info-library 2.14.36 → 2.14.37
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/controls/input/input.component.d.ts +3 -1
- package/esm2020/controls/input/input.component.mjs +36 -32
- package/fesm2015/info-library.mjs +35 -31
- package/fesm2015/info-library.mjs.map +1 -1
- package/fesm2020/info-library.mjs +35 -31
- package/fesm2020/info-library.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -18,9 +18,11 @@ export declare class InfoInputComponent implements OnInit, ControlValueAccessor
|
|
|
18
18
|
max: number;
|
|
19
19
|
step: number;
|
|
20
20
|
validate: boolean;
|
|
21
|
+
bluronlychange: boolean;
|
|
21
22
|
onblur: EventEmitter<any>;
|
|
22
23
|
maskOptions: any;
|
|
23
24
|
value: string;
|
|
25
|
+
valueOnEnter: any;
|
|
24
26
|
customMask: string;
|
|
25
27
|
onChange: any;
|
|
26
28
|
onTouched: any;
|
|
@@ -41,5 +43,5 @@ export declare class InfoInputComponent implements OnInit, ControlValueAccessor
|
|
|
41
43
|
registerOnTouched(fn: any): void;
|
|
42
44
|
setDisabledState?(isDisabled: boolean): void;
|
|
43
45
|
static ɵfac: i0.ɵɵFactoryDeclaration<InfoInputComponent, never>;
|
|
44
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<InfoInputComponent, "info-input", never, { "placeholder": "placeholder"; "disabled": "disabled"; "readonly": "readonly"; "required": "required"; "maxlength": "maxlength"; "type": "type"; "rows": "rows"; "tabindex": "tabindex"; "iconPrefix": "iconPrefix"; "iconSuffix": "iconSuffix"; "min": "min"; "max": "max"; "step": "step"; "validate": "validate"; "ismask": "ismask"; }, { "onblur": "onblur"; }, never, never, false>;
|
|
46
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InfoInputComponent, "info-input", never, { "placeholder": "placeholder"; "disabled": "disabled"; "readonly": "readonly"; "required": "required"; "maxlength": "maxlength"; "type": "type"; "rows": "rows"; "tabindex": "tabindex"; "iconPrefix": "iconPrefix"; "iconSuffix": "iconSuffix"; "min": "min"; "max": "max"; "step": "step"; "validate": "validate"; "bluronlychange": "bluronlychange"; "ismask": "ismask"; }, { "onblur": "onblur"; }, never, never, false>;
|
|
45
47
|
}
|
|
@@ -55,7 +55,7 @@ function InfoInputComponent_mat_form_field_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
55
55
|
i0.ɵɵelementStart(0, "mat-form-field");
|
|
56
56
|
i0.ɵɵtemplate(1, InfoInputComponent_mat_form_field_0_mat_icon_1_Template, 2, 1, "mat-icon", 2);
|
|
57
57
|
i0.ɵɵelementStart(2, "input", 3);
|
|
58
|
-
i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_0_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.value = $event); })("input", function InfoInputComponent_mat_form_field_0_Template_input_input_2_listener() { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_0_Template_input_blur_2_listener() { i0.ɵɵrestoreView(_r11); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onBlur()); });
|
|
58
|
+
i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_0_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.value = $event); })("input", function InfoInputComponent_mat_form_field_0_Template_input_input_2_listener() { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_0_Template_input_blur_2_listener() { i0.ɵɵrestoreView(_r11); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onBlur()); })("focusin", function InfoInputComponent_mat_form_field_0_Template_input_focusin_2_listener() { i0.ɵɵrestoreView(_r11); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.valueOnEnter = ctx_r14.value); });
|
|
59
59
|
i0.ɵɵpipe(3, "translate");
|
|
60
60
|
i0.ɵɵelementEnd();
|
|
61
61
|
i0.ɵɵtemplate(4, InfoInputComponent_mat_form_field_0_mat_icon_4_Template, 2, 1, "mat-icon", 4);
|
|
@@ -80,38 +80,38 @@ function InfoInputComponent_mat_form_field_1_mat_icon_1_Template(rf, ctx) { if (
|
|
|
80
80
|
i0.ɵɵtext(1);
|
|
81
81
|
i0.ɵɵelementEnd();
|
|
82
82
|
} if (rf & 2) {
|
|
83
|
-
const
|
|
83
|
+
const ctx_r15 = i0.ɵɵnextContext(2);
|
|
84
84
|
i0.ɵɵadvance(1);
|
|
85
|
-
i0.ɵɵtextInterpolate(
|
|
85
|
+
i0.ɵɵtextInterpolate(ctx_r15.iconPrefix);
|
|
86
86
|
} }
|
|
87
87
|
function InfoInputComponent_mat_form_field_1_input_2_Template(rf, ctx) { if (rf & 1) {
|
|
88
|
-
const
|
|
88
|
+
const _r21 = i0.ɵɵgetCurrentView();
|
|
89
89
|
i0.ɵɵelementStart(0, "input", 11);
|
|
90
|
-
i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_1_input_2_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(
|
|
90
|
+
i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_1_input_2_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r20 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r20.value = $event); })("ngModelChange", function InfoInputComponent_mat_form_field_1_input_2_Template_input_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r22 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r22.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_1_input_2_Template_input_blur_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r23 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r23.onBlur()); })("focusin", function InfoInputComponent_mat_form_field_1_input_2_Template_input_focusin_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r24 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r24.valueOnEnter = ctx_r24.value); });
|
|
91
91
|
i0.ɵɵpipe(1, "translate");
|
|
92
92
|
i0.ɵɵelementEnd();
|
|
93
93
|
} if (rf & 2) {
|
|
94
|
-
const
|
|
95
|
-
i0.ɵɵproperty("tabindex",
|
|
94
|
+
const ctx_r16 = i0.ɵɵnextContext(2);
|
|
95
|
+
i0.ɵɵproperty("tabindex", ctx_r16.tabindex)("placeholder", i0.ɵɵpipeBind1(1, 7, ctx_r16.placeholder))("ngModel", ctx_r16.value)("readonly", ctx_r16.readonly)("disabled", ctx_r16.disabled)("required", ctx_r16.required)("options", ctx_r16.maskOptions);
|
|
96
96
|
} }
|
|
97
97
|
function InfoInputComponent_mat_form_field_1_input_3_Template(rf, ctx) { if (rf & 1) {
|
|
98
|
-
const
|
|
98
|
+
const _r26 = i0.ɵɵgetCurrentView();
|
|
99
99
|
i0.ɵɵelementStart(0, "input", 12);
|
|
100
|
-
i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_1_input_3_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(
|
|
100
|
+
i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_1_input_3_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r25.value = $event); })("ngModelChange", function InfoInputComponent_mat_form_field_1_input_3_Template_input_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r27 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r27.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_1_input_3_Template_input_blur_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r28 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r28.onBlur()); })("focusin", function InfoInputComponent_mat_form_field_1_input_3_Template_input_focusin_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r29 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r29.valueOnEnter = ctx_r29.value); });
|
|
101
101
|
i0.ɵɵpipe(1, "translate");
|
|
102
102
|
i0.ɵɵelementEnd();
|
|
103
103
|
} if (rf & 2) {
|
|
104
|
-
const
|
|
105
|
-
i0.ɵɵproperty("formControl",
|
|
104
|
+
const ctx_r17 = i0.ɵɵnextContext(2);
|
|
105
|
+
i0.ɵɵproperty("formControl", ctx_r17.formControl)("tabindex", ctx_r17.tabindex)("placeholder", i0.ɵɵpipeBind1(1, 9, ctx_r17.placeholder))("ngModel", ctx_r17.value)("readonly", ctx_r17.readonly)("disabled", ctx_r17.disabled)("required", ctx_r17.required)("setmask", ctx_r17.customMask)("unmask", ctx_r17.customMask);
|
|
106
106
|
} }
|
|
107
107
|
function InfoInputComponent_mat_form_field_1_mat_icon_4_Template(rf, ctx) { if (rf & 1) {
|
|
108
108
|
i0.ɵɵelementStart(0, "mat-icon", 7);
|
|
109
109
|
i0.ɵɵtext(1);
|
|
110
110
|
i0.ɵɵelementEnd();
|
|
111
111
|
} if (rf & 2) {
|
|
112
|
-
const
|
|
112
|
+
const ctx_r18 = i0.ɵɵnextContext(2);
|
|
113
113
|
i0.ɵɵadvance(1);
|
|
114
|
-
i0.ɵɵtextInterpolate(
|
|
114
|
+
i0.ɵɵtextInterpolate(ctx_r18.iconSuffix);
|
|
115
115
|
} }
|
|
116
116
|
function InfoInputComponent_mat_form_field_1_mat_error_5_Template(rf, ctx) { if (rf & 1) {
|
|
117
117
|
i0.ɵɵelementStart(0, "mat-error");
|
|
@@ -119,9 +119,9 @@ function InfoInputComponent_mat_form_field_1_mat_error_5_Template(rf, ctx) { if
|
|
|
119
119
|
i0.ɵɵpipe(2, "translate");
|
|
120
120
|
i0.ɵɵelementEnd();
|
|
121
121
|
} if (rf & 2) {
|
|
122
|
-
const
|
|
122
|
+
const ctx_r19 = i0.ɵɵnextContext(2);
|
|
123
123
|
i0.ɵɵadvance(1);
|
|
124
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1,
|
|
124
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r19.errorMessage));
|
|
125
125
|
} }
|
|
126
126
|
function InfoInputComponent_mat_form_field_1_Template(rf, ctx) { if (rf & 1) {
|
|
127
127
|
i0.ɵɵelementStart(0, "mat-form-field");
|
|
@@ -149,9 +149,9 @@ function InfoInputComponent_mat_form_field_2_mat_icon_1_Template(rf, ctx) { if (
|
|
|
149
149
|
i0.ɵɵtext(1);
|
|
150
150
|
i0.ɵɵelementEnd();
|
|
151
151
|
} if (rf & 2) {
|
|
152
|
-
const
|
|
152
|
+
const ctx_r30 = i0.ɵɵnextContext(2);
|
|
153
153
|
i0.ɵɵadvance(1);
|
|
154
|
-
i0.ɵɵtextInterpolate(
|
|
154
|
+
i0.ɵɵtextInterpolate(ctx_r30.iconPrefix);
|
|
155
155
|
} }
|
|
156
156
|
function InfoInputComponent_mat_form_field_2_mat_error_4_Template(rf, ctx) { if (rf & 1) {
|
|
157
157
|
i0.ɵɵelementStart(0, "mat-error");
|
|
@@ -159,16 +159,16 @@ function InfoInputComponent_mat_form_field_2_mat_error_4_Template(rf, ctx) { if
|
|
|
159
159
|
i0.ɵɵpipe(2, "translate");
|
|
160
160
|
i0.ɵɵelementEnd();
|
|
161
161
|
} if (rf & 2) {
|
|
162
|
-
const
|
|
162
|
+
const ctx_r31 = i0.ɵɵnextContext(2);
|
|
163
163
|
i0.ɵɵadvance(1);
|
|
164
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1,
|
|
164
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r31.errorMessage));
|
|
165
165
|
} }
|
|
166
166
|
function InfoInputComponent_mat_form_field_2_Template(rf, ctx) { if (rf & 1) {
|
|
167
|
-
const
|
|
167
|
+
const _r33 = i0.ɵɵgetCurrentView();
|
|
168
168
|
i0.ɵɵelementStart(0, "mat-form-field");
|
|
169
169
|
i0.ɵɵtemplate(1, InfoInputComponent_mat_form_field_2_mat_icon_1_Template, 2, 1, "mat-icon", 2);
|
|
170
170
|
i0.ɵɵelementStart(2, "textarea", 13);
|
|
171
|
-
i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_2_Template_textarea_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(
|
|
171
|
+
i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_2_Template_textarea_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r32 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r32.value = $event); })("input", function InfoInputComponent_mat_form_field_2_Template_textarea_input_2_listener() { i0.ɵɵrestoreView(_r33); const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_2_Template_textarea_blur_2_listener() { i0.ɵɵrestoreView(_r33); const ctx_r35 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r35.onBlur()); })("focusin", function InfoInputComponent_mat_form_field_2_Template_textarea_focusin_2_listener() { i0.ɵɵrestoreView(_r33); const ctx_r36 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r36.valueOnEnter = ctx_r36.value); });
|
|
172
172
|
i0.ɵɵpipe(3, "translate");
|
|
173
173
|
i0.ɵɵelementEnd();
|
|
174
174
|
i0.ɵɵtemplate(4, InfoInputComponent_mat_form_field_2_mat_error_4_Template, 3, 3, "mat-error", 0);
|
|
@@ -187,20 +187,20 @@ function InfoInputComponent_mat_form_field_3_mat_icon_7_Template(rf, ctx) { if (
|
|
|
187
187
|
i0.ɵɵtext(1);
|
|
188
188
|
i0.ɵɵelementEnd();
|
|
189
189
|
} if (rf & 2) {
|
|
190
|
-
const
|
|
190
|
+
const ctx_r38 = i0.ɵɵnextContext(2);
|
|
191
191
|
i0.ɵɵadvance(1);
|
|
192
|
-
i0.ɵɵtextInterpolate(
|
|
192
|
+
i0.ɵɵtextInterpolate(ctx_r38.iconSuffix);
|
|
193
193
|
} }
|
|
194
194
|
function InfoInputComponent_mat_form_field_3_Template(rf, ctx) { if (rf & 1) {
|
|
195
|
-
const
|
|
195
|
+
const _r40 = i0.ɵɵgetCurrentView();
|
|
196
196
|
i0.ɵɵelementStart(0, "mat-form-field", 14)(1, "div", 15)(2, "input", 16, 17);
|
|
197
|
-
i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_3_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(
|
|
197
|
+
i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_3_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r39.value = $event); })("change", function InfoInputComponent_mat_form_field_3_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r40); const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.writeValue(ctx_r41.value)); });
|
|
198
198
|
i0.ɵɵelementEnd();
|
|
199
199
|
i0.ɵɵelementStart(4, "div", 18);
|
|
200
|
-
i0.ɵɵlistener("click", function InfoInputComponent_mat_form_field_3_Template_div_click_4_listener() { i0.ɵɵrestoreView(
|
|
200
|
+
i0.ɵɵlistener("click", function InfoInputComponent_mat_form_field_3_Template_div_click_4_listener() { i0.ɵɵrestoreView(_r40); const _r37 = i0.ɵɵreference(3); return i0.ɵɵresetView(_r37.click()); });
|
|
201
201
|
i0.ɵɵelementEnd();
|
|
202
202
|
i0.ɵɵelementStart(5, "input", 19);
|
|
203
|
-
i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_3_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(
|
|
203
|
+
i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_3_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r43 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r43.value = $event); })("input", function InfoInputComponent_mat_form_field_3_Template_input_input_5_listener() { i0.ɵɵrestoreView(_r40); const ctx_r44 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r44.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_3_Template_input_blur_5_listener() { i0.ɵɵrestoreView(_r40); const ctx_r45 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r45.onBlur()); })("focusin", function InfoInputComponent_mat_form_field_3_Template_input_focusin_5_listener() { i0.ɵɵrestoreView(_r40); const ctx_r46 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r46.valueOnEnter = ctx_r46.value); });
|
|
204
204
|
i0.ɵɵpipe(6, "translate");
|
|
205
205
|
i0.ɵɵelementEnd();
|
|
206
206
|
i0.ɵɵtemplate(7, InfoInputComponent_mat_form_field_3_mat_icon_7_Template, 2, 1, "mat-icon", 4);
|
|
@@ -231,6 +231,7 @@ export class InfoInputComponent {
|
|
|
231
231
|
this.max = 99999999999999.999999999;
|
|
232
232
|
this.step = null;
|
|
233
233
|
this.validate = false;
|
|
234
|
+
this.bluronlychange = false;
|
|
234
235
|
this.onblur = new EventEmitter();
|
|
235
236
|
this.maskOptions = {
|
|
236
237
|
align: 'right',
|
|
@@ -242,6 +243,7 @@ export class InfoInputComponent {
|
|
|
242
243
|
thousands: '.'
|
|
243
244
|
};
|
|
244
245
|
this.value = '';
|
|
246
|
+
this.valueOnEnter = null;
|
|
245
247
|
this.customMask = null;
|
|
246
248
|
this.passwordMode = false;
|
|
247
249
|
this.errorMessage = null;
|
|
@@ -292,7 +294,7 @@ export class InfoInputComponent {
|
|
|
292
294
|
this.value = this.max < Number(this.value) ? null : this.value;
|
|
293
295
|
this.onChangeValue();
|
|
294
296
|
}
|
|
295
|
-
if (this.onblur != null)
|
|
297
|
+
if (this.onblur != null && (!this.bluronlychange || this.valueOnEnter != this.value))
|
|
296
298
|
this.onblur.emit(this.value);
|
|
297
299
|
}
|
|
298
300
|
onChangeValue() {
|
|
@@ -314,13 +316,13 @@ export class InfoInputComponent {
|
|
|
314
316
|
}
|
|
315
317
|
}
|
|
316
318
|
/** @nocollapse */ InfoInputComponent.ɵfac = function InfoInputComponent_Factory(t) { return new (t || InfoInputComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
|
|
317
|
-
/** @nocollapse */ InfoInputComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoInputComponent, selectors: [["info-input"]], inputs: { placeholder: "placeholder", disabled: "disabled", readonly: "readonly", required: "required", maxlength: "maxlength", type: "type", rows: "rows", tabindex: "tabindex", iconPrefix: "iconPrefix", iconSuffix: "iconSuffix", min: "min", max: "max", step: "step", validate: "validate", ismask: "ismask" }, outputs: { onblur: "onblur" }, features: [i0.ɵɵProvidersFeature([
|
|
319
|
+
/** @nocollapse */ InfoInputComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoInputComponent, selectors: [["info-input"]], inputs: { placeholder: "placeholder", disabled: "disabled", readonly: "readonly", required: "required", maxlength: "maxlength", type: "type", rows: "rows", tabindex: "tabindex", iconPrefix: "iconPrefix", iconSuffix: "iconSuffix", min: "min", max: "max", step: "step", validate: "validate", bluronlychange: "bluronlychange", ismask: "ismask" }, outputs: { onblur: "onblur" }, features: [i0.ɵɵProvidersFeature([
|
|
318
320
|
{
|
|
319
321
|
provide: NG_VALUE_ACCESSOR,
|
|
320
322
|
useExisting: forwardRef((() => InfoInputComponent)),
|
|
321
323
|
multi: true
|
|
322
324
|
},
|
|
323
|
-
])], decls: 4, vars: 4, consts: [[4, "ngIf"], ["class", "input-color", 4, "ngIf"], ["matPrefix", "", "style", "color: #aaa", 4, "ngIf"], ["matInput", "", 3, "type", "step", "min", "max", "tabindex", "placeholder", "ngModel", "maxlength", "readonly", "disabled", "required", "ngModelChange", "input", "blur"], ["matSuffix", "", "style", "color: #aaa", 4, "ngIf"], ["class", "show-password", "matSuffix", "", 3, "click", 4, "ngIf"], ["matPrefix", "", 2, "color", "#aaa"], ["matSuffix", "", 2, "color", "#aaa"], ["matSuffix", "", 1, "show-password", 3, "click"], ["matInput", "", "currencyMask", "", 3, "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "options", "ngModelChange", "blur", 4, "ngIf"], ["matInput", "", 3, "formControl", "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "setmask", "unmask", "ngModelChange", "blur", 4, "ngIf"], ["matInput", "", "currencyMask", "", 3, "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "options", "ngModelChange", "blur"], ["matInput", "", 3, "formControl", "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "setmask", "unmask", "ngModelChange", "blur"], ["matInput", "", 3, "tabindex", "placeholder", "ngModel", "rows", "maxlength", "readonly", "disabled", "required", "ngModelChange", "input", "blur"], [1, "input-color"], [1, "input-color-container"], ["type", "color", 2, "width", "0px", "visibility", "hidden", 3, "ngModel", "readonly", "disabled", "ngModelChange", "change"], ["colorInput", ""], [1, "color-picker", 3, "click"], ["matInput", "", "type", "text", 3, "tabindex", "placeholder", "ngModel", "maxlength", "readonly", "disabled", "required", "ngModelChange", "input", "blur"]], template: function InfoInputComponent_Template(rf, ctx) { if (rf & 1) {
|
|
325
|
+
])], decls: 4, vars: 4, consts: [[4, "ngIf"], ["class", "input-color", 4, "ngIf"], ["matPrefix", "", "style", "color: #aaa", 4, "ngIf"], ["matInput", "", 3, "type", "step", "min", "max", "tabindex", "placeholder", "ngModel", "maxlength", "readonly", "disabled", "required", "ngModelChange", "input", "blur", "focusin"], ["matSuffix", "", "style", "color: #aaa", 4, "ngIf"], ["class", "show-password", "matSuffix", "", 3, "click", 4, "ngIf"], ["matPrefix", "", 2, "color", "#aaa"], ["matSuffix", "", 2, "color", "#aaa"], ["matSuffix", "", 1, "show-password", 3, "click"], ["matInput", "", "currencyMask", "", 3, "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "options", "ngModelChange", "blur", "focusin", 4, "ngIf"], ["matInput", "", 3, "formControl", "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "setmask", "unmask", "ngModelChange", "blur", "focusin", 4, "ngIf"], ["matInput", "", "currencyMask", "", 3, "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "options", "ngModelChange", "blur", "focusin"], ["matInput", "", 3, "formControl", "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "setmask", "unmask", "ngModelChange", "blur", "focusin"], ["matInput", "", 3, "tabindex", "placeholder", "ngModel", "rows", "maxlength", "readonly", "disabled", "required", "ngModelChange", "input", "blur", "focusin"], [1, "input-color"], [1, "input-color-container"], ["type", "color", 2, "width", "0px", "visibility", "hidden", 3, "ngModel", "readonly", "disabled", "ngModelChange", "change"], ["colorInput", ""], [1, "color-picker", 3, "click"], ["matInput", "", "type", "text", 3, "tabindex", "placeholder", "ngModel", "maxlength", "readonly", "disabled", "required", "ngModelChange", "input", "blur", "focusin"]], template: function InfoInputComponent_Template(rf, ctx) { if (rf & 1) {
|
|
324
326
|
i0.ɵɵtemplate(0, InfoInputComponent_mat_form_field_0_Template, 7, 17, "mat-form-field", 0);
|
|
325
327
|
i0.ɵɵtemplate(1, InfoInputComponent_mat_form_field_1_Template, 6, 5, "mat-form-field", 0);
|
|
326
328
|
i0.ɵɵtemplate(2, InfoInputComponent_mat_form_field_2_Template, 5, 12, "mat-form-field", 0);
|
|
@@ -342,7 +344,7 @@ export class InfoInputComponent {
|
|
|
342
344
|
useExisting: forwardRef((() => InfoInputComponent)),
|
|
343
345
|
multi: true
|
|
344
346
|
},
|
|
345
|
-
], template: "<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask == null\" >\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <input matInput [type]=\"type\" [step]=\"step\" [min]=\"min\" [max]=\"max\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-icon class=\"show-password\" *ngIf=\"passwordMode\" (click)=\"type = (type == 'password') ? 'text' : 'password'\" matSuffix >visibility{{ type == 'password' ? '' : '_off' }}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask != null\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask == null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [options]=\"maskOptions\" currencyMask>\r\n\r\n <input matInput [formControl]=\"formControl\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask != null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [setmask]=\"customMask\" [unmask]=\"customMask\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type == 'textarea'\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <textarea matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" [rows]=\"rows\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\"></textarea>\r\n\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field class=\"input-color\" *ngIf=\"type == 'color'\">\r\n \r\n <div class=\"input-color-container\">\r\n <input #colorInput style=\"width: 0px;visibility: hidden;\" type=\"color\" [(ngModel)]=\"value\" (change)=\"writeValue(value)\" [readonly]=\"readonly\" [disabled]=\"disabled\">\r\n <div class=\"color-picker\" [style.background-color]=\"value\" (click)=\"colorInput.click()\"></div>\r\n \r\n <input matInput type=\"text\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n \r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n </div>\r\n</mat-form-field>", styles: [":host .input-color ::ng-deep .mat-form-field-label{transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1),margin .4s cubic-bezier(.25,.8,.25,1)}:host .input-color:not(.mat-form-field-should-float) ::ng-deep .mat-form-field-label{margin-left:40px}:host .input-color.mat-form-field-should-float ::ng-deep .mat-form-field-label{margin-left:0}:host .input-color .input-color-container{display:flex}:host .input-color .input-color-container input[type=color]{width:0px;height:0px;visibility:hidden}:host .input-color .input-color-container .color-picker{width:30px;border:solid 1px black;border-radius:5px;margin-right:5px}\n"] }]
|
|
347
|
+
], template: "<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask == null\" >\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <input matInput [type]=\"type\" [step]=\"step\" [min]=\"min\" [max]=\"max\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" \r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-icon class=\"show-password\" *ngIf=\"passwordMode\" (click)=\"type = (type == 'password') ? 'text' : 'password'\" matSuffix >visibility{{ type == 'password' ? '' : '_off' }}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask != null\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" *ngIf=\"customMask == null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [options]=\"maskOptions\" currencyMask>\r\n\r\n <input matInput [formControl]=\"formControl\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" *ngIf=\"customMask != null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [setmask]=\"customMask\" [unmask]=\"customMask\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type == 'textarea'\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <textarea matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" [rows]=\"rows\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\"></textarea>\r\n\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field class=\"input-color\" *ngIf=\"type == 'color'\">\r\n \r\n <div class=\"input-color-container\">\r\n <input #colorInput style=\"width: 0px;visibility: hidden;\" type=\"color\" [(ngModel)]=\"value\" (change)=\"writeValue(value)\" [readonly]=\"readonly\" [disabled]=\"disabled\">\r\n <div class=\"color-picker\" [style.background-color]=\"value\" (click)=\"colorInput.click()\"></div>\r\n \r\n <input matInput type=\"text\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" \r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n \r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n </div>\r\n</mat-form-field>", styles: [":host .input-color ::ng-deep .mat-form-field-label{transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1),margin .4s cubic-bezier(.25,.8,.25,1)}:host .input-color:not(.mat-form-field-should-float) ::ng-deep .mat-form-field-label{margin-left:40px}:host .input-color.mat-form-field-should-float ::ng-deep .mat-form-field-label{margin-left:0}:host .input-color .input-color-container{display:flex}:host .input-color .input-color-container input[type=color]{width:0px;height:0px;visibility:hidden}:host .input-color .input-color-container .color-picker{width:30px;border:solid 1px black;border-radius:5px;margin-right:5px}\n"] }]
|
|
346
348
|
}], function () { return [{ type: i0.Injector }]; }, { placeholder: [{
|
|
347
349
|
type: Input
|
|
348
350
|
}], disabled: [{
|
|
@@ -371,9 +373,11 @@ export class InfoInputComponent {
|
|
|
371
373
|
type: Input
|
|
372
374
|
}], validate: [{
|
|
373
375
|
type: Input
|
|
376
|
+
}], bluronlychange: [{
|
|
377
|
+
type: Input
|
|
374
378
|
}], onblur: [{
|
|
375
379
|
type: Output
|
|
376
380
|
}], ismask: [{
|
|
377
381
|
type: Input
|
|
378
382
|
}] }); })();
|
|
379
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9jb250cm9scy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFrQixRQUFRLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsU0FBUyxFQUFpQixXQUFXLEVBQXlFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkwsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7SUNEM0QsbUNBQTJEO0lBQUEsWUFBYztJQUFBLGlCQUFXOzs7SUFBekIsZUFBYztJQUFkLHVDQUFjOzs7SUFLekUsbUNBQTJEO0lBQUEsWUFBYztJQUFBLGlCQUFXOzs7SUFBekIsZUFBYztJQUFkLHVDQUFjOzs7O0lBQ3pFLG1DQUE0SDtJQUF2RSxvT0FBeUIsVUFBVSxHQUFJLE1BQU0sR0FBRyxVQUFVLEtBQUM7SUFBWSxZQUFnRDtJQUFBLGlCQUFXOzs7SUFBM0QsZUFBZ0Q7SUFBaEQsZ0ZBQWdEOzs7SUFDNUssaUNBQWdDO0lBQUEsWUFBNEI7O0lBQUEsaUJBQVk7OztJQUF4QyxlQUE0QjtJQUE1QiwrREFBNEI7Ozs7SUFSaEUsc0NBQWlGO0lBQzdFLDhGQUFvRjtJQUVwRixnQ0FDOEY7SUFEb0MsMk9BQW1CLDhKQUFVLGVBQUEsdUJBQWUsQ0FBQSxJQUF6Qiw0SkFBbUMsZUFBQSxnQkFBUSxDQUFBLElBQTNDOztJQUFySixpQkFDOEY7SUFFOUYsOEZBQW9GO0lBQ3BGLDhG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QkFDMUIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsbUJBQW1CLEVBQUM7d0JBQ2pELEtBQUssRUFBRSxJQUFJO3FCQUNkO2lCQUNKOzJEQU1RLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUVJLE1BQU07a0JBQWYsTUFBTTtZQW1DSCxNQUFNO2tCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPcHRpb25hbCwgU2VsZiwgSW5qZWN0b3IsIERpcmVjdGl2ZSwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzLCBWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgU3RhdGljVXRpbHMsIFV0aWxpdGllcyB9IGZyb20gXCIuLi8uLi91dGlscy91dGlsaXRpZXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLWlucHV0JyxcclxuICAgIHN0eWxlVXJsczogWyAnaW5wdXQuY29tcG9uZW50LnNjc3MnIF0sXHJcbiAgICB0ZW1wbGF0ZVVybDogJ2lucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczpbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5mb0lucHV0Q29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9LFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mb0lucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgcHJpdmF0ZSBjb250cm9sOiBOZ0NvbnRyb2xcclxuXHJcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbWF4bGVuZ3RoOiBhbnk7XHJcbiAgICBASW5wdXQoKSB0eXBlOiBzdHJpbmcgPSAndGV4dCc7XHJcbiAgICBASW5wdXQoKSByb3dzOiBudW1iZXIgPSAxO1xyXG4gICAgQElucHV0KCkgdGFiaW5kZXg6IG51bWJlciA9IDA7XHJcbiAgICBASW5wdXQoKSBpY29uUHJlZml4OiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIGljb25TdWZmaXg6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgbWluOiBudW1iZXIgPSAtOTk5OTk5OTk5OTk5OTkuOTk5OTk5OTk5O1xyXG4gICAgQElucHV0KCkgbWF4OiBudW1iZXIgPSA5OTk5OTk5OTk5OTk5OS45OTk5OTk5OTk7XHJcbiAgICBASW5wdXQoKSBzdGVwOiBudW1iZXIgPSBudWxsO1xyXG4gICAgQElucHV0KCkgdmFsaWRhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25ibHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgXHJcbiAgICBtYXNrT3B0aW9uczogYW55ID0ge1xyXG4gICAgICAgIGFsaWduOiAncmlnaHQnLFxyXG4gICAgICAgIGFsbG93TmVnYXRpdmU6IHRydWUsXHJcbiAgICAgICAgZGVjaW1hbDogJywnLFxyXG4gICAgICAgIHByZWNpc2lvbjogMixcclxuICAgICAgICBwcmVmaXg6ICcnLFxyXG4gICAgICAgIHN1ZmZpeDogJycsXHJcbiAgICAgICAgdGhvdXNhbmRzOiAnLidcclxuICAgIH07XHJcbiAgICBcclxuICAgIHZhbHVlOiBzdHJpbmcgPSAnJztcclxuICAgIGN1c3RvbU1hc2s6IHN0cmluZyA9IG51bGw7XHJcbiAgICBvbkNoYW5nZTogYW55O1xyXG4gICAgb25Ub3VjaGVkOiBhbnk7XHJcbiAgICBwYXNzd29yZE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGVycm9yTWVzc2FnZTogc3RyaW5nID0gbnVsbDtcclxuICAgIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHsgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpXHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmNvbnRyb2wuY29udHJvbDsgXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7IFxyXG4gICAgICAgIHRoaXMucGFzc3dvcmRNb2RlID0gdGhpcy50eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT0gJ3Bhc3N3b3JkJztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG1ldGhvZElzbWFzazogc3RyaW5nID0gbnVsbDtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgaXNtYXNrKCl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWV0aG9kSXNtYXNrO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc21hc2sodmFsdWUpe1xyXG4gICAgICAgIHRoaXMubWV0aG9kSXNtYXNrID0gdmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm1ldGhvZElzbWFzayAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWV0aG9kSXNtYXNrID0gdGhpcy5tZXRob2RJc21hc2sudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1ldGhvZElzbWFzayA9PSAnaW50JylcclxuICAgICAgICAgICAgICAgIHRoaXMubWFza09wdGlvbnMucHJlY2lzaW9uID0gMDtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMubWV0aG9kSXNtYXNrWzBdID09ICduJyAmJiAodGhpcy5tZXRob2RJc21hc2subGVuZ3RoID09IDIgfHwgdGhpcy5tZXRob2RJc21hc2subGVuZ3RoID09IDMpKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXNrT3B0aW9ucy5wcmVjaXNpb24gPSBwYXJzZUludCh0aGlzLm1ldGhvZElzbWFzay5yZXBsYWNlKCduJywgJycpKTtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgdGhpcy5jdXN0b21NYXNrID0gdGhpcy5tZXRob2RJc21hc2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHZhbGlkYXJDYW1wbygpIHtcclxuICAgICAgICBpZiAoIXRoaXMudmFsaWRhdGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBudWxsO1xyXG5cclxuICAgICAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLmN1c3RvbU1hc2sgPT0gJ2NucGonICYmICFTdGF0aWNVdGlscy52YWxpZGFyQ25waih0aGlzLnZhbHVlKSlcclxuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnQ05QSkludmFsaWRvJztcclxuICAgICAgICBlbHNlIGlmICh0aGlzLnZhbHVlICYmIHRoaXMuY3VzdG9tTWFzayA9PSAnY3BmJyAmJiAhU3RhdGljVXRpbHMudmFsaWRhckNwZih0aGlzLnZhbHVlKSlcclxuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnQ1BGSW52YWxpZG8nO1xyXG5cclxuICAgICAgICBpZiAoISF0aGlzLmVycm9yTWVzc2FnZSAmJiB0aGlzLmZvcm1Db250cm9sKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0RXJyb3JzKHtpbnZhbGlkOiB0cnVlfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQmx1cigpIHtcclxuICAgICAgICB0aGlzLnZhbGlkYXJDYW1wbygpO1xyXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT0gJ251bWJlcicgfHwgKHRoaXMuaXNtYXNrICE9IG51bGwgJiYgdGhpcy5pc21hc2suc3RhcnRzV2l0aChcIm5cIikpKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1pbiAhPSBudWxsKVxyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWluID4gTnVtYmVyKHRoaXMudmFsdWUpID8gbnVsbCA6IHRoaXMudmFsdWU7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5tYXggIT0gbnVsbClcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1heCA8IE51bWJlcih0aGlzLnZhbHVlKSA/IG51bGwgOiB0aGlzLnZhbHVlO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZVZhbHVlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5vbmJsdXIgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5vbmJsdXIuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZVZhbHVlKCl7XHJcbiAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKG1vZGVsVmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBtb2RlbFZhbHVlO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VWYWx1ZSgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcbn0iLCI8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJ0eXBlICE9ICdjb2xvcicgJiYgdHlwZSAhPSAndGV4dGFyZWEnICYmIGlzbWFzayA9PSBudWxsXCIgPlxyXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblByZWZpeFwiIG1hdFByZWZpeCBzdHlsZT1cImNvbG9yOiAjYWFhXCI+e3tpY29uUHJlZml4fX08L21hdC1pY29uPlxyXG4gICAgXHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgW3R5cGVdPVwidHlwZVwiIFtzdGVwXT1cInN0ZXBcIiBbbWluXT1cIm1pblwiIFttYXhdPVwibWF4XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChpbnB1dCk9XCJvbkNoYW5nZVZhbHVlKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj5cclxuXHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uU3VmZml4XCIgbWF0U3VmZml4IHN0eWxlPVwiY29sb3I6ICNhYWFcIj57e2ljb25TdWZmaXh9fTwvbWF0LWljb24+XHJcbiAgICA8bWF0LWljb24gY2xhc3M9XCJzaG93LXBhc3N3b3JkXCIgKm5nSWY9XCJwYXNzd29yZE1vZGVcIiAoY2xpY2spPVwidHlwZSA9ICh0eXBlID09ICdwYXNzd29yZCcpID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1wiIG1hdFN1ZmZpeCA+dmlzaWJpbGl0eXt7IHR5cGUgPT0gJ3Bhc3N3b3JkJyA/ICcnIDogJ19vZmYnIH19PC9tYXQtaWNvbj5cclxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57e2Vycm9yTWVzc2FnZSB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJ0eXBlICE9ICdjb2xvcicgJiYgdHlwZSAhPSAndGV4dGFyZWEnICYmIGlzbWFzayAhPSBudWxsXCI+XHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uUHJlZml4XCIgbWF0UHJlZml4IHN0eWxlPVwiY29sb3I6ICNhYWFcIj57e2ljb25QcmVmaXh9fTwvbWF0LWljb24+XHJcblxyXG4gICAgPGlucHV0IG1hdElucHV0IFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZVZhbHVlKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiICpuZ0lmPVwiY3VzdG9tTWFzayA9PSBudWxsXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbb3B0aW9uc109XCJtYXNrT3B0aW9uc1wiIGN1cnJlbmN5TWFzaz5cclxuXHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlVmFsdWUoKVwiIChibHVyKT1cIm9uQmx1cigpXCIgKm5nSWY9XCJjdXN0b21NYXNrICE9IG51bGxcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtzZXRtYXNrXT1cImN1c3RvbU1hc2tcIiBbdW5tYXNrXT1cImN1c3RvbU1hc2tcIj5cclxuXHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uU3VmZml4XCIgbWF0U3VmZml4IHN0eWxlPVwiY29sb3I6ICNhYWFcIj57e2ljb25TdWZmaXh9fTwvbWF0LWljb24+XHJcbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCI+e3tlcnJvck1lc3NhZ2UgfCB0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwidHlwZSA9PSAndGV4dGFyZWEnXCI+XHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uUHJlZml4XCIgbWF0UHJlZml4IHN0eWxlPVwiY29sb3I6ICNhYWFcIj57e2ljb25QcmVmaXh9fTwvbWF0LWljb24+XHJcbiAgICBcclxuICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoKVwiIChibHVyKT1cIm9uQmx1cigpXCIgW3Jvd3NdPVwicm93c1wiXHJcbiAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj48L3RleHRhcmVhPlxyXG5cclxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57e2Vycm9yTWVzc2FnZSB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJpbnB1dC1jb2xvclwiICpuZ0lmPVwidHlwZSA9PSAnY29sb3InXCI+XHJcbiAgICBcclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb2xvci1jb250YWluZXJcIj5cclxuICAgICAgICA8aW5wdXQgI2NvbG9ySW5wdXQgc3R5bGU9XCJ3aWR0aDogMHB4O3Zpc2liaWxpdHk6IGhpZGRlbjtcIiB0eXBlPVwiY29sb3JcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKGNoYW5nZSk9XCJ3cml0ZVZhbHVlKHZhbHVlKVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2xvci1waWNrZXJcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJ2YWx1ZVwiIChjbGljayk9XCJjb2xvcklucHV0LmNsaWNrKClcIj48L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoKVwiIChibHVyKT1cIm9uQmx1cigpXCJcclxuICAgICAgICBbbWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25TdWZmaXhcIiBtYXRTdWZmaXggc3R5bGU9XCJjb2xvcjogI2FhYVwiPnt7aWNvblN1ZmZpeH19PC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|
|
383
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9jb250cm9scy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFrQixRQUFRLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsU0FBUyxFQUFpQixXQUFXLEVBQXlFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkwsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7SUNEM0QsbUNBQTJEO0lBQUEsWUFBYztJQUFBLGlCQUFXOzs7SUFBekIsZUFBYztJQUFkLHVDQUFjOzs7SUFLekUsbUNBQTJEO0lBQUEsWUFBYztJQUFBLGlCQUFXOzs7SUFBekIsZUFBYztJQUFkLHVDQUFjOzs7O0lBQ3pFLG1DQUE0SDtJQUF2RSxvT0FBeUIsVUFBVSxHQUFJLE1BQU0sR0FBRyxVQUFVLEtBQUM7SUFBWSxZQUFnRDtJQUFBLGlCQUFXOzs7SUFBM0QsZUFBZ0Q7SUFBaEQsZ0ZBQWdEOzs7SUFDNUssaUNBQWdDO0lBQUEsWUFBNEI7O0lBQUEsaUJBQVk7OztJQUF4QyxlQUE0QjtJQUE1QiwrREFBNEI7Ozs7SUFSaEUsc0NBQWlGO0lBQzdFLDhGQUFvRjtJQUVwRixnQ0FDOEY7SUFEb0MsMk9BQW1CLDhKQUFVLGVBQUEsdUJBQWUsQ0FBQSxJQUF6Qiw0SkFBbUMsZUFBQSxnQkFBUSxDQUFBLElBQTNDLDBOQUFBOztJQUFySixpQkFDOEY7SUFFOUYsOEZBQW9GO0lB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QTVDQSwwRkFBNkQ7UUFXN0QsZUFBNkQ7UUFBN0QsMEZBQTZEO1FBYTdELGVBQXdCO1FBQXhCLDZDQUF3QjtRQVNKLGVBQXFCO1FBQXJCLDBDQUFxQjs7dUZEakI3QyxrQkFBa0I7Y0FaOUIsU0FBUzsyQkFDSSxZQUFZLGFBR1o7b0JBQ047d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsbUJBQW1CLEVBQUM7d0JBQ2pELEtBQUssRUFBRSxJQUFJO3FCQUNkO2lCQUNKOzJEQU1RLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFFSSxNQUFNO2tCQUFmLE1BQU07WUFvQ0gsTUFBTTtrQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT3B0aW9uYWwsIFNlbGYsIEluamVjdG9yLCBEaXJlY3RpdmUsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBOR19WQUxJREFUT1JTLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycywgVmFsaWRhdG9yRm4sIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFN0YXRpY1V0aWxzLCBVdGlsaXRpZXMgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdXRpbGl0aWVzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5mby1pbnB1dCcsXHJcbiAgICBzdHlsZVVybHM6IFsgJ2lucHV0LmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdpbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBwcm92aWRlcnM6W1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEluZm9JbnB1dENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfSxcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEluZm9JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIHByaXZhdGUgY29udHJvbDogTmdDb250cm9sXHJcblxyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIG1heGxlbmd0aDogYW55O1xyXG4gICAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gJ3RleHQnO1xyXG4gICAgQElucHV0KCkgcm93czogbnVtYmVyID0gMTtcclxuICAgIEBJbnB1dCgpIHRhYmluZGV4OiBudW1iZXIgPSAwO1xyXG4gICAgQElucHV0KCkgaWNvblByZWZpeDogc3RyaW5nID0gJyc7XHJcbiAgICBASW5wdXQoKSBpY29uU3VmZml4OiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIG1pbjogbnVtYmVyID0gLTk5OTk5OTk5OTk5OTk5Ljk5OTk5OTk5OTtcclxuICAgIEBJbnB1dCgpIG1heDogbnVtYmVyID0gOTk5OTk5OTk5OTk5OTkuOTk5OTk5OTk5O1xyXG4gICAgQElucHV0KCkgc3RlcDogbnVtYmVyID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIHZhbGlkYXRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBibHVyb25seWNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbmJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBcclxuICAgIG1hc2tPcHRpb25zOiBhbnkgPSB7XHJcbiAgICAgICAgYWxpZ246ICdyaWdodCcsXHJcbiAgICAgICAgYWxsb3dOZWdhdGl2ZTogdHJ1ZSxcclxuICAgICAgICBkZWNpbWFsOiAnLCcsXHJcbiAgICAgICAgcHJlY2lzaW9uOiAyLFxyXG4gICAgICAgIHByZWZpeDogJycsXHJcbiAgICAgICAgc3VmZml4OiAnJyxcclxuICAgICAgICB0aG91c2FuZHM6ICcuJ1xyXG4gICAgfTtcclxuICAgIFxyXG4gICAgdmFsdWU6IHN0cmluZyA9ICcnO1xyXG4gICAgdmFsdWVPbkVudGVyOiBhbnkgPSBudWxsO1xyXG4gICAgY3VzdG9tTWFzazogc3RyaW5nID0gbnVsbDtcclxuICAgIG9uQ2hhbmdlOiBhbnk7XHJcbiAgICBvblRvdWNoZWQ6IGFueTtcclxuICAgIHBhc3N3b3JkTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcikgeyB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgbnVsbCk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbClcclxuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbCA9IHRoaXMuY29udHJvbC5jb250cm9sOyBcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHsgXHJcbiAgICAgICAgdGhpcy5wYXNzd29yZE1vZGUgPSB0aGlzLnR5cGUudG9Mb2NhbGVMb3dlckNhc2UoKSA9PSAncGFzc3dvcmQnO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgbWV0aG9kSXNtYXNrOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBpc21hc2soKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5tZXRob2RJc21hc2s7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGlzbWFzayh2YWx1ZSl7XHJcbiAgICAgICAgdGhpcy5tZXRob2RJc21hc2sgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMubWV0aG9kSXNtYXNrICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5tZXRob2RJc21hc2sgPSB0aGlzLm1ldGhvZElzbWFzay50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaWYgKHRoaXMubWV0aG9kSXNtYXNrID09ICdpbnQnKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXNrT3B0aW9ucy5wcmVjaXNpb24gPSAwO1xyXG5cclxuICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5tZXRob2RJc21hc2tbMF0gPT0gJ24nICYmICh0aGlzLm1ldGhvZElzbWFzay5sZW5ndGggPT0gMiB8fCB0aGlzLm1ldGhvZElzbWFzay5sZW5ndGggPT0gMykpXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hc2tPcHRpb25zLnByZWNpc2lvbiA9IHBhcnNlSW50KHRoaXMubWV0aG9kSXNtYXNrLnJlcGxhY2UoJ24nLCAnJykpO1xyXG5cclxuICAgICAgICAgICAgZWxzZSB0aGlzLmN1c3RvbU1hc2sgPSB0aGlzLm1ldGhvZElzbWFzaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdmFsaWRhckNhbXBvKCkge1xyXG4gICAgICAgIGlmICghdGhpcy52YWxpZGF0ZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGw7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMuY3VzdG9tTWFzayA9PSAnY25waicgJiYgIVN0YXRpY1V0aWxzLnZhbGlkYXJDbnBqKHRoaXMudmFsdWUpKVxyXG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdDTlBKSW52YWxpZG8nO1xyXG4gICAgICAgIGVsc2UgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy5jdXN0b21NYXNrID09ICdjcGYnICYmICFTdGF0aWNVdGlscy52YWxpZGFyQ3BmKHRoaXMudmFsdWUpKVxyXG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdDUEZJbnZhbGlkbyc7XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuZXJyb3JNZXNzYWdlICYmIHRoaXMuZm9ybUNvbnRyb2wpIHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRFcnJvcnMoe2ludmFsaWQ6IHRydWV9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25CbHVyKCkge1xyXG4gICAgICAgIHRoaXMudmFsaWRhckNhbXBvKCk7XHJcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PSAnbnVtYmVyJyB8fCAodGhpcy5pc21hc2sgIT0gbnVsbCAmJiB0aGlzLmlzbWFzay5zdGFydHNXaXRoKFwiblwiKSkpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubWluICE9IG51bGwpXHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5taW4gPiBOdW1iZXIodGhpcy52YWx1ZSkgPyBudWxsIDogdGhpcy52YWx1ZTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1heCAhPSBudWxsKVxyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWF4IDwgTnVtYmVyKHRoaXMudmFsdWUpID8gbnVsbCA6IHRoaXMudmFsdWU7XHJcblxyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm9uYmx1ciAhPSBudWxsICYmICghdGhpcy5ibHVyb25seWNoYW5nZSB8fCB0aGlzLnZhbHVlT25FbnRlciAhPSB0aGlzLnZhbHVlKSlcclxuICAgICAgICAgICAgdGhpcy5vbmJsdXIuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZVZhbHVlKCl7XHJcbiAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKG1vZGVsVmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBtb2RlbFZhbHVlO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VWYWx1ZSgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcbn0iLCI8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJ0eXBlICE9ICdjb2xvcicgJiYgdHlwZSAhPSAndGV4dGFyZWEnICYmIGlzbWFzayA9PSBudWxsXCIgPlxyXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblByZWZpeFwiIG1hdFByZWZpeCBzdHlsZT1cImNvbG9yOiAjYWFhXCI+e3tpY29uUHJlZml4fX08L21hdC1pY29uPlxyXG4gICAgXHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgW3R5cGVdPVwidHlwZVwiIFtzdGVwXT1cInN0ZXBcIiBbbWluXT1cIm1pblwiIFttYXhdPVwibWF4XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChpbnB1dCk9XCJvbkNoYW5nZVZhbHVlKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiIChmb2N1c2luKT1cInZhbHVlT25FbnRlciA9IHZhbHVlXCIgXHJcbiAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj5cclxuXHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uU3VmZml4XCIgbWF0U3VmZml4IHN0eWxlPVwiY29sb3I6ICNhYWFcIj57e2ljb25TdWZmaXh9fTwvbWF0LWljb24+XHJcbiAgICA8bWF0LWljb24gY2xhc3M9XCJzaG93LXBhc3N3b3JkXCIgKm5nSWY9XCJwYXNzd29yZE1vZGVcIiAoY2xpY2spPVwidHlwZSA9ICh0eXBlID09ICdwYXNzd29yZCcpID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1wiIG1hdFN1ZmZpeCA+dmlzaWJpbGl0eXt7IHR5cGUgPT0gJ3Bhc3N3b3JkJyA/ICcnIDogJ19vZmYnIH19PC9tYXQtaWNvbj5cclxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57e2Vycm9yTWVzc2FnZSB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJ0eXBlICE9ICdjb2xvcicgJiYgdHlwZSAhPSAndGV4dGFyZWEnICYmIGlzbWFzayAhPSBudWxsXCI+XHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uUHJlZml4XCIgbWF0UHJlZml4IHN0eWxlPVwiY29sb3I6ICNhYWFcIj57e2ljb25QcmVmaXh9fTwvbWF0LWljb24+XHJcblxyXG4gICAgPGlucHV0IG1hdElucHV0IFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZVZhbHVlKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiIChmb2N1c2luKT1cInZhbHVlT25FbnRlciA9IHZhbHVlXCIgKm5nSWY9XCJjdXN0b21NYXNrID09IG51bGxcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtvcHRpb25zXT1cIm1hc2tPcHRpb25zXCIgY3VycmVuY3lNYXNrPlxyXG5cclxuICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2VWYWx1ZSgpXCIgKGJsdXIpPVwib25CbHVyKClcIiAoZm9jdXNpbik9XCJ2YWx1ZU9uRW50ZXIgPSB2YWx1ZVwiICpuZ0lmPVwiY3VzdG9tTWFzayAhPSBudWxsXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbc2V0bWFza109XCJjdXN0b21NYXNrXCIgW3VubWFza109XCJjdXN0b21NYXNrXCI+XHJcblxyXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblN1ZmZpeFwiIG1hdFN1ZmZpeCBzdHlsZT1cImNvbG9yOiAjYWFhXCI+e3tpY29uU3VmZml4fX08L21hdC1pY29uPlxyXG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImVycm9yTWVzc2FnZVwiPnt7ZXJyb3JNZXNzYWdlIHwgdHJhbnNsYXRlfX08L21hdC1lcnJvcj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbjxtYXQtZm9ybS1maWVsZCAqbmdJZj1cInR5cGUgPT0gJ3RleHRhcmVhJ1wiPlxyXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblByZWZpeFwiIG1hdFByZWZpeCBzdHlsZT1cImNvbG9yOiAjYWFhXCI+e3tpY29uUHJlZml4fX08L21hdC1pY29uPlxyXG4gICAgXHJcbiAgICA8dGV4dGFyZWEgbWF0SW5wdXQgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChpbnB1dCk9XCJvbkNoYW5nZVZhbHVlKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiIChmb2N1c2luKT1cInZhbHVlT25FbnRlciA9IHZhbHVlXCIgW3Jvd3NdPVwicm93c1wiXHJcbiAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj48L3RleHRhcmVhPlxyXG5cclxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57e2Vycm9yTWVzc2FnZSB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJpbnB1dC1jb2xvclwiICpuZ0lmPVwidHlwZSA9PSAnY29sb3InXCI+XHJcbiAgICBcclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb2xvci1jb250YWluZXJcIj5cclxuICAgICAgICA8aW5wdXQgI2NvbG9ySW5wdXQgc3R5bGU9XCJ3aWR0aDogMHB4O3Zpc2liaWxpdHk6IGhpZGRlbjtcIiB0eXBlPVwiY29sb3JcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKGNoYW5nZSk9XCJ3cml0ZVZhbHVlKHZhbHVlKVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2xvci1waWNrZXJcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJ2YWx1ZVwiIChjbGljayk9XCJjb2xvcklucHV0LmNsaWNrKClcIj48L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoKVwiIChibHVyKT1cIm9uQmx1cigpXCIgKGZvY3VzaW4pPVwidmFsdWVPbkVudGVyID0gdmFsdWVcIiBcclxuICAgICAgICBbbWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25TdWZmaXhcIiBtYXRTdWZmaXggc3R5bGU9XCJjb2xvcjogI2FhYVwiPnt7aWNvblN1ZmZpeH19PC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|