Files
vuefilemanager/public/chunks/contact-us.js
T
2021-03-26 16:42:58 +01:00

2 lines
172 KiB
JavaScript
Vendored

(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{"5JKU":function(n,a,t){(n.exports=t("I1BE")(!1)).push([n.i,".landing-page[data-v-6163db28] {\n overflow-x: hidden;\n}\n.page-wrapper[data-v-6163db28] {\n position: relative;\n margin: 0 auto;\n padding-left: 25px;\n padding-right: 25px;\n}\n.page-wrapper.large[data-v-6163db28] {\n width: 1490px;\n}\n.page-wrapper.medium[data-v-6163db28] {\n width: 1150px;\n}\n.page-wrapper.small[data-v-6163db28] {\n width: 890px;\n}\n@media only screen and (max-width: 1390px) {\n.page-wrapper.large[data-v-6163db28] {\n width: 100%;\n}\n}\n@media only screen and (max-width: 1190px) {\n.page-wrapper.large[data-v-6163db28] {\n width: 100%;\n}\n.page-wrapper.medium[data-v-6163db28] {\n width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.page-wrapper[data-v-6163db28] {\n padding-left: 25px;\n padding-right: 25px;\n}\n.page-wrapper.small[data-v-6163db28] {\n width: 100%;\n}\n}\nfooter[data-v-6163db28] {\n text-align: center;\n padding-top: 80px;\n}\n.logo[data-v-6163db28] {\n margin-bottom: 15px;\n cursor: pointer;\n}\n.logo img[data-v-6163db28] {\n height: 38px;\n width: auto;\n}\n.logo .logo-text[data-v-6163db28] {\n font-weight: 800;\n font-size: 1.5625em;\n}\n.navigation-links[data-v-6163db28] {\n display: inline-block;\n}\n.navigation-links li[data-v-6163db28] {\n display: inline-block;\n}\n.navigation-links li a[data-v-6163db28] {\n display: block;\n padding: 19px;\n font-weight: 700;\n font-size: 1.0625em;\n transition: 150ms all ease;\n}\n.copyright[data-v-6163db28] {\n font-size: 1.0625em;\n color: rgba(27, 37, 57, 0.7);\n padding-top: 50px;\n padding-bottom: 20px;\n}\n.copyright[data-v-6163db28] a {\n font-weight: 700;\n}\n@media only screen and (max-width: 960px) {\n.navigation-links[data-v-6163db28] {\n display: block;\n}\n.navigation-links li[data-v-6163db28] {\n display: block;\n}\n.navigation-links li a[data-v-6163db28] {\n padding: 10px 0;\n}\n}\n@media (prefers-color-scheme: dark) {\n.copyright[data-v-6163db28] {\n color: #7d858c;\n}\n}\n",""])},AMRr:function(n,a,t){"use strict";var e=t("P0S2");t.n(e).a},ASoH:function(n,a,t){"use strict";var e={name:"AuthContent",props:["loading","icon","text"],data:function(){return{isVisible:!1}},created:function(){this.isVisible=this.visible}},i=(t("RLEU"),t("KHd+")),o=Object(i.a)(e,(function(){var n=this,a=n.$createElement,t=n._self._c||a;return t("button",{staticClass:"button outline hover-text-theme hover-border-theme"},[t("span",{staticClass:"text-label"},[n._v(n._s(n.text))]),n._v(" "),n.loading?t("span",{staticClass:"icon"},[t("FontAwesomeIcon",{staticClass:"sync-alt svg-color-theme",attrs:{icon:"sync-alt"}})],1):n._e(),n._v(" "),!n.loading&&n.icon?t("span",{staticClass:"icon"},[t("FontAwesomeIcon",{staticClass:"svg-color-theme",attrs:{icon:n.icon}})],1):n._e()])}),[],!1,null,"16e9ad58",null);a.a=o.exports},Bn5E:function(n,a,t){"use strict";var e=t("L+0x");t.n(e).a},Ipqg:function(n,a,t){var e=t("xoEp");"string"==typeof e&&(e=[[n.i,e,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,i);e.locals&&(n.exports=e.locals)},JHC5:function(n,a,t){var e=t("YUi1");"string"==typeof e&&(e=[[n.i,e,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,i);e.locals&&(n.exports=e.locals)},KnjL:function(n,a,t){"use strict";var e={name:"InfoBox",props:["type"]},i=(t("pFam"),t("KHd+")),o=Object(i.a)(e,(function(){var n=this.$createElement;return(this._self._c||n)("div",{staticClass:"info-box",class:this.type},[this._t("default")],2)}),[],!1,null,"8e7c42f6",null);a.a=o.exports},"L+0x":function(n,a,t){var e=t("rlDX");"string"==typeof e&&(e=[[n.i,e,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,i);e.locals&&(n.exports=e.locals)},OMxy:function(n,a,t){(n.exports=t("I1BE")(!1)).push([n.i,".landing-page[data-v-4631c5f6] {\n overflow-x: hidden;\n}\n.page-wrapper[data-v-4631c5f6] {\n position: relative;\n margin: 0 auto;\n padding-left: 25px;\n padding-right: 25px;\n}\n.page-wrapper.large[data-v-4631c5f6] {\n width: 1490px;\n}\n.page-wrapper.medium[data-v-4631c5f6] {\n width: 1150px;\n}\n.page-wrapper.small[data-v-4631c5f6] {\n width: 890px;\n}\n@media only screen and (max-width: 1390px) {\n.page-wrapper.large[data-v-4631c5f6] {\n width: 100%;\n}\n}\n@media only screen and (max-width: 1190px) {\n.page-wrapper.large[data-v-4631c5f6] {\n width: 100%;\n}\n.page-wrapper.medium[data-v-4631c5f6] {\n width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.page-wrapper[data-v-4631c5f6] {\n padding-left: 25px;\n padding-right: 25px;\n}\n.page-wrapper.small[data-v-4631c5f6] {\n width: 100%;\n}\n}\n.page-title[data-v-4631c5f6] {\n position: relative;\n z-index: 1;\n}\n.page-title.center[data-v-4631c5f6] {\n text-align: center;\n}\n.page-title.center .title[data-v-4631c5f6] {\n margin-left: auto;\n margin-right: auto;\n max-width: 780px;\n}\n.page-title.center .description[data-v-4631c5f6] {\n margin-left: auto;\n margin-right: auto;\n}\n.page-title .title[data-v-4631c5f6] {\n max-width: 580px;\n font-size: 48px;\n font-weight: 800;\n line-height: 1.3;\n margin-bottom: 15px;\n}\n.page-title .title[data-v-4631c5f6] span {\n font-size: 48px;\n}\n.page-title .description[data-v-4631c5f6] {\n max-width: 580px;\n font-size: 1.25em;\n font-weight: 500;\n line-height: 1.65;\n margin-bottom: 30px;\n}\n@media only screen and (max-width: 960px) {\n.page-title .title[data-v-4631c5f6] {\n max-width: 100%;\n font-size: 32px;\n line-height: 1.25;\n margin-bottom: 15px;\n}\n.page-title .title[data-v-4631c5f6] span {\n font-size: 32px;\n}\n.page-title .description[data-v-4631c5f6] {\n max-width: 100%;\n font-size: 1em;\n line-height: 1.6;\n margin-bottom: 30px;\n}\n}\n",""])},P0S2:function(n,a,t){var e=t("5JKU");"string"==typeof e&&(e=[[n.i,e,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,i);e.locals&&(n.exports=e.locals)},"Qqv+":function(n,a,t){var e=t("biqn");"string"==typeof e&&(e=[[n.i,e,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,i);e.locals&&(n.exports=e.locals)},RLEU:function(n,a,t){"use strict";var e=t("JHC5");t.n(e).a},TJPC:function(n,a,t){"use strict";t.d(a,"a",(function(){return o}));function e(n){return null==n}function i(n){return Array.isArray(n)&&0===n.length}var o={validate:function(n,a){var t=(void 0===a?{allowFalse:!0}:a).allowFalse,o={valid:!1,required:!0};return e(n)||i(n)?o:!1!==n||t?(o.valid=!!String(n).trim().length,o):o},params:[{name:"allowFalse",default:!0}],computesRequired:!0}},"UV+N":function(n,a,t){"use strict";var e=t("hbX3");t.n(e).a},YUi1:function(n,a,t){(n.exports=t("I1BE")(!1)).push([n.i,".button[data-v-16e9ad58] {\n cursor: pointer;\n border-radius: 8px;\n text-decoration: none;\n padding: 12px 32px;\n display: inline-block;\n margin-left: 15px;\n margin-right: 15px;\n white-space: nowrap;\n transition: 150ms all ease;\n background: transparent;\n}\n.button .text-label[data-v-16e9ad58] {\n transition: 150ms all ease;\n font-size: 1.0625em;\n font-weight: 800;\n line-height: 0;\n}\n.button .icon[data-v-16e9ad58] {\n margin-left: 12px;\n font-size: 1em;\n}\n.button.solid[data-v-16e9ad58] {\n background: #00BC7E;\n border: 2px solid #00BC7E;\n}\n.button.solid .text-label[data-v-16e9ad58] {\n color: white;\n}\n.button.outline[data-v-16e9ad58] {\n border: 2px solid #1B2539;\n}\n.button.outline .text-label[data-v-16e9ad58] {\n color: #1B2539;\n}\n.button.outline .icon path[data-v-16e9ad58] {\n fill: inherit;\n}\n.button.outline[data-v-16e9ad58]:hover {\n border-color: inherit;\n}\n.button.outline:hover .text-label[data-v-16e9ad58] {\n color: inherit;\n}\n@media (prefers-color-scheme: dark) {\n.button.outline[data-v-16e9ad58] {\n background: #131414;\n border-color: #bec6cf;\n}\n.button.outline .text-label[data-v-16e9ad58] {\n color: #bec6cf;\n}\n}\n.sync-alt[data-v-16e9ad58] {\n -webkit-animation: spin-data-v-16e9ad58 1s linear infinite;\n animation: spin-data-v-16e9ad58 1s linear infinite;\n}\n@-webkit-keyframes spin-data-v-16e9ad58 {\n0% {\n transform: rotate(0);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n@keyframes spin-data-v-16e9ad58 {\n0% {\n transform: rotate(0);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n",""])},ZXUr:function(n,a,t){"use strict";t.r(a);var e=t("o0o1"),i=t.n(e),o=t("A5+z"),r=t("cYu/"),p=t("izjo"),d=t("v9i2"),l=t("KnjL"),s=t("ASoH"),c=t("TJPC"),f=t("L2JU"),u=t("vDqi"),m=t.n(u);function v(n,a,t,e,i,o,r){try{var p=n[o](r),d=p.value}catch(n){return void t(n)}p.done?a(d):Promise.resolve(d).then(e,i)}function g(n,a){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(n);a&&(e=e.filter((function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable}))),t.push.apply(t,e)}return t}function b(n,a,t){return a in n?Object.defineProperty(n,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[a]=t,n}var h={name:"ContactUs",components:{ValidationProvider:o.ValidationProvider,ValidationObserver:o.ValidationObserver,AuthButton:s.a,PageFooter:p.a,Navigation:d.a,PageTitle:r.a,required:c.a,InfoBox:l.a},computed:function(n){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?g(Object(t),!0).forEach((function(a){b(n,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):g(Object(t)).forEach((function(a){Object.defineProperty(n,a,Object.getOwnPropertyDescriptor(t,a))}))}return n}({},Object(f.b)(["config"])),data:function(){return{isLoading:!1,isSuccess:!1,isError:!1,contact:{email:"",message:""}}},methods:{contactForm:function(){var n,a=this;return(n=i.a.mark((function n(){return i.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,a.$refs.contactForm.validate();case 2:if(n.sent){n.next=5;break}return n.abrupt("return");case 5:a.isLoading=!0,m.a.post("/api/contact",a.contact).then((function(){a.isSuccess=!0})).catch((function(){a.isError=!0})).finally((function(){a.isLoading=!1}));case 7:case"end":return n.stop()}}),n)})),function(){var a=this,t=arguments;return new Promise((function(e,i){var o=n.apply(a,t);function r(n){v(o,e,i,r,p,"next",n)}function p(n){v(o,e,i,r,p,"throw",n)}r(void 0)}))})()}},created:function(){this.$scrollTop()}},x=(t("tK2K"),t("KHd+")),w=Object(x.a)(h,(function(){var n=this,a=n.$createElement,t=n._self._c||a;return t("div",{staticClass:"landing-page"},[t("Navigation",{staticClass:"page-wrapper small"}),n._v(" "),t("div",{staticClass:"page-wrapper small"},[t("PageTitle",{staticClass:"headline",attrs:{title:n.$t("page_contact_us.title"),description:n.$t("page_contact_us.description")}}),n._v(" "),n.isSuccess?n._e():t("ValidationObserver",{ref:"contactForm",staticClass:"form block-form",attrs:{tag:"form"},on:{submit:function(a){return a.preventDefault(),n.contactForm(a)}},scopedSlots:n._u([{key:"default",fn:function(a){a.invalid;return[t("div",{staticClass:"block-wrapper"},[t("label",[n._v(n._s(n.$t("page_contact_us.form.email"))+":")]),n._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"E-Mail",rules:"required"},scopedSlots:n._u([{key:"default",fn:function(a){var e=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:n.contact.email,expression:"contact.email"}],staticClass:"focus-border-theme",class:{"is-error":e[0]},attrs:{placeholder:n.$t("page_contact_us.form.email_plac"),type:"email"},domProps:{value:n.contact.email},on:{input:function(a){a.target.composing||n.$set(n.contact,"email",a.target.value)}}}),n._v(" "),e[0]?t("span",{staticClass:"error-message"},[n._v(n._s(e[0]))]):n._e()]}}],null,!0)})],1),n._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[n._v(n._s(n.$t("page_contact_us.form.message"))+":")]),n._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Message",rules:"required"},scopedSlots:n._u([{key:"default",fn:function(a){var e=a.errors;return[t("textarea",{directives:[{name:"model",rawName:"v-model",value:n.contact.message,expression:"contact.message"}],staticClass:"focus-border-theme",class:{"is-error":e[0]},attrs:{placeholder:n.$t("page_contact_us.form.message_plac"),rows:"6"},domProps:{value:n.contact.message},on:{input:function(a){a.target.composing||n.$set(n.contact,"message",a.target.value)}}}),n._v(" "),e[0]?t("span",{staticClass:"error-message"},[n._v(n._s(e[0]))]):n._e()]}}],null,!0)})],1),n._v(" "),n.isError?t("InfoBox",[t("p",[n._v(n._s(n.$t("page_contact_us.error_message")))])]):n._e(),n._v(" "),t("div",[t("AuthButton",{staticClass:"submit-button",attrs:{icon:"chevron-right",text:n.$t("page_contact_us.form.submit_button"),loading:n.isLoading,disabled:n.isLoading}})],1)]}}],null,!1,438434267)}),n._v(" "),n.isSuccess?t("InfoBox",[t("p",[n._v(n._s(n.$t("page_contact_us.success_message")))])]):n._e()],1),n._v(" "),t("PageFooter")],1)}),[],!1,null,"48af37e3",null);a.default=w.exports},biqn:function(n,a,t){(n.exports=t("I1BE")(!1)).push([n.i,".info-box[data-v-8e7c42f6] {\n padding: 20px;\n border-radius: 8px;\n margin-bottom: 32px;\n background: #f4f5f6;\n text-align: left;\n}\n.info-box.error[data-v-8e7c42f6] {\n background: rgba(253, 57, 122, 0.1);\n}\n.info-box.error p[data-v-8e7c42f6], .info-box.error a[data-v-8e7c42f6] {\n color: #fd397a;\n}\n.info-box.error a[data-v-8e7c42f6] {\n text-decoration: underline;\n}\n.info-box p[data-v-8e7c42f6] {\n font-size: 15px;\n line-height: 1.6;\n word-break: break-word;\n font-weight: 600;\n}\n.info-box p[data-v-8e7c42f6] a {\n font-size: 15px;\n}\n.info-box p[data-v-8e7c42f6] b {\n font-size: 15px;\n font-weight: 700;\n}\n.info-box b[data-v-8e7c42f6] {\n font-weight: 700;\n}\n.info-box a[data-v-8e7c42f6] {\n font-weight: 700;\n font-size: 0.9375em;\n line-height: 1.6;\n}\n.info-box ul[data-v-8e7c42f6] {\n margin-top: 15px;\n display: block;\n}\n.info-box ul li[data-v-8e7c42f6] {\n display: block;\n}\n.info-box ul li a[data-v-8e7c42f6] {\n display: block;\n}\n@media only screen and (max-width: 690px) {\n.info-box[data-v-8e7c42f6] {\n padding: 15px;\n}\n}\n@media (prefers-color-scheme: dark) {\n.info-box[data-v-8e7c42f6] {\n background: #1e2024;\n}\n.info-box p[data-v-8e7c42f6] {\n color: #bec6cf;\n}\n.info-box ul li[data-v-8e7c42f6] {\n color: #bec6cf;\n}\n}\n",""])},"cYu/":function(n,a,t){"use strict";var e={name:"IndexPageTile",props:["title","description","type"]},i=(t("UV+N"),t("KHd+")),o=Object(i.a)(e,(function(){var n=this,a=n.$createElement,t=n._self._c||a;return t("div",{staticClass:"page-title left",class:n.type},[t("h1",{staticClass:"title",domProps:{innerHTML:n._s(n.title)}}),n._v(" "),n.description?t("h2",{staticClass:"description"},[n._v("\n "+n._s(n.description)+"\n ")]):n._e()])}),[],!1,null,"4631c5f6",null);a.a=o.exports},hbX3:function(n,a,t){var e=t("OMxy");"string"==typeof e&&(e=[[n.i,e,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,i);e.locals&&(n.exports=e.locals)},izjo:function(n,a,t){"use strict";var e=t("L2JU");function i(n,a){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(n);a&&(e=e.filter((function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable}))),t.push.apply(t,e)}return t}function o(n,a,t){return a in n?Object.defineProperty(n,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[a]=t,n}var r={name:"IndexPageFooter",computed:function(n){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){o(n,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(n,a,Object.getOwnPropertyDescriptor(t,a))}))}return n}({},Object(e.b)(["config"]))},p=(t("AMRr"),t("KHd+")),d=Object(p.a)(r,(function(){var n=this,a=n.$createElement,t=n._self._c||a;return t("footer",{staticClass:"page-wrapper medium"},[t("router-link",{staticClass:"logo",attrs:{to:{name:"Homepage"},tag:"div"}},[n.config.app_logo_horizontal?t("img",{attrs:{src:n.$getImage(n.config.app_logo_horizontal),alt:n.config.app_name}}):n._e(),n._v(" "),n.config.app_logo_horizontal?n._e():t("b",{staticClass:"logo-text"},[n._v(n._s(n.config.app_name))])]),n._v(" "),t("ul",{staticClass:"navigation-links"},[t("li",[t("router-link",{staticClass:"hover-text-theme",attrs:{to:{name:"ContactUs"}}},[n._v("\n "+n._s(n.$t("page_index.menu.contact_us"))+"\n ")])],1)]),n._v(" "),t("ul",{staticClass:"navigation-links"},n._l(n.config.legal,(function(a,e){return a.visibility?t("li",{key:e},[t("router-link",{staticClass:"hover-text-theme",attrs:{to:{name:"DynamicPage",params:{slug:a.slug}}}},[n._v("\n "+n._s(a.title)+"\n ")])],1):n._e()})),0),n._v(" "),t("p",{staticClass:"copyright",domProps:{innerHTML:n._s(n.config.app_footer)}})],1)}),[],!1,null,"6163db28",null);a.a=d.exports},pFam:function(n,a,t){"use strict";var e=t("Qqv+");t.n(e).a},rlDX:function(n,a,t){(n.exports=t("I1BE")(!1)).push([n.i,".landing-page[data-v-6746e233] {\n overflow-x: hidden;\n}\n.page-wrapper[data-v-6746e233] {\n position: relative;\n margin: 0 auto;\n padding-left: 25px;\n padding-right: 25px;\n}\n.page-wrapper.large[data-v-6746e233] {\n width: 1490px;\n}\n.page-wrapper.medium[data-v-6746e233] {\n width: 1150px;\n}\n.page-wrapper.small[data-v-6746e233] {\n width: 890px;\n}\n@media only screen and (max-width: 1390px) {\n.page-wrapper.large[data-v-6746e233] {\n width: 100%;\n}\n}\n@media only screen and (max-width: 1190px) {\n.page-wrapper.large[data-v-6746e233] {\n width: 100%;\n}\n.page-wrapper.medium[data-v-6746e233] {\n width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.page-wrapper[data-v-6746e233] {\n padding-left: 25px;\n padding-right: 25px;\n}\n.page-wrapper.small[data-v-6746e233] {\n width: 100%;\n}\n}\n.main-navigation[data-v-6746e233] {\n justify-content: space-between;\n padding-bottom: 25px;\n align-items: center;\n padding-top: 25px;\n display: flex;\n}\n.logo[data-v-6746e233] {\n cursor: pointer;\n}\n.logo img[data-v-6746e233] {\n cursor: pointer;\n height: 38px;\n width: auto;\n}\n.logo .logo-text[data-v-6746e233] {\n font-weight: 800;\n font-size: 1.5625em;\n}\n.navigation-links[data-v-6746e233] {\n display: inline-block;\n margin-left: 25px;\n}\n.navigation-links[data-v-6746e233]:first-child {\n margin-left: 0;\n}\n.navigation-links li[data-v-6746e233] {\n display: inline-block;\n}\n.navigation-links li a[data-v-6746e233] {\n padding: 14px;\n font-weight: 700;\n font-size: 1.0625em;\n transition: 150ms all ease;\n}\n.cta-button[data-v-6746e233] {\n border-radius: 6px;\n padding: 8px 23px;\n font-size: 1.0625em;\n font-weight: 700;\n}\n.cta-button.log-in[data-v-6746e233] {\n display: none;\n}\n@media only screen and (max-width: 690px) {\n.navigation[data-v-6746e233] {\n display: none;\n}\n.logo img[data-v-6746e233] {\n height: auto;\n width: 190px;\n}\n.cta-button.log-in[data-v-6746e233] {\n display: block;\n}\n}\n",""])},tK2K:function(n,a,t){"use strict";var e=t("Ipqg");t.n(e).a},v9i2:function(n,a,t){"use strict";var e=t("L2JU");function i(n,a){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(n);a&&(e=e.filter((function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable}))),t.push.apply(t,e)}return t}function o(n,a,t){return a in n?Object.defineProperty(n,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[a]=t,n}var r={name:"IndexNavigation",computed:function(n){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){o(n,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(n,a,Object.getOwnPropertyDescriptor(t,a))}))}return n}({},Object(e.b)(["config","index"]))},p=(t("Bn5E"),t("KHd+")),d=Object(p.a)(r,(function(){var n=this,a=n.$createElement,t=n._self._c||a;return t("nav",{staticClass:"main-navigation"},[t("router-link",{staticClass:"logo",attrs:{to:{name:"Homepage"},tag:"div"}},[n.config.app_logo_horizontal?t("img",{attrs:{src:n.$getImage(n.config.app_logo_horizontal),alt:n.config.app_name}}):n._e(),n._v(" "),n.config.app_logo_horizontal?n._e():t("b",{staticClass:"logo-text"},[n._v(n._s(n.config.app_name))])]),n._v(" "),t("div",{staticClass:"navigation"},[t("ul",{staticClass:"navigation-links"},[t("li",[t("router-link",{staticClass:"hover-text-theme",attrs:{to:{name:"ContactUs"}}},[n._v("\n "+n._s(n.$t("page_index.menu.contact_us"))+"\n ")])],1)]),n._v(" "),n.config.isAuthenticated?n._e():t("ul",{staticClass:"navigation-links"},[t("li",[t("router-link",{staticClass:"hover-text-theme",attrs:{to:{name:"SignIn"}}},[n._v("\n "+n._s(n.$t("page_index.menu.log_in"))+"\n ")])],1),n._v(" "),n.config.userRegistration?t("li",[t("router-link",{staticClass:"cta-button text-theme bg-theme-100",attrs:{to:{name:"SignUp"}}},[n._v("\n "+n._s(n.$t("page_index.menu.sign_in"))+"\n ")])],1):n._e()]),n._v(" "),n.config.isAuthenticated?t("ul",{staticClass:"navigation-links"},[n.config.userRegistration?t("li",[t("router-link",{staticClass:"cta-button text-theme bg-theme-100",attrs:{to:{name:"Files"}}},[n._v("\n Go to Files ")])],1):n._e()]):n._e()]),n._v(" "),t("router-link",{staticClass:"cta-button log-in text-theme bg-theme-100",attrs:{to:{name:"SignIn"}}},[n._v("\n "+n._s(n.$t("page_index.menu.log_in"))+"\n ")])],1)}),[],!1,null,"6746e233",null);a.a=d.exports},xoEp:function(n,a,t){(n.exports=t("I1BE")(!1)).push([n.i,'.landing-page[data-v-48af37e3] {\n overflow-x: hidden;\n}\n.page-wrapper[data-v-48af37e3] {\n position: relative;\n margin: 0 auto;\n padding-left: 25px;\n padding-right: 25px;\n}\n.page-wrapper.large[data-v-48af37e3] {\n width: 1490px;\n}\n.page-wrapper.medium[data-v-48af37e3] {\n width: 1150px;\n}\n.page-wrapper.small[data-v-48af37e3] {\n width: 890px;\n}\n@media only screen and (max-width: 1390px) {\n.page-wrapper.large[data-v-48af37e3] {\n width: 100%;\n}\n}\n@media only screen and (max-width: 1190px) {\n.page-wrapper.large[data-v-48af37e3] {\n width: 100%;\n}\n.page-wrapper.medium[data-v-48af37e3] {\n width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.page-wrapper[data-v-48af37e3] {\n padding-left: 25px;\n padding-right: 25px;\n}\n.page-wrapper.small[data-v-48af37e3] {\n width: 100%;\n}\n}\n.form[data-v-48af37e3] {\n max-width: 700px;\n}\n.form.inline-form[data-v-48af37e3] {\n display: flex;\n position: relative;\n justify-content: center;\n margin: 0 auto;\n}\n.form.inline-form .input-wrapper[data-v-48af37e3] {\n position: relative;\n}\n.form.inline-form .input-wrapper .error-message[data-v-48af37e3] {\n position: absolute;\n left: 0;\n bottom: -25px;\n}\n.form.block-form .wrapper-inline[data-v-48af37e3] {\n display: flex;\n margin: 0 -15px;\n}\n.form.block-form .wrapper-inline .block-wrapper[data-v-48af37e3] {\n width: 100%;\n padding: 0 15px;\n}\n.form.block-form .block-wrapper[data-v-48af37e3] {\n margin-bottom: 32px;\n}\n.form.block-form .block-wrapper label[data-v-48af37e3] {\n font-size: 0.875em;\n color: rgba(27, 37, 57, 0.8);\n font-weight: 700;\n display: block;\n margin-bottom: 7px;\n text-align: left;\n}\n.form.block-form .block-wrapper[data-v-48af37e3]:last-child {\n margin-bottom: 0;\n}\n.form.block-form .button[data-v-48af37e3] {\n margin-top: 50px;\n}\n.form .inline-wrapper[data-v-48af37e3] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.form .inline-wrapper .switch-label .input-help[data-v-48af37e3] {\n padding-top: 0;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-48af37e3] {\n font-weight: 700;\n color: #1B2539;\n font-size: 1em;\n margin-bottom: 5px;\n}\n.form .input-help[data-v-48af37e3] {\n font-size: 0.75em;\n color: rgba(27, 37, 57, 0.7);\n line-height: 1.35;\n padding-top: 10px;\n display: block;\n}\n.single-line-form[data-v-48af37e3] {\n display: flex;\n}\n.single-line-form .submit-button[data-v-48af37e3] {\n margin-left: 20px;\n}\n.error-message[data-v-48af37e3] {\n font-size: 0.875em;\n color: #fd397a;\n padding-top: 5px;\n display: block;\n text-align: left;\n}\ntextarea[data-v-48af37e3] {\n width: 100%;\n}\ninput[type="color"][data-v-48af37e3] {\n width: 38px;\n height: 40px;\n border: none;\n outline: none;\n background: none;\n}\ntextarea[data-v-48af37e3],\ninput[type="password"][data-v-48af37e3],\ninput[type="text"][data-v-48af37e3],\ninput[type="number"][data-v-48af37e3],\ninput[type="email"][data-v-48af37e3] {\n border: 1px solid transparent;\n transition: 150ms all ease;\n font-size: 1em;\n border-radius: 8px;\n padding: 13px 20px;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n font-weight: 700;\n outline: 0;\n width: 100%;\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);\n}\ntextarea.is-error[data-v-48af37e3],\ninput[type="password"].is-error[data-v-48af37e3],\ninput[type="text"].is-error[data-v-48af37e3],\ninput[type="number"].is-error[data-v-48af37e3],\ninput[type="email"].is-error[data-v-48af37e3] {\n border-color: #fd397a;\n}\ntextarea[data-v-48af37e3]::-webkit-input-placeholder, input[type="password"][data-v-48af37e3]::-webkit-input-placeholder, input[type="text"][data-v-48af37e3]::-webkit-input-placeholder, input[type="number"][data-v-48af37e3]::-webkit-input-placeholder, input[type="email"][data-v-48af37e3]::-webkit-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-48af37e3]::-moz-placeholder, input[type="password"][data-v-48af37e3]::-moz-placeholder, input[type="text"][data-v-48af37e3]::-moz-placeholder, input[type="number"][data-v-48af37e3]::-moz-placeholder, input[type="email"][data-v-48af37e3]::-moz-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-48af37e3]:-ms-input-placeholder, input[type="password"][data-v-48af37e3]:-ms-input-placeholder, input[type="text"][data-v-48af37e3]:-ms-input-placeholder, input[type="number"][data-v-48af37e3]:-ms-input-placeholder, input[type="email"][data-v-48af37e3]:-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-48af37e3]::-ms-input-placeholder, input[type="password"][data-v-48af37e3]::-ms-input-placeholder, input[type="text"][data-v-48af37e3]::-ms-input-placeholder, input[type="number"][data-v-48af37e3]::-ms-input-placeholder, input[type="email"][data-v-48af37e3]::-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-48af37e3]::placeholder,\ninput[type="password"][data-v-48af37e3]::placeholder,\ninput[type="text"][data-v-48af37e3]::placeholder,\ninput[type="number"][data-v-48af37e3]::placeholder,\ninput[type="email"][data-v-48af37e3]::placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[disabled][data-v-48af37e3],\ninput[type="password"][disabled][data-v-48af37e3],\ninput[type="text"][disabled][data-v-48af37e3],\ninput[type="number"][disabled][data-v-48af37e3],\ninput[type="email"][disabled][data-v-48af37e3] {\n background: white;\n color: rgba(27, 37, 57, 0.8);\n -webkit-text-fill-color: rgba(27, 37, 57, 0.8);\n opacity: 1;\n cursor: not-allowed;\n}\n.additional-link[data-v-48af37e3] {\n font-size: 1em;\n margin-top: 50px;\n display: block;\n}\n.additional-link b[data-v-48af37e3], .additional-link a[data-v-48af37e3] {\n cursor: pointer;\n}\n.additional-link b[data-v-48af37e3]:hover, .additional-link a[data-v-48af37e3]:hover {\n text-decoration: underline;\n}\n@media only screen and (max-width: 1024px) {\n.form[data-v-48af37e3] {\n max-width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.form .button[data-v-48af37e3] {\n margin-top: 20px;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n}\n.form input[data-v-48af37e3], .form textarea[data-v-48af37e3] {\n width: 100%;\n min-width: 100%;\n}\n.form.block-form .block-wrapper[data-v-48af37e3] {\n display: block;\n}\n.form.block-form .block-wrapper label[data-v-48af37e3] {\n width: 100%;\n padding-right: 0;\n display: block;\n margin-bottom: 7px;\n text-align: left !important;\n font-size: 0.875em;\n padding-top: 0;\n}\n.form.block-form .button[data-v-48af37e3] {\n margin-top: 25px;\n margin-left: 0;\n margin-right: 0;\n}\n.form.inline-form[data-v-48af37e3] {\n display: block;\n}\n.form.inline-form .input-wrapper .error-message[data-v-48af37e3] {\n position: relative;\n bottom: 0;\n}\n.form .button[data-v-48af37e3] {\n padding: 14px 32px;\n}\n.single-line-form[data-v-48af37e3] {\n display: block;\n}\n.single-line-form .submit-button[data-v-48af37e3] {\n margin-left: 0;\n margin-top: 20px;\n width: 100%;\n}\ntextarea[data-v-48af37e3],\n input[type="password"][data-v-48af37e3],\n input[type="number"][data-v-48af37e3],\n input[type="text"][data-v-48af37e3],\n input[type="email"][data-v-48af37e3] {\n padding: 14px 20px;\n}\n}\n@media only screen and (max-width: 690px) {\n.form.block-form .wrapper-inline[data-v-48af37e3] {\n display: block;\n}\n}\n@media (prefers-color-scheme: dark) {\n.form .input-help[data-v-48af37e3] {\n color: #7d858c;\n}\n.form.block-form .block-wrapper label[data-v-48af37e3] {\n color: #bec6cf;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-48af37e3] {\n color: #bec6cf;\n}\ntextarea[data-v-48af37e3],\n input[type="password"][data-v-48af37e3],\n input[type="text"][data-v-48af37e3],\n input[type="number"][data-v-48af37e3],\n input[type="email"][data-v-48af37e3] {\n border-color: #1e2024;\n background: #1e2024;\n color: #bec6cf;\n}\ntextarea[data-v-48af37e3]::-webkit-input-placeholder, input[type="password"][data-v-48af37e3]::-webkit-input-placeholder, input[type="text"][data-v-48af37e3]::-webkit-input-placeholder, input[type="number"][data-v-48af37e3]::-webkit-input-placeholder, input[type="email"][data-v-48af37e3]::-webkit-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-48af37e3]::-moz-placeholder, input[type="password"][data-v-48af37e3]::-moz-placeholder, input[type="text"][data-v-48af37e3]::-moz-placeholder, input[type="number"][data-v-48af37e3]::-moz-placeholder, input[type="email"][data-v-48af37e3]::-moz-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-48af37e3]:-ms-input-placeholder, input[type="password"][data-v-48af37e3]:-ms-input-placeholder, input[type="text"][data-v-48af37e3]:-ms-input-placeholder, input[type="number"][data-v-48af37e3]:-ms-input-placeholder, input[type="email"][data-v-48af37e3]:-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-48af37e3]::-ms-input-placeholder, input[type="password"][data-v-48af37e3]::-ms-input-placeholder, input[type="text"][data-v-48af37e3]::-ms-input-placeholder, input[type="number"][data-v-48af37e3]::-ms-input-placeholder, input[type="email"][data-v-48af37e3]::-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-48af37e3]::placeholder,\n input[type="password"][data-v-48af37e3]::placeholder,\n input[type="text"][data-v-48af37e3]::placeholder,\n input[type="number"][data-v-48af37e3]::placeholder,\n input[type="email"][data-v-48af37e3]::placeholder {\n color: #7d858c;\n}\ntextarea[disabled][data-v-48af37e3],\n input[type="password"][disabled][data-v-48af37e3],\n input[type="text"][disabled][data-v-48af37e3],\n input[type="number"][disabled][data-v-48af37e3],\n input[type="email"][disabled][data-v-48af37e3] {\n background: #1e2024;\n color: rgba(125, 133, 140, 0.8);\n -webkit-text-fill-color: rgba(125, 133, 140, 0.8);\n}\n.popup-wrapper textarea[data-v-48af37e3],\n .popup-wrapper input[type="password"][data-v-48af37e3],\n .popup-wrapper input[type="text"][data-v-48af37e3],\n .popup-wrapper input[type="number"][data-v-48af37e3],\n .popup-wrapper input[type="email"][data-v-48af37e3] {\n background: #25272c;\n}\n}\n.form[data-v-48af37e3] {\n max-width: 100%;\n}\n.headline[data-v-48af37e3] {\n padding-top: 70px;\n padding-bottom: 50px;\n}\n.form.block-form .submit-button[data-v-48af37e3] {\n margin-top: 20px;\n margin-left: 0;\n margin-right: 0;\n}\n@media only screen and (max-width: 960px) {\n.headline[data-v-48af37e3] {\n padding-top: 50px;\n padding-bottom: 30px;\n}\n}\n',""])}}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9JbmRleC9JbmRleFBhZ2VGb290ZXIudnVlPzIxOGIiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvSW5kZXgvSW5kZXhQYWdlRm9vdGVyLnZ1ZT9mMDNiIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0F1dGgvQXV0aEJ1dHRvbi52dWU/M2Q4ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9BdXRoL0F1dGhCdXR0b24udnVlPzA1NDEiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0F1dGgvQXV0aEJ1dHRvbi52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvQXV0aC9BdXRoQnV0dG9uLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9JbmRleC9JbmRleE5hdmlnYXRpb24udnVlPzZjN2IiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL3ZpZXdzL0Zyb250cGFnZS9Db250YWN0VXMudnVlPzEzZDciLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvQXV0aC9BdXRoQnV0dG9uLnZ1ZT9jMjU5Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZT8xOGY1Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZT81N2U4Iiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW5mb0JveC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0luZm9Cb3gudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0luZGV4L0luZGV4TmF2aWdhdGlvbi52dWU/ZWY0ZiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9JbmRleC9Db21wb25lbnRzL1BhZ2VUaXRsZS52dWU/MDAyYiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9JbmRleC9JbmRleFBhZ2VGb290ZXIudnVlP2U5OGQiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0luZm9Cb3gudnVlPzk4ZTYiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvQXV0aC9BdXRoQnV0dG9uLnZ1ZT8yMDQxIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy92ZWUtdmFsaWRhdGUvZGlzdC9ydWxlcy5qcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9JbmRleC9Db21wb25lbnRzL1BhZ2VUaXRsZS52dWU/MzQyOSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9BdXRoL0F1dGhCdXR0b24udnVlPzg1Y2YiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL3ZpZXdzL0Zyb250cGFnZS9Db250YWN0VXMudnVlPzE2M2MiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy92aWV3cy9Gcm9udHBhZ2UvQ29udGFjdFVzLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvRnJvbnRwYWdlL0NvbnRhY3RVcy52dWU/NmNkZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvRnJvbnRwYWdlL0NvbnRhY3RVcy52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0luZm9Cb3gudnVlPzgzYmUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvSW5kZXgvQ29tcG9uZW50cy9QYWdlVGl0bGUudnVlP2FmMjkiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvSW5kZXgvQ29tcG9uZW50cy9QYWdlVGl0bGUudnVlP2Q3YzAiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0luZGV4L0NvbXBvbmVudHMvUGFnZVRpdGxlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9JbmRleC9Db21wb25lbnRzL1BhZ2VUaXRsZS52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvSW5kZXgvQ29tcG9uZW50cy9QYWdlVGl0bGUudnVlP2NmNTEiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvSW5kZXgvSW5kZXhQYWdlRm9vdGVyLnZ1ZT84YzgyIiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9JbmRleC9JbmRleFBhZ2VGb290ZXIudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0luZGV4L0luZGV4UGFnZUZvb3Rlci52dWU/OGNhZCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9JbmRleC9JbmRleFBhZ2VGb290ZXIudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZT85NDcwIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0luZGV4L0luZGV4TmF2aWdhdGlvbi52dWU/M2Q0NiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvRnJvbnRwYWdlL0NvbnRhY3RVcy52dWU/YmE0NiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9JbmRleC9JbmRleE5hdmlnYXRpb24udnVlPzI5MjIiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0luZGV4L0luZGV4TmF2aWdhdGlvbi52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvSW5kZXgvSW5kZXhOYXZpZ2F0aW9uLnZ1ZT81NjQ5Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0luZGV4L0luZGV4TmF2aWdhdGlvbi52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL3ZpZXdzL0Zyb250cGFnZS9Db250YWN0VXMudnVlP2JmNTEiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInB1c2giLCJpIiwiY29tcG9uZW50IiwiX3ZtIiwidGhpcyIsIl9oIiwiJGNyZWF0ZUVsZW1lbnQiLCJfYyIsIl9zZWxmIiwic3RhdGljQ2xhc3MiLCJfdiIsIl9zIiwidGV4dCIsImF0dHJzIiwiX2UiLCJsb2FkaW5nIiwiaWNvbiIsImNvbnRlbnQiLCJvcHRpb25zIiwidHJhbnNmb3JtIiwidW5kZWZpbmVkIiwibG9jYWxzIiwiY2xhc3MiLCJ0eXBlIiwiX3QiLCJpc051bGxPclVuZGVmaW5lZCIsInZhbHVlIiwiaXNFbXB0eUFycmF5IiwiYXJyIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwicmVxdWlyZWQiLCJ2YWxpZGF0ZSIsIl9hIiwiYWxsb3dGYWxzZSIsInJlc3VsdCIsInZhbGlkIiwiU3RyaW5nIiwidHJpbSIsInBhcmFtcyIsIm5hbWUiLCJkZWZhdWx0IiwiY29tcHV0ZXNSZXF1aXJlZCIsIiR0IiwiaXNTdWNjZXNzIiwicmVmIiwib24iLCIkZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsImNvbnRhY3RGb3JtIiwic2NvcGVkU2xvdHMiLCJfdSIsImtleSIsImZuIiwiaW52YWxpZCIsImVycm9ycyIsImRpcmVjdGl2ZXMiLCJyYXdOYW1lIiwiY29udGFjdCIsImV4cHJlc3Npb24iLCJkb21Qcm9wcyIsInRhcmdldCIsImNvbXBvc2luZyIsIiRzZXQiLCJpc0xvYWRpbmciLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiY29uZmlnIiwiJGdldEltYWdlIiwiYXBwX2xvZ29faG9yaXpvbnRhbCIsImFwcF9uYW1l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LEdBQUcsS0FBS0gsRUFBRyxjQUFjLENBQUNFLFlBQVksNENBQTRDSSxNQUFNLENBQUMsR0FBSyxDQUFDNEIsS0FBTSxZQUFZLENBQUN0QyxFQUFJTyxHQUFHLGFBQWFQLEVBQUlRLEdBQUdSLEVBQUl5QyxHQUFHLDJCQUEyQixhQUFhLEtBQ2p3RCxJR1dwQixFQUNBLEtBQ0EsV0FDQSxNQUlhLElBQUExQyxFLCtCQ25CTEosRUFBT0MsUUFBVSxFQUFRLE9BQVIsRUFBK0QsSUFLbEZDLEtBQUssQ0FBQ0YsRUFBT0csRUFBSSx1aVZBQWtyViIsImZpbGUiOiJjaHVua3MvY29udGFjdC11cy5qcz9pZD03NTY1NTg2M2ZkMWU4NDYxZDY3YSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLmxhbmRpbmctcGFnZVtkYXRhLXYtNjE2M2RiMjhdIHtcXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcXG59XFxuLnBhZ2Utd3JhcHBlcltkYXRhLXYtNjE2M2RiMjhdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xcbiAgcGFkZGluZy1yaWdodDogMjVweDtcXG59XFxuLnBhZ2Utd3JhcHBlci5sYXJnZVtkYXRhLXYtNjE2M2RiMjhdIHtcXG4gIHdpZHRoOiAxNDkwcHg7XFxufVxcbi5wYWdlLXdyYXBwZXIubWVkaXVtW2RhdGEtdi02MTYzZGIyOF0ge1xcbiAgd2lkdGg6IDExNTBweDtcXG59XFxuLnBhZ2Utd3JhcHBlci5zbWFsbFtkYXRhLXYtNjE2M2RiMjhdIHtcXG4gIHdpZHRoOiA4OTBweDtcXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzkwcHgpIHtcXG4ucGFnZS13cmFwcGVyLmxhcmdlW2RhdGEtdi02MTYzZGIyOF0ge1xcbiAgICB3aWR0aDogMTAwJTtcXG59XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7XFxuLnBhZ2Utd3JhcHBlci5sYXJnZVtkYXRhLXYtNjE2M2RiMjhdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxufVxcbi5wYWdlLXdyYXBwZXIubWVkaXVtW2RhdGEtdi02MTYzZGIyOF0ge1xcbiAgICB3aWR0aDogMTAwJTtcXG59XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcXG4ucGFnZS13cmFwcGVyW2RhdGEtdi02MTYzZGIyOF0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XFxufVxcbi5wYWdlLXdyYXBwZXIuc21hbGxbZGF0YS12LTYxNjNkYjI4XSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbn1cXG59XFxuZm9vdGVyW2RhdGEtdi02MTYzZGIyOF0ge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgcGFkZGluZy10b3A6IDgwcHg7XFxufVxcbi5sb2dvW2RhdGEtdi02MTYzZGIyOF0ge1xcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmxvZ28gaW1nW2RhdGEtdi02MTYzZGIyOF0ge1xcbiAgaGVpZ2h0OiAzOHB4O1xcbiAgd2lkdGg6IGF1dG87XFxufVxcbi5sb2dvIC5sb2dvLXRleHRbZGF0YS12LTYxNjNkYjI4XSB7XFxuICBmb250LXdlaWdodDogODAwO1xcbiAgZm9udC1zaXplOiAxLjU2MjVlbTtcXG59XFxuLm5hdmlnYXRpb24tbGlua3NbZGF0YS12LTYxNjNkYjI4XSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5uYXZpZ2F0aW9uLWxpbmtzIGxpW2RhdGEtdi02MTYzZGIyOF0ge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4ubmF2aWdhdGlvbi1saW5rcyBsaSBhW2RhdGEtdi02MTYzZGIyOF0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBwYWRkaW5nOiAxOXB4O1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG59XFxuLmNvcHlyaWdodFtkYXRhLXYtNjE2M2RiMjhdIHtcXG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjcpO1xcbiAgcGFkZGluZy10b3A6IDUwcHg7XFxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcXG59XFxuLmNvcHlyaWdodFtkYXRhLXYtNjE2M2RiMjhdIGEge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xcbi5uYXZpZ2F0aW9uLWxpbmtzW2RhdGEtdi02MTYzZGIyOF0ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLm5hdmlnYXRpb24tbGlua3MgbGlbZGF0YS12LTYxNjNkYjI4XSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4ubmF2aWdhdGlvbi1saW5rcyBsaSBhW2RhdGEtdi02MTYzZGIyOF0ge1xcbiAgICBwYWRkaW5nOiAxMHB4IDA7XFxufVxcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmNvcHlyaWdodFtkYXRhLXYtNjE2M2RiMjhdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmRleFBhZ2VGb290ZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NjE2M2RiMjgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmRleFBhZ2VGb290ZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NjE2M2RiMjgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2J1dHRvbicse3N0YXRpY0NsYXNzOlwiYnV0dG9uIG91dGxpbmUgaG92ZXItdGV4dC10aGVtZSBob3Zlci1ib3JkZXItdGhlbWVcIn0sW19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJ0ZXh0LWxhYmVsXCJ9LFtfdm0uX3YoX3ZtLl9zKF92bS50ZXh0KSldKSxfdm0uX3YoXCIgXCIpLChfdm0ubG9hZGluZyk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImljb25cIn0sW19jKCdGb250QXdlc29tZUljb24nLHtzdGF0aWNDbGFzczpcInN5bmMtYWx0IHN2Zy1jb2xvci10aGVtZVwiLGF0dHJzOntcImljb25cIjpcInN5bmMtYWx0XCJ9fSldLDEpOl92bS5fZSgpLF92bS5fdihcIiBcIiksKCEgX3ZtLmxvYWRpbmcgJiYgX3ZtLmljb24pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJpY29uXCJ9LFtfYygnRm9udEF3ZXNvbWVJY29uJyx7c3RhdGljQ2xhc3M6XCJzdmctY29sb3ItdGhlbWVcIixhdHRyczp7XCJpY29uXCI6X3ZtLmljb259fSldLDEpOl92bS5fZSgpXSl9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXV0aEJ1dHRvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXV0aEJ1dHRvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBvdXRsaW5lIGhvdmVyLXRleHQtdGhlbWUgaG92ZXItYm9yZGVyLXRoZW1lXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sYWJlbFwiPnt7IHRleHQgfX08L3NwYW4+XG5cbiAgICAgICAgPHNwYW4gdi1pZj1cImxvYWRpbmdcIiBjbGFzcz1cImljb25cIj5cblx0XHRcdDxGb250QXdlc29tZUljb24gaWNvbj1cInN5bmMtYWx0XCIgY2xhc3M9XCJzeW5jLWFsdCBzdmctY29sb3ItdGhlbWVcIi8+XG5cdFx0PC9zcGFuPlxuICAgICAgICA8c3BhbiB2LWlmPVwiISBsb2FkaW5nICYmIGljb25cIiBjbGFzcz1cImljb25cIj5cblx0XHRcdDxGb250QXdlc29tZUljb24gOmljb249XCJpY29uXCIgY2xhc3M9XCJzdmctY29sb3ItdGhlbWVcIi8+XG5cdFx0PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ0F1dGhDb250ZW50JyxcbiAgICAgICAgcHJvcHM6IFsnbG9hZGluZycsICdpY29uJywgJ3RleHQnXSxcbiAgICAgICAgZGF0YSgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaXNWaXNpYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlZCgpIHtcbiAgICAgICAgICAgIHRoaXMuaXNWaXNpYmxlID0gdGhpcy52aXNpYmxlXG4gICAgICAgIH1cbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIHNjb3BlZCBsYW5nPVwic2Nzc1wiPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcblxuICAgIC5idXR0b24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDMycHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigxNTBtcyk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC50ZXh0LWxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMTUwbXMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE3KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc29saWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRoZW1lO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHRoZW1lO1xuXG4gICAgICAgICAgICAudGV4dC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5vdXRsaW5lIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR0ZXh0O1xuXG4gICAgICAgICAgICAudGV4dC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaWNvbiB7XG5cbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgIC50ZXh0LWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAuYnV0dG9uIHtcblxuICAgICAgICAgICAgJi5vdXRsaW5lIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya19tb2RlX2JhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcblxuICAgICAgICAgICAgICAgIC50ZXh0LWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zeW5jLWFsdCB7XG4gICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBzcGluIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG48L3N0eWxlPlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BdXRoQnV0dG9uLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xNmU5YWQ1OCZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BdXRoQnV0dG9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXV0aEJ1dHRvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXV0aEJ1dHRvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xNmU5YWQ1OCZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjE2ZTlhZDU4XCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5kZXhOYXZpZ2F0aW9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY3NDZlMjMzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5kZXhOYXZpZ2F0aW9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY3NDZlMjMzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0NvbnRhY3RVcy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00OGFmMzdlMyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0NvbnRhY3RVcy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00OGFmMzdlMyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db250YWN0VXMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NDhhZjM3ZTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0F1dGhCdXR0b24udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTZlOWFkNTgmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IHVuZGVmaW5lZDtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BdXRoQnV0dG9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE2ZTlhZDU4JnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0F1dGhCdXR0b24udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTZlOWFkNTgmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImluZm8tYm94XCIsY2xhc3M6X3ZtLnR5cGV9LFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwyKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsIjx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiaW5mby1ib3hcIiA6Y2xhc3M9XCJ0eXBlXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnSW5mb0JveCcsXG4gICAgICAgIHByb3BzOiBbJ3R5cGUnXVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgLmluZm8tYm94IHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRfYmFja2dyb3VuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAmLmVycm9yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGRhbmdlciwgMC4xKTtcblxuICAgICAgICAgICAgcCwgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYW5nZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgICAgIC9kZWVwLyBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC9kZWVwLyBiIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGIge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OTBweCkge1xuXG4gICAgICAgIC5pbmZvLWJveCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG5cbiAgICAgICAgLmluZm8tYm94IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrX21vZGVfZm9yZWdyb3VuZDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG48L3N0eWxlPlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD04ZTdjNDJmNiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vSW5mb0JveC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vSW5mb0JveC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD04ZTdjNDJmNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjhlN2M0MmY2XCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5kZXhOYXZpZ2F0aW9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY3NDZlMjMzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5kZXhOYXZpZ2F0aW9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY3NDZlMjMzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZGV4TmF2aWdhdGlvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02NzQ2ZTIzMyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIubGFuZGluZy1wYWdlW2RhdGEtdi00NjMxYzVmNl0ge1xcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xcbn1cXG4ucGFnZS13cmFwcGVyW2RhdGEtdi00NjMxYzVmNl0ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWFyZ2luOiAwIGF1dG87XFxuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xcbn1cXG4ucGFnZS13cmFwcGVyLmxhcmdlW2RhdGEtdi00NjMxYzVmNl0ge1xcbiAgd2lkdGg6IDE0OTBweDtcXG59XFxuLnBhZ2Utd3JhcHBlci5tZWRpdW1bZGF0YS12LTQ2MzFjNWY2XSB7XFxuICB3aWR0aDogMTE1MHB4O1xcbn1cXG4ucGFnZS13cmFwcGVyLnNtYWxsW2RhdGEtdi00NjMxYzVmNl0ge1xcbiAgd2lkdGg6IDg5MHB4O1xcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzOTBweCkge1xcbi5wYWdlLXdyYXBwZXIubGFyZ2VbZGF0YS12LTQ2MzFjNWY2XSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbn1cXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHtcXG4ucGFnZS13cmFwcGVyLmxhcmdlW2RhdGEtdi00NjMxYzVmNl0ge1xcbiAgICB3aWR0aDogMTAwJTtcXG59XFxuLnBhZ2Utd3JhcHBlci5tZWRpdW1bZGF0YS12LTQ2MzFjNWY2XSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbn1cXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xcbi5wYWdlLXdyYXBwZXJbZGF0YS12LTQ2MzFjNWY2XSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjVweDtcXG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcXG59XFxuLnBhZ2Utd3JhcHBlci5zbWFsbFtkYXRhLXYtNDYzMWM1ZjZdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxufVxcbn1cXG4ucGFnZS10aXRsZVtkYXRhLXYtNDYzMWM1ZjZdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHotaW5kZXg6IDE7XFxufVxcbi5wYWdlLXRpdGxlLmNlbnRlcltkYXRhLXYtNDYzMWM1ZjZdIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuLnBhZ2UtdGl0bGUuY2VudGVyIC50aXRsZVtkYXRhLXYtNDYzMWM1ZjZdIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbiAgbWF4LXdpZHRoOiA3ODBweDtcXG59XFxuLnBhZ2UtdGl0bGUuY2VudGVyIC5kZXNjcmlwdGlvbltkYXRhLXYtNDYzMWM1ZjZdIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG4ucGFnZS10aXRsZSAudGl0bGVbZGF0YS12LTQ2MzFjNWY2XSB7XFxuICBtYXgtd2lkdGg6IDU4MHB4O1xcbiAgZm9udC1zaXplOiA0OHB4O1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjM7XFxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xcbn1cXG4ucGFnZS10aXRsZSAudGl0bGVbZGF0YS12LTQ2MzFjNWY2XSBzcGFuIHtcXG4gIGZvbnQtc2l6ZTogNDhweDtcXG59XFxuLnBhZ2UtdGl0bGUgLmRlc2NyaXB0aW9uW2RhdGEtdi00NjMxYzVmNl0ge1xcbiAgbWF4LXdpZHRoOiA1ODBweDtcXG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjY1O1xcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xcbi5wYWdlLXRpdGxlIC50aXRsZVtkYXRhLXYtNDYzMWM1ZjZdIHtcXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgICBmb250LXNpemU6IDMycHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xcbn1cXG4ucGFnZS10aXRsZSAudGl0bGVbZGF0YS12LTQ2MzFjNWY2XSBzcGFuIHtcXG4gICAgZm9udC1zaXplOiAzMnB4O1xcbn1cXG4ucGFnZS10aXRsZSAuZGVzY3JpcHRpb25bZGF0YS12LTQ2MzFjNWY2XSB7XFxuICAgIG1heC13aWR0aDogMTAwJTtcXG4gICAgZm9udC1zaXplOiAxZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XFxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmRleFBhZ2VGb290ZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NjE2M2RiMjgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IHVuZGVmaW5lZDtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmRleFBhZ2VGb290ZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NjE2M2RiMjgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5kZXhQYWdlRm9vdGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTYxNjNkYjI4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPThlN2M0MmY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5mb0JveC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD04ZTdjNDJmNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPThlN2M0MmY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BdXRoQnV0dG9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE2ZTlhZDU4JnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXV0aEJ1dHRvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xNmU5YWQ1OCZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCIiLCIvKipcbiAgKiB2ZWUtdmFsaWRhdGUgdjMuMy45XG4gICogKGMpIDIwMjAgQWJkZWxyYWhtYW4gQXdhZFxuICAqIEBsaWNlbnNlIE1JVFxuICAqL1xuLyoqXHJcbiAqIFNvbWUgQWxwaGEgUmVnZXggaGVscGVycy5cclxuICogaHR0cHM6Ly9naXRodWIuY29tL2Nocmlzby92YWxpZGF0b3IuanMvYmxvYi9tYXN0ZXIvc3JjL2xpYi9hbHBoYS5qc1xyXG4gKi9cclxuLyogZXNsaW50LWRpc2FibGUgbm8tbWlzbGVhZGluZy1jaGFyYWN0ZXItY2xhc3MgKi9cclxudmFyIGFscGhhID0ge1xyXG4gICAgZW46IC9eW0EtWl0qJC9pLFxyXG4gICAgY3M6IC9eW0EtWsOBxIzEjsOJxJrDjcWHw5PFmMWgxaTDmsWuw53FvV0qJC9pLFxyXG4gICAgZGE6IC9eW0EtWsOGw5jDhV0qJC9pLFxyXG4gICAgZGU6IC9eW0EtWsOEw5bDnMOfXSokL2ksXHJcbiAgICBlczogL15bQS1aw4HDicONw5HDk8Oaw5xdKiQvaSxcclxuICAgIGZhOiAvXlvYodii2KPYpNil2KbYp9io2KnYqtir2KzYrdiu2K/YsNix2LLYs9i02LXYtti32LjYudi62YHZgtmD2YTZhdmG2YfZiNmJ2YrZi9mM2Y3ZjtmP2ZDZkdmS2bDZvtqY2q/ahtqp24xdKiQvLFxyXG4gICAgZnI6IC9eW0EtWsOAw4LDhsOHw4nDiMOKw4vDj8OOw5TFksOZw5vDnMW4XSokL2ksXHJcbiAgICBpdDogL15bQS1aXFx4QzAtXFx4RkZdKiQvaSxcclxuICAgIGx0OiAvXltBLVrEhMSMxJjElsSuxaDFssWqxb1dKiQvaSxcclxuICAgIG5sOiAvXltBLVrDicOLw4/Dk8OWw5xdKiQvaSxcclxuICAgIGh1OiAvXltBLVrDgcOJw43Dk8OWxZDDmsOcxbBdKiQvaSxcclxuICAgIHBsOiAvXltBLVrEhMSGxJjFmsWBxYPDk8W7xbldKiQvaSxcclxuICAgIHB0OiAvXltBLVrDg8OBw4DDgsOHw4nDisONw5XDk8OUw5rDnF0qJC9pLFxyXG4gICAgcm86IC9eW0EtWsSCw4LDjsWexaJdKiQvaSxcclxuICAgIHJ1OiAvXlvQkC3Qr9CBXSokL2ksXHJcbiAgICBzazogL15bQS1aw4HDhMSMxI7DicONxLnEvcWHw5PFlMWgxaTDmsOdxb1dKiQvaSxcclxuICAgIHNyOiAvXltBLVrEjMSGxb3FoMSQXSokL2ksXHJcbiAgICBzdjogL15bQS1aw4XDhMOWXSokL2ksXHJcbiAgICB0cjogL15bQS1aw4fEnsSwxLHDlsWew5xdKiQvaSxcclxuICAgIHVrOiAvXlvQkC3QqdCs0K7Qr9CE0IbQh9KQXSokL2ksXHJcbiAgICBhcjogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmwXSokLyxcclxuICAgIGF6OiAvXltBLVrDh8aPxJ7EsMSxw5bFnsOcXSokL2ksXHJcbiAgICBlbDogL15bzpEtz45dKiQvaVxyXG59O1xyXG52YXIgYWxwaGFTcGFjZXMgPSB7XHJcbiAgICBlbjogL15bQS1aXFxzXSokL2ksXHJcbiAgICBjczogL15bQS1aw4HEjMSOw4nEmsONxYfDk8WYxaDFpMOaxa7DncW9XFxzXSokL2ksXHJcbiAgICBkYTogL15bQS1aw4bDmMOFXFxzXSokL2ksXHJcbiAgICBkZTogL15bQS1aw4TDlsOcw59cXHNdKiQvaSxcclxuICAgIGVzOiAvXltBLVrDgcOJw43DkcOTw5rDnFxcc10qJC9pLFxyXG4gICAgZmE6IC9eW9ih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsNm+2pjar9qG2qnbjF0qJC8sXHJcbiAgICBmcjogL15bQS1aw4DDgsOGw4fDicOIw4rDi8OPw47DlMWSw5nDm8OcxbhcXHNdKiQvaSxcclxuICAgIGl0OiAvXltBLVpcXHhDMC1cXHhGRlxcc10qJC9pLFxyXG4gICAgbHQ6IC9eW0EtWsSExIzEmMSWxK7FoMWyxarFvVxcc10qJC9pLFxyXG4gICAgbmw6IC9eW0EtWsOJw4vDj8OTw5bDnFxcc10qJC9pLFxyXG4gICAgaHU6IC9eW0EtWsOBw4nDjcOTw5bFkMOaw5zFsFxcc10qJC9pLFxyXG4gICAgcGw6IC9eW0EtWsSExIbEmMWaxYHFg8OTxbvFuVxcc10qJC9pLFxyXG4gICAgcHQ6IC9eW0EtWsODw4HDgMOCw4fDicOKw43DlcOTw5TDmsOcXFxzXSokL2ksXHJcbiAgICBybzogL15bQS1axILDgsOOxZ7Folxcc10qJC9pLFxyXG4gICAgcnU6IC9eW9CQLdCv0IFcXHNdKiQvaSxcclxuICAgIHNrOiAvXltBLVrDgcOExIzEjsOJw43EucS9xYfDk8WUxaDFpMOaw53FvVxcc10qJC9pLFxyXG4gICAgc3I6IC9eW0EtWsSMxIbFvcWgxJBcXHNdKiQvaSxcclxuICAgIHN2OiAvXltBLVrDhcOEw5ZcXHNdKiQvaSxcclxuICAgIHRyOiAvXltBLVrDh8SexLDEscOWxZ7DnFxcc10qJC9pLFxyXG4gICAgdWs6IC9eW9CQLdCp0KzQrtCv0ITQhtCH0pBcXHNdKiQvaSxcclxuICAgIGFyOiAvXlvYodii2KPYpNil2KbYp9io2KnYqtir2KzYrdiu2K/YsNix2LLYs9i02LXYtti32LjYudi62YHZgtmD2YTZhdmG2YfZiNmJ2YrZi9mM2Y3ZjtmP2ZDZkdmS2bBcXHNdKiQvLFxyXG4gICAgYXo6IC9eW0EtWsOHxo/EnsSwxLHDlsWew5xcXHNdKiQvaSxcclxuICAgIGVsOiAvXlvOkS3Pjlxcc10qJC9pXHJcbn07XHJcbnZhciBhbHBoYW51bWVyaWMgPSB7XHJcbiAgICBlbjogL15bMC05QS1aXSokL2ksXHJcbiAgICBjczogL15bMC05QS1aw4HEjMSOw4nEmsONxYfDk8WYxaDFpMOaxa7DncW9XSokL2ksXHJcbiAgICBkYTogL15bMC05QS1aw4bDmMOFXSQvaSxcclxuICAgIGRlOiAvXlswLTlBLVrDhMOWw5zDn10qJC9pLFxyXG4gICAgZXM6IC9eWzAtOUEtWsOBw4nDjcORw5PDmsOcXSokL2ksXHJcbiAgICBmYTogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmw2b7amNqv2obaqduMXSokLyxcclxuICAgIGZyOiAvXlswLTlBLVrDgMOCw4bDh8OJw4jDisOLw4/DjsOUxZLDmcObw5zFuF0qJC9pLFxyXG4gICAgaXQ6IC9eWzAtOUEtWlxceEMwLVxceEZGXSokL2ksXHJcbiAgICBsdDogL15bMC05QS1axITEjMSYxJbErsWgxbLFqsW9XSokL2ksXHJcbiAgICBodTogL15bMC05QS1aw4HDicONw5PDlsWQw5rDnMWwXSokL2ksXHJcbiAgICBubDogL15bMC05QS1aw4nDi8OPw5PDlsOcXSokL2ksXHJcbiAgICBwbDogL15bMC05QS1axITEhsSYxZrFgcWDw5PFu8W5XSokL2ksXHJcbiAgICBwdDogL15bMC05QS1aw4PDgcOAw4LDh8OJw4rDjcOVw5PDlMOaw5xdKiQvaSxcclxuICAgIHJvOiAvXlswLTlBLVrEgsOCw47FnsWiXSokL2ksXHJcbiAgICBydTogL15bMC050JAt0K/QgV0qJC9pLFxyXG4gICAgc2s6IC9eWzAtOUEtWsOBw4TEjMSOw4nDjcS5xL3Fh8OTxZTFoMWkw5rDncW9XSokL2ksXHJcbiAgICBzcjogL15bMC05QS1axIzEhsW9xaDEkF0qJC9pLFxyXG4gICAgc3Y6IC9eWzAtOUEtWsOFw4TDll0qJC9pLFxyXG4gICAgdHI6IC9eWzAtOUEtWsOHxJ7EsMSxw5bFnsOcXSokL2ksXHJcbiAgICB1azogL15bMC050JAt0KnQrNCu0K/QhNCG0IfSkF0qJC9pLFxyXG4gICAgYXI6IC9eW9mg2aHZotmj2aTZpdmm2afZqNmpMC052KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmwXSokLyxcclxuICAgIGF6OiAvXlswLTlBLVrDh8aPxJ7EsMSxw5bFnsOcXSokL2ksXHJcbiAgICBlbDogL15bMC05zpEtz45dKiQvaVxyXG59O1xyXG52YXIgYWxwaGFEYXNoID0ge1xyXG4gICAgZW46IC9eWzAtOUEtWl8tXSokL2ksXHJcbiAgICBjczogL15bMC05QS1aw4HEjMSOw4nEmsONxYfDk8WYxaDFpMOaxa7DncW9Xy1dKiQvaSxcclxuICAgIGRhOiAvXlswLTlBLVrDhsOYw4VfLV0qJC9pLFxyXG4gICAgZGU6IC9eWzAtOUEtWsOEw5bDnMOfXy1dKiQvaSxcclxuICAgIGVzOiAvXlswLTlBLVrDgcOJw43DkcOTw5rDnF8tXSokL2ksXHJcbiAgICBmYTogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmw2b7amNqv2obaqduMXSokLyxcclxuICAgIGZyOiAvXlswLTlBLVrDgMOCw4bDh8OJw4jDisOLw4/DjsOUxZLDmcObw5zFuF8tXSokL2ksXHJcbiAgICBpdDogL15bMC05QS1aXFx4QzAtXFx4RkZfLV0qJC9pLFxyXG4gICAgbHQ6IC9eWzAtOUEtWsSExIzEmMSWxK7FoMWyxarFvV8tXSokL2ksXHJcbiAgICBubDogL15bMC05QS1aw4nDi8OPw5PDlsOcXy1dKiQvaSxcclxuICAgIGh1OiAvXlswLTlBLVrDgcOJw43Dk8OWxZDDmsOcxbBfLV0qJC9pLFxyXG4gICAgcGw6IC9eWzAtOUEtWsSExIbEmMWaxYHFg8OTxbvFuV8tXSokL2ksXHJcbiAgICBwdDogL15bMC05QS1aw4PDgcOAw4LDh8OJw4rDjcOVw5PDlMOaw5xfLV0qJC9pLFxyXG4gICAgcm86IC9eWzAtOUEtWsSCw4LDjsWexaJfLV0qJC9pLFxyXG4gICAgcnU6IC9eWzAtOdCQLdCv0IFfLV0qJC9pLFxyXG4gICAgc2s6IC9eWzAtOUEtWsOBw4TEjMSOw4nDjcS5xL3Fh8OTxZTFoMWkw5rDncW9Xy1dKiQvaSxcclxuICAgIHNyOiAvXlswLTlBLVrEjMSGxb3FoMSQXy1dKiQvaSxcclxuICAgIHN2OiAvXlswLTlBLVrDhcOEw5ZfLV0qJC9pLFxyXG4gICAgdHI6IC9eWzAtOUEtWsOHxJ7EsMSxw5bFnsOcXy1dKiQvaSxcclxuICAgIHVrOiAvXlswLTnQkC3QqdCs0K7Qr9CE0IbQh9KQXy1dKiQvaSxcclxuICAgIGFyOiAvXlvZoNmh2aLZo9mk2aXZptmn2ajZqTAtOdih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsF8tXSokLyxcclxuICAgIGF6OiAvXlswLTlBLVrDh8aPxJ7EsMSxw5bFnsOcXy1dKiQvaSxcclxuICAgIGVsOiAvXlswLTnOkS3Pjl8tXSokL2lcclxufTtcblxudmFyIHZhbGlkYXRlID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIF9iID0gKF9hID09PSB2b2lkIDAgPyB7fSA6IF9hKS5sb2NhbGUsIGxvY2FsZSA9IF9iID09PSB2b2lkIDAgPyAnJyA6IF9iO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlKHZhbCwgeyBsb2NhbGU6IGxvY2FsZSB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICAvLyBNYXRjaCBhdCBsZWFzdCBvbmUgbG9jYWxlLlxyXG4gICAgaWYgKCFsb2NhbGUpIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoYWxwaGEpLnNvbWUoZnVuY3Rpb24gKGxvYykgeyByZXR1cm4gYWxwaGFbbG9jXS50ZXN0KHZhbHVlKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGFscGhhW2xvY2FsZV0gfHwgYWxwaGEuZW4pLnRlc3QodmFsdWUpO1xyXG59O1xyXG52YXIgcGFyYW1zID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsb2NhbGUnXHJcbiAgICB9XHJcbl07XHJcbnZhciBhbHBoYSQxID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlLFxyXG4gICAgcGFyYW1zOiBwYXJhbXNcclxufTtcblxudmFyIHZhbGlkYXRlJDEgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgX2IgPSAoX2EgPT09IHZvaWQgMCA/IHt9IDogX2EpLmxvY2FsZSwgbG9jYWxlID0gX2IgPT09IHZvaWQgMCA/ICcnIDogX2I7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkMSh2YWwsIHsgbG9jYWxlOiBsb2NhbGUgfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgLy8gTWF0Y2ggYXQgbGVhc3Qgb25lIGxvY2FsZS5cclxuICAgIGlmICghbG9jYWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFscGhhRGFzaCkuc29tZShmdW5jdGlvbiAobG9jKSB7IHJldHVybiBhbHBoYURhc2hbbG9jXS50ZXN0KHZhbHVlKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGFscGhhRGFzaFtsb2NhbGVdIHx8IGFscGhhRGFzaC5lbikudGVzdCh2YWx1ZSk7XHJcbn07XHJcbnZhciBwYXJhbXMkMSA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbG9jYWxlJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgYWxwaGFfZGFzaCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQxLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkMVxyXG59O1xuXG52YXIgdmFsaWRhdGUkMiA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBfYiA9IChfYSA9PT0gdm9pZCAwID8ge30gOiBfYSkubG9jYWxlLCBsb2NhbGUgPSBfYiA9PT0gdm9pZCAwID8gJycgOiBfYjtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSQyKHZhbCwgeyBsb2NhbGU6IGxvY2FsZSB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICAvLyBNYXRjaCBhdCBsZWFzdCBvbmUgbG9jYWxlLlxyXG4gICAgaWYgKCFsb2NhbGUpIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoYWxwaGFudW1lcmljKS5zb21lKGZ1bmN0aW9uIChsb2MpIHsgcmV0dXJuIGFscGhhbnVtZXJpY1tsb2NdLnRlc3QodmFsdWUpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiAoYWxwaGFudW1lcmljW2xvY2FsZV0gfHwgYWxwaGFudW1lcmljLmVuKS50ZXN0KHZhbHVlKTtcclxufTtcclxudmFyIHBhcmFtcyQyID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsb2NhbGUnXHJcbiAgICB9XHJcbl07XHJcbnZhciBhbHBoYV9udW0gPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkMixcclxuICAgIHBhcmFtczogcGFyYW1zJDJcclxufTtcblxudmFyIHZhbGlkYXRlJDMgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgX2IgPSAoX2EgPT09IHZvaWQgMCA/IHt9IDogX2EpLmxvY2FsZSwgbG9jYWxlID0gX2IgPT09IHZvaWQgMCA/ICcnIDogX2I7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkMyh2YWwsIHsgbG9jYWxlOiBsb2NhbGUgfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgLy8gTWF0Y2ggYXQgbGVhc3Qgb25lIGxvY2FsZS5cclxuICAgIGlmICghbG9jYWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFscGhhU3BhY2VzKS5zb21lKGZ1bmN0aW9uIChsb2MpIHsgcmV0dXJuIGFscGhhU3BhY2VzW2xvY10udGVzdCh2YWx1ZSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChhbHBoYVNwYWNlc1tsb2NhbGVdIHx8IGFscGhhU3BhY2VzLmVuKS50ZXN0KHZhbHVlKTtcclxufTtcclxudmFyIHBhcmFtcyQzID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsb2NhbGUnXHJcbiAgICB9XHJcbl07XHJcbnZhciBhbHBoYV9zcGFjZXMgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkMyxcclxuICAgIHBhcmFtczogcGFyYW1zJDNcclxufTtcblxudmFyIHZhbGlkYXRlJDQgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgX2IgPSBfYSA9PT0gdm9pZCAwID8ge30gOiBfYSwgbWluID0gX2IubWluLCBtYXggPSBfYi5tYXg7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gISF2YWxpZGF0ZSQ0KHZhbCwgeyBtaW46IG1pbiwgbWF4OiBtYXggfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE51bWJlcihtaW4pIDw9IHZhbHVlICYmIE51bWJlcihtYXgpID49IHZhbHVlO1xyXG59O1xyXG52YXIgcGFyYW1zJDQgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ21pbidcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ21heCdcclxuICAgIH1cclxuXTtcclxudmFyIGJldHdlZW4gPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkNCxcclxuICAgIHBhcmFtczogcGFyYW1zJDRcclxufTtcblxudmFyIHZhbGlkYXRlJDUgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgdGFyZ2V0ID0gX2EudGFyZ2V0O1xyXG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSkgPT09IFN0cmluZyh0YXJnZXQpO1xyXG59O1xyXG52YXIgcGFyYW1zJDUgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ3RhcmdldCcsXHJcbiAgICAgICAgaXNUYXJnZXQ6IHRydWVcclxuICAgIH1cclxuXTtcclxudmFyIGNvbmZpcm1lZCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQ1LFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkNVxyXG59O1xuXG52YXIgdmFsaWRhdGUkNiA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBsZW5ndGggPSBfYS5sZW5ndGg7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkNih2YWwsIHsgbGVuZ3RoOiBsZW5ndGggfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgdmFyIHN0clZhbCA9IFN0cmluZyh2YWx1ZSk7XHJcbiAgICByZXR1cm4gL15bMC05XSokLy50ZXN0KHN0clZhbCkgJiYgc3RyVmFsLmxlbmd0aCA9PT0gbGVuZ3RoO1xyXG59O1xyXG52YXIgcGFyYW1zJDYgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xlbmd0aCcsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIGRpZ2l0cyA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQ2LFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkNlxyXG59O1xuXG52YXIgdmFsaWRhdGVJbWFnZSA9IGZ1bmN0aW9uIChmaWxlLCB3aWR0aCwgaGVpZ2h0KSB7XHJcbiAgICB2YXIgVVJMID0gd2luZG93LlVSTCB8fCB3aW5kb3cud2Via2l0VVJMO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XHJcbiAgICAgICAgdmFyIGltYWdlID0gbmV3IEltYWdlKCk7XHJcbiAgICAgICAgaW1hZ2Uub25lcnJvciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlc29sdmUoZmFsc2UpOyB9O1xyXG4gICAgICAgIGltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlc29sdmUoaW1hZ2Uud2lkdGggPT09IHdpZHRoICYmIGltYWdlLmhlaWdodCA9PT0gaGVpZ2h0KTsgfTtcclxuICAgICAgICBpbWFnZS5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpO1xyXG4gICAgfSk7XHJcbn07XHJcbnZhciB2YWxpZGF0ZSQ3ID0gZnVuY3Rpb24gKGZpbGVzLCBfYSkge1xyXG4gICAgdmFyIHdpZHRoID0gX2Eud2lkdGgsIGhlaWdodCA9IF9hLmhlaWdodDtcclxuICAgIHZhciBsaXN0ID0gW107XHJcbiAgICBmaWxlcyA9IEFycmF5LmlzQXJyYXkoZmlsZXMpID8gZmlsZXMgOiBbZmlsZXNdO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIC8vIGlmIGZpbGUgaXMgbm90IGFuIGltYWdlLCByZWplY3QuXHJcbiAgICAgICAgaWYgKCEvXFwuKGpwZ3xzdmd8anBlZ3xwbmd8Ym1wfGdpZikkL2kudGVzdChmaWxlc1tpXS5uYW1lKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGlzdC5wdXNoKGZpbGVzW2ldKTtcclxuICAgIH1cclxuICAgIHJldHVybiBQcm9taXNlLmFsbChsaXN0Lm1hcChmdW5jdGlvbiAoZmlsZSkgeyByZXR1cm4gdmFsaWRhdGVJbWFnZShmaWxlLCB3aWR0aCwgaGVpZ2h0KTsgfSkpLnRoZW4oZnVuY3Rpb24gKHZhbHVlcykge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZXMuZXZlcnkoZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHY7IH0pO1xyXG4gICAgfSk7XHJcbn07XHJcbnZhciBwYXJhbXMkNyA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnd2lkdGgnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdoZWlnaHQnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBkaW1lbnNpb25zID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJDcsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyQ3XHJcbn07XG5cbnZhciB2YWxpZGF0ZSQ4ID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIG11bHRpcGxlID0gKF9hID09PSB2b2lkIDAgPyB7fSA6IF9hKS5tdWx0aXBsZTtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gICAgdmFyIHJlID0gL14oKFtePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtbMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFxdKXwoKFthLXpBLVpcXC0wLTldK1xcLikrW2EtekEtWl17Mix9KSkkLztcclxuICAgIGlmIChtdWx0aXBsZSAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICB2YWx1ZSA9IFN0cmluZyh2YWx1ZSlcclxuICAgICAgICAgICAgLnNwbGl0KCcsJylcclxuICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoZW1haWxTdHIpIHsgcmV0dXJuIGVtYWlsU3RyLnRyaW0oKTsgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gcmUudGVzdChTdHJpbmcodmFsKSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlLnRlc3QoU3RyaW5nKHZhbHVlKSk7XHJcbn07XHJcbnZhciBwYXJhbXMkOCA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbXVsdGlwbGUnLFxyXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXHJcbiAgICB9XHJcbl07XHJcbnZhciBlbWFpbCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQ4LFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkOFxyXG59O1xuXG5mdW5jdGlvbiBpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkge1xyXG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XHJcbn1cclxuZnVuY3Rpb24gaXNFbXB0eUFycmF5KGFycikge1xyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYXJyKSAmJiBhcnIubGVuZ3RoID09PSAwO1xyXG59XHJcbmZ1bmN0aW9uIGlzQ2FsbGFibGUoZm4pIHtcclxuICAgIHJldHVybiB0eXBlb2YgZm4gPT09ICdmdW5jdGlvbic7XHJcbn1cblxuZnVuY3Rpb24gaW5jbHVkZXMoY29sbGVjdGlvbiwgaXRlbSkge1xyXG4gICAgcmV0dXJuIGNvbGxlY3Rpb24uaW5kZXhPZihpdGVtKSAhPT0gLTE7XHJcbn1cclxuLyoqXHJcbiAqIENvbnZlcnRzIGFuIGFycmF5LWxpa2Ugb2JqZWN0IHRvIGFycmF5LCBwcm92aWRlcyBhIHNpbXBsZSBwb2x5ZmlsbCBmb3IgQXJyYXkuZnJvbVxyXG4gKi9cclxuZnVuY3Rpb24gdG9BcnJheShhcnJheUxpa2UpIHtcclxuICAgIGlmIChpc0NhbGxhYmxlKEFycmF5LmZyb20pKSB7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oYXJyYXlMaWtlKTtcclxuICAgIH1cclxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgICByZXR1cm4gX2NvcHlBcnJheShhcnJheUxpa2UpO1xyXG59XHJcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbmZ1bmN0aW9uIF9jb3B5QXJyYXkoYXJyYXlMaWtlKSB7XHJcbiAgICB2YXIgYXJyYXkgPSBbXTtcclxuICAgIHZhciBsZW5ndGggPSBhcnJheUxpa2UubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGFycmF5LnB1c2goYXJyYXlMaWtlW2ldKTtcclxuICAgIH1cclxuICAgIHJldHVybiBhcnJheTtcclxufVxuXG52YXIgdmFsaWRhdGUkOSA9IGZ1bmN0aW9uICh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJDkodmFsLCBvcHRpb25zKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdG9BcnJheShvcHRpb25zKS5zb21lKGZ1bmN0aW9uIChpdGVtKSB7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXHJcbiAgICAgICAgcmV0dXJuIGl0ZW0gPT0gdmFsdWU7XHJcbiAgICB9KTtcclxufTtcclxudmFyIG9uZU9mID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJDlcclxufTtcblxudmFyIHZhbGlkYXRlJGEgPSBmdW5jdGlvbiAodmFsdWUsIGFyZ3MpIHtcclxuICAgIHJldHVybiAhdmFsaWRhdGUkOSh2YWx1ZSwgYXJncyk7XHJcbn07XHJcbnZhciBleGNsdWRlZCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRhXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRiID0gZnVuY3Rpb24gKGZpbGVzLCBleHRlbnNpb25zKSB7XHJcbiAgICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKFwiLihcIiArIGV4dGVuc2lvbnMuam9pbignfCcpICsgXCIpJFwiLCAnaScpO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZmlsZXMpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZpbGVzLmV2ZXJ5KGZ1bmN0aW9uIChmaWxlKSB7IHJldHVybiByZWdleC50ZXN0KGZpbGUubmFtZSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QoZmlsZXMubmFtZSk7XHJcbn07XHJcbnZhciBleHQgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkYlxyXG59O1xuXG52YXIgdmFsaWRhdGUkYyA9IGZ1bmN0aW9uIChmaWxlcykge1xyXG4gICAgdmFyIHJlZ2V4ID0gL1xcLihqcGd8c3ZnfGpwZWd8cG5nfGJtcHxnaWZ8d2VicCkkL2k7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWxlcykpIHtcclxuICAgICAgICByZXR1cm4gZmlsZXMuZXZlcnkoZnVuY3Rpb24gKGZpbGUpIHsgcmV0dXJuIHJlZ2V4LnRlc3QoZmlsZS5uYW1lKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVnZXgudGVzdChmaWxlcy5uYW1lKTtcclxufTtcclxudmFyIGltYWdlID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGNcclxufTtcblxudmFyIHZhbGlkYXRlJGQgPSBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiAvXi0/WzAtOV0rJC8udGVzdChTdHJpbmcodmFsKSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIC9eLT9bMC05XSskLy50ZXN0KFN0cmluZyh2YWx1ZSkpO1xyXG59O1xyXG52YXIgaW50ZWdlciA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRkXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRlID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIG90aGVyID0gX2Eub3RoZXI7XHJcbiAgICByZXR1cm4gdmFsdWUgPT09IG90aGVyO1xyXG59O1xyXG52YXIgcGFyYW1zJDkgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ290aGVyJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgaXMgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkZSxcclxuICAgIHBhcmFtczogcGFyYW1zJDlcclxufTtcblxudmFyIHZhbGlkYXRlJGYgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgb3RoZXIgPSBfYS5vdGhlcjtcclxuICAgIHJldHVybiB2YWx1ZSAhPT0gb3RoZXI7XHJcbn07XHJcbnZhciBwYXJhbXMkYSA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnb3RoZXInXHJcbiAgICB9XHJcbl07XHJcbnZhciBpc19ub3QgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkZixcclxuICAgIHBhcmFtczogcGFyYW1zJGFcclxufTtcblxudmFyIHZhbGlkYXRlJGcgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgbGVuZ3RoID0gX2EubGVuZ3RoO1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgdmFsdWUgPSBTdHJpbmcodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF2YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgICB2YWx1ZSA9IHRvQXJyYXkodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA9PT0gbGVuZ3RoO1xyXG59O1xyXG52YXIgcGFyYW1zJGIgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xlbmd0aCcsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiBOdW1iZXIodmFsdWUpOyB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBsZW5ndGggPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkZyxcclxuICAgIHBhcmFtczogcGFyYW1zJGJcclxufTtcblxudmFyIHZhbGlkYXRlJGggPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgbGVuZ3RoID0gX2EubGVuZ3RoO1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBsZW5ndGggPj0gMDtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSRoKHZhbCwgeyBsZW5ndGg6IGxlbmd0aCB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKS5sZW5ndGggPD0gbGVuZ3RoO1xyXG59O1xyXG52YXIgcGFyYW1zJGMgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xlbmd0aCcsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIG1heCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRoLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkY1xyXG59O1xuXG52YXIgdmFsaWRhdGUkaSA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBtYXggPSBfYS5tYXg7XHJcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpIHx8IHZhbHVlID09PSAnJykge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPiAwICYmIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJGkodmFsLCB7IG1heDogbWF4IH0pOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBOdW1iZXIodmFsdWUpIDw9IG1heDtcclxufTtcclxudmFyIHBhcmFtcyRkID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdtYXgnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBtYXhfdmFsdWUgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkaSxcclxuICAgIHBhcmFtczogcGFyYW1zJGRcclxufTtcblxudmFyIHZhbGlkYXRlJGogPSBmdW5jdGlvbiAoZmlsZXMsIG1pbWVzKSB7XHJcbiAgICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKG1pbWVzLmpvaW4oJ3wnKS5yZXBsYWNlKCcqJywgJy4rJykgKyBcIiRcIiwgJ2knKTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGZpbGVzKSkge1xyXG4gICAgICAgIHJldHVybiBmaWxlcy5ldmVyeShmdW5jdGlvbiAoZmlsZSkgeyByZXR1cm4gcmVnZXgudGVzdChmaWxlLnR5cGUpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZWdleC50ZXN0KGZpbGVzLnR5cGUpO1xyXG59O1xyXG52YXIgbWltZXMgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkalxyXG59O1xuXG52YXIgdmFsaWRhdGUkayA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBsZW5ndGggPSBfYS5sZW5ndGg7XHJcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJGsodmFsLCB7IGxlbmd0aDogbGVuZ3RoIH0pOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpLmxlbmd0aCA+PSBsZW5ndGg7XHJcbn07XHJcbnZhciBwYXJhbXMkZSA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbGVuZ3RoJyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgbWluID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGssXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRlXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRsID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIG1pbiA9IF9hLm1pbjtcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkgfHwgdmFsdWUgPT09ICcnKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA+IDAgJiYgdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkbCh2YWwsIHsgbWluOiBtaW4gfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE51bWJlcih2YWx1ZSkgPj0gbWluO1xyXG59O1xyXG52YXIgcGFyYW1zJGYgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ21pbicsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIG1pbl92YWx1ZSA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRsLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkZlxyXG59O1xuXG52YXIgYXIgPSAvXlvZoNmh2aLZo9mk2aXZptmn2ajZqV0rJC87XHJcbnZhciBlbiA9IC9eWzAtOV0rJC87XHJcbnZhciB2YWxpZGF0ZSRtID0gZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICB2YXIgdGVzdFZhbHVlID0gZnVuY3Rpb24gKHZhbCkge1xyXG4gICAgICAgIHZhciBzdHJWYWx1ZSA9IFN0cmluZyh2YWwpO1xyXG4gICAgICAgIHJldHVybiBlbi50ZXN0KHN0clZhbHVlKSB8fCBhci50ZXN0KHN0clZhbHVlKTtcclxuICAgIH07XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkodGVzdFZhbHVlKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0ZXN0VmFsdWUodmFsdWUpO1xyXG59O1xyXG52YXIgbnVtZXJpYyA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRtXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRuID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIHJlZ2V4ID0gX2EucmVnZXg7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkbih2YWwsIHsgcmVnZXg6IHJlZ2V4IH0pOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZWdleC50ZXN0KFN0cmluZyh2YWx1ZSkpO1xyXG59O1xyXG52YXIgcGFyYW1zJGcgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ3JlZ2V4JyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgcmVnZXggPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkbixcclxuICAgIHBhcmFtczogcGFyYW1zJGdcclxufTtcblxudmFyIHZhbGlkYXRlJG8gPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgYWxsb3dGYWxzZSA9IChfYSA9PT0gdm9pZCAwID8geyBhbGxvd0ZhbHNlOiB0cnVlIH0gOiBfYSkuYWxsb3dGYWxzZTtcclxuICAgIHZhciByZXN1bHQgPSB7XHJcbiAgICAgICAgdmFsaWQ6IGZhbHNlLFxyXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlXHJcbiAgICB9O1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSB8fCBpc0VtcHR5QXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuICAgIC8vIGluY2FzZSBhIGZpZWxkIGNvbnNpZGVycyBgZmFsc2VgIGFzIGFuIGVtcHR5IHZhbHVlIGxpa2UgY2hlY2tib3hlcy5cclxuICAgIGlmICh2YWx1ZSA9PT0gZmFsc2UgJiYgIWFsbG93RmFsc2UpIHtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG4gICAgcmVzdWx0LnZhbGlkID0gISFTdHJpbmcodmFsdWUpLnRyaW0oKS5sZW5ndGg7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59O1xyXG52YXIgY29tcHV0ZXNSZXF1aXJlZCA9IHRydWU7XHJcbnZhciBwYXJhbXMkaCA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnYWxsb3dGYWxzZScsXHJcbiAgICAgICAgZGVmYXVsdDogdHJ1ZVxyXG4gICAgfVxyXG5dO1xyXG52YXIgcmVxdWlyZWQgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkbyxcclxuICAgIHBhcmFtczogcGFyYW1zJGgsXHJcbiAgICBjb21wdXRlc1JlcXVpcmVkOiBjb21wdXRlc1JlcXVpcmVkXHJcbn07XG5cbnZhciB0ZXN0RW1wdHkgPSBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgIHJldHVybiBpc0VtcHR5QXJyYXkodmFsdWUpIHx8IGluY2x1ZGVzKFtmYWxzZSwgbnVsbCwgdW5kZWZpbmVkXSwgdmFsdWUpIHx8ICFTdHJpbmcodmFsdWUpLnRyaW0oKS5sZW5ndGg7XHJcbn07XHJcbnZhciB2YWxpZGF0ZSRwID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIHRhcmdldCA9IF9hLnRhcmdldCwgdmFsdWVzID0gX2EudmFsdWVzO1xyXG4gICAgdmFyIHJlcXVpcmVkO1xyXG4gICAgaWYgKHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlcykgJiYgdHlwZW9mIHZhbHVlcyA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgdmFsdWVzID0gW3ZhbHVlc107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gICAgICAgIHJlcXVpcmVkID0gdmFsdWVzLnNvbWUoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsID09IFN0cmluZyh0YXJnZXQpLnRyaW0oKTsgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgICByZXF1aXJlZCA9ICF0ZXN0RW1wdHkodGFyZ2V0KTtcclxuICAgIH1cclxuICAgIGlmICghcmVxdWlyZWQpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB2YWxpZDogdHJ1ZSxcclxuICAgICAgICAgICAgcmVxdWlyZWQ6IHJlcXVpcmVkXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgdmFsaWQ6ICF0ZXN0RW1wdHkodmFsdWUpLFxyXG4gICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZFxyXG4gICAgfTtcclxufTtcclxudmFyIHBhcmFtcyRpID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICd0YXJnZXQnLFxyXG4gICAgICAgIGlzVGFyZ2V0OiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICd2YWx1ZXMnXHJcbiAgICB9XHJcbl07XHJcbnZhciBjb21wdXRlc1JlcXVpcmVkJDEgPSB0cnVlO1xyXG52YXIgcmVxdWlyZWRfaWYgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkcCxcclxuICAgIHBhcmFtczogcGFyYW1zJGksXHJcbiAgICBjb21wdXRlc1JlcXVpcmVkOiBjb21wdXRlc1JlcXVpcmVkJDFcclxufTtcblxudmFyIHZhbGlkYXRlJHEgPSBmdW5jdGlvbiAoZmlsZXMsIF9hKSB7XHJcbiAgICB2YXIgc2l6ZSA9IF9hLnNpemU7XHJcbiAgICBpZiAoaXNOYU4oc2l6ZSkpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB2YXIgblNpemUgPSBzaXplICogMTAyNDtcclxuICAgIGlmICghQXJyYXkuaXNBcnJheShmaWxlcykpIHtcclxuICAgICAgICByZXR1cm4gZmlsZXMuc2l6ZSA8PSBuU2l6ZTtcclxuICAgIH1cclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoZmlsZXNbaV0uc2l6ZSA+IG5TaXplKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxufTtcclxudmFyIHBhcmFtcyRqID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdzaXplJyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgc2l6ZSA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRxLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkalxyXG59O1xuXG5leHBvcnQgeyBhbHBoYSQxIGFzIGFscGhhLCBhbHBoYV9kYXNoLCBhbHBoYV9udW0sIGFscGhhX3NwYWNlcywgYmV0d2VlbiwgY29uZmlybWVkLCBkaWdpdHMsIGRpbWVuc2lvbnMsIGVtYWlsLCBleGNsdWRlZCwgZXh0LCBpbWFnZSwgaW50ZWdlciwgaXMsIGlzX25vdCwgbGVuZ3RoLCBtYXgsIG1heF92YWx1ZSwgbWltZXMsIG1pbiwgbWluX3ZhbHVlLCBudW1lcmljLCBvbmVPZiwgcmVnZXgsIHJlcXVpcmVkLCByZXF1aXJlZF9pZiwgc2l6ZSB9O1xuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZVRpdGxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTQ2MzFjNWY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZVRpdGxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTQ2MzFjNWY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLmJ1dHRvbltkYXRhLXYtMTZlOWFkNThdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gIHBhZGRpbmc6IDEycHggMzJweDtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHRyYW5zaXRpb246IDE1MG1zIGFsbCBlYXNlO1xcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxufVxcbi5idXR0b24gLnRleHQtbGFiZWxbZGF0YS12LTE2ZTlhZDU4XSB7XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XFxuICBmb250LXdlaWdodDogODAwO1xcbiAgbGluZS1oZWlnaHQ6IDA7XFxufVxcbi5idXR0b24gLmljb25bZGF0YS12LTE2ZTlhZDU4XSB7XFxuICBtYXJnaW4tbGVmdDogMTJweDtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbn1cXG4uYnV0dG9uLnNvbGlkW2RhdGEtdi0xNmU5YWQ1OF0ge1xcbiAgYmFja2dyb3VuZDogIzAwQkM3RTtcXG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMEJDN0U7XFxufVxcbi5idXR0b24uc29saWQgLnRleHQtbGFiZWxbZGF0YS12LTE2ZTlhZDU4XSB7XFxuICBjb2xvcjogd2hpdGU7XFxufVxcbi5idXR0b24ub3V0bGluZVtkYXRhLXYtMTZlOWFkNThdIHtcXG4gIGJvcmRlcjogMnB4IHNvbGlkICMxQjI1Mzk7XFxufVxcbi5idXR0b24ub3V0bGluZSAudGV4dC1sYWJlbFtkYXRhLXYtMTZlOWFkNThdIHtcXG4gIGNvbG9yOiAjMUIyNTM5O1xcbn1cXG4uYnV0dG9uLm91dGxpbmUgLmljb24gcGF0aFtkYXRhLXYtMTZlOWFkNThdIHtcXG4gIGZpbGw6IGluaGVyaXQ7XFxufVxcbi5idXR0b24ub3V0bGluZVtkYXRhLXYtMTZlOWFkNThdOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcXG59XFxuLmJ1dHRvbi5vdXRsaW5lOmhvdmVyIC50ZXh0LWxhYmVsW2RhdGEtdi0xNmU5YWQ1OF0ge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4uYnV0dG9uLm91dGxpbmVbZGF0YS12LTE2ZTlhZDU4XSB7XFxuICAgIGJhY2tncm91bmQ6ICMxMzE0MTQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2JlYzZjZjtcXG59XFxuLmJ1dHRvbi5vdXRsaW5lIC50ZXh0LWxhYmVsW2RhdGEtdi0xNmU5YWQ1OF0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxufVxcbi5zeW5jLWFsdFtkYXRhLXYtMTZlOWFkNThdIHtcXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzcGluLWRhdGEtdi0xNmU5YWQ1OCAxcyBsaW5lYXIgaW5maW5pdGU7XFxuICAgICAgICAgIGFuaW1hdGlvbjogc3Bpbi1kYXRhLXYtMTZlOWFkNTggMXMgbGluZWFyIGluZmluaXRlO1xcbn1cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbi1kYXRhLXYtMTZlOWFkNTgge1xcbjAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XFxufVxcbjEwMCUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbn1cXG59XFxuQGtleWZyYW1lcyBzcGluLWRhdGEtdi0xNmU5YWQ1OCB7XFxuMCUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcXG59XFxuMTAwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJsYW5kaW5nLXBhZ2VcIn0sW19jKCdOYXZpZ2F0aW9uJyx7c3RhdGljQ2xhc3M6XCJwYWdlLXdyYXBwZXIgc21hbGxcIn0pLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwicGFnZS13cmFwcGVyIHNtYWxsXCJ9LFtfYygnUGFnZVRpdGxlJyx7c3RhdGljQ2xhc3M6XCJoZWFkbGluZVwiLGF0dHJzOntcInRpdGxlXCI6X3ZtLiR0KCdwYWdlX2NvbnRhY3RfdXMudGl0bGUnKSxcImRlc2NyaXB0aW9uXCI6X3ZtLiR0KCdwYWdlX2NvbnRhY3RfdXMuZGVzY3JpcHRpb24nKX19KSxfdm0uX3YoXCIgXCIpLCghIF92bS5pc1N1Y2Nlc3MpP19jKCdWYWxpZGF0aW9uT2JzZXJ2ZXInLHtyZWY6XCJjb250YWN0Rm9ybVwiLHN0YXRpY0NsYXNzOlwiZm9ybSBibG9jay1mb3JtXCIsYXR0cnM6e1widGFnXCI6XCJmb3JtXCJ9LG9uOntcInN1Ym1pdFwiOmZ1bmN0aW9uKCRldmVudCl7JGV2ZW50LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIF92bS5jb250YWN0Rm9ybSgkZXZlbnQpfX0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgaW52YWxpZCA9IHJlZi5pbnZhbGlkO1xucmV0dXJuIFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV9jb250YWN0X3VzLmZvcm0uZW1haWwnKSkrXCI6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcIkUtTWFpbFwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0uY29udGFjdC5lbWFpbCksZXhwcmVzc2lvbjpcImNvbnRhY3QuZW1haWxcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ3BhZ2VfY29udGFjdF91cy5mb3JtLmVtYWlsX3BsYWMnKSxcInR5cGVcIjpcImVtYWlsXCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS5jb250YWN0LmVtYWlsKX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLmNvbnRhY3QsIFwiZW1haWxcIiwgJGV2ZW50LnRhcmdldC52YWx1ZSl9fX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX2NvbnRhY3RfdXMuZm9ybS5tZXNzYWdlJykpK1wiOlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJuYW1lXCI6XCJNZXNzYWdlXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ3RleHRhcmVhJyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS5jb250YWN0Lm1lc3NhZ2UpLGV4cHJlc3Npb246XCJjb250YWN0Lm1lc3NhZ2VcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ3BhZ2VfY29udGFjdF91cy5mb3JtLm1lc3NhZ2VfcGxhYycpLFwicm93c1wiOlwiNlwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0uY29udGFjdC5tZXNzYWdlKX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLmNvbnRhY3QsIFwibWVzc2FnZVwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksKF92bS5pc0Vycm9yKT9fYygnSW5mb0JveCcsW19jKCdwJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfY29udGFjdF91cy5lcnJvcl9tZXNzYWdlJykpKV0pXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfYygnZGl2JyxbX2MoJ0F1dGhCdXR0b24nLHtzdGF0aWNDbGFzczpcInN1Ym1pdC1idXR0b25cIixhdHRyczp7XCJpY29uXCI6XCJjaGV2cm9uLXJpZ2h0XCIsXCJ0ZXh0XCI6X3ZtLiR0KCdwYWdlX2NvbnRhY3RfdXMuZm9ybS5zdWJtaXRfYnV0dG9uJyksXCJsb2FkaW5nXCI6X3ZtLmlzTG9hZGluZyxcImRpc2FibGVkXCI6X3ZtLmlzTG9hZGluZ319KV0sMSldfX1dLG51bGwsZmFsc2UsNDM4NDM0MjY3KX0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKF92bS5pc1N1Y2Nlc3MpP19jKCdJbmZvQm94JyxbX2MoJ3AnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV9jb250YWN0X3VzLnN1Y2Nlc3NfbWVzc2FnZScpKSldKV0pOl92bS5fZSgpXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdQYWdlRm9vdGVyJyldLDEpfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImxhbmRpbmctcGFnZVwiPlxuXG4gICAgICAgIDwhLS1OYXZpZ2F0aW9uLS0+XG4gICAgICAgIDxOYXZpZ2F0aW9uIGNsYXNzPVwicGFnZS13cmFwcGVyIHNtYWxsXCIvPlxuXG4gICAgICAgIDwhLS1QYWdlIGNvbnRlbnQtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2Utd3JhcHBlciBzbWFsbFwiPlxuXG4gICAgICAgICAgICA8IS0tSGVhZGxpbmUtLT5cbiAgICAgICAgICAgIDxQYWdlVGl0bGVcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoZWFkbGluZVwiXG4gICAgICAgICAgICAgICAgICAgIDp0aXRsZT1cIiR0KCdwYWdlX2NvbnRhY3RfdXMudGl0bGUnKVwiXG4gICAgICAgICAgICAgICAgICAgIDpkZXNjcmlwdGlvbj1cIiR0KCdwYWdlX2NvbnRhY3RfdXMuZGVzY3JpcHRpb24nKVwiXG4gICAgICAgICAgICA+PC9QYWdlVGl0bGU+XG5cbiAgICAgICAgICAgIDxWYWxpZGF0aW9uT2JzZXJ2ZXIgdi1pZj1cIiEgaXNTdWNjZXNzXCIgQHN1Ym1pdC5wcmV2ZW50PVwiY29udGFjdEZvcm1cIiByZWY9XCJjb250YWN0Rm9ybVwiIHYtc2xvdD1cInsgaW52YWxpZCB9XCIgdGFnPVwiZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybSBibG9jay1mb3JtXCI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ3BhZ2VfY29udGFjdF91cy5mb3JtLmVtYWlsJykgfX06PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIG5hbWU9XCJFLU1haWxcIiBydWxlcz1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LXNsb3Q9XCJ7IGVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdi1tb2RlbD1cImNvbnRhY3QuZW1haWxcIiA6cGxhY2Vob2xkZXI9XCIkdCgncGFnZV9jb250YWN0X3VzLmZvcm0uZW1haWxfcGxhYycpXCIgdHlwZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgncGFnZV9jb250YWN0X3VzLmZvcm0ubWVzc2FnZScpIH19OjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiBuYW1lPVwiTWVzc2FnZVwiIHJ1bGVzPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSB2LW1vZGVsPVwiY29udGFjdC5tZXNzYWdlXCIgOnBsYWNlaG9sZGVyPVwiJHQoJ3BhZ2VfY29udGFjdF91cy5mb3JtLm1lc3NhZ2VfcGxhYycpXCIgcm93cz1cIjZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9jdXMtYm9yZGVyLXRoZW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPEluZm9Cb3ggdi1pZj1cImlzRXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgPHA+e3sgJHQoJ3BhZ2VfY29udGFjdF91cy5lcnJvcl9tZXNzYWdlJykgfX08L3A+XG4gICAgICAgICAgICAgICAgPC9JbmZvQm94PlxuXG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPEF1dGhCdXR0b24gY2xhc3M9XCJzdWJtaXQtYnV0dG9uXCIgaWNvbj1cImNoZXZyb24tcmlnaHRcIiA6dGV4dD1cIiR0KCdwYWdlX2NvbnRhY3RfdXMuZm9ybS5zdWJtaXRfYnV0dG9uJylcIiA6bG9hZGluZz1cImlzTG9hZGluZ1wiIDpkaXNhYmxlZD1cImlzTG9hZGluZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvVmFsaWRhdGlvbk9ic2VydmVyPlxuICAgICAgICAgICAgPEluZm9Cb3ggdi1pZj1cImlzU3VjY2Vzc1wiPlxuICAgICAgICAgICAgICAgIDxwPnt7ICR0KCdwYWdlX2NvbnRhY3RfdXMuc3VjY2Vzc19tZXNzYWdlJykgfX08L3A+XG4gICAgICAgICAgICA8L0luZm9Cb3g+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS1Gb290ZXItLT5cbiAgICAgICAgPFBhZ2VGb290ZXIvPlxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBpbXBvcnQge1ZhbGlkYXRpb25Qcm92aWRlciwgVmFsaWRhdGlvbk9ic2VydmVyfSBmcm9tICd2ZWUtdmFsaWRhdGUvZGlzdC92ZWUtdmFsaWRhdGUuZnVsbCdcbiAgICBpbXBvcnQgUGFnZVRpdGxlIGZyb20gJ0AvY29tcG9uZW50cy9JbmRleC9Db21wb25lbnRzL1BhZ2VUaXRsZSdcbiAgICBpbXBvcnQgUGFnZUZvb3RlciBmcm9tICdAL2NvbXBvbmVudHMvSW5kZXgvSW5kZXhQYWdlRm9vdGVyJ1xuICAgIGltcG9ydCBOYXZpZ2F0aW9uIGZyb20gJ0AvY29tcG9uZW50cy9JbmRleC9JbmRleE5hdmlnYXRpb24nXG4gICAgaW1wb3J0IEluZm9Cb3ggZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94J1xuICAgIGltcG9ydCBBdXRoQnV0dG9uIGZyb20gJ0AvY29tcG9uZW50cy9BdXRoL0F1dGhCdXR0b24nXG4gICAgaW1wb3J0IHtyZXF1aXJlZH0gZnJvbSAndmVlLXZhbGlkYXRlL2Rpc3QvcnVsZXMnXG4gICAgaW1wb3J0IHttYXBHZXR0ZXJzfSBmcm9tICd2dWV4J1xuICAgIGltcG9ydCBheGlvcyBmcm9tICdheGlvcydcblxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ0NvbnRhY3RVcycsXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIFZhbGlkYXRpb25Qcm92aWRlcixcbiAgICAgICAgICAgIFZhbGlkYXRpb25PYnNlcnZlcixcbiAgICAgICAgICAgIEF1dGhCdXR0b24sXG4gICAgICAgICAgICBQYWdlRm9vdGVyLFxuICAgICAgICAgICAgTmF2aWdhdGlvbixcbiAgICAgICAgICAgIFBhZ2VUaXRsZSxcbiAgICAgICAgICAgIHJlcXVpcmVkLFxuICAgICAgICAgICAgSW5mb0JveCxcbiAgICAgICAgfSxcbiAgICAgICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgICAgIC4uLm1hcEdldHRlcnMoWydjb25maWcnXSksXG4gICAgICAgIH0sXG4gICAgICAgIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgaXNTdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBpc0Vycm9yOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjb250YWN0OiB7XG4gICAgICAgICAgICAgICAgICAgIGVtYWlsOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbWV0aG9kczoge1xuICAgICAgICAgICAgYXN5bmMgY29udGFjdEZvcm0oKSB7XG5cbiAgICAgICAgICAgICAgICAvLyBWYWxpZGF0ZSBmaWVsZHNcbiAgICAgICAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gYXdhaXQgdGhpcy4kcmVmcy5jb250YWN0Rm9ybS52YWxpZGF0ZSgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAvLyBTdGFydCBsb2FkaW5nXG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlXG5cbiAgICAgICAgICAgICAgICAvLyBTZW5kIHJlcXVlc3QgdG8gZ2V0IHVzZXIgdG9rZW5cbiAgICAgICAgICAgICAgICBheGlvc1xuICAgICAgICAgICAgICAgICAgICAucG9zdCgnL2FwaS9jb250YWN0JywgdGhpcy5jb250YWN0KVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VjY2VzcyA9IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNFcnJvciA9IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5kIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlZCgpIHtcbiAgICAgICAgICAgIHRoaXMuJHNjcm9sbFRvcCgpXG4gICAgICAgIH1cbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX2xhbmRpbmctcGFnZSc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX2Zvcm1zJztcblxuICAgIC5mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5oZWFkbGluZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICB9XG5cbiAgICAuZm9ybS5ibG9jay1mb3JtIHtcblxuICAgICAgICAuc3VibWl0LWJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIC5oZWFkbGluZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29udGFjdFVzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db250YWN0VXMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9Db250YWN0VXMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTQ4YWYzN2UzJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0NvbnRhY3RVcy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0NvbnRhY3RVcy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQ29udGFjdFVzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTQ4YWYzN2UzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNDhhZjM3ZTNcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5pbmZvLWJveFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIHBhZGRpbmc6IDIwcHg7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xcbiAgYmFja2dyb3VuZDogI2Y0ZjVmNjtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbi5pbmZvLWJveC5lcnJvcltkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIGJhY2tncm91bmQ6IHJnYmEoMjUzLCA1NywgMTIyLCAwLjEpO1xcbn1cXG4uaW5mby1ib3guZXJyb3IgcFtkYXRhLXYtOGU3YzQyZjZdLCAuaW5mby1ib3guZXJyb3IgYVtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIGNvbG9yOiAjZmQzOTdhO1xcbn1cXG4uaW5mby1ib3guZXJyb3IgYVtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbn1cXG4uaW5mby1ib3ggcFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XFxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG59XFxuLmluZm8tYm94IHBbZGF0YS12LThlN2M0MmY2XSBhIHtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG59XFxuLmluZm8tYm94IHBbZGF0YS12LThlN2M0MmY2XSBiIHtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5pbmZvLWJveCBiW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmluZm8tYm94IGFbZGF0YS12LThlN2M0MmY2XSB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XFxufVxcbi5pbmZvLWJveCB1bFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIG1hcmdpbi10b3A6IDE1cHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmluZm8tYm94IHVsIGxpW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5pbmZvLWJveCB1bCBsaSBhW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjkwcHgpIHtcXG4uaW5mby1ib3hbZGF0YS12LThlN2M0MmY2XSB7XFxuICAgIHBhZGRpbmc6IDE1cHg7XFxufVxcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmluZm8tYm94W2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbn1cXG4uaW5mby1ib3ggcFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5pbmZvLWJveCB1bCBsaVtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJwYWdlLXRpdGxlIGxlZnRcIixjbGFzczpfdm0udHlwZX0sW19jKCdoMScse3N0YXRpY0NsYXNzOlwidGl0bGVcIixkb21Qcm9wczp7XCJpbm5lckhUTUxcIjpfdm0uX3MoX3ZtLnRpdGxlKX19KSxfdm0uX3YoXCIgXCIpLChfdm0uZGVzY3JpcHRpb24pP19jKCdoMicse3N0YXRpY0NsYXNzOlwiZGVzY3JpcHRpb25cIn0sW192bS5fdihcIlxcbiAgICAgICAgXCIrX3ZtLl9zKF92bS5kZXNjcmlwdGlvbikrXCJcXG4gICAgXCIpXSk6X3ZtLl9lKCldKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYWdlVGl0bGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BhZ2VUaXRsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2UtdGl0bGUgbGVmdFwiIDpjbGFzcz1cInR5cGVcIj5cbiAgICAgICAgPGgxIGNsYXNzPVwidGl0bGVcIiB2LWh0bWw9XCJ0aXRsZVwiPjwvaDE+XG4gICAgICAgIDxoMiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgdi1pZj1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICB7eyBkZXNjcmlwdGlvbiB9fVxuICAgICAgICA8L2gyPlxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdJbmRleFBhZ2VUaWxlJyxcbiAgICAgICAgcHJvcHM6IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAndHlwZSddXG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19sYW5kaW5nLXBhZ2UnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcblxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICYuY2VudGVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3ODBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgL2RlZXAvIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU4MHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIC5wYWdlLXRpdGxlIHtcblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgICAgICAvZGVlcC8gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vUGFnZVRpdGxlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00NjMxYzVmNiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9QYWdlVGl0bGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9QYWdlVGl0bGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1BhZ2VUaXRsZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00NjMxYzVmNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjQ2MzFjNWY2XCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZVRpdGxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTQ2MzFjNWY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZVRpdGxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTQ2MzFjNWY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BhZ2VUaXRsZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00NjMxYzVmNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2Zvb3Rlcicse3N0YXRpY0NsYXNzOlwicGFnZS13cmFwcGVyIG1lZGl1bVwifSxbX2MoJ3JvdXRlci1saW5rJyx7c3RhdGljQ2xhc3M6XCJsb2dvXCIsYXR0cnM6e1widG9cIjp7bmFtZTogJ0hvbWVwYWdlJ30sXCJ0YWdcIjpcImRpdlwifX0sWyhfdm0uY29uZmlnLmFwcF9sb2dvX2hvcml6b250YWwpP19jKCdpbWcnLHthdHRyczp7XCJzcmNcIjpfdm0uJGdldEltYWdlKF92bS5jb25maWcuYXBwX2xvZ29faG9yaXpvbnRhbCksXCJhbHRcIjpfdm0uY29uZmlnLmFwcF9uYW1lfX0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKCEgX3ZtLmNvbmZpZy5hcHBfbG9nb19ob3Jpem9udGFsKT9fYygnYicse3N0YXRpY0NsYXNzOlwibG9nby10ZXh0XCJ9LFtfdm0uX3YoX3ZtLl9zKF92bS5jb25maWcuYXBwX25hbWUpKV0pOl92bS5fZSgpXSksX3ZtLl92KFwiIFwiKSxfYygndWwnLHtzdGF0aWNDbGFzczpcIm5hdmlnYXRpb24tbGlua3NcIn0sW19jKCdsaScsW19jKCdyb3V0ZXItbGluaycse3N0YXRpY0NsYXNzOlwiaG92ZXItdGV4dC10aGVtZVwiLGF0dHJzOntcInRvXCI6e25hbWU6ICdDb250YWN0VXMnfX19LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhfdm0uJHQoJ3BhZ2VfaW5kZXgubWVudS5jb250YWN0X3VzJykpK1wiXFxuICAgICAgICAgICAgICAgIFwiKV0pXSwxKV0pLF92bS5fdihcIiBcIiksX2MoJ3VsJyx7c3RhdGljQ2xhc3M6XCJuYXZpZ2F0aW9uLWxpbmtzXCJ9LF92bS5fbCgoX3ZtLmNvbmZpZy5sZWdhbCksZnVuY3Rpb24obGVnYWwsaW5kZXgpe3JldHVybiAobGVnYWwudmlzaWJpbGl0eSk/X2MoJ2xpJyx7a2V5OmluZGV4fSxbX2MoJ3JvdXRlci1saW5rJyx7c3RhdGljQ2xhc3M6XCJob3Zlci10ZXh0LXRoZW1lXCIsYXR0cnM6e1widG9cIjp7bmFtZTogJ0R5bmFtaWNQYWdlJywgcGFyYW1zOiB7c2x1ZzogbGVnYWwuc2x1ZyB9fX19LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhsZWdhbC50aXRsZSkrXCJcXG4gICAgICAgICAgICAgICAgXCIpXSldLDEpOl92bS5fZSgpfSksMCksX3ZtLl92KFwiIFwiKSxfYygncCcse3N0YXRpY0NsYXNzOlwiY29weXJpZ2h0XCIsZG9tUHJvcHM6e1wiaW5uZXJIVE1MXCI6X3ZtLl9zKF92bS5jb25maWcuYXBwX2Zvb3Rlcil9fSldLDEpfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XG4gICAgPGZvb3RlciBjbGFzcz1cInBhZ2Utd3JhcHBlciBtZWRpdW1cIj5cbiAgICAgICAgPHJvdXRlci1saW5rIDp0bz1cIntuYW1lOiAnSG9tZXBhZ2UnfVwiIHRhZz1cImRpdlwiIGNsYXNzPVwibG9nb1wiPlxuICAgICAgICAgICAgPGltZyB2LWlmPVwiY29uZmlnLmFwcF9sb2dvX2hvcml6b250YWxcIiA6c3JjPVwiJGdldEltYWdlKGNvbmZpZy5hcHBfbG9nb19ob3Jpem9udGFsKVwiIDphbHQ9XCJjb25maWcuYXBwX25hbWVcIj5cbiAgICAgICAgICAgIDxiIHYtaWY9XCIhIGNvbmZpZy5hcHBfbG9nb19ob3Jpem9udGFsXCIgY2xhc3M9XCJsb2dvLXRleHRcIj57eyBjb25maWcuYXBwX25hbWUgfX08L2I+XG4gICAgICAgIDwvcm91dGVyLWxpbms+XG4gICAgICAgIDx1bCBjbGFzcz1cIm5hdmlnYXRpb24tbGlua3NcIj5cbjwhLS0gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIi8jcHJpY2luZ1wiPlxuICAgICAgICAgICAgICAgICAgICB7eyAkdCgncGFnZV9pbmRleC5tZW51LnByaWNpbmcnKSB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbGk+LS0+XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgPHJvdXRlci1saW5rIDp0bz1cIntuYW1lOiAnQ29udGFjdFVzJ31cIiBjbGFzcz1cImhvdmVyLXRleHQtdGhlbWVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJHQoJ3BhZ2VfaW5kZXgubWVudS5jb250YWN0X3VzJykgfX1cbiAgICAgICAgICAgICAgICA8L3JvdXRlci1saW5rPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgICAgPHVsIGNsYXNzPVwibmF2aWdhdGlvbi1saW5rc1wiPlxuICAgICAgICAgICAgPGxpIHYtaWY9XCJsZWdhbC52aXNpYmlsaXR5XCIgdi1mb3I9XCIobGVnYWwsIGluZGV4KSBpbiBjb25maWcubGVnYWxcIiA6a2V5PVwiaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8cm91dGVyLWxpbmsgOnRvPVwie25hbWU6ICdEeW5hbWljUGFnZScsIHBhcmFtczoge3NsdWc6IGxlZ2FsLnNsdWcgfX1cIiBjbGFzcz1cImhvdmVyLXRleHQtdGhlbWVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbGVnYWwudGl0bGUgfX1cbiAgICAgICAgICAgICAgICA8L3JvdXRlci1saW5rPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgICAgPHAgY2xhc3M9XCJjb3B5cmlnaHRcIiB2LWh0bWw9XCJjb25maWcuYXBwX2Zvb3RlclwiPjwvcD5cbiAgICA8L2Zvb3Rlcj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgaW1wb3J0IHsgbWFwR2V0dGVycyB9IGZyb20gJ3Z1ZXgnXG5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdJbmRleFBhZ2VGb290ZXInLFxuICAgICAgICBjb21wdXRlZDoge1xuICAgICAgICAgICAgLi4ubWFwR2V0dGVycyhbJ2NvbmZpZyddKSxcbiAgICAgICAgfSxcbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX2xhbmRpbmctcGFnZSc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgZm9vdGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubG9nby10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmlnYXRpb24tbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE3KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDE1MG1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTcpO1xuICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgICAvZGVlcC8gYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAubmF2aWdhdGlvbi1saW5rcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG5cbiAgICAgICAgLmNvcHlyaWdodCB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3NlY29uZGFyeTtcbiAgICAgICAgfVxuICAgIH1cbjwvc3R5bGU+XG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZGV4UGFnZUZvb3Rlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5kZXhQYWdlRm9vdGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vSW5kZXhQYWdlRm9vdGVyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02MTYzZGIyOCZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9JbmRleFBhZ2VGb290ZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9JbmRleFBhZ2VGb290ZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0luZGV4UGFnZUZvb3Rlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02MTYzZGIyOCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjYxNjNkYjI4XCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5mb0JveC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD04ZTdjNDJmNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OGU3YzQyZjYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIubGFuZGluZy1wYWdlW2RhdGEtdi02NzQ2ZTIzM10ge1xcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xcbn1cXG4ucGFnZS13cmFwcGVyW2RhdGEtdi02NzQ2ZTIzM10ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWFyZ2luOiAwIGF1dG87XFxuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xcbn1cXG4ucGFnZS13cmFwcGVyLmxhcmdlW2RhdGEtdi02NzQ2ZTIzM10ge1xcbiAgd2lkdGg6IDE0OTBweDtcXG59XFxuLnBhZ2Utd3JhcHBlci5tZWRpdW1bZGF0YS12LTY3NDZlMjMzXSB7XFxuICB3aWR0aDogMTE1MHB4O1xcbn1cXG4ucGFnZS13cmFwcGVyLnNtYWxsW2RhdGEtdi02NzQ2ZTIzM10ge1xcbiAgd2lkdGg6IDg5MHB4O1xcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzOTBweCkge1xcbi5wYWdlLXdyYXBwZXIubGFyZ2VbZGF0YS12LTY3NDZlMjMzXSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbn1cXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHtcXG4ucGFnZS13cmFwcGVyLmxhcmdlW2RhdGEtdi02NzQ2ZTIzM10ge1xcbiAgICB3aWR0aDogMTAwJTtcXG59XFxuLnBhZ2Utd3JhcHBlci5tZWRpdW1bZGF0YS12LTY3NDZlMjMzXSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbn1cXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xcbi5wYWdlLXdyYXBwZXJbZGF0YS12LTY3NDZlMjMzXSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjVweDtcXG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcXG59XFxuLnBhZ2Utd3JhcHBlci5zbWFsbFtkYXRhLXYtNjc0NmUyMzNdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxufVxcbn1cXG4ubWFpbi1uYXZpZ2F0aW9uW2RhdGEtdi02NzQ2ZTIzM10ge1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgcGFkZGluZy10b3A6IDI1cHg7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4ubG9nb1tkYXRhLXYtNjc0NmUyMzNdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmxvZ28gaW1nW2RhdGEtdi02NzQ2ZTIzM10ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgaGVpZ2h0OiAzOHB4O1xcbiAgd2lkdGg6IGF1dG87XFxufVxcbi5sb2dvIC5sb2dvLXRleHRbZGF0YS12LTY3NDZlMjMzXSB7XFxuICBmb250LXdlaWdodDogODAwO1xcbiAgZm9udC1zaXplOiAxLjU2MjVlbTtcXG59XFxuLm5hdmlnYXRpb24tbGlua3NbZGF0YS12LTY3NDZlMjMzXSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBtYXJnaW4tbGVmdDogMjVweDtcXG59XFxuLm5hdmlnYXRpb24tbGlua3NbZGF0YS12LTY3NDZlMjMzXTpmaXJzdC1jaGlsZCB7XFxuICBtYXJnaW4tbGVmdDogMDtcXG59XFxuLm5hdmlnYXRpb24tbGlua3MgbGlbZGF0YS12LTY3NDZlMjMzXSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5uYXZpZ2F0aW9uLWxpbmtzIGxpIGFbZGF0YS12LTY3NDZlMjMzXSB7XFxuICBwYWRkaW5nOiAxNHB4O1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG59XFxuLmN0YS1idXR0b25bZGF0YS12LTY3NDZlMjMzXSB7XFxuICBib3JkZXItcmFkaXVzOiA2cHg7XFxuICBwYWRkaW5nOiA4cHggMjNweDtcXG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uY3RhLWJ1dHRvbi5sb2ctaW5bZGF0YS12LTY3NDZlMjMzXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XFxuLm5hdmlnYXRpb25bZGF0YS12LTY3NDZlMjMzXSB7XFxuICAgIGRpc3BsYXk6IG5vbmU7XFxufVxcbi5sb2dvIGltZ1tkYXRhLXYtNjc0NmUyMzNdIHtcXG4gICAgaGVpZ2h0OiBhdXRvO1xcbiAgICB3aWR0aDogMTkwcHg7XFxufVxcbi5jdGEtYnV0dG9uLmxvZy1pbltkYXRhLXYtNjc0NmUyMzNdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db250YWN0VXMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NDhhZjM3ZTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db250YWN0VXMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NDhhZjM3ZTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ25hdicse3N0YXRpY0NsYXNzOlwibWFpbi1uYXZpZ2F0aW9uXCJ9LFtfYygncm91dGVyLWxpbmsnLHtzdGF0aWNDbGFzczpcImxvZ29cIixhdHRyczp7XCJ0b1wiOntuYW1lOiAnSG9tZXBhZ2UnfSxcInRhZ1wiOlwiZGl2XCJ9fSxbKF92bS5jb25maWcuYXBwX2xvZ29faG9yaXpvbnRhbCk/X2MoJ2ltZycse2F0dHJzOntcInNyY1wiOl92bS4kZ2V0SW1hZ2UoX3ZtLmNvbmZpZy5hcHBfbG9nb19ob3Jpem9udGFsKSxcImFsdFwiOl92bS5jb25maWcuYXBwX25hbWV9fSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwoISBfdm0uY29uZmlnLmFwcF9sb2dvX2hvcml6b250YWwpP19jKCdiJyx7c3RhdGljQ2xhc3M6XCJsb2dvLXRleHRcIn0sW192bS5fdihfdm0uX3MoX3ZtLmNvbmZpZy5hcHBfbmFtZSkpXSk6X3ZtLl9lKCldKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcIm5hdmlnYXRpb25cIn0sW19jKCd1bCcse3N0YXRpY0NsYXNzOlwibmF2aWdhdGlvbi1saW5rc1wifSxbX2MoJ2xpJyxbX2MoJ3JvdXRlci1saW5rJyx7c3RhdGljQ2xhc3M6XCJob3Zlci10ZXh0LXRoZW1lXCIsYXR0cnM6e1widG9cIjp7bmFtZTogJ0NvbnRhY3RVcyd9fX0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgXCIrX3ZtLl9zKF92bS4kdCgncGFnZV9pbmRleC5tZW51LmNvbnRhY3RfdXMnKSkrXCJcXG4gICAgICAgICAgICAgICAgXCIpXSldLDEpXSksX3ZtLl92KFwiIFwiKSwoISBfdm0uY29uZmlnLmlzQXV0aGVudGljYXRlZCk/X2MoJ3VsJyx7c3RhdGljQ2xhc3M6XCJuYXZpZ2F0aW9uLWxpbmtzXCJ9LFtfYygnbGknLFtfYygncm91dGVyLWxpbmsnLHtzdGF0aWNDbGFzczpcImhvdmVyLXRleHQtdGhlbWVcIixhdHRyczp7XCJ0b1wiOntuYW1lOiAnU2lnbkluJ319fSxbX3ZtLl92KFwiXFxuICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdwYWdlX2luZGV4Lm1lbnUubG9nX2luJykpK1wiXFxuICAgICAgICAgICAgICAgIFwiKV0pXSwxKSxfdm0uX3YoXCIgXCIpLChfdm0uY29uZmlnLnVzZXJSZWdpc3RyYXRpb24pP19jKCdsaScsW19jKCdyb3V0ZXItbGluaycse3N0YXRpY0NsYXNzOlwiY3RhLWJ1dHRvbiB0ZXh0LXRoZW1lIGJnLXRoZW1lLTEwMFwiLGF0dHJzOntcInRvXCI6e25hbWU6ICdTaWduVXAnfX19LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhfdm0uJHQoJ3BhZ2VfaW5kZXgubWVudS5zaWduX2luJykpK1wiXFxuICAgICAgICAgICAgICAgIFwiKV0pXSwxKTpfdm0uX2UoKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKF92bS5jb25maWcuaXNBdXRoZW50aWNhdGVkKT9fYygndWwnLHtzdGF0aWNDbGFzczpcIm5hdmlnYXRpb24tbGlua3NcIn0sWyhfdm0uY29uZmlnLnVzZXJSZWdpc3RyYXRpb24pP19jKCdsaScsW19jKCdyb3V0ZXItbGluaycse3N0YXRpY0NsYXNzOlwiY3RhLWJ1dHRvbiB0ZXh0LXRoZW1lIGJnLXRoZW1lLTEwMFwiLGF0dHJzOntcInRvXCI6e25hbWU6ICdGaWxlcyd9fX0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgR28gdG8gRmlsZXMgXCIpXSldLDEpOl92bS5fZSgpXSk6X3ZtLl9lKCldKSxfdm0uX3YoXCIgXCIpLF9jKCdyb3V0ZXItbGluaycse3N0YXRpY0NsYXNzOlwiY3RhLWJ1dHRvbiBsb2ctaW4gdGV4dC10aGVtZSBiZy10aGVtZS0xMDBcIixhdHRyczp7XCJ0b1wiOntuYW1lOiAnU2lnbkluJ319fSxbX3ZtLl92KFwiXFxuICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdwYWdlX2luZGV4Lm1lbnUubG9nX2luJykpK1wiXFxuICAgIFwiKV0pXSwxKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiPHRlbXBsYXRlPlxuICAgIDxuYXYgY2xhc3M9XCJtYWluLW5hdmlnYXRpb25cIj5cbiAgICAgICAgPHJvdXRlci1saW5rIDp0bz1cIntuYW1lOiAnSG9tZXBhZ2UnfVwiIHRhZz1cImRpdlwiIGNsYXNzPVwibG9nb1wiPlxuICAgICAgICAgICAgPGltZyB2LWlmPVwiY29uZmlnLmFwcF9sb2dvX2hvcml6b250YWxcIiA6c3JjPVwiJGdldEltYWdlKGNvbmZpZy5hcHBfbG9nb19ob3Jpem9udGFsKVwiIDphbHQ9XCJjb25maWcuYXBwX25hbWVcIj5cbiAgICAgICAgICAgIDxiIHYtaWY9XCIhIGNvbmZpZy5hcHBfbG9nb19ob3Jpem9udGFsXCIgY2xhc3M9XCJsb2dvLXRleHRcIj57eyBjb25maWcuYXBwX25hbWUgfX08L2I+XG4gICAgICAgIDwvcm91dGVyLWxpbms+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXZpZ2F0aW9uXCI+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJuYXZpZ2F0aW9uLWxpbmtzXCI+XG4gICAgICAgICAgICAgICAgPCEtLTxsaSB2LWlmPVwiY29uZmlnLnN0cmlwZV9wdWJsaWNfa2V5XCI+XG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIvI3ByaWNpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0KCdwYWdlX2luZGV4Lm1lbnUucHJpY2luZycpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2xpPi0tPlxuICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgPHJvdXRlci1saW5rIDp0bz1cIntuYW1lOiAnQ29udGFjdFVzJ31cIiBjbGFzcz1cImhvdmVyLXRleHQtdGhlbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0KCdwYWdlX2luZGV4Lm1lbnUuY29udGFjdF91cycpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvcm91dGVyLWxpbms+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8dWwgdi1pZj1cIiEgY29uZmlnLmlzQXV0aGVudGljYXRlZFwiIGNsYXNzPVwibmF2aWdhdGlvbi1saW5rc1wiPlxuICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgPHJvdXRlci1saW5rIDp0bz1cIntuYW1lOiAnU2lnbkluJ31cIiBjbGFzcz1cImhvdmVyLXRleHQtdGhlbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0KCdwYWdlX2luZGV4Lm1lbnUubG9nX2luJykgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9yb3V0ZXItbGluaz5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaSB2LWlmPVwiY29uZmlnLnVzZXJSZWdpc3RyYXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPHJvdXRlci1saW5rIGNsYXNzPVwiY3RhLWJ1dHRvbiB0ZXh0LXRoZW1lIGJnLXRoZW1lLTEwMFwiIDp0bz1cIntuYW1lOiAnU2lnblVwJ31cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0KCdwYWdlX2luZGV4Lm1lbnUuc2lnbl9pbicpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvcm91dGVyLWxpbms+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8dWwgdi1pZj1cImNvbmZpZy5pc0F1dGhlbnRpY2F0ZWRcIiBjbGFzcz1cIm5hdmlnYXRpb24tbGlua3NcIj5cbiAgICAgICAgICAgICAgICA8bGkgdi1pZj1cImNvbmZpZy51c2VyUmVnaXN0cmF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxyb3V0ZXItbGluayBjbGFzcz1cImN0YS1idXR0b24gdGV4dC10aGVtZSBiZy10aGVtZS0xMDBcIiA6dG89XCJ7bmFtZTogJ0ZpbGVzJ31cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIEZpbGVzIDwhLS10b2RvOiBwcmVrbGFkLS0+XG4gICAgICAgICAgICAgICAgICAgIDwvcm91dGVyLWxpbms+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cm91dGVyLWxpbmsgY2xhc3M9XCJjdGEtYnV0dG9uIGxvZy1pbiB0ZXh0LXRoZW1lIGJnLXRoZW1lLTEwMFwiIDp0bz1cIntuYW1lOiAnU2lnbkluJ31cIj5cbiAgICAgICAgICAgIHt7ICR0KCdwYWdlX2luZGV4Lm1lbnUubG9nX2luJykgfX1cbiAgICAgICAgPC9yb3V0ZXItbGluaz5cbiAgICA8L25hdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgaW1wb3J0IHsgbWFwR2V0dGVycyB9IGZyb20gJ3Z1ZXgnXG5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdJbmRleE5hdmlnYXRpb24nLFxuICAgICAgICBjb21wdXRlZDoge1xuICAgICAgICAgICAgLi4ubWFwR2V0dGVycyhbJ2NvbmZpZycsICdpbmRleCddKSxcbiAgICAgICAgfSxcbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX2xhbmRpbmctcGFnZSc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvLXRleHQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2aWdhdGlvbi1saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTRweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigxNTBtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3RhLWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDIzcHg7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgJi5sb2ctaW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjkwcHgpIHtcblxuICAgICAgICAubmF2aWdhdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ28ge1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTkwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3RhLWJ1dHRvbi5sb2ctaW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG48L3N0eWxlPlxuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmRleE5hdmlnYXRpb24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZGV4TmF2aWdhdGlvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0luZGV4TmF2aWdhdGlvbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9Njc0NmUyMzMmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vSW5kZXhOYXZpZ2F0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vSW5kZXhOYXZpZ2F0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9JbmRleE5hdmlnYXRpb24udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9Njc0NmUyMzMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI2NzQ2ZTIzM1wiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLmxhbmRpbmctcGFnZVtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcXG59XFxuLnBhZ2Utd3JhcHBlcltkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xcbiAgcGFkZGluZy1yaWdodDogMjVweDtcXG59XFxuLnBhZ2Utd3JhcHBlci5sYXJnZVtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gIHdpZHRoOiAxNDkwcHg7XFxufVxcbi5wYWdlLXdyYXBwZXIubWVkaXVtW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgd2lkdGg6IDExNTBweDtcXG59XFxuLnBhZ2Utd3JhcHBlci5zbWFsbFtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gIHdpZHRoOiA4OTBweDtcXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzkwcHgpIHtcXG4ucGFnZS13cmFwcGVyLmxhcmdlW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgICB3aWR0aDogMTAwJTtcXG59XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7XFxuLnBhZ2Utd3JhcHBlci5sYXJnZVtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxufVxcbi5wYWdlLXdyYXBwZXIubWVkaXVtW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgICB3aWR0aDogMTAwJTtcXG59XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcXG4ucGFnZS13cmFwcGVyW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XFxufVxcbi5wYWdlLXdyYXBwZXIuc21hbGxbZGF0YS12LTQ4YWYzN2UzXSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbn1cXG59XFxuLmZvcm1bZGF0YS12LTQ4YWYzN2UzXSB7XFxuICBtYXgtd2lkdGg6IDcwMHB4O1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybSAuaW5wdXQtd3JhcHBlcltkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmZvcm0uaW5saW5lLWZvcm0gLmlucHV0LXdyYXBwZXIgLmVycm9yLW1lc3NhZ2VbZGF0YS12LTQ4YWYzN2UzXSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBsZWZ0OiAwO1xcbiAgYm90dG9tOiAtMjVweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmVbZGF0YS12LTQ4YWYzN2UzXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgbWFyZ2luOiAwIC0xNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC53cmFwcGVyLWlubGluZSAuYmxvY2std3JhcHBlcltkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcGFkZGluZzogMCAxNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXJnaW4tYm90dG9tOiA3cHg7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi00OGFmMzdlM106bGFzdC1jaGlsZCB7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5idXR0b25bZGF0YS12LTQ4YWYzN2UzXSB7XFxuICBtYXJnaW4tdG9wOiA1MHB4O1xcbn1cXG4uZm9ybSAuaW5saW5lLXdyYXBwZXJbZGF0YS12LTQ4YWYzN2UzXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWhlbHBbZGF0YS12LTQ4YWYzN2UzXSB7XFxuICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWxhYmVsW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGNvbG9yOiAjMUIyNTM5O1xcbiAgZm9udC1zaXplOiAxZW07XFxuICBtYXJnaW4tYm90dG9tOiA1cHg7XFxufVxcbi5mb3JtIC5pbnB1dC1oZWxwW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgZm9udC1zaXplOiAwLjc1ZW07XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjcpO1xcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XFxuICBwYWRkaW5nLXRvcDogMTBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybVtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtIC5zdWJtaXQtYnV0dG9uW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XFxufVxcbi5lcnJvci1tZXNzYWdlW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgY29sb3I6ICNmZDM5N2E7XFxuICBwYWRkaW5nLXRvcDogNXB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5pbnB1dFt0eXBlPVxcXCJjb2xvclxcXCJdW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgd2lkdGg6IDM4cHg7XFxuICBoZWlnaHQ6IDQwcHg7XFxuICBib3JkZXI6IG5vbmU7XFxuICBvdXRsaW5lOiBub25lO1xcbiAgYmFja2dyb3VuZDogbm9uZTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTQ4YWYzN2UzXSxcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00OGFmMzdlM10sXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00OGFmMzdlM10sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTQ4YWYzN2UzXSxcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcGFkZGluZzogMTNweCAyMHB4O1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIG91dGxpbmU6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbn1cXG50ZXh0YXJlYS5pcy1lcnJvcltkYXRhLXYtNDhhZjM3ZTNdLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl0uaXMtZXJyb3JbZGF0YS12LTQ4YWYzN2UzXSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0uaXMtZXJyb3JbZGF0YS12LTQ4YWYzN2UzXSxcXG5pbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXS5pcy1lcnJvcltkYXRhLXYtNDhhZjM3ZTNdLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl0uaXMtZXJyb3JbZGF0YS12LTQ4YWYzN2UzXSB7XFxuICBib3JkZXItY29sb3I6ICNmZDM5N2E7XFxufVxcbnRleHRhcmVhW2RhdGEtdi00OGFmMzdlM106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTQ4YWYzN2UzXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00OGFmMzdlM106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00OGFmMzdlM106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTQ4YWYzN2UzXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTQ4YWYzN2UzXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTQ4YWYzN2UzXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTQ4YWYzN2UzXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNDhhZjM3ZTNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00OGFmMzdlM106LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTQ4YWYzN2UzXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00OGFmMzdlM106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00OGFmMzdlM106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTQ4YWYzN2UzXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00OGFmMzdlM106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTQ4YWYzN2UzXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOjpwbGFjZWhvbGRlcixcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTQ4YWYzN2UzXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTQ4YWYzN2UzXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOjpwbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGlzYWJsZWRdW2RhdGEtdi00OGFmMzdlM10sXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTQ4YWYzN2UzXSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGlzYWJsZWRdW2RhdGEtdi00OGFmMzdlM10sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi00OGFmMzdlM10sXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTQ4YWYzN2UzXSB7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjgpO1xcbiAgb3BhY2l0eTogMTtcXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxufVxcbi5hZGRpdGlvbmFsLWxpbmtbZGF0YS12LTQ4YWYzN2UzXSB7XFxuICBmb250LXNpemU6IDFlbTtcXG4gIG1hcmdpbi10b3A6IDUwcHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi00OGFmMzdlM10sIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi00OGFmMzdlM106aG92ZXIsIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtNDhhZjM3ZTNdOmhvdmVyIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xcbi5mb3JtW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XFxufVxcbi5mb3JtIGlucHV0W2RhdGEtdi00OGFmMzdlM10sIC5mb3JtIHRleHRhcmVhW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgbWluLXdpZHRoOiAxMDAlO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XFxuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcXG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYnV0dG9uW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtIC5pbnB1dC13cmFwcGVyIC5lcnJvci1tZXNzYWdlW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGJvdHRvbTogMDtcXG59XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gICAgcGFkZGluZzogMTRweCAzMnB4O1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybVtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtIC5zdWJtaXQtYnV0dG9uW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxufVxcbnRleHRhcmVhW2RhdGEtdi00OGFmMzdlM10sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00OGFmMzdlM10sXFxuICBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00OGFmMzdlM10sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmVbZGF0YS12LTQ4YWYzN2UzXSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5mb3JtIC5pbnB1dC1oZWxwW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5mb3JtIC5pbmxpbmUtd3JhcHBlciAuc3dpdGNoLWxhYmVsIC5pbnB1dC1sYWJlbFtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbnRleHRhcmVhW2RhdGEtdi00OGFmMzdlM10sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00OGFmMzdlM10sXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTQ4YWYzN2UzXSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00OGFmMzdlM10sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgICBib3JkZXItY29sb3I6ICMxZTIwMjQ7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNDhhZjM3ZTNdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00OGFmMzdlM106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00OGFmMzdlM106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTQ4YWYzN2UzXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTQ4YWYzN2UzXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTQ4YWYzN2UzXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi00OGFmMzdlM106LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00OGFmMzdlM106LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTQ4YWYzN2UzXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00OGFmMzdlM106LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00OGFmMzdlM106LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi00OGFmMzdlM106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00OGFmMzdlM106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNDhhZjM3ZTNdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTQ4YWYzN2UzXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00OGFmMzdlM106OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00OGFmMzdlM106OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTQ4YWYzN2UzXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00OGFmMzdlM106OnBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2Rpc2FibGVkXVtkYXRhLXYtNDhhZjM3ZTNdLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTQ4YWYzN2UzXSxcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTQ4YWYzN2UzXSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtNDhhZjM3ZTNdLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTQ4YWYzN2UzXSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGNvbG9yOiByZ2JhKDEyNSwgMTMzLCAxNDAsIDAuOCk7XFxuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2JhKDEyNSwgMTMzLCAxNDAsIDAuOCk7XFxufVxcbi5wb3B1cC13cmFwcGVyIHRleHRhcmVhW2RhdGEtdi00OGFmMzdlM10sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00OGFmMzdlM10sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTQ4YWYzN2UzXSxcXG4gIC5wb3B1cC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00OGFmMzdlM10sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00OGFmMzdlM10ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMjUyNzJjO1xcbn1cXG59XFxuLmZvcm1bZGF0YS12LTQ4YWYzN2UzXSB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbi5oZWFkbGluZVtkYXRhLXYtNDhhZjM3ZTNdIHtcXG4gIHBhZGRpbmctdG9wOiA3MHB4O1xcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLnN1Ym1pdC1idXR0b25bZGF0YS12LTQ4YWYzN2UzXSB7XFxuICBtYXJnaW4tdG9wOiAyMHB4O1xcbiAgbWFyZ2luLWxlZnQ6IDA7XFxuICBtYXJnaW4tcmlnaHQ6IDA7XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcXG4uaGVhZGxpbmVbZGF0YS12LTQ4YWYzN2UzXSB7XFxuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcXG59XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiJdLCJzb3VyY2VSb290IjoiIn0=