@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
|
@@ -292,21 +292,28 @@ export class PivotComponent extends CoreBaseComponent {
|
|
|
292
292
|
isSelected(tab) {
|
|
293
293
|
return this.selection && this.selection === tab;
|
|
294
294
|
}
|
|
295
|
+
/**
|
|
296
|
+
* Force refresh for the pivot tabs.
|
|
297
|
+
*/
|
|
298
|
+
refresh() {
|
|
299
|
+
this.updatePivotTabs();
|
|
300
|
+
}
|
|
295
301
|
/**
|
|
296
302
|
* Selects a tab
|
|
297
303
|
* @param tab The tab to select
|
|
298
304
|
*/
|
|
299
305
|
select(tab) {
|
|
300
|
-
/**
|
|
301
|
-
*
|
|
302
|
-
*
|
|
306
|
+
/**
|
|
307
|
+
* At any given time we should have an attribute that lets us know if a tab is visible or not.
|
|
303
308
|
*/
|
|
304
309
|
if (tab) {
|
|
305
310
|
for (let i = 0; i < this.trayTabs.length; i++) {
|
|
306
311
|
if (this.trayTabs[i] === tab) {
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
312
|
+
if (this.visibleTabs && this.visibleTabs.length > 0) {
|
|
313
|
+
const hiddenTab = this.visibleTabs.pop();
|
|
314
|
+
hiddenTab.isVisible = false;
|
|
315
|
+
this.trayTabs.push(hiddenTab);
|
|
316
|
+
}
|
|
310
317
|
this.visibleTabs.push(tab);
|
|
311
318
|
tab.isVisible = true;
|
|
312
319
|
this.trayTabs.splice(i, 1);
|
|
@@ -387,7 +394,6 @@ export class PivotComponent extends CoreBaseComponent {
|
|
|
387
394
|
currentFill += tabWidth;
|
|
388
395
|
}
|
|
389
396
|
}
|
|
390
|
-
this.emitLayoutChanged();
|
|
391
397
|
}
|
|
392
398
|
}
|
|
393
399
|
/** @nocollapse */ PivotComponent.ɵfac = function PivotComponent_Factory(t) { return new (t || PivotComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(SME_LAYOUT_PROVIDER, 12)); };
|
|
@@ -459,6 +465,12 @@ __decorate([
|
|
|
459
465
|
SmeInject(ChangeDetectorRef),
|
|
460
466
|
__metadata("design:type", ChangeDetectorRef)
|
|
461
467
|
], PivotComponent.prototype, "changeDetectorRef", void 0);
|
|
468
|
+
__decorate([
|
|
469
|
+
Debounce(),
|
|
470
|
+
__metadata("design:type", Function),
|
|
471
|
+
__metadata("design:paramtypes", []),
|
|
472
|
+
__metadata("design:returntype", void 0)
|
|
473
|
+
], PivotComponent.prototype, "refresh", null);
|
|
462
474
|
__decorate([
|
|
463
475
|
Debounce(),
|
|
464
476
|
__metadata("design:type", Function),
|
|
@@ -518,5 +530,5 @@ __decorate([
|
|
|
518
530
|
}], changeDetectorRef: [], dropDownButtonElement: [{
|
|
519
531
|
type: ViewChild,
|
|
520
532
|
args: ['dropDownButton']
|
|
521
|
-
}], emitLayoutChanged: [], onLayoutChanged: [] }); })();
|
|
522
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcGl2b3QvcGl2b3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcGl2b3QvcGl2b3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFHSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RFLE9BQU8sRUFBVSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7SUN4QnZFLDhCQUFzRDtJQUFBLFlBQWM7SUFBQSxpQkFBSzs7O0lBQW5CLGVBQWM7SUFBZCx1Q0FBYzs7O0lBWTVELHVCQUEyRDs7O0lBQS9CLCtCQUF1Qjs7OztJQUxyRCxrQ0FJOEU7SUFBdkMsd1JBQXNDO0lBQzNFLDBGQUEyRDtJQUMzRCw0QkFBTTtJQUFBLFlBQWE7SUFBQSxpQkFB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UUMsUUFBUTtrQkFGZCxXQUFXO21CQUFDLG9CQUFvQjs7a0JBQ2hDLEtBQUs7WUE2QkUsaUJBQWlCLE1BSVkscUJBQXFCO2tCQUF6RCxTQUFTO21CQUFDLGdCQUFnQjtZQXNFbkIsaUJBQWlCLE1BS2pCLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICAgIEFmdGVyQ29udGVudEluaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIENvbnRlbnRDaGlsZHJlbixcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBmb3J3YXJkUmVmLFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbmplY3QsXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgT3B0aW9uYWwsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBTa2lwU2VsZixcclxuICAgIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvYmFzZS9kZWNvcmF0b3JzL2RlYm91bmNlLmRlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBDb3JlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbW1vbi9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtZUluamVjdCB9IGZyb20gJy4uL2NvbW1vbi9kZWNvcmF0b3JzL2luamVjdGlvbi5kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgTGF5b3V0LCBTTUVfTEFZT1VUX1BST1ZJREVSIH0gZnJvbSAnLi4vY29tbW9uL2xheW91dCc7XHJcbmltcG9ydCB7IFBpdm90VGFiVHlwZSB9IGZyb20gJy4vcGl2b3QtdGFiLXR5cGUnO1xyXG5pbXBvcnQgeyBQaXZvdFRhYkNvbXBvbmVudCB9IGZyb20gJy4vcGl2b3QtdGFiLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNNRV9QSVZPVF9UQUJfQ09OVEFJTkVSX1BST1ZJREVSIH0gZnJvbSAnLi9waXZvdC10YWIuY29udGFpbmVyJztcclxuXHJcbi8qKlxyXG4gKiBAc21lRG9jIHtAbGFiZWwgUGl2b3QgQGlkIHNtZS1waXZvdC1jb21wb25lbnR9XHJcbiAqXHJcbiAqIEBvdmVydmlld1xyXG4gKiBAZmlsZSB7QGZpbGVwYXRoIC4vZXhhbXBsZXMvb3ZlcnZpZXcubWR9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgU3RhdGljIFRhYiBAaWQgc3RhdGljLXRhYn1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9zdGF0aWMtdGFiLmNvbXBvbmVudC5odG1sfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIFJvdXRlZCBUYWIgQGlkIHJvdXRlZC10YWJ9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvcm91dGVkLXRhYi5jb21wb25lbnQuaHRtbH1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtcGl2b3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Bpdm90LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogU01FX0xBWU9VVF9QUk9WSURFUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGl2b3RDb21wb25lbnQpIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBTTUVfUElWT1RfVEFCX0NPTlRBSU5FUl9QUk9WSURFUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGl2b3RDb21wb25lbnQpIH1cclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBpdm90Q29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBMYXlvdXQsIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyQ29udGVudEluaXQge1xyXG4gICAgcHVibGljIHZpc2libGVUYWJzOiBQaXZvdFRhYkNvbXBvbmVudFtdOyAvLyBSZWd1bGF0ZXMgdGhlIHRhYnMgdGhhdCBnZXQgZGlzcGxheWVkLlxyXG4gICAgcHVibGljIHRyYXlUYWJzID0gW107IC8vIFJlZ3VsYXRlcyB0aGUgdGFicyB0aGF0IGFyZSBhZGRlZCB0byB0aGUgZHJvcGRvd24gaWYgbmVjZXNzYXJ5LlxyXG4gICAgcHVibGljIG1vcmVUYWJzRGlzcGxheSA9ICdNb3JlJzsgLy8gTGFiZWwgZm9yIHRoZSBkcm9wZG93biBtZW51IHRhYnNcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzb3VyY2UgbmFtZSB0byB1c2UgZm9yIGxvZ2dpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldCBsb2dTb3VyY2VOYW1lKCkge1xyXG4gICAgICAgIHJldHVybiAnUGl2b3RDb21wb25lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNlbGVjdGVkIHRhYlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGlvbjogUGl2b3RUYWJDb21wb25lbnQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBpbmRpY2F0ZXMgd2hldGhlciB0byBzaG93L2hpZGUgb3IgbG9hZC91bmxvYWQgdGhlIHRhYnMgdG8gZG8gdGFiIHN3aXRjaGluZ1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHN3aXRjaFRhYkJ5U2hvd0hpZGU6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZXh0IGZvciBhIGhlYWRlciB0byBzaG93IHdpdGggdGhlIHBpdm90IHRhYnMuIERpc3BsYXllZCBhcyBoNCB3aXRoIHRhYnMgb24gdGhlIHJpZ2h0LlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGhlYWRlclRleHQ6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIDA4LzMwLzE5LiBQbGVhc2UgdXNlIGFsaWduVGFicyBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGFsaWduSGVhZGVyKHZhbHVlOiAncmlnaHQnIHwgJ2xlZnQnKSB7XHJcbiAgICAgICAgdGhpcy5hbGlnblRhYnMgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFdoZXJlIHRvIGFsaWduIHRhYnMsIGxlZnQgb3IgcmlnaHRcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhbGlnblRhYnM6ICdyaWdodCcgfCAnbGVmdCc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc2VsZWN0ZWQgdGFiIGNoYW5nZWQgZXZlbnRcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQaXZvdFRhYkNvbXBvbmVudD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcGxlbWVudGF0aW9uIG9mIHRoZSBMYXlvdXQgaW50ZXJmYWNlXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGxheW91dENoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBUYWJzIG9mIHRoZSBQaXZvdFxyXG4gICAgICovXHJcbiAgICBAQ29udGVudENoaWxkcmVuKFBpdm90VGFiQ29tcG9uZW50KVxyXG4gICAgcHVibGljIHRhYnM6IFF1ZXJ5TGlzdDxQaXZvdFRhYkNvbXBvbmVudD47XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihQaXZvdFRhYkNvbXBvbmVudClcclxuICAgIHB1YmxpYyB2aXNpYmxlVGFic1FMOiBRdWVyeUxpc3Q8UGl2b3RUYWJDb21wb25lbnQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQmluZGFibGUgcHJvcGVydHkgZm9yIHRhYiB0eXBlc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcGl2b3RUYWJUeXBlID0gUGl2b3RUYWJUeXBlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbm9MZWZ0UGFkZGluZyA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIGlmIHRoaXMgcGl2b3QgaXMgZGlzYWJsZWRcclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtZGlzYWJsZWQnKVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHJvdXRlZCB0YWJzIGhhdmUgYmVlbiBwcm92aWRlZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGhhc1JvdXRlZFRhYnMoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGFicyAmJiB0aGlzLnRhYnMuc29tZSh0ID0+IHQudHlwZSA9PT0gUGl2b3RUYWJUeXBlLlJvdXRlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhhdCBzdGF0aWMgdGFicyBoYXZlIGJlZW4gcHJvdmlkZWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBoYXNTdGF0aWNUYWJzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMgJiYgdGhpcy50YWJzLnNvbWUodCA9PiB0LnR5cGUgPT09IFBpdm90VGFiVHlwZS5TdGF0aWMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdmlzaVRhYnMoKTogUGl2b3RUYWJDb21wb25lbnRbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGFicy5maWx0ZXIodGFiID0+IHRhYi5pc1Zpc2libGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoYXQgc3RhdGljIHRhYnMgaGF2ZSBiZWVuIHByb3ZpZGVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgc2VsZWN0aW9uSXNSb3V0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uICYmIHRoaXMuc2VsZWN0aW9uLnR5cGUgPT09IFBpdm90VGFiVHlwZS5Sb3V0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgQFNtZUluamVjdChDaGFuZ2VEZXRlY3RvclJlZilcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGlzIGRyb3Bkb3duIGVsZW1lbnQgdGhhdCBjb250YWlucyBwaXZvdFRhYnMgb25seSBpZiB0aGUgc2NyZWVuIHNpemUgZG9lc24ndCBhbGxvdy5cclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZCgnZHJvcERvd25CdXR0b24nKSBwcml2YXRlIGRyb3BEb3duQnV0dG9uRWxlbWVudDogRWxlbWVudFJlZjtcclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIEBzZWUgUGl2b3RDb21wb25lbnQgY2xhc3MuXHJcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgVGhlIGFuZ3VsYXIgaW5qZWN0aW9uIHNlcnZpY2UuIHJlcXVpcmVkIGJ5IEBTbWVJbmplY3RhYmxlKCkgZGVjb3JhdG9yIGluIHRoZSBiYXNlIEBzZWUgQmFzZUNvbXBvbmVudCBjbGFzc1xyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgQEluamVjdChTTUVfTEFZT1VUX1BST1ZJREVSKSBsYXlvdXQ6IExheW91dCkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgICAgICBpZiAobGF5b3V0KSB7XHJcbiAgICAgICAgICAgIC8vIG9uIHBhcmVudCBsYXlvdXQgY2hhbmdlcywgcmUtZW1pdCB0aGUgbGF5b3V0IGNoYW5nZSB0byBvdXIgZXZlbnRcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2gobGF5b3V0LmxheW91dENoYW5nZWQuc3Vic2NyaWJlKCgoKSA9PiB0aGlzLm9uTGF5b3V0Q2hhbmdlZCgpKSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnRhYnMgJiYgdGhpcy50YWJzLmZpcnN0ICYmICF0aGlzLnNlbGVjdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IHRoaXMudGFicy5maXJzdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMudGFicy5sZW5ndGggPCAxKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgICAgICAgICdQaXZvdCBtdXN0IGNvbnRhaW4gY2hpbGQgdGFicy4gRXhwZWN0ZWQgYXQgbGVhc3Qgb25lICgxKSB0YWInXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmlzaWJsZVRhYnMgPSB0aGlzLnRhYnMudG9BcnJheSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgb2YgYSBnaXZlbiB0YWIgaXMgc2VsZWN0ZWRcclxuICAgICAqIEBwYXJhbSB0YWIgVGhlIHRhYiB0byBjb21wYXJlIHdpdGhcclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzU2VsZWN0ZWQodGFiOiBQaXZvdFRhYkNvbXBvbmVudCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbiAmJiB0aGlzLnNlbGVjdGlvbiA9PT0gdGFiO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VsZWN0cyBhIHRhYlxyXG4gICAgICogQHBhcmFtIHRhYiBUaGUgdGFiIHRvIHNlbGVjdFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2VsZWN0KHRhYjogUGl2b3RUYWJDb21wb25lbnQpOiB2b2lkIHtcclxuXHJcbiAgICAgICAgLyoqIEF0IGFueSBnaXZlbiB0aW1lIHdlIHNob3VsZCBoYXZlIGFuIGF0dHJpYnV0ZSB0aGF0IGxldHMgdXMga25vdyBpZiBhIHRhYiBpcyB2aXNpYmxlIG9yIG5vdC5cclxuICAgICAgICAgKlxyXG4gICAgICAgICAqXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgaWYgKHRhYikge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudHJheVRhYnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyYXlUYWJzW2ldID09PSB0YWIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBoaWRkZW5UYWIgPSB0aGlzLnZpc2libGVUYWJzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlblRhYi5pc1Zpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYXlUYWJzLnB1c2goaGlkZGVuVGFiKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVUYWJzLnB1c2godGFiKTtcclxuICAgICAgICAgICAgICAgICAgICB0YWIuaXNWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYXlUYWJzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSB0YWI7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGFiKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZW1pdExheW91dENoYW5nZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQERlYm91bmNlKClcclxuICAgIHByaXZhdGUgZW1pdExheW91dENoYW5nZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5sYXlvdXRDaGFuZ2VkLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBARGVib3VuY2UoMClcclxuICAgIHByaXZhdGUgb25MYXlvdXRDaGFuZ2VkKCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlUGl2b3RUYWJzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFRhYlBhbmVsSW5kZXgoaWQ6IHN0cmluZywgY3VycmVudFRhYjogYm9vbGVhbik6IG51bWJlciB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgY29uc3QgdGFiUGFuZWxTZWN0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG5cclxuICAgICAgICBpZiAoY3VycmVudFRhYiAmJiB0YWJQYW5lbFNlY3Rpb24pIHtcclxuICAgICAgICAgICAgLy8gbm8gc2Nyb2xsIGJhciBpcyB2aXNpYmxlIHdoZW4gc2Nyb2xsSGVpZ2h0IGlzIGVxdWFsIHRvIGNsaWVudEhlaWdodFxyXG4gICAgICAgICAgICAvLyB1c2UgdGhpcyB0byBzZXQgdGFiaW5kZXggb25seSBmb3Igc2Nyb2xsYWJsZSBjb250ZW50XHJcbiAgICAgICAgICAgIGNvbnN0IGhhc1Njcm9sbEJhciA9IHRhYlBhbmVsU2VjdGlvbi5zY3JvbGxIZWlnaHQgIT09IHRhYlBhbmVsU2VjdGlvbi5jbGllbnRIZWlnaHQ7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gaGFzU2Nyb2xsQmFyID8gMCA6IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIHRoZSBpZEJhZyB1c2VkIGJ5IHRoaXMgY29tcG9uZW50IHRvIHN0b3JlIHVuaXF1ZSBlbGVtZW50IGlkcy5cclxuICAgICAqIGlkIHZhbHVlcyB3aWxsIGJlIGFzc2lnbmVkIGJ5IHRoZSBAc2VlIEJhc2VDb21wb25lbnQgc3VwZXIgY2xhc3MuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBjcmVhdGVJZEJhZygpOiBNc2Z0U21lLlN0cmluZ01hcDxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0YWJQYW5lbDogJydcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgaW5pdGlhbCBob3N0IGNsYXNzZXMgdG8gYmUgYXBwbGllZCB0byB0aGlzIGVsZW1lbnRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldEluaXRpYWxIb3N0Q2xhc3NlcygpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEluaXRpYWxIb3N0Q2xhc3NlcygpLmNvbmNhdChbXHJcbiAgICAgICAgICAgICdzbWUtcGl2b3QnXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVQaXZvdFRhYnMoKSB7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRGaWxsID0gMDtcclxuICAgICAgICB0aGlzLnZpc2libGVUYWJzID0gW107XHJcbiAgICAgICAgdGhpcy50cmF5VGFicyA9IFtdO1xyXG5cclxuICAgICAgICBjb25zdCBob3N0ID0gPEhUTUxFbGVtZW50PnRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBjb25zdCB0YWJCYXJXaWR0aCA9IGhvc3Qub2Zmc2V0V2lkdGg7XHJcblxyXG4gICAgICAgIGxldCB0b3RhbFRhYldpZHRoID0gMDtcclxuICAgICAgICBjb25zdCB0YWJMaXN0ID0gdGhpcy50YWJzLnRvQXJyYXkoKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudGFicy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCB0YWI6IFBpdm90VGFiQ29tcG9uZW50ID0gdGFiTGlzdFtpXTtcclxuICAgICAgICAgICAgY29uc3QgdGFiV2lkdGggPSB0YWIud2lkdGg7XHJcbiAgICAgICAgICAgIHRvdGFsVGFiV2lkdGggKz0gdGFiV2lkdGg7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRvdGFsVGFiV2lkdGggPD0gdGFiQmFyV2lkdGgpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhYnMubGVuZ3RoOyArK2kpIHtcclxuICAgICAgICAgICAgICAgIHRhYkxpc3RbaV0uaXNWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZVRhYnMucHVzaCh0YWJMaXN0W2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZpc2libGVUYWJCYXJXaWR0aCA9IHRhYkJhcldpZHRoIC0gdGhpcy5kcm9wRG93bkJ1dHRvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhYnMubGVuZ3RoOyArK2kpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRhYiA9IHRhYkxpc3RbaV07XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0YWJXaWR0aCA9IHRhYi53aWR0aDtcclxuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50RmlsbCArIHRhYldpZHRoID4gdmlzaWJsZVRhYkJhcldpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFiLmlzVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJheVRhYnMucHVzaCh0YWIpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0YWIuaXNWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVUYWJzLnB1c2godGFiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50RmlsbCArPSB0YWJXaWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmVtaXRMYXlvdXRDaGFuZ2VkKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIjxkaXYgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay1oXCIgW3N0eWxlLnBhZGRpbmdMZWZ0XT1cIm5vTGVmdFBhZGRpbmc/MDpudWxsXCI+XHJcbiAgPGg0ICpuZ0lmPVwiaGVhZGVyVGV4dFwiIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtYXV0b1wiPnt7aGVhZGVyVGV4dH19PC9oND5cclxuXHJcbiAgPGhlYWRlciBbY2xhc3Muc21lLXBpdm90LXJldmVyc2UtaGVhZGVyXT1cImFsaWduVGFicyA9PT0gJ3JpZ2h0J1wiIFtjbGFzcy5zbWUtcG9zaXRpb24tc3RyZXRjaC1oXT1cIiFoZWFkZXJUZXh0XCI+XHJcbiAgICA8IS0tIENhbm5vdCB1c2UgXCJzbWUtcGFkZGluZy1sZWZ0LW5vbmVcIiBDU1MgY2xhc3MgaW4gPGhlYWRlcj4gYWJvdmUgc2luY2Ugc21lLXBhZGRpbmctbGVmdC1ub25lIGRvZXNuJ3QgaGF2ZSBlbm91Z2ggc2VsZWN0b3Igd2VpZ2h0IHRvIG92ZXJyaWRlIHNtZS1waXZvdD5bcm9sZT1cInRhYmxpc3RcIl0gc2VsZWN0b3IgLS0+XHJcbiAgICA8ZGl2IHJvbGU9XCJ0YWJsaXN0XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB2aXNpYmxlVGFiczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgIDwhLS0gUm91dGVkIFRhYiBpdGVtIC0tPlxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJ0YWIudHlwZSA9PT0gcGl2b3RUYWJUeXBlLlJvdXRlZFwiIHJvbGU9XCJ0YWJcIiBbcm91dGVyTGlua109XCJ0YWIucm91dGVcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpZEJhZy50YWJQYW5lbFwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgdGFiLmRpc2FibGVkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0YWIuZGlzYWJsZWRcIiBbY2xhc3Muc21lLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IHRhYi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWQodGFiKVwiIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ0YWIucm91dGVyTGlua0FjdGl2ZU9wdGlvbnNcIlxyXG4gICAgICAgICAgW2NsYXNzLnNtZS1hY3RpdmVdPVwiaXNTZWxlY3RlZCh0YWIpXCIgKHNtZVJvdXRlckxpbmtBY3RpdmF0ZWQpPVwic2VsZWN0KHRhYilcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25DbGFzc1wiIFtjbGFzc109XCJ0YWIuaWNvbkNsYXNzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4+e3t0YWIubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPCEtLSBTdGF0aWMgVGFiIEl0ZW0gLS0+XHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInRhYi50eXBlID09PSBwaXZvdFRhYlR5cGUuU3RhdGljXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cInRhYlwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlkQmFnLnRhYlBhbmVsICsgaVwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgdGFiLmRpc2FibGVkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0YWIuZGlzYWJsZWRcIiBbY2xhc3Muc21lLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IHRhYi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWQodGFiKVwiIFtjbGFzcy5zbWUtYWN0aXZlXT1cImlzU2VsZWN0ZWQodGFiKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KHRhYilcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25DbGFzc1wiIFtjbGFzc109XCJ0YWIuaWNvbkNsYXNzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4+e3t0YWIubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgcm9sZT1cIm1lbnVcIj5cclxuICAgICAgICA8c21lLWRyb3Bkb3duICNkcm9wRG93biByb2xlPVwicHJlc2VudGF0aW9uXCIgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1ub25lXCJcclxuICAgICAgICAgIFtjbGFzcy5zbWUtbGF5b3V0LWhpZGRlbl09XCJ0cmF5VGFicy5sZW5ndGggPT09IDBcIiBbY2xhc3Muc21lLWxheW91dC1ub25lXT1cInRyYXlUYWJzLmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiAjZHJvcERvd25CdXR0b24gdHlwZT1cImJ1dHRvblwiIFthdHRyLmFyaWEtbGFiZWxdPVwibW9yZVRhYnNEaXNwbGF5XCIgcm9sZT1cIm1lbnVpdGVtXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJzbWUtYnV0dG9uLXRyaWdnZXIgc21lLWxheW91dC1hY3Rpb24tYmFyLWl0ZW0taGVpZ2h0IHNtZS1idXR0b24tYXV0by13aWR0aCBzbWUtZHJvcGRvd24tdG9nZ2xlXCJcclxuICAgICAgICAgICAgW2NsYXNzLnNtZS10b2dnbGVkXT1cImRyb3BEb3duLmlzT3BlblwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZHJvcERvd24uaXNPcGVuXCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgbW9yZVRhYnNEaXNwbGF5IH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNtZS1pY29uIHNtZS1pY29uLXNpemUteHhzIHNtZS1pY29uLWNoZXZyb25Eb3duIHNtZS1tYXJnaW4tbGVmdC14c1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGRpdiByb2xlPVwibWVudVwiIGNsYXNzPVwic21lLWRyb3Bkb3duLWNvbnRlbnQgc21lLWFycmFuZ2Utc3RhY2stdiBzbWUtcG9zaXRpb24tc3RyZXRjaC1oXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay1oXCIgKm5nRm9yPVwibGV0IHRhYiBvZiB0cmF5VGFiczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ0YWIudHlwZSA9PT0gcGl2b3RUYWJUeXBlLlJvdXRlZFwiIHJvbGU9XCJtZW51aXRlbVwiIFtyb3V0ZXJMaW5rXT1cInRhYi5yb3V0ZVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNtZS1wb3NpdGlvbi1zdHJldGNoLWhcIiBbY2xhc3Muc21lLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IHRhYi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAoc21lUm91dGVyTGlua0FjdGl2YXRlZCk9XCJzZWxlY3QodGFiKVwiIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ0YWIucm91dGVyTGlua0FjdGl2ZU9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25DbGFzc1wiIFtjbGFzc109XCJ0YWIuaWNvbkNsYXNzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3t0YWIubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidGFiLnR5cGUgPT09IHBpdm90VGFiVHlwZS5TdGF0aWNcIiByb2xlPVwibWVudWl0ZW1cIiBjbGFzcz1cInNtZS1wb3NpdGlvbi1zdHJldGNoLWhcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNtZS1kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0YWIuZGlzYWJsZWRcIiAoY2xpY2spPVwic2VsZWN0KHRhYilcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25DbGFzc1wiIFtjbGFzc109XCJ0YWIuaWNvbkNsYXNzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3t0YWIubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3NtZS1kcm9wZG93bj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2hlYWRlcj5cclxuPC9kaXY+XHJcbjwhLS0gUm91dGVkIFRhYiBDb250ZW50IC0tPlxyXG48c2VjdGlvbiAqbmdJZj1cImhhc1JvdXRlZFRhYnNcIiByb2xlPVwidGFicGFuZWxcIiBbaWRdPVwiaWRCYWcudGFiUGFuZWxcIiBbY2xhc3Muc21lLWxheW91dC1ub25lXT1cIiFzZWxlY3Rpb25Jc1JvdXRlZFwiXHJcbiAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIXNlbGVjdGlvbklzUm91dGVkXCI+XHJcbiAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG48L3NlY3Rpb24+XHJcblxyXG48IS0tIFN0YXRpYyBUYWIgQ29udGVudCAtLT5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1N0YXRpY1RhYnNcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdmlzaWJsZVRhYnM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWIudHlwZSA9PT0gcGl2b3RUYWJUeXBlLlN0YXRpY1wiPlxyXG4gICAgICA8c2VjdGlvbiByb2xlPVwidGFicGFuZWxcIiBbaWRdPVwiaWRCYWcudGFiUGFuZWwgKyBpXCIgW2NsYXNzLnNtZS1sYXlvdXQtbm9uZV09XCIhaXNTZWxlY3RlZCh0YWIpXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhaXNTZWxlY3RlZCh0YWIpXCIgW2F0dHIudGFiaW5kZXhdPVwiZ2V0VGFiUGFuZWxJbmRleChpZEJhZy50YWJQYW5lbCArIGksIGlzU2VsZWN0ZWQodGFiKSlcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiKHN3aXRjaFRhYkJ5U2hvd0hpZGUgfHwgaXNTZWxlY3RlZCh0YWIpKSA/IHRhYi5jb250ZW50VGVtcGxhdGUgOiBudWxsXCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
533
|
+
}], refresh: [], emitLayoutChanged: [], onLayoutChanged: [] }); })();
|
|
534
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcGl2b3QvcGl2b3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcGl2b3QvcGl2b3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFHSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RFLE9BQU8sRUFBVSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7SUN4QnZFLDhCQUFzRDtJQUFBLFlBQWM7SUFBQSxpQkFBSzs7O0lBQW5CLGVBQWM7SUFBZCx1Q0FBYzs7O0lBWTVELHVCQUEyRDs7O0lBQS9CLCtCQUF1Qjs7OztJQUxyRCxrQ0FJOEU7SUFBdkMsd1JBQXNDO0lBQzNFLDBGQUEyRDtJQUMzRCw0QkFBTTtJQUFBLFlBQWE7SUFBQSxpQkFB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QyxlQUFlO2tCQURyQixNQUFNO1lBT0EsYUFBYTtrQkFEbkIsTUFBTTtZQU9BLElBQUk7a0JBRFYsZUFBZTttQkFBQyxpQkFBaUI7WUFJM0IsYUFBYTtrQkFEbkIsZUFBZTttQkFBQyxpQkFBaUI7WUFTM0IsYUFBYTtrQkFEbkIsS0FBSztZQVFDLFFBQVE7a0JBRmQsV0FBVzttQkFBQyxvQkFBb0I7O2tCQUNoQyxLQUFLO1lBNkJFLGlCQUFpQixNQUlZLHFCQUFxQjtrQkFBekQsU0FBUzttQkFBQyxnQkFBZ0I7WUEyQ3BCLE9BQU8sTUFvQ04saUJBQWlCLE1BS2pCLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICAgIEFmdGVyQ29udGVudEluaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIENvbnRlbnRDaGlsZHJlbixcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBmb3J3YXJkUmVmLFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbmplY3QsXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgT3B0aW9uYWwsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBTa2lwU2VsZixcclxuICAgIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvYmFzZS9kZWNvcmF0b3JzL2RlYm91bmNlLmRlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBDb3JlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbW1vbi9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtZUluamVjdCB9IGZyb20gJy4uL2NvbW1vbi9kZWNvcmF0b3JzL2luamVjdGlvbi5kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgTGF5b3V0LCBTTUVfTEFZT1VUX1BST1ZJREVSIH0gZnJvbSAnLi4vY29tbW9uL2xheW91dCc7XHJcbmltcG9ydCB7IFBpdm90VGFiVHlwZSB9IGZyb20gJy4vcGl2b3QtdGFiLXR5cGUnO1xyXG5pbXBvcnQgeyBQaXZvdFRhYkNvbXBvbmVudCB9IGZyb20gJy4vcGl2b3QtdGFiLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNNRV9QSVZPVF9UQUJfQ09OVEFJTkVSX1BST1ZJREVSIH0gZnJvbSAnLi9waXZvdC10YWIuY29udGFpbmVyJztcclxuXHJcbi8qKlxyXG4gKiBAc21lRG9jIHtAbGFiZWwgUGl2b3QgQGlkIHNtZS1waXZvdC1jb21wb25lbnR9XHJcbiAqXHJcbiAqIEBvdmVydmlld1xyXG4gKiBAZmlsZSB7QGZpbGVwYXRoIC4vZXhhbXBsZXMvb3ZlcnZpZXcubWR9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgU3RhdGljIFRhYiBAaWQgc3RhdGljLXRhYn1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9zdGF0aWMtdGFiLmNvbXBvbmVudC5odG1sfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIFJvdXRlZCBUYWIgQGlkIHJvdXRlZC10YWJ9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvcm91dGVkLXRhYi5jb21wb25lbnQuaHRtbH1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtcGl2b3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Bpdm90LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogU01FX0xBWU9VVF9QUk9WSURFUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGl2b3RDb21wb25lbnQpIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBTTUVfUElWT1RfVEFCX0NPTlRBSU5FUl9QUk9WSURFUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGl2b3RDb21wb25lbnQpIH1cclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBpdm90Q29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBMYXlvdXQsIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyQ29udGVudEluaXQge1xyXG4gICAgcHVibGljIHZpc2libGVUYWJzOiBQaXZvdFRhYkNvbXBvbmVudFtdOyAvLyBSZWd1bGF0ZXMgdGhlIHRhYnMgdGhhdCBnZXQgZGlzcGxheWVkLlxyXG4gICAgcHVibGljIHRyYXlUYWJzID0gW107IC8vIFJlZ3VsYXRlcyB0aGUgdGFicyB0aGF0IGFyZSBhZGRlZCB0byB0aGUgZHJvcGRvd24gaWYgbmVjZXNzYXJ5LlxyXG4gICAgcHVibGljIG1vcmVUYWJzRGlzcGxheSA9ICdNb3JlJzsgLy8gTGFiZWwgZm9yIHRoZSBkcm9wZG93biBtZW51IHRhYnNcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzb3VyY2UgbmFtZSB0byB1c2UgZm9yIGxvZ2dpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldCBsb2dTb3VyY2VOYW1lKCkge1xyXG4gICAgICAgIHJldHVybiAnUGl2b3RDb21wb25lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNlbGVjdGVkIHRhYlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGlvbjogUGl2b3RUYWJDb21wb25lbnQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBpbmRpY2F0ZXMgd2hldGhlciB0byBzaG93L2hpZGUgb3IgbG9hZC91bmxvYWQgdGhlIHRhYnMgdG8gZG8gdGFiIHN3aXRjaGluZ1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHN3aXRjaFRhYkJ5U2hvd0hpZGU6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZXh0IGZvciBhIGhlYWRlciB0byBzaG93IHdpdGggdGhlIHBpdm90IHRhYnMuIERpc3BsYXllZCBhcyBoNCB3aXRoIHRhYnMgb24gdGhlIHJpZ2h0LlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGhlYWRlclRleHQ6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIDA4LzMwLzE5LiBQbGVhc2UgdXNlIGFsaWduVGFicyBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGFsaWduSGVhZGVyKHZhbHVlOiAncmlnaHQnIHwgJ2xlZnQnKSB7XHJcbiAgICAgICAgdGhpcy5hbGlnblRhYnMgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFdoZXJlIHRvIGFsaWduIHRhYnMsIGxlZnQgb3IgcmlnaHRcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhbGlnblRhYnM6ICdyaWdodCcgfCAnbGVmdCc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc2VsZWN0ZWQgdGFiIGNoYW5nZWQgZXZlbnRcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQaXZvdFRhYkNvbXBvbmVudD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcGxlbWVudGF0aW9uIG9mIHRoZSBMYXlvdXQgaW50ZXJmYWNlXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGxheW91dENoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBUYWJzIG9mIHRoZSBQaXZvdFxyXG4gICAgICovXHJcbiAgICBAQ29udGVudENoaWxkcmVuKFBpdm90VGFiQ29tcG9uZW50KVxyXG4gICAgcHVibGljIHRhYnM6IFF1ZXJ5TGlzdDxQaXZvdFRhYkNvbXBvbmVudD47XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihQaXZvdFRhYkNvbXBvbmVudClcclxuICAgIHB1YmxpYyB2aXNpYmxlVGFic1FMOiBRdWVyeUxpc3Q8UGl2b3RUYWJDb21wb25lbnQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQmluZGFibGUgcHJvcGVydHkgZm9yIHRhYiB0eXBlc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcGl2b3RUYWJUeXBlID0gUGl2b3RUYWJUeXBlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbm9MZWZ0UGFkZGluZyA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIGlmIHRoaXMgcGl2b3QgaXMgZGlzYWJsZWRcclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtZGlzYWJsZWQnKVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHJvdXRlZCB0YWJzIGhhdmUgYmVlbiBwcm92aWRlZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGhhc1JvdXRlZFRhYnMoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGFicyAmJiB0aGlzLnRhYnMuc29tZSh0ID0+IHQudHlwZSA9PT0gUGl2b3RUYWJUeXBlLlJvdXRlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhhdCBzdGF0aWMgdGFicyBoYXZlIGJlZW4gcHJvdmlkZWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBoYXNTdGF0aWNUYWJzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMgJiYgdGhpcy50YWJzLnNvbWUodCA9PiB0LnR5cGUgPT09IFBpdm90VGFiVHlwZS5TdGF0aWMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdmlzaVRhYnMoKTogUGl2b3RUYWJDb21wb25lbnRbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGFicy5maWx0ZXIodGFiID0+IHRhYi5pc1Zpc2libGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoYXQgc3RhdGljIHRhYnMgaGF2ZSBiZWVuIHByb3ZpZGVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgc2VsZWN0aW9uSXNSb3V0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uICYmIHRoaXMuc2VsZWN0aW9uLnR5cGUgPT09IFBpdm90VGFiVHlwZS5Sb3V0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgQFNtZUluamVjdChDaGFuZ2VEZXRlY3RvclJlZilcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGlzIGRyb3Bkb3duIGVsZW1lbnQgdGhhdCBjb250YWlucyBwaXZvdFRhYnMgb25seSBpZiB0aGUgc2NyZWVuIHNpemUgZG9lc24ndCBhbGxvdy5cclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZCgnZHJvcERvd25CdXR0b24nKSBwcml2YXRlIGRyb3BEb3duQnV0dG9uRWxlbWVudDogRWxlbWVudFJlZjtcclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIEBzZWUgUGl2b3RDb21wb25lbnQgY2xhc3MuXHJcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgVGhlIGFuZ3VsYXIgaW5qZWN0aW9uIHNlcnZpY2UuIHJlcXVpcmVkIGJ5IEBTbWVJbmplY3RhYmxlKCkgZGVjb3JhdG9yIGluIHRoZSBiYXNlIEBzZWUgQmFzZUNvbXBvbmVudCBjbGFzc1xyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgQEluamVjdChTTUVfTEFZT1VUX1BST1ZJREVSKSBsYXlvdXQ6IExheW91dCkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgICAgICBpZiAobGF5b3V0KSB7XHJcbiAgICAgICAgICAgIC8vIG9uIHBhcmVudCBsYXlvdXQgY2hhbmdlcywgcmUtZW1pdCB0aGUgbGF5b3V0IGNoYW5nZSB0byBvdXIgZXZlbnRcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2gobGF5b3V0LmxheW91dENoYW5nZWQuc3Vic2NyaWJlKCgoKSA9PiB0aGlzLm9uTGF5b3V0Q2hhbmdlZCgpKSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnRhYnMgJiYgdGhpcy50YWJzLmZpcnN0ICYmICF0aGlzLnNlbGVjdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IHRoaXMudGFicy5maXJzdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMudGFicy5sZW5ndGggPCAxKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgICAgICAgICdQaXZvdCBtdXN0IGNvbnRhaW4gY2hpbGQgdGFicy4gRXhwZWN0ZWQgYXQgbGVhc3Qgb25lICgxKSB0YWInXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmlzaWJsZVRhYnMgPSB0aGlzLnRhYnMudG9BcnJheSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgb2YgYSBnaXZlbiB0YWIgaXMgc2VsZWN0ZWRcclxuICAgICAqIEBwYXJhbSB0YWIgVGhlIHRhYiB0byBjb21wYXJlIHdpdGhcclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzU2VsZWN0ZWQodGFiOiBQaXZvdFRhYkNvbXBvbmVudCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbiAmJiB0aGlzLnNlbGVjdGlvbiA9PT0gdGFiO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRm9yY2UgcmVmcmVzaCBmb3IgdGhlIHBpdm90IHRhYnMuXHJcbiAgICAgKi9cclxuICAgIEBEZWJvdW5jZSgpXHJcbiAgICBwdWJsaWMgcmVmcmVzaCgpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBpdm90VGFicygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VsZWN0cyBhIHRhYlxyXG4gICAgICogQHBhcmFtIHRhYiBUaGUgdGFiIHRvIHNlbGVjdFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2VsZWN0KHRhYjogUGl2b3RUYWJDb21wb25lbnQpOiB2b2lkIHtcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogQXQgYW55IGdpdmVuIHRpbWUgd2Ugc2hvdWxkIGhhdmUgYW4gYXR0cmlidXRlIHRoYXQgbGV0cyB1cyBrbm93IGlmIGEgdGFiIGlzIHZpc2libGUgb3Igbm90LlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIGlmICh0YWIpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRyYXlUYWJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50cmF5VGFic1tpXSA9PT0gdGFiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZVRhYnMgJiYgdGhpcy52aXNpYmxlVGFicy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhpZGRlblRhYiA9IHRoaXMudmlzaWJsZVRhYnMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGRlblRhYi5pc1Zpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmF5VGFicy5wdXNoKGhpZGRlblRhYik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZVRhYnMucHVzaCh0YWIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhYi5pc1Zpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJheVRhYnMuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IHRhYjtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0YWIpO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgdGhpcy5lbWl0TGF5b3V0Q2hhbmdlZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBARGVib3VuY2UoKVxyXG4gICAgcHJpdmF0ZSBlbWl0TGF5b3V0Q2hhbmdlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmxheW91dENoYW5nZWQuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBEZWJvdW5jZSgwKVxyXG4gICAgcHJpdmF0ZSBvbkxheW91dENoYW5nZWQoKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQaXZvdFRhYnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0VGFiUGFuZWxJbmRleChpZDogc3RyaW5nLCBjdXJyZW50VGFiOiBib29sZWFuKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBjb25zdCB0YWJQYW5lbFNlY3Rpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XHJcblxyXG4gICAgICAgIGlmIChjdXJyZW50VGFiICYmIHRhYlBhbmVsU2VjdGlvbikge1xyXG4gICAgICAgICAgICAvLyBubyBzY3JvbGwgYmFyIGlzIHZpc2libGUgd2hlbiBzY3JvbGxIZWlnaHQgaXMgZXF1YWwgdG8gY2xpZW50SGVpZ2h0XHJcbiAgICAgICAgICAgIC8vIHVzZSB0aGlzIHRvIHNldCB0YWJpbmRleCBvbmx5IGZvciBzY3JvbGxhYmxlIGNvbnRlbnRcclxuICAgICAgICAgICAgY29uc3QgaGFzU2Nyb2xsQmFyID0gdGFiUGFuZWxTZWN0aW9uLnNjcm9sbEhlaWdodCAhPT0gdGFiUGFuZWxTZWN0aW9uLmNsaWVudEhlaWdodDtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBoYXNTY3JvbGxCYXIgPyAwIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgdGhlIGlkQmFnIHVzZWQgYnkgdGhpcyBjb21wb25lbnQgdG8gc3RvcmUgdW5pcXVlIGVsZW1lbnQgaWRzLlxyXG4gICAgICogaWQgdmFsdWVzIHdpbGwgYmUgYXNzaWduZWQgYnkgdGhlIEBzZWUgQmFzZUNvbXBvbmVudCBzdXBlciBjbGFzcy5cclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUlkQmFnKCk6IE1zZnRTbWUuU3RyaW5nTWFwPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHRhYlBhbmVsOiAnJ1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBpbml0aWFsIGhvc3QgY2xhc3NlcyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgZWxlbWVudFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFtcclxuICAgICAgICAgICAgJ3NtZS1waXZvdCdcclxuICAgICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZVBpdm90VGFicygpIHtcclxuICAgICAgICBsZXQgY3VycmVudEZpbGwgPSAwO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZVRhYnMgPSBbXTtcclxuICAgICAgICB0aGlzLnRyYXlUYWJzID0gW107XHJcblxyXG4gICAgICAgIGNvbnN0IGhvc3QgPSA8SFRNTEVsZW1lbnQ+dGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IHRhYkJhcldpZHRoID0gaG9zdC5vZmZzZXRXaWR0aDtcclxuXHJcbiAgICAgICAgbGV0IHRvdGFsVGFiV2lkdGggPSAwO1xyXG4gICAgICAgIGNvbnN0IHRhYkxpc3QgPSB0aGlzLnRhYnMudG9BcnJheSgpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50YWJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhYjogUGl2b3RUYWJDb21wb25lbnQgPSB0YWJMaXN0W2ldO1xyXG4gICAgICAgICAgICBjb25zdCB0YWJXaWR0aCA9IHRhYi53aWR0aDtcclxuICAgICAgICAgICAgdG90YWxUYWJXaWR0aCArPSB0YWJXaWR0aDtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodG90YWxUYWJXaWR0aCA8PSB0YWJCYXJXaWR0aCkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudGFicy5sZW5ndGg7ICsraSkge1xyXG4gICAgICAgICAgICAgICAgdGFiTGlzdFtpXS5pc1Zpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlVGFicy5wdXNoKHRhYkxpc3RbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgdmlzaWJsZVRhYkJhcldpZHRoID0gdGFiQmFyV2lkdGggLSB0aGlzLmRyb3BEb3duQnV0dG9uRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudGFicy5sZW5ndGg7ICsraSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdGFiID0gdGFiTGlzdFtpXTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRhYldpZHRoID0gdGFiLndpZHRoO1xyXG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRGaWxsICsgdGFiV2lkdGggPiB2aXNpYmxlVGFiQmFyV2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICB0YWIuaXNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmF5VGFicy5wdXNoKHRhYik7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRhYi5pc1Zpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZVRhYnMucHVzaCh0YWIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGN1cnJlbnRGaWxsICs9IHRhYldpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay1oXCIgW3N0eWxlLnBhZGRpbmdMZWZ0XT1cIm5vTGVmdFBhZGRpbmc/MDpudWxsXCI+XHJcbiAgPGg0ICpuZ0lmPVwiaGVhZGVyVGV4dFwiIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtYXV0b1wiPnt7aGVhZGVyVGV4dH19PC9oND5cclxuXHJcbiAgPGhlYWRlciBbY2xhc3Muc21lLXBpdm90LXJldmVyc2UtaGVhZGVyXT1cImFsaWduVGFicyA9PT0gJ3JpZ2h0J1wiIFtjbGFzcy5zbWUtcG9zaXRpb24tc3RyZXRjaC1oXT1cIiFoZWFkZXJUZXh0XCI+XHJcbiAgICA8IS0tIENhbm5vdCB1c2UgXCJzbWUtcGFkZGluZy1sZWZ0LW5vbmVcIiBDU1MgY2xhc3MgaW4gPGhlYWRlcj4gYWJvdmUgc2luY2Ugc21lLXBhZGRpbmctbGVmdC1ub25lIGRvZXNuJ3QgaGF2ZSBlbm91Z2ggc2VsZWN0b3Igd2VpZ2h0IHRvIG92ZXJyaWRlIHNtZS1waXZvdD5bcm9sZT1cInRhYmxpc3RcIl0gc2VsZWN0b3IgLS0+XHJcbiAgICA8ZGl2IHJvbGU9XCJ0YWJsaXN0XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB2aXNpYmxlVGFiczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgIDwhLS0gUm91dGVkIFRhYiBpdGVtIC0tPlxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJ0YWIudHlwZSA9PT0gcGl2b3RUYWJUeXBlLlJvdXRlZFwiIHJvbGU9XCJ0YWJcIiBbcm91dGVyTGlua109XCJ0YWIucm91dGVcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpZEJhZy50YWJQYW5lbFwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgdGFiLmRpc2FibGVkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0YWIuZGlzYWJsZWRcIiBbY2xhc3Muc21lLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IHRhYi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWQodGFiKVwiIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ0YWIucm91dGVyTGlua0FjdGl2ZU9wdGlvbnNcIlxyXG4gICAgICAgICAgW2NsYXNzLnNtZS1hY3RpdmVdPVwiaXNTZWxlY3RlZCh0YWIpXCIgKHNtZVJvdXRlckxpbmtBY3RpdmF0ZWQpPVwic2VsZWN0KHRhYilcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25DbGFzc1wiIFtjbGFzc109XCJ0YWIuaWNvbkNsYXNzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4+e3t0YWIubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPCEtLSBTdGF0aWMgVGFiIEl0ZW0gLS0+XHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInRhYi50eXBlID09PSBwaXZvdFRhYlR5cGUuU3RhdGljXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cInRhYlwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlkQmFnLnRhYlBhbmVsICsgaVwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgdGFiLmRpc2FibGVkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0YWIuZGlzYWJsZWRcIiBbY2xhc3Muc21lLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IHRhYi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWQodGFiKVwiIFtjbGFzcy5zbWUtYWN0aXZlXT1cImlzU2VsZWN0ZWQodGFiKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KHRhYilcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25DbGFzc1wiIFtjbGFzc109XCJ0YWIuaWNvbkNsYXNzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4+e3t0YWIubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgcm9sZT1cIm1lbnVcIj5cclxuICAgICAgICA8c21lLWRyb3Bkb3duICNkcm9wRG93biByb2xlPVwicHJlc2VudGF0aW9uXCIgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1ub25lXCJcclxuICAgICAgICAgIFtjbGFzcy5zbWUtbGF5b3V0LWhpZGRlbl09XCJ0cmF5VGFicy5sZW5ndGggPT09IDBcIiBbY2xhc3Muc21lLWxheW91dC1ub25lXT1cInRyYXlUYWJzLmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiAjZHJvcERvd25CdXR0b24gdHlwZT1cImJ1dHRvblwiIFthdHRyLmFyaWEtbGFiZWxdPVwibW9yZVRhYnNEaXNwbGF5XCIgcm9sZT1cIm1lbnVpdGVtXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJzbWUtYnV0dG9uLXRyaWdnZXIgc21lLWxheW91dC1hY3Rpb24tYmFyLWl0ZW0taGVpZ2h0IHNtZS1idXR0b24tYXV0by13aWR0aCBzbWUtZHJvcGRvd24tdG9nZ2xlXCJcclxuICAgICAgICAgICAgW2NsYXNzLnNtZS10b2dnbGVkXT1cImRyb3BEb3duLmlzT3BlblwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZHJvcERvd24uaXNPcGVuXCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgbW9yZVRhYnNEaXNwbGF5IH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNtZS1pY29uIHNtZS1pY29uLXNpemUteHhzIHNtZS1pY29uLWNoZXZyb25Eb3duIHNtZS1tYXJnaW4tbGVmdC14c1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGRpdiByb2xlPVwibWVudVwiIGNsYXNzPVwic21lLWRyb3Bkb3duLWNvbnRlbnQgc21lLWFycmFuZ2Utc3RhY2stdiBzbWUtcG9zaXRpb24tc3RyZXRjaC1oXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay1oXCIgKm5nRm9yPVwibGV0IHRhYiBvZiB0cmF5VGFiczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ0YWIudHlwZSA9PT0gcGl2b3RUYWJUeXBlLlJvdXRlZFwiIHJvbGU9XCJtZW51aXRlbVwiIFtyb3V0ZXJMaW5rXT1cInRhYi5yb3V0ZVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNtZS1wb3NpdGlvbi1zdHJldGNoLWhcIiBbY2xhc3Muc21lLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IHRhYi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAoc21lUm91dGVyTGlua0FjdGl2YXRlZCk9XCJzZWxlY3QodGFiKVwiIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ0YWIucm91dGVyTGlua0FjdGl2ZU9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25DbGFzc1wiIFtjbGFzc109XCJ0YWIuaWNvbkNsYXNzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3t0YWIubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidGFiLnR5cGUgPT09IHBpdm90VGFiVHlwZS5TdGF0aWNcIiByb2xlPVwibWVudWl0ZW1cIiBjbGFzcz1cInNtZS1wb3NpdGlvbi1zdHJldGNoLWhcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNtZS1kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0YWIuZGlzYWJsZWRcIiAoY2xpY2spPVwic2VsZWN0KHRhYilcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25DbGFzc1wiIFtjbGFzc109XCJ0YWIuaWNvbkNsYXNzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3t0YWIubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3NtZS1kcm9wZG93bj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2hlYWRlcj5cclxuPC9kaXY+XHJcbjwhLS0gUm91dGVkIFRhYiBDb250ZW50IC0tPlxyXG48c2VjdGlvbiAqbmdJZj1cImhhc1JvdXRlZFRhYnNcIiByb2xlPVwidGFicGFuZWxcIiBbaWRdPVwiaWRCYWcudGFiUGFuZWxcIiBbY2xhc3Muc21lLWxheW91dC1ub25lXT1cIiFzZWxlY3Rpb25Jc1JvdXRlZFwiXHJcbiAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIXNlbGVjdGlvbklzUm91dGVkXCI+XHJcbiAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG48L3NlY3Rpb24+XHJcblxyXG48IS0tIFN0YXRpYyBUYWIgQ29udGVudCAtLT5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1N0YXRpY1RhYnNcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdmlzaWJsZVRhYnM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWIudHlwZSA9PT0gcGl2b3RUYWJUeXBlLlN0YXRpY1wiPlxyXG4gICAgICA8c2VjdGlvbiByb2xlPVwidGFicGFuZWxcIiBbaWRdPVwiaWRCYWcudGFiUGFuZWwgKyBpXCIgW2NsYXNzLnNtZS1sYXlvdXQtbm9uZV09XCIhaXNTZWxlY3RlZCh0YWIpXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhaXNTZWxlY3RlZCh0YWIpXCIgW2F0dHIudGFiaW5kZXhdPVwiZ2V0VGFiUGFuZWxJbmRleChpZEJhZy50YWJQYW5lbCArIGksIGlzU2VsZWN0ZWQodGFiKSlcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiKHN3aXRjaFRhYkJ5U2hvd0hpZGUgfHwgaXNTZWxlY3RlZCh0YWIpKSA/IHRhYi5jb250ZW50VGVtcGxhdGUgOiBudWxsXCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
@@ -35,7 +35,7 @@ function PropertyGridComponent_sme_layout_item_5_span_6_Template(rf, ctx) { if (
|
|
|
35
35
|
const _r16 = i0.ɵɵreference(2);
|
|
36
36
|
i0.ɵɵproperty("title", item_r14.tooltip)("tooltipZone", _r16);
|
|
37
37
|
} }
|
|
38
|
-
function
|
|
38
|
+
function PropertyGridComponent_sme_layout_item_5_ng_container_9_Template(rf, ctx) { if (rf & 1) {
|
|
39
39
|
i0.ɵɵelementContainer(0);
|
|
40
40
|
} }
|
|
41
41
|
const _c4 = function (a0, a1) { return { $implicit: a0, index: a1 }; };
|
|
@@ -47,17 +47,11 @@ function PropertyGridComponent_sme_layout_item_5_Template(rf, ctx) { if (rf & 1)
|
|
|
47
47
|
i0.ɵɵtext(5);
|
|
48
48
|
i0.ɵɵelementEnd();
|
|
49
49
|
i0.ɵɵtemplate(6, PropertyGridComponent_sme_layout_item_5_span_6_Template, 1, 2, "span", 17);
|
|
50
|
+
i0.ɵɵelementStart(7, "span", 18);
|
|
51
|
+
i0.ɵɵtext(8);
|
|
50
52
|
i0.ɵɵelementEnd();
|
|
51
|
-
i0.ɵɵtemplate(7, PropertyGridComponent_sme_layout_item_5_ng_container_7_Template, 1, 0, "ng-container", 18);
|
|
52
|
-
i0.ɵɵelementStart(8, "span", 19);
|
|
53
|
-
i0.ɵɵtext(9);
|
|
54
|
-
i0.ɵɵelementEnd();
|
|
55
|
-
i0.ɵɵelementStart(10, "span", 19);
|
|
56
|
-
i0.ɵɵtext(11);
|
|
57
|
-
i0.ɵɵelementEnd();
|
|
58
|
-
i0.ɵɵelementStart(12, "span", 19);
|
|
59
|
-
i0.ɵɵtext(13);
|
|
60
53
|
i0.ɵɵelementEnd();
|
|
54
|
+
i0.ɵɵtemplate(9, PropertyGridComponent_sme_layout_item_5_ng_container_9_Template, 1, 0, "ng-container", 19);
|
|
61
55
|
i0.ɵɵelementEnd();
|
|
62
56
|
i0.ɵɵelementEnd();
|
|
63
57
|
} if (rf & 2) {
|
|
@@ -69,20 +63,10 @@ function PropertyGridComponent_sme_layout_item_5_Template(rf, ctx) { if (rf & 1)
|
|
|
69
63
|
i0.ɵɵtextInterpolate(item_r14.label);
|
|
70
64
|
i0.ɵɵadvance(1);
|
|
71
65
|
i0.ɵɵproperty("ngIf", item_r14.tooltip);
|
|
72
|
-
i0.ɵɵadvance(
|
|
73
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx_r3.getTemplate(item_r14))("ngTemplateOutletContext", i0.ɵɵpureFunction2(12, _c4, item_r14, i_r15));
|
|
74
|
-
i0.ɵɵadvance(1);
|
|
75
|
-
i0.ɵɵproperty("id", ctx_r3.idBag.detailsSpan + i_r15);
|
|
76
|
-
i0.ɵɵadvance(1);
|
|
66
|
+
i0.ɵɵadvance(2);
|
|
77
67
|
i0.ɵɵtextInterpolate(item_r14.tooltip);
|
|
78
68
|
i0.ɵɵadvance(1);
|
|
79
|
-
i0.ɵɵproperty("
|
|
80
|
-
i0.ɵɵadvance(1);
|
|
81
|
-
i0.ɵɵtextInterpolate(item_r14.label);
|
|
82
|
-
i0.ɵɵadvance(1);
|
|
83
|
-
i0.ɵɵproperty("id", ctx_r3.idBag.valueSpan + i_r15);
|
|
84
|
-
i0.ɵɵadvance(1);
|
|
85
|
-
i0.ɵɵtextInterpolate(item_r14.value);
|
|
69
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r3.getTemplate(item_r14))("ngTemplateOutletContext", i0.ɵɵpureFunction2(7, _c4, item_r14, i_r15));
|
|
86
70
|
} }
|
|
87
71
|
function PropertyGridComponent_ng_template_6_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
88
72
|
i0.ɵɵelementContainer(0);
|
|
@@ -99,7 +83,7 @@ function PropertyGridComponent_ng_template_6_span_2_Template(rf, ctx) { if (rf &
|
|
|
99
83
|
} }
|
|
100
84
|
function PropertyGridComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
|
|
101
85
|
i0.ɵɵelementStart(0, "p", 21);
|
|
102
|
-
i0.ɵɵtemplate(1, PropertyGridComponent_ng_template_6_ng_container_1_Template, 1, 0, "ng-container",
|
|
86
|
+
i0.ɵɵtemplate(1, PropertyGridComponent_ng_template_6_ng_container_1_Template, 1, 0, "ng-container", 19);
|
|
103
87
|
i0.ɵɵtemplate(2, PropertyGridComponent_ng_template_6_span_2_Template, 2, 1, "span", 22);
|
|
104
88
|
i0.ɵɵelementEnd();
|
|
105
89
|
} if (rf & 2) {
|
|
@@ -118,7 +102,7 @@ function PropertyGridComponent_ng_template_8_ng_container_1_Template(rf, ctx) {
|
|
|
118
102
|
} }
|
|
119
103
|
function PropertyGridComponent_ng_template_8_Template(rf, ctx) { if (rf & 1) {
|
|
120
104
|
i0.ɵɵelementStart(0, "p");
|
|
121
|
-
i0.ɵɵtemplate(1, PropertyGridComponent_ng_template_8_ng_container_1_Template, 1, 0, "ng-container",
|
|
105
|
+
i0.ɵɵtemplate(1, PropertyGridComponent_ng_template_8_ng_container_1_Template, 1, 0, "ng-container", 19);
|
|
122
106
|
i0.ɵɵelementStart(2, "a", 23);
|
|
123
107
|
i0.ɵɵlistener("click", function PropertyGridComponent_ng_template_8_Template_a_click_2_listener() { const item_r25 = ctx.$implicit; return item_r25.action(item_r25); });
|
|
124
108
|
i0.ɵɵtext(3);
|
|
@@ -141,7 +125,7 @@ function PropertyGridComponent_ng_template_10_ng_container_1_Template(rf, ctx) {
|
|
|
141
125
|
} }
|
|
142
126
|
function PropertyGridComponent_ng_template_10_Template(rf, ctx) { if (rf & 1) {
|
|
143
127
|
i0.ɵɵelementStart(0, "p");
|
|
144
|
-
i0.ɵɵtemplate(1, PropertyGridComponent_ng_template_10_ng_container_1_Template, 1, 0, "ng-container",
|
|
128
|
+
i0.ɵɵtemplate(1, PropertyGridComponent_ng_template_10_ng_container_1_Template, 1, 0, "ng-container", 19);
|
|
145
129
|
i0.ɵɵelementStart(2, "a", 24);
|
|
146
130
|
i0.ɵɵtext(3);
|
|
147
131
|
i0.ɵɵelementEnd();
|
|
@@ -164,7 +148,7 @@ function PropertyGridComponent_ng_template_12_ng_container_1_Template(rf, ctx) {
|
|
|
164
148
|
} }
|
|
165
149
|
function PropertyGridComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
|
|
166
150
|
i0.ɵɵelementStart(0, "p");
|
|
167
|
-
i0.ɵɵtemplate(1, PropertyGridComponent_ng_template_12_ng_container_1_Template, 1, 0, "ng-container",
|
|
151
|
+
i0.ɵɵtemplate(1, PropertyGridComponent_ng_template_12_ng_container_1_Template, 1, 0, "ng-container", 19);
|
|
168
152
|
i0.ɵɵelementStart(2, "a", 25);
|
|
169
153
|
i0.ɵɵelementStart(3, "span");
|
|
170
154
|
i0.ɵɵtext(4);
|
|
@@ -347,12 +331,12 @@ export class PropertyGridComponent extends CoreBaseComponent {
|
|
|
347
331
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.externalLinkTemplate = _t.first);
|
|
348
332
|
} }, inputs: { orientation: "orientation" }, outputs: { layoutChanged: "layoutChanged" }, features: [i0.ɵɵProvidersFeature([
|
|
349
333
|
{ provide: SME_LAYOUT_PROVIDER, useExisting: forwardRef((() => PropertyGridComponent)) }
|
|
350
|
-
]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 16, vars: 6, consts: [[1, "sme-position-inset-none", "sme-position-stretch-h", 3, "padLastItem"], ["layout", ""], ["name", "narrow", 3, "until", "columns"], ["name", "medium", 3, "until", "columns", 4, "ngIf"], ["name", "wide", 3, "columns", 4, "ngIf"], [3, "columnSpan", "maxWidth", 4, "ngFor", "ngForOf"], ["readonlyTemplate", ""], ["actionLinkTemplate", ""], ["internalLinkTemplate", ""], ["externalLinkTemplate", ""], ["iconTemplate", ""], ["name", "medium", 3, "until", "columns"], ["name", "wide", 3, "columns"], [3, "columnSpan", "maxWidth"], ["smeTooltipZone", "", 1, "sme-property-grid-item"], ["zone", "smeTooltipZone"], [
|
|
334
|
+
]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 16, vars: 6, consts: [[1, "sme-position-inset-none", "sme-position-stretch-h", 3, "padLastItem"], ["layout", ""], ["name", "narrow", 3, "until", "columns"], ["name", "medium", 3, "until", "columns", 4, "ngIf"], ["name", "wide", 3, "columns", 4, "ngIf"], [3, "columnSpan", "maxWidth", 4, "ngFor", "ngForOf"], ["readonlyTemplate", ""], ["actionLinkTemplate", ""], ["internalLinkTemplate", ""], ["externalLinkTemplate", ""], ["iconTemplate", ""], ["name", "medium", 3, "until", "columns"], ["name", "wide", 3, "columns"], [3, "columnSpan", "maxWidth"], ["smeTooltipZone", "", 1, "sme-property-grid-item"], ["zone", "smeTooltipZone"], [1, "sme-arrange-stack-h"], ["class", "sme-position-flex-none sme-icon sme-icon-info sme-info-bubble sme-margin-left-xs", "aria-hidden", "true", 3, "title", "tooltipZone", 4, "ngIf"], [1, "sme-screen-reader"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["aria-hidden", "true", 1, "sme-position-flex-none", "sme-icon", "sme-icon-info", "sme-info-bubble", "sme-margin-left-xs", 3, "title", "tooltipZone"], [1, "read-only-template"], [4, "ngIf"], ["tabindex", "0", "role", "link", 1, "sme-link", "sme-focus-zone", "action-link-template", 3, "click"], ["role", "link", 1, "sme-link", "sme-focus-zone", 3, "routerLink"], ["role", "link", "target", "_blank", 1, "sme-link", "sme-focus-zone", 3, "href"], [1, "sme-icon", "sme-icon-openInNewWindow", "sme-margin-left-xs"], [3, "class", 4, "ngIf"], ["class", "sme-layout-inline-block sme-margin-right-xs ", "size", "16px", 3, "status", 4, "ngIf"], ["size", "16px", 1, "sme-layout-inline-block", "sme-margin-right-xs", 3, "status"]], template: function PropertyGridComponent_Template(rf, ctx) { if (rf & 1) {
|
|
351
335
|
i0.ɵɵelementStart(0, "sme-layout", 0, 1);
|
|
352
336
|
i0.ɵɵelement(2, "sme-layout-definition", 2);
|
|
353
337
|
i0.ɵɵtemplate(3, PropertyGridComponent_sme_layout_definition_3_Template, 1, 2, "sme-layout-definition", 3);
|
|
354
338
|
i0.ɵɵtemplate(4, PropertyGridComponent_sme_layout_definition_4_Template, 1, 1, "sme-layout-definition", 4);
|
|
355
|
-
i0.ɵɵtemplate(5, PropertyGridComponent_sme_layout_item_5_Template,
|
|
339
|
+
i0.ɵɵtemplate(5, PropertyGridComponent_sme_layout_item_5_Template, 10, 10, "sme-layout-item", 5);
|
|
356
340
|
i0.ɵɵelementEnd();
|
|
357
341
|
i0.ɵɵtemplate(6, PropertyGridComponent_ng_template_6_Template, 3, 8, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
|
|
358
342
|
i0.ɵɵtemplate(8, PropertyGridComponent_ng_template_8_Template, 4, 8, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
|
|
@@ -410,4 +394,4 @@ __decorate([
|
|
|
410
394
|
}], layoutChanged: [{
|
|
411
395
|
type: Output
|
|
412
396
|
}], changeDetector: [] }); })();
|
|
413
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFFVCxRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEUsT0FBTyxFQUFVLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ25CekUsNENBQTBJOzs7SUFBbEUsa0RBQTJCLGNBQUE7OztJQUNuRyw0Q0FBNEc7O0lBQXRDLDJCQUFhOzs7SUFNN0UsMkJBQXVLOzs7O0lBQW5ELHdDQUFzQixxQkFBQTs7O0lBRTVJLHdCQUFzRzs7OztJQVAxRywyQ0FDb0c7SUFDbEcsbUNBQTBFO0lBQ3hFLGlDQUFzRDtJQUNwRCw0QkFBTTtJQUFBLFlBQWM7SUFBQSxpQkFBTztJQUMzQiwyRkFBdUs7SUFDekssaUJBQVE7SUFDUiwyR0FBc0c7SUFDdEcsZ0NBQWdGO0lBQUEsWUFBZ0I7SUFBQSxp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QUMsaUJBQWlCLENBQUM7OEJBQ0wsaUJBQWlCOzZEQUFDO3VGQXpDakMscUJBQXFCO2NBUGpDLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixXQUFXLEVBQUUsZ0NBQWdDO2dCQUM3QyxTQUFTLEVBQUU7b0JBQ1AsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsc0JBQXNCLEVBQUMsRUFBRTtpQkFDekY7YUFDSjs7c0JBNENvQyxRQUFROztzQkFBSSxRQUFROztzQkFBSSxNQUFNO3VCQUFDLG1CQUFtQjt3QkFwQzVFLEtBQUs7a0JBRFgsZUFBZTttQkFBQyx5QkFBeUI7WUFJbkMsZ0JBQWdCO2tCQUR0QixTQUFTO21CQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUl4QyxrQkFBa0I7a0JBRHhCLFNBQVM7bUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBSTFDLG9CQUFvQjtrQkFEMUIsU0FBUzttQkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFJNUMsb0JBQW9CO2tCQUQxQixTQUFTO21CQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQWM1QyxXQUFXO2tCQURqQixLQUFLO1lBT0MsYUFBYTtrQkFEbkIsTUFBTTtZQUlDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBmb3J3YXJkUmVmLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgSW5qZWN0b3IsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9wdGlvbmFsLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFNraXBTZWxmLFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29yZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWVJbmplY3QgfSBmcm9tICcuLi9jb21tb24vZGVjb3JhdG9ycy9pbmplY3Rpb24uZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IExheW91dCwgU01FX0xBWU9VVF9QUk9WSURFUiB9IGZyb20gJy4uL2NvbW1vbi9sYXlvdXQnO1xyXG5pbXBvcnQgeyBQcm9wZXJ0eUdyaWRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9wZXJ0eS1ncmlkLWl0ZW0uY29tcG9uZW50JztcclxuXHJcblxyXG4vKipcclxuICogVGhlIHBhbmUgb3JpZW50YXRpb24gb2YgdGhlIHNwbGl0IHZpZXcuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBQcm9wZXJ0eUdyaWRPcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCc7XHJcblxyXG4vKipcclxuICpcclxuICogQHNtZURvYyB7QGxhYmVsIFByb3BlcnR5IEdyaWQgQGlkIHNtZS1wcm9wZXJ0eS1ncmlkLWNvbXBvbmVudH1cclxuICpcclxuICogQG92ZXJ2aWV3XHJcbiAqIEBmaWxlIHtAZmlsZXBhdGggLi9leGFtcGxlcy9vdmVydmlldy5tZH1cclxuICpcclxuICogQGV4YW1wbGUge0BsYWJlbCBCYXNpYyBVc2FnZSBAaWQgYmFzaWMtdXNhZ2V9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvYmFzaWMtdXNhZ2UuY29tcG9uZW50Lmh0bWx9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgVmVydGljYWwgT3JpZW50YXRpb24gQGlkIHZlcnRpY2FsLW9yaWVudGF0aW9ufVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3ZlcnRpY2FsLW9yaWVudGF0aW9uLmNvbXBvbmVudC5odG1sfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIEl0ZW0gd2l0aCBhIExpbmsgQGlkIGxpbmstaXRlbX1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9saW5rLWl0ZW0uY29tcG9uZW50Lmh0bWx9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgSXRlbSB3aXRoIGEgVG9vbHRpcCBAaWQgdG9vbHRpcC1pdGVtfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3Rvb2x0aXAtaXRlbS5jb21wb25lbnQuaHRtbH1cclxuICpcclxuICogQGV4YW1wbGUge0BsYWJlbCBJdGVtIHdpdGggYSBBY3Rpb24gQGlkIGFjdGlvbi1pdGVtfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9hY3Rpb24taXRlbS5jb21wb25lbnQudHN9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvYWN0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWx9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgSXRlbSBTcGFubmluZyBNdWx0aXBsZSBDb2x1bW5zIEBpZCBtdWx0aS1jb2x1bW59XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvbXVsdGktY29sdW1uLWl0ZW0uY29tcG9uZW50Lmh0bWx9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgSXRlbXMgd2l0aCBTdGF0dXMgYW5kIEljb25zIEBpZCBzdGF0dXMtYW5kLWljb25zfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3N0YXR1cy1pdGVtLmNvbXBvbmVudC5odG1sfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIEl0ZW1zIHdpdGggY29tcGxleCB2YWx1ZSB0eXBlcyBAaWQgY29tcGxleC12YWx1ZX1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9jb21wbGV4LXZhbHVlcy5jb21wb25lbnQuaHRtbH1cclxuICpcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtcHJvcGVydHktZ3JpZCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktZ3JpZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IFNNRV9MQVlPVVRfUFJPVklERVIsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFByb3BlcnR5R3JpZENvbXBvbmVudCkgfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvcGVydHlHcmlkQ29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBMYXlvdXQsIE9uQ2hhbmdlcyB7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBiYXNpYyBjb2x1bW4gd2lkdGggZm9yIHRoZSBwcm9wZXJ0eSBncmlkIGl0ZW1zLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbGF5b3V0SXRlbVdpZHRoID0gMzAwO1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oUHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudClcclxuICAgIHB1YmxpYyBpdGVtczogUXVlcnlMaXN0PFByb3BlcnR5R3JpZEl0ZW1Db21wb25lbnQ+O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3JlYWRvbmx5VGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgcHVibGljIHJlYWRvbmx5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPFByb3BlcnR5R3JpZEl0ZW1Db21wb25lbnQ+O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2FjdGlvbkxpbmtUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgYWN0aW9uTGlua1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxQcm9wZXJ0eUdyaWRJdGVtQ29tcG9uZW50PjtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdpbnRlcm5hbExpbmtUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgaW50ZXJuYWxMaW5rVGVtcGxhdGU6IFRlbXBsYXRlUmVmPFByb3BlcnR5R3JpZEl0ZW1Db21wb25lbnQ+O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2V4dGVybmFsTGlua1RlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICAgIHB1YmxpYyBleHRlcm5hbExpbmtUZW1wbGF0ZTogVGVtcGxhdGVSZWY8UHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudD47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ1Byb3BlcnR5R3JpZENvbXBvbmVudCc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgb3JpZW50YXRpb246IFByb3BlcnR5R3JpZE9yaWVudGF0aW9uID0gJ2hvcml6b250YWwnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wbGVtZW50YXRpb24gb2YgdGhlIExheW91dCBpbnRlcmZhY2VcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgbGF5b3V0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBTbWVJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsIEBTa2lwU2VsZigpIEBPcHRpb25hbCgpIEBJbmplY3QoU01FX0xBWU9VVF9QUk9WSURFUikgcHJpdmF0ZSBsYXlvdXQ6IExheW91dCkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgICAgICAvLyBvbGQgc3R5bGUgc3VwcG9ydGVkIHNtZS1wcm9wZXJ0eS1ncmlkLWFycmFuZ2UtdmVydGljYWwgY2xhc3MuIGRlZmF1bHQgdG8gdmVydGljYWwgb3JpZW50YXRpb24gaWYgdGhpcyBjbGFzcyBpcyBhcHBsaWVkLlxyXG4gICAgICAgIGNvbnN0IGhhc1ZlcnRpY2FsQ2xhc3MgPSAoPEhUTUxFbGVtZW50PnRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCkuY2xhc3NMaXN0LmNvbnRhaW5zKCdzbWUtcHJvcGVydHktZ3JpZC1hcnJhbmdlLXZlcnRpY2FsJyk7XHJcbiAgICAgICAgdGhpcy5vcmllbnRhdGlvbiA9IGhhc1ZlcnRpY2FsQ2xhc3MgPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnO1xyXG5cclxuICAgICAgICAvLyBvbiBwYXJlbnQgbGF5b3V0IGNoYW5nZXMsIHJlLWVtaXQgdGhlIGxheW91dCBjaGFuZ2UgdG8gb3VyIGV2ZW50XHJcbiAgICAgICAgaWYgKGxheW91dCkge1xyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChsYXlvdXQubGF5b3V0Q2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5sYXlvdXRDaGFuZ2VkLmVtaXQoKSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RyaW5naWZ5VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmIChNc2Z0U21lLmlzTnVsbE9yV2hpdGVTcGFjZSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuICctJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5tYXAodiA9PiB0aGlzLnN0cmluZ2lmeVZhbHVlKHYpKS5qb2luKCcsXFxuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChNc2Z0U21lLmlzT2JqZWN0KHZhbHVlKSkge1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlLCBudWxsLCAyKTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dmFsdWV9YDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0VGVtcGxhdGUoaXRlbTogUHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudCkge1xyXG4gICAgICAgIGlmIChpdGVtLmFjdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25MaW5rVGVtcGxhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpdGVtLmxpbmspIHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0uaXNFeHRlcm5hbExpbmspIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmV4dGVybmFsTGlua1RlbXBsYXRlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxMaW5rVGVtcGxhdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVhZG9ubHlUZW1wbGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLm9yaWVudGF0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGF5b3V0Q2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyB0aGUgaWRCYWcgdXNlZCBieSB0aGlzIGNvbXBvbmVudCB0byBzdG9yZSB1bmlxdWUgZWxlbWVudCBpZHMuXHJcbiAgICAgKiBpZCB2YWx1ZXMgd2lsbCBiZSBhc3NpZ25lZCBiZSB0aGUgQHNlZSBCYXNlQ29tcG9uZW50IHN1cGVyIGNsYXNzLlxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgY3JlYXRlSWRCYWcoKTogTXNmdFNtZS5TdHJpbmdNYXA8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZGV0YWlsc1NwYW46ICcnLFxyXG4gICAgICAgICAgICBsYWJlbFNwYW46ICcnLFxyXG4gICAgICAgICAgICB2YWx1ZVNwYW46ICcnXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIGluaXRpYWwgaG9zdCBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRJbml0aWFsSG9zdENsYXNzZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEluaXRpYWxIb3N0Q2xhc3NlcygpLmNvbmNhdChbXHJcbiAgICAgICAgICAgICdzbWUtcHJvcGVydHktZ3JpZCcsXHJcbiAgICAgICAgICAgICdzbWUtbGF5b3V0LXJlbGF0aXZlJyxcclxuICAgICAgICAgICAgJ3NtZS1mb2N1cy16b25lJ1xyXG4gICAgICAgIF0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxzbWUtbGF5b3V0ICNsYXlvdXQgW3BhZExhc3RJdGVtXT1cInRydWVcIiBjbGFzcz1cInNtZS1wb3NpdGlvbi1pbnNldC1ub25lIHNtZS1wb3NpdGlvbi1zdHJldGNoLWhcIj5cclxuICA8c21lLWxheW91dC1kZWZpbml0aW9uIG5hbWU9XCJuYXJyb3dcIiBbdW50aWxdPVwibGF5b3V0SXRlbVdpZHRoXCIgW2NvbHVtbnNdPVwiMVwiPjwvc21lLWxheW91dC1kZWZpbml0aW9uPlxyXG4gIDxzbWUtbGF5b3V0LWRlZmluaXRpb24gKm5nSWY9XCJvcmllbnRhdGlvbiAhPT0gJ3ZlcnRpY2FsJ1wiIG5hbWU9XCJtZWRpdW1cIiBbdW50aWxdPVwibGF5b3V0SXRlbVdpZHRoKjJcIiBbY29sdW1uc109XCIyXCI+PC9zbWUtbGF5b3V0LWRlZmluaXRpb24+XHJcbiAgPHNtZS1sYXlvdXQtZGVmaW5pdGlvbiAqbmdJZj1cIm9yaWVudGF0aW9uICE9PSAndmVydGljYWwnXCIgbmFtZT1cIndpZGVcIiBbY29sdW1uc109XCIzXCI+PC9zbWUtbGF5b3V0LWRlZmluaXRpb24+XHJcbiAgPHNtZS1sYXlvdXQtaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgaW5kZXggYXMgaVwiIFtjb2x1bW5TcGFuXT1cIml0ZW0uY29sdW1uU3BhblwiXHJcbiAgICAgICAgICAgICAgICAgICBbbWF4V2lkdGhdPVwib3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCcgPyBudWxsIDogaXRlbS5jb2x1bW5TcGFuICogbGF5b3V0SXRlbVdpZHRoXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21lLXByb3BlcnR5LWdyaWQtaXRlbVwiICN6b25lPVwic21lVG9vbHRpcFpvbmVcIiBzbWVUb29sdGlwWm9uZT5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2staFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxzcGFuPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtbm9uZSBzbWUtaWNvbiBzbWUtaWNvbi1pbmZvIHNtZS1pbmZvLWJ1YmJsZSBzbWUtbWFyZ2luLWxlZnQteHNcIiAqbmdJZj1cIml0ZW0udG9vbHRpcFwiIFt0aXRsZV09XCJpdGVtLnRvb2x0aXBcIiBbdG9vbHRpcFpvbmVdPVwiem9uZVwiPjwvc3Bhbj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImdldFRlbXBsYXRlKGl0ZW0pO2NvbnRleHQ6eyRpbXBsaWNpdDppdGVtLCBpbmRleDogaX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJzbWUtc2NyZWVuLXJlYWRlclwiIFtpZF09XCJpZEJhZy5kZXRhaWxzU3BhbiArIGlcIj57e2l0ZW0udG9vbHRpcH19PC9zcGFuPlxyXG4gICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cInNtZS1zY3JlZW4tcmVhZGVyXCIgW2lkXT1cImlkQmFnLmxhYmVsU3BhbiArIGlcIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJzbWUtc2NyZWVuLXJlYWRlclwiIFtpZF09XCJpZEJhZy52YWx1ZVNwYW4gKyBpXCI+e3tpdGVtLnZhbHVlfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICA8L3NtZS1sYXlvdXQtaXRlbT5cclxuPC9zbWUtbGF5b3V0PlxyXG5cclxuPCEtLSBSZWFkIG9ubHkgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjcmVhZG9ubHlUZW1wbGF0ZSBsZXQtaXRlbSBsZXQtaT1cImluZGV4XCI+XHJcbiAgPHAgY2xhc3M9XCJyZWFkLW9ubHktdGVtcGxhdGVcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaWRCYWcubGFiZWxTcGFuICsgaVwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaWRCYWcuZGV0YWlsc1NwYW4gKyBpXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlO2NvbnRleHQ6eyRpbXBsaWNpdDppdGVtLCBpbmRleDogaX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0ubGluayAmJiAhaXRlbS5hY3Rpb25cIj57e3N0cmluZ2lmeVZhbHVlKGl0ZW0udmFsdWUpfX08L3NwYW4+XHJcbiAgPC9wPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBBY3Rpb24gbGluayAocm9sZSBidXR0b24pIC0tPlxyXG48bmctdGVtcGxhdGUgI2FjdGlvbkxpbmtUZW1wbGF0ZSBsZXQtaXRlbSBsZXQtaT1cImluZGV4XCI+XHJcbiAgPHA+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlO2NvbnRleHQ6eyRpbXBsaWNpdDppdGVtLCBpbmRleDogaX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDxhIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwic21lLWxpbmsgc21lLWZvY3VzLXpvbmUgYWN0aW9uLWxpbmstdGVtcGxhdGVcIiByb2xlPVwibGlua1wiIChjbGljayk9XCJpdGVtLmFjdGlvbihpdGVtKVwiXHJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiKGlkQmFnLmxhYmVsU3BhbiArIGkpICsgJyAnICsgKGlkQmFnLnZhbHVlU3BhbiArIGkpXCJcclxuICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaWRCYWcuZGV0YWlsc1NwYW4gKyBpXCI+e3tpdGVtLnZhbHVlfX08L2E+XHJcbiAgPC9wPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBJbnRlcm5hbCBsaW5rIC0tPlxyXG48bmctdGVtcGxhdGUgI2ludGVybmFsTGlua1RlbXBsYXRlIGxldC1pdGVtIGxldC1pPVwiaW5kZXhcIj5cclxuICA8cD5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uVGVtcGxhdGU7Y29udGV4dDp7JGltcGxpY2l0Oml0ZW0sIGluZGV4OiBpfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPGEgY2xhc3M9XCJzbWUtbGluayBzbWUtZm9jdXMtem9uZVwiIHJvbGU9XCJsaW5rXCIgW3JvdXRlckxpbmtdPVwiaXRlbS5saW5rXCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIihpZEJhZy5sYWJlbFNwYW4gKyBpKSArICcgJyArIChpZEJhZy52YWx1ZVNwYW4gKyBpKVwiXHJcbiAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImlkQmFnLmRldGFpbHNTcGFuICsgaVwiPnt7aXRlbS52YWx1ZX19PC9hPlxyXG4gIDwvcD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gRXh0ZXJuYWwgbGluayAtLT5cclxuPG5nLXRlbXBsYXRlICNleHRlcm5hbExpbmtUZW1wbGF0ZSBsZXQtaXRlbSBsZXQtaT1cImluZGV4XCI+XHJcbiAgPHA+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlO2NvbnRleHQ6eyRpbXBsaWNpdDppdGVtLCBpbmRleDogaX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDxhIGNsYXNzPVwic21lLWxpbmsgc21lLWZvY3VzLXpvbmVcIiByb2xlPVwibGlua1wiIFtocmVmXT1cIml0ZW0ubGlua1wiIHRhcmdldD1cIl9ibGFua1wiXHJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiKGlkQmFnLmxhYmVsU3BhbiArIGkpICsgJyAnICsgKGlkQmFnLnZhbHVlU3BhbiArIGkpXCIgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpZEJhZy5kZXRhaWxzU3BhbiArIGlcIj5cclxuICAgICAgPHNwYW4+e3tpdGVtLnZhbHVlfX08L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic21lLWljb24gc21lLWljb24tb3BlbkluTmV3V2luZG93IHNtZS1tYXJnaW4tbGVmdC14c1wiPjwvc3Bhbj5cclxuICAgIDwvYT5cclxuICA8L3A+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tIEljb24gVGVtcGxhdGUgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjaWNvblRlbXBsYXRlIGxldC1pdGVtIGxldC1pPVwiaW5kZXhcIj5cclxuICA8c3BhbiAqbmdJZj1cIiEhaXRlbS5pY29uQ2xhc3NcIiBjbGFzcz1cInNtZS1tYXJnaW4tcmlnaHQteHMgc21lLWljb24ge3tpdGVtLmljb25DbGFzc319XCI+PC9zcGFuPlxyXG4gIDxzbWUtc3RhdHVzLWljb24gKm5nSWY9XCJpdGVtLnN0YXR1cyAhPT0gbnVsbCAmJiAhaXRlbS5pY29uQ2xhc3NcIiBjbGFzcz1cInNtZS1sYXlvdXQtaW5saW5lLWJsb2NrIHNtZS1tYXJnaW4tcmlnaHQteHMgXCJcclxuICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwiaXRlbS5zdGF0dXNcIiBzaXplPVwiMTZweFwiPjwvc21lLXN0YXR1cy1pY29uPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
397
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFFVCxRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEUsT0FBTyxFQUFVLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ25CekUsNENBQTBJOzs7SUFBbEUsa0RBQTJCLGNBQUE7OztJQUNuRyw0Q0FBNEc7O0lBQXRDLDJCQUFhOzs7SUFNN0UsMkJBQTBMOzs7O0lBQXRFLHdDQUFzQixxQkFBQTs7O0lBSTVJLHdCQUFzRzs7OztJQVQxRywyQ0FDb0c7SUFDbEcsbUNBQTBFO0lBQ3hFLGlDQUFtQztJQUNqQyw0QkFBTTtJQUFBLFlBQWM7SUFBQSxpQkFBTztJQUMzQiwyRkFBMEw7SUFFMUwsZ0NBQWdDO0lBQUEsWUFBa0I7SUFBQSxpQkFBTztJQUMzRCxpQkFBUTtJQUNSLDJH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QUFHLEVBQUUsc0JBQXNCLEVBQUMsRUFBRTtpQkFDekY7YUFDSjs7c0JBNENvQyxRQUFROztzQkFBSSxRQUFROztzQkFBSSxNQUFNO3VCQUFDLG1CQUFtQjt3QkFwQzVFLEtBQUs7a0JBRFgsZUFBZTttQkFBQyx5QkFBeUI7WUFJbkMsZ0JBQWdCO2tCQUR0QixTQUFTO21CQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUl4QyxrQkFBa0I7a0JBRHhCLFNBQVM7bUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBSTFDLG9CQUFvQjtrQkFEMUIsU0FBUzttQkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFJNUMsb0JBQW9CO2tCQUQxQixTQUFTO21CQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQWM1QyxXQUFXO2tCQURqQixLQUFLO1lBT0MsYUFBYTtrQkFEbkIsTUFBTTtZQUlDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBmb3J3YXJkUmVmLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgSW5qZWN0b3IsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9wdGlvbmFsLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFNraXBTZWxmLFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29yZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWVJbmplY3QgfSBmcm9tICcuLi9jb21tb24vZGVjb3JhdG9ycy9pbmplY3Rpb24uZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IExheW91dCwgU01FX0xBWU9VVF9QUk9WSURFUiB9IGZyb20gJy4uL2NvbW1vbi9sYXlvdXQnO1xyXG5pbXBvcnQgeyBQcm9wZXJ0eUdyaWRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9wZXJ0eS1ncmlkLWl0ZW0uY29tcG9uZW50JztcclxuXHJcblxyXG4vKipcclxuICogVGhlIHBhbmUgb3JpZW50YXRpb24gb2YgdGhlIHNwbGl0IHZpZXcuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBQcm9wZXJ0eUdyaWRPcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCc7XHJcblxyXG4vKipcclxuICpcclxuICogQHNtZURvYyB7QGxhYmVsIFByb3BlcnR5IEdyaWQgQGlkIHNtZS1wcm9wZXJ0eS1ncmlkLWNvbXBvbmVudH1cclxuICpcclxuICogQG92ZXJ2aWV3XHJcbiAqIEBmaWxlIHtAZmlsZXBhdGggLi9leGFtcGxlcy9vdmVydmlldy5tZH1cclxuICpcclxuICogQGV4YW1wbGUge0BsYWJlbCBCYXNpYyBVc2FnZSBAaWQgYmFzaWMtdXNhZ2V9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvYmFzaWMtdXNhZ2UuY29tcG9uZW50Lmh0bWx9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgVmVydGljYWwgT3JpZW50YXRpb24gQGlkIHZlcnRpY2FsLW9yaWVudGF0aW9ufVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3ZlcnRpY2FsLW9yaWVudGF0aW9uLmNvbXBvbmVudC5odG1sfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIEl0ZW0gd2l0aCBhIExpbmsgQGlkIGxpbmstaXRlbX1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9saW5rLWl0ZW0uY29tcG9uZW50Lmh0bWx9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgSXRlbSB3aXRoIGEgVG9vbHRpcCBAaWQgdG9vbHRpcC1pdGVtfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3Rvb2x0aXAtaXRlbS5jb21wb25lbnQuaHRtbH1cclxuICpcclxuICogQGV4YW1wbGUge0BsYWJlbCBJdGVtIHdpdGggYSBBY3Rpb24gQGlkIGFjdGlvbi1pdGVtfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9hY3Rpb24taXRlbS5jb21wb25lbnQudHN9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvYWN0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWx9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgSXRlbSBTcGFubmluZyBNdWx0aXBsZSBDb2x1bW5zIEBpZCBtdWx0aS1jb2x1bW59XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvbXVsdGktY29sdW1uLWl0ZW0uY29tcG9uZW50Lmh0bWx9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgSXRlbXMgd2l0aCBTdGF0dXMgYW5kIEljb25zIEBpZCBzdGF0dXMtYW5kLWljb25zfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3N0YXR1cy1pdGVtLmNvbXBvbmVudC5odG1sfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIEl0ZW1zIHdpdGggY29tcGxleCB2YWx1ZSB0eXBlcyBAaWQgY29tcGxleC12YWx1ZX1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9jb21wbGV4LXZhbHVlcy5jb21wb25lbnQuaHRtbH1cclxuICpcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtcHJvcGVydHktZ3JpZCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktZ3JpZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IFNNRV9MQVlPVVRfUFJPVklERVIsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFByb3BlcnR5R3JpZENvbXBvbmVudCkgfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvcGVydHlHcmlkQ29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBMYXlvdXQsIE9uQ2hhbmdlcyB7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBiYXNpYyBjb2x1bW4gd2lkdGggZm9yIHRoZSBwcm9wZXJ0eSBncmlkIGl0ZW1zLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbGF5b3V0SXRlbVdpZHRoID0gMzAwO1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oUHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudClcclxuICAgIHB1YmxpYyBpdGVtczogUXVlcnlMaXN0PFByb3BlcnR5R3JpZEl0ZW1Db21wb25lbnQ+O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3JlYWRvbmx5VGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgcHVibGljIHJlYWRvbmx5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPFByb3BlcnR5R3JpZEl0ZW1Db21wb25lbnQ+O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2FjdGlvbkxpbmtUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgYWN0aW9uTGlua1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxQcm9wZXJ0eUdyaWRJdGVtQ29tcG9uZW50PjtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdpbnRlcm5hbExpbmtUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgaW50ZXJuYWxMaW5rVGVtcGxhdGU6IFRlbXBsYXRlUmVmPFByb3BlcnR5R3JpZEl0ZW1Db21wb25lbnQ+O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2V4dGVybmFsTGlua1RlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICAgIHB1YmxpYyBleHRlcm5hbExpbmtUZW1wbGF0ZTogVGVtcGxhdGVSZWY8UHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudD47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ1Byb3BlcnR5R3JpZENvbXBvbmVudCc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgb3JpZW50YXRpb246IFByb3BlcnR5R3JpZE9yaWVudGF0aW9uID0gJ2hvcml6b250YWwnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wbGVtZW50YXRpb24gb2YgdGhlIExheW91dCBpbnRlcmZhY2VcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgbGF5b3V0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBTbWVJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsIEBTa2lwU2VsZigpIEBPcHRpb25hbCgpIEBJbmplY3QoU01FX0xBWU9VVF9QUk9WSURFUikgcHJpdmF0ZSBsYXlvdXQ6IExheW91dCkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgICAgICAvLyBvbGQgc3R5bGUgc3VwcG9ydGVkIHNtZS1wcm9wZXJ0eS1ncmlkLWFycmFuZ2UtdmVydGljYWwgY2xhc3MuIGRlZmF1bHQgdG8gdmVydGljYWwgb3JpZW50YXRpb24gaWYgdGhpcyBjbGFzcyBpcyBhcHBsaWVkLlxyXG4gICAgICAgIGNvbnN0IGhhc1ZlcnRpY2FsQ2xhc3MgPSAoPEhUTUxFbGVtZW50PnRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCkuY2xhc3NMaXN0LmNvbnRhaW5zKCdzbWUtcHJvcGVydHktZ3JpZC1hcnJhbmdlLXZlcnRpY2FsJyk7XHJcbiAgICAgICAgdGhpcy5vcmllbnRhdGlvbiA9IGhhc1ZlcnRpY2FsQ2xhc3MgPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnO1xyXG5cclxuICAgICAgICAvLyBvbiBwYXJlbnQgbGF5b3V0IGNoYW5nZXMsIHJlLWVtaXQgdGhlIGxheW91dCBjaGFuZ2UgdG8gb3VyIGV2ZW50XHJcbiAgICAgICAgaWYgKGxheW91dCkge1xyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChsYXlvdXQubGF5b3V0Q2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5sYXlvdXRDaGFuZ2VkLmVtaXQoKSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RyaW5naWZ5VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmIChNc2Z0U21lLmlzTnVsbE9yV2hpdGVTcGFjZSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuICctJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5tYXAodiA9PiB0aGlzLnN0cmluZ2lmeVZhbHVlKHYpKS5qb2luKCcsXFxuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChNc2Z0U21lLmlzT2JqZWN0KHZhbHVlKSkge1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlLCBudWxsLCAyKTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dmFsdWV9YDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0VGVtcGxhdGUoaXRlbTogUHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudCkge1xyXG4gICAgICAgIGlmIChpdGVtLmFjdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25MaW5rVGVtcGxhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpdGVtLmxpbmspIHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0uaXNFeHRlcm5hbExpbmspIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmV4dGVybmFsTGlua1RlbXBsYXRlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxMaW5rVGVtcGxhdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVhZG9ubHlUZW1wbGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLm9yaWVudGF0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGF5b3V0Q2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyB0aGUgaWRCYWcgdXNlZCBieSB0aGlzIGNvbXBvbmVudCB0byBzdG9yZSB1bmlxdWUgZWxlbWVudCBpZHMuXHJcbiAgICAgKiBpZCB2YWx1ZXMgd2lsbCBiZSBhc3NpZ25lZCBiZSB0aGUgQHNlZSBCYXNlQ29tcG9uZW50IHN1cGVyIGNsYXNzLlxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgY3JlYXRlSWRCYWcoKTogTXNmdFNtZS5TdHJpbmdNYXA8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZGV0YWlsc1NwYW46ICcnLFxyXG4gICAgICAgICAgICBsYWJlbFNwYW46ICcnLFxyXG4gICAgICAgICAgICB2YWx1ZVNwYW46ICcnXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIGluaXRpYWwgaG9zdCBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRJbml0aWFsSG9zdENsYXNzZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEluaXRpYWxIb3N0Q2xhc3NlcygpLmNvbmNhdChbXHJcbiAgICAgICAgICAgICdzbWUtcHJvcGVydHktZ3JpZCcsXHJcbiAgICAgICAgICAgICdzbWUtbGF5b3V0LXJlbGF0aXZlJyxcclxuICAgICAgICAgICAgJ3NtZS1mb2N1cy16b25lJ1xyXG4gICAgICAgIF0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxzbWUtbGF5b3V0ICNsYXlvdXQgW3BhZExhc3RJdGVtXT1cInRydWVcIiBjbGFzcz1cInNtZS1wb3NpdGlvbi1pbnNldC1ub25lIHNtZS1wb3NpdGlvbi1zdHJldGNoLWhcIj5cclxuICA8c21lLWxheW91dC1kZWZpbml0aW9uIG5hbWU9XCJuYXJyb3dcIiBbdW50aWxdPVwibGF5b3V0SXRlbVdpZHRoXCIgW2NvbHVtbnNdPVwiMVwiPjwvc21lLWxheW91dC1kZWZpbml0aW9uPlxyXG4gIDxzbWUtbGF5b3V0LWRlZmluaXRpb24gKm5nSWY9XCJvcmllbnRhdGlvbiAhPT0gJ3ZlcnRpY2FsJ1wiIG5hbWU9XCJtZWRpdW1cIiBbdW50aWxdPVwibGF5b3V0SXRlbVdpZHRoKjJcIiBbY29sdW1uc109XCIyXCI+PC9zbWUtbGF5b3V0LWRlZmluaXRpb24+XHJcbiAgPHNtZS1sYXlvdXQtZGVmaW5pdGlvbiAqbmdJZj1cIm9yaWVudGF0aW9uICE9PSAndmVydGljYWwnXCIgbmFtZT1cIndpZGVcIiBbY29sdW1uc109XCIzXCI+PC9zbWUtbGF5b3V0LWRlZmluaXRpb24+XHJcbiAgPHNtZS1sYXlvdXQtaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgaW5kZXggYXMgaVwiIFtjb2x1bW5TcGFuXT1cIml0ZW0uY29sdW1uU3BhblwiXHJcbiAgICAgICAgICAgICAgICAgICBbbWF4V2lkdGhdPVwib3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCcgPyBudWxsIDogaXRlbS5jb2x1bW5TcGFuICogbGF5b3V0SXRlbVdpZHRoXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21lLXByb3BlcnR5LWdyaWQtaXRlbVwiICN6b25lPVwic21lVG9vbHRpcFpvbmVcIiBzbWVUb29sdGlwWm9uZT5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2staFwiPlxyXG4gICAgICAgIDxzcGFuPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtbm9uZSBzbWUtaWNvbiBzbWUtaWNvbi1pbmZvIHNtZS1pbmZvLWJ1YmJsZSBzbWUtbWFyZ2luLWxlZnQteHNcIiAqbmdJZj1cIml0ZW0udG9vbHRpcFwiIFt0aXRsZV09XCJpdGVtLnRvb2x0aXBcIiBbdG9vbHRpcFpvbmVdPVwiem9uZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8IS0tIGluIHNjYW4gbW9kZSBzY3JlZW4gcmVhZGVyIGRvZXMgbm90IGZvY3VzIG9uIHRoZSBpbmZvIGljb24gcHJvcGVybHkgdG8gcmVhZCB0aGUgdGl0bGUgLS0+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzbWUtc2NyZWVuLXJlYWRlclwiPnt7IGl0ZW0udG9vbHRpcCB9fTwvc3Bhbj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImdldFRlbXBsYXRlKGl0ZW0pO2NvbnRleHQ6eyRpbXBsaWNpdDppdGVtLCBpbmRleDogaX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvc21lLWxheW91dC1pdGVtPlxyXG48L3NtZS1sYXlvdXQ+XHJcblxyXG48IS0tIFJlYWQgb25seSAtLT5cclxuPG5nLXRlbXBsYXRlICNyZWFkb25seVRlbXBsYXRlIGxldC1pdGVtIGxldC1pPVwiaW5kZXhcIj5cclxuICA8cCBjbGFzcz1cInJlYWQtb25seS10ZW1wbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpZEJhZy5sYWJlbFNwYW4gKyBpXCIgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpZEJhZy5kZXRhaWxzU3BhbiArIGlcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uVGVtcGxhdGU7Y29udGV4dDp7JGltcGxpY2l0Oml0ZW0sIGluZGV4OiBpfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5saW5rICYmICFpdGVtLmFjdGlvblwiPnt7c3RyaW5naWZ5VmFsdWUoaXRlbS52YWx1ZSl9fTwvc3Bhbj5cclxuICA8L3A+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tIEFjdGlvbiBsaW5rIChyb2xlIGJ1dHRvbikgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjYWN0aW9uTGlua1RlbXBsYXRlIGxldC1pdGVtIGxldC1pPVwiaW5kZXhcIj5cclxuICA8cD5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uVGVtcGxhdGU7Y29udGV4dDp7JGltcGxpY2l0Oml0ZW0sIGluZGV4OiBpfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPGEgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJzbWUtbGluayBzbWUtZm9jdXMtem9uZSBhY3Rpb24tbGluay10ZW1wbGF0ZVwiIHJvbGU9XCJsaW5rXCIgKGNsaWNrKT1cIml0ZW0uYWN0aW9uKGl0ZW0pXCJcclxuICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIoaWRCYWcubGFiZWxTcGFuICsgaSkgKyAnICcgKyAoaWRCYWcudmFsdWVTcGFuICsgaSlcIlxyXG4gICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpZEJhZy5kZXRhaWxzU3BhbiArIGlcIj57e2l0ZW0udmFsdWV9fTwvYT5cclxuICA8L3A+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tIEludGVybmFsIGxpbmsgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjaW50ZXJuYWxMaW5rVGVtcGxhdGUgbGV0LWl0ZW0gbGV0LWk9XCJpbmRleFwiPlxyXG4gIDxwPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25UZW1wbGF0ZTtjb250ZXh0OnskaW1wbGljaXQ6aXRlbSwgaW5kZXg6IGl9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8YSBjbGFzcz1cInNtZS1saW5rIHNtZS1mb2N1cy16b25lXCIgcm9sZT1cImxpbmtcIiBbcm91dGVyTGlua109XCJpdGVtLmxpbmtcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiKGlkQmFnLmxhYmVsU3BhbiArIGkpICsgJyAnICsgKGlkQmFnLnZhbHVlU3BhbiArIGkpXCJcclxuICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaWRCYWcuZGV0YWlsc1NwYW4gKyBpXCI+e3tpdGVtLnZhbHVlfX08L2E+XHJcbiAgPC9wPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBFeHRlcm5hbCBsaW5rIC0tPlxyXG48bmctdGVtcGxhdGUgI2V4dGVybmFsTGlua1RlbXBsYXRlIGxldC1pdGVtIGxldC1pPVwiaW5kZXhcIj5cclxuICA8cD5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uVGVtcGxhdGU7Y29udGV4dDp7JGltcGxpY2l0Oml0ZW0sIGluZGV4OiBpfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPGEgY2xhc3M9XCJzbWUtbGluayBzbWUtZm9jdXMtem9uZVwiIHJvbGU9XCJsaW5rXCIgW2hyZWZdPVwiaXRlbS5saW5rXCIgdGFyZ2V0PVwiX2JsYW5rXCJcclxuICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIoaWRCYWcubGFiZWxTcGFuICsgaSkgKyAnICcgKyAoaWRCYWcudmFsdWVTcGFuICsgaSlcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImlkQmFnLmRldGFpbHNTcGFuICsgaVwiPlxyXG4gICAgICA8c3Bhbj57e2l0ZW0udmFsdWV9fTwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzbWUtaWNvbiBzbWUtaWNvbi1vcGVuSW5OZXdXaW5kb3cgc21lLW1hcmdpbi1sZWZ0LXhzXCI+PC9zcGFuPlxyXG4gICAgPC9hPlxyXG4gIDwvcD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gSWNvbiBUZW1wbGF0ZSAtLT5cclxuPG5nLXRlbXBsYXRlICNpY29uVGVtcGxhdGUgbGV0LWl0ZW0gbGV0LWk9XCJpbmRleFwiPlxyXG4gIDxzcGFuICpuZ0lmPVwiISFpdGVtLmljb25DbGFzc1wiIGNsYXNzPVwic21lLW1hcmdpbi1yaWdodC14cyBzbWUtaWNvbiB7e2l0ZW0uaWNvbkNsYXNzfX1cIj48L3NwYW4+XHJcbiAgPHNtZS1zdGF0dXMtaWNvbiAqbmdJZj1cIml0ZW0uc3RhdHVzICE9PSBudWxsICYmICFpdGVtLmljb25DbGFzc1wiIGNsYXNzPVwic21lLWxheW91dC1pbmxpbmUtYmxvY2sgc21lLW1hcmdpbi1yaWdodC14cyBcIlxyXG4gICAgICAgICAgICAgICAgICAgW3N0YXR1c109XCJpdGVtLnN0YXR1c1wiIHNpemU9XCIxNnB4XCI+PC9zbWUtc3RhdHVzLWljb24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -46,10 +46,10 @@ export class SchemaFormContentComponent {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
get isFormValid() {
|
|
49
|
-
return this.fieldHostComponent.isValid();
|
|
49
|
+
return !!this.fieldHostComponent && this.fieldHostComponent.isValid();
|
|
50
50
|
}
|
|
51
51
|
get isFormDirty() {
|
|
52
|
-
return this.fieldHostComponent.isDirty();
|
|
52
|
+
return !!this.fieldHostComponent && this.fieldHostComponent.isDirty();
|
|
53
53
|
}
|
|
54
54
|
onFormActionExecuted(action, data) {
|
|
55
55
|
this.formActionExecuted.emit({ action: action, data: data });
|
|
@@ -61,7 +61,10 @@ export class SchemaFormContentComponent {
|
|
|
61
61
|
this.context.formController = this.formController;
|
|
62
62
|
}
|
|
63
63
|
getFormContainerLoaderComponent() {
|
|
64
|
-
|
|
64
|
+
if (this.fieldHostComponent) {
|
|
65
|
+
return this.fieldHostComponent.getFormFieldLoaderComponent();
|
|
66
|
+
}
|
|
67
|
+
return null;
|
|
65
68
|
}
|
|
66
69
|
}
|
|
67
70
|
/** @nocollapse */ SchemaFormContentComponent.ɵfac = function SchemaFormContentComponent_Factory(t) { return new (t || SchemaFormContentComponent)(); };
|
|
@@ -95,4 +98,4 @@ export class SchemaFormContentComponent {
|
|
|
95
98
|
}], formActionExecuted: [{
|
|
96
99
|
type: Output
|
|
97
100
|
}] }); })();
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWZvcm0tY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9zY2hlbWEtZm9ybS9zY2hlbWEtZm9ybS1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL3NjaGVtYS1mb3JtL3NjaGVtYS1mb3JtLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQzVELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBa0MsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqSCxPQUFPLEVBQXdCLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztJQ0puRiw4QkFBeUM7SUFDckMsZ0RBQTZKO0lBQTVHLDhOQUFlLG9RQUFBO0lBQTZGLGlCQUF3QjtJQUN6TCxpQkFBTTs7O0lBRHFCLGVBQXlCO0lBQXpCLDhDQUF5QixxQkFBQSwyQkFBQTs7QURLcEQ7OztHQUdHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQUp2QztRQWlEVyx1QkFBa0IsR0FBZ0QsSUFBSSxZQUFZLEVBQWlDLENBQUM7S0F5QjlIO0lBL0RHOztPQUVHO0lBQ0gsSUFDVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFXLE1BQU0sQ0FBQyxLQUFpQjtRQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWU7UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQztJQWlCRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUUsQ0FBQztJQUNNLG9CQUFvQixDQUFDLE1BQWMsRUFBRSxJQUFTO1FBQ2pELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDdEQsQ0FBQztJQUNNLCtCQUErQjtRQUNsQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1NBQ2hFO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7dUhBckVRLDBCQUEwQjtrRkFBMUIsMEJBQTBCO3VCQUl4Qix3QkFBd0I7Ozs7O1FDbEJ2QywyRUFFTTs7UUFGQSxpQ0FBWTs7dUZEY0wsMEJBQTBCO2NBSnRDLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyxXQUFXLEVBQUUsc0NBQXNDO2FBQ3REO2dCQU1VLGtCQUFrQjtrQkFEeEIsU0FBUzttQkFBQyx3QkFBd0I7WUFPeEIsTUFBTTtrQkFEaEIsS0FBSztZQVlLLElBQUk7a0JBRGQsS0FBSztZQWtCQyxjQUFjO2tCQURwQixLQUFLO1lBSUMsWUFBWTtrQkFEbEIsS0FBSztZQUlDLGtCQUFrQjtrQkFEeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2NoZW1hRmllbGRIb3N0Q29tcG9uZW50LCBTY2hlbWFGaWVsZExvYWRlckNvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9zY2hlbWEvc2NoZW1hLWZpZWxkLWhvc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YVNjaGVtYSwgRm9ybURhdGEsIFNjaGVtYUZpZWxkQ29udGV4dCB9IGZyb20gJy4uL3NjaGVtYS9zY2hlbWEtbW9kZWxzJztcclxuXHJcbi8qKlxyXG4gKiBTY2hlbWEgRm9ybSBDb21wb25lbnRcclxuICogSXQgdGFrZXMgdGhlIHNjaGVtYSBhbmQgZGF0YSBhbmQgb3RoZXIgbmVjZXNzYXJ5IGlucHV0cyB0aGVuIGR5bmFtaWNhbGx5IHJlbmRlcnMgdGhlIGZvcm0gVUkuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLXNjaGVtYS1mb3JtLWNvbnRlbnQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjaGVtYS1mb3JtLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTY2hlbWFGb3JtQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBwcml2YXRlIGludGVybmFsU2NoZW1hOiBEYXRhU2NoZW1hO1xyXG4gICAgcHJpdmF0ZSBpbnRlcm5hbERhdGE6IEZvcm1EYXRhO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoU2NoZW1hRmllbGRIb3N0Q29tcG9uZW50KVxyXG4gICAgcHVibGljIGZpZWxkSG9zdENvbXBvbmVudDogU2NoZW1hRmllbGRIb3N0Q29tcG9uZW50O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXQgZ2V0cyBhbmQgc2V0cyB0aGUgc2NoZW1hLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBzY2hlbWEoKTogRGF0YVNjaGVtYSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxTY2hlbWE7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IHNjaGVtYSh2YWx1ZTogRGF0YVNjaGVtYSkge1xyXG4gICAgICAgIHRoaXMuaW50ZXJuYWxTY2hlbWEgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEl0IGdldHMgYW5kIHNldHMgdGhlIGZvcm0gZGF0YS5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgZGF0YSgpOiBGb3JtRGF0YSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxEYXRhO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBkYXRhKHZhbHVlOiBGb3JtRGF0YSkge1xyXG4gICAgICAgIHRoaXMuaW50ZXJuYWxEYXRhID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuZm9ybURhdGEgPSB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbnRleHQ6IFNjaGVtYUZpZWxkQ29udGV4dDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBmb3JtIGNvbnRyb2xsZXIgIHdoaWNoIGlzIHVzZWQgdG8gcHJvdmlkZSBzb21lIGJlaGF2aW9ycyBmcm9tIHRoZSBob3N0IG9mIHRoZSBmb3JtLlxyXG4gICAgICogQ3VzdG9tIHZhbGlkYXRpb24gbWV0aG9kcyBjYW4gYmUgcHJvdmlkZWQgYnkgaXQuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZm9ybUNvbnRyb2xsZXI6IGFueTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGlzRWRpdG9yTW9kZTogYm9vbGVhbjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBmb3JtQWN0aW9uRXhlY3V0ZWQ6IEV2ZW50RW1pdHRlcjx7IGFjdGlvbjogc3RyaW5nLCBkYXRhOiBhbnkgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgYWN0aW9uOiBzdHJpbmcsIGRhdGE6IGFueSB9PigpO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNGb3JtVmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICEhdGhpcy5maWVsZEhvc3RDb21wb25lbnQgJiYgdGhpcy5maWVsZEhvc3RDb21wb25lbnQuaXNWYWxpZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNGb3JtRGlydHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICEhdGhpcy5maWVsZEhvc3RDb21wb25lbnQgJiYgdGhpcy5maWVsZEhvc3RDb21wb25lbnQuaXNEaXJ0eSgpO1xyXG4gICAgfVxyXG4gICAgcHVibGljIG9uRm9ybUFjdGlvbkV4ZWN1dGVkKGFjdGlvbjogc3RyaW5nLCBkYXRhOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZvcm1BY3Rpb25FeGVjdXRlZC5lbWl0KHsgYWN0aW9uOiBhY3Rpb24sIGRhdGE6IGRhdGEgfSk7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0ID0gbmV3IFNjaGVtYUZpZWxkQ29udGV4dCgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5pc0VkaXRvck1vZGUgPSB0aGlzLmlzRWRpdG9yTW9kZTtcclxuICAgICAgICB0aGlzLmNvbnRleHQuZm9ybURhdGEgPSB0aGlzLmRhdGE7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZvcm1Db250cm9sbGVyID0gdGhpcy5mb3JtQ29udHJvbGxlcjtcclxuICAgIH1cclxuICAgIHB1YmxpYyBnZXRGb3JtQ29udGFpbmVyTG9hZGVyQ29tcG9uZW50KCk6IFNjaGVtYUZpZWxkTG9hZGVyQ29tcG9uZW50QmFzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmllbGRIb3N0Q29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpZWxkSG9zdENvbXBvbmVudC5nZXRGb3JtRmllbGRMb2FkZXJDb21wb25lbnQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJzY2hlbWFcIiBjbGFzcz1cImZvcm0tY29udGVudFwiPlxyXG4gICAgPHNtZS1zY2hlbWEtZmllbGQtaG9zdCBbcHJvcGVydHlTY2hlbWFdPVwic2NoZW1hXCIgWyhkYXRhKV09XCJkYXRhXCIgW2NvbnRleHRdPVwiY29udGV4dFwiIChmb3JtQWN0aW9uRXhlY3V0ZWQpPVwib25Gb3JtQWN0aW9uRXhlY3V0ZWQoJGV2ZW50LmFjdGlvbiwgJGV2ZW50LmRhdGEpXCI+PC9zbWUtc2NoZW1hLWZpZWxkLWhvc3Q+XHJcbjwvZGl2PiJdfQ==
|