@microsoft/windows-admin-center-sdk 2.297.0 → 2.298.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 +558 -240
- 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/containers/action-bar/action-bar.component.js +7 -2
- package/angular/esm2015/src/controls/alert-bar/alert-bar.component.js +5 -5
- package/angular/esm2015/src/controls/common/base.component.js +8 -1
- package/angular/esm2015/src/controls/data-table/data-table.component.js +39 -9
- package/angular/esm2015/src/controls/form/form-field/checklist/checklist-form-field.component.js +11 -8
- package/angular/esm2015/src/controls/form/form-field/combobox/combobox-form-field.component.js +8 -9
- package/angular/esm2015/src/controls/form/form-field/file/file-form-field.component.js +14 -2
- package/angular/esm2015/src/controls/form/form-field/form-field.component.js +9 -2
- package/angular/esm2015/src/controls/layout/layout-definition.component.js +9 -2
- package/angular/esm2015/src/controls/layout/layout.component.js +11 -2
- package/angular/esm2015/src/controls/master-view/master-view.component.js +32 -5
- package/angular/esm2015/src/controls/page-alert-bar/models/index.js +1 -1
- package/angular/esm2015/src/controls/pivot/pivot.component.js +11 -5
- package/angular/esm2015/src/controls/property-grid/property-grid-item.component.js +50 -2
- package/angular/esm2015/src/controls/property-grid/property-grid.component.js +73 -60
- package/angular/esm2015/src/controls/property-grid/property-grid.module.js +5 -1
- package/angular/esm2015/src/controls/settings/common-settings/common-settings.component.js +151 -70
- package/angular/esm2015/src/controls/settings/settings.component.js +48 -8
- package/angular/esm2015/src/controls/settings/settings.module.js +21 -9
- package/angular/esm2015/src/controls/wizard/wizard.component.js +55 -65
- package/angular/esm2015/src/generated/strings.js +1 -1
- package/angular/esm2015/src/service/app-context.service.js +3 -1
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js +535 -240
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js.map +1 -1
- package/angular/package.json +2 -0
- package/angular/src/controls/common/base.component.d.ts +5 -0
- package/angular/src/controls/data-table/data-table.component.d.ts +15 -0
- package/angular/src/controls/form/form-field/checklist/checklist-form-field.component.d.ts +1 -0
- package/angular/src/controls/form/form-field/file/file-form-field.component.d.ts +4 -0
- package/angular/src/controls/layout/layout-definition.component.d.ts +6 -1
- package/angular/src/controls/master-view/master-view.component.d.ts +118 -2
- package/angular/src/controls/page-alert-bar/models/index.d.ts +1 -1
- package/angular/src/controls/pivot/pivot.component.d.ts +4 -1
- package/angular/src/controls/property-grid/property-grid-item.component.d.ts +53 -3
- package/angular/src/controls/property-grid/property-grid.component.d.ts +1 -2
- package/angular/src/controls/property-grid/property-grid.module.d.ts +4 -3
- package/angular/src/controls/settings/common-settings/common-settings.component.d.ts +32 -1
- package/angular/src/controls/settings/settings.component.d.ts +18 -1
- package/angular/src/controls/settings/settings.module.d.ts +3 -1
- package/angular/src/generated/strings.d.ts +3 -0
- package/core/base/environment.d.ts +10 -0
- package/core/base/environment.js.map +1 -1
- package/core/data/gateway-connection.d.ts +34 -0
- package/core/data/gateway-connection.js +59 -2
- package/core/data/gateway-connection.js.map +1 -1
- package/core/data/gateway-status.d.ts +24 -0
- package/core/data/gateway-status.js +3 -0
- package/core/data/gateway-status.js.map +1 -0
- package/core/data/node-connection.d.ts +4 -0
- package/core/data/node-connection.js.map +1 -1
- package/core/data/powershell.d.ts +4 -0
- package/core/data/powershell.js +1 -0
- package/core/data/powershell.js.map +1 -1
- package/core/data/wdac-operations.d.ts +123 -0
- package/core/data/wdac-operations.js +144 -0
- package/core/data/wdac-operations.js.map +1 -0
- package/core/diagnostics/sme-web-telemetry-models.d.ts +20 -3
- package/core/diagnostics/sme-web-telemetry-models.js +6 -2
- package/core/diagnostics/sme-web-telemetry-models.js.map +1 -1
- package/core/diagnostics/sme-web-telemetry.d.ts +13 -1
- package/core/diagnostics/sme-web-telemetry.js +51 -11
- package/core/diagnostics/sme-web-telemetry.js.map +1 -1
- package/core/generated/powershell-scripts.d.ts +8 -4
- package/core/generated/powershell-scripts.js +8 -4
- package/core/generated/powershell-scripts.js.map +1 -1
- package/core/index.d.ts +2 -0
- package/core/index.js +1 -0
- package/core/index.js.map +1 -1
- package/core/manifest/environment-modules.js +10 -0
- package/core/manifest/environment-modules.js.map +1 -1
- package/core/notification/powershell-notification.js +1 -1
- package/core/notification/powershell-notification.js.map +1 -1
- package/core/performance/performance-tracker.d.ts +67 -0
- package/core/performance/performance-tracker.js +211 -4
- package/core/performance/performance-tracker.js.map +1 -1
- package/core/rpc/credssp/rpc-credssp-model.d.ts +27 -2
- package/core/rpc/credssp/rpc-credssp-model.js +10 -0
- package/core/rpc/credssp/rpc-credssp-model.js.map +1 -1
- package/core/security/credssp-manager.d.ts +15 -1
- package/core/security/credssp-manager.js +28 -0
- package/core/security/credssp-manager.js.map +1 -1
- package/core/shared/gateway-inventory/gateway-inventory.d.ts +10 -0
- package/core/shared/gateway-inventory/gateway-inventory.js +11 -0
- package/core/shared/gateway-inventory/gateway-inventory.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 -3
- package/styles/css/main.css +1 -1
- package/tools/module-template/gulpfile.ts/index.ts +1 -1
- package/tools/package-lock.json +18081 -4110
- package/tools/wac-cli/src/create/main.d.ts +6 -3
- package/tools/wac-cli/src/create/main.js +87 -35
- package/tools/wac-cli/src/create/main.js.map +1 -1
- package/tools/wac-cli/src/index.js +2 -2
- package/tools/wac-cli/src/index.js.map +1 -1
- package/tools/wac-cli/templates/internal/npmrc.txt +6 -0
- package/tools/wac-cli/templates/internal/package.json +101 -0
- package/tools/wac-cli/templates/{manifest/solution-manifest.json → solution/manifest.json} +19 -0
- package/tools/wac-cli/templates/solution/strings.resjson +16 -0
- package/tools/wac-cli/templates/wac-template/angular.json +2 -2
- package/tools/wac-cli/templates/wac-template/gulpfile.ts/config-data.ts +1 -1
- package/tools/wac-cli/templates/wac-template/package.json +0 -8
- package/tools/wac-cli/templates/wac-template/src/app/app-routing.module.ts +1 -1
- package/tools/wac-cli/templates/wac-template/src/main.ts +2 -0
- package/tools/wac-cli/templates/{manifest/tool-manifest.json → wac-template/src/manifest.json} +0 -0
- package/tools/wac-cli/templates/wac-template/src/polyfills.ts +1 -1
- package/tools/wac-cli/templates/wac-template/src/test.ts +2 -2
- package/tools/wac-cli/templates/wac-template/src/version.ts +3 -0
- package/tools/wac-cli/templates/wac-template/version.json +5 -0
|
@@ -12,19 +12,43 @@ import * as i2 from "../layout/layout.component";
|
|
|
12
12
|
import * as i3 from "../layout/layout-definition.component";
|
|
13
13
|
import * as i4 from "../layout/layout-item.component";
|
|
14
14
|
import * as i5 from "../tooltip/tooltip.directive";
|
|
15
|
+
function SettingsComponent_div_1_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
+
i0.ɵɵelementStart(0, "span", 12);
|
|
17
|
+
i0.ɵɵtext(1);
|
|
18
|
+
i0.ɵɵelementEnd();
|
|
19
|
+
} if (rf & 2) {
|
|
20
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
21
|
+
i0.ɵɵadvance(1);
|
|
22
|
+
i0.ɵɵtextInterpolate(ctx_r2.headerSeparator);
|
|
23
|
+
} }
|
|
24
|
+
function SettingsComponent_div_1_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
+
i0.ɵɵelementStart(0, "span", 13);
|
|
26
|
+
i0.ɵɵtext(1);
|
|
27
|
+
i0.ɵɵelementEnd();
|
|
28
|
+
} if (rf & 2) {
|
|
29
|
+
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
30
|
+
i0.ɵɵadvance(1);
|
|
31
|
+
i0.ɵɵtextInterpolate(ctx_r3.selectedSettingsTitle);
|
|
32
|
+
} }
|
|
15
33
|
function SettingsComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
16
34
|
i0.ɵɵelementStart(0, "div", 8);
|
|
17
35
|
i0.ɵɵelementStart(1, "h2", 9);
|
|
18
36
|
i0.ɵɵtext(2);
|
|
37
|
+
i0.ɵɵtemplate(3, SettingsComponent_div_1_span_3_Template, 2, 1, "span", 10);
|
|
38
|
+
i0.ɵɵtemplate(4, SettingsComponent_div_1_span_4_Template, 2, 1, "span", 11);
|
|
19
39
|
i0.ɵɵelementEnd();
|
|
20
40
|
i0.ɵɵelementEnd();
|
|
21
41
|
} if (rf & 2) {
|
|
22
42
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
23
43
|
i0.ɵɵadvance(1);
|
|
24
|
-
i0.ɵɵproperty("title", ctx_r0.
|
|
25
|
-
i0.ɵɵattribute("aria-label", ctx_r0.
|
|
44
|
+
i0.ɵɵproperty("title", ctx_r0.fullSettingsTitle);
|
|
45
|
+
i0.ɵɵattribute("aria-label", ctx_r0.fullSettingsTitle);
|
|
46
|
+
i0.ɵɵadvance(1);
|
|
47
|
+
i0.ɵɵtextInterpolate1("", ctx_r0.settingsTitle, " ");
|
|
26
48
|
i0.ɵɵadvance(1);
|
|
27
|
-
i0.ɵɵ
|
|
49
|
+
i0.ɵɵproperty("ngIf", ctx_r0.selectedSettingsTitle);
|
|
50
|
+
i0.ɵɵadvance(1);
|
|
51
|
+
i0.ɵɵproperty("ngIf", ctx_r0.selectedSettingsTitle);
|
|
28
52
|
} }
|
|
29
53
|
const _c0 = [[["sme-settings-navigation"]], [["sme-settings-header"]], [["sme-settings-content"]], [["sme-settings-footer"]]];
|
|
30
54
|
const _c1 = ["sme-settings-navigation", "sme-settings-header", "sme-settings-content", "sme-settings-footer"];
|
|
@@ -60,6 +84,10 @@ export class SettingsComponent extends CoreBaseComponent {
|
|
|
60
84
|
super(injector);
|
|
61
85
|
this.allForms = [];
|
|
62
86
|
this.autoFocus = true;
|
|
87
|
+
/**
|
|
88
|
+
* Separator used in sticky header on top of Settings page
|
|
89
|
+
*/
|
|
90
|
+
this.headerSeparator = '|';
|
|
63
91
|
}
|
|
64
92
|
/**
|
|
65
93
|
* The source name to use for logging
|
|
@@ -78,6 +106,7 @@ export class SettingsComponent extends CoreBaseComponent {
|
|
|
78
106
|
// If we have a new form, it means the user navigated so we reset the autofocus
|
|
79
107
|
this.autoFocus = true;
|
|
80
108
|
}), this.settingsForms.formRemoved().subscribe((form) => { MsftSme.remove(this.allForms, form); }));
|
|
109
|
+
this.fullSettingsTitle = this.settingsTitle;
|
|
81
110
|
}
|
|
82
111
|
ngOnDestroy() {
|
|
83
112
|
super.ngOnDestroy();
|
|
@@ -131,6 +160,14 @@ export class SettingsComponent extends CoreBaseComponent {
|
|
|
131
160
|
return this.addPadding = this.layoutComponent.currentLayoutDefinition.name === 'narrow';
|
|
132
161
|
}
|
|
133
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Update this.settingsTitle (header of the setting page) to newly selected setting item
|
|
165
|
+
*/
|
|
166
|
+
updateSelectedSettingTitle(newSelectedSettingTitle) {
|
|
167
|
+
this.selectedSettingsTitle = newSelectedSettingTitle;
|
|
168
|
+
const fullSettingsTitlePostFix = this.selectedSettingsTitle ? this.headerSeparator + ' ' + this.selectedSettingsTitle : '';
|
|
169
|
+
this.fullSettingsTitle = this.settingsTitle + ' ' + fullSettingsTitlePostFix;
|
|
170
|
+
}
|
|
134
171
|
}
|
|
135
172
|
/** @nocollapse */ SettingsComponent.ɵfac = function SettingsComponent_Factory(t) { return new (t || SettingsComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
|
|
136
173
|
/** @nocollapse */ SettingsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SettingsComponent, selectors: [["sme-settings"]], viewQuery: function SettingsComponent_Query(rf, ctx) { if (rf & 1) {
|
|
@@ -138,10 +175,10 @@ export class SettingsComponent extends CoreBaseComponent {
|
|
|
138
175
|
} if (rf & 2) {
|
|
139
176
|
let _t;
|
|
140
177
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.layoutComponent = _t.first);
|
|
141
|
-
} }, inputs: { backRoute: "backRoute", settingsTitle: "settingsTitle" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 12, vars:
|
|
178
|
+
} }, inputs: { backRoute: "backRoute", settingsTitle: "settingsTitle", selectedSettingsTitle: "selectedSettingsTitle" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 12, vars: 10, consts: [[1, "sme-arrange-stack-v", "sme-layout-relative", "sme-arrange-overflow-auto-y", "sme-position-stretch"], ["class", "sme-layout-tool-header sme-position-flex-none sme-arrange-ellipsis sme-padding-bottom-none sme-padding-left-md", 4, "ngIf"], [1, "sme-position-flex-auto", "sme-arrange-overflow-auto", 3, "padLastItem", "layoutChanged"], ["layout", ""], ["name", "narrow", 3, "until", "columns"], ["name", "wide", 3, "columns", "addBottomPadding"], [3, "columnSpan", "ngClass"], [1, "sme-padding-top-xs", 3, "columnSpan", "ngClass"], [1, "sme-layout-tool-header", "sme-position-flex-none", "sme-arrange-ellipsis", "sme-padding-bottom-none", "sme-padding-left-md"], [1, "sme-font-h3", 3, "title"], ["class", "sme-padding-horizontal-sm sme-font-family-normal", 4, "ngIf"], ["class", "sme-font-family-normal", 4, "ngIf"], [1, "sme-padding-horizontal-sm", "sme-font-family-normal"], [1, "sme-font-family-normal"]], template: function SettingsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
142
179
|
i0.ɵɵprojectionDef(_c0);
|
|
143
180
|
i0.ɵɵelementStart(0, "div", 0);
|
|
144
|
-
i0.ɵɵtemplate(1, SettingsComponent_div_1_Template,
|
|
181
|
+
i0.ɵɵtemplate(1, SettingsComponent_div_1_Template, 5, 5, "div", 1);
|
|
145
182
|
i0.ɵɵelementStart(2, "sme-layout", 2, 3);
|
|
146
183
|
i0.ɵɵlistener("layoutChanged", function SettingsComponent_Template_sme_layout_layoutChanged_2_listener() { return ctx.isPaddingRequired(); });
|
|
147
184
|
i0.ɵɵelement(4, "sme-layout-definition", 4);
|
|
@@ -157,6 +194,7 @@ export class SettingsComponent extends CoreBaseComponent {
|
|
|
157
194
|
i0.ɵɵelementEnd();
|
|
158
195
|
i0.ɵɵelementEnd();
|
|
159
196
|
} if (rf & 2) {
|
|
197
|
+
const _r1 = i0.ɵɵreference(3);
|
|
160
198
|
i0.ɵɵadvance(1);
|
|
161
199
|
i0.ɵɵproperty("ngIf", ctx.settingsTitle);
|
|
162
200
|
i0.ɵɵadvance(1);
|
|
@@ -164,9 +202,9 @@ export class SettingsComponent extends CoreBaseComponent {
|
|
|
164
202
|
i0.ɵɵadvance(2);
|
|
165
203
|
i0.ɵɵproperty("until", 800)("columns", 1);
|
|
166
204
|
i0.ɵɵadvance(1);
|
|
167
|
-
i0.ɵɵproperty("columns", 5);
|
|
205
|
+
i0.ɵɵproperty("columns", 5)("addBottomPadding", false);
|
|
168
206
|
i0.ɵɵadvance(1);
|
|
169
|
-
i0.ɵɵproperty("columnSpan", 1);
|
|
207
|
+
i0.ɵɵproperty("columnSpan", 1)("ngClass", _r1.currentLayoutDefinitionName === "narrow" ? "" : "sme-position-stretch-v");
|
|
170
208
|
i0.ɵɵadvance(2);
|
|
171
209
|
i0.ɵɵproperty("columnSpan", 4)("ngClass", ctx.addPadding ? "sme-position-stretch sme-padding-left-xl" : "sme-position-stretch");
|
|
172
210
|
} }, directives: [i1.NgIf, i2.LayoutComponent, i3.LayoutDefinitionComponent, i4.LayoutItemComponent, i1.NgClass, i5.TooltipDirective], encapsulation: 2 });
|
|
@@ -188,8 +226,10 @@ __decorate([
|
|
|
188
226
|
type: Input
|
|
189
227
|
}], settingsTitle: [{
|
|
190
228
|
type: Input
|
|
229
|
+
}], selectedSettingsTitle: [{
|
|
230
|
+
type: Input
|
|
191
231
|
}], layoutComponent: [{
|
|
192
232
|
type: ViewChild,
|
|
193
233
|
args: [LayoutComponent]
|
|
194
234
|
}], settingsForms: [], dialogService: [] }); })();
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0lDVDFELDhCQUF1RztJQUNuRyw2QkFBa0Y7SUFBQSxZQUFpQjtJQUFBLGlCQUFLO0lBQzVHLGlCQUFNOzs7SUFERSxlQUF1QjtJQUF2Qiw0Q0FBdUI7SUFBQyxrREFBaUM7SUFBcUIsZUFBaUI7SUFBakIsMENBQWlCOzs7O0FEVzNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVGOztHQUVHO0FBS0osTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQWlDcEQsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUF6QmIsYUFBUSxHQUFnQixFQUFFLENBQUM7UUFJMUIsY0FBUyxHQUFHLElBQUksQ0FB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U0FBUzttQkFBQyxlQUFlO1lBSW5CLGFBQWEsTUFHYixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBOYXZpZ2F0aW9uRXh0cmFzLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvcmVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tbW9uL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21lSW5qZWN0IH0gZnJvbSAnLi4vY29tbW9uL2RlY29yYXRvcnMvaW5qZWN0aW9uLmRlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYW5Db21wb25lbnREZWFjdGl2YXRlIH0gZnJvbSAnLi9zZXR0aW5ncy1jYW4tZGVhY3RpdmF0ZS1ndWFyZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2V0dGluZ3NGb3JtU2VydmljZSB9IGZyb20gJy4vc2V0dGluZ3MtZm9ybS5zZXJ2aWNlJztcclxuXHJcblxyXG4vKipcclxuICpcclxuICogQHNtZURvYyB7QGxhYmVsIFNldHRpbmdzIEBpZCBzbWUtc2V0dGluZ3N9XHJcbiAqXHJcbiAqIEBvdmVydmlld1xyXG4gKiBAZmlsZSB7QGZpbGVwYXRoIC4vZXhhbXBsZXMvc2V0dGluZ3Mtb3ZlcnZpZXcubWR9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgQmFzaWMgTXVsdGktRm9ybSBVc2FnZSBAaWQgYmFzaWMtbXVsdGl9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvbXVsdGktZm9ybS1leGFtcGxlL2NvbXBvbmVudC5odG1sfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9tdWx0aS1mb3JtLWV4YW1wbGUvY29tcG9uZW50LnRzfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIHBhbmVsMS50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9tdWx0aS1mb3JtLWV4YW1wbGUvcGFuZWwxLnRzfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIHBhbmVsMS5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL211bHRpLWZvcm0tZXhhbXBsZS9wYW5lbDEuaHRtbH1cclxuICogQGZpbGUge0BmaWxlbmFtZSBwYW5lbDIudHMgQGZpbGVwYXRoIC4vZXhhbXBsZXMvbXVsdGktZm9ybS1leGFtcGxlL3BhbmVsMi50c31cclxuICogQGZpbGUge0BmaWxlbmFtZSBwYW5lbDIuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9tdWx0aS1mb3JtLWV4YW1wbGUvcGFuZWwyLmh0bWx9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LXJvdXRpbmcubW9kdWxlIEBmaWxlcGF0aCAuL2V4YW1wbGVzL211bHRpLWZvcm0tZXhhbXBsZS9yb3V0aW5nLm1vZHVsZS50c31cclxuICpcclxuICogQGV4YW1wbGUge0BsYWJlbCBCYXNpYyBTaW5nbGUtRm9ybSBVc2FnZSBAaWQgYmFzaWMtc2luZ2xlfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3NpbmdsZS1mb3JtLWV4YW1wbGUvY29tcG9uZW50Lmh0bWx9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3NpbmdsZS1mb3JtLWV4YW1wbGUvY29tcG9uZW50LnRzfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIHBhbmVsLnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3NpbmdsZS1mb3JtLWV4YW1wbGUvcGFuZWwudHN9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgcGFuZWwuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9zaW5nbGUtZm9ybS1leGFtcGxlL3BhbmVsLmh0bWx9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LXJvdXRpbmcubW9kdWxlIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3NpbmdsZS1mb3JtLWV4YW1wbGUvcm91dGluZy5tb2R1bGUudHN9XHJcbiAqXHJcbiAqL1xyXG5cclxuIC8qKlxyXG4gICogRGVmaW5lcyBiYXNlIHNldHRpbmdzIGNvbXBvbmVudCwgaW1wbGVtZW50cyBjb3JlIGZ1bmN0aW9uYWxpdHkgKyBzZXR0aW5ncyBmb3JtLlxyXG4gICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtc2V0dGluZ3MnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NldHRpbmdzLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NDb21wb25lbnQgZXh0ZW5kcyBDb3JlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzb3VyY2UgbmFtZSB0byB1c2UgZm9yIGxvZ2dpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldCBsb2dTb3VyY2VOYW1lKCkge1xyXG4gICAgICAgIHJldHVybiAnU2V0dGluZ3NDb21wb25lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhbGxGb3JtczogRm9ybUdyb3VwW10gPSBbXTtcclxuXHJcbiAgICBwdWJsaWMgYWRkUGFkZGluZzogYm9vbGVhbjtcclxuXHJcbiAgICBwcml2YXRlIGF1dG9Gb2N1cyA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBBZGQgeW91ciBvd24gY3VzdG9tIGJhY2sgYnV0dG9uIGluIHRoZSBmb3JtXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYmFja1JvdXRlOiB7IGNvbW1hbmRzOiBhbnlbXSwgZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyB9O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0dGluZ3NUaXRsZTogc3RyaW5nO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoTGF5b3V0Q29tcG9uZW50KVxyXG4gICAgcHJpdmF0ZSBsYXlvdXRDb21wb25lbnQ6IExheW91dENvbXBvbmVudDtcclxuXHJcbiAgICBAU21lSW5qZWN0KFNldHRpbmdzRm9ybVNlcnZpY2UpXHJcbiAgICBwdWJsaWMgc2V0dGluZ3NGb3JtczogU2V0dGluZ3NGb3JtU2VydmljZTtcclxuXHJcbiAgICBAU21lSW5qZWN0KERpYWxvZ1NlcnZpY2UpXHJcbiAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLnN0b3BQcm9jZXNzaW5nRXZlbnRzKCk7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLmFsbEZvcm1zLmZvckVhY2goKGZvcm0pID0+IHRoaXMuYWxsRm9ybXMucHVzaChmb3JtKSk7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5mb3JtQWRkZWQoKS5zdWJzY3JpYmUoKGZvcm1BZGRlZERhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vIHRvIGF2b2lkIGR1cGxpY2F0ZXMgd2UgZmlyc3QgcmVtb3ZlIHRoZSBmb3JtIGlmIGl0IGV4aXN0c1xyXG4gICAgICAgICAgICAgICAgTXNmdFNtZS5yZW1vdmUodGhpcy5hbGxGb3JtcywgZm9ybUFkZGVkRGF0YS5mb3JtR3JvdXApO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGxGb3Jtcy5wdXNoKGZvcm1BZGRlZERhdGEuZm9ybUdyb3VwKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGEgbmV3IGZvcm0sIGl0IG1lYW5zIHRoZSB1c2VyIG5hdmlnYXRlZCBzbyB3ZSByZXNldCB0aGUgYXV0b2ZvY3VzXHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1dG9Gb2N1cyA9IHRydWU7XHJcblxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLmZvcm1SZW1vdmVkKCkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKGZvcm0pID0+IHsgTXNmdFNtZS5yZW1vdmUodGhpcy5hbGxGb3JtcywgZm9ybSk7IH1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLnN0YXJ0UHJvY2Vzc2luZ0V2ZW50cygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYW5EZWFjdGl2YXRlKFxyXG4gICAgICAgIGNvbXBvbmVudDogQ2FuQ29tcG9uZW50RGVhY3RpdmF0ZSxcclxuICAgICAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgICAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdFxyXG4gICAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuIHtcclxuICAgICAgICBsZXQgY29udGludWVOYXZpZ2F0aW9uOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYWxsRm9ybXMuZmlyc3QoKGZvcm0pID0+IHtcclxuICAgICAgICAgICAgaWYgKGZvcm0uZGlydHkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRpbnVlTmF2aWdhdGlvbiA9IHRoaXMuZGlhbG9nU2VydmljZVxyXG4gICAgICAgICAgICAgICAgICAgIC5zaG93Q29uZmlybWF0aW9uKGNvbXBvbmVudC5jb25maXJtQ29udGludWVFZGl0aW5nRGlhbG9nT3B0aW9ucyhmb3JtLCB0aGlzLmFsbEZvcm1zKSlcclxuICAgICAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBkZWZhdWx0IGlzIHRvIGNvbnRpbnVlIGVkaXRpbmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc2NhcmRDaGFuZ2VzID0gIXJlc3VsdC5jb25maXJtZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGlzY2FyZENoYW5nZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMuYWxsRm9ybXMgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGlzY2FyZENoYW5nZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyB3aXRoIG9uZSBkaXJ0eSBmb3JtIGlzIGVub3VnaCB0byBzaG93IHRoZSBkaWFsb2csIG5vIG5lZWQgdG8gaXRlcmF0ZSBvdmVyIGFsbCB0aGUgb3RoZXIgZGlhbG9nc1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGNvbnRpbnVlTmF2aWdhdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFuZ3VsYXIgTGlmZSBDeWNsZSBob29rIGZvciBBZnRlciBWaWV3IENoZWNrZWQuXHJcbiAgICAgKiBXaGVuIHRoZSB2aXNpYmlsaXR5IGNoYW5nZXMsIHdlIGFyZSBnb2luZyB0byBmb2N1cyBvbiB0aGUgZmlyc3QgZWxlbWVudCB0aGF0IGhhcyB0aGUgYXV0b2ZvY3VzIGF0dHJpYnV0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCkge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3Q2hlY2tlZCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmF1dG9Gb2N1cykge1xyXG4gICAgICAgICAgICBjb25zdCBhdXRvZm9jdXNFbGVtZW50ID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thdXRvZm9jdXNdJyk7XHJcbiAgICAgICAgICAgIGlmIChhdXRvZm9jdXNFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1dG9Gb2N1cyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYXV0b2ZvY3VzRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgaW5pdGlhbCBob3N0IGNsYXNzZXMgdG8gYmUgYXBwbGllZCB0byB0aGlzIGVsZW1lbnRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldEluaXRpYWxIb3N0Q2xhc3NlcygpIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFtcclxuICAgICAgICAgICAgJ3NtZS1zZXR0aW5ncydcclxuICAgICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNQYWRkaW5nUmVxdWlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMubGF5b3V0Q29tcG9uZW50ICYmIHRoaXMubGF5b3V0Q29tcG9uZW50LmN1cnJlbnRMYXlvdXREZWZpbml0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFkZFBhZGRpbmcgPSAgdGhpcy5sYXlvdXRDb21wb25lbnQuY3VycmVudExheW91dERlZmluaXRpb24ubmFtZSA9PT0gJ25hcnJvdyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay12IHNtZS1sYXlvdXQtcmVsYXRpdmUgc21lLWFycmFuZ2Utb3ZlcmZsb3ctYXV0by15IHNtZS1wb3NpdGlvbi1zdHJldGNoXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiIHNtZS1sYXlvdXQtdG9vbC1oZWFkZXIgc21lLXBvc2l0aW9uLWZsZXgtbm9uZSBzbWUtYXJyYW5nZS1lbGxpcHNpc1wiICpuZ0lmPVwic2V0dGluZ3NUaXRsZVwiPlxyXG4gICAgICAgIDxoMiBbdGl0bGVdPVwic2V0dGluZ3NUaXRsZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwic2V0dGluZ3NUaXRsZVwiIGNsYXNzPVwic21lLWZvbnQtaDNcIj57e3NldHRpbmdzVGl0bGV9fTwvaDI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxzbWUtbGF5b3V0ICNsYXlvdXQgKGxheW91dENoYW5nZWQpPVwiaXNQYWRkaW5nUmVxdWlyZWQoKVwiIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtYXV0byBzbWUtYXJyYW5nZS1vdmVyZmxvdy1hdXRvXCIgW3BhZExhc3RJdGVtXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPHNtZS1sYXlvdXQtZGVmaW5pdGlvbiBuYW1lPVwibmFycm93XCIgW3VudGlsXT1cIjgwMFwiIFtjb2x1bW5zXT1cIjFcIj48L3NtZS1sYXlvdXQtZGVmaW5pdGlvbj5cclxuICAgICAgICA8c21lLWxheW91dC1kZWZpbml0aW9uIG5hbWU9XCJ3aWRlXCIgW2NvbHVtbnNdPVwiNVwiPjwvc21lLWxheW91dC1kZWZpbml0aW9uPlxyXG4gICAgICAgIDxzbWUtbGF5b3V0LWl0ZW0gW2NvbHVtblNwYW5dPVwiMVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzbWUtc2V0dGluZ3MtbmF2aWdhdGlvblwiPjwvbmctY29udGVudD5cclxuICAgICAgICA8L3NtZS1sYXlvdXQtaXRlbT5cclxuICAgICAgICA8c21lLWxheW91dC1pdGVtIFtjb2x1bW5TcGFuXT1cIjRcIiBbbmdDbGFzc109XCJhZGRQYWRkaW5nID8gJ3NtZS1wb3NpdGlvbi1zdHJldGNoIHNtZS1wYWRkaW5nLWxlZnQteGwnIDogJ3NtZS1wb3NpdGlvbi1zdHJldGNoJ1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzbWUtc2V0dGluZ3MtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzbWUtc2V0dGluZ3MtY29udGVudFwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXNldHRpbmdzLWZvb3RlclwiPjwvbmctY29udGVudD5cclxuICAgICAgICA8L3NtZS1sYXlvdXQtaXRlbT5cclxuICAgIDwvc21lLWxheW91dD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0lDUHRELGdDQUE2RjtJQUFBLFlBQXFCO0lBQUEsaUJBQU87OztJQUE1QixlQUFxQjtJQUFyQiw0Q0FBcUI7OztJQUNsSCxnQ0FBbUU7SUFBQSxZQUEyQjtJQUFBLGlCQUFPOzs7SUFBbEMsZUFBMkI7SUFBM0Isa0RBQTJCOzs7SUFIbEcsOEJBQWtKO0lBQ2hKLDZCQUEwRjtJQUFBLFlBQ3hGO0lBQUEsMkVBQXlIO0lBQ3pILDJFQUFxRztJQUN2RyxpQkFBSztJQUNQLGlCQUFNOzs7SUFKQSxlQUEyQjtJQUEzQixnREFBMkI7SUFBQyxzREFBcUM7SUFBcUIsZUFDeEY7SUFEd0Ysb0RBQ3hGO0lBQU8sZUFBMkI7SUFBM0IsbURBQTJCO0lBQzNC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QUFpQix1QkFBbUIsSUFBQztRQUNyRCwyQ0FBeUY7UUFDekYsMkNBQW9HO1FBQ3BHLDBDQUE0SDtRQUN4SCxrQkFBMEQ7UUFDOUQsaUJBQWtCO1FBQ2xCLDBDQUEwSjtRQUN0SixxQkFBc0Q7UUFDdEQsc0JBQXVEO1FBQ3ZELHNCQUFzRDtRQUMxRCxpQkFBa0I7UUFDdEIsaUJBQWE7UUFDakIsaUJBQU07OztRQWxCMkgsZUFBbUI7UUFBbkIsd0NBQW1CO1FBTTdCLGVBQXFCO1FBQXJCLG1DQUFxQjtRQUMvRixlQUFhO1FBQWIsMkJBQWEsY0FBQTtRQUNmLGVBQWE7UUFBYiwyQkFBYSwyQkFBQTtRQUMvQixlQUFnQjtRQUFoQiw4QkFBZ0IseUZBQUE7UUFHaEIsZUFBZ0I7UUFBaEIsOEJBQWdCLGlHQUFBOztBRDZFckM7SUFEQyxTQUFTLENBQUMsbUJBQW1CLENBQUM7OEJBQ1QsbUJBQW1CO3dEQUFDO0FBRzFDO0lBREMsU0FBUyxDQUFDLGFBQWEsQ0FBQzs4QkFDSCxhQUFhO3dEQUFDO3VGQWhEM0IsaUJBQWlCO2NBSjdCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsV0FBVyxFQUFFLDJCQUEyQjthQUMzQzsyREF5QlUsU0FBUztrQkFEZixLQUFLO1lBSUMsYUFBYTtrQkFEbkIsS0FBSztZQU9DLHFCQUFxQjtrQkFEM0IsS0FBSztZQVVFLGVBQWU7a0JBRHRCLFNBQVM7bUJBQUMsZUFBZTtZQUluQixhQUFhLE1BR2IsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgTmF2aWdhdGlvbkV4dHJhcywgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb3JlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbW1vbi9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtZUluamVjdCB9IGZyb20gJy4uL2NvbW1vbi9kZWNvcmF0b3JzL2luamVjdGlvbi5kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uL2RpYWxvZy9kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IExheW91dENvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FuQ29tcG9uZW50RGVhY3RpdmF0ZSB9IGZyb20gJy4vc2V0dGluZ3MtY2FuLWRlYWN0aXZhdGUtZ3VhcmQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNldHRpbmdzRm9ybVNlcnZpY2UgfSBmcm9tICcuL3NldHRpbmdzLWZvcm0uc2VydmljZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBzbWVEb2Mge0BsYWJlbCBTZXR0aW5ncyBAaWQgc21lLXNldHRpbmdzfVxyXG4gKlxyXG4gKiBAb3ZlcnZpZXdcclxuICogQGZpbGUge0BmaWxlcGF0aCAuL2V4YW1wbGVzL3NldHRpbmdzLW92ZXJ2aWV3Lm1kfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIEJhc2ljIE11bHRpLUZvcm0gVXNhZ2UgQGlkIGJhc2ljLW11bHRpfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL211bHRpLWZvcm0tZXhhbXBsZS9jb21wb25lbnQuaHRtbH1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQudHMgQGZpbGVwYXRoIC4vZXhhbXBsZXMvbXVsdGktZm9ybS1leGFtcGxlL2NvbXBvbmVudC50c31cclxuICogQGZpbGUge0BmaWxlbmFtZSBwYW5lbDEudHMgQGZpbGVwYXRoIC4vZXhhbXBsZXMvbXVsdGktZm9ybS1leGFtcGxlL3BhbmVsMS50c31cclxuICogQGZpbGUge0BmaWxlbmFtZSBwYW5lbDEuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9tdWx0aS1mb3JtLWV4YW1wbGUvcGFuZWwxLmh0bWx9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgcGFuZWwyLnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL211bHRpLWZvcm0tZXhhbXBsZS9wYW5lbDIudHN9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgcGFuZWwyLmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvbXVsdGktZm9ybS1leGFtcGxlL3BhbmVsMi5odG1sfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC1yb3V0aW5nLm1vZHVsZSBAZmlsZXBhdGggLi9leGFtcGxlcy9tdWx0aS1mb3JtLWV4YW1wbGUvcm91dGluZy5tb2R1bGUudHN9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgQmFzaWMgU2luZ2xlLUZvcm0gVXNhZ2UgQGlkIGJhc2ljLXNpbmdsZX1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9zaW5nbGUtZm9ybS1leGFtcGxlL2NvbXBvbmVudC5odG1sfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9zaW5nbGUtZm9ybS1leGFtcGxlL2NvbXBvbmVudC50c31cclxuICogQGZpbGUge0BmaWxlbmFtZSBwYW5lbC50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9zaW5nbGUtZm9ybS1leGFtcGxlL3BhbmVsLnRzfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIHBhbmVsLmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvc2luZ2xlLWZvcm0tZXhhbXBsZS9wYW5lbC5odG1sfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC1yb3V0aW5nLm1vZHVsZSBAZmlsZXBhdGggLi9leGFtcGxlcy9zaW5nbGUtZm9ybS1leGFtcGxlL3JvdXRpbmcubW9kdWxlLnRzfVxyXG4gKlxyXG4gKi9cclxuXHJcbiAvKipcclxuICAqIERlZmluZXMgYmFzZSBzZXR0aW5ncyBjb21wb25lbnQsIGltcGxlbWVudHMgY29yZSBmdW5jdGlvbmFsaXR5ICsgc2V0dGluZ3MgZm9ybS5cclxuICAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLXNldHRpbmdzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXR0aW5ncy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzQ29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ1NldHRpbmdzQ29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWxsRm9ybXM6IEZvcm1Hcm91cFtdID0gW107XHJcblxyXG4gICAgcHVibGljIGFkZFBhZGRpbmc6IGJvb2xlYW47XHJcblxyXG4gICAgcHJpdmF0ZSBhdXRvRm9jdXMgPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VwYXJhdG9yIHVzZWQgaW4gc3RpY2t5IGhlYWRlciBvbiB0b3Agb2YgU2V0dGluZ3MgcGFnZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaGVhZGVyU2VwYXJhdG9yID0gJ3wnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgQWRkIHlvdXIgb3duIGN1c3RvbSBiYWNrIGJ1dHRvbiBpbiB0aGUgZm9ybVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJhY2tSb3V0ZTogeyBjb21tYW5kczogYW55W10sIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMgfTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldHRpbmdzVGl0bGU6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFN0b3JlIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgc2V0dGluZ3MgdGl0bGVcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZWxlY3RlZFNldHRpbmdzVGl0bGU6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFN0b3JlIHRoZSBjb25jYXRlbmF0aW9uIG9mIHNldHRpbmdzVGl0bGUsIGhlYWRlclNlcGFyYXRvciAmIHNlbGVjdGVkU2V0dGluZ3NUaXRsZVxyXG4gICAgICogVXNlZCBmb3IgdG9vbCB0aXAgd2hlbiBob3ZlciBvdmVyIGhlYWRlclxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZnVsbFNldHRpbmdzVGl0bGU6IHN0cmluZztcclxuXHJcbiAgICBAVmlld0NoaWxkKExheW91dENvbXBvbmVudClcclxuICAgIHByaXZhdGUgbGF5b3V0Q29tcG9uZW50OiBMYXlvdXRDb21wb25lbnQ7XHJcblxyXG4gICAgQFNtZUluamVjdChTZXR0aW5nc0Zvcm1TZXJ2aWNlKVxyXG4gICAgcHVibGljIHNldHRpbmdzRm9ybXM6IFNldHRpbmdzRm9ybVNlcnZpY2U7XHJcblxyXG4gICAgQFNtZUluamVjdChEaWFsb2dTZXJ2aWNlKVxyXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5zdG9wUHJvY2Vzc2luZ0V2ZW50cygpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5hbGxGb3Jtcy5mb3JFYWNoKChmb3JtKSA9PiB0aGlzLmFsbEZvcm1zLnB1c2goZm9ybSkpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMuZm9ybUFkZGVkKCkuc3Vic2NyaWJlKChmb3JtQWRkZWREYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyB0byBhdm9pZCBkdXBsaWNhdGVzIHdlIGZpcnN0IHJlbW92ZSB0aGUgZm9ybSBpZiBpdCBleGlzdHNcclxuICAgICAgICAgICAgICAgIE1zZnRTbWUucmVtb3ZlKHRoaXMuYWxsRm9ybXMsIGZvcm1BZGRlZERhdGEuZm9ybUdyb3VwKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWxsRm9ybXMucHVzaChmb3JtQWRkZWREYXRhLmZvcm1Hcm91cCk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIG5ldyBmb3JtLCBpdCBtZWFucyB0aGUgdXNlciBuYXZpZ2F0ZWQgc28gd2UgcmVzZXQgdGhlIGF1dG9mb2N1c1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvRm9jdXMgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5mb3JtUmVtb3ZlZCgpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIChmb3JtKSA9PiB7IE1zZnRTbWUucmVtb3ZlKHRoaXMuYWxsRm9ybXMsIGZvcm0pOyB9XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZnVsbFNldHRpbmdzVGl0bGUgPSB0aGlzLnNldHRpbmdzVGl0bGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLnN0YXJ0UHJvY2Vzc2luZ0V2ZW50cygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYW5EZWFjdGl2YXRlKFxyXG4gICAgICAgIGNvbXBvbmVudDogQ2FuQ29tcG9uZW50RGVhY3RpdmF0ZSxcclxuICAgICAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgICAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdFxyXG4gICAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuIHtcclxuICAgICAgICBsZXQgY29udGludWVOYXZpZ2F0aW9uOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYWxsRm9ybXMuZmlyc3QoKGZvcm0pID0+IHtcclxuICAgICAgICAgICAgaWYgKGZvcm0uZGlydHkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRpbnVlTmF2aWdhdGlvbiA9IHRoaXMuZGlhbG9nU2VydmljZVxyXG4gICAgICAgICAgICAgICAgICAgIC5zaG93Q29uZmlybWF0aW9uKGNvbXBvbmVudC5jb25maXJtQ29udGludWVFZGl0aW5nRGlhbG9nT3B0aW9ucyhmb3JtLCB0aGlzLmFsbEZvcm1zKSlcclxuICAgICAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBkZWZhdWx0IGlzIHRvIGNvbnRpbnVlIGVkaXRpbmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc2NhcmRDaGFuZ2VzID0gIXJlc3VsdC5jb25maXJtZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGlzY2FyZENoYW5nZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMuYWxsRm9ybXMgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGlzY2FyZENoYW5nZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyB3aXRoIG9uZSBkaXJ0eSBmb3JtIGlzIGVub3VnaCB0byBzaG93IHRoZSBkaWFsb2csIG5vIG5lZWQgdG8gaXRlcmF0ZSBvdmVyIGFsbCB0aGUgb3RoZXIgZGlhbG9nc1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGNvbnRpbnVlTmF2aWdhdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFuZ3VsYXIgTGlmZSBDeWNsZSBob29rIGZvciBBZnRlciBWaWV3IENoZWNrZWQuXHJcbiAgICAgKiBXaGVuIHRoZSB2aXNpYmlsaXR5IGNoYW5nZXMsIHdlIGFyZSBnb2luZyB0byBmb2N1cyBvbiB0aGUgZmlyc3QgZWxlbWVudCB0aGF0IGhhcyB0aGUgYXV0b2ZvY3VzIGF0dHJpYnV0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCkge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3Q2hlY2tlZCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmF1dG9Gb2N1cykge1xyXG4gICAgICAgICAgICBjb25zdCBhdXRvZm9jdXNFbGVtZW50ID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thdXRvZm9jdXNdJyk7XHJcbiAgICAgICAgICAgIGlmIChhdXRvZm9jdXNFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1dG9Gb2N1cyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYXV0b2ZvY3VzRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgaW5pdGlhbCBob3N0IGNsYXNzZXMgdG8gYmUgYXBwbGllZCB0byB0aGlzIGVsZW1lbnRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldEluaXRpYWxIb3N0Q2xhc3NlcygpIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFtcclxuICAgICAgICAgICAgJ3NtZS1zZXR0aW5ncydcclxuICAgICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNQYWRkaW5nUmVxdWlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMubGF5b3V0Q29tcG9uZW50ICYmIHRoaXMubGF5b3V0Q29tcG9uZW50LmN1cnJlbnRMYXlvdXREZWZpbml0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFkZFBhZGRpbmcgPSAgdGhpcy5sYXlvdXRDb21wb25lbnQuY3VycmVudExheW91dERlZmluaXRpb24ubmFtZSA9PT0gJ25hcnJvdyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlIHRoaXMuc2V0dGluZ3NUaXRsZSAoaGVhZGVyIG9mIHRoZSBzZXR0aW5nIHBhZ2UpIHRvIG5ld2x5IHNlbGVjdGVkIHNldHRpbmcgaXRlbVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdXBkYXRlU2VsZWN0ZWRTZXR0aW5nVGl0bGUobmV3U2VsZWN0ZWRTZXR0aW5nVGl0bGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTZXR0aW5nc1RpdGxlID0gbmV3U2VsZWN0ZWRTZXR0aW5nVGl0bGU7XHJcbiAgICAgICAgY29uc3QgZnVsbFNldHRpbmdzVGl0bGVQb3N0Rml4ID0gdGhpcy5zZWxlY3RlZFNldHRpbmdzVGl0bGUgPyB0aGlzLmhlYWRlclNlcGFyYXRvciArICcgJyArIHRoaXMuc2VsZWN0ZWRTZXR0aW5nc1RpdGxlIDogJyc7XHJcbiAgICAgICAgdGhpcy5mdWxsU2V0dGluZ3NUaXRsZSA9IHRoaXMuc2V0dGluZ3NUaXRsZSArICcgJyArIGZ1bGxTZXR0aW5nc1RpdGxlUG9zdEZpeDtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2stdiBzbWUtbGF5b3V0LXJlbGF0aXZlIHNtZS1hcnJhbmdlLW92ZXJmbG93LWF1dG8teSBzbWUtcG9zaXRpb24tc3RyZXRjaFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNtZS1sYXlvdXQtdG9vbC1oZWFkZXIgc21lLXBvc2l0aW9uLWZsZXgtbm9uZSBzbWUtYXJyYW5nZS1lbGxpcHNpcyBzbWUtcGFkZGluZy1ib3R0b20tbm9uZSBzbWUtcGFkZGluZy1sZWZ0LW1kXCIgKm5nSWY9XCJzZXR0aW5nc1RpdGxlXCI+XHJcbiAgICAgIDxoMiBbdGl0bGVdPVwiZnVsbFNldHRpbmdzVGl0bGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImZ1bGxTZXR0aW5nc1RpdGxlXCIgY2xhc3M9XCJzbWUtZm9udC1oM1wiPnt7IHNldHRpbmdzVGl0bGUgfX1cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInNlbGVjdGVkU2V0dGluZ3NUaXRsZVwiIGNsYXNzPVwic21lLXBhZGRpbmctaG9yaXpvbnRhbC1zbSBzbWUtZm9udC1mYW1pbHktbm9ybWFsXCI+e3sgaGVhZGVyU2VwYXJhdG9yIH19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwic2VsZWN0ZWRTZXR0aW5nc1RpdGxlXCIgY2xhc3M9XCJzbWUtZm9udC1mYW1pbHktbm9ybWFsXCI+e3sgc2VsZWN0ZWRTZXR0aW5nc1RpdGxlIH19PC9zcGFuPlxyXG4gICAgICA8L2gyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8c21lLWxheW91dCAjbGF5b3V0IChsYXlvdXRDaGFuZ2VkKT1cImlzUGFkZGluZ1JlcXVpcmVkKClcIiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LWF1dG8gc21lLWFycmFuZ2Utb3ZlcmZsb3ctYXV0b1wiIFtwYWRMYXN0SXRlbV09XCJmYWxzZVwiPlxyXG4gICAgICAgIDxzbWUtbGF5b3V0LWRlZmluaXRpb24gbmFtZT1cIm5hcnJvd1wiIFt1bnRpbF09XCI4MDBcIiBbY29sdW1uc109XCIxXCI+PC9zbWUtbGF5b3V0LWRlZmluaXRpb24+XHJcbiAgICAgICAgPHNtZS1sYXlvdXQtZGVmaW5pdGlvbiBuYW1lPVwid2lkZVwiIFtjb2x1bW5zXT1cIjVcIiBbYWRkQm90dG9tUGFkZGluZ109XCJmYWxzZVwiPjwvc21lLWxheW91dC1kZWZpbml0aW9uPlxyXG4gICAgICAgIDxzbWUtbGF5b3V0LWl0ZW0gW2NvbHVtblNwYW5dPVwiMVwiIFtuZ0NsYXNzXT1cImxheW91dC5jdXJyZW50TGF5b3V0RGVmaW5pdGlvbk5hbWU9PT0nbmFycm93JyA/ICcnIDogJ3NtZS1wb3NpdGlvbi1zdHJldGNoLXYnXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNtZS1zZXR0aW5ncy1uYXZpZ2F0aW9uXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvc21lLWxheW91dC1pdGVtPlxyXG4gICAgICAgIDxzbWUtbGF5b3V0LWl0ZW0gW2NvbHVtblNwYW5dPVwiNFwiIGNsYXNzPVwic21lLXBhZGRpbmctdG9wLXhzXCIgW25nQ2xhc3NdPVwiYWRkUGFkZGluZyA/ICdzbWUtcG9zaXRpb24tc3RyZXRjaCBzbWUtcGFkZGluZy1sZWZ0LXhsJyA6ICdzbWUtcG9zaXRpb24tc3RyZXRjaCdcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXNldHRpbmdzLWhlYWRlclwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXNldHRpbmdzLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNtZS1zZXR0aW5ncy1mb290ZXJcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9zbWUtbGF5b3V0LWl0ZW0+XHJcbiAgICA8L3NtZS1sYXlvdXQ+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
3
4
|
import { RouterModule } from '@angular/router';
|
|
4
5
|
import { SmeRouterModule } from '../../directives/router/router.module';
|
|
6
|
+
import { SmeFormsModule } from '../form/forms.module';
|
|
5
7
|
import { HeaderModule } from '../header/header.module';
|
|
6
8
|
import { LayoutModule } from '../layout/layout.module';
|
|
7
9
|
import { TooltipModule } from '../tooltip/tooltip.module';
|
|
@@ -17,9 +19,13 @@ import { SettingsNavigationComponent } from './settings-navigation.component';
|
|
|
17
19
|
import { SettingsComponent } from './settings.component';
|
|
18
20
|
import * as i0 from "@angular/core";
|
|
19
21
|
import * as i1 from "@angular/common";
|
|
20
|
-
import * as i2 from "
|
|
21
|
-
import * as i3 from "
|
|
22
|
-
import * as i4 from "
|
|
22
|
+
import * as i2 from "@angular/forms";
|
|
23
|
+
import * as i3 from "../form/form-field/form-field-accessor.directive";
|
|
24
|
+
import * as i4 from "../form/form-field/form-field-validator.directive";
|
|
25
|
+
import * as i5 from "../form/form-field/search/search-form-field.component";
|
|
26
|
+
import * as i6 from "../tooltip/tooltip.directive";
|
|
27
|
+
import * as i7 from "@angular/router";
|
|
28
|
+
import * as i8 from "../../directives/router/router-link.directive";
|
|
23
29
|
export class SettingsModule {
|
|
24
30
|
}
|
|
25
31
|
/** @nocollapse */ SettingsModule.ɵfac = function SettingsModule_Factory(t) { return new (t || SettingsModule)(); };
|
|
@@ -33,7 +39,9 @@ export class SettingsModule {
|
|
|
33
39
|
CommonModule,
|
|
34
40
|
HeaderModule,
|
|
35
41
|
LayoutModule,
|
|
36
|
-
TooltipModule
|
|
42
|
+
TooltipModule,
|
|
43
|
+
FormsModule,
|
|
44
|
+
SmeFormsModule
|
|
37
45
|
]] });
|
|
38
46
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SettingsModule, { declarations: [SettingsComponent,
|
|
39
47
|
SettingsFormDirective,
|
|
@@ -47,7 +55,9 @@ export class SettingsModule {
|
|
|
47
55
|
CommonModule,
|
|
48
56
|
HeaderModule,
|
|
49
57
|
LayoutModule,
|
|
50
|
-
TooltipModule
|
|
58
|
+
TooltipModule,
|
|
59
|
+
FormsModule,
|
|
60
|
+
SmeFormsModule], exports: [SettingsComponent,
|
|
51
61
|
SettingsFormDirective,
|
|
52
62
|
SettingsFooterComponent,
|
|
53
63
|
SettingsHeaderComponent,
|
|
@@ -64,7 +74,9 @@ export class SettingsModule {
|
|
|
64
74
|
CommonModule,
|
|
65
75
|
HeaderModule,
|
|
66
76
|
LayoutModule,
|
|
67
|
-
TooltipModule
|
|
77
|
+
TooltipModule,
|
|
78
|
+
FormsModule,
|
|
79
|
+
SmeFormsModule
|
|
68
80
|
],
|
|
69
81
|
exports: [
|
|
70
82
|
SettingsComponent,
|
|
@@ -93,6 +105,6 @@ export class SettingsModule {
|
|
|
93
105
|
}]
|
|
94
106
|
}], null, null); })();
|
|
95
107
|
i0.ɵɵsetComponentScope(CommonSettingsComponent, [SettingsComponent,
|
|
96
|
-
SettingsNavigationComponent, i1.NgIf,
|
|
97
|
-
SettingsContentComponent,
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
SettingsNavigationComponent, i1.NgIf, i2.ɵangular_packages_forms_forms_ba, i2.NgControlStatusGroup, i2.NgForm, i3.FormFieldAccessorDirective, i4.FormFieldValidatorDirective, i5.SearchFormFieldComponent, i2.NgControlStatus, i2.NgModel, i1.NgClass, i1.NgForOf, i6.TooltipDirective, i7.RouterLinkWithHref, i7.RouterLinkActive, i8.SmeRouterLinkDirective, SettingsHeaderComponent,
|
|
109
|
+
SettingsContentComponent, i7.RouterOutlet, SettingsFooterComponent], []);
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7OztBQXNDekQsTUFBTSxPQUFPLGNBQWM7OytGQUFkLGNBQWM7cUVBQWQsY0FBYzswRUFMWjtRQUNQLG1CQUFtQjtRQUNuQixrQkFBa0I7S0FDckIsWUFqQ1E7WUFDTCxlQUFlO1lBQ2YsWUFBWTtZQUNaLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTtZQUNaLGFBQWE7WUFDYixXQUFXO1lBQ1gsY0FBYztTQUNqQjt3RkEwQlEsY0FBYyxtQkFkbkIsaUJBQWlCO1FBQ2pCLHFCQUFxQjtRQUNyQix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsMkJBQTJCO1FBQzNCLHVCQUF1QixhQTNCdkIsZUFBZTtRQUNmLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLFlBQVk7UUFDWixhQUFhO1FBQ2IsV0FBVztRQUNYLGNBQWMsYUFHZCxpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2Qix1QkFBdUI7UUFDdkIsd0JBQXdCO1FBQ3hCLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0IsdUJBQXVCO3VGQWlCbEIsY0FBYztjQXBDMUIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxlQUFlO29CQUNmLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixZQUFZO29CQUNaLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixXQUFXO29CQUNYLGNBQWM7aUJBQ2pCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxpQkFBaUI7b0JBQ2pCLHFCQUFxQjtvQkFDckIsdUJBQXVCO29CQUN2Qix1QkFBdUI7b0JBQ3ZCLHdCQUF3QjtvQkFDeEIscUJBQXFCO29CQUNyQiwyQkFBMkI7b0JBQzNCLHVCQUF1QjtpQkFDMUI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLGlCQUFpQjtvQkFDakIscUJBQXFCO29CQUNyQix1QkFBdUI7b0JBQ3ZCLHVCQUF1QjtvQkFDdkIsd0JBQXdCO29CQUN4QixxQkFBcUI7b0JBQ3JCLDJCQUEyQjtvQkFDM0IsdUJBQXVCO2lCQUMxQjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1AsbUJBQW1CO29CQUNuQixrQkFBa0I7aUJBQ3JCO2FBQ0o7O3VCQU5PLHVCQUF1QixHQVB2QixpQkFBaUI7SUFNakIsMkJBQTJCLG9VQUgzQix1QkFBdUI7SUFDdkIsd0JBQXdCLG1CQUZ4Qix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU21lUm91dGVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9yb3V0ZXIvcm91dGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNtZUZvcm1zTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS9mb3Jtcy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBIZWFkZXJNb2R1bGUgfSBmcm9tICcuLi9oZWFkZXIvaGVhZGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IExheW91dE1vZHVsZSB9IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDb21tb25TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uLXNldHRpbmdzL2NvbW1vbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc1BhZ2VDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi1zZXR0aW5ncy9zZXR0aW5ncy1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhbkRlYWN0aXZhdGVHdWFyZCB9IGZyb20gJy4vc2V0dGluZ3MtY2FuLWRlYWN0aXZhdGUtZ3VhcmQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNldHRpbmdzQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZ3MtY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc0Zvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZ3MtZm9vdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNldHRpbmdzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vc2V0dGluZ3MtZm9ybS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc0Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi9zZXR0aW5ncy1mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc0hlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZ3MtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNldHRpbmdzTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZ3MtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZ3MuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgU21lUm91dGVyTW9kdWxlLFxyXG4gICAgICAgIFJvdXRlck1vZHVsZSxcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgSGVhZGVyTW9kdWxlLFxyXG4gICAgICAgIExheW91dE1vZHVsZSxcclxuICAgICAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFNtZUZvcm1zTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzRm9ybURpcmVjdGl2ZSxcclxuICAgICAgICBTZXR0aW5nc0Zvb3RlckNvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc0hlYWRlckNvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc0NvbnRlbnRDb21wb25lbnQsXHJcbiAgICAgICAgU2V0dGluZ3NQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzTmF2aWdhdGlvbkNvbXBvbmVudCxcclxuICAgICAgICBDb21tb25TZXR0aW5nc0NvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzRm9ybURpcmVjdGl2ZSxcclxuICAgICAgICBTZXR0aW5nc0Zvb3RlckNvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc0hlYWRlckNvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc0NvbnRlbnRDb21wb25lbnQsXHJcbiAgICAgICAgU2V0dGluZ3NQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzTmF2aWdhdGlvbkNvbXBvbmVudCxcclxuICAgICAgICBDb21tb25TZXR0aW5nc0NvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIFNldHRpbmdzRm9ybVNlcnZpY2UsXHJcbiAgICAgICAgQ2FuRGVhY3RpdmF0ZUd1YXJkXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXR0aW5nc01vZHVsZSB7IH1cclxuIl19
|