general-library-union 2.4.76 → 2.4.78

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 (26) hide show
  1. package/esm2022/public-api.mjs +3 -1
  2. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.mjs +138 -18
  3. package/esm2022/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.mjs +12 -4
  4. package/esm2022/src/app/webcommon/pipes/dashboard.pipe.mjs +86 -0
  5. package/esm2022/src/app/webcommon/pipes/reporte-fuente.pipe.mjs +6 -1
  6. package/esm2022/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.mjs +71 -19
  7. package/esm2022/src/app/webcommon/services/dashboard.service.mjs +253 -0
  8. package/esm2022/src/app/webcommon/services/ejecucionreporte.service.mjs +27 -27
  9. package/esm2022/src/app/webcommon/services/fechaUtils.service.mjs +18 -18
  10. package/fesm2022/general-library-union.mjs +595 -91
  11. package/fesm2022/general-library-union.mjs.map +1 -1
  12. package/package.json +1 -1
  13. package/public-api.d.ts +2 -0
  14. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.d.ts +25 -1
  15. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.d.ts +1 -1
  16. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.d.ts +2 -1
  17. package/src/app/webcommon/pipes/dashboard.pipe.d.ts +48 -0
  18. package/src/app/webcommon/pipes/reporte-fuente.pipe.d.ts +4 -0
  19. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.d.ts +12 -2
  20. package/src/app/webcommon/services/dashboard.service.d.ts +27 -0
  21. package/src/app/webcommon/services/ejecucionreporte.service.d.ts +4 -4
  22. package/src/app/webcommon/services/fechaUtils.service.d.ts +3 -2
  23. package/src/assets/layout/styles/theme/designer/components/menu/_steps.scss +3 -3
  24. package/src/assets/layout/styles/theme/extensions/_steps.scss +2 -2
  25. package/src/styles/primeng/sass/theme/extensions/_steps.scss +4 -2
  26. package/src/assets/images/image (4).png +0 -0
@@ -0,0 +1,86 @@
1
+ import { Injectable, Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DashboardPipe {
4
+ GRAFICO = 'G';
5
+ COMPONENTE = 'C';
6
+ TABLA = 'T';
7
+ IFRAME = 'I';
8
+ DESCGRAFICO = 'Gráfico';
9
+ DESCCOMPONENTE = 'Componente';
10
+ DESCTABLA = 'Tabla';
11
+ DESCIFRAME = 'Iframe';
12
+ MAPATIPO = [
13
+ { nombre: this.DESCGRAFICO, codigo: this.GRAFICO },
14
+ { nombre: this.DESCCOMPONENTE, codigo: this.COMPONENTE },
15
+ { nombre: this.DESCTABLA, codigo: this.TABLA },
16
+ { nombre: this.DESCIFRAME, codigo: this.IFRAME }
17
+ ];
18
+ DIAGRAMA_BARRAS = 'B';
19
+ DIAGRAMA_BARRAS_HOR = 'H';
20
+ DIAGRAMA_TORTA = 'T';
21
+ DIAGRAMA_AREA = 'A';
22
+ DIAGRAMA_RADAR = 'R';
23
+ DIAGRAMA_POLAR = 'P';
24
+ DIAGRAMA_DONA = 'D';
25
+ DIAGRAMA_BARRAS_STRING = 'Diagrama de barras Vertifical';
26
+ DIAGRAMA_BARRAS_HOR_STRING = 'Diagrama de barras Horizontal';
27
+ DIAGRAMA_TORTA_STRING = 'Diagrama de Torta';
28
+ DIAGRAMA_AREA_STRING = 'Diagrama de Area';
29
+ DIAGRAMA_RADAR_STRING = 'Diagrama de Radar';
30
+ DIAGRAMA_POLAR_STRING = 'Diagrama de Polar';
31
+ DIAGRAMA_DONA_STRING = 'Diagrama de Dona';
32
+ TIPO_GRAFICO = [
33
+ { codigo: this.DIAGRAMA_BARRAS, nombre: this.DIAGRAMA_BARRAS_STRING },
34
+ { codigo: this.DIAGRAMA_BARRAS_HOR, nombre: this.DIAGRAMA_BARRAS_HOR_STRING },
35
+ { codigo: this.DIAGRAMA_TORTA, nombre: this.DIAGRAMA_TORTA_STRING },
36
+ { codigo: this.DIAGRAMA_AREA, nombre: this.DIAGRAMA_AREA_STRING },
37
+ { codigo: this.DIAGRAMA_POLAR, nombre: this.DIAGRAMA_POLAR_STRING },
38
+ { codigo: this.DIAGRAMA_DONA, nombre: this.DIAGRAMA_DONA_STRING },
39
+ { codigo: this.DIAGRAMA_RADAR, nombre: this.DIAGRAMA_RADAR_STRING },
40
+ ];
41
+ BAR = 'bar';
42
+ PIE = 'pie';
43
+ LINE = 'line';
44
+ POLARAREA = 'polarArea';
45
+ DOUGHNUT = 'doughnut';
46
+ RADAR = 'radar';
47
+ TIPO_GRAFICO_CHART = [
48
+ { codigo: this.DIAGRAMA_BARRAS, codigoChart: this.BAR },
49
+ { codigo: this.DIAGRAMA_BARRAS_HOR, codigoChart: this.BAR },
50
+ { codigo: this.DIAGRAMA_TORTA, codigoChart: this.PIE },
51
+ { codigo: this.DIAGRAMA_AREA, codigoChart: this.LINE },
52
+ { codigo: this.DIAGRAMA_POLAR, codigoChart: this.POLARAREA },
53
+ { codigo: this.DIAGRAMA_DONA, codigoChart: this.DOUGHNUT },
54
+ { codigo: this.DIAGRAMA_RADAR, codigoChart: this.RADAR },
55
+ ];
56
+ transform(value, ...args) {
57
+ let result = value;
58
+ if (args[0] == 'listaTipo') {
59
+ this.MAPATIPO.forEach(data => { if (data.codigo === value) {
60
+ result = data.nombre;
61
+ } });
62
+ }
63
+ if (args[0] == 'listaTipoGrafico') {
64
+ this.TIPO_GRAFICO.forEach(data => { if (data.codigo === value) {
65
+ result = data.nombre;
66
+ } });
67
+ }
68
+ return result;
69
+ }
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: DashboardPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
71
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.4", ngImport: i0, type: DashboardPipe, isStandalone: true, name: "dashboardPipe" });
72
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: DashboardPipe, providedIn: 'root' });
73
+ }
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: DashboardPipe, decorators: [{
75
+ type: Pipe,
76
+ args: [{
77
+ name: 'dashboardPipe',
78
+ standalone: true
79
+ }]
80
+ }, {
81
+ type: Injectable,
82
+ args: [{
83
+ providedIn: 'root'
84
+ }]
85
+ }] });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3dlYmNvbW1vbi9waXBlcy9kYXNoYm9hcmQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBVWhFLE1BQU0sT0FBTyxhQUFhO0lBRXpCLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDZCxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDWixNQUFNLEdBQUcsR0FBRyxDQUFDO0lBRWIsV0FBVyxHQUFHLFNBQVMsQ0FBQztJQUN4QixjQUFjLEdBQUcsWUFBWSxDQUFDO0lBQzlCLFNBQVMsR0FBRyxPQUFPLENBQUM7SUFDcEIsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUV0QixRQUFRLEdBQUc7UUFDVixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ2xELEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDeEQsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUM5QyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFO0tBQ2hELENBQUM7SUFFRixlQUFlLEdBQUcsR0FBRyxDQUFDO0lBQ3RCLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztJQUMxQixjQUFjLEdBQUcsR0FBRyxDQUFDO0lBQ3JCLGFBQWEsR0FBRyxHQUFHLENBQUM7SUFDcEIsY0FBYyxHQUFHLEdBQUcsQ0FBQztJQUNyQixjQUFjLEdBQUcsR0FBRyxDQUFDO0lB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QUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtZQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDbEksT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO3VHQW5FVyxhQUFhO3FHQUFiLGFBQWE7MkdBQWIsYUFBYSxjQUZiLE1BQU07OzJGQUVOLGFBQWE7a0JBUnpCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGVBQWU7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7a0JBRUEsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZGFzaGJvYXJkUGlwZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcblxuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG5cdEdSQUZJQ08gPSAnRyc7XG5cdENPTVBPTkVOVEUgPSAnQyc7XG5cdFRBQkxBID0gJ1QnO1xuXHRJRlJBTUUgPSAnSSc7XG5cdFxuXHRERVNDR1JBRklDTyA9ICdHcsOhZmljbyc7XG5cdERFU0NDT01QT05FTlRFID0gJ0NvbXBvbmVudGUnO1xuXHRERVNDVEFCTEEgPSAnVGFibGEnO1xuXHRERVNDSUZSQU1FID0gJ0lmcmFtZSc7XG5cblx0TUFQQVRJUE8gPSBbXG5cdFx0eyBub21icmU6IHRoaXMuREVTQ0dSQUZJQ08sIGNvZGlnbzogdGhpcy5HUkFGSUNPIH0sXG5cdFx0eyBub21icmU6IHRoaXMuREVTQ0NPTVBPTkVOVEUsIGNvZGlnbzogdGhpcy5DT01QT05FTlRFIH0sXG5cdFx0eyBub21icmU6IHRoaXMuREVTQ1RBQkxBLCBjb2RpZ286IHRoaXMuVEFCTEEgfSxcblx0XHR7IG5vbWJyZTogdGhpcy5ERVNDSUZSQU1FLCBjb2RpZ286IHRoaXMuSUZSQU1FIH1cblx0XTtcblxuXHRESUFHUkFNQV9CQVJSQVMgPSAnQic7XG5cdERJQUdSQU1BX0JBUlJBU19IT1IgPSAnSCc7XG5cdERJQUdSQU1BX1RPUlRBID0gJ1QnO1xuXHRESUFHUkFNQV9BUkVBID0gJ0EnO1xuXHRESUFHUkFNQV9SQURBUiA9ICdSJztcblx0RElBR1JBTUFfUE9MQVIgPSAnUCc7XG5cdERJQUdSQU1BX0RPTkEgPSAnRCc7XG5cdERJQUdSQU1BX0JBUlJBU19TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgYmFycmFzIFZlcnRpZmljYWwnO1xuXHRESUFHUkFNQV9CQVJSQVNfSE9SX1NUUklORyA9ICdEaWFncmFtYSBkZSBiYXJyYXMgSG9yaXpvbnRhbCc7XG5cdERJQUdSQU1BX1RPUlRBX1NUUklORyA9ICdEaWFncmFtYSBkZSBUb3J0YSc7XG5cdERJQUdSQU1BX0FSRUFfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIEFyZWEnO1xuXHRESUFHUkFNQV9SQURBUl9TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgUmFkYXInO1xuXHRESUFHUkFNQV9QT0xBUl9TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgUG9sYXInO1xuXHRESUFHUkFNQV9ET05BX1NUUklORyA9ICdEaWFncmFtYSBkZSBEb25hJztcblx0XG5cdFRJUE9fR1JBRklDTyA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9CQVJSQVMsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9CQVJSQVNfU1RSSU5HfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9CQVJSQVNfSE9SLCBub21icmU6IHRoaXMuRElBR1JBTUFfQkFSUkFTX0hPUl9TVFJJTkd9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX1RPUlRBLCBub21icmU6IHRoaXMuRElBR1JBTUFfVE9SVEFfU1RSSU5HfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9BUkVBLCBub21icmU6IHRoaXMuRElBR1JBTUFfQVJFQV9TVFJJTkd9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX1BPTEFSLCBub21icmU6IHRoaXMuRElBR1JBTUFfUE9MQVJfU1RSSU5HfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9ET05BLCBub21icmU6IHRoaXMuRElBR1JBTUFfRE9OQV9TVFJJTkd9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX1JBREFSLCBub21icmU6IHRoaXMuRElBR1JBTUFfUkFEQVJfU1RSSU5HfSxcblx0XTtcblxuXHRCQVIgPSAnYmFyJztcblx0UElFID0gJ3BpZSc7XG5cdExJTkUgPSAnbGluZSc7XG5cdFBPTEFSQVJFQSA9ICdwb2xhckFyZWEnO1xuXHRET1VHSE5VVCA9ICdkb3VnaG51dCc7XG5cdFJBREFSID0gJ3JhZGFyJztcblxuXHRUSVBPX0dSQUZJQ09fQ0hBUlQgPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQkFSUkFTLCBjb2RpZ29DaGFydDogdGhpcy5CQVJ9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX0JBUlJBU19IT1IsIGNvZGlnb0NoYXJ0OiB0aGlzLkJBUn0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfVE9SVEEsIGNvZGlnb0NoYXJ0OiB0aGlzLlBJRX0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQVJFQSwgY29kaWdvQ2hhcnQ6IHRoaXMuTElORSB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX1BPTEFSLCBjb2RpZ29DaGFydDogdGhpcy5QT0xBUkFSRUF9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX0RPTkEsIGNvZGlnb0NoYXJ0OiB0aGlzLkRPVUdITlVUfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9SQURBUiwgY29kaWdvQ2hhcnQ6IHRoaXMuUkFEQVJ9LFxuXHRdO1xuXG5cdHRyYW5zZm9ybSh2YWx1ZTogYW55LCAuLi5hcmdzOiBhbnkpOiBhbnkge1xuXHRcdGxldCByZXN1bHQgPSB2YWx1ZTtcblxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YVRpcG8nKSB7IHRoaXMuTUFQQVRJUE8uZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhVGlwb0dyYWZpY28nKSB7IHRoaXMuVElQT19HUkFGSUNPLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cbn0iXX0=
@@ -141,6 +141,11 @@ export class ReporteFuentePipe {
141
141
  { codigo: this.IMAGEN, nombre: this.IMAGEN_DESC },
142
142
  { codigo: 'G', nombre: 'Grupo' },
143
143
  ];
144
+ RECURSO_GRAFICA = [
145
+ { codigo: this.SERIE, nombre: this.SERIE_STRING },
146
+ { codigo: this.CATEGORIA, nombre: this.CATEGORIA_STRING },
147
+ { codigo: this.VALOR, nombre: this.VALOR_STRING },
148
+ ];
144
149
  /* ======================================
145
150
  * Formatos de generacion de reportes
146
151
  * ====================================== */
@@ -293,4 +298,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
293
298
  providedIn: 'root'
294
299
  }]
295
300
  }] });
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0ZS1mdWVudGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvd2ViY29tbW9uL3BpcGVzL3JlcG9ydGUtZnVlbnRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVVoRSxNQUFNLE9BQU8saUJBQWlCO0lBRTdCLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDVixNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ2IsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUVYLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUN2QixTQUFTLEdBQUcsTUFBTSxDQUFDO0lBRW5CLFVBQVUsR0FBRztRQUNaLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDM0MsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNqRCxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO0tBQzdDLENBQUE7SUFFRCxzQkFBc0IsR0FBRztRQUN4QixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO0tBQ2pELENBQUE7SUFFRCxzQkFBc0IsR0FBRyxHQUFHLENBQUM7SUFDN0IsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUNwQixnQkFBZ0IsR0FBRyxHQUFHLENBQUM7SUFFdkIsYUFBYSxHQUFHO1FBQ2YsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxzQ0FBc0MsRUFBRTtRQUN2RixFQUFF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QSxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRuYW1lOiAncmVwb3J0ZUZ1ZW50ZVBpcGUnXG59KVxuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnRlRnVlbnRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG5cdFNRTCA9ICdTJztcblx0RlVFTlRFID0gJ0YnO1xuXHRGSUpPID0gJ0knO1xuXG5cdFNRTF9ERVNDID0gJ1NRTCc7XG5cdEZVRU5URV9ERVNDID0gJ0Z1ZW50ZSc7XG5cdEZJSk9fREVTQyA9ICdGaWpvJztcblxuXHRMSVNUQV9USVBPID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLlNRTCwgbm9tYnJlOiB0aGlzLlNRTF9ERVNDIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRlVFTlRFLCBub21icmU6IHRoaXMuRlVFTlRFX0RFU0MgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5GSUpPLCBub21icmU6IHRoaXMuRklKT19ERVNDIH1cblx0XVxuXG5cdExJU1RBX1RJUE9fU0lOX1BFUk1JU08gPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuRlVFTlRFLCBub21icmU6IHRoaXMuRlVFTlRFX0RFU0MgfSxcblx0XVxuXG5cdE1PTUVOVE9TX1NFR1VORE9fUExBTk8gPSAnUyc7XG5cdE1PTUVOVE9TX0hJTE8gPSAnSCc7XG5cdE1PTUVOVE9TX1NJTkhJTE8gPSAnRCc7XG5cblx0TElTVEFfTU9NRU5UTyA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5NT01FTlRPU19TRUdVTkRPX1BMQU5PLCBub21icmU6ICdTZSBwZXJtaXRlIGVqZWN1dGFyIGVuIHNlZ3VuZG8gcGxhbm8nIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTU9NRU5UT1NfSElMTywgbm9tYnJlOiAnRWplY3V0YXIgc2luIGxpbWl0ZSBkZSB0aWVtcG8nIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTU9NRU5UT1NfU0lOSElMTywgbm9tYnJlOiAnRWplY3V0YXIgbGltaXRlIGRlIHRpZW1wbyBkZSBsYSBzZXNpb24nIH1cblx0XVxuXG5cdFRJUE9fTlVNRVJPID0gJ04nO1xuXHRUSVBPX0JJR0RFQ0lNQUwgPSAnQic7XG5cdFRJUE9fRkVDSEEgPSAnRic7XG5cdFRJUE9fVEVYVE8gPSAnVCc7XG5cdFRJUE9fVEVYVE9fU0VSSUUgPSAnRSc7XG5cdFRJUE9fTlVNRVJPX1NFUklFID0gJ1UnO1xuXG5cdFRJUE9TX0RBVE8gPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19GRUNIQSwgbm9tYnJlOiAnRmVjaGEnIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19OVU1FUk8sIG5vbWJyZTogJ051bWVybyBFbnRlcm8nIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19CSUdERUNJTUFMLCBub21icmU6ICdOdW1lcm8gRGVjaW1hbCcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX1RFWFRPLCBub21icmU6ICdUZXh0bycgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX1RFWFRPX1NFUklFLCBub21icmU6ICdTZXJpZSBUZXh0bycgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX05VTUVST19TRVJJRSwgbm9tYnJlOiAnU2VyaWUgTnVtZXJvJyB9LFxuXHRdXG5cblx0VElQT19ESVJFQ1RPID0gJ0QnO1xuXHRUSVBPX0xJU1RBID0gJ0wnO1xuXHRUSVBPU19FTlRSQURBID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLlRJUE9fRElSRUNUTywgbm9tYnJlOiAnRGlyZWN0bycgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX0xJU1RBLCBub21icmU6ICdMaXN0YScgfSxcblx0XVxuXG5cdFRJUE9TX0RBVE9fQ09MVU1OQSA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX0ZFQ0hBLCBub21icmU6ICdGZWNoYScgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX05VTUVSTywgbm9tYnJlOiAnTnVtZXJvJyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLlRJUE9fVEVYVE8sIG5vbWJyZTogJ1RleHRvJyB9LFxuXHRdXG5cblx0TUFSQ0FET1IgPSAnTUEnO1xuXHRNQVJDQURPUlJFR0lTVFJPID0gJ01SJztcblx0TUFSQ0FET1JUQUJMQSA9ICdUQic7XG5cdE1BUkNBRE9SSU1BR0VOID0gJ0lNJztcblx0TUFSQ0FET1JJTUFHRU5GSUpBID0gJ0lGJztcblx0TUFSQ0FET1JURVhUT1BMQU5PID0gJ1RQJztcblx0TUFSQ0FET1JRUiA9ICdRUic7XG5cdE1BUkNBRE9SQkFSQ09ERSA9ICdCQyc7XG5cdE1BUkNBRE9SQkFSQ09ERUdTMV8xMjggPSAnRzEnO1xuXG5cdERFU01BUkNBRE9SID0gJ01hcmNhZG9yJztcblx0REVTTUFSQ0FET1JSRUdJU1RSTyA9ICdNYXJjYWRvciBSZWdpc3Rybyc7XG5cdERFU01BUkNBRE9SVEFCTEEgPSAnVGFibGEnO1xuXHRERVNNQVJDQURPUklNQUdFTiA9ICdJbWFnZW4nO1xuXHRERVNNQVJDQURPUklNQUdFTkZJSkEgPSAnSW1hZ2VuIEZpamEnO1xuXHRERVNNQVJDQURPUlFSID0gJ0ltYWdlbiBRUic7XG5cdERFU01BUkNBRE9SQkFSQ09ERSA9ICdJbWFnZW4gQ29kaWdvIEJhcnJhIDEyOCc7XG5cdERFU01BUkNBRE9SQkFSQ09ERUdTMV8xMjggPSAnSW1hZ2VuIENvZGlnbyBCYXJyYSBHUzEgLSAxMjgnO1xuXG5cdExJU1RBX01BUkNBRE9SRVMgPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1IsIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUiB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SUkVHSVNUUk8sIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUlJFR0lTVFJPIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JUQUJMQSwgbm9tYnJlOiB0aGlzLkRFU01BUkNBRE9SVEFCTEEgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUklNQUdFTiwgbm9tYnJlOiB0aGlzLkRFU01BUkNBRE9SSU1BR0VOIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JJTUFHRU5GSUpBLCBub21icmU6IHRoaXMuREVTTUFSQ0FET1JJTUFHRU5GSUpBIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JRUiwgbm9tYnJlOiB0aGlzLkRFU01BUkNBRE9SUVIgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUkJBUkNPREUsIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUkJBUkNPREUgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUkJBUkNPREVHUzFfMTI4LCBub21icmU6IHRoaXMuREVTTUFSQ0FET1JCQVJDT0RFR1MxXzEyOCB9LFxuXHRdXG5cblx0TElTVEFfTUFSQ0FET1JFU19YTUwgPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1IsIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUiB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SUkVHSVNUUk8sIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUlJFR0lTVFJPIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JUQUJMQSwgbm9tYnJlOiB0aGlzLkRFU01BUkNBRE9SVEFCTEEgfSxcblx0XVxuXG5cdERJQUdSQU1BX0JBUlJBUyA9ICdCJztcblx0RElBR1JBTUFfQkFSUkFTX0hPUiA9ICdIJztcblx0RElBR1JBTUFfVE9SVEEgPSAnVCc7XG5cdERJQUdSQU1BX0FSRUEgPSAnQSc7XG5cdERJQUdSQU1BX1JBREFSID0gJ1InO1xuXHRESUFHUkFNQV9QT0xBUiA9ICdQJztcblx0RElBR1JBTUFfRE9OQSA9ICdEJztcblx0RElBR1JBTUFfQkFSUkFTX1NUUklORyA9ICdEaWFncmFtYSBkZSBiYXJyYXMgVmVydGlmaWNhbCc7XG5cdERJQUdSQU1BX0JBUlJBU19IT1JfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIGJhcnJhcyBIb3Jpem9udGFsJztcblx0RElBR1JBTUFfVE9SVEFfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIFRvcnRhJztcblx0RElBR1JBTUFfQVJFQV9TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgQXJlYSc7XG5cdERJQUdSQU1BX1JBREFSX1NUUklORyA9ICdEaWFncmFtYSBkZSBSYWRhcic7XG5cdERJQUdSQU1BX1BPTEFSX1NUUklORyA9ICdEaWFncmFtYSBkZSBQb2xhcic7XG5cdERJQUdSQU1BX0RPTkFfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIERvbmEnO1xuXG5cdExJU1RBX1RJUE9fR1JBRklDTyA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9CQVJSQVMsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9CQVJSQVNfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQkFSUkFTX0hPUiwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0JBUlJBU19IT1JfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfVE9SVEEsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9UT1JUQV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9BUkVBLCBub21icmU6IHRoaXMuRElBR1JBTUFfQVJFQV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9QT0xBUiwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX1BPTEFSX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX0RPTkEsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9ET05BX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX1JBREFSLCBub21icmU6IHRoaXMuRElBR1JBTUFfUkFEQVJfU1RSSU5HIH0sXG5cdF1cblxuXHRESUFHUkFNQV9MSU5FQSA9ICdMJztcblx0RElBR1JBTUFfSElTVE9HUkFNQSA9ICdIJztcblx0RElBR1JBTUFfRElGRVJFTkNJQSA9ICdEJztcblx0RElBR1JBTUFfQkFSUkFfSE9SSVpPTlRBTCA9ICdaJztcblx0RElBR1JBTUFfQkFSUkFfRVNDQUxBX0hPUklaT05UQUwgPSAnRSc7XG5cdERJQUdSQU1BX0JBUlJBX0VTQ0FMQV9WRVJUSUNBTCA9ICdWJztcblx0RElBR1JBTUFfTElORUFfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIGxpbmVhJztcblx0RElBR1JBTUFfSElTVE9HUkFNQV9TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgSGlzdG9ncmFtYSc7XG5cdERJQUdSQU1BX0RJRkVSRU5DSUFfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIERpZmVyZW5jaWEnO1xuXHRESUFHUkFNQV9CQVJSQV9IT1JJWk9OVEFMX1NUUklORyA9ICdEaWFncmFtYSBkZSBCYXJyYXMgSG9yaXpvbnRhbCc7XG5cdERJQUdSQU1BX0JBUlJBX0VTQ0FMQV9TVFJJTkcgPSAnRGlhZ3JhbWEgaG9yaXpvbnRhbCBkZSBCYXJyYXMgY29uIGVzY2FsYSc7XG5cdERJQUdSQU1BX0JBUlJBX0VTQ0FMQV9WRVJUSUNBTF9TVFJJTkcgPSAnRGlhZ3JhbWEgdmVydGljYWwgZGUgQmFycmFzIGNvbiBlc2NhbGEnO1xuXG5cdExJU1RBX1RJUE9fR1JBRklDT19KRkMgPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQkFSUkFTLCBub21icmU6IHRoaXMuRElBR1JBTUFfQkFSUkFTX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX1RPUlRBLCBub21icmU6IHRoaXMuRElBR1JBTUFfVE9SVEFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQVJFQSwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0FSRUFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfTElORUEsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9MSU5FQV9TVFJJTkcgfSxcblx0XHQvL3tjb2RpZ286IHRoaXMuRElBR1JBTUFfSElTVE9HUkFNQSwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0hJU1RPR1JBTUFfU1RSSU5HfSwgLy9UT0RPIGFqdXN0YXIgZW4gRWplY3VjaW9uIFJlcG9ydGVcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9ESUZFUkVOQ0lBLCBub21icmU6IHRoaXMuRElBR1JBTUFfRElGRVJFTkNJQV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9CQVJSQV9IT1JJWk9OVEFMLCBub21icmU6IHRoaXMuRElBR1JBTUFfQkFSUkFfSE9SSVpPTlRBTF9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9CQVJSQV9FU0NBTEFfSE9SSVpPTlRBTCwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0JBUlJBX0VTQ0FMQV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9CQVJSQV9FU0NBTEFfVkVSVElDQUwsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9CQVJSQV9FU0NBTEFfVkVSVElDQUxfU1RSSU5HIH0sXG5cdF1cblxuXHRTRVJJRSA9ICdTJztcblx0Q0FURUdPUklBID0gJ0MnO1xuXHRWQUxPUiA9ICdWJztcblx0SU1BR0VOID0gJ0knO1xuXHRTRVJJRV9TVFJJTkcgPSAnU2VyaWUnO1xuXHRDQVRFR09SSUFfU1RSSU5HID0gJ0NhdGVnb3JpYSc7XG5cdFZBTE9SX1NUUklORyA9ICdWYWxvcic7XG5cdElNQUdFTl9ERVNDID0gJ0ltYWdlbic7XG5cblxuXHRMSVNUQV9SRUNVUlNPX0dSQUZJQ0EgPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuU0VSSUUsIG5vbWJyZTogdGhpcy5TRVJJRV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5DQVRFR09SSUEsIG5vbWJyZTogdGhpcy5DQVRFR09SSUFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVkFMT1IsIG5vbWJyZTogdGhpcy5WQUxPUl9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5JTUFHRU4sIG5vbWJyZTogdGhpcy5JTUFHRU5fREVTQyB9LFxuXHRcdHsgY29kaWdvOiAnRycsIG5vbWJyZTogJ0dydXBvJyB9LFxuXHRdXG5cblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0ICogICBGb3JtYXRvcyBkZSBnZW5lcmFjaW9uIGRlIHJlcG9ydGVzIFxuXHQgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHRHRU5FUkFDSU9OX0pBU1BFUkRJTkFNSUNPID0gJ0QnO1xuXHRERVNDX0dFTkVSQUNJT05fSkFTUEVSRElOQU1JQ08gPSAnSmFzcGVyIGRpbmFtaWNvJztcblxuXHRHRU5FUkFDSU9OX0pBU1BFUkZJSk8gPSAnRic7XG5cdERFU0NfR0VORVJBQ0lPTl9KQVNQRVJGSUpPID0gJ0phc3BlciBmaWpvJztcblxuXHRHRU5FUkFDSU9OX0VYQ0VMID0gJ0UnO1xuXHRERVNDX0dFTkVSQUNJT05fRVhDRUwgPSAnRXhjZWwnO1xuXG5cdEdFTkVSQUNJT05fWE1MID0gJ1gnO1xuXHRERVNDX0dFTkVSQUNJT05fWE1MID0gJ0FyY2hpdm8geG1sJztcblxuXHRHRU5FUkFDSU9OX1BMQU5USUxMQSA9ICdXJztcblx0REVTQ19HRU5FUkFDSU9OX1BMQU5USUxMQSA9ICdQbGFudGlsbGEnO1xuXG5cdEdFTkVSQUNJT05fQVJDSElWT1BMQU5PID0gJ1QnO1xuXHRERVNDX0dFTkVSQUNJT05fQVJDSElWT1BMQU5PID0gJ0FyY2hpdm8gUGxhbm8nO1xuXG5cdEdFTkVSQUNJT05fVEFCTEEgPSAnQSc7XG5cdERFU0NfR0VORVJBQ0lPTl9UQUJMQSA9ICdUYWJsYSc7XG5cblx0R0VORVJBQ0lPTl9DT0xVTU5BUklPID0gJ0MnO1xuXHRERVNDX0dFTkVSQUNJT05fQ09MVU1OQVJJTyA9ICdDb2x1bW5hcmlvJztcblxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQgKiAgT3BlcmFjaW9uZXMgc29icmUgcmVwb3J0ZXMgZ2VuZXJhZG9zIFxuXHQgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdE9QRVJBQ0lPTl9ERVNDQVJHQVIgPSAnRCc7XG5cdERFU0NfT1BFUkFDSU9OX0RFU0NBUkdBUiA9ICdEZXNjYXJnYXInO1xuXG5cdE9QRVJBQ0lPTl9FTlZJQVJDT1JSRU8gPSAnRSc7XG5cdERFU0NfT1BFUkFDSU9OX0VOVklBUkNPUlJFTyA9ICdFbnZpYXIgY29ycmVvJztcblxuXHRPUEVSQUNJT05fRU5WSU9NQVNJVk8gPSAnTSc7XG5cdERFU0NfT1BFUkFDSU9OX0VOVklPTUFTSVZPID0gJ0VudmlvIG1hc2l2byc7XG5cblx0T1BFUkFDSU9OX0NPUlJFT1BVQkxJQ0FSID0gJ01QJztcblx0REVTQ19PUEVSQUNJT05fQ09SUkVPUFVCTElDQVIgPSAnRW52aWFyIHkgUHVibGljYXIgTWFzaXZvJztcblxuXHRPUEVSQUNJT05fUFVCTElDQVIgPSAnUCc7XG5cdERFU0NfT1BFUkFDSU9OX1BVQkxJQ0FSID0gJ1B1YmxpY2FyJztcblxuXHRPUEVSQUNJT05fUFJPQ0VTT19FWFRFUk5PID0gJ1gnO1xuXHRERVNDX09QRVJBQ0lPTl9QUk9DRVNPX0VYVEVSTk8gPSAnUHJvY2VzbyBFeHRlcm5vJztcblxuXHRQQVJBTUVUUk9fRU5UUkFEQV9DT0RFTVBSRVNBID0gJ2NvZGVtcHJlc2EnO1xuXHRQQVJBTUVUUk9fRU5UUkFEQV9DRURVTEEgPSAnY2VkdWxhJztcblx0UEFSQU1FVFJPX0VOVFJBREFfQ09OVFJBVE8gPSAnY29udHJhdG8nO1xuXG5cdFBBUkFNRVRST19FTlRSQURBX0xPR0lOID0gJ2xvZ2luJztcblx0UEFSQU1FVFJPX0VOVFJBREFfUk9MID0gJ3JvbCc7XG5cblx0UEFSQU1FVFJPX05VTUVST19MSVFVSURBQ0lPTl9QRVJJT0RJQ0EgPSAnbnVtZXJvJztcblxuXHRPUEVSQUNJT05fU0VHVU5ET1BMQU5PID0gJ1MnO1xuXHRERVNDX09QRVJBQ0lPTl9TRUdVTkRPUExBTk8gPSAnU2VndW5kbyBQbGFubyc7XG5cblx0TUFQQV9USVBPX0FSQ0hJVk9TID0gW1xuXHRcdHsgY29kaWdvOiAnaHRtbCcsIG5vbWJyZTogJ2h0bWwnIH0sXG5cdFx0eyBjb2RpZ286ICd4bWwnLCBub21icmU6ICd4bWwnIH0sXG5cdFx0eyBjb2RpZ286ICd4bHMnLCBub21icmU6ICd4bHMnIH0sXG5cdFx0eyBjb2RpZ286ICdwZGYnLCBub21icmU6ICdwZGYnIH0sXG5cdFx0eyBjb2RpZ286ICdjc3YnLCBub21icmU6ICdjc3YnIH0sXG5cdFx0eyBjb2RpZ286ICd0eHQnLCBub21icmU6ICd0eHQnIH0sXG5cdF1cblxuXHRNT0RPX1BBUkFNRVRSTyA9ICdQJztcblx0TU9ET19EQVRPUyA9ICdEJztcblxuXHRERVNfTU9ET19QQVJBTUVUUk8gPSAnUGFyYW1ldHJvJztcblx0REVTX01PRE9fREFUT1MgPSAnRGF0b3MnO1xuXG5cdE1PRE9TID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLk1PRE9fUEFSQU1FVFJPLCBub21icmU6IHRoaXMuREVTX01PRE9fUEFSQU1FVFJPIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTU9ET19EQVRPUywgbm9tYnJlOiB0aGlzLkRFU19NT0RPX0RBVE9TIH0sXG5cdF1cblxuXHRJWlFVSUVSREEgPSAnSSc7XG5cdERFUkVDSEEgPSAnRCc7XG5cdENFTlRSTyA9ICdDJztcblx0SlVTVElGSUNBRE8gPSAnSic7XG5cblx0SVpRVUlFUkRBX0RFU0MgPSAnSXpxdWllcmRhJztcblx0REVSRUNIQV9ERVNDID0gJ0RlcmVjaGEnO1xuXHRDRU5UUk9fREVTQyA9ICdDZW50cm8nO1xuXHRKVVNUSUZJQ0FET19ERVNDID0gJ0p1c3RpZmljYWRvJztcblxuXHRMSVNUQV9BTElORUFDSU9OID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLklaUVVJRVJEQSwgbm9tYnJlOiB0aGlzLklaUVVJRVJEQV9ERVNDIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuREVSRUNIQSwgbm9tYnJlOiB0aGlzLkRFUkVDSEFfREVTQyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkNFTlRSTywgbm9tYnJlOiB0aGlzLkNFTlRST19ERVNDIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuSlVTVElGSUNBRE8sIG5vbWJyZTogdGhpcy5KVVNUSUZJQ0FET19ERVNDIH1cblx0XVxuXG5cdC8vVGlwbyBNYXJjYWRvcmVzIFRleHRvXG5cdE1BUkNBRE9SVEVYVE9GSUpPID0gJ0YnO1xuXHRNQVJDQURPUlRFWFRPRElOQU1JQ08gPSAnRCc7XG5cblx0TUFSQ0FET1JURVhUT0ZJSk9fREVTQyA9ICdGaWpvJztcblx0TUFSQ0FET1JURVhUT0RJTkFNSUNPX0RFU0MgPSAnQ29sdW1uYSc7XG5cblx0UkVQT1JURUFSQ0hJVk9QTEFOTyA9ICdUJztcblx0VElQT01BUkNBRE9SRVNURVhUTyA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUlRFWFRPRklKTywgbm9tYnJlOiB0aGlzLk1BUkNBRE9SVEVYVE9GSUpPX0RFU0MgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUlRFWFRPRElOQU1JQ08sIG5vbWJyZTogdGhpcy5NQVJDQURPUlRFWFRPRElOQU1JQ09fREVTQyB9XG5cdF1cblxuXHR0cmFuc2Zvcm0odmFsdWU6IGFueSwgLi4uYXJnczogYW55KTogYW55IHtcblx0XHRsZXQgcmVzdWx0ID0gdmFsdWU7XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhVGlwbycpIHsgdGhpcy5MSVNUQV9USVBPLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YU1vbWVudG8nKSB7IHRoaXMuTElTVEFfTU9NRU5UTy5mb3JFYWNoKGRhdGEgPT4geyBpZiAoZGF0YS5jb2RpZ28gPT09IHZhbHVlKSB7IHJlc3VsdCA9IGRhdGEubm9tYnJlIH0gfSk7IH1cblx0XHRpZiAoYXJnc1swXSA9PSAnbGlzdGFUaXBvRGF0bycpIHsgdGhpcy5USVBPU19EQVRPLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YVRpcG9EYXRvQ29sdW1uYScpIHsgdGhpcy5USVBPU19EQVRPX0NPTFVNTkEuZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhVGlwb0RhdG9NYXJjYWRvcmVzJykgeyB0aGlzLkxJU1RBX01BUkNBRE9SRVMuZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhVGlwb0dyYWZpY28nKSB7IHRoaXMuTElTVEFfVElQT19HUkFGSUNPLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YVRpcG9HcmFmaWNvSkZDJykgeyB0aGlzLkxJU1RBX1RJUE9fR1JBRklDT19KRkMuZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhUmVjdXJzb0dyYWZpY2EnKSB7IHRoaXMuTElTVEFfUkVDVVJTT19HUkFGSUNBLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YUFsaW5lYWNpb24nKSB7IHRoaXMuTElTVEFfQUxJTkVBQ0lPTi5mb3JFYWNoKGRhdGEgPT4geyBpZiAoZGF0YS5jb2RpZ28gPT09IHZhbHVlKSB7IHJlc3VsdCA9IGRhdGEubm9tYnJlIH0gfSk7IH1cblx0XHRpZiAoYXJnc1swXSA9PSAnbGlzdGFUaXBvTWFyY2Fkb3Jlc1RleHRvJykgeyB0aGlzLlRJUE9NQVJDQURPUkVTVEVYVE8uZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cbn1cbiJdfQ==
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0ZS1mdWVudGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvd2ViY29tbW9uL3BpcGVzL3JlcG9ydGUtZnVlbnRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVVoRSxNQUFNLE9BQU8saUJBQWlCO0lBRTdCLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDVixNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ2IsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUVYLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUN2QixTQUFTLEdBQUcsTUFBTSxDQUFDO0lBRW5CLFVBQVUsR0FBRztRQUNaLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDM0MsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNqRCxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO0tBQzdDLENBQUE7SUFFRCxzQkFBc0IsR0FBRztRQUN4QixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO0tBQ2pELENBQUE7SUFFRCxzQkFBc0IsR0FBRyxHQUFHLENBQUM7SUFDN0IsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUNwQixnQkFBZ0IsR0FBRyxHQUFHLENBQUM7SUFFdkIsYUFBYSxHQUFHO1FBQ2YsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxzQ0FBc0MsRUFBRTtRQUN2RixFQUFF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QU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1lBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUVqSixPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7dUdBclNXLGlCQUFpQjtxR0FBakIsaUJBQWlCOzJHQUFqQixpQkFBaUIsY0FGakIsTUFBTTs7MkZBRU4saUJBQWlCO2tCQVI3QixJQUFJO21CQUFDO29CQUNMLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsbUJBQW1CO2lCQUN6Qjs7a0JBRUEsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0bmFtZTogJ3JlcG9ydGVGdWVudGVQaXBlJ1xufSlcblxuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0ZUZ1ZW50ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuXHRTUUwgPSAnUyc7XG5cdEZVRU5URSA9ICdGJztcblx0RklKTyA9ICdJJztcblxuXHRTUUxfREVTQyA9ICdTUUwnO1xuXHRGVUVOVEVfREVTQyA9ICdGdWVudGUnO1xuXHRGSUpPX0RFU0MgPSAnRmlqbyc7XG5cblx0TElTVEFfVElQTyA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5TUUwsIG5vbWJyZTogdGhpcy5TUUxfREVTQyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkZVRU5URSwgbm9tYnJlOiB0aGlzLkZVRU5URV9ERVNDIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRklKTywgbm9tYnJlOiB0aGlzLkZJSk9fREVTQyB9XG5cdF1cblxuXHRMSVNUQV9USVBPX1NJTl9QRVJNSVNPID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLkZVRU5URSwgbm9tYnJlOiB0aGlzLkZVRU5URV9ERVNDIH0sXG5cdF1cblxuXHRNT01FTlRPU19TRUdVTkRPX1BMQU5PID0gJ1MnO1xuXHRNT01FTlRPU19ISUxPID0gJ0gnO1xuXHRNT01FTlRPU19TSU5ISUxPID0gJ0QnO1xuXG5cdExJU1RBX01PTUVOVE8gPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuTU9NRU5UT1NfU0VHVU5ET19QTEFOTywgbm9tYnJlOiAnU2UgcGVybWl0ZSBlamVjdXRhciBlbiBzZWd1bmRvIHBsYW5vJyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1PTUVOVE9TX0hJTE8sIG5vbWJyZTogJ0VqZWN1dGFyIHNpbiBsaW1pdGUgZGUgdGllbXBvJyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1PTUVOVE9TX1NJTkhJTE8sIG5vbWJyZTogJ0VqZWN1dGFyIGxpbWl0ZSBkZSB0aWVtcG8gZGUgbGEgc2VzaW9uJyB9XG5cdF1cblxuXHRUSVBPX05VTUVSTyA9ICdOJztcblx0VElQT19CSUdERUNJTUFMID0gJ0InO1xuXHRUSVBPX0ZFQ0hBID0gJ0YnO1xuXHRUSVBPX1RFWFRPID0gJ1QnO1xuXHRUSVBPX1RFWFRPX1NFUklFID0gJ0UnO1xuXHRUSVBPX05VTUVST19TRVJJRSA9ICdVJztcblxuXHRUSVBPU19EQVRPID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLlRJUE9fRkVDSEEsIG5vbWJyZTogJ0ZlY2hhJyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLlRJUE9fTlVNRVJPLCBub21icmU6ICdOdW1lcm8gRW50ZXJvJyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLlRJUE9fQklHREVDSU1BTCwgbm9tYnJlOiAnTnVtZXJvIERlY2ltYWwnIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19URVhUTywgbm9tYnJlOiAnVGV4dG8nIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19URVhUT19TRVJJRSwgbm9tYnJlOiAnU2VyaWUgVGV4dG8nIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19OVU1FUk9fU0VSSUUsIG5vbWJyZTogJ1NlcmllIE51bWVybycgfSxcblx0XVxuXG5cdFRJUE9fRElSRUNUTyA9ICdEJztcblx0VElQT19MSVNUQSA9ICdMJztcblx0VElQT1NfRU5UUkFEQSA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX0RJUkVDVE8sIG5vbWJyZTogJ0RpcmVjdG8nIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19MSVNUQSwgbm9tYnJlOiAnTGlzdGEnIH0sXG5cdF1cblxuXHRUSVBPU19EQVRPX0NPTFVNTkEgPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19GRUNIQSwgbm9tYnJlOiAnRmVjaGEnIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19OVU1FUk8sIG5vbWJyZTogJ051bWVybycgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX1RFWFRPLCBub21icmU6ICdUZXh0bycgfSxcblx0XVxuXG5cdE1BUkNBRE9SID0gJ01BJztcblx0TUFSQ0FET1JSRUdJU1RSTyA9ICdNUic7XG5cdE1BUkNBRE9SVEFCTEEgPSAnVEInO1xuXHRNQVJDQURPUklNQUdFTiA9ICdJTSc7XG5cdE1BUkNBRE9SSU1BR0VORklKQSA9ICdJRic7XG5cdE1BUkNBRE9SVEVYVE9QTEFOTyA9ICdUUCc7XG5cdE1BUkNBRE9SUVIgPSAnUVInO1xuXHRNQVJDQURPUkJBUkNPREUgPSAnQkMnO1xuXHRNQVJDQURPUkJBUkNPREVHUzFfMTI4ID0gJ0cxJztcblxuXHRERVNNQVJDQURPUiA9ICdNYXJjYWRvcic7XG5cdERFU01BUkNBRE9SUkVHSVNUUk8gPSAnTWFyY2Fkb3IgUmVnaXN0cm8nO1xuXHRERVNNQVJDQURPUlRBQkxBID0gJ1RhYmxhJztcblx0REVTTUFSQ0FET1JJTUFHRU4gPSAnSW1hZ2VuJztcblx0REVTTUFSQ0FET1JJTUFHRU5GSUpBID0gJ0ltYWdlbiBGaWphJztcblx0REVTTUFSQ0FET1JRUiA9ICdJbWFnZW4gUVInO1xuXHRERVNNQVJDQURPUkJBUkNPREUgPSAnSW1hZ2VuIENvZGlnbyBCYXJyYSAxMjgnO1xuXHRERVNNQVJDQURPUkJBUkNPREVHUzFfMTI4ID0gJ0ltYWdlbiBDb2RpZ28gQmFycmEgR1MxIC0gMTI4JztcblxuXHRMSVNUQV9NQVJDQURPUkVTID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SLCBub21icmU6IHRoaXMuREVTTUFSQ0FET1IgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUlJFR0lTVFJPLCBub21icmU6IHRoaXMuREVTTUFSQ0FET1JSRUdJU1RSTyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SVEFCTEEsIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUlRBQkxBIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JJTUFHRU4sIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUklNQUdFTiB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SSU1BR0VORklKQSwgbm9tYnJlOiB0aGlzLkRFU01BUkNBRE9SSU1BR0VORklKQSB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SUVIsIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUlFSIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JCQVJDT0RFLCBub21icmU6IHRoaXMuREVTTUFSQ0FET1JCQVJDT0RFIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JCQVJDT0RFR1MxXzEyOCwgbm9tYnJlOiB0aGlzLkRFU01BUkNBRE9SQkFSQ09ERUdTMV8xMjggfSxcblx0XVxuXG5cdExJU1RBX01BUkNBRE9SRVNfWE1MID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SLCBub21icmU6IHRoaXMuREVTTUFSQ0FET1IgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUlJFR0lTVFJPLCBub21icmU6IHRoaXMuREVTTUFSQ0FET1JSRUdJU1RSTyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SVEFCTEEsIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUlRBQkxBIH0sXG5cdF1cblxuXHRESUFHUkFNQV9CQVJSQVMgPSAnQic7XG5cdERJQUdSQU1BX0JBUlJBU19IT1IgPSAnSCc7XG5cdERJQUdSQU1BX1RPUlRBID0gJ1QnO1xuXHRESUFHUkFNQV9BUkVBID0gJ0EnO1xuXHRESUFHUkFNQV9SQURBUiA9ICdSJztcblx0RElBR1JBTUFfUE9MQVIgPSAnUCc7XG5cdERJQUdSQU1BX0RPTkEgPSAnRCc7XG5cdERJQUdSQU1BX0JBUlJBU19TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgYmFycmFzIFZlcnRpZmljYWwnO1xuXHRESUFHUkFNQV9CQVJSQVNfSE9SX1NUUklORyA9ICdEaWFncmFtYSBkZSBiYXJyYXMgSG9yaXpvbnRhbCc7XG5cdERJQUdSQU1BX1RPUlRBX1NUUklORyA9ICdEaWFncmFtYSBkZSBUb3J0YSc7XG5cdERJQUdSQU1BX0FSRUFfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIEFyZWEnO1xuXHRESUFHUkFNQV9SQURBUl9TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgUmFkYXInO1xuXHRESUFHUkFNQV9QT0xBUl9TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgUG9sYXInO1xuXHRESUFHUkFNQV9ET05BX1NUUklORyA9ICdEaWFncmFtYSBkZSBEb25hJztcblxuXHRMSVNUQV9USVBPX0dSQUZJQ08gPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQkFSUkFTLCBub21icmU6IHRoaXMuRElBR1JBTUFfQkFSUkFTX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX0JBUlJBU19IT1IsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9CQVJSQVNfSE9SX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX1RPUlRBLCBub21icmU6IHRoaXMuRElBR1JBTUFfVE9SVEFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQVJFQSwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0FSRUFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfUE9MQVIsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9QT0xBUl9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9ET05BLCBub21icmU6IHRoaXMuRElBR1JBTUFfRE9OQV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9SQURBUiwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX1JBREFSX1NUUklORyB9LFxuXHRdXG5cblx0RElBR1JBTUFfTElORUEgPSAnTCc7XG5cdERJQUdSQU1BX0hJU1RPR1JBTUEgPSAnSCc7XG5cdERJQUdSQU1BX0RJRkVSRU5DSUEgPSAnRCc7XG5cdERJQUdSQU1BX0JBUlJBX0hPUklaT05UQUwgPSAnWic7XG5cdERJQUdSQU1BX0JBUlJBX0VTQ0FMQV9IT1JJWk9OVEFMID0gJ0UnO1xuXHRESUFHUkFNQV9CQVJSQV9FU0NBTEFfVkVSVElDQUwgPSAnVic7XG5cdERJQUdSQU1BX0xJTkVBX1NUUklORyA9ICdEaWFncmFtYSBkZSBsaW5lYSc7XG5cdERJQUdSQU1BX0hJU1RPR1JBTUFfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIEhpc3RvZ3JhbWEnO1xuXHRESUFHUkFNQV9ESUZFUkVOQ0lBX1NUUklORyA9ICdEaWFncmFtYSBkZSBEaWZlcmVuY2lhJztcblx0RElBR1JBTUFfQkFSUkFfSE9SSVpPTlRBTF9TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgQmFycmFzIEhvcml6b250YWwnO1xuXHRESUFHUkFNQV9CQVJSQV9FU0NBTEFfU1RSSU5HID0gJ0RpYWdyYW1hIGhvcml6b250YWwgZGUgQmFycmFzIGNvbiBlc2NhbGEnO1xuXHRESUFHUkFNQV9CQVJSQV9FU0NBTEFfVkVSVElDQUxfU1RSSU5HID0gJ0RpYWdyYW1hIHZlcnRpY2FsIGRlIEJhcnJhcyBjb24gZXNjYWxhJztcblxuXHRMSVNUQV9USVBPX0dSQUZJQ09fSkZDID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX0JBUlJBUywgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0JBUlJBU19TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9UT1JUQSwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX1RPUlRBX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX0FSRUEsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9BUkVBX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX0xJTkVBLCBub21icmU6IHRoaXMuRElBR1JBTUFfTElORUFfU1RSSU5HIH0sXG5cdFx0Ly97Y29kaWdvOiB0aGlzLkRJQUdSQU1BX0hJU1RPR1JBTUEsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9ISVNUT0dSQU1BX1NUUklOR30sIC8vVE9ETyBhanVzdGFyIGVuIEVqZWN1Y2lvbiBSZXBvcnRlXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfRElGRVJFTkNJQSwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0RJRkVSRU5DSUFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQkFSUkFfSE9SSVpPTlRBTCwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0JBUlJBX0hPUklaT05UQUxfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQkFSUkFfRVNDQUxBX0hPUklaT05UQUwsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9CQVJSQV9FU0NBTEFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQkFSUkFfRVNDQUxBX1ZFUlRJQ0FMLCBub21icmU6IHRoaXMuRElBR1JBTUFfQkFSUkFfRVNDQUxBX1ZFUlRJQ0FMX1NUUklORyB9LFxuXHRdXG5cblx0U0VSSUUgPSAnUyc7XG5cdENBVEVHT1JJQSA9ICdDJztcblx0VkFMT1IgPSAnVic7XG5cdElNQUdFTiA9ICdJJztcblx0U0VSSUVfU1RSSU5HID0gJ1NlcmllJztcblx0Q0FURUdPUklBX1NUUklORyA9ICdDYXRlZ29yaWEnO1xuXHRWQUxPUl9TVFJJTkcgPSAnVmFsb3InO1xuXHRJTUFHRU5fREVTQyA9ICdJbWFnZW4nO1xuXG5cblx0TElTVEFfUkVDVVJTT19HUkFGSUNBID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLlNFUklFLCBub21icmU6IHRoaXMuU0VSSUVfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuQ0FURUdPUklBLCBub21icmU6IHRoaXMuQ0FURUdPUklBX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLlZBTE9SLCBub21icmU6IHRoaXMuVkFMT1JfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuSU1BR0VOLCBub21icmU6IHRoaXMuSU1BR0VOX0RFU0MgfSxcblx0XHR7IGNvZGlnbzogJ0cnLCBub21icmU6ICdHcnVwbycgfSxcblx0XVxuXG5cdFJFQ1VSU09fR1JBRklDQSA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5TRVJJRSwgbm9tYnJlOiB0aGlzLlNFUklFX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkNBVEVHT1JJQSwgbm9tYnJlOiB0aGlzLkNBVEVHT1JJQV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5WQUxPUiwgbm9tYnJlOiB0aGlzLlZBTE9SX1NUUklORyB9LFxuXHRdXG5cblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0ICogICBGb3JtYXRvcyBkZSBnZW5lcmFjaW9uIGRlIHJlcG9ydGVzIFxuXHQgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHRHRU5FUkFDSU9OX0pBU1BFUkRJTkFNSUNPID0gJ0QnO1xuXHRERVNDX0dFTkVSQUNJT05fSkFTUEVSRElOQU1JQ08gPSAnSmFzcGVyIGRpbmFtaWNvJztcblxuXHRHRU5FUkFDSU9OX0pBU1BFUkZJSk8gPSAnRic7XG5cdERFU0NfR0VORVJBQ0lPTl9KQVNQRVJGSUpPID0gJ0phc3BlciBmaWpvJztcblxuXHRHRU5FUkFDSU9OX0VYQ0VMID0gJ0UnO1xuXHRERVNDX0dFTkVSQUNJT05fRVhDRUwgPSAnRXhjZWwnO1xuXG5cdEdFTkVSQUNJT05fWE1MID0gJ1gnO1xuXHRERVNDX0dFTkVSQUNJT05fWE1MID0gJ0FyY2hpdm8geG1sJztcblxuXHRHRU5FUkFDSU9OX1BMQU5USUxMQSA9ICdXJztcblx0REVTQ19HRU5FUkFDSU9OX1BMQU5USUxMQSA9ICdQbGFudGlsbGEnO1xuXG5cdEdFTkVSQUNJT05fQVJDSElWT1BMQU5PID0gJ1QnO1xuXHRERVNDX0dFTkVSQUNJT05fQVJDSElWT1BMQU5PID0gJ0FyY2hpdm8gUGxhbm8nO1xuXG5cdEdFTkVSQUNJT05fVEFCTEEgPSAnQSc7XG5cdERFU0NfR0VORVJBQ0lPTl9UQUJMQSA9ICdUYWJsYSc7XG5cblx0R0VORVJBQ0lPTl9DT0xVTU5BUklPID0gJ0MnO1xuXHRERVNDX0dFTkVSQUNJT05fQ09MVU1OQVJJTyA9ICdDb2x1bW5hcmlvJztcblxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQgKiAgT3BlcmFjaW9uZXMgc29icmUgcmVwb3J0ZXMgZ2VuZXJhZG9zIFxuXHQgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdE9QRVJBQ0lPTl9ERVNDQVJHQVIgPSAnRCc7XG5cdERFU0NfT1BFUkFDSU9OX0RFU0NBUkdBUiA9ICdEZXNjYXJnYXInO1xuXG5cdE9QRVJBQ0lPTl9FTlZJQVJDT1JSRU8gPSAnRSc7XG5cdERFU0NfT1BFUkFDSU9OX0VOVklBUkNPUlJFTyA9ICdFbnZpYXIgY29ycmVvJztcblxuXHRPUEVSQUNJT05fRU5WSU9NQVNJVk8gPSAnTSc7XG5cdERFU0NfT1BFUkFDSU9OX0VOVklPTUFTSVZPID0gJ0VudmlvIG1hc2l2byc7XG5cblx0T1BFUkFDSU9OX0NPUlJFT1BVQkxJQ0FSID0gJ01QJztcblx0REVTQ19PUEVSQUNJT05fQ09SUkVPUFVCTElDQVIgPSAnRW52aWFyIHkgUHVibGljYXIgTWFzaXZvJztcblxuXHRPUEVSQUNJT05fUFVCTElDQVIgPSAnUCc7XG5cdERFU0NfT1BFUkFDSU9OX1BVQkxJQ0FSID0gJ1B1YmxpY2FyJztcblxuXHRPUEVSQUNJT05fUFJPQ0VTT19FWFRFUk5PID0gJ1gnO1xuXHRERVNDX09QRVJBQ0lPTl9QUk9DRVNPX0VYVEVSTk8gPSAnUHJvY2VzbyBFeHRlcm5vJztcblxuXHRQQVJBTUVUUk9fRU5UUkFEQV9DT0RFTVBSRVNBID0gJ2NvZGVtcHJlc2EnO1xuXHRQQVJBTUVUUk9fRU5UUkFEQV9DRURVTEEgPSAnY2VkdWxhJztcblx0UEFSQU1FVFJPX0VOVFJBREFfQ09OVFJBVE8gPSAnY29udHJhdG8nO1xuXG5cdFBBUkFNRVRST19FTlRSQURBX0xPR0lOID0gJ2xvZ2luJztcblx0UEFSQU1FVFJPX0VOVFJBREFfUk9MID0gJ3JvbCc7XG5cblx0UEFSQU1FVFJPX05VTUVST19MSVFVSURBQ0lPTl9QRVJJT0RJQ0EgPSAnbnVtZXJvJztcblxuXHRPUEVSQUNJT05fU0VHVU5ET1BMQU5PID0gJ1MnO1xuXHRERVNDX09QRVJBQ0lPTl9TRUdVTkRPUExBTk8gPSAnU2VndW5kbyBQbGFubyc7XG5cblx0TUFQQV9USVBPX0FSQ0hJVk9TID0gW1xuXHRcdHsgY29kaWdvOiAnaHRtbCcsIG5vbWJyZTogJ2h0bWwnIH0sXG5cdFx0eyBjb2RpZ286ICd4bWwnLCBub21icmU6ICd4bWwnIH0sXG5cdFx0eyBjb2RpZ286ICd4bHMnLCBub21icmU6ICd4bHMnIH0sXG5cdFx0eyBjb2RpZ286ICdwZGYnLCBub21icmU6ICdwZGYnIH0sXG5cdFx0eyBjb2RpZ286ICdjc3YnLCBub21icmU6ICdjc3YnIH0sXG5cdFx0eyBjb2RpZ286ICd0eHQnLCBub21icmU6ICd0eHQnIH0sXG5cdF1cblxuXHRNT0RPX1BBUkFNRVRSTyA9ICdQJztcblx0TU9ET19EQVRPUyA9ICdEJztcblxuXHRERVNfTU9ET19QQVJBTUVUUk8gPSAnUGFyYW1ldHJvJztcblx0REVTX01PRE9fREFUT1MgPSAnRGF0b3MnO1xuXG5cdE1PRE9TID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLk1PRE9fUEFSQU1FVFJPLCBub21icmU6IHRoaXMuREVTX01PRE9fUEFSQU1FVFJPIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTU9ET19EQVRPUywgbm9tYnJlOiB0aGlzLkRFU19NT0RPX0RBVE9TIH0sXG5cdF1cblxuXHRJWlFVSUVSREEgPSAnSSc7XG5cdERFUkVDSEEgPSAnRCc7XG5cdENFTlRSTyA9ICdDJztcblx0SlVTVElGSUNBRE8gPSAnSic7XG5cblx0SVpRVUlFUkRBX0RFU0MgPSAnSXpxdWllcmRhJztcblx0REVSRUNIQV9ERVNDID0gJ0RlcmVjaGEnO1xuXHRDRU5UUk9fREVTQyA9ICdDZW50cm8nO1xuXHRKVVNUSUZJQ0FET19ERVNDID0gJ0p1c3RpZmljYWRvJztcblxuXHRMSVNUQV9BTElORUFDSU9OID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLklaUVVJRVJEQSwgbm9tYnJlOiB0aGlzLklaUVVJRVJEQV9ERVNDIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuREVSRUNIQSwgbm9tYnJlOiB0aGlzLkRFUkVDSEFfREVTQyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkNFTlRSTywgbm9tYnJlOiB0aGlzLkNFTlRST19ERVNDIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuSlVTVElGSUNBRE8sIG5vbWJyZTogdGhpcy5KVVNUSUZJQ0FET19ERVNDIH1cblx0XVxuXG5cdC8vVGlwbyBNYXJjYWRvcmVzIFRleHRvXG5cdE1BUkNBRE9SVEVYVE9GSUpPID0gJ0YnO1xuXHRNQVJDQURPUlRFWFRPRElOQU1JQ08gPSAnRCc7XG5cblx0TUFSQ0FET1JURVhUT0ZJSk9fREVTQyA9ICdGaWpvJztcblx0TUFSQ0FET1JURVhUT0RJTkFNSUNPX0RFU0MgPSAnQ29sdW1uYSc7XG5cblx0UkVQT1JURUFSQ0hJVk9QTEFOTyA9ICdUJztcblx0VElQT01BUkNBRE9SRVNURVhUTyA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUlRFWFRPRklKTywgbm9tYnJlOiB0aGlzLk1BUkNBRE9SVEVYVE9GSUpPX0RFU0MgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUlRFWFRPRElOQU1JQ08sIG5vbWJyZTogdGhpcy5NQVJDQURPUlRFWFRPRElOQU1JQ09fREVTQyB9XG5cdF1cblxuXHR0cmFuc2Zvcm0odmFsdWU6IGFueSwgLi4uYXJnczogYW55KTogYW55IHtcblx0XHRsZXQgcmVzdWx0ID0gdmFsdWU7XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhVGlwbycpIHsgdGhpcy5MSVNUQV9USVBPLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YU1vbWVudG8nKSB7IHRoaXMuTElTVEFfTU9NRU5UTy5mb3JFYWNoKGRhdGEgPT4geyBpZiAoZGF0YS5jb2RpZ28gPT09IHZhbHVlKSB7IHJlc3VsdCA9IGRhdGEubm9tYnJlIH0gfSk7IH1cblx0XHRpZiAoYXJnc1swXSA9PSAnbGlzdGFUaXBvRGF0bycpIHsgdGhpcy5USVBPU19EQVRPLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YVRpcG9EYXRvQ29sdW1uYScpIHsgdGhpcy5USVBPU19EQVRPX0NPTFVNTkEuZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhVGlwb0RhdG9NYXJjYWRvcmVzJykgeyB0aGlzLkxJU1RBX01BUkNBRE9SRVMuZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhVGlwb0dyYWZpY28nKSB7IHRoaXMuTElTVEFfVElQT19HUkFGSUNPLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YVRpcG9HcmFmaWNvSkZDJykgeyB0aGlzLkxJU1RBX1RJUE9fR1JBRklDT19KRkMuZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhUmVjdXJzb0dyYWZpY2EnKSB7IHRoaXMuTElTVEFfUkVDVVJTT19HUkFGSUNBLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YUFsaW5lYWNpb24nKSB7IHRoaXMuTElTVEFfQUxJTkVBQ0lPTi5mb3JFYWNoKGRhdGEgPT4geyBpZiAoZGF0YS5jb2RpZ28gPT09IHZhbHVlKSB7IHJlc3VsdCA9IGRhdGEubm9tYnJlIH0gfSk7IH1cblx0XHRpZiAoYXJnc1swXSA9PSAnbGlzdGFUaXBvTWFyY2Fkb3Jlc1RleHRvJykgeyB0aGlzLlRJUE9NQVJDQURPUkVTVEVYVE8uZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cbn1cbiJdfQ==
@@ -1,24 +1,36 @@
1
- import { Component, EventEmitter, Output } from '@angular/core';
1
+ import { Component, EventEmitter, Output, ViewChild } from '@angular/core';
2
2
  import { ObjetoReporteModel } from '../../../seguridad/modelos/ObjetoReporteModel';
3
3
  import { ConstantesGenerales } from '../../../seguridad/constantes/ConstantesGenerales';
4
4
  import { TablaGeneralComponent } from '../../../core/componentes/tabla-general/tabla-general.component';
5
5
  import { DialogModule } from 'primeng/dialog';
6
6
  import { TranslateModule, TranslatePipe } from '@ngx-translate/core';
7
- import { MessageService } from 'primeng/api';
7
+ import { ConfirmationService, MessageService } from 'primeng/api';
8
8
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
9
9
  import { FiltroGeneralComponent } from '../../../core/componentes/filtro-general/filtro-general.component';
10
10
  import { InputTextModule } from 'primeng/inputtext';
11
+ import { TableModule } from 'primeng/table';
12
+ import { CheckboxModule } from 'primeng/checkbox';
13
+ import { ButtonDirective, ButtonModule } from 'primeng/button';
14
+ import { ConfirmDialogModule } from 'primeng/confirmdialog';
11
15
  import * as i0 from "@angular/core";
12
- import * as i1 from "../../services/reportes.service";
13
- import * as i2 from "../../../core/servicios/utils.service";
14
- import * as i3 from "@ngx-translate/core";
15
- import * as i4 from "primeng/inputtext";
16
- import * as i5 from "@angular/forms";
17
- import * as i6 from "primeng/dialog";
16
+ import * as i1 from "primeng/api";
17
+ import * as i2 from "../../services/reportes.service";
18
+ import * as i3 from "../../../core/servicios/utils.service";
19
+ import * as i4 from "@ngx-translate/core";
20
+ import * as i5 from "./../../../core/servicios/toast.service";
21
+ import * as i6 from "primeng/confirmdialog";
22
+ import * as i7 from "primeng/button";
23
+ import * as i8 from "primeng/checkbox";
24
+ import * as i9 from "primeng/table";
25
+ import * as i10 from "primeng/inputtext";
26
+ import * as i11 from "@angular/forms";
27
+ import * as i12 from "primeng/dialog";
18
28
  export class PopupTablasFuenteComponent {
29
+ confirmationService;
19
30
  reportesSvc;
20
31
  utilsService;
21
32
  translateService;
33
+ notificationBusService;
22
34
  paginadorTablas = [];
23
35
  filtroTabla;
24
36
  visible;
@@ -28,13 +40,17 @@ export class PopupTablasFuenteComponent {
28
40
  rows: 10,
29
41
  totalRecords: 0,
30
42
  };
43
+ seleccionGeneral;
31
44
  loading;
32
45
  columns = [];
46
+ tablaGeneral;
33
47
  aplicarDestinoOcultar = new EventEmitter();
34
- constructor(reportesSvc, utilsService, translateService) {
48
+ constructor(confirmationService, reportesSvc, utilsService, translateService, notificationBusService) {
49
+ this.confirmationService = confirmationService;
35
50
  this.reportesSvc = reportesSvc;
36
51
  this.utilsService = utilsService;
37
52
  this.translateService = translateService;
53
+ this.notificationBusService = notificationBusService;
38
54
  this.columns = [
39
55
  {
40
56
  field: 'objeto',
@@ -49,14 +65,16 @@ export class PopupTablasFuenteComponent {
49
65
  matchMode: 'contains',
50
66
  }
51
67
  ];
68
+ this.load(null);
69
+ }
70
+ cargaLazy(event) {
71
+ this.tablaGeneral.filterGlobal(this.filtroTabla, 'contains');
52
72
  }
53
73
  async load(event) {
54
74
  try {
55
75
  this.loading = true;
56
76
  this.colocarFiltro();
57
- this.filtro.paginacionRegistroInicial = event?.first != null ? event?.first : 0,
58
- this.filtro.paginacionRegistroFinal = event?.rows != null ? event?.rows : 10,
59
- this.paginadorTablas = await this.reportesSvc.getObjetos(this.filtro).toPromise();
77
+ this.paginadorTablas = await this.reportesSvc.getObjetos(this.filtro).toPromise();
60
78
  this.paginator.totalRecords = await this.reportesSvc.getCantidadObjetos(this.filtro).toPromise();
61
79
  }
62
80
  catch (e) {
@@ -79,9 +97,13 @@ export class PopupTablasFuenteComponent {
79
97
  console.error(e);
80
98
  }
81
99
  }
82
- seleccionarTabla(evento) {
100
+ seleccionarTabla() {
83
101
  try {
84
- let tablaSeleccionada = evento.objeto;
102
+ let tablaSeleccionada = this.paginadorTablas.filter(data => data.check == true);
103
+ if (tablaSeleccionada.length == 0) {
104
+ this.notificationBusService.showWarning('Seleccione por lo menos un registro');
105
+ return;
106
+ }
85
107
  this.aplicarDestinoOcultar.emit(tablaSeleccionada);
86
108
  this.ocultarPopup();
87
109
  }
@@ -95,13 +117,43 @@ export class PopupTablasFuenteComponent {
95
117
  ocultarPopup() {
96
118
  this.visible = false;
97
119
  }
98
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: PopupTablasFuenteComponent, deps: [{ token: i1.ReportesService }, { token: i2.UtilsService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
99
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: PopupTablasFuenteComponent, isStandalone: true, selector: "app-popup-tablas-fuente", outputs: { aplicarDestinoOcultar: "aplicarDestinoOcultar" }, providers: [TranslatePipe, MessageService], ngImport: i0, template: "<p-dialog id='popupunidadesvigentesplanta' header=\"{{'unidad' | translate}} {{'organizacional' | translate}}\"\n [(visible)]=\"visible\" [breakpoints]=\"{'960px': '75vw', '640px': '100vw'}\" [style]=\"{width: '50vw'}\"\n (onHide)=\"ocultarPopup()\" [modal]=\"true\">\n <div class=\"flex justify-content-start align-items-center mb-3\">\n <app-filtro-general [filtros]=\"filters\" [datatable]=\"tablaGeneral\">\n <ng-template let-form>\n <ng-container [formGroup]=\"form\">\n <span class=\"p-float-label\">\n <input pInputText autofocus type=\"text\" id=\"descripcion\" formControlName=\"descripcion\" [(ngModel)]=\"filtroTabla\"\n autocomplete=\"off\" />\n <label for=\"descripcion\">{{'filtro' | translate}}</label>\n </span>\n </ng-container>\n </ng-template>\n </app-filtro-general>\n \n </div>\n <app-tabla-general #tablaGeneral [columns]=\"columns\" [value]=\"paginadorTablas\" [rows]=\"paginator.rows\"\n [totalRecords]=\"paginator.totalRecords\" (onLoad)=\"load($event)\" (onRowSelect)=\"seleccionarTabla($event)\"\n [loading]=\"loading\"></app-tabla-general>\n </p-dialog>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: TablaGeneralComponent, selector: "app-tabla-general", inputs: ["dataKey", "value", "columns", "rows", "totalRecords", "loading", "ocultarFraccionador"], outputs: ["onLoad", "onRowSelect"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i6.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: FiltroGeneralComponent, selector: "app-filtro-general", inputs: ["filtros", "datatable"], outputs: ["metodoRegresar", "metodoRegresarAdicional"] }] });
120
+ todosSeleccionados() {
121
+ return this.paginadorTablas.every(elemento => elemento.check);
122
+ }
123
+ actualizarSeleccion(booleanogeneral) {
124
+ if (booleanogeneral) {
125
+ this.confirmationService.confirm({
126
+ target: event?.target,
127
+ message: 'Desea seleccionar todos los registros?',
128
+ acceptLabel: 'Si',
129
+ key: 'eliminar',
130
+ header: 'Confirmar',
131
+ accept: () => {
132
+ this.paginadorTablas.forEach((elemento) => {
133
+ elemento.check = booleanogeneral;
134
+ });
135
+ },
136
+ reject: () => {
137
+ this.seleccionGeneral = false;
138
+ }
139
+ });
140
+ }
141
+ else {
142
+ this.paginadorTablas.forEach((elemento) => {
143
+ elemento.check = booleanogeneral;
144
+ });
145
+ }
146
+ }
147
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: PopupTablasFuenteComponent, deps: [{ token: i1.ConfirmationService }, { token: i2.ReportesService }, { token: i3.UtilsService }, { token: i4.TranslateService }, { token: i5.ToastService }], target: i0.ɵɵFactoryTarget.Component });
148
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: PopupTablasFuenteComponent, isStandalone: true, selector: "app-popup-tablas-fuente", outputs: { aplicarDestinoOcultar: "aplicarDestinoOcultar" }, providers: [TranslatePipe, MessageService, ConfirmationService], viewQueries: [{ propertyName: "tablaGeneral", first: true, predicate: ["tablaGeneral"], descendants: true }], ngImport: i0, template: "<p-confirmDialog #cd key=\"eliminar\">\n <ng-template pTemplate=\"footer\">\n <div class=\"mt-3\">\n <button type=\"button\"\n class=\"p-button-outlined-button-secondary p-button-outlined p-button p-component\" pButton\n icon=\"pi pi-times\" label=\"No\" (click)=\"cd.reject()\"></button>\n <button type=\"button\" pButton icon=\"pi pi-check\" label=\"Si\" class=\"p-button-raised\"\n (click)=\"cd.accept()\"></button>\n </div>\n </ng-template>\n</p-confirmDialog>\n<p-dialog id='popupfuenteTablas' header=\"{{'fuente' | translate}}\"\n [(visible)]=\"visible\" [breakpoints]=\"{'960px': '75vw', '640px': '100vw'}\" [style]=\"{width: '50vw'}\"\n (onHide)=\"ocultarPopup()\" [modal]=\"true\">\n <div class=\"flex justify-content-between align-items-center mb-3\">\n <app-filtro-general [filtros]=\"filters\" (metodoRegresar)=\"cargaLazy($event)\"> \n <ng-template let-form>\n <ng-container [formGroup]=\"form\">\n <span class=\"p-float-label\">\n <input pInputText autofocus type=\"text\" id=\"descripcion\" formControlName=\"descripcion\" [(ngModel)]=\"filtroTabla\"\n autocomplete=\"off\" />\n <label for=\"descripcion\">{{'filtro' | translate}}</label>\n </span>\n </ng-container>\n </ng-template>\n </app-filtro-general>\n \n <button pButton pRipple class=\"ml-2 p-ripple p-element p-button p-component p-button-secondary\"\n icon=\"pi pi-plus\" label=\"{{'adicionar' | translate}}\"\n (click)=\"seleccionarTabla()\">\n </button>\n\n </div>\n \n <p-table #tablaGeneral id=\"tabla_lista_tipo_entidad\" [value]=\"paginadorTablas\" [scrollable]=\"true\"\n [totalRecords]=\"paginadorTablas.length\" scrollDirection=\"both\" scrollDirection=\"horizontal\"\n responsiveLayout=\"scroll\" scrollDirection=\"horizontal\" [paginator]=\"paginadorTablas.length > 10\"\n [rows]=\"10\" styleClass=\"p-datatable-striped\"\n [showCurrentPageReport]=\"true\" editMode=\"row\" [globalFilterFields]=\"['objeto']\"\n currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\"\n dataKey=\"alias\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width:25%\" alignFrozen=\"left\" pFrozenColumn>\n <p-checkbox [style]=\"{'margin-left': '1%','margin-right':'1%'}\"\n [(ngModel)]=\"seleccionGeneral\" [binary]=\"true\" [ngModel]=\"todosSeleccionados()\"\n (ngModelChange)=\"actualizarSeleccion($event)\"></p-checkbox>\n <span style=\"margin-left:1%\">{{'tabla' | translate}}</span>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-tabla>\n <tr>\n <td style=\"width:25%\">\n <p-checkbox class=\"mr-2 \" [(ngModel)]=\"tabla.check\" [binary]=\"true\" inputId=\"binary\">\n </p-checkbox>\n {{tabla.objeto}}\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr class=\"p-3 font-medium emptymessage\">\n <td colspan=\"5\">\n {{'mensajetablavacia' | translate}}\n </td>\n </tr>\n </ng-template>\n</p-table>\n\n\n </p-dialog>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i6.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i8.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i9.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i9.FrozenColumn, selector: "[pFrozenColumn]", inputs: ["frozen", "alignFrozen"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i10.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i11.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: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i11.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i11.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i11.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i12.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: FiltroGeneralComponent, selector: "app-filtro-general", inputs: ["filtros", "datatable"], outputs: ["metodoRegresar", "metodoRegresarAdicional"] }] });
100
149
  }
101
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: PopupTablasFuenteComponent, decorators: [{
102
151
  type: Component,
103
- args: [{ selector: 'app-popup-tablas-fuente', standalone: true, imports: [InputTextModule, ReactiveFormsModule, FormsModule, TablaGeneralComponent, DialogModule, DialogModule, TranslateModule, FiltroGeneralComponent], providers: [TranslatePipe, MessageService], template: "<p-dialog id='popupunidadesvigentesplanta' header=\"{{'unidad' | translate}} {{'organizacional' | translate}}\"\n [(visible)]=\"visible\" [breakpoints]=\"{'960px': '75vw', '640px': '100vw'}\" [style]=\"{width: '50vw'}\"\n (onHide)=\"ocultarPopup()\" [modal]=\"true\">\n <div class=\"flex justify-content-start align-items-center mb-3\">\n <app-filtro-general [filtros]=\"filters\" [datatable]=\"tablaGeneral\">\n <ng-template let-form>\n <ng-container [formGroup]=\"form\">\n <span class=\"p-float-label\">\n <input pInputText autofocus type=\"text\" id=\"descripcion\" formControlName=\"descripcion\" [(ngModel)]=\"filtroTabla\"\n autocomplete=\"off\" />\n <label for=\"descripcion\">{{'filtro' | translate}}</label>\n </span>\n </ng-container>\n </ng-template>\n </app-filtro-general>\n \n </div>\n <app-tabla-general #tablaGeneral [columns]=\"columns\" [value]=\"paginadorTablas\" [rows]=\"paginator.rows\"\n [totalRecords]=\"paginator.totalRecords\" (onLoad)=\"load($event)\" (onRowSelect)=\"seleccionarTabla($event)\"\n [loading]=\"loading\"></app-tabla-general>\n </p-dialog>\n" }]
104
- }], ctorParameters: () => [{ type: i1.ReportesService }, { type: i2.UtilsService }, { type: i3.TranslateService }], propDecorators: { aplicarDestinoOcultar: [{
152
+ args: [{ selector: 'app-popup-tablas-fuente', standalone: true, imports: [ConfirmDialogModule, ButtonModule, ButtonDirective, TranslateModule, CheckboxModule, TableModule, InputTextModule, ReactiveFormsModule, FormsModule, TablaGeneralComponent, DialogModule, DialogModule, TranslateModule, FiltroGeneralComponent], providers: [TranslatePipe, MessageService, ConfirmationService], template: "<p-confirmDialog #cd key=\"eliminar\">\n <ng-template pTemplate=\"footer\">\n <div class=\"mt-3\">\n <button type=\"button\"\n class=\"p-button-outlined-button-secondary p-button-outlined p-button p-component\" pButton\n icon=\"pi pi-times\" label=\"No\" (click)=\"cd.reject()\"></button>\n <button type=\"button\" pButton icon=\"pi pi-check\" label=\"Si\" class=\"p-button-raised\"\n (click)=\"cd.accept()\"></button>\n </div>\n </ng-template>\n</p-confirmDialog>\n<p-dialog id='popupfuenteTablas' header=\"{{'fuente' | translate}}\"\n [(visible)]=\"visible\" [breakpoints]=\"{'960px': '75vw', '640px': '100vw'}\" [style]=\"{width: '50vw'}\"\n (onHide)=\"ocultarPopup()\" [modal]=\"true\">\n <div class=\"flex justify-content-between align-items-center mb-3\">\n <app-filtro-general [filtros]=\"filters\" (metodoRegresar)=\"cargaLazy($event)\"> \n <ng-template let-form>\n <ng-container [formGroup]=\"form\">\n <span class=\"p-float-label\">\n <input pInputText autofocus type=\"text\" id=\"descripcion\" formControlName=\"descripcion\" [(ngModel)]=\"filtroTabla\"\n autocomplete=\"off\" />\n <label for=\"descripcion\">{{'filtro' | translate}}</label>\n </span>\n </ng-container>\n </ng-template>\n </app-filtro-general>\n \n <button pButton pRipple class=\"ml-2 p-ripple p-element p-button p-component p-button-secondary\"\n icon=\"pi pi-plus\" label=\"{{'adicionar' | translate}}\"\n (click)=\"seleccionarTabla()\">\n </button>\n\n </div>\n \n <p-table #tablaGeneral id=\"tabla_lista_tipo_entidad\" [value]=\"paginadorTablas\" [scrollable]=\"true\"\n [totalRecords]=\"paginadorTablas.length\" scrollDirection=\"both\" scrollDirection=\"horizontal\"\n responsiveLayout=\"scroll\" scrollDirection=\"horizontal\" [paginator]=\"paginadorTablas.length > 10\"\n [rows]=\"10\" styleClass=\"p-datatable-striped\"\n [showCurrentPageReport]=\"true\" editMode=\"row\" [globalFilterFields]=\"['objeto']\"\n currentPageReportTemplate=\"{first} al {last} de {totalRecords} registros\"\n dataKey=\"alias\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width:25%\" alignFrozen=\"left\" pFrozenColumn>\n <p-checkbox [style]=\"{'margin-left': '1%','margin-right':'1%'}\"\n [(ngModel)]=\"seleccionGeneral\" [binary]=\"true\" [ngModel]=\"todosSeleccionados()\"\n (ngModelChange)=\"actualizarSeleccion($event)\"></p-checkbox>\n <span style=\"margin-left:1%\">{{'tabla' | translate}}</span>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-tabla>\n <tr>\n <td style=\"width:25%\">\n <p-checkbox class=\"mr-2 \" [(ngModel)]=\"tabla.check\" [binary]=\"true\" inputId=\"binary\">\n </p-checkbox>\n {{tabla.objeto}}\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr class=\"p-3 font-medium emptymessage\">\n <td colspan=\"5\">\n {{'mensajetablavacia' | translate}}\n </td>\n </tr>\n </ng-template>\n</p-table>\n\n\n </p-dialog>\n" }]
153
+ }], ctorParameters: () => [{ type: i1.ConfirmationService }, { type: i2.ReportesService }, { type: i3.UtilsService }, { type: i4.TranslateService }, { type: i5.ToastService }], propDecorators: { tablaGeneral: [{
154
+ type: ViewChild,
155
+ args: ['tablaGeneral']
156
+ }], aplicarDestinoOcultar: [{
105
157
  type: Output
106
158
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtdGFibGFzLWZ1ZW50ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3dlYmNvbW1vbi9wb3B1cHMvcG9wdXAtdGFibGFzLWZ1ZW50ZS9wb3B1cC10YWJsYXMtZnVlbnRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvd2ViY29tbW9uL3BvcHVwcy9wb3B1cC10YWJsYXMtZnVlbnRlL3BvcHVwLXRhYmxhcy1mdWVudGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRXhGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBb0IsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBVXBELE1BQU0sT0FBTywwQkFBMEI7SUFlakI7SUFBcUM7SUFBbUM7SUFkckYsZUFBZSxHQUF5QixFQUFFLENBQUM7SUFDNUMsV0FBVyxDQUFTO0lBQ25CLE9BQU8sQ0FBVTtJQUNqQixN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QztJQUNGLENBQUM7SUFHTSxnQkFBZ0IsQ0FBQyxNQUFNO1FBQzdCLElBQUksQ0FBQztZQUNKLElBQUksaUJBQWlCLEdBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUN2QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDO0lBQ0YsQ0FBQztJQUVBLFlBQVk7UUFDWixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7dUdBOUVVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLG1JQUozQixDQUFDLGFBQWEsRUFBQyxjQUFjLENBQUMsMEJDakIxQyw2d0NBcUJBLHlERExZLGVBQWUsd0hBQUMsbUJBQW1CLG0yQkFBQyxXQUFXLCtCQUFDLHFCQUFxQixvTUFBQyxZQUFZLHV1QkFBYyxlQUFlLDRGQUFDLHNCQUFzQjs7MkZBS3JJLDBCQUEwQjtrQkFSdEMsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFDLG1CQUFtQixFQUFDLFdBQVcsRUFBQyxxQkFBcUIsRUFBQyxZQUFZLEVBQUMsWUFBWSxFQUFDLGVBQWUsRUFBQyxzQkFBc0IsQ0FBQyxhQUN2SSxDQUFDLGFBQWEsRUFBQyxjQUFjLENBQUM7OElBaUI5QixxQkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9iamV0b1JlcG9ydGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3NlZ3VyaWRhZC9tb2RlbG9zL09iamV0b1JlcG9ydGVNb2RlbCc7XG5pbXBvcnQgeyBSZXBvcnRlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXBvcnRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnN0YW50ZXNHZW5lcmFsZXMgfSBmcm9tICcuLi8uLi8uLi9zZWd1cmlkYWQvY29uc3RhbnRlcy9Db25zdGFudGVzR2VuZXJhbGVzJztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljaW9zL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFibGFHZW5lcmFsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb21wb25lbnRlcy90YWJsYS1nZW5lcmFsL3RhYmxhLWdlbmVyYWwuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlUGlwZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpbHRyb0dlbmVyYWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2NvbXBvbmVudGVzL2ZpbHRyby1nZW5lcmFsL2ZpbHRyby1nZW5lcmFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wb3B1cC10YWJsYXMtZnVlbnRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lucHV0VGV4dE1vZHVsZSxSZWFjdGl2ZUZvcm1zTW9kdWxlLEZvcm1zTW9kdWxlLFRhYmxhR2VuZXJhbENvbXBvbmVudCxEaWFsb2dNb2R1bGUsRGlhbG9nTW9kdWxlLFRyYW5zbGF0ZU1vZHVsZSxGaWx0cm9HZW5lcmFsQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOltUcmFuc2xhdGVQaXBlLE1lc3NhZ2VTZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcHVwLXRhYmxhcy1mdWVudGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcG9wdXAtdGFibGFzLWZ1ZW50ZS5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgUG9wdXBUYWJsYXNGdWVudGVDb21wb25lbnQge1xuICBwdWJsaWMgcGFnaW5hZG9yVGFibGFzOiBPYmpldG9SZXBvcnRlTW9kZWxbXSA9IFtdO1xuXHRwdWJsaWMgZmlsdHJvVGFibGE6IHN0cmluZztcbiAgcHVibGljIHZpc2libGU6IGJvb2xlYW47XG4gIHB1YmxpYyBmaWx0cm86IE9iamV0b1JlcG9ydGVNb2RlbCA9IG5ldyBPYmpldG9SZXBvcnRlTW9kZWwoKTtcbiAgcHVibGljIGZpbHRlcnMgOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgcGFnaW5hdG9yID0ge1xuXHRcdHJvd3M6IDEwLFxuXHRcdHRvdGFsUmVjb3JkczogMCxcblx0fTtcbiAgcHVibGljIGxvYWRpbmc6IGJvb2xlYW47XG4gIHB1YmxpYyBjb2x1bW5zOiBhbnlbXSA9IFtdO1xuICBcbiAgQE91dHB1dCgpIGFwbGljYXJEZXN0aW5vT2N1bHRhciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcG9ydGVzU3ZjOiBSZXBvcnRlc1NlcnZpY2UscHJpdmF0ZSB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSxwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2Upe1xuICAgIHRoaXMuY29sdW1ucyA9IFtcblx0XHQgIHtcblx0XHRcdGZpZWxkOiAgJ29iamV0bycsXG5cdFx0XHRoZWFkZXI6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdkZXNjcmlwY2lvbicpLFxuXHRcdFx0d2lkdGg6IDEwMCxcblx0XHQgIH0sXG5cdFx0XTtcbiAgICB0aGlzLmZpbHRlcnMgPSBbXG5cdFx0ICB7XG5cdFx0XHRmaWVsZDogJ2Rlc2NyaXBjaW9uJyxcblx0XHRcdGhlYWRlcjogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rlc2NyaXBjaW9uJyksXG5cdFx0XHRtYXRjaE1vZGU6ICdjb250YWlucycsXG5cdFx0ICB9XG5cdFx0XTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkKGV2ZW50KSB7XG4gICAgdHJ5IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jb2xvY2FyRmlsdHJvKCk7XG4gICAgICAgIHRoaXMuZmlsdHJvLnBhZ2luYWNpb25SZWdpc3Ryb0luaWNpYWwgPSBldmVudD8uZmlyc3QgIT0gbnVsbCA/IGV2ZW50Py5maXJzdCA6IDAsXG5cdFx0XHRcdHRoaXMuZmlsdHJvLnBhZ2luYWNpb25SZWdpc3Ryb0ZpbmFsID0gZXZlbnQ/LnJvd3MgIT0gbnVsbCA/IGV2ZW50Py5yb3dzIDogMTAsXG4gICAgICAgIHRoaXMucGFnaW5hZG9yVGFibGFzICA9IGF3YWl0IHRoaXMucmVwb3J0ZXNTdmMuZ2V0T2JqZXRvcyh0aGlzLmZpbHRybykudG9Qcm9taXNlKCk7XG4gICAgICAgIHRoaXMucGFnaW5hdG9yLnRvdGFsUmVjb3JkcyA9IGF3YWl0IHRoaXMucmVwb3J0ZXNTdmMuZ2V0Q2FudGlkYWRPYmpldG9zKHRoaXMuZmlsdHJvKS50b1Byb21pc2UoKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG4gICAgcHVibGljIGNvbG9jYXJGaWx0cm8oKXtcbiAgICAgIHRoaXMuZmlsdHJvID0gbmV3IE9iamV0b1JlcG9ydGVNb2RlbCgpO1xuICAgICAgaWYgKHRoaXMuZmlsdHJvVGFibGEgIT0gbnVsbCAmJiB0aGlzLnV0aWxzU2VydmljZS5pc05vdEJsYW5rKHRoaXMuZmlsdHJvVGFibGEpKSB7XG4gICAgICAgIHRoaXMuZmlsdHJvLmZpbHRybyA9IChDb25zdGFudGVzR2VuZXJhbGVzLlBPUkNFTlRBSkUgKyB0aGlzLmZpbHRyb1RhYmxhICsgQ29uc3RhbnRlc0dlbmVyYWxlcy5QT1JDRU5UQUpFKTtcbiAgICAgIH1cbiAgICB9XG4gIFxuXHRwdWJsaWMgYnVzY2FyVGFibGEoZGVzdGlubzogc3RyaW5nKSB7XG5cdFx0dHJ5IHtcblx0XHRcdHRoaXMuZmlsdHJvVGFibGEgPSAnJzsgXG5cdFx0XHR0aGlzLm1vc3RyYXJQb3B1cCgpO1xuXHRcdH1jYXRjaCAoZSkge1xuXHRcdFx0Y29uc29sZS5lcnJvcihlKTtcblx0XHR9XG5cdH1cblx0XG5cdFxuXHRwdWJsaWMgc2VsZWNjaW9uYXJUYWJsYShldmVudG8pIHtcblx0XHR0cnkge1xuXHRcdFx0bGV0IHRhYmxhU2VsZWNjaW9uYWRhID0gIGV2ZW50by5vYmpldG87XG5cdFx0XHR0aGlzLmFwbGljYXJEZXN0aW5vT2N1bHRhci5lbWl0KHRhYmxhU2VsZWNjaW9uYWRhKTtcbiAgICAgIHRoaXMub2N1bHRhclBvcHVwKCk7XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0Y29uc29sZS5lcnJvcihlKTtcblx0XHR9XG5cdH1cblxuICBtb3N0cmFyUG9wdXAoKXtcbiAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9jdWx0YXJQb3B1cCgpe1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbn1cbiIsIjxwLWRpYWxvZyBpZD0ncG9wdXB1bmlkYWRlc3ZpZ2VudGVzcGxhbnRhJyBoZWFkZXI9XCJ7eyd1bmlkYWQnIHwgdHJhbnNsYXRlfX0ge3snb3JnYW5pemFjaW9uYWwnIHwgdHJhbnNsYXRlfX1cIlxuICAgIFsodmlzaWJsZSldPVwidmlzaWJsZVwiIFticmVha3BvaW50c109XCJ7Jzk2MHB4JzogJzc1dncnLCAnNjQwcHgnOiAnMTAwdncnfVwiIFtzdHlsZV09XCJ7d2lkdGg6ICc1MHZ3J31cIlxuICAgIChvbkhpZGUpPVwib2N1bHRhclBvcHVwKClcIiBbbW9kYWxdPVwidHJ1ZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXIgbWItM1wiPlxuICAgICAgICA8YXBwLWZpbHRyby1nZW5lcmFsIFtmaWx0cm9zXT1cImZpbHRlcnNcIiBbZGF0YXRhYmxlXT1cInRhYmxhR2VuZXJhbFwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1mb3JtPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1mbG9hdC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHBJbnB1dFRleHQgYXV0b2ZvY3VzIHR5cGU9XCJ0ZXh0XCIgaWQ9XCJkZXNjcmlwY2lvblwiIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXBjaW9uXCIgWyhuZ01vZGVsKV09XCJmaWx0cm9UYWJsYVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkZXNjcmlwY2lvblwiPnt7J2ZpbHRybycgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvYXBwLWZpbHRyby1nZW5lcmFsPlxuICAgICAgICBcbiAgICA8L2Rpdj5cbiAgICA8YXBwLXRhYmxhLWdlbmVyYWwgI3RhYmxhR2VuZXJhbCBbY29sdW1uc109XCJjb2x1bW5zXCIgW3ZhbHVlXT1cInBhZ2luYWRvclRhYmxhc1wiIFtyb3dzXT1cInBhZ2luYXRvci5yb3dzXCJcbiAgICBbdG90YWxSZWNvcmRzXT1cInBhZ2luYXRvci50b3RhbFJlY29yZHNcIiAob25Mb2FkKT1cImxvYWQoJGV2ZW50KVwiIChvblJvd1NlbGVjdCk9XCJzZWxlY2Npb25hclRhYmxhKCRldmVudClcIlxuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIj48L2FwcC10YWJsYS1nZW5lcmFsPlxuICAgIDwvcC1kaWFsb2c+XG4iXX0=
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtdGFibGFzLWZ1ZW50ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3dlYmNvbW1vbi9wb3B1cHMvcG9wdXAtdGFibGFzLWZ1ZW50ZS9wb3B1cC10YWJsYXMtZnVlbnRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvd2ViY29tbW9uL3BvcHVwcy9wb3B1cC10YWJsYXMtZnVlbnRlL3BvcHVwLXRhYmxhcy1mdWVudGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUVuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUV4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDM0csT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9B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V0FDUCxDQUFDLG1CQUFtQixFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQyxhQUMvTyxDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUM7Mk1Ba0JwQyxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBRWYscUJBQXFCO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYmpldG9SZXBvcnRlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zZWd1cmlkYWQvbW9kZWxvcy9PYmpldG9SZXBvcnRlTW9kZWwnO1xuaW1wb3J0IHsgUmVwb3J0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVwb3J0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb25zdGFudGVzR2VuZXJhbGVzIH0gZnJvbSAnLi4vLi4vLi4vc2VndXJpZGFkL2NvbnN0YW50ZXMvQ29uc3RhbnRlc0dlbmVyYWxlcyc7XG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy91dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxhR2VuZXJhbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvY29tcG9uZW50ZXMvdGFibGEtZ2VuZXJhbC90YWJsYS1nZW5lcmFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWx0cm9HZW5lcmFsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb21wb25lbnRlcy9maWx0cm8tZ2VuZXJhbC9maWx0cm8tZ2VuZXJhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUsIFRhYmxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBDaGVja2JveE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2hlY2tib3gnO1xuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlLCBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLy4uLy4uLy4uL2NvcmUvc2VydmljaW9zL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybWRpYWxvZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wb3B1cC10YWJsYXMtZnVlbnRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbmZpcm1EaWFsb2dNb2R1bGUsIEJ1dHRvbk1vZHVsZSwgQnV0dG9uRGlyZWN0aXZlLCBUcmFuc2xhdGVNb2R1bGUsIENoZWNrYm94TW9kdWxlLCBUYWJsZU1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSwgVGFibGFHZW5lcmFsQ29tcG9uZW50LCBEaWFsb2dNb2R1bGUsIERpYWxvZ01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBGaWx0cm9HZW5lcmFsQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbVHJhbnNsYXRlUGlwZSwgTWVzc2FnZVNlcnZpY2UsIENvbmZpcm1hdGlvblNlcnZpY2VdLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wdXAtdGFibGFzLWZ1ZW50ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wb3B1cC10YWJsYXMtZnVlbnRlLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBQb3B1cFRhYmxhc0Z1ZW50ZUNvbXBvbmVudCB7XG4gIHB1YmxpYyBwYWdpbmFkb3JUYWJsYXM6IE9iamV0b1JlcG9ydGVNb2RlbFtdID0gW107XG4gIHB1YmxpYyBmaWx0cm9UYWJsYTogc3RyaW5nO1xuICBwdWJsaWMgdmlzaWJsZTogYm9vbGVhbjtcbiAgcHVibGljIGZpbHRybzogT2JqZXRvUmVwb3J0ZU1vZGVsID0gbmV3IE9iamV0b1JlcG9ydGVNb2RlbCgpO1xuICBwdWJsaWMgZmlsdGVyczogYW55W10gPSBbXTtcbiAgcHVibGljIHBhZ2luYXRvciA9IHtcbiAgICByb3dzOiAxMCxcbiAgICB0b3RhbFJlY29yZHM6IDAsXG4gIH07XG4gIHB1YmxpYyBzZWxlY2Npb25HZW5lcmFsOiBib29sZWFuO1xuICBwdWJsaWMgbG9hZGluZzogYm9vbGVhbjtcbiAgcHVibGljIGNvbHVtbnM6IGFueVtdID0gW107XG5cbiAgQFZpZXdDaGlsZCgndGFibGFHZW5lcmFsJykgdGFibGFHZW5lcmFsIDogVGFibGU7XG5cbiAgQE91dHB1dCgpIGFwbGljYXJEZXN0aW5vT2N1bHRhciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsIHByaXZhdGUgcmVwb3J0ZXNTdmM6IFJlcG9ydGVzU2VydmljZSwgcHJpdmF0ZSB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIG5vdGlmaWNhdGlvbkJ1c1NlcnZpY2U6IFRvYXN0U2VydmljZSkge1xuICAgIHRoaXMuY29sdW1ucyA9IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6ICdvYmpldG8nLFxuICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdkZXNjcmlwY2lvbicpLFxuICAgICAgICB3aWR0aDogMTAwLFxuICAgICAgfSxcbiAgICBdO1xuICAgIHRoaXMuZmlsdGVycyA9IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6ICdkZXNjcmlwY2lvbicsXG4gICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rlc2NyaXBjaW9uJyksXG4gICAgICAgIG1hdGNoTW9kZTogJ2NvbnRhaW5zJyxcbiAgICAgIH1cbiAgICBdO1xuICAgIHRoaXMubG9hZChudWxsKTtcbiAgfVxuXG5cbiAgY2FyZ2FMYXp5KGV2ZW50KXtcbiAgICB0aGlzLnRhYmxhR2VuZXJhbC5maWx0ZXJHbG9iYWwodGhpcy5maWx0cm9UYWJsYSwnY29udGFpbnMnKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkKGV2ZW50KSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLmNvbG9jYXJGaWx0cm8oKTtcbiAgICAgIHRoaXMucGFnaW5hZG9yVGFibGFzID0gYXdhaXQgdGhpcy5yZXBvcnRlc1N2Yy5nZXRPYmpldG9zKHRoaXMuZmlsdHJvKS50b1Byb21pc2UoKTtcbiAgICAgIHRoaXMucGFnaW5hdG9yLnRvdGFsUmVjb3JkcyA9IGF3YWl0IHRoaXMucmVwb3J0ZXNTdmMuZ2V0Q2FudGlkYWRPYmpldG9zKHRoaXMuZmlsdHJvKS50b1Byb21pc2UoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgIH1cbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgfVxuICBwdWJsaWMgY29sb2NhckZpbHRybygpIHtcbiAgICB0aGlzLmZpbHRybyA9IG5ldyBPYmpldG9SZXBvcnRlTW9kZWwoKTtcbiAgICBpZiAodGhpcy5maWx0cm9UYWJsYSAhPSBudWxsICYmIHRoaXMudXRpbHNTZXJ2aWNlLmlzTm90QmxhbmsodGhpcy5maWx0cm9UYWJsYSkpIHtcbiAgICAgIHRoaXMuZmlsdHJvLmZpbHRybyA9IChDb25zdGFudGVzR2VuZXJhbGVzLlBPUkNFTlRBSkUgKyB0aGlzLmZpbHRyb1RhYmxhICsgQ29uc3RhbnRlc0dlbmVyYWxlcy5QT1JDRU5UQUpFKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYnVzY2FyVGFibGEoZGVzdGlubzogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuZmlsdHJvVGFibGEgPSAnJztcbiAgICAgIHRoaXMubW9zdHJhclBvcHVwKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICB9XG4gIH1cblxuXG4gIHB1YmxpYyBzZWxlY2Npb25hclRhYmxhKCkge1xuICAgIHRyeSB7XG5cbiAgICAgIGxldCB0YWJsYVNlbGVjY2lvbmFkYSA9IHRoaXMucGFnaW5hZG9yVGFibGFzLmZpbHRlcihkYXRhID0+IGRhdGEuY2hlY2sgPT0gdHJ1ZSk7XG4gICAgICBpZiAodGFibGFTZWxlY2Npb25hZGEubGVuZ3RoID09IDApIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25CdXNTZXJ2aWNlLnNob3dXYXJuaW5nKCdTZWxlY2Npb25lIHBvciBsbyBtZW5vcyB1biByZWdpc3RybycpO1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHRoaXMuYXBsaWNhckRlc3Rpbm9PY3VsdGFyLmVtaXQodGFibGFTZWxlY2Npb25hZGEpO1xuICAgICAgdGhpcy5vY3VsdGFyUG9wdXAoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgIH1cbiAgfVxuXG4gIG1vc3RyYXJQb3B1cCgpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb2N1bHRhclBvcHVwKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgdG9kb3NTZWxlY2Npb25hZG9zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBhZ2luYWRvclRhYmxhcy5ldmVyeShlbGVtZW50byA9PiBlbGVtZW50by5jaGVjayk7XG4gIH1cblxuICBhY3R1YWxpemFyU2VsZWNjaW9uKGJvb2xlYW5vZ2VuZXJhbDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChib29sZWFub2dlbmVyYWwpIHtcbiAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgdGFyZ2V0OiBldmVudD8udGFyZ2V0LFxuICAgICAgICBtZXNzYWdlOiAnRGVzZWEgc2VsZWNjaW9uYXIgdG9kb3MgbG9zIHJlZ2lzdHJvcz8nLFxuICAgICAgICBhY2NlcHRMYWJlbDogJ1NpJyxcbiAgICAgICAga2V5OidlbGltaW5hcicsXG4gICAgICAgIGhlYWRlcjogJ0NvbmZpcm1hcicsXG4gICAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucGFnaW5hZG9yVGFibGFzLmZvckVhY2goKGVsZW1lbnRvKSA9PiB7XG4gICAgICAgICAgICBlbGVtZW50by5jaGVjayA9IGJvb2xlYW5vZ2VuZXJhbDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVqZWN0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY2Npb25HZW5lcmFsID1mYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFnaW5hZG9yVGFibGFzLmZvckVhY2goKGVsZW1lbnRvKSA9PiB7XG4gICAgICAgIGVsZW1lbnRvLmNoZWNrID0gYm9vbGVhbm9nZW5lcmFsO1xuICAgICAgfSk7XG4gICAgfVxuXG5cblxuICB9XG5cblxufVxuIiwiPHAtY29uZmlybURpYWxvZyAjY2Qga2V5PVwiZWxpbWluYXJcIj5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicC1idXR0b24tb3V0bGluZWQtYnV0dG9uLXNlY29uZGFyeSBwLWJ1dHRvbi1vdXRsaW5lZCBwLWJ1dHRvbiBwLWNvbXBvbmVudFwiIHBCdXR0b25cbiAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktdGltZXNcIiBsYWJlbD1cIk5vXCIgKGNsaWNrKT1cImNkLnJlamVjdCgpXCI+PC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBwQnV0dG9uIGljb249XCJwaSBwaS1jaGVja1wiIGxhYmVsPVwiU2lcIiBjbGFzcz1cInAtYnV0dG9uLXJhaXNlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNkLmFjY2VwdCgpXCI+PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3AtY29uZmlybURpYWxvZz5cbjxwLWRpYWxvZyBpZD0ncG9wdXBmdWVudGVUYWJsYXMnIGhlYWRlcj1cInt7J2Z1ZW50ZScgfCB0cmFuc2xhdGV9fVwiXG4gICAgWyh2aXNpYmxlKV09XCJ2aXNpYmxlXCIgW2JyZWFrcG9pbnRzXT1cInsnOTYwcHgnOiAnNzV2dycsICc2NDBweCc6ICcxMDB2dyd9XCIgW3N0eWxlXT1cInt3aWR0aDogJzUwdncnfVwiXG4gICAgKG9uSGlkZSk9XCJvY3VsdGFyUG9wdXAoKVwiIFttb2RhbF09XCJ0cnVlXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIG1iLTNcIj5cbiAgICAgICAgPGFwcC1maWx0cm8tZ2VuZXJhbCBbZmlsdHJvc109XCJmaWx0ZXJzXCIgKG1ldG9kb1JlZ3Jlc2FyKT1cImNhcmdhTGF6eSgkZXZlbnQpXCI+IFxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1mb3JtPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1mbG9hdC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHBJbnB1dFRleHQgYXV0b2ZvY3VzIHR5cGU9XCJ0ZXh0XCIgaWQ9XCJkZXNjcmlwY2lvblwiIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXBjaW9uXCIgWyhuZ01vZGVsKV09XCJmaWx0cm9UYWJsYVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkZXNjcmlwY2lvblwiPnt7J2ZpbHRybycgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvYXBwLWZpbHRyby1nZW5lcmFsPlxuICAgICAgICBcbiAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgY2xhc3M9XCJtbC0yIHAtcmlwcGxlIHAtZWxlbWVudCBwLWJ1dHRvbiBwLWNvbXBvbmVudCBwLWJ1dHRvbi1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLXBsdXNcIiBsYWJlbD1cInt7J2FkaWNpb25hcicgfCB0cmFuc2xhdGV9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWNjaW9uYXJUYWJsYSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgPC9kaXY+XG4gICAgXG4gICAgPHAtdGFibGUgI3RhYmxhR2VuZXJhbCBpZD1cInRhYmxhX2xpc3RhX3RpcG9fZW50aWRhZFwiIFt2YWx1ZV09XCJwYWdpbmFkb3JUYWJsYXNcIiBbc2Nyb2xsYWJsZV09XCJ0cnVlXCJcbiAgICBbdG90YWxSZWNvcmRzXT1cInBhZ2luYWRvclRhYmxhcy5sZW5ndGhcIiBzY3JvbGxEaXJlY3Rpb249XCJib3RoXCIgc2Nyb2xsRGlyZWN0aW9uPVwiaG9yaXpvbnRhbFwiXG4gICAgcmVzcG9uc2l2ZUxheW91dD1cInNjcm9sbFwiIHNjcm9sbERpcmVjdGlvbj1cImhvcml6b250YWxcIiBbcGFnaW5hdG9yXT1cInBhZ2luYWRvclRhYmxhcy5sZW5ndGggPiAxMFwiXG4gICAgW3Jvd3NdPVwiMTBcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZFwiXG4gICAgW3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJ0cnVlXCIgZWRpdE1vZGU9XCJyb3dcIiAgW2dsb2JhbEZpbHRlckZpZWxkc109XCJbJ29iamV0byddXCJcbiAgICBjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlPVwie2ZpcnN0fSBhbCB7bGFzdH0gZGUge3RvdGFsUmVjb3Jkc30gcmVnaXN0cm9zXCJcbiAgICBkYXRhS2V5PVwiYWxpYXNcIj5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOjI1JVwiIGFsaWduRnJvemVuPVwibGVmdFwiIHBGcm96ZW5Db2x1bW4+XG4gICAgICAgICAgICAgICAgPHAtY2hlY2tib3ggW3N0eWxlXT1cInsnbWFyZ2luLWxlZnQnOiAnMSUnLCdtYXJnaW4tcmlnaHQnOicxJSd9XCJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY2Npb25HZW5lcmFsXCIgW2JpbmFyeV09XCJ0cnVlXCIgW25nTW9kZWxdPVwidG9kb3NTZWxlY2Npb25hZG9zKClcIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJhY3R1YWxpemFyU2VsZWNjaW9uKCRldmVudClcIj48L3AtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJtYXJnaW4tbGVmdDoxJVwiPnt7J3RhYmxhJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgPC90cj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LXRhYmxhPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDoyNSVcIj5cbiAgICAgICAgICAgICAgICA8cC1jaGVja2JveCBjbGFzcz1cIm1yLTIgXCIgWyhuZ01vZGVsKV09XCJ0YWJsYS5jaGVja1wiIFtiaW5hcnldPVwidHJ1ZVwiIGlucHV0SWQ9XCJiaW5hcnlcIj5cbiAgICAgICAgICAgICAgICA8L3AtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAge3t0YWJsYS5vYmpldG99fVxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIj5cbiAgICAgICAgPHRyIGNsYXNzPVwicC0zIGZvbnQtbWVkaXVtIGVtcHR5bWVzc2FnZVwiPlxuICAgICAgICAgICAgPHRkIGNvbHNwYW49XCI1XCI+XG4gICAgICAgICAgICAgICAge3snbWVuc2FqZXRhYmxhdmFjaWEnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvcC10YWJsZT5cblxuXG4gICAgPC9wLWRpYWxvZz5cbiJdfQ==