kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
460 lines (459 loc) • 59.3 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _locales = require("../locales");
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
var _default = exports["default"] = {
property: {
weight: 'peso',
label: 'etiqueta',
fillColor: 'color de relleno',
color: 'color',
coverage: 'cobertura',
strokeColor: 'color de trazo',
radius: 'radio',
outline: 'contorno',
stroke: 'trazo',
density: 'densidad',
height: 'altura',
sum: 'suma',
pointCount: 'Recuento de puntos'
},
placeholder: {
search: 'Busqueda',
selectField: 'Selecciona un campo',
yAxis: 'Eje Y',
selectType: 'Selecciona un Tipo',
selectValue: 'Selecciona un Valor',
enterValue: 'Entra un valor',
empty: 'vacio'
},
misc: {
by: '',
valuesIn: 'Valores en',
valueEquals: 'Valor igual a',
dataSource: 'Fuente de datos',
brushRadius: 'Radio del pincel (km)',
empty: ' '
},
mapLayers: {
title: 'Capas del mapa',
label: 'Etiqueta',
road: 'Carretera',
border: 'Frontera',
building: 'Edificio',
water: 'Agua',
land: 'Tierra',
'3dBuilding': 'Edificio 3D',
background: 'Fondo'
},
panel: {
text: {
label: 'etiqueta',
labelWithId: 'Etiqueta {labelId}',
fontSize: 'Tamaño de fuente',
fontColor: 'Color de fuente',
textAnchor: 'Anclaje del texto',
alignment: 'Alineación',
addMoreLabel: 'Añadir más etiquetas'
}
},
sidebar: {
panels: {
layer: 'Capas',
filter: 'Filtros',
interaction: 'Interacciones',
basemap: 'Mapa base'
}
},
layer: {
required: 'Requerido*',
radius: 'Radio',
color: 'Color',
fillColor: 'Color de relleno',
outline: 'Contorno',
weight: 'Grueso',
propertyBasedOn: '{property} basado en',
coverage: 'Cobertura',
stroke: 'Trazo',
strokeWidth: 'Grosor de trazo',
strokeColor: 'Color de trazo',
basic: 'Básico',
trailLength: 'Longitud de pista',
trailLengthDescription: 'Numero de segundos hasta que desaparezca el camino',
newLayer: 'nueva capa',
elevationByDescription: 'Si desactivado, la altura se basa en el recuento de puntos',
colorByDescription: 'Si desactivado, el color se basa en el recuento de puntos',
aggregateBy: '{field} agregado por',
'3DModel': 'Modelo 3D',
'3DModelOptions': 'Opciones del modelo 3D',
type: {
point: 'punto',
arc: 'arco',
line: 'línea',
grid: 'malla',
hexbin: 'hexbin',
polygon: 'polígono',
geojson: 'geojson',
cluster: 'cluster',
icon: 'icono',
heatmap: 'concentración',
hexagon: 'hexágono',
hexagonid: 'H3',
trip: 'viaje',
s2: 'S2',
'3d': '3D'
},
layerUpdateError: 'Se produjo un error durante la actualización de la capa: {errorMessage}. Asegúrese de que el formato de los datos de entrada sea válido.'
},
layerVisConfigs: {
angle: 'Ángulo',
strokeWidth: 'Ancho del trazo',
strokeWidthRange: 'Rango del ancho del trazo',
radius: 'Radio',
fixedRadius: 'Radio fijo a medir',
fixedRadiusDescription: 'Ajustar el radio al radio absoluto en metros, p.e. 5 a 5 metros',
radiusRange: 'Rango de radio',
clusterRadius: 'Radio del cluster en píxeles',
radiusRangePixels: 'Rango del radio en píxeles',
billboard: 'Modo cartelera',
billboardDescription: 'Oriente la geometría hacia la cámara',
fadeTrail: 'Sendero de desvanecimiento',
opacity: 'Opacidad',
coverage: 'Cobertura',
outline: 'Contorno',
colorRange: 'Rango de color',
stroke: 'Trazo',
strokeColor: 'Color de trazo',
strokeColorRange: 'Rango de color de trazo',
targetColor: 'Color destino',
colorAggregation: 'Agregación de color',
heightAggregation: 'Agregación de la altura',
resolutionRange: 'Rango de resolución',
sizeScale: 'Medida de escala',
worldUnitSize: 'Medida de la unidad mundial',
elevationScale: 'Escala de elevación',
enableElevationZoomFactor: 'Usar factor de zoom de elevación',
enableElevationZoomFactorDescription: 'Ajuste la altura / elevación según el factor de zoom actual',
enableHeightZoomFactor: 'Usar factor de zoom de altura',
heightScale: 'Escala de altura',
coverageRange: 'Rango de cobertura',
highPrecisionRendering: 'Representación de alta precisión',
highPrecisionRenderingDescription: 'La precisión alta tendrá un rendimiento más bajo',
height: 'Altura',
heightDescription: 'Haz clic en el botón de arriba a la derecha del mapa per cambiar a vista 3D',
fill: 'Rellenar',
enablePolygonHeight: 'Activar la altura del polígono',
showWireframe: 'Muestra esquemàtico',
weightIntensity: 'Intensidad de peso',
zoomScale: 'Escala de zoom',
heightRange: 'Rango de alturas',
heightMultiplier: 'Multiplicador de altura',
fixedHeight: 'Altura fija',
fixedHeightDescription: 'Usar altura sin modificaciones'
},
layerManager: {
addData: 'Añadir datos',
addLayer: 'Añadir capa',
layerBlending: 'Combinar capas'
},
mapManager: {
mapStyle: 'Estilo de mapa',
addMapStyle: 'Añadir estilo de mapa',
'3dBuildingColor': 'Color edificios 3D',
backgroundColor: 'Color de fondo'
},
layerConfiguration: {
defaultDescription: 'Calcular {property} según el campo seleccionado',
howTo: 'How to'
},
filterManager: {
addFilter: 'Añadir filtro'
},
datasetTitle: {
showDataTable: 'Mostar la tabla de datos',
removeDataset: 'Eliminar conjunto de datos'
},
datasetInfo: {
rowCount: '{rowCount} files'
},
tooltip: {
hideLayer: 'Ocultar la capa',
showLayer: 'Mostrar la capa',
hideFeature: 'Ocultar el objeto',
showFeature: 'Mostrar el objeto',
hide: 'Ocultar',
show: 'Mostrar',
removeLayer: 'Eliminar capa',
resetAfterError: 'Intente habilitar la capa después de un error',
layerSettings: 'Configuración de capa',
closePanel: 'Cerrar el panel actual',
switchToDualView: 'Cambiar a la vista de mapa dual',
showLegend: 'Mostrar leyenda',
disable3DMap: 'Desactivar mapa 3D',
DrawOnMap: 'Dibujar en el mapa',
selectLocale: 'Seleccionar configuración regional',
showAiAssistantPanel: 'Mostrar el panel de AI Assistant',
hideAiAssistantPanel: 'Ocultar el panel de AI Assistant',
hideLayerPanel: 'Ocultar la tabla de capas',
showLayerPanel: 'Mostrar la tabla de capas',
moveToTop: 'Desplazar arriba de las capas de datos',
selectBaseMapStyle: 'Seleccionar estilo de mapa base',
"delete": 'Borrar',
timePlayback: 'Reproducción de tiempo',
cloudStorage: 'Almacenaje en la nube',
'3DMap': 'Mapa 3D',
animationByWindow: 'Ventana Temporal Móvil',
animationByIncremental: 'Ventana Temporal Incremental',
speed: 'velocidad',
play: 'iniciar',
pause: 'pausar',
reset: 'reiniciar'
},
toolbar: _objectSpread({
exportImage: 'Exportar imagen',
exportData: 'Exportar datos',
exportMap: 'Exportar mapa',
shareMapURL: 'Compartir el enlace del mapa',
saveMap: 'Guardar mapa',
select: 'selecciona',
polygon: 'polígono',
rectangle: 'rectángulo',
hide: 'esconder',
show: 'mostrar'
}, _locales.LOCALES),
modal: {
title: {
deleteDataset: 'Borrar conjunto de datos',
addDataToMap: 'Añadir datos al mapa',
exportImage: 'Exportar imagen',
exportData: 'Exportar datos',
exportMap: 'Exportar mapa',
addCustomMapboxStyle: 'Añadir estilo de Mapbox propio',
saveMap: 'Guardar mapa',
shareURL: 'Compartir enlace'
},
button: {
"delete": 'Borrar',
download: 'Descargar',
"export": 'Exportar',
addStyle: 'Añadir estilo',
save: 'Guardar',
defaultCancel: 'Cancelar',
defaultConfirm: 'Confirmar'
},
exportImage: {
ratioTitle: 'Ratio',
ratioDescription: 'Esoger ratio por diversos usos.',
ratioOriginalScreen: 'Pantalla original',
ratioCustom: 'Personalizado',
ratio4_3: '4:3',
ratio16_9: '16:9',
resolutionTitle: 'Resolución',
resolutionDescription: 'Una alta resolución es mejor para las impresiones.',
mapLegendTitle: 'Leyenda del mapa',
mapLegendAdd: 'Añadir leyenda al mapa'
},
exportData: {
datasetTitle: 'Conjunto de datos',
datasetSubtitle: 'Escoger los conjuntos de datos a exportar',
allDatasets: 'Todos',
dataTypeTitle: 'Tipo de datos',
dataTypeSubtitle: 'Escoger el tipo de datos a exportar',
filterDataTitle: 'Filtrar datos',
filterDataSubtitle: 'Se puede escoger exportar los datos originales o filtrados',
filteredData: 'Datos filtrados',
unfilteredData: 'Datos sin filtrar',
fileCount: '{fileCount} Archivos',
rowCount: '{rowCount} Files'
},
deleteData: {
warning: 'estás a punto de borrar este conjunto de datos. Afectará a {length} capas'
},
addStyle: {
publishTitle: '1. Publicar tu estilo en Mapbox o proporcionar el token de acceso',
publishSubtitle1: 'Puedes crear el tu propio estilo de mapa en',
publishSubtitle2: 'y',
publishSubtitle3: 'publicar',
publishSubtitle4: 'lo.',
publishSubtitle5: 'Para utilizar un estilo privado, engancha tu',
publishSubtitle6: 'token de acceso',
publishSubtitle7: 'aquí. *kepler.gl es una aplicación cliente, los datos quedan en tu navegador..',
exampleToken: 'p.e. pk.abcdefg.xxxxxx',
pasteTitle: '2. Engancha el enlace del estilo',
pasteSubtitle1: 'Qué es un',
pasteSubtitle2: 'enlace del estilo',
namingTitle: '3. Poner nombre a tu estilo'
},
shareMap: {
shareUriTitle: 'Compartir el enlace del mapa',
shareUriSubtitle: 'Generar un enlace del mapa para compartir con otros',
cloudTitle: 'Almacenage en la nube',
cloudSubtitle: 'Acceder y cargar datos del mapa a tu almacenage a la nube personal',
shareDisclaimer: 'kepler.gl guardará los datos del mapa en el almacenage de tu nube personal, sólo quien tenga el enlace podra acceder al mapa y a los datos . ' + 'Puedes editar/borrar el archivo de datos en tu cuenta en la nube en cualquier momento.',
gotoPage: 'Ves a la página de {currentProvider} de Kepler.gl'
},
statusPanel: {
mapUploading: 'Cargar un mapa',
error: 'Error'
},
saveMap: {
title: 'Almacentage en la nube',
subtitle: 'Acceder para guardar el mapa en teu almacenage en la nube'
},
exportMap: {
formatTitle: 'Formato de mapa',
formatSubtitle: 'Escoger el formato al que se desea exportar el mapa',
html: {
selection: 'Exportar tu mapa como un archivo HTML interactivo.',
tokenTitle: 'Token de acceso de Mapbox',
tokenSubtitle: 'Utilizar tu token de acceso a Mapbox al archivo HTML (opcional)',
tokenPlaceholder: 'Enganchar tu token de acceso a Mapbox',
tokenMisuseWarning: '* Si no proporcionas tu propio token, el mapa podría fallar en cualquier momento cuando reemplacemos nuestro token para evitar abusos. ',
tokenDisclaimer: 'Puedes cambiar el token de Mapbox posteriormente utilizando estas instrucciones: ',
tokenUpdate: 'Como actualitzar un token preexistente.',
modeTitle: 'Modo mapa',
modeSubtitle1: 'Seleccionar modo app. Más ',
modeSubtitle2: 'información',
modeDescription: 'Permmite a los usuarios {modo} el mapa',
read: 'leer',
edit: 'editar'
},
json: {
configTitle: 'Configuración del mapa',
configDisclaimer: 'La configuración del mapa será incluida en el archivo Json. Si utilitzas kepler.gl en tu propia app puedes copiar esta configuración y pasarla a ',
selection: 'Exportar los datos del mapa y la configuración en un solo archivo Json. Posteriormente puedes abrir este mismo mapa cargando este mismo archivo a kepler.gl.',
disclaimer: '* La configuración del mapa se combina con los conjuntos de datos cargados. ‘dataId’ se utiliza para vincular capas, filtros y sugerencias a un conjunto de datos específico. ' + 'Cuando pases esta configuración a addDataToMap, asegura que el identificador del conjunto de datos coincida con los ‘dataId’ de esta configuración.'
}
},
loadingDialog: {
loading: 'Cargando...'
},
loadData: {
upload: 'Cargar archivos',
storage: 'Cargar desde almacenage'
},
tripInfo: {
title: 'Como habilitar la animación de viaje',
description1: 'Para animar la ruta, los datos geoJSON han de contener `LineString` en su geometría y las coordenadas de LineString deben tener 4 elementos en los formats de ',
code: ' [longitude, latitude, altitude, timestamp] ',
description2: 'y el último elemento debe ser la marca del tiempo. Los formatos válidos para la marca de tiempo incluyen Unix en segundos como `1564184363` o en milisegundos como `1564184363000`.',
example: 'Ejemplo:'
},
iconInfo: {
title: 'Como dibujar íconos',
description1: 'En tu CSV crea una columna y pon el nombre del ícono que quieres dibujar. Puedes dejar la celda vacía cuando no quieras que se muestre para ciertos puntos. Cuando la columna se llama',
code: 'ícono',
description2: ' kepler.gl automáticamente creará una capa de ícono.',
example: 'Ejemplo:',
icons: 'Iconos'
},
storageMapViewer: {
lastModified: 'Última modificación hace {lastUpdated}',
back: 'Atrás'
},
overwriteMap: {
title: 'Guardando el mapa...',
alreadyExists: 'ja existe en {mapSaved}. Lo quieres sobreescrivir?'
},
loadStorageMap: {
back: 'Atrás',
goToPage: 'Ves a la página {displayName} de Kepler.gl',
storageMaps: 'Almancenage / Mapas',
noSavedMaps: 'No hay ningún mapa guardado todavía'
}
},
header: {
visibleLayers: 'Capas visibles',
layerLegend: 'Capa de leyenda'
},
interactions: {
tooltip: 'Sugerencias',
brush: 'Pincel',
coordinate: 'Coordenadas',
geocoder: 'Geocodificador'
},
layerBlending: {
title: 'Combinación de capas',
additive: 'aditiva',
normal: 'normal',
subtractive: 'substractiva'
},
columns: {
title: 'Columnas',
lat: 'lat',
lng: 'lon',
altitude: 'altura',
icon: 'ícono',
geojson: 'geojson',
arc: {
lat0: 'lat origen',
lng0: 'lng origen ',
lat1: 'lat destino',
lng1: 'lng destino'
},
line: {
alt0: 'altura origen',
alt1: 'altura destino'
},
grid: {
worldUnitSize: 'Tamaño de la malla (km)'
},
hexagon: {
worldUnitSize: 'Radio de hexágono (km)'
},
hex_id: 'id hex'
},
color: {
customPalette: 'Paleta personalizada',
steps: 'pasos',
type: 'tipo',
reversed: 'invertida'
},
scale: {
colorScale: 'Escala de color',
sizeScale: 'Escala de medidas',
strokeScale: 'Escala de trazo',
scale: 'Escala'
},
fileUploader: {
message: 'Arrastra y suelta el archivo aquí',
chromeMessage: '*usuario de Chrome: la medida máxima son 250mb, si debes cargar un archivo más grande utiliza Safari',
disclaimer: '*kepler.gl es una aplicación al lado cliente que no utiliza ningún servidor. Los datos sólo existen en tu máquina/navegador. ' + 'No se envian datos ni mapas a ningún servidor.',
configUploadMessage: 'Cargar {fileFormatNames} o un mapa guardado en **Json**. Más información sobre [**supported file formats**]',
browseFiles: 'navega por tus archivos',
uploading: 'Cargando',
fileNotSupported: 'El archivo {errorFiles} no es compatible.',
or: 'o'
},
geocoder: {
title: 'Introduce una dirección'
},
fieldSelector: {
clearAll: 'Quitar todos',
formatting: 'Formato'
},
compare: {
modeLabel: 'Modo Comparación',
typeLabel: 'Tipo de Comparación',
types: {
absolute: 'Absoluta',
relative: 'Relativa'
}
},
mapPopover: {
primary: 'Principal'
},
density: 'densidad',
'Bug Report': 'Informe de errores',
'User Guide': 'Guía de usuario',
Save: 'Guadar',
Share: 'Compartir'
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9jYWxlcyIsInJlcXVpcmUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsInByb3BlcnR5Iiwid2VpZ2h0IiwibGFiZWwiLCJmaWxsQ29sb3IiLCJjb2xvciIsImNvdmVyYWdlIiwic3Ryb2tlQ29sb3IiLCJyYWRpdXMiLCJvdXRsaW5lIiwic3Ryb2tlIiwiZGVuc2l0eSIsImhlaWdodCIsInN1bSIsInBvaW50Q291bnQiLCJwbGFjZWhvbGRlciIsInNlYXJjaCIsInNlbGVjdEZpZWxkIiwieUF4aXMiLCJzZWxlY3RUeXBlIiwic2VsZWN0VmFsdWUiLCJlbnRlclZhbHVlIiwiZW1wdHkiLCJtaXNjIiwiYnkiLCJ2YWx1ZXNJbiIsInZhbHVlRXF1YWxzIiwiZGF0YVNvdXJjZSIsImJydXNoUmFkaXVzIiwibWFwTGF5ZXJzIiwidGl0bGUiLCJyb2FkIiwiYm9yZGVyIiwiYnVpbGRpbmciLCJ3YXRlciIsImxhbmQiLCJiYWNrZ3JvdW5kIiwicGFuZWwiLCJ0ZXh0IiwibGFiZWxXaXRoSWQiLCJmb250U2l6ZSIsImZvbnRDb2xvciIsInRleHRBbmNob3IiLCJhbGlnbm1lbnQiLCJhZGRNb3JlTGFiZWwiLCJzaWRlYmFyIiwicGFuZWxzIiwibGF5ZXIiLCJpbnRlcmFjdGlvbiIsImJhc2VtYXAiLCJyZXF1aXJlZCIsInByb3BlcnR5QmFzZWRPbiIsInN0cm9rZVdpZHRoIiwiYmFzaWMiLCJ0cmFpbExlbmd0aCIsInRyYWlsTGVuZ3RoRGVzY3JpcHRpb24iLCJuZXdMYXllciIsImVsZXZhdGlvbkJ5RGVzY3JpcHRpb24iLCJjb2xvckJ5RGVzY3JpcHRpb24iLCJhZ2dyZWdhdGVCeSIsInR5cGUiLCJwb2ludCIsImFyYyIsImxpbmUiLCJncmlkIiwiaGV4YmluIiwicG9seWdvbiIsImdlb2pzb24iLCJjbHVzdGVyIiwiaWNvbiIsImhlYXRtYXAiLCJoZXhhZ29uIiwiaGV4YWdvbmlkIiwidHJpcCIsInMyIiwibGF5ZXJVcGRhdGVFcnJvciIsImxheWVyVmlzQ29uZmlncyIsImFuZ2xlIiwic3Ryb2tlV2lkdGhSYW5nZSIsImZpeGVkUmFkaXVzIiwiZml4ZWRSYWRpdXNEZXNjcmlwdGlvbiIsInJhZGl1c1JhbmdlIiwiY2x1c3RlclJhZGl1cyIsInJhZGl1c1JhbmdlUGl4ZWxzIiwiYmlsbGJvYXJkIiwiYmlsbGJvYXJkRGVzY3JpcHRpb24iLCJmYWRlVHJhaWwiLCJvcGFjaXR5IiwiY29sb3JSYW5nZSIsInN0cm9rZUNvbG9yUmFuZ2UiLCJ0YXJnZXRDb2xvciIsImNvbG9yQWdncmVnYXRpb24iLCJoZWlnaHRBZ2dyZWdhdGlvbiIsInJlc29sdXRpb25SYW5nZSIsInNpemVTY2FsZSIsIndvcmxkVW5pdFNpemUiLCJlbGV2YXRpb25TY2FsZSIsImVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3IiLCJlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yRGVzY3JpcHRpb24iLCJlbmFibGVIZWlnaHRab29tRmFjdG9yIiwiaGVpZ2h0U2NhbGUiLCJjb3ZlcmFnZVJhbmdlIiwiaGlnaFByZWNpc2lvblJlbmRlcmluZyIsImhpZ2hQcmVjaXNpb25SZW5kZXJpbmdEZXNjcmlwdGlvbiIsImhlaWdodERlc2NyaXB0aW9uIiwiZmlsbCIsImVuYWJsZVBvbHlnb25IZWlnaHQiLCJzaG93V2lyZWZyYW1lIiwid2VpZ2h0SW50ZW5zaXR5Iiwiem9vbVNjYWxlIiwiaGVpZ2h0UmFuZ2UiLCJoZWlnaHRNdWx0aXBsaWVyIiwiZml4ZWRIZWlnaHQiLCJmaXhlZEhlaWdodERlc2NyaXB0aW9uIiwibGF5ZXJNYW5hZ2VyIiwiYWRkRGF0YSIsImFkZExheWVyIiwibGF5ZXJCbGVuZGluZyIsIm1hcE1hbmFnZXIiLCJtYXBTdHlsZSIsImFkZE1hcFN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwibGF5ZXJDb25maWd1cmF0aW9uIiwiZGVmYXVsdERlc2NyaXB0aW9uIiwiaG93VG8iLCJmaWx0ZXJNYW5hZ2VyIiwiYWRkRmlsdGVyIiwiZGF0YXNldFRpdGxlIiwic2hvd0RhdGFUYWJsZSIsInJlbW92ZURhdGFzZXQiLCJkYXRhc2V0SW5mbyIsInJvd0NvdW50IiwidG9vbHRpcCIsImhpZGVMYXllciIsInNob3dMYXllciIsImhpZGVGZWF0dXJlIiwic2hvd0ZlYXR1cmUiLCJoaWRlIiwic2hvdyIsInJlbW92ZUxheWVyIiwicmVzZXRBZnRlckVycm9yIiwibGF5ZXJTZXR0aW5ncyIsImNsb3NlUGFuZWwiLCJzd2l0Y2hUb0R1YWxWaWV3Iiwic2hvd0xlZ2VuZCIsImRpc2FibGUzRE1hcCIsIkRyYXdPbk1hcCIsInNlbGVjdExvY2FsZSIsInNob3dBaUFzc2lzdGFudFBhbmVsIiwiaGlkZUFpQXNzaXN0YW50UGFuZWwiLCJoaWRlTGF5ZXJQYW5lbCIsInNob3dMYXllclBhbmVsIiwibW92ZVRvVG9wIiwic2VsZWN0QmFzZU1hcFN0eWxlIiwidGltZVBsYXliYWNrIiwiY2xvdWRTdG9yYWdlIiwiYW5pbWF0aW9uQnlXaW5kb3ciLCJhbmltYXRpb25CeUluY3JlbWVudGFsIiwic3BlZWQiLCJwbGF5IiwicGF1c2UiLCJyZXNldCIsInRvb2xiYXIiLCJleHBvcnRJbWFnZSIsImV4cG9ydERhdGEiLCJleHBvcnRNYXAiLCJzaGFyZU1hcFVSTCIsInNhdmVNYXAiLCJzZWxlY3QiLCJyZWN0YW5nbGUiLCJMT0NBTEVTIiwibW9kYWwiLCJkZWxldGVEYXRhc2V0IiwiYWRkRGF0YVRvTWFwIiwiYWRkQ3VzdG9tTWFwYm94U3R5bGUiLCJzaGFyZVVSTCIsImJ1dHRvbiIsImRvd25sb2FkIiwiYWRkU3R5bGUiLCJzYXZlIiwiZGVmYXVsdENhbmNlbCIsImRlZmF1bHRDb25maXJtIiwicmF0aW9UaXRsZSIsInJhdGlvRGVzY3JpcHRpb24iLCJyYXRpb09yaWdpbmFsU2NyZWVuIiwicmF0aW9DdXN0b20iLCJyYXRpbzRfMyIsInJhdGlvMTZfOSIsInJlc29sdXRpb25UaXRsZSIsInJlc29sdXRpb25EZXNjcmlwdGlvbiIsIm1hcExlZ2VuZFRpdGxlIiwibWFwTGVnZW5kQWRkIiwiZGF0YXNldFN1YnRpdGxlIiwiYWxsRGF0YXNldHMiLCJkYXRhVHlwZVRpdGxlIiwiZGF0YVR5cGVTdWJ0aXRsZSIsImZpbHRlckRhdGFUaXRsZSIsImZpbHRlckRhdGFTdWJ0aXRsZSIsImZpbHRlcmVkRGF0YSIsInVuZmlsdGVyZWREYXRhIiwiZmlsZUNvdW50IiwiZGVsZXRlRGF0YSIsIndhcm5pbmciLCJwdWJsaXNoVGl0bGUiLCJwdWJsaXNoU3VidGl0bGUxIiwicHVibGlzaFN1YnRpdGxlMiIsInB1Ymxpc2hTdWJ0aXRsZTMiLCJwdWJsaXNoU3VidGl0bGU0IiwicHVibGlzaFN1YnRpdGxlNSIsInB1Ymxpc2hTdWJ0aXRsZTYiLCJwdWJsaXNoU3VidGl0bGU3IiwiZXhhbXBsZVRva2VuIiwicGFzdGVUaXRsZSIsInBhc3RlU3VidGl0bGUxIiwicGFzdGVTdWJ0aXRsZTIiLCJuYW1pbmdUaXRsZSIsInNoYXJlTWFwIiwic2hhcmVVcmlUaXRsZSIsInNoYXJlVXJpU3VidGl0bGUiLCJjbG91ZFRpdGxlIiwiY2xvdWRTdWJ0aXRsZSIsInNoYXJlRGlzY2xhaW1lciIsImdvdG9QYWdlIiwic3RhdHVzUGFuZWwiLCJtYXBVcGxvYWRpbmciLCJlcnJvciIsInN1YnRpdGxlIiwiZm9ybWF0VGl0bGUiLCJmb3JtYXRTdWJ0aXRsZSIsImh0bWwiLCJzZWxlY3Rpb24iLCJ0b2tlblRpdGxlIiwidG9rZW5TdWJ0aXRsZSIsInRva2VuUGxhY2Vob2xkZXIiLCJ0b2tlbk1pc3VzZVdhcm5pbmciLCJ0b2tlbkRpc2NsYWltZXIiLCJ0b2tlblVwZGF0ZSIsIm1vZGVUaXRsZSIsIm1vZGVTdWJ0aXRsZTEiLCJtb2RlU3VidGl0bGUyIiwibW9kZURlc2NyaXB0aW9uIiwicmVhZCIsImVkaXQiLCJqc29uIiwiY29uZmlnVGl0bGUiLCJjb25maWdEaXNjbGFpbWVyIiwiZGlzY2xhaW1lciIsImxvYWRpbmdEaWFsb2ciLCJsb2FkaW5nIiwibG9hZERhdGEiLCJ1cGxvYWQiLCJzdG9yYWdlIiwidHJpcEluZm8iLCJkZXNjcmlwdGlvbjEiLCJjb2RlIiwiZGVzY3JpcHRpb24yIiwiZXhhbXBsZSIsImljb25JbmZvIiwiaWNvbnMiLCJzdG9yYWdlTWFwVmlld2VyIiwibGFzdE1vZGlmaWVkIiwiYmFjayIsIm92ZXJ3cml0ZU1hcCIsImFscmVhZHlFeGlzdHMiLCJsb2FkU3RvcmFnZU1hcCIsImdvVG9QYWdlIiwic3RvcmFnZU1hcHMiLCJub1NhdmVkTWFwcyIsImhlYWRlciIsInZpc2libGVMYXllcnMiLCJsYXllckxlZ2VuZCIsImludGVyYWN0aW9ucyIsImJydXNoIiwiY29vcmRpbmF0ZSIsImdlb2NvZGVyIiwiYWRkaXRpdmUiLCJub3JtYWwiLCJzdWJ0cmFjdGl2ZSIsImNvbHVtbnMiLCJsYXQiLCJsbmciLCJhbHRpdHVkZSIsImxhdDAiLCJsbmcwIiwibGF0MSIsImxuZzEiLCJhbHQwIiwiYWx0MSIsImhleF9pZCIsImN1c3RvbVBhbGV0dGUiLCJzdGVwcyIsInJldmVyc2VkIiwic2NhbGUiLCJjb2xvclNjYWxlIiwic3Ryb2tlU2NhbGUiLCJmaWxlVXBsb2FkZXIiLCJtZXNzYWdlIiwiY2hyb21lTWVzc2FnZSIsImNvbmZpZ1VwbG9hZE1lc3NhZ2UiLCJicm93c2VGaWxlcyIsInVwbG9hZGluZyIsImZpbGVOb3RTdXBwb3J0ZWQiLCJvciIsImZpZWxkU2VsZWN0b3IiLCJjbGVhckFsbCIsImZvcm1hdHRpbmciLCJjb21wYXJlIiwibW9kZUxhYmVsIiwidHlwZUxhYmVsIiwidHlwZXMiLCJhYnNvbHV0ZSIsInJlbGF0aXZlIiwibWFwUG9wb3ZlciIsInByaW1hcnkiLCJTYXZlIiwiU2hhcmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJhbnNsYXRpb25zL2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7TE9DQUxFU30gZnJvbSAnLi4vbG9jYWxlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcGVydHk6IHtcbiAgICB3ZWlnaHQ6ICdwZXNvJyxcbiAgICBsYWJlbDogJ2V0aXF1ZXRhJyxcbiAgICBmaWxsQ29sb3I6ICdjb2xvciBkZSByZWxsZW5vJyxcbiAgICBjb2xvcjogJ2NvbG9yJyxcbiAgICBjb3ZlcmFnZTogJ2NvYmVydHVyYScsXG4gICAgc3Ryb2tlQ29sb3I6ICdjb2xvciBkZSB0cmF6bycsXG4gICAgcmFkaXVzOiAncmFkaW8nLFxuICAgIG91dGxpbmU6ICdjb250b3JubycsXG4gICAgc3Ryb2tlOiAndHJhem8nLFxuICAgIGRlbnNpdHk6ICdkZW5zaWRhZCcsXG4gICAgaGVpZ2h0OiAnYWx0dXJhJyxcbiAgICBzdW06ICdzdW1hJyxcbiAgICBwb2ludENvdW50OiAnUmVjdWVudG8gZGUgcHVudG9zJ1xuICB9LFxuICBwbGFjZWhvbGRlcjoge1xuICAgIHNlYXJjaDogJ0J1c3F1ZWRhJyxcbiAgICBzZWxlY3RGaWVsZDogJ1NlbGVjY2lvbmEgdW4gY2FtcG8nLFxuICAgIHlBeGlzOiAnRWplIFknLFxuICAgIHNlbGVjdFR5cGU6ICdTZWxlY2Npb25hIHVuIFRpcG8nLFxuICAgIHNlbGVjdFZhbHVlOiAnU2VsZWNjaW9uYSB1biBWYWxvcicsXG4gICAgZW50ZXJWYWx1ZTogJ0VudHJhIHVuIHZhbG9yJyxcbiAgICBlbXB0eTogJ3ZhY2lvJ1xuICB9LFxuICBtaXNjOiB7XG4gICAgYnk6ICcnLFxuICAgIHZhbHVlc0luOiAnVmFsb3JlcyBlbicsXG4gICAgdmFsdWVFcXVhbHM6ICdWYWxvciBpZ3VhbCBhJyxcbiAgICBkYXRhU291cmNlOiAnRnVlbnRlIGRlIGRhdG9zJyxcbiAgICBicnVzaFJhZGl1czogJ1JhZGlvIGRlbCBwaW5jZWwgKGttKScsXG4gICAgZW1wdHk6ICcgJ1xuICB9LFxuICBtYXBMYXllcnM6IHtcbiAgICB0aXRsZTogJ0NhcGFzIGRlbCBtYXBhJyxcbiAgICBsYWJlbDogJ0V0aXF1ZXRhJyxcbiAgICByb2FkOiAnQ2FycmV0ZXJhJyxcbiAgICBib3JkZXI6ICdGcm9udGVyYScsXG4gICAgYnVpbGRpbmc6ICdFZGlmaWNpbycsXG4gICAgd2F0ZXI6ICdBZ3VhJyxcbiAgICBsYW5kOiAnVGllcnJhJyxcbiAgICAnM2RCdWlsZGluZyc6ICdFZGlmaWNpbyAzRCcsXG4gICAgYmFja2dyb3VuZDogJ0ZvbmRvJ1xuICB9LFxuICBwYW5lbDoge1xuICAgIHRleHQ6IHtcbiAgICAgIGxhYmVsOiAnZXRpcXVldGEnLFxuICAgICAgbGFiZWxXaXRoSWQ6ICdFdGlxdWV0YSB7bGFiZWxJZH0nLFxuICAgICAgZm9udFNpemU6ICdUYW1hw7FvIGRlIGZ1ZW50ZScsXG4gICAgICBmb250Q29sb3I6ICdDb2xvciBkZSBmdWVudGUnLFxuICAgICAgdGV4dEFuY2hvcjogJ0FuY2xhamUgZGVsIHRleHRvJyxcbiAgICAgIGFsaWdubWVudDogJ0FsaW5lYWNpw7NuJyxcbiAgICAgIGFkZE1vcmVMYWJlbDogJ0HDsWFkaXIgbcOhcyBldGlxdWV0YXMnXG4gICAgfVxuICB9LFxuICBzaWRlYmFyOiB7XG4gICAgcGFuZWxzOiB7XG4gICAgICBsYXllcjogJ0NhcGFzJyxcbiAgICAgIGZpbHRlcjogJ0ZpbHRyb3MnLFxuICAgICAgaW50ZXJhY3Rpb246ICdJbnRlcmFjY2lvbmVzJyxcbiAgICAgIGJhc2VtYXA6ICdNYXBhIGJhc2UnXG4gICAgfVxuICB9LFxuICBsYXllcjoge1xuICAgIHJlcXVpcmVkOiAnUmVxdWVyaWRvKicsXG4gICAgcmFkaXVzOiAnUmFkaW8nLFxuICAgIGNvbG9yOiAnQ29sb3InLFxuICAgIGZpbGxDb2xvcjogJ0NvbG9yIGRlIHJlbGxlbm8nLFxuICAgIG91dGxpbmU6ICdDb250b3JubycsXG4gICAgd2VpZ2h0OiAnR3J1ZXNvJyxcbiAgICBwcm9wZXJ0eUJhc2VkT246ICd7cHJvcGVydHl9IGJhc2FkbyBlbicsXG4gICAgY292ZXJhZ2U6ICdDb2JlcnR1cmEnLFxuICAgIHN0cm9rZTogJ1RyYXpvJyxcbiAgICBzdHJva2VXaWR0aDogJ0dyb3NvciBkZSB0cmF6bycsXG4gICAgc3Ryb2tlQ29sb3I6ICdDb2xvciBkZSB0cmF6bycsXG4gICAgYmFzaWM6ICdCw6FzaWNvJyxcbiAgICB0cmFpbExlbmd0aDogJ0xvbmdpdHVkIGRlIHBpc3RhJyxcbiAgICB0cmFpbExlbmd0aERlc2NyaXB0aW9uOiAnTnVtZXJvIGRlIHNlZ3VuZG9zIGhhc3RhIHF1ZSBkZXNhcGFyZXpjYSBlbCBjYW1pbm8nLFxuICAgIG5ld0xheWVyOiAnbnVldmEgY2FwYScsXG4gICAgZWxldmF0aW9uQnlEZXNjcmlwdGlvbjogJ1NpIGRlc2FjdGl2YWRvLCBsYSBhbHR1cmEgc2UgYmFzYSBlbiBlbCByZWN1ZW50byBkZSBwdW50b3MnLFxuICAgIGNvbG9yQnlEZXNjcmlwdGlvbjogJ1NpIGRlc2FjdGl2YWRvLCBlbCBjb2xvciBzZSBiYXNhIGVuIGVsIHJlY3VlbnRvIGRlIHB1bnRvcycsXG4gICAgYWdncmVnYXRlQnk6ICd7ZmllbGR9IGFncmVnYWRvIHBvcicsXG4gICAgJzNETW9kZWwnOiAnTW9kZWxvIDNEJyxcbiAgICAnM0RNb2RlbE9wdGlvbnMnOiAnT3BjaW9uZXMgZGVsIG1vZGVsbyAzRCcsXG4gICAgdHlwZToge1xuICAgICAgcG9pbnQ6ICdwdW50bycsXG4gICAgICBhcmM6ICdhcmNvJyxcbiAgICAgIGxpbmU6ICdsw61uZWEnLFxuICAgICAgZ3JpZDogJ21hbGxhJyxcbiAgICAgIGhleGJpbjogJ2hleGJpbicsXG4gICAgICBwb2x5Z29uOiAncG9sw61nb25vJyxcbiAgICAgIGdlb2pzb246ICdnZW9qc29uJyxcbiAgICAgIGNsdXN0ZXI6ICdjbHVzdGVyJyxcbiAgICAgIGljb246ICdpY29ubycsXG4gICAgICBoZWF0bWFwOiAnY29uY2VudHJhY2nDs24nLFxuICAgICAgaGV4YWdvbjogJ2hleMOhZ29ubycsXG4gICAgICBoZXhhZ29uaWQ6ICdIMycsXG4gICAgICB0cmlwOiAndmlhamUnLFxuICAgICAgczI6ICdTMicsXG4gICAgICAnM2QnOiAnM0QnXG4gICAgfSxcbiAgICBsYXllclVwZGF0ZUVycm9yOlxuICAgICAgJ1NlIHByb2R1am8gdW4gZXJyb3IgZHVyYW50ZSBsYSBhY3R1YWxpemFjacOzbiBkZSBsYSBjYXBhOiB7ZXJyb3JNZXNzYWdlfS4gQXNlZ8O6cmVzZSBkZSBxdWUgZWwgZm9ybWF0byBkZSBsb3MgZGF0b3MgZGUgZW50cmFkYSBzZWEgdsOhbGlkby4nXG4gIH0sXG4gIGxheWVyVmlzQ29uZmlnczoge1xuICAgIGFuZ2xlOiAnw4FuZ3VsbycsXG4gICAgc3Ryb2tlV2lkdGg6ICdBbmNobyBkZWwgdHJhem8nLFxuICAgIHN0cm9rZVdpZHRoUmFuZ2U6ICdSYW5nbyBkZWwgYW5jaG8gZGVsIHRyYXpvJyxcbiAgICByYWRpdXM6ICdSYWRpbycsXG4gICAgZml4ZWRSYWRpdXM6ICdSYWRpbyBmaWpvIGEgbWVkaXInLFxuICAgIGZpeGVkUmFkaXVzRGVzY3JpcHRpb246ICdBanVzdGFyIGVsIHJhZGlvIGFsIHJhZGlvIGFic29sdXRvIGVuIG1ldHJvcywgcC5lLiA1IGEgNSBtZXRyb3MnLFxuICAgIHJhZGl1c1JhbmdlOiAnUmFuZ28gZGUgcmFkaW8nLFxuICAgIGNsdXN0ZXJSYWRpdXM6ICdSYWRpbyBkZWwgY2x1c3RlciBlbiBww614ZWxlcycsXG4gICAgcmFkaXVzUmFuZ2VQaXhlbHM6ICdSYW5nbyBkZWwgcmFkaW8gZW4gcMOteGVsZXMnLFxuICAgIGJpbGxib2FyZDogJ01vZG8gY2FydGVsZXJhJyxcbiAgICBiaWxsYm9hcmREZXNjcmlwdGlvbjogJ09yaWVudGUgbGEgZ2VvbWV0csOtYSBoYWNpYSBsYSBjw6FtYXJhJyxcbiAgICBmYWRlVHJhaWw6ICdTZW5kZXJvIGRlIGRlc3ZhbmVjaW1pZW50bycsXG4gICAgb3BhY2l0eTogJ09wYWNpZGFkJyxcbiAgICBjb3ZlcmFnZTogJ0NvYmVydHVyYScsXG4gICAgb3V0bGluZTogJ0NvbnRvcm5vJyxcbiAgICBjb2xvclJhbmdlOiAnUmFuZ28gZGUgY29sb3InLFxuICAgIHN0cm9rZTogJ1RyYXpvJyxcbiAgICBzdHJva2VDb2xvcjogJ0NvbG9yIGRlIHRyYXpvJyxcbiAgICBzdHJva2VDb2xvclJhbmdlOiAnUmFuZ28gZGUgY29sb3IgZGUgdHJhem8nLFxuICAgIHRhcmdldENvbG9yOiAnQ29sb3IgZGVzdGlubycsXG4gICAgY29sb3JBZ2dyZWdhdGlvbjogJ0FncmVnYWNpw7NuIGRlIGNvbG9yJyxcbiAgICBoZWlnaHRBZ2dyZWdhdGlvbjogJ0FncmVnYWNpw7NuIGRlIGxhIGFsdHVyYScsXG4gICAgcmVzb2x1dGlvblJhbmdlOiAnUmFuZ28gZGUgcmVzb2x1Y2nDs24nLFxuICAgIHNpemVTY2FsZTogJ01lZGlkYSBkZSBlc2NhbGEnLFxuICAgIHdvcmxkVW5pdFNpemU6ICdNZWRpZGEgZGUgbGEgdW5pZGFkIG11bmRpYWwnLFxuICAgIGVsZXZhdGlvblNjYWxlOiAnRXNjYWxhIGRlIGVsZXZhY2nDs24nLFxuICAgIGVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3I6ICdVc2FyIGZhY3RvciBkZSB6b29tIGRlIGVsZXZhY2nDs24nLFxuICAgIGVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3JEZXNjcmlwdGlvbjpcbiAgICAgICdBanVzdGUgbGEgYWx0dXJhIC8gZWxldmFjacOzbiBzZWfDum4gZWwgZmFjdG9yIGRlIHpvb20gYWN0dWFsJyxcbiAgICBlbmFibGVIZWlnaHRab29tRmFjdG9yOiAnVXNhciBmYWN0b3IgZGUgem9vbSBkZSBhbHR1cmEnLFxuICAgIGhlaWdodFNjYWxlOiAnRXNjYWxhIGRlIGFsdHVyYScsXG4gICAgY292ZXJhZ2VSYW5nZTogJ1JhbmdvIGRlIGNvYmVydHVyYScsXG4gICAgaGlnaFByZWNpc2lvblJlbmRlcmluZzogJ1JlcHJlc2VudGFjacOzbiBkZSBhbHRhIHByZWNpc2nDs24nLFxuICAgIGhpZ2hQcmVjaXNpb25SZW5kZXJpbmdEZXNjcmlwdGlvbjogJ0xhIHByZWNpc2nDs24gYWx0YSB0ZW5kcsOhIHVuIHJlbmRpbWllbnRvIG3DoXMgYmFqbycsXG4gICAgaGVpZ2h0OiAnQWx0dXJhJyxcbiAgICBoZWlnaHREZXNjcmlwdGlvbjpcbiAgICAgICdIYXogY2xpYyBlbiBlbCBib3TDs24gZGUgYXJyaWJhIGEgbGEgZGVyZWNoYSBkZWwgbWFwYSBwZXIgY2FtYmlhciBhIHZpc3RhIDNEJyxcbiAgICBmaWxsOiAnUmVsbGVuYXInLFxuICAgIGVuYWJsZVBvbHlnb25IZWlnaHQ6ICdBY3RpdmFyIGxhIGFsdHVyYSBkZWwgcG9sw61nb25vJyxcbiAgICBzaG93V2lyZWZyYW1lOiAnTXVlc3RyYSBlc3F1ZW3DoHRpY28nLFxuICAgIHdlaWdodEludGVuc2l0eTogJ0ludGVuc2lkYWQgZGUgcGVzbycsXG4gICAgem9vbVNjYWxlOiAnRXNjYWxhIGRlIHpvb20nLFxuICAgIGhlaWdodFJhbmdlOiAnUmFuZ28gZGUgYWx0dXJhcycsXG4gICAgaGVpZ2h0TXVsdGlwbGllcjogJ011bHRpcGxpY2Fkb3IgZGUgYWx0dXJhJyxcbiAgICBmaXhlZEhlaWdodDogJ0FsdHVyYSBmaWphJyxcbiAgICBmaXhlZEhlaWdodERlc2NyaXB0aW9uOiAnVXNhciBhbHR1cmEgc2luIG1vZGlmaWNhY2lvbmVzJ1xuICB9LFxuICBsYXllck1hbmFnZXI6IHtcbiAgICBhZGREYXRhOiAnQcOxYWRpciBkYXRvcycsXG4gICAgYWRkTGF5ZXI6ICdBw7FhZGlyIGNhcGEnLFxuICAgIGxheWVyQmxlbmRpbmc6ICdDb21iaW5hciBjYXBhcydcbiAgfSxcbiAgbWFwTWFuYWdlcjoge1xuICAgIG1hcFN0eWxlOiAnRXN0aWxvIGRlIG1hcGEnLFxuICAgIGFkZE1hcFN0eWxlOiAnQcOxYWRpciBlc3RpbG8gZGUgbWFwYScsXG4gICAgJzNkQnVpbGRpbmdDb2xvcic6ICdDb2xvciBlZGlmaWNpb3MgM0QnLFxuICAgIGJhY2tncm91bmRDb2xvcjogJ0NvbG9yIGRlIGZvbmRvJ1xuICB9LFxuICBsYXllckNvbmZpZ3VyYXRpb246IHtcbiAgICBkZWZhdWx0RGVzY3JpcHRpb246ICdDYWxjdWxhciB7cHJvcGVydHl9IHNlZ8O6biBlbCBjYW1wbyBzZWxlY2Npb25hZG8nLFxuICAgIGhvd1RvOiAnSG93IHRvJ1xuICB9LFxuICBmaWx0ZXJNYW5hZ2VyOiB7XG4gICAgYWRkRmlsdGVyOiAnQcOxYWRpciBmaWx0cm8nXG4gIH0sXG4gIGRhdGFzZXRUaXRsZToge1xuICAgIHNob3dEYXRhVGFibGU6ICdNb3N0YXIgbGEgdGFibGEgZGUgZGF0b3MnLFxuICAgIHJlbW92ZURhdGFzZXQ6ICdFbGltaW5hciBjb25qdW50byBkZSBkYXRvcydcbiAgfSxcbiAgZGF0YXNldEluZm86IHtcbiAgICByb3dDb3VudDogJ3tyb3dDb3VudH0gZmlsZXMnXG4gIH0sXG4gIHRvb2x0aXA6IHtcbiAgICBoaWRlTGF5ZXI6ICdPY3VsdGFyIGxhIGNhcGEnLFxuICAgIHNob3dMYXllcjogJ01vc3RyYXIgbGEgY2FwYScsXG4gICAgaGlkZUZlYXR1cmU6ICdPY3VsdGFyIGVsIG9iamV0bycsXG4gICAgc2hvd0ZlYXR1cmU6ICdNb3N0cmFyIGVsIG9iamV0bycsXG4gICAgaGlkZTogJ09jdWx0YXInLFxuICAgIHNob3c6ICdNb3N0cmFyJyxcbiAgICByZW1vdmVMYXllcjogJ0VsaW1pbmFyIGNhcGEnLFxuICAgIHJlc2V0QWZ0ZXJFcnJvcjogJ0ludGVudGUgaGFiaWxpdGFyIGxhIGNhcGEgZGVzcHXDqXMgZGUgdW4gZXJyb3InLFxuICAgIGxheWVyU2V0dGluZ3M6ICdDb25maWd1cmFjacOzbiBkZSBjYXBhJyxcbiAgICBjbG9zZVBhbmVsOiAnQ2VycmFyIGVsIHBhbmVsIGFjdHVhbCcsXG4gICAgc3dpdGNoVG9EdWFsVmlldzogJ0NhbWJpYXIgYSBsYSB2aXN0YSBkZSBtYXBhIGR1YWwnLFxuICAgIHNob3dMZWdlbmQ6ICdNb3N0cmFyIGxleWVuZGEnLFxuICAgIGRpc2FibGUzRE1hcDogJ0Rlc2FjdGl2YXIgbWFwYSAzRCcsXG4gICAgRHJhd09uTWFwOiAnRGlidWphciBlbiBlbCBtYXBhJyxcbiAgICBzZWxlY3RMb2NhbGU6ICdTZWxlY2Npb25hciBjb25maWd1cmFjacOzbiByZWdpb25hbCcsXG4gICAgc2hvd0FpQXNzaXN0YW50UGFuZWw6ICdNb3N0cmFyIGVsIHBhbmVsIGRlIEFJIEFzc2lzdGFudCcsXG4gICAgaGlkZUFpQXNzaXN0YW50UGFuZWw6ICdPY3VsdGFyIGVsIHBhbmVsIGRlIEFJIEFzc2lzdGFudCcsXG4gICAgaGlkZUxheWVyUGFuZWw6ICdPY3VsdGFyIGxhIHRhYmxhIGRlIGNhcGFzJyxcbiAgICBzaG93TGF5ZXJQYW5lbDogJ01vc3RyYXIgbGEgdGFibGEgIGRlIGNhcGFzJyxcbiAgICBtb3ZlVG9Ub3A6ICdEZXNwbGF6YXIgYXJyaWJhIGRlIGxhcyBjYXBhcyBkZSBkYXRvcycsXG4gICAgc2VsZWN0QmFzZU1hcFN0eWxlOiAnU2VsZWNjaW9uYXIgZXN0aWxvIGRlIG1hcGEgYmFzZScsXG4gICAgZGVsZXRlOiAnQm9ycmFyJyxcbiAgICB0aW1lUGxheWJhY2s6ICdSZXByb2R1Y2Npw7NuIGRlIHRpZW1wbycsXG4gICAgY2xvdWRTdG9yYWdlOiAnQWxtYWNlbmFqZSBlbiBsYSBudWJlJyxcbiAgICAnM0RNYXAnOiAnTWFwYSAzRCcsXG4gICAgYW5pbWF0aW9uQnlXaW5kb3c6ICdWZW50YW5hIFRlbXBvcmFsIE3Ds3ZpbCcsXG4gICAgYW5pbWF0aW9uQnlJbmNyZW1lbnRhbDogJ1ZlbnRhbmEgVGVtcG9yYWwgSW5jcmVtZW50YWwnLFxuICAgIHNwZWVkOiAndmVsb2NpZGFkJyxcbiAgICBwbGF5OiAnaW5pY2lhcicsXG4gICAgcGF1c2U6ICdwYXVzYXInLFxuICAgIHJlc2V0OiAncmVpbmljaWFyJ1xuICB9LFxuICB0b29sYmFyOiB7XG4gICAgZXhwb3J0SW1hZ2U6ICdFeHBvcnRhciBpbWFnZW4nLFxuICAgIGV4cG9ydERhdGE6ICdFeHBvcnRhciBkYXRvcycsXG4gICAgZXhwb3J0TWFwOiAnRXhwb3J0YXIgbWFwYScsXG4gICAgc2hhcmVNYXBVUkw6ICdDb21wYXJ0aXIgZWwgZW5sYWNlIGRlbCBtYXBhJyxcbiAgICBzYXZlTWFwOiAnR3VhcmRhciBtYXBhJyxcbiAgICBzZWxlY3Q6ICdzZWxlY2Npb25hJyxcbiAgICBwb2x5Z29uOiAncG9sw61nb25vJyxcbiAgICByZWN0YW5nbGU6ICdyZWN0w6FuZ3VsbycsXG4gICAgaGlkZTogJ2VzY29uZGVyJyxcbiAgICBzaG93OiAnbW9zdHJhcicsXG4gICAgLi4uTE9DQUxFU1xuICB9LFxuICBtb2RhbDoge1xuICAgIHRpdGxlOiB7XG4gICAgICBkZWxldGVEYXRhc2V0OiAnQm9ycmFyIGNvbmp1bnRvIGRlIGRhdG9zJyxcbiAgICAgIGFkZERhdGFUb01hcDogJ0HDsWFkaXIgZGF0b3MgYWwgbWFwYScsXG4gICAgICBleHBvcnRJbWFnZTogJ0V4cG9ydGFyIGltYWdlbicsXG4gICAgICBleHBvcnREYXRhOiAnRXhwb3J0YXIgZGF0b3MnLFxuICAgICAgZXhwb3J0TWFwOiAnRXhwb3J0YXIgbWFwYScsXG4gICAgICBhZGRDdXN0b21NYXBib3hTdHlsZTogJ0HDsWFkaXIgZXN0aWxvIGRlIE1hcGJveCBwcm9waW8nLFxuICAgICAgc2F2ZU1hcDogJ0d1YXJkYXIgbWFwYScsXG4gICAgICBzaGFyZVVSTDogJ0NvbXBhcnRpciBlbmxhY2UnXG4gICAgfSxcbiAgICBidXR0b246IHtcbiAgICAgIGRlbGV0ZTogJ0JvcnJhcicsXG4gICAgICBkb3dubG9hZDogJ0Rlc2NhcmdhcicsXG4gICAgICBleHBvcnQ6ICdFeHBvcnRhcicsXG4gICAgICBhZGRTdHlsZTogJ0HDsWFkaXIgZXN0aWxvJyxcbiAgICAgIHNhdmU6ICdHdWFyZGFyJyxcbiAgICAgIGRlZmF1bHRDYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgICBkZWZhdWx0Q29uZmlybTogJ0NvbmZpcm1hcidcbiAgICB9LFxuICAgIGV4cG9ydEltYWdlOiB7XG4gICAgICByYXRpb1RpdGxlOiAnUmF0aW8nLFxuICAgICAgcmF0aW9EZXNjcmlwdGlvbjogJ0Vzb2dlciByYXRpbyBwb3IgZGl2ZXJzb3MgdXNvcy4nLFxuICAgICAgcmF0aW9PcmlnaW5hbFNjcmVlbjogJ1BhbnRhbGxhIG9yaWdpbmFsJyxcbiAgICAgIHJhdGlvQ3VzdG9tOiAnUGVyc29uYWxpemFkbycsXG4gICAgICByYXRpbzRfMzogJzQ6MycsXG4gICAgICByYXRpbzE2Xzk6ICcxNjo5JyxcbiAgICAgIHJlc29sdXRpb25UaXRsZTogJ1Jlc29sdWNpw7NuJyxcbiAgICAgIHJlc29sdXRpb25EZXNjcmlwdGlvbjogJ1VuYSBhbHRhIHJlc29sdWNpw7NuIGVzIG1lam9yIHBhcmEgbGFzIGltcHJlc2lvbmVzLicsXG4gICAgICBtYXBMZWdlbmRUaXRsZTogJ0xleWVuZGEgZGVsIG1hcGEnLFxuICAgICAgbWFwTGVnZW5kQWRkOiAnQcOxYWRpciBsZXllbmRhIGFsIG1hcGEnXG4gICAgfSxcbiAgICBleHBvcnREYXRhOiB7XG4gICAgICBkYXRhc2V0VGl0bGU6ICdDb25qdW50byBkZSBkYXRvcycsXG4gICAgICBkYXRhc2V0U3VidGl0bGU6ICdFc2NvZ2VyIGxvcyBjb25qdW50b3MgZGUgZGF0b3MgYSBleHBvcnRhcicsXG4gICAgICBhbGxEYXRhc2V0czogJ1RvZG9zJyxcbiAgICAgIGRhdGFUeXBlVGl0bGU6ICdUaXBvIGRlIGRhdG9zJyxcbiAgICAgIGRhdGFUeXBlU3VidGl0bGU6ICdFc2NvZ2VyIGVsIHRpcG8gZGUgZGF0b3MgYSBleHBvcnRhcicsXG4gICAgICBmaWx0ZXJEYXRhVGl0bGU6ICdGaWx0cmFyIGRhdG9zJyxcbiAgICAgIGZpbHRlckRhdGFTdWJ0aXRsZTogJ1NlIHB1ZWRlIGVzY29nZXIgZXhwb3J0YXIgbG9zIGRhdG9zIG9yaWdpbmFsZXMgbyBmaWx0cmFkb3MnLFxuICAgICAgZmlsdGVyZWREYXRhOiAnRGF0b3MgZmlsdHJhZG9zJyxcbiAgICAgIHVuZmlsdGVyZWREYXRhOiAnRGF0b3Mgc2luIGZpbHRyYXInLFxuICAgICAgZmlsZUNvdW50OiAne2ZpbGVDb3VudH0gQXJjaGl2b3MnLFxuICAgICAgcm93Q291bnQ6ICd7cm93Q291bnR9IEZpbGVzJ1xuICAgIH0sXG4gICAgZGVsZXRlRGF0YToge1xuICAgICAgd2FybmluZzogJ2VzdMOhcyBhIHB1bnRvIGRlIGJvcnJhciBlc3RlIGNvbmp1bnRvIGRlIGRhdG9zLiBBZmVjdGFyw6EgYSB7bGVuZ3RofSBjYXBhcydcbiAgICB9LFxuICAgIGFkZFN0eWxlOiB7XG4gICAgICBwdWJsaXNoVGl0bGU6ICcxLiBQdWJsaWNhciB0dSBlc3RpbG8gZW4gTWFwYm94IG8gcHJvcG9yY2lvbmFyIGVsIHRva2VuIGRlIGFjY2VzbycsXG4gICAgICBwdWJsaXNoU3VidGl0bGUxOiAnUHVlZGVzIGNyZWFyIGVsIHR1IHByb3BpbyBlc3RpbG8gZGUgbWFwYSBlbicsXG4gICAgICBwdWJsaXNoU3VidGl0bGUyOiAneScsXG4gICAgICBwdWJsaXNoU3VidGl0bGUzOiAncHVibGljYXInLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNDogJ2xvLicsXG4gICAgICBwdWJsaXNoU3VidGl0bGU1OiAnUGFyYSB1dGlsaXphciB1biBlc3RpbG8gcHJpdmFkbywgZW5nYW5jaGEgdHUnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNjogJ3Rva2VuIGRlIGFjY2VzbycsXG4gICAgICBwdWJsaXNoU3VidGl0bGU3OlxuICAgICAgICAnYXF1w60uICprZXBsZXIuZ2wgZXMgdW5hIGFwbGljYWNpw7NuIGNsaWVudGUsIGxvcyBkYXRvcyBxdWVkYW4gZW4gdHUgbmF2ZWdhZG9yLi4nLFxuICAgICAgZXhhbXBsZVRva2VuOiAncC5lLiBway5hYmNkZWZnLnh4eHh4eCcsXG4gICAgICBwYXN0ZVRpdGxlOiAnMi4gRW5nYW5jaGEgZWwgZW5sYWNlIGRlbCBlc3RpbG8nLFxuICAgICAgcGFzdGVTdWJ0aXRsZTE6ICdRdcOpIGVzIHVuJyxcbiAgICAgIHBhc3RlU3VidGl0bGUyOiAnZW5sYWNlIGRlbCBlc3RpbG8nLFxuICAgICAgbmFtaW5nVGl0bGU6ICczLiBQb25lciBub21icmUgYSB0dSBlc3RpbG8nXG4gICAgfSxcbiAgICBzaGFyZU1hcDoge1xuICAgICAgc2hhcmVVcmlUaXRsZTogJ0NvbXBhcnRpciBlbCBlbmxhY2UgZGVsIG1hcGEnLFxuICAgICAgc2hhcmVVcmlTdWJ0aXRsZTogJ0dlbmVyYXIgdW4gZW5sYWNlIGRlbCBtYXBhIHBhcmEgY29tcGFydGlyIGNvbiBvdHJvcycsXG4gICAgICBjbG91ZFRpdGxlOiAnQWxtYWNlbmFnZSBlbiBsYSBudWJlJyxcbiAgICAgIGNsb3VkU3VidGl0bGU6ICdBY2NlZGVyIHkgY2FyZ2FyIGRhdG9zIGRlbCBtYXBhIGEgdHUgYWxtYWNlbmFnZSBhIGxhIG51YmUgcGVyc29uYWwnLFxuICAgICAgc2hhcmVEaXNjbGFpbWVyOlxuICAgICAgICAna2VwbGVyLmdsIGd1YXJkYXLDoSBsb3MgZGF0b3MgZGVsIG1hcGEgZW4gZWwgYWxtYWNlbmFnZSBkZSB0dSBudWJlIHBlcnNvbmFsLCBzw7NsbyBxdWllbiB0ZW5nYSBlbCBlbmxhY2UgcG9kcmEgYWNjZWRlciBhbCBtYXBhIHkgYSBsb3MgZGF0b3MgLiAnICtcbiAgICAgICAgJ1B1ZWRlcyBlZGl0YXIvYm9ycmFyIGVsIGFyY2hpdm8gZGUgZGF0b3MgZW4gdHUgY3VlbnRhIGVuIGxhIG51YmUgZW4gY3VhbHF1aWVyIG1vbWVudG8uJyxcbiAgICAgIGdvdG9QYWdlOiAnVmVzIGEgbGEgcMOhZ2luYSBkZSB7Y3VycmVudFByb3ZpZGVyfSBkZSBLZXBsZXIuZ2wnXG4gICAgfSxcbiAgICBzdGF0dXNQYW5lbDoge1xuICAgICAgbWFwVXBsb2FkaW5nOiAnQ2FyZ2FyIHVuIG1hcGEnLFxuICAgICAgZXJyb3I6ICdFcnJvcidcbiAgICB9LFxuICAgIHNhdmVNYXA6IHtcbiAgICAgIHRpdGxlOiAnQWxtYWNlbnRhZ2UgZW4gbGEgbnViZScsXG4gICAgICBzdWJ0aXRsZTogJ0FjY2VkZXIgcGFyYSBndWFyZGFyIGVsIG1hcGEgZW4gdGV1IGFsbWFjZW5hZ2UgZW4gbGEgbnViZSdcbiAgICB9LFxuICAgIGV4cG9ydE1hcDoge1xuICAgICAgZm9ybWF0VGl0bGU6ICdGb3JtYXRvIGRlIG1hcGEnLFxuICAgICAgZm9ybWF0U3VidGl0bGU6ICdFc2NvZ2VyIGVsIGZvcm1hdG8gYWwgcXVlIHNlIGRlc2VhIGV4cG9ydGFyIGVsIG1hcGEnLFxuICAgICAgaHRtbDoge1xuICAgICAgICBzZWxlY3Rpb246ICdFeHBvcnRhciB0dSBtYXBhIGNvbW8gdW4gYXJjaGl2byBIVE1MIGludGVyYWN0aXZvLicsXG4gICAgICAgIHRva2VuVGl0bGU6ICdUb2tlbiBkZSBhY2Nlc28gZGUgTWFwYm94JyxcbiAgICAgICAgdG9rZW5TdWJ0aXRsZTogJ1V0aWxpemFyIHR1IHRva2VuIGRlIGFjY2VzbyBhIE1hcGJveCBhbCBhcmNoaXZvIEhUTUwgKG9wY2lvbmFsKScsXG4gICAgICAgIHRva2VuUGxhY2Vob2xkZXI6ICdFbmdhbmNoYXIgdHUgdG9rZW4gZGUgYWNjZXNvIGEgTWFwYm94JyxcbiAgICAgICAgdG9rZW5NaXN1c2VXYXJuaW5nOlxuICAgICAgICAgICcqIFNpIG5vIHByb3BvcmNpb25hcyB0dSBwcm9waW8gdG9rZW4sIGVsIG1hcGEgcG9kcsOtYSBmYWxsYXIgZW4gY3VhbHF1aWVyIG1vbWVudG8gY3VhbmRvIHJlZW1wbGFjZW1vcyBudWVzdHJvIHRva2VuIHBhcmEgZXZpdGFyIGFidXNvcy4gJyxcbiAgICAgICAgdG9rZW5EaXNjbGFpbWVyOlxuICAgICAgICAgICdQdWVkZXMgY2FtYmlhciBlbCB0b2tlbiBkZSBNYXBib3ggcG9zdGVyaW9ybWVudGUgdXRpbGl6YW5kbyBlc3RhcyBpbnN0cnVjY2lvbmVzOiAnLFxuICAgICAgICB0b2tlblVwZGF0ZTogJ0NvbW8gYWN0dWFsaXR6YXIgdW4gdG9rZW4gcHJlZXhpc3RlbnRlLicsXG4gICAgICAgIG1vZGVUaXRsZTogJ01vZG8gbWFwYScsXG4gICAgICAgIG1vZGVTdWJ0aXRsZTE6ICdTZWxlY2Npb25hciBtb2RvIGFwcC4gTcOhcyAnLFxuICAgICAgICBtb2RlU3VidGl0bGUyOiAnaW5mb3JtYWNpw7NuJyxcbiAgICAgICAgbW9kZURlc2NyaXB0aW9uOiAnUGVybW1pdGUgYSBsb3MgdXN1YXJpb3Mge21vZG99IGVsIG1hcGEnLFxuICAgICAgICByZWFkOiAnbGVlcicsXG4gICAgICAgIGVkaXQ6ICdlZGl0YXInXG4gICAgICB9LFxuICAgICAganNvbjoge1xuICAgICAgICBjb25maWdUaXRsZTogJ0NvbmZpZ3VyYWNpw7NuIGRlbCBtYXBhJyxcbiAgICAgICAgY29uZmlnRGlzY2xhaW1lcjpcbiAgICAgICAgICAnTGEgY29uZmlndXJhY2nDs24gZGVsIG1hcGEgc2Vyw6EgaW5jbHVpZGEgZW4gZWwgYXJjaGl2byBKc29uLiBTaSB1dGlsaXR6YXMga2VwbGVyLmdsIGVuIHR1IHByb3BpYSBhcHAgcHVlZGVzIGNvcGlhciBlc3RhIGNvbmZpZ3VyYWNpw7NuIHkgcGFzYXJsYSBhICAnLFxuICAgICAgICBzZWxlY3Rpb246XG4gICAgICAgICAgJ0V4cG9ydGFyIGxvcyBkYXRvcyBkZWwgbWFwYSB5IGxhIGNvbmZpZ3VyYWNpw7NuIGVuIHVuIHNvbG8gYXJjaGl2byBKc29uLiBQb3N0ZXJpb3JtZW50ZSBwdWVkZXMgYWJyaXIgZXN0ZSBtaXNtbyBtYXBhIGNhcmdhbmRvIGVzdGUgbWlzbW8gYXJjaGl2byBhIGtlcGxlci5nbC4nLFxuICAgICAgICBkaXNjbGFpbWVyOlxuICAgICAgICAgICcqIExhIGNvbmZpZ3VyYWNpw7NuIGRlbCBtYXBhIHNlIGNvbWJpbmEgY29uIGxvcyBjb25qdW50b3MgZGUgZGF0b3MgY2FyZ2Fkb3MuIOKAmGRhdGFJZOKAmSBzZSB1dGlsaXphIHBhcmEgdmluY3VsYXIgY2FwYXMsIGZpbHRyb3MgeSBzdWdlcmVuY2lhcyBhIHVuIGNvbmp1bnRvIGRlIGRhdG9zIGVzcGVjw61maWNvLiAnICtcbiAgICAgICAgICAnQ3VhbmRvIHBhc2VzIGVzdGEgY29uZmlndXJhY2nDs24gYSBhZGREYXRhVG9NYXAsIGFzZWd1cmEgcXVlIGVsIGlkZW50aWZpY2Fkb3IgZGVsIGNvbmp1bnRvIGRlIGRhdG9zIGNvaW5jaWRhIGNvbiBsb3Mg4oCYZGF0YUlk4oCZIGRlIGVzdGEgY29uZmlndXJhY2nDs24uJ1xuICAgICAgfVxuICAgIH0sXG4gICAgbG9hZGluZ0RpYWxvZzoge1xuICAgICAgbG9hZGluZzogJ0NhcmdhbmRvLi4uJ1xuICAgIH0sXG4gICAgbG9hZERhdGE6IHtcbiAgICAgIHVwbG9hZDogJ0NhcmdhciBhcmNoaXZvcycsXG4gICAgICBzdG9yYWdlOiAnQ2FyZ2FyIGRlc2RlIGFsbWFjZW5hZ2UnXG4gICAgfSxcbiAgICB0cmlwSW5mbzoge1xuICAgICAgdGl0bGU6ICdDb21vIGhhYmlsaXRhciBsYSBhbmltYWNpw7NuIGRlIHZpYWplJyxcbiAgICAgIGRlc2NyaXB0aW9uMTpcbiAgICAgICAgJ1BhcmEgYW5pbWFyIGxhIHJ1dGEsIGxvcyBkYXRvcyBnZW9KU09OIGhhbiBkZSBjb250ZW5lciBgTGluZVN0cmluZ2AgZW4gc3UgZ2VvbWV0csOtYSB5IGxhcyBjb29yZGVuYWRhcyBkZSBMaW5lU3RyaW5nIGRlYmVuIHRlbmVyIDQgZWxlbWVudG9zIGVuIGxvcyBmb3JtYXRzIGRlICcsXG4gICAgICBjb2RlOiAnIFtsb25naXR1ZGUsIGxhdGl0dWRlLCBhbHRpdHVkZSwgdGltZXN0YW1wXSAnLFxuICAgICAgZGVzY3JpcHRpb24yOlxuICAgICAgICAneSBlbCDDumx0aW1vIGVsZW1lbnRvIGRlYmUgc2VyIGxhIG1hcmNhIGRlbCB0aWVtcG8uIExvcyBmb3JtYXRvcyB2w6FsaWRvcyBwYXJhIGxhIG1hcmNhIGRlIHRpZW1wbyBpbmNsdXllbiBVbml4IGVuIHNlZ3VuZG9zIGNvbW8gYDE1NjQxODQzNjNgIG8gZW4gbWlsaXNlZ3VuZG9zIGNvbW8gYDE1NjQxODQzNjMwMDBgLicsXG4gICAgICBleGFtcGxlOiAnRWplbXBsbzonXG4gICAgfSxcbiAgICBpY29uSW5mbzoge1xuICAgICAgdGl0bGU6ICdDb21vIGRpYnVqYXIgw61jb25vcycsXG4gICAgICBkZXNjcmlwdGlvbjE6XG4gICAgICAgICdFbiB0dSBDU1YgY3JlYSB1bmEgY29sdW1uYSB5IHBvbiBlbCBub21icmUgZGVsIMOtY29ubyBxdWUgcXVpZXJlcyBkaWJ1amFyLiBQdWVkZXMgZGVqYXIgbGEgY2VsZGEgdmFjw61hIGN1YW5kbyBubyBxdWllcmFzIHF1ZSBzZSBtdWVzdHJlIHBhcmEgY2llcnRvcyBwdW50b3MuIEN1YW5kbyBsYSBjb2x1bW5hIHNlIGxsYW1hJyxcbiAgICAgIGNvZGU6ICfDrWNvbm8nLFxuICAgICAgZGVzY3JpcHRpb24yOiAnIGtlcGxlci5nbCBhdXRvbcOhdGljYW1lbnRlIGNyZWFyw6EgdW5hIGNhcGEgZGUgw61jb25vLicsXG4gICAgICBleGFtcGxlOiAnRWplbXBsbzonLFxuICAgICAgaWNvbnM6ICdJY29ub3MnXG4gICAgfSxcbiAgICBzdG9yYWdlTWFwVmlld2VyOiB7XG4gICAgICBsYXN0TW9kaWZpZWQ6ICfDmmx0aW1hIG1vZGlmaWNhY2nDs24gaGFjZSB7bGFzdFVwZGF0ZWR9JyxcbiAgICAgIGJhY2s6ICdBdHLDoXMnXG4gICAgfSxcbiAgICBvdmVyd3JpdGVNYXA6IHtcbiAgICAgIHRpdGxlOiAnR3VhcmRhbmRvIGVsIG1hcGEuLi4nLFxuICAgICAgYWxyZWFkeUV4aXN0czogJ2phIGV4aXN0ZSBlbiB7bWFwU2F2ZWR9LiBMbyBxdWllcmVzIHNvYnJlZXNjcml2aXI/J1xuICAgIH0sXG4gICAgbG9hZFN0b3JhZ2VNYXA6IHtcbiAgICAgIGJhY2s6ICdBdHLDoXMnLFxuICAgICAgZ29Ub1BhZ2U6ICdWZXMgYSBsYSBww6FnaW5hIHtkaXNwbGF5TmFtZX0gZGUgS2VwbGVyLmdsJyxcbiAgICAgIHN0b3JhZ2VNYXBzOiAnQWxtYW5jZW5hZ2UgLyBNYXBhcycsXG4gICAgICBub1NhdmVkTWFwczogJ05vIGhheSBuaW5nw7puIG1hcGEgZ3VhcmRhZG8gdG9kYXbDrWEnXG4gICAgfVxuICB9LFxuICBoZWFkZXI6IHtcbiAgICB2aXNpYmxlTGF5ZXJzOiAnQ2FwYXMgdmlzaWJsZXMnLFxuICAgIGxheWVyTGVnZW5kOiAnQ2FwYSBkZSBsZXllbmRhJ1xuICB9LFxuICBpbnRlcmFjdGlvbnM6IHtcbiAgICB0b29sdGlwOiAnU3VnZXJlbmNpYXMnLFxuICAgIGJydXNoOiAnUGluY2VsJyxcbiAgICBjb29yZGluYXRlOiAnQ29vcmRlbmFkYXMnLFxuICAgIGdlb2NvZGVyOiAnR2VvY29kaWZpY2Fkb3InXG4gIH0sXG4gIGxheWVyQmxlbmRpbmc6IHtcbiAgICB0aXRsZTogJ0NvbWJpbmFjacOzbiBkZSBjYXBhcycsXG4gICAgYWRkaXRpdmU6ICdhZGl0aXZhJyxcbiAgICBub3JtYWw6ICdub3JtYWwnLFxuICAgIHN1YnRyYWN0aXZlOiAnc3Vic3RyYWN0aXZhJ1xuICB9LFxuICBjb2x1bW5zOiB7XG4gICAgdGl0bGU6ICdDb2x1bW5hcycsXG4gICAgbGF0OiAnbGF0JyxcbiAgICBsbmc6ICdsb24nLFxuICAgIGFsdGl0dWRlOiAnYWx0dXJhJyxcbiAgICBpY29uOiAnw61jb25vJyxcbiAgICBnZW9qc29uOiAnZ2VvanNvbicsXG4gICAgYXJjOiB7XG4gICAgICBsYXQwOiAnbGF0IG9yaWdlbicsXG4gICAgICBsbmcwOiAnbG5nIG9yaWdlbiAnLFxuICAgICAgbGF0MTogJ2xhdCBkZXN0aW5vJyxcbiAgICAgIGxuZzE6ICdsbmcgZGVzdGlubydcbiAgICB9LFxuICAgIGxpbmU6IHtcbiAgICAgIGFsdDA6ICdhbHR1cmEgb3JpZ2VuJyxcbiAgICAgIGFsdDE6ICdhbHR1cmEgZGVzdGlubydcbiAgICB9LFxuICAgIGdyaWQ6IHtcbiAgICAgIHdvcmxkVW5pdFNpemU6ICdUYW1hw7FvIGRlIGxhIG1hbGxhIChrbSknXG4gICAgfSxcbiAgICBoZXhhZ29uOiB7XG4gICAgICB3b3JsZFVuaXRTaXplOiAnUmFkaW8gZGUgaGV4w6Fnb25vIChrbSknXG4gICAgfSxcbiAgICBoZXhfaWQ6ICdpZCBoZXgnXG4gIH0sXG4gIGNvbG9yOiB7XG4gICAgY3VzdG9tUGFsZXR0ZTogJ1BhbGV0YSBwZXJzb25hbGl6YWRhJyxcbiAgICBzdGVwczogJ3Bhc29zJyxcbiAgICB0eXBlOiAndGlwbycsXG4gICAgcmV2ZXJzZWQ6ICdpbnZlcnRpZGEnXG4gIH0sXG4gIHNjYWxlOiB7XG4gICAgY29sb3JTY2FsZTogJ0VzY2FsYSBkZSBjb2xvcicsXG4gICAgc2l6ZVNjYWxlOiAnRXNjYWxhIGRlIG1lZGlkYXMnLFxuICAgIHN0cm9rZVNjYWxlOiAnRXNjYWxhIGRlIHRyYXpvJyxcbiAgICBzY2FsZTogJ0VzY2FsYSdcbiAgfSxcbiAgZmlsZVVwbG9hZGVyOiB7XG4gICAgbWVzc2FnZTogJ0FycmFzdHJhIHkgc3VlbHRhIGVsIGFyY2hpdm8gYXF1w60nLFxuICAgIGNocm9tZU1lc3NhZ2U6XG4gICAgICAnKnVzdWFyaW8gZGUgQ2hyb21lOiBsYSBtZWRpZGEgbcOheGltYSBzb24gMjUwbWIsIHNpIGRlYmVzIGNhcmdhciB1biBhcmNoaXZvIG3DoXMgZ3JhbmRlIHV0aWxpemEgU2FmYXJpJyxcbiAgICBkaXNjbGFpbWVyOlxuICAgICAgJyprZXBsZXIuZ2wgZXMgdW5hIGFwbGljYWNpw7NuIGFsIGxhZG8gY2xpZW50ZSBxdWUgbm8gdXRpbGl6YSBuaW5nw7puIHNlcnZpZG9yLiBMb3MgZGF0b3Mgc8OzbG8gZXhpc3RlbiBlbiB0dSBtw6FxdWluYS9uYXZlZ2Fkb3IuICcgK1xuICAgICAgJ05vIHNlIGVudmlhbiBkYXRvcyBuaSBtYXBhcyBhIG5pbmfDum4gc2Vydmlkb3IuJyxcbiAgICBjb25maWdVcGxvYWRNZXNzYWdlOlxuICAgICAgJ0NhcmdhciB7ZmlsZUZvcm1hdE5hbWVzfSBvIHVuIG1hcGEgZ3VhcmRhZG8gZW4gKipKc29uKiouIE3DoXMgaW5mb3JtYWNpw7NuIHNvYnJlIFsqKnN1cHBvcnRlZCBmaWxlIGZvcm1hdHMqKl0nLFxuICAgIGJyb3dzZUZpbGVzOiAnbmF2ZWdhIHBvciB0dXMgYXJjaGl2b3MnLFxuICAgIHVwbG9hZGluZzogJ0NhcmdhbmRvJyxcbiAgICBmaWxlTm90U3VwcG9ydGVkOiAnRWwgYXJjaGl2byB7ZXJyb3JGaWxlc30gbm8gZXMgY29tcGF0aWJsZS4nLFxuICAgIG9yOiAnbydcbiAgfSxcbiAgZ2VvY29kZXI6IHtcbiAgICB0aXRsZTogJ0ludHJvZHVjZSB1bmEgZGlyZWNjacOzbidcbiAgfSxcbiAgZmllbGRTZWxlY3Rvcjoge1xuICAgIGNsZWFyQWxsOiAnUXVpdGFyIHRvZG9zJyxcbiAgICBmb3JtYXR0aW5nOiAnRm9ybWF0bydcbiAgfSxcbiAgY29tcGFyZToge1xuICAgIG1vZGVMYWJlbDogJ01vZG8gQ29tcGFyYWNpw7NuJyxcbiAgICB0eXBlTGFiZWw6ICdUaXBvIGRlIENvbXBhcmFjacOzbicsXG4gICAgdHlwZXM6IHtcbiAgICAgIGFic29sdXRlOiAnQWJzb2x1dGEnLFxuICAgICAgcmVsYXRpdmU6ICdSZWxhdGl2YSdcbiAgICB9XG4gIH0sXG4gIG1hcFBvcG92ZXI6IHtcbiAgICBwcmltYXJ5OiAnUHJpbmNpcGFsJ1xuICB9LFxuICBkZW5zaXR5OiAnZGVuc2lkYWQnLFxuICAnQnVnIFJlcG9ydCc6ICdJbmZvcm1lIGRlIGVycm9yZXMnLFxuICAnVXNlciBHdWlkZSc6ICdHdcOtYSBkZSB1c3VhcmlvJyxcbiAgU2F2ZTogJ0d1YWRhcicsXG4gIFNoYXJlOiAnQ29tcGFydGlyJ1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFBbUMsU0FBQUMsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFB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