valtech-components 2.0.1023 → 2.0.1025

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.
Files changed (37) hide show
  1. package/esm2022/lib/components/molecules/pill/pill.component.mjs +3 -3
  2. package/esm2022/lib/components/molecules/ticket-card/ticket-card.component.mjs +183 -0
  3. package/esm2022/lib/components/molecules/ticket-card/ticket-card.i18n.mjs +23 -0
  4. package/esm2022/lib/components/molecules/ticket-card/types.mjs +2 -0
  5. package/esm2022/lib/components/molecules/update-banner/update-banner.component.mjs +3 -3
  6. package/esm2022/lib/components/organisms/api-key-create-modal/api-key-create-modal.component.mjs +290 -0
  7. package/esm2022/lib/components/organisms/api-keys-view/api-keys-view.component.mjs +316 -0
  8. package/esm2022/lib/components/organisms/api-keys-view/api-keys-view.i18n.mjs +59 -0
  9. package/esm2022/lib/components/organisms/api-keys-view/api-keys.routes.mjs +27 -0
  10. package/esm2022/lib/components/organisms/api-keys-view/types.mjs +2 -0
  11. package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +6 -12
  12. package/esm2022/lib/components/organisms/organization-view/organization-view.i18n.mjs +3 -3
  13. package/esm2022/lib/components/organisms/organization-view/types.mjs +1 -1
  14. package/esm2022/lib/components/organisms/qr-scanner/qr-scanner.component.mjs +310 -0
  15. package/esm2022/lib/components/organisms/qr-scanner/qr-scanner.i18n.mjs +28 -0
  16. package/esm2022/lib/components/organisms/qr-scanner/types.mjs +2 -0
  17. package/esm2022/lib/components/organisms/settings-hub/settings.routes.mjs +4 -1
  18. package/esm2022/lib/version.mjs +2 -2
  19. package/esm2022/public-api.mjs +10 -1
  20. package/fesm2022/valtech-components.mjs +3611 -2434
  21. package/fesm2022/valtech-components.mjs.map +1 -1
  22. package/lib/components/molecules/ticket-card/ticket-card.component.d.ts +42 -0
  23. package/lib/components/molecules/ticket-card/ticket-card.i18n.d.ts +22 -0
  24. package/lib/components/molecules/ticket-card/types.d.ts +45 -0
  25. package/lib/components/organisms/api-key-create-modal/api-key-create-modal.component.d.ts +56 -0
  26. package/lib/components/organisms/api-keys-view/api-keys-view.component.d.ts +58 -0
  27. package/lib/components/organisms/api-keys-view/api-keys-view.i18n.d.ts +6 -0
  28. package/lib/components/organisms/api-keys-view/api-keys.routes.d.ts +22 -0
  29. package/lib/components/organisms/api-keys-view/types.d.ts +8 -0
  30. package/lib/components/organisms/organization-view/types.d.ts +6 -0
  31. package/lib/components/organisms/qr-scanner/qr-scanner.component.d.ts +51 -0
  32. package/lib/components/organisms/qr-scanner/qr-scanner.i18n.d.ts +27 -0
  33. package/lib/components/organisms/qr-scanner/types.d.ts +31 -0
  34. package/lib/components/organisms/settings-hub/settings.routes.d.ts +5 -0
  35. package/lib/version.d.ts +1 -1
  36. package/package.json +3 -1
  37. package/public-api.d.ts +8 -0
@@ -0,0 +1,310 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild, inject, signal, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { IonButton, IonIcon, IonSelect, IonSelectOption, IonSpinner } from '@ionic/angular/standalone';
4
+ import { addIcons } from 'ionicons';
5
+ import { cameraOutline, stopCircleOutline, videocamOffOutline, warningOutline } from 'ionicons/icons';
6
+ import { BrowserMultiFormatReader } from '@zxing/browser';
7
+ import { I18nService } from '../../../services/i18n';
8
+ import { QR_SCANNER_I18N } from './qr-scanner.i18n';
9
+ import * as i0 from "@angular/core";
10
+ addIcons({
11
+ cameraOutline,
12
+ stopCircleOutline,
13
+ videocamOffOutline,
14
+ warningOutline,
15
+ });
16
+ /**
17
+ * val-qr-scanner
18
+ *
19
+ * Organism: scanner de códigos QR por cámara (`@zxing/browser` +
20
+ * `@zxing/library`). Emite el texto decodificado por `(scanned)`.
21
+ *
22
+ * Maneja: permiso de cámara denegado (`denied`), ausencia de cámara
23
+ * (`no-camera`), selector cuando hay varias cámaras, y botón start/stop. Hace
24
+ * cleanup del stream en `ngOnDestroy`. i18n auto-registrado (namespace
25
+ * `QrScanner`).
26
+ *
27
+ * Object-first (`@Input() props`) + un único `@Output() scanned`.
28
+ *
29
+ * @example
30
+ * ```html
31
+ * <val-qr-scanner [props]="{ continuous: true }" (scanned)="onScan($event)" />
32
+ * ```
33
+ */
34
+ export class QrScannerComponent {
35
+ constructor() {
36
+ this.props = {};
37
+ /** Emite el texto decodificado del QR. */
38
+ this.scanned = new EventEmitter();
39
+ this.i18n = inject(I18nService);
40
+ this.state = signal('idle');
41
+ this.devices = signal([]);
42
+ this.activeDeviceId = signal(undefined);
43
+ this.reader = null;
44
+ this.controls = null;
45
+ // Anti-rebote: ignora la misma lectura repetida dentro de `dedupeMs`.
46
+ this.lastValue = '';
47
+ this.lastAt = 0;
48
+ this.viewReady = false;
49
+ if (!this.i18n.hasNamespace('QrScanner')) {
50
+ this.i18n.registerContent('QrScanner', QR_SCANNER_I18N);
51
+ }
52
+ }
53
+ ngAfterViewInit() {
54
+ this.viewReady = true;
55
+ if (this.props.autoStart) {
56
+ void this.start();
57
+ }
58
+ }
59
+ ngOnDestroy() {
60
+ this.teardown();
61
+ }
62
+ t(key) {
63
+ return this.i18n.t(key, 'QrScanner');
64
+ }
65
+ stateMessage() {
66
+ switch (this.state()) {
67
+ case 'denied':
68
+ return this.t('denied');
69
+ case 'no-camera':
70
+ return this.t('noCamera');
71
+ default:
72
+ return this.t('error');
73
+ }
74
+ }
75
+ deviceLabel(d) {
76
+ return d.label || `${this.t('cameraLabel')} ${this.devices().indexOf(d) + 1}`;
77
+ }
78
+ async start(deviceId) {
79
+ if (!this.viewReady)
80
+ return;
81
+ this.teardown();
82
+ this.state.set('starting');
83
+ try {
84
+ this.reader = new BrowserMultiFormatReader();
85
+ // Enumerar cámaras. Algunos navegadores solo dan labels tras conceder
86
+ // permiso, así que esto puede devolver labels vacíos la 1ª vez.
87
+ let cams = [];
88
+ try {
89
+ cams = await BrowserMultiFormatReader.listVideoInputDevices();
90
+ }
91
+ catch {
92
+ cams = [];
93
+ }
94
+ this.devices.set(cams);
95
+ // Preferir la trasera (environment) si el label lo sugiere.
96
+ const target = deviceId ||
97
+ this.activeDeviceId() ||
98
+ cams.find(c => /back|rear|environment|trasera/i.test(c.label))?.deviceId ||
99
+ cams[0]?.deviceId;
100
+ this.activeDeviceId.set(target);
101
+ this.controls = await this.reader.decodeFromVideoDevice(target, this.videoRef.nativeElement, result => {
102
+ if (result) {
103
+ this.handleResult(result.getText());
104
+ }
105
+ });
106
+ this.state.set('scanning');
107
+ }
108
+ catch (err) {
109
+ this.handleStartError(err);
110
+ }
111
+ }
112
+ stop() {
113
+ this.teardown();
114
+ this.state.set('idle');
115
+ }
116
+ async onSelectDevice(deviceId) {
117
+ if (deviceId && deviceId !== this.activeDeviceId()) {
118
+ await this.start(deviceId);
119
+ }
120
+ }
121
+ handleResult(text) {
122
+ const now = Date.now();
123
+ const dedupe = this.props.dedupeMs ?? 1500;
124
+ if (text === this.lastValue && now - this.lastAt < dedupe) {
125
+ return;
126
+ }
127
+ this.lastValue = text;
128
+ this.lastAt = now;
129
+ this.scanned.emit(text);
130
+ // Modo no continuo: detener tras el primer match (la página reanuda si
131
+ // quiere). `continuous` default true → seguir escaneando.
132
+ if (this.props.continuous === false) {
133
+ this.stop();
134
+ }
135
+ }
136
+ handleStartError(err) {
137
+ const name = err?.name ?? '';
138
+ if (name === 'NotAllowedError' || name === 'SecurityError') {
139
+ this.state.set('denied');
140
+ }
141
+ else if (name === 'NotFoundError' || name === 'OverconstrainedError') {
142
+ this.state.set('no-camera');
143
+ }
144
+ else {
145
+ this.state.set('error');
146
+ }
147
+ this.teardown(false);
148
+ }
149
+ /** Detiene el decode + libera el stream de la cámara. */
150
+ teardown(resetState = true) {
151
+ try {
152
+ this.controls?.stop();
153
+ }
154
+ catch {
155
+ // ignore
156
+ }
157
+ this.controls = null;
158
+ const video = this.videoRef?.nativeElement;
159
+ const stream = video?.srcObject;
160
+ if (stream) {
161
+ stream.getTracks().forEach(track => track.stop());
162
+ video.srcObject = null;
163
+ }
164
+ this.reader = null;
165
+ if (resetState) {
166
+ this.lastValue = '';
167
+ this.lastAt = 0;
168
+ }
169
+ }
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: QrScannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
171
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: QrScannerComponent, isStandalone: true, selector: "val-qr-scanner", inputs: { props: "props" }, outputs: { scanned: "scanned" }, viewQueries: [{ propertyName: "videoRef", first: true, predicate: ["video"], descendants: true }], ngImport: i0, template: `
172
+ <div class="qr-scanner">
173
+ <div class="qr-scanner__viewport" [class.is-active]="state() === 'scanning'">
174
+ <video #video class="qr-scanner__video" muted playsinline></video>
175
+
176
+ @if (state() === 'idle') {
177
+ <div class="qr-scanner__overlay">
178
+ <ion-icon name="camera-outline" class="qr-scanner__overlay-icon" />
179
+ </div>
180
+ }
181
+
182
+ @if (state() === 'starting') {
183
+ <div class="qr-scanner__overlay">
184
+ <ion-spinner name="crescent" />
185
+ <p>{{ t('starting') }}</p>
186
+ </div>
187
+ }
188
+
189
+ @if (state() === 'scanning') {
190
+ <div class="qr-scanner__frame"></div>
191
+ }
192
+ </div>
193
+
194
+ @if (state() === 'denied' || state() === 'no-camera' || state() === 'error') {
195
+ <div class="qr-scanner__message">
196
+ <ion-icon [name]="state() === 'no-camera' ? 'videocam-off-outline' : 'warning-outline'" />
197
+ <span>{{ stateMessage() }}</span>
198
+ </div>
199
+ }
200
+
201
+ @if (state() === 'scanning' || state() === 'starting') {
202
+ <p class="qr-scanner__hint">{{ t('hint') }}</p>
203
+ }
204
+
205
+ @if (devices().length > 1 && state() === 'scanning') {
206
+ <ion-select
207
+ class="qr-scanner__select"
208
+ [label]="t('cameraLabel')"
209
+ labelPlacement="stacked"
210
+ interface="popover"
211
+ [value]="activeDeviceId()"
212
+ (ionChange)="onSelectDevice($any($event).detail.value)"
213
+ >
214
+ @for (d of devices(); track d.deviceId) {
215
+ <ion-select-option [value]="d.deviceId">{{ deviceLabel(d) }}</ion-select-option>
216
+ }
217
+ </ion-select>
218
+ }
219
+
220
+ <div class="qr-scanner__actions">
221
+ @if (state() === 'scanning' || state() === 'starting') {
222
+ <ion-button fill="outline" color="dark" (click)="stop()">
223
+ <ion-icon name="stop-circle-outline" slot="start" />
224
+ {{ props.stopLabel || t('stop') }}
225
+ </ion-button>
226
+ } @else {
227
+ <ion-button color="dark" (click)="start()">
228
+ <ion-icon name="camera-outline" slot="start" />
229
+ {{ props.startLabel || t('start') }}
230
+ </ion-button>
231
+ }
232
+ </div>
233
+ </div>
234
+ `, isInline: true, styles: ["@charset \"UTF-8\";:host{display:block}.qr-scanner{display:flex;flex-direction:column;align-items:stretch;gap:12px;max-width:420px;margin:0 auto}.qr-scanner__viewport{position:relative;width:100%;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:var(--ion-color-dark, #1c1c1e);display:flex;align-items:center;justify-content:center}.qr-scanner__video{width:100%;height:100%;object-fit:cover;display:block}.qr-scanner__overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ion-color-light, #f4f5f8)}.qr-scanner__overlay p{margin:0;font-size:.875rem}.qr-scanner__overlay-icon{font-size:3rem;opacity:.6}.qr-scanner__frame{position:absolute;inset:18%;border:3px solid var(--ion-color-primary, #ff00b2);border-radius:12px;box-shadow:0 0 0 9999px #00000040;pointer-events:none}.qr-scanner__message{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:12px;background:var(--ion-color-light, #f4f5f8);color:var(--ion-color-medium, #6b6675);font-size:.875rem}.qr-scanner__message ion-icon{font-size:1.25rem;flex-shrink:0}.qr-scanner__hint{margin:0;text-align:center;font-size:.8125rem;color:var(--ion-color-medium, #6b6675)}.qr-scanner__select{--padding-start: 0}.qr-scanner__actions{display:flex;justify-content:center}.qr-scanner__actions ion-button{--border-radius: 999px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }] }); }
235
+ }
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: QrScannerComponent, decorators: [{
237
+ type: Component,
238
+ args: [{ selector: 'val-qr-scanner', standalone: true, imports: [CommonModule, IonButton, IonIcon, IonSpinner, IonSelect, IonSelectOption], template: `
239
+ <div class="qr-scanner">
240
+ <div class="qr-scanner__viewport" [class.is-active]="state() === 'scanning'">
241
+ <video #video class="qr-scanner__video" muted playsinline></video>
242
+
243
+ @if (state() === 'idle') {
244
+ <div class="qr-scanner__overlay">
245
+ <ion-icon name="camera-outline" class="qr-scanner__overlay-icon" />
246
+ </div>
247
+ }
248
+
249
+ @if (state() === 'starting') {
250
+ <div class="qr-scanner__overlay">
251
+ <ion-spinner name="crescent" />
252
+ <p>{{ t('starting') }}</p>
253
+ </div>
254
+ }
255
+
256
+ @if (state() === 'scanning') {
257
+ <div class="qr-scanner__frame"></div>
258
+ }
259
+ </div>
260
+
261
+ @if (state() === 'denied' || state() === 'no-camera' || state() === 'error') {
262
+ <div class="qr-scanner__message">
263
+ <ion-icon [name]="state() === 'no-camera' ? 'videocam-off-outline' : 'warning-outline'" />
264
+ <span>{{ stateMessage() }}</span>
265
+ </div>
266
+ }
267
+
268
+ @if (state() === 'scanning' || state() === 'starting') {
269
+ <p class="qr-scanner__hint">{{ t('hint') }}</p>
270
+ }
271
+
272
+ @if (devices().length > 1 && state() === 'scanning') {
273
+ <ion-select
274
+ class="qr-scanner__select"
275
+ [label]="t('cameraLabel')"
276
+ labelPlacement="stacked"
277
+ interface="popover"
278
+ [value]="activeDeviceId()"
279
+ (ionChange)="onSelectDevice($any($event).detail.value)"
280
+ >
281
+ @for (d of devices(); track d.deviceId) {
282
+ <ion-select-option [value]="d.deviceId">{{ deviceLabel(d) }}</ion-select-option>
283
+ }
284
+ </ion-select>
285
+ }
286
+
287
+ <div class="qr-scanner__actions">
288
+ @if (state() === 'scanning' || state() === 'starting') {
289
+ <ion-button fill="outline" color="dark" (click)="stop()">
290
+ <ion-icon name="stop-circle-outline" slot="start" />
291
+ {{ props.stopLabel || t('stop') }}
292
+ </ion-button>
293
+ } @else {
294
+ <ion-button color="dark" (click)="start()">
295
+ <ion-icon name="camera-outline" slot="start" />
296
+ {{ props.startLabel || t('start') }}
297
+ </ion-button>
298
+ }
299
+ </div>
300
+ </div>
301
+ `, styles: ["@charset \"UTF-8\";:host{display:block}.qr-scanner{display:flex;flex-direction:column;align-items:stretch;gap:12px;max-width:420px;margin:0 auto}.qr-scanner__viewport{position:relative;width:100%;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:var(--ion-color-dark, #1c1c1e);display:flex;align-items:center;justify-content:center}.qr-scanner__video{width:100%;height:100%;object-fit:cover;display:block}.qr-scanner__overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ion-color-light, #f4f5f8)}.qr-scanner__overlay p{margin:0;font-size:.875rem}.qr-scanner__overlay-icon{font-size:3rem;opacity:.6}.qr-scanner__frame{position:absolute;inset:18%;border:3px solid var(--ion-color-primary, #ff00b2);border-radius:12px;box-shadow:0 0 0 9999px #00000040;pointer-events:none}.qr-scanner__message{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:12px;background:var(--ion-color-light, #f4f5f8);color:var(--ion-color-medium, #6b6675);font-size:.875rem}.qr-scanner__message ion-icon{font-size:1.25rem;flex-shrink:0}.qr-scanner__hint{margin:0;text-align:center;font-size:.8125rem;color:var(--ion-color-medium, #6b6675)}.qr-scanner__select{--padding-start: 0}.qr-scanner__actions{display:flex;justify-content:center}.qr-scanner__actions ion-button{--border-radius: 999px}\n"] }]
302
+ }], ctorParameters: () => [], propDecorators: { props: [{
303
+ type: Input
304
+ }], scanned: [{
305
+ type: Output
306
+ }], videoRef: [{
307
+ type: ViewChild,
308
+ args: ['video']
309
+ }] } });
310
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXItc2Nhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3FyLXNjYW5uZXIvcXItc2Nhbm5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLHdCQUF3QixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRXBELFFBQVEsQ0FBQztJQUNQLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGNBQWM7Q0FDZixDQUFDLENBQUM7QUFFSDs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUF1RUgsTUFBTSxPQUFPLGtCQUFrQjtJQXVCN0I7UUF0QlMsVUFBSyxHQUFzQixFQUFFLENBQUM7UUFFdkMsMENBQTBDO1FBQ2hDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSXZDLFNBQUksR0FBRyxNQUFNLENBQUMsV0FB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bml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkljb24sIElvblNlbGVjdCwgSW9uU2VsZWN0T3B0aW9uLCBJb25TcGlubmVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGNhbWVyYU91dGxpbmUsIHN0b3BDaXJjbGVPdXRsaW5lLCB2aWRlb2NhbU9mZk91dGxpbmUsIHdhcm5pbmdPdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgQnJvd3Nlck11bHRpRm9ybWF0UmVhZGVyLCBJU2Nhbm5lckNvbnRyb2xzIH0gZnJvbSAnQHp4aW5nL2Jyb3dzZXInO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgUXJTY2FubmVyTWV0YWRhdGEsIFFyU2Nhbm5lclN0YXRlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBRUl9TQ0FOTkVSX0kxOE4gfSBmcm9tICcuL3FyLXNjYW5uZXIuaTE4bic7XG5cbmFkZEljb25zKHtcbiAgY2FtZXJhT3V0bGluZSxcbiAgc3RvcENpcmNsZU91dGxpbmUsXG4gIHZpZGVvY2FtT2ZmT3V0bGluZSxcbiAgd2FybmluZ091dGxpbmUsXG59KTtcblxuLyoqXG4gKiB2YWwtcXItc2Nhbm5lclxuICpcbiAqIE9yZ2FuaXNtOiBzY2FubmVyIGRlIGPDs2RpZ29zIFFSIHBvciBjw6FtYXJhIChgQHp4aW5nL2Jyb3dzZXJgICtcbiAqIGBAenhpbmcvbGlicmFyeWApLiBFbWl0ZSBlbCB0ZXh0byBkZWNvZGlmaWNhZG8gcG9yIGAoc2Nhbm5lZClgLlxuICpcbiAqIE1hbmVqYTogcGVybWlzbyBkZSBjw6FtYXJhIGRlbmVnYWRvIChgZGVuaWVkYCksIGF1c2VuY2lhIGRlIGPDoW1hcmFcbiAqIChgbm8tY2FtZXJhYCksIHNlbGVjdG9yIGN1YW5kbyBoYXkgdmFyaWFzIGPDoW1hcmFzLCB5IGJvdMOzbiBzdGFydC9zdG9wLiBIYWNlXG4gKiBjbGVhbnVwIGRlbCBzdHJlYW0gZW4gYG5nT25EZXN0cm95YC4gaTE4biBhdXRvLXJlZ2lzdHJhZG8gKG5hbWVzcGFjZVxuICogYFFyU2Nhbm5lcmApLlxuICpcbiAqIE9iamVjdC1maXJzdCAoYEBJbnB1dCgpIHByb3BzYCkgKyB1biDDum5pY28gYEBPdXRwdXQoKSBzY2FubmVkYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1xci1zY2FubmVyIFtwcm9wc109XCJ7IGNvbnRpbnVvdXM6IHRydWUgfVwiIChzY2FubmVkKT1cIm9uU2NhbigkZXZlbnQpXCIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcXItc2Nhbm5lcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uU3Bpbm5lciwgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJxci1zY2FubmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicXItc2Nhbm5lcl9fdmlld3BvcnRcIiBbY2xhc3MuaXMtYWN0aXZlXT1cInN0YXRlKCkgPT09ICdzY2FubmluZydcIj5cbiAgICAgICAgPHZpZGVvICN2aWRlbyBjbGFzcz1cInFyLXNjYW5uZXJfX3ZpZGVvXCIgbXV0ZWQgcGxheXNpbmxpbmU+PC92aWRlbz5cblxuICAgICAgICBAaWYgKHN0YXRlKCkgPT09ICdpZGxlJykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJxci1zY2FubmVyX19vdmVybGF5XCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNhbWVyYS1vdXRsaW5lXCIgY2xhc3M9XCJxci1zY2FubmVyX19vdmVybGF5LWljb25cIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChzdGF0ZSgpID09PSAnc3RhcnRpbmcnKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInFyLXNjYW5uZXJfX292ZXJsYXlcIj5cbiAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiAvPlxuICAgICAgICAgICAgPHA+e3sgdCgnc3RhcnRpbmcnKSB9fTwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoc3RhdGUoKSA9PT0gJ3NjYW5uaW5nJykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJxci1zY2FubmVyX19mcmFtZVwiPjwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChzdGF0ZSgpID09PSAnZGVuaWVkJyB8fCBzdGF0ZSgpID09PSAnbm8tY2FtZXJhJyB8fCBzdGF0ZSgpID09PSAnZXJyb3InKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJxci1zY2FubmVyX19tZXNzYWdlXCI+XG4gICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cInN0YXRlKCkgPT09ICduby1jYW1lcmEnID8gJ3ZpZGVvY2FtLW9mZi1vdXRsaW5lJyA6ICd3YXJuaW5nLW91dGxpbmUnXCIgLz5cbiAgICAgICAgICA8c3Bhbj57eyBzdGF0ZU1lc3NhZ2UoKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoc3RhdGUoKSA9PT0gJ3NjYW5uaW5nJyB8fCBzdGF0ZSgpID09PSAnc3RhcnRpbmcnKSB7XG4gICAgICAgIDxwIGNsYXNzPVwicXItc2Nhbm5lcl9faGludFwiPnt7IHQoJ2hpbnQnKSB9fTwvcD5cbiAgICAgIH1cblxuICAgICAgQGlmIChkZXZpY2VzKCkubGVuZ3RoID4gMSAmJiBzdGF0ZSgpID09PSAnc2Nhbm5pbmcnKSB7XG4gICAgICAgIDxpb24tc2VsZWN0XG4gICAgICAgICAgY2xhc3M9XCJxci1zY2FubmVyX19zZWxlY3RcIlxuICAgICAgICAgIFtsYWJlbF09XCJ0KCdjYW1lcmFMYWJlbCcpXCJcbiAgICAgICAgICBsYWJlbFBsYWNlbWVudD1cInN0YWNrZWRcIlxuICAgICAgICAgIGludGVyZmFjZT1cInBvcG92ZXJcIlxuICAgICAgICAgIFt2YWx1ZV09XCJhY3RpdmVEZXZpY2VJZCgpXCJcbiAgICAgICAgICAoaW9uQ2hhbmdlKT1cIm9uU2VsZWN0RGV2aWNlKCRhbnkoJGV2ZW50KS5kZXRhaWwudmFsdWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgIEBmb3IgKGQgb2YgZGV2aWNlcygpOyB0cmFjayBkLmRldmljZUlkKSB7XG4gICAgICAgICAgICA8aW9uLXNlbGVjdC1vcHRpb24gW3ZhbHVlXT1cImQuZGV2aWNlSWRcIj57eyBkZXZpY2VMYWJlbChkKSB9fTwvaW9uLXNlbGVjdC1vcHRpb24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2lvbi1zZWxlY3Q+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJxci1zY2FubmVyX19hY3Rpb25zXCI+XG4gICAgICAgIEBpZiAoc3RhdGUoKSA9PT0gJ3NjYW5uaW5nJyB8fCBzdGF0ZSgpID09PSAnc3RhcnRpbmcnKSB7XG4gICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cIm91dGxpbmVcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwic3RvcCgpXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInN0b3AtY2lyY2xlLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIiAvPlxuICAgICAgICAgICAge3sgcHJvcHMuc3RvcExhYmVsIHx8IHQoJ3N0b3AnKSB9fVxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cInN0YXJ0KClcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2FtZXJhLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIiAvPlxuICAgICAgICAgICAge3sgcHJvcHMuc3RhcnRMYWJlbCB8fCB0KCdzdGFydCcpIH19XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcXItc2Nhbm5lci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBRclNjYW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwcm9wczogUXJTY2FubmVyTWV0YWRhdGEgPSB7fTtcblxuICAvKiogRW1pdGUgZWwgdGV4dG8gZGVjb2RpZmljYWRvIGRlbCBRUi4gKi9cbiAgQE91dHB1dCgpIHNjYW5uZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAVmlld0NoaWxkKCd2aWRlbycpIHZpZGVvUmVmITogRWxlbWVudFJlZjxIVE1MVmlkZW9FbGVtZW50PjtcblxuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IHN0YXRlID0gc2lnbmFsPFFyU2Nhbm5lclN0YXRlPignaWRsZScpO1xuICByZWFkb25seSBkZXZpY2VzID0gc2lnbmFsPE1lZGlhRGV2aWNlSW5mb1tdPihbXSk7XG4gIHJlYWRvbmx5IGFjdGl2ZURldmljZUlkID0gc2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIHJlYWRlcjogQnJvd3Nlck11bHRpRm9ybWF0UmVhZGVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY29udHJvbHM6IElTY2FubmVyQ29udHJvbHMgfCBudWxsID0gbnVsbDtcblxuICAvLyBBbnRpLXJlYm90ZTogaWdub3JhIGxhIG1pc21hIGxlY3R1cmEgcmVwZXRpZGEgZGVudHJvIGRlIGBkZWR1cGVNc2AuXG4gIHByaXZhdGUgbGFzdFZhbHVlID0gJyc7XG4gIHByaXZhdGUgbGFzdEF0ID0gMDtcblxuICBwcml2YXRlIHZpZXdSZWFkeSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZSgnUXJTY2FubmVyJykpIHtcbiAgICAgIHRoaXMuaTE4bi5yZWdpc3RlckNvbnRlbnQoJ1FyU2Nhbm5lcicsIFFSX1NDQU5ORVJfSTE4Tik7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudmlld1JlYWR5ID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5wcm9wcy5hdXRvU3RhcnQpIHtcbiAgICAgIHZvaWQgdGhpcy5zdGFydCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudGVhcmRvd24oKTtcbiAgfVxuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksICdRclNjYW5uZXInKTtcbiAgfVxuXG4gIHN0YXRlTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy5zdGF0ZSgpKSB7XG4gICAgICBjYXNlICdkZW5pZWQnOlxuICAgICAgICByZXR1cm4gdGhpcy50KCdkZW5pZWQnKTtcbiAgICAgIGNhc2UgJ25vLWNhbWVyYSc6XG4gICAgICAgIHJldHVybiB0aGlzLnQoJ25vQ2FtZXJhJyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy50KCdlcnJvcicpO1xuICAgIH1cbiAgfVxuXG4gIGRldmljZUxhYmVsKGQ6IE1lZGlhRGV2aWNlSW5mbyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGQubGFiZWwgfHwgYCR7dGhpcy50KCdjYW1lcmFMYWJlbCcpfSAke3RoaXMuZGV2aWNlcygpLmluZGV4T2YoZCkgKyAxfWA7XG4gIH1cblxuICBhc3luYyBzdGFydChkZXZpY2VJZD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy52aWV3UmVhZHkpIHJldHVybjtcbiAgICB0aGlzLnRlYXJkb3duKCk7XG4gICAgdGhpcy5zdGF0ZS5zZXQoJ3N0YXJ0aW5nJyk7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5yZWFkZXIgPSBuZXcgQnJvd3Nlck11bHRpRm9ybWF0UmVhZGVyKCk7XG5cbiAgICAgIC8vIEVudW1lcmFyIGPDoW1hcmFzLiBBbGd1bm9zIG5hdmVnYWRvcmVzIHNvbG8gZGFuIGxhYmVscyB0cmFzIGNvbmNlZGVyXG4gICAgICAvLyBwZXJtaXNvLCBhc8OtIHF1ZSBlc3RvIHB1ZWRlIGRldm9sdmVyIGxhYmVscyB2YWPDrW9zIGxhIDHCqiB2ZXouXG4gICAgICBsZXQgY2FtczogTWVkaWFEZXZpY2VJbmZvW10gPSBbXTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNhbXMgPSBhd2FpdCBCcm93c2VyTXVsdGlGb3JtYXRSZWFkZXIubGlzdFZpZGVvSW5wdXREZXZpY2VzKCk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgY2FtcyA9IFtdO1xuICAgICAgfVxuICAgICAgdGhpcy5kZXZpY2VzLnNldChjYW1zKTtcblxuICAgICAgLy8gUHJlZmVyaXIgbGEgdHJhc2VyYSAoZW52aXJvbm1lbnQpIHNpIGVsIGxhYmVsIGxvIHN1Z2llcmUuXG4gICAgICBjb25zdCB0YXJnZXQgPVxuICAgICAgICBkZXZpY2VJZCB8fFxuICAgICAgICB0aGlzLmFjdGl2ZURldmljZUlkKCkgfHxcbiAgICAgICAgY2Ftcy5maW5kKGMgPT4gL2JhY2t8cmVhcnxlbnZpcm9ubWVudHx0cmFzZXJhL2kudGVzdChjLmxhYmVsKSk/LmRldmljZUlkIHx8XG4gICAgICAgIGNhbXNbMF0/LmRldmljZUlkO1xuXG4gICAgICB0aGlzLmFjdGl2ZURldmljZUlkLnNldCh0YXJnZXQpO1xuXG4gICAgICB0aGlzLmNvbnRyb2xzID0gYXdhaXQgdGhpcy5yZWFkZXIuZGVjb2RlRnJvbVZpZGVvRGV2aWNlKHRhcmdldCwgdGhpcy52aWRlb1JlZi5uYXRpdmVFbGVtZW50LCByZXN1bHQgPT4ge1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXN1bHQocmVzdWx0LmdldFRleHQoKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnN0YXRlLnNldCgnc2Nhbm5pbmcnKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuaGFuZGxlU3RhcnRFcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIHN0b3AoKTogdm9pZCB7XG4gICAgdGhpcy50ZWFyZG93bigpO1xuICAgIHRoaXMuc3RhdGUuc2V0KCdpZGxlJyk7XG4gIH1cblxuICBhc3luYyBvblNlbGVjdERldmljZShkZXZpY2VJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGRldmljZUlkICYmIGRldmljZUlkICE9PSB0aGlzLmFjdGl2ZURldmljZUlkKCkpIHtcbiAgICAgIGF3YWl0IHRoaXMuc3RhcnQoZGV2aWNlSWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUmVzdWx0KHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgY29uc3QgZGVkdXBlID0gdGhpcy5wcm9wcy5kZWR1cGVNcyA/PyAxNTAwO1xuICAgIGlmICh0ZXh0ID09PSB0aGlzLmxhc3RWYWx1ZSAmJiBub3cgLSB0aGlzLmxhc3RBdCA8IGRlZHVwZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmxhc3RWYWx1ZSA9IHRleHQ7XG4gICAgdGhpcy5sYXN0QXQgPSBub3c7XG5cbiAgICB0aGlzLnNjYW5uZWQuZW1pdCh0ZXh0KTtcblxuICAgIC8vIE1vZG8gbm8gY29udGludW86IGRldGVuZXIgdHJhcyBlbCBwcmltZXIgbWF0Y2ggKGxhIHDDoWdpbmEgcmVhbnVkYSBzaVxuICAgIC8vIHF1aWVyZSkuIGBjb250aW51b3VzYCBkZWZhdWx0IHRydWUg4oaSIHNlZ3VpciBlc2NhbmVhbmRvLlxuICAgIGlmICh0aGlzLnByb3BzLmNvbnRpbnVvdXMgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLnN0b3AoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVN0YXJ0RXJyb3IoZXJyOiB1bmtub3duKTogdm9pZCB7XG4gICAgY29uc3QgbmFtZSA9IChlcnIgYXMgeyBuYW1lPzogc3RyaW5nIH0gfCBudWxsKT8ubmFtZSA/PyAnJztcbiAgICBpZiAobmFtZSA9PT0gJ05vdEFsbG93ZWRFcnJvcicgfHwgbmFtZSA9PT0gJ1NlY3VyaXR5RXJyb3InKSB7XG4gICAgICB0aGlzLnN0YXRlLnNldCgnZGVuaWVkJyk7XG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAnTm90Rm91bmRFcnJvcicgfHwgbmFtZSA9PT0gJ092ZXJjb25zdHJhaW5lZEVycm9yJykge1xuICAgICAgdGhpcy5zdGF0ZS5zZXQoJ25vLWNhbWVyYScpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXRlLnNldCgnZXJyb3InKTtcbiAgICB9XG4gICAgdGhpcy50ZWFyZG93bihmYWxzZSk7XG4gIH1cblxuICAvKiogRGV0aWVuZSBlbCBkZWNvZGUgKyBsaWJlcmEgZWwgc3RyZWFtIGRlIGxhIGPDoW1hcmEuICovXG4gIHByaXZhdGUgdGVhcmRvd24ocmVzZXRTdGF0ZSA9IHRydWUpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5jb250cm9scz8uc3RvcCgpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gaWdub3JlXG4gICAgfVxuICAgIHRoaXMuY29udHJvbHMgPSBudWxsO1xuXG4gICAgY29uc3QgdmlkZW8gPSB0aGlzLnZpZGVvUmVmPy5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHN0cmVhbSA9IHZpZGVvPy5zcmNPYmplY3QgYXMgTWVkaWFTdHJlYW0gfCBudWxsO1xuICAgIGlmIChzdHJlYW0pIHtcbiAgICAgIHN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNoKHRyYWNrID0+IHRyYWNrLnN0b3AoKSk7XG4gICAgICB2aWRlby5zcmNPYmplY3QgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLnJlYWRlciA9IG51bGw7XG5cbiAgICBpZiAocmVzZXRTdGF0ZSkge1xuICAgICAgdGhpcy5sYXN0VmFsdWUgPSAnJztcbiAgICAgIHRoaXMubGFzdEF0ID0gMDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Defaults i18n (es/en) del `val-qr-scanner`. Auto-registrados en el
3
+ * constructor (namespace `QrScanner`) — el consumer NUNCA tiene que
4
+ * registrarlos. Override por props (start/stop) o registrando el namespace.
5
+ */
6
+ export const QR_SCANNER_I18N = {
7
+ es: {
8
+ start: 'Iniciar cámara',
9
+ stop: 'Detener',
10
+ starting: 'Iniciando cámara…',
11
+ hint: 'Apunta la cámara al código QR de la entrada.',
12
+ cameraLabel: 'Cámara',
13
+ denied: 'No se pudo acceder a la cámara. Revisa los permisos del navegador e inténtalo de nuevo.',
14
+ noCamera: 'No se encontró ninguna cámara en este dispositivo.',
15
+ error: 'Ocurrió un problema con la cámara. Inténtalo de nuevo.',
16
+ },
17
+ en: {
18
+ start: 'Start camera',
19
+ stop: 'Stop',
20
+ starting: 'Starting camera…',
21
+ hint: 'Point the camera at the ticket QR code.',
22
+ cameraLabel: 'Camera',
23
+ denied: 'Could not access the camera. Check your browser permissions and try again.',
24
+ noCamera: 'No camera was found on this device.',
25
+ error: 'Something went wrong with the camera. Please try again.',
26
+ },
27
+ };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXItc2Nhbm5lci5pMThuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9xci1zY2FubmVyL3FyLXNjYW5uZXIuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLEVBQUUsRUFBRTtRQUNGLEtBQUssRUFBRSxnQkFBZ0I7UUFDdkIsSUFBSSxFQUFFLFNBQVM7UUFDZixRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLElBQUksRUFBRSw4Q0FBOEM7UUFDcEQsV0FBVyxFQUFFLFFBQVE7UUFDckIsTUFBTSxFQUNKLHlGQUF5RjtRQUMzRixRQUFRLEVBQUUsb0RBQW9EO1FBQzlELEtBQUssRUFBRSx3REFBd0Q7S0FDaEU7SUFDRCxFQUFFLEVBQUU7UUFDRixLQUFLLEVBQUUsY0FBYztRQUNyQixJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsSUFBSSxFQUFFLHlDQUF5QztRQUMvQyxXQUFXLEVBQUUsUUFBUTtRQUNyQixNQUFNLEVBQUUsNEVBQTRFO1FBQ3BGLFFBQVEsRUFBRSxxQ0FBcUM7UUFDL0MsS0FBSyxFQUFFLHlEQUF5RDtLQUNqRTtDQUNPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlZmF1bHRzIGkxOG4gKGVzL2VuKSBkZWwgYHZhbC1xci1zY2FubmVyYC4gQXV0by1yZWdpc3RyYWRvcyBlbiBlbFxuICogY29uc3RydWN0b3IgKG5hbWVzcGFjZSBgUXJTY2FubmVyYCkg4oCUIGVsIGNvbnN1bWVyIE5VTkNBIHRpZW5lIHF1ZVxuICogcmVnaXN0cmFybG9zLiBPdmVycmlkZSBwb3IgcHJvcHMgKHN0YXJ0L3N0b3ApIG8gcmVnaXN0cmFuZG8gZWwgbmFtZXNwYWNlLlxuICovXG5leHBvcnQgY29uc3QgUVJfU0NBTk5FUl9JMThOID0ge1xuICBlczoge1xuICAgIHN0YXJ0OiAnSW5pY2lhciBjw6FtYXJhJyxcbiAgICBzdG9wOiAnRGV0ZW5lcicsXG4gICAgc3RhcnRpbmc6ICdJbmljaWFuZG8gY8OhbWFyYeKApicsXG4gICAgaGludDogJ0FwdW50YSBsYSBjw6FtYXJhIGFsIGPDs2RpZ28gUVIgZGUgbGEgZW50cmFkYS4nLFxuICAgIGNhbWVyYUxhYmVsOiAnQ8OhbWFyYScsXG4gICAgZGVuaWVkOlxuICAgICAgJ05vIHNlIHB1ZG8gYWNjZWRlciBhIGxhIGPDoW1hcmEuIFJldmlzYSBsb3MgcGVybWlzb3MgZGVsIG5hdmVnYWRvciBlIGludMOpbnRhbG8gZGUgbnVldm8uJyxcbiAgICBub0NhbWVyYTogJ05vIHNlIGVuY29udHLDsyBuaW5ndW5hIGPDoW1hcmEgZW4gZXN0ZSBkaXNwb3NpdGl2by4nLFxuICAgIGVycm9yOiAnT2N1cnJpw7MgdW4gcHJvYmxlbWEgY29uIGxhIGPDoW1hcmEuIEludMOpbnRhbG8gZGUgbnVldm8uJyxcbiAgfSxcbiAgZW46IHtcbiAgICBzdGFydDogJ1N0YXJ0IGNhbWVyYScsXG4gICAgc3RvcDogJ1N0b3AnLFxuICAgIHN0YXJ0aW5nOiAnU3RhcnRpbmcgY2FtZXJh4oCmJyxcbiAgICBoaW50OiAnUG9pbnQgdGhlIGNhbWVyYSBhdCB0aGUgdGlja2V0IFFSIGNvZGUuJyxcbiAgICBjYW1lcmFMYWJlbDogJ0NhbWVyYScsXG4gICAgZGVuaWVkOiAnQ291bGQgbm90IGFjY2VzcyB0aGUgY2FtZXJhLiBDaGVjayB5b3VyIGJyb3dzZXIgcGVybWlzc2lvbnMgYW5kIHRyeSBhZ2Fpbi4nLFxuICAgIG5vQ2FtZXJhOiAnTm8gY2FtZXJhIHdhcyBmb3VuZCBvbiB0aGlzIGRldmljZS4nLFxuICAgIGVycm9yOiAnU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2l0aCB0aGUgY2FtZXJhLiBQbGVhc2UgdHJ5IGFnYWluLicsXG4gIH0sXG59IGFzIGNvbnN0O1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3FyLXNjYW5uZXIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTWV0YWRhdGEgKG9iamVjdC1maXJzdCkgZGVsIG9yZ2FuaXNtIGB2YWwtcXItc2Nhbm5lcmAuXG4gKlxuICogU2Nhbm5lciBkZSBRUiBwb3IgY8OhbWFyYS4gVG9kb3MgbG9zIGNhbXBvcyBzb24gb3BjaW9uYWxlcyAobGEgY8OhbWFyYVxuICogZnVuY2lvbmEgY29uIGRlZmF1bHRzKS4gRWwgY29uc3VtZXIgcGFzYSBsb3MgbGFiZWxzIHlhIHJlc3VlbHRvcyBwb3IgaTE4bjtcbiAqIHNpIG5vLCBlbCBjb21wb25lbnRlIGNhZSBhIHN1cyBkZWZhdWx0cyBhdXRvLXJlZ2lzdHJhZG9zIChuYW1lc3BhY2VcbiAqIGBRclNjYW5uZXJgKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRclNjYW5uZXJNZXRhZGF0YSB7XG4gIC8qKiBBcnJhbmNhciBsYSBjw6FtYXJhIGF1dG9tw6F0aWNhbWVudGUgYWwgbW9udGFyIChkZWZhdWx0IGZhbHNlKS4gKi9cbiAgYXV0b1N0YXJ0PzogYm9vbGVhbjtcblxuICAvKiogTGFiZWwgZGVsIGJvdMOzbiBkZSBpbmljaWFyIChvdmVycmlkZSBkZWwgYXV0by1pMThuKS4gKi9cbiAgc3RhcnRMYWJlbD86IHN0cmluZztcbiAgLyoqIExhYmVsIGRlbCBib3TDs24gZGUgZGV0ZW5lciAob3ZlcnJpZGUgZGVsIGF1dG8taTE4bikuICovXG4gIHN0b3BMYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogTWFudGVuZXIgbGEgY8OhbWFyYSBlbmNlbmRpZGEgdHJhcyB1biBlc2NhbmVvIGV4aXRvc28gKGRlZmF1bHQgdHJ1ZSkuIFNpIGVzXG4gICAqIGBmYWxzZWAsIGVsIHNjYW5uZXIgc2UgZGV0aWVuZSBzb2xvIGFsIHByaW1lciBtYXRjaCDigJQgw7p0aWwgcGFyYSBmbHVqb3MgZGVcbiAgICogdW4gc29sbyBjYW5qZS4gU2kgZXMgYHRydWVgLCBzaWd1ZSBlc2NhbmVhbmRvIChsYSBww6FnaW5hIGRlY2lkZSBjdcOhbmRvXG4gICAqIHBhcmFyIC8gcmVhbnVkYXIpLlxuICAgKi9cbiAgY29udGludW91cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFudGktcmVib3RlIGVudHJlIGxlY3R1cmFzIGRlbCBNSVNNTyB2YWxvciwgZW4gbXMgKGRlZmF1bHQgMTUwMCkuIEV2aXRhXG4gICAqIHF1ZSBlbCBtaXNtbyBRUiBkaXNwYXJlIGBzY2FubmVkYCBtdWNoYXMgdmVjZXMgcG9yIHNlZ3VuZG8gbWllbnRyYXMgZXN0w6FcbiAgICogZnJlbnRlIGEgbGEgY8OhbWFyYS5cbiAgICovXG4gIGRlZHVwZU1zPzogbnVtYmVyO1xufVxuXG4vKiogRXN0YWRvIGludGVybm8gZGVsIHNjYW5uZXIgKGV4cHVlc3RvIHBhcmEgZmVlZGJhY2sgZGUgVUkpLiAqL1xuZXhwb3J0IHR5cGUgUXJTY2FubmVyU3RhdGUgPSAnaWRsZScgfCAnc3RhcnRpbmcnIHwgJ3NjYW5uaW5nJyB8ICdkZW5pZWQnIHwgJ25vLWNhbWVyYScgfCAnZXJyb3InO1xuIl19
@@ -5,6 +5,7 @@ import { provideValtechAccountRoutes } from '../account-view/account.routes';
5
5
  import { provideValtechOrganizationRoutes } from '../organization-view/organization.routes';
6
6
  import { provideValtechNotificationPreferencesRoutes } from '../notification-preferences-view/notification-preferences.routes';
7
7
  import { provideValtechPermissionsRoutes } from '../permissions-view/permissions.routes';
8
+ import { provideValtechApiKeysRoutes } from '../api-keys-view/api-keys.routes';
8
9
  import { SettingsHubComponent } from './settings-hub.component';
9
10
  /**
10
11
  * Helper para montar el bloque completo de Settings en una app del factory: el
@@ -47,6 +48,7 @@ export function provideValtechSettingsRoutes(opts) {
47
48
  const includeOrganization = opts?.includeOrganization ?? true;
48
49
  const includeNotificationPreferences = opts?.includeNotificationPreferences ?? true;
49
50
  const includePermissions = opts?.includePermissions ?? true;
51
+ const includeApiKeys = opts?.includeApiKeys ?? false;
50
52
  return [
51
53
  {
52
54
  path: basePath,
@@ -80,9 +82,10 @@ export function provideValtechSettingsRoutes(opts) {
80
82
  ...(includePermissions
81
83
  ? provideValtechPermissionsRoutes({ config: opts?.permissionsConfig })
82
84
  : []),
85
+ ...(includeApiKeys ? provideValtechApiKeysRoutes({ config: opts?.apiKeysConfig }) : []),
83
86
  ...(opts?.extraRoutes ?? []),
84
87
  ],
85
88
  },
86
89
  ];
87
90
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Mucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9zZXR0aW5ncy1odWIvc2V0dGluZ3Mucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTVGLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBRS9ILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBOERoRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUFDLElBQW1DO0lBQzlFLE1BQU0sUUFBUSxHQUFHLElBQUksRUFBRSxRQUFRLElBQUksVUFBVSxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ3BDLE1BQU0sY0FBYyxHQUFHLElBQUksRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDO0lBQ3BELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxFQUFFLGtCQUFrQixJQUFJLElBQUksQ0FBQztJQUM1RCxNQUFNLGVBQWUsR0FBRyxJQUFJLEVBQUUsZUFBZSxJQUFJLElBQUksQ0FBQztJQUN0RCxNQUFNLGNBQWMsR0FBRyxJQUFJLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQztJQUNwRCxNQUFNLG1CQUFtQixHQUFHLElBQUksRUFBRSxtQkFBbUIsSUFBSSxJQUFJLENBQUM7SUFDOUQsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLEVBQUUsOEJBQThCLElBQUksSUFBSSxDQUFDO0lBQ3BGLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxFQUFFLGtCQUFrQixJQUFJLElBQUksQ0FBQztJQUU1RCxPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRTtnQkFDUixHQUFHLENBQUMsSUFBSSxFQUFFLGVBQWU7b0JBQ3ZCLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBZSxFQUFFLENBQUM7b0JBQzlFLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLE9BQU87b0JBQ2IsU0FBUyxFQUFFLG9CQUFvQjtvQkFDL0IsSUFBSSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtpQkFDN0M7Z0JBQ0QsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdkYsR0FBRyxDQUFDLGtCQUFrQjtvQkFDcEIsQ0FBQyxDQUFDLCtCQUErQixDQUFDO3dCQUM5QixJQUFJLEVBQUUsSUFBSSxFQUFFLGVBQWUsSUFBSSxhQUFhO3dCQUM1QyxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQjtxQkFDaEMsQ0FBQztvQkFDSixDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNQLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFGLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZGLEdBQUcsQ0FBQyxtQkFBbUI7b0JBQ3JCLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztvQkFDeEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDUCxHQUFHLENBQUMsOEJBQThCO29CQUNoQyxDQUFDLENBQUMsMkNBQTJDLENBQUM7d0JBQzFDLElBQUksRUFBRSxJQUFJLEVBQUUsMkJBQTJCLElBQUksZUFBZTt3QkFDMUQsTUFBTSxFQUFFLElBQUksRUFBRSw2QkFBNkI7cUJBQzVDLENBQUM7b0JBQ0osQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDUCxHQUFHLENBQUMsa0JBQWtCO29CQUNwQixDQUFDLENBQUMsK0JBQStCLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUM7b0JBQ3RFLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1AsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO2FBQzdCO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IHByb3ZpZGVWYWx0ZWNoUHJvZmlsZVJvdXRlcyB9IGZyb20gJy4uL3Byb2ZpbGUtdmlldy9wcm9maWxlLnJvdXRlcyc7XG5pbXBvcnQgeyBQcm9maWxlVmlld0NvbmZpZyB9IGZyb20gJy4uL3Byb2ZpbGUtdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaFByZWZlcmVuY2VzUm91dGVzIH0gZnJvbSAnLi4vcHJlZmVyZW5jZXMtdmlldy9wcmVmZXJlbmNlcy5yb3V0ZXMnO1xuaW1wb3J0IHsgUHJlZmVyZW5jZXNWaWV3Q29uZmlnIH0gZnJvbSAnLi4vcHJlZmVyZW5jZXMtdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaFNlY3VyaXR5Um91dGVzIH0gZnJvbSAnLi4vc2VjdXJpdHktdmlldy9zZWN1cml0eS5yb3V0ZXMnO1xuaW1wb3J0IHsgU2VjdXJpdHlWaWV3Q29uZmlnIH0gZnJvbSAnLi4vc2VjdXJpdHktdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaEFjY291bnRSb3V0ZXMgfSBmcm9tICcuLi9hY2NvdW50LXZpZXcvYWNjb3VudC5yb3V0ZXMnO1xuaW1wb3J0IHsgQWNjb3VudFZpZXdDb25maWcgfSBmcm9tICcuLi9hY2NvdW50LXZpZXcvdHlwZXMnO1xuaW1wb3J0IHsgcHJvdmlkZVZhbHRlY2hPcmdhbml6YXRpb25Sb3V0ZXMgfSBmcm9tICcuLi9vcmdhbml6YXRpb24tdmlldy9vcmdhbml6YXRpb24ucm91dGVzJztcbmltcG9ydCB7IE9yZ2FuaXphdGlvblZpZXdDb25maWcgfSBmcm9tICcuLi9vcmdhbml6YXRpb24tdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaE5vdGlmaWNhdGlvblByZWZlcmVuY2VzUm91dGVzIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLXByZWZlcmVuY2VzLXZpZXcvbm90aWZpY2F0aW9uLXByZWZlcmVuY2VzLnJvdXRlcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25QcmVmZXJlbmNlc1ZpZXdDb25maWcgfSBmcm9tICcuLi9ub3RpZmljYXRpb24tcHJlZmVyZW5jZXMtdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaFBlcm1pc3Npb25zUm91dGVzIH0gZnJvbSAnLi4vcGVybWlzc2lvbnMtdmlldy9wZXJtaXNzaW9ucy5yb3V0ZXMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnNWaWV3Q29uZmlnIH0gZnJvbSAnLi4vcGVybWlzc2lvbnMtdmlldy90eXBlcyc7XG5cbmltcG9ydCB7IFNldHRpbmdzSHViQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5ncy1odWIuY29tcG9uZW50JztcbmltcG9ydCB7IFNldHRpbmdzSHViQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogT3BjaW9uZXMgZGUgYHByb3ZpZGVWYWx0ZWNoU2V0dGluZ3NSb3V0ZXNgLiBBZ3J1cGEgZWwgSFVCIChgdmFsLXNldHRpbmdzLWh1YmApXG4gKiBjb24gbGFzIHZpc3RhcyB5YSBwcm9tb3ZpZGFzIChQZXJmaWwgKyBQcmVmZXJlbmNpYXMpIGJham8gdW4gw7puaWNvIGBwYXRoYFxuICogYmFzZSwgeSBkZWphIGBleHRyYVJvdXRlc2AgcGFyYSBsYXMgc2VjY2lvbmVzIGRlIGxhIGFwcCBhw7puIG5vIHByb21vdmlkYXNcbiAqIChzZWN1cml0eSwgYWNjb3VudCwgbm90aWZpY2F0aW9ucywgb3JnYW5pemF0aW9uLCDigKYpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbHRlY2hTZXR0aW5nc1JvdXRlc09wdGlvbnMge1xuICAvKiogUGF0aCBiYXNlIGRlbCBibG9xdWUgZGUgc2V0dGluZ3MuIERlZmF1bHQgYCdzZXR0aW5ncydgLiAqL1xuICBiYXNlUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFBhdGggZG9uZGUgc2UgbW9udGEgZWwgSFVCIGRlbnRybyBkZWwgYmxvcXVlLiBEZWZhdWx0IGAnJ2AgKMOtbmRpY2UpLiBQYXJhXG4gICAqIGFwcHMgcXVlIHF1aWVyZW4gZWwgaHViIGVuIHVuYSBzdWItcnV0YSAoZWouIHNob3djYXNlIGxvIHRpZW5lIGVuXG4gICAqIGBwcmVmZXJlbmNlc2ApLCBzZXRlYXIgZXN0byArIGBpbmRleFJlZGlyZWN0VG9gLlxuICAgKi9cbiAgaHViUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNpIHNlIHNldGVhLCBhZ3JlZ2EgYHsgcGF0aDogJycsIHJlZGlyZWN0VG8sIHBhdGhNYXRjaDogJ2Z1bGwnIH1gIGFsIMOtbmRpY2UuXG4gICAqIFBlbnNhZG8gcGFyYSBjdWFuZG8gYGh1YlBhdGhgIE5PIGVzIGAnJ2AgKGVsIMOtbmRpY2UgcXVlZGEgbGlicmUgeSBzZSByZWRpcmlnZVxuICAgKiBhbCBodWIgdSBvdHJhIHNlY2Npw7NuKS4gTm8gdXNhciBqdW50byBjb24gYGh1YlBhdGg6ICcnYCAoY29saXNpb25hcsOtYW4pLlxuICAgKi9cbiAgaW5kZXhSZWRpcmVjdFRvPzogc3RyaW5nO1xuICAvKiogQ29uZmlnIGRlbCBIVUIgKHBhc2FkYSBwb3Igcm91dGUgZGF0YSBgc2V0dGluZ3NIdWJDb25maWdgKS4gKi9cbiAgaHViQ29uZmlnPzogU2V0dGluZ3NIdWJDb25maWc7XG4gIC8qKiBDb25maWcgZGUgbGEgdmlzdGEgUGVyZmlsIChwYXNzLXRocm91Z2ggYSBgcHJvdmlkZVZhbHRlY2hQcm9maWxlUm91dGVzYCkuICovXG4gIHByb2ZpbGVDb25maWc/OiBQcm9maWxlVmlld0NvbmZpZztcbiAgLyoqIENvbmZpZyBkZSBsYSB2aXN0YSBQcmVmZXJlbmNpYXMgKHBhc3MtdGhyb3VnaCBhIGBwcm92aWRlVmFsdGVjaFByZWZlcmVuY2VzUm91dGVzYCkuICovXG4gIHByZWZlcmVuY2VzQ29uZmlnPzogUHJlZmVyZW5jZXNWaWV3Q29uZmlnO1xuICAvKiogQ29uZmlnIGRlIGxhIHZpc3RhIFNlZ3VyaWRhZCAocGFzcy10aHJvdWdoIGEgYHByb3ZpZGVWYWx0ZWNoU2VjdXJpdHlSb3V0ZXNgKS4gKi9cbiAgc2VjdXJpdHlDb25maWc/OiBTZWN1cml0eVZpZXdDb25maWc7XG4gIC8qKiBDb25maWcgZGUgbGEgdmlzdGEgQ3VlbnRhIChwYXNzLXRocm91Z2ggYSBgcHJvdmlkZVZhbHRlY2hBY2NvdW50Um91dGVzYCkuICovXG4gIGFjY291bnRDb25maWc/OiBBY2NvdW50Vmlld0NvbmZpZztcbiAgLyoqIENvbmZpZyBkZSBsYSB2aXN0YSBHZXN0acOzbiBkZSBvcmdhbml6YWNpw7NuIChwYXNzLXRocm91Z2ggYSBgcHJvdmlkZVZhbHRlY2hPcmdhbml6YXRpb25Sb3V0ZXNgKS4gKi9cbiAgb3JnYW5pemF0aW9uQ29uZmlnPzogT3JnYW5pemF0aW9uVmlld0NvbmZpZztcbiAgLyoqIENvbmZpZyBkZSBQcmVmZXJlbmNpYXMgZGUgbm90aWZpY2FjaW9uZXMgcHVzaCAocGFzcy10aHJvdWdoKS4gKi9cbiAgbm90aWZpY2F0aW9uUHJlZmVyZW5jZXNDb25maWc/OiBOb3RpZmljYXRpb25QcmVmZXJlbmNlc1ZpZXdDb25maWc7XG4gIC8qKiBDb25maWcgZGVsIHZpc29yIGRlIFBlcm1pc29zIChwYXNzLXRocm91Z2gpLiAqL1xuICBwZXJtaXNzaW9uc0NvbmZpZz86IFBlcm1pc3Npb25zVmlld0NvbmZpZztcbiAgLyoqIE1vbnRhIGxhIHJ1dGEgYHByb2ZpbGVgLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgaW5jbHVkZVByb2ZpbGU/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBkZSBwcmVmZXJlbmNpYXMuIERlZmF1bHQgYHRydWVgLiAqL1xuICBpbmNsdWRlUHJlZmVyZW5jZXM/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBgc2VjdXJpdHlgLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgaW5jbHVkZVNlY3VyaXR5PzogYm9vbGVhbjtcbiAgLyoqIE1vbnRhIGxhIHJ1dGEgYGFjY291bnRgLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgaW5jbHVkZUFjY291bnQ/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBgb3JnYW5pemF0aW9uYC4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIGluY2x1ZGVPcmdhbml6YXRpb24/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBkZSBwcmVmZXJlbmNpYXMgZGUgbm90aWZpY2FjaW9uZXMgcHVzaC4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIGluY2x1ZGVOb3RpZmljYXRpb25QcmVmZXJlbmNlcz86IGJvb2xlYW47XG4gIC8qKiBNb250YSBsYSBydXRhIGBwZXJtaXNzaW9uc2AuIERlZmF1bHQgYHRydWVgLiAqL1xuICBpbmNsdWRlUGVybWlzc2lvbnM/OiBib29sZWFuO1xuICAvKiogUGF0aCBkZSBsYSB2aXN0YSBQcmVmZXJlbmNpYXMuIERlZmF1bHQgYCdwcmVmZXJlbmNlcydgLiAqL1xuICBwcmVmZXJlbmNlc1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBQYXRoIGRlIGxhIHZpc3RhIFByZWZlcmVuY2lhcyBkZSBub3RpZmljYWNpb25lcyBwdXNoLiBEZWZhdWx0IGAnbm90aWZpY2F0aW9ucydgLiAqL1xuICBub3RpZmljYXRpb25QcmVmZXJlbmNlc1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBSdXRhcyBleHRyYSBhIHN1bWFyIGNvbW8gaGlqYXMgKHNlY2Npb25lcyBkZSBsYSBhcHAgbm8gcHJvbW92aWRhcykuICovXG4gIGV4dHJhUm91dGVzPzogUm91dGVzO1xufVxuXG4vKipcbiAqIEhlbHBlciBwYXJhIG1vbnRhciBlbCBibG9xdWUgY29tcGxldG8gZGUgU2V0dGluZ3MgZW4gdW5hIGFwcCBkZWwgZmFjdG9yeTogZWxcbiAqIEhVQiBkZSBuYXZlZ2FjacOzbiAoYHZhbC1zZXR0aW5ncy1odWJgKSArIFRPREFTIGxhcyB2aXN0YXMgcHJvbW92aWRhcyAoUGVyZmlsLFxuICogUHJlZmVyZW5jaWFzLCBTZWd1cmlkYWQsIEN1ZW50YSwgR2VzdGnDs24gb3JnLCBQcmVmZXJlbmNpYXMgZGUgbm90aWZpY2FjaW9uZXMsXG4gKiBQZXJtaXNvcykgKyBsYXMgcnV0YXMgcHJvcGlhcyBkZSBsYSBhcHAgKGBleHRyYVJvdXRlc2ApLiBDYWRhIGBpbmNsdWRlKmAgcGVybWl0ZVxuICogYXBhZ2FyIHVuYSBzZWNjacOzbjsgYGh1YlBhdGhgL2BpbmRleFJlZGlyZWN0VG9gL2AqUGF0aGAgcGVybWl0ZW4gcmV1YmljYXIgZWwgaHViXG4gKiB5IGxhcyB2aXN0YXMgcGFyYSBwcmVzZXJ2YXIgVVJMcyBleGlzdGVudGVzLlxuICpcbiAqIHNob3djYXNlIGxvIGNvbnN1bWUgKHZlciBgc2V0dGluZ3Mucm91dGVzLnRzYCBkZSBzaG93Y2FzZSk6IGh1YiBlbiBgcHJlZmVyZW5jZXNgLFxuICogcHJlZmVyZW5jZXMtdmlldyBlbiBgZ2VuZXJhbGAsIGluZGV44oaScmVkaXJlY3QsIGBvcmdhbml6YXRpb24vbmV3YCBwb3IgYGV4dHJhUm91dGVzYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIGFwcC5yb3V0ZXMudHNcbiAqIGltcG9ydCB7IHByb3ZpZGVWYWx0ZWNoU2V0dGluZ3NSb3V0ZXMgfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuICpcbiAqIGV4cG9ydCBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAqICAge1xuICogICAgIHBhdGg6ICdhcHAnLFxuICogICAgIGNoaWxkcmVuOiBbXG4gKiAgICAgICAuLi5wcm92aWRlVmFsdGVjaFNldHRpbmdzUm91dGVzKHtcbiAqICAgICAgICAgaHViQ29uZmlnOiB7IG9uTG9nb3V0OiAoKSA9PiBhdXRoLmxvZ291dFdpdGhDb25maXJtYXRpb24oKSB9LFxuICogICAgICAgICBleHRyYVJvdXRlczogW1xuICogICAgICAgICAgIHsgcGF0aDogJ3NlY3VyaXR5JywgbG9hZENvbXBvbmVudDogKCkgPT4gLi4uIH0sXG4gKiAgICAgICAgIF0sXG4gKiAgICAgICB9KSxcbiAqICAgICBdLFxuICogICB9LFxuICogXTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVZhbHRlY2hTZXR0aW5nc1JvdXRlcyhvcHRzPzogVmFsdGVjaFNldHRpbmdzUm91dGVzT3B0aW9ucyk6IFJvdXRlcyB7XG4gIGNvbnN0IGJhc2VQYXRoID0gb3B0cz8uYmFzZVBhdGggPz8gJ3NldHRpbmdzJztcbiAgY29uc3QgaHViUGF0aCA9IG9wdHM/Lmh1YlBhdGggPz8gJyc7XG4gIGNvbnN0IGluY2x1ZGVQcm9maWxlID0gb3B0cz8uaW5jbHVkZVByb2ZpbGUgPz8gdHJ1ZTtcbiAgY29uc3QgaW5jbHVkZVByZWZlcmVuY2VzID0gb3B0cz8uaW5jbHVkZVByZWZlcmVuY2VzID8/IHRydWU7XG4gIGNvbnN0IGluY2x1ZGVTZWN1cml0eSA9IG9wdHM/LmluY2x1ZGVTZWN1cml0eSA/PyB0cnVlO1xuICBjb25zdCBpbmNsdWRlQWNjb3VudCA9IG9wdHM/LmluY2x1ZGVBY2NvdW50ID8/IHRydWU7XG4gIGNvbnN0IGluY2x1ZGVPcmdhbml6YXRpb24gPSBvcHRzPy5pbmNsdWRlT3JnYW5pemF0aW9uID8/IHRydWU7XG4gIGNvbnN0IGluY2x1ZGVOb3RpZmljYXRpb25QcmVmZXJlbmNlcyA9IG9wdHM/LmluY2x1ZGVOb3RpZmljYXRpb25QcmVmZXJlbmNlcyA/PyB0cnVlO1xuICBjb25zdCBpbmNsdWRlUGVybWlzc2lvbnMgPSBvcHRzPy5pbmNsdWRlUGVybWlzc2lvbnMgPz8gdHJ1ZTtcblxuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHBhdGg6IGJhc2VQYXRoLFxuICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgLi4uKG9wdHM/LmluZGV4UmVkaXJlY3RUb1xuICAgICAgICAgID8gW3sgcGF0aDogJycsIHJlZGlyZWN0VG86IG9wdHMuaW5kZXhSZWRpcmVjdFRvLCBwYXRoTWF0Y2g6ICdmdWxsJyBhcyBjb25zdCB9XVxuICAgICAgICAgIDogW10pLFxuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogaHViUGF0aCxcbiAgICAgICAgICBjb21wb25lbnQ6IFNldHRpbmdzSHViQ29tcG9uZW50LFxuICAgICAgICAgIGRhdGE6IHsgc2V0dGluZ3NIdWJDb25maWc6IG9wdHM/Lmh1YkNvbmZpZyB9LFxuICAgICAgICB9LFxuICAgICAgICAuLi4oaW5jbHVkZVByb2ZpbGUgPyBwcm92aWRlVmFsdGVjaFByb2ZpbGVSb3V0ZXMoeyBjb25maWc6IG9wdHM/LnByb2ZpbGVDb25maWcgfSkgOiBbXSksXG4gICAgICAgIC4uLihpbmNsdWRlUHJlZmVyZW5jZXNcbiAgICAgICAgICA/IHByb3ZpZGVWYWx0ZWNoUHJlZmVyZW5jZXNSb3V0ZXMoe1xuICAgICAgICAgICAgICBwYXRoOiBvcHRzPy5wcmVmZXJlbmNlc1BhdGggPz8gJ3ByZWZlcmVuY2VzJyxcbiAgICAgICAgICAgICAgY29uZmlnOiBvcHRzPy5wcmVmZXJlbmNlc0NvbmZpZyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBbXSksXG4gICAgICAgIC4uLihpbmNsdWRlU2VjdXJpdHkgPyBwcm92aWRlVmFsdGVjaFNlY3VyaXR5Um91dGVzKHsgY29uZmlnOiBvcHRzPy5zZWN1cml0eUNvbmZpZyB9KSA6IFtdKSxcbiAgICAgICAgLi4uKGluY2x1ZGVBY2NvdW50ID8gcHJvdmlkZVZhbHRlY2hBY2NvdW50Um91dGVzKHsgY29uZmlnOiBvcHRzPy5hY2NvdW50Q29uZmlnIH0pIDogW10pLFxuICAgICAgICAuLi4oaW5jbHVkZU9yZ2FuaXphdGlvblxuICAgICAgICAgID8gcHJvdmlkZVZhbHRlY2hPcmdhbml6YXRpb25Sb3V0ZXMoeyBjb25maWc6IG9wdHM/Lm9yZ2FuaXphdGlvbkNvbmZpZyB9KVxuICAgICAgICAgIDogW10pLFxuICAgICAgICAuLi4oaW5jbHVkZU5vdGlmaWNhdGlvblByZWZlcmVuY2VzXG4gICAgICAgICAgPyBwcm92aWRlVmFsdGVjaE5vdGlmaWNhdGlvblByZWZlcmVuY2VzUm91dGVzKHtcbiAgICAgICAgICAgICAgcGF0aDogb3B0cz8ubm90aWZpY2F0aW9uUHJlZmVyZW5jZXNQYXRoID8/ICdub3RpZmljYXRpb25zJyxcbiAgICAgICAgICAgICAgY29uZmlnOiBvcHRzPy5ub3RpZmljYXRpb25QcmVmZXJlbmNlc0NvbmZpZyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBbXSksXG4gICAgICAgIC4uLihpbmNsdWRlUGVybWlzc2lvbnNcbiAgICAgICAgICA/IHByb3ZpZGVWYWx0ZWNoUGVybWlzc2lvbnNSb3V0ZXMoeyBjb25maWc6IG9wdHM/LnBlcm1pc3Npb25zQ29uZmlnIH0pXG4gICAgICAgICAgOiBbXSksXG4gICAgICAgIC4uLihvcHRzPy5leHRyYVJvdXRlcyA/PyBbXSksXG4gICAgICBdLFxuICAgIH0sXG4gIF07XG59XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Mucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9zZXR0aW5ncy1odWIvc2V0dGluZ3Mucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTVGLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBRS9ILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBSS9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBa0VoRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUFDLElBQW1DO0lBQzlFLE1BQU0sUUFBUSxHQUFHLElBQUksRUFBRSxRQUFRLElBQUksVUFBVSxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ3BDLE1BQU0sY0FBYyxHQUFHLElBQUksRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDO0lBQ3BELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxFQUFFLGtCQUFrQixJQUFJLElBQUksQ0FBQztJQUM1RCxNQUFNLGVBQWUsR0FBRyxJQUFJLEVBQUUsZUFBZSxJQUFJLElBQUksQ0FBQztJQUN0RCxNQUFNLGNBQWMsR0FBRyxJQUFJLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQztJQUNwRCxNQUFNLG1CQUFtQixHQUFHLElBQUksRUFBRSxtQkFBbUIsSUFBSSxJQUFJLENBQUM7SUFDOUQsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLEVBQUUsOEJBQThCLElBQUksSUFBSSxDQUFDO0lBQ3BGLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxFQUFFLGtCQUFrQixJQUFJLElBQUksQ0FBQztJQUM1RCxNQUFNLGNBQWMsR0FBRyxJQUFJLEVBQUUsY0FBYyxJQUFJLEtBQUssQ0FBQztJQUVyRCxPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRTtnQkFDUixHQUFHLENBQUMsSUFBSSxFQUFFLGVBQWU7b0JBQ3ZCLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBZSxFQUFFLENBQUM7b0JBQzlFLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLE9BQU87b0JBQ2IsU0FBUyxFQUFFLG9CQUFvQjtvQkFDL0IsSUFBSSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtpQkFDN0M7Z0JBQ0QsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdkYsR0FBRyxDQUFDLGtCQUFrQjtvQkFDcEIsQ0FBQyxDQUFDLCtCQUErQixDQUFDO3dCQUM5QixJQUFJLEVBQUUsSUFBSSxFQUFFLGVBQWUsSUFBSSxhQUFhO3dCQUM1QyxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQjtxQkFDaEMsQ0FBQztvQkFDSixDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNQLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFGLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZGLEdBQUcsQ0FBQyxtQkFBbUI7b0JBQ3JCLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztvQkFDeEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDUCxHQUFHLENBQUMsOEJBQThCO29CQUNoQyxDQUFDLENBQUMsMkNBQTJDLENBQUM7d0JBQzFDLElBQUksRUFBRSxJQUFJLEVBQUUsMkJBQTJCLElBQUksZUFBZTt3QkFDMUQsTUFBTSxFQUFFLElBQUksRUFBRSw2QkFBNkI7cUJBQzVDLENBQUM7b0JBQ0osQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDUCxHQUFHLENBQUMsa0JBQWtCO29CQUNwQixDQUFDLENBQUMsK0JBQStCLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUM7b0JBQ3RFLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1AsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdkYsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO2FBQzdCO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IHByb3ZpZGVWYWx0ZWNoUHJvZmlsZVJvdXRlcyB9IGZyb20gJy4uL3Byb2ZpbGUtdmlldy9wcm9maWxlLnJvdXRlcyc7XG5pbXBvcnQgeyBQcm9maWxlVmlld0NvbmZpZyB9IGZyb20gJy4uL3Byb2ZpbGUtdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaFByZWZlcmVuY2VzUm91dGVzIH0gZnJvbSAnLi4vcHJlZmVyZW5jZXMtdmlldy9wcmVmZXJlbmNlcy5yb3V0ZXMnO1xuaW1wb3J0IHsgUHJlZmVyZW5jZXNWaWV3Q29uZmlnIH0gZnJvbSAnLi4vcHJlZmVyZW5jZXMtdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaFNlY3VyaXR5Um91dGVzIH0gZnJvbSAnLi4vc2VjdXJpdHktdmlldy9zZWN1cml0eS5yb3V0ZXMnO1xuaW1wb3J0IHsgU2VjdXJpdHlWaWV3Q29uZmlnIH0gZnJvbSAnLi4vc2VjdXJpdHktdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaEFjY291bnRSb3V0ZXMgfSBmcm9tICcuLi9hY2NvdW50LXZpZXcvYWNjb3VudC5yb3V0ZXMnO1xuaW1wb3J0IHsgQWNjb3VudFZpZXdDb25maWcgfSBmcm9tICcuLi9hY2NvdW50LXZpZXcvdHlwZXMnO1xuaW1wb3J0IHsgcHJvdmlkZVZhbHRlY2hPcmdhbml6YXRpb25Sb3V0ZXMgfSBmcm9tICcuLi9vcmdhbml6YXRpb24tdmlldy9vcmdhbml6YXRpb24ucm91dGVzJztcbmltcG9ydCB7IE9yZ2FuaXphdGlvblZpZXdDb25maWcgfSBmcm9tICcuLi9vcmdhbml6YXRpb24tdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaE5vdGlmaWNhdGlvblByZWZlcmVuY2VzUm91dGVzIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLXByZWZlcmVuY2VzLXZpZXcvbm90aWZpY2F0aW9uLXByZWZlcmVuY2VzLnJvdXRlcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25QcmVmZXJlbmNlc1ZpZXdDb25maWcgfSBmcm9tICcuLi9ub3RpZmljYXRpb24tcHJlZmVyZW5jZXMtdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaFBlcm1pc3Npb25zUm91dGVzIH0gZnJvbSAnLi4vcGVybWlzc2lvbnMtdmlldy9wZXJtaXNzaW9ucy5yb3V0ZXMnO1xuXG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaEFwaUtleXNSb3V0ZXMgfSBmcm9tICcuLi9hcGkta2V5cy12aWV3L2FwaS1rZXlzLnJvdXRlcyc7XG5pbXBvcnQgeyBBcGlLZXlzVmlld0NvbmZpZyB9IGZyb20gJy4uL2FwaS1rZXlzLXZpZXcvdHlwZXMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnNWaWV3Q29uZmlnIH0gZnJvbSAnLi4vcGVybWlzc2lvbnMtdmlldy90eXBlcyc7XG5cbmltcG9ydCB7IFNldHRpbmdzSHViQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5ncy1odWIuY29tcG9uZW50JztcbmltcG9ydCB7IFNldHRpbmdzSHViQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogT3BjaW9uZXMgZGUgYHByb3ZpZGVWYWx0ZWNoU2V0dGluZ3NSb3V0ZXNgLiBBZ3J1cGEgZWwgSFVCIChgdmFsLXNldHRpbmdzLWh1YmApXG4gKiBjb24gbGFzIHZpc3RhcyB5YSBwcm9tb3ZpZGFzIChQZXJmaWwgKyBQcmVmZXJlbmNpYXMpIGJham8gdW4gw7puaWNvIGBwYXRoYFxuICogYmFzZSwgeSBkZWphIGBleHRyYVJvdXRlc2AgcGFyYSBsYXMgc2VjY2lvbmVzIGRlIGxhIGFwcCBhw7puIG5vIHByb21vdmlkYXNcbiAqIChzZWN1cml0eSwgYWNjb3VudCwgbm90aWZpY2F0aW9ucywgb3JnYW5pemF0aW9uLCDigKYpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbHRlY2hTZXR0aW5nc1JvdXRlc09wdGlvbnMge1xuICAvKiogUGF0aCBiYXNlIGRlbCBibG9xdWUgZGUgc2V0dGluZ3MuIERlZmF1bHQgYCdzZXR0aW5ncydgLiAqL1xuICBiYXNlUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFBhdGggZG9uZGUgc2UgbW9udGEgZWwgSFVCIGRlbnRybyBkZWwgYmxvcXVlLiBEZWZhdWx0IGAnJ2AgKMOtbmRpY2UpLiBQYXJhXG4gICAqIGFwcHMgcXVlIHF1aWVyZW4gZWwgaHViIGVuIHVuYSBzdWItcnV0YSAoZWouIHNob3djYXNlIGxvIHRpZW5lIGVuXG4gICAqIGBwcmVmZXJlbmNlc2ApLCBzZXRlYXIgZXN0byArIGBpbmRleFJlZGlyZWN0VG9gLlxuICAgKi9cbiAgaHViUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNpIHNlIHNldGVhLCBhZ3JlZ2EgYHsgcGF0aDogJycsIHJlZGlyZWN0VG8sIHBhdGhNYXRjaDogJ2Z1bGwnIH1gIGFsIMOtbmRpY2UuXG4gICAqIFBlbnNhZG8gcGFyYSBjdWFuZG8gYGh1YlBhdGhgIE5PIGVzIGAnJ2AgKGVsIMOtbmRpY2UgcXVlZGEgbGlicmUgeSBzZSByZWRpcmlnZVxuICAgKiBhbCBodWIgdSBvdHJhIHNlY2Npw7NuKS4gTm8gdXNhciBqdW50byBjb24gYGh1YlBhdGg6ICcnYCAoY29saXNpb25hcsOtYW4pLlxuICAgKi9cbiAgaW5kZXhSZWRpcmVjdFRvPzogc3RyaW5nO1xuICAvKiogQ29uZmlnIGRlbCBIVUIgKHBhc2FkYSBwb3Igcm91dGUgZGF0YSBgc2V0dGluZ3NIdWJDb25maWdgKS4gKi9cbiAgaHViQ29uZmlnPzogU2V0dGluZ3NIdWJDb25maWc7XG4gIC8qKiBDb25maWcgZGUgbGEgdmlzdGEgUGVyZmlsIChwYXNzLXRocm91Z2ggYSBgcHJvdmlkZVZhbHRlY2hQcm9maWxlUm91dGVzYCkuICovXG4gIHByb2ZpbGVDb25maWc/OiBQcm9maWxlVmlld0NvbmZpZztcbiAgLyoqIENvbmZpZyBkZSBsYSB2aXN0YSBQcmVmZXJlbmNpYXMgKHBhc3MtdGhyb3VnaCBhIGBwcm92aWRlVmFsdGVjaFByZWZlcmVuY2VzUm91dGVzYCkuICovXG4gIHByZWZlcmVuY2VzQ29uZmlnPzogUHJlZmVyZW5jZXNWaWV3Q29uZmlnO1xuICAvKiogQ29uZmlnIGRlIGxhIHZpc3RhIFNlZ3VyaWRhZCAocGFzcy10aHJvdWdoIGEgYHByb3ZpZGVWYWx0ZWNoU2VjdXJpdHlSb3V0ZXNgKS4gKi9cbiAgc2VjdXJpdHlDb25maWc/OiBTZWN1cml0eVZpZXdDb25maWc7XG4gIC8qKiBDb25maWcgZGUgbGEgdmlzdGEgQ3VlbnRhIChwYXNzLXRocm91Z2ggYSBgcHJvdmlkZVZhbHRlY2hBY2NvdW50Um91dGVzYCkuICovXG4gIGFjY291bnRDb25maWc/OiBBY2NvdW50Vmlld0NvbmZpZztcbiAgLyoqIENvbmZpZyBkZSBsYSB2aXN0YSBHZXN0acOzbiBkZSBvcmdhbml6YWNpw7NuIChwYXNzLXRocm91Z2ggYSBgcHJvdmlkZVZhbHRlY2hPcmdhbml6YXRpb25Sb3V0ZXNgKS4gKi9cbiAgb3JnYW5pemF0aW9uQ29uZmlnPzogT3JnYW5pemF0aW9uVmlld0NvbmZpZztcbiAgLyoqIENvbmZpZyBkZSBQcmVmZXJlbmNpYXMgZGUgbm90aWZpY2FjaW9uZXMgcHVzaCAocGFzcy10aHJvdWdoKS4gKi9cbiAgbm90aWZpY2F0aW9uUHJlZmVyZW5jZXNDb25maWc/OiBOb3RpZmljYXRpb25QcmVmZXJlbmNlc1ZpZXdDb25maWc7XG4gIC8qKiBDb25maWcgZGVsIHZpc29yIGRlIFBlcm1pc29zIChwYXNzLXRocm91Z2gpLiAqL1xuICBwZXJtaXNzaW9uc0NvbmZpZz86IFBlcm1pc3Npb25zVmlld0NvbmZpZztcbiAgLyoqIE1vbnRhIGxhIHJ1dGEgYHByb2ZpbGVgLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgaW5jbHVkZVByb2ZpbGU/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBkZSBwcmVmZXJlbmNpYXMuIERlZmF1bHQgYHRydWVgLiAqL1xuICBpbmNsdWRlUHJlZmVyZW5jZXM/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBgc2VjdXJpdHlgLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgaW5jbHVkZVNlY3VyaXR5PzogYm9vbGVhbjtcbiAgLyoqIE1vbnRhIGxhIHJ1dGEgYGFjY291bnRgLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgaW5jbHVkZUFjY291bnQ/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBgb3JnYW5pemF0aW9uYC4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIGluY2x1ZGVPcmdhbml6YXRpb24/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBkZSBwcmVmZXJlbmNpYXMgZGUgbm90aWZpY2FjaW9uZXMgcHVzaC4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIGluY2x1ZGVOb3RpZmljYXRpb25QcmVmZXJlbmNlcz86IGJvb2xlYW47XG4gIC8qKiBNb250YSBsYSBydXRhIGBwZXJtaXNzaW9uc2AuIERlZmF1bHQgYHRydWVgLiAqL1xuICBpbmNsdWRlUGVybWlzc2lvbnM/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBgYXBpLWtleXNgIChgdmFsLWFwaS1rZXlzLXZpZXdgKS4gRGVmYXVsdCBgZmFsc2VgIChvcHQtaW4pLiAqL1xuICBpbmNsdWRlQXBpS2V5cz86IGJvb2xlYW47XG4gIC8qKiBDb25maWcgZGUgbGEgdmlzdGEgQVBJIEtleXMgKHBhc3MtdGhyb3VnaCBhIGBwcm92aWRlVmFsdGVjaEFwaUtleXNSb3V0ZXNgKS4gKi9cbiAgYXBpS2V5c0NvbmZpZz86IEFwaUtleXNWaWV3Q29uZmlnO1xuICAvKiogUGF0aCBkZSBsYSB2aXN0YSBQcmVmZXJlbmNpYXMuIERlZmF1bHQgYCdwcmVmZXJlbmNlcydgLiAqL1xuICBwcmVmZXJlbmNlc1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBQYXRoIGRlIGxhIHZpc3RhIFByZWZlcmVuY2lhcyBkZSBub3RpZmljYWNpb25lcyBwdXNoLiBEZWZhdWx0IGAnbm90aWZpY2F0aW9ucydgLiAqL1xuICBub3RpZmljYXRpb25QcmVmZXJlbmNlc1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBSdXRhcyBleHRyYSBhIHN1bWFyIGNvbW8gaGlqYXMgKHNlY2Npb25lcyBkZSBsYSBhcHAgbm8gcHJvbW92aWRhcykuICovXG4gIGV4dHJhUm91dGVzPzogUm91dGVzO1xufVxuXG4vKipcbiAqIEhlbHBlciBwYXJhIG1vbnRhciBlbCBibG9xdWUgY29tcGxldG8gZGUgU2V0dGluZ3MgZW4gdW5hIGFwcCBkZWwgZmFjdG9yeTogZWxcbiAqIEhVQiBkZSBuYXZlZ2FjacOzbiAoYHZhbC1zZXR0aW5ncy1odWJgKSArIFRPREFTIGxhcyB2aXN0YXMgcHJvbW92aWRhcyAoUGVyZmlsLFxuICogUHJlZmVyZW5jaWFzLCBTZWd1cmlkYWQsIEN1ZW50YSwgR2VzdGnDs24gb3JnLCBQcmVmZXJlbmNpYXMgZGUgbm90aWZpY2FjaW9uZXMsXG4gKiBQZXJtaXNvcykgKyBsYXMgcnV0YXMgcHJvcGlhcyBkZSBsYSBhcHAgKGBleHRyYVJvdXRlc2ApLiBDYWRhIGBpbmNsdWRlKmAgcGVybWl0ZVxuICogYXBhZ2FyIHVuYSBzZWNjacOzbjsgYGh1YlBhdGhgL2BpbmRleFJlZGlyZWN0VG9gL2AqUGF0aGAgcGVybWl0ZW4gcmV1YmljYXIgZWwgaHViXG4gKiB5IGxhcyB2aXN0YXMgcGFyYSBwcmVzZXJ2YXIgVVJMcyBleGlzdGVudGVzLlxuICpcbiAqIHNob3djYXNlIGxvIGNvbnN1bWUgKHZlciBgc2V0dGluZ3Mucm91dGVzLnRzYCBkZSBzaG93Y2FzZSk6IGh1YiBlbiBgcHJlZmVyZW5jZXNgLFxuICogcHJlZmVyZW5jZXMtdmlldyBlbiBgZ2VuZXJhbGAsIGluZGV44oaScmVkaXJlY3QsIGBvcmdhbml6YXRpb24vbmV3YCBwb3IgYGV4dHJhUm91dGVzYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIGFwcC5yb3V0ZXMudHNcbiAqIGltcG9ydCB7IHByb3ZpZGVWYWx0ZWNoU2V0dGluZ3NSb3V0ZXMgfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuICpcbiAqIGV4cG9ydCBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAqICAge1xuICogICAgIHBhdGg6ICdhcHAnLFxuICogICAgIGNoaWxkcmVuOiBbXG4gKiAgICAgICAuLi5wcm92aWRlVmFsdGVjaFNldHRpbmdzUm91dGVzKHtcbiAqICAgICAgICAgaHViQ29uZmlnOiB7IG9uTG9nb3V0OiAoKSA9PiBhdXRoLmxvZ291dFdpdGhDb25maXJtYXRpb24oKSB9LFxuICogICAgICAgICBleHRyYVJvdXRlczogW1xuICogICAgICAgICAgIHsgcGF0aDogJ3NlY3VyaXR5JywgbG9hZENvbXBvbmVudDogKCkgPT4gLi4uIH0sXG4gKiAgICAgICAgIF0sXG4gKiAgICAgICB9KSxcbiAqICAgICBdLFxuICogICB9LFxuICogXTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVZhbHRlY2hTZXR0aW5nc1JvdXRlcyhvcHRzPzogVmFsdGVjaFNldHRpbmdzUm91dGVzT3B0aW9ucyk6IFJvdXRlcyB7XG4gIGNvbnN0IGJhc2VQYXRoID0gb3B0cz8uYmFzZVBhdGggPz8gJ3NldHRpbmdzJztcbiAgY29uc3QgaHViUGF0aCA9IG9wdHM/Lmh1YlBhdGggPz8gJyc7XG4gIGNvbnN0IGluY2x1ZGVQcm9maWxlID0gb3B0cz8uaW5jbHVkZVByb2ZpbGUgPz8gdHJ1ZTtcbiAgY29uc3QgaW5jbHVkZVByZWZlcmVuY2VzID0gb3B0cz8uaW5jbHVkZVByZWZlcmVuY2VzID8/IHRydWU7XG4gIGNvbnN0IGluY2x1ZGVTZWN1cml0eSA9IG9wdHM/LmluY2x1ZGVTZWN1cml0eSA/PyB0cnVlO1xuICBjb25zdCBpbmNsdWRlQWNjb3VudCA9IG9wdHM/LmluY2x1ZGVBY2NvdW50ID8/IHRydWU7XG4gIGNvbnN0IGluY2x1ZGVPcmdhbml6YXRpb24gPSBvcHRzPy5pbmNsdWRlT3JnYW5pemF0aW9uID8/IHRydWU7XG4gIGNvbnN0IGluY2x1ZGVOb3RpZmljYXRpb25QcmVmZXJlbmNlcyA9IG9wdHM/LmluY2x1ZGVOb3RpZmljYXRpb25QcmVmZXJlbmNlcyA/PyB0cnVlO1xuICBjb25zdCBpbmNsdWRlUGVybWlzc2lvbnMgPSBvcHRzPy5pbmNsdWRlUGVybWlzc2lvbnMgPz8gdHJ1ZTtcbiAgY29uc3QgaW5jbHVkZUFwaUtleXMgPSBvcHRzPy5pbmNsdWRlQXBpS2V5cyA/PyBmYWxzZTtcblxuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHBhdGg6IGJhc2VQYXRoLFxuICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgLi4uKG9wdHM/LmluZGV4UmVkaXJlY3RUb1xuICAgICAgICAgID8gW3sgcGF0aDogJycsIHJlZGlyZWN0VG86IG9wdHMuaW5kZXhSZWRpcmVjdFRvLCBwYXRoTWF0Y2g6ICdmdWxsJyBhcyBjb25zdCB9XVxuICAgICAgICAgIDogW10pLFxuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogaHViUGF0aCxcbiAgICAgICAgICBjb21wb25lbnQ6IFNldHRpbmdzSHViQ29tcG9uZW50LFxuICAgICAgICAgIGRhdGE6IHsgc2V0dGluZ3NIdWJDb25maWc6IG9wdHM/Lmh1YkNvbmZpZyB9LFxuICAgICAgICB9LFxuICAgICAgICAuLi4oaW5jbHVkZVByb2ZpbGUgPyBwcm92aWRlVmFsdGVjaFByb2ZpbGVSb3V0ZXMoeyBjb25maWc6IG9wdHM/LnByb2ZpbGVDb25maWcgfSkgOiBbXSksXG4gICAgICAgIC4uLihpbmNsdWRlUHJlZmVyZW5jZXNcbiAgICAgICAgICA/IHByb3ZpZGVWYWx0ZWNoUHJlZmVyZW5jZXNSb3V0ZXMoe1xuICAgICAgICAgICAgICBwYXRoOiBvcHRzPy5wcmVmZXJlbmNlc1BhdGggPz8gJ3ByZWZlcmVuY2VzJyxcbiAgICAgICAgICAgICAgY29uZmlnOiBvcHRzPy5wcmVmZXJlbmNlc0NvbmZpZyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBbXSksXG4gICAgICAgIC4uLihpbmNsdWRlU2VjdXJpdHkgPyBwcm92aWRlVmFsdGVjaFNlY3VyaXR5Um91dGVzKHsgY29uZmlnOiBvcHRzPy5zZWN1cml0eUNvbmZpZyB9KSA6IFtdKSxcbiAgICAgICAgLi4uKGluY2x1ZGVBY2NvdW50ID8gcHJvdmlkZVZhbHRlY2hBY2NvdW50Um91dGVzKHsgY29uZmlnOiBvcHRzPy5hY2NvdW50Q29uZmlnIH0pIDogW10pLFxuICAgICAgICAuLi4oaW5jbHVkZU9yZ2FuaXphdGlvblxuICAgICAgICAgID8gcHJvdmlkZVZhbHRlY2hPcmdhbml6YXRpb25Sb3V0ZXMoeyBjb25maWc6IG9wdHM/Lm9yZ2FuaXphdGlvbkNvbmZpZyB9KVxuICAgICAgICAgIDogW10pLFxuICAgICAgICAuLi4oaW5jbHVkZU5vdGlmaWNhdGlvblByZWZlcmVuY2VzXG4gICAgICAgICAgPyBwcm92aWRlVmFsdGVjaE5vdGlmaWNhdGlvblByZWZlcmVuY2VzUm91dGVzKHtcbiAgICAgICAgICAgICAgcGF0aDogb3B0cz8ubm90aWZpY2F0aW9uUHJlZmVyZW5jZXNQYXRoID8/ICdub3RpZmljYXRpb25zJyxcbiAgICAgICAgICAgICAgY29uZmlnOiBvcHRzPy5ub3RpZmljYXRpb25QcmVmZXJlbmNlc0NvbmZpZyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBbXSksXG4gICAgICAgIC4uLihpbmNsdWRlUGVybWlzc2lvbnNcbiAgICAgICAgICA/IHByb3ZpZGVWYWx0ZWNoUGVybWlzc2lvbnNSb3V0ZXMoeyBjb25maWc6IG9wdHM/LnBlcm1pc3Npb25zQ29uZmlnIH0pXG4gICAgICAgICAgOiBbXSksXG4gICAgICAgIC4uLihpbmNsdWRlQXBpS2V5cyA/IHByb3ZpZGVWYWx0ZWNoQXBpS2V5c1JvdXRlcyh7IGNvbmZpZzogb3B0cz8uYXBpS2V5c0NvbmZpZyB9KSA6IFtdKSxcbiAgICAgICAgLi4uKG9wdHM/LmV4dHJhUm91dGVzID8/IFtdKSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==
@@ -2,5 +2,5 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export const VERSION = '2.0.1023';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC4xMDIzJztcbiJdfQ==
5
+ export const VERSION = '2.0.1025';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC4xMDI1JztcbiJdfQ==