@alauda-fe/common 1.1.1 → 1.2.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/a-chart/base-chart.d.ts +4 -3
- package/a-chart/types.d.ts +5 -0
- package/a-chart/utils.d.ts +1 -1
- package/a-metric-chart/a-metric-chart.component.d.ts +5 -1
- package/a-metric-chart/stat-chart/stat-chart.component.d.ts +5 -1
- package/a-metric-chart/types.d.ts +15 -0
- package/a-metric-chart/utils/util.d.ts +6 -1
- package/array-form-table/string-array-form/component.d.ts +2 -1
- package/core/constants/tokens.d.ts +1 -1
- package/core/pipes/cron-human-readable.pipe.d.ts +1 -6
- package/core/pipes/k8s-util.pipe.d.ts +1 -9
- package/core/pipes/k8s-util.pipe.module.d.ts +3 -3
- package/core/pipes/parse-json-translate.pipe.d.ts +4 -4
- package/core/services/aui-paginator-intl.service.d.ts +1 -1
- package/core/services/k8s-util.service.d.ts +3 -1
- package/core/types/k8s/crd.d.ts +1 -4
- package/esm2022/a-chart/base-chart.mjs +47 -33
- package/esm2022/a-chart/chart.component.mjs +9 -5
- package/esm2022/a-chart/types.mjs +1 -1
- package/esm2022/a-chart/utils.mjs +3 -3
- package/esm2022/a-metric-chart/a-metric-chart.component.mjs +53 -19
- package/esm2022/a-metric-chart/a-metric-chart.module.mjs +1 -1
- package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +63 -25
- package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +2 -2
- package/esm2022/a-metric-chart/types.mjs +9 -1
- package/esm2022/a-metric-chart/utils/util.mjs +20 -2
- package/esm2022/array-form-table/string-array-form/component.mjs +32 -22
- package/esm2022/business/resource-select/internals/data-grid/component.mjs +2 -2
- package/esm2022/business/resource-select/internals/namespace-list/component.mjs +5 -5
- package/esm2022/core/constants/tokens.mjs +15 -16
- package/esm2022/core/pipes/cron-human-readable.pipe.mjs +3 -6
- package/esm2022/core/pipes/k8s-util.pipe.mjs +2 -24
- package/esm2022/core/pipes/k8s-util.pipe.module.mjs +2 -5
- package/esm2022/core/pipes/parse-json-translate.pipe.mjs +1 -1
- package/esm2022/core/services/k8s-util.service.mjs +4 -5
- package/esm2022/core/services/time.service.mjs +3 -5
- package/esm2022/core/types/k8s/crd.mjs +1 -1
- package/esm2022/core/utils/common.mjs +7 -1
- package/esm2022/metric-chart/types.mjs +1 -1
- package/esm2022/notification/notification-util.service.mjs +2 -3
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +2 -2
- package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +78 -81
- package/esm2022/page-scaffold/page-header/account-menu/module.mjs +1 -1
- package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +2 -2
- package/esm2022/table/component.mjs +12 -5
- package/esm2022/translate/constants.mjs +2 -6
- package/esm2022/translate/helpers.mjs +4 -18
- package/esm2022/translate/i18n-assets-loader.mjs +58 -0
- package/esm2022/translate/i18n-config.mjs +25 -0
- package/esm2022/translate/public-api.mjs +3 -1
- package/esm2022/translate/tokens.mjs +3 -8
- package/esm2022/translate/translate.module.mjs +1 -52
- package/esm2022/translate/translate.pipe.mjs +4 -6
- package/esm2022/translate/translate.service.mjs +44 -76
- package/esm2022/translate/types.mjs +1 -1
- package/esm2022/view-zchart/units.mjs +3 -3
- package/esm2022/widget/date-range-picker/component.mjs +14 -23
- package/esm2022/widget/foldable-item-in-table/component.mjs +3 -3
- package/esm2022/widget/password-input/component.mjs +5 -3
- package/esm2022/widget/search-panel/component.mjs +2 -2
- package/esm2022/widget/tags-label/component.mjs +8 -6
- package/esm2022/xterm/xterm.component.mjs +2 -2
- package/metric-chart/types.d.ts +1 -1
- package/package.json +2 -1
- package/page-scaffold/page-header/account-menu/component/component.d.ts +6 -2
- package/page-scaffold/page-header/component.d.ts +1 -1
- package/styles/global.scss +3 -3
- package/styles/mixins.scss +13 -3
- package/styles/tailwind-preset.scss +1 -1
- package/table/component.d.ts +3 -1
- package/translate/constants.d.ts +1 -7
- package/translate/helpers.d.ts +1 -10
- package/translate/i18n-assets-loader.d.ts +19 -0
- package/translate/i18n-config.d.ts +12 -0
- package/translate/public-api.d.ts +2 -0
- package/translate/tokens.d.ts +3 -7
- package/translate/translate.module.d.ts +0 -1214
- package/translate/translate.pipe.d.ts +4 -4
- package/translate/translate.service.d.ts +15 -21
- package/translate/types.d.ts +8 -8
- package/widget/date-range-picker/component.d.ts +3 -7
- package/widget/foldable-item-in-table/component.d.ts +1 -2
- package/widget/tags-label/component.d.ts +6 -1
- package/assets/icons/bicolor-icons.js +0 -1
- package/assets/icons/navigation-icons.js +0 -1
- package/assets/icons/prod-icons.js +0 -1
- package/esm2022/graphql/graphql.module.mjs +0 -62
- package/esm2022/graphql/graphql.service.mjs +0 -45
- package/esm2022/graphql/public-api.mjs +0 -4
- package/esm2022/graphql/queries.mjs +0 -29
- package/esm2022/graphql/types.mjs +0 -6
- package/esm2022/translate/en.json +0 -602
- package/esm2022/translate/zh.json +0 -600
- package/graphql/graphql.module.d.ts +0 -12
- package/graphql/graphql.service.d.ts +0 -14
- package/graphql/public-api.d.ts +0 -3
- package/graphql/queries.d.ts +0 -5
- package/graphql/types.d.ts +0 -46
|
@@ -358,7 +358,7 @@ export class NamespaceListComponent extends ResourceListBase {
|
|
|
358
358
|
'False');
|
|
359
359
|
}
|
|
360
360
|
static { this.ɵfac = function NamespaceListComponent_Factory(t) { return new (t || NamespaceListComponent)(i0.ɵɵdirectiveInject(i1.CommonLayoutContextService), i0.ɵɵdirectiveInject(i2.K8sApiService), i0.ɵɵdirectiveInject(i3.HttpClient), i0.ɵɵdirectiveInject(i4.ResourceSelectContextService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i5.K8sUtilService)); }; }
|
|
361
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NamespaceListComponent, selectors: [["acl-namespace-list"]], inputs: { actionTemplateRef: "actionTemplateRef", disableFn: "disableFn", value: "value", displayServiceMesh: "displayServiceMesh" }, outputs: { clusterChange: "clusterChange", projectChange: "projectChange" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c2, decls: 23, vars: 31, consts: [[1, "filter"], ["auiFormItemLabel", ""], ["auiFormItemControl", "", "name", "project", 3, "ngClass", "ngModel", "filterFn", "trackFn", "loading", "ngModelChange", "valueChange"], [3, "value", "label", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["auiFormItemControl", "", "name", "project", 3, "ngClass", "ngModel", "loading", "ngModelChange", "valueChange"], [3, "value", "label"], [3, "value", "label", "disabled", "auiTooltip", "auiTooltipDisabled", "labelContext", 4, "ngFor", "ngForOf"], ["clusterLabel", ""], [3, "data", "fields", "context", "actionTemplateRef", "selectedUid", "loading", "selectItem", "reload"], ["aclResourceGridHeader", ""], ["auiFormItemControl", "", "name", "serviceMeshProject", 1, "lang-
|
|
361
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NamespaceListComponent, selectors: [["acl-namespace-list"]], inputs: { actionTemplateRef: "actionTemplateRef", disableFn: "disableFn", value: "value", displayServiceMesh: "displayServiceMesh" }, outputs: { clusterChange: "clusterChange", projectChange: "projectChange" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c2, decls: 23, vars: 31, consts: [[1, "filter"], ["auiFormItemLabel", ""], ["auiFormItemControl", "", "name", "project", 3, "ngClass", "ngModel", "filterFn", "trackFn", "loading", "ngModelChange", "valueChange"], [3, "value", "label", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["auiFormItemControl", "", "name", "project", 3, "ngClass", "ngModel", "loading", "ngModelChange", "valueChange"], [3, "value", "label"], [3, "value", "label", "disabled", "auiTooltip", "auiTooltipDisabled", "labelContext", 4, "ngFor", "ngForOf"], ["clusterLabel", ""], [3, "data", "fields", "context", "actionTemplateRef", "selectedUid", "loading", "selectItem", "reload"], ["aclResourceGridHeader", ""], ["auiFormItemControl", "", "name", "serviceMeshProject", 1, "lang-not-zh:!tw-w-[230px]", 3, "ngModel", "trackFn", "loading", "ngModelChange", "valueChange"], [3, "value", "label", "disabled", "auiTooltip", "auiTooltipDisabled", "labelContext"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function NamespaceListComponent_Template(rf, ctx) { if (rf & 1) {
|
|
362
362
|
i0.ɵɵprojectionDef();
|
|
363
363
|
i0.ɵɵelementStart(0, "div", 0)(1, "aui-form-item")(2, "label", 1);
|
|
364
364
|
i0.ɵɵtext(3);
|
|
@@ -394,7 +394,7 @@ export class NamespaceListComponent extends ResourceListBase {
|
|
|
394
394
|
i0.ɵɵadvance(3);
|
|
395
395
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 22, "project"));
|
|
396
396
|
i0.ɵɵadvance(2);
|
|
397
|
-
i0.ɵɵproperty("ngClass", ctx.displayServiceMesh ? "lang-
|
|
397
|
+
i0.ɵɵproperty("ngClass", ctx.displayServiceMesh ? "lang-not-zh:!tw-w-[230px]" : "")("ngModel", ctx.selectedProject)("filterFn", ctx.projectFilterFn)("trackFn", ctx.projectTrackFn)("loading", !ctx.projects.length && ctx.projectsLoading);
|
|
398
398
|
i0.ɵɵadvance(1);
|
|
399
399
|
i0.ɵɵproperty("ngForOf", ctx.projects);
|
|
400
400
|
i0.ɵɵadvance(1);
|
|
@@ -402,7 +402,7 @@ export class NamespaceListComponent extends ResourceListBase {
|
|
|
402
402
|
i0.ɵɵadvance(3);
|
|
403
403
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 24, "cluster"));
|
|
404
404
|
i0.ɵɵadvance(2);
|
|
405
|
-
i0.ɵɵproperty("ngClass", ctx.displayServiceMesh ? "lang-
|
|
405
|
+
i0.ɵɵproperty("ngClass", ctx.displayServiceMesh ? "lang-not-zh:!tw-w-[230px]" : "")("ngModel", ctx.selectedCluster)("loading", !ctx.projects.length && ctx.projectsLoading);
|
|
406
406
|
i0.ɵɵadvance(1);
|
|
407
407
|
i0.ɵɵproperty("value", "__all")("label", i0.ɵɵpipeBind1(14, 26, "all"));
|
|
408
408
|
i0.ɵɵadvance(2);
|
|
@@ -415,7 +415,7 @@ export class NamespaceListComponent extends ResourceListBase {
|
|
|
415
415
|
}
|
|
416
416
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NamespaceListComponent, [{
|
|
417
417
|
type: Component,
|
|
418
|
-
args: [{ selector: 'acl-namespace-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"filter\">\n <aui-form-item>\n <label auiFormItemLabel>{{ 'project' | translate }}</label>\n <aui-select\n [ngClass]=\"displayServiceMesh ? 'lang-
|
|
418
|
+
args: [{ selector: 'acl-namespace-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"filter\">\n <aui-form-item>\n <label auiFormItemLabel>{{ 'project' | translate }}</label>\n <aui-select\n [ngClass]=\"displayServiceMesh ? 'lang-not-zh:!tw-w-[230px]' : ''\"\n auiFormItemControl\n name=\"project\"\n [(ngModel)]=\"selectedProject\"\n [filterFn]=\"projectFilterFn\"\n [trackFn]=\"projectTrackFn\"\n (valueChange)=\"selectProject($event)\"\n [loading]=\"!projects.length && projectsLoading\"\n >\n <aui-option\n *ngFor=\"let project of projects\"\n [value]=\"project\"\n [label]=\"project | aclUnionDisplayName\"\n >\n {{ project | aclUnionDisplayName }}\n </aui-option>\n </aui-select>\n </aui-form-item>\n <!-- ASM \u9009\u62E9\u7F51\u683C\u8FC7\u6EE4\u96C6\u7FA4\u9009\u9879 -->\n <aui-form-item *ngIf=\"displayServiceMesh\">\n <label auiFormItemLabel>{{ 'service_mesh' | translate }}</label>\n <aui-select\n class=\"lang-not-zh:!tw-w-[230px]\"\n auiFormItemControl\n name=\"serviceMeshProject\"\n [(ngModel)]=\"selectedServiceMesh\"\n [trackFn]=\"serviceMeshTrackFn\"\n (valueChange)=\"selectServiceMesh($event)\"\n [loading]=\"!projects.length && projectsLoading\"\n >\n <aui-option\n *ngFor=\"let mesh of projectServiceMeshes\"\n [value]=\"mesh\"\n [label]=\"\n (mesh | aclName) +\n (mesh.spec?.istioVersion\n ? '(Istio ' + mesh.spec.istioVersion + ')'\n : '')\n \"\n >\n {{ mesh | aclName\n }}<ng-container *ngIf=\"mesh.spec?.istioVersion\"\n >(Istio {{ mesh.spec.istioVersion }})</ng-container\n >\n </aui-option>\n <aui-option-placeholder>\n {{ 'no_data' | translate }}\n </aui-option-placeholder>\n </aui-select>\n </aui-form-item>\n <aui-form-item>\n <label auiFormItemLabel>{{ 'cluster' | translate }}</label>\n <aui-select\n [ngClass]=\"displayServiceMesh ? 'lang-not-zh:!tw-w-[230px]' : ''\"\n auiFormItemControl\n name=\"project\"\n [(ngModel)]=\"selectedCluster\"\n (valueChange)=\"selectCluster($event)\"\n [loading]=\"!projects.length && projectsLoading\"\n >\n <aui-option\n [value]=\"'__all'\"\n [label]=\"'all' | translate\"\n >\n {{ 'all_clusters' | translate }}\n </aui-option>\n <aui-option\n *ngFor=\"let cluster of clusters\"\n [value]=\"cluster\"\n [label]=\"clusterLabel\"\n [disabled]=\"cluster | pure: checkClusterError$ | async\"\n [auiTooltip]=\"'current_cluster_status_abnormal' | translate\"\n [auiTooltipDisabled]=\"!(cluster | pure: checkClusterError$ | async)\"\n [labelContext]=\"{ cluster: cluster }\"\n >\n <ng-container\n *ngTemplateOutlet=\"clusterLabel; context: { cluster: cluster }\"\n ></ng-container>\n </aui-option>\n </aui-select>\n <ng-template\n #clusterLabel\n let-cluster=\"cluster\"\n >\n {{ cluster }}\n <ng-container\n *ngIf=\"cluster | pure: getClusterDisplayName$ | async as displayName\"\n >\n ({{ displayName }})\n </ng-container>\n </ng-template>\n </aui-form-item>\n</div>\n<acl-resource-data-grid\n [data]=\"displayedData || []\"\n [fields]=\"fields\"\n [context]=\"context\"\n (selectItem)=\"onSelect($event)\"\n [actionTemplateRef]=\"actionTemplateRef\"\n [selectedUid]=\"selectedUid\"\n [loading]=\"forceLoading || (!displayedData?.length && loading)\"\n (reload)=\"reload()\"\n>\n <ng-container aclResourceGridHeader>\n <ng-content></ng-content>\n </ng-container>\n</acl-resource-data-grid>\n", styles: [":host{display:flex;flex:1;flex-direction:column}.filter{display:flex;padding:20px;margin-bottom:20px;box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);background-color:rgb(var(--aui-color-n-10));border-radius:4px}.filter aui-form-item{margin-right:20px}.filter aui-form-item ::ng-deep .aui-form-item{margin-bottom:0}.filter aui-form-item ::ng-deep .aui-form-item__label-wrapper{width:auto!important}.filter aui-form-item ::ng-deep .aui-input{color:rgb(var(--aui-color-n-2))}.filter label{font-weight:500}.filter aui-select{width:260px}\n"] }]
|
|
419
419
|
}], function () { return [{ type: i1.CommonLayoutContextService }, { type: i2.K8sApiService }, { type: i3.HttpClient }, { type: i4.ResourceSelectContextService }, { type: i0.ChangeDetectorRef }, { type: i5.K8sUtilService }]; }, { actionTemplateRef: [{
|
|
420
420
|
type: Input
|
|
421
421
|
}], disableFn: [{
|
|
@@ -429,4 +429,4 @@ export class NamespaceListComponent extends ResourceListBase {
|
|
|
429
429
|
}], projectChange: [{
|
|
430
430
|
type: Output
|
|
431
431
|
}] }); })();
|
|
432
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvbmFtZXNwYWNlLWxpc3QvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvbmFtZXNwYWNlLWxpc3QvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckQsT0FBTyxFQUNMLGFBQWEsRUFDYixhQUFhLEVBQ2IsUUFBUSxFQUNSLEVBQUUsRUFDRixVQUFVLEVBQ1YsUUFBUSxFQUNSLEdBQUcsRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsV0FBVyxFQUVYLGNBQWMsRUFFZCxVQUFVLEdBSVgsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FB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Z0IsSUFBQyx5R0FJckIsWUFBUSxJQUphO1lBTS9CLGtDQUFvQztZQUNsQyxtQkFBeUI7WUFDM0IsMEJBQWU7WUFDakIsaUJBQXlCOztZQTVHRyxlQUEyQjtZQUEzQixzREFBMkI7WUFFakQsZUFBNkQ7WUFBN0QsK0VBQTZELGdDQUFBLGlDQUFBLCtCQUFBLHdEQUFBO1lBVXZDLGVBQVc7WUFBWCxzQ0FBVztZQVNyQixlQUF3QjtZQUF4Qiw2Q0FBd0I7WUFnQ2QsZUFBMkI7WUFBM0IsdURBQTJCO1lBRWpELGVBQTZEO1lBQTdELCtFQUE2RCxnQ0FBQSx3REFBQTtZQVEzRCxlQUFpQjtZQUFqQiwrQkFBaUIsd0NBQUE7WUFHakIsZUFDRjtZQURFLHVFQUNGO1lBRXNCLGVBQVc7WUFBWCxzQ0FBVztZQTJCckMsZUFBNEI7WUFBNUIsdUVBQTRCLHNCQUFBLHdCQUFBLDRDQUFBLGdDQUFBLDhHQUFBOzs7dUZEekNqQixzQkFBc0I7Y0FObEMsU0FBUzsyQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTswT0FPL0MsaUJBQWlCO2tCQURoQixLQUFLO1lBSU4sU0FBUztrQkFEUixLQUFLO1lBSU4sS0FBSztrQkFESixLQUFLO1lBSU4sa0JBQWtCO2tCQURqQixLQUFLO1lBSU4sYUFBYTtrQkFEWixNQUFNO1lBSVAsYUFBYTtrQkFEWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0RmlsdGVyT3B0aW9uIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lbW9pemUsIHBhcnRpdGlvbiwgdW5pcSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBSZXBsYXlTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBmb3JrSm9pbixcbiAgb2YsXG4gIGNhdGNoRXJyb3IsXG4gIGZpbmFsaXplLFxuICBtYXAsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIEFQSV9HQVRFV0FZLFxuICBDbHVzdGVyLFxuICBLOHNVdGlsU2VydmljZSxcbiAgUHJvamVjdCxcbiAgcHVibGlzaFJlZixcbiAgU2VydmljZU1lc2hHcm91cCxcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBLdWJlcm5ldGVzUmVzb3VyY2VMaXN0LFxufSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQ29tbW9uTGF5b3V0Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9wYWdlLXNjYWZmb2xkL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgUmVzb3VyY2VMaXN0QmFzZSB9IGZyb20gJy4uLy4uL2Jhc2UtbGlzdCc7XG5pbXBvcnQgeyBSZXNvdXJjZVNlbGVjdENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IGdldERpc3BsYXlBcmNoLCBnZXRXb3Jrc3BhY2VQYXJhbXMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmltcG9ydCB7IEs4c0FwaVNlcnZpY2UgfSBmcm9tICcuLy4uLy4uLy4uLy4uL2FwaS9wdWJsaWMtYXBpJztcbmltcG9ydCB7XG4gIENsdXN0ZXJBcmNoLFxuICBEaXNhYmxlRm4sXG4gIE5hbWVzcGFjZURhdGFJdGVtLFxuICBTZWxlY3RlZE5hbWVzcGFjZVZhbHVlLFxufSBmcm9tICcuLy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLW5hbWVzcGFjZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOYW1lc3BhY2VMaXN0Q29tcG9uZW50XG4gIGV4dGVuZHMgUmVzb3VyY2VMaXN0QmFzZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpXG4gIGFjdGlvblRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVGbjogRGlzYWJsZUZuO1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBTZWxlY3RlZE5hbWVzcGFjZVZhbHVlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc3BsYXlTZXJ2aWNlTWVzaCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBjbHVzdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHByb2plY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwcm9qZWN0czogUHJvamVjdFtdID0gW107XG5cbiAgc2VsZWN0ZWRQcm9qZWN0OiBQcm9qZWN0O1xuICBzZWxlY3RlZENsdXN0ZXI6IHN0cmluZztcbiAgY2x1c3RlcnM6IHN0cmluZ1tdID0gW107XG4gIHByb2plY3RzTG9hZGluZyA9IHRydWU7XG5cbiAgc2VydmljZU1lc2hlczogU2VydmljZU1lc2hHcm91cFtdID0gW107XG4gIHByb2plY3RTZXJ2aWNlTWVzaGVzOiBTZXJ2aWNlTWVzaEdyb3VwW10gPSBbXTtcbiAgc2VsZWN0ZWRTZXJ2aWNlTWVzaDogU2VydmljZU1lc2hHcm91cDtcblxuICB0eXBlID0gJ25hbWVzcGFjZSc7XG5cbiAgZGlzcGxheWVkRGF0YTogTmFtZXNwYWNlRGF0YUl0ZW1bXSA9IFtdO1xuXG4gIG5hbWVzcGFjZUNsdXN0ZXJNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICBncmlkU3RhdGVNYXA6IFJlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8RGlzYWJsZUZuPj4gPSB7fTtcblxuICBzZWxlY3RlZFVpZDogc3RyaW5nO1xuXG4gIGxvYWQkJCA9IG5ldyBSZXBsYXlTdWJqZWN0PHsgcHJvamVjdDogUHJvamVjdDsgY2x1c3Rlcjogc3RyaW5nIH0+KDEpO1xuXG4gIHNlcnZpY2VNZXNoZXMkID0gdGhpcy5rOHNTZXJ2aWNlXG4gICAgLmdldEdsb2JhbFJlc291cmNlTGlzdDxTZXJ2aWNlTWVzaEdyb3VwPih7XG4gICAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGFwaUdyb3VwOiAnYXNtLmFsYXVkYS5pbycsXG4gICAgICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgICAgIHR5cGU6ICdzZXJ2aWNlbWVzaGdyb3VwcycsXG4gICAgICB9LFxuICAgICAgbmFtZXNwYWNlZDogdHJ1ZSxcbiAgICB9KVxuICAgIC5waXBlKG1hcChyZXMgPT4gcmVzLml0ZW1zKSk7XG5cbiAgY2x1c3RlcnMkID0gdGhpcy5odHRwXG4gICAgLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PENsdXN0ZXI+PihcbiAgICAgIGAke0FQSV9HQVRFV0FZfS9hdXRoL3YxL2NsdXN0ZXJzP2F2YWlsYWJsZUNsdXN0ZXJzPWZhbHNlYCxcbiAgICApXG4gICAgLnBpcGUoXG4gICAgICBtYXAocmVzID0+IHJlcz8uaXRlbXMpLFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSBhcyBDbHVzdGVyW10pKSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuXG4gIGdldENsdXN0ZXJEaXNwbGF5TmFtZSQgPSBtZW1vaXplKChjbHVzdGVyOiBzdHJpbmcpID0+XG4gICAgdGhpcy5jbHVzdGVycyQucGlwZShcbiAgICAgIG1hcChjbHVzdGVycyA9PlxuICAgICAgICB0aGlzLms4c1V0aWwuZ2V0RGlzcGxheU5hbWUoXG4gICAgICAgICAgY2x1c3RlcnMuZmluZChpID0+IHRoaXMuazhzVXRpbC5nZXROYW1lKGkpID09PSBjbHVzdGVyKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKSxcbiAgKTtcblxuICBjaGVja0NsdXN0ZXJFcnJvciQgPSBtZW1vaXplKChjbHVzdGVyOiBzdHJpbmcpID0+XG4gICAgdGhpcy5jbHVzdGVycyQucGlwZShcbiAgICAgIG1hcChjbHVzdGVycyA9PiB0aGlzLmNoZWNrQ2x1c3RlckVycm9yKGNsdXN0ZXJzLCBjbHVzdGVyKSksXG4gICAgKSxcbiAgKTtcblxuICBuYW1lc3BhY2VzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMubG9hZCQkLFxuICAgIHRoaXMucmVsb2FkJCQucGlwZShzdGFydFdpdGgobnVsbCBhcyB2b2lkKSksXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbeyBwcm9qZWN0LCBjbHVzdGVyIH1dKSA9PiB7XG4gICAgICBpZiAoIXByb2plY3QgfHwgIWNsdXN0ZXIpIHtcbiAgICAgICAgcmV0dXJuIG9mKFtdIGFzIEt1YmVybmV0ZXNSZXNvdXJjZVtdKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNsdXN0ZXJzID0gY2x1c3RlciA9PT0gJ19fYWxsJyA/IHRoaXMuY2x1c3RlcnMgOiBbY2x1c3Rlcl07XG4gICAgICByZXR1cm4gY2x1c3RlcnMubGVuZ3RoXG4gICAgICAgID8gZm9ya0pvaW4oXG4gICAgICAgICAgICBjbHVzdGVycy5tYXAoY2x1c3RlciA9PlxuICAgICAgICAgICAgICB0aGlzLmNvbW1vbkxheW91dFNlcnZpY2VcbiAgICAgICAgICAgICAgICAuZ2V0Q2x1c3Rlck5hbWVzcGFjZXMocHJvamVjdC5tZXRhZGF0YS5uYW1lLCBjbHVzdGVyKVxuICAgICAgICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgIHRhcChsaXN0cyA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubmFtZXNwYWNlQ2x1c3Rlck1hcCA9IGxpc3RzLnJlZHVjZShcbiAgICAgICAgICAgICAgICAoYWNjLCBjdXIsIGkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICAgICAgICAuLi5jdXIucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAoc3ViQWNjLCBzdWJDdXJyKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgIC4uLnN1YkFjYyxcbiAgICAgICAgICAgICAgICAgICAgICBbc3ViQ3Vyci5tZXRhZGF0YS51aWRdOiBjbHVzdGVyc1tpXSxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKChsaXN0czogS3ViZXJuZXRlc1Jlc291cmNlW11bXSkgPT4gbGlzdHMuZmxhdCgpKSxcbiAgICAgICAgICApXG4gICAgICAgIDogb2YoW10gYXMgS3ViZXJuZXRlc1Jlc291cmNlW10pO1xuICAgIH0pLFxuICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uTGF5b3V0U2VydmljZTogQ29tbW9uTGF5b3V0Q29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBrOHNTZXJ2aWNlOiBLOHNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICBjb250ZXh0U2VydmljZTogUmVzb3VyY2VTZWxlY3RDb250ZXh0U2VydmljZSxcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihjZHIsIGs4c1V0aWwsIGNvbnRleHRTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIEZyb20gY2FjaGVcbiAgICB0aGlzLnByb2plY3RzID0gdGhpcy5jb250ZXh0U2VydmljZS5jYWNoZWRQcm9qZWN0UmVzb3VyY2VzO1xuICAgIHRoaXMuc2VydmljZU1lc2hlcyA9IHRoaXMuY29udGV4dFNlcnZpY2UuY2FjaGVkU2VydmljZU1lc2hHcm91cFJlc291cmNlcztcbiAgICBpZiAodGhpcy5wcm9qZWN0cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaW5pdFByb2plY3QodGhpcy5wcm9qZWN0cyk7XG4gICAgfVxuXG4gICAgLy8gR2V0IGxhdGVzdCBkYXRhIGluIHRoZSBiYWNrZ3JvdW5kXG4gICAgZm9ya0pvaW4oW1xuICAgICAgdGhpcy5jb21tb25MYXlvdXRTZXJ2aWNlXG4gICAgICAgIC5nZXRQcm9qZWN0cygpXG4gICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YoW10gYXMgUHJvamVjdFtdKSkpLFxuICAgICAgdGhpcy5kaXNwbGF5U2VydmljZU1lc2hcbiAgICAgICAgPyB0aGlzLnNlcnZpY2VNZXNoZXMkXG4gICAgICAgIDogb2YoW10gYXMgU2VydmljZU1lc2hHcm91cFtdKSxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnByb2plY3RzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFtwcm9qZWN0cywgc2VydmljZU1lc2hlc10pID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGlzcGxheVNlcnZpY2VNZXNoKSB7XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlTWVzaGVzID0gc2VydmljZU1lc2hlcztcbiAgICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmNhY2hlZFNlcnZpY2VNZXNoR3JvdXBSZXNvdXJjZXMgPSBzZXJ2aWNlTWVzaGVzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucHJvamVjdHMgPSBwcm9qZWN0cztcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRleHRTZXJ2aWNlLmNhY2hlZFByb2plY3RSZXNvdXJjZXM/Lmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuaW5pdFByb2plY3QocHJvamVjdHMpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UuY2FjaGVkUHJvamVjdFJlc291cmNlcyA9IHRoaXMucHJvamVjdHM7XG4gICAgICB9KTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuY2x1c3RlcnMkLCB0aGlzLm5hbWVzcGFjZXMkXSkuc3Vic2NyaWJlKFxuICAgICAgKFtjbHVzdGVycywgZGF0YV0pID0+IHtcbiAgICAgICAgY29uc3QgaXNNdWx0aUFyY2ggPVxuICAgICAgICAgIHVuaXEoY2x1c3RlcnMubWFwKGMgPT4gdGhpcy5rOHNVdGlsLmdldExhYmVsKGMsICdhcmNoJykpKS5sZW5ndGggPiAxO1xuICAgICAgICB0aGlzLmRpc3BsYXllZERhdGEgPSB0aGlzLm1hcFJlc291cmNlKGRhdGEsIHtcbiAgICAgICAgICBjbHVzdGVycyxcbiAgICAgICAgICBpc011bHRpQXJjaCxcbiAgICAgICAgfSkuZmlsdGVyKG5zID0+IHRoaXMuY29udGV4dCA9PT0gJ3BhZ2UnIHx8ICFucy5zdGF0ZT8uZGlzYWJsZWQpO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkTmFtZXNwYWNlKHRoaXMuZGlzcGxheWVkRGF0YSk7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVWlkKSB7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5ZWREYXRhID0gdGhpcy5nZXRTb3J0ZWROYW1lc3BhY2UoXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXllZERhdGEsXG4gICAgICAgICAgICB0aGlzLnZhbHVlLm5hbWUsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb3JjZUxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdG9yZU5hbWVzcGFjZXMoKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBnZXRTb3J0ZWROYW1lc3BhY2UocmF3RGF0YTogTmFtZXNwYWNlRGF0YUl0ZW1bXSwgbmFtZXNwYWNlPzogc3RyaW5nKSB7XG4gICAgaWYgKCFuYW1lc3BhY2UpIHtcbiAgICAgIHJldHVybiByYXdEYXRhO1xuICAgIH1cbiAgICBjb25zdCBbc2VsZWN0ZWQsIG90aGVyc10gPSBwYXJ0aXRpb24oXG4gICAgICB0aGlzLmRpc3BsYXllZERhdGEsXG4gICAgICBpdGVtID0+IGl0ZW0ubmFtZSA9PT0gbmFtZXNwYWNlLFxuICAgICk7XG4gICAgcmV0dXJuIFsuLi5zZWxlY3RlZCwgLi4ub3RoZXJzXTtcbiAgfVxuXG4gIHN0b3JlTmFtZXNwYWNlcygpIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRQcm9qZWN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2x1c3RlciA9PT0gJ19fYWxsJykge1xuICAgICAgZm9yIChjb25zdCBjbHVzdGVyIG9mIHRoaXMuY2x1c3RlcnMpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5zdG9yZU5hbWVzcGFjZXMoXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFByb2plY3QubWV0YWRhdGEubmFtZSxcbiAgICAgICAgICBjbHVzdGVyLFxuICAgICAgICAgIHRoaXMuZGlzcGxheWVkRGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLmNsdXN0ZXIgPT09IGNsdXN0ZXIpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnN0b3JlTmFtZXNwYWNlcyhcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9qZWN0Lm1ldGFkYXRhLm5hbWUsXG4gICAgICB0aGlzLnNlbGVjdGVkQ2x1c3RlcixcbiAgICAgIHRoaXMuZGlzcGxheWVkRGF0YSxcbiAgICApO1xuICB9XG5cbiAgcHJvamVjdEZpbHRlckZuID0gKFxuICAgIHNlYXJjaFRleHQgPSAnJyxcbiAgICBvcHRpb246IFNlbGVjdEZpbHRlck9wdGlvbjxQcm9qZWN0PixcbiAgKTogYm9vbGVhbiA9PlxuICAgIHRoaXMuazhzVXRpbFxuICAgICAgLmdldE5hbWUob3B0aW9uLnZhbHVlKVxuICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgIC5pbmNsdWRlcyhzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkpIHx8XG4gICAgdGhpcy5rOHNVdGlsXG4gICAgICAuZ2V0RGlzcGxheU5hbWUob3B0aW9uLnZhbHVlKVxuICAgICAgPy50b0xvd2VyQ2FzZSgpXG4gICAgICA/LmluY2x1ZGVzKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSk7XG5cbiAgcHJvamVjdFRyYWNrRm4gPSAocHJvamVjdDogUHJvamVjdCkgPT4gcHJvamVjdD8ubWV0YWRhdGEubmFtZTtcbiAgc2VydmljZU1lc2hUcmFja0ZuID0gKG1lc2g6IFNlcnZpY2VNZXNoR3JvdXApID0+IG1lc2g/Lm1ldGFkYXRhLm5hbWU7XG5cbiAgcHJpdmF0ZSBpbml0UHJvamVjdChwcm9qZWN0czogUHJvamVjdFtdKSB7XG4gICAgdGhpcy5zZWxlY3RQcm9qZWN0KFxuICAgICAgKHByb2plY3RzIHx8IFtdKS5sZW5ndGhcbiAgICAgICAgPyBwcm9qZWN0cy5maW5kKGl0ZW0gPT4gaXRlbS5tZXRhZGF0YS5uYW1lID09PSB0aGlzLnZhbHVlPy5wcm9qZWN0KSB8fFxuICAgICAgICAgICAgcHJvamVjdHNbMF1cbiAgICAgICAgOiBudWxsLFxuICAgICAgdHJ1ZSxcbiAgICApO1xuICAgIHRoaXMubG9hZC5lbWl0KHtcbiAgICAgIHByb2plY3Q6IHByb2plY3RzLmxlbmd0aCxcbiAgICAgIGNsdXN0ZXI6IHVuaXEoXG4gICAgICAgIHByb2plY3RzLnJlZHVjZShcbiAgICAgICAgICAoYWNjLCBjdXIpID0+IFsuLi5hY2MsIC4uLihjdXIuc3BlYy5jbHVzdGVycyB8fCBbXSkubWFwKGMgPT4gYy5uYW1lKV0sXG4gICAgICAgICAgW10sXG4gICAgICAgICksXG4gICAgICApLmxlbmd0aCxcbiAgICB9KTtcbiAgfVxuXG4gIHNlbGVjdFNlcnZpY2VNZXNoKHNlcnZpY2VNZXNoOiBTZXJ2aWNlTWVzaEdyb3VwKSB7XG4gICAgdGhpcy5zZWxlY3RlZFNlcnZpY2VNZXNoID0gc2VydmljZU1lc2g7XG4gICAgdGhpcy5jbHVzdGVycyA9ICh0aGlzLnNlbGVjdGVkUHJvamVjdC5zcGVjLmNsdXN0ZXJzIHx8IFtdKVxuICAgICAgLm1hcChjID0+IGMubmFtZSlcbiAgICAgIC5maWx0ZXIoY2x1c3RlciA9PlxuICAgICAgICB0aGlzLnNlcnZpY2VNZXNoZXNcbiAgICAgICAgICAuZmluZChcbiAgICAgICAgICAgIG1lc2ggPT5cbiAgICAgICAgICAgICAgdGhpcy5rOHNVdGlsLmdldE5hbWUobWVzaCkgPT09IHRoaXMuazhzVXRpbC5nZXROYW1lKHNlcnZpY2VNZXNoKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnNwZWMuY2x1c3RlcnMuaW5jbHVkZXMoY2x1c3RlciksXG4gICAgICApO1xuICAgIHRoaXMuc2VsZWN0Q2x1c3RlcignX19hbGwnKTtcbiAgfVxuXG4gIHNlbGVjdFByb2plY3QocHJvamVjdDogUHJvamVjdCwgaW5pdGlhbCA9IGZhbHNlKSB7XG4gICAgdGhpcy5wcm9qZWN0Q2hhbmdlLmVtaXQocHJvamVjdD8ubWV0YWRhdGEubmFtZSk7XG4gICAgdGhpcy5zZWxlY3RlZFByb2plY3QgPSBwcm9qZWN0O1xuICAgIHRoaXMuY2x1c3RlcnMgPSBwcm9qZWN0XG4gICAgICA/IChwcm9qZWN0LnNwZWMuY2x1c3RlcnMgfHwgW10pLm1hcChjID0+IGMubmFtZSlcbiAgICAgIDogW107XG4gICAgaWYgKHRoaXMuZGlzcGxheVNlcnZpY2VNZXNoKSB7XG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlTWVzaGVzID0gdGhpcy5zZXJ2aWNlTWVzaGVzLmZpbHRlcihtZXNoID0+XG4gICAgICAgIG1lc2guc3BlYy5jbHVzdGVycy5zb21lKGNsdXN0ZXIgPT4gdGhpcy5jbHVzdGVycy5pbmNsdWRlcyhjbHVzdGVyKSksXG4gICAgICApO1xuICAgICAgaWYgKHRoaXMucHJvamVjdFNlcnZpY2VNZXNoZXM/Lmxlbmd0aCkge1xuICAgICAgICBsZXQgbWVzaE5hbWUgPSB0aGlzLnZhbHVlPy5zZXJ2aWNlbWVzaDtcblxuICAgICAgICBpZiAoIW1lc2hOYW1lKSB7XG4gICAgICAgICAgdGhpcy5hdXRoLmdldEFjY291bnRJbmZvKCkuc3Vic2NyaWJlKCh7IGVtYWlsIH0pID0+IHtcbiAgICAgICAgICAgIG1lc2hOYW1lID0gZ2V0V29ya3NwYWNlUGFyYW1zKGVtYWlsKT8uc2VydmljZW1lc2g7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZWxlY3RlZFNlcnZpY2VNZXNoID1cbiAgICAgICAgICB0aGlzLnByb2plY3RTZXJ2aWNlTWVzaGVzLmZpbmQoXG4gICAgICAgICAgICBtZXNoID0+IHRoaXMuazhzVXRpbC5nZXROYW1lKG1lc2gpID09PSBtZXNoTmFtZSxcbiAgICAgICAgICApIHx8IHRoaXMucHJvamVjdFNlcnZpY2VNZXNoZXNbMF07XG4gICAgICAgIHRoaXMuc2VsZWN0U2VydmljZU1lc2goc2VsZWN0ZWRTZXJ2aWNlTWVzaCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkU2VydmljZU1lc2ggPSBudWxsO1xuICAgICAgICB0aGlzLmNsdXN0ZXJzID0gW107XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0Q2x1c3RlcignX19hbGwnLCBpbml0aWFsKTtcbiAgfVxuXG4gIHNlbGVjdENsdXN0ZXIoY2x1c3Rlck5hbWU6IHN0cmluZywgaW5pdGlhbCA9IGZhbHNlKSB7XG4gICAgdGhpcy5zZWxlY3RlZENsdXN0ZXIgPSBjbHVzdGVyTmFtZTtcbiAgICBjb25zdCBkaXNwbGF5ZWREYXRhID1cbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0Q2FjaGVkTmFtZXNwYWNlcyhcbiAgICAgICAgdGhpcy5zZWxlY3RlZFByb2plY3Q/Lm1ldGFkYXRhLm5hbWUsXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDbHVzdGVyLFxuICAgICAgKSB8fCBbXTtcbiAgICB0aGlzLmRpc3BsYXllZERhdGEgPSB0aGlzLmdldFNvcnRlZE5hbWVzcGFjZShcbiAgICAgIGRpc3BsYXllZERhdGEsXG4gICAgICBpbml0aWFsID8gdGhpcy52YWx1ZT8ubmFtZSA6IG51bGwsXG4gICAgKTtcbiAgICB0aGlzLnNldFNlbGVjdGVkTmFtZXNwYWNlKHRoaXMuZGlzcGxheWVkRGF0YSk7XG5cbiAgICB0aGlzLmNsdXN0ZXJDaGFuZ2UuZW1pdChcbiAgICAgIHRoaXMuc2VsZWN0ZWRDbHVzdGVyID09PSAnX19hbGwnID8gbnVsbCA6IGNsdXN0ZXJOYW1lLFxuICAgICk7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWQkJC5uZXh0KHtcbiAgICAgIHByb2plY3Q6IHRoaXMuc2VsZWN0ZWRQcm9qZWN0LFxuICAgICAgY2x1c3RlcjogY2x1c3Rlck5hbWUsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFNlbGVjdGVkTmFtZXNwYWNlKGRhdGE6IE5hbWVzcGFjZURhdGFJdGVtW10pIHtcbiAgICBjb25zdCBzZWxlY3RlZE5hbWVzcGFjZSA9IHRoaXMudmFsdWVcbiAgICAgID8gZGF0YS5maW5kKFxuICAgICAgICAgIGl0ZW0gPT5cbiAgICAgICAgICAgIGl0ZW0ubmFtZSA9PT0gdGhpcy52YWx1ZS5uYW1lICYmXG4gICAgICAgICAgICB0aGlzLnZhbHVlLmNsdXN0ZXIgPT09IGl0ZW0uY2x1c3RlcixcbiAgICAgICAgKVxuICAgICAgOiBudWxsO1xuICAgIHRoaXMuc2VsZWN0ZWRVaWQgPSBzZWxlY3RlZE5hbWVzcGFjZVxuICAgICAgPyBzZWxlY3RlZE5hbWVzcGFjZS5fX29yaWdpbi5tZXRhZGF0YS51aWRcbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIG1hcFJlc291cmNlID0gKFxuICAgIGxpc3Q6IEt1YmVybmV0ZXNSZXNvdXJjZVtdLFxuICAgIHtcbiAgICAgIGlzTXVsdGlBcmNoLFxuICAgICAgY2x1c3RlcnMsXG4gICAgfToge1xuICAgICAgaXNNdWx0aUFyY2g6IGJvb2xlYW47XG4gICAgICBjbHVzdGVyczogQ2x1c3RlcltdO1xuICAgIH0sXG4gICk6IE5hbWVzcGFjZURhdGFJdGVtW10gPT5cbiAgICBsaXN0Lm1hcChpdGVtID0+IHtcbiAgICAgIGNvbnN0IGNsdXN0ZXIgPSB0aGlzLm5hbWVzcGFjZUNsdXN0ZXJNYXBbaXRlbS5tZXRhZGF0YS51aWRdO1xuICAgICAgY29uc3QgaXRlbURpc2FibGVkID0gdGhpcy5kaXNhYmxlRm4gPyB0aGlzLmRpc2FibGVGbihpdGVtKSA6IG51bGw7XG4gICAgICBjb25zdCBjYWNoZWRJdGVtID0gdGhpcy5kaXNwbGF5ZWREYXRhLmZpbmQoXG4gICAgICAgIG5zID0+IG5zLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCA9PT0gaXRlbS5tZXRhZGF0YS51aWQsXG4gICAgICApO1xuICAgICAgY29uc3Qgc2VydmljZW1lc2ggPSB0aGlzLnNlcnZpY2VNZXNoZXMuZmluZChpdGVtID0+XG4gICAgICAgIGl0ZW0uc3BlYy5jbHVzdGVycy5pbmNsdWRlcyhjYWNoZWRJdGVtPy5jbHVzdGVyIHx8IGNsdXN0ZXIpLFxuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHRoaXMuazhzVXRpbC5nZXROYW1lKGl0ZW0pLFxuICAgICAgICBkaXNwbGF5TmFtZTogdGhpcy5rOHNVdGlsLmdldERpc3BsYXlOYW1lKGl0ZW0pLFxuICAgICAgICBjbHVzdGVyOiBjYWNoZWRJdGVtPy5jbHVzdGVyIHx8IGNsdXN0ZXIsXG4gICAgICAgIGNsdXN0ZXJEaXNwbGF5TmFtZTpcbiAgICAgICAgICBjYWNoZWRJdGVtPy5jbHVzdGVyRGlzcGxheU5hbWUgfHxcbiAgICAgICAgICB0aGlzLms4c1V0aWwuZ2V0RGlzcGxheU5hbWUoXG4gICAgICAgICAgICBjbHVzdGVycy5maW5kKGMgPT4gYy5tZXRhZGF0YS5uYW1lID09PSBjbHVzdGVyKSxcbiAgICAgICAgICApLFxuICAgICAgICBjbHVzdGVyQXJjaDpcbiAgICAgICAgICBjYWNoZWRJdGVtPy5jbHVzdGVyQXJjaCB8fCBpc011bHRpQXJjaFxuICAgICAgICAgICAgPyB0aGlzLmdldENsdXN0ZXJBcmNoKFxuICAgICAgICAgICAgICAgIGNsdXN0ZXJzLmZpbmQoYyA9PiBjLm1ldGFkYXRhLm5hbWUgPT09IGNsdXN0ZXIpLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIHNlcnZpY2VNZXNoTmFtZTogc2VydmljZW1lc2ggPyB0aGlzLms4c1V0aWwuZ2V0TmFtZShzZXJ2aWNlbWVzaCkgOiAnJyxcbiAgICAgICAgc2VydmljZU1lc2hDbHVzdGVyczogc2VydmljZW1lc2ggPyBzZXJ2aWNlbWVzaC5zcGVjLmNsdXN0ZXJzIDogW10sXG4gICAgICAgIHNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uOiBzZXJ2aWNlbWVzaFxuICAgICAgICAgID8gc2VydmljZW1lc2guc3BlYy5pc3Rpb1ZlcnNpb25cbiAgICAgICAgICA6ICcnLFxuICAgICAgICBhZG1pbjogY2FjaGVkSXRlbT8uYWRtaW4gfHwgJy0nLFxuICAgICAgICB0aW1lc3RhbXA6IHRoaXMuazhzVXRpbC5nZXRDcmVhdGlvblRpbWVzdGFtcChpdGVtKSxcbiAgICAgICAgc3RhdGU6IHtcbiAgICAgICAgICBkaXNhYmxlZDpcbiAgICAgICAgICAgIHRoaXMuZ3JpZFN0YXRlTWFwW2NsdXN0ZXJdPy5kaXNhYmxlZCB8fFxuICAgICAgICAgICAgaXRlbURpc2FibGVkPy5kaXNhYmxlZCB8fFxuICAgICAgICAgICAgdGhpcy5jaGVja0NsdXN0ZXJFcnJvcihjbHVzdGVycywgY2FjaGVkSXRlbT8uY2x1c3RlciB8fCBjbHVzdGVyKSB8fFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgdG9vbHRpcDogdGhpcy5ncmlkU3RhdGVNYXBbY2x1c3Rlcl0/LmRpc2FibGVkXG4gICAgICAgICAgICA/IHRoaXMuZ3JpZFN0YXRlTWFwW2NsdXN0ZXJdPy50b29sdGlwIHx8ICcnXG4gICAgICAgICAgICA6IGl0ZW1EaXNhYmxlZD8udG9vbHRpcCxcbiAgICAgICAgfSxcbiAgICAgICAgX19vcmlnaW46IGl0ZW0sXG4gICAgICB9O1xuICAgIH0pO1xuXG4gIHByaXZhdGUgZ2V0Q2x1c3RlckFyY2goY2x1c3RlcjogQ2x1c3Rlcikge1xuICAgIHJldHVybiBnZXREaXNwbGF5QXJjaChcbiAgICAgIHRoaXMuazhzVXRpbC5nZXRMYWJlbChjbHVzdGVyLCAnYXJjaCcpLFxuICAgICkgYXMgQ2x1c3RlckFyY2g7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrQ2x1c3RlckVycm9yKGNsdXN0ZXJzOiBDbHVzdGVyW10sIGNsdXN0ZXI6IHN0cmluZykge1xuICAgIHJldHVybiAoXG4gICAgICBjbHVzdGVyc1xuICAgICAgICAuZmluZChpID0+IHRoaXMuazhzVXRpbC5nZXROYW1lKGkpID09PSBjbHVzdGVyKVxuICAgICAgICA/LnN0YXR1cy5jb25kaXRpb25zLmZpbmQoYyA9PiBjLnR5cGUgPT09ICdOb2RlTm90UmVhZHknKT8uc3RhdHVzICE9PVxuICAgICAgJ0ZhbHNlJ1xuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXJcIj5cbiAgPGF1aS1mb3JtLWl0ZW0+XG4gICAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+e3sgJ3Byb2plY3QnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICA8YXVpLXNlbGVjdFxuICAgICAgW25nQ2xhc3NdPVwiZGlzcGxheVNlcnZpY2VNZXNoID8gJ2xhbmctZW46IXR3LXctWzIzMHB4XScgOiAnJ1wiXG4gICAgICBhdWlGb3JtSXRlbUNvbnRyb2xcbiAgICAgIG5hbWU9XCJwcm9qZWN0XCJcbiAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRQcm9qZWN0XCJcbiAgICAgIFtmaWx0ZXJGbl09XCJwcm9qZWN0RmlsdGVyRm5cIlxuICAgICAgW3RyYWNrRm5dPVwicHJvamVjdFRyYWNrRm5cIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cInNlbGVjdFByb2plY3QoJGV2ZW50KVwiXG4gICAgICBbbG9hZGluZ109XCIhcHJvamVjdHMubGVuZ3RoICYmIHByb2plY3RzTG9hZGluZ1wiXG4gICAgPlxuICAgICAgPGF1aS1vcHRpb25cbiAgICAgICAgKm5nRm9yPVwibGV0IHByb2plY3Qgb2YgcHJvamVjdHNcIlxuICAgICAgICBbdmFsdWVdPVwicHJvamVjdFwiXG4gICAgICAgIFtsYWJlbF09XCJwcm9qZWN0IHwgYWNsVW5pb25EaXNwbGF5TmFtZVwiXG4gICAgICA+XG4gICAgICAgIHt7IHByb2plY3QgfCBhY2xVbmlvbkRpc3BsYXlOYW1lIH19XG4gICAgICA8L2F1aS1vcHRpb24+XG4gICAgPC9hdWktc2VsZWN0PlxuICA8L2F1aS1mb3JtLWl0ZW0+XG4gIDwhLS0gQVNNIOmAieaLqee9keagvOi/h+a7pOmbhue+pOmAiemhuSAtLT5cbiAgPGF1aS1mb3JtLWl0ZW0gKm5nSWY9XCJkaXNwbGF5U2VydmljZU1lc2hcIj5cbiAgICA8bGFiZWwgYXVpRm9ybUl0ZW1MYWJlbD57eyAnc2VydmljZV9tZXNoJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgPGF1aS1zZWxlY3RcbiAgICAgIGNsYXNzPVwibGFuZy1lbjohdHctdy1bMjMwcHhdXCJcbiAgICAgIGF1aUZvcm1JdGVtQ29udHJvbFxuICAgICAgbmFtZT1cInNlcnZpY2VNZXNoUHJvamVjdFwiXG4gICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkU2VydmljZU1lc2hcIlxuICAgICAgW3RyYWNrRm5dPVwic2VydmljZU1lc2hUcmFja0ZuXCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJzZWxlY3RTZXJ2aWNlTWVzaCgkZXZlbnQpXCJcbiAgICAgIFtsb2FkaW5nXT1cIiFwcm9qZWN0cy5sZW5ndGggJiYgcHJvamVjdHNMb2FkaW5nXCJcbiAgICA+XG4gICAgICA8YXVpLW9wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgbWVzaCBvZiBwcm9qZWN0U2VydmljZU1lc2hlc1wiXG4gICAgICAgIFt2YWx1ZV09XCJtZXNoXCJcbiAgICAgICAgW2xhYmVsXT1cIlxuICAgICAgICAgIChtZXNoIHwgYWNsTmFtZSkgK1xuICAgICAgICAgIChtZXNoLnNwZWM/LmlzdGlvVmVyc2lvblxuICAgICAgICAgICAgPyAnKElzdGlvICcgKyBtZXNoLnNwZWMuaXN0aW9WZXJzaW9uICsgJyknXG4gICAgICAgICAgICA6ICcnKVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICB7eyBtZXNoIHwgYWNsTmFtZVxuICAgICAgICB9fTxuZy1jb250YWluZXIgKm5nSWY9XCJtZXNoLnNwZWM/LmlzdGlvVmVyc2lvblwiXG4gICAgICAgICAgPihJc3RpbyB7eyBtZXNoLnNwZWMuaXN0aW9WZXJzaW9uIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgID5cbiAgICAgIDwvYXVpLW9wdGlvbj5cbiAgICAgIDxhdWktb3B0aW9uLXBsYWNlaG9sZGVyPlxuICAgICAgICB7eyAnbm9fZGF0YScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYXVpLW9wdGlvbi1wbGFjZWhvbGRlcj5cbiAgICA8L2F1aS1zZWxlY3Q+XG4gIDwvYXVpLWZvcm0taXRlbT5cbiAgPGF1aS1mb3JtLWl0ZW0+XG4gICAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+e3sgJ2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICA8YXVpLXNlbGVjdFxuICAgICAgW25nQ2xhc3NdPVwiZGlzcGxheVNlcnZpY2VNZXNoID8gJ2xhbmctZW46IXR3LXctWzIzMHB4XScgOiAnJ1wiXG4gICAgICBhdWlGb3JtSXRlbUNvbnRyb2xcbiAgICAgIG5hbWU9XCJwcm9qZWN0XCJcbiAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRDbHVzdGVyXCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJzZWxlY3RDbHVzdGVyKCRldmVudClcIlxuICAgICAgW2xvYWRpbmddPVwiIXByb2plY3RzLmxlbmd0aCAmJiBwcm9qZWN0c0xvYWRpbmdcIlxuICAgID5cbiAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgIFt2YWx1ZV09XCInX19hbGwnXCJcbiAgICAgICAgW2xhYmVsXT1cIidhbGwnIHwgdHJhbnNsYXRlXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2FsbF9jbHVzdGVycycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYXVpLW9wdGlvbj5cbiAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBjbHVzdGVyIG9mIGNsdXN0ZXJzXCJcbiAgICAgICAgW3ZhbHVlXT1cImNsdXN0ZXJcIlxuICAgICAgICBbbGFiZWxdPVwiY2x1c3RlckxhYmVsXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNsdXN0ZXIgfCBwdXJlOiBjaGVja0NsdXN0ZXJFcnJvciQgfCBhc3luY1wiXG4gICAgICAgIFthdWlUb29sdGlwXT1cIidjdXJyZW50X2NsdXN0ZXJfc3RhdHVzX2Fibm9ybWFsJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFthdWlUb29sdGlwRGlzYWJsZWRdPVwiIShjbHVzdGVyIHwgcHVyZTogY2hlY2tDbHVzdGVyRXJyb3IkIHwgYXN5bmMpXCJcbiAgICAgICAgW2xhYmVsQ29udGV4dF09XCJ7IGNsdXN0ZXI6IGNsdXN0ZXIgfVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNsdXN0ZXJMYWJlbDsgY29udGV4dDogeyBjbHVzdGVyOiBjbHVzdGVyIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2F1aS1vcHRpb24+XG4gICAgPC9hdWktc2VsZWN0PlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgI2NsdXN0ZXJMYWJlbFxuICAgICAgbGV0LWNsdXN0ZXI9XCJjbHVzdGVyXCJcbiAgICA+XG4gICAgICB7eyBjbHVzdGVyIH19XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiY2x1c3RlciB8IHB1cmU6IGdldENsdXN0ZXJEaXNwbGF5TmFtZSQgfCBhc3luYyBhcyBkaXNwbGF5TmFtZVwiXG4gICAgICA+XG4gICAgICAgICh7eyBkaXNwbGF5TmFtZSB9fSlcbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvYXVpLWZvcm0taXRlbT5cbjwvZGl2PlxuPGFjbC1yZXNvdXJjZS1kYXRhLWdyaWRcbiAgW2RhdGFdPVwiZGlzcGxheWVkRGF0YSB8fCBbXVwiXG4gIFtmaWVsZHNdPVwiZmllbGRzXCJcbiAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gIChzZWxlY3RJdGVtKT1cIm9uU2VsZWN0KCRldmVudClcIlxuICBbYWN0aW9uVGVtcGxhdGVSZWZdPVwiYWN0aW9uVGVtcGxhdGVSZWZcIlxuICBbc2VsZWN0ZWRVaWRdPVwic2VsZWN0ZWRVaWRcIlxuICBbbG9hZGluZ109XCJmb3JjZUxvYWRpbmcgfHwgKCFkaXNwbGF5ZWREYXRhPy5sZW5ndGggJiYgbG9hZGluZylcIlxuICAocmVsb2FkKT1cInJlbG9hZCgpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBhY2xSZXNvdXJjZUdyaWRIZWFkZXI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvYWNsLXJlc291cmNlLWRhdGEtZ3JpZD5cbiJdfQ==
|
|
432
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvbmFtZXNwYWNlLWxpc3QvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvbmFtZXNwYWNlLWxpc3QvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckQsT0FBTyxFQUNMLGFBQWEsRUFDYixhQUFhLEVBQ2IsUUFBUSxFQUNSLEVBQUUsRUFDRixVQUFVLEVBQ1YsUUFBUSxFQUNSLEdBQUcsRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsV0FBVyxFQUVYLGNBQWMsRUFFZCxVQUFVLEdBSVgsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FB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Z0IsSUFBQyx5R0FJckIsWUFBUSxJQUphO1lBTS9CLGtDQUFvQztZQUNsQyxtQkFBeUI7WUFDM0IsMEJBQWU7WUFDakIsaUJBQXlCOztZQTVHRyxlQUEyQjtZQUEzQixzREFBMkI7WUFFakQsZUFBaUU7WUFBakUsbUZBQWlFLGdDQUFBLGlDQUFBLCtCQUFBLHdEQUFBO1lBVTNDLGVBQVc7WUFBWCxzQ0FBVztZQVNyQixlQUF3QjtZQUF4Qiw2Q0FBd0I7WUFnQ2QsZUFBMkI7WUFBM0IsdURBQTJCO1lBRWpELGVBQWlFO1lBQWpFLG1GQUFpRSxnQ0FBQSx3REFBQTtZQVEvRCxlQUFpQjtZQUFqQiwrQkFBaUIsd0NBQUE7WUFHakIsZUFDRjtZQURFLHVFQUNGO1lBRXNCLGVBQVc7WUFBWCxzQ0FBVztZQTJCckMsZUFBNEI7WUFBNUIsdUVBQTRCLHNCQUFBLHdCQUFBLDRDQUFBLGdDQUFBLDhHQUFBOzs7dUZEekNqQixzQkFBc0I7Y0FObEMsU0FBUzsyQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTswT0FPL0MsaUJBQWlCO2tCQURoQixLQUFLO1lBSU4sU0FBUztrQkFEUixLQUFLO1lBSU4sS0FBSztrQkFESixLQUFLO1lBSU4sa0JBQWtCO2tCQURqQixLQUFLO1lBSU4sYUFBYTtrQkFEWixNQUFNO1lBSVAsYUFBYTtrQkFEWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0RmlsdGVyT3B0aW9uIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lbW9pemUsIHBhcnRpdGlvbiwgdW5pcSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBSZXBsYXlTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBmb3JrSm9pbixcbiAgb2YsXG4gIGNhdGNoRXJyb3IsXG4gIGZpbmFsaXplLFxuICBtYXAsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIEFQSV9HQVRFV0FZLFxuICBDbHVzdGVyLFxuICBLOHNVdGlsU2VydmljZSxcbiAgUHJvamVjdCxcbiAgcHVibGlzaFJlZixcbiAgU2VydmljZU1lc2hHcm91cCxcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBLdWJlcm5ldGVzUmVzb3VyY2VMaXN0LFxufSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQ29tbW9uTGF5b3V0Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9wYWdlLXNjYWZmb2xkL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgUmVzb3VyY2VMaXN0QmFzZSB9IGZyb20gJy4uLy4uL2Jhc2UtbGlzdCc7XG5pbXBvcnQgeyBSZXNvdXJjZVNlbGVjdENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IGdldERpc3BsYXlBcmNoLCBnZXRXb3Jrc3BhY2VQYXJhbXMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmltcG9ydCB7IEs4c0FwaVNlcnZpY2UgfSBmcm9tICcuLy4uLy4uLy4uLy4uL2FwaS9wdWJsaWMtYXBpJztcbmltcG9ydCB7XG4gIENsdXN0ZXJBcmNoLFxuICBEaXNhYmxlRm4sXG4gIE5hbWVzcGFjZURhdGFJdGVtLFxuICBTZWxlY3RlZE5hbWVzcGFjZVZhbHVlLFxufSBmcm9tICcuLy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLW5hbWVzcGFjZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOYW1lc3BhY2VMaXN0Q29tcG9uZW50XG4gIGV4dGVuZHMgUmVzb3VyY2VMaXN0QmFzZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpXG4gIGFjdGlvblRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVGbjogRGlzYWJsZUZuO1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBTZWxlY3RlZE5hbWVzcGFjZVZhbHVlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc3BsYXlTZXJ2aWNlTWVzaCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBjbHVzdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHByb2plY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwcm9qZWN0czogUHJvamVjdFtdID0gW107XG5cbiAgc2VsZWN0ZWRQcm9qZWN0OiBQcm9qZWN0O1xuICBzZWxlY3RlZENsdXN0ZXI6IHN0cmluZztcbiAgY2x1c3RlcnM6IHN0cmluZ1tdID0gW107XG4gIHByb2plY3RzTG9hZGluZyA9IHRydWU7XG5cbiAgc2VydmljZU1lc2hlczogU2VydmljZU1lc2hHcm91cFtdID0gW107XG4gIHByb2plY3RTZXJ2aWNlTWVzaGVzOiBTZXJ2aWNlTWVzaEdyb3VwW10gPSBbXTtcbiAgc2VsZWN0ZWRTZXJ2aWNlTWVzaDogU2VydmljZU1lc2hHcm91cDtcblxuICB0eXBlID0gJ25hbWVzcGFjZSc7XG5cbiAgZGlzcGxheWVkRGF0YTogTmFtZXNwYWNlRGF0YUl0ZW1bXSA9IFtdO1xuXG4gIG5hbWVzcGFjZUNsdXN0ZXJNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICBncmlkU3RhdGVNYXA6IFJlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8RGlzYWJsZUZuPj4gPSB7fTtcblxuICBzZWxlY3RlZFVpZDogc3RyaW5nO1xuXG4gIGxvYWQkJCA9IG5ldyBSZXBsYXlTdWJqZWN0PHsgcHJvamVjdDogUHJvamVjdDsgY2x1c3Rlcjogc3RyaW5nIH0+KDEpO1xuXG4gIHNlcnZpY2VNZXNoZXMkID0gdGhpcy5rOHNTZXJ2aWNlXG4gICAgLmdldEdsb2JhbFJlc291cmNlTGlzdDxTZXJ2aWNlTWVzaEdyb3VwPih7XG4gICAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGFwaUdyb3VwOiAnYXNtLmFsYXVkYS5pbycsXG4gICAgICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgICAgIHR5cGU6ICdzZXJ2aWNlbWVzaGdyb3VwcycsXG4gICAgICB9LFxuICAgICAgbmFtZXNwYWNlZDogdHJ1ZSxcbiAgICB9KVxuICAgIC5waXBlKG1hcChyZXMgPT4gcmVzLml0ZW1zKSk7XG5cbiAgY2x1c3RlcnMkID0gdGhpcy5odHRwXG4gICAgLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PENsdXN0ZXI+PihcbiAgICAgIGAke0FQSV9HQVRFV0FZfS9hdXRoL3YxL2NsdXN0ZXJzP2F2YWlsYWJsZUNsdXN0ZXJzPWZhbHNlYCxcbiAgICApXG4gICAgLnBpcGUoXG4gICAgICBtYXAocmVzID0+IHJlcz8uaXRlbXMpLFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSBhcyBDbHVzdGVyW10pKSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuXG4gIGdldENsdXN0ZXJEaXNwbGF5TmFtZSQgPSBtZW1vaXplKChjbHVzdGVyOiBzdHJpbmcpID0+XG4gICAgdGhpcy5jbHVzdGVycyQucGlwZShcbiAgICAgIG1hcChjbHVzdGVycyA9PlxuICAgICAgICB0aGlzLms4c1V0aWwuZ2V0RGlzcGxheU5hbWUoXG4gICAgICAgICAgY2x1c3RlcnMuZmluZChpID0+IHRoaXMuazhzVXRpbC5nZXROYW1lKGkpID09PSBjbHVzdGVyKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKSxcbiAgKTtcblxuICBjaGVja0NsdXN0ZXJFcnJvciQgPSBtZW1vaXplKChjbHVzdGVyOiBzdHJpbmcpID0+XG4gICAgdGhpcy5jbHVzdGVycyQucGlwZShcbiAgICAgIG1hcChjbHVzdGVycyA9PiB0aGlzLmNoZWNrQ2x1c3RlckVycm9yKGNsdXN0ZXJzLCBjbHVzdGVyKSksXG4gICAgKSxcbiAgKTtcblxuICBuYW1lc3BhY2VzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMubG9hZCQkLFxuICAgIHRoaXMucmVsb2FkJCQucGlwZShzdGFydFdpdGgobnVsbCBhcyB2b2lkKSksXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbeyBwcm9qZWN0LCBjbHVzdGVyIH1dKSA9PiB7XG4gICAgICBpZiAoIXByb2plY3QgfHwgIWNsdXN0ZXIpIHtcbiAgICAgICAgcmV0dXJuIG9mKFtdIGFzIEt1YmVybmV0ZXNSZXNvdXJjZVtdKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNsdXN0ZXJzID0gY2x1c3RlciA9PT0gJ19fYWxsJyA/IHRoaXMuY2x1c3RlcnMgOiBbY2x1c3Rlcl07XG4gICAgICByZXR1cm4gY2x1c3RlcnMubGVuZ3RoXG4gICAgICAgID8gZm9ya0pvaW4oXG4gICAgICAgICAgICBjbHVzdGVycy5tYXAoY2x1c3RlciA9PlxuICAgICAgICAgICAgICB0aGlzLmNvbW1vbkxheW91dFNlcnZpY2VcbiAgICAgICAgICAgICAgICAuZ2V0Q2x1c3Rlck5hbWVzcGFjZXMocHJvamVjdC5tZXRhZGF0YS5uYW1lLCBjbHVzdGVyKVxuICAgICAgICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgIHRhcChsaXN0cyA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubmFtZXNwYWNlQ2x1c3Rlck1hcCA9IGxpc3RzLnJlZHVjZShcbiAgICAgICAgICAgICAgICAoYWNjLCBjdXIsIGkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICAgICAgICAuLi5jdXIucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAoc3ViQWNjLCBzdWJDdXJyKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgIC4uLnN1YkFjYyxcbiAgICAgICAgICAgICAgICAgICAgICBbc3ViQ3Vyci5tZXRhZGF0YS51aWRdOiBjbHVzdGVyc1tpXSxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKChsaXN0czogS3ViZXJuZXRlc1Jlc291cmNlW11bXSkgPT4gbGlzdHMuZmxhdCgpKSxcbiAgICAgICAgICApXG4gICAgICAgIDogb2YoW10gYXMgS3ViZXJuZXRlc1Jlc291cmNlW10pO1xuICAgIH0pLFxuICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uTGF5b3V0U2VydmljZTogQ29tbW9uTGF5b3V0Q29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBrOHNTZXJ2aWNlOiBLOHNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICBjb250ZXh0U2VydmljZTogUmVzb3VyY2VTZWxlY3RDb250ZXh0U2VydmljZSxcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihjZHIsIGs4c1V0aWwsIGNvbnRleHRTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIEZyb20gY2FjaGVcbiAgICB0aGlzLnByb2plY3RzID0gdGhpcy5jb250ZXh0U2VydmljZS5jYWNoZWRQcm9qZWN0UmVzb3VyY2VzO1xuICAgIHRoaXMuc2VydmljZU1lc2hlcyA9IHRoaXMuY29udGV4dFNlcnZpY2UuY2FjaGVkU2VydmljZU1lc2hHcm91cFJlc291cmNlcztcbiAgICBpZiAodGhpcy5wcm9qZWN0cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaW5pdFByb2plY3QodGhpcy5wcm9qZWN0cyk7XG4gICAgfVxuXG4gICAgLy8gR2V0IGxhdGVzdCBkYXRhIGluIHRoZSBiYWNrZ3JvdW5kXG4gICAgZm9ya0pvaW4oW1xuICAgICAgdGhpcy5jb21tb25MYXlvdXRTZXJ2aWNlXG4gICAgICAgIC5nZXRQcm9qZWN0cygpXG4gICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YoW10gYXMgUHJvamVjdFtdKSkpLFxuICAgICAgdGhpcy5kaXNwbGF5U2VydmljZU1lc2hcbiAgICAgICAgPyB0aGlzLnNlcnZpY2VNZXNoZXMkXG4gICAgICAgIDogb2YoW10gYXMgU2VydmljZU1lc2hHcm91cFtdKSxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnByb2plY3RzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFtwcm9qZWN0cywgc2VydmljZU1lc2hlc10pID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGlzcGxheVNlcnZpY2VNZXNoKSB7XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlTWVzaGVzID0gc2VydmljZU1lc2hlcztcbiAgICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmNhY2hlZFNlcnZpY2VNZXNoR3JvdXBSZXNvdXJjZXMgPSBzZXJ2aWNlTWVzaGVzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucHJvamVjdHMgPSBwcm9qZWN0cztcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRleHRTZXJ2aWNlLmNhY2hlZFByb2plY3RSZXNvdXJjZXM/Lmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuaW5pdFByb2plY3QocHJvamVjdHMpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UuY2FjaGVkUHJvamVjdFJlc291cmNlcyA9IHRoaXMucHJvamVjdHM7XG4gICAgICB9KTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuY2x1c3RlcnMkLCB0aGlzLm5hbWVzcGFjZXMkXSkuc3Vic2NyaWJlKFxuICAgICAgKFtjbHVzdGVycywgZGF0YV0pID0+IHtcbiAgICAgICAgY29uc3QgaXNNdWx0aUFyY2ggPVxuICAgICAgICAgIHVuaXEoY2x1c3RlcnMubWFwKGMgPT4gdGhpcy5rOHNVdGlsLmdldExhYmVsKGMsICdhcmNoJykpKS5sZW5ndGggPiAxO1xuICAgICAgICB0aGlzLmRpc3BsYXllZERhdGEgPSB0aGlzLm1hcFJlc291cmNlKGRhdGEsIHtcbiAgICAgICAgICBjbHVzdGVycyxcbiAgICAgICAgICBpc011bHRpQXJjaCxcbiAgICAgICAgfSkuZmlsdGVyKG5zID0+IHRoaXMuY29udGV4dCA9PT0gJ3BhZ2UnIHx8ICFucy5zdGF0ZT8uZGlzYWJsZWQpO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkTmFtZXNwYWNlKHRoaXMuZGlzcGxheWVkRGF0YSk7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVWlkKSB7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5ZWREYXRhID0gdGhpcy5nZXRTb3J0ZWROYW1lc3BhY2UoXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXllZERhdGEsXG4gICAgICAgICAgICB0aGlzLnZhbHVlLm5hbWUsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb3JjZUxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdG9yZU5hbWVzcGFjZXMoKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBnZXRTb3J0ZWROYW1lc3BhY2UocmF3RGF0YTogTmFtZXNwYWNlRGF0YUl0ZW1bXSwgbmFtZXNwYWNlPzogc3RyaW5nKSB7XG4gICAgaWYgKCFuYW1lc3BhY2UpIHtcbiAgICAgIHJldHVybiByYXdEYXRhO1xuICAgIH1cbiAgICBjb25zdCBbc2VsZWN0ZWQsIG90aGVyc10gPSBwYXJ0aXRpb24oXG4gICAgICB0aGlzLmRpc3BsYXllZERhdGEsXG4gICAgICBpdGVtID0+IGl0ZW0ubmFtZSA9PT0gbmFtZXNwYWNlLFxuICAgICk7XG4gICAgcmV0dXJuIFsuLi5zZWxlY3RlZCwgLi4ub3RoZXJzXTtcbiAgfVxuXG4gIHN0b3JlTmFtZXNwYWNlcygpIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRQcm9qZWN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2x1c3RlciA9PT0gJ19fYWxsJykge1xuICAgICAgZm9yIChjb25zdCBjbHVzdGVyIG9mIHRoaXMuY2x1c3RlcnMpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5zdG9yZU5hbWVzcGFjZXMoXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFByb2plY3QubWV0YWRhdGEubmFtZSxcbiAgICAgICAgICBjbHVzdGVyLFxuICAgICAgICAgIHRoaXMuZGlzcGxheWVkRGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLmNsdXN0ZXIgPT09IGNsdXN0ZXIpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnN0b3JlTmFtZXNwYWNlcyhcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9qZWN0Lm1ldGFkYXRhLm5hbWUsXG4gICAgICB0aGlzLnNlbGVjdGVkQ2x1c3RlcixcbiAgICAgIHRoaXMuZGlzcGxheWVkRGF0YSxcbiAgICApO1xuICB9XG5cbiAgcHJvamVjdEZpbHRlckZuID0gKFxuICAgIHNlYXJjaFRleHQgPSAnJyxcbiAgICBvcHRpb246IFNlbGVjdEZpbHRlck9wdGlvbjxQcm9qZWN0PixcbiAgKTogYm9vbGVhbiA9PlxuICAgIHRoaXMuazhzVXRpbFxuICAgICAgLmdldE5hbWUob3B0aW9uLnZhbHVlKVxuICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgIC5pbmNsdWRlcyhzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkpIHx8XG4gICAgdGhpcy5rOHNVdGlsXG4gICAgICAuZ2V0RGlzcGxheU5hbWUob3B0aW9uLnZhbHVlKVxuICAgICAgPy50b0xvd2VyQ2FzZSgpXG4gICAgICA/LmluY2x1ZGVzKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSk7XG5cbiAgcHJvamVjdFRyYWNrRm4gPSAocHJvamVjdDogUHJvamVjdCkgPT4gcHJvamVjdD8ubWV0YWRhdGEubmFtZTtcbiAgc2VydmljZU1lc2hUcmFja0ZuID0gKG1lc2g6IFNlcnZpY2VNZXNoR3JvdXApID0+IG1lc2g/Lm1ldGFkYXRhLm5hbWU7XG5cbiAgcHJpdmF0ZSBpbml0UHJvamVjdChwcm9qZWN0czogUHJvamVjdFtdKSB7XG4gICAgdGhpcy5zZWxlY3RQcm9qZWN0KFxuICAgICAgKHByb2plY3RzIHx8IFtdKS5sZW5ndGhcbiAgICAgICAgPyBwcm9qZWN0cy5maW5kKGl0ZW0gPT4gaXRlbS5tZXRhZGF0YS5uYW1lID09PSB0aGlzLnZhbHVlPy5wcm9qZWN0KSB8fFxuICAgICAgICAgICAgcHJvamVjdHNbMF1cbiAgICAgICAgOiBudWxsLFxuICAgICAgdHJ1ZSxcbiAgICApO1xuICAgIHRoaXMubG9hZC5lbWl0KHtcbiAgICAgIHByb2plY3Q6IHByb2plY3RzLmxlbmd0aCxcbiAgICAgIGNsdXN0ZXI6IHVuaXEoXG4gICAgICAgIHByb2plY3RzLnJlZHVjZShcbiAgICAgICAgICAoYWNjLCBjdXIpID0+IFsuLi5hY2MsIC4uLihjdXIuc3BlYy5jbHVzdGVycyB8fCBbXSkubWFwKGMgPT4gYy5uYW1lKV0sXG4gICAgICAgICAgW10sXG4gICAgICAgICksXG4gICAgICApLmxlbmd0aCxcbiAgICB9KTtcbiAgfVxuXG4gIHNlbGVjdFNlcnZpY2VNZXNoKHNlcnZpY2VNZXNoOiBTZXJ2aWNlTWVzaEdyb3VwKSB7XG4gICAgdGhpcy5zZWxlY3RlZFNlcnZpY2VNZXNoID0gc2VydmljZU1lc2g7XG4gICAgdGhpcy5jbHVzdGVycyA9ICh0aGlzLnNlbGVjdGVkUHJvamVjdC5zcGVjLmNsdXN0ZXJzIHx8IFtdKVxuICAgICAgLm1hcChjID0+IGMubmFtZSlcbiAgICAgIC5maWx0ZXIoY2x1c3RlciA9PlxuICAgICAgICB0aGlzLnNlcnZpY2VNZXNoZXNcbiAgICAgICAgICAuZmluZChcbiAgICAgICAgICAgIG1lc2ggPT5cbiAgICAgICAgICAgICAgdGhpcy5rOHNVdGlsLmdldE5hbWUobWVzaCkgPT09IHRoaXMuazhzVXRpbC5nZXROYW1lKHNlcnZpY2VNZXNoKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnNwZWMuY2x1c3RlcnMuaW5jbHVkZXMoY2x1c3RlciksXG4gICAgICApO1xuICAgIHRoaXMuc2VsZWN0Q2x1c3RlcignX19hbGwnKTtcbiAgfVxuXG4gIHNlbGVjdFByb2plY3QocHJvamVjdDogUHJvamVjdCwgaW5pdGlhbCA9IGZhbHNlKSB7XG4gICAgdGhpcy5wcm9qZWN0Q2hhbmdlLmVtaXQocHJvamVjdD8ubWV0YWRhdGEubmFtZSk7XG4gICAgdGhpcy5zZWxlY3RlZFByb2plY3QgPSBwcm9qZWN0O1xuICAgIHRoaXMuY2x1c3RlcnMgPSBwcm9qZWN0XG4gICAgICA/IChwcm9qZWN0LnNwZWMuY2x1c3RlcnMgfHwgW10pLm1hcChjID0+IGMubmFtZSlcbiAgICAgIDogW107XG4gICAgaWYgKHRoaXMuZGlzcGxheVNlcnZpY2VNZXNoKSB7XG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlTWVzaGVzID0gdGhpcy5zZXJ2aWNlTWVzaGVzLmZpbHRlcihtZXNoID0+XG4gICAgICAgIG1lc2guc3BlYy5jbHVzdGVycy5zb21lKGNsdXN0ZXIgPT4gdGhpcy5jbHVzdGVycy5pbmNsdWRlcyhjbHVzdGVyKSksXG4gICAgICApO1xuICAgICAgaWYgKHRoaXMucHJvamVjdFNlcnZpY2VNZXNoZXM/Lmxlbmd0aCkge1xuICAgICAgICBsZXQgbWVzaE5hbWUgPSB0aGlzLnZhbHVlPy5zZXJ2aWNlbWVzaDtcblxuICAgICAgICBpZiAoIW1lc2hOYW1lKSB7XG4gICAgICAgICAgdGhpcy5hdXRoLmdldEFjY291bnRJbmZvKCkuc3Vic2NyaWJlKCh7IGVtYWlsIH0pID0+IHtcbiAgICAgICAgICAgIG1lc2hOYW1lID0gZ2V0V29ya3NwYWNlUGFyYW1zKGVtYWlsKT8uc2VydmljZW1lc2g7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZWxlY3RlZFNlcnZpY2VNZXNoID1cbiAgICAgICAgICB0aGlzLnByb2plY3RTZXJ2aWNlTWVzaGVzLmZpbmQoXG4gICAgICAgICAgICBtZXNoID0+IHRoaXMuazhzVXRpbC5nZXROYW1lKG1lc2gpID09PSBtZXNoTmFtZSxcbiAgICAgICAgICApIHx8IHRoaXMucHJvamVjdFNlcnZpY2VNZXNoZXNbMF07XG4gICAgICAgIHRoaXMuc2VsZWN0U2VydmljZU1lc2goc2VsZWN0ZWRTZXJ2aWNlTWVzaCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkU2VydmljZU1lc2ggPSBudWxsO1xuICAgICAgICB0aGlzLmNsdXN0ZXJzID0gW107XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0Q2x1c3RlcignX19hbGwnLCBpbml0aWFsKTtcbiAgfVxuXG4gIHNlbGVjdENsdXN0ZXIoY2x1c3Rlck5hbWU6IHN0cmluZywgaW5pdGlhbCA9IGZhbHNlKSB7XG4gICAgdGhpcy5zZWxlY3RlZENsdXN0ZXIgPSBjbHVzdGVyTmFtZTtcbiAgICBjb25zdCBkaXNwbGF5ZWREYXRhID1cbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0Q2FjaGVkTmFtZXNwYWNlcyhcbiAgICAgICAgdGhpcy5zZWxlY3RlZFByb2plY3Q/Lm1ldGFkYXRhLm5hbWUsXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDbHVzdGVyLFxuICAgICAgKSB8fCBbXTtcbiAgICB0aGlzLmRpc3BsYXllZERhdGEgPSB0aGlzLmdldFNvcnRlZE5hbWVzcGFjZShcbiAgICAgIGRpc3BsYXllZERhdGEsXG4gICAgICBpbml0aWFsID8gdGhpcy52YWx1ZT8ubmFtZSA6IG51bGwsXG4gICAgKTtcbiAgICB0aGlzLnNldFNlbGVjdGVkTmFtZXNwYWNlKHRoaXMuZGlzcGxheWVkRGF0YSk7XG5cbiAgICB0aGlzLmNsdXN0ZXJDaGFuZ2UuZW1pdChcbiAgICAgIHRoaXMuc2VsZWN0ZWRDbHVzdGVyID09PSAnX19hbGwnID8gbnVsbCA6IGNsdXN0ZXJOYW1lLFxuICAgICk7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWQkJC5uZXh0KHtcbiAgICAgIHByb2plY3Q6IHRoaXMuc2VsZWN0ZWRQcm9qZWN0LFxuICAgICAgY2x1c3RlcjogY2x1c3Rlck5hbWUsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFNlbGVjdGVkTmFtZXNwYWNlKGRhdGE6IE5hbWVzcGFjZURhdGFJdGVtW10pIHtcbiAgICBjb25zdCBzZWxlY3RlZE5hbWVzcGFjZSA9IHRoaXMudmFsdWVcbiAgICAgID8gZGF0YS5maW5kKFxuICAgICAgICAgIGl0ZW0gPT5cbiAgICAgICAgICAgIGl0ZW0ubmFtZSA9PT0gdGhpcy52YWx1ZS5uYW1lICYmXG4gICAgICAgICAgICB0aGlzLnZhbHVlLmNsdXN0ZXIgPT09IGl0ZW0uY2x1c3RlcixcbiAgICAgICAgKVxuICAgICAgOiBudWxsO1xuICAgIHRoaXMuc2VsZWN0ZWRVaWQgPSBzZWxlY3RlZE5hbWVzcGFjZVxuICAgICAgPyBzZWxlY3RlZE5hbWVzcGFjZS5fX29yaWdpbi5tZXRhZGF0YS51aWRcbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIG1hcFJlc291cmNlID0gKFxuICAgIGxpc3Q6IEt1YmVybmV0ZXNSZXNvdXJjZVtdLFxuICAgIHtcbiAgICAgIGlzTXVsdGlBcmNoLFxuICAgICAgY2x1c3RlcnMsXG4gICAgfToge1xuICAgICAgaXNNdWx0aUFyY2g6IGJvb2xlYW47XG4gICAgICBjbHVzdGVyczogQ2x1c3RlcltdO1xuICAgIH0sXG4gICk6IE5hbWVzcGFjZURhdGFJdGVtW10gPT5cbiAgICBsaXN0Lm1hcChpdGVtID0+IHtcbiAgICAgIGNvbnN0IGNsdXN0ZXIgPSB0aGlzLm5hbWVzcGFjZUNsdXN0ZXJNYXBbaXRlbS5tZXRhZGF0YS51aWRdO1xuICAgICAgY29uc3QgaXRlbURpc2FibGVkID0gdGhpcy5kaXNhYmxlRm4gPyB0aGlzLmRpc2FibGVGbihpdGVtKSA6IG51bGw7XG4gICAgICBjb25zdCBjYWNoZWRJdGVtID0gdGhpcy5kaXNwbGF5ZWREYXRhLmZpbmQoXG4gICAgICAgIG5zID0+IG5zLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCA9PT0gaXRlbS5tZXRhZGF0YS51aWQsXG4gICAgICApO1xuICAgICAgY29uc3Qgc2VydmljZW1lc2ggPSB0aGlzLnNlcnZpY2VNZXNoZXMuZmluZChpdGVtID0+XG4gICAgICAgIGl0ZW0uc3BlYy5jbHVzdGVycy5pbmNsdWRlcyhjYWNoZWRJdGVtPy5jbHVzdGVyIHx8IGNsdXN0ZXIpLFxuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHRoaXMuazhzVXRpbC5nZXROYW1lKGl0ZW0pLFxuICAgICAgICBkaXNwbGF5TmFtZTogdGhpcy5rOHNVdGlsLmdldERpc3BsYXlOYW1lKGl0ZW0pLFxuICAgICAgICBjbHVzdGVyOiBjYWNoZWRJdGVtPy5jbHVzdGVyIHx8IGNsdXN0ZXIsXG4gICAgICAgIGNsdXN0ZXJEaXNwbGF5TmFtZTpcbiAgICAgICAgICBjYWNoZWRJdGVtPy5jbHVzdGVyRGlzcGxheU5hbWUgfHxcbiAgICAgICAgICB0aGlzLms4c1V0aWwuZ2V0RGlzcGxheU5hbWUoXG4gICAgICAgICAgICBjbHVzdGVycy5maW5kKGMgPT4gYy5tZXRhZGF0YS5uYW1lID09PSBjbHVzdGVyKSxcbiAgICAgICAgICApLFxuICAgICAgICBjbHVzdGVyQXJjaDpcbiAgICAgICAgICBjYWNoZWRJdGVtPy5jbHVzdGVyQXJjaCB8fCBpc011bHRpQXJjaFxuICAgICAgICAgICAgPyB0aGlzLmdldENsdXN0ZXJBcmNoKFxuICAgICAgICAgICAgICAgIGNsdXN0ZXJzLmZpbmQoYyA9PiBjLm1ldGFkYXRhLm5hbWUgPT09IGNsdXN0ZXIpLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIHNlcnZpY2VNZXNoTmFtZTogc2VydmljZW1lc2ggPyB0aGlzLms4c1V0aWwuZ2V0TmFtZShzZXJ2aWNlbWVzaCkgOiAnJyxcbiAgICAgICAgc2VydmljZU1lc2hDbHVzdGVyczogc2VydmljZW1lc2ggPyBzZXJ2aWNlbWVzaC5zcGVjLmNsdXN0ZXJzIDogW10sXG4gICAgICAgIHNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uOiBzZXJ2aWNlbWVzaFxuICAgICAgICAgID8gc2VydmljZW1lc2guc3BlYy5pc3Rpb1ZlcnNpb25cbiAgICAgICAgICA6ICcnLFxuICAgICAgICBhZG1pbjogY2FjaGVkSXRlbT8uYWRtaW4gfHwgJy0nLFxuICAgICAgICB0aW1lc3RhbXA6IHRoaXMuazhzVXRpbC5nZXRDcmVhdGlvblRpbWVzdGFtcChpdGVtKSxcbiAgICAgICAgc3RhdGU6IHtcbiAgICAgICAgICBkaXNhYmxlZDpcbiAgICAgICAgICAgIHRoaXMuZ3JpZFN0YXRlTWFwW2NsdXN0ZXJdPy5kaXNhYmxlZCB8fFxuICAgICAgICAgICAgaXRlbURpc2FibGVkPy5kaXNhYmxlZCB8fFxuICAgICAgICAgICAgdGhpcy5jaGVja0NsdXN0ZXJFcnJvcihjbHVzdGVycywgY2FjaGVkSXRlbT8uY2x1c3RlciB8fCBjbHVzdGVyKSB8fFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgdG9vbHRpcDogdGhpcy5ncmlkU3RhdGVNYXBbY2x1c3Rlcl0/LmRpc2FibGVkXG4gICAgICAgICAgICA/IHRoaXMuZ3JpZFN0YXRlTWFwW2NsdXN0ZXJdPy50b29sdGlwIHx8ICcnXG4gICAgICAgICAgICA6IGl0ZW1EaXNhYmxlZD8udG9vbHRpcCxcbiAgICAgICAgfSxcbiAgICAgICAgX19vcmlnaW46IGl0ZW0sXG4gICAgICB9O1xuICAgIH0pO1xuXG4gIHByaXZhdGUgZ2V0Q2x1c3RlckFyY2goY2x1c3RlcjogQ2x1c3Rlcikge1xuICAgIHJldHVybiBnZXREaXNwbGF5QXJjaChcbiAgICAgIHRoaXMuazhzVXRpbC5nZXRMYWJlbChjbHVzdGVyLCAnYXJjaCcpLFxuICAgICkgYXMgQ2x1c3RlckFyY2g7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrQ2x1c3RlckVycm9yKGNsdXN0ZXJzOiBDbHVzdGVyW10sIGNsdXN0ZXI6IHN0cmluZykge1xuICAgIHJldHVybiAoXG4gICAgICBjbHVzdGVyc1xuICAgICAgICAuZmluZChpID0+IHRoaXMuazhzVXRpbC5nZXROYW1lKGkpID09PSBjbHVzdGVyKVxuICAgICAgICA/LnN0YXR1cy5jb25kaXRpb25zLmZpbmQoYyA9PiBjLnR5cGUgPT09ICdOb2RlTm90UmVhZHknKT8uc3RhdHVzICE9PVxuICAgICAgJ0ZhbHNlJ1xuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXJcIj5cbiAgPGF1aS1mb3JtLWl0ZW0+XG4gICAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+e3sgJ3Byb2plY3QnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICA8YXVpLXNlbGVjdFxuICAgICAgW25nQ2xhc3NdPVwiZGlzcGxheVNlcnZpY2VNZXNoID8gJ2xhbmctbm90LXpoOiF0dy13LVsyMzBweF0nIDogJydcIlxuICAgICAgYXVpRm9ybUl0ZW1Db250cm9sXG4gICAgICBuYW1lPVwicHJvamVjdFwiXG4gICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUHJvamVjdFwiXG4gICAgICBbZmlsdGVyRm5dPVwicHJvamVjdEZpbHRlckZuXCJcbiAgICAgIFt0cmFja0ZuXT1cInByb2plY3RUcmFja0ZuXCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJzZWxlY3RQcm9qZWN0KCRldmVudClcIlxuICAgICAgW2xvYWRpbmddPVwiIXByb2plY3RzLmxlbmd0aCAmJiBwcm9qZWN0c0xvYWRpbmdcIlxuICAgID5cbiAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBwcm9qZWN0IG9mIHByb2plY3RzXCJcbiAgICAgICAgW3ZhbHVlXT1cInByb2plY3RcIlxuICAgICAgICBbbGFiZWxdPVwicHJvamVjdCB8IGFjbFVuaW9uRGlzcGxheU5hbWVcIlxuICAgICAgPlxuICAgICAgICB7eyBwcm9qZWN0IHwgYWNsVW5pb25EaXNwbGF5TmFtZSB9fVxuICAgICAgPC9hdWktb3B0aW9uPlxuICAgIDwvYXVpLXNlbGVjdD5cbiAgPC9hdWktZm9ybS1pdGVtPlxuICA8IS0tIEFTTSDpgInmi6nnvZHmoLzov4fmu6Tpm4bnvqTpgInpobkgLS0+XG4gIDxhdWktZm9ybS1pdGVtICpuZ0lmPVwiZGlzcGxheVNlcnZpY2VNZXNoXCI+XG4gICAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+e3sgJ3NlcnZpY2VfbWVzaCcgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgIDxhdWktc2VsZWN0XG4gICAgICBjbGFzcz1cImxhbmctbm90LXpoOiF0dy13LVsyMzBweF1cIlxuICAgICAgYXVpRm9ybUl0ZW1Db250cm9sXG4gICAgICBuYW1lPVwic2VydmljZU1lc2hQcm9qZWN0XCJcbiAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRTZXJ2aWNlTWVzaFwiXG4gICAgICBbdHJhY2tGbl09XCJzZXJ2aWNlTWVzaFRyYWNrRm5cIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cInNlbGVjdFNlcnZpY2VNZXNoKCRldmVudClcIlxuICAgICAgW2xvYWRpbmddPVwiIXByb2plY3RzLmxlbmd0aCAmJiBwcm9qZWN0c0xvYWRpbmdcIlxuICAgID5cbiAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBtZXNoIG9mIHByb2plY3RTZXJ2aWNlTWVzaGVzXCJcbiAgICAgICAgW3ZhbHVlXT1cIm1lc2hcIlxuICAgICAgICBbbGFiZWxdPVwiXG4gICAgICAgICAgKG1lc2ggfCBhY2xOYW1lKSArXG4gICAgICAgICAgKG1lc2guc3BlYz8uaXN0aW9WZXJzaW9uXG4gICAgICAgICAgICA/ICcoSXN0aW8gJyArIG1lc2guc3BlYy5pc3Rpb1ZlcnNpb24gKyAnKSdcbiAgICAgICAgICAgIDogJycpXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIHt7IG1lc2ggfCBhY2xOYW1lXG4gICAgICAgIH19PG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lc2guc3BlYz8uaXN0aW9WZXJzaW9uXCJcbiAgICAgICAgICA+KElzdGlvIHt7IG1lc2guc3BlYy5pc3Rpb1ZlcnNpb24gfX0pPC9uZy1jb250YWluZXJcbiAgICAgICAgPlxuICAgICAgPC9hdWktb3B0aW9uPlxuICAgICAgPGF1aS1vcHRpb24tcGxhY2Vob2xkZXI+XG4gICAgICAgIHt7ICdub19kYXRhJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9hdWktb3B0aW9uLXBsYWNlaG9sZGVyPlxuICAgIDwvYXVpLXNlbGVjdD5cbiAgPC9hdWktZm9ybS1pdGVtPlxuICA8YXVpLWZvcm0taXRlbT5cbiAgICA8bGFiZWwgYXVpRm9ybUl0ZW1MYWJlbD57eyAnY2x1c3RlcicgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgIDxhdWktc2VsZWN0XG4gICAgICBbbmdDbGFzc109XCJkaXNwbGF5U2VydmljZU1lc2ggPyAnbGFuZy1ub3Qtemg6IXR3LXctWzIzMHB4XScgOiAnJ1wiXG4gICAgICBhdWlGb3JtSXRlbUNvbnRyb2xcbiAgICAgIG5hbWU9XCJwcm9qZWN0XCJcbiAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRDbHVzdGVyXCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJzZWxlY3RDbHVzdGVyKCRldmVudClcIlxuICAgICAgW2xvYWRpbmddPVwiIXByb2plY3RzLmxlbmd0aCAmJiBwcm9qZWN0c0xvYWRpbmdcIlxuICAgID5cbiAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgIFt2YWx1ZV09XCInX19hbGwnXCJcbiAgICAgICAgW2xhYmVsXT1cIidhbGwnIHwgdHJhbnNsYXRlXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2FsbF9jbHVzdGVycycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYXVpLW9wdGlvbj5cbiAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBjbHVzdGVyIG9mIGNsdXN0ZXJzXCJcbiAgICAgICAgW3ZhbHVlXT1cImNsdXN0ZXJcIlxuICAgICAgICBbbGFiZWxdPVwiY2x1c3RlckxhYmVsXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNsdXN0ZXIgfCBwdXJlOiBjaGVja0NsdXN0ZXJFcnJvciQgfCBhc3luY1wiXG4gICAgICAgIFthdWlUb29sdGlwXT1cIidjdXJyZW50X2NsdXN0ZXJfc3RhdHVzX2Fibm9ybWFsJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFthdWlUb29sdGlwRGlzYWJsZWRdPVwiIShjbHVzdGVyIHwgcHVyZTogY2hlY2tDbHVzdGVyRXJyb3IkIHwgYXN5bmMpXCJcbiAgICAgICAgW2xhYmVsQ29udGV4dF09XCJ7IGNsdXN0ZXI6IGNsdXN0ZXIgfVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNsdXN0ZXJMYWJlbDsgY29udGV4dDogeyBjbHVzdGVyOiBjbHVzdGVyIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2F1aS1vcHRpb24+XG4gICAgPC9hdWktc2VsZWN0PlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgI2NsdXN0ZXJMYWJlbFxuICAgICAgbGV0LWNsdXN0ZXI9XCJjbHVzdGVyXCJcbiAgICA+XG4gICAgICB7eyBjbHVzdGVyIH19XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiY2x1c3RlciB8IHB1cmU6IGdldENsdXN0ZXJEaXNwbGF5TmFtZSQgfCBhc3luYyBhcyBkaXNwbGF5TmFtZVwiXG4gICAgICA+XG4gICAgICAgICh7eyBkaXNwbGF5TmFtZSB9fSlcbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvYXVpLWZvcm0taXRlbT5cbjwvZGl2PlxuPGFjbC1yZXNvdXJjZS1kYXRhLWdyaWRcbiAgW2RhdGFdPVwiZGlzcGxheWVkRGF0YSB8fCBbXVwiXG4gIFtmaWVsZHNdPVwiZmllbGRzXCJcbiAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gIChzZWxlY3RJdGVtKT1cIm9uU2VsZWN0KCRldmVudClcIlxuICBbYWN0aW9uVGVtcGxhdGVSZWZdPVwiYWN0aW9uVGVtcGxhdGVSZWZcIlxuICBbc2VsZWN0ZWRVaWRdPVwic2VsZWN0ZWRVaWRcIlxuICBbbG9hZGluZ109XCJmb3JjZUxvYWRpbmcgfHwgKCFkaXNwbGF5ZWREYXRhPy5sZW5ndGggJiYgbG9hZGluZylcIlxuICAocmVsb2FkKT1cInJlbG9hZCgpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBhY2xSZXNvdXJjZUdyaWRIZWFkZXI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvYWNsLXJlc291cmNlLWRhdGEtZ3JpZD5cbiJdfQ==
|
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
* @module utils
|
|
4
4
|
*/
|
|
5
5
|
import { InjectionToken, inject } from '@angular/core';
|
|
6
|
-
import { retry } from 'rxjs';
|
|
7
|
-
import { ajax } from 'rxjs/ajax';
|
|
8
6
|
import { getBaseHref } from '../utils/public-api';
|
|
9
7
|
export const idTokenKey = 'id_token';
|
|
10
8
|
export const refreshTokenKey = 'refresh_token';
|
|
@@ -31,19 +29,20 @@ export function initGlobalEnvironments(env) {
|
|
|
31
29
|
GLOBAL_ENVIRONMENTS_INITIALIZED = true;
|
|
32
30
|
Object.assign(GLOBAL_ENVIRONMENTS, env);
|
|
33
31
|
}
|
|
34
|
-
export function fetchGlobalEnvironments(callback) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
32
|
+
export async function fetchGlobalEnvironments(callback) {
|
|
33
|
+
try {
|
|
34
|
+
const response = await fetch('api/v1/envs');
|
|
35
|
+
if (!response.ok) {
|
|
36
|
+
throw new Error('Network response was not ok');
|
|
37
|
+
}
|
|
38
|
+
const envs = await response.json();
|
|
39
|
+
initGlobalEnvironments(envs);
|
|
40
|
+
callback?.(envs);
|
|
41
|
+
return envs;
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
console.error('Failed to load environments.', error);
|
|
45
|
+
}
|
|
47
46
|
}
|
|
48
47
|
export function getGlobalEnvironments(name) {
|
|
49
48
|
if (!GLOBAL_ENVIRONMENTS_INITIALIZED) {
|
|
@@ -126,4 +125,4 @@ export const TOKEN_CRYPTO_INTERCEPTOR_URL_REGEXPS = new InjectionToken('Configur
|
|
|
126
125
|
providedIn: 'root',
|
|
127
126
|
factory: () => [],
|
|
128
127
|
});
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvY29uc3RhbnRzL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUM7QUFFckMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMkIsRUFBRSxDQUFDO0FBRXhELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyx5QkFBeUIsQ0FBQztBQUVwRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsNkJBQTZCLENBQUM7QUFFM0QsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsZ0NBQWdDLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLCtCQUErQixDQUFDO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyw0QkFBNEIsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxHQUFHLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQTJCLEVBQUUsQ0FBQztBQUU5RCxNQUFNLG1CQUFtQixHQUFpQjtJQUN4QyxnQkFBZ0IsRUFBRSxjQUFjO0lBQ2hDLGlCQUFpQixFQUFFLFVBQVU7Q0FDOUIsQ0FBQztBQUVGLElBQUksK0JBQStCLEdB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QUcsSUFBSSxjQUFjLENBQy9DLG9CQUFvQixFQUNwQjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxXQUFXO0NBQ3JCLENBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUFTLEVBQUUsRUFBRTtJQUNqRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1osTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sUUFBUSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUNuRSxDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQzVELHdCQUF3QixFQUN4QjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLO0NBQ3JCLENBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLElBQUksY0FBYyxDQUNwRSxnRkFBZ0YsRUFDaEY7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtDQUNsQixDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbmltcG9ydCB7IEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJldHJ5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhamF4IH0gZnJvbSAncnhqcy9hamF4JztcblxuaW1wb3J0IHsgSzhzUmVzb3VyY2VEZWZpbml0aW9ucyB9IGZyb20gJy4uLy4uL2FwaS90eXBlcyc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudHMgfSBmcm9tICcuLi90eXBlcy9jb21tb25zJztcbmltcG9ydCB7IGdldEJhc2VIcmVmIH0gZnJvbSAnLi4vdXRpbHMvcHVibGljLWFwaSc7XG5cbmV4cG9ydCBjb25zdCBpZFRva2VuS2V5ID0gJ2lkX3Rva2VuJztcblxuZXhwb3J0IGNvbnN0IHJlZnJlc2hUb2tlbktleSA9ICdyZWZyZXNoX3Rva2VuJztcblxuZXhwb3J0IGNvbnN0IGNvZGVLZXkgPSAnY29kZSc7XG5cbmV4cG9ydCBjb25zdCBhbm9ueW1vdXNBcGlzOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+ID0gW107XG5cbmV4cG9ydCBjb25zdCBtb2R1bGVzQXBpID0gJy9jb25zb2xlL2FwaS92MS9tb2R1bGVzJztcblxuZXhwb3J0IGNvbnN0IHRva2VuTG9naW5BcGkgPSAnL2NvbnNvbGUvYXBpL3YxL3Rva2VuL2xvZ2luJztcblxuZXhwb3J0IGNvbnN0IHRva2VuQ2FsbGJhY2tBcGkgPSAnL2NvbnNvbGUvYXBpL3YxL3Rva2VuL2NhbGxiYWNrJztcblxuZXhwb3J0IGNvbnN0IHRva2VuUmVmcmVzaEFwaSA9ICcvY29uc29sZS9hcGkvdjEvdG9rZW4vcmVmcmVzaCc7XG5cbmV4cG9ydCBjb25zdCB0b2tlbkluZm9BcGkgPSAnL2NvbnNvbGUvYXBpL3YxL3Rva2VuL2luZm8nO1xuXG5leHBvcnQgY29uc3QgdG9rZW5Ob25BZG1pblJlZGlyZWN0UGF0aCA9ICcvJztcblxuZXhwb3J0IGNvbnN0IHJlc291cmNlRGVmaW5pdGlvbnM6IEs4c1Jlc291cmNlRGVmaW5pdGlvbnMgPSB7fTtcblxuY29uc3QgR0xPQkFMX0VOVklST05NRU5UUzogRW52aXJvbm1lbnRzID0ge1xuICBHTE9CQUxfTkFNRVNQQUNFOiAnY3BhYXMtc3lzdGVtJyxcbiAgTEFCRUxfQkFTRV9ET01BSU46ICdjcGFhcy5pbycsXG59O1xuXG5sZXQgR0xPQkFMX0VOVklST05NRU5UU19JTklUSUFMSVpFRCA9IGZhbHNlO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5pdEdsb2JhbEVudmlyb25tZW50cyhlbnY6IEVudmlyb25tZW50cyk6IHZvaWQge1xuICBpZiAoXG4gICAgR0xPQkFMX0VOVklST05NRU5UU19JTklUSUFMSVpFRCAmJlxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLS0gd2VicGFjayBzcGVjaWZpY1xuICAgICFtb2R1bGUuaG90XG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcignR2xvYmFsIGVudmlyb25tZW50cyBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIEdMT0JBTF9FTlZJUk9OTUVOVFNfSU5JVElBTElaRUQgPSB0cnVlO1xuICBPYmplY3QuYXNzaWduKEdMT0JBTF9FTlZJUk9OTUVOVFMsIGVudik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmZXRjaEdsb2JhbEVudmlyb25tZW50cyhjYWxsYmFjazogKCkgPT4gdm9pZCkge1xuICBhamF4XG4gICAgLmdldEpTT048RW52aXJvbm1lbnRzPignYXBpL3YxL2VudnMnKVxuICAgIC5waXBlKHJldHJ5KDMpKVxuICAgIC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogZW52cyA9PiB7XG4gICAgICAgIGluaXRHbG9iYWxFbnZpcm9ubWVudHMoZW52cyk7XG4gICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgZW52aXJvbm1lbnRzLicpO1xuICAgICAgfSxcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbEVudmlyb25tZW50cygpOiBSZWFkb25seTxFbnZpcm9ubWVudHM+O1xuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbEVudmlyb25tZW50czxUIGV4dGVuZHMga2V5b2YgRW52aXJvbm1lbnRzPihcbiAgbmFtZTogVCxcbik6IEVudmlyb25tZW50c1tUXTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRHbG9iYWxFbnZpcm9ubWVudHMobmFtZT86IGtleW9mIEVudmlyb25tZW50cykge1xuICBpZiAoIUdMT0JBTF9FTlZJUk9OTUVOVFNfSU5JVElBTElaRUQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dsb2JhbCBlbnZpcm9ubWVudHMgaGF2ZSBub3QgYmVlbiBpbml0aWFsaXplZCcpO1xuICB9XG5cbiAgcmV0dXJuIG5hbWUgPyBHTE9CQUxfRU5WSVJPTk1FTlRTW25hbWVdIDogR0xPQkFMX0VOVklST05NRU5UUztcbn1cblxuZXhwb3J0IGNvbnN0IEFOT05ZTU9VU19BUElTID0gbmV3IEluamVjdGlvblRva2VuKFxuICAnYW5vbnltb3VzIGFwaXMgbm8gbmVlZCBmb3IgYXV0aG9yaXphdGlvbicsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gYW5vbnltb3VzQXBpcyxcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBJRF9UT0tFTl9LRVkgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdpZF90b2tlbiBwYXJhbSBuYW1lIGZvciBhdXRob3JpemF0aW9uJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiBpZFRva2VuS2V5LFxuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IFJFRlJFU0hfVE9LRU5fS0VZID0gbmV3IEluamVjdGlvblRva2VuKFxuICAncmVmcmVzaF90b2tlbiBwYXJhbSBuYW1lIGZvciBhdXRob3JpemF0aW9uJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiByZWZyZXNoVG9rZW5LZXksXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgQ09ERV9LRVkgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdjb2RlIHBhcmFtIG5hbWUgZnJvIGF1dGhvcml6YXRpb24nLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IGNvZGVLZXksXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgTU9EVUxFU19BUEkgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2FwaSBnYXRld2F5IGNvbmZpZ3VyYXRpb25zJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IG1vZHVsZXNBcGksXG59KTtcblxuZXhwb3J0IGNvbnN0IFRPS0VOX0xPR0lOX0FQSSA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ2FwaSBmb3IgZ2V0IGF1dGhvcml6YXRpb24gY29uZmlndXJhdGlvbnMnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IHRva2VuTG9naW5BcGksXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fQ0FMTEJBQ0tfQVBJID0gbmV3IEluamVjdGlvblRva2VuKFxuICAnYXBpIGZvciByZXNvbHZlIGlkX3Rva2VuIGZyb20gY29kZScsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gdG9rZW5DYWxsYmFja0FwaSxcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9SRUZSRVNIX0FQSSA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ2FwaSBmb3IgcmVmcmVzaCBpZF90b2tlbiBieSByZWZyZXNoX3Rva2VuJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiB0b2tlblJlZnJlc2hBcGksXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fSU5GT19BUEkgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2FwaSBmb3IgdmFsaWRhdGUgaWRfdG9rZW4nLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4gdG9rZW5JbmZvQXBpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9OT05fQURNSU5fUkVESVJFQ1RfUEFUSCA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ2RlZmF1bHQgcmVkaXJlY3QgcGF0aCBmb3IgYWRtaW4gZ3VhcmQnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IHRva2VuTm9uQWRtaW5SZWRpcmVjdFBhdGgsXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fQkFTRV9ET01BSU4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdkZWZhdWx0IGJhc2UgZG9tYWluIHN0cmluZyBmb3IgYW5ub3RhdGlvbnMgYW5kIGxhYmVscyBvZiBrdWJlcm5ldGVzIHJlc291cmNlJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiBnZXRHbG9iYWxFbnZpcm9ubWVudHMoJ0xBQkVMX0JBU0VfRE9NQUlOJyksXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fR0xPQkFMX05BTUVTUEFDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ2RlZmF1bHQgZ2xvYmFsIG5hbWVzcGFjZSBmb3IgbmFtZXNwYWNlZCBnbG9iYWwgcmVzb3VyY2UnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IGdldEdsb2JhbEVudmlyb25tZW50cygnR0xPQkFMX05BTUVTUEFDRScpLFxuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IFRPS0VOX0xPR09fVVJMID0gbmV3IEluamVjdGlvblRva2VuKCdMT0dPX1VSTCcsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiBnZXRHbG9iYWxFbnZpcm9ubWVudHMoJ0xPR09fVVJMJyksXG59KTtcblxuZXhwb3J0IGNvbnN0IFRPS0VOX1JFU09VUkNFX0RFRklOSVRJT05TID0gbmV3IEluamVjdGlvblRva2VuKFxuICAnY3VzdG9tIHJlc291cmNlIGRlZmluaXRpb25zJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiByZXNvdXJjZURlZmluaXRpb25zLFxuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IFRPS0VOX0JBU0VfSFJFRiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KFxuICAnYmFzZSBocmVmIGZyb20gRE9NJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiBnZXRCYXNlSHJlZixcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9ET0NTX0JBU0VfSFJFRiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCcnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIGNvbnN0IGJhc2VIcmVmID0gaW5qZWN0KFRPS0VOX0JBU0VfSFJFRik7XG4gICAgcmV0dXJuIGJhc2VIcmVmID09PSAnLycgPyAnLycgOiBiYXNlSHJlZi5zbGljZSgwLCAtMSkgKyAnLWRvY3MvJztcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fRElTQUJMRV9TRVNTSU9OX01BTkFHRSA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ2Rpc2FibGUgc2Vzc2lvbiBtYW5hZ2UnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IGZhbHNlLFxuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IFRPS0VOX0NSWVBUT19JTlRFUkNFUFRPUl9VUkxfUkVHRVhQUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ0NvbmZpZ3VyZSB0aGUgZGVmYXVsdCBlbmNyeXB0aW9uLWVuYWJsZWQgVVJMIG1hdGNoaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiBhcnJheScsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gW10sXG4gIH0sXG4pO1xuIl19
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvY29uc3RhbnRzL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQztBQUVyQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUM7QUFFOUIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUEyQixFQUFFLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLHlCQUF5QixDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyw2QkFBNkIsQ0FBQztBQUUzRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsK0JBQStCLENBQUM7QUFFL0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLDRCQUE0QixDQUFDO0FBRXpELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBMkIsRUFBRSxDQUFDO0FBRTlELE1BQU0sbUJBQW1CLEdBQWlCO0lBQ3hDLGdCQUFnQixFQUFFLGNBQWM7SUFDaEMsaUJBQWlCLEVBQUUsVUFBVTtDQUM5QixDQUFDO0FBRUYsSUFBSSwrQkFBK0IsR0FBRyxLQUFLLENBQUM7QUFFNUMsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEdBQWlCO0lBQ3RELElBQ0UsK0JBQStCO1FBQy9CLHVDQUF1QztRQUN2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QUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQy9DLG9CQUFvQixFQUNwQjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxXQUFXO0NBQ3JCLENBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUFTLEVBQUUsRUFBRTtJQUNqRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1osTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sUUFBUSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUNuRSxDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQzVELHdCQUF3QixFQUN4QjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLO0NBQ3JCLENBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLElBQUksY0FBYyxDQUNwRSxnRkFBZ0YsRUFDaEY7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtDQUNsQixDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbmltcG9ydCB7IEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSzhzUmVzb3VyY2VEZWZpbml0aW9ucyB9IGZyb20gJy4uLy4uL2FwaS90eXBlcyc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudHMgfSBmcm9tICcuLi90eXBlcy9jb21tb25zJztcbmltcG9ydCB7IGdldEJhc2VIcmVmIH0gZnJvbSAnLi4vdXRpbHMvcHVibGljLWFwaSc7XG5cbmV4cG9ydCBjb25zdCBpZFRva2VuS2V5ID0gJ2lkX3Rva2VuJztcblxuZXhwb3J0IGNvbnN0IHJlZnJlc2hUb2tlbktleSA9ICdyZWZyZXNoX3Rva2VuJztcblxuZXhwb3J0IGNvbnN0IGNvZGVLZXkgPSAnY29kZSc7XG5cbmV4cG9ydCBjb25zdCBhbm9ueW1vdXNBcGlzOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+ID0gW107XG5cbmV4cG9ydCBjb25zdCBtb2R1bGVzQXBpID0gJy9jb25zb2xlL2FwaS92MS9tb2R1bGVzJztcblxuZXhwb3J0IGNvbnN0IHRva2VuTG9naW5BcGkgPSAnL2NvbnNvbGUvYXBpL3YxL3Rva2VuL2xvZ2luJztcblxuZXhwb3J0IGNvbnN0IHRva2VuQ2FsbGJhY2tBcGkgPSAnL2NvbnNvbGUvYXBpL3YxL3Rva2VuL2NhbGxiYWNrJztcblxuZXhwb3J0IGNvbnN0IHRva2VuUmVmcmVzaEFwaSA9ICcvY29uc29sZS9hcGkvdjEvdG9rZW4vcmVmcmVzaCc7XG5cbmV4cG9ydCBjb25zdCB0b2tlbkluZm9BcGkgPSAnL2NvbnNvbGUvYXBpL3YxL3Rva2VuL2luZm8nO1xuXG5leHBvcnQgY29uc3QgdG9rZW5Ob25BZG1pblJlZGlyZWN0UGF0aCA9ICcvJztcblxuZXhwb3J0IGNvbnN0IHJlc291cmNlRGVmaW5pdGlvbnM6IEs4c1Jlc291cmNlRGVmaW5pdGlvbnMgPSB7fTtcblxuY29uc3QgR0xPQkFMX0VOVklST05NRU5UUzogRW52aXJvbm1lbnRzID0ge1xuICBHTE9CQUxfTkFNRVNQQUNFOiAnY3BhYXMtc3lzdGVtJyxcbiAgTEFCRUxfQkFTRV9ET01BSU46ICdjcGFhcy5pbycsXG59O1xuXG5sZXQgR0xPQkFMX0VOVklST05NRU5UU19JTklUSUFMSVpFRCA9IGZhbHNlO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5pdEdsb2JhbEVudmlyb25tZW50cyhlbnY6IEVudmlyb25tZW50cyk6IHZvaWQge1xuICBpZiAoXG4gICAgR0xPQkFMX0VOVklST05NRU5UU19JTklUSUFMSVpFRCAmJlxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLS0gd2VicGFjayBzcGVjaWZpY1xuICAgICFtb2R1bGUuaG90XG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcignR2xvYmFsIGVudmlyb25tZW50cyBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIEdMT0JBTF9FTlZJUk9OTUVOVFNfSU5JVElBTElaRUQgPSB0cnVlO1xuICBPYmplY3QuYXNzaWduKEdMT0JBTF9FTlZJUk9OTUVOVFMsIGVudik7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEdsb2JhbEVudmlyb25tZW50cyhcbiAgY2FsbGJhY2s/OiAoZW52czogRW52aXJvbm1lbnRzKSA9PiB2b2lkLFxuKSB7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgnYXBpL3YxL2VudnMnKTtcbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05ldHdvcmsgcmVzcG9uc2Ugd2FzIG5vdCBvaycpO1xuICAgIH1cbiAgICBjb25zdCBlbnZzOiBFbnZpcm9ubWVudHMgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgaW5pdEdsb2JhbEVudmlyb25tZW50cyhlbnZzKTtcbiAgICBjYWxsYmFjaz8uKGVudnMpO1xuICAgIHJldHVybiBlbnZzO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIGVudmlyb25tZW50cy4nLCBlcnJvcik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbEVudmlyb25tZW50cygpOiBSZWFkb25seTxFbnZpcm9ubWVudHM+O1xuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbEVudmlyb25tZW50czxUIGV4dGVuZHMga2V5b2YgRW52aXJvbm1lbnRzPihcbiAgbmFtZTogVCxcbik6IEVudmlyb25tZW50c1tUXTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRHbG9iYWxFbnZpcm9ubWVudHMobmFtZT86IGtleW9mIEVudmlyb25tZW50cykge1xuICBpZiAoIUdMT0JBTF9FTlZJUk9OTUVOVFNfSU5JVElBTElaRUQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dsb2JhbCBlbnZpcm9ubWVudHMgaGF2ZSBub3QgYmVlbiBpbml0aWFsaXplZCcpO1xuICB9XG5cbiAgcmV0dXJuIG5hbWUgPyBHTE9CQUxfRU5WSVJPTk1FTlRTW25hbWVdIDogR0xPQkFMX0VOVklST05NRU5UUztcbn1cblxuZXhwb3J0IGNvbnN0IEFOT05ZTU9VU19BUElTID0gbmV3IEluamVjdGlvblRva2VuKFxuICAnYW5vbnltb3VzIGFwaXMgbm8gbmVlZCBmb3IgYXV0aG9yaXphdGlvbicsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gYW5vbnltb3VzQXBpcyxcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBJRF9UT0tFTl9LRVkgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdpZF90b2tlbiBwYXJhbSBuYW1lIGZvciBhdXRob3JpemF0aW9uJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiBpZFRva2VuS2V5LFxuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IFJFRlJFU0hfVE9LRU5fS0VZID0gbmV3IEluamVjdGlvblRva2VuKFxuICAncmVmcmVzaF90b2tlbiBwYXJhbSBuYW1lIGZvciBhdXRob3JpemF0aW9uJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiByZWZyZXNoVG9rZW5LZXksXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgQ09ERV9LRVkgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdjb2RlIHBhcmFtIG5hbWUgZnJvIGF1dGhvcml6YXRpb24nLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IGNvZGVLZXksXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgTU9EVUxFU19BUEkgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2FwaSBnYXRld2F5IGNvbmZpZ3VyYXRpb25zJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IG1vZHVsZXNBcGksXG59KTtcblxuZXhwb3J0IGNvbnN0IFRPS0VOX0xPR0lOX0FQSSA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ2FwaSBmb3IgZ2V0IGF1dGhvcml6YXRpb24gY29uZmlndXJhdGlvbnMnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IHRva2VuTG9naW5BcGksXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fQ0FMTEJBQ0tfQVBJID0gbmV3IEluamVjdGlvblRva2VuKFxuICAnYXBpIGZvciByZXNvbHZlIGlkX3Rva2VuIGZyb20gY29kZScsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gdG9rZW5DYWxsYmFja0FwaSxcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9SRUZSRVNIX0FQSSA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ2FwaSBmb3IgcmVmcmVzaCBpZF90b2tlbiBieSByZWZyZXNoX3Rva2VuJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiB0b2tlblJlZnJlc2hBcGksXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fSU5GT19BUEkgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2FwaSBmb3IgdmFsaWRhdGUgaWRfdG9rZW4nLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4gdG9rZW5JbmZvQXBpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9OT05fQURNSU5fUkVESVJFQ1RfUEFUSCA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ2RlZmF1bHQgcmVkaXJlY3QgcGF0aCBmb3IgYWRtaW4gZ3VhcmQnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IHRva2VuTm9uQWRtaW5SZWRpcmVjdFBhdGgsXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fQkFTRV9ET01BSU4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdkZWZhdWx0IGJhc2UgZG9tYWluIHN0cmluZyBmb3IgYW5ub3RhdGlvbnMgYW5kIGxhYmVscyBvZiBrdWJlcm5ldGVzIHJlc291cmNlJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiBnZXRHbG9iYWxFbnZpcm9ubWVudHMoJ0xBQkVMX0JBU0VfRE9NQUlOJyksXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fR0xPQkFMX05BTUVTUEFDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ2RlZmF1bHQgZ2xvYmFsIG5hbWVzcGFjZSBmb3IgbmFtZXNwYWNlZCBnbG9iYWwgcmVzb3VyY2UnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IGdldEdsb2JhbEVudmlyb25tZW50cygnR0xPQkFMX05BTUVTUEFDRScpLFxuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IFRPS0VOX0xPR09fVVJMID0gbmV3IEluamVjdGlvblRva2VuKCdMT0dPX1VSTCcsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiBnZXRHbG9iYWxFbnZpcm9ubWVudHMoJ0xPR09fVVJMJyksXG59KTtcblxuZXhwb3J0IGNvbnN0IFRPS0VOX1JFU09VUkNFX0RFRklOSVRJT05TID0gbmV3IEluamVjdGlvblRva2VuKFxuICAnY3VzdG9tIHJlc291cmNlIGRlZmluaXRpb25zJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiByZXNvdXJjZURlZmluaXRpb25zLFxuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IFRPS0VOX0JBU0VfSFJFRiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KFxuICAnYmFzZSBocmVmIGZyb20gRE9NJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiBnZXRCYXNlSHJlZixcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9ET0NTX0JBU0VfSFJFRiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCcnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIGNvbnN0IGJhc2VIcmVmID0gaW5qZWN0KFRPS0VOX0JBU0VfSFJFRik7XG4gICAgcmV0dXJuIGJhc2VIcmVmID09PSAnLycgPyAnLycgOiBiYXNlSHJlZi5zbGljZSgwLCAtMSkgKyAnLWRvY3MvJztcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fRElTQUJMRV9TRVNTSU9OX01BTkFHRSA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ2Rpc2FibGUgc2Vzc2lvbiBtYW5hZ2UnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IGZhbHNlLFxuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IFRPS0VOX0NSWVBUT19JTlRFUkNFUFRPUl9VUkxfUkVHRVhQUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ0NvbmZpZ3VyZSB0aGUgZGVmYXVsdCBlbmNyeXB0aW9uLWVuYWJsZWQgVVJMIG1hdGNoaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiBhcnJheScsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gW10sXG4gIH0sXG4pO1xuIl19
|
|
@@ -2,17 +2,14 @@ import { Pipe } from '@angular/core';
|
|
|
2
2
|
import cronstrue from 'cronstrue';
|
|
3
3
|
import 'cronstrue/locales/zh_CN';
|
|
4
4
|
import 'cronstrue/locales/en';
|
|
5
|
+
import { isZhLang } from '../../translate/public-api';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
|
-
const LOCALE_SUPPORT = {
|
|
7
|
-
zh: 'zh_CN',
|
|
8
|
-
en: 'en',
|
|
9
|
-
};
|
|
10
7
|
export class CronHumanReadablePipe {
|
|
11
8
|
transform(cronString, locale) {
|
|
12
9
|
let humanReadableString;
|
|
13
10
|
try {
|
|
14
11
|
humanReadableString = cronstrue.toString(cronString, {
|
|
15
|
-
locale:
|
|
12
|
+
locale: isZhLang(locale) ? 'zh_CN' : 'en',
|
|
16
13
|
throwExceptionOnParseError: true,
|
|
17
14
|
});
|
|
18
15
|
}
|
|
@@ -30,4 +27,4 @@ export class CronHumanReadablePipe {
|
|
|
30
27
|
name: 'aclCronHumanReadable',
|
|
31
28
|
}]
|
|
32
29
|
}], null, null); })();
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi1odW1hbi1yZWFkYWJsZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvcGlwZXMvY3Jvbi1odW1hbi1yZWFkYWJsZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUVsQyxPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUt0RCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFNBQVMsQ0FBQyxVQUFrQixFQUFFLE1BQWM7UUFDMUMsSUFBSSxtQkFBbUIsQ0FBQztRQUN4QixJQUFJO1lBQ0YsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7Z0JBQ25ELE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDekMsMEJBQTBCLEVBQUUsSUFBSTthQUNqQyxDQUFDLENBQUM7U0FDSjtRQUFDLE1BQU07WUFDTixtQkFBbUIsR0FBRyxLQUFLLENBQUM7U0FDN0I7UUFDRCxPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7c0ZBWlUscUJBQXFCOzhGQUFyQixxQkFBcUI7O3VGQUFyQixxQkFBcUI7Y0FIakMsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxzQkFBc0I7YUFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgY3JvbnN0cnVlIGZyb20gJ2Nyb25zdHJ1ZSc7XG5cbmltcG9ydCAnY3JvbnN0cnVlL2xvY2FsZXMvemhfQ04nO1xuaW1wb3J0ICdjcm9uc3RydWUvbG9jYWxlcy9lbic7XG5pbXBvcnQgeyBpc1poTGFuZyB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYWNsQ3Jvbkh1bWFuUmVhZGFibGUnLFxufSlcbmV4cG9ydCBjbGFzcyBDcm9uSHVtYW5SZWFkYWJsZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGNyb25TdHJpbmc6IHN0cmluZywgbG9jYWxlOiBzdHJpbmcpIHtcbiAgICBsZXQgaHVtYW5SZWFkYWJsZVN0cmluZztcbiAgICB0cnkge1xuICAgICAgaHVtYW5SZWFkYWJsZVN0cmluZyA9IGNyb25zdHJ1ZS50b1N0cmluZyhjcm9uU3RyaW5nLCB7XG4gICAgICAgIGxvY2FsZTogaXNaaExhbmcobG9jYWxlKSA/ICd6aF9DTicgOiAnZW4nLFxuICAgICAgICB0aHJvd0V4Y2VwdGlvbk9uUGFyc2VFcnJvcjogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgaHVtYW5SZWFkYWJsZVN0cmluZyA9ICdOL0EnO1xuICAgIH1cbiAgICByZXR1cm4gaHVtYW5SZWFkYWJsZVN0cmluZztcbiAgfVxufVxuIl19
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
* @packageDocumentation
|
|
3
3
|
* @module utils
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
import { TRANSLATION, } from '../../core/public-api';
|
|
7
|
-
import { TranslatePipe } from '../../translate/translate.pipe';
|
|
5
|
+
import { Pipe } from '@angular/core';
|
|
8
6
|
import { K8sUtilService } from '../services/public-api';
|
|
9
7
|
import * as i0 from "@angular/core";
|
|
10
8
|
import * as i1 from "../services/public-api";
|
|
@@ -173,24 +171,4 @@ export class K8sIsDeletingPipe {
|
|
|
173
171
|
type: Pipe,
|
|
174
172
|
args: [{ name: 'aclIsDeleting', standalone: true }]
|
|
175
173
|
}], null, null); })();
|
|
176
|
-
export class K8sTranslatePipe extends TranslatePipe {
|
|
177
|
-
constructor(injector, k8sUtil) {
|
|
178
|
-
super(injector);
|
|
179
|
-
this.k8sUtil = k8sUtil;
|
|
180
|
-
}
|
|
181
|
-
// @ts-expect-error
|
|
182
|
-
transform(resource, type, data) {
|
|
183
|
-
return super.transform(this.k8sUtil.getAnnotation(resource, {
|
|
184
|
-
type,
|
|
185
|
-
baseDomain: 'cpaas.io',
|
|
186
|
-
prefix: TRANSLATION,
|
|
187
|
-
}), data);
|
|
188
|
-
}
|
|
189
|
-
static { this.ɵfac = function K8sTranslatePipe_Factory(t) { return new (t || K8sTranslatePipe)(i0.ɵɵdirectiveInject(i0.Injector, 16), i0.ɵɵdirectiveInject(i1.K8sUtilService, 16)); }; }
|
|
190
|
-
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "$translate", type: K8sTranslatePipe, pure: false, standalone: true }); }
|
|
191
|
-
}
|
|
192
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sTranslatePipe, [{
|
|
193
|
-
type: Pipe,
|
|
194
|
-
args: [{ name: '$translate', pure: false, standalone: true }]
|
|
195
|
-
}], function () { return [{ type: i0.Injector }, { type: i1.K8sUtilService }]; }, null); })();
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXV0aWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3BpcGVzL2s4cy11dGlsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFHTCxXQUFXLEdBQ1osTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFHeEQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUE2QixPQUF1QjtRQUF2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtJQUFHLENBQUM7SUFFeEQsU0FBUyxDQUNQLFFBQTRCLEVBQzVCLElBQXNDLEVBQ3RDLE1BQWU7UUFFZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQztrRkFUVSxpQkFBaUI7dUZBQWpCLGlCQUFpQjs7dUZBQWpCLGlCQUFpQjtjQUQ3QixJQUFJO2VBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7O0FBY2pELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBNkIsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFBRyxDQUFDO0lBRXhELFNBQVMsQ0FBQyxRQUE0QjtRQUNwQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7aUZBTFUsZ0JBQWdCO3NGQUFoQixnQkFBZ0I7O3VGQUFoQixnQkFBZ0I7Y0FENUIsSUFBSTtlQUFDLEVBQUUsSUFBSSxFQUFF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aUJBQWlCLENBQUM7SUFDakQsQ0FBQztrRkFIVSxpQkFBaUI7dUZBQWpCLGlCQUFpQjs7dUZBQWpCLGlCQUFpQjtjQUQ3QixJQUFJO2VBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7O0FBUWpELE1BQU0sT0FBTyxnQkFDWCxTQUFRLGFBQWdCO0lBR3hCLFlBQVksUUFBa0IsRUFBbUIsT0FBdUI7UUFDdEUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRCtCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBRXhFLENBQUM7SUFFRCxtQkFBbUI7SUFDVixTQUFTLENBQ2hCLFFBQVcsRUFDWCxJQUFZLEVBQ1osSUFBYztRQUVkLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQ25DLElBQUk7WUFDSixVQUFVLEVBQUUsVUFBVTtZQUN0QixNQUFNLEVBQUUsV0FBVztTQUNwQixDQUFDLEVBQ0YsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO2lGQXRCVSxnQkFBZ0I7b0ZBQWhCLGdCQUFnQjs7dUZBQWhCLGdCQUFnQjtjQUQ1QixJQUFJO2VBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0b3IsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQmFzZU5vcm1hbGl6ZVR5cGVQYXJhbXMsXG4gIEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgVFJBTlNMQVRJT04sXG59IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRlL3RyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IEs4c1V0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcHVibGljLWFwaSc7XG5cbkBQaXBlKHsgbmFtZTogJ2FjbEFubm90YXRpb24nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzQW5ub3RhdGlvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0oXG4gICAgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgICB0eXBlOiBzdHJpbmcgfCBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyxcbiAgICBwcmVmaXg/OiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuazhzVXRpbC5nZXRBbm5vdGF0aW9uKHJlc291cmNlLCB0eXBlIGFzIHN0cmluZywgcHJlZml4KTtcbiAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xOYW1lc3BhY2UnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzTmFtZXNwYWNlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlKSB7fVxuXG4gIHRyYW5zZm9ybShyZXNvdXJjZTogS3ViZXJuZXRlc1Jlc291cmNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldE5hbWVzcGFjZShyZXNvdXJjZSk7XG4gIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAnYWNsTmFtZScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNOYW1lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlKSB7fVxuXG4gIHRyYW5zZm9ybShyZXNvdXJjZTogS3ViZXJuZXRlc1Jlc291cmNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldE5hbWUocmVzb3VyY2UpO1xuICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2FjbENyZWF0aW9uVGltZXN0YW1wJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEs4c0NyZWF0aW9uVGltZXN0YW1wUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlKSB7fVxuXG4gIHRyYW5zZm9ybShyZXNvdXJjZTogS3ViZXJuZXRlc1Jlc291cmNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldENyZWF0aW9uVGltZXN0YW1wKHJlc291cmNlKTtcbiAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xEaXNwbGF5TmFtZScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNEaXNwbGF5TmFtZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0ocmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSwgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldERpc3BsYXlOYW1lKHJlc291cmNlLCBwcmVmaXgpO1xuICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2FjbFVuaW9uRGlzcGxheU5hbWUnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzVW5pb25EaXNwbGF5TmFtZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0oXG4gICAgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgICBuYW1lUHJlZml4Pzogc3RyaW5nIHwgZmFsc2UsXG4gICAgZGlzcGxheU5hbWVQcmVmaXg/OiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuazhzVXRpbC5nZXRVbmlvbkRpc3BsYXlOYW1lKFxuICAgICAgcmVzb3VyY2UsXG4gICAgICBuYW1lUHJlZml4LFxuICAgICAgZGlzcGxheU5hbWVQcmVmaXgsXG4gICAgKTtcbiAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xEZXNjcmlwdGlvbicsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNEZXNjcmlwdGlvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0ocmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSwgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldERlc2NyaXB0aW9uKHJlc291cmNlLCBwcmVmaXgpO1xuICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2FjbENyZWF0b3InLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzQ3JlYXRvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0ocmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSwgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldENyZWF0b3IocmVzb3VyY2UsIHByZWZpeCk7XG4gIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAnYWNsVXBkYXRlZEF0Jywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEs4c1VwZGF0ZWRBdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0ocmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSwgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldFVwZGF0ZWRBdChyZXNvdXJjZSwgcHJlZml4KTtcbiAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xMYWJlbCcsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNMYWJlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0oXG4gICAgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgICB0eXBlOiBzdHJpbmcgfCBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyxcbiAgICBwcmVmaXg/OiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuazhzVXRpbC5nZXRMYWJlbChyZXNvdXJjZSwgdHlwZSBhcyBzdHJpbmcsIHByZWZpeCk7XG4gIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAnYWNsUHJvamVjdCcsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNQcm9qZWN0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlKSB7fVxuXG4gIHRyYW5zZm9ybShyZXNvdXJjZTogS3ViZXJuZXRlc1Jlc291cmNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldFByb2plY3QocmVzb3VyY2UpO1xuICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2FjbElzRGVsZXRpbmcnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzSXNEZWxldGluZ1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHJlc291cmNlOiBLdWJlcm5ldGVzUmVzb3VyY2UpIHtcbiAgICByZXR1cm4gISFyZXNvdXJjZT8ubWV0YWRhdGE/LmRlbGV0aW9uVGltZXN0YW1wO1xuICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJyR0cmFuc2xhdGUnLCBwdXJlOiBmYWxzZSwgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEs4c1RyYW5zbGF0ZVBpcGU8VCBleHRlbmRzIHN0cmluZz5cbiAgZXh0ZW5kcyBUcmFuc2xhdGVQaXBlPFQ+XG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgcmVhZG9ubHkgazhzVXRpbDogSzhzVXRpbFNlcnZpY2UpIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gIH1cblxuICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gIG92ZXJyaWRlIHRyYW5zZm9ybTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgZGF0YT86IHVua25vd24sXG4gICkge1xuICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0oXG4gICAgICB0aGlzLms4c1V0aWwuZ2V0QW5ub3RhdGlvbihyZXNvdXJjZSwge1xuICAgICAgICB0eXBlLFxuICAgICAgICBiYXNlRG9tYWluOiAnY3BhYXMuaW8nLFxuICAgICAgICBwcmVmaXg6IFRSQU5TTEFUSU9OLFxuICAgICAgfSksXG4gICAgICBkYXRhLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXV0aWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3BpcGVzL2s4cy11dGlsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFNcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFHeEQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUE2QixPQUF1QjtRQUF2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtJQUFHLENBQUM7SUFFeEQsU0FBUyxDQUNQLFFBQTRCLEVBQzVCLElBQXNDLEVBQ3RDLE1BQWU7UUFFZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQztrRkFUVSxpQkFBaUI7dUZBQWpCLGlCQUFpQjs7dUZBQWpCLGlCQUFpQjtjQUQ3QixJQUFJO2VBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7O0FBY2pELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBNkIsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFBRyxDQUFDO0lBRXhELFNBQVMsQ0FBQyxRQUE0QjtRQUNwQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7aUZBTFUsZ0JBQWdCO3NGQUFoQixnQkFBZ0I7O3VGQUFoQixnQkFBZ0I7Y0FENUIsSUFBSTtlQUFDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFOztBQVVoRCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUE2QixPQUF1QjtRQUF2QixZQUFPLEdBQVAsT0FBTyxDQUFn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ZUFBZSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQmFzZU5vcm1hbGl6ZVR5cGVQYXJhbXMsXG4gIEt1YmVybmV0ZXNSZXNvdXJjZSxcbn0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEs4c1V0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcHVibGljLWFwaSc7XG5cbkBQaXBlKHsgbmFtZTogJ2FjbEFubm90YXRpb24nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzQW5ub3RhdGlvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0oXG4gICAgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgICB0eXBlOiBzdHJpbmcgfCBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyxcbiAgICBwcmVmaXg/OiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuazhzVXRpbC5nZXRBbm5vdGF0aW9uKHJlc291cmNlLCB0eXBlIGFzIHN0cmluZywgcHJlZml4KTtcbiAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xOYW1lc3BhY2UnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzTmFtZXNwYWNlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlKSB7fVxuXG4gIHRyYW5zZm9ybShyZXNvdXJjZTogS3ViZXJuZXRlc1Jlc291cmNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldE5hbWVzcGFjZShyZXNvdXJjZSk7XG4gIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAnYWNsTmFtZScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNOYW1lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlKSB7fVxuXG4gIHRyYW5zZm9ybShyZXNvdXJjZTogS3ViZXJuZXRlc1Jlc291cmNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldE5hbWUocmVzb3VyY2UpO1xuICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2FjbENyZWF0aW9uVGltZXN0YW1wJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEs4c0NyZWF0aW9uVGltZXN0YW1wUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlKSB7fVxuXG4gIHRyYW5zZm9ybShyZXNvdXJjZTogS3ViZXJuZXRlc1Jlc291cmNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldENyZWF0aW9uVGltZXN0YW1wKHJlc291cmNlKTtcbiAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xEaXNwbGF5TmFtZScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNEaXNwbGF5TmFtZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0ocmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSwgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldERpc3BsYXlOYW1lKHJlc291cmNlLCBwcmVmaXgpO1xuICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2FjbFVuaW9uRGlzcGxheU5hbWUnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzVW5pb25EaXNwbGF5TmFtZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0oXG4gICAgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgICBuYW1lUHJlZml4Pzogc3RyaW5nIHwgZmFsc2UsXG4gICAgZGlzcGxheU5hbWVQcmVmaXg/OiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuazhzVXRpbC5nZXRVbmlvbkRpc3BsYXlOYW1lKFxuICAgICAgcmVzb3VyY2UsXG4gICAgICBuYW1lUHJlZml4LFxuICAgICAgZGlzcGxheU5hbWVQcmVmaXgsXG4gICAgKTtcbiAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xEZXNjcmlwdGlvbicsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNEZXNjcmlwdGlvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0ocmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSwgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldERlc2NyaXB0aW9uKHJlc291cmNlLCBwcmVmaXgpO1xuICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2FjbENyZWF0b3InLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzQ3JlYXRvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0ocmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSwgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldENyZWF0b3IocmVzb3VyY2UsIHByZWZpeCk7XG4gIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAnYWNsVXBkYXRlZEF0Jywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEs4c1VwZGF0ZWRBdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0ocmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSwgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldFVwZGF0ZWRBdChyZXNvdXJjZSwgcHJlZml4KTtcbiAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xMYWJlbCcsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNMYWJlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0oXG4gICAgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgICB0eXBlOiBzdHJpbmcgfCBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyxcbiAgICBwcmVmaXg/OiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuazhzVXRpbC5nZXRMYWJlbChyZXNvdXJjZSwgdHlwZSBhcyBzdHJpbmcsIHByZWZpeCk7XG4gIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAnYWNsUHJvamVjdCcsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNQcm9qZWN0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlKSB7fVxuXG4gIHRyYW5zZm9ybShyZXNvdXJjZTogS3ViZXJuZXRlc1Jlc291cmNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldFByb2plY3QocmVzb3VyY2UpO1xuICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2FjbElzRGVsZXRpbmcnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzSXNEZWxldGluZ1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHJlc291cmNlOiBLdWJlcm5ldGVzUmVzb3VyY2UpIHtcbiAgICByZXR1cm4gISFyZXNvdXJjZT8ubWV0YWRhdGE/LmRlbGV0aW9uVGltZXN0YW1wO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { K8sAnnotationPipe, K8sCreationTimestampPipe, K8sCreatorPipe, K8sDescriptionPipe, K8sDisplayNamePipe, K8sIsDeletingPipe, K8sLabelPipe, K8sNamePipe, K8sNamespacePipe, K8sProjectPipe,
|
|
2
|
+
import { K8sAnnotationPipe, K8sCreationTimestampPipe, K8sCreatorPipe, K8sDescriptionPipe, K8sDisplayNamePipe, K8sIsDeletingPipe, K8sLabelPipe, K8sNamePipe, K8sNamespacePipe, K8sProjectPipe, K8sUnionDisplayNamePipe, K8sUpdatedAtPipe, } from './k8s-util.pipe';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export const K8S_UTIL_PIPES_MODULE = [
|
|
5
5
|
K8sAnnotationPipe,
|
|
@@ -12,7 +12,6 @@ export const K8S_UTIL_PIPES_MODULE = [
|
|
|
12
12
|
K8sNamePipe,
|
|
13
13
|
K8sNamespacePipe,
|
|
14
14
|
K8sProjectPipe,
|
|
15
|
-
K8sTranslatePipe,
|
|
16
15
|
K8sUnionDisplayNamePipe,
|
|
17
16
|
K8sUpdatedAtPipe,
|
|
18
17
|
];
|
|
@@ -41,7 +40,6 @@ export class K8sUtilPipeModule {
|
|
|
41
40
|
K8sNamePipe,
|
|
42
41
|
K8sNamespacePipe,
|
|
43
42
|
K8sProjectPipe,
|
|
44
|
-
K8sTranslatePipe,
|
|
45
43
|
K8sUnionDisplayNamePipe,
|
|
46
44
|
K8sUpdatedAtPipe], exports: [K8sAnnotationPipe,
|
|
47
45
|
K8sCreationTimestampPipe,
|
|
@@ -53,7 +51,6 @@ export class K8sUtilPipeModule {
|
|
|
53
51
|
K8sNamePipe,
|
|
54
52
|
K8sNamespacePipe,
|
|
55
53
|
K8sProjectPipe,
|
|
56
|
-
K8sTranslatePipe,
|
|
57
54
|
K8sUnionDisplayNamePipe,
|
|
58
55
|
K8sUpdatedAtPipe] }); })();
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXV0aWwucGlwZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS9waXBlcy9rOHMtdXRpbC5waXBlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osV0FBVyxFQUNYLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDOztBQUV6QixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNuQyxpQkFBaUI7SUFDakIsd0JBQXdCO0lBQ3hCLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osV0FBVztJQUNYLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsdUJBQXVCO0lBQ3ZCLGdCQUFnQjtDQUNSLENBQUM7QUFFWDs7R0FFRztBQUtILE1BQU0sT0FBTyxpQkFBaUI7a0ZBQWpCLGlCQUFpQjttRUFBakIsaUJBQWlCOzs7dUZBQWpCLGlCQUFpQjtjQUo3QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztnQkFDbkMsT0FBTyxFQUFFLENBQUMsR0FBRyxxQkFBcUIsQ0FBQzthQUNwQzs7d0ZBQ1ksaUJBQWlCLGNBckI1QixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osV0FBVztRQUNYLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsdUJBQXVCO1FBQ3ZCLGdCQUFnQixhQVhoQixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osV0FBVztRQUNYLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsdUJBQXVCO1FBQ3ZCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEs4c0Fubm90YXRpb25QaXBlLFxuICBLOHNDcmVhdGlvblRpbWVzdGFtcFBpcGUsXG4gIEs4c0NyZWF0b3JQaXBlLFxuICBLOHNEZXNjcmlwdGlvblBpcGUsXG4gIEs4c0Rpc3BsYXlOYW1lUGlwZSxcbiAgSzhzSXNEZWxldGluZ1BpcGUsXG4gIEs4c0xhYmVsUGlwZSxcbiAgSzhzTmFtZVBpcGUsXG4gIEs4c05hbWVzcGFjZVBpcGUsXG4gIEs4c1Byb2plY3RQaXBlLFxuICBLOHNVbmlvbkRpc3BsYXlOYW1lUGlwZSxcbiAgSzhzVXBkYXRlZEF0UGlwZSxcbn0gZnJvbSAnLi9rOHMtdXRpbC5waXBlJztcblxuZXhwb3J0IGNvbnN0IEs4U19VVElMX1BJUEVTX01PRFVMRSA9IFtcbiAgSzhzQW5ub3RhdGlvblBpcGUsXG4gIEs4c0NyZWF0aW9uVGltZXN0YW1wUGlwZSxcbiAgSzhzQ3JlYXRvclBpcGUsXG4gIEs4c0Rlc2NyaXB0aW9uUGlwZSxcbiAgSzhzRGlzcGxheU5hbWVQaXBlLFxuICBLOHNJc0RlbGV0aW5nUGlwZSxcbiAgSzhzTGFiZWxQaXBlLFxuICBLOHNOYW1lUGlwZSxcbiAgSzhzTmFtZXNwYWNlUGlwZSxcbiAgSzhzUHJvamVjdFBpcGUsXG4gIEs4c1VuaW9uRGlzcGxheU5hbWVQaXBlLFxuICBLOHNVcGRhdGVkQXRQaXBlLFxuXSBhcyBjb25zdDtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgYEs4U19VVElMX1BJUEVTX01PRFVMRWBcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogWy4uLks4U19VVElMX1BJUEVTX01PRFVMRV0sXG4gIGV4cG9ydHM6IFsuLi5LOFNfVVRJTF9QSVBFU19NT0RVTEVdLFxufSlcbmV4cG9ydCBjbGFzcyBLOHNVdGlsUGlwZU1vZHVsZSB7fVxuIl19
|
|
@@ -26,4 +26,4 @@ export class ParseJsonTranslatePipe extends TranslatePipe {
|
|
|
26
26
|
standalone: true,
|
|
27
27
|
}]
|
|
28
28
|
}], null, null); })();
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtanNvbi10cmFuc2xhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3BpcGVzL3BhcnNlLWpzb24tdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBUS9ELE1BQU0sT0FBTyxzQkFDWCxTQUFRLGFBQWE7SUFHWixTQUFTLENBQ2hCLEdBQWlCLEVBQ2pCLElBQWMsRUFDZCxjQUFjLEdBQUcsS0FBSztRQUV0QiwyREFBMkQ7UUFDM0QsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUM1RCxJQUFJO2dCQUNGLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FDcEIsT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQ3JELElBQUksRUFDSixjQUFjLENBQ2YsQ0FBQzthQUNIO1lBQUMsTUFBTTtnQkFDTixPQUFPLEdBQWEsQ0FBQzthQUN0QjtTQUNGO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO2lRQXZCVSxzQkFBc0IsU0FBdEIsc0JBQXNCOytGQUF0QixzQkFBc0I7O3VGQUF0QixzQkFBc0I7Y0FMbEMsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSx1QkFBdUI7Z0JBQzdCLElBQUksRUFBRSxLQUFLO2dCQUNYLFVBQVUsRUFBRSxJQUFJO2FBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJpbSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvdHJhbnNsYXRlLnBpcGUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlS2V5IH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRlL3R5cGVzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYWNsUGFyc2VKc29uVHJhbnNsYXRlJyxcbiAgcHVyZTogZmFsc2UsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFBhcnNlSnNvblRyYW5zbGF0ZVBpcGVcbiAgZXh0ZW5kcyBUcmFuc2xhdGVQaXBlXG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICBvdmVycmlkZSB0cmFuc2Zvcm0oXG4gICAga2V5OiBUcmFuc2xhdGVLZXksXG4gICAgZGF0YT86IHVua25vd24sXG4gICAgaWdub3JlTm9uRXhpc3QgPSBmYWxzZSxcbiAgKTogc3RyaW5nIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVnZXhwL21hdGNoLWFueSwgcmVnZXhwL3N0cmljdFxuICAgIGlmICh0eXBlb2Yga2V5ICE9PSAnc3RyaW5nJyB8fCAvXntbXFxTXFxzXSp9JC8udGVzdCh0cmltKGtleSkpKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gc3VwZXIudHJhbnNmb3JtKFxuICAgICAgICAgIHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZSh0cmltKGtleSkpIDoga2V5LFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgaWdub3JlTm9uRXhpc3QsXG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIGtleSBhcyBzdHJpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGtleTtcbiAgfVxufVxuIl19
|