master-control 0.3.65 → 0.3.67
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/annuity-premium-calculator/annuity-premium-calculator.component.mjs +694 -0
- package/esm2022/lib/hr-line/hr-line.component.mjs +2 -2
- package/esm2022/lib/icon-button/icon-button.component.mjs +3 -3
- package/esm2022/lib/master-control.component.mjs +6 -4
- package/esm2022/lib/multiple-select/multiple-select.component.mjs +1 -4
- package/esm2022/lib/select-textbox/select-textbox.component.mjs +3 -3
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/master-control.mjs +694 -13
- package/fesm2022/master-control.mjs.map +1 -1
- package/lib/annuity-premium-calculator/annuity-premium-calculator.component.d.ts +29 -0
- package/master-control-0.3.67.tgz +0 -0
- package/package.json +2 -2
- package/public-api.d.ts +1 -0
- package/master-control-0.3.65.tgz +0 -0
|
@@ -0,0 +1,694 @@
|
|
|
1
|
+
import { Component, EventEmitter, input, Output } from '@angular/core';
|
|
2
|
+
import { ToggleComponent } from '../toggle/toggle.component';
|
|
3
|
+
import { SelectTextboxComponent } from '../select-textbox/select-textbox.component';
|
|
4
|
+
import { ButtonComponent } from '../button/button.component';
|
|
5
|
+
import { IconButtonComponent } from '../icon-button/icon-button.component';
|
|
6
|
+
import { CommonModule } from '@angular/common';
|
|
7
|
+
import { FormsModule } from '@angular/forms';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../master-control.service";
|
|
10
|
+
import * as i2 from "@angular/common";
|
|
11
|
+
import * as i3 from "@angular/forms";
|
|
12
|
+
export class AnnuityPremiumCalculatorComponent {
|
|
13
|
+
masterService;
|
|
14
|
+
field = input.required();
|
|
15
|
+
premiumDetails = input({});
|
|
16
|
+
annuityPremium = {
|
|
17
|
+
textValue: '',
|
|
18
|
+
selectValue: ''
|
|
19
|
+
};
|
|
20
|
+
minumumAnnuityPayout = {
|
|
21
|
+
textValue: '',
|
|
22
|
+
selectValue: ''
|
|
23
|
+
};
|
|
24
|
+
onCalcualteButtonClick = new EventEmitter();
|
|
25
|
+
onGenerateSummaryClick = new EventEmitter();
|
|
26
|
+
onAnnuityPremiumChange = new EventEmitter();
|
|
27
|
+
validations = {
|
|
28
|
+
ispremiumEntry: false
|
|
29
|
+
};
|
|
30
|
+
annuityPremiumToggleObj = {
|
|
31
|
+
controlType: 'toggle',
|
|
32
|
+
fieldName: 'annuityPremiumToggle',
|
|
33
|
+
label: 'Enter Annuity',
|
|
34
|
+
placeHolder: null,
|
|
35
|
+
metaId: 'LI_DP_GEN_CTRL_toggle_annuityPremiumToggle_V1',
|
|
36
|
+
isVisible: true,
|
|
37
|
+
isDisable: false,
|
|
38
|
+
validators: {
|
|
39
|
+
isRequired: false,
|
|
40
|
+
requiredMessage: 'This field cannot be empty',
|
|
41
|
+
minLength: null,
|
|
42
|
+
minLengthMessage: null,
|
|
43
|
+
maxLength: 150,
|
|
44
|
+
maxLengthMessage: null,
|
|
45
|
+
pattern: null,
|
|
46
|
+
patternMessage: '',
|
|
47
|
+
},
|
|
48
|
+
options: null,
|
|
49
|
+
cssClass: ' col-sm-12 col-md-12 col-lg-12 col-xl-12 mx-auto d-flex align-items-center justify-content-center',
|
|
50
|
+
value: null,
|
|
51
|
+
style: null,
|
|
52
|
+
imageUrl: null,
|
|
53
|
+
isShowLabel: true,
|
|
54
|
+
controlStyle: {
|
|
55
|
+
controlType: 'toggle',
|
|
56
|
+
borderColor: '#DADADA',
|
|
57
|
+
borderWidth: '1px',
|
|
58
|
+
borderRadius: '999px',
|
|
59
|
+
fontSize: '12px',
|
|
60
|
+
fontWeight: '400',
|
|
61
|
+
fontFamily: 'Mulish',
|
|
62
|
+
color: '#444444',
|
|
63
|
+
background: '#FFFFFF',
|
|
64
|
+
caretColor: null,
|
|
65
|
+
nudgeDisplayImage: null,
|
|
66
|
+
dropdownOptionBgColor: null,
|
|
67
|
+
dropdownOptionColor: null,
|
|
68
|
+
dropdownOptionFontWeight: null,
|
|
69
|
+
width: 'fit-content',
|
|
70
|
+
focusBorderWidth: '0.094rem',
|
|
71
|
+
focusBorderColor: null,
|
|
72
|
+
focusBackground: null,
|
|
73
|
+
focusColor: null,
|
|
74
|
+
focusDropdownOptionBgColor: null,
|
|
75
|
+
focusDropdownOptionColor: null,
|
|
76
|
+
focusDropdownOptionFontWeight: null,
|
|
77
|
+
focusDropdownOptionBorderLeft: null,
|
|
78
|
+
focusDropdownOptionBorderRadius: null,
|
|
79
|
+
hoverBorderColor: null,
|
|
80
|
+
hoverBorderWidth: '0.094rem',
|
|
81
|
+
hoverColor: null,
|
|
82
|
+
disableColor: '#ECECEC',
|
|
83
|
+
disableBackground: '#ECECEC',
|
|
84
|
+
errorBorderColor: null,
|
|
85
|
+
errorBorderWidth: '0.094rem',
|
|
86
|
+
errorColor: null,
|
|
87
|
+
createdDate: null,
|
|
88
|
+
padding: null,
|
|
89
|
+
margin: null,
|
|
90
|
+
isMasterCss: null,
|
|
91
|
+
controlMetaId: 'LI_DP_GEN_CTRL_toggle_annuityPremiumToggle_V1',
|
|
92
|
+
borderStyle: null,
|
|
93
|
+
height: null,
|
|
94
|
+
minHeight: null,
|
|
95
|
+
maxHeight: null,
|
|
96
|
+
minWidth: null,
|
|
97
|
+
maxWidth: null,
|
|
98
|
+
cssClass: null,
|
|
99
|
+
},
|
|
100
|
+
columnIndex: 0,
|
|
101
|
+
configData: {
|
|
102
|
+
leftLabel: 'Enter Premium',
|
|
103
|
+
},
|
|
104
|
+
controlStyles: null,
|
|
105
|
+
};
|
|
106
|
+
annuityPremiumObj = {
|
|
107
|
+
controlStyle: {
|
|
108
|
+
controlType: 'amountTextbox',
|
|
109
|
+
borderColor: '#DADADA',
|
|
110
|
+
borderWidth: '0.094rem',
|
|
111
|
+
borderRadius: null,
|
|
112
|
+
fontSize: '16px',
|
|
113
|
+
fontWeight: '400',
|
|
114
|
+
fontFamily: 'Mulish',
|
|
115
|
+
color: '#444444',
|
|
116
|
+
background: '#FFFFFF',
|
|
117
|
+
caretColor: '#ffbb00',
|
|
118
|
+
nudgeDisplayImage: null,
|
|
119
|
+
dropdownOptionBgColor: null,
|
|
120
|
+
dropdownOptionColor: null,
|
|
121
|
+
dropdownOptionFontWeight: null,
|
|
122
|
+
width: null,
|
|
123
|
+
focusBorderWidth: '0.094rem',
|
|
124
|
+
focusBorderColor: '#ffbb00',
|
|
125
|
+
focusBackground: null,
|
|
126
|
+
focusColor: '#444444',
|
|
127
|
+
focusDropdownOptionBgColor: null,
|
|
128
|
+
focusDropdownOptionColor: null,
|
|
129
|
+
focusDropdownOptionFontWeight: null,
|
|
130
|
+
focusDropdownOptionBorderLeft: null,
|
|
131
|
+
focusDropdownOptionBorderRadius: null,
|
|
132
|
+
hoverBorderColor: '#FFBB00',
|
|
133
|
+
hoverBorderWidth: '0.094rem',
|
|
134
|
+
hoverColor: '#444444',
|
|
135
|
+
disableColor: '#ECECEC',
|
|
136
|
+
disableBackground: '#ECECEC',
|
|
137
|
+
errorBorderColor: '#EE0000',
|
|
138
|
+
errorBorderWidth: '0.094rem',
|
|
139
|
+
errorColor: '#444444',
|
|
140
|
+
createdDate: null,
|
|
141
|
+
padding: null,
|
|
142
|
+
margin: null,
|
|
143
|
+
isMasterCss: null,
|
|
144
|
+
controlMetaId: 'ALL_DP_DP_CTRL_amountTextbox_annuityPremium_V1',
|
|
145
|
+
borderStyle: null,
|
|
146
|
+
height: null,
|
|
147
|
+
minHeight: null,
|
|
148
|
+
maxHeight: null,
|
|
149
|
+
minWidth: null,
|
|
150
|
+
maxWidth: null,
|
|
151
|
+
cssClass: null,
|
|
152
|
+
},
|
|
153
|
+
fieldName: 'annuityPremium',
|
|
154
|
+
label: 'Premium',
|
|
155
|
+
placeHolder: 'Enter Premium',
|
|
156
|
+
metaId: 'ALL_DP_DP_CTRL_amountTextbox_annuityPremium_V1',
|
|
157
|
+
isVisible: true,
|
|
158
|
+
isDisable: false,
|
|
159
|
+
defaultValue: null,
|
|
160
|
+
validators: {
|
|
161
|
+
isRequired: false,
|
|
162
|
+
requiredMessage: 'Enter Premium',
|
|
163
|
+
minLength: 4,
|
|
164
|
+
minLengthMessage: null,
|
|
165
|
+
maxLength: 10,
|
|
166
|
+
maxLengthMessage: null,
|
|
167
|
+
pattern: null,
|
|
168
|
+
patternMessage: null,
|
|
169
|
+
},
|
|
170
|
+
options: [
|
|
171
|
+
{
|
|
172
|
+
value: 'Monthly',
|
|
173
|
+
label: 'Monthly',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
value: 'One Time',
|
|
177
|
+
label: 'One Time',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
value: 'Quarterly',
|
|
181
|
+
label: 'Quarterly',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
value: 'Half Yearly',
|
|
185
|
+
label: 'Half Yearly',
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
value: 'Yearly',
|
|
189
|
+
label: 'Yearly',
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
cssClass: ' col-sm-12 col-md-3 col-lg-3 col-xl-3 py-0 pl-3 pr-0 mt-5 pt-2',
|
|
193
|
+
value: null,
|
|
194
|
+
style: null,
|
|
195
|
+
imageUrl: null,
|
|
196
|
+
configData: {
|
|
197
|
+
isCommaAllowed: true,
|
|
198
|
+
},
|
|
199
|
+
metaDataObj: null,
|
|
200
|
+
isShowLabel: true,
|
|
201
|
+
isMasterControl: false,
|
|
202
|
+
controlType: 'amountTextbox',
|
|
203
|
+
};
|
|
204
|
+
minimumAnnuityPayout = {
|
|
205
|
+
controlStyle: {
|
|
206
|
+
controlType: 'amountTextbox',
|
|
207
|
+
borderColor: '#DADADA',
|
|
208
|
+
borderWidth: '0.094rem',
|
|
209
|
+
borderRadius: null,
|
|
210
|
+
fontSize: '16px',
|
|
211
|
+
fontWeight: '400',
|
|
212
|
+
fontFamily: 'Mulish',
|
|
213
|
+
color: '#444444',
|
|
214
|
+
background: '#FFFFFF',
|
|
215
|
+
caretColor: '#ffbb00',
|
|
216
|
+
nudgeDisplayImage: null,
|
|
217
|
+
dropdownOptionBgColor: null,
|
|
218
|
+
dropdownOptionColor: null,
|
|
219
|
+
dropdownOptionFontWeight: null,
|
|
220
|
+
width: null,
|
|
221
|
+
focusBorderWidth: '0.094rem',
|
|
222
|
+
focusBorderColor: '#ffbb00',
|
|
223
|
+
focusBackground: null,
|
|
224
|
+
focusColor: '#444444',
|
|
225
|
+
focusDropdownOptionBgColor: null,
|
|
226
|
+
focusDropdownOptionColor: null,
|
|
227
|
+
focusDropdownOptionFontWeight: null,
|
|
228
|
+
focusDropdownOptionBorderLeft: null,
|
|
229
|
+
focusDropdownOptionBorderRadius: null,
|
|
230
|
+
hoverBorderColor: '#FFBB00',
|
|
231
|
+
hoverBorderWidth: '0.094rem',
|
|
232
|
+
hoverColor: '#444444',
|
|
233
|
+
disableColor: '#999999',
|
|
234
|
+
disableBackground: '#ECECEC',
|
|
235
|
+
errorBorderColor: '#EE0000',
|
|
236
|
+
errorBorderWidth: '0.094rem',
|
|
237
|
+
errorColor: '#444444',
|
|
238
|
+
createdDate: null,
|
|
239
|
+
padding: null,
|
|
240
|
+
margin: null,
|
|
241
|
+
isMasterCss: null,
|
|
242
|
+
controlMetaId: 'ALL_DP_DP_CTRL_amountTextbox_minimumGuaranteedAnnuityPayout_V1',
|
|
243
|
+
borderStyle: null,
|
|
244
|
+
height: null,
|
|
245
|
+
minHeight: null,
|
|
246
|
+
maxHeight: null,
|
|
247
|
+
minWidth: null,
|
|
248
|
+
maxWidth: null,
|
|
249
|
+
cssClass: null,
|
|
250
|
+
},
|
|
251
|
+
fieldName: 'minimumGuaranteedAnnuityPayout',
|
|
252
|
+
label: 'Minimum Guaranteed Annuity Payout',
|
|
253
|
+
placeHolder: 'Enter Annuity Payout',
|
|
254
|
+
metaId: 'ALL_DP_DP_CTRL_amountTextbox_minimumGuaranteedAnnuityPayout_V1',
|
|
255
|
+
isVisible: true,
|
|
256
|
+
isDisable: true,
|
|
257
|
+
defaultValue: null,
|
|
258
|
+
validators: {
|
|
259
|
+
isRequired: false,
|
|
260
|
+
requiredMessage: 'Enter Annuity Payout',
|
|
261
|
+
minLength: 4,
|
|
262
|
+
minLengthMessage: null,
|
|
263
|
+
maxLength: 10,
|
|
264
|
+
maxLengthMessage: null,
|
|
265
|
+
pattern: null,
|
|
266
|
+
patternMessage: null,
|
|
267
|
+
},
|
|
268
|
+
options: [
|
|
269
|
+
{
|
|
270
|
+
value: 'Monthly',
|
|
271
|
+
label: 'Monthly',
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
value: 'One Time',
|
|
275
|
+
label: 'One Time',
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
value: 'Quarterly',
|
|
279
|
+
label: 'Quarterly',
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
value: 'Half Yearly',
|
|
283
|
+
label: 'Half Yearly',
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
value: 'Yearly',
|
|
287
|
+
label: 'Yearly',
|
|
288
|
+
},
|
|
289
|
+
],
|
|
290
|
+
cssClass: ' col-sm-12 col-md-3 col-lg-3 col-xl-3 py-0 pl-3 mt-1 pr-0 minimumGuaranteedAnnuityPayout',
|
|
291
|
+
value: null,
|
|
292
|
+
style: null,
|
|
293
|
+
imageUrl: null,
|
|
294
|
+
configData: {
|
|
295
|
+
isCommaAllowed: true,
|
|
296
|
+
},
|
|
297
|
+
metaDataObj: null,
|
|
298
|
+
isShowLabel: true,
|
|
299
|
+
isMasterControl: false,
|
|
300
|
+
controlType: 'amountTextbox',
|
|
301
|
+
};
|
|
302
|
+
enableAutoDebitObj = {
|
|
303
|
+
controlType: 'toggle',
|
|
304
|
+
fieldName: 'autoDebit',
|
|
305
|
+
label: 'Enable Auto Pay to get higher annuity rate',
|
|
306
|
+
placeHolder: '',
|
|
307
|
+
metaId: 'ALL_COM_GEN_CTRL_toggle_autoDebit_V1',
|
|
308
|
+
isVisible: true,
|
|
309
|
+
isDisable: false,
|
|
310
|
+
validators: {
|
|
311
|
+
isRequired: false,
|
|
312
|
+
requiredMessage: 'This field cannot be empty',
|
|
313
|
+
minLength: null,
|
|
314
|
+
minLengthMessage: null,
|
|
315
|
+
maxLength: null,
|
|
316
|
+
maxLengthMessage: null,
|
|
317
|
+
pattern: null,
|
|
318
|
+
patternMessage: '',
|
|
319
|
+
},
|
|
320
|
+
options: null,
|
|
321
|
+
cssClass: 'col-sm-12 col-md-5 col-lg-5 col-xl-5 mt-4 autoPay',
|
|
322
|
+
value: false,
|
|
323
|
+
style: null,
|
|
324
|
+
imageUrl: null,
|
|
325
|
+
isShowLabel: true,
|
|
326
|
+
controlStyle: {
|
|
327
|
+
controlType: 'toggle',
|
|
328
|
+
borderColor: null,
|
|
329
|
+
borderWidth: '0.094rem',
|
|
330
|
+
borderRadius: null,
|
|
331
|
+
fontSize: '12px',
|
|
332
|
+
fontWeight: '400',
|
|
333
|
+
fontFamily: 'Mulish',
|
|
334
|
+
color: '#444444',
|
|
335
|
+
background: '#E6F7F3',
|
|
336
|
+
caretColor: null,
|
|
337
|
+
nudgeDisplayImage: null,
|
|
338
|
+
dropdownOptionBgColor: null,
|
|
339
|
+
dropdownOptionColor: null,
|
|
340
|
+
dropdownOptionFontWeight: null,
|
|
341
|
+
width: null,
|
|
342
|
+
focusBorderWidth: '0.094rem',
|
|
343
|
+
focusBorderColor: null,
|
|
344
|
+
focusBackground: null,
|
|
345
|
+
focusColor: null,
|
|
346
|
+
focusDropdownOptionBgColor: null,
|
|
347
|
+
focusDropdownOptionColor: null,
|
|
348
|
+
focusDropdownOptionFontWeight: null,
|
|
349
|
+
focusDropdownOptionBorderLeft: null,
|
|
350
|
+
focusDropdownOptionBorderRadius: null,
|
|
351
|
+
hoverBorderColor: null,
|
|
352
|
+
hoverBorderWidth: '0.094rem',
|
|
353
|
+
hoverColor: null,
|
|
354
|
+
disableColor: '#ECECEC',
|
|
355
|
+
disableBackground: '#ECECEC',
|
|
356
|
+
errorBorderColor: null,
|
|
357
|
+
errorBorderWidth: '0.094rem',
|
|
358
|
+
errorColor: null,
|
|
359
|
+
createdDate: null,
|
|
360
|
+
padding: null,
|
|
361
|
+
margin: null,
|
|
362
|
+
isMasterCss: null,
|
|
363
|
+
controlMetaId: 'ALL_COM_GEN_CTRL_toggle_mailingAddressToggle_V1',
|
|
364
|
+
borderStyle: null,
|
|
365
|
+
height: null,
|
|
366
|
+
minHeight: null,
|
|
367
|
+
maxHeight: null,
|
|
368
|
+
minWidth: null,
|
|
369
|
+
maxWidth: null,
|
|
370
|
+
cssClass: null,
|
|
371
|
+
},
|
|
372
|
+
columnIndex: 0,
|
|
373
|
+
configData: {},
|
|
374
|
+
controlStyles: null,
|
|
375
|
+
};
|
|
376
|
+
recalculateButton = {
|
|
377
|
+
controlType: 'button',
|
|
378
|
+
fieldName: 'calculateAnnuityPayout',
|
|
379
|
+
label: 'Calculate Annuity Payout',
|
|
380
|
+
placeHolder: null,
|
|
381
|
+
metaId: 'LI_DP_GEN_CTRL_button_calculateAnnuityPayout_V1',
|
|
382
|
+
isVisible: true,
|
|
383
|
+
isDisable: false,
|
|
384
|
+
validators: {
|
|
385
|
+
isRequired: false,
|
|
386
|
+
requiredMessage: 'This field cannot be empty',
|
|
387
|
+
minLength: null,
|
|
388
|
+
minLengthMessage: null,
|
|
389
|
+
maxLength: null,
|
|
390
|
+
maxLengthMessage: null,
|
|
391
|
+
pattern: null,
|
|
392
|
+
patternMessage: '',
|
|
393
|
+
},
|
|
394
|
+
options: null,
|
|
395
|
+
cssClass: ' col-sm-12 col-md-12 col-lg-12 col-xl-12 mt-3',
|
|
396
|
+
value: null,
|
|
397
|
+
style: null,
|
|
398
|
+
imageUrl: null,
|
|
399
|
+
isShowLabel: true,
|
|
400
|
+
controlStyle: {
|
|
401
|
+
controlType: null,
|
|
402
|
+
borderColor: null,
|
|
403
|
+
borderWidth: null,
|
|
404
|
+
borderRadius: '4px',
|
|
405
|
+
fontSize: '12px',
|
|
406
|
+
fontWeight: null,
|
|
407
|
+
fontFamily: null,
|
|
408
|
+
color: null,
|
|
409
|
+
background: '#FFBB00',
|
|
410
|
+
caretColor: null,
|
|
411
|
+
nudgeDisplayImage: null,
|
|
412
|
+
dropdownOptionBgColor: null,
|
|
413
|
+
dropdownOptionColor: null,
|
|
414
|
+
dropdownOptionFontWeight: null,
|
|
415
|
+
width: '100%',
|
|
416
|
+
focusBorderWidth: null,
|
|
417
|
+
focusBorderColor: null,
|
|
418
|
+
focusBackground: null,
|
|
419
|
+
focusColor: null,
|
|
420
|
+
focusDropdownOptionBgColor: null,
|
|
421
|
+
focusDropdownOptionColor: null,
|
|
422
|
+
focusDropdownOptionFontWeight: null,
|
|
423
|
+
focusDropdownOptionBorderLeft: null,
|
|
424
|
+
focusDropdownOptionBorderRadius: null,
|
|
425
|
+
hoverBorderColor: null,
|
|
426
|
+
hoverBorderWidth: null,
|
|
427
|
+
hoverColor: null,
|
|
428
|
+
disableColor: null,
|
|
429
|
+
disableBackground: null,
|
|
430
|
+
errorBorderColor: null,
|
|
431
|
+
errorBorderWidth: null,
|
|
432
|
+
errorColor: null,
|
|
433
|
+
createdDate: null,
|
|
434
|
+
padding: null,
|
|
435
|
+
margin: null,
|
|
436
|
+
isMasterCss: null,
|
|
437
|
+
controlMetaId: 'LI_DP_GEN_CTRL_button_calculateAnnuityPayout_V1',
|
|
438
|
+
borderStyle: null,
|
|
439
|
+
height: null,
|
|
440
|
+
minHeight: null,
|
|
441
|
+
maxHeight: null,
|
|
442
|
+
minWidth: null,
|
|
443
|
+
maxWidth: null,
|
|
444
|
+
cssClass: null,
|
|
445
|
+
},
|
|
446
|
+
columnIndex: 0,
|
|
447
|
+
configData: {},
|
|
448
|
+
controlStyles: null,
|
|
449
|
+
};
|
|
450
|
+
interchangeButtonObj = {
|
|
451
|
+
controlStyle: {
|
|
452
|
+
controlType: null,
|
|
453
|
+
borderColor: '#DDDDDD',
|
|
454
|
+
borderWidth: '0px',
|
|
455
|
+
borderRadius: '50%',
|
|
456
|
+
fontSize: null,
|
|
457
|
+
fontWeight: null,
|
|
458
|
+
fontFamily: null,
|
|
459
|
+
color: null,
|
|
460
|
+
background: null,
|
|
461
|
+
caretColor: null,
|
|
462
|
+
nudgeDisplayImage: null,
|
|
463
|
+
dropdownOptionBgColor: null,
|
|
464
|
+
dropdownOptionColor: null,
|
|
465
|
+
dropdownOptionFontWeight: null,
|
|
466
|
+
width: '100%',
|
|
467
|
+
focusBorderWidth: null,
|
|
468
|
+
focusBorderColor: null,
|
|
469
|
+
focusBackground: null,
|
|
470
|
+
focusColor: null,
|
|
471
|
+
focusDropdownOptionBgColor: null,
|
|
472
|
+
focusDropdownOptionColor: null,
|
|
473
|
+
focusDropdownOptionFontWeight: null,
|
|
474
|
+
focusDropdownOptionBorderLeft: null,
|
|
475
|
+
focusDropdownOptionBorderRadius: null,
|
|
476
|
+
hoverBorderColor: null,
|
|
477
|
+
hoverBorderWidth: null,
|
|
478
|
+
hoverColor: null,
|
|
479
|
+
disableColor: null,
|
|
480
|
+
disableBackground: null,
|
|
481
|
+
errorBorderColor: null,
|
|
482
|
+
errorBorderWidth: null,
|
|
483
|
+
errorColor: null,
|
|
484
|
+
createdDate: null,
|
|
485
|
+
padding: null,
|
|
486
|
+
margin: null,
|
|
487
|
+
isMasterCss: null,
|
|
488
|
+
controlMetaId: null,
|
|
489
|
+
borderStyle: null,
|
|
490
|
+
height: '20px',
|
|
491
|
+
minHeight: null,
|
|
492
|
+
maxHeight: null,
|
|
493
|
+
minWidth: null,
|
|
494
|
+
maxWidth: null,
|
|
495
|
+
cssClass: null,
|
|
496
|
+
},
|
|
497
|
+
fieldName: 'annuityInterChange',
|
|
498
|
+
label: 'Annuity Interchange Button',
|
|
499
|
+
placeHolder: null,
|
|
500
|
+
metaId: 'ALL_COM_GEN_MCTRL_downloadIconButton_annuityInterChange_V1',
|
|
501
|
+
isVisible: true,
|
|
502
|
+
isDisable: false,
|
|
503
|
+
defaultValue: null,
|
|
504
|
+
validators: {
|
|
505
|
+
isRequired: false,
|
|
506
|
+
requiredMessage: 'This field cannot be empty',
|
|
507
|
+
minLength: null,
|
|
508
|
+
minLengthMessage: null,
|
|
509
|
+
maxLength: null,
|
|
510
|
+
maxLengthMessage: null,
|
|
511
|
+
pattern: null,
|
|
512
|
+
patternMessage: '',
|
|
513
|
+
},
|
|
514
|
+
options: [],
|
|
515
|
+
cssClass: null,
|
|
516
|
+
value: null,
|
|
517
|
+
style: null,
|
|
518
|
+
imageUrl: 'https://cdn.godigit.com/digitPlusAssets/Transition-with-border-icon.svg',
|
|
519
|
+
configData: {},
|
|
520
|
+
metaDataObj: null,
|
|
521
|
+
isShowLabel: true,
|
|
522
|
+
isMasterControl: true,
|
|
523
|
+
controlType: 'downloadIconButton',
|
|
524
|
+
};
|
|
525
|
+
generateSummaryObj = {
|
|
526
|
+
controlType: 'button',
|
|
527
|
+
fieldName: 'generateSummary',
|
|
528
|
+
label: 'Generate Summary',
|
|
529
|
+
placeHolder: null,
|
|
530
|
+
metaId: 'LI_DP_GEN_CTRL_button_generateSummary_V1',
|
|
531
|
+
isVisible: true,
|
|
532
|
+
isDisable: true,
|
|
533
|
+
validators: {
|
|
534
|
+
isRequired: false,
|
|
535
|
+
requiredMessage: 'This field cannot be empty',
|
|
536
|
+
minLength: null,
|
|
537
|
+
minLengthMessage: null,
|
|
538
|
+
maxLength: null,
|
|
539
|
+
maxLengthMessage: null,
|
|
540
|
+
pattern: null,
|
|
541
|
+
patternMessage: '',
|
|
542
|
+
},
|
|
543
|
+
options: null,
|
|
544
|
+
cssClass: ' col-sm-12 col-md-12 col-lg-12 col-xl-12 my-1 mt-3',
|
|
545
|
+
value: null,
|
|
546
|
+
style: null,
|
|
547
|
+
imageUrl: null,
|
|
548
|
+
isShowLabel: true,
|
|
549
|
+
controlStyle: {
|
|
550
|
+
controlType: null,
|
|
551
|
+
borderColor: null,
|
|
552
|
+
borderWidth: null,
|
|
553
|
+
borderRadius: '4px',
|
|
554
|
+
fontSize: '12px',
|
|
555
|
+
fontWeight: null,
|
|
556
|
+
fontFamily: null,
|
|
557
|
+
color: null,
|
|
558
|
+
background: '#FFBB00',
|
|
559
|
+
caretColor: null,
|
|
560
|
+
nudgeDisplayImage: null,
|
|
561
|
+
dropdownOptionBgColor: null,
|
|
562
|
+
dropdownOptionColor: null,
|
|
563
|
+
dropdownOptionFontWeight: null,
|
|
564
|
+
width: '100%',
|
|
565
|
+
focusBorderWidth: null,
|
|
566
|
+
focusBorderColor: null,
|
|
567
|
+
focusBackground: null,
|
|
568
|
+
focusColor: null,
|
|
569
|
+
focusDropdownOptionBgColor: null,
|
|
570
|
+
focusDropdownOptionColor: null,
|
|
571
|
+
focusDropdownOptionFontWeight: null,
|
|
572
|
+
focusDropdownOptionBorderLeft: null,
|
|
573
|
+
focusDropdownOptionBorderRadius: null,
|
|
574
|
+
hoverBorderColor: null,
|
|
575
|
+
hoverBorderWidth: null,
|
|
576
|
+
hoverColor: null,
|
|
577
|
+
disableColor: null,
|
|
578
|
+
disableBackground: null,
|
|
579
|
+
errorBorderColor: null,
|
|
580
|
+
errorBorderWidth: null,
|
|
581
|
+
errorColor: null,
|
|
582
|
+
createdDate: null,
|
|
583
|
+
padding: null,
|
|
584
|
+
margin: null,
|
|
585
|
+
isMasterCss: null,
|
|
586
|
+
controlMetaId: 'LI_DP_GEN_CTRL_button_generateSummary_V1',
|
|
587
|
+
borderStyle: null,
|
|
588
|
+
height: null,
|
|
589
|
+
minHeight: null,
|
|
590
|
+
maxHeight: null,
|
|
591
|
+
minWidth: null,
|
|
592
|
+
maxWidth: null,
|
|
593
|
+
cssClass: null,
|
|
594
|
+
},
|
|
595
|
+
columnIndex: 0,
|
|
596
|
+
configData: {},
|
|
597
|
+
controlStyles: null,
|
|
598
|
+
};
|
|
599
|
+
constructor(masterService) {
|
|
600
|
+
this.masterService = masterService;
|
|
601
|
+
}
|
|
602
|
+
ngOnChanges(changes) {
|
|
603
|
+
if ((changes['premiumDetails']) && !this.masterService.checkIfValueIsEmpty(changes['premiumDetails'].currentValue)) {
|
|
604
|
+
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.Premium)) {
|
|
605
|
+
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.Premium['textValue'])) {
|
|
606
|
+
this.annuityPremium['textValue'] = this.premiumDetails()?.Premium['textValue'];
|
|
607
|
+
}
|
|
608
|
+
if (Object.hasOwn(this.premiumDetails()?.Premium, 'isDisable')) {
|
|
609
|
+
this.annuityPremiumObj['isDisable'] = this.premiumDetails()?.Premium['isDisable'];
|
|
610
|
+
}
|
|
611
|
+
if (Object.hasOwn(this.premiumDetails()?.Premium, 'isDisableDropdown')) {
|
|
612
|
+
this.annuityPremiumObj['configData']['isDisableDropdown'] = this.premiumDetails()?.Premium['isDisableDropdown'];
|
|
613
|
+
}
|
|
614
|
+
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.Premium['selectValue'])) {
|
|
615
|
+
this.annuityPremium['selectValue'] = this.premiumDetails()?.Premium['selectValue'];
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.annuity)) {
|
|
619
|
+
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.annuity['textValue'])) {
|
|
620
|
+
this.minumumAnnuityPayout['textValue'] = this.premiumDetails()?.annuity['textValue'];
|
|
621
|
+
}
|
|
622
|
+
if (Object.hasOwn(this.premiumDetails()?.Premium, 'isDisable')) {
|
|
623
|
+
this.minimumAnnuityPayout['isDisable'] = this.premiumDetails()?.annuity['isDisable'];
|
|
624
|
+
}
|
|
625
|
+
if (Object.hasOwn(this.premiumDetails()?.Premium, 'isDisableDropdown')) {
|
|
626
|
+
this.minimumAnnuityPayout['configData']['isDisableDropdown'] = this.premiumDetails()?.annuity['isDisableDropdown'];
|
|
627
|
+
}
|
|
628
|
+
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.annuity['selectValue'])) {
|
|
629
|
+
this.minumumAnnuityPayout['selectValue'] = this.premiumDetails()?.annuity['selectValue'];
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity)) {
|
|
633
|
+
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['label'])) {
|
|
634
|
+
this.recalculateButton['label'] = this.premiumDetails()?.calculateAnnuity['label'];
|
|
635
|
+
}
|
|
636
|
+
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['isDisable'])) {
|
|
637
|
+
this.recalculateButton['isDisable'] = this.premiumDetails()?.calculateAnnuity['isDisable'];
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary)) {
|
|
641
|
+
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['label'])) {
|
|
642
|
+
this.generateSummaryObj['label'] = this.premiumDetails()?.generateSummary['label'];
|
|
643
|
+
}
|
|
644
|
+
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['isDisable'])) {
|
|
645
|
+
this.generateSummaryObj['isDisable'] = this.premiumDetails()?.generateSummary['isDisable'];
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
calculateButtonClicked() {
|
|
651
|
+
this.validations.ispremiumEntry = false;
|
|
652
|
+
if (this.masterService.checkIfValueIsEmpty(this.annuityPremium)) {
|
|
653
|
+
this.validations.ispremiumEntry = true;
|
|
654
|
+
}
|
|
655
|
+
this.onCalcualteButtonClick.emit();
|
|
656
|
+
}
|
|
657
|
+
generateSummaryClicked() {
|
|
658
|
+
this.onGenerateSummaryClick.emit();
|
|
659
|
+
}
|
|
660
|
+
onAnnuityPremiumValueChange(value) {
|
|
661
|
+
this.annuityPremium = value;
|
|
662
|
+
this.validations.ispremiumEntry = false;
|
|
663
|
+
if (this.masterService.checkIfValueIsEmpty(this.annuityPremium)) {
|
|
664
|
+
this.validations.ispremiumEntry = true;
|
|
665
|
+
}
|
|
666
|
+
this.onAnnuityPremiumChange.emit(value);
|
|
667
|
+
}
|
|
668
|
+
annualIncomefocusOut() {
|
|
669
|
+
this.validations.ispremiumEntry = false;
|
|
670
|
+
if (this.masterService.checkIfValueIsEmpty(this.annuityPremium)) {
|
|
671
|
+
this.validations.ispremiumEntry = true;
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnnuityPremiumCalculatorComponent, deps: [{ token: i1.MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
675
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AnnuityPremiumCalculatorComponent, isStandalone: true, selector: "lib-annuity-premium-calculator", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, premiumDetails: { classPropertyName: "premiumDetails", publicName: "premiumDetails", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCalcualteButtonClick: "onCalcualteButtonClick", onGenerateSummaryClick: "onGenerateSummaryClick", onAnnuityPremiumChange: "onAnnuityPremiumChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"card px-3\" style=\"padding: 16px;\">\r\n <div class=\"row\">\r\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's your Premium to Annuity Calculator</h4>\r\n </div>\r\n <!-- <div class=\"row\"> -->\r\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\r\n <!-- <div class=\"custom-grid-template\">\r\n\r\n </div> -->\r\n\r\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\r\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\r\n </div>\r\n <!-- </div> -->\r\n <div class=\"custom-grid-template\">\r\n <div class=\"\">\r\n <lib-select-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium\" (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\r\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\r\n Enter Premium\r\n </div>\r\n </div>\r\n <div class=\"mt-3\">\r\n <lib-icon-button [field]=\"interchangeButtonObj\" />\r\n </div>\r\n <div class=\"\">\r\n <lib-select-textbox [field]=\"minimumAnnuityPayout\" [(ngModel)]=\"minumumAnnuityPayout\" />\r\n </div>\r\n </div>\r\n <!-- <div class=\"vertical-line\"></div> -->\r\n <div class=\"custom-grid-template\">\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" />\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\r\n <div class=\"mx-4\">\r\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\r\n </div>\r\n </div>\r\n\r\n <div>\r\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\r\n </div>\r\n</div>\r\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}\n"], dependencies: [{ kind: "component", type: ToggleComponent, selector: "lib-toggle", inputs: ["field", "reactiveFormControlobject"], outputs: ["change"] }, { kind: "component", type: SelectTextboxComponent, selector: "lib-select-textbox", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["field"] }, { kind: "component", type: IconButtonComponent, selector: "lib-icon-button", inputs: ["field"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
676
|
+
}
|
|
677
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnnuityPremiumCalculatorComponent, decorators: [{
|
|
678
|
+
type: Component,
|
|
679
|
+
args: [{ selector: 'lib-annuity-premium-calculator', standalone: true, imports: [
|
|
680
|
+
ToggleComponent,
|
|
681
|
+
SelectTextboxComponent,
|
|
682
|
+
ButtonComponent,
|
|
683
|
+
IconButtonComponent,
|
|
684
|
+
CommonModule,
|
|
685
|
+
FormsModule
|
|
686
|
+
], template: "<div class=\"card px-3\" style=\"padding: 16px;\">\r\n <div class=\"row\">\r\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's your Premium to Annuity Calculator</h4>\r\n </div>\r\n <!-- <div class=\"row\"> -->\r\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\r\n <!-- <div class=\"custom-grid-template\">\r\n\r\n </div> -->\r\n\r\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\r\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\r\n </div>\r\n <!-- </div> -->\r\n <div class=\"custom-grid-template\">\r\n <div class=\"\">\r\n <lib-select-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium\" (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\r\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\r\n Enter Premium\r\n </div>\r\n </div>\r\n <div class=\"mt-3\">\r\n <lib-icon-button [field]=\"interchangeButtonObj\" />\r\n </div>\r\n <div class=\"\">\r\n <lib-select-textbox [field]=\"minimumAnnuityPayout\" [(ngModel)]=\"minumumAnnuityPayout\" />\r\n </div>\r\n </div>\r\n <!-- <div class=\"vertical-line\"></div> -->\r\n <div class=\"custom-grid-template\">\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" />\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\r\n <div class=\"mx-4\">\r\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\r\n </div>\r\n </div>\r\n\r\n <div>\r\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\r\n </div>\r\n</div>\r\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}\n"] }]
|
|
687
|
+
}], ctorParameters: () => [{ type: i1.MasterControlService }], propDecorators: { onCalcualteButtonClick: [{
|
|
688
|
+
type: Output
|
|
689
|
+
}], onGenerateSummaryClick: [{
|
|
690
|
+
type: Output
|
|
691
|
+
}], onAnnuityPremiumChange: [{
|
|
692
|
+
type: Output
|
|
693
|
+
}] } });
|
|
694
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFpQjdDLE1BQU0sT0FBTyxpQ0FBaUM7SUFxbEJ6QjtJQXBsQm5CLEtBQUssR0FBUSxLQUFLLENBQUMsUUFBUSxFQUFPLENBQUM7SUFDbkMsY0FBYyxHQUFRLEtBQUssQ0FBTSxFQUFFLENBQUMsQ0FBQztJQUNyQyxjQUFjLEdBQVM7UUFDckIsU0FBUyxFQUFHLEVBQUU7UUFDZCxXQUFXLEVBQUUsRUFBRTtLQUNoQixDQUFDO0lBQ0Ysb0JBQW9CLEdBQVM7UUFDM0IsU0FBUyxFQUFH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QztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDeEMsSUFBRyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQy9ELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQzt3R0F4cUJVLGlDQUFpQzs0RkFBakMsaUNBQWlDLHdpQkN2QjlDLCs2REFnREEsZ2REbkNJLGVBQWUsNEhBQ2Ysc0JBQXNCLCtHQUN0QixlQUFlLDBFQUNmLG1CQUFtQiw4RUFDbkIsWUFBWSxrSUFDWixXQUFXOzs0RkFLRixpQ0FBaUM7a0JBZDdDLFNBQVM7K0JBQ0UsZ0NBQWdDLGNBQzlCLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLHNCQUFzQjt3QkFDdEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osV0FBVztxQkFDWjt5RkFlUyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4uL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0VGV4dGJveENvbXBvbmVudCB9IGZyb20gJy4uL3NlbGVjdC10ZXh0Ym94L3NlbGVjdC10ZXh0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXN0ZXJDb250cm9sU2VydmljZSB9IGZyb20gJy4uL21hc3Rlci1jb250cm9sLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3InLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgVG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgU2VsZWN0VGV4dGJveENvbXBvbmVudCxcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEljb25CdXR0b25Db21wb25lbnQsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50LmNzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm51aXR5UHJlbWl1bUNhbGN1bGF0b3JDb21wb25lbnQge1xyXG4gIGZpZWxkOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XHJcbiAgcHJlbWl1bURldGFpbHM6IGFueSA9IGlucHV0PGFueT4oe30pO1xyXG4gIGFubnVpdHlQcmVtaXVtIDogYW55ID0ge1xyXG4gICAgdGV4dFZhbHVlIDogJycsXHJcbiAgICBzZWxlY3RWYWx1ZTogJydcclxuICB9O1xyXG4gIG1pbnVtdW1Bbm51aXR5UGF5b3V0IDogYW55ID0ge1xyXG4gICAgdGV4dFZhbHVlIDogJycsXHJcbiAgICBzZWxlY3RWYWx1ZTogJydcclxuICB9O1xyXG4gIEBPdXRwdXQoKSBvbkNhbGN1YWx0ZUJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG9uR2VuZXJhdGVTdW1tYXJ5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25Bbm51aXR5UHJlbWl1bUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHZhbGlkYXRpb25zIDogYW55ID0ge1xyXG4gICAgaXNwcmVtaXVtRW50cnkgOiBmYWxzZVxyXG4gIH1cclxuICBhbm51aXR5UHJlbWl1bVRvZ2dsZU9iajogYW55ID0ge1xyXG4gICAgY29udHJvbFR5cGU6ICd0b2dnbGUnLFxyXG4gICAgZmllbGROYW1lOiAnYW5udWl0eVByZW1pdW1Ub2dnbGUnLFxyXG4gICAgbGFiZWw6ICdFbnRlciBBbm51aXR5JyxcclxuICAgIHBsYWNlSG9sZGVyOiBudWxsLFxyXG4gICAgbWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfdG9nZ2xlX2FubnVpdHlQcmVtaXVtVG9nZ2xlX1YxJyxcclxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcclxuICAgIGlzRGlzYWJsZTogZmFsc2UsXHJcbiAgICB2YWxpZGF0b3JzOiB7XHJcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxyXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXHJcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcclxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoOiAxNTAsXHJcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXHJcbiAgICAgIHBhdHRlcm46IG51bGwsXHJcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiAnJyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25zOiBudWxsLFxyXG4gICAgY3NzQ2xhc3M6XHJcbiAgICAgICcgY29sLXNtLTEyIGNvbC1tZC0xMiBjb2wtbGctMTIgY29sLXhsLTEyIG14LWF1dG8gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJyxcclxuICAgIHZhbHVlOiBudWxsLFxyXG4gICAgc3R5bGU6IG51bGwsXHJcbiAgICBpbWFnZVVybDogbnVsbCxcclxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxyXG4gICAgY29udHJvbFN0eWxlOiB7XHJcbiAgICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcclxuICAgICAgYm9yZGVyQ29sb3I6ICcjREFEQURBJyxcclxuICAgICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxyXG4gICAgICBib3JkZXJSYWRpdXM6ICc5OTlweCcsXHJcbiAgICAgIGZvbnRTaXplOiAnMTJweCcsXHJcbiAgICAgIGZvbnRXZWlnaHQ6ICc0MDAnLFxyXG4gICAgICBmb250RmFtaWx5OiAnTXVsaXNoJyxcclxuICAgICAgY29sb3I6ICcjNDQ0NDQ0JyxcclxuICAgICAgYmFja2dyb3VuZDogJyNGRkZGRkYnLFxyXG4gICAgICBjYXJldENvbG9yOiBudWxsLFxyXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxyXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGZvY3VzQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcclxuICAgICAgZGlzYWJsZUNvbG9yOiAnI0VDRUNFQycsXHJcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiAnI0VDRUNFQycsXHJcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXHJcbiAgICAgIGVycm9yQ29sb3I6IG51bGwsXHJcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxyXG4gICAgICBwYWRkaW5nOiBudWxsLFxyXG4gICAgICBtYXJnaW46IG51bGwsXHJcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxyXG4gICAgICBjb250cm9sTWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfdG9nZ2xlX2FubnVpdHlQcmVtaXVtVG9nZ2xlX1YxJyxcclxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXHJcbiAgICAgIGhlaWdodDogbnVsbCxcclxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxyXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbldpZHRoOiBudWxsLFxyXG4gICAgICBtYXhXaWR0aDogbnVsbCxcclxuICAgICAgY3NzQ2xhc3M6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY29sdW1uSW5kZXg6IDAsXHJcbiAgICBjb25maWdEYXRhOiB7XHJcbiAgICAgIGxlZnRMYWJlbDogJ0VudGVyIFByZW1pdW0nLFxyXG4gICAgfSxcclxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgYW5udWl0eVByZW1pdW1PYmo6IGFueSA9IHtcclxuICAgIGNvbnRyb2xTdHlsZToge1xyXG4gICAgICBjb250cm9sVHlwZTogJ2Ftb3VudFRleHRib3gnLFxyXG4gICAgICBib3JkZXJDb2xvcjogJyNEQURBREEnLFxyXG4gICAgICBib3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgYm9yZGVyUmFkaXVzOiBudWxsLFxyXG4gICAgICBmb250U2l6ZTogJzE2cHgnLFxyXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcclxuICAgICAgZm9udEZhbWlseTogJ011bGlzaCcsXHJcbiAgICAgIGNvbG9yOiAnIzQ0NDQ0NCcsXHJcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZGRkZGJyxcclxuICAgICAgY2FyZXRDb2xvcjogJyNmZmJiMDAnLFxyXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIHdpZHRoOiBudWxsLFxyXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiAnI2ZmYmIwMCcsXHJcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcclxuICAgICAgZm9jdXNDb2xvcjogJyM0NDQ0NDQnLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6ICcjRkZCQjAwJyxcclxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgaG92ZXJDb2xvcjogJyM0NDQ0NDQnLFxyXG4gICAgICBkaXNhYmxlQ29sb3I6ICcjRUNFQ0VDJyxcclxuICAgICAgZGlzYWJsZUJhY2tncm91bmQ6ICcjRUNFQ0VDJyxcclxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogJyNFRTAwMDAnLFxyXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBlcnJvckNvbG9yOiAnIzQ0NDQ0NCcsXHJcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxyXG4gICAgICBwYWRkaW5nOiBudWxsLFxyXG4gICAgICBtYXJnaW46IG51bGwsXHJcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxyXG4gICAgICBjb250cm9sTWV0YUlkOiAnQUxMX0RQX0RQX0NUUkxfYW1vdW50VGV4dGJveF9hbm51aXR5UHJlbWl1bV9WMScsXHJcbiAgICAgIGJvcmRlclN0eWxlOiBudWxsLFxyXG4gICAgICBoZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcclxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxyXG4gICAgICBtaW5XaWR0aDogbnVsbCxcclxuICAgICAgbWF4V2lkdGg6IG51bGwsXHJcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxyXG4gICAgfSxcclxuICAgIGZpZWxkTmFtZTogJ2FubnVpdHlQcmVtaXVtJyxcclxuICAgIGxhYmVsOiAnUHJlbWl1bScsXHJcbiAgICBwbGFjZUhvbGRlcjogJ0VudGVyIFByZW1pdW0nLFxyXG4gICAgbWV0YUlkOiAnQUxMX0RQX0RQX0NUUkxfYW1vdW50VGV4dGJveF9hbm51aXR5UHJlbWl1bV9WMScsXHJcbiAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxyXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxyXG4gICAgdmFsaWRhdG9yczoge1xyXG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnRW50ZXIgUHJlbWl1bScsXHJcbiAgICAgIG1pbkxlbmd0aDogNCxcclxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoOiAxMCxcclxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgcGF0dGVybjogbnVsbCxcclxuICAgICAgcGF0dGVybk1lc3NhZ2U6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgb3B0aW9uczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdmFsdWU6ICdNb250aGx5JyxcclxuICAgICAgICBsYWJlbDogJ01vbnRobHknLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdmFsdWU6ICdPbmUgVGltZScsXHJcbiAgICAgICAgbGFiZWw6ICdPbmUgVGltZScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ1F1YXJ0ZXJseScsXHJcbiAgICAgICAgbGFiZWw6ICdRdWFydGVybHknLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdmFsdWU6ICdIYWxmIFllYXJseScsXHJcbiAgICAgICAgbGFiZWw6ICdIYWxmIFllYXJseScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ1llYXJseScsXHJcbiAgICAgICAgbGFiZWw6ICdZZWFybHknLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICAgIGNzc0NsYXNzOiAnIGNvbC1zbS0xMiBjb2wtbWQtMyBjb2wtbGctMyBjb2wteGwtMyBweS0wIHBsLTMgcHItMCBtdC01IHB0LTInLFxyXG4gICAgdmFsdWU6IG51bGwsXHJcbiAgICBzdHlsZTogbnVsbCxcclxuICAgIGltYWdlVXJsOiBudWxsLFxyXG4gICAgY29uZmlnRGF0YToge1xyXG4gICAgICBpc0NvbW1hQWxsb3dlZDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICBtZXRhRGF0YU9iajogbnVsbCxcclxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxyXG4gICAgaXNNYXN0ZXJDb250cm9sOiBmYWxzZSxcclxuICAgIGNvbnRyb2xUeXBlOiAnYW1vdW50VGV4dGJveCcsXHJcbiAgfTtcclxuXHJcbiAgbWluaW11bUFubnVpdHlQYXlvdXQ6IGFueSA9IHtcclxuICAgIGNvbnRyb2xTdHlsZToge1xyXG4gICAgICBjb250cm9sVHlwZTogJ2Ftb3VudFRleHRib3gnLFxyXG4gICAgICBib3JkZXJDb2xvcjogJyNEQURBREEnLFxyXG4gICAgICBib3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgYm9yZGVyUmFkaXVzOiBudWxsLFxyXG4gICAgICBmb250U2l6ZTogJzE2cHgnLFxyXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcclxuICAgICAgZm9udEZhbWlseTogJ011bGlzaCcsXHJcbiAgICAgIGNvbG9yOiAnIzQ0NDQ0NCcsXHJcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZGRkZGJyxcclxuICAgICAgY2FyZXRDb2xvcjogJyNmZmJiMDAnLFxyXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIHdpZHRoOiBudWxsLFxyXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiAnI2ZmYmIwMCcsXHJcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcclxuICAgICAgZm9jdXNDb2xvcjogJyM0NDQ0NDQnLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6ICcjRkZCQjAwJyxcclxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgaG92ZXJDb2xvcjogJyM0NDQ0NDQnLFxyXG4gICAgICBkaXNhYmxlQ29sb3I6ICcjOTk5OTk5JyxcclxuICAgICAgZGlzYWJsZUJhY2tncm91bmQ6ICcjRUNFQ0VDJyxcclxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogJyNFRTAwMDAnLFxyXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBlcnJvckNvbG9yOiAnIzQ0NDQ0NCcsXHJcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxyXG4gICAgICBwYWRkaW5nOiBudWxsLFxyXG4gICAgICBtYXJnaW46IG51bGwsXHJcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxyXG4gICAgICBjb250cm9sTWV0YUlkOlxyXG4gICAgICAgICdBTExfRFBfRFBfQ1RSTF9hbW91bnRUZXh0Ym94X21pbmltdW1HdWFyYW50ZWVkQW5udWl0eVBheW91dF9WMScsXHJcbiAgICAgIGJvcmRlclN0eWxlOiBudWxsLFxyXG4gICAgICBoZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcclxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxyXG4gICAgICBtaW5XaWR0aDogbnVsbCxcclxuICAgICAgbWF4V2lkdGg6IG51bGwsXHJcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxyXG4gICAgfSxcclxuICAgIGZpZWxkTmFtZTogJ21pbmltdW1HdWFyYW50ZWVkQW5udWl0eVBheW91dCcsXHJcbiAgICBsYWJlbDogJ01pbmltdW0gR3VhcmFudGVlZCBBbm51aXR5IFBheW91dCcsXHJcbiAgICBwbGFjZUhvbGRlcjogJ0VudGVyIEFubnVpdHkgUGF5b3V0JyxcclxuICAgIG1ldGFJZDogJ0FMTF9EUF9EUF9DVFJMX2Ftb3VudFRleHRib3hfbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0X1YxJyxcclxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcclxuICAgIGlzRGlzYWJsZTogdHJ1ZSxcclxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcclxuICAgIHZhbGlkYXRvcnM6IHtcclxuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXHJcbiAgICAgIHJlcXVpcmVkTWVzc2FnZTogJ0VudGVyIEFubnVpdHkgUGF5b3V0JyxcclxuICAgICAgbWluTGVuZ3RoOiA0LFxyXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxyXG4gICAgICBtYXhMZW5ndGg6IDEwLFxyXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogbnVsbCxcclxuICAgIH0sXHJcbiAgICBvcHRpb25zOiBbXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ01vbnRobHknLFxyXG4gICAgICAgIGxhYmVsOiAnTW9udGhseScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ09uZSBUaW1lJyxcclxuICAgICAgICBsYWJlbDogJ09uZSBUaW1lJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHZhbHVlOiAnUXVhcnRlcmx5JyxcclxuICAgICAgICBsYWJlbDogJ1F1YXJ0ZXJseScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ0hhbGYgWWVhcmx5JyxcclxuICAgICAgICBsYWJlbDogJ0hhbGYgWWVhcmx5JyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHZhbHVlOiAnWWVhcmx5JyxcclxuICAgICAgICBsYWJlbDogJ1llYXJseScsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgY3NzQ2xhc3M6XHJcbiAgICAgICcgY29sLXNtLTEyIGNvbC1tZC0zIGNvbC1sZy0zIGNvbC14bC0zIHB5LTAgcGwtMyBtdC0xIHByLTAgbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0JyxcclxuICAgIHZhbHVlOiBudWxsLFxyXG4gICAgc3R5bGU6IG51bGwsXHJcbiAgICBpbWFnZVVybDogbnVsbCxcclxuICAgIGNvbmZpZ0RhdGE6IHtcclxuICAgICAgaXNDb21tYUFsbG93ZWQ6IHRydWUsXHJcbiAgICB9LFxyXG4gICAgbWV0YURhdGFPYmo6IG51bGwsXHJcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcclxuICAgIGlzTWFzdGVyQ29udHJvbDogZmFsc2UsXHJcbiAgICBjb250cm9sVHlwZTogJ2Ftb3VudFRleHRib3gnLFxyXG4gIH07XHJcblxyXG4gIGVuYWJsZUF1dG9EZWJpdE9iajogYW55ID0ge1xyXG4gICAgY29udHJvbFR5cGU6ICd0b2dnbGUnLFxyXG4gICAgZmllbGROYW1lOiAnYXV0b0RlYml0JyxcclxuICAgIGxhYmVsOiAnRW5hYmxlIEF1dG8gUGF5IHRvIGdldCBoaWdoZXIgYW5udWl0eSByYXRlJyxcclxuICAgIHBsYWNlSG9sZGVyOiAnJyxcclxuICAgIG1ldGFJZDogJ0FMTF9DT01fR0VOX0NUUkxfdG9nZ2xlX2F1dG9EZWJpdF9WMScsXHJcbiAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxyXG4gICAgdmFsaWRhdG9yczoge1xyXG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHknLFxyXG4gICAgICBtaW5MZW5ndGg6IG51bGwsXHJcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXHJcbiAgICAgIG1heExlbmd0aDogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgcGF0dGVybjogbnVsbCxcclxuICAgICAgcGF0dGVybk1lc3NhZ2U6ICcnLFxyXG4gICAgfSxcclxuICAgIG9wdGlvbnM6IG51bGwsXHJcbiAgICBjc3NDbGFzczogJ2NvbC1zbS0xMiBjb2wtbWQtNSBjb2wtbGctNSBjb2wteGwtNSBtdC00IGF1dG9QYXknLFxyXG4gICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgc3R5bGU6IG51bGwsXHJcbiAgICBpbWFnZVVybDogbnVsbCxcclxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxyXG4gICAgY29udHJvbFN0eWxlOiB7XHJcbiAgICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcclxuICAgICAgYm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBib3JkZXJSYWRpdXM6IG51bGwsXHJcbiAgICAgIGZvbnRTaXplOiAnMTJweCcsXHJcbiAgICAgIGZvbnRXZWlnaHQ6ICc0MDAnLFxyXG4gICAgICBmb250RmFtaWx5OiAnTXVsaXNoJyxcclxuICAgICAgY29sb3I6ICcjNDQ0NDQ0JyxcclxuICAgICAgYmFja2dyb3VuZDogJyNFNkY3RjMnLFxyXG4gICAgICBjYXJldENvbG9yOiBudWxsLFxyXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIHdpZHRoOiBudWxsLFxyXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGZvY3VzQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcclxuICAgICAgZGlzYWJsZUNvbG9yOiAnI0VDRUNFQycsXHJcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiAnI0VDRUNFQycsXHJcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXHJcbiAgICAgIGVycm9yQ29sb3I6IG51bGwsXHJcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxyXG4gICAgICBwYWRkaW5nOiBudWxsLFxyXG4gICAgICBtYXJnaW46IG51bGwsXHJcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxyXG4gICAgICBjb250cm9sTWV0YUlkOiAnQUxMX0NPTV9HRU5fQ1RSTF90b2dnbGVfbWFpbGluZ0FkZHJlc3NUb2dnbGVfVjEnLFxyXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcclxuICAgICAgaGVpZ2h0OiBudWxsLFxyXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1heEhlaWdodDogbnVsbCxcclxuICAgICAgbWluV2lkdGg6IG51bGwsXHJcbiAgICAgIG1heFdpZHRoOiBudWxsLFxyXG4gICAgICBjc3NDbGFzczogbnVsbCxcclxuICAgIH0sXHJcbiAgICBjb2x1bW5JbmRleDogMCxcclxuICAgIGNvbmZpZ0RhdGE6IHt9LFxyXG4gICAgY29udHJvbFN0eWxlczogbnVsbCxcclxuICB9O1xyXG5cclxuICByZWNhbGN1bGF0ZUJ1dHRvbjogYW55ID0ge1xyXG4gICAgY29udHJvbFR5cGU6ICdidXR0b24nLFxyXG4gICAgZmllbGROYW1lOiAnY2FsY3VsYXRlQW5udWl0eVBheW91dCcsXHJcbiAgICBsYWJlbDogJ0NhbGN1bGF0ZSBBbm51aXR5IFBheW91dCcsXHJcbiAgICBwbGFjZUhvbGRlcjogbnVsbCxcclxuICAgIG1ldGFJZDogJ0xJX0RQX0dFTl9DVFJMX2J1dHRvbl9jYWxjdWxhdGVBbm51aXR5UGF5b3V0X1YxJyxcclxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcclxuICAgIGlzRGlzYWJsZTogZmFsc2UsXHJcbiAgICB2YWxpZGF0b3JzOiB7XHJcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxyXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXHJcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcclxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoOiBudWxsLFxyXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogJycsXHJcbiAgICB9LFxyXG4gICAgb3B0aW9uczogbnVsbCxcclxuICAgIGNzc0NsYXNzOiAnIGNvbC1zbS0xMiBjb2wtbWQtMTIgY29sLWxnLTEyIGNvbC14bC0xMiBtdC0zJyxcclxuICAgIHZhbHVlOiBudWxsLFxyXG4gICAgc3R5bGU6IG51bGwsXHJcbiAgICBpbWFnZVVybDogbnVsbCxcclxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxyXG4gICAgY29udHJvbFN0eWxlOiB7XHJcbiAgICAgIGNvbnRyb2xUeXBlOiBudWxsLFxyXG4gICAgICBib3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgYm9yZGVyV2lkdGg6IG51bGwsXHJcbiAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXHJcbiAgICAgIGZvbnRTaXplOiAnMTJweCcsXHJcbiAgICAgIGZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIGZvbnRGYW1pbHk6IG51bGwsXHJcbiAgICAgIGNvbG9yOiBudWxsLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAnI0ZGQkIwMCcsXHJcbiAgICAgIGNhcmV0Q29sb3I6IG51bGwsXHJcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXHJcbiAgICAgIGRyb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXHJcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcclxuICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogbnVsbCxcclxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNCYWNrZ3JvdW5kOiBudWxsLFxyXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6IG51bGwsXHJcbiAgICAgIGhvdmVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGRpc2FibGVDb2xvcjogbnVsbCxcclxuICAgICAgZGlzYWJsZUJhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6IG51bGwsXHJcbiAgICAgIGVycm9yQ29sb3I6IG51bGwsXHJcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxyXG4gICAgICBwYWRkaW5nOiBudWxsLFxyXG4gICAgICBtYXJnaW46IG51bGwsXHJcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxyXG4gICAgICBjb250cm9sTWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfYnV0dG9uX2NhbGN1bGF0ZUFubnVpdHlQYXlvdXRfVjEnLFxyXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcclxuICAgICAgaGVpZ2h0OiBudWxsLFxyXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1heEhlaWdodDogbnVsbCxcclxuICAgICAgbWluV2lkdGg6IG51bGwsXHJcbiAgICAgIG1heFdpZHRoOiBudWxsLFxyXG4gICAgICBjc3NDbGFzczogbnVsbCxcclxuICAgIH0sXHJcbiAgICBjb2x1bW5JbmRleDogMCxcclxuICAgIGNvbmZpZ0RhdGE6IHt9LFxyXG4gICAgY29udHJvbFN0eWxlczogbnVsbCxcclxuICB9O1xyXG5cclxuICBpbnRlcmNoYW5nZUJ1dHRvbk9iajogYW55ID0ge1xyXG4gICAgY29udHJvbFN0eWxlOiB7XHJcbiAgICAgIGNvbnRyb2xUeXBlOiBudWxsLFxyXG4gICAgICBib3JkZXJDb2xvcjogJyNEREREREQnLFxyXG4gICAgICBib3JkZXJXaWR0aDogJzBweCcsXHJcbiAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXHJcbiAgICAgIGZvbnRTaXplOiBudWxsLFxyXG4gICAgICBmb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICBmb250RmFtaWx5OiBudWxsLFxyXG4gICAgICBjb2xvcjogbnVsbCxcclxuICAgICAgYmFja2dyb3VuZDogbnVsbCxcclxuICAgICAgY2FyZXRDb2xvcjogbnVsbCxcclxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXHJcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiBudWxsLFxyXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGZvY3VzQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogbnVsbCxcclxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcclxuICAgICAgZGlzYWJsZUNvbG9yOiBudWxsLFxyXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogbnVsbCxcclxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogbnVsbCxcclxuICAgICAgZXJyb3JDb2xvcjogbnVsbCxcclxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXHJcbiAgICAgIHBhZGRpbmc6IG51bGwsXHJcbiAgICAgIG1hcmdpbjogbnVsbCxcclxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXHJcbiAgICAgIGNvbnRyb2xNZXRhSWQ6IG51bGwsXHJcbiAgICAgIGJvcmRlclN0eWxlOiBudWxsLFxyXG4gICAgICBoZWlnaHQ6ICcyMHB4JyxcclxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxyXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbldpZHRoOiBudWxsLFxyXG4gICAgICBtYXhXaWR0aDogbnVsbCxcclxuICAgICAgY3NzQ2xhc3M6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgZmllbGROYW1lOiAnYW5udWl0eUludGVyQ2hhbmdlJyxcclxuICAgIGxhYmVsOiAnQW5udWl0eSBJbnRlcmNoYW5nZSBCdXR0b24nLFxyXG4gICAgcGxhY2VIb2xkZXI6IG51bGwsXHJcbiAgICBtZXRhSWQ6ICdBTExfQ09NX0dFTl9NQ1RSTF9kb3dubG9hZEljb25CdXR0b25fYW5udWl0eUludGVyQ2hhbmdlX1YxJyxcclxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcclxuICAgIGlzRGlzYWJsZTogZmFsc2UsXHJcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXHJcbiAgICB2YWxpZGF0b3JzOiB7XHJcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxyXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXHJcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcclxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoOiBudWxsLFxyXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogJycsXHJcbiAgICB9LFxyXG4gICAgb3B0aW9uczogW10sXHJcbiAgICBjc3NDbGFzczogbnVsbCxcclxuICAgIHZhbHVlOiBudWxsLFxyXG4gICAgc3R5bGU6IG51bGwsXHJcbiAgICBpbWFnZVVybDpcclxuICAgICAgJ2h0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9UcmFuc2l0aW9uLXdpdGgtYm9yZGVyLWljb24uc3ZnJyxcclxuICAgIGNvbmZpZ0RhdGE6IHt9LFxyXG4gICAgbWV0YURhdGFPYmo6IG51bGwsXHJcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcclxuICAgIGlzTWFzdGVyQ29udHJvbDogdHJ1ZSxcclxuICAgIGNvbnRyb2xUeXBlOiAnZG93bmxvYWRJY29uQnV0dG9uJyxcclxuICB9O1xyXG5cclxuICBnZW5lcmF0ZVN1bW1hcnlPYmo6IGFueSA9IHtcclxuICAgIGNvbnRyb2xUeXBlOiAnYnV0dG9uJyxcclxuICAgIGZpZWxkTmFtZTogJ2dlbmVyYXRlU3VtbWFyeScsXHJcbiAgICBsYWJlbDogJ0dlbmVyYXRlIFN1bW1hcnknLFxyXG4gICAgcGxhY2VIb2xkZXI6IG51bGwsXHJcbiAgICBtZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF9idXR0b25fZ2VuZXJhdGVTdW1tYXJ5X1YxJyxcclxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcclxuICAgIGlzRGlzYWJsZTogdHJ1ZSxcclxuICAgIHZhbGlkYXRvcnM6IHtcclxuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXHJcbiAgICAgIHJlcXVpcmVkTWVzc2FnZTogJ1RoaXMgZmllbGQgY2Fubm90IGJlIGVtcHR5JyxcclxuICAgICAgbWluTGVuZ3RoOiBudWxsLFxyXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxyXG4gICAgICBtYXhMZW5ndGg6IG51bGwsXHJcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXHJcbiAgICAgIHBhdHRlcm46IG51bGwsXHJcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiAnJyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25zOiBudWxsLFxyXG4gICAgY3NzQ2xhc3M6ICcgY29sLXNtLTEyIGNvbC1tZC0xMiBjb2wtbGctMTIgY29sLXhsLTEyIG15LTEgbXQtMycsXHJcbiAgICB2YWx1ZTogbnVsbCxcclxuICAgIHN0eWxlOiBudWxsLFxyXG4gICAgaW1hZ2VVcmw6IG51bGwsXHJcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcclxuICAgIGNvbnRyb2xTdHlsZToge1xyXG4gICAgICBjb250cm9sVHlwZTogbnVsbCxcclxuICAgICAgYm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGJvcmRlcldpZHRoOiBudWxsLFxyXG4gICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxyXG4gICAgICBmb250U2l6ZTogJzEycHgnLFxyXG4gICAgICBmb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICBmb250RmFtaWx5OiBudWxsLFxyXG4gICAgICBjb2xvcjogbnVsbCxcclxuICAgICAgYmFja2dyb3VuZDogJyNGRkJCMDAnLFxyXG4gICAgICBjYXJldENvbG9yOiBudWxsLFxyXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgIGZvY3VzQm9yZGVyV2lkdGg6IG51bGwsXHJcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcclxuICAgICAgZm9jdXNDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzOiBudWxsLFxyXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiBudWxsLFxyXG4gICAgICBob3ZlckNvbG9yOiBudWxsLFxyXG4gICAgICBkaXNhYmxlQ29sb3I6IG51bGwsXHJcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiBudWxsLFxyXG4gICAgICBlcnJvckJvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiBudWxsLFxyXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxyXG4gICAgICBjcmVhdGVkRGF0ZTogbnVsbCxcclxuICAgICAgcGFkZGluZzogbnVsbCxcclxuICAgICAgbWFyZ2luOiBudWxsLFxyXG4gICAgICBpc01hc3RlckNzczogbnVsbCxcclxuICAgICAgY29udHJvbE1ldGFJZDogJ0xJX0RQX0dFTl9DVFJMX2J1dHRvbl9nZW5lcmF0ZVN1bW1hcnlfVjEnLFxyXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcclxuICAgICAgaGVpZ2h0OiBudWxsLFxyXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1heEhlaWdodDogbnVsbCxcclxuICAgICAgbWluV2lkdGg6IG51bGwsXHJcbiAgICAgIG1heFdpZHRoOiBudWxsLFxyXG4gICAgICBjc3NDbGFzczogbnVsbCxcclxuICAgIH0sXHJcbiAgICBjb2x1bW5JbmRleDogMCxcclxuICAgIGNvbmZpZ0RhdGE6IHt9LFxyXG4gICAgY29udHJvbFN0eWxlczogbnVsbCxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFzdGVyU2VydmljZSA6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoIChjaGFuZ2VzWydwcmVtaXVtRGV0YWlscyddKSAmJiAhdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkoY2hhbmdlc1sncHJlbWl1bURldGFpbHMnXS5jdXJyZW50VmFsdWUpICkge1xyXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtKSkge1xyXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ3RleHRWYWx1ZSddKSkge1xyXG4gICAgICAgICAgdGhpcy5hbm51aXR5UHJlbWl1bVsndGV4dFZhbHVlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ3RleHRWYWx1ZSddXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtLCAnaXNEaXNhYmxlJykpIHtcclxuICAgICAgICAgIHRoaXMuYW5udWl0eVByZW1pdW1PYmpbJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtWydpc0Rpc2FibGUnXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW0sICdpc0Rpc2FibGVEcm9wZG93bicpKSB7XHJcbiAgICAgICAgICB0aGlzLmFubnVpdHlQcmVtaXVtT2JqWydjb25maWdEYXRhJ11bJ2lzRGlzYWJsZURyb3Bkb3duJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ2lzRGlzYWJsZURyb3Bkb3duJ107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ3NlbGVjdFZhbHVlJ10pKSB7XHJcbiAgICAgICAgICB0aGlzLmFubnVpdHlQcmVtaXVtWydzZWxlY3RWYWx1ZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtWydzZWxlY3RWYWx1ZSddXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5KSkge1xyXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ3RleHRWYWx1ZSddKSkge1xyXG4gICAgICAgICAgdGhpcy5taW51bXVtQW5udWl0eVBheW91dFsndGV4dFZhbHVlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ3RleHRWYWx1ZSddXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtLCAnaXNEaXNhYmxlJykpIHtcclxuICAgICAgICAgIHRoaXMubWluaW11bUFubnVpdHlQYXlvdXRbJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5Wydpc0Rpc2FibGUnXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW0sICdpc0Rpc2FibGVEcm9wZG93bicpKSB7XHJcbiAgICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0Wydjb25maWdEYXRhJ11bJ2lzRGlzYWJsZURyb3Bkb3duJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ2lzRGlzYWJsZURyb3Bkb3duJ107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ3NlbGVjdFZhbHVlJ10pKSB7XHJcbiAgICAgICAgICB0aGlzLm1pbnVtdW1Bbm51aXR5UGF5b3V0WydzZWxlY3RWYWx1ZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5WydzZWxlY3RWYWx1ZSddXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5KSkge1xyXG5cclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5WydsYWJlbCddKSkge1xyXG4gICAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZUJ1dHRvblsnbGFiZWwnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnbGFiZWwnXVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5Wydpc0Rpc2FibGUnXSkpIHtcclxuICAgICAgICAgIHRoaXMucmVjYWxjdWxhdGVCdXR0b25bJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5Wydpc0Rpc2FibGUnXVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5KSkge1xyXG5cclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2xhYmVsJ10pKSB7XHJcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlU3VtbWFyeU9ialsnbGFiZWwnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5WydsYWJlbCddXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnaXNEaXNhYmxlJ10pKSB7XHJcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlU3VtbWFyeU9ialsnaXNEaXNhYmxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnaXNEaXNhYmxlJ11cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYWxjdWxhdGVCdXR0b25DbGlja2VkKCkge1xyXG4gICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IGZhbHNlO1xyXG4gICAgaWYodGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5hbm51aXR5UHJlbWl1bSkpIHtcclxuICAgICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQ2FsY3VhbHRlQnV0dG9uQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVTdW1tYXJ5Q2xpY2tlZCgpIHtcclxuICAgIHRoaXMub25HZW5lcmF0ZVN1bW1hcnlDbGljay5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkFubnVpdHlQcmVtaXVtVmFsdWVDaGFuZ2UodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5hbm51aXR5UHJlbWl1bSA9IHZhbHVlO1xyXG4gICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IGZhbHNlO1xyXG4gICAgaWYodGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5hbm51aXR5UHJlbWl1bSkpIHtcclxuICAgICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQW5udWl0eVByZW1pdW1DaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBhbm51YWxJbmNvbWVmb2N1c091dCgpIHtcclxuICAgIHRoaXMudmFsaWRhdGlvbnMuaXNwcmVtaXVtRW50cnkgPSBmYWxzZTtcclxuICAgIGlmKHRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW0pKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGlvbnMuaXNwcmVtaXVtRW50cnkgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBweC0zXCIgc3R5bGU9XCJwYWRkaW5nOiAxNnB4O1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxoNCBjbGFzcz1cImNhcmQtbWFpbi10aXRsZVwiPjxzcGFuIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMnB4O1wiPjxpbWcgc3JjPVwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvY2FsY3VsYXRvci5zdmdcIiBhbHQ9XCJhbm51aXR5IGNhbGN1bGF0b3JcIj48L3NwYW4+SGVyZSdzIHlvdXIgUHJlbWl1bSB0byBBbm51aXR5IENhbGN1bGF0b3I8L2g0PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gPGRpdiBjbGFzcz1cInJvd1wiPiAtLT5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZCBwYi00IHB4LTRcIiBzdHlsZT1cImJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcIj5cclxuICAgIDwhLS0gPGRpdiBjbGFzcz1cImN1c3RvbS1ncmlkLXRlbXBsYXRlXCI+XHJcblxyXG4gICAgPC9kaXY+IC0tPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbXgtYXV0b1wiIHN0eWxlPVwidHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtNTglKTtcIj5cclxuICAgICAgPGxpYi10b2dnbGUgY2xhc3M9XCJjb2wtYXV0b1wiIFtmaWVsZF09XCJhbm51aXR5UHJlbWl1bVRvZ2dsZU9ialwiIC8+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gPC9kaXY+IC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImN1c3RvbS1ncmlkLXRlbXBsYXRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICA8bGliLXNlbGVjdC10ZXh0Ym94IFtmaWVsZF09XCJhbm51aXR5UHJlbWl1bU9ialwiIFsobmdNb2RlbCldPVwiYW5udWl0eVByZW1pdW1cIiAobmdNb2RlbENoYW5nZSk9XCJvbkFubnVpdHlQcmVtaXVtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInZhbGlkYXRpb25zLmlzcHJlbWl1bUVudHJ5XCI+XHJcbiAgICAgICAgICBFbnRlciBQcmVtaXVtXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiPlxyXG4gICAgICAgIDxsaWItaWNvbi1idXR0b24gW2ZpZWxkXT1cImludGVyY2hhbmdlQnV0dG9uT2JqXCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICA8bGliLXNlbGVjdC10ZXh0Ym94IFtmaWVsZF09XCJtaW5pbXVtQW5udWl0eVBheW91dFwiIFsobmdNb2RlbCldPVwibWludW11bUFubnVpdHlQYXlvdXRcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwidmVydGljYWwtbGluZVwiPjwvZGl2PiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tZ3JpZC10ZW1wbGF0ZVwiPlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxsaWItdG9nZ2xlIFtmaWVsZF09XCJlbmFibGVBdXRvRGViaXRPYmpcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuXHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIHB5LTMgbWItNCBib3JkZXItdG9wLTBcIiBzdHlsZT1cImJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJteC00XCI+XHJcbiAgICAgIDxsaWItYnV0dG9uIFtmaWVsZF09XCJyZWNhbGN1bGF0ZUJ1dHRvblwiIChjbGljayk9XCJjYWxjdWxhdGVCdXR0b25DbGlja2VkKClcIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXY+XHJcbiAgICA8bGliLWJ1dHRvbiBbZmllbGRdPVwiZ2VuZXJhdGVTdW1tYXJ5T2JqXCIgKGNsaWNrKT1cImdlbmVyYXRlU3VtbWFyeUNsaWNrZWQoKVwiIC8+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|