sigesp 0.9.9-20221205 → 0.9.11-20221211
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sigesp.umd.js +449 -212
- package/bundles/sigesp.umd.js.map +1 -1
- package/bundles/sigesp.umd.min.js +15 -1
- package/bundles/sigesp.umd.min.js.map +1 -1
- package/esm2015/lib/core/interfaces/Auditoria.js +1 -1
- package/esm2015/lib/core/interfaces/Clasificacion.js +1 -1
- package/esm2015/lib/core/interfaces/CuentasPorPagar.js +1 -1
- package/esm2015/lib/core/interfaces/Nomina.js +1 -1
- package/esm2015/lib/core/interfaces/RecursosHumanos.js +1 -1
- package/esm2015/lib/core/models/CXP/MConceptosCXP.model.js +6 -3
- package/esm2015/lib/core/models/CXP/MTipoDocumentoCXP.model.js +6 -3
- package/esm2015/lib/core/models/RPC/clasification.model.js +4 -2
- package/esm2015/lib/core/models/SNO/MAnticipoPrestaciones.model.js +4 -1
- package/esm2015/lib/core/models/SNO/MArchivoTxtCampo.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MArchivosTxt.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MAsignacionCargo.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MAspectoEvaluacion.model.js +11 -5
- package/esm2015/lib/core/models/SNO/MAuditoria.model.js +5 -2
- package/esm2015/lib/core/models/SNO/MBeneficiario.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MCargosPersonal.model.js +6 -2
- package/esm2015/lib/core/models/SNO/MClasificacionObrero.mdel.js +6 -3
- package/esm2015/lib/core/models/SNO/MCodigoUnicoRac.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MComponete.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MConceptoVacaciones.model.js +5 -2
- package/esm2015/lib/core/models/SNO/MConceptosNomina.model.js +5 -2
- package/esm2015/lib/core/models/SNO/MConceptosPersonalNomina.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MConcursante.model.js +26 -11
- package/esm2015/lib/core/models/SNO/MConcurso.model.js +21 -9
- package/esm2015/lib/core/models/SNO/MConfiguracionSNO.model.js +5 -2
- package/esm2015/lib/core/models/SNO/MConstanteNomina.model.js +5 -2
- package/esm2015/lib/core/models/SNO/MConstantePersonalNomina.model.js +5 -2
- package/esm2015/lib/core/models/SNO/MDedicacion.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MDefinicionNomina.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MDefinicionesBasicas.model.js +12 -3
- package/esm2015/lib/core/models/SNO/MDeudaAnterior.model.js +4 -1
- package/esm2015/lib/core/models/SNO/MEncargaduria.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MEscalaEvaluacion.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MEscalaEvaluacionDt.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MEstructuraOrganizativa.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MFamiliares.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MFideicomiso.model.js +27 -9
- package/esm2015/lib/core/models/SNO/MFormacionAcademica.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MGrado.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MHojaTiempo.model.js +7 -2
- package/esm2015/lib/core/models/SNO/MImpuestoSobreRenta.model.js +4 -1
- package/esm2015/lib/core/models/SNO/MMetodoBanco.model.js +11 -5
- package/esm2015/lib/core/models/SNO/MNominaSimple.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MPeriodoNomina.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MPermisos.model.js +4 -1
- package/esm2015/lib/core/models/SNO/MPersonal.model.js +29 -9
- package/esm2015/lib/core/models/SNO/MPersonalJubilado.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MPersonalNomina.model.js +13 -3
- package/esm2015/lib/core/models/SNO/MPlanHorario.model.js +30 -45
- package/esm2015/lib/core/models/SNO/MPrestamo.model.js +10 -1
- package/esm2015/lib/core/models/SNO/MPrimaGrados.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MPrimasConcepto.model.js +5 -2
- package/esm2015/lib/core/models/SNO/MRango.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MRequisitosConcursante.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MRequisitosConcursos.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MRequisitosMinimos.model.js +11 -5
- package/esm2015/lib/core/models/SNO/MSalarioHistorico.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MSolicitudEmpleo.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MTablaVacaciones.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MTablaVacacionesPeriodo.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MTabulador.model.js +11 -5
- package/esm2015/lib/core/models/SNO/MTipoEvaluacion.model.js +11 -5
- package/esm2015/lib/core/models/SNO/MTipoPersonal.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MTiposEnfermedad.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MTrabajoAnterior.model.js +4 -1
- package/esm2015/lib/core/models/SNO/MUbicacionFisica.model.js +6 -3
- package/esm2015/lib/core/models/SNO/MVacacionesPersonal.model.js +6 -3
- package/esm2015/lib/core/models/SNO/McargaFamiliar.model.js +6 -3
- package/esm2015/lib/sigesp.service.js +2 -2
- package/esm2015/public-api.js +2 -2
- package/fesm2015/sigesp.js +444 -184
- package/fesm2015/sigesp.js.map +1 -1
- package/lib/core/interfaces/Auditoria.d.ts +2 -1
- package/lib/core/interfaces/Clasificacion.d.ts +1 -0
- package/lib/core/interfaces/CuentasPorPagar.d.ts +6 -3
- package/lib/core/interfaces/Nomina.d.ts +31 -14
- package/lib/core/interfaces/RecursosHumanos.d.ts +140 -57
- package/lib/core/models/CXP/MConceptosCXP.model.d.ts +1 -0
- package/lib/core/models/CXP/MTipoDocumentoCXP.model.d.ts +1 -0
- package/lib/core/models/RPC/clasification.model.d.ts +1 -0
- package/lib/core/models/SNO/MAnticipoPrestaciones.model.d.ts +1 -0
- package/lib/core/models/SNO/MArchivoTxtCampo.model.d.ts +1 -0
- package/lib/core/models/SNO/MArchivosTxt.model.d.ts +1 -0
- package/lib/core/models/SNO/MAsignacionCargo.model.d.ts +1 -0
- package/lib/core/models/SNO/MAspectoEvaluacion.model.d.ts +2 -0
- package/lib/core/models/SNO/MAuditoria.model.d.ts +1 -0
- package/lib/core/models/SNO/MBeneficiario.model.d.ts +1 -0
- package/lib/core/models/SNO/MCargosPersonal.model.d.ts +1 -0
- package/lib/core/models/SNO/MClasificacionObrero.mdel.d.ts +1 -0
- package/lib/core/models/SNO/MCodigoUnicoRac.model.d.ts +1 -0
- package/lib/core/models/SNO/MComponete.model.d.ts +1 -0
- package/lib/core/models/SNO/MConceptoVacaciones.model.d.ts +1 -0
- package/lib/core/models/SNO/MConceptosNomina.model.d.ts +1 -0
- package/lib/core/models/SNO/MConceptosPersonalNomina.model.d.ts +1 -0
- package/lib/core/models/SNO/MConcursante.model.d.ts +5 -0
- package/lib/core/models/SNO/MConcurso.model.d.ts +4 -0
- package/lib/core/models/SNO/MConfiguracionSNO.model.d.ts +1 -0
- package/lib/core/models/SNO/MConstanteNomina.model.d.ts +1 -0
- package/lib/core/models/SNO/MConstantePersonalNomina.model.d.ts +1 -0
- package/lib/core/models/SNO/MDedicacion.model.d.ts +1 -0
- package/lib/core/models/SNO/MDefinicionNomina.model.d.ts +1 -0
- package/lib/core/models/SNO/MDefinicionesBasicas.model.d.ts +3 -0
- package/lib/core/models/SNO/MDeudaAnterior.model.d.ts +1 -0
- package/lib/core/models/SNO/MEncargaduria.model.d.ts +1 -0
- package/lib/core/models/SNO/MEscalaEvaluacion.model.d.ts +1 -0
- package/lib/core/models/SNO/MEscalaEvaluacionDt.model.d.ts +1 -0
- package/lib/core/models/SNO/MEstructuraOrganizativa.model.d.ts +1 -0
- package/lib/core/models/SNO/MFamiliares.model.d.ts +1 -0
- package/lib/core/models/SNO/MFideicomiso.model.d.ts +8 -0
- package/lib/core/models/SNO/MFormacionAcademica.model.d.ts +1 -0
- package/lib/core/models/SNO/MGrado.model.d.ts +1 -0
- package/lib/core/models/SNO/MHojaTiempo.model.d.ts +2 -0
- package/lib/core/models/SNO/MImpuestoSobreRenta.model.d.ts +1 -0
- package/lib/core/models/SNO/MMetodoBanco.model.d.ts +2 -0
- package/lib/core/models/SNO/MNominaSimple.model.d.ts +1 -0
- package/lib/core/models/SNO/MPeriodoNomina.model.d.ts +1 -0
- package/lib/core/models/SNO/MPermisos.model.d.ts +1 -0
- package/lib/core/models/SNO/MPersonal.model.d.ts +6 -0
- package/lib/core/models/SNO/MPersonalJubilado.model.d.ts +1 -0
- package/lib/core/models/SNO/MPersonalNomina.model.d.ts +4 -0
- package/lib/core/models/SNO/MPlanHorario.model.d.ts +8 -13
- package/lib/core/models/SNO/MPrestamo.model.d.ts +3 -0
- package/lib/core/models/SNO/MPrimaGrados.model.d.ts +1 -0
- package/lib/core/models/SNO/MPrimasConcepto.model.d.ts +1 -0
- package/lib/core/models/SNO/MRango.model.d.ts +1 -0
- package/lib/core/models/SNO/MRequisitosConcursante.model.d.ts +1 -0
- package/lib/core/models/SNO/MRequisitosConcursos.model.d.ts +1 -0
- package/lib/core/models/SNO/MRequisitosMinimos.model.d.ts +2 -0
- package/lib/core/models/SNO/MSalarioHistorico.model.d.ts +1 -0
- package/lib/core/models/SNO/MSolicitudEmpleo.model.d.ts +1 -0
- package/lib/core/models/SNO/MTablaVacaciones.model.d.ts +1 -0
- package/lib/core/models/SNO/MTablaVacacionesPeriodo.model.d.ts +1 -0
- package/lib/core/models/SNO/MTabulador.model.d.ts +2 -0
- package/lib/core/models/SNO/MTipoEvaluacion.model.d.ts +2 -0
- package/lib/core/models/SNO/MTipoPersonal.model.d.ts +1 -0
- package/lib/core/models/SNO/MTiposEnfermedad.model.d.ts +1 -0
- package/lib/core/models/SNO/MTrabajoAnterior.model.d.ts +1 -0
- package/lib/core/models/SNO/MUbicacionFisica.model.d.ts +1 -0
- package/lib/core/models/SNO/MVacacionesPersonal.model.d.ts +1 -0
- package/lib/core/models/SNO/McargaFamiliar.model.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/sigesp.metadata.json +1 -1
|
@@ -2,6 +2,7 @@ import { MBasicModel } from "../basic-model.model";
|
|
|
2
2
|
export class MConcursante extends MBasicModel {
|
|
3
3
|
constructor(e = null) {
|
|
4
4
|
super();
|
|
5
|
+
this.idEnterprise = 0;
|
|
5
6
|
this.idEmpresa = 0;
|
|
6
7
|
this.idConcurso = 0;
|
|
7
8
|
this.codigoConcurso = '';
|
|
@@ -28,7 +29,8 @@ export class MConcursante extends MBasicModel {
|
|
|
28
29
|
this.nivelAcademico = 0;
|
|
29
30
|
this.estatusRequisitos = 1;
|
|
30
31
|
if (e) {
|
|
31
|
-
this.
|
|
32
|
+
this.idEnterprise = +e.id_enterprise;
|
|
33
|
+
this.idEmpresa = +e.id_empresa;
|
|
32
34
|
this.idConcurso = parseInt(e.id_concurso);
|
|
33
35
|
this.codigoConcurso = e.codcon;
|
|
34
36
|
this.idConcursante = parseInt(e.id_concursante);
|
|
@@ -57,7 +59,8 @@ export class MConcursante extends MBasicModel {
|
|
|
57
59
|
}
|
|
58
60
|
dataInterface() {
|
|
59
61
|
return {
|
|
60
|
-
|
|
62
|
+
id_enterprise: this.idEnterprise.toString(),
|
|
63
|
+
id_empresa: this.idEmpresa,
|
|
61
64
|
id_concurso: this.idConcurso.toString(),
|
|
62
65
|
codcon: this.codigoConcurso,
|
|
63
66
|
id_concursante: this.idConcursante.toString(),
|
|
@@ -88,6 +91,7 @@ export class MConcursante extends MBasicModel {
|
|
|
88
91
|
export class MTrabajosConcursantes extends MBasicModel {
|
|
89
92
|
constructor(e) {
|
|
90
93
|
super();
|
|
94
|
+
this.idEnterprise = 0;
|
|
91
95
|
this.idEmpresa = 0;
|
|
92
96
|
this.idConcurso = 0;
|
|
93
97
|
this.idConcursante = 0;
|
|
@@ -98,7 +102,8 @@ export class MTrabajosConcursantes extends MBasicModel {
|
|
|
98
102
|
this.fechaIngreso = '';
|
|
99
103
|
this.fechaRetiro = '';
|
|
100
104
|
if (e) {
|
|
101
|
-
this.
|
|
105
|
+
this.idEnterprise = +e.id_enterprise;
|
|
106
|
+
this.idEmpresa = +e.id_empresa;
|
|
102
107
|
this.idConcurso = parseInt(e.id_concurso);
|
|
103
108
|
this.idConcursante = parseInt(e.id_concursante);
|
|
104
109
|
this.idTrabajo = parseInt(e.id_trabajocon);
|
|
@@ -114,7 +119,8 @@ export class MTrabajosConcursantes extends MBasicModel {
|
|
|
114
119
|
}
|
|
115
120
|
dataInterface() {
|
|
116
121
|
return {
|
|
117
|
-
|
|
122
|
+
id_enterprise: this.idEnterprise.toString(),
|
|
123
|
+
id_empresa: this.idEmpresa,
|
|
118
124
|
id_concurso: this.idConcurso.toString(),
|
|
119
125
|
id_concursante: this.idConcursante.toString(),
|
|
120
126
|
id_trabajocon: this.idTrabajo.toString(),
|
|
@@ -129,6 +135,7 @@ export class MTrabajosConcursantes extends MBasicModel {
|
|
|
129
135
|
export class MEstudiosConcursantes extends MBasicModel {
|
|
130
136
|
constructor(e = null) {
|
|
131
137
|
super();
|
|
138
|
+
this.idEnterprise = 0;
|
|
132
139
|
this.idEmpresa = 0;
|
|
133
140
|
this.idConcurso = 0;
|
|
134
141
|
this.idConcursante = 0;
|
|
@@ -142,7 +149,8 @@ export class MEstudiosConcursantes extends MBasicModel {
|
|
|
142
149
|
this.yearAprobados = 0;
|
|
143
150
|
this.horasEstudiosRealizadas = 0;
|
|
144
151
|
if (e) {
|
|
145
|
-
this.
|
|
152
|
+
this.idEnterprise = +e.id_enterprise;
|
|
153
|
+
this.idEmpresa = +e.id_empresa;
|
|
146
154
|
this.idConcurso = parseInt(e.id_concurso);
|
|
147
155
|
this.idConcursante = parseInt(e.id_concursante);
|
|
148
156
|
this.idEstudio = parseInt(e.id_estudiocon);
|
|
@@ -161,7 +169,8 @@ export class MEstudiosConcursantes extends MBasicModel {
|
|
|
161
169
|
}
|
|
162
170
|
dataInterface() {
|
|
163
171
|
return {
|
|
164
|
-
|
|
172
|
+
id_enterprise: this.idEnterprise.toString(),
|
|
173
|
+
id_empresa: this.idEmpresa,
|
|
165
174
|
id_concurso: this.idConcurso.toString(),
|
|
166
175
|
id_concursante: this.idConcursante.toString(),
|
|
167
176
|
id_estudiocon: this.idEstudio.toString(),
|
|
@@ -220,6 +229,7 @@ export class MExperienciaLaboral extends MBasicModel {
|
|
|
220
229
|
export class MFamiliaConcursante extends MBasicModel {
|
|
221
230
|
constructor(e = null) {
|
|
222
231
|
super();
|
|
232
|
+
this.idEnterprise = 0;
|
|
223
233
|
this.idEmpresa = 0;
|
|
224
234
|
this.idConcurso = 0;
|
|
225
235
|
this.idConcursante = 0;
|
|
@@ -232,7 +242,8 @@ export class MFamiliaConcursante extends MBasicModel {
|
|
|
232
242
|
this.nexo = '';
|
|
233
243
|
this.fecha = '';
|
|
234
244
|
if (e) {
|
|
235
|
-
this.
|
|
245
|
+
this.idEnterprise = +e.id_enterprise;
|
|
246
|
+
this.idEmpresa = +e.id_empresa;
|
|
236
247
|
this.idConcurso = parseInt(e.id_concurso);
|
|
237
248
|
this.idConcursante = parseInt(e.id_concursante);
|
|
238
249
|
this.idFamiliar = parseInt(e.id_familiacon);
|
|
@@ -250,7 +261,8 @@ export class MFamiliaConcursante extends MBasicModel {
|
|
|
250
261
|
}
|
|
251
262
|
dataInterface() {
|
|
252
263
|
return {
|
|
253
|
-
|
|
264
|
+
id_enterprise: this.idEnterprise.toString(),
|
|
265
|
+
id_empresa: this.idEmpresa,
|
|
254
266
|
id_concurso: this.idConcurso.toString(),
|
|
255
267
|
id_concursante: this.idConcursante.toString(),
|
|
256
268
|
id_familiacon: this.idFamiliar.toString(),
|
|
@@ -267,6 +279,7 @@ export class MFamiliaConcursante extends MBasicModel {
|
|
|
267
279
|
export class MFormacionInformal extends MBasicModel {
|
|
268
280
|
constructor(e = null) {
|
|
269
281
|
super();
|
|
282
|
+
this.idEnterprise = 0;
|
|
270
283
|
this.idEmpresa = 0;
|
|
271
284
|
this.idConcurso = 0;
|
|
272
285
|
this.idConcursante = 0;
|
|
@@ -275,7 +288,8 @@ export class MFormacionInformal extends MBasicModel {
|
|
|
275
288
|
this.descripcionCurso = '';
|
|
276
289
|
this.horasCurso = 0;
|
|
277
290
|
if (e) {
|
|
278
|
-
this.
|
|
291
|
+
this.idEnterprise = +e.id_enterprise;
|
|
292
|
+
this.idEmpresa = +e.id_empresa;
|
|
279
293
|
this.idConcursante = parseInt(e.id_concurso);
|
|
280
294
|
this.idConcursante = parseInt(e.id_concursante);
|
|
281
295
|
this.idCurso = parseInt(e.id_curso);
|
|
@@ -289,7 +303,8 @@ export class MFormacionInformal extends MBasicModel {
|
|
|
289
303
|
}
|
|
290
304
|
dataInterface() {
|
|
291
305
|
return {
|
|
292
|
-
|
|
306
|
+
id_enterprise: this.idEnterprise.toString(),
|
|
307
|
+
id_empresa: this.idEmpresa,
|
|
293
308
|
id_concurso: this.idConcurso.toString(),
|
|
294
309
|
id_concursante: this.idConcurso.toString(),
|
|
295
310
|
id_curso: this.idCurso.toString(),
|
|
@@ -299,4 +314,4 @@ export class MFormacionInformal extends MBasicModel {
|
|
|
299
314
|
};
|
|
300
315
|
}
|
|
301
316
|
}
|
|
302
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNvbmN1cnNhbnRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTUNvbmN1cnNhbnRlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQVc7SUEyQnpDLFlBQWEsSUFBZSxJQUFJO1FBQzVCLEtBQUssRUFBRSxDQUFDO1FBM0JMLGNBQVMsR0FBUyxDQUFDLENBQUM7UUFDcEIsZUFBVSxHQUFTLENBQUMsQ0FBQztRQUNyQixtQkFBYyxHQUFTLEVBQUUsQ0FBQztRQUMxQixrQkFBYSxHQUFTLENBQUMsQ0FBQztRQUN4QixXQUFNLEdBQVMsRUFBRSxDQUFDO1FBQ2xCLGdCQUFXLEdBQVMsQ0FBQyxDQUFDO1FBQ3RCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFDMUIscUJBQWdCLEdBQVMsRUFBRSxDQUFDO1FBQzVCLFlBQU8sR0FBUyxFQUFFLENBQUM7UUFDbkIsY0FBUyxHQUFTLEVBQUUsQ0FBQztRQUNyQixjQUFTLEdBQVMsRUFBRSxDQUFDO1FBQ3JCLG9CQUFlLEdBQVMsRUFBRSxDQUFDO1FBQzNCLGdCQUFXLEdBQVMsRUFBRSxDQUFDO1FBQ3ZCLGVBQVUsR0FBUyxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFTLEVBQUUsQ0FBQztRQUN0QixpQkFBWSxHQUFTLEVBQUUsQ0FBQztRQUN4QixpQkFBWSxHQUFTLEVBQUUsQ0FBQztRQUN4QixpQkFBWSxHQUFTLEVBQUUsQ0FBQztRQUN4QixhQUFRLEdBQVMsRUFBRSxDQUFDO1FBQ3BCLFlBQU8sR0FBUyxFQUFFLENBQUM7UUFDbkIsV0FBTSxH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U0FDeEMsQ0FBQTtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDb25jdXJzYW50ZSwgSUVzdHVkaW9zQ29uY3Vyc2FudGVzLCBJRXhwZXJpZW5jaWFMYWJvcmFsLCBJRmFtaWxpYUNvbmN1cnNhbnRlLCBJRm9ybWFjaW9uSW5mb3JtYWwsIElUcmFiYWpvc0NvbmN1cnNhbnRlcyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL1JlY3Vyc29zSHVtYW5vc1wiO1xyXG5pbXBvcnQgeyBNQmFzaWNNb2RlbCB9IGZyb20gXCIuLi9iYXNpYy1tb2RlbC5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1Db25jdXJzYW50ZSBleHRlbmRzIE1CYXNpY01vZGVsIHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc286IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb0NvbmN1cnNvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgaWRDb25jdXJzYW50ZTogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY2VkdWxhOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgaWRQcm9mZXNpb246IG51bWJlcj0wO1xyXG4gICAgcHVibGljIHByb2Zlc2lvbjpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlUHJvZmVzaW9uOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBmZWNoYUluc2NyaXBjaW9uOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlczogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGFwZWxsaWRvczogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRpcmVjY2lvbjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGZlY2hhTmFjaW1pZW50bzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGVzdGFkb0NpdmlsOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY29kaWdvUGFpczogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIG5vbWJyZVBhaXM6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb2RpZ29Fc3RhZG86IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBub21icmVFc3RhZG86IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBuYWNpb25hbGlkYWQ6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyB0ZWxlZm9ubzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNlbHVsYXI6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb3JyZW86IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBnZW5lcm86IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBuaXZlbEFjYWRlbWljbzogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgZXN0YXR1c1JlcXVpc2l0b3M6IG51bWJlcj0xO1xyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvciAoZTpJQ29uY3Vyc2FudGU9bnVsbCkgeyAgXHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPXBhcnNlSW50KGUuaWRfZW1wcmVzYSk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDb25jdXJzbz1wYXJzZUludChlLmlkX2NvbmN1cnNvKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Db25jdXJzbz1lLmNvZGNvbjtcclxuICAgICAgICAgICAgdGhpcy5pZENvbmN1cnNhbnRlPXBhcnNlSW50KGUuaWRfY29uY3Vyc2FudGUpO1xyXG4gICAgICAgICAgICB0aGlzLmNlZHVsYT1lLmNlZHBlcjtcclxuICAgICAgICAgICAgdGhpcy5pZFByb2Zlc2lvbj1wYXJzZUludChlLmlkX3Byb2Zlc2lvbik7XHJcbiAgICAgICAgICAgIHRoaXMucHJvZmVzaW9uPWUucHJvZmVzaW9uO1xyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZVByb2Zlc2lvbj1lLm5vbWJyZV9wcm9mZXNpb247XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFJbnNjcmlwY2lvbj1lLmZlY3JlZztcclxuICAgICAgICAgICAgdGhpcy5ub21icmVzPWUubm9tcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmFwZWxsaWRvcz1lLmFwZXBlcjtcclxuICAgICAgICAgICAgdGhpcy5kaXJlY2Npb249ZS5kaXJwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFOYWNpbWllbnRvPWUuZmVjbmFjcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmVzdGFkb0NpdmlsPWUuZXN0Y2l2cGVyO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1BhaXM9ZS5jb2RwYWk7XHJcbiAgICAgICAgICAgIHRoaXMubm9tYnJlUGFpcz1lLm5vbWJyZV9wYWlzO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0VzdGFkbz1lLmNvZGVzdDtcclxuICAgICAgICAgICAgdGhpcy5ub21icmVFc3RhZG89ZS5ub21icmVfZXN0YWRvO1xyXG4gICAgICAgICAgICB0aGlzLm5hY2lvbmFsaWRhZD1lLm5hY3BlcjtcclxuICAgICAgICAgICAgdGhpcy50ZWxlZm9ubz1lLnRlbGhhYnBlcjtcclxuICAgICAgICAgICAgdGhpcy5jZWx1bGFyPWUudGVsbW92cGVyO1xyXG4gICAgICAgICAgICB0aGlzLmNvcnJlbz1lLmVtYXBlcjtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcm89ZS5zZXhwZXI7XHJcbiAgICAgICAgICAgIHRoaXMubml2ZWxBY2FkZW1pY289cGFyc2VJbnQoZS5uaXZhY2FwZXIpO1xyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNSZXF1aXNpdG9zPXBhcnNlSW50KGUuZXN0Y29ucGVyKTtcclxuXHJcbiAgICAgICAgfSAgIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklDb25jdXJzYW50ZXtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZF9lbXByZXNhOiB0aGlzLmlkRW1wcmVzYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzbzogdGhpcy5pZENvbmN1cnNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZGNvbjogdGhpcy5jb2RpZ29Db25jdXJzbyxcclxuICAgICAgICAgICAgaWRfY29uY3Vyc2FudGU6IHRoaXMuaWRDb25jdXJzYW50ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBjZWRwZXI6IHRoaXMuY2VkdWxhLFxyXG4gICAgICAgICAgICBpZF9wcm9mZXNpb246IHRoaXMuaWRQcm9mZXNpb24udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgcHJvZmVzaW9uOiB0aGlzLnByb2Zlc2lvbixcclxuICAgICAgICAgICAgbm9tYnJlX3Byb2Zlc2lvbjogdGhpcy5ub21icmVQcm9mZXNpb24sXHJcbiAgICAgICAgICAgIGZlY3JlZzogdGhpcy5mZWNoYUluc2NyaXBjaW9uLFxyXG4gICAgICAgICAgICBub21wZXI6IHRoaXMubm9tYnJlcyxcclxuICAgICAgICAgICAgYXBlcGVyOiB0aGlzLmFwZWxsaWRvcyxcclxuICAgICAgICAgICAgZGlycGVyOiB0aGlzLmRpcmVjY2lvbixcclxuICAgICAgICAgICAgZmVjbmFjcGVyOiB0aGlzLmZlY2hhTmFjaW1pZW50byxcclxuICAgICAgICAgICAgZXN0Y2l2cGVyOiB0aGlzLmVzdGFkb0NpdmlsLFxyXG4gICAgICAgICAgICBjb2RwYWk6IHRoaXMuY29kaWdvUGFpcyxcclxuICAgICAgICAgICAgbm9tYnJlX3BhaXM6IHRoaXMubm9tYnJlUGFpcyxcclxuICAgICAgICAgICAgY29kZXN0OiB0aGlzLmNvZGlnb0VzdGFkbyxcclxuICAgICAgICAgICAgbm9tYnJlX2VzdGFkbzogdGhpcy5ub21icmVFc3RhZG8sXHJcbiAgICAgICAgICAgIG5hY3BlcjogdGhpcy5uYWNpb25hbGlkYWQsXHJcbiAgICAgICAgICAgIHRlbGhhYnBlcjogdGhpcy50ZWxlZm9ubyxcclxuICAgICAgICAgICAgdGVsbW92cGVyOiB0aGlzLmNlbHVsYXIsXHJcbiAgICAgICAgICAgIGVtYXBlcjogdGhpcy5jb3JyZW8sXHJcbiAgICAgICAgICAgIHNleHBlcjogdGhpcy5nZW5lcm8sXHJcbiAgICAgICAgICAgIG5pdmFjYXBlcjogdGhpcy5uaXZlbEFjYWRlbWljby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBlc3Rjb25wZXI6IHRoaXMuZXN0YXR1c1JlcXVpc2l0b3MudG9TdHJpbmcoKVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNVHJhYmFqb3NDb25jdXJzYW50ZXMgZXh0ZW5kcyBNQmFzaWNNb2RlbCB7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZENvbmN1cnNvOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZENvbmN1cnNhbnRlOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFRyYWJham86IG51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBjb2RpZ286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBlbXByZXNhVHJhYmFqb0FudGVyaW9yOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjYXJnb1RyYWJham9BbnRlcmlvcjpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZmVjaGFJbmdyZXNvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBmZWNoYVJldGlybzpzdHJpbmc9Jyc7XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yIChlPzpJVHJhYmFqb3NDb25jdXJzYW50ZXMpIHsgIFxyXG4gICAgICAgIHN1cGVyKClcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPXBhcnNlSW50KGUuaWRfZW1wcmVzYSk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDb25jdXJzbz1wYXJzZUludChlLmlkX2NvbmN1cnNvKTtcclxuICAgICAgICAgICAgdGhpcy5pZENvbmN1cnNhbnRlPXBhcnNlSW50KGUuaWRfY29uY3Vyc2FudGUpO1xyXG4gICAgICAgICAgICB0aGlzLmlkVHJhYmFqbz1wYXJzZUludChlLmlkX3RyYWJham9jb24pO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnbz1lLmNvZHRyYXBlcjtcclxuICAgICAgICAgICAgdGhpcy5lbXByZXNhVHJhYmFqb0FudGVyaW9yPWUuZW1wdHJhcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmNhcmdvVHJhYmFqb0FudGVyaW9yPWUuY2FydHJhYW50O1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhSW5ncmVzbz1lLmZlY2luZ3RyYWFudDtcclxuICAgICAgICAgICAgdGhpcy5mZWNoYVJldGlybz1lLmZlY3JldHRyYWFudDtcclxuICAgICAgICB9ICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SVRyYWJham9zQ29uY3Vyc2FudGVze1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2E6IHRoaXMuaWRFbXByZXNhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2NvbmN1cnNvOiB0aGlzLmlkQ29uY3Vyc28udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfY29uY3Vyc2FudGU6IHRoaXMuaWRDb25jdXJzYW50ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF90cmFiYWpvY29uOiB0aGlzLmlkVHJhYmFqby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBjb2R0cmFwZXI6IHRoaXMuY29kaWdvLFxyXG4gICAgICAgICAgICBlbXB0cmFwZXI6IHRoaXMuZW1wcmVzYVRyYWJham9BbnRlcmlvcixcclxuICAgICAgICAgICAgY2FydHJhYW50OiB0aGlzLmNhcmdvVHJhYmFqb0FudGVyaW9yLCBcclxuICAgICAgICAgICAgZmVjaW5ndHJhYW50OiB0aGlzLmZlY2hhSW5ncmVzbywgXHJcbiAgICAgICAgICAgIGZlY3JldHRyYWFudDogdGhpcy5mZWNoYVJldGlyb1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1Fc3R1ZGlvc0NvbmN1cnNhbnRlcyBleHRlbmRzIE1CYXNpY01vZGVse1xyXG4gICAgcHVibGljIGlkRW1wcmVzYTogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRDb25jdXJzbzogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRDb25jdXJzYW50ZTogbnVtYmVyPTA7XHJcblx0cHVibGljIGlkRXN0dWRpbzogbnVtYmVyPTA7XHJcblx0cHVibGljIGNvZGlnb0VzdHVkaW86IHN0cmluZz0nJztcclxuXHRwdWJsaWMgaW5zdGl0dXRvRXN0dWRpbzogc3RyaW5nPScnO1xyXG5cdHB1YmxpYyBkZXNjcmlwY2lvbkVzdHVkaW86IHN0cmluZz0nJztcclxuXHRwdWJsaWMgZmVjaGFJbmljaW9Fc3R1ZGlvOiBzdHJpbmc9Jyc7XHJcblx0cHVibGljIGZlY2hhRmluRXN0dWRpbzogc3RyaW5nPScnO1xyXG5cdHB1YmxpYyB0aXR1bG9PYnRlbmlkbzogbnVtYmVyPTA7XHJcblx0cHVibGljIHllYXJBcHJvYmFkb3M6IG51bWJlcj0wO1xyXG5cdHB1YmxpYyBob3Jhc0VzdHVkaW9zUmVhbGl6YWRhczogbnVtYmVyPTA7XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yIChlOklFc3R1ZGlvc0NvbmN1cnNhbnRlcz1udWxsKSB7XHJcbiAgICAgICAgc3VwZXIoKTsgIFxyXG4gICAgICAgIGlmIChlKXtcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9cGFyc2VJbnQoZS5pZF9lbXByZXNhKTtcclxuICAgICAgICAgICAgdGhpcy5pZENvbmN1cnNvPXBhcnNlSW50KGUuaWRfY29uY3Vyc28pO1xyXG5cdFx0XHR0aGlzLmlkQ29uY3Vyc2FudGU9cGFyc2VJbnQoZS5pZF9jb25jdXJzYW50ZSk7XHJcblx0XHRcdHRoaXMuaWRFc3R1ZGlvPXBhcnNlSW50KGUuaWRfZXN0dWRpb2Nvbik7XHJcblx0XHRcdHRoaXMuY29kaWdvRXN0dWRpbz1lLmNvZGVzdHJlYTtcclxuXHRcdFx0dGhpcy5pbnN0aXR1dG9Fc3R1ZGlvPWUuaW5zZXN0cGVyO1xyXG5cdFx0XHR0aGlzLmRlc2NyaXBjaW9uRXN0dWRpbz1lLmRlc2VzdHBlcjtcclxuXHRcdFx0dGhpcy5mZWNoYUluaWNpb0VzdHVkaW89ZS5mZWNpbmlyZWFlc3Q7XHJcblx0XHRcdHRoaXMuZmVjaGFGaW5Fc3R1ZGlvPWUuZmVjZmluZXN0cmVhO1xyXG5cdFx0XHR0aGlzLnRpdHVsb09idGVuaWRvPXBhcnNlSW50KGUudGl0ZXN0cGVyKTtcclxuXHRcdFx0dGhpcy55ZWFyQXByb2JhZG9zPXBhcnNlSW50KGUuYW5vYXByZXN0cGVyKTtcclxuXHRcdFx0dGhpcy5ob3Jhc0VzdHVkaW9zUmVhbGl6YWRhcz1wYXJzZUludChlLmhvcmVzdHJlYSk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9ICBcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJRXN0dWRpb3NDb25jdXJzYW50ZXN7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTogdGhpcy5pZEVtcHJlc2EudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfY29uY3Vyc286IHRoaXMuaWRDb25jdXJzby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzYW50ZTogdGhpcy5pZENvbmN1cnNhbnRlLnRvU3RyaW5nKCksXHJcblx0XHRcdGlkX2VzdHVkaW9jb246IHRoaXMuaWRFc3R1ZGlvLnRvU3RyaW5nKCksXHJcblx0XHRcdGNvZGVzdHJlYTogdGhpcy5jb2RpZ29Fc3R1ZGlvLFxyXG5cdFx0XHRpbnNlc3RwZXI6IHRoaXMuaW5zdGl0dXRvRXN0dWRpbyxcclxuXHRcdFx0ZGVzZXN0cGVyOiB0aGlzLmRlc2NyaXBjaW9uRXN0dWRpbyxcclxuXHRcdFx0ZmVjaW5pcmVhZXN0OiB0aGlzLmZlY2hhSW5pY2lvRXN0dWRpbyxcclxuXHRcdFx0ZmVjZmluZXN0cmVhOiB0aGlzLmZlY2hhRmluRXN0dWRpbyxcclxuXHRcdFx0dGl0ZXN0cGVyOiB0aGlzLnRpdHVsb09idGVuaWRvLnRvU3RyaW5nKCksXHJcblx0XHRcdGFub2FwcmVzdHBlcjogdGhpcy55ZWFyQXByb2JhZG9zLnRvU3RyaW5nKCksXHJcblx0XHRcdGhvcmVzdHJlYTogdGhpcy5ob3Jhc0VzdHVkaW9zUmVhbGl6YWRhcy50b1N0cmluZygpLFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1FeHBlcmllbmNpYUxhYm9yYWwgZXh0ZW5kcyBNQmFzaWNNb2RlbHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc286IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc2FudGU6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkVHJhYmFqb0NvbmN1cnNhbnRlOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29UcmFiYWpvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZW1wcmVzYTogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNhcmdvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZmVjaGFJbmdyZXNvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZmVjaGFSZXRpcm86IHN0cmluZz0nJztcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IgKGU6SUV4cGVyaWVuY2lhTGFib3JhbD1udWxsKSB7ICBcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIGlmIChlKXtcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9cGFyc2VJbnQoZS5pZF9lbXByZXNhKTtcclxuICAgICAgICAgICAgdGhpcy5pZENvbmN1cnNhbnRlPXBhcnNlSW50KGUuaWRfY29uY3Vyc28pO1xyXG4gICAgICAgICAgICB0aGlzLmlkQ29uY3Vyc2FudGU9cGFyc2VJbnQoZS5pZF9jb25jdXJzYW50ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRUcmFiYWpvQ29uY3Vyc2FudGU9cGFyc2VJbnQoZS5pZF90cmFiYWpvY29uKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29UcmFiYWpvPWUuY29kdHJhO1xyXG4gICAgICAgICAgICB0aGlzLmVtcHJlc2E9ZS5lbXB0cmFwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuY2FyZ289ZS5jYXJ0cmFhbnQ7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFJbmdyZXNvPWUuZmVjaW5ndHJhYW50O1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhUmV0aXJvPWUuZmVjcmV0dHJhYW50O1xyXG4gICAgICAgIH0gIGVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklFeHBlcmllbmNpYUxhYm9yYWx7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTogdGhpcy5pZEVtcHJlc2EudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfY29uY3Vyc286IHRoaXMuaWRDb25jdXJzby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzYW50ZTogdGhpcy5pZENvbmN1cnNhbnRlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3RyYWJham9jb246IHRoaXMuaWRUcmFiYWpvQ29uY3Vyc2FudGUudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29kdHJhOiB0aGlzLmNvZGlnb1RyYWJham8sXHJcbiAgICAgICAgICAgIGVtcHRyYXBlcjogdGhpcy5lbXByZXNhLFxyXG4gICAgICAgICAgICBjYXJ0cmFhbnQ6IHRoaXMuY2FyZ28sXHJcbiAgICAgICAgICAgIGZlY2luZ3RyYWFudDogdGhpcy5mZWNoYUluZ3Jlc28sXHJcbiAgICAgICAgICAgIGZlY3JldHRyYWFudDogdGhpcy5mZWNoYVJldGlyb1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1GYW1pbGlhQ29uY3Vyc2FudGUgZXh0ZW5kcyBNQmFzaWNNb2RlbHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc286IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc2FudGU6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkRmFtaWxpYXI6IG51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBjb2RpZ286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjZWR1bGE6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBub21icmU6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBhcGVsbGlkbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIHNleG86IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBuZXhvOiBzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIGZlY2hhOiBzdHJpbmc9Jyc7XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yIChlOklGYW1pbGlhQ29uY3Vyc2FudGU9bnVsbCkgeyAgXHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPXBhcnNlSW50KGUuaWRfZW1wcmVzYSk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDb25jdXJzbz1wYXJzZUludChlLmlkX2NvbmN1cnNvKTtcclxuICAgICAgICAgICAgdGhpcy5pZENvbmN1cnNhbnRlPXBhcnNlSW50KGUuaWRfY29uY3Vyc2FudGUpO1xyXG4gICAgICAgICAgICB0aGlzLmlkRmFtaWxpYXI9cGFyc2VJbnQoZS5pZF9mYW1pbGlhY29uKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ289ZS5jb2RmYW07XHJcbiAgICAgICAgICAgIHRoaXMuY2VkdWxhPWUuY2VkZmFtO1xyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZT1lLm5vbWZhbTtcclxuICAgICAgICAgICAgdGhpcy5hcGVsbGlkbz1lLmFwZWZhbTtcclxuICAgICAgICAgICAgdGhpcy5zZXhvPWUuc2V4ZmFtO1xyXG4gICAgICAgICAgICB0aGlzLm5leG89ZS5uZXhmYW07XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGE9ZS5mZWNuYWNmYW1cclxuICAgICAgICB9ICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SUZhbWlsaWFDb25jdXJzYW50ZXtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZF9lbXByZXNhOiB0aGlzLmlkRW1wcmVzYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzbzogdGhpcy5pZENvbmN1cnNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2NvbmN1cnNhbnRlOiB0aGlzLmlkQ29uY3Vyc2FudGUudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZmFtaWxpYWNvbjogdGhpcy5pZEZhbWlsaWFyLnRvU3RyaW5nKCksIFxyXG4gICAgICAgICAgICBjb2RmYW06IHRoaXMuY29kaWdvLFxyXG4gICAgICAgICAgICBjZWRmYW06IHRoaXMuY2VkdWxhLFxyXG4gICAgICAgICAgICBub21mYW06IHRoaXMubm9tYnJlLFxyXG4gICAgICAgICAgICBhcGVmYW06IHRoaXMuYXBlbGxpZG8sXHJcbiAgICAgICAgICAgIHNleGZhbTogdGhpcy5zZXhvLFxyXG4gICAgICAgICAgICBuZXhmYW06IHRoaXMubmV4byxcclxuICAgICAgICAgICAgZmVjbmFjZmFtOiB0aGlzLmZlY2hhLFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1Gb3JtYWNpb25JbmZvcm1hbCBleHRlbmRzIE1CYXNpY01vZGVsIHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc286IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc2FudGU6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ3Vyc286IG51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBjb2RpZ29DdXJzbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlc2NyaXBjaW9uQ3Vyc286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBob3Jhc0N1cnNvOiBudW1iZXI9MDtcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IgKGU6SUZvcm1hY2lvbkluZm9ybWFsPW51bGwpIHsgIFxyXG4gICAgICAgIHN1cGVyKClcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPXBhcnNlSW50KGUuaWRfZW1wcmVzYSk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDb25jdXJzYW50ZT1wYXJzZUludChlLmlkX2NvbmN1cnNvKTtcclxuICAgICAgICAgICAgdGhpcy5pZENvbmN1cnNhbnRlPXBhcnNlSW50KGUuaWRfY29uY3Vyc2FudGUpO1xyXG4gICAgICAgICAgICB0aGlzLmlkQ3Vyc289cGFyc2VJbnQoZS5pZF9jdXJzbyk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ3Vyc289ZS5jb2RjdXI7XHJcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcGNpb25DdXJzbz1lLmRlc2VzdHJlYTtcclxuICAgICAgICAgICAgdGhpcy5ob3Jhc0N1cnNvPXBhcnNlSW50KGUuaG9yZXN0cmVhKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgICAgfSAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SUZvcm1hY2lvbkluZm9ybWFse1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2E6IHRoaXMuaWRFbXByZXNhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2NvbmN1cnNvOiB0aGlzLmlkQ29uY3Vyc28udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfY29uY3Vyc2FudGU6IHRoaXMuaWRDb25jdXJzby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9jdXJzbzogdGhpcy5pZEN1cnNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZGN1cjogdGhpcy5jb2RpZ29DdXJzbyxcclxuICAgICAgICAgICAgZGVzZXN0cmVhOiB0aGlzLmRlc2NyaXBjaW9uQ3Vyc28sXHJcbiAgICAgICAgICAgIGhvcmVzdHJlYTogdGhpcy5ob3Jhc0N1cnNvLnRvU3RyaW5nKClcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNvbmN1cnNhbnRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTUNvbmN1cnNhbnRlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQVc7SUE0QnpDLFlBQWEsSUFBZSxJQUFJO1FBQzVCLEtBQUssRUFBRSxDQUFDO1FBNUJMLGlCQUFZLEdBQVEsQ0FBQyxDQUFDO1FBQ3RCLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUFTLENBQUMsQ0FBQztRQUNyQixtQkFBYyxHQUFTLEVBQUUsQ0FBQztRQUMxQixrQkFBYSxHQUFTLENBQUMsQ0FBQztRQUN4QixXQUFNLEdBQVMsRUFBRSxDQUFDO1FBQ2xCLGdCQUFXLEdBQVMsQ0FBQyxDQUFDO1FBQ3RCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFDMUIscUJBQWdCLEdBQVMsRUFBRSxDQUFDO1FBQzVCLFlBQU8sR0FBUyxFQUFFLENBQUM7UUFDbkIsY0FBUyxHQUFTLEVBQUUsQ0FBQztRQUNyQixjQUFTLEdBQVMsRUFBRSxDQUFDO1FBQ3JCLG9CQUFlLEdBQVMsRUFBRSxDQUFDO1FBQzNCLGdCQUFXLEdBQVMsRUFBRSxDQUFDO1FBQ3ZCLGVBQVUsR0FBUyxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFTLEVBQUUsQ0FBQztRQUN0QixpQkFBWSxHQUFTLEVBQUUsQ0FBQztRQUN4QixpQkFBWSxHQUFTLEVBQUUsQ0FBQztRQUN4QixpQkFBWSxHQUFTLEVBQUUsQ0FBQztRQUN4QixhQUFRLEdBQVMsRUFBRSxDQUFDO1FBQ3BCLFlBQU8s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QixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3pDO2FBQU07WUFDSCxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQztTQUNuQjtJQUNMLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU87WUFDSCxhQUFhLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDMUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQzFCLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUN2QyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDMUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ2pDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVztZQUN4QixTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUNoQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7U0FDeEMsQ0FBQTtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDb25jdXJzYW50ZSwgSUVzdHVkaW9zQ29uY3Vyc2FudGVzLCBJRXhwZXJpZW5jaWFMYWJvcmFsLCBJRmFtaWxpYUNvbmN1cnNhbnRlLCBJRm9ybWFjaW9uSW5mb3JtYWwsIElUcmFiYWpvc0NvbmN1cnNhbnRlcyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL1JlY3Vyc29zSHVtYW5vc1wiO1xyXG5pbXBvcnQgeyBNQmFzaWNNb2RlbCB9IGZyb20gXCIuLi9iYXNpYy1tb2RlbC5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1Db25jdXJzYW50ZSBleHRlbmRzIE1CYXNpY01vZGVsIHtcclxuICAgIHB1YmxpYyBpZEVudGVycHJpc2U6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBpZENvbmN1cnNvOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29Db25jdXJzbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc2FudGU6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGNlZHVsYTogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGlkUHJvZmVzaW9uOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBwcm9mZXNpb246c3RyaW5nPScnO1xyXG4gICAgcHVibGljIG5vbWJyZVByb2Zlc2lvbjpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZmVjaGFJbnNjcmlwY2lvbjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIG5vbWJyZXM6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBhcGVsbGlkb3M6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkaXJlY2Npb246IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBmZWNoYU5hY2ltaWVudG86IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBlc3RhZG9DaXZpbDogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNvZGlnb1BhaXM6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBub21icmVQYWlzOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY29kaWdvRXN0YWRvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlRXN0YWRvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbmFjaW9uYWxpZGFkOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgdGVsZWZvbm86IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjZWx1bGFyOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY29ycmVvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZ2VuZXJvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbml2ZWxBY2FkZW1pY286IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGVzdGF0dXNSZXF1aXNpdG9zOiBudW1iZXI9MTtcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IgKGU6SUNvbmN1cnNhbnRlPW51bGwpIHsgIFxyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0rZS5pZF9lbnRlcnByaXNlOyAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPStlLmlkX2VtcHJlc2HCoFxyXG4gICAgICAgICAgICB0aGlzLmlkQ29uY3Vyc289cGFyc2VJbnQoZS5pZF9jb25jdXJzbyk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ29uY3Vyc289ZS5jb2Rjb247XHJcbiAgICAgICAgICAgIHRoaXMuaWRDb25jdXJzYW50ZT1wYXJzZUludChlLmlkX2NvbmN1cnNhbnRlKTtcclxuICAgICAgICAgICAgdGhpcy5jZWR1bGE9ZS5jZWRwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuaWRQcm9mZXNpb249cGFyc2VJbnQoZS5pZF9wcm9mZXNpb24pO1xyXG4gICAgICAgICAgICB0aGlzLnByb2Zlc2lvbj1lLnByb2Zlc2lvbjtcclxuICAgICAgICAgICAgdGhpcy5ub21icmVQcm9mZXNpb249ZS5ub21icmVfcHJvZmVzaW9uO1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhSW5zY3JpcGNpb249ZS5mZWNyZWc7XHJcbiAgICAgICAgICAgIHRoaXMubm9tYnJlcz1lLm5vbXBlcjtcclxuICAgICAgICAgICAgdGhpcy5hcGVsbGlkb3M9ZS5hcGVwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZGlyZWNjaW9uPWUuZGlycGVyO1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhTmFjaW1pZW50bz1lLmZlY25hY3BlcjtcclxuICAgICAgICAgICAgdGhpcy5lc3RhZG9DaXZpbD1lLmVzdGNpdnBlcjtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29QYWlzPWUuY29kcGFpO1xyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZVBhaXM9ZS5ub21icmVfcGFpcztcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Fc3RhZG89ZS5jb2Rlc3Q7XHJcbiAgICAgICAgICAgIHRoaXMubm9tYnJlRXN0YWRvPWUubm9tYnJlX2VzdGFkbztcclxuICAgICAgICAgICAgdGhpcy5uYWNpb25hbGlkYWQ9ZS5uYWNwZXI7XHJcbiAgICAgICAgICAgIHRoaXMudGVsZWZvbm89ZS50ZWxoYWJwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuY2VsdWxhcj1lLnRlbG1vdnBlcjtcclxuICAgICAgICAgICAgdGhpcy5jb3JyZW89ZS5lbWFwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJvPWUuc2V4cGVyO1xyXG4gICAgICAgICAgICB0aGlzLm5pdmVsQWNhZGVtaWNvPXBhcnNlSW50KGUubml2YWNhcGVyKTtcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzUmVxdWlzaXRvcz1wYXJzZUludChlLmVzdGNvbnBlcik7XHJcblxyXG4gICAgICAgIH0gICBcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJQ29uY3Vyc2FudGV7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW50ZXJwcmlzZTp0aGlzLmlkRW50ZXJwcmlzZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9lbXByZXNhwqA6dGhpcy5pZEVtcHJlc2EsXHJcbiAgICAgICAgICAgIGlkX2NvbmN1cnNvOiB0aGlzLmlkQ29uY3Vyc28udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29kY29uOiB0aGlzLmNvZGlnb0NvbmN1cnNvLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzYW50ZTogdGhpcy5pZENvbmN1cnNhbnRlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNlZHBlcjogdGhpcy5jZWR1bGEsXHJcbiAgICAgICAgICAgIGlkX3Byb2Zlc2lvbjogdGhpcy5pZFByb2Zlc2lvbi50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBwcm9mZXNpb246IHRoaXMucHJvZmVzaW9uLFxyXG4gICAgICAgICAgICBub21icmVfcHJvZmVzaW9uOiB0aGlzLm5vbWJyZVByb2Zlc2lvbixcclxuICAgICAgICAgICAgZmVjcmVnOiB0aGlzLmZlY2hhSW5zY3JpcGNpb24sXHJcbiAgICAgICAgICAgIG5vbXBlcjogdGhpcy5ub21icmVzLFxyXG4gICAgICAgICAgICBhcGVwZXI6IHRoaXMuYXBlbGxpZG9zLFxyXG4gICAgICAgICAgICBkaXJwZXI6IHRoaXMuZGlyZWNjaW9uLFxyXG4gICAgICAgICAgICBmZWNuYWNwZXI6IHRoaXMuZmVjaGFOYWNpbWllbnRvLFxyXG4gICAgICAgICAgICBlc3RjaXZwZXI6IHRoaXMuZXN0YWRvQ2l2aWwsXHJcbiAgICAgICAgICAgIGNvZHBhaTogdGhpcy5jb2RpZ29QYWlzLFxyXG4gICAgICAgICAgICBub21icmVfcGFpczogdGhpcy5ub21icmVQYWlzLFxyXG4gICAgICAgICAgICBjb2Rlc3Q6IHRoaXMuY29kaWdvRXN0YWRvLFxyXG4gICAgICAgICAgICBub21icmVfZXN0YWRvOiB0aGlzLm5vbWJyZUVzdGFkbyxcclxuICAgICAgICAgICAgbmFjcGVyOiB0aGlzLm5hY2lvbmFsaWRhZCxcclxuICAgICAgICAgICAgdGVsaGFicGVyOiB0aGlzLnRlbGVmb25vLFxyXG4gICAgICAgICAgICB0ZWxtb3ZwZXI6IHRoaXMuY2VsdWxhcixcclxuICAgICAgICAgICAgZW1hcGVyOiB0aGlzLmNvcnJlbyxcclxuICAgICAgICAgICAgc2V4cGVyOiB0aGlzLmdlbmVybyxcclxuICAgICAgICAgICAgbml2YWNhcGVyOiB0aGlzLm5pdmVsQWNhZGVtaWNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGVzdGNvbnBlcjogdGhpcy5lc3RhdHVzUmVxdWlzaXRvcy50b1N0cmluZygpXHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1UcmFiYWpvc0NvbmN1cnNhbnRlcyBleHRlbmRzIE1CYXNpY01vZGVsIHtcclxuICAgIHB1YmxpYyBpZEVudGVycHJpc2U6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBpZENvbmN1cnNvOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZENvbmN1cnNhbnRlOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFRyYWJham86IG51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBjb2RpZ286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBlbXByZXNhVHJhYmFqb0FudGVyaW9yOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjYXJnb1RyYWJham9BbnRlcmlvcjpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZmVjaGFJbmdyZXNvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBmZWNoYVJldGlybzpzdHJpbmc9Jyc7XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yIChlPzpJVHJhYmFqb3NDb25jdXJzYW50ZXMpIHsgIFxyXG4gICAgICAgIHN1cGVyKClcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbnRlcnByaXNlPStlLmlkX2VudGVycHJpc2U7ICBcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9K2UuaWRfZW1wcmVzYcKgXHJcbiAgICAgICAgICAgIHRoaXMuaWRDb25jdXJzbz1wYXJzZUludChlLmlkX2NvbmN1cnNvKTtcclxuICAgICAgICAgICAgdGhpcy5pZENvbmN1cnNhbnRlPXBhcnNlSW50KGUuaWRfY29uY3Vyc2FudGUpO1xyXG4gICAgICAgICAgICB0aGlzLmlkVHJhYmFqbz1wYXJzZUludChlLmlkX3RyYWJham9jb24pO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnbz1lLmNvZHRyYXBlcjtcclxuICAgICAgICAgICAgdGhpcy5lbXByZXNhVHJhYmFqb0FudGVyaW9yPWUuZW1wdHJhcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmNhcmdvVHJhYmFqb0FudGVyaW9yPWUuY2FydHJhYW50O1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhSW5ncmVzbz1lLmZlY2luZ3RyYWFudDtcclxuICAgICAgICAgICAgdGhpcy5mZWNoYVJldGlybz1lLmZlY3JldHRyYWFudDtcclxuICAgICAgICB9ICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SVRyYWJham9zQ29uY3Vyc2FudGVze1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VudGVycHJpc2U6dGhpcy5pZEVudGVycHJpc2UudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZW1wcmVzYcKgOnRoaXMuaWRFbXByZXNhLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzbzogdGhpcy5pZENvbmN1cnNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2NvbmN1cnNhbnRlOiB0aGlzLmlkQ29uY3Vyc2FudGUudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfdHJhYmFqb2NvbjogdGhpcy5pZFRyYWJham8udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29kdHJhcGVyOiB0aGlzLmNvZGlnbyxcclxuICAgICAgICAgICAgZW1wdHJhcGVyOiB0aGlzLmVtcHJlc2FUcmFiYWpvQW50ZXJpb3IsXHJcbiAgICAgICAgICAgIGNhcnRyYWFudDogdGhpcy5jYXJnb1RyYWJham9BbnRlcmlvciwgXHJcbiAgICAgICAgICAgIGZlY2luZ3RyYWFudDogdGhpcy5mZWNoYUluZ3Jlc28sIFxyXG4gICAgICAgICAgICBmZWNyZXR0cmFhbnQ6IHRoaXMuZmVjaGFSZXRpcm9cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNRXN0dWRpb3NDb25jdXJzYW50ZXMgZXh0ZW5kcyBNQmFzaWNNb2RlbHtcclxuICAgIHB1YmxpYyBpZEVudGVycHJpc2U6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBpZENvbmN1cnNvOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZENvbmN1cnNhbnRlOiBudW1iZXI9MDtcclxuXHRwdWJsaWMgaWRFc3R1ZGlvOiBudW1iZXI9MDtcclxuXHRwdWJsaWMgY29kaWdvRXN0dWRpbzogc3RyaW5nPScnO1xyXG5cdHB1YmxpYyBpbnN0aXR1dG9Fc3R1ZGlvOiBzdHJpbmc9Jyc7XHJcblx0cHVibGljIGRlc2NyaXBjaW9uRXN0dWRpbzogc3RyaW5nPScnO1xyXG5cdHB1YmxpYyBmZWNoYUluaWNpb0VzdHVkaW86IHN0cmluZz0nJztcclxuXHRwdWJsaWMgZmVjaGFGaW5Fc3R1ZGlvOiBzdHJpbmc9Jyc7XHJcblx0cHVibGljIHRpdHVsb09idGVuaWRvOiBudW1iZXI9MDtcclxuXHRwdWJsaWMgeWVhckFwcm9iYWRvczogbnVtYmVyPTA7XHJcblx0cHVibGljIGhvcmFzRXN0dWRpb3NSZWFsaXphZGFzOiBudW1iZXI9MDtcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IgKGU6SUVzdHVkaW9zQ29uY3Vyc2FudGVzPW51bGwpIHtcclxuICAgICAgICBzdXBlcigpOyAgXHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0rZS5pZF9lbnRlcnByaXNlOyAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPStlLmlkX2VtcHJlc2HCoFxyXG4gICAgICAgICAgICB0aGlzLmlkQ29uY3Vyc289cGFyc2VJbnQoZS5pZF9jb25jdXJzbyk7XHJcblx0XHRcdHRoaXMuaWRDb25jdXJzYW50ZT1wYXJzZUludChlLmlkX2NvbmN1cnNhbnRlKTtcclxuXHRcdFx0dGhpcy5pZEVzdHVkaW89cGFyc2VJbnQoZS5pZF9lc3R1ZGlvY29uKTtcclxuXHRcdFx0dGhpcy5jb2RpZ29Fc3R1ZGlvPWUuY29kZXN0cmVhO1xyXG5cdFx0XHR0aGlzLmluc3RpdHV0b0VzdHVkaW89ZS5pbnNlc3RwZXI7XHJcblx0XHRcdHRoaXMuZGVzY3JpcGNpb25Fc3R1ZGlvPWUuZGVzZXN0cGVyO1xyXG5cdFx0XHR0aGlzLmZlY2hhSW5pY2lvRXN0dWRpbz1lLmZlY2luaXJlYWVzdDtcclxuXHRcdFx0dGhpcy5mZWNoYUZpbkVzdHVkaW89ZS5mZWNmaW5lc3RyZWE7XHJcblx0XHRcdHRoaXMudGl0dWxvT2J0ZW5pZG89cGFyc2VJbnQoZS50aXRlc3RwZXIpO1xyXG5cdFx0XHR0aGlzLnllYXJBcHJvYmFkb3M9cGFyc2VJbnQoZS5hbm9hcHJlc3RwZXIpO1xyXG5cdFx0XHR0aGlzLmhvcmFzRXN0dWRpb3NSZWFsaXphZGFzPXBhcnNlSW50KGUuaG9yZXN0cmVhKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pc05ldz10cnVlO1xyXG4gICAgICAgIH0gIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklFc3R1ZGlvc0NvbmN1cnNhbnRlc3tcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZF9lbnRlcnByaXNlOnRoaXMuaWRFbnRlcnByaXNlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2HCoDp0aGlzLmlkRW1wcmVzYSxcclxuICAgICAgICAgICAgaWRfY29uY3Vyc286IHRoaXMuaWRDb25jdXJzby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzYW50ZTogdGhpcy5pZENvbmN1cnNhbnRlLnRvU3RyaW5nKCksXHJcblx0XHRcdGlkX2VzdHVkaW9jb246IHRoaXMuaWRFc3R1ZGlvLnRvU3RyaW5nKCksXHJcblx0XHRcdGNvZGVzdHJlYTogdGhpcy5jb2RpZ29Fc3R1ZGlvLFxyXG5cdFx0XHRpbnNlc3RwZXI6IHRoaXMuaW5zdGl0dXRvRXN0dWRpbyxcclxuXHRcdFx0ZGVzZXN0cGVyOiB0aGlzLmRlc2NyaXBjaW9uRXN0dWRpbyxcclxuXHRcdFx0ZmVjaW5pcmVhZXN0OiB0aGlzLmZlY2hhSW5pY2lvRXN0dWRpbyxcclxuXHRcdFx0ZmVjZmluZXN0cmVhOiB0aGlzLmZlY2hhRmluRXN0dWRpbyxcclxuXHRcdFx0dGl0ZXN0cGVyOiB0aGlzLnRpdHVsb09idGVuaWRvLnRvU3RyaW5nKCksXHJcblx0XHRcdGFub2FwcmVzdHBlcjogdGhpcy55ZWFyQXByb2JhZG9zLnRvU3RyaW5nKCksXHJcblx0XHRcdGhvcmVzdHJlYTogdGhpcy5ob3Jhc0VzdHVkaW9zUmVhbGl6YWRhcy50b1N0cmluZygpLFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1FeHBlcmllbmNpYUxhYm9yYWwgZXh0ZW5kcyBNQmFzaWNNb2RlbHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc286IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc2FudGU6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkVHJhYmFqb0NvbmN1cnNhbnRlOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29UcmFiYWpvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZW1wcmVzYTogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNhcmdvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZmVjaGFJbmdyZXNvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZmVjaGFSZXRpcm86IHN0cmluZz0nJztcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IgKGU6SUV4cGVyaWVuY2lhTGFib3JhbD1udWxsKSB7ICBcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIGlmIChlKXtcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9cGFyc2VJbnQoZS5pZF9lbXByZXNhKTtcclxuICAgICAgICAgICAgdGhpcy5pZENvbmN1cnNhbnRlPXBhcnNlSW50KGUuaWRfY29uY3Vyc28pO1xyXG4gICAgICAgICAgICB0aGlzLmlkQ29uY3Vyc2FudGU9cGFyc2VJbnQoZS5pZF9jb25jdXJzYW50ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRUcmFiYWpvQ29uY3Vyc2FudGU9cGFyc2VJbnQoZS5pZF90cmFiYWpvY29uKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29UcmFiYWpvPWUuY29kdHJhO1xyXG4gICAgICAgICAgICB0aGlzLmVtcHJlc2E9ZS5lbXB0cmFwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuY2FyZ289ZS5jYXJ0cmFhbnQ7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFJbmdyZXNvPWUuZmVjaW5ndHJhYW50O1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhUmV0aXJvPWUuZmVjcmV0dHJhYW50O1xyXG4gICAgICAgIH0gIGVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklFeHBlcmllbmNpYUxhYm9yYWx7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTogdGhpcy5pZEVtcHJlc2EudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfY29uY3Vyc286IHRoaXMuaWRDb25jdXJzby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzYW50ZTogdGhpcy5pZENvbmN1cnNhbnRlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3RyYWJham9jb246IHRoaXMuaWRUcmFiYWpvQ29uY3Vyc2FudGUudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29kdHJhOiB0aGlzLmNvZGlnb1RyYWJham8sXHJcbiAgICAgICAgICAgIGVtcHRyYXBlcjogdGhpcy5lbXByZXNhLFxyXG4gICAgICAgICAgICBjYXJ0cmFhbnQ6IHRoaXMuY2FyZ28sXHJcbiAgICAgICAgICAgIGZlY2luZ3RyYWFudDogdGhpcy5mZWNoYUluZ3Jlc28sXHJcbiAgICAgICAgICAgIGZlY3JldHRyYWFudDogdGhpcy5mZWNoYVJldGlyb1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1GYW1pbGlhQ29uY3Vyc2FudGUgZXh0ZW5kcyBNQmFzaWNNb2RlbHtcclxuICAgIHB1YmxpYyBpZEVudGVycHJpc2U6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBpZENvbmN1cnNvOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZENvbmN1cnNhbnRlOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZEZhbWlsaWFyOiBudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgY29kaWdvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY2VkdWxhOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgYXBlbGxpZG86IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBzZXhvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbmV4bzogc3RyaW5nPScnOyBcclxuICAgIHB1YmxpYyBmZWNoYTogc3RyaW5nPScnO1xyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvciAoZTpJRmFtaWxpYUNvbmN1cnNhbnRlPW51bGwpIHsgIFxyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0rZS5pZF9lbnRlcnByaXNlOyAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPStlLmlkX2VtcHJlc2HCoFxyXG4gICAgICAgICAgICB0aGlzLmlkQ29uY3Vyc289cGFyc2VJbnQoZS5pZF9jb25jdXJzbyk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDb25jdXJzYW50ZT1wYXJzZUludChlLmlkX2NvbmN1cnNhbnRlKTtcclxuICAgICAgICAgICAgdGhpcy5pZEZhbWlsaWFyPXBhcnNlSW50KGUuaWRfZmFtaWxpYWNvbik7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvPWUuY29kZmFtO1xyXG4gICAgICAgICAgICB0aGlzLmNlZHVsYT1lLmNlZGZhbTtcclxuICAgICAgICAgICAgdGhpcy5ub21icmU9ZS5ub21mYW07XHJcbiAgICAgICAgICAgIHRoaXMuYXBlbGxpZG89ZS5hcGVmYW07XHJcbiAgICAgICAgICAgIHRoaXMuc2V4bz1lLnNleGZhbTtcclxuICAgICAgICAgICAgdGhpcy5uZXhvPWUubmV4ZmFtO1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhPWUuZmVjbmFjZmFtXHJcbiAgICAgICAgfSAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklGYW1pbGlhQ29uY3Vyc2FudGV7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW50ZXJwcmlzZTp0aGlzLmlkRW50ZXJwcmlzZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9lbXByZXNhwqA6dGhpcy5pZEVtcHJlc2EsXHJcbiAgICAgICAgICAgIGlkX2NvbmN1cnNvOiB0aGlzLmlkQ29uY3Vyc28udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfY29uY3Vyc2FudGU6IHRoaXMuaWRDb25jdXJzYW50ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9mYW1pbGlhY29uOiB0aGlzLmlkRmFtaWxpYXIudG9TdHJpbmcoKSwgXHJcbiAgICAgICAgICAgIGNvZGZhbTogdGhpcy5jb2RpZ28sXHJcbiAgICAgICAgICAgIGNlZGZhbTogdGhpcy5jZWR1bGEsXHJcbiAgICAgICAgICAgIG5vbWZhbTogdGhpcy5ub21icmUsXHJcbiAgICAgICAgICAgIGFwZWZhbTogdGhpcy5hcGVsbGlkbyxcclxuICAgICAgICAgICAgc2V4ZmFtOiB0aGlzLnNleG8sXHJcbiAgICAgICAgICAgIG5leGZhbTogdGhpcy5uZXhvLFxyXG4gICAgICAgICAgICBmZWNuYWNmYW06IHRoaXMuZmVjaGEsXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTUZvcm1hY2lvbkluZm9ybWFsIGV4dGVuZHMgTUJhc2ljTW9kZWwge1xyXG4gICAgcHVibGljIGlkRW50ZXJwcmlzZTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGlkQ29uY3Vyc286IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc2FudGU6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ3Vyc286IG51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBjb2RpZ29DdXJzbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlc2NyaXBjaW9uQ3Vyc286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBob3Jhc0N1cnNvOiBudW1iZXI9MDtcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IgKGU6SUZvcm1hY2lvbkluZm9ybWFsPW51bGwpIHsgIFxyXG4gICAgICAgIHN1cGVyKClcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbnRlcnByaXNlPStlLmlkX2VudGVycHJpc2U7ICBcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9K2UuaWRfZW1wcmVzYcKgXHJcbiAgICAgICAgICAgIHRoaXMuaWRDb25jdXJzYW50ZT1wYXJzZUludChlLmlkX2NvbmN1cnNvKTtcclxuICAgICAgICAgICAgdGhpcy5pZENvbmN1cnNhbnRlPXBhcnNlSW50KGUuaWRfY29uY3Vyc2FudGUpO1xyXG4gICAgICAgICAgICB0aGlzLmlkQ3Vyc289cGFyc2VJbnQoZS5pZF9jdXJzbyk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ3Vyc289ZS5jb2RjdXI7XHJcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcGNpb25DdXJzbz1lLmRlc2VzdHJlYTtcclxuICAgICAgICAgICAgdGhpcy5ob3Jhc0N1cnNvPXBhcnNlSW50KGUuaG9yZXN0cmVhKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgICAgfSAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SUZvcm1hY2lvbkluZm9ybWFse1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VudGVycHJpc2U6dGhpcy5pZEVudGVycHJpc2UudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZW1wcmVzYcKgOnRoaXMuaWRFbXByZXNhLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzbzogdGhpcy5pZENvbmN1cnNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2NvbmN1cnNhbnRlOiB0aGlzLmlkQ29uY3Vyc28udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfY3Vyc286IHRoaXMuaWRDdXJzby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBjb2RjdXI6IHRoaXMuY29kaWdvQ3Vyc28sXHJcbiAgICAgICAgICAgIGRlc2VzdHJlYTogdGhpcy5kZXNjcmlwY2lvbkN1cnNvLFxyXG4gICAgICAgICAgICBob3Jlc3RyZWE6IHRoaXMuaG9yYXNDdXJzby50b1N0cmluZygpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
|
|
@@ -3,6 +3,7 @@ import { MRequisitosConcursos } from "./MRequisitosConcursos.model";
|
|
|
3
3
|
export class MConcurso extends MBasicModel {
|
|
4
4
|
constructor(e = null) {
|
|
5
5
|
super();
|
|
6
|
+
this.idEnterprise = 0;
|
|
6
7
|
this.idEmpresa = 0;
|
|
7
8
|
this.idConcurso = 0;
|
|
8
9
|
this.codigoConcurso = '';
|
|
@@ -19,7 +20,8 @@ export class MConcurso extends MBasicModel {
|
|
|
19
20
|
this.detalleRequisitos = [];
|
|
20
21
|
this.eliminarDetalles = [];
|
|
21
22
|
if (e) {
|
|
22
|
-
this.
|
|
23
|
+
this.idEnterprise = +e.id_enterprise;
|
|
24
|
+
this.idEmpresa = +e.id_empresa;
|
|
23
25
|
this.idConcurso = parseInt(e.id_concurso);
|
|
24
26
|
this.codigoConcurso = e.codcon;
|
|
25
27
|
this.denominacionConcurso = e.dencon;
|
|
@@ -39,7 +41,8 @@ export class MConcurso extends MBasicModel {
|
|
|
39
41
|
}
|
|
40
42
|
dataInterface() {
|
|
41
43
|
return {
|
|
42
|
-
|
|
44
|
+
id_enterprise: this.idEnterprise.toString(),
|
|
45
|
+
id_empresa: this.idEmpresa,
|
|
43
46
|
id_concurso: this.idConcurso.toString(),
|
|
44
47
|
codcon: this.codigoConcurso,
|
|
45
48
|
dencon: this.denominacionConcurso,
|
|
@@ -59,6 +62,7 @@ export class MConcurso extends MBasicModel {
|
|
|
59
62
|
export class MPrevioEvaluacion extends MBasicModel {
|
|
60
63
|
constructor(e = null) {
|
|
61
64
|
super();
|
|
65
|
+
this.idEnterprise = 0;
|
|
62
66
|
this.idEmpresa = 0;
|
|
63
67
|
this.idPrevio = 0;
|
|
64
68
|
this.proceso = '';
|
|
@@ -78,7 +82,8 @@ export class MPrevioEvaluacion extends MBasicModel {
|
|
|
78
82
|
this.estatusRegistro = 0;
|
|
79
83
|
this.detallesRegistro = [];
|
|
80
84
|
if (e) {
|
|
81
|
-
this.
|
|
85
|
+
this.idEnterprise = +e.id_enterprise;
|
|
86
|
+
this.idEmpresa = +e.id_empresa;
|
|
82
87
|
this.idPrevio = parseInt(e.id_previo);
|
|
83
88
|
this.proceso = e.proceso;
|
|
84
89
|
this.idConcurso = parseInt(e.id_concurso);
|
|
@@ -104,7 +109,8 @@ export class MPrevioEvaluacion extends MBasicModel {
|
|
|
104
109
|
}
|
|
105
110
|
dataInterface() {
|
|
106
111
|
return {
|
|
107
|
-
|
|
112
|
+
id_enterprise: this.idEnterprise.toString(),
|
|
113
|
+
id_empresa: this.idEmpresa,
|
|
108
114
|
id_previo: this.idPrevio.toString(),
|
|
109
115
|
proceso: this.proceso,
|
|
110
116
|
id_concurso: this.idConcurso.toString(),
|
|
@@ -129,6 +135,7 @@ export class MPrevioEvaluacion extends MBasicModel {
|
|
|
129
135
|
export class MPrevioEvaluacionDt extends MBasicModel {
|
|
130
136
|
constructor(e = null) {
|
|
131
137
|
super();
|
|
138
|
+
this.idEnterprise = 0;
|
|
132
139
|
this.idEmpresa = 0;
|
|
133
140
|
this.idPrevio = 0;
|
|
134
141
|
this.idAspecto = 0;
|
|
@@ -140,7 +147,8 @@ export class MPrevioEvaluacionDt extends MBasicModel {
|
|
|
140
147
|
this.puntos = 0;
|
|
141
148
|
this.valorMaximo = 0;
|
|
142
149
|
if (e) {
|
|
143
|
-
this.
|
|
150
|
+
this.idEnterprise = +e.id_enterprise;
|
|
151
|
+
this.idEmpresa = +e.id_empresa;
|
|
144
152
|
this.idPrevio = parseInt(e.id_previo);
|
|
145
153
|
this.idAspecto = parseInt(e.id_aspecto);
|
|
146
154
|
this.idTipoEvaluacion = parseInt(e.id_tipoeval);
|
|
@@ -157,7 +165,8 @@ export class MPrevioEvaluacionDt extends MBasicModel {
|
|
|
157
165
|
}
|
|
158
166
|
dataInterface() {
|
|
159
167
|
return {
|
|
160
|
-
|
|
168
|
+
id_enterprise: this.idEnterprise.toString(),
|
|
169
|
+
id_empresa: this.idEmpresa,
|
|
161
170
|
id_previo: this.idPrevio.toString(),
|
|
162
171
|
id_tipoeval: this.idTipoEvaluacion.toString(),
|
|
163
172
|
id_aspecto: this.idAspecto.toString(),
|
|
@@ -173,6 +182,7 @@ export class MPrevioEvaluacionDt extends MBasicModel {
|
|
|
173
182
|
export class MResultadosEvaluacion extends MBasicModel {
|
|
174
183
|
constructor(e) {
|
|
175
184
|
super();
|
|
185
|
+
this.idEnterprise = 0;
|
|
176
186
|
this.idEmpresa = 0;
|
|
177
187
|
this.idEvaluacion = 0;
|
|
178
188
|
this.idConcurso = 0;
|
|
@@ -189,7 +199,8 @@ export class MResultadosEvaluacion extends MBasicModel {
|
|
|
189
199
|
this.resultado_rqm = 0;
|
|
190
200
|
this.usuarioRegistro = '';
|
|
191
201
|
if (e) {
|
|
192
|
-
this.
|
|
202
|
+
this.idEnterprise = +e.id_enterprise;
|
|
203
|
+
this.idEmpresa = +e.id_empresa;
|
|
193
204
|
this.idEvaluacion = parseInt(e.id_evaluacion);
|
|
194
205
|
this.idConcurso = parseInt(e.id_concurso);
|
|
195
206
|
this.codigoConcurso = e.codcon,
|
|
@@ -212,7 +223,8 @@ export class MResultadosEvaluacion extends MBasicModel {
|
|
|
212
223
|
}
|
|
213
224
|
dataInterface() {
|
|
214
225
|
return {
|
|
215
|
-
|
|
226
|
+
id_enterprise: this.idEnterprise.toString(),
|
|
227
|
+
id_empresa: this.idEmpresa,
|
|
216
228
|
id_evaluacion: this.idEvaluacion.toString(),
|
|
217
229
|
id_concurso: this.idConcurso.toString(),
|
|
218
230
|
codcon: this.codigoConcurso,
|
|
@@ -231,4 +243,4 @@ export class MResultadosEvaluacion extends MBasicModel {
|
|
|
231
243
|
};
|
|
232
244
|
}
|
|
233
245
|
}
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNvbmN1cnNvLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTUNvbmN1cnNvLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVwRSxNQUFNLE9BQU8sU0FBVSxTQUFRLFdBQVc7SUFpQnRDLFlBQWEsSUFBWSxJQUFJO1FBQ3pCLEtBQUssRUFBRSxDQUFDO1FBakJMLGNBQVMsR0FBUyxDQUFDLENBQUM7UUFDcEIsZUFBVSxHQUFTLENBQUMsQ0FBQztRQUNyQixtQkFBYyxHQUFTLEVBQUUsQ0FBQztRQUMxQix5QkFBb0IsR0FBUyxFQUFFLENBQUM7UUFDaEMsMEJBQXFCLEdBQVMsRUFBRSxDQUFDO1FBQ2pDLHdCQUFtQixHQUFTLEVBQUUsQ0FBQztRQUMvQixZQUFPLEdBQVMsQ0FBQyxDQUFDO1FBQ2xCLGdCQUFXLEdBQVMsRUFBRSxDQUFDO1FBQ3ZCLHNCQUFpQixHQUFTLEVBQUUsQ0FBQztRQUM3QixTQUFJLEdBQVMsRUFBRSxDQUFDO1FBQ2hCLG1CQUFjLEdBQVMsQ0FBQyxDQUFDO1FBQ3pCLG9CQUFlLEdBQVMsR0FBRyxDQUFDO1FBQzVCLHdCQUFtQixHQUFRLEVBQUUsQ0FBQztRQUM5QixzQkFBaUIsR0FBeUIsRUFBRSxDQUFDO1FBQzdDLHFCQUFnQixHQUFVLEVBQUUsQ0FBQztRQUloQyxJQUFJLENBQUMsRUFBQztZQUNGLElBQUksQ0FBQyxTQUFTLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFDLFFBQVEsQ0FBQyxDQUFD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LENBQUMsYUFBYTtZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDN0IsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQzVDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUM1QyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDaEQsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQzVDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM5QixDQUFBO0lBQ0wsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUJhc2ljTW9kZWwgfSBmcm9tIFwiLi4vYmFzaWMtbW9kZWwubW9kZWxcIjtcclxuaW1wb3J0IHsgSUNvbmN1cnNvLCBJUHJldmlvRXZhbHVhY2lvbiwgSVByZXZpb0V2YWx1YWNpb25EdCwgSVJlc3VsdGFkb3NFdmFsdWFjaW9uIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvUmVjdXJzb3NIdW1hbm9zXCI7XHJcbmltcG9ydCB7IE1SZXF1aXNpdG9zQ29uY3Vyc29zIH0gZnJvbSBcIi4vTVJlcXVpc2l0b3NDb25jdXJzb3MubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBNQ29uY3Vyc28gZXh0ZW5kcyBNQmFzaWNNb2RlbHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc286IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb0NvbmN1cnNvOiBzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbkNvbmN1cnNvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZmVjaGFBcGVydHVyYUNvbmN1cnNvOiBzdHJpbmc9Jyc7XHRcclxuICAgIHB1YmxpYyBmZWNoYUNpZXJyZUNvbmN1cnNvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgaWRDYXJnbzogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY29kaWdvQ2FyZ286IHN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uQ2FyZ286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyB0aXBvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY2FudGlkYWRDYXJnb3M6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGVzdGF0dXNDb25jdXJzbzogc3RyaW5nPScxJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25Fc3RhdHVzOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZXRhbGxlUmVxdWlzaXRvczogTVJlcXVpc2l0b3NDb25jdXJzb3NbXT1bXTtcclxuICAgIHB1YmxpYyBlbGltaW5hckRldGFsbGVzOm51bWJlcltdPVtdO1xyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvciAoZTpJQ29uY3Vyc289bnVsbCl7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPXBhcnNlSW50KGUuaWRfZW1wcmVzYSk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDb25jdXJzbz1wYXJzZUludChlLmlkX2NvbmN1cnNvKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Db25jdXJzbz1lLmNvZGNvbjtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25Db25jdXJzbz1lLmRlbmNvbjtcclxuICAgICAgICAgICAgdGhpcy5mZWNoYUFwZXJ0dXJhQ29uY3Vyc289ZS5mZWNhcGVjb247XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFDaWVycmVDb25jdXJzbz1lLmZlY2NpZWNvbjtcclxuICAgICAgICAgICAgdGhpcy5pZENhcmdvPXBhcnNlSW50KGUuaWRfY2FycGVyKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29DYXJnbz1lLmNvZGNhcjtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25DYXJnbz1lLmRlc2NhcjtcclxuICAgICAgICAgICAgdGhpcy50aXBvPWUudGlwbztcclxuICAgICAgICAgICAgdGhpcy5jYW50aWRhZENhcmdvcz1wYXJzZUludChlLmNhbnRjYXIpO1xyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNDb25jdXJzbz1lLmVzdGNvbjtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25Fc3RhdHVzPXRoaXMuZXN0YXR1c0NvbmN1cnNvPT0nMSc/ICdBYmllcnRvJzonQ2VycmFkbyc7XHJcbiAgICAgICAgICAgIGlmKGUuZGV0YWxsZXNfcmVxdWlzaXRvcyl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRldGFsbGVSZXF1aXNpdG9zPWUuZGV0YWxsZXNfcmVxdWlzaXRvcy5tYXAoZT0+IG5ldyBNUmVxdWlzaXRvc0NvbmN1cnNvcyhlKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJQ29uY3Vyc297XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTp0aGlzLmlkRW1wcmVzYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzbzogdGhpcy5pZENvbmN1cnNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZGNvbjogdGhpcy5jb2RpZ29Db25jdXJzbyxcclxuICAgICAgICAgICAgZGVuY29uOiB0aGlzLmRlbm9taW5hY2lvbkNvbmN1cnNvLFxyXG4gICAgICAgICAgICBmZWNhcGVjb246IHRoaXMuZmVjaGFBcGVydHVyYUNvbmN1cnNvLFxyXG4gICAgICAgICAgICBmZWNjaWVjb246IHRoaXMuZmVjaGFDaWVycmVDb25jdXJzbyxcclxuICAgICAgICAgICAgaWRfY2FycGVyOiB0aGlzLmlkQ2FyZ28udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29kY2FyOnRoaXMuY29kaWdvQ2FyZ28sXHJcbiAgICAgICAgICAgIGRlc2Nhcjp0aGlzLmRlbm9taW5hY2lvbkNhcmdvLFxyXG4gICAgICAgICAgICB0aXBvOiB0aGlzLnRpcG8sXHJcbiAgICAgICAgICAgIGNhbnRjYXI6IHRoaXMuY2FudGlkYWRDYXJnb3MudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgZXN0Y29uOiB0aGlzLmVzdGF0dXNDb25jdXJzbyxcclxuICAgICAgICAgICAgZGV0YWxsZXNfcmVxdWlzaXRvczogdGhpcy5kZXRhbGxlUmVxdWlzaXRvcy5tYXAoZnVuY3Rpb24gKGUpIHsgcmV0dXJuIGUuZGF0YUludGVyZmFjZSgpOyB9KSxcclxuICAgICAgICAgICAgZWxpbWluYXJfZGV0YWxsZXM6IHRoaXMuZWxpbWluYXJEZXRhbGxlcyxcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTVByZXZpb0V2YWx1YWNpb24gZXh0ZW5kcyBNQmFzaWNNb2RlbCB7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFByZXZpbzogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgcHJvY2VzbzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgaWRDb25jdXJzbzogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY29kaWdvQ29uY3Vyc286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBub21icmVDb25jdXJzbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc2FudGU6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb0NvbmN1cnNhbnRlOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlQ29uY3Vyc2FudGU6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBpZFRpcG9FdmFsdWFjaW9uOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29UaXBvRXZhbHVhY2lvbjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIG5vbWJyZVRpcG9FdmFsdWFjaW9uOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZmVjaGFSZWdpc3RybzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgdmFsb3JNaW5pbW9SZXF1ZXJpZG86IG51bWJlcj0wO1xyXG4gICAgcHVibGljIHVzdWFyaW9SZWdpc3RybzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgaG9yYVJlZ2lzdHJvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBlc3RhdHVzUmVnaXN0cm86IG51bWJlcj0wO1xyXG4gICAgcHVibGljIHRpcG86c3RyaW5nO1xyXG4gICAgcHVibGljIGRldGFsbGVzUmVnaXN0cm86TVByZXZpb0V2YWx1YWNpb25EdFtdPVtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yIChlOiBJUHJldmlvRXZhbHVhY2lvbj1udWxsKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPSBwYXJzZUludChlLmlkX2VtcHJlc2EpO1xyXG4gICAgICAgICAgICB0aGlzLmlkUHJldmlvPSBwYXJzZUludChlLmlkX3ByZXZpbyk7XHJcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzbz1lLnByb2Nlc287XHJcbiAgICAgICAgICAgIHRoaXMuaWRDb25jdXJzbz0gcGFyc2VJbnQoZS5pZF9jb25jdXJzbyk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ29uY3Vyc289ZS5jb2Rjb24sXHJcbiAgICAgICAgICAgIHRoaXMubm9tYnJlQ29uY3Vyc289ZS5kZW5jb24sXHJcbiAgICAgICAgICAgIHRoaXMuaWRDb25jdXJzYW50ZT0gcGFyc2VJbnQoZS5pZF9jb25jdXJzYW50ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ29uY3Vyc2FudGU9ZS5jZWRwZXIsXHJcbiAgICAgICAgICAgIHRoaXMubm9tYnJlQ29uY3Vyc2FudGU9ZS5ub21wZXIsXHJcbiAgICAgICAgICAgIHRoaXMuaWRUaXBvRXZhbHVhY2lvbj0gcGFyc2VJbnQoZS5pZF90aXBvZXZhbCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvVGlwb0V2YWx1YWNpb249ZS5jb2R0aXBldmFsO1xyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZVRpcG9FdmFsdWFjaW9uPWUuZGVudGlwZXZhbDtcclxuICAgICAgICAgICAgdGhpcy5mZWNoYVJlZ2lzdHJvPWUuZmVjaGE7XHJcbiAgICAgICAgICAgIHRoaXMudmFsb3JNaW5pbW9SZXF1ZXJpZG89IHBhcnNlRmxvYXQoZS5wdW5yZXFtaW4pO1xyXG4gICAgICAgICAgICB0aGlzLnVzdWFyaW9SZWdpc3Rybz1lLnVzdWFyaW87XHJcbiAgICAgICAgICAgIHRoaXMuaG9yYVJlZ2lzdHJvPWUuaG9yYTtcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzUmVnaXN0cm89IHBhcnNlSW50KGUuZXN0YXR1cyk7XHJcbiAgICAgICAgICAgIHRoaXMudGlwbz1lLnRpcG87XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWxsZXNSZWdpc3Rybz0gZS5kZXRhbGxlcy5tYXAoZT0+bmV3IE1QcmV2aW9FdmFsdWFjaW9uRHQoZSkpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklQcmV2aW9FdmFsdWFjaW9ue1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2E6IHRoaXMuaWRFbXByZXNhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3ByZXZpbzogdGhpcy5pZFByZXZpby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBwcm9jZXNvOiB0aGlzLnByb2Nlc28sXHJcbiAgICAgICAgICAgIGlkX2NvbmN1cnNvOiB0aGlzLmlkQ29uY3Vyc28udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29kY29uOiB0aGlzLmNvZGlnb0NvbmN1cnNvLFxyXG4gICAgICAgICAgICBkZW5jb246IHRoaXMubm9tYnJlQ29uY3Vyc28sXHJcbiAgICAgICAgICAgIGlkX2NvbmN1cnNhbnRlOiB0aGlzLmlkQ29uY3Vyc2FudGUudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY2VkcGVyOiB0aGlzLmNvZGlnb0NvbmN1cnNhbnRlLFxyXG4gICAgICAgICAgICBub21wZXI6IHRoaXMubm9tYnJlQ29uY3Vyc2FudGUsXHJcbiAgICAgICAgICAgIGlkX3RpcG9ldmFsOiB0aGlzLmlkVGlwb0V2YWx1YWNpb24udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29kdGlwZXZhbDogdGhpcy5jb2RpZ29UaXBvRXZhbHVhY2lvbixcclxuICAgICAgICAgICAgZGVudGlwZXZhbDogdGhpcy5ub21icmVUaXBvRXZhbHVhY2lvbixcclxuICAgICAgICAgICAgZmVjaGE6IHRoaXMuZmVjaGFSZWdpc3RybyxcclxuICAgICAgICAgICAgcHVucmVxbWluOiB0aGlzLnZhbG9yTWluaW1vUmVxdWVyaWRvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIHVzdWFyaW86IHRoaXMudXN1YXJpb1JlZ2lzdHJvLFxyXG4gICAgICAgICAgICBob3JhOiB0aGlzLmhvcmFSZWdpc3RybyxcclxuICAgICAgICAgICAgZXN0YXR1czogdGhpcy5lc3RhdHVzUmVnaXN0cm8udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgdGlwbzogdGhpcy50aXBvLFxyXG4gICAgICAgICAgICBkZXRhbGxlczp0aGlzLmRldGFsbGVzUmVnaXN0cm8ubWFwKGZ1bmN0aW9uIChlKSB7IHJldHVybiBlLmRhdGFJbnRlcmZhY2UoKTsgfSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTVByZXZpb0V2YWx1YWNpb25EdCBleHRlbmRzIE1CYXNpY01vZGVse1xyXG4gICAgcHVibGljIGlkRW1wcmVzYTogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRQcmV2aW86IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQXNwZWN0bzogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRUaXBvRXZhbHVhY2lvbjogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRJdGVtOiBudW1iZXI9MDsgICAgXHJcbiAgICBwdWJsaWMgaWREdFByZXZpbzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZXNjcmlwY2lvbjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIHB1bnRvczogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgdmFsb3JNYXhpbW86IG51bWJlcj0wO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yIChlOiBJUHJldmlvRXZhbHVhY2lvbkR0PW51bGwpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIGlmIChlKXtcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9IHBhcnNlSW50KGUuaWRfZW1wcmVzYSk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRQcmV2aW89IHBhcnNlSW50KGUuaWRfcHJldmlvKTtcclxuICAgICAgICAgICAgdGhpcy5pZEFzcGVjdG89IHBhcnNlSW50KGUuaWRfYXNwZWN0byk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRUaXBvRXZhbHVhY2lvbj0gcGFyc2VJbnQoZS5pZF90aXBvZXZhbCk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRJdGVtPSBwYXJzZUludChlLmlkX2l0ZW0pO1xyXG4gICAgICAgICAgICB0aGlzLmlkRHRQcmV2aW89IHBhcnNlSW50KGUuaWRfZHRfcHJldmlvKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ289ZS5jb2RpdGU7XHJcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcGNpb249ZS5kZW5pdGU7XHJcbiAgICAgICAgICAgIHRoaXMucHVudG9zPSBwYXJzZUludChlLnB1bnRvcyk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsb3JNYXhpbW89IHBhcnNlSW50KGUudmFsb3JtYXgpO1xyXG4gICAgICAgIH1lbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pc05ldz10cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJUHJldmlvRXZhbHVhY2lvbkR0e1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2E6IHRoaXMuaWRFbXByZXNhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3ByZXZpbzogdGhpcy5pZFByZXZpby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF90aXBvZXZhbDogdGhpcy5pZFRpcG9FdmFsdWFjaW9uLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2FzcGVjdG86IHRoaXMuaWRBc3BlY3RvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2l0ZW06IHRoaXMuaWRJdGVtLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZGl0ZTogdGhpcy5jb2RpZ28sXHJcbiAgICAgICAgICAgIGRlbml0ZTogdGhpcy5kZXNjcmlwY2lvbixcclxuICAgICAgICAgICAgcHVudG9zOiB0aGlzLnB1bnRvcy50b1N0cmluZygpLFxyXG4gICAgICAgICAgICB2YWxvcm1heDogdGhpcy52YWxvck1heGltby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9kdF9wcmV2aW86IHRoaXMuaWREdFByZXZpby50b1N0cmluZygpLFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNUmVzdWx0YWRvc0V2YWx1YWNpb24gZXh0ZW5kcyBNQmFzaWNNb2RlbHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkRXZhbHVhY2lvbjogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRDb25jdXJzbzogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY29kaWdvQ29uY3Vyc286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBub21icmVDb25jdXJzbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc2FudGU6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb0NvbmN1cnNhbnRlOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlQ29uY3Vyc2FudGU6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBvYnNlcnZhY2lvbjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGZlY2hhUmVnaXN0cm86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIHJlc3VsdGFkb190ZWM6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIHJlc3VsdGFkb190b3RhbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyByZXN1bHRhZG9fcHNpOm51bWJlcj0wO1xyXG4gICAgcHVibGljIHJlc3VsdGFkb19ycW06IG51bWJlcj0wO1xyXG4gICAgcHVibGljIHVzdWFyaW9SZWdpc3Rybzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNvbmNsdXNpb246c3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yIChlPzogSVJlc3VsdGFkb3NFdmFsdWFjaW9uKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPSBwYXJzZUludChlLmlkX2VtcHJlc2EpO1xyXG4gICAgICAgICAgICB0aGlzLmlkRXZhbHVhY2lvbj0gcGFyc2VJbnQoZS5pZF9ldmFsdWFjaW9uKTtcclxuICAgICAgICAgICAgdGhpcy5pZENvbmN1cnNvPSBwYXJzZUludChlLmlkX2NvbmN1cnNvKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Db25jdXJzbz1lLmNvZGNvbixcclxuICAgICAgICAgICAgdGhpcy5ub21icmVDb25jdXJzbz1lLmRlbmNvbixcclxuICAgICAgICAgICAgdGhpcy5pZENvbmN1cnNhbnRlPSBwYXJzZUludChlLmlkX2NvbmN1cnNhbnRlKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Db25jdXJzYW50ZT1lLmNlZHBlcixcclxuICAgICAgICAgICAgdGhpcy5ub21icmVDb25jdXJzYW50ZT1lLm5vbXBlcixcclxuICAgICAgICAgICAgdGhpcy5vYnNlcnZhY2lvbj1lLm9ic2VydmFjaW9uLFxyXG4gICAgICAgICAgICB0aGlzLmZlY2hhUmVnaXN0cm89ZS5mZWNoYTtcclxuICAgICAgICAgICAgdGhpcy51c3VhcmlvUmVnaXN0cm89ZS51c3VhcmlvO1xyXG4gICAgICAgICAgICB0aGlzLnJlc3VsdGFkb190ZWM9IHBhcnNlRmxvYXQoZS5yZXN1bHRhZG9fdGVjKTtcclxuICAgICAgICAgICAgdGhpcy5yZXN1bHRhZG9fdG90YWw9cGFyc2VGbG9hdChlLnJlc3VsdGFkb190b3RhbCk7XHJcbiAgICAgICAgICAgIHRoaXMucmVzdWx0YWRvX3BzaT1wYXJzZUZsb2F0KGUucmVzdWx0YWRvX3BzaSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVzdWx0YWRvX3JxbT0gcGFyc2VGbG9hdChlLnJlc3VsdGFkb19ycW0pO1xyXG4gICAgICAgICAgICB0aGlzLmNvbmNsdXNpb249ZS5jb25jbHVzaW9uO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklSZXN1bHRhZG9zRXZhbHVhY2lvbntcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZF9lbXByZXNhOiB0aGlzLmlkRW1wcmVzYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9ldmFsdWFjaW9uOiB0aGlzLmlkRXZhbHVhY2lvbi50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzbzogdGhpcy5pZENvbmN1cnNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZGNvbjogdGhpcy5jb2RpZ29Db25jdXJzbyxcclxuICAgICAgICAgICAgZGVuY29uOiB0aGlzLm5vbWJyZUNvbmN1cnNvLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzYW50ZTogdGhpcy5pZENvbmN1cnNhbnRlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNlZHBlcjogdGhpcy5jb2RpZ29Db25jdXJzYW50ZSxcclxuICAgICAgICAgICAgbm9tcGVyOiB0aGlzLm5vbWJyZUNvbmN1cnNhbnRlLFxyXG4gICAgICAgICAgICBvYnNlcnZhY2lvbjogdGhpcy5vYnNlcnZhY2lvbixcclxuICAgICAgICAgICAgZmVjaGE6IHRoaXMuZmVjaGFSZWdpc3RybyxcclxuICAgICAgICAgICAgdXN1YXJpbzogdGhpcy51c3VhcmlvUmVnaXN0cm8sXHJcbiAgICAgICAgICAgIHJlc3VsdGFkb190ZWM6IHRoaXMucmVzdWx0YWRvX3RlYy50b1N0cmluZygpLFxyXG4gICAgICAgICAgICByZXN1bHRhZG9fcHNpOiB0aGlzLnJlc3VsdGFkb19wc2kudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgcmVzdWx0YWRvX3RvdGFsOiB0aGlzLnJlc3VsdGFkb190b3RhbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICByZXN1bHRhZG9fcnFtOiB0aGlzLnJlc3VsdGFkb19ycW0udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29uY2x1c2lvbjogdGhpcy5jb25jbHVzaW9uLFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuIl19
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNvbmN1cnNvLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTUNvbmN1cnNvLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVwRSxNQUFNLE9BQU8sU0FBVSxTQUFRLFdBQVc7SUFrQnRDLFlBQWEsSUFBWSxJQUFJO1FBQ3pCLEtBQUssRUFBRSxDQUFDO1FBbEJMLGlCQUFZLEdBQVEsQ0FBQyxDQUFDO1FBQ3RCLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUFTLENBQUMsQ0FBQztRQUNyQixtQkFBYyxHQUFTLEVBQUUsQ0FBQztRQUMxQix5QkFBb0IsR0FBUyxFQUFFLENBQUM7UUFDaEMsMEJBQXFCLEdBQVMsRUFBRSxDQUFDO1FBQ2pDLHdCQUFtQixHQUFTLEVBQUUsQ0FBQztRQUMvQixZQUFPLEdBQVMsQ0FBQyxDQUFDO1FBQ2xCLGdCQUFXLEdBQVMsRUFBRSxDQUFDO1FBQ3ZCLHNCQUFpQixHQUFTLEVBQUUsQ0FBQztRQUM3QixTQUFJLEdBQVMsRUFBRSxDQUFDO1FBQ2hCLG1CQUFjLEdBQVMsQ0FBQyxDQUFDO1FBQ3pCLG9CQUFlLEdBQVMsR0FBRyxDQUFDO1FBQzVCLHdCQUFtQixHQUFRLEVBQUUsQ0FBQztRQUM5QixzQkFBaUIsR0FBeUIsRUFBRSxDQUFDO1FBQzdDLHFCQUFnQixHQUFVLEVBQUUsQ0FBQztRQUloQyxJQUFJLENBQUMsRUFBQztZQUNGLElBQUksQ0FBQyxZQUFZLEdBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ25DLElBQUksQ0FBQyxTQUFTLEdB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QU87WUFDSCxhQUFhLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDMUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQzFCLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUMzQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDdkMsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYztZQUMzQixjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7WUFDN0MsTUFBTSxFQUFFLElBQUksQ0FBQyxpQkFBaUI7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxpQkFBaUI7WUFDOUIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYTtZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDN0IsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQzVDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUM1QyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDaEQsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQzVDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM5QixDQUFBO0lBQ0wsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUJhc2ljTW9kZWwgfSBmcm9tIFwiLi4vYmFzaWMtbW9kZWwubW9kZWxcIjtcclxuaW1wb3J0IHsgSUNvbmN1cnNvLCBJUHJldmlvRXZhbHVhY2lvbiwgSVByZXZpb0V2YWx1YWNpb25EdCwgSVJlc3VsdGFkb3NFdmFsdWFjaW9uIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvUmVjdXJzb3NIdW1hbm9zXCI7XHJcbmltcG9ydCB7IE1SZXF1aXNpdG9zQ29uY3Vyc29zIH0gZnJvbSBcIi4vTVJlcXVpc2l0b3NDb25jdXJzb3MubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBNQ29uY3Vyc28gZXh0ZW5kcyBNQmFzaWNNb2RlbHtcclxuICAgIHB1YmxpYyBpZEVudGVycHJpc2U6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBpZENvbmN1cnNvOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29Db25jdXJzbzogc3RyaW5nPScnOyBcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25Db25jdXJzbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGZlY2hhQXBlcnR1cmFDb25jdXJzbzogc3RyaW5nPScnO1x0XHJcbiAgICBwdWJsaWMgZmVjaGFDaWVycmVDb25jdXJzbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGlkQ2FyZ286IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb0NhcmdvOiBzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbkNhcmdvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgdGlwbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNhbnRpZGFkQ2FyZ29zOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBlc3RhdHVzQ29uY3Vyc286IHN0cmluZz0nMSc7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uRXN0YXR1czpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZGV0YWxsZVJlcXVpc2l0b3M6IE1SZXF1aXNpdG9zQ29uY3Vyc29zW109W107XHJcbiAgICBwdWJsaWMgZWxpbWluYXJEZXRhbGxlczpudW1iZXJbXT1bXTtcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IgKGU6SUNvbmN1cnNvPW51bGwpe1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0rZS5pZF9lbnRlcnByaXNlOyAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPStlLmlkX2VtcHJlc2HCoFxyXG4gICAgICAgICAgICB0aGlzLmlkQ29uY3Vyc289cGFyc2VJbnQoZS5pZF9jb25jdXJzbyk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ29uY3Vyc289ZS5jb2Rjb247XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQ29uY3Vyc289ZS5kZW5jb247XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFBcGVydHVyYUNvbmN1cnNvPWUuZmVjYXBlY29uO1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhQ2llcnJlQ29uY3Vyc289ZS5mZWNjaWVjb247XHJcbiAgICAgICAgICAgIHRoaXMuaWRDYXJnbz1wYXJzZUludChlLmlkX2NhcnBlcik7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ2FyZ289ZS5jb2RjYXI7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQ2FyZ289ZS5kZXNjYXI7XHJcbiAgICAgICAgICAgIHRoaXMudGlwbz1lLnRpcG87XHJcbiAgICAgICAgICAgIHRoaXMuY2FudGlkYWRDYXJnb3M9cGFyc2VJbnQoZS5jYW50Y2FyKTtcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzQ29uY3Vyc289ZS5lc3Rjb247XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uRXN0YXR1cz10aGlzLmVzdGF0dXNDb25jdXJzbz09JzEnPyAnQWJpZXJ0byc6J0NlcnJhZG8nO1xyXG4gICAgICAgICAgICBpZihlLmRldGFsbGVzX3JlcXVpc2l0b3Mpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kZXRhbGxlUmVxdWlzaXRvcz1lLmRldGFsbGVzX3JlcXVpc2l0b3MubWFwKGU9PiBuZXcgTVJlcXVpc2l0b3NDb25jdXJzb3MoZSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SUNvbmN1cnNve1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VudGVycHJpc2U6dGhpcy5pZEVudGVycHJpc2UudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZW1wcmVzYcKgOnRoaXMuaWRFbXByZXNhLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzbzogdGhpcy5pZENvbmN1cnNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZGNvbjogdGhpcy5jb2RpZ29Db25jdXJzbyxcclxuICAgICAgICAgICAgZGVuY29uOiB0aGlzLmRlbm9taW5hY2lvbkNvbmN1cnNvLFxyXG4gICAgICAgICAgICBmZWNhcGVjb246IHRoaXMuZmVjaGFBcGVydHVyYUNvbmN1cnNvLFxyXG4gICAgICAgICAgICBmZWNjaWVjb246IHRoaXMuZmVjaGFDaWVycmVDb25jdXJzbyxcclxuICAgICAgICAgICAgaWRfY2FycGVyOiB0aGlzLmlkQ2FyZ28udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29kY2FyOnRoaXMuY29kaWdvQ2FyZ28sXHJcbiAgICAgICAgICAgIGRlc2Nhcjp0aGlzLmRlbm9taW5hY2lvbkNhcmdvLFxyXG4gICAgICAgICAgICB0aXBvOiB0aGlzLnRpcG8sXHJcbiAgICAgICAgICAgIGNhbnRjYXI6IHRoaXMuY2FudGlkYWRDYXJnb3MudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgZXN0Y29uOiB0aGlzLmVzdGF0dXNDb25jdXJzbyxcclxuICAgICAgICAgICAgZGV0YWxsZXNfcmVxdWlzaXRvczogdGhpcy5kZXRhbGxlUmVxdWlzaXRvcy5tYXAoZnVuY3Rpb24gKGUpIHsgcmV0dXJuIGUuZGF0YUludGVyZmFjZSgpOyB9KSxcclxuICAgICAgICAgICAgZWxpbWluYXJfZGV0YWxsZXM6IHRoaXMuZWxpbWluYXJEZXRhbGxlcyxcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTVByZXZpb0V2YWx1YWNpb24gZXh0ZW5kcyBNQmFzaWNNb2RlbCB7XHJcbiAgICBwdWJsaWMgaWRFbnRlcnByaXNlOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkRW1wcmVzYTpudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgaWRQcmV2aW86IG51bWJlcj0wO1xyXG4gICAgcHVibGljIHByb2Nlc286c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc286IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb0NvbmN1cnNvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlQ29uY3Vyc286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBpZENvbmN1cnNhbnRlOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29Db25jdXJzYW50ZTogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIG5vbWJyZUNvbmN1cnNhbnRlOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgaWRUaXBvRXZhbHVhY2lvbjogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY29kaWdvVGlwb0V2YWx1YWNpb246IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBub21icmVUaXBvRXZhbHVhY2lvbjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGZlY2hhUmVnaXN0cm86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIHZhbG9yTWluaW1vUmVxdWVyaWRvOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyB1c3VhcmlvUmVnaXN0cm86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGhvcmFSZWdpc3RybzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZXN0YXR1c1JlZ2lzdHJvOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyB0aXBvOnN0cmluZztcclxuICAgIHB1YmxpYyBkZXRhbGxlc1JlZ2lzdHJvOk1QcmV2aW9FdmFsdWFjaW9uRHRbXT1bXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvciAoZTogSVByZXZpb0V2YWx1YWNpb249bnVsbCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0rZS5pZF9lbnRlcnByaXNlOyAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPStlLmlkX2VtcHJlc2HCoFxyXG4gICAgICAgICAgICB0aGlzLmlkUHJldmlvPSBwYXJzZUludChlLmlkX3ByZXZpbyk7XHJcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzbz1lLnByb2Nlc287XHJcbiAgICAgICAgICAgIHRoaXMuaWRDb25jdXJzbz0gcGFyc2VJbnQoZS5pZF9jb25jdXJzbyk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ29uY3Vyc289ZS5jb2Rjb24sXHJcbiAgICAgICAgICAgIHRoaXMubm9tYnJlQ29uY3Vyc289ZS5kZW5jb24sXHJcbiAgICAgICAgICAgIHRoaXMuaWRDb25jdXJzYW50ZT0gcGFyc2VJbnQoZS5pZF9jb25jdXJzYW50ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ29uY3Vyc2FudGU9ZS5jZWRwZXIsXHJcbiAgICAgICAgICAgIHRoaXMubm9tYnJlQ29uY3Vyc2FudGU9ZS5ub21wZXIsXHJcbiAgICAgICAgICAgIHRoaXMuaWRUaXBvRXZhbHVhY2lvbj0gcGFyc2VJbnQoZS5pZF90aXBvZXZhbCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvVGlwb0V2YWx1YWNpb249ZS5jb2R0aXBldmFsO1xyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZVRpcG9FdmFsdWFjaW9uPWUuZGVudGlwZXZhbDtcclxuICAgICAgICAgICAgdGhpcy5mZWNoYVJlZ2lzdHJvPWUuZmVjaGE7XHJcbiAgICAgICAgICAgIHRoaXMudmFsb3JNaW5pbW9SZXF1ZXJpZG89IHBhcnNlRmxvYXQoZS5wdW5yZXFtaW4pO1xyXG4gICAgICAgICAgICB0aGlzLnVzdWFyaW9SZWdpc3Rybz1lLnVzdWFyaW87XHJcbiAgICAgICAgICAgIHRoaXMuaG9yYVJlZ2lzdHJvPWUuaG9yYTtcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzUmVnaXN0cm89IHBhcnNlSW50KGUuZXN0YXR1cyk7XHJcbiAgICAgICAgICAgIHRoaXMudGlwbz1lLnRpcG87XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWxsZXNSZWdpc3Rybz0gZS5kZXRhbGxlcy5tYXAoZT0+bmV3IE1QcmV2aW9FdmFsdWFjaW9uRHQoZSkpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklQcmV2aW9FdmFsdWFjaW9ue1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VudGVycHJpc2U6dGhpcy5pZEVudGVycHJpc2UudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZW1wcmVzYcKgOnRoaXMuaWRFbXByZXNhLFxyXG4gICAgICAgICAgICBpZF9wcmV2aW86IHRoaXMuaWRQcmV2aW8udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgcHJvY2VzbzogdGhpcy5wcm9jZXNvLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzbzogdGhpcy5pZENvbmN1cnNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZGNvbjogdGhpcy5jb2RpZ29Db25jdXJzbyxcclxuICAgICAgICAgICAgZGVuY29uOiB0aGlzLm5vbWJyZUNvbmN1cnNvLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzYW50ZTogdGhpcy5pZENvbmN1cnNhbnRlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNlZHBlcjogdGhpcy5jb2RpZ29Db25jdXJzYW50ZSxcclxuICAgICAgICAgICAgbm9tcGVyOiB0aGlzLm5vbWJyZUNvbmN1cnNhbnRlLFxyXG4gICAgICAgICAgICBpZF90aXBvZXZhbDogdGhpcy5pZFRpcG9FdmFsdWFjaW9uLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZHRpcGV2YWw6IHRoaXMuY29kaWdvVGlwb0V2YWx1YWNpb24sXHJcbiAgICAgICAgICAgIGRlbnRpcGV2YWw6IHRoaXMubm9tYnJlVGlwb0V2YWx1YWNpb24sXHJcbiAgICAgICAgICAgIGZlY2hhOiB0aGlzLmZlY2hhUmVnaXN0cm8sXHJcbiAgICAgICAgICAgIHB1bnJlcW1pbjogdGhpcy52YWxvck1pbmltb1JlcXVlcmlkby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICB1c3VhcmlvOiB0aGlzLnVzdWFyaW9SZWdpc3RybyxcclxuICAgICAgICAgICAgaG9yYTogdGhpcy5ob3JhUmVnaXN0cm8sXHJcbiAgICAgICAgICAgIGVzdGF0dXM6IHRoaXMuZXN0YXR1c1JlZ2lzdHJvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIHRpcG86IHRoaXMudGlwbyxcclxuICAgICAgICAgICAgZGV0YWxsZXM6dGhpcy5kZXRhbGxlc1JlZ2lzdHJvLm1hcChmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS5kYXRhSW50ZXJmYWNlKCk7IH0pXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1QcmV2aW9FdmFsdWFjaW9uRHQgZXh0ZW5kcyBNQmFzaWNNb2RlbHtcclxuICAgIHB1YmxpYyBpZEVudGVycHJpc2U6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBpZFByZXZpbzogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRBc3BlY3RvOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFRpcG9FdmFsdWFjaW9uOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZEl0ZW06IG51bWJlcj0wOyAgICBcclxuICAgIHB1YmxpYyBpZER0UHJldmlvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlc2NyaXBjaW9uOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgcHVudG9zOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyB2YWxvck1heGltbzogbnVtYmVyPTA7XHJcblxyXG4gICAgY29uc3RydWN0b3IgKGU6IElQcmV2aW9FdmFsdWFjaW9uRHQ9bnVsbCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0rZS5pZF9lbnRlcnByaXNlOyAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPStlLmlkX2VtcHJlc2HCoFxyXG4gICAgICAgICAgICB0aGlzLmlkUHJldmlvPSBwYXJzZUludChlLmlkX3ByZXZpbyk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRBc3BlY3RvPSBwYXJzZUludChlLmlkX2FzcGVjdG8pO1xyXG4gICAgICAgICAgICB0aGlzLmlkVGlwb0V2YWx1YWNpb249IHBhcnNlSW50KGUuaWRfdGlwb2V2YWwpO1xyXG4gICAgICAgICAgICB0aGlzLmlkSXRlbT0gcGFyc2VJbnQoZS5pZF9pdGVtKTtcclxuICAgICAgICAgICAgdGhpcy5pZER0UHJldmlvPSBwYXJzZUludChlLmlkX2R0X3ByZXZpbyk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvPWUuY29kaXRlO1xyXG4gICAgICAgICAgICB0aGlzLmRlc2NyaXBjaW9uPWUuZGVuaXRlO1xyXG4gICAgICAgICAgICB0aGlzLnB1bnRvcz0gcGFyc2VJbnQoZS5wdW50b3MpO1xyXG4gICAgICAgICAgICB0aGlzLnZhbG9yTWF4aW1vPSBwYXJzZUludChlLnZhbG9ybWF4KTtcclxuICAgICAgICB9ZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SVByZXZpb0V2YWx1YWNpb25EdHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZF9lbnRlcnByaXNlOnRoaXMuaWRFbnRlcnByaXNlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2HCoDp0aGlzLmlkRW1wcmVzYSxcclxuICAgICAgICAgICAgaWRfcHJldmlvOiB0aGlzLmlkUHJldmlvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3RpcG9ldmFsOiB0aGlzLmlkVGlwb0V2YWx1YWNpb24udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfYXNwZWN0bzogdGhpcy5pZEFzcGVjdG8udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfaXRlbTogdGhpcy5pZEl0ZW0udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29kaXRlOiB0aGlzLmNvZGlnbyxcclxuICAgICAgICAgICAgZGVuaXRlOiB0aGlzLmRlc2NyaXBjaW9uLFxyXG4gICAgICAgICAgICBwdW50b3M6IHRoaXMucHVudG9zLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIHZhbG9ybWF4OiB0aGlzLnZhbG9yTWF4aW1vLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2R0X3ByZXZpbzogdGhpcy5pZER0UHJldmlvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1SZXN1bHRhZG9zRXZhbHVhY2lvbiBleHRlbmRzIE1CYXNpY01vZGVse1xyXG4gICAgcHVibGljIGlkRW50ZXJwcmlzZTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGlkRXZhbHVhY2lvbjogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRDb25jdXJzbzogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY29kaWdvQ29uY3Vyc286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBub21icmVDb25jdXJzbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGlkQ29uY3Vyc2FudGU6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb0NvbmN1cnNhbnRlOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlQ29uY3Vyc2FudGU6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBvYnNlcnZhY2lvbjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGZlY2hhUmVnaXN0cm86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIHJlc3VsdGFkb190ZWM6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIHJlc3VsdGFkb190b3RhbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyByZXN1bHRhZG9fcHNpOm51bWJlcj0wO1xyXG4gICAgcHVibGljIHJlc3VsdGFkb19ycW06IG51bWJlcj0wO1xyXG4gICAgcHVibGljIHVzdWFyaW9SZWdpc3Rybzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNvbmNsdXNpb246c3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yIChlPzogSVJlc3VsdGFkb3NFdmFsdWFjaW9uKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbnRlcnByaXNlPStlLmlkX2VudGVycHJpc2U7ICBcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9K2UuaWRfZW1wcmVzYcKgXHJcbiAgICAgICAgICAgIHRoaXMuaWRFdmFsdWFjaW9uPSBwYXJzZUludChlLmlkX2V2YWx1YWNpb24pO1xyXG4gICAgICAgICAgICB0aGlzLmlkQ29uY3Vyc289IHBhcnNlSW50KGUuaWRfY29uY3Vyc28pO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0NvbmN1cnNvPWUuY29kY29uLFxyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZUNvbmN1cnNvPWUuZGVuY29uLFxyXG4gICAgICAgICAgICB0aGlzLmlkQ29uY3Vyc2FudGU9IHBhcnNlSW50KGUuaWRfY29uY3Vyc2FudGUpO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0NvbmN1cnNhbnRlPWUuY2VkcGVyLFxyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZUNvbmN1cnNhbnRlPWUubm9tcGVyLFxyXG4gICAgICAgICAgICB0aGlzLm9ic2VydmFjaW9uPWUub2JzZXJ2YWNpb24sXHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFSZWdpc3Rybz1lLmZlY2hhO1xyXG4gICAgICAgICAgICB0aGlzLnVzdWFyaW9SZWdpc3Rybz1lLnVzdWFyaW87XHJcbiAgICAgICAgICAgIHRoaXMucmVzdWx0YWRvX3RlYz0gcGFyc2VGbG9hdChlLnJlc3VsdGFkb190ZWMpO1xyXG4gICAgICAgICAgICB0aGlzLnJlc3VsdGFkb190b3RhbD1wYXJzZUZsb2F0KGUucmVzdWx0YWRvX3RvdGFsKTtcclxuICAgICAgICAgICAgdGhpcy5yZXN1bHRhZG9fcHNpPXBhcnNlRmxvYXQoZS5yZXN1bHRhZG9fcHNpKTtcclxuICAgICAgICAgICAgdGhpcy5yZXN1bHRhZG9fcnFtPSBwYXJzZUZsb2F0KGUucmVzdWx0YWRvX3JxbSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29uY2x1c2lvbj1lLmNvbmNsdXNpb247XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SVJlc3VsdGFkb3NFdmFsdWFjaW9ue1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VudGVycHJpc2U6dGhpcy5pZEVudGVycHJpc2UudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZW1wcmVzYcKgOnRoaXMuaWRFbXByZXNhLFxyXG4gICAgICAgICAgICBpZF9ldmFsdWFjaW9uOiB0aGlzLmlkRXZhbHVhY2lvbi50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzbzogdGhpcy5pZENvbmN1cnNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZGNvbjogdGhpcy5jb2RpZ29Db25jdXJzbyxcclxuICAgICAgICAgICAgZGVuY29uOiB0aGlzLm5vbWJyZUNvbmN1cnNvLFxyXG4gICAgICAgICAgICBpZF9jb25jdXJzYW50ZTogdGhpcy5pZENvbmN1cnNhbnRlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNlZHBlcjogdGhpcy5jb2RpZ29Db25jdXJzYW50ZSxcclxuICAgICAgICAgICAgbm9tcGVyOiB0aGlzLm5vbWJyZUNvbmN1cnNhbnRlLFxyXG4gICAgICAgICAgICBvYnNlcnZhY2lvbjogdGhpcy5vYnNlcnZhY2lvbixcclxuICAgICAgICAgICAgZmVjaGE6IHRoaXMuZmVjaGFSZWdpc3RybyxcclxuICAgICAgICAgICAgdXN1YXJpbzogdGhpcy51c3VhcmlvUmVnaXN0cm8sXHJcbiAgICAgICAgICAgIHJlc3VsdGFkb190ZWM6IHRoaXMucmVzdWx0YWRvX3RlYy50b1N0cmluZygpLFxyXG4gICAgICAgICAgICByZXN1bHRhZG9fcHNpOiB0aGlzLnJlc3VsdGFkb19wc2kudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgcmVzdWx0YWRvX3RvdGFsOiB0aGlzLnJlc3VsdGFkb190b3RhbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICByZXN1bHRhZG9fcnFtOiB0aGlzLnJlc3VsdGFkb19ycW0udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29uY2x1c2lvbjogdGhpcy5jb25jbHVzaW9uLFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuIl19
|