mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-05-21 20:44:42 +00:00
2 lines
57 KiB
JavaScript
Vendored
2 lines
57 KiB
JavaScript
Vendored
(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{"227/":function(a,t,n){(a.exports=n("I1BE")(!1)).push([a.i,'.form.inline-form[data-v-0ac08f2f] {\n display: flex;\n position: relative;\n justify-content: center;\n margin: 0 auto;\n}\n.form.inline-form .input-wrapper[data-v-0ac08f2f] {\n position: relative;\n}\n.form.inline-form .input-wrapper .error-message[data-v-0ac08f2f] {\n position: absolute;\n left: 0;\n}\n.form.block-form.create-new-password .block-wrapper label[data-v-0ac08f2f] {\n width: 280px;\n}\n.form.block-form .block-wrapper[data-v-0ac08f2f] {\n display: flex;\n align-items: center;\n margin-top: 25px;\n justify-content: center;\n}\n.form.block-form .block-wrapper[data-v-0ac08f2f]:first-child {\n margin-top: 0;\n}\n.form.block-form .block-wrapper label[data-v-0ac08f2f] {\n white-space: nowrap;\n font-size: 1.125em;\n font-weight: 700;\n padding-right: 20px;\n width: 200px;\n text-align: right !important;\n color: #1B2539;\n text-align: right;\n}\n.form.block-form .button[data-v-0ac08f2f] {\n margin-top: 50px;\n}\n.input-wrapper .error-message[data-v-0ac08f2f] {\n font-size: 0.875em;\n color: #fd397a;\n padding-top: 5px;\n display: block;\n text-align: left;\n}\ntextarea[data-v-0ac08f2f] {\n width: 100%;\n}\ntextarea[data-v-0ac08f2f],\ninput[type="password"][data-v-0ac08f2f],\ninput[type="text"][data-v-0ac08f2f],\ninput[type="email"][data-v-0ac08f2f] {\n background: #f4f5f6;\n border: 1px solid transparent;\n transition: 0.15s 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}\ntextarea.is-error[data-v-0ac08f2f],\ninput[type="password"].is-error[data-v-0ac08f2f],\ninput[type="text"].is-error[data-v-0ac08f2f],\ninput[type="email"].is-error[data-v-0ac08f2f] {\n border-color: #fd397a;\n}\ntextarea[data-v-0ac08f2f]::-webkit-input-placeholder, input[type="password"][data-v-0ac08f2f]::-webkit-input-placeholder, input[type="text"][data-v-0ac08f2f]::-webkit-input-placeholder, input[type="email"][data-v-0ac08f2f]::-webkit-input-placeholder {\n color: #A4ADB6;\n font-size: 1em;\n}\ntextarea[data-v-0ac08f2f]::-moz-placeholder, input[type="password"][data-v-0ac08f2f]::-moz-placeholder, input[type="text"][data-v-0ac08f2f]::-moz-placeholder, input[type="email"][data-v-0ac08f2f]::-moz-placeholder {\n color: #A4ADB6;\n font-size: 1em;\n}\ntextarea[data-v-0ac08f2f]:-ms-input-placeholder, input[type="password"][data-v-0ac08f2f]:-ms-input-placeholder, input[type="text"][data-v-0ac08f2f]:-ms-input-placeholder, input[type="email"][data-v-0ac08f2f]:-ms-input-placeholder {\n color: #A4ADB6;\n font-size: 1em;\n}\ntextarea[data-v-0ac08f2f]::-ms-input-placeholder, input[type="password"][data-v-0ac08f2f]::-ms-input-placeholder, input[type="text"][data-v-0ac08f2f]::-ms-input-placeholder, input[type="email"][data-v-0ac08f2f]::-ms-input-placeholder {\n color: #A4ADB6;\n font-size: 1em;\n}\ntextarea[data-v-0ac08f2f]::placeholder,\ninput[type="password"][data-v-0ac08f2f]::placeholder,\ninput[type="text"][data-v-0ac08f2f]::placeholder,\ninput[type="email"][data-v-0ac08f2f]::placeholder {\n color: #A4ADB6;\n font-size: 1em;\n}\ntextarea[disabled][data-v-0ac08f2f],\ninput[type="password"][disabled][data-v-0ac08f2f],\ninput[type="text"][disabled][data-v-0ac08f2f],\ninput[type="email"][disabled][data-v-0ac08f2f] {\n color: #A4ADB6;\n cursor: not-allowed;\n}\n.additional-link[data-v-0ac08f2f] {\n font-size: 1em;\n margin-top: 50px;\n display: block;\n}\n.additional-link b[data-v-0ac08f2f], .additional-link a[data-v-0ac08f2f] {\n cursor: pointer;\n}\n.additional-link b[data-v-0ac08f2f]:hover, .additional-link a[data-v-0ac08f2f]:hover {\n text-decoration: underline;\n}\n@media only screen and (max-width: 960px) {\n.form .button[data-v-0ac08f2f] {\n margin-top: 20px;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n}\n.form input[data-v-0ac08f2f], .form textarea[data-v-0ac08f2f] {\n width: 100%;\n min-width: 100%;\n}\n.form.block-form .block-wrapper[data-v-0ac08f2f] {\n display: block;\n}\n.form.block-form .block-wrapper label[data-v-0ac08f2f] {\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-0ac08f2f] {\n margin-top: 25px;\n margin-left: 0;\n margin-right: 0;\n}\n.form.inline-form[data-v-0ac08f2f] {\n display: block;\n}\n.form.inline-form .input-wrapper .error-message[data-v-0ac08f2f] {\n position: relative;\n bottom: 0;\n}\n.form .button[data-v-0ac08f2f] {\n padding: 14px 32px;\n}\ntextarea[data-v-0ac08f2f],\n input[type="password"][data-v-0ac08f2f],\n input[type="text"][data-v-0ac08f2f],\n input[type="email"][data-v-0ac08f2f] {\n padding: 14px 20px;\n}\n}\n@media (prefers-color-scheme: dark) {\n.form.block-form .block-wrapper label[data-v-0ac08f2f] {\n color: #bec6cf;\n}\ntextarea[data-v-0ac08f2f],\n input[type="password"][data-v-0ac08f2f],\n input[type="text"][data-v-0ac08f2f],\n input[type="email"][data-v-0ac08f2f] {\n background: #1e2024;\n color: #bec6cf;\n}\ntextarea[data-v-0ac08f2f]::-webkit-input-placeholder, input[type="password"][data-v-0ac08f2f]::-webkit-input-placeholder, input[type="text"][data-v-0ac08f2f]::-webkit-input-placeholder, input[type="email"][data-v-0ac08f2f]::-webkit-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-0ac08f2f]::-moz-placeholder, input[type="password"][data-v-0ac08f2f]::-moz-placeholder, input[type="text"][data-v-0ac08f2f]::-moz-placeholder, input[type="email"][data-v-0ac08f2f]::-moz-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-0ac08f2f]:-ms-input-placeholder, input[type="password"][data-v-0ac08f2f]:-ms-input-placeholder, input[type="text"][data-v-0ac08f2f]:-ms-input-placeholder, input[type="email"][data-v-0ac08f2f]:-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-0ac08f2f]::-ms-input-placeholder, input[type="password"][data-v-0ac08f2f]::-ms-input-placeholder, input[type="text"][data-v-0ac08f2f]::-ms-input-placeholder, input[type="email"][data-v-0ac08f2f]::-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-0ac08f2f]::placeholder,\n input[type="password"][data-v-0ac08f2f]::placeholder,\n input[type="text"][data-v-0ac08f2f]::placeholder,\n input[type="email"][data-v-0ac08f2f]::placeholder {\n color: #7d858c;\n}\ntextarea[disabled][data-v-0ac08f2f],\n input[type="password"][disabled][data-v-0ac08f2f],\n input[type="text"][disabled][data-v-0ac08f2f],\n input[type="email"][disabled][data-v-0ac08f2f] {\n color: #7d858c;\n}\n}\n.auth-logo-text[data-v-0ac08f2f] {\n font-size: 1.375em;\n font-weight: 800;\n margin-bottom: 40px;\n display: block;\n}\n.auth-form[data-v-0ac08f2f] {\n text-align: center;\n max-width: 600px;\n padding: 25px 20px;\n display: table-cell;\n vertical-align: middle;\n}\n.auth-form input[data-v-0ac08f2f] {\n min-width: 310px;\n}\n.auth-form .additional-link a[data-v-0ac08f2f] {\n font-weight: 700;\n text-decoration: none;\n}\n.auth-form .user-avatar[data-v-0ac08f2f] {\n width: 100px;\n height: 100px;\n -o-object-fit: cover;\n object-fit: cover;\n margin-bottom: 20px;\n border-radius: 8px;\n box-shadow: 0 10px 30px rgba(25, 54, 60, 0.2);\n}\n.auth-form .logo[data-v-0ac08f2f] {\n width: 120px;\n margin-bottom: 20px;\n}\n.auth-form h1[data-v-0ac08f2f] {\n font-size: 2.125em;\n font-weight: 800;\n line-height: 1.2;\n margin-bottom: 2px;\n color: #1B2539;\n}\n.auth-form h2[data-v-0ac08f2f] {\n font-size: 1.4375em;\n font-weight: 500;\n margin-bottom: 50px;\n color: #1B2539;\n}\n.auth-form .block-form[data-v-0ac08f2f] {\n margin-left: auto;\n margin-right: auto;\n}\n@media only screen and (min-width: 690px) and (max-width: 960px) {\n.auth-form[data-v-0ac08f2f] {\n padding-left: 20%;\n padding-right: 20%;\n}\n}\n@media only screen and (max-width: 690px) {\n.auth-form[data-v-0ac08f2f] {\n width: 100%;\n}\n.auth-form h1[data-v-0ac08f2f] {\n font-size: 1.875em;\n}\n.auth-form h2[data-v-0ac08f2f] {\n font-size: 1.3125em;\n}\n}\n@media only screen and (max-width: 490px) {\n.auth-form h1[data-v-0ac08f2f] {\n font-size: 1.375em;\n}\n.auth-form h2[data-v-0ac08f2f] {\n font-size: 1.125em;\n}\n.auth-form input[data-v-0ac08f2f] {\n min-width: initial;\n}\n.auth-form .additional-link[data-v-0ac08f2f] {\n font-size: 0.9375em;\n}\n}\n@media (prefers-color-scheme: dark) {\n.auth-form h1[data-v-0ac08f2f], .auth-form h2[data-v-0ac08f2f], .auth-form .additional-link[data-v-0ac08f2f] {\n color: #bec6cf;\n}\n}\n',""])},eLIo:function(a,t,n){"use strict";var e=n("m0sP");n.n(e).a},"l9/H":function(a,t,n){"use strict";n.r(t);var e=n("o0o1"),i=n.n(e),o=n("bDRN"),r=n("A5+z"),s=n("j8qy"),p=n("ASoH"),f=n("TJPC"),c=n("L2JU"),d=n("xCqy"),l=n("vDqi"),u=n.n(l);function m(a,t,n,e,i,o,r){try{var s=a[o](r),p=s.value}catch(a){return void n(a)}s.done?t(p):Promise.resolve(p).then(e,i)}function v(a){return function(){var t=this,n=arguments;return new Promise((function(e,i){var o=a.apply(t,n);function r(a){m(o,e,i,r,s,"next",a)}function s(a){m(o,e,i,r,s,"throw",a)}r(void 0)}))}}function g(a,t){var n=Object.keys(a);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(a);t&&(e=e.filter((function(t){return Object.getOwnPropertyDescriptor(a,t).enumerable}))),n.push.apply(n,e)}return n}function h(a,t,n){return t in a?Object.defineProperty(a,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):a[t]=n,a}var b={name:"SignIn",components:{AuthContentWrapper:o.a,ValidationProvider:r.ValidationProvider,ValidationObserver:r.ValidationObserver,AuthContent:s.a,AuthButton:p.a,required:f.a},computed:function(a){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){h(a,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(a,t,Object.getOwnPropertyDescriptor(n,t))}))}return a}({},Object(c.b)(["config"])),data:function(){return{isLoading:!1,checkedAccount:void 0,loginPassword:"",loginEmail:""}},methods:{goToAuthPage:function(a){this.$refs.auth.$children.forEach((function(t){t.isVisible=!1,t.$props.name===a&&(t.isVisible=!0)}))},logIn:function(){var a=this;return v(i.a.mark((function t(){return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,a.$refs.log_in.validate();case 2:if(t.sent){t.next=5;break}return t.abrupt("return");case 5:a.isLoading=!0,u.a.post("/api/user/check",{email:a.loginEmail}).then((function(t){a.isLoading=!1,a.checkedAccount=t.data,a.goToAuthPage("sign-in")})).catch((function(t){404==t.response.status&&a.$refs.log_in.setErrors({"E-Mail":[t.response.data]}),500==t.response.status&&d.a.$emit("alert:open",{emoji:"🤔",title:a.$t("popup_signup_error.title"),message:a.$t("popup_signup_error.message")}),a.isLoading=!1}));case 7:case"end":return t.stop()}}),t)})))()},singIn:function(){var a=this;return v(i.a.mark((function t(){return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,a.$refs.sign_in.validate();case 2:if(t.sent){t.next=5;break}return t.abrupt("return");case 5:a.isLoading=!0,u.a.post("/login",{email:a.loginEmail,password:a.loginPassword}).then((function(){a.isLoading=!1,a.$store.commit("SET_AUTHORIZED",!0),a.$router.push({name:"Files"})})).catch((function(t){400==t.response.status&&a.$refs.sign_in.setErrors({"User Password":[a.$t("validation_errors.incorrect_password")]}),a.isLoading=!1}));case 7:case"end":return t.stop()}}),t)})))()}},created:function(){this.$scrollTop(),this.$store.commit("PROCESSING_POPUP",void 0),this.loginEmail="howdy@hi5ve.digital",this.loginPassword="vuefilemanager"}},x=(n("eLIo"),n("KHd+")),w=Object(x.a)(b,(function(){var a=this,t=a.$createElement,n=a._self._c||t;return n("AuthContentWrapper",{ref:"auth"},[n("AuthContent",{attrs:{name:"log-in",visible:!0}},[a.config.app_logo?n("img",{staticClass:"logo",attrs:{src:a.$getImage(a.config.app_logo),alt:a.config.app_name}}):a._e(),a._v(" "),a.config.app_logo?a._e():n("b",{staticClass:"auth-logo-text"},[a._v(a._s(a.config.app_name))]),a._v(" "),n("h1",[a._v(a._s(a.$t("page_login.title")))]),a._v(" "),n("h2",[a._v(a._s(a.$t("page_login.subtitle")))]),a._v(" "),n("ValidationObserver",{ref:"log_in",staticClass:"form inline-form",attrs:{tag:"form"},on:{submit:function(t){return t.preventDefault(),a.logIn(t)}},scopedSlots:a._u([{key:"default",fn:function(t){t.invalid;return[n("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"E-Mail",rules:"required"},scopedSlots:a._u([{key:"default",fn:function(t){var e=t.errors;return[n("input",{directives:[{name:"model",rawName:"v-model",value:a.loginEmail,expression:"loginEmail"}],staticClass:"focus-border-theme",class:{"is-error":e[0]},attrs:{placeholder:a.$t("page_login.placeholder_email"),type:"email"},domProps:{value:a.loginEmail},on:{input:function(t){t.target.composing||(a.loginEmail=t.target.value)}}}),a._v(" "),e[0]?n("span",{staticClass:"error-message"},[a._v(a._s(e[0]))]):a._e()]}}],null,!0)}),a._v(" "),n("AuthButton",{attrs:{icon:"chevron-right",text:a.$t("page_login.button_next"),loading:a.isLoading,disabled:a.isLoading}})]}}])}),a._v(" "),a.config.userRegistration?n("span",{staticClass:"additional-link"},[a._v("\n "+a._s(a.$t("page_login.registration_text"))+"\n "),n("router-link",{staticClass:"text-theme",attrs:{to:{name:"SignUp"}}},[a._v("\n "+a._s(a.$t("page_login.registration_button"))+"\n ")])],1):a._e()],1),a._v(" "),n("AuthContent",{attrs:{name:"sign-in",visible:!1}},[a.checkedAccount?n("div",{staticClass:"user"},[n("img",{staticClass:"user-avatar",attrs:{src:a.checkedAccount.avatar,alt:a.checkedAccount.name}}),a._v(" "),n("h1",[a._v(a._s(a.$t("page_sign_in.title",{name:a.checkedAccount.name})))]),a._v(" "),n("h2",[a._v(a._s(a.$t("page_sign_in.subtitle")))])]):a._e(),a._v(" "),n("ValidationObserver",{ref:"sign_in",staticClass:"form inline-form",attrs:{tag:"form"},on:{submit:function(t){return t.preventDefault(),a.singIn(t)}},scopedSlots:a._u([{key:"default",fn:function(t){t.invalid;return[n("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"User Password",rules:"required"},scopedSlots:a._u([{key:"default",fn:function(t){var e=t.errors;return[n("input",{directives:[{name:"model",rawName:"v-model",value:a.loginPassword,expression:"loginPassword"}],staticClass:"focus-border-theme",class:{"is-error":e[0]},attrs:{placeholder:a.$t("page_sign_in.placeholder_password"),type:"password"},domProps:{value:a.loginPassword},on:{input:function(t){t.target.composing||(a.loginPassword=t.target.value)}}}),a._v(" "),e[0]?n("span",{staticClass:"error-message"},[a._v(a._s(e[0]))]):a._e()]}}],null,!0)}),a._v(" "),n("AuthButton",{attrs:{icon:"chevron-right",text:a.$t("page_sign_in.button_log_in"),loading:a.isLoading,disabled:a.isLoading}})]}}])}),a._v(" "),n("span",{staticClass:"additional-link"},[a._v(a._s(a.$t("page_sign_in.password_reset_text"))+"\n "),n("router-link",{staticClass:"text-theme",attrs:{to:{name:"ForgottenPassword"}}},[a._v("\n "+a._s(a.$t("page_sign_in.password_reset_button"))+"\n ")])],1)],1)],1)}),[],!1,null,"0ac08f2f",null);t.default=w.exports},m0sP:function(a,t,n){var e=n("227/");"string"==typeof e&&(e=[[a.i,e,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n("aET+")(e,i);e.locals&&(a.exports=e.locals)}}]);
|
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvQXV0aC9TaWduSW4udnVlP2U0ZGYiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL3ZpZXdzL0F1dGgvU2lnbkluLnZ1ZT9kNmJlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9BdXRoL1NpZ25Jbi52dWU/ZTFhNCIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL3ZpZXdzL0F1dGgvU2lnbkluLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvQXV0aC9TaWduSW4udnVlP2RhMmMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL3ZpZXdzL0F1dGgvU2lnbkluLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvQXV0aC9TaWduSW4udnVlPzBhMzMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInB1c2giLCJpIiwiY29tcG9uZW50IiwiX3ZtIiwidGhpcyIsIl9oIiwiJGNyZWF0ZUVsZW1lbnQiLCJfYyIsIl9zZWxmIiwicmVmIiwiYXR0cnMiLCJjb25maWciLCJzdGF0aWNDbGFzcyIsIiRnZXRJbWFnZSIsImFwcF9sb2dvIiwiYXBwX25hbWUiLCJfZSIsIl92IiwiX3MiLCIkdCIsIm9uIiwiJGV2ZW50IiwicHJldmVudERlZmF1bHQiLCJsb2dJbiIsInNjb3BlZFNsb3RzIiwiX3UiLCJrZXkiLCJmbiIsImludmFsaWQiLCJlcnJvcnMiLCJkaXJlY3RpdmVzIiwibmFtZSIsInJhd05hbWUiLCJ2YWx1ZSIsImV4cHJlc3Npb24iLCJjbGFzcyIsImRvbVByb3BzIiwidGFyZ2V0IiwiY29tcG9zaW5nIiwibG9naW5FbWFpbCIsImlzTG9hZGluZyIsImNoZWNrZWRBY2NvdW50IiwiYXZhdGFyIiwic2luZ0luIiwibG9naW5QYXNzd29yZCIsImNvbnRlbnQiLCJvcHRpb25zIiwidHJhbnNmb3JtIiwidW5kZWZpbmVkIiwibG9jYWxzIl0sIm1h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Z0JBQXFCQyxHQUVSLEVBQVEsT0FBUixDQUFtRUgsRUFBU0MsR0FFdEZELEVBQVFJLFNBQVFuRCxFQUFPQyxRQUFVOEMsRUFBUUkiLCJmaWxlIjoiY2h1bmtzL3NpZ24taW4uanM/aWQ9Y2RiMDkwNTc3YjgzOWU5ZmU2ODMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5mb3JtLmlubGluZS1mb3JtW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgbWFyZ2luOiAwIGF1dG87XFxufVxcbi5mb3JtLmlubGluZS1mb3JtIC5pbnB1dC13cmFwcGVyW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybSAuaW5wdXQtd3JhcHBlciAuZXJyb3ItbWVzc2FnZVtkYXRhLXYtMGFjMDhmMmZdIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGxlZnQ6IDA7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0uY3JlYXRlLW5ldy1wYXNzd29yZCAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtMGFjMDhmMmZdIHtcXG4gIHdpZHRoOiAyODBweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlcltkYXRhLXYtMGFjMDhmMmZdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWFyZ2luLXRvcDogMjVweDtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi0wYWMwOGYyZl06Zmlyc3QtY2hpbGQge1xcbiAgbWFyZ2luLXRvcDogMDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtMGFjMDhmMmZdIHtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBmb250LXNpemU6IDEuMTI1ZW07XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgcGFkZGluZy1yaWdodDogMjBweDtcXG4gIHdpZHRoOiAyMDBweDtcXG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XFxuICBjb2xvcjogIzFCMjUzOTtcXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5idXR0b25bZGF0YS12LTBhYzA4ZjJmXSB7XFxuICBtYXJnaW4tdG9wOiA1MHB4O1xcbn1cXG4uaW5wdXQtd3JhcHBlciAuZXJyb3ItbWVzc2FnZVtkYXRhLXYtMGFjMDhmMmZdIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gIGNvbG9yOiAjZmQzOTdhO1xcbiAgcGFkZGluZy10b3A6IDVweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxudGV4dGFyZWFbZGF0YS12LTBhYzA4ZjJmXSB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTBhYzA4ZjJmXSxcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0wYWMwOGYyZl0sXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi0wYWMwOGYyZl0sXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtMGFjMDhmMmZdIHtcXG4gIGJhY2tncm91bmQ6ICNmNGY1ZjY7XFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIHRyYW5zaXRpb246IDAuMTVzIGFsbCBlYXNlO1xcbiAgZm9udC1zaXplOiAxZW07XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBwYWRkaW5nOiAxM3B4IDIwcHg7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgb3V0bGluZTogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG50ZXh0YXJlYS5pcy1lcnJvcltkYXRhLXYtMGFjMDhmMmZdLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl0uaXMtZXJyb3JbZGF0YS12LTBhYzA4ZjJmXSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0uaXMtZXJyb3JbZGF0YS12LTBhYzA4ZjJmXSxcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdLmlzLWVycm9yW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgYm9yZGVyLWNvbG9yOiAjZmQzOTdhO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtMGFjMDhmMmZdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0wYWMwOGYyZl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtMGFjMDhmMmZdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0wYWMwOGYyZl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgY29sb3I6ICNBNEFEQjY7XFxuICBmb250LXNpemU6IDFlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTBhYzA4ZjJmXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtMGFjMDhmMmZdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTBhYzA4ZjJmXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtMGFjMDhmMmZdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiAjQTRBREI2O1xcbiAgZm9udC1zaXplOiAxZW07XFxufVxcbnRleHRhcmVhW2RhdGEtdi0wYWMwOGYyZl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0wYWMwOGYyZl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTBhYzA4ZjJmXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTBhYzA4ZjJmXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgY29sb3I6ICNBNEFEQjY7XFxuICBmb250LXNpemU6IDFlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTBhYzA4ZjJmXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0wYWMwOGYyZl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi0wYWMwOGYyZl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtMGFjMDhmMmZdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgY29sb3I6ICNBNEFEQjY7XFxuICBmb250LXNpemU6IDFlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTBhYzA4ZjJmXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtMGFjMDhmMmZdOjpwbGFjZWhvbGRlcixcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTBhYzA4ZjJmXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtMGFjMDhmMmZdOjpwbGFjZWhvbGRlciB7XFxuICBjb2xvcjogI0E0QURCNjtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbn1cXG50ZXh0YXJlYVtkaXNhYmxlZF1bZGF0YS12LTBhYzA4ZjJmXSxcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtMGFjMDhmMmZdLFxcbmlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTBhYzA4ZjJmXSxcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtMGFjMDhmMmZdIHtcXG4gIGNvbG9yOiAjQTRBREI2O1xcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG59XFxuLmFkZGl0aW9uYWwtbGlua1tkYXRhLXYtMGFjMDhmMmZdIHtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgbWFyZ2luLXRvcDogNTBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uYWRkaXRpb25hbC1saW5rIGJbZGF0YS12LTBhYzA4ZjJmXSwgLmFkZGl0aW9uYWwtbGluayBhW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uYWRkaXRpb25hbC1saW5rIGJbZGF0YS12LTBhYzA4ZjJmXTpob3ZlciwgLmFkZGl0aW9uYWwtbGluayBhW2RhdGEtdi0wYWMwOGYyZl06aG92ZXIge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcXG4uZm9ybSAuYnV0dG9uW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogMDtcXG59XFxuLmZvcm0gaW5wdXRbZGF0YS12LTBhYzA4ZjJmXSwgLmZvcm0gdGV4dGFyZWFbZGF0YS12LTBhYzA4ZjJmXSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBtaW4td2lkdGg6IDEwMCU7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXJbZGF0YS12LTBhYzA4ZjJmXSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyIGxhYmVsW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgcGFkZGluZy1yaWdodDogMDtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIG1hcmdpbi1ib3R0b206IDdweDtcXG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xcbiAgICBmb250LXNpemU6IDAuODc1ZW07XFxuICAgIHBhZGRpbmctdG9wOiAwO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5idXR0b25bZGF0YS12LTBhYzA4ZjJmXSB7XFxuICAgIG1hcmdpbi10b3A6IDI1cHg7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZvcm0uaW5saW5lLWZvcm0gLmlucHV0LXdyYXBwZXIgLmVycm9yLW1lc3NhZ2VbZGF0YS12LTBhYzA4ZjJmXSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgYm90dG9tOiAwO1xcbn1cXG4uZm9ybSAuYnV0dG9uW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgICBwYWRkaW5nOiAxNHB4IDMycHg7XFxufVxcbnRleHRhcmVhW2RhdGEtdi0wYWMwOGYyZl0sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0wYWMwOGYyZl0sXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTBhYzA4ZjJmXSxcXG4gIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTBhYzA4ZjJmXSB7XFxuICAgIHBhZGRpbmc6IDE0cHggMjBweDtcXG59XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyIGxhYmVsW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxudGV4dGFyZWFbZGF0YS12LTBhYzA4ZjJmXSxcXG4gIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTBhYzA4ZjJmXSxcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtMGFjMDhmMmZdLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtMGFjMDhmMmZdIHtcXG4gICAgYmFja2dyb3VuZDogIzFlMjAyNDtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbnRleHRhcmVhW2RhdGEtdi0wYWMwOGYyZl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTBhYzA4ZjJmXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi0wYWMwOGYyZl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTBhYzA4ZjJmXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtMGFjMDhmMmZdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0wYWMwOGYyZl06Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtMGFjMDhmMmZdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0wYWMwOGYyZl06Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTBhYzA4ZjJmXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTBhYzA4ZjJmXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtMGFjMDhmMmZdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtMGFjMDhmMmZdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtMGFjMDhmMmZdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTBhYzA4ZjJmXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTBhYzA4ZjJmXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0wYWMwOGYyZl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtMGFjMDhmMmZdOjpwbGFjZWhvbGRlcixcXG4gIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTBhYzA4ZjJmXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTBhYzA4ZjJmXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0wYWMwOGYyZl06OnBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2Rpc2FibGVkXVtkYXRhLXYtMGFjMDhmMmZdLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTBhYzA4ZjJmXSxcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTBhYzA4ZjJmXSxcXG4gIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxufVxcbi5hdXRoLWxvZ28tdGV4dFtkYXRhLXYtMGFjMDhmMmZdIHtcXG4gIGZvbnQtc2l6ZTogMS4zNzVlbTtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5hdXRoLWZvcm1bZGF0YS12LTBhYzA4ZjJmXSB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICBtYXgtd2lkdGg6IDYwMHB4O1xcbiAgcGFkZGluZzogMjVweCAyMHB4O1xcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxufVxcbi5hdXRoLWZvcm0gaW5wdXRbZGF0YS12LTBhYzA4ZjJmXSB7XFxuICBtaW4td2lkdGg6IDMxMHB4O1xcbn1cXG4uYXV0aC1mb3JtIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtMGFjMDhmMmZdIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcbi5hdXRoLWZvcm0gLnVzZXItYXZhdGFyW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgd2lkdGg6IDEwMHB4O1xcbiAgaGVpZ2h0OiAxMDBweDtcXG4gIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xcbiAgICAgb2JqZWN0LWZpdDogY292ZXI7XFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgyNSwgNTQsIDYwLCAwLjIpO1xcbn1cXG4uYXV0aC1mb3JtIC5sb2dvW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgd2lkdGg6IDEyMHB4O1xcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcXG59XFxuLmF1dGgtZm9ybSBoMVtkYXRhLXYtMGFjMDhmMmZdIHtcXG4gIGZvbnQtc2l6ZTogMi4xMjVlbTtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxuICBsaW5lLWhlaWdodDogMS4yO1xcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgY29sb3I6ICMxQjI1Mzk7XFxufVxcbi5hdXRoLWZvcm0gaDJbZGF0YS12LTBhYzA4ZjJmXSB7XFxuICBmb250LXNpemU6IDEuNDM3NWVtO1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XFxuICBjb2xvcjogIzFCMjUzOTtcXG59XFxuLmF1dGgtZm9ybSAuYmxvY2stZm9ybVtkYXRhLXYtMGFjMDhmMmZdIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY5MHB4KSBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcXG4uYXV0aC1mb3JtW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwJTtcXG4gICAgcGFkZGluZy1yaWdodDogMjAlO1xcbn1cXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OTBweCkge1xcbi5hdXRoLWZvcm1bZGF0YS12LTBhYzA4ZjJmXSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbn1cXG4uYXV0aC1mb3JtIGgxW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgICBmb250LXNpemU6IDEuODc1ZW07XFxufVxcbi5hdXRoLWZvcm0gaDJbZGF0YS12LTBhYzA4ZjJmXSB7XFxuICAgIGZvbnQtc2l6ZTogMS4zMTI1ZW07XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5MHB4KSB7XFxuLmF1dGgtZm9ybSBoMVtkYXRhLXYtMGFjMDhmMmZdIHtcXG4gICAgZm9udC1zaXplOiAxLjM3NWVtO1xcbn1cXG4uYXV0aC1mb3JtIGgyW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XFxufVxcbi5hdXRoLWZvcm0gaW5wdXRbZGF0YS12LTBhYzA4ZjJmXSB7XFxuICAgIG1pbi13aWR0aDogaW5pdGlhbDtcXG59XFxuLmF1dGgtZm9ybSAuYWRkaXRpb25hbC1saW5rW2RhdGEtdi0wYWMwOGYyZl0ge1xcbiAgICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5hdXRoLWZvcm0gaDFbZGF0YS12LTBhYzA4ZjJmXSwgLmF1dGgtZm9ybSBoMltkYXRhLXYtMGFjMDhmMmZdLCAuYXV0aC1mb3JtIC5hZGRpdGlvbmFsLWxpbmtbZGF0YS12LTBhYzA4ZjJmXSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2lnbkluLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTBhYzA4ZjJmJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2lnbkluLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTBhYzA4ZjJmJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIiIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdBdXRoQ29udGVudFdyYXBwZXInLHtyZWY6XCJhdXRoXCJ9LFtfYygnQXV0aENvbnRlbnQnLHthdHRyczp7XCJuYW1lXCI6XCJsb2ctaW5cIixcInZpc2libGVcIjp0cnVlfX0sWyhfdm0uY29uZmlnLmFwcF9sb2dvKT9fYygnaW1nJyx7c3RhdGljQ2xhc3M6XCJsb2dvXCIsYXR0cnM6e1wic3JjXCI6X3ZtLiRnZXRJbWFnZShfdm0uY29uZmlnLmFwcF9sb2dvKSxcImFsdFwiOl92bS5jb25maWcuYXBwX25hbWV9fSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwoISBfdm0uY29uZmlnLmFwcF9sb2dvKT9fYygnYicse3N0YXRpY0NsYXNzOlwiYXV0aC1sb2dvLXRleHRcIn0sW192bS5fdihfdm0uX3MoX3ZtLmNvbmZpZy5hcHBfbmFtZSkpXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfYygnaDEnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV9sb2dpbi50aXRsZScpKSldKSxfdm0uX3YoXCIgXCIpLF9jKCdoMicsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX2xvZ2luLnN1YnRpdGxlJykpKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25PYnNlcnZlcicse3JlZjpcImxvZ19pblwiLHN0YXRpY0NsYXNzOlwiZm9ybSBpbmxpbmUtZm9ybVwiLGF0dHJzOntcInRhZ1wiOlwiZm9ybVwifSxvbjp7XCJzdWJtaXRcIjpmdW5jdGlvbigkZXZlbnQpeyRldmVudC5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBfdm0ubG9nSW4oJGV2ZW50KX19LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGludmFsaWQgPSByZWYuaW52YWxpZDtcbnJldHVybiBbX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJuYW1lXCI6XCJFLU1haWxcIixcInJ1bGVzXCI6XCJyZXF1aXJlZFwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnaW5wdXQnLHtkaXJlY3RpdmVzOlt7bmFtZTpcIm1vZGVsXCIscmF3TmFtZTpcInYtbW9kZWxcIix2YWx1ZTooX3ZtLmxvZ2luRW1haWwpLGV4cHJlc3Npb246XCJsb2dpbkVtYWlsXCJ9XSxzdGF0aWNDbGFzczpcImZvY3VzLWJvcmRlci10aGVtZVwiLGNsYXNzOnsnaXMtZXJyb3InOiBlcnJvcnNbMF19LGF0dHJzOntcInBsYWNlaG9sZGVyXCI6X3ZtLiR0KCdwYWdlX2xvZ2luLnBsYWNlaG9sZGVyX2VtYWlsJyksXCJ0eXBlXCI6XCJlbWFpbFwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0ubG9naW5FbWFpbCl9LG9uOntcImlucHV0XCI6ZnVuY3Rpb24oJGV2ZW50KXtpZigkZXZlbnQudGFyZ2V0LmNvbXBvc2luZyl7IHJldHVybjsgfV92bS5sb2dpbkVtYWlsPSRldmVudC50YXJnZXQudmFsdWV9fX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pLF92bS5fdihcIiBcIiksX2MoJ0F1dGhCdXR0b24nLHthdHRyczp7XCJpY29uXCI6XCJjaGV2cm9uLXJpZ2h0XCIsXCJ0ZXh0XCI6X3ZtLiR0KCdwYWdlX2xvZ2luLmJ1dHRvbl9uZXh0JyksXCJsb2FkaW5nXCI6X3ZtLmlzTG9hZGluZyxcImRpc2FibGVkXCI6X3ZtLmlzTG9hZGluZ319KV19fV0pfSksX3ZtLl92KFwiIFwiKSwoX3ZtLmNvbmZpZy51c2VyUmVnaXN0cmF0aW9uKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiYWRkaXRpb25hbC1saW5rXCJ9LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdwYWdlX2xvZ2luLnJlZ2lzdHJhdGlvbl90ZXh0JykpK1wiXFxuICAgICAgICAgICAgXCIpLF9jKCdyb3V0ZXItbGluaycse3N0YXRpY0NsYXNzOlwidGV4dC10aGVtZVwiLGF0dHJzOntcInRvXCI6e25hbWU6ICdTaWduVXAnfX19LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgXCIrX3ZtLl9zKF92bS4kdCgncGFnZV9sb2dpbi5yZWdpc3RyYXRpb25fYnV0dG9uJykpK1wiXFxuICAgICAgICAgICAgXCIpXSldLDEpOl92bS5fZSgpXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdBdXRoQ29udGVudCcse2F0dHJzOntcIm5hbWVcIjpcInNpZ24taW5cIixcInZpc2libGVcIjpmYWxzZX19LFsoX3ZtLmNoZWNrZWRBY2NvdW50KT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJ1c2VyXCJ9LFtfYygnaW1nJyx7c3RhdGljQ2xhc3M6XCJ1c2VyLWF2YXRhclwiLGF0dHJzOntcInNyY1wiOl92bS5jaGVja2VkQWNjb3VudC5hdmF0YXIsXCJhbHRcIjpfdm0uY2hlY2tlZEFjY291bnQubmFtZX19KSxfdm0uX3YoXCIgXCIpLF9jKCdoMScsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX3NpZ25faW4udGl0bGUnLCB7bmFtZTogX3ZtLmNoZWNrZWRBY2NvdW50Lm5hbWV9KSkpXSksX3ZtLl92KFwiIFwiKSxfYygnaDInLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV9zaWduX2luLnN1YnRpdGxlJykpKV0pXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvbk9ic2VydmVyJyx7cmVmOlwic2lnbl9pblwiLHN0YXRpY0NsYXNzOlwiZm9ybSBpbmxpbmUtZm9ybVwiLGF0dHJzOntcInRhZ1wiOlwiZm9ybVwifSxvbjp7XCJzdWJtaXRcIjpmdW5jdGlvbigkZXZlbnQpeyRldmVudC5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBfdm0uc2luZ0luKCRldmVudCl9fSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBpbnZhbGlkID0gcmVmLmludmFsaWQ7XG5yZXR1cm4gW19jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwibmFtZVwiOlwiVXNlciBQYXNzd29yZFwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0ubG9naW5QYXNzd29yZCksZXhwcmVzc2lvbjpcImxvZ2luUGFzc3dvcmRcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ3BhZ2Vfc2lnbl9pbi5wbGFjZWhvbGRlcl9wYXNzd29yZCcpLFwidHlwZVwiOlwicGFzc3dvcmRcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLmxvZ2luUGFzc3dvcmQpfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0ubG9naW5QYXNzd29yZD0kZXZlbnQudGFyZ2V0LnZhbHVlfX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KSxfdm0uX3YoXCIgXCIpLF9jKCdBdXRoQnV0dG9uJyx7YXR0cnM6e1wiaWNvblwiOlwiY2hldnJvbi1yaWdodFwiLFwidGV4dFwiOl92bS4kdCgncGFnZV9zaWduX2luLmJ1dHRvbl9sb2dfaW4nKSxcImxvYWRpbmdcIjpfdm0uaXNMb2FkaW5nLFwiZGlzYWJsZWRcIjpfdm0uaXNMb2FkaW5nfX0pXX19XSl9KSxfdm0uX3YoXCIgXCIpLF9jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJhZGRpdGlvbmFsLWxpbmtcIn0sW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX3NpZ25faW4ucGFzc3dvcmRfcmVzZXRfdGV4dCcpKStcIlxcbiAgICAgICAgICAgIFwiKSxfYygncm91dGVyLWxpbmsnLHtzdGF0aWNDbGFzczpcInRleHQtdGhlbWVcIixhdHRyczp7XCJ0b1wiOntuYW1lOiAnRm9yZ290dGVuUGFzc3dvcmQnfX19LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgXCIrX3ZtLl9zKF92bS4kdCgncGFnZV9zaWduX2luLnBhc3N3b3JkX3Jlc2V0X2J1dHRvbicpKStcIlxcbiAgICAgICAgICAgIFwiKV0pXSwxKV0sMSldLDEpfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XG4gICAgPEF1dGhDb250ZW50V3JhcHBlciByZWY9XCJhdXRoXCI+XG5cbiAgICAgICAgPCEtLUxvZyBJbiBieSBFbWFpbC0tPlxuICAgICAgICA8QXV0aENvbnRlbnQgbmFtZT1cImxvZy1pblwiIDp2aXNpYmxlPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPGltZyB2LWlmPVwiY29uZmlnLmFwcF9sb2dvXCIgY2xhc3M9XCJsb2dvXCIgOnNyYz1cIiRnZXRJbWFnZShjb25maWcuYXBwX2xvZ28pXCIgOmFsdD1cImNvbmZpZy5hcHBfbmFtZVwiPlxuICAgICAgICAgICAgPGIgdi1pZj1cIiEgY29uZmlnLmFwcF9sb2dvXCIgY2xhc3M9XCJhdXRoLWxvZ28tdGV4dFwiPnt7IGNvbmZpZy5hcHBfbmFtZSB9fTwvYj5cblxuICAgICAgICAgICAgPGgxPnt7ICR0KCdwYWdlX2xvZ2luLnRpdGxlJykgfX08L2gxPlxuICAgICAgICAgICAgPGgyPnt7ICR0KCdwYWdlX2xvZ2luLnN1YnRpdGxlJykgfX08L2gyPlxuXG4gICAgICAgICAgICA8VmFsaWRhdGlvbk9ic2VydmVyIEBzdWJtaXQucHJldmVudD1cImxvZ0luXCIgcmVmPVwibG9nX2luXCIgdi1zbG90PVwieyBpbnZhbGlkIH1cIiB0YWc9XCJmb3JtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtIGlubGluZS1mb3JtXCI+XG4gICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIG5hbWU9XCJFLU1haWxcIiBydWxlcz1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJsb2dpbkVtYWlsXCIgOnBsYWNlaG9sZGVyPVwiJHQoJ3BhZ2VfbG9naW4ucGxhY2Vob2xkZXJfZW1haWwnKVwiIHR5cGU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG5cbiAgICAgICAgICAgICAgICA8QXV0aEJ1dHRvbiBpY29uPVwiY2hldnJvbi1yaWdodFwiIDp0ZXh0PVwiJHQoJ3BhZ2VfbG9naW4uYnV0dG9uX25leHQnKVwiIDpsb2FkaW5nPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJpc0xvYWRpbmdcIiAvPlxuICAgICAgICAgICAgPC9WYWxpZGF0aW9uT2JzZXJ2ZXI+XG5cbiAgICAgICAgICAgIDxzcGFuIHYtaWY9XCJjb25maWcudXNlclJlZ2lzdHJhdGlvblwiIGNsYXNzPVwiYWRkaXRpb25hbC1saW5rXCI+XG4gICAgICAgICAgICAgICAge3sgJHQoJ3BhZ2VfbG9naW4ucmVnaXN0cmF0aW9uX3RleHQnKSB9fVxuICAgICAgICAgICAgICAgIDxyb3V0ZXItbGluayBjbGFzcz1cInRleHQtdGhlbWVcIiA6dG89XCJ7bmFtZTogJ1NpZ25VcCd9XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICR0KCdwYWdlX2xvZ2luLnJlZ2lzdHJhdGlvbl9idXR0b24nKSB9fVxuICAgICAgICAgICAgICAgIDwvcm91dGVyLWxpbms+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvQXV0aENvbnRlbnQ+XG5cbiAgICAgICAgPCEtLUxvZyBpbiBCeSBQYXNzd29yZC0tPlxuICAgICAgICA8QXV0aENvbnRlbnQgbmFtZT1cInNpZ24taW5cIiA6dmlzaWJsZT1cImZhbHNlXCI+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyXCIgdi1pZj1cImNoZWNrZWRBY2NvdW50XCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInVzZXItYXZhdGFyXCIgOnNyYz1cImNoZWNrZWRBY2NvdW50LmF2YXRhclwiIDphbHQ9XCJjaGVja2VkQWNjb3VudC5uYW1lXCI+XG4gICAgICAgICAgICAgICAgPGgxPnt7ICR0KCdwYWdlX3NpZ25faW4udGl0bGUnLCB7bmFtZTogY2hlY2tlZEFjY291bnQubmFtZX0pIH19PC9oMT5cbiAgICAgICAgICAgICAgICA8aDI+e3sgJHQoJ3BhZ2Vfc2lnbl9pbi5zdWJ0aXRsZScpIH19PC9oMj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8VmFsaWRhdGlvbk9ic2VydmVyIEBzdWJtaXQucHJldmVudD1cInNpbmdJblwiIHJlZj1cInNpZ25faW5cIiB2LXNsb3Q9XCJ7IGludmFsaWQgfVwiIHRhZz1cImZvcm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0gaW5saW5lLWZvcm1cIj5cbiAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgbmFtZT1cIlVzZXIgUGFzc3dvcmRcIiBydWxlcz1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJsb2dpblBhc3N3b3JkXCIgOnBsYWNlaG9sZGVyPVwiJHQoJ3BhZ2Vfc2lnbl9pbi5wbGFjZWhvbGRlcl9wYXNzd29yZCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG5cbiAgICAgICAgICAgICAgICA8QXV0aEJ1dHRvbiBpY29uPVwiY2hldnJvbi1yaWdodFwiIDp0ZXh0PVwiJHQoJ3BhZ2Vfc2lnbl9pbi5idXR0b25fbG9nX2luJylcIiA6bG9hZGluZz1cImlzTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOmRpc2FibGVkPVwiaXNMb2FkaW5nXCIgLz5cbiAgICAgICAgICAgIDwvVmFsaWRhdGlvbk9ic2VydmVyPlxuXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZGl0aW9uYWwtbGlua1wiPnt7ICR0KCdwYWdlX3NpZ25faW4ucGFzc3dvcmRfcmVzZXRfdGV4dCcpIH19XG4gICAgICAgICAgICAgICAgPHJvdXRlci1saW5rIDp0bz1cIntuYW1lOiAnRm9yZ290dGVuUGFzc3dvcmQnfVwiIGNsYXNzPVwidGV4dC10aGVtZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyAkdCgncGFnZV9zaWduX2luLnBhc3N3b3JkX3Jlc2V0X2J1dHRvbicpIH19XG4gICAgICAgICAgICAgICAgPC9yb3V0ZXItbGluaz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9BdXRoQ29udGVudD5cbiAgICA8L0F1dGhDb250ZW50V3JhcHBlcj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgaW1wb3J0IEF1dGhDb250ZW50V3JhcHBlciBmcm9tICdAL2NvbXBvbmVudHMvQXV0aC9BdXRoQ29udGVudFdyYXBwZXInXG4gICAgaW1wb3J0IHtWYWxpZGF0aW9uUHJvdmlkZXIsIFZhbGlkYXRpb25PYnNlcnZlcn0gZnJvbSAndmVlLXZhbGlkYXRlL2Rpc3QvdmVlLXZhbGlkYXRlLmZ1bGwnXG4gICAgaW1wb3J0IEF1dGhDb250ZW50IGZyb20gJ0AvY29tcG9uZW50cy9BdXRoL0F1dGhDb250ZW50J1xuICAgIGltcG9ydCBBdXRoQnV0dG9uIGZyb20gJ0AvY29tcG9uZW50cy9BdXRoL0F1dGhCdXR0b24nXG4gICAgaW1wb3J0IHtyZXF1aXJlZH0gZnJvbSAndmVlLXZhbGlkYXRlL2Rpc3QvcnVsZXMnXG4gICAgaW1wb3J0IHttYXBHZXR0ZXJzfSBmcm9tICd2dWV4J1xuICAgIGltcG9ydCB7ZXZlbnRzfSBmcm9tIFwiQC9idXNcIlxuICAgIGltcG9ydCBheGlvcyBmcm9tICdheGlvcydcblxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ1NpZ25JbicsXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIEF1dGhDb250ZW50V3JhcHBlcixcbiAgICAgICAgICAgIFZhbGlkYXRpb25Qcm92aWRlcixcbiAgICAgICAgICAgIFZhbGlkYXRpb25PYnNlcnZlcixcbiAgICAgICAgICAgIEF1dGhDb250ZW50LFxuICAgICAgICAgICAgQXV0aEJ1dHRvbixcbiAgICAgICAgICAgIHJlcXVpcmVkLFxuICAgICAgICB9LFxuICAgICAgICBjb21wdXRlZDoge1xuICAgICAgICAgICAgLi4ubWFwR2V0dGVycyhbJ2NvbmZpZyddKSxcbiAgICAgICAgfSxcbiAgICAgICAgZGF0YSgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjaGVja2VkQWNjb3VudDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGxvZ2luUGFzc3dvcmQ6ICcnLFxuICAgICAgICAgICAgICAgIGxvZ2luRW1haWw6ICcnLFxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBtZXRob2RzOiB7XG4gICAgICAgICAgICBnb1RvQXV0aFBhZ2Uoc2x1Zykge1xuXG4gICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5hdXRoLiRjaGlsZHJlbi5mb3JFYWNoKHBhZ2UgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEhpZGUgY3VycmVudCBzdGVwXG4gICAgICAgICAgICAgICAgICAgIHBhZ2UuaXNWaXNpYmxlID0gZmFsc2VcblxuICAgICAgICAgICAgICAgICAgICBpZiAocGFnZS4kcHJvcHMubmFtZSA9PT0gc2x1Zykge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBHbyB0byBuZXh0IHN0ZXBcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2UuaXNWaXNpYmxlID0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhc3luYyBsb2dJbigpIHtcblxuICAgICAgICAgICAgICAgIC8vIFZhbGlkYXRlIGZpZWxkc1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSBhd2FpdCB0aGlzLiRyZWZzLmxvZ19pbi52YWxpZGF0ZSgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAvLyBTdGFydCBsb2FkaW5nXG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlXG5cbiAgICAgICAgICAgICAgICAvLyBTZW5kIHJlcXVlc3QgdG8gZ2V0IHZlcmlmeSBhY2NvdW50XG4gICAgICAgICAgICAgICAgYXhpb3NcbiAgICAgICAgICAgICAgICAgICAgLnBvc3QoJy9hcGkvdXNlci9jaGVjaycsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVtYWlsOiB0aGlzLmxvZ2luRW1haWwsXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5kIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2VcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja2VkQWNjb3VudCA9IHJlc3BvbnNlLmRhdGFcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2hvdyBzaWduIGluIHBhc3N3b3JkIHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ29Ub0F1dGhQYWdlKCdzaWduLWluJylcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnJlc3BvbnNlLnN0YXR1cyA9PSA0MDQpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMubG9nX2luLnNldEVycm9ycyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFLU1haWwnOiBbZXJyb3IucmVzcG9uc2UuZGF0YV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnJlc3BvbnNlLnN0YXR1cyA9PSA1MDApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50cy4kZW1pdCgnYWxlcnQ6b3BlbicsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW1vamk6ICfwn6SUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMuJHQoJ3BvcHVwX3NpZ251cF9lcnJvci50aXRsZScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLiR0KCdwb3B1cF9zaWdudXBfZXJyb3IubWVzc2FnZScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5kIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhc3luYyBzaW5nSW4oKSB7XG5cbiAgICAgICAgICAgICAgICAvLyBWYWxpZGF0ZSBmaWVsZHNcbiAgICAgICAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gYXdhaXQgdGhpcy4kcmVmcy5zaWduX2luLnZhbGlkYXRlKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIWlzVmFsaWQpIHJldHVybjtcblxuICAgICAgICAgICAgICAgIC8vIFN0YXJ0IGxvYWRpbmdcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWVcblxuICAgICAgICAgICAgICAgIC8vIFNlbmQgcmVxdWVzdCB0byBnZXQgdXNlciB0b2tlblxuICAgICAgICAgICAgICAgIGF4aW9zXG4gICAgICAgICAgICAgICAgICAgIC5wb3N0KCcvbG9naW4nLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbWFpbDogdGhpcy5sb2dpbkVtYWlsLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6IHRoaXMubG9naW5QYXNzd29yZCxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFbmQgbG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgbG9naW4gc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgnU0VUX0FVVEhPUklaRUQnLCB0cnVlKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBHbyB0byBmaWxlcyBwYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7bmFtZTogJ0ZpbGVzJ30pXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5yZXNwb25zZS5zdGF0dXMgPT0gNDAwKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLnNpZ25faW4uc2V0RXJyb3JzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXIgUGFzc3dvcmQnOiBbdGhpcy4kdCgndmFsaWRhdGlvbl9lcnJvcnMuaW5jb3JyZWN0X3Bhc3N3b3JkJyldXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuZCBsb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBjcmVhdGVkKCkge1xuICAgICAgICAgICAgdGhpcy4kc2Nyb2xsVG9wKClcbiAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgnUFJPQ0VTU0lOR19QT1BVUCcsIHVuZGVmaW5lZClcblxuICAgICAgICAgICAgLy9pZiAodGhpcy5jb25maWcuaXNEZW1vKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dpbkVtYWlsID0gJ2hvd2R5QGhpNXZlLmRpZ2l0YWwnXG4gICAgICAgICAgICAgICAgdGhpcy5sb2dpblBhc3N3b3JkID0gJ3Z1ZWZpbGVtYW5hZ2VyJ1xuICAgICAgICAgICAgLy99XG4gICAgICAgIH1cbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIHNjb3BlZCBsYW5nPVwic2Nzc1wiPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX2F1dGgtZm9ybSc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fYXV0aCc7XG48L3N0eWxlPlxuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TaWduSW4udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NpZ25Jbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1NpZ25Jbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MGFjMDhmMmYmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vU2lnbkluLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vU2lnbkluLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9TaWduSW4udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MGFjMDhmMmYmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIwYWMwOGYyZlwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NpZ25Jbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0wYWMwOGYyZiZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NpZ25Jbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0wYWMwOGYyZiZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TaWduSW4udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MGFjMDhmMmYmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSJdLCJzb3VyY2VSb290IjoiIn0=
|