@seniorsistemas/exclusion-process-component 0.0.1-c049d10c-e93a-4d63-9c2a-b17bca40c324 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/bundles/seniorsistemas-exclusion-process-component.umd.js +662 -33
  2. package/bundles/seniorsistemas-exclusion-process-component.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-exclusion-process-component.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-exclusion-process-component.umd.min.js.map +1 -1
  5. package/esm2015/exclusion-details/exclusion-details.component.js +99 -12
  6. package/esm2015/exclusion-details/exclusion-details.module.js +4 -3
  7. package/esm2015/exclusion-details/protocols/exclusion-process-status-changed.js +1 -0
  8. package/esm2015/exclusion-details/protocols/show-details-information.js +1 -1
  9. package/esm2015/exclusion-details/protocols/web-socket-event-data.js +1 -0
  10. package/esm2015/exclusions-list/exclusions-list.component.js +358 -0
  11. package/esm2015/exclusions-list/exclusions-list.module.js +47 -0
  12. package/esm2015/exclusions-list/exclusions-list.routing.js +115 -0
  13. package/esm2015/exclusions-list/index.js +4 -0
  14. package/esm2015/public-api.js +2 -1
  15. package/esm2015/seniorsistemas-exclusion-process-component.js +4 -2
  16. package/esm2015/services/filter.service.js +4 -1
  17. package/esm2015/services/index.js +2 -0
  18. package/esm2015/services/logical-delete.service.js +33 -19
  19. package/esm5/exclusion-details/exclusion-details.component.js +104 -12
  20. package/esm5/exclusion-details/exclusion-details.module.js +4 -3
  21. package/esm5/exclusion-details/protocols/exclusion-process-status-changed.js +1 -0
  22. package/esm5/exclusion-details/protocols/show-details-information.js +1 -1
  23. package/esm5/exclusion-details/protocols/web-socket-event-data.js +1 -0
  24. package/esm5/exclusions-list/exclusions-list.component.js +373 -0
  25. package/esm5/exclusions-list/exclusions-list.module.js +50 -0
  26. package/esm5/exclusions-list/exclusions-list.routing.js +127 -0
  27. package/esm5/exclusions-list/index.js +4 -0
  28. package/esm5/public-api.js +2 -1
  29. package/esm5/seniorsistemas-exclusion-process-component.js +4 -2
  30. package/esm5/services/filter.service.js +4 -1
  31. package/esm5/services/index.js +2 -0
  32. package/esm5/services/logical-delete.service.js +36 -20
  33. package/exclusion-details/exclusion-details.component.d.ts +13 -1
  34. package/exclusion-details/protocols/exclusion-process-status-changed.d.ts +8 -0
  35. package/exclusion-details/protocols/show-details-information.d.ts +2 -1
  36. package/exclusion-details/protocols/web-socket-event-data.d.ts +6 -0
  37. package/exclusions-list/exclusions-list.component.d.ts +70 -0
  38. package/exclusions-list/exclusions-list.module.d.ts +2 -0
  39. package/exclusions-list/exclusions-list.routing.d.ts +29 -0
  40. package/exclusions-list/index.d.ts +3 -0
  41. package/fesm2015/seniorsistemas-exclusion-process-component.js +619 -33
  42. package/fesm2015/seniorsistemas-exclusion-process-component.js.map +1 -1
  43. package/fesm5/seniorsistemas-exclusion-process-component.js +657 -34
  44. package/fesm5/seniorsistemas-exclusion-process-component.js.map +1 -1
  45. package/package.json +14 -6
  46. package/public-api.d.ts +1 -0
  47. package/seniorsistemas-exclusion-process-component.d.ts +3 -1
  48. package/seniorsistemas-exclusion-process-component.metadata.json +1 -1
  49. package/services/index.d.ts +1 -0
  50. package/services/logical-delete.service.d.ts +5 -3
@@ -0,0 +1,358 @@
1
+ var ExclusionsListComponent_1;
2
+ import { __decorate } from "tslib";
3
+ import * as moment from "moment";
4
+ import { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild } from "@angular/core";
5
+ import { FormBuilder, FormGroup, Validators } from "@angular/forms";
6
+ import { TranslateService } from "@ngx-translate/core";
7
+ import { Subject } from "rxjs";
8
+ import { catchError, finalize, takeUntil } from "rxjs/operators";
9
+ import { EnumBadgeColors, EnumColumnFieldType, FieldType, FormField } from "@seniorsistemas/angular-components";
10
+ import { EnumExclusionProcessStatus } from "../enums/enum-exclusion-process-status";
11
+ import { LogicalDeleteService } from "../services";
12
+ import { ActivatedRoute } from "@angular/router";
13
+ import { LogicalDeleteConfigService } from "../services/logical-delete-config.service";
14
+ import { ExclusionDetailsComponent } from "../exclusion-details";
15
+ import { FilterService } from "../services/filter.service";
16
+ const HTTP_CODE_SERVER_ERROR_START = 500;
17
+ const HTTP_CODE_SERVER_ERROR_END = 600;
18
+ let ExclusionsListComponent = ExclusionsListComponent_1 = class ExclusionsListComponent {
19
+ constructor(route, translate, formBuilder, changeDetectorRef, logicalDeleteService, filterService, projectConfigs) {
20
+ this.route = route;
21
+ this.translate = translate;
22
+ this.formBuilder = formBuilder;
23
+ this.changeDetectorRef = changeDetectorRef;
24
+ this.logicalDeleteService = logicalDeleteService;
25
+ this.filterService = filterService;
26
+ this.projectConfigs = projectConfigs;
27
+ this.currentListParams = { page: 0, size: 10, sort: [], filterData: {} };
28
+ this.showLoader = false;
29
+ this.totalRecords = 0;
30
+ this.filtersPanelCollapsed = true;
31
+ this.searchTokens = [];
32
+ this.serverError = false;
33
+ this.ngUnsubscribe = new Subject();
34
+ }
35
+ ngOnInit() {
36
+ this.filterFormGroup = this.getFormBuilder();
37
+ this.filterFields = this.getFilterFields();
38
+ this.gridColumns = this.getGridColumns();
39
+ this.route.data
40
+ .pipe(takeUntil(this.ngUnsubscribe))
41
+ .subscribe((data) => {
42
+ this.locale = data.localeConfig;
43
+ });
44
+ this.route.params
45
+ .pipe(takeUntil(this.ngUnsubscribe))
46
+ .subscribe((params) => {
47
+ this.entityName = params.entityName;
48
+ this.showBasedOnRoute();
49
+ });
50
+ this.route.queryParams
51
+ .pipe(takeUntil(this.ngUnsubscribe))
52
+ .subscribe((queryParams) => {
53
+ this.entityDescription = queryParams.entityDescription;
54
+ this.processId = queryParams.processId;
55
+ this.showBasedOnRoute();
56
+ });
57
+ }
58
+ showBasedOnRoute() {
59
+ if (this.entityName && this.entityDescription && this.processId) {
60
+ this.exclusionDetailsComponent.showDetails({
61
+ processId: this.processId,
62
+ entityDescription: this.entityDescription,
63
+ entityName: this.entityName
64
+ });
65
+ }
66
+ }
67
+ ngOnDestroy() {
68
+ this.ngUnsubscribe.next();
69
+ this.ngUnsubscribe.complete();
70
+ }
71
+ getFormBuilder() {
72
+ return this.formBuilder.group({
73
+ description: [undefined, Validators.compose([])],
74
+ status: [undefined, Validators.compose([])],
75
+ startDate: [{ value: undefined, disabled: false }, Validators.compose([])],
76
+ endDate: [{ value: undefined, disabled: false }, Validators.compose([])]
77
+ });
78
+ }
79
+ getGridColumns() {
80
+ return [
81
+ {
82
+ field: "description",
83
+ attributes: ["description"],
84
+ header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_description`),
85
+ type: EnumColumnFieldType.STRING,
86
+ style: {
87
+ width: "300px"
88
+ }
89
+ },
90
+ {
91
+ field: "status",
92
+ attributes: ["status"],
93
+ header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_status`),
94
+ type: EnumColumnFieldType.ENUM,
95
+ enumPrefix: `${this.projectConfigs.getTranslationPrefix()}.logical_delete_enum_exclusion_process_status_`,
96
+ style: {
97
+ width: "100px"
98
+ },
99
+ tooltip: this.getColumnStatusTooltip,
100
+ badgeConfigs: [
101
+ {
102
+ enumValue: EnumExclusionProcessStatus.ERROR,
103
+ color: EnumBadgeColors.RED
104
+ },
105
+ {
106
+ enumValue: EnumExclusionProcessStatus.PENDING,
107
+ color: EnumBadgeColors.YELLOW
108
+ },
109
+ {
110
+ enumValue: EnumExclusionProcessStatus.PROCESSING,
111
+ color: EnumBadgeColors.BLUE
112
+ },
113
+ {
114
+ enumValue: EnumExclusionProcessStatus.SUCCESS,
115
+ color: EnumBadgeColors.GREEN
116
+ }
117
+ ]
118
+ },
119
+ {
120
+ field: "startDate",
121
+ attributes: ["startDate"],
122
+ header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_start`),
123
+ type: EnumColumnFieldType.DATE,
124
+ dateFormat: "DD/MM/YYYY HH:mm:ss",
125
+ style: {
126
+ width: "100px"
127
+ }
128
+ },
129
+ {
130
+ field: "finishDate",
131
+ attributes: ["finishDate"],
132
+ header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_finish`),
133
+ type: EnumColumnFieldType.DATE,
134
+ dateFormat: "DD/MM/YYYY HH:mm:ss",
135
+ style: {
136
+ width: "100px"
137
+ }
138
+ }
139
+ ];
140
+ }
141
+ getColumnStatusTooltip(rowValue) {
142
+ if (rowValue.errorMessage) {
143
+ return rowValue.errorMessage;
144
+ }
145
+ return null;
146
+ }
147
+ getFilterFields() {
148
+ const translationPrefix = this.projectConfigs.getTranslationPrefix();
149
+ return [
150
+ new FormField({
151
+ type: FieldType.String,
152
+ name: "description",
153
+ label: this.translate.instant(`${translationPrefix}.logical_delete_description`)
154
+ }),
155
+ new FormField({
156
+ type: FieldType.Enum,
157
+ name: "status",
158
+ label: this.translate.instant(`${translationPrefix}.logical_delete_status`),
159
+ placeholder: this.translate.instant(`${translationPrefix}.logical_delete_status`),
160
+ multiple: true,
161
+ options: [
162
+ {
163
+ label: this.translate.instant(`${translationPrefix}.logical_delete_enum_exclusion_process_status_error`),
164
+ value: EnumExclusionProcessStatus.ERROR
165
+ },
166
+ {
167
+ label: this.translate.instant(`${translationPrefix}.logical_delete_enum_exclusion_process_status_pending`),
168
+ value: EnumExclusionProcessStatus.PENDING
169
+ },
170
+ {
171
+ label: this.translate.instant(`${translationPrefix}.logical_delete_enum_exclusion_process_status_processing`),
172
+ value: EnumExclusionProcessStatus.PROCESSING
173
+ },
174
+ {
175
+ label: this.translate.instant(`${translationPrefix}.logical_delete_enum_exclusion_process_status_success`),
176
+ value: EnumExclusionProcessStatus.SUCCESS
177
+ }
178
+ ]
179
+ }),
180
+ new FormField({
181
+ type: FieldType.Date,
182
+ name: "startDate",
183
+ label: this.translate.instant(`${translationPrefix}.logical_delete_start`)
184
+ }),
185
+ new FormField({
186
+ type: FieldType.Date,
187
+ name: "endDate",
188
+ label: this.translate.instant(`${translationPrefix}.logical_delete_finish`)
189
+ })
190
+ ];
191
+ }
192
+ getEmptyStateTitle() {
193
+ return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_empty_state_title`);
194
+ }
195
+ getEmptyStateDescription() {
196
+ return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_empty_state_description`);
197
+ }
198
+ getTitle() {
199
+ return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_list_title`);
200
+ }
201
+ getDetailsButtonTitle() {
202
+ return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_details`);
203
+ }
204
+ getFiltersTitle() {
205
+ return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.filters`);
206
+ }
207
+ getFilterButtonTitle() {
208
+ return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.filter`);
209
+ }
210
+ getClearButtonTitle() {
211
+ return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.clear`);
212
+ }
213
+ getErrorInvalid() {
214
+ return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.error_invalid`);
215
+ }
216
+ getErrorServerTitle() {
217
+ return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.error_server_title`);
218
+ }
219
+ getErrorServerDescription() {
220
+ return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.error_server_description`);
221
+ }
222
+ getActionsColumnLabel() {
223
+ return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.actions`);
224
+ }
225
+ onSearch() {
226
+ const filterData = this.filterFormGroup.getRawValue();
227
+ this.filtersPanelCollapsed = true;
228
+ this.resetGrid({ filterData });
229
+ }
230
+ onClear() {
231
+ this.filterFormGroup.reset();
232
+ const filterData = this.filterFormGroup.getRawValue();
233
+ this.resetGrid({ filterData });
234
+ }
235
+ onRemoveToken(token) {
236
+ this.filterFormGroup.get(token.id).setValue(undefined);
237
+ const filterData = this.filterFormGroup.getRawValue();
238
+ this.resetGrid({ filterData });
239
+ }
240
+ onGridChange(event) {
241
+ const size = event.rows;
242
+ const page = event.first / size;
243
+ const sort = event.multiSortMeta ? event.multiSortMeta : [];
244
+ return this.updateGrid({ page, size, sort });
245
+ }
246
+ getFilterTokens() {
247
+ const filterData = this.filterFormGroup.value;
248
+ return this.filterFields
249
+ .filter(({ name }) => filterData[name] !== undefined && filterData[name] !== "" && filterData[name] !== null)
250
+ .map(formField => this.filterService.createFilterTokens(formField, filterData[formField.name]));
251
+ }
252
+ getFilterQuery() {
253
+ const { filterData } = this.currentListParams;
254
+ const dateFields = ["startDate", "endDate"];
255
+ let filterQuery = this.filterFields
256
+ .filter(({ name }) => !dateFields.includes(name))
257
+ .filter(({ name }) => filterData[name] !== undefined && filterData[name] !== "" && filterData[name] !== null)
258
+ .map(formField => this.filterService.createFilterString(formField, filterData[formField.name]))
259
+ .join(" and ");
260
+ let dateQuery;
261
+ if (filterData.startDate && filterData.endDate) {
262
+ const startDate = moment(filterData.startDate).format(ExclusionsListComponent_1.DATE_FORMAT);
263
+ const endDate = moment(filterData.endDate).format(ExclusionsListComponent_1.DATE_FORMAT);
264
+ dateQuery = `startDate between '${startDate}T00:00:00Z' and '${endDate}T23:59:59Z'`;
265
+ }
266
+ else if (filterData.startDate) {
267
+ const startDate = moment(filterData.startDate).format(ExclusionsListComponent_1.DATE_FORMAT);
268
+ dateQuery = `startDate >= '${startDate}T00:00:00Z'`;
269
+ }
270
+ else if (filterData.endDate) {
271
+ const endDate = moment(filterData.endDate).format(ExclusionsListComponent_1.DATE_FORMAT);
272
+ dateQuery = `finishDate <= '${endDate}T23:59:59Z'`;
273
+ }
274
+ else {
275
+ // Não é necessário nenhuma condição a mais no filtro.
276
+ }
277
+ if (dateQuery) {
278
+ filterQuery += filterQuery ? ` and ${dateQuery}` : dateQuery;
279
+ }
280
+ return filterQuery;
281
+ }
282
+ updateGrid(listParams = {}) {
283
+ this.currentListParams = Object.assign(Object.assign({}, this.currentListParams), listParams);
284
+ const { page, size, sort } = this.currentListParams;
285
+ this.searchTokens = this.getFilterTokens();
286
+ const filterQuery = this.getFilterQuery();
287
+ const displayFields = [
288
+ "recordId",
289
+ "errorMessage",
290
+ ...this.gridColumns.map(column => column.field)
291
+ ];
292
+ if (!sort.length) {
293
+ sort.push({ field: 'startDate', order: -1 });
294
+ }
295
+ this.listExclusions({ page, size, sort, filterQuery, displayFields });
296
+ }
297
+ listExclusions(params) {
298
+ this.showLoader = true;
299
+ this.serverError = false;
300
+ this.changeDetectorRef.detectChanges();
301
+ this.logicalDeleteService
302
+ .listExclusions(this.entityName, params)
303
+ .pipe(takeUntil(this.ngUnsubscribe), catchError((err) => {
304
+ if (err.status >= HTTP_CODE_SERVER_ERROR_START && err.status < HTTP_CODE_SERVER_ERROR_END) {
305
+ this.serverError = true;
306
+ }
307
+ throw err;
308
+ }), finalize(() => this.showLoader = false))
309
+ .subscribe((list) => {
310
+ this.gridData = list.contents;
311
+ this.totalRecords = list.totalElements;
312
+ });
313
+ }
314
+ focusInput(elementId) {
315
+ const element = document.getElementById(`${elementId}`);
316
+ if (element) {
317
+ element.focus();
318
+ }
319
+ }
320
+ resetGrid(listParams) {
321
+ if (listParams) {
322
+ this.currentListParams = Object.assign(Object.assign({}, this.currentListParams), listParams);
323
+ }
324
+ this.currentListParams = Object.assign(Object.assign({}, this.currentListParams), { page: 0, sort: [] });
325
+ this.table.reset();
326
+ }
327
+ onClickDetails(rowData) {
328
+ this.exclusionDetailsComponent.showDetails({
329
+ processId: rowData.id,
330
+ entityDescription: this.entityDescription,
331
+ entityName: this.entityName
332
+ });
333
+ }
334
+ };
335
+ ExclusionsListComponent.DATE_FORMAT = "YYYY-MM-DD";
336
+ ExclusionsListComponent.ctorParameters = () => [
337
+ { type: ActivatedRoute },
338
+ { type: TranslateService },
339
+ { type: FormBuilder },
340
+ { type: ChangeDetectorRef },
341
+ { type: LogicalDeleteService },
342
+ { type: FilterService },
343
+ { type: LogicalDeleteConfigService }
344
+ ];
345
+ __decorate([
346
+ ViewChild("exclusionsTable")
347
+ ], ExclusionsListComponent.prototype, "table", void 0);
348
+ __decorate([
349
+ ViewChild(ExclusionDetailsComponent)
350
+ ], ExclusionsListComponent.prototype, "exclusionDetailsComponent", void 0);
351
+ ExclusionsListComponent = ExclusionsListComponent_1 = __decorate([
352
+ Component({
353
+ template: "<div>\n <form [formGroup]=\"filterFormGroup\" autocomplete=\"off\">\n <p-panel\n *sLoadingState=\"showLoader\"\n styleClass=\"form-group\"\n [toggleable]=\"true\"\n [(collapsed)]=\"filtersPanelCollapsed\"\n (onAfterToggle)=\"focusInput('description')\"\n >\n <p-header>\n {{ getFiltersTitle() }}\n <s-token-list\n [tokens]=\"searchTokens\"\n (tokenRemoved)=\"onRemoveToken($event)\"\n [removableTokens]=\"true\"\n ></s-token-list>\n </p-header>\n <div>\n <s-dynamic-form\n [fields]=\"filterFields\"\n [form]=\"filterFormGroup\"\n [errorMessages]=\"{ pattern: getErrorInvalid() }\"\n ></s-dynamic-form>\n </div>\n <p-footer>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <button\n id=\"filter-button\"\n class=\"ui-button\"\n type=\"submit\"\n pButton\n [label]=\"getFilterButtonTitle()\"\n (click)=\"onSearch()\"\n ></button>\n <button\n id=\"clear-button\"\n class=\"ui-button ui-button-link\"\n type=\"button\"\n pButton\n [label]=\"getClearButtonTitle()\"\n (click)=\"onClear()\"\n ></button>\n </div>\n </div>\n </p-footer>\n </p-panel>\n </form>\n <p-panel *sLoadingState=\"showLoader\">\n <p-header>\n {{ getTitle() }}\n </p-header>\n <ng-container>\n <s-empty-state\n *ngIf=\"serverError && !showLoader\"\n iconClass=\"fa fa-exclamation-triangle\"\n title=\"{{ getErrorServerTitle() | translate }}\"\n primaryActionLabel=\"{{ 'error_server_try_again' | translate }}\"\n (primaryAction)=\"resetGrid()\"\n description=\"{{ getErrorServerDescription() | translate }}\"\n ></s-empty-state>\n\n <s-empty-state\n *ngIf=\"!showLoader && !serverError && totalRecords === 0\"\n [title]=\"getEmptyStateTitle()\"\n [showPrimaryAction]=\"false\"\n [description]=\"getEmptyStateDescription()\"\n ></s-empty-state>\n\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n #exclusionsTable\n id=\"exclusionsTable\"\n [hidden]=\"totalRecords === 0 || serverError\"\n [value]=\"gridData\"\n [columns]=\"gridColumns\"\n dataKey=\"id\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [resizableColumns]=\"true\"\n sortMode=\"multiple\"\n [paginator]=\"true\"\n [totalRecords]=\"totalRecords\"\n [rows]=\"10\"\n sortField=\"startDate\"\n sortOrder=\"-1\"\n rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n (onLazyLoad)=\"onGridChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\"\n />\n </colgroup>\n </ng-template>\n\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n <th *ngFor=\"let col of columns\"\n [id]=\"col.field\"\n [pSortableColumn]=\"col.field\"\n [ngStyle]=\"col.style\"\n pResizableColumn\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">\n {{ col.header }}\n </span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th id=\"action-column\" style=\"width: 100px\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ getActionsColumnLabel() }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\n <tr [pSelectableRow]=\"rowData\">\n <s-table-columns\n [columns]=\"columns\"\n [rowValue]=\"rowData\"\n [locale]=\"locale\">\n </s-table-columns>\n <td style=\"width: 100px\">\n <s-button\n id=\"details-button\"\n priority=\"default\"\n [label]=\"getDetailsButtonTitle()\"\n [auxiliary]=\"true\"\n (onClick)=\"onClickDetails(rowData)\">\n </s-button>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"paginatorright\">\n <s-table-paging\n [table]=\"exclusionsTable\"\n [totalRecords]=\"totalRecords\"\n ></s-table-paging>\n </ng-template>\n </p-table>\n </div>\n </div>\n </ng-container>\n </p-panel>\n</div>\n\n<s-exclusion-details></s-exclusion-details>\n",
354
+ providers: []
355
+ })
356
+ ], ExclusionsListComponent);
357
+ export { ExclusionsListComponent };
358
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9leGNsdXNpb24tcHJvY2Vzcy1jb21wb25lbnQvIiwic291cmNlcyI6WyJleGNsdXNpb25zLWxpc3QvZXhjbHVzaW9ucy1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQ0gsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixTQUFTLEVBQ1QsU0FBUyxFQUdaLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsTUFBTSw0QkFBNEIsR0FBRyxHQUFHLENBQUM7QUFDekMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUM7QUFPdkMsSUFBYSx1QkFBdUIsK0JBQXBDLE1BQWEsdUJBQXVCO0lBNkJoQyxZQUNxQixLQUFxQixFQUNyQixTQUEyQixFQUMzQixXQUF3QixFQUN4QixpQkFBb0MsRUFDcEMsb0JBQTBDLEVBQzFDLGFBQTRCLEVBQzVCLGNBQTBDO1FBTjFDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBNEI7UUEzQnhELHNCQUFpQixHQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBR2hGLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFJakIsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBQzVCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBUVYsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBVy9DLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJO2FBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbkMsU0FBUyxDQUFDLENBQUMsSUFBd0UsRUFBRSxFQUFFO1lBQ3BGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNQLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTthQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ25DLFNBQVMsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUNQLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVzthQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUMsQ0FBQyxXQUFnQixFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztZQUN2RCxJQUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUM7WUFDdkMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM3RCxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxDQUFDO2dCQUN2QyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7Z0JBQ3pDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTthQUM5QixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTyxjQUFjO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDMUIsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEQsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0MsU0FBUyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzRSxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sY0FBYztRQUNsQixPQUFPO1lBQ0g7Z0JBQ0ksS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLFVBQVUsRUFBRSxDQUFDLGFBQWEsQ0FBQztnQkFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSw2QkFBNkIsQ0FBQztnQkFDMUcsSUFBSSxFQUFFLG1CQUFtQixDQUFDLE1BQU07Z0JBQ2hDLEtBQUssRUFBRTtvQkFDSCxLQUFLLEVBQUUsT0FBTztpQkFDakI7YUFDSjtZQUNEO2dCQUNJLEtBQUssRUFBRSxRQUFRO2dCQUNmLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSx3QkFBd0IsQ0FBQztnQkFDckcsSUFBSSxFQUFFLG1CQUFtQixDQUFDLElBQUk7Z0JBQzlCLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsZ0RBQWdEO2dCQUN6RyxLQUFLLEVBQUU7b0JBQ0gsS0FBSyxFQUFFLE9BQU87aUJBQ2pCO2dCQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsc0JBQXNCO2dCQUNwQyxZQUFZLEVBQUU7b0JBQ1Y7d0JBQ0ksU0FBUyxFQUFFLDBCQUEwQixDQUFDLEtBQUs7d0JBQzNDLEtBQUssRUFBRSxlQUFlLENBQUMsR0FBRztxQkFDN0I7b0JBQ0Q7d0JBQ0ksU0FBUyxFQUFFLDBCQUEwQixDQUFDLE9BQU87d0JBQzdDLEtBQUssRUFBRSxlQUFlLENBQUMsTUFBTTtxQkFDaEM7b0JBQ0Q7d0JBQ0ksU0FBUyxFQUFFLDBCQUEwQixDQUFDLFVBQVU7d0JBQ2hELEtBQUssRUFBRSxlQUFlLENBQUMsSUFBSTtxQkFDOUI7b0JBQ0Q7d0JBQ0ksU0FBUyxFQUFFLDBCQUEwQixDQUFDLE9BQU87d0JBQzdDLEtBQUssRUFBRSxlQUFlLENBQUMsS0FBSztxQkFDL0I7aUJBQ0o7YUFDSjtZQUNEO2dCQUNJLEtBQUssRUFBRSxXQUFXO2dCQUNsQixVQUFVLEVBQUUsQ0FBQyxXQUFXLENBQUM7Z0JBQ3pCLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsdUJBQXVCLENBQUM7Z0JBQ3BHLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO2dCQUM5QixVQUFVLEVBQUUscUJBQXFCO2dCQUNqQyxLQUFLLEVBQUU7b0JBQ0gsS0FBSyxFQUFFLE9BQU87aUJBQ2pCO2FBQ0o7WUFDRDtnQkFDSSxLQUFLLEVBQUUsWUFBWTtnQkFDbkIsVUFBVSxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUMxQixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLHdCQUF3QixDQUFDO2dCQUNyRyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsSUFBSTtnQkFDOUIsVUFBVSxFQUFFLHFCQUFxQjtnQkFDakMsS0FBSyxFQUFFO29CQUNILEtBQUssRUFBRSxPQUFPO2lCQUNqQjthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxRQUEwQjtRQUNyRCxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUU7WUFDdkIsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDO1NBQ2hDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVPLGVBQWU7UUFDbkIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFckUsT0FBTztZQUNILElBQUksU0FBUyxDQUFDO2dCQUNWLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtnQkFDdEIsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLGlCQUFpQiw2QkFBNkIsQ0FBQzthQUNuRixDQUFDO1lBQ0YsSUFBSSxTQUFTLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO2dCQUNwQixJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxpQkFBaUIsd0JBQXdCLENBQUM7Z0JBQzNFLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLGlCQUFpQix3QkFBd0IsQ0FBQztnQkFDakYsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsT0FBTyxFQUFFO29CQUNMO3dCQUNJLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLGlCQUFpQixxREFBcUQsQ0FBQzt3QkFDeEcsS0FBSyxFQUFFLDBCQUEwQixDQUFDLEtBQUs7cUJBQzFDO29CQUNEO3dCQUNJLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLGlCQUFpQix1REFBdUQsQ0FBQzt3QkFDMUcsS0FBSyxFQUFFLDBCQUEwQixDQUFDLE9BQU87cUJBQzVDO29CQUNEO3dCQUNJLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLGlCQUFpQiwwREFBMEQsQ0FBQzt3QkFDN0csS0FBSyxFQUFFLDBCQUEwQixDQUFDLFVBQVU7cUJBQy9DO29CQUNEO3dCQUNJLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLGlCQUFpQix1REFBdUQsQ0FBQzt3QkFDMUcsS0FBSyxFQUFFLDBCQUEwQixDQUFDLE9BQU87cUJBQzVDO2lCQUNKO2FBQ0osQ0FBQztZQUNGLElBQUksU0FBUyxDQUFDO2dCQUNWLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtnQkFDcEIsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLGlCQUFpQix1QkFBdUIsQ0FBQzthQUM3RSxDQUFDO1lBRUYsSUFBSSxTQUFTLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO2dCQUNwQixJQUFJLEVBQUUsU0FBUztnQkFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxpQkFBaUIsd0JBQXdCLENBQUM7YUFDOUUsQ0FBQztTQUNMLENBQUM7SUFDTixDQUFDO0lBRU0sa0JBQWtCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLG1DQUFtQyxDQUFDLENBQUM7SUFDcEgsQ0FBQztJQUVNLHdCQUF3QjtRQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSx5Q0FBeUMsQ0FBQyxDQUFDO0lBQzFILENBQUM7SUFFTSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVNLGVBQWU7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVNLG9CQUFvQjtRQUN2QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRU0sbUJBQW1CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFTSxlQUFlO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVNLG1CQUFtQjtRQUN0QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFTSx5QkFBeUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFTSxRQUFRO1FBQ1gsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0RCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxPQUFPO1FBQ1YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFvQjtRQUNwQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLGVBQWU7UUFDbkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7UUFFOUMsT0FBTyxJQUFJLENBQUMsWUFBWTthQUNuQixNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQzthQUM1RyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRU8sY0FBYztRQUNsQixNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQzlDLE1BQU0sVUFBVSxHQUFHLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTVDLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZO2FBQzlCLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNoRCxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQzthQUM1RyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDOUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5CLElBQUksU0FBaUIsQ0FBQztRQUN0QixJQUFJLFVBQVUsQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRTtZQUM1QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx5QkFBdUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMzRixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyx5QkFBdUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2RixTQUFTLEdBQUcsc0JBQXNCLFNBQVMsb0JBQW9CLE9BQU8sYUFBYSxDQUFDO1NBQ3ZGO2FBQU0sSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFO1lBQzdCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLHlCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNGLFNBQVMsR0FBRyxpQkFBaUIsU0FBUyxhQUFhLENBQUM7U0FDdkQ7YUFBTSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUU7WUFDM0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMseUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkYsU0FBUyxHQUFHLGtCQUFrQixPQUFPLGFBQWEsQ0FBQztTQUN0RDthQUFNO1lBQ0gsc0RBQXNEO1NBQ3pEO1FBRUQsSUFBSSxTQUFTLEVBQUU7WUFDWCxXQUFXLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDaEU7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBRU8sVUFBVSxDQUFDLGFBQXlCLEVBQUU7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixtQ0FBUSxJQUFJLENBQUMsaUJBQWlCLEdBQUssVUFBVSxDQUFFLENBQUM7UUFDdEUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBRXBELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQyxNQUFNLGFBQWEsR0FBRztZQUNsQixVQUFVO1lBQ1YsY0FBYztZQUNkLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ2xELENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDaEQ7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLGNBQWMsQ0FBQyxNQUFXO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXpCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUV2QyxJQUFJLENBQUMsb0JBQW9CO2FBQ3BCLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQzthQUN2QyxJQUFJLENBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDN0IsVUFBVSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLDRCQUE0QixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsMEJBQTBCLEVBQUU7Z0JBQ3ZGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQzNCO1lBQ0QsTUFBTSxHQUFHLENBQUM7UUFDZCxDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FDMUM7YUFDQSxTQUFTLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxTQUFpQjtRQUMvQixNQUFNLE9BQU8sR0FBUSxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUM3RCxJQUFJLE9BQU8sRUFBRTtZQUNULE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNuQjtJQUNMLENBQUM7SUFFTSxTQUFTLENBQUMsVUFBdUI7UUFDcEMsSUFBSSxVQUFVLEVBQUU7WUFDWixJQUFJLENBQUMsaUJBQWlCLG1DQUFRLElBQUksQ0FBQyxpQkFBaUIsR0FBSyxVQUFVLENBQUUsQ0FBQztTQUN6RTtRQUNELElBQUksQ0FBQyxpQkFBaUIsbUNBQVEsSUFBSSxDQUFDLGlCQUFpQixLQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRSxDQUFDO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLGNBQWMsQ0FBQyxPQUF5QjtRQUMzQyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRTtZQUNyQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ3pDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM5QixDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQTtBQTVYMkIsbUNBQVcsR0FBRyxZQUFZLENBQUM7O1lBNEJ2QixjQUFjO1lBQ1YsZ0JBQWdCO1lBQ2QsV0FBVztZQUNMLGlCQUFpQjtZQUNkLG9CQUFvQjtZQUMzQixhQUFhO1lBQ1osMEJBQTBCOztBQWQvRDtJQURDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztzREFDVDtBQUdwQjtJQURDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQzswRUFDdUI7QUF6Qm5ELHVCQUF1QjtJQUxuQyxTQUFTLENBQUM7UUFDUCw0OU5BQStDO1FBRS9DLFNBQVMsRUFBRSxFQUFFO0tBQ2hCLENBQUM7R0FDVyx1QkFBdUIsQ0E4WG5DO1NBOVhZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQge1xuICAgIEVudW1CYWRnZUNvbG9ycyxcbiAgICBFbnVtQ29sdW1uRmllbGRUeXBlLFxuICAgIEZpZWxkVHlwZSxcbiAgICBGb3JtRmllbGQsXG4gICAgSVRva2VuLFxuICAgIFRhYmxlQ29sdW1uTG9jYWxlT3B0aW9uc1xufSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMgfSBmcm9tIFwiLi4vZW51bXMvZW51bS1leGNsdXNpb24tcHJvY2Vzcy1zdGF0dXNcIjtcbmltcG9ydCB7IEV4Y2x1c2lvblByb2Nlc3MgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5pbXBvcnQgeyBMb2dpY2FsRGVsZXRlU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlc1wiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBMaXN0UGFyYW1zIH0gZnJvbSBcIi4uL21vZGVscy9saXN0LXBhcmFtc1wiO1xuaW1wb3J0IHsgTG9naWNhbERlbGV0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvbG9naWNhbC1kZWxldGUtY29uZmlnLnNlcnZpY2VcIjtcbmltcG9ydCB7IEV4Y2x1c2lvbkRldGFpbHNDb21wb25lbnQgfSBmcm9tIFwiLi4vZXhjbHVzaW9uLWRldGFpbHNcIjtcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZmlsdGVyLnNlcnZpY2VcIjtcblxuY29uc3QgSFRUUF9DT0RFX1NFUlZFUl9FUlJPUl9TVEFSVCA9IDUwMDtcbmNvbnN0IEhUVFBfQ09ERV9TRVJWRVJfRVJST1JfRU5EID0gNjAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2V4Y2x1c2lvbnMtbGlzdC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW10sXG4gICAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBFeGNsdXNpb25zTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95ICB7XG5cbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBEQVRFX0ZPUk1BVCA9IFwiWVlZWS1NTS1ERFwiO1xuXG4gICAgcHVibGljIGxvY2FsZSE6IFRhYmxlQ29sdW1uTG9jYWxlT3B0aW9ucztcbiAgICBwdWJsaWMgZW50aXR5TmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYyBlbnRpdHlEZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHB1YmxpYyBwcm9jZXNzSWQ6IHN0cmluZztcblxuICAgIHB1YmxpYyBjdXJyZW50TGlzdFBhcmFtczogTGlzdFBhcmFtcyA9IHsgcGFnZTogMCwgc2l6ZTogMTAsIHNvcnQ6IFtdLCBmaWx0ZXJEYXRhOiB7fSB9O1xuICAgIHB1YmxpYyBncmlkRGF0YTogRXhjbHVzaW9uUHJvY2Vzc1tdO1xuICAgIHB1YmxpYyBncmlkQ29sdW1uczogYW55W107XG4gICAgcHVibGljIHNob3dMb2FkZXIgPSBmYWxzZTtcbiAgICBwdWJsaWMgdG90YWxSZWNvcmRzID0gMDtcblxuICAgIHB1YmxpYyBmaWx0ZXJGaWVsZHM6IEZvcm1GaWVsZFtdO1xuICAgIHB1YmxpYyBmaWx0ZXJGb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgICBwdWJsaWMgZmlsdGVyc1BhbmVsQ29sbGFwc2VkID0gdHJ1ZTtcbiAgICBwdWJsaWMgc2VhcmNoVG9rZW5zOiBJVG9rZW5bXSA9IFtdO1xuICAgIHB1YmxpYyBzZXJ2ZXJFcnJvciA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZChcImV4Y2x1c2lvbnNUYWJsZVwiKVxuICAgIHB1YmxpYyB0YWJsZTogVGFibGU7XG5cbiAgICBAVmlld0NoaWxkKEV4Y2x1c2lvbkRldGFpbHNDb21wb25lbnQpXG4gICAgcHVibGljIGV4Y2x1c2lvbkRldGFpbHNDb21wb25lbnQ6IEV4Y2x1c2lvbkRldGFpbHNDb21wb25lbnQ7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2ljYWxEZWxldGVTZXJ2aWNlOiBMb2dpY2FsRGVsZXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJTZXJ2aWNlOiBGaWx0ZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByb2plY3RDb25maWdzOiBMb2dpY2FsRGVsZXRlQ29uZmlnU2VydmljZVxuICAgICkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAgPSB0aGlzLmdldEZvcm1CdWlsZGVyKCk7XG4gICAgICAgIHRoaXMuZmlsdGVyRmllbGRzID0gdGhpcy5nZXRGaWx0ZXJGaWVsZHMoKTtcbiAgICAgICAgdGhpcy5ncmlkQ29sdW1ucyA9IHRoaXMuZ2V0R3JpZENvbHVtbnMoKTtcblxuICAgICAgICB0aGlzLnJvdXRlLmRhdGFcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogeyBbY29uZmlnczogc3RyaW5nXTogYW55LCBsb2NhbGVDb25maWc6IFRhYmxlQ29sdW1uTG9jYWxlT3B0aW9ucyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbGUgPSBkYXRhLmxvY2FsZUNvbmZpZztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtc1xuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChwYXJhbXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZW50aXR5TmFtZSA9IHBhcmFtcy5lbnRpdHlOYW1lO1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Jhc2VkT25Sb3V0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXNcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocXVlcnlQYXJhbXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZW50aXR5RGVzY3JpcHRpb24gPSBxdWVyeVBhcmFtcy5lbnRpdHlEZXNjcmlwdGlvbjtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NJZCA9IHF1ZXJ5UGFyYW1zLnByb2Nlc3NJZDtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dCYXNlZE9uUm91dGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd0Jhc2VkT25Sb3V0ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZW50aXR5TmFtZSAmJiB0aGlzLmVudGl0eURlc2NyaXB0aW9uICYmIHRoaXMucHJvY2Vzc0lkKSB7XG4gICAgICAgICAgICB0aGlzLmV4Y2x1c2lvbkRldGFpbHNDb21wb25lbnQuc2hvd0RldGFpbHMoe1xuICAgICAgICAgICAgICAgIHByb2Nlc3NJZDogdGhpcy5wcm9jZXNzSWQsXG4gICAgICAgICAgICAgICAgZW50aXR5RGVzY3JpcHRpb246IHRoaXMuZW50aXR5RGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgZW50aXR5TmFtZTogdGhpcy5lbnRpdHlOYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGb3JtQnVpbGRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IFt1bmRlZmluZWQsIFZhbGlkYXRvcnMuY29tcG9zZShbXSldLFxuICAgICAgICAgICAgc3RhdHVzOiBbdW5kZWZpbmVkLCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcbiAgICAgICAgICAgIHN0YXJ0RGF0ZTogW3sgdmFsdWU6IHVuZGVmaW5lZCwgZGlzYWJsZWQ6IGZhbHNlIH0sIFZhbGlkYXRvcnMuY29tcG9zZShbXSldLFxuICAgICAgICAgICAgZW5kRGF0ZTogW3sgdmFsdWU6IHVuZGVmaW5lZCwgZGlzYWJsZWQ6IGZhbHNlIH0sIFZhbGlkYXRvcnMuY29tcG9zZShbXSldXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0R3JpZENvbHVtbnMoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwiZGVzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXCJkZXNjcmlwdGlvblwiXSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9kZXNjcmlwdGlvbmApLFxuICAgICAgICAgICAgICAgIHR5cGU6IEVudW1Db2x1bW5GaWVsZFR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjMwMHB4XCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcInN0YXR1c1wiLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtcInN0YXR1c1wiXSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zdGF0dXNgKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnVtQ29sdW1uRmllbGRUeXBlLkVOVU0sXG4gICAgICAgICAgICAgICAgZW51bVByZWZpeDogYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9lbnVtX2V4Y2x1c2lvbl9wcm9jZXNzX3N0YXR1c19gLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwMHB4XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRvb2x0aXA6IHRoaXMuZ2V0Q29sdW1uU3RhdHVzVG9vbHRpcCxcbiAgICAgICAgICAgICAgICBiYWRnZUNvbmZpZ3M6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW51bVZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5FUlJPUixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuUkVEXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuUEVORElORyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuWUVMTE9XXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuUFJPQ0VTU0lORyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuQkxVRVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnVtVmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlNVQ0NFU1MsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogRW51bUJhZGdlQ29sb3JzLkdSRUVOXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcInN0YXJ0RGF0ZVwiLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtcInN0YXJ0RGF0ZVwiXSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zdGFydGApLFxuICAgICAgICAgICAgICAgIHR5cGU6IEVudW1Db2x1bW5GaWVsZFR5cGUuREFURSxcbiAgICAgICAgICAgICAgICBkYXRlRm9ybWF0OiBcIkREL01NL1lZWVkgSEg6bW06c3NcIixcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxMDBweFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJmaW5pc2hEYXRlXCIsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogW1wiZmluaXNoRGF0ZVwiXSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9maW5pc2hgKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnVtQ29sdW1uRmllbGRUeXBlLkRBVEUsXG4gICAgICAgICAgICAgICAgZGF0ZUZvcm1hdDogXCJERC9NTS9ZWVlZIEhIOm1tOnNzXCIsXG4gICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwcHhcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbHVtblN0YXR1c1Rvb2x0aXAocm93VmFsdWU6IEV4Y2x1c2lvblByb2Nlc3MpIHtcbiAgICAgICAgaWYgKHJvd1ZhbHVlLmVycm9yTWVzc2FnZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJvd1ZhbHVlLmVycm9yTWVzc2FnZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsdGVyRmllbGRzKCkge1xuICAgICAgICBjb25zdCB0cmFuc2xhdGlvblByZWZpeCA9IHRoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKTtcblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgICAgICAgICBuYW1lOiBcImRlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dHJhbnNsYXRpb25QcmVmaXh9LmxvZ2ljYWxfZGVsZXRlX2Rlc2NyaXB0aW9uYClcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkVudW0sXG4gICAgICAgICAgICAgICAgbmFtZTogXCJzdGF0dXNcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0cmFuc2xhdGlvblByZWZpeH0ubG9naWNhbF9kZWxldGVfc3RhdHVzYCksXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dHJhbnNsYXRpb25QcmVmaXh9LmxvZ2ljYWxfZGVsZXRlX3N0YXR1c2ApLFxuICAgICAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dHJhbnNsYXRpb25QcmVmaXh9LmxvZ2ljYWxfZGVsZXRlX2VudW1fZXhjbHVzaW9uX3Byb2Nlc3Nfc3RhdHVzX2Vycm9yYCksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuRVJST1JcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dHJhbnNsYXRpb25QcmVmaXh9LmxvZ2ljYWxfZGVsZXRlX2VudW1fZXhjbHVzaW9uX3Byb2Nlc3Nfc3RhdHVzX3BlbmRpbmdgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5QRU5ESU5HXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RyYW5zbGF0aW9uUHJlZml4fS5sb2dpY2FsX2RlbGV0ZV9lbnVtX2V4Y2x1c2lvbl9wcm9jZXNzX3N0YXR1c19wcm9jZXNzaW5nYCksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuUFJPQ0VTU0lOR1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0cmFuc2xhdGlvblByZWZpeH0ubG9naWNhbF9kZWxldGVfZW51bV9leGNsdXNpb25fcHJvY2Vzc19zdGF0dXNfc3VjY2Vzc2ApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlNVQ0NFU1NcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkRhdGUsXG4gICAgICAgICAgICAgICAgbmFtZTogXCJzdGFydERhdGVcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0cmFuc2xhdGlvblByZWZpeH0ubG9naWNhbF9kZWxldGVfc3RhcnRgKVxuICAgICAgICAgICAgfSksXG5cbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5EYXRlLFxuICAgICAgICAgICAgICAgIG5hbWU6IFwiZW5kRGF0ZVwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RyYW5zbGF0aW9uUHJlZml4fS5sb2dpY2FsX2RlbGV0ZV9maW5pc2hgKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RW1wdHlTdGF0ZVRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2VtcHR5X3N0YXRlX3RpdGxlYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEVtcHR5U3RhdGVEZXNjcmlwdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9lbXB0eV9zdGF0ZV9kZXNjcmlwdGlvbmApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUaXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9saXN0X3RpdGxlYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERldGFpbHNCdXR0b25UaXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9kZXRhaWxzYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpbHRlcnNUaXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5maWx0ZXJzYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpbHRlckJ1dHRvblRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmZpbHRlcmApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDbGVhckJ1dHRvblRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmNsZWFyYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEVycm9ySW52YWxpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5lcnJvcl9pbnZhbGlkYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEVycm9yU2VydmVyVGl0bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0uZXJyb3Jfc2VydmVyX3RpdGxlYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEVycm9yU2VydmVyRGVzY3JpcHRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0uZXJyb3Jfc2VydmVyX2Rlc2NyaXB0aW9uYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFjdGlvbnNDb2x1bW5MYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5hY3Rpb25zYCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2VhcmNoKCkge1xuICAgICAgICBjb25zdCBmaWx0ZXJEYXRhID0gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJzUGFuZWxDb2xsYXBzZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlc2V0R3JpZCh7IGZpbHRlckRhdGEgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xlYXIoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLnJlc2V0KCk7XG4gICAgICAgIGNvbnN0IGZpbHRlckRhdGEgPSB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuICAgICAgICB0aGlzLnJlc2V0R3JpZCh7IGZpbHRlckRhdGEgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUmVtb3ZlVG9rZW4odG9rZW46IElUb2tlbikge1xuICAgICAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQodG9rZW4uaWQpLnNldFZhbHVlKHVuZGVmaW5lZCk7XG4gICAgICAgIGNvbnN0IGZpbHRlckRhdGEgPSB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuICAgICAgICB0aGlzLnJlc2V0R3JpZCh7IGZpbHRlckRhdGEgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uR3JpZENoYW5nZShldmVudDogTGF6eUxvYWRFdmVudCkge1xuICAgICAgICBjb25zdCBzaXplID0gZXZlbnQucm93cztcbiAgICAgICAgY29uc3QgcGFnZSA9IGV2ZW50LmZpcnN0IC8gc2l6ZTtcbiAgICAgICAgY29uc3Qgc29ydCA9IGV2ZW50Lm11bHRpU29ydE1ldGEgPyBldmVudC5tdWx0aVNvcnRNZXRhIDogW107XG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUdyaWQoeyBwYWdlLCBzaXplLCBzb3J0IH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsdGVyVG9rZW5zKCkge1xuICAgICAgICBjb25zdCBmaWx0ZXJEYXRhID0gdGhpcy5maWx0ZXJGb3JtR3JvdXAudmFsdWU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyRmllbGRzXG4gICAgICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT4gZmlsdGVyRGF0YVtuYW1lXSAhPT0gdW5kZWZpbmVkICYmIGZpbHRlckRhdGFbbmFtZV0gIT09IFwiXCIgJiYgZmlsdGVyRGF0YVtuYW1lXSAhPT0gbnVsbClcbiAgICAgICAgICAgIC5tYXAoZm9ybUZpZWxkID0+IHRoaXMuZmlsdGVyU2VydmljZS5jcmVhdGVGaWx0ZXJUb2tlbnMoZm9ybUZpZWxkLCBmaWx0ZXJEYXRhW2Zvcm1GaWVsZC5uYW1lXSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsdGVyUXVlcnkoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJEYXRhIH0gPSB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zO1xuICAgICAgICBjb25zdCBkYXRlRmllbGRzID0gW1wic3RhcnREYXRlXCIsIFwiZW5kRGF0ZVwiXTtcblxuICAgICAgICBsZXQgZmlsdGVyUXVlcnkgPSB0aGlzLmZpbHRlckZpZWxkc1xuICAgICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+ICFkYXRlRmllbGRzLmluY2x1ZGVzKG5hbWUpKVxuICAgICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+IGZpbHRlckRhdGFbbmFtZV0gIT09IHVuZGVmaW5lZCAmJiBmaWx0ZXJEYXRhW25hbWVdICE9PSBcIlwiICYmIGZpbHRlckRhdGFbbmFtZV0gIT09IG51bGwpXG4gICAgICAgICAgICAubWFwKGZvcm1GaWVsZCA9PiB0aGlzLmZpbHRlclNlcnZpY2UuY3JlYXRlRmlsdGVyU3RyaW5nKGZvcm1GaWVsZCwgZmlsdGVyRGF0YVtmb3JtRmllbGQubmFtZV0pKVxuICAgICAgICAgICAgLmpvaW4oXCIgYW5kIFwiKTtcblxuICAgICAgICBsZXQgZGF0ZVF1ZXJ5OiBzdHJpbmc7XG4gICAgICAgIGlmIChmaWx0ZXJEYXRhLnN0YXJ0RGF0ZSAmJiBmaWx0ZXJEYXRhLmVuZERhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG1vbWVudChmaWx0ZXJEYXRhLnN0YXJ0RGF0ZSkuZm9ybWF0KEV4Y2x1c2lvbnNMaXN0Q29tcG9uZW50LkRBVEVfRk9STUFUKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZERhdGUgPSBtb21lbnQoZmlsdGVyRGF0YS5lbmREYXRlKS5mb3JtYXQoRXhjbHVzaW9uc0xpc3RDb21wb25lbnQuREFURV9GT1JNQVQpO1xuICAgICAgICAgICAgZGF0ZVF1ZXJ5ID0gYHN0YXJ0RGF0ZSBiZXR3ZWVuICcke3N0YXJ0RGF0ZX1UMDA6MDA6MDBaJyBhbmQgJyR7ZW5kRGF0ZX1UMjM6NTk6NTlaJ2A7XG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyRGF0YS5zdGFydERhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG1vbWVudChmaWx0ZXJEYXRhLnN0YXJ0RGF0ZSkuZm9ybWF0KEV4Y2x1c2lvbnNMaXN0Q29tcG9uZW50LkRBVEVfRk9STUFUKTtcbiAgICAgICAgICAgIGRhdGVRdWVyeSA9IGBzdGFydERhdGUgPj0gJyR7c3RhcnREYXRlfVQwMDowMDowMFonYDtcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXJEYXRhLmVuZERhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGVuZERhdGUgPSBtb21lbnQoZmlsdGVyRGF0YS5lbmREYXRlKS5mb3JtYXQoRXhjbHVzaW9uc0xpc3RDb21wb25lbnQuREFURV9GT1JNQVQpO1xuICAgICAgICAgICAgZGF0ZVF1ZXJ5ID0gYGZpbmlzaERhdGUgPD0gJyR7ZW5kRGF0ZX1UMjM6NTk6NTlaJ2A7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBOw6NvIMOpIG5lY2Vzc8OhcmlvIG5lbmh1bWEgY29uZGnDp8OjbyBhIG1haXMgbm8gZmlsdHJvLlxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGVRdWVyeSkge1xuICAgICAgICAgICAgZmlsdGVyUXVlcnkgKz0gZmlsdGVyUXVlcnkgPyBgIGFuZCAke2RhdGVRdWVyeX1gIDogZGF0ZVF1ZXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpbHRlclF1ZXJ5O1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlR3JpZChsaXN0UGFyYW1zOiBMaXN0UGFyYW1zID0ge30pIHtcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdFBhcmFtcyA9IHsgLi4udGhpcy5jdXJyZW50TGlzdFBhcmFtcywgLi4ubGlzdFBhcmFtcyB9O1xuICAgICAgICBjb25zdCB7IHBhZ2UsIHNpemUsIHNvcnQgfSA9IHRoaXMuY3VycmVudExpc3RQYXJhbXM7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hUb2tlbnMgPSB0aGlzLmdldEZpbHRlclRva2VucygpO1xuICAgICAgICBjb25zdCBmaWx0ZXJRdWVyeSA9IHRoaXMuZ2V0RmlsdGVyUXVlcnkoKTtcbiAgICAgICAgY29uc3QgZGlzcGxheUZpZWxkcyA9IFtcbiAgICAgICAgICAgIFwicmVjb3JkSWRcIixcbiAgICAgICAgICAgIFwiZXJyb3JNZXNzYWdlXCIsXG4gICAgICAgICAgICAuLi50aGlzLmdyaWRDb2x1bW5zLm1hcChjb2x1bW4gPT4gY29sdW1uLmZpZWxkKVxuICAgICAgICBdO1xuXG4gICAgICAgIGlmICghc29ydC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHNvcnQucHVzaCh7IGZpZWxkOiAnc3RhcnREYXRlJywgb3JkZXI6IC0xIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5saXN0RXhjbHVzaW9ucyh7IHBhZ2UsIHNpemUsIHNvcnQsIGZpbHRlclF1ZXJ5LCBkaXNwbGF5RmllbGRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBsaXN0RXhjbHVzaW9ucyhwYXJhbXM6IGFueSkge1xuICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSB0cnVlO1xuICAgICAgICB0aGlzLnNlcnZlckVycm9yID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgdGhpcy5sb2dpY2FsRGVsZXRlU2VydmljZVxuICAgICAgICAgICAgLmxpc3RFeGNsdXNpb25zKHRoaXMuZW50aXR5TmFtZSwgcGFyYW1zKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5zdGF0dXMgPj0gSFRUUF9DT0RFX1NFUlZFUl9FUlJPUl9TVEFSVCAmJiBlcnIuc3RhdHVzIDwgSFRUUF9DT0RFX1NFUlZFUl9FUlJPUl9FTkQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmVyRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEgPSBsaXN0LmNvbnRlbnRzO1xuICAgICAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gbGlzdC50b3RhbEVsZW1lbnRzO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGZvY3VzSW5wdXQoZWxlbWVudElkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudDogYW55ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7ZWxlbWVudElkfWApO1xuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0R3JpZChsaXN0UGFyYW1zPzogTGlzdFBhcmFtcykge1xuICAgICAgICBpZiAobGlzdFBhcmFtcykge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50TGlzdFBhcmFtcyA9IHsgLi4udGhpcy5jdXJyZW50TGlzdFBhcmFtcywgLi4ubGlzdFBhcmFtcyB9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIHBhZ2U6IDAsIHNvcnQ6IFtdIH07XG4gICAgICAgIHRoaXMudGFibGUucmVzZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGlja0RldGFpbHMocm93RGF0YTogRXhjbHVzaW9uUHJvY2Vzcykge1xuICAgICAgICB0aGlzLmV4Y2x1c2lvbkRldGFpbHNDb21wb25lbnQuc2hvd0RldGFpbHMoe1xuICAgICAgICAgICAgcHJvY2Vzc0lkOiByb3dEYXRhLmlkLFxuICAgICAgICAgICAgZW50aXR5RGVzY3JpcHRpb246IHRoaXMuZW50aXR5RGVzY3JpcHRpb24sXG4gICAgICAgICAgICBlbnRpdHlOYW1lOiB0aGlzLmVudGl0eU5hbWVcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,47 @@
1
+ import { __decorate } from "tslib";
2
+ import { CommonModule } from "@angular/common";
3
+ import { NgModule } from "@angular/core";
4
+ import { PanelModule } from "primeng/panel";
5
+ import { TableModule as PrimeTableModule } from "primeng/table";
6
+ import { ButtonModule, LoadingStateModule, TableModule, LocaleModule, TokenListModule, DynamicFormModule, EmptyStateModule, ControlErrorsModule, InfoSignModule } from "@seniorsistemas/angular-components";
7
+ import { ExclusionsListComponent } from "./exclusions-list.component";
8
+ import { TranslateModule } from "@ngx-translate/core";
9
+ import { FormsModule, ReactiveFormsModule } from "@angular/forms";
10
+ import { DialogModule } from "primeng/dialog";
11
+ import { ConfirmDialogModule } from "primeng/confirmdialog";
12
+ import { InputTextModule } from "primeng/inputtext";
13
+ import { ExclusionDetailsModule } from "../exclusion-details";
14
+ import { ExclusionsListFeatureRouting } from "./exclusions-list.routing";
15
+ let ExclusionsListModule = class ExclusionsListModule {
16
+ };
17
+ ExclusionsListModule = __decorate([
18
+ NgModule({
19
+ imports: [
20
+ FormsModule,
21
+ ReactiveFormsModule,
22
+ TranslateModule,
23
+ CommonModule,
24
+ ControlErrorsModule,
25
+ ButtonModule,
26
+ PanelModule,
27
+ InputTextModule,
28
+ InfoSignModule,
29
+ ConfirmDialogModule,
30
+ DialogModule,
31
+ PrimeTableModule,
32
+ TableModule,
33
+ LoadingStateModule,
34
+ EmptyStateModule,
35
+ DynamicFormModule,
36
+ TokenListModule,
37
+ LocaleModule.forChild(),
38
+ ExclusionDetailsModule,
39
+ ExclusionsListFeatureRouting
40
+ ],
41
+ declarations: [ExclusionsListComponent],
42
+ exports: [ExclusionsListComponent],
43
+ entryComponents: [ExclusionsListComponent]
44
+ })
45
+ ], ExclusionsListModule);
46
+ export { ExclusionsListModule };
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9ucy1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9leGNsdXNpb24tcHJvY2Vzcy1jb21wb25lbnQvIiwic291cmNlcyI6WyJleGNsdXNpb25zLWxpc3QvZXhjbHVzaW9ucy1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxJQUFJLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFDSCxZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxZQUFZLEVBQ1osZUFBZSxFQUNmLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGNBQWMsRUFDakIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUE2QnpFLElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQW9CO0NBQUcsQ0FBQTtBQUF2QixvQkFBb0I7SUEzQmhDLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRTtZQUNMLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxlQUFlO1lBQ2YsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUN2QixzQkFBc0I7WUFDdEIsNEJBQTRCO1NBQy9CO1FBQ0QsWUFBWSxFQUFFLENBQUMsdUJBQXVCLENBQUM7UUFDdkMsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7UUFDbEMsZUFBZSxFQUFFLENBQUMsdUJBQXVCLENBQUM7S0FDN0MsQ0FBQztHQUNXLG9CQUFvQixDQUFHO1NBQXZCLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFBhbmVsTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvcGFuZWxcIjtcbmltcG9ydCB7IFRhYmxlTW9kdWxlIGFzIFByaW1lVGFibGVNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHtcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgTG9hZGluZ1N0YXRlTW9kdWxlLFxuICAgIFRhYmxlTW9kdWxlLFxuICAgIExvY2FsZU1vZHVsZSxcbiAgICBUb2tlbkxpc3RNb2R1bGUsXG4gICAgRHluYW1pY0Zvcm1Nb2R1bGUsXG4gICAgRW1wdHlTdGF0ZU1vZHVsZSxcbiAgICBDb250cm9sRXJyb3JzTW9kdWxlLFxuICAgIEluZm9TaWduTW9kdWxlXG59IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBFeGNsdXNpb25zTGlzdENvbXBvbmVudCB9IGZyb20gXCIuL2V4Y2x1c2lvbnMtbGlzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvZGlhbG9nXCI7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvY29uZmlybWRpYWxvZ1wiO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSBcInByaW1lbmcvaW5wdXR0ZXh0XCI7XG5pbXBvcnQgeyBFeGNsdXNpb25EZXRhaWxzTW9kdWxlIH0gZnJvbSBcIi4uL2V4Y2x1c2lvbi1kZXRhaWxzXCI7XG5pbXBvcnQgeyBFeGNsdXNpb25zTGlzdEZlYXR1cmVSb3V0aW5nIH0gZnJvbSBcIi4vZXhjbHVzaW9ucy1saXN0LnJvdXRpbmdcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQ29udHJvbEVycm9yc01vZHVsZSxcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxuICAgICAgICBQYW5lbE1vZHVsZSxcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgICAgICBJbmZvU2lnbk1vZHVsZSxcbiAgICAgICAgQ29uZmlybURpYWxvZ01vZHVsZSxcbiAgICAgICAgRGlhbG9nTW9kdWxlLFxuICAgICAgICBQcmltZVRhYmxlTW9kdWxlLFxuICAgICAgICBUYWJsZU1vZHVsZSxcbiAgICAgICAgTG9hZGluZ1N0YXRlTW9kdWxlLFxuICAgICAgICBFbXB0eVN0YXRlTW9kdWxlLFxuICAgICAgICBEeW5hbWljRm9ybU1vZHVsZSxcbiAgICAgICAgVG9rZW5MaXN0TW9kdWxlLFxuICAgICAgICBMb2NhbGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICAgICAgRXhjbHVzaW9uRGV0YWlsc01vZHVsZSxcbiAgICAgICAgRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ1xuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRXhjbHVzaW9uc0xpc3RDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtFeGNsdXNpb25zTGlzdENvbXBvbmVudF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbRXhjbHVzaW9uc0xpc3RDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEV4Y2x1c2lvbnNMaXN0TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,115 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule, Injectable, Component } from "@angular/core";
3
+ import { RouterModule } from "@angular/router";
4
+ import { TranslateService } from "@ngx-translate/core";
5
+ import { PermissionsService } from "@seniorsistemas/platform-components";
6
+ import { LocaleService } from "@seniorsistemas/angular-components";
7
+ import { ExclusionsListComponent } from "./exclusions-list.component";
8
+ import { LogicalDeleteConfigService } from "../services/logical-delete-config.service";
9
+ let ExclusionsListFeatureRoutingGuard = class ExclusionsListFeatureRoutingGuard {
10
+ canActivate() {
11
+ return true;
12
+ }
13
+ };
14
+ ExclusionsListFeatureRoutingGuard = __decorate([
15
+ Injectable()
16
+ ], ExclusionsListFeatureRoutingGuard);
17
+ export { ExclusionsListFeatureRoutingGuard };
18
+ let ExclusionsListFeatureRoutingListTitleResolver = class ExclusionsListFeatureRoutingListTitleResolver {
19
+ constructor(translate, projectConfigs) {
20
+ this.translate = translate;
21
+ this.projectConfigs = projectConfigs;
22
+ }
23
+ resolve() {
24
+ return this.translate.get(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_list_title`);
25
+ }
26
+ };
27
+ ExclusionsListFeatureRoutingListTitleResolver.ctorParameters = () => [
28
+ { type: TranslateService },
29
+ { type: LogicalDeleteConfigService }
30
+ ];
31
+ ExclusionsListFeatureRoutingListTitleResolver = __decorate([
32
+ Injectable()
33
+ ], ExclusionsListFeatureRoutingListTitleResolver);
34
+ export { ExclusionsListFeatureRoutingListTitleResolver };
35
+ let ExclusionsListFeatureRoutingPermissionResolver = class ExclusionsListFeatureRoutingPermissionResolver {
36
+ constructor(permissionsService) {
37
+ this.permissionsService = permissionsService;
38
+ }
39
+ resolve() {
40
+ return this.permissionsService.get();
41
+ }
42
+ };
43
+ ExclusionsListFeatureRoutingPermissionResolver.ctorParameters = () => [
44
+ { type: PermissionsService }
45
+ ];
46
+ ExclusionsListFeatureRoutingPermissionResolver = __decorate([
47
+ Injectable()
48
+ ], ExclusionsListFeatureRoutingPermissionResolver);
49
+ export { ExclusionsListFeatureRoutingPermissionResolver };
50
+ let ExclusionsListFeatureRoutingLocaleResolver = class ExclusionsListFeatureRoutingLocaleResolver {
51
+ constructor(localeService) {
52
+ this.localeService = localeService;
53
+ }
54
+ resolve() {
55
+ return this.localeService.get();
56
+ }
57
+ };
58
+ ExclusionsListFeatureRoutingLocaleResolver.ctorParameters = () => [
59
+ { type: LocaleService }
60
+ ];
61
+ ExclusionsListFeatureRoutingLocaleResolver = __decorate([
62
+ Injectable()
63
+ ], ExclusionsListFeatureRoutingLocaleResolver);
64
+ export { ExclusionsListFeatureRoutingLocaleResolver };
65
+ let EmptyComponent = class EmptyComponent {
66
+ };
67
+ EmptyComponent = __decorate([
68
+ Component({
69
+ template: `<router-outlet></router-outlet>`
70
+ })
71
+ ], EmptyComponent);
72
+ export { EmptyComponent };
73
+ export const routes = [
74
+ {
75
+ path: "exclusions-list",
76
+ component: EmptyComponent,
77
+ canActivate: [
78
+ ExclusionsListFeatureRoutingGuard
79
+ ],
80
+ resolve: {
81
+ allPermissions: ExclusionsListFeatureRoutingPermissionResolver,
82
+ localeConfig: ExclusionsListFeatureRoutingLocaleResolver,
83
+ routeTitle: ExclusionsListFeatureRoutingListTitleResolver
84
+ },
85
+ children: [
86
+ {
87
+ path: ":entityName",
88
+ component: ExclusionsListComponent
89
+ }
90
+ ]
91
+ }
92
+ ];
93
+ let ExclusionsListFeatureRouting = class ExclusionsListFeatureRouting {
94
+ };
95
+ ExclusionsListFeatureRouting = __decorate([
96
+ NgModule({
97
+ imports: [
98
+ RouterModule.forChild(routes)
99
+ ],
100
+ exports: [
101
+ RouterModule
102
+ ],
103
+ providers: [
104
+ ExclusionsListFeatureRoutingGuard,
105
+ ExclusionsListFeatureRoutingPermissionResolver,
106
+ ExclusionsListFeatureRoutingLocaleResolver,
107
+ ExclusionsListFeatureRoutingListTitleResolver
108
+ ],
109
+ declarations: [
110
+ EmptyComponent
111
+ ]
112
+ })
113
+ ], ExclusionsListFeatureRouting);
114
+ export { ExclusionsListFeatureRouting };
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9ucy1saXN0LnJvdXRpbmcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvZXhjbHVzaW9uLXByb2Nlc3MtY29tcG9uZW50LyIsInNvdXJjZXMiOlsiZXhjbHVzaW9ucy1saXN0L2V4Y2x1c2lvbnMtbGlzdC5yb3V0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHdkYsSUFBYSxpQ0FBaUMsR0FBOUMsTUFBYSxpQ0FBaUM7SUFDbkMsV0FBVztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSixDQUFBO0FBSlksaUNBQWlDO0lBRDdDLFVBQVUsRUFBRTtHQUNBLGlDQUFpQyxDQUk3QztTQUpZLGlDQUFpQztBQU85QyxJQUFhLDZDQUE2QyxHQUExRCxNQUFhLDZDQUE2QztJQUN0RCxZQUNxQixTQUEyQixFQUMzQixjQUEwQztRQUQxQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBNEI7SUFDNUQsQ0FBQztJQUVHLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7Q0FDSixDQUFBOztZQVBtQyxnQkFBZ0I7WUFDWCwwQkFBMEI7O0FBSHRELDZDQUE2QztJQUR6RCxVQUFVLEVBQUU7R0FDQSw2Q0FBNkMsQ0FTekQ7U0FUWSw2Q0FBNkM7QUFZMUQsSUFBYSw4Q0FBOEMsR0FBM0QsTUFBYSw4Q0FBOEM7SUFDdkQsWUFBNkIsa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFBRyxDQUFDO0lBRWhFLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0NBQ0osQ0FBQTs7WUFMb0Qsa0JBQWtCOztBQUQxRCw4Q0FBOEM7SUFEMUQsVUFBVSxFQUFFO0dBQ0EsOENBQThDLENBTTFEO1NBTlksOENBQThDO0FBUzNELElBQWEsMENBQTBDLEdBQXZELE1BQWEsMENBQTBDO0lBQ25ELFlBQTZCLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUV0RCxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7Q0FDSixDQUFBOztZQUwrQyxhQUFhOztBQURoRCwwQ0FBMEM7SUFEdEQsVUFBVSxFQUFFO0dBQ0EsMENBQTBDLENBTXREO1NBTlksMENBQTBDO0FBV3ZELElBQWEsY0FBYyxHQUEzQixNQUFhLGNBQWM7Q0FBRyxDQUFBO0FBQWpCLGNBQWM7SUFIMUIsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGlDQUFpQztLQUM5QyxDQUFDO0dBQ1csY0FBYyxDQUFHO1NBQWpCLGNBQWM7QUFFM0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFXO0lBQzFCO1FBQ0ksSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixTQUFTLEVBQUUsY0FBYztRQUN6QixXQUFXLEVBQUU7WUFDVCxpQ0FBaUM7U0FDcEM7UUFDRCxPQUFPLEVBQUU7WUFDTCxjQUFjLEVBQUUsOENBQThDO1lBQzlELFlBQVksRUFBRSwwQ0FBMEM7WUFDeEQsVUFBVSxFQUFFLDZDQUE2QztTQUM1RDtRQUNELFFBQVEsRUFBRTtZQUNOO2dCQUNJLElBQUksRUFBRSxhQUFhO2dCQUNuQixTQUFTLEVBQUUsdUJBQXVCO2FBQ3JDO1NBQ0o7S0FDSjtDQUNKLENBQUM7QUFtQkYsSUFBYSw0QkFBNEIsR0FBekMsTUFBYSw0QkFBNEI7Q0FBRyxDQUFBO0FBQS9CLDRCQUE0QjtJQWpCeEMsUUFBUSxDQUFDO1FBQ04sT0FBTyxFQUFFO1lBQ0wsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7U0FDaEM7UUFDRCxPQUFPLEVBQUU7WUFDTCxZQUFZO1NBQ2Y7UUFDRCxTQUFTLEVBQUU7WUFDUCxpQ0FBaUM7WUFDakMsOENBQThDO1lBQzlDLDBDQUEwQztZQUMxQyw2Q0FBNkM7U0FDaEQ7UUFDRCxZQUFZLEVBQUU7WUFDVixjQUFjO1NBQ2pCO0tBQ0osQ0FBQztHQUNXLDRCQUE0QixDQUFHO1NBQS9CLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBJbmplY3RhYmxlLCBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBSb3V0ZXMsIENhbkFjdGl2YXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL3BsYXRmb3JtLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgRXhjbHVzaW9uc0xpc3RDb21wb25lbnQgfSBmcm9tIFwiLi9leGNsdXNpb25zLWxpc3QuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBMb2dpY2FsRGVsZXRlQ29uZmlnU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9sb2dpY2FsLWRlbGV0ZS1jb25maWcuc2VydmljZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ0d1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xuICAgIHB1YmxpYyBjYW5BY3RpdmF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ0xpc3RUaXRsZVJlc29sdmVyIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvamVjdENvbmZpZ3M6IExvZ2ljYWxEZWxldGVDb25maWdTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIHJlc29sdmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5nZXQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9saXN0X3RpdGxlYCk7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ1Blcm1pc3Npb25SZXNvbHZlciB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwZXJtaXNzaW9uc1NlcnZpY2U6IFBlcm1pc3Npb25zU2VydmljZSkge31cblxuICAgIHB1YmxpYyByZXNvbHZlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuZ2V0KCk7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ0xvY2FsZVJlc29sdmVyIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlU2VydmljZS5nZXQoKTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiBgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PmBcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlDb21wb25lbnQge31cblxuZXhwb3J0IGNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICAgIHtcbiAgICAgICAgcGF0aDogXCJleGNsdXNpb25zLWxpc3RcIixcbiAgICAgICAgY29tcG9uZW50OiBFbXB0eUNvbXBvbmVudCxcbiAgICAgICAgY2FuQWN0aXZhdGU6IFtcbiAgICAgICAgICAgIEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmdHdWFyZFxuICAgICAgICBdLFxuICAgICAgICByZXNvbHZlOiB7XG4gICAgICAgICAgICBhbGxQZXJtaXNzaW9uczogRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ1Blcm1pc3Npb25SZXNvbHZlcixcbiAgICAgICAgICAgIGxvY2FsZUNvbmZpZzogRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ0xvY2FsZVJlc29sdmVyLFxuICAgICAgICAgICAgcm91dGVUaXRsZTogRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ0xpc3RUaXRsZVJlc29sdmVyXG4gICAgICAgIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGF0aDogXCI6ZW50aXR5TmFtZVwiLFxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogRXhjbHVzaW9uc0xpc3RDb21wb25lbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgIH1cbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBSb3V0ZXJNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBFeGNsdXNpb25zTGlzdEZlYXR1cmVSb3V0aW5nR3VhcmQsXG4gICAgICAgIEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmdQZXJtaXNzaW9uUmVzb2x2ZXIsXG4gICAgICAgIEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmdMb2NhbGVSZXNvbHZlcixcbiAgICAgICAgRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ0xpc3RUaXRsZVJlc29sdmVyXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRW1wdHlDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmcge31cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from "./exclusions-list.module";
2
+ export * from "./exclusions-list.component";
3
+ export * from "./exclusions-list.routing";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvZXhjbHVzaW9uLXByb2Nlc3MtY29tcG9uZW50LyIsInNvdXJjZXMiOlsiZXhjbHVzaW9ucy1saXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZXhjbHVzaW9ucy1saXN0Lm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhjbHVzaW9ucy1saXN0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhjbHVzaW9ucy1saXN0LnJvdXRpbmdcIjtcbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from "./exclusion-details/index";
2
+ export * from "./exclusions-list/index";
2
3
  export * from "./logical-delete.module";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9leGNsdXNpb24tcHJvY2Vzcy1jb21wb25lbnQvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2V4Y2x1c2lvbi1kZXRhaWxzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbHMvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvZ2ljYWwtZGVsZXRlLm1vZHVsZVwiO1xuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9leGNsdXNpb24tcHJvY2Vzcy1jb21wb25lbnQvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZXhjbHVzaW9uLWRldGFpbHMvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4Y2x1c2lvbnMtbGlzdC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2dpY2FsLWRlbGV0ZS5tb2R1bGVcIjtcbiJdfQ==