@ohioepa/oepa-ui-lib 2.0.0 → 2.0.1

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.
Files changed (50) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/account-search-input/account-search.service.mjs +1 -1
  3. package/esm2022/lib/account-search-modal/account-search-modal.component.mjs +3 -4
  4. package/esm2022/lib/action-btn/action-btn.component.mjs +3 -3
  5. package/esm2022/lib/action-btn-modal/action-btn-modal.component.mjs +3 -3
  6. package/esm2022/lib/comment-modal/comment-modal.component.mjs +3 -3
  7. package/esm2022/lib/confirmation-modal/confirmation-modal.component.mjs +3 -3
  8. package/esm2022/lib/date-input/date-input.component.mjs +1 -1
  9. package/esm2022/lib/date-input-modal/date-input-modal.component.mjs +6 -3
  10. package/esm2022/lib/datepicker/datepicker.component.mjs +9 -3
  11. package/esm2022/lib/daterangepicker/daterangepicker.component.mjs +3 -3
  12. package/esm2022/lib/dual-list-box/dual-list-box.component.mjs +3 -3
  13. package/esm2022/lib/edoc-attachment/edoc-attachment.component.mjs +3 -3
  14. package/esm2022/lib/entity/organization-create-modal/organization-create-modal.component.mjs +3 -3
  15. package/esm2022/lib/entity/organization-search-modal/organization-search-modal.component.mjs +3 -3
  16. package/esm2022/lib/entity/person-create-modal/person-create-modal.component.mjs +3 -3
  17. package/esm2022/lib/entity/person-search-modal/person-search-modal.component.mjs +3 -3
  18. package/esm2022/lib/entity/place-search-modal/place-search-modal.component.mjs +3 -3
  19. package/esm2022/lib/file-upload/file-upload.component.mjs +3 -3
  20. package/esm2022/lib/lynx-image-upload/lynx-image-upload.component.mjs +3 -3
  21. package/esm2022/lib/multi-file-upload/multi-file-upload.component.mjs +3 -3
  22. package/esm2022/lib/notes-modal/notes-modal.component.mjs +4 -4
  23. package/esm2022/lib/oepa-error-message/oepa-error-message.component.mjs +3 -3
  24. package/esm2022/lib/oepa-reference/oepa-reference.service.mjs +10 -2
  25. package/esm2022/lib/oepa-user-account/oepa-user-account.service.mjs +35 -20
  26. package/esm2022/lib/params-help-button/params-help.service.mjs +1 -1
  27. package/esm2022/lib/pin-modal/pin-modal.component.mjs +3 -3
  28. package/esm2022/lib/server-timeout-modal/server-timeout-modal.component.mjs +3 -3
  29. package/esm2022/lib/shopping-cart/shopping-cart-view/shopping-cart-view.component.mjs +4 -4
  30. package/esm2022/lib/table/oepa-table-config.mjs +1 -1
  31. package/esm2022/lib/table/oepa-table-popover.mjs +1 -1
  32. package/esm2022/lib/table/p-table/p-table.component.mjs +27 -6
  33. package/esm2022/lib/table/table-data-cell/table-data-cell.component.mjs +3 -3
  34. package/esm2022/lib/table/table-header-cell/table-header-cell.component.mjs +3 -3
  35. package/esm2022/lib/table/table.component.mjs +13 -14
  36. package/esm2022/lib/template-confirmation-modal/template-confirmation-modal.component.mjs +3 -3
  37. package/esm2022/lib/timeout-modal/timeout-modal.component.mjs +3 -3
  38. package/esm2022/lib/util/oepa-http-interceptor.mjs +22 -9
  39. package/fesm2022/ohioepa-oepa-ui-lib.mjs +161 -97
  40. package/fesm2022/ohioepa-oepa-ui-lib.mjs.map +1 -1
  41. package/lib/date-input-modal/date-input-modal.component.d.ts +3 -1
  42. package/lib/datepicker/datepicker.component.d.ts +5 -1
  43. package/lib/oepa-reference/oepa-reference.service.d.ts +5 -0
  44. package/lib/oepa-user-account/oepa-user-account.service.d.ts +3 -1
  45. package/lib/table/oepa-table-config.d.ts +6 -0
  46. package/lib/table/oepa-table-popover.d.ts +1 -1
  47. package/lib/table/p-table/p-table.component.d.ts +4 -0
  48. package/ohioepa-oepa-ui-lib-2.0.1.tgz +0 -0
  49. package/package.json +1 -1
  50. package/ohioepa-oepa-ui-lib-2.0.0.tgz +0 -0
@@ -25,11 +25,11 @@ export class TemplateConfirmationModalComponent {
25
25
  this.bsModalRef.hide();
26
26
  }
