@elderbyte/ngx-starter 14.5.4 → 14.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/esm2020/lib/common/data/data-context/data-context-active-page.mjs +1 -1
  2. package/esm2020/lib/common/data/data-context/data-context-base.mjs +2 -2
  3. package/esm2020/lib/common/data/data-context/data-context-continuable-base.mjs +1 -1
  4. package/esm2020/lib/common/data/data-context/data-context.mjs +1 -1
  5. package/esm2020/lib/common/data/datasource/data-source-adapter.mjs +1 -1
  6. package/esm2020/lib/common/data/datasource/data-source-processor.mjs +1 -1
  7. package/esm2020/lib/common/data/datasource/data-source.mjs +1 -1
  8. package/esm2020/lib/common/data/datasource/fetcher/delegate-data-source.mjs +1 -1
  9. package/esm2020/lib/common/data/datasource/local/local-list-data-source.mjs +1 -1
  10. package/esm2020/lib/common/data/datasource/local/local-paged-data-source.mjs +1 -1
  11. package/esm2020/lib/common/data/datasource/rest/rest-client.mjs +2 -2
  12. package/esm2020/lib/common/data/filters/filter-context.mjs +141 -0
  13. package/esm2020/lib/common/data/filters/filter.mjs +109 -0
  14. package/esm2020/lib/common/data/http-params-builder.mjs +2 -2
  15. package/esm2020/lib/common/data/public_api.mjs +3 -3
  16. package/esm2020/lib/common/data/required-filter-evaluator.mjs +1 -1
  17. package/esm2020/lib/common/data/token-chunk-request.mjs +1 -1
  18. package/esm2020/lib/common/utils/filter-util.mjs +1 -1
  19. package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +1 -1
  20. package/esm2020/lib/components/csv/elder-csv-stream-exporter.mjs +1 -1
  21. package/esm2020/lib/components/data-view/base/data-view-options-provider-binding.mjs +5 -1
  22. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +1 -5
  23. package/esm2020/lib/components/data-view/base/elder-data-view-options-provider.mjs +1 -1
  24. package/esm2020/lib/components/data-view/base/elder-data-view-options.mjs +4 -1
  25. package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +33 -19
  26. package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +6 -12
  27. package/esm2020/lib/components/http-support/elder-http-client.service.mjs +1 -1
  28. package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +19 -10
  29. package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +3 -4
  30. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +9 -0
  31. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +40 -25
  32. package/esm2020/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +197 -0
  33. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +9 -9
  34. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +19 -8
  35. package/esm2020/lib/components/input/autocomplete/many/word-position-finder.mjs +58 -0
  36. package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +2 -2
  37. package/esm2020/lib/components/public_api.mjs +1 -2
  38. package/esm2020/lib/components/select/elder-select-base.mjs +2 -2
  39. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +1 -1
  40. package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +7 -6
  41. package/fesm2015/elderbyte-ngx-starter.mjs +461 -280
  42. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  43. package/fesm2020/elderbyte-ngx-starter.mjs +458 -280
  44. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  45. package/lib/common/data/data-context/data-context-active-page.d.ts +1 -1
  46. package/lib/common/data/data-context/data-context-base.d.ts +2 -2
  47. package/lib/common/data/data-context/data-context-continuable-base.d.ts +1 -1
  48. package/lib/common/data/data-context/data-context.d.ts +2 -2
  49. package/lib/common/data/datasource/data-source-adapter.d.ts +1 -1
  50. package/lib/common/data/datasource/data-source-processor.d.ts +1 -1
  51. package/lib/common/data/datasource/data-source.d.ts +1 -1
  52. package/lib/common/data/datasource/fetcher/delegate-data-source.d.ts +1 -1
  53. package/lib/common/data/datasource/local/local-list-data-source.d.ts +1 -1
  54. package/lib/common/data/datasource/local/local-paged-data-source.d.ts +1 -1
  55. package/lib/common/data/datasource/rest/rest-client.d.ts +1 -1
  56. package/lib/common/data/{filter-context.d.ts → filters/filter-context.d.ts} +3 -1
  57. package/lib/common/data/{filter.d.ts → filters/filter.d.ts} +15 -3
  58. package/lib/common/data/http-params-builder.d.ts +1 -1
  59. package/lib/common/data/public_api.d.ts +2 -2
  60. package/lib/common/data/required-filter-evaluator.d.ts +2 -2
  61. package/lib/common/data/token-chunk-request.d.ts +1 -1
  62. package/lib/common/utils/filter-util.d.ts +1 -1
  63. package/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.d.ts +1 -1
  64. package/lib/components/csv/elder-csv-stream-exporter.d.ts +1 -1
  65. package/lib/components/data-view/base/elder-data-view-options.d.ts +2 -1
  66. package/lib/components/forms/search/elder-search-context.directive.d.ts +15 -12
  67. package/lib/components/forms/search/elder-search-input.directive.d.ts +6 -7
  68. package/lib/components/http-support/elder-http-client.service.d.ts +1 -1
  69. package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +4 -2
  70. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.d.ts +8 -0
  71. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.d.ts +14 -14
  72. package/lib/components/{multi-autocomplete/elder-multi-autocomplete.component.d.ts → input/autocomplete/elder-autocomplete-many.directive.d.ts} +46 -27
  73. package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +2 -2
  74. package/lib/components/input/autocomplete/elder-autocomplete.module.d.ts +11 -7
  75. package/lib/components/{multi-autocomplete/word-position.d.ts → input/autocomplete/many/word-position-finder.d.ts} +0 -0
  76. package/lib/components/public_api.d.ts +0 -1
  77. package/lib/components/select/elder-select-base.d.ts +1 -1
  78. package/lib/components/select/popup/selection-model-popup.directive.d.ts +1 -1
  79. package/lib/components/select/single/elder-select/elder-select.component.d.ts +2 -1
  80. package/package.json +1 -1
  81. package/esm2020/lib/common/data/filter-context.mjs +0 -129
  82. package/esm2020/lib/common/data/filter.mjs +0 -72
  83. package/esm2020/lib/components/multi-autocomplete/elder-multi-auto-complete.module.mjs +0 -30
  84. package/esm2020/lib/components/multi-autocomplete/elder-multi-autocomplete.component.mjs +0 -122
  85. package/esm2020/lib/components/multi-autocomplete/word-position.mjs +0 -38
  86. package/lib/components/multi-autocomplete/elder-multi-auto-complete.module.d.ts +0 -14
  87. package/src/lib/components/multi-autocomplete/elder-multi-autocomplete.component.scss +0 -0
@@ -7,21 +7,29 @@ import { MatIconModule } from '@angular/material/icon';
7
7
  import { FlexModule } from '@angular/flex-layout';
8
8
  import { MatProgressBarModule } from '@angular/material/progress-bar';
9
9
  import { ElderAutocompleteDirective } from './elder-autocomplete.directive';
10
+ import { ReactiveFormsModule } from '@angular/forms';
11
+ import { MatInputModule } from '@angular/material/input';
12
+ import { ElderAutocompleteManyDirective } from './elder-autocomplete-many.directive';
10
13
  import * as i0 from "@angular/core";
11
14
  export { ElderAutocompleteComponent } from './elder-autocomplete/elder-autocomplete.component';
15
+ export { ElderAutocompleteManyDirective } from './elder-autocomplete-many.directive';
12
16
  export { ElderAutocompleteDirective } from './elder-autocomplete.directive';
13
17
  export class ElderAutocompleteModule {
14
18
  }
15
19
  ElderAutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
20
  ElderAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.0", ngImport: i0, type: ElderAutocompleteModule, declarations: [ElderAutocompleteComponent,
17
- ElderAutocompleteDirective], imports: [CommonModule,
21
+ ElderAutocompleteDirective,
22
+ ElderAutocompleteManyDirective], imports: [CommonModule, ReactiveFormsModule,
23
+ MatInputModule,
18
24
  MatAutocompleteModule,
19
25
  ElderInfiniteScrollModule,
20
26
  MatIconModule,
21
27
  FlexModule,
22
28
  MatProgressBarModule], exports: [ElderAutocompleteComponent,
23
- ElderAutocompleteDirective] });
24
- ElderAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderAutocompleteModule, imports: [CommonModule,
29
+ ElderAutocompleteDirective,
30
+ ElderAutocompleteManyDirective] });
31
+ ElderAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderAutocompleteModule, imports: [CommonModule, ReactiveFormsModule,
32
+ MatInputModule,
25
33
  MatAutocompleteModule,
26
34
  ElderInfiniteScrollModule,
27
35
  MatIconModule,
@@ -32,20 +40,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
32
40
  args: [{
33
41
  declarations: [
34
42
  ElderAutocompleteComponent,
35
- ElderAutocompleteDirective
43
+ ElderAutocompleteDirective,
44
+ ElderAutocompleteManyDirective
36
45
  ],
37
46
  exports: [
38
47
  ElderAutocompleteComponent,
39
- ElderAutocompleteDirective
48
+ ElderAutocompleteDirective,
49
+ ElderAutocompleteManyDirective
40
50
  ],
41
51
  imports: [
42
- CommonModule,
52
+ CommonModule, ReactiveFormsModule,
53
+ MatInputModule,
43
54
  MatAutocompleteModule,
44
55
  ElderInfiniteScrollModule,
45
56
  MatIconModule,
46
57
  FlexModule,
47
- MatProgressBarModule
58
+ MatProgressBarModule,
48
59
  ]
49
60
  }]
50
61
  }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDL0YsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFNUUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDN0YsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFvQjFFLE1BQU0sT0FBTyx1QkFBdUI7O29IQUF2Qix1QkFBdUI7cUhBQXZCLHVCQUF1QixpQkFoQmhDLDBCQUEwQjtRQUMxQiwwQkFBMEIsYUFPMUIsWUFBWTtRQUNaLHFCQUFxQjtRQUNyQix5QkFBeUI7UUFDekIsYUFBYTtRQUNiLFVBQVU7UUFDVixvQkFBb0IsYUFUcEIsMEJBQTBCO1FBQzFCLDBCQUEwQjtxSEFXakIsdUJBQXVCLFlBUmhDLFlBQVk7UUFDWixxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLGFBQWE7UUFDYixVQUFVO1FBQ1Ysb0JBQW9COzJGQUdYLHVCQUF1QjtrQkFsQm5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQiwwQkFBMEI7cUJBQzNCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIseUJBQXlCO3dCQUN6QixhQUFhO3dCQUNiLFVBQVU7d0JBQ1Ysb0JBQW9CO3FCQUNyQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRWxkZXJBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWF1dG9jb21wbGV0ZS9lbGRlci1hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlfSBmcm9tICcuLi8uLi9pbmZpbml0ZXNjcm9sbC9lbGRlci1pbmZpbml0ZS1zY3JvbGwubW9kdWxlJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge0ZsZXhNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NCYXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBFbGRlckF1dG9jb21wbGV0ZURpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB7RWxkZXJBdXRvY29tcGxldGVDb21wb25lbnR9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHtFbGRlckF1dG9jb21wbGV0ZURpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRWxkZXJBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgRWxkZXJBdXRvY29tcGxldGVEaXJlY3RpdmVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIEVsZGVyQXV0b2NvbXBsZXRlRGlyZWN0aXZlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIEVsZGVySW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBGbGV4TW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJBdXRvY29tcGxldGVNb2R1bGUgeyB9XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDL0YsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0scUNBQXFDLENBQUM7O0FBRW5GLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ25GLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBeUIxRSxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3FIQUF2Qix1QkFBdUIsaUJBckJoQywwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLDhCQUE4QixhQVE5QixZQUFZLEVBQUUsbUJBQW1CO1FBRWpDLGNBQWM7UUFDZCxxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLGFBQWE7UUFDYixVQUFVO1FBQ1Ysb0JBQW9CLGFBWnBCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsOEJBQThCO3FIQWNyQix1QkFBdUIsWUFYaEMsWUFBWSxFQUFFLG1CQUFtQjtRQUVqQyxjQUFjO1FBQ2QscUJBQXFCO1FBQ3JCLHlCQUF5QjtRQUN6QixhQUFhO1FBQ2IsVUFBVTtRQUNWLG9CQUFvQjsyRkFJWCx1QkFBdUI7a0JBdkJuQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsOEJBQThCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDhCQUE4QjtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVksRUFBRSxtQkFBbUI7d0JBRWpDLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQix5QkFBeUI7d0JBQ3pCLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixvQkFBb0I7cUJBRXJCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge0VsZGVySW5maW5pdGVTY3JvbGxNb2R1bGV9IGZyb20gJy4uLy4uL2luZmluaXRlc2Nyb2xsL2VsZGVyLWluZmluaXRlLXNjcm9sbC5tb2R1bGUnO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7RmxleE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHtNYXRQcm9ncmVzc0Jhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IEVsZGVyQXV0b2NvbXBsZXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUuZGlyZWN0aXZlJztcbmltcG9ydCB7UmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtFbGRlckF1dG9jb21wbGV0ZU1hbnlEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlLW1hbnkuZGlyZWN0aXZlJztcblxuZXhwb3J0IHtFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQge0VsZGVyQXV0b2NvbXBsZXRlTWFueURpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUtbWFueS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlckF1dG9jb21wbGV0ZURpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRWxkZXJBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgRWxkZXJBdXRvY29tcGxldGVEaXJlY3RpdmUsXG4gICAgRWxkZXJBdXRvY29tcGxldGVNYW55RGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBFbGRlckF1dG9jb21wbGV0ZURpcmVjdGl2ZSxcbiAgICBFbGRlckF1dG9jb21wbGV0ZU1hbnlEaXJlY3RpdmVcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSxcblxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgRmxleE1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcblxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQXV0b2NvbXBsZXRlTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,58 @@
