@ieeesa-npm/groups 0.1.6 → 0.1.8
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/esm2022/lib/assets/constants.json +11 -0
- package/esm2022/lib/components/create-group/create-group.component.mjs +245 -143
- package/esm2022/lib/components/tree-view/tree-view.component.mjs +49 -40
- package/esm2022/lib/groups.component.mjs +97 -83
- package/esm2022/lib/models/edit-group.model.mjs +2 -0
- package/esm2022/lib/models/form-status.model.mjs +7 -0
- package/esm2022/lib/models/group-info.model.mjs +1 -1
- package/esm2022/lib/services/groups.service.mjs +53 -12
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/ieeesa-npm-groups.mjs +454 -270
- package/fesm2022/ieeesa-npm-groups.mjs.map +1 -1
- package/lib/components/create-group/create-group.component.d.ts +51 -13
- package/lib/components/tree-view/tree-view.component.d.ts +4 -3
- package/lib/groups.component.d.ts +32 -61
- package/lib/models/edit-group.model.d.ts +14 -0
- package/lib/models/form-status.model.d.ts +4 -0
- package/lib/models/group-info.model.d.ts +2 -0
- package/lib/services/groups.service.d.ts +41 -18
- package/package.json +4 -4
- package/public-api.d.ts +3 -0
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { Component, EventEmitter, Output, ViewEncapsulation, } from
|
|
2
|
-
import { CommonModule } from
|
|
3
|
-
import { Validators } from
|
|
4
|
-
import { DynamicFormComponent, FormControlType, AlignType, } from
|
|
5
|
-
import { AlertsService, AlertType, } from
|
|
6
|
-
import * as screenTexts from
|
|
7
|
-
import { GroupsValidationPatterns } from
|
|
8
|
-
import { HttpErrorResponse } from
|
|
9
|
-
import { MatDialogModule } from
|
|
10
|
-
import { Subject, takeUntil } from
|
|
1
|
+
import { Component, EventEmitter, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { Validators } from '@angular/forms';
|
|
4
|
+
import { DynamicFormComponent, FormControlType, AlignType, } from '@ieeesa-npm/presentation';
|
|
5
|
+
import { AlertsService, AlertType, } from '@ieeesa-npm/utility';
|
|
6
|
+
import * as screenTexts from '../../assets/constants.json';
|
|
7
|
+
import { GroupsValidationPatterns } from '../../assets/form-validations';
|
|
8
|
+
import { HttpErrorResponse } from '@angular/common/http';
|
|
9
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
10
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
11
|
+
import { FormStatus } from '../../models/form-status.model';
|
|
12
|
+
import { GroupFunctionType } from '../../models/group-function-type.model';
|
|
11
13
|
import * as i0 from "@angular/core";
|
|
12
14
|
import * as i1 from "../../services/groups.service";
|
|
13
15
|
import * as i2 from "@ieeesa-npm/utility";
|
|
@@ -43,6 +45,8 @@ export class CreateGroupComponent {
|
|
|
43
45
|
*/
|
|
44
46
|
this.formCancel = new EventEmitter();
|
|
45
47
|
this.createGroupText = screenTexts?.createGroup;
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
49
|
+
this.constants = screenTexts;
|
|
46
50
|
this.leftButtonLabel = this.createGroupText?.label?.leftButtonLabel;
|
|
47
51
|
this.rightButtonLabel = this.createGroupText?.label?.rightButtonLabel;
|
|
48
52
|
this.isLegendVisible = false;
|
|
@@ -56,39 +60,89 @@ export class CreateGroupComponent {
|
|
|
56
60
|
* @memberof CreateGroupComponent
|
|
57
61
|
*/
|
|
58
62
|
ngOnInit() {
|
|
59
|
-
this.groupsService
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
63
|
+
this.groupFunctionType = this.groupsService?.getGroupFunctionType();
|
|
64
|
+
this.selectedGroupInfo = this.groupsService?.getSelectedGroupInfo();
|
|
65
|
+
if (this.groupFunctionType === GroupFunctionType.EDIT) {
|
|
66
|
+
this.selectedGroupParentInfo =
|
|
67
|
+
this.groupsService?.getSelectedGroupParentInfo();
|
|
68
|
+
this.createFormGroup();
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
this.groupsService
|
|
72
|
+
.getGroupTypes()
|
|
73
|
+
.pipe(takeUntil(this.destroy$))
|
|
74
|
+
.subscribe({
|
|
75
|
+
next: (res) => {
|
|
76
|
+
if (res?.status) {
|
|
77
|
+
const configFieldValue = res?.body?.configFieldValue;
|
|
78
|
+
if (this.selectedGroupInfo?.groupType) {
|
|
79
|
+
const allowedGroupType = configFieldValue[this.selectedGroupInfo?.groupType]
|
|
80
|
+
?.businessRule?.allowedGroupType;
|
|
81
|
+
if (allowedGroupType?.length) {
|
|
82
|
+
this.groupTypes = allowedGroupType.map((groupTypeId) => ({
|
|
83
|
+
id: groupTypeId,
|
|
84
|
+
name: configFieldValue[groupTypeId]?.name,
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
this.showAlertMessage(screenTexts?.errors?.ER1000, AlertType.ERROR);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
this.groupTypes = Object.entries(configFieldValue).map(([id, item]) => ({
|
|
93
|
+
id,
|
|
94
|
+
name: item?.name,
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
if (this.groupTypes?.length) {
|
|
98
|
+
this.createFormGroup();
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this.showAlertMessage(screenTexts?.errors?.['1010'], AlertType.ERROR);
|
|
102
|
+
}
|
|
73
103
|
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
104
|
+
},
|
|
105
|
+
error: (error) => {
|
|
106
|
+
this.handleErrors(error);
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Constructs and returns the group type form field based on edit group or not.
|
|
113
|
+
* @return {FieldConfig} -group type form field.
|
|
114
|
+
* @memberof CreateGroupComponent
|
|
115
|
+
*/
|
|
116
|
+
getGroupTypeField() {
|
|
117
|
+
let groupTypeField;
|
|
118
|
+
if (this.groupFunctionType === GroupFunctionType.EDIT) {
|
|
119
|
+
groupTypeField = {
|
|
120
|
+
type: FormControlType?.TEXT_AREA,
|
|
121
|
+
label: this.createGroupText?.label?.groupType,
|
|
122
|
+
controlName: 'groupType',
|
|
123
|
+
isReadonly: true,
|
|
124
|
+
ariaMultiline: false,
|
|
125
|
+
value: this.selectedGroupInfo?.groupTypeInfo?.name,
|
|
126
|
+
ariaLabel: this.constants?.editGroup?.ariaLabel?.groupType,
|
|
127
|
+
isResize: true,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
groupTypeField = {
|
|
132
|
+
type: FormControlType?.SELECT,
|
|
133
|
+
label: this.createGroupText?.label?.groupType + '*',
|
|
134
|
+
controlName: 'groupType',
|
|
135
|
+
requiredErrorMessage: this.createGroupText?.message?.error?.required,
|
|
136
|
+
value: '',
|
|
137
|
+
validation: [Validators.required],
|
|
138
|
+
dropdownOptions: this.groupTypes,
|
|
139
|
+
supportMessage: this.createGroupText?.supportText?.groupType,
|
|
140
|
+
ariaLabel: this.createGroupText?.label?.ariaLabel?.groupType,
|
|
141
|
+
placeholder: '',
|
|
142
|
+
ariaDescribedById: this.createGroupText?.label?.ariaDescribedById?.groupType,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
return groupTypeField;
|
|
92
146
|
}
|
|
93
147
|
/**
|
|
94
148
|
* Initialize the create group form group array.
|
|
@@ -98,159 +152,192 @@ export class CreateGroupComponent {
|
|
|
98
152
|
this.formGroup = {
|
|
99
153
|
formGroup: [
|
|
100
154
|
{
|
|
101
|
-
legend:
|
|
155
|
+
legend: '',
|
|
102
156
|
controls: [
|
|
157
|
+
this.getGroupTypeField(),
|
|
103
158
|
{
|
|
104
|
-
type: FormControlType
|
|
105
|
-
label: this.createGroupText?.label?.
|
|
106
|
-
controlName:
|
|
107
|
-
requiredErrorMessage: this.createGroupText?.message?.error
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
supportMessage: this.createGroupText?.supportText?.groupType,
|
|
113
|
-
ariaLabel: this.createGroupText?.label?.ariaLabel?.groupType,
|
|
114
|
-
placeholder: "",
|
|
115
|
-
ariaDescribedById: this.createGroupText?.label?.ariaDescribedById
|
|
116
|
-
?.groupType,
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
type: FormControlType.INPUT,
|
|
120
|
-
label: this.createGroupText?.label?.groupName + "*",
|
|
121
|
-
controlName: "groupName",
|
|
122
|
-
requiredErrorMessage: this.createGroupText?.message?.error
|
|
123
|
-
?.required,
|
|
124
|
-
value: "",
|
|
125
|
-
placeholder: "",
|
|
159
|
+
type: FormControlType?.INPUT,
|
|
160
|
+
label: this.createGroupText?.label?.groupName + '*',
|
|
161
|
+
controlName: 'groupName',
|
|
162
|
+
requiredErrorMessage: this.createGroupText?.message?.error?.required,
|
|
163
|
+
value: this.groupFunctionType === GroupFunctionType.EDIT
|
|
164
|
+
? this.selectedGroupInfo?.groupName
|
|
165
|
+
: '',
|
|
166
|
+
placeholder: '',
|
|
126
167
|
supportMessage: this.createGroupText?.supportText?.groupName,
|
|
127
|
-
patternErrorMessage: this.createGroupText?.message?.error?.pattern
|
|
128
|
-
?.groupName,
|
|
168
|
+
patternErrorMessage: this.createGroupText?.message?.error?.pattern?.groupName,
|
|
129
169
|
validation: [
|
|
130
170
|
Validators.required,
|
|
131
171
|
Validators.maxLength(screenTexts?.createGroup?.characterLimit?.character500),
|
|
132
|
-
Validators.pattern(GroupsValidationPatterns
|
|
172
|
+
Validators.pattern(GroupsValidationPatterns?.groupName),
|
|
133
173
|
],
|
|
134
|
-
maxErrorMessage: this.createGroupText?.message?.error?.limit
|
|
135
|
-
?.groupName,
|
|
174
|
+
maxErrorMessage: this.createGroupText?.message?.error?.limit?.groupName,
|
|
136
175
|
ariaLabel: this.createGroupText?.label?.ariaLabel?.groupName,
|
|
137
|
-
ariaDescribedById: this.createGroupText?.label?.ariaDescribedById
|
|
138
|
-
?.groupName,
|
|
176
|
+
ariaDescribedById: this.createGroupText?.label?.ariaDescribedById?.groupName,
|
|
139
177
|
},
|
|
140
178
|
{
|
|
141
|
-
type: FormControlType
|
|
142
|
-
label: this.createGroupText?.label?.shortName +
|
|
143
|
-
controlName:
|
|
144
|
-
requiredErrorMessage: this.createGroupText?.message?.error
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
placeholder:
|
|
179
|
+
type: FormControlType?.INPUT,
|
|
180
|
+
label: this.createGroupText?.label?.shortName + '*',
|
|
181
|
+
controlName: 'shortName',
|
|
182
|
+
requiredErrorMessage: this.createGroupText?.message?.error?.required,
|
|
183
|
+
value: this.groupFunctionType === GroupFunctionType.EDIT
|
|
184
|
+
? this.selectedGroupInfo?.groupShortName
|
|
185
|
+
: '',
|
|
186
|
+
patternErrorMessage: this.createGroupText?.message?.error?.pattern?.shortName,
|
|
187
|
+
placeholder: '',
|
|
150
188
|
supportMessage: this.createGroupText?.supportText?.shortName,
|
|
151
189
|
validation: [
|
|
152
190
|
Validators.required,
|
|
153
191
|
Validators.maxLength(screenTexts?.createGroup?.characterLimit?.character15),
|
|
154
|
-
Validators.pattern(GroupsValidationPatterns
|
|
192
|
+
Validators.pattern(GroupsValidationPatterns?.shortName),
|
|
155
193
|
],
|
|
156
|
-
maxErrorMessage: this.createGroupText?.message?.error?.limit
|
|
157
|
-
?.shortName,
|
|
194
|
+
maxErrorMessage: this.createGroupText?.message?.error?.limit?.shortName,
|
|
158
195
|
ariaLabel: this.createGroupText?.label?.ariaLabel?.shortName,
|
|
159
|
-
ariaDescribedById: this.createGroupText?.label?.ariaDescribedById
|
|
160
|
-
?.shortName,
|
|
196
|
+
ariaDescribedById: this.createGroupText?.label?.ariaDescribedById?.shortName,
|
|
161
197
|
},
|
|
162
198
|
{
|
|
163
199
|
type: FormControlType.TEXT_AREA,
|
|
164
200
|
label: this.createGroupText?.label?.groupScope,
|
|
165
|
-
controlName:
|
|
166
|
-
patternErrorMessage: this.createGroupText?.message?.error?.pattern
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
201
|
+
controlName: 'groupScope',
|
|
202
|
+
patternErrorMessage: this.createGroupText?.message?.error?.pattern?.groupScope,
|
|
203
|
+
value: this.groupFunctionType === GroupFunctionType.EDIT
|
|
204
|
+
? this.selectedGroupInfo?.groupDesc
|
|
205
|
+
: '',
|
|
206
|
+
placeholder: '',
|
|
170
207
|
supportMessage: this.createGroupText?.supportText?.groupScope,
|
|
171
208
|
isResize: true,
|
|
172
209
|
maxLength: screenTexts?.createGroup?.characterLimit?.character2000,
|
|
173
210
|
validation: [
|
|
174
211
|
Validators.maxLength(screenTexts?.createGroup?.characterLimit?.character1500),
|
|
175
|
-
Validators.pattern(GroupsValidationPatterns
|
|
212
|
+
Validators.pattern(GroupsValidationPatterns?.groupScope),
|
|
176
213
|
],
|
|
177
|
-
maxErrorMessage: this.createGroupText?.message?.error?.limit
|
|
178
|
-
?.groupScope,
|
|
214
|
+
maxErrorMessage: this.createGroupText?.message?.error?.limit?.groupScope,
|
|
179
215
|
ariaLabel: this.createGroupText?.label?.ariaLabel?.groupScope,
|
|
180
|
-
ariaDescribedById: this.createGroupText?.label?.ariaDescribedById
|
|
181
|
-
?.groupScope,
|
|
216
|
+
ariaDescribedById: this.createGroupText?.label?.ariaDescribedById?.groupScope,
|
|
182
217
|
},
|
|
183
218
|
],
|
|
184
219
|
},
|
|
185
220
|
],
|
|
186
221
|
};
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
this.updateCreateFormGroup(this.selectedParentGroupInfo);
|
|
222
|
+
if (this.selectedGroupInfo?.groupId) {
|
|
223
|
+
this.updateCreateFormGroup(this.selectedGroupInfo);
|
|
190
224
|
}
|
|
191
225
|
}
|
|
192
226
|
/**
|
|
193
227
|
* Update the create sub group form group array.
|
|
194
228
|
* @param {GroupInfo} parentGroupInfo -Parent group info.
|
|
229
|
+
* @return -returns nothing
|
|
195
230
|
* @memberof CreateGroupComponent
|
|
196
231
|
*/
|
|
197
232
|
updateCreateFormGroup(parentGroupInfo) {
|
|
198
233
|
const parentGroup = {
|
|
199
|
-
type: FormControlType
|
|
234
|
+
type: FormControlType?.TEXT_AREA,
|
|
200
235
|
label: this.createGroupText?.label?.parentGroup,
|
|
201
|
-
controlName:
|
|
236
|
+
controlName: 'parentGroup',
|
|
202
237
|
isReadonly: true,
|
|
203
238
|
ariaMultiline: false,
|
|
204
|
-
value:
|
|
239
|
+
value: this.groupFunctionType === GroupFunctionType.EDIT
|
|
240
|
+
? this.selectedGroupParentInfo?.groupName
|
|
241
|
+
: parentGroupInfo?.groupName,
|
|
205
242
|
ariaLabel: this.createGroupText?.label?.ariaLabel?.parentGroup,
|
|
206
243
|
isResize: true,
|
|
207
244
|
};
|
|
208
|
-
|
|
245
|
+
if (parentGroup?.value) {
|
|
246
|
+
this.formGroup?.formGroup[0]?.controls?.unshift(parentGroup);
|
|
247
|
+
}
|
|
209
248
|
}
|
|
210
249
|
/**
|
|
211
|
-
* Handles client side validation and
|
|
250
|
+
* Handles client side validation and calls create group or edit group methods.
|
|
212
251
|
* @param {FormGroup[]} form -Array of formGroup
|
|
213
252
|
* @return -returns nothing
|
|
214
253
|
* @memberof CreateGroupComponent
|
|
215
254
|
*/
|
|
216
255
|
onFormSubmit(form) {
|
|
217
256
|
form[0]?.markAllAsTouched();
|
|
218
|
-
if (form[0].status ===
|
|
219
|
-
const
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
257
|
+
if (form[0].status === FormStatus.VALID) {
|
|
258
|
+
const formData = form[0]?.getRawValue();
|
|
259
|
+
// eslint-disable-next-line no-unused-expressions
|
|
260
|
+
this.groupFunctionType === GroupFunctionType.EDIT
|
|
261
|
+
? this.editGroup(formData)
|
|
262
|
+
: this.createGroup(formData);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Constructs create group payload and calls create group API and emits create group API response.
|
|
267
|
+
* @param formData
|
|
268
|
+
* @return -returns nothing
|
|
269
|
+
* @memberof CreateGroupComponent
|
|
270
|
+
*/
|
|
271
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
272
|
+
createGroup(formData) {
|
|
273
|
+
const createGroupPayload = {
|
|
274
|
+
payload: {
|
|
275
|
+
groupName: formData?.groupName,
|
|
276
|
+
groupShortName: formData?.shortName,
|
|
277
|
+
groupType: formData?.groupType?.id,
|
|
278
|
+
groupDesc: formData?.groupScope,
|
|
279
|
+
groupParentId: this.selectedGroupInfo?.groupId ?? null,
|
|
280
|
+
},
|
|
281
|
+
};
|
|
282
|
+
this.groupsService
|
|
283
|
+
.createGroup(createGroupPayload)
|
|
284
|
+
.pipe(takeUntil(this.destroy$))
|
|
285
|
+
.subscribe({
|
|
286
|
+
next: (res) => {
|
|
287
|
+
if (res?.status) {
|
|
288
|
+
this.submitFormResponse?.emit(res);
|
|
227
289
|
}
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
.
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
290
|
+
},
|
|
291
|
+
error: (error) => {
|
|
292
|
+
this.handleErrors(error);
|
|
293
|
+
},
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Constructs edit group payload and calls edit group API and emits create group API response.
|
|
298
|
+
* @param {*} formData
|
|
299
|
+
* @return -returns nothing
|
|
300
|
+
* @memberof CreateGroupComponent
|
|
301
|
+
*/
|
|
302
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
303
|
+
editGroup(formData) {
|
|
304
|
+
const editGroupPayload = {
|
|
305
|
+
payload: {
|
|
306
|
+
groupName: formData?.groupName,
|
|
307
|
+
groupShortName: formData?.shortName,
|
|
308
|
+
groupDesc: formData?.groupScope,
|
|
309
|
+
groupParentId: this.selectedGroupInfo?.groupParentId ?? null,
|
|
310
|
+
groupId: this.selectedGroupInfo?.groupId,
|
|
311
|
+
},
|
|
312
|
+
};
|
|
313
|
+
this.groupsService
|
|
314
|
+
.editGroup(editGroupPayload)
|
|
315
|
+
.pipe(takeUntil(this.destroy$))
|
|
316
|
+
.subscribe({
|
|
317
|
+
next: (res) => {
|
|
318
|
+
if (res?.status) {
|
|
319
|
+
this.submitFormResponse?.emit(res);
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
error: (error) => {
|
|
323
|
+
this.handleErrors(error);
|
|
324
|
+
},
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Captures the server side errors and handles the errors based on the custom or Http errors.
|
|
329
|
+
* @param {HttpErrorResponse} error
|
|
330
|
+
* @return -returns nothing
|
|
331
|
+
* @memberof CreateGroupComponent
|
|
332
|
+
*/
|
|
333
|
+
handleErrors(error) {
|
|
334
|
+
const errorCodes = error?.error?.body?.errorCodes;
|
|
335
|
+
if (Array.isArray(errorCodes)) {
|
|
336
|
+
const errorMessage = this.groupsService?.parseErrorMessage(errorCodes);
|
|
337
|
+
this.showAlertMessage(errorMessage, AlertType.ERROR);
|
|
338
|
+
}
|
|
339
|
+
else if (error && error instanceof HttpErrorResponse) {
|
|
340
|
+
this.globalErrorHandlerService?.handleError(error);
|
|
254
341
|
}
|
|
255
342
|
}
|
|
256
343
|
/**
|
|
@@ -261,13 +348,28 @@ export class CreateGroupComponent {
|
|
|
261
348
|
getFormGroupReference(form) {
|
|
262
349
|
this.form = form[0];
|
|
263
350
|
}
|
|
351
|
+
/**
|
|
352
|
+
* Handles alerts for error, warning.
|
|
353
|
+
* @param {(string | string[])} message -error or warning message
|
|
354
|
+
* @param {AlertType} alertType
|
|
355
|
+
* @return -returns nothing
|
|
356
|
+
* @memberof CreateGroupComponent
|
|
357
|
+
*/
|
|
358
|
+
showAlertMessage(message, alertType) {
|
|
359
|
+
this.alertService?.showMessage({
|
|
360
|
+
status: 'custom',
|
|
361
|
+
message: message,
|
|
362
|
+
alertType: alertType,
|
|
363
|
+
isCloseNeeded: true,
|
|
364
|
+
});
|
|
365
|
+
}
|
|
264
366
|
/**
|
|
265
367
|
* Emits form cancel event.
|
|
266
368
|
* @return -returns nothing
|
|
267
369
|
* @memberof CreateGroupComponent
|
|
268
370
|
*/
|
|
269
371
|
createGroupCancelled() {
|
|
270
|
-
this.formCancel
|
|
372
|
+
this.formCancel?.emit();
|
|
271
373
|
}
|
|
272
374
|
/**
|
|
273
375
|
* NgOnDestroy performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.
|
|
@@ -278,14 +380,14 @@ export class CreateGroupComponent {
|
|
|
278
380
|
this.destroy$.unsubscribe();
|
|
279
381
|
}
|
|
280
382
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CreateGroupComponent, deps: [{ token: i1.GroupsService }, { token: i2.GlobalErrorHandlerService }, { token: i2.AlertsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
281
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: CreateGroupComponent, isStandalone: true, selector: "ieeesa-create-group", outputs: { submitFormResponse: "submitFormResponse", formCancel: "formCancel" }, providers: [AlertsService], ngImport: i0, template: "<ieeesa-dynamic-form\r\n *ngIf=\"formGroup\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"isLegendVisible\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"formGroup\"\r\n [isLeftButtonNeeded]=\"isLeftButtonNeeded\"\r\n (formSubmit)=\"onFormSubmit($event)\"\r\n (formLeftButtonClicked)=\"createGroupCancelled()\"\r\n (formGroupsReference)=\"getFormGroupReference($event)\"\r\n></ieeesa-dynamic-form>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field{margin-bottom:.4em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay{background:#ffffff;padding:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay .mat-mdc-form-field-infix{min-height:2.375em;padding-top:.0625em;padding-bottom:.375em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:after{border:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:1.5em;padding:3em 1em .75em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-form-field{display:flex}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-text-field-wrapper{padding:.5em 1em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__support-text,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__support-text{color:#49454f}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:40%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field{display:flex;width:43%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-form-error--text{padding:.25em 1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicFormComponent, selector: "ieeesa-dynamic-form", inputs: ["formGroups", "submitResponse", "searchResponse", "colWidth", "isLegendVisible", "rightButtonLabel", "leftButtonLabel", "isSubmitButtonDisabled", "isLeftButtonDisabled", "isLeftButtonNeeded", "actionButtonAlign"], outputs: ["formSubmit", "formChange", "formInput", "formLeftButtonClicked", "formSearchApply", "formGroupsReference", "dropdownChange", "formDateSelected", "formSelectSearch", "formControlChange", "formAutoCompleteSearch", "autoCompleteOptionSelected", "formAfterContentInit", "formSelectedDateRange"], exportAs: ["dynamicForm"] }, { kind: "ngmodule", type: MatDialogModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
383
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: CreateGroupComponent, isStandalone: true, selector: "ieeesa-create-group", outputs: { submitFormResponse: "submitFormResponse", formCancel: "formCancel" }, providers: [AlertsService], ngImport: i0, template: "<ieeesa-dynamic-form\r\n *ngIf=\"formGroup\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"isLegendVisible\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"formGroup\"\r\n [isLeftButtonNeeded]=\"isLeftButtonNeeded\"\r\n (formSubmit)=\"onFormSubmit($event)\"\r\n (formLeftButtonClicked)=\"createGroupCancelled()\"\r\n (formGroupsReference)=\"getFormGroupReference($event)\"\r\n></ieeesa-dynamic-form>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field{margin-bottom:.8em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper{height:1.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay{background:#ffffff;padding:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay .mat-mdc-form-field-infix{min-height:2.375em;padding-top:.0625em;padding-bottom:.375em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:after,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:after{border:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:1.5em;padding:3em 1em .75em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-form-field{display:flex}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-text-field-wrapper{padding:.5em 1em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__support-text,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__support-text{color:#49454f}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:40%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field{display:flex;width:43%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-form-error--text{padding:.25em 1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicFormComponent, selector: "ieeesa-dynamic-form", inputs: ["formGroups", "submitResponse", "searchResponse", "colWidth", "isLegendVisible", "rightButtonLabel", "leftButtonLabel", "isSubmitButtonDisabled", "isLeftButtonDisabled", "isLeftButtonNeeded", "actionButtonAlign"], outputs: ["formSubmit", "formChange", "formInput", "formLeftButtonClicked", "formSearchApply", "formGroupsReference", "dropdownChange", "formDateSelected", "formSelectSearch", "formControlChange", "formAutoCompleteSearch", "autoCompleteOptionSelected", "formAfterContentInit", "formSelectedDateRange"], exportAs: ["dynamicForm"] }, { kind: "ngmodule", type: MatDialogModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
282
384
|
}
|
|
283
385
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CreateGroupComponent, decorators: [{
|
|
284
386
|
type: Component,
|
|
285
|
-
args: [{ selector: "ieeesa-create-group", standalone: true, imports: [CommonModule, DynamicFormComponent, MatDialogModule], encapsulation: ViewEncapsulation.None, providers: [AlertsService], template: "<ieeesa-dynamic-form\r\n *ngIf=\"formGroup\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"isLegendVisible\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"formGroup\"\r\n [isLeftButtonNeeded]=\"isLeftButtonNeeded\"\r\n (formSubmit)=\"onFormSubmit($event)\"\r\n (formLeftButtonClicked)=\"createGroupCancelled()\"\r\n (formGroupsReference)=\"getFormGroupReference($event)\"\r\n></ieeesa-dynamic-form>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field{margin-bottom:.4em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay{background:#ffffff;padding:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay .mat-mdc-form-field-infix{min-height:2.375em;padding-top:.0625em;padding-bottom:.375em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:after{border:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:1.5em;padding:3em 1em .75em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-form-field{display:flex}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-text-field-wrapper{padding:.5em 1em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__support-text,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__support-text{color:#49454f}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:40%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field{display:flex;width:43%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-form-error--text{padding:.25em 1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:100%}}\n"] }]
|
|
387
|
+
args: [{ selector: 'ieeesa-create-group', standalone: true, imports: [CommonModule, DynamicFormComponent, MatDialogModule], encapsulation: ViewEncapsulation.None, providers: [AlertsService], template: "<ieeesa-dynamic-form\r\n *ngIf=\"formGroup\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"isLegendVisible\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"formGroup\"\r\n [isLeftButtonNeeded]=\"isLeftButtonNeeded\"\r\n (formSubmit)=\"onFormSubmit($event)\"\r\n (formLeftButtonClicked)=\"createGroupCancelled()\"\r\n (formGroupsReference)=\"getFormGroupReference($event)\"\r\n></ieeesa-dynamic-form>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field{margin-bottom:.8em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper{height:1.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay{background:#ffffff;padding:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay .mat-mdc-form-field-infix{min-height:2.375em;padding-top:.0625em;padding-bottom:.375em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .parent-group.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:after,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type.ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:after{border:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:1.5em;padding:3em 1em .75em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-form-field{display:flex}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-text-field-wrapper{padding:.5em 1em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__support-text,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__support-text{color:#49454f}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:40%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field{display:flex;width:43%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-form-error--text{padding:.25em 1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:100%}}\n"] }]
|
|
286
388
|
}], ctorParameters: function () { return [{ type: i1.GroupsService }, { type: i2.GlobalErrorHandlerService }, { type: i2.AlertsService }]; }, propDecorators: { submitFormResponse: [{
|
|
287
389
|
type: Output
|
|
288
390
|
}], formCancel: [{
|
|
289
391
|
type: Output
|
|
290
392
|
}] } });
|
|
291
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyb3Vwcy9zcmMvbGliL2NvbXBvbmVudHMvY3JlYXRlLWdyb3VwL2NyZWF0ZS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncm91cHMvc3JjL2xpYi9jb21wb25lbnRzL2NyZWF0ZS1ncm91cC9jcmVhdGUtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBR1osTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFJTCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLFNBQVMsR0FDVixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFDTCxhQUFhLEVBQ2IsU0FBUyxHQUVWLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUd6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBSTFDOzs7OztHQUtHO0FBV0gsTUFBTSxPQUFPLG9CQUFvQjtJQXVCL0IsNkRBQTZEO0lBQzdEO0lBQ0UsMENBQTBDO0lBQ2xDLGFBQTRCO0lBQ3BDLDBDQUEwQztJQUNsQyx5QkFBb0Q7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O2FBQ0YsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHFCQUFxQixDQUFDLElBQWlCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7OEdBbFJVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLG1KQUZwQixDQUFDLGFBQWEsQ0FBQywwQkMvQzVCLDBnQkFZdUIsNG1TRCtCWCxZQUFZLG1JQUFFLG9CQUFvQix3bUJBQUUsZUFBZTs7MkZBTWxELG9CQUFvQjtrQkFWaEMsU0FBUzsrQkFFRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGVBQWUsQ0FBQyxpQkFHL0MsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLGFBQWEsQ0FBQzt3S0FRaEIsa0JBQWtCO3NCQUEzQixNQUFNO2dCQUtHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtcclxuICBGb3JtR3JpZCxcclxuICBGb3JtTW9kZWwsXHJcbiAgU2VsZWN0T3B0aW9uLFxyXG4gIER5bmFtaWNGb3JtQ29tcG9uZW50LFxyXG4gIEZvcm1Db250cm9sVHlwZSxcclxuICBBbGlnblR5cGUsXHJcbn0gZnJvbSBcIkBpZWVlc2EtbnBtL3ByZXNlbnRhdGlvblwiO1xyXG5pbXBvcnQge1xyXG4gIEFsZXJ0c1NlcnZpY2UsXHJcbiAgQWxlcnRUeXBlLFxyXG4gIEdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2UsXHJcbn0gZnJvbSBcIkBpZWVlc2EtbnBtL3V0aWxpdHlcIjtcclxuaW1wb3J0ICogYXMgc2NyZWVuVGV4dHMgZnJvbSBcIi4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvblwiO1xyXG5pbXBvcnQgeyBHcm91cHNWYWxpZGF0aW9uUGF0dGVybnMgfSBmcm9tIFwiLi4vLi4vYXNzZXRzL2Zvcm0tdmFsaWRhdGlvbnNcIjtcclxuaW1wb3J0IHsgQ3JlYXRlR3JvdXBQYXlsb2FkIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jcmVhdGUtZ3JvdXAubW9kZWxcIjtcclxuaW1wb3J0IHsgR3JvdXBzU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9ncm91cHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEdyb3VwVHlwZSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZ3JvdXAtdHlwZXMubW9kZWxcIjtcclxuaW1wb3J0IHsgR3JvdXBJbmZvIH0gZnJvbSBcIi4uLy4uL21vZGVscy9ncm91cC1pbmZvLm1vZGVsXCI7XHJcblxyXG4vKipcclxuICogQ3JlYXRlR3JvdXBDb21wb25lbnQgdXNlcyBEeW5hbWljRm9ybUNvbXBvbmVudCB0byBidWlsZCBjcmVhdGUgbmV3IGdyb3VwIGZvcm0gYW5kIGltcGxlbWVudCB0aGUgZnVuY3Rpb25hbGl0aWVzIG9mIHN1Ym1pc3Npb24gb2YgZm9ybSBhbmQgaGFuZGxpbmcgc3VjY2VzcyBhbmQgZXJyb3Igc2NlbmFyaW9zLlxyXG4gKiBAY2xhc3MgQ3JlYXRlR3JvdXBDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICogQGltcGxlbWVudHMge09uRGVzdHJveX1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6IFwiaWVlZXNhLWNyZWF0ZS1ncm91cFwiLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHluYW1pY0Zvcm1Db21wb25lbnQsIE1hdERpYWxvZ01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9jcmVhdGUtZ3JvdXAuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vY3JlYXRlLWdyb3VwLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJvdmlkZXJzOiBbQWxlcnRzU2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBmb3JtIGlzIHN1Y2Nlc3NmdWxseSBzdWJtaXR0ZWQuXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZUdyb3VwQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHN1Ym1pdEZvcm1SZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGZvcm0gaXMgY2FuY2VsbGVkLlxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVHcm91cENvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBmb3JtQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGNyZWF0ZUdyb3VwVGV4dCA9IHNjcmVlblRleHRzPy5jcmVhdGVHcm91cDtcclxuICBsZWZ0QnV0dG9uTGFiZWwgPSB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LmxlZnRCdXR0b25MYWJlbDtcclxuICByaWdodEJ1dHRvbkxhYmVsID0gdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5yaWdodEJ1dHRvbkxhYmVsO1xyXG4gIGlzTGVnZW5kVmlzaWJsZSA9IGZhbHNlO1xyXG4gIGlzTGVmdEJ1dHRvbk5lZWRlZCA9IHRydWU7XHJcbiAgY29sV2lkdGg6IEZvcm1HcmlkID0geyB4czogMTIsIHhsOiAxMiwgc206IDEyLCBtZDogMTIsIGxnOiAxMiB9O1xyXG4gIGZvcm1Hcm91cCE6IEZvcm1Nb2RlbDtcclxuICBncm91cFR5cGVzITogU2VsZWN0T3B0aW9uW107XHJcbiAgYWN0aW9uQnV0dG9uQWxpZ24gPSBBbGlnblR5cGUuTEVGVDtcclxuICBmb3JtITogRm9ybUdyb3VwO1xyXG4gIHNlbGVjdGVkUGFyZW50R3JvdXBJbmZvITogR3JvdXBJbmZvIHwgdW5kZWZpbmVkO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFycywgbm8tZW1wdHktZnVuY3Rpb25cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBncm91cHNTZXJ2aWNlOiBHcm91cHNTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2U6IEdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBhbGVydFNlcnZpY2U6IEFsZXJ0c1NlcnZpY2UgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplIHRoZSBjcmVhdGUgZ3JvdXAgZm9ybSBncm91cCBhcnJheSBhbmQgY29tcG9uZW50LlxyXG4gICAqIEByZXR1cm4gLXJldHVybnMgbm90aGluZ1xyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVHcm91cENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5ncm91cHNTZXJ2aWNlXHJcbiAgICAgIC5nZXRHcm91cFR5cGVzKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzPy5zdGF0dXMpIHtcclxuICAgICAgICAgICAgdGhpcy5ncm91cFR5cGVzID0gT2JqZWN0LmVudHJpZXMocmVzLmJvZHkuY29uZmlnRmllbGRWYWx1ZSkubWFwKFxyXG4gICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgICAgICAgKFtpZCwgaXRlbV06IFtzdHJpbmcsIEdyb3VwVHlwZV0pID0+ICh7XHJcbiAgICAgICAgICAgICAgICBpZDogaWQsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZ3JvdXBUeXBlcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBlcnJvckNvZGVzOiBzdHJpbmdbXSA9IGVycm9yPy5lcnJvcj8uYm9keT8uZXJyb3JDb2RlcztcclxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGVycm9yQ29kZXMpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IHRoaXMuZ3JvdXBzU2VydmljZS5wYXJzZUVycm9yTWVzc2FnZShcclxuICAgICAgICAgICAgICBlcnJvckNvZGVzXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dNZXNzYWdlKHtcclxuICAgICAgICAgICAgICBzdGF0dXM6IFwiY3VzdG9tXCIsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JNZXNzYWdlLFxyXG4gICAgICAgICAgICAgIGFsZXJ0VHlwZTogQWxlcnRUeXBlLkVSUk9SLFxyXG4gICAgICAgICAgICAgIGlzQ2xvc2VOZWVkZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChlcnJvciAmJiBlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2xvYmFsRXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcihlcnJvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplIHRoZSBjcmVhdGUgZ3JvdXAgZm9ybSBncm91cCBhcnJheS5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlR3JvdXBDb21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVGb3JtR3JvdXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHtcclxuICAgICAgZm9ybUdyb3VwOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGVnZW5kOiBcIlwiLFxyXG4gICAgICAgICAgY29udHJvbHM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5TRUxFQ1QsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5sYWJlbD8uZ3JvdXBUeXBlICsgXCIqXCIsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6IFwiZ3JvdXBUeXBlXCIsXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5tZXNzYWdlPy5lcnJvclxyXG4gICAgICAgICAgICAgICAgPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICB2YWx1ZTogXCJcIixcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICAgICAgICAgZHJvcGRvd25PcHRpb25zOiB0aGlzLmdyb3VwVHlwZXMsXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5zdXBwb3J0VGV4dD8uZ3JvdXBUeXBlLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5hcmlhTGFiZWw/Lmdyb3VwVHlwZSxcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJcIixcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDogdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZFxyXG4gICAgICAgICAgICAgICAgPy5ncm91cFR5cGUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuSU5QVVQsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5sYWJlbD8uZ3JvdXBOYW1lICsgXCIqXCIsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6IFwiZ3JvdXBOYW1lXCIsXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5tZXNzYWdlPy5lcnJvclxyXG4gICAgICAgICAgICAgICAgPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICB2YWx1ZTogXCJcIixcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJcIixcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/LnN1cHBvcnRUZXh0Py5ncm91cE5hbWUsXHJcbiAgICAgICAgICAgICAgcGF0dGVybkVycm9yTWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/Lm1lc3NhZ2U/LmVycm9yPy5wYXR0ZXJuXHJcbiAgICAgICAgICAgICAgICA/Lmdyb3VwTmFtZSxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoXHJcbiAgICAgICAgICAgICAgICAgIHNjcmVlblRleHRzPy5jcmVhdGVHcm91cD8uY2hhcmFjdGVyTGltaXQ/LmNoYXJhY3RlcjUwMFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucGF0dGVybihHcm91cHNWYWxpZGF0aW9uUGF0dGVybnMuZ3JvdXBOYW1lKSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIG1heEVycm9yTWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/Lm1lc3NhZ2U/LmVycm9yPy5saW1pdFxyXG4gICAgICAgICAgICAgICAgPy5ncm91cE5hbWUsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LmFyaWFMYWJlbD8uZ3JvdXBOYW1lLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkXHJcbiAgICAgICAgICAgICAgICA/Lmdyb3VwTmFtZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5JTlBVVCxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5zaG9ydE5hbWUgKyBcIipcIixcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogXCJzaG9ydE5hbWVcIixcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/Lm1lc3NhZ2U/LmVycm9yXHJcbiAgICAgICAgICAgICAgICA/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiBcIlwiLFxyXG4gICAgICAgICAgICAgIHBhdHRlcm5FcnJvck1lc3NhZ2U6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5tZXNzYWdlPy5lcnJvcj8ucGF0dGVyblxyXG4gICAgICAgICAgICAgICAgPy5zaG9ydE5hbWUsXHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5zdXBwb3J0VGV4dD8uc2hvcnROYW1lLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aChcclxuICAgICAgICAgICAgICAgICAgc2NyZWVuVGV4dHM/LmNyZWF0ZUdyb3VwPy5jaGFyYWN0ZXJMaW1pdD8uY2hhcmFjdGVyMTVcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oR3JvdXBzVmFsaWRhdGlvblBhdHRlcm5zLnNob3J0TmFtZSksXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBtYXhFcnJvck1lc3NhZ2U6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5tZXNzYWdlPy5lcnJvcj8ubGltaXRcclxuICAgICAgICAgICAgICAgID8uc2hvcnROYW1lLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5hcmlhTGFiZWw/LnNob3J0TmFtZSxcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDogdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZFxyXG4gICAgICAgICAgICAgICAgPy5zaG9ydE5hbWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuVEVYVF9BUkVBLFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/Lmdyb3VwU2NvcGUsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6IFwiZ3JvdXBTY29wZVwiLFxyXG4gICAgICAgICAgICAgIHBhdHRlcm5FcnJvck1lc3NhZ2U6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5tZXNzYWdlPy5lcnJvcj8ucGF0dGVyblxyXG4gICAgICAgICAgICAgICAgPy5ncm91cFNjb3BlLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiBcIlwiLFxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIlwiLFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8uc3VwcG9ydFRleHQ/Lmdyb3VwU2NvcGUsXHJcbiAgICAgICAgICAgICAgaXNSZXNpemU6IHRydWUsXHJcbiAgICAgICAgICAgICAgbWF4TGVuZ3RoOlxyXG4gICAgICAgICAgICAgICAgc2NyZWVuVGV4dHM/LmNyZWF0ZUdyb3VwPy5jaGFyYWN0ZXJMaW1pdD8uY2hhcmFjdGVyMjAwMCxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aChcclxuICAgICAgICAgICAgICAgICAgc2NyZWVuVGV4dHM/LmNyZWF0ZUdyb3VwPy5jaGFyYWN0ZXJMaW1pdD8uY2hhcmFjdGVyMTUwMFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucGF0dGVybihHcm91cHNWYWxpZGF0aW9uUGF0dGVybnMuZ3JvdXBTY29wZSksXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBtYXhFcnJvck1lc3NhZ2U6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5tZXNzYWdlPy5lcnJvcj8ubGltaXRcclxuICAgICAgICAgICAgICAgID8uZ3JvdXBTY29wZSxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5sYWJlbD8uYXJpYUxhYmVsPy5ncm91cFNjb3BlLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkXHJcbiAgICAgICAgICAgICAgICA/Lmdyb3VwU2NvcGUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZWxlY3RlZFBhcmVudEdyb3VwSW5mbyA9IHRoaXMuZ3JvdXBzU2VydmljZS5nZXRTZWxlY3RlZEdyb3VwSW5mbygpO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRQYXJlbnRHcm91cEluZm8/Lmdyb3VwSWQpIHtcclxuICAgICAgdGhpcy51cGRhdGVDcmVhdGVGb3JtR3JvdXAodGhpcy5zZWxlY3RlZFBhcmVudEdyb3VwSW5mbyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgdGhlIGNyZWF0ZSBzdWIgZ3JvdXAgZm9ybSBncm91cCBhcnJheS5cclxuICAgKiBAcGFyYW0ge0dyb3VwSW5mb30gcGFyZW50R3JvdXBJbmZvIC1QYXJlbnQgZ3JvdXAgaW5mby5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlR3JvdXBDb21wb25lbnRcclxuICAgKi9cclxuICB1cGRhdGVDcmVhdGVGb3JtR3JvdXAocGFyZW50R3JvdXBJbmZvOiBHcm91cEluZm8pIHtcclxuICAgIGNvbnN0IHBhcmVudEdyb3VwID0ge1xyXG4gICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuVEVYVF9BUkVBLFxyXG4gICAgICBsYWJlbDogdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5wYXJlbnRHcm91cCxcclxuICAgICAgY29udHJvbE5hbWU6IFwicGFyZW50R3JvdXBcIixcclxuICAgICAgaXNSZWFkb25seTogdHJ1ZSxcclxuICAgICAgYXJpYU11bHRpbGluZTogZmFsc2UsXHJcbiAgICAgIHZhbHVlOiBwYXJlbnRHcm91cEluZm8/Lmdyb3VwTmFtZSxcclxuICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LmFyaWFMYWJlbD8ucGFyZW50R3JvdXAsXHJcbiAgICAgIGlzUmVzaXplOiB0cnVlLFxyXG4gICAgfTtcclxuICAgIHRoaXMuZm9ybUdyb3VwPy5mb3JtR3JvdXBbMF0/LmNvbnRyb2xzPy51bnNoaWZ0KHBhcmVudEdyb3VwKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBjbGllbnQgc2lkZSB2YWxpZGF0aW9uIGFuZCBlbWl0cyBjcmVhdGUgZ3JvdXAgaW5mb3JtYXRpb24uXHJcbiAgICogQHBhcmFtIHtGb3JtR3JvdXBbXX0gZm9ybSAtQXJyYXkgb2YgZm9ybUdyb3VwXHJcbiAgICogQHJldHVybiAtcmV0dXJucyBub3RoaW5nXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZUdyb3VwQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Gb3JtU3VibWl0KGZvcm06IEZvcm1Hcm91cFtdKTogdm9pZCB7XHJcbiAgICBmb3JtWzBdPy5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICBpZiAoZm9ybVswXS5zdGF0dXMgPT09IFwiVkFMSURcIikge1xyXG4gICAgICBjb25zdCBmb3JtUmVzcG9uc2UgPSBmb3JtWzBdLmdldFJhd1ZhbHVlKCk7XHJcbiAgICAgIGNvbnN0IGNyZWF0ZUdyb3VwUGF5bG9hZDogQ3JlYXRlR3JvdXBQYXlsb2FkID0ge1xyXG4gICAgICAgIHBheWxvYWQ6IHtcclxuICAgICAgICAgIGdyb3VwTmFtZTogZm9ybVJlc3BvbnNlPy5ncm91cE5hbWUsXHJcbiAgICAgICAgICBncm91cFNob3J0TmFtZTogZm9ybVJlc3BvbnNlPy5zaG9ydE5hbWUsXHJcbiAgICAgICAgICBncm91cFR5cGU6IGZvcm1SZXNwb25zZT8uZ3JvdXBUeXBlPy5pZCxcclxuICAgICAgICAgIGdyb3VwRGVzYzogZm9ybVJlc3BvbnNlPy5ncm91cFNjb3BlLFxyXG4gICAgICAgICAgZ3JvdXBQYXJlbnRJZDogdGhpcy5zZWxlY3RlZFBhcmVudEdyb3VwSW5mbz8uZ3JvdXBJZCA/PyBudWxsXHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmdyb3Vwc1NlcnZpY2VcclxuICAgICAgICAuY3JlYXRlR3JvdXAoY3JlYXRlR3JvdXBQYXlsb2FkKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXMpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcz8uc3RhdHVzKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdWJtaXRGb3JtUmVzcG9uc2UuZW1pdChyZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBlcnJvckNvZGVzOiBzdHJpbmdbXSA9IGVycm9yPy5lcnJvcj8uYm9keT8uZXJyb3JDb2RlcztcclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZXJyb3JDb2RlcykpIHtcclxuICAgICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2U6IHN0cmluZ1tdID0gdGhpcy5ncm91cHNTZXJ2aWNlLnBhcnNlRXJyb3JNZXNzYWdlKFxyXG4gICAgICAgICAgICAgICAgZXJyb3JDb2Rlc1xyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd01lc3NhZ2Uoe1xyXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBcImN1c3RvbVwiLFxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JNZXNzYWdlLFxyXG4gICAgICAgICAgICAgICAgYWxlcnRUeXBlOiBBbGVydFR5cGUuRVJST1IsXHJcbiAgICAgICAgICAgICAgICBpc0Nsb3NlTmVlZGVkOiB0cnVlLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVycm9yICYmIGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICB0aGlzLmdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGZvcm0gcmVmZXJlbmNlLlxyXG4gICAqIEBwYXJhbSB7Rm9ybUdyb3VwW119IGZvcm1cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlR3JvdXBDb21wb25lbnRcclxuICAgKi9cclxuICBnZXRGb3JtR3JvdXBSZWZlcmVuY2UoZm9ybTogRm9ybUdyb3VwW10pIHtcclxuICAgIHRoaXMuZm9ybSA9IGZvcm1bMF07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBmb3JtIGNhbmNlbCBldmVudC5cclxuICAgKiBAcmV0dXJuIC1yZXR1cm5zIG5vdGhpbmdcclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlR3JvdXBDb21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVHcm91cENhbmNlbGxlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNhbmNlbC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOZ09uRGVzdHJveSBwZXJmb3JtcyBuZWNlc3NhcnkgY2xlYW51cCB0YXNrcywgc3VjaCBhcyB1bnN1YnNjcmliaW5nIGZyb20gc3Vic2NyaXB0aW9uIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBiZWluZyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZUdyb3VwQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZWVlc2EtZHluYW1pYy1mb3JtXHJcbiAgKm5nSWY9XCJmb3JtR3JvdXBcIlxyXG4gIFtsZWZ0QnV0dG9uTGFiZWxdPVwibGVmdEJ1dHRvbkxhYmVsXCJcclxuICBbcmlnaHRCdXR0b25MYWJlbF09XCJyaWdodEJ1dHRvbkxhYmVsXCJcclxuICBbaXNMZWdlbmRWaXNpYmxlXT1cImlzTGVnZW5kVmlzaWJsZVwiXHJcbiAgW2NvbFdpZHRoXT1cImNvbFdpZHRoXCJcclxuICBbYWN0aW9uQnV0dG9uQWxpZ25dPVwiYWN0aW9uQnV0dG9uQWxpZ25cIlxyXG4gIFtmb3JtR3JvdXBzXT1cImZvcm1Hcm91cFwiXHJcbiAgW2lzTGVmdEJ1dHRvbk5lZWRlZF09XCJpc0xlZnRCdXR0b25OZWVkZWRcIlxyXG4gIChmb3JtU3VibWl0KT1cIm9uRm9ybVN1Ym1pdCgkZXZlbnQpXCJcclxuICAoZm9ybUxlZnRCdXR0b25DbGlja2VkKT1cImNyZWF0ZUdyb3VwQ2FuY2VsbGVkKClcIlxyXG4gIChmb3JtR3JvdXBzUmVmZXJlbmNlKT1cImdldEZvcm1Hcm91cFJlZmVyZW5jZSgkZXZlbnQpXCJcclxuPjwvaWVlZXNhLWR5bmFtaWMtZm9ybT4iXX0=
|
|
393
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyb3Vwcy9zcmMvbGliL2NvbXBvbmVudHMvY3JlYXRlLWdyb3VwL2NyZWF0ZS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncm91cHMvc3JjL2xpYi9jb21wb25lbnRzL2NyZWF0ZS1ncm91cC9jcmVhdGUtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBR1osTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFJTCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLFNBQVMsR0FFVixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFDTCxhQUFhLEVBQ2IsU0FBUyxHQUVWLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUd6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQUUzRTs7Ozs7R0FLRztBQVdI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SUFFRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QixDQUFDOzhHQWpaVSxvQkFBb0I7a0dBQXBCLG9CQUFvQixtSkFGcEIsQ0FBQyxhQUFhLENBQUMsMEJDbkQ1QiwwZ0JBWXVCLDZtVkRtQ1gsWUFBWSxtSUFBRSxvQkFBb0Isd21CQUFFLGVBQWU7OzJGQU1sRCxvQkFBb0I7a0JBVmhDLFNBQVM7K0JBRUUscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxlQUFlLENBQUMsaUJBRy9DLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxhQUFhLENBQUM7d0tBUWhCLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFLRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgRm9ybUdyaWQsXHJcbiAgRm9ybU1vZGVsLFxyXG4gIFNlbGVjdE9wdGlvbixcclxuICBEeW5hbWljRm9ybUNvbXBvbmVudCxcclxuICBGb3JtQ29udHJvbFR5cGUsXHJcbiAgQWxpZ25UeXBlLFxyXG4gIEZpZWxkQ29uZmlnLFxyXG59IGZyb20gJ0BpZWVlc2EtbnBtL3ByZXNlbnRhdGlvbic7XHJcbmltcG9ydCB7XHJcbiAgQWxlcnRzU2VydmljZSxcclxuICBBbGVydFR5cGUsXHJcbiAgR2xvYmFsRXJyb3JIYW5kbGVyU2VydmljZSxcclxufSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0ICogYXMgc2NyZWVuVGV4dHMgZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgR3JvdXBzVmFsaWRhdGlvblBhdHRlcm5zIH0gZnJvbSAnLi4vLi4vYXNzZXRzL2Zvcm0tdmFsaWRhdGlvbnMnO1xyXG5pbXBvcnQgeyBDcmVhdGVHcm91cFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbHMvY3JlYXRlLWdyb3VwLm1vZGVsJztcclxuaW1wb3J0IHsgR3JvdXBzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2dyb3Vwcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHcm91cFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JvdXAtdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBHcm91cEluZm8gfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JvdXAtaW5mby5tb2RlbCc7XHJcbmltcG9ydCB7IEVkaXRHcm91cFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZWRpdC1ncm91cC5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1TdGF0dXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1zdGF0dXMubW9kZWwnO1xyXG5pbXBvcnQgeyBHcm91cEZ1bmN0aW9uVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9ncm91cC1mdW5jdGlvbi10eXBlLm1vZGVsJztcclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVHcm91cENvbXBvbmVudCB1c2VzIER5bmFtaWNGb3JtQ29tcG9uZW50IHRvIGJ1aWxkIGNyZWF0ZSBuZXcgZ3JvdXAgZm9ybSBhbmQgaW1wbGVtZW50IHRoZSBmdW5jdGlvbmFsaXRpZXMgb2Ygc3VibWlzc2lvbiBvZiBmb3JtIGFuZCBoYW5kbGluZyBzdWNjZXNzIGFuZCBlcnJvciBzY2VuYXJpb3MuXHJcbiAqIEBjbGFzcyBDcmVhdGVHcm91cENvbXBvbmVudFxyXG4gKiBAaW1wbGVtZW50cyB7T25Jbml0fVxyXG4gKiBAaW1wbGVtZW50cyB7T25EZXN0cm95fVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ2llZWVzYS1jcmVhdGUtZ3JvdXAnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHluYW1pY0Zvcm1Db21wb25lbnQsIE1hdERpYWxvZ01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBwcm92aWRlcnM6IFtBbGVydHNTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZUdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGZvcm0gaXMgc3VjY2Vzc2Z1bGx5IHN1Ym1pdHRlZC5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlR3JvdXBDb21wb25lbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc3VibWl0Rm9ybVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZm9ybSBpcyBjYW5jZWxsZWQuXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZUdyb3VwQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGZvcm1DYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY3JlYXRlR3JvdXBUZXh0ID0gc2NyZWVuVGV4dHM/LmNyZWF0ZUdyb3VwO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY29uc3RhbnRzOiBhbnkgPSBzY3JlZW5UZXh0cztcclxuICBsZWZ0QnV0dG9uTGFiZWwgPSB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LmxlZnRCdXR0b25MYWJlbDtcclxuICByaWdodEJ1dHRvbkxhYmVsID0gdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5yaWdodEJ1dHRvbkxhYmVsO1xyXG4gIGlzTGVnZW5kVmlzaWJsZSA9IGZhbHNlO1xyXG4gIGlzTGVmdEJ1dHRvbk5lZWRlZCA9IHRydWU7XHJcbiAgY29sV2lkdGg6IEZvcm1HcmlkID0geyB4czogMTIsIHhsOiAxMiwgc206IDEyLCBtZDogMTIsIGxnOiAxMiB9O1xyXG4gIGZvcm1Hcm91cCE6IEZvcm1Nb2RlbDtcclxuICBncm91cFR5cGVzITogU2VsZWN0T3B0aW9uW107XHJcbiAgYWN0aW9uQnV0dG9uQWxpZ24gPSBBbGlnblR5cGUuTEVGVDtcclxuICBmb3JtITogRm9ybUdyb3VwO1xyXG4gIHNlbGVjdGVkR3JvdXBJbmZvITogR3JvdXBJbmZvIHwgdW5kZWZpbmVkO1xyXG4gIGdyb3VwRnVuY3Rpb25UeXBlITogR3JvdXBGdW5jdGlvblR5cGU7XHJcbiAgc2VsZWN0ZWRHcm91cFBhcmVudEluZm8hOiBHcm91cEluZm8gfCB1bmRlZmluZWQ7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBuby1lbXB0eS1mdW5jdGlvblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGdyb3Vwc1NlcnZpY2U6IEdyb3Vwc1NlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZ2xvYmFsRXJyb3JIYW5kbGVyU2VydmljZTogR2xvYmFsRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGFsZXJ0U2VydmljZTogQWxlcnRzU2VydmljZSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktZnVuY3Rpb25cclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgdGhlIGNyZWF0ZSBncm91cCBmb3JtIGdyb3VwIGFycmF5IGFuZCBjb21wb25lbnQuXHJcbiAgICogQHJldHVybiAtcmV0dXJucyBub3RoaW5nXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZUdyb3VwQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyb3VwRnVuY3Rpb25UeXBlID0gdGhpcy5ncm91cHNTZXJ2aWNlPy5nZXRHcm91cEZ1bmN0aW9uVHlwZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwSW5mbyA9IHRoaXMuZ3JvdXBzU2VydmljZT8uZ2V0U2VsZWN0ZWRHcm91cEluZm8oKTtcclxuICAgIGlmICh0aGlzLmdyb3VwRnVuY3Rpb25UeXBlID09PSBHcm91cEZ1bmN0aW9uVHlwZS5FRElUKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cFBhcmVudEluZm8gPVxyXG4gICAgICAgIHRoaXMuZ3JvdXBzU2VydmljZT8uZ2V0U2VsZWN0ZWRHcm91cFBhcmVudEluZm8oKTtcclxuICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXAoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZ3JvdXBzU2VydmljZVxyXG4gICAgICAgIC5nZXRHcm91cFR5cGVzKClcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXM/LnN0YXR1cykge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGNvbmZpZ0ZpZWxkVmFsdWUgPSByZXM/LmJvZHk/LmNvbmZpZ0ZpZWxkVmFsdWU7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRHcm91cEluZm8/Lmdyb3VwVHlwZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYWxsb3dlZEdyb3VwVHlwZSA9XHJcbiAgICAgICAgICAgICAgICAgIGNvbmZpZ0ZpZWxkVmFsdWVbdGhpcy5zZWxlY3RlZEdyb3VwSW5mbz8uZ3JvdXBUeXBlXVxyXG4gICAgICAgICAgICAgICAgICAgID8uYnVzaW5lc3NSdWxlPy5hbGxvd2VkR3JvdXBUeXBlO1xyXG4gICAgICAgICAgICAgICAgaWYgKGFsbG93ZWRHcm91cFR5cGU/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdyb3VwVHlwZXMgPSBhbGxvd2VkR3JvdXBUeXBlLm1hcChcclxuICAgICAgICAgICAgICAgICAgICAoZ3JvdXBUeXBlSWQ6IHN0cmluZykgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICAgIGlkOiBncm91cFR5cGVJZCxcclxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGNvbmZpZ0ZpZWxkVmFsdWVbZ3JvdXBUeXBlSWRdPy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNob3dBbGVydE1lc3NhZ2UoXHJcbiAgICAgICAgICAgICAgICAgICAgc2NyZWVuVGV4dHM/LmVycm9ycz8uRVIxMDAwLFxyXG4gICAgICAgICAgICAgICAgICAgIEFsZXJ0VHlwZS5FUlJPUlxyXG4gICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3VwVHlwZXMgPSBPYmplY3QuZW50cmllcyhjb25maWdGaWVsZFZhbHVlKS5tYXAoXHJcbiAgICAgICAgICAgICAgICAgIChbaWQsIGl0ZW1dOiBbc3RyaW5nLCBHcm91cFR5cGVdKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGl0ZW0/Lm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAodGhpcy5ncm91cFR5cGVzPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0FsZXJ0TWVzc2FnZShcclxuICAgICAgICAgICAgICAgICAgc2NyZWVuVGV4dHM/LmVycm9ycz8uWycxMDEwJ10sXHJcbiAgICAgICAgICAgICAgICAgIEFsZXJ0VHlwZS5FUlJPUlxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3JzKGVycm9yKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RzIGFuZCByZXR1cm5zIHRoZSBncm91cCB0eXBlIGZvcm0gZmllbGQgYmFzZWQgb24gZWRpdCBncm91cCBvciBub3QuXHJcbiAgICogQHJldHVybiB7RmllbGRDb25maWd9IC1ncm91cCB0eXBlIGZvcm0gZmllbGQuXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZUdyb3VwQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0R3JvdXBUeXBlRmllbGQoKTogRmllbGRDb25maWcge1xyXG4gICAgbGV0IGdyb3VwVHlwZUZpZWxkOiBGaWVsZENvbmZpZztcclxuICAgIGlmICh0aGlzLmdyb3VwRnVuY3Rpb25UeXBlID09PSBHcm91cEZ1bmN0aW9uVHlwZS5FRElUKSB7XHJcbiAgICAgIGdyb3VwVHlwZUZpZWxkID0ge1xyXG4gICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZT8uVEVYVF9BUkVBLFxyXG4gICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/Lmdyb3VwVHlwZSxcclxuICAgICAgICBjb250cm9sTmFtZTogJ2dyb3VwVHlwZScsXHJcbiAgICAgICAgaXNSZWFkb25seTogdHJ1ZSxcclxuICAgICAgICBhcmlhTXVsdGlsaW5lOiBmYWxzZSxcclxuICAgICAgICB2YWx1ZTogdGhpcy5zZWxlY3RlZEdyb3VwSW5mbz8uZ3JvdXBUeXBlSW5mbz8ubmFtZSxcclxuICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY29uc3RhbnRzPy5lZGl0R3JvdXA/LmFyaWFMYWJlbD8uZ3JvdXBUeXBlLFxyXG4gICAgICAgIGlzUmVzaXplOiB0cnVlLFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZ3JvdXBUeXBlRmllbGQgPSB7XHJcbiAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlPy5TRUxFQ1QsXHJcbiAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5sYWJlbD8uZ3JvdXBUeXBlICsgJyonLFxyXG4gICAgICAgIGNvbnRyb2xOYW1lOiAnZ3JvdXBUeXBlJyxcclxuICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICB2YWx1ZTogJycsXHJcbiAgICAgICAgdmFsaWRhdGlvbjogW1ZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgIGRyb3Bkb3duT3B0aW9uczogdGhpcy5ncm91cFR5cGVzLFxyXG4gICAgICAgIHN1cHBvcnRNZXNzYWdlOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8uc3VwcG9ydFRleHQ/Lmdyb3VwVHlwZSxcclxuICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5sYWJlbD8uYXJpYUxhYmVsPy5ncm91cFR5cGUsXHJcbiAgICAgICAgcGxhY2Vob2xkZXI6ICcnLFxyXG4gICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZD8uZ3JvdXBUeXBlLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGdyb3VwVHlwZUZpZWxkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZSB0aGUgY3JlYXRlIGdyb3VwIGZvcm0gZ3JvdXAgYXJyYXkuXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZUdyb3VwQ29tcG9uZW50XHJcbiAgICovXHJcbiAgY3JlYXRlRm9ybUdyb3VwKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAgPSB7XHJcbiAgICAgIGZvcm1Hcm91cDogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGxlZ2VuZDogJycsXHJcbiAgICAgICAgICBjb250cm9sczogW1xyXG4gICAgICAgICAgICB0aGlzLmdldEdyb3VwVHlwZUZpZWxkKCksXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGU/LklOUFVULFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/Lmdyb3VwTmFtZSArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2dyb3VwTmFtZScsXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5ncm91cEZ1bmN0aW9uVHlwZSA9PT0gR3JvdXBGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRHcm91cEluZm8/Lmdyb3VwTmFtZVxyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnJyxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/LnN1cHBvcnRUZXh0Py5ncm91cE5hbWUsXHJcbiAgICAgICAgICAgICAgcGF0dGVybkVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5tZXNzYWdlPy5lcnJvcj8ucGF0dGVybj8uZ3JvdXBOYW1lLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aChcclxuICAgICAgICAgICAgICAgICAgc2NyZWVuVGV4dHM/LmNyZWF0ZUdyb3VwPy5jaGFyYWN0ZXJMaW1pdD8uY2hhcmFjdGVyNTAwXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKEdyb3Vwc1ZhbGlkYXRpb25QYXR0ZXJucz8uZ3JvdXBOYW1lKSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIG1heEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5tZXNzYWdlPy5lcnJvcj8ubGltaXQ/Lmdyb3VwTmFtZSxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5sYWJlbD8uYXJpYUxhYmVsPy5ncm91cE5hbWUsXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkPy5ncm91cE5hbWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGU/LklOUFVULFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LnNob3J0TmFtZSArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ3Nob3J0TmFtZScsXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5ncm91cEZ1bmN0aW9uVHlwZSA9PT0gR3JvdXBGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRHcm91cEluZm8/Lmdyb3VwU2hvcnROYW1lXHJcbiAgICAgICAgICAgICAgICAgIDogJycsXHJcbiAgICAgICAgICAgICAgcGF0dGVybkVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5tZXNzYWdlPy5lcnJvcj8ucGF0dGVybj8uc2hvcnROYW1lLFxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnJyxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/LnN1cHBvcnRUZXh0Py5zaG9ydE5hbWUsXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1xyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKFxyXG4gICAgICAgICAgICAgICAgICBzY3JlZW5UZXh0cz8uY3JlYXRlR3JvdXA/LmNoYXJhY3RlckxpbWl0Py5jaGFyYWN0ZXIxNVxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucGF0dGVybihHcm91cHNWYWxpZGF0aW9uUGF0dGVybnM/LnNob3J0TmFtZSksXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBtYXhFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubWVzc2FnZT8uZXJyb3I/LmxpbWl0Py5zaG9ydE5hbWUsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LmFyaWFMYWJlbD8uc2hvcnROYW1lLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZD8uc2hvcnROYW1lLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLlRFWFRfQVJFQSxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5ncm91cFNjb3BlLFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiAnZ3JvdXBTY29wZScsXHJcbiAgICAgICAgICAgICAgcGF0dGVybkVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5tZXNzYWdlPy5lcnJvcj8ucGF0dGVybj8uZ3JvdXBTY29wZSxcclxuICAgICAgICAgICAgICB2YWx1ZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXBGdW5jdGlvblR5cGUgPT09IEdyb3VwRnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkR3JvdXBJbmZvPy5ncm91cERlc2NcclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJycsXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5zdXBwb3J0VGV4dD8uZ3JvdXBTY29wZSxcclxuICAgICAgICAgICAgICBpc1Jlc2l6ZTogdHJ1ZSxcclxuICAgICAgICAgICAgICBtYXhMZW5ndGg6XHJcbiAgICAgICAgICAgICAgICBzY3JlZW5UZXh0cz8uY3JlYXRlR3JvdXA/LmNoYXJhY3RlckxpbWl0Py5jaGFyYWN0ZXIyMDAwLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKFxyXG4gICAgICAgICAgICAgICAgICBzY3JlZW5UZXh0cz8uY3JlYXRlR3JvdXA/LmNoYXJhY3RlckxpbWl0Py5jaGFyYWN0ZXIxNTAwXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKEdyb3Vwc1ZhbGlkYXRpb25QYXR0ZXJucz8uZ3JvdXBTY29wZSksXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBtYXhFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubWVzc2FnZT8uZXJyb3I/LmxpbWl0Py5ncm91cFNjb3BlLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5hcmlhTGFiZWw/Lmdyb3VwU2NvcGUsXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkPy5ncm91cFNjb3BlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkR3JvdXBJbmZvPy5ncm91cElkKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlQ3JlYXRlRm9ybUdyb3VwKHRoaXMuc2VsZWN0ZWRHcm91cEluZm8pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHRoZSBjcmVhdGUgc3ViIGdyb3VwIGZvcm0gZ3JvdXAgYXJyYXkuXHJcbiAgICogQHBhcmFtIHtHcm91cEluZm99IHBhcmVudEdyb3VwSW5mbyAtUGFyZW50IGdyb3VwIGluZm8uXHJcbiAgICogQHJldHVybiAtcmV0dXJucyBub3RoaW5nXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZUdyb3VwQ29tcG9uZW50XHJcbiAgICovXHJcbiAgdXBkYXRlQ3JlYXRlRm9ybUdyb3VwKHBhcmVudEdyb3VwSW5mbzogR3JvdXBJbmZvKTogdm9pZCB7XHJcbiAgICBjb25zdCBwYXJlbnRHcm91cCA9IHtcclxuICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlPy5URVhUX0FSRUEsXHJcbiAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LnBhcmVudEdyb3VwLFxyXG4gICAgICBjb250cm9sTmFtZTogJ3BhcmVudEdyb3VwJyxcclxuICAgICAgaXNSZWFkb25seTogdHJ1ZSxcclxuICAgICAgYXJpYU11bHRpbGluZTogZmFsc2UsXHJcbiAgICAgIHZhbHVlOlxyXG4gICAgICAgIHRoaXMuZ3JvdXBGdW5jdGlvblR5cGUgPT09IEdyb3VwRnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgID8gdGhpcy5zZWxlY3RlZEdyb3VwUGFyZW50SW5mbz8uZ3JvdXBOYW1lXHJcbiAgICAgICAgICA6IHBhcmVudEdyb3VwSW5mbz8uZ3JvdXBOYW1lLFxyXG4gICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5sYWJlbD8uYXJpYUxhYmVsPy5wYXJlbnRHcm91cCxcclxuICAgICAgaXNSZXNpemU6IHRydWUsXHJcbiAgICB9O1xyXG4gICAgaWYgKHBhcmVudEdyb3VwPy52YWx1ZSkge1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cD8uZm9ybUdyb3VwWzBdPy5jb250cm9scz8udW5zaGlmdChwYXJlbnRHcm91cCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGNsaWVudCBzaWRlIHZhbGlkYXRpb24gYW5kIGNhbGxzIGNyZWF0ZSBncm91cCBvciBlZGl0IGdyb3VwIG1ldGhvZHMuXHJcbiAgICogQHBhcmFtIHtGb3JtR3JvdXBbXX0gZm9ybSAtQXJyYXkgb2YgZm9ybUdyb3VwXHJcbiAgICogQHJldHVybiAtcmV0dXJucyBub3RoaW5nXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZUdyb3VwQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Gb3JtU3VibWl0KGZvcm06IEZvcm1Hcm91cFtdKTogdm9pZCB7XHJcbiAgICBmb3JtWzBdPy5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICBpZiAoZm9ybVswXS5zdGF0dXMgPT09IEZvcm1TdGF0dXMuVkFMSUQpIHtcclxuICAgICAgY29uc3QgZm9ybURhdGEgPSBmb3JtWzBdPy5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLWV4cHJlc3Npb25zXHJcbiAgICAgIHRoaXMuZ3JvdXBGdW5jdGlvblR5cGUgPT09IEdyb3VwRnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICA/IHRoaXMuZWRpdEdyb3VwKGZvcm1EYXRhKVxyXG4gICAgICAgIDogdGhpcy5jcmVhdGVHcm91cChmb3JtRGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RzIGNyZWF0ZSBncm91cCBwYXlsb2FkIGFuZCBjYWxscyBjcmVhdGUgZ3JvdXAgQVBJIGFuZCBlbWl0cyBjcmVhdGUgZ3JvdXAgQVBJIHJlc3BvbnNlLlxyXG4gICAqIEBwYXJhbSBmb3JtRGF0YVxyXG4gICAqIEByZXR1cm4gLXJldHVybnMgbm90aGluZ1xyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVHcm91cENvbXBvbmVudFxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY3JlYXRlR3JvdXAoZm9ybURhdGE6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgY3JlYXRlR3JvdXBQYXlsb2FkOiBDcmVhdGVHcm91cFBheWxvYWQgPSB7XHJcbiAgICAgIHBheWxvYWQ6IHtcclxuICAgICAgICBncm91cE5hbWU6IGZvcm1EYXRhPy5ncm91cE5hbWUsXHJcbiAgICAgICAgZ3JvdXBTaG9ydE5hbWU6IGZvcm1EYXRhPy5zaG9ydE5hbWUsXHJcbiAgICAgICAgZ3JvdXBUeXBlOiBmb3JtRGF0YT8uZ3JvdXBUeXBlPy5pZCxcclxuICAgICAgICBncm91cERlc2M6IGZvcm1EYXRhPy5ncm91cFNjb3BlLFxyXG4gICAgICAgIGdyb3VwUGFyZW50SWQ6IHRoaXMuc2VsZWN0ZWRHcm91cEluZm8/Lmdyb3VwSWQgPz8gbnVsbCxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICB0aGlzLmdyb3Vwc1NlcnZpY2VcclxuICAgICAgLmNyZWF0ZUdyb3VwKGNyZWF0ZUdyb3VwUGF5bG9hZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzPy5zdGF0dXMpIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJtaXRGb3JtUmVzcG9uc2U/LmVtaXQocmVzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3JzKGVycm9yKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdHMgZWRpdCBncm91cCBwYXlsb2FkIGFuZCBjYWxscyBlZGl0IGdyb3VwIEFQSSBhbmQgZW1pdHMgY3JlYXRlIGdyb3VwIEFQSSByZXNwb25zZS5cclxuICAgKiBAcGFyYW0geyp9IGZvcm1EYXRhXHJcbiAgICogQHJldHVybiAtcmV0dXJucyBub3RoaW5nXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZUdyb3VwQ29tcG9uZW50XHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBlZGl0R3JvdXAoZm9ybURhdGE6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgZWRpdEdyb3VwUGF5bG9hZDogRWRpdEdyb3VwUGF5bG9hZCA9IHtcclxuICAgICAgcGF5bG9hZDoge1xyXG4gICAgICAgIGdyb3VwTmFtZTogZm9ybURhdGE/Lmdyb3VwTmFtZSxcclxuICAgICAgICBncm91cFNob3J0TmFtZTogZm9ybURhdGE/LnNob3J0TmFtZSxcclxuICAgICAgICBncm91cERlc2M6IGZvcm1EYXRhPy5ncm91cFNjb3BlLFxyXG4gICAgICAgIGdyb3VwUGFyZW50SWQ6IHRoaXMuc2VsZWN0ZWRHcm91cEluZm8/Lmdyb3VwUGFyZW50SWQgPz8gbnVsbCxcclxuICAgICAgICBncm91cElkOiB0aGlzLnNlbGVjdGVkR3JvdXBJbmZvPy5ncm91cElkIGFzIHN0cmluZyxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICB0aGlzLmdyb3Vwc1NlcnZpY2VcclxuICAgICAgLmVkaXRHcm91cChlZGl0R3JvdXBQYXlsb2FkKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXMpID0+IHtcclxuICAgICAgICAgIGlmIChyZXM/LnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLnN1Ym1pdEZvcm1SZXNwb25zZT8uZW1pdChyZXMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcnMoZXJyb3IpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FwdHVyZXMgdGhlIHNlcnZlciBzaWRlIGVycm9ycyBhbmQgaGFuZGxlcyB0aGUgZXJyb3JzIGJhc2VkIG9uIHRoZSBjdXN0b20gb3IgSHR0cCBlcnJvcnMuXHJcbiAgICogQHBhcmFtIHtIdHRwRXJyb3JSZXNwb25zZX0gZXJyb3JcclxuICAgKiBAcmV0dXJuIC1yZXR1cm5zIG5vdGhpbmdcclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlR3JvdXBDb21wb25lbnRcclxuICAgKi9cclxuICBoYW5kbGVFcnJvcnMoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogdm9pZCB7XHJcbiAgICBjb25zdCBlcnJvckNvZGVzOiBzdHJpbmdbXSA9IGVycm9yPy5lcnJvcj8uYm9keT8uZXJyb3JDb2RlcztcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGVycm9yQ29kZXMpKSB7XHJcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZTogc3RyaW5nW10gPVxyXG4gICAgICAgIHRoaXMuZ3JvdXBzU2VydmljZT8ucGFyc2VFcnJvck1lc3NhZ2UoZXJyb3JDb2Rlcyk7XHJcbiAgICAgIHRoaXMuc2hvd0FsZXJ0TWVzc2FnZShlcnJvck1lc3NhZ2UsIEFsZXJ0VHlwZS5FUlJPUik7XHJcbiAgICB9IGVsc2UgaWYgKGVycm9yICYmIGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgdGhpcy5nbG9iYWxFcnJvckhhbmRsZXJTZXJ2aWNlPy5oYW5kbGVFcnJvcihlcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgZm9ybSByZWZlcmVuY2UuXHJcbiAgICogQHBhcmFtIHtGb3JtR3JvdXBbXX0gZm9ybVxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVHcm91cENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEZvcm1Hcm91cFJlZmVyZW5jZShmb3JtOiBGb3JtR3JvdXBbXSkge1xyXG4gICAgdGhpcy5mb3JtID0gZm9ybVswXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgYWxlcnRzIGZvciBlcnJvciwgd2FybmluZy5cclxuICAgKiBAcGFyYW0geyhzdHJpbmcgfCBzdHJpbmdbXSl9IG1lc3NhZ2UgLWVycm9yIG9yIHdhcm5pbmcgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSB7QWxlcnRUeXBlfSBhbGVydFR5cGVcclxuICAgKiBAcmV0dXJuIC1yZXR1cm5zIG5vdGhpbmdcclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlR3JvdXBDb21wb25lbnRcclxuICAgKi9cclxuICBzaG93QWxlcnRNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdLCBhbGVydFR5cGU6IEFsZXJ0VHlwZSk6IHZvaWQge1xyXG4gICAgdGhpcy5hbGVydFNlcnZpY2U/LnNob3dNZXNzYWdlKHtcclxuICAgICAgc3RhdHVzOiAnY3VzdG9tJyxcclxuICAgICAgbWVzc2FnZTogbWVzc2FnZSxcclxuICAgICAgYWxlcnRUeXBlOiBhbGVydFR5cGUsXHJcbiAgICAgIGlzQ2xvc2VOZWVkZWQ6IHRydWUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGZvcm0gY2FuY2VsIGV2ZW50LlxyXG4gICAqIEByZXR1cm4gLXJldHVybnMgbm90aGluZ1xyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVHcm91cENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNyZWF0ZUdyb3VwQ2FuY2VsbGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQ2FuY2VsPy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOZ09uRGVzdHJveSBwZXJmb3JtcyBuZWNlc3NhcnkgY2xlYW51cCB0YXNrcywgc3VjaCBhcyB1bnN1YnNjcmliaW5nIGZyb20gc3Vic2NyaXB0aW9uIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBiZWluZyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZUdyb3VwQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZWVlc2EtZHluYW1pYy1mb3JtXHJcbiAgKm5nSWY9XCJmb3JtR3JvdXBcIlxyXG4gIFtsZWZ0QnV0dG9uTGFiZWxdPVwibGVmdEJ1dHRvbkxhYmVsXCJcclxuICBbcmlnaHRCdXR0b25MYWJlbF09XCJyaWdodEJ1dHRvbkxhYmVsXCJcclxuICBbaXNMZWdlbmRWaXNpYmxlXT1cImlzTGVnZW5kVmlzaWJsZVwiXHJcbiAgW2NvbFdpZHRoXT1cImNvbFdpZHRoXCJcclxuICBbYWN0aW9uQnV0dG9uQWxpZ25dPVwiYWN0aW9uQnV0dG9uQWxpZ25cIlxyXG4gIFtmb3JtR3JvdXBzXT1cImZvcm1Hcm91cFwiXHJcbiAgW2lzTGVmdEJ1dHRvbk5lZWRlZF09XCJpc0xlZnRCdXR0b25OZWVkZWRcIlxyXG4gIChmb3JtU3VibWl0KT1cIm9uRm9ybVN1Ym1pdCgkZXZlbnQpXCJcclxuICAoZm9ybUxlZnRCdXR0b25DbGlja2VkKT1cImNyZWF0ZUdyb3VwQ2FuY2VsbGVkKClcIlxyXG4gIChmb3JtR3JvdXBzUmVmZXJlbmNlKT1cImdldEZvcm1Hcm91cFJlZmVyZW5jZSgkZXZlbnQpXCJcclxuPjwvaWVlZXNhLWR5bmFtaWMtZm9ybT4iXX0=
|