dt-app
Version:
The Dynatrace App Toolkit is a tool you can use from your command line to create, develop, and deploy apps on your Dynatrace environment.
147 lines (139 loc) • 20.9 kB
JavaScript
;(()=>{"serviceWorker"in navigator?navigator.serviceWorker.register("dev-sw.js").then(t=>{t.update(),console.log("Live reload connected")}).catch(t=>{console.log(`Failed to register service worker. Live reloading will not be available. Please adapt your browser security settings in order to have live reloading available.
${t}`)}):console.log("Service workers and thus live reloading not available. Please use a browser (version) that supports service workers and make sure your connection is secure.");var r=new WebSocket(window.socketUrl),i=document.createElement("div"),d=document.createElement("div");i.classList.add("dt-app-indicator");d.classList.add("dt-app-spinner-icon");i.appendChild(d);var s=!1;r.addEventListener("open",()=>{document.body.appendChild(i),l()});r.addEventListener("error",t=>{console.error(t)});r.addEventListener("close",()=>{console.info(`The development server has disconnected.
Refresh the page if necessary.`)});r.addEventListener("message",t=>{try{let{message:e,type:n}=JSON.parse(t.data);switch(s&&f(),n){case"reload":{console.log("reloading browser..."),l(),window.location.reload();break}case"error":{let o=JSON.parse(e);o.length!==0&&(console.error("compile error occurred...",o),c(o));break}default:{e&&console.log(e);break}}}catch(e){console.error("Error while receiving message from websocket"),console.error(e)}});function c(t){if(t.length===0)return;let e=document.createElement("div"),n=h("dt-app-lightbox-error");t.forEach(o=>{o.text&&e.append(a(`<div class="dt-app-error-text">${o.text}</div>`)),o.location?.file&&e.append(a(`<div class="dt-app-error-info">Error in file: ${o.location.file}</div>`)),o.prettyError?e.append(a(o.prettyError)):e.append(o.toString())}),n.getElementsByClassName("dt-app-lightbox-content")[0].appendChild(e),document.body.appendChild(n),s=!0}function f(){document.querySelectorAll(".dt-app-lightbox-error").forEach(t=>t.remove()),s=!1}function a(t){let e=document.createElement("div");return e.innerHTML=t,e}function h(t){let e=document.createElement("div"),n=document.createElement("div"),o=document.createElement("div");return t&&e.classList.add(t),e.classList.add("dt-app-lightbox-container"),n.classList.add("dt-app-lightbox"),o.classList.add("dt-app-lightbox-content"),n.appendChild(o),e.appendChild(n),e}function l(){i.classList.add("is-visible"),window.setTimeout(()=>{g()},1e3)}function g(){i.classList.remove("is-visible")}var p=document.createElement("style");document.head.appendChild(p);p.innerHTML=`
.dt-app-codesnippet > span > b {
margin-left: -9px; /* fixes line offset from ansi conversion */
display: block;
background-color: #590513;
}
.dt-app-error-text{
font-size: '1.266rem';
color: #c20b29;
margin-bottom: 16px;
font-family: 500;
}
.dt-app-warning-text {
font-size: '1.266rem';
color: #c20b29;
font-family: 500;
margin-right: 16px;
text-align: justify;
}
.dt-app-error-info{
margin-bottom: 8px;
}
.dt-app-codesnippet{
white-space: pre;
font-family: Consolas,Monaco,'Ubuntu Mono',monospace;
display: flex;
flex-direction: column;
padding: 16px;
overflow-x: auto;
}
.dt-app-lightbox-container{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 10001;
font-family: Roboto,Helvetica,sans-serif;
display: flex;
justify-content: center;
align-items: center;
}
.dt-app-lightbox-container:after{
content: '';
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
background-color: #6d7488;
opacity: 0.8;
z-index: -1;
}
.dt-app-lightbox{
display: flex;
overflow-y: auto;
max-width: 100%;
width: 1150px;
padding: 16px;
background-color: #fafbfb;
max-height: calc(100vh - 50px)
}
.dt-app-lightbox-content{
width: 100%;
height: 100%;
}
.dt-app-close-button {
cursor: pointer;
height: 20px;
width: 20px;
display: flex;
font-size: 20px;
justify-content: center;
align-items: center;
}
.dt-app-indicator {
position: fixed;
background-color: #fafbfbs;
width: 40px;
height: 40px;
bottom: 50px;
right: 50px;
border-radius: 10px;
box-shadow: 1px 1px 5px rgba(0,0,0,0.4);
display: none;
}
.dt-app-indicator.is-visible {
display: block;
animation: dt-app-slide-in 0.4s ease-out 0s forwards alternate;
}
.dt-app-spinner-icon {
--dt-app-spinner-color: #21242A;
display: flex;
width: 100%;
height: 100%;
align-items: center;
justify-content: center;
}
.dt-app-spinner-icon:after {
content: " ";
display: block;
width: 50%;
height: 50%;
border-radius: 9999px;
border: 2px solid var(--dt-app-spinner-color);
border-color: var(--dt-app-spinner-color) transparent var(--dt-app-spinner-color) transparent;
animation: dt-app-rotate 1.2s linear infinite;
}
@keyframes dt-app-rotate {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
@keyframes dt-app-slide-in {
0% {
transform: translate3d(60%, 0, 0);
opacity: 0;
}
40% { opacity: 1; }
100% { transform: translate3d(0, 0, 0); }
}
`;})();
/**
* @license
* Copyright 2024 Dynatrace LLC
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2Rldi9jbGllbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8vIGNTcGVsbDppZ25vcmUgSUlGRSBmYWZiZmJzXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyNCBEeW5hdHJhY2UgTExDXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8gQ2xpZW50IHNpZGUgY29kZSwgcnVucyBpbiB0aGUgYnJvd3NlclxuZGVjbGFyZSBjb25zdCB3aW5kb3c6IFdpbmRvdyAmIHsgc29ja2V0VXJsOiBzdHJpbmcgfTtcblxuaWYgKCdzZXJ2aWNlV29ya2VyJyBpbiBuYXZpZ2F0b3IpIHtcbiAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXJcbiAgICAucmVnaXN0ZXIoJ2Rldi1zdy5qcycpXG4gICAgLnRoZW4oKHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pID0+IHtcbiAgICAgIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24udXBkYXRlKCk7XG4gICAgICBjb25zb2xlLmxvZygnTGl2ZSByZWxvYWQgY29ubmVjdGVkJyk7XG4gICAgfSlcbiAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBGYWlsZWQgdG8gcmVnaXN0ZXIgc2VydmljZSB3b3JrZXIuIExpdmUgcmVsb2FkaW5nIHdpbGwgbm90IGJlIGF2YWlsYWJsZS4gUGxlYXNlIGFkYXB0IHlvdXIgYnJvd3NlciBzZWN1cml0eSBzZXR0aW5ncyBpbiBvcmRlciB0byBoYXZlIGxpdmUgcmVsb2FkaW5nIGF2YWlsYWJsZS4gXFxuXG4gICAgICAgICR7ZXJyfWAsXG4gICAgICApO1xuICAgIH0pO1xufSBlbHNlIHtcbiAgY29uc29sZS5sb2coXG4gICAgJ1NlcnZpY2Ugd29ya2VycyBhbmQgdGh1cyBsaXZlIHJlbG9hZGluZyBub3QgYXZhaWxhYmxlLiBQbGVhc2UgdXNlIGEgYnJvd3NlciAodmVyc2lvbikgdGhhdCBzdXBwb3J0cyBzZXJ2aWNlIHdvcmtlcnMgYW5kIG1ha2Ugc3VyZSB5b3VyIGNvbm5lY3Rpb24gaXMgc2VjdXJlLicsXG4gICk7XG59XG5cbi8qKiBMaXZlIHJlbG9hZCBzY3JpcHQgdGhhdCB3aWxsIGJlIGluamVjdGVkIGFzIElJRkUgaW4gdGhlIGNsaWVudCBmb3IgZGV2ZWxvcG1lbnQgKi9cbmNvbnN0IHNvY2tldCA9IG5ldyBXZWJTb2NrZXQod2luZG93LnNvY2tldFVybCk7XG5jb25zdCBzcGlubmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5jb25zdCBzcGlubmVySWNvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuc3Bpbm5lci5jbGFzc0xpc3QuYWRkKCdkdC1hcHAtaW5kaWNhdG9yJyk7XG5zcGlubmVySWNvbi5jbGFzc0xpc3QuYWRkKCdkdC1hcHAtc3Bpbm5lci1pY29uJyk7XG5zcGlubmVyLmFwcGVuZENoaWxkKHNwaW5uZXJJY29uKTtcblxubGV0IGVycm9yU2hvd24gPSBmYWxzZTtcblxuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoJ29wZW4nLCAoKSA9PiB7XG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc3Bpbm5lcik7XG4gIHNob3dTcGlubmVyKCk7XG59KTtcblxuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKGVycm9yKSA9PiB7XG4gIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xufSk7XG5cbnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdjbG9zZScsICgpID0+IHtcbiAgY29uc29sZS5pbmZvKFxuICAgICdUaGUgZGV2ZWxvcG1lbnQgc2VydmVyIGhhcyBkaXNjb25uZWN0ZWQuXFxuUmVmcmVzaCB0aGUgcGFnZSBpZiBuZWNlc3NhcnkuJyxcbiAgKTtcbn0pO1xuXG5zb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChyZXN1bHQpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB7IG1lc3NhZ2UsIHR5cGUgfSA9IEpTT04ucGFyc2UocmVzdWx0LmRhdGEpO1xuICAgIGlmIChlcnJvclNob3duKSB7XG4gICAgICBjbGVhckVycm9yKCk7XG4gICAgfVxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAncmVsb2FkJzoge1xuICAgICAgICBjb25zb2xlLmxvZygncmVsb2FkaW5nIGJyb3dzZXIuLi4nKTtcbiAgICAgICAgc2hvd1NwaW5uZXIoKTtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2Vycm9yJzoge1xuICAgICAgICBjb25zdCBlcnJvcnMgPSBKU09OLnBhcnNlKG1lc3NhZ2UpO1xuICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2NvbXBpbGUgZXJyb3Igb2NjdXJyZWQuLi4nLCBlcnJvcnMpO1xuICAgICAgICAgIHNob3dFcnJvcihlcnJvcnMpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBpZiAobWVzc2FnZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdFcnJvciB3aGlsZSByZWNlaXZpbmcgbWVzc2FnZSBmcm9tIHdlYnNvY2tldCcpO1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICB9XG59KTtcblxuLyoqIFNob3cgZXJyb3IgcmVwb3J0aW5nIGxpZ2h0Ym94IHdpdGggZXJyb3JzICovXG5mdW5jdGlvbiBzaG93RXJyb3IoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIGVycm9yczogYW55LFxuKTogdm9pZCB7XG4gIGlmIChlcnJvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGVycm9yc0NvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBjb25zdCBsaWdodGJveCA9IGNyZWF0ZUxpZ2h0Ym94KCdkdC1hcHAtbGlnaHRib3gtZXJyb3InKTtcbiAgZXJyb3JzLmZvckVhY2goKGVycm9yKSA9PiB7XG4gICAgaWYgKGVycm9yLnRleHQpIHtcbiAgICAgIGVycm9yc0NvbnRhaW5lci5hcHBlbmQoXG4gICAgICAgIHN0cmluZ1RvSFRNTChgPGRpdiBjbGFzcz1cImR0LWFwcC1lcnJvci10ZXh0XCI+JHtlcnJvci50ZXh0fTwvZGl2PmApLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGVycm9yLmxvY2F0aW9uPy5maWxlKSB7XG4gICAgICBlcnJvcnNDb250YWluZXIuYXBwZW5kKFxuICAgICAgICBzdHJpbmdUb0hUTUwoXG4gICAgICAgICAgYDxkaXYgY2xhc3M9XCJkdC1hcHAtZXJyb3ItaW5mb1wiPkVycm9yIGluIGZpbGU6ICR7ZXJyb3IubG9jYXRpb24uZmlsZX08L2Rpdj5gLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGVycm9yLnByZXR0eUVycm9yKSB7XG4gICAgICBlcnJvcnNDb250YWluZXIuYXBwZW5kKHN0cmluZ1RvSFRNTChlcnJvci5wcmV0dHlFcnJvcikpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlcnJvcnNDb250YWluZXIuYXBwZW5kKGVycm9yLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgfSk7XG5cbiAgbGlnaHRib3hcbiAgICAuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZHQtYXBwLWxpZ2h0Ym94LWNvbnRlbnQnKVswXVxuICAgIC5hcHBlbmRDaGlsZChlcnJvcnNDb250YWluZXIpO1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpZ2h0Ym94KTtcbiAgZXJyb3JTaG93biA9IHRydWU7XG59XG5cbi8qKlxuICogQ2xlYXJzIHRoZSBFcnJvciBsaWdodGJveFxuICovXG5mdW5jdGlvbiBjbGVhckVycm9yKCk6IHZvaWQge1xuICBkb2N1bWVudFxuICAgIC5xdWVyeVNlbGVjdG9yQWxsKCcuZHQtYXBwLWxpZ2h0Ym94LWVycm9yJylcbiAgICAuZm9yRWFjaCgoZSkgPT4gZS5yZW1vdmUoKSk7XG4gIGVycm9yU2hvd24gPSBmYWxzZTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGEgdGVtcGxhdGUgc3RyaW5nIGludG8gSFRNTCBET00gbm9kZXNcbiAqL1xuZnVuY3Rpb24gc3RyaW5nVG9IVE1MKHN0cjogc3RyaW5nKTogSFRNTEVsZW1lbnQge1xuICBjb25zdCBkb20gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZG9tLmlubmVySFRNTCA9IHN0cjtcbiAgcmV0dXJuIGRvbTtcbn1cblxuLyoqIENyZWF0ZXMgY2xpIGxpZ2h0Ym94ICovXG5mdW5jdGlvbiBjcmVhdGVMaWdodGJveChwYXJlbnRDbGFzc05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IEhUTUxFbGVtZW50IHtcbiAgY29uc3QgbGlnaHRib3hDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgY29uc3QgbGlnaHRib3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgY29uc3QgbGlnaHRib3hDb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgaWYgKHBhcmVudENsYXNzTmFtZSkge1xuICAgIGxpZ2h0Ym94Q29udGFpbmVyLmNsYXNzTGlzdC5hZGQocGFyZW50Q2xhc3NOYW1lKTtcbiAgfVxuICBsaWdodGJveENvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdkdC1hcHAtbGlnaHRib3gtY29udGFpbmVyJyk7XG4gIGxpZ2h0Ym94LmNsYXNzTGlzdC5hZGQoJ2R0LWFwcC1saWdodGJveCcpO1xuICBsaWdodGJveENvbnRlbnQuY2xhc3NMaXN0LmFkZCgnZHQtYXBwLWxpZ2h0Ym94LWNvbnRlbnQnKTtcbiAgbGlnaHRib3guYXBwZW5kQ2hpbGQobGlnaHRib3hDb250ZW50KTtcbiAgbGlnaHRib3hDb250YWluZXIuYXBwZW5kQ2hpbGQobGlnaHRib3gpO1xuXG4gIHJldHVybiBsaWdodGJveENvbnRhaW5lcjtcbn1cblxuLyoqIFNob3cgdGhlIGxvYWRpbmcgc3Bpbm5lciAqL1xuZnVuY3Rpb24gc2hvd1NwaW5uZXIoKTogdm9pZCB7XG4gIHNwaW5uZXIuY2xhc3NMaXN0LmFkZCgnaXMtdmlzaWJsZScpO1xuICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgaGlkZVNwaW5uZXIoKTtcbiAgfSwgMTAwMCk7XG59XG5cbi8qKiBIaWRlIHRoZSBsb2FkaW5nIHNwaW5uZXIgKi9cbmZ1bmN0aW9uIGhpZGVTcGlubmVyKCk6IHZvaWQge1xuICBzcGlubmVyLmNsYXNzTGlzdC5yZW1vdmUoJ2lzLXZpc2libGUnKTtcbn1cblxuY29uc3Qgc3R5bGVzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVzKTtcbnN0eWxlcy5pbm5lckhUTUwgPSBgXG4uZHQtYXBwLWNvZGVzbmlwcGV0ID4gc3BhbiA+IGIge1xuICBtYXJnaW4tbGVmdDogLTlweDsgLyogZml4ZXMgbGluZSBvZmZzZXQgZnJvbSBhbnNpIGNvbnZlcnNpb24gKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1OTA1MTM7XG59XG4uZHQtYXBwLWVycm9yLXRleHR7XG4gIGZvbnQtc2l6ZTogJzEuMjY2cmVtJztcbiAgY29sb3I6ICNjMjBiMjk7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiA1MDA7XG59XG5cbi5kdC1hcHAtd2FybmluZy10ZXh0IHtcbiAgZm9udC1zaXplOiAnMS4yNjZyZW0nO1xuICBjb2xvcjogI2MyMGIyOTtcbiAgZm9udC1mYW1pbHk6IDUwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuLmR0LWFwcC1lcnJvci1pbmZve1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4uZHQtYXBwLWNvZGVzbmlwcGV0e1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsTW9uYWNvLCdVYnVudHUgTW9ubycsbW9ub3NwYWNlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNnB4O1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuLmR0LWFwcC1saWdodGJveC1jb250YWluZXJ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDAwMTtcbiAgZm9udC1mYW1pbHk6IFJvYm90byxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZHQtYXBwLWxpZ2h0Ym94LWNvbnRhaW5lcjphZnRlcntcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ3NDg4O1xuICBvcGFjaXR5OiAwLjg7XG4gIHotaW5kZXg6IC0xO1xufVxuLmR0LWFwcC1saWdodGJveHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTE1MHB4O1xuICBwYWRkaW5nOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYmZiO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNTBweClcbn1cbi5kdC1hcHAtbGlnaHRib3gtY29udGVudHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5kdC1hcHAtY2xvc2UtYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmR0LWFwcC1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZiZmJzO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3R0b206IDUwcHg7XG4gIHJpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2hhZG93OiAxcHggMXB4IDVweCByZ2JhKDAsMCwwLDAuNCk7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5kdC1hcHAtaW5kaWNhdG9yLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYW5pbWF0aW9uOiBkdC1hcHAtc2xpZGUtaW4gMC40cyBlYXNlLW91dCAwcyBmb3J3YXJkcyBhbHRlcm5hdGU7XG59XG5cbi5kdC1hcHAtc3Bpbm5lci1pY29uIHtcbiAgLS1kdC1hcHAtc3Bpbm5lci1jb2xvcjogIzIxMjQyQTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kdC1hcHAtc3Bpbm5lci1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDUwJTtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1kdC1hcHAtc3Bpbm5lci1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZHQtYXBwLXNwaW5uZXItY29sb3IpIHRyYW5zcGFyZW50IHZhcigtLWR0LWFwcC1zcGlubmVyLWNvbG9yKSB0cmFuc3BhcmVudDtcbiAgYW5pbWF0aW9uOiBkdC1hcHAtcm90YXRlIDEuMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGR0LWFwcC1yb3RhdGUge1xuICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgZHQtYXBwLXNsaWRlLWluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNjAlLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbn1cbmA7XG5cbmV4cG9ydCB7fTtcbiJdLAogICJtYXBwaW5ncyI6ICJtQkFtQkksa0JBQW1CLFVBQ3JCLFVBQVUsY0FDUCxTQUFTLFdBQVcsRUFDcEIsS0FBTUEsR0FBOEIsQ0FDbkNBLEVBQTBCLE9BQU8sRUFDakMsUUFBUSxJQUFJLHVCQUF1QixDQUNyQyxDQUFDLEVBQ0EsTUFBT0MsR0FBUSxDQUNkLFFBQVEsSUFDTjtBQUFBO0FBQUEsVUFDRUEsQ0FBRyxFQUNQLENBQ0YsQ0FBQyxFQUVILFFBQVEsSUFDTiw4SkFDRixFQUlGLElBQU1DLEVBQVMsSUFBSSxVQUFVLE9BQU8sU0FBUyxFQUN2Q0MsRUFBVSxTQUFTLGNBQWMsS0FBSyxFQUN0Q0MsRUFBYyxTQUFTLGNBQWMsS0FBSyxFQUNoREQsRUFBUSxVQUFVLElBQUksa0JBQWtCLEVBQ3hDQyxFQUFZLFVBQVUsSUFBSSxxQkFBcUIsRUFDL0NELEVBQVEsWUFBWUMsQ0FBVyxFQUUvQixJQUFJQyxFQUFhLEdBRWpCSCxFQUFPLGlCQUFpQixPQUFRLElBQU0sQ0FDcEMsU0FBUyxLQUFLLFlBQVlDLENBQU8sRUFDakNHLEVBQVksQ0FDZCxDQUFDLEVBRURKLEVBQU8saUJBQWlCLFFBQVVLLEdBQVUsQ0FDMUMsUUFBUSxNQUFNQSxDQUFLLENBQ3JCLENBQUMsRUFFREwsRUFBTyxpQkFBaUIsUUFBUyxJQUFNLENBQ3JDLFFBQVEsS0FDTjtBQUFBLCtCQUNGLENBQ0YsQ0FBQyxFQUVEQSxFQUFPLGlCQUFpQixVQUFZTSxHQUFXLENBQzdDLEdBQUksQ0FDRixHQUFNLENBQUUsUUFBQUMsRUFBUyxLQUFBQyxDQUFLLEVBQUksS0FBSyxNQUFNRixFQUFPLElBQUksRUFJaEQsT0FISUgsR0FDRk0sRUFBVyxFQUVMRCxFQUFNLENBQ1osSUFBSyxTQUFVLENBQ2IsUUFBUSxJQUFJ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O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbInNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24iLCAiZXJyIiwgInNvY2tldCIsICJzcGlubmVyIiwgInNwaW5uZXJJY29uIiwgImVycm9yU2hvd24iLCAic2hvd1NwaW5uZXIiLCAiZXJyb3IiLCAicmVzdWx0IiwgIm1lc3NhZ2UiLCAidHlwZSIsICJjbGVhckVycm9yIiwgImVycm9ycyIsICJzaG93RXJyb3IiLCAiZXJyb3JzQ29udGFpbmVyIiwgImxpZ2h0Ym94IiwgImNyZWF0ZUxpZ2h0Ym94IiwgInN0cmluZ1RvSFRNTCIsICJlIiwgInN0ciIsICJkb20iLCAicGFyZW50Q2xhc3NOYW1lIiwgImxpZ2h0Ym94Q29udGFpbmVyIiwgImxpZ2h0Ym94Q29udGVudCIsICJoaWRlU3Bpbm5lciIsICJzdHlsZXMiXQp9Cg==