1
+ export class TextRange {
2
+ constructor(start, end, value) {
3
+ this.start = start;
4
+ this.end = end;
5
+ this.value = value;
6
+ }
7
+ }
8
+ export class ReplacementResult {
9
+ constructor(newText, replaced) {
10
+ this.newText = newText;
11
+ this.replaced = replaced;
12
+ }
13
+ }
14
+ export class WordPositionFinder {
15
+ findWord(text, position) {
16
+ if (position >= 0) {
17
+ // Search for the word's beginning and end.
18
+ const left = text.slice(0, position).search(/\S+$/);
19
+ let right = text.slice(position).search(/\s/);
20
+ // The last word in the string is a special case.
21
+ if (right < 0) {
22
+ right = text.length;
23
+ }
24
+ else {
25
+ right += position;
26
+ }
27
+ const word = text.substring(left, right);
28
+ return new TextRange(left, right, word);
29
+ }
30
+ else {
31
+ return new TextRange(text.length, text.length, undefined);
32
+ }
33
+ }
34
+ replaceWord(text, position, replacement) {
35
+ const current = this.findWord(text, position);
36
+ const beforePos = current.start;
37
+ const before = text.substring(0, beforePos);
38
+ const after = text.substring(current.end, text.length);
39
+ let newText = '';
40
+ if (before) {
41
+ newText += before.trim();
42
+ }
43
+ if (replacement) {
44
+ if (newText) {
45
+ newText += ' ';
46
+ }
47
+ newText += replacement;
48
+ }
49
+ if (after) {
50
+ if (newText) {
51
+ newText += ' ';
52
+ }
53
+ newText += after.trim();
54
+ }
55
+ return new ReplacementResult(newText, new TextRange(beforePos, beforePos + replacement.length, replacement));
56
+ }
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yZC1wb3NpdGlvbi1maW5kZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2F1dG9jb21wbGV0ZS9tYW55L3dvcmQtcG9zaXRpb24tZmluZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sT0FBTyxTQUFTO0lBQ3BCLFlBQ1MsS0FBYSxFQUNiLEdBQVcsRUFDWCxLQUFhO1FBRmIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxVQUFLLEdBQUwsS0FBSyxDQUFRO0lBRXRCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDUyxPQUFlLEVBQ2YsUUFBbUI7UUFEbkIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGFBQVEsR0FBUixRQUFRLENBQVc7SUFFNUIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGtCQUFrQjtJQUV0QixRQUFRLENBQUMsSUFBWSxFQUFFLFFBQWdCO1FBQzVDLElBQUcsUUFBUSxJQUFJLENBQUMsRUFBQztZQUNmLDJDQUEyQztZQUMzQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFOUMsaURBQWlEO1lBQ2pELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtnQkFDYixLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUNyQjtpQkFBTTtnQkFDTCxLQUFLLElBQUksUUFBUSxDQUFDO2FBQ25CO1lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3pDO2FBQU07WUFDTCxPQUFPLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7SUFHTSxXQUFXLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsV0FBbUI7UUFFcEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFOUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM1QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXZELElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLE1BQU0sRUFBRTtZQUNWLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDMUI7UUFFRCxJQUFHLFdBQVcsRUFBQztZQUNiLElBQUksT0FBTyxFQUFFO2dCQUNYLE9BQU8sSUFBSSxHQUFHLENBQUM7YUFDaEI7WUFDRCxPQUFPLElBQUksV0FBVyxDQUFDO1NBQ3hCO1FBRUQsSUFBRyxLQUFLLEVBQUM7WUFDUCxJQUFJLE9BQU8sRUFBRTtnQkFDWCxPQUFPLElBQUksR0FBRyxDQUFDO2FBQ2hCO1lBQ0QsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN6QjtRQUVELE9BQU8sSUFBSSxpQkFBaUIsQ0FDMUIsT0FBTyxFQUNQLElBQUksU0FBUyxDQUNYLFNBQVMsRUFDVCxTQUFTLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQzVDLENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGNsYXNzIFRleHRSYW5nZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdGFydDogbnVtYmVyLFxuICAgIHB1YmxpYyBlbmQ6IG51bWJlcixcbiAgICBwdWJsaWMgdmFsdWU6IHN0cmluZ1xuICApIHtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVwbGFjZW1lbnRSZXN1bHQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbmV3VGV4dDogc3RyaW5nLFxuICAgIHB1YmxpYyByZXBsYWNlZDogVGV4dFJhbmdlXG4gICkge1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBXb3JkUG9zaXRpb25GaW5kZXIge1xuXG4gIHB1YmxpYyBmaW5kV29yZCh0ZXh0OiBzdHJpbmcsIHBvc2l0aW9uOiBudW1iZXIpOiBUZXh0UmFuZ2Uge1xuICAgIGlmKHBvc2l0aW9uID49IDApe1xuICAgICAgLy8gU2VhcmNoIGZvciB0aGUgd29yZCdzIGJlZ2lubmluZyBhbmQgZW5kLlxuICAgICAgY29uc3QgbGVmdCA9IHRleHQuc2xpY2UoMCwgcG9zaXRpb24pLnNlYXJjaCgvXFxTKyQvKTtcbiAgICAgIGxldCByaWdodCA9IHRleHQuc2xpY2UocG9zaXRpb24pLnNlYXJjaCgvXFxzLyk7XG5cbiAgICAgIC8vIFRoZSBsYXN0IHdvcmQgaW4gdGhlIHN0cmluZyBpcyBhIHNwZWNpYWwgY2FzZS5cbiAgICAgIGlmIChyaWdodCA8IDApIHtcbiAgICAgICAgcmlnaHQgPSB0ZXh0Lmxlbmd0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJpZ2h0ICs9IHBvc2l0aW9uO1xuICAgICAgfVxuICAgICAgY29uc3Qgd29yZCA9IHRleHQuc3Vic3RyaW5nKGxlZnQsIHJpZ2h0KTtcbiAgICAgIHJldHVybiBuZXcgVGV4dFJhbmdlKGxlZnQsIHJpZ2h0LCB3b3JkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBUZXh0UmFuZ2UodGV4dC5sZW5ndGgsIHRleHQubGVuZ3RoLCB1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuXG5cbiAgcHVibGljIHJlcGxhY2VXb3JkKHRleHQ6IHN0cmluZywgcG9zaXRpb246IG51bWJlciwgcmVwbGFjZW1lbnQ6IHN0cmluZyk6IFJlcGxhY2VtZW50UmVzdWx0IHtcblxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmZpbmRXb3JkKHRleHQsIHBvc2l0aW9uKTtcblxuICAgIGNvbnN0IGJlZm9yZVBvcyA9IGN1cnJlbnQuc3RhcnQ7XG4gICAgY29uc3QgYmVmb3JlID0gdGV4dC5zdWJzdHJpbmcoMCwgYmVmb3JlUG9zKTtcbiAgICBjb25zdCBhZnRlciA9IHRleHQuc3Vic3RyaW5nKGN1cnJlbnQuZW5kLCB0ZXh0Lmxlbmd0aCk7XG5cbiAgICBsZXQgbmV3VGV4dCA9ICcnO1xuICAgIGlmIChiZWZvcmUpIHtcbiAgICAgIG5ld1RleHQgKz0gYmVmb3JlLnRyaW0oKTtcbiAgICB9XG5cbiAgICBpZihyZXBsYWNlbWVudCl7XG4gICAgICBpZiAobmV3VGV4dCkge1xuICAgICAgICBuZXdUZXh0ICs9ICcgJztcbiAgICAgIH1cbiAgICAgIG5ld1RleHQgKz0gcmVwbGFjZW1lbnQ7XG4gICAgfVxuXG4gICAgaWYoYWZ0ZXIpe1xuICAgICAgaWYgKG5ld1RleHQpIHtcbiAgICAgICAgbmV3VGV4dCArPSAnICc7XG4gICAgICB9XG4gICAgICBuZXdUZXh0ICs9IGFmdGVyLnRyaW0oKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFJlcGxhY2VtZW50UmVzdWx0KFxuICAgICAgbmV3VGV4dCxcbiAgICAgIG5ldyBUZXh0UmFuZ2UoXG4gICAgICAgIGJlZm9yZVBvcyxcbiAgICAgICAgYmVmb3JlUG9zICsgcmVwbGFjZW1lbnQubGVuZ3RoLCByZXBsYWNlbWVudFxuICAgICAgKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Directive, Input } from '@angular/core';
2
2
  import { LocalListDataSource } from '../../../common/data/datasource/local/local-list-data-source';