27
27
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TemplateConfirmationModalComponent, deps: [{ token: i1.BsModalRef }], target: i0.ɵɵFactoryTarget.Component });
28
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TemplateConfirmationModalComponent, selector: "oepa-template-confirmation-modal", inputs: { headerText: "headerText", content: "content", confirmBtnLabel: "confirmBtnLabel", cancelBtnLabel: "cancelBtnLabel" }, outputs: { confirmClicked: "confirmClicked", cancelClicked: "cancelClicked" }, ngImport: i0, template: "<div *ngIf=\"headerText\" class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{headerText}}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div *ngIf=\"content\" class=\"modal-body\">\n <cml-template [templateInfo]=\"content\"></cml-template>\n </div>\n <div class=\"modal-footer\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"confirm()\">{{confirmBtnLabel}}</button>\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\">{{cancelBtnLabel}}</button>\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.OepaTemplateComponent, selector: "cml-template", inputs: ["templateInfo"] }] });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TemplateConfirmationModalComponent, selector: "oepa-template-confirmation-modal", inputs: { headerText: "headerText", content: "content", confirmBtnLabel: "confirmBtnLabel", cancelBtnLabel: "cancelBtnLabel" }, outputs: { confirmClicked: "confirmClicked", cancelClicked: "cancelClicked" }, ngImport: i0, template: "<div *ngIf=\"headerText\" class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{headerText}}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div *ngIf=\"content\" class=\"modal-body\">\n <cml-template [templateInfo]=\"content\"></cml-template>\n </div>\n <div class=\"modal-footer\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"confirm()\" [attr.aria-label]=\"confirmBtnLabel\">{{confirmBtnLabel}}</button>\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.OepaTemplateComponent, selector: "cml-template", inputs: ["templateInfo"] }] });
29
29
  }
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TemplateConfirmationModalComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: 'oepa-template-confirmation-modal', template: "<div *ngIf=\"headerText\" class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{headerText}}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div *ngIf=\"content\" class=\"modal-body\">\n <cml-template [templateInfo]=\"content\"></cml-template>\n </div>\n <div class=\"modal-footer\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"confirm()\">{{confirmBtnLabel}}</button>\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\">{{cancelBtnLabel}}</button>\n </div>" }]
32
+ args: [{ selector: 'oepa-template-confirmation-modal', template: "<div *ngIf=\"headerText\" class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{headerText}}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div *ngIf=\"content\" class=\"modal-body\">\n <cml-template [templateInfo]=\"content\"></cml-template>\n </div>\n <div class=\"modal-footer\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"confirm()\" [attr.aria-label]=\"confirmBtnLabel\">{{confirmBtnLabel}}</button>\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n </div>" }]
33
33
  }], ctorParameters: () => [{ type: i1.BsModalRef }], propDecorators: { headerText: [{
34
34
  type: Input
35
35
  }], content: [{
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
43
43
  }], cancelClicked: [{
44
44
  type: Output
45
45
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtY29uZmlybWF0aW9uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvdGVtcGxhdGUtY29uZmlybWF0aW9uLW1vZGFsL3RlbXBsYXRlLWNvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RlbXBsYXRlLWNvbmZpcm1hdGlvbi1tb2RhbC90ZW1wbGF0ZS1jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFZL0UsTUFBTSxPQUFPLGtDQUFrQztJQVMxQjtJQVJWLFVBQVUsR0FBVyxFQUFFLENBQUM7SUFDeEIsT0FBTyxDQUFvQjtJQUMzQixlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLGNBQWMsR0FBRyxRQUFRLENBQUM7SUFFekIsY0FBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQzlELGFBQWEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUV2RSxZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUksQ0FBQztJQUU5QyxRQUFRO0lBQ1IsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzt3R0F0QlUsa0NBQWtDOzRGQUFsQyxrQ0FBa0MsdVJDWi9DLGtzQkFZUTs7NEZEQUssa0NBQWtDO2tCQUw5QyxTQUFTOytCQUNFLGtDQUFrQzsrRUFLbkMsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuXG5pbXBvcnQgeyBPZXBhVGVtcGxhdGVJbmZvIH0gZnJvbSAnQG9oaW9lcGEvb2VwYS1jb21tb24tbGliJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLXRlbXBsYXRlLWNvbmZpcm1hdGlvbi1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS1jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZW1wbGF0ZS1jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBoZWFkZXJUZXh0OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY29udGVudCE6IE9lcGFUZW1wbGF0ZUluZm87XG4gIEBJbnB1dCgpIGNvbmZpcm1CdG5MYWJlbCA9ICdPayc7XG4gIEBJbnB1dCgpIGNhbmNlbEJ0bkxhYmVsID0gJ0NhbmNlbCc7XG5cbiAgQE91dHB1dCgpIGNvbmZpcm1DbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWxDbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGJzTW9kYWxSZWY6IEJzTW9kYWxSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgY29uZmlybSgpIHtcbiAgICB0aGlzLmNvbmZpcm1DbGlja2VkLmVtaXQoKTtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsQ2xpY2tlZC5lbWl0KCk7XG4gICAgdGhpcy5ic01vZGFsUmVmLmhpZGUoKTtcbiAgfVxuXG59XG4iLCI8ZGl2ICpuZ0lmPVwiaGVhZGVyVGV4dFwiIGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+e3toZWFkZXJUZXh0fX08L2g0PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2UgcHVsbC1yaWdodFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJic01vZGFsUmVmLmhpZGUoKVwiPlxuICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mdGltZXM7PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiY29udGVudFwiIGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgIDxjbWwtdGVtcGxhdGUgW3RlbXBsYXRlSW5mb109XCJjb250ZW50XCI+PC9jbWwtdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImNvbmZpcm1CdG5MYWJlbFwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtci0xXCIgKGNsaWNrKT1cImNvbmZpcm0oKVwiPnt7Y29uZmlybUJ0bkxhYmVsfX08L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtci0xXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+e3tjYW5jZWxCdG5MYWJlbH19PC9idXR0b24+XG4gIDwvZGl2PiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtY29uZmlybWF0aW9uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvdGVtcGxhdGUtY29uZmlybWF0aW9uLW1vZGFsL3RlbXBsYXRlLWNvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RlbXBsYXRlLWNvbmZpcm1hdGlvbi1tb2RhbC90ZW1wbGF0ZS1jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFZL0UsTUFBTSxPQUFPLGtDQUFrQztJQVMxQjtJQVJWLFVBQVUsR0FBVyxFQUFFLENBQUM7SUFDeEIsT0FBTyxDQUFvQjtJQUMzQixlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLGNBQWMsR0FBRyxRQUFRLENBQUM7SUFFekIsY0FBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQzlELGFBQWEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUV2RSxZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUksQ0FBQztJQUU5QyxRQUFRO0lBQ1IsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzt3R0F0QlUsa0NBQWtDOzRGQUFsQyxrQ0FBa0MsdVJDWi9DLDZ3QkFZUTs7NEZEQUssa0NBQWtDO2tCQUw5QyxTQUFTOytCQUNFLGtDQUFrQzsrRUFLbkMsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuXG5pbXBvcnQgeyBPZXBhVGVtcGxhdGVJbmZvIH0gZnJvbSAnQG9oaW9lcGEvb2VwYS1jb21tb24tbGliJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLXRlbXBsYXRlLWNvbmZpcm1hdGlvbi1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS1jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZW1wbGF0ZS1jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBoZWFkZXJUZXh0OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY29udGVudCE6IE9lcGFUZW1wbGF0ZUluZm87XG4gIEBJbnB1dCgpIGNvbmZpcm1CdG5MYWJlbCA9ICdPayc7XG4gIEBJbnB1dCgpIGNhbmNlbEJ0bkxhYmVsID0gJ0NhbmNlbCc7XG5cbiAgQE91dHB1dCgpIGNvbmZpcm1DbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWxDbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGJzTW9kYWxSZWY6IEJzTW9kYWxSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgY29uZmlybSgpIHtcbiAgICB0aGlzLmNvbmZpcm1DbGlja2VkLmVtaXQoKTtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsQ2xpY2tlZC5lbWl0KCk7XG4gICAgdGhpcy5ic01vZGFsUmVmLmhpZGUoKTtcbiAgfVxuXG59XG4iLCI8ZGl2ICpuZ0lmPVwiaGVhZGVyVGV4dFwiIGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+e3toZWFkZXJUZXh0fX08L2g0PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2UgcHVsbC1yaWdodFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJic01vZGFsUmVmLmhpZGUoKVwiPlxuICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mdGltZXM7PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiY29udGVudFwiIGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgIDxjbWwtdGVtcGxhdGUgW3RlbXBsYXRlSW5mb109XCJjb250ZW50XCI+PC9jbWwtdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImNvbmZpcm1CdG5MYWJlbFwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtci0xXCIgKGNsaWNrKT1cImNvbmZpcm0oKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlybUJ0bkxhYmVsXCI+e3tjb25maXJtQnRuTGFiZWx9fTwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG1yLTFcIiAoY2xpY2spPVwiY2FuY2VsKClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImNhbmNlbEJ0bkxhYmVsXCI+e3tjYW5jZWxCdG5MYWJlbH19PC9idXR0b24+XG4gIDwvZGl2PiJdfQ==
@@ -18,14 +18,14 @@ export class TimeoutModalComponent {
18
18
  this.bsModalRef.hide();
19
19
  }
20
20
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeoutModalComponent, deps: [{ token: i1.BsModalRef }], target: i0.ɵɵFactoryTarget.Component });
21
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TimeoutModalComponent, selector: "oepa-timeout-modal", inputs: { countdown: "countdown" }, outputs: { okClicked: "okClicked" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h3 class=\"modal-title\">Session Timeout Warning</h3>\n</div>\n\n<div class=\"modal-body\">\n <div class=\"alert alert-info\">\n Your session will timeout in {{ countdown }} seconds. If you wish to stay logged in click 'Continue'.\n </div>\n</div>\n\n<div class=\"modal-footer\">\n <button class=\"btn btn-primary mr-1\" id=\"continueSessionBtn\" (click)=\"ok()\">Continue</button>\n</div>", styles: [""] });
21
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TimeoutModalComponent, selector: "oepa-timeout-modal", inputs: { countdown: "countdown" }, outputs: { okClicked: "okClicked" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h3 class=\"modal-title\">Session Timeout Warning</h3>\n</div>\n\n<div class=\"modal-body\">\n <div class=\"alert alert-info\">\n Your session will timeout in {{ countdown }} seconds. If you wish to stay logged in click 'Continue'.\n </div>\n</div>\n\n<div class=\"modal-footer\">\n <button class=\"btn btn-primary mr-1\" id=\"continueSessionBtn\" (click)=\"ok()\" aria-label=\"Continue\">Continue</button>\n</div>", styles: [""] });
22
22
  }
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeoutModalComponent, decorators: [{
24
24
  type: Component,
25
- args: [{ selector: 'oepa-timeout-modal', template: "<div class=\"modal-header\">\n <h3 class=\"modal-title\">Session Timeout Warning</h3>\n</div>\n\n<div class=\"modal-body\">\n <div class=\"alert alert-info\">\n Your session will timeout in {{ countdown }} seconds. If you wish to stay logged in click 'Continue'.\n </div>\n</div>\n\n<div class=\"modal-footer\">\n <button class=\"btn btn-primary mr-1\" id=\"continueSessionBtn\" (click)=\"ok()\">Continue</button>\n</div>" }]
25
+ args: [{ selector: 'oepa-timeout-modal', template: "<div class=\"modal-header\">\n <h3 class=\"modal-title\">Session Timeout Warning</h3>\n</div>\n\n<div class=\"modal-body\">\n <div class=\"alert alert-info\">\n Your session will timeout in {{ countdown }} seconds. If you wish to stay logged in click 'Continue'.\n </div>\n</div>\n\n<div class=\"modal-footer\">\n <button class=\"btn btn-primary mr-1\" id=\"continueSessionBtn\" (click)=\"ok()\" aria-label=\"Continue\">Continue</button>\n</div>" }]
26
26
  }], ctorParameters: () => [{ type: i1.BsModalRef }], propDecorators: { countdown: [{
27
27
  type: Input
28
28
  }], okClicked: [{
29
29
  type: Output
30
30
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZW91dC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RpbWVvdXQtbW9kYWwvdGltZW91dC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RpbWVvdXQtbW9kYWwvdGltZW91dC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFHLE1BQU0sZUFBZSxDQUFDOzs7QUFRaEYsTUFBTSxPQUFPLHFCQUFxQjtJQUtiO0lBSlYsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUViLFNBQVMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVuRSxZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQyxDQUFDLDRCQUE0QjtJQUUxRSxRQUFRO1FBQ04sd0RBQXdEO1FBQ3hELGdDQUFnQztRQUNoQyxNQUFNO0lBQ1IsQ0FBQztJQUVELEVBQUU7UUFDQSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzt3R0FoQlUscUJBQXFCOzRGQUFyQixxQkFBcUIsbUlDUmxDLDhhQVlNOzs0RkRKTyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usb0JBQW9COytFQUtyQixTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLXRpbWVvdXQtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZW91dC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RpbWVvdXQtbW9kYWwuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVvdXRNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvdW50ZG93biA9IDA7XG5cbiAgQE91dHB1dCgpIG9rQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBic01vZGFsUmVmOiBCc01vZGFsUmVmKSB7fSAvLyAsIHByaXZhdGUgaWRsZTogSWRsZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gdGhpcy5pZGxlLm9uVGltZW91dFdhcm5pbmcuc3Vic2NyaWJlKChjb3VudGRvd24pID0+IHtcbiAgICAvLyAgIHRoaXMuY291bnRkb3duID0gY291bnRkb3duO1xuICAgIC8vIH0pO1xuICB9XG5cbiAgb2soKSB7XG4gICAgdGhpcy5va0NsaWNrZWQuZW1pdCgpO1xuICAgIHRoaXMuYnNNb2RhbFJlZi5oaWRlKCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICA8aDMgY2xhc3M9XCJtb2RhbC10aXRsZVwiPlNlc3Npb24gVGltZW91dCBXYXJuaW5nPC9oMz5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiPlxuICAgIFlvdXIgc2Vzc2lvbiB3aWxsIHRpbWVvdXQgaW4ge3sgY291bnRkb3duIH19IHNlY29uZHMuIElmIHlvdSB3aXNoIHRvIHN0YXkgbG9nZ2VkIGluIGNsaWNrICdDb250aW51ZScuXG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtci0xXCIgaWQ9XCJjb250aW51ZVNlc3Npb25CdG5cIiAoY2xpY2spPVwib2soKVwiPkNvbnRpbnVlPC9idXR0b24+XG48L2Rpdj4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZW91dC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RpbWVvdXQtbW9kYWwvdGltZW91dC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RpbWVvdXQtbW9kYWwvdGltZW91dC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFHLE1BQU0sZUFBZSxDQUFDOzs7QUFRaEYsTUFBTSxPQUFPLHFCQUFxQjtJQUtiO0lBSlYsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUViLFNBQVMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVuRSxZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQyxDQUFDLDRCQUE0QjtJQUUxRSxRQUFRO1FBQ04sd0RBQXdEO1FBQ3hELGdDQUFnQztRQUNoQyxNQUFNO0lBQ1IsQ0FBQztJQUVELEVBQUU7UUFDQSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzt3R0FoQlUscUJBQXFCOzRGQUFyQixxQkFBcUIsbUlDUmxDLHNjQVlNOzs0RkRKTyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usb0JBQW9COytFQUtyQixTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLXRpbWVvdXQtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZW91dC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RpbWVvdXQtbW9kYWwuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVvdXRNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvdW50ZG93biA9IDA7XG5cbiAgQE91dHB1dCgpIG9rQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBic01vZGFsUmVmOiBCc01vZGFsUmVmKSB7fSAvLyAsIHByaXZhdGUgaWRsZTogSWRsZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gdGhpcy5pZGxlLm9uVGltZW91dFdhcm5pbmcuc3Vic2NyaWJlKChjb3VudGRvd24pID0+IHtcbiAgICAvLyAgIHRoaXMuY291bnRkb3duID0gY291bnRkb3duO1xuICAgIC8vIH0pO1xuICB9XG5cbiAgb2soKSB7XG4gICAgdGhpcy5va0NsaWNrZWQuZW1pdCgpO1xuICAgIHRoaXMuYnNNb2RhbFJlZi5oaWRlKCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICA8aDMgY2xhc3M9XCJtb2RhbC10aXRsZVwiPlNlc3Npb24gVGltZW91dCBXYXJuaW5nPC9oMz5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiPlxuICAgIFlvdXIgc2Vzc2lvbiB3aWxsIHRpbWVvdXQgaW4ge3sgY291bnRkb3duIH19IHNlY29uZHMuIElmIHlvdSB3aXNoIHRvIHN0YXkgbG9nZ2VkIGluIGNsaWNrICdDb250aW51ZScuXG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtci0xXCIgaWQ9XCJjb250aW51ZVNlc3Npb25CdG5cIiAoY2xpY2spPVwib2soKVwiIGFyaWEtbGFiZWw9XCJDb250aW51ZVwiPkNvbnRpbnVlPC9idXR0b24+XG48L2Rpdj4iXX0=
@@ -30,28 +30,41 @@ export class OepaHttpInterceptor {
30
30
  const params = {
31
31
  oepats: new Date().getTime().toString()
32
32
  };
33
- const headers = req.headers;
34
33
  if (this.userID) {
35
34
  params['userid'] = this.userID;
36
- headers.set('X-User-ID', this.userID);
37
35
  }
38
36
  if (this.sessionID) {
39
37
  params['sessionid'] = this.sessionID;
40
38
  }
39
+ let changedReq = undefined;
41
40
  if (authToken) {
42
- headers.set('Authorization', `Bearer ${authToken}`);
41
+ changedReq = req.clone({
42
+ setHeaders: {
43
+ Authorization: `Bearer ${authToken}`
44
+ },
45
+ setParams: params
46
+ });
47
+ }
48
+ else {
49
+ changedReq = req.clone({
50
+ setParams: params
51
+ });
43
52
  }
44
- let changedReq = req.clone({
45
- headers: headers,
46
- setParams: params
47
- });
48
53
  const timeoutValue = req.headers.get('timeout') || this.defaultTimeout;
49
54
  const timeoutValueNumeric = Number(timeoutValue);
50
55
  return next.handle(changedReq).pipe(timeout(timeoutValueNumeric), catchError((error) => {
51
56
  let msg = error.headers ? error.headers.get('OEPA_ERROR') : '';
52
57
  console.log('msg from header = ' + msg);
53
58
  console.log('ERROR: [' + req.url + ']: ' + JSON.stringify(error));
54
- msg = msg || error.error.message || error.error.errorMessage || 'Server error.';
59
+ msg = msg || (error && error.error && (error.error.message || error.error.errorMessage || error.error.error || error.error)) || 'Server error.';
60
+ if (msg && typeof msg !== 'string') {
61
+ try {
62
+ msg = JSON.stringify(msg);
63
+ }
64
+ catch {
65
+ msg = String(msg);
66
+ }
67
+ }
55
68
  if (msg) {
56
69
  if (msg.indexOf('User account is required') > -1
57
70
  || msg.toUpperCase().indexOf('USERID IS MISSING') > -1) {
@@ -81,4 +94,4 @@ export class OepaHttpInterceptor {
81
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OepaHttpInterceptor, decorators: [{
82
95
  type: Injectable
83
96
  }], ctorParameters: () => [{ type: i1.OepaUserAccountService }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2VwYS1odHRwLWludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2VwYS11aS1saWIvc3JjL2xpYi91dGlsL29lcGEtaHR0cC1pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS3JELE1BQU0sT0FBTyxtQkFBbUI7SUFLUjtJQUpYLGNBQWMsR0FBRyxDQUFDLEdBQUMsRUFBRSxHQUFDLElBQUksQ0FBQztJQUM1QixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLFNBQVMsR0FBVyxFQUFFLENBQUM7SUFFL0IsWUFBb0Isa0JBQTBDO1FBQTFDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBd0I7UUFDMUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckQsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1lBQzFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUM5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDeEMsTUFBTSxTQUFTLEdBQUcs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QUFDO1lBQ3BCLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO3dHQTNFUSxtQkFBbUI7NEdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRpbWVvdXQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0LCBIdHRwSGFuZGxlciwgSHR0cEV2ZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9lcGFVc2VyQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi9vZXBhLXVzZXItYWNjb3VudC9vZXBhLXVzZXItYWNjb3VudC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9lcGFIdHRwSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIHJlYWRvbmx5IGRlZmF1bHRUaW1lb3V0ID0gNSo2MCoxMDAwO1xuICAgIHByaXZhdGUgdXNlcklEOiBzdHJpbmcgPSAnJztcbiAgICBwcml2YXRlIHNlc3Npb25JRDogc3RyaW5nID0gJyc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVzZXJBY2NvdW50U2VydmljZTogT2VwYVVzZXJBY2NvdW50U2VydmljZSkge1xuICAgICAgICB0aGlzLnVzZXJBY2NvdW50U2VydmljZS51c2VyQWNjb3VudCQuc3Vic2NyaWJlKGFjY291bnQgPT4ge1xuICAgICAgICAgICAgaWYgKGFjY291bnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJJRCA9IGFjY291bnQubG9naW5OYW1lIHx8ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy51c2VyQWNjb3VudFNlcnZpY2Uuc2Vzc2lvbklEJC5zdWJzY3JpYmUoc2Vzc2lvbklEID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbklEID0gc2Vzc2lvbklEO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgYSB0aW1lc3RhbXAgYXMgYSBxdWVyeSBwYXJhbWV0ZXIgdG8gYWxsIGh0dHAgcmVxdWVzdHNcbiAgICAgKiBAcGFyYW0gcmVxXG4gICAgICogQHBhcmFtIG5leHRcbiAgICAgKi9cbiAgICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgdGhpcy51c2VyQWNjb3VudFNlcnZpY2UucmVzZXRJZGxlVGltZSgpO1xuICAgICAgICBjb25zdCBhdXRoVG9rZW4gPSB0aGlzLnVzZXJBY2NvdW50U2VydmljZS5nZXRBdXRoVG9rZW4oKTtcbiAgICAgICAgY29uc3QgcGFyYW1zOiBhbnkgPSB7XG4gICAgICAgICAgICBvZXBhdHM6IG5ldyBEYXRlKCkuZ2V0VGltZSgpLnRvU3RyaW5nKClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBoZWFkZXJzID0gcmVxLmhlYWRlcnM7XG4gICAgICAgIGlmICh0aGlzLnVzZXJJRCkge1xuICAgICAgICAgICAgcGFyYW1zWyd1c2VyaWQnXSA9IHRoaXMudXNlcklEO1xuICAgICAgICAgICAgaGVhZGVycy5zZXQoJ1gtVXNlci1JRCcsIHRoaXMudXNlcklEKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zZXNzaW9uSUQpIHtcbiAgICAgICAgICAgIHBhcmFtc1snc2Vzc2lvbmlkJ10gPSB0aGlzLnNlc3Npb25JRDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYXV0aFRva2VuKSB7XG4gICAgICAgICAgICBoZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHthdXRoVG9rZW59YCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGNoYW5nZWRSZXE6IGFueSA9IHJlcS5jbG9uZSh7XG4gICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgc2V0UGFyYW1zOiBwYXJhbXNcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHRpbWVvdXRWYWx1ZSA9IHJlcS5oZWFkZXJzLmdldCgndGltZW91dCcpIHx8IHRoaXMuZGVmYXVsdFRpbWVvdXQ7XG4gICAgICAgIGNvbnN0IHRpbWVvdXRWYWx1ZU51bWVyaWMgPSBOdW1iZXIodGltZW91dFZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKGNoYW5nZWRSZXEpLnBpcGUoXG4gICAgICAgICAgICB0aW1lb3V0KHRpbWVvdXRWYWx1ZU51bWVyaWMpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IG1zZyA9IGVycm9yLmhlYWRlcnMgPyBlcnJvci5oZWFkZXJzLmdldCgnT0VQQV9FUlJPUicpIDogJyc7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ21zZyBmcm9tIGhlYWRlciA9ICcgKyBtc2cpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdFUlJPUjogWycgKyByZXEudXJsICsgJ106ICcgKyBKU09OLnN0cmluZ2lmeShlcnJvcikpO1xuICAgICAgICAgICAgICAgIG1zZyA9IG1zZyB8fCBlcnJvci5lcnJvci5tZXNzYWdlIHx8IGVycm9yLmVycm9yLmVycm9yTWVzc2FnZSB8fCAnU2VydmVyIGVycm9yLic7XG4gICAgICAgICAgICAgICAgaWYgKG1zZykge1xuICAgICAgICAgICAgICAgICAgICBpZiAobXNnLmluZGV4T2YoJ1VzZXIgYWNjb3VudCBpcyByZXF1aXJlZCcpID4gLTFcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IG1zZy50b1VwcGVyQ2FzZSgpLmluZGV4T2YoJ1VTRVJJRCBJUyBNSVNTSU5HJykgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxlcnQobXNnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXNlckFjY291bnRTZXJ2aWNlLnJlZGlyZWN0VG9Mb2dvdXQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBtc2cgPSB0aGlzLnNob3J0ZW5FcnJvck1lc3NhZ2UobXNnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbXNnKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvcnRlbiBlcnJvciBtZXNzYWdlIGluIHRoZSBldmVudCBvZiBhIEpTT04gcGFyc2UgZXJyb3JcbiAgICAgKi9cbiAgICBwcml2YXRlIHNob3J0ZW5FcnJvck1lc3NhZ2UobXNnOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBKU09OUGFyc2VNc2cgPSAnSlNPTiBwYXJzZSBlcnJvcjonO1xuICAgICAgICBjb25zdCBKU09OUGFyc2VJZHggPSBtc2cuaW5kZXhPZihKU09OUGFyc2VNc2cpO1xuICAgICAgICBpZiAoSlNPTlBhcnNlSWR4ID4gLTEpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbWljb2xvbklkeCA9IG1zZy5pbmRleE9mKCc7Jyk7XG4gICAgICAgICAgICBtc2cgPSBtc2cuc3Vic3RyaW5nKEpTT05QYXJzZU1zZy5sZW5ndGgsIHNlbWljb2xvbklkeCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1zZztcbiAgICB9XG59XG4iXX0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2VwYS1odHRwLWludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2VwYS11aS1saWIvc3JjL2xpYi91dGlsL29lcGEtaHR0cC1pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS3JELE1BQU0sT0FBTyxtQkFBbUI7SUFLUjtJQUpYLGNBQWMsR0FBRyxDQUFDLEdBQUMsRUFBRSxHQUFDLElBQUksQ0FBQztJQUM1QixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLFNBQVMsR0FBVyxFQUFFLENBQUM7SUFFL0IsWUFBb0Isa0JBQTBDO1FBQTFDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBd0I7UUFDMUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckQsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1lBQzFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUM5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDeEMsTUFBTSxTQUFTLEdBQUcs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LEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7WUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ssbUJBQW1CLENBQUMsR0FBVztRQUNuQyxNQUFNLFlBQVksR0FBRyxtQkFBbUIsQ0FBQztRQUN6QyxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9DLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDcEIsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxHQUFHLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7d0dBdEZRLG1CQUFtQjs0R0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgdGltZW91dCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QsIEh0dHBIYW5kbGVyLCBIdHRwRXZlbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2VwYVVzZXJBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL29lcGEtdXNlci1hY2NvdW50L29lcGEtdXNlci1hY2NvdW50LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT2VwYUh0dHBJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gICAgcmVhZG9ubHkgZGVmYXVsdFRpbWVvdXQgPSA1KjYwKjEwMDA7XG4gICAgcHJpdmF0ZSB1c2VySUQ6IHN0cmluZyA9ICcnO1xuICAgIHByaXZhdGUgc2Vzc2lvbklEOiBzdHJpbmcgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdXNlckFjY291bnRTZXJ2aWNlOiBPZXBhVXNlckFjY291bnRTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMudXNlckFjY291bnRTZXJ2aWNlLnVzZXJBY2NvdW50JC5zdWJzY3JpYmUoYWNjb3VudCA9PiB7XG4gICAgICAgICAgICBpZiAoYWNjb3VudCkge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlcklEID0gYWNjb3VudC5sb2dpbk5hbWUgfHwgJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnVzZXJBY2NvdW50U2VydmljZS5zZXNzaW9uSUQkLnN1YnNjcmliZShzZXNzaW9uSUQgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uSUQgPSBzZXNzaW9uSUQ7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCBhIHRpbWVzdGFtcCBhcyBhIHF1ZXJ5IHBhcmFtZXRlciB0byBhbGwgaHR0cCByZXF1ZXN0c1xuICAgICAqIEBwYXJhbSByZXFcbiAgICAgKiBAcGFyYW0gbmV4dFxuICAgICAqL1xuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICB0aGlzLnVzZXJBY2NvdW50U2VydmljZS5yZXNldElkbGVUaW1lKCk7XG4gICAgICAgIGNvbnN0IGF1dGhUb2tlbiA9IHRoaXMudXNlckFjY291bnRTZXJ2aWNlLmdldEF1dGhUb2tlbigpO1xuICAgICAgICBjb25zdCBwYXJhbXM6IGFueSA9IHtcbiAgICAgICAgICAgIG9lcGF0czogbmV3IERhdGUoKS5nZXRUaW1lKCkudG9TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnVzZXJJRCkge1xuICAgICAgICAgICAgcGFyYW1zWyd1c2VyaWQnXSA9IHRoaXMudXNlcklEO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlc3Npb25JRCkge1xuICAgICAgICAgICAgcGFyYW1zWydzZXNzaW9uaWQnXSA9IHRoaXMuc2Vzc2lvbklEO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjaGFuZ2VkUmVxOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChhdXRoVG9rZW4pIHtcbiAgICAgICAgICAgIGNoYW5nZWRSZXEgPSByZXEuY2xvbmUoe1xuICAgICAgICAgICAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2F1dGhUb2tlbn1gXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzZXRQYXJhbXM6IHBhcmFtc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjaGFuZ2VkUmVxID0gcmVxLmNsb25lKHtcbiAgICAgICAgICAgICAgICBzZXRQYXJhbXM6IHBhcmFtc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGltZW91dFZhbHVlID0gcmVxLmhlYWRlcnMuZ2V0KCd0aW1lb3V0JykgfHwgdGhpcy5kZWZhdWx0VGltZW91dDtcbiAgICAgICAgY29uc3QgdGltZW91dFZhbHVlTnVtZXJpYyA9IE51bWJlcih0aW1lb3V0VmFsdWUpO1xuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoY2hhbmdlZFJlcSkucGlwZShcbiAgICAgICAgICAgIHRpbWVvdXQodGltZW91dFZhbHVlTnVtZXJpYyksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgbXNnID0gZXJyb3IuaGVhZGVycyA/IGVycm9yLmhlYWRlcnMuZ2V0KCdPRVBBX0VSUk9SJykgOiAnJztcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnbXNnIGZyb20gaGVhZGVyID0gJyArIG1zZyk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0VSUk9SOiBbJyArIHJlcS51cmwgKyAnXTogJyArIEpTT04uc3RyaW5naWZ5KGVycm9yKSk7XG4gICAgICAgICAgICAgICAgbXNnID0gbXNnIHx8IChlcnJvciAmJiBlcnJvci5lcnJvciAmJiAoZXJyb3IuZXJyb3IubWVzc2FnZSB8fCBlcnJvci5lcnJvci5lcnJvck1lc3NhZ2UgfHwgZXJyb3IuZXJyb3IuZXJyb3IgfHwgZXJyb3IuZXJyb3IpKSB8fCAnU2VydmVyIGVycm9yLic7XG4gICAgICAgICAgICAgICAgaWYgKG1zZyAmJiB0eXBlb2YgbXNnICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gSlNPTi5zdHJpbmdpZnkobXNnKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBTdHJpbmcobXNnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobXNnKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtc2cuaW5kZXhPZignVXNlciBhY2NvdW50IGlzIHJlcXVpcmVkJykgPiAtMVxuICAgICAgICAgICAgICAgICAgICAgICAgfHwgbXNnLnRvVXBwZXJDYXNlKCkuaW5kZXhPZignVVNFUklEIElTIE1JU1NJTkcnKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGVydChtc2cpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyQWNjb3VudFNlcnZpY2UucmVkaXJlY3RUb0xvZ291dCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG1zZyA9IHRoaXMuc2hvcnRlbkVycm9yTWVzc2FnZShtc2cpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBtc2cpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG9ydGVuIGVycm9yIG1lc3NhZ2UgaW4gdGhlIGV2ZW50IG9mIGEgSlNPTiBwYXJzZSBlcnJvclxuICAgICAqL1xuICAgIHByaXZhdGUgc2hvcnRlbkVycm9yTWVzc2FnZShtc2c6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IEpTT05QYXJzZU1zZyA9ICdKU09OIHBhcnNlIGVycm9yOic7XG4gICAgICAgIGNvbnN0IEpTT05QYXJzZUlkeCA9IG1zZy5pbmRleE9mKEpTT05QYXJzZU1zZyk7XG4gICAgICAgIGlmIChKU09OUGFyc2VJZHggPiAtMSkge1xuICAgICAgICAgICAgY29uc3Qgc2VtaWNvbG9uSWR4ID0gbXNnLmluZGV4T2YoJzsnKTtcbiAgICAgICAgICAgIG1zZyA9IG1zZy5zdWJzdHJpbmcoSlNPTlBhcnNlTXNnLmxlbmd0aCwgc2VtaWNvbG9uSWR4KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbXNnO1xuICAgIH1cbn1cbiJdfQ==