@valtimo/dossier 10.6.0 → 10.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/note-modal/note-modal.component.mjs +30 -12
- package/esm2020/lib/dossier-assign-user/dossier-assign-user.component.mjs +8 -5
- package/esm2020/lib/dossier-detail/dossier-detail.component.mjs +19 -6
- package/esm2020/lib/dossier-detail/tab/audit/audit.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/contact-moments/contact-moments.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.mjs +5 -5
- package/esm2020/lib/dossier-detail/tab/documents/documents.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/notes/notes.component.mjs +63 -12
- package/esm2020/lib/dossier-detail/tab/object-type/object-type.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/progress/progress.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/s3-documents/s3-documents.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/summary/summary.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.mjs +4 -4
- package/esm2020/lib/dossier-list/dossier-list.component.mjs +23 -17
- package/esm2020/lib/dossier-list-actions/dossier-list-actions.component.mjs +4 -4
- package/esm2020/lib/dossier-process-start-modal/dossier-process-start-modal.component.mjs +4 -4
- package/esm2020/lib/dossier-routing.module.mjs +11 -7
- package/esm2020/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +4 -4
- package/esm2020/lib/dossier-update/dossier-update.component.mjs +4 -4
- package/esm2020/lib/dossier.module.mjs +5 -5
- package/esm2020/lib/dossier.service.mjs +4 -4
- package/esm2020/lib/models/notes.model.mjs +1 -1
- package/esm2020/lib/services/dossier-column.service.mjs +4 -4
- package/esm2020/lib/services/dossier-list-assignee.service.mjs +4 -4
- package/esm2020/lib/services/dossier-list-pagination.service.mjs +4 -4
- package/esm2020/lib/services/dossier-list-search.service.mjs +4 -4
- package/esm2020/lib/services/dossier-list.service.mjs +12 -16
- package/esm2020/lib/services/dossier-parameter.service.mjs +4 -4
- package/esm2020/lib/services/file-sort.service.mjs +4 -4
- package/esm2020/lib/services/notes.service.mjs +10 -4
- package/esm2020/lib/services/zaakobjecten.service.mjs +4 -4
- package/esm2020/lib/tab.service.mjs +4 -4
- package/fesm2015/valtimo-dossier.mjs +245 -149
- package/fesm2015/valtimo-dossier.mjs.map +1 -1
- package/fesm2020/valtimo-dossier.mjs +243 -148
- package/fesm2020/valtimo-dossier.mjs.map +1 -1
- package/lib/components/note-modal/note-modal.component.d.ts +6 -2
- package/lib/components/note-modal/note-modal.component.d.ts.map +1 -1
- package/lib/dossier-assign-user/dossier-assign-user.component.d.ts +2 -1
- package/lib/dossier-assign-user/dossier-assign-user.component.d.ts.map +1 -1
- package/lib/dossier-detail/dossier-detail.component.d.ts +8 -3
- package/lib/dossier-detail/dossier-detail.component.d.ts.map +1 -1
- package/lib/dossier-detail/tab/notes/notes.component.d.ts +10 -1
- package/lib/dossier-detail/tab/notes/notes.component.d.ts.map +1 -1
- package/lib/dossier-list/dossier-list.component.d.ts +4 -2
- package/lib/dossier-list/dossier-list.component.d.ts.map +1 -1
- package/lib/dossier-routing.module.d.ts.map +1 -1
- package/lib/models/notes.model.d.ts +4 -1
- package/lib/models/notes.model.d.ts.map +1 -1
- package/lib/services/dossier-list.service.d.ts.map +1 -1
- package/lib/services/notes.service.d.ts +3 -1
- package/lib/services/notes.service.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -112,13 +112,13 @@ export class DossierDetailTabSummaryComponent {
|
|
|
112
112
|
this.taskDetail.openTaskDetails(task);
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
-
DossierDetailTabSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
116
|
-
DossierDetailTabSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
115
|
+
DossierDetailTabSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabSummaryComponent, deps: [{ token: i1.Router }, { token: i2.DocumentService }, { token: i3.TaskService }, { token: i4.ProcessService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.ActivatedRoute }, { token: i5.FormService }, { token: i6.UserProviderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
+
DossierDetailTabSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierDetailTabSummaryComponent, selector: "valtimo-dossier-detail-tab-summary", viewQueries: [{ propertyName: "taskDetail", first: true, predicate: ["taskDetail"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row py-4\">\n <div class=\"col-sm-12 col-md-8 col-xl-9\">\n <div *ngIf=\"document\">\n <div *ngIf=\"formDefinition\" class=\"summaryForm\">\n <div class=\"mb-4\">\n <valtimo-form-io [form]=\"formDefinition\" [options]=\"options\"></valtimo-form-io>\n </div>\n </div>\n </div>\n </div>\n\n <!--Current user tasks right side-->\n <div class=\"col-sm-12 col-md-4 col-xl-3\">\n <h4 class=\"user-tasks-title\">{{ 'summary.userTasks' | translate }}</h4>\n <ng-container *ngIf=\"!tasks.length\">\n <valtimo-widget>\n <div class=\"p-3\">\n <img class=\"float-left\" src=\"assets/audit-2.png\" height=\"25\" />\n <span class=\"float-right\">{{ 'summary.userTasksDoneState' | translate }}</span>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </ng-container>\n <ng-container *ngFor=\"let task of tasks\">\n <valtimo-widget>\n <div\n class=\"p-3 clickable hoverable\"\n (click)=\"rowTaskClick(task)\"\n *ngIf=\"!task.isLocked()\"\n >\n <span class=\"float-right badge badge-pill badge-primary\">{{\n 'summary.taskOpen' | translate\n }}</span>\n <strong>{{ task.name }}</strong>\n <div class=\"mt-1\">{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n <div class=\"p-3 hoverable\" *ngIf=\"task.isLocked()\">\n <span\n class=\"float-right badge badge-pill badge-secondary bg-grey\"\n ngbTooltip=\"{{ 'summary.taskLocked' | translate }}\"\n >\n <i class=\"icon mdi mdi-lock\"></i>\n </span>\n <strong>{{ task.name }}</strong>\n <div>{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n </valtimo-widget>\n </ng-container>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"init()\"\n (assignmentOfTaskChanged)=\"init()\"\n ></valtimo-task-detail-modal>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.hoverable:hover{background-color:#eee}.summaryForm .formio-component{margin-bottom:0!important}.summaryForm .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.summaryForm .formio-field div[ref=element] .form-control{font-weight:400}.summaryForm .formio-value div[ref=element] .form-control{font-weight:700}.user-tasks-title{margin-top:0;margin-bottom:12px;font-weight:400;color:#000;height:20px}\n"], dependencies: [{ kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i8.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i3.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", outputs: ["formSubmit", "assignmentOfTaskChanged"] }, { kind: "directive", type: i9.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabSummaryComponent, decorators: [{
|
|
118
118
|
type: Component,
|
|
119
119
|
args: [{ selector: 'valtimo-dossier-detail-tab-summary', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row py-4\">\n <div class=\"col-sm-12 col-md-8 col-xl-9\">\n <div *ngIf=\"document\">\n <div *ngIf=\"formDefinition\" class=\"summaryForm\">\n <div class=\"mb-4\">\n <valtimo-form-io [form]=\"formDefinition\" [options]=\"options\"></valtimo-form-io>\n </div>\n </div>\n </div>\n </div>\n\n <!--Current user tasks right side-->\n <div class=\"col-sm-12 col-md-4 col-xl-3\">\n <h4 class=\"user-tasks-title\">{{ 'summary.userTasks' | translate }}</h4>\n <ng-container *ngIf=\"!tasks.length\">\n <valtimo-widget>\n <div class=\"p-3\">\n <img class=\"float-left\" src=\"assets/audit-2.png\" height=\"25\" />\n <span class=\"float-right\">{{ 'summary.userTasksDoneState' | translate }}</span>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </ng-container>\n <ng-container *ngFor=\"let task of tasks\">\n <valtimo-widget>\n <div\n class=\"p-3 clickable hoverable\"\n (click)=\"rowTaskClick(task)\"\n *ngIf=\"!task.isLocked()\"\n >\n <span class=\"float-right badge badge-pill badge-primary\">{{\n 'summary.taskOpen' | translate\n }}</span>\n <strong>{{ task.name }}</strong>\n <div class=\"mt-1\">{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n <div class=\"p-3 hoverable\" *ngIf=\"task.isLocked()\">\n <span\n class=\"float-right badge badge-pill badge-secondary bg-grey\"\n ngbTooltip=\"{{ 'summary.taskLocked' | translate }}\"\n >\n <i class=\"icon mdi mdi-lock\"></i>\n </span>\n <strong>{{ task.name }}</strong>\n <div>{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n </valtimo-widget>\n </ng-container>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"init()\"\n (assignmentOfTaskChanged)=\"init()\"\n ></valtimo-task-detail-modal>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.hoverable:hover{background-color:#eee}.summaryForm .formio-component{margin-bottom:0!important}.summaryForm .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.summaryForm .formio-field div[ref=element] .form-control{font-weight:400}.summaryForm .formio-value div[ref=element] .form-control{font-weight:700}.user-tasks-title{margin-top:0;margin-bottom:12px;font-weight:400;color:#000;height:20px}\n"] }]
|
|
120
120
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.DocumentService }, { type: i3.TaskService }, { type: i4.ProcessService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.ActivatedRoute }, { type: i5.FormService }, { type: i6.UserProviderService }]; }, propDecorators: { taskDetail: [{
|
|
121
121
|
type: ViewChild,
|
|
122
122
|
args: ['taskDetail']
|
|
123
123
|
}] } });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXIvc3JjL2xpYi9kb3NzaWVyLWRldGFpbC90YWIvc3VtbWFyeS9zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2Rvc3NpZXItZGV0YWlsL3RhYi9zdW1tYXJ5L3N1bW1hcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQ0wsU0FBUyxFQUtULFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUFDLGlCQUFpQixFQUF1QixNQUFNLHFCQUFxQixDQUFDO0FBQzVFLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUc1QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7QUFFbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxhQUFhLEdBQUcsbUJBQW1CLENBQUM7QUFRM0MsTUFBTSxPQUFPLGdDQUFnQztJQWMzQyxZQUNtQixNQUFjLEVBQ2QsZUFBZ0MsRUFDaEMsV0FBd0IsRUFDeEIsY0FBOEIsRUFDOUIsRUFBYyxFQUNkLFFBQW1CLEVBQ25CLEtBQXFCLEVBQ3JCLFdBQXdCLEVBQ3hCLG1CQUF3QztRQVJ4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBbkJwRCw2QkFBd0IsR0FBOEIsRUFBRSxDQUFDO1FBRXpELFVBQUssR0FBMEIsRUFBRSxDQUFDO1FBRWxDLG1CQUFjLEdBQWUsSUFBSSxDQUFDO1FBRWxDLFVBQUssR0FBYSxFQUFFLENBQUM7UUFDcEIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBYzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQzdDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyRSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLElBQUksQ0FBQyxXQUFXO2FBQ2IsZ0NBQWdDLENBQUMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQzNGLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTSw0QkFBNEIsQ0FBQyxVQUFrQjtRQUNwRCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDckIsSUFBSSxDQUFDLGVBQWU7YUFDakIsNEJBQTRCLENBQUMsVUFBVSxDQUFDO2FBQ3hDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyx3QkFBd0IsQ0FBQztZQUN6RCxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUMvQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQy9ELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNKLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxpQkFBeUI7UUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0UsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO2dCQUNqQixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNwRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO29CQUNyRSxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRTt3QkFDbkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO3dCQUNsQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7NEJBQ3JDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQ0FDN0MsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7b0NBQ3JDLE1BQU0sR0FBRyxLQUFLLENBQUM7b0NBQ2YsTUFBTTtpQ0FDUDs2QkFDRjt5QkFDRjt3QkFDRCxPQUFPLE1BQU0sQ0FBQztvQkFDaEIsQ0FBQyxDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDOUQ7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLFlBQVksQ0FBQyxJQUFTO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OzhIQTNHVSxnQ0FBZ0M7a0hBQWhDLGdDQUFnQyxvTEM3QzdDLCt6RkF5RUE7NEZENUJhLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDRSxvQ0FBb0MsaUJBRy9CLGlCQUFpQixDQUFDLElBQUk7NFRBY1osVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UHJvY2Vzc0luc3RhbmNlVGFzaywgUHJvY2Vzc1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3Byb2Nlc3MnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXAsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RG9jdW1lbnQsIERvY3VtZW50U2VydmljZSwgUHJvY2Vzc0RvY3VtZW50SW5zdGFuY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7VGFza0RldGFpbE1vZGFsQ29tcG9uZW50LCBUYXNrU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vdGFzayc7XG5pbXBvcnQge0Zvcm1TZXJ2aWNlfSBmcm9tICdAdmFsdGltby9mb3JtJztcbmltcG9ydCB7Rm9ybWlvT3B0aW9uc0ltcGwsIFZhbHRpbW9Gb3JtaW9PcHRpb25zfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7Rm9ybWlvRm9ybX0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7VXNlclByb3ZpZGVyU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vc2VjdXJpdHknO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5tb21lbnQubG9jYWxlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5nS2V5JykgfHwgJycpO1xubW9tZW50LmRlZmF1bHRGb3JtYXQgPSAnREQgTU1NIFlZWVkgSEg6bW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItZGV0YWlsLXRhYi1zdW1tYXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1bW1hcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdW1tYXJ5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJTdW1tYXJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwdWJsaWMgZG9jdW1lbnRJZDogc3RyaW5nO1xuICBwdWJsaWMgcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzOiBQcm9jZXNzRG9jdW1lbnRJbnN0YW5jZVtdID0gW107XG4gIHByaXZhdGUgc25hcHNob3Q6IFBhcmFtTWFwO1xuICBwdWJsaWMgdGFza3M6IFByb2Nlc3NJbnN0YW5jZVRhc2tbXSA9IFtdO1xuICBwdWJsaWMgbW9tZW50O1xuICBwdWJsaWMgZm9ybURlZmluaXRpb246IEZvcm1pb0Zvcm0gPSBudWxsO1xuICBwdWJsaWMgb3B0aW9uczogVmFsdGltb0Zvcm1pb09wdGlvbnM7XG4gIHB1YmxpYyByb2xlczogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgQFZpZXdDaGlsZCgndGFza0RldGFpbCcpIHRhc2tEZXRhaWw6IFRhc2tEZXRhaWxNb2RhbENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YXNrU2VydmljZTogVGFza1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzU2VydmljZTogUHJvY2Vzc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyUHJvdmlkZXJTZXJ2aWNlOiBVc2VyUHJvdmlkZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc25hcHNob3QgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwO1xuICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9IHRoaXMuc25hcHNob3QuZ2V0KCdkb2N1bWVudERlZmluaXRpb25OYW1lJykgfHwgJyc7XG4gICAgdGhpcy5kb2N1bWVudElkID0gdGhpcy5zbmFwc2hvdC5nZXQoJ2RvY3VtZW50SWQnKSB8fCAnJztcbiAgICB0aGlzLm9wdGlvbnMgPSBuZXcgRm9ybWlvT3B0aW9uc0ltcGwoKTtcbiAgICB0aGlzLm9wdGlvbnMuZGlzYWJsZUFsZXJ0cyA9IHRydWU7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm1vbWVudCA9IG1vbWVudDtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGluaXQoKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXREb2N1bWVudCh0aGlzLmRvY3VtZW50SWQpLnN1YnNjcmliZShkb2N1bWVudCA9PiB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5mb3JtU2VydmljZVxuICAgICAgICAuZ2V0Rm9ybURlZmluaXRpb25CeU5hbWVQcmVGaWxsZWQoYCR7dGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lfS5zdW1tYXJ5YCwgdGhpcy5kb2N1bWVudElkKVxuICAgICAgICAuc3Vic2NyaWJlKGZvcm1EZWZpbml0aW9uID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm1EZWZpbml0aW9uID0gZm9ybURlZmluaXRpb247XG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlLmdldFVzZXJTdWJqZWN0KCkuc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgICB0aGlzLnJvbGVzID0gdXNlci5yb2xlcztcbiAgICAgICAgdGhpcy50YXNrcyA9IFtdO1xuICAgICAgICB0aGlzLmxvYWRQcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXModGhpcy5kb2N1bWVudElkKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkUHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzKGRvY3VtZW50SWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcbiAgICAgICAgLmZpbmRQcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMoZG9jdW1lbnRJZClcbiAgICAgICAgLnN1YnNjcmliZShwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMgPT4ge1xuICAgICAgICAgIHRoaXMucHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzID0gcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzO1xuICAgICAgICAgIHRoaXMucHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzLmZvckVhY2goaW5zdGFuY2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc0luc3RhbmNlVGFza3MoaW5zdGFuY2UuaWQucHJvY2Vzc0luc3RhbmNlSWQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRQcm9jZXNzSW5zdGFuY2VUYXNrcyhwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnByb2Nlc3NTZXJ2aWNlLmdldFByb2Nlc3NJbnN0YW5jZVRhc2tzKHByb2Nlc3NJbnN0YW5jZUlkKS5zdWJzY3JpYmUodGFza3MgPT4ge1xuICAgICAgICBpZiAodGFza3MgIT0gbnVsbCkge1xuICAgICAgICAgIHRhc2tzLmZvckVhY2godGFzayA9PiB7XG4gICAgICAgICAgICB0YXNrLmNyZWF0ZWRVbml4ID0gdGhpcy5tb21lbnQodGFzay5jcmVhdGVkKS51bml4KCk7XG4gICAgICAgICAgICB0YXNrLmNyZWF0ZWQgPSB0aGlzLm1vbWVudCh0YXNrLmNyZWF0ZWQpLmZvcm1hdCgnREQgTU1NIFlZWVkgSEg6bW0nKTtcbiAgICAgICAgICAgIHRhc2suaXNMb2NrZWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGxldCBsb2NrZWQgPSB0cnVlO1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IGxpbmsgb2YgdGFzay5pZGVudGl0eUxpbmtzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGxpbmsudHlwZSA9PT0gJ2NhbmRpZGF0ZScgJiYgbGluay5ncm91cElkKSB7XG4gICAgICAgICAgICAgICAgICBpZiAodGhpcy5yb2xlcy5pbmNsdWRlcyhsaW5rLmdyb3VwSWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGxvY2tlZDtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy50YXNrcyA9IHRoaXMudGFza3MuY29uY2F0KHRhc2tzKTtcbiAgICAgICAgICB0aGlzLnRhc2tzLnNvcnQoKHQxLCB0MikgPT4gdDIuY3JlYXRlZFVuaXggLSB0MS5jcmVhdGVkVW5peCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByb3dUYXNrQ2xpY2sodGFzazogYW55KSB7XG4gICAgdGhpcy50YXNrRGV0YWlsLm9wZW5UYXNrRGV0YWlscyh0YXNrKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3cgcHktNFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTggY29sLXhsLTlcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJkb2N1bWVudFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9ybURlZmluaXRpb25cIiBjbGFzcz1cInN1bW1hcnlGb3JtXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTRcIj5cbiAgICAgICAgICAgIDx2YWx0aW1vLWZvcm0taW8gW2Zvcm1dPVwiZm9ybURlZmluaXRpb25cIiBbb3B0aW9uc109XCJvcHRpb25zXCI+PC92YWx0aW1vLWZvcm0taW8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tQ3VycmVudCB1c2VyIHRhc2tzIHJpZ2h0IHNpZGUtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IGNvbC14bC0zXCI+XG4gICAgICA8aDQgY2xhc3M9XCJ1c2VyLXRhc2tzLXRpdGxlXCI+e3sgJ3N1bW1hcnkudXNlclRhc2tzJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRhc2tzLmxlbmd0aFwiPlxuICAgICAgICA8dmFsdGltby13aWRnZXQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtM1wiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cImZsb2F0LWxlZnRcIiBzcmM9XCJhc3NldHMvYXVkaXQtMi5wbmdcIiBoZWlnaHQ9XCIyNVwiIC8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsb2F0LXJpZ2h0XCI+e3sgJ3N1bW1hcnkudXNlclRhc2tzRG9uZVN0YXRlJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3ZhbHRpbW8td2lkZ2V0PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YXNrIG9mIHRhc2tzXCI+XG4gICAgICAgIDx2YWx0aW1vLXdpZGdldD5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInAtMyBjbGlja2FibGUgaG92ZXJhYmxlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJyb3dUYXNrQ2xpY2sodGFzaylcIlxuICAgICAgICAgICAgKm5nSWY9XCIhdGFzay5pc0xvY2tlZCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsb2F0LXJpZ2h0IGJhZGdlIGJhZGdlLXBpbGwgYmFkZ2UtcHJpbWFyeVwiPnt7XG4gICAgICAgICAgICAgICdzdW1tYXJ5LnRhc2tPcGVuJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3Ryb25nPnt7IHRhc2submFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj57eyAnc3VtbWFyeS50YXNrQ3JlYXRlZCcgfCB0cmFuc2xhdGUgfX0ge3sgdGFzay5jcmVhdGVkIH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtMyBob3ZlcmFibGVcIiAqbmdJZj1cInRhc2suaXNMb2NrZWQoKVwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJmbG9hdC1yaWdodCBiYWRnZSBiYWRnZS1waWxsIGJhZGdlLXNlY29uZGFyeSBiZy1ncmV5XCJcbiAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cInt7ICdzdW1tYXJ5LnRhc2tMb2NrZWQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktbG9ja1wiPjwvaT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzdHJvbmc+e3sgdGFzay5uYW1lIH19PC9zdHJvbmc+XG4gICAgICAgICAgICA8ZGl2Pnt7ICdzdW1tYXJ5LnRhc2tDcmVhdGVkJyB8IHRyYW5zbGF0ZSB9fSB7eyB0YXNrLmNyZWF0ZWQgfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC92YWx0aW1vLXdpZGdldD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHZhbHRpbW8tdGFzay1kZXRhaWwtbW9kYWxcbiAgICAgICAgI3Rhc2tEZXRhaWxcbiAgICAgICAgKGZvcm1TdWJtaXQpPVwiaW5pdCgpXCJcbiAgICAgICAgKGFzc2lnbm1lbnRPZlRhc2tDaGFuZ2VkKT1cImluaXQoKVwiXG4gICAgICA+PC92YWx0aW1vLXRhc2stZGV0YWlsLW1vZGFsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXIvc3JjL2xpYi9kb3NzaWVyLWRldGFpbC90YWIvc3VtbWFyeS9zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2Rvc3NpZXItZGV0YWlsL3RhYi9zdW1tYXJ5L3N1bW1hcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQ0wsU0FBUyxFQUtULFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUFDLGlCQUFpQixFQUF1QixNQUFNLHFCQUFxQixDQUFDO0FBQzVFLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUc1QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7QUFFbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxhQUFhLEdBQUcsbUJBQW1CLENBQUM7QUFRM0MsTUFBTSxPQUFPLGdDQUFnQztJQWMzQyxZQUNtQixNQUFjLEVBQ2QsZUFBZ0MsRUFDaEMsV0FBd0IsRUFDeEIsY0FBOEIsRUFDOUIsRUFBYyxFQUNkLFFBQW1CLEVBQ25CLEtBQXFCLEVBQ3JCLFdBQXdCLEVBQ3hCLG1CQUF3QztRQVJ4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixPQUFFLEdBQUYsRUFB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VyxDQUFDLENBQUM7YUFDOUQ7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLFlBQVksQ0FBQyxJQUFTO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OzZIQTNHVSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQyxvTEM3QzdDLCt6RkF5RUE7MkZENUJhLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDRSxvQ0FBb0MsaUJBRy9CLGlCQUFpQixDQUFDLElBQUk7NFRBY1osVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UHJvY2Vzc0luc3RhbmNlVGFzaywgUHJvY2Vzc1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3Byb2Nlc3MnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXAsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RG9jdW1lbnQsIERvY3VtZW50U2VydmljZSwgUHJvY2Vzc0RvY3VtZW50SW5zdGFuY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7VGFza0RldGFpbE1vZGFsQ29tcG9uZW50LCBUYXNrU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vdGFzayc7XG5pbXBvcnQge0Zvcm1TZXJ2aWNlfSBmcm9tICdAdmFsdGltby9mb3JtJztcbmltcG9ydCB7Rm9ybWlvT3B0aW9uc0ltcGwsIFZhbHRpbW9Gb3JtaW9PcHRpb25zfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7Rm9ybWlvRm9ybX0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7VXNlclByb3ZpZGVyU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vc2VjdXJpdHknO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5tb21lbnQubG9jYWxlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5nS2V5JykgfHwgJycpO1xubW9tZW50LmRlZmF1bHRGb3JtYXQgPSAnREQgTU1NIFlZWVkgSEg6bW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItZGV0YWlsLXRhYi1zdW1tYXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1bW1hcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdW1tYXJ5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJTdW1tYXJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwdWJsaWMgZG9jdW1lbnRJZDogc3RyaW5nO1xuICBwdWJsaWMgcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzOiBQcm9jZXNzRG9jdW1lbnRJbnN0YW5jZVtdID0gW107XG4gIHByaXZhdGUgc25hcHNob3Q6IFBhcmFtTWFwO1xuICBwdWJsaWMgdGFza3M6IFByb2Nlc3NJbnN0YW5jZVRhc2tbXSA9IFtdO1xuICBwdWJsaWMgbW9tZW50O1xuICBwdWJsaWMgZm9ybURlZmluaXRpb246IEZvcm1pb0Zvcm0gPSBudWxsO1xuICBwdWJsaWMgb3B0aW9uczogVmFsdGltb0Zvcm1pb09wdGlvbnM7XG4gIHB1YmxpYyByb2xlczogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgQFZpZXdDaGlsZCgndGFza0RldGFpbCcpIHRhc2tEZXRhaWw6IFRhc2tEZXRhaWxNb2RhbENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YXNrU2VydmljZTogVGFza1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzU2VydmljZTogUHJvY2Vzc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyUHJvdmlkZXJTZXJ2aWNlOiBVc2VyUHJvdmlkZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc25hcHNob3QgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwO1xuICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9IHRoaXMuc25hcHNob3QuZ2V0KCdkb2N1bWVudERlZmluaXRpb25OYW1lJykgfHwgJyc7XG4gICAgdGhpcy5kb2N1bWVudElkID0gdGhpcy5zbmFwc2hvdC5nZXQoJ2RvY3VtZW50SWQnKSB8fCAnJztcbiAgICB0aGlzLm9wdGlvbnMgPSBuZXcgRm9ybWlvT3B0aW9uc0ltcGwoKTtcbiAgICB0aGlzLm9wdGlvbnMuZGlzYWJsZUFsZXJ0cyA9IHRydWU7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm1vbWVudCA9IG1vbWVudDtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGluaXQoKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXREb2N1bWVudCh0aGlzLmRvY3VtZW50SWQpLnN1YnNjcmliZShkb2N1bWVudCA9PiB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5mb3JtU2VydmljZVxuICAgICAgICAuZ2V0Rm9ybURlZmluaXRpb25CeU5hbWVQcmVGaWxsZWQoYCR7dGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lfS5zdW1tYXJ5YCwgdGhpcy5kb2N1bWVudElkKVxuICAgICAgICAuc3Vic2NyaWJlKGZvcm1EZWZpbml0aW9uID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm1EZWZpbml0aW9uID0gZm9ybURlZmluaXRpb247XG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlLmdldFVzZXJTdWJqZWN0KCkuc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgICB0aGlzLnJvbGVzID0gdXNlci5yb2xlcztcbiAgICAgICAgdGhpcy50YXNrcyA9IFtdO1xuICAgICAgICB0aGlzLmxvYWRQcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXModGhpcy5kb2N1bWVudElkKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkUHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzKGRvY3VtZW50SWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcbiAgICAgICAgLmZpbmRQcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMoZG9jdW1lbnRJZClcbiAgICAgICAgLnN1YnNjcmliZShwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMgPT4ge1xuICAgICAgICAgIHRoaXMucHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzID0gcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzO1xuICAgICAgICAgIHRoaXMucHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzLmZvckVhY2goaW5zdGFuY2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc0luc3RhbmNlVGFza3MoaW5zdGFuY2UuaWQucHJvY2Vzc0luc3RhbmNlSWQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRQcm9jZXNzSW5zdGFuY2VUYXNrcyhwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnByb2Nlc3NTZXJ2aWNlLmdldFByb2Nlc3NJbnN0YW5jZVRhc2tzKHByb2Nlc3NJbnN0YW5jZUlkKS5zdWJzY3JpYmUodGFza3MgPT4ge1xuICAgICAgICBpZiAodGFza3MgIT0gbnVsbCkge1xuICAgICAgICAgIHRhc2tzLmZvckVhY2godGFzayA9PiB7XG4gICAgICAgICAgICB0YXNrLmNyZWF0ZWRVbml4ID0gdGhpcy5tb21lbnQodGFzay5jcmVhdGVkKS51bml4KCk7XG4gICAgICAgICAgICB0YXNrLmNyZWF0ZWQgPSB0aGlzLm1vbWVudCh0YXNrLmNyZWF0ZWQpLmZvcm1hdCgnREQgTU1NIFlZWVkgSEg6bW0nKTtcbiAgICAgICAgICAgIHRhc2suaXNMb2NrZWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGxldCBsb2NrZWQgPSB0cnVlO1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IGxpbmsgb2YgdGFzay5pZGVudGl0eUxpbmtzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGxpbmsudHlwZSA9PT0gJ2NhbmRpZGF0ZScgJiYgbGluay5ncm91cElkKSB7XG4gICAgICAgICAgICAgICAgICBpZiAodGhpcy5yb2xlcy5pbmNsdWRlcyhsaW5rLmdyb3VwSWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGxvY2tlZDtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy50YXNrcyA9IHRoaXMudGFza3MuY29uY2F0KHRhc2tzKTtcbiAgICAgICAgICB0aGlzLnRhc2tzLnNvcnQoKHQxLCB0MikgPT4gdDIuY3JlYXRlZFVuaXggLSB0MS5jcmVhdGVkVW5peCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByb3dUYXNrQ2xpY2sodGFzazogYW55KSB7XG4gICAgdGhpcy50YXNrRGV0YWlsLm9wZW5UYXNrRGV0YWlscyh0YXNrKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3cgcHktNFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTggY29sLXhsLTlcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJkb2N1bWVudFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9ybURlZmluaXRpb25cIiBjbGFzcz1cInN1bW1hcnlGb3JtXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTRcIj5cbiAgICAgICAgICAgIDx2YWx0aW1vLWZvcm0taW8gW2Zvcm1dPVwiZm9ybURlZmluaXRpb25cIiBbb3B0aW9uc109XCJvcHRpb25zXCI+PC92YWx0aW1vLWZvcm0taW8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tQ3VycmVudCB1c2VyIHRhc2tzIHJpZ2h0IHNpZGUtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IGNvbC14bC0zXCI+XG4gICAgICA8aDQgY2xhc3M9XCJ1c2VyLXRhc2tzLXRpdGxlXCI+e3sgJ3N1bW1hcnkudXNlclRhc2tzJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRhc2tzLmxlbmd0aFwiPlxuICAgICAgICA8dmFsdGltby13aWRnZXQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtM1wiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cImZsb2F0LWxlZnRcIiBzcmM9XCJhc3NldHMvYXVkaXQtMi5wbmdcIiBoZWlnaHQ9XCIyNVwiIC8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsb2F0LXJpZ2h0XCI+e3sgJ3N1bW1hcnkudXNlclRhc2tzRG9uZVN0YXRlJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3ZhbHRpbW8td2lkZ2V0PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YXNrIG9mIHRhc2tzXCI+XG4gICAgICAgIDx2YWx0aW1vLXdpZGdldD5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInAtMyBjbGlja2FibGUgaG92ZXJhYmxlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJyb3dUYXNrQ2xpY2sodGFzaylcIlxuICAgICAgICAgICAgKm5nSWY9XCIhdGFzay5pc0xvY2tlZCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsb2F0LXJpZ2h0IGJhZGdlIGJhZGdlLXBpbGwgYmFkZ2UtcHJpbWFyeVwiPnt7XG4gICAgICAgICAgICAgICdzdW1tYXJ5LnRhc2tPcGVuJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3Ryb25nPnt7IHRhc2submFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj57eyAnc3VtbWFyeS50YXNrQ3JlYXRlZCcgfCB0cmFuc2xhdGUgfX0ge3sgdGFzay5jcmVhdGVkIH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtMyBob3ZlcmFibGVcIiAqbmdJZj1cInRhc2suaXNMb2NrZWQoKVwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJmbG9hdC1yaWdodCBiYWRnZSBiYWRnZS1waWxsIGJhZGdlLXNlY29uZGFyeSBiZy1ncmV5XCJcbiAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cInt7ICdzdW1tYXJ5LnRhc2tMb2NrZWQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktbG9ja1wiPjwvaT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzdHJvbmc+e3sgdGFzay5uYW1lIH19PC9zdHJvbmc+XG4gICAgICAgICAgICA8ZGl2Pnt7ICdzdW1tYXJ5LnRhc2tDcmVhdGVkJyB8IHRyYW5zbGF0ZSB9fSB7eyB0YXNrLmNyZWF0ZWQgfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC92YWx0aW1vLXdpZGdldD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHZhbHRpbW8tdGFzay1kZXRhaWwtbW9kYWxcbiAgICAgICAgI3Rhc2tEZXRhaWxcbiAgICAgICAgKGZvcm1TdWJtaXQpPVwiaW5pdCgpXCJcbiAgICAgICAgKGFzc2lnbm1lbnRPZlRhc2tDaGFuZ2VkKT1cImluaXQoKVwiXG4gICAgICA+PC92YWx0aW1vLXRhc2stZGV0YWlsLW1vZGFsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -101,13 +101,13 @@ export class DossierDetailTabZaakobjectenComponent {
|
|
|
101
101
|
this.show();
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
DossierDetailTabZaakobjectenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
105
|
-
DossierDetailTabZaakobjectenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
104
|
+
DossierDetailTabZaakobjectenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabZaakobjectenComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ZaakobjectenService }, { token: i3.ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
105
|
+
DossierDetailTabZaakobjectenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierDetailTabZaakobjectenComponent, selector: "valtimo-dossier-detail-tab-zaakobjecten", viewQueries: [{ propertyName: "viewZaakobjectModal", first: true, predicate: ["viewZaakobjectModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n objecttypeSelectItems: objecttypeSelectItems$ | async,\n objects: objects$ | async,\n columns: columns$ | async,\n selectedObjectTypeUrl: selectedObjecttypeUrl$ | async\n } as obs\"\n>\n <v-select\n [items]=\"obs.objecttypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypes\"\n [title]=\"'dossier.zaakobjecten.objecttype' | translate\"\n [placeholder]=\"'dossier.zaakobjecten.objecttypePlaceholder' | translate\"\n [loading]=\"!obs.objecttypeSelectItems\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n <v-input-label\n titleTranslationKey=\"dossier.zaakobjecten.objecten\"\n [largeMargin]=\"!!obs.selectedObjectTypeUrl\"\n ></v-input-label>\n <v-paragraph *ngIf=\"!obs.selectedObjectTypeUrl\">{{\n 'dossier.zaakobjecten.objectenPlaceholder' | translate\n }}</v-paragraph>\n <v-table\n *ngIf=\"obs.selectedObjectTypeUrl\"\n [loading]=\"!obs.objects\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n (editButtonClicked)=\"rowClicked($event, obs.objecttypeSelectItems)\"\n ></v-table>\n</ng-container>\n\n<v-modal #viewZaakobjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <v-title [margin]=\"false\" type=\"h2\" [fullWidth]=\"true\" [center]=\"true\">{{\n objectName$ | async\n }}</v-title>\n </div>\n\n <div role=\"content\">\n <valtimo-form-io\n *ngIf=\"(noFormDefinitionComponent$ | async) === false\"\n [form]=\"objectForm$ | async\"\n ></valtimo-form-io>\n <v-paragraph *ngIf=\"noFormDefinitionComponent$ | async\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i3.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "clearable", "disabled", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin"], outputs: ["selectedChange", "clear"] }, { kind: "component", type: i3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "title", "titleTranslationKey", "tooltip", "required", "largeMargin", "small"] }, { kind: "component", type: i3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading"] }, { kind: "component", type: i3.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "maxPaginationItemSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "component", type: i3.ModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i3.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabZaakobjectenComponent, decorators: [{
|
|
107
107
|
type: Component,
|
|
108
108
|
args: [{ selector: 'valtimo-dossier-detail-tab-zaakobjecten', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n objecttypeSelectItems: objecttypeSelectItems$ | async,\n objects: objects$ | async,\n columns: columns$ | async,\n selectedObjectTypeUrl: selectedObjecttypeUrl$ | async\n } as obs\"\n>\n <v-select\n [items]=\"obs.objecttypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypes\"\n [title]=\"'dossier.zaakobjecten.objecttype' | translate\"\n [placeholder]=\"'dossier.zaakobjecten.objecttypePlaceholder' | translate\"\n [loading]=\"!obs.objecttypeSelectItems\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n <v-input-label\n titleTranslationKey=\"dossier.zaakobjecten.objecten\"\n [largeMargin]=\"!!obs.selectedObjectTypeUrl\"\n ></v-input-label>\n <v-paragraph *ngIf=\"!obs.selectedObjectTypeUrl\">{{\n 'dossier.zaakobjecten.objectenPlaceholder' | translate\n }}</v-paragraph>\n <v-table\n *ngIf=\"obs.selectedObjectTypeUrl\"\n [loading]=\"!obs.objects\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n (editButtonClicked)=\"rowClicked($event, obs.objecttypeSelectItems)\"\n ></v-table>\n</ng-container>\n\n<v-modal #viewZaakobjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <v-title [margin]=\"false\" type=\"h2\" [fullWidth]=\"true\" [center]=\"true\">{{\n objectName$ | async\n }}</v-title>\n </div>\n\n <div role=\"content\">\n <valtimo-form-io\n *ngIf=\"(noFormDefinitionComponent$ | async) === false\"\n [form]=\"objectForm$ | async\"\n ></valtimo-form-io>\n <v-paragraph *ngIf=\"noFormDefinitionComponent$ | async\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
109
109
|
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.ZaakobjectenService }, { type: i3.ModalService }]; }, propDecorators: { viewZaakobjectModal: [{
|
|
110
110
|
type: ViewChild,
|
|
111
111
|
args: ['viewZaakobjectModal']
|
|
112
112
|
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemFha29iamVjdGVuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2Rvc3NpZXItZGV0YWlsL3RhYi96YWFrb2JqZWN0ZW4vemFha29iamVjdGVuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2Rvc3NpZXItZGV0YWlsL3RhYi96YWFrb2JqZWN0ZW4vemFha29iamVjdGVuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHcEYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVFwQyxNQUFNLE9BQU8scUNBQXFDO0lBaURoRCxZQUNtQixLQUFxQixFQUNyQixtQkFBd0MsRUFDeEMsWUFBMEI7UUFGMUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWpENUIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFdkUsaUJBQVksR0FBc0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3RGLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxt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QXJDLHFDQUFxQywyTUM5QmxELGlvRkF3RUE7NEZEMUNhLHFDQUFxQztrQkFMakQsU0FBUzsrQkFDRSx5Q0FBeUM7a0tBS2pCLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1phYWtvYmplY3RlblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3phYWtvYmplY3Rlbi5zZXJ2aWNlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtaYWFrT2JqZWN0LCBaYWFrT2JqZWN0VHlwZX0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7TW9kYWxDb21wb25lbnQsIE1vZGFsU2VydmljZSwgU2VsZWN0SXRlbSwgVGFibGVDb2x1bW59IGZyb20gJ0B2YWx0aW1vL3VzZXItaW50ZXJmYWNlJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtGb3JtaW9Gb3JtfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItZGV0YWlsLXRhYi16YWFrb2JqZWN0ZW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vemFha29iamVjdGVuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vemFha29iamVjdGVuLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJaYWFrb2JqZWN0ZW5Db21wb25lbnQge1xuICBAVmlld0NoaWxkKCd2aWV3WmFha29iamVjdE1vZGFsJykgdmlld1phYWtvYmplY3RNb2RhbDogTW9kYWxDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudElkJCA9IHRoaXMucm91dGUucGFyYW1zLnBpcGUobWFwKHBhcmFtcyA9PiBwYXJhbXMuZG9jdW1lbnRJZCkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0dHlwZXMkOiBPYnNlcnZhYmxlPEFycmF5PFphYWtPYmplY3RUeXBlPj4gPSB0aGlzLmRvY3VtZW50SWQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKGRvY3VtZW50SWQgPT4gdGhpcy56YWFrb2JqZWN0ZW5TZXJ2aWNlLmdldERvY3VtZW50T2JqZWN0VHlwZXMoZG9jdW1lbnRJZCkpXG4gICk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0dHlwZVNlbGVjdEl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxTZWxlY3RJdGVtPj4gPSB0aGlzLm9iamVjdHR5cGVzJC5waXBlKFxuICAgIG1hcChvYmplY3R0eXBlcyA9PiBvYmplY3R0eXBlcy5tYXAodHlwZSA9PiAoe2lkOiB0eXBlLnVybCwgdGV4dDogdHlwZS5uYW1lIHx8ICctJ30pKSlcbiAgKTtcblxuICByZWFkb25seSBzZWxlY3RlZE9iamVjdHR5cGVVcmwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSBvYmplY3RzJDogT2JzZXJ2YWJsZTxBcnJheTxaYWFrT2JqZWN0PiB8IG51bGw+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kb2N1bWVudElkJCxcbiAgICB0aGlzLnNlbGVjdGVkT2JqZWN0dHlwZVVybCQsXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbZG9jdW1lbnRJZCwgc2VsZWN0ZWRPYmplY3R0eXBlVXJsXSkgPT5cbiAgICAgIGRvY3VtZW50SWQgJiYgc2VsZWN0ZWRPYmplY3R0eXBlVXJsXG4gICAgICAgID8gdGhpcy56YWFrb2JqZWN0ZW5TZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0RG9jdW1lbnRPYmplY3RzT2ZUeXBlKGRvY3VtZW50SWQsIHNlbGVjdGVkT2JqZWN0dHlwZVVybClcbiAgICAgICAgICAgIC5waXBlKG1hcChvYmplY3RzID0+IG9iamVjdHMubWFwKG9iamVjdCA9PiAoey4uLm9iamVjdCwgdGl0bGU6IG9iamVjdC50aXRsZSB8fCAnLSd9KSkpKVxuICAgICAgICA6IG9mKG51bGwpXG4gICAgKVxuICApO1xuXG4gIHJlYWRvbmx5IGNvbHVtbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxUYWJsZUNvbHVtbj4+KFtcbiAgICB7XG4gICAgICBsYWJlbFRyYW5zbGF0aW9uS2V5OiAnZG9zc2llci56YWFrb2JqZWN0ZW4uaW5kZXgnLFxuICAgICAgZGF0YUtleTogJ2luZGV4JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsVHJhbnNsYXRpb25LZXk6ICdkb3NzaWVyLnphYWtvYmplY3Rlbi5yZWdpc3RyYXRpb25BdCcsXG4gICAgICBkYXRhS2V5OiAncmVnaXN0cmF0aW9uQXQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWxUcmFuc2xhdGlvbktleTogJ2Rvc3NpZXIuemFha29iamVjdGVuLnRpdGxlJyxcbiAgICAgIGRhdGFLZXk6ICd0aXRsZScsXG4gICAgfSxcbiAgXSk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0Rm9ybSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1pb0Zvcm0gfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSBvYmplY3ROYW1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgcmVhZG9ubHkgbm9Gb3JtRGVmaW5pdGlvbkNvbXBvbmVudCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHphYWtvYmplY3RlblNlcnZpY2U6IFphYWtvYmplY3RlblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZVxuICApIHt9XG5cbiAgc2VsZWN0T2JqZWN0VHlwZShvYmplY3RUeXBlVXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkT2JqZWN0dHlwZVVybCQubmV4dChvYmplY3RUeXBlVXJsKTtcbiAgfVxuXG4gIHJvd0NsaWNrZWQob2JqZWN0OiBaYWFrT2JqZWN0LCBvYmplY3RUeXBlU2VsZWN0SXRlbXM6IEFycmF5PFNlbGVjdEl0ZW0+KTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudElkJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShkb2N1bWVudElkID0+IHtcbiAgICAgIHRoaXMuemFha29iamVjdGVuU2VydmljZS5nZXRPYmplY3RUeXBlRm9ybShkb2N1bWVudElkLCBvYmplY3QudXJsKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgY29uc3QgZGVmaW5pdGlvbiA9IHJlcy5mb3JtRGVmaW5pdGlvbjtcblxuICAgICAgICAgIGRlZmluaXRpb24uY29tcG9uZW50cyA9IGRlZmluaXRpb24uY29tcG9uZW50cy5tYXAoY29tcG9uZW50ID0+ICh7XG4gICAgICAgICAgICAuLi5jb21wb25lbnQsXG4gICAgICAgICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICB0aGlzLnNldE1vZGFsRGF0YShvYmplY3RUeXBlU2VsZWN0SXRlbXMsIGRlZmluaXRpb24pO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRNb2RhbERhdGEob2JqZWN0VHlwZVNlbGVjdEl0ZW1zKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCgoKSA9PiB7XG4gICAgICB0aGlzLm9iamVjdE5hbWUkLm5leHQoJycpO1xuICAgICAgdGhpcy5vYmplY3RGb3JtJC5uZXh0KG51bGwpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW5Nb2RhbCh0aGlzLnZpZXdaYWFrb2JqZWN0TW9kYWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPYmplY3RUeXBlTmFtZShvYmplY3RUeXBlU2VsZWN0SXRlbXM6IEFycmF5PFNlbGVjdEl0ZW0+KTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWxlY3RlZE9iamVjdFR5cGVVcmwgPSB0aGlzLnNlbGVjdGVkT2JqZWN0dHlwZVVybCQuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBjdXJyZW50VHlwZVNlbGVjdEl0ZW0gPSBvYmplY3RUeXBlU2VsZWN0SXRlbXMuZmluZChcbiAgICAgIHNlbGVjdEl0ZW0gPT4gc2VsZWN0SXRlbS5pZCA9PT0gc2VsZWN0ZWRPYmplY3RUeXBlVXJsXG4gICAgKTtcblxuICAgIHJldHVybiBjdXJyZW50VHlwZVNlbGVjdEl0ZW0udGV4dDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TW9kYWxEYXRhKG9iamVjdFR5cGVTZWxlY3RJdGVtczogQXJyYXk8U2VsZWN0SXRlbT4sIGRlZmluaXRpb24/OiBGb3JtaW9Gb3JtKTogdm9pZCB7XG4gICAgaWYgKGRlZmluaXRpb24pIHtcbiAgICAgIHRoaXMub2JqZWN0Rm9ybSQubmV4dChkZWZpbml0aW9uKTtcbiAgICAgIHRoaXMubm9Gb3JtRGVmaW5pdGlvbkNvbXBvbmVudCQubmV4dChmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubm9Gb3JtRGVmaW5pdGlvbkNvbXBvbmVudCQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICB0aGlzLm9iamVjdE5hbWUkLm5leHQodGhpcy5nZXRPYmplY3RUeXBlTmFtZShvYmplY3RUeXBlU2VsZWN0SXRlbXMpKTtcbiAgICB0aGlzLnNob3coKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwie1xuICAgIG9iamVjdHR5cGVTZWxlY3RJdGVtczogb2JqZWN0dHlwZVNlbGVjdEl0ZW1zJCB8IGFzeW5jLFxuICAgIG9iamVjdHM6IG9iamVjdHMkIHwgYXN5bmMsXG4gICAgY29sdW1uczogY29sdW1ucyQgfCBhc3luYyxcbiAgICBzZWxlY3RlZE9iamVjdFR5cGVVcmw6IHNlbGVjdGVkT2JqZWN0dHlwZVVybCQgfCBhc3luY1xuICB9IGFzIG9ic1wiXG4+XG4gIDx2LXNlbGVjdFxuICAgIFtpdGVtc109XCJvYnMub2JqZWN0dHlwZVNlbGVjdEl0ZW1zXCJcbiAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICBuYW1lPVwib2JqZWN0dHlwZXNcIlxuICAgIFt0aXRsZV09XCInZG9zc2llci56YWFrb2JqZWN0ZW4ub2JqZWN0dHlwZScgfCB0cmFuc2xhdGVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCInZG9zc2llci56YWFrb2JqZWN0ZW4ub2JqZWN0dHlwZVBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2xvYWRpbmddPVwiIW9icy5vYmplY3R0eXBlU2VsZWN0SXRlbXNcIlxuICAgIChzZWxlY3RlZENoYW5nZSk9XCJzZWxlY3RPYmplY3RUeXBlKCRldmVudClcIlxuICA+PC92LXNlbGVjdD5cbiAgPHYtaW5wdXQtbGFiZWxcbiAgICB0aXRsZVRyYW5zbGF0aW9uS2V5PVwiZG9zc2llci56YWFrb2JqZWN0ZW4ub2JqZWN0ZW5cIlxuICAgIFtsYXJnZU1hcmdpbl09XCIhIW9icy5zZWxlY3RlZE9iamVjdFR5cGVVcmxcIlxuICA+PC92LWlucHV0LWxhYmVsPlxuICA8di1wYXJhZ3JhcGggKm5nSWY9XCIhb2JzLnNlbGVjdGVkT2JqZWN0VHlwZVVybFwiPnt7XG4gICAgJ2Rvc3NpZXIuemFha29iamVjdGVuLm9iamVjdGVuUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXG4gIH19PC92LXBhcmFncmFwaD5cbiAgPHYtdGFibGVcbiAgICAqbmdJZj1cIm9icy5zZWxlY3RlZE9iamVjdFR5cGVVcmxcIlxuICAgIFtsb2FkaW5nXT1cIiFvYnMub2JqZWN0c1wiXG4gICAgW2l0ZW1zXT1cIm9icy5vYmplY3RzXCJcbiAgICBbY29sdW1uc109XCJvYnMuY29sdW1uc1wiXG4gICAgW3Nob3dFZGl0QnV0dG9uc109XCJ0cnVlXCJcbiAgICBbYW1vdW50T2ZMb2FkaW5nUm93c109XCIyXCJcbiAgICBbaXRlbXNUcmFuc2xhdGlvbktleV09XCIncGx1Z2luTWFuYWdlbWVudC50YWJsZUl0ZW1zVGV4dCdcIlxuICAgIFtzaG93UGFnaW5hdGlvbl09XCJmYWxzZVwiXG4gICAgZWRpdEJ1dHRvblRyYW5zbGF0aW9uS2V5PVwiZG9zc2llci56YWFrb2JqZWN0ZW4ub2JqZWN0VHlwZS52aWV3T2JqZWN0XCJcbiAgICAoZWRpdEJ1dHRvbkNsaWNrZWQpPVwicm93Q2xpY2tlZCgkZXZlbnQsIG9icy5vYmplY3R0eXBlU2VsZWN0SXRlbXMpXCJcbiAgPjwvdi10YWJsZT5cbjwvbmctY29udGFpbmVyPlxuXG48di1tb2RhbCAjdmlld1phYWtvYmplY3RNb2RhbCAoY2xvc2VFdmVudCk9XCJoaWRlKClcIiBbaGlkZUZvb3Rlcl09XCJ0cnVlXCIgW21heFdpZHRoUHhdPVwiNzUwXCI+XG4gIDxkaXYgcm9sZT1cImhlYWRlclwiPlxuICAgIDx2LXRpdGxlIFttYXJnaW5dPVwiZmFsc2VcIiB0eXBlPVwiaDJcIiBbZnVsbFdpZHRoXT1cInRydWVcIiBbY2VudGVyXT1cInRydWVcIj57e1xuICAgICAgb2JqZWN0TmFtZSQgfCBhc3luY1xuICAgIH19PC92LXRpdGxlPlxuICA8L2Rpdj5cblxuICA8ZGl2IHJvbGU9XCJjb250ZW50XCI+XG4gICAgPHZhbHRpbW8tZm9ybS1pb1xuICAgICAgKm5nSWY9XCIobm9Gb3JtRGVmaW5pdGlvbkNvbXBvbmVudCQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICAgIFtmb3JtXT1cIm9iamVjdEZvcm0kIHwgYXN5bmNcIlxuICAgID48L3ZhbHRpbW8tZm9ybS1pbz5cbiAgICA8di1wYXJhZ3JhcGggKm5nSWY9XCJub0Zvcm1EZWZpbml0aW9uQ29tcG9uZW50JCB8IGFzeW5jXCIgW2NlbnRlcl09XCJ0cnVlXCI+e3tcbiAgICAgICdkb3NzaWVyLnphYWtvYmplY3Rlbi5ub0Zvcm1EZWZpbml0aW9uQ29tcG9uZW50JyB8IHRyYW5zbGF0ZVxuICAgIH19PC92LXBhcmFncmFwaD5cbiAgPC9kaXY+XG48L3YtbW9kYWw+XG4iXX0=
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemFha29iamVjdGVuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2Rvc3NpZXItZGV0YWlsL3RhYi96YWFrb2JqZWN0ZW4vemFha29iamVjdGVuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2Rvc3NpZXItZGV0YWlsL3RhYi96YWFrb2JqZWN0ZW4vemFha29iamVjdGVuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHcEYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVFwQyxNQUFNLE9BQU8scUNBQXFDO0lBaURoRCxZQUNtQixLQUFxQixFQUNyQixtQkFBd0MsRUFDeEMsWUFBMEI7UUFGMUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWpENUIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFdkUsaUJBQVksR0FBc0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3RGLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxt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QXJDLHFDQUFxQywyTUM5QmxELGlvRkF3RUE7MkZEMUNhLHFDQUFxQztrQkFMakQsU0FBUzsrQkFDRSx5Q0FBeUM7a0tBS2pCLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1phYWtvYmplY3RlblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3phYWtvYmplY3Rlbi5zZXJ2aWNlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtaYWFrT2JqZWN0LCBaYWFrT2JqZWN0VHlwZX0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7TW9kYWxDb21wb25lbnQsIE1vZGFsU2VydmljZSwgU2VsZWN0SXRlbSwgVGFibGVDb2x1bW59IGZyb20gJ0B2YWx0aW1vL3VzZXItaW50ZXJmYWNlJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtGb3JtaW9Gb3JtfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItZGV0YWlsLXRhYi16YWFrb2JqZWN0ZW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vemFha29iamVjdGVuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vemFha29iamVjdGVuLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJaYWFrb2JqZWN0ZW5Db21wb25lbnQge1xuICBAVmlld0NoaWxkKCd2aWV3WmFha29iamVjdE1vZGFsJykgdmlld1phYWtvYmplY3RNb2RhbDogTW9kYWxDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudElkJCA9IHRoaXMucm91dGUucGFyYW1zLnBpcGUobWFwKHBhcmFtcyA9PiBwYXJhbXMuZG9jdW1lbnRJZCkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0dHlwZXMkOiBPYnNlcnZhYmxlPEFycmF5PFphYWtPYmplY3RUeXBlPj4gPSB0aGlzLmRvY3VtZW50SWQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKGRvY3VtZW50SWQgPT4gdGhpcy56YWFrb2JqZWN0ZW5TZXJ2aWNlLmdldERvY3VtZW50T2JqZWN0VHlwZXMoZG9jdW1lbnRJZCkpXG4gICk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0dHlwZVNlbGVjdEl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxTZWxlY3RJdGVtPj4gPSB0aGlzLm9iamVjdHR5cGVzJC5waXBlKFxuICAgIG1hcChvYmplY3R0eXBlcyA9PiBvYmplY3R0eXBlcy5tYXAodHlwZSA9PiAoe2lkOiB0eXBlLnVybCwgdGV4dDogdHlwZS5uYW1lIHx8ICctJ30pKSlcbiAgKTtcblxuICByZWFkb25seSBzZWxlY3RlZE9iamVjdHR5cGVVcmwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSBvYmplY3RzJDogT2JzZXJ2YWJsZTxBcnJheTxaYWFrT2JqZWN0PiB8IG51bGw+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kb2N1bWVudElkJCxcbiAgICB0aGlzLnNlbGVjdGVkT2JqZWN0dHlwZVVybCQsXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbZG9jdW1lbnRJZCwgc2VsZWN0ZWRPYmplY3R0eXBlVXJsXSkgPT5cbiAgICAgIGRvY3VtZW50SWQgJiYgc2VsZWN0ZWRPYmplY3R0eXBlVXJsXG4gICAgICAgID8gdGhpcy56YWFrb2JqZWN0ZW5TZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0RG9jdW1lbnRPYmplY3RzT2ZUeXBlKGRvY3VtZW50SWQsIHNlbGVjdGVkT2JqZWN0dHlwZVVybClcbiAgICAgICAgICAgIC5waXBlKG1hcChvYmplY3RzID0+IG9iamVjdHMubWFwKG9iamVjdCA9PiAoey4uLm9iamVjdCwgdGl0bGU6IG9iamVjdC50aXRsZSB8fCAnLSd9KSkpKVxuICAgICAgICA6IG9mKG51bGwpXG4gICAgKVxuICApO1xuXG4gIHJlYWRvbmx5IGNvbHVtbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxUYWJsZUNvbHVtbj4+KFtcbiAgICB7XG4gICAgICBsYWJlbFRyYW5zbGF0aW9uS2V5OiAnZG9zc2llci56YWFrb2JqZWN0ZW4uaW5kZXgnLFxuICAgICAgZGF0YUtleTogJ2luZGV4JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsVHJhbnNsYXRpb25LZXk6ICdkb3NzaWVyLnphYWtvYmplY3Rlbi5yZWdpc3RyYXRpb25BdCcsXG4gICAgICBkYXRhS2V5OiAncmVnaXN0cmF0aW9uQXQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWxUcmFuc2xhdGlvbktleTogJ2Rvc3NpZXIuemFha29iamVjdGVuLnRpdGxlJyxcbiAgICAgIGRhdGFLZXk6ICd0aXRsZScsXG4gICAgfSxcbiAgXSk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0Rm9ybSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1pb0Zvcm0gfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSBvYmplY3ROYW1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgcmVhZG9ubHkgbm9Gb3JtRGVmaW5pdGlvbkNvbXBvbmVudCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHphYWtvYmplY3RlblNlcnZpY2U6IFphYWtvYmplY3RlblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZVxuICApIHt9XG5cbiAgc2VsZWN0T2JqZWN0VHlwZShvYmplY3RUeXBlVXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkT2JqZWN0dHlwZVVybCQubmV4dChvYmplY3RUeXBlVXJsKTtcbiAgfVxuXG4gIHJvd0NsaWNrZWQob2JqZWN0OiBaYWFrT2JqZWN0LCBvYmplY3RUeXBlU2VsZWN0SXRlbXM6IEFycmF5PFNlbGVjdEl0ZW0+KTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudElkJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShkb2N1bWVudElkID0+IHtcbiAgICAgIHRoaXMuemFha29iamVjdGVuU2VydmljZS5nZXRPYmplY3RUeXBlRm9ybShkb2N1bWVudElkLCBvYmplY3QudXJsKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgY29uc3QgZGVmaW5pdGlvbiA9IHJlcy5mb3JtRGVmaW5pdGlvbjtcblxuICAgICAgICAgIGRlZmluaXRpb24uY29tcG9uZW50cyA9IGRlZmluaXRpb24uY29tcG9uZW50cy5tYXAoY29tcG9uZW50ID0+ICh7XG4gICAgICAgICAgICAuLi5jb21wb25lbnQsXG4gICAgICAgICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICB0aGlzLnNldE1vZGFsRGF0YShvYmplY3RUeXBlU2VsZWN0SXRlbXMsIGRlZmluaXRpb24pO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRNb2RhbERhdGEob2JqZWN0VHlwZVNlbGVjdEl0ZW1zKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCgoKSA9PiB7XG4gICAgICB0aGlzLm9iamVjdE5hbWUkLm5leHQoJycpO1xuICAgICAgdGhpcy5vYmplY3RGb3JtJC5uZXh0KG51bGwpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW5Nb2RhbCh0aGlzLnZpZXdaYWFrb2JqZWN0TW9kYWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPYmplY3RUeXBlTmFtZShvYmplY3RUeXBlU2VsZWN0SXRlbXM6IEFycmF5PFNlbGVjdEl0ZW0+KTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWxlY3RlZE9iamVjdFR5cGVVcmwgPSB0aGlzLnNlbGVjdGVkT2JqZWN0dHlwZVVybCQuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBjdXJyZW50VHlwZVNlbGVjdEl0ZW0gPSBvYmplY3RUeXBlU2VsZWN0SXRlbXMuZmluZChcbiAgICAgIHNlbGVjdEl0ZW0gPT4gc2VsZWN0SXRlbS5pZCA9PT0gc2VsZWN0ZWRPYmplY3RUeXBlVXJsXG4gICAgKTtcblxuICAgIHJldHVybiBjdXJyZW50VHlwZVNlbGVjdEl0ZW0udGV4dDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TW9kYWxEYXRhKG9iamVjdFR5cGVTZWxlY3RJdGVtczogQXJyYXk8U2VsZWN0SXRlbT4sIGRlZmluaXRpb24/OiBGb3JtaW9Gb3JtKTogdm9pZCB7XG4gICAgaWYgKGRlZmluaXRpb24pIHtcbiAgICAgIHRoaXMub2JqZWN0Rm9ybSQubmV4dChkZWZpbml0aW9uKTtcbiAgICAgIHRoaXMubm9Gb3JtRGVmaW5pdGlvbkNvbXBvbmVudCQubmV4dChmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubm9Gb3JtRGVmaW5pdGlvbkNvbXBvbmVudCQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICB0aGlzLm9iamVjdE5hbWUkLm5leHQodGhpcy5nZXRPYmplY3RUeXBlTmFtZShvYmplY3RUeXBlU2VsZWN0SXRlbXMpKTtcbiAgICB0aGlzLnNob3coKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwie1xuICAgIG9iamVjdHR5cGVTZWxlY3RJdGVtczogb2JqZWN0dHlwZVNlbGVjdEl0ZW1zJCB8IGFzeW5jLFxuICAgIG9iamVjdHM6IG9iamVjdHMkIHwgYXN5bmMsXG4gICAgY29sdW1uczogY29sdW1ucyQgfCBhc3luYyxcbiAgICBzZWxlY3RlZE9iamVjdFR5cGVVcmw6IHNlbGVjdGVkT2JqZWN0dHlwZVVybCQgfCBhc3luY1xuICB9IGFzIG9ic1wiXG4+XG4gIDx2LXNlbGVjdFxuICAgIFtpdGVtc109XCJvYnMub2JqZWN0dHlwZVNlbGVjdEl0ZW1zXCJcbiAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICBuYW1lPVwib2JqZWN0dHlwZXNcIlxuICAgIFt0aXRsZV09XCInZG9zc2llci56YWFrb2JqZWN0ZW4ub2JqZWN0dHlwZScgfCB0cmFuc2xhdGVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCInZG9zc2llci56YWFrb2JqZWN0ZW4ub2JqZWN0dHlwZVBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2xvYWRpbmddPVwiIW9icy5vYmplY3R0eXBlU2VsZWN0SXRlbXNcIlxuICAgIChzZWxlY3RlZENoYW5nZSk9XCJzZWxlY3RPYmplY3RUeXBlKCRldmVudClcIlxuICA+PC92LXNlbGVjdD5cbiAgPHYtaW5wdXQtbGFiZWxcbiAgICB0aXRsZVRyYW5zbGF0aW9uS2V5PVwiZG9zc2llci56YWFrb2JqZWN0ZW4ub2JqZWN0ZW5cIlxuICAgIFtsYXJnZU1hcmdpbl09XCIhIW9icy5zZWxlY3RlZE9iamVjdFR5cGVVcmxcIlxuICA+PC92LWlucHV0LWxhYmVsPlxuICA8di1wYXJhZ3JhcGggKm5nSWY9XCIhb2JzLnNlbGVjdGVkT2JqZWN0VHlwZVVybFwiPnt7XG4gICAgJ2Rvc3NpZXIuemFha29iamVjdGVuLm9iamVjdGVuUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXG4gIH19PC92LXBhcmFncmFwaD5cbiAgPHYtdGFibGVcbiAgICAqbmdJZj1cIm9icy5zZWxlY3RlZE9iamVjdFR5cGVVcmxcIlxuICAgIFtsb2FkaW5nXT1cIiFvYnMub2JqZWN0c1wiXG4gICAgW2l0ZW1zXT1cIm9icy5vYmplY3RzXCJcbiAgICBbY29sdW1uc109XCJvYnMuY29sdW1uc1wiXG4gICAgW3Nob3dFZGl0QnV0dG9uc109XCJ0cnVlXCJcbiAgICBbYW1vdW50T2ZMb2FkaW5nUm93c109XCIyXCJcbiAgICBbaXRlbXNUcmFuc2xhdGlvbktleV09XCIncGx1Z2luTWFuYWdlbWVudC50YWJsZUl0ZW1zVGV4dCdcIlxuICAgIFtzaG93UGFnaW5hdGlvbl09XCJmYWxzZVwiXG4gICAgZWRpdEJ1dHRvblRyYW5zbGF0aW9uS2V5PVwiZG9zc2llci56YWFrb2JqZWN0ZW4ub2JqZWN0VHlwZS52aWV3T2JqZWN0XCJcbiAgICAoZWRpdEJ1dHRvbkNsaWNrZWQpPVwicm93Q2xpY2tlZCgkZXZlbnQsIG9icy5vYmplY3R0eXBlU2VsZWN0SXRlbXMpXCJcbiAgPjwvdi10YWJsZT5cbjwvbmctY29udGFpbmVyPlxuXG48di1tb2RhbCAjdmlld1phYWtvYmplY3RNb2RhbCAoY2xvc2VFdmVudCk9XCJoaWRlKClcIiBbaGlkZUZvb3Rlcl09XCJ0cnVlXCIgW21heFdpZHRoUHhdPVwiNzUwXCI+XG4gIDxkaXYgcm9sZT1cImhlYWRlclwiPlxuICAgIDx2LXRpdGxlIFttYXJnaW5dPVwiZmFsc2VcIiB0eXBlPVwiaDJcIiBbZnVsbFdpZHRoXT1cInRydWVcIiBbY2VudGVyXT1cInRydWVcIj57e1xuICAgICAgb2JqZWN0TmFtZSQgfCBhc3luY1xuICAgIH19PC92LXRpdGxlPlxuICA8L2Rpdj5cblxuICA8ZGl2IHJvbGU9XCJjb250ZW50XCI+XG4gICAgPHZhbHRpbW8tZm9ybS1pb1xuICAgICAgKm5nSWY9XCIobm9Gb3JtRGVmaW5pdGlvbkNvbXBvbmVudCQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICAgIFtmb3JtXT1cIm9iamVjdEZvcm0kIHwgYXN5bmNcIlxuICAgID48L3ZhbHRpbW8tZm9ybS1pbz5cbiAgICA8di1wYXJhZ3JhcGggKm5nSWY9XCJub0Zvcm1EZWZpbml0aW9uQ29tcG9uZW50JCB8IGFzeW5jXCIgW2NlbnRlcl09XCJ0cnVlXCI+e3tcbiAgICAgICdkb3NzaWVyLnphYWtvYmplY3Rlbi5ub0Zvcm1EZWZpbml0aW9uQ29tcG9uZW50JyB8IHRyYW5zbGF0ZVxuICAgIH19PC92LXBhcmFncmFwaD5cbiAgPC9kaXY+XG48L3YtbW9kYWw+XG4iXX0=
|
|
@@ -24,12 +24,12 @@ import * as i2 from "@ngx-translate/core";
|
|
|
24
24
|
import * as i3 from "../services";
|
|
25
25
|
import * as i4 from "@valtimo/document";
|
|
26
26
|
import * as i5 from "@valtimo/config";
|
|
27
|
-
import * as i6 from "@
|
|
28
|
-
import * as i7 from "@
|
|
27
|
+
import * as i6 from "@valtimo/components";
|
|
28
|
+
import * as i7 from "@angular/common";
|
|
29
29
|
import * as i8 from "@ng-bootstrap/ng-bootstrap";
|
|
30
30
|
import * as i9 from "../dossier-list-actions/dossier-list-actions.component";
|
|
31
31
|
export class DossierListComponent {
|
|
32
|
-
constructor(route, translateService, listService, columnService, assigneeService, paginationService, searchService, parameterService, documentService, router, configService) {
|
|
32
|
+
constructor(route, translateService, listService, columnService, assigneeService, paginationService, searchService, parameterService, documentService, router, configService, pageTitleService, breadcrumbService) {
|
|
33
33
|
this.route = route;
|
|
34
34
|
this.translateService = translateService;
|
|
35
35
|
this.listService = listService;
|
|
@@ -41,6 +41,8 @@ export class DossierListComponent {
|
|
|
41
41
|
this.documentService = documentService;
|
|
42
42
|
this.router = router;
|
|
43
43
|
this.configService = configService;
|
|
44
|
+
this.pageTitleService = pageTitleService;
|
|
45
|
+
this.breadcrumbService = breadcrumbService;
|
|
44
46
|
this.loadingFields = true;
|
|
45
47
|
this.loadingPagination = true;
|
|
46
48
|
this.loadingSearchFields = true;
|
|
@@ -51,7 +53,11 @@ export class DossierListComponent {
|
|
|
51
53
|
this.loadingSearchFields = false;
|
|
52
54
|
}));
|
|
53
55
|
this.documentDefinitionName$ = this.listService.documentDefinitionName$;
|
|
54
|
-
this.schema$ = this.listService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentDefinition(documentDefinitionName)), map(documentDefinition => documentDefinition?.schema)
|
|
56
|
+
this.schema$ = this.listService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentDefinition(documentDefinitionName)), map(documentDefinition => documentDefinition?.schema), tap(schema => {
|
|
57
|
+
if (schema?.title) {
|
|
58
|
+
this.pageTitleService.setCustomPageTitle(schema?.title, true);
|
|
59
|
+
}
|
|
60
|
+
}));
|
|
55
61
|
this.searchFieldValues$ = this.parameterService.searchFieldValues$;
|
|
56
62
|
this.assigneeFilter$ = this.assigneeService.assigneeFilter$;
|
|
57
63
|
this._pagination$ = this.paginationService.pagination$.pipe(tap(pagination => {
|
|
@@ -88,7 +94,7 @@ export class DossierListComponent {
|
|
|
88
94
|
this.parameterService.queryPaginationParams$
|
|
89
95
|
.pipe(take(1))
|
|
90
96
|
.subscribe(queryPaginationParams => {
|
|
91
|
-
if (defaultListField && !queryPaginationParams?.sort
|
|
97
|
+
if (defaultListField && !queryPaginationParams?.sort?.isSorting) {
|
|
92
98
|
const sortDirection = typeof defaultListField.default === 'string' ? defaultListField.default : 'DESC';
|
|
93
99
|
this.paginationService.sortChanged({
|
|
94
100
|
isSorting: true,
|
|
@@ -118,11 +124,9 @@ export class DossierListComponent {
|
|
|
118
124
|
? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.searchService.mapSearchValuesToFilters(searchValues))
|
|
119
125
|
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.searchService.mapSearchValuesToFilters(searchValues));
|
|
120
126
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter);
|
|
125
|
-
}
|
|
127
|
+
return hasEnvColumnConfig || !hasApiColumnConfig
|
|
128
|
+
? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter)
|
|
129
|
+
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter);
|
|
126
130
|
}), tap(documents => {
|
|
127
131
|
this.paginationService.setCollectionSize(documents);
|
|
128
132
|
this.paginationService.checkPage(documents);
|
|
@@ -142,12 +146,14 @@ export class DossierListComponent {
|
|
|
142
146
|
}
|
|
143
147
|
ngOnDestroy() {
|
|
144
148
|
this._documentDefinitionNameSubscription?.unsubscribe();
|
|
149
|
+
this.pageTitleService.enableReset();
|
|
145
150
|
}
|
|
146
151
|
search(searchFieldValues) {
|
|
147
152
|
this.searchService.search(searchFieldValues);
|
|
148
153
|
}
|
|
149
154
|
rowClick(document) {
|
|
150
155
|
this.listService.documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {
|
|
156
|
+
this.breadcrumbService.cacheQueryParams(`/dossiers/${documentDefinitionName}`, this.route.snapshot.queryParams);
|
|
151
157
|
this.router.navigate([
|
|
152
158
|
`/dossiers/${documentDefinitionName}/document/${document.id}/${DefaultTabs.summary}`,
|
|
153
159
|
]);
|
|
@@ -195,16 +201,16 @@ export class DossierListComponent {
|
|
|
195
201
|
this.visibleDossierTabs = this.configService.config?.visibleDossierListTabs || null;
|
|
196
202
|
}
|
|
197
203
|
}
|
|
198
|
-
DossierListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
199
|
-
DossierListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
204
|
+
DossierListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.TranslateService }, { token: i3.DossierListService }, { token: i3.DossierColumnService }, { token: i3.DossierListAssigneeService }, { token: i3.DossierListPaginationService }, { token: i3.DossierListSearchService }, { token: i3.DossierParameterService }, { token: i4.DocumentService }, { token: i1.Router }, { token: i5.ConfigService }, { token: i6.PageTitleService }, { token: i6.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component });
|
|
205
|
+
DossierListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierListComponent, selector: "valtimo-dossier-list", providers: [
|
|
200
206
|
DossierListService,
|
|
201
207
|
DossierColumnService,
|
|
202
208
|
DossierListAssigneeService,
|
|
203
209
|
DossierParameterService,
|
|
204
210
|
DossierListPaginationService,
|
|
205
211
|
DossierListSearchService,
|
|
206
|
-
], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n fields: fields$ | async,\n documentItems: documentItems$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"refresh()\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"obs.documentItems\"\n [fields]=\"obs.fields\"\n (rowClicked)=\"rowClick($event)\"\n [pagination]=\"pagination\"\n [viewMode]=\"true\"\n [header]=\"true\"\n paginationIdentifier=\"dossierList\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n [initialSortState]=\"pagination.sort\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">\n
|
|
207
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
212
|
+
], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n fields: fields$ | async,\n documentItems: documentItems$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"refresh()\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"obs.documentItems\"\n [fields]=\"obs.fields\"\n (rowClicked)=\"rowClick($event)\"\n [pagination]=\"pagination\"\n [viewMode]=\"true\"\n [header]=\"true\"\n paginationIdentifier=\"dossierList\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n [initialSortState]=\"pagination.sort\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">\n <sup class=\"ml-1 badge badge-pill badge-primary\">{{\n pagination?.collectionSize || 0\n }}</sup>\n </h3>\n </div>\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-list>\n </valtimo-widget>\n</ng-template>\n\n<ng-template #tabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <ul\n *ngIf=\"visibleDossierTabs === null; else configuredTabs\"\n ngbNav\n [destroyOnHide]=\"false\"\n (navChange)=\"tabChange($event)\"\n class=\"nav-tabs\"\n [activeId]=\"assigneeFilter\"\n >\n <li ngbNavItem=\"ALL\" [title]=\"'dossier.tabs.ALL' | translate\">\n <a ngbNavLink>{{ 'dossier.tabs.ALL' | translate }}</a>\n </li>\n <li ngbNavItem=\"MINE\" [title]=\"'dossier.tabs.MINE' | translate\">\n <a ngbNavLink>{{ 'dossier.tabs.MINE' | translate }}</a>\n </li>\n <li ngbNavItem=\"OPEN\" [title]=\"'dossier.tabs.OPEN' | translate\">\n <a ngbNavLink>{{ 'dossier.tabs.OPEN' | translate }}</a>\n </li>\n </ul>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <ul\n ngbNav\n [destroyOnHide]=\"false\"\n (navChange)=\"tabChange($event)\"\n class=\"nav-tabs\"\n [activeId]=\"assigneeFilter\"\n >\n <li\n *ngFor=\"let tab of visibleDossierTabs\"\n [ngbNavItem]=\"tab\"\n [title]=\"'dossier.tabs.' + tab | translate\"\n >\n <a ngbNavLink>{{ 'dossier.tabs.' + tab | translate }}</a>\n </li>\n </ul>\n </ng-container>\n</ng-template>\n\n<ng-template #loading><valtimo-spinner></valtimo-spinner></ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i6.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i6.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i6.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "documentDefinitionName", "setValuesSubject$", "defaultValues"], outputs: ["doSearch"] }, { kind: "directive", type: i8.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i8.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i8.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "component", type: i9.DossierListActionsComponent, selector: "valtimo-dossier-list-actions", inputs: ["loading"], outputs: ["formFlowComplete"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListComponent, decorators: [{
|
|
208
214
|
type: Component,
|
|
209
215
|
args: [{ selector: 'valtimo-dossier-list', providers: [
|
|
210
216
|
DossierListService,
|
|
@@ -213,6 +219,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
213
219
|
DossierParameterService,
|
|
214
220
|
DossierListPaginationService,
|
|
215
221
|
DossierListSearchService,
|
|
216
|
-
], template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n fields: fields$ | async,\n documentItems: documentItems$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"refresh()\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"obs.documentItems\"\n [fields]=\"obs.fields\"\n (rowClicked)=\"rowClick($event)\"\n [pagination]=\"pagination\"\n [viewMode]=\"true\"\n [header]=\"true\"\n paginationIdentifier=\"dossierList\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n [initialSortState]=\"pagination.sort\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">\n
|
|
217
|
-
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.TranslateService }, { type: i3.DossierListService }, { type: i3.DossierColumnService }, { type: i3.DossierListAssigneeService }, { type: i3.DossierListPaginationService }, { type: i3.DossierListSearchService }, { type: i3.DossierParameterService }, { type: i4.DocumentService }, { type: i1.Router }, { type: i5.ConfigService }]; } });
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2Rvc3NpZXItbGlzdC9kb3NzaWVyLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvZG9zc2llci1saXN0L2Rvc3NpZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUdILFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN4QixrQkFBa0IsRUFDbEIsdUJBQXVCLEdBQ3hCLE1BQU0sYUFBYSxDQUFDO0FBYXJCLE9BQU8sRUFFTCxpQ0FBaUMsR0FJbEMsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7O0FBZ0J2RCxNQUFNLE9BQU8sb0JBQW9CO0lBK00vQixZQUNtQixLQUFxQixFQUNyQixnQkFBa0MsRUFDbEMsV0FBK0IsRUFDL0IsYUFBbUMsRUFDbkMsZUFBMkMsRUFDM0MsaUJBQStDLEVBQy9DLGFBQXVDLEVBQ3ZDLGdCQUF5QyxFQUN6QyxlQUFnQyxFQUNoQyxNQUFjLEVBQ2QsYUFBNEI7UUFWNUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxn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SUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLElBQUksSUFBSSxDQUFDO0lBQ3RGLENBQUM7O2tIQXJTVSxvQkFBb0I7c0dBQXBCLG9CQUFvQiwrQ0FUcEI7UUFDVCxrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsNEJBQTRCO1FBQzVCLHdCQUF3QjtLQUN6QiwwQkN2RUgseXhJQW1JQTs0RkQxRGEsb0JBQW9CO2tCQWJoQyxTQUFTOytCQUNFLHNCQUFzQixhQUdyQjt3QkFDVCxrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQix1QkFBdUI7d0JBQ3ZCLDRCQUE0Qjt3QkFDNUIsd0JBQXdCO3FCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgU3Vic2NyaXB0aW9uLFxuICBzd2l0Y2hNYXAsXG4gIHRha2UsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBEb3NzaWVyQ29sdW1uU2VydmljZSxcbiAgRG9zc2llckxpc3RBc3NpZ25lZVNlcnZpY2UsXG4gIERvc3NpZXJMaXN0UGFnaW5hdGlvblNlcnZpY2UsXG4gIERvc3NpZXJMaXN0U2VhcmNoU2VydmljZSxcbiAgRG9zc2llckxpc3RTZXJ2aWNlLFxuICBEb3NzaWVyUGFyYW1ldGVyU2VydmljZSxcbn0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgQXNzaWduZWVGaWx0ZXIsXG4gIENvbmZpZ1NlcnZpY2UsXG4gIERlZmluaXRpb25Db2x1bW4sXG4gIERpcmVjdGlvbixcbiAgRG9zc2llckxpc3RUYWIsXG4gIFNlYXJjaEZpZWxkLFxuICBTZWFyY2hGaWVsZFZhbHVlcyxcbiAgU29ydFN0YXRlLFxufSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtMaXN0RmllbGQsIFBhZ2luYXRpb259IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIEFkdmFuY2VkRG9jdW1lbnRTZWFyY2hSZXF1ZXN0LFxuICBBZHZhbmNlZERvY3VtZW50U2VhcmNoUmVxdWVzdEltcGwsXG4gIERvY3VtZW50cyxcbiAgRG9jdW1lbnRTZXJ2aWNlLFxuICBTcGVjaWZpZWREb2N1bWVudHMsXG59IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7RGVmYXVsdFRhYnN9IGZyb20gJy4uL2Rvc3NpZXItZGV0YWlsLXRhYi1lbnVtJztcbmltcG9ydCB7TmdiTmF2Q2hhbmdlRXZlbnR9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9zc2llci1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9zc2llci1saXN0LmNvbXBvbmVudC5jc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRG9zc2llckxpc3RTZXJ2aWNlLFxuICAgIERvc3NpZXJDb2x1bW5TZXJ2aWNlLFxuICAgIERvc3NpZXJMaXN0QXNzaWduZWVTZXJ2aWNlLFxuICAgIERvc3NpZXJQYXJhbWV0ZXJTZXJ2aWNlLFxuICAgIERvc3NpZXJMaXN0UGFnaW5hdGlvblNlcnZpY2UsXG4gICAgRG9zc2llckxpc3RTZWFyY2hTZXJ2aWNlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIGxvYWRpbmdGaWVsZHMgPSB0cnVlO1xuICBwdWJsaWMgbG9hZGluZ1BhZ2luYXRpb24gPSB0cnVlO1xuICBwdWJsaWMgbG9hZGluZ1NlYXJjaEZpZWxkcyA9IHRydWU7XG4gIHB1YmxpYyBsb2FkaW5nQXNzaWduZWVGaWx0ZXIgPSB0cnVlO1xuICBwdWJsaWMgbG9hZGluZ0RvY3VtZW50SXRlbXMgPSB0cnVlO1xuICBwdWJsaWMgcGFnaW5hdGlvbiE6IFBhZ2luYXRpb247XG4gIHB1YmxpYyBjYW5IYXZlQXNzaWduZWUhOiBib29sZWFuO1xuICBwdWJsaWMgdmlzaWJsZURvc3NpZXJUYWJzOiBBcnJheTxEb3NzaWVyTGlzdFRhYj4gfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoRmllbGRzJDogT2JzZXJ2YWJsZTxBcnJheTxTZWFyY2hGaWVsZD4gfCBudWxsPiA9XG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmRvY3VtZW50U2VhcmNoRmllbGRzJC5waXBlKFxuICAgICAgdGFwKHNlYXJjaEZpZWxkcyA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZ1NlYXJjaEZpZWxkcyA9IGZhbHNlO1xuICAgICAgfSlcbiAgICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudERlZmluaXRpb25OYW1lJCA9IHRoaXMubGlzdFNlcnZpY2UuZG9jdW1lbnREZWZpbml0aW9uTmFtZSQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNjaGVtYSQgPSB0aGlzLmxpc3RTZXJ2aWNlLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUkLnBpcGUoXG4gICAgc3dpdGNoTWFwKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPT5cbiAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldERvY3VtZW50RGVmaW5pdGlvbihkb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgICksXG4gICAgbWFwKGRvY3VtZW50RGVmaW5pdGlvbiA9PiBkb2N1bWVudERlZmluaXRpb24/LnNjaGVtYSlcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoRmllbGRWYWx1ZXMkID0gdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLnNlYXJjaEZpZWxkVmFsdWVzJDtcbiAgcHVibGljIHJlYWRvbmx5IGFzc2lnbmVlRmlsdGVyJDogT2JzZXJ2YWJsZTxBc3NpZ25lZUZpbHRlcj4gPVxuICAgIHRoaXMuYXNzaWduZWVTZXJ2aWNlLmFzc2lnbmVlRmlsdGVyJDtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFnaW5hdGlvbiQgPSB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLnBhZ2luYXRpb24kLnBpcGUoXG4gICAgdGFwKHBhZ2luYXRpb24gPT4ge1xuICAgICAgdGhpcy5wYWdpbmF0aW9uID0gcGFnaW5hdGlvbjtcbiAgICAgIHRoaXMubG9hZGluZ1BhZ2luYXRpb24gPSBmYWxzZTtcbiAgICB9KVxuICApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9oYXNFbnZDb2x1bW5Db25maWckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5saXN0U2VydmljZS5oYXNFbnZDb2x1bW5Db25maWckO1xuICBwcml2YXRlIHJlYWRvbmx5IF9oYXNBcGlDb2x1bW5Db25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NhbkhhdmVBc3NpZ25lZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmFzc2lnbmVlU2VydmljZS5jYW5IYXZlQXNzaWduZWUkO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWFyY2hTd2l0Y2gkID0gdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFN3aXRjaCQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbHVtbnMkOiBPYnNlcnZhYmxlPEFycmF5PERlZmluaXRpb25Db2x1bW4+PiA9XG4gICAgdGhpcy5saXN0U2VydmljZS5kb2N1bWVudERlZmluaXRpb25OYW1lJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPT5cbiAgICAgICAgdGhpcy5jb2x1bW5TZXJ2aWNlLmdldERlZmluaXRpb25Db2x1bW5zKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpXG4gICAgICApLFxuICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuX2hhc0FwaUNvbHVtbkNvbmZpZyQubmV4dChyZXMuaGFzQXBpQ29uZmlnKTtcbiAgICAgICAgcmV0dXJuIHJlcy5jb2x1bW5zO1xuICAgICAgfSksXG4gICAgICB0YXAoY29sdW1ucyA9PiB7XG4gICAgICAgIHRoaXMubGlzdFNlcnZpY2UuZG9jdW1lbnREZWZpbml0aW9uTmFtZSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9PiB7XG4gICAgICAgICAgdGhpcy5wYWdpbmF0aW9uU2VydmljZS5zZXRQYWdpbmF0aW9uKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUsIGNvbHVtbnMpO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcblxuICByZWFkb25seSBmaWVsZHMkOiBPYnNlcnZhYmxlPEFycmF5PExpc3RGaWVsZD4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fY2FuSGF2ZUFzc2lnbmVlJCxcbiAgICB0aGlzLl9jb2x1bW5zJCxcbiAgICB0aGlzLl9oYXNFbnZDb2x1bW5Db25maWckLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIHRhcCgoW2NhbkhhdmVBc3NpZ25lZV0pID0+IHtcbiAgICAgIHRoaXMuY2FuSGF2ZUFzc2lnbmVlID0gY2FuSGF2ZUFzc2lnbmVlO1xuICAgIH0pLFxuICAgIG1hcCgoW2NhbkhhdmVBc3NpZ25lZSwgY29sdW1ucywgaGFzRW52Q29uZmlnXSkgPT4ge1xuICAgICAgY29uc3QgZmlsdGVyZWRBc3NpZ25lZUNvbHVtbnMgPSB0aGlzLmFzc2lnbmVlU2VydmljZS5maWx0ZXJBc3NpZ25lZUNvbHVtbnMoXG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIGNhbkhhdmVBc3NpZ25lZVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGxpc3RGaWVsZHMgPSB0aGlzLmNvbHVtblNlcnZpY2UubWFwRGVmaW5pdGlvbkNvbHVtbnNUb0xpc3RGaWVsZHMoXG4gICAgICAgIGZpbHRlcmVkQXNzaWduZWVDb2x1bW5zLFxuICAgICAgICBoYXNFbnZDb25maWdcbiAgICAgICk7XG4gICAgICBjb25zdCBmaWVsZHNUb1JldHVybiA9IHRoaXMuYXNzaWduZWVTZXJ2aWNlLmFkZEFzc2lnbmVlTGlzdEZpZWxkKFxuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBsaXN0RmllbGRzLFxuICAgICAgICBjYW5IYXZlQXNzaWduZWVcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBmaWVsZHNUb1JldHVybjtcbiAgICB9KSxcbiAgICB0YXAobGlzdEZpZWxkcyA9PiB7XG4gICAgICBjb25zdCBkZWZhdWx0TGlzdEZpZWxkID0gbGlzdEZpZWxkcy5maW5kKGZpZWxkID0+IGZpZWxkLmRlZmF1bHQpO1xuXG4gICAgICAvLyBzZXQgZGVmYXVsdCBzb3J0IHN0YXRlIGlmIG5vIHBhZ2luYXRpb24gcXVlcnkgcGFyYW1ldGVycyBmb3Igc29ydGluZyBhcmUgYXZhaWxhYmxlXG4gICAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UucXVlcnlQYWdpbmF0aW9uUGFyYW1zJFxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKHF1ZXJ5UGFnaW5hdGlvblBhcmFtcyA9PiB7XG4gICAgICAgICAgaWYgKGRlZmF1bHRMaXN0RmllbGQgJiYgIXF1ZXJ5UGFnaW5hdGlvblBhcmFtcz8uc29ydC5pc1NvcnRpbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IHNvcnREaXJlY3Rpb24gPVxuICAgICAgICAgICAgICB0eXBlb2YgZGVmYXVsdExpc3RGaWVsZC5kZWZhdWx0ID09PSAnc3RyaW5nJyA/IGRlZmF1bHRMaXN0RmllbGQuZGVmYXVsdCA6ICdERVNDJztcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNlcnZpY2Uuc29ydENoYW5nZWQoe1xuICAgICAgICAgICAgICBpc1NvcnRpbmc6IHRydWUsXG4gICAgICAgICAgICAgIHN0YXRlOiB7bmFtZTogZGVmYXVsdExpc3RGaWVsZC5rZXksIGRpcmVjdGlvbjogc29ydERpcmVjdGlvbiBhcyBEaXJlY3Rpb259LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KSxcbiAgICB0YXAoKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkaW5nRmllbGRzID0gZmFsc2U7XG4gICAgfSlcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudFNlYXJjaFJlcXVlc3QkOiBPYnNlcnZhYmxlPEFkdmFuY2VkRG9jdW1lbnRTZWFyY2hSZXF1ZXN0PiA9XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fcGFnaW5hdGlvbiQsIHRoaXMubGlzdFNlcnZpY2UuZG9jdW1lbnREZWZpbml0aW9uTmFtZSRdKS5waXBlKFxuICAgICAgZmlsdGVyKChbcGFnaW5hdGlvbl0pID0+ICEhcGFnaW5hdGlvbiksXG4gICAgICBtYXAoXG4gICAgICAgIChbcGFnaW5hdGlvbiwgZG9jdW1lbnREZWZpbml0aW9uTmFtZV0pID0+XG4gICAgICAgICAgbmV3IEFkdmFuY2VkRG9jdW1lbnRTZWFyY2hSZXF1ZXN0SW1wbChcbiAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgICBwYWdpbmF0aW9uLnBhZ2UgLSAxLFxuICAgICAgICAgICAgcGFnaW5hdGlvbi5zaXplLFxuICAgICAgICAgICAgcGFnaW5hdGlvbi5zb3J0XG4gICAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnRzUmVxdWVzdCQ6IE9ic2VydmFibGU8RG9jdW1lbnRzIHwgU3BlY2lmaWVkRG9jdW1lbnRzPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX2RvY3VtZW50U2VhcmNoUmVxdWVzdCQsXG4gICAgdGhpcy5zZWFyY2hGaWVsZFZhbHVlcyQsXG4gICAgdGhpcy5hc3NpZ25lZUZpbHRlciQsXG4gICAgdGhpcy5faGFzRW52Q29sdW1uQ29uZmlnJCxcbiAgICB0aGlzLl9oYXNBcGlDb2x1bW5Db25maWckLFxuICAgIHRoaXMuX3NlYXJjaFN3aXRjaCQsXG4gIF0pLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoXG4gICAgICAoXG4gICAgICAgIFtcbiAgICAgICAgICBwcmV2U2VhcmNoUmVxdWVzdCxcbiAgICAgICAgICBwcmV2U2VhcmNoVmFsdWVzLFxuICAgICAgICAgIHByZXZBc3NpZ25lZUZpbHRlcixcbiAgICAgICAgICBwcmV2SGFzRW52Q29sdW1uQ29uZmlnLFxuICAgICAgICAgIHByZXZIYXNBcGlDb2x1bW5Db25maWcsXG4gICAgICAgICAgcHJldlNlYXJjaFN3aXRjaCxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIGN1cnJTZWFyY2hSZXF1ZXN0LFxuICAgICAgICAgIGN1cnJTZWFyY2hWYWx1ZXMsXG4gICAgICAgICAgY3VyckFzc2lnbmVlRmlsdGVyLFxuICAgICAgICAgIGN1cnJIYXNFbnZDb2x1bW5Db25maWcsXG4gICAgICAgICAgY3Vyckhhc0FwaUNvbHVtbkNvbmZpZyxcbiAgICAgICAgICBjdXJyU2VhcmNoU3dpdGNoLFxuICAgICAgICBdXG4gICAgICApID0+XG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHsuLi5wcmV2U2VhcmNoUmVxdWVzdCwgLi4ucHJldlNlYXJjaFZhbHVlc30pICtcbiAgICAgICAgICBwcmV2QXNzaWduZWVGaWx0ZXIgK1xuICAgICAgICAgIHByZXZTZWFyY2hTd2l0Y2ggPT09XG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHsuLi5jdXJyU2VhcmNoUmVxdWVzdCwgLi4uY3VyclNlYXJjaFZhbHVlc30pICtcbiAgICAgICAgICBjdXJyQXNzaWduZWVGaWx0ZXIgK1xuICAgICAgICAgIGN1cnJTZWFyY2hTd2l0Y2hcbiAgICApLFxuICAgIHN3aXRjaE1hcChcbiAgICAgIChbXG4gICAgICAgIGRvY3VtZW50U2VhcmNoUmVxdWVzdCxcbiAgICAgICAgc2VhcmNoVmFsdWVzLFxuICAgICAgICBhc3NpZ25lZUZpbHRlcixcbiAgICAgICAgaGFzRW52Q29sdW1uQ29uZmlnLFxuICAgICAgICBoYXNBcGlDb2x1bW5Db25maWcsXG4gICAgICBdKSA9PiB7XG4gICAgICAgIGlmICgoT2JqZWN0LmtleXMoc2VhcmNoVmFsdWVzKSB8fCBbXSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiBoYXNFbnZDb2x1bW5Db25maWcgfHwgIWhhc0FwaUNvbHVtbkNvbmZpZ1xuICAgICAgICAgICAgPyB0aGlzLmRvY3VtZW50U2VydmljZS5nZXREb2N1bWVudHNTZWFyY2goXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRTZWFyY2hSZXF1ZXN0LFxuICAgICAgICAgICAgICAgICdBTkQnLFxuICAgICAgICAgICAgICAgIGFzc2lnbmVlRmlsdGVyLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoU2VydmljZS5tYXBTZWFyY2hWYWx1ZXNUb0ZpbHRlcnMoc2VhcmNoVmFsdWVzKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldFNwZWNpZmllZERvY3VtZW50c1NlYXJjaChcbiAgICAgICAgICAgICAgICBkb2N1bWVudFNlYXJjaFJlcXVlc3QsXG4gICAgICAgICAgICAgICAgJ0FORCcsXG4gICAgICAgICAgICAgICAgYXNzaWduZWVGaWx0ZXIsXG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLm1hcFNlYXJjaFZhbHVlc1RvRmlsdGVycyhzZWFyY2hWYWx1ZXMpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGhhc0VudkNvbHVtbkNvbmZpZyB8fCAhaGFzQXBpQ29sdW1uQ29uZmlnXG4gICAgICAgICAgICA/IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldERvY3VtZW50c1NlYXJjaChkb2N1bWVudFNlYXJjaFJlcXVlc3QsICdBTkQnLCBhc3NpZ25lZUZpbHRlcilcbiAgICAgICAgICAgIDogdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0U3BlY2lmaWVkRG9jdW1lbnRzU2VhcmNoKFxuICAgICAgICAgICAgICAgIGRvY3VtZW50U2VhcmNoUmVxdWVzdCxcbiAgICAgICAgICAgICAgICAnQU5EJyxcbiAgICAgICAgICAgICAgICBhc3NpZ25lZUZpbHRlclxuICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKSxcbiAgICB0YXAoZG9jdW1lbnRzID0+IHtcbiAgICAgIHRoaXMucGFnaW5hdGlvblNlcnZpY2Uuc2V0Q29sbGVjdGlvblNpemUoZG9jdW1lbnRzKTtcbiAgICAgIHRoaXMucGFnaW5hdGlvblNlcnZpY2UuY2hlY2tQYWdlKGRvY3VtZW50cyk7XG4gICAgfSlcbiAgKTtcblxuICBwdWJsaWMgZG9jdW1lbnRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLl9kb2N1bWVudHNSZXF1ZXN0JCxcbiAgICB0aGlzLl9oYXNFbnZDb2x1bW5Db25maWckLFxuICAgIHRoaXMuX2hhc0FwaUNvbHVtbkNvbmZpZyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbZG9jdW1lbnRzLCBoYXNFbnZDb2x1bW5Db25maWcsIGhhc0FwaUNvbHVtbkNvbmZpZ10pID0+XG4gICAgICB0aGlzLmxpc3RTZXJ2aWNlLm1hcERvY3VtZW50cyhkb2N1bWVudHMsIGhhc0VudkNvbHVtbkNvbmZpZywgaGFzQXBpQ29sdW1uQ29uZmlnKVxuICAgICksXG4gICAgdGFwKCgpID0+IHtcbiAgICAgIHRoaXMubG9hZGluZ0Fzc2lnbmVlRmlsdGVyID0gZmFsc2U7XG4gICAgICB0aGlzLmxvYWRpbmdEb2N1bWVudEl0ZW1zID0gZmFsc2U7XG4gICAgfSlcbiAgKTtcblxuICBwcml2YXRlIF9wcmV2aW91c0RvY3VtZW50RGVmaW5pdGlvbk5hbWUhOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RvY3VtZW50RGVmaW5pdGlvbk5hbWVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdFNlcnZpY2U6IERvc3NpZXJMaXN0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbHVtblNlcnZpY2U6IERvc3NpZXJDb2x1bW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXNzaWduZWVTZXJ2aWNlOiBEb3NzaWVyTGlzdEFzc2lnbmVlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2luYXRpb25TZXJ2aWNlOiBEb3NzaWVyTGlzdFBhZ2luYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoU2VydmljZTogRG9zc2llckxpc3RTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFyYW1ldGVyU2VydmljZTogRG9zc2llclBhcmFtZXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRWaXNpYmxlVGFicygpO1xuICAgIHRoaXMub3BlbkRvY3VtZW50RGVmaW5pdGlvbk5hbWVTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2RvY3VtZW50RGVmaW5pdGlvbk5hbWVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBzZWFyY2goc2VhcmNoRmllbGRWYWx1ZXM6IFNlYXJjaEZpZWxkVmFsdWVzKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaChzZWFyY2hGaWVsZFZhbHVlcyk7XG4gIH1cblxuICByb3dDbGljayhkb2N1bWVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5saXN0U2VydmljZS5kb2N1bWVudERlZmluaXRpb25OYW1lJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShkb2N1bWVudERlZmluaXRpb25OYW1lID0+IHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcbiAgICAgICAgYC9kb3NzaWVycy8ke2RvY3VtZW50RGVmaW5pdGlvbk5hbWV9L2RvY3VtZW50LyR7ZG9jdW1lbnQuaWR9LyR7RGVmYXVsdFRhYnMuc3VtbWFyeX1gLFxuICAgICAgXSk7XG4gICAgfSk7XG4gIH1cblxuICBwYWdlQ2hhbmdlKG5ld1BhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGFnaW5hdGlvblNlcnZpY2UucGFnZUNoYW5nZShuZXdQYWdlKTtcbiAgfVxuXG4gIHBhZ2VTaXplQ2hhbmdlKG5ld1BhZ2VTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLnBhZ2VTaXplQ2hhbmdlKG5ld1BhZ2VTaXplKTtcbiAgfVxuXG4gIHNvcnRDaGFuZ2VkKG5ld1NvcnRTdGF0ZTogU29ydFN0YXRlKTogdm9pZCB7XG4gICAgdGhpcy5wYWdpbmF0aW9uU2VydmljZS5zb3J0Q2hhbmdlZChuZXdTb3J0U3RhdGUpO1xuICB9XG5cbiAgdGFiQ2hhbmdlKHRhYjogTmdiTmF2Q2hhbmdlRXZlbnQ8YW55Pik6IHZvaWQge1xuICAgIHRoaXMucGFnaW5hdGlvblNlcnZpY2Uuc2V0UGFnZSgxKTtcbiAgICB0aGlzLmFzc2lnbmVlU2VydmljZS5zZXRBc3NpZ25lZUZpbHRlcih0YWIubmV4dElkLnRvVXBwZXJDYXNlKCkpO1xuICB9XG5cbiAgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFNlcnZpY2UucmVmcmVzaCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRG9jdW1lbnREZWZpbml0aW9uTmFtZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZS5wYXJhbXNcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocGFyYW1zID0+IHBhcmFtcz8uZG9jdW1lbnREZWZpbml0aW9uTmFtZSksXG4gICAgICAgIGZpbHRlcihkb2NEZWZOYW1lID0+ICEhZG9jRGVmTmFtZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZG9jdW1lbnREZWZpbml0b25OYW1lID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzRG9jdW1lbnREZWZpbml0aW9uTmFtZSkge1xuICAgICAgICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5jbGVhclBhcmFtZXRlcnMoKTtcbiAgICAgICAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuY2xlYXJTZWFyY2hGaWVsZFZhbHVlcygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3ByZXZpb3VzRG9jdW1lbnREZWZpbml0aW9uTmFtZSA9IGRvY3VtZW50RGVmaW5pdG9uTmFtZTtcbiAgICAgICAgdGhpcy5zZXRMb2FkaW5nKCk7XG4gICAgICAgIHRoaXMucGFnaW5hdGlvblNlcnZpY2UuY2xlYXJQYWdpbmF0aW9uKCk7XG4gICAgICAgIHRoaXMuYXNzaWduZWVTZXJ2aWNlLnJlc2V0QXNzaWduZWVGaWx0ZXIoKTtcbiAgICAgICAgdGhpcy5saXN0U2VydmljZS5zZXREb2N1bWVudERlZmluaXRpb25OYW1lKGRvY3VtZW50RGVmaW5pdG9uTmFtZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TG9hZGluZygpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRpbmdGaWVsZHMgPSB0cnVlO1xuICAgIHRoaXMubG9hZGluZ1BhZ2luYXRpb24gPSB0cnVlO1xuICAgIHRoaXMubG9hZGluZ1NlYXJjaEZpZWxkcyA9IHRydWU7XG4gICAgdGhpcy5sb2FkaW5nQXNzaWduZWVGaWx0ZXIgPSB0cnVlO1xuICAgIHRoaXMubG9hZGluZ0RvY3VtZW50SXRlbXMgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRWaXNpYmxlVGFicygpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVEb3NzaWVyVGFicyA9IHRoaXMuY29uZmlnU2VydmljZS5jb25maWc/LnZpc2libGVEb3NzaWVyTGlzdFRhYnMgfHwgbnVsbDtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwie1xuICAgIGZpZWxkczogZmllbGRzJCB8IGFzeW5jLFxuICAgIGRvY3VtZW50SXRlbXM6IGRvY3VtZW50SXRlbXMkIHwgYXN5bmMsXG4gICAgc2VhcmNoRmllbGRzOiBzZWFyY2hGaWVsZHMkIHwgYXN5bmMsXG4gICAgc2NoZW1hOiBzY2hlbWEkIHwgYXN5bmMsXG4gICAgbG9hZGVkOlxuICAgICAgIWxvYWRpbmdGaWVsZHMgJiZcbiAgICAgICFsb2FkaW5nUGFnaW5hdGlvbiAmJlxuICAgICAgIWxvYWRpbmdTZWFyY2hGaWVsZHMgJiZcbiAgICAgICFsb2FkaW5nQXNzaWduZWVGaWx0ZXIgJiZcbiAgICAgICFsb2FkaW5nRG9jdW1lbnRJdGVtc1xuICB9IGFzIG9ic1wiXG4+XG4gIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQgcHQtMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgcHgtMCBtYi01XCI+XG4gICAgICAgIDx2YWx0aW1vLWRvc3NpZXItbGlzdC1hY3Rpb25zXG4gICAgICAgICAgW2xvYWRpbmddPVwiIW9icy5sb2FkZWRcIlxuICAgICAgICAgIChmb3JtRmxvd0NvbXBsZXRlKT1cInJlZnJlc2goKVwiXG4gICAgICAgID48L3ZhbHRpbW8tZG9zc2llci1saXN0LWFjdGlvbnM+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYnMubG9hZGVkOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoRmllbGRzOyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3Q7IGNvbnRleHQ6IHtvYnM6IG9ic31cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzZWFyY2hGaWVsZHMgbGV0LW9icz1cIm9ic1wiPlxuICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgIDx2YWx0aW1vLXNlYXJjaC1maWVsZHNcbiAgICAgIFtzZWFyY2hGaWVsZHNdPVwib2JzLnNlYXJjaEZpZWxkc1wiXG4gICAgICAoZG9TZWFyY2gpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgW2RvY3VtZW50RGVmaW5pdGlvbk5hbWVdPVwiZG9jdW1lbnREZWZpbml0aW9uTmFtZSQgfCBhc3luY1wiXG4gICAgICBbZGVmYXVsdFZhbHVlc109XCJzZWFyY2hGaWVsZFZhbHVlcyQgfCBhc3luY1wiXG4gICAgPjwvdmFsdGltby1zZWFyY2gtZmllbGRzPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGlzdCBsZXQtb2JzPVwib2JzXCI+XG4gIDx2YWx0aW1vLXdpZGdldD5cbiAgICA8dmFsdGltby1saXN0XG4gICAgICBbaXRlbXNdPVwib2JzLmRvY3VtZW50SXRlbXNcIlxuICAgICAgW2ZpZWxkc109XCJvYnMuZmllbGRzXCJcbiAgICAgIChyb3dDbGlja2VkKT1cInJvd0NsaWNrKCRldmVudClcIlxuICAgICAgW3BhZ2luYXRpb25dPVwicGFnaW5hdGlvblwiXG4gICAgICBbdmlld01vZGVdPVwidHJ1ZVwiXG4gICAgICBbaGVhZGVyXT1cInRydWVcIlxuICAgICAgcGFnaW5hdGlvbklkZW50aWZpZXI9XCJkb3NzaWVyTGlzdFwiXG4gICAgICAocGFnaW5hdGlvbkNsaWNrZWQpPVwicGFnZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChwYWdpbmF0aW9uU2V0KT1cInBhZ2VTaXplQ2hhbmdlKCRldmVudClcIlxuICAgICAgW2luaXRpYWxTb3J0U3RhdGVdPVwicGFnaW5hdGlvbi5zb3J0XCJcbiAgICAgIChzb3J0Q2hhbmdlZCk9XCJzb3J0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8ZGl2IGhlYWRlcj5cbiAgICAgICAgPGgzIGNsYXNzPVwibGlzdC1oZWFkZXItdGl0bGVcIj5cbiAgICAgICAgICB7eyBvYnMuc2NoZW1hPy50aXRsZSB9fVxuICAgICAgICAgIDxzdXAgY2xhc3M9XCJtbC0xIGJhZGdlIGJhZGdlLXBpbGwgYmFkZ2UtcHJpbWFyeVwiPnt7XG4gICAgICAgICAgICBwYWdpbmF0aW9uPy5jb2xsZWN0aW9uU2l6ZSB8fCAwXG4gICAgICAgICAgfX08L3N1cD5cbiAgICAgICAgPC9oMz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiB0YWJzICpuZ0lmPVwiY2FuSGF2ZUFzc2lnbmVlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJzXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L3ZhbHRpbW8tbGlzdD5cbiAgPC92YWx0aW1vLXdpZGdldD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGFicz5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFzc2lnbmVlRmlsdGVyJCB8IGFzeW5jIGFzIGFzc2lnbmVlRmlsdGVyXCI+XG4gICAgPHVsXG4gICAgICAqbmdJZj1cInZpc2libGVEb3NzaWVyVGFicyA9PT0gbnVsbDsgZWxzZSBjb25maWd1cmVkVGFic1wiXG4gICAgICBuZ2JOYXZcbiAgICAgIFtkZXN0cm95T25IaWRlXT1cImZhbHNlXCJcbiAgICAgIChuYXZDaGFuZ2UpPVwidGFiQ2hhbmdlKCRldmVudClcIlxuICAgICAgY2xhc3M9XCJuYXYtdGFic1wiXG4gICAgICBbYWN0aXZlSWRdPVwiYXNzaWduZWVGaWx0ZXJcIlxuICAgID5cbiAgICAgIDxsaSBuZ2JOYXZJdGVtPVwiQUxMXCIgW3RpdGxlXT1cIidkb3NzaWVyLnRhYnMuQUxMJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICA8YSBuZ2JOYXZMaW5rPnt7ICdkb3NzaWVyLnRhYnMuQUxMJyB8IHRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgIDwvbGk+XG4gICAgICA8bGkgbmdiTmF2SXRlbT1cIk1JTkVcIiBbdGl0bGVdPVwiJ2Rvc3NpZXIudGFicy5NSU5FJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICA8YSBuZ2JOYXZMaW5rPnt7ICdkb3NzaWVyLnRhYnMuTUlORScgfCB0cmFuc2xhdGUgfX08L2E+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIG5nYk5hdkl0ZW09XCJPUEVOXCIgW3RpdGxlXT1cIidkb3NzaWVyLnRhYnMuT1BFTicgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPGEgbmdiTmF2TGluaz57eyAnZG9zc2llci50YWJzLk9QRU4nIHwgdHJhbnNsYXRlIH19PC9hPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY29uZmlndXJlZFRhYnM+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhc3NpZ25lZUZpbHRlciQgfCBhc3luYyBhcyBhc3NpZ25lZUZpbHRlclwiPlxuICAgIDx1bFxuICAgICAgbmdiTmF2XG4gICAgICBbZGVzdHJveU9uSGlkZV09XCJmYWxzZVwiXG4gICAgICAobmF2Q2hhbmdlKT1cInRhYkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIGNsYXNzPVwibmF2LXRhYnNcIlxuICAgICAgW2FjdGl2ZUlkXT1cImFzc2lnbmVlRmlsdGVyXCJcbiAgICA+XG4gICAgICA8bGlcbiAgICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiB2aXNpYmxlRG9zc2llclRhYnNcIlxuICAgICAgICBbbmdiTmF2SXRlbV09XCJ0YWJcIlxuICAgICAgICBbdGl0bGVdPVwiJ2Rvc3NpZXIudGFicy4nICsgdGFiIHwgdHJhbnNsYXRlXCJcbiAgICAgID5cbiAgICAgICAgPGEgbmdiTmF2TGluaz57eyAnZG9zc2llci50YWJzLicgKyB0YWIgfCB0cmFuc2xhdGUgfX08L2E+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPjx2YWx0aW1vLXNwaW5uZXI+PC92YWx0aW1vLXNwaW5uZXI+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
222
|
+
], template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n fields: fields$ | async,\n documentItems: documentItems$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"refresh()\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"obs.documentItems\"\n [fields]=\"obs.fields\"\n (rowClicked)=\"rowClick($event)\"\n [pagination]=\"pagination\"\n [viewMode]=\"true\"\n [header]=\"true\"\n paginationIdentifier=\"dossierList\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n [initialSortState]=\"pagination.sort\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">\n <sup class=\"ml-1 badge badge-pill badge-primary\">{{\n pagination?.collectionSize || 0\n }}</sup>\n </h3>\n </div>\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-list>\n </valtimo-widget>\n</ng-template>\n\n<ng-template #tabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <ul\n *ngIf=\"visibleDossierTabs === null; else configuredTabs\"\n ngbNav\n [destroyOnHide]=\"false\"\n (navChange)=\"tabChange($event)\"\n class=\"nav-tabs\"\n [activeId]=\"assigneeFilter\"\n >\n <li ngbNavItem=\"ALL\" [title]=\"'dossier.tabs.ALL' | translate\">\n <a ngbNavLink>{{ 'dossier.tabs.ALL' | translate }}</a>\n </li>\n <li ngbNavItem=\"MINE\" [title]=\"'dossier.tabs.MINE' | translate\">\n <a ngbNavLink>{{ 'dossier.tabs.MINE' | translate }}</a>\n </li>\n <li ngbNavItem=\"OPEN\" [title]=\"'dossier.tabs.OPEN' | translate\">\n <a ngbNavLink>{{ 'dossier.tabs.OPEN' | translate }}</a>\n </li>\n </ul>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <ul\n ngbNav\n [destroyOnHide]=\"false\"\n (navChange)=\"tabChange($event)\"\n class=\"nav-tabs\"\n [activeId]=\"assigneeFilter\"\n >\n <li\n *ngFor=\"let tab of visibleDossierTabs\"\n [ngbNavItem]=\"tab\"\n [title]=\"'dossier.tabs.' + tab | translate\"\n >\n <a ngbNavLink>{{ 'dossier.tabs.' + tab | translate }}</a>\n </li>\n </ul>\n </ng-container>\n</ng-template>\n\n<ng-template #loading><valtimo-spinner></valtimo-spinner></ng-template>\n" }]
|
|
223
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.TranslateService }, { type: i3.DossierListService }, { type: i3.DossierColumnService }, { type: i3.DossierListAssigneeService }, { type: i3.DossierListPaginationService }, { type: i3.DossierListSearchService }, { type: i3.DossierParameterService }, { type: i4.DocumentService }, { type: i1.Router }, { type: i5.ConfigService }, { type: i6.PageTitleService }, { type: i6.BreadcrumbService }]; } });
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2Rvc3NpZXItbGlzdC9kb3NzaWVyLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvZG9zc2llci1saXN0L2Rvc3NpZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUdILFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN4QixrQkFBa0IsRUFDbEIsdUJBQXVCLEdBQ3hCLE1BQU0sYUFBYSxDQUFDO0FBYXJCLE9BQU8sRUFFTCxpQ0FBaUMsR0FJbEMsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7O0FBZ0J2RCxNQUFNLE9BQU8sb0JBQW9CO0lBb04vQixZQUNtQixLQUFxQixFQUNyQixnQkFBa0MsRUFDbEMsV0FBK0IsRUFDL0IsYUFBbUMsRUFDbkMsZUFBMkMsRUFDM0MsaUJBQStDLEVBQy9DLGFBQXVDLEVBQ3ZDLGdCQUF5QyxFQUN6QyxlQUFnQyxFQUNoQyxNQUFjLEVBQ2QsYUFBNEIsRUFDNUIsZ0JBQWtDLEVBQ2xDLGlCQUFvQztRQVpwQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixxQkFBZ0Is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LEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLElBQUksSUFBSSxDQUFDO0lBQ3RGLENBQUM7O2lIQWpUVSxvQkFBb0I7cUdBQXBCLG9CQUFvQiwrQ0FUcEI7UUFDVCxrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsNEJBQTRCO1FBQzVCLHdCQUF3QjtLQUN6QiwwQkN2RUgsc3ZJQWtJQTsyRkR6RGEsb0JBQW9CO2tCQWJoQyxTQUFTOytCQUNFLHNCQUFzQixhQUdyQjt3QkFDVCxrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQix1QkFBdUI7d0JBQ3ZCLDRCQUE0Qjt3QkFDNUIsd0JBQXdCO3FCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgU3Vic2NyaXB0aW9uLFxuICBzd2l0Y2hNYXAsXG4gIHRha2UsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBEb3NzaWVyQ29sdW1uU2VydmljZSxcbiAgRG9zc2llckxpc3RBc3NpZ25lZVNlcnZpY2UsXG4gIERvc3NpZXJMaXN0UGFnaW5hdGlvblNlcnZpY2UsXG4gIERvc3NpZXJMaXN0U2VhcmNoU2VydmljZSxcbiAgRG9zc2llckxpc3RTZXJ2aWNlLFxuICBEb3NzaWVyUGFyYW1ldGVyU2VydmljZSxcbn0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgQXNzaWduZWVGaWx0ZXIsXG4gIENvbmZpZ1NlcnZpY2UsXG4gIERlZmluaXRpb25Db2x1bW4sXG4gIERpcmVjdGlvbixcbiAgRG9zc2llckxpc3RUYWIsXG4gIFNlYXJjaEZpZWxkLFxuICBTZWFyY2hGaWVsZFZhbHVlcyxcbiAgU29ydFN0YXRlLFxufSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtCcmVhZGNydW1iU2VydmljZSwgTGlzdEZpZWxkLCBQYWdlVGl0bGVTZXJ2aWNlLCBQYWdpbmF0aW9ufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBBZHZhbmNlZERvY3VtZW50U2VhcmNoUmVxdWVzdCxcbiAgQWR2YW5jZWREb2N1bWVudFNlYXJjaFJlcXVlc3RJbXBsLFxuICBEb2N1bWVudHMsXG4gIERvY3VtZW50U2VydmljZSxcbiAgU3BlY2lmaWVkRG9jdW1lbnRzLFxufSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge0RlZmF1bHRUYWJzfSBmcm9tICcuLi9kb3NzaWVyLWRldGFpbC10YWItZW51bSc7XG5pbXBvcnQge05nYk5hdkNoYW5nZUV2ZW50fSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZG9zc2llci1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rvc3NpZXItbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rvc3NpZXItbGlzdC5jb21wb25lbnQuY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIERvc3NpZXJMaXN0U2VydmljZSxcbiAgICBEb3NzaWVyQ29sdW1uU2VydmljZSxcbiAgICBEb3NzaWVyTGlzdEFzc2lnbmVlU2VydmljZSxcbiAgICBEb3NzaWVyUGFyYW1ldGVyU2VydmljZSxcbiAgICBEb3NzaWVyTGlzdFBhZ2luYXRpb25TZXJ2aWNlLFxuICAgIERvc3NpZXJMaXN0U2VhcmNoU2VydmljZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9zc2llckxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBsb2FkaW5nRmllbGRzID0gdHJ1ZTtcbiAgcHVibGljIGxvYWRpbmdQYWdpbmF0aW9uID0gdHJ1ZTtcbiAgcHVibGljIGxvYWRpbmdTZWFyY2hGaWVsZHMgPSB0cnVlO1xuICBwdWJsaWMgbG9hZGluZ0Fzc2lnbmVlRmlsdGVyID0gdHJ1ZTtcbiAgcHVibGljIGxvYWRpbmdEb2N1bWVudEl0ZW1zID0gdHJ1ZTtcbiAgcHVibGljIHBhZ2luYXRpb24hOiBQYWdpbmF0aW9uO1xuICBwdWJsaWMgY2FuSGF2ZUFzc2lnbmVlITogYm9vbGVhbjtcbiAgcHVibGljIHZpc2libGVEb3NzaWVyVGFiczogQXJyYXk8RG9zc2llckxpc3RUYWI+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNlYXJjaEZpZWxkcyQ6IE9ic2VydmFibGU8QXJyYXk8U2VhcmNoRmllbGQ+IHwgbnVsbD4gPVxuICAgIHRoaXMuc2VhcmNoU2VydmljZS5kb2N1bWVudFNlYXJjaEZpZWxkcyQucGlwZShcbiAgICAgIHRhcChzZWFyY2hGaWVsZHMgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmdTZWFyY2hGaWVsZHMgPSBmYWxzZTtcbiAgICAgIH0pXG4gICAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnREZWZpbml0aW9uTmFtZSQgPSB0aGlzLmxpc3RTZXJ2aWNlLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUkO1xuXG4gIHB1YmxpYyByZWFkb25seSBzY2hlbWEkID0gdGhpcy5saXN0U2VydmljZS5kb2N1bWVudERlZmluaXRpb25OYW1lJC5waXBlKFxuICAgIHN3aXRjaE1hcChkb2N1bWVudERlZmluaXRpb25OYW1lID0+XG4gICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXREb2N1bWVudERlZmluaXRpb24oZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcbiAgICApLFxuICAgIG1hcChkb2N1bWVudERlZmluaXRpb24gPT4gZG9jdW1lbnREZWZpbml0aW9uPy5zY2hlbWEpLFxuICAgIHRhcChzY2hlbWEgPT4ge1xuICAgICAgaWYgKHNjaGVtYT8udGl0bGUpIHtcbiAgICAgICAgdGhpcy5wYWdlVGl0bGVTZXJ2aWNlLnNldEN1c3RvbVBhZ2VUaXRsZShzY2hlbWE/LnRpdGxlLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBzZWFyY2hGaWVsZFZhbHVlcyQgPSB0aGlzLnBhcmFtZXRlclNlcnZpY2Uuc2VhcmNoRmllbGRWYWx1ZXMkO1xuICBwdWJsaWMgcmVhZG9ubHkgYXNzaWduZWVGaWx0ZXIkOiBPYnNlcnZhYmxlPEFzc2lnbmVlRmlsdGVyPiA9XG4gICAgdGhpcy5hc3NpZ25lZVNlcnZpY2UuYXNzaWduZWVGaWx0ZXIkO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wYWdpbmF0aW9uJCA9IHRoaXMucGFnaW5hdGlvblNlcnZpY2UucGFnaW5hdGlvbiQucGlwZShcbiAgICB0YXAocGFnaW5hdGlvbiA9PiB7XG4gICAgICB0aGlzLnBhZ2luYXRpb24gPSBwYWdpbmF0aW9uO1xuICAgICAgdGhpcy5sb2FkaW5nUGFnaW5hdGlvbiA9IGZhbHNlO1xuICAgIH0pXG4gICk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2hhc0VudkNvbHVtbkNvbmZpZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmxpc3RTZXJ2aWNlLmhhc0VudkNvbHVtbkNvbmZpZyQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2hhc0FwaUNvbHVtbkNvbmZpZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2FuSGF2ZUFzc2lnbmVlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYXNzaWduZWVTZXJ2aWNlLmNhbkhhdmVBc3NpZ25lZSQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaFN3aXRjaCQgPSB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoU3dpdGNoJDtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29sdW1ucyQ6IE9ic2VydmFibGU8QXJyYXk8RGVmaW5pdGlvbkNvbHVtbj4+ID1cbiAgICB0aGlzLmxpc3RTZXJ2aWNlLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9PlxuICAgICAgICB0aGlzLmNvbHVtblNlcnZpY2UuZ2V0RGVmaW5pdGlvbkNvbHVtbnMoZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcbiAgICAgICksXG4gICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgdGhpcy5faGFzQXBpQ29sdW1uQ29uZmlnJC5uZXh0KHJlcy5oYXNBcGlDb25maWcpO1xuICAgICAgICByZXR1cm4gcmVzLmNvbHVtbnM7XG4gICAgICB9KSxcbiAgICAgIHRhcChjb2x1bW5zID0+IHtcbiAgICAgICAgdGhpcy5saXN0U2VydmljZS5kb2N1bWVudERlZmluaXRpb25OYW1lJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShkb2N1bWVudERlZmluaXRpb25OYW1lID0+IHtcbiAgICAgICAgICB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLnNldFBhZ2luYXRpb24oZG9jdW1lbnREZWZpbml0aW9uTmFtZSwgY29sdW1ucyk7XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuXG4gIHJlYWRvbmx5IGZpZWxkcyQ6IE9ic2VydmFibGU8QXJyYXk8TGlzdEZpZWxkPj4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLl9jYW5IYXZlQXNzaWduZWUkLFxuICAgIHRoaXMuX2NvbHVtbnMkLFxuICAgIHRoaXMuX2hhc0VudkNvbHVtbkNvbmZpZyQsXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gIF0pLnBpcGUoXG4gICAgdGFwKChbY2FuSGF2ZUFzc2lnbmVlXSkgPT4ge1xuICAgICAgdGhpcy5jYW5IYXZlQXNzaWduZWUgPSBjYW5IYXZlQXNzaWduZWU7XG4gICAgfSksXG4gICAgbWFwKChbY2FuSGF2ZUFzc2lnbmVlLCBjb2x1bW5zLCBoYXNFbnZDb25maWddKSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJlZEFzc2lnbmVlQ29sdW1ucyA9IHRoaXMuYXNzaWduZWVTZXJ2aWNlLmZpbHRlckFzc2lnbmVlQ29sdW1ucyhcbiAgICAgICAgY29sdW1ucyxcbiAgICAgICAgY2FuSGF2ZUFzc2lnbmVlXG4gICAgICApO1xuICAgICAgY29uc3QgbGlzdEZpZWxkcyA9IHRoaXMuY29sdW1uU2VydmljZS5tYXBEZWZpbml0aW9uQ29sdW1uc1RvTGlzdEZpZWxkcyhcbiAgICAgICAgZmlsdGVyZWRBc3NpZ25lZUNvbHVtbnMsXG4gICAgICAgIGhhc0VudkNvbmZpZ1xuICAgICAgKTtcbiAgICAgIGNvbnN0IGZpZWxkc1RvUmV0dXJuID0gdGhpcy5hc3NpZ25lZVNlcnZpY2UuYWRkQXNzaWduZWVMaXN0RmllbGQoXG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIGxpc3RGaWVsZHMsXG4gICAgICAgIGNhbkhhdmVBc3NpZ25lZVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGZpZWxkc1RvUmV0dXJuO1xuICAgIH0pLFxuICAgIHRhcChsaXN0RmllbGRzID0+IHtcbiAgICAgIGNvbnN0IGRlZmF1bHRMaXN0RmllbGQgPSBsaXN0RmllbGRzLmZpbmQoZmllbGQgPT4gZmllbGQuZGVmYXVsdCk7XG5cbiAgICAgIC8vIHNldCBkZWZhdWx0IHNvcnQgc3RhdGUgaWYgbm8gcGFnaW5hdGlvbiBxdWVyeSBwYXJhbWV0ZXJzIGZvciBzb3J0aW5nIGFyZSBhdmFpbGFibGVcbiAgICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5xdWVyeVBhZ2luYXRpb25QYXJhbXMkXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUocXVlcnlQYWdpbmF0aW9uUGFyYW1zID0+IHtcbiAgICAgICAgICBpZiAoZGVmYXVsdExpc3RGaWVsZCAmJiAhcXVlcnlQYWdpbmF0aW9uUGFyYW1zPy5zb3J0Py5pc1NvcnRpbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IHNvcnREaXJlY3Rpb24gPVxuICAgICAgICAgICAgICB0eXBlb2YgZGVmYXVsdExpc3RGaWVsZC5kZWZhdWx0ID09PSAnc3RyaW5nJyA/IGRlZmF1bHRMaXN0RmllbGQuZGVmYXVsdCA6ICdERVNDJztcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNlcnZpY2Uuc29ydENoYW5nZWQoe1xuICAgICAgICAgICAgICBpc1NvcnRpbmc6IHRydWUsXG4gICAgICAgICAgICAgIHN0YXRlOiB7bmFtZTogZGVmYXVsdExpc3RGaWVsZC5rZXksIGRpcmVjdGlvbjogc29ydERpcmVjdGlvbiBhcyBEaXJlY3Rpb259LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KSxcbiAgICB0YXAoKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkaW5nRmllbGRzID0gZmFsc2U7XG4gICAgfSlcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudFNlYXJjaFJlcXVlc3QkOiBPYnNlcnZhYmxlPEFkdmFuY2VkRG9jdW1lbnRTZWFyY2hSZXF1ZXN0PiA9XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fcGFnaW5hdGlvbiQsIHRoaXMubGlzdFNlcnZpY2UuZG9jdW1lbnREZWZpbml0aW9uTmFtZSRdKS5waXBlKFxuICAgICAgZmlsdGVyKChbcGFnaW5hdGlvbl0pID0+ICEhcGFnaW5hdGlvbiksXG4gICAgICBtYXAoXG4gICAgICAgIChbcGFnaW5hdGlvbiwgZG9jdW1lbnREZWZpbml0aW9uTmFtZV0pID0+XG4gICAgICAgICAgbmV3IEFkdmFuY2VkRG9jdW1lbnRTZWFyY2hSZXF1ZXN0SW1wbChcbiAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgICBwYWdpbmF0aW9uLnBhZ2UgLSAxLFxuICAgICAgICAgICAgcGFnaW5hdGlvbi5zaXplLFxuICAgICAgICAgICAgcGFnaW5hdGlvbi5zb3J0XG4gICAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnRzUmVxdWVzdCQ6IE9ic2VydmFibGU8RG9jdW1lbnRzIHwgU3BlY2lmaWVkRG9jdW1lbnRzPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX2RvY3VtZW50U2VhcmNoUmVxdWVzdCQsXG4gICAgdGhpcy5zZWFyY2hGaWVsZFZhbHVlcyQsXG4gICAgdGhpcy5hc3NpZ25lZUZpbHRlciQsXG4gICAgdGhpcy5faGFzRW52Q29sdW1uQ29uZmlnJCxcbiAgICB0aGlzLl9oYXNBcGlDb2x1bW5Db25maWckLFxuICAgIHRoaXMuX3NlYXJjaFN3aXRjaCQsXG4gIF0pLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoXG4gICAgICAoXG4gICAgICAgIFtcbiAgICAgICAgICBwcmV2U2VhcmNoUmVxdWVzdCxcbiAgICAgICAgICBwcmV2U2VhcmNoVmFsdWVzLFxuICAgICAgICAgIHByZXZBc3NpZ25lZUZpbHRlcixcbiAgICAgICAgICBwcmV2SGFzRW52Q29sdW1uQ29uZmlnLFxuICAgICAgICAgIHByZXZIYXNBcGlDb2x1bW5Db25maWcsXG4gICAgICAgICAgcHJldlNlYXJjaFN3aXRjaCxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIGN1cnJTZWFyY2hSZXF1ZXN0LFxuICAgICAgICAgIGN1cnJTZWFyY2hWYWx1ZXMsXG4gICAgICAgICAgY3VyckFzc2lnbmVlRmlsdGVyLFxuICAgICAgICAgIGN1cnJIYXNFbnZDb2x1bW5Db25maWcsXG4gICAgICAgICAgY3Vyckhhc0FwaUNvbHVtbkNvbmZpZyxcbiAgICAgICAgICBjdXJyU2VhcmNoU3dpdGNoLFxuICAgICAgICBdXG4gICAgICApID0+XG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHsuLi5wcmV2U2VhcmNoUmVxdWVzdCwgLi4ucHJldlNlYXJjaFZhbHVlc30pICtcbiAgICAgICAgICBwcmV2QXNzaWduZWVGaWx0ZXIgK1xuICAgICAgICAgIHByZXZTZWFyY2hTd2l0Y2ggPT09XG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHsuLi5jdXJyU2VhcmNoUmVxdWVzdCwgLi4uY3VyclNlYXJjaFZhbHVlc30pICtcbiAgICAgICAgICBjdXJyQXNzaWduZWVGaWx0ZXIgK1xuICAgICAgICAgIGN1cnJTZWFyY2hTd2l0Y2hcbiAgICApLFxuICAgIHN3aXRjaE1hcChcbiAgICAgIChbXG4gICAgICAgIGRvY3VtZW50U2VhcmNoUmVxdWVzdCxcbiAgICAgICAgc2VhcmNoVmFsdWVzLFxuICAgICAgICBhc3NpZ25lZUZpbHRlcixcbiAgICAgICAgaGFzRW52Q29sdW1uQ29uZmlnLFxuICAgICAgICBoYXNBcGlDb2x1bW5Db25maWcsXG4gICAgICBdKSA9PiB7XG4gICAgICAgIGlmICgoT2JqZWN0LmtleXMoc2VhcmNoVmFsdWVzKSB8fCBbXSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiBoYXNFbnZDb2x1bW5Db25maWcgfHwgIWhhc0FwaUNvbHVtbkNvbmZpZ1xuICAgICAgICAgICAgPyB0aGlzLmRvY3VtZW50U2VydmljZS5nZXREb2N1bWVudHNTZWFyY2goXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRTZWFyY2hSZXF1ZXN0LFxuICAgICAgICAgICAgICAgICdBTkQnLFxuICAgICAgICAgICAgICAgIGFzc2lnbmVlRmlsdGVyLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoU2VydmljZS5tYXBTZWFyY2hWYWx1ZXNUb0ZpbHRlcnMoc2VhcmNoVmFsdWVzKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldFNwZWNpZmllZERvY3VtZW50c1NlYXJjaChcbiAgICAgICAgICAgICAgICBkb2N1bWVudFNlYXJjaFJlcXVlc3QsXG4gICAgICAgICAgICAgICAgJ0FORCcsXG4gICAgICAgICAgICAgICAgYXNzaWduZWVGaWx0ZXIsXG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLm1hcFNlYXJjaFZhbHVlc1RvRmlsdGVycyhzZWFyY2hWYWx1ZXMpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaGFzRW52Q29sdW1uQ29uZmlnIHx8ICFoYXNBcGlDb2x1bW5Db25maWdcbiAgICAgICAgICA/IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldERvY3VtZW50c1NlYXJjaChkb2N1bWVudFNlYXJjaFJlcXVlc3QsICdBTkQnLCBhc3NpZ25lZUZpbHRlcilcbiAgICAgICAgICA6IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldFNwZWNpZmllZERvY3VtZW50c1NlYXJjaChcbiAgICAgICAgICAgICAgZG9jdW1lbnRTZWFyY2hSZXF1ZXN0LFxuICAgICAgICAgICAgICAnQU5EJyxcbiAgICAgICAgICAgICAgYXNzaWduZWVGaWx0ZXJcbiAgICAgICAgICAgICk7XG4gICAgICB9XG4gICAgKSxcbiAgICB0YXAoZG9jdW1lbnRzID0+IHtcbiAgICAgIHRoaXMucGFnaW5hdGlvblNlcnZpY2Uuc2V0Q29sbGVjdGlvblNpemUoZG9jdW1lbnRzKTtcbiAgICAgIHRoaXMucGFnaW5hdGlvblNlcnZpY2UuY2hlY2tQYWdlKGRvY3VtZW50cyk7XG4gICAgfSlcbiAgKTtcblxuICBwdWJsaWMgZG9jdW1lbnRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLl9kb2N1bWVudHNSZXF1ZXN0JCxcbiAgICB0aGlzLl9oYXNFbnZDb2x1bW5Db25maWckLFxuICAgIHRoaXMuX2hhc0FwaUNvbHVtbkNvbmZpZyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbZG9jdW1lbnRzLCBoYXNFbnZDb2x1bW5Db25maWcsIGhhc0FwaUNvbHVtbkNvbmZpZ10pID0+XG4gICAgICB0aGlzLmxpc3RTZXJ2aWNlLm1hcERvY3VtZW50cyhkb2N1bWVudHMsIGhhc0VudkNvbHVtbkNvbmZpZywgaGFzQXBpQ29sdW1uQ29uZmlnKVxuICAgICksXG4gICAgdGFwKCgpID0+IHtcbiAgICAgIHRoaXMubG9hZGluZ0Fzc2lnbmVlRmlsdGVyID0gZmFsc2U7XG4gICAgICB0aGlzLmxvYWRpbmdEb2N1bWVudEl0ZW1zID0gZmFsc2U7XG4gICAgfSlcbiAgKTtcblxuICBwcml2YXRlIF9wcmV2aW91c0RvY3VtZW50RGVmaW5pdGlvbk5hbWUhOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RvY3VtZW50RGVmaW5pdGlvbk5hbWVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdFNlcnZpY2U6IERvc3NpZXJMaXN0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbHVtblNlcnZpY2U6IERvc3NpZXJDb2x1bW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXNzaWduZWVTZXJ2aWNlOiBEb3NzaWVyTGlzdEFzc2lnbmVlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2luYXRpb25TZXJ2aWNlOiBEb3NzaWVyTGlzdFBhZ2luYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoU2VydmljZTogRG9zc2llckxpc3RTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFyYW1ldGVyU2VydmljZTogRG9zc2llclBhcmFtZXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VUaXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBicmVhZGNydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VmlzaWJsZVRhYnMoKTtcbiAgICB0aGlzLm9wZW5Eb2N1bWVudERlZmluaXRpb25OYW1lU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMucGFnZVRpdGxlU2VydmljZS5lbmFibGVSZXNldCgpO1xuICB9XG5cbiAgc2VhcmNoKHNlYXJjaEZpZWxkVmFsdWVzOiBTZWFyY2hGaWVsZFZhbHVlcyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2goc2VhcmNoRmllbGRWYWx1ZXMpO1xuICB9XG5cbiAgcm93Q2xpY2soZG9jdW1lbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubGlzdFNlcnZpY2UuZG9jdW1lbnREZWZpbml0aW9uTmFtZSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9PiB7XG4gICAgICB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLmNhY2hlUXVlcnlQYXJhbXMoXG4gICAgICAgIGAvZG9zc2llcnMvJHtkb2N1bWVudERlZmluaXRpb25OYW1lfWAsXG4gICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNcbiAgICAgICk7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXG4gICAgICAgIGAvZG9zc2llcnMvJHtkb2N1bWVudERlZmluaXRpb25OYW1lfS9kb2N1bWVudC8ke2RvY3VtZW50LmlkfS8ke0RlZmF1bHRUYWJzLnN1bW1hcnl9YCxcbiAgICAgIF0pO1xuICAgIH0pO1xuICB9XG5cbiAgcGFnZUNoYW5nZShuZXdQYWdlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLnBhZ2VDaGFuZ2UobmV3UGFnZSk7XG4gIH1cblxuICBwYWdlU2l6ZUNoYW5nZShuZXdQYWdlU2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wYWdpbmF0aW9uU2VydmljZS5wYWdlU2l6ZUNoYW5nZShuZXdQYWdlU2l6ZSk7XG4gIH1cblxuICBzb3J0Q2hhbmdlZChuZXdTb3J0U3RhdGU6IFNvcnRTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMucGFnaW5hdGlvblNlcnZpY2Uuc29ydENoYW5nZWQobmV3U29ydFN0YXRlKTtcbiAgfVxuXG4gIHRhYkNoYW5nZSh0YWI6IE5nYk5hdkNoYW5nZUV2ZW50PGFueT4pOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLnNldFBhZ2UoMSk7XG4gICAgdGhpcy5hc3NpZ25lZVNlcnZpY2Uuc2V0QXNzaWduZWVGaWx0ZXIodGFiLm5leHRJZC50b1VwcGVyQ2FzZSgpKTtcbiAgfVxuXG4gIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnJlZnJlc2goKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkRvY3VtZW50RGVmaW5pdGlvbk5hbWVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fZG9jdW1lbnREZWZpbml0aW9uTmFtZVN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGUucGFyYW1zXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHBhcmFtcyA9PiBwYXJhbXM/LmRvY3VtZW50RGVmaW5pdGlvbk5hbWUpLFxuICAgICAgICBmaWx0ZXIoZG9jRGVmTmFtZSA9PiAhIWRvY0RlZk5hbWUpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGRvY3VtZW50RGVmaW5pdG9uTmFtZSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9wcmV2aW91c0RvY3VtZW50RGVmaW5pdGlvbk5hbWUpIHtcbiAgICAgICAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuY2xlYXJQYXJhbWV0ZXJzKCk7XG4gICAgICAgICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmNsZWFyU2VhcmNoRmllbGRWYWx1ZXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9wcmV2aW91c0RvY3VtZW50RGVmaW5pdGlvbk5hbWUgPSBkb2N1bWVudERlZmluaXRvbk5hbWU7XG4gICAgICAgIHRoaXMuc2V0TG9hZGluZygpO1xuICAgICAgICB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLmNsZWFyUGFnaW5hdGlvbigpO1xuICAgICAgICB0aGlzLmFzc2lnbmVlU2VydmljZS5yZXNldEFzc2lnbmVlRmlsdGVyKCk7XG4gICAgICAgIHRoaXMubGlzdFNlcnZpY2Uuc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZShkb2N1bWVudERlZmluaXRvbk5hbWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldExvYWRpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nRmllbGRzID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWRpbmdQYWdpbmF0aW9uID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWRpbmdTZWFyY2hGaWVsZHMgPSB0cnVlO1xuICAgIHRoaXMubG9hZGluZ0Fzc2lnbmVlRmlsdGVyID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWRpbmdEb2N1bWVudEl0ZW1zID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VmlzaWJsZVRhYnMoKTogdm9pZCB7XG4gICAgdGhpcy52aXNpYmxlRG9zc2llclRhYnMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnPy52aXNpYmxlRG9zc2llckxpc3RUYWJzIHx8IG51bGw7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBmaWVsZHM6IGZpZWxkcyQgfCBhc3luYyxcbiAgICBkb2N1bWVudEl0ZW1zOiBkb2N1bWVudEl0ZW1zJCB8IGFzeW5jLFxuICAgIHNlYXJjaEZpZWxkczogc2VhcmNoRmllbGRzJCB8IGFzeW5jLFxuICAgIHNjaGVtYTogc2NoZW1hJCB8IGFzeW5jLFxuICAgIGxvYWRlZDpcbiAgICAgICFsb2FkaW5nRmllbGRzICYmXG4gICAgICAhbG9hZGluZ1BhZ2luYXRpb24gJiZcbiAgICAgICFsb2FkaW5nU2VhcmNoRmllbGRzICYmXG4gICAgICAhbG9hZGluZ0Fzc2lnbmVlRmlsdGVyICYmXG4gICAgICAhbG9hZGluZ0RvY3VtZW50SXRlbXNcbiAgfSBhcyBvYnNcIlxuPlxuICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50IHB0LTBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHB4LTAgbWItNVwiPlxuICAgICAgICA8dmFsdGltby1kb3NzaWVyLWxpc3QtYWN0aW9uc1xuICAgICAgICAgIFtsb2FkaW5nXT1cIiFvYnMubG9hZGVkXCJcbiAgICAgICAgICAoZm9ybUZsb3dDb21wbGV0ZSk9XCJyZWZyZXNoKClcIlxuICAgICAgICA+PC92YWx0aW1vLWRvc3NpZXItbGlzdC1hY3Rpb25zPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmxvYWRlZDsgZWxzZSBsb2FkaW5nXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaEZpZWxkczsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0OyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoRmllbGRzIGxldC1vYnM9XCJvYnNcIj5cbiAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICA8dmFsdGltby1zZWFyY2gtZmllbGRzXG4gICAgICBbc2VhcmNoRmllbGRzXT1cIm9icy5zZWFyY2hGaWVsZHNcIlxuICAgICAgKGRvU2VhcmNoKT1cInNlYXJjaCgkZXZlbnQpXCJcbiAgICAgIFtkb2N1bWVudERlZmluaXRpb25OYW1lXT1cImRvY3VtZW50RGVmaW5pdGlvbk5hbWUkIHwgYXN5bmNcIlxuICAgICAgW2RlZmF1bHRWYWx1ZXNdPVwic2VhcmNoRmllbGRWYWx1ZXMkIHwgYXN5bmNcIlxuICAgID48L3ZhbHRpbW8tc2VhcmNoLWZpZWxkcz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xpc3QgbGV0LW9icz1cIm9ic1wiPlxuICA8dmFsdGltby13aWRnZXQ+XG4gICAgPHZhbHRpbW8tbGlzdFxuICAgICAgW2l0ZW1zXT1cIm9icy5kb2N1bWVudEl0ZW1zXCJcbiAgICAgIFtmaWVsZHNdPVwib2JzLmZpZWxkc1wiXG4gICAgICAocm93Q2xpY2tlZCk9XCJyb3dDbGljaygkZXZlbnQpXCJcbiAgICAgIFtwYWdpbmF0aW9uXT1cInBhZ2luYXRpb25cIlxuICAgICAgW3ZpZXdNb2RlXT1cInRydWVcIlxuICAgICAgW2hlYWRlcl09XCJ0cnVlXCJcbiAgICAgIHBhZ2luYXRpb25JZGVudGlmaWVyPVwiZG9zc2llckxpc3RcIlxuICAgICAgKHBhZ2luYXRpb25DbGlja2VkKT1cInBhZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAocGFnaW5hdGlvblNldCk9XCJwYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFtpbml0aWFsU29ydFN0YXRlXT1cInBhZ2luYXRpb24uc29ydFwiXG4gICAgICAoc29ydENoYW5nZWQpPVwic29ydENoYW5nZWQoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGRpdiBoZWFkZXI+XG4gICAgICAgIDxoMyBjbGFzcz1cImxpc3QtaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAgPHN1cCBjbGFzcz1cIm1sLTEgYmFkZ2UgYmFkZ2UtcGlsbCBiYWRnZS1wcmltYXJ5XCI+e3tcbiAgICAgICAgICAgIHBhZ2luYXRpb24/LmNvbGxlY3Rpb25TaXplIHx8IDBcbiAgICAgICAgICB9fTwvc3VwPlxuICAgICAgICA8L2gzPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IHRhYnMgKm5nSWY9XCJjYW5IYXZlQXNzaWduZWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvdmFsdGltby1saXN0PlxuICA8L3ZhbHRpbW8td2lkZ2V0PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0YWJzPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXNzaWduZWVGaWx0ZXIkIHwgYXN5bmMgYXMgYXNzaWduZWVGaWx0ZXJcIj5cbiAgICA8dWxcbiAgICAgICpuZ0lmPVwidmlzaWJsZURvc3NpZXJUYWJzID09PSBudWxsOyBlbHNlIGNvbmZpZ3VyZWRUYWJzXCJcbiAgICAgIG5nYk5hdlxuICAgICAgW2Rlc3Ryb3lPbkhpZGVdPVwiZmFsc2VcIlxuICAgICAgKG5hdkNoYW5nZSk9XCJ0YWJDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBjbGFzcz1cIm5hdi10YWJzXCJcbiAgICAgIFthY3RpdmVJZF09XCJhc3NpZ25lZUZpbHRlclwiXG4gICAgPlxuICAgICAgPGxpIG5nYk5hdkl0ZW09XCJBTExcIiBbdGl0bGVdPVwiJ2Rvc3NpZXIudGFicy5BTEwnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIDxhIG5nYk5hdkxpbms+e3sgJ2Rvc3NpZXIudGFicy5BTEwnIHwgdHJhbnNsYXRlIH19PC9hPlxuICAgICAgPC9saT5cbiAgICAgIDxsaSBuZ2JOYXZJdGVtPVwiTUlORVwiIFt0aXRsZV09XCInZG9zc2llci50YWJzLk1JTkUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIDxhIG5nYk5hdkxpbms+e3sgJ2Rvc3NpZXIudGFicy5NSU5FJyB8IHRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgIDwvbGk+XG4gICAgICA8bGkgbmdiTmF2SXRlbT1cIk9QRU5cIiBbdGl0bGVdPVwiJ2Rvc3NpZXIudGFicy5PUEVOJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICA8YSBuZ2JOYXZMaW5rPnt7ICdkb3NzaWVyLnRhYnMuT1BFTicgfCB0cmFuc2xhdGUgfX08L2E+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb25maWd1cmVkVGFicz5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFzc2lnbmVlRmlsdGVyJCB8IGFzeW5jIGFzIGFzc2lnbmVlRmlsdGVyXCI+XG4gICAgPHVsXG4gICAgICBuZ2JOYXZcbiAgICAgIFtkZXN0cm95T25IaWRlXT1cImZhbHNlXCJcbiAgICAgIChuYXZDaGFuZ2UpPVwidGFiQ2hhbmdlKCRldmVudClcIlxuICAgICAgY2xhc3M9XCJuYXYtdGFic1wiXG4gICAgICBbYWN0aXZlSWRdPVwiYXNzaWduZWVGaWx0ZXJcIlxuICAgID5cbiAgICAgIDxsaVxuICAgICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHZpc2libGVEb3NzaWVyVGFic1wiXG4gICAgICAgIFtuZ2JOYXZJdGVtXT1cInRhYlwiXG4gICAgICAgIFt0aXRsZV09XCInZG9zc2llci50YWJzLicgKyB0YWIgfCB0cmFuc2xhdGVcIlxuICAgICAgPlxuICAgICAgICA8YSBuZ2JOYXZMaW5rPnt7ICdkb3NzaWVyLnRhYnMuJyArIHRhYiB8IHRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmc+PHZhbHRpbW8tc3Bpbm5lcj48L3ZhbHRpbW8tc3Bpbm5lcj48L25nLXRlbXBsYXRlPlxuIl19
|