3
- import { Filter } from '../../../common/data/filter';
3
+ import { Filter } from '../../../common/data/filters/filter';
4
4
  import { SortUtil } from '../../../common/utils/sort-util';
5
5
  import { FilterUtil } from '../../../common/utils/filter-util';
6
6
  import * as i0 from "@angular/core";
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
61
61
  }], baseUnit: [{
62
62
  type: Input
63
63
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdW5pdC1zZWxlY3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9tZWFzdXJlcy9kaXJlY3RpdmVzL2VsZGVyLXVuaXQtc2VsZWN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUcvQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUdqRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUs3RCxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DOzs7O2dGQUk0RTtJQUU1RSxZQUNVLE1BQTRCLEVBQzVCLFdBQTZCO1FBRDdCLFdBQU0sR0FBTixNQUFNLENBQXNCO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUVyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FDL0MsV0FBVyxDQUFDLGVBQWUsRUFBRSxFQUM3QixNQUFNLEVBQ04sUUFBUSxDQUFDLFFBQVEsRUFDakIsVUFBVSxDQUFDLFVBQVUsQ0FDdEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFDVyxhQUFhLENBQUMsYUFBNEI7UUFDbkQsSUFBSSxhQUFhLEVBQUU7WUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUNoRTthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELElBQ1csUUFBUSxDQUFDLFFBQWM7UUFDaEMsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsWUFBWTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7cUhBdERVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7MElBOEJZLGFBQWE7c0JBRHZCLEtBQUs7Z0JBVUssUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9zZWxlY3Qvc2luZ2xlL2VsZGVyLXNlbGVjdC9lbGRlci1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJVbml0U2VydmljZX0gZnJvbSAnLi4vZWxkZXItdW5pdC5zZXJ2aWNlJztcbmltcG9ydCB7TG9jYWxMaXN0RGF0YVNvdXJjZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YXNvdXJjZS9sb2NhbC9sb2NhbC1saXN0LWRhdGEtc291cmNlJztcbmltcG9ydCB7VW5pdH0gZnJvbSAnLi4vbW9kZWwvdW5pdCc7XG5pbXBvcnQge1VuaXREaW1lbnNpb259IGZyb20gJy4uL21vZGVsL3VuaXQtZGltZW5zaW9uJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXInO1xuaW1wb3J0IHtTb3J0VXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxzL3NvcnQtdXRpbCc7XG5pbXBvcnQge0ZpbHRlclV0aWx9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlscy9maWx0ZXItdXRpbCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlclVuaXRTZWxlY3RdJ1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlclVuaXRTZWxlY3REaXJlY3RpdmUge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VsZWN0OiBFbGRlclNlbGVjdENvbXBvbmVudCxcbiAgICBwcml2YXRlIHVuaXRTZXJ2aWNlOiBFbGRlclVuaXRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2VsZWN0LnBsYWNlaG9sZGVyID0gJ2NvbnRleHQudW5pdCc7XG4gICAgdGhpcy5zZWxlY3QuZGlzcGxheVByb3BlcnR5ID0gJ3VuaXRTeW1ib2wnO1xuICAgIHRoaXMuc2VsZWN0LmRhdGFTb3VyY2UgPSBMb2NhbExpc3REYXRhU291cmNlLmZyb20oXG4gICAgICB1bml0U2VydmljZS5nZXRBbGxVbml0SW5mb3MoKSxcbiAgICAgICd1bml0JyxcbiAgICAgIFNvcnRVdGlsLnNvcnREYXRhLFxuICAgICAgRmlsdGVyVXRpbC5maWx0ZXJEYXRhXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdW5pdERpbWVuc2lvbih1bml0RGltZW5zaW9uOiBVbml0RGltZW5zaW9uKSB7XG4gICAgaWYgKHVuaXREaW1lbnNpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0LmZpbHRlcnMgPSBbbmV3IEZpbHRlcignZGltZW5zaW9uJywgdW5pdERpbWVuc2lvbildO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlc2V0RmlsdGVycygpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYmFzZVVuaXQoYmFzZVVuaXQ6IFVuaXQpIHtcbiAgICBpZiAoYmFzZVVuaXQpIHtcbiAgICAgIHRoaXMudW5pdERpbWVuc2lvbiA9IHRoaXMudW5pdFNlcnZpY2UuZ2V0VW5pdERpbWVuc2lvbihiYXNlVW5pdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZXNldEZpbHRlcnMoKSB7XG4gICAgdGhpcy5zZWxlY3QuZmlsdGVycyA9IFtdO1xuICB9XG5cbn1cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdW5pdC1zZWxlY3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9tZWFzdXJlcy9kaXJlY3RpdmVzL2VsZGVyLXVuaXQtc2VsZWN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUcvQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUdqRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDM0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUs3RCxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DOzs7O2dGQUk0RTtJQUU1RSxZQUNVLE1BQTRCLEVBQzVCLFdBQTZCO1FBRDdCLFdBQU0sR0FBTixNQUFNLENBQXNCO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUVyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FDL0MsV0FBVyxDQUFDLGVBQWUsRUFBRSxFQUM3QixNQUFNLEVBQ04sUUFBUSxDQUFDLFFBQVEsRUFDakIsVUFBVSxDQUFDLFVBQVUsQ0FDdEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFDVyxhQUFhLENBQUMsYUFBNEI7UUFDbkQsSUFBSSxhQUFhLEVBQUU7WUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUNoRTthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELElBQ1csUUFBUSxDQUFDLFFBQWM7UUFDaEMsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsWUFBWTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7cUhBdERVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7MElBOEJZLGFBQWE7c0JBRHZCLEtBQUs7Z0JBVUssUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9zZWxlY3Qvc2luZ2xlL2VsZGVyLXNlbGVjdC9lbGRlci1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJVbml0U2VydmljZX0gZnJvbSAnLi4vZWxkZXItdW5pdC5zZXJ2aWNlJztcbmltcG9ydCB7TG9jYWxMaXN0RGF0YVNvdXJjZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YXNvdXJjZS9sb2NhbC9sb2NhbC1saXN0LWRhdGEtc291cmNlJztcbmltcG9ydCB7VW5pdH0gZnJvbSAnLi4vbW9kZWwvdW5pdCc7XG5pbXBvcnQge1VuaXREaW1lbnNpb259IGZyb20gJy4uL21vZGVsL3VuaXQtZGltZW5zaW9uJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlcic7XG5pbXBvcnQge1NvcnRVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvc29ydC11dGlsJztcbmltcG9ydCB7RmlsdGVyVXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxzL2ZpbHRlci11dGlsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyVW5pdFNlbGVjdF0nXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVW5pdFNlbGVjdERpcmVjdGl2ZSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWxlY3Q6IEVsZGVyU2VsZWN0Q29tcG9uZW50LFxuICAgIHByaXZhdGUgdW5pdFNlcnZpY2U6IEVsZGVyVW5pdFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zZWxlY3QucGxhY2Vob2xkZXIgPSAnY29udGV4dC51bml0JztcbiAgICB0aGlzLnNlbGVjdC5kaXNwbGF5UHJvcGVydHkgPSAndW5pdFN5bWJvbCc7XG4gICAgdGhpcy5zZWxlY3QuZGF0YVNvdXJjZSA9IExvY2FsTGlzdERhdGFTb3VyY2UuZnJvbShcbiAgICAgIHVuaXRTZXJ2aWNlLmdldEFsbFVuaXRJbmZvcygpLFxuICAgICAgJ3VuaXQnLFxuICAgICAgU29ydFV0aWwuc29ydERhdGEsXG4gICAgICBGaWx0ZXJVdGlsLmZpbHRlckRhdGFcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB1bml0RGltZW5zaW9uKHVuaXREaW1lbnNpb246IFVuaXREaW1lbnNpb24pIHtcbiAgICBpZiAodW5pdERpbWVuc2lvbikge1xuICAgICAgdGhpcy5zZWxlY3QuZmlsdGVycyA9IFtuZXcgRmlsdGVyKCdkaW1lbnNpb24nLCB1bml0RGltZW5zaW9uKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBiYXNlVW5pdChiYXNlVW5pdDogVW5pdCkge1xuICAgIGlmIChiYXNlVW5pdCkge1xuICAgICAgdGhpcy51bml0RGltZW5zaW9uID0gdGhpcy51bml0U2VydmljZS5nZXRVbml0RGltZW5zaW9uKGJhc2VVbml0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNldEZpbHRlcnMoKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlc2V0RmlsdGVycygpIHtcbiAgICB0aGlzLnNlbGVjdC5maWx0ZXJzID0gW107XG4gIH1cblxufVxuIl19
@@ -1,7 +1,6 @@
1
1
  export * from './theme/public_api';
2
2
  export * from './access-denied/elder-access-denied.module';
3
3
  export * from './expand-toggle-button/elder-expand-toggle-button.module';
4
- export * from './multi-autocomplete/elder-multi-auto-complete.module';
5
4
  export * from './labels/elder-labels.module';
6
5
  export * from './panels/elder-panel.module';
7
6
  export * from './files/elder-file.module';
@@ -38,4 +37,4 @@ export * from './iframes/elder-iframe.module';
38
37
  export * from './errors/elder-error.module';
39
38
  export * from './auditing/elder-audit.module';
40
39
  export * from './tabs/elder-tab.module';
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90aGVtZS9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vYWNjZXNzLWRlbmllZC9lbGRlci1hY2Nlc3MtZGVuaWVkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2V4cGFuZC10b2dnbGUtYnV0dG9uL2VsZGVyLWV4cGFuZC10b2dnbGUtYnV0dG9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL211bHRpLWF1dG9jb21wbGV0ZS9lbGRlci1tdWx0aS1hdXRvLWNvbXBsZXRlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xhYmVscy9lbGRlci1sYWJlbHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFuZWxzL2VsZGVyLXBhbmVsLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVzL2VsZGVyLWZpbGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FyZC1vcmdhbml6ZXIvZWxkZXItY2FyZC1vcmdhbml6ZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS12aWV3L3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9uYXZpZ2F0aW9uL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9zaGVsbC9lbGRlci1zaGVsbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90aW1lL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9pMThuL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtbGlzdC9lbGRlci1zZWxlY3QtbGlzdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtY2hpcC1saXN0L2VsZGVyLWNoaXAtbGlzdC1zZWxlY3QubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS10cmFuc2Zlci9lbGRlci1kYXRhLXRyYW5zZmVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL292ZXJsYXlzL2VsZGVyLW92ZXJsYXkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29ubmVjdGl2aXR5L3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9pbmZpbml0ZXNjcm9sbC9lbGRlci1pbmZpbml0ZS1zY3JvbGwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybXMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2h0dHAtc3VwcG9ydC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vZGlhbG9ncy9lbGRlci1kaWFsb2cubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2xvYmFsLXNlYXJjaC9lbGRlci1nbG9iYWwtc2VhcmNoLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3RvYXN0cy9lbGRlci10b2FzdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL21lYXN1cmVzL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9jdXJyZW5jeS9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vaGVhZGVycy9lbGRlci1oZWFkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FyZHMvZWxkZXItY2FyZC9lbGRlci1jYXJkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXdlcnMvZWxkZXItdmlld2Vycy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi91cmwtZnJhZ21lbnQvZWxkZXItdXJsLWZyYWdtZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbi1ncm91cC9lbGRlci1idXR0b24tZ3JvdXAubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZ3JhcGgvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhaW5lcnMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2Nzdi9lbGRlci1jc3YubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2lmcmFtZXMvZWxkZXItaWZyYW1lLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycy9lbGRlci1lcnJvci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hdWRpdGluZy9lbGRlci1hdWRpdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzL2VsZGVyLXRhYi5tb2R1bGUnO1xuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGhlbWUvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2FjY2Vzcy1kZW5pZWQvZWxkZXItYWNjZXNzLWRlbmllZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9leHBhbmQtdG9nZ2xlLWJ1dHRvbi9lbGRlci1leHBhbmQtdG9nZ2xlLWJ1dHRvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9sYWJlbHMvZWxkZXItbGFiZWxzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhbmVscy9lbGRlci1wYW5lbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlcy9lbGRlci1maWxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhcmQtb3JnYW5pemVyL2VsZGVyLWNhcmQtb3JnYW5pemVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtdmlldy9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbmF2aWdhdGlvbi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vc2hlbGwvZWxkZXItc2hlbGwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZS9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vaTE4bi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWxpc3QvZWxkZXItc2VsZWN0LWxpc3QubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWNoaXAtbGlzdC9lbGRlci1jaGlwLWxpc3Qtc2VsZWN0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtdHJhbnNmZXIvZWxkZXItZGF0YS10cmFuc2Zlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vdmVybGF5cy9lbGRlci1vdmVybGF5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2Nvbm5lY3Rpdml0eS9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtc2Nyb2xsLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1zL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLXN1cHBvcnQvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZ3MvZWxkZXItZGlhbG9nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dsb2JhbC1zZWFyY2gvZWxkZXItZ2xvYmFsLXNlYXJjaC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdHMvZWxkZXItdG9hc3QubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0L3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9tZWFzdXJlcy9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVuY3kvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2hlYWRlcnMvZWxkZXItaGVhZGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhcmRzL2VsZGVyLWNhcmQvZWxkZXItY2FyZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3ZXJzL2VsZGVyLXZpZXdlcnMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdXJsLWZyYWdtZW50L2VsZGVyLXVybC1mcmFnbWVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24tZ3JvdXAvZWxkZXItYnV0dG9uLWdyb3VwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBoL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9jb250YWluZXJzL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9jc3YvZWxkZXItY3N2Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0L3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9pZnJhbWVzL2VsZGVyLWlmcmFtZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcnMvZWxkZXItZXJyb3IubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vYXVkaXRpbmcvZWxkZXItYXVkaXQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFicy9lbGRlci10YWIubW9kdWxlJztcbiJdfQ==
@@ -6,7 +6,7 @@ import { ElderSelectValueDirective } from './elder-select-value.directive';
6
6
  import { SelectionModelPopupDirective } from './popup/selection-model-popup.directive';
7
7
  import { filter, map, switchMap } from 'rxjs/operators';
8
8
  import { runInZone } from '../../common/utils/ng-zone-utils';
9
- import { FilterContext } from '../../common/data/filter-context';
9
+ import { FilterContext } from '../../common/data/filters/filter-context';
10
10
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
11
11
  import { ElderFormFieldControlBase } from '../../common/forms/elder-form-field-control-base.directive';
12
12
  import * as i0 from "@angular/core";
@@ -281,4 +281,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
281
281
  }], valueTemplate: [{
282
282
  type: Input
283
283
  }] } });
