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

2 lines
349 KiB
JavaScript
Vendored

(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{"+8M/":function(e,a,t){var n=t("fi5X");"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(n,r);n.locals&&(e.exports=n.locals)},"2Sb1":function(e,a,t){"use strict";var n={name:"PageHeader",props:["title","canBack"],components:{ChevronLeftIcon:t("CjXH").g}},r=(t("JOXf"),t("KHd+")),o=Object(r.a)(n,(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("div",{staticClass:"page-header"},[e.canBack?t("div",{staticClass:"go-back",on:{click:function(a){return e.$router.back()}}},[t("chevron-left-icon",{attrs:{size:"17"}})],1):e._e(),e._v(" "),t("div",{staticClass:"content"},[t("h1",{staticClass:"title"},[e._v(e._s(e.title))])])])}),[],!1,null,"9fd0a424",null);a.a=o.exports},"2jUW":function(e,a,t){(e.exports=t("I1BE")(!1)).push([e.i,".dropzone[data-v-5d141a68] {\n border: 1px dashed #a1abc2;\n border-radius: 8px;\n position: relative;\n text-align: center;\n display: flex;\n align-items: center;\n min-height: 175px;\n}\n.dropzone.is-error[data-v-5d141a68] {\n border: 2px dashed rgba(253, 57, 122, 0.3);\n}\n.dropzone.is-error .dropzone-title[data-v-5d141a68] {\n color: #fd397a;\n}\n.dropzone.is-error .icon-upload rect[data-v-5d141a68], .dropzone.is-error .icon-upload circle[data-v-5d141a68], .dropzone.is-error .icon-upload polyline[data-v-5d141a68] {\n stroke: #fd397a;\n}\n.dropzone input[type='file'][data-v-5d141a68] {\n opacity: 0;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1;\n width: 100%;\n cursor: pointer;\n}\n.dropzone .image-preview[data-v-5d141a68] {\n position: absolute;\n width: 100%;\n height: 100%;\n -o-object-fit: contain;\n object-fit: contain;\n left: 0;\n padding: 25px;\n display: block;\n}\n.dropzone .image-preview.fit-image[data-v-5d141a68] {\n -o-object-fit: cover;\n object-fit: cover;\n border-radius: 12px;\n overflow: hidden;\n}\n.dropzone .dropzone-message[data-v-5d141a68] {\n padding: 50px 0;\n width: 100%;\n}\n.dropzone .dropzone-message .icon-upload rect[data-v-5d141a68], .dropzone .dropzone-message .icon-upload circle[data-v-5d141a68], .dropzone .dropzone-message .icon-upload polyline[data-v-5d141a68] {\n color: inherit;\n}\n.dropzone .dropzone-message .dropzone-title[data-v-5d141a68] {\n font-size: 1em;\n font-weight: 700;\n display: block;\n}\n.dropzone .dropzone-message .dropzone-description[data-v-5d141a68] {\n color: rgba(27, 37, 57, 0.7);\n font-size: 0.75em;\n}\n.dropzone .reset-image[data-v-5d141a68] {\n z-index: 2;\n background: white;\n border-radius: 50px;\n display: block;\n position: absolute;\n right: 0;\n top: 0;\n cursor: pointer;\n transform: translateY(-50%) translateX(50%);\n padding: 0px 4px;\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);\n}\n.dropzone .reset-image .close-icon[data-v-5d141a68] {\n vertical-align: middle;\n}\n.dropzone .reset-image .close-icon line path[data-v-5d141a68] {\n fill: #1B2539;\n}\n@media (prefers-color-scheme: dark) {\n.dropzone[data-v-5d141a68] {\n border-color: rgba(255, 255, 255, 0.2);\n}\n.dropzone .dropzone-message .icon-upload path[data-v-5d141a68], .dropzone .dropzone-message .icon-upload polyline[data-v-5d141a68], .dropzone .dropzone-message .icon-upload line[data-v-5d141a68] {\n color: inherit;\n}\n.dropzone .dropzone-message .dropzone-description[data-v-5d141a68] {\n color: #7d858c;\n}\n}\n",""])},"3GDE":function(e,a,t){var n=t("UqlB");"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(n,r);n.locals&&(e.exports=n.locals)},"3eeM":function(e,a,t){(e.exports=t("I1BE")(!1)).push([e.i,".page-header[data-v-9fd0a424] {\n display: flex;\n align-items: center;\n background: white;\n z-index: 9;\n width: 100%;\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n padding-top: 20px;\n padding-bottom: 20px;\n}\n.page-header .title[data-v-9fd0a424] {\n font-size: 1.125em;\n font-weight: 700;\n color: #1B2539;\n}\n.page-header .go-back[data-v-9fd0a424] {\n margin-right: 10px;\n cursor: pointer;\n}\n.page-header .go-back svg[data-v-9fd0a424] {\n vertical-align: middle;\n margin-top: -4px;\n}\n@media only screen and (max-width: 960px) {\n.page-header .title[data-v-9fd0a424] {\n font-size: 1.125em;\n}\n}\n@media only screen and (max-width: 690px) {\n.page-header[data-v-9fd0a424] {\n display: none;\n}\n}\n@media (prefers-color-scheme: dark) {\n.page-header[data-v-9fd0a424] {\n background: #131414;\n}\n.page-header .title[data-v-9fd0a424] {\n color: #bec6cf;\n}\n.page-header .icon path[data-v-9fd0a424] {\n fill: #00BC7E;\n}\n}\n",""])},"4TWA":function(e,a,t){"use strict";var n=t("CjXH"),r={name:"SelectInput",props:["options","isError","default","placeholder"],components:{Edit2Icon:n.r,UserIcon:n.db,ChevronDownIcon:n.f},data:function(){return{selected:void 0,isOpen:!1}},methods:{selectOption:function(e){this.$emit("input",e.value),this.selected=e,this.isOpen=!1},openMenu:function(){this.isOpen=!this.isOpen}},created:function(){var e=this;this.default&&(this.selected=this.options.find((function(a){return a.value===e.default})))}},o=(t("F+Qg"),t("KHd+")),i=Object(o.a)(r,(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("div",{staticClass:"select"},[t("div",{staticClass:"input-area",class:{"is-active":e.isOpen,"is-error":e.isError},on:{click:e.openMenu}},[e.selected?t("div",{staticClass:"selected"},[e.selected.icon?t("div",{staticClass:"option-icon"},["user"===e.selected.icon?t("user-icon",{attrs:{size:"14"}}):e._e(),e._v(" "),"user-edit"===e.selected.icon?t("edit2-icon",{attrs:{size:"14"}}):e._e()],1):e._e(),e._v(" "),t("span",{staticClass:"option-value"},[e._v(e._s(e.selected.label))])]):e._e(),e._v(" "),e.selected?e._e():t("div",{staticClass:"not-selected"},[t("span",{staticClass:"option-value placehoder"},[e._v(e._s(e.placeholder))])]),e._v(" "),t("chevron-down-icon",{staticClass:"chevron",attrs:{size:"19"}})],1),e._v(" "),t("transition",{attrs:{name:"slide-in"}},[e.isOpen?t("ul",{staticClass:"input-options"},e._l(e.options,(function(a,n){return t("li",{key:n,staticClass:"option-item",on:{click:function(t){return e.selectOption(a)}}},[a.icon?t("div",{staticClass:"option-icon"},["user"===a.icon?t("user-icon",{attrs:{size:"14"}}):e._e(),e._v(" "),"user-edit"===a.icon?t("edit2-icon",{attrs:{size:"14"}}):e._e()],1):e._e(),e._v(" "),t("span",{staticClass:"option-value"},[e._v(e._s(a.label))])])})),0):e._e()])],1)}),[],!1,null,"14b1d6a3",null);a.a=i.exports},"6QNy":function(e,a,t){"use strict";var n=t("+8M/");t.n(n).a},ATMU:function(e,a,t){(e.exports=t("I1BE")(!1)).push([e.i,'.form[data-v-4a6c4df4] {\n max-width: 700px;\n}\n.form.inline-form[data-v-4a6c4df4] {\n display: flex;\n position: relative;\n justify-content: center;\n margin: 0 auto;\n}\n.form.inline-form .input-wrapper[data-v-4a6c4df4] {\n position: relative;\n}\n.form.inline-form .input-wrapper .error-message[data-v-4a6c4df4] {\n position: absolute;\n left: 0;\n bottom: -25px;\n}\n.form.block-form .wrapper-inline[data-v-4a6c4df4] {\n display: flex;\n margin: 0 -15px;\n}\n.form.block-form .wrapper-inline .block-wrapper[data-v-4a6c4df4] {\n width: 100%;\n padding: 0 15px;\n}\n.form.block-form .block-wrapper[data-v-4a6c4df4] {\n margin-bottom: 32px;\n}\n.form.block-form .block-wrapper label[data-v-4a6c4df4] {\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-4a6c4df4]:last-child {\n margin-bottom: 0;\n}\n.form.block-form .button[data-v-4a6c4df4] {\n margin-top: 50px;\n}\n.form .inline-wrapper[data-v-4a6c4df4] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.form .inline-wrapper .switch-label .input-help[data-v-4a6c4df4] {\n padding-top: 0;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-4a6c4df4] {\n font-weight: 700;\n color: #1B2539;\n font-size: 1em;\n margin-bottom: 5px;\n}\n.form .input-help[data-v-4a6c4df4] {\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-4a6c4df4] {\n display: flex;\n}\n.single-line-form .submit-button[data-v-4a6c4df4] {\n margin-left: 20px;\n}\n.error-message[data-v-4a6c4df4] {\n font-size: 0.875em;\n color: #fd397a;\n padding-top: 5px;\n display: block;\n text-align: left;\n}\ntextarea[data-v-4a6c4df4] {\n width: 100%;\n}\ninput[type="color"][data-v-4a6c4df4] {\n width: 38px;\n height: 40px;\n border: none;\n outline: none;\n background: none;\n}\ntextarea[data-v-4a6c4df4],\ninput[type="password"][data-v-4a6c4df4],\ninput[type="text"][data-v-4a6c4df4],\ninput[type="number"][data-v-4a6c4df4],\ninput[type="email"][data-v-4a6c4df4] {\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-4a6c4df4],\ninput[type="password"].is-error[data-v-4a6c4df4],\ninput[type="text"].is-error[data-v-4a6c4df4],\ninput[type="number"].is-error[data-v-4a6c4df4],\ninput[type="email"].is-error[data-v-4a6c4df4] {\n border-color: #fd397a;\n}\ntextarea[data-v-4a6c4df4]::-webkit-input-placeholder, input[type="password"][data-v-4a6c4df4]::-webkit-input-placeholder, input[type="text"][data-v-4a6c4df4]::-webkit-input-placeholder, input[type="number"][data-v-4a6c4df4]::-webkit-input-placeholder, input[type="email"][data-v-4a6c4df4]::-webkit-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-4a6c4df4]::-moz-placeholder, input[type="password"][data-v-4a6c4df4]::-moz-placeholder, input[type="text"][data-v-4a6c4df4]::-moz-placeholder, input[type="number"][data-v-4a6c4df4]::-moz-placeholder, input[type="email"][data-v-4a6c4df4]::-moz-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-4a6c4df4]:-ms-input-placeholder, input[type="password"][data-v-4a6c4df4]:-ms-input-placeholder, input[type="text"][data-v-4a6c4df4]:-ms-input-placeholder, input[type="number"][data-v-4a6c4df4]:-ms-input-placeholder, input[type="email"][data-v-4a6c4df4]:-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-4a6c4df4]::-ms-input-placeholder, input[type="password"][data-v-4a6c4df4]::-ms-input-placeholder, input[type="text"][data-v-4a6c4df4]::-ms-input-placeholder, input[type="number"][data-v-4a6c4df4]::-ms-input-placeholder, input[type="email"][data-v-4a6c4df4]::-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-4a6c4df4]::placeholder,\ninput[type="password"][data-v-4a6c4df4]::placeholder,\ninput[type="text"][data-v-4a6c4df4]::placeholder,\ninput[type="number"][data-v-4a6c4df4]::placeholder,\ninput[type="email"][data-v-4a6c4df4]::placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[disabled][data-v-4a6c4df4],\ninput[type="password"][disabled][data-v-4a6c4df4],\ninput[type="text"][disabled][data-v-4a6c4df4],\ninput[type="number"][disabled][data-v-4a6c4df4],\ninput[type="email"][disabled][data-v-4a6c4df4] {\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-4a6c4df4] {\n font-size: 1em;\n margin-top: 50px;\n display: block;\n}\n.additional-link b[data-v-4a6c4df4], .additional-link a[data-v-4a6c4df4] {\n cursor: pointer;\n}\n.additional-link b[data-v-4a6c4df4]:hover, .additional-link a[data-v-4a6c4df4]:hover {\n text-decoration: underline;\n}\n@media only screen and (max-width: 1024px) {\n.form[data-v-4a6c4df4] {\n max-width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.form .button[data-v-4a6c4df4] {\n margin-top: 20px;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n}\n.form input[data-v-4a6c4df4], .form textarea[data-v-4a6c4df4] {\n width: 100%;\n min-width: 100%;\n}\n.form.block-form .block-wrapper[data-v-4a6c4df4] {\n display: block;\n}\n.form.block-form .block-wrapper label[data-v-4a6c4df4] {\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-4a6c4df4] {\n margin-top: 25px;\n margin-left: 0;\n margin-right: 0;\n}\n.form.inline-form[data-v-4a6c4df4] {\n display: block;\n}\n.form.inline-form .input-wrapper .error-message[data-v-4a6c4df4] {\n position: relative;\n bottom: 0;\n}\n.form .button[data-v-4a6c4df4] {\n padding: 14px 32px;\n}\n.single-line-form[data-v-4a6c4df4] {\n display: block;\n}\n.single-line-form .submit-button[data-v-4a6c4df4] {\n margin-left: 0;\n margin-top: 20px;\n width: 100%;\n}\ntextarea[data-v-4a6c4df4],\n input[type="password"][data-v-4a6c4df4],\n input[type="number"][data-v-4a6c4df4],\n input[type="text"][data-v-4a6c4df4],\n input[type="email"][data-v-4a6c4df4] {\n padding: 14px 20px;\n}\n}\n@media only screen and (max-width: 690px) {\n.form.block-form .wrapper-inline[data-v-4a6c4df4] {\n display: block;\n}\n}\n@media (prefers-color-scheme: dark) {\n.form .input-help[data-v-4a6c4df4] {\n color: #7d858c;\n}\n.form.block-form .block-wrapper label[data-v-4a6c4df4] {\n color: #bec6cf;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-4a6c4df4] {\n color: #bec6cf;\n}\ntextarea[data-v-4a6c4df4],\n input[type="password"][data-v-4a6c4df4],\n input[type="text"][data-v-4a6c4df4],\n input[type="number"][data-v-4a6c4df4],\n input[type="email"][data-v-4a6c4df4] {\n border-color: #1e2024;\n background: #1e2024;\n color: #bec6cf;\n}\ntextarea[data-v-4a6c4df4]::-webkit-input-placeholder, input[type="password"][data-v-4a6c4df4]::-webkit-input-placeholder, input[type="text"][data-v-4a6c4df4]::-webkit-input-placeholder, input[type="number"][data-v-4a6c4df4]::-webkit-input-placeholder, input[type="email"][data-v-4a6c4df4]::-webkit-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-4a6c4df4]::-moz-placeholder, input[type="password"][data-v-4a6c4df4]::-moz-placeholder, input[type="text"][data-v-4a6c4df4]::-moz-placeholder, input[type="number"][data-v-4a6c4df4]::-moz-placeholder, input[type="email"][data-v-4a6c4df4]::-moz-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-4a6c4df4]:-ms-input-placeholder, input[type="password"][data-v-4a6c4df4]:-ms-input-placeholder, input[type="text"][data-v-4a6c4df4]:-ms-input-placeholder, input[type="number"][data-v-4a6c4df4]:-ms-input-placeholder, input[type="email"][data-v-4a6c4df4]:-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-4a6c4df4]::-ms-input-placeholder, input[type="password"][data-v-4a6c4df4]::-ms-input-placeholder, input[type="text"][data-v-4a6c4df4]::-ms-input-placeholder, input[type="number"][data-v-4a6c4df4]::-ms-input-placeholder, input[type="email"][data-v-4a6c4df4]::-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-4a6c4df4]::placeholder,\n input[type="password"][data-v-4a6c4df4]::placeholder,\n input[type="text"][data-v-4a6c4df4]::placeholder,\n input[type="number"][data-v-4a6c4df4]::placeholder,\n input[type="email"][data-v-4a6c4df4]::placeholder {\n color: #7d858c;\n}\ntextarea[disabled][data-v-4a6c4df4],\n input[type="password"][disabled][data-v-4a6c4df4],\n input[type="text"][disabled][data-v-4a6c4df4],\n input[type="number"][disabled][data-v-4a6c4df4],\n input[type="email"][disabled][data-v-4a6c4df4] {\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-4a6c4df4],\n .popup-wrapper input[type="password"][data-v-4a6c4df4],\n .popup-wrapper input[type="text"][data-v-4a6c4df4],\n .popup-wrapper input[type="number"][data-v-4a6c4df4],\n .popup-wrapper input[type="email"][data-v-4a6c4df4] {\n background: #25272c;\n}\n}\n',""])},Aaq6:function(e,a,t){"use strict";var n=t("Gi3V");t.n(n).a},BelR:function(e,a,t){var n=t("2jUW");"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(n,r);n.locals&&(e.exports=n.locals)},"D+dh":function(e,a,t){"use strict";var n=t("CjXH"),r={name:"ImageInput",props:["image","error"],components:{ImageIcon:n.C,XIcon:n.hb},data:function(){return{imagePreview:void 0}},computed:{isData:function(){return void 0!==this.imagePreview&&""!==this.imagePreview}},methods:{resetImage:function(){this.imagePreview=void 0,this.$emit("input",void 0)},showImagePreview:function(e){var a=this,t=e.target.files[0].name,n=t.substring(t.lastIndexOf(".")+1).toLowerCase();if(["png","jpg","jpeg","svg"].includes(n)){var r=e.target.files[0],o=new FileReader;o.onload=function(){return a.imagePreview=o.result},o.readAsDataURL(r),this.$emit("input",e.target.files[0])}else alert(this.$t("validation_errors.wrong_image"))}},created:function(){this.image&&(this.imagePreview=this.image)}},o=(t("Obrk"),t("KHd+")),i=Object(o.a)(r,(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("div",{staticClass:"dropzone",class:{"is-error":e.error}},[e.imagePreview?t("div",{staticClass:"reset-image",on:{click:e.resetImage}},[t("x-icon",{staticClass:"close-icon text-theme",attrs:{size:"14"}})],1):e._e(),e._v(" "),t("input",{ref:"file",staticClass:"dummy",attrs:{type:"file"},on:{change:function(a){return e.showImagePreview(a)}}}),e._v(" "),e.imagePreview?t("img",{ref:"image",staticClass:"image-preview",attrs:{src:e.imagePreview}}):e._e(),e._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:!e.isData,expression:"! isData"}],staticClass:"dropzone-message"},[t("image-icon",{staticClass:"icon-upload text-theme",attrs:{size:"28"}}),e._v(" "),t("span",{staticClass:"dropzone-title"},[e._v("\n "+e._s(e.$t("input_image.title"))+"\n ")]),e._v(" "),t("span",{staticClass:"dropzone-description"},[e._v("\n "+e._s(e.$t("input_image.supported"))+"\n ")])],1)])}),[],!1,null,"5d141a68",null);a.a=i.exports},"F+Qg":function(e,a,t){"use strict";var n=t("3GDE");t.n(n).a},Gi3V:function(e,a,t){var n=t("ATMU");"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(n,r);n.locals&&(e.exports=n.locals)},JOXf:function(e,a,t){"use strict";var n=t("nr4+");t.n(n).a},Kavk:function(e,a,t){var n=t("smJr");"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(n,r);n.locals&&(e.exports=n.locals)},Obrk:function(e,a,t){"use strict";var n=t("BelR");t.n(n).a},"T3V+":function(e,a,t){"use strict";t.r(a);var n=t("o0o1"),r=t.n(n),o=t("A5+z"),i=t("4TWA"),s=t("D+dh"),d=t("eZ9V"),p=t("D62o"),l=t("THmQ"),c=t("Nv84"),u=t("2Sb1"),m=t("TJPC"),v=t("L2JU"),f=t("xCqy"),b=t("vDqi"),g=t.n(b);function h(e,a,t,n,r,o,i){try{var s=e[o](i),d=s.value}catch(e){return void t(e)}s.done?a(d):Promise.resolve(d).then(n,r)}function _(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function y(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}var w={name:"Profile",components:{ValidationProvider:o.ValidationProvider,ValidationObserver:o.ValidationObserver,SectionTitle:l.a,MobileHeader:p.a,SelectInput:i.a,ButtonBase:c.a,ImageInput:s.a,PageHeader:u.a,FormLabel:d.a,required:m.a},computed:function(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?_(Object(t),!0).forEach((function(a){y(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):_(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}({},Object(v.b)(["roles"])),data:function(){return{isLoading:!1,user:{role:"",avatar:void 0,name:"",email:"",password:"",password_confirmation:"",storage_capacity:5}}},methods:{createUser:function(){var e,a=this;return(e=r.a.mark((function e(){var t;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.$refs.createUser.validate();case 2:if(e.sent){e.next=5;break}return e.abrupt("return");case 5:a.isLoading=!0,(t=new FormData).append("name",a.user.name),t.append("role",a.user.role),t.append("email",a.user.email),t.append("password",a.user.password),t.append("storage_capacity",a.user.storage_capacity),t.append("password_confirmation",a.user.password_confirmation),a.user.avatar&&t.append("avatar",a.user.avatar),g.a.post("/api/admin/users/create",t,{headers:{"Content-Type":"multipart/form-data"}}).then((function(e){a.isLoading=!1,f.a.$emit("toaster",{type:"success",message:a.$t("toaster.created_user")}),a.$router.push({name:"UserDetail",params:{id:e.data.data.id}})})).catch((function(e){422==e.response.status?(e.response.data.errors.email&&a.$refs.createUser.setErrors({email:e.response.data.errors.email}),e.response.data.errors.password&&a.$refs.createUser.setErrors({password:e.response.data.errors.password}),e.response.data.errors.storage_capacity&&a.$refs.createUser.setErrors({"storage capacity":a.$t("errors.capacity_digit")})):f.a.$emit("alert:open",{title:a.$t("popup_error.title"),message:a.$t("popup_error.message")}),a.isLoading=!1}));case 15:case"end":return e.stop()}}),e)})),function(){var a=this,t=arguments;return new Promise((function(n,r){var o=e.apply(a,t);function i(e){h(o,n,r,i,s,"next",e)}function s(e){h(o,n,r,i,s,"throw",e)}i(void 0)}))})()}}},x=(t("Aaq6"),t("KHd+")),k=Object(x.a)(w,(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("div",{attrs:{id:"single-page"}},[t("div",{staticClass:"small-width",attrs:{id:"page-content"}},[t("MobileHeader",{attrs:{title:e.$router.currentRoute.meta.title}}),e._v(" "),t("PageHeader",{attrs:{"can-back":!0,title:e.$router.currentRoute.meta.title}}),e._v(" "),t("div",{staticClass:"content-page"},[t("ValidationObserver",{ref:"createUser",staticClass:"form block-form",attrs:{tag:"form"},on:{submit:function(a){return a.preventDefault(),e.createUser(a)}},scopedSlots:e._u([{key:"default",fn:function(a){a.invalid;return[t("div",{staticClass:"form-group"},[t("FormLabel",[e._v(e._s(e.$t("admin_page_user.create_user.group_details")))]),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("admin_page_user.create_user.avatar")))]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"avatar"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("ImageInput",{attrs:{error:n[0]},model:{value:e.user.avatar,callback:function(a){e.$set(e.user,"avatar",a)},expression:"user.avatar"}})]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("page_registration.label_email")))]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"email",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.email,expression:"user.email"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("admin_page_user.create_user.label_email"),type:"email"},domProps:{value:e.user.email},on:{input:function(a){a.target.composing||e.$set(e.user,"email",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("page_registration.label_name")))]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"user name",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.name,expression:"user.name"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("admin_page_user.create_user.label_name"),type:"text"},domProps:{value:e.user.name},on:{input:function(a){a.target.composing||e.$set(e.user,"name",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"wrapper-inline"},[t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("page_registration.label_pass")))]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"password",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.password,expression:"user.password"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("page_registration.placeholder_pass"),type:"password"},domProps:{value:e.user.password},on:{input:function(a){a.target.composing||e.$set(e.user,"password",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("page_registration.label_confirm_pass")))]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"password confirm",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.password_confirmation,expression:"user.password_confirmation"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("admin_page_user.create_user.label_conf_pass"),type:"password"},domProps:{value:e.user.password_confirmation},on:{input:function(a){a.target.composing||e.$set(e.user,"password_confirmation",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1)])],1),e._v(" "),t("div",{staticClass:"form-group"},[t("FormLabel",[e._v(e._s(e.$t("admin_page_user.create_user.group_settings")))]),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("admin_page_user.select_role"))+":")]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"permission",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("SelectInput",{attrs:{options:e.roles,placeholder:e.$t("admin_page_user.select_role"),isError:n[0]},model:{value:e.user.role,callback:function(a){e.$set(e.user,"role",a)},expression:"user.role"}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("admin_page_user.label_change_capacity")))]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"storage capacity",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.storage_capacity,expression:"user.storage_capacity"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{min:"1",max:"999999999",placeholder:e.$t("admin_page_user.label_change_capacity"),type:"number"},domProps:{value:e.user.storage_capacity},on:{input:function(a){a.target.composing||e.$set(e.user,"storage_capacity",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1)],1),e._v(" "),t("div",{staticClass:"form-group"},[t("ButtonBase",{attrs:{disabled:e.isLoading,loading:e.isLoading,"button-style":"theme",type:"submit"}},[e._v("\n "+e._s(e.$t("admin_page_user.create_user.submit"))+"\n ")])],1)]}}])})],1)],1)])}),[],!1,null,"4a6c4df4",null);a.default=k.exports},THmQ:function(e,a,t){"use strict";var n={name:"SectionTitle"},r=(t("UHE7"),t("KHd+")),o=Object(r.a)(n,(function(){var e=this.$createElement;return(this._self._c||e)("b",{staticClass:"text-label"},[this._t("default")],2)}),[],!1,null,"6d799cf2",null);a.a=o.exports},TJPC:function(e,a,t){"use strict";t.d(a,"a",(function(){return o}));function n(e){return null==e}function r(e){return Array.isArray(e)&&0===e.length}var o={validate:function(e,a){var t=(void 0===a?{allowFalse:!0}:a).allowFalse,o={valid:!1,required:!0};return n(e)||r(e)?o:!1!==e||t?(o.valid=!!String(e).trim().length,o):o},params:[{name:"allowFalse",default:!0}],computesRequired:!0}},UHE7:function(e,a,t){"use strict";var n=t("UmJ6");t.n(n).a},UmJ6:function(e,a,t){var n=t("vFyo");"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(n,r);n.locals&&(e.exports=n.locals)},UqlB:function(e,a,t){(e.exports=t("I1BE")(!1)).push([e.i,".select[data-v-14b1d6a3] {\n position: relative;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n width: 100%;\n}\n.input-options[data-v-14b1d6a3] {\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.12);\n background: white;\n border-radius: 8px;\n position: absolute;\n overflow: hidden;\n top: 65px;\n left: 0;\n right: 0;\n z-index: 9;\n max-height: 295px;\n overflow-y: auto;\n}\n.input-options .option-item[data-v-14b1d6a3] {\n padding: 13px 20px;\n display: block;\n cursor: pointer;\n}\n.input-options .option-item[data-v-14b1d6a3]:hover {\n color: #00BC7E;\n background: #f4f5f6;\n}\n.input-options .option-item[data-v-14b1d6a3]:last-child {\n border-bottom: none;\n}\n.input-area[data-v-14b1d6a3] {\n border-width: 1px;\n border-style: solid;\n border-color: transparent;\n justify-content: space-between;\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);\n transition: 150ms all ease;\n align-items: center;\n border-radius: 8px;\n padding: 13px 20px;\n display: flex;\n outline: 0;\n width: 100%;\n cursor: pointer;\n}\n.input-area .chevron[data-v-14b1d6a3] {\n transition: 150ms all ease;\n}\n.input-area.is-active .chevron[data-v-14b1d6a3] {\n transform: rotate(180deg);\n}\n.input-area.is-error[data-v-14b1d6a3] {\n border-color: #fd397a;\n box-shadow: 0 0 7px rgba(253, 57, 122, 0.3);\n}\n.option-icon[data-v-14b1d6a3] {\n width: 20px;\n display: inline-block;\n font-size: 0.625em;\n}\n.option-icon svg[data-v-14b1d6a3] {\n margin-top: -4px;\n vertical-align: middle;\n}\n.option-value[data-v-14b1d6a3] {\n font-size: 0.875em;\n font-weight: 700;\n width: 100%;\n vertical-align: middle;\n}\n.option-value.placehoder[data-v-14b1d6a3] {\n color: rgba(27, 37, 57, 0.5);\n}\n.slide-in-enter-active[data-v-14b1d6a3] {\n transition: all 150ms ease;\n}\n.slide-in-enter[data-v-14b1d6a3] {\n opacity: 0;\n transform: translateY(-50px);\n}\n@media (prefers-color-scheme: dark) {\n.input-area[data-v-14b1d6a3] {\n background: #1e2024;\n border-color: #1e2024;\n}\n.popup-wrapper .input-area[data-v-14b1d6a3] {\n background: #25272c;\n}\n.input-options[data-v-14b1d6a3] {\n background: #1e2024;\n}\n.input-options .option-item[data-v-14b1d6a3] {\n border-bottom: none;\n}\n.input-options .option-item[data-v-14b1d6a3]:hover {\n background: #2a2c32;\n}\n.input-options .option-item:hover .option-icon path[data-v-14b1d6a3], .input-options .option-item:hover .option-icon circle[data-v-14b1d6a3] {\n color: inherit;\n}\n.input-options .option-item[data-v-14b1d6a3]:last-child {\n border-bottom: none;\n}\n.option-value.placehoder[data-v-14b1d6a3] {\n color: #7d858c;\n}\n}\n",""])},WP52:function(e,a,t){"use strict";var n=t("fLvH");t.n(n).a},bmCq:function(e,a,t){(e.exports=t("I1BE")(!1)).push([e.i,".form-label[data-v-c8899810] {\n display: flex;\n align-items: center;\n margin-bottom: 30px;\n}\n.form-label .icon[data-v-c8899810] {\n margin-right: 10px;\n}\n.form-label .icon path[data-v-c8899810] {\n color: inherit;\n}\n.form-label .label[data-v-c8899810] {\n font-size: 1.125em;\n font-weight: 700;\n}\n@media (prefers-color-scheme: dark) {\n.form-label .label[data-v-c8899810] {\n color: #bec6cf;\n}\n}\n",""])},eZ9V:function(e,a,t){"use strict";var n={name:"FormLabel",components:{Edit2Icon:t("CjXH").r}},r=(t("WP52"),t("KHd+")),o=Object(r.a)(n,(function(){var e=this.$createElement,a=this._self._c||e;return a("div",{staticClass:"form-label"},[a("edit-2-icon",{staticClass:"icon text-theme",attrs:{size:"22"}}),this._v(" "),a("b",{staticClass:"label"},[this._t("default")],2)],1)}),[],!1,null,"c8899810",null);a.a=o.exports},fLvH:function(e,a,t){var n=t("bmCq");"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(n,r);n.locals&&(e.exports=n.locals)},fi5X:function(e,a,t){(e.exports=t("I1BE")(!1)).push([e.i,'.form[data-v-2105172c] {\n max-width: 700px;\n}\n.form.inline-form[data-v-2105172c] {\n display: flex;\n position: relative;\n justify-content: center;\n margin: 0 auto;\n}\n.form.inline-form .input-wrapper[data-v-2105172c] {\n position: relative;\n}\n.form.inline-form .input-wrapper .error-message[data-v-2105172c] {\n position: absolute;\n left: 0;\n bottom: -25px;\n}\n.form.block-form .wrapper-inline[data-v-2105172c] {\n display: flex;\n margin: 0 -15px;\n}\n.form.block-form .wrapper-inline .block-wrapper[data-v-2105172c] {\n width: 100%;\n padding: 0 15px;\n}\n.form.block-form .block-wrapper[data-v-2105172c] {\n margin-bottom: 32px;\n}\n.form.block-form .block-wrapper label[data-v-2105172c] {\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-2105172c]:last-child {\n margin-bottom: 0;\n}\n.form.block-form .button[data-v-2105172c] {\n margin-top: 50px;\n}\n.form .inline-wrapper[data-v-2105172c] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.form .inline-wrapper .switch-label .input-help[data-v-2105172c] {\n padding-top: 0;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-2105172c] {\n font-weight: 700;\n color: #1B2539;\n font-size: 1em;\n margin-bottom: 5px;\n}\n.form .input-help[data-v-2105172c] {\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-2105172c] {\n display: flex;\n}\n.single-line-form .submit-button[data-v-2105172c] {\n margin-left: 20px;\n}\n.error-message[data-v-2105172c] {\n font-size: 0.875em;\n color: #fd397a;\n padding-top: 5px;\n display: block;\n text-align: left;\n}\ntextarea[data-v-2105172c] {\n width: 100%;\n}\ninput[type="color"][data-v-2105172c] {\n width: 38px;\n height: 40px;\n border: none;\n outline: none;\n background: none;\n}\ntextarea[data-v-2105172c],\ninput[type="password"][data-v-2105172c],\ninput[type="text"][data-v-2105172c],\ninput[type="number"][data-v-2105172c],\ninput[type="email"][data-v-2105172c] {\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-2105172c],\ninput[type="password"].is-error[data-v-2105172c],\ninput[type="text"].is-error[data-v-2105172c],\ninput[type="number"].is-error[data-v-2105172c],\ninput[type="email"].is-error[data-v-2105172c] {\n border-color: #fd397a;\n}\ntextarea[data-v-2105172c]::-webkit-input-placeholder, input[type="password"][data-v-2105172c]::-webkit-input-placeholder, input[type="text"][data-v-2105172c]::-webkit-input-placeholder, input[type="number"][data-v-2105172c]::-webkit-input-placeholder, input[type="email"][data-v-2105172c]::-webkit-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-2105172c]::-moz-placeholder, input[type="password"][data-v-2105172c]::-moz-placeholder, input[type="text"][data-v-2105172c]::-moz-placeholder, input[type="number"][data-v-2105172c]::-moz-placeholder, input[type="email"][data-v-2105172c]::-moz-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-2105172c]:-ms-input-placeholder, input[type="password"][data-v-2105172c]:-ms-input-placeholder, input[type="text"][data-v-2105172c]:-ms-input-placeholder, input[type="number"][data-v-2105172c]:-ms-input-placeholder, input[type="email"][data-v-2105172c]:-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-2105172c]::-ms-input-placeholder, input[type="password"][data-v-2105172c]::-ms-input-placeholder, input[type="text"][data-v-2105172c]::-ms-input-placeholder, input[type="number"][data-v-2105172c]::-ms-input-placeholder, input[type="email"][data-v-2105172c]::-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-2105172c]::placeholder,\ninput[type="password"][data-v-2105172c]::placeholder,\ninput[type="text"][data-v-2105172c]::placeholder,\ninput[type="number"][data-v-2105172c]::placeholder,\ninput[type="email"][data-v-2105172c]::placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[disabled][data-v-2105172c],\ninput[type="password"][disabled][data-v-2105172c],\ninput[type="text"][disabled][data-v-2105172c],\ninput[type="number"][disabled][data-v-2105172c],\ninput[type="email"][disabled][data-v-2105172c] {\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-2105172c] {\n font-size: 1em;\n margin-top: 50px;\n display: block;\n}\n.additional-link b[data-v-2105172c], .additional-link a[data-v-2105172c] {\n cursor: pointer;\n}\n.additional-link b[data-v-2105172c]:hover, .additional-link a[data-v-2105172c]:hover {\n text-decoration: underline;\n}\n@media only screen and (max-width: 1024px) {\n.form[data-v-2105172c] {\n max-width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.form .button[data-v-2105172c] {\n margin-top: 20px;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n}\n.form input[data-v-2105172c], .form textarea[data-v-2105172c] {\n width: 100%;\n min-width: 100%;\n}\n.form.block-form .block-wrapper[data-v-2105172c] {\n display: block;\n}\n.form.block-form .block-wrapper label[data-v-2105172c] {\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-2105172c] {\n margin-top: 25px;\n margin-left: 0;\n margin-right: 0;\n}\n.form.inline-form[data-v-2105172c] {\n display: block;\n}\n.form.inline-form .input-wrapper .error-message[data-v-2105172c] {\n position: relative;\n bottom: 0;\n}\n.form .button[data-v-2105172c] {\n padding: 14px 32px;\n}\n.single-line-form[data-v-2105172c] {\n display: block;\n}\n.single-line-form .submit-button[data-v-2105172c] {\n margin-left: 0;\n margin-top: 20px;\n width: 100%;\n}\ntextarea[data-v-2105172c],\n input[type="password"][data-v-2105172c],\n input[type="number"][data-v-2105172c],\n input[type="text"][data-v-2105172c],\n input[type="email"][data-v-2105172c] {\n padding: 14px 20px;\n}\n}\n@media only screen and (max-width: 690px) {\n.form.block-form .wrapper-inline[data-v-2105172c] {\n display: block;\n}\n}\n@media (prefers-color-scheme: dark) {\n.form .input-help[data-v-2105172c] {\n color: #7d858c;\n}\n.form.block-form .block-wrapper label[data-v-2105172c] {\n color: #bec6cf;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-2105172c] {\n color: #bec6cf;\n}\ntextarea[data-v-2105172c],\n input[type="password"][data-v-2105172c],\n input[type="text"][data-v-2105172c],\n input[type="number"][data-v-2105172c],\n input[type="email"][data-v-2105172c] {\n border-color: #1e2024;\n background: #1e2024;\n color: #bec6cf;\n}\ntextarea[data-v-2105172c]::-webkit-input-placeholder, input[type="password"][data-v-2105172c]::-webkit-input-placeholder, input[type="text"][data-v-2105172c]::-webkit-input-placeholder, input[type="number"][data-v-2105172c]::-webkit-input-placeholder, input[type="email"][data-v-2105172c]::-webkit-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-2105172c]::-moz-placeholder, input[type="password"][data-v-2105172c]::-moz-placeholder, input[type="text"][data-v-2105172c]::-moz-placeholder, input[type="number"][data-v-2105172c]::-moz-placeholder, input[type="email"][data-v-2105172c]::-moz-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-2105172c]:-ms-input-placeholder, input[type="password"][data-v-2105172c]:-ms-input-placeholder, input[type="text"][data-v-2105172c]:-ms-input-placeholder, input[type="number"][data-v-2105172c]:-ms-input-placeholder, input[type="email"][data-v-2105172c]:-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-2105172c]::-ms-input-placeholder, input[type="password"][data-v-2105172c]::-ms-input-placeholder, input[type="text"][data-v-2105172c]::-ms-input-placeholder, input[type="number"][data-v-2105172c]::-ms-input-placeholder, input[type="email"][data-v-2105172c]::-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-2105172c]::placeholder,\n input[type="password"][data-v-2105172c]::placeholder,\n input[type="text"][data-v-2105172c]::placeholder,\n input[type="number"][data-v-2105172c]::placeholder,\n input[type="email"][data-v-2105172c]::placeholder {\n color: #7d858c;\n}\ntextarea[disabled][data-v-2105172c],\n input[type="password"][disabled][data-v-2105172c],\n input[type="text"][disabled][data-v-2105172c],\n input[type="number"][disabled][data-v-2105172c],\n input[type="email"][disabled][data-v-2105172c] {\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-2105172c],\n .popup-wrapper input[type="password"][data-v-2105172c],\n .popup-wrapper input[type="text"][data-v-2105172c],\n .popup-wrapper input[type="number"][data-v-2105172c],\n .popup-wrapper input[type="email"][data-v-2105172c] {\n background: #25272c;\n}\n}\n',""])},"nr4+":function(e,a,t){var n=t("3eeM");"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(n,r);n.locals&&(e.exports=n.locals)},sh7X:function(e,a,t){"use strict";t.r(a);var n=t("o0o1"),r=t.n(n),o=t("A5+z"),i=t("4TWA"),s=t("D+dh"),d=t("eZ9V"),p=t("D62o"),l=t("THmQ"),c=t("Nv84"),u=t("2Sb1"),m=t("TJPC"),v=t("L2JU"),f=t("xCqy"),b=t("vDqi"),g=t.n(b);function h(e,a,t,n,r,o,i){try{var s=e[o](i),d=s.value}catch(e){return void t(e)}s.done?a(d):Promise.resolve(d).then(n,r)}function _(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function y(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}var w={name:"Profile",components:{ValidationProvider:o.ValidationProvider,ValidationObserver:o.ValidationObserver,SectionTitle:l.a,MobileHeader:p.a,SelectInput:i.a,ButtonBase:c.a,ImageInput:s.a,PageHeader:u.a,FormLabel:d.a,required:m.a},computed:function(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?_(Object(t),!0).forEach((function(a){y(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):_(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}({},Object(v.b)(["roles"])),data:function(){return{isLoading:!1,user:{role:"",avatar:void 0,name:"",email:"",password:"",password_confirmation:"",storage_capacity:5}}},methods:{createUser:function(){var e,a=this;return(e=r.a.mark((function e(){var t;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.$refs.createUser.validate();case 2:if(e.sent){e.next=5;break}return e.abrupt("return");case 5:a.isLoading=!0,(t=new FormData).append("name",a.user.name),t.append("role",a.user.role),t.append("email",a.user.email),t.append("password",a.user.password),t.append("storage_capacity",a.user.storage_capacity),t.append("password_confirmation",a.user.password_confirmation),a.user.avatar&&t.append("avatar",a.user.avatar),g.a.post("/api/oasis/admin/users/create-user",t,{headers:{"Content-Type":"multipart/form-data"}}).then((function(e){a.isLoading=!1,f.a.$emit("toaster",{type:"success",message:a.$t("toaster.created_user")}),a.$router.push({name:"UserDetail",params:{id:e.data.data.id}})})).catch((function(e){422==e.response.status?(e.response.data.errors.email&&a.$refs.createUser.setErrors({email:e.response.data.errors.email}),e.response.data.errors.password&&a.$refs.createUser.setErrors({password:e.response.data.errors.password}),e.response.data.errors.storage_capacity&&a.$refs.createUser.setErrors({"storage capacity":a.$t("errors.capacity_digit")})):f.a.$emit("alert:open",{title:a.$t("popup_error.title"),message:a.$t("popup_error.message")}),a.isLoading=!1}));case 15:case"end":return e.stop()}}),e)})),function(){var a=this,t=arguments;return new Promise((function(n,r){var o=e.apply(a,t);function i(e){h(o,n,r,i,s,"next",e)}function s(e){h(o,n,r,i,s,"throw",e)}i(void 0)}))})()}}},x=(t("6QNy"),t("KHd+")),k=Object(x.a)(w,(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("div",{attrs:{id:"single-page"}},[t("div",{staticClass:"small-width",attrs:{id:"page-content"}},[t("MobileHeader",{attrs:{title:e.$router.currentRoute.meta.title}}),e._v(" "),t("PageHeader",{attrs:{"can-back":!0,title:e.$router.currentRoute.meta.title}}),e._v(" "),t("div",{staticClass:"content-page"},[t("ValidationObserver",{ref:"createUser",staticClass:"form block-form",attrs:{tag:"form"},on:{submit:function(a){return a.preventDefault(),e.createUser(a)}},scopedSlots:e._u([{key:"default",fn:function(a){a.invalid;return[t("div",{staticClass:"form-group"},[t("FormLabel",[e._v(e._s(e.$t("admin_page_user.create_user.group_details")))]),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("admin_page_user.create_user.avatar")))]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"avatar"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("ImageInput",{attrs:{error:n[0]},model:{value:e.user.avatar,callback:function(a){e.$set(e.user,"avatar",a)},expression:"user.avatar"}})]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("page_registration.label_email")))]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"email",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.email,expression:"user.email"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("admin_page_user.create_user.label_email"),type:"email"},domProps:{value:e.user.email},on:{input:function(a){a.target.composing||e.$set(e.user,"email",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("page_registration.label_name")))]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"user name",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.name,expression:"user.name"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("admin_page_user.create_user.label_name"),type:"text"},domProps:{value:e.user.name},on:{input:function(a){a.target.composing||e.$set(e.user,"name",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"wrapper-inline"},[t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("page_registration.label_pass")))]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"password",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.password,expression:"user.password"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("page_registration.placeholder_pass"),type:"password"},domProps:{value:e.user.password},on:{input:function(a){a.target.composing||e.$set(e.user,"password",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("page_registration.label_confirm_pass")))]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"password confirm",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.password_confirmation,expression:"user.password_confirmation"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("admin_page_user.create_user.label_conf_pass"),type:"password"},domProps:{value:e.user.password_confirmation},on:{input:function(a){a.target.composing||e.$set(e.user,"password_confirmation",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1)])],1),e._v(" "),t("div",{staticClass:"form-group"},[t("FormLabel",[e._v(e._s(e.$t("admin_page_user.create_user.group_settings")))]),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("admin_page_user.select_role"))+":")]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"permission",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("SelectInput",{attrs:{options:e.roles,placeholder:e.$t("admin_page_user.select_role"),isError:n[0]},model:{value:e.user.role,callback:function(a){e.$set(e.user,"role",a)},expression:"user.role"}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("admin_page_user.label_change_capacity")))]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"storage capacity",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.storage_capacity,expression:"user.storage_capacity"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{min:"1",max:"999999999",placeholder:e.$t("admin_page_user.label_change_capacity"),type:"number"},domProps:{value:e.user.storage_capacity},on:{input:function(a){a.target.composing||e.$set(e.user,"storage_capacity",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1)],1),e._v(" "),t("div",{staticClass:"form-group"},[t("ButtonBase",{attrs:{disabled:e.isLoading,loading:e.isLoading,"button-style":"theme",type:"submit"}},[e._v("\n "+e._s(e.$t("admin_page_user.create_user.submit"))+"\n ")])],1)]}}])})],1)],1)])}),[],!1,null,"2105172c",null);a.default=k.exports},smJr:function(e,a,t){(e.exports=t("I1BE")(!1)).push([e.i,'.form[data-v-db370548] {\n max-width: 700px;\n}\n.form.inline-form[data-v-db370548] {\n display: flex;\n position: relative;\n justify-content: center;\n margin: 0 auto;\n}\n.form.inline-form .input-wrapper[data-v-db370548] {\n position: relative;\n}\n.form.inline-form .input-wrapper .error-message[data-v-db370548] {\n position: absolute;\n left: 0;\n bottom: -25px;\n}\n.form.block-form .wrapper-inline[data-v-db370548] {\n display: flex;\n margin: 0 -15px;\n}\n.form.block-form .wrapper-inline .block-wrapper[data-v-db370548] {\n width: 100%;\n padding: 0 15px;\n}\n.form.block-form .block-wrapper[data-v-db370548] {\n margin-bottom: 32px;\n}\n.form.block-form .block-wrapper label[data-v-db370548] {\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-db370548]:last-child {\n margin-bottom: 0;\n}\n.form.block-form .button[data-v-db370548] {\n margin-top: 50px;\n}\n.form .inline-wrapper[data-v-db370548] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.form .inline-wrapper .switch-label .input-help[data-v-db370548] {\n padding-top: 0;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-db370548] {\n font-weight: 700;\n color: #1B2539;\n font-size: 1em;\n margin-bottom: 5px;\n}\n.form .input-help[data-v-db370548] {\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-db370548] {\n display: flex;\n}\n.single-line-form .submit-button[data-v-db370548] {\n margin-left: 20px;\n}\n.error-message[data-v-db370548] {\n font-size: 0.875em;\n color: #fd397a;\n padding-top: 5px;\n display: block;\n text-align: left;\n}\ntextarea[data-v-db370548] {\n width: 100%;\n}\ninput[type="color"][data-v-db370548] {\n width: 38px;\n height: 40px;\n border: none;\n outline: none;\n background: none;\n}\ntextarea[data-v-db370548],\ninput[type="password"][data-v-db370548],\ninput[type="text"][data-v-db370548],\ninput[type="number"][data-v-db370548],\ninput[type="email"][data-v-db370548] {\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-db370548],\ninput[type="password"].is-error[data-v-db370548],\ninput[type="text"].is-error[data-v-db370548],\ninput[type="number"].is-error[data-v-db370548],\ninput[type="email"].is-error[data-v-db370548] {\n border-color: #fd397a;\n}\ntextarea[data-v-db370548]::-webkit-input-placeholder, input[type="password"][data-v-db370548]::-webkit-input-placeholder, input[type="text"][data-v-db370548]::-webkit-input-placeholder, input[type="number"][data-v-db370548]::-webkit-input-placeholder, input[type="email"][data-v-db370548]::-webkit-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-db370548]::-moz-placeholder, input[type="password"][data-v-db370548]::-moz-placeholder, input[type="text"][data-v-db370548]::-moz-placeholder, input[type="number"][data-v-db370548]::-moz-placeholder, input[type="email"][data-v-db370548]::-moz-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-db370548]:-ms-input-placeholder, input[type="password"][data-v-db370548]:-ms-input-placeholder, input[type="text"][data-v-db370548]:-ms-input-placeholder, input[type="number"][data-v-db370548]:-ms-input-placeholder, input[type="email"][data-v-db370548]:-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-db370548]::-ms-input-placeholder, input[type="password"][data-v-db370548]::-ms-input-placeholder, input[type="text"][data-v-db370548]::-ms-input-placeholder, input[type="number"][data-v-db370548]::-ms-input-placeholder, input[type="email"][data-v-db370548]::-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-db370548]::placeholder,\ninput[type="password"][data-v-db370548]::placeholder,\ninput[type="text"][data-v-db370548]::placeholder,\ninput[type="number"][data-v-db370548]::placeholder,\ninput[type="email"][data-v-db370548]::placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[disabled][data-v-db370548],\ninput[type="password"][disabled][data-v-db370548],\ninput[type="text"][disabled][data-v-db370548],\ninput[type="number"][disabled][data-v-db370548],\ninput[type="email"][disabled][data-v-db370548] {\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-db370548] {\n font-size: 1em;\n margin-top: 50px;\n display: block;\n}\n.additional-link b[data-v-db370548], .additional-link a[data-v-db370548] {\n cursor: pointer;\n}\n.additional-link b[data-v-db370548]:hover, .additional-link a[data-v-db370548]:hover {\n text-decoration: underline;\n}\n@media only screen and (max-width: 1024px) {\n.form[data-v-db370548] {\n max-width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.form .button[data-v-db370548] {\n margin-top: 20px;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n}\n.form input[data-v-db370548], .form textarea[data-v-db370548] {\n width: 100%;\n min-width: 100%;\n}\n.form.block-form .block-wrapper[data-v-db370548] {\n display: block;\n}\n.form.block-form .block-wrapper label[data-v-db370548] {\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-db370548] {\n margin-top: 25px;\n margin-left: 0;\n margin-right: 0;\n}\n.form.inline-form[data-v-db370548] {\n display: block;\n}\n.form.inline-form .input-wrapper .error-message[data-v-db370548] {\n position: relative;\n bottom: 0;\n}\n.form .button[data-v-db370548] {\n padding: 14px 32px;\n}\n.single-line-form[data-v-db370548] {\n display: block;\n}\n.single-line-form .submit-button[data-v-db370548] {\n margin-left: 0;\n margin-top: 20px;\n width: 100%;\n}\ntextarea[data-v-db370548],\n input[type="password"][data-v-db370548],\n input[type="number"][data-v-db370548],\n input[type="text"][data-v-db370548],\n input[type="email"][data-v-db370548] {\n padding: 14px 20px;\n}\n}\n@media only screen and (max-width: 690px) {\n.form.block-form .wrapper-inline[data-v-db370548] {\n display: block;\n}\n}\n@media (prefers-color-scheme: dark) {\n.form .input-help[data-v-db370548] {\n color: #7d858c;\n}\n.form.block-form .block-wrapper label[data-v-db370548] {\n color: #bec6cf;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-db370548] {\n color: #bec6cf;\n}\ntextarea[data-v-db370548],\n input[type="password"][data-v-db370548],\n input[type="text"][data-v-db370548],\n input[type="number"][data-v-db370548],\n input[type="email"][data-v-db370548] {\n border-color: #1e2024;\n background: #1e2024;\n color: #bec6cf;\n}\ntextarea[data-v-db370548]::-webkit-input-placeholder, input[type="password"][data-v-db370548]::-webkit-input-placeholder, input[type="text"][data-v-db370548]::-webkit-input-placeholder, input[type="number"][data-v-db370548]::-webkit-input-placeholder, input[type="email"][data-v-db370548]::-webkit-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-db370548]::-moz-placeholder, input[type="password"][data-v-db370548]::-moz-placeholder, input[type="text"][data-v-db370548]::-moz-placeholder, input[type="number"][data-v-db370548]::-moz-placeholder, input[type="email"][data-v-db370548]::-moz-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-db370548]:-ms-input-placeholder, input[type="password"][data-v-db370548]:-ms-input-placeholder, input[type="text"][data-v-db370548]:-ms-input-placeholder, input[type="number"][data-v-db370548]:-ms-input-placeholder, input[type="email"][data-v-db370548]:-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-db370548]::-ms-input-placeholder, input[type="password"][data-v-db370548]::-ms-input-placeholder, input[type="text"][data-v-db370548]::-ms-input-placeholder, input[type="number"][data-v-db370548]::-ms-input-placeholder, input[type="email"][data-v-db370548]::-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-db370548]::placeholder,\n input[type="password"][data-v-db370548]::placeholder,\n input[type="text"][data-v-db370548]::placeholder,\n input[type="number"][data-v-db370548]::placeholder,\n input[type="email"][data-v-db370548]::placeholder {\n color: #7d858c;\n}\ntextarea[disabled][data-v-db370548],\n input[type="password"][disabled][data-v-db370548],\n input[type="text"][disabled][data-v-db370548],\n input[type="number"][disabled][data-v-db370548],\n input[type="email"][disabled][data-v-db370548] {\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-db370548],\n .popup-wrapper input[type="password"][data-v-db370548],\n .popup-wrapper input[type="text"][data-v-db370548],\n .popup-wrapper input[type="number"][data-v-db370548],\n .popup-wrapper input[type="email"][data-v-db370548] {\n background: #25272c;\n}\n}\n',""])},uSTF:function(e,a,t){"use strict";t.r(a);var n=t("o0o1"),r=t.n(n),o=t("A5+z"),i=t("4TWA"),s=t("D+dh"),d=t("eZ9V"),p=t("D62o"),l=t("THmQ"),c=t("Nv84"),u=t("2Sb1"),m=t("TJPC"),v=t("L2JU"),f=t("xCqy"),b=t("vDqi"),g=t.n(b),h=t("LvDl");function _(e,a,t,n,r,o,i){try{var s=e[o](i),d=s.value}catch(e){return void t(e)}s.done?a(d):Promise.resolve(d).then(n,r)}function y(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function w(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}var x={name:"CreateSubscriptionRequest",components:{ValidationProvider:o.ValidationProvider,ValidationObserver:o.ValidationObserver,SectionTitle:l.a,MobileHeader:p.a,SelectInput:i.a,ButtonBase:c.a,ImageInput:s.a,PageHeader:u.a,FormLabel:d.a,required:m.a},computed:function(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?y(Object(t),!0).forEach((function(a){w(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):y(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}({},Object(v.b)(["countries"])),watch:{"user.ico":function(e){this.getCompanyDetails(e)}},data:function(){return{isLoading:!1,plans:[],user:{ico:"",name:"",email:"",address:"",city:"",postal_code:"",country:"CZ",state:"Česká Republika",phone_number:"",plan:""},fullDetails:""}},methods:{createUser:function(){var e,a=this;return(e=r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.$refs.createUser.validate();case 2:if(e.sent){e.next=5;break}return e.abrupt("return");case 5:a.isLoading=!0,g.a.post("/api/oasis/admin/users/create-order",a.user).then((function(e){f.a.$emit("toaster",{type:"success",message:a.$t("toaster.created_user")}),a.$router.push({name:"UserDetail",params:{id:e.data.data.id}})})).catch((function(e){422==e.response.status?e.response.data.errors.email&&(a.$refs.createUser.setErrors({Email:e.response.data.errors.email}),document.getElementById("single-page").scrollTop=0):f.a.$emit("alert:open",{title:a.$t("popup_error.title"),message:a.$t("popup_error.message")})})).finally((function(){a.isLoading=!1}));case 7:case"end":return e.stop()}}),e)})),function(){var a=this,t=arguments;return new Promise((function(n,r){var o=e.apply(a,t);function i(e){_(o,n,r,i,s,"next",e)}function s(e){_(o,n,r,i,s,"throw",e)}i(void 0)}))})()},getCompanyDetails:Object(h.debounce)((function(e){var a=this;g.a.get("/api/oasis/admin/company-details?ico="+e).then((function(e){a.user.name=e.data.name,a.user.address=e.data.addr_streetnr,a.user.city=e.data.city,a.user.postal_code=e.data.addr_zip,a.fullDetails=e.data.name+" "+e.data.addr_full,a.$refs.createUser.reset()})).catch((function(e){404==e.response.status&&a.$refs.createUser.setErrors({ICO:"Nič sa nenašlo :("})}))}),300)},created:function(){var e=this;g.a.get("/api/admin/plans").then((function(a){a.data.data.forEach((function(a){e.plans.push({label:a.data.attributes.name+" - "+a.data.attributes.capacity_formatted,value:a.data.id})}))}))}},k=(t("vpyZ"),t("KHd+")),C=Object(k.a)(x,(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("div",{attrs:{id:"single-page"}},[t("div",{staticClass:"small-width",attrs:{id:"page-content"}},[t("MobileHeader",{attrs:{title:e.$router.currentRoute.meta.title}}),e._v(" "),t("PageHeader",{attrs:{"can-back":!0,title:e.$router.currentRoute.meta.title}}),e._v(" "),t("div",{staticClass:"content-page"},[t("ValidationObserver",{ref:"createUser",staticClass:"form block-form",attrs:{tag:"form"},on:{submit:function(a){return a.preventDefault(),e.createUser(a)}},scopedSlots:e._u([{key:"default",fn:function(a){a.invalid;return[t("div",{staticClass:"form-group"},[t("FormLabel",[e._v(e._s(e.$t("admin_page_user.create_user.group_details")))]),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("page_registration.label_email")))]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Email",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.email,expression:"user.email"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("admin_page_user.create_user.label_email"),type:"email"},domProps:{value:e.user.email},on:{input:function(a){a.target.composing||e.$set(e.user,"email",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v("Plan:")]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"Plan"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("SelectInput",{attrs:{default:e.user.country,options:e.plans,placeholder:"Vyberte plan",isError:n[0]},model:{value:e.user.plan,callback:function(a){e.$set(e.user,"plan",a)},expression:"user.plan"}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("FormLabel",{staticClass:"mt-70"},[e._v(e._s(e.$t("user_settings.title_billing")))]),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v("ICO (volitelne):")]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"ICO"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.ico,expression:"user.ico"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:"Type ICO",type:"text"},domProps:{value:e.user.ico},on:{input:function(a){a.target.composing||e.$set(e.user,"ico",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e(),e._v(" "),e.fullDetails?t("small",{staticClass:"input-help"},[e._v("\n "+e._s(e.fullDetails)+"\n ")]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v("Name:")]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"User Name",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.name,expression:"user.name"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("admin_page_user.create_user.label_name"),type:"text"},domProps:{value:e.user.name},on:{input:function(a){a.target.composing||e.$set(e.user,"name",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("user_settings.address"))+":")]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"Address"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.address,expression:"user.address"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("user_settings.address_plac"),type:"text"},domProps:{value:e.user.address},on:{input:function(a){a.target.composing||e.$set(e.user,"address",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"wrapper-inline"},[t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("user_settings.city"))+":")]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"City"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.city,expression:"user.city"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("user_settings.city_plac"),type:"text"},domProps:{value:e.user.city},on:{input:function(a){a.target.composing||e.$set(e.user,"city",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("user_settings.postal_code"))+":")]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"Postal Code"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.postal_code,expression:"user.postal_code"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("user_settings.postal_code_plac"),type:"text"},domProps:{value:e.user.postal_code},on:{input:function(a){a.target.composing||e.$set(e.user,"postal_code",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1)]),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("user_settings.country"))+":")]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"Country"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("SelectInput",{attrs:{default:e.user.country,options:e.countries,placeholder:e.$t("user_settings.country_plac"),isError:n[0]},model:{value:e.user.country,callback:function(a){e.$set(e.user,"country",a)},expression:"user.country"}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("user_settings.state"))+":")]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"State"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.state,expression:"user.state"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("user_settings.state_plac"),type:"text"},domProps:{value:e.user.state},on:{input:function(a){a.target.composing||e.$set(e.user,"state",a.target.value)}}}),e._v(" "),t("small",{staticClass:"input-help"},[e._v("\n State, county, province, or region.\n ")]),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1),e._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[e._v(e._s(e.$t("user_settings.phone_number"))+" (volitelne):")]),e._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Phone Number"},scopedSlots:e._u([{key:"default",fn:function(a){var n=a.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:e.user.phone_number,expression:"user.phone_number"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("user_settings.phone_number_plac"),type:"text"},domProps:{value:e.user.phone_number},on:{input:function(a){a.target.composing||e.$set(e.user,"phone_number",a.target.value)}}}),e._v(" "),n[0]?t("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!0)})],1)],1),e._v(" "),t("div",{staticClass:"form-group"},[t("ButtonBase",{attrs:{disabled:e.isLoading,loading:e.isLoading,"button-style":"theme",type:"submit"}},[e._v("\n "+e._s(e.$t("admin_page_user.create_user.submit"))+"\n ")])],1)]}}])})],1)],1)])}),[],!1,null,"db370548",null);a.default=C.exports},vFyo:function(e,a,t){(e.exports=t("I1BE")(!1)).push([e.i,".text-label[data-v-6d799cf2] {\n font-size: 0.75em;\n color: #AFAFAF;\n font-weight: 700;\n display: block;\n margin-bottom: 20px;\n}\n@media (prefers-color-scheme: dark) {\n.text-label[data-v-6d799cf2] {\n color: #00BC7E;\n}\n}\n",""])},vpyZ:function(e,a,t){"use strict";var n=t("Kavk");t.n(n).a}}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvT2FzaXMvQWRtaW4vVXNlckNyZWF0ZS52dWU/YzI0OSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGFnZUhlYWRlci52dWU/NWVjOSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGFnZUhlYWRlci52dWU/NGIxNyIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXIudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9QYWdlSGVhZGVyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW1hZ2VJbnB1dC52dWU/NGJjOSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQudnVlPzZjZjIiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXIudnVlP2JmN2EiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0LnZ1ZT8zZWQzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dC52dWU/YjU4NCIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0LnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9PYXNpcy9BZG1pbi9Vc2VyQ3JlYXRlLnZ1ZT9kMjg2Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9BZG1pbi9Vc2Vycy9Vc2VyQ3JlYXRlLnZ1ZT8yMjcxIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9BZG1pbi9Vc2Vycy9Vc2VyQ3JlYXRlLnZ1ZT9kNjQwIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbWFnZUlucHV0LnZ1ZT9mNjg3Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbWFnZUlucHV0LnZ1ZT9jMDA3Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbWFnZUlucHV0LnZ1ZT9mNGJhIiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW1hZ2VJbnB1dC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0ltYWdlSW5wdXQudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dC52dWU/YzEwZiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvQWRtaW4vVXNlcnMvVXNlckNyZWF0ZS52dWU/NzE3NyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGFnZUhlYWRlci52dWU/ZWJjNSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvT2FzaXMvQWRtaW4vVXNlckNyZWF0ZU9yZGVyLnZ1ZT9kNjVkIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbWFnZUlucHV0LnZ1ZT80NjM2Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9BZG1pbi9Vc2Vycy9Vc2VyQ3JlYXRlLnZ1ZT9hMmM1Iiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvdmlld3MvQWRtaW4vVXNlcnMvVXNlckNyZWF0ZS52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL3ZpZXdzL0FkbWluL1VzZXJzL1VzZXJDcmVhdGUudnVlP2NkMWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL3ZpZXdzL0FkbWluL1VzZXJzL1VzZXJDcmVhdGUudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9TZWN0aW9uVGl0bGUudnVlP2I4MGEiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1NlY3Rpb25UaXRsZS52dWU/NjA4ZCIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1NlY3Rpb25UaXRsZS52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1NlY3Rpb25UaXRsZS52dWUiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3ZlZS12YWxpZGF0ZS9kaXN0L3J1bGVzLmpzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9TZWN0aW9uVGl0bGUudnVlP2Q1ZjUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1NlY3Rpb25UaXRsZS52dWU/Y2M3OSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQudnVlP2MxYTQiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0Zvcm1MYWJlbC52dWU/MDk4MCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsLnZ1ZT81ZGI2Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9Gb3JtTGFiZWwudnVlPzg2MjgiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0Zvcm1MYWJlbC52dWU/ZmZkOSIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0Zvcm1MYWJlbC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0Zvcm1MYWJlbC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0Zvcm1MYWJlbC52dWU/MmNmMSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvT2FzaXMvQWRtaW4vVXNlckNyZWF0ZS52dWU/MWYwNyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGFnZUhlYWRlci52dWU/M2UyNyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvT2FzaXMvQWRtaW4vVXNlckNyZWF0ZS52dWU/MzFiZiIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL09hc2lzL0FkbWluL1VzZXJDcmVhdGUudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9PYXNpcy9BZG1pbi9Vc2VyQ3JlYXRlLnZ1ZT9iMGZiIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9PYXNpcy9BZG1pbi9Vc2VyQ3JlYXRlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvT2FzaXMvQWRtaW4vVXNlckNyZWF0ZU9yZGVyLnZ1ZT9mOGE3Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9PYXNpcy9BZG1pbi9Vc2VyQ3JlYXRlT3JkZXIudnVlP2IxOWMiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9PYXNpcy9BZG1pbi9Vc2VyQ3JlYXRlT3JkZXIudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9PYXNpcy9BZG1pbi9Vc2VyQ3JlYXRlT3JkZXIudnVlPzliYmUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL09hc2lzL0FkbWluL1VzZXJDcmVhdGVPcmRlci52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1NlY3Rpb25UaXRsZS52dWU/M2U3YSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvT2FzaXMvQWRtaW4vVXNlckNyZWF0ZU9yZGVyLnZ1ZT8wYzdlIl0sIm5hbWVzIjpbImNvbnRlbnQiLCJtb2R1bGUiLCJpIiwib3B0aW9ucyIsInRyYW5zZm9ybSIsInVuZGVmaW5lZCIsImxvY2FscyIsImV4cG9ydHMiLCJjb21wb25lbnQiLCJfdm0iLCJ0aGlzIiwiX2giLCIkY3JlYXRlRWxlbWVudCIsIl9jIiwiX3NlbGYiLCJzdGF0aWNDbGFzcyIsIm9uIiwiJGV2ZW50IiwiJHJvdXRlciIsImJhY2siLCJhdHRycyIsIl9lIiwiX3YiLCJfcyIsInRpdGxlIiwicHVzaCIsImNsYXNzIiwiaXNPcGVuIiwiaXNFcnJvciIsIm9wZW5NZW51Iiwic2VsZWN0ZWQiLCJpY29uIiwibGFiZWwiLCJwbGFjZWhvbGRlciIsIl9sIiwib3B0aW9uIiwia2V5Iiwic2VsZWN0T3B0aW9uIiwiZXJyb3IiLCJyZXNldEltYWdlIiwicmVmIiwic2hvd0ltYWdlUHJldmlldyIsImltYWdlUHJldmlldyIsImRpcmVjdGl2ZXMiLCJuYW1lIiwicmF3TmFtZSIsInZhbHVlIiwiaXNEYXRhIiwiZXhwcmVzc2lvbiIsIiR0IiwiYXBwZW5kIiwiZm9ybURhdGEiLCJjdXJyZW50Um91dGUiLCJtZXRhIiwicHJldmVudERlZmF1bHQiLCJjcmVhdGVVc2VyIiwic2NvcGVkU2xvdHMiLCJfdSIsImZuIiwiaW52YWxpZCIsImVycm9ycyIsIm1vZGVsIiwidXNlciIsImNhbGxiYWNrIiwiJCR2IiwiJHNldCIsImRvbVByb3BzIiwidGFyZ2V0IiwiY29tcG9zaW5nIiwicm9sZXMiLCJpc0xvYWRpbmciLCJfdCIsImlzTnVsbE9yVW5kZWZpbmVkIiwiaXNFbXB0eUFycmF5IiwiYXJyIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwicmVxdWlyZWQiLCJ2YWxpZGF0ZSIsIl9hIiwiYWxsb3dGYWxzZSIsInJlc3VsdCIsInZhbGlkIiwiU3RyaW5nIiwidHJpbSIsInBhcmFtcyIsImRlZmF1bHQiLCJjb21wdXRlc1JlcXVpcmVkIiwiY291bnRyeSIsInBsYW5zIiwiZnVsbERldGFpbHMiLCJjb3VudHJpZXMiXSwibWFwcGluZ3MiOiJpRkFDQSxJQUFJQSxFQUFVLEVBQVEsUUFFQSxpQkFBWkEsSUFBc0JBLEVBQVUsQ0FBQyxDQUFDQyxFQUFPQyxFQUFJRixFQUFTLE1BT2hFLElBQUlHLEVBQVUsQ0FBQyxLQUFNLEVBRXJCLGVBUElDLEVBUUosZ0JBQXFCQyxHQUVSLEVBQVEsT0FBUixDQUFtRUwsRUFBU0csR0FFdEZILEVBQVFNLFNBQVFMLEVBQU9NLFFBQVVQLEVBQVFNLFMsb0NDakI1QyxJQ0FnTixFQ2NoTixDQUNFLEtBQUYsYUFDRSxNQUFGLENBQ0EsbUJBRUUsV0FBRixDQUNJLGdCLFVBQUosSSx3QkNaSUUsRUFBWSxZQUNkLEdIVFcsV0FBYSxJQUFJQyxFQUFJQyxLQUFTQyxFQUFHRixFQUFJRyxlQUFtQkMsRUFBR0osRUFBSUssTUFBTUQsSUFBSUYsRUFBRyxPQUFPRSxFQUFHLE1BQU0sQ0FBQ0UsWUFBWSxlQUFlLENBQUVOLEVBQVcsUUFBRUksRUFBRyxNQUFNLENBQUNFLFlBQVksVUFBVUMsR0FBRyxDQUFDLE1BQVEsU0FBU0MsR0FBUSxPQUFPUixFQUFJUyxRQUFRQyxVQUFVLENBQUNOLEVBQUcsb0JBQW9CLENBQUNPLE1BQU0sQ0FBQyxLQUFPLFNBQVMsR0FBR1gsRUFBSVksS0FBS1osRUFBSWEsR0FBRyxLQUFLVCxFQUFHLE1BQU0sQ0FBQ0UsWUFBWSxXQUFXLENBQUNGLEVBQUcsS0FBSyxDQUFDRSxZQUFZLFNBQVMsQ0FBQ04sRUFBSWEsR0FBR2IsRUFBSWMsR0FBR2QsRUFBSWUsZ0JBQ25YLElHV3BCLEVBQ0EsS0FDQSxXQUNBLE1BSWEsSUFBQWhCLEUsaUNDbkJMUCxFQUFPTSxRQUFV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QixPQUNqQixNQUFPLENBQUMvQyxFQUFHLFFBQVEsQ0FBQzhCLFdBQVcsQ0FBQyxDQUFDQyxLQUFLLFFBQVFDLFFBQVEsVUFBVUMsTUFBT3JDLEVBQUlxRCxLQUFpQixhQUFFZCxXQUFXLHNCQUFzQmpDLFlBQVkscUJBQXFCVyxNQUFNLENBQUMsV0FBWWtDLEVBQU8sSUFBSXhDLE1BQU0sQ0FBQyxZQUFjWCxFQUFJd0MsR0FBRyxtQ0FBbUMsS0FBTyxRQUFRaUIsU0FBUyxDQUFDLE1BQVN6RCxFQUFJcUQsS0FBaUIsY0FBRzlDLEdBQUcsQ0FBQyxNQUFRLFNBQVNDLEdBQVdBLEVBQU9rRCxPQUFPQyxXQUFxQjNELEVBQUl3RCxLQUFLeEQsRUFBSXFELEtBQU0sZUFBZ0I3QyxFQUFPa0QsT0FBT3JCLFdBQVdyQyxFQUFJYSxHQUFHLEtBQU1zQyxFQUFPLEdBQUkvQyxFQUFHLE9BQU8sQ0FBQ0UsWUFBWSxpQkFBaUIsQ0FBQ04sRUFBSWEsR0FBR2IsRUFBSWMsR0FBR3FDLEVBQU8sT0FBT25ELEVBQUlZLFNBQVMsTUFBSyxNQUFTLElBQUksR0FBR1osRUFBSWEsR0FBRyxLQUFLVCxFQUFHLE1BQU0sQ0FBQ0UsWUFBWSxjQUFjLENBQUNGLEVBQUcsYUFBYSxDQUFDTyxNQUFNLENBQUMsU0FBV1gsRUFBSTZELFVBQVUsUUFBVTdELEVBQUk2RCxVQUFVLGVBQWUsUUFBUSxLQUFPLFdBQVcsQ0FBQzdELEVBQUlhLEdBQUcsNkJBQTZCYixFQUFJYyxHQUFHZCxFQUFJd0MsR0FBRyx1Q0FBdUMsNkJBQTZCLFdBQVcsSUFBSSxPQUN4MEIsSUdYcEIsRUFDQSxLQUNBLFdBQ0EsTUFJYSxVQUFBekMsRSwrQkNuQkxQLEVBQU9NLFFBQVUsRUFBUSxPQUFSLEVBQStELElBS2xGa0IsS0FBSyxDQUFDeEIsRUFBT0MsRUFBSSxpUEFBa1AsTSxrQ0NMM1EsdUJBQXFkIiwiZmlsZSI6ImNodW5rcy91c2VyLWNyZWF0ZS5qcz9pZD1hYTgzZmYxMDYzNDFlMWFlOTBkMCIsInNvdXJjZXNDb250ZW50IjpbIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1VzZXJDcmVhdGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MjEwNTE3MmMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IHVuZGVmaW5lZDtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VyQ3JlYXRlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTIxMDUxNzJjJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1VzZXJDcmVhdGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MjEwNTE3MmMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcInBhZ2UtaGVhZGVyXCJ9LFsoX3ZtLmNhbkJhY2spP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImdvLWJhY2tcIixvbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7cmV0dXJuIF92bS4kcm91dGVyLmJhY2soKX19fSxbX2MoJ2NoZXZyb24tbGVmdC1pY29uJyx7YXR0cnM6e1wic2l6ZVwiOlwiMTdcIn19KV0sMSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjb250ZW50XCJ9LFtfYygnaDEnLHtzdGF0aWNDbGFzczpcInRpdGxlXCJ9LFtfdm0uX3YoX3ZtLl9zKF92bS50aXRsZSkpXSldKV0pfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BhZ2VIZWFkZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BhZ2VIZWFkZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlLWhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ28tYmFja1wiIHYtaWY9XCJjYW5CYWNrXCIgQGNsaWNrPVwiJHJvdXRlci5iYWNrKClcIj5cbiAgICAgICAgICAgIDxjaGV2cm9uLWxlZnQtaWNvbiBzaXplPVwiMTdcIj48L2NoZXZyb24tbGVmdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxoMSBjbGFzcz1cInRpdGxlXCI+e3sgdGl0bGUgfX08L2gxPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgaW1wb3J0IHsgQ2hldnJvbkxlZnRJY29uIH0gZnJvbSAndnVlLWZlYXRoZXItaWNvbnMnXG5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdQYWdlSGVhZGVyJyxcbiAgICAgICAgcHJvcHM6IFtcbiAgICAgICAgICAgICd0aXRsZScsICdjYW5CYWNrJ1xuICAgICAgICBdLFxuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBDaGV2cm9uTGVmdEljb25cbiAgICAgICAgfSxcbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcblxuICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvLWJhY2sge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcblxuICAgICAgICAucGFnZS1oZWFkZXIge1xuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XG4gICAgICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuXG4gICAgICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya19tb2RlX2JhY2tncm91bmQ7XG5cbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaWNvbiBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkdGhlbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG48L3N0eWxlPlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD05ZmQwYTQyNCZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05ZmQwYTQyNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjlmZDBhNDI0XCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIuZHJvcHpvbmVbZGF0YS12LTVkMTQxYTY4XSB7XFxuICBib3JkZXI6IDFweCBkYXNoZWQgI2ExYWJjMjtcXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWluLWhlaWdodDogMTc1cHg7XFxufVxcbi5kcm9wem9uZS5pcy1lcnJvcltkYXRhLXYtNWQxNDFhNjhdIHtcXG4gIGJvcmRlcjogMnB4IGRhc2hlZCByZ2JhKDI1MywgNTcsIDEyMiwgMC4zKTtcXG59XFxuLmRyb3B6b25lLmlzLWVycm9yIC5kcm9wem9uZS10aXRsZVtkYXRhLXYtNWQxNDFhNjhdIHtcXG4gIGNvbG9yOiAjZmQzOTdhO1xcbn1cXG4uZHJvcHpvbmUuaXMtZXJyb3IgLmljb24tdXBsb2FkIHJlY3RbZGF0YS12LTVkMTQxYTY4XSwgLmRyb3B6b25lLmlzLWVycm9yIC5pY29uLXVwbG9hZCBjaXJjbGVbZGF0YS12LTVkMTQxYTY4XSwgLmRyb3B6b25lLmlzLWVycm9yIC5pY29uLXVwbG9hZCBwb2x5bGluZVtkYXRhLXYtNWQxNDFhNjhdIHtcXG4gIHN0cm9rZTogI2ZkMzk3YTtcXG59XFxuLmRyb3B6b25lIGlucHV0W3R5cGU9J2ZpbGUnXVtkYXRhLXYtNWQxNDFhNjhdIHtcXG4gIG9wYWNpdHk6IDA7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBib3R0b206IDA7XFxuICB6LWluZGV4OiAxO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcbi5kcm9wem9uZSAuaW1hZ2UtcHJldmlld1tkYXRhLXYtNWQxNDFhNjhdIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgLW8tb2JqZWN0LWZpdDogY29udGFpbjtcXG4gICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XFxuICBsZWZ0OiAwO1xcbiAgcGFkZGluZzogMjVweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZHJvcHpvbmUgLmltYWdlLXByZXZpZXcuZml0LWltYWdlW2RhdGEtdi01ZDE0MWE2OF0ge1xcbiAgLW8tb2JqZWN0LWZpdDogY292ZXI7XFxuICAgICBvYmplY3QtZml0OiBjb3ZlcjtcXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uZHJvcHpvbmUgLmRyb3B6b25lLW1lc3NhZ2VbZGF0YS12LTVkMTQxYTY4XSB7XFxuICBwYWRkaW5nOiA1MHB4IDA7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLmRyb3B6b25lIC5kcm9wem9uZS1tZXNzYWdlIC5pY29uLXVwbG9hZCByZWN0W2RhdGEtdi01ZDE0MWE2OF0sIC5kcm9wem9uZSAuZHJvcHpvbmUtbWVzc2FnZSAuaWNvbi11cGxvYWQgY2lyY2xlW2RhdGEtdi01ZDE0MWE2OF0sIC5kcm9wem9uZSAuZHJvcHpvbmUtbWVzc2FnZSAuaWNvbi11cGxvYWQgcG9seWxpbmVbZGF0YS12LTVkMTQxYTY4XSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG59XFxuLmRyb3B6b25lIC5kcm9wem9uZS1tZXNzYWdlIC5kcm9wem9uZS10aXRsZVtkYXRhLXYtNWQxNDFhNjhdIHtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZHJvcHpvbmUgLmRyb3B6b25lLW1lc3NhZ2UgLmRyb3B6b25lLWRlc2NyaXB0aW9uW2RhdGEtdi01ZDE0MWE2OF0ge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC43KTtcXG4gIGZvbnQtc2l6ZTogMC43NWVtO1xcbn1cXG4uZHJvcHpvbmUgLnJlc2V0LWltYWdlW2RhdGEtdi01ZDE0MWE2OF0ge1xcbiAgei1pbmRleDogMjtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgcmlnaHQ6IDA7XFxuICB0b3A6IDA7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xcbiAgcGFkZGluZzogMHB4IDRweDtcXG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbn1cXG4uZHJvcHpvbmUgLnJlc2V0LWltYWdlIC5jbG9zZS1pY29uW2RhdGEtdi01ZDE0MWE2OF0ge1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG59XFxuLmRyb3B6b25lIC5yZXNldC1pbWFnZSAuY2xvc2UtaWNvbiBsaW5lIHBhdGhbZGF0YS12LTVkMTQxYTY4XSB7XFxuICBmaWxsOiAjMUIyNTM5O1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmRyb3B6b25lW2RhdGEtdi01ZDE0MWE2OF0ge1xcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcXG59XFxuLmRyb3B6b25lIC5kcm9wem9uZS1tZXNzYWdlIC5pY29uLXVwbG9hZCBwYXRoW2RhdGEtdi01ZDE0MWE2OF0sIC5kcm9wem9uZSAuZHJvcHpvbmUtbWVzc2FnZSAuaWNvbi11cGxvYWQgcG9seWxpbmVbZGF0YS12LTVkMTQxYTY4XSwgLmRyb3B6b25lIC5kcm9wem9uZS1tZXNzYWdlIC5pY29uLXVwbG9hZCBsaW5lW2RhdGEtdi01ZDE0MWE2OF0ge1xcbiAgICBjb2xvcjogaW5oZXJpdDtcXG59XFxuLmRyb3B6b25lIC5kcm9wem9uZS1tZXNzYWdlIC5kcm9wem9uZS1kZXNjcmlwdGlvbltkYXRhLXYtNWQxNDFhNjhdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xNGIxZDZhMyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE0YjFkNmEzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE0YjFkNmEzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5wYWdlLWhlYWRlcltkYXRhLXYtOWZkMGE0MjRdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICB6LWluZGV4OiA5O1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XFxuICBwb3NpdGlvbjogc3RpY2t5O1xcbiAgdG9wOiAwO1xcbiAgcGFkZGluZy10b3A6IDIwcHg7XFxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcXG59XFxuLnBhZ2UtaGVhZGVyIC50aXRsZVtkYXRhLXYtOWZkMGE0MjRdIHtcXG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBjb2xvcjogIzFCMjUzOTtcXG59XFxuLnBhZ2UtaGVhZGVyIC5nby1iYWNrW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4ucGFnZS1oZWFkZXIgLmdvLWJhY2sgc3ZnW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIG1hcmdpbi10b3A6IC00cHg7XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcXG4ucGFnZS1oZWFkZXIgLnRpdGxlW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XFxuLnBhZ2UtaGVhZGVyW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbn1cXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5wYWdlLWhlYWRlcltkYXRhLXYtOWZkMGE0MjRdIHtcXG4gICAgYmFja2dyb3VuZDogIzEzMTQxNDtcXG59XFxuLnBhZ2UtaGVhZGVyIC50aXRsZVtkYXRhLXYtOWZkMGE0MjRdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5wYWdlLWhlYWRlciAuaWNvbiBwYXRoW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgICBmaWxsOiAjMDBCQzdFO1xcbn1cXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwic2VsZWN0XCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJpbnB1dC1hcmVhXCIsY2xhc3M6eydpcy1hY3RpdmUnOiBfdm0uaXNPcGVuLCAnaXMtZXJyb3InOiBfdm0uaXNFcnJvcn0sb246e1wiY2xpY2tcIjpfdm0ub3Blbk1lbnV9fSxbKF92bS5zZWxlY3RlZCk/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwic2VsZWN0ZWRcIn0sWyhfdm0uc2VsZWN0ZWQuaWNvbik/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwib3B0aW9uLWljb25cIn0sWyhfdm0uc2VsZWN0ZWQuaWNvbiA9PT0gJ3VzZXInKT9fYygndXNlci1pY29uJyx7YXR0cnM6e1wic2l6ZVwiOlwiMTRcIn19KTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLChfdm0uc2VsZWN0ZWQuaWNvbiA9PT0gJ3VzZXItZWRpdCcpP19jKCdlZGl0Mi1pY29uJyx7YXR0cnM6e1wic2l6ZVwiOlwiMTRcIn19KTpfdm0uX2UoKV0sMSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfYygnc3Bhbicse3N0YXRpY0NsYXNzOlwib3B0aW9uLXZhbHVlXCJ9LFtfdm0uX3YoX3ZtLl9zKF92bS5zZWxlY3RlZC5sYWJlbCkpXSldKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLCghIF92bS5zZWxlY3RlZCk/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwibm90LXNlbGVjdGVkXCJ9LFtfYygnc3Bhbicse3N0YXRpY0NsYXNzOlwib3B0aW9uLXZhbHVlIHBsYWNlaG9kZXJcIn0sW192bS5fdihfdm0uX3MoX3ZtLnBsYWNlaG9sZGVyKSldKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ2NoZXZyb24tZG93bi1pY29uJyx7c3RhdGljQ2xhc3M6XCJjaGV2cm9uXCIsYXR0cnM6e1wic2l6ZVwiOlwiMTlcIn19KV0sMSksX3ZtLl92KFwiIFwiKSxfYygndHJhbnNpdGlvbicse2F0dHJzOntcIm5hbWVcIjpcInNsaWRlLWluXCJ9fSxbKF92bS5pc09wZW4pP19jKCd1bCcse3N0YXRpY0NsYXNzOlwiaW5wdXQtb3B0aW9uc1wifSxfdm0uX2woKF92bS5vcHRpb25zKSxmdW5jdGlvbihvcHRpb24saSl7cmV0dXJuIF9jKCdsaScse2tleTppLHN0YXRpY0NsYXNzOlwib3B0aW9uLWl0ZW1cIixvbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7cmV0dXJuIF92bS5zZWxlY3RPcHRpb24ob3B0aW9uKX19fSxbKG9wdGlvbi5pY29uKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJvcHRpb24taWNvblwifSxbKG9wdGlvbi5pY29uID09PSAndXNlcicpP19jKCd1c2VyLWljb24nLHthdHRyczp7XCJzaXplXCI6XCIxNFwifX0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKG9wdGlvbi5pY29uID09PSAndXNlci1lZGl0Jyk/X2MoJ2VkaXQyLWljb24nLHthdHRyczp7XCJzaXplXCI6XCIxNFwifX0pOl92bS5fZSgpXSwxKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJvcHRpb24tdmFsdWVcIn0sW192bS5fdihfdm0uX3Mob3B0aW9uLmxhYmVsKSldKV0pfSksMCk6X3ZtLl9lKCldKV0sMSl9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsIjx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0XCI+XG5cbiAgICAgICAgPCEtLUFyZWEtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWFyZWFcIiA6Y2xhc3M9XCJ7J2lzLWFjdGl2ZSc6IGlzT3BlbiwgJ2lzLWVycm9yJzogaXNFcnJvcn1cIiBAY2xpY2s9XCJvcGVuTWVudVwiPlxuXG4gICAgICAgICAgICA8IS0tSWYgaXMgc2VsZWN0ZWQtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZFwiIHYtaWY9XCJzZWxlY3RlZFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb24taWNvblwiIHYtaWY9XCJzZWxlY3RlZC5pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1c2VyLWljb24gdi1pZj1cInNlbGVjdGVkLmljb24gPT09ICd1c2VyJ1wiIHNpemU9XCIxNFwiPjwvdXNlci1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8ZWRpdDItaWNvbiB2LWlmPVwic2VsZWN0ZWQuaWNvbiA9PT0gJ3VzZXItZWRpdCdcIiBzaXplPVwiMTRcIj48L2VkaXQyLWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvcHRpb24tdmFsdWVcIj57eyBzZWxlY3RlZC5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tSWYgaXMgZW1wdHktLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub3Qtc2VsZWN0ZWRcIiB2LWlmPVwiISBzZWxlY3RlZFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3B0aW9uLXZhbHVlIHBsYWNlaG9kZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8Y2hldnJvbi1kb3duLWljb24gc2l6ZT1cIjE5XCIgY2xhc3M9XCJjaGV2cm9uXCIgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLU9wdGlvbnMtLT5cbiAgICAgICAgPHRyYW5zaXRpb24gbmFtZT1cInNsaWRlLWluXCI+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJpbnB1dC1vcHRpb25zXCIgdi1pZj1cImlzT3BlblwiPlxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm9wdGlvbi1pdGVtXCIgQGNsaWNrPVwic2VsZWN0T3B0aW9uKG9wdGlvbilcIiB2LWZvcj1cIihvcHRpb24sIGkpIGluIG9wdGlvbnNcIiA6a2V5PVwiaVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uLWljb25cIiB2LWlmPVwib3B0aW9uLmljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2VyLWljb24gdi1pZj1cIm9wdGlvbi5pY29uID09PSAndXNlcidcIiBzaXplPVwiMTRcIj48L3VzZXItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxlZGl0Mi1pY29uIHYtaWY9XCJvcHRpb24uaWNvbiA9PT0gJ3VzZXItZWRpdCdcIiBzaXplPVwiMTRcIj48L2VkaXQyLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm9wdGlvbi12YWx1ZVwiPnt7IG9wdGlvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC90cmFuc2l0aW9uPlxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBpbXBvcnQgeyBDaGV2cm9uRG93bkljb24sIEVkaXQySWNvbiwgVXNlckljb24gfSBmcm9tICd2dWUtZmVhdGhlci1pY29ucydcblxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTonU2VsZWN0SW5wdXQnLFxuICAgICAgICBwcm9wczogWydvcHRpb25zJywgJ2lzRXJyb3InLCAnZGVmYXVsdCcsICdwbGFjZWhvbGRlciddLFxuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBFZGl0Mkljb24sXG4gICAgICAgICAgICBVc2VySWNvbixcbiAgICAgICAgICAgIENoZXZyb25Eb3duSWNvblxuICAgICAgICB9LFxuICAgICAgICBkYXRhKCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGlzT3BlbjogZmFsc2UsXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG1ldGhvZHM6IHtcbiAgICAgICAgICAgIHNlbGVjdE9wdGlvbihvcHRpb24pIHtcblxuICAgICAgICAgICAgICAgIC8vIEVtaXQgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIG9wdGlvbi52YWx1ZSlcblxuICAgICAgICAgICAgICAgIC8vIEdldCBzZWxlY3RlZFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBvcHRpb25cblxuICAgICAgICAgICAgICAgIC8vIENsb3NlIG1lbnVcbiAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3Blbk1lbnUoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc09wZW4gPSAhIHRoaXMuaXNPcGVuXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBjcmVhdGVkKCkge1xuXG4gICAgICAgICAgICBpZiAodGhpcy5kZWZhdWx0KVxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLm9wdGlvbnMuZmluZChvcHRpb24gPT4gb3B0aW9uLnZhbHVlID09PSB0aGlzLmRlZmF1bHQpXG4gICAgICAgIH1cbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcblxuICAgIC5zZWxlY3Qge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuaW5wdXQtb3B0aW9ucyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0b3A6IDY1cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICBtYXgtaGVpZ2h0OiAyOTVweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgICAub3B0aW9uLWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogMTNweCAyMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0X2JhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC1hcmVhIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgIC8vYmFja2dyb3VuZDogJGxpZ2h0X21vZGVfaW5wdXRfYmFja2dyb3VuZDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigxNTBtcyk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgcGFkZGluZzogMTNweCAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC5jaGV2cm9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMTUwbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgLy9ib3gtc2hhZG93OiAwIDAgN3B4IHJnYmEoJHRoZW1lLCAwLjMpO1xuXG4gICAgICAgICAgICAuY2hldnJvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtZXJyb3Ige1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGFuZ2VyO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDdweCByZ2JhKCRkYW5nZXIsIDAuMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3B0aW9uLWljb24ge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTApO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcHRpb24tdmFsdWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAmLnBsYWNlaG9kZXIge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHRleHQsIDAuNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpZGUtaW4tZW50ZXItYWN0aXZlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2U7XG4gICAgfVxuXG4gICAgLnNsaWRlLWluLWVudGVyIC8qIC5saXN0LWxlYXZlLWFjdGl2ZSBiZWxvdyB2ZXJzaW9uIDIuMS44ICovXG4gICAge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcblxuICAgICAgICAuaW5wdXQtYXJlYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya19tb2RlX2ZvcmVncm91bmQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRkYXJrX21vZGVfZm9yZWdyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3B1cC13cmFwcGVyIHtcbiAgICAgICAgICAgIC5pbnB1dC1hcmVhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRkYXJrX21vZGVfZm9yZWdyb3VuZCwgMyUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmlucHV0LW9wdGlvbnMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtfbW9kZV9mb3JlZ3JvdW5kO1xuXG4gICAgICAgICAgICAub3B0aW9uLWl0ZW0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkZGFya19tb2RlX2ZvcmVncm91bmQsIDUlKTtcblxuICAgICAgICAgICAgICAgICAgICAub3B0aW9uLWljb24ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoLCBjaXJjbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAub3B0aW9uLXZhbHVlIHtcblxuICAgICAgICAgICAgJi5wbGFjZWhvZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3NlY29uZGFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuPC9zdHlsZT5cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTE0YjFkNmEzJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE0YjFkNmEzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiMTRiMWQ2YTNcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VyQ3JlYXRlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTIxMDUxNzJjJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVXNlckNyZWF0ZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0yMTA1MTcyYyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5mb3JtW2RhdGEtdi00YTZjNGRmNF0ge1xcbiAgbWF4LXdpZHRoOiA3MDBweDtcXG59XFxuLmZvcm0uaW5saW5lLWZvcm1bZGF0YS12LTRhNmM0ZGY0XSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBtYXJnaW46IDAgYXV0bztcXG59XFxuLmZvcm0uaW5saW5lLWZvcm0gLmlucHV0LXdyYXBwZXJbZGF0YS12LTRhNmM0ZGY0XSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtIC5pbnB1dC13cmFwcGVyIC5lcnJvci1tZXNzYWdlW2RhdGEtdi00YTZjNGRmNF0ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgbGVmdDogMDtcXG4gIGJvdHRvbTogLTI1cHg7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLndyYXBwZXItaW5saW5lW2RhdGEtdi00YTZjNGRmNF0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIG1hcmdpbjogMCAtMTVweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmUgLmJsb2NrLXdyYXBwZXJbZGF0YS12LTRhNmM0ZGY0XSB7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IDAgMTVweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlcltkYXRhLXYtNGE2YzRkZjRdIHtcXG4gIG1hcmdpbi1ib3R0b206IDMycHg7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXIgbGFiZWxbZGF0YS12LTRhNmM0ZGY0XSB7XFxuICBmb250LXNpemU6IDAuODc1ZW07XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjgpO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlcltkYXRhLXYtNGE2YzRkZjRdOmxhc3QtY2hpbGQge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYnV0dG9uW2RhdGEtdi00YTZjNGRmNF0ge1xcbiAgbWFyZ2luLXRvcDogNTBweDtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyW2RhdGEtdi00YTZjNGRmNF0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5mb3JtIC5pbmxpbmUtd3JhcHBlciAuc3dpdGNoLWxhYmVsIC5pbnB1dC1oZWxwW2RhdGEtdi00YTZjNGRmNF0ge1xcbiAgcGFkZGluZy10b3A6IDA7XFxufVxcbi5mb3JtIC5pbmxpbmUtd3JhcHBlciAuc3dpdGNoLWxhYmVsIC5pbnB1dC1sYWJlbFtkYXRhLXYtNGE2YzRkZjRdIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBjb2xvcjogIzFCMjUzOTtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xcbn1cXG4uZm9ybSAuaW5wdXQtaGVscFtkYXRhLXYtNGE2YzRkZjRdIHtcXG4gIGZvbnQtc2l6ZTogMC43NWVtO1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC43KTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xcbiAgcGFkZGluZy10b3A6IDEwcHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLnNpbmdsZS1saW5lLWZvcm1bZGF0YS12LTRhNmM0ZGY0XSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybSAuc3VibWl0LWJ1dHRvbltkYXRhLXYtNGE2YzRkZjRdIHtcXG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xcbn1cXG4uZXJyb3ItbWVzc2FnZVtkYXRhLXYtNGE2YzRkZjRdIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gIGNvbG9yOiAjZmQzOTdhO1xcbiAgcGFkZGluZy10b3A6IDVweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxudGV4dGFyZWFbZGF0YS12LTRhNmM0ZGY0XSB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuaW5wdXRbdHlwZT1cXFwiY29sb3JcXFwiXVtkYXRhLXYtNGE2YzRkZjRdIHtcXG4gIHdpZHRoOiAzOHB4O1xcbiAgaGVpZ2h0OiA0MHB4O1xcbiAgYm9yZGVyOiBub25lO1xcbiAgb3V0bGluZTogbm9uZTtcXG4gIGJhY2tncm91bmQ6IG5vbmU7XFxufVxcbnRleHRhcmVhW2RhdGEtdi00YTZjNGRmNF0sXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdLFxcbmlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdLFxcbmlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00YTZjNGRmNF0sXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNGE2YzRkZjRdIHtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgdHJhbnNpdGlvbjogMTUwbXMgYWxsIGVhc2U7XFxuICBmb250LXNpemU6IDFlbTtcXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcXG4gIHBhZGRpbmc6IDEzcHggMjBweDtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBvdXRsaW5lOiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG59XFxudGV4dGFyZWEuaXMtZXJyb3JbZGF0YS12LTRhNmM0ZGY0XSxcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdLmlzLWVycm9yW2RhdGEtdi00YTZjNGRmNF0sXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLmlzLWVycm9yW2RhdGEtdi00YTZjNGRmNF0sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl0uaXMtZXJyb3JbZGF0YS12LTRhNmM0ZGY0XSxcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdLmlzLWVycm9yW2RhdGEtdi00YTZjNGRmNF0ge1xcbiAgYm9yZGVyLWNvbG9yOiAjZmQzOTdhO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNGE2YzRkZjRdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00YTZjNGRmNF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00YTZjNGRmNF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC41KTtcXG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XFxufVxcbnRleHRhcmVhW2RhdGEtdi00YTZjNGRmNF06Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTRhNmM0ZGY0XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00YTZjNGRmNF06Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00YTZjNGRmNF06Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTRhNmM0ZGY0XTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTRhNmM0ZGY0XTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTRhNmM0ZGY0XTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTRhNmM0ZGY0XTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTRhNmM0ZGY0XTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC41KTtcXG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XFxufVxcbnRleHRhcmVhW2RhdGEtdi00YTZjNGRmNF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00YTZjNGRmNF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC41KTtcXG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XFxufVxcbnRleHRhcmVhW2RhdGEtdi00YTZjNGRmNF06OnBsYWNlaG9sZGVyLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTRhNmM0ZGY0XTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00YTZjNGRmNF06OnBsYWNlaG9sZGVyLFxcbmlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00YTZjNGRmNF06OnBsYWNlaG9sZGVyLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTRhNmM0ZGY0XTo6cGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC41KTtcXG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XFxufVxcbnRleHRhcmVhW2Rpc2FibGVkXVtkYXRhLXYtNGE2YzRkZjRdLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi00YTZjNGRmNF0sXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtNGE2YzRkZjRdLFxcbmlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtNGE2YzRkZjRdLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi00YTZjNGRmNF0ge1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjgpO1xcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC44KTtcXG4gIG9wYWNpdHk6IDE7XFxuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xcbn1cXG4uYWRkaXRpb25hbC1saW5rW2RhdGEtdi00YTZjNGRmNF0ge1xcbiAgZm9udC1zaXplOiAxZW07XFxuICBtYXJnaW4tdG9wOiA1MHB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5hZGRpdGlvbmFsLWxpbmsgYltkYXRhLXYtNGE2YzRkZjRdLCAuYWRkaXRpb25hbC1saW5rIGFbZGF0YS12LTRhNmM0ZGY0XSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcbi5hZGRpdGlvbmFsLWxpbmsgYltkYXRhLXYtNGE2YzRkZjRdOmhvdmVyLCAuYWRkaXRpb25hbC1saW5rIGFbZGF0YS12LTRhNmM0ZGY0XTpob3ZlciB7XFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcXG4uZm9ybVtkYXRhLXYtNGE2YzRkZjRdIHtcXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xcbi5mb3JtIC5idXR0b25bZGF0YS12LTRhNmM0ZGY0XSB7XFxuICAgIG1hcmdpbi10b3A6IDIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbn1cXG4uZm9ybSBpbnB1dFtkYXRhLXYtNGE2YzRkZjRdLCAuZm9ybSB0ZXh0YXJlYVtkYXRhLXYtNGE2YzRkZjRdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG1pbi13aWR0aDogMTAwJTtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlcltkYXRhLXYtNGE2YzRkZjRdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXIgbGFiZWxbZGF0YS12LTRhNmM0ZGY0XSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XFxuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gICAgcGFkZGluZy10b3A6IDA7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJ1dHRvbltkYXRhLXYtNGE2YzRkZjRdIHtcXG4gICAgbWFyZ2luLXRvcDogMjVweDtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogMDtcXG59XFxuLmZvcm0uaW5saW5lLWZvcm1bZGF0YS12LTRhNmM0ZGY0XSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybSAuaW5wdXQtd3JhcHBlciAuZXJyb3ItbWVzc2FnZVtkYXRhLXYtNGE2YzRkZjRdIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICBib3R0b206IDA7XFxufVxcbi5mb3JtIC5idXR0b25bZGF0YS12LTRhNmM0ZGY0XSB7XFxuICAgIHBhZGRpbmc6IDE0cHggMzJweDtcXG59XFxuLnNpbmdsZS1saW5lLWZvcm1bZGF0YS12LTRhNmM0ZGY0XSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybSAuc3VibWl0LWJ1dHRvbltkYXRhLXYtNGE2YzRkZjRdIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi10b3A6IDIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNGE2YzRkZjRdLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdLFxcbiAgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTRhNmM0ZGY0XSxcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNGE2YzRkZjRdIHtcXG4gICAgcGFkZGluZzogMTRweCAyMHB4O1xcbn1cXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OTBweCkge1xcbi5mb3JtLmJsb2NrLWZvcm0gLndyYXBwZXItaW5saW5lW2RhdGEtdi00YTZjNGRmNF0ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4uZm9ybSAuaW5wdXQtaGVscFtkYXRhLXYtNGE2YzRkZjRdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXIgbGFiZWxbZGF0YS12LTRhNmM0ZGY0XSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG4uZm9ybSAuaW5saW5lLXdyYXBwZXIgLnN3aXRjaC1sYWJlbCAuaW5wdXQtbGFiZWxbZGF0YS12LTRhNmM0ZGY0XSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNGE2YzRkZjRdLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00YTZjNGRmNF0sXFxuICBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNGE2YzRkZjRdLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNGE2YzRkZjRdIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMWUyMDI0O1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxudGV4dGFyZWFbZGF0YS12LTRhNmM0ZGY0XTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTRhNmM0ZGY0XTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTRhNmM0ZGY0XTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi00YTZjNGRmNF06Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTRhNmM0ZGY0XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00YTZjNGRmNF06Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00YTZjNGRmNF06Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTRhNmM0ZGY0XTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNGE2YzRkZjRdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00YTZjNGRmNF06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNGE2YzRkZjRdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTRhNmM0ZGY0XTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTRhNmM0ZGY0XTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTRhNmM0ZGY0XTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi00YTZjNGRmNF06OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOjpwbGFjZWhvbGRlcixcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOjpwbGFjZWhvbGRlcixcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00YTZjNGRmNF06OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNGE2YzRkZjRdOjpwbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkaXNhYmxlZF1bZGF0YS12LTRhNmM0ZGY0XSxcXG4gIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi00YTZjNGRmNF0sXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGlzYWJsZWRdW2RhdGEtdi00YTZjNGRmNF0sXFxuICBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTRhNmM0ZGY0XSxcXG4gIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi00YTZjNGRmNF0ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbiAgICBjb2xvcjogcmdiYSgxMjUsIDEzMywgMTQwLCAwLjgpO1xcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmdiYSgxMjUsIDEzMywgMTQwLCAwLjgpO1xcbn1cXG4ucG9wdXAtd3JhcHBlciB0ZXh0YXJlYVtkYXRhLXYtNGE2YzRkZjRdLFxcbiAgLnBvcHVwLXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNGE2YzRkZjRdLFxcbiAgLnBvcHVwLXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00YTZjNGRmNF0sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNGE2YzRkZjRdLFxcbiAgLnBvcHVwLXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNGE2YzRkZjRdIHtcXG4gICAgYmFja2dyb3VuZDogIzI1MjcyYztcXG59XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1VzZXJDcmVhdGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NGE2YzRkZjQmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VyQ3JlYXRlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTRhNmM0ZGY0Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0ltYWdlSW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NWQxNDFhNjgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IHVuZGVmaW5lZDtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbWFnZUlucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVkMTQxYTY4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0ltYWdlSW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NWQxNDFhNjgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImRyb3B6b25lXCIsY2xhc3M6eyAnaXMtZXJyb3InOiBfdm0uZXJyb3IgfX0sWyhfdm0uaW1hZ2VQcmV2aWV3KT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJyZXNldC1pbWFnZVwiLG9uOntcImNsaWNrXCI6X3ZtLnJlc2V0SW1hZ2V9fSxbX2MoJ3gtaWNvbicse3N0YXRpY0NsYXNzOlwiY2xvc2UtaWNvbiB0ZXh0LXRoZW1lXCIsYXR0cnM6e1wic2l6ZVwiOlwiMTRcIn19KV0sMSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfYygnaW5wdXQnLHtyZWY6XCJmaWxlXCIsc3RhdGljQ2xhc3M6XCJkdW1teVwiLGF0dHJzOntcInR5cGVcIjpcImZpbGVcIn0sb246e1wiY2hhbmdlXCI6ZnVuY3Rpb24oJGV2ZW50KXtyZXR1cm4gX3ZtLnNob3dJbWFnZVByZXZpZXcoJGV2ZW50KX19fSksX3ZtLl92KFwiIFwiKSwoX3ZtLmltYWdlUHJldmlldyk/X2MoJ2ltZycse3JlZjpcImltYWdlXCIsc3RhdGljQ2xhc3M6XCJpbWFnZS1wcmV2aWV3XCIsYXR0cnM6e1wic3JjXCI6X3ZtLmltYWdlUHJldmlld319KTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtkaXJlY3RpdmVzOlt7bmFtZTpcInNob3dcIixyYXdOYW1lOlwidi1zaG93XCIsdmFsdWU6KCEgX3ZtLmlzRGF0YSksZXhwcmVzc2lvbjpcIiEgaXNEYXRhXCJ9XSxzdGF0aWNDbGFzczpcImRyb3B6b25lLW1lc3NhZ2VcIn0sW19jKCdpbWFnZS1pY29uJyx7c3RhdGljQ2xhc3M6XCJpY29uLXVwbG9hZCB0ZXh0LXRoZW1lXCIsYXR0cnM6e1wic2l6ZVwiOlwiMjhcIn19KSxfdm0uX3YoXCIgXCIpLF9jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJkcm9wem9uZS10aXRsZVwifSxbX3ZtLl92KFwiXFxuICAgICAgICAgICAgXCIrX3ZtLl9zKF92bS4kdCgnaW5wdXRfaW1hZ2UudGl0bGUnKSkrXCJcXG4gICAgICAgIFwiKV0pLF92bS5fdihcIiBcIiksX2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImRyb3B6b25lLWRlc2NyaXB0aW9uXCJ9LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdpbnB1dF9pbWFnZS5zdXBwb3J0ZWQnKSkrXCJcXG4gICAgICAgIFwiKV0pXSwxKV0pfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0ltYWdlSW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0ltYWdlSW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJkcm9wem9uZVwiIDpjbGFzcz1cInsgJ2lzLWVycm9yJzogZXJyb3IgfVwiPlxuICAgICAgICA8ZGl2IHYtaWY9XCJpbWFnZVByZXZpZXdcIiBAY2xpY2s9XCJyZXNldEltYWdlXCIgY2xhc3M9XCJyZXNldC1pbWFnZVwiPlxuICAgICAgICAgICAgPHgtaWNvbiBzaXplPVwiMTRcIiBjbGFzcz1cImNsb3NlLWljb24gdGV4dC10aGVtZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHJlZj1cImZpbGVcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgICAgICBAY2hhbmdlPVwic2hvd0ltYWdlUHJldmlldygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImR1bW15XCJcbiAgICAgICAgLz5cbiAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIHJlZj1cImltYWdlXCJcbiAgICAgICAgICAgICAgICA6c3JjPVwiaW1hZ2VQcmV2aWV3XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlLXByZXZpZXdcIlxuICAgICAgICAgICAgICAgIHYtaWY9XCJpbWFnZVByZXZpZXdcIlxuICAgICAgICAvPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wem9uZS1tZXNzYWdlXCIgdi1zaG93PVwiISBpc0RhdGFcIj5cbiAgICAgICAgICAgIDxpbWFnZS1pY29uIHNpemU9XCIyOFwiIGNsYXNzPVwiaWNvbi11cGxvYWQgdGV4dC10aGVtZVwiPjwvaW1hZ2UtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcHpvbmUtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7eyAkdCgnaW5wdXRfaW1hZ2UudGl0bGUnKSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wem9uZS1kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgIHt7ICR0KCdpbnB1dF9pbWFnZS5zdXBwb3J0ZWQnKSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgaW1wb3J0IHsgWEljb24sIEltYWdlSWNvbiB9IGZyb20gJ3Z1ZS1mZWF0aGVyLWljb25zJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnSW1hZ2VJbnB1dCcsXG4gICAgICAgIHByb3BzOiBbXG4gICAgICAgICAgICAnaW1hZ2UnLCAnZXJyb3InXG4gICAgICAgIF0sXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIEltYWdlSWNvbixcbiAgICAgICAgICAgIFhJY29uLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhKCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpbWFnZVByZXZpZXc6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjb21wdXRlZDoge1xuICAgICAgICAgICAgaXNEYXRhKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5pbWFnZVByZXZpZXcgPT09ICd1bmRlZmluZWQnIHx8IHRoaXMuaW1hZ2VQcmV2aWV3ID09PSAnJyA/IGZhbHNlIDogdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbWV0aG9kczoge1xuICAgICAgICAgICAgcmVzZXRJbWFnZSgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlUHJldmlldyA9IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgdW5kZWZpbmVkKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNob3dJbWFnZVByZXZpZXcoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbWdQYXRoID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGV4dG4gPSBpbWdQYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3Vic3RyaW5nKGltZ1BhdGgubGFzdEluZGV4T2YoJy4nKSArIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuXG4gICAgICAgICAgICAgICAgaWYgKFsncG5nJywgJ2pwZycsICdqcGVnJywgJ3N2ZyddLmluY2x1ZGVzKGV4dG4pKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpXG5cbiAgICAgICAgICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+ICh0aGlzLmltYWdlUHJldmlldyA9IHJlYWRlci5yZXN1bHQpXG5cbiAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSlcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgdXNlciBhdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCBldmVudC50YXJnZXQuZmlsZXNbMF0pXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgYWxlcnQoIHRoaXMuJHQoJ3ZhbGlkYXRpb25fZXJyb3JzLndyb25nX2ltYWdlJykgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlZCgpIHtcbiAgICAgICAgICAgIC8vIElmIGhhcyBkZWZhdWx0IGltYWdlIHRoZW4gbG9hZFxuICAgICAgICAgICAgaWYgKHRoaXMuaW1hZ2UpIHRoaXMuaW1hZ2VQcmV2aWV3ID0gdGhpcy5pbWFnZVxuICAgICAgICB9XG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cbiAgICAuZHJvcHpvbmUge1xuICAgICAgICBib3JkZXI6IDFweCBkYXNoZWQgI2ExYWJjMjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWluLWhlaWdodDogMTc1cHg7XG5cbiAgICAgICAgJi5pcy1lcnJvciB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBkYXNoZWQgcmdiYSgyNTMsIDU3LCAxMjIsIDAuMyk7XG5cbiAgICAgICAgICAgIC5kcm9wem9uZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYW5nZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uLXVwbG9hZCB7XG4gICAgICAgICAgICAgICAgcmVjdCwgY2lyY2xlLCBwb2x5bGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJGRhbmdlclxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9J2ZpbGUnXSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlLXByZXZpZXcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgJi5maXQtaW1hZ2Uge1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3B6b25lLW1lc3NhZ2Uge1xuICAgICAgICAgICAgcGFkZGluZzogNTBweCAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5pY29uLXVwbG9hZCB7XG4gICAgICAgICAgICAgICAgcmVjdCwgY2lyY2xlLCBwb2x5bGluZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZHJvcHpvbmUtdGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRyb3B6b25lLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHRfbXV0ZWQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXNldC1pbWFnZSB7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggNHB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG5cbiAgICAgICAgICAgIC5jbG9zZS1pY29uIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICAgICAgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJHRleHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgIC5kcm9wem9uZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEod2hpdGUsIDAuMik7XG5cbiAgICAgICAgICAgIC5kcm9wem9uZS1tZXNzYWdlIHtcblxuICAgICAgICAgICAgICAgIC5pY29uLXVwbG9hZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGgsIHBvbHlsaW5lLCBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmRyb3B6b25lLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9zZWNvbmRhcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vSW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NWQxNDFhNjgmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vSW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0ltYWdlSW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0ltYWdlSW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NWQxNDFhNjgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI1ZDE0MWE2OFwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE0YjFkNmEzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTRiMWQ2YTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVXNlckNyZWF0ZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00YTZjNGRmNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1VzZXJDcmVhdGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NGE2YzRkZjQmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVXNlckNyZWF0ZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00YTZjNGRmNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05ZmQwYTQyNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BhZ2VIZWFkZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OWZkMGE0MjQmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVXNlckNyZWF0ZU9yZGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWRiMzcwNTQ4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVXNlckNyZWF0ZU9yZGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWRiMzcwNTQ4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1VzZXJDcmVhdGVPcmRlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1kYjM3MDU0OCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD01ZDE0MWE2OCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0ltYWdlSW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NWQxNDFhNjgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2Rpdicse2F0dHJzOntcImlkXCI6XCJzaW5nbGUtcGFnZVwifX0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInNtYWxsLXdpZHRoXCIsYXR0cnM6e1wiaWRcIjpcInBhZ2UtY29udGVudFwifX0sW19jKCdNb2JpbGVIZWFkZXInLHthdHRyczp7XCJ0aXRsZVwiOl92bS4kcm91dGVyLmN1cnJlbnRSb3V0ZS5tZXRhLnRpdGxlfX0pLF92bS5fdihcIiBcIiksX2MoJ1BhZ2VIZWFkZXInLHthdHRyczp7XCJjYW4tYmFja1wiOnRydWUsXCJ0aXRsZVwiOl92bS4kcm91dGVyLmN1cnJlbnRSb3V0ZS5tZXRhLnRpdGxlfX0pLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY29udGVudC1wYWdlXCJ9LFtfYygnVmFsaWRhdGlvbk9ic2VydmVyJyx7cmVmOlwiY3JlYXRlVXNlclwiLHN0YXRpY0NsYXNzOlwiZm9ybSBibG9jay1mb3JtXCIsYXR0cnM6e1widGFnXCI6XCJmb3JtXCJ9LG9uOntcInN1Ym1pdFwiOmZ1bmN0aW9uKCRldmVudCl7JGV2ZW50LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIF92bS5jcmVhdGVVc2VyKCRldmVudCl9fSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBpbnZhbGlkID0gcmVmLmludmFsaWQ7XG5yZXR1cm4gW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImZvcm0tZ3JvdXBcIn0sW19jKCdGb3JtTGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgnYWRtaW5fcGFnZV91c2VyLmNyZWF0ZV91c2VyLmdyb3VwX2RldGFpbHMnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgnYWRtaW5fcGFnZV91c2VyLmNyZWF0ZV91c2VyLmF2YXRhcicpKSldKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwibmFtZVwiOlwiYXZhdGFyXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdJbWFnZUlucHV0Jyx7YXR0cnM6e1wiZXJyb3JcIjplcnJvcnNbMF19LG1vZGVsOnt2YWx1ZTooX3ZtLnVzZXIuYXZhdGFyKSxjYWxsYmFjazpmdW5jdGlvbiAoJCR2KSB7X3ZtLiRzZXQoX3ZtLnVzZXIsIFwiYXZhdGFyXCIsICQkdil9LGV4cHJlc3Npb246XCJ1c2VyLmF2YXRhclwifX0pXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfcmVnaXN0cmF0aW9uLmxhYmVsX2VtYWlsJykpKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJuYW1lXCI6XCJlbWFpbFwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0udXNlci5lbWFpbCksZXhwcmVzc2lvbjpcInVzZXIuZW1haWxcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ2FkbWluX3BhZ2VfdXNlci5jcmVhdGVfdXNlci5sYWJlbF9lbWFpbCcpLFwidHlwZVwiOlwiZW1haWxcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLnVzZXIuZW1haWwpfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0udXNlciwgXCJlbWFpbFwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfcmVnaXN0cmF0aW9uLmxhYmVsX25hbWUnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcInVzZXIgbmFtZVwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0udXNlci5uYW1lKSxleHByZXNzaW9uOlwidXNlci5uYW1lXCJ9XSxzdGF0aWNDbGFzczpcImZvY3VzLWJvcmRlci10aGVtZVwiLGNsYXNzOnsnaXMtZXJyb3InOiBlcnJvcnNbMF19LGF0dHJzOntcInBsYWNlaG9sZGVyXCI6X3ZtLiR0KCdhZG1pbl9wYWdlX3VzZXIuY3JlYXRlX3VzZXIubGFiZWxfbmFtZScpLFwidHlwZVwiOlwidGV4dFwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0udXNlci5uYW1lKX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLnVzZXIsIFwibmFtZVwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwid3JhcHBlci1pbmxpbmVcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX3JlZ2lzdHJhdGlvbi5sYWJlbF9wYXNzJykpKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJuYW1lXCI6XCJwYXNzd29yZFwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0udXNlci5wYXNzd29yZCksZXhwcmVzc2lvbjpcInVzZXIucGFzc3dvcmRcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ3BhZ2VfcmVnaXN0cmF0aW9uLnBsYWNlaG9sZGVyX3Bhc3MnKSxcInR5cGVcIjpcInBhc3N3b3JkXCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS51c2VyLnBhc3N3b3JkKX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLnVzZXIsIFwicGFzc3dvcmRcIiwgJGV2ZW50LnRhcmdldC52YWx1ZSl9fX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX3JlZ2lzdHJhdGlvbi5sYWJlbF9jb25maXJtX3Bhc3MnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcInBhc3N3b3JkIGNvbmZpcm1cIixcInJ1bGVzXCI6XCJyZXF1aXJlZFwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnaW5wdXQnLHtkaXJlY3RpdmVzOlt7bmFtZTpcIm1vZGVsXCIscmF3TmFtZTpcInYtbW9kZWxcIix2YWx1ZTooX3ZtLnVzZXIucGFzc3dvcmRfY29uZmlybWF0aW9uKSxleHByZXNzaW9uOlwidXNlci5wYXNzd29yZF9jb25maXJtYXRpb25cIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ2FkbWluX3BhZ2VfdXNlci5jcmVhdGVfdXNlci5sYWJlbF9jb25mX3Bhc3MnKSxcInR5cGVcIjpcInBhc3N3b3JkXCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS51c2VyLnBhc3N3b3JkX2NvbmZpcm1hdGlvbil9LG9uOntcImlucHV0XCI6ZnVuY3Rpb24oJGV2ZW50KXtpZigkZXZlbnQudGFyZ2V0LmNvbXBvc2luZyl7IHJldHVybjsgfV92bS4kc2V0KF92bS51c2VyLCBcInBhc3N3b3JkX2NvbmZpcm1hdGlvblwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpXSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiZm9ybS1ncm91cFwifSxbX2MoJ0Zvcm1MYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdhZG1pbl9wYWdlX3VzZXIuY3JlYXRlX3VzZXIuZ3JvdXBfc2V0dGluZ3MnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgnYWRtaW5fcGFnZV91c2VyLnNlbGVjdF9yb2xlJykpK1wiOlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJuYW1lXCI6XCJwZXJtaXNzaW9uXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ1NlbGVjdElucHV0Jyx7YXR0cnM6e1wib3B0aW9uc1wiOl92bS5yb2xlcyxcInBsYWNlaG9sZGVyXCI6X3ZtLiR0KCdhZG1pbl9wYWdlX3VzZXIuc2VsZWN0X3JvbGUnKSxcImlzRXJyb3JcIjplcnJvcnNbMF19LG1vZGVsOnt2YWx1ZTooX3ZtLnVzZXIucm9sZSksY2FsbGJhY2s6ZnVuY3Rpb24gKCQkdikge192bS4kc2V0KF92bS51c2VyLCBcInJvbGVcIiwgJCR2KX0sZXhwcmVzc2lvbjpcInVzZXIucm9sZVwifX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdhZG1pbl9wYWdlX3VzZXIubGFiZWxfY2hhbmdlX2NhcGFjaXR5JykpKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJuYW1lXCI6XCJzdG9yYWdlIGNhcGFjaXR5XCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS51c2VyLnN0b3JhZ2VfY2FwYWNpdHkpLGV4cHJlc3Npb246XCJ1c2VyLnN0b3JhZ2VfY2FwYWNpdHlcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wibWluXCI6XCIxXCIsXCJtYXhcIjpcIjk5OTk5OTk5OVwiLFwicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ2FkbWluX3BhZ2VfdXNlci5sYWJlbF9jaGFuZ2VfY2FwYWNpdHknKSxcInR5cGVcIjpcIm51bWJlclwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0udXNlci5zdG9yYWdlX2NhcGFjaXR5KX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLnVzZXIsIFwic3RvcmFnZV9jYXBhY2l0eVwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImZvcm0tZ3JvdXBcIn0sW19jKCdCdXR0b25CYXNlJyx7YXR0cnM6e1wiZGlzYWJsZWRcIjpfdm0uaXNMb2FkaW5nLFwibG9hZGluZ1wiOl92bS5pc0xvYWRpbmcsXCJidXR0b24tc3R5bGVcIjpcInRoZW1lXCIsXCJ0eXBlXCI6XCJzdWJtaXRcIn19LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdhZG1pbl9wYWdlX3VzZXIuY3JlYXRlX3VzZXIuc3VibWl0JykpK1wiXFxuICAgICAgICAgICAgICAgICAgICBcIildKV0sMSldfX1dKX0pXSwxKV0sMSldKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiPHRlbXBsYXRlPlxuICAgIDxkaXYgaWQ9XCJzaW5nbGUtcGFnZVwiPlxuICAgICAgICA8ZGl2IGlkPVwicGFnZS1jb250ZW50XCIgY2xhc3M9XCJzbWFsbC13aWR0aFwiPlxuICAgICAgICAgICAgPE1vYmlsZUhlYWRlciA6dGl0bGU9XCIkcm91dGVyLmN1cnJlbnRSb3V0ZS5tZXRhLnRpdGxlXCIvPlxuICAgICAgICAgICAgPFBhZ2VIZWFkZXIgOmNhbi1iYWNrPVwidHJ1ZVwiIDp0aXRsZT1cIiRyb3V0ZXIuY3VycmVudFJvdXRlLm1ldGEudGl0bGVcIi8+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXBhZ2VcIj5cbiAgICAgICAgICAgICAgICA8VmFsaWRhdGlvbk9ic2VydmVyIEBzdWJtaXQucHJldmVudD1cImNyZWF0ZVVzZXJcIiByZWY9XCJjcmVhdGVVc2VyXCIgdi1zbG90PVwieyBpbnZhbGlkIH1cIiB0YWc9XCJmb3JtXCIgY2xhc3M9XCJmb3JtIGJsb2NrLWZvcm1cIj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1MYWJlbD57eyAkdCgnYWRtaW5fcGFnZV91c2VyLmNyZWF0ZV91c2VyLmdyb3VwX2RldGFpbHMnKSB9fTwvRm9ybUxhYmVsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tQXZhdGFyLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgnYWRtaW5fcGFnZV91c2VyLmNyZWF0ZV91c2VyLmF2YXRhcicpIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgbmFtZT1cImF2YXRhclwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlSW5wdXQgdi1tb2RlbD1cInVzZXIuYXZhdGFyXCIgOmVycm9yPVwiZXJyb3JzWzBdXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tRW1haWwtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICR0KCdwYWdlX3JlZ2lzdHJhdGlvbi5sYWJlbF9lbWFpbCcpIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgbmFtZT1cImVtYWlsXCIgcnVsZXM9XCJyZXF1aXJlZFwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJ1c2VyLmVtYWlsXCIgOnBsYWNlaG9sZGVyPVwiJHQoJ2FkbWluX3BhZ2VfdXNlci5jcmVhdGVfdXNlci5sYWJlbF9lbWFpbCcpXCIgdHlwZT1cImVtYWlsXCIgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIiA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tTmFtZS0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ3BhZ2VfcmVnaXN0cmF0aW9uLmxhYmVsX25hbWUnKSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIG5hbWU9XCJ1c2VyIG5hbWVcIiBydWxlcz1cInJlcXVpcmVkXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdi1tb2RlbD1cInVzZXIubmFtZVwiIDpwbGFjZWhvbGRlcj1cIiR0KCdhZG1pbl9wYWdlX3VzZXIuY3JlYXRlX3VzZXIubGFiZWxfbmFtZScpXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1QYXNzd29yZC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXItaW5saW5lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICR0KCdwYWdlX3JlZ2lzdHJhdGlvbi5sYWJlbF9wYXNzJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgbmFtZT1cInBhc3N3b3JkXCIgcnVsZXM9XCJyZXF1aXJlZFwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwidXNlci5wYXNzd29yZFwiIDpwbGFjZWhvbGRlcj1cIiR0KCdwYWdlX3JlZ2lzdHJhdGlvbi5wbGFjZWhvbGRlcl9wYXNzJylcIiB0eXBlPVwicGFzc3dvcmRcIiBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ3BhZ2VfcmVnaXN0cmF0aW9uLmxhYmVsX2NvbmZpcm1fcGFzcycpIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIG5hbWU9XCJwYXNzd29yZCBjb25maXJtXCIgcnVsZXM9XCJyZXF1aXJlZFwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwidXNlci5wYXNzd29yZF9jb25maXJtYXRpb25cIiA6cGxhY2Vob2xkZXI9XCIkdCgnYWRtaW5fcGFnZV91c2VyLmNyZWF0ZV91c2VyLmxhYmVsX2NvbmZfcGFzcycpXCIgdHlwZT1cInBhc3N3b3JkXCIgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIiA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsPnt7ICR0KCdhZG1pbl9wYWdlX3VzZXIuY3JlYXRlX3VzZXIuZ3JvdXBfc2V0dGluZ3MnKSB9fTwvRm9ybUxhYmVsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tVXNlciBSb2xlLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgnYWRtaW5fcGFnZV91c2VyLnNlbGVjdF9yb2xlJykgfX06PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgbmFtZT1cInBlcm1pc3Npb25cIiBydWxlcz1cInJlcXVpcmVkXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0SW5wdXQgdi1tb2RlbD1cInVzZXIucm9sZVwiIDpvcHRpb25zPVwicm9sZXNcIiA6cGxhY2Vob2xkZXI9XCIkdCgnYWRtaW5fcGFnZV91c2VyLnNlbGVjdF9yb2xlJylcIiA6aXNFcnJvcj1cImVycm9yc1swXVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tU3RvcmFnZSBDYXBhY2l0eS0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ2FkbWluX3BhZ2VfdXNlci5sYWJlbF9jaGFuZ2VfY2FwYWNpdHknKSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIG5hbWU9XCJzdG9yYWdlIGNhcGFjaXR5XCIgcnVsZXM9XCJyZXF1aXJlZFwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJ1c2VyLnN0b3JhZ2VfY2FwYWNpdHlcIiBtaW49XCIxXCIgbWF4PVwiOTk5OTk5OTk5XCIgOnBsYWNlaG9sZGVyPVwiJHQoJ2FkbWluX3BhZ2VfdXNlci5sYWJlbF9jaGFuZ2VfY2FwYWNpdHknKVwiIHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uQmFzZSA6ZGlzYWJsZWQ9XCJpc0xvYWRpbmdcIiA6bG9hZGluZz1cImlzTG9hZGluZ1wiIGJ1dHRvbi1zdHlsZT1cInRoZW1lXCIgdHlwZT1cInN1Ym1pdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0KCdhZG1pbl9wYWdlX3VzZXIuY3JlYXRlX3VzZXIuc3VibWl0JykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uQmFzZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uT2JzZXJ2ZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCB7VmFsaWRhdGlvblByb3ZpZGVyLCBWYWxpZGF0aW9uT2JzZXJ2ZXJ9IGZyb20gJ3ZlZS12YWxpZGF0ZS9kaXN0L3ZlZS12YWxpZGF0ZS5mdWxsJ1xuICAgIGltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0J1xuICAgIGltcG9ydCBJbWFnZUlucHV0IGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW1hZ2VJbnB1dCdcbiAgICBpbXBvcnQgRm9ybUxhYmVsIGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsJ1xuICAgIGltcG9ydCBNb2JpbGVIZWFkZXIgZnJvbSAnQC9jb21wb25lbnRzL01vYmlsZS9Nb2JpbGVIZWFkZXInXG4gICAgaW1wb3J0IFNlY3Rpb25UaXRsZSBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL1NlY3Rpb25UaXRsZSdcbiAgICBpbXBvcnQgQnV0dG9uQmFzZSBmcm9tICdAL2NvbXBvbmVudHMvRmlsZXNWaWV3L0J1dHRvbkJhc2UnXG4gICAgaW1wb3J0IFBhZ2VIZWFkZXIgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9QYWdlSGVhZGVyJ1xuICAgIGltcG9ydCB7cmVxdWlyZWR9IGZyb20gJ3ZlZS12YWxpZGF0ZS9kaXN0L3J1bGVzJ1xuICAgIGltcG9ydCB7IG1hcEdldHRlcnMgfSBmcm9tICd2dWV4J1xuICAgIGltcG9ydCB7ZXZlbnRzfSBmcm9tIFwiQC9idXNcIlxuICAgIGltcG9ydCBheGlvcyBmcm9tICdheGlvcydcblxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ1Byb2ZpbGUnLFxuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBWYWxpZGF0aW9uUHJvdmlkZXIsXG4gICAgICAgICAgICBWYWxpZGF0aW9uT2JzZXJ2ZXIsXG4gICAgICAgICAgICBTZWN0aW9uVGl0bGUsXG4gICAgICAgICAgICBNb2JpbGVIZWFkZXIsXG4gICAgICAgICAgICBTZWxlY3RJbnB1dCxcbiAgICAgICAgICAgIEJ1dHRvbkJhc2UsXG4gICAgICAgICAgICBJbWFnZUlucHV0LFxuICAgICAgICAgICAgUGFnZUhlYWRlcixcbiAgICAgICAgICAgIEZvcm1MYWJlbCxcbiAgICAgICAgICAgIHJlcXVpcmVkLFxuICAgICAgICB9LFxuICAgICAgICBjb21wdXRlZDoge1xuICAgICAgICAgICAgLi4ubWFwR2V0dGVycyhbJ3JvbGVzJ10pLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhKCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgcm9sZTogJycsXG4gICAgICAgICAgICAgICAgICAgIGF2YXRhcjogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgZW1haWw6ICcnLFxuICAgICAgICAgICAgICAgICAgICBwYXNzd29yZDogJycsXG4gICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkX2NvbmZpcm1hdGlvbjogJycsXG4gICAgICAgICAgICAgICAgICAgIHN0b3JhZ2VfY2FwYWNpdHk6IDUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbWV0aG9kczoge1xuICAgICAgICAgICAgYXN5bmMgY3JlYXRlVXNlcigpIHtcblxuICAgICAgICAgICAgICAgIC8vIFZhbGlkYXRlIGZpZWxkc1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSBhd2FpdCB0aGlzLiRyZWZzLmNyZWF0ZVVzZXIudmFsaWRhdGUoKTtcblxuICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZCkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgLy8gU3RhcnQgbG9hZGluZ1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZVxuXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGZvcm1cbiAgICAgICAgICAgICAgICBsZXQgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKVxuXG4gICAgICAgICAgICAgICAgLy8gQWRkIGltYWdlIHRvIGZvcm1cbiAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ25hbWUnLCB0aGlzLnVzZXIubmFtZSlcbiAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ3JvbGUnLCB0aGlzLnVzZXIucm9sZSlcbiAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2VtYWlsJywgdGhpcy51c2VyLmVtYWlsKVxuICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgncGFzc3dvcmQnLCB0aGlzLnVzZXIucGFzc3dvcmQpXG4gICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdzdG9yYWdlX2NhcGFjaXR5JywgdGhpcy51c2VyLnN0b3JhZ2VfY2FwYWNpdHkpXG4gICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdwYXNzd29yZF9jb25maXJtYXRpb24nLCB0aGlzLnVzZXIucGFzc3dvcmRfY29uZmlybWF0aW9uKVxuXG4gICAgICAgICAgICAgICAgLy8gQXBwZW5kIGF2YXRhciBpZiBleGlzdFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnVzZXIuYXZhdGFyKVxuICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2F2YXRhcicsIHRoaXMudXNlci5hdmF0YXIpXG5cbiAgICAgICAgICAgICAgICAvLyBTZW5kIHJlcXVlc3QgdG8gZ2V0IHVzZXIgdG9rZW5cbiAgICAgICAgICAgICAgICBheGlvc1xuICAgICAgICAgICAgICAgICAgICAucG9zdCgnL2FwaS9hZG1pbi91c2Vycy9jcmVhdGUnLCBmb3JtRGF0YSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5kIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2VcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2hvdyB0b2FzdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudHMuJGVtaXQoJ3RvYXN0ZXInLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuJHQoJ3RvYXN0ZXIuY3JlYXRlZF91c2VyJyksXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBHbyB0byBVc2VyIHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHtuYW1lOiAnVXNlckRldGFpbCcsIHBhcmFtczoge2lkOiByZXNwb25zZS5kYXRhLmRhdGEuaWR9fSlcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVmFsaWRhdGlvbiBlcnJvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5yZXNwb25zZS5zdGF0dXMgPT0gNDIyKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFbWFpbCB2YWxpZGF0aW9uIGVycm9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnJlc3BvbnNlLmRhdGEuZXJyb3JzWydlbWFpbCddKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jcmVhdGVVc2VyLnNldEVycm9ycyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZW1haWwnOiBlcnJvci5yZXNwb25zZS5kYXRhLmVycm9yc1snZW1haWwnXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQYXNzd29yZCB2YWxpZGF0aW9uIGVycm9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnJlc3BvbnNlLmRhdGEuZXJyb3JzWydwYXNzd29yZCddKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jcmVhdGVVc2VyLnNldEVycm9ycyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGFzc3dvcmQnOiBlcnJvci5yZXNwb25zZS5kYXRhLmVycm9yc1sncGFzc3dvcmQnXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQYXNzd29yZCB2YWxpZGF0aW9uIGVycm9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnJlc3BvbnNlLmRhdGEuZXJyb3JzWydzdG9yYWdlX2NhcGFjaXR5J10pIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNyZWF0ZVVzZXIuc2V0RXJyb3JzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdG9yYWdlIGNhcGFjaXR5JzogdGhpcy4kdCgnZXJyb3JzLmNhcGFjaXR5X2RpZ2l0JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50cy4kZW1pdCgnYWxlcnQ6b3BlbicsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMuJHQoJ3BvcHVwX2Vycm9yLnRpdGxlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuJHQoJ3BvcHVwX2Vycm9yLm1lc3NhZ2UnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFbmQgbG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX2Zvcm1zJztcbjwvc3R5bGU+XG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1VzZXJDcmVhdGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1VzZXJDcmVhdGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9Vc2VyQ3JlYXRlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00YTZjNGRmNCZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9Vc2VyQ3JlYXRlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vVXNlckNyZWF0ZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vVXNlckNyZWF0ZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00YTZjNGRmNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjRhNmM0ZGY0XCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2InLHtzdGF0aWNDbGFzczpcInRleHQtbGFiZWxcIn0sW192bS5fdChcImRlZmF1bHRcIildLDIpfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlY3Rpb25UaXRsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VjdGlvblRpdGxlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsIjx0ZW1wbGF0ZT5cbiAgICA8YiBjbGFzcz1cInRleHQtbGFiZWxcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgIDwvYj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnU2VjdGlvblRpdGxlJyxcbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcblxuICAgIC50ZXh0LWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEyKTtcbiAgICAgICAgY29sb3I6ICNBRkFGQUY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgIC50ZXh0LWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWU7XG4gICAgICAgIH1cbiAgICB9XG48L3N0eWxlPlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9TZWN0aW9uVGl0bGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTZkNzk5Y2YyJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL1NlY3Rpb25UaXRsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL1NlY3Rpb25UaXRsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vU2VjdGlvblRpdGxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTZkNzk5Y2YyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNmQ3OTljZjJcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCIvKipcbiAgKiB2ZWUtdmFsaWRhdGUgdjMuMy45XG4gICogKGMpIDIwMjAgQWJkZWxyYWhtYW4gQXdhZFxuICAqIEBsaWNlbnNlIE1JVFxuICAqL1xuLyoqXHJcbiAqIFNvbWUgQWxwaGEgUmVnZXggaGVscGVycy5cclxuICogaHR0cHM6Ly9naXRodWIuY29tL2Nocmlzby92YWxpZGF0b3IuanMvYmxvYi9tYXN0ZXIvc3JjL2xpYi9hbHBoYS5qc1xyXG4gKi9cclxuLyogZXNsaW50LWRpc2FibGUgbm8tbWlzbGVhZGluZy1jaGFyYWN0ZXItY2xhc3MgKi9cclxudmFyIGFscGhhID0ge1xyXG4gICAgZW46IC9eW0EtWl0qJC9pLFxyXG4gICAgY3M6IC9eW0EtWsOBxIzEjsOJxJrDjcWHw5PFmMWgxaTDmsWuw53FvV0qJC9pLFxyXG4gICAgZGE6IC9eW0EtWsOGw5jDhV0qJC9pLFxyXG4gICAgZGU6IC9eW0EtWsOEw5bDnMOfXSokL2ksXHJcbiAgICBlczogL15bQS1aw4HDicONw5HDk8Oaw5xdKiQvaSxcclxuICAgIGZhOiAvXlvYodii2KPYpNil2KbYp9io2KnYqtir2KzYrdiu2K/YsNix2LLYs9i02LXYtti32LjYudi62YHZgtmD2YTZhdmG2YfZiNmJ2YrZi9mM2Y3ZjtmP2ZDZkdmS2bDZvtqY2q/ahtqp24xdKiQvLFxyXG4gICAgZnI6IC9eW0EtWsOAw4LDhsOHw4nDiMOKw4vDj8OOw5TFksOZw5vDnMW4XSokL2ksXHJcbiAgICBpdDogL15bQS1aXFx4QzAtXFx4RkZdKiQvaSxcclxuICAgIGx0OiAvXltBLVrEhMSMxJjElsSuxaDFssWqxb1dKiQvaSxcclxuICAgIG5sOiAvXltBLVrDicOLw4/Dk8OWw5xdKiQvaSxcclxuICAgIGh1OiAvXltBLVrDgcOJw43Dk8OWxZDDmsOcxbBdKiQvaSxcclxuICAgIHBsOiAvXltBLVrEhMSGxJjFmsWBxYPDk8W7xbldKiQvaSxcclxuICAgIHB0OiAvXltBLVrDg8OBw4DDgsOHw4nDisONw5XDk8OUw5rDnF0qJC9pLFxyXG4gICAgcm86IC9eW0EtWsSCw4LDjsWexaJdKiQvaSxcclxuICAgIHJ1OiAvXlvQkC3Qr9CBXSokL2ksXHJcbiAgICBzazogL15bQS1aw4HDhMSMxI7DicONxLnEvcWHw5PFlMWgxaTDmsOdxb1dKiQvaSxcclxuICAgIHNyOiAvXltBLVrEjMSGxb3FoMSQXSokL2ksXHJcbiAgICBzdjogL15bQS1aw4XDhMOWXSokL2ksXHJcbiAgICB0cjogL15bQS1aw4fEnsSwxLHDlsWew5xdKiQvaSxcclxuICAgIHVrOiAvXlvQkC3QqdCs0K7Qr9CE0IbQh9KQXSokL2ksXHJcbiAgICBhcjogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmwXSokLyxcclxuICAgIGF6OiAvXltBLVrDh8aPxJ7EsMSxw5bFnsOcXSokL2ksXHJcbiAgICBlbDogL15bzpEtz45dKiQvaVxyXG59O1xyXG52YXIgYWxwaGFTcGFjZXMgPSB7XHJcbiAgICBlbjogL15bQS1aXFxzXSokL2ksXHJcbiAgICBjczogL15bQS1aw4HEjMSOw4nEmsONxYfDk8WYxaDFpMOaxa7DncW9XFxzXSokL2ksXHJcbiAgICBkYTogL15bQS1aw4bDmMOFXFxzXSokL2ksXHJcbiAgICBkZTogL15bQS1aw4TDlsOcw59cXHNdKiQvaSxcclxuICAgIGVzOiAvXltBLVrDgcOJw43DkcOTw5rDnFxcc10qJC9pLFxyXG4gICAgZmE6IC9eW9ih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsNm+2pjar9qG2qnbjF0qJC8sXHJcbiAgICBmcjogL15bQS1aw4DDgsOGw4fDicOIw4rDi8OPw47DlMWSw5nDm8OcxbhcXHNdKiQvaSxcclxuICAgIGl0OiAvXltBLVpcXHhDMC1cXHhGRlxcc10qJC9pLFxyXG4gICAgbHQ6IC9eW0EtWsSExIzEmMSWxK7FoMWyxarFvVxcc10qJC9pLFxyXG4gICAgbmw6IC9eW0EtWsOJw4vDj8OTw5bDnFxcc10qJC9pLFxyXG4gICAgaHU6IC9eW0EtWsOBw4nDjcOTw5bFkMOaw5zFsFxcc10qJC9pLFxyXG4gICAgcGw6IC9eW0EtWsSExIbEmMWaxYHFg8OTxbvFuVxcc10qJC9pLFxyXG4gICAgcHQ6IC9eW0EtWsODw4HDgMOCw4fDicOKw43DlcOTw5TDmsOcXFxzXSokL2ksXHJcbiAgICBybzogL15bQS1axILDgsOOxZ7Folxcc10qJC9pLFxyXG4gICAgcnU6IC9eW9CQLdCv0IFcXHNdKiQvaSxcclxuICAgIHNrOiAvXltBLVrDgcOExIzEjsOJw43EucS9xYfDk8WUxaDFpMOaw53FvVxcc10qJC9pLFxyXG4gICAgc3I6IC9eW0EtWsSMxIbFvcWgxJBcXHNdKiQvaSxcclxuICAgIHN2OiAvXltBLVrDhcOEw5ZcXHNdKiQvaSxcclxuICAgIHRyOiAvXltBLVrDh8SexLDEscOWxZ7DnFxcc10qJC9pLFxyXG4gICAgdWs6IC9eW9CQLdCp0KzQrtCv0ITQhtCH0pBcXHNdKiQvaSxcclxuICAgIGFyOiAvXlvYodii2KPYpNil2KbYp9io2KnYqtir2KzYrdiu2K/YsNix2LLYs9i02LXYtti32LjYudi62YHZgtmD2YTZhdmG2YfZiNmJ2YrZi9mM2Y3ZjtmP2ZDZkdmS2bBcXHNdKiQvLFxyXG4gICAgYXo6IC9eW0EtWsOHxo/EnsSwxLHDlsWew5xcXHNdKiQvaSxcclxuICAgIGVsOiAvXlvOkS3Pjlxcc10qJC9pXHJcbn07XHJcbnZhciBhbHBoYW51bWVyaWMgPSB7XHJcbiAgICBlbjogL15bMC05QS1aXSokL2ksXHJcbiAgICBjczogL15bMC05QS1aw4HEjMSOw4nEmsONxYfDk8WYxaDFpMOaxa7DncW9XSokL2ksXHJcbiAgICBkYTogL15bMC05QS1aw4bDmMOFXSQvaSxcclxuICAgIGRlOiAvXlswLTlBLVrDhMOWw5zDn10qJC9pLFxyXG4gICAgZXM6IC9eWzAtOUEtWsOBw4nDjcORw5PDmsOcXSokL2ksXHJcbiAgICBmYTogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmw2b7amNqv2obaqduMXSokLyxcclxuICAgIGZyOiAvXlswLTlBLVrDgMOCw4bDh8OJw4jDisOLw4/DjsOUxZLDmcObw5zFuF0qJC9pLFxyXG4gICAgaXQ6IC9eWzAtOUEtWlxceEMwLVxceEZGXSokL2ksXHJcbiAgICBsdDogL15bMC05QS1axITEjMSYxJbErsWgxbLFqsW9XSokL2ksXHJcbiAgICBodTogL15bMC05QS1aw4HDicONw5PDlsWQw5rDnMWwXSokL2ksXHJcbiAgICBubDogL15bMC05QS1aw4nDi8OPw5PDlsOcXSokL2ksXHJcbiAgICBwbDogL15bMC05QS1axITEhsSYxZrFgcWDw5PFu8W5XSokL2ksXHJcbiAgICBwdDogL15bMC05QS1aw4PDgcOAw4LDh8OJw4rDjcOVw5PDlMOaw5xdKiQvaSxcclxuICAgIHJvOiAvXlswLTlBLVrEgsOCw47FnsWiXSokL2ksXHJcbiAgICBydTogL15bMC050JAt0K/QgV0qJC9pLFxyXG4gICAgc2s6IC9eWzAtOUEtWsOBw4TEjMSOw4nDjcS5xL3Fh8OTxZTFoMWkw5rDncW9XSokL2ksXHJcbiAgICBzcjogL15bMC05QS1axIzEhsW9xaDEkF0qJC9pLFxyXG4gICAgc3Y6IC9eWzAtOUEtWsOFw4TDll0qJC9pLFxyXG4gICAgdHI6IC9eWzAtOUEtWsOHxJ7EsMSxw5bFnsOcXSokL2ksXHJcbiAgICB1azogL15bMC050JAt0KnQrNCu0K/QhNCG0IfSkF0qJC9pLFxyXG4gICAgYXI6IC9eW9mg2aHZotmj2aTZpdmm2afZqNmpMC052KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmwXSokLyxcclxuICAgIGF6OiAvXlswLTlBLVrDh8aPxJ7EsMSxw5bFnsOcXSokL2ksXHJcbiAgICBlbDogL15bMC05zpEtz45dKiQvaVxyXG59O1xyXG52YXIgYWxwaGFEYXNoID0ge1xyXG4gICAgZW46IC9eWzAtOUEtWl8tXSokL2ksXHJcbiAgICBjczogL15bMC05QS1aw4HEjMSOw4nEmsONxYfDk8WYxaDFpMOaxa7DncW9Xy1dKiQvaSxcclxuICAgIGRhOiAvXlswLTlBLVrDhsOYw4VfLV0qJC9pLFxyXG4gICAgZGU6IC9eWzAtOUEtWsOEw5bDnMOfXy1dKiQvaSxcclxuICAgIGVzOiAvXlswLTlBLVrDgcOJw43DkcOTw5rDnF8tXSokL2ksXHJcbiAgICBmYTogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmw2b7amNqv2obaqduMXSokLyxcclxuICAgIGZyOiAvXlswLTlBLVrDgMOCw4bDh8OJw4jDisOLw4/DjsOUxZLDmcObw5zFuF8tXSokL2ksXHJcbiAgICBpdDogL15bMC05QS1aXFx4QzAtXFx4RkZfLV0qJC9pLFxyXG4gICAgbHQ6IC9eWzAtOUEtWsSExIzEmMSWxK7FoMWyxarFvV8tXSokL2ksXHJcbiAgICBubDogL15bMC05QS1aw4nDi8OPw5PDlsOcXy1dKiQvaSxcclxuICAgIGh1OiAvXlswLTlBLVrDgcOJw43Dk8OWxZDDmsOcxbBfLV0qJC9pLFxyXG4gICAgcGw6IC9eWzAtOUEtWsSExIbEmMWaxYHFg8OTxbvFuV8tXSokL2ksXHJcbiAgICBwdDogL15bMC05QS1aw4PDgcOAw4LDh8OJw4rDjcOVw5PDlMOaw5xfLV0qJC9pLFxyXG4gICAgcm86IC9eWzAtOUEtWsSCw4LDjsWexaJfLV0qJC9pLFxyXG4gICAgcnU6IC9eWzAtOdCQLdCv0IFfLV0qJC9pLFxyXG4gICAgc2s6IC9eWzAtOUEtWsOBw4TEjMSOw4nDjcS5xL3Fh8OTxZTFoMWkw5rDncW9Xy1dKiQvaSxcclxuICAgIHNyOiAvXlswLTlBLVrEjMSGxb3FoMSQXy1dKiQvaSxcclxuICAgIHN2OiAvXlswLTlBLVrDhcOEw5ZfLV0qJC9pLFxyXG4gICAgdHI6IC9eWzAtOUEtWsOHxJ7EsMSxw5bFnsOcXy1dKiQvaSxcclxuICAgIHVrOiAvXlswLTnQkC3QqdCs0K7Qr9CE0IbQh9KQXy1dKiQvaSxcclxuICAgIGFyOiAvXlvZoNmh2aLZo9mk2aXZptmn2ajZqTAtOdih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsF8tXSokLyxcclxuICAgIGF6OiAvXlswLTlBLVrDh8aPxJ7EsMSxw5bFnsOcXy1dKiQvaSxcclxuICAgIGVsOiAvXlswLTnOkS3Pjl8tXSokL2lcclxufTtcblxudmFyIHZhbGlkYXRlID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIF9iID0gKF9hID09PSB2b2lkIDAgPyB7fSA6IF9hKS5sb2NhbGUsIGxvY2FsZSA9IF9iID09PSB2b2lkIDAgPyAnJyA6IF9iO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlKHZhbCwgeyBsb2NhbGU6IGxvY2FsZSB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICAvLyBNYXRjaCBhdCBsZWFzdCBvbmUgbG9jYWxlLlxyXG4gICAgaWYgKCFsb2NhbGUpIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoYWxwaGEpLnNvbWUoZnVuY3Rpb24gKGxvYykgeyByZXR1cm4gYWxwaGFbbG9jXS50ZXN0KHZhbHVlKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGFscGhhW2xvY2FsZV0gfHwgYWxwaGEuZW4pLnRlc3QodmFsdWUpO1xyXG59O1xyXG52YXIgcGFyYW1zID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsb2NhbGUnXHJcbiAgICB9XHJcbl07XHJcbnZhciBhbHBoYSQxID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlLFxyXG4gICAgcGFyYW1zOiBwYXJhbXNcclxufTtcblxudmFyIHZhbGlkYXRlJDEgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgX2IgPSAoX2EgPT09IHZvaWQgMCA/IHt9IDogX2EpLmxvY2FsZSwgbG9jYWxlID0gX2IgPT09IHZvaWQgMCA/ICcnIDogX2I7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkMSh2YWwsIHsgbG9jYWxlOiBsb2NhbGUgfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgLy8gTWF0Y2ggYXQgbGVhc3Qgb25lIGxvY2FsZS5cclxuICAgIGlmICghbG9jYWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFscGhhRGFzaCkuc29tZShmdW5jdGlvbiAobG9jKSB7IHJldHVybiBhbHBoYURhc2hbbG9jXS50ZXN0KHZhbHVlKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGFscGhhRGFzaFtsb2NhbGVdIHx8IGFscGhhRGFzaC5lbikudGVzdCh2YWx1ZSk7XHJcbn07XHJcbnZhciBwYXJhbXMkMSA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbG9jYWxlJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgYWxwaGFfZGFzaCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQxLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkMVxyXG59O1xuXG52YXIgdmFsaWRhdGUkMiA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBfYiA9IChfYSA9PT0gdm9pZCAwID8ge30gOiBfYSkubG9jYWxlLCBsb2NhbGUgPSBfYiA9PT0gdm9pZCAwID8gJycgOiBfYjtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSQyKHZhbCwgeyBsb2NhbGU6IGxvY2FsZSB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICAvLyBNYXRjaCBhdCBsZWFzdCBvbmUgbG9jYWxlLlxyXG4gICAgaWYgKCFsb2NhbGUpIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoYWxwaGFudW1lcmljKS5zb21lKGZ1bmN0aW9uIChsb2MpIHsgcmV0dXJuIGFscGhhbnVtZXJpY1tsb2NdLnRlc3QodmFsdWUpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiAoYWxwaGFudW1lcmljW2xvY2FsZV0gfHwgYWxwaGFudW1lcmljLmVuKS50ZXN0KHZhbHVlKTtcclxufTtcclxudmFyIHBhcmFtcyQyID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsb2NhbGUnXHJcbiAgICB9XHJcbl07XHJcbnZhciBhbHBoYV9udW0gPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkMixcclxuICAgIHBhcmFtczogcGFyYW1zJDJcclxufTtcblxudmFyIHZhbGlkYXRlJDMgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgX2IgPSAoX2EgPT09IHZvaWQgMCA/IHt9IDogX2EpLmxvY2FsZSwgbG9jYWxlID0gX2IgPT09IHZvaWQgMCA/ICcnIDogX2I7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkMyh2YWwsIHsgbG9jYWxlOiBsb2NhbGUgfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgLy8gTWF0Y2ggYXQgbGVhc3Qgb25lIGxvY2FsZS5cclxuICAgIGlmICghbG9jYWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFscGhhU3BhY2VzKS5zb21lKGZ1bmN0aW9uIChsb2MpIHsgcmV0dXJuIGFscGhhU3BhY2VzW2xvY10udGVzdCh2YWx1ZSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChhbHBoYVNwYWNlc1tsb2NhbGVdIHx8IGFscGhhU3BhY2VzLmVuKS50ZXN0KHZhbHVlKTtcclxufTtcclxudmFyIHBhcmFtcyQzID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsb2NhbGUnXHJcbiAgICB9XHJcbl07XHJcbnZhciBhbHBoYV9zcGFjZXMgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkMyxcclxuICAgIHBhcmFtczogcGFyYW1zJDNcclxufTtcblxudmFyIHZhbGlkYXRlJDQgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgX2IgPSBfYSA9PT0gdm9pZCAwID8ge30gOiBfYSwgbWluID0gX2IubWluLCBtYXggPSBfYi5tYXg7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gISF2YWxpZGF0ZSQ0KHZhbCwgeyBtaW46IG1pbiwgbWF4OiBtYXggfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE51bWJlcihtaW4pIDw9IHZhbHVlICYmIE51bWJlcihtYXgpID49IHZhbHVlO1xyXG59O1xyXG52YXIgcGFyYW1zJDQgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ21pbidcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ21heCdcclxuICAgIH1cclxuXTtcclxudmFyIGJldHdlZW4gPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkNCxcclxuICAgIHBhcmFtczogcGFyYW1zJDRcclxufTtcblxudmFyIHZhbGlkYXRlJDUgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgdGFyZ2V0ID0gX2EudGFyZ2V0O1xyXG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSkgPT09IFN0cmluZyh0YXJnZXQpO1xyXG59O1xyXG52YXIgcGFyYW1zJDUgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ3RhcmdldCcsXHJcbiAgICAgICAgaXNUYXJnZXQ6IHRydWVcclxuICAgIH1cclxuXTtcclxudmFyIGNvbmZpcm1lZCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQ1LFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkNVxyXG59O1xuXG52YXIgdmFsaWRhdGUkNiA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBsZW5ndGggPSBfYS5sZW5ndGg7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkNih2YWwsIHsgbGVuZ3RoOiBsZW5ndGggfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgdmFyIHN0clZhbCA9IFN0cmluZyh2YWx1ZSk7XHJcbiAgICByZXR1cm4gL15bMC05XSokLy50ZXN0KHN0clZhbCkgJiYgc3RyVmFsLmxlbmd0aCA9PT0gbGVuZ3RoO1xyXG59O1xyXG52YXIgcGFyYW1zJDYgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xlbmd0aCcsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIGRpZ2l0cyA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQ2LFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkNlxyXG59O1xuXG52YXIgdmFsaWRhdGVJbWFnZSA9IGZ1bmN0aW9uIChmaWxlLCB3aWR0aCwgaGVpZ2h0KSB7XHJcbiAgICB2YXIgVVJMID0gd2luZG93LlVSTCB8fCB3aW5kb3cud2Via2l0VVJMO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XHJcbiAgICAgICAgdmFyIGltYWdlID0gbmV3IEltYWdlKCk7XHJcbiAgICAgICAgaW1hZ2Uub25lcnJvciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlc29sdmUoZmFsc2UpOyB9O1xyXG4gICAgICAgIGltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlc29sdmUoaW1hZ2Uud2lkdGggPT09IHdpZHRoICYmIGltYWdlLmhlaWdodCA9PT0gaGVpZ2h0KTsgfTtcclxuICAgICAgICBpbWFnZS5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpO1xyXG4gICAgfSk7XHJcbn07XHJcbnZhciB2YWxpZGF0ZSQ3ID0gZnVuY3Rpb24gKGZpbGVzLCBfYSkge1xyXG4gICAgdmFyIHdpZHRoID0gX2Eud2lkdGgsIGhlaWdodCA9IF9hLmhlaWdodDtcclxuICAgIHZhciBsaXN0ID0gW107XHJcbiAgICBmaWxlcyA9IEFycmF5LmlzQXJyYXkoZmlsZXMpID8gZmlsZXMgOiBbZmlsZXNdO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIC8vIGlmIGZpbGUgaXMgbm90IGFuIGltYWdlLCByZWplY3QuXHJcbiAgICAgICAgaWYgKCEvXFwuKGpwZ3xzdmd8anBlZ3xwbmd8Ym1wfGdpZikkL2kudGVzdChmaWxlc1tpXS5uYW1lKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGlzdC5wdXNoKGZpbGVzW2ldKTtcclxuICAgIH1cclxuICAgIHJldHVybiBQcm9taXNlLmFsbChsaXN0Lm1hcChmdW5jdGlvbiAoZmlsZSkgeyByZXR1cm4gdmFsaWRhdGVJbWFnZShmaWxlLCB3aWR0aCwgaGVpZ2h0KTsgfSkpLnRoZW4oZnVuY3Rpb24gKHZhbHVlcykge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZXMuZXZlcnkoZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHY7IH0pO1xyXG4gICAgfSk7XHJcbn07XHJcbnZhciBwYXJhbXMkNyA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnd2lkdGgnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdoZWlnaHQnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBkaW1lbnNpb25zID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJDcsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyQ3XHJcbn07XG5cbnZhciB2YWxpZGF0ZSQ4ID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIG11bHRpcGxlID0gKF9hID09PSB2b2lkIDAgPyB7fSA6IF9hKS5tdWx0aXBsZTtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gICAgdmFyIHJlID0gL14oKFtePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtbMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFxdKXwoKFthLXpBLVpcXC0wLTldK1xcLikrW2EtekEtWl17Mix9KSkkLztcclxuICAgIGlmIChtdWx0aXBsZSAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICB2YWx1ZSA9IFN0cmluZyh2YWx1ZSlcclxuICAgICAgICAgICAgLnNwbGl0KCcsJylcclxuICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoZW1haWxTdHIpIHsgcmV0dXJuIGVtYWlsU3RyLnRyaW0oKTsgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gcmUudGVzdChTdHJpbmcodmFsKSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlLnRlc3QoU3RyaW5nKHZhbHVlKSk7XHJcbn07XHJcbnZhciBwYXJhbXMkOCA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbXVsdGlwbGUnLFxyXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXHJcbiAgICB9XHJcbl07XHJcbnZhciBlbWFpbCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQ4LFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkOFxyXG59O1xuXG5mdW5jdGlvbiBpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkge1xyXG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XHJcbn1cclxuZnVuY3Rpb24gaXNFbXB0eUFycmF5KGFycikge1xyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYXJyKSAmJiBhcnIubGVuZ3RoID09PSAwO1xyXG59XHJcbmZ1bmN0aW9uIGlzQ2FsbGFibGUoZm4pIHtcclxuICAgIHJldHVybiB0eXBlb2YgZm4gPT09ICdmdW5jdGlvbic7XHJcbn1cblxuZnVuY3Rpb24gaW5jbHVkZXMoY29sbGVjdGlvbiwgaXRlbSkge1xyXG4gICAgcmV0dXJuIGNvbGxlY3Rpb24uaW5kZXhPZihpdGVtKSAhPT0gLTE7XHJcbn1cclxuLyoqXHJcbiAqIENvbnZlcnRzIGFuIGFycmF5LWxpa2Ugb2JqZWN0IHRvIGFycmF5LCBwcm92aWRlcyBhIHNpbXBsZSBwb2x5ZmlsbCBmb3IgQXJyYXkuZnJvbVxyXG4gKi9cclxuZnVuY3Rpb24gdG9BcnJheShhcnJheUxpa2UpIHtcclxuICAgIGlmIChpc0NhbGxhYmxlKEFycmF5LmZyb20pKSB7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oYXJyYXlMaWtlKTtcclxuICAgIH1cclxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgICByZXR1cm4gX2NvcHlBcnJheShhcnJheUxpa2UpO1xyXG59XHJcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbmZ1bmN0aW9uIF9jb3B5QXJyYXkoYXJyYXlMaWtlKSB7XHJcbiAgICB2YXIgYXJyYXkgPSBbXTtcclxuICAgIHZhciBsZW5ndGggPSBhcnJheUxpa2UubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGFycmF5LnB1c2goYXJyYXlMaWtlW2ldKTtcclxuICAgIH1cclxuICAgIHJldHVybiBhcnJheTtcclxufVxuXG52YXIgdmFsaWRhdGUkOSA9IGZ1bmN0aW9uICh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJDkodmFsLCBvcHRpb25zKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdG9BcnJheShvcHRpb25zKS5zb21lKGZ1bmN0aW9uIChpdGVtKSB7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXHJcbiAgICAgICAgcmV0dXJuIGl0ZW0gPT0gdmFsdWU7XHJcbiAgICB9KTtcclxufTtcclxudmFyIG9uZU9mID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJDlcclxufTtcblxudmFyIHZhbGlkYXRlJGEgPSBmdW5jdGlvbiAodmFsdWUsIGFyZ3MpIHtcclxuICAgIHJldHVybiAhdmFsaWRhdGUkOSh2YWx1ZSwgYXJncyk7XHJcbn07XHJcbnZhciBleGNsdWRlZCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRhXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRiID0gZnVuY3Rpb24gKGZpbGVzLCBleHRlbnNpb25zKSB7XHJcbiAgICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKFwiLihcIiArIGV4dGVuc2lvbnMuam9pbignfCcpICsgXCIpJFwiLCAnaScpO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZmlsZXMpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZpbGVzLmV2ZXJ5KGZ1bmN0aW9uIChmaWxlKSB7IHJldHVybiByZWdleC50ZXN0KGZpbGUubmFtZSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QoZmlsZXMubmFtZSk7XHJcbn07XHJcbnZhciBleHQgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkYlxyXG59O1xuXG52YXIgdmFsaWRhdGUkYyA9IGZ1bmN0aW9uIChmaWxlcykge1xyXG4gICAgdmFyIHJlZ2V4ID0gL1xcLihqcGd8c3ZnfGpwZWd8cG5nfGJtcHxnaWZ8d2VicCkkL2k7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWxlcykpIHtcclxuICAgICAgICByZXR1cm4gZmlsZXMuZXZlcnkoZnVuY3Rpb24gKGZpbGUpIHsgcmV0dXJuIHJlZ2V4LnRlc3QoZmlsZS5uYW1lKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVnZXgudGVzdChmaWxlcy5uYW1lKTtcclxufTtcclxudmFyIGltYWdlID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGNcclxufTtcblxudmFyIHZhbGlkYXRlJGQgPSBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiAvXi0/WzAtOV0rJC8udGVzdChTdHJpbmcodmFsKSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIC9eLT9bMC05XSskLy50ZXN0KFN0cmluZyh2YWx1ZSkpO1xyXG59O1xyXG52YXIgaW50ZWdlciA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRkXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRlID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIG90aGVyID0gX2Eub3RoZXI7XHJcbiAgICByZXR1cm4gdmFsdWUgPT09IG90aGVyO1xyXG59O1xyXG52YXIgcGFyYW1zJDkgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ290aGVyJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgaXMgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkZSxcclxuICAgIHBhcmFtczogcGFyYW1zJDlcclxufTtcblxudmFyIHZhbGlkYXRlJGYgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgb3RoZXIgPSBfYS5vdGhlcjtcclxuICAgIHJldHVybiB2YWx1ZSAhPT0gb3RoZXI7XHJcbn07XHJcbnZhciBwYXJhbXMkYSA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnb3RoZXInXHJcbiAgICB9XHJcbl07XHJcbnZhciBpc19ub3QgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkZixcclxuICAgIHBhcmFtczogcGFyYW1zJGFcclxufTtcblxudmFyIHZhbGlkYXRlJGcgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgbGVuZ3RoID0gX2EubGVuZ3RoO1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgdmFsdWUgPSBTdHJpbmcodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF2YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgICB2YWx1ZSA9IHRvQXJyYXkodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA9PT0gbGVuZ3RoO1xyXG59O1xyXG52YXIgcGFyYW1zJGIgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xlbmd0aCcsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiBOdW1iZXIodmFsdWUpOyB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBsZW5ndGggPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkZyxcclxuICAgIHBhcmFtczogcGFyYW1zJGJcclxufTtcblxudmFyIHZhbGlkYXRlJGggPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgbGVuZ3RoID0gX2EubGVuZ3RoO1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBsZW5ndGggPj0gMDtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSRoKHZhbCwgeyBsZW5ndGg6IGxlbmd0aCB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKS5sZW5ndGggPD0gbGVuZ3RoO1xyXG59O1xyXG52YXIgcGFyYW1zJGMgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xlbmd0aCcsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIG1heCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRoLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkY1xyXG59O1xuXG52YXIgdmFsaWRhdGUkaSA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBtYXggPSBfYS5tYXg7XHJcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpIHx8IHZhbHVlID09PSAnJykge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPiAwICYmIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJGkodmFsLCB7IG1heDogbWF4IH0pOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBOdW1iZXIodmFsdWUpIDw9IG1heDtcclxufTtcclxudmFyIHBhcmFtcyRkID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdtYXgnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBtYXhfdmFsdWUgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkaSxcclxuICAgIHBhcmFtczogcGFyYW1zJGRcclxufTtcblxudmFyIHZhbGlkYXRlJGogPSBmdW5jdGlvbiAoZmlsZXMsIG1pbWVzKSB7XHJcbiAgICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKG1pbWVzLmpvaW4oJ3wnKS5yZXBsYWNlKCcqJywgJy4rJykgKyBcIiRcIiwgJ2knKTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGZpbGVzKSkge1xyXG4gICAgICAgIHJldHVybiBmaWxlcy5ldmVyeShmdW5jdGlvbiAoZmlsZSkgeyByZXR1cm4gcmVnZXgudGVzdChmaWxlLnR5cGUpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZWdleC50ZXN0KGZpbGVzLnR5cGUpO1xyXG59O1xyXG52YXIgbWltZXMgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkalxyXG59O1xuXG52YXIgdmFsaWRhdGUkayA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBsZW5ndGggPSBfYS5sZW5ndGg7XHJcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJGsodmFsLCB7IGxlbmd0aDogbGVuZ3RoIH0pOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpLmxlbmd0aCA+PSBsZW5ndGg7XHJcbn07XHJcbnZhciBwYXJhbXMkZSA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbGVuZ3RoJyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgbWluID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGssXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRlXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRsID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIG1pbiA9IF9hLm1pbjtcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkgfHwgdmFsdWUgPT09ICcnKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA+IDAgJiYgdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkbCh2YWwsIHsgbWluOiBtaW4gfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE51bWJlcih2YWx1ZSkgPj0gbWluO1xyXG59O1xyXG52YXIgcGFyYW1zJGYgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ21pbicsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIG1pbl92YWx1ZSA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRsLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkZlxyXG59O1xuXG52YXIgYXIgPSAvXlvZoNmh2aLZo9mk2aXZptmn2ajZqV0rJC87XHJcbnZhciBlbiA9IC9eWzAtOV0rJC87XHJcbnZhciB2YWxpZGF0ZSRtID0gZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICB2YXIgdGVzdFZhbHVlID0gZnVuY3Rpb24gKHZhbCkge1xyXG4gICAgICAgIHZhciBzdHJWYWx1ZSA9IFN0cmluZyh2YWwpO1xyXG4gICAgICAgIHJldHVybiBlbi50ZXN0KHN0clZhbHVlKSB8fCBhci50ZXN0KHN0clZhbHVlKTtcclxuICAgIH07XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkodGVzdFZhbHVlKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0ZXN0VmFsdWUodmFsdWUpO1xyXG59O1xyXG52YXIgbnVtZXJpYyA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRtXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRuID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIHJlZ2V4ID0gX2EucmVnZXg7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkbih2YWwsIHsgcmVnZXg6IHJlZ2V4IH0pOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZWdleC50ZXN0KFN0cmluZyh2YWx1ZSkpO1xyXG59O1xyXG52YXIgcGFyYW1zJGcgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ3JlZ2V4JyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgcmVnZXggPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkbixcclxuICAgIHBhcmFtczogcGFyYW1zJGdcclxufTtcblxudmFyIHZhbGlkYXRlJG8gPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgYWxsb3dGYWxzZSA9IChfYSA9PT0gdm9pZCAwID8geyBhbGxvd0ZhbHNlOiB0cnVlIH0gOiBfYSkuYWxsb3dGYWxzZTtcclxuICAgIHZhciByZXN1bHQgPSB7XHJcbiAgICAgICAgdmFsaWQ6IGZhbHNlLFxyXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlXHJcbiAgICB9O1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSB8fCBpc0VtcHR5QXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuICAgIC8vIGluY2FzZSBhIGZpZWxkIGNvbnNpZGVycyBgZmFsc2VgIGFzIGFuIGVtcHR5IHZhbHVlIGxpa2UgY2hlY2tib3hlcy5cclxuICAgIGlmICh2YWx1ZSA9PT0gZmFsc2UgJiYgIWFsbG93RmFsc2UpIHtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG4gICAgcmVzdWx0LnZhbGlkID0gISFTdHJpbmcodmFsdWUpLnRyaW0oKS5sZW5ndGg7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59O1xyXG52YXIgY29tcHV0ZXNSZXF1aXJlZCA9IHRydWU7XHJcbnZhciBwYXJhbXMkaCA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnYWxsb3dGYWxzZScsXHJcbiAgICAgICAgZGVmYXVsdDogdHJ1ZVxyXG4gICAgfVxyXG5dO1xyXG52YXIgcmVxdWlyZWQgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkbyxcclxuICAgIHBhcmFtczogcGFyYW1zJGgsXHJcbiAgICBjb21wdXRlc1JlcXVpcmVkOiBjb21wdXRlc1JlcXVpcmVkXHJcbn07XG5cbnZhciB0ZXN0RW1wdHkgPSBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgIHJldHVybiBpc0VtcHR5QXJyYXkodmFsdWUpIHx8IGluY2x1ZGVzKFtmYWxzZSwgbnVsbCwgdW5kZWZpbmVkXSwgdmFsdWUpIHx8ICFTdHJpbmcodmFsdWUpLnRyaW0oKS5sZW5ndGg7XHJcbn07XHJcbnZhciB2YWxpZGF0ZSRwID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIHRhcmdldCA9IF9hLnRhcmdldCwgdmFsdWVzID0gX2EudmFsdWVzO1xyXG4gICAgdmFyIHJlcXVpcmVkO1xyXG4gICAgaWYgKHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlcykgJiYgdHlwZW9mIHZhbHVlcyA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgdmFsdWVzID0gW3ZhbHVlc107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gICAgICAgIHJlcXVpcmVkID0gdmFsdWVzLnNvbWUoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsID09IFN0cmluZyh0YXJnZXQpLnRyaW0oKTsgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgICByZXF1aXJlZCA9ICF0ZXN0RW1wdHkodGFyZ2V0KTtcclxuICAgIH1cclxuICAgIGlmICghcmVxdWlyZWQpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB2YWxpZDogdHJ1ZSxcclxuICAgICAgICAgICAgcmVxdWlyZWQ6IHJlcXVpcmVkXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgdmFsaWQ6ICF0ZXN0RW1wdHkodmFsdWUpLFxyXG4gICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZFxyXG4gICAgfTtcclxufTtcclxudmFyIHBhcmFtcyRpID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICd0YXJnZXQnLFxyXG4gICAgICAgIGlzVGFyZ2V0OiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICd2YWx1ZXMnXHJcbiAgICB9XHJcbl07XHJcbnZhciBjb21wdXRlc1JlcXVpcmVkJDEgPSB0cnVlO1xyXG52YXIgcmVxdWlyZWRfaWYgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkcCxcclxuICAgIHBhcmFtczogcGFyYW1zJGksXHJcbiAgICBjb21wdXRlc1JlcXVpcmVkOiBjb21wdXRlc1JlcXVpcmVkJDFcclxufTtcblxudmFyIHZhbGlkYXRlJHEgPSBmdW5jdGlvbiAoZmlsZXMsIF9hKSB7XHJcbiAgICB2YXIgc2l6ZSA9IF9hLnNpemU7XHJcbiAgICBpZiAoaXNOYU4oc2l6ZSkpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB2YXIgblNpemUgPSBzaXplICogMTAyNDtcclxuICAgIGlmICghQXJyYXkuaXNBcnJheShmaWxlcykpIHtcclxuICAgICAgICByZXR1cm4gZmlsZXMuc2l6ZSA8PSBuU2l6ZTtcclxuICAgIH1cclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoZmlsZXNbaV0uc2l6ZSA+IG5TaXplKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxufTtcclxudmFyIHBhcmFtcyRqID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdzaXplJyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgc2l6ZSA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRxLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkalxyXG59O1xuXG5leHBvcnQgeyBhbHBoYSQxIGFzIGFscGhhLCBhbHBoYV9kYXNoLCBhbHBoYV9udW0sIGFscGhhX3NwYWNlcywgYmV0d2VlbiwgY29uZmlybWVkLCBkaWdpdHMsIGRpbWVuc2lvbnMsIGVtYWlsLCBleGNsdWRlZCwgZXh0LCBpbWFnZSwgaW50ZWdlciwgaXMsIGlzX25vdCwgbGVuZ3RoLCBtYXgsIG1heF92YWx1ZSwgbWltZXMsIG1pbiwgbWluX3ZhbHVlLCBudW1lcmljLCBvbmVPZiwgcmVnZXgsIHJlcXVpcmVkLCByZXF1aXJlZF9pZiwgc2l6ZSB9O1xuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VjdGlvblRpdGxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTZkNzk5Y2YyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VjdGlvblRpdGxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTZkNzk5Y2YyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlY3Rpb25UaXRsZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ZDc5OWNmMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlY3Rpb25UaXRsZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ZDc5OWNmMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TZWN0aW9uVGl0bGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NmQ3OTljZjImbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLnNlbGVjdFtkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLmlucHV0LW9wdGlvbnNbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0b3A6IDY1cHg7XFxuICBsZWZ0OiAwO1xcbiAgcmlnaHQ6IDA7XFxuICB6LWluZGV4OiA5O1xcbiAgbWF4LWhlaWdodDogMjk1cHg7XFxuICBvdmVyZmxvdy15OiBhdXRvO1xcbn1cXG4uaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW1bZGF0YS12LTE0YjFkNmEzXSB7XFxuICBwYWRkaW5nOiAxM3B4IDIwcHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmlucHV0LW9wdGlvbnMgLm9wdGlvbi1pdGVtW2RhdGEtdi0xNGIxZDZhM106aG92ZXIge1xcbiAgY29sb3I6ICMwMEJDN0U7XFxuICBiYWNrZ3JvdW5kOiAjZjRmNWY2O1xcbn1cXG4uaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW1bZGF0YS12LTE0YjFkNmEzXTpsYXN0LWNoaWxkIHtcXG4gIGJvcmRlci1ib3R0b206IG5vbmU7XFxufVxcbi5pbnB1dC1hcmVhW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgdHJhbnNpdGlvbjogMTUwbXMgYWxsIGVhc2U7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcGFkZGluZzogMTNweCAyMHB4O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIG91dGxpbmU6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmlucHV0LWFyZWEgLmNoZXZyb25bZGF0YS12LTE0YjFkNmEzXSB7XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG59XFxuLmlucHV0LWFyZWEuaXMtYWN0aXZlIC5jaGV2cm9uW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcXG59XFxuLmlucHV0LWFyZWEuaXMtZXJyb3JbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBib3JkZXItY29sb3I6ICNmZDM5N2E7XFxuICBib3gtc2hhZG93OiAwIDAgN3B4IHJnYmEoMjUzLCA1NywgMTIyLCAwLjMpO1xcbn1cXG4ub3B0aW9uLWljb25bZGF0YS12LTE0YjFkNmEzXSB7XFxuICB3aWR0aDogMjBweDtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGZvbnQtc2l6ZTogMC42MjVlbTtcXG59XFxuLm9wdGlvbi1pY29uIHN2Z1tkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIG1hcmdpbi10b3A6IC00cHg7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbn1cXG4ub3B0aW9uLXZhbHVlW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG59XFxuLm9wdGlvbi12YWx1ZS5wbGFjZWhvZGVyW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC41KTtcXG59XFxuLnNsaWRlLWluLWVudGVyLWFjdGl2ZVtkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlO1xcbn1cXG4uc2xpZGUtaW4tZW50ZXJbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBvcGFjaXR5OiAwO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5pbnB1dC1hcmVhW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbiAgICBib3JkZXItY29sb3I6ICMxZTIwMjQ7XFxufVxcbi5wb3B1cC13cmFwcGVyIC5pbnB1dC1hcmVhW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMjUyNzJjO1xcbn1cXG4uaW5wdXQtb3B0aW9uc1tkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gICAgYmFja2dyb3VuZDogIzFlMjAyNDtcXG59XFxuLmlucHV0LW9wdGlvbnMgLm9wdGlvbi1pdGVtW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xcbn1cXG4uaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW1bZGF0YS12LTE0YjFkNmEzXTpob3ZlciB7XFxuICAgIGJhY2tncm91bmQ6ICMyYTJjMzI7XFxufVxcbi5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbTpob3ZlciAub3B0aW9uLWljb24gcGF0aFtkYXRhLXYtMTRiMWQ2YTNdLCAuaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW06aG92ZXIgLm9wdGlvbi1pY29uIGNpcmNsZVtkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gICAgY29sb3I6IGluaGVyaXQ7XFxufVxcbi5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbVtkYXRhLXYtMTRiMWQ2YTNdOmxhc3QtY2hpbGQge1xcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xcbn1cXG4ub3B0aW9uLXZhbHVlLnBsYWNlaG9kZXJbZGF0YS12LTE0YjFkNmEzXSB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWM4ODk5ODEwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWM4ODk5ODEwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLmZvcm0tbGFiZWxbZGF0YS12LWM4ODk5ODEwXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XFxufVxcbi5mb3JtLWxhYmVsIC5pY29uW2RhdGEtdi1jODg5OTgxMF0ge1xcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xcbn1cXG4uZm9ybS1sYWJlbCAuaWNvbiBwYXRoW2RhdGEtdi1jODg5OTgxMF0ge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxufVxcbi5mb3JtLWxhYmVsIC5sYWJlbFtkYXRhLXYtYzg4OTk4MTBdIHtcXG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4uZm9ybS1sYWJlbCAubGFiZWxbZGF0YS12LWM4ODk5ODEwXSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiZm9ybS1sYWJlbFwifSxbX2MoJ2VkaXQtMi1pY29uJyx7c3RhdGljQ2xhc3M6XCJpY29uIHRleHQtdGhlbWVcIixhdHRyczp7XCJzaXplXCI6XCIyMlwifX0pLF92bS5fdihcIiBcIiksX2MoJ2InLHtzdGF0aWNDbGFzczpcImxhYmVsXCJ9LFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwyKV0sMSl9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XG4gICAgICAgIDxlZGl0LTItaWNvbiBzaXplPVwiMjJcIiBjbGFzcz1cImljb24gdGV4dC10aGVtZVwiIC8+XG4gICAgICAgIDxiIGNsYXNzPVwibGFiZWxcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9iPlxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBpbXBvcnQgeyBFZGl0Mkljb24gfSBmcm9tICd2dWUtZmVhdGhlci1pY29ucydcblxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ0Zvcm1MYWJlbCcsXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIEVkaXQySWNvblxuICAgICAgICB9XG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cbiAgICAuZm9ybS1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgICAgLmZvcm0tbGFiZWwge1xuXG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuPC9zdHlsZT5cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1jODg5OTgxMCZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0Zvcm1MYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1jODg5OTgxMCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcImM4ODk5ODEwXCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWM4ODk5ODEwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWM4ODk5ODEwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0Zvcm1MYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1jODg5OTgxMCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIuZm9ybVtkYXRhLXYtMjEwNTE3MmNdIHtcXG4gIG1heC13aWR0aDogNzAwcHg7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgbWFyZ2luOiAwIGF1dG87XFxufVxcbi5mb3JtLmlubGluZS1mb3JtIC5pbnB1dC13cmFwcGVyW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybSAuaW5wdXQtd3JhcHBlciAuZXJyb3ItbWVzc2FnZVtkYXRhLXYtMjEwNTE3MmNdIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGxlZnQ6IDA7XFxuICBib3R0b206IC0yNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC53cmFwcGVyLWlubGluZVtkYXRhLXYtMjEwNTE3MmNdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBtYXJnaW46IDAgLTE1cHg7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLndyYXBwZXItaW5saW5lIC5ibG9jay13cmFwcGVyW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwYWRkaW5nOiAwIDE1cHg7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXJbZGF0YS12LTIxMDUxNzJjXSB7XFxuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyIGxhYmVsW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC44KTtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIG1hcmdpbi1ib3R0b206IDdweDtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXJbZGF0YS12LTIxMDUxNzJjXTpsYXN0LWNoaWxkIHtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJ1dHRvbltkYXRhLXYtMjEwNTE3MmNdIHtcXG4gIG1hcmdpbi10b3A6IDUwcHg7XFxufVxcbi5mb3JtIC5pbmxpbmUtd3JhcHBlcltkYXRhLXYtMjEwNTE3MmNdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4uZm9ybSAuaW5saW5lLXdyYXBwZXIgLnN3aXRjaC1sYWJlbCAuaW5wdXQtaGVscFtkYXRhLXYtMjEwNTE3MmNdIHtcXG4gIHBhZGRpbmctdG9wOiAwO1xcbn1cXG4uZm9ybSAuaW5saW5lLXdyYXBwZXIgLnN3aXRjaC1sYWJlbCAuaW5wdXQtbGFiZWxbZGF0YS12LTIxMDUxNzJjXSB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgY29sb3I6ICMxQjI1Mzk7XFxuICBmb250LXNpemU6IDFlbTtcXG4gIG1hcmdpbi1ib3R0b206IDVweDtcXG59XFxuLmZvcm0gLmlucHV0LWhlbHBbZGF0YS12LTIxMDUxNzJjXSB7XFxuICBmb250LXNpemU6IDAuNzVlbTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNyk7XFxuICBsaW5lLWhlaWdodDogMS4zNTtcXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLnNpbmdsZS1saW5lLWZvcm0gLnN1Ym1pdC1idXR0b25bZGF0YS12LTIxMDUxNzJjXSB7XFxuICBtYXJnaW4tbGVmdDogMjBweDtcXG59XFxuLmVycm9yLW1lc3NhZ2VbZGF0YS12LTIxMDUxNzJjXSB7XFxuICBmb250LXNpemU6IDAuODc1ZW07XFxuICBjb2xvcjogI2ZkMzk3YTtcXG4gIHBhZGRpbmctdG9wOiA1cHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbnRleHRhcmVhW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbmlucHV0W3R5cGU9XFxcImNvbG9yXFxcIl1bZGF0YS12LTIxMDUxNzJjXSB7XFxuICB3aWR0aDogMzhweDtcXG4gIGhlaWdodDogNDBweDtcXG4gIGJvcmRlcjogbm9uZTtcXG4gIG91dGxpbmU6IG5vbmU7XFxuICBiYWNrZ3JvdW5kOiBub25lO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtMjEwNTE3MmNdLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTIxMDUxNzJjXSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTIxMDUxNzJjXSxcXG5pbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtMjEwNTE3MmNdLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTIxMDUxNzJjXSB7XFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIHRyYW5zaXRpb246IDE1MG1zIGFsbCBlYXNlO1xcbiAgZm9udC1zaXplOiAxZW07XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBwYWRkaW5nOiAxM3B4IDIwcHg7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgb3V0bGluZTogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XFxufVxcbnRleHRhcmVhLmlzLWVycm9yW2RhdGEtdi0yMTA1MTcyY10sXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXS5pcy1lcnJvcltkYXRhLXYtMjEwNTE3MmNdLFxcbmlucHV0W3R5cGU9XFxcInRleHRcXFwiXS5pcy1lcnJvcltkYXRhLXYtMjEwNTE3MmNdLFxcbmlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdLmlzLWVycm9yW2RhdGEtdi0yMTA1MTcyY10sXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXS5pcy1lcnJvcltkYXRhLXYtMjEwNTE3MmNdIHtcXG4gIGJvcmRlci1jb2xvcjogI2ZkMzk3YTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTIxMDUxNzJjXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtMjEwNTE3MmNdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTIxMDUxNzJjXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTIxMDUxNzJjXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtMjEwNTE3MmNdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtMjEwNTE3MmNdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0yMTA1MTcyY106Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtMjEwNTE3MmNdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtMjEwNTE3MmNdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0yMTA1MTcyY106Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC41KTtcXG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XFxufVxcbnRleHRhcmVhW2RhdGEtdi0yMTA1MTcyY106LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0yMTA1MTcyY106LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTIxMDUxNzJjXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi0yMTA1MTcyY106LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0yMTA1MTcyY106LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtMjEwNTE3MmNdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTIxMDUxNzJjXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTIxMDUxNzJjXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtMjEwNTE3MmNdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTIxMDUxNzJjXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtMjEwNTE3MmNdOjpwbGFjZWhvbGRlcixcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0yMTA1MTcyY106OnBsYWNlaG9sZGVyLFxcbmlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtMjEwNTE3MmNdOjpwbGFjZWhvbGRlcixcXG5pbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtMjEwNTE3MmNdOjpwbGFjZWhvbGRlcixcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0yMTA1MTcyY106OnBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkaXNhYmxlZF1bZGF0YS12LTIxMDUxNzJjXSxcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtMjEwNTE3MmNdLFxcbmlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTIxMDUxNzJjXSxcXG5pbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTIxMDUxNzJjXSxcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtMjEwNTE3MmNdIHtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC44KTtcXG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICBvcGFjaXR5OiAxO1xcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG59XFxuLmFkZGl0aW9uYWwtbGlua1tkYXRhLXYtMjEwNTE3MmNdIHtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgbWFyZ2luLXRvcDogNTBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uYWRkaXRpb25hbC1saW5rIGJbZGF0YS12LTIxMDUxNzJjXSwgLmFkZGl0aW9uYWwtbGluayBhW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uYWRkaXRpb25hbC1saW5rIGJbZGF0YS12LTIxMDUxNzJjXTpob3ZlciwgLmFkZGl0aW9uYWwtbGluayBhW2RhdGEtdi0yMTA1MTcyY106aG92ZXIge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XFxuLmZvcm1bZGF0YS12LTIxMDUxNzJjXSB7XFxuICAgIG1heC13aWR0aDogMTAwJTtcXG59XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcXG4uZm9ybSAuYnV0dG9uW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogMDtcXG59XFxuLmZvcm0gaW5wdXRbZGF0YS12LTIxMDUxNzJjXSwgLmZvcm0gdGV4dGFyZWFbZGF0YS12LTIxMDUxNzJjXSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBtaW4td2lkdGg6IDEwMCU7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXJbZGF0YS12LTIxMDUxNzJjXSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyIGxhYmVsW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgcGFkZGluZy1yaWdodDogMDtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIG1hcmdpbi1ib3R0b206IDdweDtcXG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xcbiAgICBmb250LXNpemU6IDAuODc1ZW07XFxuICAgIHBhZGRpbmctdG9wOiAwO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5idXR0b25bZGF0YS12LTIxMDUxNzJjXSB7XFxuICAgIG1hcmdpbi10b3A6IDI1cHg7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZvcm0uaW5saW5lLWZvcm0gLmlucHV0LXdyYXBwZXIgLmVycm9yLW1lc3NhZ2VbZGF0YS12LTIxMDUxNzJjXSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgYm90dG9tOiAwO1xcbn1cXG4uZm9ybSAuYnV0dG9uW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgICBwYWRkaW5nOiAxNHB4IDMycHg7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLnNpbmdsZS1saW5lLWZvcm0gLnN1Ym1pdC1idXR0b25bZGF0YS12LTIxMDUxNzJjXSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTIxMDUxNzJjXSxcXG4gIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTIxMDUxNzJjXSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi0yMTA1MTcyY10sXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTIxMDUxNzJjXSxcXG4gIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTIxMDUxNzJjXSB7XFxuICAgIHBhZGRpbmc6IDE0cHggMjBweDtcXG59XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjkwcHgpIHtcXG4uZm9ybS5ibG9jay1mb3JtIC53cmFwcGVyLWlubGluZVtkYXRhLXYtMjEwNTE3MmNdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmZvcm0gLmlucHV0LWhlbHBbZGF0YS12LTIxMDUxNzJjXSB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyIGxhYmVsW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWxhYmVsW2RhdGEtdi0yMTA1MTcyY10ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxudGV4dGFyZWFbZGF0YS12LTIxMDUxNzJjXSxcXG4gIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTIxMDUxNzJjXSxcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtMjEwNTE3MmNdLFxcbiAgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTIxMDUxNzJjXSxcXG4gIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTIxMDUxNzJjXSB7XFxuICAgIGJvcmRlci1jb2xvcjogIzFlMjAyNDtcXG4gICAgYmFja2dyb3VuZDogIzFlMjAyNDtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbnRleHRhcmVhW2RhdGEtdi0yMTA1MTcyY106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTIxMDUxNzJjXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi0yMTA1MTcyY106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi0yMTA1MTcyY106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTIxMDUxNzJjXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtMjEwNTE3MmNdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0yMTA1MTcyY106Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtMjEwNTE3MmNdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtMjEwNTE3MmNdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0yMTA1MTcyY106Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTIxMDUxNzJjXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTIxMDUxNzJjXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtMjEwNTE3MmNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTIxMDUxNzJjXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTIxMDUxNzJjXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTIxMDUxNzJjXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0yMTA1MTcyY106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi0yMTA1MTcyY106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTIxMDUxNzJjXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0yMTA1MTcyY106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtMjEwNTE3MmNdOjpwbGFjZWhvbGRlcixcXG4gIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTIxMDUxNzJjXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTIxMDUxNzJjXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtMjEwNTE3MmNdOjpwbGFjZWhvbGRlcixcXG4gIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTIxMDUxNzJjXTo6cGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGlzYWJsZWRdW2RhdGEtdi0yMTA1MTcyY10sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtMjEwNTE3MmNdLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtMjEwNTE3MmNdLFxcbiAgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi0yMTA1MTcyY10sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtMjEwNTE3MmNdIHtcXG4gICAgYmFja2dyb3VuZDogIzFlMjAyNDtcXG4gICAgY29sb3I6IHJnYmEoMTI1LCAxMzMsIDE0MCwgMC44KTtcXG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHJnYmEoMTI1LCAxMzMsIDE0MCwgMC44KTtcXG59XFxuLnBvcHVwLXdyYXBwZXIgdGV4dGFyZWFbZGF0YS12LTIxMDUxNzJjXSxcXG4gIC5wb3B1cC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTIxMDUxNzJjXSxcXG4gIC5wb3B1cC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtMjEwNTE3MmNdLFxcbiAgLnBvcHVwLXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTIxMDUxNzJjXSxcXG4gIC5wb3B1cC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTIxMDUxNzJjXSB7XFxuICAgIGJhY2tncm91bmQ6ICMyNTI3MmM7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTlmZDBhNDI0Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05ZmQwYTQyNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTlmZDBhNDI0Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7YXR0cnM6e1wiaWRcIjpcInNpbmdsZS1wYWdlXCJ9fSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwic21hbGwtd2lkdGhcIixhdHRyczp7XCJpZFwiOlwicGFnZS1jb250ZW50XCJ9fSxbX2MoJ01vYmlsZUhlYWRlcicse2F0dHJzOntcInRpdGxlXCI6X3ZtLiRyb3V0ZXIuY3VycmVudFJvdXRlLm1ldGEudGl0bGV9fSksX3ZtLl92KFwiIFwiKSxfYygnUGFnZUhlYWRlcicse2F0dHJzOntcImNhbi1iYWNrXCI6dHJ1ZSxcInRpdGxlXCI6X3ZtLiRyb3V0ZXIuY3VycmVudFJvdXRlLm1ldGEudGl0bGV9fSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjb250ZW50LXBhZ2VcIn0sW19jKCdWYWxpZGF0aW9uT2JzZXJ2ZXInLHtyZWY6XCJjcmVhdGVVc2VyXCIsc3RhdGljQ2xhc3M6XCJmb3JtIGJsb2NrLWZvcm1cIixhdHRyczp7XCJ0YWdcIjpcImZvcm1cIn0sb246e1wic3VibWl0XCI6ZnVuY3Rpb24oJGV2ZW50KXskZXZlbnQucHJldmVudERlZmF1bHQoKTtyZXR1cm4gX3ZtLmNyZWF0ZVVzZXIoJGV2ZW50KX19LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGludmFsaWQgPSByZWYuaW52YWxpZDtcbnJldHVybiBbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiZm9ybS1ncm91cFwifSxbX2MoJ0Zvcm1MYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdhZG1pbl9wYWdlX3VzZXIuY3JlYXRlX3VzZXIuZ3JvdXBfZGV0YWlscycpKSldKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdhZG1pbl9wYWdlX3VzZXIuY3JlYXRlX3VzZXIuYXZhdGFyJykpKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJuYW1lXCI6XCJhdmF0YXJcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ0ltYWdlSW5wdXQnLHthdHRyczp7XCJlcnJvclwiOmVycm9yc1swXX0sbW9kZWw6e3ZhbHVlOihfdm0udXNlci5hdmF0YXIpLGNhbGxiYWNrOmZ1bmN0aW9uICgkJHYpIHtfdm0uJHNldChfdm0udXNlciwgXCJhdmF0YXJcIiwgJCR2KX0sZXhwcmVzc2lvbjpcInVzZXIuYXZhdGFyXCJ9fSldfX1dLG51bGwsdHJ1ZSl9KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV9yZWdpc3RyYXRpb24ubGFiZWxfZW1haWwnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcImVtYWlsXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS51c2VyLmVtYWlsKSxleHByZXNzaW9uOlwidXNlci5lbWFpbFwifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJwbGFjZWhvbGRlclwiOl92bS4kdCgnYWRtaW5fcGFnZV91c2VyLmNyZWF0ZV91c2VyLmxhYmVsX2VtYWlsJyksXCJ0eXBlXCI6XCJlbWFpbFwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0udXNlci5lbWFpbCl9LG9uOntcImlucHV0XCI6ZnVuY3Rpb24oJGV2ZW50KXtpZigkZXZlbnQudGFyZ2V0LmNvbXBvc2luZyl7IHJldHVybjsgfV92bS4kc2V0KF92bS51c2VyLCBcImVtYWlsXCIsICRldmVudC50YXJnZXQudmFsdWUpfX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV9yZWdpc3RyYXRpb24ubGFiZWxfbmFtZScpKSldKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwibmFtZVwiOlwidXNlciBuYW1lXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS51c2VyLm5hbWUpLGV4cHJlc3Npb246XCJ1c2VyLm5hbWVcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ2FkbWluX3BhZ2VfdXNlci5jcmVhdGVfdXNlci5sYWJlbF9uYW1lJyksXCJ0eXBlXCI6XCJ0ZXh0XCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS51c2VyLm5hbWUpfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0udXNlciwgXCJuYW1lXCIsICRldmVudC50YXJnZXQudmFsdWUpfX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJ3cmFwcGVyLWlubGluZVwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfcmVnaXN0cmF0aW9uLmxhYmVsX3Bhc3MnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcInBhc3N3b3JkXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS51c2VyLnBhc3N3b3JkKSxleHByZXNzaW9uOlwidXNlci5wYXNzd29yZFwifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJwbGFjZWhvbGRlclwiOl92bS4kdCgncGFnZV9yZWdpc3RyYXRpb24ucGxhY2Vob2xkZXJfcGFzcycpLFwidHlwZVwiOlwicGFzc3dvcmRcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLnVzZXIucGFzc3dvcmQpfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0udXNlciwgXCJwYXNzd29yZFwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfcmVnaXN0cmF0aW9uLmxhYmVsX2NvbmZpcm1fcGFzcycpKSldKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwibmFtZVwiOlwicGFzc3dvcmQgY29uZmlybVwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0udXNlci5wYXNzd29yZF9jb25maXJtYXRpb24pLGV4cHJlc3Npb246XCJ1c2VyLnBhc3N3b3JkX2NvbmZpcm1hdGlvblwifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJwbGFjZWhvbGRlclwiOl92bS4kdCgnYWRtaW5fcGFnZV91c2VyLmNyZWF0ZV91c2VyLmxhYmVsX2NvbmZfcGFzcycpLFwidHlwZVwiOlwicGFzc3dvcmRcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLnVzZXIucGFzc3dvcmRfY29uZmlybWF0aW9uKX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLnVzZXIsIFwicGFzc3dvcmRfY29uZmlybWF0aW9uXCIsICRldmVudC50YXJnZXQudmFsdWUpfX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KV0sMSldKV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJmb3JtLWdyb3VwXCJ9LFtfYygnRm9ybUxhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ2FkbWluX3BhZ2VfdXNlci5jcmVhdGVfdXNlci5ncm91cF9zZXR0aW5ncycpKSldKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdhZG1pbl9wYWdlX3VzZXIuc2VsZWN0X3JvbGUnKSkrXCI6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcInBlcm1pc3Npb25cIixcInJ1bGVzXCI6XCJyZXF1aXJlZFwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnU2VsZWN0SW5wdXQnLHthdHRyczp7XCJvcHRpb25zXCI6X3ZtLnJvbGVzLFwicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ2FkbWluX3BhZ2VfdXNlci5zZWxlY3Rfcm9sZScpLFwiaXNFcnJvclwiOmVycm9yc1swXX0sbW9kZWw6e3ZhbHVlOihfdm0udXNlci5yb2xlKSxjYWxsYmFjazpmdW5jdGlvbiAoJCR2KSB7X3ZtLiRzZXQoX3ZtLnVzZXIsIFwicm9sZVwiLCAkJHYpfSxleHByZXNzaW9uOlwidXNlci5yb2xlXCJ9fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ2FkbWluX3BhZ2VfdXNlci5sYWJlbF9jaGFuZ2VfY2FwYWNpdHknKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcInN0b3JhZ2UgY2FwYWNpdHlcIixcInJ1bGVzXCI6XCJyZXF1aXJlZFwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnaW5wdXQnLHtkaXJlY3RpdmVzOlt7bmFtZTpcIm1vZGVsXCIscmF3TmFtZTpcInYtbW9kZWxcIix2YWx1ZTooX3ZtLnVzZXIuc3RvcmFnZV9jYXBhY2l0eSksZXhwcmVzc2lvbjpcInVzZXIuc3RvcmFnZV9jYXBhY2l0eVwifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJtaW5cIjpcIjFcIixcIm1heFwiOlwiOTk5OTk5OTk5XCIsXCJwbGFjZWhvbGRlclwiOl92bS4kdCgnYWRtaW5fcGFnZV91c2VyLmxhYmVsX2NoYW5nZV9jYXBhY2l0eScpLFwidHlwZVwiOlwibnVtYmVyXCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS51c2VyLnN0b3JhZ2VfY2FwYWNpdHkpfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0udXNlciwgXCJzdG9yYWdlX2NhcGFjaXR5XCIsICRldmVudC50YXJnZXQudmFsdWUpfX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KV0sMSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiZm9ybS1ncm91cFwifSxbX2MoJ0J1dHRvbkJhc2UnLHthdHRyczp7XCJkaXNhYmxlZFwiOl92bS5pc0xvYWRpbmcsXCJsb2FkaW5nXCI6X3ZtLmlzTG9hZGluZyxcImJ1dHRvbi1zdHlsZVwiOlwidGhlbWVcIixcInR5cGVcIjpcInN1Ym1pdFwifX0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhfdm0uJHQoJ2FkbWluX3BhZ2VfdXNlci5jcmVhdGVfdXNlci5zdWJtaXQnKSkrXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiKV0pXSwxKV19fV0pfSldLDEpXSwxKV0pfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBpZD1cInNpbmdsZS1wYWdlXCI+XG4gICAgICAgIDxkaXYgaWQ9XCJwYWdlLWNvbnRlbnRcIiBjbGFzcz1cInNtYWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8TW9iaWxlSGVhZGVyIDp0aXRsZT1cIiRyb3V0ZXIuY3VycmVudFJvdXRlLm1ldGEudGl0bGVcIi8+XG4gICAgICAgICAgICA8UGFnZUhlYWRlciA6Y2FuLWJhY2s9XCJ0cnVlXCIgOnRpdGxlPVwiJHJvdXRlci5jdXJyZW50Um91dGUubWV0YS50aXRsZVwiLz5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtcGFnZVwiPlxuICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uT2JzZXJ2ZXIgQHN1Ym1pdC5wcmV2ZW50PVwiY3JlYXRlVXNlclwiIHJlZj1cImNyZWF0ZVVzZXJcIiB2LXNsb3Q9XCJ7IGludmFsaWQgfVwiIHRhZz1cImZvcm1cIiBjbGFzcz1cImZvcm0gYmxvY2stZm9ybVwiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsPnt7ICR0KCdhZG1pbl9wYWdlX3VzZXIuY3JlYXRlX3VzZXIuZ3JvdXBfZGV0YWlscycpIH19PC9Gb3JtTGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1BdmF0YXItLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICR0KCdhZG1pbl9wYWdlX3VzZXIuY3JlYXRlX3VzZXIuYXZhdGFyJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiBuYW1lPVwiYXZhdGFyXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VJbnB1dCB2LW1vZGVsPVwidXNlci5hdmF0YXJcIiA6ZXJyb3I9XCJlcnJvcnNbMF1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1FbWFpbC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ3BhZ2VfcmVnaXN0cmF0aW9uLmxhYmVsX2VtYWlsJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiBuYW1lPVwiZW1haWxcIiBydWxlcz1cInJlcXVpcmVkXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdi1tb2RlbD1cInVzZXIuZW1haWxcIiA6cGxhY2Vob2xkZXI9XCIkdCgnYWRtaW5fcGFnZV91c2VyLmNyZWF0ZV91c2VyLmxhYmVsX2VtYWlsJylcIiB0eXBlPVwiZW1haWxcIiBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1OYW1lLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgncGFnZV9yZWdpc3RyYXRpb24ubGFiZWxfbmFtZScpIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgbmFtZT1cInVzZXIgbmFtZVwiIHJ1bGVzPVwicmVxdWlyZWRcIiB2LXNsb3Q9XCJ7IGVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwidXNlci5uYW1lXCIgOnBsYWNlaG9sZGVyPVwiJHQoJ2FkbWluX3BhZ2VfdXNlci5jcmVhdGVfdXNlci5sYWJlbF9uYW1lJylcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9jdXMtYm9yZGVyLXRoZW1lXCIgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVBhc3N3b3JkLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlci1pbmxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ3BhZ2VfcmVnaXN0cmF0aW9uLmxhYmVsX3Bhc3MnKSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiBuYW1lPVwicGFzc3dvcmRcIiBydWxlcz1cInJlcXVpcmVkXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJ1c2VyLnBhc3N3b3JkXCIgOnBsYWNlaG9sZGVyPVwiJHQoJ3BhZ2VfcmVnaXN0cmF0aW9uLnBsYWNlaG9sZGVyX3Bhc3MnKVwiIHR5cGU9XCJwYXNzd29yZFwiIGNsYXNzPVwiZm9jdXMtYm9yZGVyLXRoZW1lXCIgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgncGFnZV9yZWdpc3RyYXRpb24ubGFiZWxfY29uZmlybV9wYXNzJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgbmFtZT1cInBhc3N3b3JkIGNvbmZpcm1cIiBydWxlcz1cInJlcXVpcmVkXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJ1c2VyLnBhc3N3b3JkX2NvbmZpcm1hdGlvblwiIDpwbGFjZWhvbGRlcj1cIiR0KCdhZG1pbl9wYWdlX3VzZXIuY3JlYXRlX3VzZXIubGFiZWxfY29uZl9wYXNzJylcIiB0eXBlPVwicGFzc3dvcmRcIiBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTGFiZWw+e3sgJHQoJ2FkbWluX3BhZ2VfdXNlci5jcmVhdGVfdXNlci5ncm91cF9zZXR0aW5ncycpIH19PC9Gb3JtTGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1Vc2VyIFJvbGUtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICR0KCdhZG1pbl9wYWdlX3VzZXIuc2VsZWN0X3JvbGUnKSB9fTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiBuYW1lPVwicGVybWlzc2lvblwiIHJ1bGVzPVwicmVxdWlyZWRcIiB2LXNsb3Q9XCJ7IGVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RJbnB1dCB2LW1vZGVsPVwidXNlci5yb2xlXCIgOm9wdGlvbnM9XCJyb2xlc1wiIDpwbGFjZWhvbGRlcj1cIiR0KCdhZG1pbl9wYWdlX3VzZXIuc2VsZWN0X3JvbGUnKVwiIDppc0Vycm9yPVwiZXJyb3JzWzBdXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1TdG9yYWdlIENhcGFjaXR5LS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgnYWRtaW5fcGFnZV91c2VyLmxhYmVsX2NoYW5nZV9jYXBhY2l0eScpIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgbmFtZT1cInN0b3JhZ2UgY2FwYWNpdHlcIiBydWxlcz1cInJlcXVpcmVkXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdi1tb2RlbD1cInVzZXIuc3RvcmFnZV9jYXBhY2l0eVwiIG1pbj1cIjFcIiBtYXg9XCI5OTk5OTk5OTlcIiA6cGxhY2Vob2xkZXI9XCIkdCgnYWRtaW5fcGFnZV91c2VyLmxhYmVsX2NoYW5nZV9jYXBhY2l0eScpXCIgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9jdXMtYm9yZGVyLXRoZW1lXCIgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25CYXNlIDpkaXNhYmxlZD1cImlzTG9hZGluZ1wiIDpsb2FkaW5nPVwiaXNMb2FkaW5nXCIgYnV0dG9uLXN0eWxlPVwidGhlbWVcIiB0eXBlPVwic3VibWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJHQoJ2FkbWluX3BhZ2VfdXNlci5jcmVhdGVfdXNlci5zdWJtaXQnKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b25CYXNlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25PYnNlcnZlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgaW1wb3J0IHtWYWxpZGF0aW9uUHJvdmlkZXIsIFZhbGlkYXRpb25PYnNlcnZlcn0gZnJvbSAndmVlLXZhbGlkYXRlL2Rpc3QvdmVlLXZhbGlkYXRlLmZ1bGwnXG4gICAgaW1wb3J0IFNlbGVjdElucHV0IGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQnXG4gICAgaW1wb3J0IEltYWdlSW5wdXQgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbWFnZUlucHV0J1xuICAgIGltcG9ydCBGb3JtTGFiZWwgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9Gb3JtTGFiZWwnXG4gICAgaW1wb3J0IE1vYmlsZUhlYWRlciBmcm9tICdAL2NvbXBvbmVudHMvTW9iaWxlL01vYmlsZUhlYWRlcidcbiAgICBpbXBvcnQgU2VjdGlvblRpdGxlIGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvU2VjdGlvblRpdGxlJ1xuICAgIGltcG9ydCBCdXR0b25CYXNlIGZyb20gJ0AvY29tcG9uZW50cy9GaWxlc1ZpZXcvQnV0dG9uQmFzZSdcbiAgICBpbXBvcnQgUGFnZUhlYWRlciBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXInXG4gICAgaW1wb3J0IHtyZXF1aXJlZH0gZnJvbSAndmVlLXZhbGlkYXRlL2Rpc3QvcnVsZXMnXG4gICAgaW1wb3J0IHsgbWFwR2V0dGVycyB9IGZyb20gJ3Z1ZXgnXG4gICAgaW1wb3J0IHtldmVudHN9IGZyb20gXCJAL2J1c1wiXG4gICAgaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnUHJvZmlsZScsXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIFZhbGlkYXRpb25Qcm92aWRlcixcbiAgICAgICAgICAgIFZhbGlkYXRpb25PYnNlcnZlcixcbiAgICAgICAgICAgIFNlY3Rpb25UaXRsZSxcbiAgICAgICAgICAgIE1vYmlsZUhlYWRlcixcbiAgICAgICAgICAgIFNlbGVjdElucHV0LFxuICAgICAgICAgICAgQnV0dG9uQmFzZSxcbiAgICAgICAgICAgIEltYWdlSW5wdXQsXG4gICAgICAgICAgICBQYWdlSGVhZGVyLFxuICAgICAgICAgICAgRm9ybUxhYmVsLFxuICAgICAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbXB1dGVkOiB7XG4gICAgICAgICAgICAuLi5tYXBHZXR0ZXJzKFsncm9sZXMnXSksXG4gICAgICAgIH0sXG4gICAgICAgIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgICAgICAgICByb2xlOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgYXZhdGFyOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICcnLFxuICAgICAgICAgICAgICAgICAgICBlbWFpbDogJycsXG4gICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmRfY29uZmlybWF0aW9uOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgc3RvcmFnZV9jYXBhY2l0eTogNSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBtZXRob2RzOiB7XG4gICAgICAgICAgICBhc3luYyBjcmVhdGVVc2VyKCkge1xuXG4gICAgICAgICAgICAgICAgLy8gVmFsaWRhdGUgZmllbGRzXG4gICAgICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9IGF3YWl0IHRoaXMuJHJlZnMuY3JlYXRlVXNlci52YWxpZGF0ZSgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAvLyBTdGFydCBsb2FkaW5nXG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlXG5cbiAgICAgICAgICAgICAgICAvLyBDcmVhdGUgZm9ybVxuICAgICAgICAgICAgICAgIGxldCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpXG5cbiAgICAgICAgICAgICAgICAvLyBBZGQgaW1hZ2UgdG8gZm9ybVxuICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnbmFtZScsIHRoaXMudXNlci5uYW1lKVxuICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgncm9sZScsIHRoaXMudXNlci5yb2xlKVxuICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZW1haWwnLCB0aGlzLnVzZXIuZW1haWwpXG4gICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdwYXNzd29yZCcsIHRoaXMudXNlci5wYXNzd29yZClcbiAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ3N0b3JhZ2VfY2FwYWNpdHknLCB0aGlzLnVzZXIuc3RvcmFnZV9jYXBhY2l0eSlcbiAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ3Bhc3N3b3JkX2NvbmZpcm1hdGlvbicsIHRoaXMudXNlci5wYXNzd29yZF9jb25maXJtYXRpb24pXG5cbiAgICAgICAgICAgICAgICAvLyBBcHBlbmQgYXZhdGFyIGlmIGV4aXN0XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudXNlci5hdmF0YXIpXG4gICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnYXZhdGFyJywgdGhpcy51c2VyLmF2YXRhcilcblxuICAgICAgICAgICAgICAgIC8vIFNlbmQgcmVxdWVzdCB0byBnZXQgdXNlciB0b2tlblxuICAgICAgICAgICAgICAgIGF4aW9zXG4gICAgICAgICAgICAgICAgICAgIC5wb3N0KCcvYXBpL29hc2lzL2FkbWluL3VzZXJzL2NyZWF0ZS11c2VyJywgZm9ybURhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ211bHRpcGFydC9mb3JtLWRhdGEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuZCBsb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNob3cgdG9hc3RlclxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRzLiRlbWl0KCd0b2FzdGVyJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLiR0KCd0b2FzdGVyLmNyZWF0ZWRfdXNlcicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gR28gdG8gVXNlciBwYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7bmFtZTogJ1VzZXJEZXRhaWwnLCBwYXJhbXM6IHtpZDogcmVzcG9uc2UuZGF0YS5kYXRhLmlkfX0pXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFZhbGlkYXRpb24gZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2Uuc3RhdHVzID09IDQyMikge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRW1haWwgdmFsaWRhdGlvbiBlcnJvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5yZXNwb25zZS5kYXRhLmVycm9yc1snZW1haWwnXSkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuY3JlYXRlVXNlci5zZXRFcnJvcnMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VtYWlsJzogZXJyb3IucmVzcG9uc2UuZGF0YS5lcnJvcnNbJ2VtYWlsJ11cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGFzc3dvcmQgdmFsaWRhdGlvbiBlcnJvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5yZXNwb25zZS5kYXRhLmVycm9yc1sncGFzc3dvcmQnXSkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuY3JlYXRlVXNlci5zZXRFcnJvcnMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bhc3N3b3JkJzogZXJyb3IucmVzcG9uc2UuZGF0YS5lcnJvcnNbJ3Bhc3N3b3JkJ11cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGFzc3dvcmQgdmFsaWRhdGlvbiBlcnJvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5yZXNwb25zZS5kYXRhLmVycm9yc1snc3RvcmFnZV9jYXBhY2l0eSddKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jcmVhdGVVc2VyLnNldEVycm9ycyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RvcmFnZSBjYXBhY2l0eSc6IHRoaXMuJHQoJ2Vycm9ycy5jYXBhY2l0eV9kaWdpdCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudHMuJGVtaXQoJ2FsZXJ0Om9wZW4nLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLiR0KCdwb3B1cF9lcnJvci50aXRsZScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLiR0KCdwb3B1cF9lcnJvci5tZXNzYWdlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5kIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19mb3Jtcyc7XG48L3N0eWxlPlxuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VyQ3JlYXRlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VyQ3JlYXRlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vVXNlckNyZWF0ZS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MjEwNTE3MmMmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vVXNlckNyZWF0ZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL1VzZXJDcmVhdGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1VzZXJDcmVhdGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MjEwNTE3MmMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIyMTA1MTcyY1wiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLmZvcm1bZGF0YS12LWRiMzcwNTQ4XSB7XFxuICBtYXgtd2lkdGg6IDcwMHB4O1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtZGIzNzA1NDhdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybSAuaW5wdXQtd3JhcHBlcltkYXRhLXYtZGIzNzA1NDhdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmZvcm0uaW5saW5lLWZvcm0gLmlucHV0LXdyYXBwZXIgLmVycm9yLW1lc3NhZ2VbZGF0YS12LWRiMzcwNTQ4XSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBsZWZ0OiAwO1xcbiAgYm90dG9tOiAtMjVweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmVbZGF0YS12LWRiMzcwNTQ4XSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgbWFyZ2luOiAwIC0xNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC53cmFwcGVyLWlubGluZSAuYmxvY2std3JhcHBlcltkYXRhLXYtZGIzNzA1NDhdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcGFkZGluZzogMCAxNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtZGIzNzA1NDhdIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXJnaW4tYm90dG9tOiA3cHg7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi1kYjM3MDU0OF06bGFzdC1jaGlsZCB7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5idXR0b25bZGF0YS12LWRiMzcwNTQ4XSB7XFxuICBtYXJnaW4tdG9wOiA1MHB4O1xcbn1cXG4uZm9ybSAuaW5saW5lLXdyYXBwZXJbZGF0YS12LWRiMzcwNTQ4XSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWhlbHBbZGF0YS12LWRiMzcwNTQ4XSB7XFxuICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWxhYmVsW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGNvbG9yOiAjMUIyNTM5O1xcbiAgZm9udC1zaXplOiAxZW07XFxuICBtYXJnaW4tYm90dG9tOiA1cHg7XFxufVxcbi5mb3JtIC5pbnB1dC1oZWxwW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgZm9udC1zaXplOiAwLjc1ZW07XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjcpO1xcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XFxuICBwYWRkaW5nLXRvcDogMTBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybVtkYXRhLXYtZGIzNzA1NDhdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtIC5zdWJtaXQtYnV0dG9uW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XFxufVxcbi5lcnJvci1tZXNzYWdlW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgY29sb3I6ICNmZDM5N2E7XFxuICBwYWRkaW5nLXRvcDogNXB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtZGIzNzA1NDhdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5pbnB1dFt0eXBlPVxcXCJjb2xvclxcXCJdW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgd2lkdGg6IDM4cHg7XFxuICBoZWlnaHQ6IDQwcHg7XFxuICBib3JkZXI6IG5vbmU7XFxuICBvdXRsaW5lOiBub25lO1xcbiAgYmFja2dyb3VuZDogbm9uZTtcXG59XFxudGV4dGFyZWFbZGF0YS12LWRiMzcwNTQ4XSxcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1kYjM3MDU0OF0sXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1kYjM3MDU0OF0sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWRiMzcwNTQ4XSxcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcGFkZGluZzogMTNweCAyMHB4O1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIG91dGxpbmU6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbn1cXG50ZXh0YXJlYS5pcy1lcnJvcltkYXRhLXYtZGIzNzA1NDhdLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl0uaXMtZXJyb3JbZGF0YS12LWRiMzcwNTQ4XSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0uaXMtZXJyb3JbZGF0YS12LWRiMzcwNTQ4XSxcXG5pbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXS5pcy1lcnJvcltkYXRhLXYtZGIzNzA1NDhdLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl0uaXMtZXJyb3JbZGF0YS12LWRiMzcwNTQ4XSB7XFxuICBib3JkZXItY29sb3I6ICNmZDM5N2E7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1kYjM3MDU0OF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LWRiMzcwNTQ4XTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1kYjM3MDU0OF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1kYjM3MDU0OF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LWRiMzcwNTQ4XTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LWRiMzcwNTQ4XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWRiMzcwNTQ4XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWRiMzcwNTQ4XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtZGIzNzA1NDhdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1kYjM3MDU0OF06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LWRiMzcwNTQ4XTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1kYjM3MDU0OF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1kYjM3MDU0OF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWRiMzcwNTQ4XTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1kYjM3MDU0OF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LWRiMzcwNTQ4XTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOjpwbGFjZWhvbGRlcixcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWRiMzcwNTQ4XTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWRiMzcwNTQ4XTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOjpwbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGlzYWJsZWRdW2RhdGEtdi1kYjM3MDU0OF0sXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWRiMzcwNTQ4XSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGlzYWJsZWRdW2RhdGEtdi1kYjM3MDU0OF0sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi1kYjM3MDU0OF0sXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWRiMzcwNTQ4XSB7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjgpO1xcbiAgb3BhY2l0eTogMTtcXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxufVxcbi5hZGRpdGlvbmFsLWxpbmtbZGF0YS12LWRiMzcwNTQ4XSB7XFxuICBmb250LXNpemU6IDFlbTtcXG4gIG1hcmdpbi10b3A6IDUwcHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi1kYjM3MDU0OF0sIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtZGIzNzA1NDhdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi1kYjM3MDU0OF06aG92ZXIsIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtZGIzNzA1NDhdOmhvdmVyIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xcbi5mb3JtW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtZGIzNzA1NDhdIHtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XFxufVxcbi5mb3JtIGlucHV0W2RhdGEtdi1kYjM3MDU0OF0sIC5mb3JtIHRleHRhcmVhW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgbWluLXdpZHRoOiAxMDAlO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtZGIzNzA1NDhdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XFxuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcXG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYnV0dG9uW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtZGIzNzA1NDhdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtIC5pbnB1dC13cmFwcGVyIC5lcnJvci1tZXNzYWdlW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGJvdHRvbTogMDtcXG59XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtZGIzNzA1NDhdIHtcXG4gICAgcGFkZGluZzogMTRweCAzMnB4O1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybVtkYXRhLXYtZGIzNzA1NDhdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtIC5zdWJtaXQtYnV0dG9uW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1kYjM3MDU0OF0sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1kYjM3MDU0OF0sXFxuICBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtZGIzNzA1NDhdLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1kYjM3MDU0OF0sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmVbZGF0YS12LWRiMzcwNTQ4XSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5mb3JtIC5pbnB1dC1oZWxwW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtZGIzNzA1NDhdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5mb3JtIC5pbmxpbmUtd3JhcHBlciAuc3dpdGNoLWxhYmVsIC5pbnB1dC1sYWJlbFtkYXRhLXYtZGIzNzA1NDhdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1kYjM3MDU0OF0sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1kYjM3MDU0OF0sXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWRiMzcwNTQ4XSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1kYjM3MDU0OF0sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgICBib3JkZXItY29sb3I6ICMxZTIwMjQ7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtZGIzNzA1NDhdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1kYjM3MDU0OF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1kYjM3MDU0OF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LWRiMzcwNTQ4XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWRiMzcwNTQ4XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWRiMzcwNTQ4XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1kYjM3MDU0OF06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1kYjM3MDU0OF06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWRiMzcwNTQ4XTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1kYjM3MDU0OF06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1kYjM3MDU0OF06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1kYjM3MDU0OF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1kYjM3MDU0OF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtZGIzNzA1NDhdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LWRiMzcwNTQ4XTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1kYjM3MDU0OF06OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1kYjM3MDU0OF06OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWRiMzcwNTQ4XTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1kYjM3MDU0OF06OnBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2Rpc2FibGVkXVtkYXRhLXYtZGIzNzA1NDhdLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWRiMzcwNTQ4XSxcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWRiMzcwNTQ4XSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtZGIzNzA1NDhdLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWRiMzcwNTQ4XSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGNvbG9yOiByZ2JhKDEyNSwgMTMzLCAxNDAsIDAuOCk7XFxuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2JhKDEyNSwgMTMzLCAxNDAsIDAuOCk7XFxufVxcbi5wb3B1cC13cmFwcGVyIHRleHRhcmVhW2RhdGEtdi1kYjM3MDU0OF0sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1kYjM3MDU0OF0sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWRiMzcwNTQ4XSxcXG4gIC5wb3B1cC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1kYjM3MDU0OF0sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1kYjM3MDU0OF0ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMjUyNzJjO1xcbn1cXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2Rpdicse2F0dHJzOntcImlkXCI6XCJzaW5nbGUtcGFnZVwifX0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInNtYWxsLXdpZHRoXCIsYXR0cnM6e1wiaWRcIjpcInBhZ2UtY29udGVudFwifX0sW19jKCdNb2JpbGVIZWFkZXInLHthdHRyczp7XCJ0aXRsZVwiOl92bS4kcm91dGVyLmN1cnJlbnRSb3V0ZS5tZXRhLnRpdGxlfX0pLF92bS5fdihcIiBcIiksX2MoJ1BhZ2VIZWFkZXInLHthdHRyczp7XCJjYW4tYmFja1wiOnRydWUsXCJ0aXRsZVwiOl92bS4kcm91dGVyLmN1cnJlbnRSb3V0ZS5tZXRhLnRpdGxlfX0pLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY29udGVudC1wYWdlXCJ9LFtfYygnVmFsaWRhdGlvbk9ic2VydmVyJyx7cmVmOlwiY3JlYXRlVXNlclwiLHN0YXRpY0NsYXNzOlwiZm9ybSBibG9jay1mb3JtXCIsYXR0cnM6e1widGFnXCI6XCJmb3JtXCJ9LG9uOntcInN1Ym1pdFwiOmZ1bmN0aW9uKCRldmVudCl7JGV2ZW50LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIF92bS5jcmVhdGVVc2VyKCRldmVudCl9fSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBpbnZhbGlkID0gcmVmLmludmFsaWQ7XG5yZXR1cm4gW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImZvcm0tZ3JvdXBcIn0sW19jKCdGb3JtTGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgnYWRtaW5fcGFnZV91c2VyLmNyZWF0ZV91c2VyLmdyb3VwX2RldGFpbHMnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV9yZWdpc3RyYXRpb24ubGFiZWxfZW1haWwnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcIkVtYWlsXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS51c2VyLmVtYWlsKSxleHByZXNzaW9uOlwidXNlci5lbWFpbFwifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJwbGFjZWhvbGRlclwiOl92bS4kdCgnYWRtaW5fcGFnZV91c2VyLmNyZWF0ZV91c2VyLmxhYmVsX2VtYWlsJyksXCJ0eXBlXCI6XCJlbWFpbFwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0udXNlci5lbWFpbCl9LG9uOntcImlucHV0XCI6ZnVuY3Rpb24oJGV2ZW50KXtpZigkZXZlbnQudGFyZ2V0LmNvbXBvc2luZyl7IHJldHVybjsgfV92bS4kc2V0KF92bS51c2VyLCBcImVtYWlsXCIsICRldmVudC50YXJnZXQudmFsdWUpfX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoXCJQbGFuOlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIixcIm5hbWVcIjpcIlBsYW5cIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ1NlbGVjdElucHV0Jyx7YXR0cnM6e1wiZGVmYXVsdFwiOl92bS51c2VyLmNvdW50cnksXCJvcHRpb25zXCI6X3ZtLnBsYW5zLFwicGxhY2Vob2xkZXJcIjpcIlZ5YmVydGUgcGxhblwiLFwiaXNFcnJvclwiOmVycm9yc1swXX0sbW9kZWw6e3ZhbHVlOihfdm0udXNlci5wbGFuKSxjYWxsYmFjazpmdW5jdGlvbiAoJCR2KSB7X3ZtLiRzZXQoX3ZtLnVzZXIsIFwicGxhblwiLCAkJHYpfSxleHByZXNzaW9uOlwidXNlci5wbGFuXCJ9fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ0Zvcm1MYWJlbCcse3N0YXRpY0NsYXNzOlwibXQtNzBcIn0sW192bS5fdihfdm0uX3MoX3ZtLiR0KCd1c2VyX3NldHRpbmdzLnRpdGxlX2JpbGxpbmcnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoXCJJQ08gKHZvbGl0ZWxuZSk6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcIklDT1wifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnaW5wdXQnLHtkaXJlY3RpdmVzOlt7bmFtZTpcIm1vZGVsXCIscmF3TmFtZTpcInYtbW9kZWxcIix2YWx1ZTooX3ZtLnVzZXIuaWNvKSxleHByZXNzaW9uOlwidXNlci5pY29cIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpcIlR5cGUgSUNPXCIsXCJ0eXBlXCI6XCJ0ZXh0XCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS51c2VyLmljbyl9LG9uOntcImlucHV0XCI6ZnVuY3Rpb24oJGV2ZW50KXtpZigkZXZlbnQudGFyZ2V0LmNvbXBvc2luZyl7IHJldHVybjsgfV92bS4kc2V0KF92bS51c2VyLCBcImljb1wiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKF92bS5mdWxsRGV0YWlscyk/X2MoJ3NtYWxsJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC1oZWxwXCJ9LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhfdm0uZnVsbERldGFpbHMpK1wiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KFwiTmFtZTpcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwibmFtZVwiOlwiVXNlciBOYW1lXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS51c2VyLm5hbWUpLGV4cHJlc3Npb246XCJ1c2VyLm5hbWVcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ2FkbWluX3BhZ2VfdXNlci5jcmVhdGVfdXNlci5sYWJlbF9uYW1lJyksXCJ0eXBlXCI6XCJ0ZXh0XCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS51c2VyLm5hbWUpfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0udXNlciwgXCJuYW1lXCIsICRldmVudC50YXJnZXQudmFsdWUpfX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgndXNlcl9zZXR0aW5ncy5hZGRyZXNzJykpK1wiOlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIixcIm5hbWVcIjpcIkFkZHJlc3NcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS51c2VyLmFkZHJlc3MpLGV4cHJlc3Npb246XCJ1c2VyLmFkZHJlc3NcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ3VzZXJfc2V0dGluZ3MuYWRkcmVzc19wbGFjJyksXCJ0eXBlXCI6XCJ0ZXh0XCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS51c2VyLmFkZHJlc3MpfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0udXNlciwgXCJhZGRyZXNzXCIsICRldmVudC50YXJnZXQudmFsdWUpfX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJ3cmFwcGVyLWlubGluZVwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3VzZXJfc2V0dGluZ3MuY2l0eScpKStcIjpcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCIsXCJuYW1lXCI6XCJDaXR5XCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0udXNlci5jaXR5KSxleHByZXNzaW9uOlwidXNlci5jaXR5XCJ9XSxzdGF0aWNDbGFzczpcImZvY3VzLWJvcmRlci10aGVtZVwiLGNsYXNzOnsnaXMtZXJyb3InOiBlcnJvcnNbMF19LGF0dHJzOntcInBsYWNlaG9sZGVyXCI6X3ZtLiR0KCd1c2VyX3NldHRpbmdzLmNpdHlfcGxhYycpLFwidHlwZVwiOlwidGV4dFwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0udXNlci5jaXR5KX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLnVzZXIsIFwiY2l0eVwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3VzZXJfc2V0dGluZ3MucG9zdGFsX2NvZGUnKSkrXCI6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcInJ1bGVzXCI6XCJyZXF1aXJlZFwiLFwibmFtZVwiOlwiUG9zdGFsIENvZGVcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS51c2VyLnBvc3RhbF9jb2RlKSxleHByZXNzaW9uOlwidXNlci5wb3N0YWxfY29kZVwifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJwbGFjZWhvbGRlclwiOl92bS4kdCgndXNlcl9zZXR0aW5ncy5wb3N0YWxfY29kZV9wbGFjJyksXCJ0eXBlXCI6XCJ0ZXh0XCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS51c2VyLnBvc3RhbF9jb2RlKX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLnVzZXIsIFwicG9zdGFsX2NvZGVcIiwgJGV2ZW50LnRhcmdldC52YWx1ZSl9fX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKV0pLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3VzZXJfc2V0dGluZ3MuY291bnRyeScpKStcIjpcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCIsXCJuYW1lXCI6XCJDb3VudHJ5XCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdTZWxlY3RJbnB1dCcse2F0dHJzOntcImRlZmF1bHRcIjpfdm0udXNlci5jb3VudHJ5LFwib3B0aW9uc1wiOl92bS5jb3VudHJpZXMsXCJwbGFjZWhvbGRlclwiOl92bS4kdCgndXNlcl9zZXR0aW5ncy5jb3VudHJ5X3BsYWMnKSxcImlzRXJyb3JcIjplcnJvcnNbMF19LG1vZGVsOnt2YWx1ZTooX3ZtLnVzZXIuY291bnRyeSksY2FsbGJhY2s6ZnVuY3Rpb24gKCQkdikge192bS4kc2V0KF92bS51c2VyLCBcImNvdW50cnlcIiwgJCR2KX0sZXhwcmVzc2lvbjpcInVzZXIuY291bnRyeVwifX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCd1c2VyX3NldHRpbmdzLnN0YXRlJykpK1wiOlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIixcIm5hbWVcIjpcIlN0YXRlXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0udXNlci5zdGF0ZSksZXhwcmVzc2lvbjpcInVzZXIuc3RhdGVcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ3VzZXJfc2V0dGluZ3Muc3RhdGVfcGxhYycpLFwidHlwZVwiOlwidGV4dFwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0udXNlci5zdGF0ZSl9LG9uOntcImlucHV0XCI6ZnVuY3Rpb24oJGV2ZW50KXtpZigkZXZlbnQudGFyZ2V0LmNvbXBvc2luZyl7IHJldHVybjsgfV92bS4kc2V0KF92bS51c2VyLCBcInN0YXRlXCIsICRldmVudC50YXJnZXQudmFsdWUpfX19KSxfdm0uX3YoXCIgXCIpLF9jKCdzbWFsbCcse3N0YXRpY0NsYXNzOlwiaW5wdXQtaGVscFwifSxbX3ZtLl92KFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0ZSwgY291bnR5LCBwcm92aW5jZSwgb3IgcmVnaW9uLlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIildKSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgndXNlcl9zZXR0aW5ncy5waG9uZV9udW1iZXInKSkrXCIgKHZvbGl0ZWxuZSk6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcIlBob25lIE51bWJlclwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnaW5wdXQnLHtkaXJlY3RpdmVzOlt7bmFtZTpcIm1vZGVsXCIscmF3TmFtZTpcInYtbW9kZWxcIix2YWx1ZTooX3ZtLnVzZXIucGhvbmVfbnVtYmVyKSxleHByZXNzaW9uOlwidXNlci5waG9uZV9udW1iZXJcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ3VzZXJfc2V0dGluZ3MucGhvbmVfbnVtYmVyX3BsYWMnKSxcInR5cGVcIjpcInRleHRcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLnVzZXIucGhvbmVfbnVtYmVyKX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLnVzZXIsIFwicGhvbmVfbnVtYmVyXCIsICRldmVudC50YXJnZXQudmFsdWUpfX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KV0sMSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiZm9ybS1ncm91cFwifSxbX2MoJ0J1dHRvbkJhc2UnLHthdHRyczp7XCJkaXNhYmxlZFwiOl92bS5pc0xvYWRpbmcsXCJsb2FkaW5nXCI6X3ZtLmlzTG9hZGluZyxcImJ1dHRvbi1zdHlsZVwiOlwidGhlbWVcIixcInR5cGVcIjpcInN1Ym1pdFwifX0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhfdm0uJHQoJ2FkbWluX3BhZ2VfdXNlci5jcmVhdGVfdXNlci5zdWJtaXQnKSkrXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiKV0pXSwxKV19fV0pfSldLDEpXSwxKV0pfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBpZD1cInNpbmdsZS1wYWdlXCI+XG4gICAgICAgIDxkaXYgaWQ9XCJwYWdlLWNvbnRlbnRcIiBjbGFzcz1cInNtYWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8TW9iaWxlSGVhZGVyIDp0aXRsZT1cIiRyb3V0ZXIuY3VycmVudFJvdXRlLm1ldGEudGl0bGVcIiAvPlxuICAgICAgICAgICAgPFBhZ2VIZWFkZXIgOmNhbi1iYWNrPVwidHJ1ZVwiIDp0aXRsZT1cIiRyb3V0ZXIuY3VycmVudFJvdXRlLm1ldGEudGl0bGVcIiAvPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1wYWdlXCI+XG4gICAgICAgICAgICAgICAgPFZhbGlkYXRpb25PYnNlcnZlciBAc3VibWl0LnByZXZlbnQ9XCJjcmVhdGVVc2VyXCIgcmVmPVwiY3JlYXRlVXNlclwiIHYtc2xvdD1cInsgaW52YWxpZCB9XCIgdGFnPVwiZm9ybVwiIGNsYXNzPVwiZm9ybSBibG9jay1mb3JtXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTGFiZWw+e3sgJHQoJ2FkbWluX3BhZ2VfdXNlci5jcmVhdGVfdXNlci5ncm91cF9kZXRhaWxzJykgfX08L0Zvcm1MYWJlbD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLUVtYWlsLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgncGFnZV9yZWdpc3RyYXRpb24ubGFiZWxfZW1haWwnKSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIG5hbWU9XCJFbWFpbFwiIHJ1bGVzPVwicmVxdWlyZWRcIiB2LXNsb3Q9XCJ7IGVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwidXNlci5lbWFpbFwiIDpwbGFjZWhvbGRlcj1cIiR0KCdhZG1pbl9wYWdlX3VzZXIuY3JlYXRlX3VzZXIubGFiZWxfZW1haWwnKVwiIHR5cGU9XCJlbWFpbFwiIGNsYXNzPVwiZm9jdXMtYm9yZGVyLXRoZW1lXCIgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlBsYW46PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgcnVsZXM9XCJyZXF1aXJlZFwiIG5hbWU9XCJQbGFuXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0SW5wdXQgdi1tb2RlbD1cInVzZXIucGxhblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ZGVmYXVsdD1cInVzZXIuY291bnRyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6b3B0aW9ucz1cInBsYW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVnliZXJ0ZSBwbGFuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppc0Vycm9yPVwiZXJyb3JzWzBdXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsIGNsYXNzPVwibXQtNzBcIj57eyAkdCgndXNlcl9zZXR0aW5ncy50aXRsZV9iaWxsaW5nJykgfX08L0Zvcm1MYWJlbD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLU5hbWUtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPklDTyAodm9saXRlbG5lKTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiBuYW1lPVwiSUNPXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdi1tb2RlbD1cInVzZXIuaWNvXCIgcGxhY2Vob2xkZXI9XCJUeXBlIElDT1wiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIiA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCB2LWlmPVwiZnVsbERldGFpbHNcIiBjbGFzcz1cImlucHV0LWhlbHBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZ1bGxEZXRhaWxzIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLU5hbWUtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPk5hbWU6PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgbmFtZT1cIlVzZXIgTmFtZVwiIHJ1bGVzPVwicmVxdWlyZWRcIiB2LXNsb3Q9XCJ7IGVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwidXNlci5uYW1lXCIgOnBsYWNlaG9sZGVyPVwiJHQoJ2FkbWluX3BhZ2VfdXNlci5jcmVhdGVfdXNlci5sYWJlbF9uYW1lJylcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9jdXMtYm9yZGVyLXRoZW1lXCIgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ3VzZXJfc2V0dGluZ3MuYWRkcmVzcycpIH19OjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIHJ1bGVzPVwicmVxdWlyZWRcIiBuYW1lPVwiQWRkcmVzc1wiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJ1c2VyLmFkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwiJHQoJ3VzZXJfc2V0dGluZ3MuYWRkcmVzc19wbGFjJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyLWlubGluZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgndXNlcl9zZXR0aW5ncy5jaXR5JykgfX06PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIHJ1bGVzPVwicmVxdWlyZWRcIiBuYW1lPVwiQ2l0eVwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwidXNlci5jaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCIkdCgndXNlcl9zZXR0aW5ncy5jaXR5X3BsYWMnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9jdXMtYm9yZGVyLXRoZW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ3VzZXJfc2V0dGluZ3MucG9zdGFsX2NvZGUnKSB9fTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgcnVsZXM9XCJyZXF1aXJlZFwiIG5hbWU9XCJQb3N0YWwgQ29kZVwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwidXNlci5wb3N0YWxfY29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwiJHQoJ3VzZXJfc2V0dGluZ3MucG9zdGFsX2NvZGVfcGxhYycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgndXNlcl9zZXR0aW5ncy5jb3VudHJ5JykgfX06PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgcnVsZXM9XCJyZXF1aXJlZFwiIG5hbWU9XCJDb3VudHJ5XCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0SW5wdXQgdi1tb2RlbD1cInVzZXIuY291bnRyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ZGVmYXVsdD1cInVzZXIuY291bnRyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6b3B0aW9ucz1cImNvdW50cmllc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCIkdCgndXNlcl9zZXR0aW5ncy5jb3VudHJ5X3BsYWMnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6aXNFcnJvcj1cImVycm9yc1swXVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ3VzZXJfc2V0dGluZ3Muc3RhdGUnKSB9fTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiBydWxlcz1cInJlcXVpcmVkXCIgbmFtZT1cIlN0YXRlXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdi1tb2RlbD1cInVzZXIuc3RhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwiJHQoJ3VzZXJfc2V0dGluZ3Muc3RhdGVfcGxhYycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9jdXMtYm9yZGVyLXRoZW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiaW5wdXQtaGVscFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdGUsIGNvdW50eSwgcHJvdmluY2UsIG9yIHJlZ2lvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgndXNlcl9zZXR0aW5ncy5waG9uZV9udW1iZXInKSB9fSAodm9saXRlbG5lKTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiBuYW1lPVwiUGhvbmUgTnVtYmVyXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdi1tb2RlbD1cInVzZXIucGhvbmVfbnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1cIiR0KCd1c2VyX3NldHRpbmdzLnBob25lX251bWJlcl9wbGFjJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uQmFzZSA6ZGlzYWJsZWQ9XCJpc0xvYWRpbmdcIiA6bG9hZGluZz1cImlzTG9hZGluZ1wiIGJ1dHRvbi1zdHlsZT1cInRoZW1lXCIgdHlwZT1cInN1Ym1pdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0KCdhZG1pbl9wYWdlX3VzZXIuY3JlYXRlX3VzZXIuc3VibWl0JykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uQmFzZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uT2JzZXJ2ZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCB7VmFsaWRhdGlvblByb3ZpZGVyLCBWYWxpZGF0aW9uT2JzZXJ2ZXJ9IGZyb20gJ3ZlZS12YWxpZGF0ZS9kaXN0L3ZlZS12YWxpZGF0ZS5mdWxsJ1xuICAgIGltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0J1xuICAgIGltcG9ydCBJbWFnZUlucHV0IGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW1hZ2VJbnB1dCdcbiAgICBpbXBvcnQgRm9ybUxhYmVsIGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsJ1xuICAgIGltcG9ydCBNb2JpbGVIZWFkZXIgZnJvbSAnQC9jb21wb25lbnRzL01vYmlsZS9Nb2JpbGVIZWFkZXInXG4gICAgaW1wb3J0IFNlY3Rpb25UaXRsZSBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL1NlY3Rpb25UaXRsZSdcbiAgICBpbXBvcnQgQnV0dG9uQmFzZSBmcm9tICdAL2NvbXBvbmVudHMvRmlsZXNWaWV3L0J1dHRvbkJhc2UnXG4gICAgaW1wb3J0IFBhZ2VIZWFkZXIgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9QYWdlSGVhZGVyJ1xuICAgIGltcG9ydCB7cmVxdWlyZWR9IGZyb20gJ3ZlZS12YWxpZGF0ZS9kaXN0L3J1bGVzJ1xuICAgIGltcG9ydCB7bWFwR2V0dGVyc30gZnJvbSAndnVleCdcbiAgICBpbXBvcnQge2V2ZW50c30gZnJvbSBcIkAvYnVzXCJcbiAgICBpbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnXG4gICAgaW1wb3J0IHtkZWJvdW5jZX0gZnJvbSBcImxvZGFzaFwiO1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCcsXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIFZhbGlkYXRpb25Qcm92aWRlcixcbiAgICAgICAgICAgIFZhbGlkYXRpb25PYnNlcnZlcixcbiAgICAgICAgICAgIFNlY3Rpb25UaXRsZSxcbiAgICAgICAgICAgIE1vYmlsZUhlYWRlcixcbiAgICAgICAgICAgIFNlbGVjdElucHV0LFxuICAgICAgICAgICAgQnV0dG9uQmFzZSxcbiAgICAgICAgICAgIEltYWdlSW5wdXQsXG4gICAgICAgICAgICBQYWdlSGVhZGVyLFxuICAgICAgICAgICAgRm9ybUxhYmVsLFxuICAgICAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbXB1dGVkOiB7XG4gICAgICAgICAgICAuLi5tYXBHZXR0ZXJzKFtcbiAgICAgICAgICAgICAgICAnY291bnRyaWVzJ1xuICAgICAgICAgICAgXSksXG4gICAgICAgIH0sXG4gICAgICAgIHdhdGNoOiB7XG4gICAgICAgICAgICAndXNlci5pY28nOiBmdW5jdGlvbiAodmFsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRDb21wYW55RGV0YWlscyh2YWwpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgcGxhbnM6IFtdLFxuICAgICAgICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgaWNvOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJycsXG4gICAgICAgICAgICAgICAgICAgIGVtYWlsOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgYWRkcmVzczogJycsXG4gICAgICAgICAgICAgICAgICAgIGNpdHk6ICcnLFxuICAgICAgICAgICAgICAgICAgICBwb3N0YWxfY29kZTogJycsXG4gICAgICAgICAgICAgICAgICAgIGNvdW50cnk6ICdDWicsXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiAnxIxlc2vDoSBSZXB1Ymxpa2EnLFxuICAgICAgICAgICAgICAgICAgICBwaG9uZV9udW1iZXI6ICcnLFxuICAgICAgICAgICAgICAgICAgICBwbGFuOiAnJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGZ1bGxEZXRhaWxzOiAnJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBtZXRob2RzOiB7XG4gICAgICAgICAgICBhc3luYyBjcmVhdGVVc2VyKCkge1xuXG4gICAgICAgICAgICAgICAgLy8gVmFsaWRhdGUgZmllbGRzXG4gICAgICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9IGF3YWl0IHRoaXMuJHJlZnMuY3JlYXRlVXNlci52YWxpZGF0ZSgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAvLyBTdGFydCBsb2FkaW5nXG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlXG5cbiAgICAgICAgICAgICAgICBheGlvc1xuICAgICAgICAgICAgICAgICAgICAucG9zdCgnL2FwaS9vYXNpcy9hZG1pbi91c2Vycy9jcmVhdGUtb3JkZXInLCB0aGlzLnVzZXIpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2hvdyB0b2FzdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudHMuJGVtaXQoJ3RvYXN0ZXInLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuJHQoJ3RvYXN0ZXIuY3JlYXRlZF91c2VyJyksXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBHbyB0byBVc2VyIHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHtuYW1lOiAnVXNlckRldGFpbCcsIHBhcmFtczoge2lkOiByZXNwb25zZS5kYXRhLmRhdGEuaWR9fSlcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVmFsaWRhdGlvbiBlcnJvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5yZXNwb25zZS5zdGF0dXMgPT0gNDIyKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2UuZGF0YS5lcnJvcnNbJ2VtYWlsJ10pIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNyZWF0ZVVzZXIuc2V0RXJyb3JzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbWFpbCc6IGVycm9yLnJlc3BvbnNlLmRhdGEuZXJyb3JzWydlbWFpbCddXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNjcm9sbCB0b3BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NpbmdsZS1wYWdlJykuc2Nyb2xsVG9wID0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudHMuJGVtaXQoJ2FsZXJ0Om9wZW4nLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLiR0KCdwb3B1cF9lcnJvci50aXRsZScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLiR0KCdwb3B1cF9lcnJvci5tZXNzYWdlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldENvbXBhbnlEZXRhaWxzOiBkZWJvdW5jZShmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBheGlvcy5nZXQoJy9hcGkvb2FzaXMvYWRtaW4vY29tcGFueS1kZXRhaWxzP2ljbz0nICsgdmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXNlci5uYW1lID0gcmVzcG9uc2UuZGF0YS5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXIuYWRkcmVzcyA9IHJlc3BvbnNlLmRhdGEuYWRkcl9zdHJlZXRuclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyLmNpdHkgPSByZXNwb25zZS5kYXRhLmNpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXNlci5wb3N0YWxfY29kZSA9IHJlc3BvbnNlLmRhdGEuYWRkcl96aXBcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZnVsbERldGFpbHMgPSByZXNwb25zZS5kYXRhLm5hbWUgKyAnICcgKyByZXNwb25zZS5kYXRhLmFkZHJfZnVsbFxuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNyZWF0ZVVzZXIucmVzZXQoKVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnJlc3BvbnNlLnN0YXR1cyA9PSA0MDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNyZWF0ZVVzZXIuc2V0RXJyb3JzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lDTyc6ICdOacSNIHNhIG5lbmHFoWxvIDooJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSwgMzAwKSxcbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlZCgpIHtcbiAgICAgICAgICAgIGF4aW9zLmdldCgnL2FwaS9hZG1pbi9wbGFucycpXG4gICAgICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5kYXRhLmRhdGEuZm9yRWFjaChwbGFuID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGxhbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHBsYW4uZGF0YS5hdHRyaWJ1dGVzLm5hbWUgKyAnIC0gJyArIHBsYW4uZGF0YS5hdHRyaWJ1dGVzLmNhcGFjaXR5X2Zvcm1hdHRlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcGxhbi5kYXRhLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fZm9ybXMnO1xuPC9zdHlsZT5cbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVXNlckNyZWF0ZU9yZGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VyQ3JlYXRlT3JkZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9Vc2VyQ3JlYXRlT3JkZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWRiMzcwNTQ4JnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL1VzZXJDcmVhdGVPcmRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL1VzZXJDcmVhdGVPcmRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vVXNlckNyZWF0ZU9yZGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWRiMzcwNTQ4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiZGIzNzA1NDhcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi50ZXh0LWxhYmVsW2RhdGEtdi02ZDc5OWNmMl0ge1xcbiAgZm9udC1zaXplOiAwLjc1ZW07XFxuICBjb2xvcjogI0FGQUZBRjtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4udGV4dC1sYWJlbFtkYXRhLXYtNmQ3OTljZjJdIHtcXG4gICAgY29sb3I6ICMwMEJDN0U7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VyQ3JlYXRlT3JkZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9ZGIzNzA1NDgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VyQ3JlYXRlT3JkZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9ZGIzNzA1NDgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==