@microsoft/windows-admin-center-sdk 2.186.0 → 2.295.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/angular/assets/strings/cs-CZ/strings.json +1 -1
- package/angular/assets/strings/de-DE/strings.json +1 -1
- package/angular/assets/strings/es-ES/strings.json +1 -1
- package/angular/assets/strings/fr-FR/strings.json +1 -1
- package/angular/assets/strings/hu-HU/strings.json +1 -1
- package/angular/assets/strings/it-IT/strings.json +1 -1
- package/angular/assets/strings/ja-JP/strings.json +1 -1
- package/angular/assets/strings/ko-KR/strings.json +1 -1
- package/angular/assets/strings/nl-NL/strings.json +1 -1
- package/angular/assets/strings/pl-PL/strings.json +1 -1
- package/angular/assets/strings/pt-BR/strings.json +1 -1
- package/angular/assets/strings/pt-PT/strings.json +1 -1
- package/angular/assets/strings/ru-RU/strings.json +1 -1
- package/angular/assets/strings/strings.json +1 -1
- package/angular/assets/strings/sv-SE/strings.json +1 -1
- package/angular/assets/strings/tr-TR/strings.json +1 -1
- package/angular/assets/strings/zh-CN/strings.json +1 -1
- package/angular/assets/strings/zh-TW/strings.json +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js +1103 -1209
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js.map +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js +2 -2
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js.map +1 -1
- package/angular/esm2015/src/controls/actions/actions.module.js +2 -2
- package/angular/esm2015/src/controls/actions/containers/action-bar/action-bar.component.js +2 -2
- package/angular/esm2015/src/controls/actions/items/action-button/action-button-renderer.component.js +5 -5
- package/angular/esm2015/src/controls/actions/items/action-dropdown/action-dropdown.component.js +31 -13
- package/angular/esm2015/src/controls/actions/items/action-item.component.js +7 -3
- package/angular/esm2015/src/controls/badge/badge-base.component.js +2 -13
- package/angular/esm2015/src/controls/badge/bugfixes-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/coming-soon-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/credssp-enabled-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/critical-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/custom-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/feedback-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/improvement-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/new-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/new-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/preview-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/warning-badge.component.js +42 -70
- package/angular/esm2015/src/controls/breadcrumb/breadcrumb.component.js +6 -6
- package/angular/esm2015/src/controls/breadcrumb-header/breadcrumb-header.component.js +2 -2
- package/angular/esm2015/src/controls/data-table/data-table-column.component.js +5 -3
- package/angular/esm2015/src/controls/data-table/data-table.component.js +20 -26
- package/angular/esm2015/src/controls/data-table/extensions/data-table-column-picker-extension.js +2 -1
- package/angular/esm2015/src/controls/details/details.component.js +2 -2
- package/angular/esm2015/src/controls/dialog/base-dialog.component.js +1 -1
- package/angular/esm2015/src/controls/dialog/confirmation-dialog/confirmation-dialog.component.js +20 -30
- package/angular/esm2015/src/controls/dialog/dialog.service.js +7 -3
- package/angular/esm2015/src/controls/dropdown/dropdown.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/array/array-form-field.component.js +50 -40
- package/angular/esm2015/src/controls/form/form-field/checklist/checklist-form-field.component.js +3 -3
- package/angular/esm2015/src/controls/form/form-field/combobox/combobox-form-field.component.js +14 -13
- package/angular/esm2015/src/controls/form/form-field/datetime/datetime-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/form-field.component.js +16 -4
- package/angular/esm2015/src/controls/form/form-field/options-form-field/form-field-option.component.js +5 -3
- package/angular/esm2015/src/controls/form/form-field/ordered-list/ordered-list-form-field.component.js +25 -21
- package/angular/esm2015/src/controls/form/form-field/radio-group/classic/radio-group-form-field.component.js +5 -5
- package/angular/esm2015/src/controls/form/form-field/search/search-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/tags/tags-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/validation-alert/validation-alert.component.js +4 -10
- package/angular/esm2015/src/controls/form/validation-alert/validation-alert.js +1 -1
- package/angular/esm2015/src/controls/horizontal-bar-chart/stacked-horizontal-bar-chart.component.js +17 -1
- package/angular/esm2015/src/controls/icon/layered-icon/layered-icon.component.js +12 -1
- package/angular/esm2015/src/controls/icon/layered-icon/status/status-icon.component.js +53 -9
- package/angular/esm2015/src/controls/loading-wheel/loading-wheel.component.js +17 -1
- package/angular/esm2015/src/controls/master-view/master-view.component.js +34 -30
- package/angular/esm2015/src/controls/pivot/pivot-tab.component.js +1 -1
- package/angular/esm2015/src/controls/pivot/pivot.component.js +21 -9
- package/angular/esm2015/src/controls/property-grid/property-grid.component.js +13 -29
- package/angular/esm2015/src/controls/schema-form/schema-form-content.component.js +7 -4
- package/angular/esm2015/src/controls/settings/common-settings/common-settings.component.js +23 -35
- package/angular/esm2015/src/controls/settings/settings.component.js +28 -1
- package/angular/esm2015/src/controls/settings/settings.module.js +8 -3
- package/angular/esm2015/src/controls/tooltip/tooltip-host.component.js +16 -5
- package/angular/esm2015/src/controls/wizard/wizard.component.js +38 -6
- package/angular/esm2015/src/directives/clamp/clamp.directive.js +26 -7
- package/angular/esm2015/src/directives/discard/discard.directive.js +2 -2
- package/angular/esm2015/src/directives/markdown/markdown.directive.js +5 -18
- package/angular/esm2015/src/generated/strings.js +1 -1
- package/angular/esm2015/src/guards/experiment.guard.service.js +14 -1
- package/angular/esm2015/src/pipes/boolean-converter-pipe.js +11 -1
- package/angular/esm2015/src/pipes/byte-unit-converter-pipe.js +11 -1
- package/angular/esm2015/src/pipes/enum-converter-pipe.js +16 -1
- package/angular/esm2015/src/pipes/format-pipe.js +11 -1
- package/angular/esm2015/src/pipes/highlight-pipe.js +11 -1
- package/angular/esm2015/src/pipes/yesno-converter-pipe.js +11 -1
- package/angular/esm2015/src/service/gateway.service.js +8 -5
- package/angular/esm2015/src/service/notification.service.js +23 -1
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js +1042 -1069
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js.map +1 -1
- package/angular/package.json +0 -1
- package/angular/src/controls/actions/items/action-dropdown/action-dropdown.component.d.ts +2 -0
- package/angular/src/controls/actions/items/action-item.component.d.ts +11 -1
- package/angular/src/controls/badge/badge-base.component.d.ts +0 -4
- package/angular/src/controls/data-table/data-table-column.component.d.ts +2 -1
- package/angular/src/controls/data-table/data-table.component.d.ts +4 -0
- package/angular/src/controls/dialog/base-dialog.component.d.ts +1 -1
- package/angular/src/controls/form/form-field/form-field.component.d.ts +10 -1
- package/angular/src/controls/form/form-field/options-form-field/form-field-option.component.d.ts +5 -1
- package/angular/src/controls/form/validation-alert/validation-alert.component.d.ts +0 -4
- package/angular/src/controls/form/validation-alert/validation-alert.d.ts +0 -1
- package/angular/src/controls/horizontal-bar-chart/stacked-horizontal-bar-chart.component.d.ts +16 -0
- package/angular/src/controls/icon/layered-icon/layered-icon.component.d.ts +11 -0
- package/angular/src/controls/icon/layered-icon/status/status-icon.component.d.ts +13 -2
- package/angular/src/controls/loading-wheel/loading-wheel.component.d.ts +16 -0
- package/angular/src/controls/master-view/master-view.component.d.ts +1 -0
- package/angular/src/controls/pivot/pivot-tab.component.d.ts +0 -1
- package/angular/src/controls/pivot/pivot.component.d.ts +4 -0
- package/angular/src/controls/settings/common-settings/common-settings.component.d.ts +6 -5
- package/angular/src/controls/settings/settings.component.d.ts +27 -0
- package/angular/src/controls/settings/settings.module.d.ts +7 -6
- package/angular/src/controls/tooltip/tooltip-host.component.d.ts +1 -1
- package/angular/src/controls/wizard/wizard.component.d.ts +23 -0
- package/angular/src/directives/clamp/clamp.directive.d.ts +5 -0
- package/angular/src/directives/markdown/markdown.directive.d.ts +2 -3
- package/angular/src/generated/strings.d.ts +9 -0
- package/angular/src/guards/experiment.guard.service.d.ts +13 -0
- package/angular/src/pipes/boolean-converter-pipe.d.ts +10 -0
- package/angular/src/pipes/byte-unit-converter-pipe.d.ts +10 -0
- package/angular/src/pipes/enum-converter-pipe.d.ts +15 -0
- package/angular/src/pipes/format-pipe.d.ts +10 -0
- package/angular/src/pipes/highlight-pipe.d.ts +10 -0
- package/angular/src/pipes/yesno-converter-pipe.d.ts +10 -0
- package/angular/src/service/gateway.service.d.ts +3 -1
- package/angular/src/service/notification.service.d.ts +22 -0
- package/core/base/environment.d.ts +7 -0
- package/core/base/environment.js.map +1 -1
- package/core/base/versioned-object.js +2 -2
- package/core/base/versioned-object.js.map +1 -1
- package/core/data/cim-stream.js +8 -1
- package/core/data/cim-stream.js.map +1 -1
- package/core/data/core-environment.d.ts +4 -0
- package/core/data/core-environment.js +1 -0
- package/core/data/core-environment.js.map +1 -1
- package/core/data/crypto.js +10 -9
- package/core/data/crypto.js.map +1 -1
- package/core/data/file-transfer.js +5 -1
- package/core/data/file-transfer.js.map +1 -1
- package/core/data/gateway-connection.d.ts +11 -1
- package/core/data/gateway-connection.js +51 -9
- package/core/data/gateway-connection.js.map +1 -1
- package/core/data/http-constants.d.ts +5 -1
- package/core/data/http-constants.js +5 -1
- package/core/data/http-constants.js.map +1 -1
- package/core/data/net.d.ts +15 -11
- package/core/data/net.js +44 -41
- package/core/data/net.js.map +1 -1
- package/core/data/node-connection.d.ts +2 -2
- package/core/data/node-connection.js.map +1 -1
- package/core/data/powershell-stream.js +11 -3
- package/core/data/powershell-stream.js.map +1 -1
- package/core/data/powershell.d.ts +17 -1
- package/core/data/powershell.js +35 -9
- package/core/data/powershell.js.map +1 -1
- package/core/data/settings-manager.d.ts +9 -0
- package/core/data/settings-manager.js +18 -1
- package/core/data/settings-manager.js.map +1 -1
- package/core/generated/powershell-scripts.d.ts +5 -4
- package/core/generated/powershell-scripts.js +5 -4
- package/core/generated/powershell-scripts.js.map +1 -1
- package/core/host/host-core-manager.d.ts +36 -0
- package/core/host/host-core-manager.js +134 -0
- package/core/host/host-core-manager.js.map +1 -0
- package/core/host/host-core-message-type.d.ts +12 -0
- package/core/host/host-core-message-type.js +17 -0
- package/core/host/host-core-message-type.js.map +1 -0
- package/core/host/host-core-messages.d.ts +14 -0
- package/core/host/host-core-messages.js +3 -0
- package/core/host/host-core-messages.js.map +1 -0
- package/core/manifest/manifest-loader.d.ts +2 -1
- package/core/manifest/manifest-loader.js +27 -18
- package/core/manifest/manifest-loader.js.map +1 -1
- package/core/notification/notification.js +4 -0
- package/core/notification/notification.js.map +1 -1
- package/core/security/authorization-manager.d.ts +44 -0
- package/core/security/authorization-manager.js +111 -5
- package/core/security/authorization-manager.js.map +1 -1
- package/core/security/sign-on-manager.d.ts +109 -0
- package/core/security/sign-on-manager.js +119 -0
- package/core/security/sign-on-manager.js.map +1 -0
- package/core/security/tag-manager.js.map +1 -1
- package/core/shared/cluster-inventory/cluster-inventory-cache.js +3 -2
- package/core/shared/cluster-inventory/cluster-inventory-cache.js.map +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.d.ts +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.js +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.js.map +1 -1
- package/core/shared/server-inventory/server-inventory-cache.js +2 -1
- package/core/shared/server-inventory/server-inventory-cache.js.map +1 -1
- package/core/shared/tool-inventory/tool-inventory-cache.js +1 -1
- package/core/shared/tool-inventory/tool-inventory-cache.js.map +1 -1
- package/e2e/assets/strings/cs-CZ/strings.json +1 -1
- package/e2e/assets/strings/de-DE/strings.json +1 -1
- package/e2e/assets/strings/es-ES/strings.json +1 -1
- package/e2e/assets/strings/fr-FR/strings.json +1 -1
- package/e2e/assets/strings/hu-HU/strings.json +1 -1
- package/e2e/assets/strings/it-IT/strings.json +1 -1
- package/e2e/assets/strings/ja-JP/strings.json +1 -1
- package/e2e/assets/strings/ko-KR/strings.json +1 -1
- package/e2e/assets/strings/nl-NL/strings.json +1 -1
- package/e2e/assets/strings/pl-PL/strings.json +1 -1
- package/e2e/assets/strings/pt-BR/strings.json +1 -1
- package/e2e/assets/strings/pt-PT/strings.json +1 -1
- package/e2e/assets/strings/ru-RU/strings.json +1 -1
- package/e2e/assets/strings/strings.json +1 -1
- package/e2e/assets/strings/sv-SE/strings.json +1 -1
- package/e2e/assets/strings/tr-TR/strings.json +1 -1
- package/e2e/assets/strings/zh-CN/strings.json +1 -1
- package/e2e/assets/strings/zh-TW/strings.json +1 -1
- package/package.json +5 -5
- package/styles/css/fonts.css +2 -2
- package/styles/css/main.css +1 -1
- package/styles/fonts/ServMDL2/ServMDL2-4.62.woff +0 -0
- package/styles/fonts/ServMDL2/ServMDL2.json +238 -2039
- package/styles/fonts/ServMDL2/ServMDL2.scss +238 -2039
- package/tools/gulp-manifest-resource/index.js +3 -1
- package/tools/gulp-manifest-resource/index.js.map +1 -1
- package/tools/gulp-ps-cim/index.js +1 -1
- package/tools/gulp-ps-cim/index.js.map +1 -1
- package/tools/gulp-ps-cim/powershell-cim-config-schema.json +1 -1
- package/tools/gulp-ps-code/index.js +36 -2
- package/tools/gulp-ps-code/index.js.map +1 -1
- package/tools/gulp-ps-code/ps-code-convert.js +4 -8
- package/tools/gulp-ps-code/ps-code-convert.js.map +1 -1
- package/tools/gulp-ps-resjson/index.js +79 -74
- package/tools/gulp-ps-resjson/index.js.map +1 -1
- package/tools/module-template/build/pipelines/codeinspector.yml +27 -0
- package/tools/module-template/gulpfile.ts/common/lint.ts +3 -3
- package/tools/module-template/gulpfile.ts/common/pack.ts +14 -14
- package/tools/module-template/gulpfile.ts/common/ui-test-automation.ts +40 -0
- package/tools/module-template/gulpfile.ts/common/utilities.ts +10 -10
- package/tools/module-template/gulpfile.ts/common/validate.ts +14 -4
- package/tools/module-template/gulpfile.ts/index.ts +20 -8
- package/tools/wac-cli/src/upgrade/file-updater.d.ts +1 -0
- package/tools/wac-cli/src/upgrade/file-updater.js +7 -1
- package/tools/wac-cli/src/upgrade/file-updater.js.map +1 -1
- package/styles/fonts/ServMDL2/ServMDL2-4.33.woff +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Component, Injector, Input, IterableDiffers, ViewChild } from '@angular/core';
|
|
2
2
|
import { FormArray, FormGroup } from '@angular/forms';
|
|
3
|
-
import {
|
|
3
|
+
import { Router } from '@angular/router';
|
|
4
4
|
import { Net } from '@microsoft/windows-admin-center-sdk/core/data/net';
|
|
5
5
|
import { RpcOverlayCloseClient } from '@microsoft/windows-admin-center-sdk/core/rpc/overlay/rpc-overlay-close-client';
|
|
6
6
|
import { RpcType } from '@microsoft/windows-admin-center-sdk/core/rpc/rpc-base';
|
|
7
|
-
import {
|
|
7
|
+
import { EMPTY, from } from 'rxjs';
|
|
8
8
|
import { AppContextService } from '../../../service/app-context.service';
|
|
9
9
|
import { RpcShellService } from '../../../service/rpc-shell.service';
|
|
10
10
|
import { CoreBaseComponent } from '../../common/base.component';
|
|
@@ -42,7 +42,9 @@ function CommonSettingsComponent_li_6_h3_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
42
42
|
i0.ɵɵtextInterpolate(group_r4.group);
|
|
43
43
|
} }
|
|
44
44
|
function CommonSettingsComponent_li_6_a_2_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
45
46
|
i0.ɵɵelementStart(0, "a", 13);
|
|
47
|
+
i0.ɵɵlistener("smeRouterLinkActivated", function CommonSettingsComponent_li_6_a_2_Template_a_smeRouterLinkActivated_0_listener() { i0.ɵɵrestoreView(_r12); const setting_r9 = ctx.$implicit; const ctx_r11 = i0.ɵɵnextContext(2); return ctx_r11.selectedSetting = setting_r9; });
|
|
46
48
|
i0.ɵɵelement(1, "div", 14);
|
|
47
49
|
i0.ɵɵelementStart(2, "div", 15);
|
|
48
50
|
i0.ɵɵelementStart(3, "span", 16);
|
|
@@ -57,7 +59,7 @@ function CommonSettingsComponent_li_6_a_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
57
59
|
const ctx_r7 = i0.ɵɵnextContext();
|
|
58
60
|
i0.ɵɵattributeInterpolate5("aria-labelledby", "", ctx_r7.idBag.option, "-", j_r5, "-", i_r10, " ", ctx_r7.idBag.group, "-", j_r5, "");
|
|
59
61
|
i0.ɵɵproperty("routerLink", setting_r9.routeParams.commands)("preserveFragment", setting_r9.routeParams.extras && setting_r9.routeParams.extras.preserveFragment)("skipLocationChange", setting_r9.routeParams.extras && setting_r9.routeParams.extras.skipLocationChange)("replaceUrl", setting_r9.routeParams.extras && setting_r9.routeParams.extras.replaceUrl)("queryParams", setting_r9.routeParams.extras && setting_r9.routeParams.extras.queryParams)("title", setting_r9.label);
|
|
60
|
-
i0.ɵɵattribute("aria-selected", ctx_r7.
|
|
62
|
+
i0.ɵɵattribute("aria-selected", ctx_r7.selectedSetting === setting_r9);
|
|
61
63
|
i0.ɵɵadvance(1);
|
|
62
64
|
i0.ɵɵproperty("ngClass", ctx_r7.getSmeIconClass(setting_r9));
|
|
63
65
|
i0.ɵɵadvance(2);
|
|
@@ -80,9 +82,9 @@ function CommonSettingsComponent_li_6_Template(rf, ctx) { if (rf & 1) {
|
|
|
80
82
|
i0.ɵɵproperty("ngForOf", group_r4.options);
|
|
81
83
|
} }
|
|
82
84
|
function CommonSettingsComponent_div_7_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
83
|
-
const
|
|
85
|
+
const _r17 = i0.ɵɵgetCurrentView();
|
|
84
86
|
i0.ɵɵelementStart(0, "div", 18);
|
|
85
|
-
i0.ɵɵlistener("click", function CommonSettingsComponent_div_7_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(
|
|
87
|
+
i0.ɵɵlistener("click", function CommonSettingsComponent_div_7_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r17); const layer_r15 = ctx.$implicit; const ctx_r16 = i0.ɵɵnextContext(2); return ctx_r16.onOverlayClick(layer_r15); });
|
|
86
88
|
i0.ɵɵelementEnd();
|
|
87
89
|
} }
|
|
88
90
|
function CommonSettingsComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -99,10 +101,10 @@ function CommonSettingsComponent_sme_settings_header_8_h3_1_Template(rf, ctx) {
|
|
|
99
101
|
i0.ɵɵtext(1);
|
|
100
102
|
i0.ɵɵelementEnd();
|
|
101
103
|
} if (rf & 2) {
|
|
102
|
-
const
|
|
103
|
-
i0.ɵɵattribute("aria-label",
|
|
104
|
+
const ctx_r18 = i0.ɵɵnextContext(2);
|
|
105
|
+
i0.ɵɵattribute("aria-label", ctx_r18.selectedSetting.label);
|
|
104
106
|
i0.ɵɵadvance(1);
|
|
105
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
107
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r18.selectedSetting.label, "");
|
|
106
108
|
} }
|
|
107
109
|
function CommonSettingsComponent_sme_settings_header_8_Template(rf, ctx) { if (rf & 1) {
|
|
108
110
|
i0.ɵɵelementStart(0, "sme-settings-header");
|
|
@@ -111,14 +113,16 @@ function CommonSettingsComponent_sme_settings_header_8_Template(rf, ctx) { if (r
|
|
|
111
113
|
} if (rf & 2) {
|
|
112
114
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
113
115
|
i0.ɵɵadvance(1);
|
|
114
|
-
i0.ɵɵproperty("ngIf", !!ctx_r3.
|
|
116
|
+
i0.ɵɵproperty("ngIf", !!ctx_r3.selectedSetting);
|
|
115
117
|
} }
|
|
116
118
|
const _c0 = ["*"];
|
|
119
|
+
/**
|
|
120
|
+
* Container around settings component, handles common settings behavior.
|
|
121
|
+
*/
|
|
117
122
|
export class CommonSettingsComponent extends CoreBaseComponent {
|
|
118
|
-
constructor(injector, router,
|
|
123
|
+
constructor(injector, router, settingsForms, iterableDiffers, appContext, rpcShellService) {
|
|
119
124
|
super(injector);
|
|
120
125
|
this.router = router;
|
|
121
|
-
this.activatedRoute = activatedRoute;
|
|
122
126
|
this.settingsForms = settingsForms;
|
|
123
127
|
this.iterableDiffers = iterableDiffers;
|
|
124
128
|
this.appContext = appContext;
|
|
@@ -213,7 +217,7 @@ export class CommonSettingsComponent extends CoreBaseComponent {
|
|
|
213
217
|
}
|
|
214
218
|
}
|
|
215
219
|
recalculateActivePanel() {
|
|
216
|
-
const setting = this.
|
|
220
|
+
const setting = this.selectedSetting;
|
|
217
221
|
if (MsftSme.isNullOrUndefined(setting)) {
|
|
218
222
|
return;
|
|
219
223
|
}
|
|
@@ -242,7 +246,7 @@ export class CommonSettingsComponent extends CoreBaseComponent {
|
|
|
242
246
|
discardAllChildForms() {
|
|
243
247
|
// For the current active setting, we need to reset the form to its
|
|
244
248
|
// original pristine form when discarding changes
|
|
245
|
-
const activeSetting = this.
|
|
249
|
+
const activeSetting = this.selectedSetting;
|
|
246
250
|
const settingWithForm = activeSetting;
|
|
247
251
|
if (settingWithForm.form) {
|
|
248
252
|
settingWithForm.form.reset(this.latestPristineFormValue);
|
|
@@ -259,7 +263,7 @@ export class CommonSettingsComponent extends CoreBaseComponent {
|
|
|
259
263
|
});
|
|
260
264
|
}
|
|
261
265
|
acceptAllChildFormsValue() {
|
|
262
|
-
const activeSetting = this.
|
|
266
|
+
const activeSetting = this.selectedSetting;
|
|
263
267
|
this.settings.forEach((setting) => {
|
|
264
268
|
const settingWithForm = setting;
|
|
265
269
|
if (settingWithForm.form) {
|
|
@@ -301,22 +305,6 @@ export class CommonSettingsComponent extends CoreBaseComponent {
|
|
|
301
305
|
option: ''
|
|
302
306
|
};
|
|
303
307
|
}
|
|
304
|
-
getActiveSettingItem() {
|
|
305
|
-
if (this.settings && this.settings.length > 0) {
|
|
306
|
-
for (const setting of this.settings) {
|
|
307
|
-
const extras = setting.routeParams.extras || {};
|
|
308
|
-
Object.assign(extras, {
|
|
309
|
-
relativeTo: this.activatedRoute
|
|
310
|
-
});
|
|
311
|
-
const urlTree = this.router.createUrlTree(setting.routeParams.commands, extras);
|
|
312
|
-
if (this.router.isActive(urlTree, false)) {
|
|
313
|
-
this.selectedSettingTitle = setting.label;
|
|
314
|
-
return setting;
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
return undefined;
|
|
319
|
-
}
|
|
320
308
|
onOverlayClick(layer) {
|
|
321
309
|
const layerRpc = this.appContext.rpc.rpcManager.rpcChannel.getRpc(layer.sourceName, layer.sourceSubName, RpcType.Outbound);
|
|
322
310
|
from(RpcOverlayCloseClient.overlayClose(this.appContext.rpc, { overlay: false, dialogId: layer.dialogId }, layerRpc))
|
|
@@ -330,7 +318,7 @@ export class CommonSettingsComponent extends CoreBaseComponent {
|
|
|
330
318
|
if (this.layers.length > 0) {
|
|
331
319
|
this.layers.pop();
|
|
332
320
|
}
|
|
333
|
-
return
|
|
321
|
+
return EMPTY;
|
|
334
322
|
});
|
|
335
323
|
}
|
|
336
324
|
/**
|
|
@@ -362,13 +350,13 @@ export class CommonSettingsComponent extends CoreBaseComponent {
|
|
|
362
350
|
return formControl.value;
|
|
363
351
|
}
|
|
364
352
|
}
|
|
365
|
-
/** @nocollapse */ CommonSettingsComponent.ɵfac = function CommonSettingsComponent_Factory(t) { return new (t || CommonSettingsComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(
|
|
353
|
+
/** @nocollapse */ CommonSettingsComponent.ɵfac = function CommonSettingsComponent_Factory(t) { return new (t || CommonSettingsComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.SettingsFormService), i0.ɵɵdirectiveInject(i0.IterableDiffers), i0.ɵɵdirectiveInject(i3.AppContextService), i0.ɵɵdirectiveInject(i4.RpcShellService)); };
|
|
366
354
|
/** @nocollapse */ CommonSettingsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CommonSettingsComponent, selectors: [["sme-common-settings"]], viewQuery: function CommonSettingsComponent_Query(rf, ctx) { if (rf & 1) {
|
|
367
355
|
i0.ɵɵviewQuery(SettingsComponent, 1);
|
|
368
356
|
} if (rf & 2) {
|
|
369
357
|
let _t;
|
|
370
358
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.settingsComponent = _t.first);
|
|
371
|
-
} }, inputs: { settingsTitle: "settingsTitle", settings: "settings", showHeader: "showHeader", hackShowOverlay: "hackShowOverlay", hackToolHeader: "hackToolHeader", backRoute: "backRoute" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 13, vars: 6, consts: [[3, "settingsTitle"], ["class", "sme-layout-tool-header", 4, "ngIf"], ["role", "region"], ["role", "tablist", 1, "sme-padding-horizontal-lg", "sme-arrange-stack-v", "sme-focus-zone"], ["role", "presentation", 1, "sme-position-flex-auto", "sme-arrange-stack-v", "sme-arrange-overflow-hide-x", "sme-arrange-overflow-auto-y"], ["class", "sme-margin-inset-none", "role", "presentation", 4, "ngFor", "ngForOf"], [4, "ngIf"], [1, "sme-layout-tool-header"], [1, "sme-position-flex-none", "sme-font-h3"], ["role", "presentation", 1, "sme-margin-inset-none"], ["class", "sme-margin-top-xs sme-font-h5", 3, "id", "title", 4, "ngIf"], ["class", "sme-padding-squish-v-sm sme-arrange-stack-h sme-scheme-nav-item", "role", "tab", "href", "setting.routeParams.extras && setting.routeParams.extras.replaceUrl", "routerLinkActive", "sme-active", 3, "routerLink", "preserveFragment", "skipLocationChange", "replaceUrl", "queryParams", "title", 4, "ngFor", "ngForOf"], [1, "sme-margin-top-xs", "sme-font-h5", 3, "id", "title"], ["role", "tab", "href", "setting.routeParams.extras && setting.routeParams.extras.replaceUrl", "routerLinkActive", "sme-active", 1, "sme-padding-squish-v-sm", "sme-arrange-stack-h", "sme-scheme-nav-item", 3, "routerLink", "preserveFragment", "skipLocationChange", "replaceUrl", "queryParams", "title"], [1, "sme-icon", "sme-margin-right-xs", 3, "ngClass"], [1, "sme-position-flex-auto"], [3, "id"], ["class", "sme-layout-absolute sme-position-inset-none sme-layer-above sme-scheme-backdrop-opaque", 3, "click", 4, "ngFor", "ngForOf"], [1, "sme-layout-absolute", "sme-position-inset-none", "sme-layer-above", "sme-scheme-backdrop-opaque", 3, "click"], ["id", "sme-shell-setting-selectedTitle", 4, "ngIf"], ["id", "sme-shell-setting-selectedTitle"]], template: function CommonSettingsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
359
|
+
} }, inputs: { settingsTitle: "settingsTitle", settings: "settings", showHeader: "showHeader", hackShowOverlay: "hackShowOverlay", hackToolHeader: "hackToolHeader", backRoute: "backRoute" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 13, vars: 6, consts: [[3, "settingsTitle"], ["class", "sme-layout-tool-header", 4, "ngIf"], ["role", "region"], ["role", "tablist", 1, "sme-padding-horizontal-lg", "sme-arrange-stack-v", "sme-focus-zone"], ["role", "presentation", 1, "sme-position-flex-auto", "sme-arrange-stack-v", "sme-arrange-overflow-hide-x", "sme-arrange-overflow-auto-y"], ["class", "sme-margin-inset-none", "role", "presentation", 4, "ngFor", "ngForOf"], [4, "ngIf"], [1, "sme-layout-tool-header"], [1, "sme-position-flex-none", "sme-font-h3"], ["role", "presentation", 1, "sme-margin-inset-none"], ["class", "sme-margin-top-xs sme-font-h5", 3, "id", "title", 4, "ngIf"], ["class", "sme-padding-squish-v-sm sme-arrange-stack-h sme-scheme-nav-item", "role", "tab", "href", "setting.routeParams.extras && setting.routeParams.extras.replaceUrl", "routerLinkActive", "sme-active", 3, "routerLink", "preserveFragment", "skipLocationChange", "replaceUrl", "queryParams", "title", "smeRouterLinkActivated", 4, "ngFor", "ngForOf"], [1, "sme-margin-top-xs", "sme-font-h5", 3, "id", "title"], ["role", "tab", "href", "setting.routeParams.extras && setting.routeParams.extras.replaceUrl", "routerLinkActive", "sme-active", 1, "sme-padding-squish-v-sm", "sme-arrange-stack-h", "sme-scheme-nav-item", 3, "routerLink", "preserveFragment", "skipLocationChange", "replaceUrl", "queryParams", "title", "smeRouterLinkActivated"], [1, "sme-icon", "sme-margin-right-xs", 3, "ngClass"], [1, "sme-position-flex-auto"], [3, "id"], ["class", "sme-layout-absolute sme-position-inset-none sme-layer-above sme-scheme-backdrop-opaque", 3, "click", 4, "ngFor", "ngForOf"], [1, "sme-layout-absolute", "sme-position-inset-none", "sme-layer-above", "sme-scheme-backdrop-opaque", 3, "click"], ["id", "sme-shell-setting-selectedTitle", 4, "ngIf"], ["id", "sme-shell-setting-selectedTitle"]], template: function CommonSettingsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
372
360
|
i0.ɵɵprojectionDef();
|
|
373
361
|
i0.ɵɵelementStart(0, "sme-settings", 0);
|
|
374
362
|
i0.ɵɵelementStart(1, "sme-settings-navigation");
|
|
@@ -409,7 +397,7 @@ export class CommonSettingsComponent extends CoreBaseComponent {
|
|
|
409
397
|
selector: 'sme-common-settings',
|
|
410
398
|
templateUrl: './common-settings.component.html'
|
|
411
399
|
}]
|
|
412
|
-
}], function () { return [{ type: i0.Injector }, { type: i1.Router }, { type:
|
|
400
|
+
}], function () { return [{ type: i0.Injector }, { type: i1.Router }, { type: i2.SettingsFormService }, { type: i0.IterableDiffers }, { type: i3.AppContextService }, { type: i4.RpcShellService }]; }, { settingsTitle: [{
|
|
413
401
|
type: Input
|
|
414
402
|
}], settings: [{
|
|
415
403
|
type: Input
|
|
@@ -425,4 +413,4 @@ export class CommonSettingsComponent extends CoreBaseComponent {
|
|
|
425
413
|
type: ViewChild,
|
|
426
414
|
args: [SettingsComponent]
|
|
427
415
|
}] }); })();
|
|
428
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL3NldHRpbmdzL2NvbW1vbi1zZXR0aW5ncy9jb21tb24tc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3MvY29tbW9uLXNldHRpbmdzL2NvbW1vbi1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUVULFFBQVEsRUFDUixLQUFLLEVBRUwsZUFBZSxFQUlmLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQ0gsY0FBYyxFQUdkLE1BQU0sRUFFVCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUd0SCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFaEYsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIs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QlUsYUFBYTtrQkFEbkIsS0FBSztZQUlDLFFBQVE7a0JBRGQsS0FBSztZQUlDLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxlQUFlO2tCQURyQixLQUFLO1lBSUMsY0FBYztrQkFEcEIsS0FBSztZQUlDLFNBQVM7a0JBRGYsS0FBSztZQUlDLGlCQUFpQjtrQkFEdkIsU0FBUzttQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcclxuICAgIENvbXBvbmVudCxcclxuICAgIERvQ2hlY2ssXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgSXRlcmFibGVEaWZmZXIsXHJcbiAgICBJdGVyYWJsZURpZmZlcnMsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICAgIEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgIE5hdmlnYXRpb25FeHRyYXMsXHJcbiAgICBSb3V0ZXIsXHJcbiAgICBSb3V0ZXJTdGF0ZVNuYXBzaG90XHJcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmV0IH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9kYXRhL25ldCc7XHJcbmltcG9ydCB7IFJwY092ZXJsYXlDbG9zZUNsaWVudCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvcnBjL292ZXJsYXkvcnBjLW92ZXJsYXktY2xvc2UtY2xpZW50JztcclxuaW1wb3J0IHsgUnBjRGlhbG9nT3ZlcmxheURhdGEgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL3JwYy9vdmVybGF5L3JwYy1vdmVybGF5LW1vZGVsJztcclxuaW1wb3J0IHsgRGVmZXJyZWREYXRhIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9ycGMvcnBjJztcclxuaW1wb3J0IHsgUnBjVHlwZSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvcnBjL3JwYy1iYXNlJztcclxuaW1wb3J0IHsgUnBjT3V0Ym91bmQgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL3JwYy9ycGMtb3V0Ym91bmQnO1xyXG5pbXBvcnQgeyBlbXB0eSwgZnJvbSwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFwcENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9hcHAtY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUnBjU2hlbGxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9ycGMtc2hlbGwuc2VydmljZSc7XHJcbmltcG9ydCB7IENvcmVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FuQ29tcG9uZW50RGVhY3RpdmF0ZSB9IGZyb20gJy4uL3NldHRpbmdzLWNhbi1kZWFjdGl2YXRlLWd1YXJkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc0Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vc2V0dGluZ3MtZm9ybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuLi9zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtLCBDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtV2l0aEZvcm0gfSBmcm9tICcuL2NvbW1vbi1zZXR0aW5ncy1uYXZpZ2F0aW9uLWl0ZW0nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHcm91cFRvb2xzTWVudSB7XHJcbiAgICBncm91cDogc3RyaW5nO1xyXG4gICAgb3B0aW9uczogQ29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbVdpdGhGb3JtW107XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtY29tbW9uLXNldHRpbmdzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21tb24tc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21tb25TZXR0aW5nc0NvbXBvbmVudCBleHRlbmRzIENvcmVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgRG9DaGVjaywgQWZ0ZXJWaWV3Q2hlY2tlZCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ0NvbW1vblNldHRpbmdzQ29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY29tYmluZWRGb3JtOiBGb3JtR3JvdXA7XHJcbiAgICBwdWJsaWMgc2VsZWN0ZWRTZXR0aW5nVGl0bGU6IHN0cmluZztcclxuICAgIHB1YmxpYyByZWFkb25seSBkZWZhdWx0R3JvdXAgPSAnZGVmYXVsdCc7XHJcbiAgICBwdWJsaWMgZ3JvdXBUb29sczogR3JvdXBUb29sc01lbnVbXTtcclxuICAgIHB1YmxpYyBsYXllcnM6IFJwY0RpYWxvZ092ZXJsYXlEYXRhW10gPSBbXTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldHRpbmdzVGl0bGU6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldHRpbmdzOiBDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtW107XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93SGVhZGVyID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGhhY2tTaG93T3ZlcmxheSA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaGFja1Rvb2xIZWFkZXIgPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJhY2tSb3V0ZTogeyBjb21tYW5kczogYW55W10sIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMgfTtcclxuXHJcbiAgICBAVmlld0NoaWxkKFNldHRpbmdzQ29tcG9uZW50KVxyXG4gICAgcHVibGljIHNldHRpbmdzQ29tcG9uZW50OiBTZXR0aW5nc0NvbXBvbmVudDtcclxuXHJcbiAgICBwcml2YXRlIGxhdGVzdEZvcm06IEZvcm1Hcm91cDtcclxuICAgIHByaXZhdGUgbGF0ZXN0UHJpc3RpbmVGb3JtVmFsdWU6IGFueTtcclxuICAgIHByaXZhdGUgbGF0ZXN0Rm9ybVVwZGF0ZVZhbHVlSW5Db21wb25lbnQ6IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIHNldHRpbmdzRGlmZmVyOiBJdGVyYWJsZURpZmZlcjxhbnk+O1xyXG4gICAgcHJpdmF0ZSBhdXRvZm9jdXMgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBzZXR0aW5nc0Zvcm1zOiBTZXR0aW5nc0Zvcm1TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaXRlcmFibGVEaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMsXHJcbiAgICAgICAgcHJpdmF0ZSBhcHBDb250ZXh0OiBBcHBDb250ZXh0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJwY1NoZWxsU2VydmljZTogUnBjU2hlbGxTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICAgICAgdGhpcy5jb21iaW5lZEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnNldHRpbmdzRm9ybXMuZm9ybUFkZGVkKCkuc3Vic2NyaWJlKChmb3JtQWRkZWREYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIC8vIHRvIGF2b2lkIGR1cGxpY2F0ZXMgd2UgZmlyc3QgcmVtb3ZlIHRoZSBmb3JtIGlmIGl0IGV4aXN0c1xyXG4gICAgICAgICAgICB0aGlzLmxhdGVzdEZvcm0gPSBmb3JtQWRkZWREYXRhLmZvcm1Hcm91cDtcclxuICAgICAgICAgICAgdGhpcy5sYXRlc3RQcmlzdGluZUZvcm1WYWx1ZSA9IHRoaXMuZ2V0UmF3VmFsdWVSZWN1cnNpdmUoZm9ybUFkZGVkRGF0YS5mb3JtR3JvdXApO1xyXG4gICAgICAgICAgICB0aGlzLmxhdGVzdEZvcm1VcGRhdGVWYWx1ZUluQ29tcG9uZW50ID0gZm9ybUFkZGVkRGF0YS51cGRhdGVWYWx1ZUluQ29tcG9uZW50O1xyXG4gICAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQWN0aXZlUGFuZWwoKTtcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc0RpZmZlciA9IHRoaXMuaXRlcmFibGVEaWZmZXJzLmZpbmQodGhpcy5zZXR0aW5ncykuY3JlYXRlKG51bGwpO1xyXG5cclxuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQWN0aXZlUGFuZWwoKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaGFja1Nob3dPdmVybGF5KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucnBjU2hlbGxTZXJ2aWNlLm92ZXJsYXlPcGVuU3ViamVjdFxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZGVmZXJyZWREYXRhOiBEZWZlcnJlZERhdGE8UnBjRGlhbG9nT3ZlcmxheURhdGEsIHZvaWQ+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gb3ZlcmxheSB0b29scyB3aXRoIG9uZSBtb3JlIGxheWVyIG9yIHJlbW92ZSBvbmUgZnJvbSB0b3BcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVmZXJyZWREYXRhLmRhdGEub3ZlcmxheSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxheWVycy5wdXNoKGRlZmVycmVkRGF0YS5kYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGF5ZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXllcnMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdScGMgT3ZlcmxheUNsb3NlOiBjbG9zZSByZXF1ZXN0IGlzIGNhbGxlZCB3aGlsZSBsYXllciBpcyBubyBsb25nZXIgYXZhaWxhYmxlJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmVycmVkRGF0YS5kZWZlcnJlZC5yZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuc2V0dGluZ3MpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0RpZmZlciA9IHRoaXMuaXRlcmFibGVEaWZmZXJzLmZpbmQodGhpcy5zZXR0aW5ncykuY3JlYXRlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNyZWF0ZU1lbnUoKTtcclxuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQWN0aXZlUGFuZWwoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdEb0NoZWNrKCkge1xyXG4gICAgICAgIHN1cGVyLm5nRG9DaGVjaygpO1xyXG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdzRGlmZmVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZXMgPSB0aGlzLnNldHRpbmdzRGlmZmVyLmRpZmYodGhpcy5zZXR0aW5ncyk7XHJcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU1lbnUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmF1dG9mb2N1cykge1xyXG4gICAgICAgICAgICBjb25zdCBmb2N1c0VsZW1lbnRzID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tyb2xlPVwidGFiXCJdJyk7XHJcbiAgICAgICAgICAgIGlmIChmb2N1c0VsZW1lbnRzICYmIGZvY3VzRWxlbWVudHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBmb2N1c0VsZW1lbnRzWzBdLmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1dG9mb2N1cyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjcmVhdGVNZW51KCkge1xyXG4gICAgICAgIGNvbnN0IGdyb3VwVG9vbHM6IEdyb3VwVG9vbHNNZW51W10gPSBbXTtcclxuICAgICAgICBncm91cFRvb2xzWydkZWZhdWx0J10gPSB7IGdyb3VwOiAnZGVmYXVsdCcsIG9wdGlvbnM6IFtdIH07XHJcbiAgICAgICAgdGhpcy5zZXR0aW5ncy5mb3JFYWNoKChzZXR0aW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghISFzZXR0aW5nLmdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICBncm91cFRvb2xzWydkZWZhdWx0J10ub3B0aW9ucy5wdXNoKHNldHRpbmcpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKCEhIWdyb3VwVG9vbHNbc2V0dGluZy5ncm91cF0pIHtcclxuICAgICAgICAgICAgICAgICAgICBncm91cFRvb2xzW3NldHRpbmcuZ3JvdXBdID0geyBncm91cDogc2V0dGluZy5ncm91cCwgdGl0bGU6IHNldHRpbmcuZ3JvdXBUaXRsZSwgb3B0aW9uczogW10gfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGdyb3VwVG9vbHNbc2V0dGluZy5ncm91cF0ub3B0aW9ucy5wdXNoKHNldHRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5ncm91cFRvb2xzID0gW107XHJcbiAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIGdyb3VwVG9vbHMpIHtcclxuICAgICAgICAgICAgaWYgKHByb3ApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXBUb29scy5wdXNoKGdyb3VwVG9vbHNbcHJvcF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWNhbGN1bGF0ZUFjdGl2ZVBhbmVsKCkge1xyXG4gICAgICAgIGNvbnN0IHNldHRpbmcgPSA8Q29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbVdpdGhGb3JtPnRoaXMuZ2V0QWN0aXZlU2V0dGluZ0l0ZW0oKTtcclxuICAgICAgICBpZiAoTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZChzZXR0aW5nKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoc2V0dGluZy5mb3JtICYmIHNldHRpbmcuZm9ybS5kaXJ0eSkge1xyXG4gICAgICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmdldFJhd1ZhbHVlUmVjdXJzaXZlKHNldHRpbmcuZm9ybSk7XHJcblxyXG4gICAgICAgICAgICBpZiAoc2V0dGluZy51cGRhdGVWYWx1ZUluQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMubmV3Rm9ybVZhbHVlKHNldHRpbmcuZm9ybSwgZm9ybVZhbHVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGF0ZXN0Rm9ybS5zZXRWYWx1ZShmb3JtVmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmxhdGVzdEZvcm0ubWFya0FzRGlydHkoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5yZW1vdmVGb3JtKHNldHRpbmcuZm9ybSk7XHJcbiAgICAgICAgc2V0dGluZy5mb3JtID0gdGhpcy5sYXRlc3RGb3JtO1xyXG5cclxuICAgICAgICBpZiAoc2V0dGluZy5mb3JtKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbWJpbmVkRm9ybS5jb250cm9sc1tzZXR0aW5nLmxhYmVsXSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb21iaW5lZEZvcm0uc2V0Q29udHJvbChzZXR0aW5nLmxhYmVsLCBzZXR0aW5nLmZvcm0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb21iaW5lZEZvcm0uYWRkQ29udHJvbChzZXR0aW5nLmxhYmVsLCBzZXR0aW5nLmZvcm0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXR0aW5nLnVwZGF0ZVZhbHVlSW5Db21wb25lbnQgPSB0aGlzLmxhdGVzdEZvcm1VcGRhdGVWYWx1ZUluQ29tcG9uZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkaXNjYXJkQWxsQ2hpbGRGb3JtcygpIHtcclxuICAgICAgICAvLyBGb3IgdGhlIGN1cnJlbnQgYWN0aXZlIHNldHRpbmcsIHdlIG5lZWQgdG8gcmVzZXQgdGhlIGZvcm0gdG8gaXRzXHJcbiAgICAgICAgLy8gb3JpZ2luYWwgcHJpc3RpbmUgZm9ybSB3aGVuIGRpc2NhcmRpbmcgY2hhbmdlc1xyXG4gICAgICAgIGNvbnN0IGFjdGl2ZVNldHRpbmcgPSB0aGlzLmdldEFjdGl2ZVNldHRpbmdJdGVtKCk7XHJcbiAgICAgICAgY29uc3Qgc2V0dGluZ1dpdGhGb3JtID0gPENvbW1vblNldHRpbmdzTmF2aWdhdGlvbkl0ZW1XaXRoRm9ybT5hY3RpdmVTZXR0aW5nO1xyXG4gICAgICAgIGlmIChzZXR0aW5nV2l0aEZvcm0uZm9ybSkge1xyXG4gICAgICAgICAgICBzZXR0aW5nV2l0aEZvcm0uZm9ybS5yZXNldCh0aGlzLmxhdGVzdFByaXN0aW5lRm9ybVZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MuZm9yRWFjaCgob3RoZXJTZXR0aW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChvdGhlclNldHRpbmcgIT09IGFjdGl2ZVNldHRpbmcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG90aGVyc2V0dGluZ1dpdGhGb3JtID0gPENvbW1vblNldHRpbmdzTmF2aWdhdGlvbkl0ZW1XaXRoRm9ybT5vdGhlclNldHRpbmc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMucmVtb3ZlRm9ybShvdGhlcnNldHRpbmdXaXRoRm9ybS5mb3JtKTtcclxuICAgICAgICAgICAgICAgIG90aGVyc2V0dGluZ1dpdGhGb3JtLmZvcm0gPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29tYmluZWRGb3JtLmNvbnRyb2xzW290aGVyc2V0dGluZ1dpdGhGb3JtLmxhYmVsXSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tYmluZWRGb3JtLnJlbW92ZUNvbnRyb2wob3RoZXJzZXR0aW5nV2l0aEZvcm0ubGFiZWwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFjY2VwdEFsbENoaWxkRm9ybXNWYWx1ZSgpIHtcclxuICAgICAgICBjb25zdCBhY3RpdmVTZXR0aW5nID0gdGhpcy5nZXRBY3RpdmVTZXR0aW5nSXRlbSgpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MuZm9yRWFjaCgoc2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBzZXR0aW5nV2l0aEZvcm0gPSA8Q29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbVdpdGhGb3JtPnNldHRpbmc7XHJcbiAgICAgICAgICAgIGlmIChzZXR0aW5nV2l0aEZvcm0uZm9ybSkge1xyXG4gICAgICAgICAgICAgICAgc2V0dGluZ1dpdGhGb3JtLmZvcm0ucmVzZXQodGhpcy5nZXRSYXdWYWx1ZVJlY3Vyc2l2ZShzZXR0aW5nV2l0aEZvcm0uZm9ybSkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGFjdGl2ZVNldHRpbmcgPT09IHNldHRpbmdXaXRoRm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGF0ZXN0UHJpc3RpbmVGb3JtVmFsdWUgPSB0aGlzLmdldFJhd1ZhbHVlUmVjdXJzaXZlKHNldHRpbmdXaXRoRm9ybS5mb3JtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRTbWVJY29uQ2xhc3Moc2V0dGluZzogQ29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbSkge1xyXG4gICAgICAgIGNvbnN0IG5nQ2xhc3NQYXJhbWV0ZXIgPSB7fTtcclxuICAgICAgICBpZiAoc2V0dGluZy5zbWVJY29uQ2xhc3NOYW1lKSB7XHJcbiAgICAgICAgICAgIG5nQ2xhc3NQYXJhbWV0ZXJbc2V0dGluZy5zbWVJY29uQ2xhc3NOYW1lXSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZ0NsYXNzUGFyYW1ldGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYW5EZWFjdGl2YXRlKFxyXG4gICAgICAgIGNvbXBvbmVudDogQ2FuQ29tcG9uZW50RGVhY3RpdmF0ZSxcclxuICAgICAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgICAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3NDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NDb21wb25lbnQuY2FuRGVhY3RpdmF0ZShjb21wb25lbnQsIHJvdXRlLCBzdGF0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIGluaXRpYWwgaG9zdCBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRJbml0aWFsSG9zdENsYXNzZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEluaXRpYWxIb3N0Q2xhc3NlcygpLmNvbmNhdChbXHJcbiAgICAgICAgICAgICdzbWUtY29tbW9uLXNldHRpbmdzJyxcclxuICAgICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgdGhlIGlkQmFnIHVzZWQgYnkgdGhpcyBjb21wb25lbnQgdG8gc3RvcmUgdW5pcXVlIGVsZW1lbnQgaWRzLlxyXG4gICAgICogaWQgdmFsdWVzIHdpbGwgYmUgYXNzaWduZWQgYmUgdGhlIEBzZWUgQmFzZUNvbXBvbmVudCBzdXBlciBjbGFzcy5cclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUlkQmFnKCk6IE1zZnRTbWUuU3RyaW5nTWFwPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGdyb3VwOiAnJyxcclxuICAgICAgICAgICAgb3B0aW9uOiAnJ1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEFjdGl2ZVNldHRpbmdJdGVtKCk6IENvbW1vblNldHRpbmdzTmF2aWdhdGlvbkl0ZW0ge1xyXG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdzICYmIHRoaXMuc2V0dGluZ3MubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHNldHRpbmcgb2YgdGhpcy5zZXR0aW5ncykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZXh0cmFzID0gc2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMgfHwge307XHJcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGV4dHJhcywge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGVcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKHNldHRpbmcucm91dGVQYXJhbXMuY29tbWFuZHMsIGV4dHJhcyk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yb3V0ZXIuaXNBY3RpdmUodXJsVHJlZSwgZmFsc2UpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNldHRpbmdUaXRsZSA9IHNldHRpbmcubGFiZWw7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldHRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25PdmVybGF5Q2xpY2sobGF5ZXI6IFJwY0RpYWxvZ092ZXJsYXlEYXRhKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbGF5ZXJScGMgPSB0aGlzLmFwcENvbnRleHQucnBjLnJwY01hbmFnZXIucnBjQ2hhbm5lbC5nZXRScGM8UnBjT3V0Ym91bmQ+KFxyXG4gICAgICAgICAgICBsYXllci5zb3VyY2VOYW1lLFxyXG4gICAgICAgICAgICBsYXllci5zb3VyY2VTdWJOYW1lLFxyXG4gICAgICAgICAgICBScGNUeXBlLk91dGJvdW5kXHJcbiAgICAgICAgKTtcclxuICAgICAgICBmcm9tKFJwY092ZXJsYXlDbG9zZUNsaWVudC5vdmVybGF5Q2xvc2UodGhpcy5hcHBDb250ZXh0LnJwYywgeyBvdmVybGF5OiBmYWxzZSwgZGlhbG9nSWQ6IGxheWVyLmRpYWxvZ0lkIH0sIGxheWVyUnBjKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQub3ZlcmxheUNsb3NlZCAmJiB0aGlzLmxheWVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGF5ZXJzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uID0gdGhpcy5hcHBDb250ZXh0Lm5vdGlmaWNhdGlvbi5jcmVhdGUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNob3dFcnJvcih0aGlzLnN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuT3ZlcmxheS5jbG9zZUVycm9yVGl0bGUsIE5ldC5nZXRFcnJvck1lc3NhZ2UoZXJyb3IpKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sYXllcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxheWVycy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbXB0eSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgY29udHJvbCBhbmQgYWxsIGl0cyBjaGlsZHJlbiByZWN1cnNpdmVsbHksXHJcbiAgICAgKiBpbmNsdWRpbmcgZGlzYWJsZWQgY29udHJvbHMuXHJcbiAgICAgKlxyXG4gICAgICogV29ya2Fyb3VuZCBmb3IgbWlzc2luZyBmdW5jdGlvbmFsaXR5IGFkZGVkIGluIGxhdGVyIHZlcnNpb25zIG9mIGFuZ3VsYXJcclxuICAgICAqIEN1cnJlbnRseSBnZXRSYXdWYWx1ZSBvbmx5IHJldHVybnMgdGhlIHZhbHVlIG9mIGh0ZSBjdXJyZW50IGNvbnRyb2wgZGlzYWJsZWRcclxuICAgICAqIGNoaWxkcmVuIGJ1dCBvbmx5IGVuYWJsZWQgY29udHJvbHMgb2Ygb3RoZXIgZGVzY2VuZGFudHM6XHJcbiAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2NvbW1pdC8xZWNlNzM2NmM4YjY3ZjM4N2ZiZTEzZjhkMTI4YzE5ZjRjNTBkZDE5XHJcbiAgICAgKlxyXG4gICAgICogT25jZSB3ZSB1cGdyYWRlIGFuZ3VsYXIgdmVyc2lvbiB3ZSBjYW4gcmVtb3ZlIHRoaXMgY29kZS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gZm9ybUNvbnRyb2wgVGhlIGZvcm0gY29udHJvbCB0byBnZXQgdGhlIHZhbHVlIGZyb21cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZXRSYXdWYWx1ZVJlY3Vyc2l2ZShmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sKTogYW55IHtcclxuICAgICAgICBpZiAoZm9ybUNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB7fTtcclxuICAgICAgICAgICAgT2JqZWN0LmtleXMoZm9ybUNvbnRyb2wuY29udHJvbHMpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgICAgICAgIHZhbHVlW2tleV0gPSB0aGlzLmdldFJhd1ZhbHVlUmVjdXJzaXZlKGZvcm1Db250cm9sLmNvbnRyb2xzW2tleV0pO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmIChmb3JtQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZm9ybUNvbnRyb2wuY29udHJvbHMubWFwKChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFJhd1ZhbHVlUmVjdXJzaXZlKGNvbnRyb2wpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmb3JtQ29udHJvbC52YWx1ZTtcclxuICAgIH1cclxufVxyXG4iLCI8c21lLXNldHRpbmdzIFtzZXR0aW5nc1RpdGxlXT1cImhhY2tUb29sSGVhZGVyID8gJycgOiBzZXR0aW5nc1RpdGxlXCI+XHJcbiAgPHNtZS1zZXR0aW5ncy1uYXZpZ2F0aW9uPlxyXG4gICAgPGhlYWRlciBjbGFzcz1cInNtZS1sYXlvdXQtdG9vbC1oZWFkZXJcIiAqbmdJZj1cImhhY2tUb29sSGVhZGVyXCI+XHJcbiAgICAgIDxoMiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LW5vbmUgc21lLWZvbnQtaDNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInNldHRpbmdzVGl0bGVcIj57e3NldHRpbmdzVGl0bGV9fTwvaDI+XHJcbiAgICA8L2hlYWRlcj5cclxuICAgIDxkaXYgcm9sZT1cInJlZ2lvblwiIFthdHRyLmFyaWEtbGFiZWxdPVwic2V0dGluZ3NUaXRsZVwiPlxyXG4gICAgICA8bmF2IHJvbGU9XCJ0YWJsaXN0XCIgY2xhc3M9XCJzbWUtcGFkZGluZy1ob3Jpem9udGFsLWxnIHNtZS1hcnJhbmdlLXN0YWNrLXYgc21lLWZvY3VzLXpvbmVcIj5cclxuICAgICAgICA8dWwgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1hdXRvIHNtZS1hcnJhbmdlLXN0YWNrLXYgc21lLWFycmFuZ2Utb3ZlcmZsb3ctaGlkZS14IHNtZS1hcnJhbmdlLW92ZXJmbG93LWF1dG8teVwiXHJcbiAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCI+XHJcbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGdyb3VwVG9vbHM7IGxldCBqID0gaW5kZXhcIiBjbGFzcz1cInNtZS1tYXJnaW4taW5zZXQtbm9uZVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cclxuICAgICAgICAgICAgPGgzIFtpZF09XCJpZEJhZy5ncm91cCArICctJyArIGpcIiBjbGFzcz1cInNtZS1tYXJnaW4tdG9wLXhzIHNtZS1mb250LWg1XCIgKm5nSWY9XCJncm91cC5ncm91cCE9PWRlZmF1bHRHcm91cFwiXHJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cImdyb3VwLmdyb3VwXCI+e3tncm91cC5ncm91cH19PC9oMz5cclxuICAgICAgICAgICAgPGEgKm5nRm9yPVwibGV0IHNldHRpbmcgb2YgZ3JvdXAub3B0aW9uczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzbWUtcGFkZGluZy1zcXVpc2gtdi1zbSBzbWUtYXJyYW5nZS1zdGFjay1oIHNtZS1zY2hlbWUtbmF2LWl0ZW1cIiByb2xlPVwidGFiXCJcclxuICAgICAgICAgICAgICBocmVmPVwic2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMgJiYgc2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMucmVwbGFjZVVybFwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJyb3V0ZXIuaXNBY3RpdmUoc2V0dGluZy5yb3V0ZVBhcmFtcy5jb21tYW5kc1swXSwgZmFsc2UpXCJcclxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJzZXR0aW5nLnJvdXRlUGFyYW1zLmNvbW1hbmRzXCIgcm91dGVyTGlua0FjdGl2ZT1cInNtZS1hY3RpdmVcIlxyXG4gICAgICAgICAgICAgIFtwcmVzZXJ2ZUZyYWdtZW50XT1cInNldHRpbmcucm91dGVQYXJhbXMuZXh0cmFzICYmIHNldHRpbmcucm91dGVQYXJhbXMuZXh0cmFzLnByZXNlcnZlRnJhZ21lbnRcIlxyXG4gICAgICAgICAgICAgIFtza2lwTG9jYXRpb25DaGFuZ2VdPVwic2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMgJiYgc2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMuc2tpcExvY2F0aW9uQ2hhbmdlXCJcclxuICAgICAgICAgICAgICBbcmVwbGFjZVVybF09XCJzZXR0aW5nLnJvdXRlUGFyYW1zLmV4dHJhcyAmJiBzZXR0aW5nLnJvdXRlUGFyYW1zLmV4dHJhcy5yZXBsYWNlVXJsXCJcclxuICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwic2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMgJiYgc2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMucXVlcnlQYXJhbXNcIlxyXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJzZXR0aW5nLmxhYmVsXCIgYXR0ci5hcmlhLWxhYmVsbGVkYnk9XCJ7e2lkQmFnLm9wdGlvbn19LXt7an19LXt7aX19IHt7aWRCYWcuZ3JvdXB9fS17e2p9fVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWUtaWNvbiBzbWUtbWFyZ2luLXJpZ2h0LXhzXCIgW25nQ2xhc3NdPVwiZ2V0U21lSWNvbkNsYXNzKHNldHRpbmcpXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LWF1dG9cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtpZF09XCJpZEJhZy5vcHRpb24gKyAnLScgKyBqICsgJy0nICsgaVwiIFtjbGFzcy5zbWUtZGlydHldPVwiISEoc2V0dGluZy5mb3JtICYmIHNldHRpbmcuZm9ybS5kaXJ0eSlcIlxyXG4gICAgICAgICAgICAgICAgICBbY2xhc3Muc21lLXByaXN0aW5lXT1cIiEoc2V0dGluZy5mb3JtICYmIHNldHRpbmcuZm9ybS5kaXJ0eSlcIj57e3NldHRpbmcubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgICA8L25hdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImhhY2tTaG93T3ZlcmxheVwiPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBsYXllciBvZiBsYXllcnNcIlxyXG4gICAgICAgIGNsYXNzPVwic21lLWxheW91dC1hYnNvbHV0ZSBzbWUtcG9zaXRpb24taW5zZXQtbm9uZSBzbWUtbGF5ZXItYWJvdmUgc21lLXNjaGVtZS1iYWNrZHJvcC1vcGFxdWVcIlxyXG4gICAgICAgIChjbGljayk9XCJvbk92ZXJsYXlDbGljayhsYXllcilcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvc21lLXNldHRpbmdzLW5hdmlnYXRpb24+XHJcbiAgPHNtZS1zZXR0aW5ncy1oZWFkZXIgKm5nSWY9XCIhIXNob3dIZWFkZXJcIj5cclxuICAgIDxoMyBpZD1cInNtZS1zaGVsbC1zZXR0aW5nLXNlbGVjdGVkVGl0bGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInNlbGVjdGVkU2V0dGluZ1RpdGxlXCIgKm5nSWY9XCIhIWdldEFjdGl2ZVNldHRpbmdJdGVtKClcIj5cclxuICAgICAge3tzZWxlY3RlZFNldHRpbmdUaXRsZX19PC9oMz5cclxuICA8L3NtZS1zZXR0aW5ncy1oZWFkZXI+XHJcbiAgPHNtZS1zZXR0aW5ncy1jb250ZW50PlxyXG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG4gIDwvc21lLXNldHRpbmdzLWNvbnRlbnQ+XHJcbiAgPHNtZS1zZXR0aW5ncy1mb290ZXI+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9zbWUtc2V0dGluZ3MtZm9vdGVyPlxyXG48L3NtZS1zZXR0aW5ncz4iXX0=
|
|
416
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL3NldHRpbmdzL2NvbW1vbi1zZXR0aW5ncy9jb21tb24tc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3MvY29tbW9uLXNldHRpbmdzL2NvbW1vbi1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUVULFFBQVEsRUFDUixLQUFLLEVBRUwsZUFBZSxFQUlmLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBR0gsTUFBTSxFQUVULE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBR3RILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUVoRixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7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O1FBQ2pDLGlCQUF1QjtRQUN2Qiw0Q0FBcUI7UUFDbkIsbUJBQXlCO1FBQzNCLGlCQUFzQjtRQUN4QixpQkFBZTs7UUFqREQsMkVBQXFEO1FBRXZCLGVBQW9CO1FBQXBCLHlDQUFvQjtRQUd6QyxlQUFpQztRQUFqQywrQ0FBaUM7UUFJeEIsZUFBZTtRQUFmLHdDQUFlO1FBd0JyQyxlQUFxQjtRQUFyQiwwQ0FBcUI7UUFNUCxlQUFrQjtRQUFsQix1Q0FBa0I7O3VGRFE3Qix1QkFBdUI7Y0FKbkMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFdBQVcsRUFBRSxrQ0FBa0M7YUFDbEQ7OE1BaUJVLGFBQWE7a0JBRG5CLEtBQUs7WUFJQyxRQUFRO2tCQURkLEtBQUs7WUFJQyxVQUFVO2tCQURoQixLQUFLO1lBSUMsZUFBZTtrQkFEckIsS0FBSztZQUlDLGNBQWM7a0JBRHBCLEtBQUs7WUFJQyxTQUFTO2tCQURmLEtBQUs7WUFJQyxpQkFBaUI7a0JBRHZCLFNBQVM7bUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0NoZWNrZWQsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBEb0NoZWNrLFxyXG4gICAgSW5qZWN0b3IsXHJcbiAgICBJbnB1dCxcclxuICAgIEl0ZXJhYmxlRGlmZmVyLFxyXG4gICAgSXRlcmFibGVEaWZmZXJzLFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gICAgTmF2aWdhdGlvbkV4dHJhcyxcclxuICAgIFJvdXRlcixcclxuICAgIFJvdXRlclN0YXRlU25hcHNob3RcclxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBOZXQgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL2RhdGEvbmV0JztcclxuaW1wb3J0IHsgUnBjT3ZlcmxheUNsb3NlQ2xpZW50IH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9ycGMvb3ZlcmxheS9ycGMtb3ZlcmxheS1jbG9zZS1jbGllbnQnO1xyXG5pbXBvcnQgeyBScGNEaWFsb2dPdmVybGF5RGF0YSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvcnBjL292ZXJsYXkvcnBjLW92ZXJsYXktbW9kZWwnO1xyXG5pbXBvcnQgeyBEZWZlcnJlZERhdGEgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL3JwYy9ycGMnO1xyXG5pbXBvcnQgeyBScGNUeXBlIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9ycGMvcnBjLWJhc2UnO1xyXG5pbXBvcnQgeyBScGNPdXRib3VuZCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvcnBjL3JwYy1vdXRib3VuZCc7XHJcbmltcG9ydCB7IEVNUFRZLCBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFwcENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9hcHAtY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUnBjU2hlbGxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9ycGMtc2hlbGwuc2VydmljZSc7XHJcbmltcG9ydCB7IENvcmVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FuQ29tcG9uZW50RGVhY3RpdmF0ZSB9IGZyb20gJy4uL3NldHRpbmdzLWNhbi1kZWFjdGl2YXRlLWd1YXJkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc0Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vc2V0dGluZ3MtZm9ybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuLi9zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtLCBDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtV2l0aEZvcm0gfSBmcm9tICcuL2NvbW1vbi1zZXR0aW5ncy1uYXZpZ2F0aW9uLWl0ZW0nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHcm91cFRvb2xzTWVudSB7XHJcbiAgICBncm91cDogc3RyaW5nO1xyXG4gICAgb3B0aW9uczogQ29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbVdpdGhGb3JtW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb250YWluZXIgYXJvdW5kIHNldHRpbmdzIGNvbXBvbmVudCwgaGFuZGxlcyBjb21tb24gc2V0dGluZ3MgYmVoYXZpb3IuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLWNvbW1vbi1zZXR0aW5ncycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29tbW9uLXNldHRpbmdzLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uU2V0dGluZ3NDb21wb25lbnQgZXh0ZW5kcyBDb3JlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIERvQ2hlY2ssIEFmdGVyVmlld0NoZWNrZWQge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNvdXJjZSBuYW1lIHRvIHVzZSBmb3IgbG9nZ2luZ1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdDb21tb25TZXR0aW5nc0NvbXBvbmVudCc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbWJpbmVkRm9ybTogRm9ybUdyb3VwO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRHcm91cCA9ICdkZWZhdWx0JztcclxuICAgIHB1YmxpYyBncm91cFRvb2xzOiBHcm91cFRvb2xzTWVudVtdO1xyXG4gICAgcHVibGljIGxheWVyczogUnBjRGlhbG9nT3ZlcmxheURhdGFbXSA9IFtdO1xyXG4gICAgcHVibGljIHNlbGVjdGVkU2V0dGluZzogQ29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldHRpbmdzVGl0bGU6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldHRpbmdzOiBDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtW107XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93SGVhZGVyID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGhhY2tTaG93T3ZlcmxheSA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaGFja1Rvb2xIZWFkZXIgPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJhY2tSb3V0ZTogeyBjb21tYW5kczogYW55W10sIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMgfTtcclxuXHJcbiAgICBAVmlld0NoaWxkKFNldHRpbmdzQ29tcG9uZW50KVxyXG4gICAgcHVibGljIHNldHRpbmdzQ29tcG9uZW50OiBTZXR0aW5nc0NvbXBvbmVudDtcclxuXHJcbiAgICBwcml2YXRlIGxhdGVzdEZvcm06IEZvcm1Hcm91cDtcclxuICAgIHByaXZhdGUgbGF0ZXN0UHJpc3RpbmVGb3JtVmFsdWU6IGFueTtcclxuICAgIHByaXZhdGUgbGF0ZXN0Rm9ybVVwZGF0ZVZhbHVlSW5Db21wb25lbnQ6IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIHNldHRpbmdzRGlmZmVyOiBJdGVyYWJsZURpZmZlcjxhbnk+O1xyXG4gICAgcHJpdmF0ZSBhdXRvZm9jdXMgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBzZXR0aW5nc0Zvcm1zOiBTZXR0aW5nc0Zvcm1TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaXRlcmFibGVEaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMsXHJcbiAgICAgICAgcHJpdmF0ZSBhcHBDb250ZXh0OiBBcHBDb250ZXh0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJwY1NoZWxsU2VydmljZTogUnBjU2hlbGxTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICAgICAgdGhpcy5jb21iaW5lZEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnNldHRpbmdzRm9ybXMuZm9ybUFkZGVkKCkuc3Vic2NyaWJlKChmb3JtQWRkZWREYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIC8vIHRvIGF2b2lkIGR1cGxpY2F0ZXMgd2UgZmlyc3QgcmVtb3ZlIHRoZSBmb3JtIGlmIGl0IGV4aXN0c1xyXG4gICAgICAgICAgICB0aGlzLmxhdGVzdEZvcm0gPSBmb3JtQWRkZWREYXRhLmZvcm1Hcm91cDtcclxuICAgICAgICAgICAgdGhpcy5sYXRlc3RQcmlzdGluZUZvcm1WYWx1ZSA9IHRoaXMuZ2V0UmF3VmFsdWVSZWN1cnNpdmUoZm9ybUFkZGVkRGF0YS5mb3JtR3JvdXApO1xyXG4gICAgICAgICAgICB0aGlzLmxhdGVzdEZvcm1VcGRhdGVWYWx1ZUluQ29tcG9uZW50ID0gZm9ybUFkZGVkRGF0YS51cGRhdGVWYWx1ZUluQ29tcG9uZW50O1xyXG4gICAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQWN0aXZlUGFuZWwoKTtcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc0RpZmZlciA9IHRoaXMuaXRlcmFibGVEaWZmZXJzLmZpbmQodGhpcy5zZXR0aW5ncykuY3JlYXRlKG51bGwpO1xyXG5cclxuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQWN0aXZlUGFuZWwoKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaGFja1Nob3dPdmVybGF5KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucnBjU2hlbGxTZXJ2aWNlLm92ZXJsYXlPcGVuU3ViamVjdFxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZGVmZXJyZWREYXRhOiBEZWZlcnJlZERhdGE8UnBjRGlhbG9nT3ZlcmxheURhdGEsIHZvaWQ+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gb3ZlcmxheSB0b29scyB3aXRoIG9uZSBtb3JlIGxheWVyIG9yIHJlbW92ZSBvbmUgZnJvbSB0b3BcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVmZXJyZWREYXRhLmRhdGEub3ZlcmxheSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxheWVycy5wdXNoKGRlZmVycmVkRGF0YS5kYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGF5ZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXllcnMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdScGMgT3ZlcmxheUNsb3NlOiBjbG9zZSByZXF1ZXN0IGlzIGNhbGxlZCB3aGlsZSBsYXllciBpcyBubyBsb25nZXIgYXZhaWxhYmxlJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmVycmVkRGF0YS5kZWZlcnJlZC5yZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuc2V0dGluZ3MpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0RpZmZlciA9IHRoaXMuaXRlcmFibGVEaWZmZXJzLmZpbmQodGhpcy5zZXR0aW5ncykuY3JlYXRlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNyZWF0ZU1lbnUoKTtcclxuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQWN0aXZlUGFuZWwoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdEb0NoZWNrKCkge1xyXG4gICAgICAgIHN1cGVyLm5nRG9DaGVjaygpO1xyXG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdzRGlmZmVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZXMgPSB0aGlzLnNldHRpbmdzRGlmZmVyLmRpZmYodGhpcy5zZXR0aW5ncyk7XHJcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU1lbnUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmF1dG9mb2N1cykge1xyXG4gICAgICAgICAgICBjb25zdCBmb2N1c0VsZW1lbnRzID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tyb2xlPVwidGFiXCJdJyk7XHJcbiAgICAgICAgICAgIGlmIChmb2N1c0VsZW1lbnRzICYmIGZvY3VzRWxlbWVudHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBmb2N1c0VsZW1lbnRzWzBdLmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1dG9mb2N1cyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjcmVhdGVNZW51KCkge1xyXG4gICAgICAgIGNvbnN0IGdyb3VwVG9vbHM6IEdyb3VwVG9vbHNNZW51W10gPSBbXTtcclxuICAgICAgICBncm91cFRvb2xzWydkZWZhdWx0J10gPSB7IGdyb3VwOiAnZGVmYXVsdCcsIG9wdGlvbnM6IFtdIH07XHJcbiAgICAgICAgdGhpcy5zZXR0aW5ncy5mb3JFYWNoKChzZXR0aW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghISFzZXR0aW5nLmdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICBncm91cFRvb2xzWydkZWZhdWx0J10ub3B0aW9ucy5wdXNoKHNldHRpbmcpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKCEhIWdyb3VwVG9vbHNbc2V0dGluZy5ncm91cF0pIHtcclxuICAgICAgICAgICAgICAgICAgICBncm91cFRvb2xzW3NldHRpbmcuZ3JvdXBdID0geyBncm91cDogc2V0dGluZy5ncm91cCwgdGl0bGU6IHNldHRpbmcuZ3JvdXBUaXRsZSwgb3B0aW9uczogW10gfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGdyb3VwVG9vbHNbc2V0dGluZy5ncm91cF0ub3B0aW9ucy5wdXNoKHNldHRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5ncm91cFRvb2xzID0gW107XHJcbiAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIGdyb3VwVG9vbHMpIHtcclxuICAgICAgICAgICAgaWYgKHByb3ApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXBUb29scy5wdXNoKGdyb3VwVG9vbHNbcHJvcF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWNhbGN1bGF0ZUFjdGl2ZVBhbmVsKCkge1xyXG4gICAgICAgIGNvbnN0IHNldHRpbmcgPSA8Q29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbVdpdGhGb3JtPnRoaXMuc2VsZWN0ZWRTZXR0aW5nO1xyXG4gICAgICAgIGlmIChNc2Z0U21lLmlzTnVsbE9yVW5kZWZpbmVkKHNldHRpbmcpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChzZXR0aW5nLmZvcm0gJiYgc2V0dGluZy5mb3JtLmRpcnR5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZ2V0UmF3VmFsdWVSZWN1cnNpdmUoc2V0dGluZy5mb3JtKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChzZXR0aW5nLnVwZGF0ZVZhbHVlSW5Db21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5uZXdGb3JtVmFsdWUoc2V0dGluZy5mb3JtLCBmb3JtVmFsdWUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sYXRlc3RGb3JtLnNldFZhbHVlKGZvcm1WYWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMubGF0ZXN0Rm9ybS5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLnJlbW92ZUZvcm0oc2V0dGluZy5mb3JtKTtcclxuICAgICAgICBzZXR0aW5nLmZvcm0gPSB0aGlzLmxhdGVzdEZvcm07XHJcblxyXG4gICAgICAgIGlmIChzZXR0aW5nLmZvcm0pIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY29tYmluZWRGb3JtLmNvbnRyb2xzW3NldHRpbmcubGFiZWxdKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbWJpbmVkRm9ybS5zZXRDb250cm9sKHNldHRpbmcubGFiZWwsIHNldHRpbmcuZm9ybSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbWJpbmVkRm9ybS5hZGRDb250cm9sKHNldHRpbmcubGFiZWwsIHNldHRpbmcuZm9ybSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldHRpbmcudXBkYXRlVmFsdWVJbkNvbXBvbmVudCA9IHRoaXMubGF0ZXN0Rm9ybVVwZGF0ZVZhbHVlSW5Db21wb25lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRpc2NhcmRBbGxDaGlsZEZvcm1zKCkge1xyXG4gICAgICAgIC8vIEZvciB0aGUgY3VycmVudCBhY3RpdmUgc2V0dGluZywgd2UgbmVlZCB0byByZXNldCB0aGUgZm9ybSB0byBpdHNcclxuICAgICAgICAvLyBvcmlnaW5hbCBwcmlzdGluZSBmb3JtIHdoZW4gZGlzY2FyZGluZyBjaGFuZ2VzXHJcbiAgICAgICAgY29uc3QgYWN0aXZlU2V0dGluZyA9IHRoaXMuc2VsZWN0ZWRTZXR0aW5nO1xyXG4gICAgICAgIGNvbnN0IHNldHRpbmdXaXRoRm9ybSA9IDxDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtV2l0aEZvcm0+YWN0aXZlU2V0dGluZztcclxuICAgICAgICBpZiAoc2V0dGluZ1dpdGhGb3JtLmZvcm0pIHtcclxuICAgICAgICAgICAgc2V0dGluZ1dpdGhGb3JtLmZvcm0ucmVzZXQodGhpcy5sYXRlc3RQcmlzdGluZUZvcm1WYWx1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNldHRpbmdzLmZvckVhY2goKG90aGVyU2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgICBpZiAob3RoZXJTZXR0aW5nICE9PSBhY3RpdmVTZXR0aW5nKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvdGhlcnNldHRpbmdXaXRoRm9ybSA9IDxDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtV2l0aEZvcm0+b3RoZXJTZXR0aW5nO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLnJlbW92ZUZvcm0ob3RoZXJzZXR0aW5nV2l0aEZvcm0uZm9ybSk7XHJcbiAgICAgICAgICAgICAgICBvdGhlcnNldHRpbmdXaXRoRm9ybS5mb3JtID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbWJpbmVkRm9ybS5jb250cm9sc1tvdGhlcnNldHRpbmdXaXRoRm9ybS5sYWJlbF0pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbWJpbmVkRm9ybS5yZW1vdmVDb250cm9sKG90aGVyc2V0dGluZ1dpdGhGb3JtLmxhYmVsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhY2NlcHRBbGxDaGlsZEZvcm1zVmFsdWUoKSB7XHJcbiAgICAgICAgY29uc3QgYWN0aXZlU2V0dGluZyA9IHRoaXMuc2VsZWN0ZWRTZXR0aW5nO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MuZm9yRWFjaCgoc2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBzZXR0aW5nV2l0aEZvcm0gPSA8Q29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbVdpdGhGb3JtPnNldHRpbmc7XHJcbiAgICAgICAgICAgIGlmIChzZXR0aW5nV2l0aEZvcm0uZm9ybSkge1xyXG4gICAgICAgICAgICAgICAgc2V0dGluZ1dpdGhGb3JtLmZvcm0ucmVzZXQodGhpcy5nZXRSYXdWYWx1ZVJlY3Vyc2l2ZShzZXR0aW5nV2l0aEZvcm0uZm9ybSkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGFjdGl2ZVNldHRpbmcgPT09IHNldHRpbmdXaXRoRm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGF0ZXN0UHJpc3RpbmVGb3JtVmFsdWUgPSB0aGlzLmdldFJhd1ZhbHVlUmVjdXJzaXZlKHNldHRpbmdXaXRoRm9ybS5mb3JtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRTbWVJY29uQ2xhc3Moc2V0dGluZzogQ29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbSkge1xyXG4gICAgICAgIGNvbnN0IG5nQ2xhc3NQYXJhbWV0ZXIgPSB7fTtcclxuICAgICAgICBpZiAoc2V0dGluZy5zbWVJY29uQ2xhc3NOYW1lKSB7XHJcbiAgICAgICAgICAgIG5nQ2xhc3NQYXJhbWV0ZXJbc2V0dGluZy5zbWVJY29uQ2xhc3NOYW1lXSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZ0NsYXNzUGFyYW1ldGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYW5EZWFjdGl2YXRlKFxyXG4gICAgICAgIGNvbXBvbmVudDogQ2FuQ29tcG9uZW50RGVhY3RpdmF0ZSxcclxuICAgICAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgICAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3NDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NDb21wb25lbnQuY2FuRGVhY3RpdmF0ZShjb21wb25lbnQsIHJvdXRlLCBzdGF0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIGluaXRpYWwgaG9zdCBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRJbml0aWFsSG9zdENsYXNzZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEluaXRpYWxIb3N0Q2xhc3NlcygpLmNvbmNhdChbXHJcbiAgICAgICAgICAgICdzbWUtY29tbW9uLXNldHRpbmdzJyxcclxuICAgICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgdGhlIGlkQmFnIHVzZWQgYnkgdGhpcyBjb21wb25lbnQgdG8gc3RvcmUgdW5pcXVlIGVsZW1lbnQgaWRzLlxyXG4gICAgICogaWQgdmFsdWVzIHdpbGwgYmUgYXNzaWduZWQgYmUgdGhlIEBzZWUgQmFzZUNvbXBvbmVudCBzdXBlciBjbGFzcy5cclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUlkQmFnKCk6IE1zZnRTbWUuU3RyaW5nTWFwPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGdyb3VwOiAnJyxcclxuICAgICAgICAgICAgb3B0aW9uOiAnJ1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uT3ZlcmxheUNsaWNrKGxheWVyOiBScGNEaWFsb2dPdmVybGF5RGF0YSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGxheWVyUnBjID0gdGhpcy5hcHBDb250ZXh0LnJwYy5ycGNNYW5hZ2VyLnJwY0NoYW5uZWwuZ2V0UnBjPFJwY091dGJvdW5kPihcclxuICAgICAgICAgICAgbGF5ZXIuc291cmNlTmFtZSxcclxuICAgICAgICAgICAgbGF5ZXIuc291cmNlU3ViTmFtZSxcclxuICAgICAgICAgICAgUnBjVHlwZS5PdXRib3VuZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgZnJvbShScGNPdmVybGF5Q2xvc2VDbGllbnQub3ZlcmxheUNsb3NlKHRoaXMuYXBwQ29udGV4dC5ycGMsIHsgb3ZlcmxheTogZmFsc2UsIGRpYWxvZ0lkOiBsYXllci5kaWFsb2dJZCB9LCBsYXllclJwYykpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICByZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzdWx0Lm92ZXJsYXlDbG9zZWQgJiYgdGhpcy5sYXllcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxheWVycy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IHRoaXMuYXBwQ29udGV4dC5ub3RpZmljYXRpb24uY3JlYXRlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5zaG93RXJyb3IodGhpcy5zdHJpbmdzLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLk92ZXJsYXkuY2xvc2VFcnJvclRpdGxlLCBOZXQuZ2V0RXJyb3JNZXNzYWdlKGVycm9yKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubGF5ZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXllcnMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBjb250cm9sIGFuZCBhbGwgaXRzIGNoaWxkcmVuIHJlY3Vyc2l2ZWxseSxcclxuICAgICAqIGluY2x1ZGluZyBkaXNhYmxlZCBjb250cm9scy5cclxuICAgICAqXHJcbiAgICAgKiBXb3JrYXJvdW5kIGZvciBtaXNzaW5nIGZ1bmN0aW9uYWxpdHkgYWRkZWQgaW4gbGF0ZXIgdmVyc2lvbnMgb2YgYW5ndWxhclxyXG4gICAgICogQ3VycmVudGx5IGdldFJhd1ZhbHVlIG9ubHkgcmV0dXJucyB0aGUgdmFsdWUgb2YgaHRlIGN1cnJlbnQgY29udHJvbCBkaXNhYmxlZFxyXG4gICAgICogY2hpbGRyZW4gYnV0IG9ubHkgZW5hYmxlZCBjb250cm9scyBvZiBvdGhlciBkZXNjZW5kYW50czpcclxuICAgICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvY29tbWl0LzFlY2U3MzY2YzhiNjdmMzg3ZmJlMTNmOGQxMjhjMTlmNGM1MGRkMTlcclxuICAgICAqXHJcbiAgICAgKiBPbmNlIHdlIHVwZ3JhZGUgYW5ndWxhciB2ZXJzaW9uIHdlIGNhbiByZW1vdmUgdGhpcyBjb2RlLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBmb3JtQ29udHJvbCBUaGUgZm9ybSBjb250cm9sIHRvIGdldCB0aGUgdmFsdWUgZnJvbVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldFJhd1ZhbHVlUmVjdXJzaXZlKGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBhbnkge1xyXG4gICAgICAgIGlmIChmb3JtQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHt9O1xyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhmb3JtQ29udHJvbC5jb250cm9scykuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFsdWVba2V5XSA9IHRoaXMuZ2V0UmF3VmFsdWVSZWN1cnNpdmUoZm9ybUNvbnRyb2wuY29udHJvbHNba2V5XSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG5cclxuICAgICAgICB9IGVsc2UgaWYgKGZvcm1Db250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmb3JtQ29udHJvbC5jb250cm9scy5tYXAoKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmF3VmFsdWVSZWN1cnNpdmUoY29udHJvbCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZvcm1Db250cm9sLnZhbHVlO1xyXG4gICAgfVxyXG59XHJcbiIsIjxzbWUtc2V0dGluZ3MgW3NldHRpbmdzVGl0bGVdPVwiaGFja1Rvb2xIZWFkZXIgPyAnJyA6IHNldHRpbmdzVGl0bGVcIj5cclxuICA8c21lLXNldHRpbmdzLW5hdmlnYXRpb24+XHJcbiAgICA8aGVhZGVyIGNsYXNzPVwic21lLWxheW91dC10b29sLWhlYWRlclwiICpuZ0lmPVwiaGFja1Rvb2xIZWFkZXJcIj5cclxuICAgICAgPGgyIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtbm9uZSBzbWUtZm9udC1oM1wiIFthdHRyLmFyaWEtbGFiZWxdPVwic2V0dGluZ3NUaXRsZVwiPnt7c2V0dGluZ3NUaXRsZX19PC9oMj5cclxuICAgIDwvaGVhZGVyPlxyXG4gICAgPGRpdiByb2xlPVwicmVnaW9uXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJzZXR0aW5nc1RpdGxlXCI+XHJcbiAgICAgIDxuYXYgcm9sZT1cInRhYmxpc3RcIiBjbGFzcz1cInNtZS1wYWRkaW5nLWhvcml6b250YWwtbGcgc21lLWFycmFuZ2Utc3RhY2stdiBzbWUtZm9jdXMtem9uZVwiPlxyXG4gICAgICAgIDx1bCBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LWF1dG8gc21lLWFycmFuZ2Utc3RhY2stdiBzbWUtYXJyYW5nZS1vdmVyZmxvdy1oaWRlLXggc21lLWFycmFuZ2Utb3ZlcmZsb3ctYXV0by15XCJcclxuICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cclxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgZ3JvdXBUb29sczsgbGV0IGogPSBpbmRleFwiIGNsYXNzPVwic21lLW1hcmdpbi1pbnNldC1ub25lXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxyXG4gICAgICAgICAgICA8aDMgW2lkXT1cImlkQmFnLmdyb3VwICsgJy0nICsgalwiIGNsYXNzPVwic21lLW1hcmdpbi10b3AteHMgc21lLWZvbnQtaDVcIiAqbmdJZj1cImdyb3VwLmdyb3VwIT09ZGVmYXVsdEdyb3VwXCJcclxuICAgICAgICAgICAgICBbdGl0bGVdPVwiZ3JvdXAuZ3JvdXBcIj57e2dyb3VwLmdyb3VwfX08L2gzPlxyXG4gICAgICAgICAgICA8YSAqbmdGb3I9XCJsZXQgc2V0dGluZyBvZiBncm91cC5vcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInNtZS1wYWRkaW5nLXNxdWlzaC12LXNtIHNtZS1hcnJhbmdlLXN0YWNrLWggc21lLXNjaGVtZS1uYXYtaXRlbVwiIHJvbGU9XCJ0YWJcIlxyXG4gICAgICAgICAgICAgIGhyZWY9XCJzZXR0aW5nLnJvdXRlUGFyYW1zLmV4dHJhcyAmJiBzZXR0aW5nLnJvdXRlUGFyYW1zLmV4dHJhcy5yZXBsYWNlVXJsXCJcclxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cInNlbGVjdGVkU2V0dGluZyA9PT0gc2V0dGluZ1wiXHJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwic2V0dGluZy5yb3V0ZVBhcmFtcy5jb21tYW5kc1wiIHJvdXRlckxpbmtBY3RpdmU9XCJzbWUtYWN0aXZlXCJcclxuICAgICAgICAgICAgICAoc21lUm91dGVyTGlua0FjdGl2YXRlZCk9XCJzZWxlY3RlZFNldHRpbmcgPSBzZXR0aW5nXCJcclxuICAgICAgICAgICAgICBbcHJlc2VydmVGcmFnbWVudF09XCJzZXR0aW5nLnJvdXRlUGFyYW1zLmV4dHJhcyAmJiBzZXR0aW5nLnJvdXRlUGFyYW1zLmV4dHJhcy5wcmVzZXJ2ZUZyYWdtZW50XCJcclxuICAgICAgICAgICAgICBbc2tpcExvY2F0aW9uQ2hhbmdlXT1cInNldHRpbmcucm91dGVQYXJhbXMuZXh0cmFzICYmIHNldHRpbmcucm91dGVQYXJhbXMuZXh0cmFzLnNraXBMb2NhdGlvbkNoYW5nZVwiXHJcbiAgICAgICAgICAgICAgW3JlcGxhY2VVcmxdPVwic2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMgJiYgc2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMucmVwbGFjZVVybFwiXHJcbiAgICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInNldHRpbmcucm91dGVQYXJhbXMuZXh0cmFzICYmIHNldHRpbmcucm91dGVQYXJhbXMuZXh0cmFzLnF1ZXJ5UGFyYW1zXCJcclxuICAgICAgICAgICAgICBbdGl0bGVdPVwic2V0dGluZy5sYWJlbFwiIGF0dHIuYXJpYS1sYWJlbGxlZGJ5PVwie3tpZEJhZy5vcHRpb259fS17e2p9fS17e2l9fSB7e2lkQmFnLmdyb3VwfX0te3tqfX1cIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic21lLWljb24gc21lLW1hcmdpbi1yaWdodC14c1wiIFtuZ0NsYXNzXT1cImdldFNtZUljb25DbGFzcyhzZXR0aW5nKVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1hdXRvXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaWRdPVwiaWRCYWcub3B0aW9uICsgJy0nICsgaiArICctJyArIGlcIiBbY2xhc3Muc21lLWRpcnR5XT1cIiEhKHNldHRpbmcuZm9ybSAmJiBzZXR0aW5nLmZvcm0uZGlydHkpXCJcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzLnNtZS1wcmlzdGluZV09XCIhKHNldHRpbmcuZm9ybSAmJiBzZXR0aW5nLmZvcm0uZGlydHkpXCI+e3tzZXR0aW5nLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgICAgPC9uYXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJoYWNrU2hvd092ZXJsYXlcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbGF5ZXIgb2YgbGF5ZXJzXCJcclxuICAgICAgICBjbGFzcz1cInNtZS1sYXlvdXQtYWJzb2x1dGUgc21lLXBvc2l0aW9uLWluc2V0LW5vbmUgc21lLWxheWVyLWFib3ZlIHNtZS1zY2hlbWUtYmFja2Ryb3Atb3BhcXVlXCJcclxuICAgICAgICAoY2xpY2spPVwib25PdmVybGF5Q2xpY2sobGF5ZXIpXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L3NtZS1zZXR0aW5ncy1uYXZpZ2F0aW9uPlxyXG4gIDxzbWUtc2V0dGluZ3MtaGVhZGVyICpuZ0lmPVwiISFzaG93SGVhZGVyXCI+XHJcbiAgICA8aDMgaWQ9XCJzbWUtc2hlbGwtc2V0dGluZy1zZWxlY3RlZFRpdGxlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJzZWxlY3RlZFNldHRpbmcubGFiZWxcIiAqbmdJZj1cIiEhc2VsZWN0ZWRTZXR0aW5nXCI+XHJcbiAgICAgIHt7IHNlbGVjdGVkU2V0dGluZy5sYWJlbCB9fTwvaDM+XHJcbiAgPC9zbWUtc2V0dGluZ3MtaGVhZGVyPlxyXG4gIDxzbWUtc2V0dGluZ3MtY29udGVudD5cclxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICA8L3NtZS1zZXR0aW5ncy1jb250ZW50PlxyXG4gIDxzbWUtc2V0dGluZ3MtZm9vdGVyPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvc21lLXNldHRpbmdzLWZvb3Rlcj5cclxuPC9zbWUtc2V0dGluZ3M+XHJcbiJdfQ==
|
|
@@ -28,6 +28,33 @@ function SettingsComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
28
28
|
} }
|
|
29
29
|
const _c0 = [[["sme-settings-navigation"]], [["sme-settings-header"]], [["sme-settings-content"]], [["sme-settings-footer"]]];
|
|
30
30
|
const _c1 = ["sme-settings-navigation", "sme-settings-header", "sme-settings-content", "sme-settings-footer"];
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @smeDoc {@label Settings @id sme-settings}
|
|
34
|
+
*
|
|
35
|
+
* @overview
|
|
36
|
+
* @file {@filepath ./examples/settings-overview.md}
|
|
37
|
+
*
|
|
38
|
+
* @example {@label Basic Multi-Form Usage @id basic-multi}
|
|
39
|
+
* @file {@filename component.html @filepath ./examples/multi-form-example/component.html}
|
|
40
|
+
* @file {@filename component.ts @filepath ./examples/multi-form-example/component.ts}
|
|
41
|
+
* @file {@filename panel1.ts @filepath ./examples/multi-form-example/panel1.ts}
|
|
42
|
+
* @file {@filename panel1.html @filepath ./examples/multi-form-example/panel1.html}
|
|
43
|
+
* @file {@filename panel2.ts @filepath ./examples/multi-form-example/panel2.ts}
|
|
44
|
+
* @file {@filename panel2.html @filepath ./examples/multi-form-example/panel2.html}
|
|
45
|
+
* @file {@filename component-routing.module @filepath ./examples/multi-form-example/routing.module.ts}
|
|
46
|
+
*
|
|
47
|
+
* @example {@label Basic Single-Form Usage @id basic-single}
|
|
48
|
+
* @file {@filename component.html @filepath ./examples/single-form-example/component.html}
|
|
49
|
+
* @file {@filename component.ts @filepath ./examples/single-form-example/component.ts}
|
|
50
|
+
* @file {@filename panel.ts @filepath ./examples/single-form-example/panel.ts}
|
|
51
|
+
* @file {@filename panel.html @filepath ./examples/single-form-example/panel.html}
|
|
52
|
+
* @file {@filename component-routing.module @filepath ./examples/single-form-example/routing.module.ts}
|
|
53
|
+
*
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* Defines base settings component, implements core functionality + settings form.
|
|
57
|
+
*/
|
|
31
58
|
export class SettingsComponent extends CoreBaseComponent {
|
|
32
59
|
constructor(injector) {
|
|
33
60
|
super(injector);
|
|
@@ -165,4 +192,4 @@ __decorate([
|
|
|
165
192
|
type: ViewChild,
|
|
166
193
|
args: [LayoutComponent]
|
|
167
194
|
}], settingsForms: [], dialogService: [] }); })();
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0lDVDFELDhCQUF1RztJQUNuRyw2QkFBa0Y7SUFBQSxZQUFpQjtJQUFBLGlCQUFLO0lBQzVHLGlCQUFNOzs7SUFERSxlQUF1QjtJQUF2Qiw0Q0FBdUI7SUFBQyxrREFBaUM7SUFBcUIsZUFBaUI7SUFBakIsMENBQWlCOzs7O0FEYzNHLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFpQ3BELFlBQVksUUFBa0I7UUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBekJiLGFBQVEsR0FBZ0IsRUFBRSxDQUFDO1FBSTFCLGNBQVMsR0FBRyxJQUFJLENBQUM7SUFzQnpCLENBQUM7SUFqQ0Q7O09BRUc7SUFDSCxJQUFjLGFBQWE7UUFD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ZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgTmF2aWdhdGlvbkV4dHJhcywgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb3JlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbW1vbi9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtZUluamVjdCB9IGZyb20gJy4uL2NvbW1vbi9kZWNvcmF0b3JzL2luamVjdGlvbi5kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uL2RpYWxvZy9kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IExheW91dENvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FuQ29tcG9uZW50RGVhY3RpdmF0ZSB9IGZyb20gJy4vc2V0dGluZ3MtY2FuLWRlYWN0aXZhdGUtZ3VhcmQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNldHRpbmdzRm9ybVNlcnZpY2UgfSBmcm9tICcuL3NldHRpbmdzLWZvcm0uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLXNldHRpbmdzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXR0aW5ncy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzQ29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ1NldHRpbmdzQ29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWxsRm9ybXM6IEZvcm1Hcm91cFtdID0gW107XHJcblxyXG4gICAgcHVibGljIGFkZFBhZGRpbmc6IGJvb2xlYW47XHJcblxyXG4gICAgcHJpdmF0ZSBhdXRvRm9jdXMgPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgQWRkIHlvdXIgb3duIGN1c3RvbSBiYWNrIGJ1dHRvbiBpbiB0aGUgZm9ybVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJhY2tSb3V0ZTogeyBjb21tYW5kczogYW55W10sIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMgfTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldHRpbmdzVGl0bGU6IHN0cmluZztcclxuXHJcbiAgICBAVmlld0NoaWxkKExheW91dENvbXBvbmVudClcclxuICAgIHByaXZhdGUgbGF5b3V0Q29tcG9uZW50OiBMYXlvdXRDb21wb25lbnQ7XHJcblxyXG4gICAgQFNtZUluamVjdChTZXR0aW5nc0Zvcm1TZXJ2aWNlKVxyXG4gICAgcHVibGljIHNldHRpbmdzRm9ybXM6IFNldHRpbmdzRm9ybVNlcnZpY2U7XHJcblxyXG4gICAgQFNtZUluamVjdChEaWFsb2dTZXJ2aWNlKVxyXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5zdG9wUHJvY2Vzc2luZ0V2ZW50cygpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5hbGxGb3Jtcy5mb3JFYWNoKChmb3JtKSA9PiB0aGlzLmFsbEZvcm1zLnB1c2goZm9ybSkpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMuZm9ybUFkZGVkKCkuc3Vic2NyaWJlKChmb3JtQWRkZWREYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyB0byBhdm9pZCBkdXBsaWNhdGVzIHdlIGZpcnN0IHJlbW92ZSB0aGUgZm9ybSBpZiBpdCBleGlzdHNcclxuICAgICAgICAgICAgICAgIE1zZnRTbWUucmVtb3ZlKHRoaXMuYWxsRm9ybXMsIGZvcm1BZGRlZERhdGEuZm9ybUdyb3VwKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWxsRm9ybXMucHVzaChmb3JtQWRkZWREYXRhLmZvcm1Hcm91cCk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIG5ldyBmb3JtLCBpdCBtZWFucyB0aGUgdXNlciBuYXZpZ2F0ZWQgc28gd2UgcmVzZXQgdGhlIGF1dG9mb2N1c1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvRm9jdXMgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5mb3JtUmVtb3ZlZCgpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIChmb3JtKSA9PiB7IE1zZnRTbWUucmVtb3ZlKHRoaXMuYWxsRm9ybXMsIGZvcm0pOyB9XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5zdGFydFByb2Nlc3NpbmdFdmVudHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2FuRGVhY3RpdmF0ZShcclxuICAgICAgICBjb21wb25lbnQ6IENhbkNvbXBvbmVudERlYWN0aXZhdGUsXHJcbiAgICAgICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICAgICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3RcclxuICAgICk6IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IGNvbnRpbnVlTmF2aWdhdGlvbjogT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmFsbEZvcm1zLmZpcnN0KChmb3JtKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChmb3JtLmRpcnR5KSB7XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZU5hdmlnYXRpb24gPSB0aGlzLmRpYWxvZ1NlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAuc2hvd0NvbmZpcm1hdGlvbihjb21wb25lbnQuY29uZmlybUNvbnRpbnVlRWRpdGluZ0RpYWxvZ09wdGlvbnMoZm9ybSwgdGhpcy5hbGxGb3JtcykpXHJcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgZGVmYXVsdCBpcyB0byBjb250aW51ZSBlZGl0aW5nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXNjYXJkQ2hhbmdlcyA9ICFyZXN1bHQuY29uZmlybWVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRpc2NhcmRDaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLmFsbEZvcm1zID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRpc2NhcmRDaGFuZ2VzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gd2l0aCBvbmUgZGlydHkgZm9ybSBpcyBlbm91Z2ggdG8gc2hvdyB0aGUgZGlhbG9nLCBubyBuZWVkIHRvIGl0ZXJhdGUgb3ZlciBhbGwgdGhlIG90aGVyIGRpYWxvZ3NcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBjb250aW51ZU5hdmlnYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBbmd1bGFyIExpZmUgQ3ljbGUgaG9vayBmb3IgQWZ0ZXIgVmlldyBDaGVja2VkLlxyXG4gICAgICogV2hlbiB0aGUgdmlzaWJpbGl0eSBjaGFuZ2VzLCB3ZSBhcmUgZ29pbmcgdG8gZm9jdXMgb24gdGhlIGZpcnN0IGVsZW1lbnQgdGhhdCBoYXMgdGhlIGF1dG9mb2N1cyBhdHRyaWJ1dGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0NoZWNrZWQoKTtcclxuICAgICAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcclxuICAgICAgICAgICAgY29uc3QgYXV0b2ZvY3VzRWxlbWVudCA9IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbYXV0b2ZvY3VzXScpO1xyXG4gICAgICAgICAgICBpZiAoYXV0b2ZvY3VzRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvRm9jdXMgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGF1dG9mb2N1c0VsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIGluaXRpYWwgaG9zdCBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRJbml0aWFsSG9zdENsYXNzZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEluaXRpYWxIb3N0Q2xhc3NlcygpLmNvbmNhdChbXHJcbiAgICAgICAgICAgICdzbWUtc2V0dGluZ3MnXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzUGFkZGluZ1JlcXVpcmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLmxheW91dENvbXBvbmVudCAmJiB0aGlzLmxheW91dENvbXBvbmVudC5jdXJyZW50TGF5b3V0RGVmaW5pdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hZGRQYWRkaW5nID0gIHRoaXMubGF5b3V0Q29tcG9uZW50LmN1cnJlbnRMYXlvdXREZWZpbml0aW9uLm5hbWUgPT09ICduYXJyb3cnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2stdiBzbWUtbGF5b3V0LXJlbGF0aXZlIHNtZS1hcnJhbmdlLW92ZXJmbG93LWF1dG8teSBzbWUtcG9zaXRpb24tc3RyZXRjaFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIiBzbWUtbGF5b3V0LXRvb2wtaGVhZGVyIHNtZS1wb3NpdGlvbi1mbGV4LW5vbmUgc21lLWFycmFuZ2UtZWxsaXBzaXNcIiAqbmdJZj1cInNldHRpbmdzVGl0bGVcIj5cclxuICAgICAgICA8aDIgW3RpdGxlXT1cInNldHRpbmdzVGl0bGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInNldHRpbmdzVGl0bGVcIiBjbGFzcz1cInNtZS1mb250LWgzXCI+e3tzZXR0aW5nc1RpdGxlfX08L2gyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8c21lLWxheW91dCAjbGF5b3V0IChsYXlvdXRDaGFuZ2VkKT1cImlzUGFkZGluZ1JlcXVpcmVkKClcIiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LWF1dG8gc21lLWFycmFuZ2Utb3ZlcmZsb3ctYXV0b1wiIFtwYWRMYXN0SXRlbV09XCJmYWxzZVwiPlxyXG4gICAgICAgIDxzbWUtbGF5b3V0LWRlZmluaXRpb24gbmFtZT1cIm5hcnJvd1wiIFt1bnRpbF09XCI4MDBcIiBbY29sdW1uc109XCIxXCI+PC9zbWUtbGF5b3V0LWRlZmluaXRpb24+XHJcbiAgICAgICAgPHNtZS1sYXlvdXQtZGVmaW5pdGlvbiBuYW1lPVwid2lkZVwiIFtjb2x1bW5zXT1cIjVcIj48L3NtZS1sYXlvdXQtZGVmaW5pdGlvbj5cclxuICAgICAgICA8c21lLWxheW91dC1pdGVtIFtjb2x1bW5TcGFuXT1cIjFcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXNldHRpbmdzLW5hdmlnYXRpb25cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9zbWUtbGF5b3V0LWl0ZW0+XHJcbiAgICAgICAgPHNtZS1sYXlvdXQtaXRlbSBbY29sdW1uU3Bhbl09XCI0XCIgW25nQ2xhc3NdPVwiYWRkUGFkZGluZyA/ICdzbWUtcG9zaXRpb24tc3RyZXRjaCBzbWUtcGFkZGluZy1sZWZ0LXhsJyA6ICdzbWUtcG9zaXRpb24tc3RyZXRjaCdcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXNldHRpbmdzLWhlYWRlclwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXNldHRpbmdzLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNtZS1zZXR0aW5ncy1mb290ZXJcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9zbWUtbGF5b3V0LWl0ZW0+XHJcbiAgICA8L3NtZS1sYXlvdXQ+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0lDVDFELDhCQUF1RztJQUNuRyw2QkFBa0Y7SUFBQSxZQUFpQjtJQUFBLGlCQUFLO0lBQzVHLGlCQUFNOzs7SUFERSxlQUF1QjtJQUF2Qiw0Q0FBdUI7SUFBQyxrREFBaUM7SUFBcUIsZUFBaUI7SUFBakIsMENBQWlCOzs7O0FEVzNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVGOztHQUVHO0FBS0osTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQWlDcEQsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUF6QmIsYUFBUSxHQUFnQixFQUFFLENBQUM7UUFJMUIsY0FBUyxHQUFHLElBQUksQ0FB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U0FBUzttQkFBQyxlQUFlO1lBSW5CLGFBQWEsTUFHYixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBOYXZpZ2F0aW9uRXh0cmFzLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvcmVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tbW9uL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21lSW5qZWN0IH0gZnJvbSAnLi4vY29tbW9uL2RlY29yYXRvcnMvaW5qZWN0aW9uLmRlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYW5Db21wb25lbnREZWFjdGl2YXRlIH0gZnJvbSAnLi9zZXR0aW5ncy1jYW4tZGVhY3RpdmF0ZS1ndWFyZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2V0dGluZ3NGb3JtU2VydmljZSB9IGZyb20gJy4vc2V0dGluZ3MtZm9ybS5zZXJ2aWNlJztcclxuXHJcblxyXG4vKipcclxuICpcclxuICogQHNtZURvYyB7QGxhYmVsIFNldHRpbmdzIEBpZCBzbWUtc2V0dGluZ3N9XHJcbiAqXHJcbiAqIEBvdmVydmlld1xyXG4gKiBAZmlsZSB7QGZpbGVwYXRoIC4vZXhhbXBsZXMvc2V0dGluZ3Mtb3ZlcnZpZXcubWR9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgQmFzaWMgTXVsdGktRm9ybSBVc2FnZSBAaWQgYmFzaWMtbXVsdGl9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvbXVsdGktZm9ybS1leGFtcGxlL2NvbXBvbmVudC5odG1sfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9tdWx0aS1mb3JtLWV4YW1wbGUvY29tcG9uZW50LnRzfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIHBhbmVsMS50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9tdWx0aS1mb3JtLWV4YW1wbGUvcGFuZWwxLnRzfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIHBhbmVsMS5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL211bHRpLWZvcm0tZXhhbXBsZS9wYW5lbDEuaHRtbH1cclxuICogQGZpbGUge0BmaWxlbmFtZSBwYW5lbDIudHMgQGZpbGVwYXRoIC4vZXhhbXBsZXMvbXVsdGktZm9ybS1leGFtcGxlL3BhbmVsMi50c31cclxuICogQGZpbGUge0BmaWxlbmFtZSBwYW5lbDIuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9tdWx0aS1mb3JtLWV4YW1wbGUvcGFuZWwyLmh0bWx9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LXJvdXRpbmcubW9kdWxlIEBmaWxlcGF0aCAuL2V4YW1wbGVzL211bHRpLWZvcm0tZXhhbXBsZS9yb3V0aW5nLm1vZHVsZS50c31cclxuICpcclxuICogQGV4YW1wbGUge0BsYWJlbCBCYXNpYyBTaW5nbGUtRm9ybSBVc2FnZSBAaWQgYmFzaWMtc2luZ2xlfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3NpbmdsZS1mb3JtLWV4YW1wbGUvY29tcG9uZW50Lmh0bWx9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3NpbmdsZS1mb3JtLWV4YW1wbGUvY29tcG9uZW50LnRzfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIHBhbmVsLnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3NpbmdsZS1mb3JtLWV4YW1wbGUvcGFuZWwudHN9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgcGFuZWwuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9zaW5nbGUtZm9ybS1leGFtcGxlL3BhbmVsLmh0bWx9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LXJvdXRpbmcubW9kdWxlIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3NpbmdsZS1mb3JtLWV4YW1wbGUvcm91dGluZy5tb2R1bGUudHN9XHJcbiAqXHJcbiAqL1xyXG5cclxuIC8qKlxyXG4gICogRGVmaW5lcyBiYXNlIHNldHRpbmdzIGNvbXBvbmVudCwgaW1wbGVtZW50cyBjb3JlIGZ1bmN0aW9uYWxpdHkgKyBzZXR0aW5ncyBmb3JtLlxyXG4gICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtc2V0dGluZ3MnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NldHRpbmdzLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NDb21wb25lbnQgZXh0ZW5kcyBDb3JlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzb3VyY2UgbmFtZSB0byB1c2UgZm9yIGxvZ2dpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldCBsb2dTb3VyY2VOYW1lKCkge1xyXG4gICAgICAgIHJldHVybiAnU2V0dGluZ3NDb21wb25lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhbGxGb3JtczogRm9ybUdyb3VwW10gPSBbXTtcclxuXHJcbiAgICBwdWJsaWMgYWRkUGFkZGluZzogYm9vbGVhbjtcclxuXHJcbiAgICBwcml2YXRlIGF1dG9Gb2N1cyA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBBZGQgeW91ciBvd24gY3VzdG9tIGJhY2sgYnV0dG9uIGluIHRoZSBmb3JtXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYmFja1JvdXRlOiB7IGNvbW1hbmRzOiBhbnlbXSwgZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyB9O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0dGluZ3NUaXRsZTogc3RyaW5nO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoTGF5b3V0Q29tcG9uZW50KVxyXG4gICAgcHJpdmF0ZSBsYXlvdXRDb21wb25lbnQ6IExheW91dENvbXBvbmVudDtcclxuXHJcbiAgICBAU21lSW5qZWN0KFNldHRpbmdzRm9ybVNlcnZpY2UpXHJcbiAgICBwdWJsaWMgc2V0dGluZ3NGb3JtczogU2V0dGluZ3NGb3JtU2VydmljZTtcclxuXHJcbiAgICBAU21lSW5qZWN0KERpYWxvZ1NlcnZpY2UpXHJcbiAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLnN0b3BQcm9jZXNzaW5nRXZlbnRzKCk7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLmFsbEZvcm1zLmZvckVhY2goKGZvcm0pID0+IHRoaXMuYWxsRm9ybXMucHVzaChmb3JtKSk7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5mb3JtQWRkZWQoKS5zdWJzY3JpYmUoKGZvcm1BZGRlZERhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vIHRvIGF2b2lkIGR1cGxpY2F0ZXMgd2UgZmlyc3QgcmVtb3ZlIHRoZSBmb3JtIGlmIGl0IGV4aXN0c1xyXG4gICAgICAgICAgICAgICAgTXNmdFNtZS5yZW1vdmUodGhpcy5hbGxGb3JtcywgZm9ybUFkZGVkRGF0YS5mb3JtR3JvdXApO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGxGb3Jtcy5wdXNoKGZvcm1BZGRlZERhdGEuZm9ybUdyb3VwKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGEgbmV3IGZvcm0sIGl0IG1lYW5zIHRoZSB1c2VyIG5hdmlnYXRlZCBzbyB3ZSByZXNldCB0aGUgYXV0b2ZvY3VzXHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1dG9Gb2N1cyA9IHRydWU7XHJcblxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLmZvcm1SZW1vdmVkKCkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKGZvcm0pID0+IHsgTXNmdFNtZS5yZW1vdmUodGhpcy5hbGxGb3JtcywgZm9ybSk7IH1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLnN0YXJ0UHJvY2Vzc2luZ0V2ZW50cygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYW5EZWFjdGl2YXRlKFxyXG4gICAgICAgIGNvbXBvbmVudDogQ2FuQ29tcG9uZW50RGVhY3RpdmF0ZSxcclxuICAgICAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgICAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdFxyXG4gICAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuIHtcclxuICAgICAgICBsZXQgY29udGludWVOYXZpZ2F0aW9uOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYWxsRm9ybXMuZmlyc3QoKGZvcm0pID0+IHtcclxuICAgICAgICAgICAgaWYgKGZvcm0uZGlydHkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRpbnVlTmF2aWdhdGlvbiA9IHRoaXMuZGlhbG9nU2VydmljZVxyXG4gICAgICAgICAgICAgICAgICAgIC5zaG93Q29uZmlybWF0aW9uKGNvbXBvbmVudC5jb25maXJtQ29udGludWVFZGl0aW5nRGlhbG9nT3B0aW9ucyhmb3JtLCB0aGlzLmFsbEZvcm1zKSlcclxuICAgICAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBkZWZhdWx0IGlzIHRvIGNvbnRpbnVlIGVkaXRpbmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc2NhcmRDaGFuZ2VzID0gIXJlc3VsdC5jb25maXJtZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGlzY2FyZENoYW5nZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMuYWxsRm9ybXMgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGlzY2FyZENoYW5nZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyB3aXRoIG9uZSBkaXJ0eSBmb3JtIGlzIGVub3VnaCB0byBzaG93IHRoZSBkaWFsb2csIG5vIG5lZWQgdG8gaXRlcmF0ZSBvdmVyIGFsbCB0aGUgb3RoZXIgZGlhbG9nc1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGNvbnRpbnVlTmF2aWdhdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFuZ3VsYXIgTGlmZSBDeWNsZSBob29rIGZvciBBZnRlciBWaWV3IENoZWNrZWQuXHJcbiAgICAgKiBXaGVuIHRoZSB2aXNpYmlsaXR5IGNoYW5nZXMsIHdlIGFyZSBnb2luZyB0byBmb2N1cyBvbiB0aGUgZmlyc3QgZWxlbWVudCB0aGF0IGhhcyB0aGUgYXV0b2ZvY3VzIGF0dHJpYnV0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCkge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3Q2hlY2tlZCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmF1dG9Gb2N1cykge1xyXG4gICAgICAgICAgICBjb25zdCBhdXRvZm9jdXNFbGVtZW50ID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thdXRvZm9jdXNdJyk7XHJcbiAgICAgICAgICAgIGlmIChhdXRvZm9jdXNFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1dG9Gb2N1cyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYXV0b2ZvY3VzRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgaW5pdGlhbCBob3N0IGNsYXNzZXMgdG8gYmUgYXBwbGllZCB0byB0aGlzIGVsZW1lbnRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldEluaXRpYWxIb3N0Q2xhc3NlcygpIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFtcclxuICAgICAgICAgICAgJ3NtZS1zZXR0aW5ncydcclxuICAgICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNQYWRkaW5nUmVxdWlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMubGF5b3V0Q29tcG9uZW50ICYmIHRoaXMubGF5b3V0Q29tcG9uZW50LmN1cnJlbnRMYXlvdXREZWZpbml0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFkZFBhZGRpbmcgPSAgdGhpcy5sYXlvdXRDb21wb25lbnQuY3VycmVudExheW91dERlZmluaXRpb24ubmFtZSA9PT0gJ25hcnJvdyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay12IHNtZS1sYXlvdXQtcmVsYXRpdmUgc21lLWFycmFuZ2Utb3ZlcmZsb3ctYXV0by15IHNtZS1wb3NpdGlvbi1zdHJldGNoXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiIHNtZS1sYXlvdXQtdG9vbC1oZWFkZXIgc21lLXBvc2l0aW9uLWZsZXgtbm9uZSBzbWUtYXJyYW5nZS1lbGxpcHNpc1wiICpuZ0lmPVwic2V0dGluZ3NUaXRsZVwiPlxyXG4gICAgICAgIDxoMiBbdGl0bGVdPVwic2V0dGluZ3NUaXRsZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwic2V0dGluZ3NUaXRsZVwiIGNsYXNzPVwic21lLWZvbnQtaDNcIj57e3NldHRpbmdzVGl0bGV9fTwvaDI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxzbWUtbGF5b3V0ICNsYXlvdXQgKGxheW91dENoYW5nZWQpPVwiaXNQYWRkaW5nUmVxdWlyZWQoKVwiIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtYXV0byBzbWUtYXJyYW5nZS1vdmVyZmxvdy1hdXRvXCIgW3BhZExhc3RJdGVtXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPHNtZS1sYXlvdXQtZGVmaW5pdGlvbiBuYW1lPVwibmFycm93XCIgW3VudGlsXT1cIjgwMFwiIFtjb2x1bW5zXT1cIjFcIj48L3NtZS1sYXlvdXQtZGVmaW5pdGlvbj5cclxuICAgICAgICA8c21lLWxheW91dC1kZWZpbml0aW9uIG5hbWU9XCJ3aWRlXCIgW2NvbHVtbnNdPVwiNVwiPjwvc21lLWxheW91dC1kZWZpbml0aW9uPlxyXG4gICAgICAgIDxzbWUtbGF5b3V0LWl0ZW0gW2NvbHVtblNwYW5dPVwiMVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzbWUtc2V0dGluZ3MtbmF2aWdhdGlvblwiPjwvbmctY29udGVudD5cclxuICAgICAgICA8L3NtZS1sYXlvdXQtaXRlbT5cclxuICAgICAgICA8c21lLWxheW91dC1pdGVtIFtjb2x1bW5TcGFuXT1cIjRcIiBbbmdDbGFzc109XCJhZGRQYWRkaW5nID8gJ3NtZS1wb3NpdGlvbi1zdHJldGNoIHNtZS1wYWRkaW5nLWxlZnQteGwnIDogJ3NtZS1wb3NpdGlvbi1zdHJldGNoJ1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzbWUtc2V0dGluZ3MtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzbWUtc2V0dGluZ3MtY29udGVudFwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXNldHRpbmdzLWZvb3RlclwiPjwvbmctY29udGVudD5cclxuICAgICAgICA8L3NtZS1sYXlvdXQtaXRlbT5cclxuICAgIDwvc21lLWxheW91dD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
3
|
import { RouterModule } from '@angular/router';
|
|
4
|
+
import { SmeRouterModule } from '../../directives/router/router.module';
|
|
4
5
|
import { HeaderModule } from '../header/header.module';
|
|
5
6
|
import { LayoutModule } from '../layout/layout.module';
|
|
6
7
|
import { TooltipModule } from '../tooltip/tooltip.module';
|
|
@@ -18,6 +19,7 @@ import * as i0 from "@angular/core";
|
|
|
18
19
|
import * as i1 from "@angular/common";
|
|
19
20
|
import * as i2 from "../tooltip/tooltip.directive";
|
|
20
21
|
import * as i3 from "@angular/router";
|
|
22
|
+
import * as i4 from "../../directives/router/router-link.directive";
|
|
21
23
|
export class SettingsModule {
|
|
22
24
|
}
|
|
23
25
|
/** @nocollapse */ SettingsModule.ɵfac = function SettingsModule_Factory(t) { return new (t || SettingsModule)(); };
|
|
@@ -26,6 +28,7 @@ export class SettingsModule {
|
|
|
26
28
|
SettingsFormService,
|
|
27
29
|
CanDeactivateGuard
|
|
28
30
|
], imports: [[
|
|
31
|
+
SmeRouterModule,
|
|
29
32
|
RouterModule,
|
|
30
33
|
CommonModule,
|
|
31
34
|
HeaderModule,
|
|
@@ -39,7 +42,8 @@ export class SettingsModule {
|
|
|
39
42
|
SettingsContentComponent,
|
|
40
43
|
SettingsPageComponent,
|
|
41
44
|
SettingsNavigationComponent,
|
|
42
|
-
CommonSettingsComponent], imports: [
|
|
45
|
+
CommonSettingsComponent], imports: [SmeRouterModule,
|
|
46
|
+
RouterModule,
|
|
43
47
|
CommonModule,
|
|
44
48
|
HeaderModule,
|
|
45
49
|
LayoutModule,
|
|
@@ -55,6 +59,7 @@ export class SettingsModule {
|
|
|
55
59
|
type: NgModule,
|
|
56
60
|
args: [{
|
|
57
61
|
imports: [
|
|
62
|
+
SmeRouterModule,
|
|
58
63
|
RouterModule,
|
|
59
64
|
CommonModule,
|
|
60
65
|
HeaderModule,
|
|
@@ -88,6 +93,6 @@ export class SettingsModule {
|
|
|
88
93
|
}]
|
|
89
94
|
}], null, null); })();
|
|
90
95
|
i0.ɵɵsetComponentScope(CommonSettingsComponent, [SettingsComponent,
|
|
91
|
-
SettingsNavigationComponent, i1.NgIf, i1.NgForOf, i2.TooltipDirective, i3.RouterLinkWithHref, i3.RouterLinkActive, i1.NgClass, SettingsHeaderComponent,
|
|
96
|
+
SettingsNavigationComponent, i1.NgIf, i1.NgForOf, i2.TooltipDirective, i3.RouterLinkWithHref, i3.RouterLinkActive, i4.SmeRouterLinkDirective, i1.NgClass, SettingsHeaderComponent,
|
|
92
97
|
SettingsContentComponent, i3.RouterOutlet, SettingsFooterComponent], []);
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQW9DekQsTUFBTSxPQUFPLGNBQWM7OytGQUFkLGNBQWM7cUVBQWQsY0FBYzswRUFMWjtRQUNQLG1CQUFtQjtRQUNuQixrQkFBa0I7S0FDckIsWUEvQlE7WUFDTCxlQUFlO1lBQ2YsWUFBWTtZQUNaLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTtZQUNaLGFBQWE7U0FDaEI7d0ZBMEJRLGNBQWMsbUJBZG5CLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLDJCQUEyQjtRQUMzQix1QkFBdUIsYUF6QnZCLGVBQWU7UUFDZixZQUFZO1FBQ1osWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osYUFBYSxhQUdiLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLDJCQUEyQjtRQUMzQix1QkFBdUI7dUZBaUJsQixjQUFjO2NBbEMxQixRQUFRO2VBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLGVBQWU7b0JBQ2YsWUFBWTtvQkFDWixZQUFZO29CQUNaLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixhQUFhO2lCQUNoQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsaUJBQWlCO29CQUNqQixxQkFBcUI7b0JBQ3JCLHVCQUF1QjtvQkFDdkIsdUJBQXVCO29CQUN2Qix3QkFBd0I7b0JBQ3hCLHFCQUFxQjtvQkFDckIsMkJBQTJCO29CQUMzQix1QkFBdUI7aUJBQzFCO2dCQUNELFlBQVksRUFBRTtvQkFDVixpQkFBaUI7b0JBQ2pCLHFCQUFxQjtvQkFDckIsdUJBQXVCO29CQUN2Qix1QkFBdUI7b0JBQ3ZCLHdCQUF3QjtvQkFDeEIscUJBQXFCO29CQUNyQiwyQkFBMkI7b0JBQzNCLHVCQUF1QjtpQkFDMUI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLG1CQUFtQjtvQkFDbkIsa0JBQWtCO2lCQUNyQjthQUNKOzt1QkFOTyx1QkFBdUIsR0FQdkIsaUJBQWlCO0lBTWpCLDJCQUEyQiwrSEFIM0IsdUJBQXVCO0lBQ3ZCLHdCQUF3QixtQkFGeEIsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU21lUm91dGVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9yb3V0ZXIvcm91dGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEhlYWRlck1vZHVsZSB9IGZyb20gJy4uL2hlYWRlci9oZWFkZXIubW9kdWxlJztcclxuaW1wb3J0IHsgTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vbGF5b3V0L2xheW91dC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XHJcbmltcG9ydCB7IENvbW1vblNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24tc2V0dGluZ3MvY29tbW9uLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNldHRpbmdzUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uLXNldHRpbmdzL3NldHRpbmdzLXBhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FuRGVhY3RpdmF0ZUd1YXJkIH0gZnJvbSAnLi9zZXR0aW5ncy1jYW4tZGVhY3RpdmF0ZS1ndWFyZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2V0dGluZ3NDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5ncy1jb250ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNldHRpbmdzRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5ncy1mb290ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2V0dGluZ3NGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi9zZXR0aW5ncy1mb3JtLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNldHRpbmdzRm9ybVNlcnZpY2UgfSBmcm9tICcuL3NldHRpbmdzLWZvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IFNldHRpbmdzSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5ncy1oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2V0dGluZ3NOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5ncy1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBTbWVSb3V0ZXJNb2R1bGUsXHJcbiAgICAgICAgUm91dGVyTW9kdWxlLFxyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBIZWFkZXJNb2R1bGUsXHJcbiAgICAgICAgTGF5b3V0TW9kdWxlLFxyXG4gICAgICAgIFRvb2x0aXBNb2R1bGVcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICAgICAgU2V0dGluZ3NGb3JtRGlyZWN0aXZlLFxyXG4gICAgICAgIFNldHRpbmdzRm9vdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzQ29udGVudENvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc1BhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgU2V0dGluZ3NOYXZpZ2F0aW9uQ29tcG9uZW50LFxyXG4gICAgICAgIENvbW1vblNldHRpbmdzQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICAgICAgU2V0dGluZ3NGb3JtRGlyZWN0aXZlLFxyXG4gICAgICAgIFNldHRpbmdzRm9vdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzQ29udGVudENvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc1BhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgU2V0dGluZ3NOYXZpZ2F0aW9uQ29tcG9uZW50LFxyXG4gICAgICAgIENvbW1vblNldHRpbmdzQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgU2V0dGluZ3NGb3JtU2VydmljZSxcclxuICAgICAgICBDYW5EZWFjdGl2YXRlR3VhcmRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzTW9kdWxlIHsgfVxyXG4iXX0=
|