(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors~54a1cc30"],{"00be":function(t,e,n){"use strict";var a=n("8336"),s=n("a609"),i=n("ce7e"),c=n("132d"),r=n("da13"),o=n("b73d"),u=n("3a2f"),l=n("c3f0"),d=function(){var t=this,e=t._self._c;return e("aside",{staticClass:"notification-center d-flex flex-column"},[e("h3",{staticClass:"ml-4 mt-2"},[t._v(" "+t._s(t.$translate("sidebars.notification-center.title","Центр уведомлений"))+" ")]),e(i["a"],{staticClass:"mt-2 mb-2 border-01"}),e(r["a"],{staticClass:"notification-center__title"},[e(o["a"],{attrs:{label:t.showToastNotificationsToggle?t.$translate("sidebars.notification-center.enabled","Включены"):t.$translate("sidebars.notification-center.disabled","Отключены"),"hide-details":"",color:"green",dense:""},model:{value:t.showToastNotificationsToggle,callback:function(e){t.showToastNotificationsToggle=e},expression:"showToastNotificationsToggle"}}),e(u["a"],{attrs:{bottom:"","offset-overflow":"","max-width":256,"open-delay":500},scopedSlots:t._u([{key:"activator",fn:function(n){var s=n.on;return[e(a["a"],t._g({staticClass:"mt-3",attrs:{icon:""}},s),[e(c["a"],[t._v("mdi-information-outline")])],1)]}}])},[e("span",[t._v(" Переключатель позволяет включать / отключать всплывающие уведомления о системных событиях. Настройка не влияет на уведомления в меню “Центра уведомлений”. ")])]),t.isOpenUnreadList?e("div",{staticClass:"notification-center__clear-all-button primary--text mt-4 ml-2",on:{click:t.onClickMarkReadAllNotifications}},[t._v(" "+t._s(t.$translate("sidebars.notification-center.clear","Очистить"))+" ")]):t._e()],1),e(s["a"],{staticClass:"notification-center__toggle-buttons mt-2"},[e(a["a"],{staticClass:"notification-center__toggle-button",attrs:{value:"unread",color:t.isOpenUnreadList?"primary":"grey darken-3",small:""},on:{click:function(e){t.openedList="unread"}}},[t._v(" "+t._s(t.$translate("sidebars.notification-center.unred","Непрочитанные"))+" ")]),e(a["a"],{staticClass:"notification-center__toggle-button",attrs:{value:"all",color:t.isOpenUnreadList?"grey darken-3":"primary",small:""},on:{click:function(e){t.openedList="all"}}},[t._v(" "+t._s(t.$translate("sidebars.notification-center.all","Все"))+" ")])],1),e(i["a"],{staticClass:"mt-2 mb-2 border-01"}),t.isOpenUnreadList?e("perfect-scrollbar",{staticClass:"notification-center__scroll-area",attrs:{options:{suppressScrollX:!0}}},[e("transition-group",{attrs:{name:"slide-x-reverse-transition"}},t._l(t.notificationList,(function(n){return e(r["a"],{key:n.eventType+n.id,staticClass:"pa-0"},[e("AppNotification",t._b({directives:[{def:l["a"],name:"touch",rawName:"v-touch",value:{right:function(){t.markReadNotifications([n.id])}},expression:"{\n            right: () => { markReadNotifications([notification.id]) }\n          }"}],attrs:{visible:"","is-toast":"",dark:""},on:{input:function(e){return t.markReadNotifications([n.id])}}},"AppNotification",n,!1))],1)})),1)],1):e("perfect-scrollbar",t._l(t.notifications.all,(function(n){return e(r["a"],{key:n.id,staticClass:"pa-0"},[e("AppNotification",t._b({attrs:{dismissible:!1,visible:"","is-toast":"",dark:""}},"AppNotification",n,!1))],1)})),1)],1)},f=[],p=n("5530"),h=(n("d81d"),n("2f62")),_={name:"NotificationsCenter",data:function(){return{isShowNotificationsToggleTooltip:!1,openedList:"unread"}},computed:Object(p["a"])(Object(p["a"])({},Object(h["e"])("notifications",["notifications","isShowToastNotifications"])),{},{notificationList:function(){return this.notifications[this.openedList]},isOpenUnreadList:function(){return"unread"===this.openedList},showToastNotificationsToggle:{get:function(){return this.isShowToastNotifications},set:function(t){this.setItem({item:"isShowToastNotifications",value:t})}}}),methods:Object(p["a"])(Object(p["a"])(Object(p["a"])({},Object(h["b"])("notifications",["updateNotification"])),Object(h["d"])("notifications",["deleteNotifications","setItem"])),{},{onClickMarkReadAllNotifications:function(){this.markReadNotifications(this.notificationList.map((function(t){return t.id})))},markReadNotifications:function(t){this.deleteNotifications({ids:t,key:"unread"}),this.updateNotification({ids:t,data:{wasRead:1}})}})},b=_,v=(n("d41c"),n("2877")),g=Object(v["a"])(b,d,f,!1,null,"6fef4c9f",null);e["a"]=g.exports},"066b":function(t,e,n){"use strict";var a=function(){var t=this,e=t._self._c;return e("AppNavigation",{staticClass:"the-left-menu-full",attrs:{value:t.value,shifted:t.$vuetify.breakpoint.mdAndUp,"close-icon":t.$vuetify.breakpoint.smAndDown},on:{input:function(e){return t.$emit("input",e)}}},[t._t("default")],2)},s=[],i={name:"TheLeftMenuFull",props:{value:{type:Boolean}}},c=i,r=n("2877"),o=Object(r["a"])(c,a,s,!1,null,"167ce146",null);e["a"]=o.exports},"116e":function(t,e,n){"use strict";var a=n("f774"),s=function(){var t=this,e=t._self._c;return e(a["a"],{staticClass:"the-left-menu-compact",attrs:{app:"","mini-variant":"",clipped:""}},[t._t("default",null,{isMini:""})],2)},i=[],c={name:"TheAsideCompact",props:{value:Boolean}},r=c,o=n("2877"),u=Object(o["a"])(r,s,i,!1,null,null,null);e["a"]=u.exports},"13c4":function(t,e,n){"use strict";n("934d")},"1b67":function(t,e,n){"use strict";var a=function(){var t=this,e=t._self._c;return e("AppNavigation",{staticClass:"the-right-menu",attrs:{value:Boolean(t.type),shifted:t.$vuetify.breakpoint.mdAndUp,"close-icon":t.$vuetify.breakpoint.xlAndDown,right:""},on:{input:function(e){return t.$emit("input",null)}}},[e(t.type,{tag:"component",staticClass:"the-right-menu"})],1)},s=[],i={name:"TheRightMenu",props:{type:{type:String,default:"ServicesList"}}},c=i,r=(n("828c"),n("2877")),o=Object(r["a"])(c,a,s,!1,null,"0eefea15",null);e["a"]=o.exports},"219f":function(t,e,n){"use strict";n("9f9b")},"21f8":function(t,e,n){},"253e":function(t,e,n){"use strict";var a=n("8336"),s=n("132d"),i=n("3a2f"),c=(n("b0c0"),function(){var t=this,e=t._self._c;return e(i["a"],{attrs:{bottom:"",disabled:t.$vuetify.breakpoint.smAndDown||Boolean(t.activeRightMenu)},scopedSlots:t._u([{key:"activator",fn:function(n){var i=n.on,c=n.attrs;return[e(a["a"],t._g(t._b({staticClass:"the-header__button white--text",class:t.activeRightMenu===t.name?"the-header__button--active":"",attrs:{icon:""},on:{click:function(e){return e.stopPropagation(),t.$emit("switch",t.name)}}},"v-btn",c,!1),i),[e(s["a"],[t._v(" mdi-account-circle ")])],1)]}}])},[e("span",[t._v(t._s(t.$translate("sidebars.account.account","Аккаунт")))])])}),r=[],o="Account",u={name:o,props:{activeRightMenu:{type:String,default:null}},created:function(){this.$i18n&&this.$i18n.fetchMessages("sidebars.account")},data:function(){return{name:o}}},l=u,d=n("2877"),f=Object(d["a"])(l,c,r,!1,null,null,null);e["a"]=f.exports},"26f3":function(t,e,n){},"27ab":function(t,e,n){"use strict";var a=n("40dc"),s=n("8336"),i=n("132d"),c=n("3129"),r=n("2fa4"),o=n("3a2f"),u=n("a293"),l=(n("b0c0"),function(){var t=this,e=t._self._c;return e(a["a"],{staticClass:"the-header",attrs:{app:"",dense:"","clipped-left":"",dark:""}},[t.currentUser&&"TwoFASync"!==t.$route.name?[e(s["a"],{staticClass:"white--text",attrs:{icon:""},on:{click:function(e){return e.stopPropagation(),t.$emit("click-menu-icon")}}},[t.drawerIsVisible?e(i["a"],[t._v(" mdi-close ")]):e(i["a"],[t._v(" mdi-menu ")])],1)]:t._e(),e("router-link",{staticClass:"the-header__logo d-flex align-center",attrs:{to:"/",event:"TwoFASync"!==t.$route.name?"click":""}},[t.isLoadingLogo?e(c["a"],{staticClass:"the-header__logo-loader",attrs:{type:"list-item"}}):[t.isBoxberry?e("svg",{staticClass:"mr-2",staticStyle:{width:"fit-content",height:"28px"},attrs:{xmlns:"http://www.w3.org/2000/svg",version:"1.0",width:"600.000000pt",height:"171.000000pt",viewBox:"0 0 600.000000 171.000000",preserveAspectRatio:"xMidYMid meet"}},[e("g",{attrs:{transform:"translate(0.000000,171.000000) scale(0.100000,-0.100000)",fill:"#000000",stroke:"none"}},[e("path",{attrs:{d:"M800 1695 c-124 -56 -161 -214 -72 -308 133 -141 371 -40 349 148 -6 56 -39 110 -88 142 -49 32 -138 41 -189 18z",fill:"#A9D035"}}),e("path",{attrs:{fill:"#fff",d:"M455 1361 c-156 -72 -151 -289 7 -356 166 -69 333 99 259 260 -46 100 -165 143 -266 96z"}}),e("path",{attrs:{fill:"#fff",d:"M1135 1362 c-76 -37 -115 -96 -115 -177 0 -81 39 -141 115 -176 88 -41 193 -11 250 70 58 82 34 204 -53 265 -55 39 -138 46 -197 18z"}}),e("path",{attrs:{fill:"#fff",d:"M2110 1053 c0 -284 6 -316 70 -381 99 -103 298 -92 384 21 98 128 62 317 -74 391 -46 25 -59 28 -125 24 -64 -3 -80 -8 -119 -35 l-46 -33 0 114 c0 124 -3 131 -58 142 l-32 7 0 -250z m339 -52 c94 -67 93 -231 -3 -290 -107 -67 -224 -8 -242 121 -16 114 58 203 162 195 32 -2 63 -12 83 -26z"}}),e("path",{attrs:{fill:"#fff",d:"M3727 1294 c-11 -12 -8 -447 4 -504 14 -64 61 -127 119 -160 38 -21 58 -25 125 -25 90 0 131 15 185 68 49 48 74 110 73 187 0 76 -17 121 -64 175 -82 92 -238 103 -326 22 l-23 -20 0 109 c0 73 -4 116 -12 127 -14 18 -69 33 -81 21z m311 -278 c75 -39 116 -130 94 -205 -33 -109 -151 -164 -232 -108 -57 38 -74 70 -78 145 -2 56 1 74 20 106 40 67 131 96 196 62z"}}),e("path",{attrs:{fill:"#fff",d:"M4447 1106 c-101 -38 -157 -123 -157 -241 0 -116 53 -198 155 -241 57 -23 170 -18 233 11 56 26 71 47 52 70 -16 19 -48 19 -93 0 -103 -43 -228 13 -244 108 l-6 37 182 0 181 0 0 58 c-1 73 -32 137 -87 176 -33 23 -54 29 -110 32 -43 3 -82 -1 -106 -10z m159 -82 c23 -15 42 -48 46 -79 3 -19 -3 -20 -129 -23 -142 -3 -144 -2 -119 47 37 71 136 98 202 55z"}}),e("path",{attrs:{fill:"#fff",d:"M2819 1082 c-187 -97 -183 -354 6 -455 58 -31 193 -31 252 1 197 104 190 371 -12 463 -27 13 -64 19 -116 19 -65 0 -85 -4 -130 -28z m235 -86 c48 -36 66 -74 66 -136 0 -100 -62 -169 -158 -177 -181 -17 -254 248 -90 331 50 26 136 17 182 -18z"}}),e("path",{attrs:{fill:"#fff",d:"M3252 1048 c25 -35 64 -91 87 -125 l43 -61 -81 -121 c-45 -66 -81 -123 -81 -126 0 -3 26 -5 58 -3 l57 3 52 80 c29 44 55 85 58 90 3 6 7 6 10 -1 3 -6 29 -47 58 -90 l52 -79 58 -3 c31 -2 57 -1 57 1 0 2 -36 58 -80 123 -44 65 -80 122 -80 126 0 5 36 60 80 123 44 63 80 117 80 120 0 3 -23 5 -50 5 -61 0 -76 -13 -135 -112 -22 -37 -42 -68 -45 -67 -3 0 -23 29 -45 65 -56 92 -84 114 -147 114 l-50 0 44 -62z"}}),e("path",{attrs:{fill:"#fff",d:"M4820 865 l0 -245 49 0 49 0 4 138 c2 115 6 143 24 177 26 49 76 85 120 85 34 0 34 1 34 45 l0 45 -37 0 c-47 0 -90 -28 -120 -77 l-23 -38 0 38 c0 46 -28 77 -70 77 l-30 0 0 -245z"}}),e("path",{attrs:{fill:"#fff",d:"M5170 865 l0 -245 50 0 50 0 0 133 c0 118 3 138 23 177 26 53 77 90 123 90 34 0 34 1 34 45 l0 45 -37 0 c-49 0 -98 -30 -126 -78 l-22 -37 -3 45 c-3 51 -21 70 -64 70 l-28 0 0 -245z"}}),e("path",{attrs:{fill:"#fff",d:"M5490 1100 c0 -6 47 -116 105 -245 l105 -235 -16 -40 c-19 -47 -66 -90 -99 -90 -14 0 -33 -11 -45 -27 l-22 -28 78 -3 c73 -3 79 -1 106 25 39 37 44 46 155 316 52 128 106 253 119 279 13 26 24 50 24 53 0 14 -89 4 -108 -12 -12 -11 -47 -92 -83 -191 -62 -169 -64 -172 -75 -140 -38 109 -139 330 -154 338 -25 13 -90 13 -90 0z"}}),e("path",{attrs:{fill:"#fff",d:"M109 1027 c-96 -51 -135 -166 -87 -257 72 -133 247 -147 342 -27 28 35 31 45 31 112 0 67 -3 77 -31 112 -64 80 -169 105 -255 60z"}}),e("path",{attrs:{fill:"#fff",d:"M790 1028 c-24 -13 -58 -40 -74 -61 -28 -35 -31 -45 -31 -112 0 -67 3 -77 31 -112 59 -74 159 -102 242 -68 161 68 161 292 0 360 -53 22 -116 19 -168 -7z"}}),e("path",{attrs:{fill:"#fff",d:"M1480 1035 c-78 -35 -123 -101 -123 -180 0 -60 19 -101 67 -142 130 -115 330 -28 330 142 0 106 -76 186 -182 192 -37 2 -70 -2 -92 -12z"}}),e("path",{attrs:{fill:"#fff",d:"M460 704 c-142 -62 -161 -249 -33 -338 131 -91 312 2 313 162 0 136 -152 232 -280 176z"}}),e("path",{attrs:{fill:"#fff",d:"M1135 701 c-76 -35 -115 -95 -115 -177 0 -59 19 -103 63 -141 72 -63 174 -70 249 -17 87 61 111 183 53 265 -57 81 -162 111 -250 70z"}}),e("path",{attrs:{fill:"#fff",d:"M789 370 c-147 -78 -146 -271 2 -348 86 -45 201 -14 256 69 65 98 26 231 -82 280 -52 24 -130 24 -176 -1z"}})])]):t._e(),t._v(" "+t._s(t.logo)+" ")]],2),t.curClient?e("div",{directives:[{def:u["a"],name:"click-outside",rawName:"v-click-outside",value:function(){return t.showContacts?t.showContacts=!1:function(){}},expression:"() => showContacts ? showContacts = false : () => {}"}],staticClass:"the-header__client"},[t._v(" "+t._s(t.curClient.summary)+" "),t.getContactInfo&&-1!==t.curClient.sysCode.indexOf("YAPP")?e(o["a"],{attrs:{"content-class":"the-header__contacts",bottom:""},scopedSlots:t._u([{key:"activator",fn:function(n){n.on,n.attrs;return[e(s["a"],{attrs:{icon:"",small:"",dense:""},on:{click:function(e){t.showContacts=!t.showContacts}}},[e(i["a"],{attrs:{small:"",color:"grey lighten-1"}},[t._v("mdi-contacts")])],1)]}}],null,!1,4283935718),model:{value:t.showContacts,callback:function(e){t.showContacts=e},expression:"showContacts"}},[e("span",[e("ul",{staticClass:"pl-0"},[t.getContactInfo.fio?e("li",[e("b",[t._v(t._s(t.$translate("sdt.fio"))+":")]),t._v(" "+t._s(t.getContactInfo.fio)+". "+t._s(t.getContactInfo.phone)+" ")]):t._e(),t.getContactInfo.email?e("li",[e("b",[t._v(t._s(t.$translate("sdt.support"))+":")]),t._v(" "),e("a",{staticStyle:{color:"#fff"},attrs:{href:"mailto:".concat(t.getContactInfo.email)}},[t._v(t._s(t.getContactInfo.email))])]):t._e()])])]):t._e()],1):t._e(),t.currentUser&&t.$vuetify.breakpoint.mdAndUp?e("TheHeaderFavoritBar"):t._e(),e(r["a"]),t.currentUser&&"TwoFASync"!==t.$route.name?e("TheHeaderButtons",t._g({attrs:{"right-menu":t.rightMenu}},{"click-right-menu-switcher":t.$listeners["click-right-menu-switcher"]})):t._e()],2)}),d=[],f=n("c7eb"),p=n("1da1"),h=n("5530"),_=(n("4de4"),n("7db0"),n("d81d"),n("13d5"),n("d3b7"),n("2f62")),b=n("dde5"),v=n("a779"),g=n("8860"),m=n("da13"),k=n("e449"),y=n("71a3"),O=n("fe57"),C=(n("14d9"),n("9911"),function(){var t=this,e=t._self._c;return e(O["a"],{staticClass:"the-header-tabs",attrs:{"hide-slider":""}},[t._l(t.favorites,(function(n){return[n.children?e(k["a"],{key:t.$translate(n.text),attrs:{"content-class":"the-header-tabs__dropdown-menu",dark:"","offset-y":""},scopedSlots:t._u([{key:"activator",fn:function(a){var c=a.on,r=a.attrs;return[e(s["a"],t._g(t._b({staticClass:"the-header-tabs__button align-self-center mr-4",attrs:{text:""}},"v-btn",r,!1),c),[t._v(" "+t._s(t.$translate(n.text))+" "),e(i["a"],{attrs:{right:""}},[t._v(" mdi-menu-down ")])],1)]}}],null,!0)},[e(g["a"],t._l(n.children,(function(n){return e(m["a"],{key:n.link,on:{click:function(e){return t.$router.push(n.link)}}},[t._v(" "+t._s(t.$translate(n.text))+" ")])})),1)],1):e(y["a"],{key:n.link,attrs:{to:n.link,link:"",exact:""}},[t._v(" "+t._s(t.$translate(n.text))+" ")])]}))],2)}),w=[],S=n("4f96"),x=(n("fb6a"),{name:"TheHeaderFavoritBar",computed:Object(h["a"])(Object(h["a"])(Object(h["a"])({},Object(_["e"])(["productStrId"])),Object(_["e"])("accounts",["currentUser","uiSettings"])),{},{favorites:function(){var t=this.uiSettings["".concat(this.productStrId,".favorites")]||{},e=t.favorites,n=void 0===e?[]:e;if(n.length>4){var a=Object(S["a"])(n),s=a[0],i=a[1],c=a[2],r=a.slice(3);return[s,i,c,{text:this.$translate("Еще"),children:r}]}return n}})}),j=x,I=(n("bb10"),n("ca3d"),n("2877")),A=Object(I["a"])(j,C,w,!1,null,"6647b13a",null),$=A.exports,L=new v["a"]({backendURL:"https://api.accordpost.ru/apidm/v1",prefix:"isAccounts"}),U={name:"TheHeader",components:{TheHeaderFavoritBar:$},props:{drawerIsVisible:{type:Boolean},rightMenu:{type:String,default:null},auth:{type:Boolean,default:!1}},data:function(){return{showContacts:!1,userMenuIsVisible:!1,curClient:null,login:!1}},computed:Object(h["a"])(Object(h["a"])(Object(h["a"])(Object(h["a"])({},Object(_["e"])("accounts",["currentUser"])),Object(_["e"])(["productStrId"])),Object(_["e"])("compendiums/lk",["contacts"])),{},{getContactInfo:function(){return this.contacts.filter((function(t){var e=t.contactType;return!e})).map((function(t){var e=t.itemType,n=t.value;return Object(h["a"])(Object(h["a"])(Object(h["a"])({},0===e?{fio:n}:{}),1===e?{email:n}:{}),2===e?{phone:n}:{})})).reduce((function(t,e){return Object.assign(t,e)}),{})},isLoadingLogo:function(){return!1},isBoxberry:function(){return!1},logo:function(){return""}}),watch:{$route:{handler:function(t){var e=this;return Object(p["a"])(Object(f["a"])().mark((function n(){return Object(f["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:-1!==["Dashboard","SignIn"].indexOf(t.name)&&e.handlerCurClient(),-1!==["SignIn"].indexOf(t.name)&&e.handlerAuth(!1),-1!==["Dashboard"].indexOf(t.name)&&e.handlerAuth(!0),null===e.curClient&&e.handlerCurClient();case 4:case"end":return n.stop()}}),n)})))()},deep:!0}},mounted:function(){this.handlerCurClient()},methods:{handlerCurClient:function(){var t=this;return Object(p["a"])(Object(f["a"])().mark((function e(){var n,a,s,i,c,r;return Object(f["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(e.prev=0,t.curClient=null,"LK"!==t.productStrId){e.next=14;break}return e.next=5,L.fetch();case 5:if(e.t0=e.sent,e.t0){e.next=8;break}e.t0=[];case 8:s=e.t0,i=s.result,c=b["c"].getAuthData()||{},r=(null===i||void 0===i?void 0:i.find((function(t){return+t.id===+(null===c||void 0===c?void 0:c.accountId)})))||null,t.curClient=null===r?i[0]:r,b["c"].setAuthData({accountId:String(null===(n=t.curClient)||void 0===n?void 0:n.id),sysCode:null===(a=t.curClient)||void 0===a?void 0:a.sysCode});case 14:e.next=19;break;case 16:e.prev=16,e.t1=e["catch"](0),t.curClient=null;case 19:case"end":return e.stop()}}),e,null,[[0,16]])})))()},handlerAuth:function(t){var e=this;return Object(p["a"])(Object(f["a"])().mark((function n(){return Object(f["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:e.login=t;case 1:case"end":return n.stop()}}),n)})))()}}},T=U,M=(n("4231"),Object(I["a"])(T,l,d,!1,null,null,null));e["a"]=M.exports},"303e":function(t,e,n){"use strict";n("a95d")},3335:function(t,e,n){"use strict";var a=n("4ca6"),s=n("8336"),i=n("132d"),c=n("3a2f"),r=(n("b0c0"),function(){var t=this,e=t._self._c;return e(c["a"],{attrs:{bottom:"",disabled:t.$vuetify.breakpoint.smAndDown||Boolean(t.activeRightMenu)},scopedSlots:t._u([{key:"activator",fn:function(n){var c=n.on,r=n.attrs;return[e(s["a"],t._g(t._b({staticClass:"the-header__button white--text",class:t.activeRightMenu===t.name?"the-header__button--active":"",attrs:{icon:""},on:{click:function(e){return e.stopPropagation(),t.$emit("switch",t.name)}}},"v-btn",r,!1),c),[e(a["a"],{staticClass:"the-header-buttons__badge",attrs:{bordered:"",overlap:"",value:t.notifications.unread.length,content:t.notifications.unread.length}},[e(i["a"],[t._v(" "+t._s(t.isShowToastNotifications?"mdi-bell-outline":"mdi-bell-off")+" ")])],1)],1)]}}])},[e("span",[t._v(t._s(t.$translate("sidebars.notification-center.notification","Центр уведомлений")))])])}),o=[],u=n("5530"),l=n("2f62"),d="NotificationsCenter",f={name:d,props:{activeRightMenu:{type:String,default:null}},created:function(){this.$i18n&&this.$i18n.fetchMessages("sidebars.notification-center")},data:function(){return{name:d}},computed:Object(u["a"])({},Object(l["e"])("notifications",["notifications","isShowToastNotifications"]))},p=f,h=n("2877"),_=Object(h["a"])(p,r,o,!1,null,null,null);e["a"]=_.exports},"3f3a":function(t,e,n){"use strict";var a=n("ce7e"),s=n("132d"),i=n("8860"),c=n("da13"),r=n("5d23"),o=n("34c3"),u=n("3a2f"),l=(n("9911"),function(){var t=this,e=t._self._c;return e(i["a"],{staticClass:"the-left-menu-list",attrs:{dense:"",light:"",dark:t.$vuetify.theme.dark}},[t._l(t.menuSectionList,(function(n,i){return e("div",{key:"section"+i},[t._l(n,(function(n){return e(u["a"],{key:n.text,attrs:{right:"",disabled:!t.isMini},scopedSlots:t._u([{key:"activator",fn:function(a){var i=a.on,u=a.attrs;return[e(c["a"],t._g(t._b({attrs:{link:"",to:t.linkFormatter(n.link)}},"v-list-item",u,!1),i),[e(o["a"],[e(s["a"],[t._v(t._s(n.icon))])],1),e(r["a"],[e(r["c"],{staticClass:"the-left-menu-list__item-title"},[t._v(" "+t._s(t.$translate(n.text))+" "),t.customizeInterfaceEnabled?e(s["a"],{attrs:{color:"text-01"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.onClickFav(n)}}},[t._v(" "+t._s(t.isFaf(n.link)?"mdi-star":"mdi-star-outline")+" ")]):t._e()],1)],1)],1)]}}],null,!0)},[e("span",[t._v(t._s(t.$translate(n.text)))])])})),e(a["a"],{staticClass:"mb-4 ui-03"})],2)})),t.isMini?t._e():e(c["a"],{attrs:{link:""},on:{click:function(e){t.customizeInterfaceEnabled=!t.customizeInterfaceEnabled}}},[e(o["a"],[e(s["a"],[t._v("mdi-tune")])],1),e(r["a"],[e(r["c"],[t._v(" "+t._s(t.customizeInterfaceEnabled?t.$translate("sidebars.left-menu.done","Готово"):t.$translate("sidebars.left-menu.customize-interface","Настроить интерфейс"))+" ")])],1)],1),t.$vuetify.breakpoint.xsOnly?e(u["a"],{attrs:{right:"",disabled:!t.isMini},scopedSlots:t._u([{key:"activator",fn:function(n){var a=n.on,i=n.attrs;return[e(c["a"],t._g(t._b({attrs:{link:""},on:{click:t.onClickLogOut}},"v-list-item",i,!1),a),[e(o["a"],[e(s["a"],[t._v("mdi-logout")])],1),e(r["a"],[e(r["c"],[t._v(" "+t._s(t.$translate("sidebars.left-menu.logout","Выйти"))+" ")])],1)],1)]}}],null,!1,3838164023)},[e("span",[t._v(t._s(t.$translate("sidebars.left-menu.logout","Выйти")))])]):t._e()],2)}),d=[],f=n("5530"),p=(n("b64b"),n("d3b7"),n("ac1f"),n("5319"),n("5b81"),n("2f62")),h=n("550b"),_=n("b0c2"),b={name:"TheLeftMenuList",props:{isMini:Boolean},data:function(){return{customizeInterfaceEnabled:!1}},computed:Object(f["a"])(Object(f["a"])({},Object(p["e"])(["productStrId"])),Object(p["e"])("accounts",["currentUser","uiSettings"])),methods:Object(f["a"])(Object(f["a"])({},Object(p["b"])("accounts",["addFav","delFav"])),{},{linkFormatter:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=JSON.parse(localStorage.getItem("".concat(_["a"].isMarshroute()?"WMS":"YAPP",".referrerLink")));return(null===e||void 0===e?void 0:e[null===t||void 0===t?void 0:t.replaceAll("/","")])||t},onClickFav:function(t){this.isFaf(t.link)?this.delFav(t.link):this.addFav(t)},isFaf:function(t){var e=this.uiSettings["".concat(this.productStrId,".favorites")]||{},n=e.favorites,a=void 0===n?[]:n;return a.some((function(e){return e.link===t}))},onClickLogOut:function(){h["a"].$emit("clickLogOut")}})},v=b,g=(n("219f"),n("2877")),m=Object(g["a"])(v,l,d,!1,null,"2c47c5d1",null);e["a"]=m.exports},4231:function(t,e,n){"use strict";n("a150")},"47b2":function(t,e,n){},"505c":function(t,e,n){"use strict";var a=n("ce7e"),s=n("132d"),i=n("8860"),c=n("da13"),r=n("5d23"),o=n("67b6"),u=n("43a6"),l=n("b73d"),d=(n("14d9"),function(){var t=this,e=t._self._c;return e(i["a"],{staticClass:"account",attrs:{dense:"",dark:""}},[e("h3",{staticClass:"ml-4"},[t._v(" "+t._s(t.$translate("sidebars.account.title","Аккаунт"))+" ")]),e(a["a"],{staticClass:"mt-2 mb-2 border-01"}),t.isBoxberry?t._e():e(l["a"],{staticClass:"ml-4",staticStyle:{"margin-top":"22px"},attrs:{color:"#f1c21b",label:t.isWhiteTheme?t.$translate("sidebars.account.light","Светлая"):t.$translate("sidebars.account.dark","Темная"),"hide-details":"",dense:""},model:{value:t.isWhiteTheme,callback:function(e){t.isWhiteTheme=e},expression:"isWhiteTheme"}}),e(c["a"],[e(r["a"],[e("div",{staticClass:"account__item_title account__item_title--subtitle"},[t._v(" "+t._s("".concat(t.$translate("sidebars.account.user-type","Тип пользователя"),":"))+" ")]),e("div",{staticClass:"account__item_title"},[t._v(" "+t._s(t.typeName)+" ")])])],1),e(c["a"],[e(r["a"],[e("div",{staticClass:"account__item_title account__item_title--subtitle"},[t._v(" "+t._s("".concat(t.$translate("sidebars.account.user-status","Признак активности пользователя"),":"))+" ")]),e("div",{staticClass:"account__item_title"},[t._v(" "+t._s(t.statusName)+" ")])])],1),e(c["a"],[e(r["a"],[e("div",{staticClass:"account__item_title account__item_title--subtitle"},[t._v(" "+t._s("".concat(t.$translate("sidebars.account.fio","Ф.И.О"),":"))+" ")]),e("div",{staticClass:"account__item_title"},[t._v(" "+t._s(t.currentUser&&t.currentUser.fio)+" ")])])],1),e(c["a"],[e(r["a"],[e("div",{staticClass:"account__item_title account__item_title--subtitle"},[t._v(" E-mail: ")]),e("div",{staticClass:"account__item_title"},[t._v(" "+t._s(t.currentUser&&t.currentUser.login)+" ")])])],1),e(c["a"],[e(r["a"],{staticClass:"overflow-visible account__item-language"},[e("div",{staticClass:"account__item_title account__item_title--subtitle"},[t._v(" "+t._s("".concat(t.$translate("sidebars.account.language","Язык"),":"))+" ")]),e(u["a"],{staticClass:"account__v-radio-group",attrs:{row:""},model:{value:t.locale,callback:function(e){t.locale=e},expression:"locale"}},[e(o["a"],{attrs:{label:"Русский",value:"ru-RU"}}),e(o["a"],{attrs:{label:"English",value:"en-US"}}),e(o["a"],{attrs:{label:"中文",value:"zh-CN",disabled:t.isProduction}})],1)],1)],1),e(a["a"],{staticClass:"mt-2 mb-2 border-01"}),e(c["a"],{attrs:{link:""},on:{click:function(e){return t.$router.push({name:"Settings"})}}},[e(r["c"],{staticClass:"account__item_title d-flex justify-space-between"},[t._v(" "+t._s(t.$translate("sidebars.account.account-settings","Настройки аккаунта"))+" "),e(s["a"],[t._v("mdi-cog-outline")])],1)],1),e(c["a"],{attrs:{link:""},on:{click:t.onClickLogOut}},[e(r["c"],{staticClass:"account__item_title d-flex justify-space-between"},[t._v(" "+t._s(t.$translate("common.labels.exit","Выход"))+" "),e(s["a"],[t._v("mdi-exit-to-app")])],1)],1)],1)}),f=[],p=n("5530"),h=(n("caad"),n("b0c0"),n("2f62")),_=n("550b"),b=n("ad02"),v={name:"Account",data:function(){return{isProduction:!0}},computed:Object(p["a"])(Object(p["a"])(Object(p["a"])(Object(p["a"])({},Object(h["e"])(["productStrId"])),Object(h["e"])("accounts",["currentUser","uiSettings"])),Object(h["c"])("compendiums/its",["getUserStatus","getUserType"])),{},{isBoxberry:function(){return-1!==window.location.hostname.indexOf("boxberry")},locale:{get:function(){var t=["ITS","JIRA","BIL","OREL","MAILREG"].includes(this.productStrId)?"ITS":this.productStrId;return this.uiSettings[t]&&this.uiSettings[t].locale},set:function(t){var e=["ITS","JIRA","BIL","OREL","MAILREG"].includes(this.productStrId)?"ITS":this.productStrId;this.updateUiSettings({settingsIdentifier:e,data:{locale:t}})}},statusName:function(){return this.getUserStatus(this.currentUser.status).name},typeName:function(){return this.getUserType(this.currentUser.type).name},isWhiteTheme:{get:function(){return"white"===this.$vuetify.theme.themes.name},set:function(t){b["b"].change(t?"white":"grey100")}}}),methods:Object(p["a"])(Object(p["a"])(Object(p["a"])({},Object(h["b"])("accounts",["updateUiSettings"])),{},{setTheme:function(t){console.log(t)}},Object(h["d"])(["setItem"])),{},{onClickLogOut:function(){this.setItem({item:"anyMenuIsOpen",value:!1}),_["a"].$emit("clickLogOut")}})},g=v,m=(n("ad3e"),n("2877")),k=Object(m["a"])(g,d,f,!1,null,"d220fa7c",null);e["a"]=k.exports},"68de":function(t,e,n){},"6a89":function(t,e,n){"use strict";var a=function(){var t=this,e=t._self._c;return e("div",{staticClass:"the-header-buttons d-flex"},[t.currentUser?t._l(t.buttons,(function(n){return e(n,{key:n,tag:"component",attrs:{activeRightMenu:t.rightMenu},on:{switch:t.openRightMenu}})})):t._e()],2)},s=[],i=n("5530"),c=n("2f62"),r={name:"TheHeaderButtons",props:{rightMenu:{type:String,default:null}},computed:Object(i["a"])({},Object(c["e"])("accounts",["currentUser"])),methods:{openRightMenu:function(t){this.$emit("click-right-menu-switcher",t)}}},o=r,u=(n("fdd0"),n("2877")),l=Object(u["a"])(o,a,s,!1,null,"1ddaedc3",null);e["a"]=l.exports},"6e59":function(t,e,n){},"75fb":function(t,e,n){"use strict";var a=n("a844"),s=n("ade3"),i=function(){var t=this,e=t._self._c;return e("div",{class:"vue-dadata__container"},[e("div",{class:"vue-dadata__search"},[e(a["a"],t._g(t._b({staticClass:"vue-dadata__input",attrs:{type:"text",disabled:t.disabled,rows:"1","row-height":"15","auto-grow":"",placeholder:t.placeholder,label:t.label,"auto-complete":t.autocomplete,outlined:t.outlined},on:{input:t.onInputChange,keydown:t.onKeyPress,focus:t.onInputFocus,blur:t.onInputBlur},scopedSlots:t._u([t._l(t.slotsNames,(function(e){return{key:e,fn:function(n){var a=n.item;return[t._t(e,null,{item:a})]}}}))],null,!0),model:{value:t.inputQuery,callback:function(e){t.inputQuery=e},expression:"inputQuery"}},"v-textarea",t.$attrs,!1),t.$listeners)),e("span",{staticStyle:{color:"red"}},[t._v(" "+t._s(t.homeCheck)+" ")])],1),t.inputFocused&&t.suggestionsVisible?e("div",{class:"vue-dadata__suggestions"},t._l(t.suggestions,(function(n,a){return e("highlighter",{key:"suggestion_".concat(a),class:["vue-dadata__suggestions-item",Object(s["a"])({},"vue-dadata__suggestions-item_current",a===t.suggestionIndex)],attrs:{"search-words":t.inputQuery.split(" "),"auto-escape":!0,"text-to-highlight":n.value,"highlight-class-name":"vue-dadata__highlight","unhighlight-class-name":"vue-dadata__unhighlight","highlight-tag":"span"},on:{mousedown:function(e){return t.onSuggestionClick(a)}}})})),1):t._e()])},c=[],r=n("c7eb"),o=n("1da1"),u=(n("a9e3"),n("b64b"),n("6456")),l=n("dde5"),d=n("15a4"),f={name:"DadataSearchAddress",components:{Highlighter:u["a"]},props:{value:{type:[String,Object,Event],default:""},query:{type:String,default:""},locations:{type:Array,default:function(){return[]}},locationsBoost:{type:Array,default:function(){return[]}},fromBound:{type:String,default:""},toBound:{type:String,default:""},count:{type:String,default:"5"},placeholder:{type:String,default:""},label:{type:String,default:""},disabled:{type:Boolean,default:!1},autocomplete:{type:String,default:""},inputName:{type:String,default:""},outlined:{type:Boolean,default:!1},checkFiasLevel:{type:Number,default:null},errorFiasLevel:{type:Boolean,default:!1},checkHome:{type:Boolean,default:!1},errorHome:{type:Boolean,default:!1}},data:function(){return{inputQuery:"",inputFocused:!1,suggestions:[],suggestionIndex:-1,suggestionsVisible:!0,isValid:!1,selectedSuggestion:{}}},computed:{debounceFetchSuggestion:function(){var t=this;return d["a"].debounce(Object(o["a"])(Object(r["a"])().mark((function e(){return Object(r["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",t.fetchSuggestions());case 1:case"end":return e.stop()}}),e)}))),300)},slotsNames:function(){return Object.keys(this.$scopedSlots)},errorMessage:function(){return!this.inputFocused&&""!==this.inputQuery&&d["a"].isEmpty(this.selectedSuggestion)},fiasCheckLevel:function(){if(!this.checkFiasLevel)return"";var t;if(this.selectedSuggestion&&Number(null===(t=this.selectedSuggestion.data)||void 0===t?void 0:t.fias_level)<this.checkFiasLevel)return this.$translate("pages.orders.order-create.tabs.third-step.messages.no-home");return this.errorFiasLevel?this.$translate("pages.orders.order-create.tabs.third-step.messages.no-home"):""},homeCheck:function(){if(!this.checkHome)return"";var t;if(!d["a"].isEmpty(this.selectedSuggestion)&&(null===(t=this.selectedSuggestion.data)||void 0===t||!t.house))return this.$translate("pages.orders.order-create.tabs.third-step.messages.no-home");return this.errorHome?this.$translate("pages.orders.order-create.tabs.third-step.messages.no-home"):""}},watch:{query:{handler:function(t){var e=this;return Object(o["a"])(Object(r["a"])().mark((function n(){return Object(r["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:e.inputQuery=t||"";case 1:case"end":return n.stop()}}),n)})))()}}},created:function(){var t=this;return Object(o["a"])(Object(r["a"])().mark((function e(){return Object(r["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(t.inputQuery=t.query?t.query:"",!t.autoload||!t.query){e.next=5;break}return e.next=4,t.fetchSuggestions();case 4:t.suggestions=e.sent;case 5:case"end":return e.stop()}}),e)})))()},methods:{onInputFocus:function(){var t=this;return Object(o["a"])(Object(r["a"])().mark((function e(){return Object(r["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:t.inputFocused=!0;case 1:case"end":return e.stop()}}),e)})))()},onInputBlur:function(){return Object(o["a"])(Object(r["a"])().mark((function t(){return Object(r["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:case"end":return t.stop()}}),t)})))()},setInputQuery:function(t){this.inputQuery=t||""},onInputChange:function(t){var e=this;return Object(o["a"])(Object(r["a"])().mark((function n(){return Object(r["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:return e.selectedSuggestion={},e.inputQuery=t,n.next=4,e.debounceFetchSuggestion();case 4:e.suggestionsVisible=!0,e.disabled||e.$emit("selectSuggestion",e.selectedSuggestion);case 6:case"end":return n.stop()}}),n)})))()},selectSuggestion:function(t){var e=this;return Object(o["a"])(Object(r["a"])().mark((function n(){var a,s;return Object(r["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(!(e.suggestions.length>=t-1)){n.next=18;break}return e.inputQuery=e.suggestions[t].value,e.selectedSuggestion=e.suggestions[t],e.disabled||e.$emit("selectSuggestion",e.selectedSuggestion),e.suggestionsVisible=!1,n.next=7,e.$nextTick();case 7:if(!e.onChange){n.next=14;break}return n.next=10,e.fetchSuggestions(1);case 10:a=n.sent,s=null,a.length>0&&(s=a[0]),e.onChange(s);case 14:e.suggestionIndex=-1,e.suggestions.length=0,n.next=19;break;case 18:e.disabled||e.$emit("selectSuggestion",e.selectedSuggestion);case 19:case"end":return n.stop()}}),n)})))()},onKeyPress:function(t){var e=this;return Object(o["a"])(Object(r["a"])().mark((function n(){var a,s,i;return Object(r["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(a=40,s=38,i=13,t.which!==a||!e.suggestionsVisible){n.next=8;break}t.preventDefault(),e.suggestionIndex<e.suggestions.length-1&&(e.suggestionIndex+=1,e.inputQuery=e.suggestions[e.suggestionIndex].value),n.next=18;break;case 8:if(t.which!==s||!e.suggestionsVisible){n.next=13;break}t.preventDefault(),e.suggestionIndex>=0&&(e.suggestionIndex-=1,e.inputQuery=-1===e.suggestionIndex?e.inputQuery:e.suggestions[e.suggestionIndex].value),n.next=18;break;case 13:if(t.which!==i){n.next=18;break}if(t.preventDefault(),!(e.suggestionIndex>=0)){n.next=18;break}return n.next=18,e.selectSuggestion(e.suggestionIndex);case 18:case"end":return n.stop()}}),n)})))()},onSuggestionClick:function(t){var e=this;return Object(o["a"])(Object(r["a"])().mark((function n(){return Object(r["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.next=2,e.selectSuggestion(t);case 2:case"end":return n.stop()}}),n)})))()},fetchSuggestions:function(){var t=this;return Object(o["a"])(Object(r["a"])().mark((function e(){var n,a,s,i;return Object(r["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.prev=0,n={query:t.inputQuery,locations:t.locations,locations_boost:t.locationsBoost,from_bound:t.fromBound?{value:t.fromBound}:{},to_bound:t.toBound?{value:t.toBound}:{},count:t.count},e.next=4,l["t"].create({data:n});case 4:return a=e.sent,s=a.result,i=s.data.suggestions,t.suggestions=i,e.abrupt("return",i);case 11:return e.prev=11,e.t0=e["catch"](0),t.$emit("handleError",e.t0),e.abrupt("return",[]);case 15:case"end":return e.stop()}}),e,null,[[0,11]])})))()}}},p=f,h=(n("303e"),n("2877")),_=Object(h["a"])(p,i,c,!1,null,null,null);e["a"]=_.exports},"828c":function(t,e,n){"use strict";n("26f3")},8704:function(t,e,n){"use strict";var a=n("8336"),s=n("132d"),i=n("3a2f"),c=(n("b0c0"),function(){var t=this,e=t._self._c;return e(i["a"],{attrs:{bottom:"",disabled:t.$vuetify.breakpoint.smAndDown||Boolean(t.activeRightMenu)},scopedSlots:t._u([{key:"activator",fn:function(n){var i=n.on,c=n.attrs;return[e(a["a"],t._g(t._b({staticClass:"the-header__button white--text",class:t.activeRightMenu===t.name?"the-header__button--active":"",attrs:{icon:""},on:{click:function(e){return e.stopPropagation(),t.$emit("switch",t.name)}}},"v-btn",c,!1),i),[e(s["a"],[t._v(" mdi-apps ")])],1)]}}])},[e("span",[t._v(t._s(t.$translate("sidebars.application-switcher")))])])}),r=[],o="ServicesList",u={name:o,props:{activeRightMenu:{type:String,default:null}},data:function(){return{name:o}}},l=u,d=n("2877"),f=Object(d["a"])(l,c,r,!1,null,null,null);e["a"]=f.exports},"8fae":function(t,e,n){"use strict";var a=n("ce7e"),s=n("8860"),i=n("da13"),c=n("5d23"),r=n("3a2f"),o=(n("b0c0"),n("9911"),function(){var t=this,e=t._self._c;return e(s["a"],{staticClass:"products-list",attrs:{dense:"",dark:""}},[e("h3",{staticClass:"ml-4"},[t._v(" "+t._s(t.$translate("sidebars.products-list.title","Переключатель приложений"))+" ")]),e(a["a"],{staticClass:"mt-2 mb-2 border-01"}),e("div",{staticClass:"products-list__title ml-4"},[t._v(" "+t._s("".concat(t.$translate("sidebars.products-list.links","Ссылки на внешние ресурсы"),":"))+" ")]),t._l(t.externalLinks,(function(n){return e(i["a"],{key:n.value,attrs:{href:n.value,target:"_blank"}},[e(c["c"],{staticClass:"products-list__item_title"},[t._v(" "+t._s(t.$translate(n.translateKey,n.text))+" ")])],1)})),1===t.currentUser.type||2===t.currentUser.type?[e(a["a"],{staticClass:"mt-2 mb-2 border-01"}),t._l(t.links,(function(n){return e(i["a"],{key:n.value,attrs:{href:n.value,target:"_blank"}},[e(c["c"],{staticClass:"products-list__item_title"},[t._v(" "+t._s(n.text)+" ")])],1)}))]:t._e(),1!==t.currentUser.type&&2!==t.currentUser.type||!t.productsListLinks.length?t._e():[e(a["a"],{staticClass:"mt-2 mb-2 border-01"}),e("div",{staticClass:"products-list__title ml-4"},[t._v(" "+t._s("".concat(t.$translate("sidebars.products-list.services","Сервисы"),":"))+" ")]),t._l(t.productsListLinks,(function(n){return e(i["a"],{key:n.name,staticClass:"products-list__link",class:n.strId===t.productStrId?"products-list__link--active":"",attrs:{href:n.link,link:""},on:{click:function(e){return e.preventDefault(),t.onClickChangeProduct(n.strId)}}},[e(c["c"],{staticClass:"products-list__item_title"},[t._v(" "+t._s(n.name)+" ")])],1)}))],1===t.currentUser.type||2===t.currentUser.type?[e(a["a"],{staticClass:"mt-2 mb-2 border-01"}),e("div",{staticClass:"products-list__title ml-4"},[t._v(" "+t._s("".concat(t.$translate("sidebars.products-list.lk","Личный кабинет"),":"))+" ")]),e("SelectWithFav",{staticClass:"ma-2",attrs:{value:t.accountId,url:t.isAccountsUrl,"fav-ids":t.accountsFav,"normalize-option":t.accountsNormalizeOption,clearable:!1,"item-text":"label","item-value":"id","menu-props":{minWidth:360,maxWidth:360,dark:!0},dark:""},on:{addFav:t.addFav,delFav:t.delFav,select:t.selectAccount}})]:t._e(),4===t.currentUser.type?[e(a["a"],{staticClass:"mt-2 mb-2 border-01"}),e("div",{staticClass:"products-list__title ml-4"},[t._v(" "+t._s("".concat(t.$translate("sidebars.products-list.lk","Личный кабинет"),":"))+" ")]),t._l(t.accounts,(function(n){return e(i["a"],{key:n.id,staticClass:"services-list__link",class:{"services-list__link--active":n.id===t.accountId},attrs:{link:""},on:{click:function(e){return t.selectAccount(n.id)}}},[e("div",{staticClass:"services-list__account-item-content"},[e(c["b"],[t._v(" "+t._s(t.getItemTitle(n).clipped)+" "),t.getItemTitle(n).full.length>35?e(r["a"],{attrs:{bottom:"","offset-overflow":"","max-width":256,"open-on-hover":!1},scopedSlots:t._u([{key:"activator",fn:function(n){var a=n.on;return[e("span",t._g({},a),[t._v("...")])]}}],null,!0)},[t._v(" "+t._s(t.getItemTitle(n).full)+" ")]):t._e()],1),e(c["c"],[t._v(" "+t._s(t.getItemDescription(n).clipped)+" "),t.getItemDescription(n).full.length>35?e(r["a"],{attrs:{bottom:"","offset-overflow":"","max-width":256,"open-on-hover":!1},scopedSlots:t._u([{key:"activator",fn:function(n){var a=n.on;return[e("span",t._g({},a),[t._v("...")])]}}],null,!0)},[t._v(" "+t._s(t.getItemDescription(n).full)+" ")]):t._e()],1)],1)])}))]:t._e()],2)}),u=[],l=n("2909"),d=n("c7eb"),f=n("1da1"),p=n("5530"),h=(n("a4d3"),n("e01a"),n("99af"),n("4de4"),n("14d9"),n("e9c4"),n("d3b7"),n("2f62")),_=n("a779"),b=n("ec9b"),v=n("dde5"),g=new _["a"]({backendURL:"https://api.accordpost.ru/apidm/v1",prefix:"isAccounts"}),m={name:"ServicesList",components:{SelectWithFav:b["a"]},data:function(){return{externalLinks:[{text:"Веб-сайт СДТ",translateKey:"sidebars.products-list.link.zao-sdt",value:"https://zao-sdt.com/"},{text:"Веб-сайт Accord Post",translateKey:"sidebars.products-list.link.accordpost",value:"https://www.accordpost.ru/"},{text:"Справочник по АПИ интеграции",translateKey:"sidebars.products-list.link.api-accordpost",value:"https://api.accordpost.ru/doc/redoc/index.html"},{text:"Инструкция ЛК Accord Post",translateKey:"sidebars.products-list.link.instructions-lk",value:"https://docs.google.com/document/d/18oci9ZAEEElAxWVLs1J0N6TfqvQDunRO"}],links:[{text:"Atlassian Servicedesk",value:"https://iitservices.atlassian.net/servicedesk/"},{text:"Atlassian Jira",value:"https://iitservices.atlassian.net/jira/your-work"},{text:"Atlassian Confluence",value:"https://iitservices.atlassian.net/wiki/home"}],accounts:[],accountId:null}},computed:Object(p["a"])(Object(p["a"])(Object(p["a"])(Object(p["a"])({},Object(h["e"])(["productStrId"])),Object(h["e"])("compendiums/its",["productsList"])),Object(h["e"])("accounts",["uiSettings","currentUser"])),{},{accountsFav:function(){var t;return(null===(t=this.uiSettings["ITS.isAccounts"])||void 0===t?void 0:t.favorites)||[]},productsListLinks:function(){return this.productsList.filter((function(t){return t.showInTaskbar}))},isAccountsUrl:function(){return"".concat("https://api.accordpost.ru/apidm/v1","/isAccounts")}}),created:function(){var t=this;return Object(f["a"])(Object(d["a"])().mark((function e(){var n,a,s;return Object(d["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return t.fetchUiSettings({settingsIdentifier:"ITS.isAccounts"}),e.next=3,g.fetch();case 3:n=e.sent,a=n.result,t.accounts=a,s=v["c"].getAuthData(),s.accountId&&"LK"===t.productStrId&&(t.accountId=String(s.accountId));case 9:case"end":return e.stop()}}),e)})))()},methods:Object(p["a"])(Object(p["a"])(Object(p["a"])({},Object(h["d"])(["setItem"])),Object(h["b"])("accounts",["fetchCurrentUser","fetchUiSettings","updateUiSettings"])),{},{accountsNormalizeOption:function(t){return Object(p["a"])(Object(p["a"])({},t),{},{label:t.summary})},onClickChangeProduct:function(t){if("LK"===this.productStrId){localStorage.setItem("productStrId",null);var e=v["c"].getAuthData(),n=e.access,a=e.refresh,s=e.accountId,i=e.sysCode;window.location.assign("".concat("https://its.accordpost.ru/","?authData=").concat(JSON.stringify({access:n,refresh:a,accountId:s,sysCode:i}),"&productStrId=").concat(t))}else localStorage.setItem("productStrId",t),this.setItem({item:"productStrId",value:t}),this.setItem({item:"anyMenuIsOpen",value:!1}),"Dashboard"!==this.$route.name&&this.$router.push({name:"Dashboard"})},addFav:function(t){this.updateUiSettings({settingsIdentifier:"ITS.isAccounts",data:{favorites:[].concat(Object(l["a"])(this.accountsFav),[t])}})},delFav:function(t){this.updateUiSettings({settingsIdentifier:"ITS.isAccounts",data:{favorites:this.accountsFav.filter((function(e){return e!==t}))}})},selectAccount:function(t){var e=this;return Object(f["a"])(Object(d["a"])().mark((function n(){var a,s,i;return Object(d["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.next=2,e.fetchCurrentUser();case 2:if(n.t0=n.sent,n.t0){n.next=5;break}n.t0={};case 5:a=n.t0,s=v["c"].getAuthData(),i=Object(p["a"])(Object(p["a"])({},s),{},{accountId:t,sysCode:e.getSysCode(t)}),localStorage.removeItem("requestedPage"),localStorage.setItem("selectBilling",JSON.stringify({accountId:t,sysCode:e.getSysCode(t),id:(null===a||void 0===a?void 0:a.id)||null})),window.location.assign("".concat(Object({NODE_ENV:"production",VUE_APP_ADDRESS_URL:"https://api.accordpost.ru/address/v1",VUE_APP_APDASHBOARD_URL:"https://api.accordpost.ru/apdashboard/v1",VUE_APP_APIDM_URL:"https://api.accordpost.ru/apidm/v1",VUE_APP_APLK_URL:"https://api.accordpost.ru/aplk2/v1",VUE_APP_BILLING_URL:"https://api.accordpost.ru/billing/v1",VUE_APP_IMPORT_URL:"https://api.accordpost.ru/apimport/v1",VUE_APP_ITS_URL:"https://its.accordpost.ru/",VUE_APP_RECAPTCHA_SITE_KEY:"6LcAeMMZAAAAADg9QLipDR6Z1d2cDUkrK4IeCY3G",VUE_APP_RECAPTCHA_URL:"https://www.google.com/recaptcha/api.js?render=",VUE_APP_WSOCKET_URL:"wss://api.accordpost.ru/apidm_ws/v1/apidm",BASE_URL:"/"}).VUE_APP_DSS_URL||"".concat(window.location.origin,"/"),"?authData=").concat(JSON.stringify(i)));case 11:case"end":return n.stop()}}),n)})))()},getSysCode:function(t){return this.accounts.filter((function(e){return e.id==t}))[0].sysCode},getItemTitle:function(t){var e=t.clientName;return this.trimTitle(e)},getItemDescription:function(t){return this.trimTitle(t.description)},trimTitle:function(t){return{full:t,clipped:t.substr(0,35)}}})},k=m,y=(n("13c4"),n("2877")),O=Object(y["a"])(k,o,u,!1,null,"8ca874ee",null);e["a"]=O.exports},"934d":function(t,e,n){},"9f9b":function(t,e,n){},a150:function(t,e,n){},a95d:function(t,e,n){},ad3e:function(t,e,n){"use strict";n("e6c1")},bb10:function(t,e,n){"use strict";n("6e59")},ca3d:function(t,e,n){"use strict";n("21f8")},d41c:function(t,e,n){"use strict";n("68de")},e6c1:function(t,e,n){},fdd0:function(t,e,n){"use strict";n("47b2")}}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlUmlnaHRNZW51L05vdGlmaWNhdGlvbnNDZW50ZXIudnVlIiwid2VicGFjazovLy9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlUmlnaHRNZW51L05vdGlmaWNhdGlvbnNDZW50ZXIudnVlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVSaWdodE1lbnUvTm90aWZpY2F0aW9uc0NlbnRlci52dWU/YzAwMyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlUmlnaHRNZW51L05vdGlmaWNhdGlvbnNDZW50ZXIudnVlP2ZiZjEiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZUxlZnRNZW51RnVsbC52dWUiLCJ3ZWJwYWNrOi8vL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVMZWZ0TWVudUZ1bGwudnVlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVMZWZ0TWVudUZ1bGwudnVlPzgxMmYiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZUxlZnRNZW51RnVsbC52dWU/NjBiYSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlTGVmdE1lbnVDb21wYWN0LnZ1ZSIsIndlYnBhY2s6Ly8vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZUxlZnRNZW51Q29tcGFjdC52dWUiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZUxlZnRNZW51Q29tcGFjdC52dWU/NzBiYSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlTGVmdE1lbnVDb21wYWN0LnZ1ZT84MzQxIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVSaWdodE1lbnUvU2VydmljZXNMaXN0LnZ1ZT9hZGRjIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVSaWdodE1lbnUvVGhlUmlnaHRNZW51TWl4aW4udnVlIiwid2VicGFjazovLy9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlUmlnaHRNZW51L1RoZVJpZ2h0TWVudU1peGluLnZ1ZSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlUmlnaHRNZW51L1RoZVJpZ2h0TWVudU1peGluLnZ1ZT9jMDVjIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVSaWdodE1lbnUvVGhlUmlnaHRNZW51TWl4aW4udnVlPzVkMTUiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZUxlZnRNZW51TGlzdC52dWU/OTczYiIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckJ1dHRvbnMvQWNjb3VudC52dWUiLCJ3ZWJwYWNrOi8vL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVIZWFkZXIvVGhlSGVhZGVyQnV0dG9ucy9BY2NvdW50LnZ1ZSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckJ1dHRvbnMvQWNjb3VudC52dWU/ZGUyYyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckJ1dHRvbnMvQWNjb3VudC52dWU/NTFkNCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlck1peGluLnZ1ZSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckZhdm9yaXRCYXIudnVlIiwid2VicGFjazovLy9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckZhdm9yaXRCYXIudnVlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVIZWFkZXIvVGhlSGVhZGVyRmF2b3JpdEJhci52dWU/MzFlMCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckZhdm9yaXRCYXIudnVlP2Y3ZWYiLCJ3ZWJwYWNrOi8vL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVIZWFkZXIvVGhlSGVhZGVyTWl4aW4udnVlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVIZWFkZXIvVGhlSGVhZGVyTWl4aW4udnVlP2I4NmMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZUhlYWRlci9UaGVIZWFkZXJNaXhpbi52dWU/YThmYyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9kYWRhdGEvRGFkYXRhU2VhcmNoQWRkcmVzcy52dWU/MDczNSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckJ1dHRvbnMvTm90aWZpY2F0aW9uc0NlbnRlci52dWUiLCJ3ZWJwYWNrOi8vL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVIZWFkZXIvVGhlSGVhZGVyQnV0dG9ucy9Ob3RpZmljYXRpb25zQ2VudGVyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckJ1dHRvbnMvTm90aWZpY2F0aW9uc0NlbnRlci52dWU/YzZmOSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckJ1dHRvbnMvTm90aWZpY2F0aW9uc0NlbnRlci52dWU/NGU4OSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlTGVmdE1lbnVMaXN0LnZ1ZSIsIndlYnBhY2s6Ly8vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZUxlZnRNZW51TGlzdC52dWUiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZUxlZnRNZW51TGlzdC52dWU/NmI0NSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlTGVmdE1lbnVMaXN0LnZ1ZT8wYjU1Iiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVIZWFkZXIvVGhlSGVhZGVyTWl4aW4udnVlPzI5NWQiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZVJpZ2h0TWVudS9BY2NvdW50LnZ1ZSIsIndlYnBhY2s6Ly8vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZVJpZ2h0TWVudS9BY2NvdW50LnZ1ZSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlUmlnaHRNZW51L0FjY291bnQudnVlP2FlZDEiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZVJpZ2h0TWVudS9BY2NvdW50LnZ1ZT8yZTMyIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVIZWFkZXIvVGhlSGVhZGVyQnV0dG9ucy9UaGVIZWFkZXJCdXR0b25zTWl4aW4udnVlIiwid2VicGFjazovLy9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckJ1dHRvbnMvVGhlSGVhZGVyQnV0dG9uc01peGluLnZ1ZSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckJ1dHRvbnMvVGhlSGVhZGVyQnV0dG9uc01peGluLnZ1ZT8zZDg2Iiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVIZWFkZXIvVGhlSGVhZGVyQnV0dG9ucy9UaGVIZWFkZXJCdXR0b25zTWl4aW4udnVlPzg4OGIiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvZGFkYXRhL0RhZGF0YVNlYXJjaEFkZHJlc3MudnVlIiwid2VicGFjazovLy9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9kYWRhdGEvRGFkYXRhU2VhcmNoQWRkcmVzcy52dWUiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvZGFkYXRhL0RhZGF0YVNlYXJjaEFkZHJlc3MudnVlPzQxNDMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvZGFkYXRhL0RhZGF0YVNlYXJjaEFkZHJlc3MudnVlPzZmZTciLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZVJpZ2h0TWVudS9UaGVSaWdodE1lbnVNaXhpbi52dWU/NGFhMyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckJ1dHRvbnMvU2VydmljZXNMaXN0LnZ1ZSIsIndlYnBhY2s6Ly8vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZUhlYWRlci9UaGVIZWFkZXJCdXR0b25zL1NlcnZpY2VzTGlzdC52dWUiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZUhlYWRlci9UaGVIZWFkZXJCdXR0b25zL1NlcnZpY2VzTGlzdC52dWU/NmM4YyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckJ1dHRvbnMvU2VydmljZXNMaXN0LnZ1ZT9hYmUyIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVSaWdodE1lbnUvU2VydmljZXNMaXN0LnZ1ZSIsIndlYnBhY2s6Ly8vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZVJpZ2h0TWVudS9TZXJ2aWNlc0xpc3QudnVlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVSaWdodE1lbnUvU2VydmljZXNMaXN0LnZ1ZT80OTVhIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVSaWdodE1lbnUvU2VydmljZXNMaXN0LnZ1ZT8xNWYyIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVSaWdodE1lbnUvQWNjb3VudC52dWU/NjNkMSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckZhdm9yaXRCYXIudnVlP2ViYzEiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvbGF5b3V0L1RoZUhlYWRlci9UaGVIZWFkZXJGYXZvcml0QmFyLnZ1ZT8xMTI3Iiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL2xheW91dC9UaGVSaWdodE1lbnUvTm90aWZpY2F0aW9uc0NlbnRlci52dWU/NzZjOCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9sYXlvdXQvVGhlSGVhZGVyL1RoZUhlYWRlckJ1dHRvbnMvVGhlSGVhZGVyQnV0dG9uc01peGluLnZ1ZT81NTdmIl0sIm5hbWVzIjpbInN0YXRpY0NsYXNzIiwiX3ZtIiwibW9kZWwiLCJzaG93VG9hc3ROb3RpZmljYXRpb25zVG9nZ2xlIiwiY2FsbGJhY2siLCJleHByZXNzaW9uIiwiX2MiLCJzY29wZWRTbG90cyIsImZuIiwiX3YiLCJhdHRycyIsIm9uIiwib3BlbmVkTGlzdCIsImlzT3BlblVucmVhZExpc3QiLCJzdXBwcmVzc1Njcm9sbFgiLCJrZXkiLCJldmVudFR5cGUiLCJkaXJlY3RpdmVzIiwibmFtZSIsInJhd05hbWUiLCJyaWdodCIsIm1hcmtSZWFkTm90aWZpY2F0aW9ucyIsIm5vdGlmaWNhdGlvbiIsInN0YXRpY1JlbmRlckZucyIsInJlbmRlciIsImRhdGEiLCJpc1Nob3dOb3RpZmljYXRpb25zVG9nZ2xlVG9vbHRpcCIsImNvbXB1dGVkIiwiX29iamVjdFNwcmVhZCIsIm1hcFN0YXRlIiwibm90aWZpY2F0aW9uTGlzdCIsIm5vdGlmaWNhdGlvbnMiLCJnZXQiLCJpc1Nob3dUb2FzdE5vdGlmaWNhdGlvbnMiLCJzZXQiLCJ2YWx1ZSIsInNldEl0ZW0iLCJpdGVtIiwibWV0aG9kcyIsIm1hcEFjdGlvbnMiLCJtYXBNdXRhdGlvbnMiLCJvbkNsaWNrTWFya1JlYWRBbGxOb3RpZmljYXRpb25zIiwibWFwIiwiaWQiLCJpZHMiLCJkZWxldGVOb3RpZmljYXRpb25zIiwidXBkYXRlTm90aWZpY2F0aW9uIiwid2FzUmVhZCIsImNvbXBvbmVudCIsInRoaXMiLCJfc2VsZiIsIiR2dWV0aWZ5IiwiYnJlYWtwb2ludCIsIm1kQW5kVXAiLCJzbUFuZERvd24iLCIkZXZlbnQiLCIkZW1pdCIsIl90IiwicHJvcHMiLCJ0eXBlIiwiQm9vbGVhbiIsInhsQW5kRG93biIsInRhZyIsIlN0cmluZyIsImRlZmF1bHQiLCJfcmVmIiwiY2xhc3MiLCJhY3RpdmVSaWdodE1lbnUiLCJjcmVhdGVkIiwiJGkxOG4iLCJmZXRjaE1lc3NhZ2VzIiwiY3VycmVudFVzZXIiLCJkcmF3ZXJJc1Zpc2libGUiLCJpc0JveGJlcnJ5Iiwic2hvd0NvbnRhY3RzIiwiZ2V0Q29udGFjdEluZm8iLCJzdGF0aWNTdHlsZSIsIl9zIiwicmlnaHRNZW51IiwidGFiIiwiJHRyYW5zbGF0ZSIsImxpbmsiLCJ0ZXh0IiwiZmF2b3JpdGVzIiwidWlTZXR0aW5ncyIsImNvbmNhdCIsInByb2R1Y3RTdHJJZCIsIl9yZWYkZmF2b3JpdGVzIiwibGVuZ3RoIiwiX2Zhdm9yaXRlcyIsIl90b0FycmF5IiwiZmF2MSIsImZhdjIiLCJmYXYzIiwiZmF2TiIsInNsaWNlIiwiY2hpbGRyZW4iLCJpc0FjY291bnRzU2VydmljZSIsIkNvbW1vblNlcnZpY2UiLCJiYWNrZW5kVVJMIiwicHJvY2VzcyIsInByZWZpeCIsImNvbXBvbmVudHMiLCJUaGVIZWFkZXJGYXZvcml0QmFyIiwiYXV0aCIsInVzZXJNZW51SXNWaXNpYmxlIiwiY3VyQ2xpZW50IiwibG9naW4iLCJjb250YWN0cyIsImZpbHRlciIsImNvbnRhY3RUeXBlIiwiX3JlZjIiLCJpdGVtVHlwZSIsImZpbyIsImVtYWlsIiwicGhvbmUiLCJyZWR1Y2UiLCJwcmV2IiwiY3VyciIsIk9iamVjdCIsImFzc2lnbiIsImlzTG9hZGluZ0xvZ28iLCJsb2dvIiwid2F0Y2giLCIkcm91dGUiLCJoYW5kbGVyIiwidmFsIiwiX3RoaXMiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsIm5leHQiLCJpbmRleE9mIiwiaGFuZGxlckN1ckNsaWVudCIsImhhbmRsZXJBdXRoIiwic3RvcCIsImRlZXAiLCJtb3VudGVkIiwiX3RoaXMyIiwiX2NhbGxlZTIiLCJfdGhpczIkY3VyQ2xpZW50IiwiX3RoaXMyJGN1ckNsaWVudDIiLCJfcmVmMyIsImFjY291bnRzIiwiYXV0aERhdGEiLCJmaW5kQWNjIiwiX2NvbnRleHQyIiwiZmV0Y2giLCJ0MCIsInNlbnQiLCJyZXN1bHQiLCJhdXRoU2VydmljZSIsImdldEF1dGhEYXRhIiwiZmluZCIsImFjYyIsImFjY291bnRJZCIsInNldEF1dGhEYXRhIiwic3lzQ29kZSIsInQxIiwiX3RoaXMzIiwiX2NhbGxlZTMiLCJfY29udGV4dDMiLCJfdSIsInVucmVhZCIsInNlY3Rpb24iLCJwcmV2ZW50RGVmYXVsdCIsImNsaWNrIiwiY3VzdG9taXplSW50ZXJmYWNlRW5hYmxlZCIsImlzTWluaSIsImxpbmtGb3JtYXR0ZXIiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJzdG9yYWdlUGF0aFJlZmVycmVyIiwiSlNPTiIsInBhcnNlIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsIldNUyIsImlzTWFyc2hyb3V0ZSIsInJlcGxhY2VBbGwiLCJvbkNsaWNrRmF2IiwiZmF2IiwiaXNGYWYiLCJkZWxGYXYiLCJhZGRGYXYiLCJzb21lIiwib25DbGlja0xvZ091dCIsImV2ZW50QnVzIiwiaXNXaGl0ZVRoZW1lIiwibG9jYWxlIiwiJHJvdXRlciIsImlzUHJvZHVjdGlvbiIsIm1hcEdldHRlcnMiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhvc3RuYW1lIiwiaW5jbHVkZXMiLCJ1cGRhdGVVaVNldHRpbmdzIiwic2V0dGluZ3NJZGVudGlmaWVyIiwic3RhdHVzTmFtZSIsImdldFVzZXJTdGF0dXMiLCJzdGF0dXMiLCJ0eXBlTmFtZSIsImdldFVzZXJUeXBlIiwidGhlbWUiLCJ0aGVtZXMiLCJ0aGVtZXNNYW5hZ2VyIiwiY2hhbmdlIiwic2V0VGhlbWUiLCJjb25zb2xlIiwibG9nIiwiX2wiLCJidXR0b25zIiwiYnV0dG9uIiwib3BlblJpZ2h0TWVudSIsIl9lIiwibGFiZWwiLCJvbklucHV0Rm9jdXMiLCJvbklucHV0Qmx1ciIsInNsb3ROYW1lIiwiaW5wdXRRdWVyeSIsInN1Z2dlc3Rpb25zIiwic3VnZ2VzdGlvbiIsImluZGV4IiwiSGlnaGxpZ2h0ZXIiLCJFdmVudCIsInF1ZXJ5IiwibG9jYXRpb25zIiwiQXJyYXkiLCJsb2NhdGlvbnNCb29zdCIsImZyb21Cb3VuZCIsInRvQm91bmQiLCJjb3VudCIsInBsYWNlaG9sZGVyIiwiZGlzYWJsZWQiLCJhdXRvY29tcGxldGUiLCJpbnB1dE5hbWUiLCJvdXRsaW5lZCIsImNoZWNrRmlhc0xldmVsIiwiTnVtYmVyIiwiZXJyb3JGaWFzTGV2ZWwiLCJjaGVja0hvbWUiLCJlcnJvckhvbWUiLCJpbnB1dEZvY3VzZWQiLCJzdWdnZXN0aW9uSW5kZXgiLCJzdWdnZXN0aW9uc1Zpc2libGUiLCJpc1ZhbGlkIiwic2VsZWN0ZWRTdWdnZXN0aW9uIiwiZGVib3VuY2VGZXRjaFN1Z2dlc3Rpb24iLCJfIiwiZGVib3VuY2UiLCJhYnJ1cHQiLCJmZXRjaFN1Z2dlc3Rpb25zIiwic2xvdHNOYW1lcyIsImtleXMiLCIkc2NvcGVkU2xvdHMiLCJlcnJvck1lc3NhZ2UiLCJpc0VtcHR5IiwiZmlhc0NoZWNrTGV2ZWwiLCJfdGhpcyRzZWxlY3RlZFN1Z2dlc3QiLCJmaWFzX2xldmVsIiwiaG9tZUNoZWNrIiwiX3RoaXMkc2VsZWN0ZWRTdWdnZXN0MiIsImhvdXNlIiwiYXV0b2xvYWQiLCJfdGhpczQiLCJfY2FsbGVlNCIsIl9jb250ZXh0NCIsIl9jYWxsZWU1IiwiX2NvbnRleHQ1Iiwic2V0SW5wdXRRdWVyeSIsIm9uSW5wdXRDaGFuZ2UiLCJldmVudCIsIl90aGlzNSIsIl9jYWxsZWU2IiwiX2NvbnRleHQ2Iiwic2VsZWN0U3VnZ2VzdGlvbiIsIl90aGlzNiIsIl9jYWxsZWU3IiwiX2NvbnRleHQ3IiwiJG5leHRUaWNrIiwib25DaGFuZ2UiLCJvbktleVByZXNzIiwiX3RoaXM3IiwiX2NhbGxlZTgiLCJBUlJPV19ET1dOIiwiQVJST1dfVVAiLCJFTlRFUiIsIl9jb250ZXh0OCIsIndoaWNoIiwib25TdWdnZXN0aW9uQ2xpY2siLCJfdGhpczgiLCJfY2FsbGVlOSIsIl9jb250ZXh0OSIsIl90aGlzOSIsIl9jYWxsZWUxMCIsIl95aWVsZCRzdWdnZXN0aW9uU2VydiIsIl9jb250ZXh0MTAiLCJsb2NhdGlvbnNfYm9vc3QiLCJmcm9tX2JvdW5kIiwidG9fYm91bmQiLCJzdWdnZXN0aW9uU2VydmljZSIsImNyZWF0ZSIsImxpbmtzIiwicHJvZHVjdCIsImlzQWNjb3VudHNVcmwiLCJtaW5XaWR0aCIsImFjY291bnQiLCJTZWxlY3RXaXRoRmF2IiwiZXh0ZXJuYWxMaW5rcyIsInRyYW5zbGF0ZUtleSIsImFjY291bnRzRmF2IiwiX3RoaXMkdWlTZXR0aW5ncyRJVFMiLCJwcm9kdWN0c0xpc3RMaW5rcyIsInByb2R1Y3RzTGlzdCIsInNob3dJblRhc2tiYXIiLCJfeWllbGQkaXNBY2NvdW50c1NlcnYiLCJmZXRjaFVpU2V0dGluZ3MiLCJhY2NvdW50c05vcm1hbGl6ZU9wdGlvbiIsIm9wdGlvbiIsInN1bW1hcnkiLCJvbkNsaWNrQ2hhbmdlUHJvZHVjdCIsInN0cklkIiwiX2F1dGhTZXJ2aWNlJGdldEF1dGhEIiwiYWNjZXNzIiwicmVmcmVzaCIsInN0cmluZ2lmeSIsInB1c2giLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzZWxlY3RBY2NvdW50IiwiYWNjb3VudEF1dGhEYXRhIiwiZmV0Y2hDdXJyZW50VXNlciIsImdldFN5c0NvZGUiLCJyZW1vdmVJdGVtIiwiVlVFX0FQUF9EU1NfVVJMIiwib3JpZ2luIiwiZ2V0SXRlbVRpdGxlIiwiZnVsbExhYmVsIiwiY2xpZW50TmFtZSIsInRyaW1UaXRsZSIsImdldEl0ZW1EZXNjcmlwdGlvbiIsImRlc2NyaXB0aW9uIiwidGl0bGUiLCJmdWxsIiwiY2xpcHBlZCIsInN1YnN0ciJdLCJtYXBwaW5ncyI6IjhOQUFnVSxFQUFJLFcsSUFBZUEsT0FBeUMsRUFBSyxRQUFVLEcsT0FBTyxFQUFDLFMsWUFBU0MsMEMsQ0FFalYsUSxZQUEwQixhLENBQVEsS0FBTyxJQUFDLDhGQUFFLFlBQUMsd0JBQUNDLEVBQUssT0FBQyxDLFlBQVlDLDhCLENBQThCQyxTQUFTLEMsTUFBbUIsQ0FBaUMsTUFBQyxpS0FBQ0MsZUFBVyxHQUE4QixjQUFJQyxNQUFHLEksTUFBb0IsQ0FBWSxxQ0FBcUIsa0JBQWUsR0FBQywrQkFBYSxHQUFLQyxXQUFZTixrQ0FBeUJPLEVBQUUsT0FBQ0EsQyxNQUFnQixDLE9BQVNGLEcsa0JBQStCLEcsWUFBYSxJLGFBQVEsSyxZQUFVQSxFQUFHLEtBQWtELGdCQUFHLGVBQU0sSUFBQyxFQUFPLEVBQUtHLEdBQXdNVCxNQUFXLEdBQUMsYUFBbUUsbUJBQUMsTUFBUUMsQ0FBbUMsVUFBK0hELEdBQVcsQ0FBQyxzREFBMEdVLEdBQUssT0FBQyxzTSxZQUFTLGdFLEdBQVMsQ0FBMkQsTUFBUSxvQ0FBSUMsQ0FBRSxFQUFDLHVHLFlBQVMsNEMsR0FBaUJWLE9BQUlXLEMsWUFBcUIscUNBQUMsT0FBSVgsTUFBTyxTQUFxR0QsTUFBVyxFQUFDLDJDQUFxQ1UsTUFBTSxJLEdBQWUsQ0FBNEQsTUFBUSxZQUFHLHlCLEdBQThCVCxHQUFJVyxNQUFVLEdBQUcsRUFBSyxtRixZQUFBLHFDQUFDLE9BQUlYLE1BQU8sTUFBaUdELE1BQVcsRUFBQywyQ0FBeUJDLE1BQUlZLElBQXlGSCxJQUFPLE1BQVMsU0FBQyxH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QUVBeUosT0FBQUMsU0FBQTdFLE9BQUEsR0FBQW5DLE9BQUFlLHlvQkFBQTZPLGlCQUFBLEdBQUE1UCxPQUFBK0csT0FBQUMsU0FBQTZJLE9BQUEsbUJBQUE3UCxPQUFBMkYsS0FBQXlKLFVBQUFJLEtBQUEseUJBQUF4TCxFQUFBWCxVQUFBSSxNQWRBZCxJQWdCQStNLFdBQUEsU0FBQXBTLEdBQ0EsWUFBQXVHLFNBQUFyQyxRQUFBLFNBQUF4RSxHQUFBLE9BQUFBLEVBQUFNLFNBQUEsR0FBQXFILFNBRUFtTCxhQUFBLFNBQUE5UyxHQUNBLElBQUErUyxFQUFBL1MsRUFBQWdULFdBQ0EsWUFBQUMsVUFBQUYsSUFFQUcsbUJBQUEsU0FBQWxULEdBQ0EsWUFBQWlULFVBQUFqVCxFQUFBbVQsY0FFQUYsVUFBQSxTQUFBRyxHQUNBLE9BQ0FDLEtBQUFELEVBQ0FFLFFBQUFGLEVBQUFHLE9BQUEsV0N0U2tULEksd0JDUTlTNVMsRUFBWSxlQUNkLEVBQ0EsRUFDQXpCLEdBQ0EsRUFDQSxLQUNBLFdBQ0EsTUFJYSxPQUFBeUIsRSwySUNuQmYsVyxrQ0NBQSxXLGtDQ0FBLFcsa0NDQUEsVyx5RENBQSIsImZpbGUiOiJqcy9jaHVuay12ZW5kb3JzfjU0YTFjYzMwLjM0OWVlZmQxLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpe3ZhciBfdm09dGhpcyxfYz1fdm0uX3NlbGYuX2M7cmV0dXJuIF9jKCdhc2lkZScse3N0YXRpY0NsYXNzOlwibm90aWZpY2F0aW9uLWNlbnRlciBkLWZsZXggZmxleC1jb2x1bW5cIn0sW19jKCdoMycse3N0YXRpY0NsYXNzOlwibWwtNCBtdC0yXCJ9LFtfdm0uX3YoXCIgXCIrX3ZtLl9zKF92bS4kdHJhbnNsYXRlKCdzaWRlYmFycy5ub3RpZmljYXRpb24tY2VudGVyLnRpdGxlJywgJ9Cm0LXQvdGC0YAg0YPQstC10LTQvtC80LvQtdC90LjQuScpKStcIiBcIildKSxfYygndi1kaXZpZGVyJyx7c3RhdGljQ2xhc3M6XCJtdC0yIG1iLTIgYm9yZGVyLTAxXCJ9KSxfYygndi1saXN0LWl0ZW0nLHtzdGF0aWNDbGFzczpcIm5vdGlmaWNhdGlvbi1jZW50ZXJfX3RpdGxlXCJ9LFtfYygndi1zd2l0Y2gnLHthdHRyczp7XCJsYWJlbFwiOl92bS5zaG93VG9hc3ROb3RpZmljYXRpb25zVG9nZ2xlID9cbiAgICAgIF92bS4kdHJhbnNsYXRlKCdzaWRlYmFycy5ub3RpZmljYXRpb24tY2VudGVyLmVuYWJsZWQnLCAn0JLQutC70Y7Rh9C10L3RiycpIDpcbiAgICAgIF92bS4kdHJhbnNsYXRlKCdzaWRlYmFycy5ub3RpZmljYXRpb24tY2VudGVyLmRpc2FibGVkJywgJ9Ce0YLQutC70Y7Rh9C10L3RiycpLFwiaGlkZS1kZXRhaWxzXCI6XCJcIixcImNvbG9yXCI6XCJncmVlblwiLFwiZGVuc2VcIjpcIlwifSxtb2RlbDp7dmFsdWU6KF92bS5zaG93VG9hc3ROb3RpZmljYXRpb25zVG9nZ2xlKSxjYWxsYmFjazpmdW5jdGlvbiAoJCR2KSB7X3ZtLnNob3dUb2FzdE5vdGlmaWNhdGlvbnNUb2dnbGU9JCR2fSxleHByZXNzaW9uOlwic2hvd1RvYXN0Tm90aWZpY2F0aW9uc1RvZ2dsZVwifX0pLF9jKCd2LXRvb2x0aXAnLHthdHRyczp7XCJib3R0b21cIjpcIlwiLFwib2Zmc2V0LW92ZXJmbG93XCI6XCJcIixcIm1heC13aWR0aFwiOjI1NixcIm9wZW4tZGVsYXlcIjo1MDB9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImFjdGl2YXRvclwiLGZuOmZ1bmN0aW9uKHsgb24gfSl7cmV0dXJuIFtfYygndi1idG4nLF92bS5fZyh7c3RhdGljQ2xhc3M6XCJtdC0zXCIsYXR0cnM6e1wiaWNvblwiOlwiXCJ9fSxvbiksW19jKCd2LWljb24nLFtfdm0uX3YoXCJtZGktaW5mb3JtYXRpb24tb3V0bGluZVwiKV0pXSwxKV19fV0pfSxbX2MoJ3NwYW4nLFtfdm0uX3YoXCIg0J/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70Ywg0L/QvtC30LLQvtC70Y/QtdGCINCy0LrQu9GO0YfQsNGC0YwgLyDQvtGC0LrQu9GO0YfQsNGC0Ywg0LLRgdC/0LvRi9Cy0LDRjtGJ0LjQtSDRg9Cy0LXQtNC+0LzQu9C10L3QuNGPINC+INGB0LjRgdGC0LXQvNC90YvRhSDRgdC+0LHRi9GC0LjRj9GFLiDQndCw0YHRgtGA0L7QudC60LAg0L3QtSDQstC70LjRj9C10YIg0L3QsCDRg9Cy0LXQtNC+0LzQu9C10L3QuNGPINCyINC80LXQvdGOIOKAnNCm0LXQvdGC0YDQsCDRg9Cy0LXQtNC+0LzQu9C10L3QuNC54oCdLiBcIildKV0pLChfdm0uaXNPcGVuVW5yZWFkTGlzdCk/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwibm90aWZpY2F0aW9uLWNlbnRlcl9fY2xlYXItYWxsLWJ1dHRvbiBwcmltYXJ5LS10ZXh0IG10LTQgbWwtMlwiLG9uOntcImNsaWNrXCI6X3ZtLm9uQ2xpY2tNYXJrUmVhZEFsbE5vdGlmaWNhdGlvbnN9fSxbX3ZtLl92KFwiIFwiK192bS5fcyhfdm0uJHRyYW5zbGF0ZSgnc2lkZWJhcnMubm90aWZpY2F0aW9uLWNlbnRlci5jbGVhcicsICfQntGH0LjRgdGC0LjRgtGMJykpK1wiIFwiKV0pOl92bS5fZSgpXSwxKSxfYygndi1idG4tdG9nZ2xlJyx7c3RhdGljQ2xhc3M6XCJub3RpZmljYXRpb24tY2VudGVyX190b2dnbGUtYnV0dG9ucyBtdC0yXCJ9LFtfYygndi1idG4nLHtzdGF0aWNDbGFzczpcIm5vdGlmaWNhdGlvbi1jZW50ZXJfX3RvZ2dsZS1idXR0b25cIixhdHRyczp7XCJ2YWx1ZVwiOlwidW5yZWFkXCIsXCJjb2xvclwiOl92bS5pc09wZW5VbnJlYWRMaXN0ID8gJ3ByaW1hcnknIDogJ2dyZXkgZGFya2VuLTMnLFwic21hbGxcIjpcIlwifSxvbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7X3ZtLm9wZW5lZExpc3QgPSAndW5yZWFkJ319fSxbX3ZtLl92KFwiIFwiK192bS5fcyhfdm0uJHRyYW5zbGF0ZSgnc2lkZWJhcnMubm90aWZpY2F0aW9uLWNlbnRlci51bnJlZCcsICfQndC10L/RgNC+0YfQuNGC0LDQvdC90YvQtScpKStcIiBcIildKSxfYygndi1idG4nLHtzdGF0aWNDbGFzczpcIm5vdGlmaWNhdGlvbi1jZW50ZXJfX3RvZ2dsZS1idXR0b25cIixhdHRyczp7XCJ2YWx1ZVwiOlwiYWxsXCIsXCJjb2xvclwiOiFfdm0uaXNPcGVuVW5yZWFkTGlzdCA/ICdwcmltYXJ5JyA6ICdncmV5IGRhcmtlbi0zJyxcInNtYWxsXCI6XCJcIn0sb246e1wiY2xpY2tcIjpmdW5jdGlvbigkZXZlbnQpe192bS5vcGVuZWRMaXN0ID0gJ2FsbCd9fX0sW192bS5fdihcIiBcIitfdm0uX3MoX3ZtLiR0cmFuc2xhdGUoJ3NpZGViYXJzLm5vdGlmaWNhdGlvbi1jZW50ZXIuYWxsJywgJ9CS0YHQtScpKStcIiBcIildKV0sMSksX2MoJ3YtZGl2aWRlcicse3N0YXRpY0NsYXNzOlwibXQtMiBtYi0yIGJvcmRlci0wMVwifSksKF92bS5pc09wZW5VbnJlYWRMaXN0KT9fYygncGVyZmVjdC1zY3JvbGxiYXInLHtzdGF0aWNDbGFzczpcIm5vdGlmaWNhdGlvbi1jZW50ZXJfX3Njcm9sbC1hcmVhXCIsYXR0cnM6e1wib3B0aW9uc1wiOnsgc3VwcHJlc3NTY3JvbGxYOiB0cnVlIH19fSxbX2MoJ3RyYW5zaXRpb24tZ3JvdXAnLHthdHRyczp7XCJuYW1lXCI6XCJzbGlkZS14LXJldmVyc2UtdHJhbnNpdGlvblwifX0sX3ZtLl9sKChfdm0ubm90aWZpY2F0aW9uTGlzdCksZnVuY3Rpb24obm90aWZpY2F0aW9uKXtyZXR1cm4gX2MoJ3YtbGlzdC1pdGVtJyx7a2V5Om5vdGlmaWNhdGlvbi5ldmVudFR5cGUgKyBub3RpZmljYXRpb24uaWQsc3RhdGljQ2xhc3M6XCJwYS0wXCJ9LFtfYygnQXBwTm90aWZpY2F0aW9uJyxfdm0uX2Ioe2RpcmVjdGl2ZXM6W3tuYW1lOlwidG91Y2hcIixyYXdOYW1lOlwidi10b3VjaFwiLHZhbHVlOih7XG4gICAgICAgICAgICByaWdodDogKCkgPT4geyBfdm0ubWFya1JlYWROb3RpZmljYXRpb25zKFtub3RpZmljYXRpb24uaWRdKSB9XG4gICAgICAgICAgfSksZXhwcmVzc2lvbjpcIntcXG4gICAgICAgICAgICByaWdodDogKCkgPT4geyBtYXJrUmVhZE5vdGlmaWNhdGlvbnMoW25vdGlmaWNhdGlvbi5pZF0pIH1cXG4gICAgICAgICAgfVwifV0sYXR0cnM6e1widmlzaWJsZVwiOlwiXCIsXCJpcy10b2FzdFwiOlwiXCIsXCJkYXJrXCI6XCJcIn0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe3JldHVybiBfdm0ubWFya1JlYWROb3RpZmljYXRpb25zKFtub3RpZmljYXRpb24uaWRdKX19fSwnQXBwTm90aWZpY2F0aW9uJyxub3RpZmljYXRpb24sZmFsc2UpKV0sMSl9KSwxKV0sMSk6X2MoJ3BlcmZlY3Qtc2Nyb2xsYmFyJyxfdm0uX2woKF92bS5ub3RpZmljYXRpb25zLmFsbCksZnVuY3Rpb24obm90aWZpY2F0aW9uKXtyZXR1cm4gX2MoJ3YtbGlzdC1pdGVtJyx7a2V5Om5vdGlmaWNhdGlvbi5pZCxzdGF0aWNDbGFzczpcInBhLTBcIn0sW19jKCdBcHBOb3RpZmljYXRpb24nLF92bS5fYih7YXR0cnM6e1wiZGlzbWlzc2libGVcIjpmYWxzZSxcInZpc2libGVcIjpcIlwiLFwiaXMtdG9hc3RcIjpcIlwiLFwiZGFya1wiOlwiXCJ9fSwnQXBwTm90aWZpY2F0aW9uJyxub3RpZmljYXRpb24sZmFsc2UpKV0sMSl9KSwxKV0sMSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiPHRlbXBsYXRlPlxyXG4gIDxhc2lkZVxyXG4gICAgY2xhc3M9XCJub3RpZmljYXRpb24tY2VudGVyIGQtZmxleCBmbGV4LWNvbHVtbiBcIlxyXG4gID5cclxuICAgIDxoMyBjbGFzcz1cIm1sLTQgbXQtMlwiPlxyXG4gICAgICB7eyAkdHJhbnNsYXRlKCdzaWRlYmFycy5ub3RpZmljYXRpb24tY2VudGVyLnRpdGxlJywgJ9Cm0LXQvdGC0YAg0YPQstC10LTQvtC80LvQtdC90LjQuScpIH19XHJcbiAgICA8L2gzPlxyXG4gICAgPHYtZGl2aWRlciBjbGFzcz1cIm10LTIgbWItMiBib3JkZXItMDFcIiAvPlxyXG4gICAgPHYtbGlzdC1pdGVtIGNsYXNzPVwibm90aWZpY2F0aW9uLWNlbnRlcl9fdGl0bGVcIj5cclxuICAgICAgPHYtc3dpdGNoXHJcbiAgICAgICAgdi1tb2RlbD1cInNob3dUb2FzdE5vdGlmaWNhdGlvbnNUb2dnbGVcIlxyXG4gICAgICAgIDpsYWJlbD1cInNob3dUb2FzdE5vdGlmaWNhdGlvbnNUb2dnbGUgP1xyXG4gICAgICAgICR0cmFuc2xhdGUoJ3NpZGViYXJzLm5vdGlmaWNhdGlvbi1jZW50ZXIuZW5hYmxlZCcsICfQktC60LvRjtGH0LXQvdGLJykgOlxyXG4gICAgICAgICR0cmFuc2xhdGUoJ3NpZGViYXJzLm5vdGlmaWNhdGlvbi1jZW50ZXIuZGlzYWJsZWQnLCAn0J7RgtC60LvRjtGH0LXQvdGLJylcIlxyXG4gICAgICAgIGhpZGUtZGV0YWlsc1xyXG4gICAgICAgIGNvbG9yPVwiZ3JlZW5cIlxyXG4gICAgICAgIGRlbnNlXHJcbiAgICAgIC8+XHJcbiAgICAgIDx2LXRvb2x0aXBcclxuICAgICAgICBib3R0b21cclxuICAgICAgICBvZmZzZXQtb3ZlcmZsb3dcclxuICAgICAgICA6bWF4LXdpZHRoPVwiMjU2XCJcclxuICAgICAgICA6b3Blbi1kZWxheT1cIjUwMFwiXHJcbiAgICAgID5cclxuICAgICAgICA8dGVtcGxhdGUgdi1zbG90OmFjdGl2YXRvcj1cInsgb24gfVwiPlxyXG4gICAgICAgICAgPHYtYnRuXHJcbiAgICAgICAgICAgIGNsYXNzPVwibXQtM1wiXHJcbiAgICAgICAgICAgIGljb25cclxuICAgICAgICAgICAgdi1vbj1cIm9uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHYtaWNvbj5tZGktaW5mb3JtYXRpb24tb3V0bGluZTwvdi1pY29uPlxyXG4gICAgICAgICAgPC92LWJ0bj5cclxuICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAg0J/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70Ywg0L/QvtC30LLQvtC70Y/QtdGCINCy0LrQu9GO0YfQsNGC0YwgLyDQvtGC0LrQu9GO0YfQsNGC0Ywg0LLRgdC/0LvRi9Cy0LDRjtGJ0LjQtSDRg9Cy0LXQtNC+0LzQu9C10L3QuNGPINC+INGB0LjRgdGC0LXQvNC90YvRhSDRgdC+0LHRi9GC0LjRj9GFLiDQndCw0YHRgtGA0L7QudC60LAg0L3QtSDQstC70LjRj9C10YIg0L3QsCDRg9Cy0LXQtNC+0LzQu9C10L3QuNGPINCyINC80LXQvdGOIOKAnNCm0LXQvdGC0YDQsCDRg9Cy0LXQtNC+0LzQu9C10L3QuNC54oCdLlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC92LXRvb2x0aXA+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICB2LWlmPVwiaXNPcGVuVW5yZWFkTGlzdFwiXHJcbiAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tY2VudGVyX19jbGVhci1hbGwtYnV0dG9uIHByaW1hcnktLXRleHQgbXQtNCBtbC0yXCJcclxuICAgICAgICBAY2xpY2s9XCJvbkNsaWNrTWFya1JlYWRBbGxOb3RpZmljYXRpb25zXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7ICR0cmFuc2xhdGUoJ3NpZGViYXJzLm5vdGlmaWNhdGlvbi1jZW50ZXIuY2xlYXInLCAn0J7Rh9C40YHRgtC40YLRjCcpIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC92LWxpc3QtaXRlbT5cclxuICAgIDx2LWJ0bi10b2dnbGVcclxuICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tY2VudGVyX190b2dnbGUtYnV0dG9ucyBtdC0yXCJcclxuICAgID5cclxuICAgICAgPHYtYnRuXHJcbiAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tY2VudGVyX190b2dnbGUtYnV0dG9uXCJcclxuICAgICAgICB2YWx1ZT1cInVucmVhZFwiXHJcbiAgICAgICAgOmNvbG9yPVwiaXNPcGVuVW5yZWFkTGlzdCA/ICdwcmltYXJ5JyA6ICdncmV5IGRhcmtlbi0zJ1wiXHJcbiAgICAgICAgc21hbGxcclxuICAgICAgICBAY2xpY2s9XCJvcGVuZWRMaXN0ID0gJ3VucmVhZCdcIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgJHRyYW5zbGF0ZSgnc2lkZWJhcnMubm90aWZpY2F0aW9uLWNlbnRlci51bnJlZCcsICfQndC10L/RgNC+0YfQuNGC0LDQvdC90YvQtScpIH19XHJcbiAgICAgIDwvdi1idG4+XHJcbiAgICAgIDx2LWJ0blxyXG4gICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWNlbnRlcl9fdG9nZ2xlLWJ1dHRvblwiXHJcbiAgICAgICAgdmFsdWU9XCJhbGxcIlxyXG4gICAgICAgIDpjb2xvcj1cIiFpc09wZW5VbnJlYWRMaXN0ID8gJ3ByaW1hcnknIDogJ2dyZXkgZGFya2VuLTMnXCJcclxuICAgICAgICBzbWFsbFxyXG4gICAgICAgIEBjbGljaz1cIm9wZW5lZExpc3QgPSAnYWxsJ1wiXHJcbiAgICAgID5cclxuICAgICAgICB7eyAkdHJhbnNsYXRlKCdzaWRlYmFycy5ub3RpZmljYXRpb24tY2VudGVyLmFsbCcsICfQktGB0LUnKSB9fVxyXG4gICAgICA8L3YtYnRuPlxyXG4gICAgPC92LWJ0bi10b2dnbGU+XHJcbiAgICA8di1kaXZpZGVyIGNsYXNzPVwibXQtMiBtYi0yIGJvcmRlci0wMVwiIC8+XHJcblxyXG4gICAgPHBlcmZlY3Qtc2Nyb2xsYmFyXHJcbiAgICAgIHYtaWY9XCJpc09wZW5VbnJlYWRMaXN0XCJcclxuICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tY2VudGVyX19zY3JvbGwtYXJlYVwiXHJcbiAgICAgIDpvcHRpb25zPVwieyBzdXBwcmVzc1Njcm9sbFg6IHRydWUgfVwiXHJcbiAgICA+XHJcbiAgICAgIDx0cmFuc2l0aW9uLWdyb3VwXHJcbiAgICAgICAgbmFtZT1cInNsaWRlLXgtcmV2ZXJzZS10cmFuc2l0aW9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIDx2LWxpc3QtaXRlbVxyXG4gICAgICAgICAgdi1mb3I9XCJub3RpZmljYXRpb24gaW4gbm90aWZpY2F0aW9uTGlzdFwiXHJcbiAgICAgICAgICA6a2V5PVwibm90aWZpY2F0aW9uLmV2ZW50VHlwZSArIG5vdGlmaWNhdGlvbi5pZFwiXHJcbiAgICAgICAgICBjbGFzcz1cInBhLTBcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxBcHBOb3RpZmljYXRpb25cclxuICAgICAgICAgICAgdi10b3VjaD1cIntcclxuICAgICAgICAgICAgICByaWdodDogKCkgPT4geyBtYXJrUmVhZE5vdGlmaWNhdGlvbnMoW25vdGlmaWNhdGlvbi5pZF0pIH1cclxuICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgIHYtYmluZD1cIm5vdGlmaWNhdGlvblwiXHJcbiAgICAgICAgICAgIHZpc2libGVcclxuICAgICAgICAgICAgaXMtdG9hc3RcclxuICAgICAgICAgICAgZGFya1xyXG4gICAgICAgICAgICBAaW5wdXQ9XCJtYXJrUmVhZE5vdGlmaWNhdGlvbnMoW25vdGlmaWNhdGlvbi5pZF0pXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC92LWxpc3QtaXRlbT5cclxuICAgICAgPC90cmFuc2l0aW9uLWdyb3VwPlxyXG4gICAgPC9wZXJmZWN0LXNjcm9sbGJhcj5cclxuXHJcbiAgICA8cGVyZmVjdC1zY3JvbGxiYXJcclxuICAgICAgdi1lbHNlXHJcbiAgICA+XHJcbiAgICAgIDx2LWxpc3QtaXRlbVxyXG4gICAgICAgIHYtZm9yPVwibm90aWZpY2F0aW9uIGluIG5vdGlmaWNhdGlvbnMuYWxsXCJcclxuICAgICAgICA6a2V5PVwibm90aWZpY2F0aW9uLmlkXCJcclxuICAgICAgICBjbGFzcz1cInBhLTBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPEFwcE5vdGlmaWNhdGlvblxyXG4gICAgICAgICAgdi1iaW5kPVwibm90aWZpY2F0aW9uXCJcclxuICAgICAgICAgIDpkaXNtaXNzaWJsZT1cImZhbHNlXCJcclxuICAgICAgICAgIHZpc2libGVcclxuICAgICAgICAgIGlzLXRvYXN0XHJcbiAgICAgICAgICBkYXJrXHJcbiAgICAgICAgLz5cclxuICAgICAgPC92LWxpc3QtaXRlbT5cclxuICAgIDwvcGVyZmVjdC1zY3JvbGxiYXI+XHJcbiAgPC9hc2lkZT5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7IG1hcEFjdGlvbnMsIG1hcE11dGF0aW9ucywgbWFwU3RhdGUgfSBmcm9tICd2dWV4JztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBuYW1lOiAnTm90aWZpY2F0aW9uc0NlbnRlcicsXHJcbiAgZGF0YSgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlzU2hvd05vdGlmaWNhdGlvbnNUb2dnbGVUb29sdGlwOiBmYWxzZSxcclxuICAgICAgb3BlbmVkTGlzdDogJ3VucmVhZCcsXHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgY29tcHV0ZWQ6IHtcclxuICAgIC4uLm1hcFN0YXRlKCdub3RpZmljYXRpb25zJywgW1xyXG4gICAgICAnbm90aWZpY2F0aW9ucycsXHJcbiAgICAgICdpc1Nob3dUb2FzdE5vdGlmaWNhdGlvbnMnLFxyXG4gICAgXSksXHJcbiAgICBub3RpZmljYXRpb25MaXN0KCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ub3RpZmljYXRpb25zW3RoaXMub3BlbmVkTGlzdF07XHJcbiAgICB9LFxyXG4gICAgaXNPcGVuVW5yZWFkTGlzdCgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMub3BlbmVkTGlzdCA9PT0gJ3VucmVhZCc7XHJcbiAgICB9LFxyXG4gICAgc2hvd1RvYXN0Tm90aWZpY2F0aW9uc1RvZ2dsZToge1xyXG4gICAgICBnZXQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTaG93VG9hc3ROb3RpZmljYXRpb25zO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXQodmFsdWUpIHtcclxuICAgICAgICB0aGlzLnNldEl0ZW0oe1xyXG4gICAgICAgICAgaXRlbTogJ2lzU2hvd1RvYXN0Tm90aWZpY2F0aW9ucycsXHJcbiAgICAgICAgICB2YWx1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfSxcclxuICBtZXRob2RzOiB7XHJcbiAgICAuLi5tYXBBY3Rpb25zKCdub3RpZmljYXRpb25zJywgW1xyXG4gICAgICAndXBkYXRlTm90aWZpY2F0aW9uJyxcclxuICAgIF0pLFxyXG4gICAgLi4ubWFwTXV0YXRpb25zKCdub3RpZmljYXRpb25zJywgW1xyXG4gICAgICAnZGVsZXRlTm90aWZpY2F0aW9ucycsXHJcbiAgICAgICdzZXRJdGVtJyxcclxuICAgIF0pLFxyXG4gICAgb25DbGlja01hcmtSZWFkQWxsTm90aWZpY2F0aW9ucygpIHtcclxuICAgICAgdGhpcy5tYXJrUmVhZE5vdGlmaWNhdGlvbnModGhpcy5ub3RpZmljYXRpb25MaXN0Lm1hcCgoaXRlbSkgPT4gaXRlbS5pZCkpO1xyXG4gICAgfSxcclxuICAgIG1hcmtSZWFkTm90aWZpY2F0aW9ucyhpZHMpIHtcclxuICAgICAgdGhpcy5kZWxldGVOb3RpZmljYXRpb25zKHsgaWRzLCBrZXk6ICd1bnJlYWQnIH0pO1xyXG4gICAgICB0aGlzLnVwZGF0ZU5vdGlmaWNhdGlvbih7IGlkcywgZGF0YTogeyB3YXNSZWFkOiAxIH0gfSk7XHJcbiAgICB9LFxyXG4gIH0sXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG4ubm90aWZpY2F0aW9uLWNlbnRlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdi1kYXJrLWJhY2tncm91bmQtMDEtYmFzZSkgIWltcG9ydGFudDtcclxuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXYtYm9yZGVyLTAxLWJhc2UpICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIGgzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgfVxyXG4gICZfX3RpdGxlIHtcclxuICAgIG1heC1oZWlnaHQ6IDQwcHg7XHJcbiAgfVxyXG4gICZfX3RvZ2dsZS1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXYtZGFyay1iYWNrZ3JvdW5kLTAxLWJhc2UpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gICZfX3RvZ2dsZS1idXR0b24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiA0NSU7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2NsZWFyLWFsbC1idXR0b24ge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgJl9fc2Nyb2xsLWFyZWEge1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIH1cclxuICA6OnYtZGVlcCAudi1pbnB1dC0tc2VsZWN0aW9uLWNvbnRyb2xzIHtcclxuICAgIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcclxuICB9XHJcbiAgOjp2LWRlZXAgLm1kaS1pbmZvcm1hdGlvbi1vdXRsaW5lOjpiZWZvcmUge1xyXG4gICAgbWFyZ2luLXRvcDogMnB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbjwvc3R5bGU+XHJcbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vLi4vLi4vLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL05vdGlmaWNhdGlvbnNDZW50ZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vLi4vLi4vLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL05vdGlmaWNhdGlvbnNDZW50ZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL05vdGlmaWNhdGlvbnNDZW50ZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTZmZWY0YzlmJnNjb3BlZD10cnVlXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vTm90aWZpY2F0aW9uc0NlbnRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuZXhwb3J0ICogZnJvbSBcIi4vTm90aWZpY2F0aW9uc0NlbnRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9Ob3RpZmljYXRpb25zQ2VudGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTZmZWY0YzlmJnByb2QmbGFuZz1zY3NzJnNjb3BlZD10cnVlXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNmZlZjRjOWZcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCl7dmFyIF92bT10aGlzLF9jPV92bS5fc2VsZi5fYztyZXR1cm4gX2MoJ0FwcE5hdmlnYXRpb24nLHtzdGF0aWNDbGFzczpcInRoZS1sZWZ0LW1lbnUtZnVsbFwiLGF0dHJzOntcInZhbHVlXCI6X3ZtLnZhbHVlLFwic2hpZnRlZFwiOl92bS4kdnVldGlmeS5icmVha3BvaW50Lm1kQW5kVXAsXCJjbG9zZS1pY29uXCI6X3ZtLiR2dWV0aWZ5LmJyZWFrcG9pbnQuc21BbmREb3dufSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7cmV0dXJuIF92bS4kZW1pdCgnaW5wdXQnLCAkZXZlbnQpfX19LFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwyKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XHJcbiAgPEFwcE5hdmlnYXRpb25cclxuICAgIDp2YWx1ZT1cInZhbHVlXCJcclxuICAgIDpzaGlmdGVkPVwiJHZ1ZXRpZnkuYnJlYWtwb2ludC5tZEFuZFVwXCJcclxuICAgIDpjbG9zZS1pY29uPVwiJHZ1ZXRpZnkuYnJlYWtwb2ludC5zbUFuZERvd25cIlxyXG4gICAgY2xhc3M9XCJ0aGUtbGVmdC1tZW51LWZ1bGxcIlxyXG4gICAgQGlucHV0PVwiJGVtaXQoJ2lucHV0JywgJGV2ZW50KVwiXHJcbiAgPlxyXG4gICAgPHNsb3QgLz5cclxuICA8L0FwcE5hdmlnYXRpb24+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIG5hbWU6ICdUaGVMZWZ0TWVudUZ1bGwnLFxyXG4gIHByb3BzOiB7XHJcbiAgICB2YWx1ZToge1xyXG4gICAgICB0eXBlOiBCb29sZWFuLFxyXG4gICAgfSxcclxuICB9LFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cclxuPC9zdHlsZT5cclxuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMTMtMCEuLi8uLi8uLi90aHJlYWQtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMCEuLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVGhlTGVmdE1lbnVGdWxsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xMy0wIS4uLy4uLy4uL3RocmVhZC1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UaGVMZWZ0TWVudUZ1bGwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1RoZUxlZnRNZW51RnVsbC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MTY3Y2UxNDYmc2NvcGVkPXRydWVcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9UaGVMZWZ0TWVudUZ1bGwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCJcbmV4cG9ydCAqIGZyb20gXCIuL1RoZUxlZnRNZW51RnVsbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIxNjdjZTE0NlwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsInZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKXt2YXIgX3ZtPXRoaXMsX2M9X3ZtLl9zZWxmLl9jO3JldHVybiBfYygndi1uYXZpZ2F0aW9uLWRyYXdlcicse3N0YXRpY0NsYXNzOlwidGhlLWxlZnQtbWVudS1jb21wYWN0XCIsYXR0cnM6e1wiYXBwXCI6XCJcIixcIm1pbmktdmFyaWFudFwiOlwiXCIsXCJjbGlwcGVkXCI6XCJcIn19LFtfdm0uX3QoXCJkZWZhdWx0XCIsbnVsbCx7XCJpc01pbmlcIjpcIlwifSldLDIpXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsIjx0ZW1wbGF0ZT5cclxuICA8di1uYXZpZ2F0aW9uLWRyYXdlclxyXG4gICAgYXBwXHJcbiAgICBtaW5pLXZhcmlhbnRcclxuICAgIGNsaXBwZWRcclxuICAgIGNsYXNzPVwidGhlLWxlZnQtbWVudS1jb21wYWN0XCJcclxuICA+XHJcbiAgICA8c2xvdCBpcy1taW5pIC8+XHJcbiAgPC92LW5hdmlnYXRpb24tZHJhd2VyPlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBuYW1lOiAnVGhlQXNpZGVDb21wYWN0JyxcclxuICBwcm9wczoge1xyXG4gICAgdmFsdWU6IEJvb2xlYW4sXHJcbiAgfSxcclxufTtcclxuPC9zY3JpcHQ+XHJcbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vLi4vLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1RoZUxlZnRNZW51Q29tcGFjdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMTMtMCEuLi8uLi8uLi90aHJlYWQtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMCEuLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVGhlTGVmdE1lbnVDb21wYWN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9UaGVMZWZ0TWVudUNvbXBhY3QudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTNlYTQwYjE5XCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vVGhlTGVmdE1lbnVDb21wYWN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiXG5leHBvcnQgKiBmcm9tIFwiLi9UaGVMZWZ0TWVudUNvbXBhY3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/P3JlZi0tOS1vbmVPZi0xLTAhLi4vLi4vLi4vLi4vY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS05LW9uZU9mLTEtMSEuLi8uLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tOS1vbmVPZi0xLTIhLi4vLi4vLi4vLi4vc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tOS1vbmVPZi0xLTMhLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMCEuLi8uLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VydmljZXNMaXN0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPThjYTg3NGVlJnByb2QmbGFuZz1zY3NzJnNjb3BlZD10cnVlXCIiLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCl7dmFyIF92bT10aGlzLF9jPV92bS5fc2VsZi5fYztyZXR1cm4gX2MoJ0FwcE5hdmlnYXRpb24nLHtzdGF0aWNDbGFzczpcInRoZS1yaWdodC1tZW51XCIsYXR0cnM6e1widmFsdWVcIjpCb29sZWFuKF92bS50eXBlKSxcInNoaWZ0ZWRcIjpfdm0uJHZ1ZXRpZnkuYnJlYWtwb2ludC5tZEFuZFVwLFwiY2xvc2UtaWNvblwiOl92bS4kdnVldGlmeS5icmVha3BvaW50LnhsQW5kRG93bixcInJpZ2h0XCI6XCJcIn0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe3JldHVybiBfdm0uJGVtaXQoJ2lucHV0JywgbnVsbCl9fX0sW19jKF92bS50eXBlLHt0YWc6XCJjb21wb25lbnRcIixzdGF0aWNDbGFzczpcInRoZS1yaWdodC1tZW51XCJ9KV0sMSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiPHRlbXBsYXRlPlxyXG4gIDxBcHBOYXZpZ2F0aW9uXHJcbiAgICA6dmFsdWU9XCJCb29sZWFuKHR5cGUpXCJcclxuICAgIDpzaGlmdGVkPVwiJHZ1ZXRpZnkuYnJlYWtwb2ludC5tZEFuZFVwXCJcclxuICAgIDpjbG9zZS1pY29uPVwiJHZ1ZXRpZnkuYnJlYWtwb2ludC54bEFuZERvd25cIlxyXG4gICAgcmlnaHRcclxuICAgIGNsYXNzPVwidGhlLXJpZ2h0LW1lbnVcIlxyXG4gICAgQGlucHV0PVwiJGVtaXQoJ2lucHV0JywgbnVsbClcIlxyXG4gID5cclxuICAgIDxjb21wb25lbnRcclxuICAgICAgOmlzPVwidHlwZVwiXHJcbiAgICAgIGNsYXNzPVwidGhlLXJpZ2h0LW1lbnVcIlxyXG4gICAgLz5cclxuICA8L0FwcE5hdmlnYXRpb24+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIG5hbWU6ICdUaGVSaWdodE1lbnUnLFxyXG4gIHByb3BzOiB7XHJcbiAgICB0eXBlOiB7XHJcbiAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgZGVmYXVsdDogJ1NlcnZpY2VzTGlzdCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG4udGhlLXJpZ2h0LW1lbnUge1xyXG4gIG1pbi1oZWlnaHQ6IDEwMCU7XHJcblxyXG4gIDo6di1kZWVwIHtcclxuICAgIC5jbG9zZS1pY29uIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2xpbmsge1xyXG4gICAgJi0tYWN0aXZlIHtcclxuICAgICAgJi52LWxpc3QtaXRlbTpiZWZvcmUge1xyXG4gICAgICAgIG9wYWNpdHk6IC4xO1xyXG4gICAgICB9XHJcbiAgICAgICYudi1saXN0LWl0ZW06YWZ0ZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDRweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDU4OUZGO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbjwvc3R5bGU+XHJcbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vLi4vLi4vLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1RoZVJpZ2h0TWVudU1peGluLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xMy0wIS4uLy4uLy4uLy4uL3RocmVhZC1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UaGVSaWdodE1lbnVNaXhpbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vVGhlUmlnaHRNZW51TWl4aW4udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTBlZWZlYTE1JnNjb3BlZD10cnVlXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vVGhlUmlnaHRNZW51TWl4aW4udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCJcbmV4cG9ydCAqIGZyb20gXCIuL1RoZVJpZ2h0TWVudU1peGluLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1RoZVJpZ2h0TWVudU1peGluLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTBlZWZlYTE1JnByb2QmbGFuZz1zY3NzJnNjb3BlZD10cnVlXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiMGVlZmVhMTVcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2xvYWRlci5qcz8/cmVmLS05LW9uZU9mLTEtMCEuLi8uLi8uLi9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTktb25lT2YtMS0xIS4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS05LW9uZU9mLTEtMiEuLi8uLi8uLi9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS05LW9uZU9mLTEtMyEuLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UaGVMZWZ0TWVudUxpc3QudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MmM0N2M1ZDEmcHJvZCZsYW5nPXNjc3Mmc2NvcGVkPXRydWVcIiIsInZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKXt2YXIgX3ZtPXRoaXMsX2M9X3ZtLl9zZWxmLl9jO3JldHVybiBfYygndi10b29sdGlwJyx7YXR0cnM6e1wiYm90dG9tXCI6XCJcIixcImRpc2FibGVkXCI6X3ZtLiR2dWV0aWZ5LmJyZWFrcG9pbnQuc21BbmREb3duIHx8IEJvb2xlYW4oX3ZtLmFjdGl2ZVJpZ2h0TWVudSl9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImFjdGl2YXRvclwiLGZuOmZ1bmN0aW9uKHsgb24sIGF0dHJzIH0pe3JldHVybiBbX2MoJ3YtYnRuJyxfdm0uX2coX3ZtLl9iKHtzdGF0aWNDbGFzczpcInRoZS1oZWFkZXJfX2J1dHRvbiB3aGl0ZS0tdGV4dFwiLGNsYXNzOl92bS5hY3RpdmVSaWdodE1lbnUgPT09IF92bS5uYW1lID8gJ3RoZS1oZWFkZXJfX2J1dHRvbi0tYWN0aXZlJzogJycsYXR0cnM6e1wiaWNvblwiOlwiXCJ9LG9uOntcImNsaWNrXCI6ZnVuY3Rpb24oJGV2ZW50KXskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7cmV0dXJuIF92bS4kZW1pdCgnc3dpdGNoJywgX3ZtLm5hbWUpfX19LCd2LWJ0bicsYXR0cnMsZmFsc2UpLG9uKSxbX2MoJ3YtaWNvbicsW192bS5fdihcIiBtZGktYWNjb3VudC1jaXJjbGUgXCIpXSldLDEpXX19XSl9LFtfYygnc3BhbicsW192bS5fdihfdm0uX3MoX3ZtLiR0cmFuc2xhdGUoJ3NpZGViYXJzLmFjY291bnQuYWNjb3VudCcsICfQkNC60LrQsNGD0L3RgicpKSldKV0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsIjx0ZW1wbGF0ZT5cclxuICA8di10b29sdGlwXHJcbiAgICBib3R0b21cclxuICAgIDpkaXNhYmxlZD1cIiR2dWV0aWZ5LmJyZWFrcG9pbnQuc21BbmREb3duIHx8IEJvb2xlYW4oYWN0aXZlUmlnaHRNZW51KVwiXHJcbiAgPlxyXG4gICAgPHRlbXBsYXRlIHYtc2xvdDphY3RpdmF0b3I9XCJ7IG9uLCBhdHRycyB9XCI+XHJcbiAgICAgIDx2LWJ0blxyXG4gICAgICAgIGljb25cclxuICAgICAgICBjbGFzcz1cInRoZS1oZWFkZXJfX2J1dHRvbiB3aGl0ZS0tdGV4dFwiXHJcbiAgICAgICAgOmNsYXNzPVwiYWN0aXZlUmlnaHRNZW51ID09PSBuYW1lID8gJ3RoZS1oZWFkZXJfX2J1dHRvbi0tYWN0aXZlJzogJydcIlxyXG4gICAgICAgIHYtYmluZD1cImF0dHJzXCJcclxuICAgICAgICB2LW9uPVwib25cIlxyXG4gICAgICAgIEBjbGljay5zdG9wPVwiJGVtaXQoJ3N3aXRjaCcsIG5hbWUpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDx2LWljb24+XHJcbiAgICAgICAgICBtZGktYWNjb3VudC1jaXJjbGVcclxuICAgICAgICA8L3YtaWNvbj5cclxuICAgICAgPC92LWJ0bj5cclxuICAgIDwvdGVtcGxhdGU+XHJcbiAgICA8c3Bhbj57eyAkdHJhbnNsYXRlKCdzaWRlYmFycy5hY2NvdW50LmFjY291bnQnLCAn0JDQutC60LDRg9C90YInKSB9fTwvc3Bhbj5cclxuICA8L3YtdG9vbHRpcD5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmNvbnN0IG5hbWUgPSAnQWNjb3VudCc7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBuYW1lLFxyXG4gIHByb3BzOiB7XHJcbiAgICBhY3RpdmVSaWdodE1lbnU6IHtcclxuICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIGNyZWF0ZWQoKSB7XHJcbiAgICBpZiAodGhpcy4kaTE4bikgdGhpcy4kaTE4bi5mZXRjaE1lc3NhZ2VzKCdzaWRlYmFycy5hY2NvdW50Jyk7XHJcbiAgfSxcclxuICBkYXRhKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmFtZSxcclxuICAgIH07XHJcbiAgfSxcclxufTtcclxuPC9zY3JpcHQ+XHJcbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vLi4vLi4vLi4vLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjY291bnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vLi4vLi4vLi4vLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjY291bnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0FjY291bnQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWMzN2UyZTIwXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQWNjb3VudC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuZXhwb3J0ICogZnJvbSBcIi4vQWNjb3VudC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCl7dmFyIF92bT10aGlzLF9jPV92bS5fc2VsZi5fYztyZXR1cm4gX2MoJ3YtYXBwLWJhcicse3N0YXRpY0NsYXNzOlwidGhlLWhlYWRlclwiLGF0dHJzOntcImFwcFwiOlwiXCIsXCJkZW5zZVwiOlwiXCIsXCJjbGlwcGVkLWxlZnRcIjpcIlwiLFwiZGFya1wiOlwiXCJ9fSxbKF92bS5jdXJyZW50VXNlciAmJiBfdm0uJHJvdXRlLm5hbWUgIT09ICdUd29GQVN5bmMnKT9bX2MoJ3YtYnRuJyx7c3RhdGljQ2xhc3M6XCJ3aGl0ZS0tdGV4dFwiLGF0dHJzOntcImljb25cIjpcIlwifSxvbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uJGVtaXQoJ2NsaWNrLW1lbnUtaWNvbicpfX19LFsoIV92bS5kcmF3ZXJJc1Zpc2libGUpP19jKCd2LWljb24nLFtfdm0uX3YoXCIgbWRpLW1lbnUgXCIpXSk6X2MoJ3YtaWNvbicsW192bS5fdihcIiBtZGktY2xvc2UgXCIpXSldLDEpXTpfdm0uX2UoKSxfYygncm91dGVyLWxpbmsnLHtzdGF0aWNDbGFzczpcInRoZS1oZWFkZXJfX2xvZ28gZC1mbGV4IGFsaWduLWNlbnRlclwiLGF0dHJzOntcInRvXCI6XCIvXCIsXCJldmVudFwiOl92bS4kcm91dGUubmFtZSAhPT0gJ1R3b0ZBU3luYycgPyAnY2xpY2snIDogJyd9fSxbKF92bS5pc0xvYWRpbmdMb2dvKT9fYygndi1za2VsZXRvbi1sb2FkZXInLHtzdGF0aWNDbGFzczpcInRoZS1oZWFkZXJfX2xvZ28tbG9hZGVyXCIsYXR0cnM6e1widHlwZVwiOlwibGlzdC1pdGVtXCJ9fSk6Wyhfdm0uaXNCb3hiZXJyeSk/X2MoJ3N2Zycse3N0YXRpY0NsYXNzOlwibXItMlwiLHN0YXRpY1N0eWxlOntcIndpZHRoXCI6XCJmaXQtY29udGVudFwiLFwiaGVpZ2h0XCI6XCIyOHB4XCJ9LGF0dHJzOntcInhtbG5zXCI6XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFwidmVyc2lvblwiOlwiMS4wXCIsXCJ3aWR0aFwiOlwiNjAwLjAwMDAwMHB0XCIsXCJoZWlnaHRcIjpcIjE3MS4wMDAwMDBwdFwiLFwidmlld0JveFwiOlwiMCAwIDYwMC4wMDAwMDAgMTcxLjAwMDAwMFwiLFwicHJlc2VydmVBc3BlY3RSYXRpb1wiOlwieE1pZFlNaWQgbWVldFwifX0sW19jKCdnJyx7YXR0cnM6e1widHJhbnNmb3JtXCI6XCJ0cmFuc2xhdGUoMC4wMDAwMDAsMTcxLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKVwiLFwiZmlsbFwiOlwiIzAwMDAwMFwiLFwic3Ryb2tlXCI6XCJub25lXCJ9fSxbX2MoJ3BhdGgnLHthdHRyczp7XCJkXCI6XCJNODAwIDE2OTUgYy0xMjQgLTU2IC0xNjEgLTIxNCAtNzIgLTMwOCAxMzMgLTE0MSAzNzEgLTQwIDM0OSAxNDggLTYgNTYgLTM5IDExMCAtODggMTQyIC00OSAzMiAtMTM4IDQxIC0xODkgMTh6XCIsXCJmaWxsXCI6XCIjQTlEMDM1XCJ9fSksX2MoJ3BhdGgnLHthdHRyczp7XCJmaWxsXCI6XCIjZmZmXCIsXCJkXCI6XCJNNDU1IDEzNjEgYy0xNTYgLTcyIC0xNTEgLTI4OSA3IC0zNTYgMTY2IC02OSAzMzMgOTkgMjU5IDI2MCAtNDYgMTAwIC0xNjUgMTQzIC0yNjYgOTZ6XCJ9fSksX2MoJ3BhdGgnLHthdHRyczp7XCJmaWxsXCI6XCIjZmZmXCIsXCJkXCI6XCJNMTEzNSAxMzYyIGMtNzYgLTM3IC0xMTUgLTk2IC0xMTUgLTE3NyAwIC04MSAzOSAtMTQxIDExNSAtMTc2IDg4IC00MSAxOTMgLTExIDI1MCA3MCA1OCA4MiAzNCAyMDQgLTUzIDI2NSAtNTUgMzkgLTEzOCA0NiAtMTk3IDE4elwifX0pLF9jKCdwYXRoJyx7YXR0cnM6e1wiZmlsbFwiOlwiI2ZmZlwiLFwiZFwiOlwiTTIxMTAgMTA1MyBjMCAtMjg0IDYgLTMxNiA3MCAtMzgxIDk5IC0xMDMgMjk4IC05MiAzODQgMjEgOTggMTI4IDYyIDMxNyAtNzQgMzkxIC00NiAyNSAtNTkgMjggLTEyNSAyNCAtNjQgLTMgLTgwIC04IC0xMTkgLTM1IGwtNDYgLTMzIDAgMTE0IGMwIDEyNCAtMyAxMzEgLTU4IDE0MiBsLTMyIDcgMCAtMjUweiBtMzM5IC01MiBjOTQgLTY3IDkzIC0yMzEgLTMgLTI5MCAtMTA3IC02NyAtMjI0IC04IC0yNDIgMTIxIC0xNiAxMTQgNTggMjAzIDE2MiAxOTUgMzIgLTIgNjMgLTEyIDgzIC0yNnpcIn19KSxfYygncGF0aCcse2F0dHJzOntcImZpbGxcIjpcIiNmZmZcIixcImRcIjpcIk0zNzI3IDEyOTQgYy0xMSAtMTIgLTggLTQ0NyA0IC01MDQgMTQgLTY0IDYxIC0xMjcgMTE5IC0xNjAgMzggLTIxIDU4IC0yNSAxMjUgLTI1IDkwIDAgMTMxIDE1IDE4NSA2OCA0OSA0OCA3NCAxMTAgNzMgMTg3IDAgNzYgLTE3IDEyMSAtNjQgMTc1IC04MiA5MiAtMjM4IDEwMyAtMzI2IDIyIGwtMjMgLTIwIDAgMTA5IGMwIDczIC00IDExNiAtMTIgMTI3IC0xNCAxOCAtNjkgMzMgLTgxIDIxeiBtMzExIC0yNzggYzc1IC0zOSAxMTYgLTEzMCA5NCAtMjA1IC0zMyAtMTA5IC0xNTEgLTE2NCAtMjMyIC0xMDggLTU3IDM4IC03NCA3MCAtNzggMTQ1IC0yIDU2IDEgNzQgMjAgMTA2IDQwIDY3IDEzMSA5NiAxOTYgNjJ6XCJ9fSksX2MoJ3BhdGgnLHthdHRyczp7XCJmaWxsXCI6XCIjZmZmXCIsXCJkXCI6XCJNNDQ0NyAxMTA2IGMtMTAxIC0zOCAtMTU3IC0xMjMgLTE1NyAtMjQxIDAgLTExNiA1MyAtMTk4IDE1NSAtMjQxIDU3IC0yMyAxNzAgLTE4IDIzMyAxMSA1NiAyNiA3MSA0NyA1MiA3MCAtMTYgMTkgLTQ4IDE5IC05MyAwIC0xMDMgLTQzIC0yMjggMTMgLTI0NCAxMDggbC02IDM3IDE4MiAwIDE4MSAwIDAgNTggYy0xIDczIC0zMiAxMzcgLTg3IDE3NiAtMzMgMjMgLTU0IDI5IC0xMTAgMzIgLTQzIDMgLTgyIC0xIC0xMDYgLTEweiBtMTU5IC04MiBjMjMgLTE1IDQyIC00OCA0NiAtNzkgMyAtMTkgLTMgLTIwIC0xMjkgLTIzIC0xNDIgLTMgLTE0NCAtMiAtMTE5IDQ3IDM3IDcxIDEzNiA5OCAyMDIgNTV6XCJ9fSksX2MoJ3BhdGgnLHthdHRyczp7XCJmaWxsXCI6XCIjZmZmXCIsXCJkXCI6XCJNMjgxOSAxMDgyIGMtMTg3IC05NyAtMTgzIC0zNTQgNiAtNDU1IDU4IC0zMSAxOTMgLTMxIDI1MiAxIDE5NyAxMDQgMTkwIDM3MSAtMTIgNDYzIC0yNyAxMyAtNjQgMTkgLTExNiAxOSAtNjUgMCAtODUgLTQgLTEzMCAtMjh6IG0yMzUgLTg2IGM0OCAtMzYgNjYgLTc0IDY2IC0xMzYgMCAtMTAwIC02MiAtMTY5IC0xNTggLTE3NyAtMTgxIC0xNyAtMjU0IDI0OCAtOTAgMzMxIDUwIDI2IDEzNiAxNyAxODIgLTE4elwifX0pLF9jKCdwYXRoJyx7YXR0cnM6e1wiZmlsbFwiOlwiI2ZmZlwiLFwiZFwiOlwiTTMyNTIgMTA0OCBjMjUgLTM1IDY0IC05MSA4NyAtMTI1IGw0MyAtNjEgLTgxIC0xMjEgYy00NSAtNjYgLTgxIC0xMjMgLTgxIC0xMjYgMCAtMyAyNiAtNSA1OCAtMyBsNTcgMyA1MiA4MCBjMjkgNDQgNTUgODUgNTggOTAgMyA2IDcgNiAxMCAtMSAzIC02IDI5IC00NyA1OCAtOTAgbDUyIC03OSA1OCAtMyBjMzEgLTIgNTcgLTEgNTcgMSAwIDIgLTM2IDU4IC04MCAxMjMgLTQ0IDY1IC04MCAxMjIgLTgwIDEyNiAwIDUgMzYgNjAgODAgMTIzIDQ0IDYzIDgwIDExNyA4MCAxMjAgMCAzIC0yMyA1IC01MCA1IC02MSAwIC03NiAtMTMgLTEzNSAtMTEyIC0yMiAtMzcgLTQyIC02OCAtNDUgLTY3IC0zIDAgLTIzIDI5IC00NSA2NSAtNTYgOTIgLTg0IDExNCAtMTQ3IDExNCBsLTUwIDAgNDQgLTYyelwifX0pLF9jKCdwYXRoJyx7YXR0cnM6e1wiZmlsbFwiOlwiI2ZmZlwiLFwiZFwiOlwiTTQ4MjAgODY1IGwwIC0yNDUgNDkgMCA0OSAwIDQgMTM4IGMyIDExNSA2IDE0MyAyNCAxNzcgMjYgNDkgNzYgODUgMTIwIDg1IDM0IDAgMzQgMSAzNCA0NSBsMCA0NSAtMzcgMCBjLTQ3IDAgLTkwIC0yOCAtMTIwIC03NyBsLTIzIC0zOCAwIDM4IGMwIDQ2IC0yOCA3NyAtNzAgNzcgbC0zMCAwIDAgLTI0NXpcIn19KSxfYygncGF0aCcse2F0dHJzOntcImZpbGxcIjpcIiNmZmZcIixcImRcIjpcIk01MTcwIDg2NSBsMCAtMjQ1IDUwIDAgNTAgMCAwIDEzMyBjMCAxMTggMyAxMzggMjMgMTc3IDI2IDUzIDc3IDkwIDEyMyA5MCAzNCAwIDM0IDEgMzQgNDUgbDAgNDUgLTM3IDAgYy00OSAwIC05OCAtMzAgLTEyNiAtNzggbC0yMiAtMzcgLTMgNDUgYy0zIDUxIC0yMSA3MCAtNjQgNzAgbC0yOCAwIDAgLTI0NXpcIn19KSxfYygncGF0aCcse2F0dHJzOntcImZpbGxcIjpcIiNmZmZcIixcImRcIjpcIk01NDkwIDExMDAgYzAgLTYgNDcgLTExNiAxMDUgLTI0NSBsMTA1IC0yMzUgLTE2IC00MCBjLTE5IC00NyAtNjYgLTkwIC05OSAtOTAgLTE0IDAgLTMzIC0xMSAtNDUgLTI3IGwtMjIgLTI4IDc4IC0zIGM3MyAtMyA3OSAtMSAxMDYgMjUgMzkgMzcgNDQgNDYgMTU1IDMxNiA1MiAxMjggMTA2IDI1MyAxMTkgMjc5IDEzIDI2IDI0IDUwIDI0IDUzIDAgMTQgLTg5IDQgLTEwOCAtMTIgLTEyIC0xMSAtNDcgLTkyIC04MyAtMTkxIC02MiAtMTY5IC02NCAtMTcyIC03NSAtMTQwIC0zOCAxMDkgLTEzOSAzMzAgLTE1NCAzMzggLTI1IDEzIC05MCAxMyAtOTAgMHpcIn19KSxfYygncGF0aCcse2F0dHJzOntcImZpbGxcIjpcIiNmZmZcIixcImRcIjpcIk0xMDkgMTAyNyBjLTk2IC01MSAtMTM1IC0xNjYgLTg3IC0yNTcgNzIgLTEzMyAyNDcgLTE0NyAzNDIgLTI3IDI4IDM1IDMxIDQ1IDMxIDExMiAwIDY3IC0zIDc3IC0zMSAxMTIgLTY0IDgwIC0xNjkgMTA1IC0yNTUgNjB6XCJ9fSksX2MoJ3BhdGgnLHthdHRyczp7XCJmaWxsXCI6XCIjZmZmXCIsXCJkXCI6XCJNNzkwIDEwMjggYy0yNCAtMTMgLTU4IC00MCAtNzQgLTYxIC0yOCAtMzUgLTMxIC00NSAtMzEgLTExMiAwIC02NyAzIC03NyAzMSAtMTEyIDU5IC03NCAxNTkgLTEwMiAyNDIgLTY4IDE2MSA2OCAxNjEgMjkyIDAgMzYwIC01MyAyMiAtMTE2IDE5IC0xNjggLTd6XCJ9fSksX2MoJ3BhdGgnLHthdHRyczp7XCJmaWxsXCI6XCIjZmZmXCIsXCJkXCI6XCJNMTQ4MCAxMDM1IGMtNzggLTM1IC0xMjMgLTEwMSAtMTIzIC0xODAgMCAtNjAgMTkgLTEwMSA2NyAtMTQyIDEzMCAtMTE1IDMzMCAtMjggMzMwIDE0MiAwIDEwNiAtNzYgMTg2IC0xODIgMTkyIC0zNyAyIC03MCAtMiAtOTIgLTEyelwifX0pLF9jKCdwYXRoJyx7YXR0cnM6e1wiZmlsbFwiOlwiI2ZmZlwiLFwiZFwiOlwiTTQ2MCA3MDQgYy0xNDIgLTYyIC0xNjEgLTI0OSAtMzMgLTMzOCAxMzEgLTkxIDMxMiAyIDMxMyAxNjIgMCAxMzYgLTE1MiAyMzIgLTI4MCAxNzZ6XCJ9fSksX2MoJ3BhdGgnLHthdHRyczp7XCJmaWxsXCI6XCIjZmZmXCIsXCJkXCI6XCJNMTEzNSA3MDEgYy03NiAtMzUgLTExNSAtOTUgLTExNSAtMTc3IDAgLTU5IDE5IC0xMDMgNjMgLTE0MSA3MiAtNjMgMTc0IC03MCAyNDkgLTE3IDg3IDYxIDExMSAxODMgNTMgMjY1IC01NyA4MSAtMTYyIDExMSAtMjUwIDcwelwifX0pLF9jKCdwYXRoJyx7YXR0cnM6e1wiZmlsbFwiOlwiI2ZmZlwiLFwiZFwiOlwiTTc4OSAzNzAgYy0xNDcgLTc4IC0xNDYgLTI3MSAyIC0zNDggODYgLTQ1IDIwMSAtMTQgMjU2IDY5IDY1IDk4IDI2IDIzMSAtODIgMjgwIC01MiAyNCAtMTMwIDI0IC0xNzYgLTF6XCJ9fSldKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIitfdm0uX3MoX3ZtLmxvZ28pK1wiIFwiKV1dLDIpLChfdm0uY3VyQ2xpZW50KT9fYygnZGl2Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJjbGljay1vdXRzaWRlXCIscmF3TmFtZTpcInYtY2xpY2stb3V0c2lkZVwiLHZhbHVlOigoKSA9PiBfdm0uc2hvd0NvbnRhY3RzID8gX3ZtLnNob3dDb250YWN0cyA9IGZhbHNlIDogKCkgPT4ge30pLGV4cHJlc3Npb246XCIoKSA9PiBzaG93Q29udGFjdHMgPyBzaG93Q29udGFjdHMgPSBmYWxzZSA6ICgpID0+IHt9XCJ9XSxzdGF0aWNDbGFzczpcInRoZS1oZWFkZXJfX2NsaWVudFwifSxbX3ZtLl92KFwiIFwiK192bS5fcyhfdm0uY3VyQ2xpZW50LnN1bW1hcnkpK1wiIFwiKSwoX3ZtLmdldENvbnRhY3RJbmZvICYmIF92bS5jdXJDbGllbnQuc3lzQ29kZS5pbmRleE9mKCdZQVBQJykgIT09IC0xKT9fYygndi10b29sdGlwJyx7YXR0cnM6e1wiY29udGVudC1jbGFzc1wiOlwidGhlLWhlYWRlcl9fY29udGFjdHNcIixcImJvdHRvbVwiOlwiXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImFjdGl2YXRvclwiLGZuOmZ1bmN0aW9uKHsgb24sIGF0dHJzIH0pe3JldHVybiBbX2MoJ3YtYnRuJyx7YXR0cnM6e1wiaWNvblwiOlwiXCIsXCJzbWFsbFwiOlwiXCIsXCJkZW5zZVwiOlwiXCJ9LG9uOntcImNsaWNrXCI6ZnVuY3Rpb24oJGV2ZW50KXtfdm0uc2hvd0NvbnRhY3RzID0gIV92bS5zaG93Q29udGFjdHN9fX0sW19jKCd2LWljb24nLHthdHRyczp7XCJzbWFsbFwiOlwiXCIsXCJjb2xvclwiOlwiZ3JleSBsaWdodGVuLTFcIn19LFtfdm0uX3YoXCJtZGktY29udGFjdHNcIildKV0sMSldfX1dLG51bGwsZmFsc2UsNDI4MzkzNTcxOCksbW9kZWw6e3ZhbHVlOihfdm0uc2hvd0NvbnRhY3RzKSxjYWxsYmFjazpmdW5jdGlvbiAoJCR2KSB7X3ZtLnNob3dDb250YWN0cz0kJHZ9LGV4cHJlc3Npb246XCJzaG93Q29udGFjdHNcIn19LFtfYygnc3BhbicsW19jKCd1bCcse3N0YXRpY0NsYXNzOlwicGwtMFwifSxbKF92bS5nZXRDb250YWN0SW5mby5maW8pP19jKCdsaScsW19jKCdiJyxbX3ZtLl92KF92bS5fcyhfdm0uJHRyYW5zbGF0ZSgnc2R0LmZpbycpKStcIjpcIildKSxfdm0uX3YoXCIgXCIrX3ZtLl9zKF92bS5nZXRDb250YWN0SW5mby5maW8pK1wiLiBcIitfdm0uX3MoX3ZtLmdldENvbnRhY3RJbmZvLnBob25lKStcIiBcIildKTpfdm0uX2UoKSwoX3ZtLmdldENvbnRhY3RJbmZvLmVtYWlsKT9fYygnbGknLFtfYygnYicsW192bS5fdihfdm0uX3MoX3ZtLiR0cmFuc2xhdGUoJ3NkdC5zdXBwb3J0JykpK1wiOlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ2EnLHtzdGF0aWNTdHlsZTp7XCJjb2xvclwiOlwiI2ZmZlwifSxhdHRyczp7XCJocmVmXCI6YG1haWx0bzoke192bS5nZXRDb250YWN0SW5mby5lbWFpbH1gfX0sW192bS5fdihfdm0uX3MoX3ZtLmdldENvbnRhY3RJbmZvLmVtYWlsKSldKV0pOl92bS5fZSgpXSldKV0pOl92bS5fZSgpXSwxKTpfdm0uX2UoKSwoX3ZtLmN1cnJlbnRVc2VyICYmIF92bS4kdnVldGlmeS5icmVha3BvaW50Lm1kQW5kVXApP19jKCdUaGVIZWFkZXJGYXZvcml0QmFyJyk6X3ZtLl9lKCksX2MoJ3Ytc3BhY2VyJyksKF92bS5jdXJyZW50VXNlciAmJiBfdm0uJHJvdXRlLm5hbWUgIT09ICdUd29GQVN5bmMnKT9fYygnVGhlSGVhZGVyQnV0dG9ucycsX3ZtLl9nKHthdHRyczp7XCJyaWdodC1tZW51XCI6X3ZtLnJpZ2h0TWVudX19LHsgJ2NsaWNrLXJpZ2h0LW1lbnUtc3dpdGNoZXInOiBfdm0uJGxpc3RlbmVyc1snY2xpY2stcmlnaHQtbWVudS1zd2l0Y2hlciddIH0pKTpfdm0uX2UoKV0sMilcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpe3ZhciBfdm09dGhpcyxfYz1fdm0uX3NlbGYuX2M7cmV0dXJuIF9jKCd2LXRhYnMnLHtzdGF0aWNDbGFzczpcInRoZS1oZWFkZXItdGFic1wiLGF0dHJzOntcImhpZGUtc2xpZGVyXCI6XCJcIn19LFtfdm0uX2woKF92bS5mYXZvcml0ZXMpLGZ1bmN0aW9uKHRhYil7cmV0dXJuIFsoIXRhYi5jaGlsZHJlbik/X2MoJ3YtdGFiJyx7a2V5OnRhYi5saW5rLGF0dHJzOntcInRvXCI6dGFiLmxpbmssXCJsaW5rXCI6XCJcIixcImV4YWN0XCI6XCJcIn19LFtfdm0uX3YoXCIgXCIrX3ZtLl9zKF92bS4kdHJhbnNsYXRlKHRhYi50ZXh0KSkrXCIgXCIpXSk6X2MoJ3YtbWVudScse2tleTpfdm0uJHRyYW5zbGF0ZSh0YWIudGV4dCksYXR0cnM6e1wiY29udGVudC1jbGFzc1wiOlwidGhlLWhlYWRlci10YWJzX19kcm9wZG93bi1tZW51XCIsXCJkYXJrXCI6XCJcIixcIm9mZnNldC15XCI6XCJcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiYWN0aXZhdG9yXCIsZm46ZnVuY3Rpb24oeyBvbiwgYXR0cnMgfSl7cmV0dXJuIFtfYygndi1idG4nLF92bS5fZyhfdm0uX2Ioe3N0YXRpY0NsYXNzOlwidGhlLWhlYWRlci10YWJzX19idXR0b24gYWxpZ24tc2VsZi1jZW50ZXIgbXItNFwiLGF0dHJzOntcInRleHRcIjpcIlwifX0sJ3YtYnRuJyxhdHRycyxmYWxzZSksb24pLFtfdm0uX3YoXCIgXCIrX3ZtLl9zKF92bS4kdHJhbnNsYXRlKHRhYi50ZXh0KSkrXCIgXCIpLF9jKCd2LWljb24nLHthdHRyczp7XCJyaWdodFwiOlwiXCJ9fSxbX3ZtLl92KFwiIG1kaS1tZW51LWRvd24gXCIpXSldLDEpXX19XSxudWxsLHRydWUpfSxbX2MoJ3YtbGlzdCcsX3ZtLl9sKCh0YWIuY2hpbGRyZW4pLGZ1bmN0aW9uKGl0ZW0pe3JldHVybiBfYygndi1saXN0LWl0ZW0nLHtrZXk6aXRlbS5saW5rLG9uOntcImNsaWNrXCI6ZnVuY3Rpb24oJGV2ZW50KXtyZXR1cm4gX3ZtLiRyb3V0ZXIucHVzaChpdGVtLmxpbmspfX19LFtfdm0uX3YoXCIgXCIrX3ZtLl9zKF92bS4kdHJhbnNsYXRlKGl0ZW0udGV4dCkpK1wiIFwiKV0pfSksMSldLDEpXX0pXSwyKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XHJcbiAgPHYtdGFic1xyXG4gICAgaGlkZS1zbGlkZXJcclxuICAgIGNsYXNzPVwidGhlLWhlYWRlci10YWJzXCJcclxuICA+XHJcbiAgICA8dGVtcGxhdGVcclxuICAgICAgdi1mb3I9XCJ0YWIgaW4gZmF2b3JpdGVzXCJcclxuICAgID5cclxuICAgICAgPHYtdGFiXHJcbiAgICAgICAgdi1pZj1cIiF0YWIuY2hpbGRyZW5cIlxyXG4gICAgICAgIDprZXk9XCJ0YWIubGlua1wiXHJcbiAgICAgICAgOnRvPVwidGFiLmxpbmtcIlxyXG4gICAgICAgIGxpbmtcclxuICAgICAgICBleGFjdFxyXG4gICAgICA+XHJcbiAgICAgICAge3sgJHRyYW5zbGF0ZSh0YWIudGV4dCkgfX1cclxuICAgICAgPC92LXRhYj5cclxuICAgICAgPHYtbWVudVxyXG4gICAgICAgIHYtZWxzZVxyXG4gICAgICAgIDprZXk9XCIkdHJhbnNsYXRlKHRhYi50ZXh0KVwiXHJcbiAgICAgICAgY29udGVudC1jbGFzcz1cInRoZS1oZWFkZXItdGFic19fZHJvcGRvd24tbWVudVwiXHJcbiAgICAgICAgZGFya1xyXG4gICAgICAgIG9mZnNldC15XHJcbiAgICAgID5cclxuICAgICAgICA8dGVtcGxhdGUgdi1zbG90OmFjdGl2YXRvcj1cInsgb24sIGF0dHJzIH1cIj5cclxuICAgICAgICAgIDx2LWJ0blxyXG4gICAgICAgICAgICB0ZXh0XHJcbiAgICAgICAgICAgIGNsYXNzPVwidGhlLWhlYWRlci10YWJzX19idXR0b24gYWxpZ24tc2VsZi1jZW50ZXIgbXItNFwiXHJcbiAgICAgICAgICAgIHYtYmluZD1cImF0dHJzXCJcclxuICAgICAgICAgICAgdi1vbj1cIm9uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgJHRyYW5zbGF0ZSh0YWIudGV4dCkgfX1cclxuICAgICAgICAgICAgPHYtaWNvbiByaWdodD5cclxuICAgICAgICAgICAgICBtZGktbWVudS1kb3duXHJcbiAgICAgICAgICAgIDwvdi1pY29uPlxyXG4gICAgICAgICAgPC92LWJ0bj5cclxuICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICAgIDx2LWxpc3Q+XHJcbiAgICAgICAgICA8di1saXN0LWl0ZW1cclxuICAgICAgICAgICAgdi1mb3I9XCJpdGVtIGluIHRhYi5jaGlsZHJlblwiXHJcbiAgICAgICAgICAgIDprZXk9XCJpdGVtLmxpbmtcIlxyXG4gICAgICAgICAgICBAY2xpY2s9XCIkcm91dGVyLnB1c2goaXRlbS5saW5rKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7ICR0cmFuc2xhdGUoaXRlbS50ZXh0KSB9fVxyXG4gICAgICAgICAgPC92LWxpc3QtaXRlbT5cclxuICAgICAgICA8L3YtbGlzdD5cclxuICAgICAgPC92LW1lbnU+XHJcbiAgICA8L3RlbXBsYXRlPlxyXG4gIDwvdi10YWJzPlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4JztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBuYW1lOiAnVGhlSGVhZGVyRmF2b3JpdEJhcicsXHJcbiAgY29tcHV0ZWQ6IHtcclxuICAgIC4uLm1hcFN0YXRlKFsncHJvZHVjdFN0cklkJ10pLFxyXG4gICAgLi4ubWFwU3RhdGUoJ2FjY291bnRzJywgW1xyXG4gICAgICAnY3VycmVudFVzZXInLFxyXG4gICAgICAndWlTZXR0aW5ncycsXHJcbiAgICBdKSxcclxuICAgIGZhdm9yaXRlcygpIHtcclxuICAgICAgY29uc3QgeyBmYXZvcml0ZXMgPSBbXSB9ID0gdGhpcy51aVNldHRpbmdzW2Ake3RoaXMucHJvZHVjdFN0cklkfS5mYXZvcml0ZXNgXSB8fCB7fTtcclxuICAgICAgaWYgKGZhdm9yaXRlcy5sZW5ndGggPiA0KSB7XHJcbiAgICAgICAgY29uc3QgW2ZhdjEsIGZhdjIsIGZhdjMsIC4uLmZhdk5dID0gZmF2b3JpdGVzO1xyXG4gICAgICAgIHJldHVybiBbZmF2MSwgZmF2MiwgZmF2MyxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGV4dDogdGhpcy4kdHJhbnNsYXRlKCfQldGJ0LUnKSxcclxuICAgICAgICAgICAgY2hpbGRyZW46IGZhdk4sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZhdm9yaXRlcztcclxuICAgIH0sXHJcbiAgfSxcclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cInNjc3NcIj5cclxuLnRoZS1oZWFkZXItdGFic19fZHJvcGRvd24tbWVudSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdi1kYXJrLWJhY2tncm91bmQtMDEtYmFzZSk7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgdG9wOiA0N3B4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcbi50aGUtaGVhZGVyLXRhYnNfX2Ryb3Bkb3duLW1lbnUgLnYtbGlzdCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS12LWRhcmstYmFja2dyb3VuZC0wMS1iYXNlKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12LWJvcmRlci0wMS1iYXNlKTtcclxuICBib3JkZXItdG9wOiAwcHg7XHJcbn1cclxuPC9zdHlsZT5cclxuXHJcbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cclxuLnYtdGFicyB7XHJcbiAgd2lkdGg6IGF1dG87XHJcbn1cclxuLnRoZS1oZWFkZXItdGFicyB7XHJcbiAgJl9fYnV0dG9uIHtcclxuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OztcclxuICB9XHJcbiAgOjp2LWRlZXAge1xyXG4gICAgLnYtdGFiIHtcclxuICAgICAgY29sb3I6ICNmNGY0ZjQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC52LXRhYi0tYWN0aXZlIHtcclxuICAgICAgY29sb3I6ICNmNGY0ZjQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuPC9zdHlsZT4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xMy0wIS4uLy4uLy4uLy4uL3RocmVhZC1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UaGVIZWFkZXJGYXZvcml0QmFyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xMy0wIS4uLy4uLy4uLy4uL3RocmVhZC1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UaGVIZWFkZXJGYXZvcml0QmFyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9UaGVIZWFkZXJGYXZvcml0QmFyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02NjQ3YjEzYSZzY29wZWQ9dHJ1ZVwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL1RoZUhlYWRlckZhdm9yaXRCYXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCJcbmV4cG9ydCAqIGZyb20gXCIuL1RoZUhlYWRlckZhdm9yaXRCYXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vVGhlSGVhZGVyRmF2b3JpdEJhci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02NjQ3YjEzYSZwcm9kJmxhbmc9c2Nzc1wiXG5pbXBvcnQgc3R5bGUxIGZyb20gXCIuL1RoZUhlYWRlckZhdm9yaXRCYXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTEmaWQ9NjY0N2IxM2EmcHJvZCZsYW5nPXNjc3Mmc2NvcGVkPXRydWVcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI2NjQ3YjEzYVwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsIjx0ZW1wbGF0ZT5cclxuICA8di1hcHAtYmFyXHJcbiAgICBhcHBcclxuICAgIGRlbnNlXHJcbiAgICBjbGlwcGVkLWxlZnRcclxuICAgIGRhcmtcclxuICAgIGNsYXNzPVwidGhlLWhlYWRlclwiXHJcbiAgPlxyXG4gICAgPHRlbXBsYXRlIHYtaWY9XCJjdXJyZW50VXNlciAmJiAkcm91dGUubmFtZSAhPT0gJ1R3b0ZBU3luYydcIj5cclxuICAgICAgPHYtYnRuXHJcbiAgICAgICAgaWNvblxyXG4gICAgICAgIGNsYXNzPVwid2hpdGUtLXRleHRcIlxyXG4gICAgICAgIEBjbGljay5zdG9wPVwiJGVtaXQoJ2NsaWNrLW1lbnUtaWNvbicpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDx2LWljb24gdi1pZj1cIiFkcmF3ZXJJc1Zpc2libGVcIj5cclxuICAgICAgICAgIG1kaS1tZW51XHJcbiAgICAgICAgPC92LWljb24+XHJcbiAgICAgICAgPHYtaWNvbiB2LWVsc2U+XHJcbiAgICAgICAgICBtZGktY2xvc2VcclxuICAgICAgICA8L3YtaWNvbj5cclxuICAgICAgPC92LWJ0bj5cclxuICAgIDwvdGVtcGxhdGU+XHJcbiAgICA8cm91dGVyLWxpbmtcclxuICAgICAgdG89XCIvXCJcclxuICAgICAgOmV2ZW50PVwiJHJvdXRlLm5hbWUgIT09ICdUd29GQVN5bmMnID8gJ2NsaWNrJyA6ICcnXCJcclxuICAgICAgY2xhc3M9XCJ0aGUtaGVhZGVyX19sb2dvIGQtZmxleCBhbGlnbi1jZW50ZXJcIlxyXG4gICAgPlxyXG4gICAgICA8di1za2VsZXRvbi1sb2FkZXJcclxuICAgICAgICB2LWlmPVwiaXNMb2FkaW5nTG9nb1wiXHJcbiAgICAgICAgY2xhc3M9XCJ0aGUtaGVhZGVyX19sb2dvLWxvYWRlclwiXHJcbiAgICAgICAgdHlwZT1cImxpc3QtaXRlbVwiXHJcbiAgICAgIC8+XHJcbiAgICAgIDx0ZW1wbGF0ZSB2LWVsc2U+XHJcbiAgICAgICAgPCEtLSAgIGJveGJlcnJ5IGxvZ28gYmVnaW4gICAgIC0tPlxyXG4gICAgICAgIDxzdmcgdi1pZj1cImlzQm94YmVycnlcIiBzdHlsZT1cIndpZHRoOmZpdC1jb250ZW50O2hlaWdodDoyOHB4O1wiIGNsYXNzPVwibXItMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4wXCIgd2lkdGg9XCI2MDAuMDAwMDAwcHRcIiBoZWlnaHQ9XCIxNzEuMDAwMDAwcHRcIiB2aWV3Qm94PVwiMCAwIDYwMC4wMDAwMDAgMTcxLjAwMDAwMFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCI+XHJcbiAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC4wMDAwMDAsMTcxLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKVwiIGZpbGw9XCIjMDAwMDAwXCIgc3Ryb2tlPVwibm9uZVwiPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTgwMCAxNjk1IGMtMTI0IC01NiAtMTYxIC0yMTQgLTcyIC0zMDggMTMzIC0xNDEgMzcxIC00MCAzNDkgMTQ4IC02IDU2IC0zOSAxMTAgLTg4IDE0MiAtNDkgMzIgLTEzOCA0MSAtMTg5IDE4elwiIGZpbGw9XCIjQTlEMDM1XCIvPlxyXG4gICAgICAgICAgICA8cGF0aCBmaWxsPVwiI2ZmZlwiIGQ9XCJNNDU1IDEzNjEgYy0xNTYgLTcyIC0xNTEgLTI4OSA3IC0zNTYgMTY2IC02OSAzMzMgOTkgMjU5IDI2MCAtNDYgMTAwIC0xNjUgMTQzIC0yNjYgOTZ6XCIvPlxyXG4gICAgICAgICAgICA8cGF0aCBmaWxsPVwiI2ZmZlwiIGQ9XCJNMTEzNSAxMzYyIGMtNzYgLTM3IC0xMTUgLTk2IC0xMTUgLTE3NyAwIC04MSAzOSAtMTQxIDExNSAtMTc2IDg4IC00MSAxOTMgLTExIDI1MCA3MCA1OCA4MiAzNCAyMDQgLTUzIDI2NSAtNTUgMzkgLTEzOCA0NiAtMTk3IDE4elwiLz5cclxuICAgICAgICAgICAgPHBhdGggZmlsbD1cIiNmZmZcIiBkPVwiTTIxMTAgMTA1MyBjMCAtMjg0IDYgLTMxNiA3MCAtMzgxIDk5IC0xMDMgMjk4IC05MiAzODQgMjEgOTggMTI4IDYyIDMxNyAtNzQgMzkxIC00NiAyNSAtNTkgMjggLTEyNSAyNCAtNjQgLTMgLTgwIC04IC0xMTkgLTM1IGwtNDYgLTMzIDAgMTE0IGMwIDEyNCAtMyAxMzEgLTU4IDE0MiBsLTMyIDcgMCAtMjUweiBtMzM5IC01MiBjOTQgLTY3IDkzIC0yMzEgLTMgLTI5MCAtMTA3IC02NyAtMjI0IC04IC0yNDIgMTIxIC0xNiAxMTQgNTggMjAzIDE2MiAxOTUgMzIgLTIgNjMgLTEyIDgzIC0yNnpcIi8+XHJcbiAgICAgICAgICAgIDxwYXRoIGZpbGw9XCIjZmZmXCIgZD1cIk0zNzI3IDEyOTQgYy0xMSAtMTIgLTggLTQ0NyA0IC01MDQgMTQgLTY0IDYxIC0xMjcgMTE5IC0xNjAgMzggLTIxIDU4IC0yNSAxMjUgLTI1IDkwIDAgMTMxIDE1IDE4NSA2OCA0OSA0OCA3NCAxMTAgNzMgMTg3IDAgNzYgLTE3IDEyMSAtNjQgMTc1IC04MiA5MiAtMjM4IDEwMyAtMzI2IDIyIGwtMjMgLTIwIDAgMTA5IGMwIDczIC00IDExNiAtMTIgMTI3IC0xNCAxOCAtNjkgMzMgLTgxIDIxeiBtMzExIC0yNzggYzc1IC0zOSAxMTYgLTEzMCA5NCAtMjA1IC0zMyAtMTA5IC0xNTEgLTE2NCAtMjMyIC0xMDggLTU3IDM4IC03NCA3MCAtNzggMTQ1IC0yIDU2IDEgNzQgMjAgMTA2IDQwIDY3IDEzMSA5NiAxOTYgNjJ6XCIvPlxyXG4gICAgICAgICAgICA8cGF0aCBmaWxsPVwiI2ZmZlwiIGQ9XCJNNDQ0NyAxMTA2IGMtMTAxIC0zOCAtMTU3IC0xMjMgLTE1NyAtMjQxIDAgLTExNiA1MyAtMTk4IDE1NSAtMjQxIDU3IC0yMyAxNzAgLTE4IDIzMyAxMSA1NiAyNiA3MSA0NyA1MiA3MCAtMTYgMTkgLTQ4IDE5IC05MyAwIC0xMDMgLTQzIC0yMjggMTMgLTI0NCAxMDggbC02IDM3IDE4MiAwIDE4MSAwIDAgNTggYy0xIDczIC0zMiAxMzcgLTg3IDE3NiAtMzMgMjMgLTU0IDI5IC0xMTAgMzIgLTQzIDMgLTgyIC0xIC0xMDYgLTEweiBtMTU5IC04MiBjMjMgLTE1IDQyIC00OCA0NiAtNzkgMyAtMTkgLTMgLTIwIC0xMjkgLTIzIC0xNDIgLTMgLTE0NCAtMiAtMTE5IDQ3IDM3IDcxIDEzNiA5OCAyMDIgNTV6XCIvPlxyXG4gICAgICAgICAgICA8cGF0aCBmaWxsPVwiI2ZmZlwiIGQ9XCJNMjgxOSAxMDgyIGMtMTg3IC05NyAtMTgzIC0zNTQgNiAtNDU1IDU4IC0zMSAxOTMgLTMxIDI1MiAxIDE5NyAxMDQgMTkwIDM3MSAtMTIgNDYzIC0yNyAxMyAtNjQgMTkgLTExNiAxOSAtNjUgMCAtODUgLTQgLTEzMCAtMjh6IG0yMzUgLTg2IGM0OCAtMzYgNjYgLTc0IDY2IC0xMzYgMCAtMTAwIC02MiAtMTY5IC0xNTggLTE3NyAtMTgxIC0xNyAtMjU0IDI0OCAtOTAgMzMxIDUwIDI2IDEzNiAxNyAxODIgLTE4elwiLz5cclxuICAgICAgICAgICAgPHBhdGggZmlsbD1cIiNmZmZcIiBkPVwiTTMyNTIgMTA0OCBjMjUgLTM1IDY0IC05MSA4NyAtMTI1IGw0MyAtNjEgLTgxIC0xMjEgYy00NSAtNjYgLTgxIC0xMjMgLTgxIC0xMjYgMCAtMyAyNiAtNSA1OCAtMyBsNTcgMyA1MiA4MCBjMjkgNDQgNTUgODUgNTggOTAgMyA2IDcgNiAxMCAtMSAzIC02IDI5IC00NyA1OCAtOTAgbDUyIC03OSA1OCAtMyBjMzEgLTIgNTcgLTEgNTcgMSAwIDIgLTM2IDU4IC04MCAxMjMgLTQ0IDY1IC04MCAxMjIgLTgwIDEyNiAwIDUgMzYgNjAgODAgMTIzIDQ0IDYzIDgwIDExNyA4MCAxMjAgMCAzIC0yMyA1IC01MCA1IC02MSAwIC03NiAtMTMgLTEzNSAtMTEyIC0yMiAtMzcgLTQyIC02OCAtNDUgLTY3IC0zIDAgLTIzIDI5IC00NSA2NSAtNTYgOTIgLTg0IDExNCAtMTQ3IDExNCBsLTUwIDAgNDQgLTYyelwiLz5cclxuICAgICAgICAgICAgPHBhdGggZmlsbD1cIiNmZmZcIiBkPVwiTTQ4MjAgODY1IGwwIC0yNDUgNDkgMCA0OSAwIDQgMTM4IGMyIDExNSA2IDE0MyAyNCAxNzcgMjYgNDkgNzYgODUgMTIwIDg1IDM0IDAgMzQgMSAzNCA0NSBsMCA0NSAtMzcgMCBjLTQ3IDAgLTkwIC0yOCAtMTIwIC03NyBsLTIzIC0zOCAwIDM4IGMwIDQ2IC0yOCA3NyAtNzAgNzcgbC0zMCAwIDAgLTI0NXpcIi8+XHJcbiAgICAgICAgICAgIDxwYXRoIGZpbGw9XCIjZmZmXCIgZD1cIk01MTcwIDg2NSBsMCAtMjQ1IDUwIDAgNTAgMCAwIDEzMyBjMCAxMTggMyAxMzggMjMgMTc3IDI2IDUzIDc3IDkwIDEyMyA5MCAzNCAwIDM0IDEgMzQgNDUgbDAgNDUgLTM3IDAgYy00OSAwIC05OCAtMzAgLTEyNiAtNzggbC0yMiAtMzcgLTMgNDUgYy0zIDUxIC0yMSA3MCAtNjQgNzAgbC0yOCAwIDAgLTI0NXpcIi8+XHJcbiAgICAgICAgICAgIDxwYXRoIGZpbGw9XCIjZmZmXCIgZD1cIk01NDkwIDExMDAgYzAgLTYgNDcgLTExNiAxMDUgLTI0NSBsMTA1IC0yMzUgLTE2IC00MCBjLTE5IC00NyAtNjYgLTkwIC05OSAtOTAgLTE0IDAgLTMzIC0xMSAtNDUgLTI3IGwtMjIgLTI4IDc4IC0zIGM3MyAtMyA3OSAtMSAxMDYgMjUgMzkgMzcgNDQgNDYgMTU1IDMxNiA1MiAxMjggMTA2IDI1MyAxMTkgMjc5IDEzIDI2IDI0IDUwIDI0IDUzIDAgMTQgLTg5IDQgLTEwOCAtMTIgLTEyIC0xMSAtNDcgLTkyIC04MyAtMTkxIC02MiAtMTY5IC02NCAtMTcyIC03NSAtMTQwIC0zOCAxMDkgLTEzOSAzMzAgLTE1NCAzMzggLTI1IDEzIC05MCAxMyAtOTAgMHpcIi8+XHJcbiAgICAgICAgICAgIDxwYXRoIGZpbGw9XCIjZmZmXCIgZD1cIk0xMDkgMTAyNyBjLTk2IC01MSAtMTM1IC0xNjYgLTg3IC0yNTcgNzIgLTEzMyAyNDcgLTE0NyAzNDIgLTI3IDI4IDM1IDMxIDQ1IDMxIDExMiAwIDY3IC0zIDc3IC0zMSAxMTIgLTY0IDgwIC0xNjkgMTA1IC0yNTUgNjB6XCIvPlxyXG4gICAgICAgICAgICA8cGF0aCBmaWxsPVwiI2ZmZlwiIGQ9XCJNNzkwIDEwMjggYy0yNCAtMTMgLTU4IC00MCAtNzQgLTYxIC0yOCAtMzUgLTMxIC00NSAtMzEgLTExMiAwIC02NyAzIC03NyAzMSAtMTEyIDU5IC03NCAxNTkgLTEwMiAyNDIgLTY4IDE2MSA2OCAxNjEgMjkyIDAgMzYwIC01MyAyMiAtMTE2IDE5IC0xNjggLTd6XCIvPlxyXG4gICAgICAgICAgICA8cGF0aCBmaWxsPVwiI2ZmZlwiIGQ9XCJNMTQ4MCAxMDM1IGMtNzggLTM1IC0xMjMgLTEwMSAtMTIzIC0xODAgMCAtNjAgMTkgLTEwMSA2NyAtMTQyIDEzMCAtMTE1IDMzMCAtMjggMzMwIDE0MiAwIDEwNiAtNzYgMTg2IC0xODIgMTkyIC0zNyAyIC03MCAtMiAtOTIgLTEyelwiLz5cclxuICAgICAgICAgICAgPHBhdGggZmlsbD1cIiNmZmZcIiBkPVwiTTQ2MCA3MDQgYy0xNDIgLTYyIC0xNjEgLTI0OSAtMzMgLTMzOCAxMzEgLTkxIDMxMiAyIDMxMyAxNjIgMCAxMzYgLTE1MiAyMzIgLTI4MCAxNzZ6XCIvPlxyXG4gICAgICAgICAgICA8cGF0aCBmaWxsPVwiI2ZmZlwiIGQ9XCJNMTEzNSA3MDEgYy03NiAtMzUgLTExNSAtOTUgLTExNSAtMTc3IDAgLTU5IDE5IC0xMDMgNjMgLTE0MSA3MiAtNjMgMTc0IC03MCAyNDkgLTE3IDg3IDYxIDExMSAxODMgNTMgMjY1IC01NyA4MSAtMTYyIDExMSAtMjUwIDcwelwiLz5cclxuICAgICAgICAgICAgPHBhdGggZmlsbD1cIiNmZmZcIiBkPVwiTTc4OSAzNzAgYy0xNDcgLTc4IC0xNDYgLTI3MSAyIC0zNDggODYgLTQ1IDIwMSAtMTQgMjU2IDY5IDY1IDk4IDI2IDIzMSAtODIgMjgwIC01MiAyNCAtMTMwIDI0IC0xNzYgLTF6XCIvPlxyXG4gICAgICAgICAgPC9nPlxyXG4gICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICA8IS0tICAgYm94YmVycnkgbG9nbyBlbmQgICAgIC0tPlxyXG4gICAgICAgIHt7IGxvZ28gfX1cclxuICAgICAgPC90ZW1wbGF0ZT5cclxuICAgIDwvcm91dGVyLWxpbms+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGhlLWhlYWRlcl9fY2xpZW50XCIgdi1pZj1cImN1ckNsaWVudFwiIHYtY2xpY2stb3V0c2lkZT1cIigpID0+IHNob3dDb250YWN0cyA/IHNob3dDb250YWN0cyA9IGZhbHNlIDogKCkgPT4ge31cIj5cclxuICAgICAge3sgY3VyQ2xpZW50LnN1bW1hcnkgfX1cclxuICAgICAgPHYtdG9vbHRpcFxyXG4gICAgICAgIHYtaWY9XCJnZXRDb250YWN0SW5mbyAmJiBjdXJDbGllbnQuc3lzQ29kZS5pbmRleE9mKCdZQVBQJykgIT09IC0xXCJcclxuICAgICAgICB2LW1vZGVsPVwic2hvd0NvbnRhY3RzXCJcclxuICAgICAgICBjb250ZW50LWNsYXNzPVwidGhlLWhlYWRlcl9fY29udGFjdHNcIlxyXG4gICAgICAgIGJvdHRvbVxyXG4gICAgICA+XHJcbiAgICAgICA8dGVtcGxhdGUgdi1zbG90OmFjdGl2YXRvcj1cInsgb24sIGF0dHJzIH1cIj5cclxuICAgICAgICA8di1idG5cclxuICAgICAgICAgIGljb25cclxuICAgICAgICAgIHNtYWxsXHJcbiAgICAgICAgICBkZW5zZVxyXG4gICAgICAgICAgQGNsaWNrPVwic2hvd0NvbnRhY3RzID0gIXNob3dDb250YWN0c1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHYtaWNvbiBzbWFsbCBjb2xvcj1cImdyZXkgbGlnaHRlbi0xXCI+bWRpLWNvbnRhY3RzPC92LWljb24+XHJcbiAgICAgICAgPC92LWJ0bj5cclxuICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgPHVsIGNsYXNzPVwicGwtMFwiPlxyXG4gICAgICAgICAgICA8bGkgdi1pZj1cImdldENvbnRhY3RJbmZvLmZpb1wiPlxyXG4gICAgICAgICAgICAgIDxiPnt7ICR0cmFuc2xhdGUoJ3NkdC5maW8nKSB9fTo8L2I+IHt7IGdldENvbnRhY3RJbmZvLmZpbyB9fS4ge3sgZ2V0Q29udGFjdEluZm8ucGhvbmUgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpIHYtaWY9XCJnZXRDb250YWN0SW5mby5lbWFpbFwiPlxyXG4gICAgICAgICAgICAgIDxiPnt7ICR0cmFuc2xhdGUoJ3NkdC5zdXBwb3J0JykgfX06PC9iPiA8YSBzdHlsZT1cImNvbG9yOiAjZmZmO1wiIDpocmVmPVwiYG1haWx0bzoke2dldENvbnRhY3RJbmZvLmVtYWlsfWBcIj57eyBnZXRDb250YWN0SW5mby5lbWFpbCB9fTwvYT5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L3YtdG9vbHRpcD5cclxuICAgIDwvZGl2PlxyXG4gICAgPFRoZUhlYWRlckZhdm9yaXRCYXJcclxuICAgICAgdi1pZj1cImN1cnJlbnRVc2VyICYmICR2dWV0aWZ5LmJyZWFrcG9pbnQubWRBbmRVcFwiXHJcbiAgICAvPlxyXG4gICAgPHYtc3BhY2VyIC8+XHJcbiAgICA8VGhlSGVhZGVyQnV0dG9uc1xyXG4gICAgICA6cmlnaHQtbWVudT1cInJpZ2h0TWVudVwiXHJcbiAgICAgIHYtaWY9XCJjdXJyZW50VXNlciAmJiAkcm91dGUubmFtZSAhPT0gJ1R3b0ZBU3luYydcIlxyXG4gICAgICB2LW9uPVwieyAnY2xpY2stcmlnaHQtbWVudS1zd2l0Y2hlcic6ICRsaXN0ZW5lcnNbJ2NsaWNrLXJpZ2h0LW1lbnUtc3dpdGNoZXInXSB9XCJcclxuICAgIC8+XHJcbiAgPC92LWFwcC1iYXI+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnO1xyXG5pbXBvcnQgeyBhdXRoU2VydmljZSB9IGZyb20gJ0Avc2VydmljZXMnO1xyXG5pbXBvcnQgQ29tbW9uU2VydmljZSBmcm9tICdiY2tvZmZpY2VfZnJvbnRfY29yZS9zZXJ2aWNlcy9Db21tb24nO1xyXG5pbXBvcnQgVGhlSGVhZGVyRmF2b3JpdEJhciBmcm9tICcuL1RoZUhlYWRlckZhdm9yaXRCYXIudnVlJztcclxuXHJcbmNvbnN0IGlzQWNjb3VudHNTZXJ2aWNlID0gbmV3IENvbW1vblNlcnZpY2Uoe1xyXG4gIGJhY2tlbmRVUkw6IHByb2Nlc3MuZW52LlZVRV9BUFBfQVBJRE1fVVJMLFxyXG4gIHByZWZpeDogJ2lzQWNjb3VudHMnLFxyXG59KTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBuYW1lOiAnVGhlSGVhZGVyJyxcclxuICBjb21wb25lbnRzOiB7XHJcbiAgICBUaGVIZWFkZXJGYXZvcml0QmFyLFxyXG4gIH0sXHJcbiAgcHJvcHM6IHtcclxuICAgIGRyYXdlcklzVmlzaWJsZToge1xyXG4gICAgICB0eXBlOiBCb29sZWFuLFxyXG4gICAgfSxcclxuICAgIHJpZ2h0TWVudToge1xyXG4gICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgYXV0aDoge1xyXG4gICAgICB0eXBlOiBCb29sZWFuLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgfSxcclxuICBkYXRhKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc2hvd0NvbnRhY3RzOiBmYWxzZSxcclxuICAgICAgdXNlck1lbnVJc1Zpc2libGU6IGZhbHNlLFxyXG4gICAgICBjdXJDbGllbnQ6IG51bGwsXHJcbiAgICAgIGxvZ2luOiBmYWxzZSxcclxuICAgIH07XHJcbiAgfSxcclxuICBjb21wdXRlZDoge1xyXG4gICAgLi4ubWFwU3RhdGUoJ2FjY291bnRzJywgW1xyXG4gICAgICAnY3VycmVudFVzZXInLFxyXG4gICAgXSksXHJcbiAgICAuLi5tYXBTdGF0ZShbXHJcbiAgICAgICdwcm9kdWN0U3RySWQnLFxyXG4gICAgXSksXHJcbiAgICAuLi5tYXBTdGF0ZSgnY29tcGVuZGl1bXMvbGsnLCBbXHJcbiAgICAgICdjb250YWN0cycsXHJcbiAgICBdKSxcclxuICAgIGdldENvbnRhY3RJbmZvKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb250YWN0cy5maWx0ZXIoKHsgY29udGFjdFR5cGUgfSkgPT4gIWNvbnRhY3RUeXBlKS5tYXAoKHsgaXRlbVR5cGUsIHZhbHVlfSkgPT4gKHtcclxuICAgICAgICAuLi4oaXRlbVR5cGUgPT09IDAgPyB7IGZpbzogdmFsdWUgfSA6IHt9KSxcclxuICAgICAgICAuLi4oaXRlbVR5cGUgPT09IDEgPyB7IGVtYWlsOiB2YWx1ZSB9IDoge30pLFxyXG4gICAgICAgIC4uLihpdGVtVHlwZSA9PT0gMiA/IHsgcGhvbmU6IHZhbHVlIH0gOiB7fSksXHJcbiAgICAgIH0pKS5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IE9iamVjdC5hc3NpZ24ocHJldiwgY3VyciksIHt9KTtcclxuICAgIH0sXHJcbiAgICBpc0xvYWRpbmdMb2dvKCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9LFxyXG4gICAgaXNCb3hiZXJyeSgpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSxcclxuICAgIGxvZ28oKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH0sXHJcbiAgfSxcclxuICB3YXRjaDoge1xyXG4gICAgJHJvdXRlOiB7XHJcbiAgICAgIGFzeW5jIGhhbmRsZXIodmFsKSB7XHJcbiAgICAgICAgaWYgKFsnRGFzaGJvYXJkJywgJ1NpZ25JbiddLmluZGV4T2YodmFsLm5hbWUpICE9PSAtMSkgdGhpcy5oYW5kbGVyQ3VyQ2xpZW50KCk7XHJcbiAgICAgICAgaWYgKFsnU2lnbkluJ10uaW5kZXhPZih2YWwubmFtZSkgIT09IC0xKSB0aGlzLmhhbmRsZXJBdXRoKGZhbHNlKTtcclxuICAgICAgICBpZiAoWydEYXNoYm9hcmQnXS5pbmRleE9mKHZhbC5uYW1lKSAhPT0gLTEpIHRoaXMuaGFuZGxlckF1dGgodHJ1ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VyQ2xpZW50ID09PSBudWxsKSB0aGlzLmhhbmRsZXJDdXJDbGllbnQoKTtcclxuICAgICAgfSxcclxuICAgICAgZGVlcDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgfSxcclxuICBtb3VudGVkKCkge1xyXG4gICAgdGhpcy5oYW5kbGVyQ3VyQ2xpZW50KCk7XHJcbiAgfSxcclxuICBtZXRob2RzOiB7XHJcbiAgICBhc3luYyBoYW5kbGVyQ3VyQ2xpZW50KCkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRoaXMuY3VyQ2xpZW50ID0gbnVsbDtcclxuICAgICAgICBpZiAodGhpcy5wcm9kdWN0U3RySWQgPT09ICdMSycpIHtcclxuICAgICAgICAgIGNvbnN0IHsgcmVzdWx0OiBhY2NvdW50cyB9ID0gYXdhaXQgaXNBY2NvdW50c1NlcnZpY2UuZmV0Y2goKSB8fCBbXTtcclxuICAgICAgICAgIGNvbnN0IGF1dGhEYXRhID0gYXV0aFNlcnZpY2UuZ2V0QXV0aERhdGEoKSB8fCB7fTtcclxuICAgICAgICAgIGNvbnN0IGZpbmRBY2MgPSBhY2NvdW50cz8uZmluZCgoYWNjKSA9PiArYWNjLmlkID09PSArYXV0aERhdGE/LmFjY291bnRJZCkgfHwgbnVsbDtcclxuICAgICAgICAgIHRoaXMuY3VyQ2xpZW50ID0gZmluZEFjYyA9PT0gbnVsbCA/IGFjY291bnRzWzBdIDogZmluZEFjYztcclxuICAgICAgICAgIGF1dGhTZXJ2aWNlLnNldEF1dGhEYXRhKHsgYWNjb3VudElkOiBTdHJpbmcodGhpcy5jdXJDbGllbnQ/LmlkKSwgc3lzQ29kZTogdGhpcy5jdXJDbGllbnQ/LnN5c0NvZGUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGNhdGNoIHtcclxuICAgICAgICB0aGlzLmN1ckNsaWVudCA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBhc3luYyBoYW5kbGVyQXV0aChhdXRoKSB7XHJcbiAgICAgIHRoaXMubG9naW4gPSBhdXRoO1xyXG4gICAgfSxcclxuICB9LFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwic2Nzc1wiPlxyXG4udGhlLWhlYWRlciB7XHJcbiAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXYtaGVhZGVyLWJvcmRlci1iYXNlKSAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXYtaGVhZGVyLWJhY2tncm91bmQtYmFzZSkgIWltcG9ydGFudDtcclxuXHJcbiAgJl9fbG9nbyB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBtaW4td2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICB9XHJcbiAgJl9fY2xpZW50IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTEwcHgpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAvL21hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQ4cHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19sb2dvLWxvYWRlciB7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAudi1za2VsZXRvbi1sb2FkZXJfX2xpc3QtaXRlbSB7XHJcbiAgICAgIGhlaWdodDogMzhweDtcclxuICAgIH1cclxuICB9XHJcbiAgJl9fYnV0dG9uIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAmLS1hY3RpdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS12LWRhcmstYmFja2dyb3VuZC0wMS1iYXNlKSAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12LWJvcmRlci0wMS1iYXNlKTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMHB4O1xyXG4gICAgICBib3JkZXItdG9wOiAwcHg7XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJl9fdGFicyB7XHJcbiAgICAudi1pdGVtLWdyb3VwIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgLnYtdG9vbGJhcl9fY29udGVudCB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XHJcbiAgfVxyXG5cclxuICAmX19jb250YWN0cyB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xyXG4gIH1cclxufVxyXG5cclxuPC9zdHlsZT5cclxuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMTMtMCEuLi8uLi8uLi8uLi90aHJlYWQtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMCEuLi8uLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVGhlSGVhZGVyTWl4aW4udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vLi4vLi4vLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1RoZUhlYWRlck1peGluLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9UaGVIZWFkZXJNaXhpbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NjIwOWVmNzhcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9UaGVIZWFkZXJNaXhpbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuZXhwb3J0ICogZnJvbSBcIi4vVGhlSGVhZGVyTWl4aW4udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vVGhlSGVhZGVyTWl4aW4udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NjIwOWVmNzgmcHJvZCZsYW5nPXNjc3NcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2xvYWRlci5qcz8/cmVmLS05LW9uZU9mLTEtMCEuLi8uLi8uLi9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTktb25lT2YtMS0xIS4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS05LW9uZU9mLTEtMiEuLi8uLi8uLi9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS05LW9uZU9mLTEtMyEuLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9EYWRhdGFTZWFyY2hBZGRyZXNzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTk0N2Q5ODFlJnByb2QmbGFuZz1zY3NzXCIiLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCl7dmFyIF92bT10aGlzLF9jPV92bS5fc2VsZi5fYztyZXR1cm4gX2MoJ3YtdG9vbHRpcCcse2F0dHJzOntcImJvdHRvbVwiOlwiXCIsXCJkaXNhYmxlZFwiOl92bS4kdnVldGlmeS5icmVha3BvaW50LnNtQW5kRG93biB8fCBCb29sZWFuKF92bS5hY3RpdmVSaWdodE1lbnUpfSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJhY3RpdmF0b3JcIixmbjpmdW5jdGlvbih7IG9uLCBhdHRycyB9KXtyZXR1cm4gW19jKCd2LWJ0bicsX3ZtLl9nKF92bS5fYih7c3RhdGljQ2xhc3M6XCJ0aGUtaGVhZGVyX19idXR0b24gd2hpdGUtLXRleHRcIixjbGFzczpfdm0uYWN0aXZlUmlnaHRNZW51ID09PSBfdm0ubmFtZSA/ICd0aGUtaGVhZGVyX19idXR0b24tLWFjdGl2ZSc6ICcnLGF0dHJzOntcImljb25cIjpcIlwifSxvbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uJGVtaXQoJ3N3aXRjaCcsIF92bS5uYW1lKX19fSwndi1idG4nLGF0dHJzLGZhbHNlKSxvbiksW19jKCd2LWJhZGdlJyx7c3RhdGljQ2xhc3M6XCJ0aGUtaGVhZGVyLWJ1dHRvbnNfX2JhZGdlXCIsYXR0cnM6e1wiYm9yZGVyZWRcIjpcIlwiLFwib3ZlcmxhcFwiOlwiXCIsXCJ2YWx1ZVwiOl92bS5ub3RpZmljYXRpb25zLnVucmVhZC5sZW5ndGgsXCJjb250ZW50XCI6X3ZtLm5vdGlmaWNhdGlvbnMudW5yZWFkLmxlbmd0aH19LFtfYygndi1pY29uJyxbX3ZtLl92KFwiIFwiK192bS5fcyhfdm0uaXNTaG93VG9hc3ROb3RpZmljYXRpb25zID8gJ21kaS1iZWxsLW91dGxpbmUnIDogJ21kaS1iZWxsLW9mZicpK1wiIFwiKV0pXSwxKV0sMSldfX1dKX0sW19jKCdzcGFuJyxbX3ZtLl92KF92bS5fcyhfdm0uJHRyYW5zbGF0ZSgnc2lkZWJhcnMubm90aWZpY2F0aW9uLWNlbnRlci5ub3RpZmljYXRpb24nLCAn0KbQtdC90YLRgCDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5JykpKV0pXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiPHRlbXBsYXRlPlxyXG4gIDx2LXRvb2x0aXBcclxuICAgIGJvdHRvbVxyXG4gICAgOmRpc2FibGVkPVwiJHZ1ZXRpZnkuYnJlYWtwb2ludC5zbUFuZERvd24gfHwgQm9vbGVhbihhY3RpdmVSaWdodE1lbnUpXCJcclxuICA+XHJcbiAgICA8dGVtcGxhdGUgdi1zbG90OmFjdGl2YXRvcj1cInsgb24sIGF0dHJzIH1cIj5cclxuICAgICAgPHYtYnRuXHJcbiAgICAgICAgaWNvblxyXG4gICAgICAgIGNsYXNzPVwidGhlLWhlYWRlcl9fYnV0dG9uIHdoaXRlLS10ZXh0XCJcclxuICAgICAgICA6Y2xhc3M9XCJhY3RpdmVSaWdodE1lbnUgPT09IG5hbWUgPyAndGhlLWhlYWRlcl9fYnV0dG9uLS1hY3RpdmUnOiAnJ1wiXHJcbiAgICAgICAgdi1iaW5kPVwiYXR0cnNcIlxyXG4gICAgICAgIHYtb249XCJvblwiXHJcbiAgICAgICAgQGNsaWNrLnN0b3A9XCIkZW1pdCgnc3dpdGNoJywgbmFtZSlcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHYtYmFkZ2VcclxuICAgICAgICAgIGNsYXNzPVwidGhlLWhlYWRlci1idXR0b25zX19iYWRnZVwiXHJcbiAgICAgICAgICBib3JkZXJlZFxyXG4gICAgICAgICAgb3ZlcmxhcFxyXG4gICAgICAgICAgOnZhbHVlPVwibm90aWZpY2F0aW9ucy51bnJlYWQubGVuZ3RoXCJcclxuICAgICAgICAgIDpjb250ZW50PVwibm90aWZpY2F0aW9ucy51bnJlYWQubGVuZ3RoXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8di1pY29uPlxyXG4gICAgICAgICAgICB7eyBpc1Nob3dUb2FzdE5vdGlmaWNhdGlvbnMgPyAnbWRpLWJlbGwtb3V0bGluZScgOiAnbWRpLWJlbGwtb2ZmJyB9fVxyXG4gICAgICAgICAgPC92LWljb24+XHJcbiAgICAgICAgPC92LWJhZGdlPlxyXG4gICAgICA8L3YtYnRuPlxyXG4gICAgPC90ZW1wbGF0ZT5cclxuICAgIDxzcGFuPnt7ICR0cmFuc2xhdGUoJ3NpZGViYXJzLm5vdGlmaWNhdGlvbi1jZW50ZXIubm90aWZpY2F0aW9uJywgJ9Cm0LXQvdGC0YAg0YPQstC10LTQvtC80LvQtdC90LjQuScpIH19PC9zcGFuPlxyXG4gIDwvdi10b29sdGlwPlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4JztcclxuXHJcbmNvbnN0IG5hbWUgPSAnTm90aWZpY2F0aW9uc0NlbnRlcic7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBuYW1lLFxyXG4gIHByb3BzOiB7XHJcbiAgICBhY3RpdmVSaWdodE1lbnU6IHtcclxuICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIGNyZWF0ZWQoKSB7XHJcbiAgICBpZiAodGhpcy4kaTE4bikgdGhpcy4kaTE4bi5mZXRjaE1lc3NhZ2VzKCdzaWRlYmFycy5ub3RpZmljYXRpb24tY2VudGVyJyk7XHJcbiAgfSxcclxuICBkYXRhKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmFtZSxcclxuICAgIH07XHJcbiAgfSxcclxuICBjb21wdXRlZDoge1xyXG4gICAgLi4ubWFwU3RhdGUoJ25vdGlmaWNhdGlvbnMnLCBbXHJcbiAgICAgICdub3RpZmljYXRpb25zJyxcclxuICAgICAgJ2lzU2hvd1RvYXN0Tm90aWZpY2F0aW9ucycsXHJcbiAgICBdKSxcclxuICB9LFxyXG59O1xyXG48L3NjcmlwdD5cclxuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMTMtMCEuLi8uLi8uLi8uLi8uLi90aHJlYWQtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMCEuLi8uLi8uLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTm90aWZpY2F0aW9uc0NlbnRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMTMtMCEuLi8uLi8uLi8uLi8uLi90aHJlYWQtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMCEuLi8uLi8uLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTm90aWZpY2F0aW9uc0NlbnRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vTm90aWZpY2F0aW9uc0NlbnRlci52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9N2ExMDhmMmVcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9Ob3RpZmljYXRpb25zQ2VudGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiXG5leHBvcnQgKiBmcm9tIFwiLi9Ob3RpZmljYXRpb25zQ2VudGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsInZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKXt2YXIgX3ZtPXRoaXMsX2M9X3ZtLl9zZWxmLl9jO3JldHVybiBfYygndi1saXN0Jyx7c3RhdGljQ2xhc3M6XCJ0aGUtbGVmdC1tZW51LWxpc3RcIixhdHRyczp7XCJkZW5zZVwiOlwiXCIsXCJsaWdodFwiOlwiXCIsXCJkYXJrXCI6X3ZtLiR2dWV0aWZ5LnRoZW1lLmRhcmt9fSxbX3ZtLl9sKChfdm0ubWVudVNlY3Rpb25MaXN0KSxmdW5jdGlvbihzZWN0aW9uLGluZGV4KXtyZXR1cm4gX2MoJ2Rpdicse2tleTonc2VjdGlvbicgKyBpbmRleH0sW192bS5fbCgoc2VjdGlvbiksZnVuY3Rpb24oaXRlbSl7cmV0dXJuIF9jKCd2LXRvb2x0aXAnLHtrZXk6aXRlbS50ZXh0LGF0dHJzOntcInJpZ2h0XCI6XCJcIixcImRpc2FibGVkXCI6IV92bS5pc01pbml9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImFjdGl2YXRvclwiLGZuOmZ1bmN0aW9uKHsgb24sIGF0dHJzIH0pe3JldHVybiBbX2MoJ3YtbGlzdC1pdGVtJyxfdm0uX2coX3ZtLl9iKHthdHRyczp7XCJsaW5rXCI6XCJcIixcInRvXCI6X3ZtLmxpbmtGb3JtYXR0ZXIoaXRlbS5saW5rKX19LCd2LWxpc3QtaXRlbScsYXR0cnMsZmFsc2UpLG9uKSxbX2MoJ3YtbGlzdC1pdGVtLWljb24nLFtfYygndi1pY29uJyxbX3ZtLl92KF92bS5fcyhpdGVtLmljb24pKV0pXSwxKSxfYygndi1saXN0LWl0ZW0tY29udGVudCcsW19jKCd2LWxpc3QtaXRlbS10aXRsZScse3N0YXRpY0NsYXNzOlwidGhlLWxlZnQtbWVudS1saXN0X19pdGVtLXRpdGxlXCJ9LFtfdm0uX3YoXCIgXCIrX3ZtLl9zKF92bS4kdHJhbnNsYXRlKGl0ZW0udGV4dCkpK1wiIFwiKSwoX3ZtLmN1c3RvbWl6ZUludGVyZmFjZUVuYWJsZWQpP19jKCd2LWljb24nLHthdHRyczp7XCJjb2xvclwiOlwidGV4dC0wMVwifSxvbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyRldmVudC5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBfdm0ub25DbGlja0ZhdihpdGVtKX19fSxbX3ZtLl92KFwiIFwiK192bS5fcyhfdm0uaXNGYWYoaXRlbS5saW5rKSA/ICdtZGktc3RhcicgOiAnbWRpLXN0YXItb3V0bGluZScpK1wiIFwiKV0pOl92bS5fZSgpXSwxKV0sMSldLDEpXX19XSxudWxsLHRydWUpfSxbX2MoJ3NwYW4nLFtfdm0uX3YoX3ZtLl9zKF92bS4kdHJhbnNsYXRlKGl0ZW0udGV4dCkpKV0pXSl9KSxfYygndi1kaXZpZGVyJyx7c3RhdGljQ2xhc3M6XCJtYi00IHVpLTAzXCJ9KV0sMil9KSwoIV92bS5pc01pbmkpP19jKCd2LWxpc3QtaXRlbScse2F0dHJzOntcImxpbmtcIjpcIlwifSxvbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7X3ZtLmN1c3RvbWl6ZUludGVyZmFjZUVuYWJsZWQgPSAhX3ZtLmN1c3RvbWl6ZUludGVyZmFjZUVuYWJsZWR9fX0sW19jKCd2LWxpc3QtaXRlbS1pY29uJyxbX2MoJ3YtaWNvbicsW192bS5fdihcIm1kaS10dW5lXCIpXSldLDEpLF9jKCd2LWxpc3QtaXRlbS1jb250ZW50JyxbX2MoJ3YtbGlzdC1pdGVtLXRpdGxlJyxbX3ZtLl92KFwiIFwiK192bS5fcyhfdm0uY3VzdG9taXplSW50ZXJmYWNlRW5hYmxlZCA/IF92bS4kdHJhbnNsYXRlKCdzaWRlYmFycy5sZWZ0LW1lbnUuZG9uZScsICfQk9C+0YLQvtCy0L4nKSA6IF92bS4kdHJhbnNsYXRlKCdzaWRlYmFycy5sZWZ0LW1lbnUuY3VzdG9taXplLWludGVyZmFjZScsICfQndCw0YHRgtGA0L7QuNGC0Ywg0LjQvdGC0LXRgNGE0LXQudGBJykpK1wiIFwiKV0pXSwxKV0sMSk6X3ZtLl9lKCksKF92bS4kdnVldGlmeS5icmVha3BvaW50LnhzT25seSk/X2MoJ3YtdG9vbHRpcCcse2F0dHJzOntcInJpZ2h0XCI6XCJcIixcImRpc2FibGVkXCI6IV92bS5pc01pbml9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImFjdGl2YXRvclwiLGZuOmZ1bmN0aW9uKHsgb24sIGF0dHJzIH0pe3JldHVybiBbX2MoJ3YtbGlzdC1pdGVtJyxfdm0uX2coX3ZtLl9iKHthdHRyczp7XCJsaW5rXCI6XCJcIn0sb246e1wiY2xpY2tcIjpfdm0ub25DbGlja0xvZ091dH19LCd2LWxpc3QtaXRlbScsYXR0cnMsZmFsc2UpLG9uKSxbX2MoJ3YtbGlzdC1pdGVtLWljb24nLFtfYygndi1pY29uJyxbX3ZtLl92KFwibWRpLWxvZ291dFwiKV0pXSwxKSxfYygndi1saXN0LWl0ZW0tY29udGVudCcsW19jKCd2LWxpc3QtaXRlbS10aXRsZScsW192bS5fdihcIiBcIitfdm0uX3MoX3ZtLiR0cmFuc2xhdGUoJ3NpZGViYXJzLmxlZnQtbWVudS5sb2dvdXQnLCAn0JLRi9C50YLQuCcpKStcIiBcIildKV0sMSldLDEpXX19XSxudWxsLGZhbHNlLDM4MzgxNjQwMjMpfSxbX2MoJ3NwYW4nLFtfdm0uX3YoX3ZtLl9zKF92bS4kdHJhbnNsYXRlKCdzaWRlYmFycy5sZWZ0LW1lbnUubG9nb3V0JywgJ9CS0YvQudGC0LgnKSkpXSldKTpfdm0uX2UoKV0sMilcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiPHRlbXBsYXRlPlxyXG4gIDx2LWxpc3RcclxuICAgIGRlbnNlXHJcbiAgICBsaWdodFxyXG4gICAgY2xhc3M9XCJ0aGUtbGVmdC1tZW51LWxpc3RcIlxyXG4gICAgOmRhcms9XCIkdnVldGlmeS50aGVtZS5kYXJrXCJcclxuICA+XHJcbiAgICA8ZGl2XHJcbiAgICAgIHYtZm9yPVwiKHNlY3Rpb24sIGluZGV4KSBpbiBtZW51U2VjdGlvbkxpc3RcIlxyXG4gICAgICA6a2V5PVwiJ3NlY3Rpb24nICsgaW5kZXhcIlxyXG4gICAgPlxyXG4gICAgICA8di10b29sdGlwXHJcbiAgICAgICAgdi1mb3I9XCJpdGVtIGluIHNlY3Rpb25cIlxyXG4gICAgICAgIDprZXk9XCJpdGVtLnRleHRcIlxyXG4gICAgICAgIHJpZ2h0XHJcbiAgICAgICAgOmRpc2FibGVkPVwiIWlzTWluaVwiXHJcbiAgICAgID5cclxuICAgICAgICA8dGVtcGxhdGUgdi1zbG90OmFjdGl2YXRvcj1cInsgb24sIGF0dHJzIH1cIj5cclxuICAgICAgICAgIDx2LWxpc3QtaXRlbVxyXG4gICAgICAgICAgICBsaW5rXHJcbiAgICAgICAgICAgIDp0bz1cImxpbmtGb3JtYXR0ZXIoaXRlbS5saW5rKVwiXHJcbiAgICAgICAgICAgIHYtYmluZD1cImF0dHJzXCJcclxuICAgICAgICAgICAgdi1vbj1cIm9uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHYtbGlzdC1pdGVtLWljb24+XHJcbiAgICAgICAgICAgICAgPHYtaWNvbj57eyBpdGVtLmljb24gfX08L3YtaWNvbj5cclxuICAgICAgICAgICAgPC92LWxpc3QtaXRlbS1pY29uPlxyXG4gICAgICAgICAgICA8di1saXN0LWl0ZW0tY29udGVudD5cclxuICAgICAgICAgICAgICA8di1saXN0LWl0ZW0tdGl0bGUgY2xhc3M9XCJ0aGUtbGVmdC1tZW51LWxpc3RfX2l0ZW0tdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICR0cmFuc2xhdGUoaXRlbS50ZXh0KSB9fVxyXG4gICAgICAgICAgICAgICAgPHYtaWNvblxyXG4gICAgICAgICAgICAgICAgICB2LWlmPVwiY3VzdG9taXplSW50ZXJmYWNlRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPVwidGV4dC0wMVwiXHJcbiAgICAgICAgICAgICAgICAgIEBjbGljay5zdG9wLnByZXZlbnQ9XCJvbkNsaWNrRmF2KGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgaXNGYWYoaXRlbS5saW5rKSA/ICdtZGktc3RhcicgOiAnbWRpLXN0YXItb3V0bGluZScgfX1cclxuICAgICAgICAgICAgICAgIDwvdi1pY29uPlxyXG4gICAgICAgICAgICAgIDwvdi1saXN0LWl0ZW0tdGl0bGU+XHJcbiAgICAgICAgICAgIDwvdi1saXN0LWl0ZW0tY29udGVudD5cclxuICAgICAgICAgIDwvdi1saXN0LWl0ZW0+XHJcbiAgICAgICAgPC90ZW1wbGF0ZT5cclxuICAgICAgICA8c3Bhbj57eyAkdHJhbnNsYXRlKGl0ZW0udGV4dCkgfX08L3NwYW4+XHJcbiAgICAgIDwvdi10b29sdGlwPlxyXG4gICAgICA8di1kaXZpZGVyIGNsYXNzPVwibWItNCB1aS0wM1wiIC8+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8di1saXN0LWl0ZW1cclxuICAgICAgdi1pZj1cIiFpc01pbmlcIlxyXG4gICAgICBsaW5rXHJcbiAgICAgIEBjbGljaz1cImN1c3RvbWl6ZUludGVyZmFjZUVuYWJsZWQgPSAhY3VzdG9taXplSW50ZXJmYWNlRW5hYmxlZFwiXHJcbiAgICA+XHJcbiAgICAgIDx2LWxpc3QtaXRlbS1pY29uPlxyXG4gICAgICAgIDx2LWljb24+bWRpLXR1bmU8L3YtaWNvbj5cclxuICAgICAgPC92LWxpc3QtaXRlbS1pY29uPlxyXG4gICAgICA8di1saXN0LWl0ZW0tY29udGVudD5cclxuICAgICAgICA8di1saXN0LWl0ZW0tdGl0bGU+XHJcbiAgICAgICAgICB7eyBjdXN0b21pemVJbnRlcmZhY2VFbmFibGVkID9cclxuICAgICAgICAgICAgJHRyYW5zbGF0ZSgnc2lkZWJhcnMubGVmdC1tZW51LmRvbmUnLCAn0JPQvtGC0L7QstC+JykgOlxyXG4gICAgICAgICAgICAkdHJhbnNsYXRlKCdzaWRlYmFycy5sZWZ0LW1lbnUuY3VzdG9taXplLWludGVyZmFjZScsICfQndCw0YHRgtGA0L7QuNGC0Ywg0LjQvdGC0LXRgNGE0LXQudGBJylcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgPC92LWxpc3QtaXRlbS10aXRsZT5cclxuICAgICAgPC92LWxpc3QtaXRlbS1jb250ZW50PlxyXG4gICAgPC92LWxpc3QtaXRlbT5cclxuXHJcbiAgICA8di10b29sdGlwXHJcbiAgICAgIHYtaWY9XCIkdnVldGlmeS5icmVha3BvaW50LnhzT25seVwiXHJcbiAgICAgIHJpZ2h0XHJcbiAgICAgIDpkaXNhYmxlZD1cIiFpc01pbmlcIlxyXG4gICAgPlxyXG4gICAgICA8dGVtcGxhdGUgdi1zbG90OmFjdGl2YXRvcj1cInsgb24sIGF0dHJzIH1cIj5cclxuICAgICAgICA8di1saXN0LWl0ZW1cclxuICAgICAgICAgIGxpbmtcclxuICAgICAgICAgIHYtYmluZD1cImF0dHJzXCJcclxuICAgICAgICAgIHYtb249XCJvblwiXHJcbiAgICAgICAgICBAY2xpY2s9XCJvbkNsaWNrTG9nT3V0XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8di1saXN0LWl0ZW0taWNvbj5cclxuICAgICAgICAgICAgPHYtaWNvbj5tZGktbG9nb3V0PC92LWljb24+XHJcbiAgICAgICAgICA8L3YtbGlzdC1pdGVtLWljb24+XHJcbiAgICAgICAgICA8di1saXN0LWl0ZW0tY29udGVudD5cclxuICAgICAgICAgICAgPHYtbGlzdC1pdGVtLXRpdGxlPlxyXG4gICAgICAgICAgICAgIHt7ICR0cmFuc2xhdGUoJ3NpZGViYXJzLmxlZnQtbWVudS5sb2dvdXQnLCAn0JLRi9C50YLQuCcpIH19XHJcbiAgICAgICAgICAgIDwvdi1saXN0LWl0ZW0tdGl0bGU+XHJcbiAgICAgICAgICA8L3YtbGlzdC1pdGVtLWNvbnRlbnQ+XHJcbiAgICAgICAgPC92LWxpc3QtaXRlbT5cclxuICAgICAgPC90ZW1wbGF0ZT5cclxuICAgICAgPHNwYW4+e3sgJHRyYW5zbGF0ZSgnc2lkZWJhcnMubGVmdC1tZW51LmxvZ291dCcsICfQktGL0LnRgtC4JykgfX08L3NwYW4+XHJcbiAgICA8L3YtdG9vbHRpcD5cclxuICA8L3YtbGlzdD5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7IG1hcEFjdGlvbnMsIG1hcFN0YXRlIH0gZnJvbSAndnVleCc7XHJcbmltcG9ydCBldmVudEJ1cyBmcm9tICcuLi8uLi9ldmVudEJ1cyc7XHJcbmltcG9ydCBXTVMgZnJvbSBcIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vd21zQ29tbW9uXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgbmFtZTogJ1RoZUxlZnRNZW51TGlzdCcsXHJcbiAgcHJvcHM6IHtcclxuICAgIGlzTWluaTogQm9vbGVhbixcclxuICB9LFxyXG4gIGRhdGEoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjdXN0b21pemVJbnRlcmZhY2VFbmFibGVkOiBmYWxzZSxcclxuICAgIH07XHJcbiAgfSxcclxuICBjb21wdXRlZDoge1xyXG4gICAgLi4ubWFwU3RhdGUoWydwcm9kdWN0U3RySWQnXSksXHJcbiAgICAuLi5tYXBTdGF0ZSgnYWNjb3VudHMnLCBbXHJcbiAgICAgICdjdXJyZW50VXNlcicsXHJcbiAgICAgICd1aVNldHRpbmdzJyxcclxuICAgIF0pLFxyXG4gIH0sXHJcbiAgbWV0aG9kczoge1xyXG4gICAgLi4ubWFwQWN0aW9ucygnYWNjb3VudHMnLCBbXHJcbiAgICAgICdhZGRGYXYnLFxyXG4gICAgICAnZGVsRmF2JyxcclxuICAgIF0pLFxyXG4gICAgbGlua0Zvcm1hdHRlcihsaW5rID0gJycpIHtcclxuICAgICAgY29uc3Qgc3RvcmFnZVBhdGhSZWZlcnJlciA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oYCR7V01TLmlzTWFyc2hyb3V0ZSgpID8gJ1dNUycgOiAnWUFQUCd9LnJlZmVycmVyTGlua2ApKVxyXG4gICAgICByZXR1cm4gc3RvcmFnZVBhdGhSZWZlcnJlcj8uW2xpbms/LnJlcGxhY2VBbGwoJy8nLCAnJyldIHx8IGxpbms7XHJcbiAgICB9LFxyXG4gICAgb25DbGlja0ZhdihmYXYpIHtcclxuICAgICAgaWYgKHRoaXMuaXNGYWYoZmF2LmxpbmspKSB7XHJcbiAgICAgICAgdGhpcy5kZWxGYXYoZmF2LmxpbmspO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuYWRkRmF2KGZhdik7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBpc0ZhZihsaW5rKSB7XHJcbiAgICAgIGNvbnN0IHsgZmF2b3JpdGVzID0gW10gfSA9IHRoaXMudWlTZXR0aW5nc1tgJHt0aGlzLnByb2R1Y3RTdHJJZH0uZmF2b3JpdGVzYF0gfHwge307XHJcbiAgICAgIHJldHVybiBmYXZvcml0ZXMuc29tZSgoaXRlbSkgPT4gaXRlbS5saW5rID09PSBsaW5rKTtcclxuICAgIH0sXHJcbiAgICBvbkNsaWNrTG9nT3V0KCkge1xyXG4gICAgICBldmVudEJ1cy4kZW1pdCgnY2xpY2tMb2dPdXQnKTtcclxuICAgIH0sXHJcbiAgfSxcclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XHJcbi50aGUtbGVmdC1tZW51LWxpc3Qge1xyXG4gIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tdi11aS0wMy1iYXNlKSAhaW1wb3J0YW50O1xyXG4gICZfX2l0ZW0tdGl0bGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG4gIDo6di1kZWVwIHtcclxuICAgIC52LWxpc3QtaXRlbSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICAgIC52LWxpc3QtaXRlbS0tYWN0aXZlIHtcclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDBweDtcclxuICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgICAgd2lkdGg6IDRweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS12LXByaW1hcnktYmFzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuPC9zdHlsZT5cclxuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMTMtMCEuLi8uLi8uLi90aHJlYWQtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMCEuLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVGhlTGVmdE1lbnVMaXN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xMy0wIS4uLy4uLy4uL3RocmVhZC1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UaGVMZWZ0TWVudUxpc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1RoZUxlZnRNZW51TGlzdC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MmM0N2M1ZDEmc2NvcGVkPXRydWVcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9UaGVMZWZ0TWVudUxpc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCJcbmV4cG9ydCAqIGZyb20gXCIuL1RoZUxlZnRNZW51TGlzdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9UaGVMZWZ0TWVudUxpc3QudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MmM0N2M1ZDEmcHJvZCZsYW5nPXNjc3Mmc2NvcGVkPXRydWVcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIyYzQ3YzVkMVwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2Rpc3QvbG9hZGVyLmpzPz9yZWYtLTktb25lT2YtMS0wIS4uLy4uLy4uLy4uL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tOS1vbmVPZi0xLTEhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTktb25lT2YtMS0yIS4uLy4uLy4uLy4uL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTktb25lT2YtMS0zIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1RoZUhlYWRlck1peGluLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTYyMDllZjc4JnByb2QmbGFuZz1zY3NzXCIiLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCl7dmFyIF92bT10aGlzLF9jPV92bS5fc2VsZi5fYztyZXR1cm4gX2MoJ3YtbGlzdCcse3N0YXRpY0NsYXNzOlwiYWNjb3VudFwiLGF0dHJzOntcImRlbnNlXCI6XCJcIixcImRhcmtcIjpcIlwifX0sW19jKCdoMycse3N0YXRpY0NsYXNzOlwibWwtNFwifSxbX3ZtLl92KFwiIFwiK192bS5fcyhfdm0uJHRyYW5zbGF0ZSgnc2lkZWJhcnMuYWNjb3VudC50aXRsZScsICfQkNC60LrQsNGD0L3RgicpKStcIiBcIildKSxfYygndi1kaXZpZGVyJyx7c3RhdGljQ2xhc3M6XCJtdC0yIG1iLTIgYm9yZGVyLTAxXCJ9KSwoIV92bS5pc0JveGJlcnJ5KT9fYygndi1zd2l0Y2gnLHtzdGF0aWNDbGFzczpcIm1sLTRcIixzdGF0aWNTdHlsZTp7XCJtYXJnaW4tdG9wXCI6XCIyMnB4XCJ9LGF0dHJzOntcImNvbG9yXCI6XCIjZjFjMjFiXCIsXCJsYWJlbFwiOl92bS5pc1doaXRlVGhlbWUgPyBfdm0uJHRyYW5zbGF0ZSgnc2lkZWJhcnMuYWNjb3VudC5saWdodCcsICfQodCy0LXRgtC70LDRjycpIDogX3ZtLiR0cmFuc2xhdGUoJ3NpZGViYXJzLmFjY291bnQuZGFyaycsICfQotC10LzQvdCw0Y8nKSxcImhpZGUtZGV0YWlsc1wiOlwiXCIsXCJkZW5zZVwiOlwiXCJ9LG1vZGVsOnt2YWx1ZTooX3ZtLmlzV2hpdGVUaGVtZSksY2FsbGJhY2s6ZnVuY3Rpb24gKCQkdikge192bS5pc1doaXRlVGhlbWU9JCR2fSxleHByZXNzaW9uOlwiaXNXaGl0ZVRoZW1lXCJ9fSk6X3ZtLl9lKCksX2MoJ3YtbGlzdC1pdGVtJyxbX2MoJ3YtbGlzdC1pdGVtLWNvbnRlbnQnLFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJhY2NvdW50X19pdGVtX3RpdGxlIGFjY291bnRfX2l0ZW1fdGl0bGUtLXN1YnRpdGxlXCJ9LFtfdm0uX3YoXCIgXCIrX3ZtLl9zKGAke192bS4kdHJhbnNsYXRlKCdzaWRlYmFycy5hY2NvdW50LnVzZXItdHlwZScsICfQotC40L8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJyl9OmApK1wiIFwiKV0pLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImFjY291bnRfX2l0ZW1fdGl0bGVcIn0sW192bS5fdihcIiBcIitfdm0uX3MoX3ZtLnR5cGVOYW1lKStcIiBcIildKV0pXSwxKSxfYygndi1saXN0LWl0ZW0nLFtfYygndi1saXN0LWl0ZW0tY29udGVudCcsW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImFjY291bnRfX2l0ZW1fdGl0bGUgYWNjb3VudF9faXRlbV90aXRsZS0tc3VidGl0bGVcIn0sW192bS5fdihcIiBcIitfdm0uX3MoYCR7X3ZtLiR0cmFuc2xhdGUoJ3NpZGViYXJzLmFjY291bnQudXNlci1zdGF0dXMnLCAn0J/RgNC40LfQvdCw0Log0LDQutGC0LjQstC90L7RgdGC0Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJyl9OmApK1wiIFwiKV0pLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImFjY291bnRfX2l0ZW1fdGl0bGVcIn0sW192bS5fdihcIiBcIitfdm0uX3MoX3ZtLnN0YXR1c05hbWUpK1wiIFwiKV0pXSldLDEpLF9jKCd2LWxpc3QtaXRlbScsW19jKCd2LWxpc3QtaXRlbS1jb250ZW50JyxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYWNjb3VudF9faXRlbV90aXRsZSBhY2NvdW50X19pdGVtX3RpdGxlLS1zdWJ0aXRsZVwifSxbX3ZtLl92KFwiIFwiK192bS5fcyhgJHtfdm0uJHRyYW5zbGF0ZSgnc2lkZWJhcnMuYWNjb3VudC5maW8nLCAn0KQu0Jgu0J4nKX06YCkrXCIgXCIpXSksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYWNjb3VudF9faXRlbV90aXRsZVwifSxbX3ZtLl92KFwiIFwiK192bS5fcyhfdm0uY3VycmVudFVzZXIgJiYgX3ZtLmN1cnJlbnRVc2VyLmZpbykrXCIgXCIpXSldKV0sMSksX2MoJ3YtbGlzdC1pdGVtJyxbX2MoJ3YtbGlzdC1pdGVtLWNvbnRlbnQnLFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJhY2NvdW50X19pdGVtX3RpdGxlIGFjY291bnRfX2l0ZW1fdGl0bGUtLXN1YnRpdGxlXCJ9LFtfdm0uX3YoXCIgRS1tYWlsOiBcIildKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJhY2NvdW50X19pdGVtX3RpdGxlXCJ9LFtfdm0uX3YoXCIgXCIrX3ZtLl9zKF92bS5jdXJyZW50VXNlciAmJiBfdm0uY3VycmVudFVzZXIubG9naW4pK1wiIFwiKV0pXSldLDEpLF9jKCd2LWxpc3QtaXRlbScsW19jKCd2LWxpc3QtaXRlbS1jb250ZW50Jyx7c3RhdGljQ2xhc3M6XCJvdmVyZmxvdy12aXNpYmxlIGFjY291bnRfX2l0ZW0tbGFuZ3VhZ2VcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImFjY291bnRfX2l0ZW1fdGl0bGUgYWNjb3VudF9faXRlbV90aXRsZS0tc3VidGl0bGVcIn0sW192bS5fdihcIiBcIitfdm0uX3MoYCR7X3ZtLiR0cmFuc2xhdGUoJ3NpZGViYXJzLmFjY291bnQubGFuZ3VhZ2UnLCAn0K/Qt9GL0LonKX06YCkrXCIgXCIpXSksX2MoJ3YtcmFkaW8tZ3JvdXAnLHtzdGF0aWNDbGFzczpcImFjY291bnRfX3YtcmFkaW8tZ3JvdXBcIixhdHRyczp7XCJyb3dcIjpcIlwifSxtb2RlbDp7dmFsdWU6KF92bS5sb2NhbGUpLGNhbGxiYWNrOmZ1bmN0aW9uICgkJHYpIHtfdm0ubG9jYWxlPSQkdn0sZXhwcmVzc2lvbjpcImxvY2FsZVwifX0sW19jKCd2LXJhZGlvJyx7YXR0cnM6e1wibGFiZWxcIjpcItCg0YPRgdGB0LrQuNC5XCIsXCJ2YWx1ZVwiOlwicnUtUlVcIn19KSxfYygndi1yYWRpbycse2F0dHJzOntcImxhYmVsXCI6XCJFbmdsaXNoXCIsXCJ2YWx1ZVwiOlwiZW4tVVNcIn19KSxfYygndi1yYWRpbycse2F0dHJzOntcImxhYmVsXCI6XCLkuK3mlodcIixcInZhbHVlXCI6XCJ6aC1DTlwiLFwiZGlzYWJsZWRcIjpfdm0uaXNQcm9kdWN0aW9ufX0pXSwxKV0sMSldLDEpLF9jKCd2LWRpdmlkZXInLHtzdGF0aWNDbGFzczpcIm10LTIgbWItMiBib3JkZXItMDFcIn0pLF9jKCd2LWxpc3QtaXRlbScse2F0dHJzOntcImxpbmtcIjpcIlwifSxvbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7cmV0dXJuIF92bS4kcm91dGVyLnB1c2goeyBuYW1lOiAnU2V0dGluZ3MnIH0pfX19LFtfYygndi1saXN0LWl0ZW0tdGl0bGUnLHtzdGF0aWNDbGFzczpcImFjY291bnRfX2l0ZW1fdGl0bGUgZC1mbGV4IGp1c3RpZnktc3BhY2UtYmV0d2VlblwifSxbX3ZtLl92KFwiIFwiK192bS5fcyhfdm0uJHRyYW5zbGF0ZSgnc2lkZWJhcnMuYWNjb3VudC5hY2NvdW50LXNldHRpbmdzJywgJ9Cd0LDRgdGC0YDQvtC50LrQuCDQsNC60LrQsNGD0L3RgtCwJykpK1wiIFwiKSxfYygndi1pY29uJyxbX3ZtLl92KFwibWRpLWNvZy1vdXRsaW5lXCIpXSldLDEpXSwxKSxfYygndi1saXN0LWl0ZW0nLHthdHRyczp7XCJsaW5rXCI6XCJcIn0sb246e1wiY2xpY2tcIjpfdm0ub25DbGlja0xvZ091dH19LFtfYygndi1saXN0LWl0ZW0tdGl0bGUnLHtzdGF0aWNDbGFzczpcImFjY291bnRfX2l0ZW1fdGl0bGUgZC1mbGV4IGp1c3RpZnktc3BhY2UtYmV0d2VlblwifSxbX3ZtLl92KFwiIFwiK192bS5fcyhfdm0uJHRyYW5zbGF0ZSgnY29tbW9uLmxhYmVscy5leGl0JywgJ9CS0YvRhdC+0LQnKSkrXCIgXCIpLF9jKCd2LWljb24nLFtfdm0uX3YoXCJtZGktZXhpdC10by1hcHBcIildKV0sMSldLDEpXSwxKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XHJcbiAgPHYtbGlzdFxyXG4gICAgICBkZW5zZVxyXG4gICAgICBkYXJrXHJcbiAgICAgIGNsYXNzPVwiYWNjb3VudFwiXHJcbiAgPlxyXG4gICAgPGgzIGNsYXNzPVwibWwtNFwiPlxyXG4gICAgICB7eyAkdHJhbnNsYXRlKCdzaWRlYmFycy5hY2NvdW50LnRpdGxlJywgJ9CQ0LrQutCw0YPQvdGCJykgfX1cclxuICAgIDwvaDM+XHJcblxyXG4gICAgPHYtZGl2aWRlciBjbGFzcz1cIm10LTIgbWItMiBib3JkZXItMDFcIiAvPlxyXG5cclxuICAgIDx2LXN3aXRjaFxyXG4gICAgICAgIHYtaWY9XCIhaXNCb3hiZXJyeVwiXHJcbiAgICAgICAgdi1tb2RlbD1cImlzV2hpdGVUaGVtZVwiXHJcbiAgICAgICAgY2xhc3M9XCJtbC00XCJcclxuICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDIycHhcIlxyXG4gICAgICAgIGNvbG9yPVwiI2YxYzIxYlwiXHJcbiAgICAgICAgOmxhYmVsPVwiaXNXaGl0ZVRoZW1lID8gJHRyYW5zbGF0ZSgnc2lkZWJhcnMuYWNjb3VudC5saWdodCcsICfQodCy0LXRgtC70LDRjycpIDogJHRyYW5zbGF0ZSgnc2lkZWJhcnMuYWNjb3VudC5kYXJrJywgJ9Ci0LXQvNC90LDRjycpXCJcclxuICAgICAgICBoaWRlLWRldGFpbHNcclxuICAgICAgICBkZW5zZVxyXG4gICAgLz5cclxuICAgIDx2LWxpc3QtaXRlbT5cclxuICAgICAgPHYtbGlzdC1pdGVtLWNvbnRlbnQ+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnRfX2l0ZW1fdGl0bGUgYWNjb3VudF9faXRlbV90aXRsZS0tc3VidGl0bGVcIj5cclxuICAgICAgICAgIHt7IGAkeyR0cmFuc2xhdGUoJ3NpZGViYXJzLmFjY291bnQudXNlci10eXBlJywgJ9Ci0LjQvyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nKX06YCB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50X19pdGVtX3RpdGxlXCI+XHJcbiAgICAgICAgICB7eyB0eXBlTmFtZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3YtbGlzdC1pdGVtLWNvbnRlbnQ+XHJcbiAgICA8L3YtbGlzdC1pdGVtPlxyXG5cclxuICAgIDx2LWxpc3QtaXRlbT5cclxuICAgICAgPHYtbGlzdC1pdGVtLWNvbnRlbnQ+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnRfX2l0ZW1fdGl0bGUgYWNjb3VudF9faXRlbV90aXRsZS0tc3VidGl0bGVcIj5cclxuICAgICAgICAgIHt7IGAkeyR0cmFuc2xhdGUoJ3NpZGViYXJzLmFjY291bnQudXNlci1zdGF0dXMnLCAn0J/RgNC40LfQvdCw0Log0LDQutGC0LjQstC90L7RgdGC0Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJyl9OmAgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudF9faXRlbV90aXRsZVwiPlxyXG4gICAgICAgICAge3sgc3RhdHVzTmFtZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3YtbGlzdC1pdGVtLWNvbnRlbnQ+XHJcbiAgICA8L3YtbGlzdC1pdGVtPlxyXG5cclxuICAgIDx2LWxpc3QtaXRlbT5cclxuICAgICAgPHYtbGlzdC1pdGVtLWNvbnRlbnQ+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnRfX2l0ZW1fdGl0bGUgYWNjb3VudF9faXRlbV90aXRsZS0tc3VidGl0bGVcIj5cclxuICAgICAgICAgIHt7IGAkeyR0cmFuc2xhdGUoJ3NpZGViYXJzLmFjY291bnQuZmlvJywgJ9CkLtCYLtCeJyl9OmAgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudF9faXRlbV90aXRsZVwiPlxyXG4gICAgICAgICAge3sgY3VycmVudFVzZXIgJiYgY3VycmVudFVzZXIuZmlvIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvdi1saXN0LWl0ZW0tY29udGVudD5cclxuICAgIDwvdi1saXN0LWl0ZW0+XHJcblxyXG4gICAgPHYtbGlzdC1pdGVtPlxyXG4gICAgICA8di1saXN0LWl0ZW0tY29udGVudD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudF9faXRlbV90aXRsZSBhY2NvdW50X19pdGVtX3RpdGxlLS1zdWJ0aXRsZVwiPlxyXG4gICAgICAgICAgRS1tYWlsOlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50X19pdGVtX3RpdGxlXCI+XHJcbiAgICAgICAgICB7eyBjdXJyZW50VXNlciAmJiBjdXJyZW50VXNlci5sb2dpbiB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3YtbGlzdC1pdGVtLWNvbnRlbnQ+XHJcbiAgICA8L3YtbGlzdC1pdGVtPlxyXG5cclxuICAgIDx2LWxpc3QtaXRlbT5cclxuICAgICAgPHYtbGlzdC1pdGVtLWNvbnRlbnQgY2xhc3M9XCJvdmVyZmxvdy12aXNpYmxlIGFjY291bnRfX2l0ZW0tbGFuZ3VhZ2VcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudF9faXRlbV90aXRsZSBhY2NvdW50X19pdGVtX3RpdGxlLS1zdWJ0aXRsZVwiPlxyXG4gICAgICAgICAge3sgYCR7JHRyYW5zbGF0ZSgnc2lkZWJhcnMuYWNjb3VudC5sYW5ndWFnZScsICfQr9C30YvQuicpfTpgIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHYtcmFkaW8tZ3JvdXBcclxuICAgICAgICAgICAgY2xhc3M9XCJhY2NvdW50X192LXJhZGlvLWdyb3VwXCJcclxuICAgICAgICAgICAgdi1tb2RlbD1cImxvY2FsZVwiXHJcbiAgICAgICAgICAgIHJvd1xyXG4gICAgICAgID5cclxuICAgICAgICAgIDx2LXJhZGlvXHJcbiAgICAgICAgICAgICAgbGFiZWw9XCLQoNGD0YHRgdC60LjQuVwiXHJcbiAgICAgICAgICAgICAgdmFsdWU9XCJydS1SVVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPHYtcmFkaW9cclxuICAgICAgICAgICAgICBsYWJlbD1cIkVuZ2xpc2hcIlxyXG4gICAgICAgICAgICAgIHZhbHVlPVwiZW4tVVNcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDx2LXJhZGlvXHJcbiAgICAgICAgICAgICAgbGFiZWw9XCLkuK3mlodcIlxyXG4gICAgICAgICAgICAgIHZhbHVlPVwiemgtQ05cIlxyXG4gICAgICAgICAgICAgIDpkaXNhYmxlZD1cImlzUHJvZHVjdGlvblwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvdi1yYWRpby1ncm91cD5cclxuICAgICAgPC92LWxpc3QtaXRlbS1jb250ZW50PlxyXG4gICAgPC92LWxpc3QtaXRlbT5cclxuXHJcbiAgICA8di1kaXZpZGVyIGNsYXNzPVwibXQtMiBtYi0yIGJvcmRlci0wMVwiIC8+XHJcblxyXG4gICAgPHYtbGlzdC1pdGVtXHJcbiAgICAgICAgbGlua1xyXG4gICAgICAgIEBjbGljaz1cIiRyb3V0ZXIucHVzaCh7IG5hbWU6ICdTZXR0aW5ncycgfSlcIlxyXG4gICAgPlxyXG4gICAgICA8di1saXN0LWl0ZW0tdGl0bGVcclxuICAgICAgICAgIGNsYXNzPVwiYWNjb3VudF9faXRlbV90aXRsZSBkLWZsZXgganVzdGlmeS1zcGFjZS1iZXR3ZWVuXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7ICR0cmFuc2xhdGUoJ3NpZGViYXJzLmFjY291bnQuYWNjb3VudC1zZXR0aW5ncycsICfQndCw0YHRgtGA0L7QudC60Lgg0LDQutC60LDRg9C90YLQsCcpIH19XHJcbiAgICAgICAgPHYtaWNvbj5tZGktY29nLW91dGxpbmU8L3YtaWNvbj5cclxuICAgICAgPC92LWxpc3QtaXRlbS10aXRsZT5cclxuICAgIDwvdi1saXN0LWl0ZW0+XHJcblxyXG4gICAgPHYtbGlzdC1pdGVtXHJcbiAgICAgICAgbGlua1xyXG4gICAgICAgIEBjbGljaz1cIm9uQ2xpY2tMb2dPdXRcIlxyXG4gICAgPlxyXG4gICAgICA8di1saXN0LWl0ZW0tdGl0bGVcclxuICAgICAgICAgIGNsYXNzPVwiYWNjb3VudF9faXRlbV90aXRsZSBkLWZsZXgganVzdGlmeS1zcGFjZS1iZXR3ZWVuXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7ICR0cmFuc2xhdGUoJ2NvbW1vbi5sYWJlbHMuZXhpdCcsICfQktGL0YXQvtC0JykgfX1cclxuICAgICAgICA8di1pY29uPm1kaS1leGl0LXRvLWFwcDwvdi1pY29uPlxyXG4gICAgICA8L3YtbGlzdC1pdGVtLXRpdGxlPlxyXG4gICAgPC92LWxpc3QtaXRlbT5cclxuICA8L3YtbGlzdD5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblxyXG5pbXBvcnQge1xyXG4gIG1hcE11dGF0aW9ucywgbWFwQWN0aW9ucywgbWFwU3RhdGUsIG1hcEdldHRlcnMsXHJcbn0gZnJvbSAndnVleCc7XHJcbmltcG9ydCBldmVudEJ1cyBmcm9tICdiY2tvZmZpY2VfZnJvbnRfY29yZS9ldmVudEJ1cyc7XHJcbmltcG9ydCB7IHRoZW1lc01hbmFnZXIgfSBmcm9tICdiY2tvZmZpY2VfZnJvbnRfY29yZS9wbHVnaW5zL3Z1ZXRpZnkvdnVldGlmeSc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgbmFtZTogJ0FjY291bnQnLFxyXG4gIGRhdGEoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpc1Byb2R1Y3Rpb246IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicsXHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgY29tcHV0ZWQ6IHtcclxuICAgIC4uLm1hcFN0YXRlKFsncHJvZHVjdFN0cklkJ10pLFxyXG4gICAgLi4ubWFwU3RhdGUoJ2FjY291bnRzJywgW1xyXG4gICAgICAnY3VycmVudFVzZXInLFxyXG4gICAgICAndWlTZXR0aW5ncycsXHJcbiAgICBdKSxcclxuICAgIC4uLm1hcEdldHRlcnMoJ2NvbXBlbmRpdW1zL2l0cycsIFtcclxuICAgICAgJ2dldFVzZXJTdGF0dXMnLFxyXG4gICAgICAnZ2V0VXNlclR5cGUnLFxyXG4gICAgXSksXHJcbiAgICBpc0JveGJlcnJ5KCkge1xyXG4gICAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLmluZGV4T2YoJ2JveGJlcnJ5JykgIT09IC0xO1xyXG4gICAgfSxcclxuICAgIGxvY2FsZToge1xyXG4gICAgICBnZXQoKSB7XHJcbiAgICAgICAgY29uc3QgcHJvZHVjdFN0cklkID0gWydJVFMnLCAnSklSQScsICdCSUwnLCAnT1JFTCcsICdNQUlMUkVHJ10uaW5jbHVkZXModGhpcy5wcm9kdWN0U3RySWQpID8gJ0lUUycgOiB0aGlzLnByb2R1Y3RTdHJJZDtcclxuICAgICAgICByZXR1cm4gdGhpcy51aVNldHRpbmdzW3Byb2R1Y3RTdHJJZF0gJiYgdGhpcy51aVNldHRpbmdzW3Byb2R1Y3RTdHJJZF0ubG9jYWxlO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXQobG9jYWxlKSB7XHJcbiAgICAgICAgY29uc3QgaWQgPSBbJ0lUUycsICdKSVJBJywgJ0JJTCcsICdPUkVMJywgJ01BSUxSRUcnXS5pbmNsdWRlcyh0aGlzLnByb2R1Y3RTdHJJZCkgPyAnSVRTJyA6IHRoaXMucHJvZHVjdFN0cklkO1xyXG4gICAgICAgIHRoaXMudXBkYXRlVWlTZXR0aW5ncyh7IHNldHRpbmdzSWRlbnRpZmllcjogaWQsIGRhdGE6IHsgbG9jYWxlIH0gfSk7XHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgc3RhdHVzTmFtZSgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0VXNlclN0YXR1cyh0aGlzLmN1cnJlbnRVc2VyLnN0YXR1cykubmFtZTtcclxuICAgIH0sXHJcbiAgICB0eXBlTmFtZSgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0VXNlclR5cGUodGhpcy5jdXJyZW50VXNlci50eXBlKS5uYW1lO1xyXG4gICAgfSxcclxuICAgIGlzV2hpdGVUaGVtZToge1xyXG4gICAgICBnZXQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuJHZ1ZXRpZnkudGhlbWUudGhlbWVzLm5hbWUgPT09ICd3aGl0ZSc7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldChpc1doaXRlVGhlbWUpIHtcclxuICAgICAgICB0aGVtZXNNYW5hZ2VyLmNoYW5nZShpc1doaXRlVGhlbWUgPyAnd2hpdGUnIDogJ2dyZXkxMDAnKTtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfSxcclxuICBtZXRob2RzOiB7XHJcbiAgICAuLi5tYXBBY3Rpb25zKCdhY2NvdW50cycsIFsndXBkYXRlVWlTZXR0aW5ncyddKSxcclxuICAgIHNldFRoZW1lKHRoZW1lKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoZW1lKTtcclxuICAgIH0sXHJcbiAgICAuLi5tYXBNdXRhdGlvbnMoW1xyXG4gICAgICAnc2V0SXRlbScsXHJcbiAgICBdKSxcclxuICAgIG9uQ2xpY2tMb2dPdXQoKSB7XHJcbiAgICAgIHRoaXMuc2V0SXRlbSh7XHJcbiAgICAgICAgaXRlbTogJ2FueU1lbnVJc09wZW4nLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICAgIGV2ZW50QnVzLiRlbWl0KCdjbGlja0xvZ091dCcpO1xyXG4gICAgfSxcclxuICB9LFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cclxuLmFjY291bnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXYtZGFyay1iYWNrZ3JvdW5kLTAxLWJhc2UpICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS12LWJvcmRlci0wMS1iYXNlKSAhaW1wb3J0YW50O1xyXG4gIGgzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgfVxyXG4gICZfX2l0ZW1fdGl0bGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XHJcbiAgICAmLS1zdWJ0aXRsZSB7XHJcbiAgICAgIGNvbG9yOiAjOGQ4ZDhkICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX3YtcmFkaW8tZ3JvdXAge1xyXG4gICAgOjp2LWRlZXAge1xyXG4gICAgICAudi1pbnB1dC0tc2VsZWN0aW9uLWNvbnRyb2xzX19pbnB1dCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC02LjVweDtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XHJcbiAgICAgICAgY29sb3I6ICM4ZDhkOGQgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuYWNjb3VudF9faXRlbS1sYW5ndWFnZSB7XHJcbiAgICAuYWNjb3VudF9faXRlbV90aXRsZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIH1cclxuICAgIC52LWlucHV0IHtcclxuICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgICBwYWRkaW5nLXRvcDogMHB4O1xyXG4gICAgfVxyXG4gICAgOjp2LWRlZXAge1xyXG4gICAgICAudi1pbnB1dC0tcmFkaW8tZ3JvdXBfX2lucHV0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbjwvc3R5bGU+XHJcbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vLi4vLi4vLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjY291bnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vLi4vLi4vLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjY291bnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0FjY291bnQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWQyMjBmYTdjJnNjb3BlZD10cnVlXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQWNjb3VudC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuZXhwb3J0ICogZnJvbSBcIi4vQWNjb3VudC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9BY2NvdW50LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWQyMjBmYTdjJnByb2QmbGFuZz1zY3NzJnNjb3BlZD10cnVlXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiZDIyMGZhN2NcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCl7dmFyIF92bT10aGlzLF9jPV92bS5fc2VsZi5fYztyZXR1cm4gX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwidGhlLWhlYWRlci1idXR0b25zIGQtZmxleFwifSxbKF92bS5jdXJyZW50VXNlcik/X3ZtLl9sKChfdm0uYnV0dG9ucyksZnVuY3Rpb24oYnV0dG9uKXtyZXR1cm4gX2MoYnV0dG9uLHtrZXk6YnV0dG9uLHRhZzpcImNvbXBvbmVudFwiLGF0dHJzOntcImFjdGl2ZVJpZ2h0TWVudVwiOl92bS5yaWdodE1lbnV9LG9uOntcInN3aXRjaFwiOl92bS5vcGVuUmlnaHRNZW51fX0pfSk6X3ZtLl9lKCldLDIpXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwidGhlLWhlYWRlci1idXR0b25zIGQtZmxleFwiPlxyXG4gICAgPHRlbXBsYXRlIHYtaWY9XCJjdXJyZW50VXNlclwiPlxyXG4gICAgICA8Y29tcG9uZW50XHJcbiAgICAgICAgdi1mb3I9XCJidXR0b24gaW4gYnV0dG9uc1wiXHJcbiAgICAgICAgOmlzPVwiYnV0dG9uXCJcclxuICAgICAgICA6a2V5PVwiYnV0dG9uXCJcclxuICAgICAgICA6YWN0aXZlUmlnaHRNZW51PVwicmlnaHRNZW51XCJcclxuICAgICAgICBAc3dpdGNoPVwib3BlblJpZ2h0TWVudVwiXHJcbiAgICAgIC8+XHJcbiAgICA8L3RlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4JztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBuYW1lOiAnVGhlSGVhZGVyQnV0dG9ucycsXHJcbiAgcHJvcHM6IHtcclxuICAgIHJpZ2h0TWVudToge1xyXG4gICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgY29tcHV0ZWQ6IHtcclxuICAgIC4uLm1hcFN0YXRlKCdhY2NvdW50cycsIFtcclxuICAgICAgJ2N1cnJlbnRVc2VyJyxcclxuICAgIF0pLFxyXG4gIH0sXHJcbiAgbWV0aG9kczoge1xyXG4gICAgb3BlblJpZ2h0TWVudSh0eXBlKSB7XHJcbiAgICAgIHRoaXMuJGVtaXQoJ2NsaWNrLXJpZ2h0LW1lbnUtc3dpdGNoZXInLCB0eXBlKTtcclxuICAgIH0sXHJcbiAgfSxcclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XHJcbi50aGUtaGVhZGVyLWJ1dHRvbnMge1xyXG4gICZfX2JhZGdlIHtcclxuICAgIDo6di1kZWVwIHtcclxuICAgICAgLnYtYmFkZ2VfX3dyYXBwZXIgLnYtaWNvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG48L3N0eWxlPlxyXG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xMy0wIS4uLy4uLy4uLy4uLy4uL3RocmVhZC1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UaGVIZWFkZXJCdXR0b25zTWl4aW4udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vLi4vLi4vLi4vLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1RoZUhlYWRlckJ1dHRvbnNNaXhpbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vVGhlSGVhZGVyQnV0dG9uc01peGluLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xZGRhZWRjMyZzY29wZWQ9dHJ1ZVwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL1RoZUhlYWRlckJ1dHRvbnNNaXhpbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuZXhwb3J0ICogZnJvbSBcIi4vVGhlSGVhZGVyQnV0dG9uc01peGluLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1RoZUhlYWRlckJ1dHRvbnNNaXhpbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xZGRhZWRjMyZwcm9kJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjFkZGFlZGMzXCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpe3ZhciBfdm09dGhpcyxfYz1fdm0uX3NlbGYuX2M7cmV0dXJuIF9jKCdkaXYnLHtjbGFzczpgdnVlLWRhZGF0YV9fY29udGFpbmVyYH0sW19jKCdkaXYnLHtjbGFzczpgdnVlLWRhZGF0YV9fc2VhcmNoYH0sW19jKCd2LXRleHRhcmVhJyxfdm0uX2coX3ZtLl9iKHtzdGF0aWNDbGFzczpcInZ1ZS1kYWRhdGFfX2lucHV0XCIsYXR0cnM6e1widHlwZVwiOlwidGV4dFwiLFwiZGlzYWJsZWRcIjpfdm0uZGlzYWJsZWQsXCJyb3dzXCI6XCIxXCIsXCJyb3ctaGVpZ2h0XCI6XCIxNVwiLFwiYXV0by1ncm93XCI6XCJcIixcInBsYWNlaG9sZGVyXCI6X3ZtLnBsYWNlaG9sZGVyLFwibGFiZWxcIjpfdm0ubGFiZWwsXCJhdXRvLWNvbXBsZXRlXCI6X3ZtLmF1dG9jb21wbGV0ZSxcIm91dGxpbmVkXCI6X3ZtLm91dGxpbmVkfSxvbjp7XCJpbnB1dFwiOl92bS5vbklucHV0Q2hhbmdlLFwia2V5ZG93blwiOl92bS5vbktleVByZXNzLFwiZm9jdXNcIjpfdm0ub25JbnB1dEZvY3VzLFwiYmx1clwiOl92bS5vbklucHV0Qmx1cn0sc2NvcGVkU2xvdHM6X3ZtLl91KFtfdm0uX2woKF92bS5zbG90c05hbWVzKSxmdW5jdGlvbihzbG90TmFtZSl7cmV0dXJuIHtrZXk6c2xvdE5hbWUsZm46ZnVuY3Rpb24oeyBpdGVtIH0pe3JldHVybiBbX3ZtLl90KHNsb3ROYW1lLG51bGwse1wiaXRlbVwiOml0ZW19KV19fX0pXSxudWxsLHRydWUpLG1vZGVsOnt2YWx1ZTooX3ZtLmlucHV0UXVlcnkpLGNhbGxiYWNrOmZ1bmN0aW9uICgkJHYpIHtfdm0uaW5wdXRRdWVyeT0kJHZ9LGV4cHJlc3Npb246XCJpbnB1dFF1ZXJ5XCJ9fSwndi10ZXh0YXJlYScsX3ZtLiRhdHRycyxmYWxzZSksX3ZtLiRsaXN0ZW5lcnMpKSxfYygnc3Bhbicse3N0YXRpY1N0eWxlOntcImNvbG9yXCI6XCJyZWRcIn19LFtfdm0uX3YoXCIgXCIrX3ZtLl9zKF92bS5ob21lQ2hlY2spK1wiIFwiKV0pXSwxKSwoX3ZtLmlucHV0Rm9jdXNlZCAmJiBfdm0uc3VnZ2VzdGlvbnNWaXNpYmxlKT9fYygnZGl2Jyx7Y2xhc3M6YHZ1ZS1kYWRhdGFfX3N1Z2dlc3Rpb25zYH0sX3ZtLl9sKChfdm0uc3VnZ2VzdGlvbnMpLGZ1bmN0aW9uKHN1Z2dlc3Rpb24saW5kZXgpe3JldHVybiBfYygnaGlnaGxpZ2h0ZXInLHtrZXk6YHN1Z2dlc3Rpb25fJHtpbmRleH1gLGNsYXNzOltcbiAgICAgICAgYHZ1ZS1kYWRhdGFfX3N1Z2dlc3Rpb25zLWl0ZW1gLFxuICAgICAgICB7XG4gICAgICAgICAgW2B2dWUtZGFkYXRhX19zdWdnZXN0aW9ucy1pdGVtX2N1cnJlbnRgXTpcbiAgICAgICAgICAgIGluZGV4ID09PSBfdm0uc3VnZ2VzdGlvbkluZGV4LFxuICAgICAgICB9LFxuICAgICAgXSxhdHRyczp7XCJzZWFyY2gtd29yZHNcIjpfdm0uaW5wdXRRdWVyeS5zcGxpdCgnICcpLFwiYXV0by1lc2NhcGVcIjp0cnVlLFwidGV4dC10by1oaWdobGlnaHRcIjpzdWdnZXN0aW9uLnZhbHVlLFwiaGlnaGxpZ2h0LWNsYXNzLW5hbWVcIjpgdnVlLWRhZGF0YV9faGlnaGxpZ2h0YCxcInVuaGlnaGxpZ2h0LWNsYXNzLW5hbWVcIjpgdnVlLWRhZGF0YV9fdW5oaWdobGlnaHRgLFwiaGlnaGxpZ2h0LXRhZ1wiOmBzcGFuYH0sb246e1wibW91c2Vkb3duXCI6ZnVuY3Rpb24oJGV2ZW50KXtyZXR1cm4gX3ZtLm9uU3VnZ2VzdGlvbkNsaWNrKGluZGV4KX19fSl9KSwxKTpfdm0uX2UoKV0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IDpjbGFzcz1cImB2dWUtZGFkYXRhX19jb250YWluZXJgXCI+XHJcbiAgICA8ZGl2IDpjbGFzcz1cImB2dWUtZGFkYXRhX19zZWFyY2hgXCI+XHJcbiAgICAgIDx2LXRleHRhcmVhXHJcbiAgICAgICAgY2xhc3M9XCJ2dWUtZGFkYXRhX19pbnB1dFwiXHJcbiAgICAgICAgdi1tb2RlbD1cImlucHV0UXVlcnlcIlxyXG4gICAgICAgIHYtYmluZD1cIiRhdHRyc1wiXHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIDpkaXNhYmxlZD1cImRpc2FibGVkXCJcclxuICAgICAgICByb3dzPVwiMVwiXHJcbiAgICAgICAgcm93LWhlaWdodD1cIjE1XCJcclxuICAgICAgICBhdXRvLWdyb3dcclxuICAgICAgICA6cGxhY2Vob2xkZXI9XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgOmxhYmVsPVwibGFiZWxcIlxyXG4gICAgICAgIDphdXRvLWNvbXBsZXRlPVwiYXV0b2NvbXBsZXRlXCJcclxuICAgICAgICA6b3V0bGluZWQ9XCJvdXRsaW5lZFwiXHJcbiAgICAgICAgQGlucHV0PVwib25JbnB1dENoYW5nZVwiXHJcbiAgICAgICAgQGtleWRvd249XCJvbktleVByZXNzXCJcclxuICAgICAgICBAZm9jdXM9XCJvbklucHV0Rm9jdXNcIlxyXG4gICAgICAgIEBibHVyPVwib25JbnB1dEJsdXJcIlxyXG4gICAgICAgIHYtb249XCIkbGlzdGVuZXJzXCJcclxuICAgICAgPlxyXG4gICAgICAgIDx0ZW1wbGF0ZVxyXG4gICAgICAgICAgdi1mb3I9XCJzbG90TmFtZSBpbiBzbG90c05hbWVzXCJcclxuICAgICAgICAgIHYtc2xvdDpbc2xvdE5hbWVdPVwieyBpdGVtIH1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzbG90XHJcbiAgICAgICAgICAgIDpuYW1lPVwic2xvdE5hbWVcIlxyXG4gICAgICAgICAgICA6aXRlbT1cIml0ZW1cIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICA8L3YtdGV4dGFyZWE+XHJcbiAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6cmVkXCI+XHJcbiAgICAgICAge3sgaG9tZUNoZWNrIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICB2LWlmPVwiaW5wdXRGb2N1c2VkICYmIHN1Z2dlc3Rpb25zVmlzaWJsZVwiXHJcbiAgICAgIDpjbGFzcz1cImB2dWUtZGFkYXRhX19zdWdnZXN0aW9uc2BcIlxyXG4gICAgPlxyXG4gICAgICA8aGlnaGxpZ2h0ZXJcclxuICAgICAgICB2LWZvcj1cIihzdWdnZXN0aW9uLCBpbmRleCkgaW4gc3VnZ2VzdGlvbnNcIlxyXG4gICAgICAgIDprZXk9XCJgc3VnZ2VzdGlvbl8ke2luZGV4fWBcIlxyXG4gICAgICAgIDpjbGFzcz1cIltcclxuICAgICAgICAgIGB2dWUtZGFkYXRhX19zdWdnZXN0aW9ucy1pdGVtYCxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgW2B2dWUtZGFkYXRhX19zdWdnZXN0aW9ucy1pdGVtX2N1cnJlbnRgXTpcclxuICAgICAgICAgICAgICBpbmRleCA9PT0gc3VnZ2VzdGlvbkluZGV4LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXCJcclxuICAgICAgICA6c2VhcmNoLXdvcmRzPVwiaW5wdXRRdWVyeS5zcGxpdCgnICcpXCJcclxuICAgICAgICA6YXV0by1lc2NhcGU9XCJ0cnVlXCJcclxuICAgICAgICA6dGV4dC10by1oaWdobGlnaHQ9XCJzdWdnZXN0aW9uLnZhbHVlXCJcclxuICAgICAgICA6aGlnaGxpZ2h0LWNsYXNzLW5hbWU9XCJgdnVlLWRhZGF0YV9faGlnaGxpZ2h0YFwiXHJcbiAgICAgICAgOnVuaGlnaGxpZ2h0LWNsYXNzLW5hbWU9XCJgdnVlLWRhZGF0YV9fdW5oaWdobGlnaHRgXCJcclxuICAgICAgICA6aGlnaGxpZ2h0LXRhZz1cImBzcGFuYFwiXHJcbiAgICAgICAgQG1vdXNlZG93bj1cIm9uU3VnZ2VzdGlvbkNsaWNrKGluZGV4KVwiXHJcbiAgICAgIC8+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCBIaWdobGlnaHRlciBmcm9tICd2dWUtaGlnaGxpZ2h0LXdvcmRzJztcclxuaW1wb3J0IHsgc3VnZ2VzdGlvblNlcnZpY2UgfSBmcm9tICdAL3NlcnZpY2VzJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoLWVzJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBuYW1lOiAnRGFkYXRhU2VhcmNoQWRkcmVzcycsXHJcbiAgY29tcG9uZW50czoge1xyXG4gICAgSGlnaGxpZ2h0ZXIsXHJcbiAgfSxcclxuICBwcm9wczoge1xyXG4gICAgdmFsdWU6IHtcclxuICAgICAgdHlwZTogW1N0cmluZywgT2JqZWN0LCBFdmVudF0sXHJcbiAgICAgIGRlZmF1bHQ6ICcnLFxyXG4gICAgfSxcclxuICAgIHF1ZXJ5OiB7XHJcbiAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgZGVmYXVsdDogJycsXHJcbiAgICB9LFxyXG4gICAgbG9jYXRpb25zOiB7XHJcbiAgICAgIHR5cGU6IEFycmF5LFxyXG4gICAgICBkZWZhdWx0OiAoKSA9PiBbXSxcclxuICAgIH0sXHJcbiAgICBsb2NhdGlvbnNCb29zdDoge1xyXG4gICAgICB0eXBlOiBBcnJheSxcclxuICAgICAgZGVmYXVsdDogKCkgPT4gW10sXHJcbiAgICB9LFxyXG4gICAgZnJvbUJvdW5kOiB7XHJcbiAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgZGVmYXVsdDogJycsXHJcbiAgICB9LFxyXG4gICAgdG9Cb3VuZDoge1xyXG4gICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAgIGRlZmF1bHQ6ICcnLFxyXG4gICAgfSxcclxuICAgIGNvdW50OiB7XHJcbiAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgZGVmYXVsdDogJzUnLFxyXG4gICAgfSxcclxuICAgIHBsYWNlaG9sZGVyOiB7XHJcbiAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgZGVmYXVsdDogJycsXHJcbiAgICB9LFxyXG4gICAgbGFiZWw6IHtcclxuICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgICBkZWZhdWx0OiAnJyxcclxuICAgIH0sXHJcbiAgICBkaXNhYmxlZDoge1xyXG4gICAgICB0eXBlOiBCb29sZWFuLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICBhdXRvY29tcGxldGU6IHtcclxuICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgICBkZWZhdWx0OiAnJyxcclxuICAgIH0sXHJcbiAgICBpbnB1dE5hbWU6IHtcclxuICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgICBkZWZhdWx0OiAnJyxcclxuICAgIH0sXHJcbiAgICBvdXRsaW5lZDoge1xyXG4gICAgICB0eXBlOiBCb29sZWFuLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICBjaGVja0ZpYXNMZXZlbDoge1xyXG4gICAgICB0eXBlOiBOdW1iZXIsXHJcbiAgICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgZXJyb3JGaWFzTGV2ZWw6IHtcclxuICAgICAgdHlwZTogQm9vbGVhbixcclxuICAgICAgZGVmYXVsdDogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgY2hlY2tIb21lOiB7XHJcbiAgICAgIHR5cGU6IEJvb2xlYW4sXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIGVycm9ySG9tZToge1xyXG4gICAgICB0eXBlOiBCb29sZWFuLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgfSxcclxuXHJcbiAgZGF0YTogKCkgPT4gKHtcclxuICAgIGlucHV0UXVlcnk6ICcnLFxyXG4gICAgaW5wdXRGb2N1c2VkOiBmYWxzZSxcclxuICAgIHN1Z2dlc3Rpb25zOiBbXSxcclxuICAgIHN1Z2dlc3Rpb25JbmRleDogLTEsXHJcbiAgICBzdWdnZXN0aW9uc1Zpc2libGU6IHRydWUsXHJcbiAgICBpc1ZhbGlkOiBmYWxzZSxcclxuICAgIHNlbGVjdGVkU3VnZ2VzdGlvbjoge30sXHJcbiAgfSksXHJcbiAgY29tcHV0ZWQ6IHtcclxuICAgIGRlYm91bmNlRmV0Y2hTdWdnZXN0aW9uKCkge1xyXG4gICAgICByZXR1cm4gXy5kZWJvdW5jZShhc3luYyAoKSA9PiB0aGlzLmZldGNoU3VnZ2VzdGlvbnMoKSwgMzAwKTtcclxuICAgIH0sXHJcbiAgICBzbG90c05hbWVzKCkge1xyXG4gICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy4kc2NvcGVkU2xvdHMpO1xyXG4gICAgfSxcclxuICAgIGVycm9yTWVzc2FnZSgpIHtcclxuICAgICAgcmV0dXJuICF0aGlzLmlucHV0Rm9jdXNlZCAmJiB0aGlzLmlucHV0UXVlcnkgIT09ICcnICYmIF8uaXNFbXB0eSh0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbik7XHJcbiAgICB9LFxyXG4gICAgZmlhc0NoZWNrTGV2ZWwoKSB7XHJcbiAgICAgIGlmICghdGhpcy5jaGVja0ZpYXNMZXZlbCkgcmV0dXJuICcnO1xyXG5cclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uKSB7XHJcbiAgICAgICAgaWYgKE51bWJlcih0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbi5kYXRhPy5maWFzX2xldmVsKSA8IHRoaXMuY2hlY2tGaWFzTGV2ZWwpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLiR0cmFuc2xhdGUoJ3BhZ2VzLm9yZGVycy5vcmRlci1jcmVhdGUudGFicy50aGlyZC1zdGVwLm1lc3NhZ2VzLm5vLWhvbWUnKTsgLy8g0J3QtSDRg9C60LDQt9Cw0L0g0L3QvtC80LXRgCDQtNC+0LzQsCc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vINC/0YDQuCDRgdC+0YXRgNCw0L3QtdC90LjQuCDQsNC00YDQtdGB0LAg0YDQvtC00LjRgtC10LvRj1xyXG4gICAgICBpZiAodGhpcy5lcnJvckZpYXNMZXZlbCkgcmV0dXJuIHRoaXMuJHRyYW5zbGF0ZSgncGFnZXMub3JkZXJzLm9yZGVyLWNyZWF0ZS50YWJzLnRoaXJkLXN0ZXAubWVzc2FnZXMubm8taG9tZScpOyAvLyDQndC1INGD0LrQsNC30LDQvSDQvdC+0LzQtdGAINC00L7QvNCwJztcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfSxcclxuICAgIGhvbWVDaGVjaygpIHtcclxuICAgICAgaWYgKCF0aGlzLmNoZWNrSG9tZSkgcmV0dXJuICcnO1xyXG5cclxuICAgICAgaWYgKCFfLmlzRW1wdHkodGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb24pKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbi5kYXRhPy5ob3VzZSkge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuJHRyYW5zbGF0ZSgncGFnZXMub3JkZXJzLm9yZGVyLWNyZWF0ZS50YWJzLnRoaXJkLXN0ZXAubWVzc2FnZXMubm8taG9tZScpOyAvLyDQndC1INGD0LrQsNC30LDQvSDQvdC+0LzQtdGAINC00L7QvNCwJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8g0L/RgNC4INGB0L7RhdGA0LDQvdC10L3QuNC4INCw0LTRgNC10YHQsCDRgNC+0LTQuNGC0LXQu9GPXHJcbiAgICAgIGlmICh0aGlzLmVycm9ySG9tZSkgcmV0dXJuIHRoaXMuJHRyYW5zbGF0ZSgncGFnZXMub3JkZXJzLm9yZGVyLWNyZWF0ZS50YWJzLnRoaXJkLXN0ZXAubWVzc2FnZXMubm8taG9tZScpOyAvLyDQndC1INGD0LrQsNC30LDQvSDQvdC+0LzQtdGAINC00L7QvNCwJztcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfSxcclxuICB9LFxyXG4gIHdhdGNoOiB7XHJcbiAgICBxdWVyeToge1xyXG4gICAgICBhc3luYyBoYW5kbGVyKHZhbCkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRRdWVyeSA9IHZhbCB8fCAnJztcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfSxcclxuICBhc3luYyBjcmVhdGVkKCkge1xyXG4gICAgdGhpcy5pbnB1dFF1ZXJ5ID0gdGhpcy5xdWVyeSA/IHRoaXMucXVlcnkgOiAnJztcclxuXHJcbiAgICBpZiAodGhpcy5hdXRvbG9hZCAmJiB0aGlzLnF1ZXJ5KSB7XHJcbiAgICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSBhd2FpdCB0aGlzLmZldGNoU3VnZ2VzdGlvbnMoKTtcclxuICAgIH1cclxuICB9LFxyXG4gIG1ldGhvZHM6IHtcclxuICAgIGFzeW5jIG9uSW5wdXRGb2N1cygpIHtcclxuICAgICAgdGhpcy5pbnB1dEZvY3VzZWQgPSB0cnVlO1xyXG4gICAgfSxcclxuICAgIGFzeW5jIG9uSW5wdXRCbHVyKCkge1xyXG4gICAgICAvKiB0aGlzLmlucHV0Rm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5pbnB1dFF1ZXJ5ICE9PSAnJyAmJiBfLmlzRW1wdHkodGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb24pKSB7XHJcbiAgICAgICAgdGhpcy4kZW1pdCgnZXJyb3InLFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBlcnJvcnM6IFsn0J3QtdC+0LHRhdC+0LTQuNC80L4g0LLRi9Cx0YDQsNGC0Ywg0LDQtNGA0LXRgSDQuNC3INGB0L/QuNGB0LrQsCDQv9C+0LTRgdC60LDQt9C+0LonXSxcclxuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBmYWlsZWRSdWxlczoge30sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLiRlbWl0KCdlcnJvcicsXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGVycm9yczogW10sIC8vIGFycmF5IG9mIHN0cmluZyBlcnJvcnNcclxuICAgICAgICAgICAgdmFsaWQ6IHRydWUsIC8vIGJvb2xlYW4gc3RhdGVcclxuICAgICAgICAgICAgZmFpbGVkUnVsZXM6IHsgcnVsZXM6IFsnZXhpc3QnXSB9LCAvLyBzaG91bGQgYmUgZW1wdHkgc2luY2UgdGhpcyBpcyBhIG1hbnVhbCBlcnJvci5cclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9ICovXHJcbiAgICB9LFxyXG4gICAgc2V0SW5wdXRRdWVyeSh2YWx1ZSkge1xyXG4gICAgICB0aGlzLmlucHV0UXVlcnkgPSB2YWx1ZSB8fCAnJztcclxuICAgIH0sXHJcbiAgICBhc3luYyBvbklucHV0Q2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uID0ge307XHJcbiAgICAgIHRoaXMuaW5wdXRRdWVyeSA9IGV2ZW50O1xyXG4gICAgICBhd2FpdCB0aGlzLmRlYm91bmNlRmV0Y2hTdWdnZXN0aW9uKCk7XHJcbiAgICAgIHRoaXMuc3VnZ2VzdGlvbnNWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgdGhpcy4kZW1pdCgnc2VsZWN0U3VnZ2VzdGlvbicsIHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGFzeW5jIHNlbGVjdFN1Z2dlc3Rpb24oaW5kZXgpIHtcclxuICAgICAgaWYgKHRoaXMuc3VnZ2VzdGlvbnMubGVuZ3RoID49IGluZGV4IC0gMSkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRRdWVyeSA9IHRoaXMuc3VnZ2VzdGlvbnNbaW5kZXhdLnZhbHVlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uID0gdGhpcy5zdWdnZXN0aW9uc1tpbmRleF07XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICB0aGlzLiRlbWl0KCdzZWxlY3RTdWdnZXN0aW9uJywgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25zVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuJG5leHRUaWNrKCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XHJcbiAgICAgICAgICBjb25zdCBzdWdnZXN0aW9ucyA9IGF3YWl0IHRoaXMuZmV0Y2hTdWdnZXN0aW9ucygxKTtcclxuICAgICAgICAgIGxldCBzdWdnZXN0aW9uID0gbnVsbDtcclxuICAgICAgICAgIGlmIChzdWdnZXN0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItZGVzdHJ1Y3R1cmluZ1xyXG4gICAgICAgICAgICBzdWdnZXN0aW9uID0gc3VnZ2VzdGlvbnNbMF07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHN1Z2dlc3Rpb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25JbmRleCA9IC0xO1xyXG4gICAgICAgIHRoaXMuc3VnZ2VzdGlvbnMubGVuZ3RoID0gMDtcclxuICAgICAgfSBlbHNlIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgIHRoaXMuJGVtaXQoJ3NlbGVjdFN1Z2dlc3Rpb24nLCB0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbik7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBhc3luYyBvbktleVByZXNzKGV2ZW50KSB7XHJcbiAgICAgIGNvbnN0IEFSUk9XX0RPV04gPSA0MDtcclxuICAgICAgY29uc3QgQVJST1dfVVAgPSAzODtcclxuICAgICAgY29uc3QgRU5URVIgPSAxMztcclxuXHJcbiAgICAgIGlmIChldmVudC53aGljaCA9PT0gQVJST1dfRE9XTiAmJiB0aGlzLnN1Z2dlc3Rpb25zVmlzaWJsZSkge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuc3VnZ2VzdGlvbkluZGV4IDwgdGhpcy5zdWdnZXN0aW9ucy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICB0aGlzLnN1Z2dlc3Rpb25JbmRleCArPSAxO1xyXG4gICAgICAgICAgdGhpcy5pbnB1dFF1ZXJ5ID0gdGhpcy5zdWdnZXN0aW9uc1t0aGlzLnN1Z2dlc3Rpb25JbmRleF0udmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LndoaWNoID09PSBBUlJPV19VUCAmJiB0aGlzLnN1Z2dlc3Rpb25zVmlzaWJsZSkge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuc3VnZ2VzdGlvbkluZGV4ID49IDApIHtcclxuICAgICAgICAgIHRoaXMuc3VnZ2VzdGlvbkluZGV4IC09IDE7XHJcbiAgICAgICAgICB0aGlzLmlucHV0UXVlcnkgPSB0aGlzLnN1Z2dlc3Rpb25JbmRleCA9PT0gLTFcclxuICAgICAgICAgICAgPyB0aGlzLmlucHV0UXVlcnlcclxuICAgICAgICAgICAgOiB0aGlzLnN1Z2dlc3Rpb25zW3RoaXMuc3VnZ2VzdGlvbkluZGV4XS52YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQud2hpY2ggPT09IEVOVEVSKSB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBpZiAodGhpcy5zdWdnZXN0aW9uSW5kZXggPj0gMCkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5zZWxlY3RTdWdnZXN0aW9uKHRoaXMuc3VnZ2VzdGlvbkluZGV4KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBhc3luYyBvblN1Z2dlc3Rpb25DbGljayhpbmRleCkge1xyXG4gICAgICBhd2FpdCB0aGlzLnNlbGVjdFN1Z2dlc3Rpb24oaW5kZXgpO1xyXG4gICAgfSxcclxuICAgIGFzeW5jIGZldGNoU3VnZ2VzdGlvbnMoKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgICAgIHF1ZXJ5OiB0aGlzLmlucHV0UXVlcnksXHJcbiAgICAgICAgICBsb2NhdGlvbnM6IHRoaXMubG9jYXRpb25zLFxyXG4gICAgICAgICAgbG9jYXRpb25zX2Jvb3N0OiB0aGlzLmxvY2F0aW9uc0Jvb3N0LFxyXG4gICAgICAgICAgZnJvbV9ib3VuZDogdGhpcy5mcm9tQm91bmQgPyB7IHZhbHVlOiB0aGlzLmZyb21Cb3VuZCB9IDoge30sXHJcbiAgICAgICAgICB0b19ib3VuZDogdGhpcy50b0JvdW5kID8geyB2YWx1ZTogdGhpcy50b0JvdW5kIH0gOiB7fSxcclxuICAgICAgICAgIGNvdW50OiB0aGlzLmNvdW50LFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgeyByZXN1bHQgfSA9IGF3YWl0IHN1Z2dlc3Rpb25TZXJ2aWNlLmNyZWF0ZSh7IGRhdGEgfSk7XHJcbiAgICAgICAgY29uc3QgeyBzdWdnZXN0aW9ucyB9ID0gcmVzdWx0LmRhdGE7XHJcbiAgICAgICAgdGhpcy5zdWdnZXN0aW9ucyA9IHN1Z2dlc3Rpb25zO1xyXG4gICAgICAgIHJldHVybiBzdWdnZXN0aW9ucztcclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICB0aGlzLiRlbWl0KCdoYW5kbGVFcnJvcicsIGVycm9yKTtcclxuICAgICAgICByZXR1cm4gW107XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgfSxcclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cInNjc3NcIj5cclxuLnZ1ZS1kYWRhdGEge1xyXG4gICZfX2NvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcbiAgJl9faGlnaGxpZ2h0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTMsIDE5NiwgMjUyKTtcclxuICB9XHJcbiAgJl9faW5wdXQge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLFxyXG4gICAgICAwIDAgMCAzcHggcmdiYSgyNTUsIDE1NCwgMCwgMC4xKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjZmY5MzFlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fc3VnZ2VzdGlvbnMge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcblxyXG4gICAgJi1pdGVtIHtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB0cmFuc2l0aW9uOiAwLjNzO1xyXG5cclxuICAgICAgJi1oaWdobGlnaHQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmRmYmQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmRmYmQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfY3VycmVudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjVlNztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG48L3N0eWxlPlxyXG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xMy0wIS4uLy4uLy4uL3RocmVhZC1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9EYWRhdGFTZWFyY2hBZGRyZXNzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xMy0wIS4uLy4uLy4uL3RocmVhZC1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9EYWRhdGFTZWFyY2hBZGRyZXNzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9EYWRhdGFTZWFyY2hBZGRyZXNzLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD05NDdkOTgxZVwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0RhZGF0YVNlYXJjaEFkZHJlc3MudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCJcbmV4cG9ydCAqIGZyb20gXCIuL0RhZGF0YVNlYXJjaEFkZHJlc3MudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vRGFkYXRhU2VhcmNoQWRkcmVzcy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05NDdkOTgxZSZwcm9kJmxhbmc9c2Nzc1wiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2Rpc3QvbG9hZGVyLmpzPz9yZWYtLTktb25lT2YtMS0wIS4uLy4uLy4uLy4uL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tOS1vbmVPZi0xLTEhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTktb25lT2YtMS0yIS4uLy4uLy4uLy4uL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTktb25lT2YtMS0zIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1RoZVJpZ2h0TWVudU1peGluLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTBlZWZlYTE1JnByb2QmbGFuZz1zY3NzJnNjb3BlZD10cnVlXCIiLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCl7dmFyIF92bT10aGlzLF9jPV92bS5fc2VsZi5fYztyZXR1cm4gX2MoJ3YtdG9vbHRpcCcse2F0dHJzOntcImJvdHRvbVwiOlwiXCIsXCJkaXNhYmxlZFwiOl92bS4kdnVldGlmeS5icmVha3BvaW50LnNtQW5kRG93biB8fCBCb29sZWFuKF92bS5hY3RpdmVSaWdodE1lbnUpfSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJhY3RpdmF0b3JcIixmbjpmdW5jdGlvbih7IG9uLCBhdHRycyB9KXtyZXR1cm4gW19jKCd2LWJ0bicsX3ZtLl9nKF92bS5fYih7c3RhdGljQ2xhc3M6XCJ0aGUtaGVhZGVyX19idXR0b24gd2hpdGUtLXRleHRcIixjbGFzczpfdm0uYWN0aXZlUmlnaHRNZW51ID09PSBfdm0ubmFtZSA/ICd0aGUtaGVhZGVyX19idXR0b24tLWFjdGl2ZSc6ICcnLGF0dHJzOntcImljb25cIjpcIlwifSxvbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBfdm0uJGVtaXQoJ3N3aXRjaCcsIF92bS5uYW1lKX19fSwndi1idG4nLGF0dHJzLGZhbHNlKSxvbiksW19jKCd2LWljb24nLFtfdm0uX3YoXCIgbWRpLWFwcHMgXCIpXSldLDEpXX19XSl9LFtfYygnc3BhbicsW192bS5fdihfdm0uX3MoX3ZtLiR0cmFuc2xhdGUoJ3NpZGViYXJzLmFwcGxpY2F0aW9uLXN3aXRjaGVyJykpKV0pXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiPHRlbXBsYXRlPlxyXG4gIDx2LXRvb2x0aXBcclxuICAgIGJvdHRvbVxyXG4gICAgOmRpc2FibGVkPVwiJHZ1ZXRpZnkuYnJlYWtwb2ludC5zbUFuZERvd24gfHwgQm9vbGVhbihhY3RpdmVSaWdodE1lbnUpXCJcclxuICA+XHJcbiAgICA8dGVtcGxhdGUgdi1zbG90OmFjdGl2YXRvcj1cInsgb24sIGF0dHJzIH1cIj5cclxuICAgICAgPHYtYnRuXHJcbiAgICAgICAgaWNvblxyXG4gICAgICAgIGNsYXNzPVwidGhlLWhlYWRlcl9fYnV0dG9uIHdoaXRlLS10ZXh0XCJcclxuICAgICAgICA6Y2xhc3M9XCJhY3RpdmVSaWdodE1lbnUgPT09IG5hbWUgPyAndGhlLWhlYWRlcl9fYnV0dG9uLS1hY3RpdmUnOiAnJ1wiXHJcbiAgICAgICAgdi1iaW5kPVwiYXR0cnNcIlxyXG4gICAgICAgIHYtb249XCJvblwiXHJcbiAgICAgICAgQGNsaWNrLnN0b3A9XCIkZW1pdCgnc3dpdGNoJywgbmFtZSlcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHYtaWNvbj5cclxuICAgICAgICAgIG1kaS1hcHBzXHJcbiAgICAgICAgPC92LWljb24+XHJcbiAgICAgIDwvdi1idG4+XHJcbiAgICA8L3RlbXBsYXRlPlxyXG4gICAgPHNwYW4+e3sgJHRyYW5zbGF0ZSgnc2lkZWJhcnMuYXBwbGljYXRpb24tc3dpdGNoZXInKSB9fTwvc3Bhbj5cclxuICA8L3YtdG9vbHRpcD5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmNvbnN0IG5hbWUgPSAnU2VydmljZXNMaXN0JztcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIG5hbWUsXHJcbiAgcHJvcHM6IHtcclxuICAgIGFjdGl2ZVJpZ2h0TWVudToge1xyXG4gICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgZGF0YSgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5hbWUsXHJcbiAgICB9O1xyXG4gIH0sXHJcbn07XHJcbjwvc2NyaXB0PlxyXG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xMy0wIS4uLy4uLy4uLy4uLy4uL3RocmVhZC1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TZXJ2aWNlc0xpc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vLi4vLi4vLi4vLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlcnZpY2VzTGlzdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vU2VydmljZXNMaXN0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD03NDQwYjEzM1wiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL1NlcnZpY2VzTGlzdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuZXhwb3J0ICogZnJvbSBcIi4vU2VydmljZXNMaXN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsInZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKXt2YXIgX3ZtPXRoaXMsX2M9X3ZtLl9zZWxmLl9jO3JldHVybiBfYygndi1saXN0Jyx7c3RhdGljQ2xhc3M6XCJwcm9kdWN0cy1saXN0XCIsYXR0cnM6e1wiZGVuc2VcIjpcIlwiLFwiZGFya1wiOlwiXCJ9fSxbX2MoJ2gzJyx7c3RhdGljQ2xhc3M6XCJtbC00XCJ9LFtfdm0uX3YoXCIgXCIrX3ZtLl9zKF92bS4kdHJhbnNsYXRlKCdzaWRlYmFycy5wcm9kdWN0cy1saXN0LnRpdGxlJywgJ9Cf0LXRgNC10LrQu9GO0YfQsNGC0LXQu9GMINC/0YDQuNC70L7QttC10L3QuNC5JykpK1wiIFwiKV0pLF9jKCd2LWRpdmlkZXInLHtzdGF0aWNDbGFzczpcIm10LTIgbWItMiBib3JkZXItMDFcIn0pLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcInByb2R1Y3RzLWxpc3RfX3RpdGxlIG1sLTRcIn0sW192bS5fdihcIiBcIitfdm0uX3MoYCR7X3ZtLiR0cmFuc2xhdGUoJ3NpZGViYXJzLnByb2R1Y3RzLWxpc3QubGlua3MnLCAn0KHRgdGL0LvQutC4INC90LAg0LLQvdC10YjQvdC40LUg0YDQtdGB0YPRgNGB0YsnKX06YCkrXCIgXCIpXSksX3ZtLl9sKChfdm0uZXh0ZXJuYWxMaW5rcyksZnVuY3Rpb24obGluayl7cmV0dXJuIF9jKCd2LWxpc3QtaXRlbScse2tleTpsaW5rLnZhbHVlLGF0dHJzOntcImhyZWZcIjpsaW5rLnZhbHVlLFwidGFyZ2V0XCI6XCJfYmxhbmtcIn19LFtfYygndi1saXN0LWl0ZW0tdGl0bGUnLHtzdGF0aWNDbGFzczpcInByb2R1Y3RzLWxpc3RfX2l0ZW1fdGl0bGVcIn0sW192bS5fdihcIiBcIitfdm0uX3MoX3ZtLiR0cmFuc2xhdGUobGluay50cmFuc2xhdGVLZXksIGxpbmsudGV4dCkpK1wiIFwiKV0pXSwxKX0pLChfdm0uY3VycmVudFVzZXIudHlwZSA9PT0gMSB8fCBfdm0uY3VycmVudFVzZXIudHlwZSA9PT0gMik/W19jKCd2LWRpdmlkZXInLHtzdGF0aWNDbGFzczpcIm10LTIgbWItMiBib3JkZXItMDFcIn0pLF92bS5fbCgoX3ZtLmxpbmtzKSxmdW5jdGlvbihsaW5rKXtyZXR1cm4gX2MoJ3YtbGlzdC1pdGVtJyx7a2V5OmxpbmsudmFsdWUsYXR0cnM6e1wiaHJlZlwiOmxpbmsudmFsdWUsXCJ0YXJnZXRcIjpcIl9ibGFua1wifX0sW19jKCd2LWxpc3QtaXRlbS10aXRsZScse3N0YXRpY0NsYXNzOlwicHJvZHVjdHMtbGlzdF9faXRlbV90aXRsZVwifSxbX3ZtLl92KFwiIFwiK192bS5fcyhsaW5rLnRleHQpK1wiIFwiKV0pXSwxKX0pXTpfdm0uX2UoKSwoKF92bS5jdXJyZW50VXNlci50eXBlID09PSAxIHx8IF92bS5jdXJyZW50VXNlci50eXBlID09PSAyKSAmJiBfdm0ucHJvZHVjdHNMaXN0TGlua3MubGVuZ3RoKT9bX2MoJ3YtZGl2aWRlcicse3N0YXRpY0NsYXNzOlwibXQtMiBtYi0yIGJvcmRlci0wMVwifSksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwicHJvZHVjdHMtbGlzdF9fdGl0bGUgbWwtNFwifSxbX3ZtLl92KFwiIFwiK192bS5fcyhgJHtfdm0uJHRyYW5zbGF0ZSgnc2lkZWJhcnMucHJvZHVjdHMtbGlzdC5zZXJ2aWNlcycsICfQodC10YDQstC40YHRiycpfTpgKStcIiBcIildKSxfdm0uX2woKF92bS5wcm9kdWN0c0xpc3RMaW5rcyksZnVuY3Rpb24ocHJvZHVjdCl7cmV0dXJuIF9jKCd2LWxpc3QtaXRlbScse2tleTpwcm9kdWN0Lm5hbWUsc3RhdGljQ2xhc3M6XCJwcm9kdWN0cy1saXN0X19saW5rXCIsY2xhc3M6cHJvZHVjdC5zdHJJZCA9PT0gX3ZtLnByb2R1Y3RTdHJJZCA/ICdwcm9kdWN0cy1saXN0X19saW5rLS1hY3RpdmUnIDogJycsYXR0cnM6e1wiaHJlZlwiOnByb2R1Y3QubGluayxcImxpbmtcIjpcIlwifSxvbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7JGV2ZW50LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIF92bS5vbkNsaWNrQ2hhbmdlUHJvZHVjdChwcm9kdWN0LnN0cklkKX19fSxbX2MoJ3YtbGlzdC1pdGVtLXRpdGxlJyx7c3RhdGljQ2xhc3M6XCJwcm9kdWN0cy1saXN0X19pdGVtX3RpdGxlXCJ9LFtfdm0uX3YoXCIgXCIrX3ZtLl9zKHByb2R1Y3QubmFtZSkrXCIgXCIpXSldLDEpfSldOl92bS5fZSgpLChfdm0uY3VycmVudFVzZXIudHlwZSA9PT0gMSB8fCBfdm0uY3VycmVudFVzZXIudHlwZSA9PT0gMik/W19jKCd2LWRpdmlkZXInLHtzdGF0aWNDbGFzczpcIm10LTIgbWItMiBib3JkZXItMDFcIn0pLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcInByb2R1Y3RzLWxpc3RfX3RpdGxlIG1sLTRcIn0sW192bS5fdihcIiBcIitfdm0uX3MoYCR7X3ZtLiR0cmFuc2xhdGUoJ3NpZGViYXJzLnByb2R1Y3RzLWxpc3QubGsnLCAn0JvQuNGH0L3Ri9C5INC60LDQsdC40L3QtdGCJyl9OmApK1wiIFwiKV0pLF9jKCdTZWxlY3RXaXRoRmF2Jyx7c3RhdGljQ2xhc3M6XCJtYS0yXCIsYXR0cnM6e1widmFsdWVcIjpfdm0uYWNjb3VudElkLFwidXJsXCI6X3ZtLmlzQWNjb3VudHNVcmwsXCJmYXYtaWRzXCI6X3ZtLmFjY291bnRzRmF2LFwibm9ybWFsaXplLW9wdGlvblwiOl92bS5hY2NvdW50c05vcm1hbGl6ZU9wdGlvbixcImNsZWFyYWJsZVwiOmZhbHNlLFwiaXRlbS10ZXh0XCI6XCJsYWJlbFwiLFwiaXRlbS12YWx1ZVwiOlwiaWRcIixcIm1lbnUtcHJvcHNcIjp7IG1pbldpZHRoOiAzNjAsIG1heFdpZHRoOiAzNjAsIGRhcms6IHRydWUgfSxcImRhcmtcIjpcIlwifSxvbjp7XCJhZGRGYXZcIjpfdm0uYWRkRmF2LFwiZGVsRmF2XCI6X3ZtLmRlbEZhdixcInNlbGVjdFwiOl92bS5zZWxlY3RBY2NvdW50fX0pXTpfdm0uX2UoKSwoX3ZtLmN1cnJlbnRVc2VyLnR5cGUgPT09IDQpP1tfYygndi1kaXZpZGVyJyx7c3RhdGljQ2xhc3M6XCJtdC0yIG1iLTIgYm9yZGVyLTAxXCJ9KSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJwcm9kdWN0cy1saXN0X190aXRsZSBtbC00XCJ9LFtfdm0uX3YoXCIgXCIrX3ZtLl9zKGAke192bS4kdHJhbnNsYXRlKCdzaWRlYmFycy5wcm9kdWN0cy1saXN0LmxrJywgJ9Cb0LjRh9C90YvQuSDQutCw0LHQuNC90LXRgicpfTpgKStcIiBcIildKSxfdm0uX2woKF92bS5hY2NvdW50cyksZnVuY3Rpb24oYWNjb3VudCl7cmV0dXJuIF9jKCd2LWxpc3QtaXRlbScse2tleTphY2NvdW50LmlkLHN0YXRpY0NsYXNzOlwic2VydmljZXMtbGlzdF9fbGlua1wiLGNsYXNzOnsgJ3NlcnZpY2VzLWxpc3RfX2xpbmstLWFjdGl2ZSc6IGFjY291bnQuaWQgPT09IF92bS5hY2NvdW50SWR9LGF0dHJzOntcImxpbmtcIjpcIlwifSxvbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7cmV0dXJuIF92bS5zZWxlY3RBY2NvdW50KGFjY291bnQuaWQpfX19LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzZXJ2aWNlcy1saXN0X19hY2NvdW50LWl0ZW0tY29udGVudFwifSxbX2MoJ3YtbGlzdC1pdGVtLXN1YnRpdGxlJyxbX3ZtLl92KFwiIFwiK192bS5fcyhfdm0uZ2V0SXRlbVRpdGxlKGFjY291bnQpLmNsaXBwZWQpK1wiIFwiKSwoX3ZtLmdldEl0ZW1UaXRsZShhY2NvdW50KS5mdWxsLmxlbmd0aCA+IDM1KT9fYygndi10b29sdGlwJyx7YXR0cnM6e1wiYm90dG9tXCI6XCJcIixcIm9mZnNldC1vdmVyZmxvd1wiOlwiXCIsXCJtYXgtd2lkdGhcIjoyNTYsXCJvcGVuLW9uLWhvdmVyXCI6ZmFsc2V9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImFjdGl2YXRvclwiLGZuOmZ1bmN0aW9uKHsgb24gfSl7cmV0dXJuIFtfYygnc3BhbicsX3ZtLl9nKHt9LG9uKSxbX3ZtLl92KFwiLi4uXCIpXSldfX1dLG51bGwsdHJ1ZSl9LFtfdm0uX3YoXCIgXCIrX3ZtLl9zKF92bS5nZXRJdGVtVGl0bGUoYWNjb3VudCkuZnVsbCkrXCIgXCIpXSk6X3ZtLl9lKCldLDEpLF9jKCd2LWxpc3QtaXRlbS10aXRsZScsW192bS5fdihcIiBcIitfdm0uX3MoX3ZtLmdldEl0ZW1EZXNjcmlwdGlvbihhY2NvdW50KS5jbGlwcGVkKStcIiBcIiksKF92bS5nZXRJdGVtRGVzY3JpcHRpb24oYWNjb3VudCkuZnVsbC5sZW5ndGggPiAzNSk/X2MoJ3YtdG9vbHRpcCcse2F0dHJzOntcImJvdHRvbVwiOlwiXCIsXCJvZmZzZXQtb3ZlcmZsb3dcIjpcIlwiLFwibWF4LXdpZHRoXCI6MjU2LFwib3Blbi1vbi1ob3ZlclwiOmZhbHNlfSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJhY3RpdmF0b3JcIixmbjpmdW5jdGlvbih7IG9uIH0pe3JldHVybiBbX2MoJ3NwYW4nLF92bS5fZyh7fSxvbiksW192bS5fdihcIi4uLlwiKV0pXX19XSxudWxsLHRydWUpfSxbX3ZtLl92KFwiIFwiK192bS5fcyhfdm0uZ2V0SXRlbURlc2NyaXB0aW9uKGFjY291bnQpLmZ1bGwpK1wiIFwiKV0pOl92bS5fZSgpXSwxKV0sMSldKX0pXTpfdm0uX2UoKV0sMilcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiPHRlbXBsYXRlPlxyXG4gIDx2LWxpc3RcclxuICAgIGRlbnNlXHJcbiAgICBkYXJrXHJcbiAgICBjbGFzcz1cInByb2R1Y3RzLWxpc3RcIlxyXG4gID5cclxuICAgIDxoMyBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAge3sgJHRyYW5zbGF0ZSgnc2lkZWJhcnMucHJvZHVjdHMtbGlzdC50aXRsZScsICfQn9C10YDQtdC60LvRjtGH0LDRgtC10LvRjCDQv9GA0LjQu9C+0LbQtdC90LjQuScpIH19XHJcbiAgICA8L2gzPlxyXG5cclxuICAgIDx2LWRpdmlkZXIgY2xhc3M9XCJtdC0yIG1iLTIgYm9yZGVyLTAxXCIgLz5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvZHVjdHMtbGlzdF9fdGl0bGUgbWwtNFwiPlxyXG4gICAgICB7eyBgJHskdHJhbnNsYXRlKCdzaWRlYmFycy5wcm9kdWN0cy1saXN0LmxpbmtzJywgJ9Ch0YHRi9C70LrQuCDQvdCwINCy0L3QtdGI0L3QuNC1INGA0LXRgdGD0YDRgdGLJyl9OmAgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPHYtbGlzdC1pdGVtXHJcbiAgICAgIHYtZm9yPVwibGluayBpbiBleHRlcm5hbExpbmtzXCJcclxuICAgICAgOmtleT1cImxpbmsudmFsdWVcIlxyXG4gICAgICA6aHJlZj1cImxpbmsudmFsdWVcIlxyXG4gICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxyXG4gICAgPlxyXG4gICAgICA8di1saXN0LWl0ZW0tdGl0bGUgY2xhc3M9XCJwcm9kdWN0cy1saXN0X19pdGVtX3RpdGxlXCI+XHJcbiAgICAgICAge3sgJHRyYW5zbGF0ZShsaW5rLnRyYW5zbGF0ZUtleSwgbGluay50ZXh0KSB9fVxyXG4gICAgICA8L3YtbGlzdC1pdGVtLXRpdGxlPlxyXG4gICAgPC92LWxpc3QtaXRlbT5cclxuXHJcbiAgICA8dGVtcGxhdGVcclxuICAgICAgdi1pZj1cImN1cnJlbnRVc2VyLnR5cGUgPT09IDEgfHwgY3VycmVudFVzZXIudHlwZSA9PT0gMlwiXHJcbiAgICA+XHJcbiAgICAgIDx2LWRpdmlkZXIgY2xhc3M9XCJtdC0yIG1iLTIgYm9yZGVyLTAxXCIgLz5cclxuXHJcbiAgICAgIDx2LWxpc3QtaXRlbVxyXG4gICAgICAgIHYtZm9yPVwibGluayBpbiBsaW5rc1wiXHJcbiAgICAgICAgOmtleT1cImxpbmsudmFsdWVcIlxyXG4gICAgICAgIDpocmVmPVwibGluay52YWx1ZVwiXHJcbiAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcclxuICAgICAgPlxyXG4gICAgICAgIDx2LWxpc3QtaXRlbS10aXRsZSBjbGFzcz1cInByb2R1Y3RzLWxpc3RfX2l0ZW1fdGl0bGVcIj5cclxuICAgICAgICAgIHt7IGxpbmsudGV4dCB9fVxyXG4gICAgICAgIDwvdi1saXN0LWl0ZW0tdGl0bGU+XHJcbiAgICAgIDwvdi1saXN0LWl0ZW0+XHJcbiAgICA8L3RlbXBsYXRlPlxyXG5cclxuICAgIDx0ZW1wbGF0ZVxyXG4gICAgICB2LWlmPVwiKGN1cnJlbnRVc2VyLnR5cGUgPT09IDEgfHwgY3VycmVudFVzZXIudHlwZSA9PT0gMikgJiYgcHJvZHVjdHNMaXN0TGlua3MubGVuZ3RoXCJcclxuICAgID5cclxuICAgICAgPHYtZGl2aWRlciBjbGFzcz1cIm10LTIgbWItMiBib3JkZXItMDFcIiAvPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3RzLWxpc3RfX3RpdGxlIG1sLTRcIj5cclxuICAgICAgICB7eyBgJHskdHJhbnNsYXRlKCdzaWRlYmFycy5wcm9kdWN0cy1saXN0LnNlcnZpY2VzJywgJ9Ch0LXRgNCy0LjRgdGLJyl9OmAgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDx2LWxpc3QtaXRlbVxyXG4gICAgICAgIHYtZm9yPVwicHJvZHVjdCBpbiBwcm9kdWN0c0xpc3RMaW5rc1wiXHJcbiAgICAgICAgOmtleT1cInByb2R1Y3QubmFtZVwiXHJcbiAgICAgICAgOmhyZWY9XCJwcm9kdWN0LmxpbmtcIlxyXG4gICAgICAgIGxpbmtcclxuICAgICAgICBjbGFzcz1cInByb2R1Y3RzLWxpc3RfX2xpbmtcIlxyXG4gICAgICAgIDpjbGFzcz1cInByb2R1Y3Quc3RySWQgPT09IHByb2R1Y3RTdHJJZCA/ICdwcm9kdWN0cy1saXN0X19saW5rLS1hY3RpdmUnIDogJydcIlxyXG4gICAgICAgIEBjbGljay5wcmV2ZW50PVwib25DbGlja0NoYW5nZVByb2R1Y3QocHJvZHVjdC5zdHJJZClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHYtbGlzdC1pdGVtLXRpdGxlIGNsYXNzPVwicHJvZHVjdHMtbGlzdF9faXRlbV90aXRsZVwiPlxyXG4gICAgICAgICAge3sgcHJvZHVjdC5uYW1lIH19XHJcbiAgICAgICAgPC92LWxpc3QtaXRlbS10aXRsZT5cclxuICAgICAgPC92LWxpc3QtaXRlbT5cclxuICAgIDwvdGVtcGxhdGU+XHJcblxyXG4gICAgPHRlbXBsYXRlXHJcbiAgICAgIHYtaWY9XCJjdXJyZW50VXNlci50eXBlID09PSAxIHx8IGN1cnJlbnRVc2VyLnR5cGUgPT09IDJcIlxyXG4gICAgPlxyXG4gICAgICA8di1kaXZpZGVyIGNsYXNzPVwibXQtMiBtYi0yIGJvcmRlci0wMVwiIC8+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0cy1saXN0X190aXRsZSBtbC00XCI+XHJcbiAgICAgICAge3sgYCR7JHRyYW5zbGF0ZSgnc2lkZWJhcnMucHJvZHVjdHMtbGlzdC5saycsICfQm9C40YfQvdGL0Lkg0LrQsNCx0LjQvdC10YInKX06YCB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPFNlbGVjdFdpdGhGYXZcclxuICAgICAgICBjbGFzcz1cIm1hLTJcIlxyXG4gICAgICAgIDp2YWx1ZT1cImFjY291bnRJZFwiXHJcbiAgICAgICAgOnVybD1cImlzQWNjb3VudHNVcmxcIlxyXG4gICAgICAgIDpmYXYtaWRzPVwiYWNjb3VudHNGYXZcIlxyXG4gICAgICAgIDpub3JtYWxpemUtb3B0aW9uPVwiYWNjb3VudHNOb3JtYWxpemVPcHRpb25cIlxyXG4gICAgICAgIDpjbGVhcmFibGU9XCJmYWxzZVwiXHJcbiAgICAgICAgaXRlbS10ZXh0PVwibGFiZWxcIlxyXG4gICAgICAgIGl0ZW0tdmFsdWU9XCJpZFwiXHJcbiAgICAgICAgOm1lbnUtcHJvcHM9XCJ7IG1pbldpZHRoOiAzNjAsIG1heFdpZHRoOiAzNjAsIGRhcms6IHRydWUgfVwiXHJcbiAgICAgICAgZGFya1xyXG4gICAgICAgIEBhZGRGYXY9XCJhZGRGYXZcIlxyXG4gICAgICAgIEBkZWxGYXY9XCJkZWxGYXZcIlxyXG4gICAgICAgIEBzZWxlY3Q9XCJzZWxlY3RBY2NvdW50XCJcclxuICAgICAgLz5cclxuICAgIDwvdGVtcGxhdGU+XHJcblxyXG4gICAgPHRlbXBsYXRlXHJcbiAgICAgIHYtaWY9XCJjdXJyZW50VXNlci50eXBlID09PSA0XCJcclxuICAgID5cclxuICAgICAgPHYtZGl2aWRlciBjbGFzcz1cIm10LTIgbWItMiBib3JkZXItMDFcIiAvPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJvZHVjdHMtbGlzdF9fdGl0bGUgbWwtNFwiPlxyXG4gICAgICAgIHt7IGAkeyR0cmFuc2xhdGUoJ3NpZGViYXJzLnByb2R1Y3RzLWxpc3QubGsnLCAn0JvQuNGH0L3Ri9C5INC60LDQsdC40L3QtdGCJyl9OmAgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDx2LWxpc3QtaXRlbVxyXG4gICAgICAgIHYtZm9yPVwiYWNjb3VudCBpbiBhY2NvdW50c1wiXHJcbiAgICAgICAgOmtleT1cImFjY291bnQuaWRcIlxyXG4gICAgICAgIGNsYXNzPVwic2VydmljZXMtbGlzdF9fbGlua1wiXHJcbiAgICAgICAgOmNsYXNzPVwieyAnc2VydmljZXMtbGlzdF9fbGluay0tYWN0aXZlJzogYWNjb3VudC5pZCA9PT0gYWNjb3VudElkfVwiXHJcbiAgICAgICAgbGlua1xyXG4gICAgICAgIEBjbGljaz1cInNlbGVjdEFjY291bnQoYWNjb3VudC5pZClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2VzLWxpc3RfX2FjY291bnQtaXRlbS1jb250ZW50XCI+XHJcbiAgICAgICAgICA8di1saXN0LWl0ZW0tc3VidGl0bGU+XHJcbiAgICAgICAgICAgIHt7IGdldEl0ZW1UaXRsZShhY2NvdW50KS5jbGlwcGVkIH19XHJcbiAgICAgICAgICAgIDx2LXRvb2x0aXBcclxuICAgICAgICAgICAgICB2LWlmPVwiZ2V0SXRlbVRpdGxlKGFjY291bnQpLmZ1bGwubGVuZ3RoID4gMzVcIlxyXG4gICAgICAgICAgICAgIGJvdHRvbVxyXG4gICAgICAgICAgICAgIG9mZnNldC1vdmVyZmxvd1xyXG4gICAgICAgICAgICAgIDptYXgtd2lkdGg9XCIyNTZcIlxyXG4gICAgICAgICAgICAgIDpvcGVuLW9uLWhvdmVyPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHRlbXBsYXRlIHYtc2xvdDphY3RpdmF0b3I9XCJ7IG9uIH1cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIHYtb249XCJvblwiPi4uLjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIHt7IGdldEl0ZW1UaXRsZShhY2NvdW50KS5mdWxsIH19XHJcbiAgICAgICAgICAgIDwvdi10b29sdGlwPlxyXG4gICAgICAgICAgPC92LWxpc3QtaXRlbS1zdWJ0aXRsZT5cclxuICAgICAgICAgIDx2LWxpc3QtaXRlbS10aXRsZT5cclxuICAgICAgICAgICAge3sgZ2V0SXRlbURlc2NyaXB0aW9uKGFjY291bnQpLmNsaXBwZWQgfX1cclxuICAgICAgICAgICAgPHYtdG9vbHRpcFxyXG4gICAgICAgICAgICAgIHYtaWY9XCJnZXRJdGVtRGVzY3JpcHRpb24oYWNjb3VudCkuZnVsbC5sZW5ndGggPiAzNVwiXHJcbiAgICAgICAgICAgICAgYm90dG9tXHJcbiAgICAgICAgICAgICAgb2Zmc2V0LW92ZXJmbG93XHJcbiAgICAgICAgICAgICAgOm1heC13aWR0aD1cIjI1NlwiXHJcbiAgICAgICAgICAgICAgOm9wZW4tb24taG92ZXI9XCJmYWxzZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8dGVtcGxhdGUgdi1zbG90OmFjdGl2YXRvcj1cInsgb24gfVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gdi1vbj1cIm9uXCI+Li4uPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAge3sgZ2V0SXRlbURlc2NyaXB0aW9uKGFjY291bnQpLmZ1bGwgfX1cclxuICAgICAgICAgICAgPC92LXRvb2x0aXA+XHJcbiAgICAgICAgICA8L3YtbGlzdC1pdGVtLXRpdGxlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3YtbGlzdC1pdGVtPlxyXG4gICAgPC90ZW1wbGF0ZT5cclxuICA8L3YtbGlzdD5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7IG1hcEFjdGlvbnMsIG1hcE11dGF0aW9ucywgbWFwU3RhdGUgfSBmcm9tICd2dWV4JztcclxuaW1wb3J0IENvbW1vblNlcnZpY2UgZnJvbSAnYmNrb2ZmaWNlX2Zyb250X2NvcmUvc2VydmljZXMvQ29tbW9uJztcclxuaW1wb3J0IFNlbGVjdFdpdGhGYXYgZnJvbSAnYmNrb2ZmaWNlX2Zyb250X2NvcmUvY29tcG9uZW50cy9zaGFyZWQvU2VsZWN0V2l0aEZhdic7XHJcbmltcG9ydCB7IGF1dGhTZXJ2aWNlIH0gZnJvbSAnQC9zZXJ2aWNlcyc7XHJcblxyXG5jb25zdCBpc0FjY291bnRzU2VydmljZSA9IG5ldyBDb21tb25TZXJ2aWNlKHtcclxuICBiYWNrZW5kVVJMOiBwcm9jZXNzLmVudi5WVUVfQVBQX0FQSURNX1VSTCxcclxuICBwcmVmaXg6ICdpc0FjY291bnRzJyxcclxufSk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgbmFtZTogJ1NlcnZpY2VzTGlzdCcsXHJcbiAgY29tcG9uZW50czoge1xyXG4gICAgU2VsZWN0V2l0aEZhdixcclxuICB9LFxyXG4gIGRhdGEoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBleHRlcm5hbExpbmtzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGV4dDogJ9CS0LXQsS3RgdCw0LnRgiDQodCU0KInLFxyXG4gICAgICAgICAgdHJhbnNsYXRlS2V5OiAnc2lkZWJhcnMucHJvZHVjdHMtbGlzdC5saW5rLnphby1zZHQnLFxyXG4gICAgICAgICAgdmFsdWU6ICdodHRwczovL3phby1zZHQuY29tLycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0ZXh0OiAn0JLQtdCxLdGB0LDQudGCIEFjY29yZCBQb3N0JyxcclxuICAgICAgICAgIHRyYW5zbGF0ZUtleTogJ3NpZGViYXJzLnByb2R1Y3RzLWxpc3QubGluay5hY2NvcmRwb3N0JyxcclxuICAgICAgICAgIHZhbHVlOiAnaHR0cHM6Ly93d3cuYWNjb3JkcG9zdC5ydS8nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGV4dDogJ9Ch0L/RgNCw0LLQvtGH0L3QuNC6INC/0L4g0JDQn9CYINC40L3RgtC10LPRgNCw0YbQuNC4JyxcclxuICAgICAgICAgIHRyYW5zbGF0ZUtleTogJ3NpZGViYXJzLnByb2R1Y3RzLWxpc3QubGluay5hcGktYWNjb3JkcG9zdCcsXHJcbiAgICAgICAgICB2YWx1ZTogJ2h0dHBzOi8vYXBpLmFjY29yZHBvc3QucnUvZG9jL3JlZG9jL2luZGV4Lmh0bWwnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGV4dDogJ9CY0L3RgdGC0YDRg9C60YbQuNGPINCb0JogQWNjb3JkIFBvc3QnLFxyXG4gICAgICAgICAgdHJhbnNsYXRlS2V5OiAnc2lkZWJhcnMucHJvZHVjdHMtbGlzdC5saW5rLmluc3RydWN0aW9ucy1saycsXHJcbiAgICAgICAgICB2YWx1ZTogJ2h0dHBzOi8vZG9jcy5nb29nbGUuY29tL2RvY3VtZW50L2QvMThvY2k5WkFFRUVsQXhXVkxzMUowTjZUZnF2UUR1blJPJyxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBsaW5rczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRleHQ6ICdBdGxhc3NpYW4gU2VydmljZWRlc2snLFxyXG4gICAgICAgICAgdmFsdWU6ICdodHRwczovL2lpdHNlcnZpY2VzLmF0bGFzc2lhbi5uZXQvc2VydmljZWRlc2svJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRleHQ6ICdBdGxhc3NpYW4gSmlyYScsXHJcbiAgICAgICAgICB2YWx1ZTogJ2h0dHBzOi8vaWl0c2VydmljZXMuYXRsYXNzaWFuLm5ldC9qaXJhL3lvdXItd29yaycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0ZXh0OiAnQXRsYXNzaWFuIENvbmZsdWVuY2UnLFxyXG4gICAgICAgICAgdmFsdWU6ICdodHRwczovL2lpdHNlcnZpY2VzLmF0bGFzc2lhbi5uZXQvd2lraS9ob21lJyxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBhY2NvdW50czogW10sXHJcbiAgICAgIGFjY291bnRJZDogbnVsbCxcclxuICAgIH07XHJcbiAgfSxcclxuICBjb21wdXRlZDoge1xyXG4gICAgLi4ubWFwU3RhdGUoW1xyXG4gICAgICAncHJvZHVjdFN0cklkJyxcclxuICAgIF0pLFxyXG4gICAgLi4ubWFwU3RhdGUoJ2NvbXBlbmRpdW1zL2l0cycsIFtcclxuICAgICAgJ3Byb2R1Y3RzTGlzdCcsXHJcbiAgICBdKSxcclxuICAgIC4uLm1hcFN0YXRlKCdhY2NvdW50cycsIFtcclxuICAgICAgJ3VpU2V0dGluZ3MnLFxyXG4gICAgICAnY3VycmVudFVzZXInLFxyXG4gICAgXSksXHJcbiAgICBhY2NvdW50c0ZhdigpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudWlTZXR0aW5nc1snSVRTLmlzQWNjb3VudHMnXT8uZmF2b3JpdGVzIHx8IFtdO1xyXG4gICAgfSxcclxuICAgIHByb2R1Y3RzTGlzdExpbmtzKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5wcm9kdWN0c0xpc3QuZmlsdGVyKChmaWx0ZXIpID0+IGZpbHRlci5zaG93SW5UYXNrYmFyKTtcclxuICAgIH0sXHJcbiAgICBpc0FjY291bnRzVXJsKCkge1xyXG4gICAgICByZXR1cm4gYCR7cHJvY2Vzcy5lbnYuVlVFX0FQUF9BUElETV9VUkx9L2lzQWNjb3VudHNgO1xyXG4gICAgfSxcclxuICB9LFxyXG4gIGFzeW5jIGNyZWF0ZWQoKSB7XHJcbiAgICB0aGlzLmZldGNoVWlTZXR0aW5ncyh7IHNldHRpbmdzSWRlbnRpZmllcjogJ0lUUy5pc0FjY291bnRzJyB9KTtcclxuICAgIGNvbnN0IHsgcmVzdWx0OiBhY2NvdW50cyB9ID0gYXdhaXQgaXNBY2NvdW50c1NlcnZpY2UuZmV0Y2goKTtcclxuICAgIHRoaXMuYWNjb3VudHMgPSBhY2NvdW50cztcclxuXHJcbiAgICBjb25zdCBhdXRoRGF0YSA9IGF1dGhTZXJ2aWNlLmdldEF1dGhEYXRhKCk7XHJcbiAgICBpZiAoYXV0aERhdGEuYWNjb3VudElkICYmIHRoaXMucHJvZHVjdFN0cklkID09PSAnTEsnKSB7XHJcbiAgICAgIHRoaXMuYWNjb3VudElkID0gU3RyaW5nKGF1dGhEYXRhLmFjY291bnRJZCk7XHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgbWV0aG9kczoge1xyXG4gICAgLi4ubWFwTXV0YXRpb25zKFsnc2V0SXRlbSddKSxcclxuICAgIC4uLm1hcEFjdGlvbnMoJ2FjY291bnRzJywgWydmZXRjaEN1cnJlbnRVc2VyJywgJ2ZldGNoVWlTZXR0aW5ncycsICd1cGRhdGVVaVNldHRpbmdzJ10pLFxyXG4gICAgYWNjb3VudHNOb3JtYWxpemVPcHRpb24ob3B0aW9uKSB7XHJcbiAgICAgIHJldHVybiAoeyAuLi5vcHRpb24sIGxhYmVsOiBvcHRpb24uc3VtbWFyeSB9KTtcclxuICAgIH0sXHJcbiAgICBvbkNsaWNrQ2hhbmdlUHJvZHVjdChzdHJJZCkge1xyXG4gICAgICBpZiAodGhpcy5wcm9kdWN0U3RySWQgPT09ICdMSycpIHtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgncHJvZHVjdFN0cklkJywgbnVsbCk7XHJcbiAgICAgICAgY29uc3QgeyBhY2Nlc3MsIHJlZnJlc2gsIGFjY291bnRJZCwgc3lzQ29kZSB9ID0gYXV0aFNlcnZpY2UuZ2V0QXV0aERhdGEoKTtcclxuICAgICAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKGAke3Byb2Nlc3MuZW52LlZVRV9BUFBfSVRTX1VSTH0/YXV0aERhdGE9JHtKU09OLnN0cmluZ2lmeSh7IGFjY2VzcywgcmVmcmVzaCwgYWNjb3VudElkLCBzeXNDb2RlIH0pfSZwcm9kdWN0U3RySWQ9JHtzdHJJZH1gKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgncHJvZHVjdFN0cklkJywgc3RySWQpO1xyXG4gICAgICAgIHRoaXMuc2V0SXRlbSh7IGl0ZW06ICdwcm9kdWN0U3RySWQnLCB2YWx1ZTogc3RySWQgfSk7XHJcbiAgICAgICAgdGhpcy5zZXRJdGVtKHsgaXRlbTogJ2FueU1lbnVJc09wZW4nLCB2YWx1ZTogZmFsc2UgfSk7XHJcbiAgICAgICAgaWYgKHRoaXMuJHJvdXRlLm5hbWUgIT09ICdEYXNoYm9hcmQnKSB0aGlzLiRyb3V0ZXIucHVzaCh7IG5hbWU6ICdEYXNoYm9hcmQnIH0pO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgYWRkRmF2KGlkKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlVWlTZXR0aW5ncyh7XHJcbiAgICAgICAgc2V0dGluZ3NJZGVudGlmaWVyOiAnSVRTLmlzQWNjb3VudHMnLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIGZhdm9yaXRlczogWy4uLnRoaXMuYWNjb3VudHNGYXYsIGlkXSxcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0sXHJcbiAgICBkZWxGYXYoaWQpIHtcclxuICAgICAgdGhpcy51cGRhdGVVaVNldHRpbmdzKHtcclxuICAgICAgICBzZXR0aW5nc0lkZW50aWZpZXI6ICdJVFMuaXNBY2NvdW50cycsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgZmF2b3JpdGVzOiB0aGlzLmFjY291bnRzRmF2LmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gaWQpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIGFzeW5jIHNlbGVjdEFjY291bnQoYWNjb3VudElkKSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gYXdhaXQgdGhpcy5mZXRjaEN1cnJlbnRVc2VyKCkgfHwge307XHJcbiAgICAgIGNvbnN0IGF1dGhEYXRhID0gYXV0aFNlcnZpY2UuZ2V0QXV0aERhdGEoKTtcclxuICAgICAgY29uc3QgYWNjb3VudEF1dGhEYXRhID0ge1xyXG4gICAgICAgIC4uLmF1dGhEYXRhLFxyXG4gICAgICAgIGFjY291bnRJZCxcclxuICAgICAgICBzeXNDb2RlOiB0aGlzLmdldFN5c0NvZGUoYWNjb3VudElkKSxcclxuICAgICAgfTtcclxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3JlcXVlc3RlZFBhZ2UnKTtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3NlbGVjdEJpbGxpbmcnLCBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgYWNjb3VudElkLFxyXG4gICAgICAgIHN5c0NvZGU6IHRoaXMuZ2V0U3lzQ29kZShhY2NvdW50SWQpLFxyXG4gICAgICAgIGlkOiBjdXJyZW50VXNlcj8uaWQgfHwgbnVsbCxcclxuICAgICAgfSkpO1xyXG4gICAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKGAke3Byb2Nlc3MuZW52LlZVRV9BUFBfRFNTX1VSTCB8fCBgJHt3aW5kb3cubG9jYXRpb24ub3JpZ2lufS9gfT9hdXRoRGF0YT0ke0pTT04uc3RyaW5naWZ5KGFjY291bnRBdXRoRGF0YSl9YCk7XHJcbiAgICB9LFxyXG4gICAgZ2V0U3lzQ29kZShpZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5hY2NvdW50cy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaWQgPT0gaWQpWzBdLnN5c0NvZGU7XHJcbiAgICB9LFxyXG4gICAgZ2V0SXRlbVRpdGxlKGl0ZW0pIHtcclxuICAgICAgY29uc3QgZnVsbExhYmVsID0gaXRlbS5jbGllbnROYW1lO1xyXG4gICAgICByZXR1cm4gdGhpcy50cmltVGl0bGUoZnVsbExhYmVsKTtcclxuICAgIH0sXHJcbiAgICBnZXRJdGVtRGVzY3JpcHRpb24oaXRlbSkge1xyXG4gICAgICByZXR1cm4gdGhpcy50cmltVGl0bGUoaXRlbS5kZXNjcmlwdGlvbik7XHJcbiAgICB9LFxyXG4gICAgdHJpbVRpdGxlKHRpdGxlKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgZnVsbDogdGl0bGUsXHJcbiAgICAgICAgY2xpcHBlZDogdGl0bGUuc3Vic3RyKDAsIDM1KSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgfSxcclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XHJcbi5wcm9kdWN0cy1saXN0IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12LWRhcmstYmFja2dyb3VuZC0wMS1iYXNlKSAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tdi1ib3JkZXItMDEtYmFzZSkgIWltcG9ydGFudDtcclxuXHJcbiAgaDMge1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xyXG4gICAgY29sb3I6ICM4ZDhkOGQ7XHJcbiAgfVxyXG4gICZfX2l0ZW1fdGl0bGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAmX19saW5rIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICYtLWFjdGl2ZXtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM1MzUzNTtcclxuICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS12LXByaW1hcnktYmFzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2FjY291bnQtaXRlbS1jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIH1cclxuICA6OnYtZGVlcCB7XHJcbiAgICAuc2VsZWN0LXdpdGgtZmF2IHtcclxuICAgICAgaW5wdXQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zZXJ2aWNlcy1saXN0X19saW5rIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcclxuICB9XHJcbiAgLnNlcnZpY2VzLWxpc3RfX2xpbmstLWFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzUzNTM1O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS12LXByaW1hcnktYmFzZSk7XHJcbiAgfVxyXG59XHJcbjwvc3R5bGU+XHJcbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vLi4vLi4vLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlcnZpY2VzTGlzdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMTMtMCEuLi8uLi8uLi8uLi90aHJlYWQtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMCEuLi8uLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VydmljZXNMaXN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9TZXJ2aWNlc0xpc3QudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPThjYTg3NGVlJnNjb3BlZD10cnVlXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vU2VydmljZXNMaXN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiXG5leHBvcnQgKiBmcm9tIFwiLi9TZXJ2aWNlc0xpc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vU2VydmljZXNMaXN0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPThjYTg3NGVlJnByb2QmbGFuZz1zY3NzJnNjb3BlZD10cnVlXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiOGNhODc0ZWVcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2xvYWRlci5qcz8/cmVmLS05LW9uZU9mLTEtMCEuLi8uLi8uLi8uLi9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTktb25lT2YtMS0xIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS05LW9uZU9mLTEtMiEuLi8uLi8uLi8uLi9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS05LW9uZU9mLTEtMyEuLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY2NvdW50LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWQyMjBmYTdjJnByb2QmbGFuZz1zY3NzJnNjb3BlZD10cnVlXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2xvYWRlci5qcz8/cmVmLS05LW9uZU9mLTEtMCEuLi8uLi8uLi8uLi9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTktb25lT2YtMS0xIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS05LW9uZU9mLTEtMiEuLi8uLi8uLi8uLi9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS05LW9uZU9mLTEtMyEuLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UaGVIZWFkZXJGYXZvcml0QmFyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY2NDdiMTNhJnByb2QmbGFuZz1zY3NzXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2xvYWRlci5qcz8/cmVmLS05LW9uZU9mLTEtMCEuLi8uLi8uLi8uLi9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTktb25lT2YtMS0xIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS05LW9uZU9mLTEtMiEuLi8uLi8uLi8uLi9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS05LW9uZU9mLTEtMyEuLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UaGVIZWFkZXJGYXZvcml0QmFyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0xJmlkPTY2NDdiMTNhJnByb2QmbGFuZz1zY3NzJnNjb3BlZD10cnVlXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2xvYWRlci5qcz8/cmVmLS05LW9uZU9mLTEtMCEuLi8uLi8uLi8uLi9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTktb25lT2YtMS0xIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS05LW9uZU9mLTEtMiEuLi8uLi8uLi8uLi9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS05LW9uZU9mLTEtMyEuLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Ob3RpZmljYXRpb25zQ2VudGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTZmZWY0YzlmJnByb2QmbGFuZz1zY3NzJnNjb3BlZD10cnVlXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2xvYWRlci5qcz8/cmVmLS05LW9uZU9mLTEtMCEuLi8uLi8uLi8uLi8uLi9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTktb25lT2YtMS0xIS4uLy4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS05LW9uZU9mLTEtMiEuLi8uLi8uLi8uLi8uLi9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS05LW9uZU9mLTEtMyEuLi8uLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UaGVIZWFkZXJCdXR0b25zTWl4aW4udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MWRkYWVkYzMmcHJvZCZsYW5nPXNjc3Mmc2NvcGVkPXRydWVcIiJdLCJzb3VyY2VSb290IjoiIn0=