Current section

Files

Jump to
kino_k8s lib assets apply_cell main.js
Raw

lib/assets/apply_cell/main.js

var C=Object.create;var f=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty;var w=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var P=(e,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of S(r))!j.call(e,o)&&o!==t&&f(e,o,{get:()=>r[o],enumerable:!(s=N(r,o))||s.enumerable});return e};var b=(e,r,t)=>(t=e!=null?C(T(e)):{},P(r||!e||!e.__esModule?f(t,"default",{value:e,enumerable:!0}):t,e));var m=w((J,l)=>{(function(){"use strict";var e={}.hasOwnProperty,r="[native code]";function t(){for(var s=[],o=0;o<arguments.length;o++){var n=arguments[o];if(n){var a=typeof n;if(a==="string"||a==="number")s.push(n);else if(Array.isArray(n)){if(n.length){var i=t.apply(null,n);i&&s.push(i)}}else if(a==="object"){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){s.push(n.toString());continue}for(var c in n)e.call(n,c)&&n[c]&&s.push(c)}}}return s.join(" ")}typeof l<"u"&&l.exports?(t.default=t,l.exports=t):typeof define=="function"&&typeof define.amd=="object"&&define.amd?define("classnames",[],function(){return t}):window.classNames=t})()});var z=({message:e})=>React.createElement(React.Fragment,null,React.createElement("div",{className:"flex rounded-md border border-dashed border-red-700 bg-red-100 p-2"},React.createElement("svg",{className:"h-6 w-6 flex-none text-red-700",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},React.createElement("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"})),React.createElement("div",{className:"font-inter px-2 text-sm font-medium text-red-700"},e))),v=z;var g=async e=>{await e.importJS("https://cdnjs.cloudflare.com/ajax/libs/react/18.2.0/umd/react.development.js"),await e.importJS("https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.2.0/umd/react-dom.development.js")};var R=(e,r)=>{let[t,s]=React.useState(r),o=n=>a=>{s(i=>({...i,[n]:a})),console.log("Pushing ${attrName} to server",a),e.pushEvent(`update_${n}`,a)};return React.useEffect(()=>{e.handleEvent("update",n=>{console.log("Attribute update from server",n),s(a=>({...Object.assign(a,n)}))})},[]),[t,o]},h=R;var k=()=>React.createElement("div",{className:"mb-5 rounded-md bg-gray-100 p-4 font-inter text-sm font-medium text-gray-500"},React.createElement("p",null,"To make requests to the Kubernetes cluster, you need at least one connection to a cluster."),React.createElement("p",{className:"pt-1"},"To create a cluster connection, you can add the"," ",React.createElement("span",{className:"text-gray-600"},"Cluster Connection")," smart cell.")),x=k;var p=b(m()),K=({name:e,label:r,defaultValue:t,onChange:s,orientation:o="vert"})=>React.createElement("div",{className:(0,p.default)({"flex flex-row items-baseline":o=="horiz"})},React.createElement("label",{htmlFor:e,className:(0,p.default)({block:o=="vert","pr-1 uppercase":o=="horiz"},"mb-1 text-sm font-medium")},r),React.createElement("input",{type:"text",value:t,name:e,onChange:n=>s(n.target.value),className:(0,p.default)({"block w-full":o=="vert"},"rounded-lg border border-gray-300 bg-gray-50 p-1.5 text-sm focus:border-blue-500 focus:ring-blue-500")})),y=K;var d=b(m()),E=({name:e,label:r,options:t,selectedOption:s,onChange:o,className:n="",orientation:a="vert"})=>React.createElement("div",{className:(0,d.default)({"flex flex-row items-baseline":a=="horiz"},n)},React.createElement("label",{htmlFor:e,className:(0,d.default)({block:a=="vert","pr-1 uppercase":a=="horiz"},"mb-1 text-sm font-medium")},r),React.createElement("select",{id:e,value:s||void 0,onChange:i=>o(i.target.value),className:(0,d.default)({"block w-full":a=="vert"}," bg-caret-down appearance-none rounded-lg border border-gray-300 bg-gray-50 bg-[length:10px] bg-[center_right_10px] bg-no-repeat p-2 pr-5 text-sm focus:border-blue-500 focus:ring-blue-500")},t.map(i=>React.createElement("option",{key:i.value,value:i.value},i.label)))),u=E;var O=({initialAttrs:e,ctx:r})=>{let[t,s]=h(r,e);return React.createElement(React.Fragment,null,!t.connection&&React.createElement(x,null),React.createElement("div",{className:"rounded-md border-t border-solid border-gray-300 font-inter font-medium text-gray-600"},React.createElement("div",{className:"border-b-solid flex gap-x-5 gap-y-3 border-b border-b-gray-300 bg-blue-100 p-3"},React.createElement(u,{name:"connection",label:"Connection",options:t.connections.map(o=>({label:o.variable,value:o.variable})),selectedOption:t.connection?.variable?.toString(),onChange:s("connection"),orientation:"horiz"}),React.createElement(u,{name:"method",label:"Method",options:t.methods.map(o=>({label:o.toUpperCase(),value:o})),selectedOption:t.method,onChange:s("method"),orientation:"horiz"}),React.createElement(y,{label:"Assign To",name:"assign_to",defaultValue:t.result_variable,onChange:s("result_variable"),orientation:"horiz"}))))},A=O;var X=async(e,r)=>{await g(e,r),e.root.innerHTML="loading...",e.importCSS("main.css"),e.importCSS("https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap");let t=ReactDOM.createRoot(e.root);if(r.error)return t.render(React.createElement(v,{message:r.error}));t.render(React.createElement(A,{initialAttrs:r,ctx:e}))};export{X as init};
/*! Bundled license information:
classnames/index.js:
(*!
Copyright (c) 2018 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*)
*/
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2NsYXNzbmFtZXMvaW5kZXguanMiLCAiLi4vLi4vLi4vYXNzZXRzL3NoYXJlZC9lcnJvci50c3giLCAiLi4vLi4vLi4vYXNzZXRzL3NoYXJlZC91dGlscy50cyIsICIuLi8uLi8uLi9hc3NldHMvc2hhcmVkL2F0dHJfc3RhdGUudHN4IiwgIi4uLy4uLy4uL2Fzc2V0cy9zaGFyZWQvY29ubl9ub3RpY2UudHN4IiwgIi4uLy4uLy4uL2Fzc2V0cy9zaGFyZWQvZm9ybS9pbnB1dC50c3giLCAiLi4vLi4vLi4vYXNzZXRzL3NoYXJlZC9mb3JtL3NlbGVjdC50c3giLCAiLi4vLi4vLi4vYXNzZXRzL2FwcGx5X2NlbGwvYXBwLnRzeCIsICIuLi8uLi8uLi9hc3NldHMvYXBwbHlfY2VsbC9tYWluLnRzeCJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyohXG5cdENvcHlyaWdodCAoYykgMjAxOCBKZWQgV2F0c29uLlxuXHRMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKE1JVCksIHNlZVxuXHRodHRwOi8vamVkd2F0c29uLmdpdGh1Yi5pby9jbGFzc25hbWVzXG4qL1xuLyogZ2xvYmFsIGRlZmluZSAqL1xuXG4oZnVuY3Rpb24gKCkge1xuXHQndXNlIHN0cmljdCc7XG5cblx0dmFyIGhhc093biA9IHt9Lmhhc093blByb3BlcnR5O1xuXHR2YXIgbmF0aXZlQ29kZVN0cmluZyA9ICdbbmF0aXZlIGNvZGVdJztcblxuXHRmdW5jdGlvbiBjbGFzc05hbWVzKCkge1xuXHRcdHZhciBjbGFzc2VzID0gW107XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGFyZyA9IGFyZ3VtZW50c1tpXTtcblx0XHRcdGlmICghYXJnKSBjb250aW51ZTtcblxuXHRcdFx0dmFyIGFyZ1R5cGUgPSB0eXBlb2YgYXJnO1xuXG5cdFx0XHRpZiAoYXJnVHlwZSA9PT0gJ3N0cmluZycgfHwgYXJnVHlwZSA9PT0gJ251bWJlcicpIHtcblx0XHRcdFx0Y2xhc3Nlcy5wdXNoKGFyZyk7XG5cdFx0XHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoYXJnKSkge1xuXHRcdFx0XHRpZiAoYXJnLmxlbmd0aCkge1xuXHRcdFx0XHRcdHZhciBpbm5lciA9IGNsYXNzTmFtZXMuYXBwbHkobnVsbCwgYXJnKTtcblx0XHRcdFx0XHRpZiAoaW5uZXIpIHtcblx0XHRcdFx0XHRcdGNsYXNzZXMucHVzaChpbm5lcik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2UgaWYgKGFyZ1R5cGUgPT09ICdvYmplY3QnKSB7XG5cdFx0XHRcdGlmIChhcmcudG9TdHJpbmcgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgJiYgIWFyZy50b1N0cmluZy50b1N0cmluZygpLmluY2x1ZGVzKCdbbmF0aXZlIGNvZGVdJykpIHtcblx0XHRcdFx0XHRjbGFzc2VzLnB1c2goYXJnLnRvU3RyaW5nKCkpO1xuXHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Zm9yICh2YXIga2V5IGluIGFyZykge1xuXHRcdFx0XHRcdGlmIChoYXNPd24uY2FsbChhcmcsIGtleSkgJiYgYXJnW2tleV0pIHtcblx0XHRcdFx0XHRcdGNsYXNzZXMucHVzaChrZXkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcblx0fVxuXG5cdGlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyAmJiBtb2R1bGUuZXhwb3J0cykge1xuXHRcdGNsYXNzTmFtZXMuZGVmYXVsdCA9IGNsYXNzTmFtZXM7XG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBjbGFzc05hbWVzO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGRlZmluZS5hbWQgPT09ICdvYmplY3QnICYmIGRlZmluZS5hbWQpIHtcblx0XHQvLyByZWdpc3RlciBhcyAnY2xhc3NuYW1lcycsIGNvbnNpc3RlbnQgd2l0aCBucG0gcGFja2FnZSBuYW1lXG5cdFx0ZGVmaW5lKCdjbGFzc25hbWVzJywgW10sIGZ1bmN0aW9uICgpIHtcblx0XHRcdHJldHVybiBjbGFzc05hbWVzO1xuXHRcdH0pO1xuXHR9IGVsc2Uge1xuXHRcdHdpbmRvdy5jbGFzc05hbWVzID0gY2xhc3NOYW1lcztcblx0fVxufSgpKTtcbiIsICJpbnRlcmZhY2UgRXJyb3JQcm9wcyB7XG4gIG1lc3NhZ2U6IHN0cmluZ1xufVxuY29uc3QgRXJyb3IgPSAoeyBtZXNzYWdlIH06IEVycm9yUHJvcHMpID0+IChcbiAgPD5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWRhc2hlZCBib3JkZXItcmVkLTcwMCBiZy1yZWQtMTAwIHAtMlwiPlxuICAgICAgPHN2Z1xuICAgICAgICBjbGFzc05hbWU9XCJoLTYgdy02IGZsZXgtbm9uZSB0ZXh0LXJlZC03MDBcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICBkPVwiTTEyIDl2My43NW0tOS4zMDMgMy4zNzZjLS44NjYgMS41LjIxNyAzLjM3NCAxLjk0OCAzLjM3NGgxNC43MWMxLjczIDAgMi44MTMtMS44NzQgMS45NDgtMy4zNzRMMTMuOTQ5IDMuMzc4Yy0uODY2LTEuNS0zLjAzMi0xLjUtMy44OTggMEwyLjY5NyAxNi4xMjZ6TTEyIDE1Ljc1aC4wMDd2LjAwOEgxMnYtLjAwOHpcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9zdmc+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvbnQtaW50ZXIgcHgtMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtcmVkLTcwMFwiPlxuICAgICAgICB7bWVzc2FnZX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8Lz5cbilcblxuZXhwb3J0IGRlZmF1bHQgRXJyb3JcbiIsICJpbXBvcnQgeyBLaW5vQ29udGV4dCB9IGZyb20gJy4uL2tpbm8nXG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmV4cG9ydCBjb25zdCBkZWJvdW5jZSA9IDxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBSZXR1cm5UeXBlPFQ+PihcbiAgY2FsbGJhY2s6IFQsXG4gIHRpbWVvdXQ6IG51bWJlcixcbik6ICgoLi4uYXJnczogUGFyYW1ldGVyczxUPikgPT4gdm9pZCkgPT4ge1xuICBsZXQgdGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+XG5cbiAgcmV0dXJuICguLi5hcmdzOiBQYXJhbWV0ZXJzPFQ+KSA9PiB7XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVyKVxuICAgIHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjYWxsYmFjayguLi5hcmdzKVxuICAgIH0sIHRpbWVvdXQpXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGxvYWRSZWFjdCA9IGFzeW5jIChjdHg6IEtpbm9Db250ZXh0KTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGlmIChERUJVRykge1xuICAgIGF3YWl0IGN0eC5pbXBvcnRKUyhcbiAgICAgICdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9yZWFjdC8xOC4yLjAvdW1kL3JlYWN0LmRldmVsb3BtZW50LmpzJyxcbiAgICApXG4gICAgYXdhaXQgY3R4LmltcG9ydEpTKFxuICAgICAgJ2h0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3JlYWN0LWRvbS8xOC4yLjAvdW1kL3JlYWN0LWRvbS5kZXZlbG9wbWVudC5qcycsXG4gICAgKVxuICB9IGVsc2Uge1xuICAgIGF3YWl0IGN0eC5pbXBvcnRKUyhcbiAgICAgICdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9yZWFjdC8xOC4yLjAvdW1kL3JlYWN0LnByb2R1Y3Rpb24ubWluLmpzJyxcbiAgICApXG4gICAgYXdhaXQgY3R4LmltcG9ydEpTKFxuICAgICAgJ2h0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3JlYWN0LWRvbS8xOC4yLjAvdW1kL3JlYWN0LWRvbS5wcm9kdWN0aW9uLm1pbi5qcycsXG4gICAgKVxuICB9XG59XG4iLCAiaW1wb3J0IHsgS2lub0NvbnRleHQgfSBmcm9tICcuLi9raW5vJ1xuXG50eXBlIFVwZGF0ZUF0dHJGdW48QXR0cnNUeXBlPiA9IChcbiAgYXR0ck5hbWU6IHN0cmluZyxcbikgPT4gKEF0dHJWYWx1ZTogQXR0cnNUeXBlW2tleW9mIEF0dHJzVHlwZV0pID0+IHZvaWRcblxuY29uc3QgdXNlQXR0cnNTdGF0ZSA9IDxBdHRyc1R5cGUgZXh0ZW5kcyBvYmplY3Q+KFxuICBjdHg6IEtpbm9Db250ZXh0LFxuICBpbml0aWFsQXR0cnM6IEF0dHJzVHlwZSxcbik6IFtBdHRyc1R5cGUsIFVwZGF0ZUF0dHJGdW48QXR0cnNUeXBlPl0gPT4ge1xuICBjb25zdCBbYXR0cnMsIHNldEF0dHJzXSA9IFJlYWN0LnVzZVN0YXRlPEF0dHJzVHlwZT4oaW5pdGlhbEF0dHJzKVxuICBjb25zdCB1cGRhdGVBdHRyOiBVcGRhdGVBdHRyRnVuPEF0dHJzVHlwZT4gPSAoYXR0ck5hbWUpID0+IChhdHRyVmFsdWUpID0+IHtcbiAgICBzZXRBdHRycygoYXR0cnMpID0+ICh7IC4uLmF0dHJzLCBbYXR0ck5hbWVdOiBhdHRyVmFsdWUgfSkpXG4gICAgY29uc29sZS5sb2coJ1B1c2hpbmcgJHthdHRyTmFtZX0gdG8gc2VydmVyJywgYXR0clZhbHVlKVxuICAgIGN0eC5wdXNoRXZlbnQoYHVwZGF0ZV8ke2F0dHJOYW1lfWAsIGF0dHJWYWx1ZSlcbiAgfVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY3R4LmhhbmRsZUV2ZW50PEF0dHJzVHlwZT4oJ3VwZGF0ZScsICh1cGRhdGVzKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnQXR0cmlidXRlIHVwZGF0ZSBmcm9tIHNlcnZlcicsIHVwZGF0ZXMpXG4gICAgICBzZXRBdHRycygoYXR0cnMpID0+ICh7XG4gICAgICAgIC4uLk9iamVjdC5hc3NpZ24oYXR0cnMsIHVwZGF0ZXMpLFxuICAgICAgfSkpXG4gICAgfSlcbiAgfSwgW10pXG4gIHJldHVybiBbYXR0cnMsIHVwZGF0ZUF0dHJdXG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZUF0dHJzU3RhdGVcbiIsICJjb25zdCBDb25uTm90aWNlID0gKCkgPT4gKFxuICA8ZGl2IGNsYXNzTmFtZT1cIm1iLTUgcm91bmRlZC1tZCBiZy1ncmF5LTEwMCBwLTQgZm9udC1pbnRlciB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS01MDBcIj5cbiAgICA8cD5cbiAgICAgIFRvIG1ha2UgcmVxdWVzdHMgdG8gdGhlIEt1YmVybmV0ZXMgY2x1c3RlciwgeW91IG5lZWQgYXQgbGVhc3Qgb25lXG4gICAgICBjb25uZWN0aW9uIHRvIGEgY2x1c3Rlci5cbiAgICA8L3A+XG4gICAgPHAgY2xhc3NOYW1lPVwicHQtMVwiPlxuICAgICAgVG8gY3JlYXRlIGEgY2x1c3RlciBjb25uZWN0aW9uLCB5b3UgY2FuIGFkZCB0aGV7JyAnfVxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ncmF5LTYwMFwiPkNsdXN0ZXIgQ29ubmVjdGlvbjwvc3Bhbj4gc21hcnQgY2VsbC5cbiAgICA8L3A+XG4gIDwvZGl2PlxuKVxuXG5leHBvcnQgZGVmYXVsdCBDb25uTm90aWNlXG4iLCAiaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcblxudHlwZSBJbnB1dFByb3BzID0ge1xuICBuYW1lOiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xuICBkZWZhdWx0VmFsdWU6IHN0cmluZ1xuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWRcbiAgb3JpZW50YXRpb24/OiAnaG9yaXonIHwgJ3ZlcnQnXG59XG5jb25zdCBJbnB1dDogUmVhY3QuRkM8SW5wdXRQcm9wcz4gPSAoe1xuICBuYW1lLFxuICBsYWJlbCxcbiAgZGVmYXVsdFZhbHVlLFxuICBvbkNoYW5nZSxcbiAgb3JpZW50YXRpb24gPSAndmVydCcsXG59KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHtcbiAgICAgICAgJ2ZsZXggZmxleC1yb3cgaXRlbXMtYmFzZWxpbmUnOiBvcmllbnRhdGlvbiA9PSAnaG9yaXonLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGxhYmVsXG4gICAgICAgIGh0bWxGb3I9e25hbWV9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICB7XG4gICAgICAgICAgICBibG9jazogb3JpZW50YXRpb24gPT0gJ3ZlcnQnLFxuICAgICAgICAgICAgJ3ByLTEgdXBwZXJjYXNlJzogb3JpZW50YXRpb24gPT0gJ2hvcml6JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgICdtYi0xIHRleHQtc20gZm9udC1tZWRpdW0nLFxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7bGFiZWx9XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgdmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBvbkNoYW5nZShlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICB7ICdibG9jayB3LWZ1bGwnOiBvcmllbnRhdGlvbiA9PSAndmVydCcgfSxcbiAgICAgICAgICAncm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLWdyYXktMzAwIGJnLWdyYXktNTAgcC0xLjUgdGV4dC1zbSBmb2N1czpib3JkZXItYmx1ZS01MDAgZm9jdXM6cmluZy1ibHVlLTUwMCcsXG4gICAgICAgICl9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IElucHV0XG4iLCAiaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcblxudHlwZSBTZWxlY3RQcm9wcyA9IHtcbiAgbmFtZTogc3RyaW5nXG4gIGxhYmVsOiBzdHJpbmdcbiAgb3B0aW9uczogeyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXVxuICBzZWxlY3RlZE9wdGlvbj86IHN0cmluZ1xuICBvbkNoYW5nZTogKG9wdGlvbjogc3RyaW5nKSA9PiB2b2lkXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBvcmllbnRhdGlvbj86ICdob3JpeicgfCAndmVydCdcbn1cblxuY29uc3QgU2VsZWN0ID0gKHtcbiAgbmFtZSxcbiAgbGFiZWwsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdGVkT3B0aW9uLFxuICBvbkNoYW5nZSxcbiAgY2xhc3NOYW1lID0gJycsXG4gIG9yaWVudGF0aW9uID0gJ3ZlcnQnLFxufTogU2VsZWN0UHJvcHMpID0+IChcbiAgPGRpdlxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgIHtcbiAgICAgICAgJ2ZsZXggZmxleC1yb3cgaXRlbXMtYmFzZWxpbmUnOiBvcmllbnRhdGlvbiA9PSAnaG9yaXonLFxuICAgICAgfSxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICApfVxuICA+XG4gICAgPGxhYmVsXG4gICAgICBodG1sRm9yPXtuYW1lfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFxuICAgICAgICB7XG4gICAgICAgICAgYmxvY2s6IG9yaWVudGF0aW9uID09ICd2ZXJ0JyxcbiAgICAgICAgICAncHItMSB1cHBlcmNhc2UnOiBvcmllbnRhdGlvbiA9PSAnaG9yaXonLFxuICAgICAgICB9LFxuICAgICAgICAnbWItMSB0ZXh0LXNtIGZvbnQtbWVkaXVtJyxcbiAgICAgICl9XG4gICAgPlxuICAgICAge2xhYmVsfVxuICAgIDwvbGFiZWw+XG4gICAgPHNlbGVjdFxuICAgICAgaWQ9e25hbWV9XG4gICAgICB2YWx1ZT17c2VsZWN0ZWRPcHRpb24gfHwgdW5kZWZpbmVkfVxuICAgICAgb25DaGFuZ2U9eyhlKSA9PiBvbkNoYW5nZShlIS50YXJnZXQhLnZhbHVlKX1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgeyAnYmxvY2sgdy1mdWxsJzogb3JpZW50YXRpb24gPT0gJ3ZlcnQnIH0sXG4gICAgICAgICcgYmctY2FyZXQtZG93biBhcHBlYXJhbmNlLW5vbmUgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLWdyYXktMzAwIGJnLWdyYXktNTAgYmctW2xlbmd0aDoxMHB4XSBiZy1bY2VudGVyX3JpZ2h0XzEwcHhdIGJnLW5vLXJlcGVhdCBwLTIgcHItNSB0ZXh0LXNtIGZvY3VzOmJvcmRlci1ibHVlLTUwMCBmb2N1czpyaW5nLWJsdWUtNTAwJyxcbiAgICAgICl9XG4gICAgPlxuICAgICAge29wdGlvbnMubWFwKChvcHRpb24pID0+IChcbiAgICAgICAgPG9wdGlvbiBrZXk9e29wdGlvbi52YWx1ZX0gdmFsdWU9e29wdGlvbi52YWx1ZX0+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgICApKX1cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG4pXG5cbmV4cG9ydCBkZWZhdWx0IFNlbGVjdFxuIiwgImltcG9ydCB7IEtpbm9Db250ZXh0IH0gZnJvbSAnLi4va2lubydcbmltcG9ydCB1c2VBdHRyc1N0YXRlIGZyb20gJy4uL3NoYXJlZC9hdHRyX3N0YXRlJ1xuaW1wb3J0IENvbm5Ob3RpY2UgZnJvbSAnLi4vc2hhcmVkL2Nvbm5fbm90aWNlJ1xuaW1wb3J0IElucHV0IGZyb20gJy4uL3NoYXJlZC9mb3JtL2lucHV0J1xuaW1wb3J0IFNlbGVjdCBmcm9tICcuLi9zaGFyZWQvZm9ybS9zZWxlY3QnXG5pbXBvcnQgeyBBcHBseUNlbGxBdHRycyB9IGZyb20gJy4vdHlwZXMnXG5cbmludGVyZmFjZSBBcHBQcm9wcyB7XG4gIGluaXRpYWxBdHRyczogQXBwbHlDZWxsQXR0cnNcbiAgY3R4OiBLaW5vQ29udGV4dFxufVxuXG5jb25zdCBBcHA6IFJlYWN0LkZDPEFwcFByb3BzPiA9ICh7IGluaXRpYWxBdHRycywgY3R4IH0pID0+IHtcbiAgY29uc3QgW2F0dHJzLCB1cGRhdGVBdHRyXSA9IHVzZUF0dHJzU3RhdGUoY3R4LCBpbml0aWFsQXR0cnMpXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgeyFhdHRycy5jb25uZWN0aW9uICYmIDxDb25uTm90aWNlIC8+fVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3VuZGVkLW1kIGJvcmRlci10IGJvcmRlci1zb2xpZCBib3JkZXItZ3JheS0zMDAgZm9udC1pbnRlciBmb250LW1lZGl1bSB0ZXh0LWdyYXktNjAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm9yZGVyLWItc29saWQgZmxleCBnYXAteC01IGdhcC15LTMgYm9yZGVyLWIgYm9yZGVyLWItZ3JheS0zMDAgYmctYmx1ZS0xMDAgcC0zXCI+XG4gICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgbmFtZT1cImNvbm5lY3Rpb25cIlxuICAgICAgICAgICAgbGFiZWw9XCJDb25uZWN0aW9uXCJcbiAgICAgICAgICAgIG9wdGlvbnM9e2F0dHJzLmNvbm5lY3Rpb25zLm1hcCgoY29ubmVjdGlvbikgPT4gKHtcbiAgICAgICAgICAgICAgbGFiZWw6IGNvbm5lY3Rpb24udmFyaWFibGUsXG4gICAgICAgICAgICAgIHZhbHVlOiBjb25uZWN0aW9uLnZhcmlhYmxlLFxuICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb249e2F0dHJzLmNvbm5lY3Rpb24/LnZhcmlhYmxlPy50b1N0cmluZygpfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3VwZGF0ZUF0dHIoJ2Nvbm5lY3Rpb24nKX1cbiAgICAgICAgICAgIG9yaWVudGF0aW9uPVwiaG9yaXpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgbmFtZT1cIm1ldGhvZFwiXG4gICAgICAgICAgICBsYWJlbD1cIk1ldGhvZFwiXG4gICAgICAgICAgICBvcHRpb25zPXthdHRycy5tZXRob2RzLm1hcCgobWV0aG9kKSA9PiAoe1xuICAgICAgICAgICAgICBsYWJlbDogbWV0aG9kLnRvVXBwZXJDYXNlKCksXG4gICAgICAgICAgICAgIHZhbHVlOiBtZXRob2QsXG4gICAgICAgICAgICB9KSl9XG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbj17YXR0cnMubWV0aG9kfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3VwZGF0ZUF0dHIoJ21ldGhvZCcpfVxuICAgICAgICAgICAgb3JpZW50YXRpb249XCJob3JpelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgIGxhYmVsPVwiQXNzaWduIFRvXCJcbiAgICAgICAgICAgIG5hbWU9XCJhc3NpZ25fdG9cIlxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXthdHRyc1sncmVzdWx0X3ZhcmlhYmxlJ119XG4gICAgICAgICAgICBvbkNoYW5nZT17dXBkYXRlQXR0cigncmVzdWx0X3ZhcmlhYmxlJyl9XG4gICAgICAgICAgICBvcmllbnRhdGlvbj1cImhvcml6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IEFwcFxuIiwgImltcG9ydCB7IEtpbm9Db250ZXh0IH0gZnJvbSAnLi4va2lubydcbmltcG9ydCBFcnJvciBmcm9tICcuLi9zaGFyZWQvZXJyb3InXG5pbXBvcnQgeyBsb2FkUmVhY3QgfSBmcm9tICcuLi9zaGFyZWQvdXRpbHMnXG5pbXBvcnQgQXBwIGZyb20gJy4vYXBwJ1xuaW1wb3J0IHsgQXBwbHlDZWxsQXR0cnMgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgaW5pdCA9IGFzeW5jIChcbiAgY3R4OiBLaW5vQ29udGV4dCxcbiAgYXR0cnM6IEFwcGx5Q2VsbEF0dHJzLFxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGF3YWl0IGxvYWRSZWFjdChjdHgsIGF0dHJzKVxuXG4gIGN0eC5yb290LmlubmVySFRNTCA9ICdsb2FkaW5nLi4uJ1xuXG4gIGN0eC5pbXBvcnRDU1MoJ21haW4uY3NzJylcbiAgY3R4LmltcG9ydENTUyhcbiAgICAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDQwMDs1MDAmZGlzcGxheT1zd2FwJyxcbiAgKVxuXG4gIGNvbnN0IHJvb3QgPSBSZWFjdERPTS5jcmVhdGVSb290KGN0eC5yb290KVxuICBpZiAoYXR0cnMuZXJyb3IpIHtcbiAgICByZXR1cm4gcm9vdC5yZW5kZXIoPEVycm9yIG1lc3NhZ2U9e2F0dHJzLmVycm9yfSAvPilcbiAgfVxuXG4gIHJvb3QucmVuZGVyKDxBcHAgaW5pdGlhbEF0dHJzPXthdHRyc30gY3R4PXtjdHh9IC8+KVxufVxuIl0sCiAgIm1hcHBpbmdzIjogInlnQkFBQSxJQUFBQSxFQUFBQyxFQUFBLENBQUFDLEVBQUFDLElBQUEsRUFPQyxVQUFZLENBQ1osYUFFQSxJQUFJQyxFQUFTLENBQUMsRUFBRSxlQUNaQyxFQUFtQixnQkFFdkIsU0FBU0MsR0FBYSxDQUdyQixRQUZJQyxFQUFVLENBQUMsRUFFTkMsRUFBSSxFQUFHQSxFQUFJLFVBQVUsT0FBUUEsSUFBSyxDQUMxQyxJQUFJQyxFQUFNLFVBQVVELENBQUMsRUFDckIsR0FBS0MsRUFFTCxLQUFJQyxFQUFVLE9BQU9ELEVBRXJCLEdBQUlD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T0FBSSxVQUFVLHlGQUNiLG9CQUFDLE9BQUksVUFBVSxrRkFDYixvQkFBQ0MsRUFBQSxDQUNDLEtBQUssYUFDTCxNQUFNLGFBQ04sUUFBU0osRUFBTSxZQUFZLElBQUtLLElBQWdCLENBQzlDLE1BQU9BLEVBQVcsU0FDbEIsTUFBT0EsRUFBVyxRQUNwQixFQUFFLEVBQ0YsZUFBZ0JMLEVBQU0sWUFBWSxVQUFVLFNBQVMsRUFDckQsU0FBVUMsRUFBVyxZQUFZLEVBQ2pDLFlBQVksUUFDZCxFQUNBLG9CQUFDRyxFQUFBLENBQ0MsS0FBSyxTQUNMLE1BQU0sU0FDTixRQUFTSixFQUFNLFFBQVEsSUFBS00sSUFBWSxDQUN0QyxNQUFPQSxFQUFPLFlBQVksRUFDMUIsTUFBT0EsQ0FDVCxFQUFFLEVBQ0YsZUFBZ0JOLEVBQU0sT0FDdEIsU0FBVUMsRUFBVyxRQUFRLEVBQzdCLFlBQVksUUFDZCxFQUNBLG9CQUFDTSxFQUFBLENBQ0MsTUFBTSxZQUNOLEtBQUssWUFDTCxhQUFjUCxFQUFNLGdCQUNwQixTQUFVQyxFQUFXLGlCQUFpQixFQUN0QyxZQUFZLFFBQ2QsQ0FDRixDQUNGLENBQ0YsQ0FFSixFQUVPTyxFQUFRWCxFQ2pEUixJQUFNWSxFQUFPLE1BQ2xCQyxFQUNBQyxJQUNrQixDQUNsQixNQUFNQyxFQUFVRixFQUFLQyxDQUFLLEVBRTFCRCxFQUFJLEtBQUssVUFBWSxhQUVyQkEsRUFBSSxVQUFVLFVBQVUsRUFDeEJBLEVBQUksVUFDRiwwRUFDRixFQUVBLElBQU1HLEVBQU8sU0FBUyxXQUFXSCxFQUFJLElBQUksRUFDekMsR0FBSUMsRUFBTSxNQUNSLE9BQU9FLEVBQUssT0FBTyxvQkFBQ0MsRUFBQSxDQUFNLFFBQVNILEVBQU0sTUFBTyxDQUFFLEVBR3BERSxFQUFLLE9BQU8sb0JBQUNFLEVBQUEsQ0FBSSxhQUFjSixFQUFPLElBQUtELEVBQUssQ0FBRSxDQUNwRCIsCiAgIm5hbWVzIjogWyJyZXF1aXJlX2NsYXNzbmFtZXMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJoYXNPd24iLCAibmF0aXZlQ29kZVN0cmluZyIsICJjbGFzc05hbWVzIiwgImNsYXNzZXMiLCAiaSIsICJhcmciLCAiYXJnVHlwZSIsICJpbm5lciIsICJrZXkiLCAiRXJyb3IiLCAibWVzc2FnZSIsICJlcnJvcl9kZWZhdWx0IiwgImxvYWRSZWFjdCIsICJjdHgiLCAidXNlQXR0cnNTdGF0ZSIsICJjdHgiLCAiaW5pdGlhbEF0dHJzIiwgImF0dHJzIiwgInNldEF0dHJzIiwgInVwZGF0ZUF0dHIiLCAiYXR0ck5hbWUiLCAiYXR0clZhbHVlIiwgInVwZGF0ZXMiLCAiYXR0cl9zdGF0ZV9kZWZhdWx0IiwgIkNvbm5Ob3RpY2UiLCAiY29ubl9ub3RpY2VfZGVmYXVsdCIsICJpbXBvcnRfY2xhc3NuYW1lcyIsICJJbnB1dCIsICJuYW1lIiwgImxhYmVsIiwgImRlZmF1bHRWYWx1ZSIsICJvbkNoYW5nZSIsICJvcmllbnRhdGlvbiIsICJjbGFzc05hbWVzIiwgImUiLCAiaW5wdXRfZGVmYXVsdCIsICJpbXBvcnRfY2xhc3NuYW1lcyIsICJTZWxlY3QiLCAibmFtZSIsICJsYWJlbCIsICJvcHRpb25zIiwgInNlbGVjdGVkT3B0aW9uIiwgIm9uQ2hhbmdlIiwgImNsYXNzTmFtZSIsICJvcmllbnRhdGlvbiIsICJjbGFzc05hbWVzIiwgImUiLCAib3B0aW9uIiwgInNlbGVjdF9kZWZhdWx0IiwgIkFwcCIsICJpbml0aWFsQXR0cnMiLCAiY3R4IiwgImF0dHJzIiwgInVwZGF0ZUF0dHIiLCAiYXR0cl9zdGF0ZV9kZWZhdWx0IiwgImNvbm5fbm90aWNlX2RlZmF1bHQiLCAic2VsZWN0X2RlZmF1bHQiLCAiY29ubmVjdGlvbiIsICJtZXRob2QiLCAiaW5wdXRfZGVmYXVsdCIsICJhcHBfZGVmYXVsdCIsICJpbml0IiwgImN0eCIsICJhdHRycyIsICJsb2FkUmVhY3QiLCAicm9vdCIsICJlcnJvcl9kZWZhdWx0IiwgImFwcF9kZWZhdWx0Il0KfQo=