@alfresco/adf-process-services 8.1.0-14701637708 → 8.1.0-14711395239
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/app-list/apps-list.component.mjs +4 -4
- package/esm2022/lib/app-list/select-apps-dialog/select-apps-dialog.component.mjs +4 -4
- package/esm2022/lib/attachment/create-process-attachment/create-process-attachment.component.mjs +4 -4
- package/esm2022/lib/attachment/create-task-attachment/create-task-attachment.component.mjs +4 -4
- package/esm2022/lib/attachment/process-attachment-list/process-attachment-list.component.mjs +4 -4
- package/esm2022/lib/attachment/task-attachment-list/task-attachment-list.component.mjs +4 -4
- package/esm2022/lib/form/form-custom-outcomes.component.mjs +4 -4
- package/esm2022/lib/form/form-list/form-list.component.mjs +4 -4
- package/esm2022/lib/form/form.component.mjs +4 -4
- package/esm2022/lib/form/process-form-rendering.service.mjs +4 -4
- package/esm2022/lib/form/services/activiti-alfresco.service.mjs +4 -4
- package/esm2022/lib/form/services/ecm-model.service.mjs +4 -4
- package/esm2022/lib/form/services/editor.service.mjs +4 -4
- package/esm2022/lib/form/services/external-alfresco-api.service.mjs +4 -4
- package/esm2022/lib/form/services/model.service.mjs +4 -4
- package/esm2022/lib/form/services/process-content.service.mjs +4 -4
- package/esm2022/lib/form/services/process-definition.service.mjs +4 -4
- package/esm2022/lib/form/services/task-form.service.mjs +4 -4
- package/esm2022/lib/form/services/task.service.mjs +4 -4
- package/esm2022/lib/form/start-form/start-form.component.mjs +4 -4
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.component.mjs +4 -4
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.service.mjs +4 -4
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget.component.mjs +4 -4
- package/esm2022/lib/form/widgets/content-widget/attach-folder-widget.component.mjs +4 -4
- package/esm2022/lib/form/widgets/document/content.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/document/document.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/dropdown/dropdown.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/dynamic-table.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/amount/amount.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/boolean/boolean.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/date/date.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/datetime/datetime.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/dropdown/dropdown.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/row-editor/row.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/text/text.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/file-viewer/file-viewer.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/functional-group/functional-group.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/people/people.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/radio-buttons/radio-buttons.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/typeahead/typeahead.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/upload/upload.widget.mjs +4 -4
- package/esm2022/lib/people/components/people/people.component.mjs +4 -4
- package/esm2022/lib/people/components/people-list/people-list.component.mjs +4 -4
- package/esm2022/lib/people/components/people-search/people-search.component.mjs +4 -4
- package/esm2022/lib/people/components/people-search-field/people-search-field.component.mjs +4 -4
- package/esm2022/lib/people/components/people-selector/people-selector.component.mjs +4 -4
- package/esm2022/lib/process-comments/process-comments.component.mjs +4 -4
- package/esm2022/lib/process-comments/services/comment-process.service.mjs +4 -4
- package/esm2022/lib/process-list/components/process-audit/process-audit.directive.mjs +4 -4
- package/esm2022/lib/process-list/components/process-filters/process-filters.component.mjs +4 -4
- package/esm2022/lib/process-list/components/process-instance-details/process-instance-details.component.mjs +4 -4
- package/esm2022/lib/process-list/components/process-instance-header/process-instance-header.component.mjs +4 -4
- package/esm2022/lib/process-list/components/process-instance-tasks/process-instance-tasks.component.mjs +4 -4
- package/esm2022/lib/process-list/components/process-list/process-list.component.mjs +4 -4
- package/esm2022/lib/process-list/components/start-process/start-process.component.mjs +5 -5
- package/esm2022/lib/process-list/services/process-filter.service.mjs +4 -4
- package/esm2022/lib/process-list/services/process.service.mjs +4 -4
- package/esm2022/lib/process.module.mjs +5 -5
- package/esm2022/lib/services/apps-process.service.mjs +4 -4
- package/esm2022/lib/services/people-process.service.mjs +4 -4
- package/esm2022/lib/services/task-comments.service.mjs +4 -4
- package/esm2022/lib/task-comments/task-comments.component.mjs +4 -4
- package/esm2022/lib/task-list/components/attach-form/attach-form.component.mjs +4 -4
- package/esm2022/lib/task-list/components/checklist/checklist.component.mjs +4 -4
- package/esm2022/lib/task-list/components/start-task/start-task.component.mjs +4 -4
- package/esm2022/lib/task-list/components/task-details/task-details.component.mjs +4 -4
- package/esm2022/lib/task-list/components/task-filters/task-filters.component.mjs +4 -4
- package/esm2022/lib/task-list/components/task-form/claim-task.directive.mjs +4 -4
- package/esm2022/lib/task-list/components/task-form/task-form.component.mjs +4 -4
- package/esm2022/lib/task-list/components/task-form/unclaim-task.directive.mjs +4 -4
- package/esm2022/lib/task-list/components/task-header/task-header.component.mjs +4 -4
- package/esm2022/lib/task-list/components/task-list/task-list.component.mjs +4 -4
- package/esm2022/lib/task-list/components/task-standalone/task-standalone.component.mjs +4 -4
- package/esm2022/lib/task-list/services/process-upload.service.mjs +4 -4
- package/esm2022/lib/task-list/services/task-filter.service.mjs +4 -4
- package/esm2022/lib/task-list/services/task-upload.service.mjs +4 -4
- package/esm2022/lib/task-list/services/tasklist.service.mjs +4 -4
- package/fesm2022/adf-process-services.mjs +237 -237
- package/fesm2022/adf-process-services.mjs.map +1 -1
- package/lib/app-list/apps-list.component.scss +51 -23
- package/lib/attachment/process-attachment-list/process-attachment-list.component.scss +2 -2
- package/lib/attachment/task-attachment-list/task-attachment-list.component.scss +3 -3
- package/lib/form/start-form/start-form.component.scss +59 -60
- package/lib/form/widgets/content-widget/attach-file-widget-dialog.component.scss +3 -4
- package/lib/form/widgets/content-widget/attach-folder-widget.component.scss +3 -3
- package/lib/form/widgets/dropdown/dropdown.widget.scss +2 -2
- package/lib/form/widgets/people/people.widget.scss +2 -2
- package/lib/form/widgets/upload/upload.widget.scss +2 -2
- package/lib/people/components/people/people.component.scss +2 -2
- package/lib/process-list/components/start-process/start-process.component.scss +12 -12
- package/lib/styles/flex.scss +81 -0
- package/lib/styles/mat-selectors.scss +25 -0
- package/lib/task-list/components/attach-form/attach-form.component.scss +2 -2
- package/lib/task-list/components/checklist/checklist.component.scss +2 -2
- package/lib/task-list/components/start-task/start-task.component.scss +11 -11
- package/lib/task-list/components/task-details/task-details.component.scss +5 -5
- package/lib/task-list/components/task-form/task-form.component.scss +3 -3
- package/lib/task-list/components/task-header/task-header.component.scss +2 -2
- package/lib/task-list/components/task-standalone/task-standalone.component.scss +2 -2
- package/package.json +4 -4
|
@@ -236,10 +236,10 @@ export class TaskFiltersComponent {
|
|
|
236
236
|
this.selectFilter(this.filterParam);
|
|
237
237
|
this.success.emit(taskFilters);
|
|
238
238
|
}
|
|
239
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
240
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
239
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TaskFiltersComponent, deps: [{ token: i1.TaskFilterService }, { token: i2.TaskListService }, { token: i3.AppsProcessService }, { token: i4.Router }, { token: i4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
240
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: TaskFiltersComponent, isStandalone: true, selector: "adf-task-filters", inputs: { filterParam: "filterParam", appId: "appId", appName: "appName", showIcon: "showIcon" }, outputs: { filterClicked: "filterClicked", filterSelected: "filterSelected", success: "success", error: "error" }, usesOnChanges: true, ngImport: i0, template: "<div *ngFor=\"let filter of filters\" class=\"adf-filters__entry\" [class.adf-active]=\"isActiveRoute(filter)\">\n <button\n (click)=\"onFilterClick(filter)\"\n [attr.aria-label]=\"filter.name | translate\"\n [id]=\"filter.id\"\n [attr.data-automation-id]=\"filter.name + '_filter'\"\n mat-button\n class=\"adf-filter-action-button adf-full-width\">\n <ng-container *ngIf=\"showIcon\">\n <adf-icon data-automation-id=\"adf-filter-icon\" [value]=\"getFilterIcon(filter.icon)\" />\n </ng-container>\n <span data-automation-id=\"adf-filter-label\" class=\"adf-filter-action-button__label\">{{ filter.name | translate }}</span>\n </button>\n</div>\n", styles: ["adf-task-filters .adf-filters__entry:has(.adf-filter-action-button){padding:0;width:100%;cursor:pointer;font-size:var(--theme-body-1-font-size);font-weight:700}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button) .adf-full-width{display:flex;width:100%}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button) .adf-filter-action-button{align-items:center;height:32px;justify-content:flex-start}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button) .adf-filter-action-button .adf-filter-action-button__label{padding-left:20px;margin:0 8px;color:var(--theme-action-button-text-color)}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button).adf-active .adf-filter-action-button__label{color:var(--adf-sidenav-active-text-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
241
241
|
}
|
|
242
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TaskFiltersComponent, decorators: [{
|
|
243
243
|
type: Component,
|
|
244
244
|
args: [{ selector: 'adf-task-filters', standalone: true, imports: [CommonModule, TranslateModule, MatButtonModule, IconComponent], encapsulation: ViewEncapsulation.None, template: "<div *ngFor=\"let filter of filters\" class=\"adf-filters__entry\" [class.adf-active]=\"isActiveRoute(filter)\">\n <button\n (click)=\"onFilterClick(filter)\"\n [attr.aria-label]=\"filter.name | translate\"\n [id]=\"filter.id\"\n [attr.data-automation-id]=\"filter.name + '_filter'\"\n mat-button\n class=\"adf-filter-action-button adf-full-width\">\n <ng-container *ngIf=\"showIcon\">\n <adf-icon data-automation-id=\"adf-filter-icon\" [value]=\"getFilterIcon(filter.icon)\" />\n </ng-container>\n <span data-automation-id=\"adf-filter-label\" class=\"adf-filter-action-button__label\">{{ filter.name | translate }}</span>\n </button>\n</div>\n", styles: ["adf-task-filters .adf-filters__entry:has(.adf-filter-action-button){padding:0;width:100%;cursor:pointer;font-size:var(--theme-body-1-font-size);font-weight:700}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button) .adf-full-width{display:flex;width:100%}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button) .adf-filter-action-button{align-items:center;height:32px;justify-content:flex-start}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button) .adf-filter-action-button .adf-filter-action-button__label{padding-left:20px;margin:0 8px;color:var(--theme-action-button-text-color)}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button).adf-active .adf-filter-action-button__label{color:var(--adf-sidenav-active-text-color)}\n"] }]
|
|
245
245
|
}], ctorParameters: () => [{ type: i1.TaskFilterService }, { type: i2.TaskListService }, { type: i3.AppsProcessService }, { type: i4.Router }, { type: i4.ActivatedRoute }], propDecorators: { filterParam: [{
|
|
@@ -259,4 +259,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
259
259
|
}], showIcon: [{
|
|
260
260
|
type: Input
|
|
261
261
|
}] } });
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1maWx0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvdGFzay1saXN0L2NvbXBvbmVudHMvdGFzay1maWx0ZXJzL3Rhc2stZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL3Rhc2stbGlzdC9jb21wb25lbnRzL3Rhc2stZmlsdGVycy90YXNrLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEosT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1B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QUFXLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0FoUlEsb0JBQW9CO21HQUFwQixvQkFBb0Isc1RDeENqQyx1dEJBY0EsbzBCRHFCYyxZQUFZLCtQQUFFLGVBQWUsMkZBQUUsZUFBZSw0TkFBRSxhQUFhOzs0RkFLOUQsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNJLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUMsaUJBR3pELGlCQUFpQixDQUFDLElBQUk7dU1BUXJDLFdBQVc7c0JBRFYsS0FBSztnQkFLTixhQUFhO3NCQURaLE1BQU07Z0JBS1AsY0FBYztzQkFEYixNQUFNO2dCQUtQLE9BQU87c0JBRE4sTUFBTTtnQkFLUCxLQUFLO3NCQURKLE1BQU07Z0JBS1AsS0FBSztzQkFESixLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEFwcHNQcm9jZXNzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcHMtcHJvY2Vzcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFza0ZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YXNrLWZpbHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhc2tMaXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rhc2tsaXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vYXBwLWxpc3QvaWNvbi5tb2RlbCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbiB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtdGFzay1maWx0ZXJzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBJY29uQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFzay1maWx0ZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YXNrLWZpbHRlcnMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tGaWx0ZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIFBhcmFtZXRlcnMgdG8gdXNlIGZvciB0aGUgdGFzayBmaWx0ZXIuIElmIHRoZXJlIGlzIG5vIG1hdGNoIHRoZW5cbiAgICAgKiB0aGUgZGVmYXVsdCBmaWx0ZXIgKHRoZSBmaXJzdCBvbmUgdGhlIGxpc3QpIGlzIHNlbGVjdGVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsdGVyUGFyYW06IFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb247XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZmlsdGVyIGlzIGJlaW5nIGNsaWNrZWQgZnJvbSB0aGUgVUkuICovXG4gICAgQE91dHB1dCgpXG4gICAgZmlsdGVyQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbj4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYSBmaWx0ZXIgaXMgYmVpbmcgc2VsZWN0ZWQgYmFzZWQgb24gdGhlIGZpbHRlclBhcmFtIGlucHV0LiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZpbHRlclNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgbGlzdCBpcyBsb2FkZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgc3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIGxvYWRpbmcuICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBEaXNwbGF5IGZpbHRlcnMgYXZhaWxhYmxlIHRvIHRoZSBjdXJyZW50IHVzZXIgZm9yIHRoZSBhcHBsaWNhdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgSUQuICovXG4gICAgQElucHV0KClcbiAgICBhcHBJZDogbnVtYmVyO1xuXG4gICAgLyoqIERpc3BsYXkgZmlsdGVycyBhdmFpbGFibGUgdG8gdGhlIGN1cnJlbnQgdXNlciBmb3IgdGhlIGFwcGxpY2F0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXBwTmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIFRvZ2dsZXMgZGlzcGxheSBvZiB0aGUgZmlsdGVyJ3MgaWNvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dJY29uOiBib29sZWFuO1xuXG4gICAgY3VycmVudEZpbHRlcjogVXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbjtcbiAgICBmaWx0ZXJzOiBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uW10gPSBbXTtcblxuICAgIGlzVGFza1JvdXRlOiBib29sZWFuO1xuICAgIGlzVGFza0FjdGl2ZTogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgaWNvbnNNREw6IEljb25Nb2RlbDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRhc2tGaWx0ZXJTZXJ2aWNlOiBUYXNrRmlsdGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0YXNrTGlzdFNlcnZpY2U6IFRhc2tMaXN0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBzUHJvY2Vzc1NlcnZpY2U6IEFwcHNQcm9jZXNzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pY29uc01ETCA9IG5ldyBJY29uTW9kZWwoKTtcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5hdmlnYXRpb25TdGFydDogTmF2aWdhdGlvblN0YXJ0KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlUm91dGUgPSBuYXZpZ2F0aW9uU3RhcnQudXJsO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNUYXNrQWN0aXZlID0gYWN0aXZlUm91dGUuaW5jbHVkZXMoJ3Rhc2tzJyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS51cmwuc3Vic2NyaWJlKChzZWdtZW50cykgPT4ge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFJvdXRlID0gc2VnbWVudHMuam9pbignLycpO1xuICAgICAgICAgICAgdGhpcy5pc1Rhc2tSb3V0ZSA9IGN1cnJlbnRSb3V0ZS5pbmNsdWRlcygndGFza3MnKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBjb25zdCBhcHBOYW1lID0gY2hhbmdlc1snYXBwTmFtZSddO1xuICAgICAgICBjb25zdCBhcHBJZCA9IGNoYW5nZXNbJ2FwcElkJ107XG4gICAgICAgIGNvbnN0IGZpbHRlclBhcmFtID0gY2hhbmdlc1snZmlsdGVyUGFyYW0nXTtcbiAgICAgICAgaWYgKGFwcE5hbWU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5nZXRGaWx0ZXJzQnlBcHBOYW1lKGFwcE5hbWUuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChhcHBJZCAmJiBhcHBJZC5jdXJyZW50VmFsdWUgIT09IGFwcElkLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0RmlsdGVyc0J5QXBwSWQoYXBwSWQuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXJQYXJhbSAmJiBmaWx0ZXJQYXJhbS5jdXJyZW50VmFsdWUgIT09IGZpbHRlclBhcmFtLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyQW5kRW1pdChmaWx0ZXJQYXJhbS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNBY3RpdmVSb3V0ZShmaWx0ZXJBY3RpdmU6IFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb24pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmlzVGFza0FjdGl2ZSB8fCB0aGlzLmlzVGFza1JvdXRlKSAmJiB0aGlzLmN1cnJlbnRGaWx0ZXIgPT09IGZpbHRlckFjdGl2ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdGhlIGZpbHRlciBsaXN0IGZpbHRlcmVkIGJ5IGFwcElkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwSWQgLSBvcHRpb25hbFxuICAgICAqL1xuICAgIGdldEZpbHRlcnNCeUFwcElkKGFwcElkPzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudGFza0ZpbHRlclNlcnZpY2UuZ2V0VGFza0xpc3RGaWx0ZXJzKGFwcElkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlcy5sZW5ndGggPT09IDAgJiYgdGhpcy5pc0ZpbHRlckxpc3RFbXB0eSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlRmlsdGVyc0J5QXBwSWQoYXBwSWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pZ3JhdGVkRmlsdGVycyA9IHRoaXMubWlncmF0ZU9ic29sZXRlRmlsdGVycyhyZXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobWlncmF0ZWRGaWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmtKb2luKG1pZ3JhdGVkRmlsdGVycykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFRhc2tGaWx0ZXJzKHJlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VGFza0ZpbHRlcnMocmVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdGhlIGZpbHRlciBsaXN0IGZpbHRlcmVkIGJ5IGFwcE5hbWVcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIGFwcGxpY2F0aW9uIG5hbWVcbiAgICAgKi9cbiAgICBnZXRGaWx0ZXJzQnlBcHBOYW1lKGFwcE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmFwcHNQcm9jZXNzU2VydmljZS5nZXREZXBsb3llZEFwcGxpY2F0aW9uc0J5TmFtZShhcHBOYW1lKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoYXBwbGljYXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEZpbHRlcnNCeUFwcElkKGFwcGxpY2F0aW9uLmlkKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGRlZmF1bHQgZmlsdGVycyBieSBhcHBJZFxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcElkIGFwcGxpY2F0aW9uIGlkXG4gICAgICovXG4gICAgcHJpdmF0ZSBjcmVhdGVGaWx0ZXJzQnlBcHBJZChhcHBJZD86IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnRhc2tGaWx0ZXJTZXJ2aWNlLmNyZWF0ZURlZmF1bHRGaWx0ZXJzKGFwcElkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocmVzRGVmYXVsdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VGFza0ZpbHRlcnMocmVzRGVmYXVsdCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGVyckRlZmF1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnJEZWZhdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzIHRoZSBzZWxlY3RlZCBmaWx0ZXIgYXMgbmV4dFxuICAgICAqXG4gICAgICogQHBhcmFtIG5ld0ZpbHRlciBuZXcgZmlsdGVyIG1vZGVsXG4gICAgICovXG4gICAgcHVibGljIHNlbGVjdEZpbHRlcihuZXdGaWx0ZXI6IFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKG5ld0ZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyID0gdGhpcy5maWx0ZXJzLmZpbmQoXG4gICAgICAgICAgICAgICAgKGVudHJ5LCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgbmV3RmlsdGVyLmluZGV4ID09PSBpbmRleCB8fFxuICAgICAgICAgICAgICAgICAgICBuZXdGaWx0ZXIuaWQgPT09IGVudHJ5LmlkIHx8XG4gICAgICAgICAgICAgICAgICAgIChuZXdGaWx0ZXIubmFtZSAmJiBuZXdGaWx0ZXIubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBlbnRyeS5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RGaWx0ZXJBbmRFbWl0KG5ld0ZpbHRlcjogVXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbikge1xuICAgICAgICB0aGlzLnNlbGVjdEZpbHRlcihuZXdGaWx0ZXIpO1xuICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkLmVtaXQodGhpcy5jdXJyZW50RmlsdGVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3RzIGFuZCBlbWl0cyB0aGUgY2xpY2tlZCBmaWx0ZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsdGVyUGFyYW1zIGZpbHRlciBwYXJhbWV0ZXJzIG1vZGVsXG4gICAgICovXG4gICAgb25GaWx0ZXJDbGljayhmaWx0ZXJQYXJhbXM6IFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb24pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIoZmlsdGVyUGFyYW1zKTtcbiAgICAgICAgdGhpcy5maWx0ZXJDbGlja2VkLmVtaXQodGhpcy5jdXJyZW50RmlsdGVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgZmlsdGVyIHdpdGggdGFza1xuICAgICAqXG4gICAgICogQHBhcmFtIHRhc2tJZCB0YXNrIGlkXG4gICAgICovXG4gICAgc2VsZWN0RmlsdGVyV2l0aFRhc2sodGFza0lkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRGaWx0ZXJMaXN0OiBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uW10gPSBbXTtcbiAgICAgICAgdGhpcy50YXNrTGlzdFNlcnZpY2UuZ2V0RmlsdGVyRm9yVGFza0J5SWQodGFza0lkLCB0aGlzLmZpbHRlcnMpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChmaWx0ZXJNb2RlbCkgPT4ge1xuICAgICAgICAgICAgICAgIGZpbHRlcmVkRmlsdGVyTGlzdC5wdXNoKGZpbHRlck1vZGVsKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJlZEZpbHRlckxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEZpbHRlcihmaWx0ZXJlZEZpbHRlckxpc3RbMF0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkLmVtaXQodGhpcy5jdXJyZW50RmlsdGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBjdXJyZW50IGZpbHRlclxuICAgICAqXG4gICAgICogQHJldHVybnMgZmlsdGVyIG1vZGVsXG4gICAgICovXG4gICAgZ2V0Q3VycmVudEZpbHRlcigpOiBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudEZpbHRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgZmlsdGVyIGxpc3QgaXMgZW1wdHlcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiBmaWx0ZXIgbGlzdCBpcyBlbXB0eSwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc0ZpbHRlckxpc3RFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVycyA9PT0gdW5kZWZpbmVkIHx8ICh0aGlzLmZpbHRlcnMgJiYgdGhpcy5maWx0ZXJzLmxlbmd0aCA9PT0gMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBtYXRlcmlhbCBpY29ucyBlcXVpdmFsZW50IG9mIHRoZSBnbHlwaGljb24gaWNvblxuICAgICAqXG4gICAgICogQHBhcmFtIGljb24gZ2x5cGhpY29uIG5hbWVcbiAgICAgKiBAcmV0dXJucyBtYXRlcmlhbCBpY29ucyBlcXVpdmFsZW50IG9mIHRoZSBpY29uXG4gICAgICovXG4gICAgZ2V0RmlsdGVySWNvbihpY29uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uc01ETC5tYXBHbHlwaGljb25Ub01hdGVyaWFsRGVzaWduSWNvbnMoaWNvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVzZXQgdGhlIGZpbHRlcnMgcHJvcGVydGllc1xuICAgICAqL1xuICAgIHByaXZhdGUgcmVzZXRGaWx0ZXIoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVycyA9IFtdO1xuICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWlncmF0ZSBcIkludm9sdmVkXCIgYW5kIFwiUXVldWVkXCIgZmlsdGVycyB0byBcIk92ZXJkdWVcIiBhbmQgXCJVbmFzc2lnbmVkXCIgZmlsdGVyc1xuICAgICAqXG4gICAgICogQHBhcmFtIGZpbHRlcnMgLSBsaXN0IG9mIGZpbHRlcnMgdG8gbWlncmF0ZVxuICAgICAqIEByZXR1cm5zIGxpc3Qgb2Ygb2JzZXJ2YWJsZXMgZm9yIGVhY2ggbWlncmF0ZWQgZmlsdGVyXG4gICAgICovXG4gICAgcHJpdmF0ZSBtaWdyYXRlT2Jzb2xldGVGaWx0ZXJzKGZpbHRlcnM6IFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb25bXSk6IE9ic2VydmFibGU8VXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbj5bXSB7XG4gICAgICAgIGNvbnN0IG1pZ3JhdGVkRmlsdGVyczogT2JzZXJ2YWJsZTxVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uPltdID0gW107XG4gICAgICAgIGZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyVG9NaWdyYXRlKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGZpbHRlclRvTWlncmF0ZS5uYW1lKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnSW52b2x2ZWQgVGFza3MnOlxuICAgICAgICAgICAgICAgICAgICBtaWdyYXRlZEZpbHRlcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFza0ZpbHRlclNlcnZpY2UudXBkYXRlVGFza0ZpbHRlcihmaWx0ZXJUb01pZ3JhdGUuaWQsIHRoaXMudGFza0ZpbHRlclNlcnZpY2UuZ2V0T3ZlcmR1ZVRhc2tzRmlsdGVySW5zdGFuY2UodGhpcy5hcHBJZCkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ1F1ZXVlZCBUYXNrcyc6XG4gICAgICAgICAgICAgICAgICAgIG1pZ3JhdGVkRmlsdGVycy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YXNrRmlsdGVyU2VydmljZS51cGRhdGVUYXNrRmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclRvTWlncmF0ZS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhc2tGaWx0ZXJTZXJ2aWNlLmdldFVuYXNzaWduZWRUYXNrc0ZpbHRlckluc3RhbmNlKHRoaXMuYXBwSWQpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG1pZ3JhdGVkRmlsdGVycztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFRhc2tGaWx0ZXJzKHRhc2tGaWx0ZXJzOiBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNldEZpbHRlcigpO1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSB0YXNrRmlsdGVycztcbiAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIodGhpcy5maWx0ZXJQYXJhbSk7XG4gICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRhc2tGaWx0ZXJzKTtcbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgZmlsdGVyc1wiIGNsYXNzPVwiYWRmLWZpbHRlcnNfX2VudHJ5XCIgW2NsYXNzLmFkZi1hY3RpdmVdPVwiaXNBY3RpdmVSb3V0ZShmaWx0ZXIpXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwib25GaWx0ZXJDbGljayhmaWx0ZXIpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJmaWx0ZXIubmFtZSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtpZF09XCJmaWx0ZXIuaWRcIlxuICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiZmlsdGVyLm5hbWUgKyAnX2ZpbHRlcidcIlxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYWRmLWZpbHRlci1hY3Rpb24tYnV0dG9uIGFkZi1mdWxsLXdpZHRoXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SWNvblwiPlxuICAgICAgICAgICAgPGFkZi1pY29uIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1maWx0ZXItaWNvblwiIFt2YWx1ZV09XCJnZXRGaWx0ZXJJY29uKGZpbHRlci5pY29uKVwiIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8c3BhbiBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtZmlsdGVyLWxhYmVsXCIgY2xhc3M9XCJhZGYtZmlsdGVyLWFjdGlvbi1idXR0b25fX2xhYmVsXCI+e3sgZmlsdGVyLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
262
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1maWx0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvdGFzay1saXN0L2NvbXBvbmVudHMvdGFzay1maWx0ZXJzL3Rhc2stZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL3Rhc2stbGlzdC9jb21wb25lbnRzL3Rhc2stZmlsdGVycy90YXNrLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEosT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1B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QUFXLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs4R0FoUlEsb0JBQW9CO2tHQUFwQixvQkFBb0Isc1RDeENqQyx1dEJBY0EsbzBCRHFCYyxZQUFZLCtQQUFFLGVBQWUsMkZBQUUsZUFBZSw0TkFBRSxhQUFhOzsyRkFLOUQsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNJLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUMsaUJBR3pELGlCQUFpQixDQUFDLElBQUk7dU1BUXJDLFdBQVc7c0JBRFYsS0FBSztnQkFLTixhQUFhO3NCQURaLE1BQU07Z0JBS1AsY0FBYztzQkFEYixNQUFNO2dCQUtQLE9BQU87c0JBRE4sTUFBTTtnQkFLUCxLQUFLO3NCQURKLE1BQU07Z0JBS1AsS0FBSztzQkFESixLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEFwcHNQcm9jZXNzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcHMtcHJvY2Vzcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFza0ZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YXNrLWZpbHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhc2tMaXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rhc2tsaXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vYXBwLWxpc3QvaWNvbi5tb2RlbCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbiB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtdGFzay1maWx0ZXJzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBJY29uQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFzay1maWx0ZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YXNrLWZpbHRlcnMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tGaWx0ZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIFBhcmFtZXRlcnMgdG8gdXNlIGZvciB0aGUgdGFzayBmaWx0ZXIuIElmIHRoZXJlIGlzIG5vIG1hdGNoIHRoZW5cbiAgICAgKiB0aGUgZGVmYXVsdCBmaWx0ZXIgKHRoZSBmaXJzdCBvbmUgdGhlIGxpc3QpIGlzIHNlbGVjdGVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsdGVyUGFyYW06IFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb247XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZmlsdGVyIGlzIGJlaW5nIGNsaWNrZWQgZnJvbSB0aGUgVUkuICovXG4gICAgQE91dHB1dCgpXG4gICAgZmlsdGVyQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbj4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYSBmaWx0ZXIgaXMgYmVpbmcgc2VsZWN0ZWQgYmFzZWQgb24gdGhlIGZpbHRlclBhcmFtIGlucHV0LiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZpbHRlclNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgbGlzdCBpcyBsb2FkZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgc3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIGxvYWRpbmcuICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBEaXNwbGF5IGZpbHRlcnMgYXZhaWxhYmxlIHRvIHRoZSBjdXJyZW50IHVzZXIgZm9yIHRoZSBhcHBsaWNhdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgSUQuICovXG4gICAgQElucHV0KClcbiAgICBhcHBJZDogbnVtYmVyO1xuXG4gICAgLyoqIERpc3BsYXkgZmlsdGVycyBhdmFpbGFibGUgdG8gdGhlIGN1cnJlbnQgdXNlciBmb3IgdGhlIGFwcGxpY2F0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXBwTmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIFRvZ2dsZXMgZGlzcGxheSBvZiB0aGUgZmlsdGVyJ3MgaWNvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dJY29uOiBib29sZWFuO1xuXG4gICAgY3VycmVudEZpbHRlcjogVXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbjtcbiAgICBmaWx0ZXJzOiBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uW10gPSBbXTtcblxuICAgIGlzVGFza1JvdXRlOiBib29sZWFuO1xuICAgIGlzVGFza0FjdGl2ZTogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgaWNvbnNNREw6IEljb25Nb2RlbDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRhc2tGaWx0ZXJTZXJ2aWNlOiBUYXNrRmlsdGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0YXNrTGlzdFNlcnZpY2U6IFRhc2tMaXN0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBzUHJvY2Vzc1NlcnZpY2U6IEFwcHNQcm9jZXNzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pY29uc01ETCA9IG5ldyBJY29uTW9kZWwoKTtcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5hdmlnYXRpb25TdGFydDogTmF2aWdhdGlvblN0YXJ0KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlUm91dGUgPSBuYXZpZ2F0aW9uU3RhcnQudXJsO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNUYXNrQWN0aXZlID0gYWN0aXZlUm91dGUuaW5jbHVkZXMoJ3Rhc2tzJyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS51cmwuc3Vic2NyaWJlKChzZWdtZW50cykgPT4ge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFJvdXRlID0gc2VnbWVudHMuam9pbignLycpO1xuICAgICAgICAgICAgdGhpcy5pc1Rhc2tSb3V0ZSA9IGN1cnJlbnRSb3V0ZS5pbmNsdWRlcygndGFza3MnKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBjb25zdCBhcHBOYW1lID0gY2hhbmdlc1snYXBwTmFtZSddO1xuICAgICAgICBjb25zdCBhcHBJZCA9IGNoYW5nZXNbJ2FwcElkJ107XG4gICAgICAgIGNvbnN0IGZpbHRlclBhcmFtID0gY2hhbmdlc1snZmlsdGVyUGFyYW0nXTtcbiAgICAgICAgaWYgKGFwcE5hbWU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5nZXRGaWx0ZXJzQnlBcHBOYW1lKGFwcE5hbWUuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChhcHBJZCAmJiBhcHBJZC5jdXJyZW50VmFsdWUgIT09IGFwcElkLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0RmlsdGVyc0J5QXBwSWQoYXBwSWQuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXJQYXJhbSAmJiBmaWx0ZXJQYXJhbS5jdXJyZW50VmFsdWUgIT09IGZpbHRlclBhcmFtLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyQW5kRW1pdChmaWx0ZXJQYXJhbS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNBY3RpdmVSb3V0ZShmaWx0ZXJBY3RpdmU6IFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb24pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmlzVGFza0FjdGl2ZSB8fCB0aGlzLmlzVGFza1JvdXRlKSAmJiB0aGlzLmN1cnJlbnRGaWx0ZXIgPT09IGZpbHRlckFjdGl2ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdGhlIGZpbHRlciBsaXN0IGZpbHRlcmVkIGJ5IGFwcElkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwSWQgLSBvcHRpb25hbFxuICAgICAqL1xuICAgIGdldEZpbHRlcnNCeUFwcElkKGFwcElkPzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudGFza0ZpbHRlclNlcnZpY2UuZ2V0VGFza0xpc3RGaWx0ZXJzKGFwcElkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlcy5sZW5ndGggPT09IDAgJiYgdGhpcy5pc0ZpbHRlckxpc3RFbXB0eSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlRmlsdGVyc0J5QXBwSWQoYXBwSWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pZ3JhdGVkRmlsdGVycyA9IHRoaXMubWlncmF0ZU9ic29sZXRlRmlsdGVycyhyZXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobWlncmF0ZWRGaWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmtKb2luKG1pZ3JhdGVkRmlsdGVycykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFRhc2tGaWx0ZXJzKHJlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VGFza0ZpbHRlcnMocmVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdGhlIGZpbHRlciBsaXN0IGZpbHRlcmVkIGJ5IGFwcE5hbWVcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIGFwcGxpY2F0aW9uIG5hbWVcbiAgICAgKi9cbiAgICBnZXRGaWx0ZXJzQnlBcHBOYW1lKGFwcE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmFwcHNQcm9jZXNzU2VydmljZS5nZXREZXBsb3llZEFwcGxpY2F0aW9uc0J5TmFtZShhcHBOYW1lKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoYXBwbGljYXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEZpbHRlcnNCeUFwcElkKGFwcGxpY2F0aW9uLmlkKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGRlZmF1bHQgZmlsdGVycyBieSBhcHBJZFxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcElkIGFwcGxpY2F0aW9uIGlkXG4gICAgICovXG4gICAgcHJpdmF0ZSBjcmVhdGVGaWx0ZXJzQnlBcHBJZChhcHBJZD86IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnRhc2tGaWx0ZXJTZXJ2aWNlLmNyZWF0ZURlZmF1bHRGaWx0ZXJzKGFwcElkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocmVzRGVmYXVsdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VGFza0ZpbHRlcnMocmVzRGVmYXVsdCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGVyckRlZmF1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnJEZWZhdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzIHRoZSBzZWxlY3RlZCBmaWx0ZXIgYXMgbmV4dFxuICAgICAqXG4gICAgICogQHBhcmFtIG5ld0ZpbHRlciBuZXcgZmlsdGVyIG1vZGVsXG4gICAgICovXG4gICAgcHVibGljIHNlbGVjdEZpbHRlcihuZXdGaWx0ZXI6IFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKG5ld0ZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyID0gdGhpcy5maWx0ZXJzLmZpbmQoXG4gICAgICAgICAgICAgICAgKGVudHJ5LCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgbmV3RmlsdGVyLmluZGV4ID09PSBpbmRleCB8fFxuICAgICAgICAgICAgICAgICAgICBuZXdGaWx0ZXIuaWQgPT09IGVudHJ5LmlkIHx8XG4gICAgICAgICAgICAgICAgICAgIChuZXdGaWx0ZXIubmFtZSAmJiBuZXdGaWx0ZXIubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBlbnRyeS5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RGaWx0ZXJBbmRFbWl0KG5ld0ZpbHRlcjogVXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbikge1xuICAgICAgICB0aGlzLnNlbGVjdEZpbHRlcihuZXdGaWx0ZXIpO1xuICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkLmVtaXQodGhpcy5jdXJyZW50RmlsdGVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3RzIGFuZCBlbWl0cyB0aGUgY2xpY2tlZCBmaWx0ZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsdGVyUGFyYW1zIGZpbHRlciBwYXJhbWV0ZXJzIG1vZGVsXG4gICAgICovXG4gICAgb25GaWx0ZXJDbGljayhmaWx0ZXJQYXJhbXM6IFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb24pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIoZmlsdGVyUGFyYW1zKTtcbiAgICAgICAgdGhpcy5maWx0ZXJDbGlja2VkLmVtaXQodGhpcy5jdXJyZW50RmlsdGVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgZmlsdGVyIHdpdGggdGFza1xuICAgICAqXG4gICAgICogQHBhcmFtIHRhc2tJZCB0YXNrIGlkXG4gICAgICovXG4gICAgc2VsZWN0RmlsdGVyV2l0aFRhc2sodGFza0lkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRGaWx0ZXJMaXN0OiBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uW10gPSBbXTtcbiAgICAgICAgdGhpcy50YXNrTGlzdFNlcnZpY2UuZ2V0RmlsdGVyRm9yVGFza0J5SWQodGFza0lkLCB0aGlzLmZpbHRlcnMpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChmaWx0ZXJNb2RlbCkgPT4ge1xuICAgICAgICAgICAgICAgIGZpbHRlcmVkRmlsdGVyTGlzdC5wdXNoKGZpbHRlck1vZGVsKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJlZEZpbHRlckxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEZpbHRlcihmaWx0ZXJlZEZpbHRlckxpc3RbMF0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkLmVtaXQodGhpcy5jdXJyZW50RmlsdGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBjdXJyZW50IGZpbHRlclxuICAgICAqXG4gICAgICogQHJldHVybnMgZmlsdGVyIG1vZGVsXG4gICAgICovXG4gICAgZ2V0Q3VycmVudEZpbHRlcigpOiBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudEZpbHRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgZmlsdGVyIGxpc3QgaXMgZW1wdHlcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiBmaWx0ZXIgbGlzdCBpcyBlbXB0eSwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc0ZpbHRlckxpc3RFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVycyA9PT0gdW5kZWZpbmVkIHx8ICh0aGlzLmZpbHRlcnMgJiYgdGhpcy5maWx0ZXJzLmxlbmd0aCA9PT0gMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBtYXRlcmlhbCBpY29ucyBlcXVpdmFsZW50IG9mIHRoZSBnbHlwaGljb24gaWNvblxuICAgICAqXG4gICAgICogQHBhcmFtIGljb24gZ2x5cGhpY29uIG5hbWVcbiAgICAgKiBAcmV0dXJucyBtYXRlcmlhbCBpY29ucyBlcXVpdmFsZW50IG9mIHRoZSBpY29uXG4gICAgICovXG4gICAgZ2V0RmlsdGVySWNvbihpY29uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uc01ETC5tYXBHbHlwaGljb25Ub01hdGVyaWFsRGVzaWduSWNvbnMoaWNvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVzZXQgdGhlIGZpbHRlcnMgcHJvcGVydGllc1xuICAgICAqL1xuICAgIHByaXZhdGUgcmVzZXRGaWx0ZXIoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVycyA9IFtdO1xuICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWlncmF0ZSBcIkludm9sdmVkXCIgYW5kIFwiUXVldWVkXCIgZmlsdGVycyB0byBcIk92ZXJkdWVcIiBhbmQgXCJVbmFzc2lnbmVkXCIgZmlsdGVyc1xuICAgICAqXG4gICAgICogQHBhcmFtIGZpbHRlcnMgLSBsaXN0IG9mIGZpbHRlcnMgdG8gbWlncmF0ZVxuICAgICAqIEByZXR1cm5zIGxpc3Qgb2Ygb2JzZXJ2YWJsZXMgZm9yIGVhY2ggbWlncmF0ZWQgZmlsdGVyXG4gICAgICovXG4gICAgcHJpdmF0ZSBtaWdyYXRlT2Jzb2xldGVGaWx0ZXJzKGZpbHRlcnM6IFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb25bXSk6IE9ic2VydmFibGU8VXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbj5bXSB7XG4gICAgICAgIGNvbnN0IG1pZ3JhdGVkRmlsdGVyczogT2JzZXJ2YWJsZTxVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uPltdID0gW107XG4gICAgICAgIGZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyVG9NaWdyYXRlKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGZpbHRlclRvTWlncmF0ZS5uYW1lKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnSW52b2x2ZWQgVGFza3MnOlxuICAgICAgICAgICAgICAgICAgICBtaWdyYXRlZEZpbHRlcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFza0ZpbHRlclNlcnZpY2UudXBkYXRlVGFza0ZpbHRlcihmaWx0ZXJUb01pZ3JhdGUuaWQsIHRoaXMudGFza0ZpbHRlclNlcnZpY2UuZ2V0T3ZlcmR1ZVRhc2tzRmlsdGVySW5zdGFuY2UodGhpcy5hcHBJZCkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ1F1ZXVlZCBUYXNrcyc6XG4gICAgICAgICAgICAgICAgICAgIG1pZ3JhdGVkRmlsdGVycy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YXNrRmlsdGVyU2VydmljZS51cGRhdGVUYXNrRmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclRvTWlncmF0ZS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhc2tGaWx0ZXJTZXJ2aWNlLmdldFVuYXNzaWduZWRUYXNrc0ZpbHRlckluc3RhbmNlKHRoaXMuYXBwSWQpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG1pZ3JhdGVkRmlsdGVycztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFRhc2tGaWx0ZXJzKHRhc2tGaWx0ZXJzOiBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNldEZpbHRlcigpO1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSB0YXNrRmlsdGVycztcbiAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIodGhpcy5maWx0ZXJQYXJhbSk7XG4gICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRhc2tGaWx0ZXJzKTtcbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgZmlsdGVyc1wiIGNsYXNzPVwiYWRmLWZpbHRlcnNfX2VudHJ5XCIgW2NsYXNzLmFkZi1hY3RpdmVdPVwiaXNBY3RpdmVSb3V0ZShmaWx0ZXIpXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwib25GaWx0ZXJDbGljayhmaWx0ZXIpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJmaWx0ZXIubmFtZSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtpZF09XCJmaWx0ZXIuaWRcIlxuICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiZmlsdGVyLm5hbWUgKyAnX2ZpbHRlcidcIlxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYWRmLWZpbHRlci1hY3Rpb24tYnV0dG9uIGFkZi1mdWxsLXdpZHRoXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SWNvblwiPlxuICAgICAgICAgICAgPGFkZi1pY29uIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1maWx0ZXItaWNvblwiIFt2YWx1ZV09XCJnZXRGaWx0ZXJJY29uKGZpbHRlci5pY29uKVwiIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8c3BhbiBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtZmlsdGVyLWxhYmVsXCIgY2xhc3M9XCJhZGYtZmlsdGVyLWFjdGlvbi1idXR0b25fX2xhYmVsXCI+e3sgZmlsdGVyLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -54,10 +54,10 @@ export class ClaimTaskDirective {
|
|
|
54
54
|
this.success.emit(this.taskId);
|
|
55
55
|
}, (error) => this.error.emit(error));
|
|
56
56
|
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
58
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ClaimTaskDirective, deps: [{ token: i1.TaskListService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
58
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: ClaimTaskDirective, isStandalone: true, selector: "[adf-claim-task]", inputs: { taskId: "taskId" }, outputs: { success: "success", error: "error" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
|
|
59
59
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ClaimTaskDirective, decorators: [{
|
|
61
61
|
type: Directive,
|
|
62
62
|
args: [{
|
|
63
63
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
74
74
|
type: HostListener,
|
|
75
75
|
args: ['click']
|
|
76
76
|
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhaW0tdGFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL3Rhc2stbGlzdC9jb21wb25lbnRzL3Rhc2stZm9ybS9jbGFpbS10YXNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQU9sRSxNQUFNLE9BQU8sa0JBQWtCO0lBZTNCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVZwRCx3Q0FBd0M7UUFFeEMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbEMsK0NBQStDO1FBRS9DLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWhDLGtCQUFhLEdBQWEsRUFBRSxDQUFDO0lBRTBCLENBQUM7SUFHeEQsT0FBTztRQUNILElBQUksQ0FBQztZQUNELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUUsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sU0FBUztRQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQ2pELEdBQUcsRUFBRTtZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUNwQyxDQUFDO0lBQ04sQ0FBQzs4R0FuRFEsa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7b0ZBSUcsTUFBTTtzQkFETCxLQUFLO2dCQUtOLE9BQU87c0JBRE4sTUFBTTtnQkFLUCxLQUFLO3NCQURKLE1BQU07Z0JBUVAsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFza0xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFza2xpc3Quc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbYWRmLWNsYWltLXRhc2tdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIENsYWltVGFza0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqIChSZXF1aXJlZCkgVGhlIGlkIG9mIHRoZSB0YXNrLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGFza0lkOiBzdHJpbmc7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0YXNrIGlzIGNsYWltZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgc3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdGFzayBjYW5ub3QgYmUgY2xhaW1lZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgaW52YWxpZFBhcmFtczogc3RyaW5nW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGFza0xpc3RTZXJ2aWNlOiBUYXNrTGlzdFNlcnZpY2UpIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuY2xhaW1UYXNrKCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVJbnB1dHMoKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZUlucHV0cygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVGFza1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW52YWxpZFBhcmFtcy5wdXNoKCd0YXNrSWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmludmFsaWRQYXJhbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEF0dHJpYnV0ZSAke3RoaXMuaW52YWxpZFBhcmFtcy5qb2luKCcsICcpfSBpcyByZXF1aXJlZGApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNUYXNrVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tJZCAmJiB0aGlzLnRhc2tJZC5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xhaW1UYXNrKCkge1xuICAgICAgICB0aGlzLnRhc2tMaXN0U2VydmljZS5jbGFpbVRhc2sodGhpcy50YXNrSWQpLnN1YnNjcmliZShcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0aGlzLnRhc2tJZCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGVycm9yKSA9PiB0aGlzLmVycm9yLmVtaXQoZXJyb3IpXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -249,10 +249,10 @@ export class TaskFormComponent {
|
|
|
249
249
|
isExternalIdEqual() {
|
|
250
250
|
return this.taskDetails.assignee && this.currentLoggedUser && this.taskDetails.assignee.externalId === this.currentLoggedUser.externalId;
|
|
251
251
|
}
|
|
252
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
253
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
252
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TaskFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
253
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: TaskFormComponent, isStandalone: true, selector: "adf-task-form", inputs: { taskId: "taskId", showFormTitle: "showFormTitle", showFormCompleteButton: "showFormCompleteButton", showFormSaveButton: "showFormSaveButton", showCancelButton: "showCancelButton", readOnlyForm: "readOnlyForm", showFormRefreshButton: "showFormRefreshButton", showFormValidationIcon: "showFormValidationIcon", fieldValidators: "fieldValidators" }, outputs: { formSaved: "formSaved", formCompleted: "formCompleted", formContentClicked: "formContentClicked", formLoaded: "formLoaded", showAttachForm: "showAttachForm", executeOutcome: "executeOutcome", completed: "completed", formError: "formError", error: "error", cancel: "cancel", taskClaimed: "taskClaimed", taskUnclaimed: "taskUnclaimed" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!loading; else loadingTemplate\">\n <adf-form *ngIf=\"hasFormKey(); else withoutForm\"\n [taskId]=\"taskDetails?.id\"\n [showTitle]=\"showFormTitle\"\n [showValidationIcon]=\"showFormValidationIcon\"\n [showRefreshButton]=\"showFormRefreshButton\"\n [showCompleteButton]=\"showFormCompleteButton\"\n [showSaveButton]=\"isSaveButtonVisible()\"\n [disableCompleteButton]=\"!isCompleteButtonEnabled()\"\n [readOnly]=\"isReadOnlyForm()\"\n [fieldValidators]=\"fieldValidators\"\n (formSaved)='onFormSaved($event)'\n (formCompleted)='onFormCompleted($event)'\n (formContentClicked)='onFormContentClick($event)'\n (formLoaded)='onFormLoaded($event)'\n (formError)='onFormError($event)'\n (error)='onError($event)'\n (executeOutcome)='onFormExecuteOutcome($event)'>\n <adf-form-custom-outcomes>\n <ng-template [ngTemplateOutlet]=\"taskFormButtons\" />\n </adf-form-custom-outcomes>\n </adf-form>\n <ng-template #withoutForm>\n <adf-task-standalone *ngIf=\"isStandaloneTask(); else emptyFormMessage\"\n [taskName]=\"taskDetails.name\"\n [taskId]=\"taskDetails.id\"\n [isCompleted]=\"isCompletedTask()\"\n [hasCompletePermission]=\"isCompleteButtonVisible()\"\n [hideCancelButton]=\"showCancelButton\"\n (complete)=\"onCompleteTask()\"\n (showAttachForm)=\"onShowAttachForm()\" />\n <ng-template #emptyFormMessage>\n <mat-card appearance=\"outlined\" class=\"adf-task-form-container\">\n <mat-card-header>\n <mat-card-title>\n <h4>\n <span class=\"adf-form-title\">\n {{taskDetails.name}}\n <ng-container *ngIf=\"!taskDetails.name\">\n {{'FORM.FORM_RENDERER.NAMELESS_TASK' | translate}}\n </ng-container>\n </span>\n </h4>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <adf-empty-content *ngIf=\"isCompletedTask(); else emptyFormTemplate\"\n [icon]=\"'description'\"\n [title]=\"getCompletedTaskTranslatedMessage() | async\"\n [subtitle]=\"'ADF_TASK_FORM.COMPLETED_TASK.SUBTITLE'\" />\n <ng-template #emptyFormTemplate>\n <adf-empty-content\n [icon]=\"'description'\"\n [title]=\"'ADF_TASK_LIST.STANDALONE_TASK.NO_FORM_MESSAGE'\"\n [subtitle]=\"'ADF_TASK_FORM.EMPTY_FORM.SUBTITLE'\" />\n </ng-template>\n </mat-card-content>\n <mat-card-actions align=\"end\">\n <div class=\"adf-task-form-actions\">\n <ng-template [ngTemplateOutlet]=\"taskFormButtons\" />\n <button mat-button\n *ngIf=\"!isCompletedTask()\" id=\"adf-no-form-complete-button\"\n color=\"primary\"\n class=\"adf-task-form-actions-button\"\n [disabled]=\"canCompleteNoFormTask()\"\n (click)=\"onCompleteTask()\">\n {{'ADF_TASK_FORM.EMPTY_FORM.BUTTONS.COMPLETE' | translate}}\n </button>\n </div>\n </mat-card-actions>\n </mat-card>\n </ng-template>\n </ng-template>\n\n <ng-template #taskFormButtons>\n <button mat-button id=\"adf-no-form-cancel-button\"\n *ngIf=\"showCancelButton\"\n (click)=\"onCancel()\">\n {{'ADF_TASK_FORM.EMPTY_FORM.BUTTONS.CANCEL' | translate}}\n </button>\n <button mat-button data-automation-id=\"adf-task-form-claim-button\"\n *ngIf=\"isTaskClaimable()\"\n adf-claim-task\n [taskId]=\"taskId\"\n (success)=\"onClaimTask($event)\"\n (error)=\"onClaimTaskError($event)\">\n {{ 'ADF_TASK_FORM.EMPTY_FORM.BUTTONS.CLAIM' | translate }}\n </button>\n <button mat-button data-automation-id=\"adf-task-form-unclaim-button\"\n *ngIf=\"isTaskClaimedByCandidateMember()\"\n adf-unclaim-task\n [taskId]=\"taskId\"\n (success)=\"onUnclaimTask($event)\"\n (error)=\"onUnclaimTaskError($event)\">\n {{ 'ADF_TASK_FORM.EMPTY_FORM.BUTTONS.UNCLAIM' | translate }}\n </button>\n </ng-template>\n</ng-container>\n<ng-template #loadingTemplate>\n <div class=\"adf-task-form-spinner-container\">\n <mat-spinner />\n </div>\n</ng-template>\n", styles: [".adf-task-form-container{overflow:hidden}.adf-task-form-actions{float:right;padding-right:25px;padding-bottom:25px}.adf-task-form-actions .mat-mdc-button{height:36px;border-radius:5px}.adf-task-form-actions .mdc-button__label{width:58px;height:20px;opacity:.54;font-size:var(--theme-body-2-font-size);font-weight:700}.adf-task-form-spinner-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.adf-task-form-spinner-container mat-spinner{display:flex;max-height:100%;place-content:center;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i2.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i2.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i2.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: ClaimTaskDirective, selector: "[adf-claim-task]", inputs: ["taskId"], outputs: ["success", "error"] }, { kind: "directive", type: UnclaimTaskDirective, selector: "[adf-unclaim-task]", inputs: ["taskId"], outputs: ["success", "error"] }, { kind: "component", type: TaskStandaloneComponent, selector: "adf-task-standalone", inputs: ["taskName", "taskId", "isCompleted", "hasCompletePermission", "hideCancelButton"], outputs: ["cancel", "complete", "showAttachForm"] }, { kind: "component", type: FormComponent, selector: "adf-form", inputs: ["taskId", "nodeId", "formId", "formName", "saveMetadata", "data", "enableFixedSpacedForm"], outputs: ["formSaved", "formCompleted", "formContentClicked", "formLoaded", "formDataRefreshed"] }, { kind: "component", type: FormCustomOutcomesComponent, selector: "adf-form-custom-outcomes" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
254
254
|
}
|
|
255
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
255
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TaskFormComponent, decorators: [{
|
|
256
256
|
type: Component,
|
|
257
257
|
args: [{ selector: 'adf-task-form', standalone: true, imports: [
|
|
258
258
|
CommonModule,
|
|
@@ -311,4 +311,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
311
311
|
}], taskUnclaimed: [{
|
|
312
312
|
type: Output
|
|
313
313
|
}] } });
|
|
314
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvdGFzay1saXN0L2NvbXBvbmVudHMvdGFzay1mb3JtL3Rhc2stZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL3Rhc2stbGlzdC9jb21wb25lbnRzL3Rhc2stZm9ybS90YXNrLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBRUgscUJBQXFCLEVBS3JCLGtCQUFrQixFQUNyQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxF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QUN4QixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QixhQUFhO3dCQUNiLDJCQUEyQjtxQkFDOUIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTs4QkFLckMsTUFBTTtzQkFETCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLekIsYUFBYTtzQkFEWixLQUFLO2dCQUtOLHNCQUFzQjtzQkFEckIsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBT04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFLTixzQkFBc0I7c0JBRHJCLEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsTUFBTTtnQkFLUCxhQUFhO3NCQURaLE1BQU07Z0JBS1Asa0JBQWtCO3NCQURqQixNQUFNO2dCQUtQLFVBQVU7c0JBRFQsTUFBTTtnQkFLUCxjQUFjO3NCQURiLE1BQU07Z0JBUVAsY0FBYztzQkFEYixNQUFNO2dCQUtQLFNBQVM7c0JBRFIsTUFBTTtnQkFLUCxTQUFTO3NCQURSLE1BQU07Z0JBS1AsS0FBSztzQkFESixNQUFNO2dCQUtQLE1BQU07c0JBREwsTUFBTTtnQkFLUCxXQUFXO3NCQURWLE1BQU07Z0JBS1AsYUFBYTtzQkFEWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ29udGVudExpbmtNb2RlbCxcbiAgICBFbXB0eUNvbnRlbnRDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkTW9kZWwsXG4gICAgRm9ybUZpZWxkVmFsaWRhdG9yLFxuICAgIEZvcm1Nb2RlbCxcbiAgICBGb3JtT3V0Y29tZUV2ZW50LFxuICAgIFRyYW5zbGF0aW9uU2VydmljZVxufSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgVGFza0xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFza2xpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBUYXNrUmVwcmVzZW50YXRpb24sIFVzZXJSZXByZXNlbnRhdGlvbiB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGVvcGxlUHJvY2Vzc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZW9wbGUtcHJvY2Vzcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IENsYWltVGFza0RpcmVjdGl2ZSB9IGZyb20gJy4vY2xhaW0tdGFzay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVW5jbGFpbVRhc2tEaXJlY3RpdmUgfSBmcm9tICcuL3VuY2xhaW0tdGFzay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGFza1N0YW5kYWxvbmVDb21wb25lbnQgfSBmcm9tICcuLi90YXNrLXN0YW5kYWxvbmUvdGFzay1zdGFuZGFsb25lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50LCBGb3JtQ3VzdG9tT3V0Y29tZXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9mb3JtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtdGFzay1mb3JtJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRDYXJkTW9kdWxlLFxuICAgICAgICBFbXB0eUNvbnRlbnRDb21wb25lbnQsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgICAgIENsYWltVGFza0RpcmVjdGl2ZSxcbiAgICAgICAgVW5jbGFpbVRhc2tEaXJlY3RpdmUsXG4gICAgICAgIFRhc2tTdGFuZGFsb25lQ29tcG9uZW50LFxuICAgICAgICBGb3JtQ29tcG9uZW50LFxuICAgICAgICBGb3JtQ3VzdG9tT3V0Y29tZXNDb21wb25lbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YXNrLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rhc2stZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgVGFza0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgLyoqICgqKnJlcXVpcmVkKiopIFRoZSBpZCBvZiB0aGUgdGFzayB3aG9zZSBkZXRhaWxzIHdlIGFyZSBhc2tpbmcgZm9yLiAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgdGFza0lkOiBzdHJpbmc7XG5cbiAgICAvKiogVG9nZ2xlcyByZW5kZXJpbmcgb2YgdGhlIGZvcm0gdGl0bGUuICovXG4gICAgQElucHV0KClcbiAgICBzaG93Rm9ybVRpdGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlcyByZW5kZXJpbmcgb2YgdGhlIGBDb21wbGV0ZWAgb3V0Y29tZSBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93Rm9ybUNvbXBsZXRlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGVzIHJlbmRlcmluZyBvZiB0aGUgYFNhdmVgIG91dGNvbWUgYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0Zvcm1TYXZlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGUgcmVuZGVyaW5nIG9mIHRoZSBgQ2FuY2VsYCBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93Q2FuY2VsQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZXMgcmVhZC1vbmx5IHN0YXRlIG9mIHRoZSBmb3JtLiBBbGwgZm9ybSB3aWRnZXRzIHJlbmRlciBhcyByZWFkLW9ubHkgaWYgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJlYWRPbmx5Rm9ybTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFRvZ2dsZXMgcmVuZGVyaW5nIG9mIHRoZSBgUmVmcmVzaGAgYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0Zvcm1SZWZyZXNoQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGUgcmVuZGVyaW5nIG9mIHRoZSB2YWxpZGF0aW9uIGljb24gbmV4dCB0byB0aGUgZm9ybSB0aXRsZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dGb3JtVmFsaWRhdGlvbkljb246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIEZpZWxkIHZhbGlkYXRvcnMgZm9yIHVzZSB3aXRoIHRoZSBmb3JtLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmllbGRWYWxpZGF0b3JzOiBGb3JtRmllbGRWYWxpZGF0b3JbXSA9IFtdO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgZm9ybSBpcyBzdWJtaXR0ZWQgd2l0aCB0aGUgYFNhdmVgIG9yIGN1c3RvbSBvdXRjb21lcy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtU2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Nb2RlbD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkIHdpdGggdGhlIGBDb21wbGV0ZWAgb3V0Y29tZS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtQ29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtTW9kZWw+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBmb3JtIGZpZWxkIGNvbnRlbnQgaXMgY2xpY2tlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtQ29udGVudENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbnRlbnRMaW5rTW9kZWw+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBmb3JtIGlzIGxvYWRlZCBvciByZWxvYWRlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtTG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtTW9kZWw+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBmb3JtIGFzc29jaWF0ZWQgd2l0aCB0aGUgZm9ybSB0YXNrIGlzIGF0dGFjaGVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNob3dBdHRhY2hGb3JtID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIGFueSBvdXRjb21lIGlzIGV4ZWN1dGVkLiBEZWZhdWx0IGJlaGF2aW91ciBjYW4gYmUgcHJldmVudGVkXG4gICAgICogdmlhIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBleGVjdXRlT3V0Y29tZSA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybU91dGNvbWVFdmVudD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGZvcm0gYXNzb2NpYXRlZCB3aXRoIHRoZSB0YXNrIGlzIGNvbXBsZXRlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBjb21wbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBzdXBwbGllZCBmb3JtIHZhbHVlcyBoYXZlIGEgdmFsaWRhdGlvbiBlcnJvci4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1GaWVsZE1vZGVsW10+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGFuIGVycm9yIG9jY3Vycy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgXCJDYW5jZWxcIiBidXR0b24gaXMgY2xpY2tlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0YXNrIGlzIGNsYWltZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgdGFza0NsYWltZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHRhc2sgaXMgdW5jbGFpbWVkIChpZSwgcmVxdWV1ZWQpLi4gKi9cbiAgICBAT3V0cHV0KClcbiAgICB0YXNrVW5jbGFpbWVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICB0YXNrRGV0YWlsczogVGFza1JlcHJlc2VudGF0aW9uO1xuICAgIGN1cnJlbnRMb2dnZWRVc2VyOiBVc2VyUmVwcmVzZW50YXRpb247XG4gICAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGludGVybmFsUmVhZE9ubHlGb3JtOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHRhc2tMaXN0U2VydmljZSA9IGluamVjdChUYXNrTGlzdFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcGVvcGxlUHJvY2Vzc1NlcnZpY2UgPSBpbmplY3QoUGVvcGxlUHJvY2Vzc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5wZW9wbGVQcm9jZXNzU2VydmljZS5nZXRDdXJyZW50VXNlckluZm8oKS5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudExvZ2dlZFVzZXIgPSB1c2VyO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5sb2FkVGFzayh0aGlzLnRhc2tJZCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBjb25zdCB0YXNrSWQgPSBjaGFuZ2VzWyd0YXNrSWQnXTtcbiAgICAgICAgaWYgKHRhc2tJZD8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRUYXNrKHRoaXMudGFza0lkKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvYWRUYXNrKHRhc2tJZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIGlmICh0YXNrSWQpIHtcbiAgICAgICAgICAgIHRoaXMudGFza0xpc3RTZXJ2aWNlLmdldFRhc2tEZXRhaWxzKHRhc2tJZCkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhc2tEZXRhaWxzID0gcmVzO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnRhc2tEZXRhaWxzLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YXNrRGV0YWlscy5uYW1lID0gJ05vIG5hbWUnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGVuZERhdGU6IGFueSA9IHJlcy5lbmREYXRlO1xuICAgICAgICAgICAgICAgIGlmIChlbmREYXRlICYmICFpc05hTihlbmREYXRlLmdldFRpbWUoKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFJlYWRPbmx5Rm9ybSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFJlYWRPbmx5Rm9ybSA9IHRoaXMucmVhZE9ubHlGb3JtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb3JtU2F2ZWQoc2F2ZWRGb3JtOiBGb3JtTW9kZWwpIHtcbiAgICAgICAgdGhpcy5mb3JtU2F2ZWQuZW1pdChzYXZlZEZvcm0pO1xuICAgIH1cblxuICAgIG9uRm9ybUNvbXBsZXRlZChmb3JtOiBGb3JtTW9kZWwpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29tcGxldGVkLmVtaXQoZm9ybSk7XG4gICAgfVxuXG4gICAgb25Gb3JtTG9hZGVkKGZvcm06IEZvcm1Nb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Mb2FkZWQuZW1pdChmb3JtKTtcbiAgICB9XG5cbiAgICBvbkZvcm1Db250ZW50Q2xpY2soY29udGVudDogQ29udGVudExpbmtNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Db250ZW50Q2xpY2tlZC5lbWl0KGNvbnRlbnQpO1xuICAgIH1cblxuICAgIG9uRm9ybUV4ZWN1dGVPdXRjb21lKG91dGNvbWU6IEZvcm1PdXRjb21lRXZlbnQpIHtcbiAgICAgICAgdGhpcy5leGVjdXRlT3V0Y29tZS5lbWl0KG91dGNvbWUpO1xuICAgIH1cblxuICAgIG9uRm9ybUVycm9yKGVycm9yOiBhbnkpIHtcbiAgICAgICAgdGhpcy5mb3JtRXJyb3IuZW1pdChlcnJvcik7XG4gICAgfVxuXG4gICAgb25FcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnJvcik7XG4gICAgfVxuXG4gICAgb25Db21wbGV0ZVRhc2soKSB7XG4gICAgICAgIHRoaXMudGFza0xpc3RTZXJ2aWNlLmNvbXBsZXRlVGFzayh0aGlzLnRhc2tEZXRhaWxzLmlkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoKSA9PiB0aGlzLmNvbXBsZXRlZC5lbWl0KCksXG4gICAgICAgICAgICAoZXJyb3IpID0+IHRoaXMuZXJyb3IuZW1pdChlcnJvcilcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uU2hvd0F0dGFjaEZvcm0oKSB7XG4gICAgICAgIHRoaXMuc2hvd0F0dGFjaEZvcm0uZW1pdCgpO1xuICAgIH1cblxuICAgIGhhc0Zvcm1LZXkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGFza0RldGFpbHM/LmZvcm1LZXk7XG4gICAgfVxuXG4gICAgaXNTdGFuZGFsb25lVGFzaygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnRhc2tEZXRhaWxzPy5wcm9jZXNzRGVmaW5pdGlvbklkO1xuICAgIH1cblxuICAgIGlzQ29tcGxldGVkVGFzaygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50YXNrRGV0YWlscz8uZW5kRGF0ZTtcbiAgICB9XG5cbiAgICBpc0NvbXBsZXRlQnV0dG9uVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmhhc0Zvcm1LZXkoKSAmJiB0aGlzLmlzVGFza0FjdGl2ZSgpICYmIHRoaXMuaXNDb21wbGV0ZUJ1dHRvbkVuYWJsZWQoKTtcbiAgICB9XG5cbiAgICBpc1Rhc2tBY3RpdmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tEZXRhaWxzPy5kdXJhdGlvbiA9PT0gbnVsbDtcbiAgICB9XG5cbiAgICBpc0Fzc2lnbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRhc2tEZXRhaWxzLmFzc2lnbmVlO1xuICAgIH1cblxuICAgIGlzQXNzaWduZWRUb01lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Fzc2lnbmVkKCkgJiYgdGhpcy5oYXNFbWFpbEFkZHJlc3MoKSA/IHRoaXMuaXNFbWFpbEVxdWFsKCkgOiB0aGlzLmlzRXh0ZXJuYWxJZEVxdWFsKCk7XG4gICAgfVxuXG4gICAgaXNDb21wbGV0ZUJ1dHRvbkVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQXNzaWduZWRUb01lKCkgfHwgdGhpcy5jYW5Jbml0aWF0b3JDb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGNhbkluaXRpYXRvckNvbXBsZXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRhc2tEZXRhaWxzPy5pbml0aWF0b3JDYW5Db21wbGV0ZVRhc2s7XG4gICAgfVxuXG4gICAgaXNSZWFkT25seUZvcm0oKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCByZWFkT25seUZvcm06IGJvb2xlYW47XG4gICAgICAgIGlmICh0aGlzLmlzQ2FuZGlkYXRlTWVtYmVyKCkpIHtcbiAgICAgICAgICAgIHJlYWRPbmx5Rm9ybSA9IHRoaXMuaW50ZXJuYWxSZWFkT25seUZvcm0gfHwgIXRoaXMuaXNBc3NpZ25lZFRvTWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlYWRPbmx5Rm9ybSA9XG4gICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFJlYWRPbmx5Rm9ybSB8fCAhKHRoaXMuaXNBc3NpZ25lZFRvTWUoKSB8fCB0aGlzLmNhbkN1cnJlbnRVc2VyQXNJbml0aWF0b3JDb21wbGV0ZSgpIHx8IHRoaXMuaXNDdXJyZW50VXNlckludm9sdmVkKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlYWRPbmx5Rm9ybTtcbiAgICB9XG5cbiAgICBpc0N1cnJlbnRVc2VySW52b2x2ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBpc0ludm9sdmVkID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLnRhc2tEZXRhaWxzLmludm9sdmVkUGVvcGxlICYmIHRoaXMuY3VycmVudExvZ2dlZFVzZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHVzZXJJbnZvbHZlZCA9IHRoaXMudGFza0RldGFpbHMuaW52b2x2ZWRQZW9wbGUuZmluZChcbiAgICAgICAgICAgICAgICAoaW52b2x2ZWRVc2VyKSA9PlxuICAgICAgICAgICAgICAgICAgICBpbnZvbHZlZFVzZXIuZW1haWwudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gdGhpcy5jdXJyZW50TG9nZ2VkVXNlci5lbWFpbC50b0xvY2FsZUxvd2VyQ2FzZSgpIHx8XG4gICAgICAgICAgICAgICAgICAgIGludm9sdmVkVXNlci5pZCArICcnID09PSB0aGlzLmN1cnJlbnRMb2dnZWRVc2VyLmV4dGVybmFsSWRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpc0ludm9sdmVkID0gISF1c2VySW52b2x2ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50YXNrRGV0YWlscy5pbnZvbHZlZEdyb3Vwcz8ubGVuZ3RoICYmIHRoaXMuY3VycmVudExvZ2dlZFVzZXIuZ3JvdXBzPy5sZW5ndGggJiYgIWlzSW52b2x2ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHVzZXJHcm91cCA9IHRoaXMudGFza0RldGFpbHMuaW52b2x2ZWRHcm91cHMuZmluZCgoaW52b2x2ZWRHcm91cCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRMb2dnZWRVc2VyLmdyb3Vwcy5maW5kKChncm91cCkgPT4gZ3JvdXAubmFtZSA9PT0gaW52b2x2ZWRHcm91cC5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkgfHwgZ3JvdXAuaWQgPT09IGludm9sdmVkR3JvdXAuaWQpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaXNJbnZvbHZlZCA9ICEhdXNlckdyb3VwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0ludm9sdmVkO1xuICAgIH1cblxuICAgIGNhbkN1cnJlbnRVc2VyQXNJbml0aWF0b3JDb21wbGV0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuSW5pdGlhdG9yQ29tcGxldGUoKSAmJiB0aGlzLmlzUHJvY2Vzc0luaXRpYXRvcigpO1xuICAgIH1cblxuICAgIGlzUHJvY2Vzc0luaXRpYXRvcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExvZ2dlZFVzZXIgJiYgdGhpcy5jdXJyZW50TG9nZ2VkVXNlci5pZCA9PT0gK3RoaXMudGFza0RldGFpbHMucHJvY2Vzc0luc3RhbmNlU3RhcnRVc2VySWQ7XG4gICAgfVxuXG4gICAgaXNTYXZlQnV0dG9uVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvd0Zvcm1TYXZlQnV0dG9uICYmICghdGhpcy5jYW5Jbml0aWF0b3JDb21wbGV0ZSgpIHx8IHRoaXMuaXNBc3NpZ25lZFRvTWUoKSB8fCB0aGlzLmlzQ3VycmVudFVzZXJJbnZvbHZlZCgpKTtcbiAgICB9XG5cbiAgICBjYW5Db21wbGV0ZU5vRm9ybVRhc2soKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzUmVhZE9ubHlGb3JtKCk7XG4gICAgfVxuXG4gICAgZ2V0Q29tcGxldGVkVGFza1RyYW5zbGF0ZWRNZXNzYWdlKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5nZXQoJ0FERl9UQVNLX0ZPUk0uQ09NUExFVEVEX1RBU0suVElUTEUnLCB7IHRhc2tOYW1lOiB0aGlzLnRhc2tEZXRhaWxzLm5hbWUgfSk7XG4gICAgfVxuXG4gICAgaXNDYW5kaWRhdGVNZW1iZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tEZXRhaWxzLm1hbmFnZXJPZkNhbmRpZGF0ZUdyb3VwIHx8IHRoaXMudGFza0RldGFpbHMubWVtYmVyT2ZDYW5kaWRhdGVHcm91cCB8fCB0aGlzLnRhc2tEZXRhaWxzLm1lbWJlck9mQ2FuZGlkYXRlVXNlcnM7XG4gICAgfVxuXG4gICAgaXNUYXNrQ2xhaW1hYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0NhbmRpZGF0ZU1lbWJlcigpICYmICF0aGlzLmlzQXNzaWduZWQoKTtcbiAgICB9XG5cbiAgICBpc1Rhc2tDbGFpbWVkQnlDYW5kaWRhdGVNZW1iZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQ2FuZGlkYXRlTWVtYmVyKCkgJiYgdGhpcy5pc0Fzc2lnbmVkVG9NZSgpICYmICF0aGlzLmlzQ29tcGxldGVkVGFzaygpO1xuICAgIH1cblxuICAgIHJlbG9hZFRhc2soKSB7XG4gICAgICAgIHRoaXMubG9hZFRhc2sodGhpcy50YXNrSWQpO1xuICAgIH1cblxuICAgIG9uQ2xhaW1UYXNrKHRhc2tJZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudGFza0NsYWltZWQuZW1pdCh0YXNrSWQpO1xuICAgIH1cblxuICAgIG9uQ2xhaW1UYXNrRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgIH1cblxuICAgIG9uVW5jbGFpbVRhc2sodGFza0lkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50YXNrVW5jbGFpbWVkLmVtaXQodGFza0lkKTtcbiAgICB9XG5cbiAgICBvblVuY2xhaW1UYXNrRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzRW1haWxBZGRyZXNzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRhc2tEZXRhaWxzLmFzc2lnbmVlLmVtYWlsO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNFbWFpbEVxdWFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy50YXNrRGV0YWlscy5hc3NpZ25lZSAmJlxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TG9nZ2VkVXNlciAmJlxuICAgICAgICAgICAgdGhpcy50YXNrRGV0YWlscy5hc3NpZ25lZS5lbWFpbC50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSB0aGlzLmN1cnJlbnRMb2dnZWRVc2VyLmVtYWlsLnRvTG9jYWxlTG93ZXJDYXNlKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRXh0ZXJuYWxJZEVxdWFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YXNrRGV0YWlscy5hc3NpZ25lZSAmJiB0aGlzLmN1cnJlbnRMb2dnZWRVc2VyICYmIHRoaXMudGFza0RldGFpbHMuYXNzaWduZWUuZXh0ZXJuYWxJZCA9PT0gdGhpcy5jdXJyZW50TG9nZ2VkVXNlci5leHRlcm5hbElkO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZzsgZWxzZSBsb2FkaW5nVGVtcGxhdGVcIj5cbiAgPGFkZi1mb3JtICpuZ0lmPVwiaGFzRm9ybUtleSgpOyBlbHNlIHdpdGhvdXRGb3JtXCJcbiAgICBbdGFza0lkXT1cInRhc2tEZXRhaWxzPy5pZFwiXG4gICAgW3Nob3dUaXRsZV09XCJzaG93Rm9ybVRpdGxlXCJcbiAgICBbc2hvd1ZhbGlkYXRpb25JY29uXT1cInNob3dGb3JtVmFsaWRhdGlvbkljb25cIlxuICAgIFtzaG93UmVmcmVzaEJ1dHRvbl09XCJzaG93Rm9ybVJlZnJlc2hCdXR0b25cIlxuICAgIFtzaG93Q29tcGxldGVCdXR0b25dPVwic2hvd0Zvcm1Db21wbGV0ZUJ1dHRvblwiXG4gICAgW3Nob3dTYXZlQnV0dG9uXT1cImlzU2F2ZUJ1dHRvblZpc2libGUoKVwiXG4gICAgW2Rpc2FibGVDb21wbGV0ZUJ1dHRvbl09XCIhaXNDb21wbGV0ZUJ1dHRvbkVuYWJsZWQoKVwiXG4gICAgW3JlYWRPbmx5XT1cImlzUmVhZE9ubHlGb3JtKClcIlxuICAgIFtmaWVsZFZhbGlkYXRvcnNdPVwiZmllbGRWYWxpZGF0b3JzXCJcbiAgICAoZm9ybVNhdmVkKT0nb25Gb3JtU2F2ZWQoJGV2ZW50KSdcbiAgICAoZm9ybUNvbXBsZXRlZCk9J29uRm9ybUNvbXBsZXRlZCgkZXZlbnQpJ1xuICAgIChmb3JtQ29udGVudENsaWNrZWQpPSdvbkZvcm1Db250ZW50Q2xpY2soJGV2ZW50KSdcbiAgICAoZm9ybUxvYWRlZCk9J29uRm9ybUxvYWRlZCgkZXZlbnQpJ1xuICAgIChmb3JtRXJyb3IpPSdvbkZvcm1FcnJvcigkZXZlbnQpJ1xuICAgIChlcnJvcik9J29uRXJyb3IoJGV2ZW50KSdcbiAgICAoZXhlY3V0ZU91dGNvbWUpPSdvbkZvcm1FeGVjdXRlT3V0Y29tZSgkZXZlbnQpJz5cbiAgICA8YWRmLWZvcm0tY3VzdG9tLW91dGNvbWVzPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFza0Zvcm1CdXR0b25zXCIgLz5cbiAgICA8L2FkZi1mb3JtLWN1c3RvbS1vdXRjb21lcz5cbiAgPC9hZGYtZm9ybT5cbiAgPG5nLXRlbXBsYXRlICN3aXRob3V0Rm9ybT5cbiAgICA8YWRmLXRhc2stc3RhbmRhbG9uZSAqbmdJZj1cImlzU3RhbmRhbG9uZVRhc2soKTsgZWxzZSBlbXB0eUZvcm1NZXNzYWdlXCJcbiAgICAgICAgW3Rhc2tOYW1lXT1cInRhc2tEZXRhaWxzLm5hbWVcIlxuICAgICAgICBbdGFza0lkXT1cInRhc2tEZXRhaWxzLmlkXCJcbiAgICAgICAgW2lzQ29tcGxldGVkXT1cImlzQ29tcGxldGVkVGFzaygpXCJcbiAgICAgICAgW2hhc0NvbXBsZXRlUGVybWlzc2lvbl09XCJpc0NvbXBsZXRlQnV0dG9uVmlzaWJsZSgpXCJcbiAgICAgICAgW2hpZGVDYW5jZWxCdXR0b25dPVwic2hvd0NhbmNlbEJ1dHRvblwiXG4gICAgICAgIChjb21wbGV0ZSk9XCJvbkNvbXBsZXRlVGFzaygpXCJcbiAgICAgICAgKHNob3dBdHRhY2hGb3JtKT1cIm9uU2hvd0F0dGFjaEZvcm0oKVwiIC8+XG4gICAgICA8bmctdGVtcGxhdGUgI2VtcHR5Rm9ybU1lc3NhZ2U+XG4gICAgICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBjbGFzcz1cImFkZi10YXNrLWZvcm0tY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPGg0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtZm9ybS10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGFza0RldGFpbHMubmFtZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0YXNrRGV0YWlscy5uYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J0ZPUk0uRk9STV9SRU5ERVJFUi5OQU1FTEVTU19UQVNLJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGFkZi1lbXB0eS1jb250ZW50ICpuZ0lmPVwiaXNDb21wbGV0ZWRUYXNrKCk7IGVsc2UgZW1wdHlGb3JtVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCInZGVzY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImdldENvbXBsZXRlZFRhc2tUcmFuc2xhdGVkTWVzc2FnZSgpIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICBbc3VidGl0bGVdPVwiJ0FERl9UQVNLX0ZPUk0uQ09NUExFVEVEX1RBU0suU1VCVElUTEUnXCIgLz5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2VtcHR5Rm9ybVRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8YWRmLWVtcHR5LWNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cIidkZXNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBREZfVEFTS19MSVNULlNUQU5EQUxPTkVfVEFTSy5OT19GT1JNX01FU1NBR0UnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdWJ0aXRsZV09XCInQURGX1RBU0tfRk9STS5FTVBUWV9GT1JNLlNVQlRJVExFJ1wiIC8+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi10YXNrLWZvcm0tYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFza0Zvcm1CdXR0b25zXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc0NvbXBsZXRlZFRhc2soKVwiIGlkPVwiYWRmLW5vLWZvcm0tY29tcGxldGUtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi10YXNrLWZvcm0tYWN0aW9ucy1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNhbkNvbXBsZXRlTm9Gb3JtVGFzaygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNvbXBsZXRlVGFzaygpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eydBREZfVEFTS19GT1JNLkVNUFRZX0ZPUk0uQlVUVE9OUy5DT01QTEVURScgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICN0YXNrRm9ybUJ1dHRvbnM+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBpZD1cImFkZi1uby1mb3JtLWNhbmNlbC1idXR0b25cIlxuICAgICAgICAgICAgKm5nSWY9XCJzaG93Q2FuY2VsQnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNhbmNlbCgpXCI+XG4gICAgICAgICAgICB7eydBREZfVEFTS19GT1JNLkVNUFRZX0ZPUk0uQlVUVE9OUy5DQU5DRUwnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtdGFzay1mb3JtLWNsYWltLWJ1dHRvblwiXG4gICAgICAgICAgICAqbmdJZj1cImlzVGFza0NsYWltYWJsZSgpXCJcbiAgICAgICAgICAgIGFkZi1jbGFpbS10YXNrXG4gICAgICAgICAgICBbdGFza0lkXT1cInRhc2tJZFwiXG4gICAgICAgICAgICAoc3VjY2Vzcyk9XCJvbkNsYWltVGFzaygkZXZlbnQpXCJcbiAgICAgICAgICAgIChlcnJvcik9XCJvbkNsYWltVGFza0Vycm9yKCRldmVudClcIj5cbiAgICAgICAgICAgIHt7ICdBREZfVEFTS19GT1JNLkVNUFRZX0ZPUk0uQlVUVE9OUy5DTEFJTScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtdGFzay1mb3JtLXVuY2xhaW0tYnV0dG9uXCJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNUYXNrQ2xhaW1lZEJ5Q2FuZGlkYXRlTWVtYmVyKClcIlxuICAgICAgICAgICAgYWRmLXVuY2xhaW0tdGFza1xuICAgICAgICAgICAgW3Rhc2tJZF09XCJ0YXNrSWRcIlxuICAgICAgICAgICAgKHN1Y2Nlc3MpPVwib25VbmNsYWltVGFzaygkZXZlbnQpXCJcbiAgICAgICAgICAgIChlcnJvcik9XCJvblVuY2xhaW1UYXNrRXJyb3IoJGV2ZW50KVwiPlxuICAgICAgICAgICAge3sgJ0FERl9UQVNLX0ZPUk0uRU1QVFlfRk9STS5CVVRUT05TLlVOQ0xBSU0nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI2xvYWRpbmdUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLXRhc2stZm9ybS1zcGlubmVyLWNvbnRhaW5lclwiPlxuICAgICAgICA8bWF0LXNwaW5uZXIgLz5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvdGFzay1saXN0L2NvbXBvbmVudHMvdGFzay1mb3JtL3Rhc2stZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL3Rhc2stbGlzdC9jb21wb25lbnRzL3Rhc2stZm9ybS90YXNrLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBRUgscUJBQXFCLEVBS3JCLGtCQUFrQixFQUNyQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxF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QUN4QixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QixhQUFhO3dCQUNiLDJCQUEyQjtxQkFDOUIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTs4QkFLckMsTUFBTTtzQkFETCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLekIsYUFBYTtzQkFEWixLQUFLO2dCQUtOLHNCQUFzQjtzQkFEckIsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBT04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFLTixzQkFBc0I7c0JBRHJCLEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsTUFBTTtnQkFLUCxhQUFhO3NCQURaLE1BQU07Z0JBS1Asa0JBQWtCO3NCQURqQixNQUFNO2dCQUtQLFVBQVU7c0JBRFQsTUFBTTtnQkFLUCxjQUFjO3NCQURiLE1BQU07Z0JBUVAsY0FBYztzQkFEYixNQUFNO2dCQUtQLFNBQVM7c0JBRFIsTUFBTTtnQkFLUCxTQUFTO3NCQURSLE1BQU07Z0JBS1AsS0FBSztzQkFESixNQUFNO2dCQUtQLE1BQU07c0JBREwsTUFBTTtnQkFLUCxXQUFXO3NCQURWLE1BQU07Z0JBS1AsYUFBYTtzQkFEWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ29udGVudExpbmtNb2RlbCxcbiAgICBFbXB0eUNvbnRlbnRDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkTW9kZWwsXG4gICAgRm9ybUZpZWxkVmFsaWRhdG9yLFxuICAgIEZvcm1Nb2RlbCxcbiAgICBGb3JtT3V0Y29tZUV2ZW50LFxuICAgIFRyYW5zbGF0aW9uU2VydmljZVxufSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgVGFza0xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFza2xpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBUYXNrUmVwcmVzZW50YXRpb24sIFVzZXJSZXByZXNlbnRhdGlvbiB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGVvcGxlUHJvY2Vzc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZW9wbGUtcHJvY2Vzcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IENsYWltVGFza0RpcmVjdGl2ZSB9IGZyb20gJy4vY2xhaW0tdGFzay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVW5jbGFpbVRhc2tEaXJlY3RpdmUgfSBmcm9tICcuL3VuY2xhaW0tdGFzay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGFza1N0YW5kYWxvbmVDb21wb25lbnQgfSBmcm9tICcuLi90YXNrLXN0YW5kYWxvbmUvdGFzay1zdGFuZGFsb25lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50LCBGb3JtQ3VzdG9tT3V0Y29tZXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9mb3JtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtdGFzay1mb3JtJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRDYXJkTW9kdWxlLFxuICAgICAgICBFbXB0eUNvbnRlbnRDb21wb25lbnQsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgICAgIENsYWltVGFza0RpcmVjdGl2ZSxcbiAgICAgICAgVW5jbGFpbVRhc2tEaXJlY3RpdmUsXG4gICAgICAgIFRhc2tTdGFuZGFsb25lQ29tcG9uZW50LFxuICAgICAgICBGb3JtQ29tcG9uZW50LFxuICAgICAgICBGb3JtQ3VzdG9tT3V0Y29tZXNDb21wb25lbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YXNrLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rhc2stZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgVGFza0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgLyoqICgqKnJlcXVpcmVkKiopIFRoZSBpZCBvZiB0aGUgdGFzayB3aG9zZSBkZXRhaWxzIHdlIGFyZSBhc2tpbmcgZm9yLiAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgdGFza0lkOiBzdHJpbmc7XG5cbiAgICAvKiogVG9nZ2xlcyByZW5kZXJpbmcgb2YgdGhlIGZvcm0gdGl0bGUuICovXG4gICAgQElucHV0KClcbiAgICBzaG93Rm9ybVRpdGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlcyByZW5kZXJpbmcgb2YgdGhlIGBDb21wbGV0ZWAgb3V0Y29tZSBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93Rm9ybUNvbXBsZXRlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGVzIHJlbmRlcmluZyBvZiB0aGUgYFNhdmVgIG91dGNvbWUgYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0Zvcm1TYXZlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGUgcmVuZGVyaW5nIG9mIHRoZSBgQ2FuY2VsYCBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93Q2FuY2VsQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZXMgcmVhZC1vbmx5IHN0YXRlIG9mIHRoZSBmb3JtLiBBbGwgZm9ybSB3aWRnZXRzIHJlbmRlciBhcyByZWFkLW9ubHkgaWYgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJlYWRPbmx5Rm9ybTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFRvZ2dsZXMgcmVuZGVyaW5nIG9mIHRoZSBgUmVmcmVzaGAgYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0Zvcm1SZWZyZXNoQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGUgcmVuZGVyaW5nIG9mIHRoZSB2YWxpZGF0aW9uIGljb24gbmV4dCB0byB0aGUgZm9ybSB0aXRsZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dGb3JtVmFsaWRhdGlvbkljb246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIEZpZWxkIHZhbGlkYXRvcnMgZm9yIHVzZSB3aXRoIHRoZSBmb3JtLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmllbGRWYWxpZGF0b3JzOiBGb3JtRmllbGRWYWxpZGF0b3JbXSA9IFtdO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgZm9ybSBpcyBzdWJtaXR0ZWQgd2l0aCB0aGUgYFNhdmVgIG9yIGN1c3RvbSBvdXRjb21lcy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtU2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Nb2RlbD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkIHdpdGggdGhlIGBDb21wbGV0ZWAgb3V0Y29tZS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtQ29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtTW9kZWw+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBmb3JtIGZpZWxkIGNvbnRlbnQgaXMgY2xpY2tlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtQ29udGVudENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbnRlbnRMaW5rTW9kZWw+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBmb3JtIGlzIGxvYWRlZCBvciByZWxvYWRlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtTG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtTW9kZWw+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBmb3JtIGFzc29jaWF0ZWQgd2l0aCB0aGUgZm9ybSB0YXNrIGlzIGF0dGFjaGVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNob3dBdHRhY2hGb3JtID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIGFueSBvdXRjb21lIGlzIGV4ZWN1dGVkLiBEZWZhdWx0IGJlaGF2aW91ciBjYW4gYmUgcHJldmVudGVkXG4gICAgICogdmlhIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBleGVjdXRlT3V0Y29tZSA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybU91dGNvbWVFdmVudD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGZvcm0gYXNzb2NpYXRlZCB3aXRoIHRoZSB0YXNrIGlzIGNvbXBsZXRlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBjb21wbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBzdXBwbGllZCBmb3JtIHZhbHVlcyBoYXZlIGEgdmFsaWRhdGlvbiBlcnJvci4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1GaWVsZE1vZGVsW10+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGFuIGVycm9yIG9jY3Vycy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgXCJDYW5jZWxcIiBidXR0b24gaXMgY2xpY2tlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0YXNrIGlzIGNsYWltZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgdGFza0NsYWltZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHRhc2sgaXMgdW5jbGFpbWVkIChpZSwgcmVxdWV1ZWQpLi4gKi9cbiAgICBAT3V0cHV0KClcbiAgICB0YXNrVW5jbGFpbWVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICB0YXNrRGV0YWlsczogVGFza1JlcHJlc2VudGF0aW9uO1xuICAgIGN1cnJlbnRMb2dnZWRVc2VyOiBVc2VyUmVwcmVzZW50YXRpb247XG4gICAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGludGVybmFsUmVhZE9ubHlGb3JtOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHRhc2tMaXN0U2VydmljZSA9IGluamVjdChUYXNrTGlzdFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcGVvcGxlUHJvY2Vzc1NlcnZpY2UgPSBpbmplY3QoUGVvcGxlUHJvY2Vzc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5wZW9wbGVQcm9jZXNzU2VydmljZS5nZXRDdXJyZW50VXNlckluZm8oKS5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudExvZ2dlZFVzZXIgPSB1c2VyO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5sb2FkVGFzayh0aGlzLnRhc2tJZCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBjb25zdCB0YXNrSWQgPSBjaGFuZ2VzWyd0YXNrSWQnXTtcbiAgICAgICAgaWYgKHRhc2tJZD8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRUYXNrKHRoaXMudGFza0lkKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvYWRUYXNrKHRhc2tJZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIGlmICh0YXNrSWQpIHtcbiAgICAgICAgICAgIHRoaXMudGFza0xpc3RTZXJ2aWNlLmdldFRhc2tEZXRhaWxzKHRhc2tJZCkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhc2tEZXRhaWxzID0gcmVzO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnRhc2tEZXRhaWxzLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YXNrRGV0YWlscy5uYW1lID0gJ05vIG5hbWUnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGVuZERhdGU6IGFueSA9IHJlcy5lbmREYXRlO1xuICAgICAgICAgICAgICAgIGlmIChlbmREYXRlICYmICFpc05hTihlbmREYXRlLmdldFRpbWUoKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFJlYWRPbmx5Rm9ybSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFJlYWRPbmx5Rm9ybSA9IHRoaXMucmVhZE9ubHlGb3JtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb3JtU2F2ZWQoc2F2ZWRGb3JtOiBGb3JtTW9kZWwpIHtcbiAgICAgICAgdGhpcy5mb3JtU2F2ZWQuZW1pdChzYXZlZEZvcm0pO1xuICAgIH1cblxuICAgIG9uRm9ybUNvbXBsZXRlZChmb3JtOiBGb3JtTW9kZWwpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29tcGxldGVkLmVtaXQoZm9ybSk7XG4gICAgfVxuXG4gICAgb25Gb3JtTG9hZGVkKGZvcm06IEZvcm1Nb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Mb2FkZWQuZW1pdChmb3JtKTtcbiAgICB9XG5cbiAgICBvbkZvcm1Db250ZW50Q2xpY2soY29udGVudDogQ29udGVudExpbmtNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Db250ZW50Q2xpY2tlZC5lbWl0KGNvbnRlbnQpO1xuICAgIH1cblxuICAgIG9uRm9ybUV4ZWN1dGVPdXRjb21lKG91dGNvbWU6IEZvcm1PdXRjb21lRXZlbnQpIHtcbiAgICAgICAgdGhpcy5leGVjdXRlT3V0Y29tZS5lbWl0KG91dGNvbWUpO1xuICAgIH1cblxuICAgIG9uRm9ybUVycm9yKGVycm9yOiBhbnkpIHtcbiAgICAgICAgdGhpcy5mb3JtRXJyb3IuZW1pdChlcnJvcik7XG4gICAgfVxuXG4gICAgb25FcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnJvcik7XG4gICAgfVxuXG4gICAgb25Db21wbGV0ZVRhc2soKSB7XG4gICAgICAgIHRoaXMudGFza0xpc3RTZXJ2aWNlLmNvbXBsZXRlVGFzayh0aGlzLnRhc2tEZXRhaWxzLmlkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoKSA9PiB0aGlzLmNvbXBsZXRlZC5lbWl0KCksXG4gICAgICAgICAgICAoZXJyb3IpID0+IHRoaXMuZXJyb3IuZW1pdChlcnJvcilcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uU2hvd0F0dGFjaEZvcm0oKSB7XG4gICAgICAgIHRoaXMuc2hvd0F0dGFjaEZvcm0uZW1pdCgpO1xuICAgIH1cblxuICAgIGhhc0Zvcm1LZXkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGFza0RldGFpbHM/LmZvcm1LZXk7XG4gICAgfVxuXG4gICAgaXNTdGFuZGFsb25lVGFzaygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnRhc2tEZXRhaWxzPy5wcm9jZXNzRGVmaW5pdGlvbklkO1xuICAgIH1cblxuICAgIGlzQ29tcGxldGVkVGFzaygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50YXNrRGV0YWlscz8uZW5kRGF0ZTtcbiAgICB9XG5cbiAgICBpc0NvbXBsZXRlQnV0dG9uVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmhhc0Zvcm1LZXkoKSAmJiB0aGlzLmlzVGFza0FjdGl2ZSgpICYmIHRoaXMuaXNDb21wbGV0ZUJ1dHRvbkVuYWJsZWQoKTtcbiAgICB9XG5cbiAgICBpc1Rhc2tBY3RpdmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tEZXRhaWxzPy5kdXJhdGlvbiA9PT0gbnVsbDtcbiAgICB9XG5cbiAgICBpc0Fzc2lnbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRhc2tEZXRhaWxzLmFzc2lnbmVlO1xuICAgIH1cblxuICAgIGlzQXNzaWduZWRUb01lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Fzc2lnbmVkKCkgJiYgdGhpcy5oYXNFbWFpbEFkZHJlc3MoKSA/IHRoaXMuaXNFbWFpbEVxdWFsKCkgOiB0aGlzLmlzRXh0ZXJuYWxJZEVxdWFsKCk7XG4gICAgfVxuXG4gICAgaXNDb21wbGV0ZUJ1dHRvbkVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQXNzaWduZWRUb01lKCkgfHwgdGhpcy5jYW5Jbml0aWF0b3JDb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGNhbkluaXRpYXRvckNvbXBsZXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRhc2tEZXRhaWxzPy5pbml0aWF0b3JDYW5Db21wbGV0ZVRhc2s7XG4gICAgfVxuXG4gICAgaXNSZWFkT25seUZvcm0oKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCByZWFkT25seUZvcm06IGJvb2xlYW47XG4gICAgICAgIGlmICh0aGlzLmlzQ2FuZGlkYXRlTWVtYmVyKCkpIHtcbiAgICAgICAgICAgIHJlYWRPbmx5Rm9ybSA9IHRoaXMuaW50ZXJuYWxSZWFkT25seUZvcm0gfHwgIXRoaXMuaXNBc3NpZ25lZFRvTWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlYWRPbmx5Rm9ybSA9XG4gICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFJlYWRPbmx5Rm9ybSB8fCAhKHRoaXMuaXNBc3NpZ25lZFRvTWUoKSB8fCB0aGlzLmNhbkN1cnJlbnRVc2VyQXNJbml0aWF0b3JDb21wbGV0ZSgpIHx8IHRoaXMuaXNDdXJyZW50VXNlckludm9sdmVkKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlYWRPbmx5Rm9ybTtcbiAgICB9XG5cbiAgICBpc0N1cnJlbnRVc2VySW52b2x2ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBpc0ludm9sdmVkID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLnRhc2tEZXRhaWxzLmludm9sdmVkUGVvcGxlICYmIHRoaXMuY3VycmVudExvZ2dlZFVzZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHVzZXJJbnZvbHZlZCA9IHRoaXMudGFza0RldGFpbHMuaW52b2x2ZWRQZW9wbGUuZmluZChcbiAgICAgICAgICAgICAgICAoaW52b2x2ZWRVc2VyKSA9PlxuICAgICAgICAgICAgICAgICAgICBpbnZvbHZlZFVzZXIuZW1haWwudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gdGhpcy5jdXJyZW50TG9nZ2VkVXNlci5lbWFpbC50b0xvY2FsZUxvd2VyQ2FzZSgpIHx8XG4gICAgICAgICAgICAgICAgICAgIGludm9sdmVkVXNlci5pZCArICcnID09PSB0aGlzLmN1cnJlbnRMb2dnZWRVc2VyLmV4dGVybmFsSWRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpc0ludm9sdmVkID0gISF1c2VySW52b2x2ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50YXNrRGV0YWlscy5pbnZvbHZlZEdyb3Vwcz8ubGVuZ3RoICYmIHRoaXMuY3VycmVudExvZ2dlZFVzZXIuZ3JvdXBzPy5sZW5ndGggJiYgIWlzSW52b2x2ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHVzZXJHcm91cCA9IHRoaXMudGFza0RldGFpbHMuaW52b2x2ZWRHcm91cHMuZmluZCgoaW52b2x2ZWRHcm91cCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRMb2dnZWRVc2VyLmdyb3Vwcy5maW5kKChncm91cCkgPT4gZ3JvdXAubmFtZSA9PT0gaW52b2x2ZWRHcm91cC5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkgfHwgZ3JvdXAuaWQgPT09IGludm9sdmVkR3JvdXAuaWQpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaXNJbnZvbHZlZCA9ICEhdXNlckdyb3VwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0ludm9sdmVkO1xuICAgIH1cblxuICAgIGNhbkN1cnJlbnRVc2VyQXNJbml0aWF0b3JDb21wbGV0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuSW5pdGlhdG9yQ29tcGxldGUoKSAmJiB0aGlzLmlzUHJvY2Vzc0luaXRpYXRvcigpO1xuICAgIH1cblxuICAgIGlzUHJvY2Vzc0luaXRpYXRvcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExvZ2dlZFVzZXIgJiYgdGhpcy5jdXJyZW50TG9nZ2VkVXNlci5pZCA9PT0gK3RoaXMudGFza0RldGFpbHMucHJvY2Vzc0luc3RhbmNlU3RhcnRVc2VySWQ7XG4gICAgfVxuXG4gICAgaXNTYXZlQnV0dG9uVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvd0Zvcm1TYXZlQnV0dG9uICYmICghdGhpcy5jYW5Jbml0aWF0b3JDb21wbGV0ZSgpIHx8IHRoaXMuaXNBc3NpZ25lZFRvTWUoKSB8fCB0aGlzLmlzQ3VycmVudFVzZXJJbnZvbHZlZCgpKTtcbiAgICB9XG5cbiAgICBjYW5Db21wbGV0ZU5vRm9ybVRhc2soKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzUmVhZE9ubHlGb3JtKCk7XG4gICAgfVxuXG4gICAgZ2V0Q29tcGxldGVkVGFza1RyYW5zbGF0ZWRNZXNzYWdlKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5nZXQoJ0FERl9UQVNLX0ZPUk0uQ09NUExFVEVEX1RBU0suVElUTEUnLCB7IHRhc2tOYW1lOiB0aGlzLnRhc2tEZXRhaWxzLm5hbWUgfSk7XG4gICAgfVxuXG4gICAgaXNDYW5kaWRhdGVNZW1iZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tEZXRhaWxzLm1hbmFnZXJPZkNhbmRpZGF0ZUdyb3VwIHx8IHRoaXMudGFza0RldGFpbHMubWVtYmVyT2ZDYW5kaWRhdGVHcm91cCB8fCB0aGlzLnRhc2tEZXRhaWxzLm1lbWJlck9mQ2FuZGlkYXRlVXNlcnM7XG4gICAgfVxuXG4gICAgaXNUYXNrQ2xhaW1hYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0NhbmRpZGF0ZU1lbWJlcigpICYmICF0aGlzLmlzQXNzaWduZWQoKTtcbiAgICB9XG5cbiAgICBpc1Rhc2tDbGFpbWVkQnlDYW5kaWRhdGVNZW1iZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQ2FuZGlkYXRlTWVtYmVyKCkgJiYgdGhpcy5pc0Fzc2lnbmVkVG9NZSgpICYmICF0aGlzLmlzQ29tcGxldGVkVGFzaygpO1xuICAgIH1cblxuICAgIHJlbG9hZFRhc2soKSB7XG4gICAgICAgIHRoaXMubG9hZFRhc2sodGhpcy50YXNrSWQpO1xuICAgIH1cblxuICAgIG9uQ2xhaW1UYXNrKHRhc2tJZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudGFza0NsYWltZWQuZW1pdCh0YXNrSWQpO1xuICAgIH1cblxuICAgIG9uQ2xhaW1UYXNrRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgIH1cblxuICAgIG9uVW5jbGFpbVRhc2sodGFza0lkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50YXNrVW5jbGFpbWVkLmVtaXQodGFza0lkKTtcbiAgICB9XG5cbiAgICBvblVuY2xhaW1UYXNrRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzRW1haWxBZGRyZXNzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRhc2tEZXRhaWxzLmFzc2lnbmVlLmVtYWlsO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNFbWFpbEVxdWFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy50YXNrRGV0YWlscy5hc3NpZ25lZSAmJlxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TG9nZ2VkVXNlciAmJlxuICAgICAgICAgICAgdGhpcy50YXNrRGV0YWlscy5hc3NpZ25lZS5lbWFpbC50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSB0aGlzLmN1cnJlbnRMb2dnZWRVc2VyLmVtYWlsLnRvTG9jYWxlTG93ZXJDYXNlKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRXh0ZXJuYWxJZEVxdWFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YXNrRGV0YWlscy5hc3NpZ25lZSAmJiB0aGlzLmN1cnJlbnRMb2dnZWRVc2VyICYmIHRoaXMudGFza0RldGFpbHMuYXNzaWduZWUuZXh0ZXJuYWxJZCA9PT0gdGhpcy5jdXJyZW50TG9nZ2VkVXNlci5leHRlcm5hbElkO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZzsgZWxzZSBsb2FkaW5nVGVtcGxhdGVcIj5cbiAgPGFkZi1mb3JtICpuZ0lmPVwiaGFzRm9ybUtleSgpOyBlbHNlIHdpdGhvdXRGb3JtXCJcbiAgICBbdGFza0lkXT1cInRhc2tEZXRhaWxzPy5pZFwiXG4gICAgW3Nob3dUaXRsZV09XCJzaG93Rm9ybVRpdGxlXCJcbiAgICBbc2hvd1ZhbGlkYXRpb25JY29uXT1cInNob3dGb3JtVmFsaWRhdGlvbkljb25cIlxuICAgIFtzaG93UmVmcmVzaEJ1dHRvbl09XCJzaG93Rm9ybVJlZnJlc2hCdXR0b25cIlxuICAgIFtzaG93Q29tcGxldGVCdXR0b25dPVwic2hvd0Zvcm1Db21wbGV0ZUJ1dHRvblwiXG4gICAgW3Nob3dTYXZlQnV0dG9uXT1cImlzU2F2ZUJ1dHRvblZpc2libGUoKVwiXG4gICAgW2Rpc2FibGVDb21wbGV0ZUJ1dHRvbl09XCIhaXNDb21wbGV0ZUJ1dHRvbkVuYWJsZWQoKVwiXG4gICAgW3JlYWRPbmx5XT1cImlzUmVhZE9ubHlGb3JtKClcIlxuICAgIFtmaWVsZFZhbGlkYXRvcnNdPVwiZmllbGRWYWxpZGF0b3JzXCJcbiAgICAoZm9ybVNhdmVkKT0nb25Gb3JtU2F2ZWQoJGV2ZW50KSdcbiAgICAoZm9ybUNvbXBsZXRlZCk9J29uRm9ybUNvbXBsZXRlZCgkZXZlbnQpJ1xuICAgIChmb3JtQ29udGVudENsaWNrZWQpPSdvbkZvcm1Db250ZW50Q2xpY2soJGV2ZW50KSdcbiAgICAoZm9ybUxvYWRlZCk9J29uRm9ybUxvYWRlZCgkZXZlbnQpJ1xuICAgIChmb3JtRXJyb3IpPSdvbkZvcm1FcnJvcigkZXZlbnQpJ1xuICAgIChlcnJvcik9J29uRXJyb3IoJGV2ZW50KSdcbiAgICAoZXhlY3V0ZU91dGNvbWUpPSdvbkZvcm1FeGVjdXRlT3V0Y29tZSgkZXZlbnQpJz5cbiAgICA8YWRmLWZvcm0tY3VzdG9tLW91dGNvbWVzPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFza0Zvcm1CdXR0b25zXCIgLz5cbiAgICA8L2FkZi1mb3JtLWN1c3RvbS1vdXRjb21lcz5cbiAgPC9hZGYtZm9ybT5cbiAgPG5nLXRlbXBsYXRlICN3aXRob3V0Rm9ybT5cbiAgICA8YWRmLXRhc2stc3RhbmRhbG9uZSAqbmdJZj1cImlzU3RhbmRhbG9uZVRhc2soKTsgZWxzZSBlbXB0eUZvcm1NZXNzYWdlXCJcbiAgICAgICAgW3Rhc2tOYW1lXT1cInRhc2tEZXRhaWxzLm5hbWVcIlxuICAgICAgICBbdGFza0lkXT1cInRhc2tEZXRhaWxzLmlkXCJcbiAgICAgICAgW2lzQ29tcGxldGVkXT1cImlzQ29tcGxldGVkVGFzaygpXCJcbiAgICAgICAgW2hhc0NvbXBsZXRlUGVybWlzc2lvbl09XCJpc0NvbXBsZXRlQnV0dG9uVmlzaWJsZSgpXCJcbiAgICAgICAgW2hpZGVDYW5jZWxCdXR0b25dPVwic2hvd0NhbmNlbEJ1dHRvblwiXG4gICAgICAgIChjb21wbGV0ZSk9XCJvbkNvbXBsZXRlVGFzaygpXCJcbiAgICAgICAgKHNob3dBdHRhY2hGb3JtKT1cIm9uU2hvd0F0dGFjaEZvcm0oKVwiIC8+XG4gICAgICA8bmctdGVtcGxhdGUgI2VtcHR5Rm9ybU1lc3NhZ2U+XG4gICAgICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBjbGFzcz1cImFkZi10YXNrLWZvcm0tY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPGg0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtZm9ybS10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGFza0RldGFpbHMubmFtZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0YXNrRGV0YWlscy5uYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J0ZPUk0uRk9STV9SRU5ERVJFUi5OQU1FTEVTU19UQVNLJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGFkZi1lbXB0eS1jb250ZW50ICpuZ0lmPVwiaXNDb21wbGV0ZWRUYXNrKCk7IGVsc2UgZW1wdHlGb3JtVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCInZGVzY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImdldENvbXBsZXRlZFRhc2tUcmFuc2xhdGVkTWVzc2FnZSgpIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICBbc3VidGl0bGVdPVwiJ0FERl9UQVNLX0ZPUk0uQ09NUExFVEVEX1RBU0suU1VCVElUTEUnXCIgLz5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2VtcHR5Rm9ybVRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8YWRmLWVtcHR5LWNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cIidkZXNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBREZfVEFTS19MSVNULlNUQU5EQUxPTkVfVEFTSy5OT19GT1JNX01FU1NBR0UnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdWJ0aXRsZV09XCInQURGX1RBU0tfRk9STS5FTVBUWV9GT1JNLlNVQlRJVExFJ1wiIC8+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi10YXNrLWZvcm0tYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFza0Zvcm1CdXR0b25zXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc0NvbXBsZXRlZFRhc2soKVwiIGlkPVwiYWRmLW5vLWZvcm0tY29tcGxldGUtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi10YXNrLWZvcm0tYWN0aW9ucy1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNhbkNvbXBsZXRlTm9Gb3JtVGFzaygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNvbXBsZXRlVGFzaygpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eydBREZfVEFTS19GT1JNLkVNUFRZX0ZPUk0uQlVUVE9OUy5DT01QTEVURScgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICN0YXNrRm9ybUJ1dHRvbnM+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBpZD1cImFkZi1uby1mb3JtLWNhbmNlbC1idXR0b25cIlxuICAgICAgICAgICAgKm5nSWY9XCJzaG93Q2FuY2VsQnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNhbmNlbCgpXCI+XG4gICAgICAgICAgICB7eydBREZfVEFTS19GT1JNLkVNUFRZX0ZPUk0uQlVUVE9OUy5DQU5DRUwnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtdGFzay1mb3JtLWNsYWltLWJ1dHRvblwiXG4gICAgICAgICAgICAqbmdJZj1cImlzVGFza0NsYWltYWJsZSgpXCJcbiAgICAgICAgICAgIGFkZi1jbGFpbS10YXNrXG4gICAgICAgICAgICBbdGFza0lkXT1cInRhc2tJZFwiXG4gICAgICAgICAgICAoc3VjY2Vzcyk9XCJvbkNsYWltVGFzaygkZXZlbnQpXCJcbiAgICAgICAgICAgIChlcnJvcik9XCJvbkNsYWltVGFza0Vycm9yKCRldmVudClcIj5cbiAgICAgICAgICAgIHt7ICdBREZfVEFTS19GT1JNLkVNUFRZX0ZPUk0uQlVUVE9OUy5DTEFJTScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtdGFzay1mb3JtLXVuY2xhaW0tYnV0dG9uXCJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNUYXNrQ2xhaW1lZEJ5Q2FuZGlkYXRlTWVtYmVyKClcIlxuICAgICAgICAgICAgYWRmLXVuY2xhaW0tdGFza1xuICAgICAgICAgICAgW3Rhc2tJZF09XCJ0YXNrSWRcIlxuICAgICAgICAgICAgKHN1Y2Nlc3MpPVwib25VbmNsYWltVGFzaygkZXZlbnQpXCJcbiAgICAgICAgICAgIChlcnJvcik9XCJvblVuY2xhaW1UYXNrRXJyb3IoJGV2ZW50KVwiPlxuICAgICAgICAgICAge3sgJ0FERl9UQVNLX0ZPUk0uRU1QVFlfRk9STS5CVVRUT05TLlVOQ0xBSU0nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI2xvYWRpbmdUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLXRhc2stZm9ybS1zcGlubmVyLWNvbnRhaW5lclwiPlxuICAgICAgICA8bWF0LXNwaW5uZXIgLz5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -54,10 +54,10 @@ export class UnclaimTaskDirective {
|
|
|
54
54
|
this.success.emit(this.taskId);
|
|
55
55
|
}, (error) => this.error.emit(error));
|
|
56
56
|
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
58
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UnclaimTaskDirective, deps: [{ token: i1.TaskListService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
58
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: UnclaimTaskDirective, isStandalone: true, selector: "[adf-unclaim-task]", inputs: { taskId: "taskId" }, outputs: { success: "success", error: "error" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
|
|
59
59
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UnclaimTaskDirective, decorators: [{
|
|
61
61
|
type: Directive,
|
|
62
62
|
args: [{
|
|
63
63
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
74
74
|
type: HostListener,
|
|
75
75
|
args: ['click']
|
|
76
76
|
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5jbGFpbS10YXNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvdGFzay1saXN0L2NvbXBvbmVudHMvdGFzay1mb3JtL3VuY2xhaW0tdGFzay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFPbEUsTUFBTSxPQUFPLG9CQUFvQjtJQWU3QixZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFWcEQseUNBQXlDO1FBRXpDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxDLGdEQUFnRDtRQUVoRCxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVoQyxrQkFBYSxHQUFhLEVBQUUsQ0FBQztJQUUwQixDQUFDO0lBR3hELE9BQU87UUFDSCxJQUFJLENBQUM7WUFDRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlFLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLFdBQVc7UUFDZixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUNuRCxHQUFHLEVBQUU7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDcEMsQ0FBQztJQUNOLENBQUM7OEdBbERRLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7aUJBQ25CO29GQUlHLE1BQU07c0JBREwsS0FBSztnQkFLTixPQUFPO3NCQUROLE1BQU07Z0JBS1AsS0FBSztzQkFESixNQUFNO2dCQVFQLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhc2tMaXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rhc2tsaXN0LnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2FkZi11bmNsYWltLXRhc2tdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFVuY2xhaW1UYXNrRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKiogKFJlcXVpcmVkKSBUaGUgaWQgb2YgdGhlIHRhc2suICovXG4gICAgQElucHV0KClcbiAgICB0YXNrSWQ6IHN0cmluZztcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHRhc2sgaXMgcmVsZWFzZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgc3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdGFzayBjYW5ub3QgYmUgcmVsZWFzZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIGludmFsaWRQYXJhbXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRhc2tMaXN0U2VydmljZTogVGFza0xpc3RTZXJ2aWNlKSB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnVuY2xhaW1UYXNrKCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVJbnB1dHMoKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZUlucHV0cygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVGFza1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW52YWxpZFBhcmFtcy5wdXNoKCd0YXNrSWQnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbnZhbGlkUGFyYW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBdHRyaWJ1dGUgJHt0aGlzLmludmFsaWRQYXJhbXMuam9pbignLCAnKX0gaXMgcmVxdWlyZWRgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzVGFza1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YXNrSWQgJiYgdGhpcy50YXNrSWQubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVuY2xhaW1UYXNrKCkge1xuICAgICAgICB0aGlzLnRhc2tMaXN0U2VydmljZS51bmNsYWltVGFzayh0aGlzLnRhc2tJZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMudGFza0lkKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyb3IpID0+IHRoaXMuZXJyb3IuZW1pdChlcnJvcilcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|