@annalib/anna-core 5.0.9 → 5.1.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.
@@ -1,3 +1,3 @@
1
1
  ;
2
2
  export {};
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwRDJOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBJV2Vla0NhbGVuZGFyIH0gZnJvbSBcIi4vYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdFRhYmxlSGVhZGVyIHtcclxuICAgIGhlYWRlckluZm86IElIZWFkZXJJbmZvW107XHJcbiAgICB2aXNpYmxlOiBib29sZWFuO1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVySW5mbyB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBvYmplY3RLZXk6IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWRLZXk/OiBzdHJpbmc7XHJcbiAgICB0eXBlT2ZIZWFkZXJEYXRhOiBEQVRBVFlQRTtcclxuICAgIHR5cGVPZkJvZHlEYXRhOiBEQVRBVFlQRTtcclxuICAgIGZpbHRlcj86IEZJTFRFUlRZUEU7XHJcbiAgICBmaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZ1tdO1xyXG4gICAgaXNTb3J0UmVxdWlyZWQ/OiBib29sZWFuW107XHJcbiAgICBpc0ZpbHRlclJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgc2hvd1Rvb2x0aXBJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZVRvb2x0aXBJY29uPzogYm9vbGVhbjtcclxuICAgIHRvb2x0aXA/OiBJVG9vbHRpcDtcclxuICAgIGpvaW5lZEZpbHRlclNvcnRPYmplY3RLZXlzPzogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIERBVEFUWVBFID0gXCJDSEVDS0JPWFwiIHwgXCJJQ09OXCIgfCBcIlNUUklOR1wiIHwgXCJSQURJT1wiIHwgXCJcIiB8IFwiU1ZHX0lDT05cIiB8IFwiVEVYVF9BQ1RJT05TXCIgfCBcIkNMSUNLQUJMRV9EQVRBXCI7XHJcbnR5cGUgRklMVEVSVFlQRSA9IFwiQ0hFQ0tCT1hcIiB8IFwiU0xJREVSXCIgfCBcIkRBVEVcIiB8IFwiVElNRVwiIHwgXCJXRUVLXCI7XHJcbnR5cGUgVE9PTFRJUE9TSVRJT04gPSBcImxlZnRcIiB8IFwicmlnaHRcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvdGFsUm93SW5mbyB7XHJcbiAgICBjb2xzcGFuOiBudW1iZXI7XHJcbiAgICBkYXRhOiBzdHJpbmc7XHJcbiAgICBsb3dlckRhdGE/OiBzdHJpbmc7XHJcbiAgICBjb2xOYW1lOiBzdHJpbmc7XHJcbiAgICBjbGFzcz86IHN0cmluZztcclxuICAgIHRvb2x0aXBNZXNzYWdlPzogc3RyaW5nOyAgICBcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3RIZWFkZXJDb25maWcge1xyXG4gICAgaWNvbkNvbHVtbjogYm9vbGVhbjtcclxuICAgIGNoZWNrYm94Q29sdW1uOiBib29sZWFuO1xyXG4gICAgbGFzdENvbHVtbktleXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEdlbmVyYWxDb25maWcgZXh0ZW5kcyBJU3BvdFRhYmxlQ29uZmlne1xyXG4gICAgY29tcG9uZW50OiBDT01QT05FTlROQU1FO1xyXG4gICAgdG90YWxSb3c6IGJvb2xlYW47XHJcbiAgICBpc0hlYWRlckNoZWNrZWQ/OiBib29sZWFuO1xyXG4gICAgZGlzYWJsZUhlYWRlckNoZWNrYm94PzogYm9vbGVhbjtcclxuICAgIG11bHRpV2Vla1BpY2tlckNvbmZpZz86IElXZWVrQ2FsZW5kYXI7XHJcbiAgICB2ZXJ0aWNhbFNjcm9sbE9mZnNldEZvckZpbHRlclRvb2x0aXA/OiBudW1iZXI7XHJcbiAgICB0YWJsZUNvbnRhaW5lck5hbWU/OiBzdHJpbmc7XHJcbiAgICB0YWJsZU91dGVyQ29udGFpbmVyTmFtZT86IHN0cmluZztcclxuICAgIHNob3dBbGxDb2x1bW5GaWx0ZXI6IGJvb2xlYW47XHJcbiAgICBidWZmZXJTaXplOiBudW1iZXI7XHJcbiAgICBwYWdlOiBzdHJpbmc7XHJcbn1cclxuXHJcbnR5cGUgQ09NUE9ORU5UTkFNRSA9IFwiU1BPVERFVEFJTFNcIiB8IFwiRVhDTFVERUlOVkVOVE9SWVBPUFVQXCIgfCBcIkVYQ0xVREVJTlZFTlRPUllcIiB8IFwiRFJSTElTVElOR1wiIHwgXCJEUlJcIiB8IFwiXCIgfCBcIlJBVElOR1wiIHwgXCJPUkRFUl9MSVNUSU5HX0lORkxJR0hUXCIgfCBcIk9SREVSX0xJU1RJTkdfQ09NUExFVEVEXCIgfCBcIk9SREVSX0xJU1RJTkdfQkxBTktcIiB8IFwiTFVSX1ZJT0xBVElPTlNcIjs7XHJcbmludGVyZmFjZSBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGlzR3JvdXBlZDogYm9vbGVhbjtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvb2x0aXB7XHJcbiAgICBpY29uUG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbjtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHRvb2x0aXBQb3NpdGlvbjogc3RyaW5nO1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwQ2xhc3M6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJY29uRGF0YXtcdFxyXG4gICAgZGF0YTogYW55O1x0XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcdFxyXG59XHRcclxuZXhwb3J0IGludGVyZmFjZSBUZXh0QWN0aW9ue1x0XHJcbiAgICBpZDogbnVtYmVyO1x0XHJcbiAgICBuYW1lOiBzdHJpbmc7XHRcclxuICAgIGNsYXNzOiBzdHJpbmc7XHRcclxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHRcclxufSJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwRDJOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBJV2Vla0NhbGVuZGFyIH0gZnJvbSBcIi4vYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdFRhYmxlSGVhZGVyIHtcclxuICAgIGhlYWRlckluZm86IElIZWFkZXJJbmZvW107XHJcbiAgICB2aXNpYmxlOiBib29sZWFuO1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVySW5mbyB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBvYmplY3RLZXk6IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWRLZXk/OiBzdHJpbmc7XHJcbiAgICB0eXBlT2ZIZWFkZXJEYXRhOiBEQVRBVFlQRTtcclxuICAgIHR5cGVPZkJvZHlEYXRhOiBEQVRBVFlQRTtcclxuICAgIGZpbHRlcj86IEZJTFRFUlRZUEU7XHJcbiAgICBmaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZ1tdO1xyXG4gICAgaXNTb3J0UmVxdWlyZWQ/OiBib29sZWFuW107XHJcbiAgICBpc0ZpbHRlclJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgc2hvd1Rvb2x0aXBJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZVRvb2x0aXBJY29uPzogYm9vbGVhbjtcclxuICAgIHRvb2x0aXA/OiBJVG9vbHRpcDtcclxuICAgIGpvaW5lZEZpbHRlclNvcnRPYmplY3RLZXlzPzogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIERBVEFUWVBFID0gXCJDSEVDS0JPWFwiIHwgXCJJQ09OXCIgfCBcIlNUUklOR1wiIHwgXCJSQURJT1wiIHwgXCJcIiB8IFwiU1ZHX0lDT05cIiB8IFwiVEVYVF9BQ1RJT05TXCIgfCBcIkNMSUNLQUJMRV9EQVRBXCIgfCBcIlNUUklOR19fVEVYVF9BQ1RJT05cIjtcclxudHlwZSBGSUxURVJUWVBFID0gXCJDSEVDS0JPWFwiIHwgXCJTTElERVJcIiB8IFwiREFURVwiIHwgXCJUSU1FXCIgfCBcIldFRUtcIjtcclxudHlwZSBUT09MVElQT1NJVElPTiA9IFwibGVmdFwiIHwgXCJyaWdodFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG90YWxSb3dJbmZvIHtcclxuICAgIGNvbHNwYW46IG51bWJlcjtcclxuICAgIGRhdGE6IHN0cmluZztcclxuICAgIGxvd2VyRGF0YT86IHN0cmluZztcclxuICAgIGNvbE5hbWU6IHN0cmluZztcclxuICAgIGNsYXNzPzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcE1lc3NhZ2U/OiBzdHJpbmc7ICAgIFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEhlYWRlckNvbmZpZyB7XHJcbiAgICBpY29uQ29sdW1uOiBib29sZWFuO1xyXG4gICAgY2hlY2tib3hDb2x1bW46IGJvb2xlYW47XHJcbiAgICBsYXN0Q29sdW1uS2V5czogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUd0R2VuZXJhbENvbmZpZyBleHRlbmRzIElTcG90VGFibGVDb25maWd7XHJcbiAgICBjb21wb25lbnQ6IENPTVBPTkVOVE5BTUU7XHJcbiAgICB0b3RhbFJvdzogYm9vbGVhbjtcclxuICAgIGlzSGVhZGVyQ2hlY2tlZD86IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlSGVhZGVyQ2hlY2tib3g/OiBib29sZWFuO1xyXG4gICAgbXVsdGlXZWVrUGlja2VyQ29uZmlnPzogSVdlZWtDYWxlbmRhcjtcclxuICAgIHZlcnRpY2FsU2Nyb2xsT2Zmc2V0Rm9yRmlsdGVyVG9vbHRpcD86IG51bWJlcjtcclxuICAgIHRhYmxlQ29udGFpbmVyTmFtZT86IHN0cmluZztcclxuICAgIHRhYmxlT3V0ZXJDb250YWluZXJOYW1lPzogc3RyaW5nO1xyXG4gICAgc2hvd0FsbENvbHVtbkZpbHRlcjogYm9vbGVhbjtcclxuICAgIGJ1ZmZlclNpemU6IG51bWJlcjtcclxuICAgIHBhZ2U6IHN0cmluZztcclxufVxyXG5cclxudHlwZSBDT01QT05FTlROQU1FID0gXCJTUE9UREVUQUlMU1wiIHwgXCJFWENMVURFSU5WRU5UT1JZUE9QVVBcIiB8IFwiRVhDTFVERUlOVkVOVE9SWVwiIHwgXCJEUlJMSVNUSU5HXCIgfCBcIkRSUlwiIHwgXCJcIiB8IFwiUkFUSU5HXCIgfCBcIk9SREVSX0xJU1RJTkdfSU5GTElHSFRcIiB8IFwiT1JERVJfTElTVElOR19DT01QTEVURURcIiB8IFwiT1JERVJfTElTVElOR19CTEFOS1wiIHwgXCJMVVJfVklPTEFUSU9OU1wiOztcclxuaW50ZXJmYWNlIElTcG90VGFibGVDb25maWcge1xyXG4gICAgaXNHcm91cGVkOiBib29sZWFuO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG9vbHRpcHtcclxuICAgIGljb25Qb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgdG9vbHRpcFBvc2l0aW9uOiBzdHJpbmc7XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcclxuICAgIHRvb2x0aXBDbGFzczogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEljb25EYXRhe1x0XHJcbiAgICBkYXRhOiBhbnk7XHRcclxuICAgIGljb25DbGFzczogc3RyaW5nO1x0XHJcbn1cdFxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRBY3Rpb257XHRcclxuICAgIGlkOiBudW1iZXI7XHRcclxuICAgIG5hbWU6IHN0cmluZztcdFxyXG4gICAgY2xhc3M6IHN0cmluZztcdFxyXG4gICAgaXNEaXNhYmxlZDogYm9vbGVhbjtcdFxyXG59Il19
@@ -1,18 +1,25 @@
1
1
  // Angular import statements
2
2
  import { Injectable } from "@angular/core";
3
+ import { ActivatedRoute, Router } from '@angular/router';
3
4
  // Third party import statements
4
5
  import { Subject } from "rxjs";
6
+ import { cloneDeep } from "lodash-es";
5
7
  //sub-entries of anna lib import statement
6
8
  import { AnnaFilterService } from "./anna-filter.service";
7
9
  import { AnnaSortService } from "./anna-sort.service";
8
10
  import * as i0 from "@angular/core";
9
11
  import * as i1 from "./anna-filter.service";
10
- import * as i2 from "./anna-sort.service";
11
- export class AnnaGenericTableService {
12
- constructor(annaFilterService, annaSortService) {
12
+ import * as i2 from "@angular/router";
13
+ import * as i3 from "./anna-sort.service";
14
+ export class AnnaGtHelperService {
15
+ constructor(annaFilterService, router, route, annaSortService) {
13
16
  this.annaFilterService = annaFilterService;
17
+ this.router = router;
18
+ this.route = route;
14
19
  this.annaSortService = annaSortService;
15
20
  this.virtualScrollSubject = new Subject();
21
+ console.log(this.annaFilterService);
22
+ console.log(this.annaSortService);
16
23
  }
17
24
  calculateNumberOfSkeletonColumnsForTable(tableHeaders) {
18
25
  let numberOfSkeletonColumns = [];
@@ -36,13 +43,79 @@ export class AnnaGenericTableService {
36
43
  this.annaSortService.columnSortState = new Map();
37
44
  this.annaSortService.noSortingAppliedData = [];
38
45
  }
46
+ enableOrDisableClearAllBtn() {
47
+ let isFilterApplied = this.annaFilterService.appliedFiltersArray.length > 0;
48
+ let isSortApplied = false;
49
+ for (let val of this.annaSortService.columnSortState.values()) {
50
+ if (val == "ASC" || val == "DESC") {
51
+ isSortApplied = true;
52
+ }
53
+ }
54
+ return isFilterApplied || isSortApplied ? false : true;
55
+ }
56
+ updateFiltersInURL() {
57
+ let latestQueryParams = this.prepareQueryParamsOnFilter();
58
+ this.router.navigate([], {
59
+ queryParams: { filters: JSON.stringify(latestQueryParams) },
60
+ relativeTo: this.route.parent,
61
+ queryParamsHandling: 'merge'
62
+ });
63
+ }
64
+ prepareQueryParamsOnFilter() {
65
+ let query = {
66
+ appliedFilters: this.annaFilterService.appliedFiltersArray,
67
+ selectedFilterData: JSON.stringify(Array.from(this.annaFilterService.tooltipSelectedMap)),
68
+ sortState: JSON.stringify(Array.from(this.annaSortService.columnSortState))
69
+ };
70
+ return query;
71
+ }
72
+ initTableFilters(clonedTableData) {
73
+ this.annaFilterService.tooltipSelectedMap = new Map();
74
+ this.annaFilterService.selectedRadio = null;
75
+ this.annaFilterService.appliedFiltersArray = [];
76
+ for (let [key, _value] of this.annaSortService.columnSortState.entries()) {
77
+ this.annaSortService.columnSortState.set(key, "DEFAULT");
78
+ }
79
+ this.annaSortService.noSortingAppliedData = cloneDeep(clonedTableData);
80
+ this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
81
+ }
82
+ initFilters() {
83
+ this.annaFilterService.tooltipSelectedMap = new Map();
84
+ this.annaFilterService.appliedFiltersArray = [];
85
+ }
86
+ setDataAsPerPersistingFilter(isPersistingFilter, clonedTable, filters) {
87
+ let usersTable;
88
+ if (isPersistingFilter) {
89
+ usersTable = this.annaFilterService.filterData(clonedTable, "");
90
+ // CROSS CHECK
91
+ this.annaSortService.noSortingAppliedData = usersTable;
92
+ this.annaSortService.columnSortState = new Map(JSON.parse(filters.sortState));
93
+ this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
94
+ usersTable = this.callSort(usersTable);
95
+ }
96
+ else {
97
+ usersTable = clonedTable;
98
+ }
99
+ return usersTable;
100
+ }
101
+ callSort(usersTable) {
102
+ for (let [key, value] of this.annaSortService.columnSortState) {
103
+ if (value == "ASC") {
104
+ usersTable = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(true, usersTable, key);
105
+ }
106
+ else if (value == "DESC") {
107
+ usersTable = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(false, usersTable, key);
108
+ }
109
+ }
110
+ return usersTable;
111
+ }
39
112
  }
40
- AnnaGenericTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGenericTableService, deps: [{ token: i1.AnnaFilterService }, { token: i2.AnnaSortService }], target: i0.ɵɵFactoryTarget.Injectable });
41
- AnnaGenericTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGenericTableService, providedIn: "root" });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGenericTableService, decorators: [{
113
+ AnnaGtHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGtHelperService, deps: [{ token: i1.AnnaFilterService }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.AnnaSortService }], target: i0.ɵɵFactoryTarget.Injectable });
114
+ AnnaGtHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGtHelperService, providedIn: "root" });
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGtHelperService, decorators: [{
43
116
  type: Injectable,
44
117
  args: [{
45
118
  providedIn: "root",
46
119
  }]
47
- }], ctorParameters: function () { return [{ type: i1.AnnaFilterService }, { type: i2.AnnaSortService }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdlbmVyaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxnQ0FBZ0M7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQiwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBS3RELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBb0IsaUJBQW9DLEVBQVMsZUFBZ0M7UUFBN0Usc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFTLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQURqRyx5QkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzhELENBQUM7SUFFcEcsd0NBQXdDLENBQUMsWUFBbUI7UUFDMUQsSUFBSSx1QkFBdUIsR0FBWSxFQUFFLENBQUM7UUFDMUMsSUFBSSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDNUIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzVCLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QixNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7b0JBQy9CLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFBO2dCQUNGLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRTtRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7SUFDakQsQ0FBQzs7b0hBM0JVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8vc3ViLWVudHJpZXMgb2YgYW5uYSBsaWIgaW1wb3J0IHN0YXRlbWVudFxyXG5pbXBvcnQgeyBBbm5hRmlsdGVyU2VydmljZSB9IGZyb20gXCIuL2FubmEtZmlsdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQW5uYVNvcnRTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1zb3J0LnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFHZW5lcmljVGFibGVTZXJ2aWNlIHtcclxuXHJcbiAgdmlydHVhbFNjcm9sbFN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5uYUZpbHRlclNlcnZpY2U6IEFubmFGaWx0ZXJTZXJ2aWNlLHByaXZhdGUgYW5uYVNvcnRTZXJ2aWNlOiBBbm5hU29ydFNlcnZpY2Upe31cclxuXHJcbiAgY2FsY3VsYXRlTnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnNGb3JUYWJsZSh0YWJsZUhlYWRlcnM6IGFueVtdKTogbnVtYmVyW11bXSB7XHJcbiAgICBsZXQgbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnM6IGFueVtdW10gPSBbXTtcclxuICAgIHZhciBoZWFkZXJzSW5FYWNoQ29sdW1uID0gMDtcclxuICAgIHRhYmxlSGVhZGVycy5mb3JFYWNoKChjb2x1bW4pID0+IHtcclxuICAgICAgICBpZiAoY29sdW1uLnZpc2libGUpIHtcclxuICAgICAgICAgICAgaGVhZGVyc0luRWFjaENvbHVtbiA9IDA7XHJcbiAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJJbmZvLmZvckVhY2goKCkgPT4ge1xyXG4gICAgICAgICAgICBoZWFkZXJzSW5FYWNoQ29sdW1uKys7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIG51bWJlck9mU2tlbGV0b25Db2x1bW5zLnB1c2goQXJyYXkoaGVhZGVyc0luRWFjaENvbHVtbikuZmlsbCgwKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBudW1iZXJPZlNrZWxldG9uQ29sdW1ucztcclxuICB9XHJcblxyXG4gIGluaXRDb2x1bW5GaWx0ZXJBbmRTb3J0aW5nKCkge1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8gPSBudWxsO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmluaXRpYWxWYWx1ZU1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gW107XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
120
+ }], ctorParameters: function () { return [{ type: i1.AnnaFilterService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.AnnaSortService }]; } });
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdlbmVyaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELGdDQUFnQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEMsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFLdEQsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixZQUNVLGlCQUFvQyxFQUNwQyxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsZUFBZ0M7UUFIaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTDFDLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFNakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUgsd0NBQXdDLENBQUMsWUFBbUI7UUFDMUQsSUFBSSx1QkFBdUIsR0FB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SUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN4QzthQUNJO1lBQ0gsVUFBVSxHQUFHLFdBQVcsQ0FBQztTQUMxQjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRLENBQUMsVUFBZTtRQUN0QixLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUU7WUFDN0QsSUFBSSxLQUFLLElBQUksS0FBSyxFQUFFO2dCQUNsQixVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQywwQ0FBMEMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ3JHO2lCQUNJLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRTtnQkFDeEIsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsMENBQTBDLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUN0RztTQUNGO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7Z0hBaEhVLG1CQUFtQjtvSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuLy8gVGhpcmQgcGFydHkgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcclxuXHJcbi8vc3ViLWVudHJpZXMgb2YgYW5uYSBsaWIgaW1wb3J0IHN0YXRlbWVudFxyXG5pbXBvcnQgeyBBbm5hRmlsdGVyU2VydmljZSB9IGZyb20gXCIuL2FubmEtZmlsdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQW5uYVNvcnRTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1zb3J0LnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFHdEhlbHBlclNlcnZpY2Uge1xyXG5cclxuICB2aXJ0dWFsU2Nyb2xsU3ViamVjdCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFubmFGaWx0ZXJTZXJ2aWNlOiBBbm5hRmlsdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgYW5uYVNvcnRTZXJ2aWNlOiBBbm5hU29ydFNlcnZpY2Upe1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlKVxyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmFubmFTb3J0U2VydmljZSlcclxuICAgIH1cclxuXHJcbiAgY2FsY3VsYXRlTnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnNGb3JUYWJsZSh0YWJsZUhlYWRlcnM6IGFueVtdKTogbnVtYmVyW11bXSB7XHJcbiAgICBsZXQgbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnM6IGFueVtdW10gPSBbXTtcclxuICAgIHZhciBoZWFkZXJzSW5FYWNoQ29sdW1uID0gMDtcclxuICAgIHRhYmxlSGVhZGVycy5mb3JFYWNoKChjb2x1bW4pID0+IHtcclxuICAgICAgICBpZiAoY29sdW1uLnZpc2libGUpIHtcclxuICAgICAgICAgICAgaGVhZGVyc0luRWFjaENvbHVtbiA9IDA7XHJcbiAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJJbmZvLmZvckVhY2goKCkgPT4ge1xyXG4gICAgICAgICAgICBoZWFkZXJzSW5FYWNoQ29sdW1uKys7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIG51bWJlck9mU2tlbGV0b25Db2x1bW5zLnB1c2goQXJyYXkoaGVhZGVyc0luRWFjaENvbHVtbikuZmlsbCgwKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBudW1iZXJPZlNrZWxldG9uQ29sdW1ucztcclxuICB9XHJcblxyXG4gIGluaXRDb2x1bW5GaWx0ZXJBbmRTb3J0aW5nKCkge1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8gPSBudWxsO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmluaXRpYWxWYWx1ZU1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gW107XHJcbiAgfVxyXG5cclxuICBcclxuICBlbmFibGVPckRpc2FibGVDbGVhckFsbEJ0bigpOiBib29sZWFuIHtcclxuICAgIGxldCBpc0ZpbHRlckFwcGxpZWQgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXkubGVuZ3RoID4gMDtcclxuXHJcbiAgICBsZXQgaXNTb3J0QXBwbGllZCA9IGZhbHNlO1xyXG4gICAgZm9yIChsZXQgdmFsIG9mIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZS52YWx1ZXMoKSkge1xyXG4gICAgICBpZiAodmFsID09IFwiQVNDXCIgfHwgdmFsID09IFwiREVTQ1wiKSB7XHJcbiAgICAgICAgaXNTb3J0QXBwbGllZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpc0ZpbHRlckFwcGxpZWQgfHwgaXNTb3J0QXBwbGllZCA/IGZhbHNlIDogdHJ1ZTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUZpbHRlcnNJblVSTCgpe1xyXG4gICAgbGV0IGxhdGVzdFF1ZXJ5UGFyYW1zID0gdGhpcy5wcmVwYXJlUXVlcnlQYXJhbXNPbkZpbHRlcigpO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10se1xyXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGZpbHRlcnM6IEpTT04uc3RyaW5naWZ5KGxhdGVzdFF1ZXJ5UGFyYW1zKSB9LFxyXG4gICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUucGFyZW50LFxyXG4gICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZSdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJlcGFyZVF1ZXJ5UGFyYW1zT25GaWx0ZXIoKSB7XHJcbiAgICBsZXQgcXVlcnkgPSB7XHJcbiAgICAgIGFwcGxpZWRGaWx0ZXJzOiB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXksXHJcbiAgICAgIHNlbGVjdGVkRmlsdGVyRGF0YTogSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnRvb2x0aXBTZWxlY3RlZE1hcCkpLFxyXG4gICAgICBzb3J0U3RhdGU6IEpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20odGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKSlcclxuICAgIH1cclxuICAgIHJldHVybiBxdWVyeTtcclxuICB9XHJcblxyXG4gIGluaXRUYWJsZUZpbHRlcnMoY2xvbmVkVGFibGVEYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwID0gbmV3IE1hcCgpO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5zZWxlY3RlZFJhZGlvID0gbnVsbDtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheSA9IFtdO1xyXG5cclxuICAgIGZvciAobGV0IFtrZXksIF92YWx1ZV0gb2YgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlLmVudHJpZXMoKSkge1xyXG4gICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUuc2V0KGtleSwgXCJERUZBVUxUXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gY2xvbmVEZWVwKGNsb25lZFRhYmxlRGF0YSk7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnVwZGF0ZVN0YXRlT2ZBbGxUaGVLZXlzKHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSk7XHJcbiAgfVxyXG5cclxuICBpbml0RmlsdGVycygpe1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXkgPSBbXTtcclxuICB9XHJcblxyXG4gIHNldERhdGFBc1BlclBlcnNpc3RpbmdGaWx0ZXIoaXNQZXJzaXN0aW5nRmlsdGVyOiBib29sZWFuLCBjbG9uZWRUYWJsZTogYW55LCBmaWx0ZXJzOiBhbnkpOiBhbnl7XHJcbiAgICBsZXQgdXNlcnNUYWJsZTtcclxuICAgIGlmKGlzUGVyc2lzdGluZ0ZpbHRlcil7XHJcbiAgICAgIHVzZXJzVGFibGUgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmZpbHRlckRhdGEoY2xvbmVkVGFibGUsIFwiXCIpO1xyXG4gICAgICAvLyBDUk9TUyBDSEVDS1xyXG4gICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9dXNlcnNUYWJsZTtcclxuXHJcbiAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSA9IG5ldyBNYXAoSlNPTi5wYXJzZShmaWx0ZXJzLnNvcnRTdGF0ZSkpO1xyXG4gICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnVwZGF0ZVN0YXRlT2ZBbGxUaGVLZXlzKHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSk7XHJcbiAgICAgIHVzZXJzVGFibGUgPSB0aGlzLmNhbGxTb3J0KHVzZXJzVGFibGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHVzZXJzVGFibGUgPSBjbG9uZWRUYWJsZTtcclxuICAgIH1cclxuICAgIHJldHVybiB1c2Vyc1RhYmxlO1xyXG4gIH1cclxuXHJcbiAgY2FsbFNvcnQodXNlcnNUYWJsZTogYW55KTogYW55IHtcclxuICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpIHtcclxuICAgICAgaWYgKHZhbHVlID09IFwiQVNDXCIpIHtcclxuICAgICAgICB1c2Vyc1RhYmxlID0gdGhpcy5hbm5hU29ydFNlcnZpY2Uuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKHRydWUsIHVzZXJzVGFibGUsIGtleSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodmFsdWUgPT0gXCJERVNDXCIpIHtcclxuICAgICAgICB1c2Vyc1RhYmxlID0gdGhpcy5hbm5hU29ydFNlcnZpY2Uuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKGZhbHNlLCB1c2Vyc1RhYmxlLCBrZXkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXNlcnNUYWJsZTtcclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuIl19