@annalib/anna-core 20.2.19 → 20.2.21
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.
- package/README.md +28 -28
- package/{esm2020 → esm2022}/annalib-anna-core.mjs +4 -4
- package/esm2022/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +14 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +13 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.mjs +11 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +43 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +14 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +22 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +13 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +22 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +14 -0
- package/esm2022/lib/anna-core-shared-lib/constants/shared.constant.mjs +44 -0
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +273 -273
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.mjs +46 -46
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +39 -39
- package/esm2022/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +2 -0
- package/esm2022/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +2 -0
- package/esm2022/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +11 -0
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/models/anna-sort.model.mjs +7 -7
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +30 -30
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.mjs +39 -39
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +27 -27
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.mjs +22 -22
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +55 -55
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +26 -26
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +17 -17
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +208 -208
- package/esm2022/lib/anna-core-shared-lib/services/anna-filter.service.mjs +1259 -0
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +151 -151
- package/esm2022/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +135 -0
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +53 -53
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/services/anna-persisting-filter.service.mjs +65 -65
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/services/anna-sort.service.mjs +178 -178
- package/esm2022/lib/anna-core.module.mjs +226 -0
- package/esm2022/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +160 -0
- package/esm2022/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +371 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +252 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +185 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +312 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +298 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +845 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +64 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +352 -0
- package/esm2022/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +204 -0
- package/{esm2020 → esm2022}/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +2 -2
- package/esm2022/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +180 -0
- package/{esm2020 → esm2022}/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +2 -2
- package/{esm2020 → esm2022}/public-api.mjs +58 -58
- package/fesm2022/annalib-anna-core.mjs +6063 -0
- package/fesm2022/annalib-anna-core.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +8 -8
- package/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.d.ts +8 -8
- package/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.d.ts +5 -5
- package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +17 -17
- package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +8 -8
- package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +11 -11
- package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +8 -8
- package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +12 -12
- package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +8 -8
- package/lib/anna-core-shared-lib/constants/shared.constant.d.ts +42 -41
- package/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.d.ts +34 -34
- package/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.d.ts +16 -16
- package/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +10 -10
- package/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +16 -16
- package/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts +97 -97
- package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +118 -118
- package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +11 -11
- package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +25 -25
- package/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.d.ts +9 -9
- package/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.d.ts +9 -9
- package/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.d.ts +8 -8
- package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +9 -9
- package/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.d.ts +9 -9
- package/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.d.ts +7 -7
- package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +28 -28
- package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +154 -154
- package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +27 -27
- package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +21 -21
- package/lib/anna-core-shared-lib/services/anna-number-format.service.d.ts +8 -8
- package/lib/anna-core-shared-lib/services/anna-persisting-filter.service.d.ts +9 -9
- package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +18 -18
- package/lib/anna-core.module.d.ts +45 -45
- package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +45 -45
- package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +70 -70
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.d.ts +60 -60
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.d.ts +53 -53
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.d.ts +65 -65
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.d.ts +83 -83
- package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +174 -174
- package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +17 -17
- package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +141 -141
- package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.d.ts +89 -89
- package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts +1 -1
- package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +45 -45
- package/lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts +1 -1
- package/package.json +5 -11
- package/public-api.d.ts +42 -42
- package/src/lib/anna-common-scss/_animate.scss +27 -27
- package/src/lib/anna-common-scss/_application-spacing.scss +7 -7
- package/src/lib/anna-common-scss/_bootstrap-tooltip.scss +27 -27
- package/src/lib/anna-common-scss/_button.scss +18 -18
- package/src/lib/anna-common-scss/_colors.scss +107 -107
- package/src/lib/anna-common-scss/_common-order-listing-table.scss +172 -172
- package/src/lib/anna-common-scss/_custom-anna-datepicker.scss +14 -14
- package/src/lib/anna-common-scss/_customDropdown.scss +123 -123
- package/src/lib/anna-common-scss/_dashboard-partials.scss +106 -106
- package/src/lib/anna-common-scss/_date-picker-form.scss +87 -87
- package/src/lib/anna-common-scss/_easy-filter.scss +138 -138
- package/src/lib/anna-common-scss/_edit-filter-popup.scss +70 -70
- package/src/lib/anna-common-scss/_filters.scss +712 -712
- package/src/lib/anna-common-scss/_font.scss +9 -9
- package/src/lib/anna-common-scss/_fonts.scss +86 -86
- package/src/lib/anna-common-scss/_generic-modal.scss +63 -63
- package/src/lib/anna-common-scss/_generic-table-common.scss +198 -198
- package/src/lib/anna-common-scss/_gt-table.scss +425 -425
- package/src/lib/anna-common-scss/_legend.scss +11 -11
- package/src/lib/anna-common-scss/_mat-button-toggle.scss +38 -38
- package/src/lib/anna-common-scss/_mat-menu.scss +17 -17
- package/src/lib/anna-common-scss/_mixins.scss +187 -187
- package/src/lib/anna-common-scss/_modal.scss +37 -37
- package/src/lib/anna-common-scss/_popup-filter-toggle-button.scss +36 -36
- package/src/lib/anna-common-scss/_scrollbar.scss +14 -14
- package/src/lib/anna-common-scss/_sort.scss +30 -30
- package/src/lib/anna-common-scss/_toggle.scss +86 -86
- package/src/lib/anna-common-scss/style.scss +1 -1
- package/src/lib/anna-common-scss/third-party-lib/_angular-material-mat-radio.scss +25 -25
- package/src/lib/anna-common-scss/third-party-lib/_anna-mat-button-toggle-group-size-lg.scss +34 -34
- package/src/lib/anna-common-scss/third-party-lib/_mat-autocomplete.scss +31 -31
- package/esm2020/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +0 -14
- package/esm2020/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +0 -13
- package/esm2020/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.mjs +0 -11
- package/esm2020/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +0 -43
- package/esm2020/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +0 -14
- package/esm2020/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +0 -22
- package/esm2020/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +0 -13
- package/esm2020/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +0 -22
- package/esm2020/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +0 -14
- package/esm2020/lib/anna-core-shared-lib/constants/shared.constant.mjs +0 -43
- package/esm2020/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +0 -2
- package/esm2020/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +0 -2
- package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +0 -11
- package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +0 -1259
- package/esm2020/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +0 -135
- package/esm2020/lib/anna-core.module.mjs +0 -237
- package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +0 -160
- package/esm2020/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +0 -371
- package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +0 -252
- package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +0 -185
- package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +0 -312
- package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +0 -298
- package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +0 -840
- package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +0 -64
- package/esm2020/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +0 -352
- package/esm2020/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +0 -204
- package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +0 -180
- package/fesm2015/annalib-anna-core.mjs +0 -6076
- package/fesm2015/annalib-anna-core.mjs.map +0 -1
- package/fesm2020/annalib-anna-core.mjs +0 -6068
- package/fesm2020/annalib-anna-core.mjs.map +0 -1
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { cloneDeep, isEqual } from 'lodash-es';
|
|
3
|
-
import { AnnaSortService } from '../../../../anna-core-shared-lib/services/anna-sort.service';
|
|
4
|
-
import { AnnaFilterService } from '../../../../anna-core-shared-lib/services/anna-filter.service';
|
|
5
|
-
import { AnnaDateTimeFormatService, } from '../../../../anna-core-shared-lib/services/anna-date-time-format.service';
|
|
6
|
-
import { AnnaCalendarFilterComponent } from '../../../../anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component';
|
|
7
|
-
import { AnnaSortComponent } from '../../anna-sort/anna-sort.component';
|
|
8
|
-
import { NgIf, NgFor, NgClass } from '@angular/common';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../../../../anna-core-shared-lib/services/anna-date-time-format.service";
|
|
11
|
-
import * as i2 from "../../../../anna-core-shared-lib/services/anna-sort.service";
|
|
12
|
-
import * as i3 from "../../../../anna-core-shared-lib/services/anna-filter.service";
|
|
13
|
-
export class AnnaColumnDateRangeFilterComponent {
|
|
14
|
-
constructor(annaDateTimeFormatService, annaSortService, annaFilterService) {
|
|
15
|
-
this.annaDateTimeFormatService = annaDateTimeFormatService;
|
|
16
|
-
this.annaSortService = annaSortService;
|
|
17
|
-
this.annaFilterService = annaFilterService;
|
|
18
|
-
this.filterAppliedToTable = new EventEmitter();
|
|
19
|
-
this.sortingAppliedToTable = new EventEmitter();
|
|
20
|
-
this.getSortType = new EventEmitter();
|
|
21
|
-
this.closeTooltip = new EventEmitter();
|
|
22
|
-
this.tempSortOrder = null;
|
|
23
|
-
this.showSortComponent = false;
|
|
24
|
-
this.showFilterComponent = false;
|
|
25
|
-
this.disableColumnClearAllBtn = true;
|
|
26
|
-
this.calendarSelection = { fromDate: null, toDate: null };
|
|
27
|
-
}
|
|
28
|
-
ngOnInit() {
|
|
29
|
-
this.populateTooltipDataBasedOnSelectedRadio(this.filterTabObjects[0], false);
|
|
30
|
-
}
|
|
31
|
-
populateTooltipDataBasedOnSelectedRadio(activeTab, reload) {
|
|
32
|
-
let header = activeTab.key;
|
|
33
|
-
this.selectedLabel = activeTab.label;
|
|
34
|
-
this.showSortComponent = activeTab.isSortRequired;
|
|
35
|
-
this.showFilterComponent = activeTab.isFilterRequired;
|
|
36
|
-
this.tempSortOrder = null;
|
|
37
|
-
this.isFilterChanged = false;
|
|
38
|
-
this.isSortChanged = false;
|
|
39
|
-
this.annaFilterService.selectedRadio = header;
|
|
40
|
-
this.disableColumnClearAllBtn = this.annaFilterService.disableActiveFilterClearButton();
|
|
41
|
-
if (reload) {
|
|
42
|
-
setTimeout(() => {
|
|
43
|
-
this.createFilterTooltipData(activeTab, header);
|
|
44
|
-
}, 100);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
this.createFilterTooltipData(activeTab, header);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
createFilterTooltipData(activeTab, key) {
|
|
51
|
-
this.showSortComponent = activeTab.isSortRequired;
|
|
52
|
-
this.showFilterComponent = activeTab.isFilterRequired;
|
|
53
|
-
this.disableCalendarApplyBtn = true;
|
|
54
|
-
if (this.showFilterComponent) {
|
|
55
|
-
this.getCalendarData();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
getCalendarData() {
|
|
59
|
-
const parsingFormat = 'MM/DD/YYYY';
|
|
60
|
-
let optionData = this.annaFilterService.getFilterOptionsData(this.tableData, this.clonedTableData);
|
|
61
|
-
let minMaxDate = this.annaFilterService.createRangeForTheDateFilter(optionData);
|
|
62
|
-
this.selectRangeForTheDateFilter(minMaxDate, parsingFormat);
|
|
63
|
-
}
|
|
64
|
-
selectRangeForTheDateFilter(minMaxDate, parsingFormat) {
|
|
65
|
-
[this.calendarMinEnabledDate, this.calendarMaxEnabledDate] =
|
|
66
|
-
this.annaFilterService.getMinAndMaxDateRangeForCalendar(minMaxDate, parsingFormat);
|
|
67
|
-
[this.selectedMinDate, this.selectedMaxDate] = this.annaFilterService.getSelectedDateForCalendar(minMaxDate, parsingFormat, this.calendarMinEnabledDate, this.calendarMaxEnabledDate);
|
|
68
|
-
this.calendarSelection.fromDate = cloneDeep(this.selectedMinDate);
|
|
69
|
-
this.calendarSelection.toDate = cloneDeep(this.selectedMaxDate);
|
|
70
|
-
}
|
|
71
|
-
applyDateFilter() {
|
|
72
|
-
this.applyDateFilterOnData();
|
|
73
|
-
this.applySortingOnFilteredData();
|
|
74
|
-
this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
|
|
75
|
-
this.emitData();
|
|
76
|
-
}
|
|
77
|
-
applySortingOnFilteredData() {
|
|
78
|
-
if (this.showSortComponent) {
|
|
79
|
-
if (this.isSortChanged) {
|
|
80
|
-
this.tableData = this.annaFilterService.updateSortMap(this.tempSortOrder, this.tableData, this.isLurAndCsrComponent);
|
|
81
|
-
}
|
|
82
|
-
else if (this.isFilterChanged) {
|
|
83
|
-
this.tableData = this.annaSortService.checkIfSortingIsApplied(this.tableData, this.isLurAndCsrComponent);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
else if (this.isFilterChanged) {
|
|
87
|
-
this.tableData = this.annaSortService.checkIfSortingIsApplied(this.tableData, this.isLurAndCsrComponent);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
emitData() {
|
|
91
|
-
if (this.isFilterChanged && this.isSortChanged) {
|
|
92
|
-
this.filterAppliedToTable.emit(this.tableData);
|
|
93
|
-
}
|
|
94
|
-
else if (this.isFilterChanged) {
|
|
95
|
-
this.filterAppliedToTable.emit(this.tableData);
|
|
96
|
-
}
|
|
97
|
-
else if (this.isSortChanged) {
|
|
98
|
-
this.getSortType.emit(this.tempSortOrder);
|
|
99
|
-
this.sortingAppliedToTable.emit(this.tableData);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
cancelInDateFilter() {
|
|
103
|
-
this.closeTooltip.emit();
|
|
104
|
-
}
|
|
105
|
-
calendarDateChanged(event) {
|
|
106
|
-
this.calendarSelection = event;
|
|
107
|
-
this.disableCalendarApplyButton();
|
|
108
|
-
}
|
|
109
|
-
disableCalendarApplyButton() {
|
|
110
|
-
if (this.showFilterComponent && this.showSortComponent) {
|
|
111
|
-
let isFilterChanged = this.checkIfDateTooltipIsFiltered();
|
|
112
|
-
let isSortChanged = this.checkIfSortingChanged();
|
|
113
|
-
this.disableCalendarApplyBtn =
|
|
114
|
-
!(this.calendarSelection.fromDate && this.calendarSelection.toDate) ||
|
|
115
|
-
(!isSortChanged && !isFilterChanged);
|
|
116
|
-
}
|
|
117
|
-
else if (this.showFilterComponent) {
|
|
118
|
-
this.disableCalendarApplyBtn =
|
|
119
|
-
!(this.calendarSelection.fromDate && this.calendarSelection.toDate) ||
|
|
120
|
-
!this.checkIfDateTooltipIsFiltered();
|
|
121
|
-
}
|
|
122
|
-
else if (this.showSortComponent) {
|
|
123
|
-
this.disableCalendarApplyBtn = !this.checkIfSortingChanged();
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
checkIfSortingChanged() {
|
|
127
|
-
this.isSortChanged = this.annaFilterService.checkIfSortingChanged(this.tempSortOrder);
|
|
128
|
-
return this.isSortChanged;
|
|
129
|
-
}
|
|
130
|
-
checkIfDateTooltipIsFiltered() {
|
|
131
|
-
let previousSelectedDate = this.annaFilterService.getPreviousSelectedDatesForCalendar(this.clonedTableData);
|
|
132
|
-
let currentSelectedDate = cloneDeep(this.calendarSelection);
|
|
133
|
-
if (currentSelectedDate.fromDate && currentSelectedDate.toDate) {
|
|
134
|
-
currentSelectedDate = this.annaFilterService.getCurrentSelectedDatesForCalendar(cloneDeep(this.calendarSelection), this.calendarMinEnabledDate, this.calendarMaxEnabledDate);
|
|
135
|
-
this.isFilterChanged = !isEqual(previousSelectedDate, currentSelectedDate);
|
|
136
|
-
}
|
|
137
|
-
return this.isFilterChanged;
|
|
138
|
-
}
|
|
139
|
-
applyDateFilterOnData() {
|
|
140
|
-
if (this.showFilterComponent && this.isFilterChanged) {
|
|
141
|
-
let currentSelectedDate = this.annaFilterService.getCurrentSelectedDatesForCalendar(cloneDeep(this.calendarSelection), this.calendarMinEnabledDate, this.calendarMaxEnabledDate);
|
|
142
|
-
this.annaFilterService.reOrderAppliedFiltersState(this.clonedTableData, currentSelectedDate);
|
|
143
|
-
this.annaFilterService.tooltipSelectedMap.set(this.annaFilterService.selectedRadio, currentSelectedDate);
|
|
144
|
-
this.tableData = this.annaFilterService.filterData(this.clonedTableData, '');
|
|
145
|
-
this.annaSortService.noSortingAppliedData = cloneDeep(this.tableData);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
clearColumnFilter() {
|
|
149
|
-
this.annaFilterService.clearColumnFilter();
|
|
150
|
-
this.tableData = cloneDeep(this.annaFilterService.filterData(this.clonedTableData, ''));
|
|
151
|
-
this.annaSortService.noSortingAppliedData = this.tableData;
|
|
152
|
-
this.tableData = this.annaSortService.checkIfSortingIsApplied(this.tableData, this.isLurAndCsrComponent);
|
|
153
|
-
this.annaFilterService.updateStateOfTheCurrentFilterTab(this.annaSortService.columnSortState);
|
|
154
|
-
this.filterAppliedToTable.emit(this.tableData);
|
|
155
|
-
}
|
|
156
|
-
storeSortTypeInTempVariable(event) {
|
|
157
|
-
this.tempSortOrder = event;
|
|
158
|
-
this.disableCalendarApplyButton();
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
AnnaColumnDateRangeFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnaColumnDateRangeFilterComponent, deps: [{ token: i1.AnnaDateTimeFormatService }, { token: i2.AnnaSortService }, { token: i3.AnnaFilterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
162
|
-
AnnaColumnDateRangeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AnnaColumnDateRangeFilterComponent, isStandalone: true, selector: "anna-core-anna-column-date-range-filter", inputs: { tableData: "tableData", clonedTableData: "clonedTableData", filterTabObjects: "filterTabObjects", isLurAndCsrComponent: "isLurAndCsrComponent", showFilterHeaderTabs: "showFilterHeaderTabs" }, outputs: { filterAppliedToTable: "filterAppliedToTable", sortingAppliedToTable: "sortingAppliedToTable", getSortType: "getSortType", closeTooltip: "closeTooltip" }, ngImport: i0, template: "<div\r\n class=\"radio-container\"\r\n *ngIf=\"showFilterHeaderTabs\"\r\n>\r\n <div *ngFor=\"let data of filterTabObjects\">\r\n <p\r\n class=\"filter-tab\"\r\n [title]=\"data.label\"\r\n (click)=\"populateTooltipDataBasedOnSelectedRadio(data, true)\"\r\n [ngClass]=\"{ active: annaFilterService.selectedRadio == data.key }\"\r\n *ngIf=\"filterTabObjects.length > 0\"\r\n >\r\n {{ data.label }}\r\n </p>\r\n </div>\r\n</div>\r\n\r\n<anna-core-sort-lib\r\n *ngIf=\"showSortComponent\"\r\n [ngClass]=\"{ 'no-bottom-border': !showFilterComponent }\"\r\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\"\r\n [sortObjectKey]=\"annaFilterService.selectedRadio\"\r\n></anna-core-sort-lib>\r\n\r\n<ng-container *ngIf=\"showFilterComponent\">\r\n <div class=\"datepicker-container\">\r\n <button\r\n class=\"column-clear-all\"\r\n [disabled]=\"disableColumnClearAllBtn\"\r\n (click)=\"clearColumnFilter()\"\r\n >\r\n Clear filter\r\n </button>\r\n <anna-core-calendar-filter-lib\r\n class=\"filter-calendar\"\r\n [minDate]=\"calendarMinEnabledDate\"\r\n [maxDate]=\"calendarMaxEnabledDate\"\r\n [selectedFromDate]=\"selectedMinDate\"\r\n [selectedToDate]=\"selectedMaxDate\"\r\n (selectedDate)=\"calendarDateChanged($event)\"\r\n [label]=\"selectedLabel\"\r\n >\r\n </anna-core-calendar-filter-lib>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"buttons-container\">\r\n <button\r\n class=\"button\"\r\n (click)=\"cancelInDateFilter()\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n class=\"button\"\r\n (click)=\"applyDateFilter()\"\r\n [ngClass]=\"{ disabled: disableCalendarApplyBtn }\"\r\n [disabled]=\"disableCalendarApplyBtn\"\r\n >\r\n Apply\r\n </button>\r\n</div>\r\n", styles: [".sort-btn{background:white;border:none;border-right:1px solid #1b88ff;text-decoration:underline;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.07;letter-spacing:normal;color:#1b88ff;cursor:pointer;flex:1;text-align:center}.sort-btn:last-of-type{border-right:none}.sort-btn.active{color:#202b47;text-decoration:none}p.sort-container{margin-top:8px;padding-bottom:8px;border-bottom:1px solid #e6e6e6;margin-bottom:0;display:flex}::ng-deep .tooltip-inner{max-height:22rem;background-color:#fff;border:1px solid white;border-radius:5px;box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;max-width:251px;width:100%;padding:0!important}::ng-deep .tooltip-inner div.radio-container{flex-wrap:wrap}::ng-deep .md-drppicker{box-shadow:unset!important}::ng-deep .available{color:#999}::ng-deep .bs-tooltip-bottom .arrow:before{border-bottom-color:#fff!important}::ng-deep .bs-tooltip-left .arrow:before{border-left-color:#fff!important}::ng-deep .tooltip.show{opacity:1}.input{text-align:left;margin:5px 10px 5px 5px;display:flex;align-items:center;width:230px;white-space:nowrap}.data{color:#000;font-weight:700;margin-left:5px;margin-right:5px}span.data{display:inline-block;text-overflow:ellipsis;white-space:pre;width:100%;overflow:hidden}.check-box{font-size:14px;cursor:pointer;position:relative;top:-1px}span.mdi-filter.active{color:#000;opacity:1!important;pointer-events:all!important}p{margin-bottom:0;line-height:initial}span.mdi-filter{color:#cbcbcb}::ng-deep .ngx-slider-pointer{top:-5px!important;width:12px!important;height:12px!important;background:#bdbdbd!important;border:1px solid #ffffff!important;box-shadow:0 1px 3px #0000004d!important;border-radius:16px!important}input:focus{outline:none}input::placeholder{color:#c8c8c8}.cancel-btn{background:#c7e1ff;color:#268bff}.apply-btn{background:#268bff;color:#fff;margin-left:.3125rem}div.radio-container{display:flex;white-space:nowrap;justify-content:space-between;background-color:#f4f4f4;border-radius:.125rem;margin:.4375rem .4375rem .25rem}div.radio-container div{flex:1;width:50%}div.radio-container div.full-width{width:100%}div.radio-container input{position:relative;top:.125rem;margin-right:.25rem}div.radio-container label{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:0;color:#4a4a4a;margin:0;padding-left:.125rem}div.radio-container label:first-of-type{margin-right:.188rem}div.radio-container input[type=radio]{appearance:none;display:inline-block;width:.9375rem;height:.9375rem;padding:.125rem;background-clip:content-box;border:.125rem solid #268bff;background-color:transparent;border-radius:50%}div.radio-container input[type=radio]:checked{background-color:#268bff}.checkbox-filter-buttons-container{padding:0 8px!important}.buttons-container{display:flex;margin:0px auto .4375rem;justify-content:center;padding:0 12px}.buttons-container .button{padding:0 10px;width:100%;margin:8px 0 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buttons-container button:last-of-type{background-color:#268bff;color:#fff;margin-left:.5rem}.buttons-container button.disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.button{display:inline-block;margin:8px 4px 0 8px;padding:0 16px;border-radius:4px;text-align:center;outline:none;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.67;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.search-box{display:flex;align-items:center;color:#c8c8c8;border:1px solid #e6e6e6;border-radius:.125rem;margin:.25rem .4375rem .188rem;height:1.5rem;padding:.188rem 8px .188rem .5rem}.search-box .search-bar-close{margin-left:auto;float:right}.search-icon{margin:0 4px 0 0;font-size:1.125rem;color:#9b9b9b}.filter-icon{justify-content:right;margin-left:auto;color:#d4d4d4;color:#a1a1a1;font-size:16px;cursor:pointer}.data{margin:0 13px 0 8px;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.86;letter-spacing:\"\";color:#4a4a4a}.search-input{margin:1px 0 1px 4px;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#c8c8c8;width:calc(100% - 38px)}.check-box{color:#268bff}.tooltip-data-container{overflow-y:scroll;max-height:8rem}.searchbar{width:100%;display:flex;justify-content:flex-end;align-items:flex-end}.clear-button{opacity:.5;font-family:Roboto;font-size:.9375rem;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-decoration:underline;border:none;background-color:#fff;color:#4a4a4a;margin-left:.625rem;padding:0}.clear-button:focus{outline:none;box-shadow:none}.unchecked{color:#268bff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.3rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container p.input{margin-left:0}cdk-virtual-scroll-viewport.dropdown-data-container p.input span.mi{padding-left:.4375rem}cdk-virtual-scroll-viewport.dropdown-data-container p.input:hover{background-color:#ebebeb;cursor:pointer}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.188rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:lightgray}section.min-maxContainer{display:flex;justify-content:center;margin-bottom:-.125rem;margin-top:.5rem;width:100%}section.min-maxContainer input{width:30%;height:1.875rem;border:1px solid lightgray;color:gray}section.min-maxContainer span{display:inline-block;padding-left:.5rem;padding-right:.5rem;position:relative;top:.3125rem;color:#666}.time-container{width:100%;display:flex;padding:0 .75rem}.time-container input.form-control:disabled{background-color:#fff;width:2.813rem}.time-container input.numberInput:focus{box-shadow:none;border-color:#c2cfd6}.time-container .dot{color:#cbcbcb;position:relative;left:-7px;font-size:17px}.time-container div.arrow-container{flex-direction:column;display:flex;margin-top:.375rem;width:9px;height:18px;margin-right:1.1875rem}.time-container div.arrow-container i{color:#000;cursor:pointer;max-height:9px;font-size:25px;width:10px}.time-container div.arrow-container i:before{width:0;height:0;pointer-events:none;position:relative;left:-9px;top:-11px}.mdi-filter{cursor:pointer}.time-label-container{display:flex;justify-content:flex-start}.time-label-container label{margin-bottom:0;color:#4a4a4a;margin-top:.125rem;margin-left:.625rem;font-weight:700}.time-heading{color:#000;font-size:.8125rem;text-align:left;padding-left:.625rem;margin-top:.625rem;font-weight:700}.column-clear-all{width:94%;text-align:center;border:none;font-size:14px;background:none;text-decoration:underline;color:#268bff}.checkbox-container{display:flex;padding-inline:.625rem}.checkbox-container .data{text-align:left}.checkbox-container:first-of-type{margin-top:.625rem;font-weight:500}.column-clear-all{width:94%;text-align:center;border:none;background:none;text-decoration:underline;color:#268bff}.column-clear-all:disabled{opacity:.5;color:#4a4a4a;font-weight:400}.column-clear-all.align-center{text-align:center}span.mdi-filter-variant.disabled{pointer-events:none;opacity:.5}.datepicker-container{width:100%}span.mdi-filter-variant{color:#cbcbcb;cursor:pointer;font-size:.875rem}span.mdi-filter-variant.active{color:#000}p.filter-tab{font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:normal;color:#1b88ff;border-radius:5px;background-color:#f4f4f4;padding-inline:8px;cursor:pointer;overflow:hidden;text-align:center;text-overflow:ellipsis}p.filter-tab.active{color:#fff;background-color:#1b88ff}button.filter-text-btn{background:white;text-decoration:underline;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;border:none;color:#268bff;margin-inline:4px;margin-top:2px}button.filter-text-btn:disabled{color:#b1b1b1;cursor:not-allowed}::ng-deep .non-edit-datepicker-tooltip .tooltip-inner{max-width:310px!important;width:283px!important;overflow-y:initial!important;padding:0!important}input.slider-text::-webkit-outer-spin-button,input.slider-text::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.slider-text{-moz-appearance:textfield}input.slider-text.red-border{border:1px solid #f44336!important}::ng-deep .checkbox-sort p.sort-container{margin-top:8px!important;padding-bottom:8px!important}i.mdi-close{cursor:pointer}i.mdi-close.disable-close-icon{pointer-events:none;cursor:not-allowed}input.error-border{border:1px solid #f44336!important}::ng-deep .non-edit-checkbox-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-slider-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-time-tooltip .tooltip-inner{width:250px!important;padding:0!important}::ng-deep .non-edit-time-tooltip.bs-tooltip-start{padding:.4rem}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow{right:0;top:5px!important;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow:before{border-left-color:#fff;left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height)}::ng-deep .no-bottom-border p.sort-container{border-bottom:none!important}::ng-deep .ngx-slider-pointer-min:after{display:none}::ng-deep .ngx-slider-pointer-max:after{display:none}::ng-deep .ngx-slider span.ngx-slider-pointer{width:12px;height:12px;top:-5px;background-color:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bar{height:3px;background:#ededed}::ng-deep .ngx-slider span.ngx-slider-selection{background:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bubble{bottom:-22px;font-size:12px;color:#333}::ng-deep .show-min.ngx-slider span.ngx-slider-model-value{background:white;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .show-max.ngx-slider span.ngx-slider-model-high{background:white;box-shadow:none}::ng-deep .ngx-slider span.ngx-slider-combined{background:white;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .ngx-slider{top:10px!important;margin:5px 0 2px!important}::ng-deep .ngx-slider-animate{top:0!important}.sidebar-slider{margin-bottom:35px!important;margin-left:5px;margin-right:5px}.slider-placeholder{height:14px}::ng-deep .filter-calendar select.form-select:focus{border-color:#c2cfd6;box-shadow:none}::ng-deep .filter-calendar select.form-select{background-color:#fff}.no-data-case{padding-left:.4375rem!important;font-size:.875rem!important;margin-top:10px!important;cursor:pointer}.custom-column-checkbox-checked,.custom-column-checkbox-unchecked{font-size:.875rem;cursor:pointer}.custom-column-checkbox-checked{color:#268bff}.custom-column-checkbox-unchecked{color:#4a4a4a}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AnnaSortComponent, selector: "anna-core-sort-lib", inputs: ["sortObjectKey"], outputs: ["sortOptionClicked"] }, { kind: "component", type: AnnaCalendarFilterComponent, selector: "anna-core-calendar-filter-lib", inputs: ["maxDate", "autoClose", "label", "minDate", "showLabel", "dateFormat", "placeholder", "disabled", "selectedFromDate", "selectedToDate", "disableFunction", "showFooterTemplate", "placement"], outputs: ["selectedDate", "apply", "cancel"] }] });
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnaColumnDateRangeFilterComponent, decorators: [{
|
|
164
|
-
type: Component,
|
|
165
|
-
args: [{ selector: 'anna-core-anna-column-date-range-filter', standalone: true, imports: [NgIf, NgFor, NgClass, AnnaSortComponent, AnnaCalendarFilterComponent], template: "<div\r\n class=\"radio-container\"\r\n *ngIf=\"showFilterHeaderTabs\"\r\n>\r\n <div *ngFor=\"let data of filterTabObjects\">\r\n <p\r\n class=\"filter-tab\"\r\n [title]=\"data.label\"\r\n (click)=\"populateTooltipDataBasedOnSelectedRadio(data, true)\"\r\n [ngClass]=\"{ active: annaFilterService.selectedRadio == data.key }\"\r\n *ngIf=\"filterTabObjects.length > 0\"\r\n >\r\n {{ data.label }}\r\n </p>\r\n </div>\r\n</div>\r\n\r\n<anna-core-sort-lib\r\n *ngIf=\"showSortComponent\"\r\n [ngClass]=\"{ 'no-bottom-border': !showFilterComponent }\"\r\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\"\r\n [sortObjectKey]=\"annaFilterService.selectedRadio\"\r\n></anna-core-sort-lib>\r\n\r\n<ng-container *ngIf=\"showFilterComponent\">\r\n <div class=\"datepicker-container\">\r\n <button\r\n class=\"column-clear-all\"\r\n [disabled]=\"disableColumnClearAllBtn\"\r\n (click)=\"clearColumnFilter()\"\r\n >\r\n Clear filter\r\n </button>\r\n <anna-core-calendar-filter-lib\r\n class=\"filter-calendar\"\r\n [minDate]=\"calendarMinEnabledDate\"\r\n [maxDate]=\"calendarMaxEnabledDate\"\r\n [selectedFromDate]=\"selectedMinDate\"\r\n [selectedToDate]=\"selectedMaxDate\"\r\n (selectedDate)=\"calendarDateChanged($event)\"\r\n [label]=\"selectedLabel\"\r\n >\r\n </anna-core-calendar-filter-lib>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"buttons-container\">\r\n <button\r\n class=\"button\"\r\n (click)=\"cancelInDateFilter()\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n class=\"button\"\r\n (click)=\"applyDateFilter()\"\r\n [ngClass]=\"{ disabled: disableCalendarApplyBtn }\"\r\n [disabled]=\"disableCalendarApplyBtn\"\r\n >\r\n Apply\r\n </button>\r\n</div>\r\n", styles: [".sort-btn{background:white;border:none;border-right:1px solid #1b88ff;text-decoration:underline;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.07;letter-spacing:normal;color:#1b88ff;cursor:pointer;flex:1;text-align:center}.sort-btn:last-of-type{border-right:none}.sort-btn.active{color:#202b47;text-decoration:none}p.sort-container{margin-top:8px;padding-bottom:8px;border-bottom:1px solid #e6e6e6;margin-bottom:0;display:flex}::ng-deep .tooltip-inner{max-height:22rem;background-color:#fff;border:1px solid white;border-radius:5px;box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;max-width:251px;width:100%;padding:0!important}::ng-deep .tooltip-inner div.radio-container{flex-wrap:wrap}::ng-deep .md-drppicker{box-shadow:unset!important}::ng-deep .available{color:#999}::ng-deep .bs-tooltip-bottom .arrow:before{border-bottom-color:#fff!important}::ng-deep .bs-tooltip-left .arrow:before{border-left-color:#fff!important}::ng-deep .tooltip.show{opacity:1}.input{text-align:left;margin:5px 10px 5px 5px;display:flex;align-items:center;width:230px;white-space:nowrap}.data{color:#000;font-weight:700;margin-left:5px;margin-right:5px}span.data{display:inline-block;text-overflow:ellipsis;white-space:pre;width:100%;overflow:hidden}.check-box{font-size:14px;cursor:pointer;position:relative;top:-1px}span.mdi-filter.active{color:#000;opacity:1!important;pointer-events:all!important}p{margin-bottom:0;line-height:initial}span.mdi-filter{color:#cbcbcb}::ng-deep .ngx-slider-pointer{top:-5px!important;width:12px!important;height:12px!important;background:#bdbdbd!important;border:1px solid #ffffff!important;box-shadow:0 1px 3px #0000004d!important;border-radius:16px!important}input:focus{outline:none}input::placeholder{color:#c8c8c8}.cancel-btn{background:#c7e1ff;color:#268bff}.apply-btn{background:#268bff;color:#fff;margin-left:.3125rem}div.radio-container{display:flex;white-space:nowrap;justify-content:space-between;background-color:#f4f4f4;border-radius:.125rem;margin:.4375rem .4375rem .25rem}div.radio-container div{flex:1;width:50%}div.radio-container div.full-width{width:100%}div.radio-container input{position:relative;top:.125rem;margin-right:.25rem}div.radio-container label{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:0;color:#4a4a4a;margin:0;padding-left:.125rem}div.radio-container label:first-of-type{margin-right:.188rem}div.radio-container input[type=radio]{appearance:none;display:inline-block;width:.9375rem;height:.9375rem;padding:.125rem;background-clip:content-box;border:.125rem solid #268bff;background-color:transparent;border-radius:50%}div.radio-container input[type=radio]:checked{background-color:#268bff}.checkbox-filter-buttons-container{padding:0 8px!important}.buttons-container{display:flex;margin:0px auto .4375rem;justify-content:center;padding:0 12px}.buttons-container .button{padding:0 10px;width:100%;margin:8px 0 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buttons-container button:last-of-type{background-color:#268bff;color:#fff;margin-left:.5rem}.buttons-container button.disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.button{display:inline-block;margin:8px 4px 0 8px;padding:0 16px;border-radius:4px;text-align:center;outline:none;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.67;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.search-box{display:flex;align-items:center;color:#c8c8c8;border:1px solid #e6e6e6;border-radius:.125rem;margin:.25rem .4375rem .188rem;height:1.5rem;padding:.188rem 8px .188rem .5rem}.search-box .search-bar-close{margin-left:auto;float:right}.search-icon{margin:0 4px 0 0;font-size:1.125rem;color:#9b9b9b}.filter-icon{justify-content:right;margin-left:auto;color:#d4d4d4;color:#a1a1a1;font-size:16px;cursor:pointer}.data{margin:0 13px 0 8px;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.86;letter-spacing:\"\";color:#4a4a4a}.search-input{margin:1px 0 1px 4px;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#c8c8c8;width:calc(100% - 38px)}.check-box{color:#268bff}.tooltip-data-container{overflow-y:scroll;max-height:8rem}.searchbar{width:100%;display:flex;justify-content:flex-end;align-items:flex-end}.clear-button{opacity:.5;font-family:Roboto;font-size:.9375rem;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-decoration:underline;border:none;background-color:#fff;color:#4a4a4a;margin-left:.625rem;padding:0}.clear-button:focus{outline:none;box-shadow:none}.unchecked{color:#268bff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.3rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container p.input{margin-left:0}cdk-virtual-scroll-viewport.dropdown-data-container p.input span.mi{padding-left:.4375rem}cdk-virtual-scroll-viewport.dropdown-data-container p.input:hover{background-color:#ebebeb;cursor:pointer}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.188rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:lightgray}section.min-maxContainer{display:flex;justify-content:center;margin-bottom:-.125rem;margin-top:.5rem;width:100%}section.min-maxContainer input{width:30%;height:1.875rem;border:1px solid lightgray;color:gray}section.min-maxContainer span{display:inline-block;padding-left:.5rem;padding-right:.5rem;position:relative;top:.3125rem;color:#666}.time-container{width:100%;display:flex;padding:0 .75rem}.time-container input.form-control:disabled{background-color:#fff;width:2.813rem}.time-container input.numberInput:focus{box-shadow:none;border-color:#c2cfd6}.time-container .dot{color:#cbcbcb;position:relative;left:-7px;font-size:17px}.time-container div.arrow-container{flex-direction:column;display:flex;margin-top:.375rem;width:9px;height:18px;margin-right:1.1875rem}.time-container div.arrow-container i{color:#000;cursor:pointer;max-height:9px;font-size:25px;width:10px}.time-container div.arrow-container i:before{width:0;height:0;pointer-events:none;position:relative;left:-9px;top:-11px}.mdi-filter{cursor:pointer}.time-label-container{display:flex;justify-content:flex-start}.time-label-container label{margin-bottom:0;color:#4a4a4a;margin-top:.125rem;margin-left:.625rem;font-weight:700}.time-heading{color:#000;font-size:.8125rem;text-align:left;padding-left:.625rem;margin-top:.625rem;font-weight:700}.column-clear-all{width:94%;text-align:center;border:none;font-size:14px;background:none;text-decoration:underline;color:#268bff}.checkbox-container{display:flex;padding-inline:.625rem}.checkbox-container .data{text-align:left}.checkbox-container:first-of-type{margin-top:.625rem;font-weight:500}.column-clear-all{width:94%;text-align:center;border:none;background:none;text-decoration:underline;color:#268bff}.column-clear-all:disabled{opacity:.5;color:#4a4a4a;font-weight:400}.column-clear-all.align-center{text-align:center}span.mdi-filter-variant.disabled{pointer-events:none;opacity:.5}.datepicker-container{width:100%}span.mdi-filter-variant{color:#cbcbcb;cursor:pointer;font-size:.875rem}span.mdi-filter-variant.active{color:#000}p.filter-tab{font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:normal;color:#1b88ff;border-radius:5px;background-color:#f4f4f4;padding-inline:8px;cursor:pointer;overflow:hidden;text-align:center;text-overflow:ellipsis}p.filter-tab.active{color:#fff;background-color:#1b88ff}button.filter-text-btn{background:white;text-decoration:underline;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;border:none;color:#268bff;margin-inline:4px;margin-top:2px}button.filter-text-btn:disabled{color:#b1b1b1;cursor:not-allowed}::ng-deep .non-edit-datepicker-tooltip .tooltip-inner{max-width:310px!important;width:283px!important;overflow-y:initial!important;padding:0!important}input.slider-text::-webkit-outer-spin-button,input.slider-text::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.slider-text{-moz-appearance:textfield}input.slider-text.red-border{border:1px solid #f44336!important}::ng-deep .checkbox-sort p.sort-container{margin-top:8px!important;padding-bottom:8px!important}i.mdi-close{cursor:pointer}i.mdi-close.disable-close-icon{pointer-events:none;cursor:not-allowed}input.error-border{border:1px solid #f44336!important}::ng-deep .non-edit-checkbox-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-slider-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-time-tooltip .tooltip-inner{width:250px!important;padding:0!important}::ng-deep .non-edit-time-tooltip.bs-tooltip-start{padding:.4rem}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow{right:0;top:5px!important;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow:before{border-left-color:#fff;left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height)}::ng-deep .no-bottom-border p.sort-container{border-bottom:none!important}::ng-deep .ngx-slider-pointer-min:after{display:none}::ng-deep .ngx-slider-pointer-max:after{display:none}::ng-deep .ngx-slider span.ngx-slider-pointer{width:12px;height:12px;top:-5px;background-color:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bar{height:3px;background:#ededed}::ng-deep .ngx-slider span.ngx-slider-selection{background:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bubble{bottom:-22px;font-size:12px;color:#333}::ng-deep .show-min.ngx-slider span.ngx-slider-model-value{background:white;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .show-max.ngx-slider span.ngx-slider-model-high{background:white;box-shadow:none}::ng-deep .ngx-slider span.ngx-slider-combined{background:white;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .ngx-slider{top:10px!important;margin:5px 0 2px!important}::ng-deep .ngx-slider-animate{top:0!important}.sidebar-slider{margin-bottom:35px!important;margin-left:5px;margin-right:5px}.slider-placeholder{height:14px}::ng-deep .filter-calendar select.form-select:focus{border-color:#c2cfd6;box-shadow:none}::ng-deep .filter-calendar select.form-select{background-color:#fff}.no-data-case{padding-left:.4375rem!important;font-size:.875rem!important;margin-top:10px!important;cursor:pointer}.custom-column-checkbox-checked,.custom-column-checkbox-unchecked{font-size:.875rem;cursor:pointer}.custom-column-checkbox-checked{color:#268bff}.custom-column-checkbox-unchecked{color:#4a4a4a}\n"] }]
|
|
166
|
-
}], ctorParameters: function () { return [{ type: i1.AnnaDateTimeFormatService }, { type: i2.AnnaSortService }, { type: i3.AnnaFilterService }]; }, propDecorators: { tableData: [{
|
|
167
|
-
type: Input
|
|
168
|
-
}], clonedTableData: [{
|
|
169
|
-
type: Input
|
|
170
|
-
}], filterTabObjects: [{
|
|
171
|
-
type: Input
|
|
172
|
-
}], isLurAndCsrComponent: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], showFilterHeaderTabs: [{
|
|
175
|
-
type: Input
|
|
176
|
-
}], filterAppliedToTable: [{
|
|
177
|
-
type: Output
|
|
178
|
-
}], sortingAppliedToTable: [{
|
|
179
|
-
type: Output
|
|
180
|
-
}], getSortType: [{
|
|
181
|
-
type: Output
|
|
182
|
-
}], closeTooltip: [{
|
|
183
|
-
type: Output
|
|
184
|
-
}] } });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jb2x1bW4tZGF0ZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtY29sdW1uLWZpbHRlcnMvYW5uYS1jb2x1bW4tZGF0ZS1yYW5nZS1maWx0ZXIvYW5uYS1jb2x1bW4tZGF0ZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtY29sdW1uLWZpbHRlcnMvYW5uYS1jb2x1bW4tZGF0ZS1yYW5nZS1maWx0ZXIvYW5uYS1jb2x1bW4tZGF0ZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDbEcsT0FBTyxFQUNILHlCQUF5QixHQUU1QixNQUFNLHlFQUF5RSxDQUFDO0FBR2pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhGQUE4RixDQUFDO0FBQzNJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQVN2RCxNQUFN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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwLCBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuXHJcbmltcG9ydCB7IEFubmFTb3J0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL3NlcnZpY2VzL2FubmEtc29ydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQW5uYUZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWZpbHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICAgIEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UsXHJcbiAgICBOZ2JEYXRlVHlwZSxcclxufSBmcm9tICcuLi8uLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNvcnRUeXBlLCBTb3J0VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9tb2RlbHMvYW5uYS1zb3J0Lm1vZGVsJztcclxuaW1wb3J0IHsgcmFkaW9CdXR0b25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL21vZGVscy9hbm5hLXRvb2x0aXAubW9kZWwnO1xyXG5pbXBvcnQgeyBBbm5hQ2FsZW5kYXJGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtY2FsZW5kYXItZmlsdGVyL2FubmEtY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFTb3J0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYW5uYS1zb3J0L2FubmEtc29ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYW5uYS1jb3JlLWFubmEtY29sdW1uLWRhdGUtcmFuZ2UtZmlsdGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hbm5hLWNvbHVtbi1kYXRlLXJhbmdlLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9hbm5hLWNvbHVtbi1kYXRlLXJhbmdlLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ0ZvciwgTmdDbGFzcywgQW5uYVNvcnRDb21wb25lbnQsIEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hQ29sdW1uRGF0ZVJhbmdlRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIHRhYmxlRGF0YTogYW55W107XHJcbiAgICBASW5wdXQoKSBjbG9uZWRUYWJsZURhdGE6IGFueVtdO1xyXG4gICAgQElucHV0KCkgZmlsdGVyVGFiT2JqZWN0czogYW55W107XHJcbiAgICBASW5wdXQoKSBpc0x1ckFuZENzckNvbXBvbmVudDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHNob3dGaWx0ZXJIZWFkZXJUYWJzOiBib29sZWFuO1xyXG5cclxuICAgIEBPdXRwdXQoKSBmaWx0ZXJBcHBsaWVkVG9UYWJsZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBzb3J0aW5nQXBwbGllZFRvVGFibGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgZ2V0U29ydFR5cGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgY2xvc2VUb29sdGlwID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIGlzRmlsdGVyQ2hhbmdlZDogYm9vbGVhbjtcclxuICAgIHRlbXBTb3J0T3JkZXI6IFNvcnRUeXBlID0gbnVsbDtcclxuICAgIGlzU29ydENoYW5nZWQ6IGJvb2xlYW47XHJcbiAgICBzaG93U29ydENvbXBvbmVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgZGlzYWJsZUNhbGVuZGFyQXBwbHlCdG46IGJvb2xlYW47XHJcbiAgICBzZWxlY3RlZExhYmVsOiBzdHJpbmc7XHJcbiAgICBzaG93RmlsdGVyQ29tcG9uZW50OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBkaXNhYmxlQ29sdW1uQ2xlYXJBbGxCdG46IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIGNhbGVuZGFyTWluRW5hYmxlZERhdGU6IE5nYkRhdGVUeXBlO1xyXG4gICAgY2FsZW5kYXJNYXhFbmFibGVkRGF0ZTogTmdiRGF0ZVR5cGU7XHJcbiAgICBzZWxlY3RlZE1pbkRhdGU6IE5nYkRhdGVUeXBlO1xyXG4gICAgc2VsZWN0ZWRNYXhEYXRlOiBOZ2JEYXRlVHlwZTtcclxuICAgIGNhbGVuZGFyU2VsZWN0aW9uOiBhbnkgPSB7IGZyb21EYXRlOiBudWxsLCB0b0RhdGU6IG51bGwgfTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZTogQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGFubmFTb3J0U2VydmljZTogQW5uYVNvcnRTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBhbm5hRmlsdGVyU2VydmljZTogQW5uYUZpbHRlclNlcnZpY2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wb3B1bGF0ZVRvb2x0aXBEYXRhQmFzZWRPblNlbGVjdGVkUmFkaW8odGhpcy5maWx0ZXJUYWJPYmplY3RzWzBdLCBmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcG9wdWxhdGVUb29sdGlwRGF0YUJhc2VkT25TZWxlY3RlZFJhZGlvKGFjdGl2ZVRhYjogcmFkaW9CdXR0b25Nb2RlbCwgcmVsb2FkOiBib29sZWFuKSB7XHJcbiAgICAgICAgbGV0IGhlYWRlciA9IGFjdGl2ZVRhYi5rZXk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExhYmVsID0gYWN0aXZlVGFiLmxhYmVsO1xyXG5cclxuICAgICAgICB0aGlzLnNob3dTb3J0Q29tcG9uZW50ID0gYWN0aXZlVGFiLmlzU29ydFJlcXVpcmVkO1xyXG4gICAgICAgIHRoaXMuc2hvd0ZpbHRlckNvbXBvbmVudCA9IGFjdGl2ZVRhYi5pc0ZpbHRlclJlcXVpcmVkO1xyXG5cclxuICAgICAgICB0aGlzLnRlbXBTb3J0T3JkZXIgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuaXNGaWx0ZXJDaGFuZ2VkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc1NvcnRDaGFuZ2VkID0gZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbyA9IGhlYWRlcjtcclxuICAgICAgICB0aGlzLmRpc2FibGVDb2x1bW5DbGVhckFsbEJ0biA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuZGlzYWJsZUFjdGl2ZUZpbHRlckNsZWFyQnV0dG9uKCk7XHJcblxyXG4gICAgICAgIGlmIChyZWxvYWQpIHtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUZpbHRlclRvb2x0aXBEYXRhKGFjdGl2ZVRhYiwgaGVhZGVyKTtcclxuICAgICAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUZpbHRlclRvb2x0aXBEYXRhKGFjdGl2ZVRhYiwgaGVhZGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlRmlsdGVyVG9vbHRpcERhdGEoYWN0aXZlVGFiOiByYWRpb0J1dHRvbk1vZGVsLCBrZXk6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuc2hvd1NvcnRDb21wb25lbnQgPSBhY3RpdmVUYWIuaXNTb3J0UmVxdWlyZWQ7XHJcbiAgICAgICAgdGhpcy5zaG93RmlsdGVyQ29tcG9uZW50ID0gYWN0aXZlVGFiLmlzRmlsdGVyUmVxdWlyZWQ7XHJcblxyXG4gICAgICAgIHRoaXMuZGlzYWJsZUNhbGVuZGFyQXBwbHlCdG4gPSB0cnVlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zaG93RmlsdGVyQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Q2FsZW5kYXJEYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldENhbGVuZGFyRGF0YSgpIHtcclxuICAgICAgICBjb25zdCBwYXJzaW5nRm9ybWF0ID0gJ01NL0REL1lZWVknO1xyXG4gICAgICAgIGxldCBvcHRpb25EYXRhID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRGaWx0ZXJPcHRpb25zRGF0YSh0aGlzLnRhYmxlRGF0YSwgdGhpcy5jbG9uZWRUYWJsZURhdGEpO1xyXG4gICAgICAgIGxldCBtaW5NYXhEYXRlID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5jcmVhdGVSYW5nZUZvclRoZURhdGVGaWx0ZXIob3B0aW9uRGF0YSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RSYW5nZUZvclRoZURhdGVGaWx0ZXIobWluTWF4RGF0ZSwgcGFyc2luZ0Zvcm1hdCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0UmFuZ2VGb3JUaGVEYXRlRmlsdGVyKG1pbk1heERhdGU6IGFueVtdLCBwYXJzaW5nRm9ybWF0OiBzdHJpbmcpIHtcclxuICAgICAgICBbdGhpcy5jYWxlbmRhck1pbkVuYWJsZWREYXRlLCB0aGlzLmNhbGVuZGFyTWF4RW5hYmxlZERhdGVdID1cclxuICAgICAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRNaW5BbmRNYXhEYXRlUmFuZ2VGb3JDYWxlbmRhcihtaW5NYXhEYXRlLCBwYXJzaW5nRm9ybWF0KTtcclxuXHJcbiAgICAgICAgW3RoaXMuc2VsZWN0ZWRNaW5EYXRlLCB0aGlzLnNlbGVjdGVkTWF4RGF0ZV0gPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmdldFNlbGVjdGVkRGF0ZUZvckNhbGVuZGFyKFxyXG4gICAgICAgICAgICBtaW5NYXhEYXRlLFxyXG4gICAgICAgICAgICBwYXJzaW5nRm9ybWF0LFxyXG4gICAgICAgICAgICB0aGlzLmNhbGVuZGFyTWluRW5hYmxlZERhdGUsXHJcbiAgICAgICAgICAgIHRoaXMuY2FsZW5kYXJNYXhFbmFibGVkRGF0ZSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICB0aGlzLmNhbGVuZGFyU2VsZWN0aW9uLmZyb21EYXRlID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRNaW5EYXRlKTtcclxuICAgICAgICB0aGlzLmNhbGVuZGFyU2VsZWN0aW9uLnRvRGF0ZSA9IGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkTWF4RGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlEYXRlRmlsdGVyKCkge1xyXG4gICAgICAgIHRoaXMuYXBwbHlEYXRlRmlsdGVyT25EYXRhKCk7XHJcbiAgICAgICAgdGhpcy5hcHBseVNvcnRpbmdPbkZpbHRlcmVkRGF0YSgpO1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudXBkYXRlU3RhdGVPZkFsbFRoZUtleXModGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKTtcclxuICAgICAgICB0aGlzLmVtaXREYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlTb3J0aW5nT25GaWx0ZXJlZERhdGEoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd1NvcnRDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTb3J0Q2hhbmdlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnVwZGF0ZVNvcnRNYXAoXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wU29ydE9yZGVyLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVEYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMdXJBbmRDc3JDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNGaWx0ZXJDaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNoZWNrSWZTb3J0aW5nSXNBcHBsaWVkKFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVEYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMdXJBbmRDc3JDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRmlsdGVyQ2hhbmdlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNoZWNrSWZTb3J0aW5nSXNBcHBsaWVkKHRoaXMudGFibGVEYXRhLCB0aGlzLmlzTHVyQW5kQ3NyQ29tcG9uZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZW1pdERhdGEoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNGaWx0ZXJDaGFuZ2VkICYmIHRoaXMuaXNTb3J0Q2hhbmdlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckFwcGxpZWRUb1RhYmxlLmVtaXQodGhpcy50YWJsZURhdGEpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0ZpbHRlckNoYW5nZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJBcHBsaWVkVG9UYWJsZS5lbWl0KHRoaXMudGFibGVEYXRhKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNTb3J0Q2hhbmdlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldFNvcnRUeXBlLmVtaXQodGhpcy50ZW1wU29ydE9yZGVyKTtcclxuICAgICAgICAgICAgdGhpcy5zb3J0aW5nQXBwbGllZFRvVGFibGUuZW1pdCh0aGlzLnRhYmxlRGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbmNlbEluRGF0ZUZpbHRlcigpIHtcclxuICAgICAgICB0aGlzLmNsb3NlVG9vbHRpcC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FsZW5kYXJEYXRlQ2hhbmdlZChldmVudDogYW55KSB7XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhclNlbGVjdGlvbiA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUNhbGVuZGFyQXBwbHlCdXR0b24oKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNhYmxlQ2FsZW5kYXJBcHBseUJ1dHRvbigpIHtcclxuICAgICAgICBpZiAodGhpcy5zaG93RmlsdGVyQ29tcG9uZW50ICYmIHRoaXMuc2hvd1NvcnRDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgbGV0IGlzRmlsdGVyQ2hhbmdlZCA9IHRoaXMuY2hlY2tJZkRhdGVUb29sdGlwSXNGaWx0ZXJlZCgpO1xyXG4gICAgICAgICAgICBsZXQgaXNTb3J0Q2hhbmdlZCA9IHRoaXMuY2hlY2tJZlNvcnRpbmdDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZUNhbGVuZGFyQXBwbHlCdG4gPVxyXG4gICAgICAgICAgICAgICAgISh0aGlzLmNhbGVuZGFyU2VsZWN0aW9uLmZyb21EYXRlICYmIHRoaXMuY2FsZW5kYXJTZWxlY3Rpb24udG9EYXRlKSB8fFxyXG4gICAgICAgICAgICAgICAgKCFpc1NvcnRDaGFuZ2VkICYmICFpc0ZpbHRlckNoYW5nZWQpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zaG93RmlsdGVyQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZUNhbGVuZGFyQXBwbHlCdG4gPVxyXG4gICAgICAgICAgICAgICAgISh0aGlzLmNhbGVuZGFyU2VsZWN0aW9uLmZyb21EYXRlICYmIHRoaXMuY2FsZW5kYXJTZWxlY3Rpb24udG9EYXRlKSB8fFxyXG4gICAgICAgICAgICAgICAgIXRoaXMuY2hlY2tJZkRhdGVUb29sdGlwSXNGaWx0ZXJlZCgpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zaG93U29ydENvbXBvbmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVDYWxlbmRhckFwcGx5QnRuID0gIXRoaXMuY2hlY2tJZlNvcnRpbmdDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrSWZTb3J0aW5nQ2hhbmdlZCgpIHtcclxuICAgICAgICB0aGlzLmlzU29ydENoYW5nZWQgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmNoZWNrSWZTb3J0aW5nQ2hhbmdlZCh0aGlzLnRlbXBTb3J0T3JkZXIpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzU29ydENoYW5nZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tJZkRhdGVUb29sdGlwSXNGaWx0ZXJlZCgpIHtcclxuICAgICAgICBsZXQgcHJldmlvdXNTZWxlY3RlZERhdGUgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmdldFByZXZpb3VzU2VsZWN0ZWREYXRlc0ZvckNhbGVuZGFyKHRoaXMuY2xvbmVkVGFibGVEYXRhKTtcclxuICAgICAgICBsZXQgY3VycmVudFNlbGVjdGVkRGF0ZSA9IGNsb25lRGVlcCh0aGlzLmNhbGVuZGFyU2VsZWN0aW9uKTtcclxuXHJcbiAgICAgICAgaWYgKGN1cnJlbnRTZWxlY3RlZERhdGUuZnJvbURhdGUgJiYgY3VycmVudFNlbGVjdGVkRGF0ZS50b0RhdGUpIHtcclxuICAgICAgICAgICAgY3VycmVudFNlbGVjdGVkRGF0ZSA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuZ2V0Q3VycmVudFNlbGVjdGVkRGF0ZXNGb3JDYWxlbmRhcihcclxuICAgICAgICAgICAgICAgIGNsb25lRGVlcCh0aGlzLmNhbGVuZGFyU2VsZWN0aW9uKSxcclxuICAgICAgICAgICAgICAgIHRoaXMuY2FsZW5kYXJNaW5FbmFibGVkRGF0ZSxcclxuICAgICAgICAgICAgICAgIHRoaXMuY2FsZW5kYXJNYXhFbmFibGVkRGF0ZSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5pc0ZpbHRlckNoYW5nZWQgPSAhaXNFcXVhbChwcmV2aW91c1NlbGVjdGVkRGF0ZSwgY3VycmVudFNlbGVjdGVkRGF0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5pc0ZpbHRlckNoYW5nZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlEYXRlRmlsdGVyT25EYXRhKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnNob3dGaWx0ZXJDb21wb25lbnQgJiYgdGhpcy5pc0ZpbHRlckNoYW5nZWQpIHtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRTZWxlY3RlZERhdGUgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmdldEN1cnJlbnRTZWxlY3RlZERhdGVzRm9yQ2FsZW5kYXIoXHJcbiAgICAgICAgICAgICAgICBjbG9uZURlZXAodGhpcy5jYWxlbmRhclNlbGVjdGlvbiksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGVuZGFyTWluRW5hYmxlZERhdGUsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGVuZGFyTWF4RW5hYmxlZERhdGUsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UucmVPcmRlckFwcGxpZWRGaWx0ZXJzU3RhdGUodGhpcy5jbG9uZWRUYWJsZURhdGEsIGN1cnJlbnRTZWxlY3RlZERhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnRvb2x0aXBTZWxlY3RlZE1hcC5zZXQodGhpcy5hbm5hRmlsdGVyU2VydmljZS5zZWxlY3RlZFJhZGlvLCBjdXJyZW50U2VsZWN0ZWREYXRlKTtcclxuICAgICAgICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmZpbHRlckRhdGEodGhpcy5jbG9uZWRUYWJsZURhdGEsICcnKTtcclxuICAgICAgICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2Uubm9Tb3J0aW5nQXBwbGllZERhdGEgPSBjbG9uZURlZXAodGhpcy50YWJsZURhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjbGVhckNvbHVtbkZpbHRlcigpIHtcclxuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmNsZWFyQ29sdW1uRmlsdGVyKCk7XHJcbiAgICAgICAgdGhpcy50YWJsZURhdGEgPSBjbG9uZURlZXAodGhpcy5hbm5hRmlsdGVyU2VydmljZS5maWx0ZXJEYXRhKHRoaXMuY2xvbmVkVGFibGVEYXRhLCAnJykpO1xyXG4gICAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gdGhpcy50YWJsZURhdGE7XHJcbiAgICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLmFubmFTb3J0U2VydmljZS5jaGVja0lmU29ydGluZ0lzQXBwbGllZCh0aGlzLnRhYmxlRGF0YSwgdGhpcy5pc0x1ckFuZENzckNvbXBvbmVudCk7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS51cGRhdGVTdGF0ZU9mVGhlQ3VycmVudEZpbHRlclRhYih0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyQXBwbGllZFRvVGFibGUuZW1pdCh0aGlzLnRhYmxlRGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcmVTb3J0VHlwZUluVGVtcFZhcmlhYmxlKGV2ZW50OiBTb3J0VHlwZSkge1xyXG4gICAgICAgIHRoaXMudGVtcFNvcnRPcmRlciA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUNhbGVuZGFyQXBwbHlCdXR0b24oKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgICBjbGFzcz1cInJhZGlvLWNvbnRhaW5lclwiXHJcbiAgICAqbmdJZj1cInNob3dGaWx0ZXJIZWFkZXJUYWJzXCJcclxuPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBmaWx0ZXJUYWJPYmplY3RzXCI+XHJcbiAgICAgICAgPHBcclxuICAgICAgICAgICAgY2xhc3M9XCJmaWx0ZXItdGFiXCJcclxuICAgICAgICAgICAgW3RpdGxlXT1cImRhdGEubGFiZWxcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwicG9wdWxhdGVUb29sdGlwRGF0YUJhc2VkT25TZWxlY3RlZFJhZGlvKGRhdGEsIHRydWUpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IGFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8gPT0gZGF0YS5rZXkgfVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZmlsdGVyVGFiT2JqZWN0cy5sZW5ndGggPiAwXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGRhdGEubGFiZWwgfX1cclxuICAgICAgICA8L3A+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48YW5uYS1jb3JlLXNvcnQtbGliXHJcbiAgICAqbmdJZj1cInNob3dTb3J0Q29tcG9uZW50XCJcclxuICAgIFtuZ0NsYXNzXT1cInsgJ25vLWJvdHRvbS1ib3JkZXInOiAhc2hvd0ZpbHRlckNvbXBvbmVudCB9XCJcclxuICAgIChzb3J0T3B0aW9uQ2xpY2tlZCk9XCJzdG9yZVNvcnRUeXBlSW5UZW1wVmFyaWFibGUoJGV2ZW50KVwiXHJcbiAgICBbc29ydE9iamVjdEtleV09XCJhbm5hRmlsdGVyU2VydmljZS5zZWxlY3RlZFJhZGlvXCJcclxuPjwvYW5uYS1jb3JlLXNvcnQtbGliPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGaWx0ZXJDb21wb25lbnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJjb2x1bW4tY2xlYXItYWxsXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVDb2x1bW5DbGVhckFsbEJ0blwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhckNvbHVtbkZpbHRlcigpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIENsZWFyIGZpbHRlclxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxhbm5hLWNvcmUtY2FsZW5kYXItZmlsdGVyLWxpYlxyXG4gICAgICAgICAgICBjbGFzcz1cImZpbHRlci1jYWxlbmRhclwiXHJcbiAgICAgICAgICAgIFttaW5EYXRlXT1cImNhbGVuZGFyTWluRW5hYmxlZERhdGVcIlxyXG4gICAgICAgICAgICBbbWF4RGF0ZV09XCJjYWxlbmRhck1heEVuYWJsZWREYXRlXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkRnJvbURhdGVdPVwic2VsZWN0ZWRNaW5EYXRlXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkVG9EYXRlXT1cInNlbGVjdGVkTWF4RGF0ZVwiXHJcbiAgICAgICAgICAgIChzZWxlY3RlZERhdGUpPVwiY2FsZW5kYXJEYXRlQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cInNlbGVjdGVkTGFiZWxcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2FubmEtY29yZS1jYWxlbmRhci1maWx0ZXItbGliPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGRpdiBjbGFzcz1cImJ1dHRvbnMtY29udGFpbmVyXCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJidXR0b25cIlxyXG4gICAgICAgIChjbGljayk9XCJjYW5jZWxJbkRhdGVGaWx0ZXIoKVwiXHJcbiAgICA+XHJcbiAgICAgICAgQ2FuY2VsXHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgICBjbGFzcz1cImJ1dHRvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cImFwcGx5RGF0ZUZpbHRlcigpXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlQ2FsZW5kYXJBcHBseUJ0biB9XCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUNhbGVuZGFyQXBwbHlCdG5cIlxyXG4gICAgPlxyXG4gICAgICAgIEFwcGx5XHJcbiAgICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
|