kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
430 lines (429 loc) • 54.9 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: 'painotus',
label: 'nimiö',
fillColor: 'täyttöväri',
color: 'väri',
strokeColor: 'viivan väri',
radius: 'säde',
outline: 'ääriviiva',
stroke: 'viiva',
density: 'tiheys',
coverage: 'kattavuus',
sum: 'summa',
pointCount: 'pisteiden lukumäärä'
},
placeholder: {
search: 'Etsi',
selectField: 'Valitse kenttä',
yAxis: 'Y-akseli',
selectType: 'Valitse tyyppi',
selectValue: 'Valitse arvo',
enterValue: 'Anna arvo',
empty: 'tyhjä'
},
misc: {
by: '',
valuesIn: 'Arvot joukossa:',
valueEquals: 'Arvo on yhtäsuuri kuin',
dataSource: 'Aineistolähde',
brushRadius: 'Harjan säde (km)',
empty: ' '
},
mapLayers: {
title: 'Kartan tasot',
label: 'Nimiöt',
road: 'Tiet',
border: 'Rajat',
building: 'Rakennukset',
water: 'Vesi',
land: 'Maa',
'3dBuilding': '3d-rakennukset',
background: 'Tausta'
},
panel: {
text: {
label: 'Nimiö',
labelWithId: 'Nimiö {labelId}',
fontSize: 'Fontin koko',
fontColor: 'Fontin väri',
textAnchor: 'Tekstin ankkuri',
alignment: 'Sijoittelu',
addMoreLabel: 'Lisää uusia nimiöitä'
}
},
sidebar: {
panels: {
layer: 'Tasot',
filter: 'Suodattimet',
interaction: 'Interaktiot',
basemap: 'Taustakartta'
}
},
layer: {
required: 'Pakollinen*',
radius: 'Säde',
weight: 'Painotus',
propertyBasedOn: '{property} perustuen arvoon',
color: 'Väri',
fillColor: 'Täytön väri',
outline: 'ääriviiva',
coverage: 'Kattavuus',
stroke: 'Viiva',
strokeWidth: 'Viivan paksuus',
strokeColor: 'Viivan väri',
basic: 'Perus',
trailLength: 'Jäljen pituus',
trailLengthDescription: 'Jäljen kesto sekunteina, ennenkuin se himmenee näkyvistä',
newLayer: 'uusi taso',
elevationByDescription: 'Kun asetus on pois päältä, korkeus perustuu pisteiden määrään',
colorByDescription: 'Kun asetus on pois päältä, väri perustuu pisteiden määrään',
aggregateBy: 'Aggregoi kenttä {field} by',
'3DModel': '3D-malli',
'3DModelOptions': '3D-mallin asetukset',
type: {
point: 'piste',
arc: 'kaari',
line: 'viiva',
grid: 'ruudukko',
hexbin: 'hexbin',
polygon: 'polygoni',
geojson: 'geojson',
cluster: 'klusteri',
icon: 'kuva',
heatmap: 'lämpökartta',
hexagon: 'kuusikulmio',
hexagonid: 'H3',
trip: 'matka',
s2: 'S2',
'3d': '3D'
},
layerUpdateError: 'Tason päivityksen aikana tapahtui virhe: {errorMessage}. Varmista, että syötetietojen muoto on kelvollinen.'
},
layerVisConfigs: {
strokeWidth: 'Viivan paksuus',
strokeWidthRange: 'Viivan paksuuden rajat',
radius: 'Säde',
fixedRadius: 'Vakiosäde metreinä',
fixedRadiusDescription: 'Kartan säde absoluuttiseksi säteeksi metreinä, esim. 5 -> 5 metriin',
radiusRange: 'Säteen rajat',
clusterRadius: 'Klusterien säde pikseleinä',
radiusRangePixels: 'Säteen rajat pikseleinä',
billboard: 'Billboard -tila',
billboardDescription: 'Suuntaa geometria kameraa kohti',
fadeTrail: 'Häipyvä polku',
opacity: 'Läpinäkyvyys',
coverage: 'Kattavuus',
outline: 'Ääriviiva',
colorRange: 'Värien rajat',
stroke: 'Viiva',
strokeColor: 'Viivan väri',
strokeColorRange: 'Viivan värin rajat',
targetColor: 'Kohteen väri',
colorAggregation: 'Värien aggregointi',
heightAggregation: 'Korkeuden aggregointi',
resolutionRange: 'Resoluution rajat',
sizeScale: 'Koon skaala',
worldUnitSize: 'Yksikkö',
elevationScale: 'Korottamisen skaala',
enableElevationZoomFactor: 'Käytä korkeuden zoomauskerrointa',
enableElevationZoomFactorDescription: 'Säädä korkeus / korkeus nykyisen zoomauskertoimen perusteella',
enableHeightZoomFactor: 'Käytä korkeuden zoomauskerrointa',
heightScale: 'Korkeuden skaala',
coverageRange: 'Peittävyyden rajat',
highPrecisionRendering: 'Tarkka renderöinti',
highPrecisionRenderingDescription: 'Tarkka renderöinti johtaa hitaampaan suorittamiseen',
height: 'Korkeus',
heightDescription: 'Klikkaa oikeasta ylänurkasta nappia vaihtaaksesi 3D-näkymään',
fill: 'Täyttö',
enablePolygonHeight: 'Salli polygonien korkeus',
showWireframe: 'Näytä rautalankamalli',
weightIntensity: 'Painotuksen intensiteetti',
zoomScale: 'Zoomausskaala',
heightRange: 'Korkeuden rajat',
heightMultiplier: 'Korkeuskerroin',
fixedHeight: 'Kiinteä korkeus',
fixedHeightDescription: 'Käytä korkeutta ilman muutoksia'
},
layerManager: {
addData: 'Lisää aineisto',
addLayer: 'Lisää taso',
layerBlending: 'Tasojen sekoittuvuus'
},
mapManager: {
mapStyle: 'Kartan tyyli',
addMapStyle: 'Lisää tyyli kartalle',
'3dBuildingColor': '3D-rakennusten väri',
backgroundColor: 'Taustaväri'
},
layerConfiguration: {
defaultDescription: 'Laske suureen {property} arvo valitun kentän perusteella',
howTo: 'Miten toimii'
},
filterManager: {
addFilter: 'Lisää suodatin'
},
datasetTitle: {
showDataTable: 'Näytä attribuuttitaulu',
removeDataset: 'Poista aineisto'
},
datasetInfo: {
rowCount: '{rowCount} riviä'
},
tooltip: {
hideLayer: 'Piilota taso',
showLayer: 'Näytä taso',
hideFeature: 'Piilota kohde',
showFeature: 'Näytä kohde',
hide: 'piilota',
show: 'näytä',
removeLayer: 'Poista taso',
resetAfterError: 'Yritä ottaa taso käyttöön virheen jälkeen',
layerSettings: 'Tason asetukset',
closePanel: 'Sulje paneeli',
switchToDualView: 'Vaihda kaksoiskarrtanäkymään',
showLegend: 'Näytä selite',
disable3DMap: 'Poistu 3D-näkymästä',
DrawOnMap: 'Piirrä kartalle',
selectLocale: 'Valitse kielisyys',
hideLayerPanel: 'Piilota tasopaneeli',
showLayerPanel: 'Näytä tasopaneeli',
moveToTop: 'Siirrä tasojen päällimmäiseksi',
selectBaseMapStyle: 'Valitse taustakarttatyyli',
"delete": 'Poista',
timePlayback: 'Ajan animointi',
cloudStorage: 'Pilvitallennus',
'3DMap': '3D-näkymä'
},
toolbar: _objectSpread({
exportImage: 'Vie kuva',
exportData: 'Vie aineistot',
exportMap: 'Vie kartta',
shareMapURL: 'Jaa kartan URL',
saveMap: 'Tallenna kartta',
select: 'valitse',
polygon: 'polygoni',
rectangle: 'nelikulmio',
hide: 'piilota',
show: 'näytä'
}, _locales.LOCALES),
modal: {
title: {
deleteDataset: 'Poista aineisto',
addDataToMap: 'Lisää aineistoja kartalle',
exportImage: 'Vie kuva',
exportData: 'Vie aineistot',
exportMap: 'Vie kartta',
addCustomMapboxStyle: 'Lisää oma Mapbox-tyyli',
saveMap: 'Tallenna kartta',
shareURL: 'Jaa URL'
},
button: {
"delete": 'Poista',
download: 'Lataa',
"export": 'Vie',
addStyle: 'Lisää tyyli',
save: 'Tallenna',
defaultCancel: 'Peru',
defaultConfirm: 'Vahvista'
},
exportImage: {
ratioTitle: 'Kuvasuhde',
ratioDescription: 'Valitse sopiva kuvasuhde käyttötapaustasi varten.',
ratioOriginalScreen: 'Alkuperäinen näyttö',
ratioCustom: 'Kustomoitu',
ratio4_3: '4:3',
ratio16_9: '16:9',
resolutionTitle: 'Resoluutio',
resolutionDescription: 'Korkea resoluutio on parempi tulostamista varten.',
mapLegendTitle: 'Kartan selite',
mapLegendAdd: 'Lisää selite karttaan'
},
exportData: {
datasetTitle: 'Aineistot',
datasetSubtitle: 'Valitse aineisto, jonka aiot viedä',
allDatasets: 'Kaikki',
dataTypeTitle: 'Aineistojen formaatti',
dataTypeSubtitle: 'Valitse aineistoformaatti valitsemillesi aineistoille',
filterDataTitle: 'Suodata aineistoja',
filterDataSubtitle: 'Voit viedä joko alkuperäiset aineistot tai suodatetut aineistot',
filteredData: 'Suodatetut aineistot',
unfilteredData: 'Suodattamattomat aineistot',
fileCount: '{fileCount} tiedostoa',
rowCount: '{rowCount} riviä'
},
deleteData: {
warning: 'aiot poistaa tämän aineiston. Aineostoa käyttävien tasojen lukumäärä: {length}'
},
addStyle: {
publishTitle: '1. Julkaise tyylisi Mapboxissa tai anna tunniste',
publishSubtitle1: 'Voit luoda oman karttatyylisi sivulla',
publishSubtitle2: 'ja',
publishSubtitle3: 'julkaista',
publishSubtitle4: 'sen.',
publishSubtitle5: 'Käyttääksesi yksityistä tyyliä, liitä',
publishSubtitle6: 'tunnisteesi',
publishSubtitle7: 'tänne. *kepler.gl on client-side sovellus, data pysyy vain selaimessasi...',
exampleToken: 'esim. pk.abcdefg.xxxxxx',
pasteTitle: '2. Liitä tyyli-URL',
pasteSubtitle1: 'Mikä on',
pasteSubtitle2: 'tyyli-URL?',
namingTitle: '3. Nimeä tyylisi'
},
shareMap: {
shareUriTitle: 'Jaa kartan URL',
shareUriSubtitle: 'Luo kartalle URL, jonka voit jakaa muiden kanssa',
cloudTitle: 'Pilvitallennus',
cloudSubtitle: 'Kirjaudu sisään ja lataa kartta ja aineistot henkilökohtaiseen pilvipalveluun',
shareDisclaimer: 'kepler.gl tallentaa kartan datan henkilökohtaiseen pilvitallennustilaasi, vain ihmiset, joilla on URL, voivat päästä käsiksi karttaan ja aineistoihin. ' + 'Voit muokata tiedostoja tai poistaa ne pilvipalvelustasi milloin vain.',
gotoPage: 'Mene Kepler.gl {currentProvider} sivullesi'
},
statusPanel: {
mapUploading: 'Karttaa ladataan',
error: 'Virhe'
},
saveMap: {
title: 'Pilvitallennus',
subtitle: 'Kirjaudu sisään pilvipalveluusi tallentaaksesi kartan'
},
exportMap: {
formatTitle: 'Kartan formaatti',
formatSubtitle: 'Valitse formaatti, jossa viet kartan',
html: {
selection: 'Vie kartta interaktiivisena html-tiedostona',
tokenTitle: 'Mapbox-tunniste',
tokenSubtitle: 'Käytä omaa Mapbox-tunnistettasi html-tiedostossa (valinnainen)',
tokenPlaceholder: 'Liitä Mapbox-tunnisteesi',
tokenMisuseWarning: '* Jos et käytä omaa tunnistettasi, kartta voi lakata toimimasta milloin vain kun vaihdamme omaa tunnistettamme väärinkäytön estämiseksi. ',
tokenDisclaimer: 'Voit vaihtaa Mapbox-tunnisteesi näiden ohjeiden avulla: ',
tokenUpdate: 'Kuinka vaihtaa olemassaoleva Mapbox-tunniste',
modeTitle: 'Kartan tila',
modeSubtitle1: 'Valitse kartan tila.',
modeSubtitle2: 'Lisätietoja',
modeDescription: 'Anna käyttäjien {mode} karttaa',
read: 'lukea',
edit: 'muokata'
},
json: {
configTitle: 'Kartan asetukset',
configDisclaimer: 'Kartan asetukset sisältyvät Json-tiedostoon. Jos käytät kirjastoa kepler.gl omassa sovelluksessasi. Voit kopioida asetukset ja antaa ne funktiolle: ',
selection: 'Vie kyseisen kartan aineistot ja asetukset yhdessä json-tiedostossa. Voit myöhemmin avata saman kartan lataamalla tiedoston kepler.gl:n',
disclaimer: '* Kartan asetukset ovat sidoksissa ladattuihin aineistoihin. Arvoa ‘dataId’ käytetään tasojen, suodattimien ja vihjeiden liittämiseksi tiettyyn aineistoon. ' + 'Varmista, että aineiston dataId:t vastaavat asetusten arvoja jos lataat asetukset käyttäen `addDataToMap`-funktiolle.'
}
},
loadingDialog: {
loading: 'Ladataan...'
},
loadData: {
upload: 'Lataa tiedostot',
storage: 'Lataa tallennustilasta'
},
tripInfo: {
title: 'Kuinka käyttää matka-animaatiota',
description1: 'Reitin animoimiseksi geoJSON-aineiston täytyy olla geometriatyypiltään `LineString`, LineString-koordinaattien täytyy sisältää 4 elementtiä formaatissa:',
code: ' [pituusaste, leveysaste, korkeus, aikaleima] ',
description2: 'siten, että viimeinen elementti on aikaleima. Aikaleima voi olla muodoltaan unix-sekunteja, kuten `1564184363` tai millisekunteja, kuten `1564184363000`.',
example: 'Esimerkki:'
},
iconInfo: {
title: 'Miten piirtää kuvia',
description1: 'csv-tiedostossasi, luo sarake nimeltä icon. Voit jättää sen tyhjäksi jos et halua piirtää kuvaa joillain pisteillä. Kun sarakkeen nimi on ',
code: 'icon',
description2: ' kepler.gl luo automaattisesti kuvatason sinua varten.',
example: 'Esimerkki:',
icons: 'Kuvat'
},
storageMapViewer: {
lastModified: 'Viimeksi muokattu {lastUpdated} sitten',
back: 'Takaisin'
},
overwriteMap: {
title: 'Tallennetaan karttaa...',
alreadyExists: 'on jo {mapSaved}:ssa. Haluatko ylikirjoittaa sen?'
},
loadStorageMap: {
back: 'Takaisin',
goToPage: 'Mene Kepler.gl {displayName} sivullesi',
storageMaps: 'Tallennus / Kartat',
noSavedMaps: 'Ei tallennettuja karttoja vielä'
}
},
header: {
visibleLayers: 'Näkyvissä olevat tasot',
layerLegend: 'Tason selite'
},
interactions: {
tooltip: 'Vihje',
brush: 'Harja',
coordinate: 'Koordinaatit'
},
layerBlending: {
title: 'Tasojen sekoittuvuus',
additive: 'lisäävä',
normal: 'normaali',
subtractive: 'vähentävä'
},
columns: {
title: 'Sarakkeet',
lat: 'lat',
lng: 'lng',
altitude: 'korkeus',
icon: 'kuva',
geojson: 'geojson',
arc: {
lat0: 'lähdön lat',
lng0: 'lähdön lng',
lat1: 'kohteen lat',
lng1: 'kohteen lng'
},
line: {
alt0: 'lähteen korkeus',
alt1: 'kohde korkeus'
},
grid: {
worldUnitSize: 'Ruutujen koko (km)'
},
hexagon: {
worldUnitSize: 'Hexagonien säde (km)'
}
},
color: {
customPalette: 'Mukautettu paletti',
steps: 'askeleet',
type: 'tyyppi',
reversed: 'käänteinen'
},
scale: {
colorScale: 'Värin skaala',
sizeScale: 'Koon skaala',
strokeScale: 'Viivan paksuuden skaala',
scale: 'Skaala'
},
fileUploader: {
message: 'Raahaa ja pudota tiedostosi tänne',
chromeMessage: '*Chromen käyttäjä: Rajoita tiedostokokosi 250Mb:hen. Jos haluat suurempia tiedostoja, kokeile Safaria',
disclaimer: '*kepler.gl on client-side sovellus, data pysyy vain selaimessasi...' + 'Tietoja ei lähetetä palvelimelle.',
configUploadMessage: 'Lisää {fileFormatNames} tai tallennettu kartta **Json**. Lue lisää [**tuetuista formaateista**]',
browseFiles: 'selaa tiedostojasi',
uploading: 'ladataan',
fileNotSupported: 'Tiedosto {errorFiles} ei ole tuettu.',
or: 'tai'
},
density: 'tiheys',
'Bug Report': 'Bugiraportointi',
'User Guide': 'Opas',
Save: 'Tallenna',
Share: 'Jaa'
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9jYWxlcyIsInJlcXVpcmUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsInByb3BlcnR5Iiwid2VpZ2h0IiwibGFiZWwiLCJmaWxsQ29sb3IiLCJjb2xvciIsInN0cm9rZUNvbG9yIiwicmFkaXVzIiwib3V0bGluZSIsInN0cm9rZSIsImRlbnNpdHkiLCJjb3ZlcmFnZSIsInN1bSIsInBvaW50Q291bnQiLCJwbGFjZWhvbGRlciIsInNlYXJjaCIsInNlbGVjdEZpZWxkIiwieUF4aXMiLCJzZWxlY3RUeXBlIiwic2VsZWN0VmFsdWUiLCJlbnRlclZhbHVlIiwiZW1wdHkiLCJtaXNjIiwiYnkiLCJ2YWx1ZXNJbiIsInZhbHVlRXF1YWxzIiwiZGF0YVNvdXJjZSIsImJydXNoUmFkaXVzIiwibWFwTGF5ZXJzIiwidGl0bGUiLCJyb2FkIiwiYm9yZGVyIiwiYnVpbGRpbmciLCJ3YXRlciIsImxhbmQiLCJiYWNrZ3JvdW5kIiwicGFuZWwiLCJ0ZXh0IiwibGFiZWxXaXRoSWQiLCJmb250U2l6ZSIsImZvbnRDb2xvciIsInRleHRBbmNob3IiLCJhbGlnbm1lbnQiLCJhZGRNb3JlTGFiZWwiLCJzaWRlYmFyIiwicGFuZWxzIiwibGF5ZXIiLCJpbnRlcmFjdGlvbiIsImJhc2VtYXAiLCJyZXF1aXJlZCIsInByb3BlcnR5QmFzZWRPbiIsInN0cm9rZVdpZHRoIiwiYmFzaWMiLCJ0cmFpbExlbmd0aCIsInRyYWlsTGVuZ3RoRGVzY3JpcHRpb24iLCJuZXdMYXllciIsImVsZXZhdGlvbkJ5RGVzY3JpcHRpb24iLCJjb2xvckJ5RGVzY3JpcHRpb24iLCJhZ2dyZWdhdGVCeSIsInR5cGUiLCJwb2ludCIsImFyYyIsImxpbmUiLCJncmlkIiwiaGV4YmluIiwicG9seWdvbiIsImdlb2pzb24iLCJjbHVzdGVyIiwiaWNvbiIsImhlYXRtYXAiLCJoZXhhZ29uIiwiaGV4YWdvbmlkIiwidHJpcCIsInMyIiwibGF5ZXJVcGRhdGVFcnJvciIsImxheWVyVmlzQ29uZmlncyIsInN0cm9rZVdpZHRoUmFuZ2UiLCJmaXhlZFJhZGl1cyIsImZpeGVkUmFkaXVzRGVzY3JpcHRpb24iLCJyYWRpdXNSYW5nZSIsImNsdXN0ZXJSYWRpdXMiLCJyYWRpdXNSYW5nZVBpeGVscyIsImJpbGxib2FyZCIsImJpbGxib2FyZERlc2NyaXB0aW9uIiwiZmFkZVRyYWlsIiwib3BhY2l0eSIsImNvbG9yUmFuZ2UiLCJzdHJva2VDb2xvclJhbmdlIiwidGFyZ2V0Q29sb3IiLCJjb2xvckFnZ3JlZ2F0aW9uIiwiaGVpZ2h0QWdncmVnYXRpb24iLCJyZXNvbHV0aW9uUmFuZ2UiLCJzaXplU2NhbGUiLCJ3b3JsZFVuaXRTaXplIiwiZWxldmF0aW9uU2NhbGUiLCJlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yIiwiZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvckRlc2NyaXB0aW9uIiwiZW5hYmxlSGVpZ2h0Wm9vbUZhY3RvciIsImhlaWdodFNjYWxlIiwiY292ZXJhZ2VSYW5nZSIsImhpZ2hQcmVjaXNpb25SZW5kZXJpbmciLCJoaWdoUHJlY2lzaW9uUmVuZGVyaW5nRGVzY3JpcHRpb24iLCJoZWlnaHQiLCJoZWlnaHREZXNjcmlwdGlvbiIsImZpbGwiLCJlbmFibGVQb2x5Z29uSGVpZ2h0Iiwic2hvd1dpcmVmcmFtZSIsIndlaWdodEludGVuc2l0eSIsInpvb21TY2FsZSIsImhlaWdodFJhbmdlIiwiaGVpZ2h0TXVsdGlwbGllciIsImZpeGVkSGVpZ2h0IiwiZml4ZWRIZWlnaHREZXNjcmlwdGlvbiIsImxheWVyTWFuYWdlciIsImFkZERhdGEiLCJhZGRMYXllciIsImxheWVyQmxlbmRpbmciLCJtYXBNYW5hZ2VyIiwibWFwU3R5bGUiLCJhZGRNYXBTdHlsZSIsImJhY2tncm91bmRDb2xvciIsImxheWVyQ29uZmlndXJhdGlvbiIsImRlZmF1bHREZXNjcmlwdGlvbiIsImhvd1RvIiwiZmlsdGVyTWFuYWdlciIsImFkZEZpbHRlciIsImRhdGFzZXRUaXRsZSIsInNob3dEYXRhVGFibGUiLCJyZW1vdmVEYXRhc2V0IiwiZGF0YXNldEluZm8iLCJyb3dDb3VudCIsInRvb2x0aXAiLCJoaWRlTGF5ZXIiLCJzaG93TGF5ZXIiLCJoaWRlRmVhdHVyZSIsInNob3dGZWF0dXJlIiwiaGlkZSIsInNob3ciLCJyZW1vdmVMYXllciIsInJlc2V0QWZ0ZXJFcnJvciIsImxheWVyU2V0dGluZ3MiLCJjbG9zZVBhbmVsIiwic3dpdGNoVG9EdWFsVmlldyIsInNob3dMZWdlbmQiLCJkaXNhYmxlM0RNYXAiLCJEcmF3T25NYXAiLCJzZWxlY3RMb2NhbGUiLCJoaWRlTGF5ZXJQYW5lbCIsInNob3dMYXllclBhbmVsIiwibW92ZVRvVG9wIiwic2VsZWN0QmFzZU1hcFN0eWxlIiwidGltZVBsYXliYWNrIiwiY2xvdWRTdG9yYWdlIiwidG9vbGJhciIsImV4cG9ydEltYWdlIiwiZXhwb3J0RGF0YSIsImV4cG9ydE1hcCIsInNoYXJlTWFwVVJMIiwic2F2ZU1hcCIsInNlbGVjdCIsInJlY3RhbmdsZSIsIkxPQ0FMRVMiLCJtb2RhbCIsImRlbGV0ZURhdGFzZXQiLCJhZGREYXRhVG9NYXAiLCJhZGRDdXN0b21NYXBib3hTdHlsZSIsInNoYXJlVVJMIiwiYnV0dG9uIiwiZG93bmxvYWQiLCJhZGRTdHlsZSIsInNhdmUiLCJkZWZhdWx0Q2FuY2VsIiwiZGVmYXVsdENvbmZpcm0iLCJyYXRpb1RpdGxlIiwicmF0aW9EZXNjcmlwdGlvbiIsInJhdGlvT3JpZ2luYWxTY3JlZW4iLCJyYXRpb0N1c3RvbSIsInJhdGlvNF8zIiwicmF0aW8xNl85IiwicmVzb2x1dGlvblRpdGxlIiwicmVzb2x1dGlvbkRlc2NyaXB0aW9uIiwibWFwTGVnZW5kVGl0bGUiLCJtYXBMZWdlbmRBZGQiLCJkYXRhc2V0U3VidGl0bGUiLCJhbGxEYXRhc2V0cyIsImRhdGFUeXBlVGl0bGUiLCJkYXRhVHlwZVN1YnRpdGxlIiwiZmlsdGVyRGF0YVRpdGxlIiwiZmlsdGVyRGF0YVN1YnRpdGxlIiwiZmlsdGVyZWREYXRhIiwidW5maWx0ZXJlZERhdGEiLCJmaWxlQ291bnQiLCJkZWxldGVEYXRhIiwid2FybmluZyIsInB1Ymxpc2hUaXRsZSIsInB1Ymxpc2hTdWJ0aXRsZTEiLCJwdWJsaXNoU3VidGl0bGUyIiwicHVibGlzaFN1YnRpdGxlMyIsInB1Ymxpc2hTdWJ0aXRsZTQiLCJwdWJsaXNoU3VidGl0bGU1IiwicHVibGlzaFN1YnRpdGxlNiIsInB1Ymxpc2hTdWJ0aXRsZTciLCJleGFtcGxlVG9rZW4iLCJwYXN0ZVRpdGxlIiwicGFzdGVTdWJ0aXRsZTEiLCJwYXN0ZVN1YnRpdGxlMiIsIm5hbWluZ1RpdGxlIiwic2hhcmVNYXAiLCJzaGFyZVVyaVRpdGxlIiwic2hhcmVVcmlTdWJ0aXRsZSIsImNsb3VkVGl0bGUiLCJjbG91ZFN1YnRpdGxlIiwic2hhcmVEaXNjbGFpbWVyIiwiZ290b1BhZ2UiLCJzdGF0dXNQYW5lbCIsIm1hcFVwbG9hZGluZyIsImVycm9yIiwic3VidGl0bGUiLCJmb3JtYXRUaXRsZSIsImZvcm1hdFN1YnRpdGxlIiwiaHRtbCIsInNlbGVjdGlvbiIsInRva2VuVGl0bGUiLCJ0b2tlblN1YnRpdGxlIiwidG9rZW5QbGFjZWhvbGRlciIsInRva2VuTWlzdXNlV2FybmluZyIsInRva2VuRGlzY2xhaW1lciIsInRva2VuVXBkYXRlIiwibW9kZVRpdGxlIiwibW9kZVN1YnRpdGxlMSIsIm1vZGVTdWJ0aXRsZTIiLCJtb2RlRGVzY3JpcHRpb24iLCJyZWFkIiwiZWRpdCIsImpzb24iLCJjb25maWdUaXRsZSIsImNvbmZpZ0Rpc2NsYWltZXIiLCJkaXNjbGFpbWVyIiwibG9hZGluZ0RpYWxvZyIsImxvYWRpbmciLCJsb2FkRGF0YSIsInVwbG9hZCIsInN0b3JhZ2UiLCJ0cmlwSW5mbyIsImRlc2NyaXB0aW9uMSIsImNvZGUiLCJkZXNjcmlwdGlvbjIiLCJleGFtcGxlIiwiaWNvbkluZm8iLCJpY29ucyIsInN0b3JhZ2VNYXBWaWV3ZXIiLCJsYXN0TW9kaWZpZWQiLCJiYWNrIiwib3ZlcndyaXRlTWFwIiwiYWxyZWFkeUV4aXN0cyIsImxvYWRTdG9yYWdlTWFwIiwiZ29Ub1BhZ2UiLCJzdG9yYWdlTWFwcyIsIm5vU2F2ZWRNYXBzIiwiaGVhZGVyIiwidmlzaWJsZUxheWVycyIsImxheWVyTGVnZW5kIiwiaW50ZXJhY3Rpb25zIiwiYnJ1c2giLCJjb29yZGluYXRlIiwiYWRkaXRpdmUiLCJub3JtYWwiLCJzdWJ0cmFjdGl2ZSIsImNvbHVtbnMiLCJsYXQiLCJsbmciLCJhbHRpdHVkZSIsImxhdDAiLCJsbmcwIiwibGF0MSIsImxuZzEiLCJhbHQwIiwiYWx0MSIsImN1c3RvbVBhbGV0dGUiLCJzdGVwcyIsInJldmVyc2VkIiwic2NhbGUiLCJjb2xvclNjYWxlIiwic3Ryb2tlU2NhbGUiLCJmaWxlVXBsb2FkZXIiLCJtZXNzYWdlIiwiY2hyb21lTWVzc2FnZSIsImNvbmZpZ1VwbG9hZE1lc3NhZ2UiLCJicm93c2VGaWxlcyIsInVwbG9hZGluZyIsImZpbGVOb3RTdXBwb3J0ZWQiLCJvciIsIlNhdmUiLCJTaGFyZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2xhdGlvbnMvZmkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtMT0NBTEVTfSBmcm9tICcuLi9sb2NhbGVzJztcblxuZXhwb3J0IGRlZmF1bHQge1xuICBwcm9wZXJ0eToge1xuICAgIHdlaWdodDogJ3BhaW5vdHVzJyxcbiAgICBsYWJlbDogJ25pbWnDticsXG4gICAgZmlsbENvbG9yOiAndMOkeXR0w7Z2w6RyaScsXG4gICAgY29sb3I6ICd2w6RyaScsXG4gICAgc3Ryb2tlQ29sb3I6ICd2aWl2YW4gdsOkcmknLFxuICAgIHJhZGl1czogJ3PDpGRlJyxcbiAgICBvdXRsaW5lOiAnw6TDpHJpdmlpdmEnLFxuICAgIHN0cm9rZTogJ3ZpaXZhJyxcbiAgICBkZW5zaXR5OiAndGloZXlzJyxcbiAgICBjb3ZlcmFnZTogJ2thdHRhdnV1cycsXG4gICAgc3VtOiAnc3VtbWEnLFxuICAgIHBvaW50Q291bnQ6ICdwaXN0ZWlkZW4gbHVrdW3DpMOkcsOkJ1xuICB9LFxuICBwbGFjZWhvbGRlcjoge1xuICAgIHNlYXJjaDogJ0V0c2knLFxuICAgIHNlbGVjdEZpZWxkOiAnVmFsaXRzZSBrZW50dMOkJyxcbiAgICB5QXhpczogJ1ktYWtzZWxpJyxcbiAgICBzZWxlY3RUeXBlOiAnVmFsaXRzZSB0eXlwcGknLFxuICAgIHNlbGVjdFZhbHVlOiAnVmFsaXRzZSBhcnZvJyxcbiAgICBlbnRlclZhbHVlOiAnQW5uYSBhcnZvJyxcbiAgICBlbXB0eTogJ3R5aGrDpCdcbiAgfSxcbiAgbWlzYzoge1xuICAgIGJ5OiAnJyxcbiAgICB2YWx1ZXNJbjogJ0Fydm90IGpvdWtvc3NhOicsXG4gICAgdmFsdWVFcXVhbHM6ICdBcnZvIG9uIHlodMOkc3V1cmkga3VpbicsXG4gICAgZGF0YVNvdXJjZTogJ0FpbmVpc3RvbMOkaGRlJyxcbiAgICBicnVzaFJhZGl1czogJ0hhcmphbiBzw6RkZSAoa20pJyxcbiAgICBlbXB0eTogJyAnXG4gIH0sXG4gIG1hcExheWVyczoge1xuICAgIHRpdGxlOiAnS2FydGFuIHRhc290JyxcbiAgICBsYWJlbDogJ05pbWnDtnQnLFxuICAgIHJvYWQ6ICdUaWV0JyxcbiAgICBib3JkZXI6ICdSYWphdCcsXG4gICAgYnVpbGRpbmc6ICdSYWtlbm51a3NldCcsXG4gICAgd2F0ZXI6ICdWZXNpJyxcbiAgICBsYW5kOiAnTWFhJyxcbiAgICAnM2RCdWlsZGluZyc6ICczZC1yYWtlbm51a3NldCcsXG4gICAgYmFja2dyb3VuZDogJ1RhdXN0YSdcbiAgfSxcbiAgcGFuZWw6IHtcbiAgICB0ZXh0OiB7XG4gICAgICBsYWJlbDogJ05pbWnDticsXG4gICAgICBsYWJlbFdpdGhJZDogJ05pbWnDtiB7bGFiZWxJZH0nLFxuICAgICAgZm9udFNpemU6ICdGb250aW4ga29rbycsXG4gICAgICBmb250Q29sb3I6ICdGb250aW4gdsOkcmknLFxuICAgICAgdGV4dEFuY2hvcjogJ1Rla3N0aW4gYW5ra3VyaScsXG4gICAgICBhbGlnbm1lbnQ6ICdTaWpvaXR0ZWx1JyxcbiAgICAgIGFkZE1vcmVMYWJlbDogJ0xpc8Okw6QgdXVzaWEgbmltacO2aXTDpCdcbiAgICB9XG4gIH0sXG4gIHNpZGViYXI6IHtcbiAgICBwYW5lbHM6IHtcbiAgICAgIGxheWVyOiAnVGFzb3QnLFxuICAgICAgZmlsdGVyOiAnU3VvZGF0dGltZXQnLFxuICAgICAgaW50ZXJhY3Rpb246ICdJbnRlcmFrdGlvdCcsXG4gICAgICBiYXNlbWFwOiAnVGF1c3Rha2FydHRhJ1xuICAgIH1cbiAgfSxcbiAgbGF5ZXI6IHtcbiAgICByZXF1aXJlZDogJ1Bha29sbGluZW4qJyxcbiAgICByYWRpdXM6ICdTw6RkZScsXG4gICAgd2VpZ2h0OiAnUGFpbm90dXMnLFxuICAgIHByb3BlcnR5QmFzZWRPbjogJ3twcm9wZXJ0eX0gcGVydXN0dWVuIGFydm9vbicsXG4gICAgY29sb3I6ICdWw6RyaScsXG4gICAgZmlsbENvbG9yOiAnVMOkeXTDtm4gdsOkcmknLFxuICAgIG91dGxpbmU6ICfDpMOkcml2aWl2YScsXG4gICAgY292ZXJhZ2U6ICdLYXR0YXZ1dXMnLFxuICAgIHN0cm9rZTogJ1ZpaXZhJyxcbiAgICBzdHJva2VXaWR0aDogJ1ZpaXZhbiBwYWtzdXVzJyxcbiAgICBzdHJva2VDb2xvcjogJ1ZpaXZhbiB2w6RyaScsXG4gICAgYmFzaWM6ICdQZXJ1cycsXG4gICAgdHJhaWxMZW5ndGg6ICdKw6RsamVuIHBpdHV1cycsXG4gICAgdHJhaWxMZW5ndGhEZXNjcmlwdGlvbjogJ0rDpGxqZW4ga2VzdG8gc2VrdW50ZWluYSwgZW5uZW5rdWluIHNlIGhpbW1lbmVlIG7DpGt5dmlzdMOkJyxcbiAgICBuZXdMYXllcjogJ3V1c2kgdGFzbycsXG4gICAgZWxldmF0aW9uQnlEZXNjcmlwdGlvbjogJ0t1biBhc2V0dXMgb24gcG9pcyBww6TDpGx0w6QsIGtvcmtldXMgcGVydXN0dXUgcGlzdGVpZGVuIG3DpMOkcsOkw6RuJyxcbiAgICBjb2xvckJ5RGVzY3JpcHRpb246ICdLdW4gYXNldHVzIG9uIHBvaXMgcMOkw6RsdMOkLCB2w6RyaSBwZXJ1c3R1dSBwaXN0ZWlkZW4gbcOkw6Ryw6TDpG4nLFxuICAgIGFnZ3JlZ2F0ZUJ5OiAnQWdncmVnb2kga2VudHTDpCB7ZmllbGR9IGJ5JyxcbiAgICAnM0RNb2RlbCc6ICczRC1tYWxsaScsXG4gICAgJzNETW9kZWxPcHRpb25zJzogJzNELW1hbGxpbiBhc2V0dWtzZXQnLFxuICAgIHR5cGU6IHtcbiAgICAgIHBvaW50OiAncGlzdGUnLFxuICAgICAgYXJjOiAna2FhcmknLFxuICAgICAgbGluZTogJ3ZpaXZhJyxcbiAgICAgIGdyaWQ6ICdydXVkdWtrbycsXG4gICAgICBoZXhiaW46ICdoZXhiaW4nLFxuICAgICAgcG9seWdvbjogJ3BvbHlnb25pJyxcbiAgICAgIGdlb2pzb246ICdnZW9qc29uJyxcbiAgICAgIGNsdXN0ZXI6ICdrbHVzdGVyaScsXG4gICAgICBpY29uOiAna3V2YScsXG4gICAgICBoZWF0bWFwOiAnbMOkbXDDtmthcnR0YScsXG4gICAgICBoZXhhZ29uOiAna3V1c2lrdWxtaW8nLFxuICAgICAgaGV4YWdvbmlkOiAnSDMnLFxuICAgICAgdHJpcDogJ21hdGthJyxcbiAgICAgIHMyOiAnUzInLFxuICAgICAgJzNkJzogJzNEJ1xuICAgIH0sXG4gICAgbGF5ZXJVcGRhdGVFcnJvcjpcbiAgICAgICdUYXNvbiBww6Rpdml0eWtzZW4gYWlrYW5hIHRhcGFodHVpIHZpcmhlOiB7ZXJyb3JNZXNzYWdlfS4gVmFybWlzdGEsIGV0dMOkIHN5w7Z0ZXRpZXRvamVuIG11b3RvIG9uIGtlbHZvbGxpbmVuLidcbiAgfSxcbiAgbGF5ZXJWaXNDb25maWdzOiB7XG4gICAgc3Ryb2tlV2lkdGg6ICdWaWl2YW4gcGFrc3V1cycsXG4gICAgc3Ryb2tlV2lkdGhSYW5nZTogJ1ZpaXZhbiBwYWtzdXVkZW4gcmFqYXQnLFxuICAgIHJhZGl1czogJ1PDpGRlJyxcbiAgICBmaXhlZFJhZGl1czogJ1Zha2lvc8OkZGUgbWV0cmVpbsOkJyxcbiAgICBmaXhlZFJhZGl1c0Rlc2NyaXB0aW9uOiAnS2FydGFuIHPDpGRlIGFic29sdXV0dGlzZWtzaSBzw6R0ZWVrc2kgbWV0cmVpbsOkLCBlc2ltLiA1IC0+IDUgbWV0cmlpbicsXG4gICAgcmFkaXVzUmFuZ2U6ICdTw6R0ZWVuIHJhamF0JyxcbiAgICBjbHVzdGVyUmFkaXVzOiAnS2x1c3RlcmllbiBzw6RkZSBwaWtzZWxlaW7DpCcsXG4gICAgcmFkaXVzUmFuZ2VQaXhlbHM6ICdTw6R0ZWVuIHJhamF0IHBpa3NlbGVpbsOkJyxcbiAgICBiaWxsYm9hcmQ6ICdCaWxsYm9hcmQgLXRpbGEnLFxuICAgIGJpbGxib2FyZERlc2NyaXB0aW9uOiAnU3V1bnRhYSBnZW9tZXRyaWEga2FtZXJhYSBrb2h0aScsXG4gICAgZmFkZVRyYWlsOiAnSMOkaXB5dsOkIHBvbGt1JyxcbiAgICBvcGFjaXR5OiAnTMOkcGluw6RreXZ5eXMnLFxuICAgIGNvdmVyYWdlOiAnS2F0dGF2dXVzJyxcbiAgICBvdXRsaW5lOiAnw4TDpHJpdmlpdmEnLFxuICAgIGNvbG9yUmFuZ2U6ICdWw6RyaWVuIHJhamF0JyxcbiAgICBzdHJva2U6ICdWaWl2YScsXG4gICAgc3Ryb2tlQ29sb3I6ICdWaWl2YW4gdsOkcmknLFxuICAgIHN0cm9rZUNvbG9yUmFuZ2U6ICdWaWl2YW4gdsOkcmluIHJhamF0JyxcbiAgICB0YXJnZXRDb2xvcjogJ0tvaHRlZW4gdsOkcmknLFxuICAgIGNvbG9yQWdncmVnYXRpb246ICdWw6RyaWVuIGFnZ3JlZ29pbnRpJyxcbiAgICBoZWlnaHRBZ2dyZWdhdGlvbjogJ0tvcmtldWRlbiBhZ2dyZWdvaW50aScsXG4gICAgcmVzb2x1dGlvblJhbmdlOiAnUmVzb2x1dXRpb24gcmFqYXQnLFxuICAgIHNpemVTY2FsZTogJ0tvb24gc2thYWxhJyxcbiAgICB3b3JsZFVuaXRTaXplOiAnWWtzaWtrw7YnLFxuICAgIGVsZXZhdGlvblNjYWxlOiAnS29yb3R0YW1pc2VuIHNrYWFsYScsXG4gICAgZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvcjogJ0vDpHl0w6Qga29ya2V1ZGVuIHpvb21hdXNrZXJyb2ludGEnLFxuICAgIGVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3JEZXNjcmlwdGlvbjpcbiAgICAgICdTw6TDpGTDpCBrb3JrZXVzIC8ga29ya2V1cyBueWt5aXNlbiB6b29tYXVza2VydG9pbWVuIHBlcnVzdGVlbGxhJyxcbiAgICBlbmFibGVIZWlnaHRab29tRmFjdG9yOiAnS8OkeXTDpCBrb3JrZXVkZW4gem9vbWF1c2tlcnJvaW50YScsXG4gICAgaGVpZ2h0U2NhbGU6ICdLb3JrZXVkZW4gc2thYWxhJyxcbiAgICBjb3ZlcmFnZVJhbmdlOiAnUGVpdHTDpHZ5eWRlbiByYWphdCcsXG4gICAgaGlnaFByZWNpc2lvblJlbmRlcmluZzogJ1RhcmtrYSByZW5kZXLDtmludGknLFxuICAgIGhpZ2hQcmVjaXNpb25SZW5kZXJpbmdEZXNjcmlwdGlvbjogJ1RhcmtrYSByZW5kZXLDtmludGkgam9odGFhIGhpdGFhbXBhYW4gc3Vvcml0dGFtaXNlZW4nLFxuICAgIGhlaWdodDogJ0tvcmtldXMnLFxuICAgIGhlaWdodERlc2NyaXB0aW9uOiAnS2xpa2thYSBvaWtlYXN0YSB5bMOkbnVya2FzdGEgbmFwcGlhIHZhaWh0YWFrc2VzaSAzRC1uw6RreW3DpMOkbicsXG4gICAgZmlsbDogJ1TDpHl0dMO2JyxcbiAgICBlbmFibGVQb2x5Z29uSGVpZ2h0OiAnU2FsbGkgcG9seWdvbmllbiBrb3JrZXVzJyxcbiAgICBzaG93V2lyZWZyYW1lOiAnTsOkeXTDpCByYXV0YWxhbmthbWFsbGknLFxuICAgIHdlaWdodEludGVuc2l0eTogJ1BhaW5vdHVrc2VuIGludGVuc2l0ZWV0dGknLFxuICAgIHpvb21TY2FsZTogJ1pvb21hdXNza2FhbGEnLFxuICAgIGhlaWdodFJhbmdlOiAnS29ya2V1ZGVuIHJhamF0JyxcbiAgICBoZWlnaHRNdWx0aXBsaWVyOiAnS29ya2V1c2tlcnJvaW4nLFxuICAgIGZpeGVkSGVpZ2h0OiAnS2lpbnRlw6Qga29ya2V1cycsXG4gICAgZml4ZWRIZWlnaHREZXNjcmlwdGlvbjogJ0vDpHl0w6Qga29ya2V1dHRhIGlsbWFuIG11dXRva3NpYSdcbiAgfSxcbiAgbGF5ZXJNYW5hZ2VyOiB7XG4gICAgYWRkRGF0YTogJ0xpc8Okw6QgYWluZWlzdG8nLFxuICAgIGFkZExheWVyOiAnTGlzw6TDpCB0YXNvJyxcbiAgICBsYXllckJsZW5kaW5nOiAnVGFzb2plbiBzZWtvaXR0dXZ1dXMnXG4gIH0sXG4gIG1hcE1hbmFnZXI6IHtcbiAgICBtYXBTdHlsZTogJ0thcnRhbiB0eXlsaScsXG4gICAgYWRkTWFwU3R5bGU6ICdMaXPDpMOkIHR5eWxpIGthcnRhbGxlJyxcbiAgICAnM2RCdWlsZGluZ0NvbG9yJzogJzNELXJha2VubnVzdGVuIHbDpHJpJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICdUYXVzdGF2w6RyaSdcbiAgfSxcbiAgbGF5ZXJDb25maWd1cmF0aW9uOiB7XG4gICAgZGVmYXVsdERlc2NyaXB0aW9uOiAnTGFza2Ugc3V1cmVlbiB7cHJvcGVydHl9IGFydm8gdmFsaXR1biBrZW50w6RuIHBlcnVzdGVlbGxhJyxcbiAgICBob3dUbzogJ01pdGVuIHRvaW1paSdcbiAgfSxcbiAgZmlsdGVyTWFuYWdlcjoge1xuICAgIGFkZEZpbHRlcjogJ0xpc8Okw6Qgc3VvZGF0aW4nXG4gIH0sXG4gIGRhdGFzZXRUaXRsZToge1xuICAgIHNob3dEYXRhVGFibGU6ICdOw6R5dMOkIGF0dHJpYnV1dHRpdGF1bHUnLFxuICAgIHJlbW92ZURhdGFzZXQ6ICdQb2lzdGEgYWluZWlzdG8nXG4gIH0sXG4gIGRhdGFzZXRJbmZvOiB7XG4gICAgcm93Q291bnQ6ICd7cm93Q291bnR9IHJpdmnDpCdcbiAgfSxcbiAgdG9vbHRpcDoge1xuICAgIGhpZGVMYXllcjogJ1BpaWxvdGEgdGFzbycsXG4gICAgc2hvd0xheWVyOiAnTsOkeXTDpCB0YXNvJyxcbiAgICBoaWRlRmVhdHVyZTogJ1BpaWxvdGEga29oZGUnLFxuICAgIHNob3dGZWF0dXJlOiAnTsOkeXTDpCBrb2hkZScsXG4gICAgaGlkZTogJ3BpaWxvdGEnLFxuICAgIHNob3c6ICduw6R5dMOkJyxcbiAgICByZW1vdmVMYXllcjogJ1BvaXN0YSB0YXNvJyxcbiAgICByZXNldEFmdGVyRXJyb3I6ICdZcml0w6Qgb3R0YWEgdGFzbyBrw6R5dHTDtsO2biB2aXJoZWVuIGrDpGxrZWVuJyxcbiAgICBsYXllclNldHRpbmdzOiAnVGFzb24gYXNldHVrc2V0JyxcbiAgICBjbG9zZVBhbmVsOiAnU3VsamUgcGFuZWVsaScsXG4gICAgc3dpdGNoVG9EdWFsVmlldzogJ1ZhaWhkYSBrYWtzb2lza2FycnRhbsOka3ltw6TDpG4nLFxuICAgIHNob3dMZWdlbmQ6ICdOw6R5dMOkIHNlbGl0ZScsXG4gICAgZGlzYWJsZTNETWFwOiAnUG9pc3R1IDNELW7DpGt5bcOkc3TDpCcsXG4gICAgRHJhd09uTWFwOiAnUGlpcnLDpCBrYXJ0YWxsZScsXG4gICAgc2VsZWN0TG9jYWxlOiAnVmFsaXRzZSBraWVsaXN5eXMnLFxuICAgIGhpZGVMYXllclBhbmVsOiAnUGlpbG90YSB0YXNvcGFuZWVsaScsXG4gICAgc2hvd0xheWVyUGFuZWw6ICdOw6R5dMOkIHRhc29wYW5lZWxpJyxcbiAgICBtb3ZlVG9Ub3A6ICdTaWlycsOkIHRhc29qZW4gcMOkw6RsbGltbcOkaXNla3NpJyxcbiAgICBzZWxlY3RCYXNlTWFwU3R5bGU6ICdWYWxpdHNlIHRhdXN0YWthcnR0YXR5eWxpJyxcbiAgICBkZWxldGU6ICdQb2lzdGEnLFxuICAgIHRpbWVQbGF5YmFjazogJ0FqYW4gYW5pbW9pbnRpJyxcbiAgICBjbG91ZFN0b3JhZ2U6ICdQaWx2aXRhbGxlbm51cycsXG4gICAgJzNETWFwJzogJzNELW7DpGt5bcOkJ1xuICB9LFxuICB0b29sYmFyOiB7XG4gICAgZXhwb3J0SW1hZ2U6ICdWaWUga3V2YScsXG4gICAgZXhwb3J0RGF0YTogJ1ZpZSBhaW5laXN0b3QnLFxuICAgIGV4cG9ydE1hcDogJ1ZpZSBrYXJ0dGEnLFxuICAgIHNoYXJlTWFwVVJMOiAnSmFhIGthcnRhbiBVUkwnLFxuICAgIHNhdmVNYXA6ICdUYWxsZW5uYSBrYXJ0dGEnLFxuICAgIHNlbGVjdDogJ3ZhbGl0c2UnLFxuICAgIHBvbHlnb246ICdwb2x5Z29uaScsXG4gICAgcmVjdGFuZ2xlOiAnbmVsaWt1bG1pbycsXG4gICAgaGlkZTogJ3BpaWxvdGEnLFxuICAgIHNob3c6ICduw6R5dMOkJyxcbiAgICAuLi5MT0NBTEVTXG4gIH0sXG4gIG1vZGFsOiB7XG4gICAgdGl0bGU6IHtcbiAgICAgIGRlbGV0ZURhdGFzZXQ6ICdQb2lzdGEgYWluZWlzdG8nLFxuICAgICAgYWRkRGF0YVRvTWFwOiAnTGlzw6TDpCBhaW5laXN0b2phIGthcnRhbGxlJyxcbiAgICAgIGV4cG9ydEltYWdlOiAnVmllIGt1dmEnLFxuICAgICAgZXhwb3J0RGF0YTogJ1ZpZSBhaW5laXN0b3QnLFxuICAgICAgZXhwb3J0TWFwOiAnVmllIGthcnR0YScsXG4gICAgICBhZGRDdXN0b21NYXBib3hTdHlsZTogJ0xpc8Okw6Qgb21hIE1hcGJveC10eXlsaScsXG4gICAgICBzYXZlTWFwOiAnVGFsbGVubmEga2FydHRhJyxcbiAgICAgIHNoYXJlVVJMOiAnSmFhIFVSTCdcbiAgICB9LFxuICAgIGJ1dHRvbjoge1xuICAgICAgZGVsZXRlOiAnUG9pc3RhJyxcbiAgICAgIGRvd25sb2FkOiAnTGF0YWEnLFxuICAgICAgZXhwb3J0OiAnVmllJyxcbiAgICAgIGFkZFN0eWxlOiAnTGlzw6TDpCB0eXlsaScsXG4gICAgICBzYXZlOiAnVGFsbGVubmEnLFxuICAgICAgZGVmYXVsdENhbmNlbDogJ1BlcnUnLFxuICAgICAgZGVmYXVsdENvbmZpcm06ICdWYWh2aXN0YSdcbiAgICB9LFxuICAgIGV4cG9ydEltYWdlOiB7XG4gICAgICByYXRpb1RpdGxlOiAnS3V2YXN1aGRlJyxcbiAgICAgIHJhdGlvRGVzY3JpcHRpb246ICdWYWxpdHNlIHNvcGl2YSBrdXZhc3VoZGUga8OkeXR0w7Z0YXBhdXN0YXNpIHZhcnRlbi4nLFxuICAgICAgcmF0aW9PcmlnaW5hbFNjcmVlbjogJ0Fsa3VwZXLDpGluZW4gbsOkeXR0w7YnLFxuICAgICAgcmF0aW9DdXN0b206ICdLdXN0b21vaXR1JyxcbiAgICAgIHJhdGlvNF8zOiAnNDozJyxcbiAgICAgIHJhdGlvMTZfOTogJzE2OjknLFxuICAgICAgcmVzb2x1dGlvblRpdGxlOiAnUmVzb2x1dXRpbycsXG4gICAgICByZXNvbHV0aW9uRGVzY3JpcHRpb246ICdLb3JrZWEgcmVzb2x1dXRpbyBvbiBwYXJlbXBpIHR1bG9zdGFtaXN0YSB2YXJ0ZW4uJyxcbiAgICAgIG1hcExlZ2VuZFRpdGxlOiAnS2FydGFuIHNlbGl0ZScsXG4gICAgICBtYXBMZWdlbmRBZGQ6ICdMaXPDpMOkIHNlbGl0ZSBrYXJ0dGFhbidcbiAgICB9LFxuICAgIGV4cG9ydERhdGE6IHtcbiAgICAgIGRhdGFzZXRUaXRsZTogJ0FpbmVpc3RvdCcsXG4gICAgICBkYXRhc2V0U3VidGl0bGU6ICdWYWxpdHNlIGFpbmVpc3RvLCBqb25rYSBhaW90IHZpZWTDpCcsXG4gICAgICBhbGxEYXRhc2V0czogJ0thaWtraScsXG4gICAgICBkYXRhVHlwZVRpdGxlOiAnQWluZWlzdG9qZW4gZm9ybWFhdHRpJyxcbiAgICAgIGRhdGFUeXBlU3VidGl0bGU6ICdWYWxpdHNlIGFpbmVpc3RvZm9ybWFhdHRpIHZhbGl0c2VtaWxsZXNpIGFpbmVpc3RvaWxsZScsXG4gICAgICBmaWx0ZXJEYXRhVGl0bGU6ICdTdW9kYXRhIGFpbmVpc3RvamEnLFxuICAgICAgZmlsdGVyRGF0YVN1YnRpdGxlOiAnVm9pdCB2aWVkw6Qgam9rbyBhbGt1cGVyw6Rpc2V0IGFpbmVpc3RvdCB0YWkgc3VvZGF0ZXR1dCBhaW5laXN0b3QnLFxuICAgICAgZmlsdGVyZWREYXRhOiAnU3VvZGF0ZXR1dCBhaW5laXN0b3QnLFxuICAgICAgdW5maWx0ZXJlZERhdGE6ICdTdW9kYXR0YW1hdHRvbWF0IGFpbmVpc3RvdCcsXG4gICAgICBmaWxlQ291bnQ6ICd7ZmlsZUNvdW50fSB0aWVkb3N0b2EnLFxuICAgICAgcm93Q291bnQ6ICd7cm93Q291bnR9IHJpdmnDpCdcbiAgICB9LFxuICAgIGRlbGV0ZURhdGE6IHtcbiAgICAgIHdhcm5pbmc6ICdhaW90IHBvaXN0YWEgdMOkbcOkbiBhaW5laXN0b24uIEFpbmVvc3RvYSBrw6R5dHTDpHZpZW4gdGFzb2plbiBsdWt1bcOkw6Ryw6Q6IHtsZW5ndGh9J1xuICAgIH0sXG4gICAgYWRkU3R5bGU6IHtcbiAgICAgIHB1Ymxpc2hUaXRsZTogJzEuIEp1bGthaXNlIHR5eWxpc2kgTWFwYm94aXNzYSB0YWkgYW5uYSB0dW5uaXN0ZScsXG4gICAgICBwdWJsaXNoU3VidGl0bGUxOiAnVm9pdCBsdW9kYSBvbWFuIGthcnR0YXR5eWxpc2kgc2l2dWxsYScsXG4gICAgICBwdWJsaXNoU3VidGl0bGUyOiAnamEnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlMzogJ2p1bGthaXN0YScsXG4gICAgICBwdWJsaXNoU3VidGl0bGU0OiAnc2VuLicsXG4gICAgICBwdWJsaXNoU3VidGl0bGU1OiAnS8OkeXR0w6TDpGtzZXNpIHlrc2l0eWlzdMOkIHR5eWxpw6QsIGxpaXTDpCcsXG4gICAgICBwdWJsaXNoU3VidGl0bGU2OiAndHVubmlzdGVlc2knLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNzpcbiAgICAgICAgJ3TDpG5uZS4gKmtlcGxlci5nbCBvbiBjbGllbnQtc2lkZSBzb3ZlbGx1cywgZGF0YSBweXN5eSB2YWluIHNlbGFpbWVzc2FzaS4uLicsXG4gICAgICBleGFtcGxlVG9rZW46ICdlc2ltLiBway5hYmNkZWZnLnh4eHh4eCcsXG4gICAgICBwYXN0ZVRpdGxlOiAnMi4gTGlpdMOkIHR5eWxpLVVSTCcsXG4gICAgICBwYXN0ZVN1YnRpdGxlMTogJ01pa8OkIG9uJyxcbiAgICAgIHBhc3RlU3VidGl0bGUyOiAndHl5bGktVVJMPycsXG4gICAgICBuYW1pbmdUaXRsZTogJzMuIE5pbWXDpCB0eXlsaXNpJ1xuICAgIH0sXG4gICAgc2hhcmVNYXA6IHtcbiAgICAgIHNoYXJlVXJpVGl0bGU6ICdKYWEga2FydGFuIFVSTCcsXG4gICAgICBzaGFyZVVyaVN1YnRpdGxlOiAnTHVvIGthcnRhbGxlIFVSTCwgam9ua2Egdm9pdCBqYWthYSBtdWlkZW4ga2Fuc3NhJyxcbiAgICAgIGNsb3VkVGl0bGU6ICdQaWx2aXRhbGxlbm51cycsXG4gICAgICBjbG91ZFN1YnRpdGxlOlxuICAgICAgICAnS2lyamF1ZHUgc2lzw6TDpG4gamEgbGF0YWEga2FydHRhIGphIGFpbmVpc3RvdCBoZW5raWzDtmtvaHRhaXNlZW4gcGlsdmlwYWx2ZWx1dW4nLFxuICAgICAgc2hhcmVEaXNjbGFpbWVyOlxuICAgICAgICAna2VwbGVyLmdsIHRhbGxlbnRhYSBrYXJ0YW4gZGF0YW4gaGVua2lsw7Zrb2h0YWlzZWVuIHBpbHZpdGFsbGVubnVzdGlsYWFzaSwgdmFpbiBpaG1pc2V0LCBqb2lsbGEgb24gVVJMLCB2b2l2YXQgcMOkw6RzdMOkIGvDpHNpa3NpIGthcnR0YWFuIGphIGFpbmVpc3RvaWhpbi4gJyArXG4gICAgICAgICdWb2l0IG11b2thdGEgdGllZG9zdG9qYSB0YWkgcG9pc3RhYSBuZSBwaWx2aXBhbHZlbHVzdGFzaSBtaWxsb2luIHZhaW4uJyxcbiAgICAgIGdvdG9QYWdlOiAnTWVuZSBLZXBsZXIuZ2wge2N1cnJlbnRQcm92aWRlcn0gc2l2dWxsZXNpJ1xuICAgIH0sXG4gICAgc3RhdHVzUGFuZWw6IHtcbiAgICAgIG1hcFVwbG9hZGluZzogJ0thcnR0YWEgbGFkYXRhYW4nLFxuICAgICAgZXJyb3I6ICdWaXJoZSdcbiAgICB9LFxuICAgIHNhdmVNYXA6IHtcbiAgICAgIHRpdGxlOiAnUGlsdml0YWxsZW5udXMnLFxuICAgICAgc3VidGl0bGU6ICdLaXJqYXVkdSBzaXPDpMOkbiBwaWx2aXBhbHZlbHV1c2kgdGFsbGVudGFha3Nlc2kga2FydGFuJ1xuICAgIH0sXG4gICAgZXhwb3J0TWFwOiB7XG4gICAgICBmb3JtYXRUaXRsZTogJ0thcnRhbiBmb3JtYWF0dGknLFxuICAgICAgZm9ybWF0U3VidGl0bGU6ICdWYWxpdHNlIGZvcm1hYXR0aSwgam9zc2EgdmlldCBrYXJ0YW4nLFxuICAgICAgaHRtbDoge1xuICAgICAgICBzZWxlY3Rpb246ICdWaWUga2FydHRhIGludGVyYWt0aWl2aXNlbmEgaHRtbC10aWVkb3N0b25hJyxcbiAgICAgICAgdG9rZW5UaXRsZTogJ01hcGJveC10dW5uaXN0ZScsXG4gICAgICAgIHRva2VuU3VidGl0bGU6ICdLw6R5dMOkIG9tYWEgTWFwYm94LXR1bm5pc3RldHRhc2kgaHRtbC10aWVkb3N0b3NzYSAodmFsaW5uYWluZW4pJyxcbiAgICAgICAgdG9rZW5QbGFjZWhvbGRlcjogJ0xpaXTDpCBNYXBib3gtdHVubmlzdGVlc2knLFxuICAgICAgICB0b2tlbk1pc3VzZVdhcm5pbmc6XG4gICAgICAgICAgJyogSm9zIGV0IGvDpHl0w6Qgb21hYSB0dW5uaXN0ZXR0YXNpLCBrYXJ0dGEgdm9pIGxha2F0YSB0b2ltaW1hc3RhIG1pbGxvaW4gdmFpbiBrdW4gdmFpaGRhbW1lIG9tYWEgdHVubmlzdGV0dGFtbWUgdsOkw6RyaW5rw6R5dMO2biBlc3TDpG1pc2Vrc2kuICcsXG4gICAgICAgIHRva2VuRGlzY2xhaW1lcjogJ1ZvaXQgdmFpaHRhYSBNYXBib3gtdHVubmlzdGVlc2kgbsOkaWRlbiBvaGplaWRlbiBhdnVsbGE6ICcsXG4gICAgICAgIHRva2VuVXBkYXRlOiAnS3VpbmthIHZhaWh0YWEgb2xlbWFzc2FvbGV2YSBNYXBib3gtdHVubmlzdGUnLFxuICAgICAgICBtb2RlVGl0bGU6ICdLYXJ0YW4gdGlsYScsXG4gICAgICAgIG1vZGVTdWJ0aXRsZTE6ICdWYWxpdHNlIGthcnRhbiB0aWxhLicsXG4gICAgICAgIG1vZGVTdWJ0aXRsZTI6ICdMaXPDpHRpZXRvamEnLFxuICAgICAgICBtb2RlRGVzY3JpcHRpb246ICdBbm5hIGvDpHl0dMOkamllbiB7bW9kZX0ga2FydHRhYScsXG4gICAgICAgIHJlYWQ6ICdsdWtlYScsXG4gICAgICAgIGVkaXQ6ICdtdW9rYXRhJ1xuICAgICAgfSxcbiAgICAgIGpzb246IHtcbiAgICAgICAgY29uZmlnVGl0bGU6ICdLYXJ0YW4gYXNldHVrc2V0JyxcbiAgICAgICAgY29uZmlnRGlzY2xhaW1lcjpcbiAgICAgICAgICAnS2FydGFuIGFzZXR1a3NldCBzaXPDpGx0eXbDpHQgSnNvbi10aWVkb3N0b29uLiBKb3Mga8OkeXTDpHQga2lyamFzdG9hIGtlcGxlci5nbCBvbWFzc2Egc292ZWxsdWtzZXNzYXNpLiBWb2l0IGtvcGlvaWRhIGFzZXR1a3NldCBqYSBhbnRhYSBuZSBmdW5rdGlvbGxlOiAnLFxuICAgICAgICBzZWxlY3Rpb246XG4gICAgICAgICAgJ1ZpZSBreXNlaXNlbiBrYXJ0YW4gYWluZWlzdG90IGphIGFzZXR1a3NldCB5aGRlc3PDpCBqc29uLXRpZWRvc3Rvc3NhLiBWb2l0IG15w7ZoZW1taW4gYXZhdGEgc2FtYW4ga2FydGFuIGxhdGFhbWFsbGEgdGllZG9zdG9uIGtlcGxlci5nbDpuJyxcbiAgICAgICAgZGlzY2xhaW1lcjpcbiAgICAgICAgICAnKiBLYXJ0YW4gYXNldHVrc2V0IG92YXQgc2lkb2tzaXNzYSBsYWRhdHR1aWhpbiBhaW5laXN0b2loaW4uIEFydm9hIOKAmGRhdGFJZOKAmSBrw6R5dGV0w6TDpG4gdGFzb2plbiwgc3VvZGF0dGltaWVuIGphIHZpaGplaWRlbiBsaWl0dMOkbWlzZWtzaSB0aWV0dHl5biBhaW5laXN0b29uLiAnICtcbiAgICAgICAgICAnVmFybWlzdGEsIGV0dMOkIGFpbmVpc3RvbiBkYXRhSWQ6dCB2YXN0YWF2YXQgYXNldHVzdGVuIGFydm9qYSBqb3MgbGF0YWF0IGFzZXR1a3NldCBrw6R5dHTDpGVuIGBhZGREYXRhVG9NYXBgLWZ1bmt0aW9sbGUuJ1xuICAgICAgfVxuICAgIH0sXG4gICAgbG9hZGluZ0RpYWxvZzoge1xuICAgICAgbG9hZGluZzogJ0xhZGF0YWFuLi4uJ1xuICAgIH0sXG4gICAgbG9hZERhdGE6IHtcbiAgICAgIHVwbG9hZDogJ0xhdGFhIHRpZWRvc3RvdCcsXG4gICAgICBzdG9yYWdlOiAnTGF0YWEgdGFsbGVubnVzdGlsYXN0YSdcbiAgICB9LFxuICAgIHRyaXBJbmZvOiB7XG4gICAgICB0aXRsZTogJ0t1aW5rYSBrw6R5dHTDpMOkIG1hdGthLWFuaW1hYXRpb3RhJyxcbiAgICAgIGRlc2NyaXB0aW9uMTpcbiAgICAgICAgJ1JlaXRpbiBhbmltb2ltaXNla3NpIGdlb0pTT04tYWluZWlzdG9uIHTDpHl0eXkgb2xsYSBnZW9tZXRyaWF0eXlwaWx0w6TDpG4gYExpbmVTdHJpbmdgLCBMaW5lU3RyaW5nLWtvb3JkaW5hYXR0aWVuIHTDpHl0eXkgc2lzw6RsdMOkw6QgNCBlbGVtZW50dGnDpCBmb3JtYWF0aXNzYTonLFxuICAgICAgY29kZTogJyBbcGl0dXVzYXN0ZSwgbGV2ZXlzYXN0ZSwga29ya2V1cywgYWlrYWxlaW1hXSAnLFxuICAgICAgZGVzY3JpcHRpb24yOlxuICAgICAgICAnc2l0ZW4sIGV0dMOkIHZpaW1laW5lbiBlbGVtZW50dGkgb24gYWlrYWxlaW1hLiBBaWthbGVpbWEgdm9pIG9sbGEgbXVvZG9sdGFhbiB1bml4LXNla3VudGVqYSwga3V0ZW4gYDE1NjQxODQzNjNgIHRhaSBtaWxsaXNla3VudGVqYSwga3V0ZW4gYDE1NjQxODQzNjMwMDBgLicsXG4gICAgICBleGFtcGxlOiAnRXNpbWVya2tpOidcbiAgICB9LFxuICAgIGljb25JbmZvOiB7XG4gICAgICB0aXRsZTogJ01pdGVuIHBpaXJ0w6TDpCBrdXZpYScsXG4gICAgICBkZXNjcmlwdGlvbjE6XG4gICAgICAgICdjc3YtdGllZG9zdG9zc2FzaSwgbHVvIHNhcmFrZSBuaW1lbHTDpCBpY29uLiBWb2l0IGrDpHR0w6TDpCBzZW4gdHloasOka3NpIGpvcyBldCBoYWx1YSBwaWlydMOkw6Qga3V2YWEgam9pbGxhaW4gcGlzdGVpbGzDpC4gS3VuIHNhcmFra2VlbiBuaW1pIG9uICcsXG4gICAgICBjb2RlOiAnaWNvbicsXG4gICAgICBkZXNjcmlwdGlvbjI6ICcga2VwbGVyLmdsIGx1byBhdXRvbWFhdHRpc2VzdGkga3V2YXRhc29uIHNpbnVhIHZhcnRlbi4nLFxuICAgICAgZXhhbXBsZTogJ0VzaW1lcmtraTonLFxuICAgICAgaWNvbnM6ICdLdXZhdCdcbiAgICB9LFxuICAgIHN0b3JhZ2VNYXBWaWV3ZXI6IHtcbiAgICAgIGxhc3RNb2RpZmllZDogJ1ZpaW1la3NpIG11b2thdHR1IHtsYXN0VXBkYXRlZH0gc2l0dGVuJyxcbiAgICAgIGJhY2s6ICdUYWthaXNpbidcbiAgICB9LFxuICAgIG92ZXJ3cml0ZU1hcDoge1xuICAgICAgdGl0bGU6ICdUYWxsZW5uZXRhYW4ga2FydHRhYS4uLicsXG4gICAgICBhbHJlYWR5RXhpc3RzOiAnb24gam8ge21hcFNhdmVkfTpzc2EuIEhhbHVhdGtvIHlsaWtpcmpvaXR0YWEgc2VuPydcbiAgICB9LFxuICAgIGxvYWRTdG9yYWdlTWFwOiB7XG4gICAgICBiYWNrOiAnVGFrYWlzaW4nLFxuICAgICAgZ29Ub1BhZ2U6ICdNZW5lIEtlcGxlci5nbCB7ZGlzcGxheU5hbWV9IHNpdnVsbGVzaScsXG4gICAgICBzdG9yYWdlTWFwczogJ1RhbGxlbm51cyAvIEthcnRhdCcsXG4gICAgICBub1NhdmVkTWFwczogJ0VpIHRhbGxlbm5ldHR1amEga2FydHRvamEgdmllbMOkJ1xuICAgIH1cbiAgfSxcbiAgaGVhZGVyOiB7XG4gICAgdmlzaWJsZUxheWVyczogJ07DpGt5dmlzc8OkIG9sZXZhdCB0YXNvdCcsXG4gICAgbGF5ZXJMZWdlbmQ6ICdUYXNvbiBzZWxpdGUnXG4gIH0sXG4gIGludGVyYWN0aW9uczoge1xuICAgIHRvb2x0aXA6ICdWaWhqZScsXG4gICAgYnJ1c2g6ICdIYXJqYScsXG4gICAgY29vcmRpbmF0ZTogJ0tvb3JkaW5hYXRpdCdcbiAgfSxcbiAgbGF5ZXJCbGVuZGluZzoge1xuICAgIHRpdGxlOiAnVGFzb2plbiBzZWtvaXR0dXZ1dXMnLFxuICAgIGFkZGl0aXZlOiAnbGlzw6TDpHbDpCcsXG4gICAgbm9ybWFsOiAnbm9ybWFhbGknLFxuICAgIHN1YnRyYWN0aXZlOiAndsOkaGVudMOkdsOkJ1xuICB9LFxuICBjb2x1bW5zOiB7XG4gICAgdGl0bGU6ICdTYXJha2tlZXQnLFxuICAgIGxhdDogJ2xhdCcsXG4gICAgbG5nOiAnbG5nJyxcbiAgICBhbHRpdHVkZTogJ2tvcmtldXMnLFxuICAgIGljb246ICdrdXZhJyxcbiAgICBnZW9qc29uOiAnZ2VvanNvbicsXG4gICAgYXJjOiB7XG4gICAgICBsYXQwOiAnbMOkaGTDtm4gbGF0JyxcbiAgICAgIGxuZzA6ICdsw6RoZMO2biBsbmcnLFxuICAgICAgbGF0MTogJ2tvaHRlZW4gbGF0JyxcbiAgICAgIGxuZzE6ICdrb2h0ZWVuIGxuZydcbiAgICB9LFxuICAgIGxpbmU6IHtcbiAgICAgIGFsdDA6ICdsw6RodGVlbiBrb3JrZXVzJyxcbiAgICAgIGFsdDE6ICdrb2hkZSBrb3JrZXVzJ1xuICAgIH0sXG4gICAgZ3JpZDoge1xuICAgICAgd29ybGRVbml0U2l6ZTogJ1J1dXR1amVuIGtva28gKGttKSdcbiAgICB9LFxuICAgIGhleGFnb246IHtcbiAgICAgIHdvcmxkVW5pdFNpemU6ICdIZXhhZ29uaWVuIHPDpGRlIChrbSknXG4gICAgfVxuICB9LFxuICBjb2xvcjoge1xuICAgIGN1c3RvbVBhbGV0dGU6ICdNdWthdXRldHR1IHBhbGV0dGknLFxuICAgIHN0ZXBzOiAnYXNrZWxlZXQnLFxuICAgIHR5cGU6ICd0eXlwcGknLFxuICAgIHJldmVyc2VkOiAna8Okw6RudGVpbmVuJ1xuICB9LFxuICBzY2FsZToge1xuICAgIGNvbG9yU2NhbGU6ICdWw6RyaW4gc2thYWxhJyxcbiAgICBzaXplU2NhbGU6ICdLb29uIHNrYWFsYScsXG4gICAgc3Ryb2tlU2NhbGU6ICdWaWl2YW4gcGFrc3V1ZGVuIHNrYWFsYScsXG4gICAgc2NhbGU6ICdTa2FhbGEnXG4gIH0sXG4gIGZpbGVVcGxvYWRlcjoge1xuICAgIG1lc3NhZ2U6ICdSYWFoYWEgamEgcHVkb3RhIHRpZWRvc3Rvc2kgdMOkbm5lJyxcbiAgICBjaHJvbWVNZXNzYWdlOlxuICAgICAgJypDaHJvbWVuIGvDpHl0dMOkasOkOiBSYWpvaXRhIHRpZWRvc3Rva29rb3NpIDI1ME1iOmhlbi4gSm9zIGhhbHVhdCBzdXVyZW1waWEgdGllZG9zdG9qYSwga29rZWlsZSBTYWZhcmlhJyxcbiAgICBkaXNjbGFpbWVyOlxuICAgICAgJyprZXBsZXIuZ2wgb24gY2xpZW50LXNpZGUgc292ZWxsdXMsIGRhdGEgcHlzeXkgdmFpbiBzZWxhaW1lc3Nhc2kuLi4nICtcbiAgICAgICdUaWV0b2phIGVpIGzDpGhldGV0w6QgcGFsdmVsaW1lbGxlLicsXG4gICAgY29uZmlnVXBsb2FkTWVzc2FnZTpcbiAgICAgICdMaXPDpMOkIHtmaWxlRm9ybWF0TmFtZXN9IHRhaSB0YWxsZW5uZXR0dSBrYXJ0dGEgKipKc29uKiouIEx1ZSBsaXPDpMOkIFsqKnR1ZXR1aXN0YSBmb3JtYWF0ZWlzdGEqKl0nLFxuICAgIGJyb3dzZUZpbGVzOiAnc2VsYWEgdGllZG9zdG9qYXNpJyxcbiAgICB1cGxvYWRpbmc6ICdsYWRhdGFhbicsXG4gICAgZmlsZU5vdFN1cHBvcnRlZDogJ1RpZWRvc3RvIHtlcnJvckZpbGVzfSBlaSBvbGUgdHVldHR1LicsXG4gICAgb3I6ICd0YWknXG4gIH0sXG4gIGRlbnNpdHk6ICd0aWhleXMnLFxuICAnQnVnIFJlcG9ydCc6ICdCdWdpcmFwb3J0b2ludGknLFxuICAnVXNlciBH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