284
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9lbGRlci1zZWxlY3QtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BJLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUduRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUd2RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUVyRixPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDREQUE0RCxDQUFDOzs7OztBQU9yRyxNQUFNLE9BQU8seUJBQXlCO0lBeUJwQyxZQUNrQixJQUFhLEVBQ2IsT0FBZ0IsRUFDaEIsS0FBYTtRQUZiLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLFVBQUssR0FBTCxLQUFL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QkFLbkUsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBSW5DLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBUVUsY0FBYztzQkFEN0IsTUFBTTtnQkE0Q0ksU0FBUztzQkFEbkIsS0FBSztnQkFhSyxlQUFlO3NCQUR6QixLQUFLO2dCQU1LLHVCQUF1QjtzQkFEakMsS0FBSztnQkFNSyxPQUFPO3NCQURqQixLQUFLO2dCQVVLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBUUssSUFBSTtzQkFEZCxLQUFLO2dCQThCSyxhQUFhO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE5nWm9uZSwgT3V0cHV0LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7SURhdGFDb250ZXh0fSBmcm9tICcuLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0JztcbmltcG9ydCB7SURhdGFTb3VyY2V9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtEYXRhQ29udGV4dEJ1aWxkZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQtYnVpbGRlcic7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVyJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge0VsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0RhdGFDb250ZXh0U3RhdHVzfSBmcm9tICcuLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0LXN0YXR1cyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7cnVuSW5ab25lfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbHMvbmctem9uZS11dGlscyc7XG5pbXBvcnQge0ZpbHRlckNvbnRleHR9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlci1jb250ZXh0JztcbmltcG9ydCB7Qm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge0VsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2V9IGZyb20gJy4uLy4uL2NvbW1vbi9mb3Jtcy9lbGRlci1mb3JtLWZpZWxkLWNvbnRyb2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Rm9jdXNNb25pdG9yfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBUZXh0UmVzb2x2ZXJGbiA9ICh2YWx1ZTogYW55KSA9PiBzdHJpbmc7XG5cbmV4cG9ydCBjbGFzcyBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlIHtcblxuICBwdWJsaWMgc3RhdGljIGZyb21EYXRhQ29udGV4dChkY1N0YXRlOiBEYXRhQ29udGV4dFN0YXR1cyk6IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUge1xuICAgIGlmIChkY1N0YXRlLmxvYWRpbmcpIHtcbiAgICAgIHJldHVybiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLmxvYWRpbmcoKTtcbiAgICB9IGVsc2UgaWYgKGRjU3RhdGUuZXJyb3IpIHtcbiAgICAgIHJldHVybiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLmVycm9yKGRjU3RhdGUuZXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5pZGxlKCk7XG4gICAgfVxuICB9XG5cblxuICBwdWJsaWMgc3RhdGljIGlkbGUoKTogRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlKHRydWUsIGZhbHNlLCBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgbG9hZGluZygpOiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlIHtcbiAgICByZXR1cm4gbmV3IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUoZmFsc2UsIHRydWUsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBlcnJvcihlcnJvcjogc3RyaW5nKTogRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlKGZhbHNlLCBmYWxzZSwgZXJyb3IpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGlkbGU6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmc6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IGVycm9yOiBzdHJpbmdcbiAgKSB7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEVMREVSX1NFTEVDVF9CQVNFID0gbmV3IEluamVjdGlvblRva2VuPEVsZGVyU2VsZWN0QmFzZTxhbnksIGFueSwgYW55Pj4oJ0VsZGVyU2VsZWN0QmFzZScpO1xuXG5cbi8qKlxuICogQmFzZSBjb21wb25lbnQgZm9yIEVsZGVyIFNlbGVjdGlvbiBDb250cm9scy5cbiAqXG4gKiAgRWxkZXIgU2VsZWN0aW9uIGhhcyB0aGUgZm9sbG93aW5nIGFic3RyYWN0IGNvbmNlcHQ6XG4gKlxuICogLSBTdWdnZXN0aW9uLU1vZGVsOiBBIERhdGFTb3VyY2UgYW5kIGRlcml2ZWQgRGF0YUNvbnRleHQgZm9yIHRoZSAoYXV0by1jb21wbGV0ZSkgc3VnZ2VzdGlvbnMuXG4gKlxuICogQHBhcmFtIFRJRCBFbnRpdHkgSWQgVHlwZVxuICogQHBhcmFtIFQgRW50aXR5IFR5cGVcbiAqIEBwYXJhbSBUVmFsdWUgVmFsdWUgYmFja2luZyB0aGUgY29udHJvbC4gQ2FuIGJlIHRoZSBlbnRpdHksIHRoZSBpZCBvciBzb21ldGhpbmcgZWxzZS5cbiAqL1xuQERpcmVjdGl2ZSgpXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFbGRlclNlbGVjdEJhc2U8VElkLCBURW50aXR5LCBUVmFsdWU+IGV4dGVuZHMgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZTxUVmFsdWU+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IF9sb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJDb250ZXh0ID0gbmV3IEZpbHRlckNvbnRleHQoKTtcblxuICBwcml2YXRlIF92YWx1ZUFzSWQ6IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIHRpbWVvdXRBZnRlck1zID0gNTAwMDtcblxuICAvKipcbiAgICogRGVmaW5lIGlmIGVsZGVyLXNlbGVjdCBzaG91bGQgY2xlYW4gdXAgdGhlXG4gICAqIGRhdGEtY29udGV4dCByZXNvdXJjZXMgZm9yIHlvdS5cbiAgICpcbiAgICogSW4gbW9yZSBhZHZhbmNlZCBzY2VuYXJpb3Mgd2hlcmUgeW91IHBsYW4gdG8gcmV1c2UgdGhlIHNhbWUgZGF0YS1jb250ZXh0XG4gICAqIHNldCB0aGlzIHRvIGZhbHNlIGFuZCByZWxlYXNlIHRoZSByZXNvdXJjZXMgeW91cnNlbGYuIChkYXRhQ29udGV4dC5jbG9zZSlcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjbGVhblVwID0gdHJ1ZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZXh0UmVzb2x2ZXJGbj4oKHZhbHVlOiBURW50aXR5KSA9PiB0aGlzLnByb3BlcnR5U3RyaW5nVmFsdWUodmFsdWUsIG51bGwpKTtcblxuICAvKipcbiAgICogRW50aXR5IERhdGFDb250ZXh0LCB3aGljaCBpcyB1c2VkXG4gICAqIHRvIHNpZGUgbG9hZCBlbnRpdGllcyBieSBpZCBhbmQgYWxzb1xuICAgKiB0byBsb2FkIHN1Z2dlc3Rpb25zIHdoZW4gYXV0by1jb21wbGV0aW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFDb250ZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SURhdGFDb250ZXh0PFRFbnRpdHk+PihudWxsKTtcblxuICAvKipcbiAgICogUGFnZSBzaXplLiAoVXNlZCBmb3IgaW5maW5pdGUgc2Nyb2xsaW5nIGNodW5rcylcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2l6ZSA9IDEwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBxdWVyeUZpbHRlciA9ICdxdWVyeSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNvcnRzOiBTb3J0W10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaWNvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uIHRlbXBsYXRlIHRvIGN1c3RvbWl6ZSB0aGUgdWkgbG9vay5cbiAgICovXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgdmFsdWVUZW1wbGF0ZVF1ZXJ5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwcml2YXRlIF92YWx1ZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZSlcbiAgcHVibGljIHNlbGVjdGlvblBvcHVwOiBTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc09wdGlvbkRpc2FibGVkRm46IChvcHRpb246IFRFbnRpdHkpID0+IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzT3B0aW9uSGlkZGVuRm46IChvcHRpb246IFRFbnRpdHkpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIHVzZXIgaGFzIGNsaWNrZWQgb24gdGhlIGN1cnJlbnRcbiAgICogc2VsZWN0ZWQgZW50aXR5LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW50Q2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VEVudGl0eT4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlPihFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLmlkbGUoKSk7XG4gIHB1YmxpYyByZWFkb25seSBtZXJnZWRTdGF0ZSQ6IE9ic2VydmFibGU8RWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZT47XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lLFxuICAgIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgY29udHJvbFR5cGU6IHN0cmluZyxcbiAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIG5nQ29udHJvbD86IE5nQ29udHJvbFxuICApIHtcbiAgICBzdXBlcihob3N0UmVmLCBjb250cm9sVHlwZSwgZm9jdXNNb25pdG9yLCB0cmFuc2xhdGVTZXJ2aWNlLCBuZ0NvbnRyb2wpO1xuXG4gICAgdGhpcy5tZXJnZWRTdGF0ZSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuZGF0YUNvbnRleHQkLnBpcGUoZmlsdGVyKGRjID0+ICEhZGMpLCBzd2l0Y2hNYXAoZGMgPT4gZGMuc3RhdHVzKSksXG4gICAgICB0aGlzLnN0YXRlJFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtkY1N0YXRlLCBzdGF0ZV0pID0+IHtcbiAgICAgICAgaWYgKGRjU3RhdGUuaWRsZSkge1xuICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5mcm9tRGF0YUNvbnRleHQoZGNTdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgcnVuSW5ab25lKHRoaXMuem9uZSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZUFzSWQodmFsdWVBc0lkOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl92YWx1ZUFzSWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWVBc0lkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVBc0lkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZUFzSWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHByb3BlcnR5IHVzZWQgdG8gZGlzcGxheSB0aGUgdmFsdWVzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNwbGF5UHJvcGVydHkocHJvcGVydHk6IHN0cmluZykge1xuICAgIHRoaXMuZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIgPSAodmFsdWUgPT4gdGhpcy5wcm9wZXJ0eVN0cmluZ1ZhbHVlKHZhbHVlLCBwcm9wZXJ0eSkpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNwbGF5UHJvcGVydHlSZXNvbHZlcihyZXNvbHZlcjogVGV4dFJlc29sdmVyRm4pIHtcbiAgICB0aGlzLmRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJC5uZXh0KHJlc29sdmVyKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZmlsdGVycyhmaWx0ZXJzOiBGaWx0ZXJbXSkge1xuICAgIHRoaXMucmVwbGFjZUZpbHRlcnMoZmlsdGVycyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbHRlcnMoKTogRmlsdGVyW10ge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJDb250ZXh0LmZpbHRlcnNTbmFwc2hvdDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0YVNvdXJjZShzb3VyY2U6IElEYXRhU291cmNlPFRFbnRpdHk+KSB7XG4gICAgdGhpcy5kYXRhQ29udGV4dCA9IERhdGFDb250ZXh0QnVpbGRlci5zdGFydDxURW50aXR5PigpXG4gICAgICAucGFnZVNpemUodGhpcy5wYWdlU2l6ZSlcbiAgICAgIC5idWlsZChzb3VyY2UpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRhKGRhdGE6IEFycmF5PFRFbnRpdHk+IHwgSURhdGFDb250ZXh0PFRFbnRpdHk+KSB7XG5cbiAgICB0aGlzLmF1dG9DbGVhblVwKCk7XG5cbiAgICBpZiAoZGF0YSBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICB0aGlzLmRhdGFDb250ZXh0ID0gRGF0YUNvbnRleHRCdWlsZGVyLnN0YXJ0PFRFbnRpdHk+KClcbiAgICAgICAgLmxvY2FsU29ydCgpXG4gICAgICAgIC5idWlsZExvY2FsKGRhdGEpOyAvLyBNZW1vcnkgbGVha1xuICAgICAgdGhpcy5kYXRhQ29udGV4dC5zdGFydCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICB0aGlzLmRhdGFDb250ZXh0ID0gZGF0YTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGF0YUNvbnRleHQgPSBEYXRhQ29udGV4dEJ1aWxkZXIuc3RhcnQ8VEVudGl0eT4oKS5idWlsZEVtcHR5KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldCBkYXRhQ29udGV4dChkYXRhOiBJRGF0YUNvbnRleHQ8VEVudGl0eT4pIHtcbiAgICB0aGlzLmF1dG9DbGVhblVwKCk7XG4gICAgdGhpcy5kYXRhQ29udGV4dCQubmV4dChkYXRhKTtcbiAgICB0aGlzLm9uRGF0YUNvbnRleHRDaGFuZ2VkKGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhQ29udGV4dCgpOiBJRGF0YUNvbnRleHQ8VEVudGl0eT4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZVRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5fdmFsdWVUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZVRlbXBsYXRlIHx8IHRoaXMudmFsdWVUZW1wbGF0ZVF1ZXJ5O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBlcnJvclN0YXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc3RhdGUkLmdldFZhbHVlKCkuZXJyb3IgfHwgc3VwZXIuZXJyb3JTdGF0ZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBvbkN1cnJlbnRDbGlja2VkKGVudGl0eTogVEVudGl0eSk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudENsaWNrZWQuZW1pdChlbnRpdHkpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUZpbHRlcih1cGRhdGVkRmlsdGVyPzogRmlsdGVyKTogdm9pZCB7XG4gICAgdGhpcy5fZmlsdGVyQ29udGV4dC51cGRhdGVGaWx0ZXIodXBkYXRlZEZpbHRlcik7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRmlsdGVycyh1cGRhdGVkRmlsdGVycz86IEZpbHRlcltdKTogdm9pZCB7XG4gICAgdGhpcy5fZmlsdGVyQ29udGV4dC51cGRhdGVGaWx0ZXJzKHVwZGF0ZWRGaWx0ZXJzKTtcbiAgfVxuXG4gIHB1YmxpYyByZXBsYWNlRmlsdGVycyhuZXdGaWx0ZXJzPzogRmlsdGVyW10pIHtcbiAgICB0aGlzLl9maWx0ZXJDb250ZXh0LnJlcGxhY2VGaWx0ZXJzKG5ld0ZpbHRlcnMpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyRmlsdGVycygpOiB2b2lkIHtcbiAgICB0aGlzLl9maWx0ZXJDb250ZXh0LmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU3RhdGUoc3RhdGU6IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlJC5uZXh0KHN0YXRlKTtcbiAgICB0aGlzLmVtaXRTdGF0ZUNoYW5nZSgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBzaG91bGRMYWJlbEZsb2F0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yU3RhdGUgfHwgISF0aGlzLmljb24gfHwgc3VwZXIuc2hvdWxkTGFiZWxGbG9hdDtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBBYnN0cmFjdCBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBPY2N1cnMgd2hlbiB0aGUgc3VnZ2VzdGlvbnMgZGF0YS1jb250ZXh0IGhhcyBjaGFuZ2VkXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb25EYXRhQ29udGV4dENoYW5nZWQoZGF0YTogSURhdGFDb250ZXh0PFRFbnRpdHk+KTogdm9pZDtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogSW50ZXJuYWwgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgZ2V0RW50aXR5SWQoZW50aXR5OiBURW50aXR5KTogVElkIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGV4dD8uZGF0YVNvdXJjZT8uZ2V0SWQoZW50aXR5KSB8fCBlbnRpdHk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNFcXVhbChhOiBURW50aXR5LCBiOiBURW50aXR5KTogYm9vbGVhbiB7XG4gICAgaWYgKGEgPT09IGIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0VtcHR5KGEpICYmIHRoaXMuaXNFbXB0eShiKSkgeyAvLyBIQUNLOiBIYW5kbGUgZW1wdHkgc3RyaW5nIGFzIHVuZGVmaW5lZC5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRFbnRpdHlJZChhKSA9PT0gdGhpcy5nZXRFbnRpdHlJZChiKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0VtcHR5KGE6IFRFbnRpdHkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKGEgPT09IG51bGwgfHwgYSA9PT0gdW5kZWZpbmVkIHx8IDxhbnk+YSA9PT0gJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIGNsZWFuIHVwIG9mIHRoZSBjdXJyZW50IGRhdGEgY29udGV4dCBpZiBhdXRvIGNsZWFuIHVwIGlzIGVuYWJsZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXV0b0NsZWFuVXAoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xlYW5VcCAmJiB0aGlzLmRhdGFDb250ZXh0KSB7XG4gICAgICB0aGlzLl9sb2dnZXIuZGVidWcoJ1JlbGVhc2luZyBEYXRhQ29udGV4dCByZXNvdXJjZXMgdG8gcHJldmVudCBtZW1vcnkgbGVhay4gW2NsZWFuVXBdPVwidHJ1ZVwiJyk7XG4gICAgICB0aGlzLmRhdGFDb250ZXh0LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHByb3BlcnR5U3RyaW5nVmFsdWUodmFsdWU6IFRFbnRpdHksIHByb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHByb3BlcnR5KSB7XG4gICAgICByZXR1cm4gKDxhbnk+dmFsdWUpW3Byb3BlcnR5XTtcbiAgICB9XG5cbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgfVxufVxuIl19
284
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9lbGRlci1zZWxlY3QtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BJLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUduRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUd2RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUVyRixPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDREQUE0RCxDQUFDOzs7OztBQU9yRyxNQUFNLE9BQU8seUJBQXlCO0lBeUJwQyxZQUNrQixJQUFhLEVBQ2IsT0FBZ0IsRUFDaEIsS0FBYTtRQUZiLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLFVBQUssR0FBTCxLQUFL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QkFLbkUsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBSW5DLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBUVUsY0FBYztzQkFEN0IsTUFBTTtnQkE0Q0ksU0FBUztzQkFEbkIsS0FBSztnQkFhSyxlQUFlO3NCQUR6QixLQUFLO2dCQU1LLHVCQUF1QjtzQkFEakMsS0FBSztnQkFNSyxPQUFPO3NCQURqQixLQUFLO2dCQVVLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBUUssSUFBSTtzQkFEZCxLQUFLO2dCQThCSyxhQUFhO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE5nWm9uZSwgT3V0cHV0LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7SURhdGFDb250ZXh0fSBmcm9tICcuLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0JztcbmltcG9ydCB7SURhdGFTb3VyY2V9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtEYXRhQ29udGV4dEJ1aWxkZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQtYnVpbGRlcic7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi8uLi9jb21tb24vZGF0YS9zb3J0JztcbmltcG9ydCB7RWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3QtdmFsdWUuZGlyZWN0aXZlJztcbmltcG9ydCB7U2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZX0gZnJvbSAnLi9wb3B1cC9zZWxlY3Rpb24tbW9kZWwtcG9wdXAuZGlyZWN0aXZlJztcbmltcG9ydCB7RGF0YUNvbnRleHRTdGF0dXN9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQtc3RhdHVzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtydW5JblpvbmV9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlscy9uZy16b25lLXV0aWxzJztcbmltcG9ydCB7RmlsdGVyQ29udGV4dH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXItY29udGV4dCc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlfSBmcm9tICcuLi8uLi9jb21tb24vZm9ybXMvZWxkZXItZm9ybS1maWVsZC1jb250cm9sLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0ZvY3VzTW9uaXRvcn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuZXhwb3J0IHR5cGUgVGV4dFJlc29sdmVyRm4gPSAodmFsdWU6IGFueSkgPT4gc3RyaW5nO1xuXG5leHBvcnQgY2xhc3MgRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSB7XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tRGF0YUNvbnRleHQoZGNTdGF0ZTogRGF0YUNvbnRleHRTdGF0dXMpOiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlIHtcbiAgICBpZiAoZGNTdGF0ZS5sb2FkaW5nKSB7XG4gICAgICByZXR1cm4gRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5sb2FkaW5nKCk7XG4gICAgfSBlbHNlIGlmIChkY1N0YXRlLmVycm9yKSB7XG4gICAgICByZXR1cm4gRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5lcnJvcihkY1N0YXRlLmVycm9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUuaWRsZSgpO1xuICAgIH1cbiAgfVxuXG5cbiAgcHVibGljIHN0YXRpYyBpZGxlKCk6IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUge1xuICAgIHJldHVybiBuZXcgRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSh0cnVlLCBmYWxzZSwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGxvYWRpbmcoKTogRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlKGZhbHNlLCB0cnVlLCBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZXJyb3IoZXJyb3I6IHN0cmluZyk6IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUge1xuICAgIHJldHVybiBuZXcgRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZShmYWxzZSwgZmFsc2UsIGVycm9yKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBpZGxlOiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nOiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSBlcnJvcjogc3RyaW5nXG4gICkge1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBFTERFUl9TRUxFQ1RfQkFTRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFbGRlclNlbGVjdEJhc2U8YW55LCBhbnksIGFueT4+KCdFbGRlclNlbGVjdEJhc2UnKTtcblxuXG4vKipcbiAqIEJhc2UgY29tcG9uZW50IGZvciBFbGRlciBTZWxlY3Rpb24gQ29udHJvbHMuXG4gKlxuICogIEVsZGVyIFNlbGVjdGlvbiBoYXMgdGhlIGZvbGxvd2luZyBhYnN0cmFjdCBjb25jZXB0OlxuICpcbiAqIC0gU3VnZ2VzdGlvbi1Nb2RlbDogQSBEYXRhU291cmNlIGFuZCBkZXJpdmVkIERhdGFDb250ZXh0IGZvciB0aGUgKGF1dG8tY29tcGxldGUpIHN1Z2dlc3Rpb25zLlxuICpcbiAqIEBwYXJhbSBUSUQgRW50aXR5IElkIFR5cGVcbiAqIEBwYXJhbSBUIEVudGl0eSBUeXBlXG4gKiBAcGFyYW0gVFZhbHVlIFZhbHVlIGJhY2tpbmcgdGhlIGNvbnRyb2wuIENhbiBiZSB0aGUgZW50aXR5LCB0aGUgaWQgb3Igc29tZXRoaW5nIGVsc2UuXG4gKi9cbkBEaXJlY3RpdmUoKVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRWxkZXJTZWxlY3RCYXNlPFRJZCwgVEVudGl0eSwgVFZhbHVlPiBleHRlbmRzIEVsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2U8VFZhbHVlPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZmlsdGVyQ29udGV4dCA9IG5ldyBGaWx0ZXJDb250ZXh0KCk7XG5cbiAgcHJpdmF0ZSBfdmFsdWVBc0lkOiBib29sZWFuO1xuXG4gIHByb3RlY3RlZCB0aW1lb3V0QWZ0ZXJNcyA9IDUwMDA7XG5cbiAgLyoqXG4gICAqIERlZmluZSBpZiBlbGRlci1zZWxlY3Qgc2hvdWxkIGNsZWFuIHVwIHRoZVxuICAgKiBkYXRhLWNvbnRleHQgcmVzb3VyY2VzIGZvciB5b3UuXG4gICAqXG4gICAqIEluIG1vcmUgYWR2YW5jZWQgc2NlbmFyaW9zIHdoZXJlIHlvdSBwbGFuIHRvIHJldXNlIHRoZSBzYW1lIGRhdGEtY29udGV4dFxuICAgKiBzZXQgdGhpcyB0byBmYWxzZSBhbmQgcmVsZWFzZSB0aGUgcmVzb3VyY2VzIHlvdXJzZWxmLiAoZGF0YUNvbnRleHQuY2xvc2UpXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2xlYW5VcCA9IHRydWU7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGV4dFJlc29sdmVyRm4+KCh2YWx1ZTogVEVudGl0eSkgPT4gdGhpcy5wcm9wZXJ0eVN0cmluZ1ZhbHVlKHZhbHVlLCBudWxsKSk7XG5cbiAgLyoqXG4gICAqIEVudGl0eSBEYXRhQ29udGV4dCwgd2hpY2ggaXMgdXNlZFxuICAgKiB0byBzaWRlIGxvYWQgZW50aXRpZXMgYnkgaWQgYW5kIGFsc29cbiAgICogdG8gbG9hZCBzdWdnZXN0aW9ucyB3aGVuIGF1dG8tY29tcGxldGluZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkYXRhQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElEYXRhQ29udGV4dDxURW50aXR5Pj4obnVsbCk7XG5cbiAgLyoqXG4gICAqIFBhZ2Ugc2l6ZS4gKFVzZWQgZm9yIGluZmluaXRlIHNjcm9sbGluZyBjaHVua3MpXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNpemUgPSAxMDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcXVlcnlGaWx0ZXIgPSAncXVlcnknO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzb3J0czogU29ydFtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGljb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9wdGlvbiB0ZW1wbGF0ZSB0byBjdXN0b21pemUgdGhlIHVpIGxvb2suXG4gICAqL1xuICBAQ29udGVudENoaWxkKEVsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlfSlcbiAgcHVibGljIHZhbHVlVGVtcGxhdGVRdWVyeTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSBfdmFsdWVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKFNlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmUpXG4gIHB1YmxpYyBzZWxlY3Rpb25Qb3B1cDogU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNPcHRpb25EaXNhYmxlZEZuOiAob3B0aW9uOiBURW50aXR5KSA9PiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc09wdGlvbkhpZGRlbkZuOiAob3B0aW9uOiBURW50aXR5KSA9PiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSB1c2VyIGhhcyBjbGlja2VkIG9uIHRoZSBjdXJyZW50XG4gICAqIHNlbGVjdGVkIGVudGl0eS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRFbnRpdHk+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZT4oRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5pZGxlKCkpO1xuICBwdWJsaWMgcmVhZG9ubHkgbWVyZ2VkU3RhdGUkOiBPYnNlcnZhYmxlPEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGU+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmU6IE5nWm9uZSxcbiAgICBob3N0UmVmOiBFbGVtZW50UmVmLFxuICAgIGNvbnRyb2xUeXBlOiBzdHJpbmcsXG4gICAgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBuZ0NvbnRyb2w/OiBOZ0NvbnRyb2xcbiAgKSB7XG4gICAgc3VwZXIoaG9zdFJlZiwgY29udHJvbFR5cGUsIGZvY3VzTW9uaXRvciwgdHJhbnNsYXRlU2VydmljZSwgbmdDb250cm9sKTtcblxuICAgIHRoaXMubWVyZ2VkU3RhdGUkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmRhdGFDb250ZXh0JC5waXBlKGZpbHRlcihkYyA9PiAhIWRjKSwgc3dpdGNoTWFwKGRjID0+IGRjLnN0YXR1cykpLFxuICAgICAgdGhpcy5zdGF0ZSRcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbZGNTdGF0ZSwgc3RhdGVdKSA9PiB7XG4gICAgICAgIGlmIChkY1N0YXRlLmlkbGUpIHtcbiAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUuZnJvbURhdGFDb250ZXh0KGRjU3RhdGUpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHJ1bkluWm9uZSh0aGlzLnpvbmUpXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdmFsdWVBc0lkKHZhbHVlQXNJZDogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fdmFsdWVBc0lkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlQXNJZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlQXNJZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVBc0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9wZXJ0eSB1c2VkIHRvIGRpc3BsYXkgdGhlIHZhbHVlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVByb3BlcnR5KHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICB0aGlzLmRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyID0gKHZhbHVlID0+IHRoaXMucHJvcGVydHlTdHJpbmdWYWx1ZSh2YWx1ZSwgcHJvcGVydHkpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIocmVzb2x2ZXI6IFRleHRSZXNvbHZlckZuKSB7XG4gICAgdGhpcy5kaXNwbGF5UHJvcGVydHlSZXNvbHZlciQubmV4dChyZXNvbHZlcik7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZpbHRlcnMoZmlsdGVyczogRmlsdGVyW10pIHtcbiAgICB0aGlzLnJlcGxhY2VGaWx0ZXJzKGZpbHRlcnMpO1xuICB9XG5cbiAgcHVibGljIGdldCBmaWx0ZXJzKCk6IEZpbHRlcltdIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyQ29udGV4dC5maWx0ZXJzU25hcHNob3Q7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRhdGFTb3VyY2Uoc291cmNlOiBJRGF0YVNvdXJjZTxURW50aXR5Pikge1xuICAgIHRoaXMuZGF0YUNvbnRleHQgPSBEYXRhQ29udGV4dEJ1aWxkZXIuc3RhcnQ8VEVudGl0eT4oKVxuICAgICAgLnBhZ2VTaXplKHRoaXMucGFnZVNpemUpXG4gICAgICAuYnVpbGQoc291cmNlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0YShkYXRhOiBBcnJheTxURW50aXR5PiB8IElEYXRhQ29udGV4dDxURW50aXR5Pikge1xuXG4gICAgdGhpcy5hdXRvQ2xlYW5VcCgpO1xuXG4gICAgaWYgKGRhdGEgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgdGhpcy5kYXRhQ29udGV4dCA9IERhdGFDb250ZXh0QnVpbGRlci5zdGFydDxURW50aXR5PigpXG4gICAgICAgIC5sb2NhbFNvcnQoKVxuICAgICAgICAuYnVpbGRMb2NhbChkYXRhKTsgLy8gTWVtb3J5IGxlYWtcbiAgICAgIHRoaXMuZGF0YUNvbnRleHQuc3RhcnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgdGhpcy5kYXRhQ29udGV4dCA9IGRhdGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRhdGFDb250ZXh0ID0gRGF0YUNvbnRleHRCdWlsZGVyLnN0YXJ0PFRFbnRpdHk+KCkuYnVpbGRFbXB0eSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGF0YUNvbnRleHQoZGF0YTogSURhdGFDb250ZXh0PFRFbnRpdHk+KSB7XG4gICAgdGhpcy5hdXRvQ2xlYW5VcCgpO1xuICAgIHRoaXMuZGF0YUNvbnRleHQkLm5leHQoZGF0YSk7XG4gICAgdGhpcy5vbkRhdGFDb250ZXh0Q2hhbmdlZChkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YUNvbnRleHQoKTogSURhdGFDb250ZXh0PFRFbnRpdHk+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdmFsdWVUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuX3ZhbHVlVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVUZW1wbGF0ZSB8fCB0aGlzLnZhbHVlVGVtcGxhdGVRdWVyeTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZXJyb3JTdGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnN0YXRlJC5nZXRWYWx1ZSgpLmVycm9yIHx8IHN1cGVyLmVycm9yU3RhdGU7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgb25DdXJyZW50Q2xpY2tlZChlbnRpdHk6IFRFbnRpdHkpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRDbGlja2VkLmVtaXQoZW50aXR5KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVGaWx0ZXIodXBkYXRlZEZpbHRlcj86IEZpbHRlcik6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlckNvbnRleHQudXBkYXRlRmlsdGVyKHVwZGF0ZWRGaWx0ZXIpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUZpbHRlcnModXBkYXRlZEZpbHRlcnM/OiBGaWx0ZXJbXSk6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlckNvbnRleHQudXBkYXRlRmlsdGVycyh1cGRhdGVkRmlsdGVycyk7XG4gIH1cblxuICBwdWJsaWMgcmVwbGFjZUZpbHRlcnMobmV3RmlsdGVycz86IEZpbHRlcltdKSB7XG4gICAgdGhpcy5fZmlsdGVyQ29udGV4dC5yZXBsYWNlRmlsdGVycyhuZXdGaWx0ZXJzKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckZpbHRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy5fZmlsdGVyQ29udGV4dC5jbGVhcigpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVN0YXRlKHN0YXRlOiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSQubmV4dChzdGF0ZSk7XG4gICAgdGhpcy5lbWl0U3RhdGVDaGFuZ2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lcnJvclN0YXRlIHx8ICEhdGhpcy5pY29uIHx8IHN1cGVyLnNob3VsZExhYmVsRmxvYXQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQWJzdHJhY3QgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogT2NjdXJzIHdoZW4gdGhlIHN1Z2dlc3Rpb25zIGRhdGEtY29udGV4dCBoYXMgY2hhbmdlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IG9uRGF0YUNvbnRleHRDaGFuZ2VkKGRhdGE6IElEYXRhQ29udGV4dDxURW50aXR5Pik6IHZvaWQ7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEludGVybmFsIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGdldEVudGl0eUlkKGVudGl0eTogVEVudGl0eSk6IFRJZCB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQ/LmRhdGFTb3VyY2U/LmdldElkKGVudGl0eSkgfHwgZW50aXR5O1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzRXF1YWwoYTogVEVudGl0eSwgYjogVEVudGl0eSk6IGJvb2xlYW4ge1xuICAgIGlmIChhID09PSBiKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNFbXB0eShhKSAmJiB0aGlzLmlzRW1wdHkoYikpIHsgLy8gSEFDSzogSGFuZGxlIGVtcHR5IHN0cmluZyBhcyB1bmRlZmluZWQuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0RW50aXR5SWQoYSkgPT09IHRoaXMuZ2V0RW50aXR5SWQoYik7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNFbXB0eShhOiBURW50aXR5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChhID09PSBudWxsIHx8IGEgPT09IHVuZGVmaW5lZCB8fCA8YW55PmEgPT09ICcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtcyBjbGVhbiB1cCBvZiB0aGUgY3VycmVudCBkYXRhIGNvbnRleHQgaWYgYXV0byBjbGVhbiB1cCBpcyBlbmFibGVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGF1dG9DbGVhblVwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsZWFuVXAgJiYgdGhpcy5kYXRhQ29udGV4dCkge1xuICAgICAgdGhpcy5fbG9nZ2VyLmRlYnVnKCdSZWxlYXNpbmcgRGF0YUNvbnRleHQgcmVzb3VyY2VzIHRvIHByZXZlbnQgbWVtb3J5IGxlYWsuIFtjbGVhblVwXT1cInRydWVcIicpO1xuICAgICAgdGhpcy5kYXRhQ29udGV4dC5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwcm9wZXJ0eVN0cmluZ1ZhbHVlKHZhbHVlOiBURW50aXR5LCBwcm9wZXJ0eTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChwcm9wZXJ0eSkge1xuICAgICAgcmV0dXJuICg8YW55PnZhbHVlKVtwcm9wZXJ0eV07XG4gICAgfVxuXG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -123,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
123
123
  type: Input,
124
124
  args: ['elderSelectionModelPopupTransform']
125
125
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsS0FBSyxFQUFnQyxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUVMLGlDQUFpQyxFQUNsQyxNQUFNLG1FQUFtRSxDQUFDO0FBQzNFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsS0FBSyxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQWMsY0FBYyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFHdEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDM0YsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sdURBQXVELENBQUM7Ozs7O0FBSW5HLE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsT0FBTyxJQUFJLGNBQWMsRUFBTyxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLE9BQU8sSUFBSSw0QkFBNEIsRUFBRSxDQUFDO0FBQzVDLENBQUM7QUFpQkQsTUFBTSxPQUFPLDRCQUE0QjtJQWlCdkM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLFdBQTZCLEVBQzdCLGFBQStCLEVBQy9CLE1BQWlCLEVBQ2pCLHVCQUFxRCxFQUNyRCxjQUFtQyxFQUNuQyxpQkFBb0M7UUFMcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIs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U0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGNBQWM7NEJBQ3ZCLFVBQVUsRUFBRSxvQkFBb0I7eUJBQ2pDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSw0QkFBNEI7NEJBQ3JDLFVBQVUsRUFBRSw2QkFBNkI7eUJBQzFDO3dCQUNELG1CQUFtQixDQUFDLGVBQWUsQ0FBQyx1RUFBdUU7cUJBQzVHO2lCQUNGO2lRQWNZLGlDQUFpQztzQkFEM0MsS0FBSzt1QkFBQyxtQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7TWF0RGlhbG9nLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge1xuICBJU2VsZWN0aW9uTW9kZWxEaWFsb2dPcHRpb25zLFxuICBUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnRcbn0gZnJvbSAnLi90ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZy90ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RU1QVFksIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7S2V5R2V0dGVyRm4sIFNlbGVjdGlvbk1vZGVsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL3NvcnQnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcic7XG5pbXBvcnQge0VsZGVyVGFibGVQcm92aWRlcnN9IGZyb20gJy4uLy4uL2RhdGEtdmlldy90YWJsZS9tb2RlbC9lbGRlci10YWJsZS1tb2RlbC1wcm92aWRlcic7XG5pbXBvcnQge0VsZGVyRGF0YVZpZXdPcHRpb25zUHJvdmlkZXJ9IGZyb20gJy4uLy4uL2RhdGEtdmlldy9iYXNlL2VsZGVyLWRhdGEtdmlldy1vcHRpb25zLXByb3ZpZGVyJztcblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3Rpb25Nb2RlbCgpOiBTZWxlY3Rpb25Nb2RlbDxhbnk+IHtcbiAgcmV0dXJuIG5ldyBTZWxlY3Rpb25Nb2RlbDxhbnk+KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEYXRhVmlld09wdGlvbnNQcm92aWRlcigpOiBFbGRlckRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyIHtcbiAgcmV0dXJuIG5ldyBFbGRlckRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyKCk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlclNlbGVjdGlvbk1vZGVsUG9wdXBdJyxcbiAgZXhwb3J0QXM6ICdlbGRlclNlbGVjdGlvbk1vZGVsUG9wdXAnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTZWxlY3Rpb25Nb2RlbCxcbiAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZVNlbGVjdGlvbk1vZGVsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBFbGRlckRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyLFxuICAgICAgdXNlRmFjdG9yeTogY3JlYXRlRGF0YVZpZXdPcHRpb25zUHJvdmlkZXJcbiAgICB9LFxuICAgIEVsZGVyVGFibGVQcm92aWRlcnMuQ2xlYXJUYWJsZU1vZGVsIC8vIFNpbmNlIHRoaXMgcG9wdXAgaXMgZnJlcXVlbnRseSB1c2VkIGluc2lkZSBhbiBlbGRlci10YWJsZSBzZWFyY2ggYm94XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgX3RyYW5zZm9ybWVyRm46IChvOiBhbnkpID0+IGFueTtcblxuICBASW5wdXQoJ2VsZGVyU2VsZWN0aW9uTW9kZWxQb3B1cFRyYW5zZm9ybScpXG4gIHB1YmxpYyBzZXQgZWxkZXJTZWxlY3Rpb25Nb2RlbFBvcHVwVHJhbnNmb3JtKGZuOiAobzogYW55KSA9PiBhbnkpIHtcbiAgICB0aGlzLl90cmFuc2Zvcm1lckZuID0gZm47XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YVZpZXdPcHRpb25zUHJvdmlkZXI6IEVsZGVyRGF0YVZpZXdPcHRpb25zUHJvdmlkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8YW55PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogTGV0IHRoZSB1c2VyIGNob29zZSBzb21lIGVudGl0aWVzIGFuZCByZXR1cm4gdGhlIHNlbGVjdGlvbi5cbiAgICovXG4gIHB1YmxpYyBjaG9vc2UoXG4gICAga2V5R2V0dGVyOiBLZXlHZXR0ZXJGbjxhbnk+LFxuICAgIGN1cnJlbnRTZWxlY3Rpb246IGFueVtdLFxuICAgIGZpbHRlcnM/OiBGaWx0ZXJbXSxcbiAgICBzb3J0cz86IFNvcnRbXSxcbiAgICBtdWx0aSA9IGZhbHNlXG4gICk6IE9ic2VydmFibGU8YW55W10+IHtcblxuICAgIHRoaXMuZGF0YVZpZXdPcHRpb25zUHJvdmlkZXIudXBkYXRlT3B0aW9ucyhcbiAgICAgIG9wdGlvbnMgPT4gb3B0aW9uc1xuICAgICAgICAud2l0aEZpbHRlcnMoZmlsdGVycyB8fCBbXSlcbiAgICAgICAgLndpdGhTb3J0cyhzb3J0cyB8fCBbXSlcbiAgICAgICAgLndpdGhTZWxlY3Rpb25NdWx0aUVuYWJsZWQobXVsdGkpXG4gICAgICAgIC53aXRoSW50ZXJhY3Rpb25Nb2RlKCdzZWxlY3Rpb24nKVxuICAgIClcblxuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuaXNNdWx0aXBsZVNlbGVjdGlvbiA9IG11bHRpO1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwua2V5R2V0dGVyRm4gPSBrZXlHZXR0ZXI7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5yZXBsYWNlU2VsZWN0aW9uKGN1cnJlbnRTZWxlY3Rpb24pO1xuXG4gICAgdGhpcy5sb2cuaW5mbygnUmVwbGFjZWQgc2VsZWN0aW9uIHBvcHVwIHdpdGggY3VycmVudCAnK2N1cnJlbnRTZWxlY3Rpb24ubGVuZ3RoKycgZW50aXRpZXM6JywgY3VycmVudFNlbGVjdGlvbilcblxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMub3BlblNlbGVjdERpYWxvZygpO1xuXG4gICAgLy8gVGhpcyBmaXhlcyBkaWFsb2cgcmVuZGVyaW5nIHdoZW4gdGhlIGJyb3dzZXIgdGVtcGxhdGVcbiAgICAvLyB2aWV3IGNvbnRhaW5lciBpcyBvdXRzaWRlIHRoZSBpbnZva2luZyBjb250cm9sLCB3aGljaFxuICAgIC8vIGhhcHBlbnMgd2hlbiB1c2luZyBuZy1jb250ZW50IHByb2plY3Rpb24uXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblxuICAgIHJldHVybiBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChjaG9zZW5FbnRpdGllczogYW55W10pID0+IHtcbiAgICAgICAgaWYgKGNob3NlbkVudGl0aWVzKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zZm9ybWVyRm5cbiAgICAgICAgICAgID8gb2YoY2hvc2VuRW50aXRpZXMubWFwKHZhbHVlID0+IHRoaXMuX3RyYW5zZm9ybWVyRm4odmFsdWUpKSlcbiAgICAgICAgICAgIDogb2YoY2hvc2VuRW50aXRpZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBvcGVuU2VsZWN0RGlhbG9nKCk6IE1hdERpYWxvZ1JlZjxUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5kaWFsb2cub3BlbihcbiAgICAgIFRlbXBsYXRlZFNlbGVjdGlvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICAgIHtcbiAgICAgICAgd2lkdGg6ICc5MHZ3JyxcbiAgICAgICAgaGVpZ2h0OiAnOTB2aCcsXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdjdXN0b20tZGlhbG9nLWNvbnRhaW5lcicsXG4gICAgICAgIGRhdGE6IDxJU2VsZWN0aW9uTW9kZWxEaWFsb2dPcHRpb25zPiB7XG4gICAgICAgICAgc2VsZWN0aW9uQ29tcG9uZW50VGVtcGxhdGU6IHRoaXMudGVtcGxhdGVSZWZcbiAgICAgICAgfSxcbiAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG59XG4iXX0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsS0FBSyxFQUFnQyxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUVMLGlDQUFpQyxFQUNsQyxNQUFNLG1FQUFtRSxDQUFDO0FBQzNFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsS0FBSyxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQWMsY0FBYyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFHdEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDM0YsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sdURBQXVELENBQUM7Ozs7O0FBSW5HLE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsT0FBTyxJQUFJLGNBQWMsRUFBTyxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLE9BQU8sSUFBSSw0QkFBNEIsRUFBRSxDQUFDO0FBQzVDLENBQUM7QUFpQkQsTUFBTSxPQUFPLDRCQUE0QjtJQWlCdkM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLFdBQTZCLEVBQzdCLGFBQStCLEVBQy9CLE1BQWlCLEVBQ2pCLHVCQUFxRCxFQUNyRCxjQUFtQyxFQUNuQyxpQkFBb0M7UUFMcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIs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U0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGNBQWM7NEJBQ3ZCLFVBQVUsRUFBRSxvQkFBb0I7eUJBQ2pDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSw0QkFBNEI7NEJBQ3JDLFVBQVUsRUFBRSw2QkFBNkI7eUJBQzFDO3dCQUNELG1CQUFtQixDQUFDLGVBQWUsQ0FBQyx1RUFBdUU7cUJBQzVHO2lCQUNGO2lRQWNZLGlDQUFpQztzQkFEM0MsS0FBSzt1QkFBQyxtQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7TWF0RGlhbG9nLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge1xuICBJU2VsZWN0aW9uTW9kZWxEaWFsb2dPcHRpb25zLFxuICBUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnRcbn0gZnJvbSAnLi90ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZy90ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RU1QVFksIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7S2V5R2V0dGVyRm4sIFNlbGVjdGlvbk1vZGVsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL3NvcnQnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7RWxkZXJUYWJsZVByb3ZpZGVyc30gZnJvbSAnLi4vLi4vZGF0YS12aWV3L3RhYmxlL21vZGVsL2VsZGVyLXRhYmxlLW1vZGVsLXByb3ZpZGVyJztcbmltcG9ydCB7RWxkZXJEYXRhVmlld09wdGlvbnNQcm92aWRlcn0gZnJvbSAnLi4vLi4vZGF0YS12aWV3L2Jhc2UvZWxkZXItZGF0YS12aWV3LW9wdGlvbnMtcHJvdmlkZXInO1xuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlbGVjdGlvbk1vZGVsKCk6IFNlbGVjdGlvbk1vZGVsPGFueT4ge1xuICByZXR1cm4gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4oKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyKCk6IEVsZGVyRGF0YVZpZXdPcHRpb25zUHJvdmlkZXIge1xuICByZXR1cm4gbmV3IEVsZGVyRGF0YVZpZXdPcHRpb25zUHJvdmlkZXIoKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyU2VsZWN0aW9uTW9kZWxQb3B1cF0nLFxuICBleHBvcnRBczogJ2VsZGVyU2VsZWN0aW9uTW9kZWxQb3B1cCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNlbGVjdGlvbk1vZGVsLFxuICAgICAgdXNlRmFjdG9yeTogY3JlYXRlU2VsZWN0aW9uTW9kZWxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEVsZGVyRGF0YVZpZXdPcHRpb25zUHJvdmlkZXIsXG4gICAgICB1c2VGYWN0b3J5OiBjcmVhdGVEYXRhVmlld09wdGlvbnNQcm92aWRlclxuICAgIH0sXG4gICAgRWxkZXJUYWJsZVByb3ZpZGVycy5DbGVhclRhYmxlTW9kZWwgLy8gU2luY2UgdGhpcyBwb3B1cCBpcyBmcmVxdWVudGx5IHVzZWQgaW5zaWRlIGFuIGVsZGVyLXRhYmxlIHNlYXJjaCBib3hcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfdHJhbnNmb3JtZXJGbjogKG86IGFueSkgPT4gYW55O1xuXG4gIEBJbnB1dCgnZWxkZXJTZWxlY3Rpb25Nb2RlbFBvcHVwVHJhbnNmb3JtJylcbiAgcHVibGljIHNldCBlbGRlclNlbGVjdGlvbk1vZGVsUG9wdXBUcmFuc2Zvcm0oZm46IChvOiBhbnkpID0+IGFueSkge1xuICAgIHRoaXMuX3RyYW5zZm9ybWVyRm4gPSBmbjtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSByZWFkb25seSBkYXRhVmlld09wdGlvbnNQcm92aWRlcjogRWxkZXJEYXRhVmlld09wdGlvbnNQcm92aWRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdGlvbk1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxhbnk+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHsgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBMZXQgdGhlIHVzZXIgY2hvb3NlIHNvbWUgZW50aXRpZXMgYW5kIHJldHVybiB0aGUgc2VsZWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGNob29zZShcbiAgICBrZXlHZXR0ZXI6IEtleUdldHRlckZuPGFueT4sXG4gICAgY3VycmVudFNlbGVjdGlvbjogYW55W10sXG4gICAgZmlsdGVycz86IEZpbHRlcltdLFxuICAgIHNvcnRzPzogU29ydFtdLFxuICAgIG11bHRpID0gZmFsc2VcbiAgKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuXG4gICAgdGhpcy5kYXRhVmlld09wdGlvbnNQcm92aWRlci51cGRhdGVPcHRpb25zKFxuICAgICAgb3B0aW9ucyA9PiBvcHRpb25zXG4gICAgICAgIC53aXRoRmlsdGVycyhmaWx0ZXJzIHx8IFtdKVxuICAgICAgICAud2l0aFNvcnRzKHNvcnRzIHx8IFtdKVxuICAgICAgICAud2l0aFNlbGVjdGlvbk11bHRpRW5hYmxlZChtdWx0aSlcbiAgICAgICAgLndpdGhJbnRlcmFjdGlvbk1vZGUoJ3NlbGVjdGlvbicpXG4gICAgKVxuXG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5pc011bHRpcGxlU2VsZWN0aW9uID0gbXVsdGk7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5rZXlHZXR0ZXJGbiA9IGtleUdldHRlcjtcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnJlcGxhY2VTZWxlY3Rpb24oY3VycmVudFNlbGVjdGlvbik7XG5cbiAgICB0aGlzLmxvZy5pbmZvKCdSZXBsYWNlZCBzZWxlY3Rpb24gcG9wdXAgd2l0aCBjdXJyZW50ICcrY3VycmVudFNlbGVjdGlvbi5sZW5ndGgrJyBlbnRpdGllczonLCBjdXJyZW50U2VsZWN0aW9uKVxuXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5vcGVuU2VsZWN0RGlhbG9nKCk7XG5cbiAgICAvLyBUaGlzIGZpeGVzIGRpYWxvZyByZW5kZXJpbmcgd2hlbiB0aGUgYnJvd3NlciB0ZW1wbGF0ZVxuICAgIC8vIHZpZXcgY29udGFpbmVyIGlzIG91dHNpZGUgdGhlIGludm9raW5nIGNvbnRyb2wsIHdoaWNoXG4gICAgLy8gaGFwcGVucyB3aGVuIHVzaW5nIG5nLWNvbnRlbnQgcHJvamVjdGlvbi5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgcmV0dXJuIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNob3NlbkVudGl0aWVzOiBhbnlbXSkgPT4ge1xuICAgICAgICBpZiAoY2hvc2VuRW50aXRpZXMpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNmb3JtZXJGblxuICAgICAgICAgICAgPyBvZihjaG9zZW5FbnRpdGllcy5tYXAodmFsdWUgPT4gdGhpcy5fdHJhbnNmb3JtZXJGbih2YWx1ZSkpKVxuICAgICAgICAgICAgOiBvZihjaG9zZW5FbnRpdGllcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIG9wZW5TZWxlY3REaWFsb2coKTogTWF0RGlhbG9nUmVmPFRlbXBsYXRlZFNlbGVjdGlvbkRpYWxvZ0NvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKFxuICAgICAgVGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgICAge1xuICAgICAgICB3aWR0aDogJzkwdncnLFxuICAgICAgICBoZWlnaHQ6ICc5MHZoJyxcbiAgICAgICAgcGFuZWxDbGFzczogJ2N1c3RvbS1kaWFsb2ctY29udGFpbmVyJyxcbiAgICAgICAgZGF0YTogPElTZWxlY3Rpb25Nb2RlbERpYWxvZ09wdGlvbnM+IHtcbiAgICAgICAgICBzZWxlY3Rpb25Db21wb25lbnRUZW1wbGF0ZTogdGhpcy50ZW1wbGF0ZVJlZlxuICAgICAgICB9LFxuICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbn1cbiJdfQ==