@ohioepa/oepa-ui-lib 2.0.0 → 2.0.2

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 (65) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/account-search-input/account-search-input.component.mjs +3 -3
  3. package/esm2022/lib/account-search-input/account-search.service.mjs +1 -1
  4. package/esm2022/lib/account-search-modal/account-search-modal.component.mjs +4 -5
  5. package/esm2022/lib/action-btn/action-btn.component.mjs +3 -3
  6. package/esm2022/lib/action-btn-modal/action-btn-modal.component.mjs +3 -3
  7. package/esm2022/lib/address/address.component.mjs +3 -3
  8. package/esm2022/lib/checkbox/checkbox.component.mjs +3 -3
  9. package/esm2022/lib/checkbox-input/checkbox-input.component.mjs +3 -3
  10. package/esm2022/lib/comment-modal/comment-modal.component.mjs +3 -3
  11. package/esm2022/lib/common-forms.module.mjs +6 -2
  12. package/esm2022/lib/confirmation-modal/confirmation-modal.component.mjs +3 -3
  13. package/esm2022/lib/contact/contact.component.mjs +3 -3
  14. package/esm2022/lib/date-input/date-input.component.mjs +3 -3
  15. package/esm2022/lib/date-input-modal/date-input-modal.component.mjs +6 -3
  16. package/esm2022/lib/datepicker/datepicker.component.mjs +7 -3
  17. package/esm2022/lib/daterangepicker/daterangepicker.component.mjs +7 -3
  18. package/esm2022/lib/dual-list-box/dual-list-box.component.mjs +3 -3
  19. package/esm2022/lib/ebiz-address/ebiz-address.component.mjs +3 -3
  20. package/esm2022/lib/edoc-attachment/edoc-attachment.component.mjs +3 -3
  21. package/esm2022/lib/entity/organization-create-modal/organization-create-modal.component.mjs +3 -3
  22. package/esm2022/lib/entity/organization-search-input/organization-search-input.component.mjs +3 -3
  23. package/esm2022/lib/entity/organization-search-modal/organization-search-modal.component.mjs +4 -4
  24. package/esm2022/lib/entity/person-create-modal/person-create-modal.component.mjs +3 -3
  25. package/esm2022/lib/entity/person-search-input/person-search-input.component.mjs +3 -3
  26. package/esm2022/lib/entity/person-search-modal/person-search-modal.component.mjs +4 -4
  27. package/esm2022/lib/entity/place-search-input/place-search-input.component.mjs +3 -3
  28. package/esm2022/lib/entity/place-search-modal/place-search-modal.component.mjs +4 -4
  29. package/esm2022/lib/file-upload/file-upload.component.mjs +3 -3
  30. package/esm2022/lib/lynx-image-upload/lynx-image-upload.component.mjs +3 -3
  31. package/esm2022/lib/multi-file-upload/multi-file-upload.component.mjs +3 -3
  32. package/esm2022/lib/notes-modal/notes-modal.component.mjs +4 -4
  33. package/esm2022/lib/oepa-error-message/oepa-error-message.component.mjs +3 -3
  34. package/esm2022/lib/oepa-reference/oepa-reference.service.mjs +10 -2
  35. package/esm2022/lib/oepa-user-account/oepa-user-account.service.mjs +35 -20
  36. package/esm2022/lib/params-help-button/params-help.service.mjs +1 -1
  37. package/esm2022/lib/pin-modal/pin-modal.component.mjs +3 -3
  38. package/esm2022/lib/server-timeout-modal/server-timeout-modal.component.mjs +3 -3
  39. package/esm2022/lib/shopping-cart/shopping-cart-view/shopping-cart-view.component.mjs +4 -4
  40. package/esm2022/lib/table/oepa-table-config.mjs +1 -1
  41. package/esm2022/lib/table/oepa-table-popover.mjs +1 -1
  42. package/esm2022/lib/table/p-table/p-table.component.mjs +27 -6
  43. package/esm2022/lib/table/table-data-cell/table-data-cell.component.mjs +3 -3
  44. package/esm2022/lib/table/table-header-cell/table-header-cell.component.mjs +3 -3
  45. package/esm2022/lib/table/table.component.mjs +13 -14
  46. package/esm2022/lib/template-confirmation-modal/template-confirmation-modal.component.mjs +3 -3
  47. package/esm2022/lib/timeout-modal/timeout-modal.component.mjs +3 -3
  48. package/esm2022/lib/util/oepa-http-interceptor.mjs +22 -9
  49. package/esm2022/lib/yes-no/yes-no.component.mjs +3 -3
  50. package/esm2022/lib/yes-no-boolean/yes-no.component.mjs +3 -3
  51. package/esm2022/lib/yes-no-other-input/yes-no-other-input.component.mjs +3 -3
  52. package/fesm2022/ohioepa-oepa-ui-lib.mjs +195 -124
  53. package/fesm2022/ohioepa-oepa-ui-lib.mjs.map +1 -1
  54. package/lib/common-forms.module.d.ts +3 -2
  55. package/lib/date-input-modal/date-input-modal.component.d.ts +3 -1
  56. package/lib/datepicker/datepicker.component.d.ts +2 -1
  57. package/lib/daterangepicker/daterangepicker.component.d.ts +2 -1
  58. package/lib/oepa-reference/oepa-reference.service.d.ts +5 -0
  59. package/lib/oepa-user-account/oepa-user-account.service.d.ts +3 -1
  60. package/lib/table/oepa-table-config.d.ts +6 -0
  61. package/lib/table/oepa-table-popover.d.ts +1 -1
  62. package/lib/table/p-table/p-table.component.d.ts +4 -0
  63. package/ohioepa-oepa-ui-lib-2.0.2.tgz +0 -0
  64. package/package.json +1 -1
  65. package/ohioepa-oepa-ui-lib-2.0.0.tgz +0 -0
package/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # OepaUiLib
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project oepa-ui-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project oepa-ui-lib`.
8
- > Note: Don't forget to add `--project oepa-ui-lib` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build oepa-ui-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build oepa-ui-lib`, go to the dist folder `cd dist/oepa-ui-lib` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test oepa-ui-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
1
+ # OepaUiLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project oepa-ui-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project oepa-ui-lib`.
8
+ > Note: Don't forget to add `--project oepa-ui-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build oepa-ui-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build oepa-ui-lib`, go to the dist folder `cd dist/oepa-ui-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test oepa-ui-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -106,11 +106,11 @@ export class AccountSearchInputComponent {
106
106
  });
107
107
  }
108
108
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccountSearchInputComponent, deps: [{ token: i1.OepaComponentIdService }, { token: i2.BsModalService }, { token: i3.AccountSearchService }], target: i0.ɵɵFactoryTarget.Component });
109
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AccountSearchInputComponent, selector: "oepa-account-search-input", inputs: { group: "group", userID: "userID", field: "field", title: "title", searchURL: "searchURL", errorMessageAddendum: "errorMessageAddendum", rowLayout: "rowLayout" }, outputs: { accountSelected: "accountSelected" }, ngImport: i0, template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #accountTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.userID || '') +\n (' - ' + model.firstName + ' ' + model.lastName + (model.company ? ' (' + model.company + ')' : '')) }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\" class=\"spinner-border text-primary\" role=\"status\"></span>\n <a id=\"AdvancedSearch\" href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field].status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onAccountSelect($event)\" [id]=\"componentId + '_AccountSearch'\"\n [typeaheadItemTemplate]=\"accountTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Account\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\">\n {{errorMessage}}\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.TypeaheadDirective, selector: "[typeahead]", inputs: ["typeahead", "typeaheadMinLength", "adaptivePosition", "isAnimated", "typeaheadWaitMs", "typeaheadOptionsLimit", "typeaheadOptionField", "typeaheadGroupField", "typeaheadOrderBy", "typeaheadAsync", "typeaheadLatinize", "typeaheadSingleWords", "typeaheadWordDelimiters", "typeaheadMultipleSearch", "typeaheadMultipleSearchDelimiters", "typeaheadPhraseDelimiters", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadScrollable", "typeaheadOptionsInScrollableView", "typeaheadHideResultsOnBlur", "typeaheadSelectFirstItem", "typeaheadIsFirstItemActive", "container", "dropup"], outputs: ["typeaheadLoading", "typeaheadNoResults", "typeaheadOnSelect", "typeaheadOnPreview", "typeaheadOnBlur"], exportAs: ["bs-typeahead"] }] });
109
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AccountSearchInputComponent, selector: "oepa-account-search-input", inputs: { group: "group", userID: "userID", field: "field", title: "title", searchURL: "searchURL", errorMessageAddendum: "errorMessageAddendum", rowLayout: "rowLayout" }, outputs: { accountSelected: "accountSelected" }, ngImport: i0, template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #accountTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.userID || '') +\n (' - ' + model.firstName + ' ' + model.lastName + (model.company ? ' (' + model.company + ')' : '')) }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\" [attr.for]=\"componentId + '_AccountSearch'\">\n {{title}}\n <span *ngIf=\"searching\" class=\"spinner-border text-primary\" role=\"status\" aria-live=\"polite\" aria-label=\"Loading\"></span>\n <a id=\"AdvancedSearch\" href=\"javascript:void(0)\" (click)=\"advancedSearch()\" tabindex=\"0\" aria-label=\"Advanced Account Search\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field].status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onAccountSelect($event)\" [id]=\"componentId + '_AccountSearch'\"\n [typeaheadItemTemplate]=\"accountTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Account\" [attr.aria-label]=\"title\" [attr.aria-describedby]=\"'accountSearchError'\">\n <small id=\"accountSearchError\" class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\" role=\"alert\">\n {{errorMessage}}\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.TypeaheadDirective, selector: "[typeahead]", inputs: ["typeahead", "typeaheadMinLength", "adaptivePosition", "isAnimated", "typeaheadWaitMs", "typeaheadOptionsLimit", "typeaheadOptionField", "typeaheadGroupField", "typeaheadOrderBy", "typeaheadAsync", "typeaheadLatinize", "typeaheadSingleWords", "typeaheadWordDelimiters", "typeaheadMultipleSearch", "typeaheadMultipleSearchDelimiters", "typeaheadPhraseDelimiters", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadScrollable", "typeaheadOptionsInScrollableView", "typeaheadHideResultsOnBlur", "typeaheadSelectFirstItem", "typeaheadIsFirstItemActive", "container", "dropup"], outputs: ["typeaheadLoading", "typeaheadNoResults", "typeaheadOnSelect", "typeaheadOnPreview", "typeaheadOnBlur"], exportAs: ["bs-typeahead"] }] });
110
110
  }
111
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccountSearchInputComponent, decorators: [{
112
112
  type: Component,
113
- args: [{ selector: 'oepa-account-search-input', template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #accountTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.userID || '') +\n (' - ' + model.firstName + ' ' + model.lastName + (model.company ? ' (' + model.company + ')' : '')) }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\" class=\"spinner-border text-primary\" role=\"status\"></span>\n <a id=\"AdvancedSearch\" href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field].status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onAccountSelect($event)\" [id]=\"componentId + '_AccountSearch'\"\n [typeaheadItemTemplate]=\"accountTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Account\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\">\n {{errorMessage}}\n</div>" }]
113
+ args: [{ selector: 'oepa-account-search-input', template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #accountTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.userID || '') +\n (' - ' + model.firstName + ' ' + model.lastName + (model.company ? ' (' + model.company + ')' : '')) }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\" [attr.for]=\"componentId + '_AccountSearch'\">\n {{title}}\n <span *ngIf=\"searching\" class=\"spinner-border text-primary\" role=\"status\" aria-live=\"polite\" aria-label=\"Loading\"></span>\n <a id=\"AdvancedSearch\" href=\"javascript:void(0)\" (click)=\"advancedSearch()\" tabindex=\"0\" aria-label=\"Advanced Account Search\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field].status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onAccountSelect($event)\" [id]=\"componentId + '_AccountSearch'\"\n [typeaheadItemTemplate]=\"accountTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Account\" [attr.aria-label]=\"title\" [attr.aria-describedby]=\"'accountSearchError'\">\n <small id=\"accountSearchError\" class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\" role=\"alert\">\n {{errorMessage}}\n</div>" }]
114
114
  }], ctorParameters: () => [{ type: i1.OepaComponentIdService }, { type: i2.BsModalService }, { type: i3.AccountSearchService }], propDecorators: { group: [{
115
115
  type: Input,
116
116
  args: ['group']
@@ -136,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
136
136
  type: Output,
137
137
  args: ['accountSelected']
138
138
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZWFyY2gtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2VwYS11aS1saWIvc3JjL2xpYi9hY2NvdW50LXNlYXJjaC1pbnB1dC9hY2NvdW50LXNlYXJjaC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FjY291bnQtc2VhcmNoLWlucHV0L2FjY291bnQtc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSS9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOzs7Ozs7OztBQVFyRyxNQUFNLE9BQU8sMkJBQTJCO0lBaUJsQjtJQUNWO0lBQ0E7SUFsQlYsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQixVQUFVLENBQXdCO0lBQ2xDLFdBQVcsQ0FBVTtJQUNyQixZQUFZLENBQXNCO0lBQ2xDLFNBQVMsQ0FBVztJQUVKLEtBQUssQ0FBYTtJQUNqQixNQUFNLENBQVU7SUFDakIsS0FBSyxDQUFVO0lBQ2YsS0FBSyxHQUFXLFNBQVMsQ0FBQztJQUN0QixTQUFTLEdBQVcsc0NBQXNDLENBQUM7SUFDaEQsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0lBQ3JDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFWCxlQUFlLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUFFaEcsWUFBb0IsU0FBaUMsRUFDM0MsWUFBNEIsRUFDNUIsb0JBQTBDO1FBRmhDLGNB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SUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBQyxtQkFBbUIsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQy9GLEtBQUssQ0FBQyxPQUFRLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2pGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBbkdVLDJCQUEyQjs0RkFBM0IsMkJBQTJCLDhSQ2hCeEMsbTdDQXNCTTs7NEZETk8sMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDJCQUEyQjsySkFXckIsS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNHLE1BQU07c0JBQXRCLEtBQUs7dUJBQUMsUUFBUTtnQkFDQyxLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBQ0UsS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNNLFNBQVM7c0JBQTVCLEtBQUs7dUJBQUMsV0FBVztnQkFDYSxvQkFBb0I7c0JBQWxELEtBQUs7dUJBQUMsc0JBQXNCO2dCQUNULFNBQVM7c0JBQTVCLEtBQUs7dUJBQUMsV0FBVztnQkFFUyxlQUFlO3NCQUF6QyxNQUFNO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFR5cGVhaGVhZE1hdGNoIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC90eXBlYWhlYWQnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWVyZ2VNYXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBPZXBhQ29tcG9uZW50SWRTZXJ2aWNlIH0gZnJvbSAnQG9oaW9lcGEvb2VwYS1jb21tb24tbGliJztcbmltcG9ydCB7IEFjY291bnQgfSBmcm9tICdAb2hpb2VwYS9vZXBhLWViaXotbGliJztcbmltcG9ydCB7IEFjY291bnRTZWFyY2hNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2FjY291bnQtc2VhcmNoLW1vZGFsL2FjY291bnQtc2VhcmNoLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY2NvdW50U2VhcmNoU2VydmljZSB9IGZyb20gJy4vYWNjb3VudC1zZWFyY2guc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29lcGEtYWNjb3VudC1zZWFyY2gtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3VudC1zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2NvdW50LXNlYXJjaC1pbnB1dC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWNjb3VudFNlYXJjaElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbmFtZVNlYXJjaCA9ICcnO1xuICBuYW1lU291cmNlOiBPYnNlcnZhYmxlPEFjY291bnRbXT47XG4gIGNvbXBvbmVudElkITogc3RyaW5nO1xuICBlcnJvck1lc3NhZ2UhOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHNlYXJjaGluZyE6IGJvb2xlYW47XG5cbiAgQElucHV0KCdncm91cCcpIGdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoJ3VzZXJJRCcpIHVzZXJJRCE6IHN0cmluZztcbiAgQElucHV0KCdmaWVsZCcpIGZpZWxkITogc3RyaW5nO1xuICBASW5wdXQoJ3RpdGxlJykgdGl0bGU6IHN0cmluZyA9ICdBY2NvdW50JztcbiAgQElucHV0KCdzZWFyY2hVUkwnKSBzZWFyY2hVUkw6IHN0cmluZyA9ICcvZWJpei9hcGkvdjIvYWNjb3VudHMvcmV2ZW51ZXNTZWFyY2gnO1xuICBASW5wdXQoJ2Vycm9yTWVzc2FnZUFkZGVuZHVtJykgZXJyb3JNZXNzYWdlQWRkZW5kdW0gPSAnJztcbiAgQElucHV0KCdyb3dMYXlvdXQnKSByb3dMYXlvdXQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCdhY2NvdW50U2VsZWN0ZWQnKSBhY2NvdW50U2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxBY2NvdW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWNjb3VudD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGlkU2VydmljZTogT2VwYUNvbXBvbmVudElkU2VydmljZSxcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogQnNNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY2NvdW50U2VhcmNoU2VydmljZTogQWNjb3VudFNlYXJjaFNlcnZpY2UpIHtcbiAgICAgIHRoaXMubmFtZVNvdXJjZSA9IG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMuZ3JvdXAuZ2V0KHRoaXMuZmllbGQpPy52YWx1ZSk7XG4gICAgICB9KS5waXBlKG1lcmdlTWFwKCh0b2tlbjogYW55KSA9PiB0aGlzLnNlYXJjaEFjY291bnRzKHRva2VuKSkpO1xuICAgICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb21wb25lbnRJZCA9IHRoaXMuaWRTZXJ2aWNlLmdldENvbXBvbmVudElkKHRoaXMuZ3JvdXApO1xuICAgIGlmICh0aGlzLnVzZXJJRCkge1xuICAgICAgY29uc3QgZmlsdGVyOiBBY2NvdW50ID0ge1xuICAgICAgICB1c2VySUQ6IHRoaXMudXNlcklEXG4gICAgICB9XG4gICAgICB0aGlzLnNlYXJjaGluZyA9IHRydWU7XG4gICAgICBcbiAgICAgIHRoaXMuYWNjb3VudFNlYXJjaFNlcnZpY2Uuc2VhcmNoQWNjb3VudHNGcm9tREIodGhpcy5zZWFyY2hVUkwsIGZpbHRlcikuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogYWNjb3VudExpc3QgPT4ge1xuICAgICAgICBpZiAoYWNjb3VudExpc3QgJiYgYWNjb3VudExpc3QubGVuZ3RoID09IDEpIHtcbiAgICAgICAgICB0aGlzLmxvYWRBY2NvdW50SW5Gb3JtKGFjY291bnRMaXN0WzBdKTtcbiAgICAgICAgfSBlbHNlIGlmIChhY2NvdW50TGlzdC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgYWNjb3VudExpc3QuZm9yRWFjaChhY2NvdW50ID0+IHtcbiAgICAgICAgICAgIGlmIChhY2NvdW50LnVzZXJJRCA9PT0gdGhpcy51c2VySUQpIHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkQWNjb3VudEluRm9ybShhY2NvdW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdBbiBpbml0aWFsaXphdGlvbiBlcnJvciBvY2N1cnJlZDogTm8gYWNjb3VudHMgd2loIGlkOiAnICsgdGhpcy51c2VySUQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWFyY2hpbmcgPSBmYWxzZTtcbiAgICAgIH0sIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdBbiBpbml0aWFsaXphdGlvbiBlcnJvciBvY2N1cnJlZDogJyArIGVycjtcbiAgICAgIH19KTtcbiAgICB9XG4gICAgdGhpcy5ncm91cC5nZXQodGhpcy5maWVsZCk/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgdGhpcy5hY2NvdW50U2VsZWN0ZWQuZW1pdCh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uQWNjb3VudFNlbGVjdChlOiBUeXBlYWhlYWRNYXRjaCkge1xuICAgIGlmIChlLml0ZW0pIHtcbiAgICAgIHRoaXMubG9hZEFjY291bnRJbkZvcm0oZS5pdGVtKTtcbiAgICAgIHRoaXMuYWNjb3VudFNlbGVjdGVkLmVtaXQoZS5pdGVtKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRBY2NvdW50SW5Gb3JtKGFjY291bnQ6IEFjY291bnQpIHtcbiAgICBsZXQgZGF0YTphbnkgPSB7fTtcbiAgICBkYXRhW3RoaXMuZmllbGRdID0gYWNjb3VudCA/IChhY2NvdW50LnVzZXJJRCArICcgLSAnICsgYWNjb3VudC5maXJzdE5hbWUgKyAnICcgKyBhY2NvdW50Lmxhc3ROYW1lIHx8ICcnXG4gICAgICArIChhY2NvdW50LmNvbXBhbnkgPyAnICgnICsgYWNjb3VudC5jb21wYW55ICsgJyknIDogJycpKSA6ICcnO1xuICAgIGlmIChhY2NvdW50KSB7XG4gICAgICB0aGlzLmdyb3VwLnBhdGNoVmFsdWUoZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZWFyY2hBY2NvdW50cyh0b2tlbjogYW55KTogT2JzZXJ2YWJsZTxBY2NvdW50W10+IHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNlYXJjaGluZyA9IHRydWU7XG4gICAgY29uc3QgZmlsdGVyOiBBY2NvdW50ID0ge1xuICAgICAgdXNlcklEOiB0b2tlblxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hY2NvdW50U2VhcmNoU2VydmljZS5zZWFyY2hBY2NvdW50c0Zyb21EQih0aGlzLnNlYXJjaFVSTCwgZmlsdGVyKS5waXBlKFxuICAgICAgbWFwKChhY2NvdW50cykgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaGluZyA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gYWNjb3VudHM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWR2YW5jZWRTZWFyY2goKSB7XG4gICAgY29uc29sZS5sb2coJ1VSTDogJyArIHRoaXMuc2VhcmNoVVJMKTtcbiAgICBjb25zdCBpbml0aWFsU3RhdGUgPSB7XG4gICAgICBzZWFyY2hVUkw6IHRoaXMuc2VhcmNoVVJMXG4gICAgfTtcbiAgICBsZXQgbW9kYWwgPSB0aGlzLm1vZGFsU2VydmljZS5zaG93KEFjY291bnRTZWFyY2hNb2RhbENvbXBvbmVudCwge2luaXRpYWxTdGF0ZSwgY2xhc3M6ICdtb2RhbC1sZycsaWdub3JlQmFja2Ryb3BDbGljazogdHJ1ZX0pO1xuICAgICg8QWNjb3VudFNlYXJjaE1vZGFsQ29tcG9uZW50Pm1vZGFsLmNvbnRlbnQpLm9uQWNjb3VudFNlbGVjdGVkLnN1YnNjcmliZShhY2NvdW50ID0+IHtcbiAgICAgIHRoaXMubG9hZEFjY291bnRJbkZvcm0oYWNjb3VudCk7XG4gICAgICB0aGlzLmFjY291bnRTZWxlY3RlZC5lbWl0KGFjY291bnQpO1xuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJncm91cFwiIGNsYXNzPVwiZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsncm93IHRleHQtcmlnaHQnOiByb3dMYXlvdXR9XCI+XG4gICAgPG5nLXRlbXBsYXRlICNhY2NvdW50VGVtcGxhdGUgbGV0LW1vZGVsPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCI+XG4gICAgICAgIDxoNT57eyAobW9kZWwudXNlcklEIHx8ICcnKSArXG4gICAgICAgICAgICAoJyAtICcgKyBtb2RlbC5maXJzdE5hbWUgKyAnICcgKyBtb2RlbC5sYXN0TmFtZSArIChtb2RlbC5jb21wYW55ID8gJyAoJyArIG1vZGVsLmNvbXBhbnkgKyAnKScgOiAnJykpIH19PC9oNT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxsYWJlbCBbbmdDbGFzc109XCJ7J2NvbC1zbS00IGNvbC1mb3JtLWxhYmVsJzogcm93TGF5b3V0fVwiPlxuICAgICAgICB7e3RpdGxlfX1cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzZWFyY2hpbmdcIiBjbGFzcz1cInNwaW5uZXItYm9yZGVyIHRleHQtcHJpbWFyeVwiIHJvbGU9XCJzdGF0dXNcIj48L3NwYW4+XG4gICAgICAgIDxhIGlkPVwiQWR2YW5jZWRTZWFyY2hcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImFkdmFuY2VkU2VhcmNoKClcIj5BZHZhbmNlZCBTZWFyY2g8L2E+XG4gICAgPC9sYWJlbD5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnY29sLXNtLTgnOiByb3dMYXlvdXR9XCI+XG4gICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpncm91cC5jb250cm9sc1tmaWVsZF0uc3RhdHVzID09PSAnSU5WQUxJRCcsICdjb2wtc20tOCc6IHJvd0xheW91dH1cIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZFwiIFt0eXBlYWhlYWRdPVwibmFtZVNvdXJjZVwiIFt0eXBlYWhlYWRTY3JvbGxhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgKHR5cGVhaGVhZE9uU2VsZWN0KT1cIm9uQWNjb3VudFNlbGVjdCgkZXZlbnQpXCIgW2lkXT1cImNvbXBvbmVudElkICsgJ19BY2NvdW50U2VhcmNoJ1wiXG4gICAgICAgICAgICBbdHlwZWFoZWFkSXRlbVRlbXBsYXRlXT1cImFjY291bnRUZW1wbGF0ZVwiIFt0eXBlYWhlYWRNaW5MZW5ndGhdPVwiM1wiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIEFjY291bnRcIj5cbiAgICAgICAgPHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbZmllbGRdPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPnt7dGl0bGV9fSBpcyByZXF1aXJlZFxuICAgICAgICAgICAge3tlcnJvck1lc3NhZ2VBZGRlbmR1bX19PC9zbWFsbD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cImVycm9yTWVzc2FnZVwiIGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyXCI+XG4gICAge3tlcnJvck1lc3NhZ2V9fVxuPC9kaXY+Il19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZWFyY2gtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2VwYS11aS1saWIvc3JjL2xpYi9hY2NvdW50LXNlYXJjaC1pbnB1dC9hY2NvdW50LXNlYXJjaC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FjY291bnQtc2VhcmNoLWlucHV0L2FjY291bnQtc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSS9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOzs7Ozs7OztBQVFyRyxNQUFNLE9BQU8sMkJBQTJCO0lBaUJsQjtJQUNWO0lBQ0E7SUFsQlYsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQixVQUFVLENBQXdCO0lBQ2xDLFdBQVcsQ0FBVTtJQUNyQixZQUFZLENBQXNCO0lBQ2xDLFNBQVMsQ0FBVztJQUVKLEtBQUssQ0FBYTtJQUNqQixNQUFNLENBQVU7SUFDakIsS0FBSyxDQUFVO0lBQ2YsS0FBSyxHQUFXLFNBQVMsQ0FBQztJQUN0QixTQUFTLEdBQVcsc0NBQXNDLENBQUM7SUFDaEQsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0lBQ3JDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFWCxlQUFlLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUFFaEcsWUFBb0IsU0FBaUMsRUFDM0MsWUFBNEIsRUFDNUIsb0JBQTBDO1FBRmhDLGNB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SUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBQyxtQkFBbUIsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQy9GLEtBQUssQ0FBQyxPQUFRLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2pGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBbkdVLDJCQUEyQjs0RkFBM0IsMkJBQTJCLDhSQ2hCeEMseXJEQXNCTTs7NEZETk8sMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDJCQUEyQjsySkFXckIsS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNHLE1BQU07c0JBQXRCLEtBQUs7dUJBQUMsUUFBUTtnQkFDQyxLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBQ0UsS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNNLFNBQVM7c0JBQTVCLEtBQUs7dUJBQUMsV0FBVztnQkFDYSxvQkFBb0I7c0JBQWxELEtBQUs7dUJBQUMsc0JBQXNCO2dCQUNULFNBQVM7c0JBQTVCLEtBQUs7dUJBQUMsV0FBVztnQkFFUyxlQUFlO3NCQUF6QyxNQUFNO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFR5cGVhaGVhZE1hdGNoIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC90eXBlYWhlYWQnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWVyZ2VNYXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBPZXBhQ29tcG9uZW50SWRTZXJ2aWNlIH0gZnJvbSAnQG9oaW9lcGEvb2VwYS1jb21tb24tbGliJztcbmltcG9ydCB7IEFjY291bnQgfSBmcm9tICdAb2hpb2VwYS9vZXBhLWViaXotbGliJztcbmltcG9ydCB7IEFjY291bnRTZWFyY2hNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2FjY291bnQtc2VhcmNoLW1vZGFsL2FjY291bnQtc2VhcmNoLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY2NvdW50U2VhcmNoU2VydmljZSB9IGZyb20gJy4vYWNjb3VudC1zZWFyY2guc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29lcGEtYWNjb3VudC1zZWFyY2gtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3VudC1zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2NvdW50LXNlYXJjaC1pbnB1dC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWNjb3VudFNlYXJjaElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbmFtZVNlYXJjaCA9ICcnO1xuICBuYW1lU291cmNlOiBPYnNlcnZhYmxlPEFjY291bnRbXT47XG4gIGNvbXBvbmVudElkITogc3RyaW5nO1xuICBlcnJvck1lc3NhZ2UhOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHNlYXJjaGluZyE6IGJvb2xlYW47XG5cbiAgQElucHV0KCdncm91cCcpIGdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoJ3VzZXJJRCcpIHVzZXJJRCE6IHN0cmluZztcbiAgQElucHV0KCdmaWVsZCcpIGZpZWxkITogc3RyaW5nO1xuICBASW5wdXQoJ3RpdGxlJykgdGl0bGU6IHN0cmluZyA9ICdBY2NvdW50JztcbiAgQElucHV0KCdzZWFyY2hVUkwnKSBzZWFyY2hVUkw6IHN0cmluZyA9ICcvZWJpei9hcGkvdjIvYWNjb3VudHMvcmV2ZW51ZXNTZWFyY2gnO1xuICBASW5wdXQoJ2Vycm9yTWVzc2FnZUFkZGVuZHVtJykgZXJyb3JNZXNzYWdlQWRkZW5kdW0gPSAnJztcbiAgQElucHV0KCdyb3dMYXlvdXQnKSByb3dMYXlvdXQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCdhY2NvdW50U2VsZWN0ZWQnKSBhY2NvdW50U2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxBY2NvdW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWNjb3VudD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGlkU2VydmljZTogT2VwYUNvbXBvbmVudElkU2VydmljZSxcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogQnNNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY2NvdW50U2VhcmNoU2VydmljZTogQWNjb3VudFNlYXJjaFNlcnZpY2UpIHtcbiAgICAgIHRoaXMubmFtZVNvdXJjZSA9IG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMuZ3JvdXAuZ2V0KHRoaXMuZmllbGQpPy52YWx1ZSk7XG4gICAgICB9KS5waXBlKG1lcmdlTWFwKCh0b2tlbjogYW55KSA9PiB0aGlzLnNlYXJjaEFjY291bnRzKHRva2VuKSkpO1xuICAgICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb21wb25lbnRJZCA9IHRoaXMuaWRTZXJ2aWNlLmdldENvbXBvbmVudElkKHRoaXMuZ3JvdXApO1xuICAgIGlmICh0aGlzLnVzZXJJRCkge1xuICAgICAgY29uc3QgZmlsdGVyOiBBY2NvdW50ID0ge1xuICAgICAgICB1c2VySUQ6IHRoaXMudXNlcklEXG4gICAgICB9XG4gICAgICB0aGlzLnNlYXJjaGluZyA9IHRydWU7XG4gICAgICBcbiAgICAgIHRoaXMuYWNjb3VudFNlYXJjaFNlcnZpY2Uuc2VhcmNoQWNjb3VudHNGcm9tREIodGhpcy5zZWFyY2hVUkwsIGZpbHRlcikuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogYWNjb3VudExpc3QgPT4ge1xuICAgICAgICBpZiAoYWNjb3VudExpc3QgJiYgYWNjb3VudExpc3QubGVuZ3RoID09IDEpIHtcbiAgICAgICAgICB0aGlzLmxvYWRBY2NvdW50SW5Gb3JtKGFjY291bnRMaXN0WzBdKTtcbiAgICAgICAgfSBlbHNlIGlmIChhY2NvdW50TGlzdC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgYWNjb3VudExpc3QuZm9yRWFjaChhY2NvdW50ID0+IHtcbiAgICAgICAgICAgIGlmIChhY2NvdW50LnVzZXJJRCA9PT0gdGhpcy51c2VySUQpIHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkQWNjb3VudEluRm9ybShhY2NvdW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdBbiBpbml0aWFsaXphdGlvbiBlcnJvciBvY2N1cnJlZDogTm8gYWNjb3VudHMgd2loIGlkOiAnICsgdGhpcy51c2VySUQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWFyY2hpbmcgPSBmYWxzZTtcbiAgICAgIH0sIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdBbiBpbml0aWFsaXphdGlvbiBlcnJvciBvY2N1cnJlZDogJyArIGVycjtcbiAgICAgIH19KTtcbiAgICB9XG4gICAgdGhpcy5ncm91cC5nZXQodGhpcy5maWVsZCk/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgdGhpcy5hY2NvdW50U2VsZWN0ZWQuZW1pdCh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uQWNjb3VudFNlbGVjdChlOiBUeXBlYWhlYWRNYXRjaCkge1xuICAgIGlmIChlLml0ZW0pIHtcbiAgICAgIHRoaXMubG9hZEFjY291bnRJbkZvcm0oZS5pdGVtKTtcbiAgICAgIHRoaXMuYWNjb3VudFNlbGVjdGVkLmVtaXQoZS5pdGVtKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRBY2NvdW50SW5Gb3JtKGFjY291bnQ6IEFjY291bnQpIHtcbiAgICBsZXQgZGF0YTphbnkgPSB7fTtcbiAgICBkYXRhW3RoaXMuZmllbGRdID0gYWNjb3VudCA/IChhY2NvdW50LnVzZXJJRCArICcgLSAnICsgYWNjb3VudC5maXJzdE5hbWUgKyAnICcgKyBhY2NvdW50Lmxhc3ROYW1lIHx8ICcnXG4gICAgICArIChhY2NvdW50LmNvbXBhbnkgPyAnICgnICsgYWNjb3VudC5jb21wYW55ICsgJyknIDogJycpKSA6ICcnO1xuICAgIGlmIChhY2NvdW50KSB7XG4gICAgICB0aGlzLmdyb3VwLnBhdGNoVmFsdWUoZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZWFyY2hBY2NvdW50cyh0b2tlbjogYW55KTogT2JzZXJ2YWJsZTxBY2NvdW50W10+IHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNlYXJjaGluZyA9IHRydWU7XG4gICAgY29uc3QgZmlsdGVyOiBBY2NvdW50ID0ge1xuICAgICAgdXNlcklEOiB0b2tlblxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hY2NvdW50U2VhcmNoU2VydmljZS5zZWFyY2hBY2NvdW50c0Zyb21EQih0aGlzLnNlYXJjaFVSTCwgZmlsdGVyKS5waXBlKFxuICAgICAgbWFwKChhY2NvdW50cykgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaGluZyA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gYWNjb3VudHM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWR2YW5jZWRTZWFyY2goKSB7XG4gICAgY29uc29sZS5sb2coJ1VSTDogJyArIHRoaXMuc2VhcmNoVVJMKTtcbiAgICBjb25zdCBpbml0aWFsU3RhdGUgPSB7XG4gICAgICBzZWFyY2hVUkw6IHRoaXMuc2VhcmNoVVJMXG4gICAgfTtcbiAgICBsZXQgbW9kYWwgPSB0aGlzLm1vZGFsU2VydmljZS5zaG93KEFjY291bnRTZWFyY2hNb2RhbENvbXBvbmVudCwge2luaXRpYWxTdGF0ZSwgY2xhc3M6ICdtb2RhbC1sZycsaWdub3JlQmFja2Ryb3BDbGljazogdHJ1ZX0pO1xuICAgICg8QWNjb3VudFNlYXJjaE1vZGFsQ29tcG9uZW50Pm1vZGFsLmNvbnRlbnQpLm9uQWNjb3VudFNlbGVjdGVkLnN1YnNjcmliZShhY2NvdW50ID0+IHtcbiAgICAgIHRoaXMubG9hZEFjY291bnRJbkZvcm0oYWNjb3VudCk7XG4gICAgICB0aGlzLmFjY291bnRTZWxlY3RlZC5lbWl0KGFjY291bnQpO1xuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJncm91cFwiIGNsYXNzPVwiZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsncm93IHRleHQtcmlnaHQnOiByb3dMYXlvdXR9XCI+XG4gICAgPG5nLXRlbXBsYXRlICNhY2NvdW50VGVtcGxhdGUgbGV0LW1vZGVsPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCI+XG4gICAgICAgIDxoNT57eyAobW9kZWwudXNlcklEIHx8ICcnKSArXG4gICAgICAgICAgICAoJyAtICcgKyBtb2RlbC5maXJzdE5hbWUgKyAnICcgKyBtb2RlbC5sYXN0TmFtZSArIChtb2RlbC5jb21wYW55ID8gJyAoJyArIG1vZGVsLmNvbXBhbnkgKyAnKScgOiAnJykpIH19PC9oNT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxsYWJlbCBbbmdDbGFzc109XCJ7J2NvbC1zbS00IGNvbC1mb3JtLWxhYmVsJzogcm93TGF5b3V0fVwiIFthdHRyLmZvcl09XCJjb21wb25lbnRJZCArICdfQWNjb3VudFNlYXJjaCdcIj5cbiAgICAgICAge3t0aXRsZX19XG4gICAgICAgIDxzcGFuICpuZ0lmPVwic2VhcmNoaW5nXCIgY2xhc3M9XCJzcGlubmVyLWJvcmRlciB0ZXh0LXByaW1hcnlcIiByb2xlPVwic3RhdHVzXCIgYXJpYS1saXZlPVwicG9saXRlXCIgYXJpYS1sYWJlbD1cIkxvYWRpbmdcIj48L3NwYW4+XG4gICAgICAgIDxhIGlkPVwiQWR2YW5jZWRTZWFyY2hcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImFkdmFuY2VkU2VhcmNoKClcIiB0YWJpbmRleD1cIjBcIiBhcmlhLWxhYmVsPVwiQWR2YW5jZWQgQWNjb3VudCBTZWFyY2hcIj5BZHZhbmNlZCBTZWFyY2g8L2E+XG4gICAgPC9sYWJlbD5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnY29sLXNtLTgnOiByb3dMYXlvdXR9XCI+XG4gICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpncm91cC5jb250cm9sc1tmaWVsZF0uc3RhdHVzID09PSAnSU5WQUxJRCcsICdjb2wtc20tOCc6IHJvd0xheW91dH1cIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZFwiIFt0eXBlYWhlYWRdPVwibmFtZVNvdXJjZVwiIFt0eXBlYWhlYWRTY3JvbGxhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgKHR5cGVhaGVhZE9uU2VsZWN0KT1cIm9uQWNjb3VudFNlbGVjdCgkZXZlbnQpXCIgW2lkXT1cImNvbXBvbmVudElkICsgJ19BY2NvdW50U2VhcmNoJ1wiXG4gICAgICAgICAgICBbdHlwZWFoZWFkSXRlbVRlbXBsYXRlXT1cImFjY291bnRUZW1wbGF0ZVwiIFt0eXBlYWhlYWRNaW5MZW5ndGhdPVwiM1wiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIEFjY291bnRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRpdGxlXCIgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInYWNjb3VudFNlYXJjaEVycm9yJ1wiPlxuICAgICAgICA8c21hbGwgaWQ9XCJhY2NvdW50U2VhcmNoRXJyb3JcIiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzW2ZpZWxkXT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e3RpdGxlfX0gaXMgcmVxdWlyZWRcbiAgICAgICAgICAgIHt7ZXJyb3JNZXNzYWdlQWRkZW5kdW19fTwvc21hbGw+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiIHJvbGU9XCJhbGVydFwiPlxuICAgIHt7ZXJyb3JNZXNzYWdlfX1cbjwvZGl2PiJdfQ==
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
35
35
  type: Inject,
36
36
  args: ['app']
37
37
  }] }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZWFyY2guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvYWNjb3VudC1zZWFyY2gtaW5wdXQvYWNjb3VudC1zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9uRCxNQUFNLE9BQU8sb0JBQW9CO0lBRVg7SUFDYTtJQUNSO0lBRnpCLFlBQW9CLElBQWdCLEVBQ0gsV0FBbUIsRUFDM0IsR0FBVztRQUZoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0gsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBUTtJQUFJLENBQUM7SUFFaEMsb0JBQW9CLENBQUMsU0FBaUIsRUFBRSxNQUFlO1FBQzVELE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNuRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUMzQyxNQUFNLE1BQU0sR0FBTztZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDaEIsQ0FBQztRQUNBLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVksR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM1RyxDQUFDO3dHQWRRLG9CQUFvQiw0Q0FHckIsYUFBYSxhQUNiLEtBQUs7NEdBSkosb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUlJLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BCLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWNjb3VudCB9IGZyb20gJ0BvaGlvZXBhL29lcGEtZWJpei1saWInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VhcmNoU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgXHJcbiAgICBASW5qZWN0KCdlYml6Um9vdFVSTCcpIHByaXZhdGUgZWJpelJvb3RVUkw6IHN0cmluZyxcclxuICAgIEBJbmplY3QoJ2FwcCcpIHByaXZhdGUgYXBwOiBzdHJpbmcpIHsgfVxyXG5cclxuICAgIHB1YmxpYyBzZWFyY2hBY2NvdW50c0Zyb21EQihzZWFyY2hVUkw6IHN0cmluZywgZmlsdGVyOiBBY2NvdW50KTogT2JzZXJ2YWJsZTxBY2NvdW50W10+IHtcclxuICAgICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgICBoZWFkZXJzLmFwcGVuZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcclxuICAgICAgY29uc3QgdXJsID0gdGhpcy5lYml6Um9vdFVSTCArIHNlYXJjaFVSTDtcclxuICAgIGNvbnN0IHBhcmFtczphbnkgPSB7XHJcbiAgICAgICdhcHAnOiB0aGlzLmFwcFxyXG4gICAgfTtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFjY291bnRbXT4odXJsLCBmaWx0ZXIsIHsgaGVhZGVyczogaGVhZGVycywgcmVzcG9uc2VUeXBlOiAnanNvbicsIHBhcmFtczogcGFyYW1zIH0pO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZWFyY2guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvYWNjb3VudC1zZWFyY2gtaW5wdXQvYWNjb3VudC1zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9uRCxNQUFNLE9BQU8sb0JBQW9CO0lBRVg7SUFDYTtJQUNSO0lBRnpCLFlBQW9CLElBQWdCLEVBQ0gsV0FBbUIsRUFDM0IsR0FBVztRQUZoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0gsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBUTtJQUFJLENBQUM7SUFFaEMsb0JBQW9CLENBQUMsU0FBaUIsRUFBRSxNQUFlO1FBQzVELE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNuRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUMzQyxNQUFNLE1BQU0sR0FBTztZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDaEIsQ0FBQztRQUNBLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVksR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM1RyxDQUFDO3dHQWRRLG9CQUFvQiw0Q0FHckIsYUFBYSxhQUNiLEtBQUs7NEdBSkosb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUlJLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BCLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2NvdW50IH0gZnJvbSAnQG9oaW9lcGEvb2VwYS1lYml6LWxpYic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRTZWFyY2hTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIFxuICAgIEBJbmplY3QoJ2ViaXpSb290VVJMJykgcHJpdmF0ZSBlYml6Um9vdFVSTDogc3RyaW5nLFxuICAgIEBJbmplY3QoJ2FwcCcpIHByaXZhdGUgYXBwOiBzdHJpbmcpIHsgfVxuXG4gICAgcHVibGljIHNlYXJjaEFjY291bnRzRnJvbURCKHNlYXJjaFVSTDogc3RyaW5nLCBmaWx0ZXI6IEFjY291bnQpOiBPYnNlcnZhYmxlPEFjY291bnRbXT4ge1xuICAgICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgICAgaGVhZGVycy5hcHBlbmQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgICBjb25zdCB1cmwgPSB0aGlzLmViaXpSb290VVJMICsgc2VhcmNoVVJMO1xuICAgIGNvbnN0IHBhcmFtczphbnkgPSB7XG4gICAgICAnYXBwJzogdGhpcy5hcHBcbiAgICB9O1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFjY291bnRbXT4odXJsLCBmaWx0ZXIsIHsgaGVhZGVyczogaGVhZGVycywgcmVzcG9uc2VUeXBlOiAnanNvbicsIHBhcmFtczogcGFyYW1zIH0pO1xuICAgIH1cblxufVxuIl19
@@ -4,7 +4,7 @@ import * as i1 from "@angular/forms";
4
4
  import * as i2 from "ngx-bootstrap/modal";
5
5
  import * as i3 from "../account-search-input/account-search.service";
6
6
  import * as i4 from "@angular/common";
7
- import * as i5 from "ngx-bootstrap/accordion";
7
+ import * as i5 from "@angular/material/expansion";
8
8
  import * as i6 from "../table/table.component";
9
9
  export class AccountSearchModalComponent {
10
10
  fb;
@@ -61,7 +61,6 @@ export class AccountSearchModalComponent {
61
61
  return empty;
62
62
  }
63
63
  submitSearch() {
64
- console.log("SEAARCH");
65
64
  this.errorMessage = undefined;
66
65
  let filter = this.getFilterFromForm();
67
66
  if (this.filterIsEmpty(filter)) {
@@ -129,15 +128,15 @@ export class AccountSearchModalComponent {
129
128
  this.bsModalRef.hide();
130
129
  }
131
130
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccountSearchModalComponent, deps: [{ token: i1.FormBuilder }, { token: i2.BsModalRef }, { token: i3.AccountSearchService }], target: i0.ɵɵFactoryTarget.Component });
132
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AccountSearchModalComponent, selector: "oepa-account-search-modal", inputs: { searchURL: "searchURL" }, outputs: { onAccountSelected: "onAccountSelected" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Advanced Ebiz Account Search</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <accordion>\n <accordion-group panelClass=\"panel-info\" #searchGroup [isOpen]=\"openSearchCriteria\">\n <div accordion-heading>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <i class=\"float-xs-right bi\" id=\"accountSearchCriteria\" name=\"accountSearchCriteria\" \n [ngClass]=\"{'bi-chevron-down': searchGroup?.isOpen, 'bi-chevron-right': !searchGroup?.isOpen}\"></i>\n <b>Ebiz Account Search Criteria</b>\n </div>\n </div>\n </div>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>Ebiz User ID</label>\n <input type=\"search\" class=\"form-control\" id=\"userUIDInput\" formControlName=\"userID\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>First Name</label>\n <input type=\"search\" class=\"form-control\" id=\"firstNameInput\" formControlName=\"firstName\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>Last Name</label>\n <input type=\"search\" class=\"form-control\" id=\"lastNameInput\" formControlName=\"lastName\">\n </div>\n </div>\n </div>\n \n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" class=\"spinner-border text-primary\" role=\"status\"></span>\n <button *ngIf=\"!inProgressMsg\" type=\"submit\" class=\"btn btn-primary mr-2\" id=\"submitSearchBtn\" (click)=\"submitSearch()\">Search</button>\n <button id=\"resetSearchBtn\" type=\"button\" class=\"btn btn-primary\" (click)=\"resetSearch()\">Reset</button>\n </div>\n </div>\n </form>\n </accordion-group>\n </accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Ebiz Account List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\" *ngIf=\"tableHeader\">\n <oepa-table tableId=\"accountSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\">\n <div *ngIf=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\n {{inProgressMsg}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <button type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveAccountBtn\"\n [disabled]=\"!selectedAccount || inProgressMsg\"\n (click)=\"save()\">Save</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\">Cancel</button>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.AccordionComponent, selector: "accordion", inputs: ["isAnimated", "closeOthers"] }, { kind: "component", type: i5.AccordionPanelComponent, selector: "accordion-group, accordion-panel", inputs: ["heading", "panelClass", "isDisabled", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: i6.TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
131
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AccountSearchModalComponent, selector: "oepa-account-search-modal", inputs: { searchURL: "searchURL" }, outputs: { onAccountSelected: "onAccountSelected" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\">Advanced Ebiz Account Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\" [expanded]=\"openSearchCriteria\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div id=\"accountSearchCriteria\">\n <b>Ebiz Account Search Criteria</b>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"userUIDInput\">Ebiz User ID</label>\n <input type=\"search\" class=\"form-control\" id=\"userUIDInput\" formControlName=\"userID\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"firstNameInput\">First Name</label>\n <input type=\"search\" class=\"form-control\" id=\"firstNameInput\" formControlName=\"firstName\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"lastNameInput\">Last Name</label>\n <input type=\"search\" class=\"form-control\" id=\"lastNameInput\" formControlName=\"lastName\">\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" class=\"spinner-border text-primary\" role=\"status\"></span>\n <button *ngIf=\"!inProgressMsg\" type=\"submit\" class=\"btn btn-primary mr-2\" id=\"submitSearchBtn\" (click)=\"submitSearch()\" aria-label=\"Search\">Search</button>\n <button id=\"resetSearchBtn\" type=\"button\" class=\"btn btn-primary\" (click)=\"resetSearch()\" aria-label=\"Reset\">Reset</button>\n </div>\n </div>\n </form>\n </mat-expansion-panel>\n </mat-accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Ebiz Account List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\" *ngIf=\"tableHeader\">\n <oepa-table tableId=\"accountSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\">\n <div *ngIf=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\n {{inProgressMsg}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <button type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveAccountBtn\"\n [disabled]=\"!selectedAccount || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i5.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i5.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i5.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: i6.TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
133
132
  }
134
133
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccountSearchModalComponent, decorators: [{
135
134
  type: Component,
136
- args: [{ selector: 'oepa-account-search-modal', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Advanced Ebiz Account Search</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <accordion>\n <accordion-group panelClass=\"panel-info\" #searchGroup [isOpen]=\"openSearchCriteria\">\n <div accordion-heading>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <i class=\"float-xs-right bi\" id=\"accountSearchCriteria\" name=\"accountSearchCriteria\" \n [ngClass]=\"{'bi-chevron-down': searchGroup?.isOpen, 'bi-chevron-right': !searchGroup?.isOpen}\"></i>\n <b>Ebiz Account Search Criteria</b>\n </div>\n </div>\n </div>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>Ebiz User ID</label>\n <input type=\"search\" class=\"form-control\" id=\"userUIDInput\" formControlName=\"userID\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>First Name</label>\n <input type=\"search\" class=\"form-control\" id=\"firstNameInput\" formControlName=\"firstName\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>Last Name</label>\n <input type=\"search\" class=\"form-control\" id=\"lastNameInput\" formControlName=\"lastName\">\n </div>\n </div>\n </div>\n \n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" class=\"spinner-border text-primary\" role=\"status\"></span>\n <button *ngIf=\"!inProgressMsg\" type=\"submit\" class=\"btn btn-primary mr-2\" id=\"submitSearchBtn\" (click)=\"submitSearch()\">Search</button>\n <button id=\"resetSearchBtn\" type=\"button\" class=\"btn btn-primary\" (click)=\"resetSearch()\">Reset</button>\n </div>\n </div>\n </form>\n </accordion-group>\n </accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Ebiz Account List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\" *ngIf=\"tableHeader\">\n <oepa-table tableId=\"accountSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\">\n <div *ngIf=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\n {{inProgressMsg}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <button type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveAccountBtn\"\n [disabled]=\"!selectedAccount || inProgressMsg\"\n (click)=\"save()\">Save</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\">Cancel</button>\n </div>\n </div>\n</div>" }]
135
+ args: [{ selector: 'oepa-account-search-modal', template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\">Advanced Ebiz Account Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\" [expanded]=\"openSearchCriteria\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div id=\"accountSearchCriteria\">\n <b>Ebiz Account Search Criteria</b>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"userUIDInput\">Ebiz User ID</label>\n <input type=\"search\" class=\"form-control\" id=\"userUIDInput\" formControlName=\"userID\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"firstNameInput\">First Name</label>\n <input type=\"search\" class=\"form-control\" id=\"firstNameInput\" formControlName=\"firstName\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"lastNameInput\">Last Name</label>\n <input type=\"search\" class=\"form-control\" id=\"lastNameInput\" formControlName=\"lastName\">\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" class=\"spinner-border text-primary\" role=\"status\"></span>\n <button *ngIf=\"!inProgressMsg\" type=\"submit\" class=\"btn btn-primary mr-2\" id=\"submitSearchBtn\" (click)=\"submitSearch()\" aria-label=\"Search\">Search</button>\n <button id=\"resetSearchBtn\" type=\"button\" class=\"btn btn-primary\" (click)=\"resetSearch()\" aria-label=\"Reset\">Reset</button>\n </div>\n </div>\n </form>\n </mat-expansion-panel>\n </mat-accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Ebiz Account List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\" *ngIf=\"tableHeader\">\n <oepa-table tableId=\"accountSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\">\n <div *ngIf=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\n {{inProgressMsg}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <button type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveAccountBtn\"\n [disabled]=\"!selectedAccount || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>" }]
137
136
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.BsModalRef }, { type: i3.AccountSearchService }], propDecorators: { searchURL: [{
138
137
  type: Input,
139
138
  args: ['searchURL']
140
139
  }], onAccountSelected: [{
141
140
  type: Output
142
141
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZWFyY2gtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2VwYS11aS1saWIvc3JjL2xpYi9hY2NvdW50LXNlYXJjaC1tb2RhbC9hY2NvdW50LXNlYXJjaC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FjY291bnQtc2VhcmNoLW1vZGFsL2FjY291bnQtc2VhcmNoLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBYy9FLE1BQU0sT0FBTywyQkFBMkI7SUFtQmxCO0lBQXdCO0lBQWdDO0lBbEJyRSxjQUFjLENBQWE7SUFDM0IsWUFBWSxDQUFzQjtJQUNsQyxhQUFhLENBQXNCO0lBQ25DLE1BQU0sQ0FBVztJQUNqQixlQUFlLENBQVc7SUFDMUIsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0lBRTFCLFNBQVMsR0FBd0IsRUFBRSxDQUFDO0lBQ3BDLFdBQVcsR0FBZ0MsU0FBUyxDQUFDO0lBQ3JELFdBQVcsR0FBb0I7UUFDcEMsV0FBVyxFQUFFLENBQUM7UUFDZCxVQUFVLEVBQUUsQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDO0tBQzlELENBQUM7SUFFa0IsU0FBUyxHQUFXLHNDQUFzQyxDQUFDO0lBRXJFLGlCQUFpQixHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBRS9FLFlBQW9CLEVBQWUsRUFBUyxVQUFzQixFQUFVLG9CQUEwQztRQUFsRyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7SUFDdEgsQ0FBQztJQUVE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S0FBSyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDN0MsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQzNDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRTtTQUMxQyxDQUFDO1FBRUosT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLO1lBQ1osVUFBVSxFQUFFLE9BQU87WUFDbkIsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQTtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQzdDLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO3dHQWhJVSwyQkFBMkI7NEZBQTNCLDJCQUEyQiwwSkNkeEMsbzhIQWdGTTs7NEZEbEVPLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwyQkFBMkI7NElBbUJuQixTQUFTO3NCQUE1QixLQUFLO3VCQUFDLFdBQVc7Z0JBRVIsaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJzTW9kYWxSZWYgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IE9lcGFUYWJsZVJvdyB9IGZyb20gJy4uL3RhYmxlL29lcGEtdGFibGUtcm93JztcbmltcG9ydCB7IE9lcGFUYWJsZUhlYWRlciB9IGZyb20gJy4uL3RhYmxlL29lcGEtdGFibGUtaGVhZGVyJztcbmltcG9ydCB7IE9lcGFUYWJsZUNvbmZpZyB9IGZyb20gJy4uL3RhYmxlL29lcGEtdGFibGUtY29uZmlnJztcbmltcG9ydCB7IEFjY291bnQgfSBmcm9tICdAb2hpb2VwYS9vZXBhLWViaXotbGliJztcbmltcG9ydCB7IEFjY291bnRTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vYWNjb3VudC1zZWFyY2gtaW5wdXQvYWNjb3VudC1zZWFyY2guc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29lcGEtYWNjb3VudC1zZWFyY2gtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3VudC1zZWFyY2gtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2NvdW50LXNlYXJjaC1tb2RhbC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWNjb3VudFNlYXJjaE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIG1vZGFsRm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlITogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgaW5Qcm9ncmVzc01zZyE6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGZpbHRlciE6IEFjY291bnQ7XG4gIHB1YmxpYyBzZWxlY3RlZEFjY291bnQhOiBBY2NvdW50O1xuICBwdWJsaWMgb3BlblNlYXJjaENyaXRlcmlhID0gdHJ1ZTtcblxuICBwdWJsaWMgdGFibGVEYXRhOiBBcnJheTxPZXBhVGFibGVSb3c+ID0gW107XG4gIHB1YmxpYyB0YWJsZUhlYWRlcjogT2VwYVRhYmxlSGVhZGVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBwdWJsaWMgdGFibGVDb25maWc6IE9lcGFUYWJsZUNvbmZpZyA9IHtcbiAgICByb3dzUGVyUGFnZTogNSxcbiAgICBjbGFzc05hbWVzOiBbJ3RhYmxlLXN0cmlwZWQnLCAndGFibGUtYm9yZGVyZWQnLCAndGFibGUtc20nXVxufTtcblxuQElucHV0KCdzZWFyY2hVUkwnKSBzZWFyY2hVUkw6IHN0cmluZyA9ICcvZWJpei9hcGkvdjIvYWNjb3VudHMvcmV2ZW51ZXNTZWFyY2gnO1xuXG5AT3V0cHV0KCkgb25BY2NvdW50U2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxBY2NvdW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWNjb3VudD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHVibGljIGJzTW9kYWxSZWY6IEJzTW9kYWxSZWYsIHByaXZhdGUgYWNjb3VudFNlYXJjaFNlcnZpY2U6IEFjY291bnRTZWFyY2hTZXJ2aWNlKSB7IFxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gIH1cbiAgXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICB0aGlzLm1vZGFsRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB1c2VySUQ6ICcnLFxuICAgICAgZmlyc3ROYW1lOiAnJyxcbiAgICAgIGxhc3ROYW1lOiAnJ1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWx0ZXJGcm9tRm9ybSgpOiBBY2NvdW50IHtcbiAgICBsZXQgZmlsdGVyOiBBY2NvdW50ID0ge1xuICAgICAgdXNlcklEOiB0aGlzLm1vZGFsRm9ybUdyb3VwLmdldCgndXNlcklEJyk/LnZhbHVlLFxuICAgICAgZmlyc3ROYW1lOiB0aGlzLm1vZGFsRm9ybUdyb3VwLmdldCgnZmlyc3ROYW1lJyk/LnZhbHVlLFxuICAgICAgbGFzdE5hbWU6IHRoaXMubW9kYWxGb3JtR3JvdXAuZ2V0KCdsYXN0TmFtZScpPy52YWx1ZSBcbiAgICB9O1xuICAgIHJldHVybiBmaWx0ZXI7XG4gIH1cblxuICBwcml2YXRlIGZpbHRlcklzRW1wdHkoZmlsdGVyOiBBY2NvdW50KTogYm9vbGVhbiB7XG4gICAgbGV0IGVtcHR5ID0gdHJ1ZTtcbiAgICBpZiAoZmlsdGVyLnVzZXJJRCAmJiBmaWx0ZXIudXNlcklELmxlbmd0aCA+IDApIHtcbiAgICAgIGVtcHR5ID0gZmFsc2U7XG4gICAgfVxuICAgIGlmIChmaWx0ZXIuZmlyc3ROYW1lICYmIGZpbHRlci5maXJzdE5hbWUubGVuZ3RoID4gMCkge1xuICAgICAgZW1wdHkgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGZpbHRlci5sYXN0TmFtZSAmJiBmaWx0ZXIubGFzdE5hbWUubGVuZ3RoID4gMCkge1xuICAgICAgZW1wdHkgPSBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGVtcHR5O1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdFNlYXJjaCgpIHtcbiAgICBjb25zb2xlLmxvZyhcIlNFQUFSQ0hcIilcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHVuZGVmaW5lZDtcbiAgICBsZXQgZmlsdGVyID0gdGhpcy5nZXRGaWx0ZXJGcm9tRm9ybSgpO1xuICAgIGlmICh0aGlzLmZpbHRlcklzRW1wdHkoZmlsdGVyKSkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnUGxlYXNlIHNwZWNpZnkgc2VhcmNoIGNyaXRlcmlhJztcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pblByb2dyZXNzTXNnID0gJ1NlYXJjaGluZy4uLic7XG4gICAgdGhpcy50YWJsZURhdGEgPSBbXTtcbiAgICB0aGlzLmJ1aWxkVGFibGVIZWFkZXIoKTtcbiAgICB0aGlzLmFjY291bnRTZWFyY2hTZXJ2aWNlLnNlYXJjaEFjY291bnRzRnJvbURCKHRoaXMuc2VhcmNoVVJMLCBmaWx0ZXIpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBhY2NvdW50cyA9PiB7XG4gICAgICB0aGlzLmluUHJvZ3Jlc3NNc2cgPSB1bmRlZmluZWQ7XG4gICAgICBpZiAoYWNjb3VudHMgJiYgYWNjb3VudHMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLm9wZW5TZWFyY2hDcml0ZXJpYSA9IGZhbHNlO1xuICAgICAgICBhY2NvdW50cy5mb3JFYWNoKGFjY291bnQgPT4ge1xuICAgICAgICAgIGxldCByb3cgPSB0aGlzLmNvbnZlcnRBY2NvdW50VG9UYWJsZVJvdyhhY2NvdW50KTtcbiAgICAgICAgICB0aGlzLnRhYmxlRGF0YS5wdXNoKHJvdyk7XG4gICAgICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLnRhYmxlRGF0YS5zbGljZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMub3BlblNlYXJjaENyaXRlcmlhID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTm8gZWJpeiBhY2NvdW50cyBmb3VuZCBtYXRjaGluZyBzZWFyY2ggY3JpdGVyaWEuJztcbiAgICAgIH1cbiAgICB9LCBlcnJvcjooZXJyb3IpID0+IHtcbiAgICAgIHRoaXMuaW5Qcm9ncmVzc01zZyA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ1NlYXJjaCBGYWlsZWQ6ICcgKyBlcnJvcjtcbiAgICB9fSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkVGFibGVIZWFkZXIoKXtcbiAgICAgIHRoaXMudGFibGVIZWFkZXIgPSB7XG4gICAgICAgIGNvbHVtbnM6IFtcbiAgICAgICAgICAgIHsgdGl0bGU6ICcnLCBpZDogJ3NlbGVjdCcsIHNvcnQ6ICdub25lJywgc2luZ2xlU2VsZWN0Q29sdW1uOiB0cnVlLCBjbGFzc05hbWU6ICdzZWxlY3QtY29sJyB9LFxuICAgICAgICAgICAgeyB0aXRsZTogJ1VzZXIgSUQnLCBpZDogJ3VzZXJJRCcsIHNvcnQ6ICdub25lJywgZmlsdGVyYWJsZTogdHJ1ZSB9LFxuICAgICAgICAgICAgeyB0aXRsZTogJ0ZpcnN0IE5hbWUnLCBpZDogJ2ZpcnN0TmFtZScsIHNvcnQ6ICdub25lJywgZmlsdGVyYWJsZTogdHJ1ZSB9LFxuICAgICAgICAgICAgeyB0aXRsZTogJ0xhc3QgTmFtZScsIGlkOiAnbGFzdE5hbWUnLCBzb3J0OiAnbm9uZScsIGZpbHRlcmFibGU6IHRydWUgfSxcbiAgICAgICAgICAgIHsgdGl0bGU6ICdDb21wYW55JywgaWQ6ICdjb21wYW55Jywgc29ydDogJ25vbmUnLCBmaWx0ZXJhYmxlOiB0cnVlIH0gIFxuICAgICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydEFjY291bnRUb1RhYmxlUm93KGFjY291bnQ6IEFjY291bnQpOiBPZXBhVGFibGVSb3cge1xuICAgICAgbGV0IGNlbGxzOkFycmF5PGFueT49IFtcbiAgICAgICAgeyBpZDogJ3VzZXJJRCcsIHZhbHVlOiBhY2NvdW50LnVzZXJJRCB9LFxuICAgICAgICB7IGlkOiAnZmlyc3ROYW1lJywgdmFsdWU6IGFjY291bnQuZmlyc3ROYW1lIH0sXG4gICAgICAgIHsgaWQ6ICdsYXN0TmFtZScsIHZhbHVlOiBhY2NvdW50Lmxhc3ROYW1lIH0sXG4gICAgICAgIHsgaWQ6ICdjb21wYW55JywgdmFsdWU6IGFjY291bnQuY29tcGFueSB9XG4gICAgICBdO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNlbGxzOiBjZWxscyxcbiAgICAgIGRhdGFTb3VyY2U6IGFjY291bnQsXG4gICAgICBzZWxlY3RhYmxlOiB0cnVlXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlc2V0U2VhcmNoKCkge1xuICAgIHRoaXMub3BlblNlYXJjaENyaXRlcmlhID0gdHJ1ZTtcbiAgICB0aGlzLm1vZGFsRm9ybUdyb3VwLnJlc2V0KCk7XG4gICAgdGhpcy50YWJsZURhdGEgPSBbXTtcbiAgfVxuXG4gIHB1YmxpYyBvblJvd1NlbGVjdChldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZEFjY291bnQgPSBldmVudFswXS5kYXRhU291cmNlO1xuICB9XG5cbiAgcHVibGljIHNhdmUoKSB7XG4gICAgdGhpcy5vbkFjY291bnRTZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWRBY2NvdW50KTtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+QWR2YW5jZWQgRWJpeiBBY2NvdW50IFNlYXJjaDwvaDQ+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2UgZmxvYXQtZW5kXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cImJzTW9kYWxSZWYuaGlkZSgpXCI+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgICAgIDxhY2NvcmRpb24+XG4gICAgICAgICAgICA8YWNjb3JkaW9uLWdyb3VwIHBhbmVsQ2xhc3M9XCJwYW5lbC1pbmZvXCIgI3NlYXJjaEdyb3VwIFtpc09wZW5dPVwib3BlblNlYXJjaENyaXRlcmlhXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBhY2NvcmRpb24taGVhZGluZz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmbG9hdC14cy1yaWdodCBiaVwiIGlkPVwiYWNjb3VudFNlYXJjaENyaXRlcmlhXCIgbmFtZT1cImFjY291bnRTZWFyY2hDcml0ZXJpYVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYmktY2hldnJvbi1kb3duJzogc2VhcmNoR3JvdXA/LmlzT3BlbiwgJ2JpLWNoZXZyb24tcmlnaHQnOiAhc2VhcmNoR3JvdXA/LmlzT3Blbn1cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkViaXogQWNjb3VudCBTZWFyY2ggQ3JpdGVyaWE8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJtb2RhbEZvcm1Hcm91cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+RWJpeiBVc2VyIElEPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInNlYXJjaFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJ1c2VyVUlESW5wdXRcIiBmb3JtQ29udHJvbE5hbWU9XCJ1c2VySURcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+Rmlyc3QgTmFtZTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJzZWFyY2hcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiZmlyc3ROYW1lSW5wdXRcIiBmb3JtQ29udHJvbE5hbWU9XCJmaXJzdE5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+TGFzdCBOYW1lPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInNlYXJjaFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJsYXN0TmFtZUlucHV0XCIgZm9ybUNvbnRyb2xOYW1lPVwibGFzdE5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaW5Qcm9ncmVzc01zZ1wiIGNsYXNzPVwic3Bpbm5lci1ib3JkZXIgdGV4dC1wcmltYXJ5XCIgcm9sZT1cInN0YXR1c1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhaW5Qcm9ncmVzc01zZ1wiIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtci0yXCIgaWQ9XCJzdWJtaXRTZWFyY2hCdG5cIiAoY2xpY2spPVwic3VibWl0U2VhcmNoKClcIj5TZWFyY2g8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9XCJyZXNldFNlYXJjaEJ0blwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJyZXNldFNlYXJjaCgpXCI+UmVzZXQ8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICA8L2FjY29yZGlvbi1ncm91cD5cbiAgICAgICAgPC9hY2NvcmRpb24+XG4gICAgPGRpdiAqbmdJZj1cInRhYmxlRGF0YSAmJiB0YWJsZURhdGEubGVuZ3RoID4gMFwiIGNsYXNzPVwiY2FyZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxiPkViaXogQWNjb3VudCBMaXN0Jm5ic3A7PC9iPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmctc2Vjb25kYXJ5XCI+e3t0YWJsZURhdGEubGVuZ3RofX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCIgKm5nSWY9XCJ0YWJsZUhlYWRlclwiPlxuICAgICAgICAgICAgPG9lcGEtdGFibGUgdGFibGVJZD1cImFjY291bnRTZWFyY2hUYWJsZVwiIFtjb25maWddPVwidGFibGVDb25maWdcIiBbZGF0YV09XCJ0YWJsZURhdGFcIiBbaGVhZGVyXT1cInRhYmxlSGVhZGVyXCIgKHJvd1NlbGVjdGVkKT1cIm9uUm93U2VsZWN0KCRldmVudClcIj5cbiAgICAgICAgICAgIDwvb2VwYS10YWJsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXIgZC1ibG9ja1wiPlxuICAgIDxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiPlxuICAgICAgICAgICAge3tlcnJvck1lc3NhZ2V9fVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaW5Qcm9ncmVzc01zZ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiPlxuICAgICAgICAgICAge3tpblByb2dyZXNzTXNnfX1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtci0yXCJcbiAgICAgICAgICAgICAgICBpZD1cIlNhdmVBY2NvdW50QnRuXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXNlbGVjdGVkQWNjb3VudCB8fCBpblByb2dyZXNzTXNnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2F2ZSgpXCI+U2F2ZTwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBpZD1cIkNhbmNlbFBheW1lbnRCdG5cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJic01vZGFsUmVmLmhpZGUoKVwiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZWFyY2gtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2VwYS11aS1saWIvc3JjL2xpYi9hY2NvdW50LXNlYXJjaC1tb2RhbC9hY2NvdW50LXNlYXJjaC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FjY291bnQtc2VhcmNoLW1vZGFsL2FjY291bnQtc2VhcmNoLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBYy9FLE1BQU0sT0FBTywyQkFBMkI7SUFtQmxCO0lBQXdCO0lBQWdDO0lBbEJyRSxjQUFjLENBQWE7SUFDM0IsWUFBWSxDQUFzQjtJQUNsQyxhQUFhLENBQXNCO0lBQ25DLE1BQU0sQ0FBVztJQUNqQixlQUFlLENBQVc7SUFDMUIsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0lBRTFCLFNBQVMsR0FBd0IsRUFBRSxDQUFDO0lBQ3BDLFdBQVcsR0FBZ0MsU0FBUyxDQUFDO0lBQ3JELFdBQVcsR0FBb0I7UUFDcEMsV0FBVyxFQUFFLENBQUM7UUFDZCxVQUFVLEVBQUUsQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDO0tBQzlELENBQUM7SUFFa0IsU0FBUyxHQUFXLHNDQUFzQyxDQUFDO0lBRXJFLGlCQUFpQixHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBRS9FLFlBQW9CLEVBQWUsRUFBUyxVQUFzQixFQUFVLG9CQUEwQztRQUFsRyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7SUFDdEgsQ0FBQztJQUVE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RUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUMzQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUU7U0FDMUMsQ0FBQztRQUVKLE9BQU87WUFDTCxLQUFLLEVBQUUsS0FBSztZQUNaLFVBQVUsRUFBRSxPQUFPO1lBQ25CLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUE7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFVO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUM3QyxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzt3R0EvSFUsMkJBQTJCOzRGQUEzQiwyQkFBMkIsMEpDZHhDLHUySEE2RU07OzRGRC9ETywyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMkJBQTJCOzRJQW1CbkIsU0FBUztzQkFBNUIsS0FBSzt1QkFBQyxXQUFXO2dCQUVSLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBPZXBhVGFibGVSb3cgfSBmcm9tICcuLi90YWJsZS9vZXBhLXRhYmxlLXJvdyc7XG5pbXBvcnQgeyBPZXBhVGFibGVIZWFkZXIgfSBmcm9tICcuLi90YWJsZS9vZXBhLXRhYmxlLWhlYWRlcic7XG5pbXBvcnQgeyBPZXBhVGFibGVDb25maWcgfSBmcm9tICcuLi90YWJsZS9vZXBhLXRhYmxlLWNvbmZpZyc7XG5pbXBvcnQgeyBBY2NvdW50IH0gZnJvbSAnQG9oaW9lcGEvb2VwYS1lYml6LWxpYic7XG5pbXBvcnQgeyBBY2NvdW50U2VhcmNoU2VydmljZSB9IGZyb20gJy4uL2FjY291bnQtc2VhcmNoLWlucHV0L2FjY291bnQtc2VhcmNoLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLWFjY291bnQtc2VhcmNoLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY291bnQtc2VhcmNoLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWNjb3VudC1zZWFyY2gtbW9kYWwuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRTZWFyY2hNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBtb2RhbEZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgcHVibGljIGVycm9yTWVzc2FnZSE6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGluUHJvZ3Jlc3NNc2chOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBmaWx0ZXIhOiBBY2NvdW50O1xuICBwdWJsaWMgc2VsZWN0ZWRBY2NvdW50ITogQWNjb3VudDtcbiAgcHVibGljIG9wZW5TZWFyY2hDcml0ZXJpYSA9IHRydWU7XG5cbiAgcHVibGljIHRhYmxlRGF0YTogQXJyYXk8T2VwYVRhYmxlUm93PiA9IFtdO1xuICBwdWJsaWMgdGFibGVIZWFkZXI6IE9lcGFUYWJsZUhlYWRlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgcHVibGljIHRhYmxlQ29uZmlnOiBPZXBhVGFibGVDb25maWcgPSB7XG4gICAgcm93c1BlclBhZ2U6IDUsXG4gICAgY2xhc3NOYW1lczogWyd0YWJsZS1zdHJpcGVkJywgJ3RhYmxlLWJvcmRlcmVkJywgJ3RhYmxlLXNtJ11cbn07XG5cbkBJbnB1dCgnc2VhcmNoVVJMJykgc2VhcmNoVVJMOiBzdHJpbmcgPSAnL2ViaXovYXBpL3YyL2FjY291bnRzL3JldmVudWVzU2VhcmNoJztcblxuQE91dHB1dCgpIG9uQWNjb3VudFNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8QWNjb3VudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFjY291bnQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHB1YmxpYyBic01vZGFsUmVmOiBCc01vZGFsUmVmLCBwcml2YXRlIGFjY291bnRTZWFyY2hTZXJ2aWNlOiBBY2NvdW50U2VhcmNoU2VydmljZSkgeyBcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICB9XG4gIFxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKSB7XG4gICAgdGhpcy5tb2RhbEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlcklEOiAnJyxcbiAgICAgIGZpcnN0TmFtZTogJycsXG4gICAgICBsYXN0TmFtZTogJydcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsdGVyRnJvbUZvcm0oKTogQWNjb3VudCB7XG4gICAgbGV0IGZpbHRlcjogQWNjb3VudCA9IHtcbiAgICAgIHVzZXJJRDogdGhpcy5tb2RhbEZvcm1Hcm91cC5nZXQoJ3VzZXJJRCcpPy52YWx1ZSxcbiAgICAgIGZpcnN0TmFtZTogdGhpcy5tb2RhbEZvcm1Hcm91cC5nZXQoJ2ZpcnN0TmFtZScpPy52YWx1ZSxcbiAgICAgIGxhc3ROYW1lOiB0aGlzLm1vZGFsRm9ybUdyb3VwLmdldCgnbGFzdE5hbWUnKT8udmFsdWUgXG4gICAgfTtcbiAgICByZXR1cm4gZmlsdGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJJc0VtcHR5KGZpbHRlcjogQWNjb3VudCk6IGJvb2xlYW4ge1xuICAgIGxldCBlbXB0eSA9IHRydWU7XG4gICAgaWYgKGZpbHRlci51c2VySUQgJiYgZmlsdGVyLnVzZXJJRC5sZW5ndGggPiAwKSB7XG4gICAgICBlbXB0eSA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAoZmlsdGVyLmZpcnN0TmFtZSAmJiBmaWx0ZXIuZmlyc3ROYW1lLmxlbmd0aCA+IDApIHtcbiAgICAgIGVtcHR5ID0gZmFsc2U7XG4gICAgfVxuICAgIGlmIChmaWx0ZXIubGFzdE5hbWUgJiYgZmlsdGVyLmxhc3ROYW1lLmxlbmd0aCA+IDApIHtcbiAgICAgIGVtcHR5ID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBlbXB0eTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXRTZWFyY2goKSB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB1bmRlZmluZWQ7XG4gICAgbGV0IGZpbHRlciA9IHRoaXMuZ2V0RmlsdGVyRnJvbUZvcm0oKTtcbiAgICBpZiAodGhpcy5maWx0ZXJJc0VtcHR5KGZpbHRlcikpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ1BsZWFzZSBzcGVjaWZ5IHNlYXJjaCBjcml0ZXJpYSc7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW5Qcm9ncmVzc01zZyA9ICdTZWFyY2hpbmcuLi4nO1xuICAgIHRoaXMudGFibGVEYXRhID0gW107XG4gICAgdGhpcy5idWlsZFRhYmxlSGVhZGVyKCk7XG4gICAgdGhpcy5hY2NvdW50U2VhcmNoU2VydmljZS5zZWFyY2hBY2NvdW50c0Zyb21EQih0aGlzLnNlYXJjaFVSTCwgZmlsdGVyKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogYWNjb3VudHMgPT4ge1xuICAgICAgdGhpcy5pblByb2dyZXNzTXNnID0gdW5kZWZpbmVkO1xuICAgICAgaWYgKGFjY291bnRzICYmIGFjY291bnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5vcGVuU2VhcmNoQ3JpdGVyaWEgPSBmYWxzZTtcbiAgICAgICAgYWNjb3VudHMuZm9yRWFjaChhY2NvdW50ID0+IHtcbiAgICAgICAgICBsZXQgcm93ID0gdGhpcy5jb252ZXJ0QWNjb3VudFRvVGFibGVSb3coYWNjb3VudCk7XG4gICAgICAgICAgdGhpcy50YWJsZURhdGEucHVzaChyb3cpO1xuICAgICAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy50YWJsZURhdGEuc2xpY2UoKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm9wZW5TZWFyY2hDcml0ZXJpYSA9IHRydWU7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ05vIGViaXogYWNjb3VudHMgZm91bmQgbWF0Y2hpbmcgc2VhcmNoIGNyaXRlcmlhLic7XG4gICAgICB9XG4gICAgfSwgZXJyb3I6KGVycm9yKSA9PiB7XG4gICAgICB0aGlzLmluUHJvZ3Jlc3NNc2cgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdTZWFyY2ggRmFpbGVkOiAnICsgZXJyb3I7XG4gICAgfX0pO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFRhYmxlSGVhZGVyKCl7XG4gICAgICB0aGlzLnRhYmxlSGVhZGVyID0ge1xuICAgICAgICBjb2x1bW5zOiBbXG4gICAgICAgICAgICB7IHRpdGxlOiAnJywgaWQ6ICdzZWxlY3QnLCBzb3J0OiAnbm9uZScsIHNpbmdsZVNlbGVjdENvbHVtbjogdHJ1ZSwgY2xhc3NOYW1lOiAnc2VsZWN0LWNvbCcgfSxcbiAgICAgICAgICAgIHsgdGl0bGU6ICdVc2VyIElEJywgaWQ6ICd1c2VySUQnLCBzb3J0OiAnbm9uZScsIGZpbHRlcmFibGU6IHRydWUgfSxcbiAgICAgICAgICAgIHsgdGl0bGU6ICdGaXJzdCBOYW1lJywgaWQ6ICdmaXJzdE5hbWUnLCBzb3J0OiAnbm9uZScsIGZpbHRlcmFibGU6IHRydWUgfSxcbiAgICAgICAgICAgIHsgdGl0bGU6ICdMYXN0IE5hbWUnLCBpZDogJ2xhc3ROYW1lJywgc29ydDogJ25vbmUnLCBmaWx0ZXJhYmxlOiB0cnVlIH0sXG4gICAgICAgICAgICB7IHRpdGxlOiAnQ29tcGFueScsIGlkOiAnY29tcGFueScsIHNvcnQ6ICdub25lJywgZmlsdGVyYWJsZTogdHJ1ZSB9ICBcbiAgICAgICAgXVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRBY2NvdW50VG9UYWJsZVJvdyhhY2NvdW50OiBBY2NvdW50KTogT2VwYVRhYmxlUm93IHtcbiAgICAgIGxldCBjZWxsczpBcnJheTxhbnk+PSBbXG4gICAgICAgIHsgaWQ6ICd1c2VySUQnLCB2YWx1ZTogYWNjb3VudC51c2VySUQgfSxcbiAgICAgICAgeyBpZDogJ2ZpcnN0TmFtZScsIHZhbHVlOiBhY2NvdW50LmZpcnN0TmFtZSB9LFxuICAgICAgICB7IGlkOiAnbGFzdE5hbWUnLCB2YWx1ZTogYWNjb3VudC5sYXN0TmFtZSB9LFxuICAgICAgICB7IGlkOiAnY29tcGFueScsIHZhbHVlOiBhY2NvdW50LmNvbXBhbnkgfVxuICAgICAgXTtcblxuICAgIHJldHVybiB7XG4gICAgICBjZWxsczogY2VsbHMsXG4gICAgICBkYXRhU291cmNlOiBhY2NvdW50LFxuICAgICAgc2VsZWN0YWJsZTogdHJ1ZVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZXNldFNlYXJjaCgpIHtcbiAgICB0aGlzLm9wZW5TZWFyY2hDcml0ZXJpYSA9IHRydWU7XG4gICAgdGhpcy5tb2RhbEZvcm1Hcm91cC5yZXNldCgpO1xuICAgIHRoaXMudGFibGVEYXRhID0gW107XG4gIH1cblxuICBwdWJsaWMgb25Sb3dTZWxlY3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRBY2NvdW50ID0gZXZlbnRbMF0uZGF0YVNvdXJjZTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCkge1xuICAgIHRoaXMub25BY2NvdW50U2VsZWN0ZWQuZW1pdCh0aGlzLnNlbGVjdGVkQWNjb3VudCk7XG4gICAgdGhpcy5ic01vZGFsUmVmLmhpZGUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgIDxoMSBjbGFzcz1cIm1vZGFsLXRpdGxlIHB1bGwtbGVmdFwiPkFkdmFuY2VkIEViaXogQWNjb3VudCBTZWFyY2g8L2gxPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlIGZsb2F0LWVuZFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJic01vZGFsUmVmLmhpZGUoKVwiPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgIDxtYXQtYWNjb3JkaW9uIGNsYXNzPVwiYWNjb3JkaW9uXCIgbXVsdGk+XG4gICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPVwiYWNjb3JkaW9uLWl0ZW1cIiBbZXhwYW5kZWRdPVwib3BlblNlYXJjaENyaXRlcmlhXCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImFjY291bnRTZWFyY2hDcml0ZXJpYVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGI+RWJpeiBBY2NvdW50IFNlYXJjaCBDcml0ZXJpYTwvYj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJtb2RhbEZvcm1Hcm91cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwidXNlclVJRElucHV0XCI+RWJpeiBVc2VyIElEPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInNlYXJjaFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJ1c2VyVUlESW5wdXRcIiBmb3JtQ29udHJvbE5hbWU9XCJ1c2VySURcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmlyc3ROYW1lSW5wdXRcIj5GaXJzdCBOYW1lPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInNlYXJjaFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJmaXJzdE5hbWVJbnB1dFwiIGZvcm1Db250cm9sTmFtZT1cImZpcnN0TmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJsYXN0TmFtZUlucHV0XCI+TGFzdCBOYW1lPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInNlYXJjaFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJsYXN0TmFtZUlucHV0XCIgZm9ybUNvbnRyb2xOYW1lPVwibGFzdE5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaW5Qcm9ncmVzc01zZ1wiIGNsYXNzPVwic3Bpbm5lci1ib3JkZXIgdGV4dC1wcmltYXJ5XCIgcm9sZT1cInN0YXR1c1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhaW5Qcm9ncmVzc01zZ1wiIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtci0yXCIgaWQ9XCJzdWJtaXRTZWFyY2hCdG5cIiAoY2xpY2spPVwic3VibWl0U2VhcmNoKClcIiBhcmlhLWxhYmVsPVwiU2VhcmNoXCI+U2VhcmNoPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPVwicmVzZXRTZWFyY2hCdG5cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwicmVzZXRTZWFyY2goKVwiIGFyaWEtbGFiZWw9XCJSZXNldFwiPlJlc2V0PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgPC9tYXQtYWNjb3JkaW9uPlxuICAgIDxkaXYgKm5nSWY9XCJ0YWJsZURhdGEgJiYgdGFibGVEYXRhLmxlbmd0aCA+IDBcIiBjbGFzcz1cImNhcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgICA8Yj5FYml6IEFjY291bnQgTGlzdCZuYnNwOzwvYj48c3BhbiBjbGFzcz1cImJhZGdlIGJnLXNlY29uZGFyeVwiPnt7dGFibGVEYXRhLmxlbmd0aH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiICpuZ0lmPVwidGFibGVIZWFkZXJcIj5cbiAgICAgICAgICAgIDxvZXBhLXRhYmxlIHRhYmxlSWQ9XCJhY2NvdW50U2VhcmNoVGFibGVcIiBbY29uZmlnXT1cInRhYmxlQ29uZmlnXCIgW2RhdGFdPVwidGFibGVEYXRhXCIgW2hlYWRlcl09XCJ0YWJsZUhlYWRlclwiIChyb3dTZWxlY3RlZCk9XCJvblJvd1NlbGVjdCgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L29lcGEtdGFibGU+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyIGQtYmxvY2tcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIj5cbiAgICAgICAgICAgIHt7ZXJyb3JNZXNzYWdlfX1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImluUHJvZ3Jlc3NNc2dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm9cIj5cbiAgICAgICAgICAgIHt7aW5Qcm9ncmVzc01zZ319XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXItMlwiXG4gICAgICAgICAgICAgICAgaWQ9XCJTYXZlQWNjb3VudEJ0blwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFzZWxlY3RlZEFjY291bnQgfHwgaW5Qcm9ncmVzc01zZ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNhdmUoKVwiIGFyaWEtbGFiZWw9XCJTYXZlXCI+U2F2ZTwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBpZD1cIkNhbmNlbFBheW1lbnRCdG5cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJic01vZGFsUmVmLmhpZGUoKVwiIGFyaWEtbGFiZWw9XCJDYW5jZWxcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -47,11 +47,11 @@ export class ActionBtnComponent {
47
47
  return this.btnId + '_ActionBtn';
48
48
  }
49
49
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionBtnComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
50
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionBtnComponent, selector: "oepa-action-btn", inputs: { label: "label", btnId: "btnId", data: "data", actions: "actions", normalSize: "normalSize", dropup: "dropup" }, outputs: { actionClicked: "actionClicked" }, ngImport: i0, template: "<div *ngIf=\"actions && actions.length > 0\" class=\"btn-group\" dropdown [dropup]=\"dropup\">\n <button dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\" [ngClass]=\"{ 'btn-sm' : !normalSize }\"\n [id]=\"btnId+'_ActionBtn'\">\n <span *ngIf=\"busy\" class=\"spinner-border text-primary\" role=\"status\"></span>\n {{label}} \n <span class=\"caret\"></span>\n </button>\n\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right\" role=\"menu\">\n <li *ngFor=\"let action of actions; let i = index;\" role=\"menuitem\">\n <a *ngIf=\"!busy\" class=\"dropdown-item\" (click)=\"onActionClicked(action)\" [id]=\"btnId+'_ActionLink_'+i\">\n <i ngClass=\"{{action.className || ''}}\"></i> {{action.title}}\n </a>\n </li>\n </ul>\n</div> \n<!-- display disabled button if no actions are available -->\n<div *ngIf=\"!actions || actions.length === 0\">\n <button type=\"button\" class=\"btn btn-primary\" [ngClass]=\"{ 'btn-sm' : !normalSize }\" [id]=\"btnId+'_ActionBtn'\" disabled>\n N/A \n </button>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i3.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i3.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }] });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionBtnComponent, selector: "oepa-action-btn", inputs: { label: "label", btnId: "btnId", data: "data", actions: "actions", normalSize: "normalSize", dropup: "dropup" }, outputs: { actionClicked: "actionClicked" }, ngImport: i0, template: "<div *ngIf=\"actions && actions.length > 0\" class=\"btn-group\" dropdown [dropup]=\"dropup\" role=\"group\" aria-label=\"Action Button Group\">\n <button dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\" [ngClass]=\"{ 'btn-sm' : !normalSize }\"\n [id]=\"btnId+'_ActionBtn'\" aria-label=\"Action Button\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <span *ngIf=\"busy\" class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Loading\"></span>\n {{label}} \n <span class=\"caret\" aria-hidden=\"true\"></span>\n </button>\n\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right\" role=\"menu\" aria-label=\"Action Menu\">\n <li *ngFor=\"let action of actions; let i = index;\" role=\"menuitem\">\n <a *ngIf=\"!busy\" class=\"dropdown-item\" (click)=\"onActionClicked(action)\" [id]=\"btnId+'_ActionLink_'+i\" [attr.aria-label]=\"action.title\" tabindex=\"0\">\n <i ngClass=\"{{action.className || ''}}\" aria-hidden=\"true\"></i> {{action.title}}\n </a>\n </li>\n </ul>\n</div> \n<!-- display disabled button if no actions are available -->\n<div *ngIf=\"!actions || actions.length === 0\">\n <button type=\"button\" class=\"btn btn-primary\" [ngClass]=\"{ 'btn-sm' : !normalSize }\" [id]=\"btnId+'_ActionBtn'\" disabled aria-label=\"No actions available\">\n N/A \n </button>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i3.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i3.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }] });
51
51
  }
52
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionBtnComponent, decorators: [{
53
53
  type: Component,
54
- args: [{ selector: 'oepa-action-btn', template: "<div *ngIf=\"actions && actions.length > 0\" class=\"btn-group\" dropdown [dropup]=\"dropup\">\n <button dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\" [ngClass]=\"{ 'btn-sm' : !normalSize }\"\n [id]=\"btnId+'_ActionBtn'\">\n <span *ngIf=\"busy\" class=\"spinner-border text-primary\" role=\"status\"></span>\n {{label}} \n <span class=\"caret\"></span>\n </button>\n\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right\" role=\"menu\">\n <li *ngFor=\"let action of actions; let i = index;\" role=\"menuitem\">\n <a *ngIf=\"!busy\" class=\"dropdown-item\" (click)=\"onActionClicked(action)\" [id]=\"btnId+'_ActionLink_'+i\">\n <i ngClass=\"{{action.className || ''}}\"></i> {{action.title}}\n </a>\n </li>\n </ul>\n</div> \n<!-- display disabled button if no actions are available -->\n<div *ngIf=\"!actions || actions.length === 0\">\n <button type=\"button\" class=\"btn btn-primary\" [ngClass]=\"{ 'btn-sm' : !normalSize }\" [id]=\"btnId+'_ActionBtn'\" disabled>\n N/A \n </button>\n</div>" }]
54
+ args: [{ selector: 'oepa-action-btn', template: "<div *ngIf=\"actions && actions.length > 0\" class=\"btn-group\" dropdown [dropup]=\"dropup\" role=\"group\" aria-label=\"Action Button Group\">\n <button dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\" [ngClass]=\"{ 'btn-sm' : !normalSize }\"\n [id]=\"btnId+'_ActionBtn'\" aria-label=\"Action Button\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <span *ngIf=\"busy\" class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Loading\"></span>\n {{label}} \n <span class=\"caret\" aria-hidden=\"true\"></span>\n </button>\n\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right\" role=\"menu\" aria-label=\"Action Menu\">\n <li *ngFor=\"let action of actions; let i = index;\" role=\"menuitem\">\n <a *ngIf=\"!busy\" class=\"dropdown-item\" (click)=\"onActionClicked(action)\" [id]=\"btnId+'_ActionLink_'+i\" [attr.aria-label]=\"action.title\" tabindex=\"0\">\n <i ngClass=\"{{action.className || ''}}\" aria-hidden=\"true\"></i> {{action.title}}\n </a>\n </li>\n </ul>\n</div> \n<!-- display disabled button if no actions are available -->\n<div *ngIf=\"!actions || actions.length === 0\">\n <button type=\"button\" class=\"btn btn-primary\" [ngClass]=\"{ 'btn-sm' : !normalSize }\" [id]=\"btnId+'_ActionBtn'\" disabled aria-label=\"No actions available\">\n N/A \n </button>\n</div>" }]
55
55
  }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { label: [{
56
56
  type: Input
57
57
  }], btnId: [{
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
67
67
  }], actionClicked: [{
68
68
  type: Output
69
69
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ0bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FjdGlvbi1idG4vYWN0aW9uLWJ0bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FjdGlvbi1idG4vYWN0aW9uLWJ0bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU12RTs7R0FFRztBQU1ILE1BQU0sT0FBTyxrQkFBa0I7SUFtQlQ7SUFsQnBCLElBQUksR0FBRyxLQUFLLENBQUM7SUFFYixtQkFBbUI7SUFDVixLQUFLLEdBQUcsU0FBUyxDQUFDO0lBQzNCLGdDQUFnQztJQUN2QixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLG1DQUFtQztJQUMxQixJQUFJLENBQU07SUFDbkIsc0NBQXNDO0lBQzdCLE9BQU8sR0FBc0IsRUFBRSxDQUFDO0lBQ3pDLG9EQUFvRDtJQUMzQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLGNBQWM7SUFDTCxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRXhCLCtDQUErQztJQUNyQyxhQUFhLEdBQWtDLElBQUksWUFBWSxFQUFFLENBQUM7SUFFNUUsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFJLENBQUM7SUFFekMsUUFBUSxDQUFDLElBQVk7UUFDeEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxlQUFlLENBQUMsTUFBa0I7UUFDckMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUN0QixNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRU0sU0FBUztRQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFTSxLQUFLO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQztJQUNuQyxDQUFDO3dHQTVDVSxrQkFBa0I7NEZBQWxCLGtCQUFrQiw4TkNkL0Isa2tDQXFCTTs7NEZEUE8sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGlCQUFpQjtpRkFRbEIsS0FBSztzQkFBYixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUdJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBPZXBhQWN0aW9uIH0gZnJvbSAnLi9vZXBhLWFjdGlvbic7XG5pbXBvcnQgeyBPZXBhQWN0aW9uRXZlbnQgfSBmcm9tICcuL29lcGEtYWN0aW9uLWV2ZW50JztcblxuLyoqXG4gKiBBIGRyb3Bkb3duIGJ1dHRvbiB3aXRoIGEgbGlzdCBvZiBhY3Rpb25zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLWFjdGlvbi1idG4nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWJ0bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbi1idG4uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkJ0bkNvbXBvbmVudCB7XG4gIGJ1c3kgPSBmYWxzZTtcblxuICAvKiogQnV0dG9uIGxhYmVsICovXG4gIEBJbnB1dCgpIGxhYmVsID0gJ0FjdGlvbnMnO1xuICAvKiogVW5pcXVlIGlkIGZvciB0aGlzIGJ1dHRvbiAqL1xuICBASW5wdXQoKSBidG5JZCA9ICcnO1xuICAvKiogRGF0YSB0byBiZSBwYXNzZWQgdG8gZW1pdHRlciAqL1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG4gIC8qKiBMaXN0IG9mIGFjdGlvbnMgZm9yIHRoaXMgYnV0dG9uICovXG4gIEBJbnB1dCgpIGFjdGlvbnM6IEFycmF5PE9lcGFBY3Rpb24+ID0gW107XG4gIC8qKiBNYWtlIGJ1dHRvbiBcIm5vcm1hbFwiIHNpemUgKGRlZmF1bHQgaXMgYnRuLXNtKSAqL1xuICBASW5wdXQoKSBub3JtYWxTaXplID0gZmFsc2U7XG4gIC8qKiBkcm9wdXA/ICovXG4gIEBJbnB1dCgpIGRyb3B1cCA9IGZhbHNlO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYW4gYWN0aW9uIGlzIHNlbGVjdGVkICovXG4gIEBPdXRwdXQoKSBhY3Rpb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8T2VwYUFjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cblxuICBwdWJsaWMgc2FuaXRpemUoaHRtbDogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGh0bWwpO1xuICB9XG5cbiAgcHVibGljIG9uQWN0aW9uQ2xpY2tlZChhY3Rpb246IE9lcGFBY3Rpb24pOiB2b2lkIHtcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICB0aGlzLmFjdGlvbkNsaWNrZWQuZW1pdCh7IFxuICAgICAgICBhY3Rpb246IGFjdGlvbiwgXG4gICAgICAgIGRhdGE6IGRhdGEsXG4gICAgICAgIGJ1dHRvbk9iajogdGhpc1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0QnVzeSgpIHtcbiAgICB0aGlzLmJ1c3kgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGNsZWFyQnVzeSgpIHtcbiAgICB0aGlzLmJ1c3kgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJRCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJ0bklkICsgJ19BY3Rpb25CdG4nO1xuICB9XG5cbn1cbiIsIjxkaXYgKm5nSWY9XCJhY3Rpb25zICYmIGFjdGlvbnMubGVuZ3RoID4gMFwiIGNsYXNzPVwiYnRuLWdyb3VwXCIgZHJvcGRvd24gW2Ryb3B1cF09XCJkcm9wdXBcIj5cbiAgPGJ1dHRvbiBkcm9wZG93blRvZ2dsZSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgZHJvcGRvd24tdG9nZ2xlXCIgW25nQ2xhc3NdPVwieyAnYnRuLXNtJyA6ICFub3JtYWxTaXplIH1cIlxuICAgIFtpZF09XCJidG5JZCsnX0FjdGlvbkJ0bidcIj5cbiAgICA8c3BhbiAqbmdJZj1cImJ1c3lcIiBjbGFzcz1cInNwaW5uZXItYm9yZGVyIHRleHQtcHJpbWFyeVwiIHJvbGU9XCJzdGF0dXNcIj48L3NwYW4+XG4gICAge3tsYWJlbH19IFxuICAgIDxzcGFuIGNsYXNzPVwiY2FyZXRcIj48L3NwYW4+XG4gIDwvYnV0dG9uPlxuXG4gIDx1bCAqZHJvcGRvd25NZW51IGNsYXNzPVwiZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LXJpZ2h0XCIgcm9sZT1cIm1lbnVcIj5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGFjdGlvbnM7IGxldCBpID0gaW5kZXg7XCIgcm9sZT1cIm1lbnVpdGVtXCI+XG4gICAgICAgICAgPGEgKm5nSWY9XCIhYnVzeVwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIChjbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoYWN0aW9uKVwiIFtpZF09XCJidG5JZCsnX0FjdGlvbkxpbmtfJytpXCI+XG4gICAgICAgICAgICA8aSBuZ0NsYXNzPVwie3thY3Rpb24uY2xhc3NOYW1lIHx8ICcnfX1cIj48L2k+IHt7YWN0aW9uLnRpdGxlfX1cbiAgICAgICAgICA8L2E+XG4gICAgICA8L2xpPlxuICA8L3VsPlxuPC9kaXY+IFxuPCEtLSBkaXNwbGF5IGRpc2FibGVkIGJ1dHRvbiBpZiBubyBhY3Rpb25zIGFyZSBhdmFpbGFibGUgLS0+XG48ZGl2ICpuZ0lmPVwiIWFjdGlvbnMgfHwgYWN0aW9ucy5sZW5ndGggPT09IDBcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBbbmdDbGFzc109XCJ7ICdidG4tc20nIDogIW5vcm1hbFNpemUgfVwiIFtpZF09XCJidG5JZCsnX0FjdGlvbkJ0bidcIiBkaXNhYmxlZD5cbiAgICBOL0EgXG4gIDwvYnV0dG9uPlxuPC9kaXY+Il19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ0bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FjdGlvbi1idG4vYWN0aW9uLWJ0bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FjdGlvbi1idG4vYWN0aW9uLWJ0bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU12RTs7R0FFRztBQU1ILE1BQU0sT0FBTyxrQkFBa0I7SUFtQlQ7SUFsQnBCLElBQUksR0FBRyxLQUFLLENBQUM7SUFFYixtQkFBbUI7SUFDVixLQUFLLEdBQUcsU0FBUyxDQUFDO0lBQzNCLGdDQUFnQztJQUN2QixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLG1DQUFtQztJQUMxQixJQUFJLENBQU07SUFDbkIsc0NBQXNDO0lBQzdCLE9BQU8sR0FBc0IsRUFBRSxDQUFDO0lBQ3pDLG9EQUFvRDtJQUMzQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLGNBQWM7SUFDTCxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRXhCLCtDQUErQztJQUNyQyxhQUFhLEdBQWtDLElBQUksWUFBWSxFQUFFLENBQUM7SUFFNUUsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFJLENBQUM7SUFFekMsUUFBUSxDQUFDLElBQVk7UUFDeEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxlQUFlLENBQUMsTUFBa0I7UUFDckMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUN0QixNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRU0sU0FBUztRQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFTSxLQUFLO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQztJQUNuQyxDQUFDO3dHQTVDVSxrQkFBa0I7NEZBQWxCLGtCQUFrQiw4TkNkL0IsazNDQXFCTTs7NEZEUE8sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGlCQUFpQjtpRkFRbEIsS0FBSztzQkFBYixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUdJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBPZXBhQWN0aW9uIH0gZnJvbSAnLi9vZXBhLWFjdGlvbic7XG5pbXBvcnQgeyBPZXBhQWN0aW9uRXZlbnQgfSBmcm9tICcuL29lcGEtYWN0aW9uLWV2ZW50JztcblxuLyoqXG4gKiBBIGRyb3Bkb3duIGJ1dHRvbiB3aXRoIGEgbGlzdCBvZiBhY3Rpb25zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLWFjdGlvbi1idG4nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWJ0bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbi1idG4uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkJ0bkNvbXBvbmVudCB7XG4gIGJ1c3kgPSBmYWxzZTtcblxuICAvKiogQnV0dG9uIGxhYmVsICovXG4gIEBJbnB1dCgpIGxhYmVsID0gJ0FjdGlvbnMnO1xuICAvKiogVW5pcXVlIGlkIGZvciB0aGlzIGJ1dHRvbiAqL1xuICBASW5wdXQoKSBidG5JZCA9ICcnO1xuICAvKiogRGF0YSB0byBiZSBwYXNzZWQgdG8gZW1pdHRlciAqL1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG4gIC8qKiBMaXN0IG9mIGFjdGlvbnMgZm9yIHRoaXMgYnV0dG9uICovXG4gIEBJbnB1dCgpIGFjdGlvbnM6IEFycmF5PE9lcGFBY3Rpb24+ID0gW107XG4gIC8qKiBNYWtlIGJ1dHRvbiBcIm5vcm1hbFwiIHNpemUgKGRlZmF1bHQgaXMgYnRuLXNtKSAqL1xuICBASW5wdXQoKSBub3JtYWxTaXplID0gZmFsc2U7XG4gIC8qKiBkcm9wdXA/ICovXG4gIEBJbnB1dCgpIGRyb3B1cCA9IGZhbHNlO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYW4gYWN0aW9uIGlzIHNlbGVjdGVkICovXG4gIEBPdXRwdXQoKSBhY3Rpb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8T2VwYUFjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cblxuICBwdWJsaWMgc2FuaXRpemUoaHRtbDogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGh0bWwpO1xuICB9XG5cbiAgcHVibGljIG9uQWN0aW9uQ2xpY2tlZChhY3Rpb246IE9lcGFBY3Rpb24pOiB2b2lkIHtcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICB0aGlzLmFjdGlvbkNsaWNrZWQuZW1pdCh7IFxuICAgICAgICBhY3Rpb246IGFjdGlvbiwgXG4gICAgICAgIGRhdGE6IGRhdGEsXG4gICAgICAgIGJ1dHRvbk9iajogdGhpc1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0QnVzeSgpIHtcbiAgICB0aGlzLmJ1c3kgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGNsZWFyQnVzeSgpIHtcbiAgICB0aGlzLmJ1c3kgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJRCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJ0bklkICsgJ19BY3Rpb25CdG4nO1xuICB9XG5cbn1cbiIsIjxkaXYgKm5nSWY9XCJhY3Rpb25zICYmIGFjdGlvbnMubGVuZ3RoID4gMFwiIGNsYXNzPVwiYnRuLWdyb3VwXCIgZHJvcGRvd24gW2Ryb3B1cF09XCJkcm9wdXBcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiQWN0aW9uIEJ1dHRvbiBHcm91cFwiPlxuICA8YnV0dG9uIGRyb3Bkb3duVG9nZ2xlIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBkcm9wZG93bi10b2dnbGVcIiBbbmdDbGFzc109XCJ7ICdidG4tc20nIDogIW5vcm1hbFNpemUgfVwiXG4gICAgW2lkXT1cImJ0bklkKydfQWN0aW9uQnRuJ1wiIGFyaWEtbGFiZWw9XCJBY3Rpb24gQnV0dG9uXCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cbiAgICA8c3BhbiAqbmdJZj1cImJ1c3lcIiBjbGFzcz1cInNwaW5uZXItYm9yZGVyIHRleHQtcHJpbWFyeVwiIHJvbGU9XCJzdGF0dXNcIiBhcmlhLWxhYmVsPVwiTG9hZGluZ1wiPjwvc3Bhbj5cbiAgICB7e2xhYmVsfX0gXG4gICAgPHNwYW4gY2xhc3M9XCJjYXJldFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgPC9idXR0b24+XG5cbiAgPHVsICpkcm9wZG93bk1lbnUgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtcmlnaHRcIiByb2xlPVwibWVudVwiIGFyaWEtbGFiZWw9XCJBY3Rpb24gTWVudVwiPlxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYWN0aW9uczsgbGV0IGkgPSBpbmRleDtcIiByb2xlPVwibWVudWl0ZW1cIj5cbiAgICAgICAgICA8YSAqbmdJZj1cIiFidXN5XCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZChhY3Rpb24pXCIgW2lkXT1cImJ0bklkKydfQWN0aW9uTGlua18nK2lcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImFjdGlvbi50aXRsZVwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgPGkgbmdDbGFzcz1cInt7YWN0aW9uLmNsYXNzTmFtZSB8fCAnJ319XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiB7e2FjdGlvbi50aXRsZX19XG4gICAgICAgICAgPC9hPlxuICAgICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PiBcbjwhLS0gZGlzcGxheSBkaXNhYmxlZCBidXR0b24gaWYgbm8gYWN0aW9ucyBhcmUgYXZhaWxhYmxlIC0tPlxuPGRpdiAqbmdJZj1cIiFhY3Rpb25zIHx8IGFjdGlvbnMubGVuZ3RoID09PSAwXCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgW25nQ2xhc3NdPVwieyAnYnRuLXNtJyA6ICFub3JtYWxTaXplIH1cIiBbaWRdPVwiYnRuSWQrJ19BY3Rpb25CdG4nXCIgZGlzYWJsZWQgYXJpYS1sYWJlbD1cIk5vIGFjdGlvbnMgYXZhaWxhYmxlXCI+XG4gICAgTi9BIFxuICA8L2J1dHRvbj5cbjwvZGl2PiJdfQ==
@@ -12,10 +12,10 @@ export class ActionBtnModalComponent {
12
12
  ngOnInit() {
13
13
  }
14
14
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionBtnModalComponent, deps: [{ token: i1.BsModalRef }], target: i0.ɵɵFactoryTarget.Component });
15
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionBtnModalComponent, selector: "oepa-action-btn-modal", ngImport: i0, template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Action Button Test</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <oepa-action-btn [actions]=\"actions\"></oepa-action-btn>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <div class=\"btn-group\" dropdown placement=\"bottom right\">\n <button id=\"button-basic\" dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\"\n aria-controls=\"dropdown-basic\">\n Button dropdown <span class=\"caret\"></span>\n </button>\n <ul id=\"dropdown-basic\" *dropdownMenu class=\"dropdown-menu\" role=\"menu\"\n aria-labelledby=\"button-basic\">\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Another action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Something else here</a></li>\n <li class=\"divider dropdown-divider\"></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Separated link</a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"bsModalRef.hide()\">Close</button>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i2.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i2.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "component", type: i3.ActionBtnComponent, selector: "oepa-action-btn", inputs: ["label", "btnId", "data", "actions", "normalSize", "dropup"], outputs: ["actionClicked"] }] });
15
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionBtnModalComponent, selector: "oepa-action-btn-modal", ngImport: i0, template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"actionBtnModalTitle\">Action Button Test</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\"></button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-labelledby=\"actionBtnModalTitle\">\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <oepa-action-btn [actions]=\"actions\"></oepa-action-btn>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <div class=\"btn-group\" dropdown placement=\"bottom right\" role=\"group\" aria-label=\"Button Dropdown Group\">\n <button id=\"button-basic\" dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\"\n aria-controls=\"dropdown-basic\" aria-label=\"Button dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n Button dropdown <span class=\"caret\" aria-hidden=\"true\"></span>\n </button>\n <ul id=\"dropdown-basic\" *dropdownMenu class=\"dropdown-menu\" role=\"menu\" aria-label=\"Dropdown Menu\" aria-labelledby=\"button-basic\">\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Another action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Something else here</a></li>\n <li class=\"divider dropdown-divider\" aria-hidden=\"true\"></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Separated link</a></li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer\" role=\"contentinfo\">\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"bsModalRef.hide()\" aria-label=\"Close\">Close</button>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i2.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i2.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "component", type: i3.ActionBtnComponent, selector: "oepa-action-btn", inputs: ["label", "btnId", "data", "actions", "normalSize", "dropup"], outputs: ["actionClicked"] }] });
16
16
  }
17
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionBtnModalComponent, decorators: [{
18
18
  type: Component,
19
- args: [{ selector: 'oepa-action-btn-modal', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Action Button Test</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <oepa-action-btn [actions]=\"actions\"></oepa-action-btn>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <div class=\"btn-group\" dropdown placement=\"bottom right\">\n <button id=\"button-basic\" dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\"\n aria-controls=\"dropdown-basic\">\n Button dropdown <span class=\"caret\"></span>\n </button>\n <ul id=\"dropdown-basic\" *dropdownMenu class=\"dropdown-menu\" role=\"menu\"\n aria-labelledby=\"button-basic\">\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Another action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Something else here</a></li>\n <li class=\"divider dropdown-divider\"></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Separated link</a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"bsModalRef.hide()\">Close</button>\n</div>" }]
19
+ args: [{ selector: 'oepa-action-btn-modal', template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"actionBtnModalTitle\">Action Button Test</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\"></button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-labelledby=\"actionBtnModalTitle\">\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <oepa-action-btn [actions]=\"actions\"></oepa-action-btn>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <div class=\"btn-group\" dropdown placement=\"bottom right\" role=\"group\" aria-label=\"Button Dropdown Group\">\n <button id=\"button-basic\" dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\"\n aria-controls=\"dropdown-basic\" aria-label=\"Button dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n Button dropdown <span class=\"caret\" aria-hidden=\"true\"></span>\n </button>\n <ul id=\"dropdown-basic\" *dropdownMenu class=\"dropdown-menu\" role=\"menu\" aria-label=\"Dropdown Menu\" aria-labelledby=\"button-basic\">\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Another action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Something else here</a></li>\n <li class=\"divider dropdown-divider\" aria-hidden=\"true\"></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Separated link</a></li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer\" role=\"contentinfo\">\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"bsModalRef.hide()\" aria-label=\"Close\">Close</button>\n</div>" }]
20
20
  }], ctorParameters: () => [{ type: i1.BsModalRef }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ0bi1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FjdGlvbi1idG4tbW9kYWwvYWN0aW9uLWJ0bi1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FjdGlvbi1idG4tbW9kYWwvYWN0aW9uLWJ0bi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztBQVNsRCxNQUFNLE9BQU8sdUJBQXVCO0lBR2Y7SUFGbkIsT0FBTyxHQUFzQixDQUFDLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsMEJBQTBCLEVBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFDLENBQUMsQ0FBQztJQUUvSSxZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUksQ0FBQztJQUU5QyxRQUFRO0lBQ1IsQ0FBQzt3R0FOVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qiw2RENUcEMsbXdEQWlDTTs7NEZEeEJPLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgT2VwYUFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbi1idG4vb2VwYS1hY3Rpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLWFjdGlvbi1idG4tbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWJ0bi1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbi1idG4tbW9kYWwuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkJ0bk1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYWN0aW9uczogQXJyYXk8T2VwYUFjdGlvbj4gPSBbe3RpdGxlOiAnSGVsbG8nLCBjbGFzc05hbWU6ICdiaSBiaS1wZXJzb24tcmFpc2VkLWhhbmQnfSwgeyB0aXRsZTogJ0dvb2RieWUnLCBjbGFzc05hbWU6ICdiaSBiaS1wZXJzb24td2Fsa2luZyd9XTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYnNNb2RhbFJlZjogQnNNb2RhbFJlZikgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlIHB1bGwtbGVmdFwiPkFjdGlvbiBCdXR0b24gVGVzdDwvaDQ+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2UgZmxvYXQtZW5kXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cImJzTW9kYWxSZWYuaGlkZSgpXCI+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8b2VwYS1hY3Rpb24tYnRuIFthY3Rpb25zXT1cImFjdGlvbnNcIj48L29lcGEtYWN0aW9uLWJ0bj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCIgZHJvcGRvd24gcGxhY2VtZW50PVwiYm90dG9tIHJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9XCJidXR0b24tYmFzaWNcIiBkcm9wZG93blRvZ2dsZSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgZHJvcGRvd24tdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJkcm9wZG93bi1iYXNpY1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQnV0dG9uIGRyb3Bkb3duIDxzcGFuIGNsYXNzPVwiY2FyZXRcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8dWwgaWQ9XCJkcm9wZG93bi1iYXNpY1wiICpkcm9wZG93bk1lbnUgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgcm9sZT1cIm1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiYnV0dG9uLWJhc2ljXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCI+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cIiNcIj5BY3Rpb248L2E+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPVwibWVudWl0ZW1cIj48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBocmVmPVwiI1wiPkFub3RoZXIgYWN0aW9uPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCI+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cIiNcIj5Tb21ldGhpbmcgZWxzZSBoZXJlPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkaXZpZGVyIGRyb3Bkb3duLWRpdmlkZXJcIj48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9XCJtZW51aXRlbVwiPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCIjXCI+U2VwYXJhdGVkIGxpbms8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXItMVwiIChjbGljayk9XCJic01vZGFsUmVmLmhpZGUoKVwiPkNsb3NlPC9idXR0b24+XG48L2Rpdj4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ0bi1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FjdGlvbi1idG4tbW9kYWwvYWN0aW9uLWJ0bi1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FjdGlvbi1idG4tbW9kYWwvYWN0aW9uLWJ0bi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztBQVNsRCxNQUFNLE9BQU8sdUJBQXVCO0lBR2Y7SUFGbkIsT0FBTyxHQUFzQixDQUFDLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsMEJBQTBCLEVBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFDLENBQUMsQ0FBQztJQUUvSSxZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUksQ0FBQztJQUU5QyxRQUFRO0lBQ1IsQ0FBQzt3R0FOVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qiw2RENUcEMsNGxFQThCTTs7NEZEckJPLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgT2VwYUFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbi1idG4vb2VwYS1hY3Rpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLWFjdGlvbi1idG4tbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWJ0bi1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbi1idG4tbW9kYWwuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkJ0bk1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYWN0aW9uczogQXJyYXk8T2VwYUFjdGlvbj4gPSBbe3RpdGxlOiAnSGVsbG8nLCBjbGFzc05hbWU6ICdiaSBiaS1wZXJzb24tcmFpc2VkLWhhbmQnfSwgeyB0aXRsZTogJ0dvb2RieWUnLCBjbGFzc05hbWU6ICdiaSBiaS1wZXJzb24td2Fsa2luZyd9XTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYnNNb2RhbFJlZjogQnNNb2RhbFJlZikgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiIHJvbGU9XCJiYW5uZXJcIj5cbiAgICA8aDEgY2xhc3M9XCJtb2RhbC10aXRsZSBwdWxsLWxlZnRcIiBpZD1cImFjdGlvbkJ0bk1vZGFsVGl0bGVcIj5BY3Rpb24gQnV0dG9uIFRlc3Q8L2gxPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlIGZsb2F0LWVuZFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJic01vZGFsUmVmLmhpZGUoKVwiPjwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLWxhYmVsbGVkYnk9XCJhY3Rpb25CdG5Nb2RhbFRpdGxlXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8b2VwYS1hY3Rpb24tYnRuIFthY3Rpb25zXT1cImFjdGlvbnNcIj48L29lcGEtYWN0aW9uLWJ0bj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCIgZHJvcGRvd24gcGxhY2VtZW50PVwiYm90dG9tIHJpZ2h0XCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIkJ1dHRvbiBEcm9wZG93biBHcm91cFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPVwiYnV0dG9uLWJhc2ljXCIgZHJvcGRvd25Ub2dnbGUgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGRyb3Bkb3duLXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwiZHJvcGRvd24tYmFzaWNcIiBhcmlhLWxhYmVsPVwiQnV0dG9uIGRyb3Bkb3duXCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvbiBkcm9wZG93biA8c3BhbiBjbGFzcz1cImNhcmV0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGlkPVwiZHJvcGRvd24tYmFzaWNcIiAqZHJvcGRvd25NZW51IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIHJvbGU9XCJtZW51XCIgYXJpYS1sYWJlbD1cIkRyb3Bkb3duIE1lbnVcIiBhcmlhLWxhYmVsbGVkYnk9XCJidXR0b24tYmFzaWNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPVwibWVudWl0ZW1cIj48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBocmVmPVwiI1wiIHRhYmluZGV4PVwiMFwiPkFjdGlvbjwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9XCJtZW51aXRlbVwiPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCIjXCIgdGFiaW5kZXg9XCIwXCI+QW5vdGhlciBhY3Rpb248L2E+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPVwibWVudWl0ZW1cIj48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBocmVmPVwiI1wiIHRhYmluZGV4PVwiMFwiPlNvbWV0aGluZyBlbHNlIGhlcmU8L2E+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImRpdmlkZXIgZHJvcGRvd24tZGl2aWRlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCI+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cIiNcIiB0YWJpbmRleD1cIjBcIj5TZXBhcmF0ZWQgbGluazwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCIgcm9sZT1cImNvbnRlbnRpbmZvXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXItMVwiIChjbGljayk9XCJic01vZGFsUmVmLmhpZGUoKVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPkNsb3NlPC9idXR0b24+XG48L2Rpdj4iXX0=