barsa-sap-ui 2.2.47 → 2.2.49
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/esm2022/lib/barsa-chat/barsa-chat.component.mjs +6 -150
- package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +2 -2
- package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +6 -5
- package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +6 -5
- package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +3 -2
- package/esm2022/lib/barsa-sap-ui.module.mjs +6 -5
- package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +5 -4
- package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +3 -2
- package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +3 -3
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +7 -5
- package/esm2022/lib/contentDensity.directive.mjs +25 -0
- package/esm2022/lib/form-wizard/form-wizard.component.mjs +5 -4
- package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +3 -2
- package/esm2022/lib/index.mjs +4 -2
- package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +4 -3
- package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +4 -3
- package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +15 -13
- package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +4 -3
- package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +4 -3
- package/esm2022/lib/ui-grid/ui-grid.component.mjs +4 -3
- package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +3 -2
- package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +3 -2
- package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +4 -3
- package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +5 -4
- package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +7 -14
- package/esm2022/lib/ui-tree/ui-tree.component.mjs +3 -2
- package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +4 -3
- package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +3 -2
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/barsa-sap-ui.mjs +137 -264
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/lib/barsa-chat/barsa-chat.component.d.ts +0 -30
- package/lib/barsa-sap-ui.module.d.ts +18 -17
- package/lib/breadcrumb/breadcrumb.component.d.ts +1 -0
- package/lib/contentDensity.directive.d.ts +9 -0
- package/lib/index.d.ts +2 -1
- package/lib/ui-text-area/ui-text-area.component.d.ts +2 -0
- package/lib/ui-tinymce/ui-tinymce.component.d.ts +1 -4
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -3,8 +3,10 @@ import { BarsaApi, FieldBaseComponent, getDeviceIsMobile } from 'barsa-novin-ray
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
import * as i2 from "barsa-novin-ray-core";
|
|
6
|
-
import * as i3 from "
|
|
7
|
-
import * as i4 from "../
|
|
6
|
+
import * as i3 from "@fundamental-ngx/core/form";
|
|
7
|
+
import * as i4 from "../mask/mask.component";
|
|
8
|
+
import * as i5 from "../barsa-tinyemce/barsa-tinyemce.component";
|
|
9
|
+
import * as i6 from "../contentDensity.directive";
|
|
8
10
|
export class UiTinymceComponent extends FieldBaseComponent {
|
|
9
11
|
constructor() {
|
|
10
12
|
super(...arguments);
|
|
@@ -21,19 +23,10 @@ export class UiTinymceComponent extends FieldBaseComponent {
|
|
|
21
23
|
}
|
|
22
24
|
if (this.Setting.IsHtmlViewer) {
|
|
23
25
|
this.tinyHeight = 'auto';
|
|
24
|
-
this.sefeValue = this._domSanitizer.bypassSecurityTrustHtml(this.value);
|
|
25
26
|
}
|
|
26
27
|
this.isAnonymous = !BarsaApi.LoginFormData.IsUserLoggedIn;
|
|
27
28
|
// this.tinyHeight = this.layoutInfo.ControlBounds.height;
|
|
28
29
|
}
|
|
29
|
-
ngOnChanges(simpleChanges) {
|
|
30
|
-
super.ngOnChanges(simpleChanges);
|
|
31
|
-
if (simpleChanges.value && !simpleChanges.value.firstChange) {
|
|
32
|
-
if (this.Setting.IsHtmlViewer) {
|
|
33
|
-
this.sefeValue = this._domSanitizer.bypassSecurityTrustHtml(this.value);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
30
|
onTinyInit() {
|
|
38
31
|
this.tinyInit = true;
|
|
39
32
|
}
|
|
@@ -42,11 +35,11 @@ export class UiTinymceComponent extends FieldBaseComponent {
|
|
|
42
35
|
this.context.fireEvent('change', this, newValue, this.value, {});
|
|
43
36
|
}
|
|
44
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTinymceComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiTinymceComponent, selector: "bsu-ui-tinymce", host: { properties: { "style.min-height": "this.tinyHeight", "style.min-width": "this._minWidth" } }, usesInheritance: true,
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiTinymceComponent, selector: "bsu-ui-tinymce", host: { properties: { "style.min-height": "this.tinyHeight", "style.min-width": "this._minWidth" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *untilInView=\"el\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n (Setting.IsHtmlViewer || (disableOrReadonly$ | async)) === true ? readonlyMode : editMode;\r\n context: { disable: (disable$ | async) === true }\r\n \"\r\n ></ng-container>\r\n <ng-template #readonlyMode let-disable=\"disable\">\r\n <input fd-form-control class=\"hide\" />\r\n <div\r\n class=\"html-readonly fd-input\"\r\n contentDensity\r\n [attr.readonly]=\"true\"\r\n [class.readonly]=\"true\"\r\n [class.anonymous]=\"isAnonymous\"\r\n [class.disable]=\"disable\"\r\n [innerHtml]=\"value | sanitizeText\"\r\n [style.pointer-event]=\"disable ? 'none' : null\"\r\n style=\"height: auto !important\"\r\n ></div>\r\n </ng-template>\r\n\r\n <ng-template #editMode>\r\n <bsu-mask *ngIf=\"!tinyInit\"></bsu-mask>\r\n <bsu-barsa-tinyemce\r\n [attr.ismobile]=\"isMobile\"\r\n [attr.ismobile]=\"isTablet\"\r\n [Setting]=\"Setting\"\r\n [IsInline]=\"parameters?.IsInline === true\"\r\n [value]=\"value\"\r\n [defaultVerbs]=\"context.defaultVerbs\"\r\n (tinyInit)=\"onTinyInit()\"\r\n (valueChange)=\"onTinyChanged($event)\"\r\n [readonly]=\"isReadonly\"\r\n ></bsu-barsa-tinyemce>\r\n </ng-template>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;height:100%;width:100%;align-self:flex-start}:host ::ng-deep .tox.tox-tinymce{border-radius:0%;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor)}.html-readonly,bsu-barsa-tinyemce{flex-grow:1}.html-readonly ::ng-deep>p{overflow:auto}.readonly{background:var(--sapBackgroundColor);height:100%}.disable{background:var(--sapBackgroundColor);height:100%;opacity:.5}.readonly.anonymous{background-color:transparent;border:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "component", type: i3.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i4.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i5.BarsaTinyemceComponent, selector: "bsu-barsa-tinyemce", inputs: ["Setting", "isReadonly", "value", "IsInline", "defaultVerbs"], outputs: ["valueChange", "tinyInit"] }, { kind: "directive", type: i6.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.SanitizeTextPipe, name: "sanitizeText" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
46
39
|
}
|
|
47
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTinymceComponent, decorators: [{
|
|
48
41
|
type: Component,
|
|
49
|
-
args: [{ selector: 'bsu-ui-tinymce', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container *untilInView=\"el\">\r\n <
|
|
42
|
+
args: [{ selector: 'bsu-ui-tinymce', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container *untilInView=\"el\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n (Setting.IsHtmlViewer || (disableOrReadonly$ | async)) === true ? readonlyMode : editMode;\r\n context: { disable: (disable$ | async) === true }\r\n \"\r\n ></ng-container>\r\n <ng-template #readonlyMode let-disable=\"disable\">\r\n <input fd-form-control class=\"hide\" />\r\n <div\r\n class=\"html-readonly fd-input\"\r\n contentDensity\r\n [attr.readonly]=\"true\"\r\n [class.readonly]=\"true\"\r\n [class.anonymous]=\"isAnonymous\"\r\n [class.disable]=\"disable\"\r\n [innerHtml]=\"value | sanitizeText\"\r\n [style.pointer-event]=\"disable ? 'none' : null\"\r\n style=\"height: auto !important\"\r\n ></div>\r\n </ng-template>\r\n\r\n <ng-template #editMode>\r\n <bsu-mask *ngIf=\"!tinyInit\"></bsu-mask>\r\n <bsu-barsa-tinyemce\r\n [attr.ismobile]=\"isMobile\"\r\n [attr.ismobile]=\"isTablet\"\r\n [Setting]=\"Setting\"\r\n [IsInline]=\"parameters?.IsInline === true\"\r\n [value]=\"value\"\r\n [defaultVerbs]=\"context.defaultVerbs\"\r\n (tinyInit)=\"onTinyInit()\"\r\n (valueChange)=\"onTinyChanged($event)\"\r\n [readonly]=\"isReadonly\"\r\n ></bsu-barsa-tinyemce>\r\n </ng-template>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;height:100%;width:100%;align-self:flex-start}:host ::ng-deep .tox.tox-tinymce{border-radius:0%;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor)}.html-readonly,bsu-barsa-tinyemce{flex-grow:1}.html-readonly ::ng-deep>p{overflow:auto}.readonly{background:var(--sapBackgroundColor);height:100%}.disable{background:var(--sapBackgroundColor);height:100%;opacity:.5}.readonly.anonymous{background-color:transparent;border:none}\n"] }]
|
|
50
43
|
}], propDecorators: { tinyHeight: [{
|
|
51
44
|
type: HostBinding,
|
|
52
45
|
args: ['style.min-height']
|
|
@@ -54,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
54
47
|
type: HostBinding,
|
|
55
48
|
args: ['style.min-width']
|
|
56
49
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdGlueW1jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS10aW55bWNlL3VpLXRpbnltY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdGlueW1jZS91aS10aW55bWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUF1QixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQVM1RyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsa0JBQWtCO0lBUDFEOztRQVFxQyxlQUFVLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUVuRixhQUFRLEdBQUcsS0FBSyxDQUFDO0tBdUJwQjtJQXBCRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUM1RSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQTRCLENBQUM7UUFDakQsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1FBQzdCLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUM7UUFDMUQsMERBQTBEO0lBQzlELENBQUM7SUFDRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUNELGFBQWEsQ0FBQyxRQUFRO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7K0dBMUJRLGtCQUFrQjttR0FBbEIsa0JBQWtCLG1MQ1gvQixxOUNBcUNBOzs0RkQxQmEsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNJLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBR2dCLFVBQVU7c0JBQTFDLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUNDLFNBQVM7c0JBQXhDLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uQ2hhbmdlcywgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXJzYUFwaSwgRmllbGRCYXNlQ29tcG9uZW50LCBnZXREZXZpY2VJc01vYmlsZSwgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktdGlueW1jZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktdGlueW1jZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS10aW55bWNlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaVRpbnltY2VDb21wb25lbnQgZXh0ZW5kcyBGaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi1oZWlnaHQnKSB0aW55SGVpZ2h0ID0gJzEwMHB4JztcclxuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJykgX21pbldpZHRoID0gZ2V0RGV2aWNlSXNNb2JpbGUoKSA/ICcxMDAlJyA6ICczMjBweCc7XHJcbiAgICBpc1JlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgdGlueUluaXQgPSBmYWxzZTtcclxuICAgIGlzQW5vbnltb3VzOiBib29sZWFuO1xyXG4gICAgcGFyYW1ldGVyczogVWlUaW55bWNlU2V0dGluZztcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5pc1JlYWRvbmx5ID0gdGhpcy5TZXR0aW5nLklzUmVhZE9ubHkgfHwgdGhpcy5TZXR0aW5nLkNvbnRyb2xJc1JlYWRPbmx5O1xyXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBpZiAoZWwucGFyZW50RWxlbWVudCkge1xyXG4gICAgICAgICAgICBlbC5wYXJlbnRFbGVtZW50LnN0eWxlLmFsaWduU2VsZiA9ICdzdHJldGNoJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuU2V0dGluZy5Jc0h0bWxWaWV3ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy50aW55SGVpZ2h0ID0gJ2F1dG8nO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzQW5vbnltb3VzID0gIUJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNVc2VyTG9nZ2VkSW47XHJcbiAgICAgICAgLy8gdGhpcy50aW55SGVpZ2h0ID0gdGhpcy5sYXlvdXRJbmZvLkNvbnRyb2xCb3VuZHMuaGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgb25UaW55SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRpbnlJbml0ID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIG9uVGlueUNoYW5nZWQobmV3VmFsdWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQudmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KCdjaGFuZ2UnLCB0aGlzLCBuZXdWYWx1ZSwgdGhpcy52YWx1ZSwge30pO1xyXG4gICAgfVxyXG59XHJcbmludGVyZmFjZSBVaVRpbnltY2VTZXR0aW5nIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBJc0lubGluZTogYm9vbGVhbjtcclxufVxyXG4iLCI8bmctY29udGFpbmVyICp1bnRpbEluVmlldz1cImVsXCI+XHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgKFNldHRpbmcuSXNIdG1sVmlld2VyIHx8IChkaXNhYmxlT3JSZWFkb25seSQgfCBhc3luYykpID09PSB0cnVlID8gcmVhZG9ubHlNb2RlIDogZWRpdE1vZGU7XHJcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgZGlzYWJsZTogKGRpc2FibGUkIHwgYXN5bmMpID09PSB0cnVlIH1cclxuICAgICAgICBcIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLXRlbXBsYXRlICNyZWFkb25seU1vZGUgbGV0LWRpc2FibGU9XCJkaXNhYmxlXCI+XHJcbiAgICAgICAgPGlucHV0IGZkLWZvcm0tY29udHJvbCBjbGFzcz1cImhpZGVcIiAvPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJodG1sLXJlYWRvbmx5IGZkLWlucHV0XCJcclxuICAgICAgICAgICAgY29udGVudERlbnNpdHlcclxuICAgICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5yZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2NsYXNzLmFub255bW91c109XCJpc0Fub255bW91c1wiXHJcbiAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlXT1cImRpc2FibGVcIlxyXG4gICAgICAgICAgICBbaW5uZXJIdG1sXT1cInZhbHVlIHwgc2FuaXRpemVUZXh0XCJcclxuICAgICAgICAgICAgW3N0eWxlLnBvaW50ZXItZXZlbnRdPVwiZGlzYWJsZSA/ICdub25lJyA6IG51bGxcIlxyXG4gICAgICAgICAgICBzdHlsZT1cImhlaWdodDogYXV0byAhaW1wb3J0YW50XCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZWRpdE1vZGU+XHJcbiAgICAgICAgPGJzdS1tYXNrICpuZ0lmPVwiIXRpbnlJbml0XCI+PC9ic3UtbWFzaz5cclxuICAgICAgICA8YnN1LWJhcnNhLXRpbnllbWNlXHJcbiAgICAgICAgICAgIFthdHRyLmlzbW9iaWxlXT1cImlzTW9iaWxlXCJcclxuICAgICAgICAgICAgW2F0dHIuaXNtb2JpbGVdPVwiaXNUYWJsZXRcIlxyXG4gICAgICAgICAgICBbU2V0dGluZ109XCJTZXR0aW5nXCJcclxuICAgICAgICAgICAgW0lzSW5saW5lXT1cInBhcmFtZXRlcnM/LklzSW5saW5lID09PSB0cnVlXCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgW2RlZmF1bHRWZXJic109XCJjb250ZXh0LmRlZmF1bHRWZXJic1wiXHJcbiAgICAgICAgICAgICh0aW55SW5pdCk9XCJvblRpbnlJbml0KClcIlxyXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25UaW55Q2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cImlzUmVhZG9ubHlcIlxyXG4gICAgICAgID48L2JzdS1iYXJzYS10aW55ZW1jZT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
@@ -13,6 +13,7 @@ import * as i7 from "@fundamental-ngx/core/title";
|
|
|
13
13
|
import * as i8 from "@fundamental-ngx/core/toolbar";
|
|
14
14
|
import * as i9 from "../ulv-toolbar/ulv-toolbar.component";
|
|
15
15
|
import * as i10 from "../ui-tree-view/ui-tree-view.component";
|
|
16
|
+
import * as i11 from "../contentDensity.directive";
|
|
16
17
|
export class UiTreeComponent extends ReportTreeBaseComponent {
|
|
17
18
|
constructor() {
|
|
18
19
|
super(...arguments);
|
|
@@ -103,7 +104,7 @@ export class UiTreeComponent extends ReportTreeBaseComponent {
|
|
|
103
104
|
this.loadChildren(node);
|
|
104
105
|
}
|
|
105
106
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTreeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
106
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiTreeComponent, selector: "bsu-ui-tree", inputs: { showOkCancelButtons: "showOkCancelButtons" }, usesInheritance: true, ngImport: i0, template: "<ng-container\r\n *ngTemplateOutlet=\"\r\n renderTree;\r\n context: {\r\n $implicit: root$ | async,\r\n moDataList: flatMoDataList,\r\n isCheckList: context.Setting.View?.IsCheckList,\r\n columns: visibleColumns$ | async,\r\n groupby: groupby$ | async,\r\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\r\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\r\n conditionalFormats: context.Setting.View?.ConditionalFormats,\r\n deviceName: deviceName$ | async,\r\n deviceSize: deviceSize$ | async,\r\n access: context.Setting.Extra?.DefaultCommandsAccess,\r\n title: title$ | async,\r\n inlineEditMode: inlineEditMode$ | async,\r\n allowInlineEdit: allowInlineEdit$ | async,\r\n hideToolbar: hideToolbar$ | async,\r\n gridSetting: gridSetting$ | async,\r\n contentDensity: contentDensity$ | async,\r\n hasSelected: hasSelected$ | async,\r\n showOkCancelButtons: showOkCancelButtons,\r\n hideOpenIcon: viewSetting?.HideOpenIcon,\r\n openOnClick: viewSetting?.OpenOnClick,\r\n onlyExecuteLeafNode: viewSetting?.OnlyExecuteLeafNode,\r\n enableNodeReordering: viewSetting?.EnableNodeReordering,\r\n viewSettingsContentDensity: viewSetting?.ContentDensity$Caption,\r\n iconField: viewSetting?.IconField,\r\n hideIcon: viewSetting?.HideIcon,\r\n colorField: viewSetting?.ColorField,\r\n hasInlineEditButton: viewSetting?.HasInlineEditButton,\r\n hasInlineDeleteButton: viewSetting?.HasInlineDeleteButton,\r\n selectedNode: selectedNode$ | async,\r\n navigationArrow: navigationArrow$ | async,\r\n collapseIcon: collapseIcon$ | async,\r\n relationList: context.Setting.View.RelationList,\r\n allColumns: allColumns,\r\n rtl: rtl$ | async,\r\n inDialog: inDialog$ | async,\r\n isMultiSelect: isMultiSelect$ | async,\r\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\r\n isHetro: context.Setting.ClassNames.DataClass === 'Ul.HetroTreeUlvDataCtrlr',\r\n selectedMo: selectedMo$ | async\r\n }\r\n \"\r\n></ng-container>\r\n\r\n<ng-template\r\n #renderTree\r\n let-root\r\n let-moDataList=\"moDataList\"\r\n let-deviceName=\"deviceName\"\r\n let-deviceSize=\"deviceSize\"\r\n let-toolbarButtons=\"toolbarButtons\"\r\n let-title=\"title\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-allowInlineEdit=\"allowInlineEdit\"\r\n let-hideToolbar=\"hideToolbar\"\r\n let-gridSetting=\"gridSetting\"\r\n let-contentDensity=\"contentDensity\"\r\n let-access=\"access\"\r\n let-contextMenuItems=\"contextMenuItems\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-isCheckList=\"isCheckList\"\r\n let-groupby=\"groupby\"\r\n let-hasSelected=\"hasSelected\"\r\n let-showOkCancelButtons=\"showOkCancelButtons\"\r\n let-selectedNode=\"selectedNode\"\r\n let-navigationArrow=\"navigationArrow\"\r\n let-collapseIcon=\"collapseIcon\"\r\n let-rtl=\"rtl\"\r\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\r\n let-relationList=\"relationList\"\r\n let-isHetro=\"isHetro\"\r\n let-inDialog=\"inDialog\"\r\n let-isMultiSelect=\"isMultiSelect\"\r\n let-selectedMo=\"selectedMo\"\r\n let-hideOpenIcon=\"hideOpenIcon\"\r\n let-openOnClick=\"openOnClick\"\r\n let-enableNodeReordering=\"enableNodeReordering\"\r\n let-onlyExecuteLeafNode=\"onlyExecuteLeafNode\"\r\n let-iconField=\"iconField\"\r\n let-colorField=\"colorField\"\r\n let-allColumns=\"allColumns\"\r\n let-hideIcon=\"hideIcon\"\r\n let-viewSettingsContentDensity=\"viewSettingsContentDensity\"\r\n let-hasInlineDeleteButton=\"hasInlineDeleteButton\"\r\n let-hasInlineEditButton=\"hasInlineEditButton\"\r\n>\r\n <bsu-ulv-toolbar\r\n [hideToolbar]=\"hideToolbar\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [gridSetting]=\"gridSetting\"\r\n [title]=\"title\"\r\n [hasSelected]=\"hasSelected\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [contentDensity]=\"contentDensity\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [moDataListCount]=\"moDataList.length\"\r\n (sortClick)=\"onSortSettings(deviceName)\"\r\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\r\n (columnClick)=\"onColumnSettings(deviceName)\"\r\n (editModeClick)=\"onEditMode()\"\r\n >\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'collapse-all'\"\r\n (click)=\"onCollapseAll()\"\r\n ></button>\r\n @if (!showOkCancelButtons && enableNodeReordering) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'move'\"\r\n (click)=\"onOpenMoveToDialog(selectedNode, deviceName, moveDialog)\"\r\n ></button>\r\n }\r\n </bsu-ulv-toolbar>\r\n <bsu-ui-tree-view\r\n *untilInView=\"el\"\r\n [leafCursorPointer]=\"onlyExecuteLeafNode && openOnClick\"\r\n [rtl]=\"rtl\"\r\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\r\n [hasInlineEditButton]=\"hasInlineEditButton\"\r\n [relationList]=\"relationList\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [root]=\"root\"\r\n [allColumns]=\"allColumns\"\r\n [hideIcon]=\"hideIcon\"\r\n [selectedMo]=\"selectedMo\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [iconField]=\"iconField\"\r\n [colorField]=\"colorField\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [collapseIcon]=\"collapseIcon\"\r\n [selectedNode]=\"selectedNode\"\r\n [access]=\"access\"\r\n [viewSettingsContentDensity]=\"viewSettingsContentDensity\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [enableNodeReordering]=\"enableNodeReordering\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [openOnClick]=\"openOnClick\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [moDataList]=\"moDataList\"\r\n [groupby]=\"groupby\"\r\n [isHetro]=\"isHetro\"\r\n [isCheckList]=\"isCheckList\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [showOkCancelButtons]=\"showOkCancelButtons\"\r\n (checkChange)=\"onCheckChange($event)\"\r\n (itemDrop)=\"onDrop($event)\"\r\n (itemDragMoved)=\"onDragMoved($event)\"\r\n (nodeUlvCommand)=\"onNodeUlvCommand($event)\"\r\n (nodeViewClick)=\"onNodeViewClick($event)\"\r\n (loadChildren)=\"onLoadChildren($event)\"\r\n (nodeSelect)=\"onNodeSelect($event)\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (allCheckbox)=\"onAllCheckbox($event)\"\r\n (expandClick)=\"onExpandClick($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (createNew)=\"onCreateNew($event)\"\r\n >\r\n </bsu-ui-tree-view>\r\n <ng-template let-dialog let-dialogConfig=\"dialogConfig\" #moveDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'Move' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div class=\"move-to\" (keydown.enter)=\"onConfirmDialog(dialogSelectedNode)\">\r\n <bsu-ui-tree-view\r\n [rtl]=\"rtl\"\r\n [root]=\"root\"\r\n [access]=\"access\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [collapseIcon]=\"collapseIcon\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [viewSettingsContentDensity]=\"viewSettingsContentDensity\"\r\n [enableNodeReordering]=\"enableNodeReordering\"\r\n [openOnClick]=\"openOnClick\"\r\n [selectedNode]=\"dialogSelectedNode\"\r\n [moDataList]=\"flatMoDataList\"\r\n [groupby]=\"groupby\"\r\n [isCheckList]=\"isCheckList\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n (loadChildren)=\"onLoadChildren($event)\"\r\n (nodeSelect)=\"onSelectNodeInMoveDialog($event)\"\r\n ></bsu-ui-tree-view>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n fdType=\"emphasized\"\r\n [label]=\"'OK' | bbbTranslate\"\r\n (click)=\"onConfirmDialog(dialogSelectedNode)\"\r\n >\r\n </fd-button-bar>\r\n <fd-button-bar fd-initial-focus [label]=\"'Cancel' | bbbTranslate\" (click)=\"onDismissDialog()\">\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [":host{width:100%;box-sizing:border-box;display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i5.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i5.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i5.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i5.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "directive", type: i6.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i8.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i9.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["allowGridColumnSort", "useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "icon", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "cls", "hasSelected", "config", "hidden", "buttons", "moDataListCount"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i10.UiTreeViewComponent, selector: "bsu-ui-tree-view", inputs: ["root", "selectedNode", "isHetro", "leafCursorPointer", "relationList", "showOkCancelButtons", "enableNodeReordering", "collapseIcon", "iconField", "colorField", "viewSettingsContentDensity"], outputs: ["checkChange", "nodeSelect", "createNew", "loadChildren", "nodeViewClick", "nodeUlvCommand", "itemDrop", "itemDragMoved"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.SeperatorFixPipe, name: "seperatorFix" }, { kind: "pipe", type: i2.ContextMenuPipe, name: "contextMenu" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
107
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiTreeComponent, selector: "bsu-ui-tree", inputs: { showOkCancelButtons: "showOkCancelButtons" }, usesInheritance: true, ngImport: i0, template: "<ng-container\r\n *ngTemplateOutlet=\"\r\n renderTree;\r\n context: {\r\n $implicit: root$ | async,\r\n moDataList: flatMoDataList,\r\n isCheckList: context.Setting.View?.IsCheckList,\r\n columns: visibleColumns$ | async,\r\n groupby: groupby$ | async,\r\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\r\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\r\n conditionalFormats: context.Setting.View?.ConditionalFormats,\r\n deviceName: deviceName$ | async,\r\n deviceSize: deviceSize$ | async,\r\n access: context.Setting.Extra?.DefaultCommandsAccess,\r\n title: title$ | async,\r\n inlineEditMode: inlineEditMode$ | async,\r\n allowInlineEdit: allowInlineEdit$ | async,\r\n hideToolbar: hideToolbar$ | async,\r\n gridSetting: gridSetting$ | async,\r\n contentDensity: contentDensity$ | async,\r\n hasSelected: hasSelected$ | async,\r\n showOkCancelButtons: showOkCancelButtons,\r\n hideOpenIcon: viewSetting?.HideOpenIcon,\r\n openOnClick: viewSetting?.OpenOnClick,\r\n onlyExecuteLeafNode: viewSetting?.OnlyExecuteLeafNode,\r\n enableNodeReordering: viewSetting?.EnableNodeReordering,\r\n viewSettingsContentDensity: viewSetting?.ContentDensity$Caption,\r\n iconField: viewSetting?.IconField,\r\n hideIcon: viewSetting?.HideIcon,\r\n colorField: viewSetting?.ColorField,\r\n hasInlineEditButton: viewSetting?.HasInlineEditButton,\r\n hasInlineDeleteButton: viewSetting?.HasInlineDeleteButton,\r\n selectedNode: selectedNode$ | async,\r\n navigationArrow: navigationArrow$ | async,\r\n collapseIcon: collapseIcon$ | async,\r\n relationList: context.Setting.View.RelationList,\r\n allColumns: allColumns,\r\n rtl: rtl$ | async,\r\n inDialog: inDialog$ | async,\r\n isMultiSelect: isMultiSelect$ | async,\r\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\r\n isHetro: context.Setting.ClassNames.DataClass === 'Ul.HetroTreeUlvDataCtrlr',\r\n selectedMo: selectedMo$ | async\r\n }\r\n \"\r\n></ng-container>\r\n\r\n<ng-template\r\n #renderTree\r\n let-root\r\n let-moDataList=\"moDataList\"\r\n let-deviceName=\"deviceName\"\r\n let-deviceSize=\"deviceSize\"\r\n let-toolbarButtons=\"toolbarButtons\"\r\n let-title=\"title\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-allowInlineEdit=\"allowInlineEdit\"\r\n let-hideToolbar=\"hideToolbar\"\r\n let-gridSetting=\"gridSetting\"\r\n let-contentDensity=\"contentDensity\"\r\n let-access=\"access\"\r\n let-contextMenuItems=\"contextMenuItems\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-isCheckList=\"isCheckList\"\r\n let-groupby=\"groupby\"\r\n let-hasSelected=\"hasSelected\"\r\n let-showOkCancelButtons=\"showOkCancelButtons\"\r\n let-selectedNode=\"selectedNode\"\r\n let-navigationArrow=\"navigationArrow\"\r\n let-collapseIcon=\"collapseIcon\"\r\n let-rtl=\"rtl\"\r\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\r\n let-relationList=\"relationList\"\r\n let-isHetro=\"isHetro\"\r\n let-inDialog=\"inDialog\"\r\n let-isMultiSelect=\"isMultiSelect\"\r\n let-selectedMo=\"selectedMo\"\r\n let-hideOpenIcon=\"hideOpenIcon\"\r\n let-openOnClick=\"openOnClick\"\r\n let-enableNodeReordering=\"enableNodeReordering\"\r\n let-onlyExecuteLeafNode=\"onlyExecuteLeafNode\"\r\n let-iconField=\"iconField\"\r\n let-colorField=\"colorField\"\r\n let-allColumns=\"allColumns\"\r\n let-hideIcon=\"hideIcon\"\r\n let-viewSettingsContentDensity=\"viewSettingsContentDensity\"\r\n let-hasInlineDeleteButton=\"hasInlineDeleteButton\"\r\n let-hasInlineEditButton=\"hasInlineEditButton\"\r\n>\r\n <bsu-ulv-toolbar\r\n [hideToolbar]=\"hideToolbar\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [gridSetting]=\"gridSetting\"\r\n [title]=\"title\"\r\n [hasSelected]=\"hasSelected\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [contentDensity]=\"contentDensity\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [moDataListCount]=\"moDataList.length\"\r\n (sortClick)=\"onSortSettings(deviceName)\"\r\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\r\n (columnClick)=\"onColumnSettings(deviceName)\"\r\n (editModeClick)=\"onEditMode()\"\r\n >\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'collapse-all'\"\r\n (click)=\"onCollapseAll()\"\r\n ></button>\r\n @if (!showOkCancelButtons && enableNodeReordering) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'move'\"\r\n (click)=\"onOpenMoveToDialog(selectedNode, deviceName, moveDialog)\"\r\n ></button>\r\n }\r\n </bsu-ulv-toolbar>\r\n <bsu-ui-tree-view\r\n *untilInView=\"el\"\r\n [leafCursorPointer]=\"onlyExecuteLeafNode && openOnClick\"\r\n [rtl]=\"rtl\"\r\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\r\n [hasInlineEditButton]=\"hasInlineEditButton\"\r\n [relationList]=\"relationList\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [root]=\"root\"\r\n [allColumns]=\"allColumns\"\r\n [hideIcon]=\"hideIcon\"\r\n [selectedMo]=\"selectedMo\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [iconField]=\"iconField\"\r\n [colorField]=\"colorField\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [collapseIcon]=\"collapseIcon\"\r\n [selectedNode]=\"selectedNode\"\r\n [access]=\"access\"\r\n [viewSettingsContentDensity]=\"viewSettingsContentDensity\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [enableNodeReordering]=\"enableNodeReordering\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [openOnClick]=\"openOnClick\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [moDataList]=\"moDataList\"\r\n [groupby]=\"groupby\"\r\n [isHetro]=\"isHetro\"\r\n [isCheckList]=\"isCheckList\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [showOkCancelButtons]=\"showOkCancelButtons\"\r\n (checkChange)=\"onCheckChange($event)\"\r\n (itemDrop)=\"onDrop($event)\"\r\n (itemDragMoved)=\"onDragMoved($event)\"\r\n (nodeUlvCommand)=\"onNodeUlvCommand($event)\"\r\n (nodeViewClick)=\"onNodeViewClick($event)\"\r\n (loadChildren)=\"onLoadChildren($event)\"\r\n (nodeSelect)=\"onNodeSelect($event)\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (allCheckbox)=\"onAllCheckbox($event)\"\r\n (expandClick)=\"onExpandClick($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (createNew)=\"onCreateNew($event)\"\r\n >\r\n </bsu-ui-tree-view>\r\n <ng-template let-dialog let-dialogConfig=\"dialogConfig\" #moveDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'Move' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div class=\"move-to\" (keydown.enter)=\"onConfirmDialog(dialogSelectedNode)\">\r\n <bsu-ui-tree-view\r\n [rtl]=\"rtl\"\r\n [root]=\"root\"\r\n [access]=\"access\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [collapseIcon]=\"collapseIcon\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [viewSettingsContentDensity]=\"viewSettingsContentDensity\"\r\n [enableNodeReordering]=\"enableNodeReordering\"\r\n [openOnClick]=\"openOnClick\"\r\n [selectedNode]=\"dialogSelectedNode\"\r\n [moDataList]=\"flatMoDataList\"\r\n [groupby]=\"groupby\"\r\n [isCheckList]=\"isCheckList\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n (loadChildren)=\"onLoadChildren($event)\"\r\n (nodeSelect)=\"onSelectNodeInMoveDialog($event)\"\r\n ></bsu-ui-tree-view>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n fdType=\"emphasized\"\r\n [label]=\"'OK' | bbbTranslate\"\r\n (click)=\"onConfirmDialog(dialogSelectedNode)\"\r\n >\r\n </fd-button-bar>\r\n <fd-button-bar fd-initial-focus [label]=\"'Cancel' | bbbTranslate\" (click)=\"onDismissDialog()\">\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [":host{width:100%;box-sizing:border-box;display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i5.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i5.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i5.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i5.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "directive", type: i6.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i8.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i9.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["allowGridColumnSort", "useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "icon", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "cls", "hasSelected", "config", "hidden", "buttons", "moDataListCount"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i10.UiTreeViewComponent, selector: "bsu-ui-tree-view", inputs: ["root", "selectedNode", "isHetro", "leafCursorPointer", "relationList", "showOkCancelButtons", "enableNodeReordering", "collapseIcon", "iconField", "colorField", "viewSettingsContentDensity"], outputs: ["checkChange", "nodeSelect", "createNew", "loadChildren", "nodeViewClick", "nodeUlvCommand", "itemDrop", "itemDragMoved"] }, { kind: "directive", type: i11.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.SeperatorFixPipe, name: "seperatorFix" }, { kind: "pipe", type: i2.ContextMenuPipe, name: "contextMenu" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
107
108
|
}
|
|
108
109
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTreeComponent, decorators: [{
|
|
109
110
|
type: Component,
|
|
@@ -111,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
111
112
|
}], propDecorators: { showOkCancelButtons: [{
|
|
112
113
|
type: Input
|
|
113
114
|
}] } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS10cmVlL3VpLXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdHJlZS91aS10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7OztBQVM5RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSx1QkFBdUI7SUFQNUQ7O1FBVVksVUFBSyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBNEY3QztJQTNGRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSTtRQUM5QywrRUFBK0U7UUFDL0UsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDcEIsQ0FBQztJQUNOLENBQUM7SUFDRCxNQUFNLENBQUMsTUFBTTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQs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dGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRXhlY3V0ZUR5bmFtaWNDb21tYW5kLCBNb1JlcG9ydFZhbHVlUGlwZSwgVHJlZU5vZGVPYmogfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBSZXBvcnRUcmVlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC10cmVlLWJhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS10cmVlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS10cmVlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLXRyZWUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpVHJlZUNvbXBvbmVudCBleHRlbmRzIFJlcG9ydFRyZWVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIHNob3dPa0NhbmNlbEJ1dHRvbnM7XHJcbiAgICBjb2xsYXBzZUljb24kOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBwcml2YXRlIF9ydmFsID0gaW5qZWN0KE1vUmVwb3J0VmFsdWVQaXBlKTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5jb2xsYXBzZUljb24kID0gdGhpcy5fcG9ydGFsU2VydmljZS5ydGwkLnBpcGUoXHJcbiAgICAgICAgICAgIC8vIG1hcCgoaXNSdGwpID0+IChpc1J0bCA/ICduYXZpZ2F0aW9uLWxlZnQtYXJyb3cnIDogJ25hdmlnYXRpb24tcmlnaHQtYXJyb3cnKSlcclxuICAgICAgICAgICAgbWFwKChfKSA9PiAnYWRkJylcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gICAgb25Ecm9wKCRldmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZHJvcCgkZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRHJhZ01vdmVkKCRldmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZHJhZ01vdmVkKCRldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Db2xsYXBzZUFsbCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlQWxsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25PcGVuTW92ZVRvRGlhbG9nKHNlbGVjdGVkTm9kZSwgZGV2aWNlLCBtb3ZlRGlhbG9nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vcGVuTW92ZVRvRGlhbG9nKHNlbGVjdGVkTm9kZSwgZGV2aWNlLCBtb3ZlRGlhbG9nKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNvbmZpcm1EaWFsb2coZGlhbG9nU2VsZWN0ZWROb2RlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb25maXJtRGlhbG9nKGRpYWxvZ1NlbGVjdGVkTm9kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25EaXNtaXNzRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzbWlzc0RpYWxvZygpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0Tm9kZUluTW92ZURpYWxvZygkZXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdE5vZGVJbk1vdmVEaWFsb2coJGV2ZW50KTtcclxuICAgIH1cclxuICAgIG9uQ2hlY2tDaGFuZ2UoZXY6IHsgbm9kZTogVHJlZU5vZGVPYmo7IGluZGV4OiBudW1iZXI7IGNoZWNrZWQ6IGJvb2xlYW4gfSk6IHZvaWQge1xyXG4gICAgICAgIGxldCBzZWxlY3RlZE5vZGU6IFRyZWVOb2RlT2JqIHwgbnVsbCA9IG51bGw7XHJcbiAgICAgICAgaWYgKGV2LmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgZXYubm9kZS5EYXRhLiRJc0NoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBzZWxlY3RlZE5vZGUgPSBldi5ub2RlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuc2VsTm9kZSA9IHNlbGVjdGVkTm9kZTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgncm93c2VsZWN0JywgdGhpcy5jb250ZXh0LCBldi5pbmRleCwgZXYubm9kZS5EYXRhKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBldi5ub2RlLkRhdGEuJElzQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMubW9EYXRhTGlzdC5maW5kKChjKSA9PiBjLiRJc0NoZWNrZWQpO1xyXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5zZWxOb2RlID0gZXYubm9kZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkTm9kZVNvdXJjZS5uZXh0KGV2Lm5vZGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd2Rlc2VsZWN0JywgdGhpcy5jb250ZXh0LCBldi5pbmRleCwgZXYubm9kZS5EYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWROb2RlU291cmNlLm5leHQoc2VsZWN0ZWROb2RlKTtcclxuICAgICAgICB0aGlzLl9yZWJpbmRSb290KCk7XHJcbiAgICB9XHJcbiAgICBvbk5vZGVTZWxlY3QoZXY6IHsgbm9kZTogVHJlZU5vZGVPYmo7IGluZGV4OiBudW1iZXIgfSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQuc2VsTm9kZSA9PT0gZXYubm9kZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9kZXNlbGVjdE5vZGUoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3ROb2RlKGV2Lm5vZGUpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy52aWV3U2V0dGluZz8uT25seUV4ZWN1dGVMZWFmTm9kZSA9PT0gdHJ1ZSAmJiAhZXYubm9kZS5sZWFmKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRDaGlsZHJlbihldi5ub2RlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9yZWJpbmRSb290KCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Ob2RlVWx2Q29tbWFuZChldjogeyBub2RlOiBUcmVlTm9kZU9iajsgaW5kZXg6IG51bWJlciB9KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdWx2Q29tbWFuZENsaWNrZWQoZXYubm9kZS5EYXRhLCBldi5pbmRleCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Ob2RlVmlld0NsaWNrKGV2OiB7IG5vZGU6IFRyZWVOb2RlT2JqOyBpbmRleDogbnVtYmVyIH0pOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy52aWV3U2V0dGluZz8uRGlzYWJsZVNob3dGb3JtT25Eb3VibGVDbGljayA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnZpZXdTZXR0aW5nPy5Pbmx5RXhlY3V0ZUxlYWZOb2RlID09PSB0cnVlICYmICFldi5ub2RlLmxlYWYpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy52aWV3U2V0dGluZz8uRHluYW1pY0NvbW1hbmRGaWVsZCkge1xyXG4gICAgICAgICAgICBjb25zdCBkeW4gPSB0aGlzLl9ydmFsLnRyYW5zZm9ybSh0aGlzLnZpZXdTZXR0aW5nPy5EeW5hbWljQ29tbWFuZEZpZWxkLCBldi5ub2RlLkRhdGEsIHRoaXMuYWxsQ29sdW1ucyk7XHJcbiAgICAgICAgICAgIGlmIChkeW4pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdE5vZGUoZXYubm9kZSk7XHJcbiAgICAgICAgICAgICAgICBFeGVjdXRlRHluYW1pY0NvbW1hbmQoZHluLCBldi5ub2RlLkRhdGEpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3JhaXNlUm93Q2xpY2soZXYuaW5kZXgsIGV2Lm5vZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTG9hZENoaWxkcmVuKG5vZGU6IFRyZWVOb2RlT2JqKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5sb2FkQ2hpbGRyZW4obm9kZSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICByZW5kZXJUcmVlO1xyXG4gICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgJGltcGxpY2l0OiByb290JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBtb0RhdGFMaXN0OiBmbGF0TW9EYXRhTGlzdCxcclxuICAgICAgICAgICAgaXNDaGVja0xpc3Q6IGNvbnRleHQuU2V0dGluZy5WaWV3Py5Jc0NoZWNrTGlzdCxcclxuICAgICAgICAgICAgY29sdW1uczogdmlzaWJsZUNvbHVtbnMkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGdyb3VwYnk6IGdyb3VwYnkkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHRvb2xiYXJCdXR0b25zOiAodG9vbGJhckJ1dHRvbnMkIHwgYXN5bmMpISEgfCBzZXBlcmF0b3JGaXgsXHJcbiAgICAgICAgICAgIGNvbnRleHRNZW51SXRlbXM6IG1lbnVJdGVtcyQgfCBhc3luYyB8IGNvbnRleHRNZW51OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSXNDaGVja0xpc3QsXHJcbiAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0czogY29udGV4dC5TZXR0aW5nLlZpZXc/LkNvbmRpdGlvbmFsRm9ybWF0cyxcclxuICAgICAgICAgICAgZGV2aWNlTmFtZTogZGV2aWNlTmFtZSQgfCBhc3luYyxcclxuICAgICAgICAgICAgZGV2aWNlU2l6ZTogZGV2aWNlU2l6ZSQgfCBhc3luYyxcclxuICAgICAgICAgICAgYWNjZXNzOiBjb250ZXh0LlNldHRpbmcuRXh0cmE/LkRlZmF1bHRDb21tYW5kc0FjY2VzcyxcclxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBpbmxpbmVFZGl0TW9kZTogaW5saW5lRWRpdE1vZGUkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGFsbG93SW5saW5lRWRpdDogYWxsb3dJbmxpbmVFZGl0JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBoaWRlVG9vbGJhcjogaGlkZVRvb2xiYXIkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGdyaWRTZXR0aW5nOiBncmlkU2V0dGluZyQgfCBhc3luYyxcclxuICAgICAgICAgICAgY29udGVudERlbnNpdHk6IGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBoYXNTZWxlY3RlZDogaGFzU2VsZWN0ZWQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHNob3dPa0NhbmNlbEJ1dHRvbnM6IHNob3dPa0NhbmNlbEJ1dHRvbnMsXHJcbiAgICAgICAgICAgIGhpZGVPcGVuSWNvbjogdmlld1NldHRpbmc/LkhpZGVPcGVuSWNvbixcclxuICAgICAgICAgICAgb3Blbk9uQ2xpY2s6IHZpZXdTZXR0aW5nPy5PcGVuT25DbGljayxcclxuICAgICAgICAgICAgb25seUV4ZWN1dGVMZWFmTm9kZTogdmlld1NldHRpbmc/Lk9ubHlFeGVjdXRlTGVhZk5vZGUsXHJcbiAgICAgICAgICAgIGVuYWJsZU5vZGVSZW9yZGVyaW5nOiB2aWV3U2V0dGluZz8uRW5hYmxlTm9kZVJlb3JkZXJpbmcsXHJcbiAgICAgICAgICAgIHZpZXdTZXR0aW5nc0NvbnRlbnREZW5zaXR5OiB2aWV3U2V0dGluZz8uQ29udGVudERlbnNpdHkkQ2FwdGlvbixcclxuICAgICAgICAgICAgaWNvbkZpZWxkOiB2aWV3U2V0dGluZz8uSWNvbkZpZWxkLFxyXG4gICAgICAgICAgICBoaWRlSWNvbjogdmlld1NldHRpbmc/LkhpZGVJY29uLFxyXG4gICAgICAgICAgICBjb2xvckZpZWxkOiB2aWV3U2V0dGluZz8uQ29sb3JGaWVsZCxcclxuICAgICAgICAgICAgaGFzSW5saW5lRWRpdEJ1dHRvbjogdmlld1NldHRpbmc/Lkhhc0lubGluZUVkaXRCdXR0b24sXHJcbiAgICAgICAgICAgIGhhc0lubGluZURlbGV0ZUJ1dHRvbjogdmlld1NldHRpbmc/Lkhhc0lubGluZURlbGV0ZUJ1dHRvbixcclxuICAgICAgICAgICAgc2VsZWN0ZWROb2RlOiBzZWxlY3RlZE5vZGUkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIG5hdmlnYXRpb25BcnJvdzogbmF2aWdhdGlvbkFycm93JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBjb2xsYXBzZUljb246IGNvbGxhcHNlSWNvbiQgfCBhc3luYyxcclxuICAgICAgICAgICAgcmVsYXRpb25MaXN0OiBjb250ZXh0LlNldHRpbmcuVmlldy5SZWxhdGlvbkxpc3QsXHJcbiAgICAgICAgICAgIGFsbENvbHVtbnM6IGFsbENvbHVtbnMsXHJcbiAgICAgICAgICAgIHJ0bDogcnRsJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBpbkRpYWxvZzogaW5EaWFsb2ckIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGlzTXVsdGlTZWxlY3Q6IGlzTXVsdGlTZWxlY3QkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51OiB2aWV3U2V0dGluZz8uRGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnUsXHJcbiAgICAgICAgICAgIGlzSGV0cm86IGNvbnRleHQuU2V0dGluZy5DbGFzc05hbWVzLkRhdGFDbGFzcyA9PT0gJ1VsLkhldHJvVHJlZVVsdkRhdGFDdHJscicsXHJcbiAgICAgICAgICAgIHNlbGVjdGVkTW86IHNlbGVjdGVkTW8kIHwgYXN5bmNcclxuICAgICAgICB9XHJcbiAgICBcIlxyXG4+PC9uZy1jb250YWluZXI+XHJcblxyXG48bmctdGVtcGxhdGVcclxuICAgICNyZW5kZXJUcmVlXHJcbiAgICBsZXQtcm9vdFxyXG4gICAgbGV0LW1vRGF0YUxpc3Q9XCJtb0RhdGFMaXN0XCJcclxuICAgIGxldC1kZXZpY2VOYW1lPVwiZGV2aWNlTmFtZVwiXHJcbiAgICBsZXQtZGV2aWNlU2l6ZT1cImRldmljZVNpemVcIlxyXG4gICAgbGV0LXRvb2xiYXJCdXR0b25zPVwidG9vbGJhckJ1dHRvbnNcIlxyXG4gICAgbGV0LXRpdGxlPVwidGl0bGVcIlxyXG4gICAgbGV0LWlubGluZUVkaXRNb2RlPVwiaW5saW5lRWRpdE1vZGVcIlxyXG4gICAgbGV0LWFsbG93SW5saW5lRWRpdD1cImFsbG93SW5saW5lRWRpdFwiXHJcbiAgICBsZXQtaGlkZVRvb2xiYXI9XCJoaWRlVG9vbGJhclwiXHJcbiAgICBsZXQtZ3JpZFNldHRpbmc9XCJncmlkU2V0dGluZ1wiXHJcbiAgICBsZXQtY29udGVudERlbnNpdHk9XCJjb250ZW50RGVuc2l0eVwiXHJcbiAgICBsZXQtYWNjZXNzPVwiYWNjZXNzXCJcclxuICAgIGxldC1jb250ZXh0TWVudUl0ZW1zPVwiY29udGV4dE1lbnVJdGVtc1wiXHJcbiAgICBsZXQtY29uZGl0aW9uYWxGb3JtYXRzPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgIGxldC1pc0NoZWNrTGlzdD1cImlzQ2hlY2tMaXN0XCJcclxuICAgIGxldC1ncm91cGJ5PVwiZ3JvdXBieVwiXHJcbiAgICBsZXQtaGFzU2VsZWN0ZWQ9XCJoYXNTZWxlY3RlZFwiXHJcbiAgICBsZXQtc2hvd09rQ2FuY2VsQnV0dG9ucz1cInNob3dPa0NhbmNlbEJ1dHRvbnNcIlxyXG4gICAgbGV0LXNlbGVjdGVkTm9kZT1cInNlbGVjdGVkTm9kZVwiXHJcbiAgICBsZXQtbmF2aWdhdGlvbkFycm93PVwibmF2aWdhdGlvbkFycm93XCJcclxuICAgIGxldC1jb2xsYXBzZUljb249XCJjb2xsYXBzZUljb25cIlxyXG4gICAgbGV0LXJ0bD1cInJ0bFwiXHJcbiAgICBsZXQtZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU9XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXHJcbiAgICBsZXQtcmVsYXRpb25MaXN0PVwicmVsYXRpb25MaXN0XCJcclxuICAgIGxldC1pc0hldHJvPVwiaXNIZXRyb1wiXHJcbiAgICBsZXQtaW5EaWFsb2c9XCJpbkRpYWxvZ1wiXHJcbiAgICBsZXQtaXNNdWx0aVNlbGVjdD1cImlzTXVsdGlTZWxlY3RcIlxyXG4gICAgbGV0LXNlbGVjdGVkTW89XCJzZWxlY3RlZE1vXCJcclxuICAgIGxldC1oaWRlT3Blbkljb249XCJoaWRlT3Blbkljb25cIlxyXG4gICAgbGV0LW9wZW5PbkNsaWNrPVwib3Blbk9uQ2xpY2tcIlxyXG4gICAgbGV0LWVuYWJsZU5vZGVSZW9yZGVyaW5nPVwiZW5hYmxlTm9kZVJlb3JkZXJpbmdcIlxyXG4gICAgbGV0LW9ubHlFeGVjdXRlTGVhZk5vZGU9XCJvbmx5RXhlY3V0ZUxlYWZOb2RlXCJcclxuICAgIGxldC1pY29uRmllbGQ9XCJpY29uRmllbGRcIlxyXG4gICAgbGV0LWNvbG9yRmllbGQ9XCJjb2xvckZpZWxkXCJcclxuICAgIGxldC1hbGxDb2x1bW5zPVwiYWxsQ29sdW1uc1wiXHJcbiAgICBsZXQtaGlkZUljb249XCJoaWRlSWNvblwiXHJcbiAgICBsZXQtdmlld1NldHRpbmdzQ29udGVudERlbnNpdHk9XCJ2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eVwiXHJcbiAgICBsZXQtaGFzSW5saW5lRGVsZXRlQnV0dG9uPVwiaGFzSW5saW5lRGVsZXRlQnV0dG9uXCJcclxuICAgIGxldC1oYXNJbmxpbmVFZGl0QnV0dG9uPVwiaGFzSW5saW5lRWRpdEJ1dHRvblwiXHJcbj5cclxuICAgIDxic3UtdWx2LXRvb2xiYXJcclxuICAgICAgICBbaGlkZVRvb2xiYXJdPVwiaGlkZVRvb2xiYXJcIlxyXG4gICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxyXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxyXG4gICAgICAgIFt0b29sYmFyQnV0dG9uc109XCJ0b29sYmFyQnV0dG9uc1wiXHJcbiAgICAgICAgW2dyaWRTZXR0aW5nXT1cImdyaWRTZXR0aW5nXCJcclxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gICAgICAgIFtoYXNTZWxlY3RlZF09XCJoYXNTZWxlY3RlZFwiXHJcbiAgICAgICAgW2luRGlhbG9nXT1cImluRGlhbG9nXCJcclxuICAgICAgICBbaXNNdWx0aVNlbGVjdF09XCJpc011bHRpU2VsZWN0XCJcclxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxyXG4gICAgICAgIFtpbmxpbmVFZGl0TW9kZV09XCJpbmxpbmVFZGl0TW9kZVwiXHJcbiAgICAgICAgW2FsbG93SW5saW5lRWRpdF09XCJhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgICAgIFttb0RhdGFMaXN0Q291bnRdPVwibW9EYXRhTGlzdC5sZW5ndGhcIlxyXG4gICAgICAgIChzb3J0Q2xpY2spPVwib25Tb3J0U2V0dGluZ3MoZGV2aWNlTmFtZSlcIlxyXG4gICAgICAgIChncm91cGJ5Q2xpY2spPVwib25Hcm91cGJ5U2V0dGluZ3MoZGV2aWNlTmFtZSlcIlxyXG4gICAgICAgIChjb2x1bW5DbGljayk9XCJvbkNvbHVtblNldHRpbmdzKGRldmljZU5hbWUpXCJcclxuICAgICAgICAoZWRpdE1vZGVDbGljayk9XCJvbkVkaXRNb2RlKClcIlxyXG4gICAgPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICBbZ2x5cGhdPVwiJ2NvbGxhcHNlLWFsbCdcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Db2xsYXBzZUFsbCgpXCJcclxuICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgQGlmICghc2hvd09rQ2FuY2VsQnV0dG9ucyAmJiBlbmFibGVOb2RlUmVvcmRlcmluZykge1xyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICBbZ2x5cGhdPVwiJ21vdmUnXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uT3Blbk1vdmVUb0RpYWxvZyhzZWxlY3RlZE5vZGUsIGRldmljZU5hbWUsIG1vdmVEaWFsb2cpXCJcclxuICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgPC9ic3UtdWx2LXRvb2xiYXI+XHJcbiAgICA8YnN1LXVpLXRyZWUtdmlld1xyXG4gICAgICAgICp1bnRpbEluVmlldz1cImVsXCJcclxuICAgICAgICBbbGVhZkN1cnNvclBvaW50ZXJdPVwib25seUV4ZWN1dGVMZWFmTm9kZSAmJiBvcGVuT25DbGlja1wiXHJcbiAgICAgICAgW3J0bF09XCJydGxcIlxyXG4gICAgICAgIFtoYXNJbmxpbmVEZWxldGVCdXR0b25dPVwiaGFzSW5saW5lRGVsZXRlQnV0dG9uXCJcclxuICAgICAgICBbaGFzSW5saW5lRWRpdEJ1dHRvbl09XCJoYXNJbmxpbmVFZGl0QnV0dG9uXCJcclxuICAgICAgICBbcmVsYXRpb25MaXN0XT1cInJlbGF0aW9uTGlzdFwiXHJcbiAgICAgICAgW3Rvb2xiYXJCdXR0b25zXT1cInRvb2xiYXJCdXR0b25zXCJcclxuICAgICAgICBbcm9vdF09XCJyb290XCJcclxuICAgICAgICBbYWxsQ29sdW1uc109XCJhbGxDb2x1bW5zXCJcclxuICAgICAgICBbaGlkZUljb25dPVwiaGlkZUljb25cIlxyXG4gICAgICAgIFtzZWxlY3RlZE1vXT1cInNlbGVjdGVkTW9cIlxyXG4gICAgICAgIFtoaWRlT3Blbkljb25dPVwiaGlkZU9wZW5JY29uXCJcclxuICAgICAgICBbZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxyXG4gICAgICAgIFtpY29uRmllbGRdPVwiaWNvbkZpZWxkXCJcclxuICAgICAgICBbY29sb3JGaWVsZF09XCJjb2xvckZpZWxkXCJcclxuICAgICAgICBbbmF2aWdhdGlvbkFycm93XT1cIm5hdmlnYXRpb25BcnJvd1wiXHJcbiAgICAgICAgW2NvbGxhcHNlSWNvbl09XCJjb2xsYXBzZUljb25cIlxyXG4gICAgICAgIFtzZWxlY3RlZE5vZGVdPVwic2VsZWN0ZWROb2RlXCJcclxuICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXHJcbiAgICAgICAgW3ZpZXdTZXR0aW5nc0NvbnRlbnREZW5zaXR5XT1cInZpZXdTZXR0aW5nc0NvbnRlbnREZW5zaXR5XCJcclxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICBbZW5hYmxlTm9kZVJlb3JkZXJpbmddPVwiZW5hYmxlTm9kZVJlb3JkZXJpbmdcIlxyXG4gICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXHJcbiAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwiaXNNdWx0aVNlbGVjdFwiXHJcbiAgICAgICAgW29wZW5PbkNsaWNrXT1cIm9wZW5PbkNsaWNrXCJcclxuICAgICAgICBbY29udGV4dE1lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcclxuICAgICAgICBbbW9EYXRhTGlzdF09XCJtb0RhdGFMaXN0XCJcclxuICAgICAgICBbZ3JvdXBieV09XCJncm91cGJ5XCJcclxuICAgICAgICBbaXNIZXRyb109XCJpc0hldHJvXCJcclxuICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxyXG4gICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgICAgICBbc2hvd09rQ2FuY2VsQnV0dG9uc109XCJzaG93T2tDYW5jZWxCdXR0b25zXCJcclxuICAgICAgICAoY2hlY2tDaGFuZ2UpPVwib25DaGVja0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAoaXRlbURyb3ApPVwib25Ecm9wKCRldmVudClcIlxyXG4gICAgICAgIChpdGVtRHJhZ01vdmVkKT1cIm9uRHJhZ01vdmVkKCRldmVudClcIlxyXG4gICAgICAgIChub2RlVWx2Q29tbWFuZCk9XCJvbk5vZGVVbHZDb21tYW5kKCRldmVudClcIlxyXG4gICAgICAgIChub2RlVmlld0NsaWNrKT1cIm9uTm9kZVZpZXdDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uTG9hZENoaWxkcmVuKCRldmVudClcIlxyXG4gICAgICAgIChub2RlU2VsZWN0KT1cIm9uTm9kZVNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAocm93Q2hlY2spPVwib25Sb3dDaGVjaygkZXZlbnQpXCJcclxuICAgICAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAoYWxsQ2hlY2tib3gpPVwib25BbGxDaGVja2JveCgkZXZlbnQpXCJcclxuICAgICAgICAoZXhwYW5kQ2xpY2spPVwib25FeHBhbmRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAoZWRpdEZvcm1QYW5lbENhbmNlbCk9XCJvbkVkaXRGb3JtUGFuZWxDYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxTYXZlKT1cIm9uRWRpdEZvcm1QYW5lbFNhdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNyZWF0ZU5ldyk9XCJvbkNyZWF0ZU5ldygkZXZlbnQpXCJcclxuICAgID5cclxuICAgIDwvYnN1LXVpLXRyZWUtdmlldz5cclxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtZGlhbG9nIGxldC1kaWFsb2dDb25maWc9XCJkaWFsb2dDb25maWdcIiAjbW92ZURpYWxvZz5cclxuICAgICAgICA8ZmQtZGlhbG9nIFtkaWFsb2dDb25maWddPVwiZGlhbG9nQ29uZmlnXCIgW2RpYWxvZ1JlZl09XCJkaWFsb2dcIj5cclxuICAgICAgICAgICAgPGZkLWRpYWxvZy1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8aDEgZmQtdGl0bGU+e3sgJ01vdmUnIHwgYmJiVHJhbnNsYXRlIH19PC9oMT5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gZmQtZGlhbG9nLWNsb3NlLWJ1dHRvbiAoY2xpY2spPVwiZGlhbG9nLmRpc21pc3MoJ0Nsb3NlIGJ1dHRvbicpXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cclxuXHJcbiAgICAgICAgICAgIDxmZC1kaWFsb2ctYm9keT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3ZlLXRvXCIgKGtleWRvd24uZW50ZXIpPVwib25Db25maXJtRGlhbG9nKGRpYWxvZ1NlbGVjdGVkTm9kZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnN1LXVpLXRyZWUtdmlld1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb290XT1cInJvb3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYXZpZ2F0aW9uQXJyb3ddPVwibmF2aWdhdGlvbkFycm93XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxhcHNlSWNvbl09XCJjb2xsYXBzZUljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eV09XCJ2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGVOb2RlUmVvcmRlcmluZ109XCJlbmFibGVOb2RlUmVvcmRlcmluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtvcGVuT25DbGlja109XCJvcGVuT25DbGlja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZE5vZGVdPVwiZGlhbG9nU2VsZWN0ZWROb2RlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW21vRGF0YUxpc3RdPVwiZmxhdE1vRGF0YUxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZ3JvdXBieV09XCJncm91cGJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzQ2hlY2tMaXN0XT1cImlzQ2hlY2tMaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uTG9hZENoaWxkcmVuKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAobm9kZVNlbGVjdCk9XCJvblNlbGVjdE5vZGVJbk1vdmVEaWFsb2coJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvYnN1LXVpLXRyZWUtdmlldz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1ib2R5PlxyXG5cclxuICAgICAgICAgICAgPGZkLWRpYWxvZy1mb290ZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJmb290ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidPSycgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ29uZmlybURpYWxvZyhkaWFsb2dTZWxlY3RlZE5vZGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLWJ1dHRvbi1iYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIGZkLWluaXRpYWwtZm9jdXMgW2xhYmVsXT1cIidDYW5jZWwnIHwgYmJiVHJhbnNsYXRlXCIgKGNsaWNrKT1cIm9uRGlzbWlzc0RpYWxvZygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtYnV0dG9uLWJhcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlcj5cclxuICAgICAgICA8L2ZkLWRpYWxvZz5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS10cmVlL3VpLXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdHJlZS91aS10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFTOUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsdUJBQXVCO0lBUDVEOztRQVVZLFVBQUssR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQTRGN0M7SUEzRkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUk7UUFDOUMsK0VBQStFO1FBQy9FLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQ3BCLENBQUM7SUFDTixDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQU07UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBTTtRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVE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ZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEV4ZWN1dGVEeW5hbWljQ29tbWFuZCwgTW9SZXBvcnRWYWx1ZVBpcGUsIFRyZWVOb2RlT2JqIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUmVwb3J0VHJlZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9yZXBvcnQtdHJlZS1iYXNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktdHJlZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktdHJlZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS10cmVlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaVRyZWVDb21wb25lbnQgZXh0ZW5kcyBSZXBvcnRUcmVlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBzaG93T2tDYW5jZWxCdXR0b25zO1xyXG4gICAgY29sbGFwc2VJY29uJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgcHJpdmF0ZSBfcnZhbCA9IGluamVjdChNb1JlcG9ydFZhbHVlUGlwZSk7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuY29sbGFwc2VJY29uJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UucnRsJC5waXBlKFxyXG4gICAgICAgICAgICAvLyBtYXAoKGlzUnRsKSA9PiAoaXNSdGwgPyAnbmF2aWdhdGlvbi1sZWZ0LWFycm93JyA6ICduYXZpZ2F0aW9uLXJpZ2h0LWFycm93JykpXHJcbiAgICAgICAgICAgIG1hcCgoXykgPT4gJ2FkZCcpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICAgIG9uRHJvcCgkZXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRyb3AoJGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRyYWdNb3ZlZCgkZXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRyYWdNb3ZlZCgkZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ29sbGFwc2VBbGwoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb2xsYXBzZUFsbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uT3Blbk1vdmVUb0RpYWxvZyhzZWxlY3RlZE5vZGUsIGRldmljZSwgbW92ZURpYWxvZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub3Blbk1vdmVUb0RpYWxvZyhzZWxlY3RlZE5vZGUsIGRldmljZSwgbW92ZURpYWxvZyk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Db25maXJtRGlhbG9nKGRpYWxvZ1NlbGVjdGVkTm9kZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29uZmlybURpYWxvZyhkaWFsb2dTZWxlY3RlZE5vZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRGlzbWlzc0RpYWxvZygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpc21pc3NEaWFsb2coKTtcclxuICAgIH1cclxuXHJcbiAgICBvblNlbGVjdE5vZGVJbk1vdmVEaWFsb2coJGV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3ROb2RlSW5Nb3ZlRGlhbG9nKCRldmVudCk7XHJcbiAgICB9XHJcbiAgICBvbkNoZWNrQ2hhbmdlKGV2OiB7IG5vZGU6IFRyZWVOb2RlT2JqOyBpbmRleDogbnVtYmVyOyBjaGVja2VkOiBib29sZWFuIH0pOiB2b2lkIHtcclxuICAgICAgICBsZXQgc2VsZWN0ZWROb2RlOiBUcmVlTm9kZU9iaiB8IG51bGwgPSBudWxsO1xyXG4gICAgICAgIGlmIChldi5jaGVja2VkKSB7XHJcbiAgICAgICAgICAgIGV2Lm5vZGUuRGF0YS4kSXNDaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgc2VsZWN0ZWROb2RlID0gZXYubm9kZTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnNlbE5vZGUgPSBzZWxlY3RlZE5vZGU7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd3NlbGVjdCcsIHRoaXMuY29udGV4dCwgZXYuaW5kZXgsIGV2Lm5vZGUuRGF0YSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZXYubm9kZS5EYXRhLiRJc0NoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLm1vRGF0YUxpc3QuZmluZCgoYykgPT4gYy4kSXNDaGVja2VkKTtcclxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuc2VsTm9kZSA9IGV2Lm5vZGU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZE5vZGVTb3VyY2UubmV4dChldi5ub2RlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KCdyb3dkZXNlbGVjdCcsIHRoaXMuY29udGV4dCwgZXYuaW5kZXgsIGV2Lm5vZGUuRGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkTm9kZVNvdXJjZS5uZXh0KHNlbGVjdGVkTm9kZSk7XHJcbiAgICAgICAgdGhpcy5fcmViaW5kUm9vdCgpO1xyXG4gICAgfVxyXG4gICAgb25Ob2RlU2VsZWN0KGV2OiB7IG5vZGU6IFRyZWVOb2RlT2JqOyBpbmRleDogbnVtYmVyIH0pOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0LnNlbE5vZGUgPT09IGV2Lm5vZGUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGVzZWxlY3ROb2RlKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0Tm9kZShldi5ub2RlKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMudmlld1NldHRpbmc/Lk9ubHlFeGVjdXRlTGVhZk5vZGUgPT09IHRydWUgJiYgIWV2Lm5vZGUubGVhZikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkQ2hpbGRyZW4oZXYubm9kZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fcmViaW5kUm9vdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTm9kZVVsdkNvbW1hbmQoZXY6IHsgbm9kZTogVHJlZU5vZGVPYmo7IGluZGV4OiBudW1iZXIgfSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3VsdkNvbW1hbmRDbGlja2VkKGV2Lm5vZGUuRGF0YSwgZXYuaW5kZXgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTm9kZVZpZXdDbGljayhldjogeyBub2RlOiBUcmVlTm9kZU9iajsgaW5kZXg6IG51bWJlciB9KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMudmlld1NldHRpbmc/LkRpc2FibGVTaG93Rm9ybU9uRG91YmxlQ2xpY2sgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy52aWV3U2V0dGluZz8uT25seUV4ZWN1dGVMZWFmTm9kZSA9PT0gdHJ1ZSAmJiAhZXYubm9kZS5sZWFmKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMudmlld1NldHRpbmc/LkR5bmFtaWNDb21tYW5kRmllbGQpIHtcclxuICAgICAgICAgICAgY29uc3QgZHluID0gdGhpcy5fcnZhbC50cmFuc2Zvcm0odGhpcy52aWV3U2V0dGluZz8uRHluYW1pY0NvbW1hbmRGaWVsZCwgZXYubm9kZS5EYXRhLCB0aGlzLmFsbENvbHVtbnMpO1xyXG4gICAgICAgICAgICBpZiAoZHluKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3ROb2RlKGV2Lm5vZGUpO1xyXG4gICAgICAgICAgICAgICAgRXhlY3V0ZUR5bmFtaWNDb21tYW5kKGR5biwgZXYubm9kZS5EYXRhKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9yYWlzZVJvd0NsaWNrKGV2LmluZGV4LCBldi5ub2RlKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkxvYWRDaGlsZHJlbihub2RlOiBUcmVlTm9kZU9iaik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubG9hZENoaWxkcmVuKG5vZGUpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgcmVuZGVyVHJlZTtcclxuICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICRpbXBsaWNpdDogcm9vdCQgfCBhc3luYyxcclxuICAgICAgICAgICAgbW9EYXRhTGlzdDogZmxhdE1vRGF0YUxpc3QsXHJcbiAgICAgICAgICAgIGlzQ2hlY2tMaXN0OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSXNDaGVja0xpc3QsXHJcbiAgICAgICAgICAgIGNvbHVtbnM6IHZpc2libGVDb2x1bW5zJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBncm91cGJ5OiBncm91cGJ5JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICB0b29sYmFyQnV0dG9uczogKHRvb2xiYXJCdXR0b25zJCB8IGFzeW5jKSEhIHwgc2VwZXJhdG9yRml4LFxyXG4gICAgICAgICAgICBjb250ZXh0TWVudUl0ZW1zOiBtZW51SXRlbXMkIHwgYXN5bmMgfCBjb250ZXh0TWVudTogY29udGV4dC5TZXR0aW5nLlZpZXc/LklzQ2hlY2tMaXN0LFxyXG4gICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHM6IGNvbnRleHQuU2V0dGluZy5WaWV3Py5Db25kaXRpb25hbEZvcm1hdHMsXHJcbiAgICAgICAgICAgIGRldmljZU5hbWU6IGRldmljZU5hbWUkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGRldmljZVNpemU6IGRldmljZVNpemUkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGFjY2VzczogY29udGV4dC5TZXR0aW5nLkV4dHJhPy5EZWZhdWx0Q29tbWFuZHNBY2Nlc3MsXHJcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSQgfCBhc3luYyxcclxuICAgICAgICAgICAgaW5saW5lRWRpdE1vZGU6IGlubGluZUVkaXRNb2RlJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBhbGxvd0lubGluZUVkaXQ6IGFsbG93SW5saW5lRWRpdCQgfCBhc3luYyxcclxuICAgICAgICAgICAgaGlkZVRvb2xiYXI6IGhpZGVUb29sYmFyJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBncmlkU2V0dGluZzogZ3JpZFNldHRpbmckIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5OiBjb250ZW50RGVuc2l0eSQgfCBhc3luYyxcclxuICAgICAgICAgICAgaGFzU2VsZWN0ZWQ6IGhhc1NlbGVjdGVkJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBzaG93T2tDYW5jZWxCdXR0b25zOiBzaG93T2tDYW5jZWxCdXR0b25zLFxyXG4gICAgICAgICAgICBoaWRlT3Blbkljb246IHZpZXdTZXR0aW5nPy5IaWRlT3Blbkljb24sXHJcbiAgICAgICAgICAgIG9wZW5PbkNsaWNrOiB2aWV3U2V0dGluZz8uT3Blbk9uQ2xpY2ssXHJcbiAgICAgICAgICAgIG9ubHlFeGVjdXRlTGVhZk5vZGU6IHZpZXdTZXR0aW5nPy5Pbmx5RXhlY3V0ZUxlYWZOb2RlLFxyXG4gICAgICAgICAgICBlbmFibGVOb2RlUmVvcmRlcmluZzogdmlld1NldHRpbmc/LkVuYWJsZU5vZGVSZW9yZGVyaW5nLFxyXG4gICAgICAgICAgICB2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eTogdmlld1NldHRpbmc/LkNvbnRlbnREZW5zaXR5JENhcHRpb24sXHJcbiAgICAgICAgICAgIGljb25GaWVsZDogdmlld1NldHRpbmc/Lkljb25GaWVsZCxcclxuICAgICAgICAgICAgaGlkZUljb246IHZpZXdTZXR0aW5nPy5IaWRlSWNvbixcclxuICAgICAgICAgICAgY29sb3JGaWVsZDogdmlld1NldHRpbmc/LkNvbG9yRmllbGQsXHJcbiAgICAgICAgICAgIGhhc0lubGluZUVkaXRCdXR0b246IHZpZXdTZXR0aW5nPy5IYXNJbmxpbmVFZGl0QnV0dG9uLFxyXG4gICAgICAgICAgICBoYXNJbmxpbmVEZWxldGVCdXR0b246IHZpZXdTZXR0aW5nPy5IYXNJbmxpbmVEZWxldGVCdXR0b24sXHJcbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZTogc2VsZWN0ZWROb2RlJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBuYXZpZ2F0aW9uQXJyb3c6IG5hdmlnYXRpb25BcnJvdyQgfCBhc3luYyxcclxuICAgICAgICAgICAgY29sbGFwc2VJY29uOiBjb2xsYXBzZUljb24kIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHJlbGF0aW9uTGlzdDogY29udGV4dC5TZXR0aW5nLlZpZXcuUmVsYXRpb25MaXN0LFxyXG4gICAgICAgICAgICBhbGxDb2x1bW5zOiBhbGxDb2x1bW5zLFxyXG4gICAgICAgICAgICBydGw6IHJ0bCQgfCBhc3luYyxcclxuICAgICAgICAgICAgaW5EaWFsb2c6IGluRGlhbG9nJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBpc011bHRpU2VsZWN0OiBpc011bHRpU2VsZWN0JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogdmlld1NldHRpbmc/LkRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51LFxyXG4gICAgICAgICAgICBpc0hldHJvOiBjb250ZXh0LlNldHRpbmcuQ2xhc3NOYW1lcy5EYXRhQ2xhc3MgPT09ICdVbC5IZXRyb1RyZWVVbHZEYXRhQ3RybHInLFxyXG4gICAgICAgICAgICBzZWxlY3RlZE1vOiBzZWxlY3RlZE1vJCB8IGFzeW5jXHJcbiAgICAgICAgfVxyXG4gICAgXCJcclxuPjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjcmVuZGVyVHJlZVxyXG4gICAgbGV0LXJvb3RcclxuICAgIGxldC1tb0RhdGFMaXN0PVwibW9EYXRhTGlzdFwiXHJcbiAgICBsZXQtZGV2aWNlTmFtZT1cImRldmljZU5hbWVcIlxyXG4gICAgbGV0LWRldmljZVNpemU9XCJkZXZpY2VTaXplXCJcclxuICAgIGxldC10b29sYmFyQnV0dG9ucz1cInRvb2xiYXJCdXR0b25zXCJcclxuICAgIGxldC10aXRsZT1cInRpdGxlXCJcclxuICAgIGxldC1pbmxpbmVFZGl0TW9kZT1cImlubGluZUVkaXRNb2RlXCJcclxuICAgIGxldC1hbGxvd0lubGluZUVkaXQ9XCJhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgbGV0LWhpZGVUb29sYmFyPVwiaGlkZVRvb2xiYXJcIlxyXG4gICAgbGV0LWdyaWRTZXR0aW5nPVwiZ3JpZFNldHRpbmdcIlxyXG4gICAgbGV0LWNvbnRlbnREZW5zaXR5PVwiY29udGVudERlbnNpdHlcIlxyXG4gICAgbGV0LWFjY2Vzcz1cImFjY2Vzc1wiXHJcbiAgICBsZXQtY29udGV4dE1lbnVJdGVtcz1cImNvbnRleHRNZW51SXRlbXNcIlxyXG4gICAgbGV0LWNvbmRpdGlvbmFsRm9ybWF0cz1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICBsZXQtaXNDaGVja0xpc3Q9XCJpc0NoZWNrTGlzdFwiXHJcbiAgICBsZXQtZ3JvdXBieT1cImdyb3VwYnlcIlxyXG4gICAgbGV0LWhhc1NlbGVjdGVkPVwiaGFzU2VsZWN0ZWRcIlxyXG4gICAgbGV0LXNob3dPa0NhbmNlbEJ1dHRvbnM9XCJzaG93T2tDYW5jZWxCdXR0b25zXCJcclxuICAgIGxldC1zZWxlY3RlZE5vZGU9XCJzZWxlY3RlZE5vZGVcIlxyXG4gICAgbGV0LW5hdmlnYXRpb25BcnJvdz1cIm5hdmlnYXRpb25BcnJvd1wiXHJcbiAgICBsZXQtY29sbGFwc2VJY29uPVwiY29sbGFwc2VJY29uXCJcclxuICAgIGxldC1ydGw9XCJydGxcIlxyXG4gICAgbGV0LWRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51PVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxyXG4gICAgbGV0LXJlbGF0aW9uTGlzdD1cInJlbGF0aW9uTGlzdFwiXHJcbiAgICBsZXQtaXNIZXRybz1cImlzSGV0cm9cIlxyXG4gICAgbGV0LWluRGlhbG9nPVwiaW5EaWFsb2dcIlxyXG4gICAgbGV0LWlzTXVsdGlTZWxlY3Q9XCJpc011bHRpU2VsZWN0XCJcclxuICAgIGxldC1zZWxlY3RlZE1vPVwic2VsZWN0ZWRNb1wiXHJcbiAgICBsZXQtaGlkZU9wZW5JY29uPVwiaGlkZU9wZW5JY29uXCJcclxuICAgIGxldC1vcGVuT25DbGljaz1cIm9wZW5PbkNsaWNrXCJcclxuICAgIGxldC1lbmFibGVOb2RlUmVvcmRlcmluZz1cImVuYWJsZU5vZGVSZW9yZGVyaW5nXCJcclxuICAgIGxldC1vbmx5RXhlY3V0ZUxlYWZOb2RlPVwib25seUV4ZWN1dGVMZWFmTm9kZVwiXHJcbiAgICBsZXQtaWNvbkZpZWxkPVwiaWNvbkZpZWxkXCJcclxuICAgIGxldC1jb2xvckZpZWxkPVwiY29sb3JGaWVsZFwiXHJcbiAgICBsZXQtYWxsQ29sdW1ucz1cImFsbENvbHVtbnNcIlxyXG4gICAgbGV0LWhpZGVJY29uPVwiaGlkZUljb25cIlxyXG4gICAgbGV0LXZpZXdTZXR0aW5nc0NvbnRlbnREZW5zaXR5PVwidmlld1NldHRpbmdzQ29udGVudERlbnNpdHlcIlxyXG4gICAgbGV0LWhhc0lubGluZURlbGV0ZUJ1dHRvbj1cImhhc0lubGluZURlbGV0ZUJ1dHRvblwiXHJcbiAgICBsZXQtaGFzSW5saW5lRWRpdEJ1dHRvbj1cImhhc0lubGluZUVkaXRCdXR0b25cIlxyXG4+XHJcbiAgICA8YnN1LXVsdi10b29sYmFyXHJcbiAgICAgICAgW2hpZGVUb29sYmFyXT1cImhpZGVUb29sYmFyXCJcclxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICBbdG9vbGJhckJ1dHRvbnNdPVwidG9vbGJhckJ1dHRvbnNcIlxyXG4gICAgICAgIFtncmlkU2V0dGluZ109XCJncmlkU2V0dGluZ1wiXHJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgICAgICBbaGFzU2VsZWN0ZWRdPVwiaGFzU2VsZWN0ZWRcIlxyXG4gICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXHJcbiAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwiaXNNdWx0aVNlbGVjdFwiXHJcbiAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5XCJcclxuICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGVcIlxyXG4gICAgICAgIFthbGxvd0lubGluZUVkaXRdPVwiYWxsb3dJbmxpbmVFZGl0XCJcclxuICAgICAgICBbbW9EYXRhTGlzdENvdW50XT1cIm1vRGF0YUxpc3QubGVuZ3RoXCJcclxuICAgICAgICAoc29ydENsaWNrKT1cIm9uU29ydFNldHRpbmdzKGRldmljZU5hbWUpXCJcclxuICAgICAgICAoZ3JvdXBieUNsaWNrKT1cIm9uR3JvdXBieVNldHRpbmdzKGRldmljZU5hbWUpXCJcclxuICAgICAgICAoY29sdW1uQ2xpY2spPVwib25Db2x1bW5TZXR0aW5ncyhkZXZpY2VOYW1lKVwiXHJcbiAgICAgICAgKGVkaXRNb2RlQ2xpY2spPVwib25FZGl0TW9kZSgpXCJcclxuICAgID5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICAgICAgW2dseXBoXT1cIidjb2xsYXBzZS1hbGwnXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ29sbGFwc2VBbGwoKVwiXHJcbiAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIEBpZiAoIXNob3dPa0NhbmNlbEJ1dHRvbnMgJiYgZW5hYmxlTm9kZVJlb3JkZXJpbmcpIHtcclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICAgICAgW2dseXBoXT1cIidtb3ZlJ1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbk9wZW5Nb3ZlVG9EaWFsb2coc2VsZWN0ZWROb2RlLCBkZXZpY2VOYW1lLCBtb3ZlRGlhbG9nKVwiXHJcbiAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgIDwvYnN1LXVsdi10b29sYmFyPlxyXG4gICAgPGJzdS11aS10cmVlLXZpZXdcclxuICAgICAgICAqdW50aWxJblZpZXc9XCJlbFwiXHJcbiAgICAgICAgW2xlYWZDdXJzb3JQb2ludGVyXT1cIm9ubHlFeGVjdXRlTGVhZk5vZGUgJiYgb3Blbk9uQ2xpY2tcIlxyXG4gICAgICAgIFtydGxdPVwicnRsXCJcclxuICAgICAgICBbaGFzSW5saW5lRGVsZXRlQnV0dG9uXT1cImhhc0lubGluZURlbGV0ZUJ1dHRvblwiXHJcbiAgICAgICAgW2hhc0lubGluZUVkaXRCdXR0b25dPVwiaGFzSW5saW5lRWRpdEJ1dHRvblwiXHJcbiAgICAgICAgW3JlbGF0aW9uTGlzdF09XCJyZWxhdGlvbkxpc3RcIlxyXG4gICAgICAgIFt0b29sYmFyQnV0dG9uc109XCJ0b29sYmFyQnV0dG9uc1wiXHJcbiAgICAgICAgW3Jvb3RdPVwicm9vdFwiXHJcbiAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXHJcbiAgICAgICAgW2hpZGVJY29uXT1cImhpZGVJY29uXCJcclxuICAgICAgICBbc2VsZWN0ZWRNb109XCJzZWxlY3RlZE1vXCJcclxuICAgICAgICBbaGlkZU9wZW5JY29uXT1cImhpZGVPcGVuSWNvblwiXHJcbiAgICAgICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcclxuICAgICAgICBbaWNvbkZpZWxkXT1cImljb25GaWVsZFwiXHJcbiAgICAgICAgW2NvbG9yRmllbGRdPVwiY29sb3JGaWVsZFwiXHJcbiAgICAgICAgW25hdmlnYXRpb25BcnJvd109XCJuYXZpZ2F0aW9uQXJyb3dcIlxyXG4gICAgICAgIFtjb2xsYXBzZUljb25dPVwiY29sbGFwc2VJY29uXCJcclxuICAgICAgICBbc2VsZWN0ZWROb2RlXT1cInNlbGVjdGVkTm9kZVwiXHJcbiAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxyXG4gICAgICAgIFt2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eV09XCJ2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eVwiXHJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgW2VuYWJsZU5vZGVSZW9yZGVyaW5nXT1cImVuYWJsZU5vZGVSZW9yZGVyaW5nXCJcclxuICAgICAgICBbaW5EaWFsb2ddPVwiaW5EaWFsb2dcIlxyXG4gICAgICAgIFtpc011bHRpU2VsZWN0XT1cImlzTXVsdGlTZWxlY3RcIlxyXG4gICAgICAgIFtvcGVuT25DbGlja109XCJvcGVuT25DbGlja1wiXHJcbiAgICAgICAgW2NvbnRleHRNZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXHJcbiAgICAgICAgW21vRGF0YUxpc3RdPVwibW9EYXRhTGlzdFwiXHJcbiAgICAgICAgW2dyb3VwYnldPVwiZ3JvdXBieVwiXHJcbiAgICAgICAgW2lzSGV0cm9dPVwiaXNIZXRyb1wiXHJcbiAgICAgICAgW2lzQ2hlY2tMaXN0XT1cImlzQ2hlY2tMaXN0XCJcclxuICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICAgICAgW3Nob3dPa0NhbmNlbEJ1dHRvbnNdPVwic2hvd09rQ2FuY2VsQnV0dG9uc1wiXHJcbiAgICAgICAgKGNoZWNrQ2hhbmdlKT1cIm9uQ2hlY2tDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKGl0ZW1Ecm9wKT1cIm9uRHJvcCgkZXZlbnQpXCJcclxuICAgICAgICAoaXRlbURyYWdNb3ZlZCk9XCJvbkRyYWdNb3ZlZCgkZXZlbnQpXCJcclxuICAgICAgICAobm9kZVVsdkNvbW1hbmQpPVwib25Ob2RlVWx2Q29tbWFuZCgkZXZlbnQpXCJcclxuICAgICAgICAobm9kZVZpZXdDbGljayk9XCJvbk5vZGVWaWV3Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGxvYWRDaGlsZHJlbik9XCJvbkxvYWRDaGlsZHJlbigkZXZlbnQpXCJcclxuICAgICAgICAobm9kZVNlbGVjdCk9XCJvbk5vZGVTZWxlY3QoJGV2ZW50KVwiXHJcbiAgICAgICAgKHJvd0NoZWNrKT1cIm9uUm93Q2hlY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGFsbENoZWNrYm94KT1cIm9uQWxsQ2hlY2tib3goJGV2ZW50KVwiXHJcbiAgICAgICAgKGV4cGFuZENsaWNrKT1cIm9uRXhwYW5kQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxDYW5jZWwpPVwib25FZGl0Rm9ybVBhbmVsQ2FuY2VsKCRldmVudClcIlxyXG4gICAgICAgIChlZGl0Rm9ybVBhbmVsU2F2ZSk9XCJvbkVkaXRGb3JtUGFuZWxTYXZlKCRldmVudClcIlxyXG4gICAgICAgIChjcmVhdGVOZXcpPVwib25DcmVhdGVOZXcoJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICA8L2JzdS11aS10cmVlLXZpZXc+XHJcbiAgICA8bmctdGVtcGxhdGUgbGV0LWRpYWxvZyBsZXQtZGlhbG9nQ29uZmlnPVwiZGlhbG9nQ29uZmlnXCIgI21vdmVEaWFsb2c+XHJcbiAgICAgICAgPGZkLWRpYWxvZyBbZGlhbG9nQ29uZmlnXT1cImRpYWxvZ0NvbmZpZ1wiIFtkaWFsb2dSZWZdPVwiZGlhbG9nXCI+XHJcbiAgICAgICAgICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPGgxIGZkLXRpdGxlPnt7ICdNb3ZlJyB8IGJiYlRyYW5zbGF0ZSB9fTwvaDE+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWRpYWxvZy1jbG9zZS1idXR0b24gKGNsaWNrKT1cImRpYWxvZy5kaXNtaXNzKCdDbG9zZSBidXR0b24nKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XHJcblxyXG4gICAgICAgICAgICA8ZmQtZGlhbG9nLWJvZHk+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW92ZS10b1wiIChrZXlkb3duLmVudGVyKT1cIm9uQ29uZmlybURpYWxvZyhkaWFsb2dTZWxlY3RlZE5vZGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJzdS11aS10cmVlLXZpZXdcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3J0bF09XCJydGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm9vdF09XCJyb290XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmF2aWdhdGlvbkFycm93XT1cIm5hdmlnYXRpb25BcnJvd1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsYXBzZUljb25dPVwiY29sbGFwc2VJY29uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmlld1NldHRpbmdzQ29udGVudERlbnNpdHldPVwidmlld1NldHRpbmdzQ29udGVudERlbnNpdHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlTm9kZVJlb3JkZXJpbmddPVwiZW5hYmxlTm9kZVJlb3JkZXJpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbb3Blbk9uQ2xpY2tdPVwib3Blbk9uQ2xpY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWROb2RlXT1cImRpYWxvZ1NlbGVjdGVkTm9kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttb0RhdGFMaXN0XT1cImZsYXRNb0RhdGFMaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2dyb3VwYnldPVwiZ3JvdXBieVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc0NoZWNrTGlzdF09XCJpc0NoZWNrTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWRDaGlsZHJlbik9XCJvbkxvYWRDaGlsZHJlbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG5vZGVTZWxlY3QpPVwib25TZWxlY3ROb2RlSW5Nb3ZlRGlhbG9nKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L2JzdS11aS10cmVlLXZpZXc+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9mZC1kaWFsb2ctYm9keT5cclxuXHJcbiAgICAgICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwiZm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInT0snIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNvbmZpcm1EaWFsb2coZGlhbG9nU2VsZWN0ZWROb2RlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1idXR0b24tYmFyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhciBmZC1pbml0aWFsLWZvY3VzIFtsYWJlbF09XCInQ2FuY2VsJyB8IGJiYlRyYW5zbGF0ZVwiIChjbGljayk9XCJvbkRpc21pc3NEaWFsb2coKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLWJ1dHRvbi1iYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XHJcbiAgICAgICAgPC9mZC1kaWFsb2c+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -12,7 +12,8 @@ import * as i1 from "@fundamental-ngx/core";
|
|
|
12
12
|
import * as i2 from "barsa-novin-ray-core";
|
|
13
13
|
import * as i3 from "@angular/router";
|
|
14
14
|
import * as i4 from "../barsa-ulv-main/barsa-ulv-main.component";
|
|
15
|
-
import * as i5 from "
|
|
15
|
+
import * as i5 from "../contentDensity.directive";
|
|
16
|
+
import * as i6 from "@angular/common";
|
|
16
17
|
export class UiUlvMainUiComponent extends BaseComponent {
|
|
17
18
|
set searchPanelComponent(val) {
|
|
18
19
|
if (val) {
|
|
@@ -274,7 +275,7 @@ export class UiUlvMainUiComponent extends BaseComponent {
|
|
|
274
275
|
});
|
|
275
276
|
}
|
|
276
277
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiUlvMainUiComponent, deps: [{ token: i1.DialogService }, { token: i2.UlvMainService }, { token: i0.ElementRef }, { token: i3.Router }, { token: i2.PortalService }, { token: i0.ChangeDetectorRef }, { token: i3.ActivatedRoute }, { token: i1.ContentDensityService }, { token: i2.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
277
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiUlvMainUiComponent, selector: "bsu-ui-ulv-main-ui", inputs: { context: "context", isReportPage: "isReportPage", inDialog: "inDialog", isMultiSelect: "isMultiSelect", layoutInfo: "layoutInfo", fullscreen: "fullscreen" }, host: { properties: { "class.control-readonly": "this.readonly", "class.control-disabled": "this.disable", "class.margin-ulv": "this.marginUlv" } }, providers: [UlvMainService], viewQueries: [{ propertyName: "_barsaUlvComponent", first: true, predicate: BarsaUlvMainComponent, descendants: true }, { propertyName: "searchPanelComponent", first: true, predicate: SearchPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bsu-barsa-ulv-main\r\n [style.margin]=\"isReportPage || inDialog ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\r\n [style.style.width]=\"!isMobile ? null : '100%'\"\r\n [layoutInfo]=\"layoutInfo\"\r\n [attr.isReportPage]=\"isReportPage\"\r\n [simpleSearchPanel]=\"simpleSearchPanel\"\r\n [viewerControl]=\"viewer$ | async\"\r\n [loading]=\"(mask$ | async) === true\"\r\n [viewerLoading]=\"(viwerMask$ | async) === true\"\r\n [standalone]=\"(standalone$ | async) === true\"\r\n [landscape]=\"(landscape$ | async) === true\"\r\n [hideUlvPageTitle]=\"(hideUlvPageTitle$ | async) === true\"\r\n [isReportPage]=\"isReportPage\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [title]=\"title\"\r\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\r\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\r\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\r\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\r\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\r\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\r\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\r\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\r\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\r\n [context]=\"context\"\r\n [contentDensity]=\"contentDensity$ | async\"\r\n (closeEvent)=\"onClose()\"\r\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\r\n (openManageFilters)=\"onOpenManageFilters()\"\r\n (collapsedChange)=\"onCollapsedChange($event)\"\r\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\r\n (filterSave)=\"onFilterSave()\"\r\n (filterSaveAs)=\"onFilterSaveAs()\"\r\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\r\n (manageFilters)=\"onManageFilters()\"\r\n (clearSearch)=\"onClearSearch()\"\r\n (search)=\"onSearch()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\r\n>\r\n</bsu-barsa-ulv-main>\r\n", styles: [":host{width:100%;min-height:100%;height:auto;display:flex;flex-direction:column;cursor:default}.margin-ulv{margin-bottom:.25rem;margin-top:.1875rem}\n"], dependencies: [{ kind: "component", type: i4.BarsaUlvMainComponent, selector: "bsu-barsa-ulv-main", inputs: ["viewerControl", "loading", "viewerLoading", "isReportPage", "deviceSize", "title", "searchPanelUi", "breadCrumbs", "allSearchPanelSettings", "isAnonymous", "canSaveGridSetting", "rtl", "hideUlvPageTitle", "selectedSearchPanelSettings", "searchPanelMoChanged", "selectedSearchPanelSettingsId", "hideSearchPanel", "pagingSetting", "contentDensity", "context", "isMobile", "standalone", "landscape", "simpleSearchPanel", "layoutInfo"], outputs: ["closeEvent", "searchPanelMoChange", "openManageFilters", "collapsedChange", "hideSearchPanelClick", "filterSave", "filterSaveAs", "pageChange", "showFilterFieldsSetting", "manageFilters", "clearSearch", "search", "selectSearchPanelSettings"] }, { kind: "
|
|
278
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiUlvMainUiComponent, selector: "bsu-ui-ulv-main-ui", inputs: { context: "context", isReportPage: "isReportPage", inDialog: "inDialog", isMultiSelect: "isMultiSelect", layoutInfo: "layoutInfo", fullscreen: "fullscreen" }, host: { properties: { "class.control-readonly": "this.readonly", "class.control-disabled": "this.disable", "class.margin-ulv": "this.marginUlv" } }, providers: [UlvMainService], viewQueries: [{ propertyName: "_barsaUlvComponent", first: true, predicate: BarsaUlvMainComponent, descendants: true }, { propertyName: "searchPanelComponent", first: true, predicate: SearchPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bsu-barsa-ulv-main\r\n [style.margin]=\"isReportPage || inDialog ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\r\n [style.style.width]=\"!isMobile ? null : '100%'\"\r\n [layoutInfo]=\"layoutInfo\"\r\n [attr.isReportPage]=\"isReportPage\"\r\n [simpleSearchPanel]=\"simpleSearchPanel\"\r\n [viewerControl]=\"viewer$ | async\"\r\n [loading]=\"(mask$ | async) === true\"\r\n [viewerLoading]=\"(viwerMask$ | async) === true\"\r\n [standalone]=\"(standalone$ | async) === true\"\r\n [landscape]=\"(landscape$ | async) === true\"\r\n [hideUlvPageTitle]=\"(hideUlvPageTitle$ | async) === true\"\r\n [isReportPage]=\"isReportPage\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [title]=\"title\"\r\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\r\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\r\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\r\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\r\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\r\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\r\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\r\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\r\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\r\n [context]=\"context\"\r\n [contentDensity]=\"contentDensity$ | async\"\r\n (closeEvent)=\"onClose()\"\r\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\r\n (openManageFilters)=\"onOpenManageFilters()\"\r\n (collapsedChange)=\"onCollapsedChange($event)\"\r\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\r\n (filterSave)=\"onFilterSave()\"\r\n (filterSaveAs)=\"onFilterSaveAs()\"\r\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\r\n (manageFilters)=\"onManageFilters()\"\r\n (clearSearch)=\"onClearSearch()\"\r\n (search)=\"onSearch()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\r\n>\r\n</bsu-barsa-ulv-main>\r\n", styles: [":host{width:100%;min-height:100%;height:auto;display:flex;flex-direction:column;cursor:default}.margin-ulv{margin-bottom:.25rem;margin-top:.1875rem}\n"], dependencies: [{ kind: "component", type: i4.BarsaUlvMainComponent, selector: "bsu-barsa-ulv-main", inputs: ["viewerControl", "loading", "viewerLoading", "isReportPage", "deviceSize", "title", "searchPanelUi", "breadCrumbs", "allSearchPanelSettings", "isAnonymous", "canSaveGridSetting", "rtl", "hideUlvPageTitle", "selectedSearchPanelSettings", "searchPanelMoChanged", "selectedSearchPanelSettingsId", "hideSearchPanel", "pagingSetting", "contentDensity", "context", "isMobile", "standalone", "landscape", "simpleSearchPanel", "layoutInfo"], outputs: ["closeEvent", "searchPanelMoChange", "openManageFilters", "collapsedChange", "hideSearchPanelClick", "filterSave", "filterSaveAs", "pageChange", "showFilterFieldsSetting", "manageFilters", "clearSearch", "search", "selectSearchPanelSettings"] }, { kind: "directive", type: i5.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
278
279
|
}
|
|
279
280
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiUlvMainUiComponent, decorators: [{
|
|
280
281
|
type: Component,
|
|
@@ -307,4 +308,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
307
308
|
}], fullscreen: [{
|
|
308
309
|
type: Input
|
|
309
310
|
}] } });
|
|
310
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdWx2LW1haW4tdWkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFFTCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpFLE9BQU8sRUFDSCxRQUFRLEVBQ1IsYUFBYSxFQUNiLGNBQWMsRUFRZCxpQkFBaUIsRUFFcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUNuSixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUN6SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7OztBQVVuRixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsYUFBYTtJQVVuRCxJQUNJLG9CQUFvQixDQUFDLEdBQUc7UUFDeEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFD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QUFDO29CQUN2RSxJQUFJLEdBQUcsRUFBRSxDQUFDO3dCQUNOLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7b0JBQ2xELENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQzNFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBcFVRLG9CQUFvQjttR0FBcEIsb0JBQW9CLDBXQUpsQixDQUFDLGNBQWMsQ0FBQyw4RUFVaEIscUJBQXFCLHVGQUlyQixvQkFBb0IsdUVDeERuQyxnb0VBMkNBOzs0RkRHYSxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0ksb0JBQW9CLGFBR25CLENBQUMsY0FBYyxDQUFDLG1CQUNWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSzswVEFHUixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDNEIsa0JBQWtCO3NCQUFuRCxTQUFTO3VCQUFDLHFCQUFxQjtnQkFDTyxRQUFRO3NCQUE5QyxXQUFXO3VCQUFDLHdCQUF3QjtnQkFDRSxPQUFPO3NCQUE3QyxXQUFXO3VCQUFDLHdCQUF3QjtnQkFDSixTQUFTO3NCQUF6QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFFM0Isb0JBQW9CO3NCQUR2QixTQUFTO3VCQUFDLG9CQUFvQjtnQkFPbEIsVUFBVTtzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5LCBDb250ZW50RGVuc2l0eVNlcnZpY2UsIERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIEJhcnNhQXBpLFxyXG4gICAgQmFzZUNvbXBvbmVudCxcclxuICAgIFVsdk1haW5TZXJ2aWNlLFxyXG4gICAgUGFnaW5nU2V0dGluZyxcclxuICAgIFBvcnRhbFNlcnZpY2UsXHJcbiAgICBTZWFyY2hQYW5lbFNldHRpbmdzLFxyXG4gICAgQnJlYWRDcnVtYkluZm8sXHJcbiAgICBCcmVhZGNydW1iU2VydmljZSxcclxuICAgIENvbHVtbkluZm9UeXBlLFxyXG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxyXG4gICAgZ2V0RGV2aWNlSXNNb2JpbGUsXHJcbiAgICBMYXlvdXRTZXR0aW5nXHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWFuYWdlRmlsdGVyc1JlcG9ydENvbXBvbmVudCB9IGZyb20gJy4uL21hbmFnZS1maWx0ZXJzLXJlcG9ydC9tYW5hZ2UtZmlsdGVycy1yZXBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gtcGFuZWwvc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc0hpZGRlblNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hQYW5lbFNhdmVDb21wb25lbnQgfSBmcm9tICcuLi9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUvcmVwb3J0LXNlYXJjaC1wYW5lbC1zYXZlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FVbHZNYWluQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFyc2EtdWx2LW1haW4vYmFyc2EtdWx2LW1haW4uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktdWx2LW1haW4tdWknLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLXVsdi1tYWluLXVpLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLXVsdi1tYWluLXVpLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtVbHZNYWluU2VydmljZV0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaVVsdk1haW5VaUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgY29udGV4dDogYW55O1xyXG4gICAgQElucHV0KCkgaXNSZXBvcnRQYWdlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaW5EaWFsb2c6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpc011bHRpU2VsZWN0OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbGF5b3V0SW5mbzogTGF5b3V0U2V0dGluZztcclxuICAgIEBWaWV3Q2hpbGQoQmFyc2FVbHZNYWluQ29tcG9uZW50KSBfYmFyc2FVbHZDb21wb25lbnQ6IEJhcnNhVWx2TWFpbkNvbXBvbmVudDtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29udHJvbC1yZWFkb25seScpIHJlYWRvbmx5O1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb250cm9sLWRpc2FibGVkJykgZGlzYWJsZTtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MubWFyZ2luLXVsdicpIG1hcmdpblVsdjtcclxuICAgIEBWaWV3Q2hpbGQoU2VhcmNoUGFuZWxDb21wb25lbnQpXHJcbiAgICBzZXQgc2VhcmNoUGFuZWxDb21wb25lbnQodmFsKSB7XHJcbiAgICAgICAgaWYgKHZhbCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFBhbmVsTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpIHNldCBmdWxsc2NyZWVuKHZhbDogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldEZ1bGxzY3JlZW4odmFsKTtcclxuICAgIH1cclxuICAgIHNpbXBsZVNlYXJjaFBhbmVsOiBib29sZWFuO1xyXG4gICAgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzOiBTZWFyY2hQYW5lbFNldHRpbmdzIHwgdW5kZWZpbmVkO1xyXG4gICAgZmlyc3RBcHBseUF1dG9tYXRpY2FsbHkgPSB0cnVlO1xyXG4gICAgbWFzayQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICB2aXdlck1hc2skOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgdmlld2VyJDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgcGFnaW5nU2V0dGluZyQ6IE9ic2VydmFibGU8UGFnaW5nU2V0dGluZyB8IG51bGw+O1xyXG4gICAgY29udGVudERlbnNpdHkkOiBPYnNlcnZhYmxlPENvbnRlbnREZW5zaXR5PjtcclxuICAgIHNlYXJjaFBhbmVsVWkkOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICBoaWRlU2VhcmNoUGFuZWwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgcnRsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHJlcG9ydElkJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgc2VhcmNoUGFuZWxNb0NoYW5nZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyQ6IE9ic2VydmFibGU8U2VhcmNoUGFuZWxTZXR0aW5nc1tdPjtcclxuICAgIHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzJDogT2JzZXJ2YWJsZTxTZWFyY2hQYW5lbFNldHRpbmdzIHwgdW5kZWZpbmVkPjtcclxuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPEFiYnJldmF0aW9uRGV2aWNlU2l6ZT47XHJcbiAgICBicmVhZENydW1icyQ6IE9ic2VydmFibGU8QnJlYWRDcnVtYkluZm9bXT47XHJcbiAgICBjYW5TYXZlR3JpZFNldHRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgc2VhcmNoUGFuZWxMb2FkZWQ6IGJvb2xlYW47XHJcbiAgICBpc0Fub255bW91cyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgaGFzU2VhcmNoUGFuZWw6IGJvb2xlYW47XHJcbiAgICBpc01vYmlsZTogYm9vbGVhbjtcclxuICAgIGxhbmRzY2FwZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBzdGFuZGFsb25lJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIGhpZGVVbHZQYWdlVGl0bGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgdWlWaWV3ZXJTZWxlY3RvciQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuXHJcbiAgICBwcml2YXRlIGRlZmF1bHREaWFsb2dDb25maWcgPSB7XHJcbiAgICAgICAgdmVydGljYWxQYWRkaW5nOiB0cnVlLFxyXG4gICAgICAgIHJlc3BvbnNpdmVQYWRkaW5nOiB0cnVlLFxyXG4gICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcclxuICAgICAgICBtaW5XaWR0aDogZ2V0RGV2aWNlSXNNb2JpbGUoKSA/ICcnIDogJzUwcmVtJyxcclxuICAgICAgICBib2R5TWluSGVpZ2h0OiBnZXREZXZpY2VJc01vYmlsZSgpID8gJycgOiAnY2FsYyg1MHZoIC0gODhweCknLFxyXG4gICAgICAgIG1vYmlsZTogZ2V0RGV2aWNlSXNNb2JpbGUoKVxyXG4gICAgfTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfdWx2TWFpblNlcnZpY2U6IFVsdk1haW5TZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcml2YXRlIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIGNvbnRlbnREZW5zaXR5U2VydmljZTogQ29udGVudERlbnNpdHlTZXJ2aWNlLFxyXG4gICAgICAgIF9icmFkY3J1bWJTZXJ2aWNlOiBCcmVhZGNydW1iU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmNvbnRlbnREZW5zaXR5JCA9IGNvbnRlbnREZW5zaXR5U2VydmljZS5jb250ZW50RGVuc2l0eTtcclxuICAgICAgICB0aGlzLnJ0bCQgPSBfcG9ydGFsU2VydmljZS5ydGwkO1xyXG4gICAgICAgIHRoaXMuYnJlYWRDcnVtYnMkID0gX2JyYWRjcnVtYlNlcnZpY2UuYnJlYWRjcnVtYnMkO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5pc01vYmlsZSA9IGdldERldmljZUlzTW9iaWxlKCk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0SW5EaWFsb2codGhpcy5pbkRpYWxvZyk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0SXNNdWx0aVNlbGVjdCh0aGlzLmlzTXVsdGlTZWxlY3QpO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnVpVmlld2VyU2VsZWN0b3IkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fYmFyc2FVbHZDb21wb25lbnQuU2V0VWlWaWV3ZXJTZWxlY3RvcihjKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXHJcbiAgICAgICAgLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcclxuICAgICAgICAvLyAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgIC8vICAgICAgICAgaWYgKFxyXG4gICAgICAgIC8vICAgICAgICAgICAgIGUudGFyZ2V0ICYmXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50ICE9PSBlLnRhcmdldCAmJlxyXG4gICAgICAgIC8vICAgICAgICAgICAgICF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZS50YXJnZXQpICYmXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jb250YWlucyhlLnRhcmdldCBhcyBIVE1MRWxlbWVudClcclxuICAgICAgICAvLyAgICAgICAgICkge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldElubGluZUVkaXQoZmFsc2UpO1xyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICB9KTtcclxuICAgICAgICB0aGlzLl9yZW1vdmVCdWdJbkNocm9tZUNzc0FjdGl2ZSgpO1xyXG4gICAgICAgIHRoaXMubWFyZ2luVWx2ID0gIXRoaXMuaXNSZXBvcnRQYWdlO1xyXG4gICAgICAgIGlmICghdGhpcy5jb250ZXh0LlNldHRpbmcuU2VhcmNoUGFuZWwpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hQYW5lbExvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX29ic2VydmVPbigpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3JlbmRlcicsIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgX29ic2VydmVPbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlzQW5vbnltb3VzJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuaXNBbm9ueW1vdXMkO1xyXG4gICAgICAgIHRoaXMuaGlkZVNlYXJjaFBhbmVsJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmhpZGVTZWFyY2hwYW5lbCQ7XHJcblxyXG4gICAgICAgIHRoaXMudGl0bGUgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycy5UaXRsZScsICcnKTtcclxuICAgICAgICB0aGlzLnNpbXBsZVNlYXJjaFBhbmVsID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dCxcclxuICAgICAgICAgICAgJ1NldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaS5QYXJhbWV0ZXJzLlNpbXBsZVNlYXJjaFBhbmVsJyxcclxuICAgICAgICAgICAgZmFsc2VcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IGhpZGVUaXRsZU1vZGUgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LFxyXG4gICAgICAgICAgICAnU2V0dGluZy5DbGFzc05hbWVzLkN1c3RvbVVpLlBhcmFtZXRlcnMuSGlkZVRpdGxlTW9kZScsXHJcbiAgICAgICAgICAgICcnXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKGhpZGVUaXRsZU1vZGUgPT09ICcyJyB8fCBoaWRlVGl0bGVNb2RlID09PSAnMycpIHtcclxuICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVVsdlRpdGxlUGFnZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZXRDb250ZXh0KHRoaXMuY29udGV4dCk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0TGF5b3V0SW5mbyh0aGlzLmxheW91dEluZm8pO1xyXG5cclxuICAgICAgICB0aGlzLm1hc2skID0gdGhpcy5fdWx2TWFpblNlcnZpY2UubWFzayQ7XHJcbiAgICAgICAgdGhpcy52aXdlck1hc2skID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uudml3ZXJNYXNrJDtcclxuICAgICAgICB0aGlzLmhpZGVVbHZQYWdlVGl0bGUkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVVsdlBhZ2VUaXRsZSQ7XHJcbiAgICAgICAgdGhpcy5jYW5TYXZlR3JpZFNldHRpbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY2FuU2F2ZUdyaWRTZXR0aW5nJDtcclxuICAgICAgICB0aGlzLnBhZ2luZ1NldHRpbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UucGFnaW5nU2V0dGluZyQ7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hQYW5lbE1vQ2hhbmdlZCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbE1vQ2hhbmdlZCQ7XHJcbiAgICAgICAgdGhpcy5oYXNTZWFyY2hQYW5lbCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsVWkgIT09IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hQYW5lbFVpJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsVWkkO1xyXG4gICAgICAgIHRoaXMuc3RhbmRhbG9uZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLnN0YW5kYWxvbmUkO1xyXG4gICAgICAgIHRoaXMubGFuZHNjYXBlJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UubGFuZHNjYXBlJDtcclxuICAgICAgICB0aGlzLnJlcG9ydElkJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlcG9ydElkJDtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5jYW5TYXZlR3JpZFNldHRpbmckLnN1YnNjcmliZSgoY2FuU2F2ZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoY2FuU2F2ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UubG9hZFNlYXJjaFBhbmVsU2V0dGluZ3MoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlYWRvbmx5JC5zdWJzY3JpYmUoKHJlYWRvbmx5KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucmVhZG9ubHkgPSByZWFkb25seTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5lbmFibGUkLnN1YnNjcmliZSgoZW5hYmxlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZSA9ICFlbmFibGU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzJFxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcclxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy5UaXRsZSA9PT0gYj8uVGl0bGUpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyA9IHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmFwcGx5U2VhcmNoUGFuZWxTZXR0aW5ncyhzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UudG9nZ2xlSGlkZVNlYXJjaHBhbmVsKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncz8uSGlkZVNlYXJjaFBhbmVsKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy52aWV3ZXIkID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uudmlld2VyJDtcclxuICAgICAgICB0aGlzLmFsbFNlYXJjaFBhbmVsU2V0dGluZ3MkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MkID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzJDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkJDtcclxuICAgICAgICB0aGlzLmRldmljZVNpemUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XHJcbiAgICB9XHJcbiAgICBvbkNsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJy4uLy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5fYWN0aXZhdGVkUm91dGUgfSk7XHJcbiAgICB9XHJcbiAgICBvblNlYXJjaFBhbmVsTW9DaGFuZ2VkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3NldFNlYXJjaFBhbmVsTW9DaGFuZ2VkKHRydWUpO1xyXG4gICAgfVxyXG4gICAgb25QYWdlQ2hhbmdlKGU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnBhZ2VDaGFuZ2VkKGUpO1xyXG4gICAgfVxyXG4gICAgb25PcGVuTWFuYWdlRmlsdGVycygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oTWFuYWdlRmlsdGVyc1JlcG9ydENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBiYWNrZHJvcENsaWNrQ2xvc2VhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICBkcmFnZ2FibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBlc2NLZXlDbG9zZWFibGU6IHRydWUsXHJcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcclxuICAgICAgICAgICAgZm9jdXNUcmFwcGVkOiB0cnVlLFxyXG4gICAgICAgICAgICBtb2JpbGU6IHRoaXMuaXNNb2JpbGVcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNvbGxhcHNlZENoYW5nZShjb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS50b2dnbGVIaWRlU2VhcmNocGFuZWwoY29sbGFwc2VkKTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbE1vQ2hhbmdlZCh0cnVlKTtcclxuICAgIH1cclxuICAgIG9uSGlkZVNlYXJjaFBhbmVsQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UudG9nZ2xlSGlkZVNlYXJjaHBhbmVsKCk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoUGFuZWxNb0NoYW5nZWQodHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25GaWx0ZXJTYXZlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3NhdmVGaWx0ZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkZpbHRlclNhdmVBcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vcGVuU2F2ZUFzRmlsdGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TaG93RmlsdGVyRmllbGRzU2V0dGluZygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vcGVuU2VhcmNoRmllbGRzSGlkZGVuU2V0dGluZ3MoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbk1hbmFnZUZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb3BlblNlYXJjaEZpbHRlcnNNYW5hZ2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNsZWFyU2VhcmNoKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmNsZWFyU2VhcmNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWFyY2goKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3RTZWFyY2hQYW5lbFNldHRpbmdzKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5jaGFuZ2VTZWxlY3RlZFNlYXJjaFBhbmVsKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3JlbW92ZUJ1Z0luQ2hyb21lQ3NzQWN0aXZlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChCYXJzYUFwaS5Db21tb24uVXRpbC5SZW1vdmVCdWdJbkNocm9tZUNzc0FjdGl2ZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBsaXN0OiB7IGk6IGFueTsgbjogYW55OyBhOiBhbnkgfVtdID0gW107XHJcbiAgICAgICAgY29uc3QgaCA9IGRvY3VtZW50LmhlYWQuY2hpbGRyZW47XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBoLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxpc3RbaV0gPSB7XHJcbiAgICAgICAgICAgICAgICBpLFxyXG4gICAgICAgICAgICAgICAgbjogaFtpXSxcclxuICAgICAgICAgICAgICAgIGE6IGhbaV0uaW5uZXJIVE1MXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpc3QgPSBsaXN0LnJldmVyc2UoKTtcclxuICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xyXG4gICAgICAgIGNvbnN0IHQgPSBgLmZkLXRhYmxlX19jZWxsLS1hY3RpdmFibGU6YWN0aXZlICosLmZkLXRhYmxlX19yb3ctLWFjdGl2YWJsZS5pcy1hY3RpdmUgKiwuZmQtdGFibGVfX3Jvdy0tYWN0aXZhYmxlOmFjdGl2ZSAqe2NvbG9yOnZhcigtLXNhcExpc3RfQWN0aXZlX1RleHRDb2xvcikhaW1wb3J0YW50fWA7XHJcbiAgICAgICAgLyogZXNsaW50LWVuYWJsZSAqL1xyXG4gICAgICAgIGNvbnN0IGYgPSBsaXN0LmZpbHRlcigoYykgPT4gYy5hLmluZGV4T2YodCkgPj0gMCk7XHJcbiAgICAgICAgaWYgKGYubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uVXRpbC5SZW1vdmVCdWdJbkNocm9tZUNzc0FjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIGZbMF0ubi5pbm5lckhUTUwgPSBmWzBdLmEuc2xpY2UoMCwgMTAwNTgpICsgZlswXS5hLnNsaWNlKDEwMDU4ICsgdC5sZW5ndGgsIGZbMF0uYS5sZW5ndGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgX3NldFNlYXJjaFBhbmVsTW9DaGFuZ2VkKGNoYW5nZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKGNoYW5nZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfb3BlblNlYXJjaEZpZWxkc0hpZGRlblNldHRpbmdzKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGZpZWxkc1NldHRpbmcgPSB0aGlzLl91bHZNYWluU2VydmljZS5nZXRTZWFyY2hQYW5lbEZpZWxkc1NldHRpbmcoKTtcclxuICAgICAgICBjb25zdCBjb25maWcgPSB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuZGVmYXVsdERpYWxvZ0NvbmZpZyxcclxuICAgICAgICAgICAgbWluV2lkdGg6ICcyNXJlbScsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIGZpZWxkczogWy4uLmZpZWxkc1NldHRpbmddXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCwgY29uZmlnKTtcclxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoc2V0dGluZzogQ29sdW1uSW5mb1R5cGVbXSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoc2V0dGluZykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0QW5kQXBwbHlTZWFyY2hQYW5lbFNldHRpbmdGaWVsZHNTZXR0aW5nKHNldHRpbmcpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoUGFuZWxNb0NoYW5nZWQodHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX29wZW5TYXZlQXNGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc2VhcmNoTW8gPSB0aGlzLl91bHZNYWluU2VydmljZS5nZXRTZWFyY2hQYW5lbE1vKCk7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzID0gdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M7XHJcbiAgICAgICAgY29uc3QgZmllbGRzU2V0dGluZyA9IHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncz8uRmllbGRzU2V0dGluZztcclxuICAgICAgICBjb25zdCBjb25maWcgPSB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuZGVmYXVsdERpYWxvZ0NvbmZpZyxcclxuICAgICAgICAgICAgbWluV2lkdGg6ICcyNXJlbScsXHJcbiAgICAgICAgICAgIHJlc2l6YWJsZTogZmFsc2UsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIHNlYXJjaE1vLFxyXG4gICAgICAgICAgICAgICAgZmllbGRzU2V0dGluZyxcclxuICAgICAgICAgICAgICAgIHJlcG9ydElkOiB0aGlzLl91bHZNYWluU2VydmljZS5yZXBvcnRJZFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oUmVwb3J0U2VhcmNoUGFuZWxTYXZlQ29tcG9uZW50LCBjb25maWcpO1xyXG4gICAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzZWFyY2hQYW5lbFNldHRpbmc6IFNlYXJjaFBhbmVsU2V0dGluZ3MpID0+IHtcclxuICAgICAgICAgICAgaWYgKHNlYXJjaFBhbmVsU2V0dGluZykge1xyXG4gICAgICAgICAgICAgICAgc2VhcmNoUGFuZWxTZXR0aW5nLkhpZGVTZWFyY2hQYW5lbCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmhpZGVTZWFyY2hwYW5lbDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmFkZFNlYXJjaFBhbmVsU2V0dGluZ3Moc2VhcmNoUGFuZWxTZXR0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfc2F2ZUZpbHRlcigpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MgPSB0aGlzLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncztcclxuICAgICAgICBpZiAoc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzKSB7XHJcbiAgICAgICAgICAgIHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncy5IaWRlU2VhcmNoUGFuZWwgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWw7XHJcbiAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNhdmVTZWFyY2hQYW5lbFNldHRpbmcoc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9vcGVuU2VhcmNoRmlsdGVyc01hbmFnZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBhbGxTZWFyY2hQYW5lbFNldHRpbmdzID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuYWxsU2VhcmNoUGFuZWxTZXR0aW5ncztcclxuICAgICAgICBjb25zdCByZXBvcnRJZCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlcG9ydElkO1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHtcclxuICAgICAgICAgICAgLi4udGhpcy5kZWZhdWx0RGlhbG9nQ29uZmlnLFxyXG4gICAgICAgICAgICByZXNwb25zaXZlUGFkZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsUGFkZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIGFsbFNlYXJjaFBhbmVsU2V0dGluZ3M6IGFsbFNlYXJjaFBhbmVsU2V0dGluZ3MubWFwKChjKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgIFRpdGxlOiBjLlRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIElzRGVmYXVsdDogYy5Jc0RlZmF1bHQsXHJcbiAgICAgICAgICAgICAgICAgICAgSXNQdWJsaWM6IGMuSXNQdWJsaWMsXHJcbiAgICAgICAgICAgICAgICAgICAgSXNQcmltYXJ5OiAhIWMuSXNQcmltYXJ5LFxyXG4gICAgICAgICAgICAgICAgICAgIEFwcGx5QXV0b21hdGljYWxseTogYy5BcHBseUF1dG9tYXRpY2FsbHksXHJcbiAgICAgICAgICAgICAgICAgICAgUmVwb3J0SWQ6IHJlcG9ydElkLFxyXG4gICAgICAgICAgICAgICAgICAgIElkOiBjLklkXHJcbiAgICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCwgY29uZmlnKTtcclxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoc2V0dGluZzogU2VhcmNoUGFuZWxTZXR0aW5nc1tdKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzZXR0aW5nKSB7XHJcbiAgICAgICAgICAgICAgICBzZXR0aW5nXHJcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoYykgPT4gIWMuSXNQcmltYXJ5KVxyXG4gICAgICAgICAgICAgICAgICAgIC5mb3JFYWNoKChuZXdTZXR0aW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwcyA9IGFsbFNlYXJjaFBhbmVsU2V0dGluZ3MuZmluZCgoYykgPT4gYy5JZCA9PT0gbmV3U2V0dGluZy5JZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5NZXJnZXIuTWVyZ2Uoc3BzLCBuZXdTZXR0aW5nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UudXBkYXRlU2VhcmNoUGFuZWxTZXR0aW5ncyhhbGxTZWFyY2hQYW5lbFNldHRpbmdzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxic3UtYmFyc2EtdWx2LW1haW5cclxuICAgIFtzdHlsZS5tYXJnaW5dPVwiaXNSZXBvcnRQYWdlIHx8IGluRGlhbG9nID8gbnVsbCA6ICd2YXIoLS1mZElucHV0X0ZpZWxkX01hcmdpbiwgLjI1cmVtIDApJ1wiXHJcbiAgICBbc3R5bGUuc3R5bGUud2lkdGhdPVwiIWlzTW9iaWxlID8gbnVsbCA6ICcxMDAlJ1wiXHJcbiAgICBbbGF5b3V0SW5mb109XCJsYXlvdXRJbmZvXCJcclxuICAgIFthdHRyLmlzUmVwb3J0UGFnZV09XCJpc1JlcG9ydFBhZ2VcIlxyXG4gICAgW3NpbXBsZVNlYXJjaFBhbmVsXT1cInNpbXBsZVNlYXJjaFBhbmVsXCJcclxuICAgIFt2aWV3ZXJDb250cm9sXT1cInZpZXdlciQgfCBhc3luY1wiXHJcbiAgICBbbG9hZGluZ109XCIobWFzayQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW3ZpZXdlckxvYWRpbmddPVwiKHZpd2VyTWFzayQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW3N0YW5kYWxvbmVdPVwiKHN0YW5kYWxvbmUkIHwgYXN5bmMpID09PSB0cnVlXCJcclxuICAgIFtsYW5kc2NhcGVdPVwiKGxhbmRzY2FwZSQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW2hpZGVVbHZQYWdlVGl0bGVdPVwiKGhpZGVVbHZQYWdlVGl0bGUkIHwgYXN5bmMpID09PSB0cnVlXCJcclxuICAgIFtpc1JlcG9ydFBhZ2VdPVwiaXNSZXBvcnRQYWdlXCJcclxuICAgIFtkZXZpY2VTaXplXT1cIihkZXZpY2VTaXplJCB8IGFzeW5jKSEhXCJcclxuICAgIFt0aXRsZV09XCJ0aXRsZVwiXHJcbiAgICBbc2VhcmNoUGFuZWxVaV09XCIoc2VhcmNoUGFuZWxVaSQgfCBhc3luYykhIVwiXHJcbiAgICBbYnJlYWRDcnVtYnNdPVwiKGJyZWFkQ3J1bWJzJCB8IGFzeW5jKSEhXCJcclxuICAgIFthbGxTZWFyY2hQYW5lbFNldHRpbmdzXT1cIihhbGxTZWFyY2hQYW5lbFNldHRpbmdzJCB8IGFzeW5jKSEhXCJcclxuICAgIFtpc0Fub255bW91c109XCIoaXNBbm9ueW1vdXMkIHwgYXN5bmMpISFcIlxyXG4gICAgW2NhblNhdmVHcmlkU2V0dGluZ109XCIoY2FuU2F2ZUdyaWRTZXR0aW5nJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXHJcbiAgICBbcnRsXT1cIihydGwkIHwgYXN5bmMpISFcIlxyXG4gICAgW3NlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc109XCIoc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzJCB8IGFzeW5jKSEhXCJcclxuICAgIFtzZWFyY2hQYW5lbE1vQ2hhbmdlZF09XCIoc2VhcmNoUGFuZWxNb0NoYW5nZWQkIHwgYXN5bmMpISFcIlxyXG4gICAgW3NlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkXT1cIihzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCQgfCBhc3luYykhIVwiXHJcbiAgICBbaGlkZVNlYXJjaFBhbmVsXT1cIihoaWRlU2VhcmNoUGFuZWwkIHwgYXN5bmMpISFcIlxyXG4gICAgW3BhZ2luZ1NldHRpbmddPVwiKHBhZ2luZ1NldHRpbmckIHwgYXN5bmMpISFcIlxyXG4gICAgW2NvbnRleHRdPVwiY29udGV4dFwiXHJcbiAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHkkIHwgYXN5bmNcIlxyXG4gICAgKGNsb3NlRXZlbnQpPVwib25DbG9zZSgpXCJcclxuICAgIChzZWFyY2hQYW5lbE1vQ2hhbmdlKT1cIm9uU2VhcmNoUGFuZWxNb0NoYW5nZWQoKVwiXHJcbiAgICAob3Blbk1hbmFnZUZpbHRlcnMpPVwib25PcGVuTWFuYWdlRmlsdGVycygpXCJcclxuICAgIChjb2xsYXBzZWRDaGFuZ2UpPVwib25Db2xsYXBzZWRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAoaGlkZVNlYXJjaFBhbmVsQ2xpY2spPVwib25IaWRlU2VhcmNoUGFuZWxDbGljaygpXCJcclxuICAgIChmaWx0ZXJTYXZlKT1cIm9uRmlsdGVyU2F2ZSgpXCJcclxuICAgIChmaWx0ZXJTYXZlQXMpPVwib25GaWx0ZXJTYXZlQXMoKVwiXHJcbiAgICAoc2hvd0ZpbHRlckZpZWxkc1NldHRpbmcpPVwib25TaG93RmlsdGVyRmllbGRzU2V0dGluZygpXCJcclxuICAgIChtYW5hZ2VGaWx0ZXJzKT1cIm9uTWFuYWdlRmlsdGVycygpXCJcclxuICAgIChjbGVhclNlYXJjaCk9XCJvbkNsZWFyU2VhcmNoKClcIlxyXG4gICAgKHNlYXJjaCk9XCJvblNlYXJjaCgpXCJcclxuICAgIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIChzZWxlY3RTZWFyY2hQYW5lbFNldHRpbmdzKT1cIm9uU2VsZWN0U2VhcmNoUGFuZWxTZXR0aW5ncygkZXZlbnQpXCJcclxuPlxyXG48L2JzdS1iYXJzYS11bHYtbWFpbj5cclxuIl19
|
|
311
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdWx2LW1haW4tdWkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFFTCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpFLE9BQU8sRUFDSCxRQUFRLEVBQ1IsYUFBYSxFQUNiLGNBQWMsRUFRZCxpQkFBaUIsRUFFcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUNuSixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUN6SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7Ozs7QUFVbkYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUFVbkQsSUFDSSxvQkFBb0IsQ0FBQyxHQUFHO1FBQ3hCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FB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Q0FBQztvQkFDdkUsSUFBSSxHQUFHLEVBQUUsQ0FBQzt3QkFDTixRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUNsRCxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUNQLElBQUksQ0FBQyxlQUFlLENBQUMseUJBQXlCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUMzRSxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXBVUSxvQkFBb0I7bUdBQXBCLG9CQUFvQiwwV0FKbEIsQ0FBQyxjQUFjLENBQUMsOEVBVWhCLHFCQUFxQix1RkFJckIsb0JBQW9CLHVFQ3hEbkMsZ29FQTJDQTs7NEZER2Esb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNJLG9CQUFvQixhQUduQixDQUFDLGNBQWMsQ0FBQyxtQkFDVix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7MFRBR1IsT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQzRCLGtCQUFrQjtzQkFBbkQsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBQ08sUUFBUTtzQkFBOUMsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBQ0UsT0FBTztzQkFBN0MsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBQ0osU0FBUztzQkFBekMsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBRTNCLG9CQUFvQjtzQkFEdkIsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBT2xCLFVBQVU7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIElucHV0LFxyXG4gICAgT25Jbml0LFxyXG4gICAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSwgQ29udGVudERlbnNpdHlTZXJ2aWNlLCBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBCYXJzYUFwaSxcclxuICAgIEJhc2VDb21wb25lbnQsXHJcbiAgICBVbHZNYWluU2VydmljZSxcclxuICAgIFBhZ2luZ1NldHRpbmcsXHJcbiAgICBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgU2VhcmNoUGFuZWxTZXR0aW5ncyxcclxuICAgIEJyZWFkQ3J1bWJJbmZvLFxyXG4gICAgQnJlYWRjcnVtYlNlcnZpY2UsXHJcbiAgICBDb2x1bW5JbmZvVHlwZSxcclxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcclxuICAgIGdldERldmljZUlzTW9iaWxlLFxyXG4gICAgTGF5b3V0U2V0dGluZ1xyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbmltcG9ydCB7IE1hbmFnZUZpbHRlcnNSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuLi9tYW5hZ2UtZmlsdGVycy1yZXBvcnQvbWFuYWdlLWZpbHRlcnMtcmVwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoLXBhbmVsL3NlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy9yZXBvcnQtc2VhcmNoLWZpZWxkcy1oaWRkZW4tc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVwb3J0U2VhcmNoUGFuZWxTYXZlQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVwb3J0LXNlYXJjaC1wYW5lbC1zYXZlL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hGaWVsZHNNYW5hZ2VDb21wb25lbnQgfSBmcm9tICcuLi9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UvcmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVWx2TWFpbkNvbXBvbmVudCB9IGZyb20gJy4uL2JhcnNhLXVsdi1tYWluL2JhcnNhLXVsdi1tYWluLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXVpLXVsdi1tYWluLXVpJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS11bHYtbWFpbi11aS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS11bHYtbWFpbi11aS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbVWx2TWFpblNlcnZpY2VdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlVbHZNYWluVWlDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIGNvbnRleHQ6IGFueTtcclxuICAgIEBJbnB1dCgpIGlzUmVwb3J0UGFnZTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGluRGlhbG9nOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGxheW91dEluZm86IExheW91dFNldHRpbmc7XHJcbiAgICBAVmlld0NoaWxkKEJhcnNhVWx2TWFpbkNvbXBvbmVudCkgX2JhcnNhVWx2Q29tcG9uZW50OiBCYXJzYVVsdk1haW5Db21wb25lbnQ7XHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbnRyb2wtcmVhZG9ubHknKSByZWFkb25seTtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29udHJvbC1kaXNhYmxlZCcpIGRpc2FibGU7XHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hcmdpbi11bHYnKSBtYXJnaW5VbHY7XHJcbiAgICBAVmlld0NoaWxkKFNlYXJjaFBhbmVsQ29tcG9uZW50KVxyXG4gICAgc2V0IHNlYXJjaFBhbmVsQ29tcG9uZW50KHZhbCkge1xyXG4gICAgICAgIGlmICh2YWwpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hQYW5lbExvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBASW5wdXQoKSBzZXQgZnVsbHNjcmVlbih2YWw6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZXRGdWxsc2NyZWVuKHZhbCk7XHJcbiAgICB9XHJcbiAgICBzaW1wbGVTZWFyY2hQYW5lbDogYm9vbGVhbjtcclxuICAgIHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nczogU2VhcmNoUGFuZWxTZXR0aW5ncyB8IHVuZGVmaW5lZDtcclxuICAgIGZpcnN0QXBwbHlBdXRvbWF0aWNhbGx5ID0gdHJ1ZTtcclxuICAgIG1hc2skOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgdml3ZXJNYXNrJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHZpZXdlciQ6IE9ic2VydmFibGU8YW55PjtcclxuICAgIHBhZ2luZ1NldHRpbmckOiBPYnNlcnZhYmxlPFBhZ2luZ1NldHRpbmcgfCBudWxsPjtcclxuICAgIGNvbnRlbnREZW5zaXR5JDogT2JzZXJ2YWJsZTxDb250ZW50RGVuc2l0eT47XHJcbiAgICBzZWFyY2hQYW5lbFVpJDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgaGlkZVNlYXJjaFBhbmVsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHJ0bCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICByZXBvcnRJZCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIHNlYXJjaFBhbmVsTW9DaGFuZ2VkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIGFsbFNlYXJjaFBhbmVsU2V0dGluZ3MkOiBPYnNlcnZhYmxlPFNlYXJjaFBhbmVsU2V0dGluZ3NbXT47XHJcbiAgICBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyQ6IE9ic2VydmFibGU8U2VhcmNoUGFuZWxTZXR0aW5ncyB8IHVuZGVmaW5lZD47XHJcbiAgICBkZXZpY2VTaXplJDogT2JzZXJ2YWJsZTxBYmJyZXZhdGlvbkRldmljZVNpemU+O1xyXG4gICAgYnJlYWRDcnVtYnMkOiBPYnNlcnZhYmxlPEJyZWFkQ3J1bWJJbmZvW10+O1xyXG4gICAgY2FuU2F2ZUdyaWRTZXR0aW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHNlYXJjaFBhbmVsTG9hZGVkOiBib29sZWFuO1xyXG4gICAgaXNBbm9ueW1vdXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGhhc1NlYXJjaFBhbmVsOiBib29sZWFuO1xyXG4gICAgaXNNb2JpbGU6IGJvb2xlYW47XHJcbiAgICBsYW5kc2NhcGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgc3RhbmRhbG9uZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBoaWRlVWx2UGFnZVRpdGxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHVpVmlld2VyU2VsZWN0b3IkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcblxyXG4gICAgcHJpdmF0ZSBkZWZhdWx0RGlhbG9nQ29uZmlnID0ge1xyXG4gICAgICAgIHZlcnRpY2FsUGFkZGluZzogdHJ1ZSxcclxuICAgICAgICByZXNwb25zaXZlUGFkZGluZzogdHJ1ZSxcclxuICAgICAgICByZXNpemFibGU6IHRydWUsXHJcbiAgICAgICAgbWluV2lkdGg6IGdldERldmljZUlzTW9iaWxlKCkgPyAnJyA6ICc1MHJlbScsXHJcbiAgICAgICAgYm9keU1pbkhlaWdodDogZ2V0RGV2aWNlSXNNb2JpbGUoKSA/ICcnIDogJ2NhbGMoNTB2aCAtIDg4cHgpJyxcclxuICAgICAgICBtb2JpbGU6IGdldERldmljZUlzTW9iaWxlKClcclxuICAgIH07XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3Vsdk1haW5TZXJ2aWNlOiBVbHZNYWluU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBjb250ZW50RGVuc2l0eVNlcnZpY2U6IENvbnRlbnREZW5zaXR5U2VydmljZSxcclxuICAgICAgICBfYnJhZGNydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5jb250ZW50RGVuc2l0eSQgPSBjb250ZW50RGVuc2l0eVNlcnZpY2UuY29udGVudERlbnNpdHk7XHJcbiAgICAgICAgdGhpcy5ydGwkID0gX3BvcnRhbFNlcnZpY2UucnRsJDtcclxuICAgICAgICB0aGlzLmJyZWFkQ3J1bWJzJCA9IF9icmFkY3J1bWJTZXJ2aWNlLmJyZWFkY3J1bWJzJDtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldEluRGlhbG9nKHRoaXMuaW5EaWFsb2cpO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldElzTXVsdGlTZWxlY3QodGhpcy5pc011bHRpU2VsZWN0KTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS51aVZpZXdlclNlbGVjdG9yJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChjKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2JhcnNhVWx2Q29tcG9uZW50LlNldFVpVmlld2VyU2VsZWN0b3IoYyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy8gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxyXG4gICAgICAgIC8vICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXHJcbiAgICAgICAgLy8gICAgIC5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgICAvLyAgICAgICAgIGlmIChcclxuICAgICAgICAvLyAgICAgICAgICAgICBlLnRhcmdldCAmJlxyXG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudCAhPT0gZS50YXJnZXQgJiZcclxuICAgICAgICAvLyAgICAgICAgICAgICAhdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGUudGFyZ2V0KSAmJlxyXG4gICAgICAgIC8vICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY29udGFpbnMoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpXHJcbiAgICAgICAgLy8gICAgICAgICApIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZXRJbmxpbmVFZGl0KGZhbHNlKTtcclxuICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAvLyAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fcmVtb3ZlQnVnSW5DaHJvbWVDc3NBY3RpdmUoKTtcclxuICAgICAgICB0aGlzLm1hcmdpblVsdiA9ICF0aGlzLmlzUmVwb3J0UGFnZTtcclxuICAgICAgICBpZiAoIXRoaXMuY29udGV4dC5TZXR0aW5nLlNlYXJjaFBhbmVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoUGFuZWxMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9vYnNlcnZlT24oKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KCdyZW5kZXInLCB0aGlzKTtcclxuICAgIH1cclxuICAgIF9vYnNlcnZlT24oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc0Fub255bW91cyQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmlzQW5vbnltb3VzJDtcclxuICAgICAgICB0aGlzLmhpZGVTZWFyY2hQYW5lbCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWwkO1xyXG5cclxuICAgICAgICB0aGlzLnRpdGxlID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5DbGFzc05hbWVzLkN1c3RvbVVpLlBhcmFtZXRlcnMuVGl0bGUnLCAnJyk7XHJcbiAgICAgICAgdGhpcy5zaW1wbGVTZWFyY2hQYW5lbCA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQsXHJcbiAgICAgICAgICAgICdTZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycy5TaW1wbGVTZWFyY2hQYW5lbCcsXHJcbiAgICAgICAgICAgIGZhbHNlXHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb25zdCBoaWRlVGl0bGVNb2RlID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dCxcclxuICAgICAgICAgICAgJ1NldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaS5QYXJhbWV0ZXJzLkhpZGVUaXRsZU1vZGUnLFxyXG4gICAgICAgICAgICAnJ1xyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmIChoaWRlVGl0bGVNb2RlID09PSAnMicgfHwgaGlkZVRpdGxlTW9kZSA9PT0gJzMnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmhpZGVVbHZUaXRsZVBhZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0Q29udGV4dCh0aGlzLmNvbnRleHQpO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldExheW91dEluZm8odGhpcy5sYXlvdXRJbmZvKTtcclxuXHJcbiAgICAgICAgdGhpcy5tYXNrJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLm1hc2skO1xyXG4gICAgICAgIHRoaXMudml3ZXJNYXNrJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnZpd2VyTWFzayQ7XHJcbiAgICAgICAgdGhpcy5oaWRlVWx2UGFnZVRpdGxlJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmhpZGVVbHZQYWdlVGl0bGUkO1xyXG4gICAgICAgIHRoaXMuY2FuU2F2ZUdyaWRTZXR0aW5nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmNhblNhdmVHcmlkU2V0dGluZyQ7XHJcbiAgICAgICAgdGhpcy5wYWdpbmdTZXR0aW5nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnBhZ2luZ1NldHRpbmckO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoUGFuZWxNb0NoYW5nZWQkID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoUGFuZWxNb0NoYW5nZWQkO1xyXG4gICAgICAgIHRoaXMuaGFzU2VhcmNoUGFuZWwgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbFVpICE9PSBudWxsO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoUGFuZWxVaSQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbFVpJDtcclxuICAgICAgICB0aGlzLnN0YW5kYWxvbmUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5zdGFuZGFsb25lJDtcclxuICAgICAgICB0aGlzLmxhbmRzY2FwZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmxhbmRzY2FwZSQ7XHJcbiAgICAgICAgdGhpcy5yZXBvcnRJZCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5yZXBvcnRJZCQ7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuY2FuU2F2ZUdyaWRTZXR0aW5nJC5zdWJzY3JpYmUoKGNhblNhdmUpID0+IHtcclxuICAgICAgICAgICAgaWYgKGNhblNhdmUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmxvYWRTZWFyY2hQYW5lbFNldHRpbmdzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZWFkb25seSQuc3Vic2NyaWJlKChyZWFkb25seSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlYWRvbmx5ID0gcmVhZG9ubHk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuZW5hYmxlJC5zdWJzY3JpYmUoKGVuYWJsZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGUgPSAhZW5hYmxlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyRcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYT8uVGl0bGUgPT09IGI/LlRpdGxlKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MgPSBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5hcHBseVNlYXJjaFBhbmVsU2V0dGluZ3Moc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnRvZ2dsZUhpZGVTZWFyY2hwYW5lbChzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M/LkhpZGVTZWFyY2hQYW5lbCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudmlld2VyJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnZpZXdlciQ7XHJcbiAgICAgICAgdGhpcy5hbGxTZWFyY2hQYW5lbFNldHRpbmdzJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmFsbFNlYXJjaFBhbmVsU2V0dGluZ3MkO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCQ7XHJcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xyXG4gICAgfVxyXG4gICAgb25DbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWycuLi8uLiddLCB7IHJlbGF0aXZlVG86IHRoaXMuX2FjdGl2YXRlZFJvdXRlIH0pO1xyXG4gICAgfVxyXG4gICAgb25TZWFyY2hQYW5lbE1vQ2hhbmdlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zZXRTZWFyY2hQYW5lbE1vQ2hhbmdlZCh0cnVlKTtcclxuICAgIH1cclxuICAgIG9uUGFnZUNoYW5nZShlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5wYWdlQ2hhbmdlZChlKTtcclxuICAgIH1cclxuICAgIG9uT3Blbk1hbmFnZUZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKE1hbmFnZUZpbHRlcnNSZXBvcnRDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgYmFja2Ryb3BDbGlja0Nsb3NlYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgZHJhZ2dhYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgZXNjS2V5Q2xvc2VhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXHJcbiAgICAgICAgICAgIGZvY3VzVHJhcHBlZDogdHJ1ZSxcclxuICAgICAgICAgICAgbW9iaWxlOiB0aGlzLmlzTW9iaWxlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Db2xsYXBzZWRDaGFuZ2UoY29sbGFwc2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UudG9nZ2xlSGlkZVNlYXJjaHBhbmVsKGNvbGxhcHNlZCk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoUGFuZWxNb0NoYW5nZWQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBvbkhpZGVTZWFyY2hQYW5lbENsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnRvZ2dsZUhpZGVTZWFyY2hwYW5lbCgpO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRmlsdGVyU2F2ZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zYXZlRmlsdGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25GaWx0ZXJTYXZlQXMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb3BlblNhdmVBc0ZpbHRlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2hvd0ZpbHRlckZpZWxkc1NldHRpbmcoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb3BlblNlYXJjaEZpZWxkc0hpZGRlblNldHRpbmdzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25NYW5hZ2VGaWx0ZXJzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX29wZW5TZWFyY2hGaWx0ZXJzTWFuYWdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbGVhclNlYXJjaCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5jbGVhclNlYXJjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VhcmNoKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0U2VhcmNoUGFuZWxTZXR0aW5ncyhzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuY2hhbmdlU2VsZWN0ZWRTZWFyY2hQYW5lbChzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9yZW1vdmVCdWdJbkNocm9tZUNzc0FjdGl2ZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoQmFyc2FBcGkuQ29tbW9uLlV0aWwuUmVtb3ZlQnVnSW5DaHJvbWVDc3NBY3RpdmUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbGlzdDogeyBpOiBhbnk7IG46IGFueTsgYTogYW55IH1bXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IGggPSBkb2N1bWVudC5oZWFkLmNoaWxkcmVuO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsaXN0W2ldID0ge1xyXG4gICAgICAgICAgICAgICAgaSxcclxuICAgICAgICAgICAgICAgIG46IGhbaV0sXHJcbiAgICAgICAgICAgICAgICBhOiBoW2ldLmlubmVySFRNTFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaXN0ID0gbGlzdC5yZXZlcnNlKCk7XHJcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUgKi9cclxuICAgICAgICBjb25zdCB0ID0gYC5mZC10YWJsZV9fY2VsbC0tYWN0aXZhYmxlOmFjdGl2ZSAqLC5mZC10YWJsZV9fcm93LS1hY3RpdmFibGUuaXMtYWN0aXZlICosLmZkLXRhYmxlX19yb3ctLWFjdGl2YWJsZTphY3RpdmUgKntjb2xvcjp2YXIoLS1zYXBMaXN0X0FjdGl2ZV9UZXh0Q29sb3IpIWltcG9ydGFudH1gO1xyXG4gICAgICAgIC8qIGVzbGludC1lbmFibGUgKi9cclxuICAgICAgICBjb25zdCBmID0gbGlzdC5maWx0ZXIoKGMpID0+IGMuYS5pbmRleE9mKHQpID49IDApO1xyXG4gICAgICAgIGlmIChmLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLlV0aWwuUmVtb3ZlQnVnSW5DaHJvbWVDc3NBY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICBmWzBdLm4uaW5uZXJIVE1MID0gZlswXS5hLnNsaWNlKDAsIDEwMDU4KSArIGZbMF0uYS5zbGljZSgxMDA1OCArIHQubGVuZ3RoLCBmWzBdLmEubGVuZ3RoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9zZXRTZWFyY2hQYW5lbE1vQ2hhbmdlZChjaGFuZ2U6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbE1vQ2hhbmdlZChjaGFuZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX29wZW5TZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5ncygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBmaWVsZHNTZXR0aW5nID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuZ2V0U2VhcmNoUGFuZWxGaWVsZHNTZXR0aW5nKCk7XHJcbiAgICAgICAgY29uc3QgY29uZmlnID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHREaWFsb2dDb25maWcsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMjVyZW0nLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFsuLi5maWVsZHNTZXR0aW5nXVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oUmVwb3J0U2VhcmNoRmllbGRzSGlkZGVuU2V0dGluZ3NDb21wb25lbnQsIGNvbmZpZyk7XHJcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHNldHRpbmc6IENvbHVtbkluZm9UeXBlW10pID0+IHtcclxuICAgICAgICAgICAgaWYgKHNldHRpbmcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldEFuZEFwcGx5U2VhcmNoUGFuZWxTZXR0aW5nRmllbGRzU2V0dGluZyhzZXR0aW5nKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9vcGVuU2F2ZUFzRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHNlYXJjaE1vID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuZ2V0U2VhcmNoUGFuZWxNbygpO1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyA9IHRoaXMuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzO1xyXG4gICAgICAgIGNvbnN0IGZpZWxkc1NldHRpbmcgPSBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M/LkZpZWxkc1NldHRpbmc7XHJcbiAgICAgICAgY29uc3QgY29uZmlnID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHREaWFsb2dDb25maWcsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMjVyZW0nLFxyXG4gICAgICAgICAgICByZXNpemFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBzZWFyY2hNbyxcclxuICAgICAgICAgICAgICAgIGZpZWxkc1NldHRpbmcsXHJcbiAgICAgICAgICAgICAgICByZXBvcnRJZDogdGhpcy5fdWx2TWFpblNlcnZpY2UucmVwb3J0SWRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKFJlcG9ydFNlYXJjaFBhbmVsU2F2ZUNvbXBvbmVudCwgY29uZmlnKTtcclxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoc2VhcmNoUGFuZWxTZXR0aW5nOiBTZWFyY2hQYW5lbFNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzZWFyY2hQYW5lbFNldHRpbmcpIHtcclxuICAgICAgICAgICAgICAgIHNlYXJjaFBhbmVsU2V0dGluZy5IaWRlU2VhcmNoUGFuZWwgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5hZGRTZWFyY2hQYW5lbFNldHRpbmdzKHNlYXJjaFBhbmVsU2V0dGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3NhdmVGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzID0gdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M7XHJcbiAgICAgICAgaWYgKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncykge1xyXG4gICAgICAgICAgICBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MuSGlkZVNlYXJjaFBhbmVsID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVNlYXJjaHBhbmVsO1xyXG4gICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zYXZlU2VhcmNoUGFuZWxTZXR0aW5nKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfb3BlblNlYXJjaEZpbHRlcnNNYW5hZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmFsbFNlYXJjaFBhbmVsU2V0dGluZ3M7XHJcbiAgICAgICAgY29uc3QgcmVwb3J0SWQgPSB0aGlzLl91bHZNYWluU2VydmljZS5yZXBvcnRJZDtcclxuICAgICAgICBjb25zdCBjb25maWcgPSB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuZGVmYXVsdERpYWxvZ0NvbmZpZyxcclxuICAgICAgICAgICAgcmVzcG9uc2l2ZVBhZGRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBhbGxTZWFyY2hQYW5lbFNldHRpbmdzOiBhbGxTZWFyY2hQYW5lbFNldHRpbmdzLm1hcCgoYykgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICBUaXRsZTogYy5UaXRsZSxcclxuICAgICAgICAgICAgICAgICAgICBJc0RlZmF1bHQ6IGMuSXNEZWZhdWx0LFxyXG4gICAgICAgICAgICAgICAgICAgIElzUHVibGljOiBjLklzUHVibGljLFxyXG4gICAgICAgICAgICAgICAgICAgIElzUHJpbWFyeTogISFjLklzUHJpbWFyeSxcclxuICAgICAgICAgICAgICAgICAgICBBcHBseUF1dG9tYXRpY2FsbHk6IGMuQXBwbHlBdXRvbWF0aWNhbGx5LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlcG9ydElkOiByZXBvcnRJZCxcclxuICAgICAgICAgICAgICAgICAgICBJZDogYy5JZFxyXG4gICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihSZXBvcnRTZWFyY2hGaWVsZHNNYW5hZ2VDb21wb25lbnQsIGNvbmZpZyk7XHJcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHNldHRpbmc6IFNlYXJjaFBhbmVsU2V0dGluZ3NbXSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoc2V0dGluZykge1xyXG4gICAgICAgICAgICAgICAgc2V0dGluZ1xyXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+ICFjLklzUHJpbWFyeSlcclxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgobmV3U2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzcHMgPSBhbGxTZWFyY2hQYW5lbFNldHRpbmdzLmZpbmQoKGMpID0+IGMuSWQgPT09IG5ld1NldHRpbmcuSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3BzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLk1lcmdlKHNwcywgbmV3U2V0dGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnVwZGF0ZVNlYXJjaFBhbmVsU2V0dGluZ3MoYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iLCI8YnN1LWJhcnNhLXVsdi1tYWluXHJcbiAgICBbc3R5bGUubWFyZ2luXT1cImlzUmVwb3J0UGFnZSB8fCBpbkRpYWxvZyA/IG51bGwgOiAndmFyKC0tZmRJbnB1dF9GaWVsZF9NYXJnaW4sIC4yNXJlbSAwKSdcIlxyXG4gICAgW3N0eWxlLnN0eWxlLndpZHRoXT1cIiFpc01vYmlsZSA/IG51bGwgOiAnMTAwJSdcIlxyXG4gICAgW2xheW91dEluZm9dPVwibGF5b3V0SW5mb1wiXHJcbiAgICBbYXR0ci5pc1JlcG9ydFBhZ2VdPVwiaXNSZXBvcnRQYWdlXCJcclxuICAgIFtzaW1wbGVTZWFyY2hQYW5lbF09XCJzaW1wbGVTZWFyY2hQYW5lbFwiXHJcbiAgICBbdmlld2VyQ29udHJvbF09XCJ2aWV3ZXIkIHwgYXN5bmNcIlxyXG4gICAgW2xvYWRpbmddPVwiKG1hc2skIHwgYXN5bmMpID09PSB0cnVlXCJcclxuICAgIFt2aWV3ZXJMb2FkaW5nXT1cIih2aXdlck1hc2skIHwgYXN5bmMpID09PSB0cnVlXCJcclxuICAgIFtzdGFuZGFsb25lXT1cIihzdGFuZGFsb25lJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXHJcbiAgICBbbGFuZHNjYXBlXT1cIihsYW5kc2NhcGUkIHwgYXN5bmMpID09PSB0cnVlXCJcclxuICAgIFtoaWRlVWx2UGFnZVRpdGxlXT1cIihoaWRlVWx2UGFnZVRpdGxlJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXHJcbiAgICBbaXNSZXBvcnRQYWdlXT1cImlzUmVwb3J0UGFnZVwiXHJcbiAgICBbZGV2aWNlU2l6ZV09XCIoZGV2aWNlU2l6ZSQgfCBhc3luYykhIVwiXHJcbiAgICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gICAgW3NlYXJjaFBhbmVsVWldPVwiKHNlYXJjaFBhbmVsVWkkIHwgYXN5bmMpISFcIlxyXG4gICAgW2JyZWFkQ3J1bWJzXT1cIihicmVhZENydW1icyQgfCBhc3luYykhIVwiXHJcbiAgICBbYWxsU2VhcmNoUGFuZWxTZXR0aW5nc109XCIoYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyQgfCBhc3luYykhIVwiXHJcbiAgICBbaXNBbm9ueW1vdXNdPVwiKGlzQW5vbnltb3VzJCB8IGFzeW5jKSEhXCJcclxuICAgIFtjYW5TYXZlR3JpZFNldHRpbmddPVwiKGNhblNhdmVHcmlkU2V0dGluZyQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW3J0bF09XCIocnRsJCB8IGFzeW5jKSEhXCJcclxuICAgIFtzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NdPVwiKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyQgfCBhc3luYykhIVwiXHJcbiAgICBbc2VhcmNoUGFuZWxNb0NoYW5nZWRdPVwiKHNlYXJjaFBhbmVsTW9DaGFuZ2VkJCB8IGFzeW5jKSEhXCJcclxuICAgIFtzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZF09XCIoc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzSWQkIHwgYXN5bmMpISFcIlxyXG4gICAgW2hpZGVTZWFyY2hQYW5lbF09XCIoaGlkZVNlYXJjaFBhbmVsJCB8IGFzeW5jKSEhXCJcclxuICAgIFtwYWdpbmdTZXR0aW5nXT1cIihwYWdpbmdTZXR0aW5nJCB8IGFzeW5jKSEhXCJcclxuICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxyXG4gICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5JCB8IGFzeW5jXCJcclxuICAgIChjbG9zZUV2ZW50KT1cIm9uQ2xvc2UoKVwiXHJcbiAgICAoc2VhcmNoUGFuZWxNb0NoYW5nZSk9XCJvblNlYXJjaFBhbmVsTW9DaGFuZ2VkKClcIlxyXG4gICAgKG9wZW5NYW5hZ2VGaWx0ZXJzKT1cIm9uT3Blbk1hbmFnZUZpbHRlcnMoKVwiXHJcbiAgICAoY29sbGFwc2VkQ2hhbmdlKT1cIm9uQ29sbGFwc2VkQ2hhbmdlKCRldmVudClcIlxyXG4gICAgKGhpZGVTZWFyY2hQYW5lbENsaWNrKT1cIm9uSGlkZVNlYXJjaFBhbmVsQ2xpY2soKVwiXHJcbiAgICAoZmlsdGVyU2F2ZSk9XCJvbkZpbHRlclNhdmUoKVwiXHJcbiAgICAoZmlsdGVyU2F2ZUFzKT1cIm9uRmlsdGVyU2F2ZUFzKClcIlxyXG4gICAgKHNob3dGaWx0ZXJGaWVsZHNTZXR0aW5nKT1cIm9uU2hvd0ZpbHRlckZpZWxkc1NldHRpbmcoKVwiXHJcbiAgICAobWFuYWdlRmlsdGVycyk9XCJvbk1hbmFnZUZpbHRlcnMoKVwiXHJcbiAgICAoY2xlYXJTZWFyY2gpPVwib25DbGVhclNlYXJjaCgpXCJcclxuICAgIChzZWFyY2gpPVwib25TZWFyY2goKVwiXHJcbiAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAoc2VsZWN0U2VhcmNoUGFuZWxTZXR0aW5ncyk9XCJvblNlbGVjdFNlYXJjaFBhbmVsU2V0dGluZ3MoJGV2ZW50KVwiXHJcbj5cclxuPC9ic3UtYmFyc2EtdWx2LW1haW4+XHJcbiJdfQ==
|