vc-create-dashboard 3.0.87 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/fesm2022/vc-create-dashboard.mjs +6476 -6464
- package/fesm2022/vc-create-dashboard.mjs.map +1 -1
- package/package.json +5 -6
- package/types/vc-create-dashboard.d.ts +1680 -0
- package/esm2022/lib/configurations.mjs +0 -7
- package/esm2022/lib/create-dashboard-container/categories/categories-config.mjs +0 -2
- package/esm2022/lib/create-dashboard-container/categories/categories.component.mjs +0 -212
- package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +0 -350
- package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.mjs +0 -2
- package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets.module.mjs +0 -47
- package/esm2022/lib/create-dashboard-container/constants/assets.constant.mjs +0 -37
- package/esm2022/lib/create-dashboard-container/create-dashboard-config.mjs +0 -2
- package/esm2022/lib/create-dashboard-container/create-dashboard.component.mjs +0 -1601
- package/esm2022/lib/create-dashboard-container/create-dashboard.module.mjs +0 -127
- package/esm2022/lib/create-dashboard-container/directives/directives.module.mjs +0 -24
- package/esm2022/lib/create-dashboard-container/directives/scroll-in-view.directive.mjs +0 -36
- package/esm2022/lib/create-dashboard-container/form-group/form-group.component.mjs +0 -153
- package/esm2022/lib/create-dashboard-container/frequency/frequency.component.mjs +0 -309
- package/esm2022/lib/create-dashboard-container/interfaces/widget-data-model.mjs +0 -2
- package/esm2022/lib/create-dashboard-container/pipes/filter.pipe.mjs +0 -30
- package/esm2022/lib/create-dashboard-container/pipes/search-program.pipe.mjs +0 -37
- package/esm2022/lib/create-dashboard-container/pipes/search.pipe.mjs +0 -25
- package/esm2022/lib/create-dashboard-container/pipes/text-count.pipe.mjs +0 -18
- package/esm2022/lib/create-dashboard-container/program-list/constant.mjs +0 -31
- package/esm2022/lib/create-dashboard-container/program-list/information-block/information-block.component.mjs +0 -13
- package/esm2022/lib/create-dashboard-container/program-list/interfaces/list-item.interface.mjs +0 -2
- package/esm2022/lib/create-dashboard-container/program-list/list-container/list-container.component.mjs +0 -50
- package/esm2022/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.mjs +0 -23
- package/esm2022/lib/create-dashboard-container/program-list/program-list/program-list.component.mjs +0 -294
- package/esm2022/lib/create-dashboard-container/program-list/program-list.module.mjs +0 -60
- package/esm2022/lib/create-dashboard-container/program-list/services/list-utils.service.mjs +0 -27
- package/esm2022/lib/create-dashboard-container/program-list/services/program-list-api.service.mjs +0 -28
- package/esm2022/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +0 -239
- package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories-config.mjs +0 -2
- package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +0 -206
- package/esm2022/lib/create-dashboard-container/services/configure-widgets.service.mjs +0 -233
- package/esm2022/lib/create-dashboard-container/services/create-dashboard.service.mjs +0 -222
- package/esm2022/lib/create-dashboard-container/services/pagination.service.mjs +0 -28
- package/esm2022/lib/create-dashboard-container/user-list/user-list.component.mjs +0 -440
- package/esm2022/lib/create-dashboard-container/user-list/user-list.config.mjs +0 -2
- package/esm2022/lib/create-dashboard-container/utils/dashboard-edit.utils.mjs +0 -181
- package/esm2022/lib/create-dashboard.service.mjs +0 -14
- package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +0 -52
- package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer-config.mjs +0 -2
- package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer.module.mjs +0 -32
- package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +0 -7
- package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +0 -17
- package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +0 -11
- package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +0 -96
- package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +0 -20
- package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +0 -56
- package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +0 -17
- package/esm2022/lib/ui-kit/floating-bar/floating-bar.component.mjs +0 -57
- package/esm2022/lib/ui-kit/floating-bar/floating-bar.module.mjs +0 -32
- package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +0 -30
- package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +0 -29
- package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +0 -34
- package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +0 -14
- package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +0 -119
- package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +0 -39
- package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +0 -55
- package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +0 -19
- package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +0 -24
- package/esm2022/lib/ui-kit/loaders/loaders.module.mjs +0 -24
- package/esm2022/lib/ui-kit/loaders/table-loader/table-loader.component.mjs +0 -18
- package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +0 -47
- package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +0 -18
- package/esm2022/lib/ui-kit/pagination/pagination.component.mjs +0 -130
- package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +0 -18
- package/esm2022/lib/ui-kit/popover/popover.component.mjs +0 -129
- package/esm2022/lib/ui-kit/popover/popover.directive.mjs +0 -93
- package/esm2022/lib/ui-kit/popover/popover.module.mjs +0 -21
- package/esm2022/lib/ui-kit/popover/popover.service.mjs +0 -23
- package/esm2022/lib/ui-kit/select/cs-option/cs-option.component.mjs +0 -41
- package/esm2022/lib/ui-kit/select/cs-select/cs-select.component.mjs +0 -107
- package/esm2022/lib/ui-kit/select/safe-html.pipe.mjs +0 -21
- package/esm2022/lib/ui-kit/select/select.module.mjs +0 -21
- package/esm2022/lib/ui-kit/services/cs-select.service.mjs +0 -16
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +0 -52
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +0 -18
- package/esm2022/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +0 -46
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +0 -18
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +0 -23
- package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +0 -168
- package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +0 -18
- package/esm2022/lib/ui-kit/v-loader/loader/loader.component.mjs +0 -24
- package/esm2022/lib/ui-kit/v-loader/loader-inline/loader-inline.component.mjs +0 -24
- package/esm2022/lib/ui-kit/v-loader/v-loader.module.mjs +0 -19
- package/esm2022/public-api.mjs +0 -10
- package/esm2022/vc-create-dashboard.mjs +0 -5
- package/index.d.ts +0 -5
- package/lib/configurations.d.ts +0 -4
- package/lib/create-dashboard-container/categories/categories-config.d.ts +0 -18
- package/lib/create-dashboard-container/categories/categories.component.d.ts +0 -66
- package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.d.ts +0 -113
- package/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.d.ts +0 -9
- package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.d.ts +0 -14
- package/lib/create-dashboard-container/constants/assets.constant.d.ts +0 -35
- package/lib/create-dashboard-container/create-dashboard-config.d.ts +0 -18
- package/lib/create-dashboard-container/create-dashboard.component.d.ts +0 -219
- package/lib/create-dashboard-container/create-dashboard.module.d.ts +0 -37
- package/lib/create-dashboard-container/directives/directives.module.d.ts +0 -8
- package/lib/create-dashboard-container/directives/scroll-in-view.directive.d.ts +0 -12
- package/lib/create-dashboard-container/form-group/form-group.component.d.ts +0 -48
- package/lib/create-dashboard-container/frequency/frequency.component.d.ts +0 -39
- package/lib/create-dashboard-container/interfaces/widget-data-model.d.ts +0 -8
- package/lib/create-dashboard-container/pipes/filter.pipe.d.ts +0 -7
- package/lib/create-dashboard-container/pipes/search-program.pipe.d.ts +0 -7
- package/lib/create-dashboard-container/pipes/search.pipe.d.ts +0 -7
- package/lib/create-dashboard-container/pipes/text-count.pipe.d.ts +0 -7
- package/lib/create-dashboard-container/program-list/constant.d.ts +0 -24
- package/lib/create-dashboard-container/program-list/information-block/information-block.component.d.ts +0 -6
- package/lib/create-dashboard-container/program-list/interfaces/list-item.interface.d.ts +0 -5
- package/lib/create-dashboard-container/program-list/list-container/list-container.component.d.ts +0 -9
- package/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.d.ts +0 -7
- package/lib/create-dashboard-container/program-list/program-list/program-list.component.d.ts +0 -119
- package/lib/create-dashboard-container/program-list/program-list.module.d.ts +0 -17
- package/lib/create-dashboard-container/program-list/services/list-utils.service.d.ts +0 -7
- package/lib/create-dashboard-container/program-list/services/program-list-api.service.d.ts +0 -12
- package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.d.ts +0 -72
- package/lib/create-dashboard-container/risk-categories/risk-categories-config.d.ts +0 -18
- package/lib/create-dashboard-container/risk-categories/risk-categories.component.d.ts +0 -66
- package/lib/create-dashboard-container/services/configure-widgets.service.d.ts +0 -21
- package/lib/create-dashboard-container/services/create-dashboard.service.d.ts +0 -80
- package/lib/create-dashboard-container/services/pagination.service.d.ts +0 -12
- package/lib/create-dashboard-container/user-list/user-list.component.d.ts +0 -123
- package/lib/create-dashboard-container/user-list/user-list.config.d.ts +0 -13
- package/lib/create-dashboard-container/utils/dashboard-edit.utils.d.ts +0 -16
- package/lib/create-dashboard.service.d.ts +0 -6
- package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +0 -17
- package/lib/ui-kit/dashboard-footer/dashboard-footer-config.d.ts +0 -11
- package/lib/ui-kit/dashboard-footer/dashboard-footer.module.d.ts +0 -10
- package/lib/ui-kit/dialog/dialog-config.d.ts +0 -6
- package/lib/ui-kit/dialog/dialog-injector.d.ts +0 -7
- package/lib/ui-kit/dialog/dialog-ref.d.ts +0 -7
- package/lib/ui-kit/dialog/dialog.component.d.ts +0 -33
- package/lib/ui-kit/dialog/dialog.module.d.ts +0 -9
- package/lib/ui-kit/dialog/dialog.service.d.ts +0 -17
- package/lib/ui-kit/dialog/insertion.directive.d.ts +0 -8
- package/lib/ui-kit/floating-bar/floating-bar.component.d.ts +0 -20
- package/lib/ui-kit/floating-bar/floating-bar.module.d.ts +0 -10
- package/lib/ui-kit/formgroup/click-outside.directive.d.ts +0 -10
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +0 -13
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +0 -15
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +0 -8
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +0 -36
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +0 -15
- package/lib/ui-kit/formgroup/formgroup.module.d.ts +0 -17
- package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +0 -7
- package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +0 -7
- package/lib/ui-kit/loaders/loaders.module.d.ts +0 -8
- package/lib/ui-kit/loaders/table-loader/table-loader.component.d.ts +0 -9
- package/lib/ui-kit/no-data/no-data.component.d.ts +0 -19
- package/lib/ui-kit/no-data/no-data.module.d.ts +0 -8
- package/lib/ui-kit/pagination/pagination.component.d.ts +0 -21
- package/lib/ui-kit/pagination/pagination.module.d.ts +0 -8
- package/lib/ui-kit/popover/popover.component.d.ts +0 -28
- package/lib/ui-kit/popover/popover.directive.d.ts +0 -17
- package/lib/ui-kit/popover/popover.module.d.ts +0 -9
- package/lib/ui-kit/popover/popover.service.d.ts +0 -13
- package/lib/ui-kit/select/cs-option/cs-option.component.d.ts +0 -16
- package/lib/ui-kit/select/cs-select/cs-select.component.d.ts +0 -32
- package/lib/ui-kit/select/safe-html.pipe.d.ts +0 -10
- package/lib/ui-kit/select/select.module.d.ts +0 -11
- package/lib/ui-kit/services/cs-select.service.d.ts +0 -7
- package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +0 -17
- package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +0 -8
- package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +0 -17
- package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +0 -8
- package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +0 -9
- package/lib/ui-kit/tooltip/tooltip.directive.d.ts +0 -28
- package/lib/ui-kit/tooltip/tooltip.module.d.ts +0 -8
- package/lib/ui-kit/v-loader/loader/loader.component.d.ts +0 -11
- package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.d.ts +0 -11
- package/lib/ui-kit/v-loader/v-loader.module.d.ts +0 -9
- package/public-api.d.ts +0 -3
|
@@ -1,350 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
-
import { ASSETS } from '../../constants/assets.constant';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../../ui-kit/dialog/dialog-ref";
|
|
5
|
-
import * as i2 from "../../services/configure-widgets.service";
|
|
6
|
-
import * as i3 from "../../../ui-kit/snack-bar/snack-bar.service";
|
|
7
|
-
import * as i4 from "@angular/common";
|
|
8
|
-
import * as i5 from "../../../ui-kit/floating-bar/floating-bar.component";
|
|
9
|
-
import * as i6 from "../../../ui-kit/formgroup/cs-checkbox/cs-checkbox.component";
|
|
10
|
-
import * as i7 from "@angular/forms";
|
|
11
|
-
import * as i8 from "../../../ui-kit/no-data/no-data.component";
|
|
12
|
-
import * as i9 from "../../pipes/search.pipe";
|
|
13
|
-
export class ConfigureWidgetsComponent {
|
|
14
|
-
dialog;
|
|
15
|
-
configureWidgetsService;
|
|
16
|
-
snackBar;
|
|
17
|
-
widgetsDataModified = new EventEmitter();
|
|
18
|
-
closeConfigureWidgets = new EventEmitter();
|
|
19
|
-
checkboxStatus;
|
|
20
|
-
search = '';
|
|
21
|
-
checkedArray = [];
|
|
22
|
-
selectedWidgets = [];
|
|
23
|
-
ASSETS = ASSETS;
|
|
24
|
-
module = 'COMPLIANCE';
|
|
25
|
-
selectedWidgetsData = [];
|
|
26
|
-
displayedWidgets = [];
|
|
27
|
-
showRisk = false;
|
|
28
|
-
showCompliance = false;
|
|
29
|
-
mode = 'CREATE';
|
|
30
|
-
noDataText = 'You have not configured any widgets. Click on the <strong>Configure Widgets</strong> button to begin.';
|
|
31
|
-
selectedWidgetIds = [];
|
|
32
|
-
subResponsibilitiesSelected = false;
|
|
33
|
-
subKeyResponsibilitiesSelected = false;
|
|
34
|
-
showWidgets = true;
|
|
35
|
-
complianceWidgetsDisplayCount = 9;
|
|
36
|
-
riskWidgetsDisplayCount = 9;
|
|
37
|
-
constructor(dialog, configureWidgetsService, snackBar) {
|
|
38
|
-
this.dialog = dialog;
|
|
39
|
-
this.configureWidgetsService = configureWidgetsService;
|
|
40
|
-
this.snackBar = snackBar;
|
|
41
|
-
}
|
|
42
|
-
ngOnChanges() {
|
|
43
|
-
this.selectedWidgets = [];
|
|
44
|
-
if (this.mode === 'EDIT') {
|
|
45
|
-
this.applyEditModeWidgetCatalog();
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
this.applyCreateModeWidgetVisibility();
|
|
49
|
-
this.applySavedWidgetSelection(this.selectedWidgetsData);
|
|
50
|
-
}
|
|
51
|
-
this.module = this.showCompliance ? 'COMPLIANCE' : 'RISK';
|
|
52
|
-
this.setSelectedWidgets();
|
|
53
|
-
}
|
|
54
|
-
/** EDIT: show full widget catalog; check items present in getWidgets widgetArr. */
|
|
55
|
-
applyEditModeWidgetCatalog() {
|
|
56
|
-
this.widgetsList.COMPLIANCE.forEach((ele) => {
|
|
57
|
-
ele.value = false;
|
|
58
|
-
ele.visibility = true;
|
|
59
|
-
(ele.subWidgets ?? []).forEach((sub) => {
|
|
60
|
-
sub.value = false;
|
|
61
|
-
sub.visibility = true;
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
this.complianceWidgetsDisplayCount = this.widgetsList.COMPLIANCE.filter((w) => w.visibility).length;
|
|
65
|
-
this.riskWidgetsDisplayCount = 0;
|
|
66
|
-
this.applySavedWidgetSelection(this.selectedWidgetsData);
|
|
67
|
-
}
|
|
68
|
-
/** CREATE: limit visible tiles to displayedWidgets when provided. */
|
|
69
|
-
applyCreateModeWidgetVisibility() {
|
|
70
|
-
if (!this.displayedWidgets?.length) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
this.setWidgetsVisibilityToFalse();
|
|
74
|
-
this.riskWidgetsDisplayCount = 0;
|
|
75
|
-
this.complianceWidgetsDisplayCount = 0;
|
|
76
|
-
const finalData = [...new Set(this.displayedWidgets)];
|
|
77
|
-
finalData.forEach((element) => {
|
|
78
|
-
this.widgetsList.COMPLIANCE.forEach((ele) => {
|
|
79
|
-
if (ele.id !== element.widget_code) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
ele.visibility = true;
|
|
83
|
-
if (ele.subWidgets.length > 0) {
|
|
84
|
-
const visibleSubCodes = (element.sub_widgets ?? []).map((subwidget) => subwidget.widget_code);
|
|
85
|
-
ele.subWidgets.forEach((subElement, subIndex) => {
|
|
86
|
-
ele.subWidgets[subIndex].visibility = visibleSubCodes.includes(subElement.id);
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
this.complianceWidgetsDisplayCount++;
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
applySavedWidgetSelection(savedWidgets) {
|
|
94
|
-
const data = [...new Set(savedWidgets ?? [])];
|
|
95
|
-
data.forEach((element) => {
|
|
96
|
-
if (element?.state && element.state !== 'ACTIVE') {
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
this.widgetsList.COMPLIANCE.forEach((ele) => {
|
|
100
|
-
if (ele.id !== element.widget_code) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
ele.value = true;
|
|
104
|
-
if (ele.subWidgets.length > 0 && element.sub_widgets?.length) {
|
|
105
|
-
const activeSubCodes = (element.sub_widgets ?? [])
|
|
106
|
-
.filter((subwidget) => subwidget.state === 'ACTIVE')
|
|
107
|
-
.map((subwidget) => subwidget.widget_code);
|
|
108
|
-
ele.subWidgets.forEach((subElement, subIndex) => {
|
|
109
|
-
ele.subWidgets[subIndex].value = activeSubCodes.includes(subElement.id);
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
ngOnInit() { }
|
|
116
|
-
widgetsList = {
|
|
117
|
-
COMPLIANCE: [
|
|
118
|
-
{
|
|
119
|
-
title: 'Overview',
|
|
120
|
-
id: 'overview',
|
|
121
|
-
description: 'Overview shows the performance of responsibilities and Programs.',
|
|
122
|
-
widgetImage: ASSETS.overviewWidget,
|
|
123
|
-
value: false,
|
|
124
|
-
visibility: true,
|
|
125
|
-
module: 'COMPLIANCE',
|
|
126
|
-
subWidgets: [],
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
title: 'Responsibility Calendar',
|
|
130
|
-
id: 'compliance_calendar_flag',
|
|
131
|
-
description: 'The Responsibility Calendar shows the due dates of responsibilities in a calendar format. The responsibilities are color coded to reflect the status of the responsibilities.',
|
|
132
|
-
widgetImage: ASSETS.responsibilityCalenderWidget,
|
|
133
|
-
value: false,
|
|
134
|
-
visibility: true,
|
|
135
|
-
module: 'COMPLIANCE',
|
|
136
|
-
subWidgets: [],
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
title: 'Responsibilities by Assignee',
|
|
140
|
-
id: 'responsibilities_by_assignee',
|
|
141
|
-
description: 'The Responsibilities by Assignee widget shows the performance of responsibilities by users.',
|
|
142
|
-
widgetImage: ASSETS.responsibilitiesByAssignee,
|
|
143
|
-
value: false,
|
|
144
|
-
visibility: true,
|
|
145
|
-
module: 'COMPLIANCE',
|
|
146
|
-
subWidgets: [],
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
title: 'Responsibility Center Overview',
|
|
150
|
-
id: 'responsibility_center_overview_flag',
|
|
151
|
-
description: 'The Responsibility Center Overview shows the performance of responsibilities and Responsibility Centers.',
|
|
152
|
-
widgetImage: ASSETS.responsibilityCenterOverviewWidget,
|
|
153
|
-
value: false,
|
|
154
|
-
visibility: true,
|
|
155
|
-
module: 'COMPLIANCE',
|
|
156
|
-
subWidgets: [],
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
title: 'Responsibilities',
|
|
160
|
-
id: 'my_responsibilities',
|
|
161
|
-
description: 'This widget shows the performance of the responsibilities that you are required to complete, the responsibilities that you are reviewing and the responsibilities that you are overseeing.',
|
|
162
|
-
widgetImage: ASSETS.myResponsibilitiesWidget,
|
|
163
|
-
tabOption: true,
|
|
164
|
-
value: false,
|
|
165
|
-
visibility: true,
|
|
166
|
-
module: 'COMPLIANCE',
|
|
167
|
-
subWidgets: [
|
|
168
|
-
{
|
|
169
|
-
title: 'My Responsibilities',
|
|
170
|
-
id: 'my_responsibility_flag',
|
|
171
|
-
value: false,
|
|
172
|
-
visibility: true,
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
title: 'I’m Reviewing',
|
|
176
|
-
id: 'reviewer_responsibility_flag',
|
|
177
|
-
value: false,
|
|
178
|
-
visibility: true,
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
title: 'I’m Overseeing',
|
|
182
|
-
id: 'cc_responsibility_flag',
|
|
183
|
-
value: false,
|
|
184
|
-
visibility: true,
|
|
185
|
-
},
|
|
186
|
-
],
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
title: 'Key Responsibilities',
|
|
190
|
-
id: 'key_responsibilities',
|
|
191
|
-
description: 'This widget shows the performance of key responsibilities that you are required to complete, that you are reviewing, that you are overseeing and that you have assigned to another person.',
|
|
192
|
-
widgetImage: ASSETS.keyResponsibilitiesWidget,
|
|
193
|
-
tabOption: true,
|
|
194
|
-
value: false,
|
|
195
|
-
visibility: true,
|
|
196
|
-
module: 'COMPLIANCE',
|
|
197
|
-
subWidgets: [
|
|
198
|
-
// {
|
|
199
|
-
// title: 'Overview',
|
|
200
|
-
// id: 'key_responsibilities_overview_flag',
|
|
201
|
-
// value: false,
|
|
202
|
-
// visibility: true,
|
|
203
|
-
// },
|
|
204
|
-
{
|
|
205
|
-
title: 'My Responsibilities',
|
|
206
|
-
id: 'key_my_responsibilities_flag',
|
|
207
|
-
value: false,
|
|
208
|
-
visibility: true,
|
|
209
|
-
},
|
|
210
|
-
{
|
|
211
|
-
title: 'I’m Reviewing',
|
|
212
|
-
id: 'key_i_am_reviewing_flag',
|
|
213
|
-
value: false,
|
|
214
|
-
visibility: true,
|
|
215
|
-
},
|
|
216
|
-
{
|
|
217
|
-
title: 'I’m Overseeing',
|
|
218
|
-
id: 'key_i_am_overseeing_flag',
|
|
219
|
-
value: false,
|
|
220
|
-
visibility: true,
|
|
221
|
-
},
|
|
222
|
-
],
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
title: 'Trend Analysis',
|
|
226
|
-
id: 'trend_analysis_flag',
|
|
227
|
-
description: 'The Trend Analysis is a graphical representation of the performance of responsibilities over a period.',
|
|
228
|
-
widgetImage: ASSETS.trendAnalysisWidget,
|
|
229
|
-
value: false,
|
|
230
|
-
visibility: true,
|
|
231
|
-
module: 'COMPLIANCE',
|
|
232
|
-
subWidgets: [],
|
|
233
|
-
},
|
|
234
|
-
],
|
|
235
|
-
};
|
|
236
|
-
selectWidget(event, module, widgetId, subWidgetId) {
|
|
237
|
-
const widgetIndex = this.widgetsList[module].findIndex((ele) => ele.id == widgetId);
|
|
238
|
-
const isSubWidgetAddable = this.selectedWidgets.findIndex((widget) => widget.id === widgetId);
|
|
239
|
-
if (event) {
|
|
240
|
-
if (this.selectedWidgets.length >= 10 &&
|
|
241
|
-
!(subWidgetId && isSubWidgetAddable >= 0)) {
|
|
242
|
-
this.snackBar.show('You cannot add more than 10 widgets.', 'alert');
|
|
243
|
-
this.showWidgets = false;
|
|
244
|
-
setTimeout(() => {
|
|
245
|
-
this.widgetsList[module][widgetIndex].value = false;
|
|
246
|
-
this.showWidgets = true;
|
|
247
|
-
}, 10);
|
|
248
|
-
return;
|
|
249
|
-
}
|
|
250
|
-
this.widgetsList[module][widgetIndex].value = true;
|
|
251
|
-
if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {
|
|
252
|
-
if (!subWidgetId) {
|
|
253
|
-
this.widgetsList[module][widgetIndex].subWidgets.forEach((ele) => (ele.value = true));
|
|
254
|
-
}
|
|
255
|
-
else {
|
|
256
|
-
const subWidgetIndex = this.widgetsList[module][widgetIndex].subWidgets.findIndex((ele) => ele.id == subWidgetId);
|
|
257
|
-
this.widgetsList[module][widgetIndex].subWidgets[subWidgetIndex].value = true;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
else {
|
|
262
|
-
if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {
|
|
263
|
-
if (!subWidgetId) {
|
|
264
|
-
this.widgetsList[module][widgetIndex].value = false;
|
|
265
|
-
this.widgetsList[module][widgetIndex].subWidgets.forEach((ele) => (ele.value = false));
|
|
266
|
-
}
|
|
267
|
-
else {
|
|
268
|
-
const subWidgetIndex = this.widgetsList[module][widgetIndex].subWidgets.findIndex((ele) => ele.id == subWidgetId);
|
|
269
|
-
this.widgetsList[module][widgetIndex].subWidgets[subWidgetIndex].value = false;
|
|
270
|
-
const isAllWidgetsRemoved = this.widgetsList[module][widgetIndex].subWidgets.every((ele) => ele.value == false);
|
|
271
|
-
if (isAllWidgetsRemoved) {
|
|
272
|
-
this.widgetsList[module][widgetIndex].value = false;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
else {
|
|
277
|
-
this.widgetsList[module][widgetIndex].value = false;
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
this.setSelectedWidgets();
|
|
281
|
-
}
|
|
282
|
-
setSelectedWidgets() {
|
|
283
|
-
this.selectedWidgets = [];
|
|
284
|
-
this.widgetsList.COMPLIANCE.forEach((ele) => {
|
|
285
|
-
if (ele.value) {
|
|
286
|
-
this.selectedWidgets.push(ele);
|
|
287
|
-
}
|
|
288
|
-
});
|
|
289
|
-
// this.widgetsList.RISK.forEach((ele: any) => {
|
|
290
|
-
// if (ele.value) {
|
|
291
|
-
// this.selectedWidgets.push(ele);
|
|
292
|
-
// }
|
|
293
|
-
// });
|
|
294
|
-
}
|
|
295
|
-
removeWidget(widget) {
|
|
296
|
-
const widgetIndex = this.widgetsList[widget.module].findIndex((ele) => ele.id == widget.id);
|
|
297
|
-
this.widgetsList[widget.module][widgetIndex].value = false;
|
|
298
|
-
if (this.widgetsList[widget.module][widgetIndex].subWidgets.length > 0) {
|
|
299
|
-
this.widgetsList[widget.module][widgetIndex].subWidgets.forEach((ele) => (ele.value = false));
|
|
300
|
-
}
|
|
301
|
-
this.setSelectedWidgets();
|
|
302
|
-
}
|
|
303
|
-
onNextClick() {
|
|
304
|
-
this.widgetsDataModified.emit(this.selectedWidgets);
|
|
305
|
-
}
|
|
306
|
-
closeConfigureDashboard() {
|
|
307
|
-
this.selectedWidgets = [];
|
|
308
|
-
this.dialog.close();
|
|
309
|
-
this.closeConfigureWidgets.emit(false);
|
|
310
|
-
}
|
|
311
|
-
setWidgetsVisibilityToFalse() {
|
|
312
|
-
this.widgetsList.COMPLIANCE.forEach((ele) => {
|
|
313
|
-
ele.visibility = false;
|
|
314
|
-
if (ele.subWidgets.length > 0) {
|
|
315
|
-
ele.subWidgets.forEach((subElement) => {
|
|
316
|
-
subElement.visibility = false;
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
});
|
|
320
|
-
// this.widgetsList.RISK.forEach((ele: any) => {
|
|
321
|
-
// ele.visibility = false;
|
|
322
|
-
// if (ele.subWidgets.length > 0) {
|
|
323
|
-
// ele.subWidgets.forEach((subElement: any) => {
|
|
324
|
-
// subElement.visibility = false;
|
|
325
|
-
// });
|
|
326
|
-
// }
|
|
327
|
-
// });
|
|
328
|
-
}
|
|
329
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsComponent, deps: [{ token: i1.DialogRef }, { token: i2.ConfigureWidgetsService }, { token: i3.SnackBarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
330
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConfigureWidgetsComponent, selector: "app-configure-widgets", inputs: { selectedWidgetsData: "selectedWidgetsData", displayedWidgets: "displayedWidgets", showRisk: "showRisk", showCompliance: "showCompliance", mode: "mode" }, outputs: { widgetsDataModified: "widgetsDataModified", closeConfigureWidgets: "closeConfigureWidgets" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"configure-widgets vx-d-block\" *ngIf=\"showWidgets\">\r\n <div\r\n class=\"configure-widgets-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"configure-widgets-title vx-fs-14 vx-fw-500 vx-label-txt\">\r\n Configure Widgets\r\n </div>\r\n <button\r\n class=\"configure-widgets-back vx-fs-14 vx-fw-500 vx-label-txt vx-m-0 vx-p-0 vx-d-inline-flex vx-align-center\"\r\n (click)=\"closeConfigureDashboard()\"\r\n >\r\n <i class=\"icons vx-fs-16\"></i> Back\r\n </button>\r\n </div>\r\n <div class=\"configure-widgets-body\">\r\n <div class=\"configure-widgets-tab\">\r\n <ul>\r\n <li\r\n [class.active]=\"module === 'COMPLIANCE'\"\r\n *ngIf=\"showCompliance\"\r\n (click)=\"module = 'COMPLIANCE'\"\r\n >\r\n <!-- <button>\r\n Compliance<span>{{ complianceWidgetsDisplayCount }}</span>\r\n </button> -->\r\n </li>\r\n <li [class.active]=\"module === 'RISK'\" *ngIf=\"showRisk\">\r\n <button (click)=\"module = 'RISK'\">\r\n Risks<span>{{ riskWidgetsDisplayCount }}</span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"configure-widgets-search vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" placeholder=\"Search widgets\" [(ngModel)]=\"search\" />\r\n </div>\r\n <div\r\n class=\"configure-widgets-list vx-d-flex vx-flex-wrap\"\r\n *ngIf=\"(widgetsList[module] | search : search).length !== 0\"\r\n >\r\n <ng-container\r\n *ngFor=\"let widget of widgetsList[module] | search : search\"\r\n >\r\n <div class=\"configure-widgets-item\" *ngIf=\"widget?.visibility\">\r\n <label class=\"block\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"widget.value\"\r\n (change)=\"selectWidget($event.target.checked, module, widget.id)\"\r\n />\r\n <div class=\"check-icon\">\r\n <svg\r\n class=\"check\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"check-circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"check-circle\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"configure-widgets-item-head\">\r\n <h4\r\n class=\"configure-widgets-item-title\"\r\n [innerHTML]=\"widget?.title\"\r\n ></h4>\r\n <p\r\n class=\"configure-widgets-item-description\"\r\n [innerHTML]=\"widget?.description\"\r\n ></p>\r\n <button\r\n *ngIf=\"!widget.value\"\r\n class=\"configure-widgets-item-button add\"\r\n (click)=\"selectWidget(true, module, widget.id)\"\r\n >\r\n + ADD\r\n </button>\r\n <button\r\n *ngIf=\"widget.value\"\r\n class=\"configure-widgets-item-button remove\"\r\n (click)=\"selectWidget(false, module, widget.id)\"\r\n >\r\n - Remove\r\n </button>\r\n </div>\r\n <div class=\"configure-widgets-item-body\">\r\n <div class=\"image-wrapper\">\r\n <img\r\n [ngSrc]=\"widget?.widgetImage\"\r\n alt=\"\"\r\n width=\"790\"\r\n height=\"613\"\r\n />\r\n </div>\r\n <div\r\n class=\"floating-option vx-d-flex\"\r\n *ngIf=\"widget?.subWidgets?.length > 0\"\r\n >\r\n <ng-container *ngFor=\"let subWidget of widget.subWidgets\">\r\n <app-cs-checkbox\r\n *ngIf=\"subWidget.visibility\"\r\n (ngValueChange)=\"\r\n selectWidget($event, module, widget.id, subWidget.id)\r\n \"\r\n [ngValue]=\"subWidget.value\"\r\n >{{ subWidget.title }}\r\n </app-cs-checkbox>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </label>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- No Data Image -->\r\n </div>\r\n <app-no-data\r\n *ngIf=\"(widgetsList[module] | search : search).length === 0\"\r\n [noDataImage]=\"ASSETS.configure_widget\"\r\n [noDataText]=\"'No data to display'\"\r\n >\r\n </app-no-data>\r\n\r\n <floating-bar\r\n (submitEvent)=\"onNextClick()\"\r\n (cancelEvent)=\"closeConfigureDashboard()\"\r\n [selectedData]=\"selectedWidgets\"\r\n (deleteEvent)=\"removeWidget($event)\"\r\n ></floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .configure-widgets{width:100vw;height:100vh;background:#fff}@media screen and (max-width: 1280px){::ng-deep .configure-widgets{width:100vw;margin-left:0}}::ng-deep .configure-widgets-head{height:2.75rem;background:#fbfbfb;border-bottom:1px solid #f1f1f1}::ng-deep .configure-widgets-back{border:none;outline:none;background:transparent}::ng-deep .configure-widgets-back i{margin-right:6px}::ng-deep .configure-widgets-body{padding:2rem;position:relative;height:calc(100vh - 2.75rem)}::ng-deep .configure-widgets-body app-no-data .no-data-wrapper{height:calc(100vh - 13.875rem)!important}::ng-deep .configure-widgets-body .floating-option{position:absolute;right:0;bottom:0;left:0;background:#fff;padding:16px 12px;z-index:3;box-shadow:0 -6px 12px #1e5dd31a}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox{display:flex}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox label span.value{color:#161b2f!important;font-size:11px!important;line-height:16px!important;margin-left:8px!important;white-space:nowrap}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox+app-cs-checkbox{margin-left:20px}::ng-deep .configure-widgets-tab ul{padding:0;margin:0 0 8px;display:flex;border-bottom:1px solid #dbdbdb}::ng-deep .configure-widgets-tab ul li{list-style:none;display:flex;width:auto;padding:0}::ng-deep .configure-widgets-tab ul li button{color:#747576;display:inline-block;font-size:11px;line-height:16px;font-weight:600;text-transform:uppercase;border:none;outline:none;background:transparent;padding:0 0 8px;position:relative;margin:0}::ng-deep .configure-widgets-tab ul li button span{display:inline-block;margin-left:8px;color:#74757680}::ng-deep .configure-widgets-tab ul li+li{padding-left:28px}::ng-deep .configure-widgets-tab ul li.active button{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button span{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button:after{content:\"\";right:0;bottom:0;left:0;height:2px;border-radius:2px;position:absolute;background-color:#1e5dd3}::ng-deep .configure-widgets-search{position:relative;margin-bottom:24px}::ng-deep .configure-widgets-search i{position:absolute;top:16px;left:16px;color:#dbdbdb}::ng-deep .configure-widgets-search input{border:1px solid #dbdbdb;border-radius:4px;height:44px;padding:10px 180px 10px 40px;width:100%;font-size:14px;color:#747576;outline:none}::ng-deep .configure-widgets-search input:focus{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .configure-widgets-list{margin:0 -1rem .5rem;height:calc(100vh - 15.5rem);overflow:hidden;overflow-y:auto}::ng-deep .configure-widgets-list::-webkit-scrollbar-track{background-color:transparent}::ng-deep .configure-widgets-item{width:50%;padding:0 16px;margin-bottom:32px}::ng-deep .configure-widgets-item .block{background:#f8f8f8;border-radius:4px;padding:16px 44px 4px;cursor:pointer;position:relative;display:block}::ng-deep .configure-widgets-item .block .check-icon{position:absolute;top:8px;left:0;height:36px;width:36px;border-radius:0 4px 4px 0;display:flex;justify-content:center;align-items:center;background:#34aa44;opacity:0;pointer-events:none}::ng-deep .configure-widgets-item .block .check-icon .check{display:none;width:27px;height:27px;background:transparent;border-radius:50%;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #fff;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}::ng-deep .configure-widgets-item .block .check-icon .check-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:4;stroke-miterlimit:10;stroke:#fff;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}::ng-deep .configure-widgets-item .block .check-icon .check-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .configure-widgets-item .block input[type=checkbox]{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;margin:0;z-index:1;cursor:pointer}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon{opacity:1}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon .check{display:block}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-body .image-wrapper{opacity:.5}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.add{display:none}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.remove{display:flex}::ng-deep .configure-widgets-item-head{padding:0 0 16px;position:relative}::ng-deep .configure-widgets-item-title{margin:0 0 12px;font-size:14px;line-height:20px;text-transform:uppercase;color:#161b2f;max-width:calc(100% - 72px);font-weight:500}::ng-deep .configure-widgets-item-description{font-size:12px;line-height:20px;color:#747576;margin:0;font-weight:400;height:60px}::ng-deep .configure-widgets-item-button{width:72px;height:28px;cursor:pointer;display:flex;position:absolute;top:0;right:-24px;font-size:11px;font-weight:500;border:none;outline:none;justify-content:center;align-items:center;border-radius:2px;text-transform:uppercase;padding:0;margin:0}::ng-deep .configure-widgets-item-button.add{color:#fff;background:#1e5dd3}::ng-deep .configure-widgets-item-button.remove{background:#fff;border:1px solid #f1f1f1;color:#c7381b;display:none}::ng-deep .configure-widgets-item-body{overflow:hidden;height:220px;border:1px solid #f1f1f1;border-bottom:none;border-radius:2px 2px 0 0;box-shadow:0 -4px 8px #161b2f10}::ng-deep .configure-widgets-item-body .image-wrapper{box-shadow:0 -6px 12px #0000001a;border-radius:2px;overflow:hidden;background:#fff}::ng-deep .configure-widgets-item-body img{width:100%}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #fff}}.disabled{pointer-events:none;opacity:.7}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FloatingBarComponent, selector: "floating-bar", inputs: ["text", "frequencyMessage", "singleCategory", "selectedData"], outputs: ["cancelEvent", "submitEvent", "deleteEvent"] }, { kind: "component", type: i6.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "buttonIcon", "iconClass"], outputs: ["buttonAction"] }, { kind: "directive", type: i4.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }, { kind: "pipe", type: i9.SearchPipe, name: "search" }] });
|
|
331
|
-
}
|
|
332
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsComponent, decorators: [{
|
|
333
|
-
type: Component,
|
|
334
|
-
args: [{ selector: 'app-configure-widgets', template: "<div class=\"configure-widgets vx-d-block\" *ngIf=\"showWidgets\">\r\n <div\r\n class=\"configure-widgets-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"configure-widgets-title vx-fs-14 vx-fw-500 vx-label-txt\">\r\n Configure Widgets\r\n </div>\r\n <button\r\n class=\"configure-widgets-back vx-fs-14 vx-fw-500 vx-label-txt vx-m-0 vx-p-0 vx-d-inline-flex vx-align-center\"\r\n (click)=\"closeConfigureDashboard()\"\r\n >\r\n <i class=\"icons vx-fs-16\"></i> Back\r\n </button>\r\n </div>\r\n <div class=\"configure-widgets-body\">\r\n <div class=\"configure-widgets-tab\">\r\n <ul>\r\n <li\r\n [class.active]=\"module === 'COMPLIANCE'\"\r\n *ngIf=\"showCompliance\"\r\n (click)=\"module = 'COMPLIANCE'\"\r\n >\r\n <!-- <button>\r\n Compliance<span>{{ complianceWidgetsDisplayCount }}</span>\r\n </button> -->\r\n </li>\r\n <li [class.active]=\"module === 'RISK'\" *ngIf=\"showRisk\">\r\n <button (click)=\"module = 'RISK'\">\r\n Risks<span>{{ riskWidgetsDisplayCount }}</span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"configure-widgets-search vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" placeholder=\"Search widgets\" [(ngModel)]=\"search\" />\r\n </div>\r\n <div\r\n class=\"configure-widgets-list vx-d-flex vx-flex-wrap\"\r\n *ngIf=\"(widgetsList[module] | search : search).length !== 0\"\r\n >\r\n <ng-container\r\n *ngFor=\"let widget of widgetsList[module] | search : search\"\r\n >\r\n <div class=\"configure-widgets-item\" *ngIf=\"widget?.visibility\">\r\n <label class=\"block\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"widget.value\"\r\n (change)=\"selectWidget($event.target.checked, module, widget.id)\"\r\n />\r\n <div class=\"check-icon\">\r\n <svg\r\n class=\"check\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"check-circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"check-circle\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"configure-widgets-item-head\">\r\n <h4\r\n class=\"configure-widgets-item-title\"\r\n [innerHTML]=\"widget?.title\"\r\n ></h4>\r\n <p\r\n class=\"configure-widgets-item-description\"\r\n [innerHTML]=\"widget?.description\"\r\n ></p>\r\n <button\r\n *ngIf=\"!widget.value\"\r\n class=\"configure-widgets-item-button add\"\r\n (click)=\"selectWidget(true, module, widget.id)\"\r\n >\r\n + ADD\r\n </button>\r\n <button\r\n *ngIf=\"widget.value\"\r\n class=\"configure-widgets-item-button remove\"\r\n (click)=\"selectWidget(false, module, widget.id)\"\r\n >\r\n - Remove\r\n </button>\r\n </div>\r\n <div class=\"configure-widgets-item-body\">\r\n <div class=\"image-wrapper\">\r\n <img\r\n [ngSrc]=\"widget?.widgetImage\"\r\n alt=\"\"\r\n width=\"790\"\r\n height=\"613\"\r\n />\r\n </div>\r\n <div\r\n class=\"floating-option vx-d-flex\"\r\n *ngIf=\"widget?.subWidgets?.length > 0\"\r\n >\r\n <ng-container *ngFor=\"let subWidget of widget.subWidgets\">\r\n <app-cs-checkbox\r\n *ngIf=\"subWidget.visibility\"\r\n (ngValueChange)=\"\r\n selectWidget($event, module, widget.id, subWidget.id)\r\n \"\r\n [ngValue]=\"subWidget.value\"\r\n >{{ subWidget.title }}\r\n </app-cs-checkbox>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </label>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- No Data Image -->\r\n </div>\r\n <app-no-data\r\n *ngIf=\"(widgetsList[module] | search : search).length === 0\"\r\n [noDataImage]=\"ASSETS.configure_widget\"\r\n [noDataText]=\"'No data to display'\"\r\n >\r\n </app-no-data>\r\n\r\n <floating-bar\r\n (submitEvent)=\"onNextClick()\"\r\n (cancelEvent)=\"closeConfigureDashboard()\"\r\n [selectedData]=\"selectedWidgets\"\r\n (deleteEvent)=\"removeWidget($event)\"\r\n ></floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .configure-widgets{width:100vw;height:100vh;background:#fff}@media screen and (max-width: 1280px){::ng-deep .configure-widgets{width:100vw;margin-left:0}}::ng-deep .configure-widgets-head{height:2.75rem;background:#fbfbfb;border-bottom:1px solid #f1f1f1}::ng-deep .configure-widgets-back{border:none;outline:none;background:transparent}::ng-deep .configure-widgets-back i{margin-right:6px}::ng-deep .configure-widgets-body{padding:2rem;position:relative;height:calc(100vh - 2.75rem)}::ng-deep .configure-widgets-body app-no-data .no-data-wrapper{height:calc(100vh - 13.875rem)!important}::ng-deep .configure-widgets-body .floating-option{position:absolute;right:0;bottom:0;left:0;background:#fff;padding:16px 12px;z-index:3;box-shadow:0 -6px 12px #1e5dd31a}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox{display:flex}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox label span.value{color:#161b2f!important;font-size:11px!important;line-height:16px!important;margin-left:8px!important;white-space:nowrap}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox+app-cs-checkbox{margin-left:20px}::ng-deep .configure-widgets-tab ul{padding:0;margin:0 0 8px;display:flex;border-bottom:1px solid #dbdbdb}::ng-deep .configure-widgets-tab ul li{list-style:none;display:flex;width:auto;padding:0}::ng-deep .configure-widgets-tab ul li button{color:#747576;display:inline-block;font-size:11px;line-height:16px;font-weight:600;text-transform:uppercase;border:none;outline:none;background:transparent;padding:0 0 8px;position:relative;margin:0}::ng-deep .configure-widgets-tab ul li button span{display:inline-block;margin-left:8px;color:#74757680}::ng-deep .configure-widgets-tab ul li+li{padding-left:28px}::ng-deep .configure-widgets-tab ul li.active button{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button span{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button:after{content:\"\";right:0;bottom:0;left:0;height:2px;border-radius:2px;position:absolute;background-color:#1e5dd3}::ng-deep .configure-widgets-search{position:relative;margin-bottom:24px}::ng-deep .configure-widgets-search i{position:absolute;top:16px;left:16px;color:#dbdbdb}::ng-deep .configure-widgets-search input{border:1px solid #dbdbdb;border-radius:4px;height:44px;padding:10px 180px 10px 40px;width:100%;font-size:14px;color:#747576;outline:none}::ng-deep .configure-widgets-search input:focus{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .configure-widgets-list{margin:0 -1rem .5rem;height:calc(100vh - 15.5rem);overflow:hidden;overflow-y:auto}::ng-deep .configure-widgets-list::-webkit-scrollbar-track{background-color:transparent}::ng-deep .configure-widgets-item{width:50%;padding:0 16px;margin-bottom:32px}::ng-deep .configure-widgets-item .block{background:#f8f8f8;border-radius:4px;padding:16px 44px 4px;cursor:pointer;position:relative;display:block}::ng-deep .configure-widgets-item .block .check-icon{position:absolute;top:8px;left:0;height:36px;width:36px;border-radius:0 4px 4px 0;display:flex;justify-content:center;align-items:center;background:#34aa44;opacity:0;pointer-events:none}::ng-deep .configure-widgets-item .block .check-icon .check{display:none;width:27px;height:27px;background:transparent;border-radius:50%;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #fff;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}::ng-deep .configure-widgets-item .block .check-icon .check-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:4;stroke-miterlimit:10;stroke:#fff;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}::ng-deep .configure-widgets-item .block .check-icon .check-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .configure-widgets-item .block input[type=checkbox]{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;margin:0;z-index:1;cursor:pointer}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon{opacity:1}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon .check{display:block}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-body .image-wrapper{opacity:.5}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.add{display:none}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.remove{display:flex}::ng-deep .configure-widgets-item-head{padding:0 0 16px;position:relative}::ng-deep .configure-widgets-item-title{margin:0 0 12px;font-size:14px;line-height:20px;text-transform:uppercase;color:#161b2f;max-width:calc(100% - 72px);font-weight:500}::ng-deep .configure-widgets-item-description{font-size:12px;line-height:20px;color:#747576;margin:0;font-weight:400;height:60px}::ng-deep .configure-widgets-item-button{width:72px;height:28px;cursor:pointer;display:flex;position:absolute;top:0;right:-24px;font-size:11px;font-weight:500;border:none;outline:none;justify-content:center;align-items:center;border-radius:2px;text-transform:uppercase;padding:0;margin:0}::ng-deep .configure-widgets-item-button.add{color:#fff;background:#1e5dd3}::ng-deep .configure-widgets-item-button.remove{background:#fff;border:1px solid #f1f1f1;color:#c7381b;display:none}::ng-deep .configure-widgets-item-body{overflow:hidden;height:220px;border:1px solid #f1f1f1;border-bottom:none;border-radius:2px 2px 0 0;box-shadow:0 -4px 8px #161b2f10}::ng-deep .configure-widgets-item-body .image-wrapper{box-shadow:0 -6px 12px #0000001a;border-radius:2px;overflow:hidden;background:#fff}::ng-deep .configure-widgets-item-body img{width:100%}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #fff}}.disabled{pointer-events:none;opacity:.7}\n"] }]
|
|
335
|
-
}], ctorParameters: function () { return [{ type: i1.DialogRef }, { type: i2.ConfigureWidgetsService }, { type: i3.SnackBarService }]; }, propDecorators: { widgetsDataModified: [{
|
|
336
|
-
type: Output
|
|
337
|
-
}], closeConfigureWidgets: [{
|
|
338
|
-
type: Output
|
|
339
|
-
}], selectedWidgetsData: [{
|
|
340
|
-
type: Input
|
|
341
|
-
}], displayedWidgets: [{
|
|
342
|
-
type: Input
|
|
343
|
-
}], showRisk: [{
|
|
344
|
-
type: Input
|
|
345
|
-
}], showCompliance: [{
|
|
346
|
-
type: Input
|
|
347
|
-
}], mode: [{
|
|
348
|
-
type: Input
|
|
349
|
-
}] } });
|
|
350
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXdpZGdldHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLHlCQUF5QjtJQXlCMUI7SUFDRDtJQUNDO0lBMUJBLG1CQUFtQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzVELHFCQUFxQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3hFLGNBQWMsQ0FBTztJQUNyQixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLFlBQVksR0FBNkMsRUFBRSxDQUFDO0lBQzVELGVBQWUsR0FBMkIsRUFBRSxDQUFDO0lBQzdDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDaEIsTUFBTSxHQUEwQixZQUFZLENBQUM7SUFDcEMsbUJBQW1CLEdBQVEsRUFBRSxDQUFDO0lBQzlCLGdCQUFnQixHQUFRLEVBQUUsQ0FBQztJQUMzQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLGNBQWMsR0FBRyxLQUFL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VSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFO29CQUN6QyxVQUFVLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsZ0RBQWdEO1FBQ2hELDRCQUE0QjtRQUM1QixxQ0FBcUM7UUFDckMsb0RBQW9EO1FBQ3BELHVDQUF1QztRQUN2QyxVQUFVO1FBQ1YsTUFBTTtRQUNOLE1BQU07SUFDUixDQUFDO3dHQWpYVSx5QkFBeUI7NEZBQXpCLHlCQUF5QiwrVkNyQnRDLGlwS0E2SUE7OzRGRHhIYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCO29LQUt2QixtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQU9FLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ3VyZVdpZGdldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlndXJlLXdpZGdldHMuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IHdpZGdldERhdGFNb2RlbCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvd2lkZ2V0LWRhdGEtbW9kZWwnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvZGlhbG9nL2RpYWxvZy1yZWYnO1xyXG5pbXBvcnQgeyB3aWRnZXRDb25maWcgfSBmcm9tICcuL3dpZGdldC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Fzc2V0cy5jb25zdGFudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jb25maWd1cmUtd2lkZ2V0cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZ3VyZS13aWRnZXRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb25maWd1cmUtd2lkZ2V0cy5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlndXJlV2lkZ2V0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAT3V0cHV0KCkgd2lkZ2V0c0RhdGFNb2RpZmllZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlQ29uZmlndXJlV2lkZ2V0czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY2hlY2tib3hTdGF0dXMhOiBhbnk7XHJcbiAgc2VhcmNoOiBzdHJpbmcgPSAnJztcclxuICBjaGVja2VkQXJyYXk6IEFycmF5PHsgaW5kZXg6IG51bWJlcjsgc3RhdHVzOiBudW1iZXIgfT4gPSBbXTtcclxuICBzZWxlY3RlZFdpZGdldHM6IEFycmF5PHdpZGdldERhdGFNb2RlbD4gPSBbXTtcclxuICBBU1NFVFMgPSBBU1NFVFM7XHJcbiAgbW9kdWxlOiAnQ09NUExJQU5DRScgfCAnUklTSycgPSAnQ09NUExJQU5DRSc7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRXaWRnZXRzRGF0YTogYW55ID0gW107XHJcbiAgQElucHV0KCkgZGlzcGxheWVkV2lkZ2V0czogYW55ID0gW107XHJcbiAgQElucHV0KCkgc2hvd1Jpc2sgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93Q29tcGxpYW5jZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSAnQ1JFQVRFJztcclxuICBub0RhdGFUZXh0ID1cclxuICAgICdZb3UgaGF2ZSBub3QgY29uZmlndXJlZCBhbnkgd2lkZ2V0cy4gQ2xpY2sgb24gdGhlIDxzdHJvbmc+Q29uZmlndXJlIFdpZGdldHM8L3N0cm9uZz4gYnV0dG9uIHRvIGJlZ2luLic7XHJcblxyXG4gIHNlbGVjdGVkV2lkZ2V0SWRzOiBhbnkgPSBbXTtcclxuICBzdWJSZXNwb25zaWJpbGl0aWVzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzdWJLZXlSZXNwb25zaWJpbGl0aWVzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzaG93V2lkZ2V0cyA9IHRydWU7XHJcbiAgY29tcGxpYW5jZVdpZGdldHNEaXNwbGF5Q291bnQgPSA5O1xyXG4gIHJpc2tXaWRnZXRzRGlzcGxheUNvdW50ID0gOTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZzogRGlhbG9nUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ3VyZVdpZGdldHNTZXJ2aWNlOiBDb25maWd1cmVXaWRnZXRzU2VydmljZSxcclxuICAgIHByaXZhdGUgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFdpZGdldHMgPSBbXTtcclxuXHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAnRURJVCcpIHtcclxuICAgICAgdGhpcy5hcHBseUVkaXRNb2RlV2lkZ2V0Q2F0YWxvZygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hcHBseUNyZWF0ZU1vZGVXaWRnZXRWaXNpYmlsaXR5KCk7XHJcbiAgICAgIHRoaXMuYXBwbHlTYXZlZFdpZGdldFNlbGVjdGlvbih0aGlzLnNlbGVjdGVkV2lkZ2V0c0RhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubW9kdWxlID0gdGhpcy5zaG93Q29tcGxpYW5jZSA/ICdDT01QTElBTkNFJyA6ICdSSVNLJztcclxuICAgIHRoaXMuc2V0U2VsZWN0ZWRXaWRnZXRzKCk7XHJcbiAgfVxyXG5cclxuICAvKiogRURJVDogc2hvdyBmdWxsIHdpZGdldCBjYXRhbG9nOyBjaGVjayBpdGVtcyBwcmVzZW50IGluIGdldFdpZGdldHMgd2lkZ2V0QXJyLiAqL1xyXG4gIHByaXZhdGUgYXBwbHlFZGl0TW9kZVdpZGdldENhdGFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLndpZGdldHNMaXN0LkNPTVBMSUFOQ0UuZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgZWxlLnZhbHVlID0gZmFsc2U7XHJcbiAgICAgIGVsZS52aXNpYmlsaXR5ID0gdHJ1ZTtcclxuICAgICAgKGVsZS5zdWJXaWRnZXRzID8/IFtdKS5mb3JFYWNoKChzdWI6IGFueSkgPT4ge1xyXG4gICAgICAgIHN1Yi52YWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgIHN1Yi52aXNpYmlsaXR5ID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY29tcGxpYW5jZVdpZGdldHNEaXNwbGF5Q291bnQgPSB0aGlzLndpZGdldHNMaXN0LkNPTVBMSUFOQ0UuZmlsdGVyKFxyXG4gICAgICAodykgPT4gdy52aXNpYmlsaXR5LFxyXG4gICAgKS5sZW5ndGg7XHJcbiAgICB0aGlzLnJpc2tXaWRnZXRzRGlzcGxheUNvdW50ID0gMDtcclxuICAgIHRoaXMuYXBwbHlTYXZlZFdpZGdldFNlbGVjdGlvbih0aGlzLnNlbGVjdGVkV2lkZ2V0c0RhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqIENSRUFURTogbGltaXQgdmlzaWJsZSB0aWxlcyB0byBkaXNwbGF5ZWRXaWRnZXRzIHdoZW4gcHJvdmlkZWQuICovXHJcbiAgcHJpdmF0ZSBhcHBseUNyZWF0ZU1vZGVXaWRnZXRWaXNpYmlsaXR5KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmRpc3BsYXllZFdpZGdldHM/Lmxlbmd0aCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFdpZGdldHNWaXNpYmlsaXR5VG9GYWxzZSgpO1xyXG4gICAgdGhpcy5yaXNrV2lkZ2V0c0Rpc3BsYXlDb3VudCA9IDA7XHJcbiAgICB0aGlzLmNvbXBsaWFuY2VXaWRnZXRzRGlzcGxheUNvdW50ID0gMDtcclxuICAgIGNvbnN0IGZpbmFsRGF0YSA9IFsuLi5uZXcgU2V0KHRoaXMuZGlzcGxheWVkV2lkZ2V0cyldO1xyXG4gICAgZmluYWxEYXRhLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLndpZGdldHNMaXN0LkNPTVBMSUFOQ0UuZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZWxlLmlkICE9PSBlbGVtZW50LndpZGdldF9jb2RlKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsZS52aXNpYmlsaXR5ID0gdHJ1ZTtcclxuICAgICAgICBpZiAoZWxlLnN1YldpZGdldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3QgdmlzaWJsZVN1YkNvZGVzID0gKGVsZW1lbnQuc3ViX3dpZGdldHMgPz8gW10pLm1hcChcclxuICAgICAgICAgICAgKHN1YndpZGdldDogYW55KSA9PiBzdWJ3aWRnZXQud2lkZ2V0X2NvZGUsXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgZWxlLnN1YldpZGdldHMuZm9yRWFjaCgoc3ViRWxlbWVudDogYW55LCBzdWJJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52aXNpYmlsaXR5ID0gdmlzaWJsZVN1YkNvZGVzLmluY2x1ZGVzKFxyXG4gICAgICAgICAgICAgIHN1YkVsZW1lbnQuaWQsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlV2lkZ2V0c0Rpc3BsYXlDb3VudCsrO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcHBseVNhdmVkV2lkZ2V0U2VsZWN0aW9uKHNhdmVkV2lkZ2V0czogYW55W10pOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGEgPSBbLi4ubmV3IFNldChzYXZlZFdpZGdldHMgPz8gW10pXTtcclxuICAgIGRhdGEuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChlbGVtZW50Py5zdGF0ZSAmJiBlbGVtZW50LnN0YXRlICE9PSAnQUNUSVZFJykge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLndpZGdldHNMaXN0LkNPTVBMSUFOQ0UuZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZWxlLmlkICE9PSBlbGVtZW50LndpZGdldF9jb2RlKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsZS52YWx1ZSA9IHRydWU7XHJcbiAgICAgICAgaWYgKGVsZS5zdWJXaWRnZXRzLmxlbmd0aCA+IDAgJiYgZWxlbWVudC5zdWJfd2lkZ2V0cz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBjb25zdCBhY3RpdmVTdWJDb2RlcyA9IChlbGVtZW50LnN1Yl93aWRnZXRzID8/IFtdKVxyXG4gICAgICAgICAgICAuZmlsdGVyKChzdWJ3aWRnZXQ6IGFueSkgPT4gc3Vid2lkZ2V0LnN0YXRlID09PSAnQUNUSVZFJylcclxuICAgICAgICAgICAgLm1hcCgoc3Vid2lkZ2V0OiBhbnkpID0+IHN1YndpZGdldC53aWRnZXRfY29kZSk7XHJcbiAgICAgICAgICBlbGUuc3ViV2lkZ2V0cy5mb3JFYWNoKChzdWJFbGVtZW50OiBhbnksIHN1YkluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgZWxlLnN1YldpZGdldHNbc3ViSW5kZXhdLnZhbHVlID0gYWN0aXZlU3ViQ29kZXMuaW5jbHVkZXMoXHJcbiAgICAgICAgICAgICAgc3ViRWxlbWVudC5pZCxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgd2lkZ2V0c0xpc3QgPSB7XHJcbiAgICBDT01QTElBTkNFOiBbXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ092ZXJ2aWV3JyxcclxuICAgICAgICBpZDogJ292ZXJ2aWV3JyxcclxuICAgICAgICBkZXNjcmlwdGlvbjpcclxuICAgICAgICAgICdPdmVydmlldyBzaG93cyB0aGUgcGVyZm9ybWFuY2Ugb2YgcmVzcG9uc2liaWxpdGllcyBhbmQgUHJvZ3JhbXMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogQVNTRVRTLm92ZXJ2aWV3V2lkZ2V0LFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxyXG4gICAgICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxyXG4gICAgICAgIHN1YldpZGdldHM6IFtdLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNwb25zaWJpbGl0eSBDYWxlbmRhcicsXHJcbiAgICAgICAgaWQ6ICdjb21wbGlhbmNlX2NhbGVuZGFyX2ZsYWcnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOlxyXG4gICAgICAgICAgJ1RoZSBSZXNwb25zaWJpbGl0eSBDYWxlbmRhciBzaG93cyB0aGUgZHVlIGRhdGVzIG9mIHJlc3BvbnNpYmlsaXRpZXMgaW4gYSBjYWxlbmRhciBmb3JtYXQuIFRoZSByZXNwb25zaWJpbGl0aWVzIGFyZSBjb2xvciBjb2RlZCB0byByZWZsZWN0IHRoZSBzdGF0dXMgb2YgdGhlIHJlc3BvbnNpYmlsaXRpZXMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogQVNTRVRTLnJlc3BvbnNpYmlsaXR5Q2FsZW5kZXJXaWRnZXQsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6IHRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnQ09NUExJQU5DRScsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW10sXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNwb25zaWJpbGl0aWVzIGJ5IEFzc2lnbmVlJyxcclxuICAgICAgICBpZDogJ3Jlc3BvbnNpYmlsaXRpZXNfYnlfYXNzaWduZWUnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOlxyXG4gICAgICAgICAgJ1RoZSBSZXNwb25zaWJpbGl0aWVzIGJ5IEFzc2lnbmVlIHdpZGdldCBzaG93cyB0aGUgcGVyZm9ybWFuY2Ugb2YgcmVzcG9uc2liaWxpdGllcyBieSB1c2Vycy4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMucmVzcG9uc2liaWxpdGllc0J5QXNzaWduZWUsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6IHRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnQ09NUExJQU5DRScsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW10sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlciBPdmVydmlldycsXHJcbiAgICAgICAgaWQ6ICdyZXNwb25zaWJpbGl0eV9jZW50ZXJfb3ZlcnZpZXdfZmxhZycsXHJcbiAgICAgICAgZGVzY3JpcHRpb246XHJcbiAgICAgICAgICAnVGhlIFJlc3BvbnNpYmlsaXR5IENlbnRlciBPdmVydmlldyBzaG93cyB0aGUgcGVyZm9ybWFuY2Ugb2YgcmVzcG9uc2liaWxpdGllcyBhbmQgUmVzcG9uc2liaWxpdHkgQ2VudGVycy4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMucmVzcG9uc2liaWxpdHlDZW50ZXJPdmVydmlld1dpZGdldCxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnUmVzcG9uc2liaWxpdGllcycsXHJcbiAgICAgICAgaWQ6ICdteV9yZXNwb25zaWJpbGl0aWVzJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjpcclxuICAgICAgICAgICdUaGlzIHdpZGdldCBzaG93cyB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCB5b3UgYXJlIHJlcXVpcmVkIHRvIGNvbXBsZXRlLCB0aGUgcmVzcG9uc2liaWxpdGllcyB0aGF0IHlvdSBhcmUgcmV2aWV3aW5nIGFuZCB0aGUgcmVzcG9uc2liaWxpdGllcyB0aGF0IHlvdSBhcmUgb3ZlcnNlZWluZy4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMubXlSZXNwb25zaWJpbGl0aWVzV2lkZ2V0LFxyXG4gICAgICAgIHRhYk9wdGlvbjogdHJ1ZSxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnTXkgUmVzcG9uc2liaWxpdGllcycsXHJcbiAgICAgICAgICAgIGlkOiAnbXlfcmVzcG9uc2liaWxpdHlfZmxhZycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnSeKAmW0gUmV2aWV3aW5nJyxcclxuICAgICAgICAgICAgaWQ6ICdyZXZpZXdlcl9yZXNwb25zaWJpbGl0eV9mbGFnJyxcclxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdJ4oCZbSBPdmVyc2VlaW5nJyxcclxuICAgICAgICAgICAgaWQ6ICdjY19yZXNwb25zaWJpbGl0eV9mbGFnJyxcclxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdLZXkgUmVzcG9uc2liaWxpdGllcycsXHJcbiAgICAgICAgaWQ6ICdrZXlfcmVzcG9uc2liaWxpdGllcycsXHJcbiAgICAgICAgZGVzY3JpcHRpb246XHJcbiAgICAgICAgICAnVGhpcyB3aWRnZXQgc2hvd3MgdGhlIHBlcmZvcm1hbmNlIG9mIGtleSByZXNwb25zaWJpbGl0aWVzIHRoYXQgeW91IGFyZSByZXF1aXJlZCB0byBjb21wbGV0ZSwgdGhhdCB5b3UgYXJlIHJldmlld2luZywgdGhhdCB5b3UgYXJlIG92ZXJzZWVpbmcgYW5kIHRoYXQgeW91IGhhdmUgYXNzaWduZWQgdG8gYW5vdGhlciBwZXJzb24uJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogQVNTRVRTLmtleVJlc3BvbnNpYmlsaXRpZXNXaWRnZXQsXHJcbiAgICAgICAgdGFiT3B0aW9uOiB0cnVlLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxyXG4gICAgICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxyXG4gICAgICAgIHN1YldpZGdldHM6IFtcclxuICAgICAgICAgIC8vIHtcclxuICAgICAgICAgIC8vICAgdGl0bGU6ICdPdmVydmlldycsXHJcbiAgICAgICAgICAvLyAgIGlkOiAna2V5X3Jlc3BvbnNpYmlsaXRpZXNfb3ZlcnZpZXdfZmxhZycsXHJcbiAgICAgICAgICAvLyAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgIC8vICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICAgIC8vIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnTXkgUmVzcG9uc2liaWxpdGllcycsXHJcbiAgICAgICAgICAgIGlkOiAna2V5X215X3Jlc3BvbnNpYmlsaXRpZXNfZmxhZycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnSeKAmW0gUmV2aWV3aW5nJyxcclxuICAgICAgICAgICAgaWQ6ICdrZXlfaV9hbV9yZXZpZXdpbmdfZmxhZycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnSeKAmW0gT3ZlcnNlZWluZycsXHJcbiAgICAgICAgICAgIGlkOiAna2V5X2lfYW1fb3ZlcnNlZWluZ19mbGFnJyxcclxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdUcmVuZCBBbmFseXNpcycsXHJcbiAgICAgICAgaWQ6ICd0cmVuZF9hbmFseXNpc19mbGFnJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjpcclxuICAgICAgICAgICdUaGUgVHJlbmQgQW5hbHlzaXMgaXMgYSBncmFwaGljYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIHBlcmZvcm1hbmNlIG9mIHJlc3BvbnNpYmlsaXRpZXMgb3ZlciBhIHBlcmlvZC4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMudHJlbmRBbmFseXNpc1dpZGdldCxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxuXHJcbiAgc2VsZWN0V2lkZ2V0KFxyXG4gICAgZXZlbnQ6IGFueSxcclxuICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxyXG4gICAgd2lkZ2V0SWQ6IHN0cmluZyxcclxuICAgIHN1YldpZGdldElkPzogc3RyaW5nLFxyXG4gICkge1xyXG4gICAgY29uc3Qgd2lkZ2V0SW5kZXggPSB0aGlzLndpZGdldHNMaXN0W21vZHVsZV0uZmluZEluZGV4KFxyXG4gICAgICAoZWxlOiBhbnkpID0+IGVsZS5pZCA9PSB3aWRnZXRJZCxcclxuICAgICk7XHJcbiAgICBjb25zdCBpc1N1YldpZGdldEFkZGFibGUgPSB0aGlzLnNlbGVjdGVkV2lkZ2V0cy5maW5kSW5kZXgoXHJcbiAgICAgICh3aWRnZXQ6IGFueSkgPT4gd2lkZ2V0LmlkID09PSB3aWRnZXRJZCxcclxuICAgICk7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzLmxlbmd0aCA+PSAxMCAmJlxyXG4gICAgICAgICEoc3ViV2lkZ2V0SWQgJiYgaXNTdWJXaWRnZXRBZGRhYmxlID49IDApXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuc25hY2tCYXIuc2hvdygnWW91IGNhbm5vdCBhZGQgbW9yZSB0aGFuIDEwIHdpZGdldHMuJywgJ2FsZXJ0Jyk7XHJcbiAgICAgICAgdGhpcy5zaG93V2lkZ2V0cyA9IGZhbHNlO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zaG93V2lkZ2V0cyA9IHRydWU7XHJcbiAgICAgICAgfSwgMTApO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnZhbHVlID0gdHJ1ZTtcclxuICAgICAgaWYgKHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgaWYgKCFzdWJXaWRnZXRJZCkge1xyXG4gICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS5zdWJXaWRnZXRzLmZvckVhY2goXHJcbiAgICAgICAgICAgIChlbGUpID0+IChlbGUudmFsdWUgPSB0cnVlKSxcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHN1YldpZGdldEluZGV4ID0gdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW1xyXG4gICAgICAgICAgICB3aWRnZXRJbmRleFxyXG4gICAgICAgICAgXS5zdWJXaWRnZXRzLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZS5pZCA9PSBzdWJXaWRnZXRJZCk7XHJcbiAgICAgICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHNbXHJcbiAgICAgICAgICAgIHN1YldpZGdldEluZGV4XHJcbiAgICAgICAgICBdLnZhbHVlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmICghc3ViV2lkZ2V0SWQpIHtcclxuICAgICAgICAgIHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0udmFsdWUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0cy5mb3JFYWNoKFxyXG4gICAgICAgICAgICAoZWxlOiBhbnkpID0+IChlbGUudmFsdWUgPSBmYWxzZSksXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBzdWJXaWRnZXRJbmRleCA9IHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVtcclxuICAgICAgICAgICAgd2lkZ2V0SW5kZXhcclxuICAgICAgICAgIF0uc3ViV2lkZ2V0cy5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuaWQgPT0gc3ViV2lkZ2V0SWQpO1xyXG4gICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS5zdWJXaWRnZXRzW1xyXG4gICAgICAgICAgICBzdWJXaWRnZXRJbmRleFxyXG4gICAgICAgICAgXS52YWx1ZSA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGlzQWxsV2lkZ2V0c1JlbW92ZWQgPSB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bXHJcbiAgICAgICAgICAgIHdpZGdldEluZGV4XHJcbiAgICAgICAgICBdLnN1YldpZGdldHMuZXZlcnkoKGVsZTogYW55KSA9PiBlbGUudmFsdWUgPT0gZmFsc2UpO1xyXG4gICAgICAgICAgaWYgKGlzQWxsV2lkZ2V0c1JlbW92ZWQpIHtcclxuICAgICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnZhbHVlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2V0U2VsZWN0ZWRXaWRnZXRzKCk7XHJcbiAgfVxyXG4gIHNldFNlbGVjdGVkV2lkZ2V0cygpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzID0gW107XHJcbiAgICB0aGlzLndpZGdldHNMaXN0LkNPTVBMSUFOQ0UuZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGVsZS52YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzLnB1c2goZWxlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB0aGlzLndpZGdldHNMaXN0LlJJU0suZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgIC8vICAgaWYgKGVsZS52YWx1ZSkge1xyXG4gICAgLy8gICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzLnB1c2goZWxlKTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gfSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVXaWRnZXQod2lkZ2V0OiB3aWRnZXRDb25maWcpIHtcclxuICAgIGNvbnN0IHdpZGdldEluZGV4ID0gdGhpcy53aWRnZXRzTGlzdFt3aWRnZXQubW9kdWxlXS5maW5kSW5kZXgoXHJcbiAgICAgIChlbGU6IGFueSkgPT4gZWxlLmlkID09IHdpZGdldC5pZCxcclxuICAgICk7XHJcbiAgICB0aGlzLndpZGdldHNMaXN0W3dpZGdldC5tb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMud2lkZ2V0c0xpc3Rbd2lkZ2V0Lm1vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLndpZGdldHNMaXN0W3dpZGdldC5tb2R1bGVdW3dpZGdldEluZGV4XS5zdWJXaWRnZXRzLmZvckVhY2goXHJcbiAgICAgICAgKGVsZTogYW55KSA9PiAoZWxlLnZhbHVlID0gZmFsc2UpLFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTZWxlY3RlZFdpZGdldHMoKTtcclxuICB9XHJcblxyXG4gIG9uTmV4dENsaWNrKCkge1xyXG4gICAgdGhpcy53aWRnZXRzRGF0YU1vZGlmaWVkLmVtaXQodGhpcy5zZWxlY3RlZFdpZGdldHMpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VDb25maWd1cmVEYXNoYm9hcmQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkV2lkZ2V0cyA9IFtdO1xyXG4gICAgdGhpcy5kaWFsb2cuY2xvc2UoKTtcclxuICAgIHRoaXMuY2xvc2VDb25maWd1cmVXaWRnZXRzLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgc2V0V2lkZ2V0c1Zpc2liaWxpdHlUb0ZhbHNlKCkge1xyXG4gICAgdGhpcy53aWRnZXRzTGlzdC5DT01QTElBTkNFLmZvckVhY2goKGVsZTogYW55KSA9PiB7XHJcbiAgICAgIGVsZS52aXNpYmlsaXR5ID0gZmFsc2U7XHJcbiAgICAgIGlmIChlbGUuc3ViV2lkZ2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgZWxlLnN1YldpZGdldHMuZm9yRWFjaCgoc3ViRWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICBzdWJFbGVtZW50LnZpc2liaWxpdHkgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB0aGlzLndpZGdldHNMaXN0LlJJU0suZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgIC8vICAgZWxlLnZpc2liaWxpdHkgPSBmYWxzZTtcclxuICAgIC8vICAgaWYgKGVsZS5zdWJXaWRnZXRzLmxlbmd0aCA+IDApIHtcclxuICAgIC8vICAgICBlbGUuc3ViV2lkZ2V0cy5mb3JFYWNoKChzdWJFbGVtZW50OiBhbnkpID0+IHtcclxuICAgIC8vICAgICAgIHN1YkVsZW1lbnQudmlzaWJpbGl0eSA9IGZhbHNlO1xyXG4gICAgLy8gICAgIH0pO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzIHZ4LWQtYmxvY2tcIiAqbmdJZj1cInNob3dXaWRnZXRzXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLXRpdGxlIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5cclxuICAgICAgQ29uZmlndXJlIFdpZGdldHNcclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLWJhY2sgdngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1tLTAgdngtcC0wIHZ4LWQtaW5saW5lLWZsZXggdngtYWxpZ24tY2VudGVyXCJcclxuICAgICAgKGNsaWNrKT1cImNsb3NlQ29uZmlndXJlRGFzaGJvYXJkKClcIlxyXG4gICAgPlxyXG4gICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTE2XCI+JiN4ZTkxZDs8L2k+IEJhY2tcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1ib2R5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtdGFiXCI+XHJcbiAgICAgIDx1bD5cclxuICAgICAgICA8bGlcclxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwibW9kdWxlID09PSAnQ09NUExJQU5DRSdcIlxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93Q29tcGxpYW5jZVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwibW9kdWxlID0gJ0NPTVBMSUFOQ0UnXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8IS0tIDxidXR0b24+XHJcbiAgICAgICAgICAgIENvbXBsaWFuY2U8c3Bhbj57eyBjb21wbGlhbmNlV2lkZ2V0c0Rpc3BsYXlDb3VudCB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaSBbY2xhc3MuYWN0aXZlXT1cIm1vZHVsZSA9PT0gJ1JJU0snXCIgKm5nSWY9XCJzaG93Umlza1wiPlxyXG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibW9kdWxlID0gJ1JJU0snXCI+XHJcbiAgICAgICAgICAgIFJpc2tzPHNwYW4+e3sgcmlza1dpZGdldHNEaXNwbGF5Q291bnQgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtc2VhcmNoIHZ4LW1iLTJcIj5cclxuICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCB3aWRnZXRzXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtbGlzdCB2eC1kLWZsZXggdngtZmxleC13cmFwXCJcclxuICAgICAgKm5nSWY9XCIod2lkZ2V0c0xpc3RbbW9kdWxlXSB8IHNlYXJjaCA6IHNlYXJjaCkubGVuZ3RoICE9PSAwXCJcclxuICAgID5cclxuICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ0Zvcj1cImxldCB3aWRnZXQgb2Ygd2lkZ2V0c0xpc3RbbW9kdWxlXSB8IHNlYXJjaCA6IHNlYXJjaFwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtaXRlbVwiICpuZ0lmPVwid2lkZ2V0Py52aXNpYmlsaXR5XCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJibG9ja1wiPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cIndpZGdldC52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3RXaWRnZXQoJGV2ZW50LnRhcmdldC5jaGVja2VkLCBtb2R1bGUsIHdpZGdldC5pZClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2staWNvblwiPlxyXG4gICAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tcIlxyXG4gICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDUyIDUyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2stY2lyY2xlXCJcclxuICAgICAgICAgICAgICAgICAgY3g9XCIyNlwiXHJcbiAgICAgICAgICAgICAgICAgIGN5PVwiMjZcIlxyXG4gICAgICAgICAgICAgICAgICByPVwiMjVcIlxyXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVjay1jaXJjbGVcIlxyXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtaXRlbS1oZWFkXCI+XHJcbiAgICAgICAgICAgICAgPGg0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLWl0ZW0tdGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJ3aWRnZXQ/LnRpdGxlXCJcclxuICAgICAgICAgICAgICA+PC9oND5cclxuICAgICAgICAgICAgICA8cFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1pdGVtLWRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwid2lkZ2V0Py5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgPjwvcD5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiF3aWRnZXQudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1pdGVtLWJ1dHRvbiBhZGRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFdpZGdldCh0cnVlLCBtb2R1bGUsIHdpZGdldC5pZClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICsgQUREXHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ3aWRnZXQudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1pdGVtLWJ1dHRvbiByZW1vdmVcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFdpZGdldChmYWxzZSwgbW9kdWxlLCB3aWRnZXQuaWQpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAtIFJlbW92ZVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLWl0ZW0tYm9keVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1NyY109XCJ3aWRnZXQ/LndpZGdldEltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgICAgd2lkdGg9XCI3OTBcIlxyXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI2MTNcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsb2F0aW5nLW9wdGlvbiB2eC1kLWZsZXhcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ3aWRnZXQ/LnN1YldpZGdldHM/Lmxlbmd0aCA+IDBcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1YldpZGdldCBvZiB3aWRnZXQuc3ViV2lkZ2V0c1wiPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdWJXaWRnZXQudmlzaWJpbGl0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RXaWRnZXQoJGV2ZW50LCBtb2R1bGUsIHdpZGdldC5pZCwgc3ViV2lkZ2V0LmlkKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVmFsdWVdPVwic3ViV2lkZ2V0LnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICA+e3sgc3ViV2lkZ2V0LnRpdGxlIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8IS0tIE5vIERhdGEgSW1hZ2UgLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxhcHAtbm8tZGF0YVxyXG4gICAgICAqbmdJZj1cIih3aWRnZXRzTGlzdFttb2R1bGVdIHwgc2VhcmNoIDogc2VhcmNoKS5sZW5ndGggPT09IDBcIlxyXG4gICAgICBbbm9EYXRhSW1hZ2VdPVwiQVNTRVRTLmNvbmZpZ3VyZV93aWRnZXRcIlxyXG4gICAgICBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiXHJcbiAgICA+XHJcbiAgICA8L2FwcC1uby1kYXRhPlxyXG5cclxuICAgIDxmbG9hdGluZy1iYXJcclxuICAgICAgKHN1Ym1pdEV2ZW50KT1cIm9uTmV4dENsaWNrKClcIlxyXG4gICAgICAoY2FuY2VsRXZlbnQpPVwiY2xvc2VDb25maWd1cmVEYXNoYm9hcmQoKVwiXHJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRXaWRnZXRzXCJcclxuICAgICAgKGRlbGV0ZUV2ZW50KT1cInJlbW92ZVdpZGdldCgkZXZlbnQpXCJcclxuICAgID48L2Zsb2F0aW5nLWJhcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy93aWRnZXQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIHdpZGdldENvbmZpZ3tcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBpZDogc3RyaW5nLFxyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcclxuICAgIHdpZGdldEltYWdlOiBzdHJpbmcsXHJcbiAgICB2YWx1ZTogYm9vbGVhbixcclxuICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxyXG4gICAgc3ViV2lkZ2V0czogW11cclxufSJdfQ==
|
package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets.module.mjs
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule, NgOptimizedImage } from '@angular/common';
|
|
3
|
-
import { FloatingBarModule } from '../../ui-kit//floating-bar/floating-bar.module';
|
|
4
|
-
import { FormgroupModule } from '../../ui-kit/formgroup/formgroup.module';
|
|
5
|
-
import { FormsModule } from '@angular/forms';
|
|
6
|
-
import { SearchPipe } from '../pipes/search.pipe';
|
|
7
|
-
import { ConfigureWidgetsComponent } from './configure-widgets/configure-widgets.component';
|
|
8
|
-
import { DirectivesModule } from '../directives/directives.module';
|
|
9
|
-
import { NoDataModule } from '../../ui-kit/no-data/no-data.module';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
export class ConfigureWidgetsModule {
|
|
12
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsModule, declarations: [ConfigureWidgetsComponent, SearchPipe], imports: [CommonModule,
|
|
14
|
-
FloatingBarModule,
|
|
15
|
-
FormgroupModule,
|
|
16
|
-
FormsModule,
|
|
17
|
-
DirectivesModule,
|
|
18
|
-
NoDataModule,
|
|
19
|
-
NgOptimizedImage], exports: [ConfigureWidgetsComponent] });
|
|
20
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsModule, imports: [CommonModule,
|
|
21
|
-
FloatingBarModule,
|
|
22
|
-
FormgroupModule,
|
|
23
|
-
FormsModule,
|
|
24
|
-
DirectivesModule,
|
|
25
|
-
NoDataModule] });
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsModule, decorators: [{
|
|
28
|
-
type: NgModule,
|
|
29
|
-
args: [{
|
|
30
|
-
declarations: [
|
|
31
|
-
ConfigureWidgetsComponent, SearchPipe
|
|
32
|
-
],
|
|
33
|
-
imports: [
|
|
34
|
-
CommonModule,
|
|
35
|
-
FloatingBarModule,
|
|
36
|
-
FormgroupModule,
|
|
37
|
-
FormsModule,
|
|
38
|
-
DirectivesModule,
|
|
39
|
-
NoDataModule,
|
|
40
|
-
NgOptimizedImage
|
|
41
|
-
],
|
|
42
|
-
exports: [
|
|
43
|
-
ConfigureWidgetsComponent
|
|
44
|
-
]
|
|
45
|
-
}]
|
|
46
|
-
}] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXdpZGdldHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBcUJuRSxNQUFNLE9BQU8sc0JBQXNCO3dHQUF0QixzQkFBc0I7eUdBQXRCLHNCQUFzQixpQkFmL0IseUJBQXlCLEVBQUUsVUFBVSxhQUdyQyxZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixnQkFBZ0IsYUFHaEIseUJBQXlCO3lHQUdoQixzQkFBc0IsWUFaL0IsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixZQUFZOzs0RkFPSCxzQkFBc0I7a0JBakJsQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix5QkFBeUIsRUFBRSxVQUFVO3FCQUN0QztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AseUJBQXlCO3FCQUMxQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdPcHRpbWl6ZWRJbWFnZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vdWkta2l0Ly9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hQaXBlIH0gZnJvbSAnLi4vcGlwZXMvc2VhcmNoLnBpcGUnO1xyXG5pbXBvcnQgeyBDb25maWd1cmVXaWRnZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5vRGF0YU1vZHVsZSB9IGZyb20gJy4uLy4uL3VpLWtpdC9uby1kYXRhL25vLWRhdGEubW9kdWxlJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIENvbmZpZ3VyZVdpZGdldHNDb21wb25lbnQsIFNlYXJjaFBpcGVcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxyXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBEaXJlY3RpdmVzTW9kdWxlLFxyXG4gICAgTm9EYXRhTW9kdWxlLFxyXG4gICAgTmdPcHRpbWl6ZWRJbWFnZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ29uZmlndXJlV2lkZ2V0c0NvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyZVdpZGdldHNNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
const BASE_URL = 'https://cdn.v-comply.com';
|
|
2
|
-
export const ASSETS = {
|
|
3
|
-
dashBoardIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/what.svg`,
|
|
4
|
-
dashBoardUsersIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/who.svg`,
|
|
5
|
-
dashBoardRcIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/responsibility-center.svg`,
|
|
6
|
-
dashBoardProgramIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/category.svg`,
|
|
7
|
-
dashBoardRiskIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/category.svg`,
|
|
8
|
-
dashBoardTimeFrameIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/when.svg`,
|
|
9
|
-
dashBoardEmailSummariesIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/send-resolution.svg`,
|
|
10
|
-
configure_widget: `${BASE_URL}/libraries/configure-widget/assets/images/configure-widget.svg`,
|
|
11
|
-
overviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/overview.png`,
|
|
12
|
-
responsibilityCalenderWidget: `${BASE_URL}/libraries/configure-widget/assets/images/responsibility-calender.png`,
|
|
13
|
-
responsibilityCenterOverviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/responsibility-center-overview.png`,
|
|
14
|
-
myResponsibilitiesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/my-responsibilities.png`,
|
|
15
|
-
keyResponsibilitiesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/key-responsibilities.png`,
|
|
16
|
-
trendAnalysisWidget: `${BASE_URL}/libraries/configure-widget/assets/images/trend-analysis.png`,
|
|
17
|
-
workroomUpdatesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/workroom-updates.png`,
|
|
18
|
-
recentActivitiesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/recent-activities.png`,
|
|
19
|
-
exceptionSummaryWidget: `${BASE_URL}/libraries/configure-widget/assets/images/exception-summary.png`,
|
|
20
|
-
riskOverviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/risk-overview.png`,
|
|
21
|
-
appetiteToleranceWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/appetite-tolerance.png`,
|
|
22
|
-
inherentRCWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/inherent-RC.png`,
|
|
23
|
-
residualRCWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/residual-RC.png`,
|
|
24
|
-
riskCategoryOverviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/risk-category-overview.png`,
|
|
25
|
-
riskHeatmapWidget: `${BASE_URL}/libraries/configure-widget/assets/images/risk-heatmap.png`,
|
|
26
|
-
inherentCategoriesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/inherent-categories.png`,
|
|
27
|
-
residualCategoriesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/residual-categories.png`,
|
|
28
|
-
tenRiskRatingsWidget: `${BASE_URL}/libraries/configure-widget/assets/images/10-risk-ratings.png`,
|
|
29
|
-
search_data: `${BASE_URL}/libraries/workflow-engine/assets/workflow/search-data.svg`,
|
|
30
|
-
appetite_tolerance: `${BASE_URL}/libraries/configure-widget/assets/images/appetite-tolerance.png`,
|
|
31
|
-
inherent_trend: `${BASE_URL}/libraries/configure-widget/assets/images/inherent-trend.png`,
|
|
32
|
-
residual_trend: `${BASE_URL}/libraries/configure-widget/assets/images/residual-trend.png`,
|
|
33
|
-
risk_trend: `${BASE_URL}/libraries/configure-widget/assets/images/risk-trend.png`,
|
|
34
|
-
policyApproverView: `${BASE_URL}/policy/images/policy-approver-view.svg`,
|
|
35
|
-
responsibilitiesByAssignee: `${BASE_URL}/libraries/configure-widget/assets/images/responsibilitiesByAssignee.png`,
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmNvbnN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxRQUFRLEdBQUcsMEJBQTBCLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ3BCLGFBQWEsRUFBRSxHQUFHLFFBQVEscURBQXFEO0lBQy9FLGtCQUFrQixFQUFFLEdBQUcsUUFBUSxvREFBb0Q7SUFDbkYsZUFBZSxFQUFFLEdBQUcsUUFBUSxzRUFBc0U7SUFDbEcsb0JBQW9CLEVBQUUsR0FBRyxRQUFRLHlEQUF5RDtJQUMxRixpQkFBaUIsRUFBRSxHQUFHLFFBQVEseURBQXlEO0lBQ3ZGLHNCQUFzQixFQUFFLEdBQUcsUUFBUSxxREFBcUQ7SUFDeEYsMkJBQTJCLEVBQUUsR0FBRyxRQUFRLGdFQUFnRTtJQUN4RyxnQkFBZ0IsRUFBRSxHQUFHLFFBQVEsZ0VBQWdFO0lBQzdGLGNBQWMsRUFBRSxHQUFHLFFBQVEsd0RBQXdEO0lBQ25GLDRCQUE0QixFQUFFLEdBQUcsUUFBUSx1RUFBdUU7SUFDaEgsa0NBQWtDLEVBQUUsR0FBRyxRQUFRLDhFQUE4RTtJQUM3SCx3QkFBd0IsRUFBRSxHQUFHLFFBQVEsbUVBQW1FO0lBQ3hHLHlCQUF5QixFQUFFLEdBQUcsUUFBUSxvRUFBb0U7SUFDMUcsbUJBQW1CLEVBQUUsR0FBRyxRQUFRLDhEQUE4RDtJQUM5RixxQkFBcUIsRUFBRSxHQUFHLFFBQVEsZ0VBQWdFO0lBQ2xHLHNCQUFzQixFQUFFLEdBQUcsUUFBUSxpRUFBaUU7SUFDcEcsc0JBQXNCLEVBQUUsR0FBRyxRQUFRLGlFQUFpRTtJQUNwRyxrQkFBa0IsRUFBRSxHQUFHLFFBQVEsb0VBQW9FO0lBQ25HLHVCQUF1QixFQUFFLEdBQUcsUUFBUSx5RUFBeUU7SUFDN0csZ0JBQWdCLEVBQUUsR0FBRyxRQUFRLGtFQUFrRTtJQUMvRixnQkFBZ0IsRUFBRSxHQUFHLFFBQVEsa0VBQWtFO0lBQy9GLDBCQUEwQixFQUFFLEdBQUcsUUFBUSw2RUFBNkU7SUFDcEgsaUJBQWlCLEVBQUUsR0FBRyxRQUFRLDREQUE0RDtJQUMxRix3QkFBd0IsRUFBRSxHQUFHLFFBQVEsMEVBQTBFO0lBQy9HLHdCQUF3QixFQUFFLEdBQUcsUUFBUSwwRUFBMEU7SUFDL0csb0JBQW9CLEVBQUUsR0FBRyxRQUFRLCtEQUErRDtJQUNoRyxXQUFXLEVBQUUsR0FBRyxRQUFRLDREQUE0RDtJQUNwRixrQkFBa0IsRUFBRSxHQUFHLFFBQVEsa0VBQWtFO0lBQ2pHLGNBQWMsRUFBRSxHQUFHLFFBQVEsOERBQThEO0lBQ3pGLGNBQWMsRUFBRSxHQUFHLFFBQVEsOERBQThEO0lBQ3pGLFVBQVUsRUFBRSxHQUFHLFFBQVEsMERBQTBEO0lBQ2pGLGtCQUFrQixFQUFFLEdBQUcsUUFBUSx5Q0FBeUM7SUFDeEUsMEJBQTBCLEVBQUUsR0FBRyxRQUFRLDBFQUEwRTtDQUNsSCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQkFTRV9VUkwgPSAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tJztcclxuXHJcbmV4cG9ydCBjb25zdCBBU1NFVFMgPSB7XHJcbiAgZGFzaEJvYXJkSWNvbjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3doYXQuc3ZnYCxcclxuICBkYXNoQm9hcmRVc2Vyc0ljb246IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy93aG8uc3ZnYCxcclxuICBkYXNoQm9hcmRSY0ljb246IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXNwb25zaWJpbGl0eS1jZW50ZXIuc3ZnYCxcclxuICBkYXNoQm9hcmRQcm9ncmFtSWNvbjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NhdGVnb3J5LnN2Z2AsXHJcbiAgZGFzaEJvYXJkUmlza0ljb246IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9jYXRlZ29yeS5zdmdgLFxyXG4gIGRhc2hCb2FyZFRpbWVGcmFtZUljb246IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy93aGVuLnN2Z2AsXHJcbiAgZGFzaEJvYXJkRW1haWxTdW1tYXJpZXNJY29uOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VuZC1yZXNvbHV0aW9uLnN2Z2AsXHJcbiAgY29uZmlndXJlX3dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvY29uZmlndXJlLXdpZGdldC5zdmdgLFxyXG4gIG92ZXJ2aWV3V2lkZ2V0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9vdmVydmlldy5wbmdgLFxyXG4gIHJlc3BvbnNpYmlsaXR5Q2FsZW5kZXJXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jlc3BvbnNpYmlsaXR5LWNhbGVuZGVyLnBuZ2AsXHJcbiAgcmVzcG9uc2liaWxpdHlDZW50ZXJPdmVydmlld1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmVzcG9uc2liaWxpdHktY2VudGVyLW92ZXJ2aWV3LnBuZ2AsXHJcbiAgbXlSZXNwb25zaWJpbGl0aWVzV2lkZ2V0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9teS1yZXNwb25zaWJpbGl0aWVzLnBuZ2AsXHJcbiAga2V5UmVzcG9uc2liaWxpdGllc1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMva2V5LXJlc3BvbnNpYmlsaXRpZXMucG5nYCxcclxuICB0cmVuZEFuYWx5c2lzV2lkZ2V0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy90cmVuZC1hbmFseXNpcy5wbmdgLFxyXG4gIHdvcmtyb29tVXBkYXRlc1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvd29ya3Jvb20tdXBkYXRlcy5wbmdgLFxyXG4gIHJlY2VudEFjdGl2aXRpZXNXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3JlY2VudC1hY3Rpdml0aWVzLnBuZ2AsXHJcbiAgZXhjZXB0aW9uU3VtbWFyeVdpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvZXhjZXB0aW9uLXN1bW1hcnkucG5nYCxcclxuICByaXNrT3ZlcnZpZXdXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2tWMi9yaXNrLW92ZXJ2aWV3LnBuZ2AsXHJcbiAgYXBwZXRpdGVUb2xlcmFuY2VXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2tWMi9hcHBldGl0ZS10b2xlcmFuY2UucG5nYCxcclxuICBpbmhlcmVudFJDV2lkZ2V0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yaXNrVjIvaW5oZXJlbnQtUkMucG5nYCxcclxuICByZXNpZHVhbFJDV2lkZ2V0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yaXNrVjIvcmVzaWR1YWwtUkMucG5nYCxcclxuICByaXNrQ2F0ZWdvcnlPdmVydmlld1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlza1YyL3Jpc2stY2F0ZWdvcnktb3ZlcnZpZXcucG5nYCxcclxuICByaXNrSGVhdG1hcFdpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlzay1oZWF0bWFwLnBuZ2AsXHJcbiAgaW5oZXJlbnRDYXRlZ29yaWVzV2lkZ2V0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yaXNrVjIvaW5oZXJlbnQtY2F0ZWdvcmllcy5wbmdgLFxyXG4gIHJlc2lkdWFsQ2F0ZWdvcmllc1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlza1YyL3Jlc2lkdWFsLWNhdGVnb3JpZXMucG5nYCxcclxuICB0ZW5SaXNrUmF0aW5nc1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvMTAtcmlzay1yYXRpbmdzLnBuZ2AsXHJcbiAgc2VhcmNoX2RhdGE6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmdgLFxyXG4gIGFwcGV0aXRlX3RvbGVyYW5jZTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvYXBwZXRpdGUtdG9sZXJhbmNlLnBuZ2AsXHJcbiAgaW5oZXJlbnRfdHJlbmQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2luaGVyZW50LXRyZW5kLnBuZ2AsXHJcbiAgcmVzaWR1YWxfdHJlbmQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jlc2lkdWFsLXRyZW5kLnBuZ2AsXHJcbiAgcmlza190cmVuZDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlzay10cmVuZC5wbmdgLFxyXG4gIHBvbGljeUFwcHJvdmVyVmlldzogYCR7QkFTRV9VUkx9L3BvbGljeS9pbWFnZXMvcG9saWN5LWFwcHJvdmVyLXZpZXcuc3ZnYCxcclxuICByZXNwb25zaWJpbGl0aWVzQnlBc3NpZ25lZTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmVzcG9uc2liaWxpdGllc0J5QXNzaWduZWUucG5nYCxcclxufVxyXG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRhc2hib2FyZC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvY3JlYXRlLWRhc2hib2FyZC1jb250YWluZXIvY3JlYXRlLWRhc2hib2FyZC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRGFzaGJvYXJkRm9ybSB7XHJcbiAgICBkYXNoYm9hcmROYW1lOiBzdHJpbmcsXHJcbiAgICBkYXNoYm9hcmREZXNjcmlwdGlvblRleHQ6IHN0cmluZyxcclxuICAgIHNlbGVjdGVkVmlld2VyczogYW55W10sXHJcbiAgICBzZWxlY3RlZEdyb3VwOmFueVtdLFxyXG4gICAgc2VsZWN0ZWRGcm9tRGF0ZTogYW55LFxyXG4gICAgc2VsZWN0ZWRUb0RhdGU6IGFueSxcclxuICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzOiBhbnlbXSxcclxuICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlDYXRlZ29yaWVzOiBhbnlbXSxcclxuICAgIHNlbGVjdGVkUmlza0NhdGVnb3JpZXM6IGFueVtdLFxyXG4gICAgXHJcblxyXG4gICAgZGlzcGxheUNyaXRlcmlhOnN0cmluZyxcclxuICAgIGNvbmZpZ3VyZVdpZGdldDogYW55W10sXHJcblxyXG5cclxuICAgIGZyZXF1ZW5jeURldGFpbHM6c3RyaW5nLFxyXG4gICAgc2VsZWN0ZWRGcmVxdWVuY3lUeXBlOiBzdHJpbmcsXHJcbiAgICBzZWxlY3RlZEZyZXF1ZW5jaWVzOiBhbnksXHJcbiAgICBmcmVxdWVuY3lNZXNzYWdlOnN0cmluZ1xyXG4gICAgZnJlcXVlbmN5RGF0ZTphbnlcclxuXHJcbiAgfVxyXG4gICJdfQ==
|