sidesys-generic-ui 2.2.2 → 2.3.1-local.1
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/animation/animation.component.mjs +14 -5
- package/esm2022/lib/animation/emuns/animation.enum.mjs +33 -6
- package/esm2022/lib/avatar/components/profile-group/s-profile-group.component.mjs +2 -2
- package/esm2022/lib/avatar/s-avatar.component.mjs +2 -2
- package/esm2022/lib/badge/s-badge.component.mjs +2 -2
- package/esm2022/lib/button/components/button/s-button.component.mjs +2 -2
- package/esm2022/lib/card/s-card.component.mjs +3 -4
- package/esm2022/lib/card/s-card.module.mjs +4 -12
- package/esm2022/lib/checkbox/checkbox-new/s-checkbox.component.mjs +2 -2
- package/esm2022/lib/checkbox/s-checkbox.component.mjs +2 -2
- package/esm2022/lib/collapse/s-collapse.component.mjs +2 -2
- package/esm2022/lib/dynamic-form/s-dynamic-form.component.mjs +1 -1
- package/esm2022/lib/dynamic-form/s-dynamic-form.module.mjs +4 -19
- package/esm2022/lib/footer/s-footer.component.mjs +2 -2
- package/esm2022/lib/grid-multi-inputs/components/grid-multi-inputs-toolbar-top/grid-multi-inputs-toolbar-top.component.mjs +2 -2
- package/esm2022/lib/grid-multi-inputs/grid-multi-inputs.component.mjs +2 -2
- package/esm2022/lib/input/components/calendar/s-calendar.component.mjs +2 -2
- package/esm2022/lib/input/components/color/s-color.component.mjs +2 -2
- package/esm2022/lib/input/components/error-control/s-error-control.component.mjs +2 -2
- package/esm2022/lib/input/components/input/s-input.component.mjs +2 -2
- package/esm2022/lib/input/components/input-number/s-input-number.component.mjs +2 -2
- package/esm2022/lib/input/components/input-textarea/s-input-textarea.component.mjs +2 -2
- package/esm2022/lib/input/components/range/s-range.component.mjs +7 -7
- package/esm2022/lib/input/components/time/s-time.component.mjs +2 -2
- package/esm2022/lib/input/directives/control-boolean-accessor.directive.mjs +1 -1
- package/esm2022/lib/input/index.mjs +1 -2
- package/esm2022/lib/input/input.module.mjs +7 -12
- package/esm2022/lib/link/s-link.component.mjs +2 -2
- package/esm2022/lib/list-simple/s-list-simple.component.mjs +2 -2
- package/esm2022/lib/modal/modal-confirm/modal-confirm.component.mjs +2 -2
- package/esm2022/lib/navbar/components/icon-menu/components/s-notificaction.component.mjs +2 -2
- package/esm2022/lib/navbar/components/icon-menu/s-icon-menu.component.mjs +2 -2
- package/esm2022/lib/navbar/components/menu-main/s-menu-main.component.mjs +2 -2
- package/esm2022/lib/navbar/components/menu-main/s-menu-main.module.mjs +4 -10
- package/esm2022/lib/navbar/s-navbar.component.mjs +2 -2
- package/esm2022/lib/navbar/s-navbar.module.mjs +4 -10
- package/esm2022/lib/radio/s-radio.component.mjs +2 -2
- package/esm2022/lib/select/select/s-select.component.mjs +3 -3
- package/esm2022/lib/select/select-multiple/s-select-multiple.component.mjs +3 -3
- package/esm2022/lib/select/select-multiple-old/s-select-multiple-old.component.mjs +2 -2
- package/esm2022/lib/select/select-simple/s-select-simple.component.mjs +3 -3
- package/esm2022/lib/sidebar/s-sidebar.component.mjs +2 -2
- package/esm2022/lib/sidebar/s-sidebar.module.mjs +6 -25
- package/esm2022/lib/spinner/s-spinner.component.mjs +8 -17
- package/esm2022/lib/spinner/s-spinner.module.mjs +7 -12
- package/esm2022/lib/table-complete/table-complete.component.mjs +2 -2
- package/esm2022/lib/table-t/s-tablet.component.mjs +2 -2
- package/esm2022/lib/tabs/s-tabs.component.mjs +7 -2
- package/esm2022/lib/tag/s-tag.component.mjs +2 -2
- package/esm2022/lib/theme/s-theme.component.mjs +2 -2
- package/esm2022/lib/timeline/s-timeline.component.mjs +2 -2
- package/esm2022/lib/toast/s-toast.component.mjs +2 -2
- package/esm2022/lib/toggle-switch/s-toggle-switch.component.mjs +2 -2
- package/esm2022/lib/toggle-switch/toggle-switch-form/toggle-switch-form.component.mjs +115 -16
- package/esm2022/lib/toolbar-top/toolbar-top.component.mjs +9 -4
- package/esm2022/lib/toolbar-top/toolbar-top.module.mjs +1 -5
- package/esm2022/lib/tooltip/s-tooltip.component.mjs +4 -4
- package/esm2022/lib/tree-list/s-tree-list.component.mjs +2 -2
- package/esm2022/public-api.mjs +1 -5
- package/fesm2022/sidesys-generic-ui.mjs +1728 -2522
- package/fesm2022/sidesys-generic-ui.mjs.map +1 -1
- package/lib/animation/animation.component.d.ts +5 -2
- package/lib/animation/emuns/animation.enum.d.ts +14 -2
- package/lib/card/s-card.component.d.ts +0 -2
- package/lib/card/s-card.module.d.ts +4 -5
- package/lib/dynamic-form/s-dynamic-form.module.d.ts +7 -9
- package/lib/input/index.d.ts +0 -1
- package/lib/input/input.module.d.ts +14 -15
- package/lib/navbar/components/menu-main/s-menu-main.module.d.ts +4 -5
- package/lib/navbar/s-navbar.module.d.ts +8 -9
- package/lib/sidebar/s-sidebar.module.d.ts +4 -5
- package/lib/spinner/s-spinner.component.d.ts +5 -9
- package/lib/spinner/s-spinner.module.d.ts +2 -1
- package/lib/tabs/s-tabs.component.d.ts +3 -2
- package/lib/toggle-switch/toggle-switch-form/toggle-switch-form.component.d.ts +17 -4
- package/lib/toolbar-top/toolbar-top.component.d.ts +3 -1
- package/lib/toolbar-top/toolbar-top.module.d.ts +7 -8
- package/package.json +1 -1
- package/public-api.d.ts +0 -4
- package/esm2022/lib/drop-down/index.mjs +0 -4
- package/esm2022/lib/drop-down/s-drop-down-button.mjs +0 -7
- package/esm2022/lib/drop-down/s-drop-down.component.mjs +0 -29
- package/esm2022/lib/drop-down/s-drop-down.module.mjs +0 -18
- package/esm2022/lib/form/index.mjs +0 -4
- package/esm2022/lib/form/s-form-control.mjs +0 -59
- package/esm2022/lib/form/s-form.component.mjs +0 -130
- package/esm2022/lib/form/s-form.module.mjs +0 -51
- package/esm2022/lib/icon/index.mjs +0 -3
- package/esm2022/lib/icon/s-icon.component.mjs +0 -41
- package/esm2022/lib/icon/s-icon.module.mjs +0 -22
- package/esm2022/lib/icon/s-icons.mjs +0 -55
- package/esm2022/lib/input/components/input-text/s-input-text.component.mjs +0 -346
- package/esm2022/lib/login/index.mjs +0 -6
- package/esm2022/lib/login/s-login-errors-model.mjs +0 -3
- package/esm2022/lib/login/s-login-event.mjs +0 -3
- package/esm2022/lib/login/s-login-images.mjs +0 -4
- package/esm2022/lib/login/s-login-model.mjs +0 -3
- package/esm2022/lib/login/s-login.component.mjs +0 -121
- package/esm2022/lib/login/s-login.module.mjs +0 -32
- package/lib/drop-down/index.d.ts +0 -3
- package/lib/drop-down/s-drop-down-button.d.ts +0 -4
- package/lib/drop-down/s-drop-down.component.d.ts +0 -12
- package/lib/drop-down/s-drop-down.module.d.ts +0 -8
- package/lib/form/index.d.ts +0 -3
- package/lib/form/s-form-control.d.ts +0 -26
- package/lib/form/s-form.component.d.ts +0 -33
- package/lib/form/s-form.module.d.ts +0 -14
- package/lib/icon/index.d.ts +0 -2
- package/lib/icon/s-icon.component.d.ts +0 -18
- package/lib/icon/s-icon.module.d.ts +0 -8
- package/lib/icon/s-icons.d.ts +0 -8
- package/lib/input/components/input-text/s-input-text.component.d.ts +0 -66
- package/lib/login/index.d.ts +0 -5
- package/lib/login/s-login-errors-model.d.ts +0 -7
- package/lib/login/s-login-event.d.ts +0 -4
- package/lib/login/s-login-images.d.ts +0 -3
- package/lib/login/s-login-model.d.ts +0 -8
- package/lib/login/s-login.component.d.ts +0 -42
- package/lib/login/s-login.module.d.ts +0 -10
|
@@ -1,346 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@angular/forms";
|
|
6
|
-
import * as i3 from "../../../icon-material/s-icon-material.component";
|
|
7
|
-
import * as i4 from "../../../button/components/button/s-button.component";
|
|
8
|
-
export class SInputTextComponent {
|
|
9
|
-
get theme() { return this._theme; }
|
|
10
|
-
set theme(val) {
|
|
11
|
-
this._theme = ['default', 'green', 'yellow', 'red'].indexOf(val) != -1 ? val : 'default';
|
|
12
|
-
}
|
|
13
|
-
;
|
|
14
|
-
get type() { return this._type; }
|
|
15
|
-
set type(val) {
|
|
16
|
-
this._type = ['text', 'password', 'email', 'phone', 'url', 'search', 'number', 'color', 'date', 'time', 'range'].indexOf(val) != -1 ? val : 'text';
|
|
17
|
-
}
|
|
18
|
-
;
|
|
19
|
-
constructor() {
|
|
20
|
-
this.onChange = (_) => { };
|
|
21
|
-
this.onTouch = () => { };
|
|
22
|
-
this.text = '';
|
|
23
|
-
this.id = Math.floor(Math.random() * 1000);
|
|
24
|
-
this.name = '';
|
|
25
|
-
this.placeHolder = '';
|
|
26
|
-
this.disabled = false;
|
|
27
|
-
this.min = 0;
|
|
28
|
-
this.step = 1;
|
|
29
|
-
this.readOnly = false;
|
|
30
|
-
this.classAdd = '';
|
|
31
|
-
this.help = false;
|
|
32
|
-
this.size = 'md';
|
|
33
|
-
this.rangeUnity = '';
|
|
34
|
-
this.inputText = '';
|
|
35
|
-
this.inputNumber = 0;
|
|
36
|
-
this._type = 'text';
|
|
37
|
-
this._theme = 'default';
|
|
38
|
-
this.disabledstyle = '';
|
|
39
|
-
this.visibility = false;
|
|
40
|
-
this.inconSymbol = false;
|
|
41
|
-
this.tooltipValue = '';
|
|
42
|
-
this.textChangeEvent = new EventEmitter();
|
|
43
|
-
this.clickHelpIconEvent = new EventEmitter();
|
|
44
|
-
this.blur = new EventEmitter();
|
|
45
|
-
this.focus = new EventEmitter();
|
|
46
|
-
}
|
|
47
|
-
ngOnInit() {
|
|
48
|
-
this.initializeComponent();
|
|
49
|
-
}
|
|
50
|
-
// Inicializa los valores del componente
|
|
51
|
-
initializeComponent() {
|
|
52
|
-
if (this.text && this.type === 'number') {
|
|
53
|
-
this.inputNumber = Number(this.text);
|
|
54
|
-
}
|
|
55
|
-
if (this._type === 'color' && this.text === '') {
|
|
56
|
-
this.text = '#000000';
|
|
57
|
-
}
|
|
58
|
-
this.inputText = this.text;
|
|
59
|
-
if (this.disabled) {
|
|
60
|
-
this.disabledstyle = 'disabled-active';
|
|
61
|
-
}
|
|
62
|
-
if (this.type === 'color' && this.readOnly) {
|
|
63
|
-
this.disabled = true;
|
|
64
|
-
}
|
|
65
|
-
this.loadTheme();
|
|
66
|
-
}
|
|
67
|
-
ngAfterViewInit() {
|
|
68
|
-
//Ajustes Type Range
|
|
69
|
-
if (this.type === 'range') {
|
|
70
|
-
this.rangeOnLoad();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
ngOnChanges(changes) {
|
|
74
|
-
if (changes['theme']) {
|
|
75
|
-
this.loadTheme();
|
|
76
|
-
}
|
|
77
|
-
if (changes['text']) {
|
|
78
|
-
this.updateText();
|
|
79
|
-
}
|
|
80
|
-
if (changes['disabled'] || changes['readOnly']) {
|
|
81
|
-
this.updateDisabledAndReadOnlyState();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
// Actualiza el texto y los números
|
|
85
|
-
updateText() {
|
|
86
|
-
if (this.text && this.type === 'number') {
|
|
87
|
-
this.inputNumber = Number(this.text);
|
|
88
|
-
}
|
|
89
|
-
if (this._type === 'color' && this.text === '') {
|
|
90
|
-
this.text = '#000000';
|
|
91
|
-
}
|
|
92
|
-
this.inputText = this.text;
|
|
93
|
-
}
|
|
94
|
-
// Actualiza el estado disabled y readOnly
|
|
95
|
-
updateDisabledAndReadOnlyState() {
|
|
96
|
-
this.disabledstyle = this.disabled ? 'disabled-active' : '';
|
|
97
|
-
// Si el input es de tipo color y está en modo de solo lectura, se deshabilita.
|
|
98
|
-
if (this.type === 'color' && this.readOnly) {
|
|
99
|
-
this.disabled = true;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
loadTheme() {
|
|
103
|
-
switch (this.theme) {
|
|
104
|
-
case "default":
|
|
105
|
-
this.iconName = "";
|
|
106
|
-
break;
|
|
107
|
-
case "red":
|
|
108
|
-
this.iconName = "error_outline";
|
|
109
|
-
break;
|
|
110
|
-
case "green":
|
|
111
|
-
this.iconName = "check_circle_outline";
|
|
112
|
-
break;
|
|
113
|
-
case "yellow":
|
|
114
|
-
this.inconSymbol = true;
|
|
115
|
-
this.iconName = "warning";
|
|
116
|
-
break;
|
|
117
|
-
default:
|
|
118
|
-
this.iconName = "";
|
|
119
|
-
break;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
onTextChange() {
|
|
123
|
-
if (this.type === 'number') {
|
|
124
|
-
this.updateNumber(this.inputText);
|
|
125
|
-
}
|
|
126
|
-
this.onTouch();
|
|
127
|
-
this.onChange(this.inputText);
|
|
128
|
-
if (this.inputTimeout) {
|
|
129
|
-
clearTimeout(this.inputTimeout);
|
|
130
|
-
}
|
|
131
|
-
this.inputTimeout = setTimeout(() => {
|
|
132
|
-
this.textChangeEvent.next(this.inputText);
|
|
133
|
-
}, 500, null);
|
|
134
|
-
}
|
|
135
|
-
onTextChangeVal(val) {
|
|
136
|
-
if (this.inputTimeout) {
|
|
137
|
-
clearTimeout(this.inputTimeout);
|
|
138
|
-
}
|
|
139
|
-
this.inputTimeout = setTimeout(() => {
|
|
140
|
-
if (val) {
|
|
141
|
-
this.onTouch();
|
|
142
|
-
this.onChange(val);
|
|
143
|
-
this.textChangeEvent.next(val);
|
|
144
|
-
this.inputText = val;
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
this.onTouch();
|
|
148
|
-
this.onChange(val);
|
|
149
|
-
this.textChangeEvent.next(this.inputText);
|
|
150
|
-
}
|
|
151
|
-
}, 500, null);
|
|
152
|
-
}
|
|
153
|
-
clickIcon() {
|
|
154
|
-
this.clickHelpIconEvent.next();
|
|
155
|
-
}
|
|
156
|
-
colorClick() {
|
|
157
|
-
document.getElementById(this.name)?.click();
|
|
158
|
-
}
|
|
159
|
-
//FUNCIONES PARA TYPE NUMBER
|
|
160
|
-
numberDecrease() {
|
|
161
|
-
if (!this.disabled && !this.readOnly) {
|
|
162
|
-
if (this.min < this.inputNumber) {
|
|
163
|
-
this.inputNumber -= this.step;
|
|
164
|
-
}
|
|
165
|
-
this.inputText = this.inputNumber.toString();
|
|
166
|
-
this.onTouch();
|
|
167
|
-
this.onChange(this.inputText);
|
|
168
|
-
this.textChangeEvent.next(this.inputText);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
numberIncrement() {
|
|
172
|
-
if (!this.disabled && !this.readOnly) {
|
|
173
|
-
if (this.max) {
|
|
174
|
-
if (this.max > this.inputNumber) {
|
|
175
|
-
this.inputNumber += this.step;
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
this.inputNumber = this.max;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
if (!this.max) {
|
|
182
|
-
this.inputNumber += this.step;
|
|
183
|
-
}
|
|
184
|
-
this.inputText = this.inputNumber.toString();
|
|
185
|
-
this.onTouch();
|
|
186
|
-
this.onChange(this.inputText);
|
|
187
|
-
this.textChangeEvent.next(this.inputText);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
updateNumber(value) {
|
|
191
|
-
let value2 = value;
|
|
192
|
-
if (this.max)
|
|
193
|
-
if (value > this.max) {
|
|
194
|
-
value2 = this.max;
|
|
195
|
-
}
|
|
196
|
-
if (value < this.min) {
|
|
197
|
-
value2 = this.min;
|
|
198
|
-
}
|
|
199
|
-
this.inputText = value2.toString();
|
|
200
|
-
this.inputNumber = Number(value2);
|
|
201
|
-
if (this.typeNumber)
|
|
202
|
-
this.typeNumber.nativeElement.value = this.inputNumber;
|
|
203
|
-
this.onTouch();
|
|
204
|
-
this.onChange(this.inputNumber);
|
|
205
|
-
this.textChangeEvent.next(this.inputText);
|
|
206
|
-
}
|
|
207
|
-
//FIN FUNCIONES PARA TYPE NUMBER
|
|
208
|
-
//FUNCIONES PARA TYPE RANGE
|
|
209
|
-
rangeOnLoad() {
|
|
210
|
-
setTimeout(() => {
|
|
211
|
-
//RANGO TOTAL
|
|
212
|
-
const rangeMax = this.max ? this.max : 100;
|
|
213
|
-
//CALCULO LA AMPLITUD PARA PODER POSICIONAR AL 50% POR DEFECTO
|
|
214
|
-
let amplitudTotal = rangeMax - this.min;
|
|
215
|
-
let porcion = (amplitudTotal * 50) / 100;
|
|
216
|
-
// INICIALIZA AL 50% CUANDO NO HAY VALOR PREDEFINIDO
|
|
217
|
-
let value = this.text == '' ? this.min + porcion : this.text;
|
|
218
|
-
value = this.inputText == '' ? this.min + porcion : this.inputText;
|
|
219
|
-
//DEFINO EL TOOTLTIP
|
|
220
|
-
this.tooltipValue = this.text + this.rangeUnity;
|
|
221
|
-
this.updateTooltip(value.toString());
|
|
222
|
-
//SI ES CHROME APLICO EL FIX
|
|
223
|
-
const isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
|
|
224
|
-
if (isChrome) {
|
|
225
|
-
//CALCCULO EL % A ASIGNAR
|
|
226
|
-
let porcentaje = ((Number(value) - this.min) / (rangeMax - this.min)) * 100;
|
|
227
|
-
document.getElementById(this.id)?.style.setProperty('margin-top', '14px');
|
|
228
|
-
document.getElementById(this.id)?.style.setProperty('margin-bottom', '14px');
|
|
229
|
-
document.getElementById(this.id)?.style.setProperty('border-radius', '4px');
|
|
230
|
-
document.getElementById(this.id)?.style.setProperty('height', '8px');
|
|
231
|
-
document.getElementById(this.id)?.style.setProperty('background', 'linear-gradient(to right, var(--primary-600) 0%, var(--primary-600) ' + porcentaje + '%, var(--neutrals-1000) ' + porcentaje + '%, var(--neutrals-1000) 100%)');
|
|
232
|
-
}
|
|
233
|
-
;
|
|
234
|
-
}, 0);
|
|
235
|
-
}
|
|
236
|
-
//FUNCION PARA CHROME CUANDO SE DESLIZA EL SLIDE FUNCIONE CORRECTAMENTE
|
|
237
|
-
changeRange(value) {
|
|
238
|
-
if (this.type === 'range') {
|
|
239
|
-
const isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
|
|
240
|
-
const rangeMax = this.max ? this.max : 100;
|
|
241
|
-
if (isChrome) {
|
|
242
|
-
let porcentaje = ((value - this.min) / (rangeMax - this.min)) * 100;
|
|
243
|
-
document.getElementById(this.id)?.style.setProperty('background', 'linear-gradient(to right, var(--primary-600) 0%, var(--primary-600) ' + porcentaje + '%, var(--neutrals-1000) ' + porcentaje + '%, var(--neutrals-1000) 100%)');
|
|
244
|
-
}
|
|
245
|
-
;
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
//FUNCION QUE ACTUALIZA EL TOOLTIP CUANDO SE DESLIZA EL SLIDE
|
|
249
|
-
updateTooltip(value) {
|
|
250
|
-
if (this.tooltipContainer && this.tooltip) {
|
|
251
|
-
const rangeWidth = this.tooltipContainer.nativeElement.offsetWidth;
|
|
252
|
-
const rangeMax = this.max ? this.max : 100;
|
|
253
|
-
let porcentaje = ((Number(value) - this.min) / (rangeMax - this.min)) * 100;
|
|
254
|
-
let ajuste = porcentaje * rangeWidth / 100;
|
|
255
|
-
this.tooltip.nativeElement.style.left = `${ajuste}px`;
|
|
256
|
-
this.tooltipValue = value + this.rangeUnity;
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
//FIN FUNCIONES PARA TYPE RANGE
|
|
260
|
-
//FUNCIONES PARA QUE FUNCIONE FORM BUILDER
|
|
261
|
-
writeValue(value) {
|
|
262
|
-
this.inputText = value ?? "";
|
|
263
|
-
this.inputNumber = value ?? 0;
|
|
264
|
-
if (this.type == 'range') {
|
|
265
|
-
this.rangeOnLoad();
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
registerOnChange(fn) {
|
|
269
|
-
this.onChange = fn;
|
|
270
|
-
}
|
|
271
|
-
registerOnTouched(fn) {
|
|
272
|
-
this.onTouch = fn;
|
|
273
|
-
}
|
|
274
|
-
onBlur(event) {
|
|
275
|
-
this.blur.next(event);
|
|
276
|
-
}
|
|
277
|
-
onFocus(event) {
|
|
278
|
-
this.focus.next(event);
|
|
279
|
-
}
|
|
280
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SInputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
281
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SInputTextComponent, selector: "s-input-text", inputs: { text: "text", id: "id", name: "name", placeHolder: "placeHolder", disabled: "disabled", max: "max", min: "min", step: "step", readOnly: "readOnly", theme: "theme", type: "type", classAdd: "classAdd", help: "help", size: "size", rangeUnity: "rangeUnity" }, outputs: { textChangeEvent: "textChangeEvent", clickHelpIconEvent: "clickHelpIconEvent", blur: "blur", focus: "focus" }, providers: [
|
|
282
|
-
{
|
|
283
|
-
provide: NG_VALUE_ACCESSOR,
|
|
284
|
-
useExisting: forwardRef(() => SInputTextComponent),
|
|
285
|
-
multi: true
|
|
286
|
-
}
|
|
287
|
-
], viewQueries: [{ propertyName: "typeNumber", first: true, predicate: ["typeNumber"], descendants: true }, { propertyName: "tooltipContainer", first: true, predicate: ["tooltipContainer"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <!-- El switch case con cada caso por input ['text', 'password', 'email' , 'phone' , 'url' , 'search']-->\n\n <!-- case text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <!-- <div class=\"content-left\">\n <s-icon-mat class=\"icon\">email</s-icon-mat>\n </div> -->\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [id]=\"id\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\"\n [(ngModel)]=\"inputText\"\n (ngModelChange)=\"onTextChange()\"\n >\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n <!-- case password -->\n <ng-container *ngSwitchCase=\"'password'\">\n <div\n class=\"content-input-main-626 content-input-main-password {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-left\">\n <s-icon-mat class=\"icon\">vpn_key</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n type=\"{{visibility ? 'text' : 'password'}}\" \n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\"\n (ngModelChange)=\"onTextChange()\n \">\n </div>\n <div class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon cursor\"\n (click)=\"visibility = !visibility\">{{visibility ? 'visibility' :\n 'visibility_off'}}</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n <!-- case email -->\n <ng-container *ngSwitchCase=\"'email'\">\n <div\n class=\"content-input-main-626 content-input-main-email {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-left\">\n <s-icon-mat class=\"icon\">mail_outline</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <input\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n (ngModelChange)=\"onTextChange()\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n\n <!-- case phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n class=\"content-input-main-626 content-input-main-phone {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-left\">\n <s-icon-mat class=\"icon\">phone</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n (ngModelChange)=\"onTextChange()\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n\n <!-- case url -->\n <ng-container *ngSwitchCase=\"'url'\">\n <div\n class=\"content-input-main-626 content-input-main-url {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-left\">\n http://\n </div>\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n (ngModelChange)=\"onTextChange()\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n\n <!-- case search -->\n <ng-container *ngSwitchCase=\"'search'\">\n <div\n class=\"content-input-main-626 content-input-main-search {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-left\">\n <s-icon-mat class=\"icon\">search</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n (ngModelChange)=\"onTextChange()\">\n </div>\n <!-- <div class=\"content-right\">\n <s-icon-mat class=\"icon cursor\">help_outline</s-icon-mat>\n </div> -->\n </div>\n </ng-container>\n\n <!-- case color -->\n <ng-container *ngSwitchCase=\"'color'\">\n <div\n class=\"content-input-main-626 content-input-main-color {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-left\">\n <input [readOnly]=\"readOnly\" #color [id]=\"name\" [name]=\"name\" type=\"color\" [disabled]=\"disabled\" [(ngModel)]=\"inputText\"\n (ngModelChange)=\"onTextChange()\" class=\"content-left--input\">\n </div>\n <div class=\"content-center\" (click)=\"!this.readOnly ? this.color.click() : null\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [type]=\"text\" \n autocomplete=\"off\" \n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n [disabled]=\"disabled\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n <!-- case date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n (ngModelChange)=\"onTextChangeVal($event)\"\n [ngModel]=\"inputText\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n <!-- case time -->\n <ng-container *ngSwitchCase=\"'time'\">\n <div\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n (ngModelChange)=\"onTextChangeVal($event)\"\n [ngModel]=\"inputText\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n <!-- case number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div class=\"d-flex align-center\">\n <div class=\"content-left mr-1\">\n <s-button [disabled]=\"disabled\" (click)=\"numberDecrease()\" [size]=\"size\" [pill]=\"true\" [invert]=\"true\" class=\"button-input-626\"><s-icon-mat>remove</s-icon-mat></s-button>\n </div>\n <div class=\"content-input-main-626 content-input-main-text content-input-main-number {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}} w-100\">\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n #typeNumber \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n (ngModelChange)=\"onTextChange()\"\n [max]=\"max\"\n [min]=\"min\"\n [step]=\"step\"\n >\n </div>\n\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n <div class=\"content-left ml-1\">\n <s-button [disabled]=\"disabled\" (click)=\"numberIncrement()\" [size]=\"size\" [pill]=\"true\" [invert]=\"true\" class=\"button-input-626\"><s-icon-mat>add</s-icon-mat></s-button>\n </div>\n </div>\n </ng-container>\n\n <!-- case range -->\n <ng-container *ngSwitchCase=\"'range'\">\n <div class=\"content-input-main-range {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"tooltip tooltip-{{disabled}}\" #tooltipContainer>\n <input\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n #rangeField\n [readOnly]=\"readOnly\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [id]=\"id\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\"\n [(ngModel)]=\"inputText\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (mousemove)=\"changeRange(rangeField.value)\"\n (ngModelChange)=\"onTextChange()\"\n (input)=\"updateTooltip(rangeField.value)\"\n >\n <span class=\"tooltiptext\" #tooltip>{{ tooltipValue }}</span>\n </div>\n </div>\n </ng-container>\n\n <!-- case default -->\n <ng-container *ngSwitchDefault>\n <div\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <!-- <div class=\"content-left\">\n <s-icon-mat class=\"icon\">email</s-icon-mat>\n </div> -->\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : 'generic'\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n (ngModelChange)=\"onTextChange()\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n</ng-container>", styles: [".content-input-main-626:has(input:focus){border:1px solid var(--primary-600);box-shadow:0 0 0 4px #0091fe26,0 1px 2px #1018280d}.content-input-main-626.theme-green:has(input:focus){border:1px solid var(--green-500);box-shadow:0 0 0 4px #36b37e26,0 1px 2px #1018280d}.content-input-main-626.theme-yellow:has(input:focus){border:1px solid var(--yellow-500);box-shadow:0 0 0 4px #ffab0026,0 1px 2px #1018280d}.content-input-main-626.theme-red:has(input:focus){border:1px solid var(--red-500);box-shadow:0 0 0 4px #ff563026,0 1px 2px #1018280d}.content-input-main-626.sm input{height:22px;font-size:.75rem}.content-input-main-626.sm .icon{width:20px;cursor:default}.content-input-main-626.sm .icon span{font-size:1.2em;display:flex}.content-input-main-626{display:flex;border:1px solid var(--primary-500);border-radius:4px;padding:0 8px;margin:3px 0;background-color:var(--neutrals-1200)}.content-input-main-626 input{width:100%;border:0px;color:var(--secondary-600);writing-mode:unset;height:36px;font-size:inherit;background-color:var(--neutrals-1200)}.content-input-main-626 input:focus,.content-input-main-626 input:focus-visible{outline:none}.content-input-main-626 .icon{width:20px;cursor:default}.content-input-main-626 .icon span{display:flex}.content-input-main-626 .content-center{width:100%;background-color:var(--neutrals-1200)}.content-input-main-626 .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:8px;color:var(--primary-600)}.content-input-main-626 .content-left--input{width:40px;padding:0}.content-input-main-626 .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:8px;color:var(--secondary-600)}.content-input-main-626.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.content-input-main-626.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.content-input-main-626.disabled-active .content-left{color:var(--neutrals-800)!important}.content-input-main-626.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.content-input-main-626.disabled-active.content-input-main-url .content-left,.content-input-main-626.disabled-active.content-input-main-color .content-left{color:var(--neutrals-800)!important;border-right:1px solid var(--neutrals-900)}.content-input-main-626.theme-red{border:1px solid var(--red-500)}.content-input-main-626.theme-red .icon.report span{color:var(--red-600)}.content-input-main-626.theme-green{border:1px solid var(--green-500)}.content-input-main-626.theme-green .icon.report span{color:var(--green-600)}.content-input-main-626.theme-yellow{border:1px solid var(--yellow-500)}.content-input-main-626.theme-yellow .icon.report span{color:var(--yellow-600)}.content-input-main-626.content-input-main-password .content-right .icon span{color:var(--secondary-500)}.content-input-main-url .content-left,.content-input-main-color .content-left{border-right:1px solid var(--secondary-500);padding-right:8px;color:var(--secondary-500);font-size:.9rem;padding-left:8px}.content-input-main-url,.content-input-main-color{padding-left:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--neutrals-1200) inset!important}.content-input-main-626.content-input-main-number input::-webkit-outer-spin-button,.content-input-main-626.content-input-main-number input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.content-input-main-626.content-input-main-number input[type=number]{-moz-appearance:textfield}.button-input-626{font-size:15px;font-weight:700}.content-input-main-range input{width:100%;height:36px;margin:0;-webkit-appearance:none}.content-input-main-range input[type=range]::-webkit-slider-runnable-track{border-radius:4px;height:8px}.content-input-main-range input[type=range]::-moz-range-track{appearance:none;background-color:var(--neutrals-1000)!important;height:8px;border-radius:4px}.content-input-main-range input[type=range]::-ms-track{appearance:none;background-color:var(--neutrals-1000)!important;height:8px;border-radius:4px}.content-input-main-range input[type=range]::-moz-range-progress{appearance:none;background-color:var(--primary-600)!important;height:8px;border-radius:4px}.content-input-main-range input[type=range]::-ms-fill-upper{appearance:none;background-color:var(--primary-600)!important;height:8px;border-radius:4px}.content-input-main-range input[type=range]::-webkit-slider-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:24px;height:24px;border-radius:50%;border:3px solid var(--primary-600);background:var(--neutrals-1200);margin-top:-8px}.content-input-main-range input[type=range]::-moz-range-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:24px;height:24px;border-radius:50%;border:3px solid var(--primary-600);background:var(--neutrals-1200)}.content-input-main-range input[type=range]::-ms-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:24px;height:24px;border-radius:50%;border:3px solid var(--primary-600);background:var(--neutrals-1200)}.content-input-main-range input[type=range]::-webkit-slider-thumb:hover{border:3px solid var(--primary-600);background:var(--primary-200)}.content-input-main-range input[type=range]::-moz-range-thumb:hover{border:3px solid var(--primary-600);background:var(--primary-200)}.content-input-main-range input[type=range]::-ms-thumb:hover{border:3px solid var(--primary-600);background:var(--primary-200)}.content-input-main-range input[type=range]::-webkit-slider-thumb:active{border:3px solid var(--primary-600);background:var(--primary-600);box-shadow:0 1px 2px #1018280d,0 0 0 4px #0091fe26}.content-input-main-range input[type=range]::-moz-range-thumb:active{border:3px solid var(--primary-600);background:var(--primary-600);box-shadow:0 1px 2px #1018280d,0 0 0 4px #0091fe26}.content-input-main-range input[type=range]::-ms-thumb:active{border:3px solid var(--primary-600);background:var(--primary-600);box-shadow:0 1px 2px #1018280d,0 0 0 4px #0091fe26}.content-input-main-range input[type=range]:disabled{filter:grayscale(1);opacity:.3;cursor:not-allowed}.tooltip{position:relative;display:inline-block;cursor:pointer;width:100%}.tooltip .tooltiptext{visibility:hidden;width:40px;background-color:var(--neutrals-1200);color:var(--secondary-600);font-weight:700;font-size:12px;text-align:center;border-radius:4px;padding:5px;position:absolute;z-index:1;bottom:100%;left:550%;transform:translate(-50%);box-shadow:0 0 16px #17386129}.tooltip-false:hover .tooltiptext{visibility:visible}.tooltip .tooltiptext:before{content:\"\";position:absolute!important;transform:rotate(45deg);height:10px;width:10px;bottom:-5px;background-color:var(--neutrals-1200);box-shadow:0 0 16px #17386129;left:40%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: i4.SButtonComponent, selector: "s-button", inputs: ["disabled", "pill", "size", "invert", "type", "loading", "position", "theme", "active"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
288
|
-
}
|
|
289
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SInputTextComponent, decorators: [{
|
|
290
|
-
type: Component,
|
|
291
|
-
args: [{ selector: 's-input-text', encapsulation: ViewEncapsulation.None, providers: [
|
|
292
|
-
{
|
|
293
|
-
provide: NG_VALUE_ACCESSOR,
|
|
294
|
-
useExisting: forwardRef(() => SInputTextComponent),
|
|
295
|
-
multi: true
|
|
296
|
-
}
|
|
297
|
-
], template: "<ng-container [ngSwitch]=\"type\">\n <!-- El switch case con cada caso por input ['text', 'password', 'email' , 'phone' , 'url' , 'search']-->\n\n <!-- case text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <!-- <div class=\"content-left\">\n <s-icon-mat class=\"icon\">email</s-icon-mat>\n </div> -->\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [id]=\"id\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\"\n [(ngModel)]=\"inputText\"\n (ngModelChange)=\"onTextChange()\"\n >\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n <!-- case password -->\n <ng-container *ngSwitchCase=\"'password'\">\n <div\n class=\"content-input-main-626 content-input-main-password {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-left\">\n <s-icon-mat class=\"icon\">vpn_key</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n type=\"{{visibility ? 'text' : 'password'}}\" \n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\"\n (ngModelChange)=\"onTextChange()\n \">\n </div>\n <div class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon cursor\"\n (click)=\"visibility = !visibility\">{{visibility ? 'visibility' :\n 'visibility_off'}}</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n <!-- case email -->\n <ng-container *ngSwitchCase=\"'email'\">\n <div\n class=\"content-input-main-626 content-input-main-email {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-left\">\n <s-icon-mat class=\"icon\">mail_outline</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <input\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n (ngModelChange)=\"onTextChange()\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n\n <!-- case phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n class=\"content-input-main-626 content-input-main-phone {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-left\">\n <s-icon-mat class=\"icon\">phone</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n (ngModelChange)=\"onTextChange()\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n\n <!-- case url -->\n <ng-container *ngSwitchCase=\"'url'\">\n <div\n class=\"content-input-main-626 content-input-main-url {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-left\">\n http://\n </div>\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n (ngModelChange)=\"onTextChange()\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n\n <!-- case search -->\n <ng-container *ngSwitchCase=\"'search'\">\n <div\n class=\"content-input-main-626 content-input-main-search {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-left\">\n <s-icon-mat class=\"icon\">search</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n (ngModelChange)=\"onTextChange()\">\n </div>\n <!-- <div class=\"content-right\">\n <s-icon-mat class=\"icon cursor\">help_outline</s-icon-mat>\n </div> -->\n </div>\n </ng-container>\n\n <!-- case color -->\n <ng-container *ngSwitchCase=\"'color'\">\n <div\n class=\"content-input-main-626 content-input-main-color {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-left\">\n <input [readOnly]=\"readOnly\" #color [id]=\"name\" [name]=\"name\" type=\"color\" [disabled]=\"disabled\" [(ngModel)]=\"inputText\"\n (ngModelChange)=\"onTextChange()\" class=\"content-left--input\">\n </div>\n <div class=\"content-center\" (click)=\"!this.readOnly ? this.color.click() : null\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [type]=\"text\" \n autocomplete=\"off\" \n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n [disabled]=\"disabled\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n <!-- case date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n (ngModelChange)=\"onTextChangeVal($event)\"\n [ngModel]=\"inputText\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n <!-- case time -->\n <ng-container *ngSwitchCase=\"'time'\">\n <div\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [id]=\"id ? id : ''\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n (ngModelChange)=\"onTextChangeVal($event)\"\n [ngModel]=\"inputText\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n <!-- case number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div class=\"d-flex align-center\">\n <div class=\"content-left mr-1\">\n <s-button [disabled]=\"disabled\" (click)=\"numberDecrease()\" [size]=\"size\" [pill]=\"true\" [invert]=\"true\" class=\"button-input-626\"><s-icon-mat>remove</s-icon-mat></s-button>\n </div>\n <div class=\"content-input-main-626 content-input-main-text content-input-main-number {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}} w-100\">\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : ''\" \n #typeNumber \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n (ngModelChange)=\"onTextChange()\"\n [max]=\"max\"\n [min]=\"min\"\n [step]=\"step\"\n >\n </div>\n\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n <div class=\"content-left ml-1\">\n <s-button [disabled]=\"disabled\" (click)=\"numberIncrement()\" [size]=\"size\" [pill]=\"true\" [invert]=\"true\" class=\"button-input-626\"><s-icon-mat>add</s-icon-mat></s-button>\n </div>\n </div>\n </ng-container>\n\n <!-- case range -->\n <ng-container *ngSwitchCase=\"'range'\">\n <div class=\"content-input-main-range {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <div class=\"tooltip tooltip-{{disabled}}\" #tooltipContainer>\n <input\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n #rangeField\n [readOnly]=\"readOnly\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [id]=\"id\" \n [name]=\"name\" \n autocomplete=\"off\"\n [placeholder]=\"placeHolder\"\n [(ngModel)]=\"inputText\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (mousemove)=\"changeRange(rangeField.value)\"\n (ngModelChange)=\"onTextChange()\"\n (input)=\"updateTooltip(rangeField.value)\"\n >\n <span class=\"tooltiptext\" #tooltip>{{ tooltipValue }}</span>\n </div>\n </div>\n </ng-container>\n\n <!-- case default -->\n <ng-container *ngSwitchDefault>\n <div\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\n <!-- <div class=\"content-left\">\n <s-icon-mat class=\"icon\">email</s-icon-mat>\n </div> -->\n <div class=\"content-center\">\n <input \n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\" \n [id]=\"id ? id : 'generic'\" \n [disabled]=\"disabled\" \n [type]=\"type\" \n [name]=\"name\" autocomplete=\"off\"\n [placeholder]=\"placeHolder\" \n [(ngModel)]=\"inputText\" \n (ngModelChange)=\"onTextChange()\">\n </div>\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\n </div>\n\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n </ng-container>\n\n</ng-container>", styles: [".content-input-main-626:has(input:focus){border:1px solid var(--primary-600);box-shadow:0 0 0 4px #0091fe26,0 1px 2px #1018280d}.content-input-main-626.theme-green:has(input:focus){border:1px solid var(--green-500);box-shadow:0 0 0 4px #36b37e26,0 1px 2px #1018280d}.content-input-main-626.theme-yellow:has(input:focus){border:1px solid var(--yellow-500);box-shadow:0 0 0 4px #ffab0026,0 1px 2px #1018280d}.content-input-main-626.theme-red:has(input:focus){border:1px solid var(--red-500);box-shadow:0 0 0 4px #ff563026,0 1px 2px #1018280d}.content-input-main-626.sm input{height:22px;font-size:.75rem}.content-input-main-626.sm .icon{width:20px;cursor:default}.content-input-main-626.sm .icon span{font-size:1.2em;display:flex}.content-input-main-626{display:flex;border:1px solid var(--primary-500);border-radius:4px;padding:0 8px;margin:3px 0;background-color:var(--neutrals-1200)}.content-input-main-626 input{width:100%;border:0px;color:var(--secondary-600);writing-mode:unset;height:36px;font-size:inherit;background-color:var(--neutrals-1200)}.content-input-main-626 input:focus,.content-input-main-626 input:focus-visible{outline:none}.content-input-main-626 .icon{width:20px;cursor:default}.content-input-main-626 .icon span{display:flex}.content-input-main-626 .content-center{width:100%;background-color:var(--neutrals-1200)}.content-input-main-626 .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:8px;color:var(--primary-600)}.content-input-main-626 .content-left--input{width:40px;padding:0}.content-input-main-626 .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:8px;color:var(--secondary-600)}.content-input-main-626.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.content-input-main-626.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.content-input-main-626.disabled-active .content-left{color:var(--neutrals-800)!important}.content-input-main-626.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.content-input-main-626.disabled-active.content-input-main-url .content-left,.content-input-main-626.disabled-active.content-input-main-color .content-left{color:var(--neutrals-800)!important;border-right:1px solid var(--neutrals-900)}.content-input-main-626.theme-red{border:1px solid var(--red-500)}.content-input-main-626.theme-red .icon.report span{color:var(--red-600)}.content-input-main-626.theme-green{border:1px solid var(--green-500)}.content-input-main-626.theme-green .icon.report span{color:var(--green-600)}.content-input-main-626.theme-yellow{border:1px solid var(--yellow-500)}.content-input-main-626.theme-yellow .icon.report span{color:var(--yellow-600)}.content-input-main-626.content-input-main-password .content-right .icon span{color:var(--secondary-500)}.content-input-main-url .content-left,.content-input-main-color .content-left{border-right:1px solid var(--secondary-500);padding-right:8px;color:var(--secondary-500);font-size:.9rem;padding-left:8px}.content-input-main-url,.content-input-main-color{padding-left:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--neutrals-1200) inset!important}.content-input-main-626.content-input-main-number input::-webkit-outer-spin-button,.content-input-main-626.content-input-main-number input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.content-input-main-626.content-input-main-number input[type=number]{-moz-appearance:textfield}.button-input-626{font-size:15px;font-weight:700}.content-input-main-range input{width:100%;height:36px;margin:0;-webkit-appearance:none}.content-input-main-range input[type=range]::-webkit-slider-runnable-track{border-radius:4px;height:8px}.content-input-main-range input[type=range]::-moz-range-track{appearance:none;background-color:var(--neutrals-1000)!important;height:8px;border-radius:4px}.content-input-main-range input[type=range]::-ms-track{appearance:none;background-color:var(--neutrals-1000)!important;height:8px;border-radius:4px}.content-input-main-range input[type=range]::-moz-range-progress{appearance:none;background-color:var(--primary-600)!important;height:8px;border-radius:4px}.content-input-main-range input[type=range]::-ms-fill-upper{appearance:none;background-color:var(--primary-600)!important;height:8px;border-radius:4px}.content-input-main-range input[type=range]::-webkit-slider-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:24px;height:24px;border-radius:50%;border:3px solid var(--primary-600);background:var(--neutrals-1200);margin-top:-8px}.content-input-main-range input[type=range]::-moz-range-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:24px;height:24px;border-radius:50%;border:3px solid var(--primary-600);background:var(--neutrals-1200)}.content-input-main-range input[type=range]::-ms-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:24px;height:24px;border-radius:50%;border:3px solid var(--primary-600);background:var(--neutrals-1200)}.content-input-main-range input[type=range]::-webkit-slider-thumb:hover{border:3px solid var(--primary-600);background:var(--primary-200)}.content-input-main-range input[type=range]::-moz-range-thumb:hover{border:3px solid var(--primary-600);background:var(--primary-200)}.content-input-main-range input[type=range]::-ms-thumb:hover{border:3px solid var(--primary-600);background:var(--primary-200)}.content-input-main-range input[type=range]::-webkit-slider-thumb:active{border:3px solid var(--primary-600);background:var(--primary-600);box-shadow:0 1px 2px #1018280d,0 0 0 4px #0091fe26}.content-input-main-range input[type=range]::-moz-range-thumb:active{border:3px solid var(--primary-600);background:var(--primary-600);box-shadow:0 1px 2px #1018280d,0 0 0 4px #0091fe26}.content-input-main-range input[type=range]::-ms-thumb:active{border:3px solid var(--primary-600);background:var(--primary-600);box-shadow:0 1px 2px #1018280d,0 0 0 4px #0091fe26}.content-input-main-range input[type=range]:disabled{filter:grayscale(1);opacity:.3;cursor:not-allowed}.tooltip{position:relative;display:inline-block;cursor:pointer;width:100%}.tooltip .tooltiptext{visibility:hidden;width:40px;background-color:var(--neutrals-1200);color:var(--secondary-600);font-weight:700;font-size:12px;text-align:center;border-radius:4px;padding:5px;position:absolute;z-index:1;bottom:100%;left:550%;transform:translate(-50%);box-shadow:0 0 16px #17386129}.tooltip-false:hover .tooltiptext{visibility:visible}.tooltip .tooltiptext:before{content:\"\";position:absolute!important;transform:rotate(45deg);height:10px;width:10px;bottom:-5px;background-color:var(--neutrals-1200);box-shadow:0 0 16px #17386129;left:40%}\n"] }]
|
|
298
|
-
}], ctorParameters: () => [], propDecorators: { typeNumber: [{
|
|
299
|
-
type: ViewChild,
|
|
300
|
-
args: ['typeNumber']
|
|
301
|
-
}], tooltipContainer: [{
|
|
302
|
-
type: ViewChild,
|
|
303
|
-
args: ['tooltipContainer', { static: false }]
|
|
304
|
-
}], tooltip: [{
|
|
305
|
-
type: ViewChild,
|
|
306
|
-
args: ['tooltip', { static: false }]
|
|
307
|
-
}], text: [{
|
|
308
|
-
type: Input
|
|
309
|
-
}], id: [{
|
|
310
|
-
type: Input
|
|
311
|
-
}], name: [{
|
|
312
|
-
type: Input
|
|
313
|
-
}], placeHolder: [{
|
|
314
|
-
type: Input
|
|
315
|
-
}], disabled: [{
|
|
316
|
-
type: Input
|
|
317
|
-
}], max: [{
|
|
318
|
-
type: Input
|
|
319
|
-
}], min: [{
|
|
320
|
-
type: Input
|
|
321
|
-
}], step: [{
|
|
322
|
-
type: Input
|
|
323
|
-
}], readOnly: [{
|
|
324
|
-
type: Input
|
|
325
|
-
}], theme: [{
|
|
326
|
-
type: Input
|
|
327
|
-
}], type: [{
|
|
328
|
-
type: Input
|
|
329
|
-
}], classAdd: [{
|
|
330
|
-
type: Input
|
|
331
|
-
}], help: [{
|
|
332
|
-
type: Input
|
|
333
|
-
}], size: [{
|
|
334
|
-
type: Input
|
|
335
|
-
}], rangeUnity: [{
|
|
336
|
-
type: Input
|
|
337
|
-
}], textChangeEvent: [{
|
|
338
|
-
type: Output
|
|
339
|
-
}], clickHelpIconEvent: [{
|
|
340
|
-
type: Output
|
|
341
|
-
}], blur: [{
|
|
342
|
-
type: Output
|
|
343
|
-
}], focus: [{
|
|
344
|
-
type: Output
|
|
345
|
-
}] } });
|
|
346
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy1pbnB1dC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL2lucHV0L2NvbXBvbmVudHMvaW5wdXQtdGV4dC9zLWlucHV0LXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvaW5wdXQvY29tcG9uZW50cy9pbnB1dC10ZXh0L3MtaW5wdXQtdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUssT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFlekUsTUFBTSxPQUFPLG1CQUFtQjtJQXFCOUIsSUFDSSxLQUFLLEtBQWEsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMzQyxJQUFJLEtBQUssQ0FBQyxHQUFXO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzNGLENBQUM7SUFBQSxDQUFDO0lBQ0YsSUFDSSxJQUFJLEtBQWEsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6QyxJQUFJLElBQUksQ0FBQyxHQUFXO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE9B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QkFEUixLQUFLO2dCQU1GLElBQUk7c0JBRFAsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFhSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3MtaW5wdXQtdGV4dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zLWlucHV0LXRleHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zLWlucHV0LXRleHQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTSW5wdXRUZXh0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNJbnB1dFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3IgLCBBZnRlclZpZXdJbml0ICB7XG4gIFxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcbiAgb25Ub3VjaCA9ICgpID0+IHsgfTtcblxuICAvL1JFRiBQQVJBIFRZUEUgTlVNQkVSXG4gIEBWaWV3Q2hpbGQoJ3R5cGVOdW1iZXInKSB0eXBlTnVtYmVyOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkIDtcbiAgLy9SRUYgUEFSQSBUWVBFIFJBTkdFXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBDb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgdG9vbHRpcENvbnRhaW5lcjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgQFZpZXdDaGlsZCgndG9vbHRpcCcsIHsgc3RhdGljOiBmYWxzZSB9KSB0b29sdGlwOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG5cbiAgQElucHV0KCkgdGV4dDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGlkOiBhbnkgPSAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMCk7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwbGFjZUhvbGRlcj86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtYXg/OiBudW1iZXIgO1xuICBASW5wdXQoKSBtaW46IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHN0ZXA6IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGdldCB0aGVtZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fdGhlbWU7IH1cbiAgc2V0IHRoZW1lKHZhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGhlbWUgPSBbJ2RlZmF1bHQnLCAnZ3JlZW4nLCAneWVsbG93JywgJ3JlZCddLmluZGV4T2YodmFsKSAhPSAtMSA/IHZhbCA6ICdkZWZhdWx0JztcbiAgfTtcbiAgQElucHV0KClcbiAgZ2V0IHR5cGUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX3R5cGU7IH1cbiAgc2V0IHR5cGUodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90eXBlID0gWyd0ZXh0JywgJ3Bhc3N3b3JkJywgJ2VtYWlsJywgJ3Bob25lJywgJ3VybCcsICdzZWFyY2gnLCAnbnVtYmVyJywgJ2NvbG9yJywgJ2RhdGUnLCAndGltZScgLCAncmFuZ2UnXS5pbmRleE9mKHZhbCkgIT0gLTEgPyB2YWwgOiAndGV4dCc7XG4gIH07XG4gIEBJbnB1dCgpIGNsYXNzQWRkOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaGVscDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzaXplOiAnc20nIHwgJ21kJyA9ICdtZCc7XG4gIEBJbnB1dCgpIHJhbmdlVW5pdHk6IHN0cmluZyA9ICcnO1xuXG4gIGlucHV0VGltZW91dD86IGFueTtcbiAgaW5wdXRUZXh0OiBzdHJpbmcgPSAnJztcbiAgaW5wdXROdW1iZXI6IG51bWJlciA9IDA7XG4gIF90eXBlOiBzdHJpbmcgPSAndGV4dCc7XG4gIF90aGVtZTogc3RyaW5nID0gJ2RlZmF1bHQnO1xuICBkaXNhYmxlZHN0eWxlOiBzdHJpbmcgPSAnJztcbiAgdmlzaWJpbGl0eSA9IGZhbHNlO1xuICBpY29uTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBpbmNvblN5bWJvbDogYm9vbGVhbiA9IGZhbHNlO1xuICB0b29sdGlwVmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKSB0ZXh0Q2hhbmdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsaWNrSGVscEljb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xuICB9XG5cbiAgLy8gSW5pY2lhbGl6YSBsb3MgdmFsb3JlcyBkZWwgY29tcG9uZW50ZVxuICBwcml2YXRlIGluaXRpYWxpemVDb21wb25lbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGV4dCAmJiB0aGlzLnR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICB0aGlzLmlucHV0TnVtYmVyID0gTnVtYmVyKHRoaXMudGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3R5cGUgPT09ICdjb2xvcicgJiYgdGhpcy50ZXh0ID09PSAnJykge1xuICAgICAgdGhpcy50ZXh0ID0gJyMwMDAwMDAnO1xuICAgIH1cblxuICAgIHRoaXMuaW5wdXRUZXh0ID0gdGhpcy50ZXh0O1xuXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZGlzYWJsZWRzdHlsZSA9ICdkaXNhYmxlZC1hY3RpdmUnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdjb2xvcicgJiYgdGhpcy5yZWFkT25seSkge1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkVGhlbWUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAvL0FqdXN0ZXMgVHlwZSBSYW5nZVxuICAgIGlmKHRoaXMudHlwZSA9PT0gJ3JhbmdlJyl7XG4gICAgICB0aGlzLnJhbmdlT25Mb2FkKClcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3RoZW1lJ10pIHtcbiAgICAgIHRoaXMubG9hZFRoZW1lKCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbJ3RleHQnXSkge1xuICAgICAgdGhpcy51cGRhdGVUZXh0KCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10gfHwgY2hhbmdlc1sncmVhZE9ubHknXSkge1xuICAgICAgdGhpcy51cGRhdGVEaXNhYmxlZEFuZFJlYWRPbmx5U3RhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvLyBBY3R1YWxpemEgZWwgdGV4dG8geSBsb3MgbsO6bWVyb3NcbiAgcHJpdmF0ZSB1cGRhdGVUZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRleHQgJiYgdGhpcy50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgdGhpcy5pbnB1dE51bWJlciA9IE51bWJlcih0aGlzLnRleHQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl90eXBlID09PSAnY29sb3InICYmIHRoaXMudGV4dCA9PT0gJycpIHtcbiAgICAgIHRoaXMudGV4dCA9ICcjMDAwMDAwJztcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0VGV4dCA9IHRoaXMudGV4dDtcbiAgfVxuXG4gIC8vIEFjdHVhbGl6YSBlbCBlc3RhZG8gZGlzYWJsZWQgeSByZWFkT25seVxuICBwcml2YXRlIHVwZGF0ZURpc2FibGVkQW5kUmVhZE9ubHlTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkc3R5bGUgPSB0aGlzLmRpc2FibGVkID8gJ2Rpc2FibGVkLWFjdGl2ZScgOiAnJztcblxuICAgIC8vIFNpIGVsIGlucHV0IGVzIGRlIHRpcG8gY29sb3IgeSBlc3TDoSBlbiBtb2RvIGRlIHNvbG8gbGVjdHVyYSwgc2UgZGVzaGFiaWxpdGEuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2NvbG9yJyAmJiB0aGlzLnJlYWRPbmx5KSB7XG4gICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgbG9hZFRoZW1lKCkge1xuICAgIHN3aXRjaCAodGhpcy50aGVtZSkge1xuICAgICAgY2FzZSBcImRlZmF1bHRcIjpcbiAgICAgICAgdGhpcy5pY29uTmFtZSA9IFwiXCJcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwicmVkXCI6XG4gICAgICAgIHRoaXMuaWNvbk5hbWUgPSBcImVycm9yX291dGxpbmVcIlxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJncmVlblwiOlxuICAgICAgICB0aGlzLmljb25OYW1lID0gXCJjaGVja19jaXJjbGVfb3V0bGluZVwiXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcInllbGxvd1wiOlxuICAgICAgICB0aGlzLmluY29uU3ltYm9sID0gdHJ1ZVxuICAgICAgICB0aGlzLmljb25OYW1lID0gXCJ3YXJuaW5nXCJcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuaWNvbk5hbWUgPSBcIlwiXG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIG9uVGV4dENoYW5nZSgpIHtcbiAgICBpZih0aGlzLnR5cGUgPT09ICdudW1iZXInKXtcbiAgICAgIHRoaXMudXBkYXRlTnVtYmVyKHRoaXMuaW5wdXRUZXh0KVxuICAgIH1cblxuICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy5pbnB1dFRleHQpO1xuXG4gICAgaWYgKHRoaXMuaW5wdXRUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5pbnB1dFRpbWVvdXQpO1xuICAgIH1cblxuICAgIHRoaXMuaW5wdXRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnRleHRDaGFuZ2VFdmVudC5uZXh0KHRoaXMuaW5wdXRUZXh0KTtcbiAgICB9LCA1MDAsIG51bGwpO1xuICB9XG5cbiAgb25UZXh0Q2hhbmdlVmFsKHZhbDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuaW5wdXRUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5pbnB1dFRpbWVvdXQpO1xuICAgIH1cblxuICAgIHRoaXMuaW5wdXRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodmFsKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XG4gICAgICAgIHRoaXMudGV4dENoYW5nZUV2ZW50Lm5leHQodmFsKTtcbiAgICAgICAgdGhpcy5pbnB1dFRleHQgPSB2YWw7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5vblRvdWNoKCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsKTtcbiAgICAgICAgdGhpcy50ZXh0Q2hhbmdlRXZlbnQubmV4dCh0aGlzLmlucHV0VGV4dCk7XG4gICAgICB9XG4gICAgfSwgNTAwLCBudWxsKTtcbiAgfVxuXG4gIGNsaWNrSWNvbigpIHtcbiAgICB0aGlzLmNsaWNrSGVscEljb25FdmVudC5uZXh0KCk7XG4gIH1cblxuICBjb2xvckNsaWNrKCkge1xuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMubmFtZSk/LmNsaWNrKCk7XG4gIH1cblxuICAvL0ZVTkNJT05FUyBQQVJBIFRZUEUgTlVNQkVSIFxuICBudW1iZXJEZWNyZWFzZSgpe1xuICAgIGlmKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLnJlYWRPbmx5KXtcbiAgICAgIGlmKHRoaXMubWluIDwgdGhpcy5pbnB1dE51bWJlcil7XG4gICAgICAgIHRoaXMuaW5wdXROdW1iZXItPXRoaXMuc3RlcFxuICAgICAgfVxuICAgICAgdGhpcy5pbnB1dFRleHQgPSB0aGlzLmlucHV0TnVtYmVyLnRvU3RyaW5nKClcbiAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmlucHV0VGV4dCk7XG4gICAgICB0aGlzLnRleHRDaGFuZ2VFdmVudC5uZXh0KHRoaXMuaW5wdXRUZXh0KTtcbiAgICB9XG4gIH1cblxuICBudW1iZXJJbmNyZW1lbnQoKXtcbiAgICBpZighdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5yZWFkT25seSl7XG4gICAgICBpZih0aGlzLm1heCl7XG4gICAgICAgIGlmKHRoaXMubWF4ID4gdGhpcy5pbnB1dE51bWJlcil7XG4gICAgICAgICAgdGhpcy5pbnB1dE51bWJlcis9dGhpcy5zdGVwXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHRoaXMuaW5wdXROdW1iZXIgPSB0aGlzLm1heFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZighdGhpcy5tYXgpe1xuICAgICAgICB0aGlzLmlucHV0TnVtYmVyKz10aGlzLnN0ZXBcbiAgICAgIH1cbiAgICAgIHRoaXMuaW5wdXRUZXh0ID0gdGhpcy5pbnB1dE51bWJlci50b1N0cmluZygpXG4gICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5pbnB1dFRleHQpO1xuICAgICAgdGhpcy50ZXh0Q2hhbmdlRXZlbnQubmV4dCh0aGlzLmlucHV0VGV4dCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlTnVtYmVyKHZhbHVlOmFueSl7XG4gICAgbGV0IHZhbHVlMiA9IHZhbHVlXG4gICAgaWYodGhpcy5tYXgpXG4gICAgaWYodmFsdWUgPiB0aGlzLm1heCl7XG4gICAgICB2YWx1ZTIgPSB0aGlzLm1heFxuICAgIH1cbiAgICBpZih2YWx1ZSA8IHRoaXMubWluKXtcbiAgICAgIHZhbHVlMiA9IHRoaXMubWluXG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dFRleHQgPSB2YWx1ZTIudG9TdHJpbmcoKVxuICAgIHRoaXMuaW5wdXROdW1iZXIgPSBOdW1iZXIodmFsdWUyKTtcbiAgICBpZih0aGlzLnR5cGVOdW1iZXIpXG4gICAgdGhpcy50eXBlTnVtYmVyLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmlucHV0TnVtYmVyXG4gICAgdGhpcy5vblRvdWNoKCk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmlucHV0TnVtYmVyKTtcbiAgICB0aGlzLnRleHRDaGFuZ2VFdmVudC5uZXh0KHRoaXMuaW5wdXRUZXh0KTtcbiAgICBcbiAgfSBcbiAgLy9GSU4gRlVOQ0lPTkVTIFBBUkEgVFlQRSBOVU1CRVIgXG4gIFxuICAvL0ZVTkNJT05FUyBQQVJBIFRZUEUgUkFOR0UgXG4gIHJhbmdlT25Mb2FkKCl7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvL1JBTkdPIFRPVEFMXG4gICAgICBjb25zdCByYW5nZU1heCA9IHRoaXMubWF4ID8gdGhpcy5tYXggOiAxMDA7XG4gICAgICAvL0NBTENVTE8gTEEgQU1QTElUVUQgUEFSQSBQT0RFUiBQT1NJQ0lPTkFSIEFMIDUwJSBQT1IgREVGRUNUT1xuICAgICAgbGV0IGFtcGxpdHVkVG90YWwgPSByYW5nZU1heCAtIHRoaXMubWluXG4gICAgICBsZXQgcG9yY2lvbiA9IChhbXBsaXR1ZFRvdGFsICogNTApIC8gMTAwIFxuICAgICAgLy8gSU5JQ0lBTElaQSBBTCA1MCUgQ1VBTkRPIE5PIEhBWSBWQUxPUiBQUkVERUZJTklET1xuICAgICAgbGV0IHZhbHVlID0gdGhpcy50ZXh0ID09ICcnID8gdGhpcy5taW4gKyBwb3JjaW9uIDogdGhpcy50ZXh0XG4gICAgICB2YWx1ZSA9IHRoaXMuaW5wdXRUZXh0ID09ICcnID8gdGhpcy5taW4gKyBwb3JjaW9uIDogdGhpcy5pbnB1dFRleHRcbiAgICAgIC8vREVGSU5PIEVMIFRPT1RMVElQXG4gICAgICB0aGlzLnRvb2x0aXBWYWx1ZSA9IHRoaXMudGV4dCArIHRoaXMucmFuZ2VVbml0eTtcbiAgICAgIHRoaXMudXBkYXRlVG9vbHRpcCh2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgIC8vU0kgRVMgQ0hST01FIEFQTElDTyBFTCBGSVhcbiAgICAgIGNvbnN0IGlzQ2hyb21lID0gL0Nocm9tZS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiAvR29vZ2xlIEluYy8udGVzdChuYXZpZ2F0b3IudmVuZG9yKTtcbiAgICAgIGlmKGlzQ2hyb21lKSB7XG4gICAgICAgIC8vQ0FMQ0NVTE8gRUwgJSBBIEFTSUdOQVJcbiAgICAgICAgbGV0IHBvcmNlbnRhamUgPSAoKE51bWJlcih2YWx1ZSkgLSB0aGlzLm1pbikgLyAocmFuZ2VNYXggLSB0aGlzLm1pbikpICogMTAwXG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpPy5zdHlsZS5zZXRQcm9wZXJ0eSgnbWFyZ2luLXRvcCcgLCAnMTRweCcpO1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKT8uc3R5bGUuc2V0UHJvcGVydHkoJ21hcmdpbi1ib3R0b20nICwgJzE0cHgnKTtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk/LnN0eWxlLnNldFByb3BlcnR5KCdib3JkZXItcmFkaXVzJyAsICc0cHgnKTtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk/LnN0eWxlLnNldFByb3BlcnR5KCdoZWlnaHQnICwgJzhweCcpO1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKT8uc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQnICwgJ2xpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tcHJpbWFyeS02MDApIDAlLCB2YXIoLS1wcmltYXJ5LTYwMCkgJytwb3JjZW50YWplKyclLCB2YXIoLS1uZXV0cmFscy0xMDAwKSAnK3BvcmNlbnRhamUrJyUsIHZhcigtLW5ldXRyYWxzLTEwMDApIDEwMCUpJyk7XG4gICAgICB9O1xuICAgICAgXG4gICAgfSwgMCk7XG4gIH1cblxuICAvL0ZVTkNJT04gUEFSQSBDSFJPTUUgQ1VBTkRPIFNFIERFU0xJWkEgRUwgU0xJREUgRlVOQ0lPTkUgQ09SUkVDVEFNRU5URVxuICBjaGFuZ2VSYW5nZSh2YWx1ZTphbnkpe1xuICAgIGlmKHRoaXMudHlwZSA9PT0gJ3JhbmdlJyl7XG4gICAgICBjb25zdCBpc0Nocm9tZSA9IC9DaHJvbWUvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgJiYgL0dvb2dsZSBJbmMvLnRlc3QobmF2aWdhdG9yLnZlbmRvcik7XG4gICAgICBjb25zdCByYW5nZU1heCA9IHRoaXMubWF4ID8gdGhpcy5tYXggOiAxMDA7XG4gICAgICBpZihpc0Nocm9tZSkge1xuICAgICAgICBsZXQgcG9yY2VudGFqZSA9ICgodmFsdWUgLSB0aGlzLm1pbikgLyAocmFuZ2VNYXggLSB0aGlzLm1pbikpICogMTAwXG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpPy5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZCcgLCAnbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1wcmltYXJ5LTYwMCkgMCUsIHZhcigtLXByaW1hcnktNjAwKSAnK3BvcmNlbnRhamUrJyUsIHZhcigtLW5ldXRyYWxzLTEwMDApICcrcG9yY2VudGFqZSsnJSwgdmFyKC0tbmV1dHJhbHMtMTAwMCkgMTAwJSknKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLy9GVU5DSU9OIFFVRSBBQ1RVQUxJWkEgRUwgVE9PTFRJUCBDVUFORE8gU0UgREVTTElaQSBFTCBTTElERVxuICB1cGRhdGVUb29sdGlwKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZih0aGlzLnRvb2x0aXBDb250YWluZXIgJiYgdGhpcy50b29sdGlwKXtcbiAgICAgIGNvbnN0IHJhbmdlV2lkdGggPSB0aGlzLnRvb2x0aXBDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgIGNvbnN0IHJhbmdlTWF4ID0gdGhpcy5tYXggPyB0aGlzLm1heCA6IDEwMDtcbiAgICAgIGxldCBwb3JjZW50YWplID0gKChOdW1iZXIodmFsdWUpIC0gdGhpcy5taW4pIC8gKHJhbmdlTWF4IC0gdGhpcy5taW4pKSAqIDEwMFxuICAgICAgbGV0IGFqdXN0ZSA9IHBvcmNlbnRhamUgKiByYW5nZVdpZHRoIC8gMTAwO1xuICAgICAgdGhpcy50b29sdGlwLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9IGAke2FqdXN0ZX1weGA7XG4gICAgICB0aGlzLnRvb2x0aXBWYWx1ZSA9IHZhbHVlICsgdGhpcy5yYW5nZVVuaXR5O1xuICAgIH1cbiAgfVxuICAvL0ZJTiBGVU5DSU9ORVMgUEFSQSBUWVBFIFJBTkdFXG5cbiAgLy9GVU5DSU9ORVMgUEFSQSBRVUUgRlVOQ0lPTkUgRk9STSBCVUlMREVSXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRUZXh0ID0gdmFsdWUgPz8gXCJcIjtcbiAgICB0aGlzLmlucHV0TnVtYmVyID0gdmFsdWUgPz8gMDtcbiAgICBpZih0aGlzLnR5cGUgPT0gJ3JhbmdlJyl7XG4gICAgICB0aGlzLnJhbmdlT25Mb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgb25CbHVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmJsdXIubmV4dChldmVudCk7XG4gIH1cblxuICBvbkZvY3VzKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzLm5leHQoZXZlbnQpO1xuICB9XG59IiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidHlwZVwiPlxuICAgIDwhLS0gRWwgc3dpdGNoIGNhc2UgY29uIGNhZGEgY2FzbyBwb3IgaW5wdXQgIFsndGV4dCcsICdwYXNzd29yZCcsICdlbWFpbCcgLCAncGhvbmUnICwgJ3VybCcgLCAnc2VhcmNoJ10tLT5cblxuICAgIDwhLS0gY2FzZSB0ZXh0IC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0J1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNvbnRlbnQtaW5wdXQtbWFpbi02MjYgY29udGVudC1pbnB1dC1tYWluLXRleHQge3tzaXplfX0gdGhlbWUte3t0aGVtZX19IHt7Y2xhc3NBZGR9fSB7e2Rpc2FibGVkc3R5bGV9fVwiPlxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgY2xhc3M9XCJpY29uXCI+ZW1haWw8L3MtaWNvbi1tYXQ+XG4gICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiIFxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFxuICAgICAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIiBcbiAgICAgICAgICAgICAgICBbaWRdPVwiaWRcIiBcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCIgXG4gICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRUZXh0XCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgIT0gJ2RlZmF1bHQnXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiaW5jb25TeW1ib2w/J3N5bWJvbCc6J2ljb24nXCIgY2xhc3M9XCJpY29uIHJlcG9ydFwiPnt7aWNvbk5hbWV9fTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgPT0gJ2RlZmF1bHQnICYmIGhlbHBcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCAoY2xpY2spPVwiY2xpY2tJY29uKClcIiBjbGFzcz1cImljb24gY3Vyc29yXCI+aGVscF9vdXRsaW5lPC9zLWljb24tbWF0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBjYXNlIHBhc3N3b3JkIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidwYXNzd29yZCdcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50LWlucHV0LW1haW4tNjI2IGNvbnRlbnQtaW5wdXQtbWFpbi1wYXNzd29yZCB7e3NpemV9fSB0aGVtZS17e3RoZW1lfX0ge3tjbGFzc0FkZH19IHt7ZGlzYWJsZWRzdHlsZX19XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgY2xhc3M9XCJpY29uXCI+dnBuX2tleTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IFxuICAgICAgICAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIiBcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkID8gaWQgOiAnJ1wiIFxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInt7dmlzaWJpbGl0eSA/ICd0ZXh0JyA6ICdwYXNzd29yZCd9fVwiIFxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIiBcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoKVxuICAgICAgICAgICAgICAgICAgICBcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBbdHlwZV09XCJpbmNvblN5bWJvbD8nc3ltYm9sJzonaWNvbidcIiBjbGFzcz1cImljb24gY3Vyc29yXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpc2liaWxpdHkgPSAhdmlzaWJpbGl0eVwiPnt7dmlzaWJpbGl0eSA/ICd2aXNpYmlsaXR5JyA6XG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5X29mZid9fTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gY2FzZSBlbWFpbCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZW1haWwnXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudC1pbnB1dC1tYWluLTYyNiBjb250ZW50LWlucHV0LW1haW4tZW1haWwge3tzaXplfX0gdGhlbWUte3t0aGVtZX19IHt7Y2xhc3NBZGR9fSB7e2Rpc2FibGVkc3R5bGV9fVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtbGVmdFwiPlxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IGNsYXNzPVwiaWNvblwiPm1haWxfb3V0bGluZTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiICBcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkID8gaWQgOiAnJ1wiIFxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiIFxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCIgXG4gICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZUhvbGRlclwiIFxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImlucHV0VGV4dFwiIFxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoKVwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgIT0gJ2RlZmF1bHQnXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiaW5jb25TeW1ib2w/J3N5bWJvbCc6J2ljb24nXCIgY2xhc3M9XCJpY29uIHJlcG9ydFwiPnt7aWNvbk5hbWV9fTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgPT0gJ2RlZmF1bHQnICYmIGhlbHBcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCAoY2xpY2spPVwiY2xpY2tJY29uKClcIiBjbGFzcz1cImljb24gY3Vyc29yXCI+aGVscF9vdXRsaW5lPC9zLWljb24tbWF0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG5cbiAgICA8IS0tIGNhc2UgcGhvbmUgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3Bob25lJ1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNvbnRlbnQtaW5wdXQtbWFpbi02MjYgY29udGVudC1pbnB1dC1tYWluLXBob25lIHt7c2l6ZX19IHRoZW1lLXt7dGhlbWV9fSB7e2NsYXNzQWRkfX0ge3tkaXNhYmxlZHN0eWxlfX1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWxlZnRcIj5cbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBjbGFzcz1cImljb25cIj5waG9uZTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IFxuICAgICAgICAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIiAgXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJpZCA/IGlkIDogJydcIiBcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIiBcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiIFxuICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIiBcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIiBcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlKClcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lICE9ICdkZWZhdWx0J1wiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IFt0eXBlXT1cImluY29uU3ltYm9sPydzeW1ib2wnOidpY29uJ1wiIGNsYXNzPVwiaWNvbiByZXBvcnRcIj57e2ljb25OYW1lfX08L3MtaWNvbi1tYXQ+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lID09ICdkZWZhdWx0JyAmJiBoZWxwXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgKGNsaWNrKT1cImNsaWNrSWNvbigpXCIgY2xhc3M9XCJpY29uIGN1cnNvclwiPmhlbHBfb3V0bGluZTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuXG4gICAgPCEtLSBjYXNlIHVybCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndXJsJ1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNvbnRlbnQtaW5wdXQtbWFpbi02MjYgY29udGVudC1pbnB1dC1tYWluLXVybCB7e3NpemV9fSB0aGVtZS17e3RoZW1lfX0ge3tjbGFzc0FkZH19IHt7ZGlzYWJsZWRzdHlsZX19XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgaHR0cDovL1xuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiICBcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkID8gaWQgOiAnJ1wiIFxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiIFxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCIgXG4gICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZUhvbGRlclwiIFxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImlucHV0VGV4dFwiIFxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoKVwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgIT0gJ2RlZmF1bHQnXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiaW5jb25TeW1ib2w/J3N5bWJvbCc6J2ljb24nXCIgY2xhc3M9XCJpY29uIHJlcG9ydFwiPnt7aWNvbk5hbWV9fTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgPT0gJ2RlZmF1bHQnICYmIGhlbHBcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCAoY2xpY2spPVwiY2xpY2tJY29uKClcIiBjbGFzcz1cImljb24gY3Vyc29yXCI+aGVscF9vdXRsaW5lPC9zLWljb24tbWF0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG5cbiAgICA8IS0tIGNhc2Ugc2VhcmNoIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzZWFyY2gnXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudC1pbnB1dC1tYWluLTYyNiBjb250ZW50LWlucHV0LW1haW4tc2VhcmNoIHt7c2l6ZX19IHRoZW1lLXt7dGhlbWV9fSB7e2NsYXNzQWRkfX0ge3tkaXNhYmxlZHN0eWxlfX1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWxlZnRcIj5cbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBjbGFzcz1cImljb25cIj5zZWFyY2g8L3MtaWNvbi1tYXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBcbiAgICAgICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCIgIFxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaWQgPyBpZCA6ICcnXCIgXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFxuICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCIgXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIiBcbiAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCIgXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRUZXh0XCIgXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgpXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBjbGFzcz1cImljb24gY3Vyc29yXCI+aGVscF9vdXRsaW5lPC9zLWljb24tbWF0PlxuICAgICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gY2FzZSBjb2xvciAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY29sb3InXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudC1pbnB1dC1tYWluLTYyNiBjb250ZW50LWlucHV0LW1haW4tY29sb3Ige3tzaXplfX0gdGhlbWUte3t0aGVtZX19IHt7Y2xhc3NBZGR9fSB7e2Rpc2FibGVkc3R5bGV9fVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtbGVmdFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBbcmVhZE9ubHldPVwicmVhZE9ubHlcIiAjY29sb3IgW2lkXT1cIm5hbWVcIiBbbmFtZV09XCJuYW1lXCIgdHlwZT1cImNvbG9yXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoKVwiIGNsYXNzPVwiY29udGVudC1sZWZ0LS1pbnB1dFwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jZW50ZXJcIiAoY2xpY2spPVwiIXRoaXMucmVhZE9ubHkgPyB0aGlzLmNvbG9yLmNsaWNrKCkgOiBudWxsXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IFxuICAgICAgICAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIiBcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkID8gaWQgOiAnJ1wiIFxuICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJ0ZXh0XCIgXG4gICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIiBcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIiBcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGVtZSAhPSAnZGVmYXVsdCdcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBbdHlwZV09XCJpbmNvblN5bWJvbD8nc3ltYm9sJzonaWNvbidcIiBjbGFzcz1cImljb24gcmVwb3J0XCI+e3tpY29uTmFtZX19PC9zLWljb24tbWF0PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGVtZSA9PSAnZGVmYXVsdCcgJiYgaGVscFwiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IChjbGljayk9XCJjbGlja0ljb24oKVwiIGNsYXNzPVwiaWNvbiBjdXJzb3JcIj5oZWxwX291dGxpbmU8L3MtaWNvbi1tYXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIGNhc2UgZGF0ZSAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50LWlucHV0LW1haW4tNjI2IGNvbnRlbnQtaW5wdXQtbWFpbi10ZXh0IHt7c2l6ZX19IHRoZW1lLXt7dGhlbWV9fSB7e2NsYXNzQWRkfX0ge3tkaXNhYmxlZHN0eWxlfX1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBcbiAgICAgICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCIgIFxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaWQgPyBpZCA6ICcnXCIgXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFxuICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCIgXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIiBcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlVmFsKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJpbnB1dFRleHRcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lICE9ICdkZWZhdWx0J1wiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IFt0eXBlXT1cImluY29uU3ltYm9sPydzeW1ib2wnOidpY29uJ1wiIGNsYXNzPVwiaWNvbiByZXBvcnRcIj57e2ljb25OYW1lfX08L3MtaWNvbi1tYXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGVtZSA9PSAnZGVmYXVsdCcgJiYgaGVscFwiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IChjbGljayk9XCJjbGlja0ljb24oKVwiIGNsYXNzPVwiaWNvbiBjdXJzb3JcIj5oZWxwX291dGxpbmU8L3MtaWNvbi1tYXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIGNhc2UgdGltZSAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGltZSdcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50LWlucHV0LW1haW4tNjI2IGNvbnRlbnQtaW5wdXQtbWFpbi10ZXh0IHt7c2l6ZX19IHRoZW1lLXt7dGhlbWV9fSB7e2NsYXNzQWRkfX0ge3tkaXNhYmxlZHN0eWxlfX1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBcbiAgICAgICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkID8gaWQgOiAnJ1wiIFxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiIFxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCIgXG4gICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZUhvbGRlclwiIFxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2VWYWwoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImlucHV0VGV4dFwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgIT0gJ2RlZmF1bHQnXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiaW5jb25TeW1ib2w/J3N5bWJvbCc6J2ljb24nXCIgY2xhc3M9XCJpY29uIHJlcG9ydFwiPnt7aWNvbk5hbWV9fTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lID09ICdkZWZhdWx0JyAmJiBoZWxwXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgKGNsaWNrKT1cImNsaWNrSWNvbigpXCIgY2xhc3M9XCJpY29uIGN1cnNvclwiPmhlbHBfb3V0bGluZTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gY2FzZSBudW1iZXIgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWxlZnQgbXItMVwiPlxuICAgICAgICAgICAgICAgIDxzLWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoY2xpY2spPVwibnVtYmVyRGVjcmVhc2UoKVwiIFtzaXplXT1cInNpemVcIiBbcGlsbF09XCJ0cnVlXCIgW2ludmVydF09XCJ0cnVlXCIgY2xhc3M9XCJidXR0b24taW5wdXQtNjI2XCI+PHMtaWNvbi1tYXQ+cmVtb3ZlPC9zLWljb24tbWF0Pjwvcy1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWlucHV0LW1haW4tNjI2IGNvbnRlbnQtaW5wdXQtbWFpbi10ZXh0IGNvbnRlbnQtaW5wdXQtbWFpbi1udW1iZXIge3tzaXplfX0gdGhlbWUte3t0aGVtZX19IHt7Y2xhc3NBZGR9fSB7e2Rpc2FibGVkc3R5bGV9fSB3LTEwMFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgICAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiICBcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJpZCA/IGlkIDogJydcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICN0eXBlTnVtYmVyIFxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImlucHV0VGV4dFwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgIT0gJ2RlZmF1bHQnXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IFt0eXBlXT1cImluY29uU3ltYm9sPydzeW1ib2wnOidpY29uJ1wiIGNsYXNzPVwiaWNvbiByZXBvcnRcIj57e2ljb25OYW1lfX08L3MtaWNvbi1tYXQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgPT0gJ2RlZmF1bHQnICYmIGhlbHBcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgKGNsaWNrKT1cImNsaWNrSWNvbigpXCIgY2xhc3M9XCJpY29uIGN1cnNvclwiPmhlbHBfb3V0bGluZTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtbGVmdCBtbC0xXCI+XG4gICAgICAgICAgICAgICAgPHMtYnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIChjbGljayk9XCJudW1iZXJJbmNyZW1lbnQoKVwiIFtzaXplXT1cInNpemVcIiBbcGlsbF09XCJ0cnVlXCIgW2ludmVydF09XCJ0cnVlXCIgY2xhc3M9XCJidXR0b24taW5wdXQtNjI2XCI+PHMtaWNvbi1tYXQ+YWRkPC9zLWljb24tbWF0Pjwvcy1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIGNhc2UgcmFuZ2UgLS0+XG4gICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidyYW5nZSdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtaW5wdXQtbWFpbi1yYW5nZSB7e3NpemV9fSB0aGVtZS17e3RoZW1lfX0ge3tjbGFzc0FkZH19IHt7ZGlzYWJsZWRzdHlsZX19XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcCB0b29sdGlwLXt7ZGlzYWJsZWR9fVwiICN0b29sdGlwQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAjcmFuZ2VGaWVsZFxuICAgICAgICAgICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIiBcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIiBcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkXCIgXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIiBcbiAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgICAgICAgICAgICAgICAgIChtb3VzZW1vdmUpPVwiY2hhbmdlUmFuZ2UocmFuZ2VGaWVsZC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJ1cGRhdGVUb29sdGlwKHJhbmdlRmllbGQudmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXB0ZXh0XCIgI3Rvb2x0aXA+e3sgdG9vbHRpcFZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBjYXNlIGRlZmF1bHQgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNvbnRlbnQtaW5wdXQtbWFpbi02MjYgY29udGVudC1pbnB1dC1tYWluLXRleHQge3tzaXplfX0gdGhlbWUte3t0aGVtZX19IHt7Y2xhc3NBZGR9fSB7e2Rpc2FibGVkc3R5bGV9fVwiPlxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgY2xhc3M9XCJpY29uXCI+ZW1haWw8L3MtaWNvbi1tYXQ+XG4gICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiIFxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaWQgPyBpZCA6ICdnZW5lcmljJ1wiIFxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiIFxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCIgXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRUZXh0XCIgXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgpXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGVtZSAhPSAnZGVmYXVsdCdcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBbdHlwZV09XCJpbmNvblN5bWJvbD8nc3ltYm9sJzonaWNvbidcIiBjbGFzcz1cImljb24gcmVwb3J0XCI+e3tpY29uTmFtZX19PC9zLWljb24tbWF0PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGVtZSA9PSAnZGVmYXVsdCcgJiYgaGVscFwiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IChjbGljayk9XCJjbGlja0ljb24oKVwiIGNsYXNzPVwiaWNvbiBjdXJzb3JcIj5oZWxwX291dGxpbmU8L3MtaWNvbi1tYXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './s-login-event';
|
|
2
|
-
export * from './s-login.component';
|
|
3
|
-
export * from './s-login.module';
|
|
4
|
-
export * from './s-login-model';
|
|
5
|
-
export * from './s-login-errors-model';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi9sb2dpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsd0JBQXdCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3MtbG9naW4tZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zLWxvZ2luLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3MtbG9naW4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcy1sb2dpbi1tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3MtbG9naW4tZXJyb3JzLW1vZGVsJyJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class SLoginErrorsModel {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy1sb2dpbi1lcnJvcnMtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi9sb2dpbi9zLWxvZ2luLWVycm9ycy1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLE9BQU8saUJBQWlCO0NBTTdCIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgY2xhc3MgU0xvZ2luRXJyb3JzTW9kZWwge1xuICAgIHJlcXVpcmVkPzogc3RyaW5nO1xuICAgIG1heGxlbmd0aD86IHN0cmluZztcbiAgICBwYXR0ZXJuPzogc3RyaW5nO1xuICAgIGVycm9yRGVmYXVsdD86IHN0cmluZztcbiAgICBnbG9iYWxFcnJvcj86IHN0cmluZztcbn1cblxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class SLoginEvent {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy1sb2dpbi1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL2xvZ2luL3MtbG9naW4tZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7Q0FHdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU0xvZ2luRXZlbnQge1xuICAgIHVzZXIhOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQhOiBzdHJpbmc7XG59XG4iXX0=
|