vcomply-workflow-engine 6.0.8 → 6.0.10
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/pipes/user.pipe.mjs +1 -2
- package/esm2022/lib/report-a-case/components/chip-capsule/chip-capsule.component.mjs +1 -2
- package/esm2022/lib/report-a-case/components/due-date/due-date.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/rc-details/rc-details.component.mjs +3 -2
- package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +73 -48
- package/fesm2022/vcomply-workflow-engine.mjs +45 -22
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/report-a-case/components/due-date/due-date.component.d.ts +3 -2
- package/lib/report-a-case/workflow-case/workflow-case.component.d.ts +6 -2
- package/package.json +1 -1
|
@@ -2,7 +2,6 @@ import { Pipe } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class UserPipe {
|
|
4
4
|
transform(id, list) {
|
|
5
|
-
console.log(id, list, list?.find((user) => user?._id === id), 'names');
|
|
6
5
|
return list?.find((user) => user?._id === id);
|
|
7
6
|
}
|
|
8
7
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
@@ -14,4 +13,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
14
13
|
name: 'userPipe'
|
|
15
14
|
}]
|
|
16
15
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcGlwZXMvdXNlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sUUFBUTtJQUVuQixTQUFTLENBQUMsRUFBTyxFQUFFLElBQVM7UUFDMUIsT0FBTyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7K0dBSlUsUUFBUTs2R0FBUixRQUFROzs0RkFBUixRQUFRO2tCQUhwQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxVQUFVO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3VzZXJQaXBlJ1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybShpZDogYW55LCBsaXN0OiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBsaXN0Py5maW5kKCh1c2VyOiBhbnkpID0+IHVzZXI/Ll9pZCA9PT0gaWQpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -13,7 +13,6 @@ export class ChipCapsuleComponent {
|
|
|
13
13
|
ngOnInit() {
|
|
14
14
|
}
|
|
15
15
|
ngOnChanges(changes) {
|
|
16
|
-
console.log(changes, 'changes chips');
|
|
17
16
|
if (changes['items']) {
|
|
18
17
|
this.items = changes['items'].currentValue;
|
|
19
18
|
}
|
|
@@ -34,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
34
33
|
}], remove: [{
|
|
35
34
|
type: Output
|
|
36
35
|
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1jYXBzdWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3JlcG9ydC1hLWNhc2UvY29tcG9uZW50cy9jaGlwLWNhcHN1bGUvY2hpcC1jYXBzdWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3JlcG9ydC1hLWNhc2UvY29tcG9uZW50cy9jaGlwLWNhcHN1bGUvY2hpcC1jYXBzdWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQTRCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFZakcsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1XLFVBQUssR0FBVSxFQUFFLENBQUM7UUFDbEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNoQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQWU1QztJQVpDLFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQztTQUM1QztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsSUFBUztRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOytHQWpCVSxvQkFBb0I7bUdBQXBCLG9CQUFvQixnS0NaakMsdWpEQXFEQTs7NEZEekNhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7OEJBS25CLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW50ZXJmYWNlIENoaXBJdGVtIHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgbGFiZWw6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNoaXAtY2Fwc3VsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGlwLWNhcHN1bGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGlwLWNhcHN1bGUuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hpcENhcHN1bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBpdGVtczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgcmVtb3ZhYmxlID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2l0ZW1zJ10pIHtcbiAgICAgIHRoaXMuaXRlbXMgPSBjaGFuZ2VzWydpdGVtcyddLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBvblJlbW92ZShpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZS5lbWl0KGl0ZW0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2hpcC1jYXBzdWxlIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcGwtMiB2eC1wci0yXCI+XG4gIDxpXG4gICAgKm5nSWY9XCJyZW1vdmFibGVcIlxuICAgIChjbGljayk9XCJvblJlbW92ZShpdGVtc1swXSlcIlxuICAgIGNsYXNzPVwiaWNvbnMgY3Jvc3MgdngtZnMtMTAgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0xXCJcbiAgICA+JiN4ZTlhZTs8L2lcbiAgPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ2YWx1ZSB2eC1mcy0xMSB2eC1saC00XCJcbiAgICBbYXBwVG9vbHRpcF09XCJpdGVtc1swXT8ubGFiZWwgPz8gJydcIlxuICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICBkZWxheT1cIjBcIlxuICAgIHR5cGU9XCJibGFja1wiXG4gICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICA+XG4gICAge3sgaXRlbXNbMF0/LmxhYmVsIH19XG4gIDwvZGl2PlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJpdGVtcy5sZW5ndGggPiAxXCJcbiAgICBjbGFzcz1cImNoaXAtY291bnQgdngtZnMtOSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LWxoLTMgdngtcC0wIHZ4LXBsLTEgdngtcHItMSB2eC1tLTAgdngtbWwtMiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcbiAgICBhcHBQb3BvdmVyXG4gICAgKGNsaWNrKT1cImNoaXBDb3VudC5wb3BvdmVyKClcIlxuICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgPlxuICAgICt7eyBpdGVtcy5sZW5ndGggLSAxIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG48YXBwLXBvcG92ZXIgI2NoaXBDb3VudCBbZG9udENsb3Nlb25DbGlja109XCJ0cnVlXCI+XG4gIDxkaXYgKm5nSWY9XCJpdGVtcy5sZW5ndGggPiAxXCIgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCBzbGljZSA6IDE7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgICAgICAgW3Z1aVRvb2x0aXBdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAqbmdJZj1cInJlbW92YWJsZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvblJlbW92ZShpdGVtKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnMgY3Jvc3MgdngtZnMtMTAgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0xXCJcbiAgICAgICAgICAgICAgPiYjeGU5YWU7PC9pXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBpdGVtPy5sYWJlbCB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9hcHAtcG9wb3Zlcj5cbiJdfQ==
|
|
@@ -12,7 +12,7 @@ import * as i8 from "../../../sharedComponents/v-loader/loader-inline/loader-inl
|
|
|
12
12
|
import * as i9 from "../assignee/assignee.component";
|
|
13
13
|
export class DueDateComponent {
|
|
14
14
|
set initialSelection(value) {
|
|
15
|
-
this.dueDate = value?.resolution_deadline?.due_date;
|
|
15
|
+
this.dueDate = new Date(value?.resolution_deadline?.due_date);
|
|
16
16
|
if (this.mode === 'EDIT') {
|
|
17
17
|
this.emailReminder = value?.resolution_deadline?.assignee_remind_before;
|
|
18
18
|
this.escalationEmail = value?.resolution_deadline?.owner_remind_before;
|
|
@@ -315,4 +315,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
315
315
|
type: HostListener,
|
|
316
316
|
args: ['document:click', ['$event']]
|
|
317
317
|
}] } });
|
|
318
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVlLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9jb21wb25lbnRzL2R1ZS1kYXRlL2R1ZS1kYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3JlcG9ydC1hLWNhc2UvY29tcG9uZW50cy9kdWUtZGF0ZS9kdWUtZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGVBQWUsR0FFaEIsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFVL0MsTUFBTSxPQUFPLGdCQUFnQjtJQWlDM0IsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixDQUFDO1lBQ3hFLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDO1NBQ3hFO0lBQ0gsQ0FBQztJQUtELFlBQ1UsaUJBQWdDLEVBQ2hDLGdCQUFrQztRQURsQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWU7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTNDNUMsY0FBUyxHQUFHLElBQUksQ0FBQztRQUVqQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsZUFBVSxHQUFzQjtZQUM5QixlQUFlLEVBQUUsSUFBSTtZQUNyQixNQUFNLEVBQUUsWUFBWTtZQUNwQixlQUFlLEVBQUUsSUFBSTtZQUNyQixXQUFXLEVBQUUsS0FBSztZQUNsQixXQUFXLEVBQUUsS0FBSztZQUNsQixHQUFHLEVBQUUsRUFBRTtTQUNSLENBQUM7UUFFRixpQkFBWSxHQUFHLFdBQVcsQ0FBQztRQUMzQixlQUFVLEdBQUcsV0FBVyxDQUFDO1FBQ3pCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQTZCLEVBQUUsQ0FBQztRQUM1QyxzQkFBaUIsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUMvQixtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixrQkFBYSxHQUFXLGVBQWUsQ0FBQyxjQUFjLENBQUM7UUFDdkQsb0JBQWUsR0FBVyxlQUFlLENBQUMseUJBQXlCLENBQUM7UUFDcEUsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFLMUIsYUFBUSxHQUFVLEVBQUUsQ0FBQztRQUNyQixjQUFTLEdBQVUsRUFBRSxDQUFDO1FBQ3RCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFTakIsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBSzlDLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3pELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDUixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsUUFBUTtZQUFFLE9BQU87UUFFekUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUM7UUFDakUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sd0JBQXdCLENBQUMsUUFBYTtRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYTtZQUNoQixRQUFRLENBQUMsc0JBQXNCLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQztRQUNwRSxJQUFJLENBQUMsZUFBZTtZQUNsQixRQUFRLENBQUMsbUJBQW1CLElBQUksZUFBZSxDQUFDLHlCQUF5QixDQUFDO0lBQzlFLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxRQUFhO1FBQzVDLElBQUksQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTTtZQUFFLE9BQU87UUFFaEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQ2xELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDMUIsQ0FBQztRQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxlQUFzQjtRQUNuRCxPQUFPLElBQUksR0FBRyxDQUNaLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FDM0UsQ0FBQztJQUNKLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxnQkFBcUM7UUFDN0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQzdDLENBQUMsYUFBa0IsRUFBRSxLQUFhLEVBQUUsRUFBRTtZQUNwQyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxVQUFVO2dCQUFFLE9BQU87WUFFeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQ3RDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLFVBQVUsQ0FDaEQsQ0FBQztZQUNGLElBQUksUUFBUSxFQUFFO2dCQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN2QztRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxHQUFRO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFL0IsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE9BQU87U0FDUjtRQUNELElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDakIsSUFBSSxVQUFVLEdBQUc7Z0JBQ2YsS0FBSztnQkFDTCxLQUFLO2dCQUNMLEtBQUs7Z0JBQ0wsS0FBSztnQkFDTCxLQUFLO2dCQUNMLEtBQUs7Z0JBQ0wsS0FBSztnQkFDTCxLQUFLO2dCQUNMLEtBQUs7Z0JBQ0wsS0FBSztnQkFDTCxLQUFLO2FBQ04sQ0FBQztZQUNGLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNsRSxNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hELE1BQU0sT0FBTyxHQUFHLEdBQUcsU0FBUyxJQUFJLFVBQVUsSUFBSSxTQUFTLEVBQUUsQ0FBQztTQUMzRDtRQUNELElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQWUsRUFBRSxVQUFtQjtRQUNuRCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQztRQUM5QixJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGNBQWM7Z0JBQ2pCLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLENBQUM7b0JBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztvQkFDM0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNWO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDNUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUVqRSxPQUFPLElBQUksQ0FBQyxRQUFRO1lBQ2xCLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN4RCxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQ2xCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUMsT0FBTztnQkFDTCxHQUFHLElBQUk7Z0JBQ1AsZ0JBQWdCLEVBQUUsVUFBVTthQUM3QixDQUFDO1FBQ0osQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFTO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUMzQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQzlDLENBQUM7SUFDSixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxlQUFlLElBQUksRUFBRSxDQUFDO1FBRTVFLE9BQU8sZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBZSxFQUFFLEVBQUU7WUFDbEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQyxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDWCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWU7UUFDM0IsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBVTtRQUM5QixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDL0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzFELElBQUksWUFBWSxFQUFFO2dCQUNoQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNwRCxPQUFPO29CQUNMLEdBQUcsWUFBWTtvQkFDZixnQkFBZ0IsRUFBRSxVQUFVO2lCQUM3QixDQUFDO2FBQ0g7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWM7UUFDekIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxNQUFNLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsZUFBc0IsRUFBRSxjQUFxQjtRQUM5RCxPQUFPLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFVLEVBQUUsSUFBUyxFQUFFLEVBQUU7WUFDOUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUMvQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2hCO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBWTtRQUMzQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNuRDtRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixPQUFPO1NBQ1I7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUNsRCxDQUFDLEtBQVUsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBUztRQUNyQixNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQywwQkFBMEI7UUFDMUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDM0MsdUJBQXVCO1FBQ3ZCLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0IsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0I7WUFDcEUsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUI7WUFDakUsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxnQkFBZ0I7YUFDMUMsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLEtBQWEsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsT0FBTyxZQUFZO2dCQUNqQixDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxZQUFZLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDWCxDQUFDLENBQUM7YUFDRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQVUsRUFBRSxZQUFtQjtRQUNqRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLElBQUksRUFBRTtZQUMvQixXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFO1lBQ3ZDLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLEVBQUU7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDO1FBQ3pFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQjtZQUM5RCxlQUFlLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDO0lBQ3RFLENBQUM7SUFHRCxhQUFhLENBQUMsS0FBVTtRQUN0QixNQUFNLGdCQUFnQixHQUFHO1lBQ3ZCLEtBQUssRUFBRSxLQUFLO1lBQ1osS0FBSyxFQUFFLGdCQUFnQjtZQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDM0IsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCO1NBQ2hDLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQztTQUNsRTtJQUNILENBQUM7K0dBclVVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLHdrQkFFTSxVQUFVLDZCQzdCN0MsOGlaQXNVQTs7NEZEM1NhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxjQUFjO21JQUtDLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFFdkIsU0FBUztzQkFEUixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkF5Qm5ELE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFRSSxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQXlRUCxhQUFhO3NCQURaLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlUGlja2VyQ29tcG9uZW50LCBJRGF0ZVBpY2tlckNvbmZpZyB9IGZyb20gJ25nMi1kYXRlLXBpY2tlcic7XG5cbmltcG9ydCB7XG4gIFJFUE9SVF9DQVNFLFxuICBIRUxQRVJfVEVYVCxcbiAgRU1BSUxfUkVNSU5ERVJTLFxuICBNT05USF9OQU1FUyxcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3JlcG9ydC1jYXNlLmNvbnN0YW50cyc7XG5cbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb21tb24uc2VydmljZSc7XG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZHVlLWRhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHVlLWRhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kdWUtZGF0ZS5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEdWVEYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnZGF0ZVBpY2tlcicpIGRhdGVQaWNrZXIhOiBEYXRlUGlja2VyQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIGFuaW1hdGlvbiA9IHRydWU7XG4gIGRhdGVQaWNrZXJQb3BVcCE6IEVsZW1lbnRSZWY7XG4gIGRhdGVQaWNrZXJPdmVybGF5ID0gZmFsc2U7XG4gIGRhdGVDb25maWc6IElEYXRlUGlja2VyQ29uZmlnID0ge1xuICAgIGRpc2FibGVLZXlwcmVzczogdHJ1ZSxcbiAgICBmb3JtYXQ6ICdERCBNTSBZWVlZJyxcbiAgICB1blNlbGVjdE9uQ2xpY2s6IHRydWUsXG4gICAgb3Blbk9uQ2xpY2s6IGZhbHNlLFxuICAgIG9wZW5PbkZvY3VzOiBmYWxzZSxcbiAgICBtaW46ICcnLFxuICB9O1xuICBjb21tb25TZXJ2aWNlOiBhbnk7XG4gIGR1ZURhdGVUZXh0cyA9IFJFUE9SVF9DQVNFO1xuICBoZWxwZXJUZXh0ID0gSEVMUEVSX1RFWFQ7XG4gIGFzc2lnbmVlQ2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBhc3NpZ25lZUxpc3Q6IGFueVtdID0gW107XG4gIGFzc2lnbmVlRGF0YTogeyBba2V5OiBudW1iZXJdOiBhbnlbXSB9ID0ge307XG4gIGN1cnJlbnRTdGFnZUluZGV4OiBudW1iZXIgPSAtMTtcbiAgYWN0aXZlQXNzaWduZWU6IGFueVtdID0gW107XG4gIGVtYWlsUmVtaW5kZXI6IG51bWJlciA9IEVNQUlMX1JFTUlOREVSUy5lbWFpbF9yZW1pbmRlcjtcbiAgZXNjYWxhdGlvbkVtYWlsOiBudW1iZXIgPSBFTUFJTF9SRU1JTkRFUlMuZXNjYWxhdGlvbl9lbWFpbF9yZW1pbmRlcjtcbiAgc2hvd0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dBc3NpZ25lZUVycm9yOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcGF5bG9hZDogYW55O1xuICBASW5wdXQoKSBkdWVEYXRlOiBhbnk7XG4gIEBJbnB1dCgpIHdvcmtmbG93RGV0YWlsczogYW55O1xuICBASW5wdXQoKSB1c2VyTGlzdDogYW55W10gPSBbXTtcbiAgQElucHV0KCkgZ3JvdXBMaXN0OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBtb2RlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgc2V0IGluaXRpYWxTZWxlY3Rpb24odmFsdWU6IGFueSkge1xuICAgIHRoaXMuZHVlRGF0ZSA9IHZhbHVlPy5yZXNvbHV0aW9uX2RlYWRsaW5lPy5kdWVfZGF0ZTtcbiAgICBpZiAodGhpcy5tb2RlID09PSAnRURJVCcpIHtcbiAgICAgIHRoaXMuZW1haWxSZW1pbmRlciA9IHZhbHVlPy5yZXNvbHV0aW9uX2RlYWRsaW5lPy5hc3NpZ25lZV9yZW1pbmRfYmVmb3JlO1xuICAgICAgdGhpcy5lc2NhbGF0aW9uRW1haWwgPSB2YWx1ZT8ucmVzb2x1dGlvbl9kZWFkbGluZT8ub3duZXJfcmVtaW5kX2JlZm9yZTtcbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KCkgY2xvc2VEdWVEYXRlUmVzb2x1dGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNsb3NlRHVlRGF0ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29tbW9uRGF0ZVNlcnZpY2U6IENvbW1vblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVDb25maWcubWluID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZvcm1hdERhdGUoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgfSwgMzAwKTtcbiAgICB0aGlzLnNldEFzc2lnbmVlTGlzdCgpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUVkaXRNb2RlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVFZGl0TW9kZSgpIHtcbiAgICBpZiAoIXRoaXMucGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LnJlc29sdXRpb25fZGVhZGxpbmU/LmR1ZV9kYXRlKSByZXR1cm47XG5cbiAgICBjb25zdCBkZWFkbGluZSA9IHRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5yZXNvbHV0aW9uX2RlYWRsaW5lO1xuICAgIHRoaXMuaW5pdGlhbGl6ZURlYWRsaW5lVmFsdWVzKGRlYWRsaW5lKTtcbiAgICB0aGlzLmluaXRpYWxpemVTdGFnZUFzc2lnbmVlcyhkZWFkbGluZSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVEZWFkbGluZVZhbHVlcyhkZWFkbGluZTogYW55KSB7XG4gICAgdGhpcy5kdWVEYXRlID0gbmV3IERhdGUoZGVhZGxpbmU/LmR1ZV9kYXRlKTtcbiAgICB0aGlzLmVtYWlsUmVtaW5kZXIgPVxuICAgICAgZGVhZGxpbmUuYXNzaWduZWVfcmVtaW5kX2JlZm9yZSB8fCBFTUFJTF9SRU1JTkRFUlMuZW1haWxfcmVtaW5kZXI7XG4gICAgdGhpcy5lc2NhbGF0aW9uRW1haWwgPVxuICAgICAgZGVhZGxpbmUub3duZXJfcmVtaW5kX2JlZm9yZSB8fCBFTUFJTF9SRU1JTkRFUlMuZXNjYWxhdGlvbl9lbWFpbF9yZW1pbmRlcjtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVN0YWdlQXNzaWduZWVzKGRlYWRsaW5lOiBhbnkpIHtcbiAgICBpZiAoIWRlYWRsaW5lPy5zdGFnZXNfYXNzaWduZWVzPy5sZW5ndGgpIHJldHVybjtcblxuICAgIGNvbnN0IHN0YWdlQXNzaWduZWVNYXAgPSB0aGlzLmNyZWF0ZVN0YWdlQXNzaWduZWVNYXAoXG4gICAgICBkZWFkbGluZS5zdGFnZXNfYXNzaWduZWVzXG4gICAgKTtcbiAgICB0aGlzLm1hcFdvcmtmbG93U3RhZ2VzKHN0YWdlQXNzaWduZWVNYXApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTdGFnZUFzc2lnbmVlTWFwKHN0YWdlc0Fzc2lnbmVlczogYW55W10pOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IE1hcChcbiAgICAgIHN0YWdlc0Fzc2lnbmVlcy5tYXAoKHN0YWdlOiBhbnkpID0+IFtzdGFnZT8uc3RhZ2VfaWQsIHN0YWdlPy5hc3NpZ25lZV9pZF0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwV29ya2Zsb3dTdGFnZXMoc3RhZ2VBc3NpZ25lZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPikge1xuICAgIHRoaXMud29ya2Zsb3dEZXRhaWxzPy5zdGFnZXNfYXNzaWduZWVzPy5mb3JFYWNoKFxuICAgICAgKHdvcmtmbG93U3RhZ2U6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCBhc3NpZ25lZUlkID0gc3RhZ2VBc3NpZ25lZU1hcD8uZ2V0KHdvcmtmbG93U3RhZ2U/LnN0YWdlX2lkKTtcbiAgICAgICAgaWYgKCFhc3NpZ25lZUlkKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgYXNzaWduZWUgPSB0aGlzLmFzc2lnbmVlTGlzdD8uZmluZChcbiAgICAgICAgICAoYXNzaWduZWU6IGFueSkgPT4gYXNzaWduZWU/Ll9pZCA9PT0gYXNzaWduZWVJZFxuICAgICAgICApO1xuICAgICAgICBpZiAoYXNzaWduZWUpIHtcbiAgICAgICAgICB0aGlzLmFzc2lnbmVlRGF0YVtpbmRleF0gPSBbYXNzaWduZWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIG9wZW5EYXRlUGlja2VyKCkge1xuICAgIHRoaXMuZGF0ZVBpY2tlcj8uYXBpPy5vcGVuKCk7XG4gICAgdGhpcy5kYXRlUGlja2VyT3ZlcmxheSA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogY2xvc2VzIHRoZSBkYXRlIHBpY2tlciBmcm9tIHBvbGljeSBmb3JtXG4gICAqL1xuICBjbG9zZURhdGVQaWNrZXIoZXZ0OiBhbnkpIHtcbiAgICB0aGlzLmRhdGVQaWNrZXJPdmVybGF5ID0gZmFsc2U7XG5cbiAgICBpZiAoIWV2dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXZ0Py5kYXRlPy4kZCkge1xuICAgICAgbGV0IG1vbnRoQXJyYXkgPSBbXG4gICAgICAgICdKYW4nLFxuICAgICAgICAnRmViJyxcbiAgICAgICAgJ01hcicsXG4gICAgICAgICdBcHInLFxuICAgICAgICAnSnVuJyxcbiAgICAgICAgJ0p1bCcsXG4gICAgICAgICdBdWcnLFxuICAgICAgICAnU2VwJyxcbiAgICAgICAgJ09jdCcsXG4gICAgICAgICdOb3YnLFxuICAgICAgICAnRGVjJyxcbiAgICAgIF07XG4gICAgICBjb25zdCBkYXRlVmFsdWUgPSBuZXcgRGF0ZShldnQ/LmRhdGU/LiRkKS5nZXREYXRlKCk7XG4gICAgICBjb25zdCBtb250aFZhbHVlID0gbW9udGhBcnJheVtuZXcgRGF0ZShldnQ/LmRhdGU/LiRkKS5nZXRNb250aCgpXTtcbiAgICAgIGNvbnN0IHllYXJWYWx1ZSA9IG5ldyBEYXRlKGV2dD8uZGF0ZT8uJGQpLmdldEZ1bGxZZWFyKCk7XG4gICAgICBjb25zdCBkYXRlU3RyID0gYCR7ZGF0ZVZhbHVlfSAke21vbnRoVmFsdWV9ICR7eWVhclZhbHVlfWA7XG4gICAgfVxuICAgIGlmIChldnQ/LmRhdGU/LiRkKSB7XG4gICAgICB0aGlzLmR1ZURhdGUgPSBuZXcgRGF0ZShldnQuZGF0ZS4kZCk7XG4gICAgICB0aGlzLnNob3dFcnJvciA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmRhdGVQaWNrZXI/LmFwaT8uY2xvc2UoKTtcbiAgfVxuXG4gIGNsb3NlRHVlRGF0ZSgpIHtcbiAgICB0aGlzLmNsb3NlRHVlRGF0ZUV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGFjdGl2YXRlU2VsZWN0b3IoYWN0aXZlOiBib29sZWFuLCBzdGFnZUluZGV4PzogbnVtYmVyKSB7XG4gICAgdGhpcy5hc3NpZ25lZUNsaWNrZWQgPSBhY3RpdmU7XG4gICAgaWYgKGFjdGl2ZSkge1xuICAgICAgdGhpcy5jdXJyZW50U3RhZ2VJbmRleCA9IHN0YWdlSW5kZXggPz8gLTE7XG4gICAgICB0aGlzLmFjdGl2ZUFzc2lnbmVlID1cbiAgICAgICAgdGhpcy5jdXJyZW50U3RhZ2VJbmRleCAhPT0gLTFcbiAgICAgICAgICA/IHRoaXMuYXNzaWduZWVEYXRhW3RoaXMuY3VycmVudFN0YWdlSW5kZXhdXG4gICAgICAgICAgOiBbXTtcbiAgICB9XG4gIH1cblxuICBzZXRBc3NpZ25lZUxpc3QoKSB7XG4gICAgY29uc3QgZGlyZWN0QXNzaWduZWVzID0gdGhpcy5nZXRBc3NpZ25lZXMoKTtcbiAgICBjb25zdCBncm91cEFzc2lnbmVlcyA9IHRoaXMuZ2V0R3JvdXBBc3NpZ25lZXMoKTtcbiAgICB0aGlzLmFzc2lnbmVlTGlzdCA9IHRoaXMuZ2V0VW5pcXVlQXNzaWduZWVzKGRpcmVjdEFzc2lnbmVlcywgZ3JvdXBBc3NpZ25lZXMpO1xuICB9XG5cbiAgZ2V0QXNzaWduZWVzKCk6IGFueVtdIHtcbiAgICBjb25zdCBhc3NpZ25lZUlkcyA9IHRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdz8uYXNzaWduZWVzIHx8IFtdO1xuICAgIFxuICAgIHJldHVybiB0aGlzLnVzZXJMaXN0XG4gICAgICA/LmZpbHRlcigodXNlcjogYW55KSA9PiBhc3NpZ25lZUlkcy5pbmNsdWRlcyh1c2VyPy5faWQpKVxuICAgICAgPy5tYXAoKHVzZXI6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB1c2VyR3JvdXBzID0gdGhpcy5nZXRVc2VyR3JvdXBzKHVzZXIpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnVzZXIsXG4gICAgICAgICAgYXNzb2NpYXRlZEdyb3VwczogdXNlckdyb3VwcyxcbiAgICAgICAgfTtcbiAgICAgIH0pIHx8IFtdO1xuICB9XG5cbiAgZ2V0VXNlckdyb3Vwcyh1c2VyOiBhbnkpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBMaXN0Py5maWx0ZXIoKGdyb3VwOiBhbnkpID0+XG4gICAgICB1c2VyPy51c2VyZ3JvdXBfaWQ/LmluY2x1ZGVzKGdyb3VwPy5ncm91cF9pZClcbiAgICApO1xuICB9XG5cbiAgZ2V0R3JvdXBBc3NpZ25lZXMoKTogYW55W10ge1xuICAgIGNvbnN0IGFzc2lnbmVlR3JvdXBJZHMgPSB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3c/LmFzc2lnbmVlc19ncm91cCB8fCBbXTtcbiAgICBcbiAgICByZXR1cm4gYXNzaWduZWVHcm91cElkcy5mbGF0TWFwKChncm91cElkOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGdyb3VwID0gdGhpcy5maW5kR3JvdXBCeUlkKGdyb3VwSWQpO1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QXNzaWduZWVzRnJvbUdyb3VwKGdyb3VwKTtcbiAgICB9KSB8fCBbXTtcbiAgfVxuXG4gIGZpbmRHcm91cEJ5SWQoZ3JvdXBJZDogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5ncm91cExpc3Q/LmZpbmQoKGdyb3VwOiBhbnkpID0+IGdyb3VwPy5faWQgPT09IGdyb3VwSWQpO1xuICB9XG5cbiAgZ2V0QXNzaWduZWVzRnJvbUdyb3VwKGdyb3VwOiBhbnkpOiBhbnlbXSB7XG4gICAgcmV0dXJuIGdyb3VwPy5hc3NvY2lhdGVkVXNlcnM/Lm1hcCgodXNlcjogYW55KSA9PiB7XG4gICAgICBjb25zdCB1c2VyRnJvbUxpc3QgPSB0aGlzLmZpbmRVc2VyQnlJZCh1c2VyPy51c2VySWQ/Ll9pZCk7XG4gICAgICBpZiAodXNlckZyb21MaXN0KSB7XG4gICAgICAgIGNvbnN0IHVzZXJHcm91cHMgPSB0aGlzLmdldFVzZXJHcm91cHModXNlckZyb21MaXN0KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi51c2VyRnJvbUxpc3QsXG4gICAgICAgICAgYXNzb2NpYXRlZEdyb3VwczogdXNlckdyb3VwcyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pLmZpbHRlcigodXNlcjogYW55KSA9PiB1c2VyICE9PSBudWxsKSB8fCBbXTtcbiAgfVxuXG4gIGZpbmRVc2VyQnlJZCh1c2VySWQ6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMudXNlckxpc3Q/LmZpbmQoKHVzZXI6IGFueSkgPT4gdXNlcj8uX2lkID09PSB1c2VySWQpO1xuICB9XG5cbiAgZ2V0VW5pcXVlQXNzaWduZWVzKGRpcmVjdEFzc2lnbmVlczogYW55W10sIGdyb3VwQXNzaWduZWVzOiBhbnlbXSk6IGFueVtdIHtcbiAgICByZXR1cm4gWy4uLmRpcmVjdEFzc2lnbmVlcywgLi4uZ3JvdXBBc3NpZ25lZXNdLnJlZHVjZSgoYWNjOiBhbnlbXSwgdXNlcjogYW55KSA9PiB7XG4gICAgICBpZiAoIWFjYy5zb21lKCh1OiBhbnkpID0+IHU/Ll9pZCA9PT0gdXNlcj8uX2lkKSkge1xuICAgICAgICBhY2MucHVzaCh1c2VyKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgc2VsZWN0ZWRBc3NpZ25lZShldmVudDogYW55W10pIHtcbiAgICBpZiAodGhpcy5jdXJyZW50U3RhZ2VJbmRleCAhPT0gLTEpIHtcbiAgICAgIHRoaXMuYXNzaWduZWVEYXRhW3RoaXMuY3VycmVudFN0YWdlSW5kZXhdID0gZXZlbnQ7XG4gICAgfVxuICAgIHRoaXMuYXNzaWduZWVDbGlja2VkID0gZmFsc2U7XG4gICAgaWYgKGV2ZW50Py5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNob3dBc3NpZ25lZUVycm9yID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgc2F2ZUNhc2VSZXNvbHV0aW9uRGVhZGxpbmUoKSB7XG4gICAgaWYgKCF0aGlzLmlzRHVlRGF0ZVZhbGlkKCkpIHtcbiAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmFyZUFzc2lnbmVlc1ZhbGlkKCkpIHtcbiAgICAgIHRoaXMuc2hvd0Fzc2lnbmVlRXJyb3IgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNob3dFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd0Fzc2lnbmVlRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnNldFBheWxvYWQoKTtcbiAgICB0aGlzLmNsb3NlRHVlRGF0ZVJlc29sdXRpb24uZW1pdCgpO1xuICB9XG5cbiAgaXNEdWVEYXRlVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kdWVEYXRlO1xuICB9XG5cbiAgYXJlQXNzaWduZWVzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMud29ya2Zsb3dEZXRhaWxzPy5zdGFnZXNfYXNzaWduZWVzPy5ldmVyeShcbiAgICAgIChzdGFnZTogYW55LCBpbmRleDogbnVtYmVyKSA9PlxuICAgICAgICB0aGlzLmFzc2lnbmVlRGF0YVtpbmRleF0gJiYgdGhpcy5hc3NpZ25lZURhdGFbaW5kZXhdPy5sZW5ndGggPiAwXG4gICAgKTtcbiAgfVxuXG4gIGZvcm1hdER1ZURhdGUoZGF0ZTogYW55KTogc3RyaW5nIHtcbiAgICBjb25zdCBsb2NhbERhdGUgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICAvLyBBZGQgb25lIGRheSB0byB0aGUgZGF0ZVxuICAgIGxvY2FsRGF0ZS5zZXREYXRlKGxvY2FsRGF0ZS5nZXREYXRlKCkgKyAxKTtcbiAgICAvLyBTZXQgdGltZSB0byBtaWRuaWdodFxuICAgIGxvY2FsRGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICByZXR1cm4gbG9jYWxEYXRlLnRvSVNPU3RyaW5nKCk7XG4gIH1cblxuICBzZXREZWFkbGluZVJlbWluZGVycygpOiB2b2lkIHtcbiAgICB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3cucmVzb2x1dGlvbl9kZWFkbGluZS5hc3NpZ25lZV9yZW1pbmRfYmVmb3JlID1cbiAgICAgIHRoaXMuZW1haWxSZW1pbmRlcjtcbiAgICB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3cucmVzb2x1dGlvbl9kZWFkbGluZS5vd25lcl9yZW1pbmRfYmVmb3JlID1cbiAgICAgIHRoaXMuZXNjYWxhdGlvbkVtYWlsO1xuICB9XG5cbiAgc2V0U3RhZ2VzQXNzaWduZWVzKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy53b3JrZmxvd0RldGFpbHM/LnN0YWdlc19hc3NpZ25lZXNcbiAgICAgIC5tYXAoKHN0YWdlOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgYXNzaWduZWVEYXRhID0gdGhpcy5hc3NpZ25lZURhdGFbaW5kZXhdO1xuICAgICAgICByZXR1cm4gYXNzaWduZWVEYXRhXG4gICAgICAgICAgPyB0aGlzLmNyZWF0ZVN0YWdlQXNzaWduZWUoc3RhZ2UsIGFzc2lnbmVlRGF0YSlcbiAgICAgICAgICA6IG51bGw7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgfVxuXG4gIGNyZWF0ZVN0YWdlQXNzaWduZWUoc3RhZ2U6IGFueSwgYXNzaWduZWVEYXRhOiBhbnlbXSk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YWdlX2lkOiBzdGFnZT8uc3RhZ2VfaWQgfHwgJycsXG4gICAgICBhc3NpZ25lZV9pZDogYXNzaWduZWVEYXRhWzBdPy5faWQgfHwgJycsXG4gICAgICBkdWVfZGF0ZTogc3RhZ2U/LmR1ZV9kYXRlIHx8ICcnLFxuICAgIH07XG4gIH1cblxuICBzZXRQYXlsb2FkKCkge1xuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSB0aGlzLmR1ZURhdGU7XG4gICAgdGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93LnJlc29sdXRpb25fZGVhZGxpbmUuZHVlX2RhdGUgPSBmb3JtYXR0ZWREYXRlO1xuICAgIHRoaXMuc2V0RGVhZGxpbmVSZW1pbmRlcnMoKTtcbiAgICBjb25zdCBzdGFnZXNBc3NpZ25lZXMgPSB0aGlzLnNldFN0YWdlc0Fzc2lnbmVlcygpO1xuICAgIHRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5yZXNvbHV0aW9uX2RlYWRsaW5lLnN0YWdlc19hc3NpZ25lZXMgPVxuICAgICAgc3RhZ2VzQXNzaWduZWVzO1xuICAgIHRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy53b3JrZmxvd19pZCA9IHRoaXMud29ya2Zsb3dEZXRhaWxzPy5faWQ7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIGRvY3VtZW50Q2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGVQaWNrZXJPYmplY3QgPSB7XG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBjbGFzczogJ2VmZmVjdGl2ZS1kYXRlJyxcbiAgICAgIHBvcHVwOiB0aGlzLmRhdGVQaWNrZXJQb3BVcCxcbiAgICAgIGNvbXBvbmVudDogdGhpcy5kYXRlUGlja2VyLFxuICAgICAgb3ZlcmxheTogdGhpcy5kYXRlUGlja2VyT3ZlcmxheSxcbiAgICB9O1xuICAgIHRoaXMuY29tbW9uRGF0ZVNlcnZpY2UuaGFuZGxlRG9jdW1lbnRDbGljayhkYXRlUGlja2VyT2JqZWN0KTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoKSB7XG4gICAgaWYgKHRoaXMuZW1haWxSZW1pbmRlciA9PT0gMCkge1xuICAgICAgdGhpcy5lbWFpbFJlbWluZGVyID0gRU1BSUxfUkVNSU5ERVJTLmVtYWlsX3JlbWluZGVyO1xuICAgIH1cbiAgICBpZiAodGhpcy5lc2NhbGF0aW9uRW1haWwgPT09IDApIHtcbiAgICAgIHRoaXMuZXNjYWxhdGlvbkVtYWlsID0gRU1BSUxfUkVNSU5ERVJTLmVzY2FsYXRpb25fZW1haWxfcmVtaW5kZXI7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXJlc29sdXRpb25cIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY29uZmlndXJlLXJlc29sdXRpb24taGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5cbiAgICAgIENvbmZpZ3VyZSBSZXNvbHV0aW9uIERlYWRsaW5lICYgU3RhZ2UgRGV0YWlsc1xuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS1yZXNvbHV0aW9uLWJvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXJlc29sdXRpb24tYm9keS1pbm5lclwiPlxuICAgICAgPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwiZmFsc2VcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgICpuZ0lmPVwiZmFsc2VcIlxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmcnXG4gICAgICAgIFwiXG4gICAgICAgIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCJcbiAgICAgID48L2FwcC1uby1kYXRhPlxuXG4gICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJsYWJlbC10b3AgdngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1saC00IHZ4LW1iLTEgdngtdHQtdXBwZXJjYXNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIFNQRUNJRlkgVEhFIERFQURMSU5FIFRPIENMT1NFIFRISVMgQ0FTRVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQgdngtZnMtMTYgdngtZnctNDAwXCI+Kjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXNlLWNhbGVuZGFyIHZ4LW1iLTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzZS1jYWxlbmRhci1pbm5lciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICByZWFkb25seVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7XG4gICAgICAgICAgICAgICAgZHVlRGF0ZVRleHRzLmNhc2VfZGV0YWlscy5kdWVfZGF0ZS5kZWFkbGluZV9wbGFjZWhvbGRlclxuICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRGF0ZVBpY2tlcigpXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImR1ZURhdGUgfCBkYXRlIDogJ2RkIE1NTSB5eXl5J1wiXG4gICAgICAgICAgICAgIGlkPVwiZWZmZWN0aXZlLWRhdGVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTJkOzwvaT5cbiAgICAgICAgICAgIDxkcC1kYXRlLXBpY2tlclxuICAgICAgICAgICAgICAjZGF0ZVBpY2tlclxuICAgICAgICAgICAgICAob25TZWxlY3QpPVwiZGF0ZVBpY2tlck92ZXJsYXkgPSBmYWxzZTsgY2xvc2VEYXRlUGlja2VyKCRldmVudClcIlxuICAgICAgICAgICAgICBbY29uZmlnXT1cImRhdGVDb25maWdcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImR1ZURhdGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9kcC1kYXRlLXBpY2tlcj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2eC1vdmVybGF5XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRGF0ZVBpY2tlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJkYXRlUGlja2VyT3ZlcmxheVwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dFcnJvclwiIGNsYXNzPVwiZXJyb3JNc2cgdngtZnMtMTEgdngtbGgtNCB2eC1tdC0xXCI+XG4gICAgICAgICAgICB7eyBkdWVEYXRlVGV4dHMuZXJyb3JNZXNzYWdlLmR1ZURhdGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1tYi0xXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJsYWJlbC10b3AgdngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1saC00IHZ4LXR0LXVwcGVyY2FzZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQ09ORklHVVJFIERFQURMSU5FICYgQVNTSUdORUUgRk9SIEVBQ0ggU1RBR0UgSU4gVEhFIFdPUktGTE9XXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkIHZ4LWZzLTE2IHZ4LWZ3LTQwMFwiPio8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwidG9nZ2xlLWFyZWEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgPGFwcC1jcy1zd2l0Y2g+QWxsb3cgUmVvcGVuaW5nIG9mIFByZXZpb3VzIFN0YWdlPC9hcHAtY3Mtc3dpdGNoPlxuICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgY2xhc3M9XCJpY29ucyBpbmZvIHZ4LWZzLTEyIHZ4LXR4dC1ibHVlIHZ4LW1sLTJcIlxuICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAnSWYgZW5hYmxlZCwgdGhpcyBvcHRpb24gYWxsb3dzIHRoZSBhc3NpZ25lZSB0byByZXZpc2l0IGFuZCByZW9wZW4gYSBwcmV2aW91c2x5IGNvbXBsZXRlZCBzdGFnZS4gVGhlIHN0YWdlIHdpbGwgYmUgcmVzZXQsIGFuZCB0aGUgYXNzaWduZWQgdXNlciB3aWxsIG5lZWQgdG8gY29tcGxldGUgaXQgYWdhaW4uJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIlxuICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICB0eXBlPVwid2hpdGVcIlxuICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgPiYjeGU5MWY7PC9pXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS1yZXNvbHV0aW9uLXRhYmxlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAjXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHN0YWdlLW5hbWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgU1RBR0UgTkFNRVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzdGF0dXNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgVFJBTlNJVElPTiBTVEFUVVNcbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29ucyBpbmZvIHZ4LWZzLTEyIHZ4LXR4dC1ibHVlIHZ4LW1sLTFcIlxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaGVscGVyVGV4dC50cmFuc2l0aW9uX3N0YXR1c1wiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgID4mI3hlOTFmOzwvaVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgYXNzaWduZWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQVNTSUdORUVcbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29ucyBpbmZvIHZ4LWZzLTEyIHZ4LXR4dC1ibHVlIHZ4LW1sLTFcIlxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaGVscGVyVGV4dC5hc3NpZ25lZVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgID4mI3hlOTFmOzwvaVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgZGVhZGxpbmVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgREVBRExJTkVcbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29ucyBpbmZvIHZ4LWZzLTEyIHZ4LXR4dC1ibHVlIHZ4LW1sLTFcIlxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaGVscGVyVGV4dC5kZWFkbGluZVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgID4mI3hlOTFmOzwvaVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLXJvd1wiXG4gICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgIGxldCBkYXRhIG9mIHdvcmtmbG93RGV0YWlscz8uc3RhZ2VzX2Fzc2lnbmVlcztcbiAgICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1ubyB2eC1mcy0xMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImkgKyAxXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IGkgKyAxIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc3RhZ2UtbmFtZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlIHZ4LWZzLTEzIHZ4LXByLTJcIlxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZGF0YT8ubmFtZVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBkYXRhPy5uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc3RhdHVzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZSB2eC1mcy0xMlwiPlxuICAgICAgICAgICAgICAgICAge3sgZGF0YT8uc3RhdHVzX3RyYW5zaXRpb24/LmZyb21OYW1lIH19PGJyIC8+PHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2eC1tci0xXCJcbiAgICAgICAgICAgICAgICAgICAgPlRvPC9zcGFuXG4gICAgICAgICAgICAgICAgICA+e3sgZGF0YT8uc3RhdHVzX3RyYW5zaXRpb24/LnRvTmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGFzc2lnbmVlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aXZhdGVTZWxlY3Rvcih0cnVlLCBpKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIiFhc3NpZ25lZURhdGFbaV0/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdC1ib3ggdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtMyB2eC1wci0zXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWUgdngtZnMtMTNcIj5TZWxlY3QgYSBVc2VyPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGFycm93IHZ4LWZzLTEyXCI+JiN4ZTllODs8L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhc3NpZ25lZURhdGFbaV0/Lmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZnRlci1zZWxlY3QtYm94IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTMgdngtcHItMlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlLWNoaXAgdngtZnMtMTEgdngtcGwtMiB2eC1wci0yIHZ4LWxoLTZcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJhc3NpZ25lZURhdGFbaV1bMF0/Lm1lbWJlcl9uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGFzc2lnbmVlRGF0YVtpXVswXT8ubWVtYmVyX25hbWUgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aXZhdGVTZWxlY3Rvcih0cnVlLCBpKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWRpdC1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC1ibHVlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEyIHZ4LXR4dC1ibHVlIHZ4LW1yLTFcIj4mI3hlOWJhOzwvaVxuICAgICAgICAgICAgICAgICAgICA+RURJVFxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0yIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgZGVhZGxpbmVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXNlLWNhbGVuZGFyIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcHQtMyB2eC1wYi0zXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FzZS1jYWxlbmRhci1pbm5lciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInt7IGR1ZURhdGUgfCBkYXRlIDogJ2RkIE1NTSB5eXl5JyB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5EYXRlUGlja2VyKClcIlxuICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZWZmZWN0aXZlLWRhdGVcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkyZDs8L2k+XG4gICAgICAgICAgICAgICAgICAgIDxkcC1kYXRlLXBpY2tlclxuICAgICAgICAgICAgICAgICAgICAgICNkYXRlUGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZVBpY2tlck92ZXJsYXkgPSBmYWxzZTsgY2xvc2VEYXRlUGlja2VyKCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiZGF0ZUNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9kcC1kYXRlLXBpY2tlcj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidngtb3ZlcmxheVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRGF0ZVBpY2tlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGVQaWNrZXJPdmVybGF5XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJzaG93QXNzaWduZWVFcnJvclwiXG4gICAgICAgICAgICBjbGFzcz1cImVycm9yTXNnIHZ4LWZzLTExIHZ4LWxoLTQgdngtbXQtMVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgZHVlRGF0ZVRleHRzLmVycm9yTWVzc2FnZS5zdGFnZUFzc2lnbmVlIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJsYWJlbC10b3AgdngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1saC00IHZ4LW1iLTEgdngtdHQtdXBwZXJjYXNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIEVNQUlMIFJFTUlOREVSIENPTkZJR1VSQVRJT05cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkIHZ4LWZzLTE2IHZ4LWZ3LTQwMFwiPio8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlciB2eC1tYi0yXCI+PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImxhYmVsLXRvcCB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LWxoLTQgdngtbWItMSB2eC10dC11cHBlcmNhc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgUkVNSU5ERVIgRU1BSUxcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImVtYWlsLWNvbmZpZ3VyZS1ib3ggdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1mbGV4LXdyYXAgdngtcC0yIHZ4LXBsLTMgdngtcHItMyB2eC1tYi0yXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1tci0xXCI+XG4gICAgICAgICAgICBTZW5kIHJlZ3VsYXIgZW1haWwgcmVtaW5kZXJzIHRvIHRoZSBhc3NpZ25lZVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVtYWlsUmVtaW5kZXJcIlxuICAgICAgICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleSAhPT0gJy4nXCJcbiAgICAgICAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LW1sLTFcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmxhY2stdGV4dFwiPmRheXM8L3NwYW4+IGJlZm9yZSB0aGUgc3RhZ2UgZGVhZGxpbmUuXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJsYWJlbC10b3AgdngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1saC00IHZ4LW1iLTEgdngtdHQtdXBwZXJjYXNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIEVTQ0FMQVRJT04gRU1BSUxcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImVtYWlsLWNvbmZpZ3VyZS1ib3ggdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1mbGV4LXdyYXAgdngtcC0yIHZ4LXBsLTMgdngtcHItMyB2eC1tYi0yXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1tci0xXCI+XG4gICAgICAgICAgICBTZW5kIGVtYWlsIGVzY2FsYXRpb24gdG8gdGhlIENhc2UgT3duZXJcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlc2NhbGF0aW9uRW1haWxcIlxuICAgICAgICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleSAhPT0gJy4nXCJcbiAgICAgICAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LW1sLTFcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmxhY2stdGV4dFwiPmRheXM8L3NwYW4+IGJlZm9yZSB0aGUgb3ZlcmFsbCBjYXNlXG4gICAgICAgICAgICBkZWFkbGluZSwgaWYgdGhlIGNhc2UgaXMgc3RpbGwgb3Blbi5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8YXBwLWZsb2F0aW5nLWJhclxuICAgICAgKGNsb3NlTGlzdCk9XCJjbG9zZUR1ZURhdGUoKVwiXG4gICAgICAoY2xvc2VFdmVudCk9XCJzYXZlQ2FzZVJlc29sdXRpb25EZWFkbGluZSgpXCJcbiAgICA+PC9hcHAtZmxvYXRpbmctYmFyPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGFwcC1hc3NpZ25lZVxuICAqbmdJZj1cImFzc2lnbmVlQ2xpY2tlZFwiXG4gIFtwYXlsb2FkXT1cInBheWxvYWRcIlxuICBbYXNzaWduZWVMaXN0XT1cImFzc2lnbmVlTGlzdFwiXG4gIFthY3RpdmVBc3NpZ25lZV09XCJhY3RpdmVBc3NpZ25lZVwiXG4gIChzZWxlY3RlZEFzc2lnbmVlRXZlbnQpPVwic2VsZWN0ZWRBc3NpZ25lZSgkZXZlbnQpXCJcbiAgKGNsb3NlRXZlbnQpPVwiYWN0aXZhdGVTZWxlY3RvcihmYWxzZSlcIlxuPjwvYXBwLWFzc2lnbmVlPlxuIl19
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVlLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9jb21wb25lbnRzL2R1ZS1kYXRlL2R1ZS1kYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3JlcG9ydC1hLWNhc2UvY29tcG9uZW50cy9kdWUtZGF0ZS9kdWUtZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGVBQWUsR0FFaEIsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFVL0MsTUFBTSxPQUFPLGdCQUFnQjtJQWlDM0IsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCLENBQUM7WUFDeEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUM7U0FDeEU7SUFDSCxDQUFDO0lBS0QsWUFDVSxpQkFBZ0MsRUFDaEMsZ0JBQWtDO1FBRGxDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBZTtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtC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Qy9ELENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsYUFBYSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUM7U0FDckQ7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDLHlCQUF5QixDQUFDO1NBQ2xFO0lBQ0gsQ0FBQzsrR0FyVVUsZ0JBQWdCO21HQUFoQixnQkFBZ0Isd2tCQUVNLFVBQVUsNkJDN0I3Qyw4aVpBc1VBOzs0RkQzU2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGNBQWM7bUlBS0MsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUV2QixTQUFTO3NCQURSLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQXlCbkQsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ08sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQVFJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBeVFQLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQsIElEYXRlUGlja2VyQ29uZmlnIH0gZnJvbSAnbmcyLWRhdGUtcGlja2VyJztcblxuaW1wb3J0IHtcbiAgUkVQT1JUX0NBU0UsXG4gIEhFTFBFUl9URVhULFxuICBFTUFJTF9SRU1JTkRFUlMsXG4gIE1PTlRIX05BTUVTLFxufSBmcm9tICcuLi8uLi9jb25zdGFudHMvcmVwb3J0LWNhc2UuY29uc3RhbnRzJztcbmltcG9ydCAqIGFzIGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb21tb24uc2VydmljZSc7XG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZHVlLWRhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHVlLWRhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kdWUtZGF0ZS5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEdWVEYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnZGF0ZVBpY2tlcicpIGRhdGVQaWNrZXIhOiBEYXRlUGlja2VyQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIGFuaW1hdGlvbiA9IHRydWU7XG4gIGRhdGVQaWNrZXJQb3BVcCE6IEVsZW1lbnRSZWY7XG4gIGRhdGVQaWNrZXJPdmVybGF5ID0gZmFsc2U7XG4gIGRhdGVDb25maWc6IElEYXRlUGlja2VyQ29uZmlnID0ge1xuICAgIGRpc2FibGVLZXlwcmVzczogdHJ1ZSxcbiAgICBmb3JtYXQ6ICdERCBNTSBZWVlZJyxcbiAgICB1blNlbGVjdE9uQ2xpY2s6IHRydWUsXG4gICAgb3Blbk9uQ2xpY2s6IGZhbHNlLFxuICAgIG9wZW5PbkZvY3VzOiBmYWxzZSxcbiAgICBtaW46ICcnLFxuICB9O1xuICBjb21tb25TZXJ2aWNlOiBhbnk7XG4gIGR1ZURhdGVUZXh0cyA9IFJFUE9SVF9DQVNFO1xuICBoZWxwZXJUZXh0ID0gSEVMUEVSX1RFWFQ7XG4gIGFzc2lnbmVlQ2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBhc3NpZ25lZUxpc3Q6IGFueVtdID0gW107XG4gIGFzc2lnbmVlRGF0YTogeyBba2V5OiBudW1iZXJdOiBhbnlbXSB9ID0ge307XG4gIGN1cnJlbnRTdGFnZUluZGV4OiBudW1iZXIgPSAtMTtcbiAgYWN0aXZlQXNzaWduZWU6IGFueVtdID0gW107XG4gIGVtYWlsUmVtaW5kZXI6IG51bWJlciA9IEVNQUlMX1JFTUlOREVSUy5lbWFpbF9yZW1pbmRlcjtcbiAgZXNjYWxhdGlvbkVtYWlsOiBudW1iZXIgPSBFTUFJTF9SRU1JTkRFUlMuZXNjYWxhdGlvbl9lbWFpbF9yZW1pbmRlcjtcbiAgc2hvd0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dBc3NpZ25lZUVycm9yOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcGF5bG9hZDogYW55O1xuICBASW5wdXQoKSBkdWVEYXRlOiBhbnk7XG4gIEBJbnB1dCgpIHdvcmtmbG93RGV0YWlsczogYW55O1xuICBASW5wdXQoKSB1c2VyTGlzdDogYW55W10gPSBbXTtcbiAgQElucHV0KCkgZ3JvdXBMaXN0OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBtb2RlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgc2V0IGluaXRpYWxTZWxlY3Rpb24odmFsdWU6IGFueSkge1xuICAgIHRoaXMuZHVlRGF0ZSA9IG5ldyBEYXRlKHZhbHVlPy5yZXNvbHV0aW9uX2RlYWRsaW5lPy5kdWVfZGF0ZSk7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XG4gICAgICB0aGlzLmVtYWlsUmVtaW5kZXIgPSB2YWx1ZT8ucmVzb2x1dGlvbl9kZWFkbGluZT8uYXNzaWduZWVfcmVtaW5kX2JlZm9yZTtcbiAgICAgIHRoaXMuZXNjYWxhdGlvbkVtYWlsID0gdmFsdWU/LnJlc29sdXRpb25fZGVhZGxpbmU/Lm93bmVyX3JlbWluZF9iZWZvcmU7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIGNsb3NlRHVlRGF0ZVJlc29sdXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjbG9zZUR1ZURhdGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbW1vbkRhdGVTZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlQ29uZmlnLm1pbiA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5mb3JtYXREYXRlKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIH0sIDMwMCk7XG4gICAgdGhpcy5zZXRBc3NpZ25lZUxpc3QoKTtcbiAgICB0aGlzLmluaXRpYWxpemVFZGl0TW9kZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRWRpdE1vZGUoKSB7XG4gICAgaWYgKCF0aGlzLnBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5yZXNvbHV0aW9uX2RlYWRsaW5lPy5kdWVfZGF0ZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGVhZGxpbmUgPSB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3cucmVzb2x1dGlvbl9kZWFkbGluZTtcbiAgICB0aGlzLmluaXRpYWxpemVEZWFkbGluZVZhbHVlcyhkZWFkbGluZSk7XG4gICAgdGhpcy5pbml0aWFsaXplU3RhZ2VBc3NpZ25lZXMoZGVhZGxpbmUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRGVhZGxpbmVWYWx1ZXMoZGVhZGxpbmU6IGFueSkge1xuICAgIHRoaXMuZHVlRGF0ZSA9IG5ldyBEYXRlKGRlYWRsaW5lPy5kdWVfZGF0ZSk7XG4gICAgdGhpcy5lbWFpbFJlbWluZGVyID1cbiAgICAgIGRlYWRsaW5lLmFzc2lnbmVlX3JlbWluZF9iZWZvcmUgfHwgRU1BSUxfUkVNSU5ERVJTLmVtYWlsX3JlbWluZGVyO1xuICAgIHRoaXMuZXNjYWxhdGlvbkVtYWlsID1cbiAgICAgIGRlYWRsaW5lLm93bmVyX3JlbWluZF9iZWZvcmUgfHwgRU1BSUxfUkVNSU5ERVJTLmVzY2FsYXRpb25fZW1haWxfcmVtaW5kZXI7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVTdGFnZUFzc2lnbmVlcyhkZWFkbGluZTogYW55KSB7XG4gICAgaWYgKCFkZWFkbGluZT8uc3RhZ2VzX2Fzc2lnbmVlcz8ubGVuZ3RoKSByZXR1cm47XG5cbiAgICBjb25zdCBzdGFnZUFzc2lnbmVlTWFwID0gdGhpcy5jcmVhdGVTdGFnZUFzc2lnbmVlTWFwKFxuICAgICAgZGVhZGxpbmUuc3RhZ2VzX2Fzc2lnbmVlc1xuICAgICk7XG4gICAgdGhpcy5tYXBXb3JrZmxvd1N0YWdlcyhzdGFnZUFzc2lnbmVlTWFwKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3RhZ2VBc3NpZ25lZU1hcChzdGFnZXNBc3NpZ25lZXM6IGFueVtdKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XG4gICAgcmV0dXJuIG5ldyBNYXAoXG4gICAgICBzdGFnZXNBc3NpZ25lZXMubWFwKChzdGFnZTogYW55KSA9PiBbc3RhZ2U/LnN0YWdlX2lkLCBzdGFnZT8uYXNzaWduZWVfaWRdKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG1hcFdvcmtmbG93U3RhZ2VzKHN0YWdlQXNzaWduZWVNYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgICB0aGlzLndvcmtmbG93RGV0YWlscz8uc3RhZ2VzX2Fzc2lnbmVlcz8uZm9yRWFjaChcbiAgICAgICh3b3JrZmxvd1N0YWdlOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgYXNzaWduZWVJZCA9IHN0YWdlQXNzaWduZWVNYXA/LmdldCh3b3JrZmxvd1N0YWdlPy5zdGFnZV9pZCk7XG4gICAgICAgIGlmICghYXNzaWduZWVJZCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGFzc2lnbmVlID0gdGhpcy5hc3NpZ25lZUxpc3Q/LmZpbmQoXG4gICAgICAgICAgKGFzc2lnbmVlOiBhbnkpID0+IGFzc2lnbmVlPy5faWQgPT09IGFzc2lnbmVlSWRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGFzc2lnbmVlKSB7XG4gICAgICAgICAgdGhpcy5hc3NpZ25lZURhdGFbaW5kZXhdID0gW2Fzc2lnbmVlXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBvcGVuRGF0ZVBpY2tlcigpIHtcbiAgICB0aGlzLmRhdGVQaWNrZXI/LmFwaT8ub3BlbigpO1xuICAgIHRoaXMuZGF0ZVBpY2tlck92ZXJsYXkgPSB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIGNsb3NlcyB0aGUgZGF0ZSBwaWNrZXIgZnJvbSBwb2xpY3kgZm9ybVxuICAgKi9cbiAgY2xvc2VEYXRlUGlja2VyKGV2dDogYW55KSB7XG4gICAgdGhpcy5kYXRlUGlja2VyT3ZlcmxheSA9IGZhbHNlO1xuXG4gICAgaWYgKCFldnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2dD8uZGF0ZT8uJGQpIHtcbiAgICAgIGxldCBtb250aEFycmF5ID0gW1xuICAgICAgICAnSmFuJyxcbiAgICAgICAgJ0ZlYicsXG4gICAgICAgICdNYXInLFxuICAgICAgICAnQXByJyxcbiAgICAgICAgJ0p1bicsXG4gICAgICAgICdKdWwnLFxuICAgICAgICAnQXVnJyxcbiAgICAgICAgJ1NlcCcsXG4gICAgICAgICdPY3QnLFxuICAgICAgICAnTm92JyxcbiAgICAgICAgJ0RlYycsXG4gICAgICBdO1xuICAgICAgY29uc3QgZGF0ZVZhbHVlID0gbmV3IERhdGUoZXZ0Py5kYXRlPy4kZCkuZ2V0RGF0ZSgpO1xuICAgICAgY29uc3QgbW9udGhWYWx1ZSA9IG1vbnRoQXJyYXlbbmV3IERhdGUoZXZ0Py5kYXRlPy4kZCkuZ2V0TW9udGgoKV07XG4gICAgICBjb25zdCB5ZWFyVmFsdWUgPSBuZXcgRGF0ZShldnQ/LmRhdGU/LiRkKS5nZXRGdWxsWWVhcigpO1xuICAgICAgY29uc3QgZGF0ZVN0ciA9IGAke2RhdGVWYWx1ZX0gJHttb250aFZhbHVlfSAke3llYXJWYWx1ZX1gO1xuICAgIH1cbiAgICBpZiAoZXZ0Py5kYXRlPy4kZCkge1xuICAgICAgdGhpcy5kdWVEYXRlID0gbmV3IERhdGUoZXZ0LmRhdGUuJGQpO1xuICAgICAgdGhpcy5zaG93RXJyb3IgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5kYXRlUGlja2VyPy5hcGk/LmNsb3NlKCk7XG4gIH1cblxuICBjbG9zZUR1ZURhdGUoKSB7XG4gICAgdGhpcy5jbG9zZUR1ZURhdGVFdmVudC5lbWl0KCk7XG4gIH1cblxuICBhY3RpdmF0ZVNlbGVjdG9yKGFjdGl2ZTogYm9vbGVhbiwgc3RhZ2VJbmRleD86IG51bWJlcikge1xuICAgIHRoaXMuYXNzaWduZWVDbGlja2VkID0gYWN0aXZlO1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIHRoaXMuY3VycmVudFN0YWdlSW5kZXggPSBzdGFnZUluZGV4ID8/IC0xO1xuICAgICAgdGhpcy5hY3RpdmVBc3NpZ25lZSA9XG4gICAgICAgIHRoaXMuY3VycmVudFN0YWdlSW5kZXggIT09IC0xXG4gICAgICAgICAgPyB0aGlzLmFzc2lnbmVlRGF0YVt0aGlzLmN1cnJlbnRTdGFnZUluZGV4XVxuICAgICAgICAgIDogW107XG4gICAgfVxuICB9XG5cbiAgc2V0QXNzaWduZWVMaXN0KCkge1xuICAgIGNvbnN0IGRpcmVjdEFzc2lnbmVlcyA9IHRoaXMuZ2V0QXNzaWduZWVzKCk7XG4gICAgY29uc3QgZ3JvdXBBc3NpZ25lZXMgPSB0aGlzLmdldEdyb3VwQXNzaWduZWVzKCk7XG4gICAgdGhpcy5hc3NpZ25lZUxpc3QgPSB0aGlzLmdldFVuaXF1ZUFzc2lnbmVlcyhkaXJlY3RBc3NpZ25lZXMsIGdyb3VwQXNzaWduZWVzKTtcbiAgfVxuXG4gIGdldEFzc2lnbmVlcygpOiBhbnlbXSB7XG4gICAgY29uc3QgYXNzaWduZWVJZHMgPSB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3c/LmFzc2lnbmVlcyB8fCBbXTtcbiAgICBcbiAgICByZXR1cm4gdGhpcy51c2VyTGlzdFxuICAgICAgPy5maWx0ZXIoKHVzZXI6IGFueSkgPT4gYXNzaWduZWVJZHMuaW5jbHVkZXModXNlcj8uX2lkKSlcbiAgICAgID8ubWFwKCh1c2VyOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgdXNlckdyb3VwcyA9IHRoaXMuZ2V0VXNlckdyb3Vwcyh1c2VyKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi51c2VyLFxuICAgICAgICAgIGFzc29jaWF0ZWRHcm91cHM6IHVzZXJHcm91cHMsXG4gICAgICAgIH07XG4gICAgICB9KSB8fCBbXTtcbiAgfVxuXG4gIGdldFVzZXJHcm91cHModXNlcjogYW55KTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLmdyb3VwTGlzdD8uZmlsdGVyKChncm91cDogYW55KSA9PlxuICAgICAgdXNlcj8udXNlcmdyb3VwX2lkPy5pbmNsdWRlcyhncm91cD8uZ3JvdXBfaWQpXG4gICAgKTtcbiAgfVxuXG4gIGdldEdyb3VwQXNzaWduZWVzKCk6IGFueVtdIHtcbiAgICBjb25zdCBhc3NpZ25lZUdyb3VwSWRzID0gdGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93Py5hc3NpZ25lZXNfZ3JvdXAgfHwgW107XG4gICAgXG4gICAgcmV0dXJuIGFzc2lnbmVlR3JvdXBJZHMuZmxhdE1hcCgoZ3JvdXBJZDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBncm91cCA9IHRoaXMuZmluZEdyb3VwQnlJZChncm91cElkKTtcbiAgICAgIHJldHVybiB0aGlzLmdldEFzc2lnbmVlc0Zyb21Hcm91cChncm91cCk7XG4gICAgfSkgfHwgW107XG4gIH1cblxuICBmaW5kR3JvdXBCeUlkKGdyb3VwSWQ6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBMaXN0Py5maW5kKChncm91cDogYW55KSA9PiBncm91cD8uX2lkID09PSBncm91cElkKTtcbiAgfVxuXG4gIGdldEFzc2lnbmVlc0Zyb21Hcm91cChncm91cDogYW55KTogYW55W10ge1xuICAgIHJldHVybiBncm91cD8uYXNzb2NpYXRlZFVzZXJzPy5tYXAoKHVzZXI6IGFueSkgPT4ge1xuICAgICAgY29uc3QgdXNlckZyb21MaXN0ID0gdGhpcy5maW5kVXNlckJ5SWQodXNlcj8udXNlcklkPy5faWQpO1xuICAgICAgaWYgKHVzZXJGcm9tTGlzdCkge1xuICAgICAgICBjb25zdCB1c2VyR3JvdXBzID0gdGhpcy5nZXRVc2VyR3JvdXBzKHVzZXJGcm9tTGlzdCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4udXNlckZyb21MaXN0LFxuICAgICAgICAgIGFzc29jaWF0ZWRHcm91cHM6IHVzZXJHcm91cHMsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KS5maWx0ZXIoKHVzZXI6IGFueSkgPT4gdXNlciAhPT0gbnVsbCkgfHwgW107XG4gIH1cblxuICBmaW5kVXNlckJ5SWQodXNlcklkOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnVzZXJMaXN0Py5maW5kKCh1c2VyOiBhbnkpID0+IHVzZXI/Ll9pZCA9PT0gdXNlcklkKTtcbiAgfVxuXG4gIGdldFVuaXF1ZUFzc2lnbmVlcyhkaXJlY3RBc3NpZ25lZXM6IGFueVtdLCBncm91cEFzc2lnbmVlczogYW55W10pOiBhbnlbXSB7XG4gICAgcmV0dXJuIFsuLi5kaXJlY3RBc3NpZ25lZXMsIC4uLmdyb3VwQXNzaWduZWVzXS5yZWR1Y2UoKGFjYzogYW55W10sIHVzZXI6IGFueSkgPT4ge1xuICAgICAgaWYgKCFhY2Muc29tZSgodTogYW55KSA9PiB1Py5faWQgPT09IHVzZXI/Ll9pZCkpIHtcbiAgICAgICAgYWNjLnB1c2godXNlcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIHNlbGVjdGVkQXNzaWduZWUoZXZlbnQ6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudFN0YWdlSW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLmFzc2lnbmVlRGF0YVt0aGlzLmN1cnJlbnRTdGFnZUluZGV4XSA9IGV2ZW50O1xuICAgIH1cbiAgICB0aGlzLmFzc2lnbmVlQ2xpY2tlZCA9IGZhbHNlO1xuICAgIGlmIChldmVudD8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zaG93QXNzaWduZWVFcnJvciA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVDYXNlUmVzb2x1dGlvbkRlYWRsaW5lKCkge1xuICAgIGlmICghdGhpcy5pc0R1ZURhdGVWYWxpZCgpKSB7XG4gICAgICB0aGlzLnNob3dFcnJvciA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICghdGhpcy5hcmVBc3NpZ25lZXNWYWxpZCgpKSB7XG4gICAgICB0aGlzLnNob3dBc3NpZ25lZUVycm9yID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zaG93RXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dBc3NpZ25lZUVycm9yID0gZmFsc2U7XG4gICAgdGhpcy5zZXRQYXlsb2FkKCk7XG4gICAgdGhpcy5jbG9zZUR1ZURhdGVSZXNvbHV0aW9uLmVtaXQoKTtcbiAgfVxuXG4gIGlzRHVlRGF0ZVZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZHVlRGF0ZTtcbiAgfVxuXG4gIGFyZUFzc2lnbmVlc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLndvcmtmbG93RGV0YWlscz8uc3RhZ2VzX2Fzc2lnbmVlcz8uZXZlcnkoXG4gICAgICAoc3RhZ2U6IGFueSwgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgICAgdGhpcy5hc3NpZ25lZURhdGFbaW5kZXhdICYmIHRoaXMuYXNzaWduZWVEYXRhW2luZGV4XT8ubGVuZ3RoID4gMFxuICAgICk7XG4gIH1cblxuICBmb3JtYXREdWVEYXRlKGRhdGU6IGFueSk6IHN0cmluZyB7XG4gICAgY29uc3QgbG9jYWxEYXRlID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgLy8gQWRkIG9uZSBkYXkgdG8gdGhlIGRhdGVcbiAgICBsb2NhbERhdGUuc2V0RGF0ZShsb2NhbERhdGUuZ2V0RGF0ZSgpICsgMSk7XG4gICAgLy8gU2V0IHRpbWUgdG8gbWlkbmlnaHRcbiAgICBsb2NhbERhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgcmV0dXJuIGxvY2FsRGF0ZS50b0lTT1N0cmluZygpO1xuICB9XG5cbiAgc2V0RGVhZGxpbmVSZW1pbmRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93LnJlc29sdXRpb25fZGVhZGxpbmUuYXNzaWduZWVfcmVtaW5kX2JlZm9yZSA9XG4gICAgICB0aGlzLmVtYWlsUmVtaW5kZXI7XG4gICAgdGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93LnJlc29sdXRpb25fZGVhZGxpbmUub3duZXJfcmVtaW5kX2JlZm9yZSA9XG4gICAgICB0aGlzLmVzY2FsYXRpb25FbWFpbDtcbiAgfVxuXG4gIHNldFN0YWdlc0Fzc2lnbmVlcygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMud29ya2Zsb3dEZXRhaWxzPy5zdGFnZXNfYXNzaWduZWVzXG4gICAgICAubWFwKChzdGFnZTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGFzc2lnbmVlRGF0YSA9IHRoaXMuYXNzaWduZWVEYXRhW2luZGV4XTtcbiAgICAgICAgcmV0dXJuIGFzc2lnbmVlRGF0YVxuICAgICAgICAgID8gdGhpcy5jcmVhdGVTdGFnZUFzc2lnbmVlKHN0YWdlLCBhc3NpZ25lZURhdGEpXG4gICAgICAgICAgOiBudWxsO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG4gIH1cblxuICBjcmVhdGVTdGFnZUFzc2lnbmVlKHN0YWdlOiBhbnksIGFzc2lnbmVlRGF0YTogYW55W10pOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBzdGFnZV9pZDogc3RhZ2U/LnN0YWdlX2lkIHx8ICcnLFxuICAgICAgYXNzaWduZWVfaWQ6IGFzc2lnbmVlRGF0YVswXT8uX2lkIHx8ICcnLFxuICAgICAgZHVlX2RhdGU6IHN0YWdlPy5kdWVfZGF0ZSB8fCAnJyxcbiAgICB9O1xuICB9XG5cbiAgc2V0UGF5bG9hZCgpIHtcbiAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gdGhpcy5kdWVEYXRlO1xuICAgIHRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5yZXNvbHV0aW9uX2RlYWRsaW5lLmR1ZV9kYXRlID0gZm9ybWF0dGVkRGF0ZTtcbiAgICB0aGlzLnNldERlYWRsaW5lUmVtaW5kZXJzKCk7XG4gICAgY29uc3Qgc3RhZ2VzQXNzaWduZWVzID0gdGhpcy5zZXRTdGFnZXNBc3NpZ25lZXMoKTtcbiAgICB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3cucmVzb2x1dGlvbl9kZWFkbGluZS5zdGFnZXNfYXNzaWduZWVzID1cbiAgICAgIHN0YWdlc0Fzc2lnbmVlcztcbiAgICB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3cud29ya2Zsb3dfaWQgPSB0aGlzLndvcmtmbG93RGV0YWlscz8uX2lkO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxuICBkb2N1bWVudENsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRlUGlja2VyT2JqZWN0ID0ge1xuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgY2xhc3M6ICdlZmZlY3RpdmUtZGF0ZScsXG4gICAgICBwb3B1cDogdGhpcy5kYXRlUGlja2VyUG9wVXAsXG4gICAgICBjb21wb25lbnQ6IHRoaXMuZGF0ZVBpY2tlcixcbiAgICAgIG92ZXJsYXk6IHRoaXMuZGF0ZVBpY2tlck92ZXJsYXksXG4gICAgfTtcbiAgICB0aGlzLmNvbW1vbkRhdGVTZXJ2aWNlLmhhbmRsZURvY3VtZW50Q2xpY2soZGF0ZVBpY2tlck9iamVjdCk7XG4gIH1cblxuICBvbklucHV0Q2hhbmdlKCkge1xuICAgIGlmICh0aGlzLmVtYWlsUmVtaW5kZXIgPT09IDApIHtcbiAgICAgIHRoaXMuZW1haWxSZW1pbmRlciA9IEVNQUlMX1JFTUlOREVSUy5lbWFpbF9yZW1pbmRlcjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZXNjYWxhdGlvbkVtYWlsID09PSAwKSB7XG4gICAgICB0aGlzLmVzY2FsYXRpb25FbWFpbCA9IEVNQUlMX1JFTUlOREVSUy5lc2NhbGF0aW9uX2VtYWlsX3JlbWluZGVyO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS1yZXNvbHV0aW9uXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNvbmZpZ3VyZS1yZXNvbHV0aW9uLWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+XG4gICAgICBDb25maWd1cmUgUmVzb2x1dGlvbiBEZWFkbGluZSAmIFN0YWdlIERldGFpbHNcbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb25maWd1cmUtcmVzb2x1dGlvbi1ib2R5XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS1yZXNvbHV0aW9uLWJvZHktaW5uZXJcIj5cbiAgICAgIDxhcHAtbG9hZGVyLWlubGluZSAqbmdJZj1cImZhbHNlXCI+PC9hcHAtbG9hZGVyLWlubGluZT5cbiAgICAgIDxhcHAtbm8tZGF0YVxuICAgICAgICAqbmdJZj1cImZhbHNlXCJcbiAgICAgICAgW25vRGF0YUltYWdlXT1cIlxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VhcmNoLWRhdGEuc3ZnJ1xuICAgICAgICBcIlxuICAgICAgICBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiXG4gICAgICA+PC9hcHAtbm8tZGF0YT5cblxuICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibGFiZWwtdG9wIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtbGgtNCB2eC1tYi0xIHZ4LXR0LXVwcGVyY2FzZVwiXG4gICAgICAgID5cbiAgICAgICAgICBTUEVDSUZZIFRIRSBERUFETElORSBUTyBDTE9TRSBUSElTIENBU0VcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkIHZ4LWZzLTE2IHZ4LWZ3LTQwMFwiPio8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzZS1jYWxlbmRhciB2eC1tYi0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhc2UtY2FsZW5kYXItaW5uZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e1xuICAgICAgICAgICAgICAgIGR1ZURhdGVUZXh0cy5jYXNlX2RldGFpbHMuZHVlX2RhdGUuZGVhZGxpbmVfcGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkRhdGVQaWNrZXIoKVwiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJkdWVEYXRlIHwgZGF0ZSA6ICdkZCBNTU0geXl5eSdcIlxuICAgICAgICAgICAgICBpZD1cImVmZmVjdGl2ZS1kYXRlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkyZDs8L2k+XG4gICAgICAgICAgICA8ZHAtZGF0ZS1waWNrZXJcbiAgICAgICAgICAgICAgI2RhdGVQaWNrZXJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cImRhdGVQaWNrZXJPdmVybGF5ID0gZmFsc2U7IGNsb3NlRGF0ZVBpY2tlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW2NvbmZpZ109XCJkYXRlQ29uZmlnXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkdWVEYXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZHAtZGF0ZS1waWNrZXI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidngtb3ZlcmxheVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZURhdGVQaWNrZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiZGF0ZVBpY2tlck92ZXJsYXlcIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93RXJyb3JcIiBjbGFzcz1cImVycm9yTXNnIHZ4LWZzLTExIHZ4LWxoLTQgdngtbXQtMVwiPlxuICAgICAgICAgICAge3sgZHVlRGF0ZVRleHRzLmVycm9yTWVzc2FnZS5kdWVEYXRlIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtbWItMVwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibGFiZWwtdG9wIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtbGgtNCB2eC10dC11cHBlcmNhc2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIENPTkZJR1VSRSBERUFETElORSAmIEFTU0lHTkVFIEZPUiBFQUNIIFNUQUdFIElOIFRIRSBXT1JLRkxPV1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZCB2eC1mcy0xNiB2eC1mdy00MDBcIj4qPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInRvZ2dsZS1hcmVhIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxhcHAtY3Mtc3dpdGNoPkFsbG93IFJlb3BlbmluZyBvZiBQcmV2aW91cyBTdGFnZTwvYXBwLWNzLXN3aXRjaD5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnMgaW5mbyB2eC1mcy0xMiB2eC10eHQtYmx1ZSB2eC1tbC0yXCJcbiAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgJ0lmIGVuYWJsZWQsIHRoaXMgb3B0aW9uIGFsbG93cyB0aGUgYXNzaWduZWUgdG8gcmV2aXNpdCBhbmQgcmVvcGVuIGEgcHJldmlvdXNseSBjb21wbGV0ZWQgc3RhZ2UuIFRoZSBzdGFnZSB3aWxsIGJlIHJlc2V0LCBhbmQgdGhlIGFzc2lnbmVkIHVzZXIgd2lsbCBuZWVkIHRvIGNvbXBsZXRlIGl0IGFnYWluLidcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCJcbiAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgdHlwZT1cIndoaXRlXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgID4mI3hlOTFmOzwvaVxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb25maWd1cmUtcmVzb2x1dGlvbi10YWJsZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgI1xuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzdGFnZS1uYW1lXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIFNUQUdFIE5BTUVcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc3RhdHVzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIFRSQU5TSVRJT04gU1RBVFVTXG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnMgaW5mbyB2eC1mcy0xMiB2eC10eHQtYmx1ZSB2eC1tbC0xXCJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImhlbHBlclRleHQudHJhbnNpdGlvbl9zdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwid2hpdGVcIlxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGFzc2lnbmVlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEFTU0lHTkVFXG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnMgaW5mbyB2eC1mcy0xMiB2eC10eHQtYmx1ZSB2eC1tbC0xXCJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImhlbHBlclRleHQuYXNzaWduZWVcIlxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwid2hpdGVcIlxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGRlYWRsaW5lXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIERFQURMSU5FXG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnMgaW5mbyB2eC1mcy0xMiB2eC10eHQtYmx1ZSB2eC1tbC0xXCJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImhlbHBlclRleHQuZGVhZGxpbmVcIlxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwid2hpdGVcIlxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1yb3dcIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICBsZXQgZGF0YSBvZiB3b3JrZmxvd0RldGFpbHM/LnN0YWdlc19hc3NpZ25lZXM7XG4gICAgICAgICAgICAgICAgbGV0IGkgPSBpbmRleFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3Itbm8gdngtZnMtMTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJpICsgMVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBpICsgMSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHN0YWdlLW5hbWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZSB2eC1mcy0xMyB2eC1wci0yXCJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImRhdGE/Lm5hbWVcIlxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgZGF0YT8ubmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHN0YXR1c1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWUgdngtZnMtMTJcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGRhdGE/LnN0YXR1c190cmFuc2l0aW9uPy5mcm9tTmFtZSB9fTxiciAvPjxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidngtbXItMVwiXG4gICAgICAgICAgICAgICAgICAgID5Ubzwvc3BhblxuICAgICAgICAgICAgICAgICAgPnt7IGRhdGE/LnN0YXR1c190cmFuc2l0aW9uPy50b05hbWUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBhc3NpZ25lZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2YXRlU2VsZWN0b3IodHJ1ZSwgaSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhYXNzaWduZWVEYXRhW2ldPy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QtYm94IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTMgdngtcHItM1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlIHZ4LWZzLTEzXCI+U2VsZWN0IGEgVXNlcjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBhcnJvdyB2eC1mcy0xMlwiPiYjeGU5ZTg7PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYXNzaWduZWVEYXRhW2ldPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWZ0ZXItc2VsZWN0LWJveCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC0zIHZ4LXByLTJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZS1jaGlwIHZ4LWZzLTExIHZ4LXBsLTIgdngtcHItMiB2eC1saC02XCJcbiAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiYXNzaWduZWVEYXRhW2ldWzBdPy5tZW1iZXJfbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBhc3NpZ25lZURhdGFbaV1bMF0/Lm1lbWJlcl9uYW1lIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2YXRlU2VsZWN0b3IodHJ1ZSwgaSlcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVkaXQtYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10eHQtYmx1ZSB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC10eHQtYmx1ZSB2eC1tci0xXCI+JiN4ZTliYTs8L2lcbiAgICAgICAgICAgICAgICAgICAgPkVESVRcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGRlYWRsaW5lXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FzZS1jYWxlbmRhciB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXB0LTMgdngtcGItM1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhc2UtY2FsZW5kYXItaW5uZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJ7eyBkdWVEYXRlIHwgZGF0ZSA6ICdkZCBNTU0geXl5eScgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRGF0ZVBpY2tlcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICBpZD1cImVmZmVjdGl2ZS1kYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MmQ7PC9pPlxuICAgICAgICAgICAgICAgICAgICA8ZHAtZGF0ZS1waWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAjZGF0ZVBpY2tlclxuICAgICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVQaWNrZXJPdmVybGF5ID0gZmFsc2U7IGNsb3NlRGF0ZVBpY2tlcigkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImRhdGVDb25maWdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvZHAtZGF0ZS1waWNrZXI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LW92ZXJsYXlcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZURhdGVQaWNrZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRlUGlja2VyT3ZlcmxheVwiXG4gICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0Fzc2lnbmVlRXJyb3JcIlxuICAgICAgICAgICAgY2xhc3M9XCJlcnJvck1zZyB2eC1mcy0xMSB2eC1saC00IHZ4LW10LTFcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGR1ZURhdGVUZXh0cy5lcnJvck1lc3NhZ2Uuc3RhZ2VBc3NpZ25lZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibGFiZWwtdG9wIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtbGgtNCB2eC1tYi0xIHZ4LXR0LXVwcGVyY2FzZVwiXG4gICAgICAgID5cbiAgICAgICAgICBFTUFJTCBSRU1JTkRFUiBDT05GSUdVUkFUSU9OXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZCB2eC1mcy0xNiB2eC1mdy00MDBcIj4qPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXIgdngtbWItMlwiPjwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJsYWJlbC10b3AgdngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1saC00IHZ4LW1iLTEgdngtdHQtdXBwZXJjYXNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIFJFTUlOREVSIEVNQUlMXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJlbWFpbC1jb25maWd1cmUtYm94IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtZmxleC13cmFwIHZ4LXAtMiB2eC1wbC0zIHZ4LXByLTMgdngtbWItMlwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtbXItMVwiPlxuICAgICAgICAgICAgU2VuZCByZWd1bGFyIGVtYWlsIHJlbWluZGVycyB0byB0aGUgYXNzaWduZWVcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbWFpbFJlbWluZGVyXCJcbiAgICAgICAgICAgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXkgIT09ICcuJ1wiXG4gICAgICAgICAgICBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25JbnB1dENoYW5nZSgpXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1tbC0xXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJsYWNrLXRleHRcIj5kYXlzPC9zcGFuPiBiZWZvcmUgdGhlIHN0YWdlIGRlYWRsaW5lLlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibGFiZWwtdG9wIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtbGgtNCB2eC1tYi0xIHZ4LXR0LXVwcGVyY2FzZVwiXG4gICAgICAgID5cbiAgICAgICAgICBFU0NBTEFUSU9OIEVNQUlMXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJlbWFpbC1jb25maWd1cmUtYm94IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtZmxleC13cmFwIHZ4LXAtMiB2eC1wbC0zIHZ4LXByLTMgdngtbWItMlwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtbXItMVwiPlxuICAgICAgICAgICAgU2VuZCBlbWFpbCBlc2NhbGF0aW9uIHRvIHRoZSBDYXNlIE93bmVyXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZXNjYWxhdGlvbkVtYWlsXCJcbiAgICAgICAgICAgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXkgIT09ICcuJ1wiXG4gICAgICAgICAgICBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25JbnB1dENoYW5nZSgpXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1tbC0xXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJsYWNrLXRleHRcIj5kYXlzPC9zcGFuPiBiZWZvcmUgdGhlIG92ZXJhbGwgY2FzZVxuICAgICAgICAgICAgZGVhZGxpbmUsIGlmIHRoZSBjYXNlIGlzIHN0aWxsIG9wZW4uXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGFwcC1mbG9hdGluZy1iYXJcbiAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2VEdWVEYXRlKClcIlxuICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZUNhc2VSZXNvbHV0aW9uRGVhZGxpbmUoKVwiXG4gICAgPjwvYXBwLWZsb2F0aW5nLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxhcHAtYXNzaWduZWVcbiAgKm5nSWY9XCJhc3NpZ25lZUNsaWNrZWRcIlxuICBbcGF5bG9hZF09XCJwYXlsb2FkXCJcbiAgW2Fzc2lnbmVlTGlzdF09XCJhc3NpZ25lZUxpc3RcIlxuICBbYWN0aXZlQXNzaWduZWVdPVwiYWN0aXZlQXNzaWduZWVcIlxuICAoc2VsZWN0ZWRBc3NpZ25lZUV2ZW50KT1cInNlbGVjdGVkQXNzaWduZWUoJGV2ZW50KVwiXG4gIChjbG9zZUV2ZW50KT1cImFjdGl2YXRlU2VsZWN0b3IoZmFsc2UpXCJcbj48L2FwcC1hc3NpZ25lZT5cbiJdfQ==
|
|
@@ -102,7 +102,7 @@ export class RcDetailsComponent {
|
|
|
102
102
|
if (this.selectedItems?.length) {
|
|
103
103
|
this.state = SelectionState.SELECTED;
|
|
104
104
|
this.selectedItems = this.responsibilityCentersList
|
|
105
|
-
?.filter((rc) => this.selectedItems?.
|
|
105
|
+
?.filter((rc) => this.selectedItems?.some((item) => item?.value === rc?.rc_id))
|
|
106
106
|
?.map((rc) => ({
|
|
107
107
|
label: rc?.item_name,
|
|
108
108
|
value: rc?.rc_id,
|
|
@@ -193,6 +193,7 @@ export class RcDetailsComponent {
|
|
|
193
193
|
resetRcList() {
|
|
194
194
|
this.selectedRcList = [];
|
|
195
195
|
this.payload.rc_details.ids = [];
|
|
196
|
+
this.selectedItems = [];
|
|
196
197
|
this.state = SelectionState.EMPTY;
|
|
197
198
|
}
|
|
198
199
|
onRcTypeChange(event) {
|
|
@@ -475,4 +476,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
475
476
|
}], filterDeselector: [{
|
|
476
477
|
type: Output
|
|
477
478
|
}] } });
|
|
478
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmMtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9yZXBvcnQtYS1jYXNlL2NvbXBvbmVudHMvcmMtZGV0YWlscy9yYy1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUliLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEdBQ2YsTUFBTSx1Q0FBdUMsQ0FBQztBQUcvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7OztBQWlJakUsTUFBTSxPQUFPLGtCQUFrQjtJQWlDN0IsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQztRQUVoQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxFQUFFLFVBQVUsQ0FBQztRQUM3QyxJQUFJLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO1NBQzVDO0lBRUgsQ0FBQztJQVFELFlBQW9CLGlCQUEwQztRQUExQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO1FBaEQ5RCxXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxXQUFXLENBQUM7UUFDdEIsYUFBUSxHQUFHLE1BQU0sQ0FBQztRQUNsQiw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUFDdEMsaUJBQVksR0FBUTtZQUNsQixH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RyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFTRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2Vzc3RzLmNvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBQ1RJT05fQ09ERSxcbiAgREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgRklFTERfU0VMRUNUT1IsXG4gIFJFUE9SVF9DQVNFLFxuICBTZWxlY3Rpb25Qb3B1cFN0YXRlLFxuICBTZWxlY3Rpb25TdGF0ZSxcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3JlcG9ydC1jYXNlLmNvbnN0YW50cyc7XG5cbmltcG9ydCB7IENvbXBsaWFuY2VDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvY29tbW9uLXdvcmtmbG93LXNlcnZpY2VzL2NvbXBsaWFuY2UtY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVwb3J0IH0gZnJvbSAnLi4vY2FzZS10eXBlLXNsaWRlci9jYXNlLXR5cGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJjLWRldGFpbHMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhcHAtZmllbGQtaG9sZGVyXG4gICAgICBbaW1hZ2VdPVwiQVNTRVRTLnJlc3BvbnNpYmlsaXR5X2NlbnRlclwiXG4gICAgICBbYWN0aXZlXT1cInJjQ2xpY2tlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgIGZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkU2VsZWN0ZWQpICYmXG4gICAgICAgIGZpZWxkU2VsZWN0ZWQgIT09IGN1cnJlbnRTZWxlY3RvclxuICAgICAgXCJcbiAgICAgIFtjaGVja2VkXT1cInBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoXCJcbiAgICA+XG5cbiAgICAgIDxuZy1jb250YWluZXIgZmllbGQ+XG4gICAgICAgIDxhcHAtZm9ybS1zZWxlY3RCb3hcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgICBbcG9wdXBTdGF0ZV09XCJTZWxlY3Rpb25Qb3B1cFN0YXRlLlNFTEVDVElPTl9ESUFMT0dcIlxuICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgICAgICAgW2lzRXJyb3JdPVwidmFsaWRhdGlvbkVycm9yLnJjLmlzRXJyb3JcIlxuICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwidmFsaWRhdGlvbkVycm9yLnJjLm1lc3NhZ2VcIlxuICAgICAgICAgIFtlZGl0RGlzYWJsZWRdPVwicmNFZGl0RGlzYWJsZVwiXG4gICAgICAgICAgW3JlbW92YWJsZV09XCIhcmNFZGl0RGlzYWJsZVwiXG4gICAgICAgICAgKGZpZWxkQ2xpY2tlZCk9XCJhY3RpdmF0ZVNlbGVjdG9yKCRldmVudClcIlxuICAgICAgICAgIChzZWxlY3RlZEl0ZW1MaXN0Q2hhbmdlKT1cInNldFJjTGlzdCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhcHAtdmMtbGFiZWxcbiAgICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgICBbbGFiZWxUZXh0XT1cInJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLnRpdGxlXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJcbiAgICAgICAgICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1cgfHxcbiAgICAgICAgICAgICAgd29ya2Zsb3dUeXBlID09PSAnQUNUVydcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvYXBwLXZjLWxhYmVsPlxuICAgICAgICA8L2FwcC1mb3JtLXNlbGVjdEJveD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAoY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1cgfHxcbiAgICAgICAgICAgICAgd29ya2Zsb3dUeXBlID09PSAnQUNUVycpICYmXG4gICAgICAgICAgICBwYXlsb2FkPy5yY19kZXRhaWxzPy5pZHM/Lmxlbmd0aCA+IDFcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXRjaC1yb3cgc3dpdGNoLWRpc2FibGVkIGFsaWduLXJpZ2h0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0b2dnbGUtdGV4dCB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWxoLTQgIHZ4LW1yLTJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyByY1RleHRzLmNhc2VfZGV0YWlscy5yYy5zYW1lUmNUZXh0IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxhcHAtY3Mtc3dpdGNoIFtuZ1ZhbHVlXT1cInRydWVcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPiA8L2FwcC1jcy1zd2l0Y2g+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSA8YXBwLWNzLXJhZGlvXG4gICAgICAgICAgICBjbGFzcz1cIm1haW4tZmlsZWRcIlxuICAgICAgICAgICAgW25hbWVdPVwiJ2ZmX3Jlc3BvbnNpYmlsaXR5X3JjX2xpbmsnXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cInBheWxvYWQ/LnJjX2RldGFpbHM/LnNlcGFyYXRlX3JjX2Nhc2VzXCJcbiAgICAgICAgICAgIChjaGVja2VkRXZlbnQpPVwib25SY1R5cGVDaGFuZ2UodHJ1ZSlcIlxuICAgICAgICAgICAgPjxkaXYgY2xhc3M9XCJyYy1yYWRpby10ZXh0XCI+XG4gICAgICAgICAgICAgIHt7IHJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLnNlcGFyYXRlUmNUZXh0IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJyY1RleHRzLmNhc2VfZGV0YWlscy5yYy5zZXBhcmF0ZVJjVG9vbHRpcFwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcbiAgICAgICAgICAgID48L2FwcC1jcy1yYWRpb1xuICAgICAgICAgID5cbiAgICAgICAgICA8YXBwLWNzLXJhZGlvXG4gICAgICAgICAgICBjbGFzcz1cIm1haW4tZmlsZWRcIlxuICAgICAgICAgICAgW25hbWVdPVwiJ2ZmX3Jlc3BvbnNpYmlsaXR5X3JjX2xpbmsnXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cIiFwYXlsb2FkPy5yY19kZXRhaWxzPy5zZXBhcmF0ZV9yY19jYXNlc1wiXG4gICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cIm9uUmNUeXBlQ2hhbmdlKGZhbHNlKVwiXG4gICAgICAgICAgICA+e3sgcmNUZXh0cy5jYXNlX2RldGFpbHMucmMuc2FtZVJjVGV4dFxuICAgICAgICAgICAgfX08aVxuICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicmNUZXh0cy5jYXNlX2RldGFpbHMucmMuc2FtZVJjVG9vbHRpcFwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcbiAgICAgICAgICAgID48L2FwcC1jcy1yYWRpb1xuICAgICAgICAgID4gLS0+XG4gICAgICAgICAgPHBcbiAgICAgICAgICAgICpuZ0lmPVwiIXBheWxvYWQ/LnJjX2RldGFpbHM/LnNlcGFyYXRlX3JjX2Nhc2VzXCJcbiAgICAgICAgICAgIGNsYXNzPVwidngtZnMtMTEgdngtbGgtNCB2eC1mdy01MDAgdngtdHh0LWJsYWNrIHZ4LW1iLTJcIlxuICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkU2VsZWN0ZWQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBTRUxFQ1QgVEhFIE1BSU4gUkVTUE9OU0lCSUxJVFkgQ0VOVEVSIEJBU0VEIE9OIFdISUNIIFRIRSBXT1JLRkxPV1xuICAgICAgICAgICAgRk9SIFRISVMgQ0FTRSBXSUxMIEJFIERFRklORURcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGFwcC1mb3JtLXNlbGVjdEJveFxuICAgICAgICAgICAgKm5nSWY9XCIhcGF5bG9hZD8ucmNfZGV0YWlscz8uc2VwYXJhdGVfcmNfY2FzZXNcIlxuICAgICAgICAgICAgW2NvbmZpZ109XCJtYWluUmNDb25maWdcIlxuICAgICAgICAgICAgW3N0YXRlXT1cIm1haW5SY1N0YXRlXCJcbiAgICAgICAgICAgIFtwb3B1cFN0YXRlXT1cIlNlbGVjdGlvblBvcHVwU3RhdGUuRFJPUF9ET1dOXCJcbiAgICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRNYWluUmNJdGVtc1wiXG4gICAgICAgICAgICBbaXNFcnJvcl09XCJ2YWxpZGF0aW9uRXJyb3IubWFpblJjLmlzRXJyb3JcIlxuICAgICAgICAgICAgW2Vycm9yTWVzc2FnZV09XCJ2YWxpZGF0aW9uRXJyb3IubWFpblJjLm1lc3NhZ2VcIlxuICAgICAgICAgICAgW2VkaXREaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgbW9kZSA9PT0gJ0VESVQnICYmXG4gICAgICAgICAgICAgIGNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XICYmXG4gICAgICAgICAgICAgIHdvcmtmbG93VHlwZSAhPT0gJ0FDVFcnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKGZpZWxkQ2xpY2tlZCk9XCJhY3RpdmF0ZVNlbGVjdG9yKCRldmVudClcIlxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbUxpc3RDaGFuZ2UpPVwic2F2ZU1haW5SY0xpc3QoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvYXBwLWZvcm0tc2VsZWN0Qm94PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYXBwLWZpZWxkLWhvbGRlcj5cbiAgICA8YXBwLXJlc3BvbnNpYmlsaXR5LWNlbnRlcnMtbGlzdFxuICAgICAgKm5nSWY9XCJyY0NsaWNrZWRcIlxuICAgICAgW3Jlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RdPVwicmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFwiXG4gICAgICBbc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUNlbnRlcnNdPVwic2VsZWN0ZWRSY0xpc3RcIlxuICAgICAgW3JjSWRLZXldPVwiJ3JjX2lkJ1wiXG4gICAgICAoc2F2ZVNlbGVjdGVkTGlzdCk9XCJzYXZlU2VsZWN0ZWRSQ0xpc3QoJGV2ZW50KVwiXG4gICAgICAoY2xvc2VSY0xpc3QpPVwiYWN0aXZhdGVTZWxlY3RvcihmYWxzZSlcIlxuICAgICAgW3Npbmd1bGFyVGV4dF09XCJyY1RleHRzLmNhc2VfZGV0YWlscy5yYy5zaW5ndWxhclRleHRcIlxuICAgICAgW3BsdXJhbFRleHRdPVwicmNUZXh0cy5jYXNlX2RldGFpbHMucmMucGx1cmFsVGV4dFwiXG4gICAgICBbbG9hZGVkXT1cIiFyY0xpc3RMb2FkZXJcIlxuICAgID5cbiAgICA8L2FwcC1yZXNwb25zaWJpbGl0eS1jZW50ZXJzLWxpc3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuLi8uLi8uLi9mb3Jtcy5sZXNzJywgJy4vcmMtZGV0YWlscy5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSY0RldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgcmNUZXh0cyA9IFJFUE9SVF9DQVNFO1xuICBjYXNlVHlwZSA9IHJlcG9ydDtcbiAgcmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdDogYW55W10gPSBbXTtcbiAgbWFpblJjQ29uZmlnOiBhbnkgPSB7XG4gICAgLi4uREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgICBhY3Rpb246IEFDVElPTl9DT0RFLlJDLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLnJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLm1haW5SY1BsYWNlaG9sZGVyLFxuICAgIGl0ZW1zOiBbXSxcbiAgfTtcbiAgY29uZmlnOiBhbnkgPSB7XG4gICAgLi4uREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgICBhY3Rpb246IEFDVElPTl9DT0RFLlJDLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLnJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLnBsYWNlaG9sZGVyLFxuICAgIGl0ZW1zOiBbXSxcbiAgfTtcbiAgcmNDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHJjTGlzdExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBTZWxlY3Rpb25TdGF0ZSA9IFNlbGVjdGlvblN0YXRlO1xuICBTZWxlY3Rpb25Qb3B1cFN0YXRlID0gU2VsZWN0aW9uUG9wdXBTdGF0ZTtcbiAgc3RhdGU6IHN0cmluZyA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICBtYWluUmNTdGF0ZTogc3RyaW5nID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkUmNMaXN0OiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZE1haW5SY0l0ZW1zOiBhbnlbXSA9IFtdO1xuICBmaWVsZFNlbGVjdG9yID0gRklFTERfU0VMRUNUT1I7XG4gIGN1cnJlbnRTZWxlY3RvciA9ICdSQyc7XG5cbiAgQElucHV0KCkgcGF5bG9hZDogYW55ID0ge307XG4gIEBJbnB1dCgpIGZpZWxkU2VsZWN0ZWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjYXNlVHlwZVNlbGVjdGVkOiBzdHJpbmcgPSByZXBvcnQuUkVQT1JUX0NBU0U7XG4gIEBJbnB1dCgpIHZhbGlkYXRpb25FcnJvcjogYW55ID0ge307XG4gIEBJbnB1dCgpIHNldCBpbml0aWFsU2VsZWN0aW9uKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB2YWx1ZT8uaWRzO1xuXG4gICAgdGhpcy5zZWxlY3RlZE1haW5SY0l0ZW1zID0gdmFsdWU/Lm1haW5fcmNfaWQ7XG4gICAgaWYgKHZhbHVlPy5tYWluX3JjX2lkKSB7XG4gICAgICB0aGlzLm1haW5SY1N0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgfVxuXG4gIH1cbiAgQElucHV0KCkgbW9kZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHdvcmtmbG93VHlwZTogc3RyaW5nID0gJyc7XG5cbiAgQE91dHB1dCgpIGZpZWxkQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uUmNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckRlc2VsZWN0b3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBsaWFuY2VTZXJ2aWNlOiBDb21wbGlhbmNlQ29tbW9uU2VydmljZSkge31cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRNYWluUmNJdGVtcyA9IFtdO1xuICAgIHRoaXMubWFpblJjU3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gICAgdGhpcy5jb21wbGlhbmNlU2VydmljZS5yY0xpc3Q/Lm5leHQobnVsbCk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRNYWluUmNJdGVtcyA9IFtdO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XG4gICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3BheWxvYWQnXSkge1xuICAgICAgaWYgKCF0aGlzLnBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSY0xpc3QgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2Nhc2VUeXBlU2VsZWN0ZWQnXSkge1xuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0ID0gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0UmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCgpIHtcbiAgICB0aGlzLnJjTGlzdExvYWRlciA9IHRydWU7XG4gICAgY29uc3QgYWxsVmlzaWJsZSA9IHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gJ3JlcG9ydENhc2UnICYmIHRoaXMud29ya2Zsb3dUeXBlID09PSAnUkFDJyAmJiB0aGlzLm1vZGUgIT09ICdFRElUJyA/IHRydWUgOiBmYWxzZTtcbiAgICB0aGlzLmNvbXBsaWFuY2VTZXJ2aWNlXG4gICAgICAuZ2V0UmNMaXN0SW5mbyh1bmRlZmluZWQsIGFsbFZpc2libGUpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QgPSByZXM7XG4gICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdFRElUJykge1xuICAgICAgICAgIHRoaXMucG9wdWxhdGVTZWxlY3RlZEl0ZW1zKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yY0xpc3RMb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcG9wdWxhdGVTZWxlY3RlZEl0ZW1zKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXM/Lmxlbmd0aCApIHtcbiAgICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFxuICAgICAgICA/LmZpbHRlcigocmM6IGFueSkgPT4gdGhpcy5zZWxlY3RlZEl0ZW1zPy5pbmNsdWRlcyhyYz8uX2lkKSlcbiAgICAgICAgPy5tYXAoKHJjOiBhbnkpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IHJjPy5pdGVtX25hbWUsXG4gICAgICAgICAgdmFsdWU6IHJjPy5yY19pZCxcbiAgICAgICAgfSkpO1xuICAgICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdD8uZmlsdGVyKChyYzogYW55KSA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXM/LnNvbWUoKGl0ZW06IGFueSkgPT4gaXRlbT8udmFsdWUgPT09IHJjPy5yY19pZClcbiAgICAgICk7XG4gICAgICB0aGlzLm1haW5SY0NvbmZpZy5pdGVtcyA9IHRoaXMuc2VsZWN0ZWRSY0xpc3QubWFwKChyYzogYW55KSA9PiAoe1xuICAgICAgICBuYW1lOiByYz8uaXRlbV9uYW1lLFxuICAgICAgICBfaWQ6IHJjPy5faWQsXG4gICAgICB9KSk7XG4gICAgICB0aGlzLnNlbGVjdGVkTWFpblJjSXRlbXMgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RcbiAgICAgICAgPy5maWx0ZXIoKHJjOiBhbnkpID0+IHRoaXMuc2VsZWN0ZWRNYWluUmNJdGVtcyA9PT0gcmM/Ll9pZClcbiAgICAgICAgPy5tYXAoKHJjOiBhbnkpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IHJjPy5pdGVtX25hbWUsXG4gICAgICAgICAgdmFsdWU6IHJjPy5faWQsXG4gICAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlID09PSAnRURJVCcgJiYgdGhpcy53b3JrZmxvd1R5cGUgIT09ICdBQ1RXJyAmJiB0aGlzLmNhc2VUeXBlU2VsZWN0ZWQgPT09IHRoaXMuY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1dcbiAgICAgICAgPyAoKHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5ESVNBQkxFRCksXG4gICAgICAgICAgKHRoaXMuY29uZmlnLmRpc2FibGVkVGV4dCA9IHRoaXMucmNUZXh0cy5jYXNlX2RldGFpbHMucmMucGxhY2Vob2xkZXIpKVxuICAgICAgICA6ICh0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuRU1QVFkpO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVTZWxlY3RlZFJDTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5yY0NsaWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNldFNlbGVjdGVkUmNMaXN0KGV2ZW50KTtcbiAgICB0aGlzLnNldE1haW5SY0xpc3QoZXZlbnQpO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFxuICAgICAgLmZpbHRlcigocmM6IGFueSkgPT4gZXZlbnQuaW5jbHVkZXMocmM/LnJjX2lkKSlcbiAgICAgIC5tYXAoKHJjOiBhbnkpID0+ICh7XG4gICAgICAgIGxhYmVsOiByYz8uaXRlbV9uYW1lLFxuICAgICAgICB2YWx1ZTogcmM/LnJjX2lkLFxuICAgICAgfSkpO1xuICAgIHRoaXMuc2V0UGF5bG9hZChldmVudCk7XG4gICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJycpO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLnJjLmlzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5yYy5tZXNzYWdlID0gJyc7XG4gICAgdGhpcy5maWx0ZXJEZXNlbGVjdG9yLmVtaXQoZmFsc2UpO1xuICB9XG5cbiAgc2V0TWFpblJjTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5tYWluUmNDb25maWcuaXRlbXMgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RcbiAgICAgIC5maWx0ZXIoKHJjOiBhbnkpID0+IGV2ZW50LmluY2x1ZGVzKHJjPy5yY19pZCkpXG4gICAgICAubWFwKChyYzogYW55KSA9PiAoe1xuICAgICAgICBuYW1lOiByYz8uaXRlbV9uYW1lLFxuICAgICAgICBfaWQ6IHJjPy5faWQsXG4gICAgICB9KSk7XG4gIH1cblxuICBzYXZlTWFpblJjTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5tYWluUmNTdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgIHRoaXMucGF5bG9hZC5yY19kZXRhaWxzLm1haW5fcmNfaWQgPSBldmVudFswXT8udmFsdWU7XG4gICAgdGhpcy5vblJjQ2hhbmdlLmVtaXQodGhpcy5wYXlsb2FkLnJjX2RldGFpbHMubWFpbl9yY19pZCk7XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3IubWFpblJjLmlzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5tYWluUmMubWVzc2FnZSA9ICcnO1xuICB9XG5cbiAgc2V0UGF5bG9hZChldmVudDogYW55KSB7XG4gICAgdGhpcy5wYXlsb2FkLnJjX2RldGFpbHMuaWRzID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0XG4gICAgICAuZmlsdGVyKChyYzogYW55KSA9PiBldmVudC5pbmNsdWRlcyhyYz8ucmNfaWQpKVxuICAgICAgLm1hcCgocmM6IGFueSkgPT4gcmM/Ll9pZCk7XG4gICAgaWYgKHRoaXMucGF5bG9hZC5yY19kZXRhaWxzLmlkcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMub25SY0NoYW5nZS5lbWl0KHRoaXMucGF5bG9hZC5yY19kZXRhaWxzLmlkc1swXSk7XG4gICAgfVxuICB9XG5cbiAgc2V0U2VsZWN0ZWRSY0xpc3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSY0xpc3QgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QuZmlsdGVyKChyYzogYW55KSA9PlxuICAgICAgZXZlbnQuaW5jbHVkZXMocmM/LnJjX2lkKVxuICAgICk7XG4gIH1cblxuICBhY3RpdmF0ZVNlbGVjdG9yKGFjdGl2ZTogYm9vbGVhbikge1xuICAgIHRoaXMucmNDbGlja2VkID0gYWN0aXZlO1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCgpO1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJ1JDJyk7XG4gICAgICB0aGlzLmZpbHRlckRlc2VsZWN0b3IuZW1pdCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWVsZENsaWNrZWQuZW1pdCgnJyk7XG4gICAgICB0aGlzLmZpbHRlckRlc2VsZWN0b3IuZW1pdChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0UmNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoIWV2ZW50Py5sZW5ndGgpIHtcbiAgICAgIHRoaXMucmVzZXRSY0xpc3QoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkUmNMaXN0ID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0Py5maWx0ZXIoKHJjOiBhbnkpID0+XG4gICAgICBldmVudD8uc29tZSgoaXRlbTogYW55KSA9PiBpdGVtPy52YWx1ZSA9PT0gcmM/LnJjX2lkKVxuICAgICk7XG4gICAgdGhpcy5wYXlsb2FkLnJjX2RldGFpbHMuaWRzID0gdGhpcy5zZWxlY3RlZFJjTGlzdD8ubWFwKFxuICAgICAgKHJjOiBhbnkpID0+IHJjPy5faWRcbiAgICApO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgfVxuXG4gIHJlc2V0UmNMaXN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRSY0xpc3QgPSBbXTtcbiAgICB0aGlzLnBheWxvYWQucmNfZGV0YWlscy5pZHMgPSBbXTtcbiAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gIH1cblxuICBvblJjVHlwZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5wYXlsb2FkLnJjX2RldGFpbHMuc2VwYXJhdGVfcmNfY2FzZXMgPSBldmVudDtcbiAgfVxuXG4gIGdldCByY0VkaXREaXNhYmxlKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLm1vZGUgPT09ICdFRElUJyAmJlxuICAgICAgdGhpcy5jYXNlVHlwZVNlbGVjdGVkID09PSB0aGlzLmNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XICYmXG4gICAgICB0aGlzLndvcmtmbG93VHlwZSAhPT0gJ0FDVFcnICYmXG4gICAgICB0aGlzLnBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoID09PSAxXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
479
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmMtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9yZXBvcnQtYS1jYXNlL2NvbXBvbmVudHMvcmMtZGV0YWlscy9yYy1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUliLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEdBQ2YsTUFBTSx1Q0FBdUMsQ0FBQztBQUcvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7OztBQWlJakUsTUFBTSxPQUFPLGtCQUFrQjtJQWlDN0IsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQztRQUVoQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxFQUFFLFVBQVUsQ0FBQztRQUM3QyxJQUFJLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO1NBQzVDO0lBRUgsQ0FBQztJQVFELFlBQW9CLGlCQUEwQztRQUExQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO1FBaEQ5RCxXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxXQUFXLENBQUM7UUFDdEIsYUFBUSxHQUFHLE1BQU0sQ0FBQztRQUNsQiw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUFDdEMsaUJBQVksR0FBUTtZQUNsQixH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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwSFQ7OEdBZ0NRLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFTRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2Vzc3RzLmNvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBQ1RJT05fQ09ERSxcbiAgREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgRklFTERfU0VMRUNUT1IsXG4gIFJFUE9SVF9DQVNFLFxuICBTZWxlY3Rpb25Qb3B1cFN0YXRlLFxuICBTZWxlY3Rpb25TdGF0ZSxcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3JlcG9ydC1jYXNlLmNvbnN0YW50cyc7XG5cbmltcG9ydCB7IENvbXBsaWFuY2VDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvY29tbW9uLXdvcmtmbG93LXNlcnZpY2VzL2NvbXBsaWFuY2UtY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVwb3J0IH0gZnJvbSAnLi4vY2FzZS10eXBlLXNsaWRlci9jYXNlLXR5cGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJjLWRldGFpbHMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhcHAtZmllbGQtaG9sZGVyXG4gICAgICBbaW1hZ2VdPVwiQVNTRVRTLnJlc3BvbnNpYmlsaXR5X2NlbnRlclwiXG4gICAgICBbYWN0aXZlXT1cInJjQ2xpY2tlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgIGZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkU2VsZWN0ZWQpICYmXG4gICAgICAgIGZpZWxkU2VsZWN0ZWQgIT09IGN1cnJlbnRTZWxlY3RvclxuICAgICAgXCJcbiAgICAgIFtjaGVja2VkXT1cInBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoXCJcbiAgICA+XG5cbiAgICAgIDxuZy1jb250YWluZXIgZmllbGQ+XG4gICAgICAgIDxhcHAtZm9ybS1zZWxlY3RCb3hcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgICBbcG9wdXBTdGF0ZV09XCJTZWxlY3Rpb25Qb3B1cFN0YXRlLlNFTEVDVElPTl9ESUFMT0dcIlxuICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgICAgICAgW2lzRXJyb3JdPVwidmFsaWRhdGlvbkVycm9yLnJjLmlzRXJyb3JcIlxuICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwidmFsaWRhdGlvbkVycm9yLnJjLm1lc3NhZ2VcIlxuICAgICAgICAgIFtlZGl0RGlzYWJsZWRdPVwicmNFZGl0RGlzYWJsZVwiXG4gICAgICAgICAgW3JlbW92YWJsZV09XCIhcmNFZGl0RGlzYWJsZVwiXG4gICAgICAgICAgKGZpZWxkQ2xpY2tlZCk9XCJhY3RpdmF0ZVNlbGVjdG9yKCRldmVudClcIlxuICAgICAgICAgIChzZWxlY3RlZEl0ZW1MaXN0Q2hhbmdlKT1cInNldFJjTGlzdCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhcHAtdmMtbGFiZWxcbiAgICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgICBbbGFiZWxUZXh0XT1cInJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLnRpdGxlXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJcbiAgICAgICAgICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1cgfHxcbiAgICAgICAgICAgICAgd29ya2Zsb3dUeXBlID09PSAnQUNUVydcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvYXBwLXZjLWxhYmVsPlxuICAgICAgICA8L2FwcC1mb3JtLXNlbGVjdEJveD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAoY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1cgfHxcbiAgICAgICAgICAgICAgd29ya2Zsb3dUeXBlID09PSAnQUNUVycpICYmXG4gICAgICAgICAgICBwYXlsb2FkPy5yY19kZXRhaWxzPy5pZHM/Lmxlbmd0aCA+IDFcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXRjaC1yb3cgc3dpdGNoLWRpc2FibGVkIGFsaWduLXJpZ2h0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0b2dnbGUtdGV4dCB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWxoLTQgIHZ4LW1yLTJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyByY1RleHRzLmNhc2VfZGV0YWlscy5yYy5zYW1lUmNUZXh0IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxhcHAtY3Mtc3dpdGNoIFtuZ1ZhbHVlXT1cInRydWVcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPiA8L2FwcC1jcy1zd2l0Y2g+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSA8YXBwLWNzLXJhZGlvXG4gICAgICAgICAgICBjbGFzcz1cIm1haW4tZmlsZWRcIlxuICAgICAgICAgICAgW25hbWVdPVwiJ2ZmX3Jlc3BvbnNpYmlsaXR5X3JjX2xpbmsnXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cInBheWxvYWQ/LnJjX2RldGFpbHM/LnNlcGFyYXRlX3JjX2Nhc2VzXCJcbiAgICAgICAgICAgIChjaGVja2VkRXZlbnQpPVwib25SY1R5cGVDaGFuZ2UodHJ1ZSlcIlxuICAgICAgICAgICAgPjxkaXYgY2xhc3M9XCJyYy1yYWRpby10ZXh0XCI+XG4gICAgICAgICAgICAgIHt7IHJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLnNlcGFyYXRlUmNUZXh0IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJyY1RleHRzLmNhc2VfZGV0YWlscy5yYy5zZXBhcmF0ZVJjVG9vbHRpcFwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcbiAgICAgICAgICAgID48L2FwcC1jcy1yYWRpb1xuICAgICAgICAgID5cbiAgICAgICAgICA8YXBwLWNzLXJhZGlvXG4gICAgICAgICAgICBjbGFzcz1cIm1haW4tZmlsZWRcIlxuICAgICAgICAgICAgW25hbWVdPVwiJ2ZmX3Jlc3BvbnNpYmlsaXR5X3JjX2xpbmsnXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cIiFwYXlsb2FkPy5yY19kZXRhaWxzPy5zZXBhcmF0ZV9yY19jYXNlc1wiXG4gICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cIm9uUmNUeXBlQ2hhbmdlKGZhbHNlKVwiXG4gICAgICAgICAgICA+e3sgcmNUZXh0cy5jYXNlX2RldGFpbHMucmMuc2FtZVJjVGV4dFxuICAgICAgICAgICAgfX08aVxuICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicmNUZXh0cy5jYXNlX2RldGFpbHMucmMuc2FtZVJjVG9vbHRpcFwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcbiAgICAgICAgICAgID48L2FwcC1jcy1yYWRpb1xuICAgICAgICAgID4gLS0+XG4gICAgICAgICAgPHBcbiAgICAgICAgICAgICpuZ0lmPVwiIXBheWxvYWQ/LnJjX2RldGFpbHM/LnNlcGFyYXRlX3JjX2Nhc2VzXCJcbiAgICAgICAgICAgIGNsYXNzPVwidngtZnMtMTEgdngtbGgtNCB2eC1mdy01MDAgdngtdHh0LWJsYWNrIHZ4LW1iLTJcIlxuICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkU2VsZWN0ZWQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBTRUxFQ1QgVEhFIE1BSU4gUkVTUE9OU0lCSUxJVFkgQ0VOVEVSIEJBU0VEIE9OIFdISUNIIFRIRSBXT1JLRkxPV1xuICAgICAgICAgICAgRk9SIFRISVMgQ0FTRSBXSUxMIEJFIERFRklORURcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGFwcC1mb3JtLXNlbGVjdEJveFxuICAgICAgICAgICAgKm5nSWY9XCIhcGF5bG9hZD8ucmNfZGV0YWlscz8uc2VwYXJhdGVfcmNfY2FzZXNcIlxuICAgICAgICAgICAgW2NvbmZpZ109XCJtYWluUmNDb25maWdcIlxuICAgICAgICAgICAgW3N0YXRlXT1cIm1haW5SY1N0YXRlXCJcbiAgICAgICAgICAgIFtwb3B1cFN0YXRlXT1cIlNlbGVjdGlvblBvcHVwU3RhdGUuRFJPUF9ET1dOXCJcbiAgICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRNYWluUmNJdGVtc1wiXG4gICAgICAgICAgICBbaXNFcnJvcl09XCJ2YWxpZGF0aW9uRXJyb3IubWFpblJjLmlzRXJyb3JcIlxuICAgICAgICAgICAgW2Vycm9yTWVzc2FnZV09XCJ2YWxpZGF0aW9uRXJyb3IubWFpblJjLm1lc3NhZ2VcIlxuICAgICAgICAgICAgW2VkaXREaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgbW9kZSA9PT0gJ0VESVQnICYmXG4gICAgICAgICAgICAgIGNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XICYmXG4gICAgICAgICAgICAgIHdvcmtmbG93VHlwZSAhPT0gJ0FDVFcnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKGZpZWxkQ2xpY2tlZCk9XCJhY3RpdmF0ZVNlbGVjdG9yKCRldmVudClcIlxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbUxpc3RDaGFuZ2UpPVwic2F2ZU1haW5SY0xpc3QoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvYXBwLWZvcm0tc2VsZWN0Qm94PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYXBwLWZpZWxkLWhvbGRlcj5cbiAgICA8YXBwLXJlc3BvbnNpYmlsaXR5LWNlbnRlcnMtbGlzdFxuICAgICAgKm5nSWY9XCJyY0NsaWNrZWRcIlxuICAgICAgW3Jlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RdPVwicmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFwiXG4gICAgICBbc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUNlbnRlcnNdPVwic2VsZWN0ZWRSY0xpc3RcIlxuICAgICAgW3JjSWRLZXldPVwiJ3JjX2lkJ1wiXG4gICAgICAoc2F2ZVNlbGVjdGVkTGlzdCk9XCJzYXZlU2VsZWN0ZWRSQ0xpc3QoJGV2ZW50KVwiXG4gICAgICAoY2xvc2VSY0xpc3QpPVwiYWN0aXZhdGVTZWxlY3RvcihmYWxzZSlcIlxuICAgICAgW3Npbmd1bGFyVGV4dF09XCJyY1RleHRzLmNhc2VfZGV0YWlscy5yYy5zaW5ndWxhclRleHRcIlxuICAgICAgW3BsdXJhbFRleHRdPVwicmNUZXh0cy5jYXNlX2RldGFpbHMucmMucGx1cmFsVGV4dFwiXG4gICAgICBbbG9hZGVkXT1cIiFyY0xpc3RMb2FkZXJcIlxuICAgID5cbiAgICA8L2FwcC1yZXNwb25zaWJpbGl0eS1jZW50ZXJzLWxpc3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuLi8uLi8uLi9mb3Jtcy5sZXNzJywgJy4vcmMtZGV0YWlscy5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSY0RldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgcmNUZXh0cyA9IFJFUE9SVF9DQVNFO1xuICBjYXNlVHlwZSA9IHJlcG9ydDtcbiAgcmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdDogYW55W10gPSBbXTtcbiAgbWFpblJjQ29uZmlnOiBhbnkgPSB7XG4gICAgLi4uREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgICBhY3Rpb246IEFDVElPTl9DT0RFLlJDLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLnJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLm1haW5SY1BsYWNlaG9sZGVyLFxuICAgIGl0ZW1zOiBbXSxcbiAgfTtcbiAgY29uZmlnOiBhbnkgPSB7XG4gICAgLi4uREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgICBhY3Rpb246IEFDVElPTl9DT0RFLlJDLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLnJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLnBsYWNlaG9sZGVyLFxuICAgIGl0ZW1zOiBbXSxcbiAgfTtcbiAgcmNDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHJjTGlzdExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBTZWxlY3Rpb25TdGF0ZSA9IFNlbGVjdGlvblN0YXRlO1xuICBTZWxlY3Rpb25Qb3B1cFN0YXRlID0gU2VsZWN0aW9uUG9wdXBTdGF0ZTtcbiAgc3RhdGU6IHN0cmluZyA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICBtYWluUmNTdGF0ZTogc3RyaW5nID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkUmNMaXN0OiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZE1haW5SY0l0ZW1zOiBhbnlbXSA9IFtdO1xuICBmaWVsZFNlbGVjdG9yID0gRklFTERfU0VMRUNUT1I7XG4gIGN1cnJlbnRTZWxlY3RvciA9ICdSQyc7XG5cbiAgQElucHV0KCkgcGF5bG9hZDogYW55ID0ge307XG4gIEBJbnB1dCgpIGZpZWxkU2VsZWN0ZWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjYXNlVHlwZVNlbGVjdGVkOiBzdHJpbmcgPSByZXBvcnQuUkVQT1JUX0NBU0U7XG4gIEBJbnB1dCgpIHZhbGlkYXRpb25FcnJvcjogYW55ID0ge307XG4gIEBJbnB1dCgpIHNldCBpbml0aWFsU2VsZWN0aW9uKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB2YWx1ZT8uaWRzO1xuXG4gICAgdGhpcy5zZWxlY3RlZE1haW5SY0l0ZW1zID0gdmFsdWU/Lm1haW5fcmNfaWQ7XG4gICAgaWYgKHZhbHVlPy5tYWluX3JjX2lkKSB7XG4gICAgICB0aGlzLm1haW5SY1N0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgfVxuXG4gIH1cbiAgQElucHV0KCkgbW9kZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHdvcmtmbG93VHlwZTogc3RyaW5nID0gJyc7XG5cbiAgQE91dHB1dCgpIGZpZWxkQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uUmNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckRlc2VsZWN0b3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBsaWFuY2VTZXJ2aWNlOiBDb21wbGlhbmNlQ29tbW9uU2VydmljZSkge31cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRNYWluUmNJdGVtcyA9IFtdO1xuICAgIHRoaXMubWFpblJjU3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gICAgdGhpcy5jb21wbGlhbmNlU2VydmljZS5yY0xpc3Q/Lm5leHQobnVsbCk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRNYWluUmNJdGVtcyA9IFtdO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XG4gICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3BheWxvYWQnXSkge1xuICAgICAgaWYgKCF0aGlzLnBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSY0xpc3QgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2Nhc2VUeXBlU2VsZWN0ZWQnXSkge1xuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0ID0gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0UmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCgpIHtcbiAgICB0aGlzLnJjTGlzdExvYWRlciA9IHRydWU7XG4gICAgY29uc3QgYWxsVmlzaWJsZSA9IHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gJ3JlcG9ydENhc2UnICYmIHRoaXMud29ya2Zsb3dUeXBlID09PSAnUkFDJyAmJiB0aGlzLm1vZGUgIT09ICdFRElUJyA/IHRydWUgOiBmYWxzZTtcbiAgICB0aGlzLmNvbXBsaWFuY2VTZXJ2aWNlXG4gICAgICAuZ2V0UmNMaXN0SW5mbyh1bmRlZmluZWQsIGFsbFZpc2libGUpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QgPSByZXM7XG4gICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdFRElUJykge1xuICAgICAgICAgIHRoaXMucG9wdWxhdGVTZWxlY3RlZEl0ZW1zKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yY0xpc3RMb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcG9wdWxhdGVTZWxlY3RlZEl0ZW1zKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXM/Lmxlbmd0aCApIHtcbiAgICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFxuICAgICAgICA/LmZpbHRlcigocmM6IGFueSkgPT4gdGhpcy5zZWxlY3RlZEl0ZW1zPy5zb21lKChpdGVtOiBhbnkpID0+IGl0ZW0/LnZhbHVlID09PSByYz8ucmNfaWQpKVxuICAgICAgICA/Lm1hcCgocmM6IGFueSkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogcmM/Lml0ZW1fbmFtZSxcbiAgICAgICAgICB2YWx1ZTogcmM/LnJjX2lkLFxuICAgICAgICB9KSk7XG4gICAgICB0aGlzLnNlbGVjdGVkUmNMaXN0ID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0Py5maWx0ZXIoKHJjOiBhbnkpID0+XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcz8uc29tZSgoaXRlbTogYW55KSA9PiBpdGVtPy52YWx1ZSA9PT0gcmM/LnJjX2lkKVxuICAgICAgKTtcbiAgICAgIHRoaXMubWFpblJjQ29uZmlnLml0ZW1zID0gdGhpcy5zZWxlY3RlZFJjTGlzdC5tYXAoKHJjOiBhbnkpID0+ICh7XG4gICAgICAgIG5hbWU6IHJjPy5pdGVtX25hbWUsXG4gICAgICAgIF9pZDogcmM/Ll9pZCxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNYWluUmNJdGVtcyA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFxuICAgICAgICA/LmZpbHRlcigocmM6IGFueSkgPT4gdGhpcy5zZWxlY3RlZE1haW5SY0l0ZW1zID09PSByYz8uX2lkKVxuICAgICAgICA/Lm1hcCgocmM6IGFueSkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogcmM/Lml0ZW1fbmFtZSxcbiAgICAgICAgICB2YWx1ZTogcmM/Ll9pZCxcbiAgICAgICAgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGUgPT09ICdFRElUJyAmJiB0aGlzLndvcmtmbG93VHlwZSAhPT0gJ0FDVFcnICYmIHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gdGhpcy5jYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPV1xuICAgICAgICA/ICgodGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLkRJU0FCTEVEKSxcbiAgICAgICAgICAodGhpcy5jb25maWcuZGlzYWJsZWRUZXh0ID0gdGhpcy5yY1RleHRzLmNhc2VfZGV0YWlscy5yYy5wbGFjZWhvbGRlcikpXG4gICAgICAgIDogKHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWSk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZVNlbGVjdGVkUkNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnJjQ2xpY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRSY0xpc3QoZXZlbnQpO1xuICAgIHRoaXMuc2V0TWFpblJjTGlzdChldmVudCk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0XG4gICAgICAuZmlsdGVyKChyYzogYW55KSA9PiBldmVudC5pbmNsdWRlcyhyYz8ucmNfaWQpKVxuICAgICAgLm1hcCgocmM6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IHJjPy5pdGVtX25hbWUsXG4gICAgICAgIHZhbHVlOiByYz8ucmNfaWQsXG4gICAgICB9KSk7XG4gICAgdGhpcy5zZXRQYXlsb2FkKGV2ZW50KTtcbiAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgdGhpcy5maWVsZENsaWNrZWQuZW1pdCgnJyk7XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3IucmMuaXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLnJjLm1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLmZpbHRlckRlc2VsZWN0b3IuZW1pdChmYWxzZSk7XG4gIH1cblxuICBzZXRNYWluUmNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm1haW5SY0NvbmZpZy5pdGVtcyA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFxuICAgICAgLmZpbHRlcigocmM6IGFueSkgPT4gZXZlbnQuaW5jbHVkZXMocmM/LnJjX2lkKSlcbiAgICAgIC5tYXAoKHJjOiBhbnkpID0+ICh7XG4gICAgICAgIG5hbWU6IHJjPy5pdGVtX25hbWUsXG4gICAgICAgIF9pZDogcmM/Ll9pZCxcbiAgICAgIH0pKTtcbiAgfVxuXG4gIHNhdmVNYWluUmNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm1haW5SY1N0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgdGhpcy5wYXlsb2FkLnJjX2RldGFpbHMubWFpbl9yY19pZCA9IGV2ZW50WzBdPy52YWx1ZTtcbiAgICB0aGlzLm9uUmNDaGFuZ2UuZW1pdCh0aGlzLnBheWxvYWQucmNfZGV0YWlscy5tYWluX3JjX2lkKTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5tYWluUmMuaXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLm1haW5SYy5tZXNzYWdlID0gJyc7XG4gIH1cblxuICBzZXRQYXlsb2FkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBheWxvYWQucmNfZGV0YWlscy5pZHMgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RcbiAgICAgIC5maWx0ZXIoKHJjOiBhbnkpID0+IGV2ZW50LmluY2x1ZGVzKHJjPy5yY19pZCkpXG4gICAgICAubWFwKChyYzogYW55KSA9PiByYz8uX2lkKTtcbiAgICBpZiAodGhpcy5wYXlsb2FkLnJjX2RldGFpbHMuaWRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5vblJjQ2hhbmdlLmVtaXQodGhpcy5wYXlsb2FkLnJjX2RldGFpbHMuaWRzWzBdKTtcbiAgICB9XG4gIH1cblxuICBzZXRTZWxlY3RlZFJjTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdC5maWx0ZXIoKHJjOiBhbnkpID0+XG4gICAgICBldmVudC5pbmNsdWRlcyhyYz8ucmNfaWQpXG4gICAgKTtcbiAgfVxuXG4gIGFjdGl2YXRlU2VsZWN0b3IoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgdGhpcy5yY0NsaWNrZWQgPSBhY3RpdmU7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0KCk7XG4gICAgaWYgKGFjdGl2ZSkge1xuICAgICAgdGhpcy5maWVsZENsaWNrZWQuZW1pdCgnUkMnKTtcbiAgICAgIHRoaXMuZmlsdGVyRGVzZWxlY3Rvci5lbWl0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCcnKTtcbiAgICAgIHRoaXMuZmlsdGVyRGVzZWxlY3Rvci5lbWl0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBzZXRSY0xpc3QoZXZlbnQ6IGFueSkge1xuICAgIGlmICghZXZlbnQ/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5yZXNldFJjTGlzdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRSY0xpc3QgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q/LmZpbHRlcigocmM6IGFueSkgPT5cbiAgICAgIGV2ZW50Py5zb21lKChpdGVtOiBhbnkpID0+IGl0ZW0/LnZhbHVlID09PSByYz8ucmNfaWQpXG4gICAgKTtcbiAgICB0aGlzLnBheWxvYWQucmNfZGV0YWlscy5pZHMgPSB0aGlzLnNlbGVjdGVkUmNMaXN0Py5tYXAoXG4gICAgICAocmM6IGFueSkgPT4gcmM/Ll9pZFxuICAgICk7XG4gICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICB9XG5cbiAgcmVzZXRSY0xpc3QoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IFtdO1xuICAgIHRoaXMucGF5bG9hZC5yY19kZXRhaWxzLmlkcyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgfVxuXG4gIG9uUmNUeXBlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBheWxvYWQucmNfZGV0YWlscy5zZXBhcmF0ZV9yY19jYXNlcyA9IGV2ZW50O1xuICB9XG5cbiAgZ2V0IHJjRWRpdERpc2FibGUoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubW9kZSA9PT0gJ0VESVQnICYmXG4gICAgICB0aGlzLmNhc2VUeXBlU2VsZWN0ZWQgPT09IHRoaXMuY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1cgJiZcbiAgICAgIHRoaXMud29ya2Zsb3dUeXBlICE9PSAnQUNUVycgJiZcbiAgICAgIHRoaXMucGF5bG9hZD8ucmNfZGV0YWlscz8uaWRzPy5sZW5ndGggPT09IDFcbiAgICApO1xuICB9XG59XG4iXX0=
|