dmencu 3.2.21 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -42
- package/dist/client/client/client.js +3 -3
- package/dist/client/unlogged/abrir-formulario.js +1 -1
- package/dist/client/unlogged/bypass-formulario.d.ts +6 -42
- package/dist/client/unlogged/bypass-formulario.js +84 -219
- package/dist/client/unlogged/calculos-encuesta.js +112 -38
- package/dist/client/unlogged/helpers-casilleros.d.ts +1 -1
- package/dist/client/unlogged/helpers-casilleros.js +12 -18
- package/dist/client/unlogged/helpers-formulario.d.ts +16 -0
- package/dist/client/unlogged/helpers-formulario.js +88 -0
- package/dist/client/unlogged/redux-formulario.d.ts +1 -2
- package/dist/client/unlogged/redux-formulario.js +21 -31
- package/dist/client/unlogged/render-formulario.d.ts +2 -6
- package/dist/client/unlogged/render-formulario.js +29 -68
- package/dist/client/unlogged/render-formulario.tsx +29 -57
- package/dist/client/unlogged/render-general.js +1 -1
- package/dist/client/unlogged/render-general.tsx +1 -1
- package/dist/client/unlogged/tipos.d.ts +74 -40
- package/dist/client/unlogged/tipos.js +1 -1
- package/dist/server/app-dmencu.d.ts +1428 -0
- package/dist/server/app-dmencu.js +1054 -0
- package/dist/server/def-config.d.ts +1 -0
- package/dist/server/def-config.js +123 -0
- package/dist/server/procedures-dmencu.d.ts +43 -0
- package/dist/server/procedures-dmencu.js +2295 -0
- package/dist/server/server/app-dmencu.d.ts +42 -91
- package/dist/server/server/app-dmencu.js +114 -52
- package/dist/server/server/procedures-dmencu.d.ts +34 -2
- package/dist/server/server/procedures-dmencu.js +77 -51
- package/dist/server/server/setters-rea-no-rea.d.ts +13 -0
- package/dist/server/server/setters-rea-no-rea.js +35 -0
- package/dist/server/server/table-areas.js +4 -4
- package/dist/server/server/table-areas_asignacion_general.js +2 -1
- package/dist/server/server/table-control_campo.js +4 -4
- package/dist/server/server/table-no_rea.js +4 -2
- package/dist/server/server/table-no_rea_sup.js +7 -3
- package/dist/server/server/table-personal.js +1 -1
- package/dist/server/server/table-tareas_tem.js +2 -2
- package/dist/server/server/table-tem.js +2 -2
- package/dist/server/server/types-dmencu.d.ts +34 -2
- package/dist/server/server/types-dmencu.js +2 -1
- package/dist/server/setters-rea-no-rea.d.ts +13 -0
- package/dist/server/setters-rea-no-rea.js +35 -0
- package/dist/server/table-acciones.d.ts +2 -0
- package/dist/server/table-acciones.js +45 -0
- package/dist/server/table-area_enc_proximas.d.ts +2 -0
- package/dist/server/table-area_enc_proximas.js +30 -0
- package/dist/server/table-areas.d.ts +4 -0
- package/dist/server/table-areas.js +112 -0
- package/dist/server/table-areas_asignacion_general.d.ts +2 -0
- package/dist/server/table-areas_asignacion_general.js +86 -0
- package/dist/server/table-barrios.d.ts +2 -0
- package/dist/server/table-barrios.js +35 -0
- package/dist/server/table-comunas.d.ts +2 -0
- package/dist/server/table-comunas.js +33 -0
- package/dist/server/table-control_campo.d.ts +12 -0
- package/dist/server/table-control_campo.js +119 -0
- package/dist/server/table-control_dias_carga.d.ts +2 -0
- package/dist/server/table-control_dias_carga.js +63 -0
- package/dist/server/table-control_resumen.d.ts +2 -0
- package/dist/server/table-control_resumen.js +19 -0
- package/dist/server/table-diccionario.d.ts +2 -0
- package/dist/server/table-diccionario.js +32 -0
- package/dist/server/table-dictra.d.ts +2 -0
- package/dist/server/table-dictra.js +46 -0
- package/dist/server/table-dicvar.d.ts +2 -0
- package/dist/server/table-dicvar.js +32 -0
- package/dist/server/table-encuestadores.d.ts +13 -0
- package/dist/server/table-encuestadores.js +75 -0
- package/dist/server/table-estados.d.ts +2 -0
- package/dist/server/table-estados.js +47 -0
- package/dist/server/table-estados_acciones.d.ts +2 -0
- package/dist/server/table-estados_acciones.js +40 -0
- package/dist/server/table-fracciones.d.ts +2 -0
- package/dist/server/table-fracciones.js +37 -0
- package/dist/server/table-grilla_hoja_ruta.d.ts +2 -0
- package/dist/server/table-grilla_hoja_ruta.js +93 -0
- package/dist/server/table-historial_tem.d.ts +2 -0
- package/dist/server/table-historial_tem.js +57 -0
- package/dist/server/table-hogares.d.ts +2 -0
- package/dist/server/table-hogares.js +156 -0
- package/dist/server/table-hogares_sup.d.ts +2 -0
- package/dist/server/table-hogares_sup.js +191 -0
- package/dist/server/table-inconsistencias_cumplen_condicion.d.ts +2 -0
- package/dist/server/table-inconsistencias_cumplen_condicion.js +33 -0
- package/dist/server/table-manzanas.d.ts +2 -0
- package/dist/server/table-manzanas.js +36 -0
- package/dist/server/table-mis_encuestadores.d.ts +2 -0
- package/dist/server/table-mis_encuestadores.js +77 -0
- package/dist/server/table-mis_tareas.d.ts +2 -0
- package/dist/server/table-mis_tareas.js +18 -0
- package/dist/server/table-mis_tareas_areas.d.ts +2 -0
- package/dist/server/table-mis_tareas_areas.js +20 -0
- package/dist/server/table-modos_dm.d.ts +2 -0
- package/dist/server/table-modos_dm.js +28 -0
- package/dist/server/table-no_rea.js +38 -0
- package/dist/server/table-no_rea_sup.js +36 -0
- package/dist/server/table-operaciones.d.ts +2 -0
- package/dist/server/table-operaciones.js +30 -0
- package/dist/server/table-parametros.d.ts +2 -0
- package/dist/server/table-parametros.js +40 -0
- package/dist/server/table-permisos.d.ts +2 -0
- package/dist/server/table-permisos.js +31 -0
- package/dist/server/table-personal.d.ts +5 -0
- package/dist/server/table-personal.js +62 -0
- package/dist/server/table-personal_rol.d.ts +2 -0
- package/dist/server/table-personal_rol.js +42 -0
- package/dist/server/table-personas.d.ts +2 -0
- package/dist/server/table-personas.js +448 -0
- package/dist/server/table-personas_sup.d.ts +2 -0
- package/dist/server/table-personas_sup.js +93 -0
- package/dist/server/table-radios.d.ts +2 -0
- package/dist/server/table-radios.js +37 -0
- package/dist/server/table-rea.d.ts +2 -0
- package/dist/server/table-rea.js +38 -0
- package/dist/server/table-rea_sup.d.ts +2 -0
- package/dist/server/table-rea_sup.js +38 -0
- package/dist/server/table-recepcionistas.d.ts +2 -0
- package/dist/server/table-recepcionistas.js +18 -0
- package/dist/server/table-recuperadores.d.ts +2 -0
- package/dist/server/table-recuperadores.js +18 -0
- package/dist/server/table-roles.d.ts +2 -0
- package/dist/server/table-roles.js +33 -0
- package/dist/server/table-roles_permisos.d.ts +2 -0
- package/dist/server/table-roles_permisos.js +36 -0
- package/dist/server/table-roles_subordinados.d.ts +2 -0
- package/dist/server/table-roles_subordinados.js +31 -0
- package/dist/server/table-semanas.d.ts +2 -0
- package/dist/server/table-semanas.js +42 -0
- package/dist/server/table-sincronizaciones.d.ts +2 -0
- package/dist/server/table-sincronizaciones.js +30 -0
- package/dist/server/table-supervisores.d.ts +2 -0
- package/dist/server/table-supervisores.js +18 -0
- package/dist/server/table-tareas.d.ts +2 -0
- package/dist/server/table-tareas.js +48 -0
- package/dist/server/table-tareas_areas.d.ts +7 -0
- package/dist/server/table-tareas_areas.js +112 -0
- package/dist/server/table-tareas_proximas.d.ts +2 -0
- package/dist/server/table-tareas_proximas.js +48 -0
- package/dist/server/table-tareas_tem.d.ts +14 -0
- package/dist/server/table-tareas_tem.js +206 -0
- package/dist/server/table-tareas_tem_analisis_campo.d.ts +2 -0
- package/dist/server/table-tareas_tem_analisis_campo.js +31 -0
- package/dist/server/table-tareas_tem_fin_campo.d.ts +3 -0
- package/dist/server/table-tareas_tem_fin_campo.js +56 -0
- package/dist/server/table-tareas_tem_ingreso.d.ts +2 -0
- package/dist/server/table-tareas_tem_ingreso.js +31 -0
- package/dist/server/table-tareas_tem_procesamiento.d.ts +2 -0
- package/dist/server/table-tareas_tem_procesamiento.js +34 -0
- package/dist/server/table-tareas_tem_recepcion.d.ts +6 -0
- package/dist/server/table-tareas_tem_recepcion.js +59 -0
- package/dist/server/table-tem.d.ts +3 -0
- package/dist/server/table-tem.js +247 -0
- package/dist/server/table-tem_asignacion.d.ts +2 -0
- package/dist/server/table-tem_asignacion.js +50 -0
- package/dist/server/table-tem_borradas.d.ts +2 -0
- package/dist/server/table-tem_borradas.js +35 -0
- package/dist/server/table-usuarios.d.ts +2 -0
- package/dist/server/table-usuarios.js +63 -0
- package/dist/server/table-visitas.d.ts +2 -0
- package/dist/server/table-visitas.js +91 -0
- package/dist/server/table-visitas_sup.d.ts +2 -0
- package/dist/server/table-visitas_sup.js +91 -0
- package/dist/server/table-viviendas.d.ts +2 -0
- package/dist/server/table-viviendas.js +299 -0
- package/dist/server/types-dmencu.d.ts +95 -0
- package/dist/server/types-dmencu.js +34 -0
- package/dist/server/unlogged/tipos.d.ts +74 -40
- package/dist/server/unlogged/tipos.js +1 -1
- package/dist/test/app-para-tests.d.ts +1115 -0
- package/dist/test/app-para-tests.js +95 -0
- package/dist/test/test-caches-rea.d.ts +1 -0
- package/dist/test/test-caches-rea.js +243 -0
- package/dist/test/test-helpers-casilleros.d.ts +1 -0
- package/dist/test/test-helpers-casilleros.js +154 -0
- package/dist/test/test-helpers-formulario.d.ts +1 -0
- package/dist/test/test-helpers-formulario.js +95 -0
- package/dist/test/test-impacto-rea-no-rea-en-bd.d.ts +1 -0
- package/dist/test/test-impacto-rea-no-rea-en-bd.js +243 -0
- package/dist/test/test-menu-segun-rol.d.ts +1 -0
- package/dist/test/test-menu-segun-rol.js +170 -0
- package/dist/test/test-setters-rea-no-rea.d.ts +1 -0
- package/dist/test/test-setters-rea-no-rea.js +95 -0
- package/dist/test/test.d.ts +6 -0
- package/dist/test/test.js +8 -2
- package/dist/unlogged/helpers-casilleros.d.ts +1 -1
- package/dist/unlogged/helpers-casilleros.js +12 -18
- package/dist/unlogged/helpers-formulario.d.ts +16 -0
- package/dist/unlogged/helpers-formulario.js +88 -0
- package/dist/unlogged/tipos.d.ts +1 -1
- package/dist/unlogged/tipos.js +1 -1
- package/dist/unlogged/unlogged/abrir-formulario.js +1 -1
- package/dist/unlogged/unlogged/bypass-formulario.d.ts +6 -42
- package/dist/unlogged/unlogged/bypass-formulario.js +84 -219
- package/dist/unlogged/unlogged/helpers-casilleros.js +7 -14
- package/dist/unlogged/unlogged/helpers-formulario.d.ts +16 -0
- package/dist/unlogged/unlogged/helpers-formulario.js +88 -0
- package/dist/unlogged/unlogged/redux-formulario.d.ts +1 -2
- package/dist/unlogged/unlogged/redux-formulario.js +21 -31
- package/dist/unlogged/unlogged/render-formulario.d.ts +2 -6
- package/dist/unlogged/unlogged/render-formulario.js +29 -68
- package/dist/unlogged/unlogged/render-formulario.tsx +29 -57
- package/dist/unlogged/unlogged/render-general.js +1 -1
- package/dist/unlogged/unlogged/render-general.tsx +1 -1
- package/dist/unlogged/unlogged/tipos.d.ts +74 -40
- package/dist/unlogged/unlogged/tipos.js +1 -1
- package/dist/unlogged/unlogged/unlogged.js +2 -2
- package/install/accion_cumple_condicion.sql +1 -1
- package/install/generador_accion_cumple_condicion.sql +2 -2
- package/install/tarea_cumple_condicion.sql +1 -1
- package/install/xcalcular_resultado_trg.sql +1 -1
- package/package.json +20 -17
- package/dist/server/server/table-no_rea copy.js +0 -38
- package/dist/server/server/table-no_rea_sup copy.js +0 -36
- package/dist/unlogged/bypass-formulario.d.ts +0 -198
- package/dist/unlogged/bypass-formulario.js +0 -1226
- package/dist/unlogged/redux-formulario.d.ts +0 -440
- package/dist/unlogged/redux-formulario.js +0 -324
- package/dist/unlogged/render-config.d.ts +0 -52
- package/dist/unlogged/render-config.js +0 -161
- package/dist/unlogged/unlogged/bypass-formulario copy.d.ts +0 -198
- package/dist/unlogged/unlogged/bypass-formulario copy.js +0 -1226
- package/dist/unlogged/unlogged/helpers.d.ts +0 -14
- package/dist/unlogged/unlogged/helpers.js +0 -129
- /package/dist/server/{server/table-no_rea copy.d.ts → table-no_rea.d.ts} +0 -0
- /package/dist/server/{server/table-no_rea_sup copy.d.ts → table-no_rea_sup.d.ts} +0 -0
|
@@ -18,4 +18,4 @@
|
|
|
18
18
|
exports.iterator = LikeAr.iterator;
|
|
19
19
|
exports.empty = LikeAr.empty;
|
|
20
20
|
});
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvdGlwb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUE0aEJiLG9DQUVDO0lBNWhCRCxrQ0FBa0M7SUEwaEJsQyxTQUFnQixZQUFZLENBQUMsS0FBWTtRQUNyQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVVLFFBQUEsUUFBUSxHQUFtRCxNQUFNLENBQUMsUUFBUSxDQUFBO0lBQzFFLFFBQUEsS0FBSyxHQUFrRSxNQUFNLENBQUMsS0FBSyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbmltcG9ydCB7IFN0cnVjdHVyZSwgRmVlZGJhY2sgfSBmcm9tIFwicm93LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgKiBhcyBMaWtlQXIgZnJvbSBcImxpa2UtYXJcIjtcclxuXHJcbmV4cG9ydCB0eXBlIE1vZG9BbG1hY2VuYW1pZW50byA9ICdzZXNzaW9uJyB8IC8vIGN1YW5kbyBzZWEgcGFyYSB1bmEgc29sYSBwZXN0YcOxYSwgc2UgdXNhIGVuIG1vZG8gZGlyZWN0byxcclxuICAgICdsb2NhbCcgICAgLy8gcGFyYSB0b2RvIGVsIGRpc3Bvc2l0aXZvLCBzZSB1c2EgYWwgY2FyZ2FyIGhvamFzIGRlIHJ1dGEgZW50cmVzXHJcblxyXG5leHBvcnQgdHlwZSBJZE9wY2lvbiA9IG51bWJlclxyXG5leHBvcnQgdHlwZSBJZE9wZXJhdGl2byA9ICdldG9pMjExJyB8ICdlYWgyMDIyJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkVmFyaWFibGUgPSAndjEnIHwgJ3YyJyB8ICd2MycgfCAnZXRjLi4uJyB8ICd2ZG9taW5pbycgfCAnJHAwJ1xyXG5leHBvcnQgdHlwZSBJZFByZWd1bnRhID0gJ1AxJyB8ICdQMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZEJsb3F1ZSA9ICdCMScgfCAnQjInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRGb3JtdWxhcmlvID0gJ0YxJyB8ICdGMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZFVuaWRhZEFuYWxpc2lzID0gJ3ZpdmllbmRhcycgfCAnaG9nYXJlcycgfCAncGVyc29uYXMnXHJcbmV4cG9ydCB0eXBlIElkQm90b25Gb3JtdWxhcmlvID0gJ0JGOkYxJyB8ICdCRjpGMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZENvbnNpc3RlbmNpYSA9ICdDT05TMScgfCAnQ09OUzInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRUZXh0byA9ICdEMzBfUkVGJyB8ICdNRVNfUkVGJyB8ICdTRU1fUkVGJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ29tb2RpbiA9ICdEMzBfUkVGJyB8ICdNRVNfUkVGJyB8ICdTRU1fUkVGJyB8ICdTRU1fTlVNJyB8ICdyZXNwczEnIHwgJ3BhcmVudHMxJyB8ICdyZXNwaTEnIHwgJ3BhcmVudGkxJyB8ICduamVmZScgfCAnZnJlYWxpeicgfCAnY2FudF9ob2dhcmVzJ1xyXG5leHBvcnQgdHlwZSBJZEZpbHRybyA9ICdGSUxUUk8xJyB8ICdGSUxUUk8yJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ2FzaWxsZXJvID0gSWRWYXJpYWJsZSB8IElkUHJlZ3VudGEgfCBJZEJsb3F1ZSB8IElkRm9ybXVsYXJpbyB8IElkRmlsdHJvIHwgSWRPcGNpb25cclxuZXhwb3J0IHR5cGUgSWRGaW4gPSAnZmluJzsgLy8gbmV2ZXIgLy8gVE9ETzogcG9kZXIgcG9uZXIgJ0ZJTidcclxuZXhwb3J0IHR5cGUgSWREZXN0aW5vID0gSWRQcmVndW50YSB8IElkQmxvcXVlIHwgSWRGaW4gfCBJZEZpbHRyb1xyXG5leHBvcnQgdHlwZSBWYWxvciA9IHN0cmluZyB8IG51bWJlciB8IG51bGw7XHJcbmV4cG9ydCB0eXBlIFRpcG9jRGVzdGlub3MgPSAnUCcgfCAnQ1AnIHwgJ0InIHwgJ0ZJTFRSTycgfCAnQkYnXHJcbmV4cG9ydCB0eXBlIFRpcG9jID0gVGlwb2NEZXN0aW5vcyB8ICdGJyB8ICdPJyB8ICdPTScgfCAnQ09OUycgfCAnVEVYVE8nIHwgJ0xJQlJFJyB8ICdQTUFUUklaJ1xyXG5cclxuZXhwb3J0IHR5cGUgRXNwZWNpYWwgPSB7XHJcbiAgICBncHM/OiBib29sZWFuXHJcbiAgICBub1Njcm9sbD86IGJvb2xlYW5cclxuICAgIHNjcm9sbFRvPzogSWRWYXJpYWJsZSB8IElkRmluXHJcbiAgICBhdXRvaW5nPzogc3RyaW5nXHJcbiAgICBmbGV4RGlyZWN0aW9uPzogJ3JvdycgfCAnY29sdW1uJyB8ICdyb3ctcmV2ZXJzZScgfCAnY29sdW1uLXJldmVyc2UnXHJcbiAgICBjYW1wb3NSZXN1bWVuPzogc3RyaW5nW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRUYXJlYSA9ICdlbmN1JyB8ICdyZWN1JyB8ICdzdXBlJyB8ICdpbmdyJztcclxuXHJcbmV4cG9ydCB0eXBlIEZlZWRiYWNrVmFyaWFibGUgPSBGZWVkYmFjazxJZFZhcmlhYmxlLCBJZEZpbj5cclxuXHJcbmV4cG9ydCB0eXBlIFRpcG9WYXJpYWJsZXMgPSAndGV4dG8nIHwgJ251bWVybycgfCAnZmVjaGEnIHwgJ2hvcmFzJyB8ICdob3JhJ1xyXG5cclxuZXhwb3J0IHR5cGUgRGVzcGxpZWd1ZSA9ICdob3Jpem9udGFsJyB8ICdvY3VsdGEnXHJcblxyXG5leHBvcnQgdHlwZSBDYXNpbGxlcm9CYXNlID0ge1xyXG4gICAgaWRfY2FzaWxsZXJvPzogc3RyaW5nXHJcbiAgICB0aXBvYzogVGlwb2NcclxuICAgIGNhc2lsbGVybzogSWRDYXNpbGxlcm9cclxuICAgIG5vbWJyZTogc3RyaW5nXHJcbiAgICBzYWx0bzogSWREZXN0aW5vIHwgSWRGaW4gfCBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IElkRGVzdGlubyB8IElkRmluIHwgbnVsbFxyXG4gICAgdmVyX2lkOiBzdHJpbmcgfCBudWxsXHJcbiAgICBkZXNwbGllZ3VlRW5jYWJlemFkbzogJ2xhdGVyYWwnIHwgJ3N1cGVyaW9yJyB8IG51bGxcclxuICAgIGRlc3BsaWVndWVDb250ZW5pZG86ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgfCBudWxsXHJcbiAgICBkZXNwbGllZ3VlVGlwb0lucHV0OiAndGVsJyB8IG51bGxcclxuICAgIGRlc3BsaWVndWVPY3VsdGE6IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsZWVyOiBib29sZWFuIHwgbnVsbFxyXG4gICAgYWNsYXJhY2lvbjogc3RyaW5nIHwgbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICB2YXJfbmFtZT86IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICB2YXJfbmFtZV9lc3BlY2lhbD86IHN0cmluZyB8IG51bGxcclxuICAgIHRpcG92YXI/OiBUaXBvVmFyaWFibGVzIHwgJ29wY2lvbmVzJyB8ICdzaV9ubycgfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zPzogQ2FzaWxsZXJvc0ltcGxlbWVudGFkb3NbXSB8IG51bGxcclxuICAgIGV4cHJlc2lvbl9oYWJpbGl0YXI/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9oYWJpbGl0YXJfanM/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9hdXRvaW5ncmVzYXI/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9hdXRvaW5ncmVzYXJfanM/OiBzdHJpbmdcclxuICAgIGVzcGVjaWFsPzogRXNwZWNpYWxcclxuICAgIGNhbGN1bGFkYT86IGJvb2xlYW4gfCBudWxsXHJcbiAgICBvcHRhdGl2bz86IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsaWJyZT86IGJvb2xlYW4gfCBudWxsXHJcbiAgICB2YWxvcl9uc19uYz86IGFueVxyXG4gICAgZGVzcGxpZWd1ZT86IHN0cmluZ1xyXG4gICAgbG9uZ2l0dWQ/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnTydcclxuICAgIGNhc2lsbGVybzogSWRPcGNpb25cclxuICAgIGNhc2lsbGVyb3M6IFByZWd1bnRhU2ltcGxlW11cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/OiBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uU2kgPSBPcGNpb24gJiB7XHJcbiAgICBjYXNpbGxlcm86IDFcclxuICAgIG5vbWJyZTogJ1PDrSdcclxuICAgIGNhc2lsbGVyb3M6IFByZWd1bnRhU2ltcGxlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uTm8gPSBPcGNpb24gJiB7XHJcbiAgICBjYXNpbGxlcm86IDJcclxuICAgIG5vbWJyZTogJ05vJ1xyXG4gICAgY2FzaWxsZXJvczogUHJlZ3VudGFTaW1wbGVbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBPcGNpb25NdWx0aXBsZSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ09NJ1xyXG4gICAgdGlwb3ZhcjogJ29wY2lvbmVzJ1xyXG4gICAgdmFyX25hbWU6IElkVmFyaWFibGVcclxuICAgIGNhc2lsbGVyb3M6IFtPcGNpb25TaSwgT3BjaW9uTm9dXHJcbiAgICBjYWxjdWxhZGE/OiBib29sZWFuXHJcbiAgICBsaWJyZT86IGJvb2xlYW5cclxuICAgIHZhbG9yX25zX25jOiBhbnlcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YUJhc2UgPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdQJ1xyXG4gICAgb3B0YXRpdm86IGJvb2xlYW4gfCBudWxsXHJcbiAgICBjYXNpbGxlcm86IElkUHJlZ3VudGFcclxuICAgIGNhbGN1bGFkYTogYm9vbGVhbiB8IG51bGxcclxuICAgIGxpYnJlOiBib29sZWFuIHwgbnVsbFxyXG4gICAgdmFsb3JfbnNfbmM6IGFueVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YVNpbXBsZSA9IFByZWd1bnRhQmFzZSAmIHtcclxuICAgIHRpcG92YXI6IFRpcG9WYXJpYWJsZXNcclxuICAgIHZhcl9uYW1lOiBJZFZhcmlhYmxlXHJcbiAgICBsb25naXR1ZDogc3RyaW5nXHJcbiAgICBzYWx0b19uc19uYzogSWREZXN0aW5vIHwgSWRGaW4gfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBQcmVndW50YVNpbXBsZVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWd1bnRhQ29uU2lObyA9IFByZWd1bnRhQmFzZSAmIHtcclxuICAgIHRpcG92YXI6ICdzaV9ubydcclxuICAgIHZhcl9uYW1lOiBJZFZhcmlhYmxlXHJcbiAgICBzYWx0b19uc19uYzogSWREZXN0aW5vIHwgSWRGaW4gfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBbT3BjaW9uU2ksIE9wY2lvbk5vXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YUNvbk9wY2lvbmVzID0gUHJlZ3VudGFCYXNlICYge1xyXG4gICAgdGlwb3ZhcjogJ29wY2lvbmVzJ1xyXG4gICAgdmFyX25hbWU6IElkVmFyaWFibGVcclxuICAgIHNhbHRvX25zX25jOiBJZERlc3Rpbm8gfCBJZEZpbiB8IG51bGxcclxuICAgIGNhc2lsbGVyb3M6IE9wY2lvbltdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWd1bnRhQ29uT3BjaW9uZXNNdWx0aXBsZXMgPSBQcmVndW50YUJhc2UgJiB7XHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBPcGNpb25NdWx0aXBsZVtdXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGEgPSBQcmVndW50YVNpbXBsZSB8IFByZWd1bnRhQ29uU2lObyB8IFByZWd1bnRhQ29uT3BjaW9uZXMgfCBQcmVndW50YUNvbk9wY2lvbmVzTXVsdGlwbGVzXHJcblxyXG5leHBvcnQgdHlwZSBDb25qdW50b1ByZWd1bnRhcyA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ0NQJ1xyXG4gICAgY2FzaWxsZXJvOiBJZFByZWd1bnRhXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBQcmVndW50YVtdXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuLypcclxuZXhwb3J0IGludGVyZmFjZSBJQ29udGVuaWRvIGV4dGVuZHMgQ2FzaWxsZXJvQmFzZSB7XHJcbiAgICBjYXNpbGxlcm9zOklDb250ZW5pZG9bXVxyXG59XHJcbiovXHJcblxyXG5leHBvcnQgdHlwZSBGaWx0cm8gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdGSUxUUk8nXHJcbiAgICBjYXNpbGxlcm86IElkRmlsdHJvXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogbnVsbFxyXG4gICAgY2FsY3VsYWRhPzogbnVsbFxyXG4gICAgbGlicmU/OiBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ29udGVuaWRvRm9ybXVsYXJpbyA9IEJsb3F1ZSB8IFByZWd1bnRhIHwgQ29uanVudG9QcmVndW50YXMgfCBGaWx0cm8gfCBCb3RvbkZvcm11bGFyaW8gfCBDb25zaXN0ZW5jaWEgfCBUZXh0b1xyXG5cclxuZXhwb3J0IHR5cGUgQmxvcXVlID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnQidcclxuICAgIGNhc2lsbGVybzogSWRCbG9xdWVcclxuICAgIGNhc2lsbGVyb3M6IENvbnRlbmlkb0Zvcm11bGFyaW9bXVxyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgdW5pZGFkX2FuYWxpc2lzPzogSWRVbmlkYWRBbmFsaXNpc1xyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbnNpc3RlbmNpYSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ0NPTlMnXHJcbiAgICBjYXNpbGxlcm86IElkQ29uc2lzdGVuY2lhXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogbnVsbFxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuZXhwb3J0IHR5cGUgVGV4dG8gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdURVhUTydcclxuICAgIGNhc2lsbGVybzogSWRUZXh0b1xyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IG51bGxcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcbmV4cG9ydCB0eXBlIExpYnJlID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnTElCUkUnXHJcbiAgICBjYXNpbGxlcm86IElkVGV4dG9cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/OiBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5leHBvcnQgdHlwZSBCb3RvbkZvcm11bGFyaW8gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdCRidcclxuICAgIGNhc2lsbGVybzogSWRCb3RvbkZvcm11bGFyaW9cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/OiBJZFZhcmlhYmxlIHwgbnVsbFxyXG4gICAgdmFyX25hbWVzX0JGPzogSWRWYXJpYWJsZVtdXHJcbiAgICBsb25naXR1ZD86IHN0cmluZ1xyXG4gICAgdW5pZGFkX2FuYWxpc2lzPzogSWRVbmlkYWRBbmFsaXNpc1xyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZvcm11bGFyaW8gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdGJ1xyXG4gICAgY2FzaWxsZXJvOiBJZEZvcm11bGFyaW9cclxuICAgIGZvcm11bGFyaW9fcHJpbmNpcGFsOiBib29sZWFuXHJcbiAgICBjYXNpbGxlcm9zOiBDb250ZW5pZG9Gb3JtdWxhcmlvW11cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIGhlcm1hbm8/OiB0cnVlXHJcbiAgICB1bmlkYWRfYW5hbGlzaXM6IElkVW5pZGFkQW5hbGlzaXNcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQTWF0cml6ID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnUE1BVFJJWidcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDYXNpbGxlcm9zSW1wbGVtZW50YWRvcyA9IEZvcm11bGFyaW8gfCBCbG9xdWUgfCBGaWx0cm8gfCBDb25qdW50b1ByZWd1bnRhcyB8IFByZWd1bnRhIHwgT3BjaW9uTXVsdGlwbGUgfCBPcGNpb24gfCBCb3RvbkZvcm11bGFyaW8gfCBDb25zaXN0ZW5jaWEgfCBUZXh0byB8IExpYnJlIHwgUE1hdHJpelxyXG5cclxuZXhwb3J0IHR5cGUgQ2FtcG9Qa1JhaXogPSAndml2aWVuZGEnIHwgJ2V0Yy4uLic7XHJcblxyXG5leHBvcnQgdHlwZSBWYWx1ZVBrUmFpeiA9IElkRW5jXHJcblxyXG5leHBvcnQgdHlwZSBGb3JQa1JhaXogPSB7XHJcbiAgICBmb3JtdWxhcmlvOiBJZEZvcm11bGFyaW9cclxufSAmIHtcclxuICAgIFtjYW1wbyBpbiBDYW1wb1BrUmFpel06IFZhbHVlUGtSYWl6XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhbXBvUGsgPSAndml2aWVuZGEnIHwgJ2hvZ2FyJyB8ICdwZXJzb25hJyB8ICdldGMuLi4nO1xyXG5leHBvcnQgdHlwZSBGb3JQayA9IEZvclBrUmFpeiAmIHtcclxuICAgIFtjYW1wbyBpbiBDYW1wb1BrXT86IG51bWJlclxyXG59XHJcbmV4cG9ydCB0eXBlIFBsYWluRm9yUGsgPSAne1wiZm9ybXVsYXJpb1wiOlwiRjpGMVwiLFwidml2aWVuZGFcIjpcIjEwMjAyXCIsXCJwZXJzb25hXCI6bnVsbH0nIHwgJ2V0Yy4uLic7XHJcblxyXG5leHBvcnQgdHlwZSBPYmpldG9OdW1lcmFkb09BcnJheTxUPiA9IFRbXSB8IHsgW24gaW4gbnVtYmVyXTogVCB9XHJcblxyXG5leHBvcnQgdHlwZSBSZXNwdWVzdGFzVW5hVUEgPSB7XHJcbiAgICBbcHJlZ3VudGEgaW4gSWRWYXJpYWJsZV06IFZhbG9yXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFJlc3B1ZXN0YUxhc1VBID0ge1xyXG4gICAgW3VhIGluIElkVW5pZGFkQW5hbGlzaXNdOiBPYmpldG9OdW1lcmFkb09BcnJheTxSZXNwdWVzdGFzPlxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSZXNwdWVzdGFzID0gUmVzcHVlc3Rhc1VuYVVBICYgUmVzcHVlc3RhTGFzVUFcclxuXHJcbmV4cG9ydCB0eXBlIFJlc3B1ZXN0YXNSYWl6ID0gUmVzcHVlc3RhcyAmIHtcclxuICAgIHJlc3VtZW5Fc3RhZG86IFJlc3VtZW5Fc3RhZG9cclxuICAgIHJlc3VtZW5Fc3RhZG9TdXA6IFJlc3VtZW5Fc3RhZG9cclxuICAgICRkaXJ0eTogYm9vbGVhblxyXG4gICAgY29kTm9SZWE6IHN0cmluZyB8IG51bGxcclxuICAgIGNvZFJlYTogbnVtYmVyIHwgbnVsbFxyXG4gICAgY29kTm9SZWFTdXA6IHN0cmluZyB8IG51bGxcclxuICAgIGNvZFJlYVN1cDogbnVtYmVyIHwgbnVsbFxyXG59XHJcblxyXG4vKlxyXG4gICAgYWNsYXJhY2nDs246XHJcbiAgICB7djE6J3gnLCB2MjoneCcsIHBlcnNvbmFzOlt7cDE6MSwgcDI6J3h9LHtwMToyLCBwMjp4fV0sIG1hc2NvdGFzOltdIH1cclxuICAgIGVzdMOhIGFuaWRhZG8gcG9yIHVuaWRhZCBkZSBhbsOhbGlzaXNcclxuKi9cclxuXHJcbmV4cG9ydCB0eXBlIFVuaWRhZEFuYWxpc2lzID0ge1xyXG4gICAgdW5pZGFkX2FuYWxpc2lzOiBJZFVuaWRhZEFuYWxpc2lzLFxyXG4gICAgcGFkcmU/OiBJZFVuaWRhZEFuYWxpc2lzLFxyXG4gICAgcGtfYWdyZWdhZGE6IENhbXBvUGssXHJcbiAgICBwcmluY2lwYWw/OiBib29sZWFuLFxyXG4gICAgaGlqYXM6IHsgW2sgaW4gSWRVbmlkYWRBbmFsaXNpc10/OiBVbmlkYWRBbmFsaXNpcyB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFRFTSA9IHtcclxuICAgIG5vbWNhbGxlOiBzdHJpbmdcclxuICAgIGRvbWluaW86IG51bWJlclxyXG4gICAgc2VjdG9yOiBzdHJpbmdcclxuICAgIGVkaWZpY2lvOiBzdHJpbmdcclxuICAgIGVudHJhZGE6IHN0cmluZ1xyXG4gICAgbnJvY2F0YXN0cmFsOiBzdHJpbmdcclxuICAgIHBpc286IHN0cmluZ1xyXG4gICAgZGVwYXJ0YW1lbnRvOiBzdHJpbmdcclxuICAgIGhhYml0YWNpb246IHN0cmluZ1xyXG4gICAgY2FzYTogc3RyaW5nXHJcbiAgICBwcmlvcmlkYWQ6IDEgfCAyIHwgM1xyXG4gICAgb2JzZXJ2YWNpb25lczogc3RyaW5nXHJcbiAgICBzZWxlY2Npb25hZG86IG51bWJlcixcclxuICAgIGNpdGE/OiBzdHJpbmcsXHJcbiAgICBjYXJnYTogc3RyaW5nLFxyXG4gICAgc2VtYW5hPzogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFJlc3VtZW5Fc3RhZG8gPSAndmFjaW8nIHwgJ2NvbiBwcm9ibGVtYXMnIHwgJ2luY29tcGxldG8nIHwgJ29rJyB8ICdubyByZWEnIHwgJ2NpdGEgcGFjdGFkYSc7XHJcblxyXG5leHBvcnQgdHlwZSBJbmZvVGFyZWEgPSB7XHJcbiAgICB0YXJlYTogSWRUYXJlYVxyXG4gICAgbm90YXM/OiBzdHJpbmdcclxuICAgIGZlY2hhX2FzaWduYWNpb24/OiBEYXRlXHJcbiAgICBhc2lnbmFkbz86IHN0cmluZ1xyXG4gICAgbWFpbl9mb3JtOiBJZEZvcm11bGFyaW9cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVmlzaXRhID0ge1xyXG4gICAgZmVjaGE6IHN0cmluZyB8IG51bGxcclxuICAgIGhvcmE6IHN0cmluZyB8IG51bGxcclxuICAgIGlkcGVyOiBzdHJpbmcgfCBudWxsXHJcbiAgICBvYnNlcnZhY2lvbmVzOiBzdHJpbmcgfCBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIERhdG9zSGRyVWFQcGFsID0ge1xyXG4gICAgdGFyZWE6IEluZm9UYXJlYVxyXG4gICAgdGVtOiBURU1cclxuXHJcbiAgICAvKlxyXG4gICAgICAgIGFjbGFyYWNpw7NuOlxyXG4gICAgICAgIHt2MToneCcsIHYyOid4JywgcGVyc29uYXM6W3twMToxLCBwMjoneH0se3AxOjIsIHAyOnh9XSwgbWFzY290YXM6W10gfVxyXG4gICAgICAgIGVzdMOhIGFuaWRhZG8gcG9yIHVuaWRhZCBkZSBhbsOhbGlzaXNcclxuICAgICovXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIElkQ2FyZ2EgPSBcIjFcIiB8IFwiMlwiIHwgXCJldGNcIlxyXG5cclxuZXhwb3J0IHR5cGUgRXN0YWRvQ2FyZ2EgPSAncmVzdW1lbicgfCAncmVsZXZhbWllbnRvJyB8ICdyZWNpYm8nXHJcblxyXG5leHBvcnQgdHlwZSBDYXJnYSA9IHtcclxuICAgIGZlY2hhOiBEYXRlXHJcbiAgICBlc3RhZG9fY2FyZ2E6IEVzdGFkb0NhcmdhXHJcbiAgICBuZWNlc2FyaWFzOiBudW1iZXJcclxuICAgIG9ic2VydmFjaW9uZXM6IHN0cmluZ1xyXG4gICAgcmVjZXBjaW9uaXN0YTogc3RyaW5nXHJcbiAgICBwdWVkZV9hdXRvZ2VuZXJhcjogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDYXJnYXMgPSB7XHJcbiAgICBbaWRDYXJnYSBpbiBJZENhcmdhXTogQ2FyZ2FcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXN0cnVjdHVyYVJvd1ZhbGlkYXRvciA9IFN0cnVjdHVyZTxJZFZhcmlhYmxlLCBWYWxvciwgSWRGaW4+O1xyXG5cclxuZXhwb3J0IHR5cGUgTW9kb0Rlc3BsaWVndWUgPSAnbWV0YWRhdG9zJyB8ICdyZWxldmFtaWVudG8nIHwgJ1BERidcclxuXHJcbmV4cG9ydCB0eXBlIFBhbnRhbGxhTmF2ZWdhY2lvbiA9ICdoZHInIHwgJ3NpbmNyb25pemFjaW9uJyB8ICdzaW5jcm9uaXphY2lvbl9yZXF1ZXJpZGEnIHwgJ21vZG8nO1xyXG5cclxuZXhwb3J0IHR5cGUgSW5mb0Zvcm11bGFyaW8gPSB7XHJcbiAgICBjYXNpbGxlcm9zOiBGb3JtdWxhcmlvLCAvLyBjYXNpbGxlcm9zIGFwbGFuYWRvc1xyXG4gICAgZXN0cnVjdHVyYVJvd1ZhbGlkYXRvcjogRXN0cnVjdHVyYVJvd1ZhbGlkYXRvciAvLyBlc3RydWN0dXJhIGRlIHZhcmlhYmxlcyBwYXJhIGVsIFJvd1ZhbGlkYXRvclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJZFJlc3VsdGFkbyA9ICdBVkVSSUdVQVInIHwgJ1RPRE8nO1xyXG5leHBvcnQgdHlwZSBJZFNlbWFuYSA9IDEgfCAyIHwgJ2V0YydcclxuXHJcbmV4cG9ydCB0eXBlIFNlbWFuYSA9IHtcclxuICAgIG9wZXJhdGl2bzogSWRPcGVyYXRpdm87XHJcbiAgICBzZW1hbmE6IG51bWJlcjtcclxuICAgIHNlbWFuYV9yZWZlcmVuY2lhX2Rlc2RlPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIHNlbWFuYV9yZWZlcmVuY2lhX2hhc3RhPzogc3RyaW5nIHwgbnVsbDtcclxuICAgICczMGRpYXNfcmVmZXJlbmNpYV9kZXNkZSc/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgJzMwZGlhc19yZWZlcmVuY2lhX2hhc3RhJz86IHN0cmluZyB8IG51bGw7XHJcbiAgICBtZXNfcmVmZXJlbmNpYT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBjYXJnYV9lbmNfZGVzZGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgY2FyZ2FfZW5jX2hhc3RhPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGNhcmdhX3JlY3VfZGVzZGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgY2FyZ2FfcmVjdV9oYXN0YT86IHN0cmluZyB8IG51bGw7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBUYXJlYXNFc3RydWN0dXJhID0ge1xyXG4gICAgW2lkVGFyZWEgaW4gSWRUYXJlYV06IHtcclxuICAgICAgICByZXN1bHRhZG9zOiB7XHJcbiAgICAgICAgICAgIFtpZFJlc3VsdGFkbyBpbiBJZFJlc3VsdGFkb106IHtcclxuICAgICAgICAgICAgICAgIGRlc2NyaXBjaW9uOiBzdHJpbmdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXN0cnVjdHVyYSA9IHtcclxuICAgIGZvcm11bGFyaW9zOiB7XHJcbiAgICAgICAgW25vbWJyZUZvcm11bGFyaW8gaW4gSWRGb3JtdWxhcmlvXTogSW5mb0Zvcm11bGFyaW9cclxuICAgIH1cclxuICAgIHVuaWRhZGVzX2FuYWxpc2lzOiB7XHJcbiAgICAgICAgW2lkVW5pZGFkQW5hbGlzaXMgaW4gSWRVbmlkYWRBbmFsaXNpc106IFVuaWRhZEFuYWxpc2lzXHJcbiAgICB9XHJcbiAgICB0YXJlYXM6IFRhcmVhc0VzdHJ1Y3R1cmFcclxuICAgIHVhUHBhbDogSWRVbmlkYWRBbmFsaXNpc1xyXG4gICAgcGtBZ3JlZ2FkYVVhUHBhbDogQ2FtcG9Qa1JhaXpcclxuICAgIHRpbWVzdGFtcDogbnVtYmVyXHJcbiAgICBvcGVyYXRpdm86IElkT3BlcmF0aXZvXHJcbiAgICBjb25maWdTb3J0ZW86IENvbmZpZ3VyYWNpb25Tb3J0ZW9cclxuICAgIGhhYmlsaXRhY2lvbkJvdG9uRm9ybXVsYXJpbzogQ29uZmlndXJhY2lvbkhhYmlsaXRhckJvdG9uRm9ybXVsYXJpb1xyXG4gICAgY29uUmVhSG9nYXI6IGJvb2xlYW5cclxuICAgIG5vUmVhczoge1xyXG4gICAgICAgIG5vX3JlYTogc3RyaW5nXHJcbiAgICAgICAgZGVzY3JpcGNpb246IHN0cmluZ1xyXG4gICAgICAgIGdydXBvOiBzdHJpbmdcclxuICAgICAgICB2YXJpYWJsZTogc3RyaW5nXHJcbiAgICAgICAgdmFsb3I6IHN0cmluZ1xyXG4gICAgICAgIGdydXBvMDogc3RyaW5nXHJcbiAgICB9W11cclxuICAgIG5vUmVhc1N1cDoge1xyXG4gICAgICAgIG5vX3JlYV9zdXA6IHN0cmluZ1xyXG4gICAgICAgIGRlc2Nfbm9yZWFfc3VwOiBzdHJpbmdcclxuICAgICAgICBncnVwb19zdXA6IHN0cmluZ1xyXG4gICAgICAgIHZhcmlhYmxlX3N1cDogc3RyaW5nXHJcbiAgICAgICAgdmFsb3Jfc3VwOiBzdHJpbmdcclxuICAgICAgICBncnVwbzBfc3VwOiBzdHJpbmdcclxuICAgIH1bXSxcclxuICAgIHNlbWFuYXM6IHsgW2lkU2VtYW5hIGluIElkU2VtYW5hXTogU2VtYW5hIH1cclxuICAgIGRlZmF1bHRJbmZvcm1hY2lvbkhkcjogRGF0b3NIZHJVYVBwYWxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRFbmMgPSAxMzAwMzEgfCAxMzAwMzI7XHJcbmV4cG9ydCB0eXBlIEluZm9ybWFjaW9uSGRyID0geyBbZW5jIGluIElkRW5jXTogRGF0b3NIZHJVYVBwYWwgfVxyXG5cclxuZXhwb3J0IHR5cGUgQ2Fzb1N0YXRlID0ge1xyXG4gICAgb3BjaW9uZXM6IHsgLy8gZGF0b3MgZGUgbmF2ZWdhY2nDs24gcXVlIGVsaWplIGVsIHVzdWFyaW9cclxuICAgICAgICBmb3JQazogRm9yUGsgfCBudWxsIC8vIMOtbmRpY2UgZGVudHJvIGRlIGxhcyB1bmlkYWRlcyBkZSBhbsOhbGlzaXMuIE51bGwgPSBlbiBob2phIGRlIHJ1dGFcclxuICAgICAgICBwaWxhRm9yUGs6IEZvclBrW11cclxuICAgICAgICBtb2RvRGVzcGxpZWd1ZTogTW9kb0Rlc3BsaWVndWVcclxuICAgICAgICBtb2RvRGlyZWN0bzogYm9vbGVhblxyXG4gICAgICAgIG1vZG9Cb3JyYXJSZXNwdWVzdGE6IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICAgICAgY29uQ2FtcG9PcGNpb25lczogYm9vbGVhblxyXG4gICAgICAgIHNhbHRvQXV0b21hdGljbzogYm9vbGVhblxyXG4gICAgICAgIHBhbnRhbGxhQWN0dWFsOiBQYW50YWxsYU5hdmVnYWNpb25cclxuICAgICAgICBhdmlzb1BlcnNpc3RlbnRlOiB7IHRpcG86ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicsIG1lbnNhamU6IHN0cmluZ30gfCBudWxsXHJcbiAgICAgICAgY29tb2RpbmVzOiB7W2lkQ29tb2RpbiBpbiBJZENvbW9kaW5dPzogc3RyaW5nfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBEZWZPcGVyYXRpdm8gPSB7XHJcbiAgICBlc05vUmVhOiAocmVzcHVlc3RhczogUmVzcHVlc3RhcykgPT4geyBjb2ROb1JlYTogc3RyaW5nIHwgbnVsbCwgZXNOb1JlYTogYm9vbGVhbiB9LFxyXG4gICAgZXNOb1JlYVN1cDogKHJlc3B1ZXN0YXM6IFJlc3B1ZXN0YXMpID0+IHsgY29kTm9SZWFTdXA6IHN0cmluZyB8IG51bGwsIGVzTm9SZWFTdXA6IGJvb2xlYW4gfSxcclxuICAgIGVzUmVhbGl6YWRhOiAocmVzcHVlc3RhczogUmVzcHVlc3RhcykgPT4geyBjb2RSZWE6IG51bWJlciB8IG51bGwsIGVzUmVhOiBib29sZWFuIH0sXHJcbiAgICBlc1JlYWxpemFkYVN1cDogKHJlc3B1ZXN0YXM6IFJlc3B1ZXN0YXMpID0+IHsgY29kUmVhU3VwOiBudW1iZXIgfCBudWxsLCBlc1JlYVN1cDogYm9vbGVhbiB9LFxyXG4gICAgVUFwcmluY2lwYWw6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBkZWZVQTogeyBbaSBpbiBJZFVuaWRhZEFuYWxpc2lzXTogeyBwazogSWRWYXJpYWJsZSwgaW5jbHVpZGFzOiBJZFVuaWRhZEFuYWxpc2lzW10sIGlkc0ZvcjogSWRGb3JtdWxhcmlvW10gfSB9LFxyXG4gICAgZGVmRm9yOiB7IFtmIGluIElkRm9ybXVsYXJpb106IHsvKmFyYm9sVUE6SWRVbmlkYWRBbmFsaXNpc1tdLCAqLyBoZXJtYW5vPzogdHJ1ZSB9IH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMgPSB7XHJcbiAgICByZXNwdWVzdGFzOiB7IFt1YSBpbiBJZFVuaWRhZEFuYWxpc2lzXTogUmVzcHVlc3Rhc1JhaXpbXSB9XHJcbiAgICBtb2RvQWxtYWNlbmFtaWVudG86IE1vZG9BbG1hY2VuYW1pZW50b1xyXG4gICAgcGVyc29uYTogc3RyaW5nXHJcbiAgICB0YXJlYTogSWRUYXJlYVxyXG4gICAgaWRwZXI6IHN0cmluZ1xyXG4gICAgY2FyZ2FzOiBDYXJnYXNcclxuICAgIGluZm9ybWFjaW9uSGRyOiBJbmZvcm1hY2lvbkhkclxyXG4gICAgc29sb0xlY3R1cmE6IGJvb2xlYW5cclxuICAgIHRva2VuPzogc3RyaW5nXHJcbiAgICBudW1fc2luY3JvPzogbnVtYmVyXHJcbiAgICB0aW1lc3RhbXBFc3RydWN0dXJhPzogbnVtYmVyXHJcbiAgICBwZXJtaXRlQm9ycmFyRWxlbWVudG9zVUE/OiBib29sZWFuXHJcbn1cclxuXHJcbnR5cGUgQ29uZmlndXJhY2lvblNvcnRlb1RhYmxhID0ge1xyXG4gICAgbWV0b2RvOiBcInRhYmxhXCIsXHJcbiAgICBwYXJhbV9tZXRvZG86IHtcclxuICAgICAgICB0YWJsYTogc3RyaW5nW10sXHJcbiAgICAgICAgdmFyX2xldHJhOiBJZFZhcmlhYmxlLFxyXG4gICAgfVxyXG59XHJcblxyXG50eXBlIENvbmZpZ3VyYWNpb25Tb3J0ZW9IYXNoID0ge1xyXG4gICAgbWV0b2RvOiBcImhhc2hcIixcclxuICAgIHBhcmFtX21ldG9kbzoge1xyXG4gICAgICAgIHZhcl9jb2VmOiBbXHJcbiAgICAgICAgICAgIHsgdmFyOiBJZFZhcmlhYmxlLCBjb2VmOiBudW1iZXIgfSxcclxuICAgICAgICAgICAgeyB2YXI6IElkVmFyaWFibGUsIGNvZWY6IG51bWJlciB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgZGl2aXNvcjogbnVtYmVyXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWNpb25Tb3J0ZW8gPSB7IFtrZXkgaW4gSWRGb3JtdWxhcmlvXTogQ29uZmlndXJhY2lvblNvcnRlb0Zvcm11bGFyaW8gfVxyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlndXJhY2lvbkhhYmlsaXRhckJvdG9uRm9ybXVsYXJpbyA9IHsgW2tleSBpbiBJZEZvcm11bGFyaW9dOiBDb25maWd1cmFjaW9uSGFiaWxpdGFyQm90b25Gb3JtdWxhcmlvRm9ybSB9XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFjaW9uU29ydGVvRm9ybXVsYXJpbyA9IHtcclxuICAgIHVuaWRhZF9hbmFsaXNpczogSWRVbmlkYWRBbmFsaXNpcyxcclxuICAgIHVuaWRhZF9hbmFsaXNpc19wYWRyZTogSWRVbmlkYWRBbmFsaXNpcyxcclxuICAgIC8vZXhwcl9pbmNvbXBsZXRpdHVkOiBzdHJpbmcgLy9cIm5vdCAocDEpIG9yIG5vIHQgKHAyKSBvciBub3QocDMpXCJcclxuICAgIGV4cHJfaW5jb21wbGV0aXR1ZDoge1xyXG4gICAgICAgIFtrZXkgaW4gbnVtYmVyXTogeyBkb21pbmlvOiBudW1iZXIsIGV4cHI6IHN0cmluZyB9XHJcbiAgICB9XHJcbiAgICAvL2V4cHJfaW5jb21wbGV0aXR1ZF9qczogc3RyaW5nIC8vc2UgY3JlYSBhbCBjb21waWxhclxyXG4gICAgZXhwcl9pbmNvbXBsZXRpdHVkX2pzOiB7XHJcbiAgICAgICAgW2tleSBpbiBudW1iZXJdOiB7IGRvbWluaW86IG51bWJlciwgZXhwcjogc3RyaW5nIH1cclxuICAgIH1cclxuICAgIGRpc3BhcmFkb3I6IElkVmFyaWFibGUgLy9cInA5XCJcclxuICAgIC8vZmlsdHJvOiBzdHJpbmcgLy9cInAzPj0xOFwiXHJcbiAgICBmaWx0cm86IHtcclxuICAgICAgICBba2V5IGluIG51bWJlcl06IHsgZG9taW5pbzogbnVtYmVyLCBleHByOiBzdHJpbmcgfVxyXG4gICAgfVxyXG4gICAgLy9maWx0cm9fanM6IHN0cmluZyAvL3NlIGNyZWEgYWwgY29tcGlsYXJcclxuICAgIGZpbHRyb19qczoge1xyXG4gICAgICAgIFtrZXkgaW4gbnVtYmVyXTogeyBkb21pbmlvOiBudW1iZXIsIGV4cHI6IHN0cmluZyB9XHJcbiAgICB9XHJcbiAgICBvcmRlbjoge1xyXG4gICAgICAgIHZhcmlhYmxlOiBJZFZhcmlhYmxlXHJcbiAgICAgICAgb3JkZW46IDEgfCAtMVxyXG4gICAgfVtdIC8vW1wicDNcIiwgXCJwMlwiLCBcInAxXCIsIFwicDBcIl0sIC8vIHAwIGVzIGNvbnN0cnVpZGEsIG5vIHZhIGVuIHBhcsOhbWV0cm9zLCBzZSBwb25lIHBhcmEgcXVlIGVsIG9yZGVuIHNlYSBkZXRlcm1pbsOtc3RpY29cclxuICAgIHBhcmFtZXRyb3M6IElkVmFyaWFibGVbXS8vIFtcInAxXCIsXCJwMlwiLFwicDNcIiwgXCJwNFwiLCBcInA1XCIsIFwicDZcIl0sIC8vIHZhcmlhYmxlcyBxdWUgYW51bGFuIGFsIGRpc3BhcmFkb3JcclxuICAgIGNhbnRpZGFkX3NvcnRlYWJsZXM6IElkVmFyaWFibGVcclxuICAgIGNhbnRpZGFkX3RvdGFsOiBJZFZhcmlhYmxlXHJcbiAgICByZXN1bHRhZG86IElkVmFyaWFibGUgLy9cInAxMVwiXHJcbiAgICByZXN1bHRhZG9fbWFudWFsOiBJZFZhcmlhYmxlIC8vXCJwMTFcIlxyXG4gICAgc29ydGVhZG9fbW9zdHJhcj86IHsgc291cmNlOiBJZFZhcmlhYmxlLCB0YXJnZXQ6IElkVmFyaWFibGUgfVtdLFxyXG4gICAgaW5jb21wbGV0YXM6IElkVmFyaWFibGVcclxuICAgIHZhcmlhYmxlQm90b25Gb3JtdWxhcmlvVUE6IElkVmFyaWFibGUvLyckQi5GOlMxX1AnXHJcbiAgICB2YXJpYWJsZUJvdG9uRm9ybXVsYXJpb1VBSW5kaXZpZHVhbD86IElkVmFyaWFibGUgLy8nJEIuRjpJMSdcclxuICAgIGlkX2Zvcm11bGFyaW9faW5kaXZpZHVhbD86IElkRm9ybXVsYXJpbyAvLyAnRjpJMSdcclxuICAgIGlkX2Zvcm11bGFyaW9fcGFkcmU/OiBJZEZvcm11bGFyaW8gLy8gJ0Y6UzEnXHJcbn0gJiAoQ29uZmlndXJhY2lvblNvcnRlb0hhc2ggfCBDb25maWd1cmFjaW9uU29ydGVvVGFibGEpXHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFjaW9uSGFiaWxpdGFyQm90b25Gb3JtdWxhcmlvRm9ybSA9IHtcclxuICAgIHVuaWRhZF9hbmFsaXNpczogSWRVbmlkYWRBbmFsaXNpcyxcclxuICAgIGV4cHJfaGFiaWxpdGFyX2JvdG9uOiBzdHJpbmcsXHJcbiAgICBleHByX2hhYmlsaXRhcl9ib3Rvbl9qczogc3RyaW5nLFxyXG4gICAgaGFiaWxpdGFyX2FncmVnYXJfbGlzdG86IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRvUGxhaW5Gb3JQayhmb3JQazogRm9yUGspOiBQbGFpbkZvclBrIHtcclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShmb3JQayk7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgaXRlcmF0b3I6IDxUPihvOiBPYmpldG9OdW1lcmFkb09BcnJheTxUPikgPT4gSXRlcmFibGU8VD4gPSBMaWtlQXIuaXRlcmF0b3JcclxuZXhwb3J0IHZhciBlbXB0eTogPFQ+KG86IE9iamV0b051bWVyYWRvT0FycmF5PFQ+IHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4gYm9vbGVhbiA9IExpa2VBci5lbXB0eVxyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gICAgbmFtZXNwYWNlIG15T3duIHtcclxuICAgICAgICBpbnRlcmZhY2UgQWRkclBhcmFtcyB7XHJcbiAgICAgICAgICAgIHN0YXRlX2ZvclBrOiBzdHJpbmdcclxuICAgICAgICAgICAgc3RhdGVfcGlsYUZvclBrOiBzdHJpbmdcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIERpcmVjY2lvbkFjY2lvbiA9ICdhdmFuY2UnIHwgJ3JldHJvY2VzbycgfCAnYmxhbnF1ZW8nXHJcblxyXG5leHBvcnQgdHlwZSBFc3RhZG9BY2Npb24gPSB7XHJcbiAgICBvcGVyYXRpdm86IHN0cmluZ1xyXG4gICAgZXN0YWRvOiBzdHJpbmdcclxuICAgIGVhY2Npb246IHN0cmluZ1xyXG4gICAgY29uZGljaW9uOiBzdHJpbmdcclxuICAgIGVzdGFkb19kZXN0aW5vOiBzdHJpbmdcclxuICAgIGVhY2Npb25fZGlyZWNjaW9uOiBEaXJlY2Npb25BY2Npb25cclxuICAgIHBhdGhfaWNvbm9fc3ZnOiBzdHJpbmdcclxuICAgIG5vbWJyZV9wcm9jZWR1cmU6IHN0cmluZ1xyXG4gICAgbm9tYnJlX3dzY3JlZW46IHN0cmluZ1xyXG4gICAgZGVzYWN0aXZhX2JvdG9uOiBib29sZWFuXHJcbiAgICBjb25maXJtYTogYm9vbGVhblxyXG59XHJcbmV4cG9ydCB0eXBlIE1vZG9ETSA9ICdwcm9kdWMnIHwgJ2NhcGEnOyJdfQ==
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvdGlwb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFxbEJiLG9DQUVDO0lBcmxCRCxrQ0FBa0M7SUFtbEJsQyxTQUFnQixZQUFZLENBQUMsS0FBWTtRQUNyQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFlLENBQUM7SUFDL0MsQ0FBQztJQUVVLFFBQUEsUUFBUSxHQUFtRCxNQUFNLENBQUMsUUFBUSxDQUFBO0lBQzFFLFFBQUEsS0FBSyxHQUFrRSxNQUFNLENBQUMsS0FBSyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbmltcG9ydCB7IFN0cnVjdHVyZSwgRmVlZGJhY2sgfSBmcm9tIFwicm93LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgKiBhcyBMaWtlQXIgZnJvbSBcImxpa2UtYXJcIjtcclxuXHJcbmV4cG9ydCB0eXBlIE1vZG9BbG1hY2VuYW1pZW50byA9ICdzZXNzaW9uJyB8IC8vIGN1YW5kbyBzZWEgcGFyYSB1bmEgc29sYSBwZXN0YcOxYSwgc2UgdXNhIGVuIG1vZG8gZGlyZWN0byxcclxuICAgICdsb2NhbCcgICAgLy8gcGFyYSB0b2RvIGVsIGRpc3Bvc2l0aXZvLCBzZSB1c2EgYWwgY2FyZ2FyIGhvamFzIGRlIHJ1dGEgZW50cmVzXHJcblxyXG5leHBvcnQgdHlwZSBJZE9wY2lvbiA9IG51bWJlclxyXG5leHBvcnQgdHlwZSBJZE9wZXJhdGl2byA9ICdldG9pMjExJyB8ICdlYWgyMDIyJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkVmFyaWFibGUgPSAndjEnIHwgJ3YyJyB8ICd2MycgfCAnZXRjLi4uJyB8ICd2ZG9taW5pbycgfCAnJHAwJ1xyXG5leHBvcnQgdHlwZSBJZFByZWd1bnRhID0gJ1AxJyB8ICdQMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZEJsb3F1ZSA9ICdCMScgfCAnQjInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRGb3JtdWxhcmlvID0gJ0YxJyB8ICdGMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZFVuaWRhZEFuYWxpc2lzID0gJ3ZpdmllbmRhcycgfCAnaG9nYXJlcycgfCAncGVyc29uYXMnXHJcbmV4cG9ydCB0eXBlIElkQm90b25Gb3JtdWxhcmlvID0gJ0JGOkYxJyB8ICdCRjpGMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZENvbnNpc3RlbmNpYSA9ICdDT05TMScgfCAnQ09OUzInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRUZXh0byA9ICdEMzBfUkVGJyB8ICdNRVNfUkVGJyB8ICdTRU1fUkVGJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ29tb2RpbiA9ICdEMzBfUkVGJyB8ICdNRVNfUkVGJyB8ICdTRU1fUkVGJyB8ICdTRU1fTlVNJyB8ICdyZXNwczEnIHwgJ3BhcmVudHMxJyB8ICdyZXNwaTEnIHwgJ3BhcmVudGkxJyB8ICduamVmZScgfCAnZnJlYWxpeicgfCAnY2FudF9ob2dhcmVzJ1xyXG5leHBvcnQgdHlwZSBJZEZpbHRybyA9ICdGSUxUUk8xJyB8ICdGSUxUUk8yJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ2FzaWxsZXJvID0gSWRWYXJpYWJsZSB8IElkUHJlZ3VudGEgfCBJZEJsb3F1ZSB8IElkRm9ybXVsYXJpbyB8IElkRmlsdHJvIHwgSWRPcGNpb25cclxuZXhwb3J0IHR5cGUgSWRGaW4gPSAnZmluJzsgLy8gbmV2ZXIgLy8gVE9ETzogcG9kZXIgcG9uZXIgJ0ZJTidcclxuZXhwb3J0IHR5cGUgSWREZXN0aW5vID0gSWRQcmVndW50YSB8IElkQmxvcXVlIHwgSWRGaW4gfCBJZEZpbHRyb1xyXG5leHBvcnQgdHlwZSBWYWxvciA9IHN0cmluZyB8IG51bWJlciB8IG51bGw7XHJcbmV4cG9ydCB0eXBlIFRpcG9jRGVzdGlub3MgPSAnUCcgfCAnQ1AnIHwgJ0InIHwgJ0ZJTFRSTycgfCAnQkYnXHJcbmV4cG9ydCB0eXBlIFRpcG9jID0gVGlwb2NEZXN0aW5vcyB8ICdGJyB8ICdPJyB8ICdPTScgfCAnQ09OUycgfCAnVEVYVE8nIHwgJ0xJQlJFJyB8ICdQTUFUUklaJ1xyXG5cclxuZXhwb3J0IHR5cGUgRXNwZWNpYWwgPSB7XHJcbiAgICBncHM/OiBib29sZWFuXHJcbiAgICBub1Njcm9sbD86IGJvb2xlYW5cclxuICAgIHNjcm9sbFRvPzogSWRWYXJpYWJsZSB8IElkRmluXHJcbiAgICBhdXRvaW5nPzogc3RyaW5nXHJcbiAgICBmbGV4RGlyZWN0aW9uPzogJ3JvdycgfCAnY29sdW1uJyB8ICdyb3ctcmV2ZXJzZScgfCAnY29sdW1uLXJldmVyc2UnXHJcbiAgICBjYW1wb3NSZXN1bWVuPzogc3RyaW5nW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRUYXJlYSA9ICdlbmN1JyB8ICdyZWN1JyB8ICdzdXBlJyB8ICdpbmdyJztcclxuXHJcbmV4cG9ydCB0eXBlIEZlZWRiYWNrVmFyaWFibGUgPSBGZWVkYmFjazxJZFZhcmlhYmxlLCBJZEZpbj5cclxuXHJcbmV4cG9ydCB0eXBlIFRpcG9WYXJpYWJsZXMgPSAndGV4dG8nIHwgJ251bWVybycgfCAnZmVjaGEnIHwgJ2hvcmFzJyB8ICdob3JhJ1xyXG5cclxuZXhwb3J0IHR5cGUgRGVzcGxpZWd1ZSA9ICdob3Jpem9udGFsJyB8ICdvY3VsdGEnXHJcblxyXG5leHBvcnQgdHlwZSBDYXNpbGxlcm9CYXNlID0ge1xyXG4gICAgaWRfY2FzaWxsZXJvPzogc3RyaW5nXHJcbiAgICB0aXBvYzogVGlwb2NcclxuICAgIGNhc2lsbGVybzogSWRDYXNpbGxlcm9cclxuICAgIG5vbWJyZTogc3RyaW5nXHJcbiAgICBzYWx0bzogSWREZXN0aW5vIHwgSWRGaW4gfCBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IElkRGVzdGlubyB8IElkRmluIHwgbnVsbFxyXG4gICAgdmVyX2lkOiBzdHJpbmcgfCBudWxsXHJcbiAgICBkZXNwbGllZ3VlRW5jYWJlemFkbzogJ2xhdGVyYWwnIHwgJ3N1cGVyaW9yJyB8IG51bGxcclxuICAgIGRlc3BsaWVndWVDb250ZW5pZG86ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgfCBudWxsXHJcbiAgICBkZXNwbGllZ3VlVGlwb0lucHV0OiAndGVsJyB8IG51bGxcclxuICAgIGRlc3BsaWVndWVPY3VsdGE6IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsZWVyOiBib29sZWFuIHwgbnVsbFxyXG4gICAgYWNsYXJhY2lvbjogc3RyaW5nIHwgbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICB2YXJfbmFtZT86IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICB2YXJfbmFtZV9lc3BlY2lhbD86IHN0cmluZyB8IG51bGxcclxuICAgIHRpcG92YXI/OiBUaXBvVmFyaWFibGVzIHwgJ29wY2lvbmVzJyB8ICdzaV9ubycgfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zPzogQ2FzaWxsZXJvc0ltcGxlbWVudGFkb3NbXSB8IG51bGxcclxuICAgIGV4cHJlc2lvbl9oYWJpbGl0YXI/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9oYWJpbGl0YXJfanM/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9hdXRvaW5ncmVzYXI/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9hdXRvaW5ncmVzYXJfanM/OiBzdHJpbmdcclxuICAgIGVzcGVjaWFsPzogRXNwZWNpYWxcclxuICAgIGNhbGN1bGFkYT86IGJvb2xlYW4gfCBudWxsXHJcbiAgICBvcHRhdGl2bz86IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsaWJyZT86IGJvb2xlYW4gfCBudWxsXHJcbiAgICB2YWxvcl9uc19uYz86IGFueVxyXG4gICAgZGVzcGxpZWd1ZT86IHN0cmluZyB8IG51bGxcclxuICAgIGxvbmdpdHVkPzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wY2lvbiA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ08nXHJcbiAgICBjYXNpbGxlcm86IElkT3BjaW9uXHJcbiAgICBjYXNpbGxlcm9zOiBQcmVndW50YVNpbXBsZVtdXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogbnVsbFxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wY2lvblNpID0gT3BjaW9uICYge1xyXG4gICAgY2FzaWxsZXJvOiAxXHJcbiAgICBub21icmU6ICdTw60nXHJcbiAgICBjYXNpbGxlcm9zOiBQcmVndW50YVNpbXBsZVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wY2lvbk5vID0gT3BjaW9uICYge1xyXG4gICAgY2FzaWxsZXJvOiAyXHJcbiAgICBub21icmU6ICdObydcclxuICAgIGNhc2lsbGVyb3M6IFByZWd1bnRhU2ltcGxlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uTXVsdGlwbGUgPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdPTSdcclxuICAgIHRpcG92YXI6ICdvcGNpb25lcydcclxuICAgIHZhcl9uYW1lOiBJZFZhcmlhYmxlXHJcbiAgICBjYXNpbGxlcm9zOiBbT3BjaW9uU2ksIE9wY2lvbk5vXVxyXG4gICAgY2FsY3VsYWRhPzogYm9vbGVhblxyXG4gICAgbGlicmU/OiBib29sZWFuXHJcbiAgICB2YWxvcl9uc19uYzogYW55XHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFCYXNlID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnUCdcclxuICAgIG9wdGF0aXZvOiBib29sZWFuIHwgbnVsbFxyXG4gICAgY2FzaWxsZXJvOiBJZFByZWd1bnRhXHJcbiAgICBjYWxjdWxhZGE6IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsaWJyZTogYm9vbGVhbiB8IG51bGxcclxuICAgIHZhbG9yX25zX25jOiBhbnlcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFTaW1wbGUgPSBQcmVndW50YUJhc2UgJiB7XHJcbiAgICB0aXBvdmFyOiBUaXBvVmFyaWFibGVzXHJcbiAgICB2YXJfbmFtZTogSWRWYXJpYWJsZVxyXG4gICAgbG9uZ2l0dWQ6IHN0cmluZ1xyXG4gICAgc2FsdG9fbnNfbmM6IElkRGVzdGlubyB8IElkRmluIHwgbnVsbFxyXG4gICAgY2FzaWxsZXJvczogUHJlZ3VudGFTaW1wbGVbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YUNvblNpTm8gPSBQcmVndW50YUJhc2UgJiB7XHJcbiAgICB0aXBvdmFyOiAnc2lfbm8nXHJcbiAgICB2YXJfbmFtZTogSWRWYXJpYWJsZVxyXG4gICAgc2FsdG9fbnNfbmM6IElkRGVzdGlubyB8IElkRmluIHwgbnVsbFxyXG4gICAgY2FzaWxsZXJvczogW09wY2lvblNpLCBPcGNpb25Ob11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFDb25PcGNpb25lcyA9IFByZWd1bnRhQmFzZSAmIHtcclxuICAgIHRpcG92YXI6ICdvcGNpb25lcydcclxuICAgIHZhcl9uYW1lOiBJZFZhcmlhYmxlXHJcbiAgICBzYWx0b19uc19uYzogSWREZXN0aW5vIHwgSWRGaW4gfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBPcGNpb25bXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YUNvbk9wY2lvbmVzTXVsdGlwbGVzID0gUHJlZ3VudGFCYXNlICYge1xyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgY2FzaWxsZXJvczogT3BjaW9uTXVsdGlwbGVbXVxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWd1bnRhID0gUHJlZ3VudGFTaW1wbGUgfCBQcmVndW50YUNvblNpTm8gfCBQcmVndW50YUNvbk9wY2lvbmVzIHwgUHJlZ3VudGFDb25PcGNpb25lc011bHRpcGxlc1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uanVudG9QcmVndW50YXMgPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdDUCdcclxuICAgIGNhc2lsbGVybzogSWRQcmVndW50YVxyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgY2FzaWxsZXJvczogUHJlZ3VudGFbXVxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbi8qXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRlbmlkbyBleHRlbmRzIENhc2lsbGVyb0Jhc2Uge1xyXG4gICAgY2FzaWxsZXJvczpJQ29udGVuaWRvW11cclxufVxyXG4qL1xyXG5cclxuZXhwb3J0IHR5cGUgRmlsdHJvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnRklMVFJPJ1xyXG4gICAgY2FzaWxsZXJvOiBJZEZpbHRyb1xyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IG51bGxcclxuICAgIGNhbGN1bGFkYT86IG51bGxcclxuICAgIGxpYnJlPzogbnVsbFxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbnRlbmlkb0Zvcm11bGFyaW8gPSBCbG9xdWUgfCBQcmVndW50YSB8IENvbmp1bnRvUHJlZ3VudGFzIHwgRmlsdHJvIHwgQm90b25Gb3JtdWxhcmlvIHwgQ29uc2lzdGVuY2lhIHwgVGV4dG9cclxuXHJcbmV4cG9ydCB0eXBlIEJsb3F1ZSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ0InXHJcbiAgICBjYXNpbGxlcm86IElkQmxvcXVlXHJcbiAgICBjYXNpbGxlcm9zOiBDb250ZW5pZG9Gb3JtdWxhcmlvW11cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHVuaWRhZF9hbmFsaXNpcz86IElkVW5pZGFkQW5hbGlzaXNcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDb25zaXN0ZW5jaWEgPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdDT05TJ1xyXG4gICAgY2FzaWxsZXJvOiBJZENvbnNpc3RlbmNpYVxyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IG51bGxcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcbmV4cG9ydCB0eXBlIFRleHRvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnVEVYVE8nXHJcbiAgICBjYXNpbGxlcm86IElkVGV4dG9cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/OiBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5leHBvcnQgdHlwZSBMaWJyZSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ0xJQlJFJ1xyXG4gICAgY2FzaWxsZXJvOiBJZFRleHRvXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogbnVsbFxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuZXhwb3J0IHR5cGUgQm90b25Gb3JtdWxhcmlvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnQkYnXHJcbiAgICBjYXNpbGxlcm86IElkQm90b25Gb3JtdWxhcmlvXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogSWRWYXJpYWJsZSB8IG51bGxcclxuICAgIHZhcl9uYW1lc19CRj86IElkVmFyaWFibGVbXVxyXG4gICAgbG9uZ2l0dWQ/OiBzdHJpbmdcclxuICAgIHVuaWRhZF9hbmFsaXNpcz86IElkVW5pZGFkQW5hbGlzaXNcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGb3JtdWxhcmlvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnRidcclxuICAgIGNhc2lsbGVybzogSWRGb3JtdWxhcmlvXHJcbiAgICBmb3JtdWxhcmlvX3ByaW5jaXBhbDogYm9vbGVhblxyXG4gICAgY2FzaWxsZXJvczogQ29udGVuaWRvRm9ybXVsYXJpb1tdXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBoZXJtYW5vPzogdHJ1ZVxyXG4gICAgdW5pZGFkX2FuYWxpc2lzOiBJZFVuaWRhZEFuYWxpc2lzXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUE1hdHJpeiA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ1BNQVRSSVonXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ2FzaWxsZXJvc0ltcGxlbWVudGFkb3MgPSBGb3JtdWxhcmlvIHwgQmxvcXVlIHwgRmlsdHJvIHwgQ29uanVudG9QcmVndW50YXMgfCBQcmVndW50YSB8IE9wY2lvbk11bHRpcGxlIHwgT3BjaW9uIHwgQm90b25Gb3JtdWxhcmlvIHwgQ29uc2lzdGVuY2lhIHwgVGV4dG8gfCBMaWJyZSB8IFBNYXRyaXpcclxuXHJcbmV4cG9ydCB0eXBlIENhbXBvUGtSYWl6ID0gJ3ZpdmllbmRhJyB8ICdldGMuLi4nO1xyXG5cclxuZXhwb3J0IHR5cGUgVmFsdWVQa1JhaXogPSBJZEVuY1xyXG5cclxuZXhwb3J0IHR5cGUgRm9yUGtSYWl6ID0ge1xyXG4gICAgZm9ybXVsYXJpbzogSWRGb3JtdWxhcmlvXHJcbn0gJiB7XHJcbiAgICBbY2FtcG8gaW4gQ2FtcG9Qa1JhaXpdOiBWYWx1ZVBrUmFpelxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDYW1wb1BrID0gJ3ZpdmllbmRhJyB8ICdob2dhcicgfCAncGVyc29uYScgfCAnZXRjLi4uJztcclxuZXhwb3J0IHR5cGUgRm9yUGsgPSBGb3JQa1JhaXogJiB7XHJcbiAgICBbY2FtcG8gaW4gQ2FtcG9Qa10/OiBudW1iZXJcclxufVxyXG5leHBvcnQgdHlwZSBQbGFpbkZvclBrID0gJ3tcImZvcm11bGFyaW9cIjpcIkY6RjFcIixcInZpdmllbmRhXCI6XCIxMDIwMlwiLFwicGVyc29uYVwiOm51bGx9JyB8ICdldGMuLi4nO1xyXG5cclxuZXhwb3J0IHR5cGUgT2JqZXRvTnVtZXJhZG9PQXJyYXk8VD4gPSBUW10gfCB7IFtuIGluIG51bWJlcl06IFQgfVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzcHVlc3Rhc1VuYVVBID0ge1xyXG4gICAgW3ByZWd1bnRhIGluIElkVmFyaWFibGVdOiBWYWxvclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSZXNwdWVzdGFMYXNVQSA9IHtcclxuICAgIFt1YSBpbiBJZFVuaWRhZEFuYWxpc2lzXTogT2JqZXRvTnVtZXJhZG9PQXJyYXk8UmVzcHVlc3Rhcz5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ29kUmVhTm9SZWEgPSB7XHJcbiAgICBjb2RSZWE6IG51bWJlciB8IG51bGwsXHJcbiAgICBjb2ROb1JlYTogbnVtYmVyIHwgbnVsbCxcclxuICAgIGNvZFJlYVN1cDogbnVtYmVyIHwgbnVsbCxcclxuICAgIGNvZE5vUmVhU3VwOiBudW1iZXIgfCBudWxsLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSZXN1bHRhZG9SZXN1bWVuID0gQ29kUmVhTm9SZWEgJiB7XHJcbiAgICByZXN1bWVuRXN0YWRvOiBSZXN1bWVuRXN0YWRvLFxyXG4gICAgcmVzdW1lbkVzdGFkb1N1cDogUmVzdW1lbkVzdGFkbyxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzcHVlc3RhcyA9IFJlc3B1ZXN0YXNVbmFVQSAmIFJlc3B1ZXN0YUxhc1VBXHJcblxyXG5leHBvcnQgdHlwZSBSZXNwdWVzdGFzUmFpeiA9IFJlc3B1ZXN0YXMgJiBSZXN1bHRhZG9SZXN1bWVuICYge1xyXG4gICAgJGRpcnR5OiBib29sZWFuXHJcbn1cclxuXHJcbi8qXHJcbiAgICBhY2xhcmFjacOzbjpcclxuICAgIHt2MToneCcsIHYyOid4JywgcGVyc29uYXM6W3twMToxLCBwMjoneH0se3AxOjIsIHAyOnh9XSwgbWFzY290YXM6W10gfVxyXG4gICAgZXN0w6EgYW5pZGFkbyBwb3IgdW5pZGFkIGRlIGFuw6FsaXNpc1xyXG4qL1xyXG5cclxuZXhwb3J0IHR5cGUgVW5pZGFkQW5hbGlzaXMgPSB7XHJcbiAgICB1bmlkYWRfYW5hbGlzaXM6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBwYWRyZT86IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBwa19hZ3JlZ2FkYTogQ2FtcG9QayxcclxuICAgIHByaW5jaXBhbD86IGJvb2xlYW4sXHJcbiAgICBoaWphczogeyBbayBpbiBJZFVuaWRhZEFuYWxpc2lzXT86IFVuaWRhZEFuYWxpc2lzIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVEVNID0ge1xyXG4gICAgbm9tY2FsbGU6IHN0cmluZ1xyXG4gICAgZG9taW5pbzogbnVtYmVyXHJcbiAgICBzZWN0b3I6IHN0cmluZ1xyXG4gICAgZWRpZmljaW86IHN0cmluZ1xyXG4gICAgZW50cmFkYTogc3RyaW5nXHJcbiAgICBucm9jYXRhc3RyYWw6IHN0cmluZ1xyXG4gICAgcGlzbzogc3RyaW5nXHJcbiAgICBkZXBhcnRhbWVudG86IHN0cmluZ1xyXG4gICAgaGFiaXRhY2lvbjogc3RyaW5nXHJcbiAgICBjYXNhOiBzdHJpbmdcclxuICAgIHByaW9yaWRhZDogMSB8IDIgfCAzXHJcbiAgICBvYnNlcnZhY2lvbmVzOiBzdHJpbmdcclxuICAgIHNlbGVjY2lvbmFkbzogbnVtYmVyLFxyXG4gICAgY2l0YT86IHN0cmluZyxcclxuICAgIGNhcmdhOiBzdHJpbmcsXHJcbiAgICBzZW1hbmE/OiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzdW1lbkVzdGFkbyA9ICd2YWNpbycgfCAnY29uIHByb2JsZW1hcycgfCAnaW5jb21wbGV0bycgfCAnb2snIHwgJ25vIHJlYScgfCAnY2l0YSBwYWN0YWRhJztcclxuXHJcbmV4cG9ydCB0eXBlIEluZm9UYXJlYSA9IHtcclxuICAgIHRhcmVhOiBJZFRhcmVhXHJcbiAgICBub3Rhcz86IHN0cmluZ1xyXG4gICAgZmVjaGFfYXNpZ25hY2lvbj86IERhdGVcclxuICAgIGFzaWduYWRvPzogc3RyaW5nXHJcbiAgICBtYWluX2Zvcm06IElkRm9ybXVsYXJpb1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBWaXNpdGEgPSB7XHJcbiAgICBmZWNoYTogc3RyaW5nIHwgbnVsbFxyXG4gICAgaG9yYTogc3RyaW5nIHwgbnVsbFxyXG4gICAgaWRwZXI6IHN0cmluZyB8IG51bGxcclxuICAgIG9ic2VydmFjaW9uZXM6IHN0cmluZyB8IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGF0b3NIZHJVYVBwYWwgPSB7XHJcbiAgICB0YXJlYTogSW5mb1RhcmVhXHJcbiAgICB0ZW06IFRFTVxyXG5cclxuICAgIC8qXHJcbiAgICAgICAgYWNsYXJhY2nDs246XHJcbiAgICAgICAge3YxOid4JywgdjI6J3gnLCBwZXJzb25hczpbe3AxOjEsIHAyOid4fSx7cDE6MiwgcDI6eH1dLCBtYXNjb3RhczpbXSB9XHJcbiAgICAgICAgZXN0w6EgYW5pZGFkbyBwb3IgdW5pZGFkIGRlIGFuw6FsaXNpc1xyXG4gICAgKi9cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRDYXJnYSA9IFwiMVwiIHwgXCIyXCIgfCBcImV0Y1wiXHJcblxyXG5leHBvcnQgdHlwZSBFc3RhZG9DYXJnYSA9ICdyZXN1bWVuJyB8ICdyZWxldmFtaWVudG8nIHwgJ3JlY2libydcclxuXHJcbmV4cG9ydCB0eXBlIENhcmdhID0ge1xyXG4gICAgZmVjaGE6IERhdGVcclxuICAgIGVzdGFkb19jYXJnYTogRXN0YWRvQ2FyZ2FcclxuICAgIG5lY2VzYXJpYXM6IG51bWJlclxyXG4gICAgb2JzZXJ2YWNpb25lczogc3RyaW5nXHJcbiAgICByZWNlcGNpb25pc3RhOiBzdHJpbmdcclxuICAgIHB1ZWRlX2F1dG9nZW5lcmFyOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhcmdhcyA9IHtcclxuICAgIFtpZENhcmdhIGluIElkQ2FyZ2FdOiBDYXJnYVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFc3RydWN0dXJhUm93VmFsaWRhdG9yID0gU3RydWN0dXJlPElkVmFyaWFibGUsIFZhbG9yLCBJZEZpbj47XHJcblxyXG5leHBvcnQgdHlwZSBNb2RvRGVzcGxpZWd1ZSA9ICdtZXRhZGF0b3MnIHwgJ3JlbGV2YW1pZW50bycgfCAnUERGJ1xyXG5cclxuZXhwb3J0IHR5cGUgUGFudGFsbGFOYXZlZ2FjaW9uID0gJ2hkcicgfCAnc2luY3Jvbml6YWNpb24nIHwgJ3NpbmNyb25pemFjaW9uX3JlcXVlcmlkYScgfCAnbW9kbyc7XHJcblxyXG5leHBvcnQgdHlwZSBJbmZvRm9ybXVsYXJpbyA9IHtcclxuICAgIGNhc2lsbGVyb3M6IEZvcm11bGFyaW8sIC8vIGNhc2lsbGVyb3MgYXBsYW5hZG9zXHJcbiAgICBlc3RydWN0dXJhUm93VmFsaWRhdG9yOiBFc3RydWN0dXJhUm93VmFsaWRhdG9yIC8vIGVzdHJ1Y3R1cmEgZGUgdmFyaWFibGVzIHBhcmEgZWwgUm93VmFsaWRhdG9yXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIElkUmVzdWx0YWRvID0gJ0FWRVJJR1VBUicgfCAnVE9ETyc7XHJcbmV4cG9ydCB0eXBlIElkU2VtYW5hID0gMSB8IDIgfCAnZXRjJ1xyXG5cclxuZXhwb3J0IHR5cGUgU2VtYW5hID0ge1xyXG4gICAgb3BlcmF0aXZvOiBJZE9wZXJhdGl2bztcclxuICAgIHNlbWFuYTogbnVtYmVyO1xyXG4gICAgc2VtYW5hX3JlZmVyZW5jaWFfZGVzZGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgc2VtYW5hX3JlZmVyZW5jaWFfaGFzdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgJzMwZGlhc19yZWZlcmVuY2lhX2Rlc2RlJz86IHN0cmluZyB8IG51bGw7XHJcbiAgICAnMzBkaWFzX3JlZmVyZW5jaWFfaGFzdGEnPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIG1lc19yZWZlcmVuY2lhPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGNhcmdhX2VuY19kZXNkZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBjYXJnYV9lbmNfaGFzdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgY2FyZ2FfcmVjdV9kZXNkZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBjYXJnYV9yZWN1X2hhc3RhPzogc3RyaW5nIHwgbnVsbDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFRhcmVhc0VzdHJ1Y3R1cmEgPSB7XHJcbiAgICBbaWRUYXJlYSBpbiBJZFRhcmVhXToge1xyXG4gICAgICAgIHJlc3VsdGFkb3M6IHtcclxuICAgICAgICAgICAgW2lkUmVzdWx0YWRvIGluIElkUmVzdWx0YWRvXToge1xyXG4gICAgICAgICAgICAgICAgZGVzY3JpcGNpb246IHN0cmluZ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBUaXBvQ29uZGljaW9uID0gJ25vX3JlYScgfCAnbm9fcmVhX3N1cCcgfCAncmVhJyB8ICdyZWFfc3VwJztcclxuXHJcbmV4cG9ydCB0eXBlIE5vUmVhID0ge1xyXG4gICAgb3BlcmF0aXZvOiBzdHJpbmdcclxuICAgIG5vX3JlYTogbnVtYmVyO1xyXG4gICAgZGVzY3JpcGNpb246IHN0cmluZztcclxuICAgIGdydXBvOiBzdHJpbmc7XHJcbiAgICB2YXJpYWJsZTogc3RyaW5nO1xyXG4gICAgdmFsb3I6IHN0cmluZztcclxuICAgIGdydXBvMDogc3RyaW5nO1xyXG4gICAgb3JkZW46IG51bWJlcjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE5vUmVhU3VwID0ge1xyXG4gICAgb3BlcmF0aXZvOiBzdHJpbmdcclxuICAgIG5vX3JlYV9zdXA6IG51bWJlcjtcclxuICAgIGRlc2Nfbm9yZWFfc3VwOiBzdHJpbmc7XHJcbiAgICBncnVwb19zdXA6IHN0cmluZztcclxuICAgIHZhcmlhYmxlX3N1cDogc3RyaW5nO1xyXG4gICAgdmFsb3Jfc3VwOiBzdHJpbmc7XHJcbiAgICBncnVwbzBfc3VwOiBzdHJpbmc7XHJcbiAgICBvcmRlbjogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVhID0ge1xyXG4gICAgb3BlcmF0aXZvOiBzdHJpbmdcclxuICAgIHJlYTogbnVtYmVyO1xyXG4gICAgZGVzY3JpcGNpb246IHN0cmluZztcclxuICAgIGNvbmRpY2lvbjogc3RyaW5nO1xyXG4gICAgY29uZGljaW9uX2pzOiBzdHJpbmc7XHJcbiAgICBvcmRlbjogbnVtYmVyO1xyXG4gICAgZXNfcG9zaXRpdmE6IGJvb2xlYW47XHJcbiAgICB0YXJlYTogc3RyaW5nIHwgbnVsbDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlYVN1cCA9IHtcclxuICAgIG9wZXJhdGl2bzogc3RyaW5nXHJcbiAgICByZWFfc3VwOiBudW1iZXI7XHJcbiAgICBkZXNjcmlwY2lvbjogc3RyaW5nO1xyXG4gICAgY29uZGljaW9uOiBzdHJpbmc7XHJcbiAgICBjb25kaWNpb25fanM6IHN0cmluZztcclxuICAgIG9yZGVuOiBudW1iZXI7XHJcbiAgICBlc19wb3NpdGl2YTogYm9vbGVhbjtcclxuICAgIHRhcmVhOiBzdHJpbmcgfCBudWxsO1xyXG59O1xyXG5cclxuLy8gTWFwZW8gZGUgdGlwb3MgcGFyYSBhc29jaWFyIGVsIHN0cmluZyBkZSBsYSBjb25kaWNpw7NuIGNvbiBzdSBpbnRlcmZheiBjb3JyZXNwb25kaWVudGVcclxuZXhwb3J0IHR5cGUgTWFwZW9UaXBvSXRlbSA9IHtcclxuICAgICdyZWEnOiBSZWE7XHJcbiAgICAnbm9fcmVhJzogTm9SZWE7XHJcbiAgICAncmVhX3N1cCc6IFJlYVN1cDtcclxuICAgICdub19yZWFfc3VwJzogTm9SZWFTdXA7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBFc3RydWN0dXJhID0ge1xyXG4gICAgZm9ybXVsYXJpb3M6IHtcclxuICAgICAgICBbbm9tYnJlRm9ybXVsYXJpbyBpbiBJZEZvcm11bGFyaW9dOiBJbmZvRm9ybXVsYXJpb1xyXG4gICAgfTtcclxuICAgIHVuaWRhZGVzX2FuYWxpc2lzOiB7XHJcbiAgICAgICAgW2lkVW5pZGFkQW5hbGlzaXMgaW4gSWRVbmlkYWRBbmFsaXNpc106IFVuaWRhZEFuYWxpc2lzXHJcbiAgICB9O1xyXG4gICAgdGFyZWFzOiBUYXJlYXNFc3RydWN0dXJhO1xyXG4gICAgdWFQcGFsOiBJZFVuaWRhZEFuYWxpc2lzO1xyXG4gICAgcGtBZ3JlZ2FkYVVhUHBhbDogQ2FtcG9Qa1JhaXo7XHJcbiAgICB0aW1lc3RhbXA6IG51bWJlcjtcclxuICAgIG9wZXJhdGl2bzogSWRPcGVyYXRpdm87XHJcbiAgICBjb25maWdTb3J0ZW86IENvbmZpZ3VyYWNpb25Tb3J0ZW87XHJcbiAgICBoYWJpbGl0YWNpb25Cb3RvbkZvcm11bGFyaW86IENvbmZpZ3VyYWNpb25IYWJpbGl0YXJCb3RvbkZvcm11bGFyaW87XHJcbiAgICBjb25SZWFIb2dhcjogYm9vbGVhbjtcclxuICAgIG5vUmVhczogTm9SZWFbXTtcclxuICAgIG5vUmVhc1N1cDogTm9SZWFTdXBbXTtcclxuICAgIHJlYXM6IFJlYVtdO1xyXG4gICAgcmVhc1N1cDogUmVhU3VwW107XHJcbiAgICBzZW1hbmFzOiB7IFtpZFNlbWFuYSBpbiBJZFNlbWFuYV06IFNlbWFuYSB9O1xyXG4gICAgZGVmYXVsdEluZm9ybWFjaW9uSGRyOiBEYXRvc0hkclVhUHBhbDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIElkRW5jID0gMTMwMDMxIHwgMTMwMDMyO1xyXG5leHBvcnQgdHlwZSBJbmZvcm1hY2lvbkhkciA9IHsgW2VuYyBpbiBJZEVuY106IERhdG9zSGRyVWFQcGFsIH1cclxuXHJcbmV4cG9ydCB0eXBlIENhc29TdGF0ZSA9IHtcclxuICAgIG9wY2lvbmVzOiB7IC8vIGRhdG9zIGRlIG5hdmVnYWNpw7NuIHF1ZSBlbGlqZSBlbCB1c3VhcmlvXHJcbiAgICAgICAgZm9yUGs6IEZvclBrIHwgbnVsbCAvLyDDrW5kaWNlIGRlbnRybyBkZSBsYXMgdW5pZGFkZXMgZGUgYW7DoWxpc2lzLiBOdWxsID0gZW4gaG9qYSBkZSBydXRhXHJcbiAgICAgICAgcGlsYUZvclBrOiBGb3JQa1tdXHJcbiAgICAgICAgbW9kb0Rlc3BsaWVndWU6IE1vZG9EZXNwbGllZ3VlXHJcbiAgICAgICAgbW9kb0RpcmVjdG86IGJvb2xlYW5cclxuICAgICAgICBtb2RvQm9ycmFyUmVzcHVlc3RhOiBJZFZhcmlhYmxlIHwgbnVsbFxyXG4gICAgICAgIGNvbkNhbXBvT3BjaW9uZXM6IGJvb2xlYW5cclxuICAgICAgICBzYWx0b0F1dG9tYXRpY286IGJvb2xlYW5cclxuICAgICAgICBwYW50YWxsYUFjdHVhbDogUGFudGFsbGFOYXZlZ2FjaW9uXHJcbiAgICAgICAgYXZpc29QZXJzaXN0ZW50ZTogeyB0aXBvOiAnaW5mbycgfCAnc3VjY2VzcycgfCAnZXJyb3InLCBtZW5zYWplOiBzdHJpbmd9IHwgbnVsbFxyXG4gICAgICAgIGNvbW9kaW5lczoge1tpZENvbW9kaW4gaW4gSWRDb21vZGluXT86IHN0cmluZ31cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzdWx0YWRvUmVhTm9SZWE8SyBleHRlbmRzIGtleW9mIENvZFJlYU5vUmVhLCBCIGV4dGVuZHMgc3RyaW5nPiA9IHtcclxuICAgIFtQIGluIEtdOiBDb2RSZWFOb1JlYVtLXTtcclxufSAmIHtcclxuICAgIFtQIGluIEJdOiBib29sZWFuO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRnVuY2lvbmVzQ2FsY3Vsb1JlYU5vUmVhID0ge1xyXG4gIGVzTm9SZWE6IChyZXNwdWVzdGFzOiBSZXNwdWVzdGFzLCB0YXJlYTogc3RyaW5nKSA9PiBSZXN1bHRhZG9SZWFOb1JlYTwnY29kTm9SZWEnLCAnZXNOb1JlYSc+O1xyXG4gIGVzTm9SZWFTdXA6IChyZXNwdWVzdGFzOiBSZXNwdWVzdGFzLCB0YXJlYTogc3RyaW5nKSA9PiBSZXN1bHRhZG9SZWFOb1JlYTwnY29kTm9SZWFTdXAnLCAnZXNOb1JlYVN1cCc+O1xyXG4gIGVzUmVhbGl6YWRhOiAocmVzcHVlc3RhczogUmVzcHVlc3RhcywgdGFyZWE6IHN0cmluZykgPT4gUmVzdWx0YWRvUmVhTm9SZWE8J2NvZFJlYScsICdlc1JlYSc+O1xyXG4gIGVzUmVhbGl6YWRhU3VwOiAocmVzcHVlc3RhczogUmVzcHVlc3RhcywgdGFyZWE6IHN0cmluZykgPT4gUmVzdWx0YWRvUmVhTm9SZWE8J2NvZFJlYVN1cCcsICdlc1JlYVN1cCc+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVmT3BlcmF0aXZvID0gRnVuY2lvbmVzQ2FsY3Vsb1JlYU5vUmVhICYge1xyXG4gICAgVUFwcmluY2lwYWw6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBkZWZVQTogeyBbaSBpbiBJZFVuaWRhZEFuYWxpc2lzXTogeyBwazogSWRWYXJpYWJsZSwgaW5jbHVpZGFzOiBJZFVuaWRhZEFuYWxpc2lzW10sIGlkc0ZvcjogSWRGb3JtdWxhcmlvW10gfSB9LFxyXG4gICAgZGVmRm9yOiB7IFtmIGluIElkRm9ybXVsYXJpb106IHsvKmFyYm9sVUE6SWRVbmlkYWRBbmFsaXNpc1tdLCAqLyBoZXJtYW5vPzogdHJ1ZSB9IH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMgPSB7XHJcbiAgICByZXNwdWVzdGFzOiB7IFt1YSBpbiBJZFVuaWRhZEFuYWxpc2lzXTogUmVzcHVlc3Rhc1JhaXpbXSB9XHJcbiAgICBtb2RvQWxtYWNlbmFtaWVudG86IE1vZG9BbG1hY2VuYW1pZW50b1xyXG4gICAgcGVyc29uYTogc3RyaW5nXHJcbiAgICB0YXJlYTogSWRUYXJlYVxyXG4gICAgaWRwZXI6IHN0cmluZ1xyXG4gICAgY2FyZ2FzOiBDYXJnYXNcclxuICAgIGluZm9ybWFjaW9uSGRyOiBJbmZvcm1hY2lvbkhkclxyXG4gICAgc29sb0xlY3R1cmE6IGJvb2xlYW5cclxuICAgIHRva2VuPzogc3RyaW5nXHJcbiAgICBudW1fc2luY3JvPzogbnVtYmVyXHJcbiAgICB0aW1lc3RhbXBFc3RydWN0dXJhPzogbnVtYmVyXHJcbiAgICBwZXJtaXRlQm9ycmFyRWxlbWVudG9zVUE/OiBib29sZWFuXHJcbn1cclxuXHJcbnR5cGUgQ29uZmlndXJhY2lvblNvcnRlb1RhYmxhID0ge1xyXG4gICAgbWV0b2RvOiBcInRhYmxhXCIsXHJcbiAgICBwYXJhbV9tZXRvZG86IHtcclxuICAgICAgICB0YWJsYTogc3RyaW5nW10sXHJcbiAgICAgICAgdmFyX2xldHJhOiBJZFZhcmlhYmxlLFxyXG4gICAgfVxyXG59XHJcblxyXG50eXBlIENvbmZpZ3VyYWNpb25Tb3J0ZW9IYXNoID0ge1xyXG4gICAgbWV0b2RvOiBcImhhc2hcIixcclxuICAgIHBhcmFtX21ldG9kbzoge1xyXG4gICAgICAgIHZhcl9jb2VmOiBbXHJcbiAgICAgICAgICAgIHsgdmFyOiBJZFZhcmlhYmxlLCBjb2VmOiBudW1iZXIgfSxcclxuICAgICAgICAgICAgeyB2YXI6IElkVmFyaWFibGUsIGNvZWY6IG51bWJlciB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgZGl2aXNvcjogbnVtYmVyXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWNpb25Tb3J0ZW8gPSB7IFtrZXkgaW4gSWRGb3JtdWxhcmlvXTogQ29uZmlndXJhY2lvblNvcnRlb0Zvcm11bGFyaW8gfVxyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlndXJhY2lvbkhhYmlsaXRhckJvdG9uRm9ybXVsYXJpbyA9IHsgW2tleSBpbiBJZEZvcm11bGFyaW9dOiBDb25maWd1cmFjaW9uSGFiaWxpdGFyQm90b25Gb3JtdWxhcmlvRm9ybSB9XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFjaW9uU29ydGVvRm9ybXVsYXJpbyA9IHtcclxuICAgIHVuaWRhZF9hbmFsaXNpczogSWRVbmlkYWRBbmFsaXNpcyxcclxuICAgIHVuaWRhZF9hbmFsaXNpc19wYWRyZTogSWRVbmlkYWRBbmFsaXNpcyxcclxuICAgIC8vZXhwcl9pbmNvbXBsZXRpdHVkOiBzdHJpbmcgLy9cIm5vdCAocDEpIG9yIG5vIHQgKHAyKSBvciBub3QocDMpXCJcclxuICAgIGV4cHJfaW5jb21wbGV0aXR1ZDoge1xyXG4gICAgICAgIFtrZXkgaW4gbnVtYmVyXTogeyBkb21pbmlvOiBudW1iZXIsIGV4cHI6IHN0cmluZyB9XHJcbiAgICB9XHJcbiAgICAvL2V4cHJfaW5jb21wbGV0aXR1ZF9qczogc3RyaW5nIC8vc2UgY3JlYSBhbCBjb21waWxhclxyXG4gICAgZXhwcl9pbmNvbXBsZXRpdHVkX2pzOiB7XHJcbiAgICAgICAgW2tleSBpbiBudW1iZXJdOiB7IGRvbWluaW86IG51bWJlciwgZXhwcjogc3RyaW5nIH1cclxuICAgIH1cclxuICAgIGRpc3BhcmFkb3I6IElkVmFyaWFibGUgLy9cInA5XCJcclxuICAgIC8vZmlsdHJvOiBzdHJpbmcgLy9cInAzPj0xOFwiXHJcbiAgICBmaWx0cm86IHtcclxuICAgICAgICBba2V5IGluIG51bWJlcl06IHsgZG9taW5pbzogbnVtYmVyLCBleHByOiBzdHJpbmcgfVxyXG4gICAgfVxyXG4gICAgLy9maWx0cm9fanM6IHN0cmluZyAvL3NlIGNyZWEgYWwgY29tcGlsYXJcclxuICAgIGZpbHRyb19qczoge1xyXG4gICAgICAgIFtrZXkgaW4gbnVtYmVyXTogeyBkb21pbmlvOiBudW1iZXIsIGV4cHI6IHN0cmluZyB9XHJcbiAgICB9XHJcbiAgICBvcmRlbjoge1xyXG4gICAgICAgIHZhcmlhYmxlOiBJZFZhcmlhYmxlXHJcbiAgICAgICAgb3JkZW46IDEgfCAtMVxyXG4gICAgfVtdIC8vW1wicDNcIiwgXCJwMlwiLCBcInAxXCIsIFwicDBcIl0sIC8vIHAwIGVzIGNvbnN0cnVpZGEsIG5vIHZhIGVuIHBhcsOhbWV0cm9zLCBzZSBwb25lIHBhcmEgcXVlIGVsIG9yZGVuIHNlYSBkZXRlcm1pbsOtc3RpY29cclxuICAgIHBhcmFtZXRyb3M6IElkVmFyaWFibGVbXS8vIFtcInAxXCIsXCJwMlwiLFwicDNcIiwgXCJwNFwiLCBcInA1XCIsIFwicDZcIl0sIC8vIHZhcmlhYmxlcyBxdWUgYW51bGFuIGFsIGRpc3BhcmFkb3JcclxuICAgIGNhbnRpZGFkX3NvcnRlYWJsZXM6IElkVmFyaWFibGVcclxuICAgIGNhbnRpZGFkX3RvdGFsOiBJZFZhcmlhYmxlXHJcbiAgICByZXN1bHRhZG86IElkVmFyaWFibGUgLy9cInAxMVwiXHJcbiAgICByZXN1bHRhZG9fbWFudWFsOiBJZFZhcmlhYmxlIC8vXCJwMTFcIlxyXG4gICAgc29ydGVhZG9fbW9zdHJhcj86IHsgc291cmNlOiBJZFZhcmlhYmxlLCB0YXJnZXQ6IElkVmFyaWFibGUgfVtdLFxyXG4gICAgaW5jb21wbGV0YXM6IElkVmFyaWFibGVcclxuICAgIHZhcmlhYmxlQm90b25Gb3JtdWxhcmlvVUE6IElkVmFyaWFibGUvLyckQi5GOlMxX1AnXHJcbiAgICB2YXJpYWJsZUJvdG9uRm9ybXVsYXJpb1VBSW5kaXZpZHVhbD86IElkVmFyaWFibGUgLy8nJEIuRjpJMSdcclxuICAgIGlkX2Zvcm11bGFyaW9faW5kaXZpZHVhbD86IElkRm9ybXVsYXJpbyAvLyAnRjpJMSdcclxuICAgIGlkX2Zvcm11bGFyaW9fcGFkcmU/OiBJZEZvcm11bGFyaW8gLy8gJ0Y6UzEnXHJcbn0gJiAoQ29uZmlndXJhY2lvblNvcnRlb0hhc2ggfCBDb25maWd1cmFjaW9uU29ydGVvVGFibGEpXHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFjaW9uSGFiaWxpdGFyQm90b25Gb3JtdWxhcmlvRm9ybSA9IHtcclxuICAgIHVuaWRhZF9hbmFsaXNpczogSWRVbmlkYWRBbmFsaXNpcyxcclxuICAgIGV4cHJfaGFiaWxpdGFyX2JvdG9uOiBzdHJpbmcsXHJcbiAgICBleHByX2hhYmlsaXRhcl9ib3Rvbl9qczogc3RyaW5nLFxyXG4gICAgaGFiaWxpdGFyX2FncmVnYXJfbGlzdG86IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRvUGxhaW5Gb3JQayhmb3JQazogRm9yUGspOiBQbGFpbkZvclBrIHtcclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShmb3JQaykgYXMgUGxhaW5Gb3JQaztcclxufVxyXG5cclxuZXhwb3J0IHZhciBpdGVyYXRvcjogPFQ+KG86IE9iamV0b051bWVyYWRvT0FycmF5PFQ+KSA9PiBJdGVyYWJsZTxUPiA9IExpa2VBci5pdGVyYXRvclxyXG5leHBvcnQgdmFyIGVtcHR5OiA8VD4obzogT2JqZXRvTnVtZXJhZG9PQXJyYXk8VD4gfCBudWxsIHwgdW5kZWZpbmVkKSA9PiBib29sZWFuID0gTGlrZUFyLmVtcHR5XHJcblxyXG5kZWNsYXJlIGdsb2JhbCB7XHJcbiAgICBuYW1lc3BhY2UgbXlPd24ge1xyXG4gICAgICAgIGludGVyZmFjZSBBZGRyUGFyYW1zIHtcclxuICAgICAgICAgICAgc3RhdGVfZm9yUGs6IHN0cmluZ1xyXG4gICAgICAgICAgICBzdGF0ZV9waWxhRm9yUGs6IHN0cmluZ1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGlyZWNjaW9uQWNjaW9uID0gJ2F2YW5jZScgfCAncmV0cm9jZXNvJyB8ICdibGFucXVlbydcclxuXHJcbmV4cG9ydCB0eXBlIEVzdGFkb0FjY2lvbiA9IHtcclxuICAgIG9wZXJhdGl2bzogc3RyaW5nXHJcbiAgICBlc3RhZG86IHN0cmluZ1xyXG4gICAgZWFjY2lvbjogc3RyaW5nXHJcbiAgICBjb25kaWNpb246IHN0cmluZ1xyXG4gICAgZXN0YWRvX2Rlc3Rpbm86IHN0cmluZ1xyXG4gICAgZWFjY2lvbl9kaXJlY2Npb246IERpcmVjY2lvbkFjY2lvblxyXG4gICAgcGF0aF9pY29ub19zdmc6IHN0cmluZ1xyXG4gICAgbm9tYnJlX3Byb2NlZHVyZTogc3RyaW5nXHJcbiAgICBub21icmVfd3NjcmVlbjogc3RyaW5nXHJcbiAgICBkZXNhY3RpdmFfYm90b246IGJvb2xlYW5cclxuICAgIGNvbmZpcm1hOiBib29sZWFuXHJcbn1cclxuZXhwb3J0IHR5cGUgTW9kb0RNID0gJ3Byb2R1YycgfCAnY2FwYSc7Il19
|
|
@@ -13,7 +13,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
13
13
|
if (v !== undefined) module.exports = v;
|
|
14
14
|
}
|
|
15
15
|
else if (typeof define === "function" && define.amd) {
|
|
16
|
-
define(["require", "exports", "js-to-html", "./render-formulario", "cast-error", "./render-init", "./abrir-formulario", "./render-config"], factory);
|
|
16
|
+
define(["require", "exports", "js-to-html", "./render-formulario", "cast-error", "service-worker-admin", "./render-init", "./abrir-formulario", "./render-config"], factory);
|
|
17
17
|
}
|
|
18
18
|
})(function (require, exports) {
|
|
19
19
|
"use strict";
|
|
@@ -394,4 +394,4 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
394
394
|
});
|
|
395
395
|
}();
|
|
396
396
|
});
|
|
397
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5sb2dnZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvdW5sb2dnZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFDYiwyQ0FBaUM7SUFDakMsMkRBQWdFO0lBRWhFLDJDQUFzQztJQUN0QyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzNELCtDQUErRDtJQUMvRCx5REFBNkM7SUFDN0MsbURBQWtEO0lBRWxELFNBQVMsVUFBVSxDQUFDLEVBQVUsRUFBRSxLQUFrQztRQUM5RCxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLElBQUcsUUFBUSxJQUFFLElBQUksRUFBQyxDQUFDO1lBQ2YsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxpQkFBaUIsQ0FBQyxFQUFTLEVBQUUsT0FBZTtRQUNqRCxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQSxPQUFPLENBQUEsQ0FBQyxDQUFBLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFFdkIsSUFBSSxpQkFBaUIsR0FBRyxHQUFFLEVBQUU7UUFDeEIsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBQyxRQUFRLENBQUMsUUFBUSxPQUFPLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDcEYsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ3JCLENBQUMsQ0FBQTtJQUVELFNBQWUsZ0JBQWdCLENBQUMsWUFBNEMsRUFBRSxZQUFx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LXRvLWh0bWwnO1xyXG5pbXBvcnQgeyBkZXNwbGVnYXJGb3JtdWxhcmlvQWN0dWFsIH0gZnJvbSAnLi9yZW5kZXItZm9ybXVsYXJpbyc7XHJcbmltcG9ydCB7IERhdG9zQnlQYXNzUGVyc2lzdGlibGVzLCBNb2RvRE0gfSBmcm9tICcuL3RpcG9zJztcclxuaW1wb3J0IHsgZXhwZWN0ZWQgfSBmcm9tIFwiY2FzdC1lcnJvclwiO1xyXG5jb25zdCBTZXJ2aWNlV29ya2VyQWRtaW4gPSByZXF1aXJlKFwic2VydmljZS13b3JrZXItYWRtaW5cIik7XHJcbmltcG9ydCB7IGNyZWF0ZUxvY2FsU3RvcmFnZUZvcm1SZW5kZXJlciB9IGZyb20gXCIuL3JlbmRlci1pbml0XCI7XHJcbmltcG9ydCB7IEJBQ0tVUFMgfSBmcm9tICcuL2FicmlyLWZvcm11bGFyaW8nO1xyXG5pbXBvcnQgeyBnZXRGb3JtUmVuZGVyZXIgfSBmcm9tIFwiLi9yZW5kZXItY29uZmlnXCI7XHJcblxyXG5mdW5jdGlvbiBzaUV4aXN0ZUlkKGlkOiBzdHJpbmcsIGhhY2VyOiAoYXJnMDogSFRNTEVsZW1lbnQpID0+IHZvaWQpe1xyXG4gICAgdmFyIGVsZW1lbnRvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG4gICAgaWYoZWxlbWVudG8hPW51bGwpe1xyXG4gICAgICAgIGhhY2VyKGVsZW1lbnRvKTtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gbW9zdHJhckVsZW1lbnRvSWQoaWQ6c3RyaW5nLCBtb3N0cmFyOmJvb2xlYW4pe1xyXG4gICAgc2lFeGlzdGVJZChpZCwgZT0+ZS5zdHlsZS5kaXNwbGF5PW1vc3RyYXI/J2Jsb2NrJzonbm9uZScpO1xyXG59XHJcbmNvbnN0IFVSTF9ETSA9ICdjYW1wbyc7XHJcblxyXG52YXIgcmVsb2FkV2l0aG91dEhhc2ggPSAoKT0+e1xyXG4gICAgaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCwgJycsIGAke2xvY2F0aW9uLm9yaWdpbitsb2NhdGlvbi5wYXRobmFtZX0vLi4vJHtVUkxfRE19YCk7XHJcbiAgICBsb2NhdGlvbi5yZWxvYWQoKVxyXG59XHJcblxyXG5hc3luYyBmdW5jdGlvbiBzaW5jcm9uaXphckRhdG9zKHBlcnNpc3RlbnRlczogRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMgfCBudWxsLCBjYW1iaWFNb2RvRE06IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IGZvcm1SZW5kZXJlciA9IGdldEZvcm1SZW5kZXJlcigpO1xyXG4gICAgbGV0IG1vZG9ETTogTW9kb0RNID0gZm9ybVJlbmRlcmVyLmdldE1vZG9ETSgpIHx8IGF3YWl0IG15LmFqYXgubW9kb19kbV9kZWZlY3RvX29idGVuZXIoe30pO1xyXG4gICAgZm9ybVJlbmRlcmVyLnNldE1vZG9ETShtb2RvRE0pO1xyXG4gICAgY29uc3QgaWRwZXJfbG9ndWVhZG9fdGFibGV0ID0gZm9ybVJlbmRlcmVyLmdldElkcGVyTG9ndWVhZG8oKTtcclxuICAgIHZhciBkYXRvcyA9IGF3YWl0IG15LmFqYXguZG1fc2luY3Jvbml6YXIoeyBwZXJzaXN0ZW50ZXMsIG1vZG9fZG06IG1vZG9ETSwgY2FtYmlhX21vZG9fZG06IGNhbWJpYU1vZG9ETSwgaWRwZXJfbG9ndWVhZG9fdGFibGV0IH0pO1xyXG4gICAgYXdhaXQgZm9ybVJlbmRlcmVyLnBlcnNpc3RpckRhdG9zKHsgLi4uZGF0b3MsIG1vZG9BbG1hY2VuYW1pZW50bzogJ2xvY2FsJyB9KTtcclxuICAgIHZhciBlc3RydWN0dXJhID0gYXdhaXQgbXlPd24uYWpheC5vcGVyYXRpdm9fZXN0cnVjdHVyYV9jb21wbGV0YSh7IG9wZXJhdGl2bzogZGF0b3Mub3BlcmF0aXZvLCBpZHBlcl9sb2d1ZWFkb190YWJsZXQgfSk7XHJcbiAgICBhd2FpdCBmb3JtUmVuZGVyZXIucGVyc2lzdGlyRXN0cnVjdHVyYShlc3RydWN0dXJhKTtcclxuICAgIG15LnJlbW92ZUxvY2FsVmFyKEJBQ0tVUFMpO1xyXG4gICAgcmV0dXJuIGRhdG9zO1xyXG59XHJcblxyXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGFzeW5jIGZ1bmN0aW9uKCl7XHJcbiAgICB2YXIgbGF5b3V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvdGFsLWxheW91dCcpITtcclxuICAgIGlmKCFsYXlvdXQpe1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdubyBlbmN1ZW50cm8gZWwgRElWLnRvdGFsLWxheW91dCcpXHJcbiAgICAgICAgYXdhaXQgbXlPd24ucmVhZHk7XHJcbiAgICAgICAgbGF5b3V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvdGFsLWxheW91dCcpITtcclxuICAgIH1cclxuICAgIGF3YWl0IG15T3duLnJlYWR5O1xyXG4gICAgaWYobG9jYXRpb24ucGF0aG5hbWUuZW5kc1dpdGgoJy9zYWx2YXInKSl7XHJcbiAgICAgICAgdHJ5e1xyXG4gICAgICAgICAgICBmb3IgKGxldCB4IGluIGxvY2FsU3RvcmFnZSl7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhsb2NhbFN0b3JhZ2VbeF0pO1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgbXlPd24uYWpheC5kbV9yZXNjYXRhcih7bG9jYWxTdG9yYWdlSXRlbTpsb2NhbFN0b3JhZ2VbeF0sIGxvY2FsU3RvcmFnZUl0ZW1LZXk6eH0pXHJcbiAgICAgICAgICAgICAgICBsYXlvdXQuYXBwZW5kKFxyXG4gICAgICAgICAgICAgICAgICAgIGh0bWwucChgaXRlbSBcIiR7eH1cIiBkZSBsb2NhbFN0b2dhZ2UgZ3VhcmRhZG8uYCkuY3JlYXRlKClcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsYXlvdXQuYXBwZW5kKFxyXG4gICAgICAgICAgICAgICAgaHRtbC5wKGB0b2RvcyBsb3MgaXRlbXMgZnVlcm9uIHNhbHZhZG9zLmApLmNyZWF0ZSgpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICB9Y2F0Y2goZXJyKXtcclxuICAgICAgICAgICAgbGF5b3V0LmFwcGVuZChcclxuICAgICAgICAgICAgICAgIGh0bWwucChgc2UgcHJvZHVqbyB1biBlcnJvciBhbCBzYWx2YXIgbG9zIGRhdG9zIGRlbCBkbS5gKS5jcmVhdGUoKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyeXtcclxuICAgICAgICAgICAgdmFyIHJlZ2lzdHJhdGlvbnMgPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb25zKCk7XHJcbiAgICAgICAgICAgIGZvcihsZXQgcmVnaXN0cmF0aW9uIG9mIHJlZ2lzdHJhdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGF3YWl0IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsYXlvdXQuYXBwZW5kKFxyXG4gICAgICAgICAgICAgICAgaHRtbC5wKGB0b2RvcyBsb3Mgc3cgZnVlcm9uIGRlc2luc3RhbGFkb3MuYCkuY3JlYXRlKClcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH1jYXRjaChlcnIpe1xyXG4gICAgICAgICAgICBsYXlvdXQuYXBwZW5kKFxyXG4gICAgICAgICAgICAgICAgaHRtbC5wKGBzZSBwcm9kdWpvIHVuIGVycm9yIGFsIGRlc2luc3RhbGFyIGxvcyBzdy5gKS5jcmVhdGUoKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG4gICAgfWVsc2V7XHJcbiAgICAgICAgbGF5b3V0LmlubmVySFRNTCA9IGBcclxuICAgIDxzcGFuIGlkPVwibWluaS1jb25zb2xlXCI+PC9zcGFuPlxyXG4gICAgXHJcbiAgICA8IS0tIEJhbm5lciBkZSBOdWV2YSBWZXJzacOzbiAoUHJvdGFnb25pc21vIEFic29sdXRvIC0gQ2VudHJvIGRlIGxhIFBhbnRhbGxhKSAtLT5cclxuICAgIDxkaXYgaWQ9XCJudWV2YS12ZXJzaW9uLWluc3RhbGFkYVwiIHN0eWxlPVwiXHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkOyBcclxuICAgICAgICB0b3A6IDM1JTsgXHJcbiAgICAgICAgbGVmdDogNTAlOyBcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgXHJcbiAgICAgICAgei1pbmRleDogOTk5OTk7IFxyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJlN2QzMjsgLyogTVVJIFN1Y2Nlc3MgUHJpbmNpcGFsICovXHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIHBhZGRpbmc6IDMycHggNDhweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwwLDAsMC4yKSwgMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLDAsMCwwLjE0KTtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAyNHB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XHJcbiAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgIFwiPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDtcIj5cclxuICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDIycHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGxldHRlci1zcGFjaW5nOiAwLjI1cHg7XCI+wqFpbnN0YWxhY2nDs24gY29ycmVjdGEhPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxidXR0b24gaWQ9XCJyZWZyZXNjYXJcIiBzdHlsZT1cIlxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICBjb2xvcjogIzJlN2QzMjtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDI0cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAzcHggNXB4IC0xcHggcmdiYSgwLDAsMCwwLjIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIHRyYW5zZm9ybSAwLjFzO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IDhweDtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcclxuICAgICAgICBcIj5cclxuICAgICAgICAgICAgQ29udGludWFyXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGlkPVwiaW5zdGFsYWRvXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj5cclxuICAgICAgICA8ZGl2IGlkPVwibWFpbl9sYXlvdXRcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICA8IS0tIFBhbmVsIGRlIFByb2dyZXNvIE9jdXBhbmRvIE3DoXMgUGFudGFsbGEgKExpbXBpbyB5IENvcnBvcmF0aXZvKSAtLT5cclxuICAgIDxkaXYgaWQ9XCJpbnN0YWxhbmRvXCIgc3R5bGU9XCJcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHRvcDogNDBweDtcclxuICAgICAgICBsZWZ0OiA0MHB4O1xyXG4gICAgICAgIHJpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGJvdHRvbTogNDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyAvKiBGb25kbyBibGFuY28gbGltcGlvIE1VSSAqL1xyXG4gICAgICAgIGNvbG9yOiAjMWUyOTNiO1xyXG4gICAgICAgIHBhZGRpbmc6IDMycHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA4cHggMjRweCByZ2JhKDAsMCwwLDAuMTIpO1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTk4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgXCI+XHJcbiAgICAgICAgPGRpdiBpZD1cInZvbHZlci1kZS1pbnN0YWxhY2lvblwiIHN0eWxlPVwiXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICBcIj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTRweDtcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gU3Bpbm5lciBNaW5pbWFsaXN0YSBkZSBNVUkgKENpcmN1bGFyUHJvZ3Jlc3MpIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4OyBcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7IFxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlMmU4ZjA7IFxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzE5NzZkMjsgLyogTVVJIFByaW1hcnkgKi9cclxuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IHN3LXNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICAgICAgICAgICAgICBcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxzdHlsZT5Aa2V5ZnJhbWVzIHN3LXNwaW4geyB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfTwvc3R5bGU+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInZvbHZlci1kZS1pbnN0YWxhY2lvbi1wb3ItcXVlXCIgc3R5bGU9XCJjb2xvcjogIzE5NzZkMjsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxM3B4OyBsZXR0ZXItc3BhY2luZzogMC44cHg7XCI+REVTQ0FSR0FORE8gUkVDVVJTT1MgREUgTEEgQVBMSUNBQ0nDk048L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YnV0dG9uIGlkPVwidm9sdmVyLWRlLWluc3RhbGFjaW9uLWNvbW9cIiBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzY0NzQ4YjtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYmQ1ZTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMTZweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xyXG4gICAgICAgICAgICBcIj5Wb2x2ZXI8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICA8aDIgc3R5bGU9XCJjb2xvcjogIzFlMjkzYjsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogNDAwOyBtYXJnaW46IDAgMCAxNnB4IDA7XCI+SGlzdG9yaWFsIGRlIGluc3RhbGFjacOzbjwvaDI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPCEtLSBDb25zb2xhIGV4cGFuZGlkYSB5IGxpbXBpYSBzaW4gZXN0w6l0aWNhIHRlcm1pbmFsIC0tPlxyXG4gICAgICAgIDxkaXYgaWQ9XCJhcmNoaXZvc1wiIHN0eWxlPVwiXHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgICAgICAgICBjb2xvcjogIzQ3NTU2OTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZmFmYzsgLyogR3JpcyBtdXkgdGVudWUsIG5hZGEgZ2FtZXIgKi9cclxuICAgICAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4XHJcbiAgICAgICAgXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuYDtcclxuICAgICAgICBpZihsb2NhdGlvbi5wYXRobmFtZS5lbmRzV2l0aChgLyR7VVJMX0RNfWApKXtcclxuICAgICAgICAgICAgY29uc3QgZm9ybVJlbmRlcmVyID0gY3JlYXRlTG9jYWxTdG9yYWdlRm9ybVJlbmRlcmVyKHsgb25TaW5jcm9uaXphcjogc2luY3Jvbml6YXJEYXRvcyB9KTtcclxuICAgICAgICAgICAgY29uc3Qgc3RhcnRBcHAgPSBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBtb2RvRG1EZWZlY3RvOiBNb2RvRE0gPSBmb3JtUmVuZGVyZXIuZ2V0TW9kb0RNKCkgfHwgYXdhaXQgbXkuYWpheC5tb2RvX2RtX2RlZmVjdG9fb2J0ZW5lcih7fSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybVJlbmRlcmVyLnNldE1vZG9ETShtb2RvRG1EZWZlY3RvKTtcclxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdubyBzZSBwdWRvIHRyYWVyIGVsIG1vZG8gcG9yIGRlZmVjdG8nKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdmFyIHZlcnNpb24gPSBhd2FpdCBzd2EuZ2V0U1coJ3ZlcnNpb24nKTtcclxuICAgICAgICAgICAgICAgIGZvcm1SZW5kZXJlci5zZXRBcHBDYWNoZVZlcnNpb24odmVyc2lvbik7XHJcbiAgICAgICAgICAgICAgICBkZXNwbGVnYXJGb3JtdWxhcmlvQWN0dWFsKGZvcm1SZW5kZXJlciwge30pO1xyXG4gICAgICAgICAgICAgICAgbXkubWVudU5hbWUgPSBVUkxfRE07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdmFyIHJlZnJlc2NhclN0YXR1cz1hc3luYyBmdW5jdGlvbihzaG93U2NyZWVuOiBzdHJpbmcsIG5ld1ZlcnNpb25BdmFpYWJsZTogc3RyaW5nLCBfaW5zdGFsbGluZzogYW55KXtcclxuICAgICAgICAgICAgICAgIHZhciBidXNjYW5kb0FjdHVhbGl6YWNpb24gPSBsb2NhdGlvbi5ocmVmLmVuZHNXaXRoKCcjaW5zdD0xJyk7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbnVldmEtdmVyc2lvbi1pbnN0YWxhZGEnKSEuc3R5bGUuZGlzcGxheT1uZXdWZXJzaW9uQXZhaWFibGU9PSd5ZXMnPycnOidub25lJztcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2b2x2ZXItZGUtaW5zdGFsYWNpb24nKSEuc3R5bGUuZGlzcGxheT1uZXdWZXJzaW9uQXZhaWFibGU9PSd5ZXMnPydub25lJzonJztcclxuICAgICAgICAgICAgICAgIGlmKHNob3dTY3JlZW49PSdhcHAnICYmICFidXNjYW5kb0FjdHVhbGl6YWNpb24pe1xyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnN0YWxhZG8nKSEuc3R5bGUuZGlzcGxheT0nJztcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5zdGFsYW5kbycpIS5zdHlsZS5kaXNwbGF5PSdub25lJztcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnN0YWxhZG8nKSEuc3R5bGUuZGlzcGxheT0nbm9uZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2luc3RhbGFuZG8nKSEuc3R5bGUuZGlzcGxheT0nJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdmFyIHN3YSA9IG5ldyBTZXJ2aWNlV29ya2VyQWRtaW4oKTtcclxuICAgICAgICAgICAgc3dhLmluc3RhbGxPckFjdGl2YXRlKHtcclxuICAgICAgICAgICAgICAgIG9uRWFjaEZpbGU6IGFzeW5jICh1cmw6IHN0cmluZywgX2Vycm9yOiBFcnJvciB8IG51bGwpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZmlsZTogJywgdXJsKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJjaGl2b3NDb250ZW5lZG9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FyY2hpdm9zJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFyY2hpdm9zQ29udGVuZWRvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmNoaXZvc0NvbnRlbmVkb3IuYXBwZW5kKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbC5kaXYoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB1cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6ICd3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7IHBhZGRpbmc6IDJweCAwOydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGA+ICR7dXJsfWApLmNyZWF0ZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEF1dG9zY3JvbGwgcGFyYSB2ZXIgZWwgYXJjaGl2byBtw6FzIHJlY2llbnRlIGFsIGZvbmRvIGRlIGxhIGNvbnNvbGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXJjaGl2b3NDb250ZW5lZG9yLnNjcm9sbFRvcCA9IGFyY2hpdm9zQ29udGVuZWRvci5zY3JvbGxIZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIG9uSW5mb01lc3NhZ2U6IChtOiBzdHJpbmcpPT5jb25zb2xlLmxvZygnbWVzc2FnZTogJywgbSksXHJcbiAgICAgICAgICAgICAgICBvbkVycm9yOiBhc3luYyAoZXJyOiBFcnJvciwgY29udGV4dDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGVycm9yID0gZXhwZWN0ZWQoZXJyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZXJyb3I6ICcgKyAoY29udGV4dCA/IGAgZW4gKCR7Y29udGV4dH0pYCA6ICcnKSwgZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGNvbnRleHQsIGVycm9yLCAnZXJyb3ItY29uc29sZScpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdlcnJvciBhbCBkZXNjYXJnYXIgY2FjaGUnLCBlcnJvci5tZXNzYWdlKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQgJiYgY29udGV4dC5zdGFydHNXaXRoKCdjYWNoaW5nICcpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVVcmwgPSBjb250ZXh0LnJlcGxhY2UoJ2NhY2hpbmcgJywgJycpLnRyaW0oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsZUlkID0gZmlsZVVybDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmaWxlSWQpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGVFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDYW1iaWFtb3MgZWwgZXN0aWxvIGEgdW4gcm9qbyBNVUkgKEVycm9yIHByaW5jaXBhbCkgZWxlZ2FudGUgeSBsZSBhZ3JlZ2Ftb3MgZWwgaW5kaWNhZG9yIGRlIGZhbGxvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlRWxlbWVudC5zdHlsZS5jb2xvciA9ICcjZDMyZjJmJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVFbGVtZW50LnN0eWxlLmZvbnRXZWlnaHQgPSAnNzAwJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVFbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICcjZmZlYmVlJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVFbGVtZW50LnN0eWxlLnBhZGRpbmdMZWZ0ID0gJzhweCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlRWxlbWVudC5zdHlsZS5ib3JkZXJSYWRpdXMgPSAnMnB4JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVFbGVtZW50LmlubmVySFRNTCA9IGDinYwgRXJyb3I6IE5vIHNlIHB1ZG8gZGVzY2FyZ2FyICR7ZmlsZVVybH0gKCR7ZXJyb3IubWVzc2FnZX0pYDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3J6YW1vcyBzY3JvbGwgcGFyYSBxdWUgZWwgZGVzYXJyb2xsYWRvciB2ZWEgZWwgZXJyb3IgYWwgZmluYWwgZGUgbGEgY29uc29sYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJjaGl2b3NDb250ZW5lZG9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FyY2hpdm9zJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJjaGl2b3NDb250ZW5lZG9yKSBhcmNoaXZvc0NvbnRlbmVkb3Iuc2Nyb2xsVG9wID0gYXJjaGl2b3NDb250ZW5lZG9yLnNjcm9sbEhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQgIT0gJ2luaXRpYWxpemluZyBzZXJ2aWNlLXdvcmtlcicpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFZhbGlkYW1vcyBzaWxlbmNpb3NhbWVudGUgc2kgZWwgcHJvYmxlbWEgZXMgZmFsdGEgZGUgc2VzacOzbiAoNDAxKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2VlcEFsaXZlID0gYXdhaXQgZmV0Y2goJ2tlZXAtYWxpdmUuanNvbicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoa2VlcEFsaXZlLnN0YXR1cyE9IDIwMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ2Rlc2xvZ3VlYWRvJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAocGluZ0Vycikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0ZhbGxvIGRlIGNhY2jDqSBwb3Igc2VzacOzbiBleHBpcmFkYS4gRGVzcGxlZ2FuZG8gYmFubmVyIGZsb3RhbnRlLicpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluc3RhbGFuZG9FbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2luc3RhbGFuZG8nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnN0YWxhbmRvRWxlbSkgaW5zdGFsYW5kb0VsZW0uc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW11ZXZlIGVsIHBhbmVsIGRlIGRlc2NhcmdhIHNpIHNhbHTDsyBlbCBlcnJvciBkZSBzZXNpw7NuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYW5lbEFyY2hpdm9zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhbmVsLWFyY2hpdm9zLWZsb3RhbnRlJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFuZWxBcmNoaXZvcykgcGFuZWxBcmNoaXZvcy5yZW1vdmUoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdXBkYXRlQmFubmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vdGlmaWNhdGlvbi11cGRhdGUtYmFubmVyJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVwZGF0ZUJhbm5lcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsYXlvdXQgPSBhd2FpdCBhd2FpdEZvckNhY2hlTGF5b3V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZUJhbm5lciA9IGh0bWwuZGl2KHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdub3RpZmljYXRpb24tdXBkYXRlLWJhbm5lcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDIwcHg7IC8qIENhbWJpYWRvIGFycmliYSAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7IC8qIENhbWJpYWRvIGEgbGEgZGVyZWNoYSAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJjM2U1MDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggMTJweCByZ2JhKDAsMCwwLDAuMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTk5OTsgLyogQSBsYSBtaXNtYSBhbHR1cmEgcXVlIGxvcyBtb2RhbGVzIGRlIFJlYWN0ICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzM0OThkYjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLmNyZWF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dC5hcHBlbmRDaGlsZCh1cGRhdGVCYW5uZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZUJhbm5lci5pbm5lckhUTUwgPSAnJztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBCb3TDs24gZGUgY2llcnJlIGNydXogKFgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib3RvbkNlcnJhciA9IGh0bWwuc3Bhbih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6ICdwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogOHB4OyByaWdodDogMTJweDsgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogI2JkYzNjNzsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6ZTogMTRweDsnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAnw5cnKS5jcmVhdGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdG9uQ2VycmFyLm9uY2xpY2sgPSAoKSA9PiB1cGRhdGVCYW5uZXIhLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90b25DZXJyYXIub25tb3VzZW92ZXIgPSAoKSA9PiB7IGJvdG9uQ2VycmFyLnN0eWxlLmNvbG9yID0gJyNmZmZmZmYnOyB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90b25DZXJyYXIub25tb3VzZW91dCA9ICgpID0+IHsgYm90b25DZXJyYXIuc3R5bGUuY29sb3IgPSAnI2JkYzNjNyc7IH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dG9Db250ZW5pZG8gPSBodG1sLmRpdih7IHN0eWxlOiAnZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMS40OyBwYWRkaW5nLXJpZ2h0OiAxMnB4OycgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSGF5IHVuYSBudWV2YSB2ZXJzacOzbiBkaXNwb25pYmxlLCBwZXJvIHJlcXVpZXJlIGluaWNpYXIgc2VzacOzbiBudWV2YW1lbnRlLidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkuY3JlYXRlKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm90b25Mb2dpbiA9IGh0bWwuYnV0dG9uKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogJ2JhY2tncm91bmQtY29sb3I6ICMzNDk4ZGI7IGNvbG9yOiB3aGl0ZTsgYm9yZGVyOiBub25lOyBwYWRkaW5nOiA4cHggMTJweDsgYm9yZGVyLXJhZGl1czogNHB4OyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDEzcHg7IGFsaWduLXNlbGY6IGZsZXgtZW5kOydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sICdJbmljaWFyIFNlc2nDs24nKS5jcmVhdGUoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3RvbkxvZ2luLm9ubW91c2VvdmVyID0gKCkgPT4geyBib3RvbkxvZ2luLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICcjMjk4MGI5JzsgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdG9uTG9naW4ub25tb3VzZW91dCA9ICgpID0+IHsgYm90b25Mb2dpbi5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAnIzM0OThkYic7IH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3RvbkxvZ2luLm9uY2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgJHtsb2NhdGlvbi5vcmlnaW4gKyBsb2NhdGlvbi5wYXRobmFtZX0vLi4vbG9naW5gO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVCYW5uZXIuYXBwZW5kQ2hpbGQoYm90b25DZXJyYXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlQmFubmVyLmFwcGVuZENoaWxkKHRleHRvQ29udGVuaWRvKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZUJhbm5lci5hcHBlbmRDaGlsZChib3RvbkxvZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gQ29ydGFtb3MgYWPDoSBwYXJhIGV2aXRhciBsYSBiYXJyYSByb2phXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNpIGVsIHBpbmcgYW5kdXZvIGJpZW4gcGVybyBsbGVnw7MgYWPDoSwgZXMgdW4gZXJyb3IgcmVhbCBkZSByZWQvb2ZmbGluZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGF5b3V0ID0gYXdhaXQgYXdhaXRGb3JDYWNoZUxheW91dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNhY2hlU3RhdHVzRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYWNoZS1zdGF0dXMnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjYWNoZVN0YXR1c0VsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudCA9IGh0bWwucCh7IGlkOiAnY2FjaGUtc3RhdHVzJyB9KS5jcmVhdGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dC5pbnNlcnRCZWZvcmUoY2FjaGVTdGF0dXNFbGVtZW50LCBsYXlvdXQuZmlyc3RDaGlsZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3dhcm5pbmcnLCAnYWxsLW9rJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdkYW5nZXInKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LnRleHRDb250ZW50ID0gJ2Vycm9yIGFsIGRlc2NhcmdhciBsYSBhcGxpY2FjacOzbi4gJyArIGVycm9yLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIG9uUmVhZHlUb1N0YXJ0OnN0YXJ0QXBwLFxyXG4gICAgICAgICAgICAgICAgb25TdGF0ZUNoYW5nZTpyZWZyZXNjYXJTdGF0dXNcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZWZyZXNjYXInKSEuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57XHJcbiAgICAgICAgICAgIHJlbG9hZFdpdGhvdXRIYXNoKClcclxuICAgICAgICB9KTtcclxuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndm9sdmVyLWRlLWluc3RhbGFjaW9uLWNvbW8nKSEuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57XHJcbiAgICAgICAgICAgIHJlbG9hZFdpdGhvdXRIYXNoKClcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSlcclxuXHJcbmV4cG9ydCB2YXIgYXdhaXRGb3JDYWNoZUxheW91dCA9IGFzeW5jIGZ1bmN0aW9uIHByZXBhcmVMYXlvdXRGb3JDYWNoZSgpe1xyXG4gICAgYXdhaXQgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgX3JlamVjdCl7XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLHJlc29sdmUpO1xyXG4gICAgfSk7XHJcbiAgICB2YXIgbGF5b3V0PShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtbGF5b3V0Jyl8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcclxuICAgIGlmKCFsYXlvdXQuaWQpe1xyXG4gICAgICAgIGxheW91dC5pZD0nY2FjaGUtbGF5b3V0JztcclxuICAgICAgICBsYXlvdXQuYXBwZW5kQ2hpbGQoaHRtbC5kaXYoe2lkOidhcHAtdmVyc2lvbnMnfSkuY3JlYXRlKCkpO1xyXG4gICAgICAgIGxheW91dC5hcHBlbmRDaGlsZChodG1sLmRpdih7aWQ6J2FwcC1zdGF0dXMnfSkuY3JlYXRlKCkpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGF5b3V0LmFwcGVuZENoaWxkKGh0bWwuZGl2KHtpZDonY2FjaGUtbG9nJ30pLmNyZWF0ZSgpKSk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUobGF5b3V0LGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZClcclxuICAgIH1cclxuICAgIHJldHVybiBsYXlvdXQ7XHJcbn0oKTsiXX0=
|
|
397
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5sb2dnZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvdW5sb2dnZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFDYiwyQ0FBaUM7SUFDakMsMkRBQWdFO0lBRWhFLDJDQUFzQztJQUN0QywyREFBNEQ7SUFDNUQsK0NBQStEO0lBQy9ELHlEQUE2QztJQUM3QyxtREFBa0Q7SUFFbEQsU0FBUyxVQUFVLENBQUMsRUFBVSxFQUFFLEtBQWtDO1FBQzlELElBQUksUUFBUSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0MsSUFBRyxRQUFRLElBQUUsSUFBSSxFQUFDLENBQUM7WUFDZixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEIsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLGlCQUFpQixDQUFDLEVBQVMsRUFBRSxPQUFlO1FBQ2pELFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLE9BQU8sQ0FBQSxDQUFDLENBQUEsTUFBTSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUV2QixJQUFJLGlCQUFpQixHQUFHLEdBQUUsRUFBRTtRQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFDLFFBQVEsQ0FBQyxRQUFRLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNwRixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDckIsQ0FBQyxDQUFBO0lBRUQsU0FBZSxnQkFBZ0IsQ0FBQyxZQUE0QyxFQUFFLFlBQXFCOztZQUMvRixNQUFNLFlBQVksR0FBRyxJQUFBLCtCQUFlLEdB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QixHQUFHLFNBQWUscUJBQXFCOztZQUNqRSxNQUFNLElBQUksT0FBTyxDQUFDLFVBQVMsT0FBTyxFQUFFLE9BQU87Z0JBQ3ZDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLE1BQU0sR0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLElBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFDLENBQUM7Z0JBQ1gsTUFBTSxDQUFDLEVBQUUsR0FBQyxjQUFjLENBQUM7Z0JBQ3pCLE1BQU0sQ0FBQyxXQUFXLENBQUMsaUJBQUksQ0FBQyxHQUFHLENBQUMsRUFBQyxFQUFFLEVBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUMzRCxNQUFNLENBQUMsV0FBVyxDQUFDLGlCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLFlBQVksRUFBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDekQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxpQkFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUUsRUFBQyxXQUFXLEVBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbkYsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDL0QsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7S0FBQSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuaW1wb3J0IHtodG1sfSAgZnJvbSAnanMtdG8taHRtbCc7XHJcbmltcG9ydCB7IGRlc3BsZWdhckZvcm11bGFyaW9BY3R1YWwgfSBmcm9tICcuL3JlbmRlci1mb3JtdWxhcmlvJztcclxuaW1wb3J0IHsgRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMsIE1vZG9ETSB9IGZyb20gJy4vdGlwb3MnO1xyXG5pbXBvcnQgeyBleHBlY3RlZCB9IGZyb20gXCJjYXN0LWVycm9yXCI7XHJcbmltcG9ydCBTZXJ2aWNlV29ya2VyQWRtaW4gPSByZXF1aXJlKFwic2VydmljZS13b3JrZXItYWRtaW5cIik7XHJcbmltcG9ydCB7IGNyZWF0ZUxvY2FsU3RvcmFnZUZvcm1SZW5kZXJlciB9IGZyb20gXCIuL3JlbmRlci1pbml0XCI7XHJcbmltcG9ydCB7IEJBQ0tVUFMgfSBmcm9tICcuL2FicmlyLWZvcm11bGFyaW8nO1xyXG5pbXBvcnQgeyBnZXRGb3JtUmVuZGVyZXIgfSBmcm9tIFwiLi9yZW5kZXItY29uZmlnXCI7XHJcblxyXG5mdW5jdGlvbiBzaUV4aXN0ZUlkKGlkOiBzdHJpbmcsIGhhY2VyOiAoYXJnMDogSFRNTEVsZW1lbnQpID0+IHZvaWQpe1xyXG4gICAgdmFyIGVsZW1lbnRvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG4gICAgaWYoZWxlbWVudG8hPW51bGwpe1xyXG4gICAgICAgIGhhY2VyKGVsZW1lbnRvKTtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gbW9zdHJhckVsZW1lbnRvSWQoaWQ6c3RyaW5nLCBtb3N0cmFyOmJvb2xlYW4pe1xyXG4gICAgc2lFeGlzdGVJZChpZCwgZT0+ZS5zdHlsZS5kaXNwbGF5PW1vc3RyYXI/J2Jsb2NrJzonbm9uZScpO1xyXG59XHJcbmNvbnN0IFVSTF9ETSA9ICdjYW1wbyc7XHJcblxyXG52YXIgcmVsb2FkV2l0aG91dEhhc2ggPSAoKT0+e1xyXG4gICAgaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCwgJycsIGAke2xvY2F0aW9uLm9yaWdpbitsb2NhdGlvbi5wYXRobmFtZX0vLi4vJHtVUkxfRE19YCk7XHJcbiAgICBsb2NhdGlvbi5yZWxvYWQoKVxyXG59XHJcblxyXG5hc3luYyBmdW5jdGlvbiBzaW5jcm9uaXphckRhdG9zKHBlcnNpc3RlbnRlczogRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMgfCBudWxsLCBjYW1iaWFNb2RvRE06IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IGZvcm1SZW5kZXJlciA9IGdldEZvcm1SZW5kZXJlcigpO1xyXG4gICAgbGV0IG1vZG9ETTogTW9kb0RNID0gZm9ybVJlbmRlcmVyLmdldE1vZG9ETSgpIHx8IGF3YWl0IG15LmFqYXgubW9kb19kbV9kZWZlY3RvX29idGVuZXIoe30pO1xyXG4gICAgZm9ybVJlbmRlcmVyLnNldE1vZG9ETShtb2RvRE0pO1xyXG4gICAgY29uc3QgaWRwZXJfbG9ndWVhZG9fdGFibGV0ID0gZm9ybVJlbmRlcmVyLmdldElkcGVyTG9ndWVhZG8oKTtcclxuICAgIHZhciBkYXRvcyA9IGF3YWl0IG15LmFqYXguZG1fc2luY3Jvbml6YXIoeyBwZXJzaXN0ZW50ZXMsIG1vZG9fZG06IG1vZG9ETSwgY2FtYmlhX21vZG9fZG06IGNhbWJpYU1vZG9ETSwgaWRwZXJfbG9ndWVhZG9fdGFibGV0IH0pO1xyXG4gICAgYXdhaXQgZm9ybVJlbmRlcmVyLnBlcnNpc3RpckRhdG9zKHsgLi4uZGF0b3MsIG1vZG9BbG1hY2VuYW1pZW50bzogJ2xvY2FsJyB9KTtcclxuICAgIHZhciBlc3RydWN0dXJhID0gYXdhaXQgbXlPd24uYWpheC5vcGVyYXRpdm9fZXN0cnVjdHVyYV9jb21wbGV0YSh7IG9wZXJhdGl2bzogZGF0b3Mub3BlcmF0aXZvLCBpZHBlcl9sb2d1ZWFkb190YWJsZXQgfSk7XHJcbiAgICBhd2FpdCBmb3JtUmVuZGVyZXIucGVyc2lzdGlyRXN0cnVjdHVyYShlc3RydWN0dXJhKTtcclxuICAgIG15LnJlbW92ZUxvY2FsVmFyKEJBQ0tVUFMpO1xyXG4gICAgcmV0dXJuIGRhdG9zO1xyXG59XHJcblxyXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGFzeW5jIGZ1bmN0aW9uKCl7XHJcbiAgICB2YXIgbGF5b3V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvdGFsLWxheW91dCcpITtcclxuICAgIGlmKCFsYXlvdXQpe1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdubyBlbmN1ZW50cm8gZWwgRElWLnRvdGFsLWxheW91dCcpXHJcbiAgICAgICAgYXdhaXQgbXlPd24ucmVhZHk7XHJcbiAgICAgICAgbGF5b3V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvdGFsLWxheW91dCcpITtcclxuICAgIH1cclxuICAgIGF3YWl0IG15T3duLnJlYWR5O1xyXG4gICAgaWYobG9jYXRpb24ucGF0aG5hbWUuZW5kc1dpdGgoJy9zYWx2YXInKSl7XHJcbiAgICAgICAgdHJ5e1xyXG4gICAgICAgICAgICBmb3IgKGxldCB4IGluIGxvY2FsU3RvcmFnZSl7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhsb2NhbFN0b3JhZ2VbeF0pO1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgbXlPd24uYWpheC5kbV9yZXNjYXRhcih7bG9jYWxTdG9yYWdlSXRlbTpsb2NhbFN0b3JhZ2VbeF0sIGxvY2FsU3RvcmFnZUl0ZW1LZXk6eH0pXHJcbiAgICAgICAgICAgICAgICBsYXlvdXQuYXBwZW5kKFxyXG4gICAgICAgICAgICAgICAgICAgIGh0bWwucChgaXRlbSBcIiR7eH1cIiBkZSBsb2NhbFN0b2dhZ2UgZ3VhcmRhZG8uYCkuY3JlYXRlKClcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsYXlvdXQuYXBwZW5kKFxyXG4gICAgICAgICAgICAgICAgaHRtbC5wKGB0b2RvcyBsb3MgaXRlbXMgZnVlcm9uIHNhbHZhZG9zLmApLmNyZWF0ZSgpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICB9Y2F0Y2goZXJyKXtcclxuICAgICAgICAgICAgbGF5b3V0LmFwcGVuZChcclxuICAgICAgICAgICAgICAgIGh0bWwucChgc2UgcHJvZHVqbyB1biBlcnJvciBhbCBzYWx2YXIgbG9zIGRhdG9zIGRlbCBkbS5gKS5jcmVhdGUoKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyeXtcclxuICAgICAgICAgICAgdmFyIHJlZ2lzdHJhdGlvbnMgPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb25zKCk7XHJcbiAgICAgICAgICAgIGZvcihsZXQgcmVnaXN0cmF0aW9uIG9mIHJlZ2lzdHJhdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGF3YWl0IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsYXlvdXQuYXBwZW5kKFxyXG4gICAgICAgICAgICAgICAgaHRtbC5wKGB0b2RvcyBsb3Mgc3cgZnVlcm9uIGRlc2luc3RhbGFkb3MuYCkuY3JlYXRlKClcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH1jYXRjaChlcnIpe1xyXG4gICAgICAgICAgICBsYXlvdXQuYXBwZW5kKFxyXG4gICAgICAgICAgICAgICAgaHRtbC5wKGBzZSBwcm9kdWpvIHVuIGVycm9yIGFsIGRlc2luc3RhbGFyIGxvcyBzdy5gKS5jcmVhdGUoKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG4gICAgfWVsc2V7XHJcbiAgICAgICAgbGF5b3V0LmlubmVySFRNTCA9IGBcclxuICAgIDxzcGFuIGlkPVwibWluaS1jb25zb2xlXCI+PC9zcGFuPlxyXG4gICAgXHJcbiAgICA8IS0tIEJhbm5lciBkZSBOdWV2YSBWZXJzacOzbiAoUHJvdGFnb25pc21vIEFic29sdXRvIC0gQ2VudHJvIGRlIGxhIFBhbnRhbGxhKSAtLT5cclxuICAgIDxkaXYgaWQ9XCJudWV2YS12ZXJzaW9uLWluc3RhbGFkYVwiIHN0eWxlPVwiXHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkOyBcclxuICAgICAgICB0b3A6IDM1JTsgXHJcbiAgICAgICAgbGVmdDogNTAlOyBcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgXHJcbiAgICAgICAgei1pbmRleDogOTk5OTk7IFxyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJlN2QzMjsgLyogTVVJIFN1Y2Nlc3MgUHJpbmNpcGFsICovXHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIHBhZGRpbmc6IDMycHggNDhweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwwLDAsMC4yKSwgMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLDAsMCwwLjE0KTtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAyNHB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XHJcbiAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgIFwiPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDtcIj5cclxuICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDIycHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGxldHRlci1zcGFjaW5nOiAwLjI1cHg7XCI+wqFpbnN0YWxhY2nDs24gY29ycmVjdGEhPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxidXR0b24gaWQ9XCJyZWZyZXNjYXJcIiBzdHlsZT1cIlxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICBjb2xvcjogIzJlN2QzMjtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDI0cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAzcHggNXB4IC0xcHggcmdiYSgwLDAsMCwwLjIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIHRyYW5zZm9ybSAwLjFzO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IDhweDtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcclxuICAgICAgICBcIj5cclxuICAgICAgICAgICAgQ29udGludWFyXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGlkPVwiaW5zdGFsYWRvXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj5cclxuICAgICAgICA8ZGl2IGlkPVwibWFpbl9sYXlvdXRcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICA8IS0tIFBhbmVsIGRlIFByb2dyZXNvIE9jdXBhbmRvIE3DoXMgUGFudGFsbGEgKExpbXBpbyB5IENvcnBvcmF0aXZvKSAtLT5cclxuICAgIDxkaXYgaWQ9XCJpbnN0YWxhbmRvXCIgc3R5bGU9XCJcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHRvcDogNDBweDtcclxuICAgICAgICBsZWZ0OiA0MHB4O1xyXG4gICAgICAgIHJpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGJvdHRvbTogNDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyAvKiBGb25kbyBibGFuY28gbGltcGlvIE1VSSAqL1xyXG4gICAgICAgIGNvbG9yOiAjMWUyOTNiO1xyXG4gICAgICAgIHBhZGRpbmc6IDMycHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA4cHggMjRweCByZ2JhKDAsMCwwLDAuMTIpO1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTk4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgXCI+XHJcbiAgICAgICAgPGRpdiBpZD1cInZvbHZlci1kZS1pbnN0YWxhY2lvblwiIHN0eWxlPVwiXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICBcIj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTRweDtcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gU3Bpbm5lciBNaW5pbWFsaXN0YSBkZSBNVUkgKENpcmN1bGFyUHJvZ3Jlc3MpIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4OyBcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7IFxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlMmU4ZjA7IFxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzE5NzZkMjsgLyogTVVJIFByaW1hcnkgKi9cclxuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IHN3LXNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICAgICAgICAgICAgICBcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxzdHlsZT5Aa2V5ZnJhbWVzIHN3LXNwaW4geyB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfTwvc3R5bGU+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInZvbHZlci1kZS1pbnN0YWxhY2lvbi1wb3ItcXVlXCIgc3R5bGU9XCJjb2xvcjogIzE5NzZkMjsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxM3B4OyBsZXR0ZXItc3BhY2luZzogMC44cHg7XCI+REVTQ0FSR0FORE8gUkVDVVJTT1MgREUgTEEgQVBMSUNBQ0nDk048L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YnV0dG9uIGlkPVwidm9sdmVyLWRlLWluc3RhbGFjaW9uLWNvbW9cIiBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzY0NzQ4YjtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYmQ1ZTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMTZweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xyXG4gICAgICAgICAgICBcIj5Wb2x2ZXI8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICA8aDIgc3R5bGU9XCJjb2xvcjogIzFlMjkzYjsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogNDAwOyBtYXJnaW46IDAgMCAxNnB4IDA7XCI+SGlzdG9yaWFsIGRlIGluc3RhbGFjacOzbjwvaDI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPCEtLSBDb25zb2xhIGV4cGFuZGlkYSB5IGxpbXBpYSBzaW4gZXN0w6l0aWNhIHRlcm1pbmFsIC0tPlxyXG4gICAgICAgIDxkaXYgaWQ9XCJhcmNoaXZvc1wiIHN0eWxlPVwiXHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgICAgICAgICBjb2xvcjogIzQ3NTU2OTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZmFmYzsgLyogR3JpcyBtdXkgdGVudWUsIG5hZGEgZ2FtZXIgKi9cclxuICAgICAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4XHJcbiAgICAgICAgXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuYDtcclxuICAgICAgICBpZihsb2NhdGlvbi5wYXRobmFtZS5lbmRzV2l0aChgLyR7VVJMX0RNfWApKXtcclxuICAgICAgICAgICAgY29uc3QgZm9ybVJlbmRlcmVyID0gY3JlYXRlTG9jYWxTdG9yYWdlRm9ybVJlbmRlcmVyKHsgb25TaW5jcm9uaXphcjogc2luY3Jvbml6YXJEYXRvcyB9KTtcclxuICAgICAgICAgICAgY29uc3Qgc3RhcnRBcHAgPSBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBtb2RvRG1EZWZlY3RvOiBNb2RvRE0gPSBmb3JtUmVuZGVyZXIuZ2V0TW9kb0RNKCkgfHwgYXdhaXQgbXkuYWpheC5tb2RvX2RtX2RlZmVjdG9fb2J0ZW5lcih7fSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybVJlbmRlcmVyLnNldE1vZG9ETShtb2RvRG1EZWZlY3RvKTtcclxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdubyBzZSBwdWRvIHRyYWVyIGVsIG1vZG8gcG9yIGRlZmVjdG8nKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdmFyIHZlcnNpb24gPSBhd2FpdCBzd2EuZ2V0U1coJ3ZlcnNpb24nKTtcclxuICAgICAgICAgICAgICAgIGZvcm1SZW5kZXJlci5zZXRBcHBDYWNoZVZlcnNpb24odmVyc2lvbik7XHJcbiAgICAgICAgICAgICAgICBkZXNwbGVnYXJGb3JtdWxhcmlvQWN0dWFsKGZvcm1SZW5kZXJlciwge30pO1xyXG4gICAgICAgICAgICAgICAgbXkubWVudU5hbWUgPSBVUkxfRE07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdmFyIHJlZnJlc2NhclN0YXR1cz1hc3luYyBmdW5jdGlvbihzaG93U2NyZWVuOiBzdHJpbmcsIG5ld1ZlcnNpb25BdmFpYWJsZTogc3RyaW5nLCBfaW5zdGFsbGluZzogYW55KXtcclxuICAgICAgICAgICAgICAgIHZhciBidXNjYW5kb0FjdHVhbGl6YWNpb24gPSBsb2NhdGlvbi5ocmVmLmVuZHNXaXRoKCcjaW5zdD0xJyk7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbnVldmEtdmVyc2lvbi1pbnN0YWxhZGEnKSEuc3R5bGUuZGlzcGxheT1uZXdWZXJzaW9uQXZhaWFibGU9PSd5ZXMnPycnOidub25lJztcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2b2x2ZXItZGUtaW5zdGFsYWNpb24nKSEuc3R5bGUuZGlzcGxheT1uZXdWZXJzaW9uQXZhaWFibGU9PSd5ZXMnPydub25lJzonJztcclxuICAgICAgICAgICAgICAgIGlmKHNob3dTY3JlZW49PSdhcHAnICYmICFidXNjYW5kb0FjdHVhbGl6YWNpb24pe1xyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnN0YWxhZG8nKSEuc3R5bGUuZGlzcGxheT0nJztcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5zdGFsYW5kbycpIS5zdHlsZS5kaXNwbGF5PSdub25lJztcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnN0YWxhZG8nKSEuc3R5bGUuZGlzcGxheT0nbm9uZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2luc3RhbGFuZG8nKSEuc3R5bGUuZGlzcGxheT0nJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdmFyIHN3YSA9IG5ldyBTZXJ2aWNlV29ya2VyQWRtaW4oKTtcclxuICAgICAgICAgICAgc3dhLmluc3RhbGxPckFjdGl2YXRlKHtcclxuICAgICAgICAgICAgICAgIG9uRWFjaEZpbGU6IGFzeW5jICh1cmw6IHN0cmluZywgX2Vycm9yOiBFcnJvciB8IG51bGwpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZmlsZTogJywgdXJsKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJjaGl2b3NDb250ZW5lZG9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FyY2hpdm9zJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFyY2hpdm9zQ29udGVuZWRvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmNoaXZvc0NvbnRlbmVkb3IuYXBwZW5kKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbC5kaXYoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB1cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6ICd3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7IHBhZGRpbmc6IDJweCAwOydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGA+ICR7dXJsfWApLmNyZWF0ZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEF1dG9zY3JvbGwgcGFyYSB2ZXIgZWwgYXJjaGl2byBtw6FzIHJlY2llbnRlIGFsIGZvbmRvIGRlIGxhIGNvbnNvbGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXJjaGl2b3NDb250ZW5lZG9yLnNjcm9sbFRvcCA9IGFyY2hpdm9zQ29udGVuZWRvci5zY3JvbGxIZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIG9uSW5mb01lc3NhZ2U6IChtPzogc3RyaW5nKT0+Y29uc29sZS5sb2coJ21lc3NhZ2U6ICcsIG0pLFxyXG4gICAgICAgICAgICAgICAgb25FcnJvcjogYXN5bmMgKGVycjogRXJyb3IsIGNvbnRleHQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBlcnJvciA9IGV4cGVjdGVkKGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2Vycm9yOiAnICsgKGNvbnRleHQgPyBgIGVuICgke2NvbnRleHR9KWAgOiAnJyksIGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhjb250ZXh0LCBlcnJvciwgJ2Vycm9yLWNvbnNvbGUnKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZXJyb3IgYWwgZGVzY2FyZ2FyIGNhY2hlJywgZXJyb3IubWVzc2FnZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250ZXh0ICYmIGNvbnRleHQuc3RhcnRzV2l0aCgnY2FjaGluZyAnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWxlVXJsID0gY29udGV4dC5yZXBsYWNlKCdjYWNoaW5nICcsICcnKS50cmltKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVJZCA9IGZpbGVVcmw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZmlsZUlkKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWxlRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2FtYmlhbW9zIGVsIGVzdGlsbyBhIHVuIHJvam8gTVVJIChFcnJvciBwcmluY2lwYWwpIGVsZWdhbnRlIHkgbGUgYWdyZWdhbW9zIGVsIGluZGljYWRvciBkZSBmYWxsb1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZUVsZW1lbnQuc3R5bGUuY29sb3IgPSAnI2QzMmYyZic7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlRWxlbWVudC5zdHlsZS5mb250V2VpZ2h0ID0gJzcwMCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAnI2ZmZWJlZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlRWxlbWVudC5zdHlsZS5wYWRkaW5nTGVmdCA9ICc4cHgnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZUVsZW1lbnQuc3R5bGUuYm9yZGVyUmFkaXVzID0gJzJweCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlRWxlbWVudC5pbm5lckhUTUwgPSBg4p2MIEVycm9yOiBObyBzZSBwdWRvIGRlc2NhcmdhciAke2ZpbGVVcmx9ICgke2Vycm9yLm1lc3NhZ2V9KWA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9yemFtb3Mgc2Nyb2xsIHBhcmEgcXVlIGVsIGRlc2Fycm9sbGFkb3IgdmVhIGVsIGVycm9yIGFsIGZpbmFsIGRlIGxhIGNvbnNvbGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFyY2hpdm9zQ29udGVuZWRvciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhcmNoaXZvcycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFyY2hpdm9zQ29udGVuZWRvcikgYXJjaGl2b3NDb250ZW5lZG9yLnNjcm9sbFRvcCA9IGFyY2hpdm9zQ29udGVuZWRvci5zY3JvbGxIZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250ZXh0ICE9ICdpbml0aWFsaXppbmcgc2VydmljZS13b3JrZXInKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBWYWxpZGFtb3Mgc2lsZW5jaW9zYW1lbnRlIHNpIGVsIHByb2JsZW1hIGVzIGZhbHRhIGRlIHNlc2nDs24gKDQwMSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtlZXBBbGl2ZSA9IGF3YWl0IGZldGNoKCdrZWVwLWFsaXZlLmpzb24nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGtlZXBBbGl2ZS5zdGF0dXMhPSAyMDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCdkZXNsb2d1ZWFkbycpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKHBpbmdFcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdGYWxsbyBkZSBjYWNow6kgcG9yIHNlc2nDs24gZXhwaXJhZGEuIERlc3BsZWdhbmRvIGJhbm5lciBmbG90YW50ZS4nKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnN0YWxhbmRvRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnN0YWxhbmRvJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5zdGFsYW5kb0VsZW0pIGluc3RhbGFuZG9FbGVtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtdWV2ZSBlbCBwYW5lbCBkZSBkZXNjYXJnYSBzaSBzYWx0w7MgZWwgZXJyb3IgZGUgc2VzacOzblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFuZWxBcmNoaXZvcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYW5lbC1hcmNoaXZvcy1mbG90YW50ZScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhbmVsQXJjaGl2b3MpIHBhbmVsQXJjaGl2b3MucmVtb3ZlKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHVwZGF0ZUJhbm5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub3RpZmljYXRpb24tdXBkYXRlLWJhbm5lcicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF1cGRhdGVCYW5uZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGF5b3V0ID0gYXdhaXQgYXdhaXRGb3JDYWNoZUxheW91dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVCYW5uZXIgPSBodG1sLmRpdih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnbm90aWZpY2F0aW9uLXVwZGF0ZS1iYW5uZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogYFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAyMHB4OyAvKiBDYW1iaWFkbyBhcnJpYmEgKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4OyAvKiBDYW1iaWFkbyBhIGxhIGRlcmVjaGEgKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzNlNTA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDEycHggcmdiYSgwLDAsMCwwLjMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXA6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTk5OTk7IC8qIEEgbGEgbWlzbWEgYWx0dXJhIHF1ZSBsb3MgbW9kYWxlcyBkZSBSZWFjdCAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMzNDk4ZGI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5jcmVhdGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQuYXBwZW5kQ2hpbGQodXBkYXRlQmFubmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVCYW5uZXIuaW5uZXJIVE1MID0gJyc7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQm90w7NuIGRlIGNpZXJyZSBjcnV6IChYKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm90b25DZXJyYXIgPSBodG1sLnNwYW4oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiAncG9zaXRpb246IGFic29sdXRlOyB0b3A6IDhweDsgcmlnaHQ6IDEycHg7IGN1cnNvcjogcG9pbnRlcjsgY29sb3I6ICNiZGMzYzc7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDE0cHg7J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgJ8OXJykuY3JlYXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3RvbkNlcnJhci5vbmNsaWNrID0gKCkgPT4gdXBkYXRlQmFubmVyIS5yZW1vdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdG9uQ2VycmFyLm9ubW91c2VvdmVyID0gKCkgPT4geyBib3RvbkNlcnJhci5zdHlsZS5jb2xvciA9ICcjZmZmZmZmJzsgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdG9uQ2VycmFyLm9ubW91c2VvdXQgPSAoKSA9PiB7IGJvdG9uQ2VycmFyLnN0eWxlLmNvbG9yID0gJyNiZGMzYzcnOyB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRvQ29udGVuaWRvID0gaHRtbC5kaXYoeyBzdHlsZTogJ2ZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNDsgcGFkZGluZy1yaWdodDogMTJweDsnIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hheSB1bmEgbnVldmEgdmVyc2nDs24gZGlzcG9uaWJsZSwgcGVybyByZXF1aWVyZSBpbmljaWFyIHNlc2nDs24gbnVldmFtZW50ZS4nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLmNyZWF0ZSgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvdG9uTG9naW4gPSBodG1sLmJ1dHRvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6ICdiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5OGRiOyBjb2xvcjogd2hpdGU7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogOHB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDRweDsgY3Vyc29yOiBwb2ludGVyOyBmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAxM3B4OyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAnSW5pY2lhciBTZXNpw7NuJykuY3JlYXRlKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90b25Mb2dpbi5vbm1vdXNlb3ZlciA9ICgpID0+IHsgYm90b25Mb2dpbi5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAnIzI5ODBiOSc7IH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3RvbkxvZ2luLm9ubW91c2VvdXQgPSAoKSA9PiB7IGJvdG9uTG9naW4uc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJyMzNDk4ZGInOyB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90b25Mb2dpbi5vbmNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7bG9jYXRpb24ub3JpZ2luICsgbG9jYXRpb24ucGF0aG5hbWV9Ly4uL2xvZ2luYDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlQmFubmVyLmFwcGVuZENoaWxkKGJvdG9uQ2VycmFyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZUJhbm5lci5hcHBlbmRDaGlsZCh0ZXh0b0NvbnRlbmlkbyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVCYW5uZXIuYXBwZW5kQ2hpbGQoYm90b25Mb2dpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIENvcnRhbW9zIGFjw6EgcGFyYSBldml0YXIgbGEgYmFycmEgcm9qYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTaSBlbCBwaW5nIGFuZHV2byBiaWVuIHBlcm8gbGxlZ8OzIGFjw6EsIGVzIHVuIGVycm9yIHJlYWwgZGUgcmVkL29mZmxpbmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxheW91dCA9IGF3YWl0IGF3YWl0Rm9yQ2FjaGVMYXlvdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjYWNoZVN0YXR1c0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtc3RhdHVzJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY2FjaGVTdGF0dXNFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZVN0YXR1c0VsZW1lbnQgPSBodG1sLnAoeyBpZDogJ2NhY2hlLXN0YXR1cycgfSkuY3JlYXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQuaW5zZXJ0QmVmb3JlKGNhY2hlU3RhdHVzRWxlbWVudCwgbGF5b3V0LmZpcnN0Q2hpbGQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd3YXJuaW5nJywgJ2FsbC1vaycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZVN0YXR1c0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZGFuZ2VyJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC50ZXh0Q29udGVudCA9ICdlcnJvciBhbCBkZXNjYXJnYXIgbGEgYXBsaWNhY2nDs24uICcgKyBlcnJvci5tZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBvblJlYWR5VG9TdGFydDpzdGFydEFwcCxcclxuICAgICAgICAgICAgICAgIG9uU3RhdGVDaGFuZ2U6cmVmcmVzY2FyU3RhdHVzXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVmcmVzY2FyJykhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+e1xyXG4gICAgICAgICAgICByZWxvYWRXaXRob3V0SGFzaCgpXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZvbHZlci1kZS1pbnN0YWxhY2lvbi1jb21vJykhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+e1xyXG4gICAgICAgICAgICByZWxvYWRXaXRob3V0SGFzaCgpXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0pXHJcblxyXG5leHBvcnQgdmFyIGF3YWl0Rm9yQ2FjaGVMYXlvdXQgPSBhc3luYyBmdW5jdGlvbiBwcmVwYXJlTGF5b3V0Rm9yQ2FjaGUoKXtcclxuICAgIGF3YWl0IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIF9yZWplY3Qpe1xyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJyxyZXNvbHZlKTtcclxuICAgIH0pO1xyXG4gICAgdmFyIGxheW91dD0oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhY2hlLWxheW91dCcpfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7XHJcbiAgICBpZighbGF5b3V0LmlkKXtcclxuICAgICAgICBsYXlvdXQuaWQ9J2NhY2hlLWxheW91dCc7XHJcbiAgICAgICAgbGF5b3V0LmFwcGVuZENoaWxkKGh0bWwuZGl2KHtpZDonYXBwLXZlcnNpb25zJ30pLmNyZWF0ZSgpKTtcclxuICAgICAgICBsYXlvdXQuYXBwZW5kQ2hpbGQoaHRtbC5kaXYoe2lkOidhcHAtc3RhdHVzJ30pLmNyZWF0ZSgpKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxheW91dC5hcHBlbmRDaGlsZChodG1sLmRpdih7aWQ6J2NhY2hlLWxvZyd9KS5jcmVhdGUoKSkpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKGxheW91dCxkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gbGF5b3V0O1xyXG59KCk7Il19
|
|
@@ -14,7 +14,7 @@ BEGIN
|
|
|
14
14
|
inner join base.estados_acciones ea using (operativo, estado)
|
|
15
15
|
inner join tem te using (operativo,enc)
|
|
16
16
|
--left join tokens tok on t.cargado_dm=tok.token
|
|
17
|
-
left join no_rea nr on (te.norea
|
|
17
|
+
left join no_rea nr on (te.norea = nr.no_rea)
|
|
18
18
|
left join tareas_tem tta on (te.operativo = tta.operativo and te.enc = tta.enc and te.tarea_actual = tta.tarea)
|
|
19
19
|
where t.operativo='||quote_literal(p_operativo)||
|
|
20
20
|
' and t.estado='||quote_literal(p_estado)||
|
|
@@ -20,12 +20,12 @@ CREATE OR REPLACE FUNCTION accion_cumple_condicion(
|
|
|
20
20
|
LANGUAGE SQL
|
|
21
21
|
STABLE
|
|
22
22
|
AS $SQL$
|
|
23
|
-
-- ¡ATENCIÓN! NO MODIFICAR MANUALMENTE ESTA FUNCIÓN FUE GENERADA CON EL SCRIPT
|
|
23
|
+
-- ¡ATENCIÓN! NO MODIFICAR MANUALMENTE ESTA FUNCIÓN FUE GENERADA CON EL SCRIPT generador_accion_cumple_condicion.sql
|
|
24
24
|
select true
|
|
25
25
|
from base.tareas_tem t
|
|
26
26
|
inner join base.estados_acciones ea using (operativo, estado)
|
|
27
27
|
inner join tem te using (operativo,enc)
|
|
28
|
-
left join no_rea nr on (te.norea
|
|
28
|
+
left join no_rea nr on (te.norea = nr.no_rea)
|
|
29
29
|
left join tareas_tem tta on (te.operativo = tta.operativo and te.enc = tta.enc and te.tarea_actual = tta.tarea)
|
|
30
30
|
where t.operativo = p_operativo
|
|
31
31
|
and t.estado = p_estado
|
|
@@ -14,7 +14,7 @@ BEGIN
|
|
|
14
14
|
inner join base.tareas_proximas tp using (operativo, tarea, estado)
|
|
15
15
|
inner join tem te using (operativo,enc)
|
|
16
16
|
--left join tokens tok on t.cargado_dm=tok.token
|
|
17
|
-
left join no_rea nr on (te.norea
|
|
17
|
+
left join no_rea nr on (te.norea = nr.no_rea)
|
|
18
18
|
where t.operativo='||quote_literal(p_operativo)||
|
|
19
19
|
' and t.tarea='||quote_literal(p_tarea)||
|
|
20
20
|
' and t.estado='||quote_literal(p_estado)||
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dmencu",
|
|
3
3
|
"description": "DM Encu - Encuestas en dispositivo móvil",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.3.1",
|
|
5
5
|
"author": "Codenautas <codenautas@googlegroups.com>",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": "codenautas/dmencu",
|
|
@@ -13,8 +13,10 @@
|
|
|
13
13
|
],
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@mui/material": "^5.16.7",
|
|
16
|
-
"backend-plus": "^2.7.
|
|
16
|
+
"backend-plus": "^2.7.10",
|
|
17
|
+
"backend-skins": "^0.1.34",
|
|
17
18
|
"cast-error": "^0.1.3",
|
|
19
|
+
"discrepances": "^0.2.14",
|
|
18
20
|
"like-ar": "^0.3.9",
|
|
19
21
|
"meta-enc": "^1.4.19",
|
|
20
22
|
"procesamiento": "^2.0.11",
|
|
@@ -26,38 +28,39 @@
|
|
|
26
28
|
"redux-typed-reducer": "~0.1.1",
|
|
27
29
|
"row-validator": "^1.0.0-rc1",
|
|
28
30
|
"service-worker-admin": "^0.2.2",
|
|
29
|
-
"yazl": "~2.5.1"
|
|
30
|
-
"backend-skins": "^0.1.34",
|
|
31
|
-
"discrepances": "^0.2.14"
|
|
31
|
+
"yazl": "~2.5.1"
|
|
32
32
|
},
|
|
33
33
|
"dependencias provisorias: las que se pongan en dependencias ponerlas acá y sacarlas juntas": {},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@types/
|
|
36
|
-
"@types/
|
|
35
|
+
"@types/express-session": "^1.19.0",
|
|
36
|
+
"@types/mocha": "^10.0.10",
|
|
37
|
+
"@types/node": "^26.6.3",
|
|
37
38
|
"@types/qrcode": "^1.5.0",
|
|
38
39
|
"@types/react": "^17.0.38",
|
|
39
40
|
"@types/react-dom": "^17.0.11",
|
|
40
41
|
"@types/react-redux": "^7.1.22",
|
|
41
42
|
"@types/yazl": "~2.4.2",
|
|
42
43
|
"mixin-patch": "~0.4.1",
|
|
44
|
+
"mocha": "^12.0.0",
|
|
43
45
|
"pg-triggers": "~0.3.2",
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
46
|
+
"qa-control": "^0.10.2",
|
|
47
|
+
"types.d.ts": "~0.7.2",
|
|
48
|
+
"typescript": "^5.9.3"
|
|
47
49
|
},
|
|
48
50
|
"engines": {
|
|
49
51
|
"node": ">= 16.18.0"
|
|
50
52
|
},
|
|
51
53
|
"scripts": {
|
|
52
54
|
"prepare": "npm run build",
|
|
53
|
-
"
|
|
54
|
-
"build
|
|
55
|
-
"build-
|
|
55
|
+
"prepublishOnly": "npm test",
|
|
56
|
+
"build": "tsc -p src/server && tsc -p src/unlogged && tsc -p src/client && mixin-patch",
|
|
57
|
+
"build-client": "tsc -p src/client && mixin-patch",
|
|
58
|
+
"build-unlogged": "tsc -p src/unlogged && mixin-patch",
|
|
56
59
|
"mixin-patch": "mixin-patch",
|
|
57
|
-
"watch:buildC": "
|
|
58
|
-
"watch:buildS": "
|
|
59
|
-
"watch:buildU": "
|
|
60
|
-
"test": "mocha --reporter spec --bail --check-leaks test/",
|
|
60
|
+
"watch:buildC": "tsc -p src/client --watch",
|
|
61
|
+
"watch:buildS": "tsc -p src/server --watch",
|
|
62
|
+
"watch:buildU": "tsc -p src/unlogged --watch",
|
|
63
|
+
"test": "tsc -p src/test && mocha --reporter spec --bail --check-leaks dist/test/test.js",
|
|
61
64
|
"start": "node dist/server/server/server-dmencu.js",
|
|
62
65
|
"dump": "npm start -- --dump-db",
|
|
63
66
|
"bdump": "npm run build && npm run dump",
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.no_rea = no_rea;
|
|
13
|
-
function no_rea(context) {
|
|
14
|
-
var _a, _b;
|
|
15
|
-
var puedeEditar = context.forDump || ((_b = (_a = context.puede) === null || _a === void 0 ? void 0 : _a.campo) === null || _b === void 0 ? void 0 : _b.administrar) || context.user.rol === 'recepcionista';
|
|
16
|
-
return {
|
|
17
|
-
name: 'no_rea',
|
|
18
|
-
elementName: 'no_rea',
|
|
19
|
-
editable: puedeEditar,
|
|
20
|
-
fields: [
|
|
21
|
-
{ name: 'operativo', typeName: 'text', nullable: false },
|
|
22
|
-
{ name: 'orden', typeName: 'integer', nullable: false, defaultDbValue: '0' },
|
|
23
|
-
{ name: 'no_rea', typeName: 'text' },
|
|
24
|
-
{ name: 'descripcion', typeName: 'text' },
|
|
25
|
-
{ name: 'grupo', typeName: 'text' },
|
|
26
|
-
{ name: 'variable', typeName: 'text' },
|
|
27
|
-
{ name: 'valor', typeName: 'text' },
|
|
28
|
-
{ name: 'grupo0', typeName: 'text' },
|
|
29
|
-
{ name: 'pasa_a_recuperacion', typeName: 'boolean', nullable: false, defaultDbValue: 'false' },
|
|
30
|
-
{ name: 'pasa_a_supervision', typeName: 'boolean', nullable: false, defaultDbValue: 'false' },
|
|
31
|
-
],
|
|
32
|
-
primaryKey: ['operativo', 'no_rea'],
|
|
33
|
-
foreignKeys: [{ references: 'operativos', fields: ['operativo'] }],
|
|
34
|
-
sortColumns: [{ column: "operativo", order: 1 }, { column: "orden", order: 1 }, { column: "no_rea", order: 1 }],
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbm9fcmVhIGNvcHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3RhYmxlLW5vX3JlYSBjb3B5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztJQUFBLFlBQVksQ0FBQzs7SUFJYix3QkFzQkM7SUF0QkQsU0FBZ0IsTUFBTSxDQUFDLE9BQW9COztRQUN2QyxJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxLQUFJLE1BQUEsTUFBQSxPQUFPLENBQUMsS0FBSywwQ0FBRSxLQUFLLDBDQUFFLFdBQVcsQ0FBQSxJQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFHLGVBQWUsQ0FBQztRQUMzRyxPQUFPO1lBQ0gsSUFBSSxFQUFDLFFBQVE7WUFDYixXQUFXLEVBQUMsUUFBUTtZQUNwQixRQUFRLEVBQUMsV0FBVztZQUNwQixNQUFNLEVBQUM7Z0JBQ0gsRUFBQyxJQUFJLEVBQUMsV0FBVyxFQUFpQixRQUFRLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBQyxLQUFLLEVBQUM7Z0JBQ2xFLEVBQUMsSUFBSSxFQUFDLE9BQU8sRUFBcUIsUUFBUSxFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUMsS0FBSyxFQUFFLGNBQWMsRUFBQyxHQUFHLEVBQUM7Z0JBQ3pGLEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBb0IsUUFBUSxFQUFDLE1BQU0sRUFBQztnQkFDbEQsRUFBQyxJQUFJLEVBQUMsYUFBYSxFQUFlLFFBQVEsRUFBQyxNQUFNLEVBQUM7Z0JBQ2xELEVBQUMsSUFBSSxFQUFDLE9BQU8sRUFBcUIsUUFBUSxFQUFDLE1BQU0sRUFBQztnQkFDbEQsRUFBQyxJQUFJLEVBQUMsVUFBVSxFQUFrQixRQUFRLEVBQUMsTUFBTSxFQUFDO2dCQUNsRCxFQUFDLElBQUksRUFBQyxPQUFPLEVBQXFCLFFBQVEsRUFBQyxNQUFNLEVBQUM7Z0JBQ2xELEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBb0IsUUFBUSxFQUFDLE1BQU0sRUFBQztnQkFDbEQsRUFBQyxJQUFJLEVBQUMscUJBQXFCLEVBQU8sUUFBUSxFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUMsS0FBSyxFQUFFLGNBQWMsRUFBQyxPQUFPLEVBQUM7Z0JBQzdGLEVBQUMsSUFBSSxFQUFDLG9CQUFvQixFQUFRLFFBQVEsRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFDLEtBQUssRUFBRSxjQUFjLEVBQUMsT0FBTyxFQUFDO2FBQ2hHO1lBQ0QsVUFBVSxFQUFDLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQztZQUNsQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFDLENBQUMsV0FBVyxDQUFDLEVBQUMsQ0FBQztZQUM3RCxXQUFXLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUMsQ0FBQztTQUM5RyxDQUFDO0lBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIFRhYmxlQ29udGV4dH0gZnJvbSBcIi4vdHlwZXMtZG1lbmN1XCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbm9fcmVhKGNvbnRleHQ6VGFibGVDb250ZXh0KTpUYWJsZURlZmluaXRpb24ge1xyXG4gICAgdmFyIHB1ZWRlRWRpdGFyID0gY29udGV4dC5mb3JEdW1wIHx8IGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcnx8Y29udGV4dC51c2VyLnJvbD09PSdyZWNlcGNpb25pc3RhJztcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgbmFtZTonbm9fcmVhJyxcclxuICAgICAgICBlbGVtZW50TmFtZTonbm9fcmVhJyxcclxuICAgICAgICBlZGl0YWJsZTpwdWVkZUVkaXRhcixcclxuICAgICAgICBmaWVsZHM6W1xyXG4gICAgICAgICAgICB7bmFtZTonb3BlcmF0aXZvJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnLCBudWxsYWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidvcmRlbicgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicsIG51bGxhYmxlOmZhbHNlLCBkZWZhdWx0RGJWYWx1ZTonMCd9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9fcmVhJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnfSxcclxuICAgICAgICAgICAge25hbWU6J2Rlc2NyaXBjaW9uJyAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sXHJcbiAgICAgICAgICAgIHtuYW1lOidncnVwbycgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCd9LFxyXG4gICAgICAgICAgICB7bmFtZTondmFyaWFibGUnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnfSxcclxuICAgICAgICAgICAge25hbWU6J3ZhbG9yJyAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sXHJcbiAgICAgICAgICAgIHtuYW1lOidncnVwbzAnICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCd9LFxyXG4gICAgICAgICAgICB7bmFtZToncGFzYV9hX3JlY3VwZXJhY2lvbicgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nLCBudWxsYWJsZTpmYWxzZSwgZGVmYXVsdERiVmFsdWU6J2ZhbHNlJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYXNhX2Ffc3VwZXJ2aXNpb24nICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicsIG51bGxhYmxlOmZhbHNlLCBkZWZhdWx0RGJWYWx1ZTonZmFsc2UnfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIHByaW1hcnlLZXk6WydvcGVyYXRpdm8nLCAnbm9fcmVhJ10sXHJcbiAgICAgICAgZm9yZWlnbktleXM6W3tyZWZlcmVuY2VzOidvcGVyYXRpdm9zJywgZmllbGRzOlsnb3BlcmF0aXZvJ119XSxcclxuICAgICAgICBzb3J0Q29sdW1uczogW3sgY29sdW1uOiBcIm9wZXJhdGl2b1wiLCBvcmRlcjogMSB9LCB7IGNvbHVtbjogXCJvcmRlblwiLCBvcmRlcjogMSB9LCB7Y29sdW1uOlwibm9fcmVhXCIsIG9yZGVyOjF9XSxcclxuICAgIH07XHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.no_rea_sup = no_rea_sup;
|
|
13
|
-
function no_rea_sup(context) {
|
|
14
|
-
var _a, _b;
|
|
15
|
-
var puedeEditar = context.forDump || ((_b = (_a = context.puede) === null || _a === void 0 ? void 0 : _a.campo) === null || _b === void 0 ? void 0 : _b.administrar) || context.user.rol === 'recepcionista';
|
|
16
|
-
return {
|
|
17
|
-
name: 'no_rea_sup',
|
|
18
|
-
elementName: 'no_rea_sup',
|
|
19
|
-
editable: puedeEditar,
|
|
20
|
-
fields: [
|
|
21
|
-
{ name: 'operativo', typeName: 'text', nullable: false },
|
|
22
|
-
{ name: 'orden', typeName: 'integer', nullable: false, defaultDbValue: '0' },
|
|
23
|
-
{ name: 'no_rea_sup', typeName: 'text' },
|
|
24
|
-
{ name: 'desc_norea_sup', typeName: 'text' },
|
|
25
|
-
{ name: 'grupo_sup', typeName: 'text' },
|
|
26
|
-
{ name: 'variable_sup', typeName: 'text' },
|
|
27
|
-
{ name: 'valor_sup', typeName: 'text' },
|
|
28
|
-
{ name: 'grupo0_sup', typeName: 'text' },
|
|
29
|
-
],
|
|
30
|
-
primaryKey: ['operativo', 'no_rea_sup'],
|
|
31
|
-
foreignKeys: [{ references: 'operativos', fields: ['operativo'] }],
|
|
32
|
-
sortColumns: [{ column: "operativo", order: 1 }, { column: "orden", order: 1 }, { column: "no_rea_sup", order: 1 }],
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbm9fcmVhX3N1cCBjb3B5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90YWJsZS1ub19yZWFfc3VwIGNvcHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOztJQUliLGdDQXFCQztJQXJCRCxTQUFnQixVQUFVLENBQUMsT0FBb0I7O1FBQzNDLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEtBQUksTUFBQSxNQUFBLE9BQU8sQ0FBQyxLQUFLLDBDQUFFLEtBQUssMENBQUUsV0FBVyxDQUFBLElBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUcsZUFBZSxDQUFDO1FBQzNHLE9BQU87WUFDSCxJQUFJLEVBQUMsWUFBWTtZQUNqQixXQUFXLEVBQUMsWUFBWTtZQUN4QixRQUFRLEVBQUMsV0FBVztZQUNwQixNQUFNLEVBQUM7Z0JBQ0gsRUFBQyxJQUFJLEVBQUMsV0FBVyxFQUF5QixRQUFRLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBQyxLQUFLLEVBQUM7Z0JBQzFFLEVBQUMsSUFBSSxFQUFDLE9BQU8sRUFBNkIsUUFBUSxFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUU7Z0JBQ3BHLEVBQUMsSUFBSSxFQUFDLFlBQVksRUFBd0IsUUFBUSxFQUFDLE1BQU0sRUFBQztnQkFDMUQsRUFBQyxJQUFJLEVBQUMsZ0JBQWdCLEVBQW9CLFFBQVEsRUFBQyxNQUFNLEVBQUM7Z0JBQzFELEVBQUMsSUFBSSxFQUFDLFdBQVcsRUFBeUIsUUFBUSxFQUFDLE1BQU0sRUFBQztnQkFDMUQsRUFBQyxJQUFJLEVBQUMsY0FBYyxFQUFzQixRQUFRLEVBQUMsTUFBTSxFQUFDO2dCQUMxRCxFQUFDLElBQUksRUFBQyxXQUFXLEVBQXlCLFFBQVEsRUFBQyxNQUFNLEVBQUM7Z0JBQzFELEVBQUMsSUFBSSxFQUFDLFlBQVksRUFBd0IsUUFBUSxFQUFDLE1BQU0sRUFBQzthQUU3RDtZQUNELFVBQVUsRUFBQyxDQUFDLFdBQVcsRUFBQyxZQUFZLENBQUM7WUFDckMsV0FBVyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDbEUsV0FBVyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDdEgsQ0FBQztJQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7VGFibGVEZWZpbml0aW9uLCBUYWJsZUNvbnRleHR9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG5vX3JlYV9zdXAoY29udGV4dDpUYWJsZUNvbnRleHQpOlRhYmxlRGVmaW5pdGlvbiB7XHJcbiAgICB2YXIgcHVlZGVFZGl0YXIgPSBjb250ZXh0LmZvckR1bXAgfHwgY29udGV4dC5wdWVkZT8uY2FtcG8/LmFkbWluaXN0cmFyfHxjb250ZXh0LnVzZXIucm9sPT09J3JlY2VwY2lvbmlzdGEnO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOidub19yZWFfc3VwJyxcclxuICAgICAgICBlbGVtZW50TmFtZTonbm9fcmVhX3N1cCcsXHJcbiAgICAgICAgZWRpdGFibGU6cHVlZGVFZGl0YXIsXHJcbiAgICAgICAgZmllbGRzOltcclxuICAgICAgICAgICAge25hbWU6J29wZXJhdGl2bycgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnLCBudWxsYWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidvcmRlbicgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJywgbnVsbGFibGU6IGZhbHNlLCBkZWZhdWx0RGJWYWx1ZTogJzAnIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidub19yZWFfc3VwJyAgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sXHJcbiAgICAgICAgICAgIHtuYW1lOidkZXNjX25vcmVhX3N1cCcgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sXHJcbiAgICAgICAgICAgIHtuYW1lOidncnVwb19zdXAnICAgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sXHJcbiAgICAgICAgICAgIHtuYW1lOid2YXJpYWJsZV9zdXAnICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sXHJcbiAgICAgICAgICAgIHtuYW1lOid2YWxvcl9zdXAnICAgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sXHJcbiAgICAgICAgICAgIHtuYW1lOidncnVwbzBfc3VwJyAgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sXHJcblxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgcHJpbWFyeUtleTpbJ29wZXJhdGl2bycsJ25vX3JlYV9zdXAnXSxcclxuICAgICAgICBmb3JlaWduS2V5czogW3sgcmVmZXJlbmNlczogJ29wZXJhdGl2b3MnLCBmaWVsZHM6IFsnb3BlcmF0aXZvJ10gfV0sXHJcbiAgICAgICAgc29ydENvbHVtbnM6IFt7IGNvbHVtbjogXCJvcGVyYXRpdm9cIiwgb3JkZXI6IDEgfSwgeyBjb2x1bW46IFwib3JkZW5cIiwgb3JkZXI6IDEgfSwgeyBjb2x1bW46IFwibm9fcmVhX3N1cFwiLCBvcmRlcjogMSB9XSxcclxuICAgIH07XHJcbn1cclxuXHJcbiJdfQ==
|