@valtimo/task 5.3.0 → 5.6.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.
@@ -110,11 +110,11 @@ export class AssignUserToTaskComponent {
110
110
  this.disabled$.next(true);
111
111
  }
112
112
  }
113
- AssignUserToTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AssignUserToTaskComponent, deps: [{ token: i1.TaskService }], target: i0.ɵɵFactoryTarget.Component });
114
- AssignUserToTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AssignUserToTaskComponent, selector: "valtimo-assign-user-to-task", inputs: { taskId: "taskId", assigneeEmail: "assigneeEmail" }, outputs: { assignmentOfTaskChanged: "assignmentOfTaskChanged" }, usesOnChanges: true, ngImport: i0, template: "<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}i{font-size:13px}\n"], components: [{ type: i2.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width"], outputs: ["itemSelected", "clearSelection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe, "translate": i4.TranslatePipe } });
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AssignUserToTaskComponent, decorators: [{
113
+ AssignUserToTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AssignUserToTaskComponent, deps: [{ token: i1.TaskService }], target: i0.ɵɵFactoryTarget.Component });
114
+ AssignUserToTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AssignUserToTaskComponent, selector: "valtimo-assign-user-to-task", inputs: { taskId: "taskId", assigneeEmail: "assigneeEmail" }, outputs: { assignmentOfTaskChanged: "assignmentOfTaskChanged" }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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 candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.container-fluid{color:#959595}i{font-size:13px}\n"], components: [{ type: i2.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width"], outputs: ["itemSelected", "clearSelection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe, "translate": i4.TranslatePipe } });
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AssignUserToTaskComponent, decorators: [{
116
116
  type: Component,
117
- args: [{ selector: 'valtimo-assign-user-to-task', template: "<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}i{font-size:13px}\n"] }]
117
+ args: [{ selector: 'valtimo-assign-user-to-task', template: "<!--\n ~ Copyright 2015-2020 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 candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.container-fluid{color:#959595}i{font-size:13px}\n"] }]
118
118
  }], ctorParameters: function () { return [{ type: i1.TaskService }]; }, propDecorators: { taskId: [{
119
119
  type: Input
120
120
  }], assigneeEmail: [{
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
122
122
  }], assignmentOfTaskChanged: [{
123
123
  type: Output
124
124
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLXVzZXItdG8tdGFzay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2svc3JjL2xpYi9hc3NpZ24tdXNlci10by10YXNrL2Fzc2lnbi11c2VyLXRvLXRhc2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrL3NyYy9saWIvYXNzaWduLXVzZXItdG8tdGFzay9hc3NpZ24tdXNlci10by10YXNrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFTekMsTUFBTSxPQUFPLHlCQUF5QjtJQVdwQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVJsQyw0QkFBdUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZELDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFTLFNBQVMsQ0FBQyxDQUFDO1FBQ2hFLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMvQywyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUMzRCxzQkFBaUIsR0FBVyxJQUFJLENBQUM7UUFDakMsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLENBQUM7SUFFWCxDQUFDO0lBRWhELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDekUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FDN0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQzdELENBQUM7YUFDSDtZQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUM1QyxJQUFJLGFBQWEsRUFBRTtZQUNqQixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDbkUsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO2dCQUNwRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLElBQUksSUFBSSxDQUFDO2dCQUNsRCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQzlGLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxTQUFpQjtRQUMxQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsc0JBQXNCO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLENBQUM7U0FDaEUsQ0FBQzthQUNDLElBQUksQ0FDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7WUFDbkMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNyRixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsV0FBVzthQUNiLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQ3pCLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhLEVBQUUsU0FBaUI7UUFDbEQsSUFBSSxLQUFLLElBQUksU0FBUyxFQUFFO1lBQ3RCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQzlELE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDMUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQy9CLE9BQU8sQ0FDTCxLQUFLO1lBQ0wsS0FBSztpQkFDRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFDLENBQUM7aUJBQ2pGLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDcEQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUN4RCxDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUs7UUFDWCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOztzSEEzR1UseUJBQXlCOzBHQUF6Qix5QkFBeUIsdU5DcEN0QyxnOUNBc0NBOzJGREZhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSw2QkFBNkI7a0dBSzlCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLHVCQUF1QjtzQkFBaEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Ryb3Bkb3duSXRlbX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2UsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUYXNrU2VydmljZX0gZnJvbSAnLi4vdGFzay5zZXJ2aWNlJztcbmltcG9ydCB7VXNlcn0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1hc3NpZ24tdXNlci10by10YXNrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fzc2lnbi11c2VyLXRvLXRhc2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hc3NpZ24tdXNlci10by10YXNrLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFzc2lnblVzZXJUb1Rhc2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHRhc2tJZDogc3RyaW5nO1xuICBASW5wdXQoKSBhc3NpZ25lZUVtYWlsOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBhc3NpZ25tZW50T2ZUYXNrQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjYW5kaWRhdGVVc2Vyc0ZvclRhc2skID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVc2VyW10+KHVuZGVmaW5lZCk7XG4gIGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIGFzc2lnbmVkRW1haWxPblNlcnZlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4obnVsbCk7XG4gIHVzZXJFbWFpbFRvQXNzaWduOiBzdHJpbmcgPSBudWxsO1xuICBhc3NpZ25lZFVzZXJGdWxsTmFtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0YXNrU2VydmljZTogVGFza1NlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YXNrU2VydmljZS5nZXRDYW5kaWRhdGVVc2Vycyh0aGlzLnRhc2tJZCkuc3Vic2NyaWJlKGNhbmRpZGF0ZVVzZXJzID0+IHtcbiAgICAgIHRoaXMuY2FuZGlkYXRlVXNlcnNGb3JUYXNrJC5uZXh0KGNhbmRpZGF0ZVVzZXJzKTtcbiAgICAgIGlmICh0aGlzLmFzc2lnbmVlRW1haWwpIHtcbiAgICAgICAgdGhpcy5hc3NpZ25lZEVtYWlsT25TZXJ2ZXIkLm5leHQodGhpcy5hc3NpZ25lZUVtYWlsKTtcbiAgICAgICAgdGhpcy51c2VyRW1haWxUb0Fzc2lnbiA9IHRoaXMuYXNzaWduZWVFbWFpbDtcbiAgICAgICAgdGhpcy5hc3NpZ25lZFVzZXJGdWxsTmFtZSQubmV4dChcbiAgICAgICAgICB0aGlzLmdldEFzc2lnbmVkVXNlck5hbWUoY2FuZGlkYXRlVXNlcnMsIHRoaXMuYXNzaWduZWVFbWFpbClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgYXNzaWduZWVFbWFpbCA9IGNoYW5nZXMuYXNzaWduZWVFbWFpbDtcbiAgICBpZiAoYXNzaWduZWVFbWFpbCkge1xuICAgICAgdGhpcy5jYW5kaWRhdGVVc2Vyc0ZvclRhc2skLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGNhbmRpZGF0ZVVzZXJzID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudFVzZXJFbWFpbCA9IGFzc2lnbmVlRW1haWwuY3VycmVudFZhbHVlO1xuICAgICAgICB0aGlzLmFzc2lnbmVkRW1haWxPblNlcnZlciQubmV4dChjdXJyZW50VXNlckVtYWlsIHx8IG51bGwpO1xuICAgICAgICB0aGlzLnVzZXJFbWFpbFRvQXNzaWduID0gY3VycmVudFVzZXJFbWFpbCB8fCBudWxsO1xuICAgICAgICB0aGlzLmFzc2lnbmVkVXNlckZ1bGxOYW1lJC5uZXh0KHRoaXMuZ2V0QXNzaWduZWRVc2VyTmFtZShjYW5kaWRhdGVVc2VycywgY3VycmVudFVzZXJFbWFpbCkpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBhc3NpZ25UYXNrKHVzZXJFbWFpbDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmNhbmRpZGF0ZVVzZXJzRm9yVGFzayQsXG4gICAgICB0aGlzLnRhc2tTZXJ2aWNlLmFzc2lnblRhc2sodGhpcy50YXNrSWQsIHthc3NpZ25lZTogdXNlckVtYWlsfSksXG4gICAgXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICB0YXAoKFtjYW5kaWRhdGVVc2Vyc10pID0+IHtcbiAgICAgICAgICB0aGlzLnVzZXJFbWFpbFRvQXNzaWduID0gdXNlckVtYWlsO1xuICAgICAgICAgIHRoaXMuYXNzaWduZWRFbWFpbE9uU2VydmVyJC5uZXh0KHVzZXJFbWFpbCk7XG4gICAgICAgICAgdGhpcy5hc3NpZ25lZFVzZXJGdWxsTmFtZSQubmV4dCh0aGlzLmdldEFzc2lnbmVkVXNlck5hbWUoY2FuZGlkYXRlVXNlcnMsIHVzZXJFbWFpbCkpO1xuICAgICAgICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICAgICAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICB1bmFzc2lnblRhc2soKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgdGhpcy50YXNrU2VydmljZVxuICAgICAgLnVuYXNzaWduVGFzayh0aGlzLnRhc2tJZClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgICAgICB0aGlzLmVtaXRDaGFuZ2UoKTtcbiAgICAgICAgICB0aGlzLmVuYWJsZSgpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0QXNzaWduZWRVc2VyTmFtZSh1c2VyczogVXNlcltdLCB1c2VyRW1haWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHVzZXJzICYmIHVzZXJFbWFpbCkge1xuICAgICAgY29uc3QgZmluZFVzZXIgPSB1c2Vycy5maW5kKHVzZXIgPT4gdXNlci5lbWFpbCA9PT0gdXNlckVtYWlsKTtcbiAgICAgIHJldHVybiBmaW5kVXNlciA/IGZpbmRVc2VyLmZ1bGxOYW1lIDogJyc7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIG1hcFVzZXJzRm9yRHJvcGRvd24odXNlcnM6IFVzZXJbXSk6IERyb3Bkb3duSXRlbVtdIHtcbiAgICByZXR1cm4gKFxuICAgICAgdXNlcnMgJiZcbiAgICAgIHVzZXJzXG4gICAgICAgIC5tYXAodXNlciA9PiAoey4uLnVzZXIsIGxhc3ROYW1lOiB1c2VyLmxhc3ROYW1lPy5zcGxpdCgnICcpLnNwbGljZSgtMSlbMF0gfHwgJyd9KSlcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEubGFzdE5hbWUubG9jYWxlQ29tcGFyZShiLmxhc3ROYW1lKSlcbiAgICAgICAgLm1hcCh1c2VyID0+ICh7dGV4dDogdXNlci5mdWxsTmFtZSwgaWQ6IHVzZXIuZW1haWx9KSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmFzc2lnbmVkRW1haWxPblNlcnZlciQubmV4dChudWxsKTtcbiAgICB0aGlzLnVzZXJFbWFpbFRvQXNzaWduID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmFzc2lnbm1lbnRPZlRhc2tDaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNhYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQodHJ1ZSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCJ7XG4gICAgY2FuZGlkYXRlVXNlcnM6IGNhbmRpZGF0ZVVzZXJzRm9yVGFzayQgfCBhc3luYyxcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmMsXG4gICAgZW1haWxPblNlcnZlcjogYXNzaWduZWRFbWFpbE9uU2VydmVyJCB8IGFzeW5jXG4gIH0gYXMgb2JzXCJcbj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMiBtYi0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHBsLTAgZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmNhbmRpZGF0ZVVzZXJzOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAgICA8dmFsdGltby1zZWFyY2hhYmxlLWRyb3Bkb3duLXNlbGVjdFxuICAgICAgICAgICAgW3N0eWxlXT1cIid1bmRlcmxpbmVkVGV4dCdcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cIm1hcFVzZXJzRm9yRHJvcGRvd24ob2JzLmNhbmRpZGF0ZVVzZXJzKVwiXG4gICAgICAgICAgICBbYnV0dG9uVGV4dF09XCInYXNzaWduVGFzay5oZWFkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtzZWFyY2hUZXh0XT1cIidpbnRlcmZhY2UudHlwZVRvU2VhcmNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbbm9SZXN1bHRzVGV4dF09XCInaW50ZXJmYWNlLm5vU2VhcmNoUmVzdWx0cycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbc2VsZWN0ZWRUZXh0XT1cIidhc3NpZ25UYXNrLmFzc2lnbmVkVG8nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZFRleHRWYWx1ZV09XCJhc3NpZ25lZFVzZXJGdWxsTmFtZSQgfCBhc3luY1wiXG4gICAgICAgICAgICBbY2xlYXJTZWxlY3Rpb25CdXR0b25UaXRsZV09XCInYXNzaWduVGFzay5yZW1vdmUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtoYXNTZWxlY3Rpb25dPVwidXNlckVtYWlsVG9Bc3NpZ24gPT09IG9icy5lbWFpbE9uU2VydmVyICYmIG9icy5lbWFpbE9uU2VydmVyICE9PSBudWxsXCJcbiAgICAgICAgICAgIFt3aWR0aF09XCIyNTBcIlxuICAgICAgICAgICAgKGl0ZW1TZWxlY3RlZCk9XCJhc3NpZ25UYXNrKCRldmVudClcIlxuICAgICAgICAgICAgKGNsZWFyU2VsZWN0aW9uKT1cInVuYXNzaWduVGFzaygpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC92YWx0aW1vLXNlYXJjaGFibGUtZHJvcGRvd24tc2VsZWN0PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gIDxoNT5cbiAgICA8Yj57eyAnYXNzaWduVGFzay5mZXRjaGluZ1VzZXJzJyB8IHRyYW5zbGF0ZSB9fTwvYj5cbiAgPC9oNT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLXVzZXItdG8tdGFzay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2svc3JjL2xpYi9hc3NpZ24tdXNlci10by10YXNrL2Fzc2lnbi11c2VyLXRvLXRhc2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrL3NyYy9saWIvYXNzaWduLXVzZXItdG8tdGFzay9hc3NpZ24tdXNlci10by10YXNrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFTekMsTUFBTSxPQUFPLHlCQUF5QjtJQVdwQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVJsQyw0QkFBdUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZELDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFTLFNBQVMsQ0FBQyxDQUFDO1FBQ2hFLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMvQywyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUMzRCxzQkFBaUIsR0FBVyxJQUFJLENBQUM7UUFDakMsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLENBQUM7SUFFWCxDQUFDO0lBRWhELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElB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LFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOzt1SEEzR1UseUJBQXlCOzJHQUF6Qix5QkFBeUIsdU5DcEN0QyxnbUVBc0RBOzRGRGxCYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsNkJBQTZCO2tHQUs5QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSx1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEcm9wZG93bkl0ZW19IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VGFza1NlcnZpY2V9IGZyb20gJy4uL3Rhc2suc2VydmljZSc7XG5pbXBvcnQge1VzZXJ9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tYXNzaWduLXVzZXItdG8tdGFzaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NpZ24tdXNlci10by10YXNrLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzaWduLXVzZXItdG8tdGFzay5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBc3NpZ25Vc2VyVG9UYXNrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB0YXNrSWQ6IHN0cmluZztcbiAgQElucHV0KCkgYXNzaWduZWVFbWFpbDogc3RyaW5nO1xuICBAT3V0cHV0KCkgYXNzaWdubWVudE9mVGFza0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY2FuZGlkYXRlVXNlcnNGb3JUYXNrJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VXNlcltdPih1bmRlZmluZWQpO1xuICBkaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBhc3NpZ25lZEVtYWlsT25TZXJ2ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuICB1c2VyRW1haWxUb0Fzc2lnbjogc3RyaW5nID0gbnVsbDtcbiAgYXNzaWduZWRVc2VyRnVsbE5hbWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdGFza1NlcnZpY2U6IFRhc2tTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGFza1NlcnZpY2UuZ2V0Q2FuZGlkYXRlVXNlcnModGhpcy50YXNrSWQpLnN1YnNjcmliZShjYW5kaWRhdGVVc2VycyA9PiB7XG4gICAgICB0aGlzLmNhbmRpZGF0ZVVzZXJzRm9yVGFzayQubmV4dChjYW5kaWRhdGVVc2Vycyk7XG4gICAgICBpZiAodGhpcy5hc3NpZ25lZUVtYWlsKSB7XG4gICAgICAgIHRoaXMuYXNzaWduZWRFbWFpbE9uU2VydmVyJC5uZXh0KHRoaXMuYXNzaWduZWVFbWFpbCk7XG4gICAgICAgIHRoaXMudXNlckVtYWlsVG9Bc3NpZ24gPSB0aGlzLmFzc2lnbmVlRW1haWw7XG4gICAgICAgIHRoaXMuYXNzaWduZWRVc2VyRnVsbE5hbWUkLm5leHQoXG4gICAgICAgICAgdGhpcy5nZXRBc3NpZ25lZFVzZXJOYW1lKGNhbmRpZGF0ZVVzZXJzLCB0aGlzLmFzc2lnbmVlRW1haWwpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLmVuYWJsZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IGFzc2lnbmVlRW1haWwgPSBjaGFuZ2VzLmFzc2lnbmVlRW1haWw7XG4gICAgaWYgKGFzc2lnbmVlRW1haWwpIHtcbiAgICAgIHRoaXMuY2FuZGlkYXRlVXNlcnNGb3JUYXNrJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjYW5kaWRhdGVVc2VycyA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRVc2VyRW1haWwgPSBhc3NpZ25lZUVtYWlsLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgdGhpcy5hc3NpZ25lZEVtYWlsT25TZXJ2ZXIkLm5leHQoY3VycmVudFVzZXJFbWFpbCB8fCBudWxsKTtcbiAgICAgICAgdGhpcy51c2VyRW1haWxUb0Fzc2lnbiA9IGN1cnJlbnRVc2VyRW1haWwgfHwgbnVsbDtcbiAgICAgICAgdGhpcy5hc3NpZ25lZFVzZXJGdWxsTmFtZSQubmV4dCh0aGlzLmdldEFzc2lnbmVkVXNlck5hbWUoY2FuZGlkYXRlVXNlcnMsIGN1cnJlbnRVc2VyRW1haWwpKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgYXNzaWduVGFzayh1c2VyRW1haWw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZSgpO1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5jYW5kaWRhdGVVc2Vyc0ZvclRhc2skLFxuICAgICAgdGhpcy50YXNrU2VydmljZS5hc3NpZ25UYXNrKHRoaXMudGFza0lkLCB7YXNzaWduZWU6IHVzZXJFbWFpbH0pLFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgdGFwKChbY2FuZGlkYXRlVXNlcnNdKSA9PiB7XG4gICAgICAgICAgdGhpcy51c2VyRW1haWxUb0Fzc2lnbiA9IHVzZXJFbWFpbDtcbiAgICAgICAgICB0aGlzLmFzc2lnbmVkRW1haWxPblNlcnZlciQubmV4dCh1c2VyRW1haWwpO1xuICAgICAgICAgIHRoaXMuYXNzaWduZWRVc2VyRnVsbE5hbWUkLm5leHQodGhpcy5nZXRBc3NpZ25lZFVzZXJOYW1lKGNhbmRpZGF0ZVVzZXJzLCB1c2VyRW1haWwpKTtcbiAgICAgICAgICB0aGlzLmVtaXRDaGFuZ2UoKTtcbiAgICAgICAgICB0aGlzLmVuYWJsZSgpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgdW5hc3NpZ25UYXNrKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZSgpO1xuICAgIHRoaXMudGFza1NlcnZpY2VcbiAgICAgIC51bmFzc2lnblRhc2sodGhpcy50YXNrSWQpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gICAgICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGdldEFzc2lnbmVkVXNlck5hbWUodXNlcnM6IFVzZXJbXSwgdXNlckVtYWlsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh1c2VycyAmJiB1c2VyRW1haWwpIHtcbiAgICAgIGNvbnN0IGZpbmRVc2VyID0gdXNlcnMuZmluZCh1c2VyID0+IHVzZXIuZW1haWwgPT09IHVzZXJFbWFpbCk7XG4gICAgICByZXR1cm4gZmluZFVzZXIgPyBmaW5kVXNlci5mdWxsTmFtZSA6ICcnO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBtYXBVc2Vyc0ZvckRyb3Bkb3duKHVzZXJzOiBVc2VyW10pOiBEcm9wZG93bkl0ZW1bXSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHVzZXJzICYmXG4gICAgICB1c2Vyc1xuICAgICAgICAubWFwKHVzZXIgPT4gKHsuLi51c2VyLCBsYXN0TmFtZTogdXNlci5sYXN0TmFtZT8uc3BsaXQoJyAnKS5zcGxpY2UoLTEpWzBdIHx8ICcnfSkpXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmxhc3ROYW1lLmxvY2FsZUNvbXBhcmUoYi5sYXN0TmFtZSkpXG4gICAgICAgIC5tYXAodXNlciA9PiAoe3RleHQ6IHVzZXIuZnVsbE5hbWUsIGlkOiB1c2VyLmVtYWlsfSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5hc3NpZ25lZEVtYWlsT25TZXJ2ZXIkLm5leHQobnVsbCk7XG4gICAgdGhpcy51c2VyRW1haWxUb0Fzc2lnbiA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5hc3NpZ25tZW50T2ZUYXNrQ2hhbmdlZC5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIGVuYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHRydWUpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCJ7XG4gICAgY2FuZGlkYXRlVXNlcnM6IGNhbmRpZGF0ZVVzZXJzRm9yVGFzayQgfCBhc3luYyxcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmMsXG4gICAgZW1haWxPblNlcnZlcjogYXNzaWduZWRFbWFpbE9uU2VydmVyJCB8IGFzeW5jXG4gIH0gYXMgb2JzXCJcbj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMiBtYi0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHBsLTAgZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmNhbmRpZGF0ZVVzZXJzOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAgICA8dmFsdGltby1zZWFyY2hhYmxlLWRyb3Bkb3duLXNlbGVjdFxuICAgICAgICAgICAgW3N0eWxlXT1cIid1bmRlcmxpbmVkVGV4dCdcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cIm1hcFVzZXJzRm9yRHJvcGRvd24ob2JzLmNhbmRpZGF0ZVVzZXJzKVwiXG4gICAgICAgICAgICBbYnV0dG9uVGV4dF09XCInYXNzaWduVGFzay5oZWFkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtzZWFyY2hUZXh0XT1cIidpbnRlcmZhY2UudHlwZVRvU2VhcmNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbbm9SZXN1bHRzVGV4dF09XCInaW50ZXJmYWNlLm5vU2VhcmNoUmVzdWx0cycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbc2VsZWN0ZWRUZXh0XT1cIidhc3NpZ25UYXNrLmFzc2lnbmVkVG8nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZFRleHRWYWx1ZV09XCJhc3NpZ25lZFVzZXJGdWxsTmFtZSQgfCBhc3luY1wiXG4gICAgICAgICAgICBbY2xlYXJTZWxlY3Rpb25CdXR0b25UaXRsZV09XCInYXNzaWduVGFzay5yZW1vdmUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtoYXNTZWxlY3Rpb25dPVwidXNlckVtYWlsVG9Bc3NpZ24gPT09IG9icy5lbWFpbE9uU2VydmVyICYmIG9icy5lbWFpbE9uU2VydmVyICE9PSBudWxsXCJcbiAgICAgICAgICAgIFt3aWR0aF09XCIyNTBcIlxuICAgICAgICAgICAgKGl0ZW1TZWxlY3RlZCk9XCJhc3NpZ25UYXNrKCRldmVudClcIlxuICAgICAgICAgICAgKGNsZWFyU2VsZWN0aW9uKT1cInVuYXNzaWduVGFzaygpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC92YWx0aW1vLXNlYXJjaGFibGUtZHJvcGRvd24tc2VsZWN0PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gIDxoNT5cbiAgICA8Yj57eyAnYXNzaWduVGFzay5mZXRjaGluZ1VzZXJzJyB8IHRyYW5zbGF0ZSB9fTwvYj5cbiAgPC9oNT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,21 +1,19 @@
1
1
  /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
2
3
  *
3
- * * Copyright 2015-2020 Ritense BV, the Netherlands.
4
- * *
5
- * * Licensed under EUPL, Version 1.2 (the "License");
6
- * * you may not use this file except in compliance with the License.
7
- * * You may obtain a copy of the License at
8
- * *
9
- * * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
10
- * *
11
- * * Unless required by applicable law or agreed to in writing, software
12
- * * distributed under the License is distributed on an "AS IS" basis,
13
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * * See the License for the specific language governing permissions and
15
- * * limitations under the License.
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
16
7
  *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
17
15
  */
18
16
  export * from './task.model';
19
17
  export * from './task-definition.model';
20
18
  export * from './task-list.model';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2svc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICpcbiAqICAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICogICpcbiAqICAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKiAgKlxuICogICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICogICpcbiAqICAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqICAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vdGFzay5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Rhc2stZGVmaW5pdGlvbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Rhc2stbGlzdC5tb2RlbCc7XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2svc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3Rhc2subW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi90YXNrLWRlZmluaXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi90YXNrLWxpc3QubW9kZWwnO1xuIl19
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { Component, EventEmitter, Output, ViewChild, ViewEncapsulation } from '@angular/core';
17
- import { FormioOptionsImpl } from '@valtimo/components';
17
+ import { FormioOptionsImpl, } from '@valtimo/components';
18
18
  import moment from 'moment';
19
19
  import { map, take } from 'rxjs/operators';
20
20
  import { BehaviorSubject } from 'rxjs';
@@ -24,13 +24,14 @@ import * as i2 from "@valtimo/form-link";
24
24
  import * as i3 from "@angular/router";
25
25
  import * as i4 from "ngx-logger";
26
26
  import * as i5 from "../task.service";
27
- import * as i6 from "@valtimo/components";
28
- import * as i7 from "../assign-user-to-task/assign-user-to-task.component";
29
- import * as i8 from "@angular/common";
30
- import * as i9 from "@ngx-translate/core";
27
+ import * as i6 from "@valtimo/security";
28
+ import * as i7 from "@valtimo/components";
29
+ import * as i8 from "../assign-user-to-task/assign-user-to-task.component";
30
+ import * as i9 from "@angular/common";
31
+ import * as i10 from "@ngx-translate/core";
31
32
  moment.locale(localStorage.getItem('langKey') || '');
32
33
  export class TaskDetailModalComponent {
33
- constructor(toastr, formLinkService, formFlowService, router, logger, route, taskService) {
34
+ constructor(toastr, formLinkService, formFlowService, router, logger, route, taskService, userProviderService) {
34
35
  this.toastr = toastr;
35
36
  this.formLinkService = formLinkService;
36
37
  this.formFlowService = formFlowService;
@@ -38,6 +39,7 @@ export class TaskDetailModalComponent {
38
39
  this.logger = logger;
39
40
  this.route = route;
40
41
  this.taskService = taskService;
42
+ this.userProviderService = userProviderService;
41
43
  this.formSubmit = new EventEmitter();
42
44
  this.assignmentOfTaskChanged = new EventEmitter();
43
45
  this.task = null;
@@ -48,6 +50,9 @@ export class TaskDetailModalComponent {
48
50
  this.processLinkIsFormFlow$ = this.taskProcessLinkType$.pipe(map(type => type === 'form-flow'));
49
51
  this.formFlowStepType$ = new BehaviorSubject(null);
50
52
  this.formFlowStepTypeIsForm$ = this.formFlowStepType$.pipe(map(type => type === 'form'));
53
+ this.isAdmin$ = this.userProviderService
54
+ .getUserSubject()
55
+ .pipe(map(userIdentity => userIdentity?.roles?.includes('ROLE_ADMIN')));
51
56
  this.formioOptions = new FormioOptionsImpl();
52
57
  this.formioOptions.disableAlerts = true;
53
58
  }
@@ -107,7 +112,9 @@ export class TaskDetailModalComponent {
107
112
  }
108
113
  if (this.taskProcessLinkType$.getValue() === 'form-flow') {
109
114
  if (submission.data.submit) {
110
- this.formFlowService.submitStep(this.formFlowInstanceId, this.formFlowStepInstanceId, submission.data).subscribe((result) => this.handleFormFlowStep(result), errors => this.form.showErrors(errors));
115
+ this.formFlowService
116
+ .submitStep(this.formFlowInstanceId, this.formFlowStepInstanceId, submission.data)
117
+ .subscribe((result) => this.handleFormFlowStep(result), errors => this.form.showErrors(errors));
111
118
  }
112
119
  else if (submission.data['back']) {
113
120
  this.formFlowService.back(this.formFlowInstanceId).subscribe((result) => this.handleFormFlowStep(result), errors => this.form.showErrors(errors));
@@ -131,7 +138,9 @@ export class TaskDetailModalComponent {
131
138
  });
132
139
  }
133
140
  getFormFlowStep(formFlowInstanceId) {
134
- this.formFlowService.getFormFlowStep(formFlowInstanceId).subscribe((result) => {
141
+ this.formFlowService
142
+ .getFormFlowStep(formFlowInstanceId)
143
+ .subscribe((result) => {
135
144
  this.handleFormFlowStep(result);
136
145
  });
137
146
  }
@@ -179,12 +188,12 @@ export class TaskDetailModalComponent {
179
188
  });
180
189
  }
181
190
  }
182
- TaskDetailModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TaskDetailModalComponent, deps: [{ token: i1.ToastrService }, { token: i2.FormLinkService }, { token: i2.FormFlowService }, { token: i3.Router }, { token: i4.NGXLogger }, { token: i3.ActivatedRoute }, { token: i5.TaskService }], target: i0.ɵɵFactoryTarget.Component });
183
- TaskDetailModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: TaskDetailModalComponent, selector: "valtimo-task-detail-modal", outputs: { formSubmit: "formSubmit", assignmentOfTaskChanged: "assignmentOfTaskChanged" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "modal", first: true, predicate: ["taskDetailModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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<valtimo-modal\n #taskDetailModal\n elementId=\"taskDetailModal\"\n [title]=\"page?.title\"\n [subtitle]=\"page?.subtitle\"\n [templateBelowSubtitle]=\"assignUserToTask\"\n>\n <div body *ngIf=\"formDefinition && ((processLinkIsForm$ | async) || (formFlowStepTypeIsForm$ | async))\">\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n <div body *ngIf=\"!formDefinition && !errorMessage\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFound'\"\n ></div>\n </div>\n <div body *ngIf=\"errorMessage\">\n <div class=\"bg-danger text-black mb-0 p-3 text-center\">\n {{ errorMessage }}\n </div>\n </div>\n <div footer>\n <div class=\"mb-0 p-3 text-center\" *ngIf=\"!formDefinition\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-modal>\n\n<ng-template #assignUserToTask>\n <valtimo-assign-user-to-task\n *ngIf=\"task && assignmentOfTaskChanged\"\n [taskId]=\"task.id\"\n [assigneeEmail]=\"task.assignee\"\n (assignmentOfTaskChanged)=\"assignmentOfTaskChanged.emit()\"\n ></valtimo-assign-user-to-task>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */#taskDetailModal .formio-component-submit{text-align:right}\n"], components: [{ type: i6.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { type: i6.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "formRefresh$"], outputs: ["submit", "change"] }, { type: i7.AssignUserToTaskComponent, selector: "valtimo-assign-user-to-task", inputs: ["taskId", "assigneeEmail"], outputs: ["assignmentOfTaskChanged"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], pipes: { "async": i8.AsyncPipe, "translate": i9.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TaskDetailModalComponent, decorators: [{
191
+ TaskDetailModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskDetailModalComponent, deps: [{ token: i1.ToastrService }, { token: i2.FormLinkService }, { token: i2.FormFlowService }, { token: i3.Router }, { token: i4.NGXLogger }, { token: i3.ActivatedRoute }, { token: i5.TaskService }, { token: i6.UserProviderService }], target: i0.ɵɵFactoryTarget.Component });
192
+ TaskDetailModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TaskDetailModalComponent, selector: "valtimo-task-detail-modal", outputs: { formSubmit: "formSubmit", assignmentOfTaskChanged: "assignmentOfTaskChanged" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "modal", first: true, predicate: ["taskDetailModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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<valtimo-modal\n #taskDetailModal\n elementId=\"taskDetailModal\"\n [title]=\"page?.title\"\n [subtitle]=\"page?.subtitle\"\n [templateBelowSubtitle]=\"assignUserToTask\"\n>\n <div\n body\n *ngIf=\"formDefinition && ((processLinkIsForm$ | async) || (formFlowStepTypeIsForm$ | async))\"\n >\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n <div body *ngIf=\"!formDefinition && !errorMessage\">\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n (isAdmin$ | async)\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n </div>\n <div body *ngIf=\"errorMessage\">\n <div class=\"bg-danger text-black mb-0 p-3 text-center\">\n {{ errorMessage }}\n </div>\n </div>\n <div footer>\n <div class=\"mb-0 p-3 text-center\" *ngIf=\"!formDefinition\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-modal>\n\n<ng-template #assignUserToTask>\n <valtimo-assign-user-to-task\n *ngIf=\"task && assignmentOfTaskChanged\"\n [taskId]=\"task.id\"\n [assigneeEmail]=\"task.assignee\"\n (assignmentOfTaskChanged)=\"assignmentOfTaskChanged.emit()\"\n ></valtimo-assign-user-to-task>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */#taskDetailModal .formio-component-submit{text-align:right}\n"], components: [{ type: i7.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { type: i7.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "formRefresh$"], outputs: ["submit", "change"] }, { type: i8.AssignUserToTaskComponent, selector: "valtimo-assign-user-to-task", inputs: ["taskId", "assigneeEmail"], outputs: ["assignmentOfTaskChanged"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i9.AsyncPipe, "translate": i10.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskDetailModalComponent, decorators: [{
185
194
  type: Component,
186
- args: [{ selector: 'valtimo-task-detail-modal', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2020 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<valtimo-modal\n #taskDetailModal\n elementId=\"taskDetailModal\"\n [title]=\"page?.title\"\n [subtitle]=\"page?.subtitle\"\n [templateBelowSubtitle]=\"assignUserToTask\"\n>\n <div body *ngIf=\"formDefinition && ((processLinkIsForm$ | async) || (formFlowStepTypeIsForm$ | async))\">\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n <div body *ngIf=\"!formDefinition && !errorMessage\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFound'\"\n ></div>\n </div>\n <div body *ngIf=\"errorMessage\">\n <div class=\"bg-danger text-black mb-0 p-3 text-center\">\n {{ errorMessage }}\n </div>\n </div>\n <div footer>\n <div class=\"mb-0 p-3 text-center\" *ngIf=\"!formDefinition\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-modal>\n\n<ng-template #assignUserToTask>\n <valtimo-assign-user-to-task\n *ngIf=\"task && assignmentOfTaskChanged\"\n [taskId]=\"task.id\"\n [assigneeEmail]=\"task.assignee\"\n (assignmentOfTaskChanged)=\"assignmentOfTaskChanged.emit()\"\n ></valtimo-assign-user-to-task>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */#taskDetailModal .formio-component-submit{text-align:right}\n"] }]
187
- }], ctorParameters: function () { return [{ type: i1.ToastrService }, { type: i2.FormLinkService }, { type: i2.FormFlowService }, { type: i3.Router }, { type: i4.NGXLogger }, { type: i3.ActivatedRoute }, { type: i5.TaskService }]; }, propDecorators: { form: [{
195
+ args: [{ selector: 'valtimo-task-detail-modal', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2020 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<valtimo-modal\n #taskDetailModal\n elementId=\"taskDetailModal\"\n [title]=\"page?.title\"\n [subtitle]=\"page?.subtitle\"\n [templateBelowSubtitle]=\"assignUserToTask\"\n>\n <div\n body\n *ngIf=\"formDefinition && ((processLinkIsForm$ | async) || (formFlowStepTypeIsForm$ | async))\"\n >\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n <div body *ngIf=\"!formDefinition && !errorMessage\">\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n (isAdmin$ | async)\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n </div>\n <div body *ngIf=\"errorMessage\">\n <div class=\"bg-danger text-black mb-0 p-3 text-center\">\n {{ errorMessage }}\n </div>\n </div>\n <div footer>\n <div class=\"mb-0 p-3 text-center\" *ngIf=\"!formDefinition\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-modal>\n\n<ng-template #assignUserToTask>\n <valtimo-assign-user-to-task\n *ngIf=\"task && assignmentOfTaskChanged\"\n [taskId]=\"task.id\"\n [assigneeEmail]=\"task.assignee\"\n (assignmentOfTaskChanged)=\"assignmentOfTaskChanged.emit()\"\n ></valtimo-assign-user-to-task>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */#taskDetailModal .formio-component-submit{text-align:right}\n"] }]
196
+ }], ctorParameters: function () { return [{ type: i1.ToastrService }, { type: i2.FormLinkService }, { type: i2.FormFlowService }, { type: i3.Router }, { type: i4.NGXLogger }, { type: i3.ActivatedRoute }, { type: i5.TaskService }, { type: i6.UserProviderService }]; }, propDecorators: { form: [{
188
197
  type: ViewChild,
189
198
  args: ['form']
190
199
  }], modal: [{
@@ -195,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
195
204
  }], assignmentOfTaskChanged: [{
196
205
  type: Output
197
206
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1kZXRhaWwtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrL3NyYy9saWIvdGFzay1kZXRhaWwtbW9kYWwvdGFzay1kZXRhaWwtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrL3NyYy9saWIvdGFzay1kZXRhaWwtbW9kYWwvdGFzay1kZXRhaWwtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTVGLE9BQU8sRUFBa0IsaUJBQWlCLEVBQXlELE1BQU0scUJBQXFCLENBQUM7QUFXL0gsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE9BQU8sRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7QUFFckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBUXJELE1BQU0sT0FBTyx3QkFBd0I7SUF1Qm5DLFlBQ21CLE1BQXFCLEVBQ3JCLGVBQWdDLEVBQ2hDLGVBQWdDLEVBQ2hDLE1BQWMsRUFDZCxNQUFpQixFQUNqQixLQUFxQixFQUNyQixXQUF3QjtRQU54QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FB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O1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztxSEE3TVUsd0JBQXdCO3lHQUF4Qix3QkFBd0IscVZDNUNyQywybUVBZ0VBOzJGRHBCYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0UsMkJBQTJCLGlCQUd0QixpQkFBaUIsQ0FBQyxJQUFJO29RQUdsQixJQUFJO3NCQUF0QixTQUFTO3VCQUFDLE1BQU07Z0JBQ2EsS0FBSztzQkFBbEMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBQ2xCLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Rm9ybWlvQ29tcG9uZW50LCBGb3JtaW9PcHRpb25zSW1wbCwgRm9ybWlvU3VibWlzc2lvbiwgTW9kYWxDb21wb25lbnQsIFZhbHRpbW9Gb3JtaW9PcHRpb25zfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7VGFzaywgVGFza1Byb2Nlc3NMaW5rVHlwZX0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7XG4gIEZvcm1Bc3NvY2lhdGlvbixcbiAgRm9ybUZsb3dJbnN0YW5jZSxcbiAgRm9ybUZsb3dTZXJ2aWNlLFxuICBGb3JtRmxvd1N0ZXBUeXBlLFxuICBGb3JtTGlua1NlcnZpY2UsXG4gIEZvcm1TdWJtaXNzaW9uUmVzdWx0XG59IGZyb20gJ0B2YWx0aW1vL2Zvcm0tbGluayc7XG5pbXBvcnQge0Zvcm1pb0Zvcm19IGZyb20gJ2FuZ3VsYXItZm9ybWlvJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7TkdYTG9nZ2VyfSBmcm9tICduZ3gtbG9nZ2VyJztcbmltcG9ydCB7VG9hc3RyU2VydmljZX0gZnJvbSAnbmd4LXRvYXN0cic7XG5pbXBvcnQge21hcCwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUYXNrU2VydmljZX0gZnJvbSAnLi4vdGFzay5zZXJ2aWNlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcblxubW9tZW50LmxvY2FsZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ0tleScpIHx8ICcnKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby10YXNrLWRldGFpbC1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YXNrLWRldGFpbC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rhc2stZGV0YWlsLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tEZXRhaWxNb2RhbENvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2Zvcm0nKSBmb3JtOiBGb3JtaW9Db21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3Rhc2tEZXRhaWxNb2RhbCcpIG1vZGFsOiBNb2RhbENvbXBvbmVudDtcbiAgQE91dHB1dCgpIGZvcm1TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBhc3NpZ25tZW50T2ZUYXNrQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgdGFzazogVGFzayB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgZm9ybURlZmluaXRpb246IEZvcm1pb0Zvcm07XG4gIHB1YmxpYyBmb3JtRmxvd0luc3RhbmNlSWQ6IHN0cmluZztcbiAgcHVibGljIGZvcm1GbG93U3RlcEluc3RhbmNlSWQ/OiBzdHJpbmc7XG4gIHB1YmxpYyBwYWdlOiBhbnkgPSBudWxsO1xuICBwdWJsaWMgZm9ybWlvT3B0aW9uczogVmFsdGltb0Zvcm1pb09wdGlvbnM7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2U6IHN0cmluZyA9IG51bGw7XG5cbiAgcHJpdmF0ZSBmb3JtQXNzb2NpYXRpb246IEZvcm1Bc3NvY2lhdGlvbjtcbiAgcHJpdmF0ZSB0YXNrUHJvY2Vzc0xpbmtUeXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFza1Byb2Nlc3NMaW5rVHlwZSB8IG51bGw+KG51bGwpO1xuXG4gIHByb2Nlc3NMaW5rSXNGb3JtJCA9IHRoaXMudGFza1Byb2Nlc3NMaW5rVHlwZSQucGlwZShtYXAodHlwZSA9PiB0eXBlID09PSAnZm9ybScpKTtcbiAgcHJvY2Vzc0xpbmtJc0Zvcm1GbG93JCA9IHRoaXMudGFza1Byb2Nlc3NMaW5rVHlwZSQucGlwZShtYXAodHlwZSA9PiB0eXBlID09PSAnZm9ybS1mbG93JykpO1xuXG4gIHByaXZhdGUgZm9ybUZsb3dTdGVwVHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1GbG93U3RlcFR5cGUgfCBudWxsPihudWxsKTtcbiAgZm9ybUZsb3dTdGVwVHlwZUlzRm9ybSQgPSB0aGlzLmZvcm1GbG93U3RlcFR5cGUkLnBpcGUobWFwKCB0eXBlID0+IHR5cGUgPT09ICdmb3JtJykpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RyOiBUb2FzdHJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUxpbmtTZXJ2aWNlOiBGb3JtTGlua1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtRmxvd1NlcnZpY2U6IEZvcm1GbG93U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBOR1hMb2dnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YXNrU2VydmljZTogVGFza1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5mb3JtaW9PcHRpb25zID0gbmV3IEZvcm1pb09wdGlvbnNJbXBsKCk7XG4gICAgdGhpcy5mb3JtaW9PcHRpb25zLmRpc2FibGVBbGVydHMgPSB0cnVlO1xuICB9XG5cbiAgb3BlblRhc2tEZXRhaWxzKHRhc2s6IFRhc2spIHtcbiAgICB0aGlzLnJlc2V0VGFza1Byb2Nlc3NMaW5rVHlwZSgpO1xuICAgIHRoaXMucmVzZXRGb3JtRGVmaW5pdGlvbigpO1xuICAgIHRoaXMuZ2V0VGFza1Byb2Nlc3NMaW5rKHRhc2suaWQpO1xuXG4gICAgdGhpcy50YXNrID0gdGFzaztcbiAgICB0aGlzLnBhZ2UgPSB7XG4gICAgICB0aXRsZTogdGFzay5uYW1lLFxuICAgICAgc3VidGl0bGU6IGBDcmVhdGVkICR7dGFzay5jcmVhdGVkfWAsXG4gICAgfTtcblxuICAgIHRoaXMuZm9ybUxpbmtTZXJ2aWNlXG4gICAgICAuZ2V0UHJlRmlsbGVkRm9ybURlZmluaXRpb25CeUZvcm1MaW5rSWQoXG4gICAgICAgIHRhc2sucHJvY2Vzc0RlZmluaXRpb25LZXksXG4gICAgICAgIHRhc2suYnVzaW5lc3NLZXksXG4gICAgICAgIHRhc2sudGFza0RlZmluaXRpb25LZXksXG4gICAgICAgIHRhc2suaWQgLy8gdGFza0luc3RhbmNlSWRcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIGZvcm1EZWZpbml0aW9uID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm1Bc3NvY2lhdGlvbiA9IGZvcm1EZWZpbml0aW9uLmZvcm1Bc3NvY2lhdGlvbjtcblxuICAgICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMuZm9ybUFzc29jaWF0aW9uLmZvcm1MaW5rLmNsYXNzTmFtZS5zcGxpdCgnLicpO1xuICAgICAgICAgIGNvbnN0IGxpbmtUeXBlID0gY2xhc3NOYW1lW2NsYXNzTmFtZS5sZW5ndGggLSAxXTtcblxuICAgICAgICAgIHN3aXRjaCAobGlua1R5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ0JwbW5FbGVtZW50Rm9ybUlkTGluayc6XG4gICAgICAgICAgICAgIHRoaXMuc2V0Rm9ybURlZmluaXRpb25BbmRPcGVuTW9kYWwoZm9ybURlZmluaXRpb24pO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0JwbW5FbGVtZW50Rm9ybUZsb3dJZExpbmsnOlxuICAgICAgICAgICAgICAvLyBXZSBjYW4ndCB1c2UgdGhlIGZvcm1EZWZpbml0aW9uIGhlcmUgYmVjYXVzZSB0aGUgZm9ybSBkZWZpbml0aW9uIGlzIHByb3ZpZGVkIHBlciBmb3JtIGZsb3cgc3RlcFxuICAgICAgICAgICAgICAvLyBJJ20gc3RpbGwgbGVhdmluZyB0aGlzIGluIGhlcmUgaW4gY2FzZSB3ZSB3YW50IHRvIGFkZCBmb3JtIGZsb3cgc3BlY2lmaWMgY29kZS5cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdCcG1uRWxlbWVudFVybExpbmsnOlxuICAgICAgICAgICAgICB0aGlzLm9wZW5VcmxMaW5rKGZvcm1EZWZpbml0aW9uKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdCcG1uRWxlbWVudEFuZ3VsYXJTdGF0ZVVybExpbmsnOlxuICAgICAgICAgICAgICB0aGlzLm9wZW5Bbmd1bGFyU3RhdGVVcmxMaW5rKHRhc2ssIGZvcm1EZWZpbml0aW9uKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5mYXRhbCgnVW5zdXBwb3J0ZWQgY2xhc3MgbmFtZScpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3JzID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3JzPy5lcnJvcj8uZGV0YWlsKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9ycy5lcnJvci5kZXRhaWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5tb2RhbC5zaG93KCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ290b0Zvcm1MaW5rU2NyZWVuKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWwuaGlkZSgpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnZm9ybS1saW5rcyddKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN1Ym1pdChzdWJtaXNzaW9uOiBGb3JtaW9TdWJtaXNzaW9uKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGFza1Byb2Nlc3NMaW5rVHlwZSQuZ2V0VmFsdWUoKSA9PT0gJ2Zvcm0nKSB7XG4gICAgICB0aGlzLmZvcm1MaW5rU2VydmljZVxuICAgICAgICAub25TdWJtaXQoXG4gICAgICAgICAgdGhpcy50YXNrLnByb2Nlc3NEZWZpbml0aW9uS2V5LFxuICAgICAgICAgIHRoaXMuZm9ybUFzc29jaWF0aW9uLmZvcm1MaW5rLmlkLFxuICAgICAgICAgIHN1Ym1pc3Npb24uZGF0YSxcbiAgICAgICAgICB0aGlzLnRhc2suYnVzaW5lc3NLZXksXG4gICAgICAgICAgdGhpcy50YXNrLmlkXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAoXzogRm9ybVN1Ym1pc3Npb25SZXN1bHQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29tcGxldGVUYXNrKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcnMgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb3JtLnNob3dFcnJvcnMoZXJyb3JzKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudGFza1Byb2Nlc3NMaW5rVHlwZSQuZ2V0VmFsdWUoKSA9PT0gJ2Zvcm0tZmxvdycpIHtcbiAgICAgIGlmIChzdWJtaXNzaW9uLmRhdGEuc3VibWl0KSB7XG4gICAgICAgIHRoaXMuZm9ybUZsb3dTZXJ2aWNlLnN1Ym1pdFN0ZXAodGhpcy5mb3JtRmxvd0luc3RhbmNlSWQsIHRoaXMuZm9ybUZsb3dTdGVwSW5zdGFuY2VJZCwgc3VibWlzc2lvbi5kYXRhKS5zdWJzY3JpYmUoXG4gICAgICAgICAgKHJlc3VsdDogRm9ybUZsb3dJbnN0YW5jZSkgPT4gdGhpcy5oYW5kbGVGb3JtRmxvd1N0ZXAocmVzdWx0KSxcbiAgICAgICAgICBlcnJvcnMgPT4gdGhpcy5mb3JtLnNob3dFcnJvcnMoZXJyb3JzKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChzdWJtaXNzaW9uLmRhdGFbJ2JhY2snXSkge1xuICAgICAgICB0aGlzLmZvcm1GbG93U2VydmljZS5iYWNrKHRoaXMuZm9ybUZsb3dJbnN0YW5jZUlkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgKHJlc3VsdDogRm9ybUZsb3dJbnN0YW5jZSkgPT4gdGhpcy5oYW5kbGVGb3JtRmxvd1N0ZXAocmVzdWx0KSxcbiAgICAgICAgICBlcnJvcnMgPT4gdGhpcy5mb3JtLnNob3dFcnJvcnMoZXJyb3JzKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRGb3JtRGVmaW5pdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGFza1Byb2Nlc3NMaW5rKHRhc2tJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50YXNrU2VydmljZS5nZXRUYXNrUHJvY2Vzc0xpbmsodGFza0lkKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHN3aXRjaCAocmVzPy50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2Zvcm0nOlxuICAgICAgICAgIHRoaXMudGFza1Byb2Nlc3NMaW5rVHlwZSQubmV4dCgnZm9ybScpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdmb3JtLWZsb3cnOlxuICAgICAgICAgIHRoaXMudGFza1Byb2Nlc3NMaW5rVHlwZSQubmV4dCgnZm9ybS1mbG93Jyk7XG4gICAgICAgICAgdGhpcy5nZXRGb3JtRmxvd1N0ZXAocmVzPy5wcm9wZXJ0aWVzLmZvcm1GbG93SW5zdGFuY2VJZClcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybUZsb3dTdGVwKGZvcm1GbG93SW5zdGFuY2VJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtRmxvd1NlcnZpY2UuZ2V0Rm9ybUZsb3dTdGVwKGZvcm1GbG93SW5zdGFuY2VJZCkuc3Vic2NyaWJlKFxuICAgICAgKHJlc3VsdDogRm9ybUZsb3dJbnN0YW5jZSkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUZvcm1GbG93U3RlcChyZXN1bHQpXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRm9ybUZsb3dTdGVwKGZvcm1GbG93SW5zdGFuY2U6IEZvcm1GbG93SW5zdGFuY2UpIHtcbiAgICBpZiAoZm9ybUZsb3dJbnN0YW5jZS5zdGVwID09PSBudWxsKSB7XG4gICAgICB0aGlzLmZvcm1GbG93U3RlcFR5cGUkLm5leHQobnVsbCk7XG4gICAgICB0aGlzLmZvcm1GbG93SW5zdGFuY2VJZCA9IG51bGw7XG4gICAgICB0aGlzLmZvcm1GbG93U3RlcEluc3RhbmNlSWQgPSBudWxsO1xuICAgICAgdGhpcy5jb21wbGV0ZVRhc2soKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1GbG93U3RlcFR5cGUkLm5leHQoZm9ybUZsb3dJbnN0YW5jZS5zdGVwLnR5cGUpO1xuICAgICAgdGhpcy5mb3JtRmxvd0luc3RhbmNlSWQgPSBmb3JtRmxvd0luc3RhbmNlLmlkO1xuICAgICAgdGhpcy5mb3JtRmxvd1N0ZXBJbnN0YW5jZUlkID0gZm9ybUZsb3dJbnN0YW5jZS5zdGVwLmlkO1xuICAgICAgdGhpcy5zZXRGb3JtRGVmaW5pdGlvbkFuZE9wZW5Nb2RhbChmb3JtRmxvd0luc3RhbmNlLnN0ZXAudHlwZVByb3BlcnRpZXMuZGVmaW5pdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb21wbGV0ZVRhc2soKSB7XG4gICAgdGhpcy50b2FzdHIuc3VjY2Vzcyh0aGlzLnRhc2submFtZSArICcgaGFzIHN1Y2Nlc3NmdWxseSBiZWVuIGNvbXBsZXRlZCcpO1xuICAgIHRoaXMubW9kYWwuaGlkZSgpO1xuICAgIHRoaXMudGFzayA9IG51bGw7XG4gICAgdGhpcy5mb3JtU3VibWl0LmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRUYXNrUHJvY2Vzc0xpbmtUeXBlKCk6IHZvaWQge1xuICAgIHRoaXMudGFza1Byb2Nlc3NMaW5rVHlwZSQubmV4dChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Rm9ybURlZmluaXRpb25BbmRPcGVuTW9kYWwoZm9ybURlZmluaXRpb246IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZm9ybURlZmluaXRpb24gPSBmb3JtRGVmaW5pdGlvbjtcbiAgICB0aGlzLm1vZGFsLnNob3coKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblVybExpbmsoZm9ybURlZmluaXRpb246IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHVybCA9IHRoaXMucm91dGVyLnNlcmlhbGl6ZVVybChcbiAgICAgIHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoW2Zvcm1EZWZpbml0aW9uLmZvcm1Bc3NvY2lhdGlvbi5mb3JtTGluay51cmxdKVxuICAgICk7XG5cbiAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkFuZ3VsYXJTdGF0ZVVybExpbmsodGFzazogVGFzaywgZm9ybURlZmluaXRpb246IGFueSk6IHZvaWQge1xuICAgIHRoaXMucm91dGUucGFyYW1zLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICBjb25zdCB0YXNrSWQgPSB0YXNrPy5pZDtcbiAgICAgIGNvbnN0IGRvY3VtZW50SWQgPSBwYXJhbXM/LmRvY3VtZW50SWQ7XG5cbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtmb3JtRGVmaW5pdGlvbi5mb3JtQXNzb2NpYXRpb24uZm9ybUxpbmsudXJsXSwge1xuICAgICAgICBzdGF0ZToge1xuICAgICAgICAgIC4uLih0YXNrSWQgJiYge3Rhc2tJZH0pLFxuICAgICAgICAgIC4uLihkb2N1bWVudElkICYmIHtkb2N1bWVudElkfSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48dmFsdGltby1tb2RhbFxuICAjdGFza0RldGFpbE1vZGFsXG4gIGVsZW1lbnRJZD1cInRhc2tEZXRhaWxNb2RhbFwiXG4gIFt0aXRsZV09XCJwYWdlPy50aXRsZVwiXG4gIFtzdWJ0aXRsZV09XCJwYWdlPy5zdWJ0aXRsZVwiXG4gIFt0ZW1wbGF0ZUJlbG93U3VidGl0bGVdPVwiYXNzaWduVXNlclRvVGFza1wiXG4+XG4gIDxkaXYgYm9keSAqbmdJZj1cImZvcm1EZWZpbml0aW9uICYmICgocHJvY2Vzc0xpbmtJc0Zvcm0kIHwgYXN5bmMpIHx8IChmb3JtRmxvd1N0ZXBUeXBlSXNGb3JtJCB8IGFzeW5jKSlcIj5cbiAgICA8dmFsdGltby1mb3JtLWlvXG4gICAgICAjZm9ybVxuICAgICAgW2Zvcm1dPVwiZm9ybURlZmluaXRpb25cIlxuICAgICAgKHN1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCJcbiAgICAgIFtvcHRpb25zXT1cImZvcm1pb09wdGlvbnNcIlxuICAgID48L3ZhbHRpbW8tZm9ybS1pbz5cbiAgPC9kaXY+XG4gIDxkaXYgYm9keSAqbmdJZj1cIiFmb3JtRGVmaW5pdGlvbiAmJiAhZXJyb3JNZXNzYWdlXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJiZy13YXJuaW5nIHRleHQtYmxhY2sgbWItMCBwLTMgdGV4dC1jZW50ZXJcIlxuICAgICAgW3RyYW5zbGF0ZV09XCInZm9ybU1hbmFnZW1lbnQubm9Gb3JtRGVmaW5pdGlvbkZvdW5kJ1wiXG4gICAgPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBib2R5ICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCI+XG4gICAgPGRpdiBjbGFzcz1cImJnLWRhbmdlciB0ZXh0LWJsYWNrIG1iLTAgcC0zIHRleHQtY2VudGVyXCI+XG4gICAgICB7eyBlcnJvck1lc3NhZ2UgfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgZm9vdGVyPlxuICAgIDxkaXYgY2xhc3M9XCJtYi0wIHAtMyB0ZXh0LWNlbnRlclwiICpuZ0lmPVwiIWZvcm1EZWZpbml0aW9uXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNwYWNlXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJnb3RvRm9ybUxpbmtTY3JlZW4oKVwiXG4gICAgICAgIGlkPVwiZm9ybS1saW5rLWJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIHt7ICdmb3JtTWFuYWdlbWVudC5nb3RvRm9ybUxpbmtzQnV0dG9uJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC92YWx0aW1vLW1vZGFsPlxuXG48bmctdGVtcGxhdGUgI2Fzc2lnblVzZXJUb1Rhc2s+XG4gIDx2YWx0aW1vLWFzc2lnbi11c2VyLXRvLXRhc2tcbiAgICAqbmdJZj1cInRhc2sgJiYgYXNzaWdubWVudE9mVGFza0NoYW5nZWRcIlxuICAgIFt0YXNrSWRdPVwidGFzay5pZFwiXG4gICAgW2Fzc2lnbmVlRW1haWxdPVwidGFzay5hc3NpZ25lZVwiXG4gICAgKGFzc2lnbm1lbnRPZlRhc2tDaGFuZ2VkKT1cImFzc2lnbm1lbnRPZlRhc2tDaGFuZ2VkLmVtaXQoKVwiXG4gID48L3ZhbHRpbW8tYXNzaWduLXVzZXItdG8tdGFzaz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1kZXRhaWwtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrL3NyYy9saWIvdGFzay1kZXRhaWwtbW9kYWwvdGFzay1kZXRhaWwtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrL3NyYy9saWIvdGFzay1kZXRhaWwtbW9kYWwvdGFzay1kZXRhaWwtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTVGLE9BQU8sRUFFTCxpQkFBaUIsR0FJbEIsTUFBTSxxQkFBcUIsQ0FBQztBQVc3QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7QUFHakQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBUXJELE1BQU0sT0FBTyx3QkFBd0I7SUEyQm5DLFlBQ21CLE1BQXFCLEVBQ3JCLGVBQWdDLEVBQ2hDLGVBQWdDLEVBQ2hDLE1BQWMsRUFDZCxNQUFpQixFQUNqQixLQUFxQixFQUNyQixXQUF3QixFQUN4QixtQkFBd0M7UUFQeEMsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFdBQU0sR0FBTixNQUFNLENBQVE7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QUFNLENBQUMsUUFBUSxDQUFDLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2xFLEtBQUssRUFBRTtvQkFDTCxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUMsTUFBTSxFQUFDLENBQUM7b0JBQ3ZCLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBQyxVQUFVLEVBQUMsQ0FBQztpQkFDaEM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3NIQXBOVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixxVkNuRHJDLGl2RUFzRUE7NEZEbkJhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSwyQkFBMkIsaUJBR3RCLGlCQUFpQixDQUFDLElBQUk7c1NBR2xCLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTTtnQkFDYSxLQUFLO3NCQUFsQyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDbEIsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgRm9ybWlvQ29tcG9uZW50LFxuICBGb3JtaW9PcHRpb25zSW1wbCxcbiAgRm9ybWlvU3VibWlzc2lvbixcbiAgTW9kYWxDb21wb25lbnQsXG4gIFZhbHRpbW9Gb3JtaW9PcHRpb25zLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7VGFzaywgVGFza1Byb2Nlc3NMaW5rVHlwZX0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7XG4gIEZvcm1Bc3NvY2lhdGlvbixcbiAgRm9ybUZsb3dJbnN0YW5jZSxcbiAgRm9ybUZsb3dTZXJ2aWNlLFxuICBGb3JtRmxvd1N0ZXBUeXBlLFxuICBGb3JtTGlua1NlcnZpY2UsXG4gIEZvcm1TdWJtaXNzaW9uUmVzdWx0LFxufSBmcm9tICdAdmFsdGltby9mb3JtLWxpbmsnO1xuaW1wb3J0IHtGb3JtaW9Gb3JtfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtOR1hMb2dnZXJ9IGZyb20gJ25neC1sb2dnZXInO1xuaW1wb3J0IHtUb2FzdHJTZXJ2aWNlfSBmcm9tICduZ3gtdG9hc3RyJztcbmltcG9ydCB7bWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1Rhc2tTZXJ2aWNlfSBmcm9tICcuLi90YXNrLnNlcnZpY2UnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtVc2VyUHJvdmlkZXJTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5cbm1vbWVudC5sb2NhbGUobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmdLZXknKSB8fCAnJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tdGFzay1kZXRhaWwtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFzay1kZXRhaWwtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YXNrLWRldGFpbC1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUYXNrRGV0YWlsTW9kYWxDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdmb3JtJykgZm9ybTogRm9ybWlvQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCd0YXNrRGV0YWlsTW9kYWwnKSBtb2RhbDogTW9kYWxDb21wb25lbnQ7XG4gIEBPdXRwdXQoKSBmb3JtU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgYXNzaWdubWVudE9mVGFza0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHRhc2s6IFRhc2sgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIGZvcm1EZWZpbml0aW9uOiBGb3JtaW9Gb3JtO1xuICBwdWJsaWMgZm9ybUZsb3dJbnN0YW5jZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBmb3JtRmxvd1N0ZXBJbnN0YW5jZUlkPzogc3RyaW5nO1xuICBwdWJsaWMgcGFnZTogYW55ID0gbnVsbDtcbiAgcHVibGljIGZvcm1pb09wdGlvbnM6IFZhbHRpbW9Gb3JtaW9PcHRpb25zO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSBudWxsO1xuXG4gIHByaXZhdGUgZm9ybUFzc29jaWF0aW9uOiBGb3JtQXNzb2NpYXRpb247XG4gIHByaXZhdGUgdGFza1Byb2Nlc3NMaW5rVHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhc2tQcm9jZXNzTGlua1R5cGUgfCBudWxsPihudWxsKTtcblxuICBwcm9jZXNzTGlua0lzRm9ybSQgPSB0aGlzLnRhc2tQcm9jZXNzTGlua1R5cGUkLnBpcGUobWFwKHR5cGUgPT4gdHlwZSA9PT0gJ2Zvcm0nKSk7XG4gIHByb2Nlc3NMaW5rSXNGb3JtRmxvdyQgPSB0aGlzLnRhc2tQcm9jZXNzTGlua1R5cGUkLnBpcGUobWFwKHR5cGUgPT4gdHlwZSA9PT0gJ2Zvcm0tZmxvdycpKTtcblxuICBwcml2YXRlIGZvcm1GbG93U3RlcFR5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtRmxvd1N0ZXBUeXBlIHwgbnVsbD4obnVsbCk7XG4gIGZvcm1GbG93U3RlcFR5cGVJc0Zvcm0kID0gdGhpcy5mb3JtRmxvd1N0ZXBUeXBlJC5waXBlKG1hcCh0eXBlID0+IHR5cGUgPT09ICdmb3JtJykpO1xuXG4gIHJlYWRvbmx5IGlzQWRtaW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlXG4gICAgLmdldFVzZXJTdWJqZWN0KClcbiAgICAucGlwZShtYXAodXNlcklkZW50aXR5ID0+IHVzZXJJZGVudGl0eT8ucm9sZXM/LmluY2x1ZGVzKCdST0xFX0FETUlOJykpKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0cjogVG9hc3RyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1MaW5rU2VydmljZTogRm9ybUxpbmtTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUZsb3dTZXJ2aWNlOiBGb3JtRmxvd1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTkdYTG9nZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFza1NlcnZpY2U6IFRhc2tTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclByb3ZpZGVyU2VydmljZTogVXNlclByb3ZpZGVyU2VydmljZVxuICApIHtcbiAgICB0aGlzLmZvcm1pb09wdGlvbnMgPSBuZXcgRm9ybWlvT3B0aW9uc0ltcGwoKTtcbiAgICB0aGlzLmZvcm1pb09wdGlvbnMuZGlzYWJsZUFsZXJ0cyA9IHRydWU7XG4gIH1cblxuICBvcGVuVGFza0RldGFpbHModGFzazogVGFzaykge1xuICAgIHRoaXMucmVzZXRUYXNrUHJvY2Vzc0xpbmtUeXBlKCk7XG4gICAgdGhpcy5yZXNldEZvcm1EZWZpbml0aW9uKCk7XG4gICAgdGhpcy5nZXRUYXNrUHJvY2Vzc0xpbmsodGFzay5pZCk7XG5cbiAgICB0aGlzLnRhc2sgPSB0YXNrO1xuICAgIHRoaXMucGFnZSA9IHtcbiAgICAgIHRpdGxlOiB0YXNrLm5hbWUsXG4gICAgICBzdWJ0aXRsZTogYENyZWF0ZWQgJHt0YXNrLmNyZWF0ZWR9YCxcbiAgICB9O1xuXG4gICAgdGhpcy5mb3JtTGlua1NlcnZpY2VcbiAgICAgIC5nZXRQcmVGaWxsZWRGb3JtRGVmaW5pdGlvbkJ5Rm9ybUxpbmtJZChcbiAgICAgICAgdGFzay5wcm9jZXNzRGVmaW5pdGlvbktleSxcbiAgICAgICAgdGFzay5idXNpbmVzc0tleSxcbiAgICAgICAgdGFzay50YXNrRGVmaW5pdGlvbktleSxcbiAgICAgICAgdGFzay5pZCAvLyB0YXNrSW5zdGFuY2VJZFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgZm9ybURlZmluaXRpb24gPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybUFzc29jaWF0aW9uID0gZm9ybURlZmluaXRpb24uZm9ybUFzc29jaWF0aW9uO1xuXG4gICAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gdGhpcy5mb3JtQXNzb2NpYXRpb24uZm9ybUxpbmsuY2xhc3NOYW1lLnNwbGl0KCcuJyk7XG4gICAgICAgICAgY29uc3QgbGlua1R5cGUgPSBjbGFzc05hbWVbY2xhc3NOYW1lLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgICAgc3dpdGNoIChsaW5rVHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnQnBtbkVsZW1lbnRGb3JtSWRMaW5rJzpcbiAgICAgICAgICAgICAgdGhpcy5zZXRGb3JtRGVmaW5pdGlvbkFuZE9wZW5Nb2RhbChmb3JtRGVmaW5pdGlvbik7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnQnBtbkVsZW1lbnRGb3JtRmxvd0lkTGluayc6XG4gICAgICAgICAgICAgIC8vIFdlIGNhbid0IHVzZSB0aGUgZm9ybURlZmluaXRpb24gaGVyZSBiZWNhdXNlIHRoZSBmb3JtIGRlZmluaXRpb24gaXMgcHJvdmlkZWQgcGVyIGZvcm0gZmxvdyBzdGVwXG4gICAgICAgICAgICAgIC8vIEknbSBzdGlsbCBsZWF2aW5nIHRoaXMgaW4gaGVyZSBpbiBjYXNlIHdlIHdhbnQgdG8gYWRkIGZvcm0gZmxvdyBzcGVjaWZpYyBjb2RlLlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0JwbW5FbGVtZW50VXJsTGluayc6XG4gICAgICAgICAgICAgIHRoaXMub3BlblVybExpbmsoZm9ybURlZmluaXRpb24pO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0JwbW5FbGVtZW50QW5ndWxhclN0YXRlVXJsTGluayc6XG4gICAgICAgICAgICAgIHRoaXMub3BlbkFuZ3VsYXJTdGF0ZVVybExpbmsodGFzaywgZm9ybURlZmluaXRpb24pO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmZhdGFsKCdVbnN1cHBvcnRlZCBjbGFzcyBuYW1lJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcnMgPT4ge1xuICAgICAgICAgIGlmIChlcnJvcnM/LmVycm9yPy5kZXRhaWwpIHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3JzLmVycm9yLmRldGFpbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLm1vZGFsLnNob3coKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnb3RvRm9ybUxpbmtTY3JlZW4oKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbC5oaWRlKCk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydmb3JtLWxpbmtzJ10pO1xuICB9XG5cbiAgcHVibGljIG9uU3VibWl0KHN1Ym1pc3Npb246IEZvcm1pb1N1Ym1pc3Npb24pOiB2b2lkIHtcbiAgICBpZiAodGhpcy50YXNrUHJvY2Vzc0xpbmtUeXBlJC5nZXRWYWx1ZSgpID09PSAnZm9ybScpIHtcbiAgICAgIHRoaXMuZm9ybUxpbmtTZXJ2aWNlXG4gICAgICAgIC5vblN1Ym1pdChcbiAgICAgICAgICB0aGlzLnRhc2sucHJvY2Vzc0RlZmluaXRpb25LZXksXG4gICAgICAgICAgdGhpcy5mb3JtQXNzb2NpYXRpb24uZm9ybUxpbmsuaWQsXG4gICAgICAgICAgc3VibWlzc2lvbi5kYXRhLFxuICAgICAgICAgIHRoaXMudGFzay5idXNpbmVzc0tleSxcbiAgICAgICAgICB0aGlzLnRhc2suaWRcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIChfOiBGb3JtU3VibWlzc2lvblJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb21wbGV0ZVRhc2soKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9ycyA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uc2hvd0Vycm9ycyhlcnJvcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50YXNrUHJvY2Vzc0xpbmtUeXBlJC5nZXRWYWx1ZSgpID09PSAnZm9ybS1mbG93Jykge1xuICAgICAgaWYgKHN1Ym1pc3Npb24uZGF0YS5zdWJtaXQpIHtcbiAgICAgICAgdGhpcy5mb3JtRmxvd1NlcnZpY2VcbiAgICAgICAgICAuc3VibWl0U3RlcCh0aGlzLmZvcm1GbG93SW5zdGFuY2VJZCwgdGhpcy5mb3JtRmxvd1N0ZXBJbnN0YW5jZUlkLCBzdWJtaXNzaW9uLmRhdGEpXG4gICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgIChyZXN1bHQ6IEZvcm1GbG93SW5zdGFuY2UpID0+IHRoaXMuaGFuZGxlRm9ybUZsb3dTdGVwKHJlc3VsdCksXG4gICAgICAgICAgICBlcnJvcnMgPT4gdGhpcy5mb3JtLnNob3dFcnJvcnMoZXJyb3JzKVxuICAgICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHN1Ym1pc3Npb24uZGF0YVsnYmFjayddKSB7XG4gICAgICAgIHRoaXMuZm9ybUZsb3dTZXJ2aWNlLmJhY2sodGhpcy5mb3JtRmxvd0luc3RhbmNlSWQpLnN1YnNjcmliZShcbiAgICAgICAgICAocmVzdWx0OiBGb3JtRmxvd0luc3RhbmNlKSA9PiB0aGlzLmhhbmRsZUZvcm1GbG93U3RlcChyZXN1bHQpLFxuICAgICAgICAgIGVycm9ycyA9PiB0aGlzLmZvcm0uc2hvd0Vycm9ycyhlcnJvcnMpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldEZvcm1EZWZpbml0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybURlZmluaXRpb24gPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYXNrUHJvY2Vzc0xpbmsodGFza0lkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRhc2tTZXJ2aWNlLmdldFRhc2tQcm9jZXNzTGluayh0YXNrSWQpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgc3dpdGNoIChyZXM/LnR5cGUpIHtcbiAgICAgICAgY2FzZSAnZm9ybSc6XG4gICAgICAgICAgdGhpcy50YXNrUHJvY2Vzc0xpbmtUeXBlJC5uZXh0KCdmb3JtJyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Zvcm0tZmxvdyc6XG4gICAgICAgICAgdGhpcy50YXNrUHJvY2Vzc0xpbmtUeXBlJC5uZXh0KCdmb3JtLWZsb3cnKTtcbiAgICAgICAgICB0aGlzLmdldEZvcm1GbG93U3RlcChyZXM/LnByb3BlcnRpZXMuZm9ybUZsb3dJbnN0YW5jZUlkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybUZsb3dTdGVwKGZvcm1GbG93SW5zdGFuY2VJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtRmxvd1NlcnZpY2VcbiAgICAgIC5nZXRGb3JtRmxvd1N0ZXAoZm9ybUZsb3dJbnN0YW5jZUlkKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBGb3JtRmxvd0luc3RhbmNlKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlRm9ybUZsb3dTdGVwKHJlc3VsdCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRm9ybUZsb3dTdGVwKGZvcm1GbG93SW5zdGFuY2U6IEZvcm1GbG93SW5zdGFuY2UpIHtcbiAgICBpZiAoZm9ybUZsb3dJbnN0YW5jZS5zdGVwID09PSBudWxsKSB7XG4gICAgICB0aGlzLmZvcm1GbG93U3RlcFR5cGUkLm5leHQobnVsbCk7XG4gICAgICB0aGlzLmZvcm1GbG93SW5zdGFuY2VJZCA9IG51bGw7XG4gICAgICB0aGlzLmZvcm1GbG93U3RlcEluc3RhbmNlSWQgPSBudWxsO1xuICAgICAgdGhpcy5jb21wbGV0ZVRhc2soKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtRmxvd1N0ZXBUeXBlJC5uZXh0KGZvcm1GbG93SW5zdGFuY2Uuc3RlcC50eXBlKTtcbiAgICAgIHRoaXMuZm9ybUZsb3dJbnN0YW5jZUlkID0gZm9ybUZsb3dJbnN0YW5jZS5pZDtcbiAgICAgIHRoaXMuZm9ybUZsb3dTdGVwSW5zdGFuY2VJZCA9IGZvcm1GbG93SW5zdGFuY2Uuc3RlcC5pZDtcbiAgICAgIHRoaXMuc2V0Rm9ybURlZmluaXRpb25BbmRPcGVuTW9kYWwoZm9ybUZsb3dJbnN0YW5jZS5zdGVwLnR5cGVQcm9wZXJ0aWVzLmRlZmluaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29tcGxldGVUYXNrKCkge1xuICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3ModGhpcy50YXNrLm5hbWUgKyAnIGhhcyBzdWNjZXNzZnVsbHkgYmVlbiBjb21wbGV0ZWQnKTtcbiAgICB0aGlzLm1vZGFsLmhpZGUoKTtcbiAgICB0aGlzLnRhc2sgPSBudWxsO1xuICAgIHRoaXMuZm9ybVN1Ym1pdC5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0VGFza1Byb2Nlc3NMaW5rVHlwZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRhc2tQcm9jZXNzTGlua1R5cGUkLm5leHQobnVsbCk7XG4gIH1cblxuICBwcml2YXRlIHNldEZvcm1EZWZpbml0aW9uQW5kT3Blbk1vZGFsKGZvcm1EZWZpbml0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uID0gZm9ybURlZmluaXRpb247XG4gICAgdGhpcy5tb2RhbC5zaG93KCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5VcmxMaW5rKGZvcm1EZWZpbml0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLnJvdXRlci5zZXJpYWxpemVVcmwoXG4gICAgICB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFtmb3JtRGVmaW5pdGlvbi5mb3JtQXNzb2NpYXRpb24uZm9ybUxpbmsudXJsXSlcbiAgICApO1xuXG4gICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5Bbmd1bGFyU3RhdGVVcmxMaW5rKHRhc2s6IFRhc2ssIGZvcm1EZWZpbml0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgY29uc3QgdGFza0lkID0gdGFzaz8uaWQ7XG4gICAgICBjb25zdCBkb2N1bWVudElkID0gcGFyYW1zPy5kb2N1bWVudElkO1xuXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZm9ybURlZmluaXRpb24uZm9ybUFzc29jaWF0aW9uLmZvcm1MaW5rLnVybF0sIHtcbiAgICAgICAgc3RhdGU6IHtcbiAgICAgICAgICAuLi4odGFza0lkICYmIHt0YXNrSWR9KSxcbiAgICAgICAgICAuLi4oZG9jdW1lbnRJZCAmJiB7ZG9jdW1lbnRJZH0pLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHZhbHRpbW8tbW9kYWxcbiAgI3Rhc2tEZXRhaWxNb2RhbFxuICBlbGVtZW50SWQ9XCJ0YXNrRGV0YWlsTW9kYWxcIlxuICBbdGl0bGVdPVwicGFnZT8udGl0bGVcIlxuICBbc3VidGl0bGVdPVwicGFnZT8uc3VidGl0bGVcIlxuICBbdGVtcGxhdGVCZWxvd1N1YnRpdGxlXT1cImFzc2lnblVzZXJUb1Rhc2tcIlxuPlxuICA8ZGl2XG4gICAgYm9keVxuICAgICpuZ0lmPVwiZm9ybURlZmluaXRpb24gJiYgKChwcm9jZXNzTGlua0lzRm9ybSQgfCBhc3luYykgfHwgKGZvcm1GbG93U3RlcFR5cGVJc0Zvcm0kIHwgYXN5bmMpKVwiXG4gID5cbiAgICA8dmFsdGltby1mb3JtLWlvXG4gICAgICAjZm9ybVxuICAgICAgW2Zvcm1dPVwiZm9ybURlZmluaXRpb25cIlxuICAgICAgKHN1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCJcbiAgICAgIFtvcHRpb25zXT1cImZvcm1pb09wdGlvbnNcIlxuICAgID48L3ZhbHRpbW8tZm9ybS1pbz5cbiAgPC9kaXY+XG4gIDxkaXYgYm9keSAqbmdJZj1cIiFmb3JtRGVmaW5pdGlvbiAmJiAhZXJyb3JNZXNzYWdlXCI+XG4gICAgPGRpdiBjbGFzcz1cImJnLXdhcm5pbmcgdGV4dC1ibGFjayBtYi0wIHAtMyB0ZXh0LWNlbnRlclwiPlxuICAgICAge3tcbiAgICAgICAgKGlzQWRtaW4kIHwgYXN5bmMpXG4gICAgICAgICAgPyAoJ2Zvcm1NYW5hZ2VtZW50Lm5vRm9ybURlZmluaXRpb25Gb3VuZEFkbWluJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICA6ICgnZm9ybU1hbmFnZW1lbnQubm9Gb3JtRGVmaW5pdGlvbkZvdW5kVXNlcicgfCB0cmFuc2xhdGUpXG4gICAgICB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBib2R5ICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCI+XG4gICAgPGRpdiBjbGFzcz1cImJnLWRhbmdlciB0ZXh0LWJsYWNrIG1iLTAgcC0zIHRleHQtY2VudGVyXCI+XG4gICAgICB7eyBlcnJvck1lc3NhZ2UgfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgZm9vdGVyPlxuICAgIDxkaXYgY2xhc3M9XCJtYi0wIHAtMyB0ZXh0LWNlbnRlclwiICpuZ0lmPVwiIWZvcm1EZWZpbml0aW9uXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNwYWNlXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJnb3RvRm9ybUxpbmtTY3JlZW4oKVwiXG4gICAgICAgIGlkPVwiZm9ybS1saW5rLWJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIHt7ICdmb3JtTWFuYWdlbWVudC5nb3RvRm9ybUxpbmtzQnV0dG9uJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC92YWx0aW1vLW1vZGFsPlxuXG48bmctdGVtcGxhdGUgI2Fzc2lnblVzZXJUb1Rhc2s+XG4gIDx2YWx0aW1vLWFzc2lnbi11c2VyLXRvLXRhc2tcbiAgICAqbmdJZj1cInRhc2sgJiYgYXNzaWdubWVudE9mVGFza0NoYW5nZWRcIlxuICAgIFt0YXNrSWRdPVwidGFzay5pZFwiXG4gICAgW2Fzc2lnbmVlRW1haWxdPVwidGFzay5hc3NpZ25lZVwiXG4gICAgKGFzc2lnbm1lbnRPZlRhc2tDaGFuZ2VkKT1cImFzc2lnbm1lbnRPZlRhc2tDaGFuZ2VkLmVtaXQoKVwiXG4gID48L3ZhbHRpbW8tYXNzaWduLXVzZXItdG8tdGFzaz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -189,13 +189,13 @@ export class TaskListComponent {
189
189
  this.translationSubscription.unsubscribe();
190
190
  }
191
191
  }
192
- TaskListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TaskListComponent, deps: [{ token: i1.TaskService }, { token: i2.Router }, { token: i3.NGXLogger }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
193
- TaskListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: TaskListComponent, selector: "valtimo-task-list", viewQueries: [{ propertyName: "taskDetail", first: true, predicate: ["taskDetail"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"tasks[currentTaskType].tasks\"\n [fields]=\"tasks[currentTaskType].fields\"\n [pagination]=\"tasks[currentTaskType].pagination\"\n [viewMode]=\"true\"\n (paginationClicked)=\"paginationClicked($event, currentTaskType)\"\n (paginationSet)=\"paginationSet()\"\n paginationIdentifier=\"taskList\"\n [isSearchable]=\"true\"\n [header]=\"true\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ listTitle }}</h3>\n <h5 class=\"list-header-description\">{{ listDescription }}</h5>\n </div>\n <div tabs>\n <ul ngbNav [destroyOnHide]=\"false\" (navChange)=\"tabChange($event)\" class=\"nav-tabs\">\n <li [ngbNavItem]=\"1\" [title]=\"'task-list.mine.title' | translate\">\n <a ngbNavLink>{{ 'task-list.mine.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"2\" [title]=\"'task-list.open.title' | translate\">\n <a ngbNavLink>{{ 'task-list.open.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"3\" [title]=\"'task-list.all.title' | translate\">\n <a ngbNavLink>{{ 'task-list.all.title' | translate }}</a>\n </li>\n </ul>\n </div>\n </valtimo-list>\n </valtimo-widget>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getTasks(currentTaskType)\"\n (assignmentOfTaskChanged)=\"getTasks(currentTaskType)\"\n ></valtimo-task-detail-modal>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.tab-content{padding:0;margin:0}.nav.nav-tabs{background-color:#f5f5f5}\n"], components: [{ type: i5.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { type: i5.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { type: i6.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", outputs: ["formSubmit", "assignmentOfTaskChanged"] }], directives: [{ type: i7.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { type: i7.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { type: i7.NgbNavLink, selector: "a[ngbNavLink]" }], pipes: { "translate": i4.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TaskListComponent, decorators: [{
192
+ TaskListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskListComponent, deps: [{ token: i1.TaskService }, { token: i2.Router }, { token: i3.NGXLogger }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
193
+ TaskListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TaskListComponent, selector: "valtimo-task-list", viewQueries: [{ propertyName: "taskDetail", first: true, predicate: ["taskDetail"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"tasks[currentTaskType].tasks\"\n [fields]=\"tasks[currentTaskType].fields\"\n [pagination]=\"tasks[currentTaskType].pagination\"\n [viewMode]=\"true\"\n (paginationClicked)=\"paginationClicked($event, currentTaskType)\"\n (paginationSet)=\"paginationSet()\"\n paginationIdentifier=\"taskList\"\n [isSearchable]=\"true\"\n [header]=\"true\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ listTitle }}</h3>\n <h5 class=\"list-header-description\">{{ listDescription }}</h5>\n </div>\n <div tabs>\n <ul ngbNav [destroyOnHide]=\"false\" (navChange)=\"tabChange($event)\" class=\"nav-tabs\">\n <li [ngbNavItem]=\"1\" [title]=\"'task-list.mine.title' | translate\">\n <a ngbNavLink>{{ 'task-list.mine.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"2\" [title]=\"'task-list.open.title' | translate\">\n <a ngbNavLink>{{ 'task-list.open.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"3\" [title]=\"'task-list.all.title' | translate\">\n <a ngbNavLink>{{ 'task-list.all.title' | translate }}</a>\n </li>\n </ul>\n </div>\n </valtimo-list>\n </valtimo-widget>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getTasks(currentTaskType)\"\n (assignmentOfTaskChanged)=\"getTasks(currentTaskType)\"\n ></valtimo-task-detail-modal>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.tab-content{padding:0;margin:0}.nav.nav-tabs{background-color:#f5f5f5}\n"], components: [{ type: i5.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { type: i5.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { type: i6.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", outputs: ["formSubmit", "assignmentOfTaskChanged"] }], directives: [{ type: i7.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { type: i7.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { type: i7.NgbNavLink, selector: "a[ngbNavLink]" }], pipes: { "translate": i4.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskListComponent, decorators: [{
195
195
  type: Component,
196
196
  args: [{ selector: 'valtimo-task-list', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2020 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=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"tasks[currentTaskType].tasks\"\n [fields]=\"tasks[currentTaskType].fields\"\n [pagination]=\"tasks[currentTaskType].pagination\"\n [viewMode]=\"true\"\n (paginationClicked)=\"paginationClicked($event, currentTaskType)\"\n (paginationSet)=\"paginationSet()\"\n paginationIdentifier=\"taskList\"\n [isSearchable]=\"true\"\n [header]=\"true\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ listTitle }}</h3>\n <h5 class=\"list-header-description\">{{ listDescription }}</h5>\n </div>\n <div tabs>\n <ul ngbNav [destroyOnHide]=\"false\" (navChange)=\"tabChange($event)\" class=\"nav-tabs\">\n <li [ngbNavItem]=\"1\" [title]=\"'task-list.mine.title' | translate\">\n <a ngbNavLink>{{ 'task-list.mine.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"2\" [title]=\"'task-list.open.title' | translate\">\n <a ngbNavLink>{{ 'task-list.open.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"3\" [title]=\"'task-list.all.title' | translate\">\n <a ngbNavLink>{{ 'task-list.all.title' | translate }}</a>\n </li>\n </ul>\n </div>\n </valtimo-list>\n </valtimo-widget>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getTasks(currentTaskType)\"\n (assignmentOfTaskChanged)=\"getTasks(currentTaskType)\"\n ></valtimo-task-detail-modal>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.tab-content{padding:0;margin:0}.nav.nav-tabs{background-color:#f5f5f5}\n"] }]
197
197
  }], ctorParameters: function () { return [{ type: i1.TaskService }, { type: i2.Router }, { type: i3.NGXLogger }, { type: i4.TranslateService }]; }, propDecorators: { taskDetail: [{
198
198
  type: ViewChild,
199
199
  args: ['taskDetail']
200
200
  }] } });
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay9zcmMvbGliL3Rhc2stbGlzdC90YXNrLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrL3NyYy9saWIvdGFzay1saXN0L3Rhc2stbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQWEsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR2pGLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQU8sUUFBUSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBSXpDLE9BQU8sRUFBQyxhQUFhLEVBQWUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQUdqRCxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFRckQsTUFBTSxPQUFPLGlCQUFpQjtJQWtCNUIsWUFDVSxXQUF3QixFQUN4QixNQUFjLEVBQ2QsTUFBaUIsRUFDakIsZ0JBQWtDO1FBSGxDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFwQnJDLFVBQUssR0FBRztZQUNiLElBQUksRUFBRSxJQUFJLFFBQVEsRUFBRTtZQUNwQixJQUFJLEVBQUUsSUFBSSxRQUFRLEVBQUU7WUFDcEIsR0FBRyxFQUFFLElBQUksUUFBUSxFQUFFO1NBQ3BCLENBQUM7UUFDSyxvQkFBZSxHQUFHLE1BQU0sQ0FBQztRQUN6QixjQUFTLEdBQWtCLElBQUks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QUN2QzthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxtQkFBbUIsSUFBSSxJQUFJLENBQUM7SUFDM0YsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUFvQjtRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQWU7UUFDM0IsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0MsQ0FBQzs7OEdBMUxVLGlCQUFpQjtrR0FBakIsaUJBQWlCLG1LQ25DOUIsNjJFQTBEQTsyRkR2QmEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLG1CQUFtQixpQkFHZCxpQkFBaUIsQ0FBQyxJQUFJOzhLQUdaLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1Rhc2tTZXJ2aWNlfSBmcm9tICcuLi90YXNrLnNlcnZpY2UnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtUYXNrLCBUYXNrTGlzdH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7TkdYTG9nZ2VyfSBmcm9tICduZ3gtbG9nZ2VyJztcbmltcG9ydCB7VGFza0RldGFpbE1vZGFsQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLWRldGFpbC1tb2RhbC90YXNrLWRldGFpbC1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7U29ydFN0YXRlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5tb21lbnQubG9jYWxlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5nS2V5JykgfHwgJycpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXRhc2stbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YXNrLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YXNrLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFza0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCd0YXNrRGV0YWlsJykgdGFza0RldGFpbDogVGFza0RldGFpbE1vZGFsQ29tcG9uZW50O1xuICBwdWJsaWMgdGFza3MgPSB7XG4gICAgbWluZTogbmV3IFRhc2tMaXN0KCksXG4gICAgb3BlbjogbmV3IFRhc2tMaXN0KCksXG4gICAgYWxsOiBuZXcgVGFza0xpc3QoKSxcbiAgfTtcbiAgcHVibGljIGN1cnJlbnRUYXNrVHlwZSA9ICdtaW5lJztcbiAgcHVibGljIGxpc3RUaXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyBsaXN0RGVzY3JpcHRpb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgc29ydFN0YXRlOiBTb3J0U3RhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyBwYWdpbmF0aW9uQ2xpY2tlZChwYWdlOiBudW1iZXIsIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMudGFza3NbdHlwZV0ucGFnZSA9IHBhZ2UgLSAxO1xuICAgIHRoaXMuZ2V0VGFza3ModHlwZSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRhc2tTZXJ2aWNlOiBUYXNrU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgbG9nZ2VyOiBOR1hMb2dnZXIsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2V0RGVmYXVsdFNvcnRpbmcoKTtcbiAgfVxuXG4gIHBhZ2luYXRpb25TZXQoKSB7XG4gICAgdGhpcy50YXNrcy5taW5lLnBhZ2luYXRpb24uc2l6ZSA9XG4gICAgICB0aGlzLnRhc2tzLmFsbC5wYWdpbmF0aW9uLnNpemUgPVxuICAgICAgdGhpcy50YXNrcy5vcGVuLnBhZ2luYXRpb24uc2l6ZSA9XG4gICAgICAgIHRoaXMudGFza3NbdGhpcy5jdXJyZW50VGFza1R5cGVdLnBhZ2luYXRpb24uc2l6ZTtcbiAgICB0aGlzLmdldFRhc2tzKHRoaXMuY3VycmVudFRhc2tUeXBlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJQYWdpbmF0aW9uKHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMudGFza3NbdHlwZV0ucGFnZSA9IDA7XG4gIH1cblxuICB0YWJDaGFuZ2UodGFiKSB7XG4gICAgdGhpcy5jbGVhclBhZ2luYXRpb24odGhpcy5jdXJyZW50VGFza1R5cGUpO1xuXG4gICAgc3dpdGNoICh0YWIubmV4dElkKSB7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIHRoaXMuZ2V0VGFza3MoJ21pbmUnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHRoaXMuZ2V0VGFza3MoJ29wZW4nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIHRoaXMuZ2V0VGFza3MoJ2FsbCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMubG9nZ2VyLmZhdGFsKCdVbnJlYWNoYWJsZSBjYXNlJyk7XG4gICAgfVxuICB9XG5cbiAgc2hvd1Rhc2sodGFzaykge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsndGFza3MnLCB0YXNrLmlkXSk7XG4gIH1cblxuICBnZXRUYXNrcyh0eXBlOiBzdHJpbmcpIHtcbiAgICBsZXQgcGFyYW1zOiBhbnk7XG5cbiAgICB0aGlzLnRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKGB0YXNrLWxpc3QuJHt0eXBlfS50aXRsZWApLFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbShgdGFzay1saXN0LiR7dHlwZX0uZGVzY3JpcHRpb25gKSxcbiAgICBdKS5zdWJzY3JpYmUoKFt0aXRsZSwgZGVzY3JpcHRpb25dKSA9PiB7XG4gICAgICB0aGlzLmxpc3RUaXRsZSA9IHRpdGxlO1xuICAgICAgdGhpcy5saXN0RGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICB9KTtcblxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnbWluZSc6XG4gICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICBwYWdlOiB0aGlzLnRhc2tzLm1pbmUucGFnZSxcbiAgICAgICAgICBzaXplOiB0aGlzLnRhc2tzLm1pbmUucGFnaW5hdGlvbi5zaXplLFxuICAgICAgICAgIGZpbHRlcjogJ21pbmUnLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmN1cnJlbnRUYXNrVHlwZSA9ICdtaW5lJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvcGVuJzpcbiAgICAgICAgcGFyYW1zID0ge1xuICAgICAgICAgIHBhZ2U6IHRoaXMudGFza3Mub3Blbi5wYWdlLFxuICAgICAgICAgIHNpemU6IHRoaXMudGFza3Mub3Blbi5wYWdpbmF0aW9uLnNpemUsXG4gICAgICAgICAgZmlsdGVyOiAnb3BlbicsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY3VycmVudFRhc2tUeXBlID0gJ29wZW4nO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2FsbCc6XG4gICAgICAgIHBhcmFtcyA9IHtwYWdlOiB0aGlzLnRhc2tzLmFsbC5wYWdlLCBzaXplOiB0aGlzLnRhc2tzLm9wZW4ucGFnaW5hdGlvbi5zaXplLCBmaWx0ZXI6ICdhbGwnfTtcbiAgICAgICAgdGhpcy5jdXJyZW50VGFza1R5cGUgPSAnYWxsJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmxvZ2dlci5mYXRhbCgnVW5yZWFjaGFibGUgY2FzZScpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNvcnRTdGF0ZSkge1xuICAgICAgcGFyYW1zLnNvcnQgPSB0aGlzLmdldFNvcnRTdHJpbmcodGhpcy5zb3J0U3RhdGUpO1xuICAgIH1cblxuICAgIHRoaXMudGFza1NlcnZpY2UucXVlcnlUYXNrcyhwYXJhbXMpLnN1YnNjcmliZSgocmVzdWx0czogYW55KSA9PiB7XG4gICAgICB0aGlzLnRhc2tzW3R5cGVdLnBhZ2luYXRpb24uY29sbGVjdGlvblNpemUgPSByZXN1bHRzLmhlYWRlcnMuZ2V0KCd4LXRvdGFsLWNvdW50Jyk7XG4gICAgICB0aGlzLnRhc2tzW3R5cGVdLnRhc2tzID0gcmVzdWx0cy5ib2R5IGFzIEFycmF5PFRhc2s+O1xuICAgICAgdGhpcy50YXNrc1t0eXBlXS50YXNrcy5tYXAoKHRhc2s6IFRhc2spID0+IHtcbiAgICAgICAgdGFzay5jcmVhdGVkID0gbW9tZW50KHRhc2suY3JlYXRlZCkuZm9ybWF0KCdERCBNTU0gWVlZWSBISDptbScpO1xuICAgICAgICBpZiAodGFzay5kdWUpIHtcbiAgICAgICAgICB0YXNrLmR1ZSA9IG1vbWVudCh0YXNrLmR1ZSkuZm9ybWF0KCdERCBNTU0gWVlZWSBISDptbScpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGlmICh0aGlzLnRhc2tTZXJ2aWNlLmdldENvbmZpZ0N1c3RvbVRhc2tMaXN0KCkpIHtcbiAgICAgICAgdGhpcy5jdXN0b21UYXNrTGlzdEZpZWxkcyh0eXBlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFRhc2tMaXN0RmllbGRzKHR5cGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGRlZmF1bHRUYXNrTGlzdEZpZWxkcyh0eXBlKSB7XG4gICAgdGhpcy50cmFuc2xhdGlvblN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbShgdGFzay1saXN0LmZpZWxkTGFiZWxzLmNyZWF0ZWRgKSxcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oYHRhc2stbGlzdC5maWVsZExhYmVscy5uYW1lYCksXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKGB0YXNrLWxpc3QuZmllbGRMYWJlbHMudmFsdGltb0Fzc2lnbmVlLmZ1bGxOYW1lYCksXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKGB0YXNrLWxpc3QuZmllbGRMYWJlbHMuZHVlYCksXG4gICAgXSkuc3Vic2NyaWJlKChbY3JlYXRlZCwgbmFtZSwgYXNzaWduZWUsIGR1ZV0pID0+IHtcbiAgICAgIHRoaXMudGFza3NbdHlwZV0uZmllbGRzID0gW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiAnY3JlYXRlZCcsXG4gICAgICAgICAgbGFiZWw6IGNyZWF0ZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6ICduYW1lJyxcbiAgICAgICAgICBsYWJlbDogbmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGtleTogJ3ZhbHRpbW9Bc3NpZ25lZS5mdWxsTmFtZScsXG4gICAgICAgICAgbGFiZWw6IGFzc2lnbmVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiAnZHVlJyxcbiAgICAgICAgICBsYWJlbDogZHVlLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjdXN0b21UYXNrTGlzdEZpZWxkcyh0eXBlKSB7XG4gICAgY29uc3QgY3VzdG9tVGFza0xpc3RGaWVsZHMgPSB0aGlzLnRhc2tTZXJ2aWNlLmdldENvbmZpZ0N1c3RvbVRhc2tMaXN0KCkuZmllbGRzO1xuXG4gICAgdGhpcy50cmFuc2xhdGlvblN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoXG4gICAgICBjdXN0b21UYXNrTGlzdEZpZWxkcy5tYXAoY29sdW1uID0+XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oYHRhc2stbGlzdC5maWVsZExhYmVscy4ke2NvbHVtbi50cmFuc2xhdGlvbktleX1gKVxuICAgICAgKVxuICAgICkuc3Vic2NyaWJlKGxhYmVscyA9PiB7XG4gICAgICB0aGlzLnRhc2tzW3R5cGVdLmZpZWxkcyA9IGN1c3RvbVRhc2tMaXN0RmllbGRzLm1hcCgoY29sdW1uLCBpbmRleCkgPT4gKHtcbiAgICAgICAga2V5OiBjb2x1bW4ucHJvcGVydHlOYW1lLFxuICAgICAgICBsYWJlbDogbGFiZWxzW2luZGV4XSxcbiAgICAgICAgc29ydGFibGU6IGNvbHVtbi5zb3J0YWJsZSxcbiAgICAgICAgLi4uKGNvbHVtbi52aWV3VHlwZSAmJiB7dmlld1R5cGU6IGNvbHVtbi52aWV3VHlwZX0pLFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJvd09wZW5UYXNrQ2xpY2sodGFzaykge1xuICAgIGlmICghdGFzay5lbmRUaW1lKSB7XG4gICAgICB0aGlzLnRhc2tEZXRhaWwub3BlblRhc2tEZXRhaWxzKHRhc2spO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgc2V0RGVmYXVsdFNvcnRpbmcoKSB7XG4gICAgdGhpcy5zb3J0U3RhdGUgPSB0aGlzLnRhc2tTZXJ2aWNlLmdldENvbmZpZ0N1c3RvbVRhc2tMaXN0KCk/LmRlZmF1bHRTb3J0ZWRDb2x1bW4gfHwgbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0Q2hhbmdlZChzb3J0U3RhdGU6IFNvcnRTdGF0ZSkge1xuICAgIHRoaXMuc29ydFN0YXRlID0gc29ydFN0YXRlO1xuICAgIHRoaXMuZ2V0VGFza3ModGhpcy5jdXJyZW50VGFza1R5cGUpO1xuICB9XG5cbiAgZ2V0U29ydFN0cmluZyhzb3J0OiBTb3J0U3RhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtzb3J0LnN0YXRlLm5hbWV9LCR7c29ydC5zdGF0ZS5kaXJlY3Rpb259YDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNsYXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cbiAgICA8dmFsdGltby13aWRnZXQ+XG4gICAgICA8dmFsdGltby1saXN0XG4gICAgICAgIFtpdGVtc109XCJ0YXNrc1tjdXJyZW50VGFza1R5cGVdLnRhc2tzXCJcbiAgICAgICAgW2ZpZWxkc109XCJ0YXNrc1tjdXJyZW50VGFza1R5cGVdLmZpZWxkc1wiXG4gICAgICAgIFtwYWdpbmF0aW9uXT1cInRhc2tzW2N1cnJlbnRUYXNrVHlwZV0ucGFnaW5hdGlvblwiXG4gICAgICAgIFt2aWV3TW9kZV09XCJ0cnVlXCJcbiAgICAgICAgKHBhZ2luYXRpb25DbGlja2VkKT1cInBhZ2luYXRpb25DbGlja2VkKCRldmVudCwgY3VycmVudFRhc2tUeXBlKVwiXG4gICAgICAgIChwYWdpbmF0aW9uU2V0KT1cInBhZ2luYXRpb25TZXQoKVwiXG4gICAgICAgIHBhZ2luYXRpb25JZGVudGlmaWVyPVwidGFza0xpc3RcIlxuICAgICAgICBbaXNTZWFyY2hhYmxlXT1cInRydWVcIlxuICAgICAgICBbaGVhZGVyXT1cInRydWVcIlxuICAgICAgICAocm93Q2xpY2tlZCk9XCJyb3dPcGVuVGFza0NsaWNrKCRldmVudClcIlxuICAgICAgICAoc29ydENoYW5nZWQpPVwic29ydENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgaGVhZGVyPlxuICAgICAgICAgIDxoMyBjbGFzcz1cImxpc3QtaGVhZGVyLXRpdGxlXCI+e3sgbGlzdFRpdGxlIH19PC9oMz5cbiAgICAgICAgICA8aDUgY2xhc3M9XCJsaXN0LWhlYWRlci1kZXNjcmlwdGlvblwiPnt7IGxpc3REZXNjcmlwdGlvbiB9fTwvaDU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHRhYnM+XG4gICAgICAgICAgPHVsIG5nYk5hdiBbZGVzdHJveU9uSGlkZV09XCJmYWxzZVwiIChuYXZDaGFuZ2UpPVwidGFiQ2hhbmdlKCRldmVudClcIiBjbGFzcz1cIm5hdi10YWJzXCI+XG4gICAgICAgICAgICA8bGkgW25nYk5hdkl0ZW1dPVwiMVwiIFt0aXRsZV09XCIndGFzay1saXN0Lm1pbmUudGl0bGUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgIDxhIG5nYk5hdkxpbms+e3sgJ3Rhc2stbGlzdC5taW5lLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgW25nYk5hdkl0ZW1dPVwiMlwiIFt0aXRsZV09XCIndGFzay1saXN0Lm9wZW4udGl0bGUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgIDxhIG5nYk5hdkxpbms+e3sgJ3Rhc2stbGlzdC5vcGVuLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgW25nYk5hdkl0ZW1dPVwiM1wiIFt0aXRsZV09XCIndGFzay1saXN0LmFsbC50aXRsZScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgPGEgbmdiTmF2TGluaz57eyAndGFzay1saXN0LmFsbC50aXRsZScgfCB0cmFuc2xhdGUgfX08L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC92YWx0aW1vLWxpc3Q+XG4gICAgPC92YWx0aW1vLXdpZGdldD5cbiAgICA8dmFsdGltby10YXNrLWRldGFpbC1tb2RhbFxuICAgICAgI3Rhc2tEZXRhaWxcbiAgICAgIChmb3JtU3VibWl0KT1cImdldFRhc2tzKGN1cnJlbnRUYXNrVHlwZSlcIlxuICAgICAgKGFzc2lnbm1lbnRPZlRhc2tDaGFuZ2VkKT1cImdldFRhc2tzKGN1cnJlbnRUYXNrVHlwZSlcIlxuICAgID48L3ZhbHRpbW8tdGFzay1kZXRhaWwtbW9kYWw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay9zcmMvbGliL3Rhc2stbGlzdC90YXNrLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrL3NyYy9saWIvdGFzay1saXN0L3Rhc2stbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQWEsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR2pGLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQU8sUUFBUSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBSXpDLE9BQU8sRUFBQyxhQUFhLEVBQWUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQUdqRCxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFRckQsTUFBTSxPQUFPLGlCQUFpQjtJQWtCNUIsWUFDVSxXQUF3QixFQUN4QixNQUFjLEVBQ2QsTUFBaUIsRUFDakIsZ0JBQWtDO1FBSGxDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFwQnJDLFVBQUssR0FBRztZQUNiLElBQUksRUFBRSxJQUFJLFFBQVEsRUFBRTtZQUNwQixJQUFJLEVBQUUsSUFBSSxRQUFRLEVBQUU7WUFDcEIsR0FBRyxFQUFFLElBQUksUUFBUSxFQUFFO1NBQ3BCLENBQUM7UUFDSyxvQkFBZSxHQUFHLE1BQU0sQ0FBQztRQUN6QixjQUFTLEdBQWtCLElBQUks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QUN2QzthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxtQkFBbUIsSUFBSSxJQUFJLENBQUM7SUFDM0YsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUFvQjtRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQWU7UUFDM0IsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0MsQ0FBQzs7K0dBMUxVLGlCQUFpQjttR0FBakIsaUJBQWlCLG1LQ25DOUIsNjJFQTBEQTs0RkR2QmEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLG1CQUFtQixpQkFHZCxpQkFBaUIsQ0FBQyxJQUFJOzhLQUdaLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1Rhc2tTZXJ2aWNlfSBmcm9tICcuLi90YXNrLnNlcnZpY2UnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtUYXNrLCBUYXNrTGlzdH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7TkdYTG9nZ2VyfSBmcm9tICduZ3gtbG9nZ2VyJztcbmltcG9ydCB7VGFza0RldGFpbE1vZGFsQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLWRldGFpbC1tb2RhbC90YXNrLWRldGFpbC1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7U29ydFN0YXRlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5tb21lbnQubG9jYWxlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5nS2V5JykgfHwgJycpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXRhc2stbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YXNrLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YXNrLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFza0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCd0YXNrRGV0YWlsJykgdGFza0RldGFpbDogVGFza0RldGFpbE1vZGFsQ29tcG9uZW50O1xuICBwdWJsaWMgdGFza3MgPSB7XG4gICAgbWluZTogbmV3IFRhc2tMaXN0KCksXG4gICAgb3BlbjogbmV3IFRhc2tMaXN0KCksXG4gICAgYWxsOiBuZXcgVGFza0xpc3QoKSxcbiAgfTtcbiAgcHVibGljIGN1cnJlbnRUYXNrVHlwZSA9ICdtaW5lJztcbiAgcHVibGljIGxpc3RUaXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyBsaXN0RGVzY3JpcHRpb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgc29ydFN0YXRlOiBTb3J0U3RhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyBwYWdpbmF0aW9uQ2xpY2tlZChwYWdlOiBudW1iZXIsIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMudGFza3NbdHlwZV0ucGFnZSA9IHBhZ2UgLSAxO1xuICAgIHRoaXMuZ2V0VGFza3ModHlwZSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRhc2tTZXJ2aWNlOiBUYXNrU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgbG9nZ2VyOiBOR1hMb2dnZXIsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2V0RGVmYXVsdFNvcnRpbmcoKTtcbiAgfVxuXG4gIHBhZ2luYXRpb25TZXQoKSB7XG4gICAgdGhpcy50YXNrcy5taW5lLnBhZ2luYXRpb24uc2l6ZSA9XG4gICAgICB0aGlzLnRhc2tzLmFsbC5wYWdpbmF0aW9uLnNpemUgPVxuICAgICAgdGhpcy50YXNrcy5vcGVuLnBhZ2luYXRpb24uc2l6ZSA9XG4gICAgICAgIHRoaXMudGFza3NbdGhpcy5jdXJyZW50VGFza1R5cGVdLnBhZ2luYXRpb24uc2l6ZTtcbiAgICB0aGlzLmdldFRhc2tzKHRoaXMuY3VycmVudFRhc2tUeXBlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJQYWdpbmF0aW9uKHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMudGFza3NbdHlwZV0ucGFnZSA9IDA7XG4gIH1cblxuICB0YWJDaGFuZ2UodGFiKSB7XG4gICAgdGhpcy5jbGVhclBhZ2luYXRpb24odGhpcy5jdXJyZW50VGFza1R5cGUpO1xuXG4gICAgc3dpdGNoICh0YWIubmV4dElkKSB7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIHRoaXMuZ2V0VGFza3MoJ21pbmUnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHRoaXMuZ2V0VGFza3MoJ29wZW4nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIHRoaXMuZ2V0VGFza3MoJ2FsbCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMubG9nZ2VyLmZhdGFsKCdVbnJlYWNoYWJsZSBjYXNlJyk7XG4gICAgfVxuICB9XG5cbiAgc2hvd1Rhc2sodGFzaykge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsndGFza3MnLCB0YXNrLmlkXSk7XG4gIH1cblxuICBnZXRUYXNrcyh0eXBlOiBzdHJpbmcpIHtcbiAgICBsZXQgcGFyYW1zOiBhbnk7XG5cbiAgICB0aGlzLnRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKGB0YXNrLWxpc3QuJHt0eXBlfS50aXRsZWApLFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbShgdGFzay1saXN0LiR7dHlwZX0uZGVzY3JpcHRpb25gKSxcbiAgICBdKS5zdWJzY3JpYmUoKFt0aXRsZSwgZGVzY3JpcHRpb25dKSA9PiB7XG4gICAgICB0aGlzLmxpc3RUaXRsZSA9IHRpdGxlO1xuICAgICAgdGhpcy5saXN0RGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICB9KTtcblxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnbWluZSc6XG4gICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICBwYWdlOiB0aGlzLnRhc2tzLm1pbmUucGFnZSxcbiAgICAgICAgICBzaXplOiB0aGlzLnRhc2tzLm1pbmUucGFnaW5hdGlvbi5zaXplLFxuICAgICAgICAgIGZpbHRlcjogJ21pbmUnLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmN1cnJlbnRUYXNrVHlwZSA9ICdtaW5lJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvcGVuJzpcbiAgICAgICAgcGFyYW1zID0ge1xuICAgICAgICAgIHBhZ2U6IHRoaXMudGFza3Mub3Blbi5wYWdlLFxuICAgICAgICAgIHNpemU6IHRoaXMudGFza3Mub3Blbi5wYWdpbmF0aW9uLnNpemUsXG4gICAgICAgICAgZmlsdGVyOiAnb3BlbicsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY3VycmVudFRhc2tUeXBlID0gJ29wZW4nO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2FsbCc6XG4gICAgICAgIHBhcmFtcyA9IHtwYWdlOiB0aGlzLnRhc2tzLmFsbC5wYWdlLCBzaXplOiB0aGlzLnRhc2tzLm9wZW4ucGFnaW5hdGlvbi5zaXplLCBmaWx0ZXI6ICdhbGwnfTtcbiAgICAgICAgdGhpcy5jdXJyZW50VGFza1R5cGUgPSAnYWxsJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmxvZ2dlci5mYXRhbCgnVW5yZWFjaGFibGUgY2FzZScpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNvcnRTdGF0ZSkge1xuICAgICAgcGFyYW1zLnNvcnQgPSB0aGlzLmdldFNvcnRTdHJpbmcodGhpcy5zb3J0U3RhdGUpO1xuICAgIH1cblxuICAgIHRoaXMudGFza1NlcnZpY2UucXVlcnlUYXNrcyhwYXJhbXMpLnN1YnNjcmliZSgocmVzdWx0czogYW55KSA9PiB7XG4gICAgICB0aGlzLnRhc2tzW3R5cGVdLnBhZ2luYXRpb24uY29sbGVjdGlvblNpemUgPSByZXN1bHRzLmhlYWRlcnMuZ2V0KCd4LXRvdGFsLWNvdW50Jyk7XG4gICAgICB0aGlzLnRhc2tzW3R5cGVdLnRhc2tzID0gcmVzdWx0cy5ib2R5IGFzIEFycmF5PFRhc2s+O1xuICAgICAgdGhpcy50YXNrc1t0eXBlXS50YXNrcy5tYXAoKHRhc2s6IFRhc2spID0+IHtcbiAgICAgICAgdGFzay5jcmVhdGVkID0gbW9tZW50KHRhc2suY3JlYXRlZCkuZm9ybWF0KCdERCBNTU0gWVlZWSBISDptbScpO1xuICAgICAgICBpZiAodGFzay5kdWUpIHtcbiAgICAgICAgICB0YXNrLmR1ZSA9IG1vbWVudCh0YXNrLmR1ZSkuZm9ybWF0KCdERCBNTU0gWVlZWSBISDptbScpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGlmICh0aGlzLnRhc2tTZXJ2aWNlLmdldENvbmZpZ0N1c3RvbVRhc2tMaXN0KCkpIHtcbiAgICAgICAgdGhpcy5jdXN0b21UYXNrTGlzdEZpZWxkcyh0eXBlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFRhc2tMaXN0RmllbGRzKHR5cGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGRlZmF1bHRUYXNrTGlzdEZpZWxkcyh0eXBlKSB7XG4gICAgdGhpcy50cmFuc2xhdGlvblN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbShgdGFzay1saXN0LmZpZWxkTGFiZWxzLmNyZWF0ZWRgKSxcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oYHRhc2stbGlzdC5maWVsZExhYmVscy5uYW1lYCksXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKGB0YXNrLWxpc3QuZmllbGRMYWJlbHMudmFsdGltb0Fzc2lnbmVlLmZ1bGxOYW1lYCksXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKGB0YXNrLWxpc3QuZmllbGRMYWJlbHMuZHVlYCksXG4gICAgXSkuc3Vic2NyaWJlKChbY3JlYXRlZCwgbmFtZSwgYXNzaWduZWUsIGR1ZV0pID0+IHtcbiAgICAgIHRoaXMudGFza3NbdHlwZV0uZmllbGRzID0gW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiAnY3JlYXRlZCcsXG4gICAgICAgICAgbGFiZWw6IGNyZWF0ZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6ICduYW1lJyxcbiAgICAgICAgICBsYWJlbDogbmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGtleTogJ3ZhbHRpbW9Bc3NpZ25lZS5mdWxsTmFtZScsXG4gICAgICAgICAgbGFiZWw6IGFzc2lnbmVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiAnZHVlJyxcbiAgICAgICAgICBsYWJlbDogZHVlLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjdXN0b21UYXNrTGlzdEZpZWxkcyh0eXBlKSB7XG4gICAgY29uc3QgY3VzdG9tVGFza0xpc3RGaWVsZHMgPSB0aGlzLnRhc2tTZXJ2aWNlLmdldENvbmZpZ0N1c3RvbVRhc2tMaXN0KCkuZmllbGRzO1xuXG4gICAgdGhpcy50cmFuc2xhdGlvblN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoXG4gICAgICBjdXN0b21UYXNrTGlzdEZpZWxkcy5tYXAoY29sdW1uID0+XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oYHRhc2stbGlzdC5maWVsZExhYmVscy4ke2NvbHVtbi50cmFuc2xhdGlvbktleX1gKVxuICAgICAgKVxuICAgICkuc3Vic2NyaWJlKGxhYmVscyA9PiB7XG4gICAgICB0aGlzLnRhc2tzW3R5cGVdLmZpZWxkcyA9IGN1c3RvbVRhc2tMaXN0RmllbGRzLm1hcCgoY29sdW1uLCBpbmRleCkgPT4gKHtcbiAgICAgICAga2V5OiBjb2x1bW4ucHJvcGVydHlOYW1lLFxuICAgICAgICBsYWJlbDogbGFiZWxzW2luZGV4XSxcbiAgICAgICAgc29ydGFibGU6IGNvbHVtbi5zb3J0YWJsZSxcbiAgICAgICAgLi4uKGNvbHVtbi52aWV3VHlwZSAmJiB7dmlld1R5cGU6IGNvbHVtbi52aWV3VHlwZX0pLFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJvd09wZW5UYXNrQ2xpY2sodGFzaykge1xuICAgIGlmICghdGFzay5lbmRUaW1lKSB7XG4gICAgICB0aGlzLnRhc2tEZXRhaWwub3BlblRhc2tEZXRhaWxzKHRhc2spO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgc2V0RGVmYXVsdFNvcnRpbmcoKSB7XG4gICAgdGhpcy5zb3J0U3RhdGUgPSB0aGlzLnRhc2tTZXJ2aWNlLmdldENvbmZpZ0N1c3RvbVRhc2tMaXN0KCk/LmRlZmF1bHRTb3J0ZWRDb2x1bW4gfHwgbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0Q2hhbmdlZChzb3J0U3RhdGU6IFNvcnRTdGF0ZSkge1xuICAgIHRoaXMuc29ydFN0YXRlID0gc29ydFN0YXRlO1xuICAgIHRoaXMuZ2V0VGFza3ModGhpcy5jdXJyZW50VGFza1R5cGUpO1xuICB9XG5cbiAgZ2V0U29ydFN0cmluZyhzb3J0OiBTb3J0U3RhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtzb3J0LnN0YXRlLm5hbWV9LCR7c29ydC5zdGF0ZS5kaXJlY3Rpb259YDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNsYXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cbiAgICA8dmFsdGltby13aWRnZXQ+XG4gICAgICA8dmFsdGltby1saXN0XG4gICAgICAgIFtpdGVtc109XCJ0YXNrc1tjdXJyZW50VGFza1R5cGVdLnRhc2tzXCJcbiAgICAgICAgW2ZpZWxkc109XCJ0YXNrc1tjdXJyZW50VGFza1R5cGVdLmZpZWxkc1wiXG4gICAgICAgIFtwYWdpbmF0aW9uXT1cInRhc2tzW2N1cnJlbnRUYXNrVHlwZV0ucGFnaW5hdGlvblwiXG4gICAgICAgIFt2aWV3TW9kZV09XCJ0cnVlXCJcbiAgICAgICAgKHBhZ2luYXRpb25DbGlja2VkKT1cInBhZ2luYXRpb25DbGlja2VkKCRldmVudCwgY3VycmVudFRhc2tUeXBlKVwiXG4gICAgICAgIChwYWdpbmF0aW9uU2V0KT1cInBhZ2luYXRpb25TZXQoKVwiXG4gICAgICAgIHBhZ2luYXRpb25JZGVudGlmaWVyPVwidGFza0xpc3RcIlxuICAgICAgICBbaXNTZWFyY2hhYmxlXT1cInRydWVcIlxuICAgICAgICBbaGVhZGVyXT1cInRydWVcIlxuICAgICAgICAocm93Q2xpY2tlZCk9XCJyb3dPcGVuVGFza0NsaWNrKCRldmVudClcIlxuICAgICAgICAoc29ydENoYW5nZWQpPVwic29ydENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgaGVhZGVyPlxuICAgICAgICAgIDxoMyBjbGFzcz1cImxpc3QtaGVhZGVyLXRpdGxlXCI+e3sgbGlzdFRpdGxlIH19PC9oMz5cbiAgICAgICAgICA8aDUgY2xhc3M9XCJsaXN0LWhlYWRlci1kZXNjcmlwdGlvblwiPnt7IGxpc3REZXNjcmlwdGlvbiB9fTwvaDU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHRhYnM+XG4gICAgICAgICAgPHVsIG5nYk5hdiBbZGVzdHJveU9uSGlkZV09XCJmYWxzZVwiIChuYXZDaGFuZ2UpPVwidGFiQ2hhbmdlKCRldmVudClcIiBjbGFzcz1cIm5hdi10YWJzXCI+XG4gICAgICAgICAgICA8bGkgW25nYk5hdkl0ZW1dPVwiMVwiIFt0aXRsZV09XCIndGFzay1saXN0Lm1pbmUudGl0bGUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgIDxhIG5nYk5hdkxpbms+e3sgJ3Rhc2stbGlzdC5taW5lLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgW25nYk5hdkl0ZW1dPVwiMlwiIFt0aXRsZV09XCIndGFzay1saXN0Lm9wZW4udGl0bGUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgIDxhIG5nYk5hdkxpbms+e3sgJ3Rhc2stbGlzdC5vcGVuLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgW25nYk5hdkl0ZW1dPVwiM1wiIFt0aXRsZV09XCIndGFzay1saXN0LmFsbC50aXRsZScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgPGEgbmdiTmF2TGluaz57eyAndGFzay1saXN0LmFsbC50aXRsZScgfCB0cmFuc2xhdGUgfX08L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC92YWx0aW1vLWxpc3Q+XG4gICAgPC92YWx0aW1vLXdpZGdldD5cbiAgICA8dmFsdGltby10YXNrLWRldGFpbC1tb2RhbFxuICAgICAgI3Rhc2tEZXRhaWxcbiAgICAgIChmb3JtU3VibWl0KT1cImdldFRhc2tzKGN1cnJlbnRUYXNrVHlwZSlcIlxuICAgICAgKGFzc2lnbm1lbnRPZlRhc2tDaGFuZ2VkKT1cImdldFRhc2tzKGN1cnJlbnRUYXNrVHlwZSlcIlxuICAgID48L3ZhbHRpbW8tdGFzay1kZXRhaWwtbW9kYWw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -31,10 +31,10 @@ const routes = [
31
31
  ];
32
32
  export class TaskRoutingModule {
33
33
  }
34
- TaskRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TaskRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
35
- TaskRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TaskRoutingModule, imports: [CommonModule, i1.RouterModule], exports: [RouterModule] });
36
- TaskRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TaskRoutingModule, imports: [[CommonModule, RouterModule.forChild(routes)], RouterModule] });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TaskRoutingModule, decorators: [{
34
+ TaskRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
35
+ TaskRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskRoutingModule, imports: [CommonModule, i1.RouterModule], exports: [RouterModule] });
36
+ TaskRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskRoutingModule, imports: [[CommonModule, RouterModule.forChild(routes)], RouterModule] });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskRoutingModule, decorators: [{
38
38
  type: NgModule,
39
39
  args: [{
40
40
  declarations: [],
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
42
42
  exports: [RouterModule],
43
43
  }]
44
44
  }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay9zcmMvbGliL3Rhc2stcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7QUFFMUMsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsV0FBVyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7UUFDL0IsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBQztLQUMzQztDQUNGLENBQUM7QUFPRixNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsWUFIbEIsWUFBWSw4QkFDWixZQUFZOytHQUVYLGlCQUFpQixZQUhuQixDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzVDLFlBQVk7MkZBRVgsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdEQsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGUsIFJvdXRlc30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBdXRoR3VhcmRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5pbXBvcnQge1Rhc2tMaXN0Q29tcG9uZW50fSBmcm9tICcuL3Rhc2stbGlzdC90YXNrLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7Uk9MRV9VU0VSfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICd0YXNrcycsXG4gICAgY29tcG9uZW50OiBUYXNrTGlzdENvbXBvbmVudCxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZFNlcnZpY2VdLFxuICAgIGRhdGE6IHt0aXRsZTogJ1Rhc2tzJywgcm9sZXM6IFtST0xFX1VTRVJdfSxcbiAgfSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tSb3V0aW5nTW9kdWxlIHt9XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay9zcmMvbGliL3Rhc2stcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7QUFFMUMsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsV0FBVyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7UUFDL0IsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBQztLQUMzQztDQUNGLENBQUM7QUFPRixNQUFNLE9BQU8saUJBQWlCOzsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsWUFIbEIsWUFBWSw4QkFDWixZQUFZO2dIQUVYLGlCQUFpQixZQUhuQixDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzVDLFlBQVk7NEZBRVgsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdEQsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGUsIFJvdXRlc30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBdXRoR3VhcmRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5pbXBvcnQge1Rhc2tMaXN0Q29tcG9uZW50fSBmcm9tICcuL3Rhc2stbGlzdC90YXNrLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7Uk9MRV9VU0VSfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICd0YXNrcycsXG4gICAgY29tcG9uZW50OiBUYXNrTGlzdENvbXBvbmVudCxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZFNlcnZpY2VdLFxuICAgIGRhdGE6IHt0aXRsZTogJ1Rhc2tzJywgcm9sZXM6IFtST0xFX1VTRVJdfSxcbiAgfSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tSb3V0aW5nTW9kdWxlIHt9XG4iXX0=