@alfresco/adf-process-services-cloud 8.1.0-14660630465 → 8.1.0-14701637708
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/components/app-details-cloud/app-details-cloud.component.mjs +4 -4
- package/esm2022/lib/app/components/app-list-cloud/app-list-cloud.component.mjs +4 -4
- package/esm2022/lib/app/services/apps-process-cloud.service.mjs +4 -4
- package/esm2022/lib/common/date-range-filter/date-range-filter.component.mjs +4 -4
- package/esm2022/lib/common/date-range-filter/date-range-filter.service.mjs +4 -4
- package/esm2022/lib/form/components/cloud-form-rendering.service.mjs +4 -4
- package/esm2022/lib/form/components/form-cloud-custom-outcomes.component.mjs +4 -4
- package/esm2022/lib/form/components/form-cloud.component.mjs +4 -4
- package/esm2022/lib/form/components/form-definition-selector-cloud.component.mjs +4 -4
- package/esm2022/lib/form/components/spinner/form-spinner.component.mjs +4 -4
- package/esm2022/lib/form/components/widgets/attach-file/attach-file-cloud-widget.component.mjs +4 -4
- package/esm2022/lib/form/components/widgets/attach-file/file-properties-table/file-properties-table-cloud.component.mjs +4 -4
- package/esm2022/lib/form/components/widgets/data-table/data-table.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/date/date-cloud.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/display-external-property/display-external-property.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/display-rich-text/display-rich-text.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/dropdown/dropdown-cloud.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/file-viewer/file-viewer.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/group/group-cloud.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/people/people-cloud.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer-wrapper/properties-viewer-wrapper.component.mjs +4 -4
- package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/upload/upload-cloud.widget.mjs +4 -4
- package/esm2022/lib/form/form-cloud.module.mjs +5 -5
- package/esm2022/lib/form/services/content-cloud-node-selector.service.mjs +4 -4
- package/esm2022/lib/form/services/display-mode.service.mjs +4 -4
- package/esm2022/lib/form/services/form-cloud.service.mjs +4 -4
- package/esm2022/lib/form/services/form-definition-selector-cloud.service.mjs +4 -4
- package/esm2022/lib/form/services/form-utils.service.mjs +4 -4
- package/esm2022/lib/form/services/process-cloud-content.service.mjs +4 -4
- package/esm2022/lib/form/services/spinner/form-cloud-spinner.service.mjs +4 -4
- package/esm2022/lib/group/components/group-cloud.component.mjs +4 -4
- package/esm2022/lib/group/group-cloud.module.mjs +5 -5
- package/esm2022/lib/group/services/identity-group.service.mjs +4 -4
- package/esm2022/lib/people/components/people-cloud.component.mjs +4 -4
- package/esm2022/lib/people/people-cloud.module.mjs +5 -5
- package/esm2022/lib/people/services/identity-user.service.mjs +4 -4
- package/esm2022/lib/process/process-cloud.module.mjs +5 -5
- package/esm2022/lib/process/process-filters/components/edit-process-filter/edit-process-filter-cloud.component.mjs +4 -4
- package/esm2022/lib/process/process-filters/components/process-filter-dialog/process-filter-dialog-cloud.component.mjs +4 -4
- package/esm2022/lib/process/process-filters/components/process-filters/process-filters-cloud.component.mjs +4 -4
- package/esm2022/lib/process/process-filters/process-filters-cloud.module.mjs +5 -5
- package/esm2022/lib/process/process-filters/services/process-filter-cloud.service.mjs +4 -4
- package/esm2022/lib/process/process-header/components/process-header-cloud.component.mjs +4 -4
- package/esm2022/lib/process/process-header/process-header-cloud.module.mjs +5 -5
- package/esm2022/lib/process/process-list/components/process-list-cloud.component.mjs +4 -4
- package/esm2022/lib/process/process-list/process-list-cloud.module.mjs +5 -5
- package/esm2022/lib/process/process-list/services/process-list-cloud.service.mjs +4 -4
- package/esm2022/lib/process/process-list/services/process-task-list-cloud.service.mjs +4 -4
- package/esm2022/lib/process/services/process-cloud.service.mjs +4 -4
- package/esm2022/lib/process/start-process/components/start-process-cloud.component.mjs +4 -4
- package/esm2022/lib/process/start-process/services/start-process-cloud.service.mjs +4 -4
- package/esm2022/lib/process-services-cloud.module.mjs +5 -5
- package/esm2022/lib/rich-text-editor/rich-text-editor.component.mjs +4 -4
- package/esm2022/lib/rich-text-editor/rich-text-editor.module.mjs +5 -5
- package/esm2022/lib/screen/components/screen-cloud/screen-cloud.component.mjs +4 -4
- package/esm2022/lib/services/base-cloud.service.mjs +4 -4
- package/esm2022/lib/services/local-preference-cloud.service.mjs +4 -4
- package/esm2022/lib/services/notification-cloud.service.mjs +4 -4
- package/esm2022/lib/services/screen-rendering.service.mjs +4 -4
- package/esm2022/lib/services/user-preference-cloud.service.mjs +4 -4
- package/esm2022/lib/services/variable-mapper.sevice.mjs +4 -4
- package/esm2022/lib/services/web-socket.service.mjs +4 -4
- package/esm2022/lib/task/services/task-cloud.service.mjs +4 -4
- package/esm2022/lib/task/task-cloud.module.mjs +5 -5
- package/esm2022/lib/task/task-filters/components/base-task-filters-cloud.component.mjs +4 -4
- package/esm2022/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.mjs +4 -4
- package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter/edit-service-task-filter-cloud.component.mjs +4 -4
- package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-task-filter/edit-task-filter-cloud.component.mjs +5 -7
- package/esm2022/lib/task/task-filters/components/service-task-filters/service-task-filters-cloud.component.mjs +4 -4
- package/esm2022/lib/task/task-filters/components/task-assignment-filter/task-assignment-filter.component.mjs +4 -4
- package/esm2022/lib/task/task-filters/components/task-filter-dialog/task-filter-dialog-cloud.component.mjs +4 -4
- package/esm2022/lib/task/task-filters/components/task-filters/task-filters-cloud.component.mjs +4 -4
- package/esm2022/lib/task/task-filters/services/service-task-filter-cloud.service.mjs +4 -4
- package/esm2022/lib/task/task-filters/services/task-filter-cloud.service.mjs +4 -4
- package/esm2022/lib/task/task-filters/task-filters-cloud.module.mjs +5 -5
- package/esm2022/lib/task/task-form/components/task-form-cloud/task-form-cloud.component.mjs +4 -4
- package/esm2022/lib/task/task-form/components/user-task-cloud/complete-task/complete-task.directive.mjs +4 -4
- package/esm2022/lib/task/task-form/components/user-task-cloud/user-task-cloud.component.mjs +5 -5
- package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/claim-task/claim-task-cloud.directive.mjs +4 -4
- package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/unclaim-task/unclaim-task-cloud.directive.mjs +4 -4
- package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/user-task-cloud-buttons.component.mjs +4 -4
- package/esm2022/lib/task/task-form/task-form.module.mjs +5 -5
- package/esm2022/lib/task/task-header/components/task-header-cloud.component.mjs +4 -4
- package/esm2022/lib/task/task-header/task-header-cloud.module.mjs +5 -5
- package/esm2022/lib/task/task-list/components/base-task-list-cloud.component.mjs +4 -4
- package/esm2022/lib/task/task-list/components/service-task-list/service-task-list-cloud.component.mjs +4 -4
- package/esm2022/lib/task/task-list/components/task-list/task-list-cloud.component.mjs +4 -4
- package/esm2022/lib/task/task-list/services/service-task-list-cloud.service.mjs +4 -4
- package/esm2022/lib/task/task-list/services/task-list-cloud.service.mjs +4 -4
- package/esm2022/lib/task/task-list/task-list-cloud.module.mjs +5 -5
- package/fesm2022/adf-process-services-cloud.mjs +297 -299
- package/fesm2022/adf-process-services-cloud.mjs.map +1 -1
- package/lib/common/date-range-filter/date-range-filter.service.d.ts +1 -1
- package/package.json +4 -4
|
@@ -49,11 +49,11 @@ export class ProcessFilterDialogCloudComponent {
|
|
|
49
49
|
onCancelClick() {
|
|
50
50
|
this.dialogRef.close();
|
|
51
51
|
}
|
|
52
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
53
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFilterDialogCloudComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProcessFilterDialogCloudComponent, isStandalone: true, selector: "adf-cloud-process-filter-dialog-cloud", ngImport: i0, template: "<div class=\"adf-process-filter-dialog\">\n <span mat-dialog-title id=\"adf-process-filter-dialog-title\">\n {{ 'ADF_CLOUD_EDIT_PROCESS_FILTER.DIALOG.TITLE' | translate}}\n </span>\n <mat-card appearance=\"outlined\" class=\"adf-process-filter-dialog-card\">\n <mat-card-content class=\"adf-process-filter-dialog-card-content\">\n <form [formGroup]=\"filterForm\">\n <mat-form-field class=\"adf-process-filter-name\" [floatLabel]=\"'auto'\">\n <input\n matInput\n placeholder=\"{{ 'ADF_CLOUD_EDIT_PROCESS_FILTER.FILTER_NAME' | translate }}\"\n [formControl]=\"filterForm.controls.name\" id=\"adf-filter-name-id\">\n </mat-form-field>\n </form>\n </mat-card-content>\n <mat-card-actions class='adf-process-filter-dialog-actions'>\n <button mat-button (click)=\"onSaveClick()\" id=\"adf-save-button-id\" [disabled]=\"!filterForm.valid\">\n {{ 'ADF_CLOUD_EDIT_PROCESS_FILTER.DIALOG.SAVE' | translate}}\n </button>\n <button mat-button (click)=\"onCancelClick()\" id=\"adf-cancel-button-id\">\n {{ 'ADF_CLOUD_EDIT_PROCESS_FILTER.DIALOG.CANCEL' | translate}}\n </button>\n </mat-card-actions>\n </mat-card>\n</div>\n", styles: ["adf-cloud-process-filter-dialog-cloud .adf-process-filter-dialog .adf-process-filter-dialog-card{padding:0;box-shadow:none}adf-cloud-process-filter-dialog-cloud .adf-process-filter-dialog .adf-process-filter-dialog-card .adf-process-filter-name{flex:1}adf-cloud-process-filter-dialog-cloud .adf-process-filter-dialog .adf-process-filter-dialog-card .adf-process-filter-dialog-actions{display:flex;max-height:100%;place-content:flex-end;align-items:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i7.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
54
54
|
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFilterDialogCloudComponent, decorators: [{
|
|
56
56
|
type: Component,
|
|
57
57
|
args: [{ selector: 'adf-cloud-process-filter-dialog-cloud', standalone: true, imports: [TranslateModule, MatButtonModule, MatCardModule, MatInputModule, ReactiveFormsModule, MatDialogModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-process-filter-dialog\">\n <span mat-dialog-title id=\"adf-process-filter-dialog-title\">\n {{ 'ADF_CLOUD_EDIT_PROCESS_FILTER.DIALOG.TITLE' | translate}}\n </span>\n <mat-card appearance=\"outlined\" class=\"adf-process-filter-dialog-card\">\n <mat-card-content class=\"adf-process-filter-dialog-card-content\">\n <form [formGroup]=\"filterForm\">\n <mat-form-field class=\"adf-process-filter-name\" [floatLabel]=\"'auto'\">\n <input\n matInput\n placeholder=\"{{ 'ADF_CLOUD_EDIT_PROCESS_FILTER.FILTER_NAME' | translate }}\"\n [formControl]=\"filterForm.controls.name\" id=\"adf-filter-name-id\">\n </mat-form-field>\n </form>\n </mat-card-content>\n <mat-card-actions class='adf-process-filter-dialog-actions'>\n <button mat-button (click)=\"onSaveClick()\" id=\"adf-save-button-id\" [disabled]=\"!filterForm.valid\">\n {{ 'ADF_CLOUD_EDIT_PROCESS_FILTER.DIALOG.SAVE' | translate}}\n </button>\n <button mat-button (click)=\"onCancelClick()\" id=\"adf-cancel-button-id\">\n {{ 'ADF_CLOUD_EDIT_PROCESS_FILTER.DIALOG.CANCEL' | translate}}\n </button>\n </mat-card-actions>\n </mat-card>\n</div>\n", styles: ["adf-cloud-process-filter-dialog-cloud .adf-process-filter-dialog .adf-process-filter-dialog-card{padding:0;box-shadow:none}adf-cloud-process-filter-dialog-cloud .adf-process-filter-dialog .adf-process-filter-dialog-card .adf-process-filter-name{flex:1}adf-cloud-process-filter-dialog-cloud .adf-process-filter-dialog .adf-process-filter-dialog-card .adf-process-filter-dialog-actions{display:flex;max-height:100%;place-content:flex-end;align-items:flex-end}\n"] }]
|
|
58
58
|
}] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1maWx0ZXItZGlhbG9nLWNsb3VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvcHJvY2Vzcy9wcm9jZXNzLWZpbHRlcnMvY29tcG9uZW50cy9wcm9jZXNzLWZpbHRlci1kaWFsb2cvcHJvY2Vzcy1maWx0ZXItZGlhbG9nLWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvcHJvY2Vzcy9wcm9jZXNzLWZpbHRlcnMvY29tcG9uZW50cy9wcm9jZXNzLWZpbHRlci1kaWFsb2cvcHJvY2Vzcy1maWx0ZXItZGlhbG9nLWNsb3VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7O0FBV3pELE1BQU0sT0FBTyxpQ0FBaUM7SUFUOUM7UUFVb0IsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFlBQStDLENBQUEsQ0FBQyxDQUFDO1FBQ3BFLFNBQUksR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFHL0MsZ0JBQVcsR0FBRyxPQUFPLENBQUM7UUFFdEIsZUFBVSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQ3ZCLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMvRCxDQUFDLENBQUM7S0FhTjthQWxCaUIsZ0JBQVcsR0FBRyxNQUFNLEFBQVQsQ0FBVTtJQU9uQyxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDakIsTUFBTSxFQUFFLGlDQUFpQyxDQUFDLFdBQVc7WUFDckQsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSztTQUM1QyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0FyQlEsaUNBQWlDO21HQUFqQyxpQ0FBaUMsaUdDbEM5Qyw0MUNBeUJBLG9nQkRHYyxlQUFlLDJGQUFFLGVBQWUsMk5BQUUsYUFBYSx5VkFBRSxjQUFjLHFqQkFBRSxtQkFBbUIsKzlCQUFFLGVBQWU7OzRGQU10RyxpQ0FBaUM7a0JBVDdDLFNBQVM7K0JBQ0ksdUNBQXVDLGNBQ3JDLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLENBQUMsbUJBRy9GLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ01vZHVsZSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1jbG91ZC1wcm9jZXNzLWZpbHRlci1kaWFsb2ctY2xvdWQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRDYXJkTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0RGlhbG9nTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvY2Vzcy1maWx0ZXItZGlhbG9nLWNsb3VkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzLWZpbHRlci1kaWFsb2ctY2xvdWQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NGaWx0ZXJEaWFsb2dDbG91ZENvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IGRpYWxvZ1JlZiA9IGluamVjdChNYXREaWFsb2dSZWY8UHJvY2Vzc0ZpbHRlckRpYWxvZ0Nsb3VkQ29tcG9uZW50Pik7XG4gICAgcHVibGljIHJlYWRvbmx5IGRhdGEgPSBpbmplY3QoTUFUX0RJQUxPR19EQVRBKTtcblxuICAgIHB1YmxpYyBzdGF0aWMgQUNUSU9OX1NBVkUgPSAnU0FWRSc7XG4gICAgZGVmYXVsdEljb24gPSAnaW5ib3gnO1xuXG4gICAgZmlsdGVyRm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5kYXRhLm5hbWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICB9KTtcblxuICAgIG9uU2F2ZUNsaWNrKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICAgICAgICBhY3Rpb246IFByb2Nlc3NGaWx0ZXJEaWFsb2dDbG91ZENvbXBvbmVudC5BQ1RJT05fU0FWRSxcbiAgICAgICAgICAgIGljb246IHRoaXMuZGVmYXVsdEljb24sXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmZpbHRlckZvcm0uY29udHJvbHMubmFtZS52YWx1ZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNhbmNlbENsaWNrKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGYtcHJvY2Vzcy1maWx0ZXItZGlhbG9nXCI+XG4gICAgPHNwYW4gbWF0LWRpYWxvZy10aXRsZSBpZD1cImFkZi1wcm9jZXNzLWZpbHRlci1kaWFsb2ctdGl0bGVcIj5cbiAgICAgICAgIHt7ICdBREZfQ0xPVURfRURJVF9QUk9DRVNTX0ZJTFRFUi5ESUFMT0cuVElUTEUnIHwgdHJhbnNsYXRlfX1cbiAgICA8L3NwYW4+XG4gICAgPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIGNsYXNzPVwiYWRmLXByb2Nlc3MtZmlsdGVyLWRpYWxvZy1jYXJkXCI+XG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiYWRmLXByb2Nlc3MtZmlsdGVyLWRpYWxvZy1jYXJkLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZmlsdGVyRm9ybVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1wcm9jZXNzLWZpbHRlci1uYW1lXCIgW2Zsb2F0TGFiZWxdPVwiJ2F1dG8nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnQURGX0NMT1VEX0VESVRfUFJPQ0VTU19GSUxURVIuRklMVEVSX05BTUUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZpbHRlckZvcm0uY29udHJvbHMubmFtZVwiIGlkPVwiYWRmLWZpbHRlci1uYW1lLWlkXCI+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucyBjbGFzcz0nYWRmLXByb2Nlc3MtZmlsdGVyLWRpYWxvZy1hY3Rpb25zJz5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwib25TYXZlQ2xpY2soKVwiIGlkPVwiYWRmLXNhdmUtYnV0dG9uLWlkXCIgW2Rpc2FibGVkXT1cIiFmaWx0ZXJGb3JtLnZhbGlkXCI+XG4gICAgICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9FRElUX1BST0NFU1NfRklMVEVSLkRJQUxPRy5TQVZFJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwib25DYW5jZWxDbGljaygpXCIgaWQ9XCJhZGYtY2FuY2VsLWJ1dHRvbi1pZFwiPlxuICAgICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9FRElUX1BST0NFU1NfRklMVEVSLkRJQUxPRy5DQU5DRUwnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gICAgPC9tYXQtY2FyZD5cbjwvZGl2PlxuIl19
|
|
@@ -262,10 +262,10 @@ export class ProcessFiltersCloudComponent {
|
|
|
262
262
|
? this.processListCloudService.getProcessListCounter(new ProcessFilterCloudAdapter(filter))
|
|
263
263
|
: this.processListCloudService.getProcessCounter(filter.appName, filter.status);
|
|
264
264
|
}
|
|
265
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
266
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
265
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFiltersCloudComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
266
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProcessFiltersCloudComponent, isStandalone: true, selector: "adf-cloud-process-filters", inputs: { appName: "appName", searchApiMethod: "searchApiMethod", filterParam: "filterParam", showIcons: "showIcons" }, outputs: { filterSelected: "filterSelected", filterClicked: "filterClicked", success: "success", error: "error", updatedFilter: "updatedFilter" }, usesOnChanges: true, ngImport: i0, template: "<mat-action-list class=\"adf-process-filters\" *ngIf=\"filters$ | async as filterList; else loading\">\n <button\n *ngFor=\"let filter of filterList\"\n mat-list-item\n (click)=\"onFilterClick(filter)\"\n [attr.aria-label]=\"filter.name | translate\"\n [id]=\"filter.id\"\n [attr.data-automation-id]=\"filter.key + '_filter'\"\n [class.adf-active]=\"currentFilter === filter\"\n >\n <div class=\"adf-process-filters__entry\">\n <div>\n <adf-icon\n data-automation-id=\"adf-filter-icon\"\n *ngIf=\"showIcons\"\n [value]=\"filter.icon\" />\n <span\n data-automation-id=\"adf-filter-label\"\n class=\"adf-filter-action-button__label\">\n {{ filter.name | translate }}\n </span>\n </div>\n <span\n *ngIf=\"counters[filter.key]\"\n [attr.data-automation-id]=\"filter.key + '_filter-counter'\"\n class=\"adf-process-filters__entry-counter\"\n [class.adf-active]=\"isFilterUpdated(filter.key)\"\n >\n {{ counters[filter.key] }}\n </span>\n </div>\n </button>\n</mat-action-list>\n<ng-template #loading>\n <ng-container>\n <div class=\"adf-app-list-spinner\">\n <mat-spinner />\n </div>\n </ng-container>\n</ng-template>\n", styles: [".adf-process-filters{margin-right:calc(-1 * var(--adf-theme-spacing))}.adf-process-filters__entry{font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-054);display:flex;align-items:center;justify-content:space-between;flex:1;height:100%;gap:var(--adf-theme-spacing)}.adf-process-filters__entry:hover{color:var(--theme-primary-color)}.adf-process-filters__entry-counter{padding:0 5px;border-radius:15px}.adf-process-filters__entry-counter.adf-active{background-color:var(--theme-accent-color);color:var(--theme-accent-color-default-contrast);font-size:smaller}.adf-process-filters .adf-active .adf-process-filters__entry{color:var(--theme-primary-color)}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i3.MatActionList, selector: "mat-action-list", exportAs: ["matActionList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
267
267
|
}
|
|
268
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFiltersCloudComponent, decorators: [{
|
|
269
269
|
type: Component,
|
|
270
270
|
args: [{ selector: 'adf-cloud-process-filters', standalone: true, imports: [TranslateModule, IconComponent, NgIf, MatProgressSpinnerModule, NgForOf, MatListModule, AsyncPipe], encapsulation: ViewEncapsulation.None, template: "<mat-action-list class=\"adf-process-filters\" *ngIf=\"filters$ | async as filterList; else loading\">\n <button\n *ngFor=\"let filter of filterList\"\n mat-list-item\n (click)=\"onFilterClick(filter)\"\n [attr.aria-label]=\"filter.name | translate\"\n [id]=\"filter.id\"\n [attr.data-automation-id]=\"filter.key + '_filter'\"\n [class.adf-active]=\"currentFilter === filter\"\n >\n <div class=\"adf-process-filters__entry\">\n <div>\n <adf-icon\n data-automation-id=\"adf-filter-icon\"\n *ngIf=\"showIcons\"\n [value]=\"filter.icon\" />\n <span\n data-automation-id=\"adf-filter-label\"\n class=\"adf-filter-action-button__label\">\n {{ filter.name | translate }}\n </span>\n </div>\n <span\n *ngIf=\"counters[filter.key]\"\n [attr.data-automation-id]=\"filter.key + '_filter-counter'\"\n class=\"adf-process-filters__entry-counter\"\n [class.adf-active]=\"isFilterUpdated(filter.key)\"\n >\n {{ counters[filter.key] }}\n </span>\n </div>\n </button>\n</mat-action-list>\n<ng-template #loading>\n <ng-container>\n <div class=\"adf-app-list-spinner\">\n <mat-spinner />\n </div>\n </ng-container>\n</ng-template>\n", styles: [".adf-process-filters{margin-right:calc(-1 * var(--adf-theme-spacing))}.adf-process-filters__entry{font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-054);display:flex;align-items:center;justify-content:space-between;flex:1;height:100%;gap:var(--adf-theme-spacing)}.adf-process-filters__entry:hover{color:var(--theme-primary-color)}.adf-process-filters__entry-counter{padding:0 5px;border-radius:15px}.adf-process-filters__entry-counter.adf-active{background-color:var(--theme-accent-color);color:var(--theme-accent-color-default-contrast);font-size:smaller}.adf-process-filters .adf-active .adf-process-filters__entry{color:var(--theme-primary-color)}\n"] }]
|
|
271
271
|
}], propDecorators: { appName: [{
|
|
@@ -287,4 +287,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
287
287
|
}], updatedFilter: [{
|
|
288
288
|
type: Output
|
|
289
289
|
}] } });
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvcHJvY2Vzcy9wcm9jZXNzLWZpbHRlcnMvY29tcG9uZW50cy9wcm9jZXNzLWZpbHRlcnMvcHJvY2Vzcy1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvcHJvY2Vzcy9wcm9jZXNzLWZpbHRlcnMvY29tcG9uZW50cy9wcm9jZXNzLWZpbHRlcnMvcHJvY2Vzcy1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhKLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXhGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RixPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FB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QyxlQUFlLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsQ0FBQyxpQkFHN0YsaUJBQWlCLENBQUMsSUFBSTs4QkFLckMsT0FBTztzQkFETixLQUFLO2dCQUtOLGVBQWU7c0JBRGQsS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLGNBQWM7c0JBRGIsTUFBTTtnQkFLUCxhQUFhO3NCQURaLE1BQU07Z0JBS1AsT0FBTztzQkFETixNQUFNO2dCQUtQLEtBQUs7c0JBREosTUFBTTtnQkFLUCxhQUFhO3NCQURaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJvY2Vzc0ZpbHRlckNsb3VkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2Nlc3MtZmlsdGVyLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcHJvY2Vzcy1maWx0ZXItY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSwgSWNvbkNvbXBvbmVudCwgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEZpbHRlclBhcmFtc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vdGFzay90YXNrLWZpbHRlcnMvbW9kZWxzL2ZpbHRlci1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFByb2Nlc3NMaXN0Q2xvdWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvY2Vzcy1saXN0L3NlcnZpY2VzL3Byb2Nlc3MtbGlzdC1jbG91ZC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2Nlc3NGaWx0ZXJDbG91ZEFkYXB0ZXIgfSBmcm9tICcuLi8uLi8uLi9wcm9jZXNzLWxpc3QvbW9kZWxzL3Byb2Nlc3MtY2xvdWQtcXVlcnktcmVxdWVzdC5tb2RlbCc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2xvdWQtcHJvY2Vzcy1maWx0ZXJzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUcmFuc2xhdGVNb2R1bGUsIEljb25Db21wb25lbnQsIE5nSWYsIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgTmdGb3JPZiwgTWF0TGlzdE1vZHVsZSwgQXN5bmNQaXBlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvY2Vzcy1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzLWZpbHRlcnMtY2xvdWQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NGaWx0ZXJzQ2xvdWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgLyoqIChyZXF1aXJlZCkgVGhlIGFwcGxpY2F0aW9uIG5hbWUgKi9cbiAgICBASW5wdXQoKVxuICAgIGFwcE5hbWU6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIChvcHRpb25hbCkgRnJvbSBBY3Rpdml0aSA4LjcuMCBmb3J3YXJkLCB1c2UgdGhlICdQT1NUJyBtZXRob2QgdG8gZ2V0IHRoZSBwcm9jZXNzIGNvdW50ICovXG4gICAgQElucHV0KClcbiAgICBzZWFyY2hBcGlNZXRob2Q6ICdHRVQnIHwgJ1BPU1QnID0gJ0dFVCc7XG5cbiAgICAvKiogKG9wdGlvbmFsKSBUaGUgZmlsdGVyIHRvIGJlIHNlbGVjdGVkIGJ5IGRlZmF1bHQgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbHRlclBhcmFtOiBGaWx0ZXJQYXJhbXNNb2RlbDtcblxuICAgIC8qKiAob3B0aW9uYWwpIFRvZ2dsZXMgc2hvd2luZyBhbiBpY29uIGJ5IHRoZSBzaWRlIG9mIGVhY2ggZmlsdGVyICovXG4gICAgQElucHV0KClcbiAgICBzaG93SWNvbnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYSBmaWx0ZXIgaXMgYmVpbmcgc2VsZWN0ZWQgYmFzZWQgb24gdGhlIGZpbHRlclBhcmFtIGlucHV0LiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZpbHRlclNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYSBmaWx0ZXIgaXMgYmVpbmcgY2xpY2tlZCBmcm9tIHRoZSBVSS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmaWx0ZXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gZmlsdGVycyBhcmUgbG9hZGVkIHN1Y2Nlc3NmdWxseSAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYW55IGVycm9yIG9jY3VycyB3aGlsZSBsb2FkaW5nIHRoZSBmaWx0ZXJzICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gZmlsdGVyIGlzIHVwZGF0ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgdXBkYXRlZEZpbHRlcjogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIGZpbHRlcnMkOiBPYnNlcnZhYmxlPFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsW10+O1xuICAgIGN1cnJlbnRGaWx0ZXI/OiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbDtcbiAgICBmaWx0ZXJzOiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdID0gW107XG4gICAgY291bnRlcnM6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcbiAgICBlbmFibGVOb3RpZmljYXRpb25zOiBib29sZWFuO1xuICAgIGN1cnJlbnRGaWx0ZXJzVmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge307XG4gICAgdXBkYXRlZEZpbHRlcnNTZXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NGaWx0ZXJDbG91ZFNlcnZpY2UgPSBpbmplY3QoUHJvY2Vzc0ZpbHRlckNsb3VkU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZ1NlcnZpY2UgPSBpbmplY3QoQXBwQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzTGlzdENsb3VkU2VydmljZSA9IGluamVjdChQcm9jZXNzTGlzdENsb3VkU2VydmljZSk7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5lbmFibGVOb3RpZmljYXRpb25zID0gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldCgnbm90aWZpY2F0aW9ucycsIHRydWUpO1xuICAgICAgICBpZiAodGhpcy5hcHBOYW1lID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy5nZXRGaWx0ZXJzKHRoaXMuYXBwTmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0UHJvY2Vzc05vdGlmaWNhdGlvbigpO1xuICAgICAgICB0aGlzLmdldEZpbHRlcktleXNBZnRlckV4dGVybmFsUmVmcmVzaGluZygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgYXBwTmFtZSA9IGNoYW5nZXNbJ2FwcE5hbWUnXTtcbiAgICAgICAgY29uc3QgZmlsdGVyID0gY2hhbmdlc1snZmlsdGVyUGFyYW0nXTtcbiAgICAgICAgaWYgKGFwcE5hbWU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5nZXRGaWx0ZXJzKGFwcE5hbWUuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIgJiYgZmlsdGVyLmN1cnJlbnRWYWx1ZSAhPT0gZmlsdGVyLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyQW5kRW1pdChmaWx0ZXIuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZldGNoIHRoZSBmaWx0ZXIgbGlzdCBiYXNlZCBvbiBhcHBOYW1lXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBhcHBsaWNhdGlvbiBuYW1lXG4gICAgICovXG4gICAgZ2V0RmlsdGVycyhhcHBOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzJCA9IHRoaXMucHJvY2Vzc0ZpbHRlckNsb3VkU2VydmljZS5nZXRQcm9jZXNzRmlsdGVycyhhcHBOYW1lKTtcblxuICAgICAgICB0aGlzLmZpbHRlcnMkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldEZpbHRlcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVycyA9IHJlcyB8fCBbXTtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRGaWx0ZXJDb3VudGVycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyQW5kRW1pdCh0aGlzLmZpbHRlclBhcmFtKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdChyZXMpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRmlsdGVyQ291bnRlcnMoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemUgY291bnRlciBjb2xsZWN0aW9uIGZvciBmaWx0ZXJzXG4gICAgICovXG4gICAgaW5pdEZpbHRlckNvdW50ZXJzKCkge1xuICAgICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiAodGhpcy5jb3VudGVyc1tmaWx0ZXIua2V5XSA9IDApKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzIHRoZSBzZWxlY3RlZCBmaWx0ZXIgYXMgbmV4dFxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtRmlsdGVyIGZpbHRlciBtb2RlbFxuICAgICAqL1xuICAgIHNlbGVjdEZpbHRlcihwYXJhbUZpbHRlcjogRmlsdGVyUGFyYW1zTW9kZWwpIHtcbiAgICAgICAgaWYgKCFwYXJhbUZpbHRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJlZmVycmVkRmlsdGVyID0gdGhpcy5maWx0ZXJzLmZpbmQoKGZpbHRlcikgPT4gcGFyYW1GaWx0ZXIuaWQgPT09IGZpbHRlci5pZCk7XG4gICAgICAgIHRoaXMuY3VycmVudEZpbHRlciA9XG4gICAgICAgICAgICBwcmVmZXJyZWRGaWx0ZXIgPz9cbiAgICAgICAgICAgIHRoaXMuZmlsdGVycy5maW5kKFxuICAgICAgICAgICAgICAgIChmaWx0ZXIsIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICBwYXJhbUZpbHRlci5pZCA9PT0gZmlsdGVyLmlkIHx8XG4gICAgICAgICAgICAgICAgICAgIChwYXJhbUZpbHRlci5uYW1lICYmIHRoaXMuY2hlY2tGaWx0ZXJOYW1lc0VxdWFsaXR5KHBhcmFtRmlsdGVyLm5hbWUsIGZpbHRlci5uYW1lKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgKHBhcmFtRmlsdGVyLmtleSAmJiBwYXJhbUZpbHRlci5rZXkgPT09IGZpbHRlci5rZXkpIHx8XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtRmlsdGVyLmluZGV4ID09PSBpbmRleFxuICAgICAgICAgICAgKTsgLy8gZmFsbGJhY2sgdG8gcHJlc2VydmUgdGhlIHByZXZpb3VzIGJlaGF2aW9yXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgZXF1YWxpdHkgb2YgdGhlIGZpbHRlciBuYW1lcyBieSB0cmFuc2xhdGluZyB0aGUgZ2l2ZW4gbmFtZSBzdHJpbmdzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZTEgc291cmNlIG5hbWVcbiAgICAgKiBAcGFyYW0gbmFtZTIgdGFyZ2V0IG5hbWVcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgZmlsdGVyIG5hbWVzIGFyZSBlcXVhbCwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBwcml2YXRlIGNoZWNrRmlsdGVyTmFtZXNFcXVhbGl0eShuYW1lMTogc3RyaW5nLCBuYW1lMjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZWROYW1lMSA9IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmluc3RhbnQobmFtZTEpO1xuICAgICAgICBjb25zdCB0cmFuc2xhdGVkTmFtZTIgPSB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pbnN0YW50KG5hbWUyKTtcblxuICAgICAgICByZXR1cm4gdHJhbnNsYXRlZE5hbWUxLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IHRyYW5zbGF0ZWROYW1lMi50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdHMgYW5kIGVtaXRzIHRoZSBnaXZlbiBmaWx0ZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdQYXJhbUZpbHRlciBuZXcgcGFyYW1ldGVyIGZpbHRlclxuICAgICAqL1xuICAgIHNlbGVjdEZpbHRlckFuZEVtaXQobmV3UGFyYW1GaWx0ZXI6IEZpbHRlclBhcmFtc01vZGVsKSB7XG4gICAgICAgIGlmIChuZXdQYXJhbUZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIobmV3UGFyYW1GaWx0ZXIpO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJTZWxlY3RlZC5lbWl0KHRoaXMuY3VycmVudEZpbHRlcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgZmlsdGVyIHdpdGggdGhlIGlkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWQgZmlsdGVyIGlkXG4gICAgICovXG4gICAgc2VsZWN0RmlsdGVyQnlJZChpZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyQW5kRW1pdCh7IGlkIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdHMgYW5kIGVtaXRzIHRoZSBjbGlja2VkIGZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIGZpbHRlciBmaWx0ZXIgbW9kZWxcbiAgICAgKi9cbiAgICBvbkZpbHRlckNsaWNrKGZpbHRlcjogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwpIHtcbiAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIoZmlsdGVyKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQ2xpY2tlZC5lbWl0KHRoaXMuY3VycmVudEZpbHRlcik7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlckNvdW50ZXIodGhpcy5jdXJyZW50RmlsdGVyKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlZEZpbHRlcnNTZXQuZGVsZXRlKGZpbHRlci5rZXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IGFzIGRlZmF1bHQgcHJvY2VzcyBmaWx0ZXIgdGhlIGZpcnN0IGluIHRoZSBsaXN0XG4gICAgICovXG4gICAgc2VsZWN0RGVmYXVsdFByb2Nlc3NGaWx0ZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0ZpbHRlckxpc3RFbXB0eSgpKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSB0aGlzLmZpbHRlcnNbMF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgY3VycmVudCBmaWx0ZXJcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGZpbHRlciBtb2RlbFxuICAgICAqL1xuICAgIGdldEN1cnJlbnRGaWx0ZXIoKTogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50RmlsdGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSBmaWx0ZXIgbGlzdCBpcyBlbXB0eVxuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIGZpbHRlciBsaXN0IGlzIGVtcHR5LCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIGlzRmlsdGVyTGlzdEVtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJzID09PSB1bmRlZmluZWQgfHwgKHRoaXMuZmlsdGVycyAmJiB0aGlzLmZpbHRlcnMubGVuZ3RoID09PSAwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldCB0aGUgZmlsdGVyc1xuICAgICAqL1xuICAgIHByaXZhdGUgcmVzZXRGaWx0ZXIoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVycyA9IFtdO1xuICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaXNBY3RpdmVGaWx0ZXIoZmlsdGVyOiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50RmlsdGVyLm5hbWUgPT09IGZpbHRlci5uYW1lO1xuICAgIH1cblxuICAgIGluaXRQcm9jZXNzTm90aWZpY2F0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hcHBOYW1lICYmIHRoaXMuZW5hYmxlTm90aWZpY2F0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRmlsdGVyQ2xvdWRTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmdldFByb2Nlc3NOb3RpZmljYXRpb25TdWJzY3JpcHRpb24odGhpcy5hcHBOYW1lKVxuICAgICAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDAwKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRmlsdGVyQ291bnRlcnMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEl0ZXJhdGUgb3ZlciBmaWx0ZXJzIGFuZCB1cGRhdGUgY291bnRlcnNcbiAgICAgKi9cbiAgICB1cGRhdGVGaWx0ZXJDb3VudGVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzLmZvckVhY2goKGZpbHRlcjogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRmlsdGVyQ291bnRlcihmaWx0ZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgR2V0IGN1cnJlbnQgdmFsdWUgZm9yIGZpbHRlciBhbmQgY2hlY2sgaWYgdmFsdWUgaGFzIGNoYW5nZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXIgZmlsdGVyXG4gICAgICovXG4gICAgdXBkYXRlRmlsdGVyQ291bnRlcihmaWx0ZXI6IFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmV0Y2hQcm9jZXNzRmlsdGVyQ291bnRlcihmaWx0ZXIpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKGZpbHRlckNvdW50ZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja0lmRmlsdGVyVmFsdWVzSGFzQmVlblVwZGF0ZWQoZmlsdGVyLmtleSwgZmlsdGVyQ291bnRlcik7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50ZXJzID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmNvdW50ZXJzLFxuICAgICAgICAgICAgICAgICAgICBbZmlsdGVyLmtleV06IGRhdGFcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2hlY2tJZkZpbHRlclZhbHVlc0hhc0JlZW5VcGRhdGVkKGZpbHRlcktleTogc3RyaW5nLCBmaWx0ZXJWYWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRGaWx0ZXJzVmFsdWVzW2ZpbHRlcktleV0gPT09IHVuZGVmaW5lZCB8fCB0aGlzLmN1cnJlbnRGaWx0ZXJzVmFsdWVzW2ZpbHRlcktleV0gIT09IGZpbHRlclZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXJzVmFsdWVzW2ZpbHRlcktleV0gPSBmaWx0ZXJWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlZEZpbHRlci5lbWl0KGZpbHRlcktleSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZWRGaWx0ZXJzU2V0LmFkZChmaWx0ZXJLZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNGaWx0ZXJVcGRhdGVkKGZpbHRlck5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVkRmlsdGVyc1NldC5oYXMoZmlsdGVyTmFtZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGZpbGVyIGtleSB3aGVuIGZpbHRlciB3YXMgcmVmcmVzaGVkIGJ5IGV4dGVybmFsIGFjdGlvblxuICAgICAqXG4gICAgICovXG4gICAgZ2V0RmlsdGVyS2V5c0FmdGVyRXh0ZXJuYWxSZWZyZXNoaW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb2Nlc3NGaWx0ZXJDbG91ZFNlcnZpY2UuZmlsdGVyS2V5VG9CZVJlZnJlc2hlZCQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChmaWx0ZXJLZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVkRmlsdGVyc1NldC5kZWxldGUoZmlsdGVyS2V5KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmZXRjaFByb2Nlc3NGaWx0ZXJDb3VudGVyKGZpbHRlcjogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2hBcGlNZXRob2QgPT09ICdQT1NUJ1xuICAgICAgICAgICAgPyB0aGlzLnByb2Nlc3NMaXN0Q2xvdWRTZXJ2aWNlLmdldFByb2Nlc3NMaXN0Q291bnRlcihuZXcgUHJvY2Vzc0ZpbHRlckNsb3VkQWRhcHRlcihmaWx0ZXIpKVxuICAgICAgICAgICAgOiB0aGlzLnByb2Nlc3NMaXN0Q2xvdWRTZXJ2aWNlLmdldFByb2Nlc3NDb3VudGVyKGZpbHRlci5hcHBOYW1lLCBmaWx0ZXIuc3RhdHVzKTtcbiAgICB9XG59XG4iLCI8bWF0LWFjdGlvbi1saXN0IGNsYXNzPVwiYWRmLXByb2Nlc3MtZmlsdGVyc1wiICpuZ0lmPVwiZmlsdGVycyQgfCBhc3luYyBhcyBmaWx0ZXJMaXN0OyBlbHNlIGxvYWRpbmdcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgZmlsdGVyTGlzdFwiXG4gICAgICAgIG1hdC1saXN0LWl0ZW1cbiAgICAgICAgKGNsaWNrKT1cIm9uRmlsdGVyQ2xpY2soZmlsdGVyKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsdGVyLm5hbWUgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbaWRdPVwiZmlsdGVyLmlkXCJcbiAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cImZpbHRlci5rZXkgKyAnX2ZpbHRlcidcIlxuICAgICAgICBbY2xhc3MuYWRmLWFjdGl2ZV09XCJjdXJyZW50RmlsdGVyID09PSBmaWx0ZXJcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1wcm9jZXNzLWZpbHRlcnNfX2VudHJ5XCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxhZGYtaWNvblxuICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtZmlsdGVyLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dJY29uc1wiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmaWx0ZXIuaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWZpbHRlci1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWZpbHRlci1hY3Rpb24tYnV0dG9uX19sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBmaWx0ZXIubmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvdW50ZXJzW2ZpbHRlci5rZXldXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiZmlsdGVyLmtleSArICdfZmlsdGVyLWNvdW50ZXInXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1wcm9jZXNzLWZpbHRlcnNfX2VudHJ5LWNvdW50ZXJcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5hZGYtYWN0aXZlXT1cImlzRmlsdGVyVXBkYXRlZChmaWx0ZXIua2V5KVwiXG4gICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgY291bnRlcnNbZmlsdGVyLmtleV0gfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9idXR0b24+XG48L21hdC1hY3Rpb24tbGlzdD5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICA8bmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWFwcC1saXN0LXNwaW5uZXJcIj5cbiAgICAgICAgICAgIDxtYXQtc3Bpbm5lciAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
290
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvcHJvY2Vzcy9wcm9jZXNzLWZpbHRlcnMvY29tcG9uZW50cy9wcm9jZXNzLWZpbHRlcnMvcHJvY2Vzcy1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvcHJvY2Vzcy9wcm9jZXNzLWZpbHRlcnMvY29tcG9uZW50cy9wcm9jZXNzLWZpbHRlcnMvcHJvY2Vzcy1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhKLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXhGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RixPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FB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QyxlQUFlLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsQ0FBQyxpQkFHN0YsaUJBQWlCLENBQUMsSUFBSTs4QkFLckMsT0FBTztzQkFETixLQUFLO2dCQUtOLGVBQWU7c0JBRGQsS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLGNBQWM7c0JBRGIsTUFBTTtnQkFLUCxhQUFhO3NCQURaLE1BQU07Z0JBS1AsT0FBTztzQkFETixNQUFNO2dCQUtQLEtBQUs7c0JBREosTUFBTTtnQkFLUCxhQUFhO3NCQURaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJvY2Vzc0ZpbHRlckNsb3VkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2Nlc3MtZmlsdGVyLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcHJvY2Vzcy1maWx0ZXItY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSwgSWNvbkNvbXBvbmVudCwgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEZpbHRlclBhcmFtc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vdGFzay90YXNrLWZpbHRlcnMvbW9kZWxzL2ZpbHRlci1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFByb2Nlc3NMaXN0Q2xvdWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvY2Vzcy1saXN0L3NlcnZpY2VzL3Byb2Nlc3MtbGlzdC1jbG91ZC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2Nlc3NGaWx0ZXJDbG91ZEFkYXB0ZXIgfSBmcm9tICcuLi8uLi8uLi9wcm9jZXNzLWxpc3QvbW9kZWxzL3Byb2Nlc3MtY2xvdWQtcXVlcnktcmVxdWVzdC5tb2RlbCc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2xvdWQtcHJvY2Vzcy1maWx0ZXJzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUcmFuc2xhdGVNb2R1bGUsIEljb25Db21wb25lbnQsIE5nSWYsIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgTmdGb3JPZiwgTWF0TGlzdE1vZHVsZSwgQXN5bmNQaXBlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvY2Vzcy1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzLWZpbHRlcnMtY2xvdWQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NGaWx0ZXJzQ2xvdWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgLyoqIChyZXF1aXJlZCkgVGhlIGFwcGxpY2F0aW9uIG5hbWUgKi9cbiAgICBASW5wdXQoKVxuICAgIGFwcE5hbWU6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIChvcHRpb25hbCkgRnJvbSBBY3Rpdml0aSA4LjcuMCBmb3J3YXJkLCB1c2UgdGhlICdQT1NUJyBtZXRob2QgdG8gZ2V0IHRoZSBwcm9jZXNzIGNvdW50ICovXG4gICAgQElucHV0KClcbiAgICBzZWFyY2hBcGlNZXRob2Q6ICdHRVQnIHwgJ1BPU1QnID0gJ0dFVCc7XG5cbiAgICAvKiogKG9wdGlvbmFsKSBUaGUgZmlsdGVyIHRvIGJlIHNlbGVjdGVkIGJ5IGRlZmF1bHQgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbHRlclBhcmFtOiBGaWx0ZXJQYXJhbXNNb2RlbDtcblxuICAgIC8qKiAob3B0aW9uYWwpIFRvZ2dsZXMgc2hvd2luZyBhbiBpY29uIGJ5IHRoZSBzaWRlIG9mIGVhY2ggZmlsdGVyICovXG4gICAgQElucHV0KClcbiAgICBzaG93SWNvbnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYSBmaWx0ZXIgaXMgYmVpbmcgc2VsZWN0ZWQgYmFzZWQgb24gdGhlIGZpbHRlclBhcmFtIGlucHV0LiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZpbHRlclNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYSBmaWx0ZXIgaXMgYmVpbmcgY2xpY2tlZCBmcm9tIHRoZSBVSS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmaWx0ZXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gZmlsdGVycyBhcmUgbG9hZGVkIHN1Y2Nlc3NmdWxseSAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYW55IGVycm9yIG9jY3VycyB3aGlsZSBsb2FkaW5nIHRoZSBmaWx0ZXJzICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gZmlsdGVyIGlzIHVwZGF0ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgdXBkYXRlZEZpbHRlcjogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIGZpbHRlcnMkOiBPYnNlcnZhYmxlPFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsW10+O1xuICAgIGN1cnJlbnRGaWx0ZXI/OiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbDtcbiAgICBmaWx0ZXJzOiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdID0gW107XG4gICAgY291bnRlcnM6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcbiAgICBlbmFibGVOb3RpZmljYXRpb25zOiBib29sZWFuO1xuICAgIGN1cnJlbnRGaWx0ZXJzVmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge307XG4gICAgdXBkYXRlZEZpbHRlcnNTZXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NGaWx0ZXJDbG91ZFNlcnZpY2UgPSBpbmplY3QoUHJvY2Vzc0ZpbHRlckNsb3VkU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZ1NlcnZpY2UgPSBpbmplY3QoQXBwQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzTGlzdENsb3VkU2VydmljZSA9IGluamVjdChQcm9jZXNzTGlzdENsb3VkU2VydmljZSk7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5lbmFibGVOb3RpZmljYXRpb25zID0gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldCgnbm90aWZpY2F0aW9ucycsIHRydWUpO1xuICAgICAgICBpZiAodGhpcy5hcHBOYW1lID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy5nZXRGaWx0ZXJzKHRoaXMuYXBwTmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0UHJvY2Vzc05vdGlmaWNhdGlvbigpO1xuICAgICAgICB0aGlzLmdldEZpbHRlcktleXNBZnRlckV4dGVybmFsUmVmcmVzaGluZygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgYXBwTmFtZSA9IGNoYW5nZXNbJ2FwcE5hbWUnXTtcbiAgICAgICAgY29uc3QgZmlsdGVyID0gY2hhbmdlc1snZmlsdGVyUGFyYW0nXTtcbiAgICAgICAgaWYgKGFwcE5hbWU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5nZXRGaWx0ZXJzKGFwcE5hbWUuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIgJiYgZmlsdGVyLmN1cnJlbnRWYWx1ZSAhPT0gZmlsdGVyLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyQW5kRW1pdChmaWx0ZXIuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZldGNoIHRoZSBmaWx0ZXIgbGlzdCBiYXNlZCBvbiBhcHBOYW1lXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBhcHBsaWNhdGlvbiBuYW1lXG4gICAgICovXG4gICAgZ2V0RmlsdGVycyhhcHBOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzJCA9IHRoaXMucHJvY2Vzc0ZpbHRlckNsb3VkU2VydmljZS5nZXRQcm9jZXNzRmlsdGVycyhhcHBOYW1lKTtcblxuICAgICAgICB0aGlzLmZpbHRlcnMkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldEZpbHRlcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVycyA9IHJlcyB8fCBbXTtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRGaWx0ZXJDb3VudGVycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyQW5kRW1pdCh0aGlzLmZpbHRlclBhcmFtKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdChyZXMpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRmlsdGVyQ291bnRlcnMoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemUgY291bnRlciBjb2xsZWN0aW9uIGZvciBmaWx0ZXJzXG4gICAgICovXG4gICAgaW5pdEZpbHRlckNvdW50ZXJzKCkge1xuICAgICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiAodGhpcy5jb3VudGVyc1tmaWx0ZXIua2V5XSA9IDApKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzIHRoZSBzZWxlY3RlZCBmaWx0ZXIgYXMgbmV4dFxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtRmlsdGVyIGZpbHRlciBtb2RlbFxuICAgICAqL1xuICAgIHNlbGVjdEZpbHRlcihwYXJhbUZpbHRlcjogRmlsdGVyUGFyYW1zTW9kZWwpIHtcbiAgICAgICAgaWYgKCFwYXJhbUZpbHRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJlZmVycmVkRmlsdGVyID0gdGhpcy5maWx0ZXJzLmZpbmQoKGZpbHRlcikgPT4gcGFyYW1GaWx0ZXIuaWQgPT09IGZpbHRlci5pZCk7XG4gICAgICAgIHRoaXMuY3VycmVudEZpbHRlciA9XG4gICAgICAgICAgICBwcmVmZXJyZWRGaWx0ZXIgPz9cbiAgICAgICAgICAgIHRoaXMuZmlsdGVycy5maW5kKFxuICAgICAgICAgICAgICAgIChmaWx0ZXIsIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICBwYXJhbUZpbHRlci5pZCA9PT0gZmlsdGVyLmlkIHx8XG4gICAgICAgICAgICAgICAgICAgIChwYXJhbUZpbHRlci5uYW1lICYmIHRoaXMuY2hlY2tGaWx0ZXJOYW1lc0VxdWFsaXR5KHBhcmFtRmlsdGVyLm5hbWUsIGZpbHRlci5uYW1lKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgKHBhcmFtRmlsdGVyLmtleSAmJiBwYXJhbUZpbHRlci5rZXkgPT09IGZpbHRlci5rZXkpIHx8XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtRmlsdGVyLmluZGV4ID09PSBpbmRleFxuICAgICAgICAgICAgKTsgLy8gZmFsbGJhY2sgdG8gcHJlc2VydmUgdGhlIHByZXZpb3VzIGJlaGF2aW9yXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgZXF1YWxpdHkgb2YgdGhlIGZpbHRlciBuYW1lcyBieSB0cmFuc2xhdGluZyB0aGUgZ2l2ZW4gbmFtZSBzdHJpbmdzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZTEgc291cmNlIG5hbWVcbiAgICAgKiBAcGFyYW0gbmFtZTIgdGFyZ2V0IG5hbWVcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgZmlsdGVyIG5hbWVzIGFyZSBlcXVhbCwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBwcml2YXRlIGNoZWNrRmlsdGVyTmFtZXNFcXVhbGl0eShuYW1lMTogc3RyaW5nLCBuYW1lMjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZWROYW1lMSA9IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmluc3RhbnQobmFtZTEpO1xuICAgICAgICBjb25zdCB0cmFuc2xhdGVkTmFtZTIgPSB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pbnN0YW50KG5hbWUyKTtcblxuICAgICAgICByZXR1cm4gdHJhbnNsYXRlZE5hbWUxLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IHRyYW5zbGF0ZWROYW1lMi50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdHMgYW5kIGVtaXRzIHRoZSBnaXZlbiBmaWx0ZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdQYXJhbUZpbHRlciBuZXcgcGFyYW1ldGVyIGZpbHRlclxuICAgICAqL1xuICAgIHNlbGVjdEZpbHRlckFuZEVtaXQobmV3UGFyYW1GaWx0ZXI6IEZpbHRlclBhcmFtc01vZGVsKSB7XG4gICAgICAgIGlmIChuZXdQYXJhbUZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIobmV3UGFyYW1GaWx0ZXIpO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJTZWxlY3RlZC5lbWl0KHRoaXMuY3VycmVudEZpbHRlcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgZmlsdGVyIHdpdGggdGhlIGlkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWQgZmlsdGVyIGlkXG4gICAgICovXG4gICAgc2VsZWN0RmlsdGVyQnlJZChpZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyQW5kRW1pdCh7IGlkIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdHMgYW5kIGVtaXRzIHRoZSBjbGlja2VkIGZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIGZpbHRlciBmaWx0ZXIgbW9kZWxcbiAgICAgKi9cbiAgICBvbkZpbHRlckNsaWNrKGZpbHRlcjogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwpIHtcbiAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIoZmlsdGVyKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQ2xpY2tlZC5lbWl0KHRoaXMuY3VycmVudEZpbHRlcik7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlckNvdW50ZXIodGhpcy5jdXJyZW50RmlsdGVyKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlZEZpbHRlcnNTZXQuZGVsZXRlKGZpbHRlci5rZXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IGFzIGRlZmF1bHQgcHJvY2VzcyBmaWx0ZXIgdGhlIGZpcnN0IGluIHRoZSBsaXN0XG4gICAgICovXG4gICAgc2VsZWN0RGVmYXVsdFByb2Nlc3NGaWx0ZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0ZpbHRlckxpc3RFbXB0eSgpKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSB0aGlzLmZpbHRlcnNbMF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgY3VycmVudCBmaWx0ZXJcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGZpbHRlciBtb2RlbFxuICAgICAqL1xuICAgIGdldEN1cnJlbnRGaWx0ZXIoKTogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50RmlsdGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSBmaWx0ZXIgbGlzdCBpcyBlbXB0eVxuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIGZpbHRlciBsaXN0IGlzIGVtcHR5LCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIGlzRmlsdGVyTGlzdEVtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJzID09PSB1bmRlZmluZWQgfHwgKHRoaXMuZmlsdGVycyAmJiB0aGlzLmZpbHRlcnMubGVuZ3RoID09PSAwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldCB0aGUgZmlsdGVyc1xuICAgICAqL1xuICAgIHByaXZhdGUgcmVzZXRGaWx0ZXIoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVycyA9IFtdO1xuICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaXNBY3RpdmVGaWx0ZXIoZmlsdGVyOiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50RmlsdGVyLm5hbWUgPT09IGZpbHRlci5uYW1lO1xuICAgIH1cblxuICAgIGluaXRQcm9jZXNzTm90aWZpY2F0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hcHBOYW1lICYmIHRoaXMuZW5hYmxlTm90aWZpY2F0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRmlsdGVyQ2xvdWRTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmdldFByb2Nlc3NOb3RpZmljYXRpb25TdWJzY3JpcHRpb24odGhpcy5hcHBOYW1lKVxuICAgICAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDAwKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRmlsdGVyQ291bnRlcnMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEl0ZXJhdGUgb3ZlciBmaWx0ZXJzIGFuZCB1cGRhdGUgY291bnRlcnNcbiAgICAgKi9cbiAgICB1cGRhdGVGaWx0ZXJDb3VudGVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzLmZvckVhY2goKGZpbHRlcjogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRmlsdGVyQ291bnRlcihmaWx0ZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgR2V0IGN1cnJlbnQgdmFsdWUgZm9yIGZpbHRlciBhbmQgY2hlY2sgaWYgdmFsdWUgaGFzIGNoYW5nZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXIgZmlsdGVyXG4gICAgICovXG4gICAgdXBkYXRlRmlsdGVyQ291bnRlcihmaWx0ZXI6IFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmV0Y2hQcm9jZXNzRmlsdGVyQ291bnRlcihmaWx0ZXIpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKGZpbHRlckNvdW50ZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja0lmRmlsdGVyVmFsdWVzSGFzQmVlblVwZGF0ZWQoZmlsdGVyLmtleSwgZmlsdGVyQ291bnRlcik7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50ZXJzID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmNvdW50ZXJzLFxuICAgICAgICAgICAgICAgICAgICBbZmlsdGVyLmtleV06IGRhdGFcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2hlY2tJZkZpbHRlclZhbHVlc0hhc0JlZW5VcGRhdGVkKGZpbHRlcktleTogc3RyaW5nLCBmaWx0ZXJWYWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRGaWx0ZXJzVmFsdWVzW2ZpbHRlcktleV0gPT09IHVuZGVmaW5lZCB8fCB0aGlzLmN1cnJlbnRGaWx0ZXJzVmFsdWVzW2ZpbHRlcktleV0gIT09IGZpbHRlclZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXJzVmFsdWVzW2ZpbHRlcktleV0gPSBmaWx0ZXJWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlZEZpbHRlci5lbWl0KGZpbHRlcktleSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZWRGaWx0ZXJzU2V0LmFkZChmaWx0ZXJLZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNGaWx0ZXJVcGRhdGVkKGZpbHRlck5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVkRmlsdGVyc1NldC5oYXMoZmlsdGVyTmFtZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGZpbGVyIGtleSB3aGVuIGZpbHRlciB3YXMgcmVmcmVzaGVkIGJ5IGV4dGVybmFsIGFjdGlvblxuICAgICAqXG4gICAgICovXG4gICAgZ2V0RmlsdGVyS2V5c0FmdGVyRXh0ZXJuYWxSZWZyZXNoaW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb2Nlc3NGaWx0ZXJDbG91ZFNlcnZpY2UuZmlsdGVyS2V5VG9CZVJlZnJlc2hlZCQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChmaWx0ZXJLZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVkRmlsdGVyc1NldC5kZWxldGUoZmlsdGVyS2V5KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmZXRjaFByb2Nlc3NGaWx0ZXJDb3VudGVyKGZpbHRlcjogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2hBcGlNZXRob2QgPT09ICdQT1NUJ1xuICAgICAgICAgICAgPyB0aGlzLnByb2Nlc3NMaXN0Q2xvdWRTZXJ2aWNlLmdldFByb2Nlc3NMaXN0Q291bnRlcihuZXcgUHJvY2Vzc0ZpbHRlckNsb3VkQWRhcHRlcihmaWx0ZXIpKVxuICAgICAgICAgICAgOiB0aGlzLnByb2Nlc3NMaXN0Q2xvdWRTZXJ2aWNlLmdldFByb2Nlc3NDb3VudGVyKGZpbHRlci5hcHBOYW1lLCBmaWx0ZXIuc3RhdHVzKTtcbiAgICB9XG59XG4iLCI8bWF0LWFjdGlvbi1saXN0IGNsYXNzPVwiYWRmLXByb2Nlc3MtZmlsdGVyc1wiICpuZ0lmPVwiZmlsdGVycyQgfCBhc3luYyBhcyBmaWx0ZXJMaXN0OyBlbHNlIGxvYWRpbmdcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgZmlsdGVyTGlzdFwiXG4gICAgICAgIG1hdC1saXN0LWl0ZW1cbiAgICAgICAgKGNsaWNrKT1cIm9uRmlsdGVyQ2xpY2soZmlsdGVyKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsdGVyLm5hbWUgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbaWRdPVwiZmlsdGVyLmlkXCJcbiAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cImZpbHRlci5rZXkgKyAnX2ZpbHRlcidcIlxuICAgICAgICBbY2xhc3MuYWRmLWFjdGl2ZV09XCJjdXJyZW50RmlsdGVyID09PSBmaWx0ZXJcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1wcm9jZXNzLWZpbHRlcnNfX2VudHJ5XCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxhZGYtaWNvblxuICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtZmlsdGVyLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dJY29uc1wiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmaWx0ZXIuaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWZpbHRlci1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWZpbHRlci1hY3Rpb24tYnV0dG9uX19sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBmaWx0ZXIubmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvdW50ZXJzW2ZpbHRlci5rZXldXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiZmlsdGVyLmtleSArICdfZmlsdGVyLWNvdW50ZXInXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1wcm9jZXNzLWZpbHRlcnNfX2VudHJ5LWNvdW50ZXJcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5hZGYtYWN0aXZlXT1cImlzRmlsdGVyVXBkYXRlZChmaWx0ZXIua2V5KVwiXG4gICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgY291bnRlcnNbZmlsdGVyLmtleV0gfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9idXR0b24+XG48L21hdC1hY3Rpb24tbGlzdD5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICA8bmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWFwcC1saXN0LXNwaW5uZXJcIj5cbiAgICAgICAgICAgIDxtYXQtc3Bpbm5lciAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -26,19 +26,19 @@ export const PROCESS_FILTERS_CLOUD_DIRECTIVES = [
|
|
|
26
26
|
];
|
|
27
27
|
/** @deprecated use standalone components or PROCESS_FILTERS_CLOUD_DIRECTIVES instead */
|
|
28
28
|
export class ProcessFiltersCloudModule {
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
30
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFiltersCloudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
30
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ProcessFiltersCloudModule, imports: [ProcessFiltersCloudComponent,
|
|
31
31
|
EditProcessFilterCloudComponent,
|
|
32
32
|
ProcessFilterDialogCloudComponent], exports: [ProcessFiltersCloudComponent,
|
|
33
33
|
EditProcessFilterCloudComponent,
|
|
34
34
|
ProcessFilterDialogCloudComponent] }); }
|
|
35
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
35
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFiltersCloudModule, imports: [PROCESS_FILTERS_CLOUD_DIRECTIVES] }); }
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFiltersCloudModule, decorators: [{
|
|
38
38
|
type: NgModule,
|
|
39
39
|
args: [{
|
|
40
40
|
imports: [...PROCESS_FILTERS_CLOUD_DIRECTIVES],
|
|
41
41
|
exports: [...PROCESS_FILTERS_CLOUD_DIRECTIVES]
|
|
42
42
|
}]
|
|
43
43
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1maWx0ZXJzLWNsb3VkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvcHJvY2Vzcy9wcm9jZXNzLWZpbHRlcnMvcHJvY2Vzcy1maWx0ZXJzLWNsb3VkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzVHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDBFQUEwRSxDQUFDOztBQUU3SCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRztJQUM1Qyw0QkFBNEI7SUFDNUIsK0JBQStCO0lBQy9CLGlDQUFpQztDQUMzQixDQUFDO0FBRVgsd0ZBQXdGO0FBS3hGLE1BQU0sT0FBTyx5QkFBeUI7K0dBQXpCLHlCQUF5QjtnSEFBekIseUJBQXlCLFlBVmxDLDRCQUE0QjtZQUM1QiwrQkFBK0I7WUFDL0IsaUNBQWlDLGFBRmpDLDRCQUE0QjtZQUM1QiwrQkFBK0I7WUFDL0IsaUNBQWlDO2dIQVF4Qix5QkFBeUIsWUFIckIsZ0NBQWdDOzs0RkFHcEMseUJBQXlCO2tCQUpyQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsZ0NBQWdDLENBQUM7b0JBQzlDLE9BQU8sRUFBRSxDQUFDLEdBQUcsZ0NBQWdDLENBQUM7aUJBQ2pEIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvY2Vzc0ZpbHRlcnNDbG91ZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9jZXNzLWZpbHRlcnMvcHJvY2Vzcy1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFZGl0UHJvY2Vzc0ZpbHRlckNsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VkaXQtcHJvY2Vzcy1maWx0ZXIvZWRpdC1wcm9jZXNzLWZpbHRlci1jbG91ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvY2Vzc0ZpbHRlckRpYWxvZ0Nsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtZmlsdGVyLWRpYWxvZy9wcm9jZXNzLWZpbHRlci1kaWFsb2ctY2xvdWQuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFBST0NFU1NfRklMVEVSU19DTE9VRF9ESVJFQ1RJVkVTID0gW1xuICAgIFByb2Nlc3NGaWx0ZXJzQ2xvdWRDb21wb25lbnQsXG4gICAgRWRpdFByb2Nlc3NGaWx0ZXJDbG91ZENvbXBvbmVudCxcbiAgICBQcm9jZXNzRmlsdGVyRGlhbG9nQ2xvdWRDb21wb25lbnRcbl0gYXMgY29uc3Q7XG5cbi8qKiBAZGVwcmVjYXRlZCB1c2Ugc3RhbmRhbG9uZSBjb21wb25lbnRzIG9yIFBST0NFU1NfRklMVEVSU19DTE9VRF9ESVJFQ1RJVkVTIGluc3RlYWQgKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogWy4uLlBST0NFU1NfRklMVEVSU19DTE9VRF9ESVJFQ1RJVkVTXSxcbiAgICBleHBvcnRzOiBbLi4uUFJPQ0VTU19GSUxURVJTX0NMT1VEX0RJUkVDVElWRVNdXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NGaWx0ZXJzQ2xvdWRNb2R1bGUge31cbiJdfQ==
|
|
@@ -393,13 +393,13 @@ export class ProcessFilterCloudService {
|
|
|
393
393
|
});
|
|
394
394
|
return this.updateProcessFilters(appName, key, filters);
|
|
395
395
|
}
|
|
396
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
397
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
396
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFilterCloudService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
397
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFilterCloudService, providedIn: 'root' }); }
|
|
398
398
|
}
|
|
399
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFilterCloudService, decorators: [{
|
|
400
400
|
type: Injectable,
|
|
401
401
|
args: [{
|
|
402
402
|
providedIn: 'root'
|
|
403
403
|
}]
|
|
404
404
|
}], ctorParameters: () => [] });
|
|
405
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1maWx0ZXItY2xvdWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvcHJvY2Vzcy9wcm9jZXNzLWZpbHRlcnMvc2VydmljZXMvcHJvY2Vzcy1maWx0ZXItY2xvdWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsRUFBRSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFHeEYsTUFBTSxnQ0FBZ0MsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Q0FjeEMsQ0FBQztBQUtGLE1BQU0sT0FBTyx5QkFBeUI7SUFVbEM7UUFQUSxpQ0FBNEIsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQzdELDRCQUF1QixHQUF1QixJQUFJLENBQUMsNEJBQTRCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFOUUsc0JBQWlCLEdBQUcsTUFBTSxDQUFrQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQzNGLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xELDZCQUF3QixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxD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QUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDbkUsQ0FBQztZQUNELElBQUksTUFBTSxDQUFDLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDekMsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzQyxDQUFDO1lBQ0QsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUMzQyxNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDOzhHQXJaUSx5QkFBeUI7a0hBQXpCLHlCQUF5QixjQUZ0QixNQUFNOzsyRkFFVCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3Byb2Nlc3MtZmlsdGVyLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUFJPQ0VTU19GSUxURVJTX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbG91ZC10b2tlbi5zZXJ2aWNlJztcbmltcG9ydCB7IFByZWZlcmVuY2VDbG91ZFNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVmZXJlbmNlLWNsb3VkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJZGVudGl0eVVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcGVvcGxlL3NlcnZpY2VzL2lkZW50aXR5LXVzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25DbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24tY2xvdWQuc2VydmljZSc7XG5pbXBvcnQgeyBUYXNrQ2xvdWRFbmdpbmVFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9lbmdpbmUtZXZlbnQtY2xvdWQubW9kZWwnO1xuXG5jb25zdCBQUk9DRVNTX0VWRU5UX1NVQlNDUklQVElPTl9RVUVSWSA9IGBcbiAgICBzdWJzY3JpcHRpb24ge1xuICAgICAgICBlbmdpbmVFdmVudHMoZXZlbnRUeXBlOiBbXG4gICAgICAgICAgICBQUk9DRVNTX0NBTkNFTExFRFxuICAgICAgICAgICAgUFJPQ0VTU19DT01QTEVURURcbiAgICAgICAgICAgIFBST0NFU1NfQ1JFQVRFRFxuICAgICAgICAgICAgUFJPQ0VTU19SRVNVTUVEXG4gICAgICAgICAgICBQUk9DRVNTX1NVU1BFTkRFRFxuICAgICAgICAgICAgUFJPQ0VTU19TVEFSVEVEXG4gICAgICAgIF0pIHtcbiAgICAgICAgICAgIGV2ZW50VHlwZVxuICAgICAgICAgICAgZW50aXR5XG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NGaWx0ZXJDbG91ZFNlcnZpY2Uge1xuICAgIHByaXZhdGUgZmlsdGVyc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPjtcbiAgICBmaWx0ZXJzJDogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPjtcbiAgICBwcml2YXRlIGZpbHRlcktleVRvQmVSZWZyZXNoZWRTb3VyY2UgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gICAgZmlsdGVyS2V5VG9CZVJlZnJlc2hlZCQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuZmlsdGVyS2V5VG9CZVJlZnJlc2hlZFNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJlZmVyZW5jZVNlcnZpY2UgPSBpbmplY3Q8UHJlZmVyZW5jZUNsb3VkU2VydmljZUludGVyZmFjZT4oUFJPQ0VTU19GSUxURVJTX1NFUlZJQ0VfVE9LRU4pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaWRlbnRpdHlVc2VyU2VydmljZSA9IGluamVjdChJZGVudGl0eVVzZXJTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvbkNsb3VkU2VydmljZSA9IGluamVjdChOb3RpZmljYXRpb25DbG91ZFNlcnZpY2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcbiAgICAgICAgdGhpcy5maWx0ZXJzJCA9IHRoaXMuZmlsdGVyc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcmVhZFF1ZXJ5UGFyYW1zKG9iajogYW55KTogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwge1xuICAgICAgICBjb25zdCBtb2RlbCA9IE9iamVjdC5hc3NpZ24oe30sIG9iaikgYXMgUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWw7XG5cbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosICdhcHBWZXJzaW9uJykgJiYgb2JqWydhcHBWZXJzaW9uJ10pIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb2JqWydhcHBWZXJzaW9uJ10gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgbW9kZWwuYXBwVmVyc2lvbiA9IG9ialsnYXBwVmVyc2lvbiddLnNwbGl0KCcsJykubWFwKChzdHIpID0+IHBhcnNlSW50KHN0ciwgMTApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCAnbGFzdE1vZGlmaWVkRnJvbScpKSB7XG4gICAgICAgICAgICBtb2RlbC5sYXN0TW9kaWZpZWRGcm9tID0gbmV3IERhdGUocGFyc2VJbnQob2JqWydsYXN0TW9kaWZpZWRGcm9tJ10sIDEwKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgJ2xhc3RNb2RpZmllZFRvJykpIHtcbiAgICAgICAgICAgIG1vZGVsLmxhc3RNb2RpZmllZFRvID0gbmV3IERhdGUocGFyc2VJbnQob2JqWydsYXN0TW9kaWZpZWRUbyddLCAxMCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1vZGVsO1xuICAgIH1cblxuICAgIHdyaXRlUXVlcnlQYXJhbXModmFsdWU6IGFueSwgZmlsdGVyUHJvcGVydGllczogc3RyaW5nW10sIGFwcE5hbWU/OiBzdHJpbmcsIGlkPzogc3RyaW5nKTogYW55IHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZSB8fCB7fTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgICAgICAgYXBwTmFtZTogYXBwTmFtZSB8fCB2YWx1ZVsnYXBwTmFtZSddLFxuICAgICAgICAgICAgaWQ6IGlkIHx8IHZhbHVlWydpZCddLFxuICAgICAgICAgICAgLi4uKHZhbHVlWydlbnZpcm9ubWVudElkJ10gJiYge1xuICAgICAgICAgICAgICAgIGVudmlyb25tZW50SWQ6IHZhbHVlWydlbnZpcm9ubWVudElkJ11cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH07XG5cbiAgICAgICAgZm9yIChjb25zdCBwcm9wIG9mIGZpbHRlclByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIGlmIChwcm9wID09PSAnYXBwVmVyc2lvbk11bHRpcGxlJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZlcnNpb25zID0gdmFsdWVbJ2FwcFZlcnNpb24nXTtcblxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZlcnNpb25zKSAmJiB2ZXJzaW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFsnYXBwVmVyc2lvbiddID0gdmVyc2lvbnMuam9pbignLCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcCA9PT0gJ2xhc3RNb2RpZmllZCcpIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWVbJ2xhc3RNb2RpZmllZEZyb20nXSkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHRbJ2xhc3RNb2RpZmllZEZyb20nXSA9IHZhbHVlWydsYXN0TW9kaWZpZWRGcm9tJ10udmFsdWVPZigpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZVsnbGFzdE1vZGlmaWVkVG8nXSkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHRbJ2xhc3RNb2RpZmllZFRvJ10gPSB2YWx1ZVsnbGFzdE1vZGlmaWVkVG8nXS52YWx1ZU9mKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIHByb3ApKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W3Byb3BdID0gdmFsdWVbcHJvcF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW5kIHJldHVybnMgdGhlIGRlZmF1bHQgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzIGZvciBhIGFwcC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCBhcHBcbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZURlZmF1bHRGaWx0ZXJzKGFwcE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBrZXk6IHN0cmluZyA9IHRoaXMucHJlcGFyZUtleShhcHBOYW1lKTtcbiAgICAgICAgdGhpcy5wcmVmZXJlbmNlU2VydmljZVxuICAgICAgICAgICAgLmdldFByZWZlcmVuY2VzKGFwcE5hbWUsIGtleSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJlZmVyZW5jZXMgPSByZXNwb25zZT8ubGlzdD8uZW50cmllcyA/IHJlc3BvbnNlLmxpc3QuZW50cmllcyA6IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaGFzUHJlZmVyZW5jZXMocHJlZmVyZW5jZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVQcm9jZXNzRmlsdGVycyhhcHBOYW1lLCBrZXksIHRoaXMuZGVmYXVsdFByb2Nlc3NGaWx0ZXJzKGFwcE5hbWUpKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpcy5oYXNQcm9jZXNzRmlsdGVycyhwcmVmZXJlbmNlcywga2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUHJvY2Vzc0ZpbHRlcnMoYXBwTmFtZSwga2V5LCB0aGlzLmRlZmF1bHRQcm9jZXNzRmlsdGVycyhhcHBOYW1lKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5maW5kRmlsdGVyc0J5S2V5SW5QcmVmZXJlbmNlcyhwcmVmZXJlbmNlcywga2V5KSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGZpbHRlcnMpID0+IHRoaXMuaGFuZGxlQ3JlYXRlRmlsdGVyQmFja3dhcmRzQ29tcGF0aWJpbGl0eShhcHBOYW1lLCBrZXksIGZpbHRlcnMpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZmlsdGVycykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkRmlsdGVyc1RvU3RyZWFtKGZpbHRlcnMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzIGZvciBhIHByb2Nlc3MgYXBwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgcHJvY2VzcyBmaWx0ZXJzIGRldGFpbHNcbiAgICAgKi9cbiAgICBnZXRQcm9jZXNzRmlsdGVycyhhcHBOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsW10+IHtcbiAgICAgICAgdGhpcy5jcmVhdGVEZWZhdWx0RmlsdGVycyhhcHBOYW1lKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVycyQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVyIGZvciBnaXZlbiBmaWx0ZXIgaWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCBhcHBcbiAgICAgKiBAcGFyYW0gaWQgSWQgb2YgdGhlIHRhcmdldCBwcm9jZXNzIGluc3RhbmNlIGZpbHRlclxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXIgZGV0YWlsc1xuICAgICAqL1xuICAgIGdldEZpbHRlckJ5SWQoYXBwTmFtZTogc3RyaW5nLCBpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbD4ge1xuICAgICAgICBjb25zdCBrZXk6IHN0cmluZyA9IHRoaXMucHJlcGFyZUtleShhcHBOYW1lKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvY2Vzc0ZpbHRlcnNCeUtleShhcHBOYW1lLCBrZXkpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVycz8ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVByb2Nlc3NGaWx0ZXJzKGFwcE5hbWUsIGtleSwgdGhpcy5kZWZhdWx0UHJvY2Vzc0ZpbHRlcnMoYXBwTmFtZSkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihmaWx0ZXJzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoZmlsdGVycykgPT4gZmlsdGVycy5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLmlkID09PSBpZClbMF0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIG5ldyBwcm9jZXNzIGluc3RhbmNlIGZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIG5ld0ZpbHRlciBUaGUgbmV3IGZpbHRlciB0byBhZGRcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVycyB3aXRoIG5ld2x5IGFkZGVkIGZpbHRlclxuICAgICAqL1xuICAgIGFkZEZpbHRlcihuZXdGaWx0ZXI6IFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsKTogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPiB7XG4gICAgICAgIGNvbnN0IHsgYXBwTmFtZSwgbmFtZSB9ID0gbmV3RmlsdGVyO1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLnByZXBhcmVLZXkoYXBwTmFtZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvY2Vzc0ZpbHRlcnNCeUtleShhcHBOYW1lLCBrZXkpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVycz8ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVByb2Nlc3NGaWx0ZXJzKGFwcE5hbWUsIGtleSwgW25ld0ZpbHRlcl0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gZmlsdGVycy5maW5kSW5kZXgoKGZpbHRlcikgPT4gZmlsdGVyLm5hbWUgPT09IG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgZmlsdGVycy5wdXNoKG5ld0ZpbHRlcik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByZWZlcmVuY2VTZXJ2aWNlLnVwZGF0ZVByZWZlcmVuY2UoYXBwTmFtZSwga2V5LCBmaWx0ZXJzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoZmlsdGVycykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkRmlsdGVyc1RvU3RyZWFtKGZpbHRlcnMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgVXBkYXRlIHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXBkYXRlZEZpbHRlciBUaGUgbmV3IGZpbHRlciB0byB1cGRhdGVcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVycyB3aXRoIHVwZGF0ZWQgZmlsdGVyXG4gICAgICovXG4gICAgdXBkYXRlRmlsdGVyKHVwZGF0ZWRGaWx0ZXI6IFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsKTogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPiB7XG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMucHJlcGFyZUtleSh1cGRhdGVkRmlsdGVyLmFwcE5hbWUpO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRQcm9jZXNzRmlsdGVyc0J5S2V5KHVwZGF0ZWRGaWx0ZXIuYXBwTmFtZSwga2V5KS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChmaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcnM/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVQcm9jZXNzRmlsdGVycyh1cGRhdGVkRmlsdGVyLmFwcE5hbWUsIGtleSwgW3VwZGF0ZWRGaWx0ZXJdKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSBmaWx0ZXJzLmZpbmRJbmRleCgoZmlsdGVyKSA9PiBmaWx0ZXIuaWQgPT09IHVwZGF0ZWRGaWx0ZXIuaWQpO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzW2l0ZW1JbmRleF0gPSB1cGRhdGVkRmlsdGVyO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVQcm9jZXNzRmlsdGVycyh1cGRhdGVkRmlsdGVyLmFwcE5hbWUsIGtleSwgZmlsdGVycyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKHVwZGF0ZWRGaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRGaWx0ZXJzVG9TdHJlYW0odXBkYXRlZEZpbHRlcnMpO1xuICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGVkRmlsdGVycztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIERlbGV0ZSBwcm9jZXNzIGluc3RhbmNlIGZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIGRlbGV0ZWRGaWx0ZXIgVGhlIG5ldyBmaWx0ZXIgdG8gZGVsZXRlXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiBwcm9jZXNzIGluc3RhbmNlIGZpbHRlcnMgd2l0aG91dCBkZWxldGVkIGZpbHRlclxuICAgICAqL1xuICAgIGRlbGV0ZUZpbHRlcihkZWxldGVkRmlsdGVyOiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbCk6IE9ic2VydmFibGU8UHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWxbXT4ge1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLnByZXBhcmVLZXkoZGVsZXRlZEZpbHRlci5hcHBOYW1lKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRQcm9jZXNzRmlsdGVyc0J5S2V5KGRlbGV0ZWRGaWx0ZXIuYXBwTmFtZSwga2V5KS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChmaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcnMgJiYgZmlsdGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcnMgPSBmaWx0ZXJzLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIuaWQgIT09IGRlbGV0ZWRGaWx0ZXIuaWQpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVQcm9jZXNzRmlsdGVycyhkZWxldGVkRmlsdGVyLmFwcE5hbWUsIGtleSwgZmlsdGVycyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoZmlsdGVycykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkRmlsdGVyc1RvU3RyZWFtKGZpbHRlcnMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgZ2l2ZW4gZmlsdGVyIGlzIGEgZGVmYXVsdCBmaWx0ZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCBwcm9jZXNzIGZpbHRlclxuICAgICAqIEByZXR1cm5zIEJvb2xlYW4gdmFsdWUgZm9yIHdoZXRoZXIgdGhlIGZpbHRlciBpcyBhIGRlZmF1bHQgZmlsdGVyXG4gICAgICovXG4gICAgaXNEZWZhdWx0RmlsdGVyKGZpbHRlck5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBkZWZhdWx0RmlsdGVycyA9IHRoaXMuZGVmYXVsdFByb2Nlc3NGaWx0ZXJzKCk7XG4gICAgICAgIHJldHVybiBkZWZhdWx0RmlsdGVycy5maW5kSW5kZXgoKGZpbHRlcikgPT4gZmlsdGVyTmFtZSA9PT0gZmlsdGVyLm5hbWUpICE9PSAtMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldCB0aGUgcHJvY2VzcyBmaWx0ZXJzIHRvIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gaWYgaXQgZXhpc3RzIGFuZCBzdG9yZXMgaXQuXG4gICAgICogSWYgdGhlcmUgaXMgbm8gZGVmYXVsdCBjb25maWd1cmF0aW9uIGZvciB0aGUgcHJvY2VzcyBjbG91ZCBmaWx0ZXIgd2l0aCB0aGUgcHJvdmlkZWQgZmlsdGVyIG5hbWUsXG4gICAgICogdGhlbiBpdCBjaGFuZ2VzIG5vdGhpbmcgYnV0IHN0b3JlcyB0aGUgY3VycmVudCB2YWx1ZXMgb2YgdGhlIGZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEBwYXJhbSBmaWx0ZXIgVGhlIHByb2Nlc3MgZmlsdGVyIHRvIGJlIHJlc3RvcmVkIHRvIGRlZmF1bHRzXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiBwcm9jZXNzIGZpbHRlcnMgZGV0YWlsc1xuICAgICAqL1xuICAgIHJlc2V0UHJvY2Vzc0ZpbHRlclRvRGVmYXVsdHMoYXBwTmFtZTogc3RyaW5nLCBmaWx0ZXI6IFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsKTogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPiB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRGaWx0ZXIgPVxuICAgICAgICAgICAgdGhpcy5kZWZhdWx0UHJvY2Vzc0ZpbHRlcnMoYXBwTmFtZSkuZmluZCgoZGVmYXVsdEZpbHRlckRlZmluaXRpb24pID0+IGRlZmF1bHRGaWx0ZXJEZWZpbml0aW9uLm5hbWUgPT09IGZpbHRlci5uYW1lKSB8fCBmaWx0ZXI7XG4gICAgICAgIGRlZmF1bHRGaWx0ZXIuaWQgPSBmaWx0ZXIuaWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUZpbHRlcihkZWZhdWx0RmlsdGVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgdXNlciBwcmVmZXJlbmNlIGFyZSBlbXB0eSBvciBub3RcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcmVmZXJlbmNlcyBVc2VyIHByZWZlcmVuY2VzIG9mIHRoZSB0YXJnZXQgYXBwXG4gICAgICogQHJldHVybnMgQm9vbGVhbiB2YWx1ZSBpZiB0aGUgcHJlZmVyZW5jZXMgYXJlIG5vdCBlbXB0eVxuICAgICAqL1xuICAgIHByaXZhdGUgaGFzUHJlZmVyZW5jZXMocHJlZmVyZW5jZXM6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gcHJlZmVyZW5jZXMgJiYgcHJlZmVyZW5jZXMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgZm9yIHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVycyBpbiBnaXZlbiB1c2VyIHByZWZlcmVuY2VzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJlZmVyZW5jZXMgVXNlciBwcmVmZXJlbmNlcyBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEBwYXJhbSBrZXkgS2V5IG9mIHRoZSBwcm9jZXNzIGluc3RhbmNlIGZpbHRlcnNcbiAgICAgKiBAcmV0dXJucyBCb29sZWFuIHZhbHVlIGlmIHRoZSBwcmVmZXJlbmNlIGhhcyBwcm9jZXNzIGluc3RhbmNlIGZpbHRlcnNcbiAgICAgKi9cbiAgICBwcml2YXRlIGhhc1Byb2Nlc3NGaWx0ZXJzKHByZWZlcmVuY2VzOiBhbnksIGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZpbHRlcnMgPSBwcmVmZXJlbmNlcy5maW5kKChmaWx0ZXI6IGFueSkgPT4gZmlsdGVyLmVudHJ5LmtleSA9PT0ga2V5KTtcbiAgICAgICAgcmV0dXJuIGZpbHRlcnM/LmVudHJ5ID8gSlNPTi5wYXJzZShmaWx0ZXJzLmVudHJ5LnZhbHVlKS5sZW5ndGggPiAwIDogZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbHMgY3JlYXRlIHByZWZlcmVuY2UgYXBpIHRvIGNyZWF0ZSBwcm9jZXNzIGluc3RhbmNlIGZpbHRlcnNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCBhcHBcbiAgICAgKiBAcGFyYW0ga2V5IEtleSBvZiB0aGUgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzXG4gICAgICogQHBhcmFtIGZpbHRlcnMgRGV0YWlscyBvZiBuZXcgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIGNyZWF0ZWQgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzXG4gICAgICovXG4gICAgcHJpdmF0ZSBjcmVhdGVQcm9jZXNzRmlsdGVycyhhcHBOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nLCBmaWx0ZXJzOiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdKTogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWZlcmVuY2VTZXJ2aWNlLmNyZWF0ZVByZWZlcmVuY2UoYXBwTmFtZSwga2V5LCBmaWx0ZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxscyBnZXQgcHJlZmVyZW5jZSBhcGkgdG8gZ2V0IHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVyIGJ5IHByZWZlcmVuY2Uga2V5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBOYW1lIG9mIHRoZSB0YXJnZXQgYXBwXG4gICAgICogQHBhcmFtIGtleSBLZXkgb2YgdGhlIHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVyc1xuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzRmlsdGVyc0J5S2V5KGFwcE5hbWU6IHN0cmluZywga2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJlZmVyZW5jZVNlcnZpY2UuZ2V0UHJlZmVyZW5jZUJ5S2V5KGFwcE5hbWUsIGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbHMgdXBkYXRlIHByZWZlcmVuY2UgYXBpIHRvIHVwZGF0ZSBwcm9jZXNzIGluc3RhbmNlIGZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEBwYXJhbSBrZXkgS2V5IG9mIHRoZSBwcm9jZXNzIGluc3RhbmNlIGZpbHRlcnNcbiAgICAgKiBAcGFyYW0gZmlsdGVycyBEZXRhaWxzIG9mIHVwZGF0ZSBmaWx0ZXJcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHVwZGF0ZWQgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cGRhdGVQcm9jZXNzRmlsdGVycyhhcHBOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nLCBmaWx0ZXJzOiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdKTogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWZlcmVuY2VTZXJ2aWNlLnVwZGF0ZVByZWZlcmVuY2UoYXBwTmFtZSwga2V5LCBmaWx0ZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgdW5pcSBrZXkgd2l0aCBhcHBOYW1lIGFuZCB1c2VybmFtZVxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIFN0cmluZyBvZiBwcm9jZXNzIGluc3RhbmNlIGZpbHRlcnMgcHJlZmVyZW5jZSBrZXlcbiAgICAgKi9cbiAgICBwcml2YXRlIHByZXBhcmVLZXkoYXBwTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdXNlciA9IHRoaXMuaWRlbnRpdHlVc2VyU2VydmljZS5nZXRDdXJyZW50VXNlckluZm8oKTtcbiAgICAgICAgcmV0dXJuIGBwcm9jZXNzLWZpbHRlcnMtJHthcHBOYW1lfS0ke3VzZXIudXNlcm5hbWV9YDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyBhbmQgcmV0dXJucyB0aGUgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzIGZyb20gcHJlZmVyZW5jZXNcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsXG4gICAgICogQHBhcmFtIHByZWZlcmVuY2VzIHByZWZlcmVuY2VzXG4gICAgICogQHBhcmFtIGtleSBrZXlcbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbmRGaWx0ZXJzQnlLZXlJblByZWZlcmVuY2VzKHByZWZlcmVuY2VzOiBhbnksIGtleTogc3RyaW5nKTogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWxbXSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHByZWZlcmVuY2VzLmZpbmQoKGZpbHRlcjogYW55KSA9PiBmaWx0ZXIuZW50cnkua2V5ID09PSBrZXkpO1xuICAgICAgICByZXR1cm4gcmVzdWx0Py5lbnRyeSA/IEpTT04ucGFyc2UocmVzdWx0LmVudHJ5LnZhbHVlKSA6IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkRmlsdGVyc1RvU3RyZWFtKGZpbHRlcnM6IFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsW10pIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzU3ViamVjdC5uZXh0KGZpbHRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW5kIHJldHVybnMgdGhlIGRlZmF1bHQgZmlsdGVycyBmb3IgYSBwcm9jZXNzIGFwcC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCBhcHBcbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFxuICAgICAqL1xuICAgIHByaXZhdGUgZGVmYXVsdFByb2Nlc3NGaWx0ZXJzKGFwcE5hbWU/OiBzdHJpbmcpOiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG5ldyBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0FERl9DTE9VRF9QUk9DRVNTX0ZJTFRFUlMuUlVOTklOR19QUk9DRVNTRVMnLFxuICAgICAgICAgICAgICAgIGljb246ICdpbmJveCcsXG4gICAgICAgICAgICAgICAga2V5OiAncnVubmluZy1wcm9jZXNzZXMnLFxuICAgICAgICAgICAgICAgIGFwcE5hbWUsXG4gICAgICAgICAgICAgICAgc29ydDogJ3N0YXJ0RGF0ZScsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAnUlVOTklORycsXG4gICAgICAgICAgICAgICAgb3JkZXI6ICdERVNDJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwoe1xuICAgICAgICAgICAgICAgIG5hbWU6ICdBREZfQ0xPVURfUFJPQ0VTU19GSUxURVJTLkNPTVBMRVRFRF9QUk9DRVNTRVMnLFxuICAgICAgICAgICAgICAgIGljb246ICdkb25lJyxcbiAgICAgICAgICAgICAgICBrZXk6ICdjb21wbGV0ZWQtcHJvY2Vzc2VzJyxcbiAgICAgICAgICAgICAgICBhcHBOYW1lLFxuICAgICAgICAgICAgICAgIHNvcnQ6ICdzdGFydERhdGUnLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ0NPTVBMRVRFRCcsXG4gICAgICAgICAgICAgICAgb3JkZXI6ICdERVNDJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwoe1xuICAgICAgICAgICAgICAgIG5hbWU6ICdBREZfQ0xPVURfUFJPQ0VTU19GSUxURVJTLkFMTF9QUk9DRVNTRVMnLFxuICAgICAgICAgICAgICAgIGtleTogJ2FsbC1wcm9jZXNzZXMnLFxuICAgICAgICAgICAgICAgIGljb246ICdhZGp1c3QnLFxuICAgICAgICAgICAgICAgIGFwcE5hbWUsXG4gICAgICAgICAgICAgICAgc29ydDogJ3N0YXJ0RGF0ZScsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAnJyxcbiAgICAgICAgICAgICAgICBvcmRlcjogJ0RFU0MnXG4gICAgICAgICAgICB9KVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGdldFByb2Nlc3NOb3RpZmljYXRpb25TdWJzY3JpcHRpb24oYXBwTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUYXNrQ2xvdWRFbmdpbmVFdmVudFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvbkNsb3VkU2VydmljZVxuICAgICAgICAgICAgLm1ha2VHUUxRdWVyeShhcHBOYW1lLCBQUk9DRVNTX0VWRU5UX1NVQlNDUklQVElPTl9RVUVSWSlcbiAgICAgICAgICAgIC5waXBlKG1hcCgoZXZlbnRzOiBhbnkpID0+IGV2ZW50cz8uZGF0YT8uZW5naW5lRXZlbnRzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVmcmVzaCBmaWx0ZXIga2V5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsdGVyS2V5ICBLZXkgb2YgdGhlIGZpbHRlclxuICAgICAqL1xuICAgIHJlZnJlc2hGaWx0ZXIoZmlsdGVyS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJLZXlUb0JlUmVmcmVzaGVkU291cmNlLm5leHQoZmlsdGVyS2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBydW4gYWZ0ZXIgcmV0cmlldmluZyB0aGUgZmlsdGVyIGFycmF5IGZyb20gcHJlZmVyZW5jZXMuXG4gICAgICogSXQgaGFuZGxlcyB0aGUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgbmV3IEFQSSBieSBsb29raW5nIGZvciB0aGUgbmV3IHByb3BlcnRpZXMgYW5kIHRoZWlyIGNvdW50ZXJwYXJ0cyBpbiBlYWNoIHBhc3NlZCBmaWx0ZXIuXG4gICAgICogSWYgdGhlIG5ldyBwcm9wZXJ0eSBpcyBub3QgZm91bmQsIGl0IGlzIGNyZWF0ZWQgYW5kIGFzc2lnbmVkIHRoZSB2YWx1ZSBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBvbGQgcHJvcGVydHkuXG4gICAgICogVGhlIGZpbHRlcnMgYXJlIHRoZW4gdXBkYXRlZCBpbiB0aGUgcHJlZmVyZW5jZXMgYW5kIHJldHVybmVkLlxuICAgICAqIE9sZCBwcm9wZXJ0aWVzIGFyZSBsZWZ0IHVudG91Y2hlZCBmb3IgcHVycG9zZXMgbGlrZSBmZWF0dXJlIHRvZ2dsaW5nLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcC5cbiAgICAgKiBAcGFyYW0ga2V5IEtleSBvZiB0aGUgcHJvY2VzcyBmaWx0ZXJzLlxuICAgICAqIEBwYXJhbSBmaWx0ZXJzIEFycmF5IG9mIHByb2Nlc3MgZmlsdGVycyB0byBiZSBjaGVja2VkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgcHJvY2VzcyBmaWx0ZXJzIHdpdGggdXBkYXRlZCBwcm9wZXJ0aWVzLlxuICAgICAqL1xuICAgIHByaXZhdGUgaGFuZGxlQ3JlYXRlRmlsdGVyQmFja3dhcmRzQ29tcGF0aWJpbGl0eShcbiAgICAgICAgYXBwTmFtZTogc3RyaW5nLFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICAgICAgZmlsdGVyczogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWxbXVxuICAgICk6IE9ic2VydmFibGU8UHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWxbXT4ge1xuICAgICAgICBmaWx0ZXJzLmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgaWYgKGZpbHRlci5wcm9jZXNzRGVmaW5pdGlvbk5hbWUgJiYgIWZpbHRlci5wcm9jZXNzRGVmaW5pdGlvbk5hbWVzKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyLnByb2Nlc3NEZWZpbml0aW9uTmFtZXMgPSBbZmlsdGVyLnByb2Nlc3NEZWZpbml0aW9uTmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZmlsdGVyLmluaXRpYXRvciAmJiAhZmlsdGVyLmluaXRpYXRvcnMpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXIuaW5pdGlhdG9ycyA9IFtmaWx0ZXIuaW5pdGlhdG9yXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChmaWx0ZXIuYXBwVmVyc2lvbiAmJiAhZmlsdGVyLmFwcFZlcnNpb25zKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyLmFwcFZlcnNpb25zID0gW2ZpbHRlci5hcHBWZXJzaW9uLnRvU3RyaW5nKCldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGZpbHRlci5zdGF0dXMgJiYgIWZpbHRlci5zdGF0dXNlcykge1xuICAgICAgICAgICAgICAgIGZpbHRlci5zdGF0dXNlcyA9IFtmaWx0ZXIuc3RhdHVzXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlUHJvY2Vzc0ZpbHRlcnMoYXBwTmFtZSwga2V5LCBmaWx0ZXJzKTtcbiAgICB9XG59XG4iXX0=
|
|
405
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1maWx0ZXItY2xvdWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvcHJvY2Vzcy9wcm9jZXNzLWZpbHRlcnMvc2VydmljZXMvcHJvY2Vzcy1maWx0ZXItY2xvdWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsRUFBRSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFHeEYsTUFBTSxnQ0FBZ0MsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Q0FjeEMsQ0FBQztBQUtGLE1BQU0sT0FBTyx5QkFBeUI7SUFVbEM7UUFQUSxpQ0FBNEIsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQzdELDRCQUF1QixHQUF1QixJQUFJLENBQUMsNEJBQTRCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFOUUsc0JBQWlCLEdBQUcsTUFBTSxDQUFrQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQzNGLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xELDZCQUF3QixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxD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QUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDbkUsQ0FBQztZQUNELElBQUksTUFBTSxDQUFDLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDekMsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzQyxDQUFDO1lBQ0QsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUMzQyxNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDOytHQXJaUSx5QkFBeUI7bUhBQXpCLHlCQUF5QixjQUZ0QixNQUFNOzs0RkFFVCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3Byb2Nlc3MtZmlsdGVyLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUFJPQ0VTU19GSUxURVJTX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbG91ZC10b2tlbi5zZXJ2aWNlJztcbmltcG9ydCB7IFByZWZlcmVuY2VDbG91ZFNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVmZXJlbmNlLWNsb3VkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJZGVudGl0eVVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcGVvcGxlL3NlcnZpY2VzL2lkZW50aXR5LXVzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25DbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24tY2xvdWQuc2VydmljZSc7XG5pbXBvcnQgeyBUYXNrQ2xvdWRFbmdpbmVFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9lbmdpbmUtZXZlbnQtY2xvdWQubW9kZWwnO1xuXG5jb25zdCBQUk9DRVNTX0VWRU5UX1NVQlNDUklQVElPTl9RVUVSWSA9IGBcbiAgICBzdWJzY3JpcHRpb24ge1xuICAgICAgICBlbmdpbmVFdmVudHMoZXZlbnRUeXBlOiBbXG4gICAgICAgICAgICBQUk9DRVNTX0NBTkNFTExFRFxuICAgICAgICAgICAgUFJPQ0VTU19DT01QTEVURURcbiAgICAgICAgICAgIFBST0NFU1NfQ1JFQVRFRFxuICAgICAgICAgICAgUFJPQ0VTU19SRVNVTUVEXG4gICAgICAgICAgICBQUk9DRVNTX1NVU1BFTkRFRFxuICAgICAgICAgICAgUFJPQ0VTU19TVEFSVEVEXG4gICAgICAgIF0pIHtcbiAgICAgICAgICAgIGV2ZW50VHlwZVxuICAgICAgICAgICAgZW50aXR5XG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NGaWx0ZXJDbG91ZFNlcnZpY2Uge1xuICAgIHByaXZhdGUgZmlsdGVyc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPjtcbiAgICBmaWx0ZXJzJDogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPjtcbiAgICBwcml2YXRlIGZpbHRlcktleVRvQmVSZWZyZXNoZWRTb3VyY2UgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gICAgZmlsdGVyS2V5VG9CZVJlZnJlc2hlZCQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuZmlsdGVyS2V5VG9CZVJlZnJlc2hlZFNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJlZmVyZW5jZVNlcnZpY2UgPSBpbmplY3Q8UHJlZmVyZW5jZUNsb3VkU2VydmljZUludGVyZmFjZT4oUFJPQ0VTU19GSUxURVJTX1NFUlZJQ0VfVE9LRU4pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaWRlbnRpdHlVc2VyU2VydmljZSA9IGluamVjdChJZGVudGl0eVVzZXJTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvbkNsb3VkU2VydmljZSA9IGluamVjdChOb3RpZmljYXRpb25DbG91ZFNlcnZpY2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcbiAgICAgICAgdGhpcy5maWx0ZXJzJCA9IHRoaXMuZmlsdGVyc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcmVhZFF1ZXJ5UGFyYW1zKG9iajogYW55KTogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwge1xuICAgICAgICBjb25zdCBtb2RlbCA9IE9iamVjdC5hc3NpZ24oe30sIG9iaikgYXMgUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWw7XG5cbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosICdhcHBWZXJzaW9uJykgJiYgb2JqWydhcHBWZXJzaW9uJ10pIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb2JqWydhcHBWZXJzaW9uJ10gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgbW9kZWwuYXBwVmVyc2lvbiA9IG9ialsnYXBwVmVyc2lvbiddLnNwbGl0KCcsJykubWFwKChzdHIpID0+IHBhcnNlSW50KHN0ciwgMTApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCAnbGFzdE1vZGlmaWVkRnJvbScpKSB7XG4gICAgICAgICAgICBtb2RlbC5sYXN0TW9kaWZpZWRGcm9tID0gbmV3IERhdGUocGFyc2VJbnQob2JqWydsYXN0TW9kaWZpZWRGcm9tJ10sIDEwKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgJ2xhc3RNb2RpZmllZFRvJykpIHtcbiAgICAgICAgICAgIG1vZGVsLmxhc3RNb2RpZmllZFRvID0gbmV3IERhdGUocGFyc2VJbnQob2JqWydsYXN0TW9kaWZpZWRUbyddLCAxMCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1vZGVsO1xuICAgIH1cblxuICAgIHdyaXRlUXVlcnlQYXJhbXModmFsdWU6IGFueSwgZmlsdGVyUHJvcGVydGllczogc3RyaW5nW10sIGFwcE5hbWU/OiBzdHJpbmcsIGlkPzogc3RyaW5nKTogYW55IHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZSB8fCB7fTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgICAgICAgYXBwTmFtZTogYXBwTmFtZSB8fCB2YWx1ZVsnYXBwTmFtZSddLFxuICAgICAgICAgICAgaWQ6IGlkIHx8IHZhbHVlWydpZCddLFxuICAgICAgICAgICAgLi4uKHZhbHVlWydlbnZpcm9ubWVudElkJ10gJiYge1xuICAgICAgICAgICAgICAgIGVudmlyb25tZW50SWQ6IHZhbHVlWydlbnZpcm9ubWVudElkJ11cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH07XG5cbiAgICAgICAgZm9yIChjb25zdCBwcm9wIG9mIGZpbHRlclByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIGlmIChwcm9wID09PSAnYXBwVmVyc2lvbk11bHRpcGxlJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZlcnNpb25zID0gdmFsdWVbJ2FwcFZlcnNpb24nXTtcblxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZlcnNpb25zKSAmJiB2ZXJzaW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFsnYXBwVmVyc2lvbiddID0gdmVyc2lvbnMuam9pbignLCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcCA9PT0gJ2xhc3RNb2RpZmllZCcpIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWVbJ2xhc3RNb2RpZmllZEZyb20nXSkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHRbJ2xhc3RNb2RpZmllZEZyb20nXSA9IHZhbHVlWydsYXN0TW9kaWZpZWRGcm9tJ10udmFsdWVPZigpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZVsnbGFzdE1vZGlmaWVkVG8nXSkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHRbJ2xhc3RNb2RpZmllZFRvJ10gPSB2YWx1ZVsnbGFzdE1vZGlmaWVkVG8nXS52YWx1ZU9mKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIHByb3ApKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W3Byb3BdID0gdmFsdWVbcHJvcF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW5kIHJldHVybnMgdGhlIGRlZmF1bHQgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzIGZvciBhIGFwcC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCBhcHBcbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZURlZmF1bHRGaWx0ZXJzKGFwcE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBrZXk6IHN0cmluZyA9IHRoaXMucHJlcGFyZUtleShhcHBOYW1lKTtcbiAgICAgICAgdGhpcy5wcmVmZXJlbmNlU2VydmljZVxuICAgICAgICAgICAgLmdldFByZWZlcmVuY2VzKGFwcE5hbWUsIGtleSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJlZmVyZW5jZXMgPSByZXNwb25zZT8ubGlzdD8uZW50cmllcyA/IHJlc3BvbnNlLmxpc3QuZW50cmllcyA6IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaGFzUHJlZmVyZW5jZXMocHJlZmVyZW5jZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVQcm9jZXNzRmlsdGVycyhhcHBOYW1lLCBrZXksIHRoaXMuZGVmYXVsdFByb2Nlc3NGaWx0ZXJzKGFwcE5hbWUpKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpcy5oYXNQcm9jZXNzRmlsdGVycyhwcmVmZXJlbmNlcywga2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUHJvY2Vzc0ZpbHRlcnMoYXBwTmFtZSwga2V5LCB0aGlzLmRlZmF1bHRQcm9jZXNzRmlsdGVycyhhcHBOYW1lKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5maW5kRmlsdGVyc0J5S2V5SW5QcmVmZXJlbmNlcyhwcmVmZXJlbmNlcywga2V5KSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGZpbHRlcnMpID0+IHRoaXMuaGFuZGxlQ3JlYXRlRmlsdGVyQmFja3dhcmRzQ29tcGF0aWJpbGl0eShhcHBOYW1lLCBrZXksIGZpbHRlcnMpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZmlsdGVycykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkRmlsdGVyc1RvU3RyZWFtKGZpbHRlcnMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzIGZvciBhIHByb2Nlc3MgYXBwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgcHJvY2VzcyBmaWx0ZXJzIGRldGFpbHNcbiAgICAgKi9cbiAgICBnZXRQcm9jZXNzRmlsdGVycyhhcHBOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsW10+IHtcbiAgICAgICAgdGhpcy5jcmVhdGVEZWZhdWx0RmlsdGVycyhhcHBOYW1lKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVycyQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVyIGZvciBnaXZlbiBmaWx0ZXIgaWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCBhcHBcbiAgICAgKiBAcGFyYW0gaWQgSWQgb2YgdGhlIHRhcmdldCBwcm9jZXNzIGluc3RhbmNlIGZpbHRlclxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXIgZGV0YWlsc1xuICAgICAqL1xuICAgIGdldEZpbHRlckJ5SWQoYXBwTmFtZTogc3RyaW5nLCBpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbD4ge1xuICAgICAgICBjb25zdCBrZXk6IHN0cmluZyA9IHRoaXMucHJlcGFyZUtleShhcHBOYW1lKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvY2Vzc0ZpbHRlcnNCeUtleShhcHBOYW1lLCBrZXkpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVycz8ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVByb2Nlc3NGaWx0ZXJzKGFwcE5hbWUsIGtleSwgdGhpcy5kZWZhdWx0UHJvY2Vzc0ZpbHRlcnMoYXBwTmFtZSkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihmaWx0ZXJzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoZmlsdGVycykgPT4gZmlsdGVycy5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLmlkID09PSBpZClbMF0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIG5ldyBwcm9jZXNzIGluc3RhbmNlIGZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIG5ld0ZpbHRlciBUaGUgbmV3IGZpbHRlciB0byBhZGRcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVycyB3aXRoIG5ld2x5IGFkZGVkIGZpbHRlclxuICAgICAqL1xuICAgIGFkZEZpbHRlcihuZXdGaWx0ZXI6IFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsKTogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPiB7XG4gICAgICAgIGNvbnN0IHsgYXBwTmFtZSwgbmFtZSB9ID0gbmV3RmlsdGVyO1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLnByZXBhcmVLZXkoYXBwTmFtZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvY2Vzc0ZpbHRlcnNCeUtleShhcHBOYW1lLCBrZXkpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVycz8ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVByb2Nlc3NGaWx0ZXJzKGFwcE5hbWUsIGtleSwgW25ld0ZpbHRlcl0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gZmlsdGVycy5maW5kSW5kZXgoKGZpbHRlcikgPT4gZmlsdGVyLm5hbWUgPT09IG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgZmlsdGVycy5wdXNoKG5ld0ZpbHRlcik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByZWZlcmVuY2VTZXJ2aWNlLnVwZGF0ZVByZWZlcmVuY2UoYXBwTmFtZSwga2V5LCBmaWx0ZXJzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoZmlsdGVycykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkRmlsdGVyc1RvU3RyZWFtKGZpbHRlcnMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgVXBkYXRlIHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXBkYXRlZEZpbHRlciBUaGUgbmV3IGZpbHRlciB0byB1cGRhdGVcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVycyB3aXRoIHVwZGF0ZWQgZmlsdGVyXG4gICAgICovXG4gICAgdXBkYXRlRmlsdGVyKHVwZGF0ZWRGaWx0ZXI6IFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsKTogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPiB7XG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMucHJlcGFyZUtleSh1cGRhdGVkRmlsdGVyLmFwcE5hbWUpO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRQcm9jZXNzRmlsdGVyc0J5S2V5KHVwZGF0ZWRGaWx0ZXIuYXBwTmFtZSwga2V5KS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChmaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcnM/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVQcm9jZXNzRmlsdGVycyh1cGRhdGVkRmlsdGVyLmFwcE5hbWUsIGtleSwgW3VwZGF0ZWRGaWx0ZXJdKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSBmaWx0ZXJzLmZpbmRJbmRleCgoZmlsdGVyKSA9PiBmaWx0ZXIuaWQgPT09IHVwZGF0ZWRGaWx0ZXIuaWQpO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzW2l0ZW1JbmRleF0gPSB1cGRhdGVkRmlsdGVyO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVQcm9jZXNzRmlsdGVycyh1cGRhdGVkRmlsdGVyLmFwcE5hbWUsIGtleSwgZmlsdGVycyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKHVwZGF0ZWRGaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRGaWx0ZXJzVG9TdHJlYW0odXBkYXRlZEZpbHRlcnMpO1xuICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGVkRmlsdGVycztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIERlbGV0ZSBwcm9jZXNzIGluc3RhbmNlIGZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIGRlbGV0ZWRGaWx0ZXIgVGhlIG5ldyBmaWx0ZXIgdG8gZGVsZXRlXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiBwcm9jZXNzIGluc3RhbmNlIGZpbHRlcnMgd2l0aG91dCBkZWxldGVkIGZpbHRlclxuICAgICAqL1xuICAgIGRlbGV0ZUZpbHRlcihkZWxldGVkRmlsdGVyOiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbCk6IE9ic2VydmFibGU8UHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWxbXT4ge1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLnByZXBhcmVLZXkoZGVsZXRlZEZpbHRlci5hcHBOYW1lKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRQcm9jZXNzRmlsdGVyc0J5S2V5KGRlbGV0ZWRGaWx0ZXIuYXBwTmFtZSwga2V5KS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChmaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcnMgJiYgZmlsdGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcnMgPSBmaWx0ZXJzLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIuaWQgIT09IGRlbGV0ZWRGaWx0ZXIuaWQpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVQcm9jZXNzRmlsdGVycyhkZWxldGVkRmlsdGVyLmFwcE5hbWUsIGtleSwgZmlsdGVycyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoZmlsdGVycykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkRmlsdGVyc1RvU3RyZWFtKGZpbHRlcnMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgZ2l2ZW4gZmlsdGVyIGlzIGEgZGVmYXVsdCBmaWx0ZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCBwcm9jZXNzIGZpbHRlclxuICAgICAqIEByZXR1cm5zIEJvb2xlYW4gdmFsdWUgZm9yIHdoZXRoZXIgdGhlIGZpbHRlciBpcyBhIGRlZmF1bHQgZmlsdGVyXG4gICAgICovXG4gICAgaXNEZWZhdWx0RmlsdGVyKGZpbHRlck5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBkZWZhdWx0RmlsdGVycyA9IHRoaXMuZGVmYXVsdFByb2Nlc3NGaWx0ZXJzKCk7XG4gICAgICAgIHJldHVybiBkZWZhdWx0RmlsdGVycy5maW5kSW5kZXgoKGZpbHRlcikgPT4gZmlsdGVyTmFtZSA9PT0gZmlsdGVyLm5hbWUpICE9PSAtMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldCB0aGUgcHJvY2VzcyBmaWx0ZXJzIHRvIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gaWYgaXQgZXhpc3RzIGFuZCBzdG9yZXMgaXQuXG4gICAgICogSWYgdGhlcmUgaXMgbm8gZGVmYXVsdCBjb25maWd1cmF0aW9uIGZvciB0aGUgcHJvY2VzcyBjbG91ZCBmaWx0ZXIgd2l0aCB0aGUgcHJvdmlkZWQgZmlsdGVyIG5hbWUsXG4gICAgICogdGhlbiBpdCBjaGFuZ2VzIG5vdGhpbmcgYnV0IHN0b3JlcyB0aGUgY3VycmVudCB2YWx1ZXMgb2YgdGhlIGZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEBwYXJhbSBmaWx0ZXIgVGhlIHByb2Nlc3MgZmlsdGVyIHRvIGJlIHJlc3RvcmVkIHRvIGRlZmF1bHRzXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiBwcm9jZXNzIGZpbHRlcnMgZGV0YWlsc1xuICAgICAqL1xuICAgIHJlc2V0UHJvY2Vzc0ZpbHRlclRvRGVmYXVsdHMoYXBwTmFtZTogc3RyaW5nLCBmaWx0ZXI6IFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsKTogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPiB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRGaWx0ZXIgPVxuICAgICAgICAgICAgdGhpcy5kZWZhdWx0UHJvY2Vzc0ZpbHRlcnMoYXBwTmFtZSkuZmluZCgoZGVmYXVsdEZpbHRlckRlZmluaXRpb24pID0+IGRlZmF1bHRGaWx0ZXJEZWZpbml0aW9uLm5hbWUgPT09IGZpbHRlci5uYW1lKSB8fCBmaWx0ZXI7XG4gICAgICAgIGRlZmF1bHRGaWx0ZXIuaWQgPSBmaWx0ZXIuaWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUZpbHRlcihkZWZhdWx0RmlsdGVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgdXNlciBwcmVmZXJlbmNlIGFyZSBlbXB0eSBvciBub3RcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcmVmZXJlbmNlcyBVc2VyIHByZWZlcmVuY2VzIG9mIHRoZSB0YXJnZXQgYXBwXG4gICAgICogQHJldHVybnMgQm9vbGVhbiB2YWx1ZSBpZiB0aGUgcHJlZmVyZW5jZXMgYXJlIG5vdCBlbXB0eVxuICAgICAqL1xuICAgIHByaXZhdGUgaGFzUHJlZmVyZW5jZXMocHJlZmVyZW5jZXM6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gcHJlZmVyZW5jZXMgJiYgcHJlZmVyZW5jZXMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgZm9yIHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVycyBpbiBnaXZlbiB1c2VyIHByZWZlcmVuY2VzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJlZmVyZW5jZXMgVXNlciBwcmVmZXJlbmNlcyBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEBwYXJhbSBrZXkgS2V5IG9mIHRoZSBwcm9jZXNzIGluc3RhbmNlIGZpbHRlcnNcbiAgICAgKiBAcmV0dXJucyBCb29sZWFuIHZhbHVlIGlmIHRoZSBwcmVmZXJlbmNlIGhhcyBwcm9jZXNzIGluc3RhbmNlIGZpbHRlcnNcbiAgICAgKi9cbiAgICBwcml2YXRlIGhhc1Byb2Nlc3NGaWx0ZXJzKHByZWZlcmVuY2VzOiBhbnksIGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZpbHRlcnMgPSBwcmVmZXJlbmNlcy5maW5kKChmaWx0ZXI6IGFueSkgPT4gZmlsdGVyLmVudHJ5LmtleSA9PT0ga2V5KTtcbiAgICAgICAgcmV0dXJuIGZpbHRlcnM/LmVudHJ5ID8gSlNPTi5wYXJzZShmaWx0ZXJzLmVudHJ5LnZhbHVlKS5sZW5ndGggPiAwIDogZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbHMgY3JlYXRlIHByZWZlcmVuY2UgYXBpIHRvIGNyZWF0ZSBwcm9jZXNzIGluc3RhbmNlIGZpbHRlcnNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCBhcHBcbiAgICAgKiBAcGFyYW0ga2V5IEtleSBvZiB0aGUgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzXG4gICAgICogQHBhcmFtIGZpbHRlcnMgRGV0YWlscyBvZiBuZXcgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIGNyZWF0ZWQgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzXG4gICAgICovXG4gICAgcHJpdmF0ZSBjcmVhdGVQcm9jZXNzRmlsdGVycyhhcHBOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nLCBmaWx0ZXJzOiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdKTogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWZlcmVuY2VTZXJ2aWNlLmNyZWF0ZVByZWZlcmVuY2UoYXBwTmFtZSwga2V5LCBmaWx0ZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxscyBnZXQgcHJlZmVyZW5jZSBhcGkgdG8gZ2V0IHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVyIGJ5IHByZWZlcmVuY2Uga2V5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBOYW1lIG9mIHRoZSB0YXJnZXQgYXBwXG4gICAgICogQHBhcmFtIGtleSBLZXkgb2YgdGhlIHByb2Nlc3MgaW5zdGFuY2UgZmlsdGVyc1xuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzRmlsdGVyc0J5S2V5KGFwcE5hbWU6IHN0cmluZywga2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJlZmVyZW5jZVNlcnZpY2UuZ2V0UHJlZmVyZW5jZUJ5S2V5KGFwcE5hbWUsIGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbHMgdXBkYXRlIHByZWZlcmVuY2UgYXBpIHRvIHVwZGF0ZSBwcm9jZXNzIGluc3RhbmNlIGZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEBwYXJhbSBrZXkgS2V5IG9mIHRoZSBwcm9jZXNzIGluc3RhbmNlIGZpbHRlcnNcbiAgICAgKiBAcGFyYW0gZmlsdGVycyBEZXRhaWxzIG9mIHVwZGF0ZSBmaWx0ZXJcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHVwZGF0ZWQgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cGRhdGVQcm9jZXNzRmlsdGVycyhhcHBOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nLCBmaWx0ZXJzOiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdKTogT2JzZXJ2YWJsZTxQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWZlcmVuY2VTZXJ2aWNlLnVwZGF0ZVByZWZlcmVuY2UoYXBwTmFtZSwga2V5LCBmaWx0ZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgdW5pcSBrZXkgd2l0aCBhcHBOYW1lIGFuZCB1c2VybmFtZVxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIFN0cmluZyBvZiBwcm9jZXNzIGluc3RhbmNlIGZpbHRlcnMgcHJlZmVyZW5jZSBrZXlcbiAgICAgKi9cbiAgICBwcml2YXRlIHByZXBhcmVLZXkoYXBwTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdXNlciA9IHRoaXMuaWRlbnRpdHlVc2VyU2VydmljZS5nZXRDdXJyZW50VXNlckluZm8oKTtcbiAgICAgICAgcmV0dXJuIGBwcm9jZXNzLWZpbHRlcnMtJHthcHBOYW1lfS0ke3VzZXIudXNlcm5hbWV9YDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyBhbmQgcmV0dXJucyB0aGUgcHJvY2VzcyBpbnN0YW5jZSBmaWx0ZXJzIGZyb20gcHJlZmVyZW5jZXNcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsXG4gICAgICogQHBhcmFtIHByZWZlcmVuY2VzIHByZWZlcmVuY2VzXG4gICAgICogQHBhcmFtIGtleSBrZXlcbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbmRGaWx0ZXJzQnlLZXlJblByZWZlcmVuY2VzKHByZWZlcmVuY2VzOiBhbnksIGtleTogc3RyaW5nKTogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWxbXSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHByZWZlcmVuY2VzLmZpbmQoKGZpbHRlcjogYW55KSA9PiBmaWx0ZXIuZW50cnkua2V5ID09PSBrZXkpO1xuICAgICAgICByZXR1cm4gcmVzdWx0Py5lbnRyeSA/IEpTT04ucGFyc2UocmVzdWx0LmVudHJ5LnZhbHVlKSA6IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkRmlsdGVyc1RvU3RyZWFtKGZpbHRlcnM6IFByb2Nlc3NGaWx0ZXJDbG91ZE1vZGVsW10pIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzU3ViamVjdC5uZXh0KGZpbHRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW5kIHJldHVybnMgdGhlIGRlZmF1bHQgZmlsdGVycyBmb3IgYSBwcm9jZXNzIGFwcC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCBhcHBcbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFxuICAgICAqL1xuICAgIHByaXZhdGUgZGVmYXVsdFByb2Nlc3NGaWx0ZXJzKGFwcE5hbWU/OiBzdHJpbmcpOiBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbFtdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG5ldyBQcm9jZXNzRmlsdGVyQ2xvdWRNb2RlbCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0FERl9DTE9VRF9QUk9DRVNTX0ZJTFRFUlMuUlVOTklOR19QUk9DRVNTRVMnLFxuICAgICAgICAgICAgICAgIGljb246ICdpbmJveCcsXG4gICAgICAgICAgICAgICAga2V5OiAncnVubmluZy1wcm9jZXNzZXMnLFxuICAgICAgICAgICAgICAgIGFwcE5hbWUsXG4gICAgICAgICAgICAgICAgc29ydDogJ3N0YXJ0RGF0ZScsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAnUlVOTklORycsXG4gICAgICAgICAgICAgICAgb3JkZXI6ICdERVNDJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwoe1xuICAgICAgICAgICAgICAgIG5hbWU6ICdBREZfQ0xPVURfUFJPQ0VTU19GSUxURVJTLkNPTVBMRVRFRF9QUk9DRVNTRVMnLFxuICAgICAgICAgICAgICAgIGljb246ICdkb25lJyxcbiAgICAgICAgICAgICAgICBrZXk6ICdjb21wbGV0ZWQtcHJvY2Vzc2VzJyxcbiAgICAgICAgICAgICAgICBhcHBOYW1lLFxuICAgICAgICAgICAgICAgIHNvcnQ6ICdzdGFydERhdGUnLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ0NPTVBMRVRFRCcsXG4gICAgICAgICAgICAgICAgb3JkZXI6ICdERVNDJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWwoe1xuICAgICAgICAgICAgICAgIG5hbWU6ICdBREZfQ0xPVURfUFJPQ0VTU19GSUxURVJTLkFMTF9QUk9DRVNTRVMnLFxuICAgICAgICAgICAgICAgIGtleTogJ2FsbC1wcm9jZXNzZXMnLFxuICAgICAgICAgICAgICAgIGljb246ICdhZGp1c3QnLFxuICAgICAgICAgICAgICAgIGFwcE5hbWUsXG4gICAgICAgICAgICAgICAgc29ydDogJ3N0YXJ0RGF0ZScsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAnJyxcbiAgICAgICAgICAgICAgICBvcmRlcjogJ0RFU0MnXG4gICAgICAgICAgICB9KVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGdldFByb2Nlc3NOb3RpZmljYXRpb25TdWJzY3JpcHRpb24oYXBwTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUYXNrQ2xvdWRFbmdpbmVFdmVudFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvbkNsb3VkU2VydmljZVxuICAgICAgICAgICAgLm1ha2VHUUxRdWVyeShhcHBOYW1lLCBQUk9DRVNTX0VWRU5UX1NVQlNDUklQVElPTl9RVUVSWSlcbiAgICAgICAgICAgIC5waXBlKG1hcCgoZXZlbnRzOiBhbnkpID0+IGV2ZW50cz8uZGF0YT8uZW5naW5lRXZlbnRzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVmcmVzaCBmaWx0ZXIga2V5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsdGVyS2V5ICBLZXkgb2YgdGhlIGZpbHRlclxuICAgICAqL1xuICAgIHJlZnJlc2hGaWx0ZXIoZmlsdGVyS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJLZXlUb0JlUmVmcmVzaGVkU291cmNlLm5leHQoZmlsdGVyS2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBydW4gYWZ0ZXIgcmV0cmlldmluZyB0aGUgZmlsdGVyIGFycmF5IGZyb20gcHJlZmVyZW5jZXMuXG4gICAgICogSXQgaGFuZGxlcyB0aGUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgbmV3IEFQSSBieSBsb29raW5nIGZvciB0aGUgbmV3IHByb3BlcnRpZXMgYW5kIHRoZWlyIGNvdW50ZXJwYXJ0cyBpbiBlYWNoIHBhc3NlZCBmaWx0ZXIuXG4gICAgICogSWYgdGhlIG5ldyBwcm9wZXJ0eSBpcyBub3QgZm91bmQsIGl0IGlzIGNyZWF0ZWQgYW5kIGFzc2lnbmVkIHRoZSB2YWx1ZSBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBvbGQgcHJvcGVydHkuXG4gICAgICogVGhlIGZpbHRlcnMgYXJlIHRoZW4gdXBkYXRlZCBpbiB0aGUgcHJlZmVyZW5jZXMgYW5kIHJldHVybmVkLlxuICAgICAqIE9sZCBwcm9wZXJ0aWVzIGFyZSBsZWZ0IHVudG91Y2hlZCBmb3IgcHVycG9zZXMgbGlrZSBmZWF0dXJlIHRvZ2dsaW5nLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcC5cbiAgICAgKiBAcGFyYW0ga2V5IEtleSBvZiB0aGUgcHJvY2VzcyBmaWx0ZXJzLlxuICAgICAqIEBwYXJhbSBmaWx0ZXJzIEFycmF5IG9mIHByb2Nlc3MgZmlsdGVycyB0byBiZSBjaGVja2VkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgcHJvY2VzcyBmaWx0ZXJzIHdpdGggdXBkYXRlZCBwcm9wZXJ0aWVzLlxuICAgICAqL1xuICAgIHByaXZhdGUgaGFuZGxlQ3JlYXRlRmlsdGVyQmFja3dhcmRzQ29tcGF0aWJpbGl0eShcbiAgICAgICAgYXBwTmFtZTogc3RyaW5nLFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICAgICAgZmlsdGVyczogUHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWxbXVxuICAgICk6IE9ic2VydmFibGU8UHJvY2Vzc0ZpbHRlckNsb3VkTW9kZWxbXT4ge1xuICAgICAgICBmaWx0ZXJzLmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgaWYgKGZpbHRlci5wcm9jZXNzRGVmaW5pdGlvbk5hbWUgJiYgIWZpbHRlci5wcm9jZXNzRGVmaW5pdGlvbk5hbWVzKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyLnByb2Nlc3NEZWZpbml0aW9uTmFtZXMgPSBbZmlsdGVyLnByb2Nlc3NEZWZpbml0aW9uTmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZmlsdGVyLmluaXRpYXRvciAmJiAhZmlsdGVyLmluaXRpYXRvcnMpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXIuaW5pdGlhdG9ycyA9IFtmaWx0ZXIuaW5pdGlhdG9yXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChmaWx0ZXIuYXBwVmVyc2lvbiAmJiAhZmlsdGVyLmFwcFZlcnNpb25zKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyLmFwcFZlcnNpb25zID0gW2ZpbHRlci5hcHBWZXJzaW9uLnRvU3RyaW5nKCldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGZpbHRlci5zdGF0dXMgJiYgIWZpbHRlci5zdGF0dXNlcykge1xuICAgICAgICAgICAgICAgIGZpbHRlci5zdGF0dXNlcyA9IFtmaWx0ZXIuc3RhdHVzXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlUHJvY2Vzc0ZpbHRlcnMoYXBwTmFtZSwga2V5LCBmaWx0ZXJzKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -119,10 +119,10 @@ export class ProcessHeaderCloudComponent {
|
|
|
119
119
|
isValidSelection(filteredProperties, cardItem) {
|
|
120
120
|
return filteredProperties ? filteredProperties.indexOf(cardItem.key) >= 0 : true;
|
|
121
121
|
}
|
|
122
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
123
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessHeaderCloudComponent, deps: [{ token: i1.ProcessCloudService }, { token: i2.TranslationService }, { token: i2.AppConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProcessHeaderCloudComponent, isStandalone: true, selector: "adf-cloud-process-header", inputs: { appName: "appName", processInstanceId: "processInstanceId" }, outputs: { loaded: "loaded" }, host: { classAttribute: "adf-cloud-process-header" }, usesOnChanges: true, ngImport: i0, template: "<mat-card appearance=\"outlined\" *ngIf=\"processInstanceDetails\" class=\"adf-process-header-cloud-card\">\n <mat-card-content>\n <adf-card-view [properties]=\"properties\" />\n </mat-card-content>\n</mat-card>\n", styles: [".adf-process-header-cloud-card{background-color:var(--adf-theme-background-card-color)}\n"], dependencies: [{ kind: "component", type: CardViewComponent, selector: "adf-card-view", inputs: ["properties", "editable", "displayEmpty", "displayNoneOption", "displayClearAction", "copyToClipboardAction", "useChipsForMultiValueProperty", "multiValueSeparator", "displayLabelForChips"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
124
124
|
}
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessHeaderCloudComponent, decorators: [{
|
|
126
126
|
type: Component,
|
|
127
127
|
args: [{ selector: 'adf-cloud-process-header', standalone: true, imports: [CardViewComponent, MatCardModule, NgIf], encapsulation: ViewEncapsulation.None, host: { class: 'adf-cloud-process-header' }, template: "<mat-card appearance=\"outlined\" *ngIf=\"processInstanceDetails\" class=\"adf-process-header-cloud-card\">\n <mat-card-content>\n <adf-card-view [properties]=\"properties\" />\n </mat-card-content>\n</mat-card>\n", styles: [".adf-process-header-cloud-card{background-color:var(--adf-theme-background-card-color)}\n"] }]
|
|
128
128
|
}], ctorParameters: () => [{ type: i1.ProcessCloudService }, { type: i2.TranslationService }, { type: i2.AppConfigService }], propDecorators: { appName: [{
|
|
@@ -134,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
134
134
|
}], loaded: [{
|
|
135
135
|
type: Output
|
|
136
136
|
}] } });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1oZWFkZXItY2xvdWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9wcm9jZXNzL3Byb2Nlc3MtaGVhZGVyL2NvbXBvbmVudHMvcHJvY2Vzcy1oZWFkZXItY2xvdWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9wcm9jZXNzL3Byb2Nlc3MtaGVhZGVyL2NvbXBvbmVudHMvcHJvY2Vzcy1oZWFkZXItY2xvdWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQ0gsZ0JBQWdCLEVBRWhCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFFckIscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNyQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBV3ZDLE1BQU0sT0FBTywyQkFBMkI7SUFvQnBDLFlBQ1ksbUJBQXdDLEVBQ3hDLGtCQUFzQyxFQUN0QyxTQUEyQjtRQUYzQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FB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Q0FBQztJQUNOLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxrQkFBNEIsRUFBRSxRQUErQjtRQUNsRixPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JGLENBQUM7OEdBckhRLDJCQUEyQjtrR0FBM0IsMkJBQTJCLHNRQzFDeEMsNE5BS0EsbUpEK0JjLGlCQUFpQixpUUFBRSxhQUFhLDJOQUFFLElBQUk7OzJGQU12QywyQkFBMkI7a0JBVHZDLFNBQVM7K0JBQ0ksMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsaUJBRWxDLGlCQUFpQixDQUFDLElBQUksUUFFL0IsRUFBRSxLQUFLLEVBQUUsMEJBQTBCLEVBQUU7d0pBSzNDLE9BQU87c0JBRE4sS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS3pCLGlCQUFpQjtzQkFEaEIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS3pCLE1BQU07c0JBREwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFwcENvbmZpZ1NlcnZpY2UsXG4gICAgQ2FyZFZpZXdCYXNlSXRlbU1vZGVsLFxuICAgIENhcmRWaWV3Q29tcG9uZW50LFxuICAgIENhcmRWaWV3RGF0ZUl0ZW1Nb2RlbCxcbiAgICBDYXJkVmlld0l0ZW0sXG4gICAgQ2FyZFZpZXdUZXh0SXRlbU1vZGVsLFxuICAgIFRyYW5zbGF0aW9uU2VydmljZVxufSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgUHJvY2Vzc0luc3RhbmNlQ2xvdWQgfSBmcm9tICcuLi8uLi9zdGFydC1wcm9jZXNzL21vZGVscy9wcm9jZXNzLWluc3RhbmNlLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IFByb2Nlc3NDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9jZXNzLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWNsb3VkLXByb2Nlc3MtaGVhZGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDYXJkVmlld0NvbXBvbmVudCwgTWF0Q2FyZE1vZHVsZSwgTmdJZl0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2Nlc3MtaGVhZGVyLWNsb3VkLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2Nlc3MtaGVhZGVyLWNsb3VkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1jbG91ZC1wcm9jZXNzLWhlYWRlcicgfVxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzSGVhZGVyQ2xvdWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gICAgLyoqIChSZXF1aXJlZCkgVGhlIG5hbWUgb2YgdGhlIGFwcGxpY2F0aW9uLiAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgYXBwTmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKiogKFJlcXVpcmVkKSBUaGUgaWQgb2YgdGhlIHByb2Nlc3MgaW5zdGFuY2UuICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nO1xuXG4gICAgLyoqIEdldHMgZW1pdHRlZCBlYWNoIHRpbWUgYSBuZXcgcHJvY2VzcyBpbnN0YW5jZSBkZXRhaWxzIGFyZSBsb2FkZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9jZXNzSW5zdGFuY2VDbG91ZD4oKTtcblxuICAgIHByb2Nlc3NJbnN0YW5jZURldGFpbHM6IFByb2Nlc3NJbnN0YW5jZUNsb3VkO1xuICAgIHByb3BlcnRpZXM6IENhcmRWaWV3SXRlbVtdO1xuICAgIGRhdGVGb3JtYXQ6IHN0cmluZztcbiAgICBkYXRlTG9jYWxlOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBwcm9jZXNzQ2xvdWRTZXJ2aWNlOiBQcm9jZXNzQ2xvdWRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFwcENvbmZpZzogQXBwQ29uZmlnU2VydmljZVxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmRhdGVGb3JtYXQgPSB0aGlzLmFwcENvbmZpZy5nZXQoJ2FkZi1jbG91ZC1wcm9jZXNzLWhlYWRlci5kZWZhdWx0RGF0ZUZvcm1hdCcpO1xuICAgICAgICB0aGlzLmRhdGVMb2NhbGUgPSB0aGlzLmFwcENvbmZpZy5nZXQoJ2RhdGVWYWx1ZXMuZGVmYXVsdERhdGVMb2NhbGUnKTtcblxuICAgICAgICB0aGlzLnByb2Nlc3NDbG91ZFNlcnZpY2UuZGF0YUNoYW5nZXNEZXRlY3RlZFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChwcm9jZXNzRGV0YWlscykgPT4gdGhpcy5vbkxvYWRlZChwcm9jZXNzRGV0YWlscykpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICBpZiAoKHRoaXMuYXBwTmFtZSB8fCB0aGlzLmFwcE5hbWUgPT09ICcnKSAmJiB0aGlzLnByb2Nlc3NJbnN0YW5jZUlkKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRQcm9jZXNzSW5zdGFuY2VEZXRhaWxzKHRoaXMuYXBwTmFtZSwgdGhpcy5wcm9jZXNzSW5zdGFuY2VJZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRQcm9jZXNzSW5zdGFuY2VEZXRhaWxzKGFwcE5hbWU6IHN0cmluZywgcHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnByb2Nlc3NDbG91ZFNlcnZpY2UuZ2V0UHJvY2Vzc0luc3RhbmNlQnlJZChhcHBOYW1lLCBwcm9jZXNzSW5zdGFuY2VJZCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHRoaXMub25Mb2FkZWQocmVzdWx0KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkxvYWRlZChwcm9jZXNzSW5zdGFuY2VEZXRhaWxzOiBQcm9jZXNzSW5zdGFuY2VDbG91ZCkge1xuICAgICAgICB0aGlzLnByb2Nlc3NJbnN0YW5jZURldGFpbHMgPSBwcm9jZXNzSW5zdGFuY2VEZXRhaWxzO1xuICAgICAgICB0aGlzLnJlZnJlc2hEYXRhKCk7XG5cbiAgICAgICAgdGhpcy5sb2FkZWQuZW1pdChwcm9jZXNzSW5zdGFuY2VEZXRhaWxzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWZyZXNoIHRoZSBjYXJkIGRhdGFcbiAgICAgKi9cbiAgICByZWZyZXNoRGF0YSgpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvY2Vzc0luc3RhbmNlRGV0YWlscykge1xuICAgICAgICAgICAgY29uc3QgZGVmYXVsdFByb3BlcnRpZXMgPSB0aGlzLmluaXREZWZhdWx0UHJvcGVydGllcygpO1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRQcm9wZXJ0aWVzID0gdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZ1tdPignYWRmLWNsb3VkLXByb2Nlc3MtaGVhZGVyLnByZXNldHMucHJvcGVydGllcycpO1xuICAgICAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gZGVmYXVsdFByb3BlcnRpZXMuZmlsdGVyKChjYXJkSXRlbSkgPT4gdGhpcy5pc1ZhbGlkU2VsZWN0aW9uKGZpbHRlcmVkUHJvcGVydGllcywgY2FyZEl0ZW0pKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdERlZmF1bHRQcm9wZXJ0aWVzKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG5ldyBDYXJkVmlld1RleHRJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX1BST0NFU1NfSEVBREVSLlBST1BFUlRJRVMuSUQnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnByb2Nlc3NJbnN0YW5jZURldGFpbHMuaWQsXG4gICAgICAgICAgICAgICAga2V5OiAnaWQnXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBDYXJkVmlld1RleHRJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX1BST0NFU1NfSEVBREVSLlBST1BFUlRJRVMuTkFNRScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMucHJvY2Vzc0luc3RhbmNlRGV0YWlscy5uYW1lLFxuICAgICAgICAgICAgICAgIGtleTogJ25hbWUnLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmluc3RhbnQoJ0FERl9DTE9VRF9QUk9DRVNTX0hFQURFUi5QUk9QRVJUSUVTLk5BTUVfREVGQVVMVCcpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBDYXJkVmlld1RleHRJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX1BST0NFU1NfSEVBREVSLlBST1BFUlRJRVMuU1RBVFVTJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5wcm9jZXNzSW5zdGFuY2VEZXRhaWxzLnN0YXR1cyxcbiAgICAgICAgICAgICAgICBrZXk6ICdzdGF0dXMnXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBDYXJkVmlld1RleHRJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX1BST0NFU1NfSEVBREVSLlBST1BFUlRJRVMuSU5JVElBVE9SJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5wcm9jZXNzSW5zdGFuY2VEZXRhaWxzLmluaXRpYXRvcixcbiAgICAgICAgICAgICAgICBrZXk6ICdpbml0aWF0b3InXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBDYXJkVmlld0RhdGVJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX1BST0NFU1NfSEVBREVSLlBST1BFUlRJRVMuU1RBUlRfREFURScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMucHJvY2Vzc0luc3RhbmNlRGV0YWlscy5zdGFydERhdGUsXG4gICAgICAgICAgICAgICAga2V5OiAnc3RhcnREYXRlJyxcbiAgICAgICAgICAgICAgICBmb3JtYXQ6IHRoaXMuZGF0ZUZvcm1hdCxcbiAgICAgICAgICAgICAgICBsb2NhbGU6IHRoaXMuZGF0ZUxvY2FsZVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgQ2FyZFZpZXdEYXRlSXRlbU1vZGVsKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9QUk9DRVNTX0hFQURFUi5QUk9QRVJUSUVTLkxBU1RfTU9ESUZJRUQnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnByb2Nlc3NJbnN0YW5jZURldGFpbHMubGFzdE1vZGlmaWVkLFxuICAgICAgICAgICAgICAgIGtleTogJ2xhc3RNb2RpZmllZCcsXG4gICAgICAgICAgICAgICAgZm9ybWF0OiB0aGlzLmRhdGVGb3JtYXQsXG4gICAgICAgICAgICAgICAgbG9jYWxlOiB0aGlzLmRhdGVMb2NhbGVcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IENhcmRWaWV3VGV4dEl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfUFJPQ0VTU19IRUFERVIuUFJPUEVSVElFUy5QQVJFTlRfSUQnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnByb2Nlc3NJbnN0YW5jZURldGFpbHMucGFyZW50SWQsXG4gICAgICAgICAgICAgICAga2V5OiAncGFyZW50SWQnLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmluc3RhbnQoJ0FERl9DTE9VRF9QUk9DRVNTX0hFQURFUi5QUk9QRVJUSUVTLk5PTkUnKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgQ2FyZFZpZXdUZXh0SXRlbU1vZGVsKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9QUk9DRVNTX0hFQURFUi5QUk9QRVJUSUVTLkJVU0lORVNTX0tFWScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMucHJvY2Vzc0luc3RhbmNlRGV0YWlscy5idXNpbmVzc0tleSxcbiAgICAgICAgICAgICAgICBrZXk6ICdidXNpbmVzc0tleScsXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudCgnQURGX0NMT1VEX1BST0NFU1NfSEVBREVSLlBST1BFUlRJRVMuTk9ORScpXG4gICAgICAgICAgICB9KVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNWYWxpZFNlbGVjdGlvbihmaWx0ZXJlZFByb3BlcnRpZXM6IHN0cmluZ1tdLCBjYXJkSXRlbTogQ2FyZFZpZXdCYXNlSXRlbU1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmaWx0ZXJlZFByb3BlcnRpZXMgPyBmaWx0ZXJlZFByb3BlcnRpZXMuaW5kZXhPZihjYXJkSXRlbS5rZXkpID49IDAgOiB0cnVlO1xuICAgIH1cbn1cbiIsIjxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiAqbmdJZj1cInByb2Nlc3NJbnN0YW5jZURldGFpbHNcIiBjbGFzcz1cImFkZi1wcm9jZXNzLWhlYWRlci1jbG91ZC1jYXJkXCI+XG4gIDxtYXQtY2FyZC1jb250ZW50PlxuICAgIDxhZGYtY2FyZC12aWV3IFtwcm9wZXJ0aWVzXT1cInByb3BlcnRpZXNcIiAvPlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPlxuIl19
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1oZWFkZXItY2xvdWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9wcm9jZXNzL3Byb2Nlc3MtaGVhZGVyL2NvbXBvbmVudHMvcHJvY2Vzcy1oZWFkZXItY2xvdWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9wcm9jZXNzL3Byb2Nlc3MtaGVhZGVyL2NvbXBvbmVudHMvcHJvY2Vzcy1oZWFkZXItY2xvdWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQ0gsZ0JBQWdCLEVBRWhCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFFckIscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNyQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBV3ZDLE1BQU0sT0FBTywyQkFBMkI7SUFvQnBDLFlBQ1ksbUJBQXdDLEVBQ3hDLGtCQUFzQyxFQUN0QyxTQUEyQjtRQUYzQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FB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Q0FBQztJQUNOLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxrQkFBNEIsRUFBRSxRQUErQjtRQUNsRixPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JGLENBQUM7K0dBckhRLDJCQUEyQjttR0FBM0IsMkJBQTJCLHNRQzFDeEMsNE5BS0EsbUpEK0JjLGlCQUFpQixpUUFBRSxhQUFhLDJOQUFFLElBQUk7OzRGQU12QywyQkFBMkI7a0JBVHZDLFNBQVM7K0JBQ0ksMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsaUJBRWxDLGlCQUFpQixDQUFDLElBQUksUUFFL0IsRUFBRSxLQUFLLEVBQUUsMEJBQTBCLEVBQUU7d0pBSzNDLE9BQU87c0JBRE4sS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS3pCLGlCQUFpQjtzQkFEaEIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS3pCLE1BQU07c0JBREwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFwcENvbmZpZ1NlcnZpY2UsXG4gICAgQ2FyZFZpZXdCYXNlSXRlbU1vZGVsLFxuICAgIENhcmRWaWV3Q29tcG9uZW50LFxuICAgIENhcmRWaWV3RGF0ZUl0ZW1Nb2RlbCxcbiAgICBDYXJkVmlld0l0ZW0sXG4gICAgQ2FyZFZpZXdUZXh0SXRlbU1vZGVsLFxuICAgIFRyYW5zbGF0aW9uU2VydmljZVxufSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgUHJvY2Vzc0luc3RhbmNlQ2xvdWQgfSBmcm9tICcuLi8uLi9zdGFydC1wcm9jZXNzL21vZGVscy9wcm9jZXNzLWluc3RhbmNlLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IFByb2Nlc3NDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9jZXNzLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWNsb3VkLXByb2Nlc3MtaGVhZGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDYXJkVmlld0NvbXBvbmVudCwgTWF0Q2FyZE1vZHVsZSwgTmdJZl0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2Nlc3MtaGVhZGVyLWNsb3VkLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2Nlc3MtaGVhZGVyLWNsb3VkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1jbG91ZC1wcm9jZXNzLWhlYWRlcicgfVxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzSGVhZGVyQ2xvdWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gICAgLyoqIChSZXF1aXJlZCkgVGhlIG5hbWUgb2YgdGhlIGFwcGxpY2F0aW9uLiAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgYXBwTmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKiogKFJlcXVpcmVkKSBUaGUgaWQgb2YgdGhlIHByb2Nlc3MgaW5zdGFuY2UuICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nO1xuXG4gICAgLyoqIEdldHMgZW1pdHRlZCBlYWNoIHRpbWUgYSBuZXcgcHJvY2VzcyBpbnN0YW5jZSBkZXRhaWxzIGFyZSBsb2FkZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9jZXNzSW5zdGFuY2VDbG91ZD4oKTtcblxuICAgIHByb2Nlc3NJbnN0YW5jZURldGFpbHM6IFByb2Nlc3NJbnN0YW5jZUNsb3VkO1xuICAgIHByb3BlcnRpZXM6IENhcmRWaWV3SXRlbVtdO1xuICAgIGRhdGVGb3JtYXQ6IHN0cmluZztcbiAgICBkYXRlTG9jYWxlOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBwcm9jZXNzQ2xvdWRTZXJ2aWNlOiBQcm9jZXNzQ2xvdWRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFwcENvbmZpZzogQXBwQ29uZmlnU2VydmljZVxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmRhdGVGb3JtYXQgPSB0aGlzLmFwcENvbmZpZy5nZXQoJ2FkZi1jbG91ZC1wcm9jZXNzLWhlYWRlci5kZWZhdWx0RGF0ZUZvcm1hdCcpO1xuICAgICAgICB0aGlzLmRhdGVMb2NhbGUgPSB0aGlzLmFwcENvbmZpZy5nZXQoJ2RhdGVWYWx1ZXMuZGVmYXVsdERhdGVMb2NhbGUnKTtcblxuICAgICAgICB0aGlzLnByb2Nlc3NDbG91ZFNlcnZpY2UuZGF0YUNoYW5nZXNEZXRlY3RlZFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChwcm9jZXNzRGV0YWlscykgPT4gdGhpcy5vbkxvYWRlZChwcm9jZXNzRGV0YWlscykpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICBpZiAoKHRoaXMuYXBwTmFtZSB8fCB0aGlzLmFwcE5hbWUgPT09ICcnKSAmJiB0aGlzLnByb2Nlc3NJbnN0YW5jZUlkKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRQcm9jZXNzSW5zdGFuY2VEZXRhaWxzKHRoaXMuYXBwTmFtZSwgdGhpcy5wcm9jZXNzSW5zdGFuY2VJZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRQcm9jZXNzSW5zdGFuY2VEZXRhaWxzKGFwcE5hbWU6IHN0cmluZywgcHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnByb2Nlc3NDbG91ZFNlcnZpY2UuZ2V0UHJvY2Vzc0luc3RhbmNlQnlJZChhcHBOYW1lLCBwcm9jZXNzSW5zdGFuY2VJZCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHRoaXMub25Mb2FkZWQocmVzdWx0KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkxvYWRlZChwcm9jZXNzSW5zdGFuY2VEZXRhaWxzOiBQcm9jZXNzSW5zdGFuY2VDbG91ZCkge1xuICAgICAgICB0aGlzLnByb2Nlc3NJbnN0YW5jZURldGFpbHMgPSBwcm9jZXNzSW5zdGFuY2VEZXRhaWxzO1xuICAgICAgICB0aGlzLnJlZnJlc2hEYXRhKCk7XG5cbiAgICAgICAgdGhpcy5sb2FkZWQuZW1pdChwcm9jZXNzSW5zdGFuY2VEZXRhaWxzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWZyZXNoIHRoZSBjYXJkIGRhdGFcbiAgICAgKi9cbiAgICByZWZyZXNoRGF0YSgpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvY2Vzc0luc3RhbmNlRGV0YWlscykge1xuICAgICAgICAgICAgY29uc3QgZGVmYXVsdFByb3BlcnRpZXMgPSB0aGlzLmluaXREZWZhdWx0UHJvcGVydGllcygpO1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRQcm9wZXJ0aWVzID0gdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZ1tdPignYWRmLWNsb3VkLXByb2Nlc3MtaGVhZGVyLnByZXNldHMucHJvcGVydGllcycpO1xuICAgICAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gZGVmYXVsdFByb3BlcnRpZXMuZmlsdGVyKChjYXJkSXRlbSkgPT4gdGhpcy5pc1ZhbGlkU2VsZWN0aW9uKGZpbHRlcmVkUHJvcGVydGllcywgY2FyZEl0ZW0pKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdERlZmF1bHRQcm9wZXJ0aWVzKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG5ldyBDYXJkVmlld1RleHRJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX1BST0NFU1NfSEVBREVSLlBST1BFUlRJRVMuSUQnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnByb2Nlc3NJbnN0YW5jZURldGFpbHMuaWQsXG4gICAgICAgICAgICAgICAga2V5OiAnaWQnXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBDYXJkVmlld1RleHRJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX1BST0NFU1NfSEVBREVSLlBST1BFUlRJRVMuTkFNRScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMucHJvY2Vzc0luc3RhbmNlRGV0YWlscy5uYW1lLFxuICAgICAgICAgICAgICAgIGtleTogJ25hbWUnLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmluc3RhbnQoJ0FERl9DTE9VRF9QUk9DRVNTX0hFQURFUi5QUk9QRVJUSUVTLk5BTUVfREVGQVVMVCcpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBDYXJkVmlld1RleHRJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX1BST0NFU1NfSEVBREVSLlBST1BFUlRJRVMuU1RBVFVTJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5wcm9jZXNzSW5zdGFuY2VEZXRhaWxzLnN0YXR1cyxcbiAgICAgICAgICAgICAgICBrZXk6ICdzdGF0dXMnXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBDYXJkVmlld1RleHRJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX1BST0NFU1NfSEVBREVSLlBST1BFUlRJRVMuSU5JVElBVE9SJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5wcm9jZXNzSW5zdGFuY2VEZXRhaWxzLmluaXRpYXRvcixcbiAgICAgICAgICAgICAgICBrZXk6ICdpbml0aWF0b3InXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBDYXJkVmlld0RhdGVJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX1BST0NFU1NfSEVBREVSLlBST1BFUlRJRVMuU1RBUlRfREFURScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMucHJvY2Vzc0luc3RhbmNlRGV0YWlscy5zdGFydERhdGUsXG4gICAgICAgICAgICAgICAga2V5OiAnc3RhcnREYXRlJyxcbiAgICAgICAgICAgICAgICBmb3JtYXQ6IHRoaXMuZGF0ZUZvcm1hdCxcbiAgICAgICAgICAgICAgICBsb2NhbGU6IHRoaXMuZGF0ZUxvY2FsZVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgQ2FyZFZpZXdEYXRlSXRlbU1vZGVsKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9QUk9DRVNTX0hFQURFUi5QUk9QRVJUSUVTLkxBU1RfTU9ESUZJRUQnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnByb2Nlc3NJbnN0YW5jZURldGFpbHMubGFzdE1vZGlmaWVkLFxuICAgICAgICAgICAgICAgIGtleTogJ2xhc3RNb2RpZmllZCcsXG4gICAgICAgICAgICAgICAgZm9ybWF0OiB0aGlzLmRhdGVGb3JtYXQsXG4gICAgICAgICAgICAgICAgbG9jYWxlOiB0aGlzLmRhdGVMb2NhbGVcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IENhcmRWaWV3VGV4dEl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfUFJPQ0VTU19IRUFERVIuUFJPUEVSVElFUy5QQVJFTlRfSUQnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnByb2Nlc3NJbnN0YW5jZURldGFpbHMucGFyZW50SWQsXG4gICAgICAgICAgICAgICAga2V5OiAncGFyZW50SWQnLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmluc3RhbnQoJ0FERl9DTE9VRF9QUk9DRVNTX0hFQURFUi5QUk9QRVJUSUVTLk5PTkUnKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgQ2FyZFZpZXdUZXh0SXRlbU1vZGVsKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9QUk9DRVNTX0hFQURFUi5QUk9QRVJUSUVTLkJVU0lORVNTX0tFWScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMucHJvY2Vzc0luc3RhbmNlRGV0YWlscy5idXNpbmVzc0tleSxcbiAgICAgICAgICAgICAgICBrZXk6ICdidXNpbmVzc0tleScsXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudCgnQURGX0NMT1VEX1BST0NFU1NfSEVBREVSLlBST1BFUlRJRVMuTk9ORScpXG4gICAgICAgICAgICB9KVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNWYWxpZFNlbGVjdGlvbihmaWx0ZXJlZFByb3BlcnRpZXM6IHN0cmluZ1tdLCBjYXJkSXRlbTogQ2FyZFZpZXdCYXNlSXRlbU1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmaWx0ZXJlZFByb3BlcnRpZXMgPyBmaWx0ZXJlZFByb3BlcnRpZXMuaW5kZXhPZihjYXJkSXRlbS5rZXkpID49IDAgOiB0cnVlO1xuICAgIH1cbn1cbiIsIjxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiAqbmdJZj1cInByb2Nlc3NJbnN0YW5jZURldGFpbHNcIiBjbGFzcz1cImFkZi1wcm9jZXNzLWhlYWRlci1jbG91ZC1jYXJkXCI+XG4gIDxtYXQtY2FyZC1jb250ZW50PlxuICAgIDxhZGYtY2FyZC12aWV3IFtwcm9wZXJ0aWVzXT1cInByb3BlcnRpZXNcIiAvPlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPlxuIl19
|