From 14650ee01a9f183643819f399260b5566ac9d063 Mon Sep 17 00:00:00 2001 From: jesse23 Date: Wed, 28 Aug 2024 16:43:48 -0400 Subject: [PATCH] compile --- ...e-CuECKK6y.js => CtxSamplePage-IwNb8GTH.js} | 4 ++-- ...-BRMBfZtP.js => GridSamplePage--YddzbY7.js} | 4 ++-- .../assets/IframeSamAuthSamplePage-BSXJo4Sb.js | 2 ++ ...e-10mTZKqw.js => OpsSamplePage-D-bUjj55.js} | 4 ++-- docs/assets/PortalStateSamplePage-BHgICu4v.js | 2 ++ ...YuwIIGt.js => ReportSamplePage-DAT0tHjY.js} | 4 ++-- .../{index-BXTQYCCW.js => index-D6OZ-D7n.js} | 18 +++++++++--------- docs/index.html | 2 +- 8 files changed, 22 insertions(+), 18 deletions(-) rename docs/assets/{CtxSamplePage-CuECKK6y.js => CtxSamplePage-IwNb8GTH.js} (98%) rename docs/assets/{GridSamplePage-BRMBfZtP.js => GridSamplePage--YddzbY7.js} (99%) create mode 100644 docs/assets/IframeSamAuthSamplePage-BSXJo4Sb.js rename docs/assets/{OpsSamplePage-10mTZKqw.js => OpsSamplePage-D-bUjj55.js} (98%) create mode 100644 docs/assets/PortalStateSamplePage-BHgICu4v.js rename docs/assets/{ReportSamplePage-BYuwIIGt.js => ReportSamplePage-DAT0tHjY.js} (98%) rename docs/assets/{index-BXTQYCCW.js => index-D6OZ-D7n.js} (57%) diff --git a/docs/assets/CtxSamplePage-CuECKK6y.js b/docs/assets/CtxSamplePage-IwNb8GTH.js similarity index 98% rename from docs/assets/CtxSamplePage-CuECKK6y.js rename to docs/assets/CtxSamplePage-IwNb8GTH.js index a154d72..fd15a21 100644 --- a/docs/assets/CtxSamplePage-CuECKK6y.js +++ b/docs/assets/CtxSamplePage-IwNb8GTH.js @@ -1,2 +1,2 @@ -import{r as d,u as j,j as t,p as u,s as w,d as S}from"./index-BXTQYCCW.js";const p=new WeakMap,y=(e,s)=>{const n={init:e,read:i=>i(n),write:(i,o,l)=>{typeof l=="function"?o(n,l(i(n))):o(n,l)}};return n},a=e=>{let s=p.get(e);return s||(s={value:e.init,listeners:new Set,dependents:new Set},p.set(e,s)),s},h=e=>{const s=a(e),n=o=>o===e?s.value:(a(o).dependents.add(e),h(o)),i=e.read(n);return s.value=i,i},C=e=>{const s=a(e);s.dependents.forEach(n=>{n!==e&&C(n)}),s.listeners.forEach(n=>n())},v=(e,s)=>{var l;const n=a(e),i=r=>a(r).value,o=(r,c)=>{if(r===e){n.value=c,C(e);return}v(r,c)};(l=e.write)==null||l.call(e,i,o,s)},b=e=>{const[s,n]=d.useState();return d.useEffect(()=>{const o=()=>n(h(e)),l=a(e);return l.listeners.add(o),o(),()=>{l.listeners.delete(o)}},[e]),[s,o=>{v(e,o)}]},g=y(""),f=({scopeId:e})=>{const[s,n]=d.useState(""),[i,o]=d.useState(""),[l,r]=b(g);return d.useEffect(()=>{const c=w({topic:"update.LeafComponent",channel:e,handler:m=>{o(m)}});return()=>{S(c)}},[]),t.jsxs("div",{style:{border:"1px solid white",margin:"10px",padding:"10px",width:"100%"},children:[t.jsxs("div",{children:["Ctx: '",l,"'"]}),t.jsxs("div",{children:["Data: '",s,"'"]}),t.jsxs("div",{children:["Event: '",i,"'"]}),t.jsx("button",{onClick:()=>u({topic:"update.LeafComponent",channel:e,payload:`event from ${e}`}),children:"Update Event"}),t.jsx("button",{onClick:()=>r("Hello"),children:"Update Ctx"}),t.jsx("button",{onClick:()=>n("Hello"),children:"Update State"})]})},x=({scopeId:e})=>t.jsxs("div",{style:{width:"100%",display:"flex",flexDirection:"row"},children:[t.jsx(f,{scopeId:`${e}:leftCell`}),t.jsx(f,{scopeId:"rightCell"})]}),E=()=>t.jsxs("div",{style:{width:"100%",display:"flex",flexDirection:"column"},children:[t.jsx(x,{scopeId:"firstRow"}),t.jsx(x,{scopeId:"secondRow"})]}),A=()=>t.jsxs("div",{style:{display:"flex",flexDirection:"row",border:"1px solid white",margin:"10px",padding:"10px"},children:[t.jsx("button",{onClick:()=>u({topic:"update.LeafComponent",channel:"firstRow:leftCell",payload:"event from firstRow:leftCell"}),children:"Event to firstRow:leftCell"}),t.jsx("button",{onClick:()=>u({topic:"update.LeafComponent",channel:"rightCell",payload:"event from rightCell"}),children:"Event to rightCell"})]}),D=()=>(j("./OpsSamplePage.css","dynamic-css"),t.jsxs("div",{style:{width:"100%",display:"flex",flexDirection:"column"},children:[t.jsx(A,{}),t.jsx(E,{})]}));export{D as CtxSamplePage,D as default}; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3R4U2FtcGxlUGFnZS1DdUVDS0s2eS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYnMvYXRvbS9pbmRleC50cyIsIi4uLy4uL3NyYy9wYWdlcy9DdHhTYW1wbGVQYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG50eXBlIEF0b208VD4gPSB7XG4gIGluaXQ/OiBUO1xuICByZWFkOiAoZ2V0OiAoYTogQXRvbTxhbnk+KSA9PiBhbnkpID0+IFQ7XG4gIHdyaXRlPzogKGdldDogKGE6IEF0b208YW55PikgPT4gYW55LCBzZXQ6IChhOiBBdG9tPGFueT4sIHY6IGFueSkgPT4gdm9pZCwgdmFsdWU6IGFueSkgPT4gdm9pZDtcbn07XG5cbnR5cGUgQXRvbVN0YXRlPFQ+ID0ge1xuICB2YWx1ZTogVDtcbiAgbGlzdGVuZXJzOiBTZXQ8KCkgPT4gdm9pZD47XG4gIGRlcGVuZGVudHM6IFNldDxBdG9tPGFueT4+O1xufTtcblxuY29uc3QgYXRvbVN0YXRlTWFwID0gbmV3IFdlYWtNYXA8QXRvbTxhbnk+LCBBdG9tU3RhdGU8YW55Pj4oKTtcblxuZXhwb3J0IGNvbnN0IGF0b20gPSA8VD4ocmVhZDogKChnZXQ6IChhOiBBdG9tPGFueT4pID0+IGFueSkgPT4gVCkgfCBULCB3cml0ZT86IChnZXQ6IChhOiBBdG9tPGFueT4pID0+IGFueSwgc2V0OiAoYTogQXRvbTxhbnk+LCB2OiBhbnkpID0+IHZvaWQsIHZhbHVlOiBhbnkpID0+IHZvaWQpOiBBdG9tPFQ+ID0+IHtcbiAgaWYgKHR5cGVvZiByZWFkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHsgcmVhZDogcmVhZCBhcyAoZ2V0OiAoYTogQXRvbTxhbnk+KSA9PiBhbnkpID0+IFQsIHdyaXRlIH07XG4gIH1cbiAgY29uc3QgY29uZmlnOiBBdG9tPFQ+ID0ge1xuICAgIGluaXQ6IHJlYWQgYXMgVCxcbiAgICByZWFkOiAoZ2V0KSA9PiBnZXQoY29uZmlnKSxcbiAgICB3cml0ZTogd3JpdGUgfHwgKChnZXQsIHNldCwgYXJnKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGFyZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBzZXQoY29uZmlnLCBhcmcoZ2V0KGNvbmZpZykpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldChjb25maWcsIGFyZyk7XG4gICAgICB9XG4gICAgfSksXG4gIH07XG4gIHJldHVybiBjb25maWc7XG59O1xuXG5jb25zdCBnZXRBdG9tU3RhdGUgPSA8VD4oYXRvbTogQXRvbTxUPik6IEF0b21TdGF0ZTxUPiA9PiB7XG4gIGxldCBhdG9tU3RhdGUgPSBhdG9tU3RhdGVNYXAuZ2V0KGF0b20pO1xuICBpZiAoIWF0b21TdGF0ZSkge1xuICAgIGF0b21TdGF0ZSA9IHtcbiAgICAgIHZhbHVlOiAoYXRvbSBhcyBhbnkpLmluaXQsXG4gICAgICBsaXN0ZW5lcnM6IG5ldyBTZXQoKSxcbiAgICAgIGRlcGVuZGVudHM6IG5ldyBTZXQoKSxcbiAgICB9O1xuICAgIGF0b21TdGF0ZU1hcC5zZXQoYXRvbSwgYXRvbVN0YXRlKTtcbiAgfVxuICByZXR1cm4gYXRvbVN0YXRlO1xufTtcblxuY29uc3QgcmVhZEF0b20gPSA8VD4oYXRvbTogQXRvbTxUPik6IFQgPT4ge1xuICBjb25zdCBhdG9tU3RhdGUgPSBnZXRBdG9tU3RhdGUoYXRvbSk7XG4gIGNvbnN0IGdldCA9IChhOiBBdG9tPGFueT4pID0+IHtcbiAgICBpZiAoYSA9PT0gYXRvbSkge1xuICAgICAgcmV0dXJuIGF0b21TdGF0ZS52YWx1ZTtcbiAgICB9XG4gICAgY29uc3QgYVN0YXRlID0gZ2V0QXRvbVN0YXRlKGEpO1xuICAgIGFTdGF0ZS5kZXBlbmRlbnRzLmFkZChhdG9tKTtcbiAgICByZXR1cm4gcmVhZEF0b20oYSk7XG4gIH07XG4gIGNvbnN0IHZhbHVlID0gYXRvbS5yZWFkKGdldCk7XG4gIGF0b21TdGF0ZS52YWx1ZSA9IHZhbHVlO1xuICByZXR1cm4gdmFsdWU7XG59O1xuXG5jb25zdCBub3RpZnkgPSAoYXRvbTogQXRvbTxhbnk+KTogdm9pZCA9PiB7XG4gIGNvbnN0IGF0b21TdGF0ZSA9IGdldEF0b21TdGF0ZShhdG9tKTtcbiAgYXRvbVN0YXRlLmRlcGVuZGVudHMuZm9yRWFjaCgoZCkgPT4ge1xuICAgIGlmIChkICE9PSBhdG9tKSBub3RpZnkoZCk7XG4gIH0pO1xuICBhdG9tU3RhdGUubGlzdGVuZXJzLmZvckVhY2goKGwpID0+IGwoKSk7XG59O1xuXG5jb25zdCB3cml0ZUF0b20gPSA8VD4oYXRvbTogQXRvbTxUPiwgdmFsdWU6IGFueSk6IHZvaWQgPT4ge1xuICBjb25zdCBhdG9tU3RhdGUgPSBnZXRBdG9tU3RhdGUoYXRvbSk7XG5cbiAgY29uc3QgZ2V0ID0gKGE6IEF0b208YW55PikgPT4ge1xuICAgIGNvbnN0IGFTdGF0ZSA9IGdldEF0b21TdGF0ZShhKTtcbiAgICByZXR1cm4gYVN0YXRlLnZhbHVlO1xuICB9O1xuXG4gIGNvbnN0IHNldCA9IChhOiBBdG9tPGFueT4sIHY6IGFueSkgPT4ge1xuICAgIGlmIChhID09PSBhdG9tKSB7XG4gICAgICBhdG9tU3RhdGUudmFsdWUgPSB2O1xuICAgICAgbm90aWZ5KGF0b20pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB3cml0ZUF0b20oYSwgdik7XG4gIH07XG5cbiAgYXRvbS53cml0ZT8uKGdldCwgc2V0LCB2YWx1ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlQXRvbSA9IDxUPihhdG9tOiBBdG9tPFQ+KTogW1QgfCB1bmRlZmluZWQsIChuZXh0VmFsdWU6IGFueSkgPT4gdm9pZF0gPT4ge1xuICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IHVzZVN0YXRlPFQgfCB1bmRlZmluZWQ+KCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY2FsbGJhY2sgPSAoKSA9PiBzZXRWYWx1ZShyZWFkQXRvbShhdG9tKSk7XG4gICAgY29uc3QgYXRvbVN0YXRlID0gZ2V0QXRvbVN0YXRlKGF0b20pO1xuICAgIGF0b21TdGF0ZS5saXN0ZW5lcnMuYWRkKGNhbGxiYWNrKTtcbiAgICBjYWxsYmFjaygpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBhdG9tU3RhdGUubGlzdGVuZXJzLmRlbGV0ZShjYWxsYmFjaylcbiAgICB9O1xuICB9LCBbYXRvbV0pO1xuICBjb25zdCBzZXRBdG9tID0gKG5leHRWYWx1ZTogYW55KSA9PiB7XG4gICAgd3JpdGVBdG9tKGF0b20sIG5leHRWYWx1ZSk7XG4gIH07XG4gIHJldHVybiBbdmFsdWUsIHNldEF0b21dO1xufTsiLCJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBhdG9tLCBldmVudEJ1cywgdXNlQXRvbSwgdXNlRHluYW1pY0NzcyB9IGZyb20gXCIuLi9saWJzXCI7XG5cbmNvbnN0IHNvbWVTaGFyZWRTdGF0ZUFzQXRvbSA9IGF0b20oXCJcIik7XG5cbmNvbnN0IExlYWZDb21wb25lbnQgPSAoeyBzY29wZUlkIH06IHsgc2NvcGVJZDogc3RyaW5nIH0pID0+IHtcbiAgY29uc3QgW2RhdGEsIHNldERhdGFdID0gdXNlU3RhdGUoXCJcIik7XG4gIGNvbnN0IFtldmVudFZhbHVlLCBzZXRFdmVudFZhbHVlXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbYXRvbVZhbHVlLCBzZXRBdG9tVmFsdWVdID0gdXNlQXRvbShzb21lU2hhcmVkU3RhdGVBc0F0b20pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc3VicyA9IGV2ZW50QnVzLnN1YnNjcmliZSh7XG4gICAgICB0b3BpYzogXCJ1cGRhdGUuTGVhZkNvbXBvbmVudFwiLFxuICAgICAgY2hhbm5lbDogc2NvcGVJZCxcbiAgICAgIGhhbmRsZXI6ICh2YWwpID0+IHtcbiAgICAgICAgc2V0RXZlbnRWYWx1ZSh2YWwpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZXZlbnRCdXMudW5zdWJzY3JpYmUoc3Vicyk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCB3aGl0ZVwiLFxuICAgICAgICBtYXJnaW46IFwiMTBweFwiLFxuICAgICAgICBwYWRkaW5nOiBcIjEwcHhcIixcbiAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2PkN0eDogJ3thdG9tVmFsdWV9JzwvZGl2PlxuICAgICAgPGRpdj5EYXRhOiAne2RhdGF9JzwvZGl2PlxuICAgICAgPGRpdj5FdmVudDogJ3tldmVudFZhbHVlfSc8L2Rpdj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICBldmVudEJ1cy5wdWJsaXNoKHtcbiAgICAgICAgICAgIHRvcGljOiBcInVwZGF0ZS5MZWFmQ29tcG9uZW50XCIsXG4gICAgICAgICAgICBjaGFubmVsOiBzY29wZUlkLFxuICAgICAgICAgICAgcGF5bG9hZDogYGV2ZW50IGZyb20gJHtzY29wZUlkfWAsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgPlxuICAgICAgICBVcGRhdGUgRXZlbnRcbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXRBdG9tVmFsdWUoXCJIZWxsb1wiKX0+VXBkYXRlIEN0eDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXREYXRhKFwiSGVsbG9cIil9PlVwZGF0ZSBTdGF0ZTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgTGVhZkNvbXBvbmVudFJvdyA9ICh7IHNjb3BlSWQgfTogeyBzY29wZUlkOiBzdHJpbmcgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHsvKiBjb21wb25lbnQgdGhhdCBJIHdhbnQgdG8gcmV1c2UgKi99XG4gICAgICA8TGVhZkNvbXBvbmVudCBzY29wZUlkPXtgJHtzY29wZUlkfTpsZWZ0Q2VsbGB9IC8+XG4gICAgICB7LyogY29tcG9uZW50IHRoYXQgSSBkb24ndCB3YW50IHRvIHJldXNlICovfVxuICAgICAgPExlYWZDb21wb25lbnQgc2NvcGVJZD1cInJpZ2h0Q2VsbFwiIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBMZWFmQ29tcG9uZW50R3JpZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8TGVhZkNvbXBvbmVudFJvdyBzY29wZUlkPVwiZmlyc3RSb3dcIiAvPlxuICAgICAgPExlYWZDb21wb25lbnRSb3cgc2NvcGVJZD1cInNlY29uZFJvd1wiIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBHbG9iYWxQYW5lbCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCB3aGl0ZVwiLFxuICAgICAgICBtYXJnaW46IFwiMTBweFwiLFxuICAgICAgICBwYWRkaW5nOiBcIjEwcHhcIixcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBvbkNsaWNrPXsoKSA9PlxuICAgICAgICAgIGV2ZW50QnVzLnB1Ymxpc2goe1xuICAgICAgICAgICAgdG9waWM6IFwidXBkYXRlLkxlYWZDb21wb25lbnRcIixcbiAgICAgICAgICAgIGNoYW5uZWw6IFwiZmlyc3RSb3c6bGVmdENlbGxcIixcbiAgICAgICAgICAgIHBheWxvYWQ6IGBldmVudCBmcm9tIGZpcnN0Um93OmxlZnRDZWxsYCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIEV2ZW50IHRvIGZpcnN0Um93OmxlZnRDZWxsXG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICBldmVudEJ1cy5wdWJsaXNoKHtcbiAgICAgICAgICAgIHRvcGljOiBcInVwZGF0ZS5MZWFmQ29tcG9uZW50XCIsXG4gICAgICAgICAgICBjaGFubmVsOiBcInJpZ2h0Q2VsbFwiLFxuICAgICAgICAgICAgcGF5bG9hZDogYGV2ZW50IGZyb20gcmlnaHRDZWxsYCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIEV2ZW50IHRvIHJpZ2h0Q2VsbFxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgQ3R4U2FtcGxlUGFnZSA9ICgpID0+IHtcbiAgdXNlRHluYW1pY0NzcyhcIi4vT3BzU2FtcGxlUGFnZS5jc3NcIiwgXCJkeW5hbWljLWNzc1wiKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxHbG9iYWxQYW5lbCAvPlxuICAgICAgPExlYWZDb21wb25lbnRHcmlkIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDdHhTYW1wbGVQYWdlO1xuIl0sIm5hbWVzIjpbImF0b21TdGF0ZU1hcCIsImF0b20iLCJyZWFkIiwid3JpdGUiLCJjb25maWciLCJnZXQiLCJzZXQiLCJhcmciLCJnZXRBdG9tU3RhdGUiLCJhdG9tU3RhdGUiLCJyZWFkQXRvbSIsImEiLCJ2YWx1ZSIsIm5vdGlmeSIsImQiLCJsIiwid3JpdGVBdG9tIiwidiIsInVzZUF0b20iLCJzZXRWYWx1ZSIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiY2FsbGJhY2siLCJuZXh0VmFsdWUiLCJzb21lU2hhcmVkU3RhdGVBc0F0b20iLCJMZWFmQ29tcG9uZW50Iiwic2NvcGVJZCIsImRhdGEiLCJzZXREYXRhIiwiZXZlbnRWYWx1ZSIsInNldEV2ZW50VmFsdWUiLCJhdG9tVmFsdWUiLCJzZXRBdG9tVmFsdWUiLCJzdWJzIiwiZXZlbnRCdXMuc3Vic2NyaWJlIiwidmFsIiwiZXZlbnRCdXMudW5zdWJzY3JpYmUiLCJqc3hzIiwianN4IiwiZXZlbnRCdXMucHVibGlzaCIsIkxlYWZDb21wb25lbnRSb3ciLCJMZWFmQ29tcG9uZW50R3JpZCIsIkdsb2JhbFBhbmVsIiwiQ3R4U2FtcGxlUGFnZSIsInVzZUR5bmFtaWNDc3MiXSwibWFwcGluZ3MiOiIyRUFjQSxNQUFNQSxNQUFtQixRQUVaQyxFQUFPLENBQUlDLEVBQStDQyxJQUEyRyxDQUloTCxNQUFNQyxFQUFrQixDQUN0QixLQUFNRixFQUNOLEtBQU9HLEdBQVFBLEVBQUlELENBQU0sRUFDekIsTUFBaUIsQ0FBQ0MsRUFBS0MsRUFBS0MsSUFBUSxDQUM5QixPQUFPQSxHQUFRLFdBQ2pCRCxFQUFJRixFQUFRRyxFQUFJRixFQUFJRCxDQUFNLENBQUMsQ0FBQyxFQUU1QkUsRUFBSUYsRUFBUUcsQ0FBRyxDQUNqQixDQUNGLEVBRUssT0FBQUgsQ0FDVCxFQUVNSSxFQUFtQlAsR0FBZ0MsQ0FDbkQsSUFBQVEsRUFBWVQsRUFBYSxJQUFJQyxDQUFJLEVBQ3JDLE9BQUtRLElBQ1NBLEVBQUEsQ0FDVixNQUFRUixFQUFhLEtBQ3JCLGNBQWUsSUFDZixlQUFn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 +import{r as d,u as j,j as t,p as u,s as w,d as S}from"./index-D6OZ-D7n.js";const p=new WeakMap,y=(e,s)=>{const n={init:e,read:i=>i(n),write:(i,o,l)=>{typeof l=="function"?o(n,l(i(n))):o(n,l)}};return n},a=e=>{let s=p.get(e);return s||(s={value:e.init,listeners:new Set,dependents:new Set},p.set(e,s)),s},h=e=>{const s=a(e),n=o=>o===e?s.value:(a(o).dependents.add(e),h(o)),i=e.read(n);return s.value=i,i},C=e=>{const s=a(e);s.dependents.forEach(n=>{n!==e&&C(n)}),s.listeners.forEach(n=>n())},v=(e,s)=>{var l;const n=a(e),i=r=>a(r).value,o=(r,c)=>{if(r===e){n.value=c,C(e);return}v(r,c)};(l=e.write)==null||l.call(e,i,o,s)},b=e=>{const[s,n]=d.useState();return d.useEffect(()=>{const o=()=>n(h(e)),l=a(e);return l.listeners.add(o),o(),()=>{l.listeners.delete(o)}},[e]),[s,o=>{v(e,o)}]},g=y(""),f=({scopeId:e})=>{const[s,n]=d.useState(""),[i,o]=d.useState(""),[l,r]=b(g);return d.useEffect(()=>{const c=w({topic:"update.LeafComponent",channel:e,handler:m=>{o(m)}});return()=>{S(c)}},[]),t.jsxs("div",{style:{border:"1px solid white",margin:"10px",padding:"10px",width:"100%"},children:[t.jsxs("div",{children:["Ctx: '",l,"'"]}),t.jsxs("div",{children:["Data: '",s,"'"]}),t.jsxs("div",{children:["Event: '",i,"'"]}),t.jsx("button",{onClick:()=>u({topic:"update.LeafComponent",channel:e,payload:`event from ${e}`}),children:"Update Event"}),t.jsx("button",{onClick:()=>r("Hello"),children:"Update Ctx"}),t.jsx("button",{onClick:()=>n("Hello"),children:"Update State"})]})},x=({scopeId:e})=>t.jsxs("div",{style:{width:"100%",display:"flex",flexDirection:"row"},children:[t.jsx(f,{scopeId:`${e}:leftCell`}),t.jsx(f,{scopeId:"rightCell"})]}),E=()=>t.jsxs("div",{style:{width:"100%",display:"flex",flexDirection:"column"},children:[t.jsx(x,{scopeId:"firstRow"}),t.jsx(x,{scopeId:"secondRow"})]}),A=()=>t.jsxs("div",{style:{display:"flex",flexDirection:"row",border:"1px solid white",margin:"10px",padding:"10px"},children:[t.jsx("button",{onClick:()=>u({topic:"update.LeafComponent",channel:"firstRow:leftCell",payload:"event from firstRow:leftCell"}),children:"Event to firstRow:leftCell"}),t.jsx("button",{onClick:()=>u({topic:"update.LeafComponent",channel:"rightCell",payload:"event from rightCell"}),children:"Event to rightCell"})]}),D=()=>(j("./OpsSamplePage.css","dynamic-css"),t.jsxs("div",{style:{width:"100%",display:"flex",flexDirection:"column"},children:[t.jsx(A,{}),t.jsx(E,{})]}));export{D as CtxSamplePage,D as default}; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3R4U2FtcGxlUGFnZS1Jd05iOEdUSC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYnMvYXRvbS9pbmRleC50cyIsIi4uLy4uL3NyYy9wYWdlcy9DdHhTYW1wbGVQYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG50eXBlIEF0b208VD4gPSB7XG4gIGluaXQ/OiBUO1xuICByZWFkOiAoZ2V0OiAoYTogQXRvbTxhbnk+KSA9PiBhbnkpID0+IFQ7XG4gIHdyaXRlPzogKGdldDogKGE6IEF0b208YW55PikgPT4gYW55LCBzZXQ6IChhOiBBdG9tPGFueT4sIHY6IGFueSkgPT4gdm9pZCwgdmFsdWU6IGFueSkgPT4gdm9pZDtcbn07XG5cbnR5cGUgQXRvbVN0YXRlPFQ+ID0ge1xuICB2YWx1ZTogVDtcbiAgbGlzdGVuZXJzOiBTZXQ8KCkgPT4gdm9pZD47XG4gIGRlcGVuZGVudHM6IFNldDxBdG9tPGFueT4+O1xufTtcblxuY29uc3QgYXRvbVN0YXRlTWFwID0gbmV3IFdlYWtNYXA8QXRvbTxhbnk+LCBBdG9tU3RhdGU8YW55Pj4oKTtcblxuZXhwb3J0IGNvbnN0IGF0b20gPSA8VD4ocmVhZDogKChnZXQ6IChhOiBBdG9tPGFueT4pID0+IGFueSkgPT4gVCkgfCBULCB3cml0ZT86IChnZXQ6IChhOiBBdG9tPGFueT4pID0+IGFueSwgc2V0OiAoYTogQXRvbTxhbnk+LCB2OiBhbnkpID0+IHZvaWQsIHZhbHVlOiBhbnkpID0+IHZvaWQpOiBBdG9tPFQ+ID0+IHtcbiAgaWYgKHR5cGVvZiByZWFkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHsgcmVhZDogcmVhZCBhcyAoZ2V0OiAoYTogQXRvbTxhbnk+KSA9PiBhbnkpID0+IFQsIHdyaXRlIH07XG4gIH1cbiAgY29uc3QgY29uZmlnOiBBdG9tPFQ+ID0ge1xuICAgIGluaXQ6IHJlYWQgYXMgVCxcbiAgICByZWFkOiAoZ2V0KSA9PiBnZXQoY29uZmlnKSxcbiAgICB3cml0ZTogd3JpdGUgfHwgKChnZXQsIHNldCwgYXJnKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGFyZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBzZXQoY29uZmlnLCBhcmcoZ2V0KGNvbmZpZykpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldChjb25maWcsIGFyZyk7XG4gICAgICB9XG4gICAgfSksXG4gIH07XG4gIHJldHVybiBjb25maWc7XG59O1xuXG5jb25zdCBnZXRBdG9tU3RhdGUgPSA8VD4oYXRvbTogQXRvbTxUPik6IEF0b21TdGF0ZTxUPiA9PiB7XG4gIGxldCBhdG9tU3RhdGUgPSBhdG9tU3RhdGVNYXAuZ2V0KGF0b20pO1xuICBpZiAoIWF0b21TdGF0ZSkge1xuICAgIGF0b21TdGF0ZSA9IHtcbiAgICAgIHZhbHVlOiAoYXRvbSBhcyBhbnkpLmluaXQsXG4gICAgICBsaXN0ZW5lcnM6IG5ldyBTZXQoKSxcbiAgICAgIGRlcGVuZGVudHM6IG5ldyBTZXQoKSxcbiAgICB9O1xuICAgIGF0b21TdGF0ZU1hcC5zZXQoYXRvbSwgYXRvbVN0YXRlKTtcbiAgfVxuICByZXR1cm4gYXRvbVN0YXRlO1xufTtcblxuY29uc3QgcmVhZEF0b20gPSA8VD4oYXRvbTogQXRvbTxUPik6IFQgPT4ge1xuICBjb25zdCBhdG9tU3RhdGUgPSBnZXRBdG9tU3RhdGUoYXRvbSk7XG4gIGNvbnN0IGdldCA9IChhOiBBdG9tPGFueT4pID0+IHtcbiAgICBpZiAoYSA9PT0gYXRvbSkge1xuICAgICAgcmV0dXJuIGF0b21TdGF0ZS52YWx1ZTtcbiAgICB9XG4gICAgY29uc3QgYVN0YXRlID0gZ2V0QXRvbVN0YXRlKGEpO1xuICAgIGFTdGF0ZS5kZXBlbmRlbnRzLmFkZChhdG9tKTtcbiAgICByZXR1cm4gcmVhZEF0b20oYSk7XG4gIH07XG4gIGNvbnN0IHZhbHVlID0gYXRvbS5yZWFkKGdldCk7XG4gIGF0b21TdGF0ZS52YWx1ZSA9IHZhbHVlO1xuICByZXR1cm4gdmFsdWU7XG59O1xuXG5jb25zdCBub3RpZnkgPSAoYXRvbTogQXRvbTxhbnk+KTogdm9pZCA9PiB7XG4gIGNvbnN0IGF0b21TdGF0ZSA9IGdldEF0b21TdGF0ZShhdG9tKTtcbiAgYXRvbVN0YXRlLmRlcGVuZGVudHMuZm9yRWFjaCgoZCkgPT4ge1xuICAgIGlmIChkICE9PSBhdG9tKSBub3RpZnkoZCk7XG4gIH0pO1xuICBhdG9tU3RhdGUubGlzdGVuZXJzLmZvckVhY2goKGwpID0+IGwoKSk7XG59O1xuXG5jb25zdCB3cml0ZUF0b20gPSA8VD4oYXRvbTogQXRvbTxUPiwgdmFsdWU6IGFueSk6IHZvaWQgPT4ge1xuICBjb25zdCBhdG9tU3RhdGUgPSBnZXRBdG9tU3RhdGUoYXRvbSk7XG5cbiAgY29uc3QgZ2V0ID0gKGE6IEF0b208YW55PikgPT4ge1xuICAgIGNvbnN0IGFTdGF0ZSA9IGdldEF0b21TdGF0ZShhKTtcbiAgICByZXR1cm4gYVN0YXRlLnZhbHVlO1xuICB9O1xuXG4gIGNvbnN0IHNldCA9IChhOiBBdG9tPGFueT4sIHY6IGFueSkgPT4ge1xuICAgIGlmIChhID09PSBhdG9tKSB7XG4gICAgICBhdG9tU3RhdGUudmFsdWUgPSB2O1xuICAgICAgbm90aWZ5KGF0b20pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB3cml0ZUF0b20oYSwgdik7XG4gIH07XG5cbiAgYXRvbS53cml0ZT8uKGdldCwgc2V0LCB2YWx1ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlQXRvbSA9IDxUPihhdG9tOiBBdG9tPFQ+KTogW1QgfCB1bmRlZmluZWQsIChuZXh0VmFsdWU6IGFueSkgPT4gdm9pZF0gPT4ge1xuICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IHVzZVN0YXRlPFQgfCB1bmRlZmluZWQ+KCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY2FsbGJhY2sgPSAoKSA9PiBzZXRWYWx1ZShyZWFkQXRvbShhdG9tKSk7XG4gICAgY29uc3QgYXRvbVN0YXRlID0gZ2V0QXRvbVN0YXRlKGF0b20pO1xuICAgIGF0b21TdGF0ZS5saXN0ZW5lcnMuYWRkKGNhbGxiYWNrKTtcbiAgICBjYWxsYmFjaygpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBhdG9tU3RhdGUubGlzdGVuZXJzLmRlbGV0ZShjYWxsYmFjaylcbiAgICB9O1xuICB9LCBbYXRvbV0pO1xuICBjb25zdCBzZXRBdG9tID0gKG5leHRWYWx1ZTogYW55KSA9PiB7XG4gICAgd3JpdGVBdG9tKGF0b20sIG5leHRWYWx1ZSk7XG4gIH07XG4gIHJldHVybiBbdmFsdWUsIHNldEF0b21dO1xufTsiLCJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBhdG9tLCBldmVudEJ1cywgdXNlQXRvbSwgdXNlRHluYW1pY0NzcyB9IGZyb20gXCIuLi9saWJzXCI7XG5cbmNvbnN0IHNvbWVTaGFyZWRTdGF0ZUFzQXRvbSA9IGF0b20oXCJcIik7XG5cbmNvbnN0IExlYWZDb21wb25lbnQgPSAoeyBzY29wZUlkIH06IHsgc2NvcGVJZDogc3RyaW5nIH0pID0+IHtcbiAgY29uc3QgW2RhdGEsIHNldERhdGFdID0gdXNlU3RhdGUoXCJcIik7XG4gIGNvbnN0IFtldmVudFZhbHVlLCBzZXRFdmVudFZhbHVlXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbYXRvbVZhbHVlLCBzZXRBdG9tVmFsdWVdID0gdXNlQXRvbShzb21lU2hhcmVkU3RhdGVBc0F0b20pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc3VicyA9IGV2ZW50QnVzLnN1YnNjcmliZSh7XG4gICAgICB0b3BpYzogXCJ1cGRhdGUuTGVhZkNvbXBvbmVudFwiLFxuICAgICAgY2hhbm5lbDogc2NvcGVJZCxcbiAgICAgIGhhbmRsZXI6ICh2YWwpID0+IHtcbiAgICAgICAgc2V0RXZlbnRWYWx1ZSh2YWwpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZXZlbnRCdXMudW5zdWJzY3JpYmUoc3Vicyk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCB3aGl0ZVwiLFxuICAgICAgICBtYXJnaW46IFwiMTBweFwiLFxuICAgICAgICBwYWRkaW5nOiBcIjEwcHhcIixcbiAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2PkN0eDogJ3thdG9tVmFsdWV9JzwvZGl2PlxuICAgICAgPGRpdj5EYXRhOiAne2RhdGF9JzwvZGl2PlxuICAgICAgPGRpdj5FdmVudDogJ3tldmVudFZhbHVlfSc8L2Rpdj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICBldmVudEJ1cy5wdWJsaXNoKHtcbiAgICAgICAgICAgIHRvcGljOiBcInVwZGF0ZS5MZWFmQ29tcG9uZW50XCIsXG4gICAgICAgICAgICBjaGFubmVsOiBzY29wZUlkLFxuICAgICAgICAgICAgcGF5bG9hZDogYGV2ZW50IGZyb20gJHtzY29wZUlkfWAsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgPlxuICAgICAgICBVcGRhdGUgRXZlbnRcbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXRBdG9tVmFsdWUoXCJIZWxsb1wiKX0+VXBkYXRlIEN0eDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXREYXRhKFwiSGVsbG9cIil9PlVwZGF0ZSBTdGF0ZTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgTGVhZkNvbXBvbmVudFJvdyA9ICh7IHNjb3BlSWQgfTogeyBzY29wZUlkOiBzdHJpbmcgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHsvKiBjb21wb25lbnQgdGhhdCBJIHdhbnQgdG8gcmV1c2UgKi99XG4gICAgICA8TGVhZkNvbXBvbmVudCBzY29wZUlkPXtgJHtzY29wZUlkfTpsZWZ0Q2VsbGB9IC8+XG4gICAgICB7LyogY29tcG9uZW50IHRoYXQgSSBkb24ndCB3YW50IHRvIHJldXNlICovfVxuICAgICAgPExlYWZDb21wb25lbnQgc2NvcGVJZD1cInJpZ2h0Q2VsbFwiIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBMZWFmQ29tcG9uZW50R3JpZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8TGVhZkNvbXBvbmVudFJvdyBzY29wZUlkPVwiZmlyc3RSb3dcIiAvPlxuICAgICAgPExlYWZDb21wb25lbnRSb3cgc2NvcGVJZD1cInNlY29uZFJvd1wiIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBHbG9iYWxQYW5lbCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCB3aGl0ZVwiLFxuICAgICAgICBtYXJnaW46IFwiMTBweFwiLFxuICAgICAgICBwYWRkaW5nOiBcIjEwcHhcIixcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBvbkNsaWNrPXsoKSA9PlxuICAgICAgICAgIGV2ZW50QnVzLnB1Ymxpc2goe1xuICAgICAgICAgICAgdG9waWM6IFwidXBkYXRlLkxlYWZDb21wb25lbnRcIixcbiAgICAgICAgICAgIGNoYW5uZWw6IFwiZmlyc3RSb3c6bGVmdENlbGxcIixcbiAgICAgICAgICAgIHBheWxvYWQ6IGBldmVudCBmcm9tIGZpcnN0Um93OmxlZnRDZWxsYCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIEV2ZW50IHRvIGZpcnN0Um93OmxlZnRDZWxsXG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICBldmVudEJ1cy5wdWJsaXNoKHtcbiAgICAgICAgICAgIHRvcGljOiBcInVwZGF0ZS5MZWFmQ29tcG9uZW50XCIsXG4gICAgICAgICAgICBjaGFubmVsOiBcInJpZ2h0Q2VsbFwiLFxuICAgICAgICAgICAgcGF5bG9hZDogYGV2ZW50IGZyb20gcmlnaHRDZWxsYCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIEV2ZW50IHRvIHJpZ2h0Q2VsbFxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgQ3R4U2FtcGxlUGFnZSA9ICgpID0+IHtcbiAgdXNlRHluYW1pY0NzcyhcIi4vT3BzU2FtcGxlUGFnZS5jc3NcIiwgXCJkeW5hbWljLWNzc1wiKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxHbG9iYWxQYW5lbCAvPlxuICAgICAgPExlYWZDb21wb25lbnRHcmlkIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDdHhTYW1wbGVQYWdlO1xuIl0sIm5hbWVzIjpbImF0b21TdGF0ZU1hcCIsImF0b20iLCJyZWFkIiwid3JpdGUiLCJjb25maWciLCJnZXQiLCJzZXQiLCJhcmciLCJnZXRBdG9tU3RhdGUiLCJhdG9tU3RhdGUiLCJyZWFkQXRvbSIsImEiLCJ2YWx1ZSIsIm5vdGlmeSIsImQiLCJsIiwid3JpdGVBdG9tIiwidiIsInVzZUF0b20iLCJzZXRWYWx1ZSIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiY2FsbGJhY2siLCJuZXh0VmFsdWUiLCJzb21lU2hhcmVkU3RhdGVBc0F0b20iLCJMZWFmQ29tcG9uZW50Iiwic2NvcGVJZCIsImRhdGEiLCJzZXREYXRhIiwiZXZlbnRWYWx1ZSIsInNldEV2ZW50VmFsdWUiLCJhdG9tVmFsdWUiLCJzZXRBdG9tVmFsdWUiLCJzdWJzIiwiZXZlbnRCdXMuc3Vic2NyaWJlIiwidmFsIiwiZXZlbnRCdXMudW5zdWJzY3JpYmUiLCJqc3hzIiwianN4IiwiZXZlbnRCdXMucHVibGlzaCIsIkxlYWZDb21wb25lbnRSb3ciLCJMZWFmQ29tcG9uZW50R3JpZCIsIkdsb2JhbFBhbmVsIiwiQ3R4U2FtcGxlUGFnZSIsInVzZUR5bmFtaWNDc3MiXSwibWFwcGluZ3MiOiIyRUFjQSxNQUFNQSxNQUFtQixRQUVaQyxFQUFPLENBQUlDLEVBQStDQyxJQUEyRyxDQUloTCxNQUFNQyxFQUFrQixDQUN0QixLQUFNRixFQUNOLEtBQU9HLEdBQVFBLEVBQUlELENBQU0sRUFDekIsTUFBaUIsQ0FBQ0MsRUFBS0MsRUFBS0MsSUFBUSxDQUM5QixPQUFPQSxHQUFRLFdBQ2pCRCxFQUFJRixFQUFRRyxFQUFJRixFQUFJRCxDQUFNLENBQUMsQ0FBQyxFQUU1QkUsRUFBSUYsRUFBUUcsQ0FBRyxDQUNqQixDQUNGLEVBRUssT0FBQUgsQ0FDVCxFQUVNSSxFQUFtQlAsR0FBZ0MsQ0FDbkQsSUFBQVEsRUFBWVQsRUFBYSxJQUFJQyxDQUFJLEVBQ3JDLE9BQUtRLElBQ1NBLEVBQUEsQ0FDVixNQUFRUixFQUFhLEtBQ3JCLGNBQWUsSUFDZixlQUFn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 diff --git a/docs/assets/GridSamplePage-BRMBfZtP.js b/docs/assets/GridSamplePage--YddzbY7.js similarity index 99% rename from docs/assets/GridSamplePage-BRMBfZtP.js rename to docs/assets/GridSamplePage--YddzbY7.js index 3cd7aae..f302b7a 100644 --- a/docs/assets/GridSamplePage-BRMBfZtP.js +++ b/docs/assets/GridSamplePage--YddzbY7.js @@ -1,4 +1,4 @@ -import{R as be,r as I,j as O}from"./index-BXTQYCCW.js";var T=function(){return T=Object.assign||function(t){for(var n,r=1,a=arguments.length;r0?R(fe,--D):0,le--,$===10&&(le=1,Oe--),$}function M(){return $=D2||Ke($)>3?"":" "}function ln(e,t){for(;--t&&M()&&!($<48||$>102||$>57&&$<65||$>70&&$<97););return ze(e,_e()+(t<6&&te()==32&&M()==32))}function Xe(e){for(;M();)switch($){case e:return D;case 34:case 39:e!==34&&e!==39&&Xe($);break;case 40:e===41&&Xe(e);break;case 92:M();break}return D}function un(e,t){for(;M()&&e+$!==57;)if(e+$===84&&te()===47)break;return"/*"+ze(t,D-1)+"*"+rt(e===47?e:M())}function dn(e){for(;!Ke(te());)M();return ze(e,D)}function pn(e){return on(Fe("",null,null,null,[""],e=an(e),0,[0],e))}function Fe(e,t,n,r,a,s,u,d,o){for(var i=0,l=0,c=u,p=0,h=0,f=0,g=1,v=1,w=1,m=0,x="",S=a,C=s,k=r,y=x;v;)switch(f=m,m=M()){case 40:if(f!=108&&R(y,c-1)==58){Ee(y+=b(We(m),"&","&\f"),"&\f",$t(i?d[i-1]:0))!=-1&&(w=-1);break}case 34:case 39:case 91:y+=We(m);break;case 9:case 10:case 13:case 32:y+=cn(f);break;case 92:y+=ln(_e()-1,7);continue;case 47:switch(te()){case 42:case 47:me(fn(un(M(),_e()),t,n,o),o);break;default:y+="/"}break;case 123*g:d[i++]=W(y)*w;case 125*g:case 59:case 0:switch(m){case 0:case 125:v=0;case 59+l:w==-1&&(y=b(y,/\f/g,"")),h>0&&W(y)-c&&me(h>32?ut(y+";",r,n,c-1,o):ut(b(y," ","")+";",r,n,c-2,o),o);break;case 59:y+=";";default:if(me(k=lt(y,t,n,i,l,a,d,x,S=[],C=[],c,s),s),m===123)if(l===0)Fe(y,t,k,k,S,s,c,d,C);else switch(p===99&&R(y,3)===110?100:p){case 100:case 108:case 109:case 115:Fe(e,k,k,r&&me(lt(e,k,k,0,0,a,d,x,a,S=[],c,C),C),a,C,c,d,r?S:C);break;default:Fe(y,k,k,k,[""],C,0,d,C)}}i=l=h=0,g=w=1,x=y="",c=u;break;case 58:c=1+W(y),h=f;default:if(g<1){if(m==123)--g;else if(m==125&&g++==0&&sn()==125)continue}switch(y+=rt(m),m*g){case 38:w=l>0?1:(y+="\f",-1);break;case 44:d[i++]=(W(y)-1)*w,w=1;break;case 64:te()===45&&(y+=We(M())),p=te(),l=c=W(x=y+=dn(_e())),m++;break;case 45:f===45&&W(y)==2&&(g=0)}}return s}function lt(e,t,n,r,a,s,u,d,o,i,l,c){for(var p=a-1,h=a===0?s:[""],f=Rt(h),g=0,v=0,w=0;g0?h[m]+" "+x:b(x,/&\f/g,h[m])))&&(o[w++]=S);return Le(e,t,n,a===0?Pe:d,o,i,l,c)}function fn(e,t,n,r){return Le(e,t,n,Ft,rt(rn()),ce(e,2,-2),0,r)}function ut(e,t,n,r,a){return Le(e,t,n,nt,ce(e,0,r),ce(e,r+1,-1),r,a)}function jt(e,t,n){switch(tn(e,t)){case 5103:return A+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return A+e+e;case 4789:return ye+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return A+e+ye+e+_+e+e;case 5936:switch(R(e,t+11)){case 114:return A+e+_+b(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return A+e+_+b(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return A+e+_+b(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return A+e+_+e+e;case 6165:return A+e+_+"flex-"+e+e;case 5187:return A+e+b(e,/(\w+).+(:[^]+)/,A+"box-$1$2"+_+"flex-$1$2")+e;case 5443:return A+e+_+"flex-item-"+b(e,/flex-|-self/g,"")+(Z(e,/flex-|baseline/)?"":_+"grid-row-"+b(e,/flex-|-self/g,""))+e;case 4675:return A+e+_+"flex-line-pack"+b(e,/align-content|flex-|-self/g,"")+e;case 5548:return A+e+_+b(e,"shrink","negative")+e;case 5292:return A+e+_+b(e,"basis","preferred-size")+e;case 6060:return A+"box-"+b(e,"-grow","")+A+e+_+b(e,"grow","positive")+e;case 4554:return A+b(e,/([^-])(transform)/g,"$1"+A+"$2")+e;case 6187:return b(b(b(e,/(zoom-|grab)/,A+"$1"),/(image-set)/,A+"$1"),e,"")+e;case 5495:case 3959:return b(e,/(image-set\([^]*)/,A+"$1$`$1");case 4968:return b(b(e,/(.+:)(flex-)?(.*)/,A+"box-pack:$3"+_+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+A+e+e;case 4200:if(!Z(e,/flex-|baseline/))return _+"grid-column-align"+ce(e,t)+e;break;case 2592:case 3360:return _+b(e,"template-","")+e;case 4384:case 3616:return n&&n.some(function(r,a){return t=a,Z(r.props,/grid-\w+-end/)})?~Ee(e+(n=n[t].value),"span",0)?e:_+b(e,"-start","")+e+_+"grid-row-span:"+(~Ee(n,"span",0)?Z(n,/\d+/):+Z(n,/\d+/)-+Z(e,/\d+/))+";":_+b(e,"-start","")+e;case 4896:case 4128:return n&&n.some(function(r){return Z(r.props,/grid-\w+-start/)})?e:_+b(b(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return b(e,/(.+)-inline(.+)/,A+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(W(e)-1-t>6)switch(R(e,t+1)){case 109:if(R(e,t+4)!==45)break;case 102:return b(e,/(.+:)(.+)-([^]+)/,"$1"+A+"$2-$3$1"+ye+(R(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~Ee(e,"stretch",0)?jt(b(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return b(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(r,a,s,u,d,o,i){return _+a+":"+s+i+(u?_+a+"-span:"+(d?o:+o-+s)+i:"")+e});case 4949:if(R(e,t+6)===121)return b(e,":",":"+A)+e;break;case 6444:switch(R(e,R(e,14)===45?18:11)){case 120:return b(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+A+(R(e,14)===45?"inline-":"")+"box$3$1"+A+"$2$3$1"+_+"$2box$3")+e;case 100:return b(e,":",":"+_)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return b(e,"scroll-","scroll-snap-")+e}return e}function Re(e,t){for(var n="",r=0;r-1&&!e.return)switch(e.type){case nt:e.return=jt(e.value,e.length,n);return;case Nt:return Re([X(e,{value:b(e.value,"@","@"+A)})],r);case Pe:if(e.length)return nn(n=e.props,function(a){switch(Z(a,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":ae(X(e,{props:[b(a,/:(read-\w+)/,":"+ye+"$1")]})),ae(X(e,{props:[a]})),Je(e,{props:ct(n,r)});break;case"::placeholder":ae(X(e,{props:[b(a,/:(plac\w+)/,":"+A+"input-$1")]})),ae(X(e,{props:[b(a,/:(plac\w+)/,":"+ye+"$1")]})),ae(X(e,{props:[b(a,/:(plac\w+)/,_+"input-$1")]})),ae(X(e,{props:[a]})),Je(e,{props:ct(n,r)});break}return""})}}var bn={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},P={},ue=typeof process<"u"&&P!==void 0&&(P.REACT_APP_SC_ATTR||P.SC_ATTR)||"data-styled",Pt="active",Ot="data-styled-version",De="6.1.12",st=`/*!sc*/ +import{R as be,r as I,j as O}from"./index-D6OZ-D7n.js";var T=function(){return T=Object.assign||function(t){for(var n,r=1,a=arguments.length;r0?R(fe,--D):0,le--,$===10&&(le=1,Oe--),$}function M(){return $=D2||Ke($)>3?"":" "}function ln(e,t){for(;--t&&M()&&!($<48||$>102||$>57&&$<65||$>70&&$<97););return ze(e,_e()+(t<6&&te()==32&&M()==32))}function Xe(e){for(;M();)switch($){case e:return D;case 34:case 39:e!==34&&e!==39&&Xe($);break;case 40:e===41&&Xe(e);break;case 92:M();break}return D}function un(e,t){for(;M()&&e+$!==57;)if(e+$===84&&te()===47)break;return"/*"+ze(t,D-1)+"*"+rt(e===47?e:M())}function dn(e){for(;!Ke(te());)M();return ze(e,D)}function pn(e){return on(Fe("",null,null,null,[""],e=an(e),0,[0],e))}function Fe(e,t,n,r,a,s,u,d,o){for(var i=0,l=0,c=u,p=0,h=0,f=0,g=1,v=1,w=1,m=0,x="",S=a,C=s,k=r,y=x;v;)switch(f=m,m=M()){case 40:if(f!=108&&R(y,c-1)==58){Ee(y+=b(We(m),"&","&\f"),"&\f",$t(i?d[i-1]:0))!=-1&&(w=-1);break}case 34:case 39:case 91:y+=We(m);break;case 9:case 10:case 13:case 32:y+=cn(f);break;case 92:y+=ln(_e()-1,7);continue;case 47:switch(te()){case 42:case 47:me(fn(un(M(),_e()),t,n,o),o);break;default:y+="/"}break;case 123*g:d[i++]=W(y)*w;case 125*g:case 59:case 0:switch(m){case 0:case 125:v=0;case 59+l:w==-1&&(y=b(y,/\f/g,"")),h>0&&W(y)-c&&me(h>32?ut(y+";",r,n,c-1,o):ut(b(y," ","")+";",r,n,c-2,o),o);break;case 59:y+=";";default:if(me(k=lt(y,t,n,i,l,a,d,x,S=[],C=[],c,s),s),m===123)if(l===0)Fe(y,t,k,k,S,s,c,d,C);else switch(p===99&&R(y,3)===110?100:p){case 100:case 108:case 109:case 115:Fe(e,k,k,r&&me(lt(e,k,k,0,0,a,d,x,a,S=[],c,C),C),a,C,c,d,r?S:C);break;default:Fe(y,k,k,k,[""],C,0,d,C)}}i=l=h=0,g=w=1,x=y="",c=u;break;case 58:c=1+W(y),h=f;default:if(g<1){if(m==123)--g;else if(m==125&&g++==0&&sn()==125)continue}switch(y+=rt(m),m*g){case 38:w=l>0?1:(y+="\f",-1);break;case 44:d[i++]=(W(y)-1)*w,w=1;break;case 64:te()===45&&(y+=We(M())),p=te(),l=c=W(x=y+=dn(_e())),m++;break;case 45:f===45&&W(y)==2&&(g=0)}}return s}function lt(e,t,n,r,a,s,u,d,o,i,l,c){for(var p=a-1,h=a===0?s:[""],f=Rt(h),g=0,v=0,w=0;g0?h[m]+" "+x:b(x,/&\f/g,h[m])))&&(o[w++]=S);return Le(e,t,n,a===0?Pe:d,o,i,l,c)}function fn(e,t,n,r){return Le(e,t,n,Ft,rt(rn()),ce(e,2,-2),0,r)}function ut(e,t,n,r,a){return Le(e,t,n,nt,ce(e,0,r),ce(e,r+1,-1),r,a)}function jt(e,t,n){switch(tn(e,t)){case 5103:return A+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return A+e+e;case 4789:return ye+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return A+e+ye+e+_+e+e;case 5936:switch(R(e,t+11)){case 114:return A+e+_+b(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return A+e+_+b(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return A+e+_+b(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return A+e+_+e+e;case 6165:return A+e+_+"flex-"+e+e;case 5187:return A+e+b(e,/(\w+).+(:[^]+)/,A+"box-$1$2"+_+"flex-$1$2")+e;case 5443:return A+e+_+"flex-item-"+b(e,/flex-|-self/g,"")+(Z(e,/flex-|baseline/)?"":_+"grid-row-"+b(e,/flex-|-self/g,""))+e;case 4675:return A+e+_+"flex-line-pack"+b(e,/align-content|flex-|-self/g,"")+e;case 5548:return A+e+_+b(e,"shrink","negative")+e;case 5292:return A+e+_+b(e,"basis","preferred-size")+e;case 6060:return A+"box-"+b(e,"-grow","")+A+e+_+b(e,"grow","positive")+e;case 4554:return A+b(e,/([^-])(transform)/g,"$1"+A+"$2")+e;case 6187:return b(b(b(e,/(zoom-|grab)/,A+"$1"),/(image-set)/,A+"$1"),e,"")+e;case 5495:case 3959:return b(e,/(image-set\([^]*)/,A+"$1$`$1");case 4968:return b(b(e,/(.+:)(flex-)?(.*)/,A+"box-pack:$3"+_+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+A+e+e;case 4200:if(!Z(e,/flex-|baseline/))return _+"grid-column-align"+ce(e,t)+e;break;case 2592:case 3360:return _+b(e,"template-","")+e;case 4384:case 3616:return n&&n.some(function(r,a){return t=a,Z(r.props,/grid-\w+-end/)})?~Ee(e+(n=n[t].value),"span",0)?e:_+b(e,"-start","")+e+_+"grid-row-span:"+(~Ee(n,"span",0)?Z(n,/\d+/):+Z(n,/\d+/)-+Z(e,/\d+/))+";":_+b(e,"-start","")+e;case 4896:case 4128:return n&&n.some(function(r){return Z(r.props,/grid-\w+-start/)})?e:_+b(b(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return b(e,/(.+)-inline(.+)/,A+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(W(e)-1-t>6)switch(R(e,t+1)){case 109:if(R(e,t+4)!==45)break;case 102:return b(e,/(.+:)(.+)-([^]+)/,"$1"+A+"$2-$3$1"+ye+(R(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~Ee(e,"stretch",0)?jt(b(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return b(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(r,a,s,u,d,o,i){return _+a+":"+s+i+(u?_+a+"-span:"+(d?o:+o-+s)+i:"")+e});case 4949:if(R(e,t+6)===121)return b(e,":",":"+A)+e;break;case 6444:switch(R(e,R(e,14)===45?18:11)){case 120:return b(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+A+(R(e,14)===45?"inline-":"")+"box$3$1"+A+"$2$3$1"+_+"$2box$3")+e;case 100:return b(e,":",":"+_)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return b(e,"scroll-","scroll-snap-")+e}return e}function Re(e,t){for(var n="",r=0;r-1&&!e.return)switch(e.type){case nt:e.return=jt(e.value,e.length,n);return;case Nt:return Re([X(e,{value:b(e.value,"@","@"+A)})],r);case Pe:if(e.length)return nn(n=e.props,function(a){switch(Z(a,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":ae(X(e,{props:[b(a,/:(read-\w+)/,":"+ye+"$1")]})),ae(X(e,{props:[a]})),Je(e,{props:ct(n,r)});break;case"::placeholder":ae(X(e,{props:[b(a,/:(plac\w+)/,":"+A+"input-$1")]})),ae(X(e,{props:[b(a,/:(plac\w+)/,":"+ye+"$1")]})),ae(X(e,{props:[b(a,/:(plac\w+)/,_+"input-$1")]})),ae(X(e,{props:[a]})),Je(e,{props:ct(n,r)});break}return""})}}var bn={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},P={},ue=typeof process<"u"&&P!==void 0&&(P.REACT_APP_SC_ATTR||P.SC_ATTR)||"data-styled",Pt="active",Ot="data-styled-version",De="6.1.12",st=`/*!sc*/ `,Te=typeof window<"u"&&"HTMLElement"in window,vn=!!(typeof SC_DISABLE_SPEEDY=="boolean"?SC_DISABLE_SPEEDY:typeof process<"u"&&P!==void 0&&P.REACT_APP_SC_DISABLE_SPEEDY!==void 0&&P.REACT_APP_SC_DISABLE_SPEEDY!==""?P.REACT_APP_SC_DISABLE_SPEEDY!=="false"&&P.REACT_APP_SC_DISABLE_SPEEDY:typeof process<"u"&&P!==void 0&&P.SC_DISABLE_SPEEDY!==void 0&&P.SC_DISABLE_SPEEDY!==""&&P.SC_DISABLE_SPEEDY!=="false"&&P.SC_DISABLE_SPEEDY),Me=Object.freeze([]),de=Object.freeze({});function wn(e,t,n){return n===void 0&&(n=de),e.theme!==n.theme&&e.theme||t||n.theme}var Lt=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),kn=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,xn=/(^-|-$)/g;function dt(e){return e.replace(kn,"-").replace(xn,"")}var Sn=/(a)(d)/gi,Ce=52,pt=function(e){return String.fromCharCode(e+(e>25?39:97))};function Qe(e){var t,n="";for(t=Math.abs(e);t>Ce;t=t/Ce|0)n=pt(t%Ce)+n;return(pt(t%Ce)+n).replace(Sn,"$1-$2")}var Ue,zt=5381,ie=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},Dt=function(e){return ie(zt,e)};function Cn(e){return Qe(Dt(e)>>>0)}function An(e){return e.displayName||e.name||"Component"}function Ye(e){return typeof e=="string"&&!0}var Mt=typeof Symbol=="function"&&Symbol.for,Bt=Mt?Symbol.for("react.memo"):60115,En=Mt?Symbol.for("react.forward_ref"):60112,_n={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Fn={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Ht={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Nn=((Ue={})[En]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Ue[Bt]=Ht,Ue);function ft(e){return("type"in(t=e)&&t.type.$$typeof)===Bt?Ht:"$$typeof"in e?Nn[e.$$typeof]:_n;var t}var $n=Object.defineProperty,In=Object.getOwnPropertyNames,ht=Object.getOwnPropertySymbols,Rn=Object.getOwnPropertyDescriptor,Tn=Object.getPrototypeOf,gt=Object.prototype;function Gt(e,t,n){if(typeof t!="string"){if(gt){var r=Tn(t);r&&r!==gt&&Gt(e,r,n)}var a=In(t);ht&&(a=a.concat(ht(t)));for(var s=ft(e),u=ft(t),d=0;d0?" Args: ".concat(t.join(", ")):""))}var jn=function(){function e(t){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=t}return e.prototype.indexOfGroup=function(t){for(var n=0,r=0;r=this.groupSizes.length){for(var r=this.groupSizes,a=r.length,s=a;t>=s;)if((s<<=1)<0)throw we(16,"".concat(t));this.groupSizes=new Uint32Array(s),this.groupSizes.set(r),this.length=s;for(var u=a;u=this.length||this.groupSizes[t]===0)return n;for(var r=this.groupSizes[t],a=this.indexOfGroup(t),s=a+r,u=a;u=0){var r=document.createTextNode(n);return this.element.insertBefore(r,this.nodes[t]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(t){this.element.removeChild(this.nodes[t]),this.length--},e.prototype.getRule=function(t){return t0&&(v+="".concat(w,","))}),o+="".concat(f).concat(g,'{content:"').concat(v,'"}').concat(st)},l=0;l0?".".concat(t):p},l=o.slice();l.push(function(p){p.type===Pe&&p.value.includes("&")&&(p.props[0]=p.props[0].replace(Un,n).replace(r,i))}),u.prefix&&l.push(yn),l.push(hn);var c=function(p,h,f,g){h===void 0&&(h=""),f===void 0&&(f=""),g===void 0&&(g="&"),t=g,n=h,r=new RegExp("\\".concat(n,"\\b"),"g");var v=p.replace(Yn,""),w=pn(f||h?"".concat(f," ").concat(h," { ").concat(v," }"):v);u.namespace&&(w=Yt(w,u.namespace));var m=[];return Re(w,gn(l.concat(mn(function(x){return m.push(x)})))),m};return c.hash=o.length?o.reduce(function(p,h){return h.name||we(15),ie(p,h.name)},zt).toString():"",c}var Zn=new Ut,et=qn(),qt=be.createContext({shouldForwardProp:void 0,styleSheet:Zn,stylis:et});qt.Consumer;be.createContext(void 0);function vt(){return I.useContext(qt)}var Jn=function(){function e(t,n){var r=this;this.inject=function(a,s){s===void 0&&(s=et);var u=r.name+s.hash;a.hasNameForId(r.id,u)||a.insertRules(r.id,u,s(r.rules,u,"@keyframes"))},this.name=t,this.id="sc-keyframes-".concat(t),this.rules=n,ot(this,function(){throw we(12,String(r.name))})}return e.prototype.getName=function(t){return t===void 0&&(t=et),this.name+t.hash},e}(),Kn=function(e){return e>="A"&&e<="Z"};function wt(e){for(var t="",n=0;n>>0);if(!n.hasNameForId(this.componentId,u)){var d=r(s,".".concat(u),void 0,this.componentId);n.insertRules(this.componentId,u,d)}a=ee(a,u),this.staticRulesId=u}else{for(var o=ie(this.baseHash,r.hash),i="",l=0;l>>0);n.hasNameForId(this.componentId,h)||n.insertRules(this.componentId,h,r(i,".".concat(h),void 0,this.componentId)),a=ee(a,h)}}return a},e}(),Kt=be.createContext(void 0);Kt.Consumer;var qe={};function er(e,t,n){var r=at(e),a=e,s=!Ye(e),u=t.attrs,d=u===void 0?Me:u,o=t.componentId,i=o===void 0?function(S,C){var k=typeof S!="string"?"sc":dt(S);qe[k]=(qe[k]||0)+1;var y="".concat(k,"-").concat(Cn(De+k+qe[k]));return C?"".concat(C,"-").concat(y):y}(t.displayName,t.parentComponentId):o,l=t.displayName,c=l===void 0?function(S){return Ye(S)?"styled.".concat(S):"Styled(".concat(An(S),")")}(e):l,p=t.displayName&&t.componentId?"".concat(dt(t.displayName),"-").concat(t.componentId):t.componentId||i,h=r&&a.attrs?a.attrs.concat(d).filter(Boolean):d,f=t.shouldForwardProp;if(r&&a.shouldForwardProp){var g=a.shouldForwardProp;if(t.shouldForwardProp){var v=t.shouldForwardProp;f=function(S,C){return g(S,C)&&v(S,C)}}else f=g}var w=new Vn(n,p,r?a.componentStyle:void 0);function m(S,C){return function(k,y,B){var N=k.attrs,L=k.componentStyle,U=k.defaultProps,Y=k.foldedComponentIds,J=k.styledComponentId,z=k.target,q=be.useContext(Kt),re=vt(),F=k.shouldForwardProp||re.shouldForwardProp,se=wn(y,q,U)||de,j=function(ke,he,xe){for(var ge,V=T(T({},he),{className:void 0,theme:xe}),Ge=0;Gee(...r),t)}}const rr=Be.div` display: grid; height: 100%; @@ -191,4 +191,4 @@ import{R as be,r as I,j as O}from"./index-BXTQYCCW.js";var T=function(){return T } } `.trim(),br=()=>{const[e,t]=I.useState(mr),[n,r]=I.useState({}),[a,s]=I.useState("");return I.useEffect(()=>{try{console.log("code",e),console.log("JSON.parse(code)",JSON.parse(e)),r(JSON.parse(e)),s("")}catch(u){s(u.message)}},[e]),O.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",width:"100%"},children:[O.jsxs("div",{id:"primary",style:{flexGrow:1},children:[O.jsx("div",{style:{height:600,width:1020,overflowY:"scroll",overflowX:"hidden",resize:"both",border:"1px solid black"},children:n&&O.jsx(or,{...n})}),O.jsx("div",{style:{color:"red"},children:a})]}),O.jsxs("div",{id:"secondary",style:{borderTop:"1px solid black",height:"20%"},children:[" ",O.jsx(gr,{code:e,type:"js",onChange:t})]})]})};export{br as GridSamplePage,br as default}; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JpZFNhbXBsZVBhZ2UtQlJNQmZadFAuanMiLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxpcy9zcmMvRW51bS5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1V0aWxpdHkuanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9Ub2tlbml6ZXIuanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9QYXJzZXIuanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9QcmVmaXhlci5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1NlcmlhbGl6ZXIuanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9NaWRkbGV3YXJlLmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL3VuaXRsZXNzL2Rpc3QvZW1vdGlvbi11bml0bGVzcy5lc20uanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGVkLWNvbXBvbmVudHMvZGlzdC9zdHlsZWQtY29tcG9uZW50cy5icm93c2VyLmVzbS5qcyIsIi4uLy4uL3NyYy9jb21wb25lbnRzL0dyaWQudHN4IiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvZGVmbGFzay9idWlsZC9jb2RlZmxhc2subW9kdWxlLmpzIiwiLi4vLi4vc3JjL2NvbXBvbmVudHMvQ29kZUZsYXNrRWRpdG9yLnRzeCIsIi4uLy4uL3NyYy9wYWdlcy9HcmlkU2FtcGxlUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXG5cblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxuXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXG5SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxuTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1Jcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sICovXG5cbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xuICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XG4gICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XG4gICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYiwgcCkpIGRbcF0gPSBiW3BdOyB9O1xuICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xuICBpZiAodHlwZW9mIGIgIT09IFwiZnVuY3Rpb25cIiAmJiBiICE9PSBudWxsKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNsYXNzIGV4dGVuZHMgdmFsdWUgXCIgKyBTdHJpbmcoYikgKyBcIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsXCIpO1xuICBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cbiAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xufVxuXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XG4gIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XG4gICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xuICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XG4gICAgICB9XG4gICAgICByZXR1cm4gdDtcbiAgfVxuICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XG4gIHZhciB0ID0ge307XG4gIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgdFtwXSA9IHNbcF07XG4gIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgfVxuICByZXR1cm4gdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XG4gIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gX19lc0RlY29yYXRlKGN0b3IsIGRlc2NyaXB0b3JJbiwgZGVjb3JhdG9ycywgY29udGV4dEluLCBpbml0aWFsaXplcnMsIGV4dHJhSW5pdGlhbGl6ZXJzKSB7XG4gIGZ1bmN0aW9uIGFjY2VwdChmKSB7IGlmIChmICE9PSB2b2lkIDAgJiYgdHlwZW9mIGYgIT09IFwiZnVuY3Rpb25cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkZ1bmN0aW9uIGV4cGVjdGVkXCIpOyByZXR1cm4gZjsgfVxuICB2YXIga2luZCA9IGNvbnRleHRJbi5raW5kLCBrZXkgPSBraW5kID09PSBcImdldHRlclwiID8gXCJnZXRcIiA6IGtpbmQgPT09IFwic2V0dGVyXCIgPyBcInNldFwiIDogXCJ2YWx1ZVwiO1xuICB2YXIgdGFyZ2V0ID0gIWRlc2NyaXB0b3JJbiAmJiBjdG9yID8gY29udGV4dEluW1wic3RhdGljXCJdID8gY3RvciA6IGN0b3IucHJvdG90eXBlIDogbnVsbDtcbiAgdmFyIGRlc2NyaXB0b3IgPSBkZXNjcmlwdG9ySW4gfHwgKHRhcmdldCA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSkgOiB7fSk7XG4gIHZhciBfLCBkb25lID0gZmFsc2U7XG4gIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICB2YXIgY29udGV4dCA9IHt9O1xuICAgICAgZm9yICh2YXIgcCBpbiBjb250ZXh0SW4pIGNvbnRleHRbcF0gPSBwID09PSBcImFjY2Vzc1wiID8ge30gOiBjb250ZXh0SW5bcF07XG4gICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbi5hY2Nlc3MpIGNvbnRleHQuYWNjZXNzW3BdID0gY29udGV4dEluLmFjY2Vzc1twXTtcbiAgICAgIGNvbnRleHQuYWRkSW5pdGlhbGl6ZXIgPSBmdW5jdGlvbiAoZikgeyBpZiAoZG9uZSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZFwiKTsgZXh0cmFJbml0aWFsaXplcnMucHVzaChhY2NlcHQoZiB8fCBudWxsKSk7IH07XG4gICAgICB2YXIgcmVzdWx0ID0gKDAsIGRlY29yYXRvcnNbaV0pKGtpbmQgPT09IFwiYWNjZXNzb3JcIiA/IHsgZ2V0OiBkZXNjcmlwdG9yLmdldCwgc2V0OiBkZXNjcmlwdG9yLnNldCB9IDogZGVzY3JpcHRvcltrZXldLCBjb250ZXh0KTtcbiAgICAgIGlmIChraW5kID09PSBcImFjY2Vzc29yXCIpIHtcbiAgICAgICAgICBpZiAocmVzdWx0ID09PSB2b2lkIDApIGNvbnRpbnVlO1xuICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwgfHwgdHlwZW9mIHJlc3VsdCAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk9iamVjdCBleHBlY3RlZFwiKTtcbiAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuZ2V0KSkgZGVzY3JpcHRvci5nZXQgPSBfO1xuICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5zZXQpKSBkZXNjcmlwdG9yLnNldCA9IF87XG4gICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmluaXQpKSBpbml0aWFsaXplcnMudW5zaGlmdChfKTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKF8gPSBhY2NlcHQocmVzdWx0KSkge1xuICAgICAgICAgIGlmIChraW5kID09PSBcImZpZWxkXCIpIGluaXRpYWxpemVycy51bnNoaWZ0KF8pO1xuICAgICAgICAgIGVsc2UgZGVzY3JpcHRvcltrZXldID0gXztcbiAgICAgIH1cbiAgfVxuICBpZiAodGFyZ2V0KSBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSwgZGVzY3JpcHRvcik7XG4gIGRvbmUgPSB0cnVlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXNBcmcsIGluaXRpYWxpemVycywgdmFsdWUpIHtcbiAgdmFyIHVzZVZhbHVlID0gYXJndW1lbnRzLmxlbmd0aCA+IDI7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgaW5pdGlhbGl6ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YWx1ZSA9IHVzZVZhbHVlID8gaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZywgdmFsdWUpIDogaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZyk7XG4gIH1cbiAgcmV0dXJuIHVzZVZhbHVlID8gdmFsdWUgOiB2b2lkIDA7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gX19wcm9wS2V5KHgpIHtcbiAgcmV0dXJuIHR5cGVvZiB4ID09PSBcInN5bWJvbFwiID8geCA6IFwiXCIuY29uY2F0KHgpO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9fc2V0RnVuY3Rpb25OYW1lKGYsIG5hbWUsIHByZWZpeCkge1xuICBpZiAodHlwZW9mIG5hbWUgPT09IFwic3ltYm9sXCIpIG5hbWUgPSBuYW1lLmRlc2NyaXB0aW9uID8gXCJbXCIuY29uY2F0KG5hbWUuZGVzY3JpcHRpb24sIFwiXVwiKSA6IFwiXCI7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwgXCJuYW1lXCIsIHsgY29uZmlndXJhYmxlOiB0cnVlLCB2YWx1ZTogcHJlZml4ID8gXCJcIi5jb25jYXQocHJlZml4LCBcIiBcIiwgbmFtZSkgOiBuYW1lIH0pO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcbiAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcbiAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcbiAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XG4gIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxuICBmdW5jdGlvbiBzdGVwKG9wKSB7XG4gICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XG4gICAgICB3aGlsZSAoZyAmJiAoZyA9IDAsIG9wWzBdICYmIChfID0gMCkpLCBfKSB0cnkge1xuICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcbiAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XG4gICAgICAgICAgc3dpdGNoIChvcFswXSkge1xuICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcbiAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xuICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cbiAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XG4gICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cbiAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cbiAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xuICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxuICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XG4gIH1cbn1cblxuZXhwb3J0IHZhciBfX2NyZWF0ZUJpbmRpbmcgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XG4gIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihtLCBrKTtcbiAgaWYgKCFkZXNjIHx8IChcImdldFwiIGluIGRlc2MgPyAhbS5fX2VzTW9kdWxlIDogZGVzYy53cml0YWJsZSB8fCBkZXNjLmNvbmZpZ3VyYWJsZSkpIHtcbiAgICAgIGRlc2MgPSB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBtW2tdOyB9IH07XG4gIH1cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIGsyLCBkZXNjKTtcbn0pIDogKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XG4gIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gIG9bazJdID0gbVtrXTtcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gX19leHBvcnRTdGFyKG0sIG8pIHtcbiAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLCBwKSkgX19jcmVhdGVCaW5kaW5nKG8sIG0sIHApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xuICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xuICBpZiAobSkgcmV0dXJuIG0uY2FsbChvKTtcbiAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xuICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XG4gICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xuICAgICAgfVxuICB9O1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xuICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XG4gIGlmICghbSkgcmV0dXJuIG87XG4gIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xuICB0cnkge1xuICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XG4gIH1cbiAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XG4gIGZpbmFsbHkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcbiAgICAgIH1cbiAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxuICB9XG4gIHJldHVybiBhcjtcbn1cblxuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XG4gIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxuICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xuICByZXR1cm4gYXI7XG59XG5cbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xuICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcbiAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxuICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXG4gICAgICAgICAgcltrXSA9IGFbal07XG4gIHJldHVybiByO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheSh0bywgZnJvbSwgcGFjaykge1xuICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKGFyIHx8ICEoaSBpbiBmcm9tKSkge1xuICAgICAgICAgIGlmICghYXIpIGFyID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSwgMCwgaSk7XG4gICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xuICAgICAgfVxuICB9XG4gIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XG4gIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcbiAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcbiAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcbiAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xuICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cbiAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxuICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cbiAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxuICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XG4gIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xuICB2YXIgaSwgcDtcbiAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcbiAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogZmFsc2UgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNWYWx1ZXMobykge1xuICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xuICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xuICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpLCBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaSk7XG4gIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cbiAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcbiAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cbiAgcmV0dXJuIGNvb2tlZDtcbn07XG5cbnZhciBfX3NldE1vZHVsZURlZmF1bHQgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIHYpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIFwiZGVmYXVsdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2IH0pO1xufSkgOiBmdW5jdGlvbihvLCB2KSB7XG4gIG9bXCJkZWZhdWx0XCJdID0gdjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XG4gIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XG4gIHZhciByZXN1bHQgPSB7fTtcbiAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKGsgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSBfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LCBtb2QsIGspO1xuICBfX3NldE1vZHVsZURlZmF1bHQocmVzdWx0LCBtb2QpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xuICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHtcbiAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgZ2V0dGVyXCIpO1xuICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCByZWFkIHByaXZhdGUgbWVtYmVyIGZyb20gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcbiAgcmV0dXJuIGtpbmQgPT09IFwibVwiID8gZiA6IGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRTZXQocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikge1xuICBpZiAoa2luZCA9PT0gXCJtXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGVcIik7XG4gIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIHNldHRlclwiKTtcbiAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcbiAgcmV0dXJuIChraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4oc3RhdGUsIHJlY2VpdmVyKSB7XG4gIGlmIChyZWNlaXZlciA9PT0gbnVsbCB8fCAodHlwZW9mIHJlY2VpdmVyICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiByZWNlaXZlciAhPT0gXCJmdW5jdGlvblwiKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0XCIpO1xuICByZXR1cm4gdHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciA9PT0gc3RhdGUgOiBzdGF0ZS5oYXMocmVjZWl2ZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hZGREaXNwb3NhYmxlUmVzb3VyY2UoZW52LCB2YWx1ZSwgYXN5bmMpIHtcbiAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB2b2lkIDApIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiB2YWx1ZSAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiT2JqZWN0IGV4cGVjdGVkLlwiKTtcbiAgICB2YXIgZGlzcG9zZTtcbiAgICBpZiAoYXN5bmMpIHtcbiAgICAgICAgaWYgKCFTeW1ib2wuYXN5bmNEaXNwb3NlKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jRGlzcG9zZSBpcyBub3QgZGVmaW5lZC5cIik7XG4gICAgICAgIGRpc3Bvc2UgPSB2YWx1ZVtTeW1ib2wuYXN5bmNEaXNwb3NlXTtcbiAgICB9XG4gICAgaWYgKGRpc3Bvc2UgPT09IHZvaWQgMCkge1xuICAgICAgICBpZiAoIVN5bWJvbC5kaXNwb3NlKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmRpc3Bvc2UgaXMgbm90IGRlZmluZWQuXCIpO1xuICAgICAgICBkaXNwb3NlID0gdmFsdWVbU3ltYm9sLmRpc3Bvc2VdO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGRpc3Bvc2UgIT09IFwiZnVuY3Rpb25cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk9iamVjdCBub3QgZGlzcG9zYWJsZS5cIik7XG4gICAgZW52LnN0YWNrLnB1c2goeyB2YWx1ZTogdmFsdWUsIGRpc3Bvc2U6IGRpc3Bvc2UsIGFzeW5jOiBhc3luYyB9KTtcbiAgfVxuICBlbHNlIGlmIChhc3luYykge1xuICAgIGVudi5zdGFjay5wdXNoKHsgYXN5bmM6IHRydWUgfSk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG52YXIgX1N1cHByZXNzZWRFcnJvciA9IHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09IFwiZnVuY3Rpb25cIiA/IFN1cHByZXNzZWRFcnJvciA6IGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCwgbWVzc2FnZSkge1xuICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2Rpc3Bvc2VSZXNvdXJjZXMoZW52KSB7XG4gIGZ1bmN0aW9uIGZhaWwoZSkge1xuICAgIGVudi5lcnJvciA9IGVudi5oYXNFcnJvciA/IG5ldyBfU3VwcHJlc3NlZEVycm9yKGUsIGVudi5lcnJvciwgXCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuXCIpIDogZTtcbiAgICBlbnYuaGFzRXJyb3IgPSB0cnVlO1xuICB9XG4gIGZ1bmN0aW9uIG5leHQoKSB7XG4gICAgd2hpbGUgKGVudi5zdGFjay5sZW5ndGgpIHtcbiAgICAgIHZhciByZWMgPSBlbnYuc3RhY2sucG9wKCk7XG4gICAgICB0cnkge1xuICAgICAgICB2YXIgcmVzdWx0ID0gcmVjLmRpc3Bvc2UgJiYgcmVjLmRpc3Bvc2UuY2FsbChyZWMudmFsdWUpO1xuICAgICAgICBpZiAocmVjLmFzeW5jKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCkudGhlbihuZXh0LCBmdW5jdGlvbihlKSB7IGZhaWwoZSk7IHJldHVybiBuZXh0KCk7IH0pO1xuICAgICAgfVxuICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICBmYWlsKGUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZW52Lmhhc0Vycm9yKSB0aHJvdyBlbnYuZXJyb3I7XG4gIH1cbiAgcmV0dXJuIG5leHQoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBfX2V4dGVuZHMsXG4gIF9fYXNzaWduLFxuICBfX3Jlc3QsXG4gIF9fZGVjb3JhdGUsXG4gIF9fcGFyYW0sXG4gIF9fbWV0YWRhdGEsXG4gIF9fYXdhaXRlcixcbiAgX19nZW5lcmF0b3IsXG4gIF9fY3JlYXRlQmluZGluZyxcbiAgX19leHBvcnRTdGFyLFxuICBfX3ZhbHVlcyxcbiAgX19yZWFkLFxuICBfX3NwcmVhZCxcbiAgX19zcHJlYWRBcnJheXMsXG4gIF9fc3ByZWFkQXJyYXksXG4gIF9fYXdhaXQsXG4gIF9fYXN5bmNHZW5lcmF0b3IsXG4gIF9fYXN5bmNEZWxlZ2F0b3IsXG4gIF9fYXN5bmNWYWx1ZXMsXG4gIF9fbWFrZVRlbXBsYXRlT2JqZWN0LFxuICBfX2ltcG9ydFN0YXIsXG4gIF9faW1wb3J0RGVmYXVsdCxcbiAgX19jbGFzc1ByaXZhdGVGaWVsZEdldCxcbiAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCxcbiAgX19jbGFzc1ByaXZhdGVGaWVsZEluLFxuICBfX2FkZERpc3Bvc2FibGVSZXNvdXJjZSxcbiAgX19kaXNwb3NlUmVzb3VyY2VzLFxufTtcbiIsImV4cG9ydCB2YXIgTVMgPSAnLW1zLSdcbmV4cG9ydCB2YXIgTU9aID0gJy1tb3otJ1xuZXhwb3J0IHZhciBXRUJLSVQgPSAnLXdlYmtpdC0nXG5cbmV4cG9ydCB2YXIgQ09NTUVOVCA9ICdjb21tJ1xuZXhwb3J0IHZhciBSVUxFU0VUID0gJ3J1bGUnXG5leHBvcnQgdmFyIERFQ0xBUkFUSU9OID0gJ2RlY2wnXG5cbmV4cG9ydCB2YXIgUEFHRSA9ICdAcGFnZSdcbmV4cG9ydCB2YXIgTUVESUEgPSAnQG1lZGlhJ1xuZXhwb3J0IHZhciBJTVBPUlQgPSAnQGltcG9ydCdcbmV4cG9ydCB2YXIgQ0hBUlNFVCA9ICdAY2hhcnNldCdcbmV4cG9ydCB2YXIgVklFV1BPUlQgPSAnQHZpZXdwb3J0J1xuZXhwb3J0IHZhciBTVVBQT1JUUyA9ICdAc3VwcG9ydHMnXG5leHBvcnQgdmFyIERPQ1VNRU5UID0gJ0Bkb2N1bWVudCdcbmV4cG9ydCB2YXIgTkFNRVNQQUNFID0gJ0BuYW1lc3BhY2UnXG5leHBvcnQgdmFyIEtFWUZSQU1FUyA9ICdAa2V5ZnJhbWVzJ1xuZXhwb3J0IHZhciBGT05UX0ZBQ0UgPSAnQGZvbnQtZmFjZSdcbmV4cG9ydCB2YXIgQ09VTlRFUl9TVFlMRSA9ICdAY291bnRlci1zdHlsZSdcbmV4cG9ydCB2YXIgRk9OVF9GRUFUVVJFX1ZBTFVFUyA9ICdAZm9udC1mZWF0dXJlLXZhbHVlcydcbmV4cG9ydCB2YXIgTEFZRVIgPSAnQGxheWVyJ1xuZXhwb3J0IHZhciBTQ09QRSA9ICdAc2NvcGUnXG4iLCIvKipcbiAqIEBwYXJhbSB7bnVtYmVyfVxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgdmFyIGFicyA9IE1hdGguYWJzXG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9XG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCB2YXIgZnJvbSA9IFN0cmluZy5mcm9tQ2hhckNvZGVcblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH1cbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZXhwb3J0IHZhciBhc3NpZ24gPSBPYmplY3QuYXNzaWduXG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNoICh2YWx1ZSwgbGVuZ3RoKSB7XG5cdHJldHVybiBjaGFyYXQodmFsdWUsIDApIF4gNDUgPyAoKCgoKCgobGVuZ3RoIDw8IDIpIF4gY2hhcmF0KHZhbHVlLCAwKSkgPDwgMikgXiBjaGFyYXQodmFsdWUsIDEpKSA8PCAyKSBeIGNoYXJhdCh2YWx1ZSwgMikpIDw8IDIpIF4gY2hhcmF0KHZhbHVlLCAzKSA6IDBcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyaW0gKHZhbHVlKSB7XG5cdHJldHVybiB2YWx1ZS50cmltKClcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7UmVnRXhwfSBwYXR0ZXJuXG4gKiBAcmV0dXJuIHtzdHJpbmc/fVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2ggKHZhbHVlLCBwYXR0ZXJuKSB7XG5cdHJldHVybiAodmFsdWUgPSBwYXR0ZXJuLmV4ZWModmFsdWUpKSA/IHZhbHVlWzBdIDogdmFsdWVcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7KHN0cmluZ3xSZWdFeHApfSBwYXR0ZXJuXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVwbGFjZW1lbnRcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2UgKHZhbHVlLCBwYXR0ZXJuLCByZXBsYWNlbWVudCkge1xuXHRyZXR1cm4gdmFsdWUucmVwbGFjZShwYXR0ZXJuLCByZXBsYWNlbWVudClcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7c3RyaW5nfSBzZWFyY2hcbiAqIEBwYXJhbSB7bnVtYmVyfSBwb3NpdGlvblxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5kZXhvZiAodmFsdWUsIHNlYXJjaCwgcG9zaXRpb24pIHtcblx0cmV0dXJuIHZhbHVlLmluZGV4T2Yoc2VhcmNoLCBwb3NpdGlvbilcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hhcmF0ICh2YWx1ZSwgaW5kZXgpIHtcblx0cmV0dXJuIHZhbHVlLmNoYXJDb2RlQXQoaW5kZXgpIHwgMFxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IGJlZ2luXG4gKiBAcGFyYW0ge251bWJlcn0gZW5kXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJzdHIgKHZhbHVlLCBiZWdpbiwgZW5kKSB7XG5cdHJldHVybiB2YWx1ZS5zbGljZShiZWdpbiwgZW5kKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RybGVuICh2YWx1ZSkge1xuXHRyZXR1cm4gdmFsdWUubGVuZ3RoXG59XG5cbi8qKlxuICogQHBhcmFtIHthbnlbXX0gdmFsdWVcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpemVvZiAodmFsdWUpIHtcblx0cmV0dXJuIHZhbHVlLmxlbmd0aFxufVxuXG4vKipcbiAqIEBwYXJhbSB7YW55fSB2YWx1ZVxuICogQHBhcmFtIHthbnlbXX0gYXJyYXlcbiAqIEByZXR1cm4ge2FueX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZCAodmFsdWUsIGFycmF5KSB7XG5cdHJldHVybiBhcnJheS5wdXNoKHZhbHVlKSwgdmFsdWVcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBhcnJheVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmUgKGFycmF5LCBjYWxsYmFjaykge1xuXHRyZXR1cm4gYXJyYXkubWFwKGNhbGxiYWNrKS5qb2luKCcnKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nW119IGFycmF5XG4gKiBAcGFyYW0ge1JlZ0V4cH0gcGF0dGVyblxuICogQHJldHVybiB7c3RyaW5nW119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXIgKGFycmF5LCBwYXR0ZXJuKSB7XG5cdHJldHVybiBhcnJheS5maWx0ZXIoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiAhbWF0Y2godmFsdWUsIHBhdHRlcm4pIH0pXG59XG4iLCJpbXBvcnQge2Zyb20sIHRyaW0sIGNoYXJhdCwgc3RybGVuLCBzdWJzdHIsIGFwcGVuZCwgYXNzaWdufSBmcm9tICcuL1V0aWxpdHkuanMnXG5cbmV4cG9ydCB2YXIgbGluZSA9IDFcbmV4cG9ydCB2YXIgY29sdW1uID0gMVxuZXhwb3J0IHZhciBsZW5ndGggPSAwXG5leHBvcnQgdmFyIHBvc2l0aW9uID0gMFxuZXhwb3J0IHZhciBjaGFyYWN0ZXIgPSAwXG5leHBvcnQgdmFyIGNoYXJhY3RlcnMgPSAnJ1xuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtvYmplY3QgfCBudWxsfSByb290XG4gKiBAcGFyYW0ge29iamVjdCB8IG51bGx9IHBhcmVudFxuICogQHBhcmFtIHtzdHJpbmd9IHR5cGVcbiAqIEBwYXJhbSB7c3RyaW5nW10gfCBzdHJpbmd9IHByb3BzXG4gKiBAcGFyYW0ge29iamVjdFtdIHwgc3RyaW5nfSBjaGlsZHJlblxuICogQHBhcmFtIHtvYmplY3RbXX0gc2libGluZ3NcbiAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vZGUgKHZhbHVlLCByb290LCBwYXJlbnQsIHR5cGUsIHByb3BzLCBjaGlsZHJlbiwgbGVuZ3RoLCBzaWJsaW5ncykge1xuXHRyZXR1cm4ge3ZhbHVlOiB2YWx1ZSwgcm9vdDogcm9vdCwgcGFyZW50OiBwYXJlbnQsIHR5cGU6IHR5cGUsIHByb3BzOiBwcm9wcywgY2hpbGRyZW46IGNoaWxkcmVuLCBsaW5lOiBsaW5lLCBjb2x1bW46IGNvbHVtbiwgbGVuZ3RoOiBsZW5ndGgsIHJldHVybjogJycsIHNpYmxpbmdzOiBzaWJsaW5nc31cbn1cblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gcm9vdFxuICogQHBhcmFtIHtvYmplY3R9IHByb3BzXG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb3B5IChyb290LCBwcm9wcykge1xuXHRyZXR1cm4gYXNzaWduKG5vZGUoJycsIG51bGwsIG51bGwsICcnLCBudWxsLCBudWxsLCAwLCByb290LnNpYmxpbmdzKSwgcm9vdCwge2xlbmd0aDogLXJvb3QubGVuZ3RofSwgcHJvcHMpXG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IHJvb3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpZnQgKHJvb3QpIHtcblx0d2hpbGUgKHJvb3Qucm9vdClcblx0XHRyb290ID0gY29weShyb290LnJvb3QsIHtjaGlsZHJlbjogW3Jvb3RdfSlcblxuXHRhcHBlbmQocm9vdCwgcm9vdC5zaWJsaW5ncylcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGFyICgpIHtcblx0cmV0dXJuIGNoYXJhY3RlclxufVxuXG4vKipcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByZXYgKCkge1xuXHRjaGFyYWN0ZXIgPSBwb3NpdGlvbiA+IDAgPyBjaGFyYXQoY2hhcmFjdGVycywgLS1wb3NpdGlvbikgOiAwXG5cblx0aWYgKGNvbHVtbi0tLCBjaGFyYWN0ZXIgPT09IDEwKVxuXHRcdGNvbHVtbiA9IDEsIGxpbmUtLVxuXG5cdHJldHVybiBjaGFyYWN0ZXJcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuZXh0ICgpIHtcblx0Y2hhcmFjdGVyID0gcG9zaXRpb24gPCBsZW5ndGggPyBjaGFyYXQoY2hhcmFjdGVycywgcG9zaXRpb24rKykgOiAwXG5cblx0aWYgKGNvbHVtbisrLCBjaGFyYWN0ZXIgPT09IDEwKVxuXHRcdGNvbHVtbiA9IDEsIGxpbmUrK1xuXG5cdHJldHVybiBjaGFyYWN0ZXJcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwZWVrICgpIHtcblx0cmV0dXJuIGNoYXJhdChjaGFyYWN0ZXJzLCBwb3NpdGlvbilcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYXJldCAoKSB7XG5cdHJldHVybiBwb3NpdGlvblxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSBiZWdpblxuICogQHBhcmFtIHtudW1iZXJ9IGVuZFxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2xpY2UgKGJlZ2luLCBlbmQpIHtcblx0cmV0dXJuIHN1YnN0cihjaGFyYWN0ZXJzLCBiZWdpbiwgZW5kKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbiAodHlwZSkge1xuXHRzd2l0Y2ggKHR5cGUpIHtcblx0XHQvLyBcXDAgXFx0IFxcbiBcXHIgXFxzIHdoaXRlc3BhY2UgdG9rZW5cblx0XHRjYXNlIDA6IGNhc2UgOTogY2FzZSAxMDogY2FzZSAxMzogY2FzZSAzMjpcblx0XHRcdHJldHVybiA1XG5cdFx0Ly8gISArICwgLyA+IEAgfiBpc29sYXRlIHRva2VuXG5cdFx0Y2FzZSAzMzogY2FzZSA0MzogY2FzZSA0NDogY2FzZSA0NzogY2FzZSA2MjogY2FzZSA2NDogY2FzZSAxMjY6XG5cdFx0Ly8gOyB7IH0gYnJlYWtwb2ludCB0b2tlblxuXHRcdGNhc2UgNTk6IGNhc2UgMTIzOiBjYXNlIDEyNTpcblx0XHRcdHJldHVybiA0XG5cdFx0Ly8gOiBhY2NvbXBhbmllZCB0b2tlblxuXHRcdGNhc2UgNTg6XG5cdFx0XHRyZXR1cm4gM1xuXHRcdC8vIFwiICcgKCBbIG9wZW5pbmcgZGVsaW1pdCB0b2tlblxuXHRcdGNhc2UgMzQ6IGNhc2UgMzk6IGNhc2UgNDA6IGNhc2UgOTE6XG5cdFx0XHRyZXR1cm4gMlxuXHRcdC8vICkgXSBjbG9zaW5nIGRlbGltaXQgdG9rZW5cblx0XHRjYXNlIDQxOiBjYXNlIDkzOlxuXHRcdFx0cmV0dXJuIDFcblx0fVxuXG5cdHJldHVybiAwXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJuIHthbnlbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFsbG9jICh2YWx1ZSkge1xuXHRyZXR1cm4gbGluZSA9IGNvbHVtbiA9IDEsIGxlbmd0aCA9IHN0cmxlbihjaGFyYWN0ZXJzID0gdmFsdWUpLCBwb3NpdGlvbiA9IDAsIFtdXG59XG5cbi8qKlxuICogQHBhcmFtIHthbnl9IHZhbHVlXG4gKiBAcmV0dXJuIHthbnl9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWFsbG9jICh2YWx1ZSkge1xuXHRyZXR1cm4gY2hhcmFjdGVycyA9ICcnLCB2YWx1ZVxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxpbWl0ICh0eXBlKSB7XG5cdHJldHVybiB0cmltKHNsaWNlKHBvc2l0aW9uIC0gMSwgZGVsaW1pdGVyKHR5cGUgPT09IDkxID8gdHlwZSArIDIgOiB0eXBlID09PSA0MCA/IHR5cGUgKyAxIDogdHlwZSkpKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHJldHVybiB7c3RyaW5nW119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbml6ZSAodmFsdWUpIHtcblx0cmV0dXJuIGRlYWxsb2ModG9rZW5pemVyKGFsbG9jKHZhbHVlKSkpXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IHR5cGVcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdoaXRlc3BhY2UgKHR5cGUpIHtcblx0d2hpbGUgKGNoYXJhY3RlciA9IHBlZWsoKSlcblx0XHRpZiAoY2hhcmFjdGVyIDwgMzMpXG5cdFx0XHRuZXh0KClcblx0XHRlbHNlXG5cdFx0XHRicmVha1xuXG5cdHJldHVybiB0b2tlbih0eXBlKSA+IDIgfHwgdG9rZW4oY2hhcmFjdGVyKSA+IDMgPyAnJyA6ICcgJ1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nW119IGNoaWxkcmVuXG4gKiBAcmV0dXJuIHtzdHJpbmdbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRva2VuaXplciAoY2hpbGRyZW4pIHtcblx0d2hpbGUgKG5leHQoKSlcblx0XHRzd2l0Y2ggKHRva2VuKGNoYXJhY3RlcikpIHtcblx0XHRcdGNhc2UgMDogYXBwZW5kKGlkZW50aWZpZXIocG9zaXRpb24gLSAxKSwgY2hpbGRyZW4pXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHRjYXNlIDI6IGFwcGVuZChkZWxpbWl0KGNoYXJhY3RlciksIGNoaWxkcmVuKVxuXHRcdFx0XHRicmVha1xuXHRcdFx0ZGVmYXVsdDogYXBwZW5kKGZyb20oY2hhcmFjdGVyKSwgY2hpbGRyZW4pXG5cdFx0fVxuXG5cdHJldHVybiBjaGlsZHJlblxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHBhcmFtIHtudW1iZXJ9IGNvdW50XG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGluZyAoaW5kZXgsIGNvdW50KSB7XG5cdHdoaWxlICgtLWNvdW50ICYmIG5leHQoKSlcblx0XHQvLyBub3QgMC05IEEtRiBhLWZcblx0XHRpZiAoY2hhcmFjdGVyIDwgNDggfHwgY2hhcmFjdGVyID4gMTAyIHx8IChjaGFyYWN0ZXIgPiA1NyAmJiBjaGFyYWN0ZXIgPCA2NSkgfHwgKGNoYXJhY3RlciA+IDcwICYmIGNoYXJhY3RlciA8IDk3KSlcblx0XHRcdGJyZWFrXG5cblx0cmV0dXJuIHNsaWNlKGluZGV4LCBjYXJldCgpICsgKGNvdW50IDwgNiAmJiBwZWVrKCkgPT0gMzIgJiYgbmV4dCgpID09IDMyKSlcbn1cblxuLyoqXG4gKiBAcGFyYW0ge251bWJlcn0gdHlwZVxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVsaW1pdGVyICh0eXBlKSB7XG5cdHdoaWxlIChuZXh0KCkpXG5cdFx0c3dpdGNoIChjaGFyYWN0ZXIpIHtcblx0XHRcdC8vIF0gKSBcIiAnXG5cdFx0XHRjYXNlIHR5cGU6XG5cdFx0XHRcdHJldHVybiBwb3NpdGlvblxuXHRcdFx0Ly8gXCIgJ1xuXHRcdFx0Y2FzZSAzNDogY2FzZSAzOTpcblx0XHRcdFx0aWYgKHR5cGUgIT09IDM0ICYmIHR5cGUgIT09IDM5KVxuXHRcdFx0XHRcdGRlbGltaXRlcihjaGFyYWN0ZXIpXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyAoXG5cdFx0XHRjYXNlIDQwOlxuXHRcdFx0XHRpZiAodHlwZSA9PT0gNDEpXG5cdFx0XHRcdFx0ZGVsaW1pdGVyKHR5cGUpXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyBcXFxuXHRcdFx0Y2FzZSA5Mjpcblx0XHRcdFx0bmV4dCgpXG5cdFx0XHRcdGJyZWFrXG5cdFx0fVxuXG5cdHJldHVybiBwb3NpdGlvblxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbW1lbnRlciAodHlwZSwgaW5kZXgpIHtcblx0d2hpbGUgKG5leHQoKSlcblx0XHQvLyAvL1xuXHRcdGlmICh0eXBlICsgY2hhcmFjdGVyID09PSA0NyArIDEwKVxuXHRcdFx0YnJlYWtcblx0XHQvLyAvKlxuXHRcdGVsc2UgaWYgKHR5cGUgKyBjaGFyYWN0ZXIgPT09IDQyICsgNDIgJiYgcGVlaygpID09PSA0Nylcblx0XHRcdGJyZWFrXG5cblx0cmV0dXJuICcvKicgKyBzbGljZShpbmRleCwgcG9zaXRpb24gLSAxKSArICcqJyArIGZyb20odHlwZSA9PT0gNDcgPyB0eXBlIDogbmV4dCgpKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gaWRlbnRpZmllciAoaW5kZXgpIHtcblx0d2hpbGUgKCF0b2tlbihwZWVrKCkpKVxuXHRcdG5leHQoKVxuXG5cdHJldHVybiBzbGljZShpbmRleCwgcG9zaXRpb24pXG59XG4iLCJpbXBvcnQge0NPTU1FTlQsIFJVTEVTRVQsIERFQ0xBUkFUSU9OfSBmcm9tICcuL0VudW0uanMnXG5pbXBvcnQge2FicywgY2hhcmF0LCB0cmltLCBmcm9tLCBzaXplb2YsIHN0cmxlbiwgc3Vic3RyLCBhcHBlbmQsIHJlcGxhY2UsIGluZGV4b2Z9IGZyb20gJy4vVXRpbGl0eS5qcydcbmltcG9ydCB7bm9kZSwgY2hhciwgcHJldiwgbmV4dCwgcGVlaywgY2FyZXQsIGFsbG9jLCBkZWFsbG9jLCBkZWxpbWl0LCB3aGl0ZXNwYWNlLCBlc2NhcGluZywgaWRlbnRpZmllciwgY29tbWVudGVyfSBmcm9tICcuL1Rva2VuaXplci5qcydcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm4ge29iamVjdFtdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcGlsZSAodmFsdWUpIHtcblx0cmV0dXJuIGRlYWxsb2MocGFyc2UoJycsIG51bGwsIG51bGwsIG51bGwsIFsnJ10sIHZhbHVlID0gYWxsb2ModmFsdWUpLCAwLCBbMF0sIHZhbHVlKSlcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7b2JqZWN0fSByb290XG4gKiBAcGFyYW0ge29iamVjdD99IHBhcmVudFxuICogQHBhcmFtIHtzdHJpbmdbXX0gcnVsZVxuICogQHBhcmFtIHtzdHJpbmdbXX0gcnVsZXNcbiAqIEBwYXJhbSB7c3RyaW5nW119IHJ1bGVzZXRzXG4gKiBAcGFyYW0ge251bWJlcltdfSBwc2V1ZG9cbiAqIEBwYXJhbSB7bnVtYmVyW119IHBvaW50c1xuICogQHBhcmFtIHtzdHJpbmdbXX0gZGVjbGFyYXRpb25zXG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZSAodmFsdWUsIHJvb3QsIHBhcmVudCwgcnVsZSwgcnVsZXMsIHJ1bGVzZXRzLCBwc2V1ZG8sIHBvaW50cywgZGVjbGFyYXRpb25zKSB7XG5cdHZhciBpbmRleCA9IDBcblx0dmFyIG9mZnNldCA9IDBcblx0dmFyIGxlbmd0aCA9IHBzZXVkb1xuXHR2YXIgYXRydWxlID0gMFxuXHR2YXIgcHJvcGVydHkgPSAwXG5cdHZhciBwcmV2aW91cyA9IDBcblx0dmFyIHZhcmlhYmxlID0gMVxuXHR2YXIgc2Nhbm5pbmcgPSAxXG5cdHZhciBhbXBlcnNhbmQgPSAxXG5cdHZhciBjaGFyYWN0ZXIgPSAwXG5cdHZhciB0eXBlID0gJydcblx0dmFyIHByb3BzID0gcnVsZXNcblx0dmFyIGNoaWxkcmVuID0gcnVsZXNldHNcblx0dmFyIHJlZmVyZW5jZSA9IHJ1bGVcblx0dmFyIGNoYXJhY3RlcnMgPSB0eXBlXG5cblx0d2hpbGUgKHNjYW5uaW5nKVxuXHRcdHN3aXRjaCAocHJldmlvdXMgPSBjaGFyYWN0ZXIsIGNoYXJhY3RlciA9IG5leHQoKSkge1xuXHRcdFx0Ly8gKFxuXHRcdFx0Y2FzZSA0MDpcblx0XHRcdFx0aWYgKHByZXZpb3VzICE9IDEwOCAmJiBjaGFyYXQoY2hhcmFjdGVycywgbGVuZ3RoIC0gMSkgPT0gNTgpIHtcblx0XHRcdFx0XHRpZiAoaW5kZXhvZihjaGFyYWN0ZXJzICs9IHJlcGxhY2UoZGVsaW1pdChjaGFyYWN0ZXIpLCAnJicsICcmXFxmJyksICcmXFxmJywgYWJzKGluZGV4ID8gcG9pbnRzW2luZGV4IC0gMV0gOiAwKSkgIT0gLTEpXG5cdFx0XHRcdFx0XHRhbXBlcnNhbmQgPSAtMVxuXHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdH1cblx0XHRcdC8vIFwiICcgW1xuXHRcdFx0Y2FzZSAzNDogY2FzZSAzOTogY2FzZSA5MTpcblx0XHRcdFx0Y2hhcmFjdGVycyArPSBkZWxpbWl0KGNoYXJhY3Rlcilcblx0XHRcdFx0YnJlYWtcblx0XHRcdC8vIFxcdCBcXG4gXFxyIFxcc1xuXHRcdFx0Y2FzZSA5OiBjYXNlIDEwOiBjYXNlIDEzOiBjYXNlIDMyOlxuXHRcdFx0XHRjaGFyYWN0ZXJzICs9IHdoaXRlc3BhY2UocHJldmlvdXMpXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyBcXFxuXHRcdFx0Y2FzZSA5Mjpcblx0XHRcdFx0Y2hhcmFjdGVycyArPSBlc2NhcGluZyhjYXJldCgpIC0gMSwgNylcblx0XHRcdFx0Y29udGludWVcblx0XHRcdC8vIC9cblx0XHRcdGNhc2UgNDc6XG5cdFx0XHRcdHN3aXRjaCAocGVlaygpKSB7XG5cdFx0XHRcdFx0Y2FzZSA0MjogY2FzZSA0Nzpcblx0XHRcdFx0XHRcdGFwcGVuZChjb21tZW50KGNvbW1lbnRlcihuZXh0KCksIGNhcmV0KCkpLCByb290LCBwYXJlbnQsIGRlY2xhcmF0aW9ucyksIGRlY2xhcmF0aW9ucylcblx0XHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdGNoYXJhY3RlcnMgKz0gJy8nXG5cdFx0XHRcdH1cblx0XHRcdFx0YnJlYWtcblx0XHRcdC8vIHtcblx0XHRcdGNhc2UgMTIzICogdmFyaWFibGU6XG5cdFx0XHRcdHBvaW50c1tpbmRleCsrXSA9IHN0cmxlbihjaGFyYWN0ZXJzKSAqIGFtcGVyc2FuZFxuXHRcdFx0Ly8gfSA7IFxcMFxuXHRcdFx0Y2FzZSAxMjUgKiB2YXJpYWJsZTogY2FzZSA1OTogY2FzZSAwOlxuXHRcdFx0XHRzd2l0Y2ggKGNoYXJhY3Rlcikge1xuXHRcdFx0XHRcdC8vIFxcMCB9XG5cdFx0XHRcdFx0Y2FzZSAwOiBjYXNlIDEyNTogc2Nhbm5pbmcgPSAwXG5cdFx0XHRcdFx0Ly8gO1xuXHRcdFx0XHRcdGNhc2UgNTkgKyBvZmZzZXQ6IGlmIChhbXBlcnNhbmQgPT0gLTEpIGNoYXJhY3RlcnMgPSByZXBsYWNlKGNoYXJhY3RlcnMsIC9cXGYvZywgJycpXG5cdFx0XHRcdFx0XHRpZiAocHJvcGVydHkgPiAwICYmIChzdHJsZW4oY2hhcmFjdGVycykgLSBsZW5ndGgpKVxuXHRcdFx0XHRcdFx0XHRhcHBlbmQocHJvcGVydHkgPiAzMiA/IGRlY2xhcmF0aW9uKGNoYXJhY3RlcnMgKyAnOycsIHJ1bGUsIHBhcmVudCwgbGVuZ3RoIC0gMSwgZGVjbGFyYXRpb25zKSA6IGRlY2xhcmF0aW9uKHJlcGxhY2UoY2hhcmFjdGVycywgJyAnLCAnJykgKyAnOycsIHJ1bGUsIHBhcmVudCwgbGVuZ3RoIC0gMiwgZGVjbGFyYXRpb25zKSwgZGVjbGFyYXRpb25zKVxuXHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHQvLyBAIDtcblx0XHRcdFx0XHRjYXNlIDU5OiBjaGFyYWN0ZXJzICs9ICc7J1xuXHRcdFx0XHRcdC8vIHsgcnVsZS9hdC1ydWxlXG5cdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdGFwcGVuZChyZWZlcmVuY2UgPSBydWxlc2V0KGNoYXJhY3RlcnMsIHJvb3QsIHBhcmVudCwgaW5kZXgsIG9mZnNldCwgcnVsZXMsIHBvaW50cywgdHlwZSwgcHJvcHMgPSBbXSwgY2hpbGRyZW4gPSBbXSwgbGVuZ3RoLCBydWxlc2V0cyksIHJ1bGVzZXRzKVxuXG5cdFx0XHRcdFx0XHRpZiAoY2hhcmFjdGVyID09PSAxMjMpXG5cdFx0XHRcdFx0XHRcdGlmIChvZmZzZXQgPT09IDApXG5cdFx0XHRcdFx0XHRcdFx0cGFyc2UoY2hhcmFjdGVycywgcm9vdCwgcmVmZXJlbmNlLCByZWZlcmVuY2UsIHByb3BzLCBydWxlc2V0cywgbGVuZ3RoLCBwb2ludHMsIGNoaWxkcmVuKVxuXHRcdFx0XHRcdFx0XHRlbHNlXG5cdFx0XHRcdFx0XHRcdFx0c3dpdGNoIChhdHJ1bGUgPT09IDk5ICYmIGNoYXJhdChjaGFyYWN0ZXJzLCAzKSA9PT0gMTEwID8gMTAwIDogYXRydWxlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBkIGwgbSBzXG5cdFx0XHRcdFx0XHRcdFx0XHRjYXNlIDEwMDogY2FzZSAxMDg6IGNhc2UgMTA5OiBjYXNlIDExNTpcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFyc2UodmFsdWUsIHJlZmVyZW5jZSwgcmVmZXJlbmNlLCBydWxlICYmIGFwcGVuZChydWxlc2V0KHZhbHVlLCByZWZlcmVuY2UsIHJlZmVyZW5jZSwgMCwgMCwgcnVsZXMsIHBvaW50cywgdHlwZSwgcnVsZXMsIHByb3BzID0gW10sIGxlbmd0aCwgY2hpbGRyZW4pLCBjaGlsZHJlbiksIHJ1bGVzLCBjaGlsZHJlbiwgbGVuZ3RoLCBwb2ludHMsIHJ1bGUgPyBwcm9wcyA6IGNoaWxkcmVuKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRicmVha1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFyc2UoY2hhcmFjdGVycywgcmVmZXJlbmNlLCByZWZlcmVuY2UsIHJlZmVyZW5jZSwgWycnXSwgY2hpbGRyZW4sIDAsIHBvaW50cywgY2hpbGRyZW4pXG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0aW5kZXggPSBvZmZzZXQgPSBwcm9wZXJ0eSA9IDAsIHZhcmlhYmxlID0gYW1wZXJzYW5kID0gMSwgdHlwZSA9IGNoYXJhY3RlcnMgPSAnJywgbGVuZ3RoID0gcHNldWRvXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyA6XG5cdFx0XHRjYXNlIDU4OlxuXHRcdFx0XHRsZW5ndGggPSAxICsgc3RybGVuKGNoYXJhY3RlcnMpLCBwcm9wZXJ0eSA9IHByZXZpb3VzXG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRpZiAodmFyaWFibGUgPCAxKVxuXHRcdFx0XHRcdGlmIChjaGFyYWN0ZXIgPT0gMTIzKVxuXHRcdFx0XHRcdFx0LS12YXJpYWJsZVxuXHRcdFx0XHRcdGVsc2UgaWYgKGNoYXJhY3RlciA9PSAxMjUgJiYgdmFyaWFibGUrKyA9PSAwICYmIHByZXYoKSA9PSAxMjUpXG5cdFx0XHRcdFx0XHRjb250aW51ZVxuXG5cdFx0XHRcdHN3aXRjaCAoY2hhcmFjdGVycyArPSBmcm9tKGNoYXJhY3RlciksIGNoYXJhY3RlciAqIHZhcmlhYmxlKSB7XG5cdFx0XHRcdFx0Ly8gJlxuXHRcdFx0XHRcdGNhc2UgMzg6XG5cdFx0XHRcdFx0XHRhbXBlcnNhbmQgPSBvZmZzZXQgPiAwID8gMSA6IChjaGFyYWN0ZXJzICs9ICdcXGYnLCAtMSlcblx0XHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdFx0Ly8gLFxuXHRcdFx0XHRcdGNhc2UgNDQ6XG5cdFx0XHRcdFx0XHRwb2ludHNbaW5kZXgrK10gPSAoc3RybGVuKGNoYXJhY3RlcnMpIC0gMSkgKiBhbXBlcnNhbmQsIGFtcGVyc2FuZCA9IDFcblx0XHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdFx0Ly8gQFxuXHRcdFx0XHRcdGNhc2UgNjQ6XG5cdFx0XHRcdFx0XHQvLyAtXG5cdFx0XHRcdFx0XHRpZiAocGVlaygpID09PSA0NSlcblx0XHRcdFx0XHRcdFx0Y2hhcmFjdGVycyArPSBkZWxpbWl0KG5leHQoKSlcblxuXHRcdFx0XHRcdFx0YXRydWxlID0gcGVlaygpLCBvZmZzZXQgPSBsZW5ndGggPSBzdHJsZW4odHlwZSA9IGNoYXJhY3RlcnMgKz0gaWRlbnRpZmllcihjYXJldCgpKSksIGNoYXJhY3RlcisrXG5cdFx0XHRcdFx0XHRicmVha1xuXHRcdFx0XHRcdC8vIC1cblx0XHRcdFx0XHRjYXNlIDQ1OlxuXHRcdFx0XHRcdFx0aWYgKHByZXZpb3VzID09PSA0NSAmJiBzdHJsZW4oY2hhcmFjdGVycykgPT0gMilcblx0XHRcdFx0XHRcdFx0dmFyaWFibGUgPSAwXG5cdFx0XHRcdH1cblx0XHR9XG5cblx0cmV0dXJuIHJ1bGVzZXRzXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge29iamVjdH0gcm9vdFxuICogQHBhcmFtIHtvYmplY3Q/fSBwYXJlbnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHBhcmFtIHtudW1iZXJ9IG9mZnNldFxuICogQHBhcmFtIHtzdHJpbmdbXX0gcnVsZXNcbiAqIEBwYXJhbSB7bnVtYmVyW119IHBvaW50c1xuICogQHBhcmFtIHtzdHJpbmd9IHR5cGVcbiAqIEBwYXJhbSB7c3RyaW5nW119IHByb3BzXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBjaGlsZHJlblxuICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aFxuICogQHBhcmFtIHtvYmplY3RbXX0gc2libGluZ3NcbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ1bGVzZXQgKHZhbHVlLCByb290LCBwYXJlbnQsIGluZGV4LCBvZmZzZXQsIHJ1bGVzLCBwb2ludHMsIHR5cGUsIHByb3BzLCBjaGlsZHJlbiwgbGVuZ3RoLCBzaWJsaW5ncykge1xuXHR2YXIgcG9zdCA9IG9mZnNldCAtIDFcblx0dmFyIHJ1bGUgPSBvZmZzZXQgPT09IDAgPyBydWxlcyA6IFsnJ11cblx0dmFyIHNpemUgPSBzaXplb2YocnVsZSlcblxuXHRmb3IgKHZhciBpID0gMCwgaiA9IDAsIGsgPSAwOyBpIDwgaW5kZXg7ICsraSlcblx0XHRmb3IgKHZhciB4ID0gMCwgeSA9IHN1YnN0cih2YWx1ZSwgcG9zdCArIDEsIHBvc3QgPSBhYnMoaiA9IHBvaW50c1tpXSkpLCB6ID0gdmFsdWU7IHggPCBzaXplOyArK3gpXG5cdFx0XHRpZiAoeiA9IHRyaW0oaiA+IDAgPyBydWxlW3hdICsgJyAnICsgeSA6IHJlcGxhY2UoeSwgLyZcXGYvZywgcnVsZVt4XSkpKVxuXHRcdFx0XHRwcm9wc1trKytdID0gelxuXG5cdHJldHVybiBub2RlKHZhbHVlLCByb290LCBwYXJlbnQsIG9mZnNldCA9PT0gMCA/IFJVTEVTRVQgOiB0eXBlLCBwcm9wcywgY2hpbGRyZW4sIGxlbmd0aCwgc2libGluZ3MpXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlXG4gKiBAcGFyYW0ge29iamVjdH0gcm9vdFxuICogQHBhcmFtIHtvYmplY3Q/fSBwYXJlbnRcbiAqIEBwYXJhbSB7b2JqZWN0W119IHNpYmxpbmdzXG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21tZW50ICh2YWx1ZSwgcm9vdCwgcGFyZW50LCBzaWJsaW5ncykge1xuXHRyZXR1cm4gbm9kZSh2YWx1ZSwgcm9vdCwgcGFyZW50LCBDT01NRU5ULCBmcm9tKGNoYXIoKSksIHN1YnN0cih2YWx1ZSwgMiwgLTIpLCAwLCBzaWJsaW5ncylcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7b2JqZWN0fSByb290XG4gKiBAcGFyYW0ge29iamVjdD99IHBhcmVudFxuICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aFxuICogQHBhcmFtIHtvYmplY3RbXX0gc2libGluZ3NcbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uICh2YWx1ZSwgcm9vdCwgcGFyZW50LCBsZW5ndGgsIHNpYmxpbmdzKSB7XG5cdHJldHVybiBub2RlKHZhbHVlLCByb290LCBwYXJlbnQsIERFQ0xBUkFUSU9OLCBzdWJzdHIodmFsdWUsIDAsIGxlbmd0aCksIHN1YnN0cih2YWx1ZSwgbGVuZ3RoICsgMSwgLTEpLCBsZW5ndGgsIHNpYmxpbmdzKVxufVxuIiwiaW1wb3J0IHtNUywgTU9aLCBXRUJLSVR9IGZyb20gJy4vRW51bS5qcydcbmltcG9ydCB7aGFzaCwgY2hhcmF0LCBzdHJsZW4sIGluZGV4b2YsIHJlcGxhY2UsIHN1YnN0ciwgbWF0Y2h9IGZyb20gJy4vVXRpbGl0eS5qcydcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGhcbiAqIEBwYXJhbSB7b2JqZWN0W119IGNoaWxkcmVuXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVmaXggKHZhbHVlLCBsZW5ndGgsIGNoaWxkcmVuKSB7XG5cdHN3aXRjaCAoaGFzaCh2YWx1ZSwgbGVuZ3RoKSkge1xuXHRcdC8vIGNvbG9yLWFkanVzdFxuXHRcdGNhc2UgNTEwMzpcblx0XHRcdHJldHVybiBXRUJLSVQgKyAncHJpbnQtJyArIHZhbHVlICsgdmFsdWVcblx0XHQvLyBhbmltYXRpb24sIGFuaW1hdGlvbi0oZGVsYXl8ZGlyZWN0aW9ufGR1cmF0aW9ufGZpbGwtbW9kZXxpdGVyYXRpb24tY291bnR8bmFtZXxwbGF5LXN0YXRlfHRpbWluZy1mdW5jdGlvbilcblx0XHRjYXNlIDU3Mzc6IGNhc2UgNDIwMTogY2FzZSAzMTc3OiBjYXNlIDM0MzM6IGNhc2UgMTY0MTogY2FzZSA0NDU3OiBjYXNlIDI5MjE6XG5cdFx0Ly8gdGV4dC1kZWNvcmF0aW9uLCBmaWx0ZXIsIGNsaXAtcGF0aCwgYmFja2ZhY2UtdmlzaWJpbGl0eSwgY29sdW1uLCBib3gtZGVjb3JhdGlvbi1icmVha1xuXHRcdGNhc2UgNTU3MjogY2FzZSA2MzU2OiBjYXNlIDU4NDQ6IGNhc2UgMzE5MTogY2FzZSA2NjQ1OiBjYXNlIDMwMDU6XG5cdFx0Ly8gbWFzaywgbWFzay1pbWFnZSwgbWFzay0obW9kZXxjbGlwfHNpemUpLCBtYXNrLShyZXBlYXR8b3JpZ2luKSwgbWFzay1wb3NpdGlvbiwgbWFzay1jb21wb3NpdGUsXG5cdFx0Y2FzZSA2MzkxOiBjYXNlIDU4Nzk6IGNhc2UgNTYyMzogY2FzZSA2MTM1OiBjYXNlIDQ1OTk6IGNhc2UgNDg1NTpcblx0XHQvLyBiYWNrZ3JvdW5kLWNsaXAsIGNvbHVtbnMsIGNvbHVtbi0oY291bnR8ZmlsbHxnYXB8cnVsZXxydWxlLWNvbG9yfHJ1bGUtc3R5bGV8cnVsZS13aWR0aHxzcGFufHdpZHRoKVxuXHRcdGNhc2UgNDIxNTogY2FzZSA2Mzg5OiBjYXNlIDUxMDk6IGNhc2UgNTM2NTogY2FzZSA1NjIxOiBjYXNlIDM4Mjk6XG5cdFx0XHRyZXR1cm4gV0VCS0lUICsgdmFsdWUgKyB2YWx1ZVxuXHRcdC8vIHRhYi1zaXplXG5cdFx0Y2FzZSA0Nzg5OlxuXHRcdFx0cmV0dXJuIE1PWiArIHZhbHVlICsgdmFsdWVcblx0XHQvLyBhcHBlYXJhbmNlLCB1c2VyLXNlbGVjdCwgdHJhbnNmb3JtLCBoeXBoZW5zLCB0ZXh0LXNpemUtYWRqdXN0XG5cdFx0Y2FzZSA1MzQ5OiBjYXNlIDQyNDY6IGNhc2UgNDgxMDogY2FzZSA2OTY4OiBjYXNlIDI3NTY6XG5cdFx0XHRyZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNT1ogKyB2YWx1ZSArIE1TICsgdmFsdWUgKyB2YWx1ZVxuXHRcdC8vIHdyaXRpbmctbW9kZVxuXHRcdGNhc2UgNTkzNjpcblx0XHRcdHN3aXRjaCAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyAxMSkpIHtcblx0XHRcdFx0Ly8gdmVydGljYWwtbChyKVxuXHRcdFx0XHRjYXNlIDExNDpcblx0XHRcdFx0XHRyZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHJlcGxhY2UodmFsdWUsIC9bc3ZoXVxcdystW3RibHJdezJ9LywgJ3RiJykgKyB2YWx1ZVxuXHRcdFx0XHQvLyB2ZXJ0aWNhbC1yKGwpXG5cdFx0XHRcdGNhc2UgMTA4OlxuXHRcdFx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgcmVwbGFjZSh2YWx1ZSwgL1tzdmhdXFx3Ky1bdGJscl17Mn0vLCAndGItcmwnKSArIHZhbHVlXG5cdFx0XHRcdC8vIGhvcml6b250YWwoLSl0YlxuXHRcdFx0XHRjYXNlIDQ1OlxuXHRcdFx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgcmVwbGFjZSh2YWx1ZSwgL1tzdmhdXFx3Ky1bdGJscl17Mn0vLCAnbHInKSArIHZhbHVlXG5cdFx0XHRcdC8vIGRlZmF1bHQ6IGZhbGx0aHJvdWdoIHRvIGJlbG93XG5cdFx0XHR9XG5cdFx0Ly8gZmxleCwgZmxleC1kaXJlY3Rpb24sIHNjcm9sbC1zbmFwLXR5cGUsIHdyaXRpbmctbW9kZVxuXHRcdGNhc2UgNjgyODogY2FzZSA0MjY4OiBjYXNlIDI5MDM6XG5cdFx0XHRyZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHZhbHVlICsgdmFsdWVcblx0XHQvLyBvcmRlclxuXHRcdGNhc2UgNjE2NTpcblx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgJ2ZsZXgtJyArIHZhbHVlICsgdmFsdWVcblx0XHQvLyBhbGlnbi1pdGVtc1xuXHRcdGNhc2UgNTE4Nzpcblx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIHJlcGxhY2UodmFsdWUsIC8oXFx3KykuKyg6W15dKykvLCBXRUJLSVQgKyAnYm94LSQxJDInICsgTVMgKyAnZmxleC0kMSQyJykgKyB2YWx1ZVxuXHRcdC8vIGFsaWduLXNlbGZcblx0XHRjYXNlIDU0NDM6XG5cdFx0XHRyZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArICdmbGV4LWl0ZW0tJyArIHJlcGxhY2UodmFsdWUsIC9mbGV4LXwtc2VsZi9nLCAnJykgKyAoIW1hdGNoKHZhbHVlLCAvZmxleC18YmFzZWxpbmUvKSA/IE1TICsgJ2dyaWQtcm93LScgKyByZXBsYWNlKHZhbHVlLCAvZmxleC18LXNlbGYvZywgJycpIDogJycpICsgdmFsdWVcblx0XHQvLyBhbGlnbi1jb250ZW50XG5cdFx0Y2FzZSA0Njc1OlxuXHRcdFx0cmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyAnZmxleC1saW5lLXBhY2snICsgcmVwbGFjZSh2YWx1ZSwgL2FsaWduLWNvbnRlbnR8ZmxleC18LXNlbGYvZywgJycpICsgdmFsdWVcblx0XHQvLyBmbGV4LXNocmlua1xuXHRcdGNhc2UgNTU0ODpcblx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgcmVwbGFjZSh2YWx1ZSwgJ3NocmluaycsICduZWdhdGl2ZScpICsgdmFsdWVcblx0XHQvLyBmbGV4LWJhc2lzXG5cdFx0Y2FzZSA1MjkyOlxuXHRcdFx0cmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyByZXBsYWNlKHZhbHVlLCAnYmFzaXMnLCAncHJlZmVycmVkLXNpemUnKSArIHZhbHVlXG5cdFx0Ly8gZmxleC1ncm93XG5cdFx0Y2FzZSA2MDYwOlxuXHRcdFx0cmV0dXJuIFdFQktJVCArICdib3gtJyArIHJlcGxhY2UodmFsdWUsICctZ3JvdycsICcnKSArIFdFQktJVCArIHZhbHVlICsgTVMgKyByZXBsYWNlKHZhbHVlLCAnZ3JvdycsICdwb3NpdGl2ZScpICsgdmFsdWVcblx0XHQvLyB0cmFuc2l0aW9uXG5cdFx0Y2FzZSA0NTU0OlxuXHRcdFx0cmV0dXJuIFdFQktJVCArIHJlcGxhY2UodmFsdWUsIC8oW14tXSkodHJhbnNmb3JtKS9nLCAnJDEnICsgV0VCS0lUICsgJyQyJykgKyB2YWx1ZVxuXHRcdC8vIGN1cnNvclxuXHRcdGNhc2UgNjE4Nzpcblx0XHRcdHJldHVybiByZXBsYWNlKHJlcGxhY2UocmVwbGFjZSh2YWx1ZSwgLyh6b29tLXxncmFiKS8sIFdFQktJVCArICckMScpLCAvKGltYWdlLXNldCkvLCBXRUJLSVQgKyAnJDEnKSwgdmFsdWUsICcnKSArIHZhbHVlXG5cdFx0Ly8gYmFja2dyb3VuZCwgYmFja2dyb3VuZC1pbWFnZVxuXHRcdGNhc2UgNTQ5NTogY2FzZSAzOTU5OlxuXHRcdFx0cmV0dXJuIHJlcGxhY2UodmFsdWUsIC8oaW1hZ2Utc2V0XFwoW15dKikvLCBXRUJLSVQgKyAnJDEnICsgJyRgJDEnKVxuXHRcdC8vIGp1c3RpZnktY29udGVudFxuXHRcdGNhc2UgNDk2ODpcblx0XHRcdHJldHVybiByZXBsYWNlKHJlcGxhY2UodmFsdWUsIC8oLis6KShmbGV4LSk/KC4qKS8sIFdFQktJVCArICdib3gtcGFjazokMycgKyBNUyArICdmbGV4LXBhY2s6JDMnKSwgL3MuKy1iW147XSsvLCAnanVzdGlmeScpICsgV0VCS0lUICsgdmFsdWUgKyB2YWx1ZVxuXHRcdC8vIGp1c3RpZnktc2VsZlxuXHRcdGNhc2UgNDIwMDpcblx0XHRcdGlmICghbWF0Y2godmFsdWUsIC9mbGV4LXxiYXNlbGluZS8pKSByZXR1cm4gTVMgKyAnZ3JpZC1jb2x1bW4tYWxpZ24nICsgc3Vic3RyKHZhbHVlLCBsZW5ndGgpICsgdmFsdWVcblx0XHRcdGJyZWFrXG5cdFx0Ly8gZ3JpZC10ZW1wbGF0ZS0oY29sdW1uc3xyb3dzKVxuXHRcdGNhc2UgMjU5MjogY2FzZSAzMzYwOlxuXHRcdFx0cmV0dXJuIE1TICsgcmVwbGFjZSh2YWx1ZSwgJ3RlbXBsYXRlLScsICcnKSArIHZhbHVlXG5cdFx0Ly8gZ3JpZC0ocm93fGNvbHVtbiktc3RhcnRcblx0XHRjYXNlIDQzODQ6IGNhc2UgMzYxNjpcblx0XHRcdGlmIChjaGlsZHJlbiAmJiBjaGlsZHJlbi5zb21lKGZ1bmN0aW9uIChlbGVtZW50LCBpbmRleCkgeyByZXR1cm4gbGVuZ3RoID0gaW5kZXgsIG1hdGNoKGVsZW1lbnQucHJvcHMsIC9ncmlkLVxcdystZW5kLykgfSkpIHtcblx0XHRcdFx0cmV0dXJuIH5pbmRleG9mKHZhbHVlICsgKGNoaWxkcmVuID0gY2hpbGRyZW5bbGVuZ3RoXS52YWx1ZSksICdzcGFuJywgMCkgPyB2YWx1ZSA6IChNUyArIHJlcGxhY2UodmFsdWUsICctc3RhcnQnLCAnJykgKyB2YWx1ZSArIE1TICsgJ2dyaWQtcm93LXNwYW46JyArICh+aW5kZXhvZihjaGlsZHJlbiwgJ3NwYW4nLCAwKSA/IG1hdGNoKGNoaWxkcmVuLCAvXFxkKy8pIDogK21hdGNoKGNoaWxkcmVuLCAvXFxkKy8pIC0gK21hdGNoKHZhbHVlLCAvXFxkKy8pKSArICc7Jylcblx0XHRcdH1cblx0XHRcdHJldHVybiBNUyArIHJlcGxhY2UodmFsdWUsICctc3RhcnQnLCAnJykgKyB2YWx1ZVxuXHRcdC8vIGdyaWQtKHJvd3xjb2x1bW4pLWVuZFxuXHRcdGNhc2UgNDg5NjogY2FzZSA0MTI4OlxuXHRcdFx0cmV0dXJuIChjaGlsZHJlbiAmJiBjaGlsZHJlbi5zb21lKGZ1bmN0aW9uIChlbGVtZW50KSB7IHJldHVybiBtYXRjaChlbGVtZW50LnByb3BzLCAvZ3JpZC1cXHcrLXN0YXJ0LykgfSkpID8gdmFsdWUgOiBNUyArIHJlcGxhY2UocmVwbGFjZSh2YWx1ZSwgJy1lbmQnLCAnLXNwYW4nKSwgJ3NwYW4gJywgJycpICsgdmFsdWVcblx0XHQvLyAobWFyZ2lufHBhZGRpbmcpLWlubGluZS0oc3RhcnR8ZW5kKVxuXHRcdGNhc2UgNDA5NTogY2FzZSAzNTgzOiBjYXNlIDQwNjg6IGNhc2UgMjUzMjpcblx0XHRcdHJldHVybiByZXBsYWNlKHZhbHVlLCAvKC4rKS1pbmxpbmUoLispLywgV0VCS0lUICsgJyQxJDInKSArIHZhbHVlXG5cdFx0Ly8gKG1pbnxtYXgpPyh3aWR0aHxoZWlnaHR8aW5saW5lLXNpemV8YmxvY2stc2l6ZSlcblx0XHRjYXNlIDgxMTY6IGNhc2UgNzA1OTogY2FzZSA1NzUzOiBjYXNlIDU1MzU6XG5cdFx0Y2FzZSA1NDQ1OiBjYXNlIDU3MDE6IGNhc2UgNDkzMzogY2FzZSA0Njc3OlxuXHRcdGNhc2UgNTUzMzogY2FzZSA1Nzg5OiBjYXNlIDUwMjE6IGNhc2UgNDc2NTpcblx0XHRcdC8vIHN0cmV0Y2gsIG1heC1jb250ZW50LCBtaW4tY29udGVudCwgZmlsbC1hdmFpbGFibGVcblx0XHRcdGlmIChzdHJsZW4odmFsdWUpIC0gMSAtIGxlbmd0aCA+IDYpXG5cdFx0XHRcdHN3aXRjaCAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyAxKSkge1xuXHRcdFx0XHRcdC8vIChtKWF4LWNvbnRlbnQsIChtKWluLWNvbnRlbnRcblx0XHRcdFx0XHRjYXNlIDEwOTpcblx0XHRcdFx0XHRcdC8vIC1cblx0XHRcdFx0XHRcdGlmIChjaGFyYXQodmFsdWUsIGxlbmd0aCArIDQpICE9PSA0NSlcblx0XHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHQvLyAoZilpbGwtYXZhaWxhYmxlLCAoZilpdC1jb250ZW50XG5cdFx0XHRcdFx0Y2FzZSAxMDI6XG5cdFx0XHRcdFx0XHRyZXR1cm4gcmVwbGFjZSh2YWx1ZSwgLyguKzopKC4rKS0oW15dKykvLCAnJDEnICsgV0VCS0lUICsgJyQyLSQzJyArICckMScgKyBNT1ogKyAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyAzKSA9PSAxMDggPyAnJDMnIDogJyQyLSQzJykpICsgdmFsdWVcblx0XHRcdFx0XHQvLyAocyl0cmV0Y2hcblx0XHRcdFx0XHRjYXNlIDExNTpcblx0XHRcdFx0XHRcdHJldHVybiB+aW5kZXhvZih2YWx1ZSwgJ3N0cmV0Y2gnLCAwKSA/IHByZWZpeChyZXBsYWNlKHZhbHVlLCAnc3RyZXRjaCcsICdmaWxsLWF2YWlsYWJsZScpLCBsZW5ndGgsIGNoaWxkcmVuKSArIHZhbHVlIDogdmFsdWVcblx0XHRcdFx0fVxuXHRcdFx0YnJlYWtcblx0XHQvLyBncmlkLShjb2x1bW58cm93KVxuXHRcdGNhc2UgNTE1MjogY2FzZSA1OTIwOlxuXHRcdFx0cmV0dXJuIHJlcGxhY2UodmFsdWUsIC8oLis/KTooXFxkKykoXFxzKlxcL1xccyooc3Bhbik/XFxzKihcXGQrKSk/KC4qKS8sIGZ1bmN0aW9uIChfLCBhLCBiLCBjLCBkLCBlLCBmKSB7IHJldHVybiAoTVMgKyBhICsgJzonICsgYiArIGYpICsgKGMgPyAoTVMgKyBhICsgJy1zcGFuOicgKyAoZCA/IGUgOiArZSAtICtiKSkgKyBmIDogJycpICsgdmFsdWUgfSlcblx0XHQvLyBwb3NpdGlvbjogc3RpY2t5XG5cdFx0Y2FzZSA0OTQ5OlxuXHRcdFx0Ly8gc3RpY2soeSk/XG5cdFx0XHRpZiAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyA2KSA9PT0gMTIxKVxuXHRcdFx0XHRyZXR1cm4gcmVwbGFjZSh2YWx1ZSwgJzonLCAnOicgKyBXRUJLSVQpICsgdmFsdWVcblx0XHRcdGJyZWFrXG5cdFx0Ly8gZGlzcGxheTogKGZsZXh8aW5saW5lLWZsZXh8Z3JpZHxpbmxpbmUtZ3JpZClcblx0XHRjYXNlIDY0NDQ6XG5cdFx0XHRzd2l0Y2ggKGNoYXJhdCh2YWx1ZSwgY2hhcmF0KHZhbHVlLCAxNCkgPT09IDQ1ID8gMTggOiAxMSkpIHtcblx0XHRcdFx0Ly8gKGlubGluZS0pP2ZsZSh4KVxuXHRcdFx0XHRjYXNlIDEyMDpcblx0XHRcdFx0XHRyZXR1cm4gcmVwbGFjZSh2YWx1ZSwgLyguKzopKFteO1xccyFdKykoO3woXFxzKyk/IS4rKT8vLCAnJDEnICsgV0VCS0lUICsgKGNoYXJhdCh2YWx1ZSwgMTQpID09PSA0NSA/ICdpbmxpbmUtJyA6ICcnKSArICdib3gkMycgKyAnJDEnICsgV0VCS0lUICsgJyQyJDMnICsgJyQxJyArIE1TICsgJyQyYm94JDMnKSArIHZhbHVlXG5cdFx0XHRcdC8vIChpbmxpbmUtKT9ncmkoZClcblx0XHRcdFx0Y2FzZSAxMDA6XG5cdFx0XHRcdFx0cmV0dXJuIHJlcGxhY2UodmFsdWUsICc6JywgJzonICsgTVMpICsgdmFsdWVcblx0XHRcdH1cblx0XHRcdGJyZWFrXG5cdFx0Ly8gc2Nyb2xsLW1hcmdpbiwgc2Nyb2xsLW1hcmdpbi0odG9wfHJpZ2h0fGJvdHRvbXxsZWZ0KVxuXHRcdGNhc2UgNTcxOTogY2FzZSAyNjQ3OiBjYXNlIDIxMzU6IGNhc2UgMzkyNzogY2FzZSAyMzkxOlxuXHRcdFx0cmV0dXJuIHJlcGxhY2UodmFsdWUsICdzY3JvbGwtJywgJ3Njcm9sbC1zbmFwLScpICsgdmFsdWVcblx0fVxuXG5cdHJldHVybiB2YWx1ZVxufVxuIiwiaW1wb3J0IHtJTVBPUlQsIExBWUVSLCBDT01NRU5ULCBSVUxFU0VULCBERUNMQVJBVElPTiwgS0VZRlJBTUVTfSBmcm9tICcuL0VudW0uanMnXG5pbXBvcnQge3N0cmxlbn0gZnJvbSAnLi9VdGlsaXR5LmpzJ1xuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0W119IGNoaWxkcmVuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplIChjaGlsZHJlbiwgY2FsbGJhY2spIHtcblx0dmFyIG91dHB1dCA9ICcnXG5cblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKylcblx0XHRvdXRwdXQgKz0gY2FsbGJhY2soY2hpbGRyZW5baV0sIGksIGNoaWxkcmVuLCBjYWxsYmFjaykgfHwgJydcblxuXHRyZXR1cm4gb3V0cHV0XG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGVsZW1lbnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHBhcmFtIHtvYmplY3RbXX0gY2hpbGRyZW5cbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnkgKGVsZW1lbnQsIGluZGV4LCBjaGlsZHJlbiwgY2FsbGJhY2spIHtcblx0c3dpdGNoIChlbGVtZW50LnR5cGUpIHtcblx0XHRjYXNlIExBWUVSOiBpZiAoZWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpIGJyZWFrXG5cdFx0Y2FzZSBJTVBPUlQ6IGNhc2UgREVDTEFSQVRJT046IHJldHVybiBlbGVtZW50LnJldHVybiA9IGVsZW1lbnQucmV0dXJuIHx8IGVsZW1lbnQudmFsdWVcblx0XHRjYXNlIENPTU1FTlQ6IHJldHVybiAnJ1xuXHRcdGNhc2UgS0VZRlJBTUVTOiByZXR1cm4gZWxlbWVudC5yZXR1cm4gPSBlbGVtZW50LnZhbHVlICsgJ3snICsgc2VyaWFsaXplKGVsZW1lbnQuY2hpbGRyZW4sIGNhbGxiYWNrKSArICd9J1xuXHRcdGNhc2UgUlVMRVNFVDogaWYgKCFzdHJsZW4oZWxlbWVudC52YWx1ZSA9IGVsZW1lbnQucHJvcHMuam9pbignLCcpKSkgcmV0dXJuICcnXG5cdH1cblxuXHRyZXR1cm4gc3RybGVuKGNoaWxkcmVuID0gc2VyaWFsaXplKGVsZW1lbnQuY2hpbGRyZW4sIGNhbGxiYWNrKSkgPyBlbGVtZW50LnJldHVybiA9IGVsZW1lbnQudmFsdWUgKyAneycgKyBjaGlsZHJlbiArICd9JyA6ICcnXG59XG4iLCJpbXBvcnQge01TLCBNT1osIFdFQktJVCwgUlVMRVNFVCwgS0VZRlJBTUVTLCBERUNMQVJBVElPTn0gZnJvbSAnLi9FbnVtLmpzJ1xuaW1wb3J0IHttYXRjaCwgY2hhcmF0LCBzdWJzdHIsIHN0cmxlbiwgc2l6ZW9mLCByZXBsYWNlLCBjb21iaW5lLCBmaWx0ZXIsIGFzc2lnbn0gZnJvbSAnLi9VdGlsaXR5LmpzJ1xuaW1wb3J0IHtjb3B5LCBsaWZ0LCB0b2tlbml6ZX0gZnJvbSAnLi9Ub2tlbml6ZXIuanMnXG5pbXBvcnQge3NlcmlhbGl6ZX0gZnJvbSAnLi9TZXJpYWxpemVyLmpzJ1xuaW1wb3J0IHtwcmVmaXh9IGZyb20gJy4vUHJlZml4ZXIuanMnXG5cbi8qKlxuICogQHBhcmFtIHtmdW5jdGlvbltdfSBjb2xsZWN0aW9uXG4gKiBAcmV0dXJuIHtmdW5jdGlvbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1pZGRsZXdhcmUgKGNvbGxlY3Rpb24pIHtcblx0dmFyIGxlbmd0aCA9IHNpemVvZihjb2xsZWN0aW9uKVxuXG5cdHJldHVybiBmdW5jdGlvbiAoZWxlbWVudCwgaW5kZXgsIGNoaWxkcmVuLCBjYWxsYmFjaykge1xuXHRcdHZhciBvdXRwdXQgPSAnJ1xuXG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKylcblx0XHRcdG91dHB1dCArPSBjb2xsZWN0aW9uW2ldKGVsZW1lbnQsIGluZGV4LCBjaGlsZHJlbiwgY2FsbGJhY2spIHx8ICcnXG5cblx0XHRyZXR1cm4gb3V0cHV0XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybiB7ZnVuY3Rpb259XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBydWxlc2hlZXQgKGNhbGxiYWNrKSB7XG5cdHJldHVybiBmdW5jdGlvbiAoZWxlbWVudCkge1xuXHRcdGlmICghZWxlbWVudC5yb290KVxuXHRcdFx0aWYgKGVsZW1lbnQgPSBlbGVtZW50LnJldHVybilcblx0XHRcdFx0Y2FsbGJhY2soZWxlbWVudClcblx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBlbGVtZW50XG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEBwYXJhbSB7b2JqZWN0W119IGNoaWxkcmVuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFja1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJlZml4ZXIgKGVsZW1lbnQsIGluZGV4LCBjaGlsZHJlbiwgY2FsbGJhY2spIHtcblx0aWYgKGVsZW1lbnQubGVuZ3RoID4gLTEpXG5cdFx0aWYgKCFlbGVtZW50LnJldHVybilcblx0XHRcdHN3aXRjaCAoZWxlbWVudC50eXBlKSB7XG5cdFx0XHRcdGNhc2UgREVDTEFSQVRJT046IGVsZW1lbnQucmV0dXJuID0gcHJlZml4KGVsZW1lbnQudmFsdWUsIGVsZW1lbnQubGVuZ3RoLCBjaGlsZHJlbilcblx0XHRcdFx0XHRyZXR1cm5cblx0XHRcdFx0Y2FzZSBLRVlGUkFNRVM6XG5cdFx0XHRcdFx0cmV0dXJuIHNlcmlhbGl6ZShbY29weShlbGVtZW50LCB7dmFsdWU6IHJlcGxhY2UoZWxlbWVudC52YWx1ZSwgJ0AnLCAnQCcgKyBXRUJLSVQpfSldLCBjYWxsYmFjaylcblx0XHRcdFx0Y2FzZSBSVUxFU0VUOlxuXHRcdFx0XHRcdGlmIChlbGVtZW50Lmxlbmd0aClcblx0XHRcdFx0XHRcdHJldHVybiBjb21iaW5lKGNoaWxkcmVuID0gZWxlbWVudC5wcm9wcywgZnVuY3Rpb24gKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHN3aXRjaCAobWF0Y2godmFsdWUsIGNhbGxiYWNrID0gLyg6OnBsYWNcXHcrfDpyZWFkLVxcdyspLykpIHtcblx0XHRcdFx0XHRcdFx0XHQvLyA6cmVhZC0ob25seXx3cml0ZSlcblx0XHRcdFx0XHRcdFx0XHRjYXNlICc6cmVhZC1vbmx5JzogY2FzZSAnOnJlYWQtd3JpdGUnOlxuXHRcdFx0XHRcdFx0XHRcdFx0bGlmdChjb3B5KGVsZW1lbnQsIHtwcm9wczogW3JlcGxhY2UodmFsdWUsIC86KHJlYWQtXFx3KykvLCAnOicgKyBNT1ogKyAnJDEnKV19KSlcblx0XHRcdFx0XHRcdFx0XHRcdGxpZnQoY29weShlbGVtZW50LCB7cHJvcHM6IFt2YWx1ZV19KSlcblx0XHRcdFx0XHRcdFx0XHRcdGFzc2lnbihlbGVtZW50LCB7cHJvcHM6IGZpbHRlcihjaGlsZHJlbiwgY2FsbGJhY2spfSlcblx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdFx0XHRcdFx0Ly8gOnBsYWNlaG9sZGVyXG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSAnOjpwbGFjZWhvbGRlcic6XG5cdFx0XHRcdFx0XHRcdFx0XHRsaWZ0KGNvcHkoZWxlbWVudCwge3Byb3BzOiBbcmVwbGFjZSh2YWx1ZSwgLzoocGxhY1xcdyspLywgJzonICsgV0VCS0lUICsgJ2lucHV0LSQxJyldfSkpXG5cdFx0XHRcdFx0XHRcdFx0XHRsaWZ0KGNvcHkoZWxlbWVudCwge3Byb3BzOiBbcmVwbGFjZSh2YWx1ZSwgLzoocGxhY1xcdyspLywgJzonICsgTU9aICsgJyQxJyldfSkpXG5cdFx0XHRcdFx0XHRcdFx0XHRsaWZ0KGNvcHkoZWxlbWVudCwge3Byb3BzOiBbcmVwbGFjZSh2YWx1ZSwgLzoocGxhY1xcdyspLywgTVMgKyAnaW5wdXQtJDEnKV19KSlcblx0XHRcdFx0XHRcdFx0XHRcdGxpZnQoY29weShlbGVtZW50LCB7cHJvcHM6IFt2YWx1ZV19KSlcblx0XHRcdFx0XHRcdFx0XHRcdGFzc2lnbihlbGVtZW50LCB7cHJvcHM6IGZpbHRlcihjaGlsZHJlbiwgY2FsbGJhY2spfSlcblx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gJydcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGVsZW1lbnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHBhcmFtIHtvYmplY3RbXX0gY2hpbGRyZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5hbWVzcGFjZSAoZWxlbWVudCkge1xuXHRzd2l0Y2ggKGVsZW1lbnQudHlwZSkge1xuXHRcdGNhc2UgUlVMRVNFVDpcblx0XHRcdGVsZW1lbnQucHJvcHMgPSBlbGVtZW50LnByb3BzLm1hcChmdW5jdGlvbiAodmFsdWUpIHtcblx0XHRcdFx0cmV0dXJuIGNvbWJpbmUodG9rZW5pemUodmFsdWUpLCBmdW5jdGlvbiAodmFsdWUsIGluZGV4LCBjaGlsZHJlbikge1xuXHRcdFx0XHRcdHN3aXRjaCAoY2hhcmF0KHZhbHVlLCAwKSkge1xuXHRcdFx0XHRcdFx0Ly8gXFxmXG5cdFx0XHRcdFx0XHRjYXNlIDEyOlxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gc3Vic3RyKHZhbHVlLCAxLCBzdHJsZW4odmFsdWUpKVxuXHRcdFx0XHRcdFx0Ly8gXFwwICggKyA+IH5cblx0XHRcdFx0XHRcdGNhc2UgMDogY2FzZSA0MDogY2FzZSA0MzogY2FzZSA2MjogY2FzZSAxMjY6XG5cdFx0XHRcdFx0XHRcdHJldHVybiB2YWx1ZVxuXHRcdFx0XHRcdFx0Ly8gOlxuXHRcdFx0XHRcdFx0Y2FzZSA1ODpcblx0XHRcdFx0XHRcdFx0aWYgKGNoaWxkcmVuWysraW5kZXhdID09PSAnZ2xvYmFsJylcblx0XHRcdFx0XHRcdFx0XHRjaGlsZHJlbltpbmRleF0gPSAnJywgY2hpbGRyZW5bKytpbmRleF0gPSAnXFxmJyArIHN1YnN0cihjaGlsZHJlbltpbmRleF0sIGluZGV4ID0gMSwgLTEpXG5cdFx0XHRcdFx0XHQvLyBcXHNcblx0XHRcdFx0XHRcdGNhc2UgMzI6XG5cdFx0XHRcdFx0XHRcdHJldHVybiBpbmRleCA9PT0gMSA/ICcnIDogdmFsdWVcblx0XHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRcdHN3aXRjaCAoaW5kZXgpIHtcblx0XHRcdFx0XHRcdFx0XHRjYXNlIDA6IGVsZW1lbnQgPSB2YWx1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNpemVvZihjaGlsZHJlbikgPiAxID8gJycgOiB2YWx1ZVxuXHRcdFx0XHRcdFx0XHRcdGNhc2UgaW5kZXggPSBzaXplb2YoY2hpbGRyZW4pIC0gMTogY2FzZSAyOlxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGluZGV4ID09PSAyID8gdmFsdWUgKyBlbGVtZW50ICsgZWxlbWVudCA6IHZhbHVlICsgZWxlbWVudFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gdmFsdWVcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0pXG5cdH1cbn1cbiIsInZhciB1bml0bGVzc0tleXMgPSB7XG4gIGFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiAxLFxuICBhc3BlY3RSYXRpbzogMSxcbiAgYm9yZGVySW1hZ2VPdXRzZXQ6IDEsXG4gIGJvcmRlckltYWdlU2xpY2U6IDEsXG4gIGJvcmRlckltYWdlV2lkdGg6IDEsXG4gIGJveEZsZXg6IDEsXG4gIGJveEZsZXhHcm91cDogMSxcbiAgYm94T3JkaW5hbEdyb3VwOiAxLFxuICBjb2x1bW5Db3VudDogMSxcbiAgY29sdW1uczogMSxcbiAgZmxleDogMSxcbiAgZmxleEdyb3c6IDEsXG4gIGZsZXhQb3NpdGl2ZTogMSxcbiAgZmxleFNocmluazogMSxcbiAgZmxleE5lZ2F0aXZlOiAxLFxuICBmbGV4T3JkZXI6IDEsXG4gIGdyaWRSb3c6IDEsXG4gIGdyaWRSb3dFbmQ6IDEsXG4gIGdyaWRSb3dTcGFuOiAxLFxuICBncmlkUm93U3RhcnQ6IDEsXG4gIGdyaWRDb2x1bW46IDEsXG4gIGdyaWRDb2x1bW5FbmQ6IDEsXG4gIGdyaWRDb2x1bW5TcGFuOiAxLFxuICBncmlkQ29sdW1uU3RhcnQ6IDEsXG4gIG1zR3JpZFJvdzogMSxcbiAgbXNHcmlkUm93U3BhbjogMSxcbiAgbXNHcmlkQ29sdW1uOiAxLFxuICBtc0dyaWRDb2x1bW5TcGFuOiAxLFxuICBmb250V2VpZ2h0OiAxLFxuICBsaW5lSGVpZ2h0OiAxLFxuICBvcGFjaXR5OiAxLFxuICBvcmRlcjogMSxcbiAgb3JwaGFuczogMSxcbiAgdGFiU2l6ZTogMSxcbiAgd2lkb3dzOiAxLFxuICB6SW5kZXg6IDEsXG4gIHpvb206IDEsXG4gIFdlYmtpdExpbmVDbGFtcDogMSxcbiAgLy8gU1ZHLXJlbGF0ZWQgcHJvcGVydGllc1xuICBmaWxsT3BhY2l0eTogMSxcbiAgZmxvb2RPcGFjaXR5OiAxLFxuICBzdG9wT3BhY2l0eTogMSxcbiAgc3Ryb2tlRGFzaGFycmF5OiAxLFxuICBzdHJva2VEYXNob2Zmc2V0OiAxLFxuICBzdHJva2VNaXRlcmxpbWl0OiAxLFxuICBzdHJva2VPcGFjaXR5OiAxLFxuICBzdHJva2VXaWR0aDogMVxufTtcblxuZXhwb3J0IHsgdW5pdGxlc3NLZXlzIGFzIGRlZmF1bHQgfTtcbiIsImltcG9ydHtfX3NwcmVhZEFycmF5IGFzIGUsX19hc3NpZ24gYXMgdH1mcm9tXCJ0c2xpYlwiO2ltcG9ydCBuIGZyb21cIkBlbW90aW9uL2lzLXByb3AtdmFsaWRcIjtpbXBvcnQgbyx7dXNlUmVmIGFzIHIsdXNlU3RhdGUgYXMgcyx1c2VNZW1vIGFzIGksdXNlRWZmZWN0IGFzIGEsdXNlQ29udGV4dCBhcyBjLHVzZURlYnVnVmFsdWUgYXMgbCxjcmVhdGVFbGVtZW50IGFzIHV9ZnJvbVwicmVhY3RcIjtpbXBvcnQgcCBmcm9tXCJzaGFsbG93ZXF1YWxcIjtpbXBvcnQqYXMgZCBmcm9tXCJzdHlsaXNcIjtpbXBvcnQgaCBmcm9tXCJAZW1vdGlvbi91bml0bGVzc1wiO3ZhciBmPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcm9jZXNzJiZ2b2lkIDAhPT1wcm9jZXNzLmVudiYmKHByb2Nlc3MuZW52LlJFQUNUX0FQUF9TQ19BVFRSfHxwcm9jZXNzLmVudi5TQ19BVFRSKXx8XCJkYXRhLXN0eWxlZFwiLG09XCJhY3RpdmVcIix5PVwiZGF0YS1zdHlsZWQtdmVyc2lvblwiLHY9XCI2LjEuMTJcIixnPVwiLyohc2MqL1xcblwiLFM9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmXCJIVE1MRWxlbWVudFwiaW4gd2luZG93LHc9Qm9vbGVhbihcImJvb2xlYW5cIj09dHlwZW9mIFNDX0RJU0FCTEVfU1BFRURZP1NDX0RJU0FCTEVfU1BFRURZOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcm9jZXNzJiZ2b2lkIDAhPT1wcm9jZXNzLmVudiYmdm9pZCAwIT09cHJvY2Vzcy5lbnYuUkVBQ1RfQVBQX1NDX0RJU0FCTEVfU1BFRURZJiZcIlwiIT09cHJvY2Vzcy5lbnYuUkVBQ1RfQVBQX1NDX0RJU0FCTEVfU1BFRURZP1wiZmFsc2VcIiE9PXByb2Nlc3MuZW52LlJFQUNUX0FQUF9TQ19ESVNBQkxFX1NQRUVEWSYmcHJvY2Vzcy5lbnYuUkVBQ1RfQVBQX1NDX0RJU0FCTEVfU1BFRURZOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcm9jZXNzJiZ2b2lkIDAhPT1wcm9jZXNzLmVudiYmdm9pZCAwIT09cHJvY2Vzcy5lbnYuU0NfRElTQUJMRV9TUEVFRFkmJlwiXCIhPT1wcm9jZXNzLmVudi5TQ19ESVNBQkxFX1NQRUVEWT9cImZhbHNlXCIhPT1wcm9jZXNzLmVudi5TQ19ESVNBQkxFX1NQRUVEWSYmcHJvY2Vzcy5lbnYuU0NfRElTQUJMRV9TUEVFRFk6XCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViksYj17fSxFPS9pbnZhbGlkIGhvb2sgY2FsbC9pLE49bmV3IFNldCxQPWZ1bmN0aW9uKHQsbil7aWYoXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOVil7dmFyIG89bj8nIHdpdGggdGhlIGlkIG9mIFwiJy5jb25jYXQobiwnXCInKTpcIlwiLHM9XCJUaGUgY29tcG9uZW50IFwiLmNvbmNhdCh0KS5jb25jYXQobyxcIiBoYXMgYmVlbiBjcmVhdGVkIGR5bmFtaWNhbGx5LlxcblwiKStcIllvdSBtYXkgc2VlIHRoaXMgd2FybmluZyBiZWNhdXNlIHlvdSd2ZSBjYWxsZWQgc3R5bGVkIGluc2lkZSBhbm90aGVyIGNvbXBvbmVudC5cXG5UbyByZXNvbHZlIHRoaXMgb25seSBjcmVhdGUgbmV3IFN0eWxlZENvbXBvbmVudHMgb3V0c2lkZSBvZiBhbnkgcmVuZGVyIG1ldGhvZCBhbmQgZnVuY3Rpb24gY29tcG9uZW50LlwiLGk9Y29uc29sZS5lcnJvcjt0cnl7dmFyIGE9ITA7Y29uc29sZS5lcnJvcj1mdW5jdGlvbih0KXtmb3IodmFyIG49W10sbz0xO288YXJndW1lbnRzLmxlbmd0aDtvKyspbltvLTFdPWFyZ3VtZW50c1tvXTtFLnRlc3QodCk/KGE9ITEsTi5kZWxldGUocykpOmkuYXBwbHkodm9pZCAwLGUoW3RdLG4sITEpKX0scigpLGEmJiFOLmhhcyhzKSYmKGNvbnNvbGUud2FybihzKSxOLmFkZChzKSl9Y2F0Y2goZSl7RS50ZXN0KGUubWVzc2FnZSkmJk4uZGVsZXRlKHMpfWZpbmFsbHl7Y29uc29sZS5lcnJvcj1pfX19LF89T2JqZWN0LmZyZWV6ZShbXSksQz1PYmplY3QuZnJlZXplKHt9KTtmdW5jdGlvbiBJKGUsdCxuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49QyksZS50aGVtZSE9PW4udGhlbWUmJmUudGhlbWV8fHR8fG4udGhlbWV9dmFyIEE9bmV3IFNldChbXCJhXCIsXCJhYmJyXCIsXCJhZGRyZXNzXCIsXCJhcmVhXCIsXCJhcnRpY2xlXCIsXCJhc2lkZVwiLFwiYXVkaW9cIixcImJcIixcImJhc2VcIixcImJkaVwiLFwiYmRvXCIsXCJiaWdcIixcImJsb2NrcXVvdGVcIixcImJvZHlcIixcImJyXCIsXCJidXR0b25cIixcImNhbnZhc1wiLFwiY2FwdGlvblwiLFwiY2l0ZVwiLFwiY29kZVwiLFwiY29sXCIsXCJjb2xncm91cFwiLFwiZGF0YVwiLFwiZGF0YWxpc3RcIixcImRkXCIsXCJkZWxcIixcImRldGFpbHNcIixcImRmblwiLFwiZGlhbG9nXCIsXCJkaXZcIixcImRsXCIsXCJkdFwiLFwiZW1cIixcImVtYmVkXCIsXCJmaWVsZHNldFwiLFwiZmlnY2FwdGlvblwiLFwiZmlndXJlXCIsXCJmb290ZXJcIixcImZvcm1cIixcImgxXCIsXCJoMlwiLFwiaDNcIixcImg0XCIsXCJoNVwiLFwiaDZcIixcImhlYWRlclwiLFwiaGdyb3VwXCIsXCJoclwiLFwiaHRtbFwiLFwiaVwiLFwiaWZyYW1lXCIsXCJpbWdcIixcImlucHV0XCIsXCJpbnNcIixcImtiZFwiLFwia2V5Z2VuXCIsXCJsYWJlbFwiLFwibGVnZW5kXCIsXCJsaVwiLFwibGlua1wiLFwibWFpblwiLFwibWFwXCIsXCJtYXJrXCIsXCJtZW51XCIsXCJtZW51aXRlbVwiLFwibWV0YVwiLFwibWV0ZXJcIixcIm5hdlwiLFwibm9zY3JpcHRcIixcIm9iamVjdFwiLFwib2xcIixcIm9wdGdyb3VwXCIsXCJvcHRpb25cIixcIm91dHB1dFwiLFwicFwiLFwicGFyYW1cIixcInBpY3R1cmVcIixcInByZVwiLFwicHJvZ3Jlc3NcIixcInFcIixcInJwXCIsXCJydFwiLFwicnVieVwiLFwic1wiLFwic2FtcFwiLFwic2NyaXB0XCIsXCJzZWN0aW9uXCIsXCJzZWxlY3RcIixcInNtYWxsXCIsXCJzb3VyY2VcIixcInNwYW5cIixcInN0cm9uZ1wiLFwic3R5bGVcIixcInN1YlwiLFwic3VtbWFyeVwiLFwic3VwXCIsXCJ0YWJsZVwiLFwidGJvZHlcIixcInRkXCIsXCJ0ZXh0YXJlYVwiLFwidGZvb3RcIixcInRoXCIsXCJ0aGVhZFwiLFwidGltZVwiLFwidHJcIixcInRyYWNrXCIsXCJ1XCIsXCJ1bFwiLFwidXNlXCIsXCJ2YXJcIixcInZpZGVvXCIsXCJ3YnJcIixcImNpcmNsZVwiLFwiY2xpcFBhdGhcIixcImRlZnNcIixcImVsbGlwc2VcIixcImZvcmVpZ25PYmplY3RcIixcImdcIixcImltYWdlXCIsXCJsaW5lXCIsXCJsaW5lYXJHcmFkaWVudFwiLFwibWFya2VyXCIsXCJtYXNrXCIsXCJwYXRoXCIsXCJwYXR0ZXJuXCIsXCJwb2x5Z29uXCIsXCJwb2x5bGluZVwiLFwicmFkaWFsR3JhZGllbnRcIixcInJlY3RcIixcInN0b3BcIixcInN2Z1wiLFwidGV4dFwiLFwidHNwYW5cIl0pLE89L1shXCIjJCUmJygpKissLi86Ozw9Pj9AW1xcXFxcXF1eYHt8fX4tXSsvZyxEPS8oXi18LSQpL2c7ZnVuY3Rpb24gUihlKXtyZXR1cm4gZS5yZXBsYWNlKE8sXCItXCIpLnJlcGxhY2UoRCxcIlwiKX12YXIgVD0vKGEpKGQpL2dpLGs9NTIsaj1mdW5jdGlvbihlKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlKyhlPjI1PzM5Ojk3KSl9O2Z1bmN0aW9uIHgoZSl7dmFyIHQsbj1cIlwiO2Zvcih0PU1hdGguYWJzKGUpO3Q+azt0PXQva3wwKW49aih0JWspK247cmV0dXJuKGoodCVrKStuKS5yZXBsYWNlKFQsXCIkMS0kMlwiKX12YXIgVixGPTUzODEsTT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj10Lmxlbmd0aDtuOyllPTMzKmVedC5jaGFyQ29kZUF0KC0tbik7cmV0dXJuIGV9LHo9ZnVuY3Rpb24oZSl7cmV0dXJuIE0oRixlKX07ZnVuY3Rpb24gJChlKXtyZXR1cm4geCh6KGUpPj4+MCl9ZnVuY3Rpb24gQihlKXtyZXR1cm5cInByb2R1Y3Rpb25cIiE9PXByb2Nlc3MuZW52Lk5PREVfRU5WJiZcInN0cmluZ1wiPT10eXBlb2YgZSYmZXx8ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHxcIkNvbXBvbmVudFwifWZ1bmN0aW9uIEwoZSl7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIGUmJihcInByb2R1Y3Rpb25cIj09PXByb2Nlc3MuZW52Lk5PREVfRU5WfHxlLmNoYXJBdCgwKT09PWUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkpfXZhciBHPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmZvcixZPUc/U3ltYm9sLmZvcihcInJlYWN0Lm1lbW9cIik6NjAxMTUsVz1HP1N5bWJvbC5mb3IoXCJyZWFjdC5mb3J3YXJkX3JlZlwiKTo2MDExMixxPXtjaGlsZENvbnRleHRUeXBlczohMCxjb250ZXh0VHlwZTohMCxjb250ZXh0VHlwZXM6ITAsZGVmYXVsdFByb3BzOiEwLGRpc3BsYXlOYW1lOiEwLGdldERlZmF1bHRQcm9wczohMCxnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I6ITAsZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzOiEwLG1peGluczohMCxwcm9wVHlwZXM6ITAsdHlwZTohMH0sSD17bmFtZTohMCxsZW5ndGg6ITAscHJvdG90eXBlOiEwLGNhbGxlcjohMCxjYWxsZWU6ITAsYXJndW1lbnRzOiEwLGFyaXR5OiEwfSxVPXskJHR5cGVvZjohMCxjb21wYXJlOiEwLGRlZmF1bHRQcm9wczohMCxkaXNwbGF5TmFtZTohMCxwcm9wVHlwZXM6ITAsdHlwZTohMH0sSj0oKFY9e30pW1ddPXskJHR5cGVvZjohMCxyZW5kZXI6ITAsZGVmYXVsdFByb3BzOiEwLGRpc3BsYXlOYW1lOiEwLHByb3BUeXBlczohMH0sVltZXT1VLFYpO2Z1bmN0aW9uIFgoZSl7cmV0dXJuKFwidHlwZVwiaW4odD1lKSYmdC50eXBlLiQkdHlwZW9mKT09PVk/VTpcIiQkdHlwZW9mXCJpbiBlP0pbZS4kJHR5cGVvZl06cTt2YXIgdH12YXIgWj1PYmplY3QuZGVmaW5lUHJvcGVydHksSz1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxRPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsZWU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix0ZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YsbmU9T2JqZWN0LnByb3RvdHlwZTtmdW5jdGlvbiBvZShlLHQsbil7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIHQpe2lmKG5lKXt2YXIgbz10ZSh0KTtvJiZvIT09bmUmJm9lKGUsbyxuKX12YXIgcj1LKHQpO1EmJihyPXIuY29uY2F0KFEodCkpKTtmb3IodmFyIHM9WChlKSxpPVgodCksYT0wO2E8ci5sZW5ndGg7KythKXt2YXIgYz1yW2FdO2lmKCEoYyBpbiBIfHxuJiZuW2NdfHxpJiZjIGluIGl8fHMmJmMgaW4gcykpe3ZhciBsPWVlKHQsYyk7dHJ5e1ooZSxjLGwpfWNhdGNoKGUpe319fX1yZXR1cm4gZX1mdW5jdGlvbiByZShlKXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBlfWZ1bmN0aW9uIHNlKGUpe3JldHVyblwib2JqZWN0XCI9PXR5cGVvZiBlJiZcInN0eWxlZENvbXBvbmVudElkXCJpbiBlfWZ1bmN0aW9uIGllKGUsdCl7cmV0dXJuIGUmJnQ/XCJcIi5jb25jYXQoZSxcIiBcIikuY29uY2F0KHQpOmV8fHR8fFwiXCJ9ZnVuY3Rpb24gYWUoZSx0KXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuXCJcIjtmb3IodmFyIG49ZVswXSxvPTE7bzxlLmxlbmd0aDtvKyspbis9dD90K2Vbb106ZVtvXTtyZXR1cm4gbn1mdW5jdGlvbiBjZShlKXtyZXR1cm4gbnVsbCE9PWUmJlwib2JqZWN0XCI9PXR5cGVvZiBlJiZlLmNvbnN0cnVjdG9yLm5hbWU9PT1PYmplY3QubmFtZSYmIShcInByb3BzXCJpbiBlJiZlLiQkdHlwZW9mKX1mdW5jdGlvbiBsZShlLHQsbil7aWYodm9pZCAwPT09biYmKG49ITEpLCFuJiYhY2UoZSkmJiFBcnJheS5pc0FycmF5KGUpKXJldHVybiB0O2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKHZhciBvPTA7bzx0Lmxlbmd0aDtvKyspZVtvXT1sZShlW29dLHRbb10pO2Vsc2UgaWYoY2UodCkpZm9yKHZhciBvIGluIHQpZVtvXT1sZShlW29dLHRbb10pO3JldHVybiBlfWZ1bmN0aW9uIHVlKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJ0b1N0cmluZ1wiLHt2YWx1ZTp0fSl9dmFyIHBlPVwicHJvZHVjdGlvblwiIT09cHJvY2Vzcy5lbnYuTk9ERV9FTlY/ezE6XCJDYW5ub3QgY3JlYXRlIHN0eWxlZC1jb21wb25lbnQgZm9yIGNvbXBvbmVudDogJXMuXFxuXFxuXCIsMjpcIkNhbid0IGNvbGxlY3Qgc3R5bGVzIG9uY2UgeW91J3ZlIGNvbnN1bWVkIGEgYFNlcnZlclN0eWxlU2hlZXRgJ3Mgc3R5bGVzISBgU2VydmVyU3R5bGVTaGVldGAgaXMgYSBvbmUgb2ZmIGluc3RhbmNlIGZvciBlYWNoIHNlcnZlci1zaWRlIHJlbmRlciBjeWNsZS5cXG5cXG4tIEFyZSB5b3UgdHJ5aW5nIHRvIHJldXNlIGl0IGFjcm9zcyByZW5kZXJzP1xcbi0gQXJlIHlvdSBhY2NpZGVudGFsbHkgY2FsbGluZyBjb2xsZWN0U3R5bGVzIHR3aWNlP1xcblxcblwiLDM6XCJTdHJlYW1pbmcgU1NSIGlzIG9ubHkgc3VwcG9ydGVkIGluIGEgTm9kZS5qcyBlbnZpcm9ubWVudDsgUGxlYXNlIGRvIG5vdCB0cnkgdG8gY2FsbCB0aGlzIG1ldGhvZCBpbiB0aGUgYnJvd3Nlci5cXG5cXG5cIiw0OlwiVGhlIGBTdHlsZVNoZWV0TWFuYWdlcmAgZXhwZWN0cyBhIHZhbGlkIHRhcmdldCBvciBzaGVldCBwcm9wIVxcblxcbi0gRG9lcyB0aGlzIGVycm9yIG9jY3VyIG9uIHRoZSBjbGllbnQgYW5kIGlzIHlvdXIgdGFyZ2V0IGZhbHN5P1xcbi0gRG9lcyB0aGlzIGVycm9yIG9jY3VyIG9uIHRoZSBzZXJ2ZXIgYW5kIGlzIHRoZSBzaGVldCBmYWxzeT9cXG5cXG5cIiw1OlwiVGhlIGNsb25lIG1ldGhvZCBjYW5ub3QgYmUgdXNlZCBvbiB0aGUgY2xpZW50IVxcblxcbi0gQXJlIHlvdSBydW5uaW5nIGluIGEgY2xpZW50LWxpa2UgZW52aXJvbm1lbnQgb24gdGhlIHNlcnZlcj9cXG4tIEFyZSB5b3UgdHJ5aW5nIHRvIHJ1biBTU1Igb24gdGhlIGNsaWVudD9cXG5cXG5cIiw2OlwiVHJ5aW5nIHRvIGluc2VydCBhIG5ldyBzdHlsZSB0YWcsIGJ1dCB0aGUgZ2l2ZW4gTm9kZSBpcyB1bm1vdW50ZWQhXFxuXFxuLSBBcmUgeW91IHVzaW5nIGEgY3VzdG9tIHRhcmdldCB0aGF0IGlzbid0IG1vdW50ZWQ/XFxuLSBEb2VzIHlvdXIgZG9jdW1lbnQgbm90IGhhdmUgYSB2YWxpZCBoZWFkIGVsZW1lbnQ/XFxuLSBIYXZlIHlvdSBhY2NpZGVudGFsbHkgcmVtb3ZlZCBhIHN0eWxlIHRhZyBtYW51YWxseT9cXG5cXG5cIiw3OidUaGVtZVByb3ZpZGVyOiBQbGVhc2UgcmV0dXJuIGFuIG9iamVjdCBmcm9tIHlvdXIgXCJ0aGVtZVwiIHByb3AgZnVuY3Rpb24sIGUuZy5cXG5cXG5gYGBqc1xcbnRoZW1lPXsoKSA9PiAoe30pfVxcbmBgYFxcblxcbicsODonVGhlbWVQcm92aWRlcjogUGxlYXNlIG1ha2UgeW91ciBcInRoZW1lXCIgcHJvcCBhbiBvYmplY3QuXFxuXFxuJyw5OlwiTWlzc2luZyBkb2N1bWVudCBgPGhlYWQ+YFxcblxcblwiLDEwOlwiQ2Fubm90IGZpbmQgYSBTdHlsZVNoZWV0IGluc3RhbmNlLiBVc3VhbGx5IHRoaXMgaGFwcGVucyBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgY29waWVzIG9mIHN0eWxlZC1jb21wb25lbnRzIGxvYWRlZCBhdCBvbmNlLiBDaGVjayBvdXQgdGhpcyBpc3N1ZSBmb3IgaG93IHRvIHRyb3VibGVzaG9vdCBhbmQgZml4IHRoZSBjb21tb24gY2FzZXMgd2hlcmUgdGhpcyBzaXR1YXRpb24gY2FuIGhhcHBlbjogaHR0cHM6Ly9naXRodWIuY29tL3N0eWxlZC1jb21wb25lbnRzL3N0eWxlZC1jb21wb25lbnRzL2lzc3Vlcy8xOTQxI2lzc3VlY29tbWVudC00MTc4NjIwMjFcXG5cXG5cIiwxMTpcIl9UaGlzIGVycm9yIHdhcyByZXBsYWNlZCB3aXRoIGEgZGV2LXRpbWUgd2FybmluZywgaXQgd2lsbCBiZSBkZWxldGVkIGZvciB2NCBmaW5hbC5fIFtjcmVhdGVHbG9iYWxTdHlsZV0gcmVjZWl2ZWQgY2hpbGRyZW4gd2hpY2ggd2lsbCBub3QgYmUgcmVuZGVyZWQuIFBsZWFzZSB1c2UgdGhlIGNvbXBvbmVudCB3aXRob3V0IHBhc3NpbmcgY2hpbGRyZW4gZWxlbWVudHMuXFxuXFxuXCIsMTI6XCJJdCBzZWVtcyB5b3UgYXJlIGludGVycG9sYXRpbmcgYSBrZXlmcmFtZSBkZWNsYXJhdGlvbiAoJXMpIGludG8gYW4gdW50YWdnZWQgc3RyaW5nLiBUaGlzIHdhcyBzdXBwb3J0ZWQgaW4gc3R5bGVkLWNvbXBvbmVudHMgdjMsIGJ1dCBpcyBub3QgbG9uZ2VyIHN1cHBvcnRlZCBpbiB2NCBhcyBrZXlmcmFtZXMgYXJlIG5vdyBpbmplY3RlZCBvbi1kZW1hbmQuIFBsZWFzZSB3cmFwIHlvdXIgc3RyaW5nIGluIHRoZSBjc3NcXFxcYFxcXFxgIGhlbHBlciB3aGljaCBlbnN1cmVzIHRoZSBzdHlsZXMgYXJlIGluamVjdGVkIGNvcnJlY3RseS4gU2VlIGh0dHBzOi8vd3d3LnN0eWxlZC1jb21wb25lbnRzLmNvbS9kb2NzL2FwaSNjc3NcXG5cXG5cIiwxMzpcIiVzIGlzIG5vdCBhIHN0eWxlZCBjb21wb25lbnQgYW5kIGNhbm5vdCBiZSByZWZlcnJlZCB0byB2aWEgY29tcG9uZW50IHNlbGVjdG9yLiBTZWUgaHR0cHM6Ly93d3cuc3R5bGVkLWNvbXBvbmVudHMuY29tL2RvY3MvYWR2YW5jZWQjcmVmZXJyaW5nLXRvLW90aGVyLWNvbXBvbmVudHMgZm9yIG1vcmUgZGV0YWlscy5cXG5cXG5cIiwxNDonVGhlbWVQcm92aWRlcjogXCJ0aGVtZVwiIHByb3AgaXMgcmVxdWlyZWQuXFxuXFxuJywxNTpcIkEgc3R5bGlzIHBsdWdpbiBoYXMgYmVlbiBzdXBwbGllZCB0aGF0IGlzIG5vdCBuYW1lZC4gV2UgbmVlZCBhIG5hbWUgZm9yIGVhY2ggcGx1Z2luIHRvIGJlIGFibGUgdG8gcHJldmVudCBzdHlsaW5nIGNvbGxpc2lvbnMgYmV0d2VlbiBkaWZmZXJlbnQgc3R5bGlzIGNvbmZpZ3VyYXRpb25zIHdpdGhpbiB0aGUgc2FtZSBhcHAuIEJlZm9yZSB5b3UgcGFzcyB5b3VyIHBsdWdpbiB0byBgPFN0eWxlU2hlZXRNYW5hZ2VyIHN0eWxpc1BsdWdpbnM9e1tdfT5gLCBwbGVhc2UgbWFrZSBzdXJlIGVhY2ggcGx1Z2luIGlzIHVuaXF1ZWx5LW5hbWVkLCBlLmcuXFxuXFxuYGBganNcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoaW1wb3J0ZWRQbHVnaW4sICduYW1lJywgeyB2YWx1ZTogJ3NvbWUtdW5pcXVlLW5hbWUnIH0pO1xcbmBgYFxcblxcblwiLDE2OlwiUmVhY2hlZCB0aGUgbGltaXQgb2YgaG93IG1hbnkgc3R5bGVkIGNvbXBvbmVudHMgbWF5IGJlIGNyZWF0ZWQgYXQgZ3JvdXAgJXMuXFxuWW91IG1heSBvbmx5IGNyZWF0ZSB1cCB0byAxLDA3Myw3NDEsODI0IGNvbXBvbmVudHMuIElmIHlvdSdyZSBjcmVhdGluZyBjb21wb25lbnRzIGR5bmFtaWNhbGx5LFxcbmFzIGZvciBpbnN0YW5jZSBpbiB5b3VyIHJlbmRlciBtZXRob2QgdGhlbiB5b3UgbWF5IGJlIHJ1bm5pbmcgaW50byB0aGlzIGxpbWl0YXRpb24uXFxuXFxuXCIsMTc6XCJDU1NTdHlsZVNoZWV0IGNvdWxkIG5vdCBiZSBmb3VuZCBvbiBIVE1MU3R5bGVFbGVtZW50LlxcbkhhcyBzdHlsZWQtY29tcG9uZW50cycgc3R5bGUgdGFnIGJlZW4gdW5tb3VudGVkIG9yIGFsdGVyZWQgYnkgYW5vdGhlciBzY3JpcHQ/XFxuXCIsMTg6XCJUaGVtZVByb3ZpZGVyOiBQbGVhc2UgbWFrZSBzdXJlIHlvdXIgdXNlVGhlbWUgaG9vayBpcyB3aXRoaW4gYSBgPFRoZW1lUHJvdmlkZXI+YFwifTp7fTtmdW5jdGlvbiBkZSgpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTtmb3IodmFyIG49ZVswXSxvPVtdLHI9MSxzPWUubGVuZ3RoO3I8cztyKz0xKW8ucHVzaChlW3JdKTtyZXR1cm4gby5mb3JFYWNoKGZ1bmN0aW9uKGUpe249bi5yZXBsYWNlKC8lW2Etel0vLGUpfSksbn1mdW5jdGlvbiBoZSh0KXtmb3IodmFyIG49W10sbz0xO288YXJndW1lbnRzLmxlbmd0aDtvKyspbltvLTFdPWFyZ3VtZW50c1tvXTtyZXR1cm5cInByb2R1Y3Rpb25cIj09PXByb2Nlc3MuZW52Lk5PREVfRU5WP25ldyBFcnJvcihcIkFuIGVycm9yIG9jY3VycmVkLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3N0eWxlZC1jb21wb25lbnRzL3N0eWxlZC1jb21wb25lbnRzL2Jsb2IvbWFpbi9wYWNrYWdlcy9zdHlsZWQtY29tcG9uZW50cy9zcmMvdXRpbHMvZXJyb3JzLm1kI1wiLmNvbmNhdCh0LFwiIGZvciBtb3JlIGluZm9ybWF0aW9uLlwiKS5jb25jYXQobi5sZW5ndGg+MD9cIiBBcmdzOiBcIi5jb25jYXQobi5qb2luKFwiLCBcIikpOlwiXCIpKTpuZXcgRXJyb3IoZGUuYXBwbHkodm9pZCAwLGUoW3BlW3RdXSxuLCExKSkudHJpbSgpKX12YXIgZmU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMuZ3JvdXBTaXplcz1uZXcgVWludDMyQXJyYXkoNTEyKSx0aGlzLmxlbmd0aD01MTIsdGhpcy50YWc9ZX1yZXR1cm4gZS5wcm90b3R5cGUuaW5kZXhPZkdyb3VwPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLG49MDtuPGU7bisrKXQrPXRoaXMuZ3JvdXBTaXplc1tuXTtyZXR1cm4gdH0sZS5wcm90b3R5cGUuaW5zZXJ0UnVsZXM9ZnVuY3Rpb24oZSx0KXtpZihlPj10aGlzLmdyb3VwU2l6ZXMubGVuZ3RoKXtmb3IodmFyIG49dGhpcy5ncm91cFNpemVzLG89bi5sZW5ndGgscj1vO2U+PXI7KWlmKChyPDw9MSk8MCl0aHJvdyBoZSgxNixcIlwiLmNvbmNhdChlKSk7dGhpcy5ncm91cFNpemVzPW5ldyBVaW50MzJBcnJheShyKSx0aGlzLmdyb3VwU2l6ZXMuc2V0KG4pLHRoaXMubGVuZ3RoPXI7Zm9yKHZhciBzPW87czxyO3MrKyl0aGlzLmdyb3VwU2l6ZXNbc109MH1mb3IodmFyIGk9dGhpcy5pbmRleE9mR3JvdXAoZSsxKSxhPShzPTAsdC5sZW5ndGgpO3M8YTtzKyspdGhpcy50YWcuaW5zZXJ0UnVsZShpLHRbc10pJiYodGhpcy5ncm91cFNpemVzW2VdKyssaSsrKX0sZS5wcm90b3R5cGUuY2xlYXJHcm91cD1mdW5jdGlvbihlKXtpZihlPHRoaXMubGVuZ3RoKXt2YXIgdD10aGlzLmdyb3VwU2l6ZXNbZV0sbj10aGlzLmluZGV4T2ZHcm91cChlKSxvPW4rdDt0aGlzLmdyb3VwU2l6ZXNbZV09MDtmb3IodmFyIHI9bjtyPG87cisrKXRoaXMudGFnLmRlbGV0ZVJ1bGUobil9fSxlLnByb3RvdHlwZS5nZXRHcm91cD1mdW5jdGlvbihlKXt2YXIgdD1cIlwiO2lmKGU+PXRoaXMubGVuZ3RofHwwPT09dGhpcy5ncm91cFNpemVzW2VdKXJldHVybiB0O2Zvcih2YXIgbj10aGlzLmdyb3VwU2l6ZXNbZV0sbz10aGlzLmluZGV4T2ZHcm91cChlKSxyPW8rbixzPW87czxyO3MrKyl0Kz1cIlwiLmNvbmNhdCh0aGlzLnRhZy5nZXRSdWxlKHMpKS5jb25jYXQoZyk7cmV0dXJuIHR9LGV9KCksbWU9MTw8MzAseWU9bmV3IE1hcCx2ZT1uZXcgTWFwLGdlPTEsU2U9ZnVuY3Rpb24oZSl7aWYoeWUuaGFzKGUpKXJldHVybiB5ZS5nZXQoZSk7Zm9yKDt2ZS5oYXMoZ2UpOylnZSsrO3ZhciB0PWdlKys7aWYoXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmKCgwfHQpPDB8fHQ+bWUpKXRocm93IGhlKDE2LFwiXCIuY29uY2F0KHQpKTtyZXR1cm4geWUuc2V0KGUsdCksdmUuc2V0KHQsZSksdH0sd2U9ZnVuY3Rpb24oZSx0KXtnZT10KzEseWUuc2V0KGUsdCksdmUuc2V0KHQsZSl9LGJlPVwic3R5bGVbXCIuY29uY2F0KGYsXCJdW1wiKS5jb25jYXQoeSwnPVwiJykuY29uY2F0KHYsJ1wiXScpLEVlPW5ldyBSZWdFeHAoXCJeXCIuY29uY2F0KGYsJ1xcXFwuZyhcXFxcZCspXFxcXFtpZD1cIihbXFxcXHdcXFxcZC1dKylcIlxcXFxdLio/XCIoW15cIl0qKScpKSxOZT1mdW5jdGlvbihlLHQsbil7Zm9yKHZhciBvLHI9bi5zcGxpdChcIixcIikscz0wLGk9ci5sZW5ndGg7czxpO3MrKykobz1yW3NdKSYmZS5yZWdpc3Rlck5hbWUodCxvKX0sUGU9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4sbz0obnVsbCE9PShuPXQudGV4dENvbnRlbnQpJiZ2b2lkIDAhPT1uP246XCJcIikuc3BsaXQoZykscj1bXSxzPTAsaT1vLmxlbmd0aDtzPGk7cysrKXt2YXIgYT1vW3NdLnRyaW0oKTtpZihhKXt2YXIgYz1hLm1hdGNoKEVlKTtpZihjKXt2YXIgbD0wfHBhcnNlSW50KGNbMV0sMTApLHU9Y1syXTswIT09bCYmKHdlKHUsbCksTmUoZSx1LGNbM10pLGUuZ2V0VGFnKCkuaW5zZXJ0UnVsZXMobCxyKSksci5sZW5ndGg9MH1lbHNlIHIucHVzaChhKX19fSxfZT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChiZSksbj0wLG89dC5sZW5ndGg7bjxvO24rKyl7dmFyIHI9dFtuXTtyJiZyLmdldEF0dHJpYnV0ZShmKSE9PW0mJihQZShlLHIpLHIucGFyZW50Tm9kZSYmci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpKX19O2Z1bmN0aW9uIENlKCl7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIF9fd2VicGFja19ub25jZV9fP19fd2VicGFja19ub25jZV9fOm51bGx9dmFyIEllPWZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmhlYWQsbj1lfHx0LG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpLHI9ZnVuY3Rpb24oZSl7dmFyIHQ9QXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJzdHlsZVtcIi5jb25jYXQoZixcIl1cIikpKTtyZXR1cm4gdFt0Lmxlbmd0aC0xXX0obikscz12b2lkIDAhPT1yP3IubmV4dFNpYmxpbmc6bnVsbDtvLnNldEF0dHJpYnV0ZShmLG0pLG8uc2V0QXR0cmlidXRlKHksdik7dmFyIGk9Q2UoKTtyZXR1cm4gaSYmby5zZXRBdHRyaWJ1dGUoXCJub25jZVwiLGkpLG4uaW5zZXJ0QmVmb3JlKG8scyksb30sQWU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMuZWxlbWVudD1JZShlKSx0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoXCJcIikpLHRoaXMuc2hlZXQ9ZnVuY3Rpb24oZSl7aWYoZS5zaGVldClyZXR1cm4gZS5zaGVldDtmb3IodmFyIHQ9ZG9jdW1lbnQuc3R5bGVTaGVldHMsbj0wLG89dC5sZW5ndGg7bjxvO24rKyl7dmFyIHI9dFtuXTtpZihyLm93bmVyTm9kZT09PWUpcmV0dXJuIHJ9dGhyb3cgaGUoMTcpfSh0aGlzLmVsZW1lbnQpLHRoaXMubGVuZ3RoPTB9cmV0dXJuIGUucHJvdG90eXBlLmluc2VydFJ1bGU9ZnVuY3Rpb24oZSx0KXt0cnl7cmV0dXJuIHRoaXMuc2hlZXQuaW5zZXJ0UnVsZSh0LGUpLHRoaXMubGVuZ3RoKyssITB9Y2F0Y2goZSl7cmV0dXJuITF9fSxlLnByb3RvdHlwZS5kZWxldGVSdWxlPWZ1bmN0aW9uKGUpe3RoaXMuc2hlZXQuZGVsZXRlUnVsZShlKSx0aGlzLmxlbmd0aC0tfSxlLnByb3RvdHlwZS5nZXRSdWxlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuc2hlZXQuY3NzUnVsZXNbZV07cmV0dXJuIHQmJnQuY3NzVGV4dD90LmNzc1RleHQ6XCJcIn0sZX0oKSxPZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dGhpcy5lbGVtZW50PUllKGUpLHRoaXMubm9kZXM9dGhpcy5lbGVtZW50LmNoaWxkTm9kZXMsdGhpcy5sZW5ndGg9MH1yZXR1cm4gZS5wcm90b3R5cGUuaW5zZXJ0UnVsZT1mdW5jdGlvbihlLHQpe2lmKGU8PXRoaXMubGVuZ3RoJiZlPj0wKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KTtyZXR1cm4gdGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZShuLHRoaXMubm9kZXNbZV18fG51bGwpLHRoaXMubGVuZ3RoKyssITB9cmV0dXJuITF9LGUucHJvdG90eXBlLmRlbGV0ZVJ1bGU9ZnVuY3Rpb24oZSl7dGhpcy5lbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMubm9kZXNbZV0pLHRoaXMubGVuZ3RoLS19LGUucHJvdG90eXBlLmdldFJ1bGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGU8dGhpcy5sZW5ndGg/dGhpcy5ub2Rlc1tlXS50ZXh0Q29udGVudDpcIlwifSxlfSgpLERlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXt0aGlzLnJ1bGVzPVtdLHRoaXMubGVuZ3RoPTB9cmV0dXJuIGUucHJvdG90eXBlLmluc2VydFJ1bGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZTw9dGhpcy5sZW5ndGgmJih0aGlzLnJ1bGVzLnNwbGljZShlLDAsdCksdGhpcy5sZW5ndGgrKywhMCl9LGUucHJvdG90eXBlLmRlbGV0ZVJ1bGU9ZnVuY3Rpb24oZSl7dGhpcy5ydWxlcy5zcGxpY2UoZSwxKSx0aGlzLmxlbmd0aC0tfSxlLnByb3RvdHlwZS5nZXRSdWxlPWZ1bmN0aW9uKGUpe3JldHVybiBlPHRoaXMubGVuZ3RoP3RoaXMucnVsZXNbZV06XCJcIn0sZX0oKSxSZT1TLFRlPXtpc1NlcnZlcjohUyx1c2VDU1NPTUluamVjdGlvbjohd30sa2U9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsbixvKXt2b2lkIDA9PT1lJiYoZT1DKSx2b2lkIDA9PT1uJiYobj17fSk7dmFyIHI9dGhpczt0aGlzLm9wdGlvbnM9dCh0KHt9LFRlKSxlKSx0aGlzLmdzPW4sdGhpcy5uYW1lcz1uZXcgTWFwKG8pLHRoaXMuc2VydmVyPSEhZS5pc1NlcnZlciwhdGhpcy5zZXJ2ZXImJlMmJlJlJiYoUmU9ITEsX2UodGhpcykpLHVlKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUuZ2V0VGFnKCksbj10Lmxlbmd0aCxvPVwiXCIscj1mdW5jdGlvbihuKXt2YXIgcj1mdW5jdGlvbihlKXtyZXR1cm4gdmUuZ2V0KGUpfShuKTtpZih2b2lkIDA9PT1yKXJldHVyblwiY29udGludWVcIjt2YXIgcz1lLm5hbWVzLmdldChyKSxpPXQuZ2V0R3JvdXAobik7aWYodm9pZCAwPT09c3x8IXMuc2l6ZXx8MD09PWkubGVuZ3RoKXJldHVyblwiY29udGludWVcIjt2YXIgYT1cIlwiLmNvbmNhdChmLFwiLmdcIikuY29uY2F0KG4sJ1tpZD1cIicpLmNvbmNhdChyLCdcIl0nKSxjPVwiXCI7dm9pZCAwIT09cyYmcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UubGVuZ3RoPjAmJihjKz1cIlwiLmNvbmNhdChlLFwiLFwiKSl9KSxvKz1cIlwiLmNvbmNhdChpKS5jb25jYXQoYSwne2NvbnRlbnQ6XCInKS5jb25jYXQoYywnXCJ9JykuY29uY2F0KGcpfSxzPTA7czxuO3MrKylyKHMpO3JldHVybiBvfShyKX0pfXJldHVybiBlLnJlZ2lzdGVySWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIFNlKGUpfSxlLnByb3RvdHlwZS5yZWh5ZHJhdGU9ZnVuY3Rpb24oKXshdGhpcy5zZXJ2ZXImJlMmJl9lKHRoaXMpfSxlLnByb3RvdHlwZS5yZWNvbnN0cnVjdFdpdGhPcHRpb25zPWZ1bmN0aW9uKG4sbyl7cmV0dXJuIHZvaWQgMD09PW8mJihvPSEwKSxuZXcgZSh0KHQoe30sdGhpcy5vcHRpb25zKSxuKSx0aGlzLmdzLG8mJnRoaXMubmFtZXN8fHZvaWQgMCl9LGUucHJvdG90eXBlLmFsbG9jYXRlR1NJbnN0YW5jZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5nc1tlXT0odGhpcy5nc1tlXXx8MCkrMX0sZS5wcm90b3R5cGUuZ2V0VGFnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGFnfHwodGhpcy50YWc9KGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS51c2VDU1NPTUluamVjdGlvbixuPWUudGFyZ2V0O3JldHVybiBlLmlzU2VydmVyP25ldyBEZShuKTp0P25ldyBBZShuKTpuZXcgT2Uobil9KHRoaXMub3B0aW9ucyksbmV3IGZlKGUpKSk7dmFyIGV9LGUucHJvdG90eXBlLmhhc05hbWVGb3JJZD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm5hbWVzLmhhcyhlKSYmdGhpcy5uYW1lcy5nZXQoZSkuaGFzKHQpfSxlLnByb3RvdHlwZS5yZWdpc3Rlck5hbWU9ZnVuY3Rpb24oZSx0KXtpZihTZShlKSx0aGlzLm5hbWVzLmhhcyhlKSl0aGlzLm5hbWVzLmdldChlKS5hZGQodCk7ZWxzZXt2YXIgbj1uZXcgU2V0O24uYWRkKHQpLHRoaXMubmFtZXMuc2V0KGUsbil9fSxlLnByb3RvdHlwZS5pbnNlcnRSdWxlcz1mdW5jdGlvbihlLHQsbil7dGhpcy5yZWdpc3Rlck5hbWUoZSx0KSx0aGlzLmdldFRhZygpLmluc2VydFJ1bGVzKFNlKGUpLG4pfSxlLnByb3RvdHlwZS5jbGVhck5hbWVzPWZ1bmN0aW9uKGUpe3RoaXMubmFtZXMuaGFzKGUpJiZ0aGlzLm5hbWVzLmdldChlKS5jbGVhcigpfSxlLnByb3RvdHlwZS5jbGVhclJ1bGVzPWZ1bmN0aW9uKGUpe3RoaXMuZ2V0VGFnKCkuY2xlYXJHcm91cChTZShlKSksdGhpcy5jbGVhck5hbWVzKGUpfSxlLnByb3RvdHlwZS5jbGVhclRhZz1mdW5jdGlvbigpe3RoaXMudGFnPXZvaWQgMH0sZX0oKSxqZT0vJi9nLHhlPS9eXFxzKlxcL1xcLy4qJC9nbTtmdW5jdGlvbiBWZShlLHQpe3JldHVybiBlLm1hcChmdW5jdGlvbihlKXtyZXR1cm5cInJ1bGVcIj09PWUudHlwZSYmKGUudmFsdWU9XCJcIi5jb25jYXQodCxcIiBcIikuY29uY2F0KGUudmFsdWUpLGUudmFsdWU9ZS52YWx1ZS5yZXBsYWNlQWxsKFwiLFwiLFwiLFwiLmNvbmNhdCh0LFwiIFwiKSksZS5wcm9wcz1lLnByb3BzLm1hcChmdW5jdGlvbihlKXtyZXR1cm5cIlwiLmNvbmNhdCh0LFwiIFwiKS5jb25jYXQoZSl9KSksQXJyYXkuaXNBcnJheShlLmNoaWxkcmVuKSYmXCJAa2V5ZnJhbWVzXCIhPT1lLnR5cGUmJihlLmNoaWxkcmVuPVZlKGUuY2hpbGRyZW4sdCkpLGV9KX1mdW5jdGlvbiBGZShlKXt2YXIgdCxuLG8scj12b2lkIDA9PT1lP0M6ZSxzPXIub3B0aW9ucyxpPXZvaWQgMD09PXM/QzpzLGE9ci5wbHVnaW5zLGM9dm9pZCAwPT09YT9fOmEsbD1mdW5jdGlvbihlLG8scil7cmV0dXJuIHIuc3RhcnRzV2l0aChuKSYmci5lbmRzV2l0aChuKSYmci5yZXBsYWNlQWxsKG4sXCJcIikubGVuZ3RoPjA/XCIuXCIuY29uY2F0KHQpOmV9LHU9Yy5zbGljZSgpO3UucHVzaChmdW5jdGlvbihlKXtlLnR5cGU9PT1kLlJVTEVTRVQmJmUudmFsdWUuaW5jbHVkZXMoXCImXCIpJiYoZS5wcm9wc1swXT1lLnByb3BzWzBdLnJlcGxhY2UoamUsbikucmVwbGFjZShvLGwpKX0pLGkucHJlZml4JiZ1LnB1c2goZC5wcmVmaXhlciksdS5wdXNoKGQuc3RyaW5naWZ5KTt2YXIgcD1mdW5jdGlvbihlLHIscyxhKXt2b2lkIDA9PT1yJiYocj1cIlwiKSx2b2lkIDA9PT1zJiYocz1cIlwiKSx2b2lkIDA9PT1hJiYoYT1cIiZcIiksdD1hLG49cixvPW5ldyBSZWdFeHAoXCJcXFxcXCIuY29uY2F0KG4sXCJcXFxcYlwiKSxcImdcIik7dmFyIGM9ZS5yZXBsYWNlKHhlLFwiXCIpLGw9ZC5jb21waWxlKHN8fHI/XCJcIi5jb25jYXQocyxcIiBcIikuY29uY2F0KHIsXCIgeyBcIikuY29uY2F0KGMsXCIgfVwiKTpjKTtpLm5hbWVzcGFjZSYmKGw9VmUobCxpLm5hbWVzcGFjZSkpO3ZhciBwPVtdO3JldHVybiBkLnNlcmlhbGl6ZShsLGQubWlkZGxld2FyZSh1LmNvbmNhdChkLnJ1bGVzaGVldChmdW5jdGlvbihlKXtyZXR1cm4gcC5wdXNoKGUpfSkpKSkscH07cmV0dXJuIHAuaGFzaD1jLmxlbmd0aD9jLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiB0Lm5hbWV8fGhlKDE1KSxNKGUsdC5uYW1lKX0sRikudG9TdHJpbmcoKTpcIlwiLHB9dmFyIE1lPW5ldyBrZSx6ZT1GZSgpLCRlPW8uY3JlYXRlQ29udGV4dCh7c2hvdWxkRm9yd2FyZFByb3A6dm9pZCAwLHN0eWxlU2hlZXQ6TWUsc3R5bGlzOnplfSksQmU9JGUuQ29uc3VtZXIsTGU9by5jcmVhdGVDb250ZXh0KHZvaWQgMCk7ZnVuY3Rpb24gR2UoKXtyZXR1cm4gYygkZSl9ZnVuY3Rpb24gWWUoZSl7dmFyIHQ9cyhlLnN0eWxpc1BsdWdpbnMpLG49dFswXSxyPXRbMV0sYz1HZSgpLnN0eWxlU2hlZXQsbD1pKGZ1bmN0aW9uKCl7dmFyIHQ9YztyZXR1cm4gZS5zaGVldD90PWUuc2hlZXQ6ZS50YXJnZXQmJih0PXQucmVjb25zdHJ1Y3RXaXRoT3B0aW9ucyh7dGFyZ2V0OmUudGFyZ2V0fSwhMSkpLGUuZGlzYWJsZUNTU09NSW5qZWN0aW9uJiYodD10LnJlY29uc3RydWN0V2l0aE9wdGlvbnMoe3VzZUNTU09NSW5qZWN0aW9uOiExfSkpLHR9LFtlLmRpc2FibGVDU1NPTUluamVjdGlvbixlLnNoZWV0LGUudGFyZ2V0LGNdKSx1PWkoZnVuY3Rpb24oKXtyZXR1cm4gRmUoe29wdGlvbnM6e25hbWVzcGFjZTplLm5hbWVzcGFjZSxwcmVmaXg6ZS5lbmFibGVWZW5kb3JQcmVmaXhlc30scGx1Z2luczpufSl9LFtlLmVuYWJsZVZlbmRvclByZWZpeGVzLGUubmFtZXNwYWNlLG5dKTthKGZ1bmN0aW9uKCl7cChuLGUuc3R5bGlzUGx1Z2lucyl8fHIoZS5zdHlsaXNQbHVnaW5zKX0sW2Uuc3R5bGlzUGx1Z2luc10pO3ZhciBkPWkoZnVuY3Rpb24oKXtyZXR1cm57c2hvdWxkRm9yd2FyZFByb3A6ZS5zaG91bGRGb3J3YXJkUHJvcCxzdHlsZVNoZWV0Omwsc3R5bGlzOnV9fSxbZS5zaG91bGRGb3J3YXJkUHJvcCxsLHVdKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCRlLlByb3ZpZGVyLHt2YWx1ZTpkfSxvLmNyZWF0ZUVsZW1lbnQoTGUuUHJvdmlkZXIse3ZhbHVlOnV9LGUuY2hpbGRyZW4pKX12YXIgV2U9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7dmFyIG49dGhpczt0aGlzLmluamVjdD1mdW5jdGlvbihlLHQpe3ZvaWQgMD09PXQmJih0PXplKTt2YXIgbz1uLm5hbWUrdC5oYXNoO2UuaGFzTmFtZUZvcklkKG4uaWQsbyl8fGUuaW5zZXJ0UnVsZXMobi5pZCxvLHQobi5ydWxlcyxvLFwiQGtleWZyYW1lc1wiKSl9LHRoaXMubmFtZT1lLHRoaXMuaWQ9XCJzYy1rZXlmcmFtZXMtXCIuY29uY2F0KGUpLHRoaXMucnVsZXM9dCx1ZSh0aGlzLGZ1bmN0aW9uKCl7dGhyb3cgaGUoMTIsU3RyaW5nKG4ubmFtZSkpfSl9cmV0dXJuIGUucHJvdG90eXBlLmdldE5hbWU9ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPXplKSx0aGlzLm5hbWUrZS5oYXNofSxlfSgpLHFlPWZ1bmN0aW9uKGUpe3JldHVybiBlPj1cIkFcIiYmZTw9XCJaXCJ9O2Z1bmN0aW9uIEhlKGUpe2Zvcih2YXIgdD1cIlwiLG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIG89ZVtuXTtpZigxPT09biYmXCItXCI9PT1vJiZcIi1cIj09PWVbMF0pcmV0dXJuIGU7cWUobyk/dCs9XCItXCIrby50b0xvd2VyQ2FzZSgpOnQrPW99cmV0dXJuIHQuc3RhcnRzV2l0aChcIm1zLVwiKT9cIi1cIit0OnR9dmFyIFVlPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lfHwhMT09PWV8fFwiXCI9PT1lfSxKZT1mdW5jdGlvbih0KXt2YXIgbixvLHI9W107Zm9yKHZhciBzIGluIHQpe3ZhciBpPXRbc107dC5oYXNPd25Qcm9wZXJ0eShzKSYmIVVlKGkpJiYoQXJyYXkuaXNBcnJheShpKSYmaS5pc0Nzc3x8cmUoaSk/ci5wdXNoKFwiXCIuY29uY2F0KEhlKHMpLFwiOlwiKSxpLFwiO1wiKTpjZShpKT9yLnB1c2guYXBwbHkocixlKGUoW1wiXCIuY29uY2F0KHMsXCIge1wiKV0sSmUoaSksITEpLFtcIn1cIl0sITEpKTpyLnB1c2goXCJcIi5jb25jYXQoSGUocyksXCI6IFwiKS5jb25jYXQoKG49cyxudWxsPT0obz1pKXx8XCJib29sZWFuXCI9PXR5cGVvZiBvfHxcIlwiPT09bz9cIlwiOlwibnVtYmVyXCIhPXR5cGVvZiBvfHwwPT09b3x8biBpbiBofHxuLnN0YXJ0c1dpdGgoXCItLVwiKT9TdHJpbmcobykudHJpbSgpOlwiXCIuY29uY2F0KG8sXCJweFwiKSksXCI7XCIpKSl9cmV0dXJuIHJ9O2Z1bmN0aW9uIFhlKGUsdCxuLG8pe2lmKFVlKGUpKXJldHVybltdO2lmKHNlKGUpKXJldHVybltcIi5cIi5jb25jYXQoZS5zdHlsZWRDb21wb25lbnRJZCldO2lmKHJlKGUpKXtpZighcmUocz1lKXx8cy5wcm90b3R5cGUmJnMucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnR8fCF0KXJldHVybltlXTt2YXIgcj1lKHQpO3JldHVyblwicHJvZHVjdGlvblwiPT09cHJvY2Vzcy5lbnYuTk9ERV9FTlZ8fFwib2JqZWN0XCIhPXR5cGVvZiByfHxBcnJheS5pc0FycmF5KHIpfHxyIGluc3RhbmNlb2YgV2V8fGNlKHIpfHxudWxsPT09cnx8Y29uc29sZS5lcnJvcihcIlwiLmNvbmNhdChCKGUpLFwiIGlzIG5vdCBhIHN0eWxlZCBjb21wb25lbnQgYW5kIGNhbm5vdCBiZSByZWZlcnJlZCB0byB2aWEgY29tcG9uZW50IHNlbGVjdG9yLiBTZWUgaHR0cHM6Ly93d3cuc3R5bGVkLWNvbXBvbmVudHMuY29tL2RvY3MvYWR2YW5jZWQjcmVmZXJyaW5nLXRvLW90aGVyLWNvbXBvbmVudHMgZm9yIG1vcmUgZGV0YWlscy5cIikpLFhlKHIsdCxuLG8pfXZhciBzO3JldHVybiBlIGluc3RhbmNlb2YgV2U/bj8oZS5pbmplY3QobixvKSxbZS5nZXROYW1lKG8pXSk6W2VdOmNlKGUpP0plKGUpOkFycmF5LmlzQXJyYXkoZSk/QXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShfLGUubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBYZShlLHQsbixvKX0pKTpbZS50b1N0cmluZygpXX1mdW5jdGlvbiBaZShlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrPTEpe3ZhciBuPWVbdF07aWYocmUobikmJiFzZShuKSlyZXR1cm4hMX1yZXR1cm4hMH12YXIgS2U9eih2KSxRZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LG4pe3RoaXMucnVsZXM9ZSx0aGlzLnN0YXRpY1J1bGVzSWQ9XCJcIix0aGlzLmlzU3RhdGljPVwicHJvZHVjdGlvblwiPT09cHJvY2Vzcy5lbnYuTk9ERV9FTlYmJih2b2lkIDA9PT1ufHxuLmlzU3RhdGljKSYmWmUoZSksdGhpcy5jb21wb25lbnRJZD10LHRoaXMuYmFzZUhhc2g9TShLZSx0KSx0aGlzLmJhc2VTdHlsZT1uLGtlLnJlZ2lzdGVySWQodCl9cmV0dXJuIGUucHJvdG90eXBlLmdlbmVyYXRlQW5kSW5qZWN0U3R5bGVzPWZ1bmN0aW9uKGUsdCxuKXt2YXIgbz10aGlzLmJhc2VTdHlsZT90aGlzLmJhc2VTdHlsZS5nZW5lcmF0ZUFuZEluamVjdFN0eWxlcyhlLHQsbik6XCJcIjtpZih0aGlzLmlzU3RhdGljJiYhbi5oYXNoKWlmKHRoaXMuc3RhdGljUnVsZXNJZCYmdC5oYXNOYW1lRm9ySWQodGhpcy5jb21wb25lbnRJZCx0aGlzLnN0YXRpY1J1bGVzSWQpKW89aWUobyx0aGlzLnN0YXRpY1J1bGVzSWQpO2Vsc2V7dmFyIHI9YWUoWGUodGhpcy5ydWxlcyxlLHQsbikpLHM9eChNKHRoaXMuYmFzZUhhc2gscik+Pj4wKTtpZighdC5oYXNOYW1lRm9ySWQodGhpcy5jb21wb25lbnRJZCxzKSl7dmFyIGk9bihyLFwiLlwiLmNvbmNhdChzKSx2b2lkIDAsdGhpcy5jb21wb25lbnRJZCk7dC5pbnNlcnRSdWxlcyh0aGlzLmNvbXBvbmVudElkLHMsaSl9bz1pZShvLHMpLHRoaXMuc3RhdGljUnVsZXNJZD1zfWVsc2V7Zm9yKHZhciBhPU0odGhpcy5iYXNlSGFzaCxuLmhhc2gpLGM9XCJcIixsPTA7bDx0aGlzLnJ1bGVzLmxlbmd0aDtsKyspe3ZhciB1PXRoaXMucnVsZXNbbF07aWYoXCJzdHJpbmdcIj09dHlwZW9mIHUpYys9dSxcInByb2R1Y3Rpb25cIiE9PXByb2Nlc3MuZW52Lk5PREVfRU5WJiYoYT1NKGEsdSkpO2Vsc2UgaWYodSl7dmFyIHA9YWUoWGUodSxlLHQsbikpO2E9TShhLHArbCksYys9cH19aWYoYyl7dmFyIGQ9eChhPj4+MCk7dC5oYXNOYW1lRm9ySWQodGhpcy5jb21wb25lbnRJZCxkKXx8dC5pbnNlcnRSdWxlcyh0aGlzLmNvbXBvbmVudElkLGQsbihjLFwiLlwiLmNvbmNhdChkKSx2b2lkIDAsdGhpcy5jb21wb25lbnRJZCkpLG89aWUobyxkKX19cmV0dXJuIG99LGV9KCksZXQ9by5jcmVhdGVDb250ZXh0KHZvaWQgMCksdHQ9ZXQuQ29uc3VtZXI7ZnVuY3Rpb24gbnQoKXt2YXIgZT1jKGV0KTtpZighZSl0aHJvdyBoZSgxOCk7cmV0dXJuIGV9ZnVuY3Rpb24gb3QoZSl7dmFyIG49by51c2VDb250ZXh0KGV0KSxyPWkoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtpZighZSl0aHJvdyBoZSgxNCk7aWYocmUoZSkpe3ZhciBvPWUobik7aWYoXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmKG51bGw9PT1vfHxBcnJheS5pc0FycmF5KG8pfHxcIm9iamVjdFwiIT10eXBlb2YgbykpdGhyb3cgaGUoNyk7cmV0dXJuIG99aWYoQXJyYXkuaXNBcnJheShlKXx8XCJvYmplY3RcIiE9dHlwZW9mIGUpdGhyb3cgaGUoOCk7cmV0dXJuIG4/dCh0KHt9LG4pLGUpOmV9KGUudGhlbWUsbil9LFtlLnRoZW1lLG5dKTtyZXR1cm4gZS5jaGlsZHJlbj9vLmNyZWF0ZUVsZW1lbnQoZXQuUHJvdmlkZXIse3ZhbHVlOnJ9LGUuY2hpbGRyZW4pOm51bGx9dmFyIHJ0PXt9LHN0PW5ldyBTZXQ7ZnVuY3Rpb24gaXQoZSxyLHMpe3ZhciBpPXNlKGUpLGE9ZSxjPSFMKGUpLHA9ci5hdHRycyxkPXZvaWQgMD09PXA/XzpwLGg9ci5jb21wb25lbnRJZCxmPXZvaWQgMD09PWg/ZnVuY3Rpb24oZSx0KXt2YXIgbj1cInN0cmluZ1wiIT10eXBlb2YgZT9cInNjXCI6UihlKTtydFtuXT0ocnRbbl18fDApKzE7dmFyIG89XCJcIi5jb25jYXQobixcIi1cIikuY29uY2F0KCQodituK3J0W25dKSk7cmV0dXJuIHQ/XCJcIi5jb25jYXQodCxcIi1cIikuY29uY2F0KG8pOm99KHIuZGlzcGxheU5hbWUsci5wYXJlbnRDb21wb25lbnRJZCk6aCxtPXIuZGlzcGxheU5hbWUseT12b2lkIDA9PT1tP2Z1bmN0aW9uKGUpe3JldHVybiBMKGUpP1wic3R5bGVkLlwiLmNvbmNhdChlKTpcIlN0eWxlZChcIi5jb25jYXQoQihlKSxcIilcIil9KGUpOm0sZz1yLmRpc3BsYXlOYW1lJiZyLmNvbXBvbmVudElkP1wiXCIuY29uY2F0KFIoci5kaXNwbGF5TmFtZSksXCItXCIpLmNvbmNhdChyLmNvbXBvbmVudElkKTpyLmNvbXBvbmVudElkfHxmLFM9aSYmYS5hdHRycz9hLmF0dHJzLmNvbmNhdChkKS5maWx0ZXIoQm9vbGVhbik6ZCx3PXIuc2hvdWxkRm9yd2FyZFByb3A7aWYoaSYmYS5zaG91bGRGb3J3YXJkUHJvcCl7dmFyIGI9YS5zaG91bGRGb3J3YXJkUHJvcDtpZihyLnNob3VsZEZvcndhcmRQcm9wKXt2YXIgRT1yLnNob3VsZEZvcndhcmRQcm9wO3c9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYihlLHQpJiZFKGUsdCl9fWVsc2Ugdz1ifXZhciBOPW5ldyBRZShzLGcsaT9hLmNvbXBvbmVudFN0eWxlOnZvaWQgMCk7ZnVuY3Rpb24gTyhlLHIpe3JldHVybiBmdW5jdGlvbihlLHIscyl7dmFyIGk9ZS5hdHRycyxhPWUuY29tcG9uZW50U3R5bGUsYz1lLmRlZmF1bHRQcm9wcyxwPWUuZm9sZGVkQ29tcG9uZW50SWRzLGQ9ZS5zdHlsZWRDb21wb25lbnRJZCxoPWUudGFyZ2V0LGY9by51c2VDb250ZXh0KGV0KSxtPUdlKCkseT1lLnNob3VsZEZvcndhcmRQcm9wfHxtLnNob3VsZEZvcndhcmRQcm9wO1wicHJvZHVjdGlvblwiIT09cHJvY2Vzcy5lbnYuTk9ERV9FTlYmJmwoZCk7dmFyIHY9SShyLGYsYyl8fEMsZz1mdW5jdGlvbihlLG4sbyl7Zm9yKHZhciByLHM9dCh0KHt9LG4pLHtjbGFzc05hbWU6dm9pZCAwLHRoZW1lOm99KSxpPTA7aTxlLmxlbmd0aDtpKz0xKXt2YXIgYT1yZShyPWVbaV0pP3Iocyk6cjtmb3IodmFyIGMgaW4gYSlzW2NdPVwiY2xhc3NOYW1lXCI9PT1jP2llKHNbY10sYVtjXSk6XCJzdHlsZVwiPT09Yz90KHQoe30sc1tjXSksYVtjXSk6YVtjXX1yZXR1cm4gbi5jbGFzc05hbWUmJihzLmNsYXNzTmFtZT1pZShzLmNsYXNzTmFtZSxuLmNsYXNzTmFtZSkpLHN9KGkscix2KSxTPWcuYXN8fGgsdz17fTtmb3IodmFyIGIgaW4gZyl2b2lkIDA9PT1nW2JdfHxcIiRcIj09PWJbMF18fFwiYXNcIj09PWJ8fFwidGhlbWVcIj09PWImJmcudGhlbWU9PT12fHwoXCJmb3J3YXJkZWRBc1wiPT09Yj93LmFzPWcuZm9yd2FyZGVkQXM6eSYmIXkoYixTKXx8KHdbYl09Z1tiXSx5fHxcImRldmVsb3BtZW50XCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOVnx8bihiKXx8c3QuaGFzKGIpfHwhQS5oYXMoUyl8fChzdC5hZGQoYiksY29uc29sZS53YXJuKCdzdHlsZWQtY29tcG9uZW50czogaXQgbG9va3MgbGlrZSBhbiB1bmtub3duIHByb3AgXCInLmNvbmNhdChiLCdcIiBpcyBiZWluZyBzZW50IHRocm91Z2ggdG8gdGhlIERPTSwgd2hpY2ggd2lsbCBsaWtlbHkgdHJpZ2dlciBhIFJlYWN0IGNvbnNvbGUgZXJyb3IuIElmIHlvdSB3b3VsZCBsaWtlIGF1dG9tYXRpYyBmaWx0ZXJpbmcgb2YgdW5rbm93biBwcm9wcywgeW91IGNhbiBvcHQtaW50byB0aGF0IGJlaGF2aW9yIHZpYSBgPFN0eWxlU2hlZXRNYW5hZ2VyIHNob3VsZEZvcndhcmRQcm9wPXsuLi59PmAgKGNvbm5lY3QgYW4gQVBJIGxpa2UgYEBlbW90aW9uL2lzLXByb3AtdmFsaWRgKSBvciBjb25zaWRlciB1c2luZyB0cmFuc2llbnQgcHJvcHMgKGAkYCBwcmVmaXggZm9yIGF1dG9tYXRpYyBmaWx0ZXJpbmcuKScpKSkpKTt2YXIgRT1mdW5jdGlvbihlLHQpe3ZhciBuPUdlKCksbz1lLmdlbmVyYXRlQW5kSW5qZWN0U3R5bGVzKHQsbi5zdHlsZVNoZWV0LG4uc3R5bGlzKTtyZXR1cm5cInByb2R1Y3Rpb25cIiE9PXByb2Nlc3MuZW52Lk5PREVfRU5WJiZsKG8pLG99KGEsZyk7XCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmZS53YXJuVG9vTWFueUNsYXNzZXMmJmUud2FyblRvb01hbnlDbGFzc2VzKEUpO3ZhciBOPWllKHAsZCk7cmV0dXJuIEUmJihOKz1cIiBcIitFKSxnLmNsYXNzTmFtZSYmKE4rPVwiIFwiK2cuY2xhc3NOYW1lKSx3W0woUykmJiFBLmhhcyhTKT9cImNsYXNzXCI6XCJjbGFzc05hbWVcIl09Tix3LnJlZj1zLHUoUyx3KX0oRCxlLHIpfU8uZGlzcGxheU5hbWU9eTt2YXIgRD1vLmZvcndhcmRSZWYoTyk7cmV0dXJuIEQuYXR0cnM9UyxELmNvbXBvbmVudFN0eWxlPU4sRC5kaXNwbGF5TmFtZT15LEQuc2hvdWxkRm9yd2FyZFByb3A9dyxELmZvbGRlZENvbXBvbmVudElkcz1pP2llKGEuZm9sZGVkQ29tcG9uZW50SWRzLGEuc3R5bGVkQ29tcG9uZW50SWQpOlwiXCIsRC5zdHlsZWRDb21wb25lbnRJZD1nLEQudGFyZ2V0PWk/YS50YXJnZXQ6ZSxPYmplY3QuZGVmaW5lUHJvcGVydHkoRCxcImRlZmF1bHRQcm9wc1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZm9sZGVkRGVmYXVsdFByb3BzfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fZm9sZGVkRGVmYXVsdFByb3BzPWk/ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXRbbi0xXT1hcmd1bWVudHNbbl07Zm9yKHZhciBvPTAscj10O288ci5sZW5ndGg7bysrKWxlKGUscltvXSwhMCk7cmV0dXJuIGV9KHt9LGEuZGVmYXVsdFByb3BzLGUpOmV9fSksXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmKFAoeSxnKSxELndhcm5Ub29NYW55Q2xhc3Nlcz1mdW5jdGlvbihlLHQpe3ZhciBuPXt9LG89ITE7cmV0dXJuIGZ1bmN0aW9uKHIpe2lmKCFvJiYobltyXT0hMCxPYmplY3Qua2V5cyhuKS5sZW5ndGg+PTIwMCkpe3ZhciBzPXQ/JyB3aXRoIHRoZSBpZCBvZiBcIicuY29uY2F0KHQsJ1wiJyk6XCJcIjtjb25zb2xlLndhcm4oXCJPdmVyIFwiLmNvbmNhdCgyMDAsXCIgY2xhc3NlcyB3ZXJlIGdlbmVyYXRlZCBmb3IgY29tcG9uZW50IFwiKS5jb25jYXQoZSkuY29uY2F0KHMsXCIuXFxuXCIpK1wiQ29uc2lkZXIgdXNpbmcgdGhlIGF0dHJzIG1ldGhvZCwgdG9nZXRoZXIgd2l0aCBhIHN0eWxlIG9iamVjdCBmb3IgZnJlcXVlbnRseSBjaGFuZ2VkIHN0eWxlcy5cXG5FeGFtcGxlOlxcbiAgY29uc3QgQ29tcG9uZW50ID0gc3R5bGVkLmRpdi5hdHRycyhwcm9wcyA9PiAoe1xcbiAgICBzdHlsZToge1xcbiAgICAgIGJhY2tncm91bmQ6IHByb3BzLmJhY2tncm91bmQsXFxuICAgIH0sXFxuICB9KSlgd2lkdGg6IDEwMCU7YFxcblxcbiAgPENvbXBvbmVudCAvPlwiKSxvPSEwLG49e319fX0oeSxnKSksdWUoRCxmdW5jdGlvbigpe3JldHVyblwiLlwiLmNvbmNhdChELnN0eWxlZENvbXBvbmVudElkKX0pLGMmJm9lKEQsZSx7YXR0cnM6ITAsY29tcG9uZW50U3R5bGU6ITAsZGlzcGxheU5hbWU6ITAsZm9sZGVkQ29tcG9uZW50SWRzOiEwLHNob3VsZEZvcndhcmRQcm9wOiEwLHN0eWxlZENvbXBvbmVudElkOiEwLHRhcmdldDohMH0pLER9ZnVuY3Rpb24gYXQoZSx0KXtmb3IodmFyIG49W2VbMF1dLG89MCxyPXQubGVuZ3RoO288cjtvKz0xKW4ucHVzaCh0W29dLGVbbysxXSk7cmV0dXJuIG59dmFyIGN0PWZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuYXNzaWduKGUse2lzQ3NzOiEwfSl9O2Z1bmN0aW9uIGx0KHQpe2Zvcih2YXIgbj1bXSxvPTE7bzxhcmd1bWVudHMubGVuZ3RoO28rKyluW28tMV09YXJndW1lbnRzW29dO2lmKHJlKHQpfHxjZSh0KSlyZXR1cm4gY3QoWGUoYXQoXyxlKFt0XSxuLCEwKSkpKTt2YXIgcj10O3JldHVybiAwPT09bi5sZW5ndGgmJjE9PT1yLmxlbmd0aCYmXCJzdHJpbmdcIj09dHlwZW9mIHJbMF0/WGUocik6Y3QoWGUoYXQocixuKSkpfWZ1bmN0aW9uIHV0KG4sbyxyKXtpZih2b2lkIDA9PT1yJiYocj1DKSwhbyl0aHJvdyBoZSgxLG8pO3ZhciBzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgcz1bXSxpPTE7aTxhcmd1bWVudHMubGVuZ3RoO2krKylzW2ktMV09YXJndW1lbnRzW2ldO3JldHVybiBuKG8scixsdC5hcHBseSh2b2lkIDAsZShbdF0scywhMSkpKX07cmV0dXJuIHMuYXR0cnM9ZnVuY3Rpb24oZSl7cmV0dXJuIHV0KG4sbyx0KHQoe30scikse2F0dHJzOkFycmF5LnByb3RvdHlwZS5jb25jYXQoci5hdHRycyxlKS5maWx0ZXIoQm9vbGVhbil9KSl9LHMud2l0aENvbmZpZz1mdW5jdGlvbihlKXtyZXR1cm4gdXQobixvLHQodCh7fSxyKSxlKSl9LHN9dmFyIHB0PWZ1bmN0aW9uKGUpe3JldHVybiB1dChpdCxlKX0sZHQ9cHQ7QS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2R0W2VdPXB0KGUpfSk7dmFyIGh0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe3RoaXMucnVsZXM9ZSx0aGlzLmNvbXBvbmVudElkPXQsdGhpcy5pc1N0YXRpYz1aZShlKSxrZS5yZWdpc3RlcklkKHRoaXMuY29tcG9uZW50SWQrMSl9cmV0dXJuIGUucHJvdG90eXBlLmNyZWF0ZVN0eWxlcz1mdW5jdGlvbihlLHQsbixvKXt2YXIgcj1vKGFlKFhlKHRoaXMucnVsZXMsdCxuLG8pKSxcIlwiKSxzPXRoaXMuY29tcG9uZW50SWQrZTtuLmluc2VydFJ1bGVzKHMscyxyKX0sZS5wcm90b3R5cGUucmVtb3ZlU3R5bGVzPWZ1bmN0aW9uKGUsdCl7dC5jbGVhclJ1bGVzKHRoaXMuY29tcG9uZW50SWQrZSl9LGUucHJvdG90eXBlLnJlbmRlclN0eWxlcz1mdW5jdGlvbihlLHQsbixvKXtlPjImJmtlLnJlZ2lzdGVySWQodGhpcy5jb21wb25lbnRJZCtlKSx0aGlzLnJlbW92ZVN0eWxlcyhlLG4pLHRoaXMuY3JlYXRlU3R5bGVzKGUsdCxuLG8pfSxlfSgpO2Z1bmN0aW9uIGZ0KG4pe2Zvcih2YXIgcj1bXSxzPTE7czxhcmd1bWVudHMubGVuZ3RoO3MrKylyW3MtMV09YXJndW1lbnRzW3NdO3ZhciBpPWx0LmFwcGx5KHZvaWQgMCxlKFtuXSxyLCExKSksYT1cInNjLWdsb2JhbC1cIi5jb25jYXQoJChKU09OLnN0cmluZ2lmeShpKSkpLGM9bmV3IGh0KGksYSk7XCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmUChhKTt2YXIgbD1mdW5jdGlvbihlKXt2YXIgdD1HZSgpLG49by51c2VDb250ZXh0KGV0KSxyPW8udXNlUmVmKHQuc3R5bGVTaGVldC5hbGxvY2F0ZUdTSW5zdGFuY2UoYSkpLmN1cnJlbnQ7cmV0dXJuXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmby5DaGlsZHJlbi5jb3VudChlLmNoaWxkcmVuKSYmY29uc29sZS53YXJuKFwiVGhlIGdsb2JhbCBzdHlsZSBjb21wb25lbnQgXCIuY29uY2F0KGEsXCIgd2FzIGdpdmVuIGNoaWxkIEpTWC4gY3JlYXRlR2xvYmFsU3R5bGUgZG9lcyBub3QgcmVuZGVyIGNoaWxkcmVuLlwiKSksXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmaS5zb21lKGZ1bmN0aW9uKGUpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiBlJiYtMSE9PWUuaW5kZXhPZihcIkBpbXBvcnRcIil9KSYmY29uc29sZS53YXJuKFwiUGxlYXNlIGRvIG5vdCB1c2UgQGltcG9ydCBDU1Mgc3ludGF4IGluIGNyZWF0ZUdsb2JhbFN0eWxlIGF0IHRoaXMgdGltZSwgYXMgdGhlIENTU09NIEFQSXMgd2UgdXNlIGluIHByb2R1Y3Rpb24gZG8gbm90IGhhbmRsZSBpdCB3ZWxsLiBJbnN0ZWFkLCB3ZSByZWNvbW1lbmQgdXNpbmcgYSBsaWJyYXJ5IHN1Y2ggYXMgcmVhY3QtaGVsbWV0IHRvIGluamVjdCBhIHR5cGljYWwgPGxpbms+IG1ldGEgdGFnIHRvIHRoZSBzdHlsZXNoZWV0LCBvciBzaW1wbHkgZW1iZWRkaW5nIGl0IG1hbnVhbGx5IGluIHlvdXIgaW5kZXguaHRtbCA8aGVhZD4gc2VjdGlvbiBmb3IgYSBzaW1wbGVyIGFwcC5cIiksdC5zdHlsZVNoZWV0LnNlcnZlciYmdShyLGUsdC5zdHlsZVNoZWV0LG4sdC5zdHlsaXMpLG8udXNlTGF5b3V0RWZmZWN0KGZ1bmN0aW9uKCl7aWYoIXQuc3R5bGVTaGVldC5zZXJ2ZXIpcmV0dXJuIHUocixlLHQuc3R5bGVTaGVldCxuLHQuc3R5bGlzKSxmdW5jdGlvbigpe3JldHVybiBjLnJlbW92ZVN0eWxlcyhyLHQuc3R5bGVTaGVldCl9fSxbcixlLHQuc3R5bGVTaGVldCxuLHQuc3R5bGlzXSksbnVsbH07ZnVuY3Rpb24gdShlLG4sbyxyLHMpe2lmKGMuaXNTdGF0aWMpYy5yZW5kZXJTdHlsZXMoZSxiLG8scyk7ZWxzZXt2YXIgaT10KHQoe30sbikse3RoZW1lOkkobixyLGwuZGVmYXVsdFByb3BzKX0pO2MucmVuZGVyU3R5bGVzKGUsaSxvLHMpfX1yZXR1cm4gby5tZW1vKGwpfWZ1bmN0aW9uIG10KHQpe2Zvcih2YXIgbj1bXSxvPTE7bzxhcmd1bWVudHMubGVuZ3RoO28rKyluW28tMV09YXJndW1lbnRzW29dO1wicHJvZHVjdGlvblwiIT09cHJvY2Vzcy5lbnYuTk9ERV9FTlYmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiBuYXZpZ2F0b3ImJlwiUmVhY3ROYXRpdmVcIj09PW5hdmlnYXRvci5wcm9kdWN0JiZjb25zb2xlLndhcm4oXCJga2V5ZnJhbWVzYCBjYW5ub3QgYmUgdXNlZCBvbiBSZWFjdE5hdGl2ZSwgb25seSBvbiB0aGUgd2ViLiBUbyBkbyBhbmltYXRpb24gaW4gUmVhY3ROYXRpdmUgcGxlYXNlIHVzZSBBbmltYXRlZC5cIik7dmFyIHI9YWUobHQuYXBwbHkodm9pZCAwLGUoW3RdLG4sITEpKSkscz0kKHIpO3JldHVybiBuZXcgV2UocyxyKX1mdW5jdGlvbiB5dChlKXt2YXIgbj1vLmZvcndhcmRSZWYoZnVuY3Rpb24obixyKXt2YXIgcz1JKG4sby51c2VDb250ZXh0KGV0KSxlLmRlZmF1bHRQcm9wcyk7cmV0dXJuXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmdm9pZCAwPT09cyYmY29uc29sZS53YXJuKCdbd2l0aFRoZW1lXSBZb3UgYXJlIG5vdCB1c2luZyBhIFRoZW1lUHJvdmlkZXIgbm9yIHBhc3NpbmcgYSB0aGVtZSBwcm9wIG9yIGEgdGhlbWUgaW4gZGVmYXVsdFByb3BzIGluIGNvbXBvbmVudCBjbGFzcyBcIicuY29uY2F0KEIoZSksJ1wiJykpLG8uY3JlYXRlRWxlbWVudChlLHQoe30sbix7dGhlbWU6cyxyZWY6cn0pKX0pO3JldHVybiBuLmRpc3BsYXlOYW1lPVwiV2l0aFRoZW1lKFwiLmNvbmNhdChCKGUpLFwiKVwiKSxvZShuLGUpfXZhciB2dD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt2YXIgZT10aGlzO3RoaXMuX2VtaXRTaGVldENTUz1mdW5jdGlvbigpe3ZhciB0PWUuaW5zdGFuY2UudG9TdHJpbmcoKTtpZighdClyZXR1cm5cIlwiO3ZhciBuPUNlKCksbz1hZShbbiYmJ25vbmNlPVwiJy5jb25jYXQobiwnXCInKSxcIlwiLmNvbmNhdChmLCc9XCJ0cnVlXCInKSxcIlwiLmNvbmNhdCh5LCc9XCInKS5jb25jYXQodiwnXCInKV0uZmlsdGVyKEJvb2xlYW4pLFwiIFwiKTtyZXR1cm5cIjxzdHlsZSBcIi5jb25jYXQobyxcIj5cIikuY29uY2F0KHQsXCI8L3N0eWxlPlwiKX0sdGhpcy5nZXRTdHlsZVRhZ3M9ZnVuY3Rpb24oKXtpZihlLnNlYWxlZCl0aHJvdyBoZSgyKTtyZXR1cm4gZS5fZW1pdFNoZWV0Q1NTKCl9LHRoaXMuZ2V0U3R5bGVFbGVtZW50PWZ1bmN0aW9uKCl7dmFyIG47aWYoZS5zZWFsZWQpdGhyb3cgaGUoMik7dmFyIHI9ZS5pbnN0YW5jZS50b1N0cmluZygpO2lmKCFyKXJldHVybltdO3ZhciBzPSgobj17fSlbZl09XCJcIixuW3ldPXYsbi5kYW5nZXJvdXNseVNldElubmVySFRNTD17X19odG1sOnJ9LG4pLGk9Q2UoKTtyZXR1cm4gaSYmKHMubm9uY2U9aSksW28uY3JlYXRlRWxlbWVudChcInN0eWxlXCIsdCh7fSxzLHtrZXk6XCJzYy0wLTBcIn0pKV19LHRoaXMuc2VhbD1mdW5jdGlvbigpe2Uuc2VhbGVkPSEwfSx0aGlzLmluc3RhbmNlPW5ldyBrZSh7aXNTZXJ2ZXI6ITB9KSx0aGlzLnNlYWxlZD0hMX1yZXR1cm4gZS5wcm90b3R5cGUuY29sbGVjdFN0eWxlcz1mdW5jdGlvbihlKXtpZih0aGlzLnNlYWxlZCl0aHJvdyBoZSgyKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KFllLHtzaGVldDp0aGlzLmluc3RhbmNlfSxlKX0sZS5wcm90b3R5cGUuaW50ZXJsZWF2ZVdpdGhOb2RlU3RyZWFtPWZ1bmN0aW9uKGUpe3Rocm93IGhlKDMpfSxlfSgpLGd0PXtTdHlsZVNoZWV0OmtlLG1haW5TaGVldDpNZX07XCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIG5hdmlnYXRvciYmXCJSZWFjdE5hdGl2ZVwiPT09bmF2aWdhdG9yLnByb2R1Y3QmJmNvbnNvbGUud2FybihcIkl0IGxvb2tzIGxpa2UgeW91J3ZlIGltcG9ydGVkICdzdHlsZWQtY29tcG9uZW50cycgb24gUmVhY3QgTmF0aXZlLlxcblBlcmhhcHMgeW91J3JlIGxvb2tpbmcgdG8gaW1wb3J0ICdzdHlsZWQtY29tcG9uZW50cy9uYXRpdmUnP1xcblJlYWQgbW9yZSBhYm91dCB0aGlzIGF0IGh0dHBzOi8vd3d3LnN0eWxlZC1jb21wb25lbnRzLmNvbS9kb2NzL2Jhc2ljcyNyZWFjdC1uYXRpdmVcIik7dmFyIFN0PVwiX19zYy1cIi5jb25jYXQoZixcIl9fXCIpO1wicHJvZHVjdGlvblwiIT09cHJvY2Vzcy5lbnYuTk9ERV9FTlYmJlwidGVzdFwiIT09cHJvY2Vzcy5lbnYuTk9ERV9FTlYmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3dbU3RdfHwod2luZG93W1N0XT0wKSwxPT09d2luZG93W1N0XSYmY29uc29sZS53YXJuKFwiSXQgbG9va3MgbGlrZSB0aGVyZSBhcmUgc2V2ZXJhbCBpbnN0YW5jZXMgb2YgJ3N0eWxlZC1jb21wb25lbnRzJyBpbml0aWFsaXplZCBpbiB0aGlzIGFwcGxpY2F0aW9uLiBUaGlzIG1heSBjYXVzZSBkeW5hbWljIHN0eWxlcyB0byBub3QgcmVuZGVyIHByb3Blcmx5LCBlcnJvcnMgZHVyaW5nIHRoZSByZWh5ZHJhdGlvbiBwcm9jZXNzLCBhIG1pc3NpbmcgdGhlbWUgcHJvcCwgYW5kIG1ha2VzIHlvdXIgYXBwbGljYXRpb24gYmlnZ2VyIHdpdGhvdXQgZ29vZCByZWFzb24uXFxuXFxuU2VlIGh0dHBzOi8vcy1jLnNoLzJCQVh6ZWQgZm9yIG1vcmUgaW5mby5cIiksd2luZG93W1N0XSs9MSk7ZXhwb3J0e3Z0IGFzIFNlcnZlclN0eWxlU2hlZXQsQmUgYXMgU3R5bGVTaGVldENvbnN1bWVyLCRlIGFzIFN0eWxlU2hlZXRDb250ZXh0LFllIGFzIFN0eWxlU2hlZXRNYW5hZ2VyLHR0IGFzIFRoZW1lQ29uc3VtZXIsZXQgYXMgVGhlbWVDb250ZXh0LG90IGFzIFRoZW1lUHJvdmlkZXIsZ3QgYXMgX19QUklWQVRFX18sZnQgYXMgY3JlYXRlR2xvYmFsU3R5bGUsbHQgYXMgY3NzLGR0IGFzIGRlZmF1bHQsc2UgYXMgaXNTdHlsZWRDb21wb25lbnQsbXQgYXMga2V5ZnJhbWVzLGR0IGFzIHN0eWxlZCxudCBhcyB1c2VUaGVtZSx2IGFzIHZlcnNpb24seXQgYXMgd2l0aFRoZW1lfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlZC1jb21wb25lbnRzLmJyb3dzZXIuZXNtLmpzLm1hcFxuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFByb3BzIHtcbiAgaXRlbU1heFdpZHRoOiBudW1iZXI7XG4gIGl0ZW1Bc3BlY3RSYXRpbzogbnVtYmVyO1xuICBsYXlvdXQ6IHtcbiAgICBbY29sQ291bnQ6IG51bWJlcl06IHN0cmluZ1tdW107XG4gIH07XG59XG5cbmludGVyZmFjZSBHcmlkQ29udGFpbmVyUHJvcHMge1xuICBpdGVtTWF4V2lkdGg6IG51bWJlcjtcbiAgaXRlbUNvbHM6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEdyaWRJdGVtUHJvcHMgZXh0ZW5kcyBHcmlkQ29udGFpbmVyUHJvcHMge1xuICBpdGVtQXNwZWN0UmF0aW86IG51bWJlcjtcbiAgY29sU3BhbjogbnVtYmVyO1xuICByb3dTcGFuOiBudW1iZXI7XG59XG5cbi8vIERlYm91bmNlIGZ1bmN0aW9uXG5mdW5jdGlvbiBkZWJvdW5jZTxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkPihcbiAgZnVuYzogVCxcbiAgd2FpdDogbnVtYmVyXG4pOiBUIHtcbiAgbGV0IHRpbWVvdXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBQYXJhbWV0ZXJzPFQ+KSB7XG4gICAgaWYgKHRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICB9XG4gICAgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gZnVuYyguLi5hcmdzKSwgd2FpdCk7XG4gIH0gYXMgVDtcbn1cblxuY29uc3QgR3JpZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8R3JpZENvbnRhaW5lclByb3BzPmBcbiAgZGlzcGxheTogZ3JpZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkeyhwcm9wcykgPT4gcHJvcHMuaXRlbUNvbHN9LCAxZnIpO1xuYDtcblxuY29uc3QgR3JpZEl0ZW0gPSBzdHlsZWQuZGl2PEdyaWRJdGVtUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGdyaWQtcm93OiBzcGFuICR7KHByb3BzKSA9PiBwcm9wcy5yb3dTcGFufTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gJHsocHJvcHMpID0+IE1hdGgubWluKHByb3BzLmNvbFNwYW4sIHByb3BzLml0ZW1Db2xzKX07XG4gIGFzcGVjdC1yYXRpbzogJHsocHJvcHMpID0+XG4gICAgKHByb3BzLmNvbFNwYW4gKiBwcm9wcy5pdGVtQXNwZWN0UmF0aW8pIC8gcHJvcHMucm93U3Bhbn07XG5gO1xuXG5jb25zdCBHcmlkSXRlbUNvbnRlbnRFeGFtcGxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbmA7XG5cbmV4cG9ydCBjb25zdCBHcmlkID0gKHsgaXRlbU1heFdpZHRoLCBpdGVtQXNwZWN0UmF0aW8sIGxheW91dCB9OiBHcmlkUHJvcHMpID0+IHtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFthZGp1c3RSYXRpbywgc2V0QWRqdXN0UmF0aW9dID0gdXNlU3RhdGUoMSk7XG5cbiAgLy8gVE9ETyAtIGRvbid0IHdhbnQgdG8gc3VwcG9ydCBtdWx0aXBsZSBmb3Igbm93LlxuICBjb25zdCBbaW5pdENvbHMsIGRhdGFdID0gbGF5b3V0ID8gT2JqZWN0LmVudHJpZXMobGF5b3V0KVswXSA6IFswLCBbXV07XG5cbiAgY29uc3QgW2NvbHMsIHNldENvbHNdID0gdXNlU3RhdGUoTnVtYmVyKGluaXRDb2xzKSk7XG4gIC8vIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgnMTAwJScpO1xuXG4gIGNvbnN0IFtwb3NpdGlvbnMsIHNldFBvc2l0aW9uc10gPSB1c2VTdGF0ZTxcbiAgICBSZWNvcmQ8XG4gICAgICBzdHJpbmcsXG4gICAgICB7IHJvd1N0YXJ0OiBudW1iZXI7IGNvbFN0YXJ0OiBudW1iZXI7IHJvd1NwYW46IG51bWJlcjsgY29sU3BhbjogbnVtYmVyIH1cbiAgICA+XG4gID4oe30pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcG9zaXRpb25zID0ge30gYXMgUmVjb3JkPFxuICAgICAgc3RyaW5nLFxuICAgICAgeyByb3dTdGFydDogbnVtYmVyOyBjb2xTdGFydDogbnVtYmVyOyByb3dTcGFuOiBudW1iZXI7IGNvbFNwYW46IG51bWJlciB9XG4gICAgPjtcbiAgICBkYXRhLmZvckVhY2goKHJvdzogc3RyaW5nW10sIHJvd0luZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIHJvdy5mb3JFYWNoKChpdGVtOiBzdHJpbmcsIGNvbEluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKGl0ZW0gJiYgIXBvc2l0aW9uc1tpdGVtXSkge1xuICAgICAgICAgIGNvbnN0IGNvbFNwYW4gPSByb3cuZmlsdGVyKChlbCkgPT4gZWwgPT09IGl0ZW0pLmxlbmd0aDtcbiAgICAgICAgICBjb25zdCByb3dTcGFuID0gZGF0YS5maWx0ZXIoKHIpID0+IHJbY29sSW5kZXhdID09PSBpdGVtKS5sZW5ndGg7XG4gICAgICAgICAgcG9zaXRpb25zW2l0ZW1dID0ge1xuICAgICAgICAgICAgcm93U3RhcnQ6IHJvd0luZGV4ICsgMSxcbiAgICAgICAgICAgIGNvbFN0YXJ0OiBjb2xJbmRleCArIDEsXG4gICAgICAgICAgICByb3dTcGFuLFxuICAgICAgICAgICAgY29sU3BhbixcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBzZXRQb3NpdGlvbnMocG9zaXRpb25zKTtcbiAgfSwgW2RhdGFdKTtcblxuICBjb25zdCBoYW5kbGVSZXNpemUgPSB1c2VDYWxsYmFjayhcbiAgICAoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKSA9PiB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGVudHJ5KTtcbiAgICAgICAgaWYgKGVudHJ5LmNvbnRlbnRCb3hTaXplKSB7XG4gICAgICAgICAgY29uc3QgeyBpbmxpbmVTaXplOiB3aWR0aCB9ID1cbiAgICAgICAgICAgIGVudHJ5LmNvbnRlbnRCb3hTaXplWzBdIHx8IGVudHJ5LmNvbnRlbnRCb3hTaXplO1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwiY29udGFpbmVyV2lkdGhcIiwgd2lkdGgpO1xuICAgICAgICAgIC8vIG1pbnVzIHBhZGRpbmdcbiAgICAgICAgICBjb25zdCBoZWlnaHQgPVxuICAgICAgICAgICAgZW50cnkuY29udGVudEJveFNpemVbMV0/LmJsb2NrU2l6ZSB8fCBlbnRyeS5jb250ZW50UmVjdC5oZWlnaHQ7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJjb250YWluZXJIZWlnaHRcIiwgaGVpZ2h0KTtcblxuICAgICAgICAgIC8vIGNvbnN0IGNzc1dpZHRoID0gd2lkdGggLyB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgICBjb25zdCBjc3NXaWR0aCA9IHdpZHRoO1xuICAgICAgICAgIC8vIGNvbnN0IGNzc0hlaWdodCA9IGhlaWdodCAvIHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgICAgIGNvbnN0IGNzc0hlaWdodCA9IGhlaWdodDtcblxuICAgICAgICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IGNvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxIZWlnaHQgfHwgMDtcbiAgICAgICAgICBjb25zdCBjbGllbnRIZWlnaHQgPSBjb250YWluZXJSZWYuY3VycmVudD8uY2xpZW50SGVpZ2h0IHx8IDA7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJjbGllbnRIZWlnaHRcIiwgY2xpZW50SGVpZ2h0KTtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIlBhcmVudENsaWVudEhlaWdodFwiLCBjb250YWluZXJSZWYuY3VycmVudD8ucGFyZW50RWxlbWVudD8uY2xpZW50SGVpZ2h0KTtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcInNjcm9sbEhlaWdodFwiLCBzY3JvbGxIZWlnaHQpO1xuXG4gICAgICAgICAgLypcbiAgICAgICAgICB3ZSBjYW4gZG8gZGlmZmVyZW50IGJlaGF2aW9yIGlmIHdlIHdhbnRcbiAgICAgICAgICBpZiAoTWF0aC5mbG9vcihzY3JvbGxIZWlnaHQpIDw9IE1hdGguY2VpbChjbGllbnRIZWlnaHQpICYmIHNjcm9sbEhlaWdodCA8PSBjb250YWluZXJSZWYuY3VycmVudD8ucGFyZW50RWxlbWVudD8uY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICBzZXRDb250YWluZXJIZWlnaHQoJ3Vuc2V0Jyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgKi9cbiAgICAgICAgICAgXG4gICAgICAgICAgICBjb25zdCBjb2xDb3VudCA9IE1hdGguZmxvb3IoY3NzV2lkdGggLyBpdGVtTWF4V2lkdGgpO1xuICAgICAgICAgICAgY29uc3QgY2VsbFdpZHRoID0gY3NzV2lkdGggLyBjb2xDb3VudDtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiY2VsbFdpZHRoXCIsIGNlbGxXaWR0aCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNlbGxIZWlnaHQgPSBjZWxsV2lkdGggLyBpdGVtQXNwZWN0UmF0aW87XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImNlbGxIZWlnaHRcIiwgY2VsbEhlaWdodCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHJvd0NvdW50ID0gTWF0aC5yb3VuZChjc3NIZWlnaHQgLyBjZWxsSGVpZ2h0KTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwicm93Q291bnRcIiwgcm93Q291bnQpO1xuXG4gICAgICAgICAgICBjb25zdCBwcm9qZWN0Q2VsbEhlaWdodCA9IGNzc0hlaWdodCAvIHJvd0NvdW50O1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJwcm9qZWN0Q2VsbEhlaWdodFwiLCBwcm9qZWN0Q2VsbEhlaWdodCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGFkanVzdFJhdGlvID0gY2VsbEhlaWdodCAvIHByb2plY3RDZWxsSGVpZ2h0O1xuXG4gICAgICAgICAgICBzZXRBZGp1c3RSYXRpbyhhZGp1c3RSYXRpbyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiY29sQ291bnRcIiwgY29sQ291bnQpO1xuICAgICAgICAgICAgc2V0Q29scyhjb2xDb3VudCk7XG4gICAgICAgICAgICAvL3NldENvbnRhaW5lckhlaWdodCgnMTAwJScpO1xuICAgICAgICAgIC8qXG4gICAgICAgICAgfVxuICAgICAgICAgICovXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFtpdGVtTWF4V2lkdGgsIGl0ZW1Bc3BlY3RSYXRpb11cbiAgKTsgLy8gRGVwZW5kZW5jeSBhcnJheSB0byBpbmNsdWRlIHByb3BzIHRoYXQgYWZmZWN0IHRoZSByZXNpemUgbG9naWNcblxuICBjb25zdCBoYW5kbGVSZXNpemVEZWJvdW5jZSA9IHVzZUNhbGxiYWNrKGRlYm91bmNlKGhhbmRsZVJlc2l6ZSwgMTAwKSwgW1xuICAgIGhhbmRsZVJlc2l6ZSxcbiAgXSk7IC8vIERlYm91bmNlIHdpdGggZGVwZW5kZW5jeVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBncmlkIGl0ZW1zXG4gIGNvbnN0IGdyaWRJdGVtcyA9IFtdIGFzIFJlYWN0LlJlYWN0Tm9kZVtdO1xuXG4gIC8vIGhhbmRsZSBjb250YWluZXIgc2l6ZSBjaGFuZ2VcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihoYW5kbGVSZXNpemVEZWJvdW5jZSk7XG5cbiAgICBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoY29udGFpbmVyUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKGNvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIC8vIFRPRE86IHdhdGNoIHByb3AgY2hhbmdlXG4gIH0sIFtoYW5kbGVSZXNpemVEZWJvdW5jZV0pO1xuXG4gIE9iamVjdC5lbnRyaWVzKHBvc2l0aW9ucykuZm9yRWFjaChcbiAgICAoW2l0ZW0sIHsgcm93U3RhcnQsIGNvbFN0YXJ0LCByb3dTcGFuLCBjb2xTcGFuIH1dKSA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBgJHtpdGVtfS0ke3Jvd1N0YXJ0fS0ke2NvbFN0YXJ0fWA7XG4gICAgICBncmlkSXRlbXMucHVzaChcbiAgICAgICAgPEdyaWRJdGVtXG4gICAgICAgICAga2V5PXtrZXl9XG4gICAgICAgICAgY29sU3Bhbj17Y29sU3Bhbn1cbiAgICAgICAgICByb3dTcGFuPXtyb3dTcGFufVxuICAgICAgICAgIGl0ZW1Db2xzPXtjb2xzfVxuICAgICAgICAgIGl0ZW1NYXhXaWR0aD17aXRlbU1heFdpZHRofVxuICAgICAgICAgIGl0ZW1Bc3BlY3RSYXRpbz17aXRlbUFzcGVjdFJhdGlvICogYWRqdXN0UmF0aW99XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgICAgICAgbWFyZ2luOiBcIjEwcHhcIixcbiAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8R3JpZEl0ZW1Db250ZW50RXhhbXBsZT5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjM2cHhcIixcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpdGVtfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L0dyaWRJdGVtQ29udGVudEV4YW1wbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvR3JpZEl0ZW0+XG4gICAgICApO1xuICAgIH1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxHcmlkQ29udGFpbmVyXG4gICAgICBpdGVtTWF4V2lkdGg9e2l0ZW1NYXhXaWR0aH1cbiAgICAgIGl0ZW1Db2xzPXtjb2xzfVxuICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgPlxuICAgICAge2dyaWRJdGVtc31cbiAgICA8L0dyaWRDb250YWluZXI+XG4gICk7XG59OyIsInZhciBCQUNLR1JPVU5EX0NPTE9SPVwiI2ZmZlwiLExJTkVfSEVJR0hUPVwiMjBweFwiLEZPTlRfU0laRT1cIjEzcHhcIixkZWZhdWx0Q3NzVGhlbWU9XCJcXG4uY29kZWZsYXNrIHtcXG4gIGJhY2tncm91bmQ6IFwiK0JBQ0tHUk9VTkRfQ09MT1IrXCI7XFxuICBjb2xvcjogIzRmNTU5YztcXG59XFxuXFxuLmNvZGVmbGFzayAudG9rZW4ucHVuY3R1YXRpb24ge1xcbiAgY29sb3I6ICM0YTRhNGE7XFxufVxcblxcbi5jb2RlZmxhc2sgLnRva2VuLmtleXdvcmQge1xcbiAgY29sb3I6ICM4NTAwZmY7XFxufVxcblxcbi5jb2RlZmxhc2sgLnRva2VuLm9wZXJhdG9yIHtcXG4gIGNvbG9yOiAjZmY1NTk4O1xcbn1cXG5cXG4uY29kZWZsYXNrIC50b2tlbi5zdHJpbmcge1xcbiAgY29sb3I6ICM0MWFkOGY7XFxufVxcblxcbi5jb2RlZmxhc2sgLnRva2VuLmNvbW1lbnQge1xcbiAgY29sb3I6ICM5YmFkYjc7XFxufVxcblxcbi5jb2RlZmxhc2sgLnRva2VuLmZ1bmN0aW9uIHtcXG4gIGNvbG9yOiAjODUwMGZmO1xcbn1cXG5cXG4uY29kZWZsYXNrIC50b2tlbi5ib29sZWFuIHtcXG4gIGNvbG9yOiAjODUwMGZmO1xcbn1cXG5cXG4uY29kZWZsYXNrIC50b2tlbi5udW1iZXIge1xcbiAgY29sb3I6ICM4NTAwZmY7XFxufVxcblxcbi5jb2RlZmxhc2sgLnRva2VuLnNlbGVjdG9yIHtcXG4gIGNvbG9yOiAjODUwMGZmO1xcbn1cXG5cXG4uY29kZWZsYXNrIC50b2tlbi5wcm9wZXJ0eSB7XFxuICBjb2xvcjogIzg1MDBmZjtcXG59XFxuXFxuLmNvZGVmbGFzayAudG9rZW4udGFnIHtcXG4gIGNvbG9yOiAjODUwMGZmO1xcbn1cXG5cXG4uY29kZWZsYXNrIC50b2tlbi5hdHRyLXZhbHVlIHtcXG4gIGNvbG9yOiAjODUwMGZmO1xcbn1cXG5cIjtmdW5jdGlvbiBjc3NTdXBwb3J0cyhlLHQpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBDU1M/Q1NTLnN1cHBvcnRzKGUsdCk6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGRvY3VtZW50JiZ0b0NhbWVsQ2FzZShlKWluIGRvY3VtZW50LmJvZHkuc3R5bGV9ZnVuY3Rpb24gdG9DYW1lbENhc2UoZSl7cmV0dXJuKGU9ZS5zcGxpdChcIi1cIikuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiEhZX0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZVswXS50b1VwcGVyQ2FzZSgpK2Uuc3Vic3RyKDEpfSkuam9pbihcIlwiKSlbMF0udG9Mb3dlckNhc2UoKStlLnN1YnN0cigxKX12YXIgRk9OVF9GQU1JTFk9J1wiU0ZNb25vLVJlZ3VsYXJcIiwgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIE1lbmxvLCBDb3VyaWVyLCBtb25vc3BhY2UnLENPTE9SPWNzc1N1cHBvcnRzKFwiY2FyZXQtY29sb3JcIixcIiMwMDBcIik/QkFDS0dST1VORF9DT0xPUjpcIiNjY2NcIixMSU5FX05VTUJFUl9XSURUSD1cIjQwcHhcIixlZGl0b3JDc3M9XCJcXG4gIC5jb2RlZmxhc2sge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICB9XFxuXFxuICAuY29kZWZsYXNrLCAuY29kZWZsYXNrICoge1xcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgfVxcblxcbiAgLmNvZGVmbGFza19fcHJlIHtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICAgIHotaW5kZXg6IDM7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICB9XFxuXFxuICAuY29kZWZsYXNrX190ZXh0YXJlYSB7XFxuICAgIGJhY2tncm91bmQ6IG5vbmU7XFxuICAgIGJvcmRlcjogbm9uZTtcXG4gICAgY29sb3I6IFwiK0NPTE9SK1wiO1xcbiAgICB6LWluZGV4OiAxO1xcbiAgICByZXNpemU6IG5vbmU7XFxuICAgIGZvbnQtZmFtaWx5OiBcIitGT05UX0ZBTUlMWStcIjtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBwcmU7XFxuICAgIGNhcmV0LWNvbG9yOiAjMTExO1xcbiAgICB6LWluZGV4OiAyO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgfVxcblxcbiAgLmNvZGVmbGFzay0taGFzLWxpbmUtbnVtYmVycyAuY29kZWZsYXNrX190ZXh0YXJlYSB7XFxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBcIitMSU5FX05VTUJFUl9XSURUSCtcIik7XFxuICB9XFxuXFxuICAuY29kZWZsYXNrX19jb2RlIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIGZvbnQtZmFtaWx5OiBcIitGT05UX0ZBTUlMWStcIjtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIH1cXG5cXG4gIC5jb2RlZmxhc2tfX2ZsYXR0ZW4ge1xcbiAgICBwYWRkaW5nOiAxMHB4O1xcbiAgICBmb250LXNpemU6IFwiK0ZPTlRfU0laRStcIjtcXG4gICAgbGluZS1oZWlnaHQ6IFwiK0xJTkVfSEVJR0hUK1wiO1xcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRvcDogMDtcXG4gICAgbGVmdDogMDtcXG4gICAgb3ZlcmZsb3c6IGF1dG87XFxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xcbiAgICBvdXRsaW5lOiBub25lO1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcbiAgfVxcblxcbiAgLmNvZGVmbGFzay0taGFzLWxpbmUtbnVtYmVycyAuY29kZWZsYXNrX19mbGF0dGVuIHtcXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIFwiK0xJTkVfTlVNQkVSX1dJRFRIK1wiKTtcXG4gICAgbGVmdDogXCIrTElORV9OVU1CRVJfV0lEVEgrXCI7XFxuICB9XFxuXFxuICAuY29kZWZsYXNrX19saW5lLWhpZ2hsaWdodCB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAxMHB4O1xcbiAgICBsZWZ0OiAwO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiBcIitMSU5FX0hFSUdIVCtcIjtcXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpO1xcbiAgICB6LWluZGV4OiAxO1xcbiAgfVxcblxcbiAgLmNvZGVmbGFza19fbGluZXMge1xcbiAgICBwYWRkaW5nOiAxMHB4IDRweDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBsaW5lLWhlaWdodDogXCIrTElORV9IRUlHSFQrXCI7XFxuICAgIGZvbnQtZmFtaWx5OiAnQ291c2luZScsIG1vbm9zcGFjZTtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICBsZWZ0OiAwO1xcbiAgICB0b3A6IDA7XFxuICAgIHdpZHRoOiBcIitMSU5FX05VTUJFUl9XSURUSCtcIjtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcXG4gICAgY29sb3I6ICM5OTk7XFxuICAgIHotaW5kZXg6IDI7XFxuICB9XFxuXFxuICAuY29kZWZsYXNrX19saW5lc19fbGluZSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcblxcbiAgLmNvZGVmbGFzay5jb2RlZmxhc2stLWhhcy1saW5lLW51bWJlcnMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IFwiK0xJTkVfTlVNQkVSX1dJRFRIK1wiO1xcbiAgfVxcblxcbiAgLmNvZGVmbGFzay5jb2RlZmxhc2stLWhhcy1saW5lLW51bWJlcnM6YmVmb3JlIHtcXG4gICAgY29udGVudDogJyc7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgbGVmdDogMDtcXG4gICAgdG9wOiAwO1xcbiAgICB3aWR0aDogXCIrTElORV9OVU1CRVJfV0lEVEgrXCI7XFxuICAgIGhlaWdodDogMTAwJTtcXG4gICAgYmFja2dyb3VuZDogI2VlZTtcXG4gICAgei1pbmRleDogMTtcXG4gIH1cXG5cIjtmdW5jdGlvbiBpbmplY3RDc3MoZSx0LG4pe3ZhciBhPXR8fFwiY29kZWZsYXNrLXN0eWxlXCIscz1ufHxkb2N1bWVudC5oZWFkO2lmKCFlKXJldHVybiExO2lmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKXJldHVybiEwO3ZhciBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtyZXR1cm4gby5pbm5lckhUTUw9ZSxvLmlkPWEscy5hcHBlbmRDaGlsZChvKSwhMH12YXIgZW50aXR5TWFwPXtcIiZcIjpcIiZhbXA7XCIsXCI8XCI6XCImbHQ7XCIsXCI+XCI6XCImZ3Q7XCIsJ1wiJzpcIiZxdW90O1wiLFwiJ1wiOlwiJiMzOTtcIixcIi9cIjpcIiYjeDJGO1wiLFwiYFwiOlwiJiN4NjA7XCIsXCI9XCI6XCImI3gzRDtcIn07ZnVuY3Rpb24gZXNjYXBlSHRtbChlKXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoL1smPD5cIidgPS9dL2csZnVuY3Rpb24oZSl7cmV0dXJuIGVudGl0eU1hcFtlXX0pfXZhciBjb21tb25qc0dsb2JhbD1cInVuZGVmaW5lZFwiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOlwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OlwidW5kZWZpbmVkXCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBzZWxmP3NlbGY6e307ZnVuY3Rpb24gY3JlYXRlQ29tbW9uanNNb2R1bGUoZSx0KXtyZXR1cm4gZSh0PXtleHBvcnRzOnt9fSx0LmV4cG9ydHMpLHQuZXhwb3J0c312YXIgcHJpc209Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7dmFyIHQ9L1xcYmxhbmcoPzp1YWdlKT8tKFtcXHctXSspXFxiL2ksbj0wLGE9e21hbnVhbDplLlByaXNtJiZlLlByaXNtLm1hbnVhbCxkaXNhYmxlV29ya2VyTWVzc2FnZUhhbmRsZXI6ZS5QcmlzbSYmZS5QcmlzbS5kaXNhYmxlV29ya2VyTWVzc2FnZUhhbmRsZXIsdXRpbDp7ZW5jb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2Ygcz9uZXcgcyhlLnR5cGUsYS51dGlsLmVuY29kZShlLmNvbnRlbnQpLGUuYWxpYXMpOkFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoYS51dGlsLmVuY29kZSk6ZS5yZXBsYWNlKC8mL2csXCImYW1wO1wiKS5yZXBsYWNlKC88L2csXCImbHQ7XCIpLnJlcGxhY2UoL1xcdTAwYTAvZyxcIiBcIil9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKX0sb2JqSWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuX19pZHx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2lkXCIse3ZhbHVlOisrbn0pLGUuX19pZH0sY2xvbmU6ZnVuY3Rpb24gZSh0LG4pe3ZhciBzLG8saT1hLnV0aWwudHlwZSh0KTtzd2l0Y2gobj1ufHx7fSxpKXtjYXNlXCJPYmplY3RcIjppZihvPWEudXRpbC5vYmpJZCh0KSxuW29dKXJldHVybiBuW29dO2Zvcih2YXIgciBpbiBzPXt9LG5bb109cyx0KXQuaGFzT3duUHJvcGVydHkocikmJihzW3JdPWUodFtyXSxuKSk7cmV0dXJuIHM7Y2FzZVwiQXJyYXlcIjpyZXR1cm4gbz1hLnV0aWwub2JqSWQodCksbltvXT9uW29dOihzPVtdLG5bb109cyx0LmZvckVhY2goZnVuY3Rpb24odCxhKXtzW2FdPWUodCxuKX0pLHMpO2RlZmF1bHQ6cmV0dXJuIHR9fX0sbGFuZ3VhZ2VzOntleHRlbmQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj1hLnV0aWwuY2xvbmUoYS5sYW5ndWFnZXNbZV0pO2Zvcih2YXIgcyBpbiB0KW5bc109dFtzXTtyZXR1cm4gbn0saW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKGUsdCxuLHMpe3ZhciBvPShzPXN8fGEubGFuZ3VhZ2VzKVtlXSxpPXt9O2Zvcih2YXIgciBpbiBvKWlmKG8uaGFzT3duUHJvcGVydHkocikpe2lmKHI9PXQpZm9yKHZhciBsIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShsKSYmKGlbbF09bltsXSk7bi5oYXNPd25Qcm9wZXJ0eShyKXx8KGlbcl09b1tyXSl9dmFyIGM9c1tlXTtyZXR1cm4gc1tlXT1pLGEubGFuZ3VhZ2VzLkRGUyhhLmxhbmd1YWdlcyxmdW5jdGlvbih0LG4pe249PT1jJiZ0IT1lJiYodGhpc1t0XT1pKX0pLGl9LERGUzpmdW5jdGlvbiBlKHQsbixzLG8pe289b3x8e307dmFyIGk9YS51dGlsLm9iaklkO2Zvcih2YXIgciBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkocikpe24uY2FsbCh0LHIsdFtyXSxzfHxyKTt2YXIgbD10W3JdLGM9YS51dGlsLnR5cGUobCk7XCJPYmplY3RcIiE9PWN8fG9baShsKV0/XCJBcnJheVwiIT09Y3x8b1tpKGwpXXx8KG9baShsKV09ITAsZShsLG4scixvKSk6KG9baShsKV09ITAsZShsLG4sbnVsbCxvKSl9fX0scGx1Z2luczp7fSxoaWdobGlnaHRBbGw6ZnVuY3Rpb24oZSx0KXthLmhpZ2hsaWdodEFsbFVuZGVyKGRvY3VtZW50LGUsdCl9LGhpZ2hsaWdodEFsbFVuZGVyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcz17Y2FsbGJhY2s6bixzZWxlY3RvcjonY29kZVtjbGFzcyo9XCJsYW5ndWFnZS1cIl0sIFtjbGFzcyo9XCJsYW5ndWFnZS1cIl0gY29kZSwgY29kZVtjbGFzcyo9XCJsYW5nLVwiXSwgW2NsYXNzKj1cImxhbmctXCJdIGNvZGUnfTthLmhvb2tzLnJ1bihcImJlZm9yZS1oaWdobGlnaHRhbGxcIixzKTtmb3IodmFyIG8saT1zLmVsZW1lbnRzfHxlLnF1ZXJ5U2VsZWN0b3JBbGwocy5zZWxlY3Rvcikscj0wO289aVtyKytdOylhLmhpZ2hsaWdodEVsZW1lbnQobywhMD09PXQscy5jYWxsYmFjayl9LGhpZ2hsaWdodEVsZW1lbnQ6ZnVuY3Rpb24obixzLG8pe2Zvcih2YXIgaSxyLGw9bjtsJiYhdC50ZXN0KGwuY2xhc3NOYW1lKTspbD1sLnBhcmVudE5vZGU7bCYmKGk9KGwuY2xhc3NOYW1lLm1hdGNoKHQpfHxbLFwiXCJdKVsxXS50b0xvd2VyQ2FzZSgpLHI9YS5sYW5ndWFnZXNbaV0pLG4uY2xhc3NOYW1lPW4uY2xhc3NOYW1lLnJlcGxhY2UodCxcIlwiKS5yZXBsYWNlKC9cXHMrL2csXCIgXCIpK1wiIGxhbmd1YWdlLVwiK2ksbi5wYXJlbnROb2RlJiYobD1uLnBhcmVudE5vZGUsL3ByZS9pLnRlc3QobC5ub2RlTmFtZSkmJihsLmNsYXNzTmFtZT1sLmNsYXNzTmFtZS5yZXBsYWNlKHQsXCJcIikucmVwbGFjZSgvXFxzKy9nLFwiIFwiKStcIiBsYW5ndWFnZS1cIitpKSk7dmFyIGM9e2VsZW1lbnQ6bixsYW5ndWFnZTppLGdyYW1tYXI6cixjb2RlOm4udGV4dENvbnRlbnR9LGQ9ZnVuY3Rpb24oZSl7Yy5oaWdobGlnaHRlZENvZGU9ZSxhLmhvb2tzLnJ1bihcImJlZm9yZS1pbnNlcnRcIixjKSxjLmVsZW1lbnQuaW5uZXJIVE1MPWMuaGlnaGxpZ2h0ZWRDb2RlLGEuaG9va3MucnVuKFwiYWZ0ZXItaGlnaGxpZ2h0XCIsYyksYS5ob29rcy5ydW4oXCJjb21wbGV0ZVwiLGMpLG8mJm8uY2FsbChjLmVsZW1lbnQpfTtpZihhLmhvb2tzLnJ1bihcImJlZm9yZS1zYW5pdHktY2hlY2tcIixjKSxjLmNvZGUpaWYoYS5ob29rcy5ydW4oXCJiZWZvcmUtaGlnaGxpZ2h0XCIsYyksYy5ncmFtbWFyKWlmKHMmJmUuV29ya2VyKXt2YXIgdT1uZXcgV29ya2VyKGEuZmlsZW5hbWUpO3Uub25tZXNzYWdlPWZ1bmN0aW9uKGUpe2QoZS5kYXRhKX0sdS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7bGFuZ3VhZ2U6Yy5sYW5ndWFnZSxjb2RlOmMuY29kZSxpbW1lZGlhdGVDbG9zZTohMH0pKX1lbHNlIGQoYS5oaWdobGlnaHQoYy5jb2RlLGMuZ3JhbW1hcixjLmxhbmd1YWdlKSk7ZWxzZSBkKGEudXRpbC5lbmNvZGUoYy5jb2RlKSk7ZWxzZSBhLmhvb2tzLnJ1bihcImNvbXBsZXRlXCIsYyl9LGhpZ2hsaWdodDpmdW5jdGlvbihlLHQsbil7dmFyIG89e2NvZGU6ZSxncmFtbWFyOnQsbGFuZ3VhZ2U6bn07cmV0dXJuIGEuaG9va3MucnVuKFwiYmVmb3JlLXRva2VuaXplXCIsbyksby50b2tlbnM9YS50b2tlbml6ZShvLmNvZGUsby5ncmFtbWFyKSxhLmhvb2tzLnJ1bihcImFmdGVyLXRva2VuaXplXCIsbykscy5zdHJpbmdpZnkoYS51dGlsLmVuY29kZShvLnRva2Vucyksby5sYW5ndWFnZSl9LG1hdGNoR3JhbW1hcjpmdW5jdGlvbihlLHQsbixvLGkscixsKXtmb3IodmFyIGMgaW4gbilpZihuLmhhc093blByb3BlcnR5KGMpJiZuW2NdKXtpZihjPT1sKXJldHVybjt2YXIgZD1uW2NdO2Q9XCJBcnJheVwiPT09YS51dGlsLnR5cGUoZCk/ZDpbZF07Zm9yKHZhciB1PTA7dTxkLmxlbmd0aDsrK3Upe3ZhciBwPWRbdV0saD1wLmluc2lkZSxnPSEhcC5sb29rYmVoaW5kLGY9ISFwLmdyZWVkeSxtPTAsYj1wLmFsaWFzO2lmKGYmJiFwLnBhdHRlcm4uZ2xvYmFsKXt2YXIgaz1wLnBhdHRlcm4udG9TdHJpbmcoKS5tYXRjaCgvW2ltdXldKiQvKVswXTtwLnBhdHRlcm49UmVnRXhwKHAucGF0dGVybi5zb3VyY2UsaytcImdcIil9cD1wLnBhdHRlcm58fHA7Zm9yKHZhciB5PW8sQz1pO3k8dC5sZW5ndGg7Qys9dFt5XS5sZW5ndGgsKyt5KXt2YXIgRj10W3ldO2lmKHQubGVuZ3RoPmUubGVuZ3RoKXJldHVybjtpZighKEYgaW5zdGFuY2VvZiBzKSl7aWYoZiYmeSE9dC5sZW5ndGgtMSl7aWYocC5sYXN0SW5kZXg9QywhKFQ9cC5leGVjKGUpKSlicmVhaztmb3IodmFyIHY9VC5pbmRleCsoZz9UWzFdLmxlbmd0aDowKSx4PVQuaW5kZXgrVFswXS5sZW5ndGgsdz15LEE9QyxfPXQubGVuZ3RoO3c8XyYmKEE8eHx8IXRbd10udHlwZSYmIXRbdy0xXS5ncmVlZHkpOysrdyl2Pj0oQSs9dFt3XS5sZW5ndGgpJiYoKyt5LEM9QSk7aWYodFt5XWluc3RhbmNlb2Ygcyljb250aW51ZTtFPXcteSxGPWUuc2xpY2UoQyxBKSxULmluZGV4LT1DfWVsc2V7cC5sYXN0SW5kZXg9MDt2YXIgVD1wLmV4ZWMoRiksRT0xfWlmKFQpe2cmJihtPVRbMV0/VFsxXS5sZW5ndGg6MCk7eD0odj1ULmluZGV4K20pKyhUPVRbMF0uc2xpY2UobSkpLmxlbmd0aDt2YXIgTD1GLnNsaWNlKDAsdiksTj1GLnNsaWNlKHgpLFM9W3ksRV07TCYmKCsreSxDKz1MLmxlbmd0aCxTLnB1c2goTCkpO3ZhciBJPW5ldyBzKGMsaD9hLnRva2VuaXplKFQsaCk6VCxiLFQsZik7aWYoUy5wdXNoKEkpLE4mJlMucHVzaChOKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmFwcGx5KHQsUyksMSE9RSYmYS5tYXRjaEdyYW1tYXIoZSx0LG4seSxDLCEwLGMpLHIpYnJlYWt9ZWxzZSBpZihyKWJyZWFrfX19fX0sdG9rZW5pemU6ZnVuY3Rpb24oZSx0KXt2YXIgbj1bZV0scz10LnJlc3Q7aWYocyl7Zm9yKHZhciBvIGluIHMpdFtvXT1zW29dO2RlbGV0ZSB0LnJlc3R9cmV0dXJuIGEubWF0Y2hHcmFtbWFyKGUsbix0LDAsMCwhMSksbn0saG9va3M6e2FsbDp7fSxhZGQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj1hLmhvb2tzLmFsbDtuW2VdPW5bZV18fFtdLG5bZV0ucHVzaCh0KX0scnVuOmZ1bmN0aW9uKGUsdCl7dmFyIG49YS5ob29rcy5hbGxbZV07aWYobiYmbi5sZW5ndGgpZm9yKHZhciBzLG89MDtzPW5bbysrXTspcyh0KX19LFRva2VuOnN9O2Z1bmN0aW9uIHMoZSx0LG4sYSxzKXt0aGlzLnR5cGU9ZSx0aGlzLmNvbnRlbnQ9dCx0aGlzLmFsaWFzPW4sdGhpcy5sZW5ndGg9MHwoYXx8XCJcIikubGVuZ3RoLHRoaXMuZ3JlZWR5PSEhc31pZihlLlByaXNtPWEscy5zdHJpbmdpZnk9ZnVuY3Rpb24oZSx0LG4pe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXJldHVybiBlO2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGUubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBzLnN0cmluZ2lmeShuLHQsZSl9KS5qb2luKFwiXCIpO3ZhciBvPXt0eXBlOmUudHlwZSxjb250ZW50OnMuc3RyaW5naWZ5KGUuY29udGVudCx0LG4pLHRhZzpcInNwYW5cIixjbGFzc2VzOltcInRva2VuXCIsZS50eXBlXSxhdHRyaWJ1dGVzOnt9LGxhbmd1YWdlOnQscGFyZW50Om59O2lmKGUuYWxpYXMpe3ZhciBpPUFycmF5LmlzQXJyYXkoZS5hbGlhcyk/ZS5hbGlhczpbZS5hbGlhc107QXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoby5jbGFzc2VzLGkpfWEuaG9va3MucnVuKFwid3JhcFwiLG8pO3ZhciByPU9iamVjdC5rZXlzKG8uYXR0cmlidXRlcykubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlKyc9XCInKyhvLmF0dHJpYnV0ZXNbZV18fFwiXCIpLnJlcGxhY2UoL1wiL2csXCImcXVvdDtcIikrJ1wiJ30pLmpvaW4oXCIgXCIpO3JldHVyblwiPFwiK28udGFnKycgY2xhc3M9XCInK28uY2xhc3Nlcy5qb2luKFwiIFwiKSsnXCInKyhyP1wiIFwiK3I6XCJcIikrXCI+XCIrby5jb250ZW50K1wiPC9cIitvLnRhZytcIj5cIn0sIWUuZG9jdW1lbnQpcmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcj8oYS5kaXNhYmxlV29ya2VyTWVzc2FnZUhhbmRsZXJ8fGUuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIixmdW5jdGlvbih0KXt2YXIgbj1KU09OLnBhcnNlKHQuZGF0YSkscz1uLmxhbmd1YWdlLG89bi5jb2RlLGk9bi5pbW1lZGlhdGVDbG9zZTtlLnBvc3RNZXNzYWdlKGEuaGlnaGxpZ2h0KG8sYS5sYW5ndWFnZXNbc10scykpLGkmJmUuY2xvc2UoKX0sITEpLGEpOmE7dmFyIG89ZG9jdW1lbnQuY3VycmVudFNjcmlwdHx8W10uc2xpY2UuY2FsbChkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInNjcmlwdFwiKSkucG9wKCk7cmV0dXJuIG8mJihhLmZpbGVuYW1lPW8uc3JjLGEubWFudWFsfHxvLmhhc0F0dHJpYnV0ZShcImRhdGEtbWFudWFsXCIpfHwoXCJsb2FkaW5nXCIhPT1kb2N1bWVudC5yZWFkeVN0YXRlP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShhLmhpZ2hsaWdodEFsbCk6d2luZG93LnNldFRpbWVvdXQoYS5oaWdobGlnaHRBbGwsMTYpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJET01Db250ZW50TG9hZGVkXCIsYS5oaWdobGlnaHRBbGwpKSksYX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGU/c2VsZjp7fSk7ZS5leHBvcnRzJiYoZS5leHBvcnRzPXQpLHZvaWQgMCE9PWNvbW1vbmpzR2xvYmFsJiYoY29tbW9uanNHbG9iYWwuUHJpc209dCksdC5sYW5ndWFnZXMubWFya3VwPXtjb21tZW50Oi88IS0tW1xcc1xcU10qPy0tPi8scHJvbG9nOi88XFw/W1xcc1xcU10rP1xcPz4vLGRvY3R5cGU6LzwhRE9DVFlQRVtcXHNcXFNdKz8+L2ksY2RhdGE6LzwhXFxbQ0RBVEFcXFtbXFxzXFxTXSo/XV0+L2ksdGFnOntwYXR0ZXJuOi88XFwvPyg/IVxcZClbXlxccz5cXC89JDwlXSsoPzpcXHMoPzpcXHMqW15cXHM+XFwvPV0rKD86XFxzKj1cXHMqKD86XCJbXlwiXSpcInwnW14nXSonfFteXFxzJ1wiPj1dKyg/PVtcXHM+XSkpfCg/PVtcXHMvPl0pKSkrKT9cXHMqXFwvPz4vaSxncmVlZHk6ITAsaW5zaWRlOnt0YWc6e3BhdHRlcm46L148XFwvP1teXFxzPlxcL10rL2ksaW5zaWRlOntwdW5jdHVhdGlvbjovXjxcXC8/LyxuYW1lc3BhY2U6L15bXlxccz5cXC86XSs6L319LFwiYXR0ci12YWx1ZVwiOntwYXR0ZXJuOi89XFxzKig/OlwiW15cIl0qXCJ8J1teJ10qJ3xbXlxccydcIj49XSspL2ksaW5zaWRlOntwdW5jdHVhdGlvbjpbL149Lyx7cGF0dGVybjovXihcXHMqKVtcIiddfFtcIiddJC8sbG9va2JlaGluZDohMH1dfX0scHVuY3R1YXRpb246L1xcLz8+LyxcImF0dHItbmFtZVwiOntwYXR0ZXJuOi9bXlxccz5cXC9dKy8saW5zaWRlOntuYW1lc3BhY2U6L15bXlxccz5cXC86XSs6L319fX0sZW50aXR5Oi8mIz9bXFxkYS16XXsxLDh9Oy9pfSx0Lmxhbmd1YWdlcy5tYXJrdXAudGFnLmluc2lkZVtcImF0dHItdmFsdWVcIl0uaW5zaWRlLmVudGl0eT10Lmxhbmd1YWdlcy5tYXJrdXAuZW50aXR5LHQuaG9va3MuYWRkKFwid3JhcFwiLGZ1bmN0aW9uKGUpe1wiZW50aXR5XCI9PT1lLnR5cGUmJihlLmF0dHJpYnV0ZXMudGl0bGU9ZS5jb250ZW50LnJlcGxhY2UoLyZhbXA7LyxcIiZcIikpfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQubGFuZ3VhZ2VzLm1hcmt1cC50YWcsXCJhZGRJbmxpbmVkXCIse3ZhbHVlOmZ1bmN0aW9uKGUsbil7dmFyIGE9e307YVtcImxhbmd1YWdlLVwiK25dPXtwYXR0ZXJuOi8oXjwhXFxbQ0RBVEFcXFspW1xcc1xcU10rPyg/PVxcXVxcXT4kKS9pLGxvb2tiZWhpbmQ6ITAsaW5zaWRlOnQubGFuZ3VhZ2VzW25dfSxhLmNkYXRhPS9ePCFcXFtDREFUQVxcW3xcXF1cXF0+JC9pO3ZhciBzPXtcImluY2x1ZGVkLWNkYXRhXCI6e3BhdHRlcm46LzwhXFxbQ0RBVEFcXFtbXFxzXFxTXSo/XFxdXFxdPi9pLGluc2lkZTphfX07c1tcImxhbmd1YWdlLVwiK25dPXtwYXR0ZXJuOi9bXFxzXFxTXSsvLGluc2lkZTp0Lmxhbmd1YWdlc1tuXX07dmFyIG89e307b1tlXT17cGF0dGVybjpSZWdFeHAoLyg8X19bXFxzXFxTXSo/PikoPzo8IVxcW0NEQVRBXFxbW1xcc1xcU10qP1xcXVxcXT5cXHMqfFtcXHNcXFNdKSo/KD89PFxcL19fPikvLnNvdXJjZS5yZXBsYWNlKC9fXy9nLGUpLFwiaVwiKSxsb29rYmVoaW5kOiEwLGdyZWVkeTohMCxpbnNpZGU6c30sdC5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKFwibWFya3VwXCIsXCJjZGF0YVwiLG8pfX0pLHQubGFuZ3VhZ2VzLnhtbD10Lmxhbmd1YWdlcy5leHRlbmQoXCJtYXJrdXBcIix7fSksdC5sYW5ndWFnZXMuaHRtbD10Lmxhbmd1YWdlcy5tYXJrdXAsdC5sYW5ndWFnZXMubWF0aG1sPXQubGFuZ3VhZ2VzLm1hcmt1cCx0Lmxhbmd1YWdlcy5zdmc9dC5sYW5ndWFnZXMubWFya3VwLGZ1bmN0aW9uKGUpe3ZhciB0PS8oXCJ8JykoPzpcXFxcKD86XFxyXFxufFtcXHNcXFNdKXwoPyFcXDEpW15cXFxcXFxyXFxuXSkqXFwxLztlLmxhbmd1YWdlcy5jc3M9e2NvbW1lbnQ6L1xcL1xcKltcXHNcXFNdKj9cXCpcXC8vLGF0cnVsZTp7cGF0dGVybjovQFtcXHctXSs/W1xcc1xcU10qPyg/Ojt8KD89XFxzKlxceykpL2ksaW5zaWRlOntydWxlOi9AW1xcdy1dKy99fSx1cmw6UmVnRXhwKFwidXJsXFxcXCgoPzpcIit0LnNvdXJjZStcInwuKj8pXFxcXClcIixcImlcIiksc2VsZWN0b3I6UmVnRXhwKFwiW157fVxcXFxzXSg/Oltee307XFxcIiddfFwiK3Quc291cmNlK1wiKSo/KD89XFxcXHMqXFxcXHspXCIpLHN0cmluZzp7cGF0dGVybjp0LGdyZWVkeTohMH0scHJvcGVydHk6L1stX2EtelxceEEwLVxcdUZGRkZdWy1cXHdcXHhBMC1cXHVGRkZGXSooPz1cXHMqOikvaSxpbXBvcnRhbnQ6LyFpbXBvcnRhbnRcXGIvaSxmdW5jdGlvbjovWy1hLXowLTldKyg/PVxcKCkvaSxwdW5jdHVhdGlvbjovWygpe307OixdL30sZS5sYW5ndWFnZXMuY3NzLmF0cnVsZS5pbnNpZGUucmVzdD1lLmxhbmd1YWdlcy5jc3M7dmFyIG49ZS5sYW5ndWFnZXMubWFya3VwO24mJihuLnRhZy5hZGRJbmxpbmVkKFwic3R5bGVcIixcImNzc1wiKSxlLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoXCJpbnNpZGVcIixcImF0dHItdmFsdWVcIix7XCJzdHlsZS1hdHRyXCI6e3BhdHRlcm46L1xccypzdHlsZT0oXCJ8JykoPzpcXFxcW1xcc1xcU118KD8hXFwxKVteXFxcXF0pKlxcMS9pLGluc2lkZTp7XCJhdHRyLW5hbWVcIjp7cGF0dGVybjovXlxccypzdHlsZS9pLGluc2lkZTpuLnRhZy5pbnNpZGV9LHB1bmN0dWF0aW9uOi9eXFxzKj1cXHMqWydcIl18WydcIl1cXHMqJC8sXCJhdHRyLXZhbHVlXCI6e3BhdHRlcm46Ly4rL2ksaW5zaWRlOmUubGFuZ3VhZ2VzLmNzc319LGFsaWFzOlwibGFuZ3VhZ2UtY3NzXCJ9fSxuLnRhZykpfSh0KSx0Lmxhbmd1YWdlcy5jbGlrZT17Y29tbWVudDpbe3BhdHRlcm46LyhefFteXFxcXF0pXFwvXFwqW1xcc1xcU10qPyg/OlxcKlxcL3wkKS8sbG9va2JlaGluZDohMH0se3BhdHRlcm46LyhefFteXFxcXDpdKVxcL1xcLy4qLyxsb29rYmVoaW5kOiEwLGdyZWVkeTohMH1dLHN0cmluZzp7cGF0dGVybjovKFtcIiddKSg/OlxcXFwoPzpcXHJcXG58W1xcc1xcU10pfCg/IVxcMSlbXlxcXFxcXHJcXG5dKSpcXDEvLGdyZWVkeTohMH0sXCJjbGFzcy1uYW1lXCI6e3BhdHRlcm46LygoPzpcXGIoPzpjbGFzc3xpbnRlcmZhY2V8ZXh0ZW5kc3xpbXBsZW1lbnRzfHRyYWl0fGluc3RhbmNlb2Z8bmV3KVxccyspfCg/OmNhdGNoXFxzK1xcKCkpW1xcdy5cXFxcXSsvaSxsb29rYmVoaW5kOiEwLGluc2lkZTp7cHVuY3R1YXRpb246L1suXFxcXF0vfX0sa2V5d29yZDovXFxiKD86aWZ8ZWxzZXx3aGlsZXxkb3xmb3J8cmV0dXJufGlufGluc3RhbmNlb2Z8ZnVuY3Rpb258bmV3fHRyeXx0aHJvd3xjYXRjaHxmaW5hbGx5fG51bGx8YnJlYWt8Y29udGludWUpXFxiLyxib29sZWFuOi9cXGIoPzp0cnVlfGZhbHNlKVxcYi8sZnVuY3Rpb246L1xcdysoPz1cXCgpLyxudW1iZXI6L1xcYjB4W1xcZGEtZl0rXFxifCg/OlxcYlxcZCtcXC4/XFxkKnxcXEJcXC5cXGQrKSg/OmVbKy1dP1xcZCspPy9pLG9wZXJhdG9yOi8tLT98XFwrXFwrP3whPT89P3w8PT98Pj0/fD09Pz0/fCYmP3xcXHxcXHw/fFxcP3xcXCp8XFwvfH58XFxefCUvLHB1bmN0dWF0aW9uOi9be31bXFxdOygpLC46XS99LHQubGFuZ3VhZ2VzLmphdmFzY3JpcHQ9dC5sYW5ndWFnZXMuZXh0ZW5kKFwiY2xpa2VcIix7XCJjbGFzcy1uYW1lXCI6W3QubGFuZ3VhZ2VzLmNsaWtlW1wiY2xhc3MtbmFtZVwiXSx7cGF0dGVybjovKF58W14kXFx3XFx4QTAtXFx1RkZGRl0pW18kQS1aXFx4QTAtXFx1RkZGRl1bJFxcd1xceEEwLVxcdUZGRkZdKig/PVxcLig/OnByb3RvdHlwZXxjb25zdHJ1Y3RvcikpLyxsb29rYmVoaW5kOiEwfV0sa2V5d29yZDpbe3BhdHRlcm46LygoPzpefH0pXFxzKikoPzpjYXRjaHxmaW5hbGx5KVxcYi8sbG9va2JlaGluZDohMH0se3BhdHRlcm46LyhefFteLl0pXFxiKD86YXN8YXN5bmMoPz1cXHMqKD86ZnVuY3Rpb25cXGJ8XFwofFskXFx3XFx4QTAtXFx1RkZGRl18JCkpfGF3YWl0fGJyZWFrfGNhc2V8Y2xhc3N8Y29uc3R8Y29udGludWV8ZGVidWdnZXJ8ZGVmYXVsdHxkZWxldGV8ZG98ZWxzZXxlbnVtfGV4cG9ydHxleHRlbmRzfGZvcnxmcm9tfGZ1bmN0aW9ufGdldHxpZnxpbXBsZW1lbnRzfGltcG9ydHxpbnxpbnN0YW5jZW9mfGludGVyZmFjZXxsZXR8bmV3fG51bGx8b2Z8cGFja2FnZXxwcml2YXRlfHByb3RlY3RlZHxwdWJsaWN8cmV0dXJufHNldHxzdGF0aWN8c3VwZXJ8c3dpdGNofHRoaXN8dGhyb3d8dHJ5fHR5cGVvZnx1bmRlZmluZWR8dmFyfHZvaWR8d2hpbGV8d2l0aHx5aWVsZClcXGIvLGxvb2tiZWhpbmQ6ITB9XSxudW1iZXI6L1xcYig/Oig/OjBbeFhdW1xcZEEtRmEtZl0rfDBbYkJdWzAxXSt8MFtvT11bMC03XSspbj98XFxkK258TmFOfEluZmluaXR5KVxcYnwoPzpcXGJcXGQrXFwuP1xcZCp8XFxCXFwuXFxkKykoPzpbRWVdWystXT9cXGQrKT8vLGZ1bmN0aW9uOi9bXyRhLXpBLVpcXHhBMC1cXHVGRkZGXVskXFx3XFx4QTAtXFx1RkZGRl0qKD89XFxzKig/OlxcLlxccyooPzphcHBseXxiaW5kfGNhbGwpXFxzKik/XFwoKS8sb3BlcmF0b3I6Ly1bLT1dP3xcXCtbKz1dP3whPT89P3w8PD89P3w+Pj8+Pz0/fD0oPzo9PT98Pik/fCZbJj1dP3xcXHxbfD1dP3xcXCpcXCo/PT98XFwvPT98fnxcXF49P3wlPT98XFw/fFxcLnszfS99KSx0Lmxhbmd1YWdlcy5qYXZhc2NyaXB0W1wiY2xhc3MtbmFtZVwiXVswXS5wYXR0ZXJuPS8oXFxiKD86Y2xhc3N8aW50ZXJmYWNlfGV4dGVuZHN8aW1wbGVtZW50c3xpbnN0YW5jZW9mfG5ldylcXHMrKVtcXHcuXFxcXF0rLyx0Lmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoXCJqYXZhc2NyaXB0XCIsXCJrZXl3b3JkXCIse3JlZ2V4OntwYXR0ZXJuOi8oKD86XnxbXiRcXHdcXHhBMC1cXHVGRkZGLlwiJ1xcXSlcXHNdKVxccyopXFwvKFxcWyg/OlteXFxdXFxcXFxcclxcbl18XFxcXC4pKl18XFxcXC58W14vXFxcXFxcW1xcclxcbl0pK1xcL1tnaW15dV17MCw1fSg/PVxccyooJHxbXFxyXFxuLC47fSlcXF1dKSkvLGxvb2tiZWhpbmQ6ITAsZ3JlZWR5OiEwfSxcImZ1bmN0aW9uLXZhcmlhYmxlXCI6e3BhdHRlcm46L1tfJGEtekEtWlxceEEwLVxcdUZGRkZdWyRcXHdcXHhBMC1cXHVGRkZGXSooPz1cXHMqWz06XVxccyooPzphc3luY1xccyopPyg/OlxcYmZ1bmN0aW9uXFxifCg/OlxcKCg/OlteKCldfFxcKFteKCldKlxcKSkqXFwpfFtfJGEtekEtWlxceEEwLVxcdUZGRkZdWyRcXHdcXHhBMC1cXHVGRkZGXSopXFxzKj0+KSkvLGFsaWFzOlwiZnVuY3Rpb25cIn0scGFyYW1ldGVyOlt7cGF0dGVybjovKGZ1bmN0aW9uKD86XFxzK1tfJEEtWmEtelxceEEwLVxcdUZGRkZdWyRcXHdcXHhBMC1cXHVGRkZGXSopP1xccypcXChcXHMqKSg/IVxccykoPzpbXigpXXxcXChbXigpXSpcXCkpKz8oPz1cXHMqXFwpKS8sbG9va2JlaGluZDohMCxpbnNpZGU6dC5sYW5ndWFnZXMuamF2YXNjcmlwdH0se3BhdHRlcm46L1tfJGEtelxceEEwLVxcdUZGRkZdWyRcXHdcXHhBMC1cXHVGRkZGXSooPz1cXHMqPT4pL2ksaW5zaWRlOnQubGFuZ3VhZ2VzLmphdmFzY3JpcHR9LHtwYXR0ZXJuOi8oXFwoXFxzKikoPyFcXHMpKD86W14oKV18XFwoW14oKV0qXFwpKSs/KD89XFxzKlxcKVxccyo9PikvLGxvb2tiZWhpbmQ6ITAsaW5zaWRlOnQubGFuZ3VhZ2VzLmphdmFzY3JpcHR9LHtwYXR0ZXJuOi8oKD86XFxifFxcc3xeKSg/ISg/OmFzfGFzeW5jfGF3YWl0fGJyZWFrfGNhc2V8Y2F0Y2h8Y2xhc3N8Y29uc3R8Y29udGludWV8ZGVidWdnZXJ8ZGVmYXVsdHxkZWxldGV8ZG98ZWxzZXxlbnVtfGV4cG9ydHxleHRlbmRzfGZpbmFsbHl8Zm9yfGZyb218ZnVuY3Rpb258Z2V0fGlmfGltcGxlbWVudHN8aW1wb3J0fGlufGluc3RhbmNlb2Z8aW50ZXJmYWNlfGxldHxuZXd8bnVsbHxvZnxwYWNrYWdlfHByaXZhdGV8cHJvdGVjdGVkfHB1YmxpY3xyZXR1cm58c2V0fHN0YXRpY3xzdXBlcnxzd2l0Y2h8dGhpc3x0aHJvd3x0cnl8dHlwZW9mfHVuZGVmaW5lZHx2YXJ8dm9pZHx3aGlsZXx3aXRofHlpZWxkKSg/IVskXFx3XFx4QTAtXFx1RkZGRl0pKSg/OltfJEEtWmEtelxceEEwLVxcdUZGRkZdWyRcXHdcXHhBMC1cXHVGRkZGXSpcXHMqKVxcKFxccyopKD8hXFxzKSg/OlteKCldfFxcKFteKCldKlxcKSkrPyg/PVxccypcXClcXHMqXFx7KS8sbG9va2JlaGluZDohMCxpbnNpZGU6dC5sYW5ndWFnZXMuamF2YXNjcmlwdH1dLGNvbnN0YW50Oi9cXGJbQS1aXSg/OltBLVpfXXxcXGR4PykqXFxiL30pLHQubGFuZ3VhZ2VzLmluc2VydEJlZm9yZShcImphdmFzY3JpcHRcIixcInN0cmluZ1wiLHtcInRlbXBsYXRlLXN0cmluZ1wiOntwYXR0ZXJuOi9gKD86XFxcXFtcXHNcXFNdfFxcJHtbXn1dK318W15cXFxcYF0pKmAvLGdyZWVkeTohMCxpbnNpZGU6e2ludGVycG9sYXRpb246e3BhdHRlcm46L1xcJHtbXn1dK30vLGluc2lkZTp7XCJpbnRlcnBvbGF0aW9uLXB1bmN0dWF0aW9uXCI6e3BhdHRlcm46L15cXCR7fH0kLyxhbGlhczpcInB1bmN0dWF0aW9uXCJ9LHJlc3Q6dC5sYW5ndWFnZXMuamF2YXNjcmlwdH19LHN0cmluZzovW1xcc1xcU10rL319fSksdC5sYW5ndWFnZXMubWFya3VwJiZ0Lmxhbmd1YWdlcy5tYXJrdXAudGFnLmFkZElubGluZWQoXCJzY3JpcHRcIixcImphdmFzY3JpcHRcIiksdC5sYW5ndWFnZXMuanM9dC5sYW5ndWFnZXMuamF2YXNjcmlwdCxcInVuZGVmaW5lZFwiIT10eXBlb2Ygc2VsZiYmc2VsZi5QcmlzbSYmc2VsZi5kb2N1bWVudCYmZG9jdW1lbnQucXVlcnlTZWxlY3RvciYmKHNlbGYuUHJpc20uZmlsZUhpZ2hsaWdodD1mdW5jdGlvbihlKXtlPWV8fGRvY3VtZW50O3ZhciBuPXtqczpcImphdmFzY3JpcHRcIixweTpcInB5dGhvblwiLHJiOlwicnVieVwiLHBzMTpcInBvd2Vyc2hlbGxcIixwc20xOlwicG93ZXJzaGVsbFwiLHNoOlwiYmFzaFwiLGJhdDpcImJhdGNoXCIsaDpcImNcIix0ZXg6XCJsYXRleFwifTtBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJwcmVbZGF0YS1zcmNdXCIpKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKCFlLmhhc0F0dHJpYnV0ZShcImRhdGEtc3JjLWxvYWRlZFwiKSl7Zm9yKHZhciBhLHM9ZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXNyY1wiKSxvPWUsaT0vXFxibGFuZyg/OnVhZ2UpPy0oW1xcdy1dKylcXGIvaTtvJiYhaS50ZXN0KG8uY2xhc3NOYW1lKTspbz1vLnBhcmVudE5vZGU7aWYobyYmKGE9KGUuY2xhc3NOYW1lLm1hdGNoKGkpfHxbLFwiXCJdKVsxXSksIWEpe3ZhciByPShzLm1hdGNoKC9cXC4oXFx3KykkLyl8fFssXCJcIl0pWzFdO2E9bltyXXx8cn12YXIgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY29kZVwiKTtsLmNsYXNzTmFtZT1cImxhbmd1YWdlLVwiK2EsZS50ZXh0Q29udGVudD1cIlwiLGwudGV4dENvbnRlbnQ9XCJMb2FkaW5n4oCmXCIsZS5hcHBlbmRDaGlsZChsKTt2YXIgYz1uZXcgWE1MSHR0cFJlcXVlc3Q7Yy5vcGVuKFwiR0VUXCIscywhMCksYy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT1jLnJlYWR5U3RhdGUmJihjLnN0YXR1czw0MDAmJmMucmVzcG9uc2VUZXh0PyhsLnRleHRDb250ZW50PWMucmVzcG9uc2VUZXh0LHQuaGlnaGxpZ2h0RWxlbWVudChsKSxlLnNldEF0dHJpYnV0ZShcImRhdGEtc3JjLWxvYWRlZFwiLFwiXCIpKTpjLnN0YXR1cz49NDAwP2wudGV4dENvbnRlbnQ9XCLinJYgRXJyb3IgXCIrYy5zdGF0dXMrXCIgd2hpbGUgZmV0Y2hpbmcgZmlsZTogXCIrYy5zdGF0dXNUZXh0OmwudGV4dENvbnRlbnQ9XCLinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHlcIil9LGMuc2VuZChudWxsKX19KSx0LnBsdWdpbnMudG9vbGJhciYmdC5wbHVnaW5zLnRvb2xiYXIucmVnaXN0ZXJCdXR0b24oXCJkb3dubG9hZC1maWxlXCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5lbGVtZW50LnBhcmVudE5vZGU7aWYodCYmL3ByZS9pLnRlc3QodC5ub2RlTmFtZSkmJnQuaGFzQXR0cmlidXRlKFwiZGF0YS1zcmNcIikmJnQuaGFzQXR0cmlidXRlKFwiZGF0YS1kb3dubG9hZC1saW5rXCIpKXt2YXIgbj10LmdldEF0dHJpYnV0ZShcImRhdGEtc3JjXCIpLGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7cmV0dXJuIGEudGV4dENvbnRlbnQ9dC5nZXRBdHRyaWJ1dGUoXCJkYXRhLWRvd25sb2FkLWxpbmstbGFiZWxcIil8fFwiRG93bmxvYWRcIixhLnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsXCJcIiksYS5ocmVmPW4sYX19KX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixmdW5jdGlvbigpe3NlbGYuUHJpc20uZmlsZUhpZ2hsaWdodCgpfSkpfSksQ29kZUZsYXNrPWZ1bmN0aW9uKGUsdCl7aWYoIWUpdGhyb3cgRXJyb3IoXCJDb2RlRmxhc2sgZXhwZWN0cyBhIHBhcmFtZXRlciB3aGljaCBpcyBFbGVtZW50IG9yIGEgU3RyaW5nIHNlbGVjdG9yXCIpO2lmKCF0KXRocm93IEVycm9yKFwiQ29kZUZsYXNrIGV4cGVjdHMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgb3B0aW9ucyBhcyBzZWNvbmQgcGFyYW1ldGVyXCIpO2lmKGUubm9kZVR5cGUpdGhpcy5lZGl0b3JSb290PWU7ZWxzZXt2YXIgbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGUpO24mJih0aGlzLmVkaXRvclJvb3Q9bil9dGhpcy5vcHRzPXQsdGhpcy5zdGFydEVkaXRvcigpfTtDb2RlRmxhc2sucHJvdG90eXBlLnN0YXJ0RWRpdG9yPWZ1bmN0aW9uKCl7aWYoIWluamVjdENzcyhlZGl0b3JDc3MsbnVsbCx0aGlzLm9wdHMuc3R5bGVQYXJlbnQpKXRocm93IEVycm9yKFwiRmFpbGVkIHRvIGluamVjdCBDb2RlRmxhc2sgQ1NTLlwiKTt0aGlzLmNyZWF0ZVdyYXBwZXIoKSx0aGlzLmNyZWF0ZVRleHRhcmVhKCksdGhpcy5jcmVhdGVQcmUoKSx0aGlzLmNyZWF0ZUNvZGUoKSx0aGlzLnJ1bk9wdGlvbnMoKSx0aGlzLmxpc3RlblRleHRhcmVhKCksdGhpcy5wb3B1bGF0ZURlZmF1bHQoKSx0aGlzLnVwZGF0ZUNvZGUodGhpcy5jb2RlKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5jcmVhdGVXcmFwcGVyPWZ1bmN0aW9uKCl7dGhpcy5jb2RlPXRoaXMuZWRpdG9yUm9vdC5pbm5lckhUTUwsdGhpcy5lZGl0b3JSb290LmlubmVySFRNTD1cIlwiLHRoaXMuZWxXcmFwcGVyPXRoaXMuY3JlYXRlRWxlbWVudChcImRpdlwiLHRoaXMuZWRpdG9yUm9vdCksdGhpcy5lbFdyYXBwZXIuY2xhc3NMaXN0LmFkZChcImNvZGVmbGFza1wiKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5jcmVhdGVUZXh0YXJlYT1mdW5jdGlvbigpe3RoaXMuZWxUZXh0YXJlYT10aGlzLmNyZWF0ZUVsZW1lbnQoXCJ0ZXh0YXJlYVwiLHRoaXMuZWxXcmFwcGVyKSx0aGlzLmVsVGV4dGFyZWEuY2xhc3NMaXN0LmFkZChcImNvZGVmbGFza19fdGV4dGFyZWFcIixcImNvZGVmbGFza19fZmxhdHRlblwiKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5jcmVhdGVQcmU9ZnVuY3Rpb24oKXt0aGlzLmVsUHJlPXRoaXMuY3JlYXRlRWxlbWVudChcInByZVwiLHRoaXMuZWxXcmFwcGVyKSx0aGlzLmVsUHJlLmNsYXNzTGlzdC5hZGQoXCJjb2RlZmxhc2tfX3ByZVwiLFwiY29kZWZsYXNrX19mbGF0dGVuXCIpfSxDb2RlRmxhc2sucHJvdG90eXBlLmNyZWF0ZUNvZGU9ZnVuY3Rpb24oKXt0aGlzLmVsQ29kZT10aGlzLmNyZWF0ZUVsZW1lbnQoXCJjb2RlXCIsdGhpcy5lbFByZSksdGhpcy5lbENvZGUuY2xhc3NMaXN0LmFkZChcImNvZGVmbGFza19fY29kZVwiLFwibGFuZ3VhZ2UtXCIrKHRoaXMub3B0cy5sYW5ndWFnZXx8XCJodG1sXCIpKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5jcmVhdGVMaW5lTnVtYmVycz1mdW5jdGlvbigpe3RoaXMuZWxMaW5lTnVtYmVycz10aGlzLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix0aGlzLmVsV3JhcHBlciksdGhpcy5lbExpbmVOdW1iZXJzLmNsYXNzTGlzdC5hZGQoXCJjb2RlZmxhc2tfX2xpbmVzXCIpLHRoaXMuc2V0TGluZU51bWJlcigpfSxDb2RlRmxhc2sucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpO3JldHVybiB0LmFwcGVuZENoaWxkKG4pLG59LENvZGVGbGFzay5wcm90b3R5cGUucnVuT3B0aW9ucz1mdW5jdGlvbigpe3RoaXMub3B0cy5ydGw9dGhpcy5vcHRzLnJ0bHx8ITEsdGhpcy5vcHRzLnRhYlNpemU9dGhpcy5vcHRzLnRhYlNpemV8fDIsdGhpcy5vcHRzLmVuYWJsZUF1dG9jb3JyZWN0PXRoaXMub3B0cy5lbmFibGVBdXRvY29ycmVjdHx8ITEsdGhpcy5vcHRzLmxpbmVOdW1iZXJzPXRoaXMub3B0cy5saW5lTnVtYmVyc3x8ITEsdGhpcy5vcHRzLmRlZmF1bHRUaGVtZT0hMSE9PXRoaXMub3B0cy5kZWZhdWx0VGhlbWUsdGhpcy5vcHRzLmFyZWFJZD10aGlzLm9wdHMuYXJlYUlkfHxudWxsLHRoaXMub3B0cy5hcmlhTGFiZWxsZWRieT10aGlzLm9wdHMuYXJpYUxhYmVsbGVkYnl8fG51bGwsdGhpcy5vcHRzLnJlYWRvbmx5PXRoaXMub3B0cy5yZWFkb25seXx8bnVsbCxcImJvb2xlYW5cIiE9dHlwZW9mIHRoaXMub3B0cy5oYW5kbGVUYWJzJiYodGhpcy5vcHRzLmhhbmRsZVRhYnM9ITApLFwiYm9vbGVhblwiIT10eXBlb2YgdGhpcy5vcHRzLmhhbmRsZVNlbGZDbG9zaW5nQ2hhcmFjdGVycyYmKHRoaXMub3B0cy5oYW5kbGVTZWxmQ2xvc2luZ0NoYXJhY3RlcnM9ITApLFwiYm9vbGVhblwiIT10eXBlb2YgdGhpcy5vcHRzLmhhbmRsZU5ld0xpbmVJbmRlbnRhdGlvbiYmKHRoaXMub3B0cy5oYW5kbGVOZXdMaW5lSW5kZW50YXRpb249ITApLCEwPT09dGhpcy5vcHRzLnJ0bCYmKHRoaXMuZWxUZXh0YXJlYS5zZXRBdHRyaWJ1dGUoXCJkaXJcIixcInJ0bFwiKSx0aGlzLmVsUHJlLnNldEF0dHJpYnV0ZShcImRpclwiLFwicnRsXCIpKSwhMT09PXRoaXMub3B0cy5lbmFibGVBdXRvY29ycmVjdCYmKHRoaXMuZWxUZXh0YXJlYS5zZXRBdHRyaWJ1dGUoXCJzcGVsbGNoZWNrXCIsXCJmYWxzZVwiKSx0aGlzLmVsVGV4dGFyZWEuc2V0QXR0cmlidXRlKFwiYXV0b2NhcGl0YWxpemVcIixcIm9mZlwiKSx0aGlzLmVsVGV4dGFyZWEuc2V0QXR0cmlidXRlKFwiYXV0b2NvbXBsZXRlXCIsXCJvZmZcIiksdGhpcy5lbFRleHRhcmVhLnNldEF0dHJpYnV0ZShcImF1dG9jb3JyZWN0XCIsXCJvZmZcIikpLHRoaXMub3B0cy5saW5lTnVtYmVycyYmKHRoaXMuZWxXcmFwcGVyLmNsYXNzTGlzdC5hZGQoXCJjb2RlZmxhc2stLWhhcy1saW5lLW51bWJlcnNcIiksdGhpcy5jcmVhdGVMaW5lTnVtYmVycygpKSx0aGlzLm9wdHMuZGVmYXVsdFRoZW1lJiZpbmplY3RDc3MoZGVmYXVsdENzc1RoZW1lLFwidGhlbWUtZGVmYXVsdFwiLHRoaXMub3B0cy5zdHlsZVBhcmVudCksdGhpcy5vcHRzLmFyZWFJZCYmdGhpcy5lbFRleHRhcmVhLnNldEF0dHJpYnV0ZShcImlkXCIsdGhpcy5vcHRzLmFyZWFJZCksdGhpcy5vcHRzLmFyaWFMYWJlbGxlZGJ5JiZ0aGlzLmVsVGV4dGFyZWEuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbGxlZGJ5XCIsdGhpcy5vcHRzLmFyaWFMYWJlbGxlZGJ5KSx0aGlzLm9wdHMucmVhZG9ubHkmJnRoaXMuZW5hYmxlUmVhZG9ubHlNb2RlKCl9LENvZGVGbGFzay5wcm90b3R5cGUudXBkYXRlTGluZU51bWJlcnNDb3VudD1mdW5jdGlvbigpe2Zvcih2YXIgZT1cIlwiLHQ9MTt0PD10aGlzLmxpbmVOdW1iZXI7dCsrKWU9ZSsnPHNwYW4gY2xhc3M9XCJjb2RlZmxhc2tfX2xpbmVzX19saW5lXCI+Jyt0K1wiPC9zcGFuPlwiO3RoaXMuZWxMaW5lTnVtYmVycy5pbm5lckhUTUw9ZX0sQ29kZUZsYXNrLnByb3RvdHlwZS5saXN0ZW5UZXh0YXJlYT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5lbFRleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoXCJpbnB1dFwiLGZ1bmN0aW9uKHQpe2UuY29kZT10LnRhcmdldC52YWx1ZSxlLmVsQ29kZS5pbm5lckhUTUw9ZXNjYXBlSHRtbCh0LnRhcmdldC52YWx1ZSksZS5oaWdobGlnaHQoKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5ydW5VcGRhdGUoKSxlLnNldExpbmVOdW1iZXIoKX0sMSl9KSx0aGlzLmVsVGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixmdW5jdGlvbih0KXtlLmhhbmRsZVRhYnModCksZS5oYW5kbGVTZWxmQ2xvc2luZ0NoYXJhY3RlcnModCksZS5oYW5kbGVOZXdMaW5lSW5kZW50YXRpb24odCl9KSx0aGlzLmVsVGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLGZ1bmN0aW9uKHQpe2UuZWxQcmUuc3R5bGUudHJhbnNmb3JtPVwidHJhbnNsYXRlM2QoLVwiK3QudGFyZ2V0LnNjcm9sbExlZnQrXCJweCwgLVwiK3QudGFyZ2V0LnNjcm9sbFRvcCtcInB4LCAwKVwiLGUuZWxMaW5lTnVtYmVycyYmKGUuZWxMaW5lTnVtYmVycy5zdHlsZS50cmFuc2Zvcm09XCJ0cmFuc2xhdGUzZCgwLCAtXCIrdC50YXJnZXQuc2Nyb2xsVG9wK1wicHgsIDApXCIpfSl9LENvZGVGbGFzay5wcm90b3R5cGUuaGFuZGxlVGFicz1mdW5jdGlvbihlKXtpZih0aGlzLm9wdHMuaGFuZGxlVGFicyl7aWYoOSE9PWUua2V5Q29kZSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciB0PXRoaXMuZWxUZXh0YXJlYSxuPXQuc2VsZWN0aW9uRGlyZWN0aW9uLGE9dC5zZWxlY3Rpb25TdGFydCxzPXQuc2VsZWN0aW9uRW5kLG89dC52YWx1ZSxpPW8uc3Vic3RyKDAsYSkscj1vLnN1YnN0cmluZyhhLHMpLGw9by5zdWJzdHJpbmcocyksYz1cIiBcIi5yZXBlYXQodGhpcy5vcHRzLnRhYlNpemUpO2lmKGEhPT1zJiZyLmxlbmd0aD49Yy5sZW5ndGgpe3ZhciBkPWEtaS5zcGxpdChcIlxcblwiKS5wb3AoKS5sZW5ndGgsdT1jLmxlbmd0aCxwPWMubGVuZ3RoO2lmKGUuc2hpZnRLZXkpby5zdWJzdHIoZCxjLmxlbmd0aCk9PT1jPyh1PS11LGQ+YT8ocj1yLnN1YnN0cmluZygwLGQpK3Iuc3Vic3RyaW5nKGQrYy5sZW5ndGgpLHA9MCk6ZD09PWE/KHU9MCxwPTAscj1yLnN1YnN0cmluZyhjLmxlbmd0aCkpOihwPS1wLGk9aS5zdWJzdHJpbmcoMCxkKStpLnN1YnN0cmluZyhkK2MubGVuZ3RoKSkpOih1PTAscD0wKSxyPXIucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxuXCIrYy5zcGxpdChcIlwiKS5qb2luKFwiXFxcXFwiKSxcImdcIiksXCJcXG5cIik7ZWxzZSBpPWkuc3Vic3RyKDAsZCkrYytpLnN1YnN0cmluZyhkLGEpLHI9ci5yZXBsYWNlKC9cXG4vZyxcIlxcblwiK2MpO3QudmFsdWU9aStyK2wsdC5zZWxlY3Rpb25TdGFydD1hK3UsdC5zZWxlY3Rpb25FbmQ9YStyLmxlbmd0aCtwLHQuc2VsZWN0aW9uRGlyZWN0aW9uPW59ZWxzZSB0LnZhbHVlPWkrYytsLHQuc2VsZWN0aW9uU3RhcnQ9YStjLmxlbmd0aCx0LnNlbGVjdGlvbkVuZD1hK2MubGVuZ3RoO3ZhciBoPXQudmFsdWU7dGhpcy51cGRhdGVDb2RlKGgpLHRoaXMuZWxUZXh0YXJlYS5zZWxlY3Rpb25FbmQ9cyt0aGlzLm9wdHMudGFiU2l6ZX19LENvZGVGbGFzay5wcm90b3R5cGUuaGFuZGxlU2VsZkNsb3NpbmdDaGFyYWN0ZXJzPWZ1bmN0aW9uKGUpe2lmKHRoaXMub3B0cy5oYW5kbGVTZWxmQ2xvc2luZ0NoYXJhY3RlcnMpe3ZhciB0PWUua2V5O2lmKFtcIihcIixcIltcIixcIntcIixcIjxcIixcIidcIiwnXCInXS5pbmNsdWRlcyh0KXx8W1wiKVwiLFwiXVwiLFwifVwiLFwiPlwiLFwiJ1wiLCdcIiddLmluY2x1ZGVzKHQpKXN3aXRjaCh0KXtjYXNlXCIoXCI6Y2FzZVwiKVwiOnRoaXMuY2xvc2VDaGFyYWN0ZXIodCk7YnJlYWs7Y2FzZVwiW1wiOmNhc2VcIl1cIjp0aGlzLmNsb3NlQ2hhcmFjdGVyKHQpO2JyZWFrO2Nhc2VcIntcIjpjYXNlXCJ9XCI6dGhpcy5jbG9zZUNoYXJhY3Rlcih0KTticmVhaztjYXNlXCI8XCI6Y2FzZVwiPlwiOmNhc2VcIidcIjpjYXNlJ1wiJzp0aGlzLmNsb3NlQ2hhcmFjdGVyKHQpfX19LENvZGVGbGFzay5wcm90b3R5cGUuc2V0TGluZU51bWJlcj1mdW5jdGlvbigpe3RoaXMubGluZU51bWJlcj10aGlzLmNvZGUuc3BsaXQoXCJcXG5cIikubGVuZ3RoLHRoaXMub3B0cy5saW5lTnVtYmVycyYmdGhpcy51cGRhdGVMaW5lTnVtYmVyc0NvdW50KCl9LENvZGVGbGFzay5wcm90b3R5cGUuaGFuZGxlTmV3TGluZUluZGVudGF0aW9uPWZ1bmN0aW9uKGUpe2lmKHRoaXMub3B0cy5oYW5kbGVOZXdMaW5lSW5kZW50YXRpb24mJjEzPT09ZS5rZXlDb2RlKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9dGhpcy5lbFRleHRhcmVhLG49dC5zZWxlY3Rpb25TdGFydCxhPXQuc2VsZWN0aW9uRW5kLHM9dC52YWx1ZSxvPXMuc3Vic3RyKDAsbiksaT1zLnN1YnN0cmluZyhhKSxyPXMubGFzdEluZGV4T2YoXCJcXG5cIixuLTEpLGw9citzLnNsaWNlKHIrMSkuc2VhcmNoKC9bXiBdfCQvKSxjPWw+cj9sLXI6MCxkPW8rXCJcXG5cIitcIiBcIi5yZXBlYXQoYykraTt0LnZhbHVlPWQsdC5zZWxlY3Rpb25TdGFydD1uK2MrMSx0LnNlbGVjdGlvbkVuZD1uK2MrMSx0aGlzLnVwZGF0ZUNvZGUodC52YWx1ZSl9fSxDb2RlRmxhc2sucHJvdG90eXBlLmNsb3NlQ2hhcmFjdGVyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZWxUZXh0YXJlYS5zZWxlY3Rpb25TdGFydCxuPXRoaXMuZWxUZXh0YXJlYS5zZWxlY3Rpb25FbmQ7aWYodGhpcy5za2lwQ2xvc2VDaGFyKGUpKXt2YXIgYT10aGlzLmNvZGUuc3Vic3RyKG4sMSk9PT1lLHM9YT9uKzE6bixvPSFhJiZbXCInXCIsJ1wiJ10uaW5jbHVkZXMoZSk/ZTpcIlwiLGk9XCJcIit0aGlzLmNvZGUuc3Vic3RyaW5nKDAsdCkrbyt0aGlzLmNvZGUuc3Vic3RyaW5nKHMpO3RoaXMudXBkYXRlQ29kZShpKSx0aGlzLmVsVGV4dGFyZWEuc2VsZWN0aW9uRW5kPSsrdGhpcy5lbFRleHRhcmVhLnNlbGVjdGlvblN0YXJ0fWVsc2V7dmFyIHI9ZTtzd2l0Y2goZSl7Y2FzZVwiKFwiOnI9U3RyaW5nLmZyb21DaGFyQ29kZShlLmNoYXJDb2RlQXQoKSsxKTticmVhaztjYXNlXCI8XCI6Y2FzZVwie1wiOmNhc2VcIltcIjpyPVN0cmluZy5mcm9tQ2hhckNvZGUoZS5jaGFyQ29kZUF0KCkrMil9dmFyIGw9dGhpcy5jb2RlLnN1YnN0cmluZyh0LG4pLGM9XCJcIit0aGlzLmNvZGUuc3Vic3RyaW5nKDAsdCkrbCtyK3RoaXMuY29kZS5zdWJzdHJpbmcobik7dGhpcy51cGRhdGVDb2RlKGMpfXRoaXMuZWxUZXh0YXJlYS5zZWxlY3Rpb25FbmQ9dH0sQ29kZUZsYXNrLnByb3RvdHlwZS5za2lwQ2xvc2VDaGFyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZWxUZXh0YXJlYS5zZWxlY3Rpb25TdGFydCxuPXRoaXMuZWxUZXh0YXJlYS5zZWxlY3Rpb25FbmQsYT1NYXRoLmFicyhuLXQpPjA7cmV0dXJuW1wiKVwiLFwifVwiLFwiXVwiLFwiPlwiXS5pbmNsdWRlcyhlKXx8W1wiJ1wiLCdcIiddLmluY2x1ZGVzKGUpJiYhYX0sQ29kZUZsYXNrLnByb3RvdHlwZS51cGRhdGVDb2RlPWZ1bmN0aW9uKGUpe3RoaXMuY29kZT1lLHRoaXMuZWxUZXh0YXJlYS52YWx1ZT1lLHRoaXMuZWxDb2RlLmlubmVySFRNTD1lc2NhcGVIdG1sKGUpLHRoaXMuaGlnaGxpZ2h0KCksdGhpcy5zZXRMaW5lTnVtYmVyKCksc2V0VGltZW91dCh0aGlzLnJ1blVwZGF0ZS5iaW5kKHRoaXMpLDEpfSxDb2RlRmxhc2sucHJvdG90eXBlLnVwZGF0ZUxhbmd1YWdlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMub3B0cy5sYW5ndWFnZTt0aGlzLmVsQ29kZS5jbGFzc0xpc3QucmVtb3ZlKFwibGFuZ3VhZ2UtXCIrdCksdGhpcy5lbENvZGUuY2xhc3NMaXN0LmFkZChcImxhbmd1YWdlLVwiK2UpLHRoaXMub3B0cy5sYW5ndWFnZT1lLHRoaXMuaGlnaGxpZ2h0KCl9LENvZGVGbGFzay5wcm90b3R5cGUuYWRkTGFuZ3VhZ2U9ZnVuY3Rpb24oZSx0KXtwcmlzbS5sYW5ndWFnZXNbZV09dH0sQ29kZUZsYXNrLnByb3RvdHlwZS5wb3B1bGF0ZURlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLnVwZGF0ZUNvZGUodGhpcy5jb2RlKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5oaWdobGlnaHQ9ZnVuY3Rpb24oKXtwcmlzbS5oaWdobGlnaHRFbGVtZW50KHRoaXMuZWxDb2RlLCExKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5vblVwZGF0ZT1mdW5jdGlvbihlKXtpZihlJiZcIltvYmplY3QgRnVuY3Rpb25dXCIhPT17fS50b1N0cmluZy5jYWxsKGUpKXRocm93IEVycm9yKFwiQ29kZUZsYXNrIGV4cGVjdHMgY2FsbGJhY2sgb2YgdHlwZSBGdW5jdGlvblwiKTt0aGlzLnVwZGF0ZUNhbGxCYWNrPWV9LENvZGVGbGFzay5wcm90b3R5cGUuZ2V0Q29kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvZGV9LENvZGVGbGFzay5wcm90b3R5cGUucnVuVXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy51cGRhdGVDYWxsQmFjayYmdGhpcy51cGRhdGVDYWxsQmFjayh0aGlzLmNvZGUpfSxDb2RlRmxhc2sucHJvdG90eXBlLmVuYWJsZVJlYWRvbmx5TW9kZT1mdW5jdGlvbigpe3RoaXMuZWxUZXh0YXJlYS5zZXRBdHRyaWJ1dGUoXCJyZWFkb25seVwiLCEwKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5kaXNhYmxlUmVhZG9ubHlNb2RlPWZ1bmN0aW9uKCl7dGhpcy5lbFRleHRhcmVhLnJlbW92ZUF0dHJpYnV0ZShcInJlYWRvbmx5XCIpfTtleHBvcnQgZGVmYXVsdCBDb2RlRmxhc2s7XG4iLCJpbXBvcnQgQ29kZUZsYXNrIGZyb20gXCJjb2RlZmxhc2tcIjtcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBDb2RlRmxhc2tFZGl0b3IgPSAoe2NvZGUsIHR5cGUsIG9uQ2hhbmdlfToge2NvZGU6IHN0cmluZywgdHlwZTogc3RyaW5nLCBvbkNoYW5nZTogKGNvZGU6IHN0cmluZykgPT4gdm9pZH0pID0+IHtcbiAgY29uc3QgZG9tUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgY29kZUZsYXNrUmVmID0gdXNlUmVmPENvZGVGbGFzayB8IG51bGw+KG51bGwpO1xuICBjb25zdCBjb2RlUmVmID0gdXNlUmVmPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRvbVJlZi5jdXJyZW50ICYmIGNvZGVGbGFza1JlZi5jdXJyZW50ID09PSBudWxsKSB7XG4gICAgICBjb2RlRmxhc2tSZWYuY3VycmVudCA9IG5ldyBDb2RlRmxhc2soZG9tUmVmLmN1cnJlbnQsIHtcbiAgICAgICAgbGFuZ3VhZ2U6IHR5cGUgfHwgXCJqc1wiLFxuICAgICAgICBsaW5lTnVtYmVyczogdHJ1ZSxcbiAgICAgICAgLypyZWFkb25seTogdHJ1ZSwqL1xuICAgICAgfSk7XG4gICAgICBjb2RlRmxhc2tSZWYuY3VycmVudC5vblVwZGF0ZShjb2RlID0+IHtcbiAgICAgICAgLy8gTk9URTogd2l0aG91dCB0aGlzIHNvbWV0aW1lcyB0aGUgb2xkIHN0YXRlIHdpbGwgb3ZlcndyaXRlIHRoZVxuICAgICAgICAvL25ldyBzdGF0ZSBpbiBkZXYgbW9kZVxuICAgICAgICBpZihjb2RlUmVmLmN1cnJlbnQgIT09IGNvZGUpIHtcbiAgICAgICAgICBvbkNoYW5nZShjb2RlKTtcbiAgICAgICAgfSBcbiAgICAgIH0pO1xuICAgICAgLypcbiAgICAgIE5PVEU6IHRoaXMgd2lsbCBjYXVzZSBzdHJhbmdlIGJlaGF2aW9yIGluIGRldiBtb2RlXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBjb2RlRmxhc2tSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICB9O1xuICAgICAgKi9cbiAgICB9XG4gIH0sIFt0eXBlLCBvbkNoYW5nZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNvZGVGbGFza1JlZi5jdXJyZW50ICYmIGNvZGUgIT09IGNvZGVGbGFza1JlZi5jdXJyZW50LmdldENvZGUoKSkge1xuICAgICAgLy8gdXNlZCBmb3IgYmxvY2sgY2lyY3VsYXIgdXBkYXRlXG4gICAgICBjb2RlUmVmLmN1cnJlbnQgPSBjb2RlO1xuICAgICAgY29kZUZsYXNrUmVmLmN1cnJlbnQudXBkYXRlQ29kZShjb2RlIHx8IGBjb25zdCBhID0gMTtgKTtcbiAgICB9XG4gIH0sIFtjb2RlXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICByZWY9e2RvbVJlZn1cbiAgICAgIHN0eWxlPXt7IGhlaWdodDogXCIxMDAlXCIsIHdpZHRoOiBcIjEwMCVcIiB9fVxuICAgID48L2Rpdj5cbiAgKTtcbn07IiwiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgR3JpZCwgR3JpZFByb3BzLCBDb2RlRmxhc2tFZGl0b3IgfSBmcm9tIFwiLi4vY29tcG9uZW50c1wiO1xuXG5jb25zdCBERUZBVUxUX0dSSURfUFJPUFMgPSBgXG57XG4gICAgXCJpdGVtTWF4V2lkdGhcIjogMzAwLFxuICAgIFwiaXRlbUFzcGVjdFJhdGlvXCI6IDEuMzMsXG4gICAgXCJsYXlvdXRcIjoge1xuICAgICAgICBcIjNcIjogW1xuICAgICAgICAgICAgW1wiQVwiLCBcIkJcIiwgXCJDXCJdLFxuICAgICAgICAgICAgW1wiRFwiLCBcIkVcIiwgXCJFXCJdLFxuICAgICAgICAgICAgW1wiRFwiLCBcIkZcIiwgXCJHXCJdXG4gICAgICAgIF1cbiAgICB9XG59XG5gLnRyaW0oKTtcblxuZXhwb3J0IGNvbnN0IEdyaWRTYW1wbGVQYWdlID0gKCkgPT4ge1xuICBjb25zdCBbY29kZSwgc2V0Q29kZV0gPSB1c2VTdGF0ZShERUZBVUxUX0dSSURfUFJPUFMpO1xuICBjb25zdCBbY29uZmlnLCBzZXRDb25maWddID0gdXNlU3RhdGUoe30gYXMgR3JpZFByb3BzKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZShcIlwiKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zb2xlLmxvZyhcImNvZGVcIiwgY29kZSk7XG4gICAgICBjb25zb2xlLmxvZyhcIkpTT04ucGFyc2UoY29kZSlcIiwgSlNPTi5wYXJzZShjb2RlKSk7XG4gICAgICBzZXRDb25maWcoSlNPTi5wYXJzZShjb2RlKSk7XG4gICAgICBzZXRFcnJvcihcIlwiKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBzZXRFcnJvcigoZSBhcyBFcnJvcikubWVzc2FnZSk7XG4gICAgfVxuICB9LCBbY29kZV0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBpZD1cInByaW1hcnlcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7LypzY3JvbGxiYXIgZGVzZXJ2ZSAyMCovfVxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGhlaWdodDogNjAwLFxuICAgICAgICAgICAgd2lkdGg6IDEwMjAsXG4gICAgICAgICAgICBvdmVyZmxvd1k6IFwic2Nyb2xsXCIsXG4gICAgICAgICAgICBvdmVyZmxvd1g6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgICByZXNpemU6IFwiYm90aFwiLFxuICAgICAgICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBibGFja1wiLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7IGNvbmZpZyAmJiA8R3JpZCB7Li4uY29uZmlnfSAvPiB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgY29sb3I6IFwicmVkXCIsXG4gICAgICAgIH19PntlcnJvcn08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBpZD1cInNlY29uZGFyeVwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgYm9yZGVyVG9wOiBcIjFweCBzb2xpZCBibGFja1wiLFxuICAgICAgICAgIGhlaWdodDogXCIyMCVcIixcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge1wiIFwifVxuICAgICAgICA8Q29kZUZsYXNrRWRpdG9yXG4gICAgICAgICAgY29kZT17Y29kZX1cbiAgICAgICAgICB0eXBlPVwianNcIlxuICAgICAgICAgIG9uQ2hhbmdlPXtzZXRDb2RlfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBHcmlkU2FtcGxlUGFnZTsiXSwibmFtZXMiOlsiX19hc3NpZ24iLCJzIiwiaSIsIm4iLCJwIiwiX19zcHJlYWRBcnJheSIsInRvIiwiZnJvbSIsInBhY2siLCJsIiwiYXIiLCJNUyIsIk1PWiIsIldFQktJVCIsIkNPTU1FTlQiLCJSVUxFU0VUIiwiREVDTEFSQVRJT04iLCJJTVBPUlQiLCJLRVlGUkFNRVMiLCJMQVlFUiIsImFicyIsImFzc2lnbiIsImhhc2giLCJ2YWx1ZSIsImxlbmd0aCIsImNoYXJhdCIsInRyaW0iLCJtYXRjaCIsInBhdHRlcm4iLCJyZXBsYWNlIiwicmVwbGFjZW1lbnQiLCJpbmRleG9mIiwic2VhcmNoIiwicG9zaXRpb24iLCJpbmRleCIsInN1YnN0ciIsImJlZ2luIiwiZW5kIiwic3RybGVuIiwic2l6ZW9mIiwiYXBwZW5kIiwiYXJyYXkiLCJjb21iaW5lIiwiY2FsbGJhY2siLCJmaWx0ZXIiLCJsaW5lIiwiY29sdW1uIiwiY2hhcmFjdGVyIiwiY2hhcmFjdGVycyIsIm5vZGUiLCJyb290IiwicGFyZW50IiwidHlwZSIsInByb3BzIiwiY2hpbGRyZW4iLCJzaWJsaW5ncyIsImNvcHkiLCJsaWZ0IiwiY2hhciIsInByZXYiLCJuZXh0IiwicGVlayIsImNhcmV0Iiwic2xpY2UiLCJ0b2tlbiIsImFsbG9jIiwiZGVhbGxvYyIsImRlbGltaXQiLCJkZWxpbWl0ZXIiLCJ3aGl0ZXNwYWNlIiwiZXNjYXBpbmciLCJjb3VudCIsImNvbW1lbnRlciIsImlkZW50aWZpZXIiLCJjb21waWxlIiwicGFyc2UiLCJydWxlIiwicnVsZXMiLCJydWxlc2V0cyIsInBzZXVkbyIsInBvaW50cyIsImRlY2xhcmF0aW9ucyIsIm9mZnNldCIsImF0cnVsZSIsInByb3BlcnR5IiwicHJldmlvdXMiLCJ2YXJpYWJsZSIsInNjYW5uaW5nIiwiYW1wZXJzYW5kIiwicmVmZXJlbmNlIiwiY29tbWVudCIsImRlY2xhcmF0aW9uIiwicnVsZXNldCIsInBvc3QiLCJzaXplIiwiaiIsImsiLCJ4IiwieSIsInoiLCJwcmVmaXgiLCJlbGVtZW50IiwiXyIsImIiLCJjIiwiZSIsImYiLCJzZXJpYWxpemUiLCJvdXRwdXQiLCJzdHJpbmdpZnkiLCJtaWRkbGV3YXJlIiwiY29sbGVjdGlvbiIsInJ1bGVzaGVldCIsInByZWZpeGVyIiwidW5pdGxlc3NLZXlzIiwiZGVmaW5lX3Byb2Nlc3NfZW52X2RlZmF1bHQiLCJtIiwidiIsImciLCJTIiwidyIsIkMiLCJJIiwidCIsIkEiLCJPIiwiRCIsIlIiLCJUIiwiViIsIkYiLCJNIiwiJCIsIkIiLCJMIiwiRyIsIlkiLCJXIiwicSIsIkgiLCJVIiwiSiIsIlgiLCJaIiwiSyIsIlEiLCJlZSIsInRlIiwibmUiLCJvZSIsIm8iLCJyIiwiYSIsInJlIiwic2UiLCJpZSIsImFlIiwiY2UiLCJsZSIsInVlIiwiaGUiLCJmZSIsInllIiwidmUiLCJnZSIsIlNlIiwid2UiLCJiZSIsIkVlIiwiTmUiLCJQZSIsInUiLCJfZSIsIkNlIiwiSWUiLCJBZSIsIk9lIiwiRGUiLCJSZSIsIlRlIiwia2UiLCJqZSIsInhlIiwiVmUiLCJGZSIsImQuUlVMRVNFVCIsImQucHJlZml4ZXIiLCJkLnN0cmluZ2lmeSIsImQuY29tcGlsZSIsImQuc2VyaWFsaXplIiwiZC5taWRkbGV3YXJlIiwiZC5ydWxlc2hlZXQiLCJNZSIsInplIiwiJGUiLCJHZSIsIldlIiwicWUiLCJIZSIsIlVlIiwiSmUiLCJoIiwiWGUiLCJaZSIsIktlIiwiUWUiLCJkIiwiZXQiLCJydCIsIml0IiwiRSIsIk4iLCJhdCIsImN0IiwibHQiLCJ1dCIsInB0IiwiZHQiLCJkZWJvdW5jZSIsImZ1bmMiLCJ3YWl0IiwidGltZW91dCIsImFyZ3MiLCJHcmlkQ29udGFpbmVyIiwic3R5bGVkIiwiR3JpZEl0ZW0iLCJHcmlkSXRlbUNvbnRlbnRFeGFtcGxlIiwiR3JpZCIsIml0ZW1NYXhXaWR0aCIsIml0ZW1Bc3BlY3RSYXRpbyIsImxheW91dCIsImNvbnRhaW5lclJlZiIsInVzZVJlZiIsImFkanVzdFJhdGlvIiwic2V0QWRqdXN0UmF0aW8iLCJ1c2VTdGF0ZSIsImluaXRDb2xzIiwiZGF0YSIsImNvbHMiLCJzZXRDb2xzIiwicG9zaXRpb25zIiwic2V0UG9zaXRpb25zIiwidXNlRWZmZWN0Iiwicm93Iiwicm93SW5kZXgiLCJpdGVtIiwiY29sSW5kZXgiLCJjb2xTcGFuIiwiZWwiLCJyb3dTcGFuIiwiaGFuZGxlUmVzaXplIiwidXNlQ2FsbGJhY2siLCJlbnRyaWVzIiwiZW50cnkiLCJ3aWR0aCIsImhlaWdodCIsIl9hIiwiY3NzV2lkdGgiLCJjc3NIZWlnaHQiLCJzY3JvbGxIZWlnaHQiLCJfYiIsImNsaWVudEhlaWdodCIsIl9jIiwiX2QiLCJjb2xDb3VudCIsImNlbGxXaWR0aCIsImNlbGxIZWlnaHQiLCJyb3dDb3VudCIsInByb2plY3RDZWxsSGVpZ2h0IiwiaGFuZGxlUmVzaXplRGVib3VuY2UiLCJncmlkSXRlbXMiLCJyZXNpemVPYnNlcnZlciIsInJvd1N0YXJ0IiwiY29sU3RhcnQiLCJrZXkiLCJqc3giLCJCQUNLR1JPVU5EX0NPTE9SIiwiTElORV9IRUlHSFQiLCJGT05UX1NJWkUiLCJkZWZhdWx0Q3NzVGhlbWUiLCJjc3NTdXBwb3J0cyIsInRvQ2FtZWxDYXNlIiwiRk9OVF9GQU1JTFkiLCJDT0xPUiIsIkxJTkVfTlVNQkVSX1dJRFRIIiwiZWRpdG9yQ3NzIiwiaW5qZWN0Q3NzIiwiZW50aXR5TWFwIiwiZXNjYXBlSHRtbCIsImNvbW1vbmpzR2xvYmFsIiwiY3JlYXRlQ29tbW9uanNNb2R1bGUiLCJwcmlzbSIsIkNvZGVGbGFzayIsIkNvZGVGbGFza0VkaXRvciIsImNvZGUiLCJvbkNoYW5nZSIsImRvbVJlZiIsImNvZGVGbGFza1JlZiIsImNvZGVSZWYiLCJERUZBVUxUX0dSSURfUFJPUFMiLCJHcmlkU2FtcGxlUGFnZSIsInNldENvZGUiLCJjb25maWciLCJzZXRDb25maWciLCJlcnJvciIsInNldEVycm9yIiwianN4cyJdLCJtYXBwaW5ncyI6InVEQStCTyxJQUFJQSxFQUFXLFVBQVcsQ0FDL0IsT0FBQUEsRUFBVyxPQUFPLFFBQVUsU0FBa0IsRUFBRyxDQUM3QyxRQUFTQyxFQUFHQyxFQUFJLEVBQUdDLEVBQUksVUFBVSxPQUFRRCxFQUFJQyxFQUFHRCxJQUFLLENBQ2pERCxFQUFJLFVBQVVDLENBQUMsRUFDZixRQUFTRSxLQUFLSCxFQUFPLE9BQU8sVUFBVSxlQUFlLEtBQUtBLEVBQUdHLENBQUMsSUFBRyxFQUFFQSxDQUFDLEVBQUlILEVBQUVHLENBQUMsRUFDOUUsQ0FDRCxPQUFPLENBQ1YsRUFDTUosRUFBUyxNQUFNLEtBQU0sU0FBUyxDQUN2QyxFQTZLTyxTQUFTSyxHQUFjQyxFQUFJQyxFQUFNQyxFQUFNLENBQzVDLEdBQUlBLEdBQVEsVUFBVSxTQUFXLEVBQUcsUUFBU04sRUFBSSxFQUFHTyxFQUFJRixFQUFLLE9BQVFHLEVBQUlSLEVBQUlPLEVBQUdQLEtBQ3hFUSxHQUFNLEVBQUVSLEtBQUtLLE1BQ1JHLElBQUlBLEVBQUssTUFBTSxVQUFVLE1BQU0sS0FBS0gsRUFBTSxFQUFHTCxDQUFDLEdBQ25EUSxFQUFHUixDQUFDLEVBQUlLLEVBQUtMLENBQUMsR0FHdEIsT0FBT0ksRUFBRyxPQUFPSSxHQUFNLE1BQU0sVUFBVSxNQUFNLEtBQUtILENBQUksQ0FBQyxDQUN6RCxDQzdOTyxJQUFJSSxFQUFLLE9BQ0xDLEdBQU0sUUFDTkMsRUFBUyxXQUVUQyxHQUFVLE9BQ1ZDLEdBQVUsT0FDVkMsR0FBYyxPQUlkQyxHQUFTLFVBTVRDLEdBQVksYUFJWkMsR0FBUSxTQ2hCUkMsR0FBTSxLQUFLLElBTVhiLEdBQU8sT0FBTyxhQU1kYyxHQUFTLE9BQU8sT0FPcEIsU0FBU0MsR0FBTUMsRUFBT0MsRUFBUSxDQUNwQyxPQUFPQyxFQUFPRixFQUFPLENBQUMsRUFBSSxNQUFZQyxHQUFVLEVBQUtDLEVBQU9GLEVBQU8sQ0FBQyxJQUFNLEVBQUtFLEVBQU9GLEVBQU8sQ0FBQyxJQUFNLEVBQUtFLEVBQU9GLEVBQU8sQ0FBQyxJQUFNLEVBQUtFLEVBQU9GLEVBQU8sQ0FBQyxFQUFJLENBQ3ZKLENBTU8sU0FBU0csR0FBTUgsRUFBTyxDQUM1QixPQUFPQSxFQUFNLEtBQU0sQ0FDcEIsQ0FPTyxTQUFTSSxFQUFPSixFQUFPSyxFQUFTLENBQ3RDLE9BQVFMLEVBQVFLLEVBQVEsS0FBS0wsQ0FBSyxHQUFLQSxFQUFNLENBQUMsRUFBSUEsQ0FDbkQsQ0FRTyxTQUFTTSxFQUFTTixFQUFPSyxFQUFTRSxFQUFhLENBQ3JELE9BQU9QLEVBQU0sUUFBUUssRUFBU0UsQ0FBVyxDQUMxQyxDQVFPLFNBQVNDLEdBQVNSLEVBQU9TLEVBQVFDLEVBQVUsQ0FDakQsT0FBT1YsRUFBTSxRQUFRUyxFQUFRQyxDQUFRLENBQ3RDLENBT08sU0FBU1IsRUFBUUYsRUFBT1csRUFBTyxDQUNyQyxPQUFPWCxFQUFNLFdBQVdXLENBQUssRUFBSSxDQUNsQyxDQVFPLFNBQVNDLEdBQVFaLEVBQU9hLEVBQU9DLEVBQUssQ0FDMUMsT0FBT2QsRUFBTSxNQUFNYSxFQUFPQyxDQUFHLENBQzlCLENBTU8sU0FBU0MsRUFBUWYsRUFBTyxDQUM5QixPQUFPQSxFQUFNLE1BQ2QsQ0FNTyxTQUFTZ0IsR0FBUWhCLEVBQU8sQ0FDOUIsT0FBT0EsRUFBTSxNQUNkLENBT08sU0FBU2lCLEdBQVFqQixFQUFPa0IsRUFBTyxDQUNyQyxPQUFPQSxFQUFNLEtBQUtsQixDQUFLLEVBQUdBLENBQzNCLENBT08sU0FBU21CLEdBQVNELEVBQU9FLEVBQVUsQ0FDekMsT0FBT0YsRUFBTSxJQUFJRSxDQUFRLEVBQUUsS0FBSyxFQUFFLENBQ25DLENBT08sU0FBU0MsR0FBUUgsRUFBT2IsRUFBUyxDQUN2QyxPQUFPYSxFQUFNLE9BQU8sU0FBVWxCLEVBQU8sQ0FBRSxNQUFPLENBQUNJLEVBQU1KLEVBQU9LLENBQU8sRUFBRyxDQUN2RSxDQzFITyxJQUFJaUIsR0FBTyxFQUNQQyxHQUFTLEVBQ1R0QixHQUFTLEVBQ1RTLEVBQVcsRUFDWGMsRUFBWSxFQUNaQyxHQUFhLEdBWWpCLFNBQVNDLEdBQU0xQixFQUFPMkIsRUFBTUMsRUFBUUMsRUFBTUMsRUFBT0MsRUFBVTlCLEVBQVErQixFQUFVLENBQ25GLE1BQU8sQ0FBQyxNQUFPaEMsRUFBTyxLQUFNMkIsRUFBTSxPQUFRQyxFQUFRLEtBQU1DLEVBQU0sTUFBT0MsRUFBTyxTQUFVQyxFQUFVLEtBQU1ULEdBQU0sT0FBUUMsR0FBUSxPQUFRdEIsRUFBUSxPQUFRLEdBQUksU0FBVStCLENBQVEsQ0FDM0ssQ0FPTyxTQUFTQyxFQUFNTixFQUFNRyxFQUFPLENBQ2xDLE9BQU9oQyxHQUFPNEIsR0FBSyxHQUFJLEtBQU0sS0FBTSxHQUFJLEtBQU0sS0FBTSxFQUFHQyxFQUFLLFFBQVEsRUFBR0EsRUFBTSxDQUFDLE9BQVEsQ0FBQ0EsRUFBSyxNQUFNLEVBQUdHLENBQUssQ0FDMUcsQ0FLTyxTQUFTSSxHQUFNUCxFQUFNLENBQzNCLEtBQU9BLEVBQUssTUFDWEEsRUFBT00sRUFBS04sRUFBSyxLQUFNLENBQUMsU0FBVSxDQUFDQSxDQUFJLENBQUMsQ0FBQyxFQUUxQ1YsR0FBT1UsRUFBTUEsRUFBSyxRQUFRLENBQzNCLENBS08sU0FBU1EsSUFBUSxDQUN2QixPQUFPWCxDQUNSLENBS08sU0FBU1ksSUFBUSxDQUN2QixPQUFBWixFQUFZZCxFQUFXLEVBQUlSLEVBQU91QixHQUFZLEVBQUVmLENBQVEsRUFBSSxFQUV4RGEsS0FBVUMsSUFBYyxLQUMzQkQsR0FBUyxFQUFHRCxNQUVORSxDQUNSLENBS08sU0FBU2EsR0FBUSxDQUN2QixPQUFBYixFQUFZZCxFQUFXVCxHQUFTQyxFQUFPdUIsR0FBWWYsR0FBVSxFQUFJLEVBRTdEYSxLQUFVQyxJQUFjLEtBQzNCRCxHQUFTLEVBQUdELE1BRU5FLENBQ1IsQ0FLTyxTQUFTYyxJQUFRLENBQ3ZCLE9BQU9wQyxFQUFPdUIsR0FBWWYsQ0FBUSxDQUNuQyxDQUtPLFNBQVM2QixJQUFTLENBQ3hCLE9BQU83QixDQUNSLENBT08sU0FBUzhCLEdBQU8zQixFQUFPQyxFQUFLLENBQ2xDLE9BQU9GLEdBQU9hLEdBQVlaLEVBQU9DLENBQUcsQ0FDckMsQ0FNTyxTQUFTMkIsR0FBT1osRUFBTSxDQUM1QixPQUFRQSxFQUFJLENBRVgsSUFBSyxHQUFHLElBQUssR0FBRyxJQUFLLElBQUksSUFBSyxJQUFJLElBQUssSUFDdEMsTUFBTyxHQUVSLElBQUssSUFBSSxJQUFLLElBQUksSUFBSyxJQUFJLElBQUssSUFBSSxJQUFLLElBQUksSUFBSyxJQUFJLElBQUssS0FFM0QsSUFBSyxJQUFJLElBQUssS0FBSyxJQUFLLEtBQ3ZCLE1BQU8sR0FFUixJQUFLLElBQ0osTUFBTyxHQUVSLElBQUssSUFBSSxJQUFLLElBQUksSUFBSyxJQUFJLElBQUssSUFDL0IsTUFBTyxHQUVSLElBQUssSUFBSSxJQUFLLElBQ2IsTUFBTyxFQUNSLENBRUQsTUFBTyxFQUNSLENBTU8sU0FBU2EsR0FBTzFDLEVBQU8sQ0FDN0IsT0FBT3NCLEdBQU9DLEdBQVMsRUFBR3RCLEdBQVNjLEVBQU9VLEdBQWF6QixDQUFLLEVBQUdVLEVBQVcsRUFBRyxDQUFFLENBQ2hGLENBTU8sU0FBU2lDLEdBQVMzQyxFQUFPLENBQy9CLE9BQU95QixHQUFhLEdBQUl6QixDQUN6QixDQU1PLFNBQVM0QyxHQUFTZixFQUFNLENBQzlCLE9BQU8xQixHQUFLcUMsR0FBTTlCLEVBQVcsRUFBR21DLEdBQVVoQixJQUFTLEdBQUtBLEVBQU8sRUFBSUEsSUFBUyxHQUFLQSxFQUFPLEVBQUlBLENBQUksQ0FBQyxDQUFDLENBQ25HLENBY08sU0FBU2lCLEdBQVlqQixFQUFNLENBQ2pDLE1BQU9MLEVBQVljLEdBQU0sSUFDcEJkLEVBQVksSUFDZmEsRUFBTSxFQUlSLE9BQU9JLEdBQU1aLENBQUksRUFBSSxHQUFLWSxHQUFNakIsQ0FBUyxFQUFJLEVBQUksR0FBSyxHQUN2RCxDQXdCTyxTQUFTdUIsR0FBVXBDLEVBQU9xQyxFQUFPLENBQ3ZDLEtBQU8sRUFBRUEsR0FBU1gsRUFBTSxHQUVuQixFQUFBYixFQUFZLElBQU1BLEVBQVksS0FBUUEsRUFBWSxJQUFNQSxFQUFZLElBQVFBLEVBQVksSUFBTUEsRUFBWSxLQUE5RyxDQUdELE9BQU9nQixHQUFNN0IsRUFBTzRCLEdBQUssR0FBTVMsRUFBUSxHQUFLVixHQUFJLEdBQU0sSUFBTUQsRUFBTSxHQUFJLEdBQUcsQ0FDMUUsQ0FNTyxTQUFTUSxHQUFXaEIsRUFBTSxDQUNoQyxLQUFPUSxFQUFNLEdBQ1osT0FBUWIsRUFBUyxDQUVoQixLQUFLSyxFQUNKLE9BQU9uQixFQUVSLElBQUssSUFBSSxJQUFLLElBQ1RtQixJQUFTLElBQU1BLElBQVMsSUFDM0JnQixHQUFVckIsQ0FBUyxFQUNwQixNQUVELElBQUssSUFDQUssSUFBUyxJQUNaZ0IsR0FBVWhCLENBQUksRUFDZixNQUVELElBQUssSUFDSlEsRUFBTSxFQUNOLEtBQ0QsQ0FFRixPQUFPM0IsQ0FDUixDQU9PLFNBQVN1QyxHQUFXcEIsRUFBTWxCLEVBQU8sQ0FDdkMsS0FBTzBCLEVBQU0sR0FFUlIsRUFBT0wsSUFBYyxJQUdwQixHQUFJSyxFQUFPTCxJQUFjLElBQVdjLEdBQU0sSUFBSyxHQUNuRCxNQUVGLE1BQU8sS0FBT0UsR0FBTTdCLEVBQU9ELEVBQVcsQ0FBQyxFQUFJLElBQU0xQixHQUFLNkMsSUFBUyxHQUFLQSxFQUFPUSxFQUFJLENBQUUsQ0FDbEYsQ0FNTyxTQUFTYSxHQUFZdkMsRUFBTyxDQUNsQyxLQUFPLENBQUM4QixHQUFNSCxJQUFNLEdBQ25CRCxFQUFNLEVBRVAsT0FBT0csR0FBTTdCLEVBQU9ELENBQVEsQ0FDN0IsQ0N4UE8sU0FBU3lDLEdBQVNuRCxFQUFPLENBQy9CLE9BQU8yQyxHQUFRUyxHQUFNLEdBQUksS0FBTSxLQUFNLEtBQU0sQ0FBQyxFQUFFLEVBQUdwRCxFQUFRMEMsR0FBTTFDLENBQUssRUFBRyxFQUFHLENBQUMsQ0FBQyxFQUFHQSxDQUFLLENBQUMsQ0FDdEYsQ0FjTyxTQUFTb0QsR0FBT3BELEVBQU8yQixFQUFNQyxFQUFReUIsRUFBTUMsRUFBT0MsRUFBVUMsRUFBUUMsRUFBUUMsRUFBYyxDQWlCaEcsUUFoQkkvQyxFQUFRLEVBQ1JnRCxFQUFTLEVBQ1QxRCxFQUFTdUQsRUFDVEksRUFBUyxFQUNUQyxFQUFXLEVBQ1hDLEVBQVcsRUFDWEMsRUFBVyxFQUNYQyxFQUFXLEVBQ1hDLEVBQVksRUFDWnpDLEVBQVksRUFDWkssRUFBTyxHQUNQQyxFQUFRd0IsRUFDUnZCLEVBQVd3QixFQUNYVyxFQUFZYixFQUNaNUIsRUFBYUksRUFFVm1DLEdBQ04sT0FBUUYsRUFBV3RDLEVBQVdBLEVBQVlhLEVBQU0sRUFBQSxDQUUvQyxJQUFLLElBQ0osR0FBSXlCLEdBQVksS0FBTzVELEVBQU91QixFQUFZeEIsRUFBUyxDQUFDLEdBQUssR0FBSSxDQUN4RE8sR0FBUWlCLEdBQWNuQixFQUFRc0MsR0FBUXBCLENBQVMsRUFBRyxJQUFLLEtBQUssRUFBRyxNQUFPM0IsR0FBSWMsRUFBUThDLEVBQU85QyxFQUFRLENBQUMsRUFBSSxDQUFDLENBQUMsR0FBSyxLQUNoSHNELEVBQVksSUFDYixLQUNBLENBRUYsSUFBSyxJQUFJLElBQUssSUFBSSxJQUFLLElBQ3RCeEMsR0FBY21CLEdBQVFwQixDQUFTLEVBQy9CLE1BRUQsSUFBSyxHQUFHLElBQUssSUFBSSxJQUFLLElBQUksSUFBSyxJQUM5QkMsR0FBY3FCLEdBQVdnQixDQUFRLEVBQ2pDLE1BRUQsSUFBSyxJQUNKckMsR0FBY3NCLEdBQVNSLEtBQVUsRUFBRyxDQUFDLEVBQ3JDLFNBRUQsSUFBSyxJQUNKLE9BQVFELEdBQU0sRUFBQSxDQUNiLElBQUssSUFBSSxJQUFLLElBQ2JyQixHQUFPa0QsR0FBUWxCLEdBQVVaLElBQVFFLElBQU8sRUFBR1osRUFBTUMsRUFBUThCLENBQVksRUFBR0EsQ0FBWSxFQUNwRixNQUNELFFBQ0NqQyxHQUFjLEdBQ2YsQ0FDRCxNQUVELElBQUssS0FBTXNDLEVBQ1ZOLEVBQU85QyxHQUFPLEVBQUlJLEVBQU9VLENBQVUsRUFBSXdDLEVBRXhDLElBQUssS0FBTUYsRUFBVSxJQUFLLElBQUksSUFBSyxHQUNsQyxPQUFRdkMsRUFBUyxDQUVoQixJQUFLLEdBQUcsSUFBSyxLQUFLd0MsRUFBVyxFQUU3QixJQUFLLElBQUtMLEVBQVlNLEdBQWEsS0FBSXhDLEVBQWFuQixFQUFRbUIsRUFBWSxNQUFPLEVBQUUsR0FDNUVvQyxFQUFXLEdBQU05QyxFQUFPVSxDQUFVLEVBQUl4QixHQUN6Q2dCLEdBQU80QyxFQUFXLEdBQUtPLEdBQVkzQyxFQUFhLElBQUs0QixFQUFNekIsRUFBUTNCLEVBQVMsRUFBR3lELENBQVksRUFBSVUsR0FBWTlELEVBQVFtQixFQUFZLElBQUssRUFBRSxFQUFJLElBQUs0QixFQUFNekIsRUFBUTNCLEVBQVMsRUFBR3lELENBQVksRUFBR0EsQ0FBWSxFQUNyTSxNQUVELElBQUssSUFBSWpDLEdBQWMsSUFFdkIsUUFHQyxHQUZBUixHQUFPaUQsRUFBWUcsR0FBUTVDLEVBQVlFLEVBQU1DLEVBQVFqQixFQUFPZ0QsRUFBUUwsRUFBT0csRUFBUTVCLEVBQU1DLEVBQVEsQ0FBQSxFQUFJQyxFQUFXLENBQUUsRUFBRTlCLEVBQVFzRCxDQUFRLEVBQUdBLENBQVEsRUFFM0kvQixJQUFjLElBQ2pCLEdBQUltQyxJQUFXLEVBQ2RQLEdBQU0zQixFQUFZRSxFQUFNdUMsRUFBV0EsRUFBV3BDLEVBQU95QixFQUFVdEQsRUFBUXdELEVBQVExQixDQUFRLE1BRXZGLFFBQVE2QixJQUFXLElBQU0xRCxFQUFPdUIsRUFBWSxDQUFDLElBQU0sSUFBTSxJQUFNbUMsRUFBTSxDQUVwRSxJQUFLLEtBQUssSUFBSyxLQUFLLElBQUssS0FBSyxJQUFLLEtBQ2xDUixHQUFNcEQsRUFBT2tFLEVBQVdBLEVBQVdiLEdBQVFwQyxHQUFPb0QsR0FBUXJFLEVBQU9rRSxFQUFXQSxFQUFXLEVBQUcsRUFBR1osRUFBT0csRUFBUTVCLEVBQU15QixFQUFPeEIsRUFBUSxDQUFBLEVBQUk3QixFQUFROEIsQ0FBUSxFQUFHQSxDQUFRLEVBQUd1QixFQUFPdkIsRUFBVTlCLEVBQVF3RCxFQUFRSixFQUFPdkIsRUFBUUMsQ0FBUSxFQUMzTixNQUNELFFBQ0NxQixHQUFNM0IsRUFBWXlDLEVBQVdBLEVBQVdBLEVBQVcsQ0FBQyxFQUFFLEVBQUduQyxFQUFVLEVBQUcwQixFQUFRMUIsQ0FBUSxDQUN2RixDQUNKLENBRURwQixFQUFRZ0QsRUFBU0UsRUFBVyxFQUFHRSxFQUFXRSxFQUFZLEVBQUdwQyxFQUFPSixFQUFhLEdBQUl4QixFQUFTdUQsRUFDMUYsTUFFRCxJQUFLLElBQ0p2RCxFQUFTLEVBQUljLEVBQU9VLENBQVUsRUFBR29DLEVBQVdDLEVBQzdDLFFBQ0MsR0FBSUMsRUFBVyxHQUNkLEdBQUl2QyxHQUFhLElBQ2hCLEVBQUV1QyxVQUNNdkMsR0FBYSxLQUFPdUMsS0FBYyxHQUFLM0IsR0FBSSxHQUFNLElBQ3pELFNBRUYsT0FBUVgsR0FBY3pDLEdBQUt3QyxDQUFTLEVBQUdBLEVBQVl1QyxFQUFRLENBRTFELElBQUssSUFDSkUsRUFBWU4sRUFBUyxFQUFJLEdBQUtsQyxHQUFjLEtBQU0sSUFDbEQsTUFFRCxJQUFLLElBQ0pnQyxFQUFPOUMsR0FBTyxHQUFLSSxFQUFPVSxDQUFVLEVBQUksR0FBS3dDLEVBQVdBLEVBQVksRUFDcEUsTUFFRCxJQUFLLElBRUEzQixHQUFNLElBQUssS0FDZGIsR0FBY21CLEdBQVFQLEdBQU0sR0FFN0J1QixFQUFTdEIsR0FBSSxFQUFJcUIsRUFBUzFELEVBQVNjLEVBQU9jLEVBQU9KLEdBQWN5QixHQUFXWCxJQUFPLENBQUMsRUFBR2YsSUFDckYsTUFFRCxJQUFLLElBQ0FzQyxJQUFhLElBQU0vQyxFQUFPVSxDQUFVLEdBQUssSUFDNUNzQyxFQUFXLEVBQ2IsQ0FDRixDQUVGLE9BQU9SLENBQ1IsQ0FpQk8sU0FBU2MsR0FBU3JFLEVBQU8yQixFQUFNQyxFQUFRakIsRUFBT2dELEVBQVFMLEVBQU9HLEVBQVE1QixFQUFNQyxFQUFPQyxFQUFVOUIsRUFBUStCLEVBQVUsQ0FLcEgsUUFKSXNDLEVBQU9YLEVBQVMsRUFDaEJOLEVBQU9NLElBQVcsRUFBSUwsRUFBUSxDQUFDLEVBQUUsRUFDakNpQixFQUFPdkQsR0FBT3FDLENBQUksRUFFYjFFLEVBQUksRUFBRzZGLEVBQUksRUFBR0MsRUFBSSxFQUFHOUYsRUFBSWdDLEVBQU8sRUFBRWhDLEVBQzFDLFFBQVMrRixFQUFJLEVBQUdDLEVBQUkvRCxHQUFPWixFQUFPc0UsRUFBTyxFQUFHQSxFQUFPekUsR0FBSTJFLEVBQUlmLEVBQU85RSxDQUFDLENBQUMsQ0FBQyxFQUFHaUcsRUFBSTVFLEVBQU8wRSxFQUFJSCxFQUFNLEVBQUVHLEdBQzFGRSxFQUFJekUsR0FBS3FFLEVBQUksRUFBSW5CLEVBQUtxQixDQUFDLEVBQUksSUFBTUMsRUFBSXJFLEVBQVFxRSxFQUFHLE9BQVF0QixFQUFLcUIsQ0FBQyxDQUFDLENBQUMsS0FDbkU1QyxFQUFNMkMsR0FBRyxFQUFJRyxHQUVoQixPQUFPbEQsR0FBSzFCLEVBQU8yQixFQUFNQyxFQUFRK0IsSUFBVyxFQUFJbkUsR0FBVXFDLEVBQU1DLEVBQU9DLEVBQVU5QixFQUFRK0IsQ0FBUSxDQUNsRyxDQVNPLFNBQVNtQyxHQUFTbkUsRUFBTzJCLEVBQU1DLEVBQVFJLEVBQVUsQ0FDdkQsT0FBT04sR0FBSzFCLEVBQU8yQixFQUFNQyxFQUFRckMsR0FBU1AsR0FBS21ELEdBQUksQ0FBRSxFQUFHdkIsR0FBT1osRUFBTyxFQUFHLEVBQUUsRUFBRyxFQUFHZ0MsQ0FBUSxDQUMxRixDQVVPLFNBQVNvQyxHQUFhcEUsRUFBTzJCLEVBQU1DLEVBQVEzQixFQUFRK0IsRUFBVSxDQUNuRSxPQUFPTixHQUFLMUIsRUFBTzJCLEVBQU1DLEVBQVFuQyxHQUFhbUIsR0FBT1osRUFBTyxFQUFHQyxDQUFNLEVBQUdXLEdBQU9aLEVBQU9DLEVBQVMsRUFBRyxFQUFFLEVBQUdBLEVBQVErQixDQUFRLENBQ3hILENDeExPLFNBQVM2QyxHQUFRN0UsRUFBT0MsRUFBUThCLEVBQVUsQ0FDaEQsT0FBUWhDLEdBQUtDLEVBQU9DLENBQU0sRUFBQyxDQUUxQixJQUFLLE1BQ0osT0FBT1gsRUFBUyxTQUFXVSxFQUFRQSxFQUVwQyxJQUFLLE1BQU0sSUFBSyxNQUFNLElBQUssTUFBTSxJQUFLLE1BQU0sSUFBSyxNQUFNLElBQUssTUFBTSxJQUFLLE1BRXZFLElBQUssTUFBTSxJQUFLLE1BQU0sSUFBSyxNQUFNLElBQUssTUFBTSxJQUFLLE1BQU0sSUFBSyxNQUU1RCxJQUFLLE1BQU0sSUFBSyxNQUFNLElBQUssTUFBTSxJQUFLLE1BQU0sSUFBSyxNQUFNLElBQUssTUFFNUQsSUFBSyxNQUFNLElBQUssTUFBTSxJQUFLLE1BQU0sSUFBSyxNQUFNLElBQUssTUFBTSxJQUFLLE1BQzNELE9BQU9WLEVBQVNVLEVBQVFBLEVBRXpCLElBQUssTUFDSixPQUFPWCxHQUFNVyxFQUFRQSxFQUV0QixJQUFLLE1BQU0sSUFBSyxNQUFNLElBQUssTUFBTSxJQUFLLE1BQU0sSUFBSyxNQUNoRCxPQUFPVixFQUFTVSxFQUFRWCxHQUFNVyxFQUFRWixFQUFLWSxFQUFRQSxFQUVwRCxJQUFLLE1BQ0osT0FBUUUsRUFBT0YsRUFBT0MsRUFBUyxFQUFFLEVBQUMsQ0FFakMsSUFBSyxLQUNKLE9BQU9YLEVBQVNVLEVBQVFaLEVBQUtrQixFQUFRTixFQUFPLHFCQUFzQixJQUFJLEVBQUlBLEVBRTNFLElBQUssS0FDSixPQUFPVixFQUFTVSxFQUFRWixFQUFLa0IsRUFBUU4sRUFBTyxxQkFBc0IsT0FBTyxFQUFJQSxFQUU5RSxJQUFLLElBQ0osT0FBT1YsRUFBU1UsRUFBUVosRUFBS2tCLEVBQVFOLEVBQU8scUJBQXNCLElBQUksRUFBSUEsQ0FFM0UsQ0FFRixJQUFLLE1BQU0sSUFBSyxNQUFNLElBQUssTUFDMUIsT0FBT1YsRUFBU1UsRUFBUVosRUFBS1ksRUFBUUEsRUFFdEMsSUFBSyxNQUNKLE9BQU9WLEVBQVNVLEVBQVFaLEVBQUssUUFBVVksRUFBUUEsRUFFaEQsSUFBSyxNQUNKLE9BQU9WLEVBQVNVLEVBQVFNLEVBQVFOLEVBQU8saUJBQWtCVixFQUFTLFdBQWFGLEVBQUssV0FBVyxFQUFJWSxFQUVwRyxJQUFLLE1BQ0osT0FBT1YsRUFBU1UsRUFBUVosRUFBSyxhQUFla0IsRUFBUU4sRUFBTyxlQUFnQixFQUFFLEdBQU1JLEVBQU1KLEVBQU8sZ0JBQWdCLEVBQTRELEdBQXhEWixFQUFLLFlBQWNrQixFQUFRTixFQUFPLGVBQWdCLEVBQUUsR0FBVUEsRUFFbkwsSUFBSyxNQUNKLE9BQU9WLEVBQVNVLEVBQVFaLEVBQUssaUJBQW1Ca0IsRUFBUU4sRUFBTyw2QkFBOEIsRUFBRSxFQUFJQSxFQUVwRyxJQUFLLE1BQ0osT0FBT1YsRUFBU1UsRUFBUVosRUFBS2tCLEVBQVFOLEVBQU8sU0FBVSxVQUFVLEVBQUlBLEVBRXJFLElBQUssTUFDSixPQUFPVixFQUFTVSxFQUFRWixFQUFLa0IsRUFBUU4sRUFBTyxRQUFTLGdCQUFnQixFQUFJQSxFQUUxRSxJQUFLLE1BQ0osT0FBT1YsRUFBUyxPQUFTZ0IsRUFBUU4sRUFBTyxRQUFTLEVBQUUsRUFBSVYsRUFBU1UsRUFBUVosRUFBS2tCLEVBQVFOLEVBQU8sT0FBUSxVQUFVLEVBQUlBLEVBRW5ILElBQUssTUFDSixPQUFPVixFQUFTZ0IsRUFBUU4sRUFBTyxxQkFBc0IsS0FBT1YsRUFBUyxJQUFJLEVBQUlVLEVBRTlFLElBQUssTUFDSixPQUFPTSxFQUFRQSxFQUFRQSxFQUFRTixFQUFPLGVBQWdCVixFQUFTLElBQUksRUFBRyxjQUFlQSxFQUFTLElBQUksRUFBR1UsRUFBTyxFQUFFLEVBQUlBLEVBRW5ILElBQUssTUFBTSxJQUFLLE1BQ2YsT0FBT00sRUFBUU4sRUFBTyxvQkFBcUJWLEVBQVMsUUFBYSxFQUVsRSxJQUFLLE1BQ0osT0FBT2dCLEVBQVFBLEVBQVFOLEVBQU8sb0JBQXFCVixFQUFTLGNBQWdCRixFQUFLLGNBQWMsRUFBRyxhQUFjLFNBQVMsRUFBSUUsRUFBU1UsRUFBUUEsRUFFL0ksSUFBSyxNQUNKLEdBQUksQ0FBQ0ksRUFBTUosRUFBTyxnQkFBZ0IsRUFBRyxPQUFPWixFQUFLLG9CQUFzQndCLEdBQU9aLEVBQU9DLENBQU0sRUFBSUQsRUFDL0YsTUFFRCxJQUFLLE1BQU0sSUFBSyxNQUNmLE9BQU9aLEVBQUtrQixFQUFRTixFQUFPLFlBQWEsRUFBRSxFQUFJQSxFQUUvQyxJQUFLLE1BQU0sSUFBSyxNQUNmLE9BQUkrQixHQUFZQSxFQUFTLEtBQUssU0FBVStDLEVBQVNuRSxFQUFPLENBQUUsT0FBT1YsRUFBU1UsRUFBT1AsRUFBTTBFLEVBQVEsTUFBTyxjQUFjLENBQUcsQ0FBQSxFQUMvRyxDQUFDdEUsR0FBUVIsR0FBUytCLEVBQVdBLEVBQVM5QixDQUFNLEVBQUUsT0FBUSxPQUFRLENBQUMsRUFBSUQsRUFBU1osRUFBS2tCLEVBQVFOLEVBQU8sU0FBVSxFQUFFLEVBQUlBLEVBQVFaLEVBQUssa0JBQW9CLENBQUNvQixHQUFRdUIsRUFBVSxPQUFRLENBQUMsRUFBSTNCLEVBQU0yQixFQUFVLEtBQUssRUFBSSxDQUFDM0IsRUFBTTJCLEVBQVUsS0FBSyxFQUFJLENBQUMzQixFQUFNSixFQUFPLEtBQUssR0FBSyxJQUU3UFosRUFBS2tCLEVBQVFOLEVBQU8sU0FBVSxFQUFFLEVBQUlBLEVBRTVDLElBQUssTUFBTSxJQUFLLE1BQ2YsT0FBUStCLEdBQVlBLEVBQVMsS0FBSyxTQUFVK0MsRUFBUyxDQUFFLE9BQU8xRSxFQUFNMEUsRUFBUSxNQUFPLGdCQUFnQixDQUFDLENBQUUsRUFBSzlFLEVBQVFaLEVBQUtrQixFQUFRQSxFQUFRTixFQUFPLE9BQVEsT0FBTyxFQUFHLFFBQVMsRUFBRSxFQUFJQSxFQUVqTCxJQUFLLE1BQU0sSUFBSyxNQUFNLElBQUssTUFBTSxJQUFLLE1BQ3JDLE9BQU9NLEVBQVFOLEVBQU8sa0JBQW1CVixFQUFTLE1BQU0sRUFBSVUsRUFFN0QsSUFBSyxNQUFNLElBQUssTUFBTSxJQUFLLE1BQU0sSUFBSyxNQUN0QyxJQUFLLE1BQU0sSUFBSyxNQUFNLElBQUssTUFBTSxJQUFLLE1BQ3RDLElBQUssTUFBTSxJQUFLLE1BQU0sSUFBSyxNQUFNLElBQUssTUFFckMsR0FBSWUsRUFBT2YsQ0FBSyxFQUFJLEVBQUlDLEVBQVMsRUFDaEMsT0FBUUMsRUFBT0YsRUFBT0MsRUFBUyxDQUFDLEVBQUMsQ0FFaEMsSUFBSyxLQUVKLEdBQUlDLEVBQU9GLEVBQU9DLEVBQVMsQ0FBQyxJQUFNLEdBQ2pDLE1BRUYsSUFBSyxLQUNKLE9BQU9LLEVBQVFOLEVBQU8sbUJBQW9CLEtBQU9WLEVBQVMsVUFBaUJELElBQU9hLEVBQU9GLEVBQU9DLEVBQVMsQ0FBQyxHQUFLLElBQU0sS0FBTyxRQUFRLEVBQUlELEVBRXpJLElBQUssS0FDSixNQUFPLENBQUNRLEdBQVFSLEVBQU8sVUFBVyxDQUFDLEVBQUk2RSxHQUFPdkUsRUFBUU4sRUFBTyxVQUFXLGdCQUFnQixFQUFHQyxFQUFROEIsQ0FBUSxFQUFJL0IsRUFBUUEsQ0FDeEgsQ0FDRixNQUVELElBQUssTUFBTSxJQUFLLE1BQ2YsT0FBT00sRUFBUU4sRUFBTyw0Q0FBNkMsU0FBVStFLEVBQUcsRUFBR0MsRUFBR0MsRUFBRyxFQUFHQyxFQUFHQyxFQUFHLENBQUUsT0FBUS9GLEVBQUssRUFBSSxJQUFNNEYsRUFBSUcsR0FBTUYsRUFBSzdGLEVBQUssRUFBSSxVQUFZLEVBQUk4RixFQUFJLENBQUNBLEVBQUksQ0FBQ0YsR0FBTUcsRUFBSSxJQUFNbkYsRUFBTyxFQUVyTSxJQUFLLE1BRUosR0FBSUUsRUFBT0YsRUFBT0MsRUFBUyxDQUFDLElBQU0sSUFDakMsT0FBT0ssRUFBUU4sRUFBTyxJQUFLLElBQU1WLENBQU0sRUFBSVUsRUFDNUMsTUFFRCxJQUFLLE1BQ0osT0FBUUUsRUFBT0YsRUFBT0UsRUFBT0YsRUFBTyxFQUFFLElBQU0sR0FBSyxHQUFLLEVBQUUsRUFBQyxDQUV4RCxJQUFLLEtBQ0osT0FBT00sRUFBUU4sRUFBTyxnQ0FBaUMsS0FBT1YsR0FBVVksRUFBT0YsRUFBTyxFQUFFLElBQU0sR0FBSyxVQUFZLElBQU0sVUFBaUJWLEVBQVMsU0FBZ0JGLEVBQUssU0FBUyxFQUFJWSxFQUVsTCxJQUFLLEtBQ0osT0FBT00sRUFBUU4sRUFBTyxJQUFLLElBQU1aLENBQUUsRUFBSVksQ0FDeEMsQ0FDRCxNQUVELElBQUssTUFBTSxJQUFLLE1BQU0sSUFBSyxNQUFNLElBQUssTUFBTSxJQUFLLE1BQ2hELE9BQU9NLEVBQVFOLEVBQU8sVUFBVyxjQUFjLEVBQUlBLENBQ3BELENBRUQsT0FBT0EsQ0FDUixDQ3hJTyxTQUFTb0YsR0FBV3JELEVBQVVYLEVBQVUsQ0FHOUMsUUFGSWlFLEVBQVMsR0FFSjFHLEVBQUksRUFBR0EsRUFBSW9ELEVBQVMsT0FBUXBELElBQ3BDMEcsR0FBVWpFLEVBQVNXLEVBQVNwRCxDQUFDLEVBQUdBLEVBQUdvRCxFQUFVWCxDQUFRLEdBQUssR0FFM0QsT0FBT2lFLENBQ1IsQ0FTTyxTQUFTQyxHQUFXUixFQUFTbkUsRUFBT29CLEVBQVVYLEVBQVUsQ0FDOUQsT0FBUTBELEVBQVEsS0FBSSxDQUNuQixLQUFLbEYsR0FBTyxHQUFJa0YsRUFBUSxTQUFTLE9BQVEsTUFDekMsS0FBS3BGLEdBQVEsS0FBS0QsR0FBYSxPQUFPcUYsRUFBUSxPQUFTQSxFQUFRLFFBQVVBLEVBQVEsTUFDakYsS0FBS3ZGLEdBQVMsTUFBTyxHQUNyQixLQUFLSSxHQUFXLE9BQU9tRixFQUFRLE9BQVNBLEVBQVEsTUFBUSxJQUFNTSxHQUFVTixFQUFRLFNBQVUxRCxDQUFRLEVBQUksSUFDdEcsS0FBSzVCLEdBQVMsR0FBSSxDQUFDdUIsRUFBTytELEVBQVEsTUFBUUEsRUFBUSxNQUFNLEtBQUssR0FBRyxDQUFDLEVBQUcsTUFBTyxFQUMzRSxDQUVELE9BQU8vRCxFQUFPZ0IsRUFBV3FELEdBQVVOLEVBQVEsU0FBVTFELENBQVEsQ0FBQyxFQUFJMEQsRUFBUSxPQUFTQSxFQUFRLE1BQVEsSUFBTS9DLEVBQVcsSUFBTSxFQUMzSCxDQ3hCTyxTQUFTd0QsR0FBWUMsRUFBWSxDQUN2QyxJQUFJdkYsRUFBU2UsR0FBT3dFLENBQVUsRUFFOUIsT0FBTyxTQUFVVixFQUFTbkUsRUFBT29CLEVBQVVYLEVBQVUsQ0FHcEQsUUFGSWlFLEVBQVMsR0FFSjFHLEVBQUksRUFBR0EsRUFBSXNCLEVBQVF0QixJQUMzQjBHLEdBQVVHLEVBQVc3RyxDQUFDLEVBQUVtRyxFQUFTbkUsRUFBT29CLEVBQVVYLENBQVEsR0FBSyxHQUVoRSxPQUFPaUUsQ0FDUCxDQUNGLENBTU8sU0FBU0ksR0FBV3JFLEVBQVUsQ0FDcEMsT0FBTyxTQUFVMEQsRUFBUyxDQUNwQkEsRUFBUSxPQUNSQSxFQUFVQSxFQUFRLFNBQ3JCMUQsRUFBUzBELENBQU8sQ0FDbEIsQ0FDRixDQVFPLFNBQVNZLEdBQVVaLEVBQVNuRSxFQUFPb0IsRUFBVVgsRUFBVSxDQUM3RCxHQUFJMEQsRUFBUSxPQUFTLElBQ2hCLENBQUNBLEVBQVEsT0FDWixPQUFRQSxFQUFRLEtBQUksQ0FDbkIsS0FBS3JGLEdBQWFxRixFQUFRLE9BQVNELEdBQU9DLEVBQVEsTUFBT0EsRUFBUSxPQUFRL0MsQ0FBUSxFQUNoRixPQUNELEtBQUtwQyxHQUNKLE9BQU95RixHQUFVLENBQUNuRCxFQUFLNkMsRUFBUyxDQUFDLE1BQU94RSxFQUFRd0UsRUFBUSxNQUFPLElBQUssSUFBTXhGLENBQU0sQ0FBQyxDQUFDLENBQUMsRUFBRzhCLENBQVEsRUFDL0YsS0FBSzVCLEdBQ0osR0FBSXNGLEVBQVEsT0FDWCxPQUFPM0QsR0FBUVksRUFBVytDLEVBQVEsTUFBTyxTQUFVOUUsRUFBTyxDQUN6RCxPQUFRSSxFQUFNSixFQUFPb0IsRUFBVyx1QkFBdUIsRUFBQyxDQUV2RCxJQUFLLGFBQWMsSUFBSyxjQUN2QmMsR0FBS0QsRUFBSzZDLEVBQVMsQ0FBQyxNQUFPLENBQUN4RSxFQUFRTixFQUFPLGNBQWUsSUFBTVgsR0FBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDOUU2QyxHQUFLRCxFQUFLNkMsRUFBUyxDQUFDLE1BQU8sQ0FBQzlFLENBQUssQ0FBQyxDQUFDLENBQUMsRUFDcENGLEdBQU9nRixFQUFTLENBQUMsTUFBT3pELEdBQU9VLEVBQVVYLENBQVEsQ0FBQyxDQUFDLEVBQ25ELE1BRUQsSUFBSyxnQkFDSmMsR0FBS0QsRUFBSzZDLEVBQVMsQ0FBQyxNQUFPLENBQUN4RSxFQUFRTixFQUFPLGFBQWMsSUFBTVYsRUFBUyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDdEY0QyxHQUFLRCxFQUFLNkMsRUFBUyxDQUFDLE1BQU8sQ0FBQ3hFLEVBQVFOLEVBQU8sYUFBYyxJQUFNWCxHQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM3RTZDLEdBQUtELEVBQUs2QyxFQUFTLENBQUMsTUFBTyxDQUFDeEUsRUFBUU4sRUFBTyxhQUFjWixFQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM1RThDLEdBQUtELEVBQUs2QyxFQUFTLENBQUMsTUFBTyxDQUFDOUUsQ0FBSyxDQUFDLENBQUMsQ0FBQyxFQUNwQ0YsR0FBT2dGLEVBQVMsQ0FBQyxNQUFPekQsR0FBT1UsRUFBVVgsQ0FBUSxDQUFDLENBQUMsRUFDbkQsS0FDRCxDQUVELE1BQU8sRUFDZCxDQUFPLENBQ0gsQ0FDSixDQ3hFQSxJQUFJdUUsR0FBZSxDQUNqQix3QkFBeUIsRUFDekIsWUFBYSxFQUNiLGtCQUFtQixFQUNuQixpQkFBa0IsRUFDbEIsaUJBQWtCLEVBQ2xCLFFBQVMsRUFDVCxhQUFjLEVBQ2QsZ0JBQWlCLEVBQ2pCLFlBQWEsRUFDYixRQUFTLEVBQ1QsS0FBTSxFQUNOLFNBQVUsRUFDVixhQUFjLEVBQ2QsV0FBWSxFQUNaLGFBQWMsRUFDZCxVQUFXLEVBQ1gsUUFBUyxFQUNULFdBQVksRUFDWixZQUFhLEVBQ2IsYUFBYyxFQUNkLFdBQVksRUFDWixjQUFlLEVBQ2YsZUFBZ0IsRUFDaEIsZ0JBQWlCLEVBQ2pCLFVBQVcsRUFDWCxjQUFlLEVBQ2YsYUFBYyxFQUNkLGlCQUFrQixFQUNsQixXQUFZLEVBQ1osV0FBWSxFQUNaLFFBQVMsRUFDVCxNQUFPLEVBQ1AsUUFBUyxFQUNULFFBQVMsRUFDVCxPQUFRLEVBQ1IsT0FBUSxFQUNSLEtBQU0sRUFDTixnQkFBaUIsRUFFakIsWUFBYSxFQUNiLGFBQWMsRUFDZCxZQUFhLEVBQ2IsZ0JBQWlCLEVBQ2pCLGlCQUFrQixFQUNsQixpQkFBa0IsRUFDbEIsY0FBZSxFQUNmLFlBQWEsQ0FDZixPQ2hEc1RSLEdBQWUsT0FBTyxRQUFwQixLQUFzQ1MsSUFBVCxTQUF1QkEsRUFBWSxtQkFBbUJBLEVBQVksVUFBVSxjQUFjQyxHQUFFLFNBQVNsQixHQUFFLHNCQUFzQm1CLEdBQUUsU0FBU0MsR0FBRTtBQUFBLEVBQVlDLEdBQWUsT0FBTyxPQUFwQixLQUE0QixnQkFBZ0IsT0FBT0MsR0FBRSxHQUFtQixPQUFPLG1CQUFsQixVQUFvQyxrQkFBK0IsT0FBTyxRQUFwQixLQUFzQ0wsSUFBVCxRQUErQkEsRUFBWSw4QkFBckIsUUFBdURBLEVBQVksOEJBQWpCLEdBQXVEQSxFQUFZLDhCQUF0QixTQUFtREEsRUFBWSw0QkFBeUMsT0FBTyxRQUFwQixLQUFzQ0EsSUFBVCxRQUErQkEsRUFBWSxvQkFBckIsUUFBNkNBLEVBQVksb0JBQWpCLElBQTZDQSxFQUFZLG9CQUF0QixTQUF5Q0EsRUFBWSxtQkFBa3VCYixHQUFFLE9BQU8sT0FBTyxFQUFFLEVBQUVtQixHQUFFLE9BQU8sT0FBTyxFQUFFLEVBQUUsU0FBU0MsR0FBRWpCLEVBQUVrQixFQUFFeEgsRUFBRSxDQUFRLE9BQVNBLElBQVQsU0FBYUEsRUFBRXNILElBQUdoQixFQUFFLFFBQVF0RyxFQUFFLE9BQU9zRyxFQUFFLE9BQU9rQixHQUFHeEgsRUFBRSxLQUFLLENBQUMsSUFBSXlILEdBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxPQUFPLFVBQVUsT0FBTyxVQUFVLFFBQVEsUUFBUSxJQUFJLE9BQU8sTUFBTSxNQUFNLE1BQU0sYUFBYSxPQUFPLEtBQUssU0FBUyxTQUFTLFVBQVUsT0FBTyxPQUFPLE1BQU0sV0FBVyxPQUFPLFdBQVcsS0FBSyxNQUFNLFVBQVUsTUFBTSxTQUFTLE1BQU0sS0FBSyxLQUFLLEtBQUssUUFBUSxXQUFXLGFBQWEsU0FBUyxTQUFTLE9BQU8sS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssU0FBUyxTQUFTLEtBQUssT0FBTyxJQUFJLFNBQVMsTUFBTSxRQUFRLE1BQU0sTUFBTSxTQUFTLFFBQVEsU0FBUyxLQUFLLE9BQU8sT0FBTyxNQUFNLE9BQU8sT0FBTyxXQUFXLE9BQU8sUUFBUSxNQUFNLFdBQVcsU0FBUyxLQUFLLFdBQVcsU0FBUyxTQUFTLElBQUksUUFBUSxVQUFVLE1BQU0sV0FBVyxJQUFJLEtBQUssS0FBSyxPQUFPLElBQUksT0FBTyxTQUFTLFVBQVUsU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLFFBQVEsTUFBTSxVQUFVLE1BQU0sUUFBUSxRQUFRLEtBQUssV0FBVyxRQUFRLEtBQUssUUFBUSxPQUFPLEtBQUssUUFBUSxJQUFJLEtBQUssTUFBTSxNQUFNLFFBQVEsTUFBTSxTQUFTLFdBQVcsT0FBTyxVQUFVLGdCQUFnQixJQUFJLFFBQVEsT0FBTyxpQkFBaUIsU0FBUyxPQUFPLE9BQU8sVUFBVSxVQUFVLFdBQVcsaUJBQWlCLE9BQU8sT0FBTyxNQUFNLE9BQU8sT0FBTyxDQUFDLEVBQUVDLEdBQUUsd0NBQXdDQyxHQUFFLFdBQVcsU0FBU0MsR0FBRXRCLEVBQUUsQ0FBQyxPQUFPQSxFQUFFLFFBQVFvQixHQUFFLEdBQUcsRUFBRSxRQUFRQyxHQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUlFLEdBQUUsV0FBV2hDLEdBQUUsR0FBR0QsR0FBRSxTQUFTVSxFQUFFLENBQUMsT0FBTyxPQUFPLGFBQWFBLEdBQUdBLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLFNBQVNSLEdBQUVRLEVBQUUsQ0FBQyxJQUFJa0IsRUFBRXhILEVBQUUsR0FBRyxJQUFJd0gsRUFBRSxLQUFLLElBQUlsQixDQUFDLEVBQUVrQixFQUFFM0IsR0FBRTJCLEVBQUVBLEVBQUUzQixHQUFFLEVBQUU3RixFQUFFNEYsR0FBRTRCLEVBQUUzQixFQUFDLEVBQUU3RixFQUFFLE9BQU80RixHQUFFNEIsRUFBRTNCLEVBQUMsRUFBRTdGLEdBQUcsUUFBUTZILEdBQUUsT0FBTyxDQUFDLENBQUMsSUFBSUMsR0FBRUMsR0FBRSxLQUFLQyxHQUFFLFNBQVMxQixFQUFFa0IsRUFBRSxDQUFTeEgsUUFBQUEsRUFBRXdILEVBQUUsT0FBT3hILEdBQUdzRyxFQUFFLEdBQUdBLEVBQUVrQixFQUFFLFdBQVcsRUFBRXhILENBQUMsRUFBU3NHLE9BQUFBLENBQUMsRUFBRU4sR0FBRSxTQUFTTSxFQUFFLENBQVEsT0FBQTBCLEdBQUVELEdBQUV6QixDQUFDLENBQUMsRUFBRSxTQUFTMkIsR0FBRTNCLEVBQUUsQ0FBQyxPQUFPUixHQUFFRSxHQUFFTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUzRCLEdBQUU1QixFQUFFLENBQW1FQSxPQUFBQSxFQUFFLGFBQWFBLEVBQUUsTUFBTSxXQUFXLENBQUMsU0FBUzZCLEdBQUU3QixFQUFFLENBQU8sT0FBVSxPQUFPQSxHQUFqQixVQUFxQixFQUE2RSxDQUFDLElBQUk4QixHQUFjLE9BQU8sUUFBbkIsWUFBMkIsT0FBTyxJQUFJQyxHQUFFRCxHQUFFLE9BQU8sSUFBSSxZQUFZLEVBQUUsTUFBTUUsR0FBRUYsR0FBRSxPQUFPLElBQUksbUJBQW1CLEVBQUUsTUFBTUcsR0FBRSxDQUFDLGtCQUFrQixHQUFHLFlBQVksR0FBRyxhQUFhLEdBQUcsYUFBYSxHQUFHLFlBQVksR0FBRyxnQkFBZ0IsR0FBRyx5QkFBeUIsR0FBRyx5QkFBeUIsR0FBRyxPQUFPLEdBQUcsVUFBVSxHQUFHLEtBQUssRUFBRSxFQUFFQyxHQUFFLENBQUMsS0FBSyxHQUFHLE9BQU8sR0FBRyxVQUFVLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxVQUFVLEdBQUcsTUFBTSxFQUFBLEVBQUlDLEdBQUUsQ0FBQyxTQUFTLEdBQUcsUUFBUSxHQUFHLGFBQWEsR0FBRyxZQUFZLEdBQUcsVUFBVSxHQUFHLEtBQUssSUFBSUMsS0FBSVosR0FBRSxJQUFJUSxFQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsT0FBTyxHQUFHLGFBQWEsR0FBRyxZQUFZLEdBQUcsVUFBVSxJQUFJUixHQUFFTyxFQUFDLEVBQUVJLEdBQUVYLElBQUcsU0FBU2EsR0FBRXJDLEVBQUUsQ0FBQyxPQUFPLFNBQVNrQixFQUFFbEIsSUFBSWtCLEVBQUUsS0FBSyxZQUFZYSxHQUFFSSxHQUFFLGFBQWFuQyxFQUFFb0MsR0FBRXBDLEVBQUUsUUFBUSxFQUFFaUMsR0FBTWYsSUFBQUEsQ0FBQyxDQUFDLElBQUlvQixHQUFFLE9BQU8sZUFBZUMsR0FBRSxPQUFPLG9CQUFvQkMsR0FBRSxPQUFPLHNCQUFzQkMsR0FBRyxPQUFPLHlCQUF5QkMsR0FBRyxPQUFPLGVBQWVDLEdBQUcsT0FBTyxVQUFVLFNBQVNDLEdBQUc1QyxFQUFFa0IsRUFBRXhILEVBQUUsQ0FBSSxHQUFVLE9BQU93SCxHQUFqQixTQUFtQixDQUFDLEdBQUd5QixHQUFHLENBQUtFLElBQUFBLEVBQUVILEdBQUd4QixDQUFDLEVBQUUyQixHQUFHQSxJQUFJRixJQUFJQyxHQUFHNUMsRUFBRTZDLEVBQUVuSixDQUFDLENBQUMsQ0FBS29KLElBQUFBLEVBQUVQLEdBQUVyQixDQUFDLEVBQUVzQixLQUFJTSxFQUFFQSxFQUFFLE9BQU9OLEdBQUV0QixDQUFDLENBQUMsR0FBRyxRQUFRMUgsRUFBRTZJLEdBQUVyQyxDQUFDLEVBQUV2RyxFQUFFNEksR0FBRW5CLENBQUMsRUFBRTZCLEVBQUUsRUFBRUEsRUFBRUQsRUFBRSxPQUFPLEVBQUVDLEVBQUUsQ0FBS2hELElBQUFBLEVBQUUrQyxFQUFFQyxDQUFDLEVBQUUsR0FBRyxFQUFFaEQsS0FBS21DLElBQUd4SSxHQUFHQSxFQUFFcUcsQ0FBQyxHQUFHdEcsR0FBR3NHLEtBQUt0RyxHQUFHRCxHQUFHdUcsS0FBS3ZHLEdBQUcsQ0FBS1EsSUFBQUEsRUFBRXlJLEdBQUd2QixFQUFFbkIsQ0FBQyxFQUFLLEdBQUEsQ0FBR0MsR0FBQUEsRUFBRUQsRUFBRS9GLENBQUMsT0FBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQVFnRyxPQUFBQSxDQUFDLENBQUMsU0FBU2dELEdBQUdoRCxFQUFFLENBQUMsT0FBa0IsT0FBT0EsR0FBbkIsVUFBb0IsQ0FBQyxTQUFTaUQsR0FBR2pELEVBQUUsQ0FBTyxPQUFVLE9BQU9BLEdBQWpCLFVBQW9CLHNCQUFzQkEsQ0FBQyxDQUFDLFNBQVNrRCxHQUFHbEQsRUFBRWtCLEVBQUUsQ0FBUWxCLE9BQUFBLEdBQUdrQixFQUFFLEdBQUcsT0FBT2xCLEVBQUUsR0FBRyxFQUFFLE9BQU9rQixDQUFDLEVBQUVsQixHQUFHa0IsR0FBRyxFQUFFLENBQUMsU0FBU2lDLEdBQUduRCxFQUFFa0IsRUFBRSxDQUFJLEdBQUlsQixFQUFFLFNBQU4sRUFBbUIsTUFBQSxHQUFHLFFBQVF0RyxFQUFFc0csRUFBRSxDQUFDLEVBQUU2QyxFQUFFLEVBQUVBLEVBQUU3QyxFQUFFLE9BQU82QyxJQUFJbkosR0FBWXNHLEVBQUU2QyxDQUFDLEVBQVNuSixPQUFBQSxDQUFDLENBQUMsU0FBUzBKLEdBQUdwRCxFQUFFLENBQUMsT0FBY0EsSUFBUCxNQUFvQixPQUFPQSxHQUFqQixVQUFvQkEsRUFBRSxZQUFZLE9BQU8sT0FBTyxNQUFNLEVBQUUsVUFBVUEsR0FBR0EsRUFBRSxTQUFTLENBQUMsU0FBU3FELEdBQUdyRCxFQUFFa0IsRUFBRXhILEVBQUUsQ0FBQyxHQUFZQSxJQUFULFNBQWFBLEVBQUUsSUFBSSxDQUFDQSxHQUFHLENBQUMwSixHQUFHcEQsQ0FBQyxHQUFHLENBQUMsTUFBTSxRQUFRQSxDQUFDLEVBQVNrQixPQUFBQSxFQUFLLEdBQUEsTUFBTSxRQUFRQSxDQUFDLFVBQVUyQixFQUFFLEVBQUVBLEVBQUUzQixFQUFFLE9BQU8yQixJQUFJN0MsRUFBRTZDLENBQUMsRUFBRVEsR0FBR3JELEVBQUU2QyxDQUFDLEVBQUUzQixFQUFFMkIsQ0FBQyxDQUFDLFVBQVVPLEdBQUdsQyxDQUFDLEVBQVUyQixRQUFBQSxLQUFLM0IsRUFBRWxCLEVBQUU2QyxDQUFDLEVBQUVRLEdBQUdyRCxFQUFFNkMsQ0FBQyxFQUFFM0IsRUFBRTJCLENBQUMsQ0FBQyxFQUFTN0MsT0FBQUEsQ0FBQyxDQUFDLFNBQVNzRCxHQUFHdEQsRUFBRWtCLEVBQUUsQ0FBQyxPQUFPLGVBQWVsQixFQUFFLFdBQVcsQ0FBQyxNQUFNa0IsRUFBRSxDQUFDLENBQWk5RyxTQUFTcUMsR0FBR3JDLEVBQUUsQ0FBQyxRQUFReEgsRUFBRSxDQUFHbUosRUFBQUEsRUFBRSxFQUFFQSxFQUFFLFVBQVUsT0FBT0EsSUFBSW5KLEVBQUVtSixFQUFFLENBQUMsRUFBRSxVQUFVQSxDQUFDLEVBQUUsT0FBMEMsSUFBSSxNQUFNLDBJQUEwSSxPQUFPM0IsRUFBRSx3QkFBd0IsRUFBRSxPQUFPeEgsRUFBRSxPQUFPLEVBQUUsVUFBVSxPQUFPQSxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQW9ELENBQUMsSUFBSThKLEdBQUcsVUFBVSxDQUFDLFNBQVN4RCxFQUFFQSxFQUFFLENBQU0sS0FBQSxXQUFXLElBQUksWUFBWSxHQUFHLEVBQUUsS0FBSyxPQUFPLElBQUksS0FBSyxJQUFJQSxDQUFDLENBQUMsT0FBT0EsRUFBRSxVQUFVLGFBQWEsU0FBU0EsRUFBRSxDQUFTa0IsUUFBQUEsRUFBRSxFQUFFeEgsRUFBRSxFQUFFQSxFQUFFc0csRUFBRXRHLElBQUl3SCxHQUFHLEtBQUssV0FBV3hILENBQUMsRUFBU3dILE9BQUFBLEdBQUdsQixFQUFFLFVBQVUsWUFBWSxTQUFTQSxFQUFFa0IsRUFBRSxDQUFJbEIsR0FBQUEsR0FBRyxLQUFLLFdBQVcsT0FBTyxDQUFTdEcsUUFBQUEsRUFBRSxLQUFLLFdBQVdtSixFQUFFbkosRUFBRSxPQUFPb0osRUFBRUQsRUFBRTdDLEdBQUc4QyxPQUFPQSxJQUFJLEdBQUcsRUFBUSxNQUFBUyxHQUFHLEdBQUcsR0FBRyxPQUFPdkQsQ0FBQyxDQUFDLEVBQU8sS0FBQSxXQUFXLElBQUksWUFBWThDLENBQUMsRUFBRSxLQUFLLFdBQVcsSUFBSXBKLENBQUMsRUFBRSxLQUFLLE9BQU9vSixFQUFVdEosUUFBQUEsRUFBRXFKLEVBQUVySixFQUFFc0osRUFBRXRKLElBQVMsS0FBQSxXQUFXQSxDQUFDLEVBQUUsQ0FBQyxDQUFTQyxRQUFBQSxFQUFFLEtBQUssYUFBYXVHLEVBQUUsQ0FBQyxFQUFFK0MsR0FBR3ZKLEVBQUUsRUFBRTBILEVBQUUsUUFBUTFILEVBQUV1SixFQUFFdkosSUFBSSxLQUFLLElBQUksV0FBV0MsRUFBRXlILEVBQUUxSCxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVd3RyxDQUFDLElBQUl2RyxJQUFNdUcsRUFBQUEsRUFBRSxVQUFVLFdBQVcsU0FBU0EsRUFBRSxDQUFJQSxHQUFBQSxFQUFFLEtBQUssT0FBTyxDQUFLa0IsSUFBQUEsRUFBRSxLQUFLLFdBQVdsQixDQUFDLEVBQUV0RyxFQUFFLEtBQUssYUFBYXNHLENBQUMsRUFBRTZDLEVBQUVuSixFQUFFd0gsRUFBTyxLQUFBLFdBQVdsQixDQUFDLEVBQUUsRUFBVThDLFFBQUFBLEVBQUVwSixFQUFFb0osRUFBRUQsRUFBRUMsSUFBUyxLQUFBLElBQUksV0FBV3BKLENBQUMsQ0FBQyxDQUFHc0csRUFBQUEsRUFBRSxVQUFVLFNBQVMsU0FBU0EsRUFBRSxDQUFDLElBQUlrQixFQUFFLEdBQU1sQixHQUFBQSxHQUFHLEtBQUssUUFBWSxLQUFLLFdBQVdBLENBQUMsSUFBckIsRUFBOEJrQixPQUFBQSxFQUFFLFFBQVF4SCxFQUFFLEtBQUssV0FBV3NHLENBQUMsRUFBRTZDLEVBQUUsS0FBSyxhQUFhN0MsQ0FBQyxFQUFFOEMsRUFBRUQsRUFBRW5KLEVBQUVGLEVBQUVxSixFQUFFckosRUFBRXNKLEVBQUV0SixJQUFJMEgsR0FBRyxHQUFHLE9BQU8sS0FBSyxJQUFJLFFBQVExSCxDQUFDLENBQUMsRUFBRSxPQUFPcUgsRUFBQyxFQUFTSyxPQUFBQSxDQUFHbEIsRUFBQUEsQ0FBQyxFQUFBLEVBQWF5RCxHQUFPLElBQUEsSUFBSUMsR0FBRyxJQUFJLElBQUlDLEdBQUcsRUFBRUMsR0FBRyxTQUFTNUQsRUFBRSxDQUFDLEdBQUd5RCxHQUFHLElBQUl6RCxDQUFDLEVBQVMsT0FBQXlELEdBQUcsSUFBSXpELENBQUMsRUFBTyxLQUFBMEQsR0FBRyxJQUFJQyxFQUFFLEdBQUdBLEtBQUssSUFBSXpDLEVBQUV5QyxLQUE4RixPQUFBRixHQUFHLElBQUl6RCxFQUFFa0IsQ0FBQyxFQUFFd0MsR0FBRyxJQUFJeEMsRUFBRWxCLENBQUMsRUFBRWtCLENBQUMsRUFBRTJDLEdBQUcsU0FBUzdELEVBQUVrQixFQUFFLENBQUlBLEdBQUFBLEVBQUUsRUFBRXVDLEdBQUcsSUFBSXpELEVBQUVrQixDQUFDLEVBQUV3QyxHQUFHLElBQUl4QyxFQUFFbEIsQ0FBQyxDQUFDLEVBQUU4RCxHQUFHLFNBQVMsT0FBTzdELEdBQUUsSUFBSSxFQUFFLE9BQU9SLEdBQUUsSUFBSSxFQUFFLE9BQU9tQixHQUFFLElBQUksRUFBRW1ELEdBQUcsSUFBSSxPQUFPLElBQUksT0FBTzlELEdBQUUsOENBQThDLENBQUMsRUFBRStELEdBQUcsU0FBU2hFLEVBQUVrQixFQUFFeEgsRUFBRSxDQUFTbUosUUFBQUEsRUFBRUMsRUFBRXBKLEVBQUUsTUFBTSxHQUFHLEVBQUVGLEVBQUUsRUFBRUMsRUFBRXFKLEVBQUUsT0FBT3RKLEVBQUVDLEVBQUVELEtBQUtxSixFQUFFQyxFQUFFdEosQ0FBQyxJQUFJd0csRUFBRSxhQUFha0IsRUFBRTJCLENBQUMsQ0FBQyxFQUFFb0IsR0FBRyxTQUFTakUsRUFBRWtCLEVBQUUsQ0FBU3hILFFBQUFBLEVBQUVtSixJQUFXbkosRUFBRXdILEVBQUUsZUFBWixNQUFtQ3hILElBQVQsT0FBV0EsRUFBRSxJQUFJLE1BQU1tSCxFQUFDLEVBQUVpQyxFQUFFLENBQUMsRUFBRXRKLEVBQUUsRUFBRUMsRUFBRW9KLEVBQUUsT0FBT3JKLEVBQUVDLEVBQUVELElBQUksQ0FBQyxJQUFJdUosRUFBRUYsRUFBRXJKLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBR3VKLEVBQUUsQ0FBS2hELElBQUFBLEVBQUVnRCxFQUFFLE1BQU1nQixFQUFFLEVBQUUsR0FBR2hFLEVBQUUsQ0FBSy9GLElBQUFBLEVBQUUsRUFBRSxTQUFTK0YsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFbUUsRUFBRW5FLEVBQUUsQ0FBQyxFQUFNL0YsSUFBQUEsSUFBSTZKLEdBQUdLLEVBQUVsSyxDQUFDLEVBQUVnSyxHQUFHaEUsRUFBRWtFLEVBQUVuRSxFQUFFLENBQUMsQ0FBQyxFQUFFQyxFQUFFLE9BQVMsRUFBQSxZQUFZaEcsRUFBRThJLENBQUMsR0FBR0EsRUFBRSxPQUFPLENBQUEsTUFBT0EsRUFBRSxLQUFLQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVvQixHQUFHLFNBQVNuRSxFQUFFLENBQUMsUUFBUWtCLEVBQUUsU0FBUyxpQkFBaUI0QyxFQUFFLEVBQUVwSyxFQUFFLEVBQUVtSixFQUFFM0IsRUFBRSxPQUFPeEgsRUFBRW1KLEVBQUVuSixJQUFJLENBQUtvSixJQUFBQSxFQUFFNUIsRUFBRXhILENBQUMsRUFBRW9KLEdBQUdBLEVBQUUsYUFBYTdDLEVBQUMsSUFBSVUsS0FBSXNELEdBQUdqRSxFQUFFOEMsQ0FBQyxFQUFFQSxFQUFFLFlBQVlBLEVBQUUsV0FBVyxZQUFZQSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVNzQixJQUFJLENBQU8sT0FBYSxPQUFPLGtCQUFwQixJQUFzQyxrQkFBa0IsSUFBSSxDQUFDLElBQUlDLEdBQUcsU0FBU3JFLEVBQUUsQ0FBQyxJQUFJa0IsRUFBRSxTQUFTLEtBQUt4SCxFQUFFc0csR0FBR2tCLEVBQUUyQixFQUFFLFNBQVMsY0FBYyxPQUFPLEVBQUVDLEVBQUUsU0FBUzlDLEVBQUUsQ0FBS2tCLElBQUFBLEVBQUUsTUFBTSxLQUFLbEIsRUFBRSxpQkFBaUIsU0FBUyxPQUFPQyxHQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQVNpQixPQUFBQSxFQUFFQSxFQUFFLE9BQU8sQ0FBQyxDQUFBLEVBQUd4SCxDQUFDLEVBQUVGLEVBQVdzSixJQUFULE9BQVdBLEVBQUUsWUFBWSxLQUFLRCxFQUFFLGFBQWE1QyxHQUFFVSxFQUFDLEVBQUVrQyxFQUFFLGFBQWFwRCxHQUFFbUIsRUFBQyxFQUFFLElBQUluSCxFQUFFMkssS0FBWTNLLE9BQUFBLEdBQUdvSixFQUFFLGFBQWEsUUFBUXBKLENBQUMsRUFBRUMsRUFBRSxhQUFhbUosRUFBRXJKLENBQUMsRUFBRXFKLENBQUMsRUFBRXlCLEdBQUcsVUFBVSxDQUFDLFNBQVN0RSxFQUFFQSxFQUFFLENBQUMsS0FBSyxRQUFRcUUsR0FBR3JFLENBQUMsRUFBRSxLQUFLLFFBQVEsWUFBWSxTQUFTLGVBQWUsRUFBRSxDQUFDLEVBQUUsS0FBSyxNQUFNLFNBQVNBLEVBQUUsQ0FBSUEsR0FBQUEsRUFBRSxNQUFNLE9BQU9BLEVBQUUsTUFBY2tCLFFBQUFBLEVBQUUsU0FBUyxZQUFZeEgsRUFBRSxFQUFFbUosRUFBRTNCLEVBQUUsT0FBT3hILEVBQUVtSixFQUFFbkosSUFBSSxDQUFLb0osSUFBQUEsRUFBRTVCLEVBQUV4SCxDQUFDLEVBQUtvSixHQUFBQSxFQUFFLFlBQVk5QyxFQUFTOEMsT0FBQUEsQ0FBQyxDQUFDLE1BQU1TLEdBQUcsRUFBRSxDQUFHLEVBQUEsS0FBSyxPQUFPLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPdkQsRUFBRSxVQUFVLFdBQVcsU0FBU0EsRUFBRWtCLEVBQUUsQ0FBSSxHQUFBLENBQUMsT0FBTyxLQUFLLE1BQU0sV0FBV0EsRUFBRWxCLENBQUMsRUFBRSxLQUFLLFNBQVMsUUFBVyxDQUFPLE1BQUEsRUFBRSxDQUFHQSxFQUFBQSxFQUFFLFVBQVUsV0FBVyxTQUFTQSxFQUFFLENBQUMsS0FBSyxNQUFNLFdBQVdBLENBQUMsRUFBRSxLQUFLLFFBQVVBLEVBQUFBLEVBQUUsVUFBVSxRQUFRLFNBQVNBLEVBQUUsQ0FBQyxJQUFJa0IsRUFBRSxLQUFLLE1BQU0sU0FBU2xCLENBQUMsRUFBRSxPQUFPa0IsR0FBR0EsRUFBRSxRQUFRQSxFQUFFLFFBQVEsRUFBSWxCLEVBQUFBLENBQUMsRUFBRSxFQUFFdUUsR0FBRyxVQUFVLENBQUMsU0FBU3ZFLEVBQUVBLEVBQUUsQ0FBTSxLQUFBLFFBQVFxRSxHQUFHckUsQ0FBQyxFQUFFLEtBQUssTUFBTSxLQUFLLFFBQVEsV0FBVyxLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU9BLEVBQUUsVUFBVSxXQUFXLFNBQVNBLEVBQUVrQixFQUFFLENBQUMsR0FBR2xCLEdBQUcsS0FBSyxRQUFRQSxHQUFHLEVBQUUsQ0FBS3RHLElBQUFBLEVBQUUsU0FBUyxlQUFld0gsQ0FBQyxFQUFTLE9BQUEsS0FBSyxRQUFRLGFBQWF4SCxFQUFFLEtBQUssTUFBTXNHLENBQUMsR0FBRyxJQUFJLEVBQUUsS0FBSyxTQUFTLEVBQUUsQ0FBTyxNQUFBLEVBQUlBLEVBQUFBLEVBQUUsVUFBVSxXQUFXLFNBQVNBLEVBQUUsQ0FBQyxLQUFLLFFBQVEsWUFBWSxLQUFLLE1BQU1BLENBQUMsQ0FBQyxFQUFFLEtBQUssUUFBVUEsRUFBQUEsRUFBRSxVQUFVLFFBQVEsU0FBU0EsRUFBRSxDQUFDLE9BQU9BLEVBQUUsS0FBSyxPQUFPLEtBQUssTUFBTUEsQ0FBQyxFQUFFLFlBQVksRUFBSUEsRUFBQUEsQ0FBQyxFQUFFLEVBQUV3RSxHQUFHLFVBQVUsQ0FBQyxTQUFTeEUsRUFBRUEsRUFBRSxDQUFDLEtBQUssTUFBTSxDQUFBLEVBQUcsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPQSxFQUFFLFVBQVUsV0FBVyxTQUFTQSxFQUFFa0IsRUFBRSxDQUFRbEIsT0FBQUEsR0FBRyxLQUFLLFNBQVMsS0FBSyxNQUFNLE9BQU9BLEVBQUUsRUFBRWtCLENBQUMsRUFBRSxLQUFLLFNBQVMsR0FBS2xCLEVBQUFBLEVBQUUsVUFBVSxXQUFXLFNBQVNBLEVBQUUsQ0FBQyxLQUFLLE1BQU0sT0FBT0EsRUFBRSxDQUFDLEVBQUUsS0FBSyxRQUFVQSxFQUFBQSxFQUFFLFVBQVUsUUFBUSxTQUFTQSxFQUFFLENBQUMsT0FBT0EsRUFBRSxLQUFLLE9BQU8sS0FBSyxNQUFNQSxDQUFDLEVBQUUsRUFBSUEsRUFBQUEsQ0FBQyxFQUFBLEVBQUl5RSxHQUFHM0QsR0FBRTRELEdBQUcsQ0FBQyxTQUFTLENBQUM1RCxHQUFFLGtCQUFrQixDQUFDQyxFQUFDLEVBQUU0RCxHQUFHLFVBQVUsQ0FBVTNFLFNBQUFBLEVBQUVBLEVBQUV0RyxFQUFFbUosRUFBRSxDQUFVN0MsSUFBVCxTQUFhQSxFQUFFZ0IsSUFBWXRILElBQVQsU0FBYUEsRUFBRSxDQUFBLEdBQUksSUFBSW9KLEVBQUUsS0FBSyxLQUFLLFFBQVE1QixFQUFFQSxFQUFFLENBQUMsRUFBRXdELEVBQUUsRUFBRTFFLENBQUMsRUFBRSxLQUFLLEdBQUd0RyxFQUFFLEtBQUssTUFBTSxJQUFJLElBQUltSixDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQzdDLEVBQUUsU0FBUyxDQUFDLEtBQUssUUFBUWMsSUFBRzJELEtBQUtBLEdBQUcsR0FBR04sR0FBRyxJQUFJLEdBQUdiLEdBQUcsS0FBSyxVQUFVLENBQUMsT0FBTyxTQUFTdEQsRUFBRSxDQUFTa0IsUUFBQUEsRUFBRWxCLEVBQUUsT0FBU3RHLEVBQUFBLEVBQUV3SCxFQUFFLE9BQU8yQixFQUFFLEdBQUdDLEVBQUUsU0FBU3BKLEVBQUUsQ0FBS29KLElBQUFBLEVBQUUsU0FBUzlDLEVBQUUsQ0FBUSxPQUFBMEQsR0FBRyxJQUFJMUQsQ0FBQyxHQUFHdEcsQ0FBQyxFQUFLLEdBQVNvSixJQUFULE9BQWlCLE1BQUEsV0FBZXRKLElBQUFBLEVBQUV3RyxFQUFFLE1BQU0sSUFBSThDLENBQUMsRUFBRXJKLEVBQUV5SCxFQUFFLFNBQVN4SCxDQUFDLEVBQUssR0FBU0YsSUFBVCxRQUFZLENBQUNBLEVBQUUsTUFBVUMsRUFBRSxTQUFOLEVBQW1CLE1BQUEsV0FBVyxJQUFJc0osRUFBRSxHQUFHLE9BQU85QyxHQUFFLElBQUksRUFBRSxPQUFPdkcsRUFBRSxPQUFPLEVBQUUsT0FBT29KLEVBQUUsSUFBSSxFQUFFL0MsRUFBRSxHQUFZdkcsSUFBVCxRQUFZQSxFQUFFLFFBQVEsU0FBU3dHLEVBQUUsQ0FBQ0EsRUFBRSxPQUFPLElBQUlELEdBQUcsR0FBRyxPQUFPQyxFQUFFLEdBQUcsRUFBQSxDQUFHLEVBQUU2QyxHQUFHLEdBQUcsT0FBT3BKLENBQUMsRUFBRSxPQUFPc0osRUFBRSxZQUFZLEVBQUUsT0FBT2hELEVBQUUsSUFBSSxFQUFFLE9BQU9jLEVBQUMsQ0FBQSxFQUFHckgsRUFBRSxFQUFFQSxFQUFFRSxFQUFFRixJQUFJc0osRUFBRXRKLENBQUMsRUFBU3FKLE9BQUFBLEdBQUdDLENBQUMsQ0FBQSxDQUFFLENBQUMsQ0FBUTlDLE9BQUFBLEVBQUUsV0FBVyxTQUFTQSxFQUFFLENBQUMsT0FBTzRELEdBQUc1RCxDQUFDLENBQUEsRUFBR0EsRUFBRSxVQUFVLFVBQVUsVUFBVSxDQUFDLENBQUMsS0FBSyxRQUFRYyxJQUFHcUQsR0FBRyxJQUFJLEdBQUduRSxFQUFFLFVBQVUsdUJBQXVCLFNBQVN0RyxFQUFFbUosRUFBRSxDQUFRLE9BQVNBLElBQVQsU0FBYUEsRUFBRSxJQUFJLElBQUk3QyxFQUFFa0IsRUFBRUEsRUFBRSxDQUFDLEVBQUUsS0FBSyxPQUFPLEVBQUV4SCxDQUFDLEVBQUUsS0FBSyxHQUFHbUosR0FBRyxLQUFLLE9BQU8sTUFBTSxDQUFHN0MsRUFBQUEsRUFBRSxVQUFVLG1CQUFtQixTQUFTQSxFQUFFLENBQVEsT0FBQSxLQUFLLEdBQUdBLENBQUMsR0FBRyxLQUFLLEdBQUdBLENBQUMsR0FBRyxHQUFHLENBQUEsRUFBR0EsRUFBRSxVQUFVLE9BQU8sVUFBVSxDQUFDLE9BQU8sS0FBSyxNQUFNLEtBQUssS0FBS0EsRUFBRSxTQUFTQSxFQUFFLENBQUMsSUFBSWtCLEVBQUVsQixFQUFFLGtCQUFrQnRHLEVBQUVzRyxFQUFFLE9BQU8sT0FBT0EsRUFBRSxTQUFTLElBQUl3RSxHQUFHOUssQ0FBQyxFQUFFd0gsRUFBRSxJQUFJb0QsR0FBRzVLLENBQUMsRUFBRSxJQUFJNkssR0FBRzdLLENBQUMsQ0FBQSxFQUFHLEtBQUssT0FBTyxFQUFFLElBQUk4SixHQUFHeEQsQ0FBQyxJQUFRQSxJQUFBQSxHQUFHQSxFQUFFLFVBQVUsYUFBYSxTQUFTQSxFQUFFa0IsRUFBRSxDQUFRLE9BQUEsS0FBSyxNQUFNLElBQUlsQixDQUFDLEdBQUcsS0FBSyxNQUFNLElBQUlBLENBQUMsRUFBRSxJQUFJa0IsQ0FBQyxHQUFHbEIsRUFBRSxVQUFVLGFBQWEsU0FBU0EsRUFBRWtCLEVBQUUsQ0FBQyxHQUFHMEMsR0FBRzVELENBQUMsRUFBRSxLQUFLLE1BQU0sSUFBSUEsQ0FBQyxFQUFFLEtBQUssTUFBTSxJQUFJQSxDQUFDLEVBQUUsSUFBSWtCLENBQUMsTUFBTSxDQUFDLElBQUl4SCxFQUFNLElBQUEsSUFBSUEsRUFBRSxJQUFJd0gsQ0FBQyxFQUFFLEtBQUssTUFBTSxJQUFJbEIsRUFBRXRHLENBQUMsQ0FBQyxDQUFBLEVBQUdzRyxFQUFFLFVBQVUsWUFBWSxTQUFTQSxFQUFFa0IsRUFBRXhILEVBQUUsQ0FBTSxLQUFBLGFBQWFzRyxFQUFFa0IsQ0FBQyxFQUFFLEtBQUssT0FBTyxFQUFFLFlBQVkwQyxHQUFHNUQsQ0FBQyxFQUFFdEcsQ0FBQyxDQUFHc0csRUFBQUEsRUFBRSxVQUFVLFdBQVcsU0FBU0EsRUFBRSxDQUFNLEtBQUEsTUFBTSxJQUFJQSxDQUFDLEdBQUcsS0FBSyxNQUFNLElBQUlBLENBQUMsRUFBRSxPQUFTQSxFQUFBQSxFQUFFLFVBQVUsV0FBVyxTQUFTQSxFQUFFLENBQU0sS0FBQSxTQUFTLFdBQVc0RCxHQUFHNUQsQ0FBQyxDQUFDLEVBQUUsS0FBSyxXQUFXQSxDQUFDLENBQUEsRUFBR0EsRUFBRSxVQUFVLFNBQVMsVUFBVSxDQUFDLEtBQUssSUFBSSxNQUFRQSxFQUFBQSxDQUFDLEVBQUUsRUFBRTRFLEdBQUcsS0FBS0MsR0FBRyxnQkFBZ0IsU0FBU0MsR0FBRzlFLEVBQUVrQixFQUFFLENBQVFsQixPQUFBQSxFQUFFLElBQUksU0FBU0EsRUFBRSxDQUFDLE9BQWVBLEVBQUUsT0FBWCxTQUFrQkEsRUFBRSxNQUFNLEdBQUcsT0FBT2tCLEVBQUUsR0FBRyxFQUFFLE9BQU9sQixFQUFFLEtBQUssRUFBRUEsRUFBRSxNQUFNQSxFQUFFLE1BQU0sV0FBVyxJQUFJLElBQUksT0FBT2tCLEVBQUUsR0FBRyxDQUFDLEVBQUVsQixFQUFFLE1BQU1BLEVBQUUsTUFBTSxJQUFJLFNBQVNBLEVBQUUsQ0FBQyxNQUFNLEdBQUcsT0FBT2tCLEVBQUUsR0FBRyxFQUFFLE9BQU9sQixDQUFDLENBQUEsQ0FBRSxHQUFHLE1BQU0sUUFBUUEsRUFBRSxRQUFRLEdBQWtCQSxFQUFFLE9BQWpCLGVBQXdCQSxFQUFFLFNBQVM4RSxHQUFHOUUsRUFBRSxTQUFTa0IsQ0FBQyxHQUFHbEIsQ0FBQSxDQUFFLENBQUMsQ0FBQyxTQUFTK0UsR0FBRy9FLEVBQUUsQ0FBQyxJQUFJa0IsRUFBRXhILEVBQUVtSixFQUFFQyxFQUFhOUIsR0FBSXhILEVBQUVzSixFQUFFLFFBQVFySixFQUFXRCxJQUFULE9BQVd3SCxHQUFFeEgsRUFBRXVKLEVBQUVELEVBQUUsUUFBUS9DLEVBQVdnRCxJQUFULE9BQVdsRCxHQUFFa0QsRUFBRS9JLEVBQUUsU0FBU2dHLEVBQUU2QyxFQUFFQyxFQUFFLENBQUMsT0FBT0EsRUFBRSxXQUFXcEosQ0FBQyxHQUFHb0osRUFBRSxTQUFTcEosQ0FBQyxHQUFHb0osRUFBRSxXQUFXcEosRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksT0FBT3dILENBQUMsRUFBRWxCLENBQUEsRUFBR2tFLEVBQUVuRSxFQUFFLFFBQVFtRSxFQUFFLEtBQUssU0FBU2xFLEVBQUUsQ0FBQ0EsRUFBRSxPQUFPZ0YsSUFBV2hGLEVBQUUsTUFBTSxTQUFTLEdBQUcsSUFBSUEsRUFBRSxNQUFNLENBQUMsRUFBRUEsRUFBRSxNQUFNLENBQUMsRUFBRSxRQUFRNEUsR0FBR2xMLENBQUMsRUFBRSxRQUFRbUosRUFBRTdJLENBQUMsRUFBQSxDQUFHLEVBQUVQLEVBQUUsUUFBUXlLLEVBQUUsS0FBS2UsRUFBVSxFQUFFZixFQUFFLEtBQUtnQixFQUFXLEVBQUUsSUFBSXZMLEVBQUUsU0FBU3FHLEVBQUU4QyxFQUFFdEosRUFBRXVKLEVBQUUsQ0FBVUQsSUFBQUEsU0FBSUEsRUFBRSxJQUFhdEosSUFBVCxTQUFhQSxFQUFFLElBQWF1SixJQUFULFNBQWFBLEVBQUUsS0FBSzdCLEVBQUU2QixFQUFFckosRUFBRW9KLEVBQUVELEVBQUUsSUFBSSxPQUFPLEtBQUssT0FBT25KLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBTXFHLElBQUFBLEVBQUVDLEVBQUUsUUFBUTZFLEdBQUcsRUFBRSxFQUFFN0ssRUFBRW1MLEdBQVUzTCxHQUFHc0osRUFBRSxHQUFHLE9BQU90SixFQUFFLEdBQUcsRUFBRSxPQUFPc0osRUFBRSxLQUFLLEVBQUUsT0FBTy9DLEVBQUUsSUFBSSxFQUFFQSxDQUFDLEVBQUV0RyxFQUFFLFlBQVlPLEVBQUU4SyxHQUFHOUssRUFBRVAsRUFBRSxTQUFTLEdBQUcsSUFBSUUsRUFBRSxDQUFBLEVBQVUsT0FBQXlMLEdBQVlwTCxFQUFFcUwsR0FBYW5CLEVBQUUsT0FBT29CLEdBQVksU0FBU3RGLEVBQUUsQ0FBUXJHLE9BQUFBLEVBQUUsS0FBS3FHLENBQUMsQ0FBQSxDQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVyRyxDQUFBLEVBQVVBLE9BQUFBLEVBQUUsS0FBS29HLEVBQUUsT0FBT0EsRUFBRSxPQUFPLFNBQVNDLEVBQUVrQixFQUFFLENBQVFBLE9BQUFBLEVBQUUsTUFBTXFDLEdBQUcsRUFBRSxFQUFFN0IsR0FBRTFCLEVBQUVrQixFQUFFLElBQUksQ0FBRyxFQUFBTyxFQUFDLEVBQUUsV0FBVyxHQUFHOUgsQ0FBQyxDQUFLLElBQUE0TCxHQUFHLElBQUlaLEdBQUdhLEdBQUdULEtBQUtVLEdBQUc1QyxHQUFFLGNBQWMsQ0FBQyxrQkFBa0IsT0FBTyxXQUFXMEMsR0FBRyxPQUFPQyxFQUFHLENBQUEsRUFBS0MsR0FBRyxTQUFZNUMsR0FBRSxjQUFjLE1BQU0sRUFBRSxTQUFTNkMsSUFBSSxDQUFDLE9BQU8zRixFQUFBQSxXQUFFMEYsRUFBRSxDQUFDLENBQSt0QixJQUFJRSxHQUFHLFVBQVUsQ0FBVTNGLFNBQUFBLEVBQUVBLEVBQUVrQixFQUFFLENBQUMsSUFBSXhILEVBQUUsS0FBVSxLQUFBLE9BQU8sU0FBU3NHLEVBQUVrQixFQUFFLENBQVVBLElBQVQsU0FBYUEsRUFBRXNFLElBQVEzQyxJQUFBQSxFQUFFbkosRUFBRSxLQUFLd0gsRUFBRSxLQUFLbEIsRUFBRSxhQUFhdEcsRUFBRSxHQUFHbUosQ0FBQyxHQUFHN0MsRUFBRSxZQUFZdEcsRUFBRSxHQUFHbUosRUFBRTNCLEVBQUV4SCxFQUFFLE1BQU1tSixFQUFFLFlBQVksQ0FBQyxDQUFBLEVBQUcsS0FBSyxLQUFLN0MsRUFBRSxLQUFLLEdBQUcsZ0JBQWdCLE9BQU9BLENBQUMsRUFBRSxLQUFLLE1BQU1rQixFQUFFb0MsR0FBRyxLQUFLLFVBQVUsQ0FBQyxNQUFNQyxHQUFHLEdBQUcsT0FBTzdKLEVBQUUsSUFBSSxDQUFDLENBQUEsQ0FBRSxDQUFDLENBQUMsT0FBT3NHLEVBQUUsVUFBVSxRQUFRLFNBQVNBLEVBQUUsQ0FBQyxPQUFnQkEsSUFBVCxTQUFhQSxFQUFFd0YsSUFBSSxLQUFLLEtBQUt4RixFQUFFLElBQU1BLEVBQUFBLENBQUMsSUFBSTRGLEdBQUcsU0FBUzVGLEVBQUUsQ0FBUUEsT0FBQUEsR0FBRyxLQUFLQSxHQUFHLEdBQUcsRUFBRSxTQUFTNkYsR0FBRzdGLEVBQUUsQ0FBQyxRQUFRa0IsRUFBRSxHQUFHeEgsRUFBRSxFQUFFQSxFQUFFc0csRUFBRSxPQUFPdEcsSUFBSSxDQUFLbUosSUFBQUEsRUFBRTdDLEVBQUV0RyxDQUFDLEVBQUssR0FBSUEsSUFBSixHQUFhbUosSUFBTixLQUFlN0MsRUFBRSxDQUFDLElBQVQsSUFBa0JBLE9BQUFBLEVBQUU0RixHQUFHL0MsQ0FBQyxFQUFFM0IsR0FBRyxJQUFJMkIsRUFBRSxZQUFBLEVBQWMzQixHQUFHMkIsQ0FBQyxDQUFDLE9BQU8zQixFQUFFLFdBQVcsS0FBSyxFQUFFLElBQUlBLEVBQUVBLENBQUMsQ0FBQyxJQUFJNEUsR0FBRyxTQUFTOUYsRUFBRSxDQUFDLE9BQWFBLEdBQU4sTUFBY0EsSUFBTCxJQUFhQSxJQUFMLEVBQU0sRUFBRStGLEdBQUcsU0FBUzdFLEVBQUUsQ0FBS3hILElBQUFBLEVBQUVtSixFQUFFQyxFQUFFLEdBQUcsUUFBUXRKLEtBQUswSCxFQUFFLENBQUt6SCxJQUFBQSxFQUFFeUgsRUFBRTFILENBQUMsRUFBRTBILEVBQUUsZUFBZTFILENBQUMsR0FBRyxDQUFDc00sR0FBR3JNLENBQUMsSUFBSSxNQUFNLFFBQVFBLENBQUMsR0FBR0EsRUFBRSxPQUFPdUosR0FBR3ZKLENBQUMsRUFBRXFKLEVBQUUsS0FBSyxHQUFHLE9BQU8rQyxHQUFHck0sQ0FBQyxFQUFFLEdBQUcsRUFBRUMsRUFBRSxHQUFHLEVBQUUySixHQUFHM0osQ0FBQyxFQUFFcUosRUFBRSxLQUFLLE1BQU1BLEVBQUU5QyxHQUFFQSxHQUFFLENBQUMsR0FBRyxPQUFPeEcsRUFBRSxJQUFJLENBQUMsRUFBRXVNLEdBQUd0TSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFcUosRUFBRSxLQUFLLEdBQUcsT0FBTytDLEdBQUdyTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVFFLEVBQUVGLEdBQVNxSixFQUFFcEosSUFBVCxNQUF3QixPQUFPb0osR0FBbEIsV0FBMEJBLElBQUwsR0FBTyxHQUFhLE9BQU9BLEdBQWpCLFVBQXdCQSxJQUFKLEdBQU9uSixLQUFLc00sSUFBR3RNLEVBQUUsV0FBVyxJQUFJLEVBQUUsT0FBT21KLENBQUMsRUFBRSxLQUFPLEVBQUEsR0FBRyxPQUFPQSxFQUFFLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFRQyxPQUFBQSxDQUFDLEVBQUUsU0FBU21ELEdBQUdqRyxFQUFFa0IsRUFBRXhILEVBQUVtSixFQUFFLENBQUMsR0FBR2lELEdBQUc5RixDQUFDLEVBQUUsTUFBTSxHQUFNLEdBQUFpRCxHQUFHakQsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLE9BQU9BLEVBQUUsaUJBQWlCLENBQUMsRUFBSyxHQUFBZ0QsR0FBR2hELENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQ2dELEdBQUd4SixFQUFFd0csQ0FBQyxHQUFHeEcsRUFBRSxXQUFXQSxFQUFFLFVBQVUsa0JBQWtCLENBQUMwSCxFQUFFLE1BQU0sQ0FBQ2xCLENBQUMsRUFBTThDLElBQUFBLEVBQUU5QyxFQUFFa0IsQ0FBQyxFQUFFLE9BQXFVK0UsR0FBR25ELEVBQUU1QixFQUFFeEgsRUFBRW1KLENBQUMsQ0FBQyxDQUFLckosSUFBQUEsRUFBRSxPQUFPd0csYUFBYTJGLEdBQUdqTSxHQUFHc0csRUFBRSxPQUFPdEcsRUFBRW1KLENBQUMsRUFBRSxDQUFDN0MsRUFBRSxRQUFRNkMsQ0FBQyxDQUFDLEdBQUcsQ0FBQzdDLENBQUMsRUFBRW9ELEdBQUdwRCxDQUFDLEVBQUUrRixHQUFHL0YsQ0FBQyxFQUFFLE1BQU0sUUFBUUEsQ0FBQyxFQUFFLE1BQU0sVUFBVSxPQUFPLE1BQU1ILEdBQUVHLEVBQUUsSUFBSSxTQUFTQSxFQUFFLENBQUMsT0FBT2lHLEdBQUdqRyxFQUFFa0IsRUFBRXhILEVBQUVtSixDQUFDLENBQUUsQ0FBQSxDQUFDLEVBQUUsQ0FBQzdDLEVBQUUsU0FBVSxDQUFBLENBQUMsQ0FBQyxTQUFTa0csR0FBR2xHLEVBQUUsQ0FBQyxRQUFRa0IsRUFBRSxFQUFFQSxFQUFFbEIsRUFBRSxPQUFPa0IsR0FBRyxFQUFFLENBQUt4SCxJQUFBQSxFQUFFc0csRUFBRWtCLENBQUMsRUFBRSxHQUFHOEIsR0FBR3RKLENBQUMsR0FBRyxDQUFDdUosR0FBR3ZKLENBQUMsRUFBUSxNQUFBLEVBQUUsQ0FBTyxNQUFBLEVBQUUsQ0FBQyxJQUFJeU0sR0FBR3pHLEdBQUVrQixFQUFDLEVBQUV3RixHQUFHLFVBQVUsQ0FBVXBHLFNBQUFBLEVBQUVBLEVBQUVrQixFQUFFeEgsRUFBRSxDQUFDLEtBQUssTUFBTXNHLEVBQUUsS0FBSyxjQUFjLEdBQUcsS0FBSyxVQUF3RHRHLElBQVQsUUFBWUEsRUFBRSxXQUFXd00sR0FBR2xHLENBQUMsRUFBRSxLQUFLLFlBQVlrQixFQUFFLEtBQUssU0FBU1EsR0FBRXlFLEdBQUdqRixDQUFDLEVBQUUsS0FBSyxVQUFVeEgsRUFBRWlMLEdBQUcsV0FBV3pELENBQUMsQ0FBQyxDQUFDLE9BQU9sQixFQUFFLFVBQVUsd0JBQXdCLFNBQVNBLEVBQUVrQixFQUFFeEgsRUFBRSxDQUFLbUosSUFBQUEsRUFBRSxLQUFLLFVBQVUsS0FBSyxVQUFVLHdCQUF3QjdDLEVBQUVrQixFQUFFeEgsQ0FBQyxFQUFFLEdBQU0sR0FBQSxLQUFLLFVBQVUsQ0FBQ0EsRUFBRSxLQUFRLEdBQUEsS0FBSyxlQUFld0gsRUFBRSxhQUFhLEtBQUssWUFBWSxLQUFLLGFBQWEsRUFBRTJCLEVBQUVLLEdBQUdMLEVBQUUsS0FBSyxhQUFhLE1BQU0sQ0FBQyxJQUFJQyxFQUFFSyxHQUFHOEMsR0FBRyxLQUFLLE1BQU1qRyxFQUFFa0IsRUFBRXhILENBQUMsQ0FBQyxFQUFFRixFQUFFZ0csR0FBRWtDLEdBQUUsS0FBSyxTQUFTb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUM1QixFQUFFLGFBQWEsS0FBSyxZQUFZMUgsQ0FBQyxFQUFFLENBQUtDLElBQUFBLEVBQUVDLEVBQUVvSixFQUFFLElBQUksT0FBT3RKLENBQUMsRUFBRSxPQUFPLEtBQUssV0FBVyxFQUFFMEgsRUFBRSxZQUFZLEtBQUssWUFBWTFILEVBQUVDLENBQUMsQ0FBQyxDQUFDb0osRUFBRUssR0FBR0wsRUFBRXJKLENBQUMsRUFBRSxLQUFLLGNBQWNBLENBQUMsS0FBSyxDQUFDLFFBQVF1SixFQUFFckIsR0FBRSxLQUFLLFNBQVNoSSxFQUFFLElBQUksRUFBRXFHLEVBQUUsR0FBRy9GLEVBQUUsRUFBRUEsRUFBRSxLQUFLLE1BQU0sT0FBT0EsSUFBSSxDQUFLa0ssSUFBQUEsRUFBRSxLQUFLLE1BQU1sSyxDQUFDLEVBQUUsR0FBYSxPQUFPa0ssR0FBakIsU0FBbUJuRSxHQUFHbUUsVUFBMERBLEVBQUUsQ0FBQyxJQUFJdkssRUFBRXdKLEdBQUc4QyxHQUFHL0IsRUFBRWxFLEVBQUVrQixFQUFFeEgsQ0FBQyxDQUFDLEVBQUVxSixFQUFFckIsR0FBRXFCLEVBQUVwSixFQUFFSyxDQUFDLEVBQUUrRixHQUFHcEcsQ0FBQyxDQUFDLENBQUMsR0FBR29HLEVBQUUsQ0FBS3NHLElBQUFBLEVBQUU3RyxHQUFFdUQsSUFBSSxDQUFDLEVBQUU3QixFQUFFLGFBQWEsS0FBSyxZQUFZbUYsQ0FBQyxHQUFHbkYsRUFBRSxZQUFZLEtBQUssWUFBWW1GLEVBQUUzTSxFQUFFcUcsRUFBRSxJQUFJLE9BQU9zRyxDQUFDLEVBQUUsT0FBTyxLQUFLLFdBQVcsQ0FBQyxFQUFFeEQsRUFBRUssR0FBR0wsRUFBRXdELENBQUMsQ0FBQyxDQUFDLENBQVF4RCxPQUFBQSxDQUFHN0MsRUFBQUEsQ0FBQyxJQUFJc0csR0FBR3pELEdBQUUsY0FBYyxNQUFNLEVBQUt5RCxHQUFHLFNBQThjLElBQUlDLEdBQUcsQ0FBQSxFQUFjLFNBQVNDLEdBQUd4RyxFQUFFOEMsRUFBRXRKLEVBQUUsQ0FBS0MsSUFBQUEsRUFBRXdKLEdBQUdqRCxDQUFDLEVBQUUrQyxFQUFFL0MsRUFBRUQsRUFBRSxDQUFDOEIsR0FBRTdCLENBQUMsRUFBRXJHLEVBQUVtSixFQUFFLE1BQU11RCxFQUFXMU0sSUFBVCxPQUFXa0csR0FBRWxHLEVBQUVxTSxFQUFFbEQsRUFBRSxZQUFZN0MsRUFBVytGLElBQVQsT0FBVyxTQUFTaEcsRUFBRWtCLEVBQUUsQ0FBQyxJQUFJeEgsRUFBWSxPQUFPc0csR0FBakIsU0FBbUIsS0FBS3NCLEdBQUV0QixDQUFDLEVBQUV1RyxHQUFHN00sQ0FBQyxHQUFHNk0sR0FBRzdNLENBQUMsR0FBRyxHQUFHLEVBQUUsSUFBSW1KLEVBQUUsR0FBRyxPQUFPbkosRUFBRSxHQUFHLEVBQUUsT0FBT2lJLEdBQUVmLEdBQUVsSCxFQUFFNk0sR0FBRzdNLENBQUMsQ0FBQyxDQUFDLEVBQVN3SCxPQUFBQSxFQUFFLEdBQUcsT0FBT0EsRUFBRSxHQUFHLEVBQUUsT0FBTzJCLENBQUMsRUFBRUEsQ0FBR0MsRUFBQUEsRUFBRSxZQUFZQSxFQUFFLGlCQUFpQixFQUFFa0QsRUFBRXJGLEVBQUVtQyxFQUFFLFlBQVlyRCxFQUFXa0IsSUFBVCxPQUFXLFNBQVNYLEVBQUUsQ0FBQyxPQUFPNkIsR0FBRTdCLENBQUMsRUFBRSxVQUFVLE9BQU9BLENBQUMsRUFBRSxVQUFVLE9BQU80QixHQUFFNUIsQ0FBQyxFQUFFLEdBQUcsQ0FBQSxFQUFHQSxDQUFDLEVBQUVXLEVBQUVFLEVBQUVpQyxFQUFFLGFBQWFBLEVBQUUsWUFBWSxHQUFHLE9BQU94QixHQUFFd0IsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE9BQU9BLEVBQUUsV0FBVyxFQUFFQSxFQUFFLGFBQWE3QyxFQUFFYSxFQUFFckgsR0FBR3NKLEVBQUUsTUFBTUEsRUFBRSxNQUFNLE9BQU9zRCxDQUFDLEVBQUUsT0FBTyxPQUFPLEVBQUVBLEVBQUV0RixFQUFFK0IsRUFBRSxrQkFBcUJySixHQUFBQSxHQUFHc0osRUFBRSxrQkFBa0IsQ0FBQyxJQUFJakQsRUFBRWlELEVBQUUsa0JBQWtCLEdBQUdELEVBQUUsa0JBQWtCLENBQUMsSUFBSTJELEVBQUUzRCxFQUFFLGtCQUFrQi9CLEVBQUUsU0FBU2YsRUFBRWtCLEVBQUUsQ0FBQyxPQUFPcEIsRUFBRUUsRUFBRWtCLENBQUMsR0FBR3VGLEVBQUV6RyxFQUFFa0IsQ0FBQyxDQUFBLENBQUMsTUFBT0gsRUFBRWpCLENBQUMsQ0FBSzRHLElBQUFBLEVBQUUsSUFBSU4sR0FBRzVNLEVBQUVxSCxFQUFFcEgsRUFBRXNKLEVBQUUsZUFBZSxNQUFNLEVBQVczQixTQUFBQSxFQUFFcEIsRUFBRThDLEVBQUUsQ0FBUSxPQUFBLFNBQVM5QyxFQUFFOEMsRUFBRXRKLEVBQUUsQ0FBQyxJQUFJQyxFQUFFdUcsRUFBRSxNQUFNK0MsRUFBRS9DLEVBQUUsZUFBZUQsRUFBRUMsRUFBRSxhQUFhckcsRUFBRXFHLEVBQUUsbUJBQW1CcUcsRUFBRXJHLEVBQUUsa0JBQWtCZ0csRUFBRWhHLEVBQUUsT0FBT0MsRUFBRTRDLEdBQUUsV0FBV3lELEVBQUUsRUFBRTNGLEdBQUUrRSxHQUFHLEVBQUVqRyxFQUFFTyxFQUFFLG1CQUFtQlcsR0FBRSxrQkFBZ0VDLEdBQUVLLEdBQUU2QixFQUFFN0MsRUFBRUYsQ0FBQyxHQUFHaUIsR0FBRUgsRUFBRSxTQUFTYixHQUFFdEcsR0FBRW1KLEdBQUUsQ0FBU0MsUUFBQUEsR0FBRXRKLEVBQUUwSCxFQUFFQSxFQUFFLENBQUEsRUFBR3hILEVBQUMsRUFBRSxDQUFDLFVBQVUsT0FBTyxNQUFNbUosRUFBQUEsQ0FBRSxFQUFFcEosR0FBRSxFQUFFQSxHQUFFdUcsR0FBRSxPQUFPdkcsSUFBRyxFQUFFLENBQUtzSixJQUFBQSxHQUFFQyxHQUFHRixHQUFFOUMsR0FBRXZHLEVBQUMsQ0FBQyxFQUFFcUosR0FBRXRKLENBQUMsRUFBRXNKLEdBQUUsUUFBUS9DLEtBQUtnRCxHQUFFdkosRUFBRXVHLENBQUMsRUFBZ0JBLElBQWQsWUFBZ0JtRCxHQUFHMUosRUFBRXVHLENBQUMsRUFBRWdELEdBQUVoRCxDQUFDLENBQUMsRUFBWUEsSUFBVixRQUFZbUIsRUFBRUEsRUFBRSxDQUFBLEVBQUcxSCxFQUFFdUcsQ0FBQyxDQUFDLEVBQUVnRCxHQUFFaEQsQ0FBQyxDQUFDLEVBQUVnRCxHQUFFaEQsQ0FBQyxDQUFDLENBQVFyRyxPQUFBQSxHQUFFLFlBQVlGLEVBQUUsVUFBVTBKLEdBQUcxSixFQUFFLFVBQVVFLEdBQUUsU0FBUyxHQUFHRixDQUFBLEVBQUdDLEVBQUVxSixFQUFFbEMsRUFBQyxFQUFFRSxFQUFFRCxFQUFFLElBQUltRixFQUFFakYsRUFBRSxHQUFHLFFBQVFqQixLQUFLZSxFQUFXQSxFQUFFZixDQUFDLElBQUhlLFFBQVlmLEVBQUUsQ0FBQyxJQUFULEtBQW1CQSxJQUFQLE1BQW9CQSxJQUFWLFNBQWFlLEVBQUUsUUFBUUQsS0FBb0JkLElBQWhCLGNBQWtCaUIsRUFBRSxHQUFHRixFQUFFLFlBQVlwQixHQUFHLENBQUNBLEVBQUVLLEVBQUVnQixDQUFDLElBQUlDLEVBQUVqQixDQUFDLEVBQUVlLEVBQUVmLENBQUMsSUFBNmYyRyxJQUFBQSxHQUFFLFNBQVN6RyxHQUFFa0IsR0FBRSxDQUFLeEgsSUFBQUEsR0FBRWdNLEtBQUs3QyxHQUFFN0MsR0FBRSx3QkFBd0JrQixHQUFFeEgsR0FBRSxXQUFXQSxHQUFFLE1BQU0sRUFBRSxPQUFnRG1KLEVBQUEsRUFBR0UsRUFBRWxDLENBQUMsRUFBeUY2RixHQUFFeEQsR0FBR3ZKLEVBQUUwTSxDQUFDLEVBQUUsT0FBT0ksS0FBSUMsSUFBRyxJQUFJRCxJQUFHNUYsRUFBRSxZQUFZNkYsSUFBRyxJQUFJN0YsRUFBRSxXQUFXRSxFQUFFYyxHQUFFZixDQUFDLEdBQUcsQ0FBQ0ssR0FBRSxJQUFJTCxDQUFDLEVBQUUsUUFBUSxXQUFXLEVBQUU0RixHQUFFM0YsRUFBRSxJQUFJdkgsRUFBRTBLLEVBQUVwRCxjQUFBQSxFQUFFQyxDQUFDLENBQUEsRUFBR00sRUFBRXJCLEVBQUU4QyxDQUFDLENBQUMsQ0FBQzFCLEVBQUUsWUFBWTNCLEVBQU00QixJQUFBQSxFQUFFd0IsR0FBRSxXQUFXekIsQ0FBQyxFQUFFLE9BQU9DLEVBQUUsTUFBTVAsRUFBRU8sRUFBRSxlQUFlcUYsRUFBRXJGLEVBQUUsWUFBWTVCLEVBQUU0QixFQUFFLGtCQUFrQk4sRUFBRU0sRUFBRSxtQkFBbUI1SCxFQUFFeUosR0FBR0gsRUFBRSxtQkFBbUJBLEVBQUUsaUJBQWlCLEVBQUUsR0FBRzFCLEVBQUUsa0JBQWtCUixFQUFFUSxFQUFFLE9BQU81SCxFQUFFc0osRUFBRSxPQUFPL0MsRUFBRSxPQUFPLGVBQWVxQixFQUFFLGVBQWUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssbUJBQUEsRUFBcUIsSUFBSSxTQUFTckIsRUFBRSxDQUFNLEtBQUEsb0JBQW9CdkcsRUFBRSxTQUFTdUcsRUFBRSxDQUFDLFFBQVFrQixFQUFFLENBQUd4SCxFQUFBQSxFQUFFLEVBQUVBLEVBQUUsVUFBVSxPQUFPQSxJQUFJd0gsRUFBRXhILEVBQUUsQ0FBQyxFQUFFLFVBQVVBLENBQUMsRUFBRSxRQUFRbUosRUFBRSxFQUFFQyxFQUFFNUIsRUFBRTJCLEVBQUVDLEVBQUUsT0FBT0QsSUFBTzdDLEdBQUFBLEVBQUU4QyxFQUFFRCxDQUFDLEVBQUUsRUFBRSxFQUFTN0MsT0FBQUEsR0FBRyxDQUFDLEVBQUUrQyxFQUFFLGFBQWEvQyxDQUFDLEVBQUVBLENBQUEsRUFBRyxFQUFta0JzRCxHQUFHakMsRUFBRSxVQUFVLENBQU8sTUFBQSxJQUFJLE9BQU9BLEVBQUUsaUJBQWlCLENBQUEsQ0FBRSxFQUFFdEIsR0FBRzZDLEdBQUd2QixFQUFFckIsRUFBRSxDQUFDLE1BQU0sR0FBRyxlQUFlLEdBQUcsWUFBWSxHQUFHLG1CQUFtQixHQUFHLGtCQUFrQixHQUFHLGtCQUFrQixHQUFHLE9BQU8sR0FBRyxFQUFFcUIsQ0FBQyxDQUFDLFNBQVNzRixHQUFHM0csRUFBRWtCLEVBQUUsQ0FBU3hILFFBQUFBLEVBQUUsQ0FBQ3NHLEVBQUUsQ0FBQyxDQUFDLEVBQUU2QyxFQUFFLEVBQUVDLEVBQUU1QixFQUFFLE9BQU8yQixFQUFFQyxFQUFFRCxHQUFHLEVBQUVuSixFQUFFLEtBQUt3SCxFQUFFMkIsQ0FBQyxFQUFFN0MsRUFBRTZDLEVBQUUsQ0FBQyxDQUFDLEVBQVNuSixPQUFBQSxDQUFDLENBQUMsSUFBSWtOLEdBQUcsU0FBUzVHLEVBQUUsQ0FBQyxPQUFPLE9BQU8sT0FBT0EsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsU0FBUzZHLEdBQUczRixFQUFFLENBQUMsUUFBUXhILEVBQUUsQ0FBR21KLEVBQUFBLEVBQUUsRUFBRUEsRUFBRSxVQUFVLE9BQU9BLElBQUluSixFQUFFbUosRUFBRSxDQUFDLEVBQUUsVUFBVUEsQ0FBQyxFQUFFLEdBQUdHLEdBQUc5QixDQUFDLEdBQUdrQyxHQUFHbEMsQ0FBQyxTQUFTMEYsR0FBR1gsR0FBR1UsR0FBRzlHLEdBQUVHLEdBQUUsQ0FBQ2tCLENBQUMsRUFBRXhILEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlvSixFQUFFNUIsRUFBUyxPQUFJeEgsRUFBRSxTQUFOLEdBQWtCb0osRUFBRSxTQUFOLEdBQXdCLE9BQU9BLEVBQUUsQ0FBQyxHQUFwQixTQUFzQm1ELEdBQUduRCxDQUFDLEVBQUU4RCxHQUFHWCxHQUFHVSxHQUFHN0QsRUFBRXBKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTb04sR0FBR3BOLEVBQUVtSixFQUFFQyxFQUFFLENBQUksR0FBU0EsSUFBVCxTQUFhQSxFQUFFOUIsSUFBRyxDQUFDNkIsRUFBRSxNQUFNVSxHQUFHLEVBQUVWLENBQUMsRUFBTXJKLElBQUFBLEVBQUUsU0FBUzBILEVBQUUsQ0FBQyxRQUFRMUgsRUFBRSxDQUFHQyxFQUFBQSxFQUFFLEVBQUVBLEVBQUUsVUFBVSxPQUFPQSxJQUFJRCxFQUFFQyxFQUFFLENBQUMsRUFBRSxVQUFVQSxDQUFDLEVBQUUsT0FBT0MsRUFBRW1KLEVBQUVDLEVBQUUrRCxHQUFHLE1BQU0sT0FBTzdHLEdBQUUsQ0FBQ2tCLENBQUMsRUFBRTFILEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQSxFQUFVQSxPQUFBQSxFQUFFLE1BQU0sU0FBU3dHLEVBQUUsQ0FBUSxPQUFBOEcsR0FBR3BOLEVBQUVtSixFQUFFM0IsRUFBRUEsRUFBRSxDQUFDLEVBQUU0QixDQUFDLEVBQUUsQ0FBQyxNQUFNLE1BQU0sVUFBVSxPQUFPQSxFQUFFLE1BQU05QyxDQUFDLEVBQUUsT0FBTyxPQUFPLENBQUUsQ0FBQSxDQUFDLENBQUEsRUFBR3hHLEVBQUUsV0FBVyxTQUFTd0csRUFBRSxDQUFRLE9BQUE4RyxHQUFHcE4sRUFBRW1KLEVBQUUzQixFQUFFQSxFQUFFLENBQUEsRUFBRzRCLENBQUMsRUFBRTlDLENBQUMsQ0FBQyxDQUFHeEcsRUFBQUEsQ0FBQyxDQUFDLElBQUl1TixHQUFHLFNBQVMvRyxFQUFFLENBQVEsT0FBQThHLEdBQUdOLEdBQUd4RyxDQUFDLENBQUMsRUFBRWdILEdBQUdELEdBQUc1RixHQUFFLFFBQVEsU0FBU25CLEVBQUUsQ0FBSUEsR0FBQUEsQ0FBQyxFQUFFK0csR0FBRy9HLENBQUMsQ0FBQyxDQUFDLEVDdUJuandCLFNBQVNpSCxHQUNQQyxFQUNBQyxFQUNHLENBQ0MsSUFBQUMsRUFDSixPQUFPLFlBQWFDLEVBQXFCLENBQ25DRCxHQUNGLGFBQWFBLENBQU8sRUFFdEJBLEVBQVUsV0FBVyxJQUFNRixFQUFLLEdBQUdHLENBQUksRUFBR0YsQ0FBSSxDQUFBLENBRWxELENBRUEsTUFBTUcsR0FBZ0JDLEdBQU87QUFBQTtBQUFBO0FBQUEsa0NBR00zSyxHQUFVQSxFQUFNLFFBQVE7QUFBQSxFQUdyRDRLLEdBQVdELEdBQU87QUFBQTtBQUFBO0FBQUEsbUJBR0ozSyxHQUFVQSxFQUFNLE9BQU87QUFBQSxzQkFDcEJBLEdBQVUsS0FBSyxJQUFJQSxFQUFNLFFBQVNBLEVBQU0sUUFBUSxDQUFDO0FBQUEsa0JBQ3JEQSxHQUNkQSxFQUFNLFFBQVVBLEVBQU0sZ0JBQW1CQSxFQUFNLE9BQU87QUFBQSxFQUdyRDZLLEdBQXlCRixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU96QkcsR0FBTyxDQUFDLENBQUUsYUFBQUMsRUFBYyxnQkFBQUMsRUFBaUIsT0FBQUMsS0FBd0IsQ0FDdEUsTUFBQUMsRUFBZUMsU0FBOEIsSUFBSSxFQUNqRCxDQUFDQyxFQUFhQyxDQUFjLEVBQUlDLFdBQVMsQ0FBQyxFQUcxQyxDQUFDQyxFQUFVQyxDQUFJLEVBQUlQLEVBQVMsT0FBTyxRQUFRQSxDQUFNLEVBQUUsQ0FBQyxFQUFJLENBQUMsRUFBRyxDQUFFLENBQUEsRUFFOUQsQ0FBQ1EsRUFBTUMsQ0FBTyxFQUFJSixFQUFTLFNBQUEsT0FBT0MsQ0FBUSxDQUFDLEVBRzNDLENBQUNJLEVBQVdDLENBQVksRUFBSU4sRUFBQSxTQUtoQyxDQUFFLENBQUEsRUFFSk8sRUFBQUEsVUFBVSxJQUFNLENBQ2QsTUFBTUYsRUFBWSxDQUFBLEVBSWJILEVBQUEsUUFBUSxDQUFDTSxFQUFlQyxJQUFxQixDQUM1Q0QsRUFBQSxRQUFRLENBQUNFLEVBQWNDLElBQXFCLENBQzlDLEdBQUlELEdBQVEsQ0FBQ0wsRUFBVUssQ0FBSSxFQUFHLENBQzVCLE1BQU1FLEVBQVVKLEVBQUksT0FBUUssR0FBT0EsSUFBT0gsQ0FBSSxFQUFFLE9BQzFDSSxFQUFVWixFQUFLLE9BQVF0RixHQUFNQSxFQUFFK0YsQ0FBUSxJQUFNRCxDQUFJLEVBQUUsT0FDekRMLEVBQVVLLENBQUksRUFBSSxDQUNoQixTQUFVRCxFQUFXLEVBQ3JCLFNBQVVFLEVBQVcsRUFDckIsUUFBQUcsRUFDQSxRQUFBRixDQUFBLENBRUosQ0FBQSxDQUNELENBQUEsQ0FDRixFQUNETixFQUFhRCxDQUFTLENBQUEsRUFDckIsQ0FBQ0gsQ0FBSSxDQUFDLEVBRVQsTUFBTWEsRUFBZUMsRUFBQSxZQUNsQkMsR0FBbUMsZUFDbEMsUUFBU0MsS0FBU0QsRUFFaEIsR0FEQSxRQUFRLElBQUlDLENBQUssRUFDYkEsRUFBTSxlQUFnQixDQUNsQixLQUFBLENBQUUsV0FBWUMsR0FDbEJELEVBQU0sZUFBZSxDQUFDLEdBQUtBLEVBQU0sZUFDM0IsUUFBQSxJQUFJLGlCQUFrQkMsQ0FBSyxFQUVuQyxNQUFNQyxJQUNKQyxFQUFBSCxFQUFNLGVBQWUsQ0FBQyxJQUF0QixZQUFBRyxFQUF5QixZQUFhSCxFQUFNLFlBQVksT0FDbEQsUUFBQSxJQUFJLGtCQUFtQkUsQ0FBTSxFQUdyQyxNQUFNRSxFQUFXSCxFQUVYSSxFQUFZSCxFQUVaSSxJQUFlQyxFQUFBN0IsRUFBYSxVQUFiLFlBQUE2QixFQUFzQixlQUFnQixFQUNyREMsSUFBZUMsRUFBQS9CLEVBQWEsVUFBYixZQUFBK0IsRUFBc0IsZUFBZ0IsRUFDbkQsUUFBQSxJQUFJLGVBQWdCRCxDQUFZLEVBQ3hDLFFBQVEsSUFBSSxzQkFBc0J6RixHQUFBMkYsRUFBQWhDLEVBQWEsVUFBYixZQUFBZ0MsRUFBc0IsZ0JBQXRCLFlBQUEzRixFQUFxQyxZQUFZLEVBQzNFLFFBQUEsSUFBSSxlQUFnQnVGLENBQVksRUFTdEMsTUFBTUssRUFBVyxLQUFLLE1BQU1QLEVBQVc3QixDQUFZLEVBQzdDcUMsRUFBWVIsRUFBV08sRUFDckIsUUFBQSxJQUFJLFlBQWFDLENBQVMsRUFFbEMsTUFBTUMsRUFBYUQsRUFBWXBDLEVBQ3ZCLFFBQUEsSUFBSSxhQUFjcUMsQ0FBVSxFQUVwQyxNQUFNQyxFQUFXLEtBQUssTUFBTVQsRUFBWVEsQ0FBVSxFQUMxQyxRQUFBLElBQUksV0FBWUMsQ0FBUSxFQUVoQyxNQUFNQyxHQUFvQlYsRUFBWVMsRUFDOUIsUUFBQSxJQUFJLG9CQUFxQkMsRUFBaUIsRUFFbEQsTUFBTW5DLEVBQWNpQyxFQUFhRSxHQUVqQ2xDLEVBQWVELENBQVcsRUFFbEIsUUFBQSxJQUFJLFdBQVkrQixDQUFRLEVBQ2hDekIsRUFBUXlCLENBQVEsQ0FLcEIsQ0FFSixFQUNBLENBQUNwQyxFQUFjQyxDQUFlLENBQUEsRUFHMUJ3QyxFQUF1QmxCLEVBQUEsWUFBWWpDLEdBQVNnQyxFQUFjLEdBQUcsRUFBRyxDQUNwRUEsQ0FBQSxDQUNELEVBR0tvQixFQUFZLENBQUEsRUFHbEI1QixPQUFBQSxFQUFBQSxVQUFVLElBQU0sQ0FDUixNQUFBNkIsRUFBaUIsSUFBSSxlQUFlRixDQUFvQixFQUU5RCxPQUFJdEMsRUFBYSxTQUNBd0MsRUFBQSxRQUFReEMsRUFBYSxPQUFPLEVBR3RDLElBQU0sQ0FDUEEsRUFBYSxTQUNBd0MsRUFBQSxVQUFVeEMsRUFBYSxPQUFPLENBQy9DLENBQ0YsRUFFQyxDQUFDc0MsQ0FBb0IsQ0FBQyxFQUVsQixPQUFBLFFBQVE3QixDQUFTLEVBQUUsUUFDeEIsQ0FBQyxDQUFDSyxFQUFNLENBQUUsU0FBQTJCLEVBQVUsU0FBQUMsRUFBVSxRQUFBeEIsRUFBUyxRQUFBRixDQUFRLENBQUMsSUFBTSxDQUNwRCxNQUFNMkIsRUFBTSxHQUFHN0IsQ0FBSSxJQUFJMkIsQ0FBUSxJQUFJQyxDQUFRLEdBQ2pDSCxFQUFBLEtBQ1JLLEVBQUEsSUFBQ2xELEdBQUEsQ0FFQyxRQUFBc0IsRUFDQSxRQUFBRSxFQUNBLFNBQVVYLEVBQ1YsYUFBQVYsRUFDQSxnQkFBaUJDLEVBQWtCSSxFQUVuQyxTQUFBMEMsRUFBQSxJQUFDLE1BQUEsQ0FDQyxNQUFPLENBQ0wsUUFBUyxPQUNULE9BQVEsT0FDUixjQUFlLFNBQ2YsTUFBTyxNQUNULEVBRUEsZUFBQ2pELEdBQ0MsQ0FBQSxTQUFBaUQsRUFBQSxJQUFDLE9BQUEsQ0FDQyxNQUFPLENBQ0wsU0FBVSxXQUNWLFNBQVUsT0FDVixPQUFRLE1BQ1YsRUFFQyxTQUFBOUIsQ0FBQSxDQUFBLEVBRUwsQ0FBQSxDQUNGLENBQUEsRUExQks2QixDQTJCUCxDQUFBLENBRUosQ0FBQSxFQUlBQyxFQUFBLElBQUNwRCxHQUFBLENBQ0MsYUFBQUssRUFDQSxTQUFVVSxFQUNWLElBQUtQLEVBRUosU0FBQXVDLENBQUEsQ0FBQSxDQUdQLEVDbE9BLElBQUlNLEdBQWlCLE9BQU9DLEdBQVksT0FBT0MsR0FBVSxPQUFPQyxHQUFnQjtBQUFBO0FBQUEsZ0JBQWlDSCxHQUFpQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUE2cEIsU0FBU0ksR0FBWSxFQUFFLEVBQUUsQ0FBQyxPQUFtQixPQUFPLElBQXBCLElBQXdCLElBQUksU0FBUyxFQUFFLENBQUMsRUFBZSxPQUFPLFNBQXBCLEtBQThCQyxHQUFZLENBQUMsSUFBSSxTQUFTLEtBQUssS0FBSyxDQUFDLFNBQVNBLEdBQVksRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sR0FBRyxFQUFFLE9BQU8sU0FBU2hMLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQ0EsQ0FBQyxDQUFDLEVBQUUsSUFBSSxTQUFTQSxFQUFFLENBQUMsT0FBT0EsRUFBRSxDQUFDLEVBQUUsWUFBYSxFQUFDQSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsWUFBVyxFQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJaUwsR0FBWSwyRUFBMkVDLEdBQU1ILEdBQVksY0FBYyxNQUFNLEVBQUVKLEdBQWlCLE9BQU9RLEdBQWtCLE9BQU9DLEdBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsYUFBaVdGLEdBQU07QUFBQTtBQUFBO0FBQUEsbUJBQTJERCxHQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHlCQUF1TUUsR0FBa0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQUEwRUYsR0FBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxpQkFBZ0dKLEdBQVU7QUFBQSxtQkFBdUJELEdBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEseUJBQWdRTyxHQUFrQjtBQUFBLFlBQWlCQSxHQUFrQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsY0FBa0lQLEdBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQUFzSkEsR0FBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsYUFBNkdPLEdBQWtCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG9CQUFrTkEsR0FBa0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGFBQWlKQSxHQUFrQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFBc0UsU0FBU0UsR0FBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUl0SSxFQUFFLEdBQUcsa0JBQWtCdkosRUFBRSxHQUFHLFNBQVMsS0FBSyxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsR0FBRyxTQUFTLGVBQWV1SixDQUFDLEVBQUUsTUFBTSxHQUFHLElBQUlGLEVBQUUsU0FBUyxjQUFjLE9BQU8sRUFBRSxPQUFPQSxFQUFFLFVBQVUsRUFBRUEsRUFBRSxHQUFHRSxFQUFFdkosRUFBRSxZQUFZcUosQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJeUksR0FBVSxDQUFDLElBQUksUUFBUSxJQUFJLE9BQU8sSUFBSSxPQUFPLElBQUksU0FBUyxJQUFJLFFBQVEsSUFBSSxTQUFTLElBQUksU0FBUyxJQUFJLFFBQVEsRUFBRSxTQUFTQyxHQUFXLEVBQUUsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxFQUFFLFFBQVEsY0FBYyxTQUFTdkwsRUFBRSxDQUFDLE9BQU9zTCxHQUFVdEwsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUl3TCxHQUE0QixPQUFPLFdBQXBCLElBQStCLFdBQXdCLE9BQU8sT0FBcEIsSUFBMkIsT0FBb0IsT0FBTyxPQUFwQixJQUEyQixPQUFvQixPQUFPLEtBQXBCLElBQXlCLEtBQUssQ0FBQSxFQUFHLFNBQVNDLEdBQXFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSUMsR0FBTUQsR0FBcUIsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLFNBQVN6TCxFQUFFLENBQUMsSUFBSWtCLEVBQUUsOEJBQThCeEgsRUFBRSxFQUFFcUosRUFBRSxDQUFDLE9BQU8vQyxFQUFFLE9BQU9BLEVBQUUsTUFBTSxPQUFPLDRCQUE0QkEsRUFBRSxPQUFPQSxFQUFFLE1BQU0sNEJBQTRCLEtBQUssQ0FBQyxPQUFPLFNBQVNBLEVBQUUsQ0FBQyxPQUFPQSxhQUFheEcsRUFBRSxJQUFJQSxFQUFFd0csRUFBRSxLQUFLK0MsRUFBRSxLQUFLLE9BQU8vQyxFQUFFLE9BQU8sRUFBRUEsRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRQSxDQUFDLEVBQUVBLEVBQUUsSUFBSStDLEVBQUUsS0FBSyxNQUFNLEVBQUUvQyxFQUFFLFFBQVEsS0FBSyxPQUFPLEVBQUUsUUFBUSxLQUFLLE1BQU0sRUFBRSxRQUFRLFVBQVUsR0FBRyxDQUFDLEVBQUUsS0FBSyxTQUFTQSxFQUFFLENBQUMsT0FBTyxPQUFPLFVBQVUsU0FBUyxLQUFLQSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sU0FBU0EsRUFBRSxDQUFDLE9BQU9BLEVBQUUsTUFBTSxPQUFPLGVBQWVBLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRXRHLENBQUMsQ0FBQyxFQUFFc0csRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTQSxFQUFFa0IsRUFBRXhILEVBQUUsQ0FBQyxJQUFJRixFQUFFcUosRUFBRXBKLEVBQUVzSixFQUFFLEtBQUssS0FBSzdCLENBQUMsRUFBRSxPQUFPeEgsRUFBRUEsR0FBRyxDQUFBLEVBQUdELEVBQUcsQ0FBQSxJQUFJLFNBQVMsR0FBR29KLEVBQUVFLEVBQUUsS0FBSyxNQUFNN0IsQ0FBQyxFQUFFeEgsRUFBRW1KLENBQUMsRUFBRSxPQUFPbkosRUFBRW1KLENBQUMsRUFBRSxRQUFRQyxLQUFLdEosRUFBRSxDQUFBLEVBQUdFLEVBQUVtSixDQUFDLEVBQUVySixFQUFFMEgsRUFBRUEsRUFBRSxlQUFlNEIsQ0FBQyxJQUFJdEosRUFBRXNKLENBQUMsRUFBRTlDLEVBQUVrQixFQUFFNEIsQ0FBQyxFQUFFcEosQ0FBQyxHQUFHLE9BQU9GLEVBQUUsSUFBSSxRQUFRLE9BQU9xSixFQUFFRSxFQUFFLEtBQUssTUFBTTdCLENBQUMsRUFBRXhILEVBQUVtSixDQUFDLEVBQUVuSixFQUFFbUosQ0FBQyxHQUFHckosRUFBRSxDQUFBLEVBQUdFLEVBQUVtSixDQUFDLEVBQUVySixFQUFFMEgsRUFBRSxRQUFRLFNBQVNBLEVBQUU2QixFQUFFLENBQUN2SixFQUFFdUosQ0FBQyxFQUFFL0MsRUFBRWtCLEVBQUV4SCxDQUFDLENBQUMsQ0FBQyxFQUFFRixHQUFHLFFBQVEsT0FBTzBILENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLE9BQU8sU0FBU2xCLEVBQUVrQixFQUFFLENBQUMsSUFBSXhILEVBQUVxSixFQUFFLEtBQUssTUFBTUEsRUFBRSxVQUFVL0MsQ0FBQyxDQUFDLEVBQUUsUUFBUXhHLEtBQUswSCxFQUFFeEgsRUFBRUYsQ0FBQyxFQUFFMEgsRUFBRTFILENBQUMsRUFBRSxPQUFPRSxDQUFDLEVBQUUsYUFBYSxTQUFTc0csRUFBRWtCLEVBQUV4SCxFQUFFRixFQUFFLENBQUMsSUFBSXFKLEdBQUdySixFQUFFQSxHQUFHdUosRUFBRSxXQUFXL0MsQ0FBQyxFQUFFdkcsRUFBRSxDQUFFLEVBQUMsUUFBUXFKLEtBQUtELEVBQUUsR0FBR0EsRUFBRSxlQUFlQyxDQUFDLEVBQUUsQ0FBQyxHQUFHQSxHQUFHNUIsRUFBRSxRQUFRbEgsS0FBS04sRUFBRUEsRUFBRSxlQUFlTSxDQUFDLElBQUlQLEVBQUVPLENBQUMsRUFBRU4sRUFBRU0sQ0FBQyxHQUFHTixFQUFFLGVBQWVvSixDQUFDLElBQUlySixFQUFFcUosQ0FBQyxFQUFFRCxFQUFFQyxDQUFDLEVBQUUsQ0FBQyxJQUFJL0MsRUFBRXZHLEVBQUV3RyxDQUFDLEVBQUUsT0FBT3hHLEVBQUV3RyxDQUFDLEVBQUV2RyxFQUFFc0osRUFBRSxVQUFVLElBQUlBLEVBQUUsVUFBVSxTQUFTN0IsRUFBRXhILEVBQUUsQ0FBQ0EsSUFBSXFHLEdBQUdtQixHQUFHbEIsSUFBSSxLQUFLa0IsQ0FBQyxFQUFFekgsRUFBRSxDQUFDLEVBQUVBLENBQUMsRUFBRSxJQUFJLFNBQVN1RyxFQUFFa0IsRUFBRXhILEVBQUVGLEVBQUVxSixFQUFFLENBQUNBLEVBQUVBLEdBQUcsQ0FBRSxFQUFDLElBQUlwSixFQUFFc0osRUFBRSxLQUFLLE1BQU0sUUFBUUQsS0FBSzVCLEVBQUUsR0FBR0EsRUFBRSxlQUFlNEIsQ0FBQyxFQUFFLENBQUNwSixFQUFFLEtBQUt3SCxFQUFFNEIsRUFBRTVCLEVBQUU0QixDQUFDLEVBQUV0SixHQUFHc0osQ0FBQyxFQUFFLElBQUk5SSxFQUFFa0gsRUFBRTRCLENBQUMsRUFBRS9DLEVBQUVnRCxFQUFFLEtBQUssS0FBSy9JLENBQUMsRUFBYStGLElBQVgsVUFBYzhDLEVBQUVwSixFQUFFTyxDQUFDLENBQUMsRUFBWStGLElBQVYsU0FBYThDLEVBQUVwSixFQUFFTyxDQUFDLENBQUMsSUFBSTZJLEVBQUVwSixFQUFFTyxDQUFDLENBQUMsRUFBRSxHQUFHZ0csRUFBRWhHLEVBQUVOLEVBQUVvSixFQUFFRCxDQUFDLElBQUlBLEVBQUVwSixFQUFFTyxDQUFDLENBQUMsRUFBRSxHQUFHZ0csRUFBRWhHLEVBQUVOLEVBQUUsS0FBS21KLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUEsRUFBRyxhQUFhLFNBQVM3QyxFQUFFa0IsRUFBRSxDQUFDNkIsRUFBRSxrQkFBa0IsU0FBUy9DLEVBQUVrQixDQUFDLENBQUMsRUFBRSxrQkFBa0IsU0FBU2xCLEVBQUVrQixFQUFFeEgsRUFBRSxDQUFDLElBQUlGLEVBQUUsQ0FBQyxTQUFTRSxFQUFFLFNBQVMsa0dBQWtHLEVBQUVxSixFQUFFLE1BQU0sSUFBSSxzQkFBc0J2SixDQUFDLEVBQUUsUUFBUXFKLEVBQUVwSixFQUFFRCxFQUFFLFVBQVV3RyxFQUFFLGlCQUFpQnhHLEVBQUUsUUFBUSxFQUFFc0osRUFBRSxFQUFFRCxFQUFFcEosRUFBRXFKLEdBQUcsR0FBR0MsRUFBRSxpQkFBaUJGLEVBQU8zQixJQUFMLEdBQU8xSCxFQUFFLFFBQVEsQ0FBQyxFQUFFLGlCQUFpQixTQUFTRSxFQUFFRixFQUFFcUosRUFBRSxDQUFDLFFBQVFwSixFQUFFcUosRUFBRTlJLEVBQUVOLEVBQUVNLEdBQUcsQ0FBQ2tILEVBQUUsS0FBS2xILEVBQUUsU0FBUyxHQUFHQSxFQUFFQSxFQUFFLFdBQVdBLElBQUlQLEdBQUdPLEVBQUUsVUFBVSxNQUFNa0gsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxZQUFhLEVBQUM0QixFQUFFQyxFQUFFLFVBQVV0SixDQUFDLEdBQUdDLEVBQUUsVUFBVUEsRUFBRSxVQUFVLFFBQVF3SCxFQUFFLEVBQUUsRUFBRSxRQUFRLE9BQU8sR0FBRyxFQUFFLGFBQWF6SCxFQUFFQyxFQUFFLGFBQWFNLEVBQUVOLEVBQUUsV0FBVyxPQUFPLEtBQUtNLEVBQUUsUUFBUSxJQUFJQSxFQUFFLFVBQVVBLEVBQUUsVUFBVSxRQUFRa0gsRUFBRSxFQUFFLEVBQUUsUUFBUSxPQUFPLEdBQUcsRUFBRSxhQUFhekgsSUFBSSxJQUFJc0csRUFBRSxDQUFDLFFBQVFyRyxFQUFFLFNBQVNELEVBQUUsUUFBUXFKLEVBQUUsS0FBS3BKLEVBQUUsV0FBVyxFQUFFMk0sRUFBRSxTQUFTckcsRUFBRSxDQUFDRCxFQUFFLGdCQUFnQkMsRUFBRStDLEVBQUUsTUFBTSxJQUFJLGdCQUFnQmhELENBQUMsRUFBRUEsRUFBRSxRQUFRLFVBQVVBLEVBQUUsZ0JBQWdCZ0QsRUFBRSxNQUFNLElBQUksa0JBQWtCaEQsQ0FBQyxFQUFFZ0QsRUFBRSxNQUFNLElBQUksV0FBV2hELENBQUMsRUFBRThDLEdBQUdBLEVBQUUsS0FBSzlDLEVBQUUsT0FBTyxDQUFDLEVBQUUsR0FBR2dELEVBQUUsTUFBTSxJQUFJLHNCQUFzQmhELENBQUMsRUFBRUEsRUFBRSxLQUFLLEdBQUdnRCxFQUFFLE1BQU0sSUFBSSxtQkFBbUJoRCxDQUFDLEVBQUVBLEVBQUUsUUFBUSxHQUFHdkcsR0FBR3dHLEVBQUUsT0FBTyxDQUFDLElBQUlrRSxFQUFFLElBQUksT0FBT25CLEVBQUUsUUFBUSxFQUFFbUIsRUFBRSxVQUFVLFNBQVNsRSxFQUFFLENBQUNxRyxFQUFFckcsRUFBRSxJQUFJLENBQUMsRUFBRWtFLEVBQUUsWUFBWSxLQUFLLFVBQVUsQ0FBQyxTQUFTbkUsRUFBRSxTQUFTLEtBQUtBLEVBQUUsS0FBSyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTXNHLEVBQUV0RCxFQUFFLFVBQVVoRCxFQUFFLEtBQUtBLEVBQUUsUUFBUUEsRUFBRSxRQUFRLENBQUMsT0FBT3NHLEVBQUV0RCxFQUFFLEtBQUssT0FBT2hELEVBQUUsSUFBSSxDQUFDLE9BQU9nRCxFQUFFLE1BQU0sSUFBSSxXQUFXaEQsQ0FBQyxDQUFDLEVBQUUsVUFBVSxTQUFTQyxFQUFFa0IsRUFBRXhILEVBQUUsQ0FBQyxJQUFJbUosRUFBRSxDQUFDLEtBQUs3QyxFQUFFLFFBQVFrQixFQUFFLFNBQVN4SCxDQUFDLEVBQUUsT0FBT3FKLEVBQUUsTUFBTSxJQUFJLGtCQUFrQkYsQ0FBQyxFQUFFQSxFQUFFLE9BQU9FLEVBQUUsU0FBU0YsRUFBRSxLQUFLQSxFQUFFLE9BQU8sRUFBRUUsRUFBRSxNQUFNLElBQUksaUJBQWlCRixDQUFDLEVBQUVySixFQUFFLFVBQVV1SixFQUFFLEtBQUssT0FBT0YsRUFBRSxNQUFNLEVBQUVBLEVBQUUsUUFBUSxDQUFDLEVBQUUsYUFBYSxTQUFTN0MsRUFBRWtCLEVBQUV4SCxFQUFFbUosRUFBRXBKLEVBQUVxSixFQUFFOUksRUFBRSxDQUFDLFFBQVErRixLQUFLckcsRUFBRSxHQUFHQSxFQUFFLGVBQWVxRyxDQUFDLEdBQUdyRyxFQUFFcUcsQ0FBQyxFQUFFLENBQUMsR0FBR0EsR0FBRy9GLEVBQUUsT0FBTyxJQUFJcU0sRUFBRTNNLEVBQUVxRyxDQUFDLEVBQUVzRyxFQUFZdEQsRUFBRSxLQUFLLEtBQUtzRCxDQUFDLElBQXZCLFFBQXlCQSxFQUFFLENBQUNBLENBQUMsRUFBRSxRQUFRbkMsRUFBRSxFQUFFQSxFQUFFbUMsRUFBRSxPQUFPLEVBQUVuQyxFQUFFLENBQUMsSUFBSXZLLEVBQUUwTSxFQUFFbkMsQ0FBQyxFQUFFOEIsRUFBRXJNLEVBQUUsT0FBT2tILEVBQUUsQ0FBQyxDQUFDbEgsRUFBRSxXQUFXc0csRUFBRSxDQUFDLENBQUN0RyxFQUFFLE9BQU9nSCxFQUFFLEVBQUViLEVBQUVuRyxFQUFFLE1BQU0sR0FBR3NHLEdBQUcsQ0FBQ3RHLEVBQUUsUUFBUSxPQUFPLENBQUMsSUFBSTRGLEVBQUU1RixFQUFFLFFBQVEsU0FBUSxFQUFHLE1BQU0sVUFBVSxFQUFFLENBQUMsRUFBRUEsRUFBRSxRQUFRLE9BQU9BLEVBQUUsUUFBUSxPQUFPNEYsRUFBRSxHQUFHLENBQUMsQ0FBQzVGLEVBQUVBLEVBQUUsU0FBU0EsRUFBRSxRQUFROEYsRUFBRW9ELEVBQUU3QixFQUFFdkgsRUFBRWdHLEVBQUV5QixFQUFFLE9BQU9GLEdBQUdFLEVBQUV6QixDQUFDLEVBQUUsT0FBTyxFQUFFQSxFQUFFLENBQUMsSUFBSWdDLEVBQUVQLEVBQUV6QixDQUFDLEVBQUUsR0FBR3lCLEVBQUUsT0FBT2xCLEVBQUUsT0FBTyxPQUFPLEdBQUcsRUFBRXlCLGFBQWFqSSxHQUFHLENBQUMsR0FBR3lHLEdBQUdSLEdBQUd5QixFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUd2SCxFQUFFLFVBQVVxSCxFQUFFLEVBQUVPLEVBQUU1SCxFQUFFLEtBQUtxRyxDQUFDLEdBQUcsTUFBTSxRQUFRWSxFQUFFVyxFQUFFLE9BQU9WLEVBQUVVLEVBQUUsQ0FBQyxFQUFFLE9BQU8sR0FBRy9CLEVBQUUrQixFQUFFLE1BQU1BLEVBQUUsQ0FBQyxFQUFFLE9BQU9SLEVBQUV0QixFQUFFMEIsRUFBRUgsRUFBRW5CLEdBQUVxQixFQUFFLE9BQU9ILEVBQUVsQixLQUFJc0IsRUFBRTNCLEdBQUcsQ0FBQzBCLEVBQUVILENBQUMsRUFBRSxNQUFNLENBQUNHLEVBQUVILEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRUEsRUFBRUgsSUFBSU8sR0FBR0QsRUFBRUgsQ0FBQyxFQUFFLFVBQVUsRUFBRXRCLEVBQUV1QixFQUFFRyxHQUFHLEdBQUdELEVBQUV6QixDQUFDLFlBQVlqRyxFQUFFLFNBQVNpTixHQUFFMUYsRUFBRXRCLEVBQUVnQyxFQUFFekIsRUFBRSxNQUFNZ0IsRUFBRUcsQ0FBQyxFQUFFSSxFQUFFLE9BQU9QLENBQUMsS0FBSyxDQUFDckgsRUFBRSxVQUFVLEVBQUUsSUFBSTRILEVBQUU1SCxFQUFFLEtBQUs4SCxDQUFDLEVBQUVnRixHQUFFLENBQUMsQ0FBQyxHQUFHbEYsRUFBRSxDQUFDVixJQUFJRixFQUFFWSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUUsT0FBTyxHQUFHL0IsR0FBR29CLEVBQUVXLEVBQUUsTUFBTVosSUFBSVksRUFBRUEsRUFBRSxDQUFDLEVBQUUsTUFBTVosQ0FBQyxHQUFHLE9BQU8sSUFBSWtCLEVBQUVKLEVBQUUsTUFBTSxFQUFFYixDQUFDLEVBQUU4RixFQUFFakYsRUFBRSxNQUFNakMsQ0FBQyxFQUFFc0IsRUFBRSxDQUFDckIsRUFBRWdILEVBQUMsRUFBRTVFLElBQUksRUFBRXBDLEVBQUV1QixHQUFHYSxFQUFFLE9BQU9mLEVBQUUsS0FBS2UsQ0FBQyxHQUFHLElBQUlaLEVBQUUsSUFBSXpILEVBQUV1RyxFQUFFaUcsRUFBRWpELEVBQUUsU0FBU3hCLEVBQUV5RSxDQUFDLEVBQUV6RSxFQUFFekIsRUFBRXlCLEVBQUV0QixDQUFDLEVBQUUsR0FBR2EsRUFBRSxLQUFLRyxDQUFDLEVBQUV5RixHQUFHNUYsRUFBRSxLQUFLNEYsQ0FBQyxFQUFFLE1BQU0sVUFBVSxPQUFPLE1BQU14RixFQUFFSixDQUFDLEVBQUsyRixJQUFILEdBQU0xRCxFQUFFLGFBQWEvQyxFQUFFa0IsRUFBRXhILEVBQUUrRixFQUFFdUIsRUFBRSxHQUFHakIsQ0FBQyxFQUFFK0MsRUFBRSxLQUFLLFNBQVNBLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxTQUFTOUMsRUFBRWtCLEVBQUUsQ0FBQyxJQUFJeEgsRUFBRSxDQUFDc0csQ0FBQyxFQUFFeEcsRUFBRTBILEVBQUUsS0FBSyxHQUFHMUgsRUFBRSxDQUFDLFFBQVFxSixLQUFLckosRUFBRTBILEVBQUUyQixDQUFDLEVBQUVySixFQUFFcUosQ0FBQyxFQUFFLE9BQU8zQixFQUFFLElBQUksQ0FBQyxPQUFPNkIsRUFBRSxhQUFhL0MsRUFBRXRHLEVBQUV3SCxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUV4SCxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBRSxFQUFDLElBQUksU0FBU3NHLEVBQUVrQixFQUFFLENBQUMsSUFBSXhILEVBQUVxSixFQUFFLE1BQU0sSUFBSXJKLEVBQUVzRyxDQUFDLEVBQUV0RyxFQUFFc0csQ0FBQyxHQUFHLENBQUUsRUFBQ3RHLEVBQUVzRyxDQUFDLEVBQUUsS0FBS2tCLENBQUMsQ0FBQyxFQUFFLElBQUksU0FBU2xCLEVBQUVrQixFQUFFLENBQUMsSUFBSXhILEVBQUVxSixFQUFFLE1BQU0sSUFBSS9DLENBQUMsRUFBRSxHQUFHdEcsR0FBR0EsRUFBRSxPQUFPLFFBQVFGLEVBQUVxSixFQUFFLEVBQUVySixFQUFFRSxFQUFFbUosR0FBRyxHQUFHckosRUFBRTBILENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTTFILENBQUMsRUFBRSxTQUFTQSxFQUFFd0csRUFBRWtCLEVBQUV4SCxFQUFFcUosRUFBRXZKLEVBQUUsQ0FBQyxLQUFLLEtBQUt3RyxFQUFFLEtBQUssUUFBUWtCLEVBQUUsS0FBSyxNQUFNeEgsRUFBRSxLQUFLLE9BQU8sR0FBR3FKLEdBQUcsSUFBSSxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUN2SixDQUFDLENBQUMsR0FBR3dHLEVBQUUsTUFBTStDLEVBQUV2SixFQUFFLFVBQVUsU0FBU3dHLEVBQUVrQixFQUFFeEgsRUFBRSxDQUFDLEdBQWEsT0FBT3NHLEdBQWpCLFNBQW1CLE9BQU9BLEVBQUUsR0FBRyxNQUFNLFFBQVFBLENBQUMsRUFBRSxPQUFPQSxFQUFFLElBQUksU0FBU3RHLEVBQUUsQ0FBQyxPQUFPRixFQUFFLFVBQVVFLEVBQUV3SCxFQUFFbEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJNkMsRUFBRSxDQUFDLEtBQUs3QyxFQUFFLEtBQUssUUFBUXhHLEVBQUUsVUFBVXdHLEVBQUUsUUFBUWtCLEVBQUV4SCxDQUFDLEVBQUUsSUFBSSxPQUFPLFFBQVEsQ0FBQyxRQUFRc0csRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFBLEVBQUcsU0FBU2tCLEVBQUUsT0FBT3hILENBQUMsRUFBRSxHQUFHc0csRUFBRSxNQUFNLENBQUMsSUFBSXZHLEVBQUUsTUFBTSxRQUFRdUcsRUFBRSxLQUFLLEVBQUVBLEVBQUUsTUFBTSxDQUFDQSxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsS0FBSyxNQUFNNkMsRUFBRSxRQUFRcEosQ0FBQyxDQUFDLENBQUNzSixFQUFFLE1BQU0sSUFBSSxPQUFPRixDQUFDLEVBQUUsSUFBSUMsRUFBRSxPQUFPLEtBQUtELEVBQUUsVUFBVSxFQUFFLElBQUksU0FBUzdDLEVBQUUsQ0FBQyxPQUFPQSxFQUFFLE1BQU02QyxFQUFFLFdBQVc3QyxDQUFDLEdBQUcsSUFBSSxRQUFRLEtBQUssUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxFQUFFLE1BQU0sSUFBSTZDLEVBQUUsSUFBSSxXQUFXQSxFQUFFLFFBQVEsS0FBSyxHQUFHLEVBQUUsS0FBS0MsRUFBRSxJQUFJQSxFQUFFLElBQUksSUFBSUQsRUFBRSxRQUFRLEtBQUtBLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQzdDLEVBQUUsU0FBUyxPQUFPQSxFQUFFLG1CQUFrQitDLEVBQUUsNkJBQTZCL0MsRUFBRSxpQkFBaUIsVUFBVSxTQUFTa0IsRUFBRSxDQUFDLElBQUl4SCxFQUFFLEtBQUssTUFBTXdILEVBQUUsSUFBSSxFQUFFMUgsRUFBRUUsRUFBRSxTQUFTbUosRUFBRW5KLEVBQUUsS0FBS0QsRUFBRUMsRUFBRSxlQUFlc0csRUFBRSxZQUFZK0MsRUFBRSxVQUFVRixFQUFFRSxFQUFFLFVBQVV2SixDQUFDLEVBQUVBLENBQUMsQ0FBQyxFQUFFQyxHQUFHdUcsRUFBRSxNQUFPLENBQUEsRUFBRSxFQUFFLEdBQUUrQyxFQUFLLElBQUlGLEVBQUUsU0FBUyxlQUFlLENBQUEsRUFBRyxNQUFNLEtBQUssU0FBUyxxQkFBcUIsUUFBUSxDQUFDLEVBQUUsSUFBSyxFQUFDLE9BQU9BLElBQUlFLEVBQUUsU0FBU0YsRUFBRSxJQUFJRSxFQUFFLFFBQVFGLEVBQUUsYUFBYSxhQUFhLElBQWdCLFNBQVMsYUFBckIsVUFBZ0MsT0FBTyxzQkFBc0IsT0FBTyxzQkFBc0JFLEVBQUUsWUFBWSxFQUFFLE9BQU8sV0FBV0EsRUFBRSxhQUFhLEVBQUUsRUFBRSxTQUFTLGlCQUFpQixtQkFBbUJBLEVBQUUsWUFBWSxJQUFJQSxDQUFDLEVBQWUsT0FBTyxPQUFwQixJQUEyQixPQUFvQixPQUFPLGtCQUFwQixLQUF1QyxnQkFBZ0Isa0JBQWtCLEtBQUssQ0FBQSxDQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxHQUFZeUksS0FBVCxTQUEwQkEsR0FBZSxNQUFNLEdBQUcsRUFBRSxVQUFVLE9BQU8sQ0FBQyxRQUFRLGtCQUFrQixPQUFPLGlCQUFpQixRQUFRLHNCQUFzQixNQUFNLDBCQUEwQixJQUFJLENBQUMsUUFBUSx3SEFBd0gsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxrQkFBa0IsT0FBTyxDQUFDLFlBQVksUUFBUSxVQUFVLGNBQWMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxRQUFRLHNDQUFzQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLG1CQUFtQixXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLE9BQU8sWUFBWSxDQUFDLFFBQVEsWUFBWSxPQUFPLENBQUMsVUFBVSxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxtQkFBbUIsRUFBRSxFQUFFLFVBQVUsT0FBTyxJQUFJLE9BQU8sWUFBWSxFQUFFLE9BQU8sT0FBTyxFQUFFLFVBQVUsT0FBTyxPQUFPLEVBQUUsTUFBTSxJQUFJLE9BQU8sU0FBU3hMLEVBQUUsQ0FBWUEsRUFBRSxPQUFiLFdBQW9CQSxFQUFFLFdBQVcsTUFBTUEsRUFBRSxRQUFRLFFBQVEsUUFBUSxHQUFHLEVBQUUsQ0FBQyxFQUFFLE9BQU8sZUFBZSxFQUFFLFVBQVUsT0FBTyxJQUFJLGFBQWEsQ0FBQyxNQUFNLFNBQVNBLEVBQUV0RyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUEsRUFBRyxFQUFFLFlBQVlBLENBQUMsRUFBRSxDQUFDLFFBQVEsb0NBQW9DLFdBQVcsR0FBRyxPQUFPLEVBQUUsVUFBVUEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLHVCQUF1QixJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLDRCQUE0QixPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsWUFBWUEsQ0FBQyxFQUFFLENBQUMsUUFBUSxVQUFVLE9BQU8sRUFBRSxVQUFVQSxDQUFDLENBQUMsRUFBRSxJQUFJbUosRUFBRSxHQUFHQSxFQUFFN0MsQ0FBQyxFQUFFLENBQUMsUUFBUSxPQUFPLG1FQUFtRSxPQUFPLFFBQVEsTUFBTUEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxXQUFXLEdBQUcsT0FBTyxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsVUFBVSxhQUFhLFNBQVMsUUFBUTZDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsSUFBSSxFQUFFLFVBQVUsT0FBTyxTQUFTLENBQUUsQ0FBQSxFQUFFLEVBQUUsVUFBVSxLQUFLLEVBQUUsVUFBVSxPQUFPLEVBQUUsVUFBVSxPQUFPLEVBQUUsVUFBVSxPQUFPLEVBQUUsVUFBVSxJQUFJLEVBQUUsVUFBVSxPQUFPLFNBQVM3QyxFQUFFLENBQUMsSUFBSWtCLEVBQUUsZ0RBQWdEbEIsRUFBRSxVQUFVLElBQUksQ0FBQyxRQUFRLG1CQUFtQixPQUFPLENBQUMsUUFBUSxtQ0FBbUMsT0FBTyxDQUFDLEtBQUssU0FBUyxDQUFDLEVBQUUsSUFBSSxPQUFPLFlBQVlrQixFQUFFLE9BQU8sV0FBVyxHQUFHLEVBQUUsU0FBUyxPQUFPLHVCQUF3QkEsRUFBRSxPQUFPLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxRQUFRQSxFQUFFLE9BQU8sRUFBRSxFQUFFLFNBQVMsK0NBQStDLFVBQVUsZ0JBQWdCLFNBQVMsb0JBQW9CLFlBQVksV0FBVyxFQUFFbEIsRUFBRSxVQUFVLElBQUksT0FBTyxPQUFPLEtBQUtBLEVBQUUsVUFBVSxJQUFJLElBQUl0RyxFQUFFc0csRUFBRSxVQUFVLE9BQU90RyxJQUFJQSxFQUFFLElBQUksV0FBVyxRQUFRLEtBQUssRUFBRXNHLEVBQUUsVUFBVSxhQUFhLFNBQVMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxRQUFRLDZDQUE2QyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsYUFBYSxPQUFPdEcsRUFBRSxJQUFJLE1BQU0sRUFBRSxZQUFZLHdCQUF3QixhQUFhLENBQUMsUUFBUSxNQUFNLE9BQU9zRyxFQUFFLFVBQVUsR0FBRyxDQUFDLEVBQUUsTUFBTSxjQUFjLENBQUMsRUFBRXRHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxrQ0FBa0MsV0FBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLG1CQUFtQixXQUFXLEdBQUcsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsUUFBUSxpREFBaUQsT0FBTyxFQUFFLEVBQUUsYUFBYSxDQUFDLFFBQVEsaUdBQWlHLFdBQVcsR0FBRyxPQUFPLENBQUMsWUFBWSxPQUFPLENBQUMsRUFBRSxRQUFRLDZHQUE2RyxRQUFRLHFCQUFxQixTQUFTLFlBQVksT0FBTyx3REFBd0QsU0FBUywwREFBMEQsWUFBWSxlQUFlLEVBQUUsRUFBRSxVQUFVLFdBQVcsRUFBRSxVQUFVLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFVBQVUsTUFBTSxZQUFZLEVBQUUsQ0FBQyxRQUFRLDBGQUEwRixXQUFXLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsa0NBQWtDLFdBQVcsRUFBRSxFQUFFLENBQUMsUUFBUSw2V0FBNlcsV0FBVyxFQUFFLENBQUMsRUFBRSxPQUFPLG1IQUFtSCxTQUFTLGtGQUFrRixTQUFTLGdHQUFnRyxDQUFDLEVBQUUsRUFBRSxVQUFVLFdBQVcsWUFBWSxFQUFFLENBQUMsRUFBRSxRQUFRLHVFQUF1RSxFQUFFLFVBQVUsYUFBYSxhQUFhLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSwwSEFBMEgsV0FBVyxHQUFHLE9BQU8sRUFBRSxFQUFFLG9CQUFvQixDQUFDLFFBQVEsOEpBQThKLE1BQU0sVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLFFBQVEsd0dBQXdHLFdBQVcsR0FBRyxPQUFPLEVBQUUsVUFBVSxVQUFVLEVBQUUsQ0FBQyxRQUFRLGdEQUFnRCxPQUFPLEVBQUUsVUFBVSxVQUFVLEVBQUUsQ0FBQyxRQUFRLG9EQUFvRCxXQUFXLEdBQUcsT0FBTyxFQUFFLFVBQVUsVUFBVSxFQUFFLENBQUMsUUFBUSxxY0FBcWMsV0FBVyxHQUFHLE9BQU8sRUFBRSxVQUFVLFVBQVUsQ0FBQyxFQUFFLFNBQVMsMkJBQTJCLENBQUMsRUFBRSxFQUFFLFVBQVUsYUFBYSxhQUFhLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLG1DQUFtQyxPQUFPLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLFlBQVksT0FBTyxDQUFDLDRCQUE0QixDQUFDLFFBQVEsVUFBVSxNQUFNLGFBQWEsRUFBRSxLQUFLLEVBQUUsVUFBVSxVQUFVLENBQUMsRUFBRSxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsUUFBUSxFQUFFLFVBQVUsT0FBTyxJQUFJLFdBQVcsU0FBUyxZQUFZLEVBQUUsRUFBRSxVQUFVLEdBQUcsRUFBRSxVQUFVLFdBQXdCLE9BQU8sS0FBcEIsS0FBMEIsS0FBSyxPQUFPLEtBQUssVUFBVSxTQUFTLGdCQUFnQixLQUFLLE1BQU0sY0FBYyxTQUFTc0csRUFBRSxDQUFDQSxFQUFFQSxHQUFHLFNBQVMsSUFBSXRHLEVBQUUsQ0FBQyxHQUFHLGFBQWEsR0FBRyxTQUFTLEdBQUcsT0FBTyxJQUFJLGFBQWEsS0FBSyxhQUFhLEdBQUcsT0FBTyxJQUFJLFFBQVEsRUFBRSxJQUFJLElBQUksT0FBTyxFQUFFLE1BQU0sVUFBVSxNQUFNLEtBQUtzRyxFQUFFLGlCQUFpQixlQUFlLENBQUMsRUFBRSxRQUFRLFNBQVNBLEVBQUUsQ0FBQyxHQUFHLENBQUNBLEVBQUUsYUFBYSxpQkFBaUIsRUFBRSxDQUFDLFFBQVErQyxFQUFFdkosRUFBRXdHLEVBQUUsYUFBYSxVQUFVLEVBQUU2QyxFQUFFN0MsRUFBRXZHLEVBQUUsOEJBQThCb0osR0FBRyxDQUFDcEosRUFBRSxLQUFLb0osRUFBRSxTQUFTLEdBQUdBLEVBQUVBLEVBQUUsV0FBVyxHQUFHQSxJQUFJRSxHQUFHL0MsRUFBRSxVQUFVLE1BQU12RyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUNzSixFQUFFLENBQUMsSUFBSUQsR0FBR3RKLEVBQUUsTUFBTSxVQUFVLEdBQUcsQ0FBQSxDQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUV1SixFQUFFckosRUFBRW9KLENBQUMsR0FBR0EsQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLGNBQWMsTUFBTSxFQUFFLEVBQUUsVUFBVSxZQUFZQyxFQUFFL0MsRUFBRSxZQUFZLEdBQUcsRUFBRSxZQUFZLFdBQVdBLEVBQUUsWUFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksZUFBZSxFQUFFLEtBQUssTUFBTXhHLEVBQUUsRUFBRSxFQUFFLEVBQUUsbUJBQW1CLFVBQVUsQ0FBSSxFQUFFLFlBQUwsSUFBa0IsRUFBRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFd0csRUFBRSxhQUFhLGtCQUFrQixFQUFFLEdBQUcsRUFBRSxRQUFRLElBQUksRUFBRSxZQUFZLFdBQVcsRUFBRSxPQUFPLHlCQUF5QixFQUFFLFdBQVcsRUFBRSxZQUFZLDJDQUEyQyxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLFNBQVMsRUFBRSxRQUFRLFFBQVEsZUFBZSxnQkFBZ0IsU0FBU0EsRUFBRSxDQUFDLElBQUlrQixFQUFFbEIsRUFBRSxRQUFRLFdBQVcsR0FBR2tCLEdBQUcsT0FBTyxLQUFLQSxFQUFFLFFBQVEsR0FBR0EsRUFBRSxhQUFhLFVBQVUsR0FBR0EsRUFBRSxhQUFhLG9CQUFvQixFQUFFLENBQUMsSUFBSXhILEVBQUV3SCxFQUFFLGFBQWEsVUFBVSxFQUFFNkIsRUFBRSxTQUFTLGNBQWMsR0FBRyxFQUFFLE9BQU9BLEVBQUUsWUFBWTdCLEVBQUUsYUFBYSwwQkFBMEIsR0FBRyxXQUFXNkIsRUFBRSxhQUFhLFdBQVcsRUFBRSxFQUFFQSxFQUFFLEtBQUtySixFQUFFcUosQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsaUJBQWlCLG1CQUFtQixVQUFVLENBQUMsS0FBSyxNQUFNLGNBQWEsQ0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNEksRUFBVSxTQUFTLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sTUFBTSxxRUFBcUUsRUFBRSxHQUFHLENBQUMsRUFBRSxNQUFNLE1BQU0sb0VBQW9FLEVBQUUsR0FBRyxFQUFFLFNBQVMsS0FBSyxXQUFXLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxjQUFjLENBQUMsRUFBRSxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsS0FBSyxZQUFXLENBQUUsRUFBRUEsRUFBVSxVQUFVLFlBQVksVUFBVSxDQUFDLEdBQUcsQ0FBQ04sR0FBVUQsR0FBVSxLQUFLLEtBQUssS0FBSyxXQUFXLEVBQUUsTUFBTSxNQUFNLGlDQUFpQyxFQUFFLEtBQUssZ0JBQWdCLEtBQUssZUFBYyxFQUFHLEtBQUssWUFBWSxLQUFLLFdBQVUsRUFBRyxLQUFLLFdBQVUsRUFBRyxLQUFLLGVBQWMsRUFBRyxLQUFLLGtCQUFrQixLQUFLLFdBQVcsS0FBSyxJQUFJLENBQUMsRUFBRU8sRUFBVSxVQUFVLGNBQWMsVUFBVSxDQUFDLEtBQUssS0FBSyxLQUFLLFdBQVcsVUFBVSxLQUFLLFdBQVcsVUFBVSxHQUFHLEtBQUssVUFBVSxLQUFLLGNBQWMsTUFBTSxLQUFLLFVBQVUsRUFBRSxLQUFLLFVBQVUsVUFBVSxJQUFJLFdBQVcsQ0FBQyxFQUFFQSxFQUFVLFVBQVUsZUFBZSxVQUFVLENBQUMsS0FBSyxXQUFXLEtBQUssY0FBYyxXQUFXLEtBQUssU0FBUyxFQUFFLEtBQUssV0FBVyxVQUFVLElBQUksc0JBQXNCLG9CQUFvQixDQUFDLEVBQUVBLEVBQVUsVUFBVSxVQUFVLFVBQVUsQ0FBQyxLQUFLLE1BQU0sS0FBSyxjQUFjLE1BQU0sS0FBSyxTQUFTLEVBQUUsS0FBSyxNQUFNLFVBQVUsSUFBSSxpQkFBaUIsb0JBQW9CLENBQUMsRUFBRUEsRUFBVSxVQUFVLFdBQVcsVUFBVSxDQUFDLEtBQUssT0FBTyxLQUFLLGNBQWMsT0FBTyxLQUFLLEtBQUssRUFBRSxLQUFLLE9BQU8sVUFBVSxJQUFJLGtCQUFrQixhQUFhLEtBQUssS0FBSyxVQUFVLE9BQU8sQ0FBQyxFQUFFQSxFQUFVLFVBQVUsa0JBQWtCLFVBQVUsQ0FBQyxLQUFLLGNBQWMsS0FBSyxjQUFjLE1BQU0sS0FBSyxTQUFTLEVBQUUsS0FBSyxjQUFjLFVBQVUsSUFBSSxrQkFBa0IsRUFBRSxLQUFLLGNBQWUsQ0FBQSxFQUFFQSxFQUFVLFVBQVUsY0FBYyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxTQUFTLGNBQWMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUVBLEVBQVUsVUFBVSxXQUFXLFVBQVUsQ0FBQyxLQUFLLEtBQUssSUFBSSxLQUFLLEtBQUssS0FBSyxHQUFHLEtBQUssS0FBSyxRQUFRLEtBQUssS0FBSyxTQUFTLEVBQUUsS0FBSyxLQUFLLGtCQUFrQixLQUFLLEtBQUssbUJBQW1CLEdBQUcsS0FBSyxLQUFLLFlBQVksS0FBSyxLQUFLLGFBQWEsR0FBRyxLQUFLLEtBQUssYUFBa0IsS0FBSyxLQUFLLGVBQWYsR0FBNEIsS0FBSyxLQUFLLE9BQU8sS0FBSyxLQUFLLFFBQVEsS0FBSyxLQUFLLEtBQUssZUFBZSxLQUFLLEtBQUssZ0JBQWdCLEtBQUssS0FBSyxLQUFLLFNBQVMsS0FBSyxLQUFLLFVBQVUsS0FBZ0IsT0FBTyxLQUFLLEtBQUssWUFBNUIsWUFBeUMsS0FBSyxLQUFLLFdBQVcsSUFBZSxPQUFPLEtBQUssS0FBSyw2QkFBNUIsWUFBMEQsS0FBSyxLQUFLLDRCQUE0QixJQUFlLE9BQU8sS0FBSyxLQUFLLDBCQUE1QixZQUF1RCxLQUFLLEtBQUsseUJBQXlCLElBQVMsS0FBSyxLQUFLLE1BQWYsS0FBcUIsS0FBSyxXQUFXLGFBQWEsTUFBTSxLQUFLLEVBQUUsS0FBSyxNQUFNLGFBQWEsTUFBTSxLQUFLLEdBQVEsS0FBSyxLQUFLLG9CQUFmLEtBQW1DLEtBQUssV0FBVyxhQUFhLGFBQWEsT0FBTyxFQUFFLEtBQUssV0FBVyxhQUFhLGlCQUFpQixLQUFLLEVBQUUsS0FBSyxXQUFXLGFBQWEsZUFBZSxLQUFLLEVBQUUsS0FBSyxXQUFXLGFBQWEsY0FBYyxLQUFLLEdBQUcsS0FBSyxLQUFLLGNBQWMsS0FBSyxVQUFVLFVBQVUsSUFBSSw2QkFBNkIsRUFBRSxLQUFLLHFCQUFxQixLQUFLLEtBQUssY0FBY04sR0FBVVAsR0FBZ0IsZ0JBQWdCLEtBQUssS0FBSyxXQUFXLEVBQUUsS0FBSyxLQUFLLFFBQVEsS0FBSyxXQUFXLGFBQWEsS0FBSyxLQUFLLEtBQUssTUFBTSxFQUFFLEtBQUssS0FBSyxnQkFBZ0IsS0FBSyxXQUFXLGFBQWEsa0JBQWtCLEtBQUssS0FBSyxjQUFjLEVBQUUsS0FBSyxLQUFLLFVBQVUsS0FBSyxtQkFBa0IsQ0FBRSxFQUFFYSxFQUFVLFVBQVUsdUJBQXVCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxLQUFLLFdBQVcsSUFBSSxFQUFFLEVBQUUsd0NBQXdDLEVBQUUsVUFBVSxLQUFLLGNBQWMsVUFBVSxDQUFDLEVBQUVBLEVBQVUsVUFBVSxlQUFlLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLFdBQVcsaUJBQWlCLFFBQVEsU0FBUyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxNQUFNLEVBQUUsT0FBTyxVQUFVSixHQUFXLEVBQUUsT0FBTyxLQUFLLEVBQUUsRUFBRSxVQUFTLEVBQUcsV0FBVyxVQUFVLENBQUMsRUFBRSxVQUFXLEVBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFdBQVcsaUJBQWlCLFVBQVUsU0FBUyxFQUFFLENBQUMsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLDRCQUE0QixDQUFDLEVBQUUsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFdBQVcsaUJBQWlCLFNBQVMsU0FBUyxFQUFFLENBQUMsRUFBRSxNQUFNLE1BQU0sVUFBVSxnQkFBZ0IsRUFBRSxPQUFPLFdBQVcsUUFBUSxFQUFFLE9BQU8sVUFBVSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxNQUFNLFVBQVUsbUJBQW1CLEVBQUUsT0FBTyxVQUFVLFNBQVMsQ0FBQyxDQUFDLEVBQUVJLEVBQVUsVUFBVSxXQUFXLFNBQVMsRUFBRSxDQUFDLEdBQUcsS0FBSyxLQUFLLFdBQVcsQ0FBQyxHQUFPLEVBQUUsVUFBTixFQUFjLE9BQU8sRUFBRSxlQUFjLEVBQUcsSUFBSSxFQUFFLEtBQUssV0FBVyxFQUFFLEVBQUUsbUJBQW1CNUksRUFBRSxFQUFFLGVBQWV2SixFQUFFLEVBQUUsYUFBYXFKLEVBQUUsRUFBRSxNQUFNcEosRUFBRW9KLEVBQUUsT0FBTyxFQUFFRSxDQUFDLEVBQUVELEVBQUVELEVBQUUsVUFBVUUsRUFBRXZKLENBQUMsRUFBRVEsRUFBRTZJLEVBQUUsVUFBVXJKLENBQUMsRUFBRXVHLEVBQUUsSUFBSSxPQUFPLEtBQUssS0FBSyxPQUFPLEVBQUUsR0FBR2dELElBQUl2SixHQUFHc0osRUFBRSxRQUFRL0MsRUFBRSxPQUFPLENBQUMsSUFBSXNHLEVBQUV0RCxFQUFFdEosRUFBRSxNQUFNO0FBQUEsQ0FBSSxFQUFFLElBQUcsRUFBRyxPQUFPeUssRUFBRW5FLEVBQUUsT0FBTyxFQUFFQSxFQUFFLE9BQVUsRUFBRSxVQUFTOEMsRUFBRSxPQUFPd0QsRUFBRXRHLEVBQUUsTUFBTSxJQUFJQSxHQUFHbUUsRUFBRSxDQUFDQSxFQUFFbUMsRUFBRXRELEdBQUdELEVBQUVBLEVBQUUsVUFBVSxFQUFFdUQsQ0FBQyxFQUFFdkQsRUFBRSxVQUFVdUQsRUFBRXRHLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBR3NHLElBQUl0RCxHQUFHbUIsRUFBRSxFQUFFLEVBQUUsRUFBRXBCLEVBQUVBLEVBQUUsVUFBVS9DLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFdEcsRUFBRUEsRUFBRSxVQUFVLEVBQUU0TSxDQUFDLEVBQUU1TSxFQUFFLFVBQVU0TSxFQUFFdEcsRUFBRSxNQUFNLEtBQUttRSxFQUFFLEVBQUUsRUFBRSxHQUFHcEIsRUFBRUEsRUFBRSxRQUFRLElBQUksT0FBTztBQUFBLEVBQUsvQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFLEdBQUcsRUFBRTtBQUFBLENBQUksSUFBT3RHLEVBQUVBLEVBQUUsT0FBTyxFQUFFNE0sQ0FBQyxFQUFFdEcsRUFBRXRHLEVBQUUsVUFBVTRNLEVBQUV0RCxDQUFDLEVBQUVELEVBQUVBLEVBQUUsUUFBUSxNQUFNO0FBQUEsRUFBSy9DLENBQUMsR0FBRSxFQUFFLE1BQU10RyxFQUFFcUosRUFBRTlJLEVBQUUsRUFBRSxlQUFlK0ksRUFBRW1CLEVBQUUsRUFBRSxhQUFhbkIsRUFBRUQsRUFBRSxPQUFPLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTXJKLEVBQUVzRyxFQUFFL0YsRUFBRSxFQUFFLGVBQWUrSSxFQUFFaEQsRUFBRSxPQUFPLEVBQUUsYUFBYWdELEVBQUVoRCxFQUFFLE9BQU8sSUFBSSxFQUFFLEVBQUUsTUFBTSxLQUFLLFdBQVcsQ0FBQyxFQUFFLEtBQUssV0FBVyxhQUFhdkcsRUFBRSxLQUFLLEtBQUssT0FBTyxDQUFDLEVBQUVtUyxFQUFVLFVBQVUsNEJBQTRCLFNBQVMsRUFBRSxDQUFDLEdBQUcsS0FBSyxLQUFLLDRCQUE0QixDQUFDLElBQUksRUFBRSxFQUFFLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRyxDQUFBLElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxlQUFlLENBQUMsRUFBRSxNQUFNLElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxlQUFlLENBQUMsRUFBRSxNQUFNLElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxlQUFlLENBQUMsRUFBRSxNQUFNLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFQSxFQUFVLFVBQVUsY0FBYyxVQUFVLENBQUMsS0FBSyxXQUFXLEtBQUssS0FBSyxNQUFNO0FBQUEsQ0FBSSxFQUFFLE9BQU8sS0FBSyxLQUFLLGFBQWEsS0FBSyx1QkFBd0IsQ0FBQSxFQUFFQSxFQUFVLFVBQVUseUJBQXlCLFNBQVMsRUFBRSxDQUFDLEdBQUcsS0FBSyxLQUFLLDBCQUErQixFQUFFLFVBQVAsR0FBZSxDQUFDLEVBQUUsZUFBZ0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxXQUFXLEVBQUUsRUFBRSxlQUFlNUksRUFBRSxFQUFFLGFBQWF2SixFQUFFLEVBQUUsTUFBTXFKLEVBQUVySixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUVDLEVBQUVELEVBQUUsVUFBVXVKLENBQUMsRUFBRUQsRUFBRXRKLEVBQUUsWUFBWTtBQUFBLEVBQUssRUFBRSxDQUFDLEVBQUVRLEVBQUU4SSxFQUFFdEosRUFBRSxNQUFNc0osRUFBRSxDQUFDLEVBQUUsT0FBTyxRQUFRLEVBQUUvQyxFQUFFL0YsRUFBRThJLEVBQUU5SSxFQUFFOEksRUFBRSxFQUFFdUQsRUFBRXhELEVBQUU7QUFBQSxFQUFLLElBQUksT0FBTzlDLENBQUMsRUFBRXRHLEVBQUUsRUFBRSxNQUFNNE0sRUFBRSxFQUFFLGVBQWUsRUFBRXRHLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRUEsRUFBRSxFQUFFLEtBQUssV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUU0TCxFQUFVLFVBQVUsZUFBZSxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxXQUFXLGVBQWUsRUFBRSxLQUFLLFdBQVcsYUFBYSxHQUFHLEtBQUssY0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJNUksRUFBRSxLQUFLLEtBQUssT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFdkosRUFBRXVKLEVBQUUsRUFBRSxFQUFFLEVBQUVGLEVBQUUsQ0FBQ0UsR0FBRyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsR0FBR3RKLEVBQUUsR0FBRyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUMsRUFBRW9KLEVBQUUsS0FBSyxLQUFLLFVBQVVySixDQUFDLEVBQUUsS0FBSyxXQUFXQyxDQUFDLEVBQUUsS0FBSyxXQUFXLGFBQWEsRUFBRSxLQUFLLFdBQVcsY0FBYyxLQUFLLENBQUMsSUFBSXFKLEVBQUUsRUFBRSxPQUFPLEVBQUMsQ0FBRSxJQUFJLElBQUlBLEVBQUUsT0FBTyxhQUFhLEVBQUUsV0FBVSxFQUFHLENBQUMsRUFBRSxNQUFNLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJQSxFQUFFLE9BQU8sYUFBYSxFQUFFLFdBQVUsRUFBRyxDQUFDLENBQUMsQ0FBQyxJQUFJOUksRUFBRSxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUMsRUFBRStGLEVBQUUsR0FBRyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUMsRUFBRS9GLEVBQUU4SSxFQUFFLEtBQUssS0FBSyxVQUFVLENBQUMsRUFBRSxLQUFLLFdBQVcvQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsYUFBYSxDQUFDLEVBQUU0TCxFQUFVLFVBQVUsY0FBYyxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxXQUFXLGVBQWUsRUFBRSxLQUFLLFdBQVcsYUFBYTVJLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUNBLENBQUMsRUFBRTRJLEVBQVUsVUFBVSxXQUFXLFNBQVMsRUFBRSxDQUFDLEtBQUssS0FBSyxFQUFFLEtBQUssV0FBVyxNQUFNLEVBQUUsS0FBSyxPQUFPLFVBQVVKLEdBQVcsQ0FBQyxFQUFFLEtBQUssVUFBVyxFQUFDLEtBQUssY0FBYSxFQUFHLFdBQVcsS0FBSyxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFSSxFQUFVLFVBQVUsZUFBZSxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLFNBQVMsS0FBSyxPQUFPLFVBQVUsT0FBTyxZQUFZLENBQUMsRUFBRSxLQUFLLE9BQU8sVUFBVSxJQUFJLFlBQVksQ0FBQyxFQUFFLEtBQUssS0FBSyxTQUFTLEVBQUUsS0FBSyxVQUFTLENBQUUsRUFBRUEsRUFBVSxVQUFVLFlBQVksU0FBUyxFQUFFLEVBQUUsQ0FBQ0QsR0FBTSxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUVDLEVBQVUsVUFBVSxnQkFBZ0IsVUFBVSxDQUFDLEtBQUssV0FBVyxLQUFLLElBQUksQ0FBQyxFQUFFQSxFQUFVLFVBQVUsVUFBVSxVQUFVLENBQUNELEdBQU0saUJBQWlCLEtBQUssT0FBTyxFQUFFLENBQUMsRUFBRUMsRUFBVSxVQUFVLFNBQVMsU0FBUyxFQUFFLENBQUMsR0FBRyxHQUF5QixDQUFBLEVBQUcsU0FBUyxLQUFLLENBQUMsSUFBeEMsb0JBQTBDLE1BQU0sTUFBTSw2Q0FBNkMsRUFBRSxLQUFLLGVBQWUsQ0FBQyxFQUFFQSxFQUFVLFVBQVUsUUFBUSxVQUFVLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRUEsRUFBVSxVQUFVLFVBQVUsVUFBVSxDQUFDLEtBQUssZ0JBQWdCLEtBQUssZUFBZSxLQUFLLElBQUksQ0FBQyxFQUFFQSxFQUFVLFVBQVUsbUJBQW1CLFVBQVUsQ0FBQyxLQUFLLFdBQVcsYUFBYSxXQUFXLEVBQUUsQ0FBQyxFQUFFQSxFQUFVLFVBQVUsb0JBQW9CLFVBQVUsQ0FBQyxLQUFLLFdBQVcsZ0JBQWdCLFVBQVUsQ0FBQyxFQ0c1c3hCLE1BQU1DLEdBQWtCLENBQUMsQ0FBQyxLQUFBQyxFQUFNLEtBQUFsUCxFQUFNLFNBQUFtUCxLQUE4RSxDQUNuSCxNQUFBQyxFQUFTaEUsU0FBdUIsSUFBSSxFQUNwQ2lFLEVBQWVqRSxTQUF5QixJQUFJLEVBQzVDa0UsRUFBVWxFLFNBQXNCLElBQUksRUFFMUNVLE9BQUFBLEVBQUFBLFVBQVUsSUFBTSxDQUNWc0QsRUFBTyxTQUFXQyxFQUFhLFVBQVksT0FDN0NBLEVBQWEsUUFBVSxJQUFJTCxFQUFVSSxFQUFPLFFBQVMsQ0FDbkQsU0FBVXBQLEdBQVEsS0FDbEIsWUFBYSxFQUFBLENBRWQsRUFDWXFQLEVBQUEsUUFBUSxTQUFTSCxHQUFRLENBR2pDSSxFQUFRLFVBQVlKLEdBQ3JCQyxFQUFTRCxDQUFJLENBQ2YsQ0FDRCxFQU9ILEVBQ0MsQ0FBQ2xQLEVBQU1tUCxDQUFRLENBQUMsRUFFbkJyRCxFQUFBQSxVQUFVLElBQU0sQ0FDVnVELEVBQWEsU0FBV0gsSUFBU0csRUFBYSxRQUFRLFlBRXhEQyxFQUFRLFFBQVVKLEVBQ0xHLEVBQUEsUUFBUSxXQUFXSCxHQUFRLGNBQWMsRUFDeEQsRUFDQyxDQUFDQSxDQUFJLENBQUMsRUFHUG5CLEVBQUEsSUFBQyxNQUFBLENBQ0MsSUFBS3FCLEVBQ0wsTUFBTyxDQUFFLE9BQVEsT0FBUSxNQUFPLE1BQU8sQ0FBQSxDQUFBLENBRzdDLEVDMUNNRyxHQUFxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVl6QixLQUFLLEVBRU1DLEdBQWlCLElBQU0sQ0FDbEMsS0FBTSxDQUFDTixFQUFNTyxDQUFPLEVBQUlsRSxXQUFTZ0UsRUFBa0IsRUFDN0MsQ0FBQ0csRUFBUUMsQ0FBUyxFQUFJcEUsRUFBQSxTQUFTLENBQWUsQ0FBQSxFQUM5QyxDQUFDcUUsRUFBT0MsQ0FBUSxFQUFJdEUsV0FBUyxFQUFFLEVBRXJDTyxPQUFBQSxFQUFBQSxVQUFVLElBQU0sQ0FDVixHQUFBLENBQ00sUUFBQSxJQUFJLE9BQVFvRCxDQUFJLEVBQ3hCLFFBQVEsSUFBSSxtQkFBb0IsS0FBSyxNQUFNQSxDQUFJLENBQUMsRUFDdENTLEVBQUEsS0FBSyxNQUFNVCxDQUFJLENBQUMsRUFDMUJXLEVBQVMsRUFBRSxRQUNKeE0sRUFBRyxDQUNWd00sRUFBVXhNLEVBQVksT0FBTyxDQUMvQixDQUFBLEVBQ0MsQ0FBQzZMLENBQUksQ0FBQyxFQUdQWSxFQUFBLEtBQUMsTUFBQSxDQUNDLE1BQU8sQ0FDTCxRQUFTLE9BQ1QsY0FBZSxTQUNmLE9BQVEsT0FDUixNQUFPLE1BQ1QsRUFFQSxTQUFBLENBQUFBLEVBQUEsS0FBQyxNQUFBLENBQ0MsR0FBRyxVQUNILE1BQU8sQ0FDTCxTQUFVLENBQ1osRUFHQSxTQUFBLENBQUEvQixFQUFBLElBQUMsTUFBQSxDQUNDLE1BQU8sQ0FDTCxPQUFRLElBQ1IsTUFBTyxLQUNQLFVBQVcsU0FDWCxVQUFXLFNBQ1gsT0FBUSxPQUNSLE9BQVEsaUJBQ1YsRUFFRSxTQUFVMkIsR0FBQTNCLEVBQUEsSUFBQ2hELEdBQU0sQ0FBQSxHQUFHMkUsQ0FBUSxDQUFBLENBQUEsQ0FDaEMsRUFDQTNCLE1BQUMsT0FBSSxNQUFPLENBQ1YsTUFBTyxLQUFBLEVBQ0wsU0FBTTZCLEVBQUEsQ0FBQSxDQUFBLENBQ1osRUFDQUUsRUFBQSxLQUFDLE1BQUEsQ0FDQyxHQUFHLFlBQ0gsTUFBTyxDQUNMLFVBQVcsa0JBQ1gsT0FBUSxLQUNWLEVBRUMsU0FBQSxDQUFBLElBQ0QvQixFQUFBLElBQUNrQixHQUFBLENBQ0MsS0FBQUMsRUFDQSxLQUFLLEtBQ0wsU0FBVU8sQ0FBQSxDQUNaLENBQUEsQ0FBQSxDQUNGLENBQUEsQ0FBQSxDQUFBLENBR04iLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMCwxLDIsMyw0LDUsNiw3LDgsOSwxMV19 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JpZFNhbXBsZVBhZ2UtLVlkZHpiWTcuanMiLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxpcy9zcmMvRW51bS5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1V0aWxpdHkuanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9Ub2tlbml6ZXIuanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9QYXJzZXIuanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9QcmVmaXhlci5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1NlcmlhbGl6ZXIuanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9NaWRkbGV3YXJlLmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL3VuaXRsZXNzL2Rpc3QvZW1vdGlvbi11bml0bGVzcy5lc20uanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGVkLWNvbXBvbmVudHMvZGlzdC9zdHlsZWQtY29tcG9uZW50cy5icm93c2VyLmVzbS5qcyIsIi4uLy4uL3NyYy9jb21wb25lbnRzL0dyaWQudHN4IiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvZGVmbGFzay9idWlsZC9jb2RlZmxhc2subW9kdWxlLmpzIiwiLi4vLi4vc3JjL2NvbXBvbmVudHMvQ29kZUZsYXNrRWRpdG9yLnRzeCIsIi4uLy4uL3NyYy9wYWdlcy9HcmlkU2FtcGxlUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXG5cblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxuXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXG5SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxuTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1Jcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sICovXG5cbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xuICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XG4gICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XG4gICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYiwgcCkpIGRbcF0gPSBiW3BdOyB9O1xuICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xuICBpZiAodHlwZW9mIGIgIT09IFwiZnVuY3Rpb25cIiAmJiBiICE9PSBudWxsKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNsYXNzIGV4dGVuZHMgdmFsdWUgXCIgKyBTdHJpbmcoYikgKyBcIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsXCIpO1xuICBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cbiAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xufVxuXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XG4gIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XG4gICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xuICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XG4gICAgICB9XG4gICAgICByZXR1cm4gdDtcbiAgfVxuICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XG4gIHZhciB0ID0ge307XG4gIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgdFtwXSA9IHNbcF07XG4gIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgfVxuICByZXR1cm4gdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XG4gIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gX19lc0RlY29yYXRlKGN0b3IsIGRlc2NyaXB0b3JJbiwgZGVjb3JhdG9ycywgY29udGV4dEluLCBpbml0aWFsaXplcnMsIGV4dHJhSW5pdGlhbGl6ZXJzKSB7XG4gIGZ1bmN0aW9uIGFjY2VwdChmKSB7IGlmIChmICE9PSB2b2lkIDAgJiYgdHlwZW9mIGYgIT09IFwiZnVuY3Rpb25cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkZ1bmN0aW9uIGV4cGVjdGVkXCIpOyByZXR1cm4gZjsgfVxuICB2YXIga2luZCA9IGNvbnRleHRJbi5raW5kLCBrZXkgPSBraW5kID09PSBcImdldHRlclwiID8gXCJnZXRcIiA6IGtpbmQgPT09IFwic2V0dGVyXCIgPyBcInNldFwiIDogXCJ2YWx1ZVwiO1xuICB2YXIgdGFyZ2V0ID0gIWRlc2NyaXB0b3JJbiAmJiBjdG9yID8gY29udGV4dEluW1wic3RhdGljXCJdID8gY3RvciA6IGN0b3IucHJvdG90eXBlIDogbnVsbDtcbiAgdmFyIGRlc2NyaXB0b3IgPSBkZXNjcmlwdG9ySW4gfHwgKHRhcmdldCA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSkgOiB7fSk7XG4gIHZhciBfLCBkb25lID0gZmFsc2U7XG4gIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICB2YXIgY29udGV4dCA9IHt9O1xuICAgICAgZm9yICh2YXIgcCBpbiBjb250ZXh0SW4pIGNvbnRleHRbcF0gPSBwID09PSBcImFjY2Vzc1wiID8ge30gOiBjb250ZXh0SW5bcF07XG4gICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbi5hY2Nlc3MpIGNvbnRleHQuYWNjZXNzW3BdID0gY29udGV4dEluLmFjY2Vzc1twXTtcbiAgICAgIGNvbnRleHQuYWRkSW5pdGlhbGl6ZXIgPSBmdW5jdGlvbiAoZikgeyBpZiAoZG9uZSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZFwiKTsgZXh0cmFJbml0aWFsaXplcnMucHVzaChhY2NlcHQoZiB8fCBudWxsKSk7IH07XG4gICAgICB2YXIgcmVzdWx0ID0gKDAsIGRlY29yYXRvcnNbaV0pKGtpbmQgPT09IFwiYWNjZXNzb3JcIiA/IHsgZ2V0OiBkZXNjcmlwdG9yLmdldCwgc2V0OiBkZXNjcmlwdG9yLnNldCB9IDogZGVzY3JpcHRvcltrZXldLCBjb250ZXh0KTtcbiAgICAgIGlmIChraW5kID09PSBcImFjY2Vzc29yXCIpIHtcbiAgICAgICAgICBpZiAocmVzdWx0ID09PSB2b2lkIDApIGNvbnRpbnVlO1xuICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwgfHwgdHlwZW9mIHJlc3VsdCAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk9iamVjdCBleHBlY3RlZFwiKTtcbiAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuZ2V0KSkgZGVzY3JpcHRvci5nZXQgPSBfO1xuICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5zZXQpKSBkZXNjcmlwdG9yLnNldCA9IF87XG4gICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmluaXQpKSBpbml0aWFsaXplcnMudW5zaGlmdChfKTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKF8gPSBhY2NlcHQocmVzdWx0KSkge1xuICAgICAgICAgIGlmIChraW5kID09PSBcImZpZWxkXCIpIGluaXRpYWxpemVycy51bnNoaWZ0KF8pO1xuICAgICAgICAgIGVsc2UgZGVzY3JpcHRvcltrZXldID0gXztcbiAgICAgIH1cbiAgfVxuICBpZiAodGFyZ2V0KSBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSwgZGVzY3JpcHRvcik7XG4gIGRvbmUgPSB0cnVlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXNBcmcsIGluaXRpYWxpemVycywgdmFsdWUpIHtcbiAgdmFyIHVzZVZhbHVlID0gYXJndW1lbnRzLmxlbmd0aCA+IDI7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgaW5pdGlhbGl6ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YWx1ZSA9IHVzZVZhbHVlID8gaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZywgdmFsdWUpIDogaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZyk7XG4gIH1cbiAgcmV0dXJuIHVzZVZhbHVlID8gdmFsdWUgOiB2b2lkIDA7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gX19wcm9wS2V5KHgpIHtcbiAgcmV0dXJuIHR5cGVvZiB4ID09PSBcInN5bWJvbFwiID8geCA6IFwiXCIuY29uY2F0KHgpO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9fc2V0RnVuY3Rpb25OYW1lKGYsIG5hbWUsIHByZWZpeCkge1xuICBpZiAodHlwZW9mIG5hbWUgPT09IFwic3ltYm9sXCIpIG5hbWUgPSBuYW1lLmRlc2NyaXB0aW9uID8gXCJbXCIuY29uY2F0KG5hbWUuZGVzY3JpcHRpb24sIFwiXVwiKSA6IFwiXCI7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwgXCJuYW1lXCIsIHsgY29uZmlndXJhYmxlOiB0cnVlLCB2YWx1ZTogcHJlZml4ID8gXCJcIi5jb25jYXQocHJlZml4LCBcIiBcIiwgbmFtZSkgOiBuYW1lIH0pO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcbiAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcbiAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcbiAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XG4gIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxuICBmdW5jdGlvbiBzdGVwKG9wKSB7XG4gICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XG4gICAgICB3aGlsZSAoZyAmJiAoZyA9IDAsIG9wWzBdICYmIChfID0gMCkpLCBfKSB0cnkge1xuICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcbiAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XG4gICAgICAgICAgc3dpdGNoIChvcFswXSkge1xuICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcbiAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xuICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cbiAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XG4gICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cbiAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cbiAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xuICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxuICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XG4gIH1cbn1cblxuZXhwb3J0IHZhciBfX2NyZWF0ZUJpbmRpbmcgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XG4gIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihtLCBrKTtcbiAgaWYgKCFkZXNjIHx8IChcImdldFwiIGluIGRlc2MgPyAhbS5fX2VzTW9kdWxlIDogZGVzYy53cml0YWJsZSB8fCBkZXNjLmNvbmZpZ3VyYWJsZSkpIHtcbiAgICAgIGRlc2MgPSB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBtW2tdOyB9IH07XG4gIH1cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIGsyLCBkZXNjKTtcbn0pIDogKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XG4gIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gIG9bazJdID0gbVtrXTtcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gX19leHBvcnRTdGFyKG0sIG8pIHtcbiAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLCBwKSkgX19jcmVhdGVCaW5kaW5nKG8sIG0sIHApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xuICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xuICBpZiAobSkgcmV0dXJuIG0uY2FsbChvKTtcbiAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xuICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XG4gICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xuICAgICAgfVxuICB9O1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xuICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XG4gIGlmICghbSkgcmV0dXJuIG87XG4gIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xuICB0cnkge1xuICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XG4gIH1cbiAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XG4gIGZpbmFsbHkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcbiAgICAgIH1cbiAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxuICB9XG4gIHJldHVybiBhcjtcbn1cblxuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XG4gIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxuICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xuICByZXR1cm4gYXI7XG59XG5cbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xuICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcbiAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxuICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXG4gICAgICAgICAgcltrXSA9IGFbal07XG4gIHJldHVybiByO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheSh0bywgZnJvbSwgcGFjaykge1xuICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKGFyIHx8ICEoaSBpbiBmcm9tKSkge1xuICAgICAgICAgIGlmICghYXIpIGFyID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSwgMCwgaSk7XG4gICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xuICAgICAgfVxuICB9XG4gIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XG4gIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcbiAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcbiAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcbiAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xuICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cbiAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxuICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cbiAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxuICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XG4gIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xuICB2YXIgaSwgcDtcbiAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcbiAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogZmFsc2UgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNWYWx1ZXMobykge1xuICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xuICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xuICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpLCBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaSk7XG4gIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cbiAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcbiAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cbiAgcmV0dXJuIGNvb2tlZDtcbn07XG5cbnZhciBfX3NldE1vZHVsZURlZmF1bHQgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIHYpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIFwiZGVmYXVsdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2IH0pO1xufSkgOiBmdW5jdGlvbihvLCB2KSB7XG4gIG9bXCJkZWZhdWx0XCJdID0gdjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XG4gIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XG4gIHZhciByZXN1bHQgPSB7fTtcbiAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKGsgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSBfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LCBtb2QsIGspO1xuICBfX3NldE1vZHVsZURlZmF1bHQocmVzdWx0LCBtb2QpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xuICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHtcbiAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgZ2V0dGVyXCIpO1xuICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCByZWFkIHByaXZhdGUgbWVtYmVyIGZyb20gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcbiAgcmV0dXJuIGtpbmQgPT09IFwibVwiID8gZiA6IGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRTZXQocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikge1xuICBpZiAoa2luZCA9PT0gXCJtXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGVcIik7XG4gIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIHNldHRlclwiKTtcbiAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcbiAgcmV0dXJuIChraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4oc3RhdGUsIHJlY2VpdmVyKSB7XG4gIGlmIChyZWNlaXZlciA9PT0gbnVsbCB8fCAodHlwZW9mIHJlY2VpdmVyICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiByZWNlaXZlciAhPT0gXCJmdW5jdGlvblwiKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0XCIpO1xuICByZXR1cm4gdHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciA9PT0gc3RhdGUgOiBzdGF0ZS5oYXMocmVjZWl2ZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hZGREaXNwb3NhYmxlUmVzb3VyY2UoZW52LCB2YWx1ZSwgYXN5bmMpIHtcbiAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB2b2lkIDApIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiB2YWx1ZSAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiT2JqZWN0IGV4cGVjdGVkLlwiKTtcbiAgICB2YXIgZGlzcG9zZTtcbiAgICBpZiAoYXN5bmMpIHtcbiAgICAgICAgaWYgKCFTeW1ib2wuYXN5bmNEaXNwb3NlKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jRGlzcG9zZSBpcyBub3QgZGVmaW5lZC5cIik7XG4gICAgICAgIGRpc3Bvc2UgPSB2YWx1ZVtTeW1ib2wuYXN5bmNEaXNwb3NlXTtcbiAgICB9XG4gICAgaWYgKGRpc3Bvc2UgPT09IHZvaWQgMCkge1xuICAgICAgICBpZiAoIVN5bWJvbC5kaXNwb3NlKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmRpc3Bvc2UgaXMgbm90IGRlZmluZWQuXCIpO1xuICAgICAgICBkaXNwb3NlID0gdmFsdWVbU3ltYm9sLmRpc3Bvc2VdO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGRpc3Bvc2UgIT09IFwiZnVuY3Rpb25cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk9iamVjdCBub3QgZGlzcG9zYWJsZS5cIik7XG4gICAgZW52LnN0YWNrLnB1c2goeyB2YWx1ZTogdmFsdWUsIGRpc3Bvc2U6IGRpc3Bvc2UsIGFzeW5jOiBhc3luYyB9KTtcbiAgfVxuICBlbHNlIGlmIChhc3luYykge1xuICAgIGVudi5zdGFjay5wdXNoKHsgYXN5bmM6IHRydWUgfSk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG52YXIgX1N1cHByZXNzZWRFcnJvciA9IHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09IFwiZnVuY3Rpb25cIiA/IFN1cHByZXNzZWRFcnJvciA6IGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCwgbWVzc2FnZSkge1xuICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2Rpc3Bvc2VSZXNvdXJjZXMoZW52KSB7XG4gIGZ1bmN0aW9uIGZhaWwoZSkge1xuICAgIGVudi5lcnJvciA9IGVudi5oYXNFcnJvciA/IG5ldyBfU3VwcHJlc3NlZEVycm9yKGUsIGVudi5lcnJvciwgXCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuXCIpIDogZTtcbiAgICBlbnYuaGFzRXJyb3IgPSB0cnVlO1xuICB9XG4gIGZ1bmN0aW9uIG5leHQoKSB7XG4gICAgd2hpbGUgKGVudi5zdGFjay5sZW5ndGgpIHtcbiAgICAgIHZhciByZWMgPSBlbnYuc3RhY2sucG9wKCk7XG4gICAgICB0cnkge1xuICAgICAgICB2YXIgcmVzdWx0ID0gcmVjLmRpc3Bvc2UgJiYgcmVjLmRpc3Bvc2UuY2FsbChyZWMudmFsdWUpO1xuICAgICAgICBpZiAocmVjLmFzeW5jKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCkudGhlbihuZXh0LCBmdW5jdGlvbihlKSB7IGZhaWwoZSk7IHJldHVybiBuZXh0KCk7IH0pO1xuICAgICAgfVxuICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICBmYWlsKGUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZW52Lmhhc0Vycm9yKSB0aHJvdyBlbnYuZXJyb3I7XG4gIH1cbiAgcmV0dXJuIG5leHQoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBfX2V4dGVuZHMsXG4gIF9fYXNzaWduLFxuICBfX3Jlc3QsXG4gIF9fZGVjb3JhdGUsXG4gIF9fcGFyYW0sXG4gIF9fbWV0YWRhdGEsXG4gIF9fYXdhaXRlcixcbiAgX19nZW5lcmF0b3IsXG4gIF9fY3JlYXRlQmluZGluZyxcbiAgX19leHBvcnRTdGFyLFxuICBfX3ZhbHVlcyxcbiAgX19yZWFkLFxuICBfX3NwcmVhZCxcbiAgX19zcHJlYWRBcnJheXMsXG4gIF9fc3ByZWFkQXJyYXksXG4gIF9fYXdhaXQsXG4gIF9fYXN5bmNHZW5lcmF0b3IsXG4gIF9fYXN5bmNEZWxlZ2F0b3IsXG4gIF9fYXN5bmNWYWx1ZXMsXG4gIF9fbWFrZVRlbXBsYXRlT2JqZWN0LFxuICBfX2ltcG9ydFN0YXIsXG4gIF9faW1wb3J0RGVmYXVsdCxcbiAgX19jbGFzc1ByaXZhdGVGaWVsZEdldCxcbiAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCxcbiAgX19jbGFzc1ByaXZhdGVGaWVsZEluLFxuICBfX2FkZERpc3Bvc2FibGVSZXNvdXJjZSxcbiAgX19kaXNwb3NlUmVzb3VyY2VzLFxufTtcbiIsImV4cG9ydCB2YXIgTVMgPSAnLW1zLSdcbmV4cG9ydCB2YXIgTU9aID0gJy1tb3otJ1xuZXhwb3J0IHZhciBXRUJLSVQgPSAnLXdlYmtpdC0nXG5cbmV4cG9ydCB2YXIgQ09NTUVOVCA9ICdjb21tJ1xuZXhwb3J0IHZhciBSVUxFU0VUID0gJ3J1bGUnXG5leHBvcnQgdmFyIERFQ0xBUkFUSU9OID0gJ2RlY2wnXG5cbmV4cG9ydCB2YXIgUEFHRSA9ICdAcGFnZSdcbmV4cG9ydCB2YXIgTUVESUEgPSAnQG1lZGlhJ1xuZXhwb3J0IHZhciBJTVBPUlQgPSAnQGltcG9ydCdcbmV4cG9ydCB2YXIgQ0hBUlNFVCA9ICdAY2hhcnNldCdcbmV4cG9ydCB2YXIgVklFV1BPUlQgPSAnQHZpZXdwb3J0J1xuZXhwb3J0IHZhciBTVVBQT1JUUyA9ICdAc3VwcG9ydHMnXG5leHBvcnQgdmFyIERPQ1VNRU5UID0gJ0Bkb2N1bWVudCdcbmV4cG9ydCB2YXIgTkFNRVNQQUNFID0gJ0BuYW1lc3BhY2UnXG5leHBvcnQgdmFyIEtFWUZSQU1FUyA9ICdAa2V5ZnJhbWVzJ1xuZXhwb3J0IHZhciBGT05UX0ZBQ0UgPSAnQGZvbnQtZmFjZSdcbmV4cG9ydCB2YXIgQ09VTlRFUl9TVFlMRSA9ICdAY291bnRlci1zdHlsZSdcbmV4cG9ydCB2YXIgRk9OVF9GRUFUVVJFX1ZBTFVFUyA9ICdAZm9udC1mZWF0dXJlLXZhbHVlcydcbmV4cG9ydCB2YXIgTEFZRVIgPSAnQGxheWVyJ1xuZXhwb3J0IHZhciBTQ09QRSA9ICdAc2NvcGUnXG4iLCIvKipcbiAqIEBwYXJhbSB7bnVtYmVyfVxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgdmFyIGFicyA9IE1hdGguYWJzXG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9XG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCB2YXIgZnJvbSA9IFN0cmluZy5mcm9tQ2hhckNvZGVcblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH1cbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZXhwb3J0IHZhciBhc3NpZ24gPSBPYmplY3QuYXNzaWduXG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNoICh2YWx1ZSwgbGVuZ3RoKSB7XG5cdHJldHVybiBjaGFyYXQodmFsdWUsIDApIF4gNDUgPyAoKCgoKCgobGVuZ3RoIDw8IDIpIF4gY2hhcmF0KHZhbHVlLCAwKSkgPDwgMikgXiBjaGFyYXQodmFsdWUsIDEpKSA8PCAyKSBeIGNoYXJhdCh2YWx1ZSwgMikpIDw8IDIpIF4gY2hhcmF0KHZhbHVlLCAzKSA6IDBcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyaW0gKHZhbHVlKSB7XG5cdHJldHVybiB2YWx1ZS50cmltKClcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7UmVnRXhwfSBwYXR0ZXJuXG4gKiBAcmV0dXJuIHtzdHJpbmc/fVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2ggKHZhbHVlLCBwYXR0ZXJuKSB7XG5cdHJldHVybiAodmFsdWUgPSBwYXR0ZXJuLmV4ZWModmFsdWUpKSA/IHZhbHVlWzBdIDogdmFsdWVcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7KHN0cmluZ3xSZWdFeHApfSBwYXR0ZXJuXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVwbGFjZW1lbnRcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2UgKHZhbHVlLCBwYXR0ZXJuLCByZXBsYWNlbWVudCkge1xuXHRyZXR1cm4gdmFsdWUucmVwbGFjZShwYXR0ZXJuLCByZXBsYWNlbWVudClcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7c3RyaW5nfSBzZWFyY2hcbiAqIEBwYXJhbSB7bnVtYmVyfSBwb3NpdGlvblxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5kZXhvZiAodmFsdWUsIHNlYXJjaCwgcG9zaXRpb24pIHtcblx0cmV0dXJuIHZhbHVlLmluZGV4T2Yoc2VhcmNoLCBwb3NpdGlvbilcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hhcmF0ICh2YWx1ZSwgaW5kZXgpIHtcblx0cmV0dXJuIHZhbHVlLmNoYXJDb2RlQXQoaW5kZXgpIHwgMFxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IGJlZ2luXG4gKiBAcGFyYW0ge251bWJlcn0gZW5kXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJzdHIgKHZhbHVlLCBiZWdpbiwgZW5kKSB7XG5cdHJldHVybiB2YWx1ZS5zbGljZShiZWdpbiwgZW5kKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RybGVuICh2YWx1ZSkge1xuXHRyZXR1cm4gdmFsdWUubGVuZ3RoXG59XG5cbi8qKlxuICogQHBhcmFtIHthbnlbXX0gdmFsdWVcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpemVvZiAodmFsdWUpIHtcblx0cmV0dXJuIHZhbHVlLmxlbmd0aFxufVxuXG4vKipcbiAqIEBwYXJhbSB7YW55fSB2YWx1ZVxuICogQHBhcmFtIHthbnlbXX0gYXJyYXlcbiAqIEByZXR1cm4ge2FueX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZCAodmFsdWUsIGFycmF5KSB7XG5cdHJldHVybiBhcnJheS5wdXNoKHZhbHVlKSwgdmFsdWVcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBhcnJheVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmUgKGFycmF5LCBjYWxsYmFjaykge1xuXHRyZXR1cm4gYXJyYXkubWFwKGNhbGxiYWNrKS5qb2luKCcnKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nW119IGFycmF5XG4gKiBAcGFyYW0ge1JlZ0V4cH0gcGF0dGVyblxuICogQHJldHVybiB7c3RyaW5nW119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXIgKGFycmF5LCBwYXR0ZXJuKSB7XG5cdHJldHVybiBhcnJheS5maWx0ZXIoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiAhbWF0Y2godmFsdWUsIHBhdHRlcm4pIH0pXG59XG4iLCJpbXBvcnQge2Zyb20sIHRyaW0sIGNoYXJhdCwgc3RybGVuLCBzdWJzdHIsIGFwcGVuZCwgYXNzaWdufSBmcm9tICcuL1V0aWxpdHkuanMnXG5cbmV4cG9ydCB2YXIgbGluZSA9IDFcbmV4cG9ydCB2YXIgY29sdW1uID0gMVxuZXhwb3J0IHZhciBsZW5ndGggPSAwXG5leHBvcnQgdmFyIHBvc2l0aW9uID0gMFxuZXhwb3J0IHZhciBjaGFyYWN0ZXIgPSAwXG5leHBvcnQgdmFyIGNoYXJhY3RlcnMgPSAnJ1xuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtvYmplY3QgfCBudWxsfSByb290XG4gKiBAcGFyYW0ge29iamVjdCB8IG51bGx9IHBhcmVudFxuICogQHBhcmFtIHtzdHJpbmd9IHR5cGVcbiAqIEBwYXJhbSB7c3RyaW5nW10gfCBzdHJpbmd9IHByb3BzXG4gKiBAcGFyYW0ge29iamVjdFtdIHwgc3RyaW5nfSBjaGlsZHJlblxuICogQHBhcmFtIHtvYmplY3RbXX0gc2libGluZ3NcbiAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vZGUgKHZhbHVlLCByb290LCBwYXJlbnQsIHR5cGUsIHByb3BzLCBjaGlsZHJlbiwgbGVuZ3RoLCBzaWJsaW5ncykge1xuXHRyZXR1cm4ge3ZhbHVlOiB2YWx1ZSwgcm9vdDogcm9vdCwgcGFyZW50OiBwYXJlbnQsIHR5cGU6IHR5cGUsIHByb3BzOiBwcm9wcywgY2hpbGRyZW46IGNoaWxkcmVuLCBsaW5lOiBsaW5lLCBjb2x1bW46IGNvbHVtbiwgbGVuZ3RoOiBsZW5ndGgsIHJldHVybjogJycsIHNpYmxpbmdzOiBzaWJsaW5nc31cbn1cblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gcm9vdFxuICogQHBhcmFtIHtvYmplY3R9IHByb3BzXG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb3B5IChyb290LCBwcm9wcykge1xuXHRyZXR1cm4gYXNzaWduKG5vZGUoJycsIG51bGwsIG51bGwsICcnLCBudWxsLCBudWxsLCAwLCByb290LnNpYmxpbmdzKSwgcm9vdCwge2xlbmd0aDogLXJvb3QubGVuZ3RofSwgcHJvcHMpXG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IHJvb3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpZnQgKHJvb3QpIHtcblx0d2hpbGUgKHJvb3Qucm9vdClcblx0XHRyb290ID0gY29weShyb290LnJvb3QsIHtjaGlsZHJlbjogW3Jvb3RdfSlcblxuXHRhcHBlbmQocm9vdCwgcm9vdC5zaWJsaW5ncylcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGFyICgpIHtcblx0cmV0dXJuIGNoYXJhY3RlclxufVxuXG4vKipcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByZXYgKCkge1xuXHRjaGFyYWN0ZXIgPSBwb3NpdGlvbiA+IDAgPyBjaGFyYXQoY2hhcmFjdGVycywgLS1wb3NpdGlvbikgOiAwXG5cblx0aWYgKGNvbHVtbi0tLCBjaGFyYWN0ZXIgPT09IDEwKVxuXHRcdGNvbHVtbiA9IDEsIGxpbmUtLVxuXG5cdHJldHVybiBjaGFyYWN0ZXJcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuZXh0ICgpIHtcblx0Y2hhcmFjdGVyID0gcG9zaXRpb24gPCBsZW5ndGggPyBjaGFyYXQoY2hhcmFjdGVycywgcG9zaXRpb24rKykgOiAwXG5cblx0aWYgKGNvbHVtbisrLCBjaGFyYWN0ZXIgPT09IDEwKVxuXHRcdGNvbHVtbiA9IDEsIGxpbmUrK1xuXG5cdHJldHVybiBjaGFyYWN0ZXJcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwZWVrICgpIHtcblx0cmV0dXJuIGNoYXJhdChjaGFyYWN0ZXJzLCBwb3NpdGlvbilcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYXJldCAoKSB7XG5cdHJldHVybiBwb3NpdGlvblxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSBiZWdpblxuICogQHBhcmFtIHtudW1iZXJ9IGVuZFxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2xpY2UgKGJlZ2luLCBlbmQpIHtcblx0cmV0dXJuIHN1YnN0cihjaGFyYWN0ZXJzLCBiZWdpbiwgZW5kKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbiAodHlwZSkge1xuXHRzd2l0Y2ggKHR5cGUpIHtcblx0XHQvLyBcXDAgXFx0IFxcbiBcXHIgXFxzIHdoaXRlc3BhY2UgdG9rZW5cblx0XHRjYXNlIDA6IGNhc2UgOTogY2FzZSAxMDogY2FzZSAxMzogY2FzZSAzMjpcblx0XHRcdHJldHVybiA1XG5cdFx0Ly8gISArICwgLyA+IEAgfiBpc29sYXRlIHRva2VuXG5cdFx0Y2FzZSAzMzogY2FzZSA0MzogY2FzZSA0NDogY2FzZSA0NzogY2FzZSA2MjogY2FzZSA2NDogY2FzZSAxMjY6XG5cdFx0Ly8gOyB7IH0gYnJlYWtwb2ludCB0b2tlblxuXHRcdGNhc2UgNTk6IGNhc2UgMTIzOiBjYXNlIDEyNTpcblx0XHRcdHJldHVybiA0XG5cdFx0Ly8gOiBhY2NvbXBhbmllZCB0b2tlblxuXHRcdGNhc2UgNTg6XG5cdFx0XHRyZXR1cm4gM1xuXHRcdC8vIFwiICcgKCBbIG9wZW5pbmcgZGVsaW1pdCB0b2tlblxuXHRcdGNhc2UgMzQ6IGNhc2UgMzk6IGNhc2UgNDA6IGNhc2UgOTE6XG5cdFx0XHRyZXR1cm4gMlxuXHRcdC8vICkgXSBjbG9zaW5nIGRlbGltaXQgdG9rZW5cblx0XHRjYXNlIDQxOiBjYXNlIDkzOlxuXHRcdFx0cmV0dXJuIDFcblx0fVxuXG5cdHJldHVybiAwXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJuIHthbnlbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFsbG9jICh2YWx1ZSkge1xuXHRyZXR1cm4gbGluZSA9IGNvbHVtbiA9IDEsIGxlbmd0aCA9IHN0cmxlbihjaGFyYWN0ZXJzID0gdmFsdWUpLCBwb3NpdGlvbiA9IDAsIFtdXG59XG5cbi8qKlxuICogQHBhcmFtIHthbnl9IHZhbHVlXG4gKiBAcmV0dXJuIHthbnl9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWFsbG9jICh2YWx1ZSkge1xuXHRyZXR1cm4gY2hhcmFjdGVycyA9ICcnLCB2YWx1ZVxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxpbWl0ICh0eXBlKSB7XG5cdHJldHVybiB0cmltKHNsaWNlKHBvc2l0aW9uIC0gMSwgZGVsaW1pdGVyKHR5cGUgPT09IDkxID8gdHlwZSArIDIgOiB0eXBlID09PSA0MCA/IHR5cGUgKyAxIDogdHlwZSkpKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHJldHVybiB7c3RyaW5nW119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbml6ZSAodmFsdWUpIHtcblx0cmV0dXJuIGRlYWxsb2ModG9rZW5pemVyKGFsbG9jKHZhbHVlKSkpXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IHR5cGVcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdoaXRlc3BhY2UgKHR5cGUpIHtcblx0d2hpbGUgKGNoYXJhY3RlciA9IHBlZWsoKSlcblx0XHRpZiAoY2hhcmFjdGVyIDwgMzMpXG5cdFx0XHRuZXh0KClcblx0XHRlbHNlXG5cdFx0XHRicmVha1xuXG5cdHJldHVybiB0b2tlbih0eXBlKSA+IDIgfHwgdG9rZW4oY2hhcmFjdGVyKSA+IDMgPyAnJyA6ICcgJ1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nW119IGNoaWxkcmVuXG4gKiBAcmV0dXJuIHtzdHJpbmdbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRva2VuaXplciAoY2hpbGRyZW4pIHtcblx0d2hpbGUgKG5leHQoKSlcblx0XHRzd2l0Y2ggKHRva2VuKGNoYXJhY3RlcikpIHtcblx0XHRcdGNhc2UgMDogYXBwZW5kKGlkZW50aWZpZXIocG9zaXRpb24gLSAxKSwgY2hpbGRyZW4pXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHRjYXNlIDI6IGFwcGVuZChkZWxpbWl0KGNoYXJhY3RlciksIGNoaWxkcmVuKVxuXHRcdFx0XHRicmVha1xuXHRcdFx0ZGVmYXVsdDogYXBwZW5kKGZyb20oY2hhcmFjdGVyKSwgY2hpbGRyZW4pXG5cdFx0fVxuXG5cdHJldHVybiBjaGlsZHJlblxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHBhcmFtIHtudW1iZXJ9IGNvdW50XG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGluZyAoaW5kZXgsIGNvdW50KSB7XG5cdHdoaWxlICgtLWNvdW50ICYmIG5leHQoKSlcblx0XHQvLyBub3QgMC05IEEtRiBhLWZcblx0XHRpZiAoY2hhcmFjdGVyIDwgNDggfHwgY2hhcmFjdGVyID4gMTAyIHx8IChjaGFyYWN0ZXIgPiA1NyAmJiBjaGFyYWN0ZXIgPCA2NSkgfHwgKGNoYXJhY3RlciA+IDcwICYmIGNoYXJhY3RlciA8IDk3KSlcblx0XHRcdGJyZWFrXG5cblx0cmV0dXJuIHNsaWNlKGluZGV4LCBjYXJldCgpICsgKGNvdW50IDwgNiAmJiBwZWVrKCkgPT0gMzIgJiYgbmV4dCgpID09IDMyKSlcbn1cblxuLyoqXG4gKiBAcGFyYW0ge251bWJlcn0gdHlwZVxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVsaW1pdGVyICh0eXBlKSB7XG5cdHdoaWxlIChuZXh0KCkpXG5cdFx0c3dpdGNoIChjaGFyYWN0ZXIpIHtcblx0XHRcdC8vIF0gKSBcIiAnXG5cdFx0XHRjYXNlIHR5cGU6XG5cdFx0XHRcdHJldHVybiBwb3NpdGlvblxuXHRcdFx0Ly8gXCIgJ1xuXHRcdFx0Y2FzZSAzNDogY2FzZSAzOTpcblx0XHRcdFx0aWYgKHR5cGUgIT09IDM0ICYmIHR5cGUgIT09IDM5KVxuXHRcdFx0XHRcdGRlbGltaXRlcihjaGFyYWN0ZXIpXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyAoXG5cdFx0XHRjYXNlIDQwOlxuXHRcdFx0XHRpZiAodHlwZSA9PT0gNDEpXG5cdFx0XHRcdFx0ZGVsaW1pdGVyKHR5cGUpXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyBcXFxuXHRcdFx0Y2FzZSA5Mjpcblx0XHRcdFx0bmV4dCgpXG5cdFx0XHRcdGJyZWFrXG5cdFx0fVxuXG5cdHJldHVybiBwb3NpdGlvblxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbW1lbnRlciAodHlwZSwgaW5kZXgpIHtcblx0d2hpbGUgKG5leHQoKSlcblx0XHQvLyAvL1xuXHRcdGlmICh0eXBlICsgY2hhcmFjdGVyID09PSA0NyArIDEwKVxuXHRcdFx0YnJlYWtcblx0XHQvLyAvKlxuXHRcdGVsc2UgaWYgKHR5cGUgKyBjaGFyYWN0ZXIgPT09IDQyICsgNDIgJiYgcGVlaygpID09PSA0Nylcblx0XHRcdGJyZWFrXG5cblx0cmV0dXJuICcvKicgKyBzbGljZShpbmRleCwgcG9zaXRpb24gLSAxKSArICcqJyArIGZyb20odHlwZSA9PT0gNDcgPyB0eXBlIDogbmV4dCgpKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gaWRlbnRpZmllciAoaW5kZXgpIHtcblx0d2hpbGUgKCF0b2tlbihwZWVrKCkpKVxuXHRcdG5leHQoKVxuXG5cdHJldHVybiBzbGljZShpbmRleCwgcG9zaXRpb24pXG59XG4iLCJpbXBvcnQge0NPTU1FTlQsIFJVTEVTRVQsIERFQ0xBUkFUSU9OfSBmcm9tICcuL0VudW0uanMnXG5pbXBvcnQge2FicywgY2hhcmF0LCB0cmltLCBmcm9tLCBzaXplb2YsIHN0cmxlbiwgc3Vic3RyLCBhcHBlbmQsIHJlcGxhY2UsIGluZGV4b2Z9IGZyb20gJy4vVXRpbGl0eS5qcydcbmltcG9ydCB7bm9kZSwgY2hhciwgcHJldiwgbmV4dCwgcGVlaywgY2FyZXQsIGFsbG9jLCBkZWFsbG9jLCBkZWxpbWl0LCB3aGl0ZXNwYWNlLCBlc2NhcGluZywgaWRlbnRpZmllciwgY29tbWVudGVyfSBmcm9tICcuL1Rva2VuaXplci5qcydcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm4ge29iamVjdFtdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcGlsZSAodmFsdWUpIHtcblx0cmV0dXJuIGRlYWxsb2MocGFyc2UoJycsIG51bGwsIG51bGwsIG51bGwsIFsnJ10sIHZhbHVlID0gYWxsb2ModmFsdWUpLCAwLCBbMF0sIHZhbHVlKSlcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7b2JqZWN0fSByb290XG4gKiBAcGFyYW0ge29iamVjdD99IHBhcmVudFxuICogQHBhcmFtIHtzdHJpbmdbXX0gcnVsZVxuICogQHBhcmFtIHtzdHJpbmdbXX0gcnVsZXNcbiAqIEBwYXJhbSB7c3RyaW5nW119IHJ1bGVzZXRzXG4gKiBAcGFyYW0ge251bWJlcltdfSBwc2V1ZG9cbiAqIEBwYXJhbSB7bnVtYmVyW119IHBvaW50c1xuICogQHBhcmFtIHtzdHJpbmdbXX0gZGVjbGFyYXRpb25zXG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZSAodmFsdWUsIHJvb3QsIHBhcmVudCwgcnVsZSwgcnVsZXMsIHJ1bGVzZXRzLCBwc2V1ZG8sIHBvaW50cywgZGVjbGFyYXRpb25zKSB7XG5cdHZhciBpbmRleCA9IDBcblx0dmFyIG9mZnNldCA9IDBcblx0dmFyIGxlbmd0aCA9IHBzZXVkb1xuXHR2YXIgYXRydWxlID0gMFxuXHR2YXIgcHJvcGVydHkgPSAwXG5cdHZhciBwcmV2aW91cyA9IDBcblx0dmFyIHZhcmlhYmxlID0gMVxuXHR2YXIgc2Nhbm5pbmcgPSAxXG5cdHZhciBhbXBlcnNhbmQgPSAxXG5cdHZhciBjaGFyYWN0ZXIgPSAwXG5cdHZhciB0eXBlID0gJydcblx0dmFyIHByb3BzID0gcnVsZXNcblx0dmFyIGNoaWxkcmVuID0gcnVsZXNldHNcblx0dmFyIHJlZmVyZW5jZSA9IHJ1bGVcblx0dmFyIGNoYXJhY3RlcnMgPSB0eXBlXG5cblx0d2hpbGUgKHNjYW5uaW5nKVxuXHRcdHN3aXRjaCAocHJldmlvdXMgPSBjaGFyYWN0ZXIsIGNoYXJhY3RlciA9IG5leHQoKSkge1xuXHRcdFx0Ly8gKFxuXHRcdFx0Y2FzZSA0MDpcblx0XHRcdFx0aWYgKHByZXZpb3VzICE9IDEwOCAmJiBjaGFyYXQoY2hhcmFjdGVycywgbGVuZ3RoIC0gMSkgPT0gNTgpIHtcblx0XHRcdFx0XHRpZiAoaW5kZXhvZihjaGFyYWN0ZXJzICs9IHJlcGxhY2UoZGVsaW1pdChjaGFyYWN0ZXIpLCAnJicsICcmXFxmJyksICcmXFxmJywgYWJzKGluZGV4ID8gcG9pbnRzW2luZGV4IC0gMV0gOiAwKSkgIT0gLTEpXG5cdFx0XHRcdFx0XHRhbXBlcnNhbmQgPSAtMVxuXHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdH1cblx0XHRcdC8vIFwiICcgW1xuXHRcdFx0Y2FzZSAzNDogY2FzZSAzOTogY2FzZSA5MTpcblx0XHRcdFx0Y2hhcmFjdGVycyArPSBkZWxpbWl0KGNoYXJhY3Rlcilcblx0XHRcdFx0YnJlYWtcblx0XHRcdC8vIFxcdCBcXG4gXFxyIFxcc1xuXHRcdFx0Y2FzZSA5OiBjYXNlIDEwOiBjYXNlIDEzOiBjYXNlIDMyOlxuXHRcdFx0XHRjaGFyYWN0ZXJzICs9IHdoaXRlc3BhY2UocHJldmlvdXMpXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyBcXFxuXHRcdFx0Y2FzZSA5Mjpcblx0XHRcdFx0Y2hhcmFjdGVycyArPSBlc2NhcGluZyhjYXJldCgpIC0gMSwgNylcblx0XHRcdFx0Y29udGludWVcblx0XHRcdC8vIC9cblx0XHRcdGNhc2UgNDc6XG5cdFx0XHRcdHN3aXRjaCAocGVlaygpKSB7XG5cdFx0XHRcdFx0Y2FzZSA0MjogY2FzZSA0Nzpcblx0XHRcdFx0XHRcdGFwcGVuZChjb21tZW50KGNvbW1lbnRlcihuZXh0KCksIGNhcmV0KCkpLCByb290LCBwYXJlbnQsIGRlY2xhcmF0aW9ucyksIGRlY2xhcmF0aW9ucylcblx0XHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdGNoYXJhY3RlcnMgKz0gJy8nXG5cdFx0XHRcdH1cblx0XHRcdFx0YnJlYWtcblx0XHRcdC8vIHtcblx0XHRcdGNhc2UgMTIzICogdmFyaWFibGU6XG5cdFx0XHRcdHBvaW50c1tpbmRleCsrXSA9IHN0cmxlbihjaGFyYWN0ZXJzKSAqIGFtcGVyc2FuZFxuXHRcdFx0Ly8gfSA7IFxcMFxuXHRcdFx0Y2FzZSAxMjUgKiB2YXJpYWJsZTogY2FzZSA1OTogY2FzZSAwOlxuXHRcdFx0XHRzd2l0Y2ggKGNoYXJhY3Rlcikge1xuXHRcdFx0XHRcdC8vIFxcMCB9XG5cdFx0XHRcdFx0Y2FzZSAwOiBjYXNlIDEyNTogc2Nhbm5pbmcgPSAwXG5cdFx0XHRcdFx0Ly8gO1xuXHRcdFx0XHRcdGNhc2UgNTkgKyBvZmZzZXQ6IGlmIChhbXBlcnNhbmQgPT0gLTEpIGNoYXJhY3RlcnMgPSByZXBsYWNlKGNoYXJhY3RlcnMsIC9cXGYvZywgJycpXG5cdFx0XHRcdFx0XHRpZiAocHJvcGVydHkgPiAwICYmIChzdHJsZW4oY2hhcmFjdGVycykgLSBsZW5ndGgpKVxuXHRcdFx0XHRcdFx0XHRhcHBlbmQocHJvcGVydHkgPiAzMiA/IGRlY2xhcmF0aW9uKGNoYXJhY3RlcnMgKyAnOycsIHJ1bGUsIHBhcmVudCwgbGVuZ3RoIC0gMSwgZGVjbGFyYXRpb25zKSA6IGRlY2xhcmF0aW9uKHJlcGxhY2UoY2hhcmFjdGVycywgJyAnLCAnJykgKyAnOycsIHJ1bGUsIHBhcmVudCwgbGVuZ3RoIC0gMiwgZGVjbGFyYXRpb25zKSwgZGVjbGFyYXRpb25zKVxuXHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHQvLyBAIDtcblx0XHRcdFx0XHRjYXNlIDU5OiBjaGFyYWN0ZXJzICs9ICc7J1xuXHRcdFx0XHRcdC8vIHsgcnVsZS9hdC1ydWxlXG5cdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdGFwcGVuZChyZWZlcmVuY2UgPSBydWxlc2V0KGNoYXJhY3RlcnMsIHJvb3QsIHBhcmVudCwgaW5kZXgsIG9mZnNldCwgcnVsZXMsIHBvaW50cywgdHlwZSwgcHJvcHMgPSBbXSwgY2hpbGRyZW4gPSBbXSwgbGVuZ3RoLCBydWxlc2V0cyksIHJ1bGVzZXRzKVxuXG5cdFx0XHRcdFx0XHRpZiAoY2hhcmFjdGVyID09PSAxMjMpXG5cdFx0XHRcdFx0XHRcdGlmIChvZmZzZXQgPT09IDApXG5cdFx0XHRcdFx0XHRcdFx0cGFyc2UoY2hhcmFjdGVycywgcm9vdCwgcmVmZXJlbmNlLCByZWZlcmVuY2UsIHByb3BzLCBydWxlc2V0cywgbGVuZ3RoLCBwb2ludHMsIGNoaWxkcmVuKVxuXHRcdFx0XHRcdFx0XHRlbHNlXG5cdFx0XHRcdFx0XHRcdFx0c3dpdGNoIChhdHJ1bGUgPT09IDk5ICYmIGNoYXJhdChjaGFyYWN0ZXJzLCAzKSA9PT0gMTEwID8gMTAwIDogYXRydWxlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBkIGwgbSBzXG5cdFx0XHRcdFx0XHRcdFx0XHRjYXNlIDEwMDogY2FzZSAxMDg6IGNhc2UgMTA5OiBjYXNlIDExNTpcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFyc2UodmFsdWUsIHJlZmVyZW5jZSwgcmVmZXJlbmNlLCBydWxlICYmIGFwcGVuZChydWxlc2V0KHZhbHVlLCByZWZlcmVuY2UsIHJlZmVyZW5jZSwgMCwgMCwgcnVsZXMsIHBvaW50cywgdHlwZSwgcnVsZXMsIHByb3BzID0gW10sIGxlbmd0aCwgY2hpbGRyZW4pLCBjaGlsZHJlbiksIHJ1bGVzLCBjaGlsZHJlbiwgbGVuZ3RoLCBwb2ludHMsIHJ1bGUgPyBwcm9wcyA6IGNoaWxkcmVuKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRicmVha1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFyc2UoY2hhcmFjdGVycywgcmVmZXJlbmNlLCByZWZlcmVuY2UsIHJlZmVyZW5jZSwgWycnXSwgY2hpbGRyZW4sIDAsIHBvaW50cywgY2hpbGRyZW4pXG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0aW5kZXggPSBvZmZzZXQgPSBwcm9wZXJ0eSA9IDAsIHZhcmlhYmxlID0gYW1wZXJzYW5kID0gMSwgdHlwZSA9IGNoYXJhY3RlcnMgPSAnJywgbGVuZ3RoID0gcHNldWRvXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyA6XG5cdFx0XHRjYXNlIDU4OlxuXHRcdFx0XHRsZW5ndGggPSAxICsgc3RybGVuKGNoYXJhY3RlcnMpLCBwcm9wZXJ0eSA9IHByZXZpb3VzXG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRpZiAodmFyaWFibGUgPCAxKVxuXHRcdFx0XHRcdGlmIChjaGFyYWN0ZXIgPT0gMTIzKVxuXHRcdFx0XHRcdFx0LS12YXJpYWJsZVxuXHRcdFx0XHRcdGVsc2UgaWYgKGNoYXJhY3RlciA9PSAxMjUgJiYgdmFyaWFibGUrKyA9PSAwICYmIHByZXYoKSA9PSAxMjUpXG5cdFx0XHRcdFx0XHRjb250aW51ZVxuXG5cdFx0XHRcdHN3aXRjaCAoY2hhcmFjdGVycyArPSBmcm9tKGNoYXJhY3RlciksIGNoYXJhY3RlciAqIHZhcmlhYmxlKSB7XG5cdFx0XHRcdFx0Ly8gJlxuXHRcdFx0XHRcdGNhc2UgMzg6XG5cdFx0XHRcdFx0XHRhbXBlcnNhbmQgPSBvZmZzZXQgPiAwID8gMSA6IChjaGFyYWN0ZXJzICs9ICdcXGYnLCAtMSlcblx0XHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdFx0Ly8gLFxuXHRcdFx0XHRcdGNhc2UgNDQ6XG5cdFx0XHRcdFx0XHRwb2ludHNbaW5kZXgrK10gPSAoc3RybGVuKGNoYXJhY3RlcnMpIC0gMSkgKiBhbXBlcnNhbmQsIGFtcGVyc2FuZCA9IDFcblx0XHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdFx0Ly8gQFxuXHRcdFx0XHRcdGNhc2UgNjQ6XG5cdFx0XHRcdFx0XHQvLyAtXG5cdFx0XHRcdFx0XHRpZiAocGVlaygpID09PSA0NSlcblx0XHRcdFx0XHRcdFx0Y2hhcmFjdGVycyArPSBkZWxpbWl0KG5leHQoKSlcblxuXHRcdFx0XHRcdFx0YXRydWxlID0gcGVlaygpLCBvZmZzZXQgPSBsZW5ndGggPSBzdHJsZW4odHlwZSA9IGNoYXJhY3RlcnMgKz0gaWRlbnRpZmllcihjYXJldCgpKSksIGNoYXJhY3RlcisrXG5cdFx0XHRcdFx0XHRicmVha1xuXHRcdFx0XHRcdC8vIC1cblx0XHRcdFx0XHRjYXNlIDQ1OlxuXHRcdFx0XHRcdFx0aWYgKHByZXZpb3VzID09PSA0NSAmJiBzdHJsZW4oY2hhcmFjdGVycykgPT0gMilcblx0XHRcdFx0XHRcdFx0dmFyaWFibGUgPSAwXG5cdFx0XHRcdH1cblx0XHR9XG5cblx0cmV0dXJuIHJ1bGVzZXRzXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge29iamVjdH0gcm9vdFxuICogQHBhcmFtIHtvYmplY3Q/fSBwYXJlbnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHBhcmFtIHtudW1iZXJ9IG9mZnNldFxuICogQHBhcmFtIHtzdHJpbmdbXX0gcnVsZXNcbiAqIEBwYXJhbSB7bnVtYmVyW119IHBvaW50c1xuICogQHBhcmFtIHtzdHJpbmd9IHR5cGVcbiAqIEBwYXJhbSB7c3RyaW5nW119IHByb3BzXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBjaGlsZHJlblxuICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aFxuICogQHBhcmFtIHtvYmplY3RbXX0gc2libGluZ3NcbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ1bGVzZXQgKHZhbHVlLCByb290LCBwYXJlbnQsIGluZGV4LCBvZmZzZXQsIHJ1bGVzLCBwb2ludHMsIHR5cGUsIHByb3BzLCBjaGlsZHJlbiwgbGVuZ3RoLCBzaWJsaW5ncykge1xuXHR2YXIgcG9zdCA9IG9mZnNldCAtIDFcblx0dmFyIHJ1bGUgPSBvZmZzZXQgPT09IDAgPyBydWxlcyA6IFsnJ11cblx0dmFyIHNpemUgPSBzaXplb2YocnVsZSlcblxuXHRmb3IgKHZhciBpID0gMCwgaiA9IDAsIGsgPSAwOyBpIDwgaW5kZXg7ICsraSlcblx0XHRmb3IgKHZhciB4ID0gMCwgeSA9IHN1YnN0cih2YWx1ZSwgcG9zdCArIDEsIHBvc3QgPSBhYnMoaiA9IHBvaW50c1tpXSkpLCB6ID0gdmFsdWU7IHggPCBzaXplOyArK3gpXG5cdFx0XHRpZiAoeiA9IHRyaW0oaiA+IDAgPyBydWxlW3hdICsgJyAnICsgeSA6IHJlcGxhY2UoeSwgLyZcXGYvZywgcnVsZVt4XSkpKVxuXHRcdFx0XHRwcm9wc1trKytdID0gelxuXG5cdHJldHVybiBub2RlKHZhbHVlLCByb290LCBwYXJlbnQsIG9mZnNldCA9PT0gMCA/IFJVTEVTRVQgOiB0eXBlLCBwcm9wcywgY2hpbGRyZW4sIGxlbmd0aCwgc2libGluZ3MpXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlXG4gKiBAcGFyYW0ge29iamVjdH0gcm9vdFxuICogQHBhcmFtIHtvYmplY3Q/fSBwYXJlbnRcbiAqIEBwYXJhbSB7b2JqZWN0W119IHNpYmxpbmdzXG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21tZW50ICh2YWx1ZSwgcm9vdCwgcGFyZW50LCBzaWJsaW5ncykge1xuXHRyZXR1cm4gbm9kZSh2YWx1ZSwgcm9vdCwgcGFyZW50LCBDT01NRU5ULCBmcm9tKGNoYXIoKSksIHN1YnN0cih2YWx1ZSwgMiwgLTIpLCAwLCBzaWJsaW5ncylcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7b2JqZWN0fSByb290XG4gKiBAcGFyYW0ge29iamVjdD99IHBhcmVudFxuICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aFxuICogQHBhcmFtIHtvYmplY3RbXX0gc2libGluZ3NcbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uICh2YWx1ZSwgcm9vdCwgcGFyZW50LCBsZW5ndGgsIHNpYmxpbmdzKSB7XG5cdHJldHVybiBub2RlKHZhbHVlLCByb290LCBwYXJlbnQsIERFQ0xBUkFUSU9OLCBzdWJzdHIodmFsdWUsIDAsIGxlbmd0aCksIHN1YnN0cih2YWx1ZSwgbGVuZ3RoICsgMSwgLTEpLCBsZW5ndGgsIHNpYmxpbmdzKVxufVxuIiwiaW1wb3J0IHtNUywgTU9aLCBXRUJLSVR9IGZyb20gJy4vRW51bS5qcydcbmltcG9ydCB7aGFzaCwgY2hhcmF0LCBzdHJsZW4sIGluZGV4b2YsIHJlcGxhY2UsIHN1YnN0ciwgbWF0Y2h9IGZyb20gJy4vVXRpbGl0eS5qcydcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGhcbiAqIEBwYXJhbSB7b2JqZWN0W119IGNoaWxkcmVuXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVmaXggKHZhbHVlLCBsZW5ndGgsIGNoaWxkcmVuKSB7XG5cdHN3aXRjaCAoaGFzaCh2YWx1ZSwgbGVuZ3RoKSkge1xuXHRcdC8vIGNvbG9yLWFkanVzdFxuXHRcdGNhc2UgNTEwMzpcblx0XHRcdHJldHVybiBXRUJLSVQgKyAncHJpbnQtJyArIHZhbHVlICsgdmFsdWVcblx0XHQvLyBhbmltYXRpb24sIGFuaW1hdGlvbi0oZGVsYXl8ZGlyZWN0aW9ufGR1cmF0aW9ufGZpbGwtbW9kZXxpdGVyYXRpb24tY291bnR8bmFtZXxwbGF5LXN0YXRlfHRpbWluZy1mdW5jdGlvbilcblx0XHRjYXNlIDU3Mzc6IGNhc2UgNDIwMTogY2FzZSAzMTc3OiBjYXNlIDM0MzM6IGNhc2UgMTY0MTogY2FzZSA0NDU3OiBjYXNlIDI5MjE6XG5cdFx0Ly8gdGV4dC1kZWNvcmF0aW9uLCBmaWx0ZXIsIGNsaXAtcGF0aCwgYmFja2ZhY2UtdmlzaWJpbGl0eSwgY29sdW1uLCBib3gtZGVjb3JhdGlvbi1icmVha1xuXHRcdGNhc2UgNTU3MjogY2FzZSA2MzU2OiBjYXNlIDU4NDQ6IGNhc2UgMzE5MTogY2FzZSA2NjQ1OiBjYXNlIDMwMDU6XG5cdFx0Ly8gbWFzaywgbWFzay1pbWFnZSwgbWFzay0obW9kZXxjbGlwfHNpemUpLCBtYXNrLShyZXBlYXR8b3JpZ2luKSwgbWFzay1wb3NpdGlvbiwgbWFzay1jb21wb3NpdGUsXG5cdFx0Y2FzZSA2MzkxOiBjYXNlIDU4Nzk6IGNhc2UgNTYyMzogY2FzZSA2MTM1OiBjYXNlIDQ1OTk6IGNhc2UgNDg1NTpcblx0XHQvLyBiYWNrZ3JvdW5kLWNsaXAsIGNvbHVtbnMsIGNvbHVtbi0oY291bnR8ZmlsbHxnYXB8cnVsZXxydWxlLWNvbG9yfHJ1bGUtc3R5bGV8cnVsZS13aWR0aHxzcGFufHdpZHRoKVxuXHRcdGNhc2UgNDIxNTogY2FzZSA2Mzg5OiBjYXNlIDUxMDk6IGNhc2UgNTM2NTogY2FzZSA1NjIxOiBjYXNlIDM4Mjk6XG5cdFx0XHRyZXR1cm4gV0VCS0lUICsgdmFsdWUgKyB2YWx1ZVxuXHRcdC8vIHRhYi1zaXplXG5cdFx0Y2FzZSA0Nzg5OlxuXHRcdFx0cmV0dXJuIE1PWiArIHZhbHVlICsgdmFsdWVcblx0XHQvLyBhcHBlYXJhbmNlLCB1c2VyLXNlbGVjdCwgdHJhbnNmb3JtLCBoeXBoZW5zLCB0ZXh0LXNpemUtYWRqdXN0XG5cdFx0Y2FzZSA1MzQ5OiBjYXNlIDQyNDY6IGNhc2UgNDgxMDogY2FzZSA2OTY4OiBjYXNlIDI3NTY6XG5cdFx0XHRyZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNT1ogKyB2YWx1ZSArIE1TICsgdmFsdWUgKyB2YWx1ZVxuXHRcdC8vIHdyaXRpbmctbW9kZVxuXHRcdGNhc2UgNTkzNjpcblx0XHRcdHN3aXRjaCAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyAxMSkpIHtcblx0XHRcdFx0Ly8gdmVydGljYWwtbChyKVxuXHRcdFx0XHRjYXNlIDExNDpcblx0XHRcdFx0XHRyZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHJlcGxhY2UodmFsdWUsIC9bc3ZoXVxcdystW3RibHJdezJ9LywgJ3RiJykgKyB2YWx1ZVxuXHRcdFx0XHQvLyB2ZXJ0aWNhbC1yKGwpXG5cdFx0XHRcdGNhc2UgMTA4OlxuXHRcdFx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgcmVwbGFjZSh2YWx1ZSwgL1tzdmhdXFx3Ky1bdGJscl17Mn0vLCAndGItcmwnKSArIHZhbHVlXG5cdFx0XHRcdC8vIGhvcml6b250YWwoLSl0YlxuXHRcdFx0XHRjYXNlIDQ1OlxuXHRcdFx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgcmVwbGFjZSh2YWx1ZSwgL1tzdmhdXFx3Ky1bdGJscl17Mn0vLCAnbHInKSArIHZhbHVlXG5cdFx0XHRcdC8vIGRlZmF1bHQ6IGZhbGx0aHJvdWdoIHRvIGJlbG93XG5cdFx0XHR9XG5cdFx0Ly8gZmxleCwgZmxleC1kaXJlY3Rpb24sIHNjcm9sbC1zbmFwLXR5cGUsIHdyaXRpbmctbW9kZVxuXHRcdGNhc2UgNjgyODogY2FzZSA0MjY4OiBjYXNlIDI5MDM6XG5cdFx0XHRyZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHZhbHVlICsgdmFsdWVcblx0XHQvLyBvcmRlclxuXHRcdGNhc2UgNjE2NTpcblx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgJ2ZsZXgtJyArIHZhbHVlICsgdmFsdWVcblx0XHQvLyBhbGlnbi1pdGVtc1xuXHRcdGNhc2UgNTE4Nzpcblx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIHJlcGxhY2UodmFsdWUsIC8oXFx3KykuKyg6W15dKykvLCBXRUJLSVQgKyAnYm94LSQxJDInICsgTVMgKyAnZmxleC0kMSQyJykgKyB2YWx1ZVxuXHRcdC8vIGFsaWduLXNlbGZcblx0XHRjYXNlIDU0NDM6XG5cdFx0XHRyZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArICdmbGV4LWl0ZW0tJyArIHJlcGxhY2UodmFsdWUsIC9mbGV4LXwtc2VsZi9nLCAnJykgKyAoIW1hdGNoKHZhbHVlLCAvZmxleC18YmFzZWxpbmUvKSA/IE1TICsgJ2dyaWQtcm93LScgKyByZXBsYWNlKHZhbHVlLCAvZmxleC18LXNlbGYvZywgJycpIDogJycpICsgdmFsdWVcblx0XHQvLyBhbGlnbi1jb250ZW50XG5cdFx0Y2FzZSA0Njc1OlxuXHRcdFx0cmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyAnZmxleC1saW5lLXBhY2snICsgcmVwbGFjZSh2YWx1ZSwgL2FsaWduLWNvbnRlbnR8ZmxleC18LXNlbGYvZywgJycpICsgdmFsdWVcblx0XHQvLyBmbGV4LXNocmlua1xuXHRcdGNhc2UgNTU0ODpcblx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgcmVwbGFjZSh2YWx1ZSwgJ3NocmluaycsICduZWdhdGl2ZScpICsgdmFsdWVcblx0XHQvLyBmbGV4LWJhc2lzXG5cdFx0Y2FzZSA1MjkyOlxuXHRcdFx0cmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyByZXBsYWNlKHZhbHVlLCAnYmFzaXMnLCAncHJlZmVycmVkLXNpemUnKSArIHZhbHVlXG5cdFx0Ly8gZmxleC1ncm93XG5cdFx0Y2FzZSA2MDYwOlxuXHRcdFx0cmV0dXJuIFdFQktJVCArICdib3gtJyArIHJlcGxhY2UodmFsdWUsICctZ3JvdycsICcnKSArIFdFQktJVCArIHZhbHVlICsgTVMgKyByZXBsYWNlKHZhbHVlLCAnZ3JvdycsICdwb3NpdGl2ZScpICsgdmFsdWVcblx0XHQvLyB0cmFuc2l0aW9uXG5cdFx0Y2FzZSA0NTU0OlxuXHRcdFx0cmV0dXJuIFdFQktJVCArIHJlcGxhY2UodmFsdWUsIC8oW14tXSkodHJhbnNmb3JtKS9nLCAnJDEnICsgV0VCS0lUICsgJyQyJykgKyB2YWx1ZVxuXHRcdC8vIGN1cnNvclxuXHRcdGNhc2UgNjE4Nzpcblx0XHRcdHJldHVybiByZXBsYWNlKHJlcGxhY2UocmVwbGFjZSh2YWx1ZSwgLyh6b29tLXxncmFiKS8sIFdFQktJVCArICckMScpLCAvKGltYWdlLXNldCkvLCBXRUJLSVQgKyAnJDEnKSwgdmFsdWUsICcnKSArIHZhbHVlXG5cdFx0Ly8gYmFja2dyb3VuZCwgYmFja2dyb3VuZC1pbWFnZVxuXHRcdGNhc2UgNTQ5NTogY2FzZSAzOTU5OlxuXHRcdFx0cmV0dXJuIHJlcGxhY2UodmFsdWUsIC8oaW1hZ2Utc2V0XFwoW15dKikvLCBXRUJLSVQgKyAnJDEnICsgJyRgJDEnKVxuXHRcdC8vIGp1c3RpZnktY29udGVudFxuXHRcdGNhc2UgNDk2ODpcblx0XHRcdHJldHVybiByZXBsYWNlKHJlcGxhY2UodmFsdWUsIC8oLis6KShmbGV4LSk/KC4qKS8sIFdFQktJVCArICdib3gtcGFjazokMycgKyBNUyArICdmbGV4LXBhY2s6JDMnKSwgL3MuKy1iW147XSsvLCAnanVzdGlmeScpICsgV0VCS0lUICsgdmFsdWUgKyB2YWx1ZVxuXHRcdC8vIGp1c3RpZnktc2VsZlxuXHRcdGNhc2UgNDIwMDpcblx0XHRcdGlmICghbWF0Y2godmFsdWUsIC9mbGV4LXxiYXNlbGluZS8pKSByZXR1cm4gTVMgKyAnZ3JpZC1jb2x1bW4tYWxpZ24nICsgc3Vic3RyKHZhbHVlLCBsZW5ndGgpICsgdmFsdWVcblx0XHRcdGJyZWFrXG5cdFx0Ly8gZ3JpZC10ZW1wbGF0ZS0oY29sdW1uc3xyb3dzKVxuXHRcdGNhc2UgMjU5MjogY2FzZSAzMzYwOlxuXHRcdFx0cmV0dXJuIE1TICsgcmVwbGFjZSh2YWx1ZSwgJ3RlbXBsYXRlLScsICcnKSArIHZhbHVlXG5cdFx0Ly8gZ3JpZC0ocm93fGNvbHVtbiktc3RhcnRcblx0XHRjYXNlIDQzODQ6IGNhc2UgMzYxNjpcblx0XHRcdGlmIChjaGlsZHJlbiAmJiBjaGlsZHJlbi5zb21lKGZ1bmN0aW9uIChlbGVtZW50LCBpbmRleCkgeyByZXR1cm4gbGVuZ3RoID0gaW5kZXgsIG1hdGNoKGVsZW1lbnQucHJvcHMsIC9ncmlkLVxcdystZW5kLykgfSkpIHtcblx0XHRcdFx0cmV0dXJuIH5pbmRleG9mKHZhbHVlICsgKGNoaWxkcmVuID0gY2hpbGRyZW5bbGVuZ3RoXS52YWx1ZSksICdzcGFuJywgMCkgPyB2YWx1ZSA6IChNUyArIHJlcGxhY2UodmFsdWUsICctc3RhcnQnLCAnJykgKyB2YWx1ZSArIE1TICsgJ2dyaWQtcm93LXNwYW46JyArICh+aW5kZXhvZihjaGlsZHJlbiwgJ3NwYW4nLCAwKSA/IG1hdGNoKGNoaWxkcmVuLCAvXFxkKy8pIDogK21hdGNoKGNoaWxkcmVuLCAvXFxkKy8pIC0gK21hdGNoKHZhbHVlLCAvXFxkKy8pKSArICc7Jylcblx0XHRcdH1cblx0XHRcdHJldHVybiBNUyArIHJlcGxhY2UodmFsdWUsICctc3RhcnQnLCAnJykgKyB2YWx1ZVxuXHRcdC8vIGdyaWQtKHJvd3xjb2x1bW4pLWVuZFxuXHRcdGNhc2UgNDg5NjogY2FzZSA0MTI4OlxuXHRcdFx0cmV0dXJuIChjaGlsZHJlbiAmJiBjaGlsZHJlbi5zb21lKGZ1bmN0aW9uIChlbGVtZW50KSB7IHJldHVybiBtYXRjaChlbGVtZW50LnByb3BzLCAvZ3JpZC1cXHcrLXN0YXJ0LykgfSkpID8gdmFsdWUgOiBNUyArIHJlcGxhY2UocmVwbGFjZSh2YWx1ZSwgJy1lbmQnLCAnLXNwYW4nKSwgJ3NwYW4gJywgJycpICsgdmFsdWVcblx0XHQvLyAobWFyZ2lufHBhZGRpbmcpLWlubGluZS0oc3RhcnR8ZW5kKVxuXHRcdGNhc2UgNDA5NTogY2FzZSAzNTgzOiBjYXNlIDQwNjg6IGNhc2UgMjUzMjpcblx0XHRcdHJldHVybiByZXBsYWNlKHZhbHVlLCAvKC4rKS1pbmxpbmUoLispLywgV0VCS0lUICsgJyQxJDInKSArIHZhbHVlXG5cdFx0Ly8gKG1pbnxtYXgpPyh3aWR0aHxoZWlnaHR8aW5saW5lLXNpemV8YmxvY2stc2l6ZSlcblx0XHRjYXNlIDgxMTY6IGNhc2UgNzA1OTogY2FzZSA1NzUzOiBjYXNlIDU1MzU6XG5cdFx0Y2FzZSA1NDQ1OiBjYXNlIDU3MDE6IGNhc2UgNDkzMzogY2FzZSA0Njc3OlxuXHRcdGNhc2UgNTUzMzogY2FzZSA1Nzg5OiBjYXNlIDUwMjE6IGNhc2UgNDc2NTpcblx0XHRcdC8vIHN0cmV0Y2gsIG1heC1jb250ZW50LCBtaW4tY29udGVudCwgZmlsbC1hdmFpbGFibGVcblx0XHRcdGlmIChzdHJsZW4odmFsdWUpIC0gMSAtIGxlbmd0aCA+IDYpXG5cdFx0XHRcdHN3aXRjaCAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyAxKSkge1xuXHRcdFx0XHRcdC8vIChtKWF4LWNvbnRlbnQsIChtKWluLWNvbnRlbnRcblx0XHRcdFx0XHRjYXNlIDEwOTpcblx0XHRcdFx0XHRcdC8vIC1cblx0XHRcdFx0XHRcdGlmIChjaGFyYXQodmFsdWUsIGxlbmd0aCArIDQpICE9PSA0NSlcblx0XHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHQvLyAoZilpbGwtYXZhaWxhYmxlLCAoZilpdC1jb250ZW50XG5cdFx0XHRcdFx0Y2FzZSAxMDI6XG5cdFx0XHRcdFx0XHRyZXR1cm4gcmVwbGFjZSh2YWx1ZSwgLyguKzopKC4rKS0oW15dKykvLCAnJDEnICsgV0VCS0lUICsgJyQyLSQzJyArICckMScgKyBNT1ogKyAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyAzKSA9PSAxMDggPyAnJDMnIDogJyQyLSQzJykpICsgdmFsdWVcblx0XHRcdFx0XHQvLyAocyl0cmV0Y2hcblx0XHRcdFx0XHRjYXNlIDExNTpcblx0XHRcdFx0XHRcdHJldHVybiB+aW5kZXhvZih2YWx1ZSwgJ3N0cmV0Y2gnLCAwKSA/IHByZWZpeChyZXBsYWNlKHZhbHVlLCAnc3RyZXRjaCcsICdmaWxsLWF2YWlsYWJsZScpLCBsZW5ndGgsIGNoaWxkcmVuKSArIHZhbHVlIDogdmFsdWVcblx0XHRcdFx0fVxuXHRcdFx0YnJlYWtcblx0XHQvLyBncmlkLShjb2x1bW58cm93KVxuXHRcdGNhc2UgNTE1MjogY2FzZSA1OTIwOlxuXHRcdFx0cmV0dXJuIHJlcGxhY2UodmFsdWUsIC8oLis/KTooXFxkKykoXFxzKlxcL1xccyooc3Bhbik/XFxzKihcXGQrKSk/KC4qKS8sIGZ1bmN0aW9uIChfLCBhLCBiLCBjLCBkLCBlLCBmKSB7IHJldHVybiAoTVMgKyBhICsgJzonICsgYiArIGYpICsgKGMgPyAoTVMgKyBhICsgJy1zcGFuOicgKyAoZCA/IGUgOiArZSAtICtiKSkgKyBmIDogJycpICsgdmFsdWUgfSlcblx0XHQvLyBwb3NpdGlvbjogc3RpY2t5XG5cdFx0Y2FzZSA0OTQ5OlxuXHRcdFx0Ly8gc3RpY2soeSk/XG5cdFx0XHRpZiAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyA2KSA9PT0gMTIxKVxuXHRcdFx0XHRyZXR1cm4gcmVwbGFjZSh2YWx1ZSwgJzonLCAnOicgKyBXRUJLSVQpICsgdmFsdWVcblx0XHRcdGJyZWFrXG5cdFx0Ly8gZGlzcGxheTogKGZsZXh8aW5saW5lLWZsZXh8Z3JpZHxpbmxpbmUtZ3JpZClcblx0XHRjYXNlIDY0NDQ6XG5cdFx0XHRzd2l0Y2ggKGNoYXJhdCh2YWx1ZSwgY2hhcmF0KHZhbHVlLCAxNCkgPT09IDQ1ID8gMTggOiAxMSkpIHtcblx0XHRcdFx0Ly8gKGlubGluZS0pP2ZsZSh4KVxuXHRcdFx0XHRjYXNlIDEyMDpcblx0XHRcdFx0XHRyZXR1cm4gcmVwbGFjZSh2YWx1ZSwgLyguKzopKFteO1xccyFdKykoO3woXFxzKyk/IS4rKT8vLCAnJDEnICsgV0VCS0lUICsgKGNoYXJhdCh2YWx1ZSwgMTQpID09PSA0NSA/ICdpbmxpbmUtJyA6ICcnKSArICdib3gkMycgKyAnJDEnICsgV0VCS0lUICsgJyQyJDMnICsgJyQxJyArIE1TICsgJyQyYm94JDMnKSArIHZhbHVlXG5cdFx0XHRcdC8vIChpbmxpbmUtKT9ncmkoZClcblx0XHRcdFx0Y2FzZSAxMDA6XG5cdFx0XHRcdFx0cmV0dXJuIHJlcGxhY2UodmFsdWUsICc6JywgJzonICsgTVMpICsgdmFsdWVcblx0XHRcdH1cblx0XHRcdGJyZWFrXG5cdFx0Ly8gc2Nyb2xsLW1hcmdpbiwgc2Nyb2xsLW1hcmdpbi0odG9wfHJpZ2h0fGJvdHRvbXxsZWZ0KVxuXHRcdGNhc2UgNTcxOTogY2FzZSAyNjQ3OiBjYXNlIDIxMzU6IGNhc2UgMzkyNzogY2FzZSAyMzkxOlxuXHRcdFx0cmV0dXJuIHJlcGxhY2UodmFsdWUsICdzY3JvbGwtJywgJ3Njcm9sbC1zbmFwLScpICsgdmFsdWVcblx0fVxuXG5cdHJldHVybiB2YWx1ZVxufVxuIiwiaW1wb3J0IHtJTVBPUlQsIExBWUVSLCBDT01NRU5ULCBSVUxFU0VULCBERUNMQVJBVElPTiwgS0VZRlJBTUVTfSBmcm9tICcuL0VudW0uanMnXG5pbXBvcnQge3N0cmxlbn0gZnJvbSAnLi9VdGlsaXR5LmpzJ1xuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0W119IGNoaWxkcmVuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplIChjaGlsZHJlbiwgY2FsbGJhY2spIHtcblx0dmFyIG91dHB1dCA9ICcnXG5cblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKylcblx0XHRvdXRwdXQgKz0gY2FsbGJhY2soY2hpbGRyZW5baV0sIGksIGNoaWxkcmVuLCBjYWxsYmFjaykgfHwgJydcblxuXHRyZXR1cm4gb3V0cHV0XG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGVsZW1lbnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHBhcmFtIHtvYmplY3RbXX0gY2hpbGRyZW5cbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnkgKGVsZW1lbnQsIGluZGV4LCBjaGlsZHJlbiwgY2FsbGJhY2spIHtcblx0c3dpdGNoIChlbGVtZW50LnR5cGUpIHtcblx0XHRjYXNlIExBWUVSOiBpZiAoZWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpIGJyZWFrXG5cdFx0Y2FzZSBJTVBPUlQ6IGNhc2UgREVDTEFSQVRJT046IHJldHVybiBlbGVtZW50LnJldHVybiA9IGVsZW1lbnQucmV0dXJuIHx8IGVsZW1lbnQudmFsdWVcblx0XHRjYXNlIENPTU1FTlQ6IHJldHVybiAnJ1xuXHRcdGNhc2UgS0VZRlJBTUVTOiByZXR1cm4gZWxlbWVudC5yZXR1cm4gPSBlbGVtZW50LnZhbHVlICsgJ3snICsgc2VyaWFsaXplKGVsZW1lbnQuY2hpbGRyZW4sIGNhbGxiYWNrKSArICd9J1xuXHRcdGNhc2UgUlVMRVNFVDogaWYgKCFzdHJsZW4oZWxlbWVudC52YWx1ZSA9IGVsZW1lbnQucHJvcHMuam9pbignLCcpKSkgcmV0dXJuICcnXG5cdH1cblxuXHRyZXR1cm4gc3RybGVuKGNoaWxkcmVuID0gc2VyaWFsaXplKGVsZW1lbnQuY2hpbGRyZW4sIGNhbGxiYWNrKSkgPyBlbGVtZW50LnJldHVybiA9IGVsZW1lbnQudmFsdWUgKyAneycgKyBjaGlsZHJlbiArICd9JyA6ICcnXG59XG4iLCJpbXBvcnQge01TLCBNT1osIFdFQktJVCwgUlVMRVNFVCwgS0VZRlJBTUVTLCBERUNMQVJBVElPTn0gZnJvbSAnLi9FbnVtLmpzJ1xuaW1wb3J0IHttYXRjaCwgY2hhcmF0LCBzdWJzdHIsIHN0cmxlbiwgc2l6ZW9mLCByZXBsYWNlLCBjb21iaW5lLCBmaWx0ZXIsIGFzc2lnbn0gZnJvbSAnLi9VdGlsaXR5LmpzJ1xuaW1wb3J0IHtjb3B5LCBsaWZ0LCB0b2tlbml6ZX0gZnJvbSAnLi9Ub2tlbml6ZXIuanMnXG5pbXBvcnQge3NlcmlhbGl6ZX0gZnJvbSAnLi9TZXJpYWxpemVyLmpzJ1xuaW1wb3J0IHtwcmVmaXh9IGZyb20gJy4vUHJlZml4ZXIuanMnXG5cbi8qKlxuICogQHBhcmFtIHtmdW5jdGlvbltdfSBjb2xsZWN0aW9uXG4gKiBAcmV0dXJuIHtmdW5jdGlvbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1pZGRsZXdhcmUgKGNvbGxlY3Rpb24pIHtcblx0dmFyIGxlbmd0aCA9IHNpemVvZihjb2xsZWN0aW9uKVxuXG5cdHJldHVybiBmdW5jdGlvbiAoZWxlbWVudCwgaW5kZXgsIGNoaWxkcmVuLCBjYWxsYmFjaykge1xuXHRcdHZhciBvdXRwdXQgPSAnJ1xuXG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKylcblx0XHRcdG91dHB1dCArPSBjb2xsZWN0aW9uW2ldKGVsZW1lbnQsIGluZGV4LCBjaGlsZHJlbiwgY2FsbGJhY2spIHx8ICcnXG5cblx0XHRyZXR1cm4gb3V0cHV0XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybiB7ZnVuY3Rpb259XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBydWxlc2hlZXQgKGNhbGxiYWNrKSB7XG5cdHJldHVybiBmdW5jdGlvbiAoZWxlbWVudCkge1xuXHRcdGlmICghZWxlbWVudC5yb290KVxuXHRcdFx0aWYgKGVsZW1lbnQgPSBlbGVtZW50LnJldHVybilcblx0XHRcdFx0Y2FsbGJhY2soZWxlbWVudClcblx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBlbGVtZW50XG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEBwYXJhbSB7b2JqZWN0W119IGNoaWxkcmVuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFja1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJlZml4ZXIgKGVsZW1lbnQsIGluZGV4LCBjaGlsZHJlbiwgY2FsbGJhY2spIHtcblx0aWYgKGVsZW1lbnQubGVuZ3RoID4gLTEpXG5cdFx0aWYgKCFlbGVtZW50LnJldHVybilcblx0XHRcdHN3aXRjaCAoZWxlbWVudC50eXBlKSB7XG5cdFx0XHRcdGNhc2UgREVDTEFSQVRJT046IGVsZW1lbnQucmV0dXJuID0gcHJlZml4KGVsZW1lbnQudmFsdWUsIGVsZW1lbnQubGVuZ3RoLCBjaGlsZHJlbilcblx0XHRcdFx0XHRyZXR1cm5cblx0XHRcdFx0Y2FzZSBLRVlGUkFNRVM6XG5cdFx0XHRcdFx0cmV0dXJuIHNlcmlhbGl6ZShbY29weShlbGVtZW50LCB7dmFsdWU6IHJlcGxhY2UoZWxlbWVudC52YWx1ZSwgJ0AnLCAnQCcgKyBXRUJLSVQpfSldLCBjYWxsYmFjaylcblx0XHRcdFx0Y2FzZSBSVUxFU0VUOlxuXHRcdFx0XHRcdGlmIChlbGVtZW50Lmxlbmd0aClcblx0XHRcdFx0XHRcdHJldHVybiBjb21iaW5lKGNoaWxkcmVuID0gZWxlbWVudC5wcm9wcywgZnVuY3Rpb24gKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHN3aXRjaCAobWF0Y2godmFsdWUsIGNhbGxiYWNrID0gLyg6OnBsYWNcXHcrfDpyZWFkLVxcdyspLykpIHtcblx0XHRcdFx0XHRcdFx0XHQvLyA6cmVhZC0ob25seXx3cml0ZSlcblx0XHRcdFx0XHRcdFx0XHRjYXNlICc6cmVhZC1vbmx5JzogY2FzZSAnOnJlYWQtd3JpdGUnOlxuXHRcdFx0XHRcdFx0XHRcdFx0bGlmdChjb3B5KGVsZW1lbnQsIHtwcm9wczogW3JlcGxhY2UodmFsdWUsIC86KHJlYWQtXFx3KykvLCAnOicgKyBNT1ogKyAnJDEnKV19KSlcblx0XHRcdFx0XHRcdFx0XHRcdGxpZnQoY29weShlbGVtZW50LCB7cHJvcHM6IFt2YWx1ZV19KSlcblx0XHRcdFx0XHRcdFx0XHRcdGFzc2lnbihlbGVtZW50LCB7cHJvcHM6IGZpbHRlcihjaGlsZHJlbiwgY2FsbGJhY2spfSlcblx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdFx0XHRcdFx0Ly8gOnBsYWNlaG9sZGVyXG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSAnOjpwbGFjZWhvbGRlcic6XG5cdFx0XHRcdFx0XHRcdFx0XHRsaWZ0KGNvcHkoZWxlbWVudCwge3Byb3BzOiBbcmVwbGFjZSh2YWx1ZSwgLzoocGxhY1xcdyspLywgJzonICsgV0VCS0lUICsgJ2lucHV0LSQxJyldfSkpXG5cdFx0XHRcdFx0XHRcdFx0XHRsaWZ0KGNvcHkoZWxlbWVudCwge3Byb3BzOiBbcmVwbGFjZSh2YWx1ZSwgLzoocGxhY1xcdyspLywgJzonICsgTU9aICsgJyQxJyldfSkpXG5cdFx0XHRcdFx0XHRcdFx0XHRsaWZ0KGNvcHkoZWxlbWVudCwge3Byb3BzOiBbcmVwbGFjZSh2YWx1ZSwgLzoocGxhY1xcdyspLywgTVMgKyAnaW5wdXQtJDEnKV19KSlcblx0XHRcdFx0XHRcdFx0XHRcdGxpZnQoY29weShlbGVtZW50LCB7cHJvcHM6IFt2YWx1ZV19KSlcblx0XHRcdFx0XHRcdFx0XHRcdGFzc2lnbihlbGVtZW50LCB7cHJvcHM6IGZpbHRlcihjaGlsZHJlbiwgY2FsbGJhY2spfSlcblx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gJydcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGVsZW1lbnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHBhcmFtIHtvYmplY3RbXX0gY2hpbGRyZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5hbWVzcGFjZSAoZWxlbWVudCkge1xuXHRzd2l0Y2ggKGVsZW1lbnQudHlwZSkge1xuXHRcdGNhc2UgUlVMRVNFVDpcblx0XHRcdGVsZW1lbnQucHJvcHMgPSBlbGVtZW50LnByb3BzLm1hcChmdW5jdGlvbiAodmFsdWUpIHtcblx0XHRcdFx0cmV0dXJuIGNvbWJpbmUodG9rZW5pemUodmFsdWUpLCBmdW5jdGlvbiAodmFsdWUsIGluZGV4LCBjaGlsZHJlbikge1xuXHRcdFx0XHRcdHN3aXRjaCAoY2hhcmF0KHZhbHVlLCAwKSkge1xuXHRcdFx0XHRcdFx0Ly8gXFxmXG5cdFx0XHRcdFx0XHRjYXNlIDEyOlxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gc3Vic3RyKHZhbHVlLCAxLCBzdHJsZW4odmFsdWUpKVxuXHRcdFx0XHRcdFx0Ly8gXFwwICggKyA+IH5cblx0XHRcdFx0XHRcdGNhc2UgMDogY2FzZSA0MDogY2FzZSA0MzogY2FzZSA2MjogY2FzZSAxMjY6XG5cdFx0XHRcdFx0XHRcdHJldHVybiB2YWx1ZVxuXHRcdFx0XHRcdFx0Ly8gOlxuXHRcdFx0XHRcdFx0Y2FzZSA1ODpcblx0XHRcdFx0XHRcdFx0aWYgKGNoaWxkcmVuWysraW5kZXhdID09PSAnZ2xvYmFsJylcblx0XHRcdFx0XHRcdFx0XHRjaGlsZHJlbltpbmRleF0gPSAnJywgY2hpbGRyZW5bKytpbmRleF0gPSAnXFxmJyArIHN1YnN0cihjaGlsZHJlbltpbmRleF0sIGluZGV4ID0gMSwgLTEpXG5cdFx0XHRcdFx0XHQvLyBcXHNcblx0XHRcdFx0XHRcdGNhc2UgMzI6XG5cdFx0XHRcdFx0XHRcdHJldHVybiBpbmRleCA9PT0gMSA/ICcnIDogdmFsdWVcblx0XHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRcdHN3aXRjaCAoaW5kZXgpIHtcblx0XHRcdFx0XHRcdFx0XHRjYXNlIDA6IGVsZW1lbnQgPSB2YWx1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNpemVvZihjaGlsZHJlbikgPiAxID8gJycgOiB2YWx1ZVxuXHRcdFx0XHRcdFx0XHRcdGNhc2UgaW5kZXggPSBzaXplb2YoY2hpbGRyZW4pIC0gMTogY2FzZSAyOlxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGluZGV4ID09PSAyID8gdmFsdWUgKyBlbGVtZW50ICsgZWxlbWVudCA6IHZhbHVlICsgZWxlbWVudFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gdmFsdWVcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0pXG5cdH1cbn1cbiIsInZhciB1bml0bGVzc0tleXMgPSB7XG4gIGFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiAxLFxuICBhc3BlY3RSYXRpbzogMSxcbiAgYm9yZGVySW1hZ2VPdXRzZXQ6IDEsXG4gIGJvcmRlckltYWdlU2xpY2U6IDEsXG4gIGJvcmRlckltYWdlV2lkdGg6IDEsXG4gIGJveEZsZXg6IDEsXG4gIGJveEZsZXhHcm91cDogMSxcbiAgYm94T3JkaW5hbEdyb3VwOiAxLFxuICBjb2x1bW5Db3VudDogMSxcbiAgY29sdW1uczogMSxcbiAgZmxleDogMSxcbiAgZmxleEdyb3c6IDEsXG4gIGZsZXhQb3NpdGl2ZTogMSxcbiAgZmxleFNocmluazogMSxcbiAgZmxleE5lZ2F0aXZlOiAxLFxuICBmbGV4T3JkZXI6IDEsXG4gIGdyaWRSb3c6IDEsXG4gIGdyaWRSb3dFbmQ6IDEsXG4gIGdyaWRSb3dTcGFuOiAxLFxuICBncmlkUm93U3RhcnQ6IDEsXG4gIGdyaWRDb2x1bW46IDEsXG4gIGdyaWRDb2x1bW5FbmQ6IDEsXG4gIGdyaWRDb2x1bW5TcGFuOiAxLFxuICBncmlkQ29sdW1uU3RhcnQ6IDEsXG4gIG1zR3JpZFJvdzogMSxcbiAgbXNHcmlkUm93U3BhbjogMSxcbiAgbXNHcmlkQ29sdW1uOiAxLFxuICBtc0dyaWRDb2x1bW5TcGFuOiAxLFxuICBmb250V2VpZ2h0OiAxLFxuICBsaW5lSGVpZ2h0OiAxLFxuICBvcGFjaXR5OiAxLFxuICBvcmRlcjogMSxcbiAgb3JwaGFuczogMSxcbiAgdGFiU2l6ZTogMSxcbiAgd2lkb3dzOiAxLFxuICB6SW5kZXg6IDEsXG4gIHpvb206IDEsXG4gIFdlYmtpdExpbmVDbGFtcDogMSxcbiAgLy8gU1ZHLXJlbGF0ZWQgcHJvcGVydGllc1xuICBmaWxsT3BhY2l0eTogMSxcbiAgZmxvb2RPcGFjaXR5OiAxLFxuICBzdG9wT3BhY2l0eTogMSxcbiAgc3Ryb2tlRGFzaGFycmF5OiAxLFxuICBzdHJva2VEYXNob2Zmc2V0OiAxLFxuICBzdHJva2VNaXRlcmxpbWl0OiAxLFxuICBzdHJva2VPcGFjaXR5OiAxLFxuICBzdHJva2VXaWR0aDogMVxufTtcblxuZXhwb3J0IHsgdW5pdGxlc3NLZXlzIGFzIGRlZmF1bHQgfTtcbiIsImltcG9ydHtfX3NwcmVhZEFycmF5IGFzIGUsX19hc3NpZ24gYXMgdH1mcm9tXCJ0c2xpYlwiO2ltcG9ydCBuIGZyb21cIkBlbW90aW9uL2lzLXByb3AtdmFsaWRcIjtpbXBvcnQgbyx7dXNlUmVmIGFzIHIsdXNlU3RhdGUgYXMgcyx1c2VNZW1vIGFzIGksdXNlRWZmZWN0IGFzIGEsdXNlQ29udGV4dCBhcyBjLHVzZURlYnVnVmFsdWUgYXMgbCxjcmVhdGVFbGVtZW50IGFzIHV9ZnJvbVwicmVhY3RcIjtpbXBvcnQgcCBmcm9tXCJzaGFsbG93ZXF1YWxcIjtpbXBvcnQqYXMgZCBmcm9tXCJzdHlsaXNcIjtpbXBvcnQgaCBmcm9tXCJAZW1vdGlvbi91bml0bGVzc1wiO3ZhciBmPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcm9jZXNzJiZ2b2lkIDAhPT1wcm9jZXNzLmVudiYmKHByb2Nlc3MuZW52LlJFQUNUX0FQUF9TQ19BVFRSfHxwcm9jZXNzLmVudi5TQ19BVFRSKXx8XCJkYXRhLXN0eWxlZFwiLG09XCJhY3RpdmVcIix5PVwiZGF0YS1zdHlsZWQtdmVyc2lvblwiLHY9XCI2LjEuMTJcIixnPVwiLyohc2MqL1xcblwiLFM9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmXCJIVE1MRWxlbWVudFwiaW4gd2luZG93LHc9Qm9vbGVhbihcImJvb2xlYW5cIj09dHlwZW9mIFNDX0RJU0FCTEVfU1BFRURZP1NDX0RJU0FCTEVfU1BFRURZOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcm9jZXNzJiZ2b2lkIDAhPT1wcm9jZXNzLmVudiYmdm9pZCAwIT09cHJvY2Vzcy5lbnYuUkVBQ1RfQVBQX1NDX0RJU0FCTEVfU1BFRURZJiZcIlwiIT09cHJvY2Vzcy5lbnYuUkVBQ1RfQVBQX1NDX0RJU0FCTEVfU1BFRURZP1wiZmFsc2VcIiE9PXByb2Nlc3MuZW52LlJFQUNUX0FQUF9TQ19ESVNBQkxFX1NQRUVEWSYmcHJvY2Vzcy5lbnYuUkVBQ1RfQVBQX1NDX0RJU0FCTEVfU1BFRURZOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcm9jZXNzJiZ2b2lkIDAhPT1wcm9jZXNzLmVudiYmdm9pZCAwIT09cHJvY2Vzcy5lbnYuU0NfRElTQUJMRV9TUEVFRFkmJlwiXCIhPT1wcm9jZXNzLmVudi5TQ19ESVNBQkxFX1NQRUVEWT9cImZhbHNlXCIhPT1wcm9jZXNzLmVudi5TQ19ESVNBQkxFX1NQRUVEWSYmcHJvY2Vzcy5lbnYuU0NfRElTQUJMRV9TUEVFRFk6XCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViksYj17fSxFPS9pbnZhbGlkIGhvb2sgY2FsbC9pLE49bmV3IFNldCxQPWZ1bmN0aW9uKHQsbil7aWYoXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOVil7dmFyIG89bj8nIHdpdGggdGhlIGlkIG9mIFwiJy5jb25jYXQobiwnXCInKTpcIlwiLHM9XCJUaGUgY29tcG9uZW50IFwiLmNvbmNhdCh0KS5jb25jYXQobyxcIiBoYXMgYmVlbiBjcmVhdGVkIGR5bmFtaWNhbGx5LlxcblwiKStcIllvdSBtYXkgc2VlIHRoaXMgd2FybmluZyBiZWNhdXNlIHlvdSd2ZSBjYWxsZWQgc3R5bGVkIGluc2lkZSBhbm90aGVyIGNvbXBvbmVudC5cXG5UbyByZXNvbHZlIHRoaXMgb25seSBjcmVhdGUgbmV3IFN0eWxlZENvbXBvbmVudHMgb3V0c2lkZSBvZiBhbnkgcmVuZGVyIG1ldGhvZCBhbmQgZnVuY3Rpb24gY29tcG9uZW50LlwiLGk9Y29uc29sZS5lcnJvcjt0cnl7dmFyIGE9ITA7Y29uc29sZS5lcnJvcj1mdW5jdGlvbih0KXtmb3IodmFyIG49W10sbz0xO288YXJndW1lbnRzLmxlbmd0aDtvKyspbltvLTFdPWFyZ3VtZW50c1tvXTtFLnRlc3QodCk/KGE9ITEsTi5kZWxldGUocykpOmkuYXBwbHkodm9pZCAwLGUoW3RdLG4sITEpKX0scigpLGEmJiFOLmhhcyhzKSYmKGNvbnNvbGUud2FybihzKSxOLmFkZChzKSl9Y2F0Y2goZSl7RS50ZXN0KGUubWVzc2FnZSkmJk4uZGVsZXRlKHMpfWZpbmFsbHl7Y29uc29sZS5lcnJvcj1pfX19LF89T2JqZWN0LmZyZWV6ZShbXSksQz1PYmplY3QuZnJlZXplKHt9KTtmdW5jdGlvbiBJKGUsdCxuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49QyksZS50aGVtZSE9PW4udGhlbWUmJmUudGhlbWV8fHR8fG4udGhlbWV9dmFyIEE9bmV3IFNldChbXCJhXCIsXCJhYmJyXCIsXCJhZGRyZXNzXCIsXCJhcmVhXCIsXCJhcnRpY2xlXCIsXCJhc2lkZVwiLFwiYXVkaW9cIixcImJcIixcImJhc2VcIixcImJkaVwiLFwiYmRvXCIsXCJiaWdcIixcImJsb2NrcXVvdGVcIixcImJvZHlcIixcImJyXCIsXCJidXR0b25cIixcImNhbnZhc1wiLFwiY2FwdGlvblwiLFwiY2l0ZVwiLFwiY29kZVwiLFwiY29sXCIsXCJjb2xncm91cFwiLFwiZGF0YVwiLFwiZGF0YWxpc3RcIixcImRkXCIsXCJkZWxcIixcImRldGFpbHNcIixcImRmblwiLFwiZGlhbG9nXCIsXCJkaXZcIixcImRsXCIsXCJkdFwiLFwiZW1cIixcImVtYmVkXCIsXCJmaWVsZHNldFwiLFwiZmlnY2FwdGlvblwiLFwiZmlndXJlXCIsXCJmb290ZXJcIixcImZvcm1cIixcImgxXCIsXCJoMlwiLFwiaDNcIixcImg0XCIsXCJoNVwiLFwiaDZcIixcImhlYWRlclwiLFwiaGdyb3VwXCIsXCJoclwiLFwiaHRtbFwiLFwiaVwiLFwiaWZyYW1lXCIsXCJpbWdcIixcImlucHV0XCIsXCJpbnNcIixcImtiZFwiLFwia2V5Z2VuXCIsXCJsYWJlbFwiLFwibGVnZW5kXCIsXCJsaVwiLFwibGlua1wiLFwibWFpblwiLFwibWFwXCIsXCJtYXJrXCIsXCJtZW51XCIsXCJtZW51aXRlbVwiLFwibWV0YVwiLFwibWV0ZXJcIixcIm5hdlwiLFwibm9zY3JpcHRcIixcIm9iamVjdFwiLFwib2xcIixcIm9wdGdyb3VwXCIsXCJvcHRpb25cIixcIm91dHB1dFwiLFwicFwiLFwicGFyYW1cIixcInBpY3R1cmVcIixcInByZVwiLFwicHJvZ3Jlc3NcIixcInFcIixcInJwXCIsXCJydFwiLFwicnVieVwiLFwic1wiLFwic2FtcFwiLFwic2NyaXB0XCIsXCJzZWN0aW9uXCIsXCJzZWxlY3RcIixcInNtYWxsXCIsXCJzb3VyY2VcIixcInNwYW5cIixcInN0cm9uZ1wiLFwic3R5bGVcIixcInN1YlwiLFwic3VtbWFyeVwiLFwic3VwXCIsXCJ0YWJsZVwiLFwidGJvZHlcIixcInRkXCIsXCJ0ZXh0YXJlYVwiLFwidGZvb3RcIixcInRoXCIsXCJ0aGVhZFwiLFwidGltZVwiLFwidHJcIixcInRyYWNrXCIsXCJ1XCIsXCJ1bFwiLFwidXNlXCIsXCJ2YXJcIixcInZpZGVvXCIsXCJ3YnJcIixcImNpcmNsZVwiLFwiY2xpcFBhdGhcIixcImRlZnNcIixcImVsbGlwc2VcIixcImZvcmVpZ25PYmplY3RcIixcImdcIixcImltYWdlXCIsXCJsaW5lXCIsXCJsaW5lYXJHcmFkaWVudFwiLFwibWFya2VyXCIsXCJtYXNrXCIsXCJwYXRoXCIsXCJwYXR0ZXJuXCIsXCJwb2x5Z29uXCIsXCJwb2x5bGluZVwiLFwicmFkaWFsR3JhZGllbnRcIixcInJlY3RcIixcInN0b3BcIixcInN2Z1wiLFwidGV4dFwiLFwidHNwYW5cIl0pLE89L1shXCIjJCUmJygpKissLi86Ozw9Pj9AW1xcXFxcXF1eYHt8fX4tXSsvZyxEPS8oXi18LSQpL2c7ZnVuY3Rpb24gUihlKXtyZXR1cm4gZS5yZXBsYWNlKE8sXCItXCIpLnJlcGxhY2UoRCxcIlwiKX12YXIgVD0vKGEpKGQpL2dpLGs9NTIsaj1mdW5jdGlvbihlKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlKyhlPjI1PzM5Ojk3KSl9O2Z1bmN0aW9uIHgoZSl7dmFyIHQsbj1cIlwiO2Zvcih0PU1hdGguYWJzKGUpO3Q+azt0PXQva3wwKW49aih0JWspK247cmV0dXJuKGoodCVrKStuKS5yZXBsYWNlKFQsXCIkMS0kMlwiKX12YXIgVixGPTUzODEsTT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj10Lmxlbmd0aDtuOyllPTMzKmVedC5jaGFyQ29kZUF0KC0tbik7cmV0dXJuIGV9LHo9ZnVuY3Rpb24oZSl7cmV0dXJuIE0oRixlKX07ZnVuY3Rpb24gJChlKXtyZXR1cm4geCh6KGUpPj4+MCl9ZnVuY3Rpb24gQihlKXtyZXR1cm5cInByb2R1Y3Rpb25cIiE9PXByb2Nlc3MuZW52Lk5PREVfRU5WJiZcInN0cmluZ1wiPT10eXBlb2YgZSYmZXx8ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHxcIkNvbXBvbmVudFwifWZ1bmN0aW9uIEwoZSl7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIGUmJihcInByb2R1Y3Rpb25cIj09PXByb2Nlc3MuZW52Lk5PREVfRU5WfHxlLmNoYXJBdCgwKT09PWUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkpfXZhciBHPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmZvcixZPUc/U3ltYm9sLmZvcihcInJlYWN0Lm1lbW9cIik6NjAxMTUsVz1HP1N5bWJvbC5mb3IoXCJyZWFjdC5mb3J3YXJkX3JlZlwiKTo2MDExMixxPXtjaGlsZENvbnRleHRUeXBlczohMCxjb250ZXh0VHlwZTohMCxjb250ZXh0VHlwZXM6ITAsZGVmYXVsdFByb3BzOiEwLGRpc3BsYXlOYW1lOiEwLGdldERlZmF1bHRQcm9wczohMCxnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I6ITAsZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzOiEwLG1peGluczohMCxwcm9wVHlwZXM6ITAsdHlwZTohMH0sSD17bmFtZTohMCxsZW5ndGg6ITAscHJvdG90eXBlOiEwLGNhbGxlcjohMCxjYWxsZWU6ITAsYXJndW1lbnRzOiEwLGFyaXR5OiEwfSxVPXskJHR5cGVvZjohMCxjb21wYXJlOiEwLGRlZmF1bHRQcm9wczohMCxkaXNwbGF5TmFtZTohMCxwcm9wVHlwZXM6ITAsdHlwZTohMH0sSj0oKFY9e30pW1ddPXskJHR5cGVvZjohMCxyZW5kZXI6ITAsZGVmYXVsdFByb3BzOiEwLGRpc3BsYXlOYW1lOiEwLHByb3BUeXBlczohMH0sVltZXT1VLFYpO2Z1bmN0aW9uIFgoZSl7cmV0dXJuKFwidHlwZVwiaW4odD1lKSYmdC50eXBlLiQkdHlwZW9mKT09PVk/VTpcIiQkdHlwZW9mXCJpbiBlP0pbZS4kJHR5cGVvZl06cTt2YXIgdH12YXIgWj1PYmplY3QuZGVmaW5lUHJvcGVydHksSz1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxRPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsZWU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix0ZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YsbmU9T2JqZWN0LnByb3RvdHlwZTtmdW5jdGlvbiBvZShlLHQsbil7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIHQpe2lmKG5lKXt2YXIgbz10ZSh0KTtvJiZvIT09bmUmJm9lKGUsbyxuKX12YXIgcj1LKHQpO1EmJihyPXIuY29uY2F0KFEodCkpKTtmb3IodmFyIHM9WChlKSxpPVgodCksYT0wO2E8ci5sZW5ndGg7KythKXt2YXIgYz1yW2FdO2lmKCEoYyBpbiBIfHxuJiZuW2NdfHxpJiZjIGluIGl8fHMmJmMgaW4gcykpe3ZhciBsPWVlKHQsYyk7dHJ5e1ooZSxjLGwpfWNhdGNoKGUpe319fX1yZXR1cm4gZX1mdW5jdGlvbiByZShlKXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBlfWZ1bmN0aW9uIHNlKGUpe3JldHVyblwib2JqZWN0XCI9PXR5cGVvZiBlJiZcInN0eWxlZENvbXBvbmVudElkXCJpbiBlfWZ1bmN0aW9uIGllKGUsdCl7cmV0dXJuIGUmJnQ/XCJcIi5jb25jYXQoZSxcIiBcIikuY29uY2F0KHQpOmV8fHR8fFwiXCJ9ZnVuY3Rpb24gYWUoZSx0KXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuXCJcIjtmb3IodmFyIG49ZVswXSxvPTE7bzxlLmxlbmd0aDtvKyspbis9dD90K2Vbb106ZVtvXTtyZXR1cm4gbn1mdW5jdGlvbiBjZShlKXtyZXR1cm4gbnVsbCE9PWUmJlwib2JqZWN0XCI9PXR5cGVvZiBlJiZlLmNvbnN0cnVjdG9yLm5hbWU9PT1PYmplY3QubmFtZSYmIShcInByb3BzXCJpbiBlJiZlLiQkdHlwZW9mKX1mdW5jdGlvbiBsZShlLHQsbil7aWYodm9pZCAwPT09biYmKG49ITEpLCFuJiYhY2UoZSkmJiFBcnJheS5pc0FycmF5KGUpKXJldHVybiB0O2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKHZhciBvPTA7bzx0Lmxlbmd0aDtvKyspZVtvXT1sZShlW29dLHRbb10pO2Vsc2UgaWYoY2UodCkpZm9yKHZhciBvIGluIHQpZVtvXT1sZShlW29dLHRbb10pO3JldHVybiBlfWZ1bmN0aW9uIHVlKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJ0b1N0cmluZ1wiLHt2YWx1ZTp0fSl9dmFyIHBlPVwicHJvZHVjdGlvblwiIT09cHJvY2Vzcy5lbnYuTk9ERV9FTlY/ezE6XCJDYW5ub3QgY3JlYXRlIHN0eWxlZC1jb21wb25lbnQgZm9yIGNvbXBvbmVudDogJXMuXFxuXFxuXCIsMjpcIkNhbid0IGNvbGxlY3Qgc3R5bGVzIG9uY2UgeW91J3ZlIGNvbnN1bWVkIGEgYFNlcnZlclN0eWxlU2hlZXRgJ3Mgc3R5bGVzISBgU2VydmVyU3R5bGVTaGVldGAgaXMgYSBvbmUgb2ZmIGluc3RhbmNlIGZvciBlYWNoIHNlcnZlci1zaWRlIHJlbmRlciBjeWNsZS5cXG5cXG4tIEFyZSB5b3UgdHJ5aW5nIHRvIHJldXNlIGl0IGFjcm9zcyByZW5kZXJzP1xcbi0gQXJlIHlvdSBhY2NpZGVudGFsbHkgY2FsbGluZyBjb2xsZWN0U3R5bGVzIHR3aWNlP1xcblxcblwiLDM6XCJTdHJlYW1pbmcgU1NSIGlzIG9ubHkgc3VwcG9ydGVkIGluIGEgTm9kZS5qcyBlbnZpcm9ubWVudDsgUGxlYXNlIGRvIG5vdCB0cnkgdG8gY2FsbCB0aGlzIG1ldGhvZCBpbiB0aGUgYnJvd3Nlci5cXG5cXG5cIiw0OlwiVGhlIGBTdHlsZVNoZWV0TWFuYWdlcmAgZXhwZWN0cyBhIHZhbGlkIHRhcmdldCBvciBzaGVldCBwcm9wIVxcblxcbi0gRG9lcyB0aGlzIGVycm9yIG9jY3VyIG9uIHRoZSBjbGllbnQgYW5kIGlzIHlvdXIgdGFyZ2V0IGZhbHN5P1xcbi0gRG9lcyB0aGlzIGVycm9yIG9jY3VyIG9uIHRoZSBzZXJ2ZXIgYW5kIGlzIHRoZSBzaGVldCBmYWxzeT9cXG5cXG5cIiw1OlwiVGhlIGNsb25lIG1ldGhvZCBjYW5ub3QgYmUgdXNlZCBvbiB0aGUgY2xpZW50IVxcblxcbi0gQXJlIHlvdSBydW5uaW5nIGluIGEgY2xpZW50LWxpa2UgZW52aXJvbm1lbnQgb24gdGhlIHNlcnZlcj9cXG4tIEFyZSB5b3UgdHJ5aW5nIHRvIHJ1biBTU1Igb24gdGhlIGNsaWVudD9cXG5cXG5cIiw2OlwiVHJ5aW5nIHRvIGluc2VydCBhIG5ldyBzdHlsZSB0YWcsIGJ1dCB0aGUgZ2l2ZW4gTm9kZSBpcyB1bm1vdW50ZWQhXFxuXFxuLSBBcmUgeW91IHVzaW5nIGEgY3VzdG9tIHRhcmdldCB0aGF0IGlzbid0IG1vdW50ZWQ/XFxuLSBEb2VzIHlvdXIgZG9jdW1lbnQgbm90IGhhdmUgYSB2YWxpZCBoZWFkIGVsZW1lbnQ/XFxuLSBIYXZlIHlvdSBhY2NpZGVudGFsbHkgcmVtb3ZlZCBhIHN0eWxlIHRhZyBtYW51YWxseT9cXG5cXG5cIiw3OidUaGVtZVByb3ZpZGVyOiBQbGVhc2UgcmV0dXJuIGFuIG9iamVjdCBmcm9tIHlvdXIgXCJ0aGVtZVwiIHByb3AgZnVuY3Rpb24sIGUuZy5cXG5cXG5gYGBqc1xcbnRoZW1lPXsoKSA9PiAoe30pfVxcbmBgYFxcblxcbicsODonVGhlbWVQcm92aWRlcjogUGxlYXNlIG1ha2UgeW91ciBcInRoZW1lXCIgcHJvcCBhbiBvYmplY3QuXFxuXFxuJyw5OlwiTWlzc2luZyBkb2N1bWVudCBgPGhlYWQ+YFxcblxcblwiLDEwOlwiQ2Fubm90IGZpbmQgYSBTdHlsZVNoZWV0IGluc3RhbmNlLiBVc3VhbGx5IHRoaXMgaGFwcGVucyBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgY29waWVzIG9mIHN0eWxlZC1jb21wb25lbnRzIGxvYWRlZCBhdCBvbmNlLiBDaGVjayBvdXQgdGhpcyBpc3N1ZSBmb3IgaG93IHRvIHRyb3VibGVzaG9vdCBhbmQgZml4IHRoZSBjb21tb24gY2FzZXMgd2hlcmUgdGhpcyBzaXR1YXRpb24gY2FuIGhhcHBlbjogaHR0cHM6Ly9naXRodWIuY29tL3N0eWxlZC1jb21wb25lbnRzL3N0eWxlZC1jb21wb25lbnRzL2lzc3Vlcy8xOTQxI2lzc3VlY29tbWVudC00MTc4NjIwMjFcXG5cXG5cIiwxMTpcIl9UaGlzIGVycm9yIHdhcyByZXBsYWNlZCB3aXRoIGEgZGV2LXRpbWUgd2FybmluZywgaXQgd2lsbCBiZSBkZWxldGVkIGZvciB2NCBmaW5hbC5fIFtjcmVhdGVHbG9iYWxTdHlsZV0gcmVjZWl2ZWQgY2hpbGRyZW4gd2hpY2ggd2lsbCBub3QgYmUgcmVuZGVyZWQuIFBsZWFzZSB1c2UgdGhlIGNvbXBvbmVudCB3aXRob3V0IHBhc3NpbmcgY2hpbGRyZW4gZWxlbWVudHMuXFxuXFxuXCIsMTI6XCJJdCBzZWVtcyB5b3UgYXJlIGludGVycG9sYXRpbmcgYSBrZXlmcmFtZSBkZWNsYXJhdGlvbiAoJXMpIGludG8gYW4gdW50YWdnZWQgc3RyaW5nLiBUaGlzIHdhcyBzdXBwb3J0ZWQgaW4gc3R5bGVkLWNvbXBvbmVudHMgdjMsIGJ1dCBpcyBub3QgbG9uZ2VyIHN1cHBvcnRlZCBpbiB2NCBhcyBrZXlmcmFtZXMgYXJlIG5vdyBpbmplY3RlZCBvbi1kZW1hbmQuIFBsZWFzZSB3cmFwIHlvdXIgc3RyaW5nIGluIHRoZSBjc3NcXFxcYFxcXFxgIGhlbHBlciB3aGljaCBlbnN1cmVzIHRoZSBzdHlsZXMgYXJlIGluamVjdGVkIGNvcnJlY3RseS4gU2VlIGh0dHBzOi8vd3d3LnN0eWxlZC1jb21wb25lbnRzLmNvbS9kb2NzL2FwaSNjc3NcXG5cXG5cIiwxMzpcIiVzIGlzIG5vdCBhIHN0eWxlZCBjb21wb25lbnQgYW5kIGNhbm5vdCBiZSByZWZlcnJlZCB0byB2aWEgY29tcG9uZW50IHNlbGVjdG9yLiBTZWUgaHR0cHM6Ly93d3cuc3R5bGVkLWNvbXBvbmVudHMuY29tL2RvY3MvYWR2YW5jZWQjcmVmZXJyaW5nLXRvLW90aGVyLWNvbXBvbmVudHMgZm9yIG1vcmUgZGV0YWlscy5cXG5cXG5cIiwxNDonVGhlbWVQcm92aWRlcjogXCJ0aGVtZVwiIHByb3AgaXMgcmVxdWlyZWQuXFxuXFxuJywxNTpcIkEgc3R5bGlzIHBsdWdpbiBoYXMgYmVlbiBzdXBwbGllZCB0aGF0IGlzIG5vdCBuYW1lZC4gV2UgbmVlZCBhIG5hbWUgZm9yIGVhY2ggcGx1Z2luIHRvIGJlIGFibGUgdG8gcHJldmVudCBzdHlsaW5nIGNvbGxpc2lvbnMgYmV0d2VlbiBkaWZmZXJlbnQgc3R5bGlzIGNvbmZpZ3VyYXRpb25zIHdpdGhpbiB0aGUgc2FtZSBhcHAuIEJlZm9yZSB5b3UgcGFzcyB5b3VyIHBsdWdpbiB0byBgPFN0eWxlU2hlZXRNYW5hZ2VyIHN0eWxpc1BsdWdpbnM9e1tdfT5gLCBwbGVhc2UgbWFrZSBzdXJlIGVhY2ggcGx1Z2luIGlzIHVuaXF1ZWx5LW5hbWVkLCBlLmcuXFxuXFxuYGBganNcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoaW1wb3J0ZWRQbHVnaW4sICduYW1lJywgeyB2YWx1ZTogJ3NvbWUtdW5pcXVlLW5hbWUnIH0pO1xcbmBgYFxcblxcblwiLDE2OlwiUmVhY2hlZCB0aGUgbGltaXQgb2YgaG93IG1hbnkgc3R5bGVkIGNvbXBvbmVudHMgbWF5IGJlIGNyZWF0ZWQgYXQgZ3JvdXAgJXMuXFxuWW91IG1heSBvbmx5IGNyZWF0ZSB1cCB0byAxLDA3Myw3NDEsODI0IGNvbXBvbmVudHMuIElmIHlvdSdyZSBjcmVhdGluZyBjb21wb25lbnRzIGR5bmFtaWNhbGx5LFxcbmFzIGZvciBpbnN0YW5jZSBpbiB5b3VyIHJlbmRlciBtZXRob2QgdGhlbiB5b3UgbWF5IGJlIHJ1bm5pbmcgaW50byB0aGlzIGxpbWl0YXRpb24uXFxuXFxuXCIsMTc6XCJDU1NTdHlsZVNoZWV0IGNvdWxkIG5vdCBiZSBmb3VuZCBvbiBIVE1MU3R5bGVFbGVtZW50LlxcbkhhcyBzdHlsZWQtY29tcG9uZW50cycgc3R5bGUgdGFnIGJlZW4gdW5tb3VudGVkIG9yIGFsdGVyZWQgYnkgYW5vdGhlciBzY3JpcHQ/XFxuXCIsMTg6XCJUaGVtZVByb3ZpZGVyOiBQbGVhc2UgbWFrZSBzdXJlIHlvdXIgdXNlVGhlbWUgaG9vayBpcyB3aXRoaW4gYSBgPFRoZW1lUHJvdmlkZXI+YFwifTp7fTtmdW5jdGlvbiBkZSgpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTtmb3IodmFyIG49ZVswXSxvPVtdLHI9MSxzPWUubGVuZ3RoO3I8cztyKz0xKW8ucHVzaChlW3JdKTtyZXR1cm4gby5mb3JFYWNoKGZ1bmN0aW9uKGUpe249bi5yZXBsYWNlKC8lW2Etel0vLGUpfSksbn1mdW5jdGlvbiBoZSh0KXtmb3IodmFyIG49W10sbz0xO288YXJndW1lbnRzLmxlbmd0aDtvKyspbltvLTFdPWFyZ3VtZW50c1tvXTtyZXR1cm5cInByb2R1Y3Rpb25cIj09PXByb2Nlc3MuZW52Lk5PREVfRU5WP25ldyBFcnJvcihcIkFuIGVycm9yIG9jY3VycmVkLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3N0eWxlZC1jb21wb25lbnRzL3N0eWxlZC1jb21wb25lbnRzL2Jsb2IvbWFpbi9wYWNrYWdlcy9zdHlsZWQtY29tcG9uZW50cy9zcmMvdXRpbHMvZXJyb3JzLm1kI1wiLmNvbmNhdCh0LFwiIGZvciBtb3JlIGluZm9ybWF0aW9uLlwiKS5jb25jYXQobi5sZW5ndGg+MD9cIiBBcmdzOiBcIi5jb25jYXQobi5qb2luKFwiLCBcIikpOlwiXCIpKTpuZXcgRXJyb3IoZGUuYXBwbHkodm9pZCAwLGUoW3BlW3RdXSxuLCExKSkudHJpbSgpKX12YXIgZmU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMuZ3JvdXBTaXplcz1uZXcgVWludDMyQXJyYXkoNTEyKSx0aGlzLmxlbmd0aD01MTIsdGhpcy50YWc9ZX1yZXR1cm4gZS5wcm90b3R5cGUuaW5kZXhPZkdyb3VwPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLG49MDtuPGU7bisrKXQrPXRoaXMuZ3JvdXBTaXplc1tuXTtyZXR1cm4gdH0sZS5wcm90b3R5cGUuaW5zZXJ0UnVsZXM9ZnVuY3Rpb24oZSx0KXtpZihlPj10aGlzLmdyb3VwU2l6ZXMubGVuZ3RoKXtmb3IodmFyIG49dGhpcy5ncm91cFNpemVzLG89bi5sZW5ndGgscj1vO2U+PXI7KWlmKChyPDw9MSk8MCl0aHJvdyBoZSgxNixcIlwiLmNvbmNhdChlKSk7dGhpcy5ncm91cFNpemVzPW5ldyBVaW50MzJBcnJheShyKSx0aGlzLmdyb3VwU2l6ZXMuc2V0KG4pLHRoaXMubGVuZ3RoPXI7Zm9yKHZhciBzPW87czxyO3MrKyl0aGlzLmdyb3VwU2l6ZXNbc109MH1mb3IodmFyIGk9dGhpcy5pbmRleE9mR3JvdXAoZSsxKSxhPShzPTAsdC5sZW5ndGgpO3M8YTtzKyspdGhpcy50YWcuaW5zZXJ0UnVsZShpLHRbc10pJiYodGhpcy5ncm91cFNpemVzW2VdKyssaSsrKX0sZS5wcm90b3R5cGUuY2xlYXJHcm91cD1mdW5jdGlvbihlKXtpZihlPHRoaXMubGVuZ3RoKXt2YXIgdD10aGlzLmdyb3VwU2l6ZXNbZV0sbj10aGlzLmluZGV4T2ZHcm91cChlKSxvPW4rdDt0aGlzLmdyb3VwU2l6ZXNbZV09MDtmb3IodmFyIHI9bjtyPG87cisrKXRoaXMudGFnLmRlbGV0ZVJ1bGUobil9fSxlLnByb3RvdHlwZS5nZXRHcm91cD1mdW5jdGlvbihlKXt2YXIgdD1cIlwiO2lmKGU+PXRoaXMubGVuZ3RofHwwPT09dGhpcy5ncm91cFNpemVzW2VdKXJldHVybiB0O2Zvcih2YXIgbj10aGlzLmdyb3VwU2l6ZXNbZV0sbz10aGlzLmluZGV4T2ZHcm91cChlKSxyPW8rbixzPW87czxyO3MrKyl0Kz1cIlwiLmNvbmNhdCh0aGlzLnRhZy5nZXRSdWxlKHMpKS5jb25jYXQoZyk7cmV0dXJuIHR9LGV9KCksbWU9MTw8MzAseWU9bmV3IE1hcCx2ZT1uZXcgTWFwLGdlPTEsU2U9ZnVuY3Rpb24oZSl7aWYoeWUuaGFzKGUpKXJldHVybiB5ZS5nZXQoZSk7Zm9yKDt2ZS5oYXMoZ2UpOylnZSsrO3ZhciB0PWdlKys7aWYoXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmKCgwfHQpPDB8fHQ+bWUpKXRocm93IGhlKDE2LFwiXCIuY29uY2F0KHQpKTtyZXR1cm4geWUuc2V0KGUsdCksdmUuc2V0KHQsZSksdH0sd2U9ZnVuY3Rpb24oZSx0KXtnZT10KzEseWUuc2V0KGUsdCksdmUuc2V0KHQsZSl9LGJlPVwic3R5bGVbXCIuY29uY2F0KGYsXCJdW1wiKS5jb25jYXQoeSwnPVwiJykuY29uY2F0KHYsJ1wiXScpLEVlPW5ldyBSZWdFeHAoXCJeXCIuY29uY2F0KGYsJ1xcXFwuZyhcXFxcZCspXFxcXFtpZD1cIihbXFxcXHdcXFxcZC1dKylcIlxcXFxdLio/XCIoW15cIl0qKScpKSxOZT1mdW5jdGlvbihlLHQsbil7Zm9yKHZhciBvLHI9bi5zcGxpdChcIixcIikscz0wLGk9ci5sZW5ndGg7czxpO3MrKykobz1yW3NdKSYmZS5yZWdpc3Rlck5hbWUodCxvKX0sUGU9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4sbz0obnVsbCE9PShuPXQudGV4dENvbnRlbnQpJiZ2b2lkIDAhPT1uP246XCJcIikuc3BsaXQoZykscj1bXSxzPTAsaT1vLmxlbmd0aDtzPGk7cysrKXt2YXIgYT1vW3NdLnRyaW0oKTtpZihhKXt2YXIgYz1hLm1hdGNoKEVlKTtpZihjKXt2YXIgbD0wfHBhcnNlSW50KGNbMV0sMTApLHU9Y1syXTswIT09bCYmKHdlKHUsbCksTmUoZSx1LGNbM10pLGUuZ2V0VGFnKCkuaW5zZXJ0UnVsZXMobCxyKSksci5sZW5ndGg9MH1lbHNlIHIucHVzaChhKX19fSxfZT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChiZSksbj0wLG89dC5sZW5ndGg7bjxvO24rKyl7dmFyIHI9dFtuXTtyJiZyLmdldEF0dHJpYnV0ZShmKSE9PW0mJihQZShlLHIpLHIucGFyZW50Tm9kZSYmci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpKX19O2Z1bmN0aW9uIENlKCl7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIF9fd2VicGFja19ub25jZV9fP19fd2VicGFja19ub25jZV9fOm51bGx9dmFyIEllPWZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmhlYWQsbj1lfHx0LG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpLHI9ZnVuY3Rpb24oZSl7dmFyIHQ9QXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJzdHlsZVtcIi5jb25jYXQoZixcIl1cIikpKTtyZXR1cm4gdFt0Lmxlbmd0aC0xXX0obikscz12b2lkIDAhPT1yP3IubmV4dFNpYmxpbmc6bnVsbDtvLnNldEF0dHJpYnV0ZShmLG0pLG8uc2V0QXR0cmlidXRlKHksdik7dmFyIGk9Q2UoKTtyZXR1cm4gaSYmby5zZXRBdHRyaWJ1dGUoXCJub25jZVwiLGkpLG4uaW5zZXJ0QmVmb3JlKG8scyksb30sQWU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMuZWxlbWVudD1JZShlKSx0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoXCJcIikpLHRoaXMuc2hlZXQ9ZnVuY3Rpb24oZSl7aWYoZS5zaGVldClyZXR1cm4gZS5zaGVldDtmb3IodmFyIHQ9ZG9jdW1lbnQuc3R5bGVTaGVldHMsbj0wLG89dC5sZW5ndGg7bjxvO24rKyl7dmFyIHI9dFtuXTtpZihyLm93bmVyTm9kZT09PWUpcmV0dXJuIHJ9dGhyb3cgaGUoMTcpfSh0aGlzLmVsZW1lbnQpLHRoaXMubGVuZ3RoPTB9cmV0dXJuIGUucHJvdG90eXBlLmluc2VydFJ1bGU9ZnVuY3Rpb24oZSx0KXt0cnl7cmV0dXJuIHRoaXMuc2hlZXQuaW5zZXJ0UnVsZSh0LGUpLHRoaXMubGVuZ3RoKyssITB9Y2F0Y2goZSl7cmV0dXJuITF9fSxlLnByb3RvdHlwZS5kZWxldGVSdWxlPWZ1bmN0aW9uKGUpe3RoaXMuc2hlZXQuZGVsZXRlUnVsZShlKSx0aGlzLmxlbmd0aC0tfSxlLnByb3RvdHlwZS5nZXRSdWxlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuc2hlZXQuY3NzUnVsZXNbZV07cmV0dXJuIHQmJnQuY3NzVGV4dD90LmNzc1RleHQ6XCJcIn0sZX0oKSxPZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dGhpcy5lbGVtZW50PUllKGUpLHRoaXMubm9kZXM9dGhpcy5lbGVtZW50LmNoaWxkTm9kZXMsdGhpcy5sZW5ndGg9MH1yZXR1cm4gZS5wcm90b3R5cGUuaW5zZXJ0UnVsZT1mdW5jdGlvbihlLHQpe2lmKGU8PXRoaXMubGVuZ3RoJiZlPj0wKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KTtyZXR1cm4gdGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZShuLHRoaXMubm9kZXNbZV18fG51bGwpLHRoaXMubGVuZ3RoKyssITB9cmV0dXJuITF9LGUucHJvdG90eXBlLmRlbGV0ZVJ1bGU9ZnVuY3Rpb24oZSl7dGhpcy5lbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMubm9kZXNbZV0pLHRoaXMubGVuZ3RoLS19LGUucHJvdG90eXBlLmdldFJ1bGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGU8dGhpcy5sZW5ndGg/dGhpcy5ub2Rlc1tlXS50ZXh0Q29udGVudDpcIlwifSxlfSgpLERlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXt0aGlzLnJ1bGVzPVtdLHRoaXMubGVuZ3RoPTB9cmV0dXJuIGUucHJvdG90eXBlLmluc2VydFJ1bGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZTw9dGhpcy5sZW5ndGgmJih0aGlzLnJ1bGVzLnNwbGljZShlLDAsdCksdGhpcy5sZW5ndGgrKywhMCl9LGUucHJvdG90eXBlLmRlbGV0ZVJ1bGU9ZnVuY3Rpb24oZSl7dGhpcy5ydWxlcy5zcGxpY2UoZSwxKSx0aGlzLmxlbmd0aC0tfSxlLnByb3RvdHlwZS5nZXRSdWxlPWZ1bmN0aW9uKGUpe3JldHVybiBlPHRoaXMubGVuZ3RoP3RoaXMucnVsZXNbZV06XCJcIn0sZX0oKSxSZT1TLFRlPXtpc1NlcnZlcjohUyx1c2VDU1NPTUluamVjdGlvbjohd30sa2U9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsbixvKXt2b2lkIDA9PT1lJiYoZT1DKSx2b2lkIDA9PT1uJiYobj17fSk7dmFyIHI9dGhpczt0aGlzLm9wdGlvbnM9dCh0KHt9LFRlKSxlKSx0aGlzLmdzPW4sdGhpcy5uYW1lcz1uZXcgTWFwKG8pLHRoaXMuc2VydmVyPSEhZS5pc1NlcnZlciwhdGhpcy5zZXJ2ZXImJlMmJlJlJiYoUmU9ITEsX2UodGhpcykpLHVlKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUuZ2V0VGFnKCksbj10Lmxlbmd0aCxvPVwiXCIscj1mdW5jdGlvbihuKXt2YXIgcj1mdW5jdGlvbihlKXtyZXR1cm4gdmUuZ2V0KGUpfShuKTtpZih2b2lkIDA9PT1yKXJldHVyblwiY29udGludWVcIjt2YXIgcz1lLm5hbWVzLmdldChyKSxpPXQuZ2V0R3JvdXAobik7aWYodm9pZCAwPT09c3x8IXMuc2l6ZXx8MD09PWkubGVuZ3RoKXJldHVyblwiY29udGludWVcIjt2YXIgYT1cIlwiLmNvbmNhdChmLFwiLmdcIikuY29uY2F0KG4sJ1tpZD1cIicpLmNvbmNhdChyLCdcIl0nKSxjPVwiXCI7dm9pZCAwIT09cyYmcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UubGVuZ3RoPjAmJihjKz1cIlwiLmNvbmNhdChlLFwiLFwiKSl9KSxvKz1cIlwiLmNvbmNhdChpKS5jb25jYXQoYSwne2NvbnRlbnQ6XCInKS5jb25jYXQoYywnXCJ9JykuY29uY2F0KGcpfSxzPTA7czxuO3MrKylyKHMpO3JldHVybiBvfShyKX0pfXJldHVybiBlLnJlZ2lzdGVySWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIFNlKGUpfSxlLnByb3RvdHlwZS5yZWh5ZHJhdGU9ZnVuY3Rpb24oKXshdGhpcy5zZXJ2ZXImJlMmJl9lKHRoaXMpfSxlLnByb3RvdHlwZS5yZWNvbnN0cnVjdFdpdGhPcHRpb25zPWZ1bmN0aW9uKG4sbyl7cmV0dXJuIHZvaWQgMD09PW8mJihvPSEwKSxuZXcgZSh0KHQoe30sdGhpcy5vcHRpb25zKSxuKSx0aGlzLmdzLG8mJnRoaXMubmFtZXN8fHZvaWQgMCl9LGUucHJvdG90eXBlLmFsbG9jYXRlR1NJbnN0YW5jZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5nc1tlXT0odGhpcy5nc1tlXXx8MCkrMX0sZS5wcm90b3R5cGUuZ2V0VGFnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGFnfHwodGhpcy50YWc9KGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS51c2VDU1NPTUluamVjdGlvbixuPWUudGFyZ2V0O3JldHVybiBlLmlzU2VydmVyP25ldyBEZShuKTp0P25ldyBBZShuKTpuZXcgT2Uobil9KHRoaXMub3B0aW9ucyksbmV3IGZlKGUpKSk7dmFyIGV9LGUucHJvdG90eXBlLmhhc05hbWVGb3JJZD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm5hbWVzLmhhcyhlKSYmdGhpcy5uYW1lcy5nZXQoZSkuaGFzKHQpfSxlLnByb3RvdHlwZS5yZWdpc3Rlck5hbWU9ZnVuY3Rpb24oZSx0KXtpZihTZShlKSx0aGlzLm5hbWVzLmhhcyhlKSl0aGlzLm5hbWVzLmdldChlKS5hZGQodCk7ZWxzZXt2YXIgbj1uZXcgU2V0O24uYWRkKHQpLHRoaXMubmFtZXMuc2V0KGUsbil9fSxlLnByb3RvdHlwZS5pbnNlcnRSdWxlcz1mdW5jdGlvbihlLHQsbil7dGhpcy5yZWdpc3Rlck5hbWUoZSx0KSx0aGlzLmdldFRhZygpLmluc2VydFJ1bGVzKFNlKGUpLG4pfSxlLnByb3RvdHlwZS5jbGVhck5hbWVzPWZ1bmN0aW9uKGUpe3RoaXMubmFtZXMuaGFzKGUpJiZ0aGlzLm5hbWVzLmdldChlKS5jbGVhcigpfSxlLnByb3RvdHlwZS5jbGVhclJ1bGVzPWZ1bmN0aW9uKGUpe3RoaXMuZ2V0VGFnKCkuY2xlYXJHcm91cChTZShlKSksdGhpcy5jbGVhck5hbWVzKGUpfSxlLnByb3RvdHlwZS5jbGVhclRhZz1mdW5jdGlvbigpe3RoaXMudGFnPXZvaWQgMH0sZX0oKSxqZT0vJi9nLHhlPS9eXFxzKlxcL1xcLy4qJC9nbTtmdW5jdGlvbiBWZShlLHQpe3JldHVybiBlLm1hcChmdW5jdGlvbihlKXtyZXR1cm5cInJ1bGVcIj09PWUudHlwZSYmKGUudmFsdWU9XCJcIi5jb25jYXQodCxcIiBcIikuY29uY2F0KGUudmFsdWUpLGUudmFsdWU9ZS52YWx1ZS5yZXBsYWNlQWxsKFwiLFwiLFwiLFwiLmNvbmNhdCh0LFwiIFwiKSksZS5wcm9wcz1lLnByb3BzLm1hcChmdW5jdGlvbihlKXtyZXR1cm5cIlwiLmNvbmNhdCh0LFwiIFwiKS5jb25jYXQoZSl9KSksQXJyYXkuaXNBcnJheShlLmNoaWxkcmVuKSYmXCJAa2V5ZnJhbWVzXCIhPT1lLnR5cGUmJihlLmNoaWxkcmVuPVZlKGUuY2hpbGRyZW4sdCkpLGV9KX1mdW5jdGlvbiBGZShlKXt2YXIgdCxuLG8scj12b2lkIDA9PT1lP0M6ZSxzPXIub3B0aW9ucyxpPXZvaWQgMD09PXM/QzpzLGE9ci5wbHVnaW5zLGM9dm9pZCAwPT09YT9fOmEsbD1mdW5jdGlvbihlLG8scil7cmV0dXJuIHIuc3RhcnRzV2l0aChuKSYmci5lbmRzV2l0aChuKSYmci5yZXBsYWNlQWxsKG4sXCJcIikubGVuZ3RoPjA/XCIuXCIuY29uY2F0KHQpOmV9LHU9Yy5zbGljZSgpO3UucHVzaChmdW5jdGlvbihlKXtlLnR5cGU9PT1kLlJVTEVTRVQmJmUudmFsdWUuaW5jbHVkZXMoXCImXCIpJiYoZS5wcm9wc1swXT1lLnByb3BzWzBdLnJlcGxhY2UoamUsbikucmVwbGFjZShvLGwpKX0pLGkucHJlZml4JiZ1LnB1c2goZC5wcmVmaXhlciksdS5wdXNoKGQuc3RyaW5naWZ5KTt2YXIgcD1mdW5jdGlvbihlLHIscyxhKXt2b2lkIDA9PT1yJiYocj1cIlwiKSx2b2lkIDA9PT1zJiYocz1cIlwiKSx2b2lkIDA9PT1hJiYoYT1cIiZcIiksdD1hLG49cixvPW5ldyBSZWdFeHAoXCJcXFxcXCIuY29uY2F0KG4sXCJcXFxcYlwiKSxcImdcIik7dmFyIGM9ZS5yZXBsYWNlKHhlLFwiXCIpLGw9ZC5jb21waWxlKHN8fHI/XCJcIi5jb25jYXQocyxcIiBcIikuY29uY2F0KHIsXCIgeyBcIikuY29uY2F0KGMsXCIgfVwiKTpjKTtpLm5hbWVzcGFjZSYmKGw9VmUobCxpLm5hbWVzcGFjZSkpO3ZhciBwPVtdO3JldHVybiBkLnNlcmlhbGl6ZShsLGQubWlkZGxld2FyZSh1LmNvbmNhdChkLnJ1bGVzaGVldChmdW5jdGlvbihlKXtyZXR1cm4gcC5wdXNoKGUpfSkpKSkscH07cmV0dXJuIHAuaGFzaD1jLmxlbmd0aD9jLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiB0Lm5hbWV8fGhlKDE1KSxNKGUsdC5uYW1lKX0sRikudG9TdHJpbmcoKTpcIlwiLHB9dmFyIE1lPW5ldyBrZSx6ZT1GZSgpLCRlPW8uY3JlYXRlQ29udGV4dCh7c2hvdWxkRm9yd2FyZFByb3A6dm9pZCAwLHN0eWxlU2hlZXQ6TWUsc3R5bGlzOnplfSksQmU9JGUuQ29uc3VtZXIsTGU9by5jcmVhdGVDb250ZXh0KHZvaWQgMCk7ZnVuY3Rpb24gR2UoKXtyZXR1cm4gYygkZSl9ZnVuY3Rpb24gWWUoZSl7dmFyIHQ9cyhlLnN0eWxpc1BsdWdpbnMpLG49dFswXSxyPXRbMV0sYz1HZSgpLnN0eWxlU2hlZXQsbD1pKGZ1bmN0aW9uKCl7dmFyIHQ9YztyZXR1cm4gZS5zaGVldD90PWUuc2hlZXQ6ZS50YXJnZXQmJih0PXQucmVjb25zdHJ1Y3RXaXRoT3B0aW9ucyh7dGFyZ2V0OmUudGFyZ2V0fSwhMSkpLGUuZGlzYWJsZUNTU09NSW5qZWN0aW9uJiYodD10LnJlY29uc3RydWN0V2l0aE9wdGlvbnMoe3VzZUNTU09NSW5qZWN0aW9uOiExfSkpLHR9LFtlLmRpc2FibGVDU1NPTUluamVjdGlvbixlLnNoZWV0LGUudGFyZ2V0LGNdKSx1PWkoZnVuY3Rpb24oKXtyZXR1cm4gRmUoe29wdGlvbnM6e25hbWVzcGFjZTplLm5hbWVzcGFjZSxwcmVmaXg6ZS5lbmFibGVWZW5kb3JQcmVmaXhlc30scGx1Z2luczpufSl9LFtlLmVuYWJsZVZlbmRvclByZWZpeGVzLGUubmFtZXNwYWNlLG5dKTthKGZ1bmN0aW9uKCl7cChuLGUuc3R5bGlzUGx1Z2lucyl8fHIoZS5zdHlsaXNQbHVnaW5zKX0sW2Uuc3R5bGlzUGx1Z2luc10pO3ZhciBkPWkoZnVuY3Rpb24oKXtyZXR1cm57c2hvdWxkRm9yd2FyZFByb3A6ZS5zaG91bGRGb3J3YXJkUHJvcCxzdHlsZVNoZWV0Omwsc3R5bGlzOnV9fSxbZS5zaG91bGRGb3J3YXJkUHJvcCxsLHVdKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCRlLlByb3ZpZGVyLHt2YWx1ZTpkfSxvLmNyZWF0ZUVsZW1lbnQoTGUuUHJvdmlkZXIse3ZhbHVlOnV9LGUuY2hpbGRyZW4pKX12YXIgV2U9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7dmFyIG49dGhpczt0aGlzLmluamVjdD1mdW5jdGlvbihlLHQpe3ZvaWQgMD09PXQmJih0PXplKTt2YXIgbz1uLm5hbWUrdC5oYXNoO2UuaGFzTmFtZUZvcklkKG4uaWQsbyl8fGUuaW5zZXJ0UnVsZXMobi5pZCxvLHQobi5ydWxlcyxvLFwiQGtleWZyYW1lc1wiKSl9LHRoaXMubmFtZT1lLHRoaXMuaWQ9XCJzYy1rZXlmcmFtZXMtXCIuY29uY2F0KGUpLHRoaXMucnVsZXM9dCx1ZSh0aGlzLGZ1bmN0aW9uKCl7dGhyb3cgaGUoMTIsU3RyaW5nKG4ubmFtZSkpfSl9cmV0dXJuIGUucHJvdG90eXBlLmdldE5hbWU9ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPXplKSx0aGlzLm5hbWUrZS5oYXNofSxlfSgpLHFlPWZ1bmN0aW9uKGUpe3JldHVybiBlPj1cIkFcIiYmZTw9XCJaXCJ9O2Z1bmN0aW9uIEhlKGUpe2Zvcih2YXIgdD1cIlwiLG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIG89ZVtuXTtpZigxPT09biYmXCItXCI9PT1vJiZcIi1cIj09PWVbMF0pcmV0dXJuIGU7cWUobyk/dCs9XCItXCIrby50b0xvd2VyQ2FzZSgpOnQrPW99cmV0dXJuIHQuc3RhcnRzV2l0aChcIm1zLVwiKT9cIi1cIit0OnR9dmFyIFVlPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lfHwhMT09PWV8fFwiXCI9PT1lfSxKZT1mdW5jdGlvbih0KXt2YXIgbixvLHI9W107Zm9yKHZhciBzIGluIHQpe3ZhciBpPXRbc107dC5oYXNPd25Qcm9wZXJ0eShzKSYmIVVlKGkpJiYoQXJyYXkuaXNBcnJheShpKSYmaS5pc0Nzc3x8cmUoaSk/ci5wdXNoKFwiXCIuY29uY2F0KEhlKHMpLFwiOlwiKSxpLFwiO1wiKTpjZShpKT9yLnB1c2guYXBwbHkocixlKGUoW1wiXCIuY29uY2F0KHMsXCIge1wiKV0sSmUoaSksITEpLFtcIn1cIl0sITEpKTpyLnB1c2goXCJcIi5jb25jYXQoSGUocyksXCI6IFwiKS5jb25jYXQoKG49cyxudWxsPT0obz1pKXx8XCJib29sZWFuXCI9PXR5cGVvZiBvfHxcIlwiPT09bz9cIlwiOlwibnVtYmVyXCIhPXR5cGVvZiBvfHwwPT09b3x8biBpbiBofHxuLnN0YXJ0c1dpdGgoXCItLVwiKT9TdHJpbmcobykudHJpbSgpOlwiXCIuY29uY2F0KG8sXCJweFwiKSksXCI7XCIpKSl9cmV0dXJuIHJ9O2Z1bmN0aW9uIFhlKGUsdCxuLG8pe2lmKFVlKGUpKXJldHVybltdO2lmKHNlKGUpKXJldHVybltcIi5cIi5jb25jYXQoZS5zdHlsZWRDb21wb25lbnRJZCldO2lmKHJlKGUpKXtpZighcmUocz1lKXx8cy5wcm90b3R5cGUmJnMucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnR8fCF0KXJldHVybltlXTt2YXIgcj1lKHQpO3JldHVyblwicHJvZHVjdGlvblwiPT09cHJvY2Vzcy5lbnYuTk9ERV9FTlZ8fFwib2JqZWN0XCIhPXR5cGVvZiByfHxBcnJheS5pc0FycmF5KHIpfHxyIGluc3RhbmNlb2YgV2V8fGNlKHIpfHxudWxsPT09cnx8Y29uc29sZS5lcnJvcihcIlwiLmNvbmNhdChCKGUpLFwiIGlzIG5vdCBhIHN0eWxlZCBjb21wb25lbnQgYW5kIGNhbm5vdCBiZSByZWZlcnJlZCB0byB2aWEgY29tcG9uZW50IHNlbGVjdG9yLiBTZWUgaHR0cHM6Ly93d3cuc3R5bGVkLWNvbXBvbmVudHMuY29tL2RvY3MvYWR2YW5jZWQjcmVmZXJyaW5nLXRvLW90aGVyLWNvbXBvbmVudHMgZm9yIG1vcmUgZGV0YWlscy5cIikpLFhlKHIsdCxuLG8pfXZhciBzO3JldHVybiBlIGluc3RhbmNlb2YgV2U/bj8oZS5pbmplY3QobixvKSxbZS5nZXROYW1lKG8pXSk6W2VdOmNlKGUpP0plKGUpOkFycmF5LmlzQXJyYXkoZSk/QXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShfLGUubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBYZShlLHQsbixvKX0pKTpbZS50b1N0cmluZygpXX1mdW5jdGlvbiBaZShlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrPTEpe3ZhciBuPWVbdF07aWYocmUobikmJiFzZShuKSlyZXR1cm4hMX1yZXR1cm4hMH12YXIgS2U9eih2KSxRZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LG4pe3RoaXMucnVsZXM9ZSx0aGlzLnN0YXRpY1J1bGVzSWQ9XCJcIix0aGlzLmlzU3RhdGljPVwicHJvZHVjdGlvblwiPT09cHJvY2Vzcy5lbnYuTk9ERV9FTlYmJih2b2lkIDA9PT1ufHxuLmlzU3RhdGljKSYmWmUoZSksdGhpcy5jb21wb25lbnRJZD10LHRoaXMuYmFzZUhhc2g9TShLZSx0KSx0aGlzLmJhc2VTdHlsZT1uLGtlLnJlZ2lzdGVySWQodCl9cmV0dXJuIGUucHJvdG90eXBlLmdlbmVyYXRlQW5kSW5qZWN0U3R5bGVzPWZ1bmN0aW9uKGUsdCxuKXt2YXIgbz10aGlzLmJhc2VTdHlsZT90aGlzLmJhc2VTdHlsZS5nZW5lcmF0ZUFuZEluamVjdFN0eWxlcyhlLHQsbik6XCJcIjtpZih0aGlzLmlzU3RhdGljJiYhbi5oYXNoKWlmKHRoaXMuc3RhdGljUnVsZXNJZCYmdC5oYXNOYW1lRm9ySWQodGhpcy5jb21wb25lbnRJZCx0aGlzLnN0YXRpY1J1bGVzSWQpKW89aWUobyx0aGlzLnN0YXRpY1J1bGVzSWQpO2Vsc2V7dmFyIHI9YWUoWGUodGhpcy5ydWxlcyxlLHQsbikpLHM9eChNKHRoaXMuYmFzZUhhc2gscik+Pj4wKTtpZighdC5oYXNOYW1lRm9ySWQodGhpcy5jb21wb25lbnRJZCxzKSl7dmFyIGk9bihyLFwiLlwiLmNvbmNhdChzKSx2b2lkIDAsdGhpcy5jb21wb25lbnRJZCk7dC5pbnNlcnRSdWxlcyh0aGlzLmNvbXBvbmVudElkLHMsaSl9bz1pZShvLHMpLHRoaXMuc3RhdGljUnVsZXNJZD1zfWVsc2V7Zm9yKHZhciBhPU0odGhpcy5iYXNlSGFzaCxuLmhhc2gpLGM9XCJcIixsPTA7bDx0aGlzLnJ1bGVzLmxlbmd0aDtsKyspe3ZhciB1PXRoaXMucnVsZXNbbF07aWYoXCJzdHJpbmdcIj09dHlwZW9mIHUpYys9dSxcInByb2R1Y3Rpb25cIiE9PXByb2Nlc3MuZW52Lk5PREVfRU5WJiYoYT1NKGEsdSkpO2Vsc2UgaWYodSl7dmFyIHA9YWUoWGUodSxlLHQsbikpO2E9TShhLHArbCksYys9cH19aWYoYyl7dmFyIGQ9eChhPj4+MCk7dC5oYXNOYW1lRm9ySWQodGhpcy5jb21wb25lbnRJZCxkKXx8dC5pbnNlcnRSdWxlcyh0aGlzLmNvbXBvbmVudElkLGQsbihjLFwiLlwiLmNvbmNhdChkKSx2b2lkIDAsdGhpcy5jb21wb25lbnRJZCkpLG89aWUobyxkKX19cmV0dXJuIG99LGV9KCksZXQ9by5jcmVhdGVDb250ZXh0KHZvaWQgMCksdHQ9ZXQuQ29uc3VtZXI7ZnVuY3Rpb24gbnQoKXt2YXIgZT1jKGV0KTtpZighZSl0aHJvdyBoZSgxOCk7cmV0dXJuIGV9ZnVuY3Rpb24gb3QoZSl7dmFyIG49by51c2VDb250ZXh0KGV0KSxyPWkoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtpZighZSl0aHJvdyBoZSgxNCk7aWYocmUoZSkpe3ZhciBvPWUobik7aWYoXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmKG51bGw9PT1vfHxBcnJheS5pc0FycmF5KG8pfHxcIm9iamVjdFwiIT10eXBlb2YgbykpdGhyb3cgaGUoNyk7cmV0dXJuIG99aWYoQXJyYXkuaXNBcnJheShlKXx8XCJvYmplY3RcIiE9dHlwZW9mIGUpdGhyb3cgaGUoOCk7cmV0dXJuIG4/dCh0KHt9LG4pLGUpOmV9KGUudGhlbWUsbil9LFtlLnRoZW1lLG5dKTtyZXR1cm4gZS5jaGlsZHJlbj9vLmNyZWF0ZUVsZW1lbnQoZXQuUHJvdmlkZXIse3ZhbHVlOnJ9LGUuY2hpbGRyZW4pOm51bGx9dmFyIHJ0PXt9LHN0PW5ldyBTZXQ7ZnVuY3Rpb24gaXQoZSxyLHMpe3ZhciBpPXNlKGUpLGE9ZSxjPSFMKGUpLHA9ci5hdHRycyxkPXZvaWQgMD09PXA/XzpwLGg9ci5jb21wb25lbnRJZCxmPXZvaWQgMD09PWg/ZnVuY3Rpb24oZSx0KXt2YXIgbj1cInN0cmluZ1wiIT10eXBlb2YgZT9cInNjXCI6UihlKTtydFtuXT0ocnRbbl18fDApKzE7dmFyIG89XCJcIi5jb25jYXQobixcIi1cIikuY29uY2F0KCQodituK3J0W25dKSk7cmV0dXJuIHQ/XCJcIi5jb25jYXQodCxcIi1cIikuY29uY2F0KG8pOm99KHIuZGlzcGxheU5hbWUsci5wYXJlbnRDb21wb25lbnRJZCk6aCxtPXIuZGlzcGxheU5hbWUseT12b2lkIDA9PT1tP2Z1bmN0aW9uKGUpe3JldHVybiBMKGUpP1wic3R5bGVkLlwiLmNvbmNhdChlKTpcIlN0eWxlZChcIi5jb25jYXQoQihlKSxcIilcIil9KGUpOm0sZz1yLmRpc3BsYXlOYW1lJiZyLmNvbXBvbmVudElkP1wiXCIuY29uY2F0KFIoci5kaXNwbGF5TmFtZSksXCItXCIpLmNvbmNhdChyLmNvbXBvbmVudElkKTpyLmNvbXBvbmVudElkfHxmLFM9aSYmYS5hdHRycz9hLmF0dHJzLmNvbmNhdChkKS5maWx0ZXIoQm9vbGVhbik6ZCx3PXIuc2hvdWxkRm9yd2FyZFByb3A7aWYoaSYmYS5zaG91bGRGb3J3YXJkUHJvcCl7dmFyIGI9YS5zaG91bGRGb3J3YXJkUHJvcDtpZihyLnNob3VsZEZvcndhcmRQcm9wKXt2YXIgRT1yLnNob3VsZEZvcndhcmRQcm9wO3c9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYihlLHQpJiZFKGUsdCl9fWVsc2Ugdz1ifXZhciBOPW5ldyBRZShzLGcsaT9hLmNvbXBvbmVudFN0eWxlOnZvaWQgMCk7ZnVuY3Rpb24gTyhlLHIpe3JldHVybiBmdW5jdGlvbihlLHIscyl7dmFyIGk9ZS5hdHRycyxhPWUuY29tcG9uZW50U3R5bGUsYz1lLmRlZmF1bHRQcm9wcyxwPWUuZm9sZGVkQ29tcG9uZW50SWRzLGQ9ZS5zdHlsZWRDb21wb25lbnRJZCxoPWUudGFyZ2V0LGY9by51c2VDb250ZXh0KGV0KSxtPUdlKCkseT1lLnNob3VsZEZvcndhcmRQcm9wfHxtLnNob3VsZEZvcndhcmRQcm9wO1wicHJvZHVjdGlvblwiIT09cHJvY2Vzcy5lbnYuTk9ERV9FTlYmJmwoZCk7dmFyIHY9SShyLGYsYyl8fEMsZz1mdW5jdGlvbihlLG4sbyl7Zm9yKHZhciByLHM9dCh0KHt9LG4pLHtjbGFzc05hbWU6dm9pZCAwLHRoZW1lOm99KSxpPTA7aTxlLmxlbmd0aDtpKz0xKXt2YXIgYT1yZShyPWVbaV0pP3Iocyk6cjtmb3IodmFyIGMgaW4gYSlzW2NdPVwiY2xhc3NOYW1lXCI9PT1jP2llKHNbY10sYVtjXSk6XCJzdHlsZVwiPT09Yz90KHQoe30sc1tjXSksYVtjXSk6YVtjXX1yZXR1cm4gbi5jbGFzc05hbWUmJihzLmNsYXNzTmFtZT1pZShzLmNsYXNzTmFtZSxuLmNsYXNzTmFtZSkpLHN9KGkscix2KSxTPWcuYXN8fGgsdz17fTtmb3IodmFyIGIgaW4gZyl2b2lkIDA9PT1nW2JdfHxcIiRcIj09PWJbMF18fFwiYXNcIj09PWJ8fFwidGhlbWVcIj09PWImJmcudGhlbWU9PT12fHwoXCJmb3J3YXJkZWRBc1wiPT09Yj93LmFzPWcuZm9yd2FyZGVkQXM6eSYmIXkoYixTKXx8KHdbYl09Z1tiXSx5fHxcImRldmVsb3BtZW50XCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOVnx8bihiKXx8c3QuaGFzKGIpfHwhQS5oYXMoUyl8fChzdC5hZGQoYiksY29uc29sZS53YXJuKCdzdHlsZWQtY29tcG9uZW50czogaXQgbG9va3MgbGlrZSBhbiB1bmtub3duIHByb3AgXCInLmNvbmNhdChiLCdcIiBpcyBiZWluZyBzZW50IHRocm91Z2ggdG8gdGhlIERPTSwgd2hpY2ggd2lsbCBsaWtlbHkgdHJpZ2dlciBhIFJlYWN0IGNvbnNvbGUgZXJyb3IuIElmIHlvdSB3b3VsZCBsaWtlIGF1dG9tYXRpYyBmaWx0ZXJpbmcgb2YgdW5rbm93biBwcm9wcywgeW91IGNhbiBvcHQtaW50byB0aGF0IGJlaGF2aW9yIHZpYSBgPFN0eWxlU2hlZXRNYW5hZ2VyIHNob3VsZEZvcndhcmRQcm9wPXsuLi59PmAgKGNvbm5lY3QgYW4gQVBJIGxpa2UgYEBlbW90aW9uL2lzLXByb3AtdmFsaWRgKSBvciBjb25zaWRlciB1c2luZyB0cmFuc2llbnQgcHJvcHMgKGAkYCBwcmVmaXggZm9yIGF1dG9tYXRpYyBmaWx0ZXJpbmcuKScpKSkpKTt2YXIgRT1mdW5jdGlvbihlLHQpe3ZhciBuPUdlKCksbz1lLmdlbmVyYXRlQW5kSW5qZWN0U3R5bGVzKHQsbi5zdHlsZVNoZWV0LG4uc3R5bGlzKTtyZXR1cm5cInByb2R1Y3Rpb25cIiE9PXByb2Nlc3MuZW52Lk5PREVfRU5WJiZsKG8pLG99KGEsZyk7XCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmZS53YXJuVG9vTWFueUNsYXNzZXMmJmUud2FyblRvb01hbnlDbGFzc2VzKEUpO3ZhciBOPWllKHAsZCk7cmV0dXJuIEUmJihOKz1cIiBcIitFKSxnLmNsYXNzTmFtZSYmKE4rPVwiIFwiK2cuY2xhc3NOYW1lKSx3W0woUykmJiFBLmhhcyhTKT9cImNsYXNzXCI6XCJjbGFzc05hbWVcIl09Tix3LnJlZj1zLHUoUyx3KX0oRCxlLHIpfU8uZGlzcGxheU5hbWU9eTt2YXIgRD1vLmZvcndhcmRSZWYoTyk7cmV0dXJuIEQuYXR0cnM9UyxELmNvbXBvbmVudFN0eWxlPU4sRC5kaXNwbGF5TmFtZT15LEQuc2hvdWxkRm9yd2FyZFByb3A9dyxELmZvbGRlZENvbXBvbmVudElkcz1pP2llKGEuZm9sZGVkQ29tcG9uZW50SWRzLGEuc3R5bGVkQ29tcG9uZW50SWQpOlwiXCIsRC5zdHlsZWRDb21wb25lbnRJZD1nLEQudGFyZ2V0PWk/YS50YXJnZXQ6ZSxPYmplY3QuZGVmaW5lUHJvcGVydHkoRCxcImRlZmF1bHRQcm9wc1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZm9sZGVkRGVmYXVsdFByb3BzfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fZm9sZGVkRGVmYXVsdFByb3BzPWk/ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXRbbi0xXT1hcmd1bWVudHNbbl07Zm9yKHZhciBvPTAscj10O288ci5sZW5ndGg7bysrKWxlKGUscltvXSwhMCk7cmV0dXJuIGV9KHt9LGEuZGVmYXVsdFByb3BzLGUpOmV9fSksXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmKFAoeSxnKSxELndhcm5Ub29NYW55Q2xhc3Nlcz1mdW5jdGlvbihlLHQpe3ZhciBuPXt9LG89ITE7cmV0dXJuIGZ1bmN0aW9uKHIpe2lmKCFvJiYobltyXT0hMCxPYmplY3Qua2V5cyhuKS5sZW5ndGg+PTIwMCkpe3ZhciBzPXQ/JyB3aXRoIHRoZSBpZCBvZiBcIicuY29uY2F0KHQsJ1wiJyk6XCJcIjtjb25zb2xlLndhcm4oXCJPdmVyIFwiLmNvbmNhdCgyMDAsXCIgY2xhc3NlcyB3ZXJlIGdlbmVyYXRlZCBmb3IgY29tcG9uZW50IFwiKS5jb25jYXQoZSkuY29uY2F0KHMsXCIuXFxuXCIpK1wiQ29uc2lkZXIgdXNpbmcgdGhlIGF0dHJzIG1ldGhvZCwgdG9nZXRoZXIgd2l0aCBhIHN0eWxlIG9iamVjdCBmb3IgZnJlcXVlbnRseSBjaGFuZ2VkIHN0eWxlcy5cXG5FeGFtcGxlOlxcbiAgY29uc3QgQ29tcG9uZW50ID0gc3R5bGVkLmRpdi5hdHRycyhwcm9wcyA9PiAoe1xcbiAgICBzdHlsZToge1xcbiAgICAgIGJhY2tncm91bmQ6IHByb3BzLmJhY2tncm91bmQsXFxuICAgIH0sXFxuICB9KSlgd2lkdGg6IDEwMCU7YFxcblxcbiAgPENvbXBvbmVudCAvPlwiKSxvPSEwLG49e319fX0oeSxnKSksdWUoRCxmdW5jdGlvbigpe3JldHVyblwiLlwiLmNvbmNhdChELnN0eWxlZENvbXBvbmVudElkKX0pLGMmJm9lKEQsZSx7YXR0cnM6ITAsY29tcG9uZW50U3R5bGU6ITAsZGlzcGxheU5hbWU6ITAsZm9sZGVkQ29tcG9uZW50SWRzOiEwLHNob3VsZEZvcndhcmRQcm9wOiEwLHN0eWxlZENvbXBvbmVudElkOiEwLHRhcmdldDohMH0pLER9ZnVuY3Rpb24gYXQoZSx0KXtmb3IodmFyIG49W2VbMF1dLG89MCxyPXQubGVuZ3RoO288cjtvKz0xKW4ucHVzaCh0W29dLGVbbysxXSk7cmV0dXJuIG59dmFyIGN0PWZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuYXNzaWduKGUse2lzQ3NzOiEwfSl9O2Z1bmN0aW9uIGx0KHQpe2Zvcih2YXIgbj1bXSxvPTE7bzxhcmd1bWVudHMubGVuZ3RoO28rKyluW28tMV09YXJndW1lbnRzW29dO2lmKHJlKHQpfHxjZSh0KSlyZXR1cm4gY3QoWGUoYXQoXyxlKFt0XSxuLCEwKSkpKTt2YXIgcj10O3JldHVybiAwPT09bi5sZW5ndGgmJjE9PT1yLmxlbmd0aCYmXCJzdHJpbmdcIj09dHlwZW9mIHJbMF0/WGUocik6Y3QoWGUoYXQocixuKSkpfWZ1bmN0aW9uIHV0KG4sbyxyKXtpZih2b2lkIDA9PT1yJiYocj1DKSwhbyl0aHJvdyBoZSgxLG8pO3ZhciBzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgcz1bXSxpPTE7aTxhcmd1bWVudHMubGVuZ3RoO2krKylzW2ktMV09YXJndW1lbnRzW2ldO3JldHVybiBuKG8scixsdC5hcHBseSh2b2lkIDAsZShbdF0scywhMSkpKX07cmV0dXJuIHMuYXR0cnM9ZnVuY3Rpb24oZSl7cmV0dXJuIHV0KG4sbyx0KHQoe30scikse2F0dHJzOkFycmF5LnByb3RvdHlwZS5jb25jYXQoci5hdHRycyxlKS5maWx0ZXIoQm9vbGVhbil9KSl9LHMud2l0aENvbmZpZz1mdW5jdGlvbihlKXtyZXR1cm4gdXQobixvLHQodCh7fSxyKSxlKSl9LHN9dmFyIHB0PWZ1bmN0aW9uKGUpe3JldHVybiB1dChpdCxlKX0sZHQ9cHQ7QS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2R0W2VdPXB0KGUpfSk7dmFyIGh0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe3RoaXMucnVsZXM9ZSx0aGlzLmNvbXBvbmVudElkPXQsdGhpcy5pc1N0YXRpYz1aZShlKSxrZS5yZWdpc3RlcklkKHRoaXMuY29tcG9uZW50SWQrMSl9cmV0dXJuIGUucHJvdG90eXBlLmNyZWF0ZVN0eWxlcz1mdW5jdGlvbihlLHQsbixvKXt2YXIgcj1vKGFlKFhlKHRoaXMucnVsZXMsdCxuLG8pKSxcIlwiKSxzPXRoaXMuY29tcG9uZW50SWQrZTtuLmluc2VydFJ1bGVzKHMscyxyKX0sZS5wcm90b3R5cGUucmVtb3ZlU3R5bGVzPWZ1bmN0aW9uKGUsdCl7dC5jbGVhclJ1bGVzKHRoaXMuY29tcG9uZW50SWQrZSl9LGUucHJvdG90eXBlLnJlbmRlclN0eWxlcz1mdW5jdGlvbihlLHQsbixvKXtlPjImJmtlLnJlZ2lzdGVySWQodGhpcy5jb21wb25lbnRJZCtlKSx0aGlzLnJlbW92ZVN0eWxlcyhlLG4pLHRoaXMuY3JlYXRlU3R5bGVzKGUsdCxuLG8pfSxlfSgpO2Z1bmN0aW9uIGZ0KG4pe2Zvcih2YXIgcj1bXSxzPTE7czxhcmd1bWVudHMubGVuZ3RoO3MrKylyW3MtMV09YXJndW1lbnRzW3NdO3ZhciBpPWx0LmFwcGx5KHZvaWQgMCxlKFtuXSxyLCExKSksYT1cInNjLWdsb2JhbC1cIi5jb25jYXQoJChKU09OLnN0cmluZ2lmeShpKSkpLGM9bmV3IGh0KGksYSk7XCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmUChhKTt2YXIgbD1mdW5jdGlvbihlKXt2YXIgdD1HZSgpLG49by51c2VDb250ZXh0KGV0KSxyPW8udXNlUmVmKHQuc3R5bGVTaGVldC5hbGxvY2F0ZUdTSW5zdGFuY2UoYSkpLmN1cnJlbnQ7cmV0dXJuXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmby5DaGlsZHJlbi5jb3VudChlLmNoaWxkcmVuKSYmY29uc29sZS53YXJuKFwiVGhlIGdsb2JhbCBzdHlsZSBjb21wb25lbnQgXCIuY29uY2F0KGEsXCIgd2FzIGdpdmVuIGNoaWxkIEpTWC4gY3JlYXRlR2xvYmFsU3R5bGUgZG9lcyBub3QgcmVuZGVyIGNoaWxkcmVuLlwiKSksXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmaS5zb21lKGZ1bmN0aW9uKGUpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiBlJiYtMSE9PWUuaW5kZXhPZihcIkBpbXBvcnRcIil9KSYmY29uc29sZS53YXJuKFwiUGxlYXNlIGRvIG5vdCB1c2UgQGltcG9ydCBDU1Mgc3ludGF4IGluIGNyZWF0ZUdsb2JhbFN0eWxlIGF0IHRoaXMgdGltZSwgYXMgdGhlIENTU09NIEFQSXMgd2UgdXNlIGluIHByb2R1Y3Rpb24gZG8gbm90IGhhbmRsZSBpdCB3ZWxsLiBJbnN0ZWFkLCB3ZSByZWNvbW1lbmQgdXNpbmcgYSBsaWJyYXJ5IHN1Y2ggYXMgcmVhY3QtaGVsbWV0IHRvIGluamVjdCBhIHR5cGljYWwgPGxpbms+IG1ldGEgdGFnIHRvIHRoZSBzdHlsZXNoZWV0LCBvciBzaW1wbHkgZW1iZWRkaW5nIGl0IG1hbnVhbGx5IGluIHlvdXIgaW5kZXguaHRtbCA8aGVhZD4gc2VjdGlvbiBmb3IgYSBzaW1wbGVyIGFwcC5cIiksdC5zdHlsZVNoZWV0LnNlcnZlciYmdShyLGUsdC5zdHlsZVNoZWV0LG4sdC5zdHlsaXMpLG8udXNlTGF5b3V0RWZmZWN0KGZ1bmN0aW9uKCl7aWYoIXQuc3R5bGVTaGVldC5zZXJ2ZXIpcmV0dXJuIHUocixlLHQuc3R5bGVTaGVldCxuLHQuc3R5bGlzKSxmdW5jdGlvbigpe3JldHVybiBjLnJlbW92ZVN0eWxlcyhyLHQuc3R5bGVTaGVldCl9fSxbcixlLHQuc3R5bGVTaGVldCxuLHQuc3R5bGlzXSksbnVsbH07ZnVuY3Rpb24gdShlLG4sbyxyLHMpe2lmKGMuaXNTdGF0aWMpYy5yZW5kZXJTdHlsZXMoZSxiLG8scyk7ZWxzZXt2YXIgaT10KHQoe30sbikse3RoZW1lOkkobixyLGwuZGVmYXVsdFByb3BzKX0pO2MucmVuZGVyU3R5bGVzKGUsaSxvLHMpfX1yZXR1cm4gby5tZW1vKGwpfWZ1bmN0aW9uIG10KHQpe2Zvcih2YXIgbj1bXSxvPTE7bzxhcmd1bWVudHMubGVuZ3RoO28rKyluW28tMV09YXJndW1lbnRzW29dO1wicHJvZHVjdGlvblwiIT09cHJvY2Vzcy5lbnYuTk9ERV9FTlYmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiBuYXZpZ2F0b3ImJlwiUmVhY3ROYXRpdmVcIj09PW5hdmlnYXRvci5wcm9kdWN0JiZjb25zb2xlLndhcm4oXCJga2V5ZnJhbWVzYCBjYW5ub3QgYmUgdXNlZCBvbiBSZWFjdE5hdGl2ZSwgb25seSBvbiB0aGUgd2ViLiBUbyBkbyBhbmltYXRpb24gaW4gUmVhY3ROYXRpdmUgcGxlYXNlIHVzZSBBbmltYXRlZC5cIik7dmFyIHI9YWUobHQuYXBwbHkodm9pZCAwLGUoW3RdLG4sITEpKSkscz0kKHIpO3JldHVybiBuZXcgV2UocyxyKX1mdW5jdGlvbiB5dChlKXt2YXIgbj1vLmZvcndhcmRSZWYoZnVuY3Rpb24obixyKXt2YXIgcz1JKG4sby51c2VDb250ZXh0KGV0KSxlLmRlZmF1bHRQcm9wcyk7cmV0dXJuXCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmdm9pZCAwPT09cyYmY29uc29sZS53YXJuKCdbd2l0aFRoZW1lXSBZb3UgYXJlIG5vdCB1c2luZyBhIFRoZW1lUHJvdmlkZXIgbm9yIHBhc3NpbmcgYSB0aGVtZSBwcm9wIG9yIGEgdGhlbWUgaW4gZGVmYXVsdFByb3BzIGluIGNvbXBvbmVudCBjbGFzcyBcIicuY29uY2F0KEIoZSksJ1wiJykpLG8uY3JlYXRlRWxlbWVudChlLHQoe30sbix7dGhlbWU6cyxyZWY6cn0pKX0pO3JldHVybiBuLmRpc3BsYXlOYW1lPVwiV2l0aFRoZW1lKFwiLmNvbmNhdChCKGUpLFwiKVwiKSxvZShuLGUpfXZhciB2dD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt2YXIgZT10aGlzO3RoaXMuX2VtaXRTaGVldENTUz1mdW5jdGlvbigpe3ZhciB0PWUuaW5zdGFuY2UudG9TdHJpbmcoKTtpZighdClyZXR1cm5cIlwiO3ZhciBuPUNlKCksbz1hZShbbiYmJ25vbmNlPVwiJy5jb25jYXQobiwnXCInKSxcIlwiLmNvbmNhdChmLCc9XCJ0cnVlXCInKSxcIlwiLmNvbmNhdCh5LCc9XCInKS5jb25jYXQodiwnXCInKV0uZmlsdGVyKEJvb2xlYW4pLFwiIFwiKTtyZXR1cm5cIjxzdHlsZSBcIi5jb25jYXQobyxcIj5cIikuY29uY2F0KHQsXCI8L3N0eWxlPlwiKX0sdGhpcy5nZXRTdHlsZVRhZ3M9ZnVuY3Rpb24oKXtpZihlLnNlYWxlZCl0aHJvdyBoZSgyKTtyZXR1cm4gZS5fZW1pdFNoZWV0Q1NTKCl9LHRoaXMuZ2V0U3R5bGVFbGVtZW50PWZ1bmN0aW9uKCl7dmFyIG47aWYoZS5zZWFsZWQpdGhyb3cgaGUoMik7dmFyIHI9ZS5pbnN0YW5jZS50b1N0cmluZygpO2lmKCFyKXJldHVybltdO3ZhciBzPSgobj17fSlbZl09XCJcIixuW3ldPXYsbi5kYW5nZXJvdXNseVNldElubmVySFRNTD17X19odG1sOnJ9LG4pLGk9Q2UoKTtyZXR1cm4gaSYmKHMubm9uY2U9aSksW28uY3JlYXRlRWxlbWVudChcInN0eWxlXCIsdCh7fSxzLHtrZXk6XCJzYy0wLTBcIn0pKV19LHRoaXMuc2VhbD1mdW5jdGlvbigpe2Uuc2VhbGVkPSEwfSx0aGlzLmluc3RhbmNlPW5ldyBrZSh7aXNTZXJ2ZXI6ITB9KSx0aGlzLnNlYWxlZD0hMX1yZXR1cm4gZS5wcm90b3R5cGUuY29sbGVjdFN0eWxlcz1mdW5jdGlvbihlKXtpZih0aGlzLnNlYWxlZCl0aHJvdyBoZSgyKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KFllLHtzaGVldDp0aGlzLmluc3RhbmNlfSxlKX0sZS5wcm90b3R5cGUuaW50ZXJsZWF2ZVdpdGhOb2RlU3RyZWFtPWZ1bmN0aW9uKGUpe3Rocm93IGhlKDMpfSxlfSgpLGd0PXtTdHlsZVNoZWV0OmtlLG1haW5TaGVldDpNZX07XCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIG5hdmlnYXRvciYmXCJSZWFjdE5hdGl2ZVwiPT09bmF2aWdhdG9yLnByb2R1Y3QmJmNvbnNvbGUud2FybihcIkl0IGxvb2tzIGxpa2UgeW91J3ZlIGltcG9ydGVkICdzdHlsZWQtY29tcG9uZW50cycgb24gUmVhY3QgTmF0aXZlLlxcblBlcmhhcHMgeW91J3JlIGxvb2tpbmcgdG8gaW1wb3J0ICdzdHlsZWQtY29tcG9uZW50cy9uYXRpdmUnP1xcblJlYWQgbW9yZSBhYm91dCB0aGlzIGF0IGh0dHBzOi8vd3d3LnN0eWxlZC1jb21wb25lbnRzLmNvbS9kb2NzL2Jhc2ljcyNyZWFjdC1uYXRpdmVcIik7dmFyIFN0PVwiX19zYy1cIi5jb25jYXQoZixcIl9fXCIpO1wicHJvZHVjdGlvblwiIT09cHJvY2Vzcy5lbnYuTk9ERV9FTlYmJlwidGVzdFwiIT09cHJvY2Vzcy5lbnYuTk9ERV9FTlYmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3dbU3RdfHwod2luZG93W1N0XT0wKSwxPT09d2luZG93W1N0XSYmY29uc29sZS53YXJuKFwiSXQgbG9va3MgbGlrZSB0aGVyZSBhcmUgc2V2ZXJhbCBpbnN0YW5jZXMgb2YgJ3N0eWxlZC1jb21wb25lbnRzJyBpbml0aWFsaXplZCBpbiB0aGlzIGFwcGxpY2F0aW9uLiBUaGlzIG1heSBjYXVzZSBkeW5hbWljIHN0eWxlcyB0byBub3QgcmVuZGVyIHByb3Blcmx5LCBlcnJvcnMgZHVyaW5nIHRoZSByZWh5ZHJhdGlvbiBwcm9jZXNzLCBhIG1pc3NpbmcgdGhlbWUgcHJvcCwgYW5kIG1ha2VzIHlvdXIgYXBwbGljYXRpb24gYmlnZ2VyIHdpdGhvdXQgZ29vZCByZWFzb24uXFxuXFxuU2VlIGh0dHBzOi8vcy1jLnNoLzJCQVh6ZWQgZm9yIG1vcmUgaW5mby5cIiksd2luZG93W1N0XSs9MSk7ZXhwb3J0e3Z0IGFzIFNlcnZlclN0eWxlU2hlZXQsQmUgYXMgU3R5bGVTaGVldENvbnN1bWVyLCRlIGFzIFN0eWxlU2hlZXRDb250ZXh0LFllIGFzIFN0eWxlU2hlZXRNYW5hZ2VyLHR0IGFzIFRoZW1lQ29uc3VtZXIsZXQgYXMgVGhlbWVDb250ZXh0LG90IGFzIFRoZW1lUHJvdmlkZXIsZ3QgYXMgX19QUklWQVRFX18sZnQgYXMgY3JlYXRlR2xvYmFsU3R5bGUsbHQgYXMgY3NzLGR0IGFzIGRlZmF1bHQsc2UgYXMgaXNTdHlsZWRDb21wb25lbnQsbXQgYXMga2V5ZnJhbWVzLGR0IGFzIHN0eWxlZCxudCBhcyB1c2VUaGVtZSx2IGFzIHZlcnNpb24seXQgYXMgd2l0aFRoZW1lfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlZC1jb21wb25lbnRzLmJyb3dzZXIuZXNtLmpzLm1hcFxuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFByb3BzIHtcbiAgaXRlbU1heFdpZHRoOiBudW1iZXI7XG4gIGl0ZW1Bc3BlY3RSYXRpbzogbnVtYmVyO1xuICBsYXlvdXQ6IHtcbiAgICBbY29sQ291bnQ6IG51bWJlcl06IHN0cmluZ1tdW107XG4gIH07XG59XG5cbmludGVyZmFjZSBHcmlkQ29udGFpbmVyUHJvcHMge1xuICBpdGVtTWF4V2lkdGg6IG51bWJlcjtcbiAgaXRlbUNvbHM6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEdyaWRJdGVtUHJvcHMgZXh0ZW5kcyBHcmlkQ29udGFpbmVyUHJvcHMge1xuICBpdGVtQXNwZWN0UmF0aW86IG51bWJlcjtcbiAgY29sU3BhbjogbnVtYmVyO1xuICByb3dTcGFuOiBudW1iZXI7XG59XG5cbi8vIERlYm91bmNlIGZ1bmN0aW9uXG5mdW5jdGlvbiBkZWJvdW5jZTxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkPihcbiAgZnVuYzogVCxcbiAgd2FpdDogbnVtYmVyXG4pOiBUIHtcbiAgbGV0IHRpbWVvdXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBQYXJhbWV0ZXJzPFQ+KSB7XG4gICAgaWYgKHRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICB9XG4gICAgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gZnVuYyguLi5hcmdzKSwgd2FpdCk7XG4gIH0gYXMgVDtcbn1cblxuY29uc3QgR3JpZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8R3JpZENvbnRhaW5lclByb3BzPmBcbiAgZGlzcGxheTogZ3JpZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkeyhwcm9wcykgPT4gcHJvcHMuaXRlbUNvbHN9LCAxZnIpO1xuYDtcblxuY29uc3QgR3JpZEl0ZW0gPSBzdHlsZWQuZGl2PEdyaWRJdGVtUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGdyaWQtcm93OiBzcGFuICR7KHByb3BzKSA9PiBwcm9wcy5yb3dTcGFufTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gJHsocHJvcHMpID0+IE1hdGgubWluKHByb3BzLmNvbFNwYW4sIHByb3BzLml0ZW1Db2xzKX07XG4gIGFzcGVjdC1yYXRpbzogJHsocHJvcHMpID0+XG4gICAgKHByb3BzLmNvbFNwYW4gKiBwcm9wcy5pdGVtQXNwZWN0UmF0aW8pIC8gcHJvcHMucm93U3Bhbn07XG5gO1xuXG5jb25zdCBHcmlkSXRlbUNvbnRlbnRFeGFtcGxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbmA7XG5cbmV4cG9ydCBjb25zdCBHcmlkID0gKHsgaXRlbU1heFdpZHRoLCBpdGVtQXNwZWN0UmF0aW8sIGxheW91dCB9OiBHcmlkUHJvcHMpID0+IHtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFthZGp1c3RSYXRpbywgc2V0QWRqdXN0UmF0aW9dID0gdXNlU3RhdGUoMSk7XG5cbiAgLy8gVE9ETyAtIGRvbid0IHdhbnQgdG8gc3VwcG9ydCBtdWx0aXBsZSBmb3Igbm93LlxuICBjb25zdCBbaW5pdENvbHMsIGRhdGFdID0gbGF5b3V0ID8gT2JqZWN0LmVudHJpZXMobGF5b3V0KVswXSA6IFswLCBbXV07XG5cbiAgY29uc3QgW2NvbHMsIHNldENvbHNdID0gdXNlU3RhdGUoTnVtYmVyKGluaXRDb2xzKSk7XG4gIC8vIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgnMTAwJScpO1xuXG4gIGNvbnN0IFtwb3NpdGlvbnMsIHNldFBvc2l0aW9uc10gPSB1c2VTdGF0ZTxcbiAgICBSZWNvcmQ8XG4gICAgICBzdHJpbmcsXG4gICAgICB7IHJvd1N0YXJ0OiBudW1iZXI7IGNvbFN0YXJ0OiBudW1iZXI7IHJvd1NwYW46IG51bWJlcjsgY29sU3BhbjogbnVtYmVyIH1cbiAgICA+XG4gID4oe30pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcG9zaXRpb25zID0ge30gYXMgUmVjb3JkPFxuICAgICAgc3RyaW5nLFxuICAgICAgeyByb3dTdGFydDogbnVtYmVyOyBjb2xTdGFydDogbnVtYmVyOyByb3dTcGFuOiBudW1iZXI7IGNvbFNwYW46IG51bWJlciB9XG4gICAgPjtcbiAgICBkYXRhLmZvckVhY2goKHJvdzogc3RyaW5nW10sIHJvd0luZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIHJvdy5mb3JFYWNoKChpdGVtOiBzdHJpbmcsIGNvbEluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKGl0ZW0gJiYgIXBvc2l0aW9uc1tpdGVtXSkge1xuICAgICAgICAgIGNvbnN0IGNvbFNwYW4gPSByb3cuZmlsdGVyKChlbCkgPT4gZWwgPT09IGl0ZW0pLmxlbmd0aDtcbiAgICAgICAgICBjb25zdCByb3dTcGFuID0gZGF0YS5maWx0ZXIoKHIpID0+IHJbY29sSW5kZXhdID09PSBpdGVtKS5sZW5ndGg7XG4gICAgICAgICAgcG9zaXRpb25zW2l0ZW1dID0ge1xuICAgICAgICAgICAgcm93U3RhcnQ6IHJvd0luZGV4ICsgMSxcbiAgICAgICAgICAgIGNvbFN0YXJ0OiBjb2xJbmRleCArIDEsXG4gICAgICAgICAgICByb3dTcGFuLFxuICAgICAgICAgICAgY29sU3BhbixcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBzZXRQb3NpdGlvbnMocG9zaXRpb25zKTtcbiAgfSwgW2RhdGFdKTtcblxuICBjb25zdCBoYW5kbGVSZXNpemUgPSB1c2VDYWxsYmFjayhcbiAgICAoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKSA9PiB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGVudHJ5KTtcbiAgICAgICAgaWYgKGVudHJ5LmNvbnRlbnRCb3hTaXplKSB7XG4gICAgICAgICAgY29uc3QgeyBpbmxpbmVTaXplOiB3aWR0aCB9ID1cbiAgICAgICAgICAgIGVudHJ5LmNvbnRlbnRCb3hTaXplWzBdIHx8IGVudHJ5LmNvbnRlbnRCb3hTaXplO1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwiY29udGFpbmVyV2lkdGhcIiwgd2lkdGgpO1xuICAgICAgICAgIC8vIG1pbnVzIHBhZGRpbmdcbiAgICAgICAgICBjb25zdCBoZWlnaHQgPVxuICAgICAgICAgICAgZW50cnkuY29udGVudEJveFNpemVbMV0/LmJsb2NrU2l6ZSB8fCBlbnRyeS5jb250ZW50UmVjdC5oZWlnaHQ7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJjb250YWluZXJIZWlnaHRcIiwgaGVpZ2h0KTtcblxuICAgICAgICAgIC8vIGNvbnN0IGNzc1dpZHRoID0gd2lkdGggLyB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgICBjb25zdCBjc3NXaWR0aCA9IHdpZHRoO1xuICAgICAgICAgIC8vIGNvbnN0IGNzc0hlaWdodCA9IGhlaWdodCAvIHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgICAgIGNvbnN0IGNzc0hlaWdodCA9IGhlaWdodDtcblxuICAgICAgICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IGNvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxIZWlnaHQgfHwgMDtcbiAgICAgICAgICBjb25zdCBjbGllbnRIZWlnaHQgPSBjb250YWluZXJSZWYuY3VycmVudD8uY2xpZW50SGVpZ2h0IHx8IDA7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJjbGllbnRIZWlnaHRcIiwgY2xpZW50SGVpZ2h0KTtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIlBhcmVudENsaWVudEhlaWdodFwiLCBjb250YWluZXJSZWYuY3VycmVudD8ucGFyZW50RWxlbWVudD8uY2xpZW50SGVpZ2h0KTtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcInNjcm9sbEhlaWdodFwiLCBzY3JvbGxIZWlnaHQpO1xuXG4gICAgICAgICAgLypcbiAgICAgICAgICB3ZSBjYW4gZG8gZGlmZmVyZW50IGJlaGF2aW9yIGlmIHdlIHdhbnRcbiAgICAgICAgICBpZiAoTWF0aC5mbG9vcihzY3JvbGxIZWlnaHQpIDw9IE1hdGguY2VpbChjbGllbnRIZWlnaHQpICYmIHNjcm9sbEhlaWdodCA8PSBjb250YWluZXJSZWYuY3VycmVudD8ucGFyZW50RWxlbWVudD8uY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICBzZXRDb250YWluZXJIZWlnaHQoJ3Vuc2V0Jyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgKi9cbiAgICAgICAgICAgXG4gICAgICAgICAgICBjb25zdCBjb2xDb3VudCA9IE1hdGguZmxvb3IoY3NzV2lkdGggLyBpdGVtTWF4V2lkdGgpO1xuICAgICAgICAgICAgY29uc3QgY2VsbFdpZHRoID0gY3NzV2lkdGggLyBjb2xDb3VudDtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiY2VsbFdpZHRoXCIsIGNlbGxXaWR0aCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNlbGxIZWlnaHQgPSBjZWxsV2lkdGggLyBpdGVtQXNwZWN0UmF0aW87XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImNlbGxIZWlnaHRcIiwgY2VsbEhlaWdodCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHJvd0NvdW50ID0gTWF0aC5yb3VuZChjc3NIZWlnaHQgLyBjZWxsSGVpZ2h0KTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwicm93Q291bnRcIiwgcm93Q291bnQpO1xuXG4gICAgICAgICAgICBjb25zdCBwcm9qZWN0Q2VsbEhlaWdodCA9IGNzc0hlaWdodCAvIHJvd0NvdW50O1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJwcm9qZWN0Q2VsbEhlaWdodFwiLCBwcm9qZWN0Q2VsbEhlaWdodCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGFkanVzdFJhdGlvID0gY2VsbEhlaWdodCAvIHByb2plY3RDZWxsSGVpZ2h0O1xuXG4gICAgICAgICAgICBzZXRBZGp1c3RSYXRpbyhhZGp1c3RSYXRpbyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiY29sQ291bnRcIiwgY29sQ291bnQpO1xuICAgICAgICAgICAgc2V0Q29scyhjb2xDb3VudCk7XG4gICAgICAgICAgICAvL3NldENvbnRhaW5lckhlaWdodCgnMTAwJScpO1xuICAgICAgICAgIC8qXG4gICAgICAgICAgfVxuICAgICAgICAgICovXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFtpdGVtTWF4V2lkdGgsIGl0ZW1Bc3BlY3RSYXRpb11cbiAgKTsgLy8gRGVwZW5kZW5jeSBhcnJheSB0byBpbmNsdWRlIHByb3BzIHRoYXQgYWZmZWN0IHRoZSByZXNpemUgbG9naWNcblxuICBjb25zdCBoYW5kbGVSZXNpemVEZWJvdW5jZSA9IHVzZUNhbGxiYWNrKGRlYm91bmNlKGhhbmRsZVJlc2l6ZSwgMTAwKSwgW1xuICAgIGhhbmRsZVJlc2l6ZSxcbiAgXSk7IC8vIERlYm91bmNlIHdpdGggZGVwZW5kZW5jeVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBncmlkIGl0ZW1zXG4gIGNvbnN0IGdyaWRJdGVtcyA9IFtdIGFzIFJlYWN0LlJlYWN0Tm9kZVtdO1xuXG4gIC8vIGhhbmRsZSBjb250YWluZXIgc2l6ZSBjaGFuZ2VcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihoYW5kbGVSZXNpemVEZWJvdW5jZSk7XG5cbiAgICBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoY29udGFpbmVyUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKGNvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIC8vIFRPRE86IHdhdGNoIHByb3AgY2hhbmdlXG4gIH0sIFtoYW5kbGVSZXNpemVEZWJvdW5jZV0pO1xuXG4gIE9iamVjdC5lbnRyaWVzKHBvc2l0aW9ucykuZm9yRWFjaChcbiAgICAoW2l0ZW0sIHsgcm93U3RhcnQsIGNvbFN0YXJ0LCByb3dTcGFuLCBjb2xTcGFuIH1dKSA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBgJHtpdGVtfS0ke3Jvd1N0YXJ0fS0ke2NvbFN0YXJ0fWA7XG4gICAgICBncmlkSXRlbXMucHVzaChcbiAgICAgICAgPEdyaWRJdGVtXG4gICAgICAgICAga2V5PXtrZXl9XG4gICAgICAgICAgY29sU3Bhbj17Y29sU3Bhbn1cbiAgICAgICAgICByb3dTcGFuPXtyb3dTcGFufVxuICAgICAgICAgIGl0ZW1Db2xzPXtjb2xzfVxuICAgICAgICAgIGl0ZW1NYXhXaWR0aD17aXRlbU1heFdpZHRofVxuICAgICAgICAgIGl0ZW1Bc3BlY3RSYXRpbz17aXRlbUFzcGVjdFJhdGlvICogYWRqdXN0UmF0aW99XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgICAgICAgbWFyZ2luOiBcIjEwcHhcIixcbiAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8R3JpZEl0ZW1Db250ZW50RXhhbXBsZT5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjM2cHhcIixcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpdGVtfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L0dyaWRJdGVtQ29udGVudEV4YW1wbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvR3JpZEl0ZW0+XG4gICAgICApO1xuICAgIH1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxHcmlkQ29udGFpbmVyXG4gICAgICBpdGVtTWF4V2lkdGg9e2l0ZW1NYXhXaWR0aH1cbiAgICAgIGl0ZW1Db2xzPXtjb2xzfVxuICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgPlxuICAgICAge2dyaWRJdGVtc31cbiAgICA8L0dyaWRDb250YWluZXI+XG4gICk7XG59OyIsInZhciBCQUNLR1JPVU5EX0NPTE9SPVwiI2ZmZlwiLExJTkVfSEVJR0hUPVwiMjBweFwiLEZPTlRfU0laRT1cIjEzcHhcIixkZWZhdWx0Q3NzVGhlbWU9XCJcXG4uY29kZWZsYXNrIHtcXG4gIGJhY2tncm91bmQ6IFwiK0JBQ0tHUk9VTkRfQ09MT1IrXCI7XFxuICBjb2xvcjogIzRmNTU5YztcXG59XFxuXFxuLmNvZGVmbGFzayAudG9rZW4ucHVuY3R1YXRpb24ge1xcbiAgY29sb3I6ICM0YTRhNGE7XFxufVxcblxcbi5jb2RlZmxhc2sgLnRva2VuLmtleXdvcmQge1xcbiAgY29sb3I6ICM4NTAwZmY7XFxufVxcblxcbi5jb2RlZmxhc2sgLnRva2VuLm9wZXJhdG9yIHtcXG4gIGNvbG9yOiAjZmY1NTk4O1xcbn1cXG5cXG4uY29kZWZsYXNrIC50b2tlbi5zdHJpbmcge1xcbiAgY29sb3I6ICM0MWFkOGY7XFxufVxcblxcbi5jb2RlZmxhc2sgLnRva2VuLmNvbW1lbnQge1xcbiAgY29sb3I6ICM5YmFkYjc7XFxufVxcblxcbi5jb2RlZmxhc2sgLnRva2VuLmZ1bmN0aW9uIHtcXG4gIGNvbG9yOiAjODUwMGZmO1xcbn1cXG5cXG4uY29kZWZsYXNrIC50b2tlbi5ib29sZWFuIHtcXG4gIGNvbG9yOiAjODUwMGZmO1xcbn1cXG5cXG4uY29kZWZsYXNrIC50b2tlbi5udW1iZXIge1xcbiAgY29sb3I6ICM4NTAwZmY7XFxufVxcblxcbi5jb2RlZmxhc2sgLnRva2VuLnNlbGVjdG9yIHtcXG4gIGNvbG9yOiAjODUwMGZmO1xcbn1cXG5cXG4uY29kZWZsYXNrIC50b2tlbi5wcm9wZXJ0eSB7XFxuICBjb2xvcjogIzg1MDBmZjtcXG59XFxuXFxuLmNvZGVmbGFzayAudG9rZW4udGFnIHtcXG4gIGNvbG9yOiAjODUwMGZmO1xcbn1cXG5cXG4uY29kZWZsYXNrIC50b2tlbi5hdHRyLXZhbHVlIHtcXG4gIGNvbG9yOiAjODUwMGZmO1xcbn1cXG5cIjtmdW5jdGlvbiBjc3NTdXBwb3J0cyhlLHQpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBDU1M/Q1NTLnN1cHBvcnRzKGUsdCk6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGRvY3VtZW50JiZ0b0NhbWVsQ2FzZShlKWluIGRvY3VtZW50LmJvZHkuc3R5bGV9ZnVuY3Rpb24gdG9DYW1lbENhc2UoZSl7cmV0dXJuKGU9ZS5zcGxpdChcIi1cIikuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiEhZX0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZVswXS50b1VwcGVyQ2FzZSgpK2Uuc3Vic3RyKDEpfSkuam9pbihcIlwiKSlbMF0udG9Mb3dlckNhc2UoKStlLnN1YnN0cigxKX12YXIgRk9OVF9GQU1JTFk9J1wiU0ZNb25vLVJlZ3VsYXJcIiwgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIE1lbmxvLCBDb3VyaWVyLCBtb25vc3BhY2UnLENPTE9SPWNzc1N1cHBvcnRzKFwiY2FyZXQtY29sb3JcIixcIiMwMDBcIik/QkFDS0dST1VORF9DT0xPUjpcIiNjY2NcIixMSU5FX05VTUJFUl9XSURUSD1cIjQwcHhcIixlZGl0b3JDc3M9XCJcXG4gIC5jb2RlZmxhc2sge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICB9XFxuXFxuICAuY29kZWZsYXNrLCAuY29kZWZsYXNrICoge1xcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgfVxcblxcbiAgLmNvZGVmbGFza19fcHJlIHtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICAgIHotaW5kZXg6IDM7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICB9XFxuXFxuICAuY29kZWZsYXNrX190ZXh0YXJlYSB7XFxuICAgIGJhY2tncm91bmQ6IG5vbmU7XFxuICAgIGJvcmRlcjogbm9uZTtcXG4gICAgY29sb3I6IFwiK0NPTE9SK1wiO1xcbiAgICB6LWluZGV4OiAxO1xcbiAgICByZXNpemU6IG5vbmU7XFxuICAgIGZvbnQtZmFtaWx5OiBcIitGT05UX0ZBTUlMWStcIjtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBwcmU7XFxuICAgIGNhcmV0LWNvbG9yOiAjMTExO1xcbiAgICB6LWluZGV4OiAyO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgfVxcblxcbiAgLmNvZGVmbGFzay0taGFzLWxpbmUtbnVtYmVycyAuY29kZWZsYXNrX190ZXh0YXJlYSB7XFxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBcIitMSU5FX05VTUJFUl9XSURUSCtcIik7XFxuICB9XFxuXFxuICAuY29kZWZsYXNrX19jb2RlIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIGZvbnQtZmFtaWx5OiBcIitGT05UX0ZBTUlMWStcIjtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIH1cXG5cXG4gIC5jb2RlZmxhc2tfX2ZsYXR0ZW4ge1xcbiAgICBwYWRkaW5nOiAxMHB4O1xcbiAgICBmb250LXNpemU6IFwiK0ZPTlRfU0laRStcIjtcXG4gICAgbGluZS1oZWlnaHQ6IFwiK0xJTkVfSEVJR0hUK1wiO1xcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRvcDogMDtcXG4gICAgbGVmdDogMDtcXG4gICAgb3ZlcmZsb3c6IGF1dG87XFxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xcbiAgICBvdXRsaW5lOiBub25lO1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcbiAgfVxcblxcbiAgLmNvZGVmbGFzay0taGFzLWxpbmUtbnVtYmVycyAuY29kZWZsYXNrX19mbGF0dGVuIHtcXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIFwiK0xJTkVfTlVNQkVSX1dJRFRIK1wiKTtcXG4gICAgbGVmdDogXCIrTElORV9OVU1CRVJfV0lEVEgrXCI7XFxuICB9XFxuXFxuICAuY29kZWZsYXNrX19saW5lLWhpZ2hsaWdodCB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAxMHB4O1xcbiAgICBsZWZ0OiAwO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiBcIitMSU5FX0hFSUdIVCtcIjtcXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpO1xcbiAgICB6LWluZGV4OiAxO1xcbiAgfVxcblxcbiAgLmNvZGVmbGFza19fbGluZXMge1xcbiAgICBwYWRkaW5nOiAxMHB4IDRweDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBsaW5lLWhlaWdodDogXCIrTElORV9IRUlHSFQrXCI7XFxuICAgIGZvbnQtZmFtaWx5OiAnQ291c2luZScsIG1vbm9zcGFjZTtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICBsZWZ0OiAwO1xcbiAgICB0b3A6IDA7XFxuICAgIHdpZHRoOiBcIitMSU5FX05VTUJFUl9XSURUSCtcIjtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcXG4gICAgY29sb3I6ICM5OTk7XFxuICAgIHotaW5kZXg6IDI7XFxuICB9XFxuXFxuICAuY29kZWZsYXNrX19saW5lc19fbGluZSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcblxcbiAgLmNvZGVmbGFzay5jb2RlZmxhc2stLWhhcy1saW5lLW51bWJlcnMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IFwiK0xJTkVfTlVNQkVSX1dJRFRIK1wiO1xcbiAgfVxcblxcbiAgLmNvZGVmbGFzay5jb2RlZmxhc2stLWhhcy1saW5lLW51bWJlcnM6YmVmb3JlIHtcXG4gICAgY29udGVudDogJyc7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgbGVmdDogMDtcXG4gICAgdG9wOiAwO1xcbiAgICB3aWR0aDogXCIrTElORV9OVU1CRVJfV0lEVEgrXCI7XFxuICAgIGhlaWdodDogMTAwJTtcXG4gICAgYmFja2dyb3VuZDogI2VlZTtcXG4gICAgei1pbmRleDogMTtcXG4gIH1cXG5cIjtmdW5jdGlvbiBpbmplY3RDc3MoZSx0LG4pe3ZhciBhPXR8fFwiY29kZWZsYXNrLXN0eWxlXCIscz1ufHxkb2N1bWVudC5oZWFkO2lmKCFlKXJldHVybiExO2lmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKXJldHVybiEwO3ZhciBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtyZXR1cm4gby5pbm5lckhUTUw9ZSxvLmlkPWEscy5hcHBlbmRDaGlsZChvKSwhMH12YXIgZW50aXR5TWFwPXtcIiZcIjpcIiZhbXA7XCIsXCI8XCI6XCImbHQ7XCIsXCI+XCI6XCImZ3Q7XCIsJ1wiJzpcIiZxdW90O1wiLFwiJ1wiOlwiJiMzOTtcIixcIi9cIjpcIiYjeDJGO1wiLFwiYFwiOlwiJiN4NjA7XCIsXCI9XCI6XCImI3gzRDtcIn07ZnVuY3Rpb24gZXNjYXBlSHRtbChlKXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoL1smPD5cIidgPS9dL2csZnVuY3Rpb24oZSl7cmV0dXJuIGVudGl0eU1hcFtlXX0pfXZhciBjb21tb25qc0dsb2JhbD1cInVuZGVmaW5lZFwiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOlwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OlwidW5kZWZpbmVkXCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBzZWxmP3NlbGY6e307ZnVuY3Rpb24gY3JlYXRlQ29tbW9uanNNb2R1bGUoZSx0KXtyZXR1cm4gZSh0PXtleHBvcnRzOnt9fSx0LmV4cG9ydHMpLHQuZXhwb3J0c312YXIgcHJpc209Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7dmFyIHQ9L1xcYmxhbmcoPzp1YWdlKT8tKFtcXHctXSspXFxiL2ksbj0wLGE9e21hbnVhbDplLlByaXNtJiZlLlByaXNtLm1hbnVhbCxkaXNhYmxlV29ya2VyTWVzc2FnZUhhbmRsZXI6ZS5QcmlzbSYmZS5QcmlzbS5kaXNhYmxlV29ya2VyTWVzc2FnZUhhbmRsZXIsdXRpbDp7ZW5jb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2Ygcz9uZXcgcyhlLnR5cGUsYS51dGlsLmVuY29kZShlLmNvbnRlbnQpLGUuYWxpYXMpOkFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoYS51dGlsLmVuY29kZSk6ZS5yZXBsYWNlKC8mL2csXCImYW1wO1wiKS5yZXBsYWNlKC88L2csXCImbHQ7XCIpLnJlcGxhY2UoL1xcdTAwYTAvZyxcIiBcIil9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKX0sb2JqSWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuX19pZHx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2lkXCIse3ZhbHVlOisrbn0pLGUuX19pZH0sY2xvbmU6ZnVuY3Rpb24gZSh0LG4pe3ZhciBzLG8saT1hLnV0aWwudHlwZSh0KTtzd2l0Y2gobj1ufHx7fSxpKXtjYXNlXCJPYmplY3RcIjppZihvPWEudXRpbC5vYmpJZCh0KSxuW29dKXJldHVybiBuW29dO2Zvcih2YXIgciBpbiBzPXt9LG5bb109cyx0KXQuaGFzT3duUHJvcGVydHkocikmJihzW3JdPWUodFtyXSxuKSk7cmV0dXJuIHM7Y2FzZVwiQXJyYXlcIjpyZXR1cm4gbz1hLnV0aWwub2JqSWQodCksbltvXT9uW29dOihzPVtdLG5bb109cyx0LmZvckVhY2goZnVuY3Rpb24odCxhKXtzW2FdPWUodCxuKX0pLHMpO2RlZmF1bHQ6cmV0dXJuIHR9fX0sbGFuZ3VhZ2VzOntleHRlbmQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj1hLnV0aWwuY2xvbmUoYS5sYW5ndWFnZXNbZV0pO2Zvcih2YXIgcyBpbiB0KW5bc109dFtzXTtyZXR1cm4gbn0saW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKGUsdCxuLHMpe3ZhciBvPShzPXN8fGEubGFuZ3VhZ2VzKVtlXSxpPXt9O2Zvcih2YXIgciBpbiBvKWlmKG8uaGFzT3duUHJvcGVydHkocikpe2lmKHI9PXQpZm9yKHZhciBsIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShsKSYmKGlbbF09bltsXSk7bi5oYXNPd25Qcm9wZXJ0eShyKXx8KGlbcl09b1tyXSl9dmFyIGM9c1tlXTtyZXR1cm4gc1tlXT1pLGEubGFuZ3VhZ2VzLkRGUyhhLmxhbmd1YWdlcyxmdW5jdGlvbih0LG4pe249PT1jJiZ0IT1lJiYodGhpc1t0XT1pKX0pLGl9LERGUzpmdW5jdGlvbiBlKHQsbixzLG8pe289b3x8e307dmFyIGk9YS51dGlsLm9iaklkO2Zvcih2YXIgciBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkocikpe24uY2FsbCh0LHIsdFtyXSxzfHxyKTt2YXIgbD10W3JdLGM9YS51dGlsLnR5cGUobCk7XCJPYmplY3RcIiE9PWN8fG9baShsKV0/XCJBcnJheVwiIT09Y3x8b1tpKGwpXXx8KG9baShsKV09ITAsZShsLG4scixvKSk6KG9baShsKV09ITAsZShsLG4sbnVsbCxvKSl9fX0scGx1Z2luczp7fSxoaWdobGlnaHRBbGw6ZnVuY3Rpb24oZSx0KXthLmhpZ2hsaWdodEFsbFVuZGVyKGRvY3VtZW50LGUsdCl9LGhpZ2hsaWdodEFsbFVuZGVyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcz17Y2FsbGJhY2s6bixzZWxlY3RvcjonY29kZVtjbGFzcyo9XCJsYW5ndWFnZS1cIl0sIFtjbGFzcyo9XCJsYW5ndWFnZS1cIl0gY29kZSwgY29kZVtjbGFzcyo9XCJsYW5nLVwiXSwgW2NsYXNzKj1cImxhbmctXCJdIGNvZGUnfTthLmhvb2tzLnJ1bihcImJlZm9yZS1oaWdobGlnaHRhbGxcIixzKTtmb3IodmFyIG8saT1zLmVsZW1lbnRzfHxlLnF1ZXJ5U2VsZWN0b3JBbGwocy5zZWxlY3Rvcikscj0wO289aVtyKytdOylhLmhpZ2hsaWdodEVsZW1lbnQobywhMD09PXQscy5jYWxsYmFjayl9LGhpZ2hsaWdodEVsZW1lbnQ6ZnVuY3Rpb24obixzLG8pe2Zvcih2YXIgaSxyLGw9bjtsJiYhdC50ZXN0KGwuY2xhc3NOYW1lKTspbD1sLnBhcmVudE5vZGU7bCYmKGk9KGwuY2xhc3NOYW1lLm1hdGNoKHQpfHxbLFwiXCJdKVsxXS50b0xvd2VyQ2FzZSgpLHI9YS5sYW5ndWFnZXNbaV0pLG4uY2xhc3NOYW1lPW4uY2xhc3NOYW1lLnJlcGxhY2UodCxcIlwiKS5yZXBsYWNlKC9cXHMrL2csXCIgXCIpK1wiIGxhbmd1YWdlLVwiK2ksbi5wYXJlbnROb2RlJiYobD1uLnBhcmVudE5vZGUsL3ByZS9pLnRlc3QobC5ub2RlTmFtZSkmJihsLmNsYXNzTmFtZT1sLmNsYXNzTmFtZS5yZXBsYWNlKHQsXCJcIikucmVwbGFjZSgvXFxzKy9nLFwiIFwiKStcIiBsYW5ndWFnZS1cIitpKSk7dmFyIGM9e2VsZW1lbnQ6bixsYW5ndWFnZTppLGdyYW1tYXI6cixjb2RlOm4udGV4dENvbnRlbnR9LGQ9ZnVuY3Rpb24oZSl7Yy5oaWdobGlnaHRlZENvZGU9ZSxhLmhvb2tzLnJ1bihcImJlZm9yZS1pbnNlcnRcIixjKSxjLmVsZW1lbnQuaW5uZXJIVE1MPWMuaGlnaGxpZ2h0ZWRDb2RlLGEuaG9va3MucnVuKFwiYWZ0ZXItaGlnaGxpZ2h0XCIsYyksYS5ob29rcy5ydW4oXCJjb21wbGV0ZVwiLGMpLG8mJm8uY2FsbChjLmVsZW1lbnQpfTtpZihhLmhvb2tzLnJ1bihcImJlZm9yZS1zYW5pdHktY2hlY2tcIixjKSxjLmNvZGUpaWYoYS5ob29rcy5ydW4oXCJiZWZvcmUtaGlnaGxpZ2h0XCIsYyksYy5ncmFtbWFyKWlmKHMmJmUuV29ya2VyKXt2YXIgdT1uZXcgV29ya2VyKGEuZmlsZW5hbWUpO3Uub25tZXNzYWdlPWZ1bmN0aW9uKGUpe2QoZS5kYXRhKX0sdS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7bGFuZ3VhZ2U6Yy5sYW5ndWFnZSxjb2RlOmMuY29kZSxpbW1lZGlhdGVDbG9zZTohMH0pKX1lbHNlIGQoYS5oaWdobGlnaHQoYy5jb2RlLGMuZ3JhbW1hcixjLmxhbmd1YWdlKSk7ZWxzZSBkKGEudXRpbC5lbmNvZGUoYy5jb2RlKSk7ZWxzZSBhLmhvb2tzLnJ1bihcImNvbXBsZXRlXCIsYyl9LGhpZ2hsaWdodDpmdW5jdGlvbihlLHQsbil7dmFyIG89e2NvZGU6ZSxncmFtbWFyOnQsbGFuZ3VhZ2U6bn07cmV0dXJuIGEuaG9va3MucnVuKFwiYmVmb3JlLXRva2VuaXplXCIsbyksby50b2tlbnM9YS50b2tlbml6ZShvLmNvZGUsby5ncmFtbWFyKSxhLmhvb2tzLnJ1bihcImFmdGVyLXRva2VuaXplXCIsbykscy5zdHJpbmdpZnkoYS51dGlsLmVuY29kZShvLnRva2Vucyksby5sYW5ndWFnZSl9LG1hdGNoR3JhbW1hcjpmdW5jdGlvbihlLHQsbixvLGkscixsKXtmb3IodmFyIGMgaW4gbilpZihuLmhhc093blByb3BlcnR5KGMpJiZuW2NdKXtpZihjPT1sKXJldHVybjt2YXIgZD1uW2NdO2Q9XCJBcnJheVwiPT09YS51dGlsLnR5cGUoZCk/ZDpbZF07Zm9yKHZhciB1PTA7dTxkLmxlbmd0aDsrK3Upe3ZhciBwPWRbdV0saD1wLmluc2lkZSxnPSEhcC5sb29rYmVoaW5kLGY9ISFwLmdyZWVkeSxtPTAsYj1wLmFsaWFzO2lmKGYmJiFwLnBhdHRlcm4uZ2xvYmFsKXt2YXIgaz1wLnBhdHRlcm4udG9TdHJpbmcoKS5tYXRjaCgvW2ltdXldKiQvKVswXTtwLnBhdHRlcm49UmVnRXhwKHAucGF0dGVybi5zb3VyY2UsaytcImdcIil9cD1wLnBhdHRlcm58fHA7Zm9yKHZhciB5PW8sQz1pO3k8dC5sZW5ndGg7Qys9dFt5XS5sZW5ndGgsKyt5KXt2YXIgRj10W3ldO2lmKHQubGVuZ3RoPmUubGVuZ3RoKXJldHVybjtpZighKEYgaW5zdGFuY2VvZiBzKSl7aWYoZiYmeSE9dC5sZW5ndGgtMSl7aWYocC5sYXN0SW5kZXg9QywhKFQ9cC5leGVjKGUpKSlicmVhaztmb3IodmFyIHY9VC5pbmRleCsoZz9UWzFdLmxlbmd0aDowKSx4PVQuaW5kZXgrVFswXS5sZW5ndGgsdz15LEE9QyxfPXQubGVuZ3RoO3c8XyYmKEE8eHx8IXRbd10udHlwZSYmIXRbdy0xXS5ncmVlZHkpOysrdyl2Pj0oQSs9dFt3XS5sZW5ndGgpJiYoKyt5LEM9QSk7aWYodFt5XWluc3RhbmNlb2Ygcyljb250aW51ZTtFPXcteSxGPWUuc2xpY2UoQyxBKSxULmluZGV4LT1DfWVsc2V7cC5sYXN0SW5kZXg9MDt2YXIgVD1wLmV4ZWMoRiksRT0xfWlmKFQpe2cmJihtPVRbMV0/VFsxXS5sZW5ndGg6MCk7eD0odj1ULmluZGV4K20pKyhUPVRbMF0uc2xpY2UobSkpLmxlbmd0aDt2YXIgTD1GLnNsaWNlKDAsdiksTj1GLnNsaWNlKHgpLFM9W3ksRV07TCYmKCsreSxDKz1MLmxlbmd0aCxTLnB1c2goTCkpO3ZhciBJPW5ldyBzKGMsaD9hLnRva2VuaXplKFQsaCk6VCxiLFQsZik7aWYoUy5wdXNoKEkpLE4mJlMucHVzaChOKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmFwcGx5KHQsUyksMSE9RSYmYS5tYXRjaEdyYW1tYXIoZSx0LG4seSxDLCEwLGMpLHIpYnJlYWt9ZWxzZSBpZihyKWJyZWFrfX19fX0sdG9rZW5pemU6ZnVuY3Rpb24oZSx0KXt2YXIgbj1bZV0scz10LnJlc3Q7aWYocyl7Zm9yKHZhciBvIGluIHMpdFtvXT1zW29dO2RlbGV0ZSB0LnJlc3R9cmV0dXJuIGEubWF0Y2hHcmFtbWFyKGUsbix0LDAsMCwhMSksbn0saG9va3M6e2FsbDp7fSxhZGQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj1hLmhvb2tzLmFsbDtuW2VdPW5bZV18fFtdLG5bZV0ucHVzaCh0KX0scnVuOmZ1bmN0aW9uKGUsdCl7dmFyIG49YS5ob29rcy5hbGxbZV07aWYobiYmbi5sZW5ndGgpZm9yKHZhciBzLG89MDtzPW5bbysrXTspcyh0KX19LFRva2VuOnN9O2Z1bmN0aW9uIHMoZSx0LG4sYSxzKXt0aGlzLnR5cGU9ZSx0aGlzLmNvbnRlbnQ9dCx0aGlzLmFsaWFzPW4sdGhpcy5sZW5ndGg9MHwoYXx8XCJcIikubGVuZ3RoLHRoaXMuZ3JlZWR5PSEhc31pZihlLlByaXNtPWEscy5zdHJpbmdpZnk9ZnVuY3Rpb24oZSx0LG4pe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXJldHVybiBlO2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGUubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBzLnN0cmluZ2lmeShuLHQsZSl9KS5qb2luKFwiXCIpO3ZhciBvPXt0eXBlOmUudHlwZSxjb250ZW50OnMuc3RyaW5naWZ5KGUuY29udGVudCx0LG4pLHRhZzpcInNwYW5cIixjbGFzc2VzOltcInRva2VuXCIsZS50eXBlXSxhdHRyaWJ1dGVzOnt9LGxhbmd1YWdlOnQscGFyZW50Om59O2lmKGUuYWxpYXMpe3ZhciBpPUFycmF5LmlzQXJyYXkoZS5hbGlhcyk/ZS5hbGlhczpbZS5hbGlhc107QXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoby5jbGFzc2VzLGkpfWEuaG9va3MucnVuKFwid3JhcFwiLG8pO3ZhciByPU9iamVjdC5rZXlzKG8uYXR0cmlidXRlcykubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlKyc9XCInKyhvLmF0dHJpYnV0ZXNbZV18fFwiXCIpLnJlcGxhY2UoL1wiL2csXCImcXVvdDtcIikrJ1wiJ30pLmpvaW4oXCIgXCIpO3JldHVyblwiPFwiK28udGFnKycgY2xhc3M9XCInK28uY2xhc3Nlcy5qb2luKFwiIFwiKSsnXCInKyhyP1wiIFwiK3I6XCJcIikrXCI+XCIrby5jb250ZW50K1wiPC9cIitvLnRhZytcIj5cIn0sIWUuZG9jdW1lbnQpcmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcj8oYS5kaXNhYmxlV29ya2VyTWVzc2FnZUhhbmRsZXJ8fGUuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIixmdW5jdGlvbih0KXt2YXIgbj1KU09OLnBhcnNlKHQuZGF0YSkscz1uLmxhbmd1YWdlLG89bi5jb2RlLGk9bi5pbW1lZGlhdGVDbG9zZTtlLnBvc3RNZXNzYWdlKGEuaGlnaGxpZ2h0KG8sYS5sYW5ndWFnZXNbc10scykpLGkmJmUuY2xvc2UoKX0sITEpLGEpOmE7dmFyIG89ZG9jdW1lbnQuY3VycmVudFNjcmlwdHx8W10uc2xpY2UuY2FsbChkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInNjcmlwdFwiKSkucG9wKCk7cmV0dXJuIG8mJihhLmZpbGVuYW1lPW8uc3JjLGEubWFudWFsfHxvLmhhc0F0dHJpYnV0ZShcImRhdGEtbWFudWFsXCIpfHwoXCJsb2FkaW5nXCIhPT1kb2N1bWVudC5yZWFkeVN0YXRlP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShhLmhpZ2hsaWdodEFsbCk6d2luZG93LnNldFRpbWVvdXQoYS5oaWdobGlnaHRBbGwsMTYpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJET01Db250ZW50TG9hZGVkXCIsYS5oaWdobGlnaHRBbGwpKSksYX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGU/c2VsZjp7fSk7ZS5leHBvcnRzJiYoZS5leHBvcnRzPXQpLHZvaWQgMCE9PWNvbW1vbmpzR2xvYmFsJiYoY29tbW9uanNHbG9iYWwuUHJpc209dCksdC5sYW5ndWFnZXMubWFya3VwPXtjb21tZW50Oi88IS0tW1xcc1xcU10qPy0tPi8scHJvbG9nOi88XFw/W1xcc1xcU10rP1xcPz4vLGRvY3R5cGU6LzwhRE9DVFlQRVtcXHNcXFNdKz8+L2ksY2RhdGE6LzwhXFxbQ0RBVEFcXFtbXFxzXFxTXSo/XV0+L2ksdGFnOntwYXR0ZXJuOi88XFwvPyg/IVxcZClbXlxccz5cXC89JDwlXSsoPzpcXHMoPzpcXHMqW15cXHM+XFwvPV0rKD86XFxzKj1cXHMqKD86XCJbXlwiXSpcInwnW14nXSonfFteXFxzJ1wiPj1dKyg/PVtcXHM+XSkpfCg/PVtcXHMvPl0pKSkrKT9cXHMqXFwvPz4vaSxncmVlZHk6ITAsaW5zaWRlOnt0YWc6e3BhdHRlcm46L148XFwvP1teXFxzPlxcL10rL2ksaW5zaWRlOntwdW5jdHVhdGlvbjovXjxcXC8/LyxuYW1lc3BhY2U6L15bXlxccz5cXC86XSs6L319LFwiYXR0ci12YWx1ZVwiOntwYXR0ZXJuOi89XFxzKig/OlwiW15cIl0qXCJ8J1teJ10qJ3xbXlxccydcIj49XSspL2ksaW5zaWRlOntwdW5jdHVhdGlvbjpbL149Lyx7cGF0dGVybjovXihcXHMqKVtcIiddfFtcIiddJC8sbG9va2JlaGluZDohMH1dfX0scHVuY3R1YXRpb246L1xcLz8+LyxcImF0dHItbmFtZVwiOntwYXR0ZXJuOi9bXlxccz5cXC9dKy8saW5zaWRlOntuYW1lc3BhY2U6L15bXlxccz5cXC86XSs6L319fX0sZW50aXR5Oi8mIz9bXFxkYS16XXsxLDh9Oy9pfSx0Lmxhbmd1YWdlcy5tYXJrdXAudGFnLmluc2lkZVtcImF0dHItdmFsdWVcIl0uaW5zaWRlLmVudGl0eT10Lmxhbmd1YWdlcy5tYXJrdXAuZW50aXR5LHQuaG9va3MuYWRkKFwid3JhcFwiLGZ1bmN0aW9uKGUpe1wiZW50aXR5XCI9PT1lLnR5cGUmJihlLmF0dHJpYnV0ZXMudGl0bGU9ZS5jb250ZW50LnJlcGxhY2UoLyZhbXA7LyxcIiZcIikpfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQubGFuZ3VhZ2VzLm1hcmt1cC50YWcsXCJhZGRJbmxpbmVkXCIse3ZhbHVlOmZ1bmN0aW9uKGUsbil7dmFyIGE9e307YVtcImxhbmd1YWdlLVwiK25dPXtwYXR0ZXJuOi8oXjwhXFxbQ0RBVEFcXFspW1xcc1xcU10rPyg/PVxcXVxcXT4kKS9pLGxvb2tiZWhpbmQ6ITAsaW5zaWRlOnQubGFuZ3VhZ2VzW25dfSxhLmNkYXRhPS9ePCFcXFtDREFUQVxcW3xcXF1cXF0+JC9pO3ZhciBzPXtcImluY2x1ZGVkLWNkYXRhXCI6e3BhdHRlcm46LzwhXFxbQ0RBVEFcXFtbXFxzXFxTXSo/XFxdXFxdPi9pLGluc2lkZTphfX07c1tcImxhbmd1YWdlLVwiK25dPXtwYXR0ZXJuOi9bXFxzXFxTXSsvLGluc2lkZTp0Lmxhbmd1YWdlc1tuXX07dmFyIG89e307b1tlXT17cGF0dGVybjpSZWdFeHAoLyg8X19bXFxzXFxTXSo/PikoPzo8IVxcW0NEQVRBXFxbW1xcc1xcU10qP1xcXVxcXT5cXHMqfFtcXHNcXFNdKSo/KD89PFxcL19fPikvLnNvdXJjZS5yZXBsYWNlKC9fXy9nLGUpLFwiaVwiKSxsb29rYmVoaW5kOiEwLGdyZWVkeTohMCxpbnNpZGU6c30sdC5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKFwibWFya3VwXCIsXCJjZGF0YVwiLG8pfX0pLHQubGFuZ3VhZ2VzLnhtbD10Lmxhbmd1YWdlcy5leHRlbmQoXCJtYXJrdXBcIix7fSksdC5sYW5ndWFnZXMuaHRtbD10Lmxhbmd1YWdlcy5tYXJrdXAsdC5sYW5ndWFnZXMubWF0aG1sPXQubGFuZ3VhZ2VzLm1hcmt1cCx0Lmxhbmd1YWdlcy5zdmc9dC5sYW5ndWFnZXMubWFya3VwLGZ1bmN0aW9uKGUpe3ZhciB0PS8oXCJ8JykoPzpcXFxcKD86XFxyXFxufFtcXHNcXFNdKXwoPyFcXDEpW15cXFxcXFxyXFxuXSkqXFwxLztlLmxhbmd1YWdlcy5jc3M9e2NvbW1lbnQ6L1xcL1xcKltcXHNcXFNdKj9cXCpcXC8vLGF0cnVsZTp7cGF0dGVybjovQFtcXHctXSs/W1xcc1xcU10qPyg/Ojt8KD89XFxzKlxceykpL2ksaW5zaWRlOntydWxlOi9AW1xcdy1dKy99fSx1cmw6UmVnRXhwKFwidXJsXFxcXCgoPzpcIit0LnNvdXJjZStcInwuKj8pXFxcXClcIixcImlcIiksc2VsZWN0b3I6UmVnRXhwKFwiW157fVxcXFxzXSg/Oltee307XFxcIiddfFwiK3Quc291cmNlK1wiKSo/KD89XFxcXHMqXFxcXHspXCIpLHN0cmluZzp7cGF0dGVybjp0LGdyZWVkeTohMH0scHJvcGVydHk6L1stX2EtelxceEEwLVxcdUZGRkZdWy1cXHdcXHhBMC1cXHVGRkZGXSooPz1cXHMqOikvaSxpbXBvcnRhbnQ6LyFpbXBvcnRhbnRcXGIvaSxmdW5jdGlvbjovWy1hLXowLTldKyg/PVxcKCkvaSxwdW5jdHVhdGlvbjovWygpe307OixdL30sZS5sYW5ndWFnZXMuY3NzLmF0cnVsZS5pbnNpZGUucmVzdD1lLmxhbmd1YWdlcy5jc3M7dmFyIG49ZS5sYW5ndWFnZXMubWFya3VwO24mJihuLnRhZy5hZGRJbmxpbmVkKFwic3R5bGVcIixcImNzc1wiKSxlLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoXCJpbnNpZGVcIixcImF0dHItdmFsdWVcIix7XCJzdHlsZS1hdHRyXCI6e3BhdHRlcm46L1xccypzdHlsZT0oXCJ8JykoPzpcXFxcW1xcc1xcU118KD8hXFwxKVteXFxcXF0pKlxcMS9pLGluc2lkZTp7XCJhdHRyLW5hbWVcIjp7cGF0dGVybjovXlxccypzdHlsZS9pLGluc2lkZTpuLnRhZy5pbnNpZGV9LHB1bmN0dWF0aW9uOi9eXFxzKj1cXHMqWydcIl18WydcIl1cXHMqJC8sXCJhdHRyLXZhbHVlXCI6e3BhdHRlcm46Ly4rL2ksaW5zaWRlOmUubGFuZ3VhZ2VzLmNzc319LGFsaWFzOlwibGFuZ3VhZ2UtY3NzXCJ9fSxuLnRhZykpfSh0KSx0Lmxhbmd1YWdlcy5jbGlrZT17Y29tbWVudDpbe3BhdHRlcm46LyhefFteXFxcXF0pXFwvXFwqW1xcc1xcU10qPyg/OlxcKlxcL3wkKS8sbG9va2JlaGluZDohMH0se3BhdHRlcm46LyhefFteXFxcXDpdKVxcL1xcLy4qLyxsb29rYmVoaW5kOiEwLGdyZWVkeTohMH1dLHN0cmluZzp7cGF0dGVybjovKFtcIiddKSg/OlxcXFwoPzpcXHJcXG58W1xcc1xcU10pfCg/IVxcMSlbXlxcXFxcXHJcXG5dKSpcXDEvLGdyZWVkeTohMH0sXCJjbGFzcy1uYW1lXCI6e3BhdHRlcm46LygoPzpcXGIoPzpjbGFzc3xpbnRlcmZhY2V8ZXh0ZW5kc3xpbXBsZW1lbnRzfHRyYWl0fGluc3RhbmNlb2Z8bmV3KVxccyspfCg/OmNhdGNoXFxzK1xcKCkpW1xcdy5cXFxcXSsvaSxsb29rYmVoaW5kOiEwLGluc2lkZTp7cHVuY3R1YXRpb246L1suXFxcXF0vfX0sa2V5d29yZDovXFxiKD86aWZ8ZWxzZXx3aGlsZXxkb3xmb3J8cmV0dXJufGlufGluc3RhbmNlb2Z8ZnVuY3Rpb258bmV3fHRyeXx0aHJvd3xjYXRjaHxmaW5hbGx5fG51bGx8YnJlYWt8Y29udGludWUpXFxiLyxib29sZWFuOi9cXGIoPzp0cnVlfGZhbHNlKVxcYi8sZnVuY3Rpb246L1xcdysoPz1cXCgpLyxudW1iZXI6L1xcYjB4W1xcZGEtZl0rXFxifCg/OlxcYlxcZCtcXC4/XFxkKnxcXEJcXC5cXGQrKSg/OmVbKy1dP1xcZCspPy9pLG9wZXJhdG9yOi8tLT98XFwrXFwrP3whPT89P3w8PT98Pj0/fD09Pz0/fCYmP3xcXHxcXHw/fFxcP3xcXCp8XFwvfH58XFxefCUvLHB1bmN0dWF0aW9uOi9be31bXFxdOygpLC46XS99LHQubGFuZ3VhZ2VzLmphdmFzY3JpcHQ9dC5sYW5ndWFnZXMuZXh0ZW5kKFwiY2xpa2VcIix7XCJjbGFzcy1uYW1lXCI6W3QubGFuZ3VhZ2VzLmNsaWtlW1wiY2xhc3MtbmFtZVwiXSx7cGF0dGVybjovKF58W14kXFx3XFx4QTAtXFx1RkZGRl0pW18kQS1aXFx4QTAtXFx1RkZGRl1bJFxcd1xceEEwLVxcdUZGRkZdKig/PVxcLig/OnByb3RvdHlwZXxjb25zdHJ1Y3RvcikpLyxsb29rYmVoaW5kOiEwfV0sa2V5d29yZDpbe3BhdHRlcm46LygoPzpefH0pXFxzKikoPzpjYXRjaHxmaW5hbGx5KVxcYi8sbG9va2JlaGluZDohMH0se3BhdHRlcm46LyhefFteLl0pXFxiKD86YXN8YXN5bmMoPz1cXHMqKD86ZnVuY3Rpb25cXGJ8XFwofFskXFx3XFx4QTAtXFx1RkZGRl18JCkpfGF3YWl0fGJyZWFrfGNhc2V8Y2xhc3N8Y29uc3R8Y29udGludWV8ZGVidWdnZXJ8ZGVmYXVsdHxkZWxldGV8ZG98ZWxzZXxlbnVtfGV4cG9ydHxleHRlbmRzfGZvcnxmcm9tfGZ1bmN0aW9ufGdldHxpZnxpbXBsZW1lbnRzfGltcG9ydHxpbnxpbnN0YW5jZW9mfGludGVyZmFjZXxsZXR8bmV3fG51bGx8b2Z8cGFja2FnZXxwcml2YXRlfHByb3RlY3RlZHxwdWJsaWN8cmV0dXJufHNldHxzdGF0aWN8c3VwZXJ8c3dpdGNofHRoaXN8dGhyb3d8dHJ5fHR5cGVvZnx1bmRlZmluZWR8dmFyfHZvaWR8d2hpbGV8d2l0aHx5aWVsZClcXGIvLGxvb2tiZWhpbmQ6ITB9XSxudW1iZXI6L1xcYig/Oig/OjBbeFhdW1xcZEEtRmEtZl0rfDBbYkJdWzAxXSt8MFtvT11bMC03XSspbj98XFxkK258TmFOfEluZmluaXR5KVxcYnwoPzpcXGJcXGQrXFwuP1xcZCp8XFxCXFwuXFxkKykoPzpbRWVdWystXT9cXGQrKT8vLGZ1bmN0aW9uOi9bXyRhLXpBLVpcXHhBMC1cXHVGRkZGXVskXFx3XFx4QTAtXFx1RkZGRl0qKD89XFxzKig/OlxcLlxccyooPzphcHBseXxiaW5kfGNhbGwpXFxzKik/XFwoKS8sb3BlcmF0b3I6Ly1bLT1dP3xcXCtbKz1dP3whPT89P3w8PD89P3w+Pj8+Pz0/fD0oPzo9PT98Pik/fCZbJj1dP3xcXHxbfD1dP3xcXCpcXCo/PT98XFwvPT98fnxcXF49P3wlPT98XFw/fFxcLnszfS99KSx0Lmxhbmd1YWdlcy5qYXZhc2NyaXB0W1wiY2xhc3MtbmFtZVwiXVswXS5wYXR0ZXJuPS8oXFxiKD86Y2xhc3N8aW50ZXJmYWNlfGV4dGVuZHN8aW1wbGVtZW50c3xpbnN0YW5jZW9mfG5ldylcXHMrKVtcXHcuXFxcXF0rLyx0Lmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoXCJqYXZhc2NyaXB0XCIsXCJrZXl3b3JkXCIse3JlZ2V4OntwYXR0ZXJuOi8oKD86XnxbXiRcXHdcXHhBMC1cXHVGRkZGLlwiJ1xcXSlcXHNdKVxccyopXFwvKFxcWyg/OlteXFxdXFxcXFxcclxcbl18XFxcXC4pKl18XFxcXC58W14vXFxcXFxcW1xcclxcbl0pK1xcL1tnaW15dV17MCw1fSg/PVxccyooJHxbXFxyXFxuLC47fSlcXF1dKSkvLGxvb2tiZWhpbmQ6ITAsZ3JlZWR5OiEwfSxcImZ1bmN0aW9uLXZhcmlhYmxlXCI6e3BhdHRlcm46L1tfJGEtekEtWlxceEEwLVxcdUZGRkZdWyRcXHdcXHhBMC1cXHVGRkZGXSooPz1cXHMqWz06XVxccyooPzphc3luY1xccyopPyg/OlxcYmZ1bmN0aW9uXFxifCg/OlxcKCg/OlteKCldfFxcKFteKCldKlxcKSkqXFwpfFtfJGEtekEtWlxceEEwLVxcdUZGRkZdWyRcXHdcXHhBMC1cXHVGRkZGXSopXFxzKj0+KSkvLGFsaWFzOlwiZnVuY3Rpb25cIn0scGFyYW1ldGVyOlt7cGF0dGVybjovKGZ1bmN0aW9uKD86XFxzK1tfJEEtWmEtelxceEEwLVxcdUZGRkZdWyRcXHdcXHhBMC1cXHVGRkZGXSopP1xccypcXChcXHMqKSg/IVxccykoPzpbXigpXXxcXChbXigpXSpcXCkpKz8oPz1cXHMqXFwpKS8sbG9va2JlaGluZDohMCxpbnNpZGU6dC5sYW5ndWFnZXMuamF2YXNjcmlwdH0se3BhdHRlcm46L1tfJGEtelxceEEwLVxcdUZGRkZdWyRcXHdcXHhBMC1cXHVGRkZGXSooPz1cXHMqPT4pL2ksaW5zaWRlOnQubGFuZ3VhZ2VzLmphdmFzY3JpcHR9LHtwYXR0ZXJuOi8oXFwoXFxzKikoPyFcXHMpKD86W14oKV18XFwoW14oKV0qXFwpKSs/KD89XFxzKlxcKVxccyo9PikvLGxvb2tiZWhpbmQ6ITAsaW5zaWRlOnQubGFuZ3VhZ2VzLmphdmFzY3JpcHR9LHtwYXR0ZXJuOi8oKD86XFxifFxcc3xeKSg/ISg/OmFzfGFzeW5jfGF3YWl0fGJyZWFrfGNhc2V8Y2F0Y2h8Y2xhc3N8Y29uc3R8Y29udGludWV8ZGVidWdnZXJ8ZGVmYXVsdHxkZWxldGV8ZG98ZWxzZXxlbnVtfGV4cG9ydHxleHRlbmRzfGZpbmFsbHl8Zm9yfGZyb218ZnVuY3Rpb258Z2V0fGlmfGltcGxlbWVudHN8aW1wb3J0fGlufGluc3RhbmNlb2Z8aW50ZXJmYWNlfGxldHxuZXd8bnVsbHxvZnxwYWNrYWdlfHByaXZhdGV8cHJvdGVjdGVkfHB1YmxpY3xyZXR1cm58c2V0fHN0YXRpY3xzdXBlcnxzd2l0Y2h8dGhpc3x0aHJvd3x0cnl8dHlwZW9mfHVuZGVmaW5lZHx2YXJ8dm9pZHx3aGlsZXx3aXRofHlpZWxkKSg/IVskXFx3XFx4QTAtXFx1RkZGRl0pKSg/OltfJEEtWmEtelxceEEwLVxcdUZGRkZdWyRcXHdcXHhBMC1cXHVGRkZGXSpcXHMqKVxcKFxccyopKD8hXFxzKSg/OlteKCldfFxcKFteKCldKlxcKSkrPyg/PVxccypcXClcXHMqXFx7KS8sbG9va2JlaGluZDohMCxpbnNpZGU6dC5sYW5ndWFnZXMuamF2YXNjcmlwdH1dLGNvbnN0YW50Oi9cXGJbQS1aXSg/OltBLVpfXXxcXGR4PykqXFxiL30pLHQubGFuZ3VhZ2VzLmluc2VydEJlZm9yZShcImphdmFzY3JpcHRcIixcInN0cmluZ1wiLHtcInRlbXBsYXRlLXN0cmluZ1wiOntwYXR0ZXJuOi9gKD86XFxcXFtcXHNcXFNdfFxcJHtbXn1dK318W15cXFxcYF0pKmAvLGdyZWVkeTohMCxpbnNpZGU6e2ludGVycG9sYXRpb246e3BhdHRlcm46L1xcJHtbXn1dK30vLGluc2lkZTp7XCJpbnRlcnBvbGF0aW9uLXB1bmN0dWF0aW9uXCI6e3BhdHRlcm46L15cXCR7fH0kLyxhbGlhczpcInB1bmN0dWF0aW9uXCJ9LHJlc3Q6dC5sYW5ndWFnZXMuamF2YXNjcmlwdH19LHN0cmluZzovW1xcc1xcU10rL319fSksdC5sYW5ndWFnZXMubWFya3VwJiZ0Lmxhbmd1YWdlcy5tYXJrdXAudGFnLmFkZElubGluZWQoXCJzY3JpcHRcIixcImphdmFzY3JpcHRcIiksdC5sYW5ndWFnZXMuanM9dC5sYW5ndWFnZXMuamF2YXNjcmlwdCxcInVuZGVmaW5lZFwiIT10eXBlb2Ygc2VsZiYmc2VsZi5QcmlzbSYmc2VsZi5kb2N1bWVudCYmZG9jdW1lbnQucXVlcnlTZWxlY3RvciYmKHNlbGYuUHJpc20uZmlsZUhpZ2hsaWdodD1mdW5jdGlvbihlKXtlPWV8fGRvY3VtZW50O3ZhciBuPXtqczpcImphdmFzY3JpcHRcIixweTpcInB5dGhvblwiLHJiOlwicnVieVwiLHBzMTpcInBvd2Vyc2hlbGxcIixwc20xOlwicG93ZXJzaGVsbFwiLHNoOlwiYmFzaFwiLGJhdDpcImJhdGNoXCIsaDpcImNcIix0ZXg6XCJsYXRleFwifTtBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJwcmVbZGF0YS1zcmNdXCIpKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKCFlLmhhc0F0dHJpYnV0ZShcImRhdGEtc3JjLWxvYWRlZFwiKSl7Zm9yKHZhciBhLHM9ZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXNyY1wiKSxvPWUsaT0vXFxibGFuZyg/OnVhZ2UpPy0oW1xcdy1dKylcXGIvaTtvJiYhaS50ZXN0KG8uY2xhc3NOYW1lKTspbz1vLnBhcmVudE5vZGU7aWYobyYmKGE9KGUuY2xhc3NOYW1lLm1hdGNoKGkpfHxbLFwiXCJdKVsxXSksIWEpe3ZhciByPShzLm1hdGNoKC9cXC4oXFx3KykkLyl8fFssXCJcIl0pWzFdO2E9bltyXXx8cn12YXIgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY29kZVwiKTtsLmNsYXNzTmFtZT1cImxhbmd1YWdlLVwiK2EsZS50ZXh0Q29udGVudD1cIlwiLGwudGV4dENvbnRlbnQ9XCJMb2FkaW5n4oCmXCIsZS5hcHBlbmRDaGlsZChsKTt2YXIgYz1uZXcgWE1MSHR0cFJlcXVlc3Q7Yy5vcGVuKFwiR0VUXCIscywhMCksYy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT1jLnJlYWR5U3RhdGUmJihjLnN0YXR1czw0MDAmJmMucmVzcG9uc2VUZXh0PyhsLnRleHRDb250ZW50PWMucmVzcG9uc2VUZXh0LHQuaGlnaGxpZ2h0RWxlbWVudChsKSxlLnNldEF0dHJpYnV0ZShcImRhdGEtc3JjLWxvYWRlZFwiLFwiXCIpKTpjLnN0YXR1cz49NDAwP2wudGV4dENvbnRlbnQ9XCLinJYgRXJyb3IgXCIrYy5zdGF0dXMrXCIgd2hpbGUgZmV0Y2hpbmcgZmlsZTogXCIrYy5zdGF0dXNUZXh0OmwudGV4dENvbnRlbnQ9XCLinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHlcIil9LGMuc2VuZChudWxsKX19KSx0LnBsdWdpbnMudG9vbGJhciYmdC5wbHVnaW5zLnRvb2xiYXIucmVnaXN0ZXJCdXR0b24oXCJkb3dubG9hZC1maWxlXCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5lbGVtZW50LnBhcmVudE5vZGU7aWYodCYmL3ByZS9pLnRlc3QodC5ub2RlTmFtZSkmJnQuaGFzQXR0cmlidXRlKFwiZGF0YS1zcmNcIikmJnQuaGFzQXR0cmlidXRlKFwiZGF0YS1kb3dubG9hZC1saW5rXCIpKXt2YXIgbj10LmdldEF0dHJpYnV0ZShcImRhdGEtc3JjXCIpLGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7cmV0dXJuIGEudGV4dENvbnRlbnQ9dC5nZXRBdHRyaWJ1dGUoXCJkYXRhLWRvd25sb2FkLWxpbmstbGFiZWxcIil8fFwiRG93bmxvYWRcIixhLnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsXCJcIiksYS5ocmVmPW4sYX19KX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixmdW5jdGlvbigpe3NlbGYuUHJpc20uZmlsZUhpZ2hsaWdodCgpfSkpfSksQ29kZUZsYXNrPWZ1bmN0aW9uKGUsdCl7aWYoIWUpdGhyb3cgRXJyb3IoXCJDb2RlRmxhc2sgZXhwZWN0cyBhIHBhcmFtZXRlciB3aGljaCBpcyBFbGVtZW50IG9yIGEgU3RyaW5nIHNlbGVjdG9yXCIpO2lmKCF0KXRocm93IEVycm9yKFwiQ29kZUZsYXNrIGV4cGVjdHMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgb3B0aW9ucyBhcyBzZWNvbmQgcGFyYW1ldGVyXCIpO2lmKGUubm9kZVR5cGUpdGhpcy5lZGl0b3JSb290PWU7ZWxzZXt2YXIgbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGUpO24mJih0aGlzLmVkaXRvclJvb3Q9bil9dGhpcy5vcHRzPXQsdGhpcy5zdGFydEVkaXRvcigpfTtDb2RlRmxhc2sucHJvdG90eXBlLnN0YXJ0RWRpdG9yPWZ1bmN0aW9uKCl7aWYoIWluamVjdENzcyhlZGl0b3JDc3MsbnVsbCx0aGlzLm9wdHMuc3R5bGVQYXJlbnQpKXRocm93IEVycm9yKFwiRmFpbGVkIHRvIGluamVjdCBDb2RlRmxhc2sgQ1NTLlwiKTt0aGlzLmNyZWF0ZVdyYXBwZXIoKSx0aGlzLmNyZWF0ZVRleHRhcmVhKCksdGhpcy5jcmVhdGVQcmUoKSx0aGlzLmNyZWF0ZUNvZGUoKSx0aGlzLnJ1bk9wdGlvbnMoKSx0aGlzLmxpc3RlblRleHRhcmVhKCksdGhpcy5wb3B1bGF0ZURlZmF1bHQoKSx0aGlzLnVwZGF0ZUNvZGUodGhpcy5jb2RlKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5jcmVhdGVXcmFwcGVyPWZ1bmN0aW9uKCl7dGhpcy5jb2RlPXRoaXMuZWRpdG9yUm9vdC5pbm5lckhUTUwsdGhpcy5lZGl0b3JSb290LmlubmVySFRNTD1cIlwiLHRoaXMuZWxXcmFwcGVyPXRoaXMuY3JlYXRlRWxlbWVudChcImRpdlwiLHRoaXMuZWRpdG9yUm9vdCksdGhpcy5lbFdyYXBwZXIuY2xhc3NMaXN0LmFkZChcImNvZGVmbGFza1wiKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5jcmVhdGVUZXh0YXJlYT1mdW5jdGlvbigpe3RoaXMuZWxUZXh0YXJlYT10aGlzLmNyZWF0ZUVsZW1lbnQoXCJ0ZXh0YXJlYVwiLHRoaXMuZWxXcmFwcGVyKSx0aGlzLmVsVGV4dGFyZWEuY2xhc3NMaXN0LmFkZChcImNvZGVmbGFza19fdGV4dGFyZWFcIixcImNvZGVmbGFza19fZmxhdHRlblwiKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5jcmVhdGVQcmU9ZnVuY3Rpb24oKXt0aGlzLmVsUHJlPXRoaXMuY3JlYXRlRWxlbWVudChcInByZVwiLHRoaXMuZWxXcmFwcGVyKSx0aGlzLmVsUHJlLmNsYXNzTGlzdC5hZGQoXCJjb2RlZmxhc2tfX3ByZVwiLFwiY29kZWZsYXNrX19mbGF0dGVuXCIpfSxDb2RlRmxhc2sucHJvdG90eXBlLmNyZWF0ZUNvZGU9ZnVuY3Rpb24oKXt0aGlzLmVsQ29kZT10aGlzLmNyZWF0ZUVsZW1lbnQoXCJjb2RlXCIsdGhpcy5lbFByZSksdGhpcy5lbENvZGUuY2xhc3NMaXN0LmFkZChcImNvZGVmbGFza19fY29kZVwiLFwibGFuZ3VhZ2UtXCIrKHRoaXMub3B0cy5sYW5ndWFnZXx8XCJodG1sXCIpKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5jcmVhdGVMaW5lTnVtYmVycz1mdW5jdGlvbigpe3RoaXMuZWxMaW5lTnVtYmVycz10aGlzLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix0aGlzLmVsV3JhcHBlciksdGhpcy5lbExpbmVOdW1iZXJzLmNsYXNzTGlzdC5hZGQoXCJjb2RlZmxhc2tfX2xpbmVzXCIpLHRoaXMuc2V0TGluZU51bWJlcigpfSxDb2RlRmxhc2sucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpO3JldHVybiB0LmFwcGVuZENoaWxkKG4pLG59LENvZGVGbGFzay5wcm90b3R5cGUucnVuT3B0aW9ucz1mdW5jdGlvbigpe3RoaXMub3B0cy5ydGw9dGhpcy5vcHRzLnJ0bHx8ITEsdGhpcy5vcHRzLnRhYlNpemU9dGhpcy5vcHRzLnRhYlNpemV8fDIsdGhpcy5vcHRzLmVuYWJsZUF1dG9jb3JyZWN0PXRoaXMub3B0cy5lbmFibGVBdXRvY29ycmVjdHx8ITEsdGhpcy5vcHRzLmxpbmVOdW1iZXJzPXRoaXMub3B0cy5saW5lTnVtYmVyc3x8ITEsdGhpcy5vcHRzLmRlZmF1bHRUaGVtZT0hMSE9PXRoaXMub3B0cy5kZWZhdWx0VGhlbWUsdGhpcy5vcHRzLmFyZWFJZD10aGlzLm9wdHMuYXJlYUlkfHxudWxsLHRoaXMub3B0cy5hcmlhTGFiZWxsZWRieT10aGlzLm9wdHMuYXJpYUxhYmVsbGVkYnl8fG51bGwsdGhpcy5vcHRzLnJlYWRvbmx5PXRoaXMub3B0cy5yZWFkb25seXx8bnVsbCxcImJvb2xlYW5cIiE9dHlwZW9mIHRoaXMub3B0cy5oYW5kbGVUYWJzJiYodGhpcy5vcHRzLmhhbmRsZVRhYnM9ITApLFwiYm9vbGVhblwiIT10eXBlb2YgdGhpcy5vcHRzLmhhbmRsZVNlbGZDbG9zaW5nQ2hhcmFjdGVycyYmKHRoaXMub3B0cy5oYW5kbGVTZWxmQ2xvc2luZ0NoYXJhY3RlcnM9ITApLFwiYm9vbGVhblwiIT10eXBlb2YgdGhpcy5vcHRzLmhhbmRsZU5ld0xpbmVJbmRlbnRhdGlvbiYmKHRoaXMub3B0cy5oYW5kbGVOZXdMaW5lSW5kZW50YXRpb249ITApLCEwPT09dGhpcy5vcHRzLnJ0bCYmKHRoaXMuZWxUZXh0YXJlYS5zZXRBdHRyaWJ1dGUoXCJkaXJcIixcInJ0bFwiKSx0aGlzLmVsUHJlLnNldEF0dHJpYnV0ZShcImRpclwiLFwicnRsXCIpKSwhMT09PXRoaXMub3B0cy5lbmFibGVBdXRvY29ycmVjdCYmKHRoaXMuZWxUZXh0YXJlYS5zZXRBdHRyaWJ1dGUoXCJzcGVsbGNoZWNrXCIsXCJmYWxzZVwiKSx0aGlzLmVsVGV4dGFyZWEuc2V0QXR0cmlidXRlKFwiYXV0b2NhcGl0YWxpemVcIixcIm9mZlwiKSx0aGlzLmVsVGV4dGFyZWEuc2V0QXR0cmlidXRlKFwiYXV0b2NvbXBsZXRlXCIsXCJvZmZcIiksdGhpcy5lbFRleHRhcmVhLnNldEF0dHJpYnV0ZShcImF1dG9jb3JyZWN0XCIsXCJvZmZcIikpLHRoaXMub3B0cy5saW5lTnVtYmVycyYmKHRoaXMuZWxXcmFwcGVyLmNsYXNzTGlzdC5hZGQoXCJjb2RlZmxhc2stLWhhcy1saW5lLW51bWJlcnNcIiksdGhpcy5jcmVhdGVMaW5lTnVtYmVycygpKSx0aGlzLm9wdHMuZGVmYXVsdFRoZW1lJiZpbmplY3RDc3MoZGVmYXVsdENzc1RoZW1lLFwidGhlbWUtZGVmYXVsdFwiLHRoaXMub3B0cy5zdHlsZVBhcmVudCksdGhpcy5vcHRzLmFyZWFJZCYmdGhpcy5lbFRleHRhcmVhLnNldEF0dHJpYnV0ZShcImlkXCIsdGhpcy5vcHRzLmFyZWFJZCksdGhpcy5vcHRzLmFyaWFMYWJlbGxlZGJ5JiZ0aGlzLmVsVGV4dGFyZWEuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbGxlZGJ5XCIsdGhpcy5vcHRzLmFyaWFMYWJlbGxlZGJ5KSx0aGlzLm9wdHMucmVhZG9ubHkmJnRoaXMuZW5hYmxlUmVhZG9ubHlNb2RlKCl9LENvZGVGbGFzay5wcm90b3R5cGUudXBkYXRlTGluZU51bWJlcnNDb3VudD1mdW5jdGlvbigpe2Zvcih2YXIgZT1cIlwiLHQ9MTt0PD10aGlzLmxpbmVOdW1iZXI7dCsrKWU9ZSsnPHNwYW4gY2xhc3M9XCJjb2RlZmxhc2tfX2xpbmVzX19saW5lXCI+Jyt0K1wiPC9zcGFuPlwiO3RoaXMuZWxMaW5lTnVtYmVycy5pbm5lckhUTUw9ZX0sQ29kZUZsYXNrLnByb3RvdHlwZS5saXN0ZW5UZXh0YXJlYT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5lbFRleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoXCJpbnB1dFwiLGZ1bmN0aW9uKHQpe2UuY29kZT10LnRhcmdldC52YWx1ZSxlLmVsQ29kZS5pbm5lckhUTUw9ZXNjYXBlSHRtbCh0LnRhcmdldC52YWx1ZSksZS5oaWdobGlnaHQoKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5ydW5VcGRhdGUoKSxlLnNldExpbmVOdW1iZXIoKX0sMSl9KSx0aGlzLmVsVGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixmdW5jdGlvbih0KXtlLmhhbmRsZVRhYnModCksZS5oYW5kbGVTZWxmQ2xvc2luZ0NoYXJhY3RlcnModCksZS5oYW5kbGVOZXdMaW5lSW5kZW50YXRpb24odCl9KSx0aGlzLmVsVGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLGZ1bmN0aW9uKHQpe2UuZWxQcmUuc3R5bGUudHJhbnNmb3JtPVwidHJhbnNsYXRlM2QoLVwiK3QudGFyZ2V0LnNjcm9sbExlZnQrXCJweCwgLVwiK3QudGFyZ2V0LnNjcm9sbFRvcCtcInB4LCAwKVwiLGUuZWxMaW5lTnVtYmVycyYmKGUuZWxMaW5lTnVtYmVycy5zdHlsZS50cmFuc2Zvcm09XCJ0cmFuc2xhdGUzZCgwLCAtXCIrdC50YXJnZXQuc2Nyb2xsVG9wK1wicHgsIDApXCIpfSl9LENvZGVGbGFzay5wcm90b3R5cGUuaGFuZGxlVGFicz1mdW5jdGlvbihlKXtpZih0aGlzLm9wdHMuaGFuZGxlVGFicyl7aWYoOSE9PWUua2V5Q29kZSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciB0PXRoaXMuZWxUZXh0YXJlYSxuPXQuc2VsZWN0aW9uRGlyZWN0aW9uLGE9dC5zZWxlY3Rpb25TdGFydCxzPXQuc2VsZWN0aW9uRW5kLG89dC52YWx1ZSxpPW8uc3Vic3RyKDAsYSkscj1vLnN1YnN0cmluZyhhLHMpLGw9by5zdWJzdHJpbmcocyksYz1cIiBcIi5yZXBlYXQodGhpcy5vcHRzLnRhYlNpemUpO2lmKGEhPT1zJiZyLmxlbmd0aD49Yy5sZW5ndGgpe3ZhciBkPWEtaS5zcGxpdChcIlxcblwiKS5wb3AoKS5sZW5ndGgsdT1jLmxlbmd0aCxwPWMubGVuZ3RoO2lmKGUuc2hpZnRLZXkpby5zdWJzdHIoZCxjLmxlbmd0aCk9PT1jPyh1PS11LGQ+YT8ocj1yLnN1YnN0cmluZygwLGQpK3Iuc3Vic3RyaW5nKGQrYy5sZW5ndGgpLHA9MCk6ZD09PWE/KHU9MCxwPTAscj1yLnN1YnN0cmluZyhjLmxlbmd0aCkpOihwPS1wLGk9aS5zdWJzdHJpbmcoMCxkKStpLnN1YnN0cmluZyhkK2MubGVuZ3RoKSkpOih1PTAscD0wKSxyPXIucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxuXCIrYy5zcGxpdChcIlwiKS5qb2luKFwiXFxcXFwiKSxcImdcIiksXCJcXG5cIik7ZWxzZSBpPWkuc3Vic3RyKDAsZCkrYytpLnN1YnN0cmluZyhkLGEpLHI9ci5yZXBsYWNlKC9cXG4vZyxcIlxcblwiK2MpO3QudmFsdWU9aStyK2wsdC5zZWxlY3Rpb25TdGFydD1hK3UsdC5zZWxlY3Rpb25FbmQ9YStyLmxlbmd0aCtwLHQuc2VsZWN0aW9uRGlyZWN0aW9uPW59ZWxzZSB0LnZhbHVlPWkrYytsLHQuc2VsZWN0aW9uU3RhcnQ9YStjLmxlbmd0aCx0LnNlbGVjdGlvbkVuZD1hK2MubGVuZ3RoO3ZhciBoPXQudmFsdWU7dGhpcy51cGRhdGVDb2RlKGgpLHRoaXMuZWxUZXh0YXJlYS5zZWxlY3Rpb25FbmQ9cyt0aGlzLm9wdHMudGFiU2l6ZX19LENvZGVGbGFzay5wcm90b3R5cGUuaGFuZGxlU2VsZkNsb3NpbmdDaGFyYWN0ZXJzPWZ1bmN0aW9uKGUpe2lmKHRoaXMub3B0cy5oYW5kbGVTZWxmQ2xvc2luZ0NoYXJhY3RlcnMpe3ZhciB0PWUua2V5O2lmKFtcIihcIixcIltcIixcIntcIixcIjxcIixcIidcIiwnXCInXS5pbmNsdWRlcyh0KXx8W1wiKVwiLFwiXVwiLFwifVwiLFwiPlwiLFwiJ1wiLCdcIiddLmluY2x1ZGVzKHQpKXN3aXRjaCh0KXtjYXNlXCIoXCI6Y2FzZVwiKVwiOnRoaXMuY2xvc2VDaGFyYWN0ZXIodCk7YnJlYWs7Y2FzZVwiW1wiOmNhc2VcIl1cIjp0aGlzLmNsb3NlQ2hhcmFjdGVyKHQpO2JyZWFrO2Nhc2VcIntcIjpjYXNlXCJ9XCI6dGhpcy5jbG9zZUNoYXJhY3Rlcih0KTticmVhaztjYXNlXCI8XCI6Y2FzZVwiPlwiOmNhc2VcIidcIjpjYXNlJ1wiJzp0aGlzLmNsb3NlQ2hhcmFjdGVyKHQpfX19LENvZGVGbGFzay5wcm90b3R5cGUuc2V0TGluZU51bWJlcj1mdW5jdGlvbigpe3RoaXMubGluZU51bWJlcj10aGlzLmNvZGUuc3BsaXQoXCJcXG5cIikubGVuZ3RoLHRoaXMub3B0cy5saW5lTnVtYmVycyYmdGhpcy51cGRhdGVMaW5lTnVtYmVyc0NvdW50KCl9LENvZGVGbGFzay5wcm90b3R5cGUuaGFuZGxlTmV3TGluZUluZGVudGF0aW9uPWZ1bmN0aW9uKGUpe2lmKHRoaXMub3B0cy5oYW5kbGVOZXdMaW5lSW5kZW50YXRpb24mJjEzPT09ZS5rZXlDb2RlKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9dGhpcy5lbFRleHRhcmVhLG49dC5zZWxlY3Rpb25TdGFydCxhPXQuc2VsZWN0aW9uRW5kLHM9dC52YWx1ZSxvPXMuc3Vic3RyKDAsbiksaT1zLnN1YnN0cmluZyhhKSxyPXMubGFzdEluZGV4T2YoXCJcXG5cIixuLTEpLGw9citzLnNsaWNlKHIrMSkuc2VhcmNoKC9bXiBdfCQvKSxjPWw+cj9sLXI6MCxkPW8rXCJcXG5cIitcIiBcIi5yZXBlYXQoYykraTt0LnZhbHVlPWQsdC5zZWxlY3Rpb25TdGFydD1uK2MrMSx0LnNlbGVjdGlvbkVuZD1uK2MrMSx0aGlzLnVwZGF0ZUNvZGUodC52YWx1ZSl9fSxDb2RlRmxhc2sucHJvdG90eXBlLmNsb3NlQ2hhcmFjdGVyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZWxUZXh0YXJlYS5zZWxlY3Rpb25TdGFydCxuPXRoaXMuZWxUZXh0YXJlYS5zZWxlY3Rpb25FbmQ7aWYodGhpcy5za2lwQ2xvc2VDaGFyKGUpKXt2YXIgYT10aGlzLmNvZGUuc3Vic3RyKG4sMSk9PT1lLHM9YT9uKzE6bixvPSFhJiZbXCInXCIsJ1wiJ10uaW5jbHVkZXMoZSk/ZTpcIlwiLGk9XCJcIit0aGlzLmNvZGUuc3Vic3RyaW5nKDAsdCkrbyt0aGlzLmNvZGUuc3Vic3RyaW5nKHMpO3RoaXMudXBkYXRlQ29kZShpKSx0aGlzLmVsVGV4dGFyZWEuc2VsZWN0aW9uRW5kPSsrdGhpcy5lbFRleHRhcmVhLnNlbGVjdGlvblN0YXJ0fWVsc2V7dmFyIHI9ZTtzd2l0Y2goZSl7Y2FzZVwiKFwiOnI9U3RyaW5nLmZyb21DaGFyQ29kZShlLmNoYXJDb2RlQXQoKSsxKTticmVhaztjYXNlXCI8XCI6Y2FzZVwie1wiOmNhc2VcIltcIjpyPVN0cmluZy5mcm9tQ2hhckNvZGUoZS5jaGFyQ29kZUF0KCkrMil9dmFyIGw9dGhpcy5jb2RlLnN1YnN0cmluZyh0LG4pLGM9XCJcIit0aGlzLmNvZGUuc3Vic3RyaW5nKDAsdCkrbCtyK3RoaXMuY29kZS5zdWJzdHJpbmcobik7dGhpcy51cGRhdGVDb2RlKGMpfXRoaXMuZWxUZXh0YXJlYS5zZWxlY3Rpb25FbmQ9dH0sQ29kZUZsYXNrLnByb3RvdHlwZS5za2lwQ2xvc2VDaGFyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZWxUZXh0YXJlYS5zZWxlY3Rpb25TdGFydCxuPXRoaXMuZWxUZXh0YXJlYS5zZWxlY3Rpb25FbmQsYT1NYXRoLmFicyhuLXQpPjA7cmV0dXJuW1wiKVwiLFwifVwiLFwiXVwiLFwiPlwiXS5pbmNsdWRlcyhlKXx8W1wiJ1wiLCdcIiddLmluY2x1ZGVzKGUpJiYhYX0sQ29kZUZsYXNrLnByb3RvdHlwZS51cGRhdGVDb2RlPWZ1bmN0aW9uKGUpe3RoaXMuY29kZT1lLHRoaXMuZWxUZXh0YXJlYS52YWx1ZT1lLHRoaXMuZWxDb2RlLmlubmVySFRNTD1lc2NhcGVIdG1sKGUpLHRoaXMuaGlnaGxpZ2h0KCksdGhpcy5zZXRMaW5lTnVtYmVyKCksc2V0VGltZW91dCh0aGlzLnJ1blVwZGF0ZS5iaW5kKHRoaXMpLDEpfSxDb2RlRmxhc2sucHJvdG90eXBlLnVwZGF0ZUxhbmd1YWdlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMub3B0cy5sYW5ndWFnZTt0aGlzLmVsQ29kZS5jbGFzc0xpc3QucmVtb3ZlKFwibGFuZ3VhZ2UtXCIrdCksdGhpcy5lbENvZGUuY2xhc3NMaXN0LmFkZChcImxhbmd1YWdlLVwiK2UpLHRoaXMub3B0cy5sYW5ndWFnZT1lLHRoaXMuaGlnaGxpZ2h0KCl9LENvZGVGbGFzay5wcm90b3R5cGUuYWRkTGFuZ3VhZ2U9ZnVuY3Rpb24oZSx0KXtwcmlzbS5sYW5ndWFnZXNbZV09dH0sQ29kZUZsYXNrLnByb3RvdHlwZS5wb3B1bGF0ZURlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLnVwZGF0ZUNvZGUodGhpcy5jb2RlKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5oaWdobGlnaHQ9ZnVuY3Rpb24oKXtwcmlzbS5oaWdobGlnaHRFbGVtZW50KHRoaXMuZWxDb2RlLCExKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5vblVwZGF0ZT1mdW5jdGlvbihlKXtpZihlJiZcIltvYmplY3QgRnVuY3Rpb25dXCIhPT17fS50b1N0cmluZy5jYWxsKGUpKXRocm93IEVycm9yKFwiQ29kZUZsYXNrIGV4cGVjdHMgY2FsbGJhY2sgb2YgdHlwZSBGdW5jdGlvblwiKTt0aGlzLnVwZGF0ZUNhbGxCYWNrPWV9LENvZGVGbGFzay5wcm90b3R5cGUuZ2V0Q29kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvZGV9LENvZGVGbGFzay5wcm90b3R5cGUucnVuVXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy51cGRhdGVDYWxsQmFjayYmdGhpcy51cGRhdGVDYWxsQmFjayh0aGlzLmNvZGUpfSxDb2RlRmxhc2sucHJvdG90eXBlLmVuYWJsZVJlYWRvbmx5TW9kZT1mdW5jdGlvbigpe3RoaXMuZWxUZXh0YXJlYS5zZXRBdHRyaWJ1dGUoXCJyZWFkb25seVwiLCEwKX0sQ29kZUZsYXNrLnByb3RvdHlwZS5kaXNhYmxlUmVhZG9ubHlNb2RlPWZ1bmN0aW9uKCl7dGhpcy5lbFRleHRhcmVhLnJlbW92ZUF0dHJpYnV0ZShcInJlYWRvbmx5XCIpfTtleHBvcnQgZGVmYXVsdCBDb2RlRmxhc2s7XG4iLCJpbXBvcnQgQ29kZUZsYXNrIGZyb20gXCJjb2RlZmxhc2tcIjtcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBDb2RlRmxhc2tFZGl0b3IgPSAoe2NvZGUsIHR5cGUsIG9uQ2hhbmdlfToge2NvZGU6IHN0cmluZywgdHlwZTogc3RyaW5nLCBvbkNoYW5nZTogKGNvZGU6IHN0cmluZykgPT4gdm9pZH0pID0+IHtcbiAgY29uc3QgZG9tUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgY29kZUZsYXNrUmVmID0gdXNlUmVmPENvZGVGbGFzayB8IG51bGw+KG51bGwpO1xuICBjb25zdCBjb2RlUmVmID0gdXNlUmVmPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRvbVJlZi5jdXJyZW50ICYmIGNvZGVGbGFza1JlZi5jdXJyZW50ID09PSBudWxsKSB7XG4gICAgICBjb2RlRmxhc2tSZWYuY3VycmVudCA9IG5ldyBDb2RlRmxhc2soZG9tUmVmLmN1cnJlbnQsIHtcbiAgICAgICAgbGFuZ3VhZ2U6IHR5cGUgfHwgXCJqc1wiLFxuICAgICAgICBsaW5lTnVtYmVyczogdHJ1ZSxcbiAgICAgICAgLypyZWFkb25seTogdHJ1ZSwqL1xuICAgICAgfSk7XG4gICAgICBjb2RlRmxhc2tSZWYuY3VycmVudC5vblVwZGF0ZShjb2RlID0+IHtcbiAgICAgICAgLy8gTk9URTogd2l0aG91dCB0aGlzIHNvbWV0aW1lcyB0aGUgb2xkIHN0YXRlIHdpbGwgb3ZlcndyaXRlIHRoZVxuICAgICAgICAvL25ldyBzdGF0ZSBpbiBkZXYgbW9kZVxuICAgICAgICBpZihjb2RlUmVmLmN1cnJlbnQgIT09IGNvZGUpIHtcbiAgICAgICAgICBvbkNoYW5nZShjb2RlKTtcbiAgICAgICAgfSBcbiAgICAgIH0pO1xuICAgICAgLypcbiAgICAgIE5PVEU6IHRoaXMgd2lsbCBjYXVzZSBzdHJhbmdlIGJlaGF2aW9yIGluIGRldiBtb2RlXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBjb2RlRmxhc2tSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICB9O1xuICAgICAgKi9cbiAgICB9XG4gIH0sIFt0eXBlLCBvbkNoYW5nZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNvZGVGbGFza1JlZi5jdXJyZW50ICYmIGNvZGUgIT09IGNvZGVGbGFza1JlZi5jdXJyZW50LmdldENvZGUoKSkge1xuICAgICAgLy8gdXNlZCBmb3IgYmxvY2sgY2lyY3VsYXIgdXBkYXRlXG4gICAgICBjb2RlUmVmLmN1cnJlbnQgPSBjb2RlO1xuICAgICAgY29kZUZsYXNrUmVmLmN1cnJlbnQudXBkYXRlQ29kZShjb2RlIHx8IGBjb25zdCBhID0gMTtgKTtcbiAgICB9XG4gIH0sIFtjb2RlXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICByZWY9e2RvbVJlZn1cbiAgICAgIHN0eWxlPXt7IGhlaWdodDogXCIxMDAlXCIsIHdpZHRoOiBcIjEwMCVcIiB9fVxuICAgID48L2Rpdj5cbiAgKTtcbn07IiwiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgR3JpZCwgR3JpZFByb3BzLCBDb2RlRmxhc2tFZGl0b3IgfSBmcm9tIFwiLi4vY29tcG9uZW50c1wiO1xuXG5jb25zdCBERUZBVUxUX0dSSURfUFJPUFMgPSBgXG57XG4gICAgXCJpdGVtTWF4V2lkdGhcIjogMzAwLFxuICAgIFwiaXRlbUFzcGVjdFJhdGlvXCI6IDEuMzMsXG4gICAgXCJsYXlvdXRcIjoge1xuICAgICAgICBcIjNcIjogW1xuICAgICAgICAgICAgW1wiQVwiLCBcIkJcIiwgXCJDXCJdLFxuICAgICAgICAgICAgW1wiRFwiLCBcIkVcIiwgXCJFXCJdLFxuICAgICAgICAgICAgW1wiRFwiLCBcIkZcIiwgXCJHXCJdXG4gICAgICAgIF1cbiAgICB9XG59XG5gLnRyaW0oKTtcblxuZXhwb3J0IGNvbnN0IEdyaWRTYW1wbGVQYWdlID0gKCkgPT4ge1xuICBjb25zdCBbY29kZSwgc2V0Q29kZV0gPSB1c2VTdGF0ZShERUZBVUxUX0dSSURfUFJPUFMpO1xuICBjb25zdCBbY29uZmlnLCBzZXRDb25maWddID0gdXNlU3RhdGUoe30gYXMgR3JpZFByb3BzKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZShcIlwiKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zb2xlLmxvZyhcImNvZGVcIiwgY29kZSk7XG4gICAgICBjb25zb2xlLmxvZyhcIkpTT04ucGFyc2UoY29kZSlcIiwgSlNPTi5wYXJzZShjb2RlKSk7XG4gICAgICBzZXRDb25maWcoSlNPTi5wYXJzZShjb2RlKSk7XG4gICAgICBzZXRFcnJvcihcIlwiKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBzZXRFcnJvcigoZSBhcyBFcnJvcikubWVzc2FnZSk7XG4gICAgfVxuICB9LCBbY29kZV0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBpZD1cInByaW1hcnlcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7LypzY3JvbGxiYXIgZGVzZXJ2ZSAyMCovfVxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGhlaWdodDogNjAwLFxuICAgICAgICAgICAgd2lkdGg6IDEwMjAsXG4gICAgICAgICAgICBvdmVyZmxvd1k6IFwic2Nyb2xsXCIsXG4gICAgICAgICAgICBvdmVyZmxvd1g6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgICByZXNpemU6IFwiYm90aFwiLFxuICAgICAgICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBibGFja1wiLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7IGNvbmZpZyAmJiA8R3JpZCB7Li4uY29uZmlnfSAvPiB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgY29sb3I6IFwicmVkXCIsXG4gICAgICAgIH19PntlcnJvcn08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBpZD1cInNlY29uZGFyeVwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgYm9yZGVyVG9wOiBcIjFweCBzb2xpZCBibGFja1wiLFxuICAgICAgICAgIGhlaWdodDogXCIyMCVcIixcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge1wiIFwifVxuICAgICAgICA8Q29kZUZsYXNrRWRpdG9yXG4gICAgICAgICAgY29kZT17Y29kZX1cbiAgICAgICAgICB0eXBlPVwianNcIlxuICAgICAgICAgIG9uQ2hhbmdlPXtzZXRDb2RlfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBHcmlkU2FtcGxlUGFnZTsiXSwibmFtZXMiOlsiX19hc3NpZ24iLCJzIiwiaSIsIm4iLCJwIiwiX19zcHJlYWRBcnJheSIsInRvIiwiZnJvbSIsInBhY2siLCJsIiwiYXIiLCJNUyIsIk1PWiIsIldFQktJVCIsIkNPTU1FTlQiLCJSVUxFU0VUIiwiREVDTEFSQVRJT04iLCJJTVBPUlQiLCJLRVlGUkFNRVMiLCJMQVlFUiIsImFicyIsImFzc2lnbiIsImhhc2giLCJ2YWx1ZSIsImxlbmd0aCIsImNoYXJhdCIsInRyaW0iLCJtYXRjaCIsInBhdHRlcm4iLCJyZXBsYWNlIiwicmVwbGFjZW1lbnQiLCJpbmRleG9mIiwic2VhcmNoIiwicG9zaXRpb24iLCJpbmRleCIsInN1YnN0ciIsImJlZ2luIiwiZW5kIiwic3RybGVuIiwic2l6ZW9mIiwiYXBwZW5kIiwiYXJyYXkiLCJjb21iaW5lIiwiY2FsbGJhY2siLCJmaWx0ZXIiLCJsaW5lIiwiY29sdW1uIiwiY2hhcmFjdGVyIiwiY2hhcmFjdGVycyIsIm5vZGUiLCJyb290IiwicGFyZW50IiwidHlwZSIsInByb3BzIiwiY2hpbGRyZW4iLCJzaWJsaW5ncyIsImNvcHkiLCJsaWZ0IiwiY2hhciIsInByZXYiLCJuZXh0IiwicGVlayIsImNhcmV0Iiwic2xpY2UiLCJ0b2tlbiIsImFsbG9jIiwiZGVhbGxvYyIsImRlbGltaXQiLCJkZWxpbWl0ZXIiLCJ3aGl0ZXNwYWNlIiwiZXNjYXBpbmciLCJjb3VudCIsImNvbW1lbnRlciIsImlkZW50aWZpZXIiLCJjb21waWxlIiwicGFyc2UiLCJydWxlIiwicnVsZXMiLCJydWxlc2V0cyIsInBzZXVkbyIsInBvaW50cyIsImRlY2xhcmF0aW9ucyIsIm9mZnNldCIsImF0cnVsZSIsInByb3BlcnR5IiwicHJldmlvdXMiLCJ2YXJpYWJsZSIsInNjYW5uaW5nIiwiYW1wZXJzYW5kIiwicmVmZXJlbmNlIiwiY29tbWVudCIsImRlY2xhcmF0aW9uIiwicnVsZXNldCIsInBvc3QiLCJzaXplIiwiaiIsImsiLCJ4IiwieSIsInoiLCJwcmVmaXgiLCJlbGVtZW50IiwiXyIsImIiLCJjIiwiZSIsImYiLCJzZXJpYWxpemUiLCJvdXRwdXQiLCJzdHJpbmdpZnkiLCJtaWRkbGV3YXJlIiwiY29sbGVjdGlvbiIsInJ1bGVzaGVldCIsInByZWZpeGVyIiwidW5pdGxlc3NLZXlzIiwiZGVmaW5lX3Byb2Nlc3NfZW52X2RlZmF1bHQiLCJtIiwidiIsImciLCJTIiwidyIsIkMiLCJJIiwidCIsIkEiLCJPIiwiRCIsIlIiLCJUIiwiViIsIkYiLCJNIiwiJCIsIkIiLCJMIiwiRyIsIlkiLCJXIiwicSIsIkgiLCJVIiwiSiIsIlgiLCJaIiwiSyIsIlEiLCJlZSIsInRlIiwibmUiLCJvZSIsIm8iLCJyIiwiYSIsInJlIiwic2UiLCJpZSIsImFlIiwiY2UiLCJsZSIsInVlIiwiaGUiLCJmZSIsInllIiwidmUiLCJnZSIsIlNlIiwid2UiLCJiZSIsIkVlIiwiTmUiLCJQZSIsInUiLCJfZSIsIkNlIiwiSWUiLCJBZSIsIk9lIiwiRGUiLCJSZSIsIlRlIiwia2UiLCJqZSIsInhlIiwiVmUiLCJGZSIsImQuUlVMRVNFVCIsImQucHJlZml4ZXIiLCJkLnN0cmluZ2lmeSIsImQuY29tcGlsZSIsImQuc2VyaWFsaXplIiwiZC5taWRkbGV3YXJlIiwiZC5ydWxlc2hlZXQiLCJNZSIsInplIiwiJGUiLCJHZSIsIldlIiwicWUiLCJIZSIsIlVlIiwiSmUiLCJoIiwiWGUiLCJaZSIsIktlIiwiUWUiLCJkIiwiZXQiLCJydCIsIml0IiwiRSIsIk4iLCJhdCIsImN0IiwibHQiLCJ1dCIsInB0IiwiZHQiLCJkZWJvdW5jZSIsImZ1bmMiLCJ3YWl0IiwidGltZW91dCIsImFyZ3MiLCJHcmlkQ29udGFpbmVyIiwic3R5bGVkIiwiR3JpZEl0ZW0iLCJHcmlkSXRlbUNvbnRlbnRFeGFtcGxlIiwiR3JpZCIsIml0ZW1NYXhXaWR0aCIsIml0ZW1Bc3BlY3RSYXRpbyIsImxheW91dCIsImNvbnRhaW5lclJlZiIsInVzZVJlZiIsImFkanVzdFJhdGlvIiwic2V0QWRqdXN0UmF0aW8iLCJ1c2VTdGF0ZSIsImluaXRDb2xzIiwiZGF0YSIsImNvbHMiLCJzZXRDb2xzIiwicG9zaXRpb25zIiwic2V0UG9zaXRpb25zIiwidXNlRWZmZWN0Iiwicm93Iiwicm93SW5kZXgiLCJpdGVtIiwiY29sSW5kZXgiLCJjb2xTcGFuIiwiZWwiLCJyb3dTcGFuIiwiaGFuZGxlUmVzaXplIiwidXNlQ2FsbGJhY2siLCJlbnRyaWVzIiwiZW50cnkiLCJ3aWR0aCIsImhlaWdodCIsIl9hIiwiY3NzV2lkdGgiLCJjc3NIZWlnaHQiLCJzY3JvbGxIZWlnaHQiLCJfYiIsImNsaWVudEhlaWdodCIsIl9jIiwiX2QiLCJjb2xDb3VudCIsImNlbGxXaWR0aCIsImNlbGxIZWlnaHQiLCJyb3dDb3VudCIsInByb2plY3RDZWxsSGVpZ2h0IiwiaGFuZGxlUmVzaXplRGVib3VuY2UiLCJncmlkSXRlbXMiLCJyZXNpemVPYnNlcnZlciIsInJvd1N0YXJ0IiwiY29sU3RhcnQiLCJrZXkiLCJqc3giLCJCQUNLR1JPVU5EX0NPTE9SIiwiTElORV9IRUlHSFQiLCJGT05UX1NJWkUiLCJkZWZhdWx0Q3NzVGhlbWUiLCJjc3NTdXBwb3J0cyIsInRvQ2FtZWxDYXNlIiwiRk9OVF9GQU1JTFkiLCJDT0xPUiIsIkxJTkVfTlVNQkVSX1dJRFRIIiwiZWRpdG9yQ3NzIiwiaW5qZWN0Q3NzIiwiZW50aXR5TWFwIiwiZXNjYXBlSHRtbCIsImNvbW1vbmpzR2xvYmFsIiwiY3JlYXRlQ29tbW9uanNNb2R1bGUiLCJwcmlzbSIsIkNvZGVGbGFzayIsIkNvZGVGbGFza0VkaXRvciIsImNvZGUiLCJvbkNoYW5nZSIsImRvbVJlZiIsImNvZGVGbGFza1JlZiIsImNvZGVSZWYiLCJERUZBVUxUX0dSSURfUFJPUFMiLCJHcmlkU2FtcGxlUGFnZSIsInNldENvZGUiLCJjb25maWciLCJzZXRDb25maWciLCJlcnJvciIsInNldEVycm9yIiwianN4cyJdLCJtYXBwaW5ncyI6InVEQStCTyxJQUFJQSxFQUFXLFVBQVcsQ0FDL0IsT0FBQUEsRUFBVyxPQUFPLFFBQVUsU0FBa0IsRUFBRyxDQUM3QyxRQUFTQyxFQUFHQyxFQUFJLEVBQUdDLEVBQUksVUFBVSxPQUFRRCxFQUFJQyxFQUFHRCxJQUFLLENBQ2pERCxFQUFJLFVBQVVDLENBQUMsRUFDZixRQUFTRSxLQUFLSCxFQUFPLE9BQU8sVUFBVSxlQUFlLEtBQUtBLEVBQUdHLENBQUMsSUFBRyxFQUFFQSxDQUFDLEVBQUlILEVBQUVHLENBQUMsRUFDOUUsQ0FDRCxPQUFPLENBQ1YsRUFDTUosRUFBUyxNQUFNLEtBQU0sU0FBUyxDQUN2QyxFQTZLTyxTQUFTSyxHQUFjQyxFQUFJQyxFQUFNQyxFQUFNLENBQzVDLEdBQUlBLEdBQVEsVUFBVSxTQUFXLEVBQUcsUUFBU04sRUFBSSxFQUFHTyxFQUFJRixFQUFLLE9BQVFHLEVBQUlSLEVBQUlPLEVBQUdQLEtBQ3hFUSxHQUFNLEVBQUVSLEtBQUtLLE1BQ1JHLElBQUlBLEVBQUssTUFBTSxVQUFVLE1BQU0sS0FBS0gsRUFBTSxFQUFHTCxDQUFDLEdBQ25EUSxFQUFHUixDQUFDLEVBQUlLLEVBQUtMLENBQUMsR0FHdEIsT0FBT0ksRUFBRyxPQUFPSSxHQUFNLE1BQU0sVUFBVSxNQUFNLEtBQUtILENBQUksQ0FBQyxDQUN6RCxDQzdOTyxJQUFJSSxFQUFLLE9BQ0xDLEdBQU0sUUFDTkMsRUFBUyxXQUVUQyxHQUFVLE9BQ1ZDLEdBQVUsT0FDVkMsR0FBYyxPQUlkQyxHQUFTLFVBTVRD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QUFTLE9BQ1QsY0FBZSxTQUNmLE9BQVEsT0FDUixNQUFPLE1BQ1QsRUFFQSxTQUFBLENBQUFBLEVBQUEsS0FBQyxNQUFBLENBQ0MsR0FBRyxVQUNILE1BQU8sQ0FDTCxTQUFVLENBQ1osRUFHQSxTQUFBLENBQUEvQixFQUFBLElBQUMsTUFBQSxDQUNDLE1BQU8sQ0FDTCxPQUFRLElBQ1IsTUFBTyxLQUNQLFVBQVcsU0FDWCxVQUFXLFNBQ1gsT0FBUSxPQUNSLE9BQVEsaUJBQ1YsRUFFRSxTQUFVMkIsR0FBQTNCLEVBQUEsSUFBQ2hELEdBQU0sQ0FBQSxHQUFHMkUsQ0FBUSxDQUFBLENBQUEsQ0FDaEMsRUFDQTNCLE1BQUMsT0FBSSxNQUFPLENBQ1YsTUFBTyxLQUFBLEVBQ0wsU0FBTTZCLEVBQUEsQ0FBQSxDQUFBLENBQ1osRUFDQUUsRUFBQSxLQUFDLE1BQUEsQ0FDQyxHQUFHLFlBQ0gsTUFBTyxDQUNMLFVBQVcsa0JBQ1gsT0FBUSxLQUNWLEVBRUMsU0FBQSxDQUFBLElBQ0QvQixFQUFBLElBQUNrQixHQUFBLENBQ0MsS0FBQUMsRUFDQSxLQUFLLEtBQ0wsU0FBVU8sQ0FBQSxDQUNaLENBQUEsQ0FBQSxDQUNGLENBQUEsQ0FBQSxDQUFBLENBR04iLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMCwxLDIsMyw0LDUsNiw3LDgsOSwxMV19 diff --git a/docs/assets/IframeSamAuthSamplePage-BSXJo4Sb.js b/docs/assets/IframeSamAuthSamplePage-BSXJo4Sb.js new file mode 100644 index 0000000..9fb1531 --- /dev/null +++ b/docs/assets/IframeSamAuthSamplePage-BSXJo4Sb.js @@ -0,0 +1,2 @@ +import{j as t}from"./index-D6OZ-D7n.js";const s=()=>t.jsx("div",{children:t.jsx("iframe",{src:"https://tcrevolution.industrysoftware.automation.siemens.com/",title:"ops",width:"100%",height:"1000px"})});export{s as default}; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWZyYW1lU2FtQXV0aFNhbXBsZVBhZ2UtQlNYSm80U2IuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWdlcy9JZnJhbWVTYW1BdXRoU2FtcGxlUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXG5cbmNvbnN0IElmcmFtZVNhbUF1dGhTYW1wbGVQYWdlID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgIDxpZnJhbWUgc3JjPVwiaHR0cHM6Ly90Y3Jldm9sdXRpb24uaW5kdXN0cnlzb2Z0d2FyZS5hdXRvbWF0aW9uLnNpZW1lbnMuY29tL1wiIHRpdGxlPVwib3BzXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwMHB4XCI+PC9pZnJhbWU+XG4gICAgICAgIHsvKiBcbiAgICAgICAgPGlmcmFtZSBzcmM9XCJodHRwczovL291dGxvb2subGl2ZS5jb20vbWFpbC8wXCIgdGl0bGU9XCJvcHNcIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAwcHhcIj48L2lmcmFtZT5cbiAgICAgICAgPGlmcmFtZSBzcmM9XCJodHRwczovL3RjcmV2b2x1dGlvbi5pbmR1c3RyeXNvZnR3YXJlLmF1dG9tYXRpb24uc2llbWVucy5jb20vXCIgdGl0bGU9XCJvcHNcIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAwcHhcIj48L2lmcmFtZT5cbiAgICAgICAgKi99XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG4gICAgfVxuXG5leHBvcnQgZGVmYXVsdCBJZnJhbWVTYW1BdXRoU2FtcGxlUGFnZTtcbiAiXSwibmFtZXMiOlsiSWZyYW1lU2FtQXV0aFNhbXBsZVBhZ2UiLCJqc3giXSwibWFwcGluZ3MiOiJ3Q0FFQSxNQUFNQSxFQUEwQixJQUV2QkMsRUFBQUEsSUFBQSxNQUFBLENBQ0QsU0FBQ0EsRUFBQUEsSUFBQSxTQUFBLENBQU8sSUFBSSxnRUFBZ0UsTUFBTSxNQUFNLE1BQU0sT0FBTyxPQUFPLFFBQUEsQ0FBUyxDQUtySCxDQUFBIn0= diff --git a/docs/assets/OpsSamplePage-10mTZKqw.js b/docs/assets/OpsSamplePage-D-bUjj55.js similarity index 98% rename from docs/assets/OpsSamplePage-10mTZKqw.js rename to docs/assets/OpsSamplePage-D-bUjj55.js index 76e8ed0..4472083 100644 --- a/docs/assets/OpsSamplePage-10mTZKqw.js +++ b/docs/assets/OpsSamplePage-D-bUjj55.js @@ -1,2 +1,2 @@ -var g=Object.defineProperty;var f=(t,o,i)=>o in t?g(t,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[o]=i;var d=(t,o,i)=>f(t,typeof o!="symbol"?o+"":o,i);import{c as x,R as C,M as h,s as w,a as b,u as v,r as l,j as n,b as p,p as S}from"./index-BXTQYCCW.js";class j extends HTMLElement{constructor(){super();d(this,"_root");this._root=x(this)}connectedCallback(){this._root.render(C.createElement(h,{id:this.id}))}disconnectedCallback(){this._root.unmount()}}customElements.define("my-component",j);w({topic:"selectionChanged",handler:t=>{console.log("[page] Received parentSelectionChanged:",t)}});b({topic:"app-level-api",handler:async t=>({response:`app-level-api: ${t.message}`})});const E=()=>{v("./OpsSamplePage.css","dynamic-css");const[t,o]=l.useState("Call component-level-api in iframe component"),[i,s]=l.useState("Call component-level-api in web component"),[u,c]=l.useState("Call component-level-api in native component"),[y,m]=l.useState("Call component-level-api in popup component"),r=l.useRef(null);return n.jsxs(n.Fragment,{children:[n.jsx("button",{style:{marginBottom:"10px"},onClick:()=>{const e=window.open("/#/ops_popup","popupWindow","width=600,height=600,resizable=yes,scrollbars=yes,status=no,toolbar=no,location=no,menubar=no");r.current=e},children:"Open a popup window"}),n.jsx("button",{style:{marginBottom:"10px"},onClick:()=>{var e;p({topic:"component-level-api",channel:"my-component-iframe-component-sample",payload:{message:"Hello, world!"}},(e=document.getElementById("iframe-sample"))==null?void 0:e.contentWindow).then(a=>{o(JSON.stringify(a))}).catch(a=>{o(JSON.stringify(a))})},children:t}),n.jsx("button",{style:{marginBottom:"10px"},onClick:()=>{p({topic:"component-level-api",channel:"my-component-web-component-sample",payload:{message:"Hello, world!"}}).then(e=>{s(JSON.stringify(e))}).catch(e=>{s(JSON.stringify(e))})},children:i}),n.jsx("button",{style:{marginBottom:"10px"},onClick:()=>{p({topic:"component-level-api",channel:"my-component-native-component-sample",payload:{message:"Hello, world!"}}).then(e=>{c(JSON.stringify(e))}).catch(e=>{c(JSON.stringify(e))})},children:u}),n.jsx("button",{style:{marginBottom:"10px"},onClick:()=>{p({topic:"component-level-api",channel:"my-component-popup-component-sample",payload:{message:"Hello, world!"}},r.current).then(e=>{m(JSON.stringify(e))}).catch(e=>{m(JSON.stringify(e))})},children:y}),n.jsx("button",{style:{marginBottom:"100px"},onClick:()=>{var e;S({topic:"parentSelectionChanged",channel:"my-component-iframe-component-sample",payload:{component:"page",uid:"uid2"}},(e=document.getElementById("iframe-sample"))==null?void 0:e.contentWindow)},children:"Publish parentSelectionChanged event to iframe component"}),n.jsxs("div",{style:{width:"100%",height:"100%",display:"flex",flex:1,flexDirection:"row"},children:[n.jsx("div",{style:{width:"100%",height:"100%",display:"flex",flex:1,flexDirection:"column"},children:n.jsx("iframe",{id:"iframe-sample",src:"./#/ops_iframe",style:{width:"100%",height:"inherit",overflow:"hidden",border:"none"}})}),n.jsx("div",{style:{width:"100%",height:"100%",display:"flex",flex:1,flexDirection:"column"},children:l.createElement("my-component",{id:"web-component-sample"})}),n.jsx("div",{id:"native-component-sample",style:{width:"100%",height:"100%",display:"flex",flex:1,flexDirection:"column"},children:n.jsx(h,{id:"native-component-sample"})})]})]})};export{E as default}; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BzU2FtcGxlUGFnZS0xMG1UWktxdy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhZ2VzL29wcy9teS1jb21wb25lbnQuZGlyZWN0aXZlLnRzIiwiLi4vLi4vc3JjL3BhZ2VzL09wc1NhbXBsZVBhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFJlbmRlciByZWFjdCB0byBjdXN0b20gZWxlbWVudFxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlUm9vdCwgUm9vdCB9IGZyb20gXCJyZWFjdC1kb20vY2xpZW50XCI7XG5pbXBvcnQgTXlDb21wb25lbnQgZnJvbSBcIi4vTXlDb21wb25lbnRcIjtcblxuY2xhc3MgTXlDb21wb25lbnRFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBwcml2YXRlIF9yb290OiBSb290O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fcm9vdCA9IGNyZWF0ZVJvb3QodGhpcyk7XG4gIH1cblxuICBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICB0aGlzLl9yb290LnJlbmRlcihSZWFjdC5jcmVhdGVFbGVtZW50KE15Q29tcG9uZW50LCB7IGlkOiB0aGlzLmlkIH0pKTtcbiAgfVxuXG4gIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHRoaXMuX3Jvb3QudW5tb3VudCgpO1xuICB9XG59XG5cbmN1c3RvbUVsZW1lbnRzLmRlZmluZShcIm15LWNvbXBvbmVudFwiLCBNeUNvbXBvbmVudEVsZW1lbnQpO1xuIiwiaW1wb3J0IHsgdXNlU3RhdGUsIGNyZWF0ZUVsZW1lbnQsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgcmVtb3RlQXBpLCBldmVudEJ1cywgdXNlRHluYW1pY0NzcyB9IGZyb20gXCIuLi9saWJzXCI7XG5pbXBvcnQgTXlDb21wb25lbnQgZnJvbSBcIi4vb3BzL015Q29tcG9uZW50XCI7XG5pbXBvcnQgXCIuL29wcy9teS1jb21wb25lbnQuZGlyZWN0aXZlXCI7XG5cbmV2ZW50QnVzLnN1YnNjcmliZSh7XG4gIHRvcGljOiBcInNlbGVjdGlvbkNoYW5nZWRcIixcbiAgaGFuZGxlcjogKHBheWxvYWQpID0+IHtcbiAgICBjb25zb2xlLmxvZyhgW3BhZ2VdIFJlY2VpdmVkIHBhcmVudFNlbGVjdGlvbkNoYW5nZWQ6YCwgcGF5bG9hZCk7XG4gIH0sXG59KTtcblxucmVtb3RlQXBpLnJlZ2lzdGVyKHtcbiAgdG9waWM6IFwiYXBwLWxldmVsLWFwaVwiLFxuICBoYW5kbGVyOiBhc3luYyAocGF5bG9hZDogeyBtZXNzYWdlOiBzdHJpbmcgfSkgPT4ge1xuICAgIHJldHVybiB7IHJlc3BvbnNlOiBgYXBwLWxldmVsLWFwaTogJHtwYXlsb2FkLm1lc3NhZ2V9YCB9O1xuICB9LFxufSk7XG5cbmNvbnN0IE9wc1NhbXBsZVBhZ2UgPSAoKSA9PiB7XG4gIHVzZUR5bmFtaWNDc3MoXCIuL09wc1NhbXBsZVBhZ2UuY3NzXCIsIFwiZHluYW1pYy1jc3NcIik7XG5cbiAgY29uc3QgW2lmcmFtZUNvbXBBcGlDb250ZW50LCBzZXRJZnJhbWVDb21wQXBpQ29udGVudF0gPSB1c2VTdGF0ZShcbiAgICBcIkNhbGwgY29tcG9uZW50LWxldmVsLWFwaSBpbiBpZnJhbWUgY29tcG9uZW50XCJcbiAgKTtcbiAgY29uc3QgW3dlYkNvbXBBcGlDb250ZW50LCBzZXRXZWJDb21wQXBpQ29udGVudF0gPSB1c2VTdGF0ZShcbiAgICBcIkNhbGwgY29tcG9uZW50LWxldmVsLWFwaSBpbiB3ZWIgY29tcG9uZW50XCJcbiAgKTtcbiAgY29uc3QgW25hdGl2ZUNvbXBBcGlDb250ZW50LCBzZXROYXRpdmVDb21wQXBpQ29udGVudF0gPSB1c2VTdGF0ZShcbiAgICBcIkNhbGwgY29tcG9uZW50LWxldmVsLWFwaSBpbiBuYXRpdmUgY29tcG9uZW50XCJcbiAgKTtcbiAgY29uc3QgW3BvcHVwQ29tcEFwaUNvbnRlbnQsIHNldFBvcHVwQ29tcEFwaUNvbnRlbnRdID0gdXNlU3RhdGUoXG4gICAgXCJDYWxsIGNvbXBvbmVudC1sZXZlbC1hcGkgaW4gcG9wdXAgY29tcG9uZW50XCJcbiAgKTtcbiAgY29uc3QgcG9wdXBXaW5kb3dSZWYgPSB1c2VSZWY8V2luZG93IHwgbnVsbD4obnVsbCk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGJ1dHRvblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIG1hcmdpbkJvdHRvbTogXCIxMHB4XCIsXG4gICAgICAgIH19XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAvLyBUT0RPOiBuZWVkIGEgZnJhbWV3b3JrIHRvIHRyYWNrIHBvcCB1cCB3aW5kb3dcbiAgICAgICAgICBjb25zdCBwb3B1cFdpbmRvdyA9IHdpbmRvdy5vcGVuKFxuICAgICAgICAgICAgXCIvIy9vcHNfcG9wdXBcIixcbiAgICAgICAgICAgIFwicG9wdXBXaW5kb3dcIixcbiAgICAgICAgICAgIFwid2lkdGg9NjAwLGhlaWdodD02MDAscmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyxzdGF0dXM9bm8sdG9vbGJhcj1ubyxsb2NhdGlvbj1ubyxtZW51YmFyPW5vXCJcbiAgICAgICAgICApO1xuICAgICAgICAgIHBvcHVwV2luZG93UmVmLmN1cnJlbnQgPSBwb3B1cFdpbmRvdztcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgT3BlbiBhIHBvcHVwIHdpbmRvd1xuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgbWFyZ2luQm90dG9tOiBcIjEwcHhcIixcbiAgICAgICAgfX1cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIHJlbW90ZUFwaVxuICAgICAgICAgICAgLmNhbGxBcGkoXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0b3BpYzogXCJjb21wb25lbnQtbGV2ZWwtYXBpXCIsXG4gICAgICAgICAgICAgICAgY2hhbm5lbDogXCJteS1jb21wb25lbnQtaWZyYW1lLWNvbXBvbmVudC1zYW1wbGVcIixcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiB7IG1lc3NhZ2U6IFwiSGVsbG8sIHdvcmxkIVwiIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImlmcmFtZS1zYW1wbGVcIikgYXMgSFRNTElGcmFtZUVsZW1lbnQpXG4gICAgICAgICAgICAgICAgPy5jb250ZW50V2luZG93XG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgc2V0SWZyYW1lQ29tcEFwaUNvbnRlbnQoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHNldElmcmFtZUNvbXBBcGlDb250ZW50KEpTT04uc3RyaW5naWZ5KGVycm9yKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2lmcmFtZUNvbXBBcGlDb250ZW50fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgbWFyZ2luQm90dG9tOiBcIjEwcHhcIixcbiAgICAgICAgfX1cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIHJlbW90ZUFwaVxuICAgICAgICAgICAgLmNhbGxBcGkoe1xuICAgICAgICAgICAgICB0b3BpYzogXCJjb21wb25lbnQtbGV2ZWwtYXBpXCIsXG4gICAgICAgICAgICAgIGNoYW5uZWw6IFwibXktY29tcG9uZW50LXdlYi1jb21wb25lbnQtc2FtcGxlXCIsXG4gICAgICAgICAgICAgIHBheWxvYWQ6IHsgbWVzc2FnZTogXCJIZWxsbywgd29ybGQhXCIgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgc2V0V2ViQ29tcEFwaUNvbnRlbnQoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHNldFdlYkNvbXBBcGlDb250ZW50KEpTT04uc3RyaW5naWZ5KGVycm9yKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge3dlYkNvbXBBcGlDb250ZW50fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgbWFyZ2luQm90dG9tOiBcIjEwcHhcIixcbiAgICAgICAgfX1cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIHJlbW90ZUFwaVxuICAgICAgICAgICAgLmNhbGxBcGkoe1xuICAgICAgICAgICAgICB0b3BpYzogXCJjb21wb25lbnQtbGV2ZWwtYXBpXCIsXG4gICAgICAgICAgICAgIGNoYW5uZWw6IFwibXktY29tcG9uZW50LW5hdGl2ZS1jb21wb25lbnQtc2FtcGxlXCIsXG4gICAgICAgICAgICAgIHBheWxvYWQ6IHsgbWVzc2FnZTogXCJIZWxsbywgd29ybGQhXCIgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgc2V0TmF0aXZlQ29tcEFwaUNvbnRlbnQoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHNldE5hdGl2ZUNvbXBBcGlDb250ZW50KEpTT04uc3RyaW5naWZ5KGVycm9yKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge25hdGl2ZUNvbXBBcGlDb250ZW50fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgbWFyZ2luQm90dG9tOiBcIjEwcHhcIixcbiAgICAgICAgfX1cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIHJlbW90ZUFwaVxuICAgICAgICAgICAgLmNhbGxBcGkoXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0b3BpYzogXCJjb21wb25lbnQtbGV2ZWwtYXBpXCIsXG4gICAgICAgICAgICAgICAgY2hhbm5lbDogXCJteS1jb21wb25lbnQtcG9wdXAtY29tcG9uZW50LXNhbXBsZVwiLFxuICAgICAgICAgICAgICAgIHBheWxvYWQ6IHsgbWVzc2FnZTogXCJIZWxsbywgd29ybGQhXCIgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcG9wdXBXaW5kb3dSZWYuY3VycmVudFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgIHNldFBvcHVwQ29tcEFwaUNvbnRlbnQoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHNldFBvcHVwQ29tcEFwaUNvbnRlbnQoSlNPTi5zdHJpbmdpZnkoZXJyb3IpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7cG9wdXBDb21wQXBpQ29udGVudH1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIG1hcmdpbkJvdHRvbTogXCIxMDBweFwiLFxuICAgICAgICB9fVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgZXZlbnRCdXMucHVibGlzaChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdG9waWM6IFwicGFyZW50U2VsZWN0aW9uQ2hhbmdlZFwiLFxuICAgICAgICAgICAgICBjaGFubmVsOiBcIm15LWNvbXBvbmVudC1pZnJhbWUtY29tcG9uZW50LXNhbXBsZVwiLFxuICAgICAgICAgICAgICBwYXlsb2FkOiB7IGNvbXBvbmVudDogXCJwYWdlXCIsIHVpZDogXCJ1aWQyXCIgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJpZnJhbWUtc2FtcGxlXCIpIGFzIEhUTUxJRnJhbWVFbGVtZW50KVxuICAgICAgICAgICAgICA/LmNvbnRlbnRXaW5kb3dcbiAgICAgICAgICApO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICBQdWJsaXNoIHBhcmVudFNlbGVjdGlvbkNoYW5nZWQgZXZlbnQgdG8gaWZyYW1lIGNvbXBvbmVudFxuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8aWZyYW1lXG4gICAgICAgICAgICBpZD1cImlmcmFtZS1zYW1wbGVcIlxuICAgICAgICAgICAgc3JjPVwiLi8jL29wc19pZnJhbWVcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgICBoZWlnaHQ6IFwiaW5oZXJpdFwiLFxuICAgICAgICAgICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgICAgICAgICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtjcmVhdGVFbGVtZW50KFwibXktY29tcG9uZW50XCIsIHsgaWQ6IFwid2ViLWNvbXBvbmVudC1zYW1wbGVcIiB9KX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBpZD1cIm5hdGl2ZS1jb21wb25lbnQtc2FtcGxlXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxNeUNvbXBvbmVudCBpZD1cIm5hdGl2ZS1jb21wb25lbnQtc2FtcGxlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE9wc1NhbXBsZVBhZ2U7XG4iXSwibmFtZXMiOlsiTXlDb21wb25lbnRFbGVtZW50IiwiX19wdWJsaWNGaWVsZCIsImNyZWF0ZVJvb3QiLCJSZWFjdCIsIk15Q29tcG9uZW50IiwiZXZlbnRCdXMuc3Vic2NyaWJlIiwicGF5bG9hZCIsInJlbW90ZUFwaS5yZWdpc3RlciIsIk9wc1NhbXBsZVBhZ2UiLCJ1c2VEeW5hbWljQ3NzIiwiaWZyYW1lQ29tcEFwaUNvbnRlbnQiLCJzZXRJZnJhbWVDb21wQXBpQ29udGVudCIsInVzZVN0YXRlIiwid2ViQ29tcEFwaUNvbnRlbnQiLCJzZXRXZWJDb21wQXBpQ29udGVudCIsIm5hdGl2ZUNvbXBBcGlDb250ZW50Iiwic2V0TmF0aXZlQ29tcEFwaUNvbnRlbnQiLCJwb3B1cENvbXBBcGlDb250ZW50Iiwic2V0UG9wdXBDb21wQXBpQ29udGVudCIsInBvcHVwV2luZG93UmVmIiwidXNlUmVmIiwianN4cyIsIkZyYWdtZW50IiwianN4IiwicG9wdXBXaW5kb3ciLCJyZW1vdGVBcGkuY2FsbEFwaSIsIl9hIiwicmVzcG9uc2UiLCJlcnJvciIsImV2ZW50QnVzLnB1Ymxpc2giLCJjcmVhdGVFbGVtZW50Il0sIm1hcHBpbmdzIjoiMlFBS0EsTUFBTUEsVUFBMkIsV0FBWSxDQUczQyxhQUFjLENBQ04sUUFIQUMsRUFBQSxjQUlELEtBQUEsTUFBUUMsRUFBVyxJQUFJLENBQzlCLENBRUEsbUJBQW9CLENBQ2IsS0FBQSxNQUFNLE9BQU9DLEVBQU0sY0FBY0MsRUFBYSxDQUFFLEdBQUksS0FBSyxFQUFHLENBQUMsQ0FBQyxDQUNyRSxDQUVBLHNCQUF1QixDQUNyQixLQUFLLE1BQU0sU0FDYixDQUNGLENBRUEsZUFBZSxPQUFPLGVBQWdCSixDQUFrQixFQ2pCeERLLEVBQW1CLENBQ2pCLE1BQU8sbUJBQ1AsUUFBVUMsR0FBWSxDQUNaLFFBQUEsSUFBSSwwQ0FBMkNBLENBQU8sQ0FDaEUsQ0FDRixDQUFDLEVBRURDLEVBQW1CLENBQ2pCLE1BQU8sZ0JBQ1AsUUFBUyxNQUFPRCxJQUNQLENBQUUsU0FB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 +var g=Object.defineProperty;var f=(t,o,i)=>o in t?g(t,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[o]=i;var d=(t,o,i)=>f(t,typeof o!="symbol"?o+"":o,i);import{c as x,R as C,M as h,s as w,a as b,u as v,r as l,j as n,b as p,p as S}from"./index-D6OZ-D7n.js";class j extends HTMLElement{constructor(){super();d(this,"_root");this._root=x(this)}connectedCallback(){this._root.render(C.createElement(h,{id:this.id}))}disconnectedCallback(){this._root.unmount()}}customElements.define("my-component",j);w({topic:"selectionChanged",handler:t=>{console.log("[page] Received parentSelectionChanged:",t)}});b({topic:"app-level-api",handler:async t=>({response:`app-level-api: ${t.message}`})});const E=()=>{v("./OpsSamplePage.css","dynamic-css");const[t,o]=l.useState("Call component-level-api in iframe component"),[i,s]=l.useState("Call component-level-api in web component"),[u,c]=l.useState("Call component-level-api in native component"),[y,m]=l.useState("Call component-level-api in popup component"),r=l.useRef(null);return n.jsxs(n.Fragment,{children:[n.jsx("button",{style:{marginBottom:"10px"},onClick:()=>{const e=window.open("/#/ops_popup","popupWindow","width=600,height=600,resizable=yes,scrollbars=yes,status=no,toolbar=no,location=no,menubar=no");r.current=e},children:"Open a popup window"}),n.jsx("button",{style:{marginBottom:"10px"},onClick:()=>{var e;p({topic:"component-level-api",channel:"my-component-iframe-component-sample",payload:{message:"Hello, world!"}},(e=document.getElementById("iframe-sample"))==null?void 0:e.contentWindow).then(a=>{o(JSON.stringify(a))}).catch(a=>{o(JSON.stringify(a))})},children:t}),n.jsx("button",{style:{marginBottom:"10px"},onClick:()=>{p({topic:"component-level-api",channel:"my-component-web-component-sample",payload:{message:"Hello, world!"}}).then(e=>{s(JSON.stringify(e))}).catch(e=>{s(JSON.stringify(e))})},children:i}),n.jsx("button",{style:{marginBottom:"10px"},onClick:()=>{p({topic:"component-level-api",channel:"my-component-native-component-sample",payload:{message:"Hello, world!"}}).then(e=>{c(JSON.stringify(e))}).catch(e=>{c(JSON.stringify(e))})},children:u}),n.jsx("button",{style:{marginBottom:"10px"},onClick:()=>{p({topic:"component-level-api",channel:"my-component-popup-component-sample",payload:{message:"Hello, world!"}},r.current).then(e=>{m(JSON.stringify(e))}).catch(e=>{m(JSON.stringify(e))})},children:y}),n.jsx("button",{style:{marginBottom:"100px"},onClick:()=>{var e;S({topic:"parentSelectionChanged",channel:"my-component-iframe-component-sample",payload:{component:"page",uid:"uid2"}},(e=document.getElementById("iframe-sample"))==null?void 0:e.contentWindow)},children:"Publish parentSelectionChanged event to iframe component"}),n.jsxs("div",{style:{width:"100%",height:"100%",display:"flex",flex:1,flexDirection:"row"},children:[n.jsx("div",{style:{width:"100%",height:"100%",display:"flex",flex:1,flexDirection:"column"},children:n.jsx("iframe",{id:"iframe-sample",src:"./#/ops_iframe",style:{width:"100%",height:"inherit",overflow:"hidden",border:"none"}})}),n.jsx("div",{style:{width:"100%",height:"100%",display:"flex",flex:1,flexDirection:"column"},children:l.createElement("my-component",{id:"web-component-sample"})}),n.jsx("div",{id:"native-component-sample",style:{width:"100%",height:"100%",display:"flex",flex:1,flexDirection:"column"},children:n.jsx(h,{id:"native-component-sample"})})]})]})};export{E as default}; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BzU2FtcGxlUGFnZS1ELWJVamo1NS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhZ2VzL29wcy9teS1jb21wb25lbnQuZGlyZWN0aXZlLnRzIiwiLi4vLi4vc3JjL3BhZ2VzL09wc1NhbXBsZVBhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFJlbmRlciByZWFjdCB0byBjdXN0b20gZWxlbWVudFxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlUm9vdCwgUm9vdCB9IGZyb20gXCJyZWFjdC1kb20vY2xpZW50XCI7XG5pbXBvcnQgTXlDb21wb25lbnQgZnJvbSBcIi4vTXlDb21wb25lbnRcIjtcblxuY2xhc3MgTXlDb21wb25lbnRFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBwcml2YXRlIF9yb290OiBSb290O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fcm9vdCA9IGNyZWF0ZVJvb3QodGhpcyk7XG4gIH1cblxuICBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICB0aGlzLl9yb290LnJlbmRlcihSZWFjdC5jcmVhdGVFbGVtZW50KE15Q29tcG9uZW50LCB7IGlkOiB0aGlzLmlkIH0pKTtcbiAgfVxuXG4gIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHRoaXMuX3Jvb3QudW5tb3VudCgpO1xuICB9XG59XG5cbmN1c3RvbUVsZW1lbnRzLmRlZmluZShcIm15LWNvbXBvbmVudFwiLCBNeUNvbXBvbmVudEVsZW1lbnQpO1xuIiwiaW1wb3J0IHsgdXNlU3RhdGUsIGNyZWF0ZUVsZW1lbnQsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgcmVtb3RlQXBpLCBldmVudEJ1cywgdXNlRHluYW1pY0NzcyB9IGZyb20gXCIuLi9saWJzXCI7XG5pbXBvcnQgTXlDb21wb25lbnQgZnJvbSBcIi4vb3BzL015Q29tcG9uZW50XCI7XG5pbXBvcnQgXCIuL29wcy9teS1jb21wb25lbnQuZGlyZWN0aXZlXCI7XG5cbmV2ZW50QnVzLnN1YnNjcmliZSh7XG4gIHRvcGljOiBcInNlbGVjdGlvbkNoYW5nZWRcIixcbiAgaGFuZGxlcjogKHBheWxvYWQpID0+IHtcbiAgICBjb25zb2xlLmxvZyhgW3BhZ2VdIFJlY2VpdmVkIHBhcmVudFNlbGVjdGlvbkNoYW5nZWQ6YCwgcGF5bG9hZCk7XG4gIH0sXG59KTtcblxucmVtb3RlQXBpLnJlZ2lzdGVyKHtcbiAgdG9waWM6IFwiYXBwLWxldmVsLWFwaVwiLFxuICBoYW5kbGVyOiBhc3luYyAocGF5bG9hZDogeyBtZXNzYWdlOiBzdHJpbmcgfSkgPT4ge1xuICAgIHJldHVybiB7IHJlc3BvbnNlOiBgYXBwLWxldmVsLWFwaTogJHtwYXlsb2FkLm1lc3NhZ2V9YCB9O1xuICB9LFxufSk7XG5cbmNvbnN0IE9wc1NhbXBsZVBhZ2UgPSAoKSA9PiB7XG4gIHVzZUR5bmFtaWNDc3MoXCIuL09wc1NhbXBsZVBhZ2UuY3NzXCIsIFwiZHluYW1pYy1jc3NcIik7XG5cbiAgY29uc3QgW2lmcmFtZUNvbXBBcGlDb250ZW50LCBzZXRJZnJhbWVDb21wQXBpQ29udGVudF0gPSB1c2VTdGF0ZShcbiAgICBcIkNhbGwgY29tcG9uZW50LWxldmVsLWFwaSBpbiBpZnJhbWUgY29tcG9uZW50XCJcbiAgKTtcbiAgY29uc3QgW3dlYkNvbXBBcGlDb250ZW50LCBzZXRXZWJDb21wQXBpQ29udGVudF0gPSB1c2VTdGF0ZShcbiAgICBcIkNhbGwgY29tcG9uZW50LWxldmVsLWFwaSBpbiB3ZWIgY29tcG9uZW50XCJcbiAgKTtcbiAgY29uc3QgW25hdGl2ZUNvbXBBcGlDb250ZW50LCBzZXROYXRpdmVDb21wQXBpQ29udGVudF0gPSB1c2VTdGF0ZShcbiAgICBcIkNhbGwgY29tcG9uZW50LWxldmVsLWFwaSBpbiBuYXRpdmUgY29tcG9uZW50XCJcbiAgKTtcbiAgY29uc3QgW3BvcHVwQ29tcEFwaUNvbnRlbnQsIHNldFBvcHVwQ29tcEFwaUNvbnRlbnRdID0gdXNlU3RhdGUoXG4gICAgXCJDYWxsIGNvbXBvbmVudC1sZXZlbC1hcGkgaW4gcG9wdXAgY29tcG9uZW50XCJcbiAgKTtcbiAgY29uc3QgcG9wdXBXaW5kb3dSZWYgPSB1c2VSZWY8V2luZG93IHwgbnVsbD4obnVsbCk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGJ1dHRvblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIG1hcmdpbkJvdHRvbTogXCIxMHB4XCIsXG4gICAgICAgIH19XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAvLyBUT0RPOiBuZWVkIGEgZnJhbWV3b3JrIHRvIHRyYWNrIHBvcCB1cCB3aW5kb3dcbiAgICAgICAgICBjb25zdCBwb3B1cFdpbmRvdyA9IHdpbmRvdy5vcGVuKFxuICAgICAgICAgICAgXCIvIy9vcHNfcG9wdXBcIixcbiAgICAgICAgICAgIFwicG9wdXBXaW5kb3dcIixcbiAgICAgICAgICAgIFwid2lkdGg9NjAwLGhlaWdodD02MDAscmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyxzdGF0dXM9bm8sdG9vbGJhcj1ubyxsb2NhdGlvbj1ubyxtZW51YmFyPW5vXCJcbiAgICAgICAgICApO1xuICAgICAgICAgIHBvcHVwV2luZG93UmVmLmN1cnJlbnQgPSBwb3B1cFdpbmRvdztcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgT3BlbiBhIHBvcHVwIHdpbmRvd1xuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgbWFyZ2luQm90dG9tOiBcIjEwcHhcIixcbiAgICAgICAgfX1cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIHJlbW90ZUFwaVxuICAgICAgICAgICAgLmNhbGxBcGkoXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0b3BpYzogXCJjb21wb25lbnQtbGV2ZWwtYXBpXCIsXG4gICAgICAgICAgICAgICAgY2hhbm5lbDogXCJteS1jb21wb25lbnQtaWZyYW1lLWNvbXBvbmVudC1zYW1wbGVcIixcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiB7IG1lc3NhZ2U6IFwiSGVsbG8sIHdvcmxkIVwiIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImlmcmFtZS1zYW1wbGVcIikgYXMgSFRNTElGcmFtZUVsZW1lbnQpXG4gICAgICAgICAgICAgICAgPy5jb250ZW50V2luZG93XG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgc2V0SWZyYW1lQ29tcEFwaUNvbnRlbnQoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHNldElmcmFtZUNvbXBBcGlDb250ZW50KEpTT04uc3RyaW5naWZ5KGVycm9yKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2lmcmFtZUNvbXBBcGlDb250ZW50fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgbWFyZ2luQm90dG9tOiBcIjEwcHhcIixcbiAgICAgICAgfX1cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIHJlbW90ZUFwaVxuICAgICAgICAgICAgLmNhbGxBcGkoe1xuICAgICAgICAgICAgICB0b3BpYzogXCJjb21wb25lbnQtbGV2ZWwtYXBpXCIsXG4gICAgICAgICAgICAgIGNoYW5uZWw6IFwibXktY29tcG9uZW50LXdlYi1jb21wb25lbnQtc2FtcGxlXCIsXG4gICAgICAgICAgICAgIHBheWxvYWQ6IHsgbWVzc2FnZTogXCJIZWxsbywgd29ybGQhXCIgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgc2V0V2ViQ29tcEFwaUNvbnRlbnQoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHNldFdlYkNvbXBBcGlDb250ZW50KEpTT04uc3RyaW5naWZ5KGVycm9yKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge3dlYkNvbXBBcGlDb250ZW50fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgbWFyZ2luQm90dG9tOiBcIjEwcHhcIixcbiAgICAgICAgfX1cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIHJlbW90ZUFwaVxuICAgICAgICAgICAgLmNhbGxBcGkoe1xuICAgICAgICAgICAgICB0b3BpYzogXCJjb21wb25lbnQtbGV2ZWwtYXBpXCIsXG4gICAgICAgICAgICAgIGNoYW5uZWw6IFwibXktY29tcG9uZW50LW5hdGl2ZS1jb21wb25lbnQtc2FtcGxlXCIsXG4gICAgICAgICAgICAgIHBheWxvYWQ6IHsgbWVzc2FnZTogXCJIZWxsbywgd29ybGQhXCIgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgc2V0TmF0aXZlQ29tcEFwaUNvbnRlbnQoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHNldE5hdGl2ZUNvbXBBcGlDb250ZW50KEpTT04uc3RyaW5naWZ5KGVycm9yKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge25hdGl2ZUNvbXBBcGlDb250ZW50fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgbWFyZ2luQm90dG9tOiBcIjEwcHhcIixcbiAgICAgICAgfX1cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIHJlbW90ZUFwaVxuICAgICAgICAgICAgLmNhbGxBcGkoXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0b3BpYzogXCJjb21wb25lbnQtbGV2ZWwtYXBpXCIsXG4gICAgICAgICAgICAgICAgY2hhbm5lbDogXCJteS1jb21wb25lbnQtcG9wdXAtY29tcG9uZW50LXNhbXBsZVwiLFxuICAgICAgICAgICAgICAgIHBheWxvYWQ6IHsgbWVzc2FnZTogXCJIZWxsbywgd29ybGQhXCIgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcG9wdXBXaW5kb3dSZWYuY3VycmVudFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgIHNldFBvcHVwQ29tcEFwaUNvbnRlbnQoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHNldFBvcHVwQ29tcEFwaUNvbnRlbnQoSlNPTi5zdHJpbmdpZnkoZXJyb3IpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7cG9wdXBDb21wQXBpQ29udGVudH1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIG1hcmdpbkJvdHRvbTogXCIxMDBweFwiLFxuICAgICAgICB9fVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgZXZlbnRCdXMucHVibGlzaChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdG9waWM6IFwicGFyZW50U2VsZWN0aW9uQ2hhbmdlZFwiLFxuICAgICAgICAgICAgICBjaGFubmVsOiBcIm15LWNvbXBvbmVudC1pZnJhbWUtY29tcG9uZW50LXNhbXBsZVwiLFxuICAgICAgICAgICAgICBwYXlsb2FkOiB7IGNvbXBvbmVudDogXCJwYWdlXCIsIHVpZDogXCJ1aWQyXCIgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJpZnJhbWUtc2FtcGxlXCIpIGFzIEhUTUxJRnJhbWVFbGVtZW50KVxuICAgICAgICAgICAgICA/LmNvbnRlbnRXaW5kb3dcbiAgICAgICAgICApO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICBQdWJsaXNoIHBhcmVudFNlbGVjdGlvbkNoYW5nZWQgZXZlbnQgdG8gaWZyYW1lIGNvbXBvbmVudFxuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8aWZyYW1lXG4gICAgICAgICAgICBpZD1cImlmcmFtZS1zYW1wbGVcIlxuICAgICAgICAgICAgc3JjPVwiLi8jL29wc19pZnJhbWVcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgICBoZWlnaHQ6IFwiaW5oZXJpdFwiLFxuICAgICAgICAgICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgICAgICAgICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtjcmVhdGVFbGVtZW50KFwibXktY29tcG9uZW50XCIsIHsgaWQ6IFwid2ViLWNvbXBvbmVudC1zYW1wbGVcIiB9KX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBpZD1cIm5hdGl2ZS1jb21wb25lbnQtc2FtcGxlXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxNeUNvbXBvbmVudCBpZD1cIm5hdGl2ZS1jb21wb25lbnQtc2FtcGxlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE9wc1NhbXBsZVBhZ2U7XG4iXSwibmFtZXMiOlsiTXlDb21wb25lbnRFbGVtZW50IiwiX19wdWJsaWNGaWVsZCIsImNyZWF0ZVJvb3QiLCJSZWFjdCIsIk15Q29tcG9uZW50IiwiZXZlbnRCdXMuc3Vic2NyaWJlIiwicGF5bG9hZCIsInJlbW90ZUFwaS5yZWdpc3RlciIsIk9wc1NhbXBsZVBhZ2UiLCJ1c2VEeW5hbWljQ3NzIiwiaWZyYW1lQ29tcEFwaUNvbnRlbnQiLCJzZXRJZnJhbWVDb21wQXBpQ29udGVudCIsInVzZVN0YXRlIiwid2ViQ29tcEFwaUNvbnRlbnQiLCJzZXRXZWJDb21wQXBpQ29udGVudCIsIm5hdGl2ZUNvbXBBcGlDb250ZW50Iiwic2V0TmF0aXZlQ29tcEFwaUNvbnRlbnQiLCJwb3B1cENvbXBBcGlDb250ZW50Iiwic2V0UG9wdXBDb21wQXBpQ29udGVudCIsInBvcHVwV2luZG93UmVmIiwidXNlUmVmIiwianN4cyIsIkZyYWdtZW50IiwianN4IiwicG9wdXBXaW5kb3ciLCJyZW1vdGVBcGkuY2FsbEFwaSIsIl9hIiwicmVzcG9uc2UiLCJlcnJvciIsImV2ZW50QnVzLnB1Ymxpc2giLCJjcmVhdGVFbGVtZW50Il0sIm1hcHBpbmdzIjoiMlFBS0EsTUFBTUEsVUFBMkIsV0FBWSxDQUczQyxhQUFjLENBQ04sUUFIQUMsRUFBQSxjQUlELEtBQUEsTUFBUUMsRUFBVyxJQUFJLENBQzlCLENBRUEsbUJBQW9CLENBQ2IsS0FBQSxNQUFNLE9BQU9DLEVBQU0sY0FBY0MsRUFBYSxDQUFFLEdBQUksS0FBSyxFQUFHLENBQUMsQ0FBQyxDQUNyRSxDQUVBLHNCQUF1QixDQUNyQixLQUFLLE1BQU0sU0FDYixDQUNGLENBRUEsZUFBZSxPQUFPLGVBQWdCSixDQUFrQixFQ2pCeERLLEVBQW1CLENBQ2pCLE1BQU8sbUJBQ1AsUUFBVUMsR0FBWSxDQUNaLFFBQUEsSUFBSSwwQ0FBMkNBLENBQU8sQ0FDaEUsQ0FDRixDQUFDLEVBRURDLEVBQW1CLENBQ2pCLE1BQU8sZ0JBQ1AsUUFBUyxNQUFPRCxJQUNQLENBQUUsU0FB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 diff --git a/docs/assets/PortalStateSamplePage-BHgICu4v.js b/docs/assets/PortalStateSamplePage-BHgICu4v.js new file mode 100644 index 0000000..18eb299 --- /dev/null +++ b/docs/assets/PortalStateSamplePage-BHgICu4v.js @@ -0,0 +1,2 @@ +import{r as o,j as e,e as i}from"./index-D6OZ-D7n.js";function c(){const[t,n]=o.useState(!1);return e.jsxs("div",{children:[e.jsx("h1",{children:"React Portal State Preservation"}),e.jsxs("button",{onClick:()=>n(!t),children:["Move Portal to ",t?"First":"Second"," Container"]}),e.jsx("div",{id:"first-container",style:{border:"1px solid black",padding:"10px"},children:e.jsx("p",{children:"First Container"})}),e.jsx("div",{id:"second-container",style:{border:"1px solid red",padding:"10px"},children:e.jsx("p",{children:"Second Container"})}),e.jsx(s,{parentElemId:t?"second-container":"first-container"})]})}function s({parentElemId:t}){const[n,r]=o.useState(0);return document.getElementById(t)&&i.createPortal(e.jsxs("div",{children:[e.jsxs("p",{children:["Portal Component Count: ",n]}),e.jsx("button",{onClick:()=>r(n+1),children:"Increment"})]}),document.getElementById(t))}export{c as default}; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9ydGFsU3RhdGVTYW1wbGVQYWdlLUJIZ0lDdTR2LmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFnZXMvUG9ydGFsU3RhdGVTYW1wbGVQYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuXG5mdW5jdGlvbiBQb3J0YWxTdGF0ZVNhbXBsZVBhZ2UoKSB7XG4gIGNvbnN0IFt0b1NlY0NvbnRhaW5lciwgc2V0VG9TZWNDb250YWluZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxoMT5SZWFjdCBQb3J0YWwgU3RhdGUgUHJlc2VydmF0aW9uPC9oMT5cbiAgICAgICA8YnV0dG9uIG9uQ2xpY2s9eygpID0+IHNldFRvU2VjQ29udGFpbmVyKCF0b1NlY0NvbnRhaW5lcil9PlxuICAgICAgICBNb3ZlIFBvcnRhbCB0byB7dG9TZWNDb250YWluZXIgPyAnRmlyc3QnIDogJ1NlY29uZCd9IENvbnRhaW5lclxuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2IGlkPVwiZmlyc3QtY29udGFpbmVyXCIgc3R5bGU9e3sgYm9yZGVyOiAnMXB4IHNvbGlkIGJsYWNrJywgcGFkZGluZzogJzEwcHgnIH19PlxuICAgICAgICA8cD5GaXJzdCBDb250YWluZXI8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJzZWNvbmQtY29udGFpbmVyXCIgc3R5bGU9e3sgYm9yZGVyOiAnMXB4IHNvbGlkIHJlZCcsIHBhZGRpbmc6ICcxMHB4JyB9fT5cbiAgICAgICAgPHA+U2Vjb25kIENvbnRhaW5lcjwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPFBvcnRhbENvbXBvbmVudCBwYXJlbnRFbGVtSWQ9eyB0b1NlY0NvbnRhaW5lciA/ICdzZWNvbmQtY29udGFpbmVyJyA6ICdmaXJzdC1jb250YWluZXInfSAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBQYXJlbnQoKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgPGgyPlBhcmVudCBDb21wb25lbnQ8L2gyPlxuXG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFBvcnRhbENvbXBvbmVudCh7cGFyZW50RWxlbUlkfToge3BhcmVudEVsZW1JZDogc3RyaW5nfSkge1xuICBjb25zdCBbY291bnQsIHNldENvdW50XSA9IHVzZVN0YXRlKDApO1xuXG4gIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwYXJlbnRFbGVtSWQpICYmIFJlYWN0RE9NLmNyZWF0ZVBvcnRhbChcbiAgICA8ZGl2PlxuICAgICAgPHA+UG9ydGFsIENvbXBvbmVudCBDb3VudDoge2NvdW50fTwvcD5cbiAgICAgIDxidXR0b24gb25DbGljaz17KCkgPT4gc2V0Q291bnQoY291bnQgKyAxKX0+SW5jcmVtZW50PC9idXR0b24+XG4gICAgPC9kaXY+LFxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHBhcmVudEVsZW1JZCkgYXMgSFRNTEVsZW1lbnRcbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUG9ydGFsU3RhdGVTYW1wbGVQYWdlO1xuIl0sIm5hbWVzIjpbIlBvcnRhbFN0YXRlU2FtcGxlUGFnZSIsInRvU2VjQ29udGFpbmVyIiwic2V0VG9TZWNDb250YWluZXIiLCJ1c2VTdGF0ZSIsImpzeCIsIlBvcnRhbENvbXBvbmVudCIsInBhcmVudEVsZW1JZCIsImNvdW50Iiwic2V0Q291bnQiLCJSZWFjdERPTSIsImpzeHMiXSwibWFwcGluZ3MiOiJzREFHQSxTQUFTQSxHQUF3QixDQUMvQixLQUFNLENBQUNDLEVBQWdCQyxDQUFpQixFQUFJQyxXQUFTLEVBQUssRUFFMUQsY0FDRyxNQUNDLENBQUEsU0FBQSxDQUFBQyxFQUFBQSxJQUFDLE1BQUcsU0FBK0IsaUNBQUEsQ0FBQSxTQUNqQyxTQUFPLENBQUEsUUFBUyxJQUFNRixFQUFrQixDQUFDRCxDQUFjLEVBQUcsU0FBQSxDQUFBLGtCQUMxQ0EsRUFBaUIsUUFBVSxTQUFTLFlBQUEsRUFDdEQsRUFDQ0csRUFBQSxJQUFBLE1BQUEsQ0FBSSxHQUFHLGtCQUFrQixNQUFPLENBQUUsT0FBUSxrQkFBbUIsUUFBUyxNQUFPLEVBQzVFLFNBQUNBLE1BQUEsSUFBQSxDQUFFLDBCQUFlLENBQUEsRUFDcEIsRUFDQ0EsRUFBQSxJQUFBLE1BQUEsQ0FBSSxHQUFHLG1CQUFtQixNQUFPLENBQUUsT0FBUSxnQkFBaUIsUUFBUyxNQUFPLEVBQzNFLFNBQUNBLE1BQUEsSUFBQSxDQUFFLDJCQUFnQixDQUFBLEVBQ3JCLEVBQ0NBLEVBQUEsSUFBQUMsRUFBQSxDQUFnQixhQUFlSixFQUFpQixtQkFBcUIsa0JBQW1CLENBQzNGLENBQUEsQ0FBQSxDQUVKLENBWUEsU0FBU0ksRUFBZ0IsQ0FBQyxhQUFBQyxHQUF1QyxDQUMvRCxLQUFNLENBQUNDLEVBQU9DLENBQVEsRUFBSUwsV0FBUyxDQUFDLEVBRXBDLE9BQU8sU0FBUyxlQUFlRyxDQUFZLEdBQUtHLEVBQVMsb0JBQ3RELE1BQ0MsQ0FBQSxTQUFBLENBQUFDLE9BQUMsSUFBRSxDQUFBLFNBQUEsQ0FBQSwyQkFBeUJILENBQUEsRUFBTSxFQUNsQ0gsTUFBQyxVQUFPLFFBQVMsSUFBTUksRUFBU0QsRUFBUSxDQUFDLEVBQUcsU0FBUyxZQUFBLENBQUEsRUFDdkQsRUFDQSxTQUFTLGVBQWVELENBQVksQ0FBQSxDQUV4QyJ9 diff --git a/docs/assets/ReportSamplePage-BYuwIIGt.js b/docs/assets/ReportSamplePage-DAT0tHjY.js similarity index 98% rename from docs/assets/ReportSamplePage-BYuwIIGt.js rename to docs/assets/ReportSamplePage-DAT0tHjY.js index 36bd3f5..0798a1a 100644 --- a/docs/assets/ReportSamplePage-BYuwIIGt.js +++ b/docs/assets/ReportSamplePage-DAT0tHjY.js @@ -1,2 +1,2 @@ -import{j as t}from"./index-BXTQYCCW.js";const a={text:"Not SaaS ready",status:"error",categories:[{text:"Version",status:"pass",items:[{text:"Version is correct",status:"pass"}]},{text:"Capability",status:"error",items:[{text:"OOTB Capability is correct",status:"pass"},{text:"CAD View is not supported",status:"error"}]},{text:"Integration",status:"warn",items:[{text:"SSO",status:"pass"},{text:"Export / Import",status:"warn"}]}]},e=s=>s==="pass"?"green":s==="warn"?"orange":"red",n=({reportData:s})=>t.jsxs("div",{children:[t.jsx("h2",{children:"Impact Analysis"}),t.jsx("div",{style:{backgroundColor:"lightgray",padding:"10px",marginBottom:"10px",marginTop:"10px"},children:"DASHBOARD"}),t.jsxs("div",{style:{display:"flex",flexDirection:"row"},children:[t.jsx("div",{children:"Overall status:"}),t.jsx("div",{style:{color:e(s.status),marginLeft:"10px"},children:s.status}),t.jsx("div",{style:{color:e(s.status),marginLeft:"10px"},children:s.text})]}),t.jsx("div",{style:{display:"flex",flexDirection:"row",width:"100%"},children:s.categories.map(r=>t.jsxs("div",{style:{margin:"10px",border:"1px solid black",width:"100%"},children:[t.jsx("div",{style:{backgroundColor:e(r.status),color:"white",padding:"10px"},children:r.text}),t.jsx("div",{style:{padding:"10px"},children:r.items.map(i=>t.jsxs("div",{style:{padding:"10px",flexDirection:"row"},children:[t.jsx("span",{children:i.text}),t.jsx("span",{style:{float:"right",color:e(i.status)},children:i.status})]}))})]}))})]}),o=()=>t.jsxs("div",{children:[t.jsx("h1",{children:"Column Report Sample"}),t.jsx(n,{reportData:a})]});export{o as default}; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3J0U2FtcGxlUGFnZS1CWXV3SUlHdC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhZ2VzL1JlcG9ydFNhbXBsZVBhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBJdGVtRGF0YSB7XG4gIHRleHQ6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBHcm91cERhdGEgZXh0ZW5kcyBJdGVtRGF0YSB7XG4gIGl0ZW1zOiBJdGVtRGF0YVtdO1xufVxuXG5pbnRlcmZhY2UgUmVwb3J0RGF0YSBleHRlbmRzIEl0ZW1EYXRhIHtcbiAgY2F0ZWdvcmllczogR3JvdXBEYXRhW107XG59XG5cbmNvbnN0IFNBTVBMRV9EQVRBOiBSZXBvcnREYXRhID0ge1xuICB0ZXh0OiBcIk5vdCBTYWFTIHJlYWR5XCIsXG4gIHN0YXR1czogXCJlcnJvclwiLFxuICBjYXRlZ29yaWVzOiBbXG4gICAge1xuICAgICAgdGV4dDogXCJWZXJzaW9uXCIsXG4gICAgICBzdGF0dXM6IFwicGFzc1wiLFxuICAgICAgaXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IFwiVmVyc2lvbiBpcyBjb3JyZWN0XCIsXG4gICAgICAgICAgc3RhdHVzOiBcInBhc3NcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0ZXh0OiBcIkNhcGFiaWxpdHlcIixcbiAgICAgIHN0YXR1czogXCJlcnJvclwiLFxuICAgICAgaXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IFwiT09UQiBDYXBhYmlsaXR5IGlzIGNvcnJlY3RcIixcbiAgICAgICAgICBzdGF0dXM6IFwicGFzc1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogXCJDQUQgVmlldyBpcyBub3Qgc3VwcG9ydGVkXCIsXG4gICAgICAgICAgc3RhdHVzOiBcImVycm9yXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdGV4dDogXCJJbnRlZ3JhdGlvblwiLFxuICAgICAgc3RhdHVzOiBcIndhcm5cIixcbiAgICAgIGl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiBcIlNTT1wiLFxuICAgICAgICAgIHN0YXR1czogXCJwYXNzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiBcIkV4cG9ydCAvIEltcG9ydFwiLFxuICAgICAgICAgIHN0YXR1czogXCJ3YXJuXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59O1xuXG5jb25zdCBnZXRDb2xvckJ5U3RhdHVzID0gKHN0YXR1czogc3RyaW5nKSA9PiB7XG4gIHJldHVybiBzdGF0dXMgPT09IFwicGFzc1wiID8gXCJncmVlblwiIDogc3RhdHVzID09PSBcIndhcm5cIiA/IFwib3JhbmdlXCIgOiBcInJlZFwiO1xufTtcblxuY29uc3QgQ29sdW1uUmVwb3J0RGFzaGJvYXJkID0gKHsgcmVwb3J0RGF0YSB9OiB7IHJlcG9ydERhdGE6IFJlcG9ydERhdGEgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICA8aDI+SW1wYWN0IEFuYWx5c2lzPC9oMj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwibGlnaHRncmF5XCIsXG4gICAgICAgICAgcGFkZGluZzogXCIxMHB4XCIsXG4gICAgICAgICAgbWFyZ2luQm90dG9tOiBcIjEwcHhcIixcbiAgICAgICAgICBtYXJnaW5Ub3A6IFwiMTBweFwiLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICBEQVNIQk9BUkRcbiAgICAgIDwvZGl2PlxuICAgICAgey8qIE92ZXJhbGwgU3RhdHVzICovfVxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXY+T3ZlcmFsbCBzdGF0dXM6PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY29sb3I6IGdldENvbG9yQnlTdGF0dXMocmVwb3J0RGF0YS5zdGF0dXMpLFxuICAgICAgICAgICAgbWFyZ2luTGVmdDogXCIxMHB4XCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtyZXBvcnREYXRhLnN0YXR1c31cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY29sb3I6IGdldENvbG9yQnlTdGF0dXMocmVwb3J0RGF0YS5zdGF0dXMpLFxuICAgICAgICAgICAgbWFyZ2luTGVmdDogXCIxMHB4XCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtyZXBvcnREYXRhLnRleHR9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7LyogQ2FyZHMgKi99XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtyZXBvcnREYXRhLmNhdGVnb3JpZXMubWFwKChjYXRlZ29yeTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBtYXJnaW46IFwiMTBweFwiLFxuICAgICAgICAgICAgICAgIGJvcmRlcjogXCIxcHggc29saWQgYmxhY2tcIixcbiAgICAgICAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsvKiBDYXJkIFRpdGxlICovfVxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogZ2V0Q29sb3JCeVN0YXR1cyhjYXRlZ29yeS5zdGF0dXMpLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IFwid2hpdGVcIixcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IFwiMTBweFwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnkudGV4dH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIHsvKiBDYXJkIENvbnRlbnQgKi99XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogXCIxMHB4XCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtjYXRlZ29yeS5pdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBcIjEwcHhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLnRleHR9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogXCJyaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZ2V0Q29sb3JCeVN0YXR1cyhpdGVtLnN0YXR1cyksXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpdGVtLnN0YXR1c31cbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApO1xuICAgICAgICB9KX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgQ29sdW1uUmVwb3J0U2FtcGxlUGFnZSA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgPGgxPkNvbHVtbiBSZXBvcnQgU2FtcGxlPC9oMT5cbiAgICAgIDxDb2x1bW5SZXBvcnREYXNoYm9hcmQgcmVwb3J0RGF0YT17U0FNUExFX0RBVEF9IC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb2x1bW5SZXBvcnRTYW1wbGVQYWdlO1xuIl0sIm5hbWVzIjpbIlNBTVBMRV9EQVRBIiwiZ2V0Q29sb3JCeVN0YXR1cyIsInN0YXR1cyIsIkNvbHVtblJlcG9ydERhc2hib2FyZCIsInJlcG9ydERhdGEiLCJqc3giLCJqc3hzIiwiY2F0ZWdvcnkiLCJpdGVtIiwiQ29sdW1uUmVwb3J0U2FtcGxlUGFnZSJdLCJtYXBwaW5ncyI6IndDQWFBLE1BQU1BLEVBQTBCLENBQzlCLEtBQU0saUJBQ04sT0FBUSxRQUNSLFdBQVksQ0FDVixDQUNFLEtBQU0sVUFDTixPQUFRLE9BQ1IsTUFBTyxDQUNMLENBQ0UsS0FBTSxxQkFDTixPQUFRLE1BQ1YsQ0FDRixDQUNGLEVB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 +import{j as t}from"./index-D6OZ-D7n.js";const a={text:"Not SaaS ready",status:"error",categories:[{text:"Version",status:"pass",items:[{text:"Version is correct",status:"pass"}]},{text:"Capability",status:"error",items:[{text:"OOTB Capability is correct",status:"pass"},{text:"CAD View is not supported",status:"error"}]},{text:"Integration",status:"warn",items:[{text:"SSO",status:"pass"},{text:"Export / Import",status:"warn"}]}]},e=s=>s==="pass"?"green":s==="warn"?"orange":"red",n=({reportData:s})=>t.jsxs("div",{children:[t.jsx("h2",{children:"Impact Analysis"}),t.jsx("div",{style:{backgroundColor:"lightgray",padding:"10px",marginBottom:"10px",marginTop:"10px"},children:"DASHBOARD"}),t.jsxs("div",{style:{display:"flex",flexDirection:"row"},children:[t.jsx("div",{children:"Overall status:"}),t.jsx("div",{style:{color:e(s.status),marginLeft:"10px"},children:s.status}),t.jsx("div",{style:{color:e(s.status),marginLeft:"10px"},children:s.text})]}),t.jsx("div",{style:{display:"flex",flexDirection:"row",width:"100%"},children:s.categories.map(r=>t.jsxs("div",{style:{margin:"10px",border:"1px solid black",width:"100%"},children:[t.jsx("div",{style:{backgroundColor:e(r.status),color:"white",padding:"10px"},children:r.text}),t.jsx("div",{style:{padding:"10px"},children:r.items.map(i=>t.jsxs("div",{style:{padding:"10px",flexDirection:"row"},children:[t.jsx("span",{children:i.text}),t.jsx("span",{style:{float:"right",color:e(i.status)},children:i.status})]}))})]}))})]}),o=()=>t.jsxs("div",{children:[t.jsx("h1",{children:"Column Report Sample"}),t.jsx(n,{reportData:a})]});export{o as default}; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3J0U2FtcGxlUGFnZS1EQVQwdEhqWS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhZ2VzL1JlcG9ydFNhbXBsZVBhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBJdGVtRGF0YSB7XG4gIHRleHQ6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBHcm91cERhdGEgZXh0ZW5kcyBJdGVtRGF0YSB7XG4gIGl0ZW1zOiBJdGVtRGF0YVtdO1xufVxuXG5pbnRlcmZhY2UgUmVwb3J0RGF0YSBleHRlbmRzIEl0ZW1EYXRhIHtcbiAgY2F0ZWdvcmllczogR3JvdXBEYXRhW107XG59XG5cbmNvbnN0IFNBTVBMRV9EQVRBOiBSZXBvcnREYXRhID0ge1xuICB0ZXh0OiBcIk5vdCBTYWFTIHJlYWR5XCIsXG4gIHN0YXR1czogXCJlcnJvclwiLFxuICBjYXRlZ29yaWVzOiBbXG4gICAge1xuICAgICAgdGV4dDogXCJWZXJzaW9uXCIsXG4gICAgICBzdGF0dXM6IFwicGFzc1wiLFxuICAgICAgaXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IFwiVmVyc2lvbiBpcyBjb3JyZWN0XCIsXG4gICAgICAgICAgc3RhdHVzOiBcInBhc3NcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0ZXh0OiBcIkNhcGFiaWxpdHlcIixcbiAgICAgIHN0YXR1czogXCJlcnJvclwiLFxuICAgICAgaXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IFwiT09UQiBDYXBhYmlsaXR5IGlzIGNvcnJlY3RcIixcbiAgICAgICAgICBzdGF0dXM6IFwicGFzc1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogXCJDQUQgVmlldyBpcyBub3Qgc3VwcG9ydGVkXCIsXG4gICAgICAgICAgc3RhdHVzOiBcImVycm9yXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdGV4dDogXCJJbnRlZ3JhdGlvblwiLFxuICAgICAgc3RhdHVzOiBcIndhcm5cIixcbiAgICAgIGl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiBcIlNTT1wiLFxuICAgICAgICAgIHN0YXR1czogXCJwYXNzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiBcIkV4cG9ydCAvIEltcG9ydFwiLFxuICAgICAgICAgIHN0YXR1czogXCJ3YXJuXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59O1xuXG5jb25zdCBnZXRDb2xvckJ5U3RhdHVzID0gKHN0YXR1czogc3RyaW5nKSA9PiB7XG4gIHJldHVybiBzdGF0dXMgPT09IFwicGFzc1wiID8gXCJncmVlblwiIDogc3RhdHVzID09PSBcIndhcm5cIiA/IFwib3JhbmdlXCIgOiBcInJlZFwiO1xufTtcblxuY29uc3QgQ29sdW1uUmVwb3J0RGFzaGJvYXJkID0gKHsgcmVwb3J0RGF0YSB9OiB7IHJlcG9ydERhdGE6IFJlcG9ydERhdGEgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICA8aDI+SW1wYWN0IEFuYWx5c2lzPC9oMj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwibGlnaHRncmF5XCIsXG4gICAgICAgICAgcGFkZGluZzogXCIxMHB4XCIsXG4gICAgICAgICAgbWFyZ2luQm90dG9tOiBcIjEwcHhcIixcbiAgICAgICAgICBtYXJnaW5Ub3A6IFwiMTBweFwiLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICBEQVNIQk9BUkRcbiAgICAgIDwvZGl2PlxuICAgICAgey8qIE92ZXJhbGwgU3RhdHVzICovfVxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXY+T3ZlcmFsbCBzdGF0dXM6PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY29sb3I6IGdldENvbG9yQnlTdGF0dXMocmVwb3J0RGF0YS5zdGF0dXMpLFxuICAgICAgICAgICAgbWFyZ2luTGVmdDogXCIxMHB4XCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtyZXBvcnREYXRhLnN0YXR1c31cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY29sb3I6IGdldENvbG9yQnlTdGF0dXMocmVwb3J0RGF0YS5zdGF0dXMpLFxuICAgICAgICAgICAgbWFyZ2luTGVmdDogXCIxMHB4XCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtyZXBvcnREYXRhLnRleHR9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7LyogQ2FyZHMgKi99XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtyZXBvcnREYXRhLmNhdGVnb3JpZXMubWFwKChjYXRlZ29yeTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBtYXJnaW46IFwiMTBweFwiLFxuICAgICAgICAgICAgICAgIGJvcmRlcjogXCIxcHggc29saWQgYmxhY2tcIixcbiAgICAgICAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsvKiBDYXJkIFRpdGxlICovfVxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogZ2V0Q29sb3JCeVN0YXR1cyhjYXRlZ29yeS5zdGF0dXMpLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IFwid2hpdGVcIixcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IFwiMTBweFwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnkudGV4dH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIHsvKiBDYXJkIENvbnRlbnQgKi99XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogXCIxMHB4XCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtjYXRlZ29yeS5pdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBcIjEwcHhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLnRleHR9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogXCJyaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZ2V0Q29sb3JCeVN0YXR1cyhpdGVtLnN0YXR1cyksXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpdGVtLnN0YXR1c31cbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApO1xuICAgICAgICB9KX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgQ29sdW1uUmVwb3J0U2FtcGxlUGFnZSA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgPGgxPkNvbHVtbiBSZXBvcnQgU2FtcGxlPC9oMT5cbiAgICAgIDxDb2x1bW5SZXBvcnREYXNoYm9hcmQgcmVwb3J0RGF0YT17U0FNUExFX0RBVEF9IC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb2x1bW5SZXBvcnRTYW1wbGVQYWdlO1xuIl0sIm5hbWVzIjpbIlNBTVBMRV9EQVRBIiwiZ2V0Q29sb3JCeVN0YXR1cyIsInN0YXR1cyIsIkNvbHVtblJlcG9ydERhc2hib2FyZCIsInJlcG9ydERhdGEiLCJqc3giLCJqc3hzIiwiY2F0ZWdvcnkiLCJpdGVtIiwiQ29sdW1uUmVwb3J0U2FtcGxlUGFnZSJdLCJtYXBwaW5ncyI6IndDQWFBLE1BQU1BLEVBQTBCLENBQzlCLEtBQU0saUJBQ04sT0FBUSxRQUNSLFdBQVksQ0FDVixDQUNFLEtBQU0sVUFDTixPQUFRLE9BQ1IsTUFBTyxDQUNMLENBQ0UsS0FBTSxxQkFDTixPQUFRLE1BQ1YsQ0FDRixDQUNGLEVB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 diff --git a/docs/assets/index-BXTQYCCW.js b/docs/assets/index-D6OZ-D7n.js similarity index 57% rename from docs/assets/index-BXTQYCCW.js rename to docs/assets/index-D6OZ-D7n.js index de2369b..9533553 100644 --- a/docs/assets/index-BXTQYCCW.js +++ b/docs/assets/index-D6OZ-D7n.js @@ -1,4 +1,4 @@ -(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const o of l)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function t(l){const o={};return l.integrity&&(o.integrity=l.integrity),l.referrerPolicy&&(o.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?o.credentials="include":l.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(l){if(l.ep)return;l.ep=!0;const o=t(l);fetch(l.href,o)}})();function fc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Zu={exports:{}},tl={},Ju={exports:{}},L={};/** +(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const o of l)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function t(l){const o={};return l.integrity&&(o.integrity=l.integrity),l.referrerPolicy&&(o.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?o.credentials="include":l.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(l){if(l.ep)return;l.ep=!0;const o=t(l);fetch(l.href,o)}})();function Zu(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ju={exports:{}},tl={},qu={exports:{}},L={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Gt=Symbol.for("react.element"),dc=Symbol.for("react.portal"),pc=Symbol.for("react.fragment"),mc=Symbol.for("react.strict_mode"),hc=Symbol.for("react.profiler"),vc=Symbol.for("react.provider"),yc=Symbol.for("react.context"),gc=Symbol.for("react.forward_ref"),wc=Symbol.for("react.suspense"),Sc=Symbol.for("react.memo"),kc=Symbol.for("react.lazy"),$i=Symbol.iterator;function Ec(e){return e===null||typeof e!="object"?null:(e=$i&&e[$i]||e["@@iterator"],typeof e=="function"?e:null)}var qu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},bu=Object.assign,es={};function ot(e,n,t){this.props=e,this.context=n,this.refs=es,this.updater=t||qu}ot.prototype.isReactComponent={};ot.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")};ot.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function ns(){}ns.prototype=ot.prototype;function Wo(e,n,t){this.props=e,this.context=n,this.refs=es,this.updater=t||qu}var Qo=Wo.prototype=new ns;Qo.constructor=Wo;bu(Qo,ot.prototype);Qo.isPureReactComponent=!0;var Ai=Array.isArray,ts=Object.prototype.hasOwnProperty,Ko={current:null},rs={key:!0,ref:!0,__self:!0,__source:!0};function ls(e,n,t){var r,l={},o=null,i=null;if(n!=null)for(r in n.ref!==void 0&&(i=n.ref),n.key!==void 0&&(o=""+n.key),n)ts.call(n,r)&&!rs.hasOwnProperty(r)&&(l[r]=n[r]);var u=arguments.length-2;if(u===1)l.children=t;else if(1>>1,G=_[W];if(0>>1;Wl(El,z))gnl(nr,El)?(_[W]=nr,_[gn]=z,W=gn):(_[W]=El,_[yn]=z,W=yn);else if(gnl(nr,z))_[W]=nr,_[gn]=z,W=gn;else break e}}return N}function l(_,N){var z=_.sortIndex-N.sortIndex;return z!==0?z:_.id-N.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var i=Date,u=i.now();e.unstable_now=function(){return i.now()-u}}var s=[],c=[],h=1,m=null,p=3,g=!1,w=!1,S=!1,j=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(_){for(var N=t(c);N!==null;){if(N.callback===null)r(c);else if(N.startTime<=_)r(c),N.sortIndex=N.expirationTime,n(s,N);else break;N=t(c)}}function v(_){if(S=!1,d(_),!w)if(t(s)!==null)w=!0,Sl(E);else{var N=t(c);N!==null&&kl(v,N.startTime-_)}}function E(_,N){w=!1,S&&(S=!1,f(P),P=-1),g=!0;var z=p;try{for(d(N),m=t(s);m!==null&&(!(m.expirationTime>N)||_&&!Ne());){var W=m.callback;if(typeof W=="function"){m.callback=null,p=m.priorityLevel;var G=W(m.expirationTime<=N);N=e.unstable_now(),typeof G=="function"?m.callback=G:m===t(s)&&r(s),d(N)}else r(s);m=t(s)}if(m!==null)var er=!0;else{var yn=t(c);yn!==null&&kl(v,yn.startTime-N),er=!1}return er}finally{m=null,p=z,g=!1}}var C=!1,x=null,P=-1,H=5,T=-1;function Ne(){return!(e.unstable_now()-T_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):H=0<_?Math.floor(1e3/_):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_getFirstCallbackNode=function(){return t(s)},e.unstable_next=function(_){switch(p){case 1:case 2:case 3:var N=3;break;default:N=p}var z=p;p=N;try{return _()}finally{p=z}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(_,N){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var z=p;p=_;try{return N()}finally{p=z}},e.unstable_scheduleCallback=function(_,N,z){var W=e.unstable_now();switch(typeof z=="object"&&z!==null?(z=z.delay,z=typeof z=="number"&&0W?(_.sortIndex=z,n(c,_),t(s)===null&&_===t(c)&&(S?(f(P),P=-1):S=!0,kl(v,z-W))):(_.sortIndex=G,n(s,_),w||g||(w=!0,Sl(E))),_},e.unstable_shouldYield=Ne,e.unstable_wrapCallback=function(_){var N=p;return function(){var z=p;p=N;try{return _.apply(this,arguments)}finally{p=z}}}})(as);ss.exports=as;var Ic=ss.exports;/** + */(function(e){function n(_,N){var z=_.length;_.push(N);e:for(;0>>1,Z=_[W];if(0>>1;Wl(El,z))gnl(tr,El)?(_[W]=tr,_[gn]=z,W=gn):(_[W]=El,_[yn]=z,W=yn);else if(gnl(tr,z))_[W]=tr,_[gn]=z,W=gn;else break e}}return N}function l(_,N){var z=_.sortIndex-N.sortIndex;return z!==0?z:_.id-N.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var i=Date,u=i.now();e.unstable_now=function(){return i.now()-u}}var s=[],c=[],h=1,m=null,p=3,g=!1,w=!1,S=!1,j=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(_){for(var N=t(c);N!==null;){if(N.callback===null)r(c);else if(N.startTime<=_)r(c),N.sortIndex=N.expirationTime,n(s,N);else break;N=t(c)}}function v(_){if(S=!1,d(_),!w)if(t(s)!==null)w=!0,Sl(E);else{var N=t(c);N!==null&&kl(v,N.startTime-_)}}function E(_,N){w=!1,S&&(S=!1,f(P),P=-1),g=!0;var z=p;try{for(d(N),m=t(s);m!==null&&(!(m.expirationTime>N)||_&&!Ne());){var W=m.callback;if(typeof W=="function"){m.callback=null,p=m.priorityLevel;var Z=W(m.expirationTime<=N);N=e.unstable_now(),typeof Z=="function"?m.callback=Z:m===t(s)&&r(s),d(N)}else r(s);m=t(s)}if(m!==null)var nr=!0;else{var yn=t(c);yn!==null&&kl(v,yn.startTime-N),nr=!1}return nr}finally{m=null,p=z,g=!1}}var C=!1,x=null,P=-1,H=5,T=-1;function Ne(){return!(e.unstable_now()-T_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):H=0<_?Math.floor(1e3/_):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_getFirstCallbackNode=function(){return t(s)},e.unstable_next=function(_){switch(p){case 1:case 2:case 3:var N=3;break;default:N=p}var z=p;p=N;try{return _()}finally{p=z}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(_,N){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var z=p;p=_;try{return N()}finally{p=z}},e.unstable_scheduleCallback=function(_,N,z){var W=e.unstable_now();switch(typeof z=="object"&&z!==null?(z=z.delay,z=typeof z=="number"&&0W?(_.sortIndex=z,n(c,_),t(s)===null&&_===t(c)&&(S?(f(P),P=-1):S=!0,kl(v,z-W))):(_.sortIndex=Z,n(s,_),w||g||(w=!0,Sl(E))),_},e.unstable_shouldYield=Ne,e.unstable_wrapCallback=function(_){var N=p;return function(){var z=p;p=N;try{return _.apply(this,arguments)}finally{p=z}}}})(cs);as.exports=cs;var Dc=as.exports;/** * @license React * react-dom.production.min.js * @@ -30,14 +30,14 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Dc=b,ge=Ic;function y(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Jl=Object.prototype.hasOwnProperty,jc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Bi={},Hi={};function Fc(e){return Jl.call(Hi,e)?!0:Jl.call(Bi,e)?!1:jc.test(e)?Hi[e]=!0:(Bi[e]=!0,!1)}function Uc(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function $c(e,n,t,r){if(n===null||typeof n>"u"||Uc(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function ae(e,n,t,r,l,o,i){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=o,this.removeEmptyString=i}var ne={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ne[e]=new ae(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];ne[n]=new ae(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ne[e]=new ae(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ne[e]=new ae(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ne[e]=new ae(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ne[e]=new ae(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ne[e]=new ae(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ne[e]=new ae(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ne[e]=new ae(e,5,!1,e.toLowerCase(),null,!1,!1)});var Xo=/[\-:]([a-z])/g;function Go(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(Xo,Go);ne[n]=new ae(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Xo,Go);ne[n]=new ae(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Xo,Go);ne[n]=new ae(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ne[e]=new ae(e,1,!1,e.toLowerCase(),null,!1,!1)});ne.xlinkHref=new ae("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ne[e]=new ae(e,1,!1,e.toLowerCase(),null,!0,!0)});function Zo(e,n,t,r){var l=ne.hasOwnProperty(n)?ne[n]:null;(l!==null?l.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Jl=Object.prototype.hasOwnProperty,Fc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Bi={},Hi={};function Uc(e){return Jl.call(Hi,e)?!0:Jl.call(Bi,e)?!1:Fc.test(e)?Hi[e]=!0:(Bi[e]=!0,!1)}function $c(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Ac(e,n,t,r){if(n===null||typeof n>"u"||$c(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function ae(e,n,t,r,l,o,i){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=o,this.removeEmptyString=i}var ne={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ne[e]=new ae(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];ne[n]=new ae(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ne[e]=new ae(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ne[e]=new ae(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ne[e]=new ae(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ne[e]=new ae(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ne[e]=new ae(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ne[e]=new ae(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ne[e]=new ae(e,5,!1,e.toLowerCase(),null,!1,!1)});var Xo=/[\-:]([a-z])/g;function Go(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(Xo,Go);ne[n]=new ae(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Xo,Go);ne[n]=new ae(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Xo,Go);ne[n]=new ae(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ne[e]=new ae(e,1,!1,e.toLowerCase(),null,!1,!1)});ne.xlinkHref=new ae("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ne[e]=new ae(e,1,!1,e.toLowerCase(),null,!0,!0)});function Zo(e,n,t,r){var l=ne.hasOwnProperty(n)?ne[n]:null;(l!==null?l.type!==0:r||!(2u||l[i]!==o[u]){var s=` -`+l[i].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=i&&0<=u);break}}}finally{xl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?gt(e):""}function Ac(e){switch(e.tag){case 5:return gt(e.type);case 16:return gt("Lazy");case 13:return gt("Suspense");case 19:return gt("SuspenseList");case 0:case 2:case 15:return e=Pl(e.type,!1),e;case 11:return e=Pl(e.type.render,!1),e;case 1:return e=Pl(e.type,!0),e;default:return""}}function no(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Dn:return"Fragment";case In:return"Portal";case ql:return"Profiler";case Jo:return"StrictMode";case bl:return"Suspense";case eo:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ds:return(e.displayName||"Context")+".Consumer";case fs:return(e._context.displayName||"Context")+".Provider";case qo:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case bo:return n=e.displayName||null,n!==null?n:no(e.type)||"Memo";case Je:n=e._payload,e=e._init;try{return no(e(n))}catch{}}return null}function Vc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return no(n);case 8:return n===Jo?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function dn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ms(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Bc(e){var n=ms(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,o=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(i){r=""+i,o.call(this,i)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function lr(e){e._valueTracker||(e._valueTracker=Bc(e))}function hs(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=ms(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Or(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function to(e,n){var t=n.checked;return V({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function Qi(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=dn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function vs(e,n){n=n.checked,n!=null&&Zo(e,"checked",n,!1)}function ro(e,n){vs(e,n);var t=dn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?lo(e,n.type,t):n.hasOwnProperty("defaultValue")&&lo(e,n.type,dn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Ki(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function lo(e,n,t){(n!=="number"||Or(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var wt=Array.isArray;function Kn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=or.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Mt(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var Et={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Hc=["Webkit","ms","Moz","O"];Object.keys(Et).forEach(function(e){Hc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Et[n]=Et[e]})});function Ss(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||Et.hasOwnProperty(e)&&Et[e]?(""+n).trim():n+"px"}function ks(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=Ss(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Wc=V({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function uo(e,n){if(n){if(Wc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function so(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ao=null;function ei(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var co=null,Yn=null,Xn=null;function Gi(e){if(e=qt(e)){if(typeof co!="function")throw Error(y(280));var n=e.stateNode;n&&(n=ul(n),co(e.stateNode,e.type,n))}}function Es(e){Yn?Xn?Xn.push(e):Xn=[e]:Yn=e}function _s(){if(Yn){var e=Yn,n=Xn;if(Xn=Yn=null,Gi(e),n)for(e=0;e>>=0,e===0?32:31-(nf(e)/tf|0)|0}var ir=64,ur=4194304;function St(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function jr(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,o=e.pingedLanes,i=t&268435455;if(i!==0){var u=i&~l;u!==0?r=St(u):(o&=i,o!==0&&(r=St(o)))}else i=t&~l,i!==0?r=St(i):o!==0&&(r=St(o));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,o=n&-n,l>=o||l===16&&(o&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Zt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Oe(n),e[n]=t}function uf(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ct),lu=" ",ou=!1;function Hs(e,n){switch(e){case"keyup":return Df.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ws(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function Ff(e,n){switch(e){case"compositionend":return Ws(n);case"keypress":return n.which!==32?null:(ou=!0,lu);case"textInput":return e=n.data,e===lu&&ou?null:e;default:return null}}function Uf(e,n){if(jn)return e==="compositionend"||!si&&Hs(e,n)?(e=Vs(),_r=oi=nn=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=au(t)}}function Xs(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Xs(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Gs(){for(var e=window,n=Or();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Or(e.document)}return n}function ai(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Yf(e){var n=Gs(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&Xs(t.ownerDocument.documentElement,t)){if(r!==null&&ai(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,o=Math.min(r.start,l);r=r.end===void 0?o:Math.min(r.end,l),!e.extend&&o>r&&(l=r,r=o,o=l),l=cu(t,o);var i=cu(t,r);l&&i&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),o>r?(e.addRange(n),e.extend(i.node,i.offset)):(n.setEnd(i.node,i.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Fn=null,yo=null,Pt=null,go=!1;function fu(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;go||Fn==null||Fn!==Or(r)||(r=Fn,"selectionStart"in r&&ai(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Pt&&$t(Pt,r)||(Pt=r,r=$r(yo,"onSelect"),0An||(e.current=Co[An],Co[An]=null,An--)}function M(e,n){An++,Co[An]=e.current,e.current=n}var pn={},oe=hn(pn),de=hn(!1),Pn=pn;function bn(e,n){var t=e.type.contextTypes;if(!t)return pn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},o;for(o in t)l[o]=n[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function pe(e){return e=e.childContextTypes,e!=null}function Vr(){D(de),D(oe)}function gu(e,n,t){if(oe.current!==pn)throw Error(y(168));M(oe,n),M(de,t)}function la(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Vc(e)||"Unknown",l));return V({},t,r)}function Br(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pn,Pn=oe.current,M(oe,e),M(de,de.current),!0}function wu(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=la(e,n,Pn),r.__reactInternalMemoizedMergedChildContext=e,D(de),D(oe),M(oe,e)):D(de),M(de,t)}var Ve=null,sl=!1,Al=!1;function oa(e){Ve===null?Ve=[e]:Ve.push(e)}function od(e){sl=!0,oa(e)}function vn(){if(!Al&&Ve!==null){Al=!0;var e=0,n=O;try{var t=Ve;for(O=1;e>=i,l-=i,Be=1<<32-Oe(n)+l|t<P?(H=x,x=null):H=x.sibling;var T=p(f,x,d[P],v);if(T===null){x===null&&(x=H);break}e&&x&&T.alternate===null&&n(f,x),a=o(T,a,P),C===null?E=T:C.sibling=T,C=T,x=H}if(P===d.length)return t(f,x),F&&wn(f,P),E;if(x===null){for(;PP?(H=x,x=null):H=x.sibling;var Ne=p(f,x,T.value,v);if(Ne===null){x===null&&(x=H);break}e&&x&&Ne.alternate===null&&n(f,x),a=o(Ne,a,P),C===null?E=Ne:C.sibling=Ne,C=Ne,x=H}if(T.done)return t(f,x),F&&wn(f,P),E;if(x===null){for(;!T.done;P++,T=d.next())T=m(f,T.value,v),T!==null&&(a=o(T,a,P),C===null?E=T:C.sibling=T,C=T);return F&&wn(f,P),E}for(x=r(f,x);!T.done;P++,T=d.next())T=g(x,f,P,T.value,v),T!==null&&(e&&T.alternate!==null&&x.delete(T.key===null?P:T.key),a=o(T,a,P),C===null?E=T:C.sibling=T,C=T);return e&&x.forEach(function(st){return n(f,st)}),F&&wn(f,P),E}function j(f,a,d,v){if(typeof d=="object"&&d!==null&&d.type===Dn&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case rr:e:{for(var E=d.key,C=a;C!==null;){if(C.key===E){if(E=d.type,E===Dn){if(C.tag===7){t(f,C.sibling),a=l(C,d.props.children),a.return=f,f=a;break e}}else if(C.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Je&&Eu(E)===C.type){t(f,C.sibling),a=l(C,d.props),a.ref=ht(f,C,d),a.return=f,f=a;break e}t(f,C);break}else n(f,C);C=C.sibling}d.type===Dn?(a=xn(d.props.children,f.mode,v,d.key),a.return=f,f=a):(v=Rr(d.type,d.key,d.props,null,f.mode,v),v.ref=ht(f,a,d),v.return=f,f=v)}return i(f);case In:e:{for(C=d.key;a!==null;){if(a.key===C)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){t(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{t(f,a);break}else n(f,a);a=a.sibling}a=Xl(d,f.mode,v),a.return=f,f=a}return i(f);case Je:return C=d._init,j(f,a,C(d._payload),v)}if(wt(d))return w(f,a,d,v);if(ct(d))return S(f,a,d,v);mr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(t(f,a.sibling),a=l(a,d),a.return=f,f=a):(t(f,a),a=Yl(d,f.mode,v),a.return=f,f=a),i(f)):t(f,a)}return j}var nt=aa(!0),ca=aa(!1),Qr=hn(null),Kr=null,Hn=null,pi=null;function mi(){pi=Hn=Kr=null}function hi(e){var n=Qr.current;D(Qr),e._currentValue=n}function No(e,n,t){for(;e!==null;){var r=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,r!==null&&(r.childLanes|=n)):r!==null&&(r.childLanes&n)!==n&&(r.childLanes|=n),e===t)break;e=e.return}}function Zn(e,n){Kr=e,pi=Hn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&n&&(fe=!0),e.firstContext=null)}function xe(e){var n=e._currentValue;if(pi!==e)if(e={context:e,memoizedValue:n,next:null},Hn===null){if(Kr===null)throw Error(y(308));Hn=e,Kr.dependencies={lanes:0,firstContext:e}}else Hn=Hn.next=e;return n}var En=null;function vi(e){En===null?En=[e]:En.push(e)}function fa(e,n,t,r){var l=n.interleaved;return l===null?(t.next=t,vi(n)):(t.next=l.next,l.next=t),n.interleaved=t,Ye(e,r)}function Ye(e,n){e.lanes|=n;var t=e.alternate;for(t!==null&&(t.lanes|=n),t=e,e=e.return;e!==null;)e.childLanes|=n,t=e.alternate,t!==null&&(t.childLanes|=n),t=e,e=e.return;return t.tag===3?t.stateNode:null}var qe=!1;function yi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function da(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function We(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function sn(e,n,t){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,R&2){var l=r.pending;return l===null?n.next=n:(n.next=l.next,l.next=n),r.pending=n,Ye(e,t)}return l=r.interleaved,l===null?(n.next=n,vi(r)):(n.next=l.next,l.next=n),r.interleaved=n,Ye(e,t)}function xr(e,n,t){if(n=n.updateQueue,n!==null&&(n=n.shared,(t&4194240)!==0)){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,ti(e,t)}}function _u(e,n){var t=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,t===r)){var l=null,o=null;if(t=t.firstBaseUpdate,t!==null){do{var i={eventTime:t.eventTime,lane:t.lane,tag:t.tag,payload:t.payload,callback:t.callback,next:null};o===null?l=o=i:o=o.next=i,t=t.next}while(t!==null);o===null?l=o=n:o=o.next=n}else l=o=n;t={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:o,shared:r.shared,effects:r.effects},e.updateQueue=t;return}e=t.lastBaseUpdate,e===null?t.firstBaseUpdate=n:e.next=n,t.lastBaseUpdate=n}function Yr(e,n,t,r){var l=e.updateQueue;qe=!1;var o=l.firstBaseUpdate,i=l.lastBaseUpdate,u=l.shared.pending;if(u!==null){l.shared.pending=null;var s=u,c=s.next;s.next=null,i===null?o=c:i.next=c,i=s;var h=e.alternate;h!==null&&(h=h.updateQueue,u=h.lastBaseUpdate,u!==i&&(u===null?h.firstBaseUpdate=c:u.next=c,h.lastBaseUpdate=s))}if(o!==null){var m=l.baseState;i=0,h=c=s=null,u=o;do{var p=u.lane,g=u.eventTime;if((r&p)===p){h!==null&&(h=h.next={eventTime:g,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var w=e,S=u;switch(p=n,g=t,S.tag){case 1:if(w=S.payload,typeof w=="function"){m=w.call(g,m,p);break e}m=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=S.payload,p=typeof w=="function"?w.call(g,m,p):w,p==null)break e;m=V({},m,p);break e;case 2:qe=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,p=l.effects,p===null?l.effects=[u]:p.push(u))}else g={eventTime:g,lane:p,tag:u.tag,payload:u.payload,callback:u.callback,next:null},h===null?(c=h=g,s=m):h=h.next=g,i|=p;if(u=u.next,u===null){if(u=l.shared.pending,u===null)break;p=u,u=p.next,p.next=null,l.lastBaseUpdate=p,l.shared.pending=null}}while(!0);if(h===null&&(s=m),l.baseState=s,l.firstBaseUpdate=c,l.lastBaseUpdate=h,n=l.shared.interleaved,n!==null){l=n;do i|=l.lane,l=l.next;while(l!==n)}else o===null&&(l.shared.lanes=0);Ln|=i,e.lanes=i,e.memoizedState=m}}function Cu(e,n,t){if(e=n.effects,n.effects=null,e!==null)for(n=0;nt?t:4,e(!0);var r=Bl.transition;Bl.transition={};try{e(!1),n()}finally{O=t,Bl.transition=r}}function La(){return Pe().memoizedState}function ad(e,n,t){var r=cn(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},Ta(e))Ra(n,t);else if(t=fa(e,n,t,r),t!==null){var l=ue();Me(t,e,r,l),Oa(t,n,r)}}function cd(e,n,t){var r=cn(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(Ta(e))Ra(n,l);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=n.lastRenderedReducer,o!==null))try{var i=n.lastRenderedState,u=o(i,t);if(l.hasEagerState=!0,l.eagerState=u,Ie(u,i)){var s=n.interleaved;s===null?(l.next=l,vi(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=fa(e,n,l,r),t!==null&&(l=ue(),Me(t,e,r,l),Oa(t,n,r))}}function Ta(e){var n=e.alternate;return e===A||n!==null&&n===A}function Ra(e,n){Nt=Gr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Oa(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,ti(e,t)}}var Zr={readContext:xe,useCallback:te,useContext:te,useEffect:te,useImperativeHandle:te,useInsertionEffect:te,useLayoutEffect:te,useMemo:te,useReducer:te,useRef:te,useState:te,useDebugValue:te,useDeferredValue:te,useTransition:te,useMutableSource:te,useSyncExternalStore:te,useId:te,unstable_isNewReconciler:!1},fd={readContext:xe,useCallback:function(e,n){return je().memoizedState=[e,n===void 0?null:n],e},useContext:xe,useEffect:Pu,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,Nr(4194308,4,Ca.bind(null,n,e),t)},useLayoutEffect:function(e,n){return Nr(4194308,4,e,n)},useInsertionEffect:function(e,n){return Nr(4,2,e,n)},useMemo:function(e,n){var t=je();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=je();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=ad.bind(null,A,e),[r.memoizedState,e]},useRef:function(e){var n=je();return e={current:e},n.memoizedState=e},useState:xu,useDebugValue:xi,useDeferredValue:function(e){return je().memoizedState=e},useTransition:function(){var e=xu(!1),n=e[0];return e=sd.bind(null,e[1]),je().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=A,l=je();if(F){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),J===null)throw Error(y(349));zn&30||va(r,n,t)}l.memoizedState=t;var o={value:t,getSnapshot:n};return l.queue=o,Pu(ga.bind(null,r,o,e),[e]),r.flags|=2048,Yt(9,ya.bind(null,r,o,t,n),void 0,null),t},useId:function(){var e=je(),n=J.identifierPrefix;if(F){var t=He,r=Be;t=(r&~(1<<32-Oe(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Qt++,0")&&(s=s.replace("",e.displayName)),s}while(1<=i&&0<=u);break}}}finally{xl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?wt(e):""}function Vc(e){switch(e.tag){case 5:return wt(e.type);case 16:return wt("Lazy");case 13:return wt("Suspense");case 19:return wt("SuspenseList");case 0:case 2:case 15:return e=Pl(e.type,!1),e;case 11:return e=Pl(e.type.render,!1),e;case 1:return e=Pl(e.type,!0),e;default:return""}}function no(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case jn:return"Fragment";case Dn:return"Portal";case ql:return"Profiler";case Jo:return"StrictMode";case bl:return"Suspense";case eo:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ps:return(e.displayName||"Context")+".Consumer";case ds:return(e._context.displayName||"Context")+".Provider";case qo:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case bo:return n=e.displayName||null,n!==null?n:no(e.type)||"Memo";case Je:n=e._payload,e=e._init;try{return no(e(n))}catch{}}return null}function Bc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return no(n);case 8:return n===Jo?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function dn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function hs(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Hc(e){var n=hs(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,o=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(i){r=""+i,o.call(this,i)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function or(e){e._valueTracker||(e._valueTracker=Hc(e))}function vs(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=hs(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Or(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function to(e,n){var t=n.checked;return V({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function Qi(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=dn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function ys(e,n){n=n.checked,n!=null&&Zo(e,"checked",n,!1)}function ro(e,n){ys(e,n);var t=dn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?lo(e,n.type,t):n.hasOwnProperty("defaultValue")&&lo(e,n.type,dn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Ki(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function lo(e,n,t){(n!=="number"||Or(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var St=Array.isArray;function Yn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=ir.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function It(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var _t={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Wc=["Webkit","ms","Moz","O"];Object.keys(_t).forEach(function(e){Wc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),_t[n]=_t[e]})});function ks(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||_t.hasOwnProperty(e)&&_t[e]?(""+n).trim():n+"px"}function Es(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=ks(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Qc=V({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function uo(e,n){if(n){if(Qc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function so(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ao=null;function ei(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var co=null,Xn=null,Gn=null;function Gi(e){if(e=bt(e)){if(typeof co!="function")throw Error(y(280));var n=e.stateNode;n&&(n=ul(n),co(e.stateNode,e.type,n))}}function _s(e){Xn?Gn?Gn.push(e):Gn=[e]:Xn=e}function Cs(){if(Xn){var e=Xn,n=Gn;if(Gn=Xn=null,Gi(e),n)for(e=0;e>>=0,e===0?32:31-(tf(e)/rf|0)|0}var ur=64,sr=4194304;function kt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function jr(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,o=e.pingedLanes,i=t&268435455;if(i!==0){var u=i&~l;u!==0?r=kt(u):(o&=i,o!==0&&(r=kt(o)))}else i=t&~l,i!==0?r=kt(i):o!==0&&(r=kt(o));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,o=n&-n,l>=o||l===16&&(o&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Jt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Oe(n),e[n]=t}function sf(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=xt),lu=" ",ou=!1;function Ws(e,n){switch(e){case"keyup":return jf.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Qs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Fn=!1;function Uf(e,n){switch(e){case"compositionend":return Qs(n);case"keypress":return n.which!==32?null:(ou=!0,lu);case"textInput":return e=n.data,e===lu&&ou?null:e;default:return null}}function $f(e,n){if(Fn)return e==="compositionend"||!si&&Ws(e,n)?(e=Bs(),_r=oi=nn=null,Fn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=au(t)}}function Gs(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Gs(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Zs(){for(var e=window,n=Or();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Or(e.document)}return n}function ai(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Xf(e){var n=Zs(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&Gs(t.ownerDocument.documentElement,t)){if(r!==null&&ai(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,o=Math.min(r.start,l);r=r.end===void 0?o:Math.min(r.end,l),!e.extend&&o>r&&(l=r,r=o,o=l),l=cu(t,o);var i=cu(t,r);l&&i&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),o>r?(e.addRange(n),e.extend(i.node,i.offset)):(n.setEnd(i.node,i.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Un=null,yo=null,Nt=null,go=!1;function fu(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;go||Un==null||Un!==Or(r)||(r=Un,"selectionStart"in r&&ai(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Nt&&At(Nt,r)||(Nt=r,r=$r(yo,"onSelect"),0Vn||(e.current=Co[Vn],Co[Vn]=null,Vn--)}function M(e,n){Vn++,Co[Vn]=e.current,e.current=n}var pn={},oe=hn(pn),de=hn(!1),Pn=pn;function et(e,n){var t=e.type.contextTypes;if(!t)return pn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},o;for(o in t)l[o]=n[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function pe(e){return e=e.childContextTypes,e!=null}function Vr(){D(de),D(oe)}function gu(e,n,t){if(oe.current!==pn)throw Error(y(168));M(oe,n),M(de,t)}function oa(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Bc(e)||"Unknown",l));return V({},t,r)}function Br(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pn,Pn=oe.current,M(oe,e),M(de,de.current),!0}function wu(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=oa(e,n,Pn),r.__reactInternalMemoizedMergedChildContext=e,D(de),D(oe),M(oe,e)):D(de),M(de,t)}var Ve=null,sl=!1,Al=!1;function ia(e){Ve===null?Ve=[e]:Ve.push(e)}function id(e){sl=!0,ia(e)}function vn(){if(!Al&&Ve!==null){Al=!0;var e=0,n=O;try{var t=Ve;for(O=1;e>=i,l-=i,Be=1<<32-Oe(n)+l|t<P?(H=x,x=null):H=x.sibling;var T=p(f,x,d[P],v);if(T===null){x===null&&(x=H);break}e&&x&&T.alternate===null&&n(f,x),a=o(T,a,P),C===null?E=T:C.sibling=T,C=T,x=H}if(P===d.length)return t(f,x),F&&wn(f,P),E;if(x===null){for(;PP?(H=x,x=null):H=x.sibling;var Ne=p(f,x,T.value,v);if(Ne===null){x===null&&(x=H);break}e&&x&&Ne.alternate===null&&n(f,x),a=o(Ne,a,P),C===null?E=Ne:C.sibling=Ne,C=Ne,x=H}if(T.done)return t(f,x),F&&wn(f,P),E;if(x===null){for(;!T.done;P++,T=d.next())T=m(f,T.value,v),T!==null&&(a=o(T,a,P),C===null?E=T:C.sibling=T,C=T);return F&&wn(f,P),E}for(x=r(f,x);!T.done;P++,T=d.next())T=g(x,f,P,T.value,v),T!==null&&(e&&T.alternate!==null&&x.delete(T.key===null?P:T.key),a=o(T,a,P),C===null?E=T:C.sibling=T,C=T);return e&&x.forEach(function(at){return n(f,at)}),F&&wn(f,P),E}function j(f,a,d,v){if(typeof d=="object"&&d!==null&&d.type===jn&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case lr:e:{for(var E=d.key,C=a;C!==null;){if(C.key===E){if(E=d.type,E===jn){if(C.tag===7){t(f,C.sibling),a=l(C,d.props.children),a.return=f,f=a;break e}}else if(C.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Je&&Eu(E)===C.type){t(f,C.sibling),a=l(C,d.props),a.ref=vt(f,C,d),a.return=f,f=a;break e}t(f,C);break}else n(f,C);C=C.sibling}d.type===jn?(a=xn(d.props.children,f.mode,v,d.key),a.return=f,f=a):(v=Rr(d.type,d.key,d.props,null,f.mode,v),v.ref=vt(f,a,d),v.return=f,f=v)}return i(f);case Dn:e:{for(C=d.key;a!==null;){if(a.key===C)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){t(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{t(f,a);break}else n(f,a);a=a.sibling}a=Xl(d,f.mode,v),a.return=f,f=a}return i(f);case Je:return C=d._init,j(f,a,C(d._payload),v)}if(St(d))return w(f,a,d,v);if(ft(d))return S(f,a,d,v);hr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(t(f,a.sibling),a=l(a,d),a.return=f,f=a):(t(f,a),a=Yl(d,f.mode,v),a.return=f,f=a),i(f)):t(f,a)}return j}var tt=ca(!0),fa=ca(!1),Qr=hn(null),Kr=null,Wn=null,pi=null;function mi(){pi=Wn=Kr=null}function hi(e){var n=Qr.current;D(Qr),e._currentValue=n}function No(e,n,t){for(;e!==null;){var r=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,r!==null&&(r.childLanes|=n)):r!==null&&(r.childLanes&n)!==n&&(r.childLanes|=n),e===t)break;e=e.return}}function Jn(e,n){Kr=e,pi=Wn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&n&&(fe=!0),e.firstContext=null)}function xe(e){var n=e._currentValue;if(pi!==e)if(e={context:e,memoizedValue:n,next:null},Wn===null){if(Kr===null)throw Error(y(308));Wn=e,Kr.dependencies={lanes:0,firstContext:e}}else Wn=Wn.next=e;return n}var En=null;function vi(e){En===null?En=[e]:En.push(e)}function da(e,n,t,r){var l=n.interleaved;return l===null?(t.next=t,vi(n)):(t.next=l.next,l.next=t),n.interleaved=t,Ye(e,r)}function Ye(e,n){e.lanes|=n;var t=e.alternate;for(t!==null&&(t.lanes|=n),t=e,e=e.return;e!==null;)e.childLanes|=n,t=e.alternate,t!==null&&(t.childLanes|=n),t=e,e=e.return;return t.tag===3?t.stateNode:null}var qe=!1;function yi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function pa(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function We(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function sn(e,n,t){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,R&2){var l=r.pending;return l===null?n.next=n:(n.next=l.next,l.next=n),r.pending=n,Ye(e,t)}return l=r.interleaved,l===null?(n.next=n,vi(r)):(n.next=l.next,l.next=n),r.interleaved=n,Ye(e,t)}function xr(e,n,t){if(n=n.updateQueue,n!==null&&(n=n.shared,(t&4194240)!==0)){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,ti(e,t)}}function _u(e,n){var t=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,t===r)){var l=null,o=null;if(t=t.firstBaseUpdate,t!==null){do{var i={eventTime:t.eventTime,lane:t.lane,tag:t.tag,payload:t.payload,callback:t.callback,next:null};o===null?l=o=i:o=o.next=i,t=t.next}while(t!==null);o===null?l=o=n:o=o.next=n}else l=o=n;t={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:o,shared:r.shared,effects:r.effects},e.updateQueue=t;return}e=t.lastBaseUpdate,e===null?t.firstBaseUpdate=n:e.next=n,t.lastBaseUpdate=n}function Yr(e,n,t,r){var l=e.updateQueue;qe=!1;var o=l.firstBaseUpdate,i=l.lastBaseUpdate,u=l.shared.pending;if(u!==null){l.shared.pending=null;var s=u,c=s.next;s.next=null,i===null?o=c:i.next=c,i=s;var h=e.alternate;h!==null&&(h=h.updateQueue,u=h.lastBaseUpdate,u!==i&&(u===null?h.firstBaseUpdate=c:u.next=c,h.lastBaseUpdate=s))}if(o!==null){var m=l.baseState;i=0,h=c=s=null,u=o;do{var p=u.lane,g=u.eventTime;if((r&p)===p){h!==null&&(h=h.next={eventTime:g,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var w=e,S=u;switch(p=n,g=t,S.tag){case 1:if(w=S.payload,typeof w=="function"){m=w.call(g,m,p);break e}m=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=S.payload,p=typeof w=="function"?w.call(g,m,p):w,p==null)break e;m=V({},m,p);break e;case 2:qe=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,p=l.effects,p===null?l.effects=[u]:p.push(u))}else g={eventTime:g,lane:p,tag:u.tag,payload:u.payload,callback:u.callback,next:null},h===null?(c=h=g,s=m):h=h.next=g,i|=p;if(u=u.next,u===null){if(u=l.shared.pending,u===null)break;p=u,u=p.next,p.next=null,l.lastBaseUpdate=p,l.shared.pending=null}}while(!0);if(h===null&&(s=m),l.baseState=s,l.firstBaseUpdate=c,l.lastBaseUpdate=h,n=l.shared.interleaved,n!==null){l=n;do i|=l.lane,l=l.next;while(l!==n)}else o===null&&(l.shared.lanes=0);Ln|=i,e.lanes=i,e.memoizedState=m}}function Cu(e,n,t){if(e=n.effects,n.effects=null,e!==null)for(n=0;nt?t:4,e(!0);var r=Bl.transition;Bl.transition={};try{e(!1),n()}finally{O=t,Bl.transition=r}}function Ta(){return Pe().memoizedState}function cd(e,n,t){var r=cn(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},Ra(e))Oa(n,t);else if(t=da(e,n,t,r),t!==null){var l=ue();Me(t,e,r,l),Ma(t,n,r)}}function fd(e,n,t){var r=cn(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(Ra(e))Oa(n,l);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=n.lastRenderedReducer,o!==null))try{var i=n.lastRenderedState,u=o(i,t);if(l.hasEagerState=!0,l.eagerState=u,Ie(u,i)){var s=n.interleaved;s===null?(l.next=l,vi(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=da(e,n,l,r),t!==null&&(l=ue(),Me(t,e,r,l),Ma(t,n,r))}}function Ra(e){var n=e.alternate;return e===A||n!==null&&n===A}function Oa(e,n){zt=Gr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Ma(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,ti(e,t)}}var Zr={readContext:xe,useCallback:te,useContext:te,useEffect:te,useImperativeHandle:te,useInsertionEffect:te,useLayoutEffect:te,useMemo:te,useReducer:te,useRef:te,useState:te,useDebugValue:te,useDeferredValue:te,useTransition:te,useMutableSource:te,useSyncExternalStore:te,useId:te,unstable_isNewReconciler:!1},dd={readContext:xe,useCallback:function(e,n){return je().memoizedState=[e,n===void 0?null:n],e},useContext:xe,useEffect:Pu,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,Nr(4194308,4,xa.bind(null,n,e),t)},useLayoutEffect:function(e,n){return Nr(4194308,4,e,n)},useInsertionEffect:function(e,n){return Nr(4,2,e,n)},useMemo:function(e,n){var t=je();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=je();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=cd.bind(null,A,e),[r.memoizedState,e]},useRef:function(e){var n=je();return e={current:e},n.memoizedState=e},useState:xu,useDebugValue:xi,useDeferredValue:function(e){return je().memoizedState=e},useTransition:function(){var e=xu(!1),n=e[0];return e=ad.bind(null,e[1]),je().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=A,l=je();if(F){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),q===null)throw Error(y(349));zn&30||ya(r,n,t)}l.memoizedState=t;var o={value:t,getSnapshot:n};return l.queue=o,Pu(wa.bind(null,r,o,e),[e]),r.flags|=2048,Xt(9,ga.bind(null,r,o,t,n),void 0,null),t},useId:function(){var e=je(),n=q.identifierPrefix;if(F){var t=He,r=Be;t=(r&~(1<<32-Oe(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Kt++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=i.createElement(t,{is:r.is}):(e=i.createElement(t),t==="select"&&(i=e,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):e=i.createElementNS(e,t),e[Fe]=n,e[Bt]=r,Ba(e,n,!1,!1),n.stateNode=e;e:{switch(i=so(t,r),t){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;llt&&(n.flags|=128,r=!0,vt(o,!1),n.lanes=4194304)}else{if(!r)if(e=Xr(i),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),vt(o,!0),o.tail===null&&o.tailMode==="hidden"&&!i.alternate&&!F)return re(n),null}else 2*Q()-o.renderingStartTime>lt&&t!==1073741824&&(n.flags|=128,r=!0,vt(o,!1),n.lanes=4194304);o.isBackwards?(i.sibling=n.child,n.child=i):(t=o.last,t!==null?t.sibling=i:n.child=i,o.last=i)}return o.tail!==null?(n=o.tail,o.rendering=n,o.tail=n.sibling,o.renderingStartTime=Q(),n.sibling=null,t=$.current,M($,r?t&1|2:t&1),n):(re(n),null);case 22:case 23:return Ri(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?he&1073741824&&(re(n),n.subtreeFlags&6&&(n.flags|=8192)):re(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function wd(e,n){switch(fi(n),n.tag){case 1:return pe(n.type)&&Vr(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return tt(),D(de),D(oe),Si(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return wi(n),null;case 13:if(D($),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));et()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return D($),null;case 4:return tt(),null;case 10:return hi(n.type._context),null;case 22:case 23:return Ri(),null;case 24:return null;default:return null}}var vr=!1,le=!1,Sd=typeof WeakSet=="function"?WeakSet:Set,k=null;function Wn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){B(e,n,r)}else t.current=null}function jo(e,n,t){try{t()}catch(r){B(e,n,r)}}var Fu=!1;function kd(e,n){if(wo=Fr,e=Gs(),ai(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{t.nodeType,o.nodeType}catch{t=null;break e}var i=0,u=-1,s=-1,c=0,h=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(u=i+l),m!==o||r!==0&&m.nodeType!==3||(s=i+r),m.nodeType===3&&(i+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(u=i),p===o&&++h===r&&(s=i),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=u===-1||s===-1?null:{start:u,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(So={focusedElem:e,selectionRange:t},Fr=!1,k=n;k!==null;)if(n=k,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,k=e;else for(;k!==null;){n=k;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var S=w.memoizedProps,j=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?S:Le(n.type,S),j);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(v){B(n,n.return,v)}if(e=n.sibling,e!==null){e.return=n.return,k=e;break}k=n.return}return w=Fu,Fu=!1,w}function zt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var o=l.destroy;l.destroy=void 0,o!==void 0&&jo(n,t,o)}l=l.next}while(l!==r)}}function fl(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Fo(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Qa(e){var n=e.alternate;n!==null&&(e.alternate=null,Qa(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Fe],delete n[Bt],delete n[_o],delete n[rd],delete n[ld])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Ka(e){return e.tag===5||e.tag===3||e.tag===4}function Uu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ka(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Uo(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=Ar));else if(r!==4&&(e=e.child,e!==null))for(Uo(e,n,t),e=e.sibling;e!==null;)Uo(e,n,t),e=e.sibling}function $o(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for($o(e,n,t),e=e.sibling;e!==null;)$o(e,n,t),e=e.sibling}var q=null,Te=!1;function Ze(e,n,t){for(t=t.child;t!==null;)Ya(e,n,t),t=t.sibling}function Ya(e,n,t){if(Ue&&typeof Ue.onCommitFiberUnmount=="function")try{Ue.onCommitFiberUnmount(rl,t)}catch{}switch(t.tag){case 5:le||Wn(t,n);case 6:var r=q,l=Te;q=null,Ze(e,n,t),q=r,Te=l,q!==null&&(Te?(e=q,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):q.removeChild(t.stateNode));break;case 18:q!==null&&(Te?(e=q,t=t.stateNode,e.nodeType===8?$l(e.parentNode,t):e.nodeType===1&&$l(e,t),Ft(e)):$l(q,t.stateNode));break;case 4:r=q,l=Te,q=t.stateNode.containerInfo,Te=!0,Ze(e,n,t),q=r,Te=l;break;case 0:case 11:case 14:case 15:if(!le&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var o=l,i=o.destroy;o=o.tag,i!==void 0&&(o&2||o&4)&&jo(t,n,i),l=l.next}while(l!==r)}Ze(e,n,t);break;case 1:if(!le&&(Wn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(u){B(t,n,u)}Ze(e,n,t);break;case 21:Ze(e,n,t);break;case 22:t.mode&1?(le=(r=le)||t.memoizedState!==null,Ze(e,n,t),le=r):Ze(e,n,t);break;default:Ze(e,n,t)}}function $u(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new Sd),n.forEach(function(r){var l=Td.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function ze(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=i),r&=~o}if(r=l,r=Q()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*_d(r/1960))-r,10e?16:e,tn===null)var r=!1;else{if(e=tn,tn=null,br=0,R&6)throw Error(y(331));var l=R;for(R|=4,k=e.current;k!==null;){var o=k,i=o.child;if(k.flags&16){var u=o.deletions;if(u!==null){for(var s=0;sQ()-Li?Cn(e,0):zi|=t),me(e,n)}function nc(e,n){n===0&&(e.mode&1?(n=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):n=1);var t=ue();e=Ye(e,n),e!==null&&(Zt(e,n,t),me(e,t))}function Ld(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),nc(e,t)}function Td(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),nc(e,t)}var tc;tc=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||de.current)fe=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return fe=!1,yd(e,n,t);fe=!!(e.flags&131072)}else fe=!1,F&&n.flags&1048576&&ia(n,Wr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;zr(e,n),e=n.pendingProps;var l=bn(n,oe.current);Zn(n,t),l=Ei(null,n,r,e,l,t);var o=_i();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,pe(r)?(o=!0,Br(n)):o=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,yi(n),l.updater=cl,n.stateNode=l,l._reactInternals=n,Lo(n,r,e,t),n=Oo(null,n,r,!0,o,t)):(n.tag=0,F&&o&&ci(n),ie(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(zr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Od(r),e=Le(r,e),l){case 0:n=Ro(null,n,r,e,t);break e;case 1:n=Iu(null,n,r,e,t);break e;case 11:n=Ou(null,n,r,e,t);break e;case 14:n=Mu(null,n,r,Le(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Le(r,l),Ro(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Le(r,l),Iu(e,n,r,l,t);case 3:e:{if($a(n),e===null)throw Error(y(387));r=n.pendingProps,o=n.memoizedState,l=o.element,da(e,n),Yr(n,r,null,t);var i=n.memoizedState;if(r=i.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},n.updateQueue.baseState=o,n.memoizedState=o,n.flags&256){l=rt(Error(y(423)),n),n=Du(e,n,r,t,l);break e}else if(r!==l){l=rt(Error(y(424)),n),n=Du(e,n,r,t,l);break e}else for(ve=un(n.stateNode.containerInfo.firstChild),ye=n,F=!0,Re=null,t=ca(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(et(),r===l){n=Xe(e,n,t);break e}ie(e,n,r,t)}n=n.child}return n;case 5:return pa(n),e===null&&Po(n),r=n.type,l=n.pendingProps,o=e!==null?e.memoizedProps:null,i=l.children,ko(r,l)?i=null:o!==null&&ko(r,o)&&(n.flags|=32),Ua(e,n),ie(e,n,i,t),n.child;case 6:return e===null&&Po(n),null;case 13:return Aa(e,n,t);case 4:return gi(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=nt(n,null,r,t):ie(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Le(r,l),Ou(e,n,r,l,t);case 7:return ie(e,n,n.pendingProps,t),n.child;case 8:return ie(e,n,n.pendingProps.children,t),n.child;case 12:return ie(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,o=n.memoizedProps,i=l.value,M(Qr,r._currentValue),r._currentValue=i,o!==null)if(Ie(o.value,i)){if(o.children===l.children&&!de.current){n=Xe(e,n,t);break e}}else for(o=n.child,o!==null&&(o.return=n);o!==null;){var u=o.dependencies;if(u!==null){i=o.child;for(var s=u.firstContext;s!==null;){if(s.context===r){if(o.tag===1){s=We(-1,t&-t),s.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var h=c.pending;h===null?s.next=s:(s.next=h.next,h.next=s),c.pending=s}}o.lanes|=t,s=o.alternate,s!==null&&(s.lanes|=t),No(o.return,t,n),u.lanes|=t;break}s=s.next}}else if(o.tag===10)i=o.type===n.type?null:o.child;else if(o.tag===18){if(i=o.return,i===null)throw Error(y(341));i.lanes|=t,u=i.alternate,u!==null&&(u.lanes|=t),No(i,t,n),i=o.sibling}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===n){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}ie(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Zn(n,t),l=xe(l),r=r(l),n.flags|=1,ie(e,n,r,t),n.child;case 14:return r=n.type,l=Le(r,n.pendingProps),l=Le(r.type,l),Mu(e,n,r,l,t);case 15:return ja(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Le(r,l),zr(e,n),n.tag=1,pe(r)?(e=!0,Br(n)):e=!1,Zn(n,t),Ma(n,r,l),Lo(n,r,l,t),Oo(null,n,r,!0,e,t);case 19:return Va(e,n,t);case 22:return Fa(e,n,t)}throw Error(y(156,n.tag))};function rc(e,n){return Ts(e,n)}function Rd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _e(e,n,t,r){return new Rd(e,n,t,r)}function Mi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Od(e){if(typeof e=="function")return Mi(e)?1:0;if(e!=null){if(e=e.$$typeof,e===qo)return 11;if(e===bo)return 14}return 2}function fn(e,n){var t=e.alternate;return t===null?(t=_e(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function Rr(e,n,t,r,l,o){var i=2;if(r=e,typeof e=="function")Mi(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case Dn:return xn(t.children,l,o,n);case Jo:i=8,l|=8;break;case ql:return e=_e(12,t,n,l|2),e.elementType=ql,e.lanes=o,e;case bl:return e=_e(13,t,n,l),e.elementType=bl,e.lanes=o,e;case eo:return e=_e(19,t,n,l),e.elementType=eo,e.lanes=o,e;case ps:return pl(t,l,o,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case fs:i=10;break e;case ds:i=9;break e;case qo:i=11;break e;case bo:i=14;break e;case Je:i=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=_e(i,t,n,l),n.elementType=e,n.type=r,n.lanes=o,n}function xn(e,n,t,r){return e=_e(7,e,r,n),e.lanes=t,e}function pl(e,n,t,r){return e=_e(22,e,r,n),e.elementType=ps,e.lanes=t,e.stateNode={isHidden:!1},e}function Yl(e,n,t){return e=_e(6,e,null,n),e.lanes=t,e}function Xl(e,n,t){return n=_e(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Md(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zl(0),this.expirationTimes=zl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Ii(e,n,t,r,l,o,i,u,s){return e=new Md(e,n,t,u,s),n===1?(n=1,o===!0&&(n|=8)):n=0,o=_e(3,null,null,n),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},yi(o),e}function Id(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(uc)}catch(e){console.error(e)}}uc(),us.exports=we;var $d=us.exports,Ad,Yu=$d;Ad=Zl.createRoot=Yu.createRoot,Zl.hydrateRoot=Yu.hydrateRoot;const Vd="modulepreload",Bd=function(e,n){return new URL(e,n).href},Xu={},wr=function(n,t,r){let l=Promise.resolve();if(t&&t.length>0){const o=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),u=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));l=Promise.all(t.map(s=>{if(s=Bd(s,r),s in Xu)return;Xu[s]=!0;const c=s.endsWith(".css"),h=c?'[rel="stylesheet"]':"";if(!!r)for(let g=o.length-1;g>=0;g--){const w=o[g];if(w.href===s&&(!c||w.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${h}`))return;const p=document.createElement("link");if(p.rel=c?"stylesheet":Vd,c||(p.as="script",p.crossOrigin=""),p.href=s,u&&p.setAttribute("nonce",u),document.head.appendChild(p),c)return new Promise((g,w)=>{p.addEventListener("load",g),p.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${s}`)))})}))}return l.then(()=>n()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},Hd=({routes:e})=>U.jsxs(U.Fragment,{children:[U.jsx("h1",{children:"React Test Bed"}),U.jsx("ul",{children:Object.keys(e).map(n=>U.jsx("li",{children:U.jsx("a",{href:`#/${n}`,children:n})},n))})]}),sc=()=>Math.random().toString(36).substring(2,11),Wd=({topic:e,channel:n="global",payload:t},r=null)=>{const o={requestId:sc(),topic:e,channel:n,payload:t};if(r)if(r.postMessage)r.postMessage(o,"*");else throw new Error("Invalid target");else window.parent!==window?(console.log(`event iframe->parent: ${e}`),window.parent.postMessage(o,"*")):window.opener?(console.log(`event popup->parent: ${e}`),window.opener.postMessage(o,"*")):self!==window?(console.log(`event webworker->parent: ${e}`),self.postMessage(o,"*")):(console.log(`event to window: ${e}`),window.dispatchEvent(new MessageEvent("message",{data:o})));return o},ac=()=>{const e={};return{publish:Wd,subscribe:({topic:l,channel:o="global",handler:i})=>{var s;const u={subscriptionId:sc(),topic:l,channel:o,handler:i};return e[l]={...e[l],[o]:{...(s=e[l])==null?void 0:s[o],[u.subscriptionId]:u}},u},unsubscribe:l=>{var o,i;(i=(o=e[l.topic])==null?void 0:o[l.channel])==null||delete i[l.subscriptionId]},handleMessage:l=>{var s;const{payload:o,channel:i,topic:u}=l.data;return(s=e[u])!=null&&s[i]?Object.values(e[u][i]).map(({handler:c})=>Promise.resolve(c(o))):[]}}},gl=ac(),Qd=(e,n)=>gl.publish(e,n),Kd=e=>gl.subscribe(e),Yd=e=>gl.unsubscribe(e),Xd=e=>gl.handleMessage(e);window.addEventListener("message",Xd);const Rt={},wl=ac(),Gd=async(e,n=null)=>{const{requestId:t}=wl.publish({...e},n);return new Promise((r,l)=>{Rt[t]=r,setTimeout(()=>{Rt[t]&&(delete Rt[t],l(new Error("Request timed out")))},5e3)})},Zd=e=>wl.subscribe(e),Jd=e=>wl.unsubscribe(e),qd=e=>{const{requestId:n,topic:t,ack:r,payload:l}=e.data;if(n)if(r){const o=Rt[n];o&&(delete Rt[n],o(l))}else wl.handleMessage(e).forEach(i=>i.then(u=>{e.source?e.source.postMessage({requestId:n,ack:!0,payload:u}):window.dispatchEvent(new MessageEvent("message",{data:{requestId:n,topic:t,ack:!0,payload:u}}))}));return[]};window.addEventListener("message",qd);const bd=(e,n)=>{b.useEffect(()=>{const t=document.createElement("link");return t.rel="stylesheet",t.href=e,t.id=n,document.head.appendChild(t),()=>{document.head.removeChild(t)}},[e,n])},ep=""+new URL("react-CHdo91hT.svg",import.meta.url).href;function Gu({id:e}){const[n,t]=b.useState(""),[r,l]=b.useState(""),o=b.useRef(null),i=b.useRef(null);return bd("/OpsSamplePage.css","dynamic-css"),b.useEffect(()=>(o.current=Zd({topic:"component-level-api",channel:e?`my-component-${e}`:"my-component",handler:async u=>{const s={response:`component-level-api: ${u.message} from ${e}`};return l(`trigger component-level-api for ${e}`),s}}),i.current=Kd({topic:"parentSelectionChanged",channel:e?`my-component-${e}`:"my-component",handler:u=>{console.log(`[${e}] Received parentSelectionChanged:`,u)}}),()=>{o.current&&Jd(o.current),i.current&&Yd(i.current)}),[e]),U.jsxs(U.Fragment,{children:[U.jsx("div",{children:U.jsx("a",{href:"https://react.dev",target:"_blank",children:U.jsx("img",{src:ep,className:"logo react",alt:"React logo"})})}),U.jsx("h1",{children:"Panel"}),U.jsxs("div",{className:"card",children:[U.jsxs("button",{onClick:()=>{Gd({topic:"app-level-api",payload:{message:"Hello, world!"}}).then(u=>{t(JSON.stringify(u))}).catch(u=>{t(JSON.stringify(u))})},children:[" ","call app-level-api"]}),U.jsxs("button",{onClick:()=>{Qd({topic:"selectionChanged",payload:{component:e,uid:"uid1"}})},children:[" ","send selection change event"]}),U.jsx("div",{children:n}),U.jsx("div",{children:r})]})]})}const Gl={grid:b.lazy(()=>wr(()=>import("./GridSamplePage-BRMBfZtP.js"),[],import.meta.url)),ops:b.lazy(()=>wr(()=>import("./OpsSamplePage-10mTZKqw.js"),[],import.meta.url)),ctx:b.lazy(()=>wr(()=>import("./CtxSamplePage-CuECKK6y.js"),[],import.meta.url)),report:b.lazy(()=>wr(()=>import("./ReportSamplePage-BYuwIIGt.js"),[],import.meta.url))},np=()=>{const[e,n]=b.useState(window.location.hash.replace(/^#\//,""));if(b.useEffect(()=>{const t=()=>{n(window.location.hash.replace(/^#\//,""))};return window.addEventListener("hashchange",t),()=>{window.removeEventListener("hashchange",t)}},[]),e){if(Gl[e])return U.jsx(b.Suspense,{children:b.createElement(Gl[e])});if(e==="ops_iframe")return U.jsx(Gu,{id:"iframe-component-sample"});if(e==="ops_popup")return U.jsx(Gu,{id:"popup-component-sample"});window.location.href="/"}else return U.jsx(Hd,{routes:Gl})};Zl.createRoot(document.getElementById("root")).render(U.jsx(Nc.StrictMode,{children:U.jsx(np,{})}));export{Gu as M,Nc as R,Zd as a,Gd as b,Ad as c,Yd as d,U as j,Qd as p,b as r,Kd as s,bd as u}; +`+o.stack}return{value:e,source:n,stack:l,digest:null}}function Ql(e,n,t){return{value:e,source:null,stack:t??null,digest:n??null}}function To(e,n){try{console.error(n.value)}catch(t){setTimeout(function(){throw t})}}var hd=typeof WeakMap=="function"?WeakMap:Map;function Da(e,n,t){t=We(-1,t),t.tag=3,t.payload={element:null};var r=n.value;return t.callback=function(){qr||(qr=!0,Ao=r),To(e,n)},t}function ja(e,n,t){t=We(-1,t),t.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var l=n.value;t.payload=function(){return r(l)},t.callback=function(){To(e,n)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(t.callback=function(){To(e,n),typeof r!="function"&&(an===null?an=new Set([this]):an.add(this));var i=n.stack;this.componentDidCatch(n.value,{componentStack:i!==null?i:""})}),t}function Lu(e,n,t){var r=e.pingCache;if(r===null){r=e.pingCache=new hd;var l=new Set;r.set(n,l)}else l=r.get(n),l===void 0&&(l=new Set,r.set(n,l));l.has(t)||(l.add(t),e=Ld.bind(null,e,n,t),n.then(e,e))}function Tu(e){do{var n;if((n=e.tag===13)&&(n=e.memoizedState,n=n!==null?n.dehydrated!==null:!0),n)return e;e=e.return}while(e!==null);return null}function Ru(e,n,t,r,l){return e.mode&1?(e.flags|=65536,e.lanes=l,e):(e===n?e.flags|=65536:(e.flags|=128,t.flags|=131072,t.flags&=-52805,t.tag===1&&(t.alternate===null?t.tag=17:(n=We(-1,1),n.tag=2,sn(t,n,1))),t.lanes|=1),e)}var vd=Ge.ReactCurrentOwner,fe=!1;function ie(e,n,t,r){n.child=e===null?fa(n,null,t,r):tt(n,e.child,t,r)}function Ou(e,n,t,r,l){t=t.render;var o=n.ref;return Jn(n,l),r=Ei(e,n,t,r,o,l),t=_i(),e!==null&&!fe?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,Xe(e,n,l)):(F&&t&&ci(n),n.flags|=1,ie(e,n,r,l),n.child)}function Mu(e,n,t,r,l){if(e===null){var o=t.type;return typeof o=="function"&&!Mi(o)&&o.defaultProps===void 0&&t.compare===null&&t.defaultProps===void 0?(n.tag=15,n.type=o,Fa(e,n,o,r,l)):(e=Rr(t.type,null,r,n,n.mode,l),e.ref=n.ref,e.return=n,n.child=e)}if(o=e.child,!(e.lanes&l)){var i=o.memoizedProps;if(t=t.compare,t=t!==null?t:At,t(i,r)&&e.ref===n.ref)return Xe(e,n,l)}return n.flags|=1,e=fn(o,r),e.ref=n.ref,e.return=n,n.child=e}function Fa(e,n,t,r,l){if(e!==null){var o=e.memoizedProps;if(At(o,r)&&e.ref===n.ref)if(fe=!1,n.pendingProps=r=o,(e.lanes&l)!==0)e.flags&131072&&(fe=!0);else return n.lanes=e.lanes,Xe(e,n,l)}return Ro(e,n,t,r,l)}function Ua(e,n,t){var r=n.pendingProps,l=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(n.mode&1))n.memoizedState={baseLanes:0,cachePool:null,transitions:null},M(Kn,he),he|=t;else{if(!(t&1073741824))return e=o!==null?o.baseLanes|t:t,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null,transitions:null},n.updateQueue=null,M(Kn,he),he|=e,null;n.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=o!==null?o.baseLanes:t,M(Kn,he),he|=r}else o!==null?(r=o.baseLanes|t,n.memoizedState=null):r=t,M(Kn,he),he|=r;return ie(e,n,l,t),n.child}function $a(e,n){var t=n.ref;(e===null&&t!==null||e!==null&&e.ref!==t)&&(n.flags|=512,n.flags|=2097152)}function Ro(e,n,t,r,l){var o=pe(t)?Pn:oe.current;return o=et(n,o),Jn(n,l),t=Ei(e,n,t,r,o,l),r=_i(),e!==null&&!fe?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,Xe(e,n,l)):(F&&r&&ci(n),n.flags|=1,ie(e,n,t,l),n.child)}function Iu(e,n,t,r,l){if(pe(t)){var o=!0;Br(n)}else o=!1;if(Jn(n,l),n.stateNode===null)zr(e,n),Ia(n,t,r),Lo(n,t,r,l),r=!0;else if(e===null){var i=n.stateNode,u=n.memoizedProps;i.props=u;var s=i.context,c=t.contextType;typeof c=="object"&&c!==null?c=xe(c):(c=pe(t)?Pn:oe.current,c=et(n,c));var h=t.getDerivedStateFromProps,m=typeof h=="function"||typeof i.getSnapshotBeforeUpdate=="function";m||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(u!==r||s!==c)&&zu(n,i,r,c),qe=!1;var p=n.memoizedState;i.state=p,Yr(n,r,i,l),s=n.memoizedState,u!==r||p!==s||de.current||qe?(typeof h=="function"&&(zo(n,t,h,r),s=n.memoizedState),(u=qe||Nu(n,t,u,r,p,s,c))?(m||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(n.flags|=4194308)):(typeof i.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=s),i.props=r,i.state=s,i.context=c,r=u):(typeof i.componentDidMount=="function"&&(n.flags|=4194308),r=!1)}else{i=n.stateNode,pa(e,n),u=n.memoizedProps,c=n.type===n.elementType?u:Le(n.type,u),i.props=c,m=n.pendingProps,p=i.context,s=t.contextType,typeof s=="object"&&s!==null?s=xe(s):(s=pe(t)?Pn:oe.current,s=et(n,s));var g=t.getDerivedStateFromProps;(h=typeof g=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(u!==m||p!==s)&&zu(n,i,r,s),qe=!1,p=n.memoizedState,i.state=p,Yr(n,r,i,l);var w=n.memoizedState;u!==m||p!==w||de.current||qe?(typeof g=="function"&&(zo(n,t,g,r),w=n.memoizedState),(c=qe||Nu(n,t,c,r,p,w,s)||!1)?(h||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(r,w,s),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(r,w,s)),typeof i.componentDidUpdate=="function"&&(n.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof i.componentDidUpdate!="function"||u===e.memoizedProps&&p===e.memoizedState||(n.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&p===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=w),i.props=r,i.state=w,i.context=s,r=c):(typeof i.componentDidUpdate!="function"||u===e.memoizedProps&&p===e.memoizedState||(n.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&p===e.memoizedState||(n.flags|=1024),r=!1)}return Oo(e,n,t,r,o,l)}function Oo(e,n,t,r,l,o){$a(e,n);var i=(n.flags&128)!==0;if(!r&&!i)return l&&wu(n,t,!1),Xe(e,n,o);r=n.stateNode,vd.current=n;var u=i&&typeof t.getDerivedStateFromError!="function"?null:r.render();return n.flags|=1,e!==null&&i?(n.child=tt(n,e.child,null,o),n.child=tt(n,null,u,o)):ie(e,n,u,o),n.memoizedState=r.state,l&&wu(n,t,!0),n.child}function Aa(e){var n=e.stateNode;n.pendingContext?gu(e,n.pendingContext,n.pendingContext!==n.context):n.context&&gu(e,n.context,!1),gi(e,n.containerInfo)}function Du(e,n,t,r,l){return nt(),di(l),n.flags|=256,ie(e,n,t,r),n.child}var Mo={dehydrated:null,treeContext:null,retryLane:0};function Io(e){return{baseLanes:e,cachePool:null,transitions:null}}function Va(e,n,t){var r=n.pendingProps,l=$.current,o=!1,i=(n.flags&128)!==0,u;if((u=i)||(u=e!==null&&e.memoizedState===null?!1:(l&2)!==0),u?(o=!0,n.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),M($,l&1),e===null)return Po(n),e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(n.mode&1?e.data==="$!"?n.lanes=8:n.lanes=1073741824:n.lanes=1,null):(i=r.children,e=r.fallback,o?(r=n.mode,o=n.child,i={mode:"hidden",children:i},!(r&1)&&o!==null?(o.childLanes=0,o.pendingProps=i):o=pl(i,r,0,null),e=xn(e,r,t,null),o.return=n,e.return=n,o.sibling=e,n.child=o,n.child.memoizedState=Io(t),n.memoizedState=Mo,e):Pi(n,i));if(l=e.memoizedState,l!==null&&(u=l.dehydrated,u!==null))return yd(e,n,i,r,u,l,t);if(o){o=r.fallback,i=n.mode,l=e.child,u=l.sibling;var s={mode:"hidden",children:r.children};return!(i&1)&&n.child!==l?(r=n.child,r.childLanes=0,r.pendingProps=s,n.deletions=null):(r=fn(l,s),r.subtreeFlags=l.subtreeFlags&14680064),u!==null?o=fn(u,o):(o=xn(o,i,t,null),o.flags|=2),o.return=n,r.return=n,r.sibling=o,n.child=r,r=o,o=n.child,i=e.child.memoizedState,i=i===null?Io(t):{baseLanes:i.baseLanes|t,cachePool:null,transitions:i.transitions},o.memoizedState=i,o.childLanes=e.childLanes&~t,n.memoizedState=Mo,r}return o=e.child,e=o.sibling,r=fn(o,{mode:"visible",children:r.children}),!(n.mode&1)&&(r.lanes=t),r.return=n,r.sibling=null,e!==null&&(t=n.deletions,t===null?(n.deletions=[e],n.flags|=16):t.push(e)),n.child=r,n.memoizedState=null,r}function Pi(e,n){return n=pl({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function vr(e,n,t,r){return r!==null&&di(r),tt(n,e.child,null,t),e=Pi(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function yd(e,n,t,r,l,o,i){if(t)return n.flags&256?(n.flags&=-257,r=Ql(Error(y(422))),vr(e,n,i,r)):n.memoizedState!==null?(n.child=e.child,n.flags|=128,null):(o=r.fallback,l=n.mode,r=pl({mode:"visible",children:r.children},l,0,null),o=xn(o,l,i,null),o.flags|=2,r.return=n,o.return=n,r.sibling=o,n.child=r,n.mode&1&&tt(n,e.child,null,i),n.child.memoizedState=Io(i),n.memoizedState=Mo,o);if(!(n.mode&1))return vr(e,n,i,null);if(l.data==="$!"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var u=r.dgst;return r=u,o=Error(y(419)),r=Ql(o,r,void 0),vr(e,n,i,r)}if(u=(i&e.childLanes)!==0,fe||u){if(r=q,r!==null){switch(i&-i){case 4:l=2;break;case 16:l=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:l=32;break;case 536870912:l=268435456;break;default:l=0}l=l&(r.suspendedLanes|i)?0:l,l!==0&&l!==o.retryLane&&(o.retryLane=l,Ye(e,l),Me(r,e,l,-1))}return Oi(),r=Ql(Error(y(421))),vr(e,n,i,r)}return l.data==="$?"?(n.flags|=128,n.child=e.child,n=Td.bind(null,e),l._reactRetry=n,null):(e=o.treeContext,ve=un(l.nextSibling),ye=n,F=!0,Re=null,e!==null&&(ke[Ee++]=Be,ke[Ee++]=He,ke[Ee++]=Nn,Be=e.id,He=e.overflow,Nn=n),n=Pi(n,r.children),n.flags|=4096,n)}function ju(e,n,t){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n),No(e.return,n,t)}function Kl(e,n,t,r,l){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:t,tailMode:l}:(o.isBackwards=n,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=t,o.tailMode=l)}function Ba(e,n,t){var r=n.pendingProps,l=r.revealOrder,o=r.tail;if(ie(e,n,r.children,t),r=$.current,r&2)r=r&1|2,n.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&ju(e,t,n);else if(e.tag===19)ju(e,t,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(M($,r),!(n.mode&1))n.memoizedState=null;else switch(l){case"forwards":for(t=n.child,l=null;t!==null;)e=t.alternate,e!==null&&Xr(e)===null&&(l=t),t=t.sibling;t=l,t===null?(l=n.child,n.child=null):(l=t.sibling,t.sibling=null),Kl(n,!1,l,t,o);break;case"backwards":for(t=null,l=n.child,n.child=null;l!==null;){if(e=l.alternate,e!==null&&Xr(e)===null){n.child=l;break}e=l.sibling,l.sibling=t,t=l,l=e}Kl(n,!0,t,null,o);break;case"together":Kl(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function zr(e,n){!(n.mode&1)&&e!==null&&(e.alternate=null,n.alternate=null,n.flags|=2)}function Xe(e,n,t){if(e!==null&&(n.dependencies=e.dependencies),Ln|=n.lanes,!(t&n.childLanes))return null;if(e!==null&&n.child!==e.child)throw Error(y(153));if(n.child!==null){for(e=n.child,t=fn(e,e.pendingProps),n.child=t,t.return=n;e.sibling!==null;)e=e.sibling,t=t.sibling=fn(e,e.pendingProps),t.return=n;t.sibling=null}return n.child}function gd(e,n,t){switch(n.tag){case 3:Aa(n),nt();break;case 5:ma(n);break;case 1:pe(n.type)&&Br(n);break;case 4:gi(n,n.stateNode.containerInfo);break;case 10:var r=n.type._context,l=n.memoizedProps.value;M(Qr,r._currentValue),r._currentValue=l;break;case 13:if(r=n.memoizedState,r!==null)return r.dehydrated!==null?(M($,$.current&1),n.flags|=128,null):t&n.child.childLanes?Va(e,n,t):(M($,$.current&1),e=Xe(e,n,t),e!==null?e.sibling:null);M($,$.current&1);break;case 19:if(r=(t&n.childLanes)!==0,e.flags&128){if(r)return Ba(e,n,t);n.flags|=128}if(l=n.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),M($,$.current),r)break;return null;case 22:case 23:return n.lanes=0,Ua(e,n,t)}return Xe(e,n,t)}var Ha,Do,Wa,Qa;Ha=function(e,n){for(var t=n.child;t!==null;){if(t.tag===5||t.tag===6)e.appendChild(t.stateNode);else if(t.tag!==4&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===n)break;for(;t.sibling===null;){if(t.return===null||t.return===n)return;t=t.return}t.sibling.return=t.return,t=t.sibling}};Do=function(){};Wa=function(e,n,t,r){var l=e.memoizedProps;if(l!==r){e=n.stateNode,_n($e.current);var o=null;switch(t){case"input":l=to(e,l),r=to(e,r),o=[];break;case"select":l=V({},l,{value:void 0}),r=V({},r,{value:void 0}),o=[];break;case"textarea":l=oo(e,l),r=oo(e,r),o=[];break;default:typeof l.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Ar)}uo(t,r);var i;t=null;for(c in l)if(!r.hasOwnProperty(c)&&l.hasOwnProperty(c)&&l[c]!=null)if(c==="style"){var u=l[c];for(i in u)u.hasOwnProperty(i)&&(t||(t={}),t[i]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(Mt.hasOwnProperty(c)?o||(o=[]):(o=o||[]).push(c,null));for(c in r){var s=r[c];if(u=l!=null?l[c]:void 0,r.hasOwnProperty(c)&&s!==u&&(s!=null||u!=null))if(c==="style")if(u){for(i in u)!u.hasOwnProperty(i)||s&&s.hasOwnProperty(i)||(t||(t={}),t[i]="");for(i in s)s.hasOwnProperty(i)&&u[i]!==s[i]&&(t||(t={}),t[i]=s[i])}else t||(o||(o=[]),o.push(c,t)),t=s;else c==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,u=u?u.__html:void 0,s!=null&&u!==s&&(o=o||[]).push(c,s)):c==="children"?typeof s!="string"&&typeof s!="number"||(o=o||[]).push(c,""+s):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(Mt.hasOwnProperty(c)?(s!=null&&c==="onScroll"&&I("scroll",e),o||u===s||(o=[])):(o=o||[]).push(c,s))}t&&(o=o||[]).push("style",t);var c=o;(n.updateQueue=c)&&(n.flags|=4)}};Qa=function(e,n,t,r){t!==r&&(n.flags|=4)};function yt(e,n){if(!F)switch(e.tailMode){case"hidden":n=e.tail;for(var t=null;n!==null;)n.alternate!==null&&(t=n),n=n.sibling;t===null?e.tail=null:t.sibling=null;break;case"collapsed":t=e.tail;for(var r=null;t!==null;)t.alternate!==null&&(r=t),t=t.sibling;r===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function re(e){var n=e.alternate!==null&&e.alternate.child===e.child,t=0,r=0;if(n)for(var l=e.child;l!==null;)t|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)t|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=t,n}function wd(e,n,t){var r=n.pendingProps;switch(fi(n),n.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return re(n),null;case 1:return pe(n.type)&&Vr(),re(n),null;case 3:return r=n.stateNode,rt(),D(de),D(oe),Si(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(mr(n)?n.flags|=4:e===null||e.memoizedState.isDehydrated&&!(n.flags&256)||(n.flags|=1024,Re!==null&&(Ho(Re),Re=null))),Do(e,n),re(n),null;case 5:wi(n);var l=_n(Qt.current);if(t=n.type,e!==null&&n.stateNode!=null)Wa(e,n,t,r,l),e.ref!==n.ref&&(n.flags|=512,n.flags|=2097152);else{if(!r){if(n.stateNode===null)throw Error(y(166));return re(n),null}if(e=_n($e.current),mr(n)){r=n.stateNode,t=n.type;var o=n.memoizedProps;switch(r[Fe]=n,r[Ht]=o,e=(n.mode&1)!==0,t){case"dialog":I("cancel",r),I("close",r);break;case"iframe":case"object":case"embed":I("load",r);break;case"video":case"audio":for(l=0;l<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=i.createElement(t,{is:r.is}):(e=i.createElement(t),t==="select"&&(i=e,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):e=i.createElementNS(e,t),e[Fe]=n,e[Ht]=r,Ha(e,n,!1,!1),n.stateNode=e;e:{switch(i=so(t,r),t){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;lot&&(n.flags|=128,r=!0,yt(o,!1),n.lanes=4194304)}else{if(!r)if(e=Xr(i),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),yt(o,!0),o.tail===null&&o.tailMode==="hidden"&&!i.alternate&&!F)return re(n),null}else 2*Q()-o.renderingStartTime>ot&&t!==1073741824&&(n.flags|=128,r=!0,yt(o,!1),n.lanes=4194304);o.isBackwards?(i.sibling=n.child,n.child=i):(t=o.last,t!==null?t.sibling=i:n.child=i,o.last=i)}return o.tail!==null?(n=o.tail,o.rendering=n,o.tail=n.sibling,o.renderingStartTime=Q(),n.sibling=null,t=$.current,M($,r?t&1|2:t&1),n):(re(n),null);case 22:case 23:return Ri(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?he&1073741824&&(re(n),n.subtreeFlags&6&&(n.flags|=8192)):re(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function Sd(e,n){switch(fi(n),n.tag){case 1:return pe(n.type)&&Vr(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return rt(),D(de),D(oe),Si(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return wi(n),null;case 13:if(D($),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));nt()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return D($),null;case 4:return rt(),null;case 10:return hi(n.type._context),null;case 22:case 23:return Ri(),null;case 24:return null;default:return null}}var yr=!1,le=!1,kd=typeof WeakSet=="function"?WeakSet:Set,k=null;function Qn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){B(e,n,r)}else t.current=null}function jo(e,n,t){try{t()}catch(r){B(e,n,r)}}var Fu=!1;function Ed(e,n){if(wo=Fr,e=Zs(),ai(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{t.nodeType,o.nodeType}catch{t=null;break e}var i=0,u=-1,s=-1,c=0,h=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(u=i+l),m!==o||r!==0&&m.nodeType!==3||(s=i+r),m.nodeType===3&&(i+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(u=i),p===o&&++h===r&&(s=i),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=u===-1||s===-1?null:{start:u,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(So={focusedElem:e,selectionRange:t},Fr=!1,k=n;k!==null;)if(n=k,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,k=e;else for(;k!==null;){n=k;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var S=w.memoizedProps,j=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?S:Le(n.type,S),j);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(v){B(n,n.return,v)}if(e=n.sibling,e!==null){e.return=n.return,k=e;break}k=n.return}return w=Fu,Fu=!1,w}function Lt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var o=l.destroy;l.destroy=void 0,o!==void 0&&jo(n,t,o)}l=l.next}while(l!==r)}}function fl(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Fo(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Ka(e){var n=e.alternate;n!==null&&(e.alternate=null,Ka(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Fe],delete n[Ht],delete n[_o],delete n[ld],delete n[od])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Ya(e){return e.tag===5||e.tag===3||e.tag===4}function Uu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ya(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Uo(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=Ar));else if(r!==4&&(e=e.child,e!==null))for(Uo(e,n,t),e=e.sibling;e!==null;)Uo(e,n,t),e=e.sibling}function $o(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for($o(e,n,t),e=e.sibling;e!==null;)$o(e,n,t),e=e.sibling}var b=null,Te=!1;function Ze(e,n,t){for(t=t.child;t!==null;)Xa(e,n,t),t=t.sibling}function Xa(e,n,t){if(Ue&&typeof Ue.onCommitFiberUnmount=="function")try{Ue.onCommitFiberUnmount(rl,t)}catch{}switch(t.tag){case 5:le||Qn(t,n);case 6:var r=b,l=Te;b=null,Ze(e,n,t),b=r,Te=l,b!==null&&(Te?(e=b,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):b.removeChild(t.stateNode));break;case 18:b!==null&&(Te?(e=b,t=t.stateNode,e.nodeType===8?$l(e.parentNode,t):e.nodeType===1&&$l(e,t),Ut(e)):$l(b,t.stateNode));break;case 4:r=b,l=Te,b=t.stateNode.containerInfo,Te=!0,Ze(e,n,t),b=r,Te=l;break;case 0:case 11:case 14:case 15:if(!le&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var o=l,i=o.destroy;o=o.tag,i!==void 0&&(o&2||o&4)&&jo(t,n,i),l=l.next}while(l!==r)}Ze(e,n,t);break;case 1:if(!le&&(Qn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(u){B(t,n,u)}Ze(e,n,t);break;case 21:Ze(e,n,t);break;case 22:t.mode&1?(le=(r=le)||t.memoizedState!==null,Ze(e,n,t),le=r):Ze(e,n,t);break;default:Ze(e,n,t)}}function $u(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new kd),n.forEach(function(r){var l=Rd.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function ze(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=i),r&=~o}if(r=l,r=Q()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Cd(r/1960))-r,10e?16:e,tn===null)var r=!1;else{if(e=tn,tn=null,br=0,R&6)throw Error(y(331));var l=R;for(R|=4,k=e.current;k!==null;){var o=k,i=o.child;if(k.flags&16){var u=o.deletions;if(u!==null){for(var s=0;sQ()-Li?Cn(e,0):zi|=t),me(e,n)}function tc(e,n){n===0&&(e.mode&1?(n=sr,sr<<=1,!(sr&130023424)&&(sr=4194304)):n=1);var t=ue();e=Ye(e,n),e!==null&&(Jt(e,n,t),me(e,t))}function Td(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),tc(e,t)}function Rd(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),tc(e,t)}var rc;rc=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||de.current)fe=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return fe=!1,gd(e,n,t);fe=!!(e.flags&131072)}else fe=!1,F&&n.flags&1048576&&ua(n,Wr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;zr(e,n),e=n.pendingProps;var l=et(n,oe.current);Jn(n,t),l=Ei(null,n,r,e,l,t);var o=_i();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,pe(r)?(o=!0,Br(n)):o=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,yi(n),l.updater=cl,n.stateNode=l,l._reactInternals=n,Lo(n,r,e,t),n=Oo(null,n,r,!0,o,t)):(n.tag=0,F&&o&&ci(n),ie(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(zr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Md(r),e=Le(r,e),l){case 0:n=Ro(null,n,r,e,t);break e;case 1:n=Iu(null,n,r,e,t);break e;case 11:n=Ou(null,n,r,e,t);break e;case 14:n=Mu(null,n,r,Le(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Le(r,l),Ro(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Le(r,l),Iu(e,n,r,l,t);case 3:e:{if(Aa(n),e===null)throw Error(y(387));r=n.pendingProps,o=n.memoizedState,l=o.element,pa(e,n),Yr(n,r,null,t);var i=n.memoizedState;if(r=i.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},n.updateQueue.baseState=o,n.memoizedState=o,n.flags&256){l=lt(Error(y(423)),n),n=Du(e,n,r,t,l);break e}else if(r!==l){l=lt(Error(y(424)),n),n=Du(e,n,r,t,l);break e}else for(ve=un(n.stateNode.containerInfo.firstChild),ye=n,F=!0,Re=null,t=fa(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(nt(),r===l){n=Xe(e,n,t);break e}ie(e,n,r,t)}n=n.child}return n;case 5:return ma(n),e===null&&Po(n),r=n.type,l=n.pendingProps,o=e!==null?e.memoizedProps:null,i=l.children,ko(r,l)?i=null:o!==null&&ko(r,o)&&(n.flags|=32),$a(e,n),ie(e,n,i,t),n.child;case 6:return e===null&&Po(n),null;case 13:return Va(e,n,t);case 4:return gi(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=tt(n,null,r,t):ie(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Le(r,l),Ou(e,n,r,l,t);case 7:return ie(e,n,n.pendingProps,t),n.child;case 8:return ie(e,n,n.pendingProps.children,t),n.child;case 12:return ie(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,o=n.memoizedProps,i=l.value,M(Qr,r._currentValue),r._currentValue=i,o!==null)if(Ie(o.value,i)){if(o.children===l.children&&!de.current){n=Xe(e,n,t);break e}}else for(o=n.child,o!==null&&(o.return=n);o!==null;){var u=o.dependencies;if(u!==null){i=o.child;for(var s=u.firstContext;s!==null;){if(s.context===r){if(o.tag===1){s=We(-1,t&-t),s.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var h=c.pending;h===null?s.next=s:(s.next=h.next,h.next=s),c.pending=s}}o.lanes|=t,s=o.alternate,s!==null&&(s.lanes|=t),No(o.return,t,n),u.lanes|=t;break}s=s.next}}else if(o.tag===10)i=o.type===n.type?null:o.child;else if(o.tag===18){if(i=o.return,i===null)throw Error(y(341));i.lanes|=t,u=i.alternate,u!==null&&(u.lanes|=t),No(i,t,n),i=o.sibling}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===n){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}ie(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Jn(n,t),l=xe(l),r=r(l),n.flags|=1,ie(e,n,r,t),n.child;case 14:return r=n.type,l=Le(r,n.pendingProps),l=Le(r.type,l),Mu(e,n,r,l,t);case 15:return Fa(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Le(r,l),zr(e,n),n.tag=1,pe(r)?(e=!0,Br(n)):e=!1,Jn(n,t),Ia(n,r,l),Lo(n,r,l,t),Oo(null,n,r,!0,e,t);case 19:return Ba(e,n,t);case 22:return Ua(e,n,t)}throw Error(y(156,n.tag))};function lc(e,n){return Rs(e,n)}function Od(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _e(e,n,t,r){return new Od(e,n,t,r)}function Mi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Md(e){if(typeof e=="function")return Mi(e)?1:0;if(e!=null){if(e=e.$$typeof,e===qo)return 11;if(e===bo)return 14}return 2}function fn(e,n){var t=e.alternate;return t===null?(t=_e(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function Rr(e,n,t,r,l,o){var i=2;if(r=e,typeof e=="function")Mi(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case jn:return xn(t.children,l,o,n);case Jo:i=8,l|=8;break;case ql:return e=_e(12,t,n,l|2),e.elementType=ql,e.lanes=o,e;case bl:return e=_e(13,t,n,l),e.elementType=bl,e.lanes=o,e;case eo:return e=_e(19,t,n,l),e.elementType=eo,e.lanes=o,e;case ms:return pl(t,l,o,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ds:i=10;break e;case ps:i=9;break e;case qo:i=11;break e;case bo:i=14;break e;case Je:i=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=_e(i,t,n,l),n.elementType=e,n.type=r,n.lanes=o,n}function xn(e,n,t,r){return e=_e(7,e,r,n),e.lanes=t,e}function pl(e,n,t,r){return e=_e(22,e,r,n),e.elementType=ms,e.lanes=t,e.stateNode={isHidden:!1},e}function Yl(e,n,t){return e=_e(6,e,null,n),e.lanes=t,e}function Xl(e,n,t){return n=_e(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Id(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zl(0),this.expirationTimes=zl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Ii(e,n,t,r,l,o,i,u,s){return e=new Id(e,n,t,u,s),n===1?(n=1,o===!0&&(n|=8)):n=0,o=_e(3,null,null,n),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},yi(o),e}function Dd(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(sc)}catch(e){console.error(e)}}sc(),ss.exports=we;var ac=ss.exports;const tp=Zu(ac);var Ad,Yu=ac;Ad=Zl.createRoot=Yu.createRoot,Zl.hydrateRoot=Yu.hydrateRoot;const Vd="modulepreload",Bd=function(e,n){return new URL(e,n).href},Xu={},In=function(n,t,r){let l=Promise.resolve();if(t&&t.length>0){const o=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),u=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));l=Promise.all(t.map(s=>{if(s=Bd(s,r),s in Xu)return;Xu[s]=!0;const c=s.endsWith(".css"),h=c?'[rel="stylesheet"]':"";if(!!r)for(let g=o.length-1;g>=0;g--){const w=o[g];if(w.href===s&&(!c||w.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${h}`))return;const p=document.createElement("link");if(p.rel=c?"stylesheet":Vd,c||(p.as="script",p.crossOrigin=""),p.href=s,u&&p.setAttribute("nonce",u),document.head.appendChild(p),c)return new Promise((g,w)=>{p.addEventListener("load",g),p.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${s}`)))})}))}return l.then(()=>n()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},Hd=({routes:e})=>U.jsxs(U.Fragment,{children:[U.jsx("h1",{children:"React Test Bed"}),U.jsx("ul",{children:Object.keys(e).map(n=>U.jsx("li",{children:U.jsx("a",{href:`#/${n}`,children:n})},n))})]}),cc=()=>Math.random().toString(36).substring(2,11),Wd=({topic:e,channel:n="global",payload:t},r=null)=>{const o={requestId:cc(),topic:e,channel:n,payload:t};if(r)if(r.postMessage)r.postMessage(o,"*");else throw new Error("Invalid target");else window.parent!==window?(console.log(`event iframe->parent: ${e}`),window.parent.postMessage(o,"*")):window.opener?(console.log(`event popup->parent: ${e}`),window.opener.postMessage(o,"*")):self!==window?(console.log(`event webworker->parent: ${e}`),self.postMessage(o,"*")):(console.log(`event to window: ${e}`),window.dispatchEvent(new MessageEvent("message",{data:o})));return o},fc=()=>{const e={};return{publish:Wd,subscribe:({topic:l,channel:o="global",handler:i})=>{var s;const u={subscriptionId:cc(),topic:l,channel:o,handler:i};return e[l]={...e[l],[o]:{...(s=e[l])==null?void 0:s[o],[u.subscriptionId]:u}},u},unsubscribe:l=>{var o,i;(i=(o=e[l.topic])==null?void 0:o[l.channel])==null||delete i[l.subscriptionId]},handleMessage:l=>{var s;const{payload:o,channel:i,topic:u}=l.data;return(s=e[u])!=null&&s[i]?Object.values(e[u][i]).map(({handler:c})=>Promise.resolve(c(o))):[]}}},gl=fc(),Qd=(e,n)=>gl.publish(e,n),Kd=e=>gl.subscribe(e),Yd=e=>gl.unsubscribe(e),Xd=e=>gl.handleMessage(e);window.addEventListener("message",Xd);const Ot={},wl=fc(),Gd=async(e,n=null)=>{const{requestId:t}=wl.publish({...e},n);return new Promise((r,l)=>{Ot[t]=r,setTimeout(()=>{Ot[t]&&(delete Ot[t],l(new Error("Request timed out")))},5e3)})},Zd=e=>wl.subscribe(e),Jd=e=>wl.unsubscribe(e),qd=e=>{const{requestId:n,topic:t,ack:r,payload:l}=e.data;if(n)if(r){const o=Ot[n];o&&(delete Ot[n],o(l))}else wl.handleMessage(e).forEach(i=>i.then(u=>{e.source?e.source.postMessage({requestId:n,ack:!0,payload:u}):window.dispatchEvent(new MessageEvent("message",{data:{requestId:n,topic:t,ack:!0,payload:u}}))}));return[]};window.addEventListener("message",qd);const bd=(e,n)=>{X.useEffect(()=>{const t=document.createElement("link");return t.rel="stylesheet",t.href=e,t.id=n,document.head.appendChild(t),()=>{document.head.removeChild(t)}},[e,n])},ep=""+new URL("react-CHdo91hT.svg",import.meta.url).href;function Gu({id:e}){const[n,t]=X.useState(""),[r,l]=X.useState(""),o=X.useRef(null),i=X.useRef(null);return bd("/OpsSamplePage.css","dynamic-css"),X.useEffect(()=>(o.current=Zd({topic:"component-level-api",channel:e?`my-component-${e}`:"my-component",handler:async u=>{const s={response:`component-level-api: ${u.message} from ${e}`};return l(`trigger component-level-api for ${e}`),s}}),i.current=Kd({topic:"parentSelectionChanged",channel:e?`my-component-${e}`:"my-component",handler:u=>{console.log(`[${e}] Received parentSelectionChanged:`,u)}}),()=>{o.current&&Jd(o.current),i.current&&Yd(i.current)}),[e]),U.jsxs(U.Fragment,{children:[U.jsx("div",{children:U.jsx("a",{href:"https://react.dev",target:"_blank",children:U.jsx("img",{src:ep,className:"logo react",alt:"React logo"})})}),U.jsx("h1",{children:"Panel"}),U.jsxs("div",{className:"card",children:[U.jsxs("button",{onClick:()=>{Gd({topic:"app-level-api",payload:{message:"Hello, world!"}}).then(u=>{t(JSON.stringify(u))}).catch(u=>{t(JSON.stringify(u))})},children:[" ","call app-level-api"]}),U.jsxs("button",{onClick:()=>{Qd({topic:"selectionChanged",payload:{component:e,uid:"uid1"}})},children:[" ","send selection change event"]}),U.jsx("div",{children:n}),U.jsx("div",{children:r})]})]})}const Gl={grid:X.lazy(()=>In(()=>import("./GridSamplePage--YddzbY7.js"),[],import.meta.url)),ops:X.lazy(()=>In(()=>import("./OpsSamplePage-D-bUjj55.js"),[],import.meta.url)),ctx:X.lazy(()=>In(()=>import("./CtxSamplePage-IwNb8GTH.js"),[],import.meta.url)),report:X.lazy(()=>In(()=>import("./ReportSamplePage-DAT0tHjY.js"),[],import.meta.url)),iframe:X.lazy(()=>In(()=>import("./IframeSamAuthSamplePage-BSXJo4Sb.js"),[],import.meta.url)),portal:X.lazy(()=>In(()=>import("./PortalStateSamplePage-BHgICu4v.js"),[],import.meta.url))},np=()=>{const[e,n]=X.useState(window.location.hash.replace(/^#\//,""));if(X.useEffect(()=>{const t=()=>{n(window.location.hash.replace(/^#\//,""))};return window.addEventListener("hashchange",t),()=>{window.removeEventListener("hashchange",t)}},[]),e){if(Gl[e])return U.jsx(X.Suspense,{children:X.createElement(Gl[e])});if(e==="ops_iframe")return U.jsx(Gu,{id:"iframe-component-sample"});if(e==="ops_popup")return U.jsx(Gu,{id:"popup-component-sample"});window.location.href="/"}else return U.jsx(Hd,{routes:Gl})};Zl.createRoot(document.getElementById("root")).render(U.jsx(zc.StrictMode,{children:U.jsx(np,{})}));export{Gu as M,zc as R,Zd as a,Gd as b,Ad as c,Yd as d,tp as e,U as j,Qd as p,X as r,Kd as s,bd as u}; -//# sourceMappingURL=data:application/json;base64,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QUtBLE9BQUssV0FBTSxPQUFPLDZCQUF1QixFQUFDLHFCQUMvQyxJQUFLQSxPQUFLLFdBQU0sT0FBTyw2QkFBdUIsRUFBQyxxQkFDL0MsT0FBUUEsT0FBSyxXQUFNLE9BQU8sZ0NBQTBCLHFCQUFDLENBQ3ZELEVBRU1DLEdBQVMsSUFBTSxDQWtCYixNQUFDQyxFQUFhQyxDQUFjLEVBQUluQixFQUFBLFNBQ3BDLE9BQU8sU0FBUyxLQUFLLFFBQVEsT0FBUSxFQUFFLEdBZXpDLEdBWkFOLFlBQVUsSUFBTSxDQUNkLE1BQU0wQixFQUFtQixJQUFNLENBQzdCRCxFQUFlLE9BQU8sU0FBUyxLQUFLLFFBQVEsT0FBUSxFQUFFLENBQUMsR0FHbEQsK0JBQWlCLGFBQWNDLENBQWdCLEVBRS9DLElBQU0sQ0FDSiwyQkFBb0IsYUFBY0EsQ0FBZ0IsRUFFN0QsRUFBRyxDQUFFLEdBRUFGLEVBRUwsSUFBV0gsR0FBT0csQ0FBVyxFQUMzQixhQUNHRyxFQUNFLG1CQUFBQyxFQUFBLGNBQWNQLEdBQU9HLENBQVcsQ0FBQyxDQUNwQyxHQUdKLEdBQVdBLElBQWdCLGFBQ2xCLE9BQUF6RCxFQUFBLElBQUNvQyxHQUFZLElBQUcseUJBQTBCLEdBQ25ELEdBQVdxQixJQUFnQixZQUNsQixPQUFBekQsRUFBQSxJQUFDb0MsR0FBWSxJQUFHLHdCQUF5QixHQUVoRCxPQUFPLFNBQVMsS0FBTyxRQWJoQixRQUFBcEMsRUFBQSxJQUFDSixHQUFVLFFBQVEwRCxFQUFRLEVBZXRDLEVDekRBUSxHQUFTLFdBQVcsU0FBUyxlQUFlLE1BQU0sQ0FBRSxFQUFFLGFBQ25EQyxHQUFNLFdBQU4sQ0FDQyxTQUFBL0QsTUFBQ3dELElBQU8sR0FDVixDQUNGIiwibmFtZXMiOlsibCIsIm4iLCJwIiwicSIsInIiLCJ0IiwidSIsInYiLCJ3IiwieCIsInkiLCJ6IiwiQSIsImEiLCJCIiwiQyIsIkQiLCJFIiwiYiIsImUiLCJGIiwiRyIsIkgiLCJJIiwiSiIsIksiLCJMIiwiTSIsImQiLCJjIiwiayIsImgiLCJnIiwiZiIsIm0iLCJOIiwiTyIsImVzY2FwZSIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsInJlYWN0X3Byb2R1Y3Rpb25fbWluIiwicmVhY3RNb2R1bGUiLCJyZXF1aXJlJCQwIiwicmVhY3RKc3hSdW50aW1lX3Byb2R1Y3Rpb25fbWluIiwianN4UnVudGltZU1vZHVsZSIsImV4cG9ydHMiLCJzY2hlZHVsZXJNb2R1bGUiLCJhYSIsImNhIiwicmVxdWlyZSQkMSIsImRhIiwiZWEiLCJmYSIsImhhIiwiaWEiLCJqYSIsImthIiwibGEiLCJtYSIsIm9hIiwicGEiLCJxYSIsInJhIiwic2EiLCJ0YSIsInVhIiwidmEiLCJ3YSIsInlhIiwiemEiLCJBYSIsIkJhIiwiQ2EiLCJEYSIsIkVhIiwiRmEiLCJHYSIsIkhhIiwiSWEiLCJKYSIsIkthIiwiTGEiLCJNYSIsIk5hIiwiT2EiLCJQYSIsIlFhIiwiUmEiLCJTYSIsIlRhIiwiVWEiLCJWYSIsIldhIiwiWGEiLCJZYSIsIlphIiwiYWIiLCJiYiIsImNiIiwiZGIiLCJlYiIsImZiIiwiZ2IiLCJoYiIsImliIiwiamIiLCJrYiIsImxiIiwibWIiLCJuYiIsIm9iIiwicGIiLCJxYiIsInJiIiwic2IiLCJ0YiIsInViIiwidmIiLCJ3YiIsInhiIiwieWIiLCJ6YiIsIkFiIiwiQmIiLCJDYiIsIkRiIiwiRWIiLCJGYiIsIkdiIiwiSGIiLCJJYiIsIkpiIiwiS2IiLCJMYiIsIk1iIiwiTmIiLCJPYiIsIlBiIiwiUWIiLCJSYiIsIlNiIiwiVGIiLCJVYiIsIlZiIiwiV2IiLCJYYiIsIlliIiwiWmIiLCIkYiIsImFjIiwiYmMiLCJjYyIsImRjIiwiZWMiLCJmYyIsImdjIiwiaGMiLCJpYyIsImpjIiwia2MiLCJsYyIsIm1jIiwib2MiLCJuYyIsInBjIiwicWMiLCJyYyIsInNjIiwidGMiLCJ1YyIsInZjIiwid2MiLCJ4YyIsInljIiwiemMiLCJBYyIsIkJjIiwiQ2MiLCJEYyIsIkVjIiwiRmMiLCJHYyIsIkhjIiwiSWMiLCJKYyIsIktjIiwiTGMiLCJNYyIsIk5jIiwiT2MiLCJQYyIsIlFjIiwiUmMiLCJTYyIsIlRjIiwiVWMiLCJWYyIsIldjIiwiWGMiLCJZYyIsIlpjIiwiJGMiLCJhZCIsImJkIiwiY2QiLCJkZCIsImVkIiwiZmQiLCJnZCIsImhkIiwiaWQiLCJqZCIsImtkIiwibGQiLCJtZCIsIm5kIiwib2QiLCJwZCIsInFkIiwicmQiLCJzZCIsInRkIiwidWQiLCJ2ZCIsIndkIiwieGQiLCJ5ZCIsIkFkIiwiemQiLCJCZCIsIkNkIiwiRGQiLCJFZCIsIkZkIiwiR2QiLCJIZCIsIklkIiwiSmQiLCJLZCIsIkxkIiwiTWQiLCJOZCIsIk9kIiwiUGQiLCJRZCIsIlJkIiwiU2QiLCJUZCIsIlVkIiwiVmQiLCJXZCIsIlhkIiwiWWQiLCJaZCIsIiRkIiwiYWUiLCJiZSIsImNlIiwiZGUiLCJlZSIsImZlIiwiZ2UiLCJoZSIsImllIiwiamUiLCJrZSIsImxlIiwibWUiLCJuZSIsIm9lIiwicGUiLCJxZSIsInJlIiwic2UiLCJ0ZSIsInVlIiwidmUiLCJ3ZSIsInhlIiwieWUiLCJ6ZSIsIkFlIiwiQmUiLCJDZSIsIkRlIiwiRWUiLCJGZSIsIkdlIiwiSGUiLCJJZSIsIkplIiwiS2UiLCJMZSIsIk1lIiwiTmUiLCJPZSIsIlBlIiwiUWUiLCJSZSIsIlNlIiwiVGUiLCJVZSIsIlZlIiwiV2UiLCJYZSIsIlllIiwiWmUiLCIkZSIsImFmIiwiYmYiLCJjZiIsImRmIiwiZWYiLCJmZiIsImdmIiwiaGYiLCJqZiIsImtmIiwibGYiLCJtZiIsIm5mIiwib2YiLCJwZiIsInFmIiwicmYiLCJzZiIsInRmIiwidWYiLCJ2ZiIsIndmIiwibmEiLCJ4YSIsIiRhIiwiYmEiLCJ4ZiIsInlmIiwiemYiLCJBZiIsIkJmIiwiQ2YiLCJEZiIsIkVmIiwiRmYiLCJHZiIsIkhmIiwiSmYiLCJJZiIsIktmIiwiTGYiLCJNZiIsIk5mIiwiT2YiLCJQZiIsIlFmIiwiUmYiLCJTZiIsIlRmIiwiVWYiLCJWZiIsIldmIiwiWGYiLCJZZiIsIlpmIiwiJGYiLCJhZyIsImJnIiwiY2ciLCJkZyIsImVnIiwiZmciLCJnZyIsImhnIiwiaWciLCJqZyIsImtnIiwibGciLCJtZyIsIm5nIiwib2ciLCJwZyIsInFnIiwicmciLCJzZyIsInRnIiwidWciLCJ2ZyIsIndnIiwieGciLCJ5ZyIsInpnIiwiQWciLCJCZyIsIkNnIiwiRGciLCJFZyIsIkZnIiwiR2ciLCJIZyIsIklnIiwiSmciLCJLZyIsIkxnIiwiTWciLCJOZyIsIk9nIiwiUGciLCJRZyIsIlJnIiwiU2ciLCJUZyIsIlVnIiwiVmciLCJXZyIsIlhnIiwiWWciLCJaZyIsIiRnIiwiYWgiLCJiaCIsImNoIiwiZGgiLCJlaCIsImZoIiwiZ2giLCJoaCIsImloIiwiamgiLCJraCIsImxoIiwibWgiLCJuaCIsIm9oIiwicGgiLCJxaCIsInJoIiwic2giLCJ0aCIsInVoIiwidmgiLCJ3aCIsInhoIiwieWgiLCJ6aCIsIkFoIiwiQmgiLCJDaCIsIkRoIiwiRWgiLCJGaCIsIkdoIiwiSGgiLCJJaCIsIkpoIiwiS2giLCJMaCIsIk1oIiwiTmgiLCJPaCIsIlBoIiwiUWgiLCJSaCIsIlNoIiwiVGgiLCJVaCIsIlZoIiwiV2giLCJYaCIsIlloIiwiWmgiLCIkaCIsImFpIiwiYmkiLCJjaSIsImRpIiwiZWkiLCJmaSIsImdpIiwiaGkiLCJpaSIsImppIiwia2kiLCJsaSIsIm1pIiwibmkiLCJvaSIsInBpIiwicWkiLCJyaSIsInNpIiwidGkiLCJ1aSIsInZpIiwid2kiLCJ4aSIsInlpIiwiemkiLCJBaSIsIkJpIiwiQ2kiLCJEaSIsIkVpIiwiRmkiLCJHaSIsIkhpIiwiSWkiLCJKaSIsIktpIiwiTGkiLCJNaSIsIk5pIiwiT2kiLCJQaSIsIlFpIiwiUmkiLCJTaSIsIlRpIiwiVWkiLCJWaSIsIldpIiwiWGkiLCJZaSIsIlppIiwiJGkiLCJhaiIsImJqIiwiY2oiLCJkaiIsImVqIiwiZmoiLCJnaiIsImhqIiwiaWoiLCJqaiIsImtqIiwibGoiLCJtaiIsIm5qIiwib2oiLCJwaiIsInFqIiwicmoiLCJzaiIsInRqIiwidWoiLCJ2aiIsIndqIiwieGoiLCJ5aiIsInpqIiwiQWoiLCJCaiIsIkNqIiwiRGoiLCJFaiIsIkZqIiwiR2oiLCJIaiIsIklqIiwiSmoiLCJLaiIsIkxqIiwiTWoiLCJOaiIsIk9qIiwiUGoiLCJRaiIsIlJqIiwiU2oiLCJUaiIsIlVqIiwiVmoiLCJXaiIsIlhqIiwiWWoiLCJaaiIsImFrIiwiYmsiLCJjayIsImRrIiwiZWsiLCJmayIsImdrIiwiaGsiLCJpayIsImprIiwia2siLCJsayIsIm1rIiwibmsiLCJvayIsIlkiLCJaIiwicGsiLCJxayIsInJrIiwic2siLCJ0ayIsInVrIiwidmsiLCJ3ayIsInhrIiwieWsiLCJ6ayIsIkFrIiwiQmsiLCJDayIsIkRrIiwiRWsiLCJGayIsIkdrIiwiSGsiLCJJayIsIkprIiwiS2siLCJMayIsIk1rIiwiTmsiLCJPayIsIlBrIiwiUWsiLCJSayIsIlNrIiwiVGsiLCJVayIsIlZrIiwiV2siLCJYayIsIllrIiwiWmsiLCIkayIsImFsIiwiYmwiLCJjbCIsImRsIiwiZWwiLCJmbCIsImdsIiwiaGwiLCJpbCIsImpsIiwia2wiLCJsbCIsIm1sIiwibmwiLCJvbCIsInBsIiwicWwiLCJybCIsInNsIiwidGwiLCJ1bCIsInZsIiwicmVhY3REb21fcHJvZHVjdGlvbl9taW4iLCJjaGVja0RDRSIsImVyciIsInJlYWN0RG9tTW9kdWxlIiwiY3JlYXRlUm9vdCIsIlJvdXRlUGFnZSIsInJvdXRlcyIsImpzeHMiLCJGcmFnbWVudCIsImpzeCIsInBhdGgiLCJnZW5lcmF0ZUlkIiwicHVibGlzaCIsInRvcGljIiwiY2hhbm5lbCIsInBheWxvYWQiLCJ0YXJnZXQiLCJyZXF1ZXN0IiwiY3JlYXRlTWVzc2FnZUV2ZW50QnVzIiwiX3N1YnNjcmlwdGlvbnMiLCJoYW5kbGVyIiwic3Vic2NyaXB0aW9uIiwiX2EiLCJfYiIsImV2ZW50IiwiX2V2ZW50QnVzIiwiZXZlbnREZWYiLCJzdWJzY3JpYmUiLCJzdWJzRGVmIiwidW5zdWJzY3JpYmUiLCJzdWJzIiwiaGFuZGxlTWVzc2FnZSIsIl9wZW5kaW5nUmVxdWVzdHMiLCJjYWxsQXBpIiwicmVxdWVzdElkIiwicmVzb2x2ZSIsInJlamVjdCIsInJlZ2lzdGVyIiwidW5yZWdpc3RlciIsImFjayIsInVzZUR5bmFtaWNDc3MiLCJ1cmwiLCJ1c2VFZmZlY3QiLCJsaW5rIiwicmVhY3RMb2dvIiwiTXlDb21wb25lbnQiLCJhcHBMZXZlbEFwaVJlc3BvbnNlIiwic2V0QXBwTGV2ZWxBcGlSZXNwb25zZSIsInVzZVN0YXRlIiwiY29tcExldmVsQXBpUmVzcG9uc2UiLCJzZXRDb21wTGV2ZWxBcGlSZXNwb25zZSIsImFwaVN1YnNjcmlwdGlvblJlZiIsInVzZVJlZiIsImV2ZW50U3Vic2NyaXB0aW9uUmVmIiwicmVtb3RlQXBpLnJlZ2lzdGVyIiwicmVzIiwiZXZlbnRCdXMuc3Vic2NyaWJlIiwicmVtb3RlQXBpLnVucmVnaXN0ZXIiLCJldmVudEJ1cy51bnN1YnNjcmliZSIsInJlbW90ZUFwaS5jYWxsQXBpIiwicmVzcG9uc2UiLCJlcnJvciIsImV2ZW50QnVzLnB1Ymxpc2giLCJST1VURVMiLCJsYXp5IiwiUm91dGVyIiwiY3VycmVudFBhdGgiLCJzZXRDdXJyZW50UGF0aCIsImhhbmRsZUhhc2hDaGFuZ2UiLCJTdXNwZW5zZSIsImNyZWF0ZUVsZW1lbnQiLCJSZWFjdERPTSIsIlJlYWN0Il0sImlnbm9yZUxpc3QiOlswLDEsMiwzLDQsNSw2LDcsOF0sInNvdXJjZXMiOlsiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWN0L2Nqcy9yZWFjdC5wcm9kdWN0aW9uLm1pbi5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC9janMvcmVhY3QtanN4LXJ1bnRpbWUucHJvZHVjdGlvbi5taW4uanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LXJ1bnRpbWUuanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIucHJvZHVjdGlvbi5taW4uanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2luZGV4LmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9janMvcmVhY3QtZG9tLnByb2R1Y3Rpb24ubWluLmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9pbmRleC5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC1kb20vY2xpZW50LmpzIiwiLi4vLi4vc3JjL3BhZ2VzL1JvdXRlclBhZ2UudHN4IiwiLi4vLi4vc3JjL2xpYnMvb3BzL3V0aWxzLnRzIiwiLi4vLi4vc3JjL2xpYnMvb3BzL2V2ZW50QnVzLnRzIiwiLi4vLi4vc3JjL2xpYnMvb3BzL3JlbW90ZUFwaS50cyIsIi4uLy4uL3NyYy9saWJzL2hvb2tzLnRzIiwiLi4vLi4vc3JjL2Fzc2V0cy9yZWFjdC5zdmciLCIuLi8uLi9zcmMvcGFnZXMvb3BzL015Q29tcG9uZW50LnRzeCIsIi4uLy4uL3NyYy9Sb3V0ZXIudHN4IiwiLi4vLi4vc3JjL21haW4udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LnByb2R1Y3Rpb24ubWluLmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbid1c2Ugc3RyaWN0Jzt2YXIgbD1TeW1ib2wuZm9yKFwicmVhY3QuZWxlbWVudFwiKSxuPVN5bWJvbC5mb3IoXCJyZWFjdC5wb3J0YWxcIikscD1TeW1ib2wuZm9yKFwicmVhY3QuZnJhZ21lbnRcIikscT1TeW1ib2wuZm9yKFwicmVhY3Quc3RyaWN0X21vZGVcIikscj1TeW1ib2wuZm9yKFwicmVhY3QucHJvZmlsZXJcIiksdD1TeW1ib2wuZm9yKFwicmVhY3QucHJvdmlkZXJcIiksdT1TeW1ib2wuZm9yKFwicmVhY3QuY29udGV4dFwiKSx2PVN5bWJvbC5mb3IoXCJyZWFjdC5mb3J3YXJkX3JlZlwiKSx3PVN5bWJvbC5mb3IoXCJyZWFjdC5zdXNwZW5zZVwiKSx4PVN5bWJvbC5mb3IoXCJyZWFjdC5tZW1vXCIpLHk9U3ltYm9sLmZvcihcInJlYWN0LmxhenlcIiksej1TeW1ib2wuaXRlcmF0b3I7ZnVuY3Rpb24gQShhKXtpZihudWxsPT09YXx8XCJvYmplY3RcIiE9PXR5cGVvZiBhKXJldHVybiBudWxsO2E9eiYmYVt6XXx8YVtcIkBAaXRlcmF0b3JcIl07cmV0dXJuXCJmdW5jdGlvblwiPT09dHlwZW9mIGE/YTpudWxsfVxudmFyIEI9e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LEM9T2JqZWN0LmFzc2lnbixEPXt9O2Z1bmN0aW9uIEUoYSxiLGUpe3RoaXMucHJvcHM9YTt0aGlzLmNvbnRleHQ9Yjt0aGlzLnJlZnM9RDt0aGlzLnVwZGF0ZXI9ZXx8Qn1FLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9O1xuRS5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oYSxiKXtpZihcIm9iamVjdFwiIT09dHlwZW9mIGEmJlwiZnVuY3Rpb25cIiE9PXR5cGVvZiBhJiZudWxsIT1hKXRocm93IEVycm9yKFwic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuXCIpO3RoaXMudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUodGhpcyxhLGIsXCJzZXRTdGF0ZVwiKX07RS5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oYSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGEsXCJmb3JjZVVwZGF0ZVwiKX07ZnVuY3Rpb24gRigpe31GLnByb3RvdHlwZT1FLnByb3RvdHlwZTtmdW5jdGlvbiBHKGEsYixlKXt0aGlzLnByb3BzPWE7dGhpcy5jb250ZXh0PWI7dGhpcy5yZWZzPUQ7dGhpcy51cGRhdGVyPWV8fEJ9dmFyIEg9Ry5wcm90b3R5cGU9bmV3IEY7XG5ILmNvbnN0cnVjdG9yPUc7QyhILEUucHJvdG90eXBlKTtILmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwO3ZhciBJPUFycmF5LmlzQXJyYXksSj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LEs9e2N1cnJlbnQ6bnVsbH0sTD17a2V5OiEwLHJlZjohMCxfX3NlbGY6ITAsX19zb3VyY2U6ITB9O1xuZnVuY3Rpb24gTShhLGIsZSl7dmFyIGQsYz17fSxrPW51bGwsaD1udWxsO2lmKG51bGwhPWIpZm9yKGQgaW4gdm9pZCAwIT09Yi5yZWYmJihoPWIucmVmKSx2b2lkIDAhPT1iLmtleSYmKGs9XCJcIitiLmtleSksYilKLmNhbGwoYixkKSYmIUwuaGFzT3duUHJvcGVydHkoZCkmJihjW2RdPWJbZF0pO3ZhciBnPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09ZyljLmNoaWxkcmVuPWU7ZWxzZSBpZigxPGcpe2Zvcih2YXIgZj1BcnJheShnKSxtPTA7bTxnO20rKylmW21dPWFyZ3VtZW50c1ttKzJdO2MuY2hpbGRyZW49Zn1pZihhJiZhLmRlZmF1bHRQcm9wcylmb3IoZCBpbiBnPWEuZGVmYXVsdFByb3BzLGcpdm9pZCAwPT09Y1tkXSYmKGNbZF09Z1tkXSk7cmV0dXJueyQkdHlwZW9mOmwsdHlwZTphLGtleTprLHJlZjpoLHByb3BzOmMsX293bmVyOksuY3VycmVudH19XG5mdW5jdGlvbiBOKGEsYil7cmV0dXJueyQkdHlwZW9mOmwsdHlwZTphLnR5cGUsa2V5OmIscmVmOmEucmVmLHByb3BzOmEucHJvcHMsX293bmVyOmEuX293bmVyfX1mdW5jdGlvbiBPKGEpe3JldHVyblwib2JqZWN0XCI9PT10eXBlb2YgYSYmbnVsbCE9PWEmJmEuJCR0eXBlb2Y9PT1sfWZ1bmN0aW9uIGVzY2FwZShhKXt2YXIgYj17XCI9XCI6XCI9MFwiLFwiOlwiOlwiPTJcIn07cmV0dXJuXCIkXCIrYS5yZXBsYWNlKC9bPTpdL2csZnVuY3Rpb24oYSl7cmV0dXJuIGJbYV19KX12YXIgUD0vXFwvKy9nO2Z1bmN0aW9uIFEoYSxiKXtyZXR1cm5cIm9iamVjdFwiPT09dHlwZW9mIGEmJm51bGwhPT1hJiZudWxsIT1hLmtleT9lc2NhcGUoXCJcIithLmtleSk6Yi50b1N0cmluZygzNil9XG5mdW5jdGlvbiBSKGEsYixlLGQsYyl7dmFyIGs9dHlwZW9mIGE7aWYoXCJ1bmRlZmluZWRcIj09PWt8fFwiYm9vbGVhblwiPT09aylhPW51bGw7dmFyIGg9ITE7aWYobnVsbD09PWEpaD0hMDtlbHNlIHN3aXRjaChrKXtjYXNlIFwic3RyaW5nXCI6Y2FzZSBcIm51bWJlclwiOmg9ITA7YnJlYWs7Y2FzZSBcIm9iamVjdFwiOnN3aXRjaChhLiQkdHlwZW9mKXtjYXNlIGw6Y2FzZSBuOmg9ITB9fWlmKGgpcmV0dXJuIGg9YSxjPWMoaCksYT1cIlwiPT09ZD9cIi5cIitRKGgsMCk6ZCxJKGMpPyhlPVwiXCIsbnVsbCE9YSYmKGU9YS5yZXBsYWNlKFAsXCIkJi9cIikrXCIvXCIpLFIoYyxiLGUsXCJcIixmdW5jdGlvbihhKXtyZXR1cm4gYX0pKTpudWxsIT1jJiYoTyhjKSYmKGM9TihjLGUrKCFjLmtleXx8aCYmaC5rZXk9PT1jLmtleT9cIlwiOihcIlwiK2Mua2V5KS5yZXBsYWNlKFAsXCIkJi9cIikrXCIvXCIpK2EpKSxiLnB1c2goYykpLDE7aD0wO2Q9XCJcIj09PWQ/XCIuXCI6ZCtcIjpcIjtpZihJKGEpKWZvcih2YXIgZz0wO2c8YS5sZW5ndGg7ZysrKXtrPVxuYVtnXTt2YXIgZj1kK1EoayxnKTtoKz1SKGssYixlLGYsYyl9ZWxzZSBpZihmPUEoYSksXCJmdW5jdGlvblwiPT09dHlwZW9mIGYpZm9yKGE9Zi5jYWxsKGEpLGc9MDshKGs9YS5uZXh0KCkpLmRvbmU7KWs9ay52YWx1ZSxmPWQrUShrLGcrKyksaCs9UihrLGIsZSxmLGMpO2Vsc2UgaWYoXCJvYmplY3RcIj09PWspdGhyb3cgYj1TdHJpbmcoYSksRXJyb3IoXCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6IFwiKyhcIltvYmplY3QgT2JqZWN0XVwiPT09Yj9cIm9iamVjdCB3aXRoIGtleXMge1wiK09iamVjdC5rZXlzKGEpLmpvaW4oXCIsIFwiKStcIn1cIjpiKStcIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC5cIik7cmV0dXJuIGh9XG5mdW5jdGlvbiBTKGEsYixlKXtpZihudWxsPT1hKXJldHVybiBhO3ZhciBkPVtdLGM9MDtSKGEsZCxcIlwiLFwiXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGIuY2FsbChlLGEsYysrKX0pO3JldHVybiBkfWZ1bmN0aW9uIFQoYSl7aWYoLTE9PT1hLl9zdGF0dXMpe3ZhciBiPWEuX3Jlc3VsdDtiPWIoKTtiLnRoZW4oZnVuY3Rpb24oYil7aWYoMD09PWEuX3N0YXR1c3x8LTE9PT1hLl9zdGF0dXMpYS5fc3RhdHVzPTEsYS5fcmVzdWx0PWJ9LGZ1bmN0aW9uKGIpe2lmKDA9PT1hLl9zdGF0dXN8fC0xPT09YS5fc3RhdHVzKWEuX3N0YXR1cz0yLGEuX3Jlc3VsdD1ifSk7LTE9PT1hLl9zdGF0dXMmJihhLl9zdGF0dXM9MCxhLl9yZXN1bHQ9Yil9aWYoMT09PWEuX3N0YXR1cylyZXR1cm4gYS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgYS5fcmVzdWx0O31cbnZhciBVPXtjdXJyZW50Om51bGx9LFY9e3RyYW5zaXRpb246bnVsbH0sVz17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjpVLFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOlYsUmVhY3RDdXJyZW50T3duZXI6S307ZnVuY3Rpb24gWCgpe3Rocm93IEVycm9yKFwiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC5cIik7fVxuZXhwb3J0cy5DaGlsZHJlbj17bWFwOlMsZm9yRWFjaDpmdW5jdGlvbihhLGIsZSl7UyhhLGZ1bmN0aW9uKCl7Yi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUpfSxjb3VudDpmdW5jdGlvbihhKXt2YXIgYj0wO1MoYSxmdW5jdGlvbigpe2IrK30pO3JldHVybiBifSx0b0FycmF5OmZ1bmN0aW9uKGEpe3JldHVybiBTKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGF9KXx8W119LG9ubHk6ZnVuY3Rpb24oYSl7aWYoIU8oYSkpdGhyb3cgRXJyb3IoXCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC5cIik7cmV0dXJuIGF9fTtleHBvcnRzLkNvbXBvbmVudD1FO2V4cG9ydHMuRnJhZ21lbnQ9cDtleHBvcnRzLlByb2ZpbGVyPXI7ZXhwb3J0cy5QdXJlQ29tcG9uZW50PUc7ZXhwb3J0cy5TdHJpY3RNb2RlPXE7ZXhwb3J0cy5TdXNwZW5zZT13O1xuZXhwb3J0cy5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD1XO2V4cG9ydHMuYWN0PVg7XG5leHBvcnRzLmNsb25lRWxlbWVudD1mdW5jdGlvbihhLGIsZSl7aWYobnVsbD09PWF8fHZvaWQgMD09PWEpdGhyb3cgRXJyb3IoXCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCBcIithK1wiLlwiKTt2YXIgZD1DKHt9LGEucHJvcHMpLGM9YS5rZXksaz1hLnJlZixoPWEuX293bmVyO2lmKG51bGwhPWIpe3ZvaWQgMCE9PWIucmVmJiYoaz1iLnJlZixoPUsuY3VycmVudCk7dm9pZCAwIT09Yi5rZXkmJihjPVwiXCIrYi5rZXkpO2lmKGEudHlwZSYmYS50eXBlLmRlZmF1bHRQcm9wcyl2YXIgZz1hLnR5cGUuZGVmYXVsdFByb3BzO2ZvcihmIGluIGIpSi5jYWxsKGIsZikmJiFMLmhhc093blByb3BlcnR5KGYpJiYoZFtmXT12b2lkIDA9PT1iW2ZdJiZ2b2lkIDAhPT1nP2dbZl06YltmXSl9dmFyIGY9YXJndW1lbnRzLmxlbmd0aC0yO2lmKDE9PT1mKWQuY2hpbGRyZW49ZTtlbHNlIGlmKDE8Zil7Zz1BcnJheShmKTtcbmZvcih2YXIgbT0wO208ZjttKyspZ1ttXT1hcmd1bWVudHNbbSsyXTtkLmNoaWxkcmVuPWd9cmV0dXJueyQkdHlwZW9mOmwsdHlwZTphLnR5cGUsa2V5OmMscmVmOmsscHJvcHM6ZCxfb3duZXI6aH19O2V4cG9ydHMuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihhKXthPXskJHR5cGVvZjp1LF9jdXJyZW50VmFsdWU6YSxfY3VycmVudFZhbHVlMjphLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbCxfZGVmYXVsdFZhbHVlOm51bGwsX2dsb2JhbE5hbWU6bnVsbH07YS5Qcm92aWRlcj17JCR0eXBlb2Y6dCxfY29udGV4dDphfTtyZXR1cm4gYS5Db25zdW1lcj1hfTtleHBvcnRzLmNyZWF0ZUVsZW1lbnQ9TTtleHBvcnRzLmNyZWF0ZUZhY3Rvcnk9ZnVuY3Rpb24oYSl7dmFyIGI9TS5iaW5kKG51bGwsYSk7Yi50eXBlPWE7cmV0dXJuIGJ9O2V4cG9ydHMuY3JlYXRlUmVmPWZ1bmN0aW9uKCl7cmV0dXJue2N1cnJlbnQ6bnVsbH19O1xuZXhwb3J0cy5mb3J3YXJkUmVmPWZ1bmN0aW9uKGEpe3JldHVybnskJHR5cGVvZjp2LHJlbmRlcjphfX07ZXhwb3J0cy5pc1ZhbGlkRWxlbWVudD1PO2V4cG9ydHMubGF6eT1mdW5jdGlvbihhKXtyZXR1cm57JCR0eXBlb2Y6eSxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmF9LF9pbml0OlR9fTtleHBvcnRzLm1lbW89ZnVuY3Rpb24oYSxiKXtyZXR1cm57JCR0eXBlb2Y6eCx0eXBlOmEsY29tcGFyZTp2b2lkIDA9PT1iP251bGw6Yn19O2V4cG9ydHMuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGEpe3ZhciBiPVYudHJhbnNpdGlvbjtWLnRyYW5zaXRpb249e307dHJ5e2EoKX1maW5hbGx5e1YudHJhbnNpdGlvbj1ifX07ZXhwb3J0cy51bnN0YWJsZV9hY3Q9WDtleHBvcnRzLnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFUuY3VycmVudC51c2VDYWxsYmFjayhhLGIpfTtleHBvcnRzLnVzZUNvbnRleHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIFUuY3VycmVudC51c2VDb250ZXh0KGEpfTtcbmV4cG9ydHMudXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe307ZXhwb3J0cy51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGEpe3JldHVybiBVLmN1cnJlbnQudXNlRGVmZXJyZWRWYWx1ZShhKX07ZXhwb3J0cy51c2VFZmZlY3Q9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVS5jdXJyZW50LnVzZUVmZmVjdChhLGIpfTtleHBvcnRzLnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIFUuY3VycmVudC51c2VJZCgpfTtleHBvcnRzLnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oYSxiLGUpe3JldHVybiBVLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShhLGIsZSl9O2V4cG9ydHMudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIFUuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoYSxiKX07ZXhwb3J0cy51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVS5jdXJyZW50LnVzZUxheW91dEVmZmVjdChhLGIpfTtcbmV4cG9ydHMudXNlTWVtbz1mdW5jdGlvbihhLGIpe3JldHVybiBVLmN1cnJlbnQudXNlTWVtbyhhLGIpfTtleHBvcnRzLnVzZVJlZHVjZXI9ZnVuY3Rpb24oYSxiLGUpe3JldHVybiBVLmN1cnJlbnQudXNlUmVkdWNlcihhLGIsZSl9O2V4cG9ydHMudXNlUmVmPWZ1bmN0aW9uKGEpe3JldHVybiBVLmN1cnJlbnQudXNlUmVmKGEpfTtleHBvcnRzLnVzZVN0YXRlPWZ1bmN0aW9uKGEpe3JldHVybiBVLmN1cnJlbnQudXNlU3RhdGUoYSl9O2V4cG9ydHMudXNlU3luY0V4dGVybmFsU3RvcmU9ZnVuY3Rpb24oYSxiLGUpe3JldHVybiBVLmN1cnJlbnQudXNlU3luY0V4dGVybmFsU3RvcmUoYSxiLGUpfTtleHBvcnRzLnVzZVRyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gVS5jdXJyZW50LnVzZVRyYW5zaXRpb24oKX07ZXhwb3J0cy52ZXJzaW9uPVwiMTguMy4xXCI7XG4iLCIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiIsIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1ydW50aW1lLnByb2R1Y3Rpb24ubWluLmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbid1c2Ugc3RyaWN0Jzt2YXIgZj1yZXF1aXJlKFwicmVhY3RcIiksaz1TeW1ib2wuZm9yKFwicmVhY3QuZWxlbWVudFwiKSxsPVN5bWJvbC5mb3IoXCJyZWFjdC5mcmFnbWVudFwiKSxtPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksbj1mLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVELlJlYWN0Q3VycmVudE93bmVyLHA9e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtcbmZ1bmN0aW9uIHEoYyxhLGcpe3ZhciBiLGQ9e30sZT1udWxsLGg9bnVsbDt2b2lkIDAhPT1nJiYoZT1cIlwiK2cpO3ZvaWQgMCE9PWEua2V5JiYoZT1cIlwiK2Eua2V5KTt2b2lkIDAhPT1hLnJlZiYmKGg9YS5yZWYpO2ZvcihiIGluIGEpbS5jYWxsKGEsYikmJiFwLmhhc093blByb3BlcnR5KGIpJiYoZFtiXT1hW2JdKTtpZihjJiZjLmRlZmF1bHRQcm9wcylmb3IoYiBpbiBhPWMuZGVmYXVsdFByb3BzLGEpdm9pZCAwPT09ZFtiXSYmKGRbYl09YVtiXSk7cmV0dXJueyQkdHlwZW9mOmssdHlwZTpjLGtleTplLHJlZjpoLHByb3BzOmQsX293bmVyOm4uY3VycmVudH19ZXhwb3J0cy5GcmFnbWVudD1sO2V4cG9ydHMuanN4PXE7ZXhwb3J0cy5qc3hzPXE7XG4iLCIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LXJ1bnRpbWUucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiIsIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHNjaGVkdWxlci5wcm9kdWN0aW9uLm1pbi5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG4ndXNlIHN0cmljdCc7ZnVuY3Rpb24gZihhLGIpe3ZhciBjPWEubGVuZ3RoO2EucHVzaChiKTthOmZvcig7MDxjOyl7dmFyIGQ9Yy0xPj4+MSxlPWFbZF07aWYoMDxnKGUsYikpYVtkXT1iLGFbY109ZSxjPWQ7ZWxzZSBicmVhayBhfX1mdW5jdGlvbiBoKGEpe3JldHVybiAwPT09YS5sZW5ndGg/bnVsbDphWzBdfWZ1bmN0aW9uIGsoYSl7aWYoMD09PWEubGVuZ3RoKXJldHVybiBudWxsO3ZhciBiPWFbMF0sYz1hLnBvcCgpO2lmKGMhPT1iKXthWzBdPWM7YTpmb3IodmFyIGQ9MCxlPWEubGVuZ3RoLHc9ZT4+PjE7ZDx3Oyl7dmFyIG09MiooZCsxKS0xLEM9YVttXSxuPW0rMSx4PWFbbl07aWYoMD5nKEMsYykpbjxlJiYwPmcoeCxDKT8oYVtkXT14LGFbbl09YyxkPW4pOihhW2RdPUMsYVttXT1jLGQ9bSk7ZWxzZSBpZihuPGUmJjA+Zyh4LGMpKWFbZF09eCxhW25dPWMsZD1uO2Vsc2UgYnJlYWsgYX19cmV0dXJuIGJ9XG5mdW5jdGlvbiBnKGEsYil7dmFyIGM9YS5zb3J0SW5kZXgtYi5zb3J0SW5kZXg7cmV0dXJuIDAhPT1jP2M6YS5pZC1iLmlkfWlmKFwib2JqZWN0XCI9PT10eXBlb2YgcGVyZm9ybWFuY2UmJlwiZnVuY3Rpb25cIj09PXR5cGVvZiBwZXJmb3JtYW5jZS5ub3cpe3ZhciBsPXBlcmZvcm1hbmNlO2V4cG9ydHMudW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIGwubm93KCl9fWVsc2V7dmFyIHA9RGF0ZSxxPXAubm93KCk7ZXhwb3J0cy51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gcC5ub3coKS1xfX12YXIgcj1bXSx0PVtdLHU9MSx2PW51bGwseT0zLHo9ITEsQT0hMSxCPSExLEQ9XCJmdW5jdGlvblwiPT09dHlwZW9mIHNldFRpbWVvdXQ/c2V0VGltZW91dDpudWxsLEU9XCJmdW5jdGlvblwiPT09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6bnVsbCxGPVwidW5kZWZpbmVkXCIhPT10eXBlb2Ygc2V0SW1tZWRpYXRlP3NldEltbWVkaWF0ZTpudWxsO1xuXCJ1bmRlZmluZWRcIiE9PXR5cGVvZiBuYXZpZ2F0b3ImJnZvaWQgMCE9PW5hdmlnYXRvci5zY2hlZHVsaW5nJiZ2b2lkIDAhPT1uYXZpZ2F0b3Iuc2NoZWR1bGluZy5pc0lucHV0UGVuZGluZyYmbmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcuYmluZChuYXZpZ2F0b3Iuc2NoZWR1bGluZyk7ZnVuY3Rpb24gRyhhKXtmb3IodmFyIGI9aCh0KTtudWxsIT09Yjspe2lmKG51bGw9PT1iLmNhbGxiYWNrKWsodCk7ZWxzZSBpZihiLnN0YXJ0VGltZTw9YSlrKHQpLGIuc29ydEluZGV4PWIuZXhwaXJhdGlvblRpbWUsZihyLGIpO2Vsc2UgYnJlYWs7Yj1oKHQpfX1mdW5jdGlvbiBIKGEpe0I9ITE7RyhhKTtpZighQSlpZihudWxsIT09aChyKSlBPSEwLEkoSik7ZWxzZXt2YXIgYj1oKHQpO251bGwhPT1iJiZLKEgsYi5zdGFydFRpbWUtYSl9fVxuZnVuY3Rpb24gSihhLGIpe0E9ITE7QiYmKEI9ITEsRShMKSxMPS0xKTt6PSEwO3ZhciBjPXk7dHJ5e0coYik7Zm9yKHY9aChyKTtudWxsIT09diYmKCEodi5leHBpcmF0aW9uVGltZT5iKXx8YSYmIU0oKSk7KXt2YXIgZD12LmNhbGxiYWNrO2lmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBkKXt2LmNhbGxiYWNrPW51bGw7eT12LnByaW9yaXR5TGV2ZWw7dmFyIGU9ZCh2LmV4cGlyYXRpb25UaW1lPD1iKTtiPWV4cG9ydHMudW5zdGFibGVfbm93KCk7XCJmdW5jdGlvblwiPT09dHlwZW9mIGU/di5jYWxsYmFjaz1lOnY9PT1oKHIpJiZrKHIpO0coYil9ZWxzZSBrKHIpO3Y9aChyKX1pZihudWxsIT09dil2YXIgdz0hMDtlbHNle3ZhciBtPWgodCk7bnVsbCE9PW0mJksoSCxtLnN0YXJ0VGltZS1iKTt3PSExfXJldHVybiB3fWZpbmFsbHl7dj1udWxsLHk9Yyx6PSExfX12YXIgTj0hMSxPPW51bGwsTD0tMSxQPTUsUT0tMTtcbmZ1bmN0aW9uIE0oKXtyZXR1cm4gZXhwb3J0cy51bnN0YWJsZV9ub3coKS1RPFA/ITE6ITB9ZnVuY3Rpb24gUigpe2lmKG51bGwhPT1PKXt2YXIgYT1leHBvcnRzLnVuc3RhYmxlX25vdygpO1E9YTt2YXIgYj0hMDt0cnl7Yj1PKCEwLGEpfWZpbmFsbHl7Yj9TKCk6KE49ITEsTz1udWxsKX19ZWxzZSBOPSExfXZhciBTO2lmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBGKVM9ZnVuY3Rpb24oKXtGKFIpfTtlbHNlIGlmKFwidW5kZWZpbmVkXCIhPT10eXBlb2YgTWVzc2FnZUNoYW5uZWwpe3ZhciBUPW5ldyBNZXNzYWdlQ2hhbm5lbCxVPVQucG9ydDI7VC5wb3J0MS5vbm1lc3NhZ2U9UjtTPWZ1bmN0aW9uKCl7VS5wb3N0TWVzc2FnZShudWxsKX19ZWxzZSBTPWZ1bmN0aW9uKCl7RChSLDApfTtmdW5jdGlvbiBJKGEpe089YTtOfHwoTj0hMCxTKCkpfWZ1bmN0aW9uIEsoYSxiKXtMPUQoZnVuY3Rpb24oKXthKGV4cG9ydHMudW5zdGFibGVfbm93KCkpfSxiKX1cbmV4cG9ydHMudW5zdGFibGVfSWRsZVByaW9yaXR5PTU7ZXhwb3J0cy51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eT0xO2V4cG9ydHMudW5zdGFibGVfTG93UHJpb3JpdHk9NDtleHBvcnRzLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5PTM7ZXhwb3J0cy51bnN0YWJsZV9Qcm9maWxpbmc9bnVsbDtleHBvcnRzLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5PTI7ZXhwb3J0cy51bnN0YWJsZV9jYW5jZWxDYWxsYmFjaz1mdW5jdGlvbihhKXthLmNhbGxiYWNrPW51bGx9O2V4cG9ydHMudW5zdGFibGVfY29udGludWVFeGVjdXRpb249ZnVuY3Rpb24oKXtBfHx6fHwoQT0hMCxJKEopKX07XG5leHBvcnRzLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGEpezA+YXx8MTI1PGE/Y29uc29sZS5lcnJvcihcImZvcmNlRnJhbWVSYXRlIHRha2VzIGEgcG9zaXRpdmUgaW50IGJldHdlZW4gMCBhbmQgMTI1LCBmb3JjaW5nIGZyYW1lIHJhdGVzIGhpZ2hlciB0aGFuIDEyNSBmcHMgaXMgbm90IHN1cHBvcnRlZFwiKTpQPTA8YT9NYXRoLmZsb29yKDFFMy9hKTo1fTtleHBvcnRzLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsPWZ1bmN0aW9uKCl7cmV0dXJuIHl9O2V4cG9ydHMudW5zdGFibGVfZ2V0Rmlyc3RDYWxsYmFja05vZGU9ZnVuY3Rpb24oKXtyZXR1cm4gaChyKX07ZXhwb3J0cy51bnN0YWJsZV9uZXh0PWZ1bmN0aW9uKGEpe3N3aXRjaCh5KXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzp2YXIgYj0zO2JyZWFrO2RlZmF1bHQ6Yj15fXZhciBjPXk7eT1iO3RyeXtyZXR1cm4gYSgpfWZpbmFsbHl7eT1jfX07ZXhwb3J0cy51bnN0YWJsZV9wYXVzZUV4ZWN1dGlvbj1mdW5jdGlvbigpe307XG5leHBvcnRzLnVuc3RhYmxlX3JlcXVlc3RQYWludD1mdW5jdGlvbigpe307ZXhwb3J0cy51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHk9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYSl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6Y2FzZSA0OmNhc2UgNTpicmVhaztkZWZhdWx0OmE9M312YXIgYz15O3k9YTt0cnl7cmV0dXJuIGIoKX1maW5hbGx5e3k9Y319O1xuZXhwb3J0cy51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1leHBvcnRzLnVuc3RhYmxlX25vdygpO1wib2JqZWN0XCI9PT10eXBlb2YgYyYmbnVsbCE9PWM/KGM9Yy5kZWxheSxjPVwibnVtYmVyXCI9PT10eXBlb2YgYyYmMDxjP2QrYzpkKTpjPWQ7c3dpdGNoKGEpe2Nhc2UgMTp2YXIgZT0tMTticmVhaztjYXNlIDI6ZT0yNTA7YnJlYWs7Y2FzZSA1OmU9MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6ZT0xRTQ7YnJlYWs7ZGVmYXVsdDplPTVFM31lPWMrZTthPXtpZDp1KyssY2FsbGJhY2s6Yixwcmlvcml0eUxldmVsOmEsc3RhcnRUaW1lOmMsZXhwaXJhdGlvblRpbWU6ZSxzb3J0SW5kZXg6LTF9O2M+ZD8oYS5zb3J0SW5kZXg9YyxmKHQsYSksbnVsbD09PWgocikmJmE9PT1oKHQpJiYoQj8oRShMKSxMPS0xKTpCPSEwLEsoSCxjLWQpKSk6KGEuc29ydEluZGV4PWUsZihyLGEpLEF8fHp8fChBPSEwLEkoSikpKTtyZXR1cm4gYX07XG5leHBvcnRzLnVuc3RhYmxlX3Nob3VsZFlpZWxkPU07ZXhwb3J0cy51bnN0YWJsZV93cmFwQ2FsbGJhY2s9ZnVuY3Rpb24oYSl7dmFyIGI9eTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYz15O3k9Yjt0cnl7cmV0dXJuIGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZpbmFsbHl7eT1jfX19O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3NjaGVkdWxlci5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiIsIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWRvbS5wcm9kdWN0aW9uLm1pbi5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG4vKlxuIE1vZGVybml6ciAzLjAuMHByZSAoQ3VzdG9tIEJ1aWxkKSB8IE1JVFxuKi9cbid1c2Ugc3RyaWN0Jzt2YXIgYWE9cmVxdWlyZShcInJlYWN0XCIpLGNhPXJlcXVpcmUoXCJzY2hlZHVsZXJcIik7ZnVuY3Rpb24gcChhKXtmb3IodmFyIGI9XCJodHRwczovL3JlYWN0anMub3JnL2RvY3MvZXJyb3ItZGVjb2Rlci5odG1sP2ludmFyaWFudD1cIithLGM9MTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKWIrPVwiJmFyZ3NbXT1cIitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzW2NdKTtyZXR1cm5cIk1pbmlmaWVkIFJlYWN0IGVycm9yICNcIithK1wiOyB2aXNpdCBcIitiK1wiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy5cIn12YXIgZGE9bmV3IFNldCxlYT17fTtmdW5jdGlvbiBmYShhLGIpe2hhKGEsYik7aGEoYStcIkNhcHR1cmVcIixiKX1cbmZ1bmN0aW9uIGhhKGEsYil7ZWFbYV09Yjtmb3IoYT0wO2E8Yi5sZW5ndGg7YSsrKWRhLmFkZChiW2FdKX1cbnZhciBpYT0hKFwidW5kZWZpbmVkXCI9PT10eXBlb2Ygd2luZG93fHxcInVuZGVmaW5lZFwiPT09dHlwZW9mIHdpbmRvdy5kb2N1bWVudHx8XCJ1bmRlZmluZWRcIj09PXR5cGVvZiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCksamE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxrYT0vXls6QS1aX2EtelxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDJGRlxcdTAzNzAtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRF1bOkEtWl9hLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRcXC0uMC05XFx1MDBCN1xcdTAzMDAtXFx1MDM2RlxcdTIwM0YtXFx1MjA0MF0qJC8sbGE9XG57fSxtYT17fTtmdW5jdGlvbiBvYShhKXtpZihqYS5jYWxsKG1hLGEpKXJldHVybiEwO2lmKGphLmNhbGwobGEsYSkpcmV0dXJuITE7aWYoa2EudGVzdChhKSlyZXR1cm4gbWFbYV09ITA7bGFbYV09ITA7cmV0dXJuITF9ZnVuY3Rpb24gcGEoYSxiLGMsZCl7aWYobnVsbCE9PWMmJjA9PT1jLnR5cGUpcmV0dXJuITE7c3dpdGNoKHR5cGVvZiBiKXtjYXNlIFwiZnVuY3Rpb25cIjpjYXNlIFwic3ltYm9sXCI6cmV0dXJuITA7Y2FzZSBcImJvb2xlYW5cIjppZihkKXJldHVybiExO2lmKG51bGwhPT1jKXJldHVybiFjLmFjY2VwdHNCb29sZWFuczthPWEudG9Mb3dlckNhc2UoKS5zbGljZSgwLDUpO3JldHVyblwiZGF0YS1cIiE9PWEmJlwiYXJpYS1cIiE9PWE7ZGVmYXVsdDpyZXR1cm4hMX19XG5mdW5jdGlvbiBxYShhLGIsYyxkKXtpZihudWxsPT09Ynx8XCJ1bmRlZmluZWRcIj09PXR5cGVvZiBifHxwYShhLGIsYyxkKSlyZXR1cm4hMDtpZihkKXJldHVybiExO2lmKG51bGwhPT1jKXN3aXRjaChjLnR5cGUpe2Nhc2UgMzpyZXR1cm4hYjtjYXNlIDQ6cmV0dXJuITE9PT1iO2Nhc2UgNTpyZXR1cm4gaXNOYU4oYik7Y2FzZSA2OnJldHVybiBpc05hTihiKXx8MT5ifXJldHVybiExfWZ1bmN0aW9uIHYoYSxiLGMsZCxlLGYsZyl7dGhpcy5hY2NlcHRzQm9vbGVhbnM9Mj09PWJ8fDM9PT1ifHw0PT09Yjt0aGlzLmF0dHJpYnV0ZU5hbWU9ZDt0aGlzLmF0dHJpYnV0ZU5hbWVzcGFjZT1lO3RoaXMubXVzdFVzZVByb3BlcnR5PWM7dGhpcy5wcm9wZXJ0eU5hbWU9YTt0aGlzLnR5cGU9Yjt0aGlzLnNhbml0aXplVVJMPWY7dGhpcy5yZW1vdmVFbXB0eVN0cmluZz1nfXZhciB6PXt9O1xuXCJjaGlsZHJlbiBkYW5nZXJvdXNseVNldElubmVySFRNTCBkZWZhdWx0VmFsdWUgZGVmYXVsdENoZWNrZWQgaW5uZXJIVE1MIHN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcgc3R5bGVcIi5zcGxpdChcIiBcIikuZm9yRWFjaChmdW5jdGlvbihhKXt6W2FdPW5ldyB2KGEsMCwhMSxhLG51bGwsITEsITEpfSk7W1tcImFjY2VwdENoYXJzZXRcIixcImFjY2VwdC1jaGFyc2V0XCJdLFtcImNsYXNzTmFtZVwiLFwiY2xhc3NcIl0sW1wiaHRtbEZvclwiLFwiZm9yXCJdLFtcImh0dHBFcXVpdlwiLFwiaHR0cC1lcXVpdlwiXV0uZm9yRWFjaChmdW5jdGlvbihhKXt2YXIgYj1hWzBdO3pbYl09bmV3IHYoYiwxLCExLGFbMV0sbnVsbCwhMSwhMSl9KTtbXCJjb250ZW50RWRpdGFibGVcIixcImRyYWdnYWJsZVwiLFwic3BlbGxDaGVja1wiLFwidmFsdWVcIl0uZm9yRWFjaChmdW5jdGlvbihhKXt6W2FdPW5ldyB2KGEsMiwhMSxhLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KTtcbltcImF1dG9SZXZlcnNlXCIsXCJleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkXCIsXCJmb2N1c2FibGVcIixcInByZXNlcnZlQWxwaGFcIl0uZm9yRWFjaChmdW5jdGlvbihhKXt6W2FdPW5ldyB2KGEsMiwhMSxhLG51bGwsITEsITEpfSk7XCJhbGxvd0Z1bGxTY3JlZW4gYXN5bmMgYXV0b0ZvY3VzIGF1dG9QbGF5IGNvbnRyb2xzIGRlZmF1bHQgZGVmZXIgZGlzYWJsZWQgZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUgZGlzYWJsZVJlbW90ZVBsYXliYWNrIGZvcm1Ob1ZhbGlkYXRlIGhpZGRlbiBsb29wIG5vTW9kdWxlIG5vVmFsaWRhdGUgb3BlbiBwbGF5c0lubGluZSByZWFkT25seSByZXF1aXJlZCByZXZlcnNlZCBzY29wZWQgc2VhbWxlc3MgaXRlbVNjb3BlXCIuc3BsaXQoXCIgXCIpLmZvckVhY2goZnVuY3Rpb24oYSl7elthXT1uZXcgdihhLDMsITEsYS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSk7XG5bXCJjaGVja2VkXCIsXCJtdWx0aXBsZVwiLFwibXV0ZWRcIixcInNlbGVjdGVkXCJdLmZvckVhY2goZnVuY3Rpb24oYSl7elthXT1uZXcgdihhLDMsITAsYSxudWxsLCExLCExKX0pO1tcImNhcHR1cmVcIixcImRvd25sb2FkXCJdLmZvckVhY2goZnVuY3Rpb24oYSl7elthXT1uZXcgdihhLDQsITEsYSxudWxsLCExLCExKX0pO1tcImNvbHNcIixcInJvd3NcIixcInNpemVcIixcInNwYW5cIl0uZm9yRWFjaChmdW5jdGlvbihhKXt6W2FdPW5ldyB2KGEsNiwhMSxhLG51bGwsITEsITEpfSk7W1wicm93U3BhblwiLFwic3RhcnRcIl0uZm9yRWFjaChmdW5jdGlvbihhKXt6W2FdPW5ldyB2KGEsNSwhMSxhLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KTt2YXIgcmE9L1tcXC06XShbYS16XSkvZztmdW5jdGlvbiBzYShhKXtyZXR1cm4gYVsxXS50b1VwcGVyQ2FzZSgpfVxuXCJhY2NlbnQtaGVpZ2h0IGFsaWdubWVudC1iYXNlbGluZSBhcmFiaWMtZm9ybSBiYXNlbGluZS1zaGlmdCBjYXAtaGVpZ2h0IGNsaXAtcGF0aCBjbGlwLXJ1bGUgY29sb3ItaW50ZXJwb2xhdGlvbiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMgY29sb3ItcHJvZmlsZSBjb2xvci1yZW5kZXJpbmcgZG9taW5hbnQtYmFzZWxpbmUgZW5hYmxlLWJhY2tncm91bmQgZmlsbC1vcGFjaXR5IGZpbGwtcnVsZSBmbG9vZC1jb2xvciBmbG9vZC1vcGFjaXR5IGZvbnQtZmFtaWx5IGZvbnQtc2l6ZSBmb250LXNpemUtYWRqdXN0IGZvbnQtc3RyZXRjaCBmb250LXN0eWxlIGZvbnQtdmFyaWFudCBmb250LXdlaWdodCBnbHlwaC1uYW1lIGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwgZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwgaG9yaXotYWR2LXggaG9yaXotb3JpZ2luLXggaW1hZ2UtcmVuZGVyaW5nIGxldHRlci1zcGFjaW5nIGxpZ2h0aW5nLWNvbG9yIG1hcmtlci1lbmQgbWFya2VyLW1pZCBtYXJrZXItc3RhcnQgb3ZlcmxpbmUtcG9zaXRpb24gb3ZlcmxpbmUtdGhpY2tuZXNzIHBhaW50LW9yZGVyIHBhbm9zZS0xIHBvaW50ZXItZXZlbnRzIHJlbmRlcmluZy1pbnRlbnQgc2hhcGUtcmVuZGVyaW5nIHN0b3AtY29sb3Igc3RvcC1vcGFjaXR5IHN0cmlrZXRocm91Z2gtcG9zaXRpb24gc3RyaWtldGhyb3VnaC10aGlja25lc3Mgc3Ryb2tlLWRhc2hhcnJheSBzdHJva2UtZGFzaG9mZnNldCBzdHJva2UtbGluZWNhcCBzdHJva2UtbGluZWpvaW4gc3Ryb2tlLW1pdGVybGltaXQgc3Ryb2tlLW9wYWNpdHkgc3Ryb2tlLXdpZHRoIHRleHQtYW5jaG9yIHRleHQtZGVjb3JhdGlvbiB0ZXh0LXJlbmRlcmluZyB1bmRlcmxpbmUtcG9zaXRpb24gdW5kZXJsaW5lLXRoaWNrbmVzcyB1bmljb2RlLWJpZGkgdW5pY29kZS1yYW5nZSB1bml0cy1wZXItZW0gdi1hbHBoYWJldGljIHYtaGFuZ2luZyB2LWlkZW9ncmFwaGljIHYtbWF0aGVtYXRpY2FsIHZlY3Rvci1lZmZlY3QgdmVydC1hZHYteSB2ZXJ0LW9yaWdpbi14IHZlcnQtb3JpZ2luLXkgd29yZC1zcGFjaW5nIHdyaXRpbmctbW9kZSB4bWxuczp4bGluayB4LWhlaWdodFwiLnNwbGl0KFwiIFwiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShyYSxcbnNhKTt6W2JdPW5ldyB2KGIsMSwhMSxhLG51bGwsITEsITEpfSk7XCJ4bGluazphY3R1YXRlIHhsaW5rOmFyY3JvbGUgeGxpbms6cm9sZSB4bGluazpzaG93IHhsaW5rOnRpdGxlIHhsaW5rOnR5cGVcIi5zcGxpdChcIiBcIikuZm9yRWFjaChmdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UocmEsc2EpO3pbYl09bmV3IHYoYiwxLCExLGEsXCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIsITEsITEpfSk7W1wieG1sOmJhc2VcIixcInhtbDpsYW5nXCIsXCJ4bWw6c3BhY2VcIl0uZm9yRWFjaChmdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UocmEsc2EpO3pbYl09bmV3IHYoYiwxLCExLGEsXCJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2VcIiwhMSwhMSl9KTtbXCJ0YWJJbmRleFwiLFwiY3Jvc3NPcmlnaW5cIl0uZm9yRWFjaChmdW5jdGlvbihhKXt6W2FdPW5ldyB2KGEsMSwhMSxhLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KTtcbnoueGxpbmtIcmVmPW5ldyB2KFwieGxpbmtIcmVmXCIsMSwhMSxcInhsaW5rOmhyZWZcIixcImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiwhMCwhMSk7W1wic3JjXCIsXCJocmVmXCIsXCJhY3Rpb25cIixcImZvcm1BY3Rpb25cIl0uZm9yRWFjaChmdW5jdGlvbihhKXt6W2FdPW5ldyB2KGEsMSwhMSxhLnRvTG93ZXJDYXNlKCksbnVsbCwhMCwhMCl9KTtcbmZ1bmN0aW9uIHRhKGEsYixjLGQpe3ZhciBlPXouaGFzT3duUHJvcGVydHkoYik/eltiXTpudWxsO2lmKG51bGwhPT1lPzAhPT1lLnR5cGU6ZHx8ISgyPGIubGVuZ3RoKXx8XCJvXCIhPT1iWzBdJiZcIk9cIiE9PWJbMF18fFwiblwiIT09YlsxXSYmXCJOXCIhPT1iWzFdKXFhKGIsYyxlLGQpJiYoYz1udWxsKSxkfHxudWxsPT09ZT9vYShiKSYmKG51bGw9PT1jP2EucmVtb3ZlQXR0cmlidXRlKGIpOmEuc2V0QXR0cmlidXRlKGIsXCJcIitjKSk6ZS5tdXN0VXNlUHJvcGVydHk/YVtlLnByb3BlcnR5TmFtZV09bnVsbD09PWM/Mz09PWUudHlwZT8hMTpcIlwiOmM6KGI9ZS5hdHRyaWJ1dGVOYW1lLGQ9ZS5hdHRyaWJ1dGVOYW1lc3BhY2UsbnVsbD09PWM/YS5yZW1vdmVBdHRyaWJ1dGUoYik6KGU9ZS50eXBlLGM9Mz09PWV8fDQ9PT1lJiYhMD09PWM/XCJcIjpcIlwiK2MsZD9hLnNldEF0dHJpYnV0ZU5TKGQsYixjKTphLnNldEF0dHJpYnV0ZShiLGMpKSl9XG52YXIgdWE9YWEuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQsdmE9U3ltYm9sLmZvcihcInJlYWN0LmVsZW1lbnRcIiksd2E9U3ltYm9sLmZvcihcInJlYWN0LnBvcnRhbFwiKSx5YT1TeW1ib2wuZm9yKFwicmVhY3QuZnJhZ21lbnRcIiksemE9U3ltYm9sLmZvcihcInJlYWN0LnN0cmljdF9tb2RlXCIpLEFhPVN5bWJvbC5mb3IoXCJyZWFjdC5wcm9maWxlclwiKSxCYT1TeW1ib2wuZm9yKFwicmVhY3QucHJvdmlkZXJcIiksQ2E9U3ltYm9sLmZvcihcInJlYWN0LmNvbnRleHRcIiksRGE9U3ltYm9sLmZvcihcInJlYWN0LmZvcndhcmRfcmVmXCIpLEVhPVN5bWJvbC5mb3IoXCJyZWFjdC5zdXNwZW5zZVwiKSxGYT1TeW1ib2wuZm9yKFwicmVhY3Quc3VzcGVuc2VfbGlzdFwiKSxHYT1TeW1ib2wuZm9yKFwicmVhY3QubWVtb1wiKSxIYT1TeW1ib2wuZm9yKFwicmVhY3QubGF6eVwiKTtTeW1ib2wuZm9yKFwicmVhY3Quc2NvcGVcIik7U3ltYm9sLmZvcihcInJlYWN0LmRlYnVnX3RyYWNlX21vZGVcIik7XG52YXIgSWE9U3ltYm9sLmZvcihcInJlYWN0Lm9mZnNjcmVlblwiKTtTeW1ib2wuZm9yKFwicmVhY3QubGVnYWN5X2hpZGRlblwiKTtTeW1ib2wuZm9yKFwicmVhY3QuY2FjaGVcIik7U3ltYm9sLmZvcihcInJlYWN0LnRyYWNpbmdfbWFya2VyXCIpO3ZhciBKYT1TeW1ib2wuaXRlcmF0b3I7ZnVuY3Rpb24gS2EoYSl7aWYobnVsbD09PWF8fFwib2JqZWN0XCIhPT10eXBlb2YgYSlyZXR1cm4gbnVsbDthPUphJiZhW0phXXx8YVtcIkBAaXRlcmF0b3JcIl07cmV0dXJuXCJmdW5jdGlvblwiPT09dHlwZW9mIGE/YTpudWxsfXZhciBBPU9iamVjdC5hc3NpZ24sTGE7ZnVuY3Rpb24gTWEoYSl7aWYodm9pZCAwPT09TGEpdHJ5e3Rocm93IEVycm9yKCk7fWNhdGNoKGMpe3ZhciBiPWMuc3RhY2sudHJpbSgpLm1hdGNoKC9cXG4oICooYXQgKT8pLyk7TGE9YiYmYlsxXXx8XCJcIn1yZXR1cm5cIlxcblwiK0xhK2F9dmFyIE5hPSExO1xuZnVuY3Rpb24gT2EoYSxiKXtpZighYXx8TmEpcmV0dXJuXCJcIjtOYT0hMDt2YXIgYz1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e2lmKGIpaWYoYj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCk7fSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYi5wcm90b3R5cGUsXCJwcm9wc1wiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpO319KSxcIm9iamVjdFwiPT09dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3QuY29uc3RydWN0KXt0cnl7UmVmbGVjdC5jb25zdHJ1Y3QoYixbXSl9Y2F0Y2gobCl7dmFyIGQ9bH1SZWZsZWN0LmNvbnN0cnVjdChhLFtdLGIpfWVsc2V7dHJ5e2IuY2FsbCgpfWNhdGNoKGwpe2Q9bH1hLmNhbGwoYi5wcm90b3R5cGUpfWVsc2V7dHJ5e3Rocm93IEVycm9yKCk7fWNhdGNoKGwpe2Q9bH1hKCl9fWNhdGNoKGwpe2lmKGwmJmQmJlwic3RyaW5nXCI9PT10eXBlb2YgbC5zdGFjayl7Zm9yKHZhciBlPWwuc3RhY2suc3BsaXQoXCJcXG5cIiksXG5mPWQuc3RhY2suc3BsaXQoXCJcXG5cIiksZz1lLmxlbmd0aC0xLGg9Zi5sZW5ndGgtMTsxPD1nJiYwPD1oJiZlW2ddIT09ZltoXTspaC0tO2Zvcig7MTw9ZyYmMDw9aDtnLS0saC0tKWlmKGVbZ10hPT1mW2hdKXtpZigxIT09Z3x8MSE9PWgpe2RvIGlmKGctLSxoLS0sMD5ofHxlW2ddIT09ZltoXSl7dmFyIGs9XCJcXG5cIitlW2ddLnJlcGxhY2UoXCIgYXQgbmV3IFwiLFwiIGF0IFwiKTthLmRpc3BsYXlOYW1lJiZrLmluY2x1ZGVzKFwiPGFub255bW91cz5cIikmJihrPWsucmVwbGFjZShcIjxhbm9ueW1vdXM+XCIsYS5kaXNwbGF5TmFtZSkpO3JldHVybiBrfXdoaWxlKDE8PWcmJjA8PWgpfWJyZWFrfX19ZmluYWxseXtOYT0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT1jfXJldHVybihhPWE/YS5kaXNwbGF5TmFtZXx8YS5uYW1lOlwiXCIpP01hKGEpOlwiXCJ9XG5mdW5jdGlvbiBQYShhKXtzd2l0Y2goYS50YWcpe2Nhc2UgNTpyZXR1cm4gTWEoYS50eXBlKTtjYXNlIDE2OnJldHVybiBNYShcIkxhenlcIik7Y2FzZSAxMzpyZXR1cm4gTWEoXCJTdXNwZW5zZVwiKTtjYXNlIDE5OnJldHVybiBNYShcIlN1c3BlbnNlTGlzdFwiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGE9T2EoYS50eXBlLCExKSxhO2Nhc2UgMTE6cmV0dXJuIGE9T2EoYS50eXBlLnJlbmRlciwhMSksYTtjYXNlIDE6cmV0dXJuIGE9T2EoYS50eXBlLCEwKSxhO2RlZmF1bHQ6cmV0dXJuXCJcIn19XG5mdW5jdGlvbiBRYShhKXtpZihudWxsPT1hKXJldHVybiBudWxsO2lmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBhKXJldHVybiBhLmRpc3BsYXlOYW1lfHxhLm5hbWV8fG51bGw7aWYoXCJzdHJpbmdcIj09PXR5cGVvZiBhKXJldHVybiBhO3N3aXRjaChhKXtjYXNlIHlhOnJldHVyblwiRnJhZ21lbnRcIjtjYXNlIHdhOnJldHVyblwiUG9ydGFsXCI7Y2FzZSBBYTpyZXR1cm5cIlByb2ZpbGVyXCI7Y2FzZSB6YTpyZXR1cm5cIlN0cmljdE1vZGVcIjtjYXNlIEVhOnJldHVyblwiU3VzcGVuc2VcIjtjYXNlIEZhOnJldHVyblwiU3VzcGVuc2VMaXN0XCJ9aWYoXCJvYmplY3RcIj09PXR5cGVvZiBhKXN3aXRjaChhLiQkdHlwZW9mKXtjYXNlIENhOnJldHVybihhLmRpc3BsYXlOYW1lfHxcIkNvbnRleHRcIikrXCIuQ29uc3VtZXJcIjtjYXNlIEJhOnJldHVybihhLl9jb250ZXh0LmRpc3BsYXlOYW1lfHxcIkNvbnRleHRcIikrXCIuUHJvdmlkZXJcIjtjYXNlIERhOnZhciBiPWEucmVuZGVyO2E9YS5kaXNwbGF5TmFtZTthfHwoYT1iLmRpc3BsYXlOYW1lfHxcbmIubmFtZXx8XCJcIixhPVwiXCIhPT1hP1wiRm9yd2FyZFJlZihcIithK1wiKVwiOlwiRm9yd2FyZFJlZlwiKTtyZXR1cm4gYTtjYXNlIEdhOnJldHVybiBiPWEuZGlzcGxheU5hbWV8fG51bGwsbnVsbCE9PWI/YjpRYShhLnR5cGUpfHxcIk1lbW9cIjtjYXNlIEhhOmI9YS5fcGF5bG9hZDthPWEuX2luaXQ7dHJ5e3JldHVybiBRYShhKGIpKX1jYXRjaChjKXt9fXJldHVybiBudWxsfVxuZnVuY3Rpb24gUmEoYSl7dmFyIGI9YS50eXBlO3N3aXRjaChhLnRhZyl7Y2FzZSAyNDpyZXR1cm5cIkNhY2hlXCI7Y2FzZSA5OnJldHVybihiLmRpc3BsYXlOYW1lfHxcIkNvbnRleHRcIikrXCIuQ29uc3VtZXJcIjtjYXNlIDEwOnJldHVybihiLl9jb250ZXh0LmRpc3BsYXlOYW1lfHxcIkNvbnRleHRcIikrXCIuUHJvdmlkZXJcIjtjYXNlIDE4OnJldHVyblwiRGVoeWRyYXRlZEZyYWdtZW50XCI7Y2FzZSAxMTpyZXR1cm4gYT1iLnJlbmRlcixhPWEuZGlzcGxheU5hbWV8fGEubmFtZXx8XCJcIixiLmRpc3BsYXlOYW1lfHwoXCJcIiE9PWE/XCJGb3J3YXJkUmVmKFwiK2ErXCIpXCI6XCJGb3J3YXJkUmVmXCIpO2Nhc2UgNzpyZXR1cm5cIkZyYWdtZW50XCI7Y2FzZSA1OnJldHVybiBiO2Nhc2UgNDpyZXR1cm5cIlBvcnRhbFwiO2Nhc2UgMzpyZXR1cm5cIlJvb3RcIjtjYXNlIDY6cmV0dXJuXCJUZXh0XCI7Y2FzZSAxNjpyZXR1cm4gUWEoYik7Y2FzZSA4OnJldHVybiBiPT09emE/XCJTdHJpY3RNb2RlXCI6XCJNb2RlXCI7Y2FzZSAyMjpyZXR1cm5cIk9mZnNjcmVlblwiO1xuY2FzZSAxMjpyZXR1cm5cIlByb2ZpbGVyXCI7Y2FzZSAyMTpyZXR1cm5cIlNjb3BlXCI7Y2FzZSAxMzpyZXR1cm5cIlN1c3BlbnNlXCI7Y2FzZSAxOTpyZXR1cm5cIlN1c3BlbnNlTGlzdFwiO2Nhc2UgMjU6cmV0dXJuXCJUcmFjaW5nTWFya2VyXCI7Y2FzZSAxOmNhc2UgMDpjYXNlIDE3OmNhc2UgMjpjYXNlIDE0OmNhc2UgMTU6aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGIpcmV0dXJuIGIuZGlzcGxheU5hbWV8fGIubmFtZXx8bnVsbDtpZihcInN0cmluZ1wiPT09dHlwZW9mIGIpcmV0dXJuIGJ9cmV0dXJuIG51bGx9ZnVuY3Rpb24gU2EoYSl7c3dpdGNoKHR5cGVvZiBhKXtjYXNlIFwiYm9vbGVhblwiOmNhc2UgXCJudW1iZXJcIjpjYXNlIFwic3RyaW5nXCI6Y2FzZSBcInVuZGVmaW5lZFwiOnJldHVybiBhO2Nhc2UgXCJvYmplY3RcIjpyZXR1cm4gYTtkZWZhdWx0OnJldHVyblwiXCJ9fVxuZnVuY3Rpb24gVGEoYSl7dmFyIGI9YS50eXBlO3JldHVybihhPWEubm9kZU5hbWUpJiZcImlucHV0XCI9PT1hLnRvTG93ZXJDYXNlKCkmJihcImNoZWNrYm94XCI9PT1ifHxcInJhZGlvXCI9PT1iKX1cbmZ1bmN0aW9uIFVhKGEpe3ZhciBiPVRhKGEpP1wiY2hlY2tlZFwiOlwidmFsdWVcIixjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsYiksZD1cIlwiK2FbYl07aWYoIWEuaGFzT3duUHJvcGVydHkoYikmJlwidW5kZWZpbmVkXCIhPT10eXBlb2YgYyYmXCJmdW5jdGlvblwiPT09dHlwZW9mIGMuZ2V0JiZcImZ1bmN0aW9uXCI9PT10eXBlb2YgYy5zZXQpe3ZhciBlPWMuZ2V0LGY9Yy5zZXQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBlLmNhbGwodGhpcyl9LHNldDpmdW5jdGlvbihhKXtkPVwiXCIrYTtmLmNhbGwodGhpcyxhKX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxiLHtlbnVtZXJhYmxlOmMuZW51bWVyYWJsZX0pO3JldHVybntnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBkfSxzZXRWYWx1ZTpmdW5jdGlvbihhKXtkPVwiXCIrYX0sc3RvcFRyYWNraW5nOmZ1bmN0aW9uKCl7YS5fdmFsdWVUcmFja2VyPVxubnVsbDtkZWxldGUgYVtiXX19fX1mdW5jdGlvbiBWYShhKXthLl92YWx1ZVRyYWNrZXJ8fChhLl92YWx1ZVRyYWNrZXI9VWEoYSkpfWZ1bmN0aW9uIFdhKGEpe2lmKCFhKXJldHVybiExO3ZhciBiPWEuX3ZhbHVlVHJhY2tlcjtpZighYilyZXR1cm4hMDt2YXIgYz1iLmdldFZhbHVlKCk7dmFyIGQ9XCJcIjthJiYoZD1UYShhKT9hLmNoZWNrZWQ/XCJ0cnVlXCI6XCJmYWxzZVwiOmEudmFsdWUpO2E9ZDtyZXR1cm4gYSE9PWM/KGIuc2V0VmFsdWUoYSksITApOiExfWZ1bmN0aW9uIFhhKGEpe2E9YXx8KFwidW5kZWZpbmVkXCIhPT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQ6dm9pZCAwKTtpZihcInVuZGVmaW5lZFwiPT09dHlwZW9mIGEpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBhLmFjdGl2ZUVsZW1lbnR8fGEuYm9keX1jYXRjaChiKXtyZXR1cm4gYS5ib2R5fX1cbmZ1bmN0aW9uIFlhKGEsYil7dmFyIGM9Yi5jaGVja2VkO3JldHVybiBBKHt9LGIse2RlZmF1bHRDaGVja2VkOnZvaWQgMCxkZWZhdWx0VmFsdWU6dm9pZCAwLHZhbHVlOnZvaWQgMCxjaGVja2VkOm51bGwhPWM/YzphLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWR9KX1mdW5jdGlvbiBaYShhLGIpe3ZhciBjPW51bGw9PWIuZGVmYXVsdFZhbHVlP1wiXCI6Yi5kZWZhdWx0VmFsdWUsZD1udWxsIT1iLmNoZWNrZWQ/Yi5jaGVja2VkOmIuZGVmYXVsdENoZWNrZWQ7Yz1TYShudWxsIT1iLnZhbHVlP2IudmFsdWU6Yyk7YS5fd3JhcHBlclN0YXRlPXtpbml0aWFsQ2hlY2tlZDpkLGluaXRpYWxWYWx1ZTpjLGNvbnRyb2xsZWQ6XCJjaGVja2JveFwiPT09Yi50eXBlfHxcInJhZGlvXCI9PT1iLnR5cGU/bnVsbCE9Yi5jaGVja2VkOm51bGwhPWIudmFsdWV9fWZ1bmN0aW9uIGFiKGEsYil7Yj1iLmNoZWNrZWQ7bnVsbCE9YiYmdGEoYSxcImNoZWNrZWRcIixiLCExKX1cbmZ1bmN0aW9uIGJiKGEsYil7YWIoYSxiKTt2YXIgYz1TYShiLnZhbHVlKSxkPWIudHlwZTtpZihudWxsIT1jKWlmKFwibnVtYmVyXCI9PT1kKXtpZigwPT09YyYmXCJcIj09PWEudmFsdWV8fGEudmFsdWUhPWMpYS52YWx1ZT1cIlwiK2N9ZWxzZSBhLnZhbHVlIT09XCJcIitjJiYoYS52YWx1ZT1cIlwiK2MpO2Vsc2UgaWYoXCJzdWJtaXRcIj09PWR8fFwicmVzZXRcIj09PWQpe2EucmVtb3ZlQXR0cmlidXRlKFwidmFsdWVcIik7cmV0dXJufWIuaGFzT3duUHJvcGVydHkoXCJ2YWx1ZVwiKT9jYihhLGIudHlwZSxjKTpiLmhhc093blByb3BlcnR5KFwiZGVmYXVsdFZhbHVlXCIpJiZjYihhLGIudHlwZSxTYShiLmRlZmF1bHRWYWx1ZSkpO251bGw9PWIuY2hlY2tlZCYmbnVsbCE9Yi5kZWZhdWx0Q2hlY2tlZCYmKGEuZGVmYXVsdENoZWNrZWQ9ISFiLmRlZmF1bHRDaGVja2VkKX1cbmZ1bmN0aW9uIGRiKGEsYixjKXtpZihiLmhhc093blByb3BlcnR5KFwidmFsdWVcIil8fGIuaGFzT3duUHJvcGVydHkoXCJkZWZhdWx0VmFsdWVcIikpe3ZhciBkPWIudHlwZTtpZighKFwic3VibWl0XCIhPT1kJiZcInJlc2V0XCIhPT1kfHx2b2lkIDAhPT1iLnZhbHVlJiZudWxsIT09Yi52YWx1ZSkpcmV0dXJuO2I9XCJcIithLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlO2N8fGI9PT1hLnZhbHVlfHwoYS52YWx1ZT1iKTthLmRlZmF1bHRWYWx1ZT1ifWM9YS5uYW1lO1wiXCIhPT1jJiYoYS5uYW1lPVwiXCIpO2EuZGVmYXVsdENoZWNrZWQ9ISFhLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWQ7XCJcIiE9PWMmJihhLm5hbWU9Yyl9XG5mdW5jdGlvbiBjYihhLGIsYyl7aWYoXCJudW1iZXJcIiE9PWJ8fFhhKGEub3duZXJEb2N1bWVudCkhPT1hKW51bGw9PWM/YS5kZWZhdWx0VmFsdWU9XCJcIithLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlOmEuZGVmYXVsdFZhbHVlIT09XCJcIitjJiYoYS5kZWZhdWx0VmFsdWU9XCJcIitjKX12YXIgZWI9QXJyYXkuaXNBcnJheTtcbmZ1bmN0aW9uIGZiKGEsYixjLGQpe2E9YS5vcHRpb25zO2lmKGIpe2I9e307Zm9yKHZhciBlPTA7ZTxjLmxlbmd0aDtlKyspYltcIiRcIitjW2VdXT0hMDtmb3IoYz0wO2M8YS5sZW5ndGg7YysrKWU9Yi5oYXNPd25Qcm9wZXJ0eShcIiRcIithW2NdLnZhbHVlKSxhW2NdLnNlbGVjdGVkIT09ZSYmKGFbY10uc2VsZWN0ZWQ9ZSksZSYmZCYmKGFbY10uZGVmYXVsdFNlbGVjdGVkPSEwKX1lbHNle2M9XCJcIitTYShjKTtiPW51bGw7Zm9yKGU9MDtlPGEubGVuZ3RoO2UrKyl7aWYoYVtlXS52YWx1ZT09PWMpe2FbZV0uc2VsZWN0ZWQ9ITA7ZCYmKGFbZV0uZGVmYXVsdFNlbGVjdGVkPSEwKTtyZXR1cm59bnVsbCE9PWJ8fGFbZV0uZGlzYWJsZWR8fChiPWFbZV0pfW51bGwhPT1iJiYoYi5zZWxlY3RlZD0hMCl9fVxuZnVuY3Rpb24gZ2IoYSxiKXtpZihudWxsIT1iLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKXRocm93IEVycm9yKHAoOTEpKTtyZXR1cm4gQSh7fSxiLHt2YWx1ZTp2b2lkIDAsZGVmYXVsdFZhbHVlOnZvaWQgMCxjaGlsZHJlbjpcIlwiK2EuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWV9KX1mdW5jdGlvbiBoYihhLGIpe3ZhciBjPWIudmFsdWU7aWYobnVsbD09Yyl7Yz1iLmNoaWxkcmVuO2I9Yi5kZWZhdWx0VmFsdWU7aWYobnVsbCE9Yyl7aWYobnVsbCE9Yil0aHJvdyBFcnJvcihwKDkyKSk7aWYoZWIoYykpe2lmKDE8Yy5sZW5ndGgpdGhyb3cgRXJyb3IocCg5MykpO2M9Y1swXX1iPWN9bnVsbD09YiYmKGI9XCJcIik7Yz1ifWEuX3dyYXBwZXJTdGF0ZT17aW5pdGlhbFZhbHVlOlNhKGMpfX1cbmZ1bmN0aW9uIGliKGEsYil7dmFyIGM9U2EoYi52YWx1ZSksZD1TYShiLmRlZmF1bHRWYWx1ZSk7bnVsbCE9YyYmKGM9XCJcIitjLGMhPT1hLnZhbHVlJiYoYS52YWx1ZT1jKSxudWxsPT1iLmRlZmF1bHRWYWx1ZSYmYS5kZWZhdWx0VmFsdWUhPT1jJiYoYS5kZWZhdWx0VmFsdWU9YykpO251bGwhPWQmJihhLmRlZmF1bHRWYWx1ZT1cIlwiK2QpfWZ1bmN0aW9uIGpiKGEpe3ZhciBiPWEudGV4dENvbnRlbnQ7Yj09PWEuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUmJlwiXCIhPT1iJiZudWxsIT09YiYmKGEudmFsdWU9Yil9ZnVuY3Rpb24ga2IoYSl7c3dpdGNoKGEpe2Nhc2UgXCJzdmdcIjpyZXR1cm5cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI7Y2FzZSBcIm1hdGhcIjpyZXR1cm5cImh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUxcIjtkZWZhdWx0OnJldHVyblwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbFwifX1cbmZ1bmN0aW9uIGxiKGEsYil7cmV0dXJuIG51bGw9PWF8fFwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbFwiPT09YT9rYihiKTpcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI9PT1hJiZcImZvcmVpZ25PYmplY3RcIj09PWI/XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCI6YX1cbnZhciBtYixuYj1mdW5jdGlvbihhKXtyZXR1cm5cInVuZGVmaW5lZFwiIT09dHlwZW9mIE1TQXBwJiZNU0FwcC5leGVjVW5zYWZlTG9jYWxGdW5jdGlvbj9mdW5jdGlvbihiLGMsZCxlKXtNU0FwcC5leGVjVW5zYWZlTG9jYWxGdW5jdGlvbihmdW5jdGlvbigpe3JldHVybiBhKGIsYyxkLGUpfSl9OmF9KGZ1bmN0aW9uKGEsYil7aWYoXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIT09YS5uYW1lc3BhY2VVUkl8fFwiaW5uZXJIVE1MXCJpbiBhKWEuaW5uZXJIVE1MPWI7ZWxzZXttYj1tYnx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTttYi5pbm5lckhUTUw9XCI8c3ZnPlwiK2IudmFsdWVPZigpLnRvU3RyaW5nKCkrXCI8L3N2Zz5cIjtmb3IoYj1tYi5maXJzdENoaWxkO2EuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2Zvcig7Yi5maXJzdENoaWxkOylhLmFwcGVuZENoaWxkKGIuZmlyc3RDaGlsZCl9fSk7XG5mdW5jdGlvbiBvYihhLGIpe2lmKGIpe3ZhciBjPWEuZmlyc3RDaGlsZDtpZihjJiZjPT09YS5sYXN0Q2hpbGQmJjM9PT1jLm5vZGVUeXBlKXtjLm5vZGVWYWx1ZT1iO3JldHVybn19YS50ZXh0Q29udGVudD1ifVxudmFyIHBiPXthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxhc3BlY3RSYXRpbzohMCxib3JkZXJJbWFnZU91dHNldDohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGJvcmRlckltYWdlV2lkdGg6ITAsYm94RmxleDohMCxib3hGbGV4R3JvdXA6ITAsYm94T3JkaW5hbEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGNvbHVtbnM6ITAsZmxleDohMCxmbGV4R3JvdzohMCxmbGV4UG9zaXRpdmU6ITAsZmxleFNocmluazohMCxmbGV4TmVnYXRpdmU6ITAsZmxleE9yZGVyOiEwLGdyaWRBcmVhOiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3BhbjohMCxncmlkUm93U3RhcnQ6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TcGFuOiEwLGdyaWRDb2x1bW5TdGFydDohMCxmb250V2VpZ2h0OiEwLGxpbmVDbGFtcDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx0YWJTaXplOiEwLHdpZG93czohMCx6SW5kZXg6ITAsXG56b29tOiEwLGZpbGxPcGFjaXR5OiEwLGZsb29kT3BhY2l0eTohMCxzdG9wT3BhY2l0eTohMCxzdHJva2VEYXNoYXJyYXk6ITAsc3Ryb2tlRGFzaG9mZnNldDohMCxzdHJva2VNaXRlcmxpbWl0OiEwLHN0cm9rZU9wYWNpdHk6ITAsc3Ryb2tlV2lkdGg6ITB9LHFiPVtcIldlYmtpdFwiLFwibXNcIixcIk1velwiLFwiT1wiXTtPYmplY3Qua2V5cyhwYikuZm9yRWFjaChmdW5jdGlvbihhKXtxYi5mb3JFYWNoKGZ1bmN0aW9uKGIpe2I9YithLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Euc3Vic3RyaW5nKDEpO3BiW2JdPXBiW2FdfSl9KTtmdW5jdGlvbiByYihhLGIsYyl7cmV0dXJuIG51bGw9PWJ8fFwiYm9vbGVhblwiPT09dHlwZW9mIGJ8fFwiXCI9PT1iP1wiXCI6Y3x8XCJudW1iZXJcIiE9PXR5cGVvZiBifHwwPT09Ynx8cGIuaGFzT3duUHJvcGVydHkoYSkmJnBiW2FdPyhcIlwiK2IpLnRyaW0oKTpiK1wicHhcIn1cbmZ1bmN0aW9uIHNiKGEsYil7YT1hLnN0eWxlO2Zvcih2YXIgYyBpbiBiKWlmKGIuaGFzT3duUHJvcGVydHkoYykpe3ZhciBkPTA9PT1jLmluZGV4T2YoXCItLVwiKSxlPXJiKGMsYltjXSxkKTtcImZsb2F0XCI9PT1jJiYoYz1cImNzc0Zsb2F0XCIpO2Q/YS5zZXRQcm9wZXJ0eShjLGUpOmFbY109ZX19dmFyIHRiPUEoe21lbnVpdGVtOiEwfSx7YXJlYTohMCxiYXNlOiEwLGJyOiEwLGNvbDohMCxlbWJlZDohMCxocjohMCxpbWc6ITAsaW5wdXQ6ITAsa2V5Z2VuOiEwLGxpbms6ITAsbWV0YTohMCxwYXJhbTohMCxzb3VyY2U6ITAsdHJhY2s6ITAsd2JyOiEwfSk7XG5mdW5jdGlvbiB1YihhLGIpe2lmKGIpe2lmKHRiW2FdJiYobnVsbCE9Yi5jaGlsZHJlbnx8bnVsbCE9Yi5kYW5nZXJvdXNseVNldElubmVySFRNTCkpdGhyb3cgRXJyb3IocCgxMzcsYSkpO2lmKG51bGwhPWIuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpe2lmKG51bGwhPWIuY2hpbGRyZW4pdGhyb3cgRXJyb3IocCg2MCkpO2lmKFwib2JqZWN0XCIhPT10eXBlb2YgYi5kYW5nZXJvdXNseVNldElubmVySFRNTHx8IShcIl9faHRtbFwiaW4gYi5kYW5nZXJvdXNseVNldElubmVySFRNTCkpdGhyb3cgRXJyb3IocCg2MSkpO31pZihudWxsIT1iLnN0eWxlJiZcIm9iamVjdFwiIT09dHlwZW9mIGIuc3R5bGUpdGhyb3cgRXJyb3IocCg2MikpO319XG5mdW5jdGlvbiB2YihhLGIpe2lmKC0xPT09YS5pbmRleE9mKFwiLVwiKSlyZXR1cm5cInN0cmluZ1wiPT09dHlwZW9mIGIuaXM7c3dpdGNoKGEpe2Nhc2UgXCJhbm5vdGF0aW9uLXhtbFwiOmNhc2UgXCJjb2xvci1wcm9maWxlXCI6Y2FzZSBcImZvbnQtZmFjZVwiOmNhc2UgXCJmb250LWZhY2Utc3JjXCI6Y2FzZSBcImZvbnQtZmFjZS11cmlcIjpjYXNlIFwiZm9udC1mYWNlLWZvcm1hdFwiOmNhc2UgXCJmb250LWZhY2UtbmFtZVwiOmNhc2UgXCJtaXNzaW5nLWdseXBoXCI6cmV0dXJuITE7ZGVmYXVsdDpyZXR1cm4hMH19dmFyIHdiPW51bGw7ZnVuY3Rpb24geGIoYSl7YT1hLnRhcmdldHx8YS5zcmNFbGVtZW50fHx3aW5kb3c7YS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCYmKGE9YS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCk7cmV0dXJuIDM9PT1hLm5vZGVUeXBlP2EucGFyZW50Tm9kZTphfXZhciB5Yj1udWxsLHpiPW51bGwsQWI9bnVsbDtcbmZ1bmN0aW9uIEJiKGEpe2lmKGE9Q2IoYSkpe2lmKFwiZnVuY3Rpb25cIiE9PXR5cGVvZiB5Yil0aHJvdyBFcnJvcihwKDI4MCkpO3ZhciBiPWEuc3RhdGVOb2RlO2ImJihiPURiKGIpLHliKGEuc3RhdGVOb2RlLGEudHlwZSxiKSl9fWZ1bmN0aW9uIEViKGEpe3piP0FiP0FiLnB1c2goYSk6QWI9W2FdOnpiPWF9ZnVuY3Rpb24gRmIoKXtpZih6Yil7dmFyIGE9emIsYj1BYjtBYj16Yj1udWxsO0JiKGEpO2lmKGIpZm9yKGE9MDthPGIubGVuZ3RoO2ErKylCYihiW2FdKX19ZnVuY3Rpb24gR2IoYSxiKXtyZXR1cm4gYShiKX1mdW5jdGlvbiBIYigpe312YXIgSWI9ITE7ZnVuY3Rpb24gSmIoYSxiLGMpe2lmKEliKXJldHVybiBhKGIsYyk7SWI9ITA7dHJ5e3JldHVybiBHYihhLGIsYyl9ZmluYWxseXtpZihJYj0hMSxudWxsIT09emJ8fG51bGwhPT1BYilIYigpLEZiKCl9fVxuZnVuY3Rpb24gS2IoYSxiKXt2YXIgYz1hLnN0YXRlTm9kZTtpZihudWxsPT09YylyZXR1cm4gbnVsbDt2YXIgZD1EYihjKTtpZihudWxsPT09ZClyZXR1cm4gbnVsbDtjPWRbYl07YTpzd2l0Y2goYil7Y2FzZSBcIm9uQ2xpY2tcIjpjYXNlIFwib25DbGlja0NhcHR1cmVcIjpjYXNlIFwib25Eb3VibGVDbGlja1wiOmNhc2UgXCJvbkRvdWJsZUNsaWNrQ2FwdHVyZVwiOmNhc2UgXCJvbk1vdXNlRG93blwiOmNhc2UgXCJvbk1vdXNlRG93bkNhcHR1cmVcIjpjYXNlIFwib25Nb3VzZU1vdmVcIjpjYXNlIFwib25Nb3VzZU1vdmVDYXB0dXJlXCI6Y2FzZSBcIm9uTW91c2VVcFwiOmNhc2UgXCJvbk1vdXNlVXBDYXB0dXJlXCI6Y2FzZSBcIm9uTW91c2VFbnRlclwiOihkPSFkLmRpc2FibGVkKXx8KGE9YS50eXBlLGQ9IShcImJ1dHRvblwiPT09YXx8XCJpbnB1dFwiPT09YXx8XCJzZWxlY3RcIj09PWF8fFwidGV4dGFyZWFcIj09PWEpKTthPSFkO2JyZWFrIGE7ZGVmYXVsdDphPSExfWlmKGEpcmV0dXJuIG51bGw7aWYoYyYmXCJmdW5jdGlvblwiIT09XG50eXBlb2YgYyl0aHJvdyBFcnJvcihwKDIzMSxiLHR5cGVvZiBjKSk7cmV0dXJuIGN9dmFyIExiPSExO2lmKGlhKXRyeXt2YXIgTWI9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KE1iLFwicGFzc2l2ZVwiLHtnZXQ6ZnVuY3Rpb24oKXtMYj0hMH19KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInRlc3RcIixNYixNYik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0ZXN0XCIsTWIsTWIpfWNhdGNoKGEpe0xiPSExfWZ1bmN0aW9uIE5iKGEsYixjLGQsZSxmLGcsaCxrKXt2YXIgbD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMyk7dHJ5e2IuYXBwbHkoYyxsKX1jYXRjaChtKXt0aGlzLm9uRXJyb3IobSl9fXZhciBPYj0hMSxQYj1udWxsLFFiPSExLFJiPW51bGwsU2I9e29uRXJyb3I6ZnVuY3Rpb24oYSl7T2I9ITA7UGI9YX19O2Z1bmN0aW9uIFRiKGEsYixjLGQsZSxmLGcsaCxrKXtPYj0hMTtQYj1udWxsO05iLmFwcGx5KFNiLGFyZ3VtZW50cyl9XG5mdW5jdGlvbiBVYihhLGIsYyxkLGUsZixnLGgsayl7VGIuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKE9iKXtpZihPYil7dmFyIGw9UGI7T2I9ITE7UGI9bnVsbH1lbHNlIHRocm93IEVycm9yKHAoMTk4KSk7UWJ8fChRYj0hMCxSYj1sKX19ZnVuY3Rpb24gVmIoYSl7dmFyIGI9YSxjPWE7aWYoYS5hbHRlcm5hdGUpZm9yKDtiLnJldHVybjspYj1iLnJldHVybjtlbHNle2E9YjtkbyBiPWEsMCE9PShiLmZsYWdzJjQwOTgpJiYoYz1iLnJldHVybiksYT1iLnJldHVybjt3aGlsZShhKX1yZXR1cm4gMz09PWIudGFnP2M6bnVsbH1mdW5jdGlvbiBXYihhKXtpZigxMz09PWEudGFnKXt2YXIgYj1hLm1lbW9pemVkU3RhdGU7bnVsbD09PWImJihhPWEuYWx0ZXJuYXRlLG51bGwhPT1hJiYoYj1hLm1lbW9pemVkU3RhdGUpKTtpZihudWxsIT09YilyZXR1cm4gYi5kZWh5ZHJhdGVkfXJldHVybiBudWxsfWZ1bmN0aW9uIFhiKGEpe2lmKFZiKGEpIT09YSl0aHJvdyBFcnJvcihwKDE4OCkpO31cbmZ1bmN0aW9uIFliKGEpe3ZhciBiPWEuYWx0ZXJuYXRlO2lmKCFiKXtiPVZiKGEpO2lmKG51bGw9PT1iKXRocm93IEVycm9yKHAoMTg4KSk7cmV0dXJuIGIhPT1hP251bGw6YX1mb3IodmFyIGM9YSxkPWI7Oyl7dmFyIGU9Yy5yZXR1cm47aWYobnVsbD09PWUpYnJlYWs7dmFyIGY9ZS5hbHRlcm5hdGU7aWYobnVsbD09PWYpe2Q9ZS5yZXR1cm47aWYobnVsbCE9PWQpe2M9ZDtjb250aW51ZX1icmVha31pZihlLmNoaWxkPT09Zi5jaGlsZCl7Zm9yKGY9ZS5jaGlsZDtmOyl7aWYoZj09PWMpcmV0dXJuIFhiKGUpLGE7aWYoZj09PWQpcmV0dXJuIFhiKGUpLGI7Zj1mLnNpYmxpbmd9dGhyb3cgRXJyb3IocCgxODgpKTt9aWYoYy5yZXR1cm4hPT1kLnJldHVybiljPWUsZD1mO2Vsc2V7Zm9yKHZhciBnPSExLGg9ZS5jaGlsZDtoOyl7aWYoaD09PWMpe2c9ITA7Yz1lO2Q9ZjticmVha31pZihoPT09ZCl7Zz0hMDtkPWU7Yz1mO2JyZWFrfWg9aC5zaWJsaW5nfWlmKCFnKXtmb3IoaD1mLmNoaWxkO2g7KXtpZihoPT09XG5jKXtnPSEwO2M9ZjtkPWU7YnJlYWt9aWYoaD09PWQpe2c9ITA7ZD1mO2M9ZTticmVha31oPWguc2libGluZ31pZighZyl0aHJvdyBFcnJvcihwKDE4OSkpO319aWYoYy5hbHRlcm5hdGUhPT1kKXRocm93IEVycm9yKHAoMTkwKSk7fWlmKDMhPT1jLnRhZyl0aHJvdyBFcnJvcihwKDE4OCkpO3JldHVybiBjLnN0YXRlTm9kZS5jdXJyZW50PT09Yz9hOmJ9ZnVuY3Rpb24gWmIoYSl7YT1ZYihhKTtyZXR1cm4gbnVsbCE9PWE/JGIoYSk6bnVsbH1mdW5jdGlvbiAkYihhKXtpZig1PT09YS50YWd8fDY9PT1hLnRhZylyZXR1cm4gYTtmb3IoYT1hLmNoaWxkO251bGwhPT1hOyl7dmFyIGI9JGIoYSk7aWYobnVsbCE9PWIpcmV0dXJuIGI7YT1hLnNpYmxpbmd9cmV0dXJuIG51bGx9XG52YXIgYWM9Y2EudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxiYz1jYS51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayxjYz1jYS51bnN0YWJsZV9zaG91bGRZaWVsZCxkYz1jYS51bnN0YWJsZV9yZXF1ZXN0UGFpbnQsQj1jYS51bnN0YWJsZV9ub3csZWM9Y2EudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwsZmM9Y2EudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksZ2M9Y2EudW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHksaGM9Y2EudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksaWM9Y2EudW5zdGFibGVfTG93UHJpb3JpdHksamM9Y2EudW5zdGFibGVfSWRsZVByaW9yaXR5LGtjPW51bGwsbGM9bnVsbDtmdW5jdGlvbiBtYyhhKXtpZihsYyYmXCJmdW5jdGlvblwiPT09dHlwZW9mIGxjLm9uQ29tbWl0RmliZXJSb290KXRyeXtsYy5vbkNvbW1pdEZpYmVyUm9vdChrYyxhLHZvaWQgMCwxMjg9PT0oYS5jdXJyZW50LmZsYWdzJjEyOCkpfWNhdGNoKGIpe319XG52YXIgb2M9TWF0aC5jbHozMj9NYXRoLmNsejMyOm5jLHBjPU1hdGgubG9nLHFjPU1hdGguTE4yO2Z1bmN0aW9uIG5jKGEpe2E+Pj49MDtyZXR1cm4gMD09PWE/MzI6MzEtKHBjKGEpL3FjfDApfDB9dmFyIHJjPTY0LHNjPTQxOTQzMDQ7XG5mdW5jdGlvbiB0YyhhKXtzd2l0Y2goYSYtYSl7Y2FzZSAxOnJldHVybiAxO2Nhc2UgMjpyZXR1cm4gMjtjYXNlIDQ6cmV0dXJuIDQ7Y2FzZSA4OnJldHVybiA4O2Nhc2UgMTY6cmV0dXJuIDE2O2Nhc2UgMzI6cmV0dXJuIDMyO2Nhc2UgNjQ6Y2FzZSAxMjg6Y2FzZSAyNTY6Y2FzZSA1MTI6Y2FzZSAxMDI0OmNhc2UgMjA0ODpjYXNlIDQwOTY6Y2FzZSA4MTkyOmNhc2UgMTYzODQ6Y2FzZSAzMjc2ODpjYXNlIDY1NTM2OmNhc2UgMTMxMDcyOmNhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIGEmNDE5NDI0MDtjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0OnJldHVybiBhJjEzMDAyMzQyNDtjYXNlIDEzNDIxNzcyODpyZXR1cm4gMTM0MjE3NzI4O2Nhc2UgMjY4NDM1NDU2OnJldHVybiAyNjg0MzU0NTY7Y2FzZSA1MzY4NzA5MTI6cmV0dXJuIDUzNjg3MDkxMjtjYXNlIDEwNzM3NDE4MjQ6cmV0dXJuIDEwNzM3NDE4MjQ7XG5kZWZhdWx0OnJldHVybiBhfX1mdW5jdGlvbiB1YyhhLGIpe3ZhciBjPWEucGVuZGluZ0xhbmVzO2lmKDA9PT1jKXJldHVybiAwO3ZhciBkPTAsZT1hLnN1c3BlbmRlZExhbmVzLGY9YS5waW5nZWRMYW5lcyxnPWMmMjY4NDM1NDU1O2lmKDAhPT1nKXt2YXIgaD1nJn5lOzAhPT1oP2Q9dGMoaCk6KGYmPWcsMCE9PWYmJihkPXRjKGYpKSl9ZWxzZSBnPWMmfmUsMCE9PWc/ZD10YyhnKTowIT09ZiYmKGQ9dGMoZikpO2lmKDA9PT1kKXJldHVybiAwO2lmKDAhPT1iJiZiIT09ZCYmMD09PShiJmUpJiYoZT1kJi1kLGY9YiYtYixlPj1mfHwxNj09PWUmJjAhPT0oZiY0MTk0MjQwKSkpcmV0dXJuIGI7MCE9PShkJjQpJiYoZHw9YyYxNik7Yj1hLmVudGFuZ2xlZExhbmVzO2lmKDAhPT1iKWZvcihhPWEuZW50YW5nbGVtZW50cyxiJj1kOzA8YjspYz0zMS1vYyhiKSxlPTE8PGMsZHw9YVtjXSxiJj1+ZTtyZXR1cm4gZH1cbmZ1bmN0aW9uIHZjKGEsYil7c3dpdGNoKGEpe2Nhc2UgMTpjYXNlIDI6Y2FzZSA0OnJldHVybiBiKzI1MDtjYXNlIDg6Y2FzZSAxNjpjYXNlIDMyOmNhc2UgNjQ6Y2FzZSAxMjg6Y2FzZSAyNTY6Y2FzZSA1MTI6Y2FzZSAxMDI0OmNhc2UgMjA0ODpjYXNlIDQwOTY6Y2FzZSA4MTkyOmNhc2UgMTYzODQ6Y2FzZSAzMjc2ODpjYXNlIDY1NTM2OmNhc2UgMTMxMDcyOmNhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIGIrNUUzO2Nhc2UgNDE5NDMwNDpjYXNlIDgzODg2MDg6Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOmNhc2UgNjcxMDg4NjQ6cmV0dXJuLTE7Y2FzZSAxMzQyMTc3Mjg6Y2FzZSAyNjg0MzU0NTY6Y2FzZSA1MzY4NzA5MTI6Y2FzZSAxMDczNzQxODI0OnJldHVybi0xO2RlZmF1bHQ6cmV0dXJuLTF9fVxuZnVuY3Rpb24gd2MoYSxiKXtmb3IodmFyIGM9YS5zdXNwZW5kZWRMYW5lcyxkPWEucGluZ2VkTGFuZXMsZT1hLmV4cGlyYXRpb25UaW1lcyxmPWEucGVuZGluZ0xhbmVzOzA8Zjspe3ZhciBnPTMxLW9jKGYpLGg9MTw8ZyxrPWVbZ107aWYoLTE9PT1rKXtpZigwPT09KGgmYyl8fDAhPT0oaCZkKSllW2ddPXZjKGgsYil9ZWxzZSBrPD1iJiYoYS5leHBpcmVkTGFuZXN8PWgpO2YmPX5ofX1mdW5jdGlvbiB4YyhhKXthPWEucGVuZGluZ0xhbmVzJi0xMDczNzQxODI1O3JldHVybiAwIT09YT9hOmEmMTA3Mzc0MTgyND8xMDczNzQxODI0OjB9ZnVuY3Rpb24geWMoKXt2YXIgYT1yYztyYzw8PTE7MD09PShyYyY0MTk0MjQwKSYmKHJjPTY0KTtyZXR1cm4gYX1mdW5jdGlvbiB6YyhhKXtmb3IodmFyIGI9W10sYz0wOzMxPmM7YysrKWIucHVzaChhKTtyZXR1cm4gYn1cbmZ1bmN0aW9uIEFjKGEsYixjKXthLnBlbmRpbmdMYW5lc3w9Yjs1MzY4NzA5MTIhPT1iJiYoYS5zdXNwZW5kZWRMYW5lcz0wLGEucGluZ2VkTGFuZXM9MCk7YT1hLmV2ZW50VGltZXM7Yj0zMS1vYyhiKTthW2JdPWN9ZnVuY3Rpb24gQmMoYSxiKXt2YXIgYz1hLnBlbmRpbmdMYW5lcyZ+YjthLnBlbmRpbmdMYW5lcz1iO2Euc3VzcGVuZGVkTGFuZXM9MDthLnBpbmdlZExhbmVzPTA7YS5leHBpcmVkTGFuZXMmPWI7YS5tdXRhYmxlUmVhZExhbmVzJj1iO2EuZW50YW5nbGVkTGFuZXMmPWI7Yj1hLmVudGFuZ2xlbWVudHM7dmFyIGQ9YS5ldmVudFRpbWVzO2ZvcihhPWEuZXhwaXJhdGlvblRpbWVzOzA8Yzspe3ZhciBlPTMxLW9jKGMpLGY9MTw8ZTtiW2VdPTA7ZFtlXT0tMTthW2VdPS0xO2MmPX5mfX1cbmZ1bmN0aW9uIENjKGEsYil7dmFyIGM9YS5lbnRhbmdsZWRMYW5lc3w9Yjtmb3IoYT1hLmVudGFuZ2xlbWVudHM7Yzspe3ZhciBkPTMxLW9jKGMpLGU9MTw8ZDtlJmJ8YVtkXSZiJiYoYVtkXXw9Yik7YyY9fmV9fXZhciBDPTA7ZnVuY3Rpb24gRGMoYSl7YSY9LWE7cmV0dXJuIDE8YT80PGE/MCE9PShhJjI2ODQzNTQ1NSk/MTY6NTM2ODcwOTEyOjQ6MX12YXIgRWMsRmMsR2MsSGMsSWMsSmM9ITEsS2M9W10sTGM9bnVsbCxNYz1udWxsLE5jPW51bGwsT2M9bmV3IE1hcCxQYz1uZXcgTWFwLFFjPVtdLFJjPVwibW91c2Vkb3duIG1vdXNldXAgdG91Y2hjYW5jZWwgdG91Y2hlbmQgdG91Y2hzdGFydCBhdXhjbGljayBkYmxjbGljayBwb2ludGVyY2FuY2VsIHBvaW50ZXJkb3duIHBvaW50ZXJ1cCBkcmFnZW5kIGRyYWdzdGFydCBkcm9wIGNvbXBvc2l0aW9uZW5kIGNvbXBvc2l0aW9uc3RhcnQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCB0ZXh0SW5wdXQgY29weSBjdXQgcGFzdGUgY2xpY2sgY2hhbmdlIGNvbnRleHRtZW51IHJlc2V0IHN1Ym1pdFwiLnNwbGl0KFwiIFwiKTtcbmZ1bmN0aW9uIFNjKGEsYil7c3dpdGNoKGEpe2Nhc2UgXCJmb2N1c2luXCI6Y2FzZSBcImZvY3Vzb3V0XCI6TGM9bnVsbDticmVhaztjYXNlIFwiZHJhZ2VudGVyXCI6Y2FzZSBcImRyYWdsZWF2ZVwiOk1jPW51bGw7YnJlYWs7Y2FzZSBcIm1vdXNlb3ZlclwiOmNhc2UgXCJtb3VzZW91dFwiOk5jPW51bGw7YnJlYWs7Y2FzZSBcInBvaW50ZXJvdmVyXCI6Y2FzZSBcInBvaW50ZXJvdXRcIjpPYy5kZWxldGUoYi5wb2ludGVySWQpO2JyZWFrO2Nhc2UgXCJnb3Rwb2ludGVyY2FwdHVyZVwiOmNhc2UgXCJsb3N0cG9pbnRlcmNhcHR1cmVcIjpQYy5kZWxldGUoYi5wb2ludGVySWQpfX1cbmZ1bmN0aW9uIFRjKGEsYixjLGQsZSxmKXtpZihudWxsPT09YXx8YS5uYXRpdmVFdmVudCE9PWYpcmV0dXJuIGE9e2Jsb2NrZWRPbjpiLGRvbUV2ZW50TmFtZTpjLGV2ZW50U3lzdGVtRmxhZ3M6ZCxuYXRpdmVFdmVudDpmLHRhcmdldENvbnRhaW5lcnM6W2VdfSxudWxsIT09YiYmKGI9Q2IoYiksbnVsbCE9PWImJkZjKGIpKSxhO2EuZXZlbnRTeXN0ZW1GbGFnc3w9ZDtiPWEudGFyZ2V0Q29udGFpbmVycztudWxsIT09ZSYmLTE9PT1iLmluZGV4T2YoZSkmJmIucHVzaChlKTtyZXR1cm4gYX1cbmZ1bmN0aW9uIFVjKGEsYixjLGQsZSl7c3dpdGNoKGIpe2Nhc2UgXCJmb2N1c2luXCI6cmV0dXJuIExjPVRjKExjLGEsYixjLGQsZSksITA7Y2FzZSBcImRyYWdlbnRlclwiOnJldHVybiBNYz1UYyhNYyxhLGIsYyxkLGUpLCEwO2Nhc2UgXCJtb3VzZW92ZXJcIjpyZXR1cm4gTmM9VGMoTmMsYSxiLGMsZCxlKSwhMDtjYXNlIFwicG9pbnRlcm92ZXJcIjp2YXIgZj1lLnBvaW50ZXJJZDtPYy5zZXQoZixUYyhPYy5nZXQoZil8fG51bGwsYSxiLGMsZCxlKSk7cmV0dXJuITA7Y2FzZSBcImdvdHBvaW50ZXJjYXB0dXJlXCI6cmV0dXJuIGY9ZS5wb2ludGVySWQsUGMuc2V0KGYsVGMoUGMuZ2V0KGYpfHxudWxsLGEsYixjLGQsZSkpLCEwfXJldHVybiExfVxuZnVuY3Rpb24gVmMoYSl7dmFyIGI9V2MoYS50YXJnZXQpO2lmKG51bGwhPT1iKXt2YXIgYz1WYihiKTtpZihudWxsIT09YylpZihiPWMudGFnLDEzPT09Yil7aWYoYj1XYihjKSxudWxsIT09Yil7YS5ibG9ja2VkT249YjtJYyhhLnByaW9yaXR5LGZ1bmN0aW9uKCl7R2MoYyl9KTtyZXR1cm59fWVsc2UgaWYoMz09PWImJmMuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe2EuYmxvY2tlZE9uPTM9PT1jLnRhZz9jLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7cmV0dXJufX1hLmJsb2NrZWRPbj1udWxsfVxuZnVuY3Rpb24gWGMoYSl7aWYobnVsbCE9PWEuYmxvY2tlZE9uKXJldHVybiExO2Zvcih2YXIgYj1hLnRhcmdldENvbnRhaW5lcnM7MDxiLmxlbmd0aDspe3ZhciBjPVljKGEuZG9tRXZlbnROYW1lLGEuZXZlbnRTeXN0ZW1GbGFncyxiWzBdLGEubmF0aXZlRXZlbnQpO2lmKG51bGw9PT1jKXtjPWEubmF0aXZlRXZlbnQ7dmFyIGQ9bmV3IGMuY29uc3RydWN0b3IoYy50eXBlLGMpO3diPWQ7Yy50YXJnZXQuZGlzcGF0Y2hFdmVudChkKTt3Yj1udWxsfWVsc2UgcmV0dXJuIGI9Q2IoYyksbnVsbCE9PWImJkZjKGIpLGEuYmxvY2tlZE9uPWMsITE7Yi5zaGlmdCgpfXJldHVybiEwfWZ1bmN0aW9uIFpjKGEsYixjKXtYYyhhKSYmYy5kZWxldGUoYil9ZnVuY3Rpb24gJGMoKXtKYz0hMTtudWxsIT09TGMmJlhjKExjKSYmKExjPW51bGwpO251bGwhPT1NYyYmWGMoTWMpJiYoTWM9bnVsbCk7bnVsbCE9PU5jJiZYYyhOYykmJihOYz1udWxsKTtPYy5mb3JFYWNoKFpjKTtQYy5mb3JFYWNoKFpjKX1cbmZ1bmN0aW9uIGFkKGEsYil7YS5ibG9ja2VkT249PT1iJiYoYS5ibG9ja2VkT249bnVsbCxKY3x8KEpjPSEwLGNhLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2soY2EudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksJGMpKSl9XG5mdW5jdGlvbiBiZChhKXtmdW5jdGlvbiBiKGIpe3JldHVybiBhZChiLGEpfWlmKDA8S2MubGVuZ3RoKXthZChLY1swXSxhKTtmb3IodmFyIGM9MTtjPEtjLmxlbmd0aDtjKyspe3ZhciBkPUtjW2NdO2QuYmxvY2tlZE9uPT09YSYmKGQuYmxvY2tlZE9uPW51bGwpfX1udWxsIT09TGMmJmFkKExjLGEpO251bGwhPT1NYyYmYWQoTWMsYSk7bnVsbCE9PU5jJiZhZChOYyxhKTtPYy5mb3JFYWNoKGIpO1BjLmZvckVhY2goYik7Zm9yKGM9MDtjPFFjLmxlbmd0aDtjKyspZD1RY1tjXSxkLmJsb2NrZWRPbj09PWEmJihkLmJsb2NrZWRPbj1udWxsKTtmb3IoOzA8UWMubGVuZ3RoJiYoYz1RY1swXSxudWxsPT09Yy5ibG9ja2VkT24pOylWYyhjKSxudWxsPT09Yy5ibG9ja2VkT24mJlFjLnNoaWZ0KCl9dmFyIGNkPXVhLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLGRkPSEwO1xuZnVuY3Rpb24gZWQoYSxiLGMsZCl7dmFyIGU9QyxmPWNkLnRyYW5zaXRpb247Y2QudHJhbnNpdGlvbj1udWxsO3RyeXtDPTEsZmQoYSxiLGMsZCl9ZmluYWxseXtDPWUsY2QudHJhbnNpdGlvbj1mfX1mdW5jdGlvbiBnZChhLGIsYyxkKXt2YXIgZT1DLGY9Y2QudHJhbnNpdGlvbjtjZC50cmFuc2l0aW9uPW51bGw7dHJ5e0M9NCxmZChhLGIsYyxkKX1maW5hbGx5e0M9ZSxjZC50cmFuc2l0aW9uPWZ9fVxuZnVuY3Rpb24gZmQoYSxiLGMsZCl7aWYoZGQpe3ZhciBlPVljKGEsYixjLGQpO2lmKG51bGw9PT1lKWhkKGEsYixkLGlkLGMpLFNjKGEsZCk7ZWxzZSBpZihVYyhlLGEsYixjLGQpKWQuc3RvcFByb3BhZ2F0aW9uKCk7ZWxzZSBpZihTYyhhLGQpLGImNCYmLTE8UmMuaW5kZXhPZihhKSl7Zm9yKDtudWxsIT09ZTspe3ZhciBmPUNiKGUpO251bGwhPT1mJiZFYyhmKTtmPVljKGEsYixjLGQpO251bGw9PT1mJiZoZChhLGIsZCxpZCxjKTtpZihmPT09ZSlicmVhaztlPWZ9bnVsbCE9PWUmJmQuc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBoZChhLGIsZCxudWxsLGMpfX12YXIgaWQ9bnVsbDtcbmZ1bmN0aW9uIFljKGEsYixjLGQpe2lkPW51bGw7YT14YihkKTthPVdjKGEpO2lmKG51bGwhPT1hKWlmKGI9VmIoYSksbnVsbD09PWIpYT1udWxsO2Vsc2UgaWYoYz1iLnRhZywxMz09PWMpe2E9V2IoYik7aWYobnVsbCE9PWEpcmV0dXJuIGE7YT1udWxsfWVsc2UgaWYoMz09PWMpe2lmKGIuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpcmV0dXJuIDM9PT1iLnRhZz9iLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7YT1udWxsfWVsc2UgYiE9PWEmJihhPW51bGwpO2lkPWE7cmV0dXJuIG51bGx9XG5mdW5jdGlvbiBqZChhKXtzd2l0Y2goYSl7Y2FzZSBcImNhbmNlbFwiOmNhc2UgXCJjbGlja1wiOmNhc2UgXCJjbG9zZVwiOmNhc2UgXCJjb250ZXh0bWVudVwiOmNhc2UgXCJjb3B5XCI6Y2FzZSBcImN1dFwiOmNhc2UgXCJhdXhjbGlja1wiOmNhc2UgXCJkYmxjbGlja1wiOmNhc2UgXCJkcmFnZW5kXCI6Y2FzZSBcImRyYWdzdGFydFwiOmNhc2UgXCJkcm9wXCI6Y2FzZSBcImZvY3VzaW5cIjpjYXNlIFwiZm9jdXNvdXRcIjpjYXNlIFwiaW5wdXRcIjpjYXNlIFwiaW52YWxpZFwiOmNhc2UgXCJrZXlkb3duXCI6Y2FzZSBcImtleXByZXNzXCI6Y2FzZSBcImtleXVwXCI6Y2FzZSBcIm1vdXNlZG93blwiOmNhc2UgXCJtb3VzZXVwXCI6Y2FzZSBcInBhc3RlXCI6Y2FzZSBcInBhdXNlXCI6Y2FzZSBcInBsYXlcIjpjYXNlIFwicG9pbnRlcmNhbmNlbFwiOmNhc2UgXCJwb2ludGVyZG93blwiOmNhc2UgXCJwb2ludGVydXBcIjpjYXNlIFwicmF0ZWNoYW5nZVwiOmNhc2UgXCJyZXNldFwiOmNhc2UgXCJyZXNpemVcIjpjYXNlIFwic2Vla2VkXCI6Y2FzZSBcInN1Ym1pdFwiOmNhc2UgXCJ0b3VjaGNhbmNlbFwiOmNhc2UgXCJ0b3VjaGVuZFwiOmNhc2UgXCJ0b3VjaHN0YXJ0XCI6Y2FzZSBcInZvbHVtZWNoYW5nZVwiOmNhc2UgXCJjaGFuZ2VcIjpjYXNlIFwic2VsZWN0aW9uY2hhbmdlXCI6Y2FzZSBcInRleHRJbnB1dFwiOmNhc2UgXCJjb21wb3NpdGlvbnN0YXJ0XCI6Y2FzZSBcImNvbXBvc2l0aW9uZW5kXCI6Y2FzZSBcImNvbXBvc2l0aW9udXBkYXRlXCI6Y2FzZSBcImJlZm9yZWJsdXJcIjpjYXNlIFwiYWZ0ZXJibHVyXCI6Y2FzZSBcImJlZm9yZWlucHV0XCI6Y2FzZSBcImJsdXJcIjpjYXNlIFwiZnVsbHNjcmVlbmNoYW5nZVwiOmNhc2UgXCJmb2N1c1wiOmNhc2UgXCJoYXNoY2hhbmdlXCI6Y2FzZSBcInBvcHN0YXRlXCI6Y2FzZSBcInNlbGVjdFwiOmNhc2UgXCJzZWxlY3RzdGFydFwiOnJldHVybiAxO2Nhc2UgXCJkcmFnXCI6Y2FzZSBcImRyYWdlbnRlclwiOmNhc2UgXCJkcmFnZXhpdFwiOmNhc2UgXCJkcmFnbGVhdmVcIjpjYXNlIFwiZHJhZ292ZXJcIjpjYXNlIFwibW91c2Vtb3ZlXCI6Y2FzZSBcIm1vdXNlb3V0XCI6Y2FzZSBcIm1vdXNlb3ZlclwiOmNhc2UgXCJwb2ludGVybW92ZVwiOmNhc2UgXCJwb2ludGVyb3V0XCI6Y2FzZSBcInBvaW50ZXJvdmVyXCI6Y2FzZSBcInNjcm9sbFwiOmNhc2UgXCJ0b2dnbGVcIjpjYXNlIFwidG91Y2htb3ZlXCI6Y2FzZSBcIndoZWVsXCI6Y2FzZSBcIm1vdXNlZW50ZXJcIjpjYXNlIFwibW91c2VsZWF2ZVwiOmNhc2UgXCJwb2ludGVyZW50ZXJcIjpjYXNlIFwicG9pbnRlcmxlYXZlXCI6cmV0dXJuIDQ7XG5jYXNlIFwibWVzc2FnZVwiOnN3aXRjaChlYygpKXtjYXNlIGZjOnJldHVybiAxO2Nhc2UgZ2M6cmV0dXJuIDQ7Y2FzZSBoYzpjYXNlIGljOnJldHVybiAxNjtjYXNlIGpjOnJldHVybiA1MzY4NzA5MTI7ZGVmYXVsdDpyZXR1cm4gMTZ9ZGVmYXVsdDpyZXR1cm4gMTZ9fXZhciBrZD1udWxsLGxkPW51bGwsbWQ9bnVsbDtmdW5jdGlvbiBuZCgpe2lmKG1kKXJldHVybiBtZDt2YXIgYSxiPWxkLGM9Yi5sZW5ndGgsZCxlPVwidmFsdWVcImluIGtkP2tkLnZhbHVlOmtkLnRleHRDb250ZW50LGY9ZS5sZW5ndGg7Zm9yKGE9MDthPGMmJmJbYV09PT1lW2FdO2ErKyk7dmFyIGc9Yy1hO2ZvcihkPTE7ZDw9ZyYmYltjLWRdPT09ZVtmLWRdO2QrKyk7cmV0dXJuIG1kPWUuc2xpY2UoYSwxPGQ/MS1kOnZvaWQgMCl9XG5mdW5jdGlvbiBvZChhKXt2YXIgYj1hLmtleUNvZGU7XCJjaGFyQ29kZVwiaW4gYT8oYT1hLmNoYXJDb2RlLDA9PT1hJiYxMz09PWImJihhPTEzKSk6YT1iOzEwPT09YSYmKGE9MTMpO3JldHVybiAzMjw9YXx8MTM9PT1hP2E6MH1mdW5jdGlvbiBwZCgpe3JldHVybiEwfWZ1bmN0aW9uIHFkKCl7cmV0dXJuITF9XG5mdW5jdGlvbiByZChhKXtmdW5jdGlvbiBiKGIsZCxlLGYsZyl7dGhpcy5fcmVhY3ROYW1lPWI7dGhpcy5fdGFyZ2V0SW5zdD1lO3RoaXMudHlwZT1kO3RoaXMubmF0aXZlRXZlbnQ9Zjt0aGlzLnRhcmdldD1nO3RoaXMuY3VycmVudFRhcmdldD1udWxsO2Zvcih2YXIgYyBpbiBhKWEuaGFzT3duUHJvcGVydHkoYykmJihiPWFbY10sdGhpc1tjXT1iP2IoZik6ZltjXSk7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWYuZGVmYXVsdFByZXZlbnRlZD9mLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1mLnJldHVyblZhbHVlKT9wZDpxZDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXFkO3JldHVybiB0aGlzfUEoYi5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBhPXRoaXMubmF0aXZlRXZlbnQ7YSYmKGEucHJldmVudERlZmF1bHQ/YS5wcmV2ZW50RGVmYXVsdCgpOlwidW5rbm93blwiIT09dHlwZW9mIGEucmV0dXJuVmFsdWUmJlxuKGEucmV0dXJuVmFsdWU9ITEpLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPXBkKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5uYXRpdmVFdmVudDthJiYoYS5zdG9wUHJvcGFnYXRpb24/YS5zdG9wUHJvcGFnYXRpb24oKTpcInVua25vd25cIiE9PXR5cGVvZiBhLmNhbmNlbEJ1YmJsZSYmKGEuY2FuY2VsQnViYmxlPSEwKSx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXBkKX0scGVyc2lzdDpmdW5jdGlvbigpe30saXNQZXJzaXN0ZW50OnBkfSk7cmV0dXJuIGJ9XG52YXIgc2Q9e2V2ZW50UGhhc2U6MCxidWJibGVzOjAsY2FuY2VsYWJsZTowLHRpbWVTdGFtcDpmdW5jdGlvbihhKXtyZXR1cm4gYS50aW1lU3RhbXB8fERhdGUubm93KCl9LGRlZmF1bHRQcmV2ZW50ZWQ6MCxpc1RydXN0ZWQ6MH0sdGQ9cmQoc2QpLHVkPUEoe30sc2Qse3ZpZXc6MCxkZXRhaWw6MH0pLHZkPXJkKHVkKSx3ZCx4ZCx5ZCxBZD1BKHt9LHVkLHtzY3JlZW5YOjAsc2NyZWVuWTowLGNsaWVudFg6MCxjbGllbnRZOjAscGFnZVg6MCxwYWdlWTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGFsdEtleTowLG1ldGFLZXk6MCxnZXRNb2RpZmllclN0YXRlOnpkLGJ1dHRvbjowLGJ1dHRvbnM6MCxyZWxhdGVkVGFyZ2V0OmZ1bmN0aW9uKGEpe3JldHVybiB2b2lkIDA9PT1hLnJlbGF0ZWRUYXJnZXQ/YS5mcm9tRWxlbWVudD09PWEuc3JjRWxlbWVudD9hLnRvRWxlbWVudDphLmZyb21FbGVtZW50OmEucmVsYXRlZFRhcmdldH0sbW92ZW1lbnRYOmZ1bmN0aW9uKGEpe2lmKFwibW92ZW1lbnRYXCJpblxuYSlyZXR1cm4gYS5tb3ZlbWVudFg7YSE9PXlkJiYoeWQmJlwibW91c2Vtb3ZlXCI9PT1hLnR5cGU/KHdkPWEuc2NyZWVuWC15ZC5zY3JlZW5YLHhkPWEuc2NyZWVuWS15ZC5zY3JlZW5ZKTp4ZD13ZD0wLHlkPWEpO3JldHVybiB3ZH0sbW92ZW1lbnRZOmZ1bmN0aW9uKGEpe3JldHVyblwibW92ZW1lbnRZXCJpbiBhP2EubW92ZW1lbnRZOnhkfX0pLEJkPXJkKEFkKSxDZD1BKHt9LEFkLHtkYXRhVHJhbnNmZXI6MH0pLERkPXJkKENkKSxFZD1BKHt9LHVkLHtyZWxhdGVkVGFyZ2V0OjB9KSxGZD1yZChFZCksR2Q9QSh7fSxzZCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSksSGQ9cmQoR2QpLElkPUEoe30sc2Qse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuXCJjbGlwYm9hcmREYXRhXCJpbiBhP2EuY2xpcGJvYXJkRGF0YTp3aW5kb3cuY2xpcGJvYXJkRGF0YX19KSxKZD1yZChJZCksS2Q9QSh7fSxzZCx7ZGF0YTowfSksTGQ9cmQoS2QpLE1kPXtFc2M6XCJFc2NhcGVcIixcblNwYWNlYmFyOlwiIFwiLExlZnQ6XCJBcnJvd0xlZnRcIixVcDpcIkFycm93VXBcIixSaWdodDpcIkFycm93UmlnaHRcIixEb3duOlwiQXJyb3dEb3duXCIsRGVsOlwiRGVsZXRlXCIsV2luOlwiT1NcIixNZW51OlwiQ29udGV4dE1lbnVcIixBcHBzOlwiQ29udGV4dE1lbnVcIixTY3JvbGw6XCJTY3JvbGxMb2NrXCIsTW96UHJpbnRhYmxlS2V5OlwiVW5pZGVudGlmaWVkXCJ9LE5kPXs4OlwiQmFja3NwYWNlXCIsOTpcIlRhYlwiLDEyOlwiQ2xlYXJcIiwxMzpcIkVudGVyXCIsMTY6XCJTaGlmdFwiLDE3OlwiQ29udHJvbFwiLDE4OlwiQWx0XCIsMTk6XCJQYXVzZVwiLDIwOlwiQ2Fwc0xvY2tcIiwyNzpcIkVzY2FwZVwiLDMyOlwiIFwiLDMzOlwiUGFnZVVwXCIsMzQ6XCJQYWdlRG93blwiLDM1OlwiRW5kXCIsMzY6XCJIb21lXCIsMzc6XCJBcnJvd0xlZnRcIiwzODpcIkFycm93VXBcIiwzOTpcIkFycm93UmlnaHRcIiw0MDpcIkFycm93RG93blwiLDQ1OlwiSW5zZXJ0XCIsNDY6XCJEZWxldGVcIiwxMTI6XCJGMVwiLDExMzpcIkYyXCIsMTE0OlwiRjNcIiwxMTU6XCJGNFwiLDExNjpcIkY1XCIsMTE3OlwiRjZcIiwxMTg6XCJGN1wiLFxuMTE5OlwiRjhcIiwxMjA6XCJGOVwiLDEyMTpcIkYxMFwiLDEyMjpcIkYxMVwiLDEyMzpcIkYxMlwiLDE0NDpcIk51bUxvY2tcIiwxNDU6XCJTY3JvbGxMb2NrXCIsMjI0OlwiTWV0YVwifSxPZD17QWx0OlwiYWx0S2V5XCIsQ29udHJvbDpcImN0cmxLZXlcIixNZXRhOlwibWV0YUtleVwiLFNoaWZ0Olwic2hpZnRLZXlcIn07ZnVuY3Rpb24gUGQoYSl7dmFyIGI9dGhpcy5uYXRpdmVFdmVudDtyZXR1cm4gYi5nZXRNb2RpZmllclN0YXRlP2IuZ2V0TW9kaWZpZXJTdGF0ZShhKTooYT1PZFthXSk/ISFiW2FdOiExfWZ1bmN0aW9uIHpkKCl7cmV0dXJuIFBkfVxudmFyIFFkPUEoe30sdWQse2tleTpmdW5jdGlvbihhKXtpZihhLmtleSl7dmFyIGI9TWRbYS5rZXldfHxhLmtleTtpZihcIlVuaWRlbnRpZmllZFwiIT09YilyZXR1cm4gYn1yZXR1cm5cImtleXByZXNzXCI9PT1hLnR5cGU/KGE9b2QoYSksMTM9PT1hP1wiRW50ZXJcIjpTdHJpbmcuZnJvbUNoYXJDb2RlKGEpKTpcImtleWRvd25cIj09PWEudHlwZXx8XCJrZXl1cFwiPT09YS50eXBlP05kW2Eua2V5Q29kZV18fFwiVW5pZGVudGlmaWVkXCI6XCJcIn0sY29kZTowLGxvY2F0aW9uOjAsY3RybEtleTowLHNoaWZ0S2V5OjAsYWx0S2V5OjAsbWV0YUtleTowLHJlcGVhdDowLGxvY2FsZTowLGdldE1vZGlmaWVyU3RhdGU6emQsY2hhckNvZGU6ZnVuY3Rpb24oYSl7cmV0dXJuXCJrZXlwcmVzc1wiPT09YS50eXBlP29kKGEpOjB9LGtleUNvZGU6ZnVuY3Rpb24oYSl7cmV0dXJuXCJrZXlkb3duXCI9PT1hLnR5cGV8fFwia2V5dXBcIj09PWEudHlwZT9hLmtleUNvZGU6MH0sd2hpY2g6ZnVuY3Rpb24oYSl7cmV0dXJuXCJrZXlwcmVzc1wiPT09XG5hLnR5cGU/b2QoYSk6XCJrZXlkb3duXCI9PT1hLnR5cGV8fFwia2V5dXBcIj09PWEudHlwZT9hLmtleUNvZGU6MH19KSxSZD1yZChRZCksU2Q9QSh7fSxBZCx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSxUZD1yZChTZCksVWQ9QSh7fSx1ZCx7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOnpkfSksVmQ9cmQoVWQpLFdkPUEoe30sc2Qse3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSksWGQ9cmQoV2QpLFlkPUEoe30sQWQse2RlbHRhWDpmdW5jdGlvbihhKXtyZXR1cm5cImRlbHRhWFwiaW4gYT9hLmRlbHRhWDpcIndoZWVsRGVsdGFYXCJpbiBhPy1hLndoZWVsRGVsdGFYOjB9LFxuZGVsdGFZOmZ1bmN0aW9uKGEpe3JldHVyblwiZGVsdGFZXCJpbiBhP2EuZGVsdGFZOlwid2hlZWxEZWx0YVlcImluIGE/LWEud2hlZWxEZWx0YVk6XCJ3aGVlbERlbHRhXCJpbiBhPy1hLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSxaZD1yZChZZCksJGQ9WzksMTMsMjcsMzJdLGFlPWlhJiZcIkNvbXBvc2l0aW9uRXZlbnRcImluIHdpbmRvdyxiZT1udWxsO2lhJiZcImRvY3VtZW50TW9kZVwiaW4gZG9jdW1lbnQmJihiZT1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBjZT1pYSYmXCJUZXh0RXZlbnRcImluIHdpbmRvdyYmIWJlLGRlPWlhJiYoIWFlfHxiZSYmODxiZSYmMTE+PWJlKSxlZT1TdHJpbmcuZnJvbUNoYXJDb2RlKDMyKSxmZT0hMTtcbmZ1bmN0aW9uIGdlKGEsYil7c3dpdGNoKGEpe2Nhc2UgXCJrZXl1cFwiOnJldHVybi0xIT09JGQuaW5kZXhPZihiLmtleUNvZGUpO2Nhc2UgXCJrZXlkb3duXCI6cmV0dXJuIDIyOSE9PWIua2V5Q29kZTtjYXNlIFwia2V5cHJlc3NcIjpjYXNlIFwibW91c2Vkb3duXCI6Y2FzZSBcImZvY3Vzb3V0XCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gaGUoYSl7YT1hLmRldGFpbDtyZXR1cm5cIm9iamVjdFwiPT09dHlwZW9mIGEmJlwiZGF0YVwiaW4gYT9hLmRhdGE6bnVsbH12YXIgaWU9ITE7ZnVuY3Rpb24gamUoYSxiKXtzd2l0Y2goYSl7Y2FzZSBcImNvbXBvc2l0aW9uZW5kXCI6cmV0dXJuIGhlKGIpO2Nhc2UgXCJrZXlwcmVzc1wiOmlmKDMyIT09Yi53aGljaClyZXR1cm4gbnVsbDtmZT0hMDtyZXR1cm4gZWU7Y2FzZSBcInRleHRJbnB1dFwiOnJldHVybiBhPWIuZGF0YSxhPT09ZWUmJmZlP251bGw6YTtkZWZhdWx0OnJldHVybiBudWxsfX1cbmZ1bmN0aW9uIGtlKGEsYil7aWYoaWUpcmV0dXJuXCJjb21wb3NpdGlvbmVuZFwiPT09YXx8IWFlJiZnZShhLGIpPyhhPW5kKCksbWQ9bGQ9a2Q9bnVsbCxpZT0hMSxhKTpudWxsO3N3aXRjaChhKXtjYXNlIFwicGFzdGVcIjpyZXR1cm4gbnVsbDtjYXNlIFwia2V5cHJlc3NcIjppZighKGIuY3RybEtleXx8Yi5hbHRLZXl8fGIubWV0YUtleSl8fGIuY3RybEtleSYmYi5hbHRLZXkpe2lmKGIuY2hhciYmMTxiLmNoYXIubGVuZ3RoKXJldHVybiBiLmNoYXI7aWYoYi53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShiLndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlIFwiY29tcG9zaXRpb25lbmRcIjpyZXR1cm4gZGUmJlwia29cIiE9PWIubG9jYWxlP251bGw6Yi5kYXRhO2RlZmF1bHQ6cmV0dXJuIG51bGx9fVxudmFyIGxlPXtjb2xvcjohMCxkYXRlOiEwLGRhdGV0aW1lOiEwLFwiZGF0ZXRpbWUtbG9jYWxcIjohMCxlbWFpbDohMCxtb250aDohMCxudW1iZXI6ITAscGFzc3dvcmQ6ITAscmFuZ2U6ITAsc2VhcmNoOiEwLHRlbDohMCx0ZXh0OiEwLHRpbWU6ITAsdXJsOiEwLHdlZWs6ITB9O2Z1bmN0aW9uIG1lKGEpe3ZhciBiPWEmJmEubm9kZU5hbWUmJmEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm5cImlucHV0XCI9PT1iPyEhbGVbYS50eXBlXTpcInRleHRhcmVhXCI9PT1iPyEwOiExfWZ1bmN0aW9uIG5lKGEsYixjLGQpe0ViKGQpO2I9b2UoYixcIm9uQ2hhbmdlXCIpOzA8Yi5sZW5ndGgmJihjPW5ldyB0ZChcIm9uQ2hhbmdlXCIsXCJjaGFuZ2VcIixudWxsLGMsZCksYS5wdXNoKHtldmVudDpjLGxpc3RlbmVyczpifSkpfXZhciBwZT1udWxsLHFlPW51bGw7ZnVuY3Rpb24gcmUoYSl7c2UoYSwwKX1mdW5jdGlvbiB0ZShhKXt2YXIgYj11ZShhKTtpZihXYShiKSlyZXR1cm4gYX1cbmZ1bmN0aW9uIHZlKGEsYil7aWYoXCJjaGFuZ2VcIj09PWEpcmV0dXJuIGJ9dmFyIHdlPSExO2lmKGlhKXt2YXIgeGU7aWYoaWEpe3ZhciB5ZT1cIm9uaW5wdXRcImluIGRvY3VtZW50O2lmKCF5ZSl7dmFyIHplPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7emUuc2V0QXR0cmlidXRlKFwib25pbnB1dFwiLFwicmV0dXJuO1wiKTt5ZT1cImZ1bmN0aW9uXCI9PT10eXBlb2YgemUub25pbnB1dH14ZT15ZX1lbHNlIHhlPSExO3dlPXhlJiYoIWRvY3VtZW50LmRvY3VtZW50TW9kZXx8OTxkb2N1bWVudC5kb2N1bWVudE1vZGUpfWZ1bmN0aW9uIEFlKCl7cGUmJihwZS5kZXRhY2hFdmVudChcIm9ucHJvcGVydHljaGFuZ2VcIixCZSkscWU9cGU9bnVsbCl9ZnVuY3Rpb24gQmUoYSl7aWYoXCJ2YWx1ZVwiPT09YS5wcm9wZXJ0eU5hbWUmJnRlKHFlKSl7dmFyIGI9W107bmUoYixxZSxhLHhiKGEpKTtKYihyZSxiKX19XG5mdW5jdGlvbiBDZShhLGIsYyl7XCJmb2N1c2luXCI9PT1hPyhBZSgpLHBlPWIscWU9YyxwZS5hdHRhY2hFdmVudChcIm9ucHJvcGVydHljaGFuZ2VcIixCZSkpOlwiZm9jdXNvdXRcIj09PWEmJkFlKCl9ZnVuY3Rpb24gRGUoYSl7aWYoXCJzZWxlY3Rpb25jaGFuZ2VcIj09PWF8fFwia2V5dXBcIj09PWF8fFwia2V5ZG93blwiPT09YSlyZXR1cm4gdGUocWUpfWZ1bmN0aW9uIEVlKGEsYil7aWYoXCJjbGlja1wiPT09YSlyZXR1cm4gdGUoYil9ZnVuY3Rpb24gRmUoYSxiKXtpZihcImlucHV0XCI9PT1hfHxcImNoYW5nZVwiPT09YSlyZXR1cm4gdGUoYil9ZnVuY3Rpb24gR2UoYSxiKXtyZXR1cm4gYT09PWImJigwIT09YXx8MS9hPT09MS9iKXx8YSE9PWEmJmIhPT1ifXZhciBIZT1cImZ1bmN0aW9uXCI9PT10eXBlb2YgT2JqZWN0LmlzP09iamVjdC5pczpHZTtcbmZ1bmN0aW9uIEllKGEsYil7aWYoSGUoYSxiKSlyZXR1cm4hMDtpZihcIm9iamVjdFwiIT09dHlwZW9mIGF8fG51bGw9PT1hfHxcIm9iamVjdFwiIT09dHlwZW9mIGJ8fG51bGw9PT1iKXJldHVybiExO3ZhciBjPU9iamVjdC5rZXlzKGEpLGQ9T2JqZWN0LmtleXMoYik7aWYoYy5sZW5ndGghPT1kLmxlbmd0aClyZXR1cm4hMTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZT1jW2RdO2lmKCFqYS5jYWxsKGIsZSl8fCFIZShhW2VdLGJbZV0pKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIEplKGEpe2Zvcig7YSYmYS5maXJzdENoaWxkOylhPWEuZmlyc3RDaGlsZDtyZXR1cm4gYX1cbmZ1bmN0aW9uIEtlKGEsYil7dmFyIGM9SmUoYSk7YT0wO2Zvcih2YXIgZDtjOyl7aWYoMz09PWMubm9kZVR5cGUpe2Q9YStjLnRleHRDb250ZW50Lmxlbmd0aDtpZihhPD1iJiZkPj1iKXJldHVybntub2RlOmMsb2Zmc2V0OmItYX07YT1kfWE6e2Zvcig7Yzspe2lmKGMubmV4dFNpYmxpbmcpe2M9Yy5uZXh0U2libGluZzticmVhayBhfWM9Yy5wYXJlbnROb2RlfWM9dm9pZCAwfWM9SmUoYyl9fWZ1bmN0aW9uIExlKGEsYil7cmV0dXJuIGEmJmI/YT09PWI/ITA6YSYmMz09PWEubm9kZVR5cGU/ITE6YiYmMz09PWIubm9kZVR5cGU/TGUoYSxiLnBhcmVudE5vZGUpOlwiY29udGFpbnNcImluIGE/YS5jb250YWlucyhiKTphLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPyEhKGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikmMTYpOiExOiExfVxuZnVuY3Rpb24gTWUoKXtmb3IodmFyIGE9d2luZG93LGI9WGEoKTtiIGluc3RhbmNlb2YgYS5IVE1MSUZyYW1lRWxlbWVudDspe3RyeXt2YXIgYz1cInN0cmluZ1wiPT09dHlwZW9mIGIuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmfWNhdGNoKGQpe2M9ITF9aWYoYylhPWIuY29udGVudFdpbmRvdztlbHNlIGJyZWFrO2I9WGEoYS5kb2N1bWVudCl9cmV0dXJuIGJ9ZnVuY3Rpb24gTmUoYSl7dmFyIGI9YSYmYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiBiJiYoXCJpbnB1dFwiPT09YiYmKFwidGV4dFwiPT09YS50eXBlfHxcInNlYXJjaFwiPT09YS50eXBlfHxcInRlbFwiPT09YS50eXBlfHxcInVybFwiPT09YS50eXBlfHxcInBhc3N3b3JkXCI9PT1hLnR5cGUpfHxcInRleHRhcmVhXCI9PT1ifHxcInRydWVcIj09PWEuY29udGVudEVkaXRhYmxlKX1cbmZ1bmN0aW9uIE9lKGEpe3ZhciBiPU1lKCksYz1hLmZvY3VzZWRFbGVtLGQ9YS5zZWxlY3Rpb25SYW5nZTtpZihiIT09YyYmYyYmYy5vd25lckRvY3VtZW50JiZMZShjLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGMpKXtpZihudWxsIT09ZCYmTmUoYykpaWYoYj1kLnN0YXJ0LGE9ZC5lbmQsdm9pZCAwPT09YSYmKGE9YiksXCJzZWxlY3Rpb25TdGFydFwiaW4gYyljLnNlbGVjdGlvblN0YXJ0PWIsYy5zZWxlY3Rpb25FbmQ9TWF0aC5taW4oYSxjLnZhbHVlLmxlbmd0aCk7ZWxzZSBpZihhPShiPWMub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQpJiZiLmRlZmF1bHRWaWV3fHx3aW5kb3csYS5nZXRTZWxlY3Rpb24pe2E9YS5nZXRTZWxlY3Rpb24oKTt2YXIgZT1jLnRleHRDb250ZW50Lmxlbmd0aCxmPU1hdGgubWluKGQuc3RhcnQsZSk7ZD12b2lkIDA9PT1kLmVuZD9mOk1hdGgubWluKGQuZW5kLGUpOyFhLmV4dGVuZCYmZj5kJiYoZT1kLGQ9ZixmPWUpO2U9S2UoYyxmKTt2YXIgZz1LZShjLFxuZCk7ZSYmZyYmKDEhPT1hLnJhbmdlQ291bnR8fGEuYW5jaG9yTm9kZSE9PWUubm9kZXx8YS5hbmNob3JPZmZzZXQhPT1lLm9mZnNldHx8YS5mb2N1c05vZGUhPT1nLm5vZGV8fGEuZm9jdXNPZmZzZXQhPT1nLm9mZnNldCkmJihiPWIuY3JlYXRlUmFuZ2UoKSxiLnNldFN0YXJ0KGUubm9kZSxlLm9mZnNldCksYS5yZW1vdmVBbGxSYW5nZXMoKSxmPmQ/KGEuYWRkUmFuZ2UoYiksYS5leHRlbmQoZy5ub2RlLGcub2Zmc2V0KSk6KGIuc2V0RW5kKGcubm9kZSxnLm9mZnNldCksYS5hZGRSYW5nZShiKSkpfWI9W107Zm9yKGE9YzthPWEucGFyZW50Tm9kZTspMT09PWEubm9kZVR5cGUmJmIucHVzaCh7ZWxlbWVudDphLGxlZnQ6YS5zY3JvbGxMZWZ0LHRvcDphLnNjcm9sbFRvcH0pO1wiZnVuY3Rpb25cIj09PXR5cGVvZiBjLmZvY3VzJiZjLmZvY3VzKCk7Zm9yKGM9MDtjPGIubGVuZ3RoO2MrKylhPWJbY10sYS5lbGVtZW50LnNjcm9sbExlZnQ9YS5sZWZ0LGEuZWxlbWVudC5zY3JvbGxUb3A9YS50b3B9fVxudmFyIFBlPWlhJiZcImRvY3VtZW50TW9kZVwiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsUWU9bnVsbCxSZT1udWxsLFNlPW51bGwsVGU9ITE7XG5mdW5jdGlvbiBVZShhLGIsYyl7dmFyIGQ9Yy53aW5kb3c9PT1jP2MuZG9jdW1lbnQ6OT09PWMubm9kZVR5cGU/YzpjLm93bmVyRG9jdW1lbnQ7VGV8fG51bGw9PVFlfHxRZSE9PVhhKGQpfHwoZD1RZSxcInNlbGVjdGlvblN0YXJ0XCJpbiBkJiZOZShkKT9kPXtzdGFydDpkLnNlbGVjdGlvblN0YXJ0LGVuZDpkLnNlbGVjdGlvbkVuZH06KGQ9KGQub3duZXJEb2N1bWVudCYmZC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpLGQ9e2FuY2hvck5vZGU6ZC5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpkLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ZC5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ZC5mb2N1c09mZnNldH0pLFNlJiZJZShTZSxkKXx8KFNlPWQsZD1vZShSZSxcIm9uU2VsZWN0XCIpLDA8ZC5sZW5ndGgmJihiPW5ldyB0ZChcIm9uU2VsZWN0XCIsXCJzZWxlY3RcIixudWxsLGIsYyksYS5wdXNoKHtldmVudDpiLGxpc3RlbmVyczpkfSksYi50YXJnZXQ9UWUpKSl9XG5mdW5jdGlvbiBWZShhLGIpe3ZhciBjPXt9O2NbYS50b0xvd2VyQ2FzZSgpXT1iLnRvTG93ZXJDYXNlKCk7Y1tcIldlYmtpdFwiK2FdPVwid2Via2l0XCIrYjtjW1wiTW96XCIrYV09XCJtb3pcIitiO3JldHVybiBjfXZhciBXZT17YW5pbWF0aW9uZW5kOlZlKFwiQW5pbWF0aW9uXCIsXCJBbmltYXRpb25FbmRcIiksYW5pbWF0aW9uaXRlcmF0aW9uOlZlKFwiQW5pbWF0aW9uXCIsXCJBbmltYXRpb25JdGVyYXRpb25cIiksYW5pbWF0aW9uc3RhcnQ6VmUoXCJBbmltYXRpb25cIixcIkFuaW1hdGlvblN0YXJ0XCIpLHRyYW5zaXRpb25lbmQ6VmUoXCJUcmFuc2l0aW9uXCIsXCJUcmFuc2l0aW9uRW5kXCIpfSxYZT17fSxZZT17fTtcbmlhJiYoWWU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKS5zdHlsZSxcIkFuaW1hdGlvbkV2ZW50XCJpbiB3aW5kb3d8fChkZWxldGUgV2UuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbixkZWxldGUgV2UuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbixkZWxldGUgV2UuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uKSxcIlRyYW5zaXRpb25FdmVudFwiaW4gd2luZG93fHxkZWxldGUgV2UudHJhbnNpdGlvbmVuZC50cmFuc2l0aW9uKTtmdW5jdGlvbiBaZShhKXtpZihYZVthXSlyZXR1cm4gWGVbYV07aWYoIVdlW2FdKXJldHVybiBhO3ZhciBiPVdlW2FdLGM7Zm9yKGMgaW4gYilpZihiLmhhc093blByb3BlcnR5KGMpJiZjIGluIFllKXJldHVybiBYZVthXT1iW2NdO3JldHVybiBhfXZhciAkZT1aZShcImFuaW1hdGlvbmVuZFwiKSxhZj1aZShcImFuaW1hdGlvbml0ZXJhdGlvblwiKSxiZj1aZShcImFuaW1hdGlvbnN0YXJ0XCIpLGNmPVplKFwidHJhbnNpdGlvbmVuZFwiKSxkZj1uZXcgTWFwLGVmPVwiYWJvcnQgYXV4Q2xpY2sgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWxcIi5zcGxpdChcIiBcIik7XG5mdW5jdGlvbiBmZihhLGIpe2RmLnNldChhLGIpO2ZhKGIsW2FdKX1mb3IodmFyIGdmPTA7Z2Y8ZWYubGVuZ3RoO2dmKyspe3ZhciBoZj1lZltnZl0samY9aGYudG9Mb3dlckNhc2UoKSxrZj1oZlswXS50b1VwcGVyQ2FzZSgpK2hmLnNsaWNlKDEpO2ZmKGpmLFwib25cIitrZil9ZmYoJGUsXCJvbkFuaW1hdGlvbkVuZFwiKTtmZihhZixcIm9uQW5pbWF0aW9uSXRlcmF0aW9uXCIpO2ZmKGJmLFwib25BbmltYXRpb25TdGFydFwiKTtmZihcImRibGNsaWNrXCIsXCJvbkRvdWJsZUNsaWNrXCIpO2ZmKFwiZm9jdXNpblwiLFwib25Gb2N1c1wiKTtmZihcImZvY3Vzb3V0XCIsXCJvbkJsdXJcIik7ZmYoY2YsXCJvblRyYW5zaXRpb25FbmRcIik7aGEoXCJvbk1vdXNlRW50ZXJcIixbXCJtb3VzZW91dFwiLFwibW91c2VvdmVyXCJdKTtoYShcIm9uTW91c2VMZWF2ZVwiLFtcIm1vdXNlb3V0XCIsXCJtb3VzZW92ZXJcIl0pO2hhKFwib25Qb2ludGVyRW50ZXJcIixbXCJwb2ludGVyb3V0XCIsXCJwb2ludGVyb3ZlclwiXSk7XG5oYShcIm9uUG9pbnRlckxlYXZlXCIsW1wicG9pbnRlcm91dFwiLFwicG9pbnRlcm92ZXJcIl0pO2ZhKFwib25DaGFuZ2VcIixcImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlXCIuc3BsaXQoXCIgXCIpKTtmYShcIm9uU2VsZWN0XCIsXCJmb2N1c291dCBjb250ZXh0bWVudSBkcmFnZW5kIGZvY3VzaW4ga2V5ZG93biBrZXl1cCBtb3VzZWRvd24gbW91c2V1cCBzZWxlY3Rpb25jaGFuZ2VcIi5zcGxpdChcIiBcIikpO2ZhKFwib25CZWZvcmVJbnB1dFwiLFtcImNvbXBvc2l0aW9uZW5kXCIsXCJrZXlwcmVzc1wiLFwidGV4dElucHV0XCIsXCJwYXN0ZVwiXSk7ZmEoXCJvbkNvbXBvc2l0aW9uRW5kXCIsXCJjb21wb3NpdGlvbmVuZCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93blwiLnNwbGl0KFwiIFwiKSk7ZmEoXCJvbkNvbXBvc2l0aW9uU3RhcnRcIixcImNvbXBvc2l0aW9uc3RhcnQgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd25cIi5zcGxpdChcIiBcIikpO1xuZmEoXCJvbkNvbXBvc2l0aW9uVXBkYXRlXCIsXCJjb21wb3NpdGlvbnVwZGF0ZSBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93blwiLnNwbGl0KFwiIFwiKSk7dmFyIGxmPVwiYWJvcnQgY2FucGxheSBjYW5wbGF5dGhyb3VnaCBkdXJhdGlvbmNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBsb2FkZWRkYXRhIGxvYWRlZG1ldGFkYXRhIGxvYWRzdGFydCBwYXVzZSBwbGF5IHBsYXlpbmcgcHJvZ3Jlc3MgcmF0ZWNoYW5nZSByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdXNwZW5kIHRpbWV1cGRhdGUgdm9sdW1lY2hhbmdlIHdhaXRpbmdcIi5zcGxpdChcIiBcIiksbWY9bmV3IFNldChcImNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHRvZ2dsZVwiLnNwbGl0KFwiIFwiKS5jb25jYXQobGYpKTtcbmZ1bmN0aW9uIG5mKGEsYixjKXt2YXIgZD1hLnR5cGV8fFwidW5rbm93bi1ldmVudFwiO2EuY3VycmVudFRhcmdldD1jO1ViKGQsYix2b2lkIDAsYSk7YS5jdXJyZW50VGFyZ2V0PW51bGx9XG5mdW5jdGlvbiBzZShhLGIpe2I9MCE9PShiJjQpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLGU9ZC5ldmVudDtkPWQubGlzdGVuZXJzO2E6e3ZhciBmPXZvaWQgMDtpZihiKWZvcih2YXIgZz1kLmxlbmd0aC0xOzA8PWc7Zy0tKXt2YXIgaD1kW2ddLGs9aC5pbnN0YW5jZSxsPWguY3VycmVudFRhcmdldDtoPWgubGlzdGVuZXI7aWYoayE9PWYmJmUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBhO25mKGUsaCxsKTtmPWt9ZWxzZSBmb3IoZz0wO2c8ZC5sZW5ndGg7ZysrKXtoPWRbZ107az1oLmluc3RhbmNlO2w9aC5jdXJyZW50VGFyZ2V0O2g9aC5saXN0ZW5lcjtpZihrIT09ZiYmZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGE7bmYoZSxoLGwpO2Y9a319fWlmKFFiKXRocm93IGE9UmIsUWI9ITEsUmI9bnVsbCxhO31cbmZ1bmN0aW9uIEQoYSxiKXt2YXIgYz1iW29mXTt2b2lkIDA9PT1jJiYoYz1iW29mXT1uZXcgU2V0KTt2YXIgZD1hK1wiX19idWJibGVcIjtjLmhhcyhkKXx8KHBmKGIsYSwyLCExKSxjLmFkZChkKSl9ZnVuY3Rpb24gcWYoYSxiLGMpe3ZhciBkPTA7YiYmKGR8PTQpO3BmKGMsYSxkLGIpfXZhciByZj1cIl9yZWFjdExpc3RlbmluZ1wiK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpO2Z1bmN0aW9uIHNmKGEpe2lmKCFhW3JmXSl7YVtyZl09ITA7ZGEuZm9yRWFjaChmdW5jdGlvbihiKXtcInNlbGVjdGlvbmNoYW5nZVwiIT09YiYmKG1mLmhhcyhiKXx8cWYoYiwhMSxhKSxxZihiLCEwLGEpKX0pO3ZhciBiPTk9PT1hLm5vZGVUeXBlP2E6YS5vd25lckRvY3VtZW50O251bGw9PT1ifHxiW3JmXXx8KGJbcmZdPSEwLHFmKFwic2VsZWN0aW9uY2hhbmdlXCIsITEsYikpfX1cbmZ1bmN0aW9uIHBmKGEsYixjLGQpe3N3aXRjaChqZChiKSl7Y2FzZSAxOnZhciBlPWVkO2JyZWFrO2Nhc2UgNDplPWdkO2JyZWFrO2RlZmF1bHQ6ZT1mZH1jPWUuYmluZChudWxsLGIsYyxhKTtlPXZvaWQgMDshTGJ8fFwidG91Y2hzdGFydFwiIT09YiYmXCJ0b3VjaG1vdmVcIiE9PWImJlwid2hlZWxcIiE9PWJ8fChlPSEwKTtkP3ZvaWQgMCE9PWU/YS5hZGRFdmVudExpc3RlbmVyKGIsYyx7Y2FwdHVyZTohMCxwYXNzaXZlOmV9KTphLmFkZEV2ZW50TGlzdGVuZXIoYixjLCEwKTp2b2lkIDAhPT1lP2EuYWRkRXZlbnRMaXN0ZW5lcihiLGMse3Bhc3NpdmU6ZX0pOmEuYWRkRXZlbnRMaXN0ZW5lcihiLGMsITEpfVxuZnVuY3Rpb24gaGQoYSxiLGMsZCxlKXt2YXIgZj1kO2lmKDA9PT0oYiYxKSYmMD09PShiJjIpJiZudWxsIT09ZClhOmZvcig7Oyl7aWYobnVsbD09PWQpcmV0dXJuO3ZhciBnPWQudGFnO2lmKDM9PT1nfHw0PT09Zyl7dmFyIGg9ZC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihoPT09ZXx8OD09PWgubm9kZVR5cGUmJmgucGFyZW50Tm9kZT09PWUpYnJlYWs7aWYoND09PWcpZm9yKGc9ZC5yZXR1cm47bnVsbCE9PWc7KXt2YXIgaz1nLnRhZztpZigzPT09a3x8ND09PWspaWYoaz1nLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLGs9PT1lfHw4PT09ay5ub2RlVHlwZSYmay5wYXJlbnROb2RlPT09ZSlyZXR1cm47Zz1nLnJldHVybn1mb3IoO251bGwhPT1oOyl7Zz1XYyhoKTtpZihudWxsPT09ZylyZXR1cm47az1nLnRhZztpZig1PT09a3x8Nj09PWspe2Q9Zj1nO2NvbnRpbnVlIGF9aD1oLnBhcmVudE5vZGV9fWQ9ZC5yZXR1cm59SmIoZnVuY3Rpb24oKXt2YXIgZD1mLGU9eGIoYyksZz1bXTtcbmE6e3ZhciBoPWRmLmdldChhKTtpZih2b2lkIDAhPT1oKXt2YXIgaz10ZCxuPWE7c3dpdGNoKGEpe2Nhc2UgXCJrZXlwcmVzc1wiOmlmKDA9PT1vZChjKSlicmVhayBhO2Nhc2UgXCJrZXlkb3duXCI6Y2FzZSBcImtleXVwXCI6az1SZDticmVhaztjYXNlIFwiZm9jdXNpblwiOm49XCJmb2N1c1wiO2s9RmQ7YnJlYWs7Y2FzZSBcImZvY3Vzb3V0XCI6bj1cImJsdXJcIjtrPUZkO2JyZWFrO2Nhc2UgXCJiZWZvcmVibHVyXCI6Y2FzZSBcImFmdGVyYmx1clwiOms9RmQ7YnJlYWs7Y2FzZSBcImNsaWNrXCI6aWYoMj09PWMuYnV0dG9uKWJyZWFrIGE7Y2FzZSBcImF1eGNsaWNrXCI6Y2FzZSBcImRibGNsaWNrXCI6Y2FzZSBcIm1vdXNlZG93blwiOmNhc2UgXCJtb3VzZW1vdmVcIjpjYXNlIFwibW91c2V1cFwiOmNhc2UgXCJtb3VzZW91dFwiOmNhc2UgXCJtb3VzZW92ZXJcIjpjYXNlIFwiY29udGV4dG1lbnVcIjprPUJkO2JyZWFrO2Nhc2UgXCJkcmFnXCI6Y2FzZSBcImRyYWdlbmRcIjpjYXNlIFwiZHJhZ2VudGVyXCI6Y2FzZSBcImRyYWdleGl0XCI6Y2FzZSBcImRyYWdsZWF2ZVwiOmNhc2UgXCJkcmFnb3ZlclwiOmNhc2UgXCJkcmFnc3RhcnRcIjpjYXNlIFwiZHJvcFwiOms9XG5EZDticmVhaztjYXNlIFwidG91Y2hjYW5jZWxcIjpjYXNlIFwidG91Y2hlbmRcIjpjYXNlIFwidG91Y2htb3ZlXCI6Y2FzZSBcInRvdWNoc3RhcnRcIjprPVZkO2JyZWFrO2Nhc2UgJGU6Y2FzZSBhZjpjYXNlIGJmOms9SGQ7YnJlYWs7Y2FzZSBjZjprPVhkO2JyZWFrO2Nhc2UgXCJzY3JvbGxcIjprPXZkO2JyZWFrO2Nhc2UgXCJ3aGVlbFwiOms9WmQ7YnJlYWs7Y2FzZSBcImNvcHlcIjpjYXNlIFwiY3V0XCI6Y2FzZSBcInBhc3RlXCI6az1KZDticmVhaztjYXNlIFwiZ290cG9pbnRlcmNhcHR1cmVcIjpjYXNlIFwibG9zdHBvaW50ZXJjYXB0dXJlXCI6Y2FzZSBcInBvaW50ZXJjYW5jZWxcIjpjYXNlIFwicG9pbnRlcmRvd25cIjpjYXNlIFwicG9pbnRlcm1vdmVcIjpjYXNlIFwicG9pbnRlcm91dFwiOmNhc2UgXCJwb2ludGVyb3ZlclwiOmNhc2UgXCJwb2ludGVydXBcIjprPVRkfXZhciB0PTAhPT0oYiY0KSxKPSF0JiZcInNjcm9sbFwiPT09YSx4PXQ/bnVsbCE9PWg/aCtcIkNhcHR1cmVcIjpudWxsOmg7dD1bXTtmb3IodmFyIHc9ZCx1O251bGwhPT1cbnc7KXt1PXc7dmFyIEY9dS5zdGF0ZU5vZGU7NT09PXUudGFnJiZudWxsIT09RiYmKHU9RixudWxsIT09eCYmKEY9S2Iodyx4KSxudWxsIT1GJiZ0LnB1c2godGYodyxGLHUpKSkpO2lmKEopYnJlYWs7dz13LnJldHVybn0wPHQubGVuZ3RoJiYoaD1uZXcgayhoLG4sbnVsbCxjLGUpLGcucHVzaCh7ZXZlbnQ6aCxsaXN0ZW5lcnM6dH0pKX19aWYoMD09PShiJjcpKXthOntoPVwibW91c2VvdmVyXCI9PT1hfHxcInBvaW50ZXJvdmVyXCI9PT1hO2s9XCJtb3VzZW91dFwiPT09YXx8XCJwb2ludGVyb3V0XCI9PT1hO2lmKGgmJmMhPT13YiYmKG49Yy5yZWxhdGVkVGFyZ2V0fHxjLmZyb21FbGVtZW50KSYmKFdjKG4pfHxuW3VmXSkpYnJlYWsgYTtpZihrfHxoKXtoPWUud2luZG93PT09ZT9lOihoPWUub3duZXJEb2N1bWVudCk/aC5kZWZhdWx0Vmlld3x8aC5wYXJlbnRXaW5kb3c6d2luZG93O2lmKGspe2lmKG49Yy5yZWxhdGVkVGFyZ2V0fHxjLnRvRWxlbWVudCxrPWQsbj1uP1djKG4pOm51bGwsbnVsbCE9PVxubiYmKEo9VmIobiksbiE9PUp8fDUhPT1uLnRhZyYmNiE9PW4udGFnKSluPW51bGx9ZWxzZSBrPW51bGwsbj1kO2lmKGshPT1uKXt0PUJkO0Y9XCJvbk1vdXNlTGVhdmVcIjt4PVwib25Nb3VzZUVudGVyXCI7dz1cIm1vdXNlXCI7aWYoXCJwb2ludGVyb3V0XCI9PT1hfHxcInBvaW50ZXJvdmVyXCI9PT1hKXQ9VGQsRj1cIm9uUG9pbnRlckxlYXZlXCIseD1cIm9uUG9pbnRlckVudGVyXCIsdz1cInBvaW50ZXJcIjtKPW51bGw9PWs/aDp1ZShrKTt1PW51bGw9PW4/aDp1ZShuKTtoPW5ldyB0KEYsdytcImxlYXZlXCIsayxjLGUpO2gudGFyZ2V0PUo7aC5yZWxhdGVkVGFyZ2V0PXU7Rj1udWxsO1djKGUpPT09ZCYmKHQ9bmV3IHQoeCx3K1wiZW50ZXJcIixuLGMsZSksdC50YXJnZXQ9dSx0LnJlbGF0ZWRUYXJnZXQ9SixGPXQpO0o9RjtpZihrJiZuKWI6e3Q9azt4PW47dz0wO2Zvcih1PXQ7dTt1PXZmKHUpKXcrKzt1PTA7Zm9yKEY9eDtGO0Y9dmYoRikpdSsrO2Zvcig7MDx3LXU7KXQ9dmYodCksdy0tO2Zvcig7MDx1LXc7KXg9XG52Zih4KSx1LS07Zm9yKDt3LS07KXtpZih0PT09eHx8bnVsbCE9PXgmJnQ9PT14LmFsdGVybmF0ZSlicmVhayBiO3Q9dmYodCk7eD12Zih4KX10PW51bGx9ZWxzZSB0PW51bGw7bnVsbCE9PWsmJndmKGcsaCxrLHQsITEpO251bGwhPT1uJiZudWxsIT09SiYmd2YoZyxKLG4sdCwhMCl9fX1hOntoPWQ/dWUoZCk6d2luZG93O2s9aC5ub2RlTmFtZSYmaC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKFwic2VsZWN0XCI9PT1rfHxcImlucHV0XCI9PT1rJiZcImZpbGVcIj09PWgudHlwZSl2YXIgbmE9dmU7ZWxzZSBpZihtZShoKSlpZih3ZSluYT1GZTtlbHNle25hPURlO3ZhciB4YT1DZX1lbHNlKGs9aC5ub2RlTmFtZSkmJlwiaW5wdXRcIj09PWsudG9Mb3dlckNhc2UoKSYmKFwiY2hlY2tib3hcIj09PWgudHlwZXx8XCJyYWRpb1wiPT09aC50eXBlKSYmKG5hPUVlKTtpZihuYSYmKG5hPW5hKGEsZCkpKXtuZShnLG5hLGMsZSk7YnJlYWsgYX14YSYmeGEoYSxoLGQpO1wiZm9jdXNvdXRcIj09PWEmJih4YT1oLl93cmFwcGVyU3RhdGUpJiZcbnhhLmNvbnRyb2xsZWQmJlwibnVtYmVyXCI9PT1oLnR5cGUmJmNiKGgsXCJudW1iZXJcIixoLnZhbHVlKX14YT1kP3VlKGQpOndpbmRvdztzd2l0Y2goYSl7Y2FzZSBcImZvY3VzaW5cIjppZihtZSh4YSl8fFwidHJ1ZVwiPT09eGEuY29udGVudEVkaXRhYmxlKVFlPXhhLFJlPWQsU2U9bnVsbDticmVhaztjYXNlIFwiZm9jdXNvdXRcIjpTZT1SZT1RZT1udWxsO2JyZWFrO2Nhc2UgXCJtb3VzZWRvd25cIjpUZT0hMDticmVhaztjYXNlIFwiY29udGV4dG1lbnVcIjpjYXNlIFwibW91c2V1cFwiOmNhc2UgXCJkcmFnZW5kXCI6VGU9ITE7VWUoZyxjLGUpO2JyZWFrO2Nhc2UgXCJzZWxlY3Rpb25jaGFuZ2VcIjppZihQZSlicmVhaztjYXNlIFwia2V5ZG93blwiOmNhc2UgXCJrZXl1cFwiOlVlKGcsYyxlKX12YXIgJGE7aWYoYWUpYjp7c3dpdGNoKGEpe2Nhc2UgXCJjb21wb3NpdGlvbnN0YXJ0XCI6dmFyIGJhPVwib25Db21wb3NpdGlvblN0YXJ0XCI7YnJlYWsgYjtjYXNlIFwiY29tcG9zaXRpb25lbmRcIjpiYT1cIm9uQ29tcG9zaXRpb25FbmRcIjtcbmJyZWFrIGI7Y2FzZSBcImNvbXBvc2l0aW9udXBkYXRlXCI6YmE9XCJvbkNvbXBvc2l0aW9uVXBkYXRlXCI7YnJlYWsgYn1iYT12b2lkIDB9ZWxzZSBpZT9nZShhLGMpJiYoYmE9XCJvbkNvbXBvc2l0aW9uRW5kXCIpOlwia2V5ZG93blwiPT09YSYmMjI5PT09Yy5rZXlDb2RlJiYoYmE9XCJvbkNvbXBvc2l0aW9uU3RhcnRcIik7YmEmJihkZSYmXCJrb1wiIT09Yy5sb2NhbGUmJihpZXx8XCJvbkNvbXBvc2l0aW9uU3RhcnRcIiE9PWJhP1wib25Db21wb3NpdGlvbkVuZFwiPT09YmEmJmllJiYoJGE9bmQoKSk6KGtkPWUsbGQ9XCJ2YWx1ZVwiaW4ga2Q/a2QudmFsdWU6a2QudGV4dENvbnRlbnQsaWU9ITApKSx4YT1vZShkLGJhKSwwPHhhLmxlbmd0aCYmKGJhPW5ldyBMZChiYSxhLG51bGwsYyxlKSxnLnB1c2goe2V2ZW50OmJhLGxpc3RlbmVyczp4YX0pLCRhP2JhLmRhdGE9JGE6KCRhPWhlKGMpLG51bGwhPT0kYSYmKGJhLmRhdGE9JGEpKSkpO2lmKCRhPWNlP2plKGEsYyk6a2UoYSxjKSlkPW9lKGQsXCJvbkJlZm9yZUlucHV0XCIpLFxuMDxkLmxlbmd0aCYmKGU9bmV3IExkKFwib25CZWZvcmVJbnB1dFwiLFwiYmVmb3JlaW5wdXRcIixudWxsLGMsZSksZy5wdXNoKHtldmVudDplLGxpc3RlbmVyczpkfSksZS5kYXRhPSRhKX1zZShnLGIpfSl9ZnVuY3Rpb24gdGYoYSxiLGMpe3JldHVybntpbnN0YW5jZTphLGxpc3RlbmVyOmIsY3VycmVudFRhcmdldDpjfX1mdW5jdGlvbiBvZShhLGIpe2Zvcih2YXIgYz1iK1wiQ2FwdHVyZVwiLGQ9W107bnVsbCE9PWE7KXt2YXIgZT1hLGY9ZS5zdGF0ZU5vZGU7NT09PWUudGFnJiZudWxsIT09ZiYmKGU9ZixmPUtiKGEsYyksbnVsbCE9ZiYmZC51bnNoaWZ0KHRmKGEsZixlKSksZj1LYihhLGIpLG51bGwhPWYmJmQucHVzaCh0ZihhLGYsZSkpKTthPWEucmV0dXJufXJldHVybiBkfWZ1bmN0aW9uIHZmKGEpe2lmKG51bGw9PT1hKXJldHVybiBudWxsO2RvIGE9YS5yZXR1cm47d2hpbGUoYSYmNSE9PWEudGFnKTtyZXR1cm4gYT9hOm51bGx9XG5mdW5jdGlvbiB3ZihhLGIsYyxkLGUpe2Zvcih2YXIgZj1iLl9yZWFjdE5hbWUsZz1bXTtudWxsIT09YyYmYyE9PWQ7KXt2YXIgaD1jLGs9aC5hbHRlcm5hdGUsbD1oLnN0YXRlTm9kZTtpZihudWxsIT09ayYmaz09PWQpYnJlYWs7NT09PWgudGFnJiZudWxsIT09bCYmKGg9bCxlPyhrPUtiKGMsZiksbnVsbCE9ayYmZy51bnNoaWZ0KHRmKGMsayxoKSkpOmV8fChrPUtiKGMsZiksbnVsbCE9ayYmZy5wdXNoKHRmKGMsayxoKSkpKTtjPWMucmV0dXJufTAhPT1nLmxlbmd0aCYmYS5wdXNoKHtldmVudDpiLGxpc3RlbmVyczpnfSl9dmFyIHhmPS9cXHJcXG4/L2cseWY9L1xcdTAwMDB8XFx1RkZGRC9nO2Z1bmN0aW9uIHpmKGEpe3JldHVybihcInN0cmluZ1wiPT09dHlwZW9mIGE/YTpcIlwiK2EpLnJlcGxhY2UoeGYsXCJcXG5cIikucmVwbGFjZSh5ZixcIlwiKX1mdW5jdGlvbiBBZihhLGIsYyl7Yj16ZihiKTtpZih6ZihhKSE9PWImJmMpdGhyb3cgRXJyb3IocCg0MjUpKTt9ZnVuY3Rpb24gQmYoKXt9XG52YXIgQ2Y9bnVsbCxEZj1udWxsO2Z1bmN0aW9uIEVmKGEsYil7cmV0dXJuXCJ0ZXh0YXJlYVwiPT09YXx8XCJub3NjcmlwdFwiPT09YXx8XCJzdHJpbmdcIj09PXR5cGVvZiBiLmNoaWxkcmVufHxcIm51bWJlclwiPT09dHlwZW9mIGIuY2hpbGRyZW58fFwib2JqZWN0XCI9PT10eXBlb2YgYi5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PWIuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPWIuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfVxudmFyIEZmPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6dm9pZCAwLEdmPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OnZvaWQgMCxIZj1cImZ1bmN0aW9uXCI9PT10eXBlb2YgUHJvbWlzZT9Qcm9taXNlOnZvaWQgMCxKZj1cImZ1bmN0aW9uXCI9PT10eXBlb2YgcXVldWVNaWNyb3Rhc2s/cXVldWVNaWNyb3Rhc2s6XCJ1bmRlZmluZWRcIiE9PXR5cGVvZiBIZj9mdW5jdGlvbihhKXtyZXR1cm4gSGYucmVzb2x2ZShudWxsKS50aGVuKGEpLmNhdGNoKElmKX06RmY7ZnVuY3Rpb24gSWYoYSl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGE7fSl9XG5mdW5jdGlvbiBLZihhLGIpe3ZhciBjPWIsZD0wO2Rve3ZhciBlPWMubmV4dFNpYmxpbmc7YS5yZW1vdmVDaGlsZChjKTtpZihlJiY4PT09ZS5ub2RlVHlwZSlpZihjPWUuZGF0YSxcIi8kXCI9PT1jKXtpZigwPT09ZCl7YS5yZW1vdmVDaGlsZChlKTtiZChiKTtyZXR1cm59ZC0tfWVsc2VcIiRcIiE9PWMmJlwiJD9cIiE9PWMmJlwiJCFcIiE9PWN8fGQrKztjPWV9d2hpbGUoYyk7YmQoYil9ZnVuY3Rpb24gTGYoYSl7Zm9yKDtudWxsIT1hO2E9YS5uZXh0U2libGluZyl7dmFyIGI9YS5ub2RlVHlwZTtpZigxPT09Ynx8Mz09PWIpYnJlYWs7aWYoOD09PWIpe2I9YS5kYXRhO2lmKFwiJFwiPT09Ynx8XCIkIVwiPT09Ynx8XCIkP1wiPT09YilicmVhaztpZihcIi8kXCI9PT1iKXJldHVybiBudWxsfX1yZXR1cm4gYX1cbmZ1bmN0aW9uIE1mKGEpe2E9YS5wcmV2aW91c1NpYmxpbmc7Zm9yKHZhciBiPTA7YTspe2lmKDg9PT1hLm5vZGVUeXBlKXt2YXIgYz1hLmRhdGE7aWYoXCIkXCI9PT1jfHxcIiQhXCI9PT1jfHxcIiQ/XCI9PT1jKXtpZigwPT09YilyZXR1cm4gYTtiLS19ZWxzZVwiLyRcIj09PWMmJmIrK31hPWEucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfXZhciBOZj1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxPZj1cIl9fcmVhY3RGaWJlciRcIitOZixQZj1cIl9fcmVhY3RQcm9wcyRcIitOZix1Zj1cIl9fcmVhY3RDb250YWluZXIkXCIrTmYsb2Y9XCJfX3JlYWN0RXZlbnRzJFwiK05mLFFmPVwiX19yZWFjdExpc3RlbmVycyRcIitOZixSZj1cIl9fcmVhY3RIYW5kbGVzJFwiK05mO1xuZnVuY3Rpb24gV2MoYSl7dmFyIGI9YVtPZl07aWYoYilyZXR1cm4gYjtmb3IodmFyIGM9YS5wYXJlbnROb2RlO2M7KXtpZihiPWNbdWZdfHxjW09mXSl7Yz1iLmFsdGVybmF0ZTtpZihudWxsIT09Yi5jaGlsZHx8bnVsbCE9PWMmJm51bGwhPT1jLmNoaWxkKWZvcihhPU1mKGEpO251bGwhPT1hOyl7aWYoYz1hW09mXSlyZXR1cm4gYzthPU1mKGEpfXJldHVybiBifWE9YztjPWEucGFyZW50Tm9kZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBDYihhKXthPWFbT2ZdfHxhW3VmXTtyZXR1cm4hYXx8NSE9PWEudGFnJiY2IT09YS50YWcmJjEzIT09YS50YWcmJjMhPT1hLnRhZz9udWxsOmF9ZnVuY3Rpb24gdWUoYSl7aWYoNT09PWEudGFnfHw2PT09YS50YWcpcmV0dXJuIGEuc3RhdGVOb2RlO3Rocm93IEVycm9yKHAoMzMpKTt9ZnVuY3Rpb24gRGIoYSl7cmV0dXJuIGFbUGZdfHxudWxsfXZhciBTZj1bXSxUZj0tMTtmdW5jdGlvbiBVZihhKXtyZXR1cm57Y3VycmVudDphfX1cbmZ1bmN0aW9uIEUoYSl7MD5UZnx8KGEuY3VycmVudD1TZltUZl0sU2ZbVGZdPW51bGwsVGYtLSl9ZnVuY3Rpb24gRyhhLGIpe1RmKys7U2ZbVGZdPWEuY3VycmVudDthLmN1cnJlbnQ9Yn12YXIgVmY9e30sSD1VZihWZiksV2Y9VWYoITEpLFhmPVZmO2Z1bmN0aW9uIFlmKGEsYil7dmFyIGM9YS50eXBlLmNvbnRleHRUeXBlcztpZighYylyZXR1cm4gVmY7dmFyIGQ9YS5zdGF0ZU5vZGU7aWYoZCYmZC5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0PT09YilyZXR1cm4gZC5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dDt2YXIgZT17fSxmO2ZvcihmIGluIGMpZVtmXT1iW2ZdO2QmJihhPWEuc3RhdGVOb2RlLGEuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1iLGEuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9ZSk7cmV0dXJuIGV9XG5mdW5jdGlvbiBaZihhKXthPWEuY2hpbGRDb250ZXh0VHlwZXM7cmV0dXJuIG51bGwhPT1hJiZ2b2lkIDAhPT1hfWZ1bmN0aW9uICRmKCl7RShXZik7RShIKX1mdW5jdGlvbiBhZyhhLGIsYyl7aWYoSC5jdXJyZW50IT09VmYpdGhyb3cgRXJyb3IocCgxNjgpKTtHKEgsYik7RyhXZixjKX1mdW5jdGlvbiBiZyhhLGIsYyl7dmFyIGQ9YS5zdGF0ZU5vZGU7Yj1iLmNoaWxkQ29udGV4dFR5cGVzO2lmKFwiZnVuY3Rpb25cIiE9PXR5cGVvZiBkLmdldENoaWxkQ29udGV4dClyZXR1cm4gYztkPWQuZ2V0Q2hpbGRDb250ZXh0KCk7Zm9yKHZhciBlIGluIGQpaWYoIShlIGluIGIpKXRocm93IEVycm9yKHAoMTA4LFJhKGEpfHxcIlVua25vd25cIixlKSk7cmV0dXJuIEEoe30sYyxkKX1cbmZ1bmN0aW9uIGNnKGEpe2E9KGE9YS5zdGF0ZU5vZGUpJiZhLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0fHxWZjtYZj1ILmN1cnJlbnQ7RyhILGEpO0coV2YsV2YuY3VycmVudCk7cmV0dXJuITB9ZnVuY3Rpb24gZGcoYSxiLGMpe3ZhciBkPWEuc3RhdGVOb2RlO2lmKCFkKXRocm93IEVycm9yKHAoMTY5KSk7Yz8oYT1iZyhhLGIsWGYpLGQuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ9YSxFKFdmKSxFKEgpLEcoSCxhKSk6RShXZik7RyhXZixjKX12YXIgZWc9bnVsbCxmZz0hMSxnZz0hMTtmdW5jdGlvbiBoZyhhKXtudWxsPT09ZWc/ZWc9W2FdOmVnLnB1c2goYSl9ZnVuY3Rpb24gaWcoYSl7Zmc9ITA7aGcoYSl9XG5mdW5jdGlvbiBqZygpe2lmKCFnZyYmbnVsbCE9PWVnKXtnZz0hMDt2YXIgYT0wLGI9Qzt0cnl7dmFyIGM9ZWc7Zm9yKEM9MTthPGMubGVuZ3RoO2ErKyl7dmFyIGQ9Y1thXTtkbyBkPWQoITApO3doaWxlKG51bGwhPT1kKX1lZz1udWxsO2ZnPSExfWNhdGNoKGUpe3Rocm93IG51bGwhPT1lZyYmKGVnPWVnLnNsaWNlKGErMSkpLGFjKGZjLGpnKSxlO31maW5hbGx5e0M9YixnZz0hMX19cmV0dXJuIG51bGx9dmFyIGtnPVtdLGxnPTAsbWc9bnVsbCxuZz0wLG9nPVtdLHBnPTAscWc9bnVsbCxyZz0xLHNnPVwiXCI7ZnVuY3Rpb24gdGcoYSxiKXtrZ1tsZysrXT1uZztrZ1tsZysrXT1tZzttZz1hO25nPWJ9XG5mdW5jdGlvbiB1ZyhhLGIsYyl7b2dbcGcrK109cmc7b2dbcGcrK109c2c7b2dbcGcrK109cWc7cWc9YTt2YXIgZD1yZzthPXNnO3ZhciBlPTMyLW9jKGQpLTE7ZCY9figxPDxlKTtjKz0xO3ZhciBmPTMyLW9jKGIpK2U7aWYoMzA8Zil7dmFyIGc9ZS1lJTU7Zj0oZCYoMTw8ZyktMSkudG9TdHJpbmcoMzIpO2Q+Pj1nO2UtPWc7cmc9MTw8MzItb2MoYikrZXxjPDxlfGQ7c2c9ZithfWVsc2Ugcmc9MTw8ZnxjPDxlfGQsc2c9YX1mdW5jdGlvbiB2ZyhhKXtudWxsIT09YS5yZXR1cm4mJih0ZyhhLDEpLHVnKGEsMSwwKSl9ZnVuY3Rpb24gd2coYSl7Zm9yKDthPT09bWc7KW1nPWtnWy0tbGddLGtnW2xnXT1udWxsLG5nPWtnWy0tbGddLGtnW2xnXT1udWxsO2Zvcig7YT09PXFnOylxZz1vZ1stLXBnXSxvZ1twZ109bnVsbCxzZz1vZ1stLXBnXSxvZ1twZ109bnVsbCxyZz1vZ1stLXBnXSxvZ1twZ109bnVsbH12YXIgeGc9bnVsbCx5Zz1udWxsLEk9ITEsemc9bnVsbDtcbmZ1bmN0aW9uIEFnKGEsYil7dmFyIGM9QmcoNSxudWxsLG51bGwsMCk7Yy5lbGVtZW50VHlwZT1cIkRFTEVURURcIjtjLnN0YXRlTm9kZT1iO2MucmV0dXJuPWE7Yj1hLmRlbGV0aW9ucztudWxsPT09Yj8oYS5kZWxldGlvbnM9W2NdLGEuZmxhZ3N8PTE2KTpiLnB1c2goYyl9XG5mdW5jdGlvbiBDZyhhLGIpe3N3aXRjaChhLnRhZyl7Y2FzZSA1OnZhciBjPWEudHlwZTtiPTEhPT1iLm5vZGVUeXBlfHxjLnRvTG93ZXJDYXNlKCkhPT1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/bnVsbDpiO3JldHVybiBudWxsIT09Yj8oYS5zdGF0ZU5vZGU9Yix4Zz1hLHlnPUxmKGIuZmlyc3RDaGlsZCksITApOiExO2Nhc2UgNjpyZXR1cm4gYj1cIlwiPT09YS5wZW5kaW5nUHJvcHN8fDMhPT1iLm5vZGVUeXBlP251bGw6YixudWxsIT09Yj8oYS5zdGF0ZU5vZGU9Yix4Zz1hLHlnPW51bGwsITApOiExO2Nhc2UgMTM6cmV0dXJuIGI9OCE9PWIubm9kZVR5cGU/bnVsbDpiLG51bGwhPT1iPyhjPW51bGwhPT1xZz97aWQ6cmcsb3ZlcmZsb3c6c2d9Om51bGwsYS5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOmIsdHJlZUNvbnRleHQ6YyxyZXRyeUxhbmU6MTA3Mzc0MTgyNH0sYz1CZygxOCxudWxsLG51bGwsMCksYy5zdGF0ZU5vZGU9YixjLnJldHVybj1hLGEuY2hpbGQ9Yyx4Zz1hLHlnPVxubnVsbCwhMCk6ITE7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gRGcoYSl7cmV0dXJuIDAhPT0oYS5tb2RlJjEpJiYwPT09KGEuZmxhZ3MmMTI4KX1mdW5jdGlvbiBFZyhhKXtpZihJKXt2YXIgYj15ZztpZihiKXt2YXIgYz1iO2lmKCFDZyhhLGIpKXtpZihEZyhhKSl0aHJvdyBFcnJvcihwKDQxOCkpO2I9TGYoYy5uZXh0U2libGluZyk7dmFyIGQ9eGc7YiYmQ2coYSxiKT9BZyhkLGMpOihhLmZsYWdzPWEuZmxhZ3MmLTQwOTd8MixJPSExLHhnPWEpfX1lbHNle2lmKERnKGEpKXRocm93IEVycm9yKHAoNDE4KSk7YS5mbGFncz1hLmZsYWdzJi00MDk3fDI7ST0hMTt4Zz1hfX19ZnVuY3Rpb24gRmcoYSl7Zm9yKGE9YS5yZXR1cm47bnVsbCE9PWEmJjUhPT1hLnRhZyYmMyE9PWEudGFnJiYxMyE9PWEudGFnOylhPWEucmV0dXJuO3hnPWF9XG5mdW5jdGlvbiBHZyhhKXtpZihhIT09eGcpcmV0dXJuITE7aWYoIUkpcmV0dXJuIEZnKGEpLEk9ITAsITE7dmFyIGI7KGI9MyE9PWEudGFnKSYmIShiPTUhPT1hLnRhZykmJihiPWEudHlwZSxiPVwiaGVhZFwiIT09YiYmXCJib2R5XCIhPT1iJiYhRWYoYS50eXBlLGEubWVtb2l6ZWRQcm9wcykpO2lmKGImJihiPXlnKSl7aWYoRGcoYSkpdGhyb3cgSGcoKSxFcnJvcihwKDQxOCkpO2Zvcig7YjspQWcoYSxiKSxiPUxmKGIubmV4dFNpYmxpbmcpfUZnKGEpO2lmKDEzPT09YS50YWcpe2E9YS5tZW1vaXplZFN0YXRlO2E9bnVsbCE9PWE/YS5kZWh5ZHJhdGVkOm51bGw7aWYoIWEpdGhyb3cgRXJyb3IocCgzMTcpKTthOnthPWEubmV4dFNpYmxpbmc7Zm9yKGI9MDthOyl7aWYoOD09PWEubm9kZVR5cGUpe3ZhciBjPWEuZGF0YTtpZihcIi8kXCI9PT1jKXtpZigwPT09Yil7eWc9TGYoYS5uZXh0U2libGluZyk7YnJlYWsgYX1iLS19ZWxzZVwiJFwiIT09YyYmXCIkIVwiIT09YyYmXCIkP1wiIT09Y3x8YisrfWE9YS5uZXh0U2libGluZ315Zz1cbm51bGx9fWVsc2UgeWc9eGc/TGYoYS5zdGF0ZU5vZGUubmV4dFNpYmxpbmcpOm51bGw7cmV0dXJuITB9ZnVuY3Rpb24gSGcoKXtmb3IodmFyIGE9eWc7YTspYT1MZihhLm5leHRTaWJsaW5nKX1mdW5jdGlvbiBJZygpe3lnPXhnPW51bGw7ST0hMX1mdW5jdGlvbiBKZyhhKXtudWxsPT09emc/emc9W2FdOnpnLnB1c2goYSl9dmFyIEtnPXVhLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnO1xuZnVuY3Rpb24gTGcoYSxiLGMpe2E9Yy5yZWY7aWYobnVsbCE9PWEmJlwiZnVuY3Rpb25cIiE9PXR5cGVvZiBhJiZcIm9iamVjdFwiIT09dHlwZW9mIGEpe2lmKGMuX293bmVyKXtjPWMuX293bmVyO2lmKGMpe2lmKDEhPT1jLnRhZyl0aHJvdyBFcnJvcihwKDMwOSkpO3ZhciBkPWMuc3RhdGVOb2RlfWlmKCFkKXRocm93IEVycm9yKHAoMTQ3LGEpKTt2YXIgZT1kLGY9XCJcIithO2lmKG51bGwhPT1iJiZudWxsIT09Yi5yZWYmJlwiZnVuY3Rpb25cIj09PXR5cGVvZiBiLnJlZiYmYi5yZWYuX3N0cmluZ1JlZj09PWYpcmV0dXJuIGIucmVmO2I9ZnVuY3Rpb24oYSl7dmFyIGI9ZS5yZWZzO251bGw9PT1hP2RlbGV0ZSBiW2ZdOmJbZl09YX07Yi5fc3RyaW5nUmVmPWY7cmV0dXJuIGJ9aWYoXCJzdHJpbmdcIiE9PXR5cGVvZiBhKXRocm93IEVycm9yKHAoMjg0KSk7aWYoIWMuX293bmVyKXRocm93IEVycm9yKHAoMjkwLGEpKTt9cmV0dXJuIGF9XG5mdW5jdGlvbiBNZyhhLGIpe2E9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGIpO3Rocm93IEVycm9yKHAoMzEsXCJbb2JqZWN0IE9iamVjdF1cIj09PWE/XCJvYmplY3Qgd2l0aCBrZXlzIHtcIitPYmplY3Qua2V5cyhiKS5qb2luKFwiLCBcIikrXCJ9XCI6YSkpO31mdW5jdGlvbiBOZyhhKXt2YXIgYj1hLl9pbml0O3JldHVybiBiKGEuX3BheWxvYWQpfVxuZnVuY3Rpb24gT2coYSl7ZnVuY3Rpb24gYihiLGMpe2lmKGEpe3ZhciBkPWIuZGVsZXRpb25zO251bGw9PT1kPyhiLmRlbGV0aW9ucz1bY10sYi5mbGFnc3w9MTYpOmQucHVzaChjKX19ZnVuY3Rpb24gYyhjLGQpe2lmKCFhKXJldHVybiBudWxsO2Zvcig7bnVsbCE9PWQ7KWIoYyxkKSxkPWQuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiBkKGEsYil7Zm9yKGE9bmV3IE1hcDtudWxsIT09YjspbnVsbCE9PWIua2V5P2Euc2V0KGIua2V5LGIpOmEuc2V0KGIuaW5kZXgsYiksYj1iLnNpYmxpbmc7cmV0dXJuIGF9ZnVuY3Rpb24gZShhLGIpe2E9UGcoYSxiKTthLmluZGV4PTA7YS5zaWJsaW5nPW51bGw7cmV0dXJuIGF9ZnVuY3Rpb24gZihiLGMsZCl7Yi5pbmRleD1kO2lmKCFhKXJldHVybiBiLmZsYWdzfD0xMDQ4NTc2LGM7ZD1iLmFsdGVybmF0ZTtpZihudWxsIT09ZClyZXR1cm4gZD1kLmluZGV4LGQ8Yz8oYi5mbGFnc3w9MixjKTpkO2IuZmxhZ3N8PTI7cmV0dXJuIGN9ZnVuY3Rpb24gZyhiKXthJiZcbm51bGw9PT1iLmFsdGVybmF0ZSYmKGIuZmxhZ3N8PTIpO3JldHVybiBifWZ1bmN0aW9uIGgoYSxiLGMsZCl7aWYobnVsbD09PWJ8fDYhPT1iLnRhZylyZXR1cm4gYj1RZyhjLGEubW9kZSxkKSxiLnJldHVybj1hLGI7Yj1lKGIsYyk7Yi5yZXR1cm49YTtyZXR1cm4gYn1mdW5jdGlvbiBrKGEsYixjLGQpe3ZhciBmPWMudHlwZTtpZihmPT09eWEpcmV0dXJuIG0oYSxiLGMucHJvcHMuY2hpbGRyZW4sZCxjLmtleSk7aWYobnVsbCE9PWImJihiLmVsZW1lbnRUeXBlPT09Znx8XCJvYmplY3RcIj09PXR5cGVvZiBmJiZudWxsIT09ZiYmZi4kJHR5cGVvZj09PUhhJiZOZyhmKT09PWIudHlwZSkpcmV0dXJuIGQ9ZShiLGMucHJvcHMpLGQucmVmPUxnKGEsYixjKSxkLnJldHVybj1hLGQ7ZD1SZyhjLnR5cGUsYy5rZXksYy5wcm9wcyxudWxsLGEubW9kZSxkKTtkLnJlZj1MZyhhLGIsYyk7ZC5yZXR1cm49YTtyZXR1cm4gZH1mdW5jdGlvbiBsKGEsYixjLGQpe2lmKG51bGw9PT1ifHw0IT09Yi50YWd8fFxuYi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyE9PWMuY29udGFpbmVySW5mb3x8Yi5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24hPT1jLmltcGxlbWVudGF0aW9uKXJldHVybiBiPVNnKGMsYS5tb2RlLGQpLGIucmV0dXJuPWEsYjtiPWUoYixjLmNoaWxkcmVufHxbXSk7Yi5yZXR1cm49YTtyZXR1cm4gYn1mdW5jdGlvbiBtKGEsYixjLGQsZil7aWYobnVsbD09PWJ8fDchPT1iLnRhZylyZXR1cm4gYj1UZyhjLGEubW9kZSxkLGYpLGIucmV0dXJuPWEsYjtiPWUoYixjKTtiLnJldHVybj1hO3JldHVybiBifWZ1bmN0aW9uIHEoYSxiLGMpe2lmKFwic3RyaW5nXCI9PT10eXBlb2YgYiYmXCJcIiE9PWJ8fFwibnVtYmVyXCI9PT10eXBlb2YgYilyZXR1cm4gYj1RZyhcIlwiK2IsYS5tb2RlLGMpLGIucmV0dXJuPWEsYjtpZihcIm9iamVjdFwiPT09dHlwZW9mIGImJm51bGwhPT1iKXtzd2l0Y2goYi4kJHR5cGVvZil7Y2FzZSB2YTpyZXR1cm4gYz1SZyhiLnR5cGUsYi5rZXksYi5wcm9wcyxudWxsLGEubW9kZSxjKSxcbmMucmVmPUxnKGEsbnVsbCxiKSxjLnJldHVybj1hLGM7Y2FzZSB3YTpyZXR1cm4gYj1TZyhiLGEubW9kZSxjKSxiLnJldHVybj1hLGI7Y2FzZSBIYTp2YXIgZD1iLl9pbml0O3JldHVybiBxKGEsZChiLl9wYXlsb2FkKSxjKX1pZihlYihiKXx8S2EoYikpcmV0dXJuIGI9VGcoYixhLm1vZGUsYyxudWxsKSxiLnJldHVybj1hLGI7TWcoYSxiKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiByKGEsYixjLGQpe3ZhciBlPW51bGwhPT1iP2Iua2V5Om51bGw7aWYoXCJzdHJpbmdcIj09PXR5cGVvZiBjJiZcIlwiIT09Y3x8XCJudW1iZXJcIj09PXR5cGVvZiBjKXJldHVybiBudWxsIT09ZT9udWxsOmgoYSxiLFwiXCIrYyxkKTtpZihcIm9iamVjdFwiPT09dHlwZW9mIGMmJm51bGwhPT1jKXtzd2l0Y2goYy4kJHR5cGVvZil7Y2FzZSB2YTpyZXR1cm4gYy5rZXk9PT1lP2soYSxiLGMsZCk6bnVsbDtjYXNlIHdhOnJldHVybiBjLmtleT09PWU/bChhLGIsYyxkKTpudWxsO2Nhc2UgSGE6cmV0dXJuIGU9Yy5faW5pdCxyKGEsXG5iLGUoYy5fcGF5bG9hZCksZCl9aWYoZWIoYyl8fEthKGMpKXJldHVybiBudWxsIT09ZT9udWxsOm0oYSxiLGMsZCxudWxsKTtNZyhhLGMpfXJldHVybiBudWxsfWZ1bmN0aW9uIHkoYSxiLGMsZCxlKXtpZihcInN0cmluZ1wiPT09dHlwZW9mIGQmJlwiXCIhPT1kfHxcIm51bWJlclwiPT09dHlwZW9mIGQpcmV0dXJuIGE9YS5nZXQoYyl8fG51bGwsaChiLGEsXCJcIitkLGUpO2lmKFwib2JqZWN0XCI9PT10eXBlb2YgZCYmbnVsbCE9PWQpe3N3aXRjaChkLiQkdHlwZW9mKXtjYXNlIHZhOnJldHVybiBhPWEuZ2V0KG51bGw9PT1kLmtleT9jOmQua2V5KXx8bnVsbCxrKGIsYSxkLGUpO2Nhc2Ugd2E6cmV0dXJuIGE9YS5nZXQobnVsbD09PWQua2V5P2M6ZC5rZXkpfHxudWxsLGwoYixhLGQsZSk7Y2FzZSBIYTp2YXIgZj1kLl9pbml0O3JldHVybiB5KGEsYixjLGYoZC5fcGF5bG9hZCksZSl9aWYoZWIoZCl8fEthKGQpKXJldHVybiBhPWEuZ2V0KGMpfHxudWxsLG0oYixhLGQsZSxudWxsKTtNZyhiLGQpfXJldHVybiBudWxsfVxuZnVuY3Rpb24gbihlLGcsaCxrKXtmb3IodmFyIGw9bnVsbCxtPW51bGwsdT1nLHc9Zz0wLHg9bnVsbDtudWxsIT09dSYmdzxoLmxlbmd0aDt3Kyspe3UuaW5kZXg+dz8oeD11LHU9bnVsbCk6eD11LnNpYmxpbmc7dmFyIG49cihlLHUsaFt3XSxrKTtpZihudWxsPT09bil7bnVsbD09PXUmJih1PXgpO2JyZWFrfWEmJnUmJm51bGw9PT1uLmFsdGVybmF0ZSYmYihlLHUpO2c9ZihuLGcsdyk7bnVsbD09PW0/bD1uOm0uc2libGluZz1uO209bjt1PXh9aWYodz09PWgubGVuZ3RoKXJldHVybiBjKGUsdSksSSYmdGcoZSx3KSxsO2lmKG51bGw9PT11KXtmb3IoO3c8aC5sZW5ndGg7dysrKXU9cShlLGhbd10sayksbnVsbCE9PXUmJihnPWYodSxnLHcpLG51bGw9PT1tP2w9dTptLnNpYmxpbmc9dSxtPXUpO0kmJnRnKGUsdyk7cmV0dXJuIGx9Zm9yKHU9ZChlLHUpO3c8aC5sZW5ndGg7dysrKXg9eSh1LGUsdyxoW3ddLGspLG51bGwhPT14JiYoYSYmbnVsbCE9PXguYWx0ZXJuYXRlJiZ1LmRlbGV0ZShudWxsPT09XG54LmtleT93Ongua2V5KSxnPWYoeCxnLHcpLG51bGw9PT1tP2w9eDptLnNpYmxpbmc9eCxtPXgpO2EmJnUuZm9yRWFjaChmdW5jdGlvbihhKXtyZXR1cm4gYihlLGEpfSk7SSYmdGcoZSx3KTtyZXR1cm4gbH1mdW5jdGlvbiB0KGUsZyxoLGspe3ZhciBsPUthKGgpO2lmKFwiZnVuY3Rpb25cIiE9PXR5cGVvZiBsKXRocm93IEVycm9yKHAoMTUwKSk7aD1sLmNhbGwoaCk7aWYobnVsbD09aCl0aHJvdyBFcnJvcihwKDE1MSkpO2Zvcih2YXIgdT1sPW51bGwsbT1nLHc9Zz0wLHg9bnVsbCxuPWgubmV4dCgpO251bGwhPT1tJiYhbi5kb25lO3crKyxuPWgubmV4dCgpKXttLmluZGV4Pnc/KHg9bSxtPW51bGwpOng9bS5zaWJsaW5nO3ZhciB0PXIoZSxtLG4udmFsdWUsayk7aWYobnVsbD09PXQpe251bGw9PT1tJiYobT14KTticmVha31hJiZtJiZudWxsPT09dC5hbHRlcm5hdGUmJmIoZSxtKTtnPWYodCxnLHcpO251bGw9PT11P2w9dDp1LnNpYmxpbmc9dDt1PXQ7bT14fWlmKG4uZG9uZSlyZXR1cm4gYyhlLFxubSksSSYmdGcoZSx3KSxsO2lmKG51bGw9PT1tKXtmb3IoOyFuLmRvbmU7dysrLG49aC5uZXh0KCkpbj1xKGUsbi52YWx1ZSxrKSxudWxsIT09biYmKGc9ZihuLGcsdyksbnVsbD09PXU/bD1uOnUuc2libGluZz1uLHU9bik7SSYmdGcoZSx3KTtyZXR1cm4gbH1mb3IobT1kKGUsbSk7IW4uZG9uZTt3Kyssbj1oLm5leHQoKSluPXkobSxlLHcsbi52YWx1ZSxrKSxudWxsIT09biYmKGEmJm51bGwhPT1uLmFsdGVybmF0ZSYmbS5kZWxldGUobnVsbD09PW4ua2V5P3c6bi5rZXkpLGc9ZihuLGcsdyksbnVsbD09PXU/bD1uOnUuc2libGluZz1uLHU9bik7YSYmbS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3JldHVybiBiKGUsYSl9KTtJJiZ0ZyhlLHcpO3JldHVybiBsfWZ1bmN0aW9uIEooYSxkLGYsaCl7XCJvYmplY3RcIj09PXR5cGVvZiBmJiZudWxsIT09ZiYmZi50eXBlPT09eWEmJm51bGw9PT1mLmtleSYmKGY9Zi5wcm9wcy5jaGlsZHJlbik7aWYoXCJvYmplY3RcIj09PXR5cGVvZiBmJiZudWxsIT09Zil7c3dpdGNoKGYuJCR0eXBlb2Ype2Nhc2UgdmE6YTp7Zm9yKHZhciBrPVxuZi5rZXksbD1kO251bGwhPT1sOyl7aWYobC5rZXk9PT1rKXtrPWYudHlwZTtpZihrPT09eWEpe2lmKDc9PT1sLnRhZyl7YyhhLGwuc2libGluZyk7ZD1lKGwsZi5wcm9wcy5jaGlsZHJlbik7ZC5yZXR1cm49YTthPWQ7YnJlYWsgYX19ZWxzZSBpZihsLmVsZW1lbnRUeXBlPT09a3x8XCJvYmplY3RcIj09PXR5cGVvZiBrJiZudWxsIT09ayYmay4kJHR5cGVvZj09PUhhJiZOZyhrKT09PWwudHlwZSl7YyhhLGwuc2libGluZyk7ZD1lKGwsZi5wcm9wcyk7ZC5yZWY9TGcoYSxsLGYpO2QucmV0dXJuPWE7YT1kO2JyZWFrIGF9YyhhLGwpO2JyZWFrfWVsc2UgYihhLGwpO2w9bC5zaWJsaW5nfWYudHlwZT09PXlhPyhkPVRnKGYucHJvcHMuY2hpbGRyZW4sYS5tb2RlLGgsZi5rZXkpLGQucmV0dXJuPWEsYT1kKTooaD1SZyhmLnR5cGUsZi5rZXksZi5wcm9wcyxudWxsLGEubW9kZSxoKSxoLnJlZj1MZyhhLGQsZiksaC5yZXR1cm49YSxhPWgpfXJldHVybiBnKGEpO2Nhc2Ugd2E6YTp7Zm9yKGw9Zi5rZXk7bnVsbCE9PVxuZDspe2lmKGQua2V5PT09bClpZig0PT09ZC50YWcmJmQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT1mLmNvbnRhaW5lckluZm8mJmQuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09Zi5pbXBsZW1lbnRhdGlvbil7YyhhLGQuc2libGluZyk7ZD1lKGQsZi5jaGlsZHJlbnx8W10pO2QucmV0dXJuPWE7YT1kO2JyZWFrIGF9ZWxzZXtjKGEsZCk7YnJlYWt9ZWxzZSBiKGEsZCk7ZD1kLnNpYmxpbmd9ZD1TZyhmLGEubW9kZSxoKTtkLnJldHVybj1hO2E9ZH1yZXR1cm4gZyhhKTtjYXNlIEhhOnJldHVybiBsPWYuX2luaXQsSihhLGQsbChmLl9wYXlsb2FkKSxoKX1pZihlYihmKSlyZXR1cm4gbihhLGQsZixoKTtpZihLYShmKSlyZXR1cm4gdChhLGQsZixoKTtNZyhhLGYpfXJldHVyblwic3RyaW5nXCI9PT10eXBlb2YgZiYmXCJcIiE9PWZ8fFwibnVtYmVyXCI9PT10eXBlb2YgZj8oZj1cIlwiK2YsbnVsbCE9PWQmJjY9PT1kLnRhZz8oYyhhLGQuc2libGluZyksZD1lKGQsZiksZC5yZXR1cm49YSxhPWQpOlxuKGMoYSxkKSxkPVFnKGYsYS5tb2RlLGgpLGQucmV0dXJuPWEsYT1kKSxnKGEpKTpjKGEsZCl9cmV0dXJuIEp9dmFyIFVnPU9nKCEwKSxWZz1PZyghMSksV2c9VWYobnVsbCksWGc9bnVsbCxZZz1udWxsLFpnPW51bGw7ZnVuY3Rpb24gJGcoKXtaZz1ZZz1YZz1udWxsfWZ1bmN0aW9uIGFoKGEpe3ZhciBiPVdnLmN1cnJlbnQ7RShXZyk7YS5fY3VycmVudFZhbHVlPWJ9ZnVuY3Rpb24gYmgoYSxiLGMpe2Zvcig7bnVsbCE9PWE7KXt2YXIgZD1hLmFsdGVybmF0ZTsoYS5jaGlsZExhbmVzJmIpIT09Yj8oYS5jaGlsZExhbmVzfD1iLG51bGwhPT1kJiYoZC5jaGlsZExhbmVzfD1iKSk6bnVsbCE9PWQmJihkLmNoaWxkTGFuZXMmYikhPT1iJiYoZC5jaGlsZExhbmVzfD1iKTtpZihhPT09YylicmVhazthPWEucmV0dXJufX1cbmZ1bmN0aW9uIGNoKGEsYil7WGc9YTtaZz1ZZz1udWxsO2E9YS5kZXBlbmRlbmNpZXM7bnVsbCE9PWEmJm51bGwhPT1hLmZpcnN0Q29udGV4dCYmKDAhPT0oYS5sYW5lcyZiKSYmKGRoPSEwKSxhLmZpcnN0Q29udGV4dD1udWxsKX1mdW5jdGlvbiBlaChhKXt2YXIgYj1hLl9jdXJyZW50VmFsdWU7aWYoWmchPT1hKWlmKGE9e2NvbnRleHQ6YSxtZW1vaXplZFZhbHVlOmIsbmV4dDpudWxsfSxudWxsPT09WWcpe2lmKG51bGw9PT1YZyl0aHJvdyBFcnJvcihwKDMwOCkpO1lnPWE7WGcuZGVwZW5kZW5jaWVzPXtsYW5lczowLGZpcnN0Q29udGV4dDphfX1lbHNlIFlnPVlnLm5leHQ9YTtyZXR1cm4gYn12YXIgZmg9bnVsbDtmdW5jdGlvbiBnaChhKXtudWxsPT09Zmg/Zmg9W2FdOmZoLnB1c2goYSl9XG5mdW5jdGlvbiBoaChhLGIsYyxkKXt2YXIgZT1iLmludGVybGVhdmVkO251bGw9PT1lPyhjLm5leHQ9YyxnaChiKSk6KGMubmV4dD1lLm5leHQsZS5uZXh0PWMpO2IuaW50ZXJsZWF2ZWQ9YztyZXR1cm4gaWgoYSxkKX1mdW5jdGlvbiBpaChhLGIpe2EubGFuZXN8PWI7dmFyIGM9YS5hbHRlcm5hdGU7bnVsbCE9PWMmJihjLmxhbmVzfD1iKTtjPWE7Zm9yKGE9YS5yZXR1cm47bnVsbCE9PWE7KWEuY2hpbGRMYW5lc3w9YixjPWEuYWx0ZXJuYXRlLG51bGwhPT1jJiYoYy5jaGlsZExhbmVzfD1iKSxjPWEsYT1hLnJldHVybjtyZXR1cm4gMz09PWMudGFnP2Muc3RhdGVOb2RlOm51bGx9dmFyIGpoPSExO2Z1bmN0aW9uIGtoKGEpe2EudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTphLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjB9LGVmZmVjdHM6bnVsbH19XG5mdW5jdGlvbiBsaChhLGIpe2E9YS51cGRhdGVRdWV1ZTtiLnVwZGF0ZVF1ZXVlPT09YSYmKGIudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTphLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6YS5maXJzdEJhc2VVcGRhdGUsbGFzdEJhc2VVcGRhdGU6YS5sYXN0QmFzZVVwZGF0ZSxzaGFyZWQ6YS5zaGFyZWQsZWZmZWN0czphLmVmZmVjdHN9KX1mdW5jdGlvbiBtaChhLGIpe3JldHVybntldmVudFRpbWU6YSxsYW5lOmIsdGFnOjAscGF5bG9hZDpudWxsLGNhbGxiYWNrOm51bGwsbmV4dDpudWxsfX1cbmZ1bmN0aW9uIG5oKGEsYixjKXt2YXIgZD1hLnVwZGF0ZVF1ZXVlO2lmKG51bGw9PT1kKXJldHVybiBudWxsO2Q9ZC5zaGFyZWQ7aWYoMCE9PShLJjIpKXt2YXIgZT1kLnBlbmRpbmc7bnVsbD09PWU/Yi5uZXh0PWI6KGIubmV4dD1lLm5leHQsZS5uZXh0PWIpO2QucGVuZGluZz1iO3JldHVybiBpaChhLGMpfWU9ZC5pbnRlcmxlYXZlZDtudWxsPT09ZT8oYi5uZXh0PWIsZ2goZCkpOihiLm5leHQ9ZS5uZXh0LGUubmV4dD1iKTtkLmludGVybGVhdmVkPWI7cmV0dXJuIGloKGEsYyl9ZnVuY3Rpb24gb2goYSxiLGMpe2I9Yi51cGRhdGVRdWV1ZTtpZihudWxsIT09YiYmKGI9Yi5zaGFyZWQsMCE9PShjJjQxOTQyNDApKSl7dmFyIGQ9Yi5sYW5lcztkJj1hLnBlbmRpbmdMYW5lcztjfD1kO2IubGFuZXM9YztDYyhhLGMpfX1cbmZ1bmN0aW9uIHBoKGEsYil7dmFyIGM9YS51cGRhdGVRdWV1ZSxkPWEuYWx0ZXJuYXRlO2lmKG51bGwhPT1kJiYoZD1kLnVwZGF0ZVF1ZXVlLGM9PT1kKSl7dmFyIGU9bnVsbCxmPW51bGw7Yz1jLmZpcnN0QmFzZVVwZGF0ZTtpZihudWxsIT09Yyl7ZG97dmFyIGc9e2V2ZW50VGltZTpjLmV2ZW50VGltZSxsYW5lOmMubGFuZSx0YWc6Yy50YWcscGF5bG9hZDpjLnBheWxvYWQsY2FsbGJhY2s6Yy5jYWxsYmFjayxuZXh0Om51bGx9O251bGw9PT1mP2U9Zj1nOmY9Zi5uZXh0PWc7Yz1jLm5leHR9d2hpbGUobnVsbCE9PWMpO251bGw9PT1mP2U9Zj1iOmY9Zi5uZXh0PWJ9ZWxzZSBlPWY9YjtjPXtiYXNlU3RhdGU6ZC5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUsbGFzdEJhc2VVcGRhdGU6ZixzaGFyZWQ6ZC5zaGFyZWQsZWZmZWN0czpkLmVmZmVjdHN9O2EudXBkYXRlUXVldWU9YztyZXR1cm59YT1jLmxhc3RCYXNlVXBkYXRlO251bGw9PT1hP2MuZmlyc3RCYXNlVXBkYXRlPWI6YS5uZXh0PVxuYjtjLmxhc3RCYXNlVXBkYXRlPWJ9XG5mdW5jdGlvbiBxaChhLGIsYyxkKXt2YXIgZT1hLnVwZGF0ZVF1ZXVlO2poPSExO3ZhciBmPWUuZmlyc3RCYXNlVXBkYXRlLGc9ZS5sYXN0QmFzZVVwZGF0ZSxoPWUuc2hhcmVkLnBlbmRpbmc7aWYobnVsbCE9PWgpe2Uuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgaz1oLGw9ay5uZXh0O2submV4dD1udWxsO251bGw9PT1nP2Y9bDpnLm5leHQ9bDtnPWs7dmFyIG09YS5hbHRlcm5hdGU7bnVsbCE9PW0mJihtPW0udXBkYXRlUXVldWUsaD1tLmxhc3RCYXNlVXBkYXRlLGghPT1nJiYobnVsbD09PWg/bS5maXJzdEJhc2VVcGRhdGU9bDpoLm5leHQ9bCxtLmxhc3RCYXNlVXBkYXRlPWspKX1pZihudWxsIT09Zil7dmFyIHE9ZS5iYXNlU3RhdGU7Zz0wO209bD1rPW51bGw7aD1mO2Rve3ZhciByPWgubGFuZSx5PWguZXZlbnRUaW1lO2lmKChkJnIpPT09cil7bnVsbCE9PW0mJihtPW0ubmV4dD17ZXZlbnRUaW1lOnksbGFuZTowLHRhZzpoLnRhZyxwYXlsb2FkOmgucGF5bG9hZCxjYWxsYmFjazpoLmNhbGxiYWNrLFxubmV4dDpudWxsfSk7YTp7dmFyIG49YSx0PWg7cj1iO3k9Yztzd2l0Y2godC50YWcpe2Nhc2UgMTpuPXQucGF5bG9hZDtpZihcImZ1bmN0aW9uXCI9PT10eXBlb2Ygbil7cT1uLmNhbGwoeSxxLHIpO2JyZWFrIGF9cT1uO2JyZWFrIGE7Y2FzZSAzOm4uZmxhZ3M9bi5mbGFncyYtNjU1Mzd8MTI4O2Nhc2UgMDpuPXQucGF5bG9hZDtyPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBuP24uY2FsbCh5LHEscik6bjtpZihudWxsPT09cnx8dm9pZCAwPT09cilicmVhayBhO3E9QSh7fSxxLHIpO2JyZWFrIGE7Y2FzZSAyOmpoPSEwfX1udWxsIT09aC5jYWxsYmFjayYmMCE9PWgubGFuZSYmKGEuZmxhZ3N8PTY0LHI9ZS5lZmZlY3RzLG51bGw9PT1yP2UuZWZmZWN0cz1baF06ci5wdXNoKGgpKX1lbHNlIHk9e2V2ZW50VGltZTp5LGxhbmU6cix0YWc6aC50YWcscGF5bG9hZDpoLnBheWxvYWQsY2FsbGJhY2s6aC5jYWxsYmFjayxuZXh0Om51bGx9LG51bGw9PT1tPyhsPW09eSxrPXEpOm09bS5uZXh0PXksZ3w9cjtcbmg9aC5uZXh0O2lmKG51bGw9PT1oKWlmKGg9ZS5zaGFyZWQucGVuZGluZyxudWxsPT09aClicmVhaztlbHNlIHI9aCxoPXIubmV4dCxyLm5leHQ9bnVsbCxlLmxhc3RCYXNlVXBkYXRlPXIsZS5zaGFyZWQucGVuZGluZz1udWxsfXdoaWxlKDEpO251bGw9PT1tJiYoaz1xKTtlLmJhc2VTdGF0ZT1rO2UuZmlyc3RCYXNlVXBkYXRlPWw7ZS5sYXN0QmFzZVVwZGF0ZT1tO2I9ZS5zaGFyZWQuaW50ZXJsZWF2ZWQ7aWYobnVsbCE9PWIpe2U9YjtkbyBnfD1lLmxhbmUsZT1lLm5leHQ7d2hpbGUoZSE9PWIpfWVsc2UgbnVsbD09PWYmJihlLnNoYXJlZC5sYW5lcz0wKTtyaHw9ZzthLmxhbmVzPWc7YS5tZW1vaXplZFN0YXRlPXF9fVxuZnVuY3Rpb24gc2goYSxiLGMpe2E9Yi5lZmZlY3RzO2IuZWZmZWN0cz1udWxsO2lmKG51bGwhPT1hKWZvcihiPTA7YjxhLmxlbmd0aDtiKyspe3ZhciBkPWFbYl0sZT1kLmNhbGxiYWNrO2lmKG51bGwhPT1lKXtkLmNhbGxiYWNrPW51bGw7ZD1jO2lmKFwiZnVuY3Rpb25cIiE9PXR5cGVvZiBlKXRocm93IEVycm9yKHAoMTkxLGUpKTtlLmNhbGwoZCl9fX12YXIgdGg9e30sdWg9VWYodGgpLHZoPVVmKHRoKSx3aD1VZih0aCk7ZnVuY3Rpb24geGgoYSl7aWYoYT09PXRoKXRocm93IEVycm9yKHAoMTc0KSk7cmV0dXJuIGF9XG5mdW5jdGlvbiB5aChhLGIpe0cod2gsYik7Ryh2aCxhKTtHKHVoLHRoKTthPWIubm9kZVR5cGU7c3dpdGNoKGEpe2Nhc2UgOTpjYXNlIDExOmI9KGI9Yi5kb2N1bWVudEVsZW1lbnQpP2IubmFtZXNwYWNlVVJJOmxiKG51bGwsXCJcIik7YnJlYWs7ZGVmYXVsdDphPTg9PT1hP2IucGFyZW50Tm9kZTpiLGI9YS5uYW1lc3BhY2VVUkl8fG51bGwsYT1hLnRhZ05hbWUsYj1sYihiLGEpfUUodWgpO0codWgsYil9ZnVuY3Rpb24gemgoKXtFKHVoKTtFKHZoKTtFKHdoKX1mdW5jdGlvbiBBaChhKXt4aCh3aC5jdXJyZW50KTt2YXIgYj14aCh1aC5jdXJyZW50KTt2YXIgYz1sYihiLGEudHlwZSk7YiE9PWMmJihHKHZoLGEpLEcodWgsYykpfWZ1bmN0aW9uIEJoKGEpe3ZoLmN1cnJlbnQ9PT1hJiYoRSh1aCksRSh2aCkpfXZhciBMPVVmKDApO1xuZnVuY3Rpb24gQ2goYSl7Zm9yKHZhciBiPWE7bnVsbCE9PWI7KXtpZigxMz09PWIudGFnKXt2YXIgYz1iLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PWMmJihjPWMuZGVoeWRyYXRlZCxudWxsPT09Y3x8XCIkP1wiPT09Yy5kYXRhfHxcIiQhXCI9PT1jLmRhdGEpKXJldHVybiBifWVsc2UgaWYoMTk9PT1iLnRhZyYmdm9pZCAwIT09Yi5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyKXtpZigwIT09KGIuZmxhZ3MmMTI4KSlyZXR1cm4gYn1lbHNlIGlmKG51bGwhPT1iLmNoaWxkKXtiLmNoaWxkLnJldHVybj1iO2I9Yi5jaGlsZDtjb250aW51ZX1pZihiPT09YSlicmVhaztmb3IoO251bGw9PT1iLnNpYmxpbmc7KXtpZihudWxsPT09Yi5yZXR1cm58fGIucmV0dXJuPT09YSlyZXR1cm4gbnVsbDtiPWIucmV0dXJufWIuc2libGluZy5yZXR1cm49Yi5yZXR1cm47Yj1iLnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIERoPVtdO1xuZnVuY3Rpb24gRWgoKXtmb3IodmFyIGE9MDthPERoLmxlbmd0aDthKyspRGhbYV0uX3dvcmtJblByb2dyZXNzVmVyc2lvblByaW1hcnk9bnVsbDtEaC5sZW5ndGg9MH12YXIgRmg9dWEuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixHaD11YS5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxIaD0wLE09bnVsbCxOPW51bGwsTz1udWxsLEloPSExLEpoPSExLEtoPTAsTGg9MDtmdW5jdGlvbiBQKCl7dGhyb3cgRXJyb3IocCgzMjEpKTt9ZnVuY3Rpb24gTWgoYSxiKXtpZihudWxsPT09YilyZXR1cm4hMTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoJiZjPGEubGVuZ3RoO2MrKylpZighSGUoYVtjXSxiW2NdKSlyZXR1cm4hMTtyZXR1cm4hMH1cbmZ1bmN0aW9uIE5oKGEsYixjLGQsZSxmKXtIaD1mO009YjtiLm1lbW9pemVkU3RhdGU9bnVsbDtiLnVwZGF0ZVF1ZXVlPW51bGw7Yi5sYW5lcz0wO0ZoLmN1cnJlbnQ9bnVsbD09PWF8fG51bGw9PT1hLm1lbW9pemVkU3RhdGU/T2g6UGg7YT1jKGQsZSk7aWYoSmgpe2Y9MDtkb3tKaD0hMTtLaD0wO2lmKDI1PD1mKXRocm93IEVycm9yKHAoMzAxKSk7Zis9MTtPPU49bnVsbDtiLnVwZGF0ZVF1ZXVlPW51bGw7RmguY3VycmVudD1RaDthPWMoZCxlKX13aGlsZShKaCl9RmguY3VycmVudD1SaDtiPW51bGwhPT1OJiZudWxsIT09Ti5uZXh0O0hoPTA7Tz1OPU09bnVsbDtJaD0hMTtpZihiKXRocm93IEVycm9yKHAoMzAwKSk7cmV0dXJuIGF9ZnVuY3Rpb24gU2goKXt2YXIgYT0wIT09S2g7S2g9MDtyZXR1cm4gYX1cbmZ1bmN0aW9uIFRoKCl7dmFyIGE9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07bnVsbD09PU8/TS5tZW1vaXplZFN0YXRlPU89YTpPPU8ubmV4dD1hO3JldHVybiBPfWZ1bmN0aW9uIFVoKCl7aWYobnVsbD09PU4pe3ZhciBhPU0uYWx0ZXJuYXRlO2E9bnVsbCE9PWE/YS5tZW1vaXplZFN0YXRlOm51bGx9ZWxzZSBhPU4ubmV4dDt2YXIgYj1udWxsPT09Tz9NLm1lbW9pemVkU3RhdGU6Ty5uZXh0O2lmKG51bGwhPT1iKU89YixOPWE7ZWxzZXtpZihudWxsPT09YSl0aHJvdyBFcnJvcihwKDMxMCkpO049YTthPXttZW1vaXplZFN0YXRlOk4ubWVtb2l6ZWRTdGF0ZSxiYXNlU3RhdGU6Ti5iYXNlU3RhdGUsYmFzZVF1ZXVlOk4uYmFzZVF1ZXVlLHF1ZXVlOk4ucXVldWUsbmV4dDpudWxsfTtudWxsPT09Tz9NLm1lbW9pemVkU3RhdGU9Tz1hOk89Ty5uZXh0PWF9cmV0dXJuIE99XG5mdW5jdGlvbiBWaChhLGIpe3JldHVyblwiZnVuY3Rpb25cIj09PXR5cGVvZiBiP2IoYSk6Yn1cbmZ1bmN0aW9uIFdoKGEpe3ZhciBiPVVoKCksYz1iLnF1ZXVlO2lmKG51bGw9PT1jKXRocm93IEVycm9yKHAoMzExKSk7Yy5sYXN0UmVuZGVyZWRSZWR1Y2VyPWE7dmFyIGQ9TixlPWQuYmFzZVF1ZXVlLGY9Yy5wZW5kaW5nO2lmKG51bGwhPT1mKXtpZihudWxsIT09ZSl7dmFyIGc9ZS5uZXh0O2UubmV4dD1mLm5leHQ7Zi5uZXh0PWd9ZC5iYXNlUXVldWU9ZT1mO2MucGVuZGluZz1udWxsfWlmKG51bGwhPT1lKXtmPWUubmV4dDtkPWQuYmFzZVN0YXRlO3ZhciBoPWc9bnVsbCxrPW51bGwsbD1mO2Rve3ZhciBtPWwubGFuZTtpZigoSGgmbSk9PT1tKW51bGwhPT1rJiYoaz1rLm5leHQ9e2xhbmU6MCxhY3Rpb246bC5hY3Rpb24saGFzRWFnZXJTdGF0ZTpsLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpsLmVhZ2VyU3RhdGUsbmV4dDpudWxsfSksZD1sLmhhc0VhZ2VyU3RhdGU/bC5lYWdlclN0YXRlOmEoZCxsLmFjdGlvbik7ZWxzZXt2YXIgcT17bGFuZTptLGFjdGlvbjpsLmFjdGlvbixoYXNFYWdlclN0YXRlOmwuaGFzRWFnZXJTdGF0ZSxcbmVhZ2VyU3RhdGU6bC5lYWdlclN0YXRlLG5leHQ6bnVsbH07bnVsbD09PWs/KGg9az1xLGc9ZCk6az1rLm5leHQ9cTtNLmxhbmVzfD1tO3JofD1tfWw9bC5uZXh0fXdoaWxlKG51bGwhPT1sJiZsIT09Zik7bnVsbD09PWs/Zz1kOmsubmV4dD1oO0hlKGQsYi5tZW1vaXplZFN0YXRlKXx8KGRoPSEwKTtiLm1lbW9pemVkU3RhdGU9ZDtiLmJhc2VTdGF0ZT1nO2IuYmFzZVF1ZXVlPWs7Yy5sYXN0UmVuZGVyZWRTdGF0ZT1kfWE9Yy5pbnRlcmxlYXZlZDtpZihudWxsIT09YSl7ZT1hO2RvIGY9ZS5sYW5lLE0ubGFuZXN8PWYscmh8PWYsZT1lLm5leHQ7d2hpbGUoZSE9PWEpfWVsc2UgbnVsbD09PWUmJihjLmxhbmVzPTApO3JldHVybltiLm1lbW9pemVkU3RhdGUsYy5kaXNwYXRjaF19XG5mdW5jdGlvbiBYaChhKXt2YXIgYj1VaCgpLGM9Yi5xdWV1ZTtpZihudWxsPT09Yyl0aHJvdyBFcnJvcihwKDMxMSkpO2MubGFzdFJlbmRlcmVkUmVkdWNlcj1hO3ZhciBkPWMuZGlzcGF0Y2gsZT1jLnBlbmRpbmcsZj1iLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PWUpe2MucGVuZGluZz1udWxsO3ZhciBnPWU9ZS5uZXh0O2RvIGY9YShmLGcuYWN0aW9uKSxnPWcubmV4dDt3aGlsZShnIT09ZSk7SGUoZixiLm1lbW9pemVkU3RhdGUpfHwoZGg9ITApO2IubWVtb2l6ZWRTdGF0ZT1mO251bGw9PT1iLmJhc2VRdWV1ZSYmKGIuYmFzZVN0YXRlPWYpO2MubGFzdFJlbmRlcmVkU3RhdGU9Zn1yZXR1cm5bZixkXX1mdW5jdGlvbiBZaCgpe31cbmZ1bmN0aW9uIFpoKGEsYil7dmFyIGM9TSxkPVVoKCksZT1iKCksZj0hSGUoZC5tZW1vaXplZFN0YXRlLGUpO2YmJihkLm1lbW9pemVkU3RhdGU9ZSxkaD0hMCk7ZD1kLnF1ZXVlOyRoKGFpLmJpbmQobnVsbCxjLGQsYSksW2FdKTtpZihkLmdldFNuYXBzaG90IT09Ynx8Znx8bnVsbCE9PU8mJk8ubWVtb2l6ZWRTdGF0ZS50YWcmMSl7Yy5mbGFnc3w9MjA0ODtiaSg5LGNpLmJpbmQobnVsbCxjLGQsZSxiKSx2b2lkIDAsbnVsbCk7aWYobnVsbD09PVEpdGhyb3cgRXJyb3IocCgzNDkpKTswIT09KEhoJjMwKXx8ZGkoYyxiLGUpfXJldHVybiBlfWZ1bmN0aW9uIGRpKGEsYixjKXthLmZsYWdzfD0xNjM4NDthPXtnZXRTbmFwc2hvdDpiLHZhbHVlOmN9O2I9TS51cGRhdGVRdWV1ZTtudWxsPT09Yj8oYj17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxNLnVwZGF0ZVF1ZXVlPWIsYi5zdG9yZXM9W2FdKTooYz1iLnN0b3JlcyxudWxsPT09Yz9iLnN0b3Jlcz1bYV06Yy5wdXNoKGEpKX1cbmZ1bmN0aW9uIGNpKGEsYixjLGQpe2IudmFsdWU9YztiLmdldFNuYXBzaG90PWQ7ZWkoYikmJmZpKGEpfWZ1bmN0aW9uIGFpKGEsYixjKXtyZXR1cm4gYyhmdW5jdGlvbigpe2VpKGIpJiZmaShhKX0pfWZ1bmN0aW9uIGVpKGEpe3ZhciBiPWEuZ2V0U25hcHNob3Q7YT1hLnZhbHVlO3RyeXt2YXIgYz1iKCk7cmV0dXJuIUhlKGEsYyl9Y2F0Y2goZCl7cmV0dXJuITB9fWZ1bmN0aW9uIGZpKGEpe3ZhciBiPWloKGEsMSk7bnVsbCE9PWImJmdpKGIsYSwxLC0xKX1cbmZ1bmN0aW9uIGhpKGEpe3ZhciBiPVRoKCk7XCJmdW5jdGlvblwiPT09dHlwZW9mIGEmJihhPWEoKSk7Yi5tZW1vaXplZFN0YXRlPWIuYmFzZVN0YXRlPWE7YT17cGVuZGluZzpudWxsLGludGVybGVhdmVkOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6VmgsbGFzdFJlbmRlcmVkU3RhdGU6YX07Yi5xdWV1ZT1hO2E9YS5kaXNwYXRjaD1paS5iaW5kKG51bGwsTSxhKTtyZXR1cm5bYi5tZW1vaXplZFN0YXRlLGFdfVxuZnVuY3Rpb24gYmkoYSxiLGMsZCl7YT17dGFnOmEsY3JlYXRlOmIsZGVzdHJveTpjLGRlcHM6ZCxuZXh0Om51bGx9O2I9TS51cGRhdGVRdWV1ZTtudWxsPT09Yj8oYj17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxNLnVwZGF0ZVF1ZXVlPWIsYi5sYXN0RWZmZWN0PWEubmV4dD1hKTooYz1iLmxhc3RFZmZlY3QsbnVsbD09PWM/Yi5sYXN0RWZmZWN0PWEubmV4dD1hOihkPWMubmV4dCxjLm5leHQ9YSxhLm5leHQ9ZCxiLmxhc3RFZmZlY3Q9YSkpO3JldHVybiBhfWZ1bmN0aW9uIGppKCl7cmV0dXJuIFVoKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBraShhLGIsYyxkKXt2YXIgZT1UaCgpO00uZmxhZ3N8PWE7ZS5tZW1vaXplZFN0YXRlPWJpKDF8YixjLHZvaWQgMCx2b2lkIDA9PT1kP251bGw6ZCl9XG5mdW5jdGlvbiBsaShhLGIsYyxkKXt2YXIgZT1VaCgpO2Q9dm9pZCAwPT09ZD9udWxsOmQ7dmFyIGY9dm9pZCAwO2lmKG51bGwhPT1OKXt2YXIgZz1OLm1lbW9pemVkU3RhdGU7Zj1nLmRlc3Ryb3k7aWYobnVsbCE9PWQmJk1oKGQsZy5kZXBzKSl7ZS5tZW1vaXplZFN0YXRlPWJpKGIsYyxmLGQpO3JldHVybn19TS5mbGFnc3w9YTtlLm1lbW9pemVkU3RhdGU9YmkoMXxiLGMsZixkKX1mdW5jdGlvbiBtaShhLGIpe3JldHVybiBraSg4MzkwNjU2LDgsYSxiKX1mdW5jdGlvbiAkaChhLGIpe3JldHVybiBsaSgyMDQ4LDgsYSxiKX1mdW5jdGlvbiBuaShhLGIpe3JldHVybiBsaSg0LDIsYSxiKX1mdW5jdGlvbiBvaShhLGIpe3JldHVybiBsaSg0LDQsYSxiKX1cbmZ1bmN0aW9uIHBpKGEsYil7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGIpcmV0dXJuIGE9YSgpLGIoYSksZnVuY3Rpb24oKXtiKG51bGwpfTtpZihudWxsIT09YiYmdm9pZCAwIT09YilyZXR1cm4gYT1hKCksYi5jdXJyZW50PWEsZnVuY3Rpb24oKXtiLmN1cnJlbnQ9bnVsbH19ZnVuY3Rpb24gcWkoYSxiLGMpe2M9bnVsbCE9PWMmJnZvaWQgMCE9PWM/Yy5jb25jYXQoW2FdKTpudWxsO3JldHVybiBsaSg0LDQscGkuYmluZChudWxsLGIsYSksYyl9ZnVuY3Rpb24gcmkoKXt9ZnVuY3Rpb24gc2koYSxiKXt2YXIgYz1VaCgpO2I9dm9pZCAwPT09Yj9udWxsOmI7dmFyIGQ9Yy5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT1kJiZudWxsIT09YiYmTWgoYixkWzFdKSlyZXR1cm4gZFswXTtjLm1lbW9pemVkU3RhdGU9W2EsYl07cmV0dXJuIGF9XG5mdW5jdGlvbiB0aShhLGIpe3ZhciBjPVVoKCk7Yj12b2lkIDA9PT1iP251bGw6Yjt2YXIgZD1jLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PWQmJm51bGwhPT1iJiZNaChiLGRbMV0pKXJldHVybiBkWzBdO2E9YSgpO2MubWVtb2l6ZWRTdGF0ZT1bYSxiXTtyZXR1cm4gYX1mdW5jdGlvbiB1aShhLGIsYyl7aWYoMD09PShIaCYyMSkpcmV0dXJuIGEuYmFzZVN0YXRlJiYoYS5iYXNlU3RhdGU9ITEsZGg9ITApLGEubWVtb2l6ZWRTdGF0ZT1jO0hlKGMsYil8fChjPXljKCksTS5sYW5lc3w9YyxyaHw9YyxhLmJhc2VTdGF0ZT0hMCk7cmV0dXJuIGJ9ZnVuY3Rpb24gdmkoYSxiKXt2YXIgYz1DO0M9MCE9PWMmJjQ+Yz9jOjQ7YSghMCk7dmFyIGQ9R2gudHJhbnNpdGlvbjtHaC50cmFuc2l0aW9uPXt9O3RyeXthKCExKSxiKCl9ZmluYWxseXtDPWMsR2gudHJhbnNpdGlvbj1kfX1mdW5jdGlvbiB3aSgpe3JldHVybiBVaCgpLm1lbW9pemVkU3RhdGV9XG5mdW5jdGlvbiB4aShhLGIsYyl7dmFyIGQ9eWkoYSk7Yz17bGFuZTpkLGFjdGlvbjpjLGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH07aWYoemkoYSkpQWkoYixjKTtlbHNlIGlmKGM9aGgoYSxiLGMsZCksbnVsbCE9PWMpe3ZhciBlPVIoKTtnaShjLGEsZCxlKTtCaShjLGIsZCl9fVxuZnVuY3Rpb24gaWkoYSxiLGMpe3ZhciBkPXlpKGEpLGU9e2xhbmU6ZCxhY3Rpb246YyxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9O2lmKHppKGEpKUFpKGIsZSk7ZWxzZXt2YXIgZj1hLmFsdGVybmF0ZTtpZigwPT09YS5sYW5lcyYmKG51bGw9PT1mfHwwPT09Zi5sYW5lcykmJihmPWIubGFzdFJlbmRlcmVkUmVkdWNlcixudWxsIT09ZikpdHJ5e3ZhciBnPWIubGFzdFJlbmRlcmVkU3RhdGUsaD1mKGcsYyk7ZS5oYXNFYWdlclN0YXRlPSEwO2UuZWFnZXJTdGF0ZT1oO2lmKEhlKGgsZykpe3ZhciBrPWIuaW50ZXJsZWF2ZWQ7bnVsbD09PWs/KGUubmV4dD1lLGdoKGIpKTooZS5uZXh0PWsubmV4dCxrLm5leHQ9ZSk7Yi5pbnRlcmxlYXZlZD1lO3JldHVybn19Y2F0Y2gobCl7fWZpbmFsbHl7fWM9aGgoYSxiLGUsZCk7bnVsbCE9PWMmJihlPVIoKSxnaShjLGEsZCxlKSxCaShjLGIsZCkpfX1cbmZ1bmN0aW9uIHppKGEpe3ZhciBiPWEuYWx0ZXJuYXRlO3JldHVybiBhPT09TXx8bnVsbCE9PWImJmI9PT1NfWZ1bmN0aW9uIEFpKGEsYil7Smg9SWg9ITA7dmFyIGM9YS5wZW5kaW5nO251bGw9PT1jP2IubmV4dD1iOihiLm5leHQ9Yy5uZXh0LGMubmV4dD1iKTthLnBlbmRpbmc9Yn1mdW5jdGlvbiBCaShhLGIsYyl7aWYoMCE9PShjJjQxOTQyNDApKXt2YXIgZD1iLmxhbmVzO2QmPWEucGVuZGluZ0xhbmVzO2N8PWQ7Yi5sYW5lcz1jO0NjKGEsYyl9fVxudmFyIFJoPXtyZWFkQ29udGV4dDplaCx1c2VDYWxsYmFjazpQLHVzZUNvbnRleHQ6UCx1c2VFZmZlY3Q6UCx1c2VJbXBlcmF0aXZlSGFuZGxlOlAsdXNlSW5zZXJ0aW9uRWZmZWN0OlAsdXNlTGF5b3V0RWZmZWN0OlAsdXNlTWVtbzpQLHVzZVJlZHVjZXI6UCx1c2VSZWY6UCx1c2VTdGF0ZTpQLHVzZURlYnVnVmFsdWU6UCx1c2VEZWZlcnJlZFZhbHVlOlAsdXNlVHJhbnNpdGlvbjpQLHVzZU11dGFibGVTb3VyY2U6UCx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpQLHVzZUlkOlAsdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxPaD17cmVhZENvbnRleHQ6ZWgsdXNlQ2FsbGJhY2s6ZnVuY3Rpb24oYSxiKXtUaCgpLm1lbW9pemVkU3RhdGU9W2Esdm9pZCAwPT09Yj9udWxsOmJdO3JldHVybiBhfSx1c2VDb250ZXh0OmVoLHVzZUVmZmVjdDptaSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGEsYixjKXtjPW51bGwhPT1jJiZ2b2lkIDAhPT1jP2MuY29uY2F0KFthXSk6bnVsbDtyZXR1cm4ga2koNDE5NDMwOCxcbjQscGkuYmluZChudWxsLGIsYSksYyl9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihhLGIpe3JldHVybiBraSg0MTk0MzA4LDQsYSxiKX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGtpKDQsMixhLGIpfSx1c2VNZW1vOmZ1bmN0aW9uKGEsYil7dmFyIGM9VGgoKTtiPXZvaWQgMD09PWI/bnVsbDpiO2E9YSgpO2MubWVtb2l6ZWRTdGF0ZT1bYSxiXTtyZXR1cm4gYX0sdXNlUmVkdWNlcjpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9VGgoKTtiPXZvaWQgMCE9PWM/YyhiKTpiO2QubWVtb2l6ZWRTdGF0ZT1kLmJhc2VTdGF0ZT1iO2E9e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOmEsbGFzdFJlbmRlcmVkU3RhdGU6Yn07ZC5xdWV1ZT1hO2E9YS5kaXNwYXRjaD14aS5iaW5kKG51bGwsTSxhKTtyZXR1cm5bZC5tZW1vaXplZFN0YXRlLGFdfSx1c2VSZWY6ZnVuY3Rpb24oYSl7dmFyIGI9XG5UaCgpO2E9e2N1cnJlbnQ6YX07cmV0dXJuIGIubWVtb2l6ZWRTdGF0ZT1hfSx1c2VTdGF0ZTpoaSx1c2VEZWJ1Z1ZhbHVlOnJpLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oYSl7cmV0dXJuIFRoKCkubWVtb2l6ZWRTdGF0ZT1hfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9aGkoITEpLGI9YVswXTthPXZpLmJpbmQobnVsbCxhWzFdKTtUaCgpLm1lbW9pemVkU3RhdGU9YTtyZXR1cm5bYixhXX0sdXNlTXV0YWJsZVNvdXJjZTpmdW5jdGlvbigpe30sdXNlU3luY0V4dGVybmFsU3RvcmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPU0sZT1UaCgpO2lmKEkpe2lmKHZvaWQgMD09PWMpdGhyb3cgRXJyb3IocCg0MDcpKTtjPWMoKX1lbHNle2M9YigpO2lmKG51bGw9PT1RKXRocm93IEVycm9yKHAoMzQ5KSk7MCE9PShIaCYzMCl8fGRpKGQsYixjKX1lLm1lbW9pemVkU3RhdGU9Yzt2YXIgZj17dmFsdWU6YyxnZXRTbmFwc2hvdDpifTtlLnF1ZXVlPWY7bWkoYWkuYmluZChudWxsLGQsXG5mLGEpLFthXSk7ZC5mbGFnc3w9MjA0ODtiaSg5LGNpLmJpbmQobnVsbCxkLGYsYyxiKSx2b2lkIDAsbnVsbCk7cmV0dXJuIGN9LHVzZUlkOmZ1bmN0aW9uKCl7dmFyIGE9VGgoKSxiPVEuaWRlbnRpZmllclByZWZpeDtpZihJKXt2YXIgYz1zZzt2YXIgZD1yZztjPShkJn4oMTw8MzItb2MoZCktMSkpLnRvU3RyaW5nKDMyKStjO2I9XCI6XCIrYitcIlJcIitjO2M9S2grKzswPGMmJihiKz1cIkhcIitjLnRvU3RyaW5nKDMyKSk7Yis9XCI6XCJ9ZWxzZSBjPUxoKyssYj1cIjpcIitiK1wiclwiK2MudG9TdHJpbmcoMzIpK1wiOlwiO3JldHVybiBhLm1lbW9pemVkU3RhdGU9Yn0sdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxQaD17cmVhZENvbnRleHQ6ZWgsdXNlQ2FsbGJhY2s6c2ksdXNlQ29udGV4dDplaCx1c2VFZmZlY3Q6JGgsdXNlSW1wZXJhdGl2ZUhhbmRsZTpxaSx1c2VJbnNlcnRpb25FZmZlY3Q6bmksdXNlTGF5b3V0RWZmZWN0Om9pLHVzZU1lbW86dGksdXNlUmVkdWNlcjpXaCx1c2VSZWY6amksdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gV2goVmgpfSxcbnVzZURlYnVnVmFsdWU6cmksdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihhKXt2YXIgYj1VaCgpO3JldHVybiB1aShiLE4ubWVtb2l6ZWRTdGF0ZSxhKX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBhPVdoKFZoKVswXSxiPVVoKCkubWVtb2l6ZWRTdGF0ZTtyZXR1cm5bYSxiXX0sdXNlTXV0YWJsZVNvdXJjZTpZaCx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpaaCx1c2VJZDp3aSx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LFFoPXtyZWFkQ29udGV4dDplaCx1c2VDYWxsYmFjazpzaSx1c2VDb250ZXh0OmVoLHVzZUVmZmVjdDokaCx1c2VJbXBlcmF0aXZlSGFuZGxlOnFpLHVzZUluc2VydGlvbkVmZmVjdDpuaSx1c2VMYXlvdXRFZmZlY3Q6b2ksdXNlTWVtbzp0aSx1c2VSZWR1Y2VyOlhoLHVzZVJlZjpqaSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBYaChWaCl9LHVzZURlYnVnVmFsdWU6cmksdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihhKXt2YXIgYj1VaCgpO3JldHVybiBudWxsPT09XG5OP2IubWVtb2l6ZWRTdGF0ZT1hOnVpKGIsTi5tZW1vaXplZFN0YXRlLGEpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9WGgoVmgpWzBdLGI9VWgoKS5tZW1vaXplZFN0YXRlO3JldHVyblthLGJdfSx1c2VNdXRhYmxlU291cmNlOlloLHVzZVN5bmNFeHRlcm5hbFN0b3JlOlpoLHVzZUlkOndpLHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX07ZnVuY3Rpb24gQ2koYSxiKXtpZihhJiZhLmRlZmF1bHRQcm9wcyl7Yj1BKHt9LGIpO2E9YS5kZWZhdWx0UHJvcHM7Zm9yKHZhciBjIGluIGEpdm9pZCAwPT09YltjXSYmKGJbY109YVtjXSk7cmV0dXJuIGJ9cmV0dXJuIGJ9ZnVuY3Rpb24gRGkoYSxiLGMsZCl7Yj1hLm1lbW9pemVkU3RhdGU7Yz1jKGQsYik7Yz1udWxsPT09Y3x8dm9pZCAwPT09Yz9iOkEoe30sYixjKTthLm1lbW9pemVkU3RhdGU9YzswPT09YS5sYW5lcyYmKGEudXBkYXRlUXVldWUuYmFzZVN0YXRlPWMpfVxudmFyIEVpPXtpc01vdW50ZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YS5fcmVhY3RJbnRlcm5hbHMpP1ZiKGEpPT09YTohMX0sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKGEsYixjKXthPWEuX3JlYWN0SW50ZXJuYWxzO3ZhciBkPVIoKSxlPXlpKGEpLGY9bWgoZCxlKTtmLnBheWxvYWQ9Yjt2b2lkIDAhPT1jJiZudWxsIT09YyYmKGYuY2FsbGJhY2s9Yyk7Yj1uaChhLGYsZSk7bnVsbCE9PWImJihnaShiLGEsZSxkKSxvaChiLGEsZSkpfSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKGEsYixjKXthPWEuX3JlYWN0SW50ZXJuYWxzO3ZhciBkPVIoKSxlPXlpKGEpLGY9bWgoZCxlKTtmLnRhZz0xO2YucGF5bG9hZD1iO3ZvaWQgMCE9PWMmJm51bGwhPT1jJiYoZi5jYWxsYmFjaz1jKTtiPW5oKGEsZixlKTtudWxsIT09YiYmKGdpKGIsYSxlLGQpLG9oKGIsYSxlKSl9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbihhLGIpe2E9YS5fcmVhY3RJbnRlcm5hbHM7dmFyIGM9UigpLGQ9XG55aShhKSxlPW1oKGMsZCk7ZS50YWc9Mjt2b2lkIDAhPT1iJiZudWxsIT09YiYmKGUuY2FsbGJhY2s9Yik7Yj1uaChhLGUsZCk7bnVsbCE9PWImJihnaShiLGEsZCxjKSxvaChiLGEsZCkpfX07ZnVuY3Rpb24gRmkoYSxiLGMsZCxlLGYsZyl7YT1hLnN0YXRlTm9kZTtyZXR1cm5cImZ1bmN0aW9uXCI9PT10eXBlb2YgYS5zaG91bGRDb21wb25lbnRVcGRhdGU/YS5zaG91bGRDb21wb25lbnRVcGRhdGUoZCxmLGcpOmIucHJvdG90eXBlJiZiLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudD8hSWUoYyxkKXx8IUllKGUsZik6ITB9XG5mdW5jdGlvbiBHaShhLGIsYyl7dmFyIGQ9ITEsZT1WZjt2YXIgZj1iLmNvbnRleHRUeXBlO1wib2JqZWN0XCI9PT10eXBlb2YgZiYmbnVsbCE9PWY/Zj1laChmKTooZT1aZihiKT9YZjpILmN1cnJlbnQsZD1iLmNvbnRleHRUeXBlcyxmPShkPW51bGwhPT1kJiZ2b2lkIDAhPT1kKT9ZZihhLGUpOlZmKTtiPW5ldyBiKGMsZik7YS5tZW1vaXplZFN0YXRlPW51bGwhPT1iLnN0YXRlJiZ2b2lkIDAhPT1iLnN0YXRlP2Iuc3RhdGU6bnVsbDtiLnVwZGF0ZXI9RWk7YS5zdGF0ZU5vZGU9YjtiLl9yZWFjdEludGVybmFscz1hO2QmJihhPWEuc3RhdGVOb2RlLGEuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1lLGEuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9Zik7cmV0dXJuIGJ9XG5mdW5jdGlvbiBIaShhLGIsYyxkKXthPWIuc3RhdGU7XCJmdW5jdGlvblwiPT09dHlwZW9mIGIuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmYi5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKGMsZCk7XCJmdW5jdGlvblwiPT09dHlwZW9mIGIuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJmIuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoYyxkKTtiLnN0YXRlIT09YSYmRWkuZW5xdWV1ZVJlcGxhY2VTdGF0ZShiLGIuc3RhdGUsbnVsbCl9XG5mdW5jdGlvbiBJaShhLGIsYyxkKXt2YXIgZT1hLnN0YXRlTm9kZTtlLnByb3BzPWM7ZS5zdGF0ZT1hLm1lbW9pemVkU3RhdGU7ZS5yZWZzPXt9O2toKGEpO3ZhciBmPWIuY29udGV4dFR5cGU7XCJvYmplY3RcIj09PXR5cGVvZiBmJiZudWxsIT09Zj9lLmNvbnRleHQ9ZWgoZik6KGY9WmYoYik/WGY6SC5jdXJyZW50LGUuY29udGV4dD1ZZihhLGYpKTtlLnN0YXRlPWEubWVtb2l6ZWRTdGF0ZTtmPWIuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzO1wiZnVuY3Rpb25cIj09PXR5cGVvZiBmJiYoRGkoYSxiLGYsYyksZS5zdGF0ZT1hLm1lbW9pemVkU3RhdGUpO1wiZnVuY3Rpb25cIj09PXR5cGVvZiBiLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wc3x8XCJmdW5jdGlvblwiPT09dHlwZW9mIGUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGV8fFwiZnVuY3Rpb25cIiE9PXR5cGVvZiBlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJlwiZnVuY3Rpb25cIiE9PXR5cGVvZiBlLmNvbXBvbmVudFdpbGxNb3VudHx8KGI9ZS5zdGF0ZSxcblwiZnVuY3Rpb25cIj09PXR5cGVvZiBlLmNvbXBvbmVudFdpbGxNb3VudCYmZS5jb21wb25lbnRXaWxsTW91bnQoKSxcImZ1bmN0aW9uXCI9PT10eXBlb2YgZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxiIT09ZS5zdGF0ZSYmRWkuZW5xdWV1ZVJlcGxhY2VTdGF0ZShlLGUuc3RhdGUsbnVsbCkscWgoYSxjLGUsZCksZS5zdGF0ZT1hLm1lbW9pemVkU3RhdGUpO1wiZnVuY3Rpb25cIj09PXR5cGVvZiBlLmNvbXBvbmVudERpZE1vdW50JiYoYS5mbGFnc3w9NDE5NDMwOCl9ZnVuY3Rpb24gSmkoYSxiKXt0cnl7dmFyIGM9XCJcIixkPWI7ZG8gYys9UGEoZCksZD1kLnJldHVybjt3aGlsZShkKTt2YXIgZT1jfWNhdGNoKGYpe2U9XCJcXG5FcnJvciBnZW5lcmF0aW5nIHN0YWNrOiBcIitmLm1lc3NhZ2UrXCJcXG5cIitmLnN0YWNrfXJldHVybnt2YWx1ZTphLHNvdXJjZTpiLHN0YWNrOmUsZGlnZXN0Om51bGx9fVxuZnVuY3Rpb24gS2koYSxiLGMpe3JldHVybnt2YWx1ZTphLHNvdXJjZTpudWxsLHN0YWNrOm51bGwhPWM/YzpudWxsLGRpZ2VzdDpudWxsIT1iP2I6bnVsbH19ZnVuY3Rpb24gTGkoYSxiKXt0cnl7Y29uc29sZS5lcnJvcihiLnZhbHVlKX1jYXRjaChjKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgYzt9KX19dmFyIE1pPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBXZWFrTWFwP1dlYWtNYXA6TWFwO2Z1bmN0aW9uIE5pKGEsYixjKXtjPW1oKC0xLGMpO2MudGFnPTM7Yy5wYXlsb2FkPXtlbGVtZW50Om51bGx9O3ZhciBkPWIudmFsdWU7Yy5jYWxsYmFjaz1mdW5jdGlvbigpe09pfHwoT2k9ITAsUGk9ZCk7TGkoYSxiKX07cmV0dXJuIGN9XG5mdW5jdGlvbiBRaShhLGIsYyl7Yz1taCgtMSxjKTtjLnRhZz0zO3ZhciBkPWEudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGQpe3ZhciBlPWIudmFsdWU7Yy5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIGQoZSl9O2MuY2FsbGJhY2s9ZnVuY3Rpb24oKXtMaShhLGIpfX12YXIgZj1hLnN0YXRlTm9kZTtudWxsIT09ZiYmXCJmdW5jdGlvblwiPT09dHlwZW9mIGYuY29tcG9uZW50RGlkQ2F0Y2gmJihjLmNhbGxiYWNrPWZ1bmN0aW9uKCl7TGkoYSxiKTtcImZ1bmN0aW9uXCIhPT10eXBlb2YgZCYmKG51bGw9PT1SaT9SaT1uZXcgU2V0KFt0aGlzXSk6UmkuYWRkKHRoaXMpKTt2YXIgYz1iLnN0YWNrO3RoaXMuY29tcG9uZW50RGlkQ2F0Y2goYi52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bnVsbCE9PWM/YzpcIlwifSl9KTtyZXR1cm4gY31cbmZ1bmN0aW9uIFNpKGEsYixjKXt2YXIgZD1hLnBpbmdDYWNoZTtpZihudWxsPT09ZCl7ZD1hLnBpbmdDYWNoZT1uZXcgTWk7dmFyIGU9bmV3IFNldDtkLnNldChiLGUpfWVsc2UgZT1kLmdldChiKSx2b2lkIDA9PT1lJiYoZT1uZXcgU2V0LGQuc2V0KGIsZSkpO2UuaGFzKGMpfHwoZS5hZGQoYyksYT1UaS5iaW5kKG51bGwsYSxiLGMpLGIudGhlbihhLGEpKX1mdW5jdGlvbiBVaShhKXtkb3t2YXIgYjtpZihiPTEzPT09YS50YWcpYj1hLm1lbW9pemVkU3RhdGUsYj1udWxsIT09Yj9udWxsIT09Yi5kZWh5ZHJhdGVkPyEwOiExOiEwO2lmKGIpcmV0dXJuIGE7YT1hLnJldHVybn13aGlsZShudWxsIT09YSk7cmV0dXJuIG51bGx9XG5mdW5jdGlvbiBWaShhLGIsYyxkLGUpe2lmKDA9PT0oYS5tb2RlJjEpKXJldHVybiBhPT09Yj9hLmZsYWdzfD02NTUzNjooYS5mbGFnc3w9MTI4LGMuZmxhZ3N8PTEzMTA3MixjLmZsYWdzJj0tNTI4MDUsMT09PWMudGFnJiYobnVsbD09PWMuYWx0ZXJuYXRlP2MudGFnPTE3OihiPW1oKC0xLDEpLGIudGFnPTIsbmgoYyxiLDEpKSksYy5sYW5lc3w9MSksYTthLmZsYWdzfD02NTUzNjthLmxhbmVzPWU7cmV0dXJuIGF9dmFyIFdpPXVhLlJlYWN0Q3VycmVudE93bmVyLGRoPSExO2Z1bmN0aW9uIFhpKGEsYixjLGQpe2IuY2hpbGQ9bnVsbD09PWE/VmcoYixudWxsLGMsZCk6VWcoYixhLmNoaWxkLGMsZCl9XG5mdW5jdGlvbiBZaShhLGIsYyxkLGUpe2M9Yy5yZW5kZXI7dmFyIGY9Yi5yZWY7Y2goYixlKTtkPU5oKGEsYixjLGQsZixlKTtjPVNoKCk7aWYobnVsbCE9PWEmJiFkaClyZXR1cm4gYi51cGRhdGVRdWV1ZT1hLnVwZGF0ZVF1ZXVlLGIuZmxhZ3MmPS0yMDUzLGEubGFuZXMmPX5lLFppKGEsYixlKTtJJiZjJiZ2ZyhiKTtiLmZsYWdzfD0xO1hpKGEsYixkLGUpO3JldHVybiBiLmNoaWxkfVxuZnVuY3Rpb24gJGkoYSxiLGMsZCxlKXtpZihudWxsPT09YSl7dmFyIGY9Yy50eXBlO2lmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBmJiYhYWooZikmJnZvaWQgMD09PWYuZGVmYXVsdFByb3BzJiZudWxsPT09Yy5jb21wYXJlJiZ2b2lkIDA9PT1jLmRlZmF1bHRQcm9wcylyZXR1cm4gYi50YWc9MTUsYi50eXBlPWYsYmooYSxiLGYsZCxlKTthPVJnKGMudHlwZSxudWxsLGQsYixiLm1vZGUsZSk7YS5yZWY9Yi5yZWY7YS5yZXR1cm49YjtyZXR1cm4gYi5jaGlsZD1hfWY9YS5jaGlsZDtpZigwPT09KGEubGFuZXMmZSkpe3ZhciBnPWYubWVtb2l6ZWRQcm9wcztjPWMuY29tcGFyZTtjPW51bGwhPT1jP2M6SWU7aWYoYyhnLGQpJiZhLnJlZj09PWIucmVmKXJldHVybiBaaShhLGIsZSl9Yi5mbGFnc3w9MTthPVBnKGYsZCk7YS5yZWY9Yi5yZWY7YS5yZXR1cm49YjtyZXR1cm4gYi5jaGlsZD1hfVxuZnVuY3Rpb24gYmooYSxiLGMsZCxlKXtpZihudWxsIT09YSl7dmFyIGY9YS5tZW1vaXplZFByb3BzO2lmKEllKGYsZCkmJmEucmVmPT09Yi5yZWYpaWYoZGg9ITEsYi5wZW5kaW5nUHJvcHM9ZD1mLDAhPT0oYS5sYW5lcyZlKSkwIT09KGEuZmxhZ3MmMTMxMDcyKSYmKGRoPSEwKTtlbHNlIHJldHVybiBiLmxhbmVzPWEubGFuZXMsWmkoYSxiLGUpfXJldHVybiBjaihhLGIsYyxkLGUpfVxuZnVuY3Rpb24gZGooYSxiLGMpe3ZhciBkPWIucGVuZGluZ1Byb3BzLGU9ZC5jaGlsZHJlbixmPW51bGwhPT1hP2EubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKFwiaGlkZGVuXCI9PT1kLm1vZGUpaWYoMD09PShiLm1vZGUmMSkpYi5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6MCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczpudWxsfSxHKGVqLGZqKSxmanw9YztlbHNle2lmKDA9PT0oYyYxMDczNzQxODI0KSlyZXR1cm4gYT1udWxsIT09Zj9mLmJhc2VMYW5lc3xjOmMsYi5sYW5lcz1iLmNoaWxkTGFuZXM9MTA3Mzc0MTgyNCxiLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczphLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LGIudXBkYXRlUXVldWU9bnVsbCxHKGVqLGZqKSxmanw9YSxudWxsO2IubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOjAsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH07ZD1udWxsIT09Zj9mLmJhc2VMYW5lczpjO0coZWosZmopO2ZqfD1kfWVsc2UgbnVsbCE9PVxuZj8oZD1mLmJhc2VMYW5lc3xjLGIubWVtb2l6ZWRTdGF0ZT1udWxsKTpkPWMsRyhlaixmaiksZmp8PWQ7WGkoYSxiLGUsYyk7cmV0dXJuIGIuY2hpbGR9ZnVuY3Rpb24gZ2ooYSxiKXt2YXIgYz1iLnJlZjtpZihudWxsPT09YSYmbnVsbCE9PWN8fG51bGwhPT1hJiZhLnJlZiE9PWMpYi5mbGFnc3w9NTEyLGIuZmxhZ3N8PTIwOTcxNTJ9ZnVuY3Rpb24gY2ooYSxiLGMsZCxlKXt2YXIgZj1aZihjKT9YZjpILmN1cnJlbnQ7Zj1ZZihiLGYpO2NoKGIsZSk7Yz1OaChhLGIsYyxkLGYsZSk7ZD1TaCgpO2lmKG51bGwhPT1hJiYhZGgpcmV0dXJuIGIudXBkYXRlUXVldWU9YS51cGRhdGVRdWV1ZSxiLmZsYWdzJj0tMjA1MyxhLmxhbmVzJj1+ZSxaaShhLGIsZSk7SSYmZCYmdmcoYik7Yi5mbGFnc3w9MTtYaShhLGIsYyxlKTtyZXR1cm4gYi5jaGlsZH1cbmZ1bmN0aW9uIGhqKGEsYixjLGQsZSl7aWYoWmYoYykpe3ZhciBmPSEwO2NnKGIpfWVsc2UgZj0hMTtjaChiLGUpO2lmKG51bGw9PT1iLnN0YXRlTm9kZSlpaihhLGIpLEdpKGIsYyxkKSxJaShiLGMsZCxlKSxkPSEwO2Vsc2UgaWYobnVsbD09PWEpe3ZhciBnPWIuc3RhdGVOb2RlLGg9Yi5tZW1vaXplZFByb3BzO2cucHJvcHM9aDt2YXIgaz1nLmNvbnRleHQsbD1jLmNvbnRleHRUeXBlO1wib2JqZWN0XCI9PT10eXBlb2YgbCYmbnVsbCE9PWw/bD1laChsKToobD1aZihjKT9YZjpILmN1cnJlbnQsbD1ZZihiLGwpKTt2YXIgbT1jLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyxxPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBtfHxcImZ1bmN0aW9uXCI9PT10eXBlb2YgZy5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZTtxfHxcImZ1bmN0aW9uXCIhPT10eXBlb2YgZy5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmXCJmdW5jdGlvblwiIT09dHlwZW9mIGcuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8XG4oaCE9PWR8fGshPT1sKSYmSGkoYixnLGQsbCk7amg9ITE7dmFyIHI9Yi5tZW1vaXplZFN0YXRlO2cuc3RhdGU9cjtxaChiLGQsZyxlKTtrPWIubWVtb2l6ZWRTdGF0ZTtoIT09ZHx8ciE9PWt8fFdmLmN1cnJlbnR8fGpoPyhcImZ1bmN0aW9uXCI9PT10eXBlb2YgbSYmKERpKGIsYyxtLGQpLGs9Yi5tZW1vaXplZFN0YXRlKSwoaD1qaHx8RmkoYixjLGgsZCxyLGssbCkpPyhxfHxcImZ1bmN0aW9uXCIhPT10eXBlb2YgZy5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZcImZ1bmN0aW9uXCIhPT10eXBlb2YgZy5jb21wb25lbnRXaWxsTW91bnR8fChcImZ1bmN0aW9uXCI9PT10eXBlb2YgZy5jb21wb25lbnRXaWxsTW91bnQmJmcuY29tcG9uZW50V2lsbE1vdW50KCksXCJmdW5jdGlvblwiPT09dHlwZW9mIGcuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmZy5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCkpLFwiZnVuY3Rpb25cIj09PXR5cGVvZiBnLmNvbXBvbmVudERpZE1vdW50JiYoYi5mbGFnc3w9NDE5NDMwOCkpOlxuKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBnLmNvbXBvbmVudERpZE1vdW50JiYoYi5mbGFnc3w9NDE5NDMwOCksYi5tZW1vaXplZFByb3BzPWQsYi5tZW1vaXplZFN0YXRlPWspLGcucHJvcHM9ZCxnLnN0YXRlPWssZy5jb250ZXh0PWwsZD1oKTooXCJmdW5jdGlvblwiPT09dHlwZW9mIGcuY29tcG9uZW50RGlkTW91bnQmJihiLmZsYWdzfD00MTk0MzA4KSxkPSExKX1lbHNle2c9Yi5zdGF0ZU5vZGU7bGgoYSxiKTtoPWIubWVtb2l6ZWRQcm9wcztsPWIudHlwZT09PWIuZWxlbWVudFR5cGU/aDpDaShiLnR5cGUsaCk7Zy5wcm9wcz1sO3E9Yi5wZW5kaW5nUHJvcHM7cj1nLmNvbnRleHQ7az1jLmNvbnRleHRUeXBlO1wib2JqZWN0XCI9PT10eXBlb2YgayYmbnVsbCE9PWs/az1laChrKTooaz1aZihjKT9YZjpILmN1cnJlbnQsaz1ZZihiLGspKTt2YXIgeT1jLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wczsobT1cImZ1bmN0aW9uXCI9PT10eXBlb2YgeXx8XCJmdW5jdGlvblwiPT09dHlwZW9mIGcuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHxcblwiZnVuY3Rpb25cIiE9PXR5cGVvZiBnLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZcImZ1bmN0aW9uXCIhPT10eXBlb2YgZy5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzfHwoaCE9PXF8fHIhPT1rKSYmSGkoYixnLGQsayk7amg9ITE7cj1iLm1lbW9pemVkU3RhdGU7Zy5zdGF0ZT1yO3FoKGIsZCxnLGUpO3ZhciBuPWIubWVtb2l6ZWRTdGF0ZTtoIT09cXx8ciE9PW58fFdmLmN1cnJlbnR8fGpoPyhcImZ1bmN0aW9uXCI9PT10eXBlb2YgeSYmKERpKGIsYyx5LGQpLG49Yi5tZW1vaXplZFN0YXRlKSwobD1qaHx8RmkoYixjLGwsZCxyLG4sayl8fCExKT8obXx8XCJmdW5jdGlvblwiIT09dHlwZW9mIGcuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUmJlwiZnVuY3Rpb25cIiE9PXR5cGVvZiBnLmNvbXBvbmVudFdpbGxVcGRhdGV8fChcImZ1bmN0aW9uXCI9PT10eXBlb2YgZy5jb21wb25lbnRXaWxsVXBkYXRlJiZnLmNvbXBvbmVudFdpbGxVcGRhdGUoZCxuLGspLFwiZnVuY3Rpb25cIj09PXR5cGVvZiBnLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiZcbmcuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUoZCxuLGspKSxcImZ1bmN0aW9uXCI9PT10eXBlb2YgZy5jb21wb25lbnREaWRVcGRhdGUmJihiLmZsYWdzfD00KSxcImZ1bmN0aW9uXCI9PT10eXBlb2YgZy5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSYmKGIuZmxhZ3N8PTEwMjQpKTooXCJmdW5jdGlvblwiIT09dHlwZW9mIGcuY29tcG9uZW50RGlkVXBkYXRlfHxoPT09YS5tZW1vaXplZFByb3BzJiZyPT09YS5tZW1vaXplZFN0YXRlfHwoYi5mbGFnc3w9NCksXCJmdW5jdGlvblwiIT09dHlwZW9mIGcuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGV8fGg9PT1hLm1lbW9pemVkUHJvcHMmJnI9PT1hLm1lbW9pemVkU3RhdGV8fChiLmZsYWdzfD0xMDI0KSxiLm1lbW9pemVkUHJvcHM9ZCxiLm1lbW9pemVkU3RhdGU9biksZy5wcm9wcz1kLGcuc3RhdGU9bixnLmNvbnRleHQ9ayxkPWwpOihcImZ1bmN0aW9uXCIhPT10eXBlb2YgZy5jb21wb25lbnREaWRVcGRhdGV8fGg9PT1hLm1lbW9pemVkUHJvcHMmJnI9PT1cbmEubWVtb2l6ZWRTdGF0ZXx8KGIuZmxhZ3N8PTQpLFwiZnVuY3Rpb25cIiE9PXR5cGVvZiBnLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxoPT09YS5tZW1vaXplZFByb3BzJiZyPT09YS5tZW1vaXplZFN0YXRlfHwoYi5mbGFnc3w9MTAyNCksZD0hMSl9cmV0dXJuIGpqKGEsYixjLGQsZixlKX1cbmZ1bmN0aW9uIGpqKGEsYixjLGQsZSxmKXtnaihhLGIpO3ZhciBnPTAhPT0oYi5mbGFncyYxMjgpO2lmKCFkJiYhZylyZXR1cm4gZSYmZGcoYixjLCExKSxaaShhLGIsZik7ZD1iLnN0YXRlTm9kZTtXaS5jdXJyZW50PWI7dmFyIGg9ZyYmXCJmdW5jdGlvblwiIT09dHlwZW9mIGMuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yP251bGw6ZC5yZW5kZXIoKTtiLmZsYWdzfD0xO251bGwhPT1hJiZnPyhiLmNoaWxkPVVnKGIsYS5jaGlsZCxudWxsLGYpLGIuY2hpbGQ9VWcoYixudWxsLGgsZikpOlhpKGEsYixoLGYpO2IubWVtb2l6ZWRTdGF0ZT1kLnN0YXRlO2UmJmRnKGIsYywhMCk7cmV0dXJuIGIuY2hpbGR9ZnVuY3Rpb24ga2ooYSl7dmFyIGI9YS5zdGF0ZU5vZGU7Yi5wZW5kaW5nQ29udGV4dD9hZyhhLGIucGVuZGluZ0NvbnRleHQsYi5wZW5kaW5nQ29udGV4dCE9PWIuY29udGV4dCk6Yi5jb250ZXh0JiZhZyhhLGIuY29udGV4dCwhMSk7eWgoYSxiLmNvbnRhaW5lckluZm8pfVxuZnVuY3Rpb24gbGooYSxiLGMsZCxlKXtJZygpO0pnKGUpO2IuZmxhZ3N8PTI1NjtYaShhLGIsYyxkKTtyZXR1cm4gYi5jaGlsZH12YXIgbWo9e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowfTtmdW5jdGlvbiBuaihhKXtyZXR1cm57YmFzZUxhbmVzOmEsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH19XG5mdW5jdGlvbiBvaihhLGIsYyl7dmFyIGQ9Yi5wZW5kaW5nUHJvcHMsZT1MLmN1cnJlbnQsZj0hMSxnPTAhPT0oYi5mbGFncyYxMjgpLGg7KGg9Zyl8fChoPW51bGwhPT1hJiZudWxsPT09YS5tZW1vaXplZFN0YXRlPyExOjAhPT0oZSYyKSk7aWYoaClmPSEwLGIuZmxhZ3MmPS0xMjk7ZWxzZSBpZihudWxsPT09YXx8bnVsbCE9PWEubWVtb2l6ZWRTdGF0ZSllfD0xO0coTCxlJjEpO2lmKG51bGw9PT1hKXtFZyhiKTthPWIubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09YSYmKGE9YS5kZWh5ZHJhdGVkLG51bGwhPT1hKSlyZXR1cm4gMD09PShiLm1vZGUmMSk/Yi5sYW5lcz0xOlwiJCFcIj09PWEuZGF0YT9iLmxhbmVzPTg6Yi5sYW5lcz0xMDczNzQxODI0LG51bGw7Zz1kLmNoaWxkcmVuO2E9ZC5mYWxsYmFjaztyZXR1cm4gZj8oZD1iLm1vZGUsZj1iLmNoaWxkLGc9e21vZGU6XCJoaWRkZW5cIixjaGlsZHJlbjpnfSwwPT09KGQmMSkmJm51bGwhPT1mPyhmLmNoaWxkTGFuZXM9MCxmLnBlbmRpbmdQcm9wcz1cbmcpOmY9cGooZyxkLDAsbnVsbCksYT1UZyhhLGQsYyxudWxsKSxmLnJldHVybj1iLGEucmV0dXJuPWIsZi5zaWJsaW5nPWEsYi5jaGlsZD1mLGIuY2hpbGQubWVtb2l6ZWRTdGF0ZT1uaihjKSxiLm1lbW9pemVkU3RhdGU9bWosYSk6cWooYixnKX1lPWEubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09ZSYmKGg9ZS5kZWh5ZHJhdGVkLG51bGwhPT1oKSlyZXR1cm4gcmooYSxiLGcsZCxoLGUsYyk7aWYoZil7Zj1kLmZhbGxiYWNrO2c9Yi5tb2RlO2U9YS5jaGlsZDtoPWUuc2libGluZzt2YXIgaz17bW9kZTpcImhpZGRlblwiLGNoaWxkcmVuOmQuY2hpbGRyZW59OzA9PT0oZyYxKSYmYi5jaGlsZCE9PWU/KGQ9Yi5jaGlsZCxkLmNoaWxkTGFuZXM9MCxkLnBlbmRpbmdQcm9wcz1rLGIuZGVsZXRpb25zPW51bGwpOihkPVBnKGUsayksZC5zdWJ0cmVlRmxhZ3M9ZS5zdWJ0cmVlRmxhZ3MmMTQ2ODAwNjQpO251bGwhPT1oP2Y9UGcoaCxmKTooZj1UZyhmLGcsYyxudWxsKSxmLmZsYWdzfD0yKTtmLnJldHVybj1cbmI7ZC5yZXR1cm49YjtkLnNpYmxpbmc9ZjtiLmNoaWxkPWQ7ZD1mO2Y9Yi5jaGlsZDtnPWEuY2hpbGQubWVtb2l6ZWRTdGF0ZTtnPW51bGw9PT1nP25qKGMpOntiYXNlTGFuZXM6Zy5iYXNlTGFuZXN8YyxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczpnLnRyYW5zaXRpb25zfTtmLm1lbW9pemVkU3RhdGU9ZztmLmNoaWxkTGFuZXM9YS5jaGlsZExhbmVzJn5jO2IubWVtb2l6ZWRTdGF0ZT1tajtyZXR1cm4gZH1mPWEuY2hpbGQ7YT1mLnNpYmxpbmc7ZD1QZyhmLHttb2RlOlwidmlzaWJsZVwiLGNoaWxkcmVuOmQuY2hpbGRyZW59KTswPT09KGIubW9kZSYxKSYmKGQubGFuZXM9Yyk7ZC5yZXR1cm49YjtkLnNpYmxpbmc9bnVsbDtudWxsIT09YSYmKGM9Yi5kZWxldGlvbnMsbnVsbD09PWM/KGIuZGVsZXRpb25zPVthXSxiLmZsYWdzfD0xNik6Yy5wdXNoKGEpKTtiLmNoaWxkPWQ7Yi5tZW1vaXplZFN0YXRlPW51bGw7cmV0dXJuIGR9XG5mdW5jdGlvbiBxaihhLGIpe2I9cGooe21vZGU6XCJ2aXNpYmxlXCIsY2hpbGRyZW46Yn0sYS5tb2RlLDAsbnVsbCk7Yi5yZXR1cm49YTtyZXR1cm4gYS5jaGlsZD1ifWZ1bmN0aW9uIHNqKGEsYixjLGQpe251bGwhPT1kJiZKZyhkKTtVZyhiLGEuY2hpbGQsbnVsbCxjKTthPXFqKGIsYi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4pO2EuZmxhZ3N8PTI7Yi5tZW1vaXplZFN0YXRlPW51bGw7cmV0dXJuIGF9XG5mdW5jdGlvbiByaihhLGIsYyxkLGUsZixnKXtpZihjKXtpZihiLmZsYWdzJjI1NilyZXR1cm4gYi5mbGFncyY9LTI1NyxkPUtpKEVycm9yKHAoNDIyKSkpLHNqKGEsYixnLGQpO2lmKG51bGwhPT1iLm1lbW9pemVkU3RhdGUpcmV0dXJuIGIuY2hpbGQ9YS5jaGlsZCxiLmZsYWdzfD0xMjgsbnVsbDtmPWQuZmFsbGJhY2s7ZT1iLm1vZGU7ZD1waih7bW9kZTpcInZpc2libGVcIixjaGlsZHJlbjpkLmNoaWxkcmVufSxlLDAsbnVsbCk7Zj1UZyhmLGUsZyxudWxsKTtmLmZsYWdzfD0yO2QucmV0dXJuPWI7Zi5yZXR1cm49YjtkLnNpYmxpbmc9ZjtiLmNoaWxkPWQ7MCE9PShiLm1vZGUmMSkmJlVnKGIsYS5jaGlsZCxudWxsLGcpO2IuY2hpbGQubWVtb2l6ZWRTdGF0ZT1uaihnKTtiLm1lbW9pemVkU3RhdGU9bWo7cmV0dXJuIGZ9aWYoMD09PShiLm1vZGUmMSkpcmV0dXJuIHNqKGEsYixnLG51bGwpO2lmKFwiJCFcIj09PWUuZGF0YSl7ZD1lLm5leHRTaWJsaW5nJiZlLm5leHRTaWJsaW5nLmRhdGFzZXQ7XG5pZihkKXZhciBoPWQuZGdzdDtkPWg7Zj1FcnJvcihwKDQxOSkpO2Q9S2koZixkLHZvaWQgMCk7cmV0dXJuIHNqKGEsYixnLGQpfWg9MCE9PShnJmEuY2hpbGRMYW5lcyk7aWYoZGh8fGgpe2Q9UTtpZihudWxsIT09ZCl7c3dpdGNoKGcmLWcpe2Nhc2UgNDplPTI7YnJlYWs7Y2FzZSAxNjplPTg7YnJlYWs7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0OmU9MzI7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6ZT0yNjg0MzU0NTY7YnJlYWs7ZGVmYXVsdDplPTB9ZT0wIT09KGUmKGQuc3VzcGVuZGVkTGFuZXN8ZykpPzA6ZTtcbjAhPT1lJiZlIT09Zi5yZXRyeUxhbmUmJihmLnJldHJ5TGFuZT1lLGloKGEsZSksZ2koZCxhLGUsLTEpKX10aigpO2Q9S2koRXJyb3IocCg0MjEpKSk7cmV0dXJuIHNqKGEsYixnLGQpfWlmKFwiJD9cIj09PWUuZGF0YSlyZXR1cm4gYi5mbGFnc3w9MTI4LGIuY2hpbGQ9YS5jaGlsZCxiPXVqLmJpbmQobnVsbCxhKSxlLl9yZWFjdFJldHJ5PWIsbnVsbDthPWYudHJlZUNvbnRleHQ7eWc9TGYoZS5uZXh0U2libGluZyk7eGc9YjtJPSEwO3pnPW51bGw7bnVsbCE9PWEmJihvZ1twZysrXT1yZyxvZ1twZysrXT1zZyxvZ1twZysrXT1xZyxyZz1hLmlkLHNnPWEub3ZlcmZsb3cscWc9Yik7Yj1xaihiLGQuY2hpbGRyZW4pO2IuZmxhZ3N8PTQwOTY7cmV0dXJuIGJ9ZnVuY3Rpb24gdmooYSxiLGMpe2EubGFuZXN8PWI7dmFyIGQ9YS5hbHRlcm5hdGU7bnVsbCE9PWQmJihkLmxhbmVzfD1iKTtiaChhLnJldHVybixiLGMpfVxuZnVuY3Rpb24gd2ooYSxiLGMsZCxlKXt2YXIgZj1hLm1lbW9pemVkU3RhdGU7bnVsbD09PWY/YS5tZW1vaXplZFN0YXRlPXtpc0JhY2t3YXJkczpiLHJlbmRlcmluZzpudWxsLHJlbmRlcmluZ1N0YXJ0VGltZTowLGxhc3Q6ZCx0YWlsOmMsdGFpbE1vZGU6ZX06KGYuaXNCYWNrd2FyZHM9YixmLnJlbmRlcmluZz1udWxsLGYucmVuZGVyaW5nU3RhcnRUaW1lPTAsZi5sYXN0PWQsZi50YWlsPWMsZi50YWlsTW9kZT1lKX1cbmZ1bmN0aW9uIHhqKGEsYixjKXt2YXIgZD1iLnBlbmRpbmdQcm9wcyxlPWQucmV2ZWFsT3JkZXIsZj1kLnRhaWw7WGkoYSxiLGQuY2hpbGRyZW4sYyk7ZD1MLmN1cnJlbnQ7aWYoMCE9PShkJjIpKWQ9ZCYxfDIsYi5mbGFnc3w9MTI4O2Vsc2V7aWYobnVsbCE9PWEmJjAhPT0oYS5mbGFncyYxMjgpKWE6Zm9yKGE9Yi5jaGlsZDtudWxsIT09YTspe2lmKDEzPT09YS50YWcpbnVsbCE9PWEubWVtb2l6ZWRTdGF0ZSYmdmooYSxjLGIpO2Vsc2UgaWYoMTk9PT1hLnRhZyl2aihhLGMsYik7ZWxzZSBpZihudWxsIT09YS5jaGlsZCl7YS5jaGlsZC5yZXR1cm49YTthPWEuY2hpbGQ7Y29udGludWV9aWYoYT09PWIpYnJlYWsgYTtmb3IoO251bGw9PT1hLnNpYmxpbmc7KXtpZihudWxsPT09YS5yZXR1cm58fGEucmV0dXJuPT09YilicmVhayBhO2E9YS5yZXR1cm59YS5zaWJsaW5nLnJldHVybj1hLnJldHVybjthPWEuc2libGluZ31kJj0xfUcoTCxkKTtpZigwPT09KGIubW9kZSYxKSliLm1lbW9pemVkU3RhdGU9XG5udWxsO2Vsc2Ugc3dpdGNoKGUpe2Nhc2UgXCJmb3J3YXJkc1wiOmM9Yi5jaGlsZDtmb3IoZT1udWxsO251bGwhPT1jOylhPWMuYWx0ZXJuYXRlLG51bGwhPT1hJiZudWxsPT09Q2goYSkmJihlPWMpLGM9Yy5zaWJsaW5nO2M9ZTtudWxsPT09Yz8oZT1iLmNoaWxkLGIuY2hpbGQ9bnVsbCk6KGU9Yy5zaWJsaW5nLGMuc2libGluZz1udWxsKTt3aihiLCExLGUsYyxmKTticmVhaztjYXNlIFwiYmFja3dhcmRzXCI6Yz1udWxsO2U9Yi5jaGlsZDtmb3IoYi5jaGlsZD1udWxsO251bGwhPT1lOyl7YT1lLmFsdGVybmF0ZTtpZihudWxsIT09YSYmbnVsbD09PUNoKGEpKXtiLmNoaWxkPWU7YnJlYWt9YT1lLnNpYmxpbmc7ZS5zaWJsaW5nPWM7Yz1lO2U9YX13aihiLCEwLGMsbnVsbCxmKTticmVhaztjYXNlIFwidG9nZXRoZXJcIjp3aihiLCExLG51bGwsbnVsbCx2b2lkIDApO2JyZWFrO2RlZmF1bHQ6Yi5tZW1vaXplZFN0YXRlPW51bGx9cmV0dXJuIGIuY2hpbGR9XG5mdW5jdGlvbiBpaihhLGIpezA9PT0oYi5tb2RlJjEpJiZudWxsIT09YSYmKGEuYWx0ZXJuYXRlPW51bGwsYi5hbHRlcm5hdGU9bnVsbCxiLmZsYWdzfD0yKX1mdW5jdGlvbiBaaShhLGIsYyl7bnVsbCE9PWEmJihiLmRlcGVuZGVuY2llcz1hLmRlcGVuZGVuY2llcyk7cmh8PWIubGFuZXM7aWYoMD09PShjJmIuY2hpbGRMYW5lcykpcmV0dXJuIG51bGw7aWYobnVsbCE9PWEmJmIuY2hpbGQhPT1hLmNoaWxkKXRocm93IEVycm9yKHAoMTUzKSk7aWYobnVsbCE9PWIuY2hpbGQpe2E9Yi5jaGlsZDtjPVBnKGEsYS5wZW5kaW5nUHJvcHMpO2IuY2hpbGQ9Yztmb3IoYy5yZXR1cm49YjtudWxsIT09YS5zaWJsaW5nOylhPWEuc2libGluZyxjPWMuc2libGluZz1QZyhhLGEucGVuZGluZ1Byb3BzKSxjLnJldHVybj1iO2Muc2libGluZz1udWxsfXJldHVybiBiLmNoaWxkfVxuZnVuY3Rpb24geWooYSxiLGMpe3N3aXRjaChiLnRhZyl7Y2FzZSAzOmtqKGIpO0lnKCk7YnJlYWs7Y2FzZSA1OkFoKGIpO2JyZWFrO2Nhc2UgMTpaZihiLnR5cGUpJiZjZyhiKTticmVhaztjYXNlIDQ6eWgoYixiLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciBkPWIudHlwZS5fY29udGV4dCxlPWIubWVtb2l6ZWRQcm9wcy52YWx1ZTtHKFdnLGQuX2N1cnJlbnRWYWx1ZSk7ZC5fY3VycmVudFZhbHVlPWU7YnJlYWs7Y2FzZSAxMzpkPWIubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09ZCl7aWYobnVsbCE9PWQuZGVoeWRyYXRlZClyZXR1cm4gRyhMLEwuY3VycmVudCYxKSxiLmZsYWdzfD0xMjgsbnVsbDtpZigwIT09KGMmYi5jaGlsZC5jaGlsZExhbmVzKSlyZXR1cm4gb2ooYSxiLGMpO0coTCxMLmN1cnJlbnQmMSk7YT1aaShhLGIsYyk7cmV0dXJuIG51bGwhPT1hP2Euc2libGluZzpudWxsfUcoTCxMLmN1cnJlbnQmMSk7YnJlYWs7Y2FzZSAxOTpkPTAhPT0oYyZcbmIuY2hpbGRMYW5lcyk7aWYoMCE9PShhLmZsYWdzJjEyOCkpe2lmKGQpcmV0dXJuIHhqKGEsYixjKTtiLmZsYWdzfD0xMjh9ZT1iLm1lbW9pemVkU3RhdGU7bnVsbCE9PWUmJihlLnJlbmRlcmluZz1udWxsLGUudGFpbD1udWxsLGUubGFzdEVmZmVjdD1udWxsKTtHKEwsTC5jdXJyZW50KTtpZihkKWJyZWFrO2Vsc2UgcmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBiLmxhbmVzPTAsZGooYSxiLGMpfXJldHVybiBaaShhLGIsYyl9dmFyIHpqLEFqLEJqLENqO1xuemo9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Yi5jaGlsZDtudWxsIT09Yzspe2lmKDU9PT1jLnRhZ3x8Nj09PWMudGFnKWEuYXBwZW5kQ2hpbGQoYy5zdGF0ZU5vZGUpO2Vsc2UgaWYoNCE9PWMudGFnJiZudWxsIT09Yy5jaGlsZCl7Yy5jaGlsZC5yZXR1cm49YztjPWMuY2hpbGQ7Y29udGludWV9aWYoYz09PWIpYnJlYWs7Zm9yKDtudWxsPT09Yy5zaWJsaW5nOyl7aWYobnVsbD09PWMucmV0dXJufHxjLnJldHVybj09PWIpcmV0dXJuO2M9Yy5yZXR1cm59Yy5zaWJsaW5nLnJldHVybj1jLnJldHVybjtjPWMuc2libGluZ319O0FqPWZ1bmN0aW9uKCl7fTtcbkJqPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEubWVtb2l6ZWRQcm9wcztpZihlIT09ZCl7YT1iLnN0YXRlTm9kZTt4aCh1aC5jdXJyZW50KTt2YXIgZj1udWxsO3N3aXRjaChjKXtjYXNlIFwiaW5wdXRcIjplPVlhKGEsZSk7ZD1ZYShhLGQpO2Y9W107YnJlYWs7Y2FzZSBcInNlbGVjdFwiOmU9QSh7fSxlLHt2YWx1ZTp2b2lkIDB9KTtkPUEoe30sZCx7dmFsdWU6dm9pZCAwfSk7Zj1bXTticmVhaztjYXNlIFwidGV4dGFyZWFcIjplPWdiKGEsZSk7ZD1nYihhLGQpO2Y9W107YnJlYWs7ZGVmYXVsdDpcImZ1bmN0aW9uXCIhPT10eXBlb2YgZS5vbkNsaWNrJiZcImZ1bmN0aW9uXCI9PT10eXBlb2YgZC5vbkNsaWNrJiYoYS5vbmNsaWNrPUJmKX11YihjLGQpO3ZhciBnO2M9bnVsbDtmb3IobCBpbiBlKWlmKCFkLmhhc093blByb3BlcnR5KGwpJiZlLmhhc093blByb3BlcnR5KGwpJiZudWxsIT1lW2xdKWlmKFwic3R5bGVcIj09PWwpe3ZhciBoPWVbbF07Zm9yKGcgaW4gaCloLmhhc093blByb3BlcnR5KGcpJiZcbihjfHwoYz17fSksY1tnXT1cIlwiKX1lbHNlXCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiIT09bCYmXCJjaGlsZHJlblwiIT09bCYmXCJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmdcIiE9PWwmJlwic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nXCIhPT1sJiZcImF1dG9Gb2N1c1wiIT09bCYmKGVhLmhhc093blByb3BlcnR5KGwpP2Z8fChmPVtdKTooZj1mfHxbXSkucHVzaChsLG51bGwpKTtmb3IobCBpbiBkKXt2YXIgaz1kW2xdO2g9bnVsbCE9ZT9lW2xdOnZvaWQgMDtpZihkLmhhc093blByb3BlcnR5KGwpJiZrIT09aCYmKG51bGwhPWt8fG51bGwhPWgpKWlmKFwic3R5bGVcIj09PWwpaWYoaCl7Zm9yKGcgaW4gaCkhaC5oYXNPd25Qcm9wZXJ0eShnKXx8ayYmay5oYXNPd25Qcm9wZXJ0eShnKXx8KGN8fChjPXt9KSxjW2ddPVwiXCIpO2ZvcihnIGluIGspay5oYXNPd25Qcm9wZXJ0eShnKSYmaFtnXSE9PWtbZ10mJihjfHwoYz17fSksY1tnXT1rW2ddKX1lbHNlIGN8fChmfHwoZj1bXSksZi5wdXNoKGwsXG5jKSksYz1rO2Vsc2VcImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXCI9PT1sPyhrPWs/ay5fX2h0bWw6dm9pZCAwLGg9aD9oLl9faHRtbDp2b2lkIDAsbnVsbCE9ayYmaCE9PWsmJihmPWZ8fFtdKS5wdXNoKGwsaykpOlwiY2hpbGRyZW5cIj09PWw/XCJzdHJpbmdcIiE9PXR5cGVvZiBrJiZcIm51bWJlclwiIT09dHlwZW9mIGt8fChmPWZ8fFtdKS5wdXNoKGwsXCJcIitrKTpcInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZ1wiIT09bCYmXCJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmdcIiE9PWwmJihlYS5oYXNPd25Qcm9wZXJ0eShsKT8obnVsbCE9ayYmXCJvblNjcm9sbFwiPT09bCYmRChcInNjcm9sbFwiLGEpLGZ8fGg9PT1rfHwoZj1bXSkpOihmPWZ8fFtdKS5wdXNoKGwsaykpfWMmJihmPWZ8fFtdKS5wdXNoKFwic3R5bGVcIixjKTt2YXIgbD1mO2lmKGIudXBkYXRlUXVldWU9bCliLmZsYWdzfD00fX07Q2o9ZnVuY3Rpb24oYSxiLGMsZCl7YyE9PWQmJihiLmZsYWdzfD00KX07XG5mdW5jdGlvbiBEaihhLGIpe2lmKCFJKXN3aXRjaChhLnRhaWxNb2RlKXtjYXNlIFwiaGlkZGVuXCI6Yj1hLnRhaWw7Zm9yKHZhciBjPW51bGw7bnVsbCE9PWI7KW51bGwhPT1iLmFsdGVybmF0ZSYmKGM9YiksYj1iLnNpYmxpbmc7bnVsbD09PWM/YS50YWlsPW51bGw6Yy5zaWJsaW5nPW51bGw7YnJlYWs7Y2FzZSBcImNvbGxhcHNlZFwiOmM9YS50YWlsO2Zvcih2YXIgZD1udWxsO251bGwhPT1jOyludWxsIT09Yy5hbHRlcm5hdGUmJihkPWMpLGM9Yy5zaWJsaW5nO251bGw9PT1kP2J8fG51bGw9PT1hLnRhaWw/YS50YWlsPW51bGw6YS50YWlsLnNpYmxpbmc9bnVsbDpkLnNpYmxpbmc9bnVsbH19XG5mdW5jdGlvbiBTKGEpe3ZhciBiPW51bGwhPT1hLmFsdGVybmF0ZSYmYS5hbHRlcm5hdGUuY2hpbGQ9PT1hLmNoaWxkLGM9MCxkPTA7aWYoYilmb3IodmFyIGU9YS5jaGlsZDtudWxsIT09ZTspY3w9ZS5sYW5lc3xlLmNoaWxkTGFuZXMsZHw9ZS5zdWJ0cmVlRmxhZ3MmMTQ2ODAwNjQsZHw9ZS5mbGFncyYxNDY4MDA2NCxlLnJldHVybj1hLGU9ZS5zaWJsaW5nO2Vsc2UgZm9yKGU9YS5jaGlsZDtudWxsIT09ZTspY3w9ZS5sYW5lc3xlLmNoaWxkTGFuZXMsZHw9ZS5zdWJ0cmVlRmxhZ3MsZHw9ZS5mbGFncyxlLnJldHVybj1hLGU9ZS5zaWJsaW5nO2Euc3VidHJlZUZsYWdzfD1kO2EuY2hpbGRMYW5lcz1jO3JldHVybiBifVxuZnVuY3Rpb24gRWooYSxiLGMpe3ZhciBkPWIucGVuZGluZ1Byb3BzO3dnKGIpO3N3aXRjaChiLnRhZyl7Y2FzZSAyOmNhc2UgMTY6Y2FzZSAxNTpjYXNlIDA6Y2FzZSAxMTpjYXNlIDc6Y2FzZSA4OmNhc2UgMTI6Y2FzZSA5OmNhc2UgMTQ6cmV0dXJuIFMoYiksbnVsbDtjYXNlIDE6cmV0dXJuIFpmKGIudHlwZSkmJiRmKCksUyhiKSxudWxsO2Nhc2UgMzpkPWIuc3RhdGVOb2RlO3poKCk7RShXZik7RShIKTtFaCgpO2QucGVuZGluZ0NvbnRleHQmJihkLmNvbnRleHQ9ZC5wZW5kaW5nQ29udGV4dCxkLnBlbmRpbmdDb250ZXh0PW51bGwpO2lmKG51bGw9PT1hfHxudWxsPT09YS5jaGlsZClHZyhiKT9iLmZsYWdzfD00Om51bGw9PT1hfHxhLm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYwPT09KGIuZmxhZ3MmMjU2KXx8KGIuZmxhZ3N8PTEwMjQsbnVsbCE9PXpnJiYoRmooemcpLHpnPW51bGwpKTtBaihhLGIpO1MoYik7cmV0dXJuIG51bGw7Y2FzZSA1OkJoKGIpO3ZhciBlPXhoKHdoLmN1cnJlbnQpO1xuYz1iLnR5cGU7aWYobnVsbCE9PWEmJm51bGwhPWIuc3RhdGVOb2RlKUJqKGEsYixjLGQsZSksYS5yZWYhPT1iLnJlZiYmKGIuZmxhZ3N8PTUxMixiLmZsYWdzfD0yMDk3MTUyKTtlbHNle2lmKCFkKXtpZihudWxsPT09Yi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IocCgxNjYpKTtTKGIpO3JldHVybiBudWxsfWE9eGgodWguY3VycmVudCk7aWYoR2coYikpe2Q9Yi5zdGF0ZU5vZGU7Yz1iLnR5cGU7dmFyIGY9Yi5tZW1vaXplZFByb3BzO2RbT2ZdPWI7ZFtQZl09ZjthPTAhPT0oYi5tb2RlJjEpO3N3aXRjaChjKXtjYXNlIFwiZGlhbG9nXCI6RChcImNhbmNlbFwiLGQpO0QoXCJjbG9zZVwiLGQpO2JyZWFrO2Nhc2UgXCJpZnJhbWVcIjpjYXNlIFwib2JqZWN0XCI6Y2FzZSBcImVtYmVkXCI6RChcImxvYWRcIixkKTticmVhaztjYXNlIFwidmlkZW9cIjpjYXNlIFwiYXVkaW9cIjpmb3IoZT0wO2U8bGYubGVuZ3RoO2UrKylEKGxmW2VdLGQpO2JyZWFrO2Nhc2UgXCJzb3VyY2VcIjpEKFwiZXJyb3JcIixkKTticmVhaztjYXNlIFwiaW1nXCI6Y2FzZSBcImltYWdlXCI6Y2FzZSBcImxpbmtcIjpEKFwiZXJyb3JcIixcbmQpO0QoXCJsb2FkXCIsZCk7YnJlYWs7Y2FzZSBcImRldGFpbHNcIjpEKFwidG9nZ2xlXCIsZCk7YnJlYWs7Y2FzZSBcImlucHV0XCI6WmEoZCxmKTtEKFwiaW52YWxpZFwiLGQpO2JyZWFrO2Nhc2UgXCJzZWxlY3RcIjpkLl93cmFwcGVyU3RhdGU9e3dhc011bHRpcGxlOiEhZi5tdWx0aXBsZX07RChcImludmFsaWRcIixkKTticmVhaztjYXNlIFwidGV4dGFyZWFcIjpoYihkLGYpLEQoXCJpbnZhbGlkXCIsZCl9dWIoYyxmKTtlPW51bGw7Zm9yKHZhciBnIGluIGYpaWYoZi5oYXNPd25Qcm9wZXJ0eShnKSl7dmFyIGg9ZltnXTtcImNoaWxkcmVuXCI9PT1nP1wic3RyaW5nXCI9PT10eXBlb2YgaD9kLnRleHRDb250ZW50IT09aCYmKCEwIT09Zi5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcmJkFmKGQudGV4dENvbnRlbnQsaCxhKSxlPVtcImNoaWxkcmVuXCIsaF0pOlwibnVtYmVyXCI9PT10eXBlb2YgaCYmZC50ZXh0Q29udGVudCE9PVwiXCIraCYmKCEwIT09Zi5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcmJkFmKGQudGV4dENvbnRlbnQsXG5oLGEpLGU9W1wiY2hpbGRyZW5cIixcIlwiK2hdKTplYS5oYXNPd25Qcm9wZXJ0eShnKSYmbnVsbCE9aCYmXCJvblNjcm9sbFwiPT09ZyYmRChcInNjcm9sbFwiLGQpfXN3aXRjaChjKXtjYXNlIFwiaW5wdXRcIjpWYShkKTtkYihkLGYsITApO2JyZWFrO2Nhc2UgXCJ0ZXh0YXJlYVwiOlZhKGQpO2piKGQpO2JyZWFrO2Nhc2UgXCJzZWxlY3RcIjpjYXNlIFwib3B0aW9uXCI6YnJlYWs7ZGVmYXVsdDpcImZ1bmN0aW9uXCI9PT10eXBlb2YgZi5vbkNsaWNrJiYoZC5vbmNsaWNrPUJmKX1kPWU7Yi51cGRhdGVRdWV1ZT1kO251bGwhPT1kJiYoYi5mbGFnc3w9NCl9ZWxzZXtnPTk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50O1wiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbFwiPT09YSYmKGE9a2IoYykpO1wiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbFwiPT09YT9cInNjcmlwdFwiPT09Yz8oYT1nLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksYS5pbm5lckhUTUw9XCI8c2NyaXB0PlxceDNjL3NjcmlwdD5cIixhPWEucmVtb3ZlQ2hpbGQoYS5maXJzdENoaWxkKSk6XG5cInN0cmluZ1wiPT09dHlwZW9mIGQuaXM/YT1nLmNyZWF0ZUVsZW1lbnQoYyx7aXM6ZC5pc30pOihhPWcuY3JlYXRlRWxlbWVudChjKSxcInNlbGVjdFwiPT09YyYmKGc9YSxkLm11bHRpcGxlP2cubXVsdGlwbGU9ITA6ZC5zaXplJiYoZy5zaXplPWQuc2l6ZSkpKTphPWcuY3JlYXRlRWxlbWVudE5TKGEsYyk7YVtPZl09YjthW1BmXT1kO3pqKGEsYiwhMSwhMSk7Yi5zdGF0ZU5vZGU9YTthOntnPXZiKGMsZCk7c3dpdGNoKGMpe2Nhc2UgXCJkaWFsb2dcIjpEKFwiY2FuY2VsXCIsYSk7RChcImNsb3NlXCIsYSk7ZT1kO2JyZWFrO2Nhc2UgXCJpZnJhbWVcIjpjYXNlIFwib2JqZWN0XCI6Y2FzZSBcImVtYmVkXCI6RChcImxvYWRcIixhKTtlPWQ7YnJlYWs7Y2FzZSBcInZpZGVvXCI6Y2FzZSBcImF1ZGlvXCI6Zm9yKGU9MDtlPGxmLmxlbmd0aDtlKyspRChsZltlXSxhKTtlPWQ7YnJlYWs7Y2FzZSBcInNvdXJjZVwiOkQoXCJlcnJvclwiLGEpO2U9ZDticmVhaztjYXNlIFwiaW1nXCI6Y2FzZSBcImltYWdlXCI6Y2FzZSBcImxpbmtcIjpEKFwiZXJyb3JcIixcbmEpO0QoXCJsb2FkXCIsYSk7ZT1kO2JyZWFrO2Nhc2UgXCJkZXRhaWxzXCI6RChcInRvZ2dsZVwiLGEpO2U9ZDticmVhaztjYXNlIFwiaW5wdXRcIjpaYShhLGQpO2U9WWEoYSxkKTtEKFwiaW52YWxpZFwiLGEpO2JyZWFrO2Nhc2UgXCJvcHRpb25cIjplPWQ7YnJlYWs7Y2FzZSBcInNlbGVjdFwiOmEuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFkLm11bHRpcGxlfTtlPUEoe30sZCx7dmFsdWU6dm9pZCAwfSk7RChcImludmFsaWRcIixhKTticmVhaztjYXNlIFwidGV4dGFyZWFcIjpoYihhLGQpO2U9Z2IoYSxkKTtEKFwiaW52YWxpZFwiLGEpO2JyZWFrO2RlZmF1bHQ6ZT1kfXViKGMsZSk7aD1lO2ZvcihmIGluIGgpaWYoaC5oYXNPd25Qcm9wZXJ0eShmKSl7dmFyIGs9aFtmXTtcInN0eWxlXCI9PT1mP3NiKGEsayk6XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiPT09Zj8oaz1rP2suX19odG1sOnZvaWQgMCxudWxsIT1rJiZuYihhLGspKTpcImNoaWxkcmVuXCI9PT1mP1wic3RyaW5nXCI9PT10eXBlb2Ygaz8oXCJ0ZXh0YXJlYVwiIT09XG5jfHxcIlwiIT09aykmJm9iKGEsayk6XCJudW1iZXJcIj09PXR5cGVvZiBrJiZvYihhLFwiXCIrayk6XCJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmdcIiE9PWYmJlwic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nXCIhPT1mJiZcImF1dG9Gb2N1c1wiIT09ZiYmKGVhLmhhc093blByb3BlcnR5KGYpP251bGwhPWsmJlwib25TY3JvbGxcIj09PWYmJkQoXCJzY3JvbGxcIixhKTpudWxsIT1rJiZ0YShhLGYsayxnKSl9c3dpdGNoKGMpe2Nhc2UgXCJpbnB1dFwiOlZhKGEpO2RiKGEsZCwhMSk7YnJlYWs7Y2FzZSBcInRleHRhcmVhXCI6VmEoYSk7amIoYSk7YnJlYWs7Y2FzZSBcIm9wdGlvblwiOm51bGwhPWQudmFsdWUmJmEuc2V0QXR0cmlidXRlKFwidmFsdWVcIixcIlwiK1NhKGQudmFsdWUpKTticmVhaztjYXNlIFwic2VsZWN0XCI6YS5tdWx0aXBsZT0hIWQubXVsdGlwbGU7Zj1kLnZhbHVlO251bGwhPWY/ZmIoYSwhIWQubXVsdGlwbGUsZiwhMSk6bnVsbCE9ZC5kZWZhdWx0VmFsdWUmJmZiKGEsISFkLm11bHRpcGxlLGQuZGVmYXVsdFZhbHVlLFxuITApO2JyZWFrO2RlZmF1bHQ6XCJmdW5jdGlvblwiPT09dHlwZW9mIGUub25DbGljayYmKGEub25jbGljaz1CZil9c3dpdGNoKGMpe2Nhc2UgXCJidXR0b25cIjpjYXNlIFwiaW5wdXRcIjpjYXNlIFwic2VsZWN0XCI6Y2FzZSBcInRleHRhcmVhXCI6ZD0hIWQuYXV0b0ZvY3VzO2JyZWFrIGE7Y2FzZSBcImltZ1wiOmQ9ITA7YnJlYWsgYTtkZWZhdWx0OmQ9ITF9fWQmJihiLmZsYWdzfD00KX1udWxsIT09Yi5yZWYmJihiLmZsYWdzfD01MTIsYi5mbGFnc3w9MjA5NzE1Mil9UyhiKTtyZXR1cm4gbnVsbDtjYXNlIDY6aWYoYSYmbnVsbCE9Yi5zdGF0ZU5vZGUpQ2ooYSxiLGEubWVtb2l6ZWRQcm9wcyxkKTtlbHNle2lmKFwic3RyaW5nXCIhPT10eXBlb2YgZCYmbnVsbD09PWIuc3RhdGVOb2RlKXRocm93IEVycm9yKHAoMTY2KSk7Yz14aCh3aC5jdXJyZW50KTt4aCh1aC5jdXJyZW50KTtpZihHZyhiKSl7ZD1iLnN0YXRlTm9kZTtjPWIubWVtb2l6ZWRQcm9wcztkW09mXT1iO2lmKGY9ZC5ub2RlVmFsdWUhPT1jKWlmKGE9XG54ZyxudWxsIT09YSlzd2l0Y2goYS50YWcpe2Nhc2UgMzpBZihkLm5vZGVWYWx1ZSxjLDAhPT0oYS5tb2RlJjEpKTticmVhaztjYXNlIDU6ITAhPT1hLm1lbW9pemVkUHJvcHMuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJiZBZihkLm5vZGVWYWx1ZSxjLDAhPT0oYS5tb2RlJjEpKX1mJiYoYi5mbGFnc3w9NCl9ZWxzZSBkPSg5PT09Yy5ub2RlVHlwZT9jOmMub3duZXJEb2N1bWVudCkuY3JlYXRlVGV4dE5vZGUoZCksZFtPZl09YixiLnN0YXRlTm9kZT1kfVMoYik7cmV0dXJuIG51bGw7Y2FzZSAxMzpFKEwpO2Q9Yi5tZW1vaXplZFN0YXRlO2lmKG51bGw9PT1hfHxudWxsIT09YS5tZW1vaXplZFN0YXRlJiZudWxsIT09YS5tZW1vaXplZFN0YXRlLmRlaHlkcmF0ZWQpe2lmKEkmJm51bGwhPT15ZyYmMCE9PShiLm1vZGUmMSkmJjA9PT0oYi5mbGFncyYxMjgpKUhnKCksSWcoKSxiLmZsYWdzfD05ODU2MCxmPSExO2Vsc2UgaWYoZj1HZyhiKSxudWxsIT09ZCYmbnVsbCE9PWQuZGVoeWRyYXRlZCl7aWYobnVsbD09PVxuYSl7aWYoIWYpdGhyb3cgRXJyb3IocCgzMTgpKTtmPWIubWVtb2l6ZWRTdGF0ZTtmPW51bGwhPT1mP2YuZGVoeWRyYXRlZDpudWxsO2lmKCFmKXRocm93IEVycm9yKHAoMzE3KSk7ZltPZl09Yn1lbHNlIElnKCksMD09PShiLmZsYWdzJjEyOCkmJihiLm1lbW9pemVkU3RhdGU9bnVsbCksYi5mbGFnc3w9NDtTKGIpO2Y9ITF9ZWxzZSBudWxsIT09emcmJihGaih6Zyksemc9bnVsbCksZj0hMDtpZighZilyZXR1cm4gYi5mbGFncyY2NTUzNj9iOm51bGx9aWYoMCE9PShiLmZsYWdzJjEyOCkpcmV0dXJuIGIubGFuZXM9YyxiO2Q9bnVsbCE9PWQ7ZCE9PShudWxsIT09YSYmbnVsbCE9PWEubWVtb2l6ZWRTdGF0ZSkmJmQmJihiLmNoaWxkLmZsYWdzfD04MTkyLDAhPT0oYi5tb2RlJjEpJiYobnVsbD09PWF8fDAhPT0oTC5jdXJyZW50JjEpPzA9PT1UJiYoVD0zKTp0aigpKSk7bnVsbCE9PWIudXBkYXRlUXVldWUmJihiLmZsYWdzfD00KTtTKGIpO3JldHVybiBudWxsO2Nhc2UgNDpyZXR1cm4gemgoKSxcbkFqKGEsYiksbnVsbD09PWEmJnNmKGIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLFMoYiksbnVsbDtjYXNlIDEwOnJldHVybiBhaChiLnR5cGUuX2NvbnRleHQpLFMoYiksbnVsbDtjYXNlIDE3OnJldHVybiBaZihiLnR5cGUpJiYkZigpLFMoYiksbnVsbDtjYXNlIDE5OkUoTCk7Zj1iLm1lbW9pemVkU3RhdGU7aWYobnVsbD09PWYpcmV0dXJuIFMoYiksbnVsbDtkPTAhPT0oYi5mbGFncyYxMjgpO2c9Zi5yZW5kZXJpbmc7aWYobnVsbD09PWcpaWYoZClEaihmLCExKTtlbHNle2lmKDAhPT1UfHxudWxsIT09YSYmMCE9PShhLmZsYWdzJjEyOCkpZm9yKGE9Yi5jaGlsZDtudWxsIT09YTspe2c9Q2goYSk7aWYobnVsbCE9PWcpe2IuZmxhZ3N8PTEyODtEaihmLCExKTtkPWcudXBkYXRlUXVldWU7bnVsbCE9PWQmJihiLnVwZGF0ZVF1ZXVlPWQsYi5mbGFnc3w9NCk7Yi5zdWJ0cmVlRmxhZ3M9MDtkPWM7Zm9yKGM9Yi5jaGlsZDtudWxsIT09YzspZj1jLGE9ZCxmLmZsYWdzJj0xNDY4MDA2Nixcbmc9Zi5hbHRlcm5hdGUsbnVsbD09PWc/KGYuY2hpbGRMYW5lcz0wLGYubGFuZXM9YSxmLmNoaWxkPW51bGwsZi5zdWJ0cmVlRmxhZ3M9MCxmLm1lbW9pemVkUHJvcHM9bnVsbCxmLm1lbW9pemVkU3RhdGU9bnVsbCxmLnVwZGF0ZVF1ZXVlPW51bGwsZi5kZXBlbmRlbmNpZXM9bnVsbCxmLnN0YXRlTm9kZT1udWxsKTooZi5jaGlsZExhbmVzPWcuY2hpbGRMYW5lcyxmLmxhbmVzPWcubGFuZXMsZi5jaGlsZD1nLmNoaWxkLGYuc3VidHJlZUZsYWdzPTAsZi5kZWxldGlvbnM9bnVsbCxmLm1lbW9pemVkUHJvcHM9Zy5tZW1vaXplZFByb3BzLGYubWVtb2l6ZWRTdGF0ZT1nLm1lbW9pemVkU3RhdGUsZi51cGRhdGVRdWV1ZT1nLnVwZGF0ZVF1ZXVlLGYudHlwZT1nLnR5cGUsYT1nLmRlcGVuZGVuY2llcyxmLmRlcGVuZGVuY2llcz1udWxsPT09YT9udWxsOntsYW5lczphLmxhbmVzLGZpcnN0Q29udGV4dDphLmZpcnN0Q29udGV4dH0pLGM9Yy5zaWJsaW5nO0coTCxMLmN1cnJlbnQmMXwyKTtyZXR1cm4gYi5jaGlsZH1hPVxuYS5zaWJsaW5nfW51bGwhPT1mLnRhaWwmJkIoKT5HaiYmKGIuZmxhZ3N8PTEyOCxkPSEwLERqKGYsITEpLGIubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighZClpZihhPUNoKGcpLG51bGwhPT1hKXtpZihiLmZsYWdzfD0xMjgsZD0hMCxjPWEudXBkYXRlUXVldWUsbnVsbCE9PWMmJihiLnVwZGF0ZVF1ZXVlPWMsYi5mbGFnc3w9NCksRGooZiwhMCksbnVsbD09PWYudGFpbCYmXCJoaWRkZW5cIj09PWYudGFpbE1vZGUmJiFnLmFsdGVybmF0ZSYmIUkpcmV0dXJuIFMoYiksbnVsbH1lbHNlIDIqQigpLWYucmVuZGVyaW5nU3RhcnRUaW1lPkdqJiYxMDczNzQxODI0IT09YyYmKGIuZmxhZ3N8PTEyOCxkPSEwLERqKGYsITEpLGIubGFuZXM9NDE5NDMwNCk7Zi5pc0JhY2t3YXJkcz8oZy5zaWJsaW5nPWIuY2hpbGQsYi5jaGlsZD1nKTooYz1mLmxhc3QsbnVsbCE9PWM/Yy5zaWJsaW5nPWc6Yi5jaGlsZD1nLGYubGFzdD1nKX1pZihudWxsIT09Zi50YWlsKXJldHVybiBiPWYudGFpbCxmLnJlbmRlcmluZz1cbmIsZi50YWlsPWIuc2libGluZyxmLnJlbmRlcmluZ1N0YXJ0VGltZT1CKCksYi5zaWJsaW5nPW51bGwsYz1MLmN1cnJlbnQsRyhMLGQ/YyYxfDI6YyYxKSxiO1MoYik7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBIaigpLGQ9bnVsbCE9PWIubWVtb2l6ZWRTdGF0ZSxudWxsIT09YSYmbnVsbCE9PWEubWVtb2l6ZWRTdGF0ZSE9PWQmJihiLmZsYWdzfD04MTkyKSxkJiYwIT09KGIubW9kZSYxKT8wIT09KGZqJjEwNzM3NDE4MjQpJiYoUyhiKSxiLnN1YnRyZWVGbGFncyY2JiYoYi5mbGFnc3w9ODE5MikpOlMoYiksbnVsbDtjYXNlIDI0OnJldHVybiBudWxsO2Nhc2UgMjU6cmV0dXJuIG51bGx9dGhyb3cgRXJyb3IocCgxNTYsYi50YWcpKTt9XG5mdW5jdGlvbiBJaihhLGIpe3dnKGIpO3N3aXRjaChiLnRhZyl7Y2FzZSAxOnJldHVybiBaZihiLnR5cGUpJiYkZigpLGE9Yi5mbGFncyxhJjY1NTM2PyhiLmZsYWdzPWEmLTY1NTM3fDEyOCxiKTpudWxsO2Nhc2UgMzpyZXR1cm4gemgoKSxFKFdmKSxFKEgpLEVoKCksYT1iLmZsYWdzLDAhPT0oYSY2NTUzNikmJjA9PT0oYSYxMjgpPyhiLmZsYWdzPWEmLTY1NTM3fDEyOCxiKTpudWxsO2Nhc2UgNTpyZXR1cm4gQmgoYiksbnVsbDtjYXNlIDEzOkUoTCk7YT1iLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PWEmJm51bGwhPT1hLmRlaHlkcmF0ZWQpe2lmKG51bGw9PT1iLmFsdGVybmF0ZSl0aHJvdyBFcnJvcihwKDM0MCkpO0lnKCl9YT1iLmZsYWdzO3JldHVybiBhJjY1NTM2PyhiLmZsYWdzPWEmLTY1NTM3fDEyOCxiKTpudWxsO2Nhc2UgMTk6cmV0dXJuIEUoTCksbnVsbDtjYXNlIDQ6cmV0dXJuIHpoKCksbnVsbDtjYXNlIDEwOnJldHVybiBhaChiLnR5cGUuX2NvbnRleHQpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBIaigpLFxubnVsbDtjYXNlIDI0OnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIG51bGx9fXZhciBKaj0hMSxVPSExLEtqPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBXZWFrU2V0P1dlYWtTZXQ6U2V0LFY9bnVsbDtmdW5jdGlvbiBMaihhLGIpe3ZhciBjPWEucmVmO2lmKG51bGwhPT1jKWlmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBjKXRyeXtjKG51bGwpfWNhdGNoKGQpe1coYSxiLGQpfWVsc2UgYy5jdXJyZW50PW51bGx9ZnVuY3Rpb24gTWooYSxiLGMpe3RyeXtjKCl9Y2F0Y2goZCl7VyhhLGIsZCl9fXZhciBOaj0hMTtcbmZ1bmN0aW9uIE9qKGEsYil7Q2Y9ZGQ7YT1NZSgpO2lmKE5lKGEpKXtpZihcInNlbGVjdGlvblN0YXJ0XCJpbiBhKXZhciBjPXtzdGFydDphLnNlbGVjdGlvblN0YXJ0LGVuZDphLnNlbGVjdGlvbkVuZH07ZWxzZSBhOntjPShjPWEub3duZXJEb2N1bWVudCkmJmMuZGVmYXVsdFZpZXd8fHdpbmRvdzt2YXIgZD1jLmdldFNlbGVjdGlvbiYmYy5nZXRTZWxlY3Rpb24oKTtpZihkJiYwIT09ZC5yYW5nZUNvdW50KXtjPWQuYW5jaG9yTm9kZTt2YXIgZT1kLmFuY2hvck9mZnNldCxmPWQuZm9jdXNOb2RlO2Q9ZC5mb2N1c09mZnNldDt0cnl7Yy5ub2RlVHlwZSxmLm5vZGVUeXBlfWNhdGNoKEYpe2M9bnVsbDticmVhayBhfXZhciBnPTAsaD0tMSxrPS0xLGw9MCxtPTAscT1hLHI9bnVsbDtiOmZvcig7Oyl7Zm9yKHZhciB5Ozspe3EhPT1jfHwwIT09ZSYmMyE9PXEubm9kZVR5cGV8fChoPWcrZSk7cSE9PWZ8fDAhPT1kJiYzIT09cS5ub2RlVHlwZXx8KGs9ZytkKTszPT09cS5ub2RlVHlwZSYmKGcrPVxucS5ub2RlVmFsdWUubGVuZ3RoKTtpZihudWxsPT09KHk9cS5maXJzdENoaWxkKSlicmVhaztyPXE7cT15fWZvcig7Oyl7aWYocT09PWEpYnJlYWsgYjtyPT09YyYmKytsPT09ZSYmKGg9Zyk7cj09PWYmJisrbT09PWQmJihrPWcpO2lmKG51bGwhPT0oeT1xLm5leHRTaWJsaW5nKSlicmVhaztxPXI7cj1xLnBhcmVudE5vZGV9cT15fWM9LTE9PT1ofHwtMT09PWs/bnVsbDp7c3RhcnQ6aCxlbmQ6a319ZWxzZSBjPW51bGx9Yz1jfHx7c3RhcnQ6MCxlbmQ6MH19ZWxzZSBjPW51bGw7RGY9e2ZvY3VzZWRFbGVtOmEsc2VsZWN0aW9uUmFuZ2U6Y307ZGQ9ITE7Zm9yKFY9YjtudWxsIT09VjspaWYoYj1WLGE9Yi5jaGlsZCwwIT09KGIuc3VidHJlZUZsYWdzJjEwMjgpJiZudWxsIT09YSlhLnJldHVybj1iLFY9YTtlbHNlIGZvcig7bnVsbCE9PVY7KXtiPVY7dHJ5e3ZhciBuPWIuYWx0ZXJuYXRlO2lmKDAhPT0oYi5mbGFncyYxMDI0KSlzd2l0Y2goYi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6YnJlYWs7XG5jYXNlIDE6aWYobnVsbCE9PW4pe3ZhciB0PW4ubWVtb2l6ZWRQcm9wcyxKPW4ubWVtb2l6ZWRTdGF0ZSx4PWIuc3RhdGVOb2RlLHc9eC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShiLmVsZW1lbnRUeXBlPT09Yi50eXBlP3Q6Q2koYi50eXBlLHQpLEopO3guX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGU9d31icmVhaztjYXNlIDM6dmFyIHU9Yi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzsxPT09dS5ub2RlVHlwZT91LnRleHRDb250ZW50PVwiXCI6OT09PXUubm9kZVR5cGUmJnUuZG9jdW1lbnRFbGVtZW50JiZ1LnJlbW92ZUNoaWxkKHUuZG9jdW1lbnRFbGVtZW50KTticmVhaztjYXNlIDU6Y2FzZSA2OmNhc2UgNDpjYXNlIDE3OmJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IocCgxNjMpKTt9fWNhdGNoKEYpe1coYixiLnJldHVybixGKX1hPWIuc2libGluZztpZihudWxsIT09YSl7YS5yZXR1cm49Yi5yZXR1cm47Vj1hO2JyZWFrfVY9Yi5yZXR1cm59bj1OajtOaj0hMTtyZXR1cm4gbn1cbmZ1bmN0aW9uIFBqKGEsYixjKXt2YXIgZD1iLnVwZGF0ZVF1ZXVlO2Q9bnVsbCE9PWQ/ZC5sYXN0RWZmZWN0Om51bGw7aWYobnVsbCE9PWQpe3ZhciBlPWQ9ZC5uZXh0O2Rve2lmKChlLnRhZyZhKT09PWEpe3ZhciBmPWUuZGVzdHJveTtlLmRlc3Ryb3k9dm9pZCAwO3ZvaWQgMCE9PWYmJk1qKGIsYyxmKX1lPWUubmV4dH13aGlsZShlIT09ZCl9fWZ1bmN0aW9uIFFqKGEsYil7Yj1iLnVwZGF0ZVF1ZXVlO2I9bnVsbCE9PWI/Yi5sYXN0RWZmZWN0Om51bGw7aWYobnVsbCE9PWIpe3ZhciBjPWI9Yi5uZXh0O2Rve2lmKChjLnRhZyZhKT09PWEpe3ZhciBkPWMuY3JlYXRlO2MuZGVzdHJveT1kKCl9Yz1jLm5leHR9d2hpbGUoYyE9PWIpfX1mdW5jdGlvbiBSaihhKXt2YXIgYj1hLnJlZjtpZihudWxsIT09Yil7dmFyIGM9YS5zdGF0ZU5vZGU7c3dpdGNoKGEudGFnKXtjYXNlIDU6YT1jO2JyZWFrO2RlZmF1bHQ6YT1jfVwiZnVuY3Rpb25cIj09PXR5cGVvZiBiP2IoYSk6Yi5jdXJyZW50PWF9fVxuZnVuY3Rpb24gU2ooYSl7dmFyIGI9YS5hbHRlcm5hdGU7bnVsbCE9PWImJihhLmFsdGVybmF0ZT1udWxsLFNqKGIpKTthLmNoaWxkPW51bGw7YS5kZWxldGlvbnM9bnVsbDthLnNpYmxpbmc9bnVsbDs1PT09YS50YWcmJihiPWEuc3RhdGVOb2RlLG51bGwhPT1iJiYoZGVsZXRlIGJbT2ZdLGRlbGV0ZSBiW1BmXSxkZWxldGUgYltvZl0sZGVsZXRlIGJbUWZdLGRlbGV0ZSBiW1JmXSkpO2Euc3RhdGVOb2RlPW51bGw7YS5yZXR1cm49bnVsbDthLmRlcGVuZGVuY2llcz1udWxsO2EubWVtb2l6ZWRQcm9wcz1udWxsO2EubWVtb2l6ZWRTdGF0ZT1udWxsO2EucGVuZGluZ1Byb3BzPW51bGw7YS5zdGF0ZU5vZGU9bnVsbDthLnVwZGF0ZVF1ZXVlPW51bGx9ZnVuY3Rpb24gVGooYSl7cmV0dXJuIDU9PT1hLnRhZ3x8Mz09PWEudGFnfHw0PT09YS50YWd9XG5mdW5jdGlvbiBVaihhKXthOmZvcig7Oyl7Zm9yKDtudWxsPT09YS5zaWJsaW5nOyl7aWYobnVsbD09PWEucmV0dXJufHxUaihhLnJldHVybikpcmV0dXJuIG51bGw7YT1hLnJldHVybn1hLnNpYmxpbmcucmV0dXJuPWEucmV0dXJuO2ZvcihhPWEuc2libGluZzs1IT09YS50YWcmJjYhPT1hLnRhZyYmMTghPT1hLnRhZzspe2lmKGEuZmxhZ3MmMiljb250aW51ZSBhO2lmKG51bGw9PT1hLmNoaWxkfHw0PT09YS50YWcpY29udGludWUgYTtlbHNlIGEuY2hpbGQucmV0dXJuPWEsYT1hLmNoaWxkfWlmKCEoYS5mbGFncyYyKSlyZXR1cm4gYS5zdGF0ZU5vZGV9fVxuZnVuY3Rpb24gVmooYSxiLGMpe3ZhciBkPWEudGFnO2lmKDU9PT1kfHw2PT09ZClhPWEuc3RhdGVOb2RlLGI/OD09PWMubm9kZVR5cGU/Yy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLGIpOmMuaW5zZXJ0QmVmb3JlKGEsYik6KDg9PT1jLm5vZGVUeXBlPyhiPWMucGFyZW50Tm9kZSxiLmluc2VydEJlZm9yZShhLGMpKTooYj1jLGIuYXBwZW5kQ2hpbGQoYSkpLGM9Yy5fcmVhY3RSb290Q29udGFpbmVyLG51bGwhPT1jJiZ2b2lkIDAhPT1jfHxudWxsIT09Yi5vbmNsaWNrfHwoYi5vbmNsaWNrPUJmKSk7ZWxzZSBpZig0IT09ZCYmKGE9YS5jaGlsZCxudWxsIT09YSkpZm9yKFZqKGEsYixjKSxhPWEuc2libGluZztudWxsIT09YTspVmooYSxiLGMpLGE9YS5zaWJsaW5nfVxuZnVuY3Rpb24gV2ooYSxiLGMpe3ZhciBkPWEudGFnO2lmKDU9PT1kfHw2PT09ZClhPWEuc3RhdGVOb2RlLGI/Yy5pbnNlcnRCZWZvcmUoYSxiKTpjLmFwcGVuZENoaWxkKGEpO2Vsc2UgaWYoNCE9PWQmJihhPWEuY2hpbGQsbnVsbCE9PWEpKWZvcihXaihhLGIsYyksYT1hLnNpYmxpbmc7bnVsbCE9PWE7KVdqKGEsYixjKSxhPWEuc2libGluZ312YXIgWD1udWxsLFhqPSExO2Z1bmN0aW9uIFlqKGEsYixjKXtmb3IoYz1jLmNoaWxkO251bGwhPT1jOylaaihhLGIsYyksYz1jLnNpYmxpbmd9XG5mdW5jdGlvbiBaaihhLGIsYyl7aWYobGMmJlwiZnVuY3Rpb25cIj09PXR5cGVvZiBsYy5vbkNvbW1pdEZpYmVyVW5tb3VudCl0cnl7bGMub25Db21taXRGaWJlclVubW91bnQoa2MsYyl9Y2F0Y2goaCl7fXN3aXRjaChjLnRhZyl7Y2FzZSA1OlV8fExqKGMsYik7Y2FzZSA2OnZhciBkPVgsZT1YajtYPW51bGw7WWooYSxiLGMpO1g9ZDtYaj1lO251bGwhPT1YJiYoWGo/KGE9WCxjPWMuc3RhdGVOb2RlLDg9PT1hLm5vZGVUeXBlP2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjKTphLnJlbW92ZUNoaWxkKGMpKTpYLnJlbW92ZUNoaWxkKGMuc3RhdGVOb2RlKSk7YnJlYWs7Y2FzZSAxODpudWxsIT09WCYmKFhqPyhhPVgsYz1jLnN0YXRlTm9kZSw4PT09YS5ub2RlVHlwZT9LZihhLnBhcmVudE5vZGUsYyk6MT09PWEubm9kZVR5cGUmJktmKGEsYyksYmQoYSkpOktmKFgsYy5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDQ6ZD1YO2U9WGo7WD1jLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1hqPSEwO1xuWWooYSxiLGMpO1g9ZDtYaj1lO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZighVSYmKGQ9Yy51cGRhdGVRdWV1ZSxudWxsIT09ZCYmKGQ9ZC5sYXN0RWZmZWN0LG51bGwhPT1kKSkpe2U9ZD1kLm5leHQ7ZG97dmFyIGY9ZSxnPWYuZGVzdHJveTtmPWYudGFnO3ZvaWQgMCE9PWcmJigwIT09KGYmMik/TWooYyxiLGcpOjAhPT0oZiY0KSYmTWooYyxiLGcpKTtlPWUubmV4dH13aGlsZShlIT09ZCl9WWooYSxiLGMpO2JyZWFrO2Nhc2UgMTppZighVSYmKExqKGMsYiksZD1jLnN0YXRlTm9kZSxcImZ1bmN0aW9uXCI9PT10eXBlb2YgZC5jb21wb25lbnRXaWxsVW5tb3VudCkpdHJ5e2QucHJvcHM9Yy5tZW1vaXplZFByb3BzLGQuc3RhdGU9Yy5tZW1vaXplZFN0YXRlLGQuY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaChoKXtXKGMsYixoKX1ZaihhLGIsYyk7YnJlYWs7Y2FzZSAyMTpZaihhLGIsYyk7YnJlYWs7Y2FzZSAyMjpjLm1vZGUmMT8oVT0oZD1VKXx8bnVsbCE9PVxuYy5tZW1vaXplZFN0YXRlLFlqKGEsYixjKSxVPWQpOllqKGEsYixjKTticmVhaztkZWZhdWx0OllqKGEsYixjKX19ZnVuY3Rpb24gYWsoYSl7dmFyIGI9YS51cGRhdGVRdWV1ZTtpZihudWxsIT09Yil7YS51cGRhdGVRdWV1ZT1udWxsO3ZhciBjPWEuc3RhdGVOb2RlO251bGw9PT1jJiYoYz1hLnN0YXRlTm9kZT1uZXcgS2opO2IuZm9yRWFjaChmdW5jdGlvbihiKXt2YXIgZD1iay5iaW5kKG51bGwsYSxiKTtjLmhhcyhiKXx8KGMuYWRkKGIpLGIudGhlbihkLGQpKX0pfX1cbmZ1bmN0aW9uIGNrKGEsYil7dmFyIGM9Yi5kZWxldGlvbnM7aWYobnVsbCE9PWMpZm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF07dHJ5e3ZhciBmPWEsZz1iLGg9ZzthOmZvcig7bnVsbCE9PWg7KXtzd2l0Y2goaC50YWcpe2Nhc2UgNTpYPWguc3RhdGVOb2RlO1hqPSExO2JyZWFrIGE7Y2FzZSAzOlg9aC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztYaj0hMDticmVhayBhO2Nhc2UgNDpYPWguc3RhdGVOb2RlLmNvbnRhaW5lckluZm87WGo9ITA7YnJlYWsgYX1oPWgucmV0dXJufWlmKG51bGw9PT1YKXRocm93IEVycm9yKHAoMTYwKSk7WmooZixnLGUpO1g9bnVsbDtYaj0hMTt2YXIgaz1lLmFsdGVybmF0ZTtudWxsIT09ayYmKGsucmV0dXJuPW51bGwpO2UucmV0dXJuPW51bGx9Y2F0Y2gobCl7VyhlLGIsbCl9fWlmKGIuc3VidHJlZUZsYWdzJjEyODU0KWZvcihiPWIuY2hpbGQ7bnVsbCE9PWI7KWRrKGIsYSksYj1iLnNpYmxpbmd9XG5mdW5jdGlvbiBkayhhLGIpe3ZhciBjPWEuYWx0ZXJuYXRlLGQ9YS5mbGFncztzd2l0Y2goYS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTpjayhiLGEpO2VrKGEpO2lmKGQmNCl7dHJ5e1BqKDMsYSxhLnJldHVybiksUWooMyxhKX1jYXRjaCh0KXtXKGEsYS5yZXR1cm4sdCl9dHJ5e1BqKDUsYSxhLnJldHVybil9Y2F0Y2godCl7VyhhLGEucmV0dXJuLHQpfX1icmVhaztjYXNlIDE6Y2soYixhKTtlayhhKTtkJjUxMiYmbnVsbCE9PWMmJkxqKGMsYy5yZXR1cm4pO2JyZWFrO2Nhc2UgNTpjayhiLGEpO2VrKGEpO2QmNTEyJiZudWxsIT09YyYmTGooYyxjLnJldHVybik7aWYoYS5mbGFncyYzMil7dmFyIGU9YS5zdGF0ZU5vZGU7dHJ5e29iKGUsXCJcIil9Y2F0Y2godCl7VyhhLGEucmV0dXJuLHQpfX1pZihkJjQmJihlPWEuc3RhdGVOb2RlLG51bGwhPWUpKXt2YXIgZj1hLm1lbW9pemVkUHJvcHMsZz1udWxsIT09Yz9jLm1lbW9pemVkUHJvcHM6ZixoPWEudHlwZSxrPWEudXBkYXRlUXVldWU7XG5hLnVwZGF0ZVF1ZXVlPW51bGw7aWYobnVsbCE9PWspdHJ5e1wiaW5wdXRcIj09PWgmJlwicmFkaW9cIj09PWYudHlwZSYmbnVsbCE9Zi5uYW1lJiZhYihlLGYpO3ZiKGgsZyk7dmFyIGw9dmIoaCxmKTtmb3IoZz0wO2c8ay5sZW5ndGg7Zys9Mil7dmFyIG09a1tnXSxxPWtbZysxXTtcInN0eWxlXCI9PT1tP3NiKGUscSk6XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiPT09bT9uYihlLHEpOlwiY2hpbGRyZW5cIj09PW0/b2IoZSxxKTp0YShlLG0scSxsKX1zd2l0Y2goaCl7Y2FzZSBcImlucHV0XCI6YmIoZSxmKTticmVhaztjYXNlIFwidGV4dGFyZWFcIjppYihlLGYpO2JyZWFrO2Nhc2UgXCJzZWxlY3RcIjp2YXIgcj1lLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU7ZS5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlPSEhZi5tdWx0aXBsZTt2YXIgeT1mLnZhbHVlO251bGwhPXk/ZmIoZSwhIWYubXVsdGlwbGUseSwhMSk6ciE9PSEhZi5tdWx0aXBsZSYmKG51bGwhPWYuZGVmYXVsdFZhbHVlP2ZiKGUsISFmLm11bHRpcGxlLFxuZi5kZWZhdWx0VmFsdWUsITApOmZiKGUsISFmLm11bHRpcGxlLGYubXVsdGlwbGU/W106XCJcIiwhMSkpfWVbUGZdPWZ9Y2F0Y2godCl7VyhhLGEucmV0dXJuLHQpfX1icmVhaztjYXNlIDY6Y2soYixhKTtlayhhKTtpZihkJjQpe2lmKG51bGw9PT1hLnN0YXRlTm9kZSl0aHJvdyBFcnJvcihwKDE2MikpO2U9YS5zdGF0ZU5vZGU7Zj1hLm1lbW9pemVkUHJvcHM7dHJ5e2Uubm9kZVZhbHVlPWZ9Y2F0Y2godCl7VyhhLGEucmV0dXJuLHQpfX1icmVhaztjYXNlIDM6Y2soYixhKTtlayhhKTtpZihkJjQmJm51bGwhPT1jJiZjLm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXRyeXtiZChiLmNvbnRhaW5lckluZm8pfWNhdGNoKHQpe1coYSxhLnJldHVybix0KX1icmVhaztjYXNlIDQ6Y2soYixhKTtlayhhKTticmVhaztjYXNlIDEzOmNrKGIsYSk7ZWsoYSk7ZT1hLmNoaWxkO2UuZmxhZ3MmODE5MiYmKGY9bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSxlLnN0YXRlTm9kZS5pc0hpZGRlbj1mLCFmfHxcbm51bGwhPT1lLmFsdGVybmF0ZSYmbnVsbCE9PWUuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGV8fChmaz1CKCkpKTtkJjQmJmFrKGEpO2JyZWFrO2Nhc2UgMjI6bT1udWxsIT09YyYmbnVsbCE9PWMubWVtb2l6ZWRTdGF0ZTthLm1vZGUmMT8oVT0obD1VKXx8bSxjayhiLGEpLFU9bCk6Y2soYixhKTtlayhhKTtpZihkJjgxOTIpe2w9bnVsbCE9PWEubWVtb2l6ZWRTdGF0ZTtpZigoYS5zdGF0ZU5vZGUuaXNIaWRkZW49bCkmJiFtJiYwIT09KGEubW9kZSYxKSlmb3IoVj1hLG09YS5jaGlsZDtudWxsIT09bTspe2ZvcihxPVY9bTtudWxsIT09Vjspe3I9Vjt5PXIuY2hpbGQ7c3dpdGNoKHIudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6UGooNCxyLHIucmV0dXJuKTticmVhaztjYXNlIDE6TGoocixyLnJldHVybik7dmFyIG49ci5zdGF0ZU5vZGU7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIG4uY29tcG9uZW50V2lsbFVubW91bnQpe2Q9cjtjPXIucmV0dXJuO3RyeXtiPWQsbi5wcm9wcz1cbmIubWVtb2l6ZWRQcm9wcyxuLnN0YXRlPWIubWVtb2l6ZWRTdGF0ZSxuLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2godCl7VyhkLGMsdCl9fWJyZWFrO2Nhc2UgNTpMaihyLHIucmV0dXJuKTticmVhaztjYXNlIDIyOmlmKG51bGwhPT1yLm1lbW9pemVkU3RhdGUpe2drKHEpO2NvbnRpbnVlfX1udWxsIT09eT8oeS5yZXR1cm49cixWPXkpOmdrKHEpfW09bS5zaWJsaW5nfWE6Zm9yKG09bnVsbCxxPWE7Oyl7aWYoNT09PXEudGFnKXtpZihudWxsPT09bSl7bT1xO3RyeXtlPXEuc3RhdGVOb2RlLGw/KGY9ZS5zdHlsZSxcImZ1bmN0aW9uXCI9PT10eXBlb2YgZi5zZXRQcm9wZXJ0eT9mLnNldFByb3BlcnR5KFwiZGlzcGxheVwiLFwibm9uZVwiLFwiaW1wb3J0YW50XCIpOmYuZGlzcGxheT1cIm5vbmVcIik6KGg9cS5zdGF0ZU5vZGUsaz1xLm1lbW9pemVkUHJvcHMuc3R5bGUsZz12b2lkIDAhPT1rJiZudWxsIT09ayYmay5oYXNPd25Qcm9wZXJ0eShcImRpc3BsYXlcIik/ay5kaXNwbGF5Om51bGwsaC5zdHlsZS5kaXNwbGF5PVxucmIoXCJkaXNwbGF5XCIsZykpfWNhdGNoKHQpe1coYSxhLnJldHVybix0KX19fWVsc2UgaWYoNj09PXEudGFnKXtpZihudWxsPT09bSl0cnl7cS5zdGF0ZU5vZGUubm9kZVZhbHVlPWw/XCJcIjpxLm1lbW9pemVkUHJvcHN9Y2F0Y2godCl7VyhhLGEucmV0dXJuLHQpfX1lbHNlIGlmKCgyMiE9PXEudGFnJiYyMyE9PXEudGFnfHxudWxsPT09cS5tZW1vaXplZFN0YXRlfHxxPT09YSkmJm51bGwhPT1xLmNoaWxkKXtxLmNoaWxkLnJldHVybj1xO3E9cS5jaGlsZDtjb250aW51ZX1pZihxPT09YSlicmVhayBhO2Zvcig7bnVsbD09PXEuc2libGluZzspe2lmKG51bGw9PT1xLnJldHVybnx8cS5yZXR1cm49PT1hKWJyZWFrIGE7bT09PXEmJihtPW51bGwpO3E9cS5yZXR1cm59bT09PXEmJihtPW51bGwpO3Euc2libGluZy5yZXR1cm49cS5yZXR1cm47cT1xLnNpYmxpbmd9fWJyZWFrO2Nhc2UgMTk6Y2soYixhKTtlayhhKTtkJjQmJmFrKGEpO2JyZWFrO2Nhc2UgMjE6YnJlYWs7ZGVmYXVsdDpjayhiLFxuYSksZWsoYSl9fWZ1bmN0aW9uIGVrKGEpe3ZhciBiPWEuZmxhZ3M7aWYoYiYyKXt0cnl7YTp7Zm9yKHZhciBjPWEucmV0dXJuO251bGwhPT1jOyl7aWYoVGooYykpe3ZhciBkPWM7YnJlYWsgYX1jPWMucmV0dXJufXRocm93IEVycm9yKHAoMTYwKSk7fXN3aXRjaChkLnRhZyl7Y2FzZSA1OnZhciBlPWQuc3RhdGVOb2RlO2QuZmxhZ3MmMzImJihvYihlLFwiXCIpLGQuZmxhZ3MmPS0zMyk7dmFyIGY9VWooYSk7V2ooYSxmLGUpO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6dmFyIGc9ZC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxoPVVqKGEpO1ZqKGEsaCxnKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHAoMTYxKSk7fX1jYXRjaChrKXtXKGEsYS5yZXR1cm4sayl9YS5mbGFncyY9LTN9YiY0MDk2JiYoYS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIGhrKGEsYixjKXtWPWE7aWsoYSxiLGMpfVxuZnVuY3Rpb24gaWsoYSxiLGMpe2Zvcih2YXIgZD0wIT09KGEubW9kZSYxKTtudWxsIT09Vjspe3ZhciBlPVYsZj1lLmNoaWxkO2lmKDIyPT09ZS50YWcmJmQpe3ZhciBnPW51bGwhPT1lLm1lbW9pemVkU3RhdGV8fEpqO2lmKCFnKXt2YXIgaD1lLmFsdGVybmF0ZSxrPW51bGwhPT1oJiZudWxsIT09aC5tZW1vaXplZFN0YXRlfHxVO2g9Smo7dmFyIGw9VTtKaj1nO2lmKChVPWspJiYhbClmb3IoVj1lO251bGwhPT1WOylnPVYsaz1nLmNoaWxkLDIyPT09Zy50YWcmJm51bGwhPT1nLm1lbW9pemVkU3RhdGU/amsoZSk6bnVsbCE9PWs/KGsucmV0dXJuPWcsVj1rKTpqayhlKTtmb3IoO251bGwhPT1mOylWPWYsaWsoZixiLGMpLGY9Zi5zaWJsaW5nO1Y9ZTtKaj1oO1U9bH1rayhhLGIsYyl9ZWxzZSAwIT09KGUuc3VidHJlZUZsYWdzJjg3NzIpJiZudWxsIT09Zj8oZi5yZXR1cm49ZSxWPWYpOmtrKGEsYixjKX19XG5mdW5jdGlvbiBrayhhKXtmb3IoO251bGwhPT1WOyl7dmFyIGI9VjtpZigwIT09KGIuZmxhZ3MmODc3Mikpe3ZhciBjPWIuYWx0ZXJuYXRlO3RyeXtpZigwIT09KGIuZmxhZ3MmODc3Mikpc3dpdGNoKGIudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OlV8fFFqKDUsYik7YnJlYWs7Y2FzZSAxOnZhciBkPWIuc3RhdGVOb2RlO2lmKGIuZmxhZ3MmNCYmIVUpaWYobnVsbD09PWMpZC5jb21wb25lbnREaWRNb3VudCgpO2Vsc2V7dmFyIGU9Yi5lbGVtZW50VHlwZT09PWIudHlwZT9jLm1lbW9pemVkUHJvcHM6Q2koYi50eXBlLGMubWVtb2l6ZWRQcm9wcyk7ZC5jb21wb25lbnREaWRVcGRhdGUoZSxjLm1lbW9pemVkU3RhdGUsZC5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSl9dmFyIGY9Yi51cGRhdGVRdWV1ZTtudWxsIT09ZiYmc2goYixmLGQpO2JyZWFrO2Nhc2UgMzp2YXIgZz1iLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT1nKXtjPW51bGw7aWYobnVsbCE9PWIuY2hpbGQpc3dpdGNoKGIuY2hpbGQudGFnKXtjYXNlIDU6Yz1cbmIuY2hpbGQuc3RhdGVOb2RlO2JyZWFrO2Nhc2UgMTpjPWIuY2hpbGQuc3RhdGVOb2RlfXNoKGIsZyxjKX1icmVhaztjYXNlIDU6dmFyIGg9Yi5zdGF0ZU5vZGU7aWYobnVsbD09PWMmJmIuZmxhZ3MmNCl7Yz1oO3ZhciBrPWIubWVtb2l6ZWRQcm9wcztzd2l0Y2goYi50eXBlKXtjYXNlIFwiYnV0dG9uXCI6Y2FzZSBcImlucHV0XCI6Y2FzZSBcInNlbGVjdFwiOmNhc2UgXCJ0ZXh0YXJlYVwiOmsuYXV0b0ZvY3VzJiZjLmZvY3VzKCk7YnJlYWs7Y2FzZSBcImltZ1wiOmsuc3JjJiYoYy5zcmM9ay5zcmMpfX1icmVhaztjYXNlIDY6YnJlYWs7Y2FzZSA0OmJyZWFrO2Nhc2UgMTI6YnJlYWs7Y2FzZSAxMzppZihudWxsPT09Yi5tZW1vaXplZFN0YXRlKXt2YXIgbD1iLmFsdGVybmF0ZTtpZihudWxsIT09bCl7dmFyIG09bC5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT1tKXt2YXIgcT1tLmRlaHlkcmF0ZWQ7bnVsbCE9PXEmJmJkKHEpfX19YnJlYWs7Y2FzZSAxOTpjYXNlIDE3OmNhc2UgMjE6Y2FzZSAyMjpjYXNlIDIzOmNhc2UgMjU6YnJlYWs7XG5kZWZhdWx0OnRocm93IEVycm9yKHAoMTYzKSk7fVV8fGIuZmxhZ3MmNTEyJiZSaihiKX1jYXRjaChyKXtXKGIsYi5yZXR1cm4scil9fWlmKGI9PT1hKXtWPW51bGw7YnJlYWt9Yz1iLnNpYmxpbmc7aWYobnVsbCE9PWMpe2MucmV0dXJuPWIucmV0dXJuO1Y9YzticmVha31WPWIucmV0dXJufX1mdW5jdGlvbiBnayhhKXtmb3IoO251bGwhPT1WOyl7dmFyIGI9VjtpZihiPT09YSl7Vj1udWxsO2JyZWFrfXZhciBjPWIuc2libGluZztpZihudWxsIT09Yyl7Yy5yZXR1cm49Yi5yZXR1cm47Vj1jO2JyZWFrfVY9Yi5yZXR1cm59fVxuZnVuY3Rpb24gamsoYSl7Zm9yKDtudWxsIT09Vjspe3ZhciBiPVY7dHJ5e3N3aXRjaChiLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp2YXIgYz1iLnJldHVybjt0cnl7UWooNCxiKX1jYXRjaChrKXtXKGIsYyxrKX1icmVhaztjYXNlIDE6dmFyIGQ9Yi5zdGF0ZU5vZGU7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGQuY29tcG9uZW50RGlkTW91bnQpe3ZhciBlPWIucmV0dXJuO3RyeXtkLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goayl7VyhiLGUsayl9fXZhciBmPWIucmV0dXJuO3RyeXtSaihiKX1jYXRjaChrKXtXKGIsZixrKX1icmVhaztjYXNlIDU6dmFyIGc9Yi5yZXR1cm47dHJ5e1JqKGIpfWNhdGNoKGspe1coYixnLGspfX19Y2F0Y2goayl7VyhiLGIucmV0dXJuLGspfWlmKGI9PT1hKXtWPW51bGw7YnJlYWt9dmFyIGg9Yi5zaWJsaW5nO2lmKG51bGwhPT1oKXtoLnJldHVybj1iLnJldHVybjtWPWg7YnJlYWt9Vj1iLnJldHVybn19XG52YXIgbGs9TWF0aC5jZWlsLG1rPXVhLlJlYWN0Q3VycmVudERpc3BhdGNoZXIsbms9dWEuUmVhY3RDdXJyZW50T3duZXIsb2s9dWEuUmVhY3RDdXJyZW50QmF0Y2hDb25maWcsSz0wLFE9bnVsbCxZPW51bGwsWj0wLGZqPTAsZWo9VWYoMCksVD0wLHBrPW51bGwscmg9MCxxaz0wLHJrPTAsc2s9bnVsbCx0az1udWxsLGZrPTAsR2o9SW5maW5pdHksdWs9bnVsbCxPaT0hMSxQaT1udWxsLFJpPW51bGwsdms9ITEsd2s9bnVsbCx4az0wLHlrPTAsems9bnVsbCxBaz0tMSxCaz0wO2Z1bmN0aW9uIFIoKXtyZXR1cm4gMCE9PShLJjYpP0IoKTotMSE9PUFrP0FrOkFrPUIoKX1cbmZ1bmN0aW9uIHlpKGEpe2lmKDA9PT0oYS5tb2RlJjEpKXJldHVybiAxO2lmKDAhPT0oSyYyKSYmMCE9PVopcmV0dXJuIFomLVo7aWYobnVsbCE9PUtnLnRyYW5zaXRpb24pcmV0dXJuIDA9PT1CayYmKEJrPXljKCkpLEJrO2E9QztpZigwIT09YSlyZXR1cm4gYTthPXdpbmRvdy5ldmVudDthPXZvaWQgMD09PWE/MTY6amQoYS50eXBlKTtyZXR1cm4gYX1mdW5jdGlvbiBnaShhLGIsYyxkKXtpZig1MDx5ayl0aHJvdyB5az0wLHprPW51bGwsRXJyb3IocCgxODUpKTtBYyhhLGMsZCk7aWYoMD09PShLJjIpfHxhIT09USlhPT09USYmKDA9PT0oSyYyKSYmKHFrfD1jKSw0PT09VCYmQ2soYSxaKSksRGsoYSxkKSwxPT09YyYmMD09PUsmJjA9PT0oYi5tb2RlJjEpJiYoR2o9QigpKzUwMCxmZyYmamcoKSl9XG5mdW5jdGlvbiBEayhhLGIpe3ZhciBjPWEuY2FsbGJhY2tOb2RlO3djKGEsYik7dmFyIGQ9dWMoYSxhPT09UT9aOjApO2lmKDA9PT1kKW51bGwhPT1jJiZiYyhjKSxhLmNhbGxiYWNrTm9kZT1udWxsLGEuY2FsbGJhY2tQcmlvcml0eT0wO2Vsc2UgaWYoYj1kJi1kLGEuY2FsbGJhY2tQcmlvcml0eSE9PWIpe251bGwhPWMmJmJjKGMpO2lmKDE9PT1iKTA9PT1hLnRhZz9pZyhFay5iaW5kKG51bGwsYSkpOmhnKEVrLmJpbmQobnVsbCxhKSksSmYoZnVuY3Rpb24oKXswPT09KEsmNikmJmpnKCl9KSxjPW51bGw7ZWxzZXtzd2l0Y2goRGMoZCkpe2Nhc2UgMTpjPWZjO2JyZWFrO2Nhc2UgNDpjPWdjO2JyZWFrO2Nhc2UgMTY6Yz1oYzticmVhaztjYXNlIDUzNjg3MDkxMjpjPWpjO2JyZWFrO2RlZmF1bHQ6Yz1oY31jPUZrKGMsR2suYmluZChudWxsLGEpKX1hLmNhbGxiYWNrUHJpb3JpdHk9YjthLmNhbGxiYWNrTm9kZT1jfX1cbmZ1bmN0aW9uIEdrKGEsYil7QWs9LTE7Qms9MDtpZigwIT09KEsmNikpdGhyb3cgRXJyb3IocCgzMjcpKTt2YXIgYz1hLmNhbGxiYWNrTm9kZTtpZihIaygpJiZhLmNhbGxiYWNrTm9kZSE9PWMpcmV0dXJuIG51bGw7dmFyIGQ9dWMoYSxhPT09UT9aOjApO2lmKDA9PT1kKXJldHVybiBudWxsO2lmKDAhPT0oZCYzMCl8fDAhPT0oZCZhLmV4cGlyZWRMYW5lcyl8fGIpYj1JayhhLGQpO2Vsc2V7Yj1kO3ZhciBlPUs7S3w9Mjt2YXIgZj1KaygpO2lmKFEhPT1hfHxaIT09Yil1az1udWxsLEdqPUIoKSs1MDAsS2soYSxiKTtkbyB0cnl7TGsoKTticmVha31jYXRjaChoKXtNayhhLGgpfXdoaWxlKDEpOyRnKCk7bWsuY3VycmVudD1mO0s9ZTtudWxsIT09WT9iPTA6KFE9bnVsbCxaPTAsYj1UKX1pZigwIT09Yil7Mj09PWImJihlPXhjKGEpLDAhPT1lJiYoZD1lLGI9TmsoYSxlKSkpO2lmKDE9PT1iKXRocm93IGM9cGssS2soYSwwKSxDayhhLGQpLERrKGEsQigpKSxjO2lmKDY9PT1iKUNrKGEsZCk7XG5lbHNle2U9YS5jdXJyZW50LmFsdGVybmF0ZTtpZigwPT09KGQmMzApJiYhT2soZSkmJihiPUlrKGEsZCksMj09PWImJihmPXhjKGEpLDAhPT1mJiYoZD1mLGI9TmsoYSxmKSkpLDE9PT1iKSl0aHJvdyBjPXBrLEtrKGEsMCksQ2soYSxkKSxEayhhLEIoKSksYzthLmZpbmlzaGVkV29yaz1lO2EuZmluaXNoZWRMYW5lcz1kO3N3aXRjaChiKXtjYXNlIDA6Y2FzZSAxOnRocm93IEVycm9yKHAoMzQ1KSk7Y2FzZSAyOlBrKGEsdGssdWspO2JyZWFrO2Nhc2UgMzpDayhhLGQpO2lmKChkJjEzMDAyMzQyNCk9PT1kJiYoYj1mays1MDAtQigpLDEwPGIpKXtpZigwIT09dWMoYSwwKSlicmVhaztlPWEuc3VzcGVuZGVkTGFuZXM7aWYoKGUmZCkhPT1kKXtSKCk7YS5waW5nZWRMYW5lc3w9YS5zdXNwZW5kZWRMYW5lcyZlO2JyZWFrfWEudGltZW91dEhhbmRsZT1GZihQay5iaW5kKG51bGwsYSx0ayx1ayksYik7YnJlYWt9UGsoYSx0ayx1ayk7YnJlYWs7Y2FzZSA0OkNrKGEsZCk7aWYoKGQmNDE5NDI0MCk9PT1cbmQpYnJlYWs7Yj1hLmV2ZW50VGltZXM7Zm9yKGU9LTE7MDxkOyl7dmFyIGc9MzEtb2MoZCk7Zj0xPDxnO2c9YltnXTtnPmUmJihlPWcpO2QmPX5mfWQ9ZTtkPUIoKS1kO2Q9KDEyMD5kPzEyMDo0ODA+ZD80ODA6MTA4MD5kPzEwODA6MTkyMD5kPzE5MjA6M0UzPmQ/M0UzOjQzMjA+ZD80MzIwOjE5NjAqbGsoZC8xOTYwKSktZDtpZigxMDxkKXthLnRpbWVvdXRIYW5kbGU9RmYoUGsuYmluZChudWxsLGEsdGssdWspLGQpO2JyZWFrfVBrKGEsdGssdWspO2JyZWFrO2Nhc2UgNTpQayhhLHRrLHVrKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHAoMzI5KSk7fX19RGsoYSxCKCkpO3JldHVybiBhLmNhbGxiYWNrTm9kZT09PWM/R2suYmluZChudWxsLGEpOm51bGx9XG5mdW5jdGlvbiBOayhhLGIpe3ZhciBjPXNrO2EuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCYmKEtrKGEsYikuZmxhZ3N8PTI1Nik7YT1JayhhLGIpOzIhPT1hJiYoYj10ayx0az1jLG51bGwhPT1iJiZGaihiKSk7cmV0dXJuIGF9ZnVuY3Rpb24gRmooYSl7bnVsbD09PXRrP3RrPWE6dGsucHVzaC5hcHBseSh0ayxhKX1cbmZ1bmN0aW9uIE9rKGEpe2Zvcih2YXIgYj1hOzspe2lmKGIuZmxhZ3MmMTYzODQpe3ZhciBjPWIudXBkYXRlUXVldWU7aWYobnVsbCE9PWMmJihjPWMuc3RvcmVzLG51bGwhPT1jKSlmb3IodmFyIGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9Y1tkXSxmPWUuZ2V0U25hcHNob3Q7ZT1lLnZhbHVlO3RyeXtpZighSGUoZigpLGUpKXJldHVybiExfWNhdGNoKGcpe3JldHVybiExfX19Yz1iLmNoaWxkO2lmKGIuc3VidHJlZUZsYWdzJjE2Mzg0JiZudWxsIT09YyljLnJldHVybj1iLGI9YztlbHNle2lmKGI9PT1hKWJyZWFrO2Zvcig7bnVsbD09PWIuc2libGluZzspe2lmKG51bGw9PT1iLnJldHVybnx8Yi5yZXR1cm49PT1hKXJldHVybiEwO2I9Yi5yZXR1cm59Yi5zaWJsaW5nLnJldHVybj1iLnJldHVybjtiPWIuc2libGluZ319cmV0dXJuITB9XG5mdW5jdGlvbiBDayhhLGIpe2ImPX5yaztiJj1+cWs7YS5zdXNwZW5kZWRMYW5lc3w9YjthLnBpbmdlZExhbmVzJj1+Yjtmb3IoYT1hLmV4cGlyYXRpb25UaW1lczswPGI7KXt2YXIgYz0zMS1vYyhiKSxkPTE8PGM7YVtjXT0tMTtiJj1+ZH19ZnVuY3Rpb24gRWsoYSl7aWYoMCE9PShLJjYpKXRocm93IEVycm9yKHAoMzI3KSk7SGsoKTt2YXIgYj11YyhhLDApO2lmKDA9PT0oYiYxKSlyZXR1cm4gRGsoYSxCKCkpLG51bGw7dmFyIGM9SWsoYSxiKTtpZigwIT09YS50YWcmJjI9PT1jKXt2YXIgZD14YyhhKTswIT09ZCYmKGI9ZCxjPU5rKGEsZCkpfWlmKDE9PT1jKXRocm93IGM9cGssS2soYSwwKSxDayhhLGIpLERrKGEsQigpKSxjO2lmKDY9PT1jKXRocm93IEVycm9yKHAoMzQ1KSk7YS5maW5pc2hlZFdvcms9YS5jdXJyZW50LmFsdGVybmF0ZTthLmZpbmlzaGVkTGFuZXM9YjtQayhhLHRrLHVrKTtEayhhLEIoKSk7cmV0dXJuIG51bGx9XG5mdW5jdGlvbiBRayhhLGIpe3ZhciBjPUs7S3w9MTt0cnl7cmV0dXJuIGEoYil9ZmluYWxseXtLPWMsMD09PUsmJihHaj1CKCkrNTAwLGZnJiZqZygpKX19ZnVuY3Rpb24gUmsoYSl7bnVsbCE9PXdrJiYwPT09d2sudGFnJiYwPT09KEsmNikmJkhrKCk7dmFyIGI9SztLfD0xO3ZhciBjPW9rLnRyYW5zaXRpb24sZD1DO3RyeXtpZihvay50cmFuc2l0aW9uPW51bGwsQz0xLGEpcmV0dXJuIGEoKX1maW5hbGx5e0M9ZCxvay50cmFuc2l0aW9uPWMsSz1iLDA9PT0oSyY2KSYmamcoKX19ZnVuY3Rpb24gSGooKXtmaj1lai5jdXJyZW50O0UoZWopfVxuZnVuY3Rpb24gS2soYSxiKXthLmZpbmlzaGVkV29yaz1udWxsO2EuZmluaXNoZWRMYW5lcz0wO3ZhciBjPWEudGltZW91dEhhbmRsZTstMSE9PWMmJihhLnRpbWVvdXRIYW5kbGU9LTEsR2YoYykpO2lmKG51bGwhPT1ZKWZvcihjPVkucmV0dXJuO251bGwhPT1jOyl7dmFyIGQ9Yzt3ZyhkKTtzd2l0Y2goZC50YWcpe2Nhc2UgMTpkPWQudHlwZS5jaGlsZENvbnRleHRUeXBlcztudWxsIT09ZCYmdm9pZCAwIT09ZCYmJGYoKTticmVhaztjYXNlIDM6emgoKTtFKFdmKTtFKEgpO0VoKCk7YnJlYWs7Y2FzZSA1OkJoKGQpO2JyZWFrO2Nhc2UgNDp6aCgpO2JyZWFrO2Nhc2UgMTM6RShMKTticmVhaztjYXNlIDE5OkUoTCk7YnJlYWs7Y2FzZSAxMDphaChkLnR5cGUuX2NvbnRleHQpO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzpIaigpfWM9Yy5yZXR1cm59UT1hO1k9YT1QZyhhLmN1cnJlbnQsbnVsbCk7Wj1maj1iO1Q9MDtwaz1udWxsO3JrPXFrPXJoPTA7dGs9c2s9bnVsbDtpZihudWxsIT09Zmgpe2ZvcihiPVxuMDtiPGZoLmxlbmd0aDtiKyspaWYoYz1maFtiXSxkPWMuaW50ZXJsZWF2ZWQsbnVsbCE9PWQpe2MuaW50ZXJsZWF2ZWQ9bnVsbDt2YXIgZT1kLm5leHQsZj1jLnBlbmRpbmc7aWYobnVsbCE9PWYpe3ZhciBnPWYubmV4dDtmLm5leHQ9ZTtkLm5leHQ9Z31jLnBlbmRpbmc9ZH1maD1udWxsfXJldHVybiBhfVxuZnVuY3Rpb24gTWsoYSxiKXtkb3t2YXIgYz1ZO3RyeXskZygpO0ZoLmN1cnJlbnQ9Umg7aWYoSWgpe2Zvcih2YXIgZD1NLm1lbW9pemVkU3RhdGU7bnVsbCE9PWQ7KXt2YXIgZT1kLnF1ZXVlO251bGwhPT1lJiYoZS5wZW5kaW5nPW51bGwpO2Q9ZC5uZXh0fUloPSExfUhoPTA7Tz1OPU09bnVsbDtKaD0hMTtLaD0wO25rLmN1cnJlbnQ9bnVsbDtpZihudWxsPT09Y3x8bnVsbD09PWMucmV0dXJuKXtUPTE7cGs9YjtZPW51bGw7YnJlYWt9YTp7dmFyIGY9YSxnPWMucmV0dXJuLGg9YyxrPWI7Yj1aO2guZmxhZ3N8PTMyNzY4O2lmKG51bGwhPT1rJiZcIm9iamVjdFwiPT09dHlwZW9mIGsmJlwiZnVuY3Rpb25cIj09PXR5cGVvZiBrLnRoZW4pe3ZhciBsPWssbT1oLHE9bS50YWc7aWYoMD09PShtLm1vZGUmMSkmJigwPT09cXx8MTE9PT1xfHwxNT09PXEpKXt2YXIgcj1tLmFsdGVybmF0ZTtyPyhtLnVwZGF0ZVF1ZXVlPXIudXBkYXRlUXVldWUsbS5tZW1vaXplZFN0YXRlPXIubWVtb2l6ZWRTdGF0ZSxcbm0ubGFuZXM9ci5sYW5lcyk6KG0udXBkYXRlUXVldWU9bnVsbCxtLm1lbW9pemVkU3RhdGU9bnVsbCl9dmFyIHk9VWkoZyk7aWYobnVsbCE9PXkpe3kuZmxhZ3MmPS0yNTc7VmkoeSxnLGgsZixiKTt5Lm1vZGUmMSYmU2koZixsLGIpO2I9eTtrPWw7dmFyIG49Yi51cGRhdGVRdWV1ZTtpZihudWxsPT09bil7dmFyIHQ9bmV3IFNldDt0LmFkZChrKTtiLnVwZGF0ZVF1ZXVlPXR9ZWxzZSBuLmFkZChrKTticmVhayBhfWVsc2V7aWYoMD09PShiJjEpKXtTaShmLGwsYik7dGooKTticmVhayBhfWs9RXJyb3IocCg0MjYpKX19ZWxzZSBpZihJJiZoLm1vZGUmMSl7dmFyIEo9VWkoZyk7aWYobnVsbCE9PUopezA9PT0oSi5mbGFncyY2NTUzNikmJihKLmZsYWdzfD0yNTYpO1ZpKEosZyxoLGYsYik7SmcoSmkoayxoKSk7YnJlYWsgYX19Zj1rPUppKGssaCk7NCE9PVQmJihUPTIpO251bGw9PT1zaz9zaz1bZl06c2sucHVzaChmKTtmPWc7ZG97c3dpdGNoKGYudGFnKXtjYXNlIDM6Zi5mbGFnc3w9NjU1MzY7XG5iJj0tYjtmLmxhbmVzfD1iO3ZhciB4PU5pKGYsayxiKTtwaChmLHgpO2JyZWFrIGE7Y2FzZSAxOmg9azt2YXIgdz1mLnR5cGUsdT1mLnN0YXRlTm9kZTtpZigwPT09KGYuZmxhZ3MmMTI4KSYmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiB3LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8bnVsbCE9PXUmJlwiZnVuY3Rpb25cIj09PXR5cGVvZiB1LmNvbXBvbmVudERpZENhdGNoJiYobnVsbD09PVJpfHwhUmkuaGFzKHUpKSkpe2YuZmxhZ3N8PTY1NTM2O2ImPS1iO2YubGFuZXN8PWI7dmFyIEY9UWkoZixoLGIpO3BoKGYsRik7YnJlYWsgYX19Zj1mLnJldHVybn13aGlsZShudWxsIT09Zil9U2soYyl9Y2F0Y2gobmEpe2I9bmE7WT09PWMmJm51bGwhPT1jJiYoWT1jPWMucmV0dXJuKTtjb250aW51ZX1icmVha313aGlsZSgxKX1mdW5jdGlvbiBKaygpe3ZhciBhPW1rLmN1cnJlbnQ7bWsuY3VycmVudD1SaDtyZXR1cm4gbnVsbD09PWE/Umg6YX1cbmZ1bmN0aW9uIHRqKCl7aWYoMD09PVR8fDM9PT1UfHwyPT09VClUPTQ7bnVsbD09PVF8fDA9PT0ocmgmMjY4NDM1NDU1KSYmMD09PShxayYyNjg0MzU0NTUpfHxDayhRLFopfWZ1bmN0aW9uIElrKGEsYil7dmFyIGM9SztLfD0yO3ZhciBkPUprKCk7aWYoUSE9PWF8fFohPT1iKXVrPW51bGwsS2soYSxiKTtkbyB0cnl7VGsoKTticmVha31jYXRjaChlKXtNayhhLGUpfXdoaWxlKDEpOyRnKCk7Sz1jO21rLmN1cnJlbnQ9ZDtpZihudWxsIT09WSl0aHJvdyBFcnJvcihwKDI2MSkpO1E9bnVsbDtaPTA7cmV0dXJuIFR9ZnVuY3Rpb24gVGsoKXtmb3IoO251bGwhPT1ZOylVayhZKX1mdW5jdGlvbiBMaygpe2Zvcig7bnVsbCE9PVkmJiFjYygpOylVayhZKX1mdW5jdGlvbiBVayhhKXt2YXIgYj1WayhhLmFsdGVybmF0ZSxhLGZqKTthLm1lbW9pemVkUHJvcHM9YS5wZW5kaW5nUHJvcHM7bnVsbD09PWI/U2soYSk6WT1iO25rLmN1cnJlbnQ9bnVsbH1cbmZ1bmN0aW9uIFNrKGEpe3ZhciBiPWE7ZG97dmFyIGM9Yi5hbHRlcm5hdGU7YT1iLnJldHVybjtpZigwPT09KGIuZmxhZ3MmMzI3NjgpKXtpZihjPUVqKGMsYixmaiksbnVsbCE9PWMpe1k9YztyZXR1cm59fWVsc2V7Yz1JaihjLGIpO2lmKG51bGwhPT1jKXtjLmZsYWdzJj0zMjc2NztZPWM7cmV0dXJufWlmKG51bGwhPT1hKWEuZmxhZ3N8PTMyNzY4LGEuc3VidHJlZUZsYWdzPTAsYS5kZWxldGlvbnM9bnVsbDtlbHNle1Q9NjtZPW51bGw7cmV0dXJufX1iPWIuc2libGluZztpZihudWxsIT09Yil7WT1iO3JldHVybn1ZPWI9YX13aGlsZShudWxsIT09Yik7MD09PVQmJihUPTUpfWZ1bmN0aW9uIFBrKGEsYixjKXt2YXIgZD1DLGU9b2sudHJhbnNpdGlvbjt0cnl7b2sudHJhbnNpdGlvbj1udWxsLEM9MSxXayhhLGIsYyxkKX1maW5hbGx5e29rLnRyYW5zaXRpb249ZSxDPWR9cmV0dXJuIG51bGx9XG5mdW5jdGlvbiBXayhhLGIsYyxkKXtkbyBIaygpO3doaWxlKG51bGwhPT13ayk7aWYoMCE9PShLJjYpKXRocm93IEVycm9yKHAoMzI3KSk7Yz1hLmZpbmlzaGVkV29yazt2YXIgZT1hLmZpbmlzaGVkTGFuZXM7aWYobnVsbD09PWMpcmV0dXJuIG51bGw7YS5maW5pc2hlZFdvcms9bnVsbDthLmZpbmlzaGVkTGFuZXM9MDtpZihjPT09YS5jdXJyZW50KXRocm93IEVycm9yKHAoMTc3KSk7YS5jYWxsYmFja05vZGU9bnVsbDthLmNhbGxiYWNrUHJpb3JpdHk9MDt2YXIgZj1jLmxhbmVzfGMuY2hpbGRMYW5lcztCYyhhLGYpO2E9PT1RJiYoWT1RPW51bGwsWj0wKTswPT09KGMuc3VidHJlZUZsYWdzJjIwNjQpJiYwPT09KGMuZmxhZ3MmMjA2NCl8fHZrfHwodms9ITAsRmsoaGMsZnVuY3Rpb24oKXtIaygpO3JldHVybiBudWxsfSkpO2Y9MCE9PShjLmZsYWdzJjE1OTkwKTtpZigwIT09KGMuc3VidHJlZUZsYWdzJjE1OTkwKXx8Zil7Zj1vay50cmFuc2l0aW9uO29rLnRyYW5zaXRpb249bnVsbDtcbnZhciBnPUM7Qz0xO3ZhciBoPUs7S3w9NDtuay5jdXJyZW50PW51bGw7T2ooYSxjKTtkayhjLGEpO09lKERmKTtkZD0hIUNmO0RmPUNmPW51bGw7YS5jdXJyZW50PWM7aGsoYyxhLGUpO2RjKCk7Sz1oO0M9Zztvay50cmFuc2l0aW9uPWZ9ZWxzZSBhLmN1cnJlbnQ9Yzt2ayYmKHZrPSExLHdrPWEseGs9ZSk7Zj1hLnBlbmRpbmdMYW5lczswPT09ZiYmKFJpPW51bGwpO21jKGMuc3RhdGVOb2RlLGQpO0RrKGEsQigpKTtpZihudWxsIT09Yilmb3IoZD1hLm9uUmVjb3ZlcmFibGVFcnJvcixjPTA7YzxiLmxlbmd0aDtjKyspZT1iW2NdLGQoZS52YWx1ZSx7Y29tcG9uZW50U3RhY2s6ZS5zdGFjayxkaWdlc3Q6ZS5kaWdlc3R9KTtpZihPaSl0aHJvdyBPaT0hMSxhPVBpLFBpPW51bGwsYTswIT09KHhrJjEpJiYwIT09YS50YWcmJkhrKCk7Zj1hLnBlbmRpbmdMYW5lczswIT09KGYmMSk/YT09PXprP3lrKys6KHlrPTAsems9YSk6eWs9MDtqZygpO3JldHVybiBudWxsfVxuZnVuY3Rpb24gSGsoKXtpZihudWxsIT09d2spe3ZhciBhPURjKHhrKSxiPW9rLnRyYW5zaXRpb24sYz1DO3RyeXtvay50cmFuc2l0aW9uPW51bGw7Qz0xNj5hPzE2OmE7aWYobnVsbD09PXdrKXZhciBkPSExO2Vsc2V7YT13azt3az1udWxsO3hrPTA7aWYoMCE9PShLJjYpKXRocm93IEVycm9yKHAoMzMxKSk7dmFyIGU9SztLfD00O2ZvcihWPWEuY3VycmVudDtudWxsIT09Vjspe3ZhciBmPVYsZz1mLmNoaWxkO2lmKDAhPT0oVi5mbGFncyYxNikpe3ZhciBoPWYuZGVsZXRpb25zO2lmKG51bGwhPT1oKXtmb3IodmFyIGs9MDtrPGgubGVuZ3RoO2srKyl7dmFyIGw9aFtrXTtmb3IoVj1sO251bGwhPT1WOyl7dmFyIG09Vjtzd2l0Y2gobS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6UGooOCxtLGYpfXZhciBxPW0uY2hpbGQ7aWYobnVsbCE9PXEpcS5yZXR1cm49bSxWPXE7ZWxzZSBmb3IoO251bGwhPT1WOyl7bT1WO3ZhciByPW0uc2libGluZyx5PW0ucmV0dXJuO1NqKG0pO2lmKG09PT1cbmwpe1Y9bnVsbDticmVha31pZihudWxsIT09cil7ci5yZXR1cm49eTtWPXI7YnJlYWt9Vj15fX19dmFyIG49Zi5hbHRlcm5hdGU7aWYobnVsbCE9PW4pe3ZhciB0PW4uY2hpbGQ7aWYobnVsbCE9PXQpe24uY2hpbGQ9bnVsbDtkb3t2YXIgSj10LnNpYmxpbmc7dC5zaWJsaW5nPW51bGw7dD1KfXdoaWxlKG51bGwhPT10KX19Vj1mfX1pZigwIT09KGYuc3VidHJlZUZsYWdzJjIwNjQpJiZudWxsIT09ZylnLnJldHVybj1mLFY9ZztlbHNlIGI6Zm9yKDtudWxsIT09Vjspe2Y9VjtpZigwIT09KGYuZmxhZ3MmMjA0OCkpc3dpdGNoKGYudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OlBqKDksZixmLnJldHVybil9dmFyIHg9Zi5zaWJsaW5nO2lmKG51bGwhPT14KXt4LnJldHVybj1mLnJldHVybjtWPXg7YnJlYWsgYn1WPWYucmV0dXJufX12YXIgdz1hLmN1cnJlbnQ7Zm9yKFY9dztudWxsIT09Vjspe2c9Vjt2YXIgdT1nLmNoaWxkO2lmKDAhPT0oZy5zdWJ0cmVlRmxhZ3MmMjA2NCkmJm51bGwhPT1cbnUpdS5yZXR1cm49ZyxWPXU7ZWxzZSBiOmZvcihnPXc7bnVsbCE9PVY7KXtoPVY7aWYoMCE9PShoLmZsYWdzJjIwNDgpKXRyeXtzd2l0Y2goaC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6UWooOSxoKX19Y2F0Y2gobmEpe1coaCxoLnJldHVybixuYSl9aWYoaD09PWcpe1Y9bnVsbDticmVhayBifXZhciBGPWguc2libGluZztpZihudWxsIT09Ril7Ri5yZXR1cm49aC5yZXR1cm47Vj1GO2JyZWFrIGJ9Vj1oLnJldHVybn19Sz1lO2pnKCk7aWYobGMmJlwiZnVuY3Rpb25cIj09PXR5cGVvZiBsYy5vblBvc3RDb21taXRGaWJlclJvb3QpdHJ5e2xjLm9uUG9zdENvbW1pdEZpYmVyUm9vdChrYyxhKX1jYXRjaChuYSl7fWQ9ITB9cmV0dXJuIGR9ZmluYWxseXtDPWMsb2sudHJhbnNpdGlvbj1ifX1yZXR1cm4hMX1mdW5jdGlvbiBYayhhLGIsYyl7Yj1KaShjLGIpO2I9TmkoYSxiLDEpO2E9bmgoYSxiLDEpO2I9UigpO251bGwhPT1hJiYoQWMoYSwxLGIpLERrKGEsYikpfVxuZnVuY3Rpb24gVyhhLGIsYyl7aWYoMz09PWEudGFnKVhrKGEsYSxjKTtlbHNlIGZvcig7bnVsbCE9PWI7KXtpZigzPT09Yi50YWcpe1hrKGIsYSxjKTticmVha31lbHNlIGlmKDE9PT1iLnRhZyl7dmFyIGQ9Yi5zdGF0ZU5vZGU7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGIudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3J8fFwiZnVuY3Rpb25cIj09PXR5cGVvZiBkLmNvbXBvbmVudERpZENhdGNoJiYobnVsbD09PVJpfHwhUmkuaGFzKGQpKSl7YT1KaShjLGEpO2E9UWkoYixhLDEpO2I9bmgoYixhLDEpO2E9UigpO251bGwhPT1iJiYoQWMoYiwxLGEpLERrKGIsYSkpO2JyZWFrfX1iPWIucmV0dXJufX1cbmZ1bmN0aW9uIFRpKGEsYixjKXt2YXIgZD1hLnBpbmdDYWNoZTtudWxsIT09ZCYmZC5kZWxldGUoYik7Yj1SKCk7YS5waW5nZWRMYW5lc3w9YS5zdXNwZW5kZWRMYW5lcyZjO1E9PT1hJiYoWiZjKT09PWMmJig0PT09VHx8Mz09PVQmJihaJjEzMDAyMzQyNCk9PT1aJiY1MDA+QigpLWZrP0trKGEsMCk6cmt8PWMpO0RrKGEsYil9ZnVuY3Rpb24gWWsoYSxiKXswPT09YiYmKDA9PT0oYS5tb2RlJjEpP2I9MTooYj1zYyxzYzw8PTEsMD09PShzYyYxMzAwMjM0MjQpJiYoc2M9NDE5NDMwNCkpKTt2YXIgYz1SKCk7YT1paChhLGIpO251bGwhPT1hJiYoQWMoYSxiLGMpLERrKGEsYykpfWZ1bmN0aW9uIHVqKGEpe3ZhciBiPWEubWVtb2l6ZWRTdGF0ZSxjPTA7bnVsbCE9PWImJihjPWIucmV0cnlMYW5lKTtZayhhLGMpfVxuZnVuY3Rpb24gYmsoYSxiKXt2YXIgYz0wO3N3aXRjaChhLnRhZyl7Y2FzZSAxMzp2YXIgZD1hLnN0YXRlTm9kZTt2YXIgZT1hLm1lbW9pemVkU3RhdGU7bnVsbCE9PWUmJihjPWUucmV0cnlMYW5lKTticmVhaztjYXNlIDE5OmQ9YS5zdGF0ZU5vZGU7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihwKDMxNCkpO31udWxsIT09ZCYmZC5kZWxldGUoYik7WWsoYSxjKX12YXIgVms7XG5Waz1mdW5jdGlvbihhLGIsYyl7aWYobnVsbCE9PWEpaWYoYS5tZW1vaXplZFByb3BzIT09Yi5wZW5kaW5nUHJvcHN8fFdmLmN1cnJlbnQpZGg9ITA7ZWxzZXtpZigwPT09KGEubGFuZXMmYykmJjA9PT0oYi5mbGFncyYxMjgpKXJldHVybiBkaD0hMSx5aihhLGIsYyk7ZGg9MCE9PShhLmZsYWdzJjEzMTA3Mik/ITA6ITF9ZWxzZSBkaD0hMSxJJiYwIT09KGIuZmxhZ3MmMTA0ODU3NikmJnVnKGIsbmcsYi5pbmRleCk7Yi5sYW5lcz0wO3N3aXRjaChiLnRhZyl7Y2FzZSAyOnZhciBkPWIudHlwZTtpaihhLGIpO2E9Yi5wZW5kaW5nUHJvcHM7dmFyIGU9WWYoYixILmN1cnJlbnQpO2NoKGIsYyk7ZT1OaChudWxsLGIsZCxhLGUsYyk7dmFyIGY9U2goKTtiLmZsYWdzfD0xO1wib2JqZWN0XCI9PT10eXBlb2YgZSYmbnVsbCE9PWUmJlwiZnVuY3Rpb25cIj09PXR5cGVvZiBlLnJlbmRlciYmdm9pZCAwPT09ZS4kJHR5cGVvZj8oYi50YWc9MSxiLm1lbW9pemVkU3RhdGU9bnVsbCxiLnVwZGF0ZVF1ZXVlPVxubnVsbCxaZihkKT8oZj0hMCxjZyhiKSk6Zj0hMSxiLm1lbW9pemVkU3RhdGU9bnVsbCE9PWUuc3RhdGUmJnZvaWQgMCE9PWUuc3RhdGU/ZS5zdGF0ZTpudWxsLGtoKGIpLGUudXBkYXRlcj1FaSxiLnN0YXRlTm9kZT1lLGUuX3JlYWN0SW50ZXJuYWxzPWIsSWkoYixkLGEsYyksYj1qaihudWxsLGIsZCwhMCxmLGMpKTooYi50YWc9MCxJJiZmJiZ2ZyhiKSxYaShudWxsLGIsZSxjKSxiPWIuY2hpbGQpO3JldHVybiBiO2Nhc2UgMTY6ZD1iLmVsZW1lbnRUeXBlO2E6e2lqKGEsYik7YT1iLnBlbmRpbmdQcm9wcztlPWQuX2luaXQ7ZD1lKGQuX3BheWxvYWQpO2IudHlwZT1kO2U9Yi50YWc9WmsoZCk7YT1DaShkLGEpO3N3aXRjaChlKXtjYXNlIDA6Yj1jaihudWxsLGIsZCxhLGMpO2JyZWFrIGE7Y2FzZSAxOmI9aGoobnVsbCxiLGQsYSxjKTticmVhayBhO2Nhc2UgMTE6Yj1ZaShudWxsLGIsZCxhLGMpO2JyZWFrIGE7Y2FzZSAxNDpiPSRpKG51bGwsYixkLENpKGQudHlwZSxhKSxjKTticmVhayBhfXRocm93IEVycm9yKHAoMzA2LFxuZCxcIlwiKSk7fXJldHVybiBiO2Nhc2UgMDpyZXR1cm4gZD1iLnR5cGUsZT1iLnBlbmRpbmdQcm9wcyxlPWIuZWxlbWVudFR5cGU9PT1kP2U6Q2koZCxlKSxjaihhLGIsZCxlLGMpO2Nhc2UgMTpyZXR1cm4gZD1iLnR5cGUsZT1iLnBlbmRpbmdQcm9wcyxlPWIuZWxlbWVudFR5cGU9PT1kP2U6Q2koZCxlKSxoaihhLGIsZCxlLGMpO2Nhc2UgMzphOntraihiKTtpZihudWxsPT09YSl0aHJvdyBFcnJvcihwKDM4NykpO2Q9Yi5wZW5kaW5nUHJvcHM7Zj1iLm1lbW9pemVkU3RhdGU7ZT1mLmVsZW1lbnQ7bGgoYSxiKTtxaChiLGQsbnVsbCxjKTt2YXIgZz1iLm1lbW9pemVkU3RhdGU7ZD1nLmVsZW1lbnQ7aWYoZi5pc0RlaHlkcmF0ZWQpaWYoZj17ZWxlbWVudDpkLGlzRGVoeWRyYXRlZDohMSxjYWNoZTpnLmNhY2hlLHBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXM6Zy5wZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzLHRyYW5zaXRpb25zOmcudHJhbnNpdGlvbnN9LGIudXBkYXRlUXVldWUuYmFzZVN0YXRlPVxuZixiLm1lbW9pemVkU3RhdGU9ZixiLmZsYWdzJjI1Nil7ZT1KaShFcnJvcihwKDQyMykpLGIpO2I9bGooYSxiLGQsYyxlKTticmVhayBhfWVsc2UgaWYoZCE9PWUpe2U9SmkoRXJyb3IocCg0MjQpKSxiKTtiPWxqKGEsYixkLGMsZSk7YnJlYWsgYX1lbHNlIGZvcih5Zz1MZihiLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLmZpcnN0Q2hpbGQpLHhnPWIsST0hMCx6Zz1udWxsLGM9VmcoYixudWxsLGQsYyksYi5jaGlsZD1jO2M7KWMuZmxhZ3M9Yy5mbGFncyYtM3w0MDk2LGM9Yy5zaWJsaW5nO2Vsc2V7SWcoKTtpZihkPT09ZSl7Yj1aaShhLGIsYyk7YnJlYWsgYX1YaShhLGIsZCxjKX1iPWIuY2hpbGR9cmV0dXJuIGI7Y2FzZSA1OnJldHVybiBBaChiKSxudWxsPT09YSYmRWcoYiksZD1iLnR5cGUsZT1iLnBlbmRpbmdQcm9wcyxmPW51bGwhPT1hP2EubWVtb2l6ZWRQcm9wczpudWxsLGc9ZS5jaGlsZHJlbixFZihkLGUpP2c9bnVsbDpudWxsIT09ZiYmRWYoZCxmKSYmKGIuZmxhZ3N8PTMyKSxcbmdqKGEsYiksWGkoYSxiLGcsYyksYi5jaGlsZDtjYXNlIDY6cmV0dXJuIG51bGw9PT1hJiZFZyhiKSxudWxsO2Nhc2UgMTM6cmV0dXJuIG9qKGEsYixjKTtjYXNlIDQ6cmV0dXJuIHloKGIsYi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksZD1iLnBlbmRpbmdQcm9wcyxudWxsPT09YT9iLmNoaWxkPVVnKGIsbnVsbCxkLGMpOlhpKGEsYixkLGMpLGIuY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gZD1iLnR5cGUsZT1iLnBlbmRpbmdQcm9wcyxlPWIuZWxlbWVudFR5cGU9PT1kP2U6Q2koZCxlKSxZaShhLGIsZCxlLGMpO2Nhc2UgNzpyZXR1cm4gWGkoYSxiLGIucGVuZGluZ1Byb3BzLGMpLGIuY2hpbGQ7Y2FzZSA4OnJldHVybiBYaShhLGIsYi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sYyksYi5jaGlsZDtjYXNlIDEyOnJldHVybiBYaShhLGIsYi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sYyksYi5jaGlsZDtjYXNlIDEwOmE6e2Q9Yi50eXBlLl9jb250ZXh0O2U9Yi5wZW5kaW5nUHJvcHM7Zj1iLm1lbW9pemVkUHJvcHM7XG5nPWUudmFsdWU7RyhXZyxkLl9jdXJyZW50VmFsdWUpO2QuX2N1cnJlbnRWYWx1ZT1nO2lmKG51bGwhPT1mKWlmKEhlKGYudmFsdWUsZykpe2lmKGYuY2hpbGRyZW49PT1lLmNoaWxkcmVuJiYhV2YuY3VycmVudCl7Yj1aaShhLGIsYyk7YnJlYWsgYX19ZWxzZSBmb3IoZj1iLmNoaWxkLG51bGwhPT1mJiYoZi5yZXR1cm49Yik7bnVsbCE9PWY7KXt2YXIgaD1mLmRlcGVuZGVuY2llcztpZihudWxsIT09aCl7Zz1mLmNoaWxkO2Zvcih2YXIgaz1oLmZpcnN0Q29udGV4dDtudWxsIT09azspe2lmKGsuY29udGV4dD09PWQpe2lmKDE9PT1mLnRhZyl7az1taCgtMSxjJi1jKTtrLnRhZz0yO3ZhciBsPWYudXBkYXRlUXVldWU7aWYobnVsbCE9PWwpe2w9bC5zaGFyZWQ7dmFyIG09bC5wZW5kaW5nO251bGw9PT1tP2submV4dD1rOihrLm5leHQ9bS5uZXh0LG0ubmV4dD1rKTtsLnBlbmRpbmc9a319Zi5sYW5lc3w9YztrPWYuYWx0ZXJuYXRlO251bGwhPT1rJiYoay5sYW5lc3w9Yyk7YmgoZi5yZXR1cm4sXG5jLGIpO2gubGFuZXN8PWM7YnJlYWt9az1rLm5leHR9fWVsc2UgaWYoMTA9PT1mLnRhZylnPWYudHlwZT09PWIudHlwZT9udWxsOmYuY2hpbGQ7ZWxzZSBpZigxOD09PWYudGFnKXtnPWYucmV0dXJuO2lmKG51bGw9PT1nKXRocm93IEVycm9yKHAoMzQxKSk7Zy5sYW5lc3w9YztoPWcuYWx0ZXJuYXRlO251bGwhPT1oJiYoaC5sYW5lc3w9Yyk7YmgoZyxjLGIpO2c9Zi5zaWJsaW5nfWVsc2UgZz1mLmNoaWxkO2lmKG51bGwhPT1nKWcucmV0dXJuPWY7ZWxzZSBmb3IoZz1mO251bGwhPT1nOyl7aWYoZz09PWIpe2c9bnVsbDticmVha31mPWcuc2libGluZztpZihudWxsIT09Zil7Zi5yZXR1cm49Zy5yZXR1cm47Zz1mO2JyZWFrfWc9Zy5yZXR1cm59Zj1nfVhpKGEsYixlLmNoaWxkcmVuLGMpO2I9Yi5jaGlsZH1yZXR1cm4gYjtjYXNlIDk6cmV0dXJuIGU9Yi50eXBlLGQ9Yi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sY2goYixjKSxlPWVoKGUpLGQ9ZChlKSxiLmZsYWdzfD0xLFhpKGEsYixkLGMpLFxuYi5jaGlsZDtjYXNlIDE0OnJldHVybiBkPWIudHlwZSxlPUNpKGQsYi5wZW5kaW5nUHJvcHMpLGU9Q2koZC50eXBlLGUpLCRpKGEsYixkLGUsYyk7Y2FzZSAxNTpyZXR1cm4gYmooYSxiLGIudHlwZSxiLnBlbmRpbmdQcm9wcyxjKTtjYXNlIDE3OnJldHVybiBkPWIudHlwZSxlPWIucGVuZGluZ1Byb3BzLGU9Yi5lbGVtZW50VHlwZT09PWQ/ZTpDaShkLGUpLGlqKGEsYiksYi50YWc9MSxaZihkKT8oYT0hMCxjZyhiKSk6YT0hMSxjaChiLGMpLEdpKGIsZCxlKSxJaShiLGQsZSxjKSxqaihudWxsLGIsZCwhMCxhLGMpO2Nhc2UgMTk6cmV0dXJuIHhqKGEsYixjKTtjYXNlIDIyOnJldHVybiBkaihhLGIsYyl9dGhyb3cgRXJyb3IocCgxNTYsYi50YWcpKTt9O2Z1bmN0aW9uIEZrKGEsYil7cmV0dXJuIGFjKGEsYil9XG5mdW5jdGlvbiAkayhhLGIsYyxkKXt0aGlzLnRhZz1hO3RoaXMua2V5PWM7dGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbDt0aGlzLmluZGV4PTA7dGhpcy5yZWY9bnVsbDt0aGlzLnBlbmRpbmdQcm9wcz1iO3RoaXMuZGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsO3RoaXMubW9kZT1kO3RoaXMuc3VidHJlZUZsYWdzPXRoaXMuZmxhZ3M9MDt0aGlzLmRlbGV0aW9ucz1udWxsO3RoaXMuY2hpbGRMYW5lcz10aGlzLmxhbmVzPTA7dGhpcy5hbHRlcm5hdGU9bnVsbH1mdW5jdGlvbiBCZyhhLGIsYyxkKXtyZXR1cm4gbmV3ICRrKGEsYixjLGQpfWZ1bmN0aW9uIGFqKGEpe2E9YS5wcm90b3R5cGU7cmV0dXJuISghYXx8IWEuaXNSZWFjdENvbXBvbmVudCl9XG5mdW5jdGlvbiBaayhhKXtpZihcImZ1bmN0aW9uXCI9PT10eXBlb2YgYSlyZXR1cm4gYWooYSk/MTowO2lmKHZvaWQgMCE9PWEmJm51bGwhPT1hKXthPWEuJCR0eXBlb2Y7aWYoYT09PURhKXJldHVybiAxMTtpZihhPT09R2EpcmV0dXJuIDE0fXJldHVybiAyfVxuZnVuY3Rpb24gUGcoYSxiKXt2YXIgYz1hLmFsdGVybmF0ZTtudWxsPT09Yz8oYz1CZyhhLnRhZyxiLGEua2V5LGEubW9kZSksYy5lbGVtZW50VHlwZT1hLmVsZW1lbnRUeXBlLGMudHlwZT1hLnR5cGUsYy5zdGF0ZU5vZGU9YS5zdGF0ZU5vZGUsYy5hbHRlcm5hdGU9YSxhLmFsdGVybmF0ZT1jKTooYy5wZW5kaW5nUHJvcHM9YixjLnR5cGU9YS50eXBlLGMuZmxhZ3M9MCxjLnN1YnRyZWVGbGFncz0wLGMuZGVsZXRpb25zPW51bGwpO2MuZmxhZ3M9YS5mbGFncyYxNDY4MDA2NDtjLmNoaWxkTGFuZXM9YS5jaGlsZExhbmVzO2MubGFuZXM9YS5sYW5lcztjLmNoaWxkPWEuY2hpbGQ7Yy5tZW1vaXplZFByb3BzPWEubWVtb2l6ZWRQcm9wcztjLm1lbW9pemVkU3RhdGU9YS5tZW1vaXplZFN0YXRlO2MudXBkYXRlUXVldWU9YS51cGRhdGVRdWV1ZTtiPWEuZGVwZW5kZW5jaWVzO2MuZGVwZW5kZW5jaWVzPW51bGw9PT1iP251bGw6e2xhbmVzOmIubGFuZXMsZmlyc3RDb250ZXh0OmIuZmlyc3RDb250ZXh0fTtcbmMuc2libGluZz1hLnNpYmxpbmc7Yy5pbmRleD1hLmluZGV4O2MucmVmPWEucmVmO3JldHVybiBjfVxuZnVuY3Rpb24gUmcoYSxiLGMsZCxlLGYpe3ZhciBnPTI7ZD1hO2lmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBhKWFqKGEpJiYoZz0xKTtlbHNlIGlmKFwic3RyaW5nXCI9PT10eXBlb2YgYSlnPTU7ZWxzZSBhOnN3aXRjaChhKXtjYXNlIHlhOnJldHVybiBUZyhjLmNoaWxkcmVuLGUsZixiKTtjYXNlIHphOmc9ODtlfD04O2JyZWFrO2Nhc2UgQWE6cmV0dXJuIGE9QmcoMTIsYyxiLGV8MiksYS5lbGVtZW50VHlwZT1BYSxhLmxhbmVzPWYsYTtjYXNlIEVhOnJldHVybiBhPUJnKDEzLGMsYixlKSxhLmVsZW1lbnRUeXBlPUVhLGEubGFuZXM9ZixhO2Nhc2UgRmE6cmV0dXJuIGE9QmcoMTksYyxiLGUpLGEuZWxlbWVudFR5cGU9RmEsYS5sYW5lcz1mLGE7Y2FzZSBJYTpyZXR1cm4gcGooYyxlLGYsYik7ZGVmYXVsdDppZihcIm9iamVjdFwiPT09dHlwZW9mIGEmJm51bGwhPT1hKXN3aXRjaChhLiQkdHlwZW9mKXtjYXNlIEJhOmc9MTA7YnJlYWsgYTtjYXNlIENhOmc9OTticmVhayBhO2Nhc2UgRGE6Zz0xMTtcbmJyZWFrIGE7Y2FzZSBHYTpnPTE0O2JyZWFrIGE7Y2FzZSBIYTpnPTE2O2Q9bnVsbDticmVhayBhfXRocm93IEVycm9yKHAoMTMwLG51bGw9PWE/YTp0eXBlb2YgYSxcIlwiKSk7fWI9QmcoZyxjLGIsZSk7Yi5lbGVtZW50VHlwZT1hO2IudHlwZT1kO2IubGFuZXM9ZjtyZXR1cm4gYn1mdW5jdGlvbiBUZyhhLGIsYyxkKXthPUJnKDcsYSxkLGIpO2EubGFuZXM9YztyZXR1cm4gYX1mdW5jdGlvbiBwaihhLGIsYyxkKXthPUJnKDIyLGEsZCxiKTthLmVsZW1lbnRUeXBlPUlhO2EubGFuZXM9YzthLnN0YXRlTm9kZT17aXNIaWRkZW46ITF9O3JldHVybiBhfWZ1bmN0aW9uIFFnKGEsYixjKXthPUJnKDYsYSxudWxsLGIpO2EubGFuZXM9YztyZXR1cm4gYX1cbmZ1bmN0aW9uIFNnKGEsYixjKXtiPUJnKDQsbnVsbCE9PWEuY2hpbGRyZW4/YS5jaGlsZHJlbjpbXSxhLmtleSxiKTtiLmxhbmVzPWM7Yi5zdGF0ZU5vZGU9e2NvbnRhaW5lckluZm86YS5jb250YWluZXJJbmZvLHBlbmRpbmdDaGlsZHJlbjpudWxsLGltcGxlbWVudGF0aW9uOmEuaW1wbGVtZW50YXRpb259O3JldHVybiBifVxuZnVuY3Rpb24gYWwoYSxiLGMsZCxlKXt0aGlzLnRhZz1iO3RoaXMuY29udGFpbmVySW5mbz1hO3RoaXMuZmluaXNoZWRXb3JrPXRoaXMucGluZ0NhY2hlPXRoaXMuY3VycmVudD10aGlzLnBlbmRpbmdDaGlsZHJlbj1udWxsO3RoaXMudGltZW91dEhhbmRsZT0tMTt0aGlzLmNhbGxiYWNrTm9kZT10aGlzLnBlbmRpbmdDb250ZXh0PXRoaXMuY29udGV4dD1udWxsO3RoaXMuY2FsbGJhY2tQcmlvcml0eT0wO3RoaXMuZXZlbnRUaW1lcz16YygwKTt0aGlzLmV4cGlyYXRpb25UaW1lcz16YygtMSk7dGhpcy5lbnRhbmdsZWRMYW5lcz10aGlzLmZpbmlzaGVkTGFuZXM9dGhpcy5tdXRhYmxlUmVhZExhbmVzPXRoaXMuZXhwaXJlZExhbmVzPXRoaXMucGluZ2VkTGFuZXM9dGhpcy5zdXNwZW5kZWRMYW5lcz10aGlzLnBlbmRpbmdMYW5lcz0wO3RoaXMuZW50YW5nbGVtZW50cz16YygwKTt0aGlzLmlkZW50aWZpZXJQcmVmaXg9ZDt0aGlzLm9uUmVjb3ZlcmFibGVFcnJvcj1lO3RoaXMubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1cbm51bGx9ZnVuY3Rpb24gYmwoYSxiLGMsZCxlLGYsZyxoLGspe2E9bmV3IGFsKGEsYixjLGgsayk7MT09PWI/KGI9MSwhMD09PWYmJihifD04KSk6Yj0wO2Y9QmcoMyxudWxsLG51bGwsYik7YS5jdXJyZW50PWY7Zi5zdGF0ZU5vZGU9YTtmLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6ZCxpc0RlaHlkcmF0ZWQ6YyxjYWNoZTpudWxsLHRyYW5zaXRpb25zOm51bGwscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpudWxsfTtraChmKTtyZXR1cm4gYX1mdW5jdGlvbiBjbChhLGIsYyl7dmFyIGQ9Mzxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOm51bGw7cmV0dXJueyQkdHlwZW9mOndhLGtleTpudWxsPT1kP251bGw6XCJcIitkLGNoaWxkcmVuOmEsY29udGFpbmVySW5mbzpiLGltcGxlbWVudGF0aW9uOmN9fVxuZnVuY3Rpb24gZGwoYSl7aWYoIWEpcmV0dXJuIFZmO2E9YS5fcmVhY3RJbnRlcm5hbHM7YTp7aWYoVmIoYSkhPT1hfHwxIT09YS50YWcpdGhyb3cgRXJyb3IocCgxNzApKTt2YXIgYj1hO2Rve3N3aXRjaChiLnRhZyl7Y2FzZSAzOmI9Yi5zdGF0ZU5vZGUuY29udGV4dDticmVhayBhO2Nhc2UgMTppZihaZihiLnR5cGUpKXtiPWIuc3RhdGVOb2RlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0O2JyZWFrIGF9fWI9Yi5yZXR1cm59d2hpbGUobnVsbCE9PWIpO3Rocm93IEVycm9yKHAoMTcxKSk7fWlmKDE9PT1hLnRhZyl7dmFyIGM9YS50eXBlO2lmKFpmKGMpKXJldHVybiBiZyhhLGMsYil9cmV0dXJuIGJ9XG5mdW5jdGlvbiBlbChhLGIsYyxkLGUsZixnLGgsayl7YT1ibChjLGQsITAsYSxlLGYsZyxoLGspO2EuY29udGV4dD1kbChudWxsKTtjPWEuY3VycmVudDtkPVIoKTtlPXlpKGMpO2Y9bWgoZCxlKTtmLmNhbGxiYWNrPXZvaWQgMCE9PWImJm51bGwhPT1iP2I6bnVsbDtuaChjLGYsZSk7YS5jdXJyZW50LmxhbmVzPWU7QWMoYSxlLGQpO0RrKGEsZCk7cmV0dXJuIGF9ZnVuY3Rpb24gZmwoYSxiLGMsZCl7dmFyIGU9Yi5jdXJyZW50LGY9UigpLGc9eWkoZSk7Yz1kbChjKTtudWxsPT09Yi5jb250ZXh0P2IuY29udGV4dD1jOmIucGVuZGluZ0NvbnRleHQ9YztiPW1oKGYsZyk7Yi5wYXlsb2FkPXtlbGVtZW50OmF9O2Q9dm9pZCAwPT09ZD9udWxsOmQ7bnVsbCE9PWQmJihiLmNhbGxiYWNrPWQpO2E9bmgoZSxiLGcpO251bGwhPT1hJiYoZ2koYSxlLGcsZiksb2goYSxlLGcpKTtyZXR1cm4gZ31cbmZ1bmN0aW9uIGdsKGEpe2E9YS5jdXJyZW50O2lmKCFhLmNoaWxkKXJldHVybiBudWxsO3N3aXRjaChhLmNoaWxkLnRhZyl7Y2FzZSA1OnJldHVybiBhLmNoaWxkLnN0YXRlTm9kZTtkZWZhdWx0OnJldHVybiBhLmNoaWxkLnN0YXRlTm9kZX19ZnVuY3Rpb24gaGwoYSxiKXthPWEubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09YSYmbnVsbCE9PWEuZGVoeWRyYXRlZCl7dmFyIGM9YS5yZXRyeUxhbmU7YS5yZXRyeUxhbmU9MCE9PWMmJmM8Yj9jOmJ9fWZ1bmN0aW9uIGlsKGEsYil7aGwoYSxiKTsoYT1hLmFsdGVybmF0ZSkmJmhsKGEsYil9ZnVuY3Rpb24gamwoKXtyZXR1cm4gbnVsbH12YXIga2w9XCJmdW5jdGlvblwiPT09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGEpe2NvbnNvbGUuZXJyb3IoYSl9O2Z1bmN0aW9uIGxsKGEpe3RoaXMuX2ludGVybmFsUm9vdD1hfVxubWwucHJvdG90eXBlLnJlbmRlcj1sbC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuX2ludGVybmFsUm9vdDtpZihudWxsPT09Yil0aHJvdyBFcnJvcihwKDQwOSkpO2ZsKGEsYixudWxsLG51bGwpfTttbC5wcm90b3R5cGUudW5tb3VudD1sbC5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuX2ludGVybmFsUm9vdDtpZihudWxsIT09YSl7dGhpcy5faW50ZXJuYWxSb290PW51bGw7dmFyIGI9YS5jb250YWluZXJJbmZvO1JrKGZ1bmN0aW9uKCl7ZmwobnVsbCxhLG51bGwsbnVsbCl9KTtiW3VmXT1udWxsfX07ZnVuY3Rpb24gbWwoYSl7dGhpcy5faW50ZXJuYWxSb290PWF9XG5tbC5wcm90b3R5cGUudW5zdGFibGVfc2NoZWR1bGVIeWRyYXRpb249ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9SGMoKTthPXtibG9ja2VkT246bnVsbCx0YXJnZXQ6YSxwcmlvcml0eTpifTtmb3IodmFyIGM9MDtjPFFjLmxlbmd0aCYmMCE9PWImJmI8UWNbY10ucHJpb3JpdHk7YysrKTtRYy5zcGxpY2UoYywwLGEpOzA9PT1jJiZWYyhhKX19O2Z1bmN0aW9uIG5sKGEpe3JldHVybiEoIWF8fDEhPT1hLm5vZGVUeXBlJiY5IT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlKX1mdW5jdGlvbiBvbChhKXtyZXR1cm4hKCFhfHwxIT09YS5ub2RlVHlwZSYmOSE9PWEubm9kZVR5cGUmJjExIT09YS5ub2RlVHlwZSYmKDghPT1hLm5vZGVUeXBlfHxcIiByZWFjdC1tb3VudC1wb2ludC11bnN0YWJsZSBcIiE9PWEubm9kZVZhbHVlKSl9ZnVuY3Rpb24gcGwoKXt9XG5mdW5jdGlvbiBxbChhLGIsYyxkLGUpe2lmKGUpe2lmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBkKXt2YXIgZj1kO2Q9ZnVuY3Rpb24oKXt2YXIgYT1nbChnKTtmLmNhbGwoYSl9fXZhciBnPWVsKGIsZCxhLDAsbnVsbCwhMSwhMSxcIlwiLHBsKTthLl9yZWFjdFJvb3RDb250YWluZXI9ZzthW3VmXT1nLmN1cnJlbnQ7c2YoOD09PWEubm9kZVR5cGU/YS5wYXJlbnROb2RlOmEpO1JrKCk7cmV0dXJuIGd9Zm9yKDtlPWEubGFzdENoaWxkOylhLnJlbW92ZUNoaWxkKGUpO2lmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBkKXt2YXIgaD1kO2Q9ZnVuY3Rpb24oKXt2YXIgYT1nbChrKTtoLmNhbGwoYSl9fXZhciBrPWJsKGEsMCwhMSxudWxsLG51bGwsITEsITEsXCJcIixwbCk7YS5fcmVhY3RSb290Q29udGFpbmVyPWs7YVt1Zl09ay5jdXJyZW50O3NmKDg9PT1hLm5vZGVUeXBlP2EucGFyZW50Tm9kZTphKTtSayhmdW5jdGlvbigpe2ZsKGIsayxjLGQpfSk7cmV0dXJuIGt9XG5mdW5jdGlvbiBybChhLGIsYyxkLGUpe3ZhciBmPWMuX3JlYWN0Um9vdENvbnRhaW5lcjtpZihmKXt2YXIgZz1mO2lmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBlKXt2YXIgaD1lO2U9ZnVuY3Rpb24oKXt2YXIgYT1nbChnKTtoLmNhbGwoYSl9fWZsKGIsZyxhLGUpfWVsc2UgZz1xbChjLGIsYSxlLGQpO3JldHVybiBnbChnKX1FYz1mdW5jdGlvbihhKXtzd2l0Y2goYS50YWcpe2Nhc2UgMzp2YXIgYj1hLnN0YXRlTm9kZTtpZihiLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe3ZhciBjPXRjKGIucGVuZGluZ0xhbmVzKTswIT09YyYmKENjKGIsY3wxKSxEayhiLEIoKSksMD09PShLJjYpJiYoR2o9QigpKzUwMCxqZygpKSl9YnJlYWs7Y2FzZSAxMzpSayhmdW5jdGlvbigpe3ZhciBiPWloKGEsMSk7aWYobnVsbCE9PWIpe3ZhciBjPVIoKTtnaShiLGEsMSxjKX19KSxpbChhLDEpfX07XG5GYz1mdW5jdGlvbihhKXtpZigxMz09PWEudGFnKXt2YXIgYj1paChhLDEzNDIxNzcyOCk7aWYobnVsbCE9PWIpe3ZhciBjPVIoKTtnaShiLGEsMTM0MjE3NzI4LGMpfWlsKGEsMTM0MjE3NzI4KX19O0djPWZ1bmN0aW9uKGEpe2lmKDEzPT09YS50YWcpe3ZhciBiPXlpKGEpLGM9aWgoYSxiKTtpZihudWxsIT09Yyl7dmFyIGQ9UigpO2dpKGMsYSxiLGQpfWlsKGEsYil9fTtIYz1mdW5jdGlvbigpe3JldHVybiBDfTtJYz1mdW5jdGlvbihhLGIpe3ZhciBjPUM7dHJ5e3JldHVybiBDPWEsYigpfWZpbmFsbHl7Qz1jfX07XG55Yj1mdW5jdGlvbihhLGIsYyl7c3dpdGNoKGIpe2Nhc2UgXCJpbnB1dFwiOmJiKGEsYyk7Yj1jLm5hbWU7aWYoXCJyYWRpb1wiPT09Yy50eXBlJiZudWxsIT1iKXtmb3IoYz1hO2MucGFyZW50Tm9kZTspYz1jLnBhcmVudE5vZGU7Yz1jLnF1ZXJ5U2VsZWN0b3JBbGwoXCJpbnB1dFtuYW1lPVwiK0pTT04uc3RyaW5naWZ5KFwiXCIrYikrJ11bdHlwZT1cInJhZGlvXCJdJyk7Zm9yKGI9MDtiPGMubGVuZ3RoO2IrKyl7dmFyIGQ9Y1tiXTtpZihkIT09YSYmZC5mb3JtPT09YS5mb3JtKXt2YXIgZT1EYihkKTtpZighZSl0aHJvdyBFcnJvcihwKDkwKSk7V2EoZCk7YmIoZCxlKX19fWJyZWFrO2Nhc2UgXCJ0ZXh0YXJlYVwiOmliKGEsYyk7YnJlYWs7Y2FzZSBcInNlbGVjdFwiOmI9Yy52YWx1ZSxudWxsIT1iJiZmYihhLCEhYy5tdWx0aXBsZSxiLCExKX19O0diPVFrO0hiPVJrO1xudmFyIHNsPXt1c2luZ0NsaWVudEVudHJ5UG9pbnQ6ITEsRXZlbnRzOltDYix1ZSxEYixFYixGYixRa119LHRsPXtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTpXYyxidW5kbGVUeXBlOjAsdmVyc2lvbjpcIjE4LjMuMVwiLHJlbmRlcmVyUGFja2FnZU5hbWU6XCJyZWFjdC1kb21cIn07XG52YXIgdWw9e2J1bmRsZVR5cGU6dGwuYnVuZGxlVHlwZSx2ZXJzaW9uOnRsLnZlcnNpb24scmVuZGVyZXJQYWNrYWdlTmFtZTp0bC5yZW5kZXJlclBhY2thZ2VOYW1lLHJlbmRlcmVyQ29uZmlnOnRsLnJlbmRlcmVyQ29uZmlnLG92ZXJyaWRlSG9va1N0YXRlOm51bGwsb3ZlcnJpZGVIb29rU3RhdGVEZWxldGVQYXRoOm51bGwsb3ZlcnJpZGVIb29rU3RhdGVSZW5hbWVQYXRoOm51bGwsb3ZlcnJpZGVQcm9wczpudWxsLG92ZXJyaWRlUHJvcHNEZWxldGVQYXRoOm51bGwsb3ZlcnJpZGVQcm9wc1JlbmFtZVBhdGg6bnVsbCxzZXRFcnJvckhhbmRsZXI6bnVsbCxzZXRTdXNwZW5zZUhhbmRsZXI6bnVsbCxzY2hlZHVsZVVwZGF0ZTpudWxsLGN1cnJlbnREaXNwYXRjaGVyUmVmOnVhLlJlYWN0Q3VycmVudERpc3BhdGNoZXIsZmluZEhvc3RJbnN0YW5jZUJ5RmliZXI6ZnVuY3Rpb24oYSl7YT1aYihhKTtyZXR1cm4gbnVsbD09PWE/bnVsbDphLnN0YXRlTm9kZX0sZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U6dGwuZmluZEZpYmVyQnlIb3N0SW5zdGFuY2V8fFxuamwsZmluZEhvc3RJbnN0YW5jZXNGb3JSZWZyZXNoOm51bGwsc2NoZWR1bGVSZWZyZXNoOm51bGwsc2NoZWR1bGVSb290Om51bGwsc2V0UmVmcmVzaEhhbmRsZXI6bnVsbCxnZXRDdXJyZW50RmliZXI6bnVsbCxyZWNvbmNpbGVyVmVyc2lvbjpcIjE4LjMuMS1uZXh0LWYxMzM4ZjgwODAtMjAyNDA0MjZcIn07aWYoXCJ1bmRlZmluZWRcIiE9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18pe3ZhciB2bD1fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187aWYoIXZsLmlzRGlzYWJsZWQmJnZsLnN1cHBvcnRzRmliZXIpdHJ5e2tjPXZsLmluamVjdCh1bCksbGM9dmx9Y2F0Y2goYSl7fX1leHBvcnRzLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPXNsO1xuZXhwb3J0cy5jcmVhdGVQb3J0YWw9ZnVuY3Rpb24oYSxiKXt2YXIgYz0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06bnVsbDtpZighbmwoYikpdGhyb3cgRXJyb3IocCgyMDApKTtyZXR1cm4gY2woYSxiLG51bGwsYyl9O2V4cG9ydHMuY3JlYXRlUm9vdD1mdW5jdGlvbihhLGIpe2lmKCFubChhKSl0aHJvdyBFcnJvcihwKDI5OSkpO3ZhciBjPSExLGQ9XCJcIixlPWtsO251bGwhPT1iJiZ2b2lkIDAhPT1iJiYoITA9PT1iLnVuc3RhYmxlX3N0cmljdE1vZGUmJihjPSEwKSx2b2lkIDAhPT1iLmlkZW50aWZpZXJQcmVmaXgmJihkPWIuaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09Yi5vblJlY292ZXJhYmxlRXJyb3ImJihlPWIub25SZWNvdmVyYWJsZUVycm9yKSk7Yj1ibChhLDEsITEsbnVsbCxudWxsLGMsITEsZCxlKTthW3VmXT1iLmN1cnJlbnQ7c2YoOD09PWEubm9kZVR5cGU/YS5wYXJlbnROb2RlOmEpO3JldHVybiBuZXcgbGwoYil9O1xuZXhwb3J0cy5maW5kRE9NTm9kZT1mdW5jdGlvbihhKXtpZihudWxsPT1hKXJldHVybiBudWxsO2lmKDE9PT1hLm5vZGVUeXBlKXJldHVybiBhO3ZhciBiPWEuX3JlYWN0SW50ZXJuYWxzO2lmKHZvaWQgMD09PWIpe2lmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBhLnJlbmRlcil0aHJvdyBFcnJvcihwKDE4OCkpO2E9T2JqZWN0LmtleXMoYSkuam9pbihcIixcIik7dGhyb3cgRXJyb3IocCgyNjgsYSkpO31hPVpiKGIpO2E9bnVsbD09PWE/bnVsbDphLnN0YXRlTm9kZTtyZXR1cm4gYX07ZXhwb3J0cy5mbHVzaFN5bmM9ZnVuY3Rpb24oYSl7cmV0dXJuIFJrKGEpfTtleHBvcnRzLmh5ZHJhdGU9ZnVuY3Rpb24oYSxiLGMpe2lmKCFvbChiKSl0aHJvdyBFcnJvcihwKDIwMCkpO3JldHVybiBybChudWxsLGEsYiwhMCxjKX07XG5leHBvcnRzLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGEsYixjKXtpZighbmwoYSkpdGhyb3cgRXJyb3IocCg0MDUpKTt2YXIgZD1udWxsIT1jJiZjLmh5ZHJhdGVkU291cmNlc3x8bnVsbCxlPSExLGY9XCJcIixnPWtsO251bGwhPT1jJiZ2b2lkIDAhPT1jJiYoITA9PT1jLnVuc3RhYmxlX3N0cmljdE1vZGUmJihlPSEwKSx2b2lkIDAhPT1jLmlkZW50aWZpZXJQcmVmaXgmJihmPWMuaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09Yy5vblJlY292ZXJhYmxlRXJyb3ImJihnPWMub25SZWNvdmVyYWJsZUVycm9yKSk7Yj1lbChiLG51bGwsYSwxLG51bGwhPWM/YzpudWxsLGUsITEsZixnKTthW3VmXT1iLmN1cnJlbnQ7c2YoYSk7aWYoZClmb3IoYT0wO2E8ZC5sZW5ndGg7YSsrKWM9ZFthXSxlPWMuX2dldFZlcnNpb24sZT1lKGMuX3NvdXJjZSksbnVsbD09Yi5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhP2IubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1bYyxlXTpiLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGEucHVzaChjLFxuZSk7cmV0dXJuIG5ldyBtbChiKX07ZXhwb3J0cy5yZW5kZXI9ZnVuY3Rpb24oYSxiLGMpe2lmKCFvbChiKSl0aHJvdyBFcnJvcihwKDIwMCkpO3JldHVybiBybChudWxsLGEsYiwhMSxjKX07ZXhwb3J0cy51bm1vdW50Q29tcG9uZW50QXROb2RlPWZ1bmN0aW9uKGEpe2lmKCFvbChhKSl0aHJvdyBFcnJvcihwKDQwKSk7cmV0dXJuIGEuX3JlYWN0Um9vdENvbnRhaW5lcj8oUmsoZnVuY3Rpb24oKXtybChudWxsLG51bGwsYSwhMSxmdW5jdGlvbigpe2EuX3JlYWN0Um9vdENvbnRhaW5lcj1udWxsO2FbdWZdPW51bGx9KX0pLCEwKTohMX07ZXhwb3J0cy51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcz1RaztcbmV4cG9ydHMudW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXI9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoIW9sKGMpKXRocm93IEVycm9yKHAoMjAwKSk7aWYobnVsbD09YXx8dm9pZCAwPT09YS5fcmVhY3RJbnRlcm5hbHMpdGhyb3cgRXJyb3IocCgzOCkpO3JldHVybiBybChhLGIsYywhMSxkKX07ZXhwb3J0cy52ZXJzaW9uPVwiMTguMy4xLW5leHQtZjEzMzhmODA4MC0yMDI0MDQyNlwiO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBjaGVja0RDRSgpIHtcbiAgLyogZ2xvYmFsIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAqL1xuICBpZiAoXG4gICAgdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyA9PT0gJ3VuZGVmaW5lZCcgfHxcbiAgICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFICE9PSAnZnVuY3Rpb24nXG4gICkge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIC8vIFRoaXMgYnJhbmNoIGlzIHVucmVhY2hhYmxlIGJlY2F1c2UgdGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZFxuICAgIC8vIGluIHByb2R1Y3Rpb24sIGJ1dCB0aGUgY29uZGl0aW9uIGlzIHRydWUgb25seSBpbiBkZXZlbG9wbWVudC5cbiAgICAvLyBUaGVyZWZvcmUgaWYgdGhlIGJyYW5jaCBpcyBzdGlsbCBoZXJlLCBkZWFkIGNvZGUgZWxpbWluYXRpb24gd2Fzbid0XG4gICAgLy8gcHJvcGVybHkgYXBwbGllZC5cbiAgICAvLyBEb24ndCBjaGFuZ2UgdGhlIG1lc3NhZ2UuIFJlYWN0IERldlRvb2xzIHJlbGllcyBvbiBpdC4gQWxzbyBtYWtlIHN1cmVcbiAgICAvLyB0aGlzIG1lc3NhZ2UgZG9lc24ndCBvY2N1ciBlbHNld2hlcmUgaW4gdGhpcyBmdW5jdGlvbiwgb3IgaXQgd2lsbCBjYXVzZVxuICAgIC8vIGEgZmFsc2UgcG9zaXRpdmUuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdeX14nKTtcbiAgfVxuICB0cnkge1xuICAgIC8vIFZlcmlmeSB0aGF0IHRoZSBjb2RlIGFib3ZlIGhhcyBiZWVuIGRlYWQgY29kZSBlbGltaW5hdGVkIChEQ0UnZCkuXG4gICAgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKGNoZWNrRENFKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgLy8gRGV2VG9vbHMgc2hvdWxkbid0IGNyYXNoIFJlYWN0LCBubyBtYXR0ZXIgd2hhdC5cbiAgICAvLyBXZSBzaG91bGQgc3RpbGwgcmVwb3J0IGluIGNhc2Ugd2UgYnJlYWsgdGhpcyBjb2RlLlxuICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgfVxufVxuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICAvLyBEQ0UgY2hlY2sgc2hvdWxkIGhhcHBlbiBiZWZvcmUgUmVhY3RET00gYnVuZGxlIGV4ZWN1dGVzIHNvIHRoYXRcbiAgLy8gRGV2VG9vbHMgY2FuIHJlcG9ydCBiYWQgbWluaWZpY2F0aW9uIGR1cmluZyBpbmplY3Rpb24uXG4gIGNoZWNrRENFKCk7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtZG9tLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWRvbS5kZXZlbG9wbWVudC5qcycpO1xufVxuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgbSA9IHJlcXVpcmUoJ3JlYWN0LWRvbScpO1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgZXhwb3J0cy5jcmVhdGVSb290ID0gbS5jcmVhdGVSb290O1xuICBleHBvcnRzLmh5ZHJhdGVSb290ID0gbS5oeWRyYXRlUm9vdDtcbn0gZWxzZSB7XG4gIHZhciBpID0gbS5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcbiAgZXhwb3J0cy5jcmVhdGVSb290ID0gZnVuY3Rpb24oYywgbykge1xuICAgIGkudXNpbmdDbGllbnRFbnRyeVBvaW50ID0gdHJ1ZTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG0uY3JlYXRlUm9vdChjLCBvKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaS51c2luZ0NsaWVudEVudHJ5UG9pbnQgPSBmYWxzZTtcbiAgICB9XG4gIH07XG4gIGV4cG9ydHMuaHlkcmF0ZVJvb3QgPSBmdW5jdGlvbihjLCBoLCBvKSB7XG4gICAgaS51c2luZ0NsaWVudEVudHJ5UG9pbnQgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbS5oeWRyYXRlUm9vdChjLCBoLCBvKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaS51c2luZ0NsaWVudEVudHJ5UG9pbnQgPSBmYWxzZTtcbiAgICB9XG4gIH07XG59XG4iLCJcbmV4cG9ydCBjb25zdCBSb3V0ZVBhZ2UgPSAoeyByb3V0ZXMgfTogeyByb3V0ZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGgxPlJlYWN0IFRlc3QgQmVkPC9oMT5cbiAgICAgIDx1bD5cbiAgICAgICAge09iamVjdC5rZXlzKHJvdXRlcykubWFwKChwYXRoKSA9PiAoXG4gICAgICAgICAgPGxpIGtleT17cGF0aH0+XG4gICAgICAgICAgICA8YSBocmVmPXtgIy8ke3BhdGh9YH0+e3BhdGh9PC9hPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICkpfVxuICAgICAgPC91bD5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJvdXRlUGFnZTsiLCJpbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlRGVmaW5pdGlvbiwgU3Vic2NyaXB0aW9uLCBTdWJzY3JpcHRpb25EZWZpbml0aW9uLCBTdWJzY3JpcHRpb25zIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVJZCA9ICgpOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDExKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwdWJsaXNoID0gPFQ+KFxuICB7IHRvcGljLCBjaGFubmVsID0gXCJnbG9iYWxcIiwgcGF5bG9hZCB9OiBNZXNzYWdlRGVmaW5pdGlvbjxUPixcbiAgdGFyZ2V0ID0gbnVsbCBhcyBXaW5kb3cgfCBudWxsXG4pOiBNZXNzYWdlPFQ+ID0+IHtcbiAgY29uc3QgcmVxdWVzdElkID0gZ2VuZXJhdGVJZCgpO1xuICBjb25zdCByZXF1ZXN0OiBNZXNzYWdlPFQ+ID0ge1xuICAgIHJlcXVlc3RJZCxcbiAgICB0b3BpYyxcbiAgICBjaGFubmVsLFxuICAgIHBheWxvYWQsXG4gIH07XG5cbiAgaWYgKHRhcmdldCkge1xuICAgIGlmICgodGFyZ2V0IGFzIHR5cGVvZiB3aW5kb3cpLnBvc3RNZXNzYWdlKSB7XG4gICAgICAvLyBpZnJhbWUsIHBvcHVwIHdpbmRvdywgb3Igd2ViIHdvcmtlclxuICAgICAgKHRhcmdldCBhcyB0eXBlb2Ygd2luZG93KS5wb3N0TWVzc2FnZShyZXF1ZXN0LCBcIipcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgdGFyZ2V0XCIpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUT0RPOiBhdXRvIGlkZW50aWZ5IHRoZSB0YXJnZXQgaXMgd3JvbmcgLSB3aGF0IGlmIGEgd2hvbGUgcGFnZVxuICAgIC8vIHRoYXQgY29udGFpbnMgdGhpcyBjb21wb25lbnQsIGdldCByZXVzZWQgaW4gaWZyYW1lP1xuICAgIC8vIGNoaWxkIHRvIHBhcmVudFxuICAgIGlmICh3aW5kb3cucGFyZW50ICE9PSB3aW5kb3cpIHtcbiAgICAgIC8vIGlmcmFtZVxuICAgICAgY29uc29sZS5sb2coYGV2ZW50IGlmcmFtZS0+cGFyZW50OiAke3RvcGljfWApO1xuICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShyZXF1ZXN0LCBcIipcIik7XG4gICAgfSBlbHNlIGlmICh3aW5kb3cub3BlbmVyKSB7XG4gICAgICAvLyBwb3B1cCB3aW5kb3dcbiAgICAgIGNvbnNvbGUubG9nKGBldmVudCBwb3B1cC0+cGFyZW50OiAke3RvcGljfWApO1xuICAgICAgd2luZG93Lm9wZW5lci5wb3N0TWVzc2FnZShyZXF1ZXN0LCBcIipcIik7XG4gICAgfSBlbHNlIGlmIChzZWxmICE9PSB3aW5kb3cpIHtcbiAgICAgIC8vIHdlYiB3b3JrZXJcbiAgICAgIGNvbnNvbGUubG9nKGBldmVudCB3ZWJ3b3JrZXItPnBhcmVudDogJHt0b3BpY31gKTtcbiAgICAgIHNlbGYucG9zdE1lc3NhZ2UocmVxdWVzdCwgXCIqXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhgZXZlbnQgdG8gd2luZG93OiAke3RvcGljfWApO1xuICAgICAgLy8gY3VzdG9tIGVsZW1lbnQgZm9yIGJvdGggcGFyZW50LT5jaGlsZCBvciBjaGlsZC0+cGFyZW50XG4gICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgTWVzc2FnZUV2ZW50KFwibWVzc2FnZVwiLCB7IGRhdGE6IHJlcXVlc3QgfSkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXF1ZXN0O1xufTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBjb25zdCBjcmVhdGVNZXNzYWdlRXZlbnRCdXMgPSA8VD1hbnk+KCkgPT4ge1xuICBjb25zdCBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uczxUPiA9IHt9O1xuXG4gIGNvbnN0IHN1YnNjcmliZSA9ICh7XG4gICAgdG9waWMsXG4gICAgY2hhbm5lbCA9IFwiZ2xvYmFsXCIsXG4gICAgaGFuZGxlcixcbiAgfTogU3Vic2NyaXB0aW9uRGVmaW5pdGlvbjxUPik6IFN1YnNjcmlwdGlvbjxUPiA9PiB7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0ge1xuICAgICAgc3Vic2NyaXB0aW9uSWQ6IGdlbmVyYXRlSWQoKSxcbiAgICAgIHRvcGljLFxuICAgICAgY2hhbm5lbCxcbiAgICAgIGhhbmRsZXIsXG4gICAgfTtcblxuICAgIF9zdWJzY3JpcHRpb25zW3RvcGljXSA9IHtcbiAgICAgIC4uLl9zdWJzY3JpcHRpb25zW3RvcGljXSxcbiAgICAgIFtjaGFubmVsXToge1xuICAgICAgICAuLi5fc3Vic2NyaXB0aW9uc1t0b3BpY10/LltjaGFubmVsXSxcbiAgICAgICAgW3N1YnNjcmlwdGlvbi5zdWJzY3JpcHRpb25JZF06IHN1YnNjcmlwdGlvbixcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gIH07XG5cbiAgY29uc3QgdW5zdWJzY3JpYmUgPSAoc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb248VD4pOiB2b2lkID0+IHtcbiAgICBkZWxldGUgX3N1YnNjcmlwdGlvbnNbc3Vic2NyaXB0aW9uLnRvcGljXT8uW3N1YnNjcmlwdGlvbi5jaGFubmVsXT8uW1xuICAgICAgc3Vic2NyaXB0aW9uLnN1YnNjcmlwdGlvbklkXG4gICAgXTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVNZXNzYWdlID0gKGV2ZW50OiBNZXNzYWdlRXZlbnQ8TWVzc2FnZTxUPj4pOiBQcm9taXNlPHVua25vd24+W10gPT4ge1xuICAgIGNvbnN0IHsgcGF5bG9hZCwgY2hhbm5lbCwgdG9waWMgfSA9IGV2ZW50LmRhdGE7XG4gICAgaWYgKF9zdWJzY3JpcHRpb25zW3RvcGljXT8uW2NoYW5uZWxdKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhfc3Vic2NyaXB0aW9uc1t0b3BpY11bY2hhbm5lbF0pLm1hcCgoeyBoYW5kbGVyIH0pID0+XG4gICAgICAgIFByb21pc2UucmVzb2x2ZShoYW5kbGVyKHBheWxvYWQpKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgcHVibGlzaCxcbiAgICBzdWJzY3JpYmUsXG4gICAgdW5zdWJzY3JpYmUsXG4gICAgaGFuZGxlTWVzc2FnZSxcbiAgfTtcbn07XG4iLCIvKlxuIFBvc3NpYmxlIFBlcmZvcm1hbmNlIG92ZXJoZWFkOlxuIC0gd2luZG93LnBvc3RNZXNzYWdlIHdpbGwgdHJpZ2dlciBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gb2YgdGhlIGRhdGEgb2JqZWN0XG4gLSB3aW5kb3cuZGlzcGF0Y2hFdmVudCB3aWxsIHRyaWdnZXIgdGhlIGJ1aWxkLWluIGV2ZW50IHN5c3RlbSB0aGFuIGRpcmVjdGx5IGNhbGxpbmcgdGhlIGhhbmRsZXJcbiovXG5pbXBvcnQgeyBjcmVhdGVNZXNzYWdlRXZlbnRCdXMgfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5jb25zdCBfZXZlbnRCdXMgPSBjcmVhdGVNZXNzYWdlRXZlbnRCdXMoKTtcblxuZXhwb3J0IGNvbnN0IHB1Ymxpc2g6IHR5cGVvZiBfZXZlbnRCdXMucHVibGlzaCA9IChldmVudERlZiwgdGFyZ2V0KSA9PlxuICBfZXZlbnRCdXMucHVibGlzaChldmVudERlZiwgdGFyZ2V0KTtcblxuZXhwb3J0IGNvbnN0IHN1YnNjcmliZTogdHlwZW9mIF9ldmVudEJ1cy5zdWJzY3JpYmUgPSAoc3Vic0RlZikgPT5cbiAgX2V2ZW50QnVzLnN1YnNjcmliZShzdWJzRGVmKTtcblxuZXhwb3J0IGNvbnN0IHVuc3Vic2NyaWJlOiB0eXBlb2YgX2V2ZW50QnVzLnVuc3Vic2NyaWJlID0gKHN1YnMpID0+XG4gIF9ldmVudEJ1cy51bnN1YnNjcmliZShzdWJzKTtcblxuY29uc3QgaGFuZGxlTWVzc2FnZTogdHlwZW9mIF9ldmVudEJ1cy5oYW5kbGVNZXNzYWdlID0gKGV2ZW50KSA9PlxuICBfZXZlbnRCdXMuaGFuZGxlTWVzc2FnZShldmVudCk7XG5cbi8vIE5PVEU6IHdlIGNhbiB1c2UgYSBzaW5nbGUgZXZlbnQgaGFuZGxlciwgb3IganVzdCBhZGQgbGlzdGVuZXIgZGlyZWN0bHlcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBoYW5kbGVNZXNzYWdlKTtcbiIsImltcG9ydCB7IE1lc3NhZ2VEZWZpbml0aW9uIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IGNyZWF0ZU1lc3NhZ2VFdmVudEJ1cyB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbmNvbnN0IF9wZW5kaW5nUmVxdWVzdHM6IHsgW2tleTogc3RyaW5nXTogKGRhdGE6IHVua25vd24pID0+IHZvaWQgfSA9IHt9O1xuXG5jb25zdCBfZXZlbnRCdXMgPSBjcmVhdGVNZXNzYWdlRXZlbnRCdXMoKTtcblxuZXhwb3J0IGNvbnN0IGNhbGxBcGkgPSBhc3luYyA8VD4oXG4gIHJlcXVlc3Q6IE1lc3NhZ2VEZWZpbml0aW9uPFQ+LFxuICB0YXJnZXQgPSBudWxsIGFzIFdpbmRvdyB8IG51bGxcbik6IFByb21pc2U8dW5rbm93bj4gPT4ge1xuICBjb25zdCB7IHJlcXVlc3RJZCB9ID0gX2V2ZW50QnVzLnB1Ymxpc2goXG4gICAge1xuICAgICAgLi4ucmVxdWVzdCxcbiAgICB9LFxuICAgIHRhcmdldFxuICApO1xuXG4gIHJldHVybiBuZXcgUHJvbWlzZTx1bmtub3duPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgX3BlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdID0gcmVzb2x2ZTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKF9wZW5kaW5nUmVxdWVzdHNbcmVxdWVzdElkXSkge1xuICAgICAgICBkZWxldGUgX3BlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdO1xuICAgICAgICByZWplY3QobmV3IEVycm9yKFwiUmVxdWVzdCB0aW1lZCBvdXRcIikpO1xuICAgICAgfVxuICAgIH0sIDUwMDApOyAvLyA1IHNlY29uZHMgdGltZW91dFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlcjogdHlwZW9mIF9ldmVudEJ1cy5zdWJzY3JpYmUgPSAoc3Vic0RlZikgPT5cbiAgX2V2ZW50QnVzLnN1YnNjcmliZShzdWJzRGVmKTtcblxuZXhwb3J0IGNvbnN0IHVucmVnaXN0ZXI6IHR5cGVvZiBfZXZlbnRCdXMudW5zdWJzY3JpYmUgPSAoc3VicykgPT5cbiAgX2V2ZW50QnVzLnVuc3Vic2NyaWJlKHN1YnMpO1xuXG5jb25zdCBoYW5kbGVNZXNzYWdlOiB0eXBlb2YgX2V2ZW50QnVzLmhhbmRsZU1lc3NhZ2UgPSAoZXZlbnQpID0+IHtcbiAgY29uc3QgeyByZXF1ZXN0SWQsIHRvcGljLCBhY2ssIHBheWxvYWQgfSA9IGV2ZW50LmRhdGE7XG4gIGlmIChyZXF1ZXN0SWQpIHtcbiAgICBpZiAoYWNrKSB7XG4gICAgICBjb25zdCByZXNvbHZlID0gX3BlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdO1xuICAgICAgaWYgKHJlc29sdmUpIHtcbiAgICAgICAgZGVsZXRlIF9wZW5kaW5nUmVxdWVzdHNbcmVxdWVzdElkXTtcbiAgICAgICAgcmVzb2x2ZShwYXlsb2FkKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcHJvbWlzZXMgPSBfZXZlbnRCdXMuaGFuZGxlTWVzc2FnZShldmVudCk7XG4gICAgICBwcm9taXNlcy5mb3JFYWNoKChwKSA9PlxuICAgICAgICBwLnRoZW4oKHBheWxvYWQpID0+IHtcbiAgICAgICAgICBldmVudC5zb3VyY2VcbiAgICAgICAgICAgID8gZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICByZXF1ZXN0SWQsXG4gICAgICAgICAgICAgICAgYWNrOiB0cnVlLFxuICAgICAgICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IHdpbmRvdy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICAgIG5ldyBNZXNzYWdlRXZlbnQoXCJtZXNzYWdlXCIsIHtcbiAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElkLFxuICAgICAgICAgICAgICAgICAgICB0b3BpYyxcbiAgICAgICAgICAgICAgICAgICAgYWNrOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFtdO1xufTtcblxuLy8gTk9URTogd2UgY2FuIHVzZSBhIHNpbmdsZSBldmVudCBoYW5kbGVyLCBvciBqdXN0IGFkZCBsaXN0ZW5lciBkaXJlY3RseVxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIGhhbmRsZU1lc3NhZ2UpO1xuIiwiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VEeW5hbWljQ3NzID0gKHVybDogc3RyaW5nLCBpZDogc3RyaW5nKSA9PiB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIpO1xuICAgIGxpbmsucmVsID0gXCJzdHlsZXNoZWV0XCI7XG4gICAgbGluay5ocmVmID0gdXJsO1xuICAgIGxpbmsuaWQgPSBpZDtcbiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGxpbmspO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQobGluayk7XG4gICAgfTtcbiAgfSwgW3VybCwgaWRdKTtcbn07IiwiZXhwb3J0IGRlZmF1bHQgXCJfX1ZJVEVfQVNTRVRfX0J2bWtxVV9KX19cIiIsImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgcmVtb3RlQXBpLCBTdWJzY3JpcHRpb24sIGV2ZW50QnVzIH0gZnJvbSBcIi4uLy4uL2xpYnNcIjtcbmltcG9ydCB7IHVzZUR5bmFtaWNDc3MgfSBmcm9tIFwiLi4vLi4vbGlic1wiO1xuaW1wb3J0IHJlYWN0TG9nbyBmcm9tIFwiLi4vLi4vYXNzZXRzL3JlYWN0LnN2Z1wiO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBNeUNvbXBvbmVudCh7IGlkIH06IHsgaWQ/OiBzdHJpbmcgfSkge1xuICBjb25zdCBbYXBwTGV2ZWxBcGlSZXNwb25zZSwgc2V0QXBwTGV2ZWxBcGlSZXNwb25zZV0gPSB1c2VTdGF0ZShcIlwiKTtcbiAgY29uc3QgW2NvbXBMZXZlbEFwaVJlc3BvbnNlLCBzZXRDb21wTGV2ZWxBcGlSZXNwb25zZV0gPSB1c2VTdGF0ZShcIlwiKTtcbiAgY29uc3QgYXBpU3Vic2NyaXB0aW9uUmVmID0gdXNlUmVmPFN1YnNjcmlwdGlvbjx7IG1lc3NhZ2U6IHN0cmluZyB9PiB8IG51bGw+KG51bGwpO1xuICBjb25zdCBldmVudFN1YnNjcmlwdGlvblJlZiA9IHVzZVJlZjxTdWJzY3JpcHRpb248eyBtZXNzYWdlOiBzdHJpbmcgfT4gfCBudWxsPihudWxsKTtcblxuICB1c2VEeW5hbWljQ3NzKFwiL09wc1NhbXBsZVBhZ2UuY3NzXCIsIFwiZHluYW1pYy1jc3NcIik7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhcGlTdWJzY3JpcHRpb25SZWYuY3VycmVudCA9IHJlbW90ZUFwaS5yZWdpc3Rlcih7XG4gICAgICB0b3BpYzogXCJjb21wb25lbnQtbGV2ZWwtYXBpXCIsXG4gICAgICBjaGFubmVsOiBpZCA/IGBteS1jb21wb25lbnQtJHtpZH1gIDogXCJteS1jb21wb25lbnRcIixcbiAgICAgIGhhbmRsZXI6IGFzeW5jIChwYXlsb2FkOiB7IG1lc3NhZ2U6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlcyA9IHtcbiAgICAgICAgICByZXNwb25zZTogYGNvbXBvbmVudC1sZXZlbC1hcGk6ICR7cGF5bG9hZC5tZXNzYWdlfSBmcm9tICR7aWR9YCxcbiAgICAgICAgfTtcbiAgICAgICAgc2V0Q29tcExldmVsQXBpUmVzcG9uc2UoYHRyaWdnZXIgY29tcG9uZW50LWxldmVsLWFwaSBmb3IgJHtpZH1gKTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBldmVudFN1YnNjcmlwdGlvblJlZi5jdXJyZW50ID0gZXZlbnRCdXMuc3Vic2NyaWJlKHtcbiAgICAgIHRvcGljOiBcInBhcmVudFNlbGVjdGlvbkNoYW5nZWRcIixcbiAgICAgIGNoYW5uZWw6IGlkID8gYG15LWNvbXBvbmVudC0ke2lkfWAgOiBcIm15LWNvbXBvbmVudFwiLFxuICAgICAgaGFuZGxlcjogKHBheWxvYWQpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coYFske2lkfV0gUmVjZWl2ZWQgcGFyZW50U2VsZWN0aW9uQ2hhbmdlZDpgLCBwYXlsb2FkKTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYoIGFwaVN1YnNjcmlwdGlvblJlZi5jdXJyZW50ICkge1xuICAgICAgICByZW1vdGVBcGkudW5yZWdpc3RlcihhcGlTdWJzY3JpcHRpb25SZWYuY3VycmVudCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChldmVudFN1YnNjcmlwdGlvblJlZi5jdXJyZW50KSB7XG4gICAgICAgIGV2ZW50QnVzLnVuc3Vic2NyaWJlKGV2ZW50U3Vic2NyaXB0aW9uUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtpZF0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxhIGhyZWY9XCJodHRwczovL3JlYWN0LmRldlwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgIDxpbWcgc3JjPXtyZWFjdExvZ299IGNsYXNzTmFtZT1cImxvZ28gcmVhY3RcIiBhbHQ9XCJSZWFjdCBsb2dvXCIgLz5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8aDE+UGFuZWw8L2gxPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICByZW1vdGVBcGlcblxuICAgICAgICAgICAgICAuY2FsbEFwaSh7XG4gICAgICAgICAgICAgICAgdG9waWM6IFwiYXBwLWxldmVsLWFwaVwiLFxuICAgICAgICAgICAgICAgIHBheWxvYWQ6IHsgbWVzc2FnZTogXCJIZWxsbywgd29ybGQhXCIgfSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJBUEkgcmVzcG9uc2U6XCIsIHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICBzZXRBcHBMZXZlbEFwaVJlc3BvbnNlKEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlKSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmVycm9yKFwiQVBJIGNhbGwgZmFpbGVkOlwiLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgc2V0QXBwTGV2ZWxBcGlSZXNwb25zZShKU09OLnN0cmluZ2lmeShlcnJvcikpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge1wiIFwifVxuICAgICAgICAgIGNhbGwgYXBwLWxldmVsLWFwaVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGV2ZW50QnVzLnB1Ymxpc2goe1xuICAgICAgICAgICAgICB0b3BpYzogXCJzZWxlY3Rpb25DaGFuZ2VkXCIsXG4gICAgICAgICAgICAgIHBheWxvYWQ6IHsgY29tcG9uZW50OiBpZCwgdWlkOiBcInVpZDFcIiB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtcIiBcIn1cbiAgICAgICAgICBzZW5kIHNlbGVjdGlvbiBjaGFuZ2UgZXZlbnRcbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXY+e2FwcExldmVsQXBpUmVzcG9uc2V9PC9kaXY+XG4gICAgICAgIDxkaXY+e2NvbXBMZXZlbEFwaVJlc3BvbnNlfTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC8+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE15Q29tcG9uZW50O1xuIiwiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgU3VzcGVuc2UsIGxhenksIGNyZWF0ZUVsZW1lbnQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFJvdXRlUGFnZSB9IGZyb20gXCIuL3BhZ2VzL1JvdXRlclBhZ2VcIjtcbmltcG9ydCB7IE15Q29tcG9uZW50IH0gZnJvbSBcIi4vcGFnZXMvb3BzL015Q29tcG9uZW50XCI7XG5cbmNvbnN0IFJPVVRFUzogUmVjb3JkPHN0cmluZywgSlNYLkVsZW1lbnRUeXBlPiA9IHtcbiAgZ3JpZDogbGF6eSgoKSA9PiBpbXBvcnQoXCIuL3BhZ2VzL0dyaWRTYW1wbGVQYWdlXCIpKSxcbiAgb3BzOiBsYXp5KCgpID0+IGltcG9ydChcIi4vcGFnZXMvT3BzU2FtcGxlUGFnZVwiKSksXG4gIGN0eDogbGF6eSgoKSA9PiBpbXBvcnQoXCIuL3BhZ2VzL0N0eFNhbXBsZVBhZ2VcIikpLFxuICByZXBvcnQ6IGxhenkoKCkgPT4gaW1wb3J0KFwiLi9wYWdlcy9SZXBvcnRTYW1wbGVQYWdlXCIpKSxcbn07XG5cbmNvbnN0IFJvdXRlciA9ICgpID0+IHtcbiAgLypcbiAgc3RhdGUgaXMgbm90IHdvcmtpbmcgaW4gc3RhdGljIGhvc3Qgd2l0aG91dCBzZXJ2ZXIgc2lkZSBjb25maWcsIGRpc2FibGUgaXQgZm9yIG5vdy5cbiAgY29uc3QgW2N1cnJlbnRQYXRoLCBzZXRDdXJyZW50UGF0aF0gPSB1c2VTdGF0ZSh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlUG9wU3RhdGUgPSAoKSA9PiB7XG4gICAgICBzZXRDdXJyZW50UGF0aCh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpO1xuICAgIH07XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInBvcHN0YXRlXCIsIGhhbmRsZVBvcFN0YXRlKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInBvcHN0YXRlXCIsIGhhbmRsZVBvcFN0YXRlKTtcbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgKi9cbiAgY29uc3QgW2N1cnJlbnRQYXRoLCBzZXRDdXJyZW50UGF0aF0gPSB1c2VTdGF0ZShcbiAgICB3aW5kb3cubG9jYXRpb24uaGFzaC5yZXBsYWNlKC9eI1xcLy8sIFwiXCIpXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVIYXNoQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgc2V0Q3VycmVudFBhdGgod2luZG93LmxvY2F0aW9uLmhhc2gucmVwbGFjZSgvXiNcXC8vLCBcIlwiKSk7XG4gICAgfTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiaGFzaGNoYW5nZVwiLCBoYW5kbGVIYXNoQ2hhbmdlKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImhhc2hjaGFuZ2VcIiwgaGFuZGxlSGFzaENoYW5nZSk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIGlmICghY3VycmVudFBhdGgpIHtcbiAgICByZXR1cm4gPFJvdXRlUGFnZSByb3V0ZXM9e1JPVVRFU30gLz47XG4gIH0gZWxzZSBpZiAoUk9VVEVTW2N1cnJlbnRQYXRoXSkge1xuICAgIHJldHVybiAoXG4gICAgICA8U3VzcGVuc2U+XG4gICAgICAgIHtjcmVhdGVFbGVtZW50KFJPVVRFU1tjdXJyZW50UGF0aF0pfVxuICAgICAgPC9TdXNwZW5zZT5cbiAgICApO1xuICAvLyBUT0RPOiBoYXJkIGNvZGUgZm9yIG9wcywgbmVlZCBpbXByb3ZlbWVudFxuICB9IGVsc2UgaWYgKGN1cnJlbnRQYXRoID09PSBcIm9wc19pZnJhbWVcIikge1xuICAgIHJldHVybiA8TXlDb21wb25lbnQgaWQ9J2lmcmFtZS1jb21wb25lbnQtc2FtcGxlJyAvPjtcbiAgfSBlbHNlIGlmIChjdXJyZW50UGF0aCA9PT0gXCJvcHNfcG9wdXBcIikge1xuICAgIHJldHVybiA8TXlDb21wb25lbnQgaWQ9J3BvcHVwLWNvbXBvbmVudC1zYW1wbGUnIC8+O1xuICB9ZWxzZSB7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBcIi9cIjtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgUm91dGVyO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbS9jbGllbnQnXG5pbXBvcnQgUm91dGVyIGZyb20gJy4vUm91dGVyJ1xuXG5SZWFjdERPTS5jcmVhdGVSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyb290JykhKS5yZW5kZXIoXG4gIDxSZWFjdC5TdHJpY3RNb2RlPlxuICAgIDxSb3V0ZXIgLz5cbiAgPC9SZWFjdC5TdHJpY3RNb2RlPixcbilcbiJdLCJmaWxlIjoiYXNzZXRzL2luZGV4LUJYVFFZQ0NXLmpzIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,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QUtBLE9BQUssV0FBTSxPQUFPLDZCQUF1QixFQUFDLHFCQUMvQyxJQUFLQSxPQUFLLFdBQU0sT0FBTyw2QkFBdUIsRUFBQyxxQkFDL0MsT0FBUUEsT0FBSyxXQUFNLE9BQU8sZ0NBQTBCLEVBQUMscUJBQ3JELE9BQVFBLE9BQUssV0FBTSxPQUFPLHVDQUFpQyxFQUFDLHFCQUM1RCxPQUFRQSxPQUFLLFdBQU0sT0FBTyxxQ0FBK0IscUJBQUMsQ0FDNUQsRUFFTUMsR0FBUyxJQUFNLENBa0JiLE1BQUNDLEVBQWFDLENBQWMsRUFBSW5CLEVBQUEsU0FDcEMsT0FBTyxTQUFTLEtBQUssUUFBUSxPQUFRLEVBQUUsR0FlekMsR0FaQU4sWUFBVSxJQUFNLENBQ2QsTUFBTTBCLEVBQW1CLElBQU0sQ0FDN0JELEVBQWUsT0FBTyxTQUFTLEtBQUssUUFBUSxPQUFRLEVBQUUsQ0FBQyxHQUdsRCwrQkFBaUIsYUFBY0MsQ0FBZ0IsRUFFL0MsSUFBTSxDQUNKLDJCQUFvQixhQUFjQSxDQUFnQixFQUU3RCxFQUFHLENBQUUsR0FFQUYsRUFFTCxJQUFXSCxHQUFPRyxDQUFXLEVBQzNCLGFBQ0dHLEVBQ0UsbUJBQUFDLEVBQUEsY0FBY1AsR0FBT0csQ0FBVyxDQUFDLENBQ3BDLEdBR0osR0FBV0EsSUFBZ0IsYUFDbEIsT0FBQXpELEVBQUEsSUFBQ29DLEdBQVksSUFBRyx5QkFBMEIsR0FDbkQsR0FBV3FCLElBQWdCLFlBQ2xCLE9BQUF6RCxFQUFBLElBQUNvQyxHQUFZLElBQUcsd0JBQXlCLEdBRWhELE9BQU8sU0FBUyxLQUFPLFFBYmhCLFFBQUFwQyxFQUFBLElBQUNKLEdBQVUsUUFBUTBELEVBQVEsRUFldEMsRUMzREFRLEdBQVMsV0FBVyxTQUFTLGVBQWUsTUFBTSxDQUFFLEVBQUUsYUFDbkRDLEdBQU0sV0FBTixDQUNDLFNBQUEvRCxNQUFDd0QsSUFBTyxHQUNWLENBQ0YiLCJuYW1lcyI6WyJsIiwibiIsInAiLCJxIiwiciIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCJBIiwiYSIsIkIiLCJDIiwiRCIsIkUiLCJiIiwiZSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiZCIsImMiLCJrIiwiaCIsImciLCJmIiwibSIsIk4iLCJPIiwiZXNjYXBlIiwiUCIsIlEiLCJSIiwiUyIsIlQiLCJVIiwiViIsIlciLCJYIiwicmVhY3RfcHJvZHVjdGlvbl9taW4iLCJyZWFjdE1vZHVsZSIsInJlcXVpcmUkJDAiLCJyZWFjdEpzeFJ1bnRpbWVfcHJvZHVjdGlvbl9taW4iLCJqc3hSdW50aW1lTW9kdWxlIiwiZXhwb3J0cyIsInNjaGVkdWxlck1vZHVsZSIsImFhIiwiY2EiLCJyZXF1aXJlJCQxIiwiZGEiLCJlYSIsImZhIiwiaGEiLCJpYSIsImphIiwia2EiLCJsYSIsIm1hIiwib2EiLCJwYSIsInFhIiwicmEiLCJzYSIsInRhIiwidWEiLCJ2YSIsIndhIiwieWEiLCJ6YSIsIkFhIiwiQmEiLCJDYSIsIkRhIiwiRWEiLCJGYSIsIkdhIiwiSGEiLCJJYSIsIkphIiwiS2EiLCJMYSIsIk1hIiwiTmEiLCJPYSIsIlBhIiwiUWEiLCJSYSIsIlNhIiwiVGEiLCJVYSIsIlZhIiwiV2EiLCJYYSIsIllhIiwiWmEiLCJhYiIsImJiIiwiY2IiLCJkYiIsImViIiwiZmIiLCJnYiIsImhiIiwiaWIiLCJqYiIsImtiIiwibGIiLCJtYiIsIm5iIiwib2IiLCJwYiIsInFiIiwicmIiLCJzYiIsInRiIiwidWIiLCJ2YiIsIndiIiwieGIiLCJ5YiIsInpiIiwiQWIiLCJCYiIsIkNiIiwiRGIiLCJFYiIsIkZiIiwiR2IiLCJIYiIsIkliIiwiSmIiLCJLYiIsIkxiIiwiTWIiLCJOYiIsIk9iIiwiUGIiLCJRYiIsIlJiIiwiU2IiLCJUYiIsIlViIiwiVmIiLCJXYiIsIlhiIiwiWWIiLCJaYiIsIiRiIiwiYWMiLCJiYyIsImNjIiwiZGMiLCJlYyIsImZjIiwiZ2MiLCJoYyIsImljIiwiamMiLCJrYyIsImxjIiwibWMiLCJvYyIsIm5jIiwicGMiLCJxYyIsInJjIiwic2MiLCJ0YyIsInVjIiwidmMiLCJ3YyIsInhjIiwieWMiLCJ6YyIsIkFjIiwiQmMiLCJDYyIsIkRjIiwiRWMiLCJGYyIsIkdjIiwiSGMiLCJJYyIsIkpjIiwiS2MiLCJMYyIsIk1jIiwiTmMiLCJPYyIsIlBjIiwiUWMiLCJSYyIsIlNjIiwiVGMiLCJVYyIsIlZjIiwiV2MiLCJYYyIsIlljIiwiWmMiLCIkYyIsImFkIiwiYmQiLCJjZCIsImRkIiwiZWQiLCJmZCIsImdkIiwiaGQiLCJpZCIsImpkIiwia2QiLCJsZCIsIm1kIiwibmQiLCJvZCIsInBkIiwicWQiLCJyZCIsInNkIiwidGQiLCJ1ZCIsInZkIiwid2QiLCJ4ZCIsInlkIiwiQWQiLCJ6ZCIsIkJkIiwiQ2QiLCJEZCIsIkVkIiwiRmQiLCJHZCIsIkhkIiwiSWQiLCJKZCIsIktkIiwiTGQiLCJNZCIsIk5kIiwiT2QiLCJQZCIsIlFkIiwiUmQiLCJTZCIsIlRkIiwiVWQiLCJWZCIsIldkIiwiWGQiLCJZZCIsIlpkIiwiJGQiLCJhZSIsImJlIiwiY2UiLCJkZSIsImVlIiwiZmUiLCJnZSIsImhlIiwiaWUiLCJqZSIsImtlIiwibGUiLCJtZSIsIm5lIiwib2UiLCJwZSIsInFlIiwicmUiLCJzZSIsInRlIiwidWUiLCJ2ZSIsIndlIiwieGUiLCJ5ZSIsInplIiwiQWUiLCJCZSIsIkNlIiwiRGUiLCJFZSIsIkZlIiwiR2UiLCJIZSIsIkllIiwiSmUiLCJLZSIsIkxlIiwiTWUiLCJOZSIsIk9lIiwiUGUiLCJRZSIsIlJlIiwiU2UiLCJUZSIsIlVlIiwiVmUiLCJXZSIsIlhlIiwiWWUiLCJaZSIsIiRlIiwiYWYiLCJiZiIsImNmIiwiZGYiLCJlZiIsImZmIiwiZ2YiLCJoZiIsImpmIiwia2YiLCJsZiIsIm1mIiwibmYiLCJvZiIsInBmIiwicWYiLCJyZiIsInNmIiwidGYiLCJ1ZiIsInZmIiwid2YiLCJuYSIsInhhIiwiJGEiLCJiYSIsInhmIiwieWYiLCJ6ZiIsIkFmIiwiQmYiLCJDZiIsIkRmIiwiRWYiLCJGZiIsIkdmIiwiSGYiLCJKZiIsIklmIiwiS2YiLCJMZiIsIk1mIiwiTmYiLCJPZiIsIlBmIiwiUWYiLCJSZiIsIlNmIiwiVGYiLCJVZiIsIlZmIiwiV2YiLCJYZiIsIllmIiwiWmYiLCIkZiIsImFnIiwiYmciLCJjZyIsImRnIiwiZWciLCJmZyIsImdnIiwiaGciLCJpZyIsImpnIiwia2ciLCJsZyIsIm1nIiwibmciLCJvZyIsInBnIiwicWciLCJyZyIsInNnIiwidGciLCJ1ZyIsInZnIiwid2ciLCJ4ZyIsInlnIiwiemciLCJBZyIsIkJnIiwiQ2ciLCJEZyIsIkVnIiwiRmciLCJHZyIsIkhnIiwiSWciLCJKZyIsIktnIiwiTGciLCJNZyIsIk5nIiwiT2ciLCJQZyIsIlFnIiwiUmciLCJTZyIsIlRnIiwiVWciLCJWZyIsIldnIiwiWGciLCJZZyIsIlpnIiwiJGciLCJhaCIsImJoIiwiY2giLCJkaCIsImVoIiwiZmgiLCJnaCIsImhoIiwiaWgiLCJqaCIsImtoIiwibGgiLCJtaCIsIm5oIiwib2giLCJwaCIsInFoIiwicmgiLCJzaCIsInRoIiwidWgiLCJ2aCIsIndoIiwieGgiLCJ5aCIsInpoIiwiQWgiLCJCaCIsIkNoIiwiRGgiLCJFaCIsIkZoIiwiR2giLCJIaCIsIkloIiwiSmgiLCJLaCIsIkxoIiwiTWgiLCJOaCIsIk9oIiwiUGgiLCJRaCIsIlJoIiwiU2giLCJUaCIsIlVoIiwiVmgiLCJXaCIsIlhoIiwiWWgiLCJaaCIsIiRoIiwiYWkiLCJiaSIsImNpIiwiZGkiLCJlaSIsImZpIiwiZ2kiLCJoaSIsImlpIiwiamkiLCJraSIsImxpIiwibWkiLCJuaSIsIm9pIiwicGkiLCJxaSIsInJpIiwic2kiLCJ0aSIsInVpIiwidmkiLCJ3aSIsInhpIiwieWkiLCJ6aSIsIkFpIiwiQmkiLCJDaSIsIkRpIiwiRWkiLCJGaSIsIkdpIiwiSGkiLCJJaSIsIkppIiwiS2kiLCJMaSIsIk1pIiwiTmkiLCJPaSIsIlBpIiwiUWkiLCJSaSIsIlNpIiwiVGkiLCJVaSIsIlZpIiwiV2kiLCJYaSIsIllpIiwiWmkiLCIkaSIsImFqIiwiYmoiLCJjaiIsImRqIiwiZWoiLCJmaiIsImdqIiwiaGoiLCJpaiIsImpqIiwia2oiLCJsaiIsIm1qIiwibmoiLCJvaiIsInBqIiwicWoiLCJyaiIsInNqIiwidGoiLCJ1aiIsInZqIiwid2oiLCJ4aiIsInlqIiwiemoiLCJBaiIsIkJqIiwiQ2oiLCJEaiIsIkVqIiwiRmoiLCJHaiIsIkhqIiwiSWoiLCJKaiIsIktqIiwiTGoiLCJNaiIsIk5qIiwiT2oiLCJQaiIsIlFqIiwiUmoiLCJTaiIsIlRqIiwiVWoiLCJWaiIsIldqIiwiWGoiLCJZaiIsIlpqIiwiYWsiLCJiayIsImNrIiwiZGsiLCJlayIsImZrIiwiZ2siLCJoayIsImlrIiwiamsiLCJrayIsImxrIiwibWsiLCJuayIsIm9rIiwiWSIsIloiLCJwayIsInFrIiwicmsiLCJzayIsInRrIiwidWsiLCJ2ayIsIndrIiwieGsiLCJ5ayIsInprIiwiQWsiLCJCayIsIkNrIiwiRGsiLCJFayIsIkZrIiwiR2siLCJIayIsIklrIiwiSmsiLCJLayIsIkxrIiwiTWsiLCJOayIsIk9rIiwiUGsiLCJRayIsIlJrIiwiU2siLCJUayIsIlVrIiwiVmsiLCJXayIsIlhrIiwiWWsiLCJaayIsIiRrIiwiYWwiLCJibCIsImNsIiwiZGwiLCJlbCIsImZsIiwiZ2wiLCJobCIsImlsIiwiamwiLCJrbCIsImxsIiwibWwiLCJubCIsIm9sIiwicGwiLCJxbCIsInJsIiwic2wiLCJ0bCIsInVsIiwidmwiLCJyZWFjdERvbV9wcm9kdWN0aW9uX21pbiIsImNoZWNrRENFIiwiZXJyIiwicmVhY3REb21Nb2R1bGUiLCJjcmVhdGVSb290IiwiUm91dGVQYWdlIiwicm91dGVzIiwianN4cyIsIkZyYWdtZW50IiwianN4IiwicGF0aCIsImdlbmVyYXRlSWQiLCJwdWJsaXNoIiwidG9waWMiLCJjaGFubmVsIiwicGF5bG9hZCIsInRhcmdldCIsInJlcXVlc3QiLCJjcmVhdGVNZXNzYWdlRXZlbnRCdXMiLCJfc3Vic2NyaXB0aW9ucyIsImhhbmRsZXIiLCJzdWJzY3JpcHRpb24iLCJfYSIsIl9iIiwiZXZlbnQiLCJfZXZlbnRCdXMiLCJldmVudERlZiIsInN1YnNjcmliZSIsInN1YnNEZWYiLCJ1bnN1YnNjcmliZSIsInN1YnMiLCJoYW5kbGVNZXNzYWdlIiwiX3BlbmRpbmdSZXF1ZXN0cyIsImNhbGxBcGkiLCJyZXF1ZXN0SWQiLCJyZXNvbHZlIiwicmVqZWN0IiwicmVnaXN0ZXIiLCJ1bnJlZ2lzdGVyIiwiYWNrIiwidXNlRHluYW1pY0NzcyIsInVybCIsInVzZUVmZmVjdCIsImxpbmsiLCJyZWFjdExvZ28iLCJNeUNvbXBvbmVudCIsImFwcExldmVsQXBpUmVzcG9uc2UiLCJzZXRBcHBMZXZlbEFwaVJlc3BvbnNlIiwidXNlU3RhdGUiLCJjb21wTGV2ZWxBcGlSZXNwb25zZSIsInNldENvbXBMZXZlbEFwaVJlc3BvbnNlIiwiYXBpU3Vic2NyaXB0aW9uUmVmIiwidXNlUmVmIiwiZXZlbnRTdWJzY3JpcHRpb25SZWYiLCJyZW1vdGVBcGkucmVnaXN0ZXIiLCJyZXMiLCJldmVudEJ1cy5zdWJzY3JpYmUiLCJyZW1vdGVBcGkudW5yZWdpc3RlciIsImV2ZW50QnVzLnVuc3Vic2NyaWJlIiwicmVtb3RlQXBpLmNhbGxBcGkiLCJyZXNwb25zZSIsImVycm9yIiwiZXZlbnRCdXMucHVibGlzaCIsIlJPVVRFUyIsImxhenkiLCJSb3V0ZXIiLCJjdXJyZW50UGF0aCIsInNldEN1cnJlbnRQYXRoIiwiaGFuZGxlSGFzaENoYW5nZSIsIlN1c3BlbnNlIiwiY3JlYXRlRWxlbWVudCIsIlJlYWN0RE9NIiwiUmVhY3QiXSwiaWdub3JlTGlzdCI6WzAsMSwyLDMsNCw1LDYsNyw4XSwic291cmNlcyI6WyIuLi8uLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LnByb2R1Y3Rpb24ubWluLmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWN0L2Nqcy9yZWFjdC1qc3gtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC9qc3gtcnVudGltZS5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvY2pzL3NjaGVkdWxlci5wcm9kdWN0aW9uLm1pbi5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvaW5kZXguanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2Nqcy9yZWFjdC1kb20ucHJvZHVjdGlvbi5taW4uanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2luZGV4LmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9jbGllbnQuanMiLCIuLi8uLi9zcmMvcGFnZXMvUm91dGVyUGFnZS50c3giLCIuLi8uLi9zcmMvbGlicy9vcHMvdXRpbHMudHMiLCIuLi8uLi9zcmMvbGlicy9vcHMvZXZlbnRCdXMudHMiLCIuLi8uLi9zcmMvbGlicy9vcHMvcmVtb3RlQXBpLnRzIiwiLi4vLi4vc3JjL2xpYnMvaG9va3MudHMiLCIuLi8uLi9zcmMvYXNzZXRzL3JlYWN0LnN2ZyIsIi4uLy4uL3NyYy9wYWdlcy9vcHMvTXlDb21wb25lbnQudHN4IiwiLi4vLi4vc3JjL1JvdXRlci50c3giLCIuLi8uLi9zcmMvbWFpbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogcmVhY3QucHJvZHVjdGlvbi5taW4uanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuJ3VzZSBzdHJpY3QnO3ZhciBsPVN5bWJvbC5mb3IoXCJyZWFjdC5lbGVtZW50XCIpLG49U3ltYm9sLmZvcihcInJlYWN0LnBvcnRhbFwiKSxwPVN5bWJvbC5mb3IoXCJyZWFjdC5mcmFnbWVudFwiKSxxPVN5bWJvbC5mb3IoXCJyZWFjdC5zdHJpY3RfbW9kZVwiKSxyPVN5bWJvbC5mb3IoXCJyZWFjdC5wcm9maWxlclwiKSx0PVN5bWJvbC5mb3IoXCJyZWFjdC5wcm92aWRlclwiKSx1PVN5bWJvbC5mb3IoXCJyZWFjdC5jb250ZXh0XCIpLHY9U3ltYm9sLmZvcihcInJlYWN0LmZvcndhcmRfcmVmXCIpLHc9U3ltYm9sLmZvcihcInJlYWN0LnN1c3BlbnNlXCIpLHg9U3ltYm9sLmZvcihcInJlYWN0Lm1lbW9cIikseT1TeW1ib2wuZm9yKFwicmVhY3QubGF6eVwiKSx6PVN5bWJvbC5pdGVyYXRvcjtmdW5jdGlvbiBBKGEpe2lmKG51bGw9PT1hfHxcIm9iamVjdFwiIT09dHlwZW9mIGEpcmV0dXJuIG51bGw7YT16JiZhW3pdfHxhW1wiQEBpdGVyYXRvclwiXTtyZXR1cm5cImZ1bmN0aW9uXCI9PT10eXBlb2YgYT9hOm51bGx9XG52YXIgQj17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0sQz1PYmplY3QuYXNzaWduLEQ9e307ZnVuY3Rpb24gRShhLGIsZSl7dGhpcy5wcm9wcz1hO3RoaXMuY29udGV4dD1iO3RoaXMucmVmcz1EO3RoaXMudXBkYXRlcj1lfHxCfUUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e307XG5FLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihhLGIpe2lmKFwib2JqZWN0XCIhPT10eXBlb2YgYSYmXCJmdW5jdGlvblwiIT09dHlwZW9mIGEmJm51bGwhPWEpdGhyb3cgRXJyb3IoXCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy5cIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGEsYixcInNldFN0YXRlXCIpfTtFLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihhKXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsYSxcImZvcmNlVXBkYXRlXCIpfTtmdW5jdGlvbiBGKCl7fUYucHJvdG90eXBlPUUucHJvdG90eXBlO2Z1bmN0aW9uIEcoYSxiLGUpe3RoaXMucHJvcHM9YTt0aGlzLmNvbnRleHQ9Yjt0aGlzLnJlZnM9RDt0aGlzLnVwZGF0ZXI9ZXx8Qn12YXIgSD1HLnByb3RvdHlwZT1uZXcgRjtcbkguY29uc3RydWN0b3I9RztDKEgsRS5wcm90b3R5cGUpO0guaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIEk9QXJyYXkuaXNBcnJheSxKPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksSz17Y3VycmVudDpudWxsfSxMPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07XG5mdW5jdGlvbiBNKGEsYixlKXt2YXIgZCxjPXt9LGs9bnVsbCxoPW51bGw7aWYobnVsbCE9Yilmb3IoZCBpbiB2b2lkIDAhPT1iLnJlZiYmKGg9Yi5yZWYpLHZvaWQgMCE9PWIua2V5JiYoaz1cIlwiK2Iua2V5KSxiKUouY2FsbChiLGQpJiYhTC5oYXNPd25Qcm9wZXJ0eShkKSYmKGNbZF09YltkXSk7dmFyIGc9YXJndW1lbnRzLmxlbmd0aC0yO2lmKDE9PT1nKWMuY2hpbGRyZW49ZTtlbHNlIGlmKDE8Zyl7Zm9yKHZhciBmPUFycmF5KGcpLG09MDttPGc7bSsrKWZbbV09YXJndW1lbnRzW20rMl07Yy5jaGlsZHJlbj1mfWlmKGEmJmEuZGVmYXVsdFByb3BzKWZvcihkIGluIGc9YS5kZWZhdWx0UHJvcHMsZyl2b2lkIDA9PT1jW2RdJiYoY1tkXT1nW2RdKTtyZXR1cm57JCR0eXBlb2Y6bCx0eXBlOmEsa2V5OmsscmVmOmgscHJvcHM6Yyxfb3duZXI6Sy5jdXJyZW50fX1cbmZ1bmN0aW9uIE4oYSxiKXtyZXR1cm57JCR0eXBlb2Y6bCx0eXBlOmEudHlwZSxrZXk6YixyZWY6YS5yZWYscHJvcHM6YS5wcm9wcyxfb3duZXI6YS5fb3duZXJ9fWZ1bmN0aW9uIE8oYSl7cmV0dXJuXCJvYmplY3RcIj09PXR5cGVvZiBhJiZudWxsIT09YSYmYS4kJHR5cGVvZj09PWx9ZnVuY3Rpb24gZXNjYXBlKGEpe3ZhciBiPXtcIj1cIjpcIj0wXCIsXCI6XCI6XCI9MlwifTtyZXR1cm5cIiRcIithLnJlcGxhY2UoL1s9Ol0vZyxmdW5jdGlvbihhKXtyZXR1cm4gYlthXX0pfXZhciBQPS9cXC8rL2c7ZnVuY3Rpb24gUShhLGIpe3JldHVyblwib2JqZWN0XCI9PT10eXBlb2YgYSYmbnVsbCE9PWEmJm51bGwhPWEua2V5P2VzY2FwZShcIlwiK2Eua2V5KTpiLnRvU3RyaW5nKDM2KX1cbmZ1bmN0aW9uIFIoYSxiLGUsZCxjKXt2YXIgaz10eXBlb2YgYTtpZihcInVuZGVmaW5lZFwiPT09a3x8XCJib29sZWFuXCI9PT1rKWE9bnVsbDt2YXIgaD0hMTtpZihudWxsPT09YSloPSEwO2Vsc2Ugc3dpdGNoKGspe2Nhc2UgXCJzdHJpbmdcIjpjYXNlIFwibnVtYmVyXCI6aD0hMDticmVhaztjYXNlIFwib2JqZWN0XCI6c3dpdGNoKGEuJCR0eXBlb2Ype2Nhc2UgbDpjYXNlIG46aD0hMH19aWYoaClyZXR1cm4gaD1hLGM9YyhoKSxhPVwiXCI9PT1kP1wiLlwiK1EoaCwwKTpkLEkoYyk/KGU9XCJcIixudWxsIT1hJiYoZT1hLnJlcGxhY2UoUCxcIiQmL1wiKStcIi9cIiksUihjLGIsZSxcIlwiLGZ1bmN0aW9uKGEpe3JldHVybiBhfSkpOm51bGwhPWMmJihPKGMpJiYoYz1OKGMsZSsoIWMua2V5fHxoJiZoLmtleT09PWMua2V5P1wiXCI6KFwiXCIrYy5rZXkpLnJlcGxhY2UoUCxcIiQmL1wiKStcIi9cIikrYSkpLGIucHVzaChjKSksMTtoPTA7ZD1cIlwiPT09ZD9cIi5cIjpkK1wiOlwiO2lmKEkoYSkpZm9yKHZhciBnPTA7ZzxhLmxlbmd0aDtnKyspe2s9XG5hW2ddO3ZhciBmPWQrUShrLGcpO2grPVIoayxiLGUsZixjKX1lbHNlIGlmKGY9QShhKSxcImZ1bmN0aW9uXCI9PT10eXBlb2YgZilmb3IoYT1mLmNhbGwoYSksZz0wOyEoaz1hLm5leHQoKSkuZG9uZTspaz1rLnZhbHVlLGY9ZCtRKGssZysrKSxoKz1SKGssYixlLGYsYyk7ZWxzZSBpZihcIm9iamVjdFwiPT09ayl0aHJvdyBiPVN0cmluZyhhKSxFcnJvcihcIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogXCIrKFwiW29iamVjdCBPYmplY3RdXCI9PT1iP1wib2JqZWN0IHdpdGgga2V5cyB7XCIrT2JqZWN0LmtleXMoYSkuam9pbihcIiwgXCIpK1wifVwiOmIpK1wiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLlwiKTtyZXR1cm4gaH1cbmZ1bmN0aW9uIFMoYSxiLGUpe2lmKG51bGw9PWEpcmV0dXJuIGE7dmFyIGQ9W10sYz0wO1IoYSxkLFwiXCIsXCJcIixmdW5jdGlvbihhKXtyZXR1cm4gYi5jYWxsKGUsYSxjKyspfSk7cmV0dXJuIGR9ZnVuY3Rpb24gVChhKXtpZigtMT09PWEuX3N0YXR1cyl7dmFyIGI9YS5fcmVzdWx0O2I9YigpO2IudGhlbihmdW5jdGlvbihiKXtpZigwPT09YS5fc3RhdHVzfHwtMT09PWEuX3N0YXR1cylhLl9zdGF0dXM9MSxhLl9yZXN1bHQ9Yn0sZnVuY3Rpb24oYil7aWYoMD09PWEuX3N0YXR1c3x8LTE9PT1hLl9zdGF0dXMpYS5fc3RhdHVzPTIsYS5fcmVzdWx0PWJ9KTstMT09PWEuX3N0YXR1cyYmKGEuX3N0YXR1cz0wLGEuX3Jlc3VsdD1iKX1pZigxPT09YS5fc3RhdHVzKXJldHVybiBhLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBhLl9yZXN1bHQ7fVxudmFyIFU9e2N1cnJlbnQ6bnVsbH0sVj17dHJhbnNpdGlvbjpudWxsfSxXPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOlUsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6VixSZWFjdEN1cnJlbnRPd25lcjpLfTtmdW5jdGlvbiBYKCl7dGhyb3cgRXJyb3IoXCJhY3QoLi4uKSBpcyBub3Qgc3VwcG9ydGVkIGluIHByb2R1Y3Rpb24gYnVpbGRzIG9mIFJlYWN0LlwiKTt9XG5leHBvcnRzLkNoaWxkcmVuPXttYXA6Uyxmb3JFYWNoOmZ1bmN0aW9uKGEsYixlKXtTKGEsZnVuY3Rpb24oKXtiLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZSl9LGNvdW50OmZ1bmN0aW9uKGEpe3ZhciBiPTA7UyhhLGZ1bmN0aW9uKCl7YisrfSk7cmV0dXJuIGJ9LHRvQXJyYXk6ZnVuY3Rpb24oYSl7cmV0dXJuIFMoYSxmdW5jdGlvbihhKXtyZXR1cm4gYX0pfHxbXX0sb25seTpmdW5jdGlvbihhKXtpZighTyhhKSl0aHJvdyBFcnJvcihcIlJlYWN0LkNoaWxkcmVuLm9ubHkgZXhwZWN0ZWQgdG8gcmVjZWl2ZSBhIHNpbmdsZSBSZWFjdCBlbGVtZW50IGNoaWxkLlwiKTtyZXR1cm4gYX19O2V4cG9ydHMuQ29tcG9uZW50PUU7ZXhwb3J0cy5GcmFnbWVudD1wO2V4cG9ydHMuUHJvZmlsZXI9cjtleHBvcnRzLlB1cmVDb21wb25lbnQ9RztleHBvcnRzLlN0cmljdE1vZGU9cTtleHBvcnRzLlN1c3BlbnNlPXc7XG5leHBvcnRzLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPVc7ZXhwb3J0cy5hY3Q9WDtcbmV4cG9ydHMuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGEsYixlKXtpZihudWxsPT09YXx8dm9pZCAwPT09YSl0aHJvdyBFcnJvcihcIlJlYWN0LmNsb25lRWxlbWVudCguLi4pOiBUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkIFwiK2ErXCIuXCIpO3ZhciBkPUMoe30sYS5wcm9wcyksYz1hLmtleSxrPWEucmVmLGg9YS5fb3duZXI7aWYobnVsbCE9Yil7dm9pZCAwIT09Yi5yZWYmJihrPWIucmVmLGg9Sy5jdXJyZW50KTt2b2lkIDAhPT1iLmtleSYmKGM9XCJcIitiLmtleSk7aWYoYS50eXBlJiZhLnR5cGUuZGVmYXVsdFByb3BzKXZhciBnPWEudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKGYgaW4gYilKLmNhbGwoYixmKSYmIUwuaGFzT3duUHJvcGVydHkoZikmJihkW2ZdPXZvaWQgMD09PWJbZl0mJnZvaWQgMCE9PWc/Z1tmXTpiW2ZdKX12YXIgZj1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWYpZC5jaGlsZHJlbj1lO2Vsc2UgaWYoMTxmKXtnPUFycmF5KGYpO1xuZm9yKHZhciBtPTA7bTxmO20rKylnW21dPWFyZ3VtZW50c1ttKzJdO2QuY2hpbGRyZW49Z31yZXR1cm57JCR0eXBlb2Y6bCx0eXBlOmEudHlwZSxrZXk6YyxyZWY6ayxwcm9wczpkLF9vd25lcjpofX07ZXhwb3J0cy5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGEpe2E9eyQkdHlwZW9mOnUsX2N1cnJlbnRWYWx1ZTphLF9jdXJyZW50VmFsdWUyOmEsX3RocmVhZENvdW50OjAsUHJvdmlkZXI6bnVsbCxDb25zdW1lcjpudWxsLF9kZWZhdWx0VmFsdWU6bnVsbCxfZ2xvYmFsTmFtZTpudWxsfTthLlByb3ZpZGVyPXskJHR5cGVvZjp0LF9jb250ZXh0OmF9O3JldHVybiBhLkNvbnN1bWVyPWF9O2V4cG9ydHMuY3JlYXRlRWxlbWVudD1NO2V4cG9ydHMuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihhKXt2YXIgYj1NLmJpbmQobnVsbCxhKTtiLnR5cGU9YTtyZXR1cm4gYn07ZXhwb3J0cy5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX07XG5leHBvcnRzLmZvcndhcmRSZWY9ZnVuY3Rpb24oYSl7cmV0dXJueyQkdHlwZW9mOnYscmVuZGVyOmF9fTtleHBvcnRzLmlzVmFsaWRFbGVtZW50PU87ZXhwb3J0cy5sYXp5PWZ1bmN0aW9uKGEpe3JldHVybnskJHR5cGVvZjp5LF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6YX0sX2luaXQ6VH19O2V4cG9ydHMubWVtbz1mdW5jdGlvbihhLGIpe3JldHVybnskJHR5cGVvZjp4LHR5cGU6YSxjb21wYXJlOnZvaWQgMD09PWI/bnVsbDpifX07ZXhwb3J0cy5zdGFydFRyYW5zaXRpb249ZnVuY3Rpb24oYSl7dmFyIGI9Vi50cmFuc2l0aW9uO1YudHJhbnNpdGlvbj17fTt0cnl7YSgpfWZpbmFsbHl7Vi50cmFuc2l0aW9uPWJ9fTtleHBvcnRzLnVuc3RhYmxlX2FjdD1YO2V4cG9ydHMudXNlQ2FsbGJhY2s9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVS5jdXJyZW50LnVzZUNhbGxiYWNrKGEsYil9O2V4cG9ydHMudXNlQ29udGV4dD1mdW5jdGlvbihhKXtyZXR1cm4gVS5jdXJyZW50LnVzZUNvbnRleHQoYSl9O1xuZXhwb3J0cy51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fTtleHBvcnRzLnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oYSl7cmV0dXJuIFUuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGEpfTtleHBvcnRzLnVzZUVmZmVjdD1mdW5jdGlvbihhLGIpe3JldHVybiBVLmN1cnJlbnQudXNlRWZmZWN0KGEsYil9O2V4cG9ydHMudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gVS5jdXJyZW50LnVzZUlkKCl9O2V4cG9ydHMudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbihhLGIsZSl7cmV0dXJuIFUuY3VycmVudC51c2VJbXBlcmF0aXZlSGFuZGxlKGEsYixlKX07ZXhwb3J0cy51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVS5jdXJyZW50LnVzZUluc2VydGlvbkVmZmVjdChhLGIpfTtleHBvcnRzLnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbihhLGIpe3JldHVybiBVLmN1cnJlbnQudXNlTGF5b3V0RWZmZWN0KGEsYil9O1xuZXhwb3J0cy51c2VNZW1vPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFUuY3VycmVudC51c2VNZW1vKGEsYil9O2V4cG9ydHMudXNlUmVkdWNlcj1mdW5jdGlvbihhLGIsZSl7cmV0dXJuIFUuY3VycmVudC51c2VSZWR1Y2VyKGEsYixlKX07ZXhwb3J0cy51c2VSZWY9ZnVuY3Rpb24oYSl7cmV0dXJuIFUuY3VycmVudC51c2VSZWYoYSl9O2V4cG9ydHMudXNlU3RhdGU9ZnVuY3Rpb24oYSl7cmV0dXJuIFUuY3VycmVudC51c2VTdGF0ZShhKX07ZXhwb3J0cy51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihhLGIsZSl7cmV0dXJuIFUuY3VycmVudC51c2VTeW5jRXh0ZXJuYWxTdG9yZShhLGIsZSl9O2V4cG9ydHMudXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBVLmN1cnJlbnQudXNlVHJhbnNpdGlvbigpfTtleHBvcnRzLnZlcnNpb249XCIxOC4zLjFcIjtcbiIsIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC5kZXZlbG9wbWVudC5qcycpO1xufVxuIiwiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogcmVhY3QtanN4LXJ1bnRpbWUucHJvZHVjdGlvbi5taW4uanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuJ3VzZSBzdHJpY3QnO3ZhciBmPXJlcXVpcmUoXCJyZWFjdFwiKSxrPVN5bWJvbC5mb3IoXCJyZWFjdC5lbGVtZW50XCIpLGw9U3ltYm9sLmZvcihcInJlYWN0LmZyYWdtZW50XCIpLG09T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxuPWYuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQuUmVhY3RDdXJyZW50T3duZXIscD17a2V5OiEwLHJlZjohMCxfX3NlbGY6ITAsX19zb3VyY2U6ITB9O1xuZnVuY3Rpb24gcShjLGEsZyl7dmFyIGIsZD17fSxlPW51bGwsaD1udWxsO3ZvaWQgMCE9PWcmJihlPVwiXCIrZyk7dm9pZCAwIT09YS5rZXkmJihlPVwiXCIrYS5rZXkpO3ZvaWQgMCE9PWEucmVmJiYoaD1hLnJlZik7Zm9yKGIgaW4gYSltLmNhbGwoYSxiKSYmIXAuaGFzT3duUHJvcGVydHkoYikmJihkW2JdPWFbYl0pO2lmKGMmJmMuZGVmYXVsdFByb3BzKWZvcihiIGluIGE9Yy5kZWZhdWx0UHJvcHMsYSl2b2lkIDA9PT1kW2JdJiYoZFtiXT1hW2JdKTtyZXR1cm57JCR0eXBlb2Y6ayx0eXBlOmMsa2V5OmUscmVmOmgscHJvcHM6ZCxfb3duZXI6bi5jdXJyZW50fX1leHBvcnRzLkZyYWdtZW50PWw7ZXhwb3J0cy5qc3g9cTtleHBvcnRzLmpzeHM9cTtcbiIsIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1qc3gtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1qc3gtcnVudGltZS5kZXZlbG9wbWVudC5qcycpO1xufVxuIiwiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogc2NoZWR1bGVyLnByb2R1Y3Rpb24ubWluLmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbid1c2Ugc3RyaWN0JztmdW5jdGlvbiBmKGEsYil7dmFyIGM9YS5sZW5ndGg7YS5wdXNoKGIpO2E6Zm9yKDswPGM7KXt2YXIgZD1jLTE+Pj4xLGU9YVtkXTtpZigwPGcoZSxiKSlhW2RdPWIsYVtjXT1lLGM9ZDtlbHNlIGJyZWFrIGF9fWZ1bmN0aW9uIGgoYSl7cmV0dXJuIDA9PT1hLmxlbmd0aD9udWxsOmFbMF19ZnVuY3Rpb24gayhhKXtpZigwPT09YS5sZW5ndGgpcmV0dXJuIG51bGw7dmFyIGI9YVswXSxjPWEucG9wKCk7aWYoYyE9PWIpe2FbMF09YzthOmZvcih2YXIgZD0wLGU9YS5sZW5ndGgsdz1lPj4+MTtkPHc7KXt2YXIgbT0yKihkKzEpLTEsQz1hW21dLG49bSsxLHg9YVtuXTtpZigwPmcoQyxjKSluPGUmJjA+Zyh4LEMpPyhhW2RdPXgsYVtuXT1jLGQ9bik6KGFbZF09QyxhW21dPWMsZD1tKTtlbHNlIGlmKG48ZSYmMD5nKHgsYykpYVtkXT14LGFbbl09YyxkPW47ZWxzZSBicmVhayBhfX1yZXR1cm4gYn1cbmZ1bmN0aW9uIGcoYSxiKXt2YXIgYz1hLnNvcnRJbmRleC1iLnNvcnRJbmRleDtyZXR1cm4gMCE9PWM/YzphLmlkLWIuaWR9aWYoXCJvYmplY3RcIj09PXR5cGVvZiBwZXJmb3JtYW5jZSYmXCJmdW5jdGlvblwiPT09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdyl7dmFyIGw9cGVyZm9ybWFuY2U7ZXhwb3J0cy51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gbC5ub3coKX19ZWxzZXt2YXIgcD1EYXRlLHE9cC5ub3coKTtleHBvcnRzLnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBwLm5vdygpLXF9fXZhciByPVtdLHQ9W10sdT0xLHY9bnVsbCx5PTMsej0hMSxBPSExLEI9ITEsRD1cImZ1bmN0aW9uXCI9PT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwsRT1cImZ1bmN0aW9uXCI9PT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLEY9XCJ1bmRlZmluZWRcIiE9PXR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7XG5cInVuZGVmaW5lZFwiIT09dHlwZW9mIG5hdmlnYXRvciYmdm9pZCAwIT09bmF2aWdhdG9yLnNjaGVkdWxpbmcmJnZvaWQgMCE9PW5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nJiZuYXZpZ2F0b3Iuc2NoZWR1bGluZy5pc0lucHV0UGVuZGluZy5iaW5kKG5hdmlnYXRvci5zY2hlZHVsaW5nKTtmdW5jdGlvbiBHKGEpe2Zvcih2YXIgYj1oKHQpO251bGwhPT1iOyl7aWYobnVsbD09PWIuY2FsbGJhY2spayh0KTtlbHNlIGlmKGIuc3RhcnRUaW1lPD1hKWsodCksYi5zb3J0SW5kZXg9Yi5leHBpcmF0aW9uVGltZSxmKHIsYik7ZWxzZSBicmVhaztiPWgodCl9fWZ1bmN0aW9uIEgoYSl7Qj0hMTtHKGEpO2lmKCFBKWlmKG51bGwhPT1oKHIpKUE9ITAsSShKKTtlbHNle3ZhciBiPWgodCk7bnVsbCE9PWImJksoSCxiLnN0YXJ0VGltZS1hKX19XG5mdW5jdGlvbiBKKGEsYil7QT0hMTtCJiYoQj0hMSxFKEwpLEw9LTEpO3o9ITA7dmFyIGM9eTt0cnl7RyhiKTtmb3Iodj1oKHIpO251bGwhPT12JiYoISh2LmV4cGlyYXRpb25UaW1lPmIpfHxhJiYhTSgpKTspe3ZhciBkPXYuY2FsbGJhY2s7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGQpe3YuY2FsbGJhY2s9bnVsbDt5PXYucHJpb3JpdHlMZXZlbDt2YXIgZT1kKHYuZXhwaXJhdGlvblRpbWU8PWIpO2I9ZXhwb3J0cy51bnN0YWJsZV9ub3coKTtcImZ1bmN0aW9uXCI9PT10eXBlb2YgZT92LmNhbGxiYWNrPWU6dj09PWgocikmJmsocik7RyhiKX1lbHNlIGsocik7dj1oKHIpfWlmKG51bGwhPT12KXZhciB3PSEwO2Vsc2V7dmFyIG09aCh0KTtudWxsIT09bSYmSyhILG0uc3RhcnRUaW1lLWIpO3c9ITF9cmV0dXJuIHd9ZmluYWxseXt2PW51bGwseT1jLHo9ITF9fXZhciBOPSExLE89bnVsbCxMPS0xLFA9NSxRPS0xO1xuZnVuY3Rpb24gTSgpe3JldHVybiBleHBvcnRzLnVuc3RhYmxlX25vdygpLVE8UD8hMTohMH1mdW5jdGlvbiBSKCl7aWYobnVsbCE9PU8pe3ZhciBhPWV4cG9ydHMudW5zdGFibGVfbm93KCk7UT1hO3ZhciBiPSEwO3RyeXtiPU8oITAsYSl9ZmluYWxseXtiP1MoKTooTj0hMSxPPW51bGwpfX1lbHNlIE49ITF9dmFyIFM7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIEYpUz1mdW5jdGlvbigpe0YoUil9O2Vsc2UgaWYoXCJ1bmRlZmluZWRcIiE9PXR5cGVvZiBNZXNzYWdlQ2hhbm5lbCl7dmFyIFQ9bmV3IE1lc3NhZ2VDaGFubmVsLFU9VC5wb3J0MjtULnBvcnQxLm9ubWVzc2FnZT1SO1M9ZnVuY3Rpb24oKXtVLnBvc3RNZXNzYWdlKG51bGwpfX1lbHNlIFM9ZnVuY3Rpb24oKXtEKFIsMCl9O2Z1bmN0aW9uIEkoYSl7Tz1hO058fChOPSEwLFMoKSl9ZnVuY3Rpb24gSyhhLGIpe0w9RChmdW5jdGlvbigpe2EoZXhwb3J0cy51bnN0YWJsZV9ub3coKSl9LGIpfVxuZXhwb3J0cy51bnN0YWJsZV9JZGxlUHJpb3JpdHk9NTtleHBvcnRzLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5PTE7ZXhwb3J0cy51bnN0YWJsZV9Mb3dQcmlvcml0eT00O2V4cG9ydHMudW5zdGFibGVfTm9ybWFsUHJpb3JpdHk9MztleHBvcnRzLnVuc3RhYmxlX1Byb2ZpbGluZz1udWxsO2V4cG9ydHMudW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHk9MjtleHBvcnRzLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGEpe2EuY2FsbGJhY2s9bnVsbH07ZXhwb3J0cy51bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbj1mdW5jdGlvbigpe0F8fHp8fChBPSEwLEkoSikpfTtcbmV4cG9ydHMudW5zdGFibGVfZm9yY2VGcmFtZVJhdGU9ZnVuY3Rpb24oYSl7MD5hfHwxMjU8YT9jb25zb2xlLmVycm9yKFwiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkXCIpOlA9MDxhP01hdGguZmxvb3IoMUUzL2EpOjV9O2V4cG9ydHMudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4geX07ZXhwb3J0cy51bnN0YWJsZV9nZXRGaXJzdENhbGxiYWNrTm9kZT1mdW5jdGlvbigpe3JldHVybiBoKHIpfTtleHBvcnRzLnVuc3RhYmxlX25leHQ9ZnVuY3Rpb24oYSl7c3dpdGNoKHkpe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOnZhciBiPTM7YnJlYWs7ZGVmYXVsdDpiPXl9dmFyIGM9eTt5PWI7dHJ5e3JldHVybiBhKCl9ZmluYWxseXt5PWN9fTtleHBvcnRzLnVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uPWZ1bmN0aW9uKCl7fTtcbmV4cG9ydHMudW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7fTtleHBvcnRzLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6YT0zfXZhciBjPXk7eT1hO3RyeXtyZXR1cm4gYigpfWZpbmFsbHl7eT1jfX07XG5leHBvcnRzLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWV4cG9ydHMudW5zdGFibGVfbm93KCk7XCJvYmplY3RcIj09PXR5cGVvZiBjJiZudWxsIT09Yz8oYz1jLmRlbGF5LGM9XCJudW1iZXJcIj09PXR5cGVvZiBjJiYwPGM/ZCtjOmQpOmM9ZDtzd2l0Y2goYSl7Y2FzZSAxOnZhciBlPS0xO2JyZWFrO2Nhc2UgMjplPTI1MDticmVhaztjYXNlIDU6ZT0xMDczNzQxODIzO2JyZWFrO2Nhc2UgNDplPTFFNDticmVhaztkZWZhdWx0OmU9NUUzfWU9YytlO2E9e2lkOnUrKyxjYWxsYmFjazpiLHByaW9yaXR5TGV2ZWw6YSxzdGFydFRpbWU6YyxleHBpcmF0aW9uVGltZTplLHNvcnRJbmRleDotMX07Yz5kPyhhLnNvcnRJbmRleD1jLGYodCxhKSxudWxsPT09aChyKSYmYT09PWgodCkmJihCPyhFKEwpLEw9LTEpOkI9ITAsSyhILGMtZCkpKTooYS5zb3J0SW5kZXg9ZSxmKHIsYSksQXx8enx8KEE9ITAsSShKKSkpO3JldHVybiBhfTtcbmV4cG9ydHMudW5zdGFibGVfc2hvdWxkWWllbGQ9TTtleHBvcnRzLnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihhKXt2YXIgYj15O3JldHVybiBmdW5jdGlvbigpe3ZhciBjPXk7eT1iO3RyeXtyZXR1cm4gYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXt5PWN9fX07XG4iLCIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvc2NoZWR1bGVyLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3NjaGVkdWxlci5kZXZlbG9wbWVudC5qcycpO1xufVxuIiwiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogcmVhY3QtZG9tLnByb2R1Y3Rpb24ubWluLmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbi8qXG4gTW9kZXJuaXpyIDMuMC4wcHJlIChDdXN0b20gQnVpbGQpIHwgTUlUXG4qL1xuJ3VzZSBzdHJpY3QnO3ZhciBhYT1yZXF1aXJlKFwicmVhY3RcIiksY2E9cmVxdWlyZShcInNjaGVkdWxlclwiKTtmdW5jdGlvbiBwKGEpe2Zvcih2YXIgYj1cImh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9lcnJvci1kZWNvZGVyLmh0bWw/aW52YXJpYW50PVwiK2EsYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspYis9XCImYXJnc1tdPVwiK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbY10pO3JldHVyblwiTWluaWZpZWQgUmVhY3QgZXJyb3IgI1wiK2ErXCI7IHZpc2l0IFwiK2IrXCIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLlwifXZhciBkYT1uZXcgU2V0LGVhPXt9O2Z1bmN0aW9uIGZhKGEsYil7aGEoYSxiKTtoYShhK1wiQ2FwdHVyZVwiLGIpfVxuZnVuY3Rpb24gaGEoYSxiKXtlYVthXT1iO2ZvcihhPTA7YTxiLmxlbmd0aDthKyspZGEuYWRkKGJbYV0pfVxudmFyIGlhPSEoXCJ1bmRlZmluZWRcIj09PXR5cGVvZiB3aW5kb3d8fFwidW5kZWZpbmVkXCI9PT10eXBlb2Ygd2luZG93LmRvY3VtZW50fHxcInVuZGVmaW5lZFwiPT09dHlwZW9mIHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KSxqYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGthPS9eWzpBLVpfYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXVs6QS1aX2EtelxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDJGRlxcdTAzNzAtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRFxcLS4wLTlcXHUwMEI3XFx1MDMwMC1cXHUwMzZGXFx1MjAzRi1cXHUyMDQwXSokLyxsYT1cbnt9LG1hPXt9O2Z1bmN0aW9uIG9hKGEpe2lmKGphLmNhbGwobWEsYSkpcmV0dXJuITA7aWYoamEuY2FsbChsYSxhKSlyZXR1cm4hMTtpZihrYS50ZXN0KGEpKXJldHVybiBtYVthXT0hMDtsYVthXT0hMDtyZXR1cm4hMX1mdW5jdGlvbiBwYShhLGIsYyxkKXtpZihudWxsIT09YyYmMD09PWMudHlwZSlyZXR1cm4hMTtzd2l0Y2godHlwZW9mIGIpe2Nhc2UgXCJmdW5jdGlvblwiOmNhc2UgXCJzeW1ib2xcIjpyZXR1cm4hMDtjYXNlIFwiYm9vbGVhblwiOmlmKGQpcmV0dXJuITE7aWYobnVsbCE9PWMpcmV0dXJuIWMuYWNjZXB0c0Jvb2xlYW5zO2E9YS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSk7cmV0dXJuXCJkYXRhLVwiIT09YSYmXCJhcmlhLVwiIT09YTtkZWZhdWx0OnJldHVybiExfX1cbmZ1bmN0aW9uIHFhKGEsYixjLGQpe2lmKG51bGw9PT1ifHxcInVuZGVmaW5lZFwiPT09dHlwZW9mIGJ8fHBhKGEsYixjLGQpKXJldHVybiEwO2lmKGQpcmV0dXJuITE7aWYobnVsbCE9PWMpc3dpdGNoKGMudHlwZSl7Y2FzZSAzOnJldHVybiFiO2Nhc2UgNDpyZXR1cm4hMT09PWI7Y2FzZSA1OnJldHVybiBpc05hTihiKTtjYXNlIDY6cmV0dXJuIGlzTmFOKGIpfHwxPmJ9cmV0dXJuITF9ZnVuY3Rpb24gdihhLGIsYyxkLGUsZixnKXt0aGlzLmFjY2VwdHNCb29sZWFucz0yPT09Ynx8Mz09PWJ8fDQ9PT1iO3RoaXMuYXR0cmlidXRlTmFtZT1kO3RoaXMuYXR0cmlidXRlTmFtZXNwYWNlPWU7dGhpcy5tdXN0VXNlUHJvcGVydHk9Yzt0aGlzLnByb3BlcnR5TmFtZT1hO3RoaXMudHlwZT1iO3RoaXMuc2FuaXRpemVVUkw9Zjt0aGlzLnJlbW92ZUVtcHR5U3RyaW5nPWd9dmFyIHo9e307XG5cImNoaWxkcmVuIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIGRlZmF1bHRWYWx1ZSBkZWZhdWx0Q2hlY2tlZCBpbm5lckhUTUwgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZyBzdHlsZVwiLnNwbGl0KFwiIFwiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3pbYV09bmV3IHYoYSwwLCExLGEsbnVsbCwhMSwhMSl9KTtbW1wiYWNjZXB0Q2hhcnNldFwiLFwiYWNjZXB0LWNoYXJzZXRcIl0sW1wiY2xhc3NOYW1lXCIsXCJjbGFzc1wiXSxbXCJodG1sRm9yXCIsXCJmb3JcIl0sW1wiaHR0cEVxdWl2XCIsXCJodHRwLWVxdWl2XCJdXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWFbMF07eltiXT1uZXcgdihiLDEsITEsYVsxXSxudWxsLCExLCExKX0pO1tcImNvbnRlbnRFZGl0YWJsZVwiLFwiZHJhZ2dhYmxlXCIsXCJzcGVsbENoZWNrXCIsXCJ2YWx1ZVwiXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3pbYV09bmV3IHYoYSwyLCExLGEudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pO1xuW1wiYXV0b1JldmVyc2VcIixcImV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRcIixcImZvY3VzYWJsZVwiLFwicHJlc2VydmVBbHBoYVwiXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3pbYV09bmV3IHYoYSwyLCExLGEsbnVsbCwhMSwhMSl9KTtcImFsbG93RnVsbFNjcmVlbiBhc3luYyBhdXRvRm9jdXMgYXV0b1BsYXkgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlUGljdHVyZUluUGljdHVyZSBkaXNhYmxlUmVtb3RlUGxheWJhY2sgZm9ybU5vVmFsaWRhdGUgaGlkZGVuIGxvb3Agbm9Nb2R1bGUgbm9WYWxpZGF0ZSBvcGVuIHBsYXlzSW5saW5lIHJlYWRPbmx5IHJlcXVpcmVkIHJldmVyc2VkIHNjb3BlZCBzZWFtbGVzcyBpdGVtU2NvcGVcIi5zcGxpdChcIiBcIikuZm9yRWFjaChmdW5jdGlvbihhKXt6W2FdPW5ldyB2KGEsMywhMSxhLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KTtcbltcImNoZWNrZWRcIixcIm11bHRpcGxlXCIsXCJtdXRlZFwiLFwic2VsZWN0ZWRcIl0uZm9yRWFjaChmdW5jdGlvbihhKXt6W2FdPW5ldyB2KGEsMywhMCxhLG51bGwsITEsITEpfSk7W1wiY2FwdHVyZVwiLFwiZG93bmxvYWRcIl0uZm9yRWFjaChmdW5jdGlvbihhKXt6W2FdPW5ldyB2KGEsNCwhMSxhLG51bGwsITEsITEpfSk7W1wiY29sc1wiLFwicm93c1wiLFwic2l6ZVwiLFwic3BhblwiXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3pbYV09bmV3IHYoYSw2LCExLGEsbnVsbCwhMSwhMSl9KTtbXCJyb3dTcGFuXCIsXCJzdGFydFwiXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3pbYV09bmV3IHYoYSw1LCExLGEudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pO3ZhciByYT0vW1xcLTpdKFthLXpdKS9nO2Z1bmN0aW9uIHNhKGEpe3JldHVybiBhWzFdLnRvVXBwZXJDYXNlKCl9XG5cImFjY2VudC1oZWlnaHQgYWxpZ25tZW50LWJhc2VsaW5lIGFyYWJpYy1mb3JtIGJhc2VsaW5lLXNoaWZ0IGNhcC1oZWlnaHQgY2xpcC1wYXRoIGNsaXAtcnVsZSBjb2xvci1pbnRlcnBvbGF0aW9uIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycyBjb2xvci1wcm9maWxlIGNvbG9yLXJlbmRlcmluZyBkb21pbmFudC1iYXNlbGluZSBlbmFibGUtYmFja2dyb3VuZCBmaWxsLW9wYWNpdHkgZmlsbC1ydWxlIGZsb29kLWNvbG9yIGZsb29kLW9wYWNpdHkgZm9udC1mYW1pbHkgZm9udC1zaXplIGZvbnQtc2l6ZS1hZGp1c3QgZm9udC1zdHJldGNoIGZvbnQtc3R5bGUgZm9udC12YXJpYW50IGZvbnQtd2VpZ2h0IGdseXBoLW5hbWUgZ2x5cGgtb3JpZW50YXRpb24taG9yaXpvbnRhbCBnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbCBob3Jpei1hZHYteCBob3Jpei1vcmlnaW4teCBpbWFnZS1yZW5kZXJpbmcgbGV0dGVyLXNwYWNpbmcgbGlnaHRpbmctY29sb3IgbWFya2VyLWVuZCBtYXJrZXItbWlkIG1hcmtlci1zdGFydCBvdmVybGluZS1wb3NpdGlvbiBvdmVybGluZS10aGlja25lc3MgcGFpbnQtb3JkZXIgcGFub3NlLTEgcG9pbnRlci1ldmVudHMgcmVuZGVyaW5nLWludGVudCBzaGFwZS1yZW5kZXJpbmcgc3RvcC1jb2xvciBzdG9wLW9wYWNpdHkgc3RyaWtldGhyb3VnaC1wb3NpdGlvbiBzdHJpa2V0aHJvdWdoLXRoaWNrbmVzcyBzdHJva2UtZGFzaGFycmF5IHN0cm9rZS1kYXNob2Zmc2V0IHN0cm9rZS1saW5lY2FwIHN0cm9rZS1saW5lam9pbiBzdHJva2UtbWl0ZXJsaW1pdCBzdHJva2Utb3BhY2l0eSBzdHJva2Utd2lkdGggdGV4dC1hbmNob3IgdGV4dC1kZWNvcmF0aW9uIHRleHQtcmVuZGVyaW5nIHVuZGVybGluZS1wb3NpdGlvbiB1bmRlcmxpbmUtdGhpY2tuZXNzIHVuaWNvZGUtYmlkaSB1bmljb2RlLXJhbmdlIHVuaXRzLXBlci1lbSB2LWFscGhhYmV0aWMgdi1oYW5naW5nIHYtaWRlb2dyYXBoaWMgdi1tYXRoZW1hdGljYWwgdmVjdG9yLWVmZmVjdCB2ZXJ0LWFkdi15IHZlcnQtb3JpZ2luLXggdmVydC1vcmlnaW4teSB3b3JkLXNwYWNpbmcgd3JpdGluZy1tb2RlIHhtbG5zOnhsaW5rIHgtaGVpZ2h0XCIuc3BsaXQoXCIgXCIpLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKHJhLFxuc2EpO3pbYl09bmV3IHYoYiwxLCExLGEsbnVsbCwhMSwhMSl9KTtcInhsaW5rOmFjdHVhdGUgeGxpbms6YXJjcm9sZSB4bGluazpyb2xlIHhsaW5rOnNob3cgeGxpbms6dGl0bGUgeGxpbms6dHlwZVwiLnNwbGl0KFwiIFwiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShyYSxzYSk7eltiXT1uZXcgdihiLDEsITEsYSxcImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiwhMSwhMSl9KTtbXCJ4bWw6YmFzZVwiLFwieG1sOmxhbmdcIixcInhtbDpzcGFjZVwiXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShyYSxzYSk7eltiXT1uZXcgdihiLDEsITEsYSxcImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZVwiLCExLCExKX0pO1tcInRhYkluZGV4XCIsXCJjcm9zc09yaWdpblwiXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3pbYV09bmV3IHYoYSwxLCExLGEudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pO1xuei54bGlua0hyZWY9bmV3IHYoXCJ4bGlua0hyZWZcIiwxLCExLFwieGxpbms6aHJlZlwiLFwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiLCEwLCExKTtbXCJzcmNcIixcImhyZWZcIixcImFjdGlvblwiLFwiZm9ybUFjdGlvblwiXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3pbYV09bmV3IHYoYSwxLCExLGEudG9Mb3dlckNhc2UoKSxudWxsLCEwLCEwKX0pO1xuZnVuY3Rpb24gdGEoYSxiLGMsZCl7dmFyIGU9ei5oYXNPd25Qcm9wZXJ0eShiKT96W2JdOm51bGw7aWYobnVsbCE9PWU/MCE9PWUudHlwZTpkfHwhKDI8Yi5sZW5ndGgpfHxcIm9cIiE9PWJbMF0mJlwiT1wiIT09YlswXXx8XCJuXCIhPT1iWzFdJiZcIk5cIiE9PWJbMV0pcWEoYixjLGUsZCkmJihjPW51bGwpLGR8fG51bGw9PT1lP29hKGIpJiYobnVsbD09PWM/YS5yZW1vdmVBdHRyaWJ1dGUoYik6YS5zZXRBdHRyaWJ1dGUoYixcIlwiK2MpKTplLm11c3RVc2VQcm9wZXJ0eT9hW2UucHJvcGVydHlOYW1lXT1udWxsPT09Yz8zPT09ZS50eXBlPyExOlwiXCI6YzooYj1lLmF0dHJpYnV0ZU5hbWUsZD1lLmF0dHJpYnV0ZU5hbWVzcGFjZSxudWxsPT09Yz9hLnJlbW92ZUF0dHJpYnV0ZShiKTooZT1lLnR5cGUsYz0zPT09ZXx8ND09PWUmJiEwPT09Yz9cIlwiOlwiXCIrYyxkP2Euc2V0QXR0cmlidXRlTlMoZCxiLGMpOmEuc2V0QXR0cmlidXRlKGIsYykpKX1cbnZhciB1YT1hYS5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCx2YT1TeW1ib2wuZm9yKFwicmVhY3QuZWxlbWVudFwiKSx3YT1TeW1ib2wuZm9yKFwicmVhY3QucG9ydGFsXCIpLHlhPVN5bWJvbC5mb3IoXCJyZWFjdC5mcmFnbWVudFwiKSx6YT1TeW1ib2wuZm9yKFwicmVhY3Quc3RyaWN0X21vZGVcIiksQWE9U3ltYm9sLmZvcihcInJlYWN0LnByb2ZpbGVyXCIpLEJhPVN5bWJvbC5mb3IoXCJyZWFjdC5wcm92aWRlclwiKSxDYT1TeW1ib2wuZm9yKFwicmVhY3QuY29udGV4dFwiKSxEYT1TeW1ib2wuZm9yKFwicmVhY3QuZm9yd2FyZF9yZWZcIiksRWE9U3ltYm9sLmZvcihcInJlYWN0LnN1c3BlbnNlXCIpLEZhPVN5bWJvbC5mb3IoXCJyZWFjdC5zdXNwZW5zZV9saXN0XCIpLEdhPVN5bWJvbC5mb3IoXCJyZWFjdC5tZW1vXCIpLEhhPVN5bWJvbC5mb3IoXCJyZWFjdC5sYXp5XCIpO1N5bWJvbC5mb3IoXCJyZWFjdC5zY29wZVwiKTtTeW1ib2wuZm9yKFwicmVhY3QuZGVidWdfdHJhY2VfbW9kZVwiKTtcbnZhciBJYT1TeW1ib2wuZm9yKFwicmVhY3Qub2Zmc2NyZWVuXCIpO1N5bWJvbC5mb3IoXCJyZWFjdC5sZWdhY3lfaGlkZGVuXCIpO1N5bWJvbC5mb3IoXCJyZWFjdC5jYWNoZVwiKTtTeW1ib2wuZm9yKFwicmVhY3QudHJhY2luZ19tYXJrZXJcIik7dmFyIEphPVN5bWJvbC5pdGVyYXRvcjtmdW5jdGlvbiBLYShhKXtpZihudWxsPT09YXx8XCJvYmplY3RcIiE9PXR5cGVvZiBhKXJldHVybiBudWxsO2E9SmEmJmFbSmFdfHxhW1wiQEBpdGVyYXRvclwiXTtyZXR1cm5cImZ1bmN0aW9uXCI9PT10eXBlb2YgYT9hOm51bGx9dmFyIEE9T2JqZWN0LmFzc2lnbixMYTtmdW5jdGlvbiBNYShhKXtpZih2b2lkIDA9PT1MYSl0cnl7dGhyb3cgRXJyb3IoKTt9Y2F0Y2goYyl7dmFyIGI9Yy5zdGFjay50cmltKCkubWF0Y2goL1xcbiggKihhdCApPykvKTtMYT1iJiZiWzFdfHxcIlwifXJldHVyblwiXFxuXCIrTGErYX12YXIgTmE9ITE7XG5mdW5jdGlvbiBPYShhLGIpe2lmKCFhfHxOYSlyZXR1cm5cIlwiO05hPSEwO3ZhciBjPUVycm9yLnByZXBhcmVTdGFja1RyYWNlO0Vycm9yLnByZXBhcmVTdGFja1RyYWNlPXZvaWQgMDt0cnl7aWYoYilpZihiPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKTt9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiLnByb3RvdHlwZSxcInByb3BzXCIse3NldDpmdW5jdGlvbigpe3Rocm93IEVycm9yKCk7fX0pLFwib2JqZWN0XCI9PT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChiLFtdKX1jYXRjaChsKXt2YXIgZD1sfVJlZmxlY3QuY29uc3RydWN0KGEsW10sYil9ZWxzZXt0cnl7Yi5jYWxsKCl9Y2F0Y2gobCl7ZD1sfWEuY2FsbChiLnByb3RvdHlwZSl9ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKTt9Y2F0Y2gobCl7ZD1sfWEoKX19Y2F0Y2gobCl7aWYobCYmZCYmXCJzdHJpbmdcIj09PXR5cGVvZiBsLnN0YWNrKXtmb3IodmFyIGU9bC5zdGFjay5zcGxpdChcIlxcblwiKSxcbmY9ZC5zdGFjay5zcGxpdChcIlxcblwiKSxnPWUubGVuZ3RoLTEsaD1mLmxlbmd0aC0xOzE8PWcmJjA8PWgmJmVbZ10hPT1mW2hdOyloLS07Zm9yKDsxPD1nJiYwPD1oO2ctLSxoLS0paWYoZVtnXSE9PWZbaF0pe2lmKDEhPT1nfHwxIT09aCl7ZG8gaWYoZy0tLGgtLSwwPmh8fGVbZ10hPT1mW2hdKXt2YXIgaz1cIlxcblwiK2VbZ10ucmVwbGFjZShcIiBhdCBuZXcgXCIsXCIgYXQgXCIpO2EuZGlzcGxheU5hbWUmJmsuaW5jbHVkZXMoXCI8YW5vbnltb3VzPlwiKSYmKGs9ay5yZXBsYWNlKFwiPGFub255bW91cz5cIixhLmRpc3BsYXlOYW1lKSk7cmV0dXJuIGt9d2hpbGUoMTw9ZyYmMDw9aCl9YnJlYWt9fX1maW5hbGx5e05hPSExLEVycm9yLnByZXBhcmVTdGFja1RyYWNlPWN9cmV0dXJuKGE9YT9hLmRpc3BsYXlOYW1lfHxhLm5hbWU6XCJcIik/TWEoYSk6XCJcIn1cbmZ1bmN0aW9uIFBhKGEpe3N3aXRjaChhLnRhZyl7Y2FzZSA1OnJldHVybiBNYShhLnR5cGUpO2Nhc2UgMTY6cmV0dXJuIE1hKFwiTGF6eVwiKTtjYXNlIDEzOnJldHVybiBNYShcIlN1c3BlbnNlXCIpO2Nhc2UgMTk6cmV0dXJuIE1hKFwiU3VzcGVuc2VMaXN0XCIpO2Nhc2UgMDpjYXNlIDI6Y2FzZSAxNTpyZXR1cm4gYT1PYShhLnR5cGUsITEpLGE7Y2FzZSAxMTpyZXR1cm4gYT1PYShhLnR5cGUucmVuZGVyLCExKSxhO2Nhc2UgMTpyZXR1cm4gYT1PYShhLnR5cGUsITApLGE7ZGVmYXVsdDpyZXR1cm5cIlwifX1cbmZ1bmN0aW9uIFFhKGEpe2lmKG51bGw9PWEpcmV0dXJuIG51bGw7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGEpcmV0dXJuIGEuZGlzcGxheU5hbWV8fGEubmFtZXx8bnVsbDtpZihcInN0cmluZ1wiPT09dHlwZW9mIGEpcmV0dXJuIGE7c3dpdGNoKGEpe2Nhc2UgeWE6cmV0dXJuXCJGcmFnbWVudFwiO2Nhc2Ugd2E6cmV0dXJuXCJQb3J0YWxcIjtjYXNlIEFhOnJldHVyblwiUHJvZmlsZXJcIjtjYXNlIHphOnJldHVyblwiU3RyaWN0TW9kZVwiO2Nhc2UgRWE6cmV0dXJuXCJTdXNwZW5zZVwiO2Nhc2UgRmE6cmV0dXJuXCJTdXNwZW5zZUxpc3RcIn1pZihcIm9iamVjdFwiPT09dHlwZW9mIGEpc3dpdGNoKGEuJCR0eXBlb2Ype2Nhc2UgQ2E6cmV0dXJuKGEuZGlzcGxheU5hbWV8fFwiQ29udGV4dFwiKStcIi5Db25zdW1lclwiO2Nhc2UgQmE6cmV0dXJuKGEuX2NvbnRleHQuZGlzcGxheU5hbWV8fFwiQ29udGV4dFwiKStcIi5Qcm92aWRlclwiO2Nhc2UgRGE6dmFyIGI9YS5yZW5kZXI7YT1hLmRpc3BsYXlOYW1lO2F8fChhPWIuZGlzcGxheU5hbWV8fFxuYi5uYW1lfHxcIlwiLGE9XCJcIiE9PWE/XCJGb3J3YXJkUmVmKFwiK2ErXCIpXCI6XCJGb3J3YXJkUmVmXCIpO3JldHVybiBhO2Nhc2UgR2E6cmV0dXJuIGI9YS5kaXNwbGF5TmFtZXx8bnVsbCxudWxsIT09Yj9iOlFhKGEudHlwZSl8fFwiTWVtb1wiO2Nhc2UgSGE6Yj1hLl9wYXlsb2FkO2E9YS5faW5pdDt0cnl7cmV0dXJuIFFhKGEoYikpfWNhdGNoKGMpe319cmV0dXJuIG51bGx9XG5mdW5jdGlvbiBSYShhKXt2YXIgYj1hLnR5cGU7c3dpdGNoKGEudGFnKXtjYXNlIDI0OnJldHVyblwiQ2FjaGVcIjtjYXNlIDk6cmV0dXJuKGIuZGlzcGxheU5hbWV8fFwiQ29udGV4dFwiKStcIi5Db25zdW1lclwiO2Nhc2UgMTA6cmV0dXJuKGIuX2NvbnRleHQuZGlzcGxheU5hbWV8fFwiQ29udGV4dFwiKStcIi5Qcm92aWRlclwiO2Nhc2UgMTg6cmV0dXJuXCJEZWh5ZHJhdGVkRnJhZ21lbnRcIjtjYXNlIDExOnJldHVybiBhPWIucmVuZGVyLGE9YS5kaXNwbGF5TmFtZXx8YS5uYW1lfHxcIlwiLGIuZGlzcGxheU5hbWV8fChcIlwiIT09YT9cIkZvcndhcmRSZWYoXCIrYStcIilcIjpcIkZvcndhcmRSZWZcIik7Y2FzZSA3OnJldHVyblwiRnJhZ21lbnRcIjtjYXNlIDU6cmV0dXJuIGI7Y2FzZSA0OnJldHVyblwiUG9ydGFsXCI7Y2FzZSAzOnJldHVyblwiUm9vdFwiO2Nhc2UgNjpyZXR1cm5cIlRleHRcIjtjYXNlIDE2OnJldHVybiBRYShiKTtjYXNlIDg6cmV0dXJuIGI9PT16YT9cIlN0cmljdE1vZGVcIjpcIk1vZGVcIjtjYXNlIDIyOnJldHVyblwiT2Zmc2NyZWVuXCI7XG5jYXNlIDEyOnJldHVyblwiUHJvZmlsZXJcIjtjYXNlIDIxOnJldHVyblwiU2NvcGVcIjtjYXNlIDEzOnJldHVyblwiU3VzcGVuc2VcIjtjYXNlIDE5OnJldHVyblwiU3VzcGVuc2VMaXN0XCI7Y2FzZSAyNTpyZXR1cm5cIlRyYWNpbmdNYXJrZXJcIjtjYXNlIDE6Y2FzZSAwOmNhc2UgMTc6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTppZihcImZ1bmN0aW9uXCI9PT10eXBlb2YgYilyZXR1cm4gYi5kaXNwbGF5TmFtZXx8Yi5uYW1lfHxudWxsO2lmKFwic3RyaW5nXCI9PT10eXBlb2YgYilyZXR1cm4gYn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBTYShhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgXCJib29sZWFuXCI6Y2FzZSBcIm51bWJlclwiOmNhc2UgXCJzdHJpbmdcIjpjYXNlIFwidW5kZWZpbmVkXCI6cmV0dXJuIGE7Y2FzZSBcIm9iamVjdFwiOnJldHVybiBhO2RlZmF1bHQ6cmV0dXJuXCJcIn19XG5mdW5jdGlvbiBUYShhKXt2YXIgYj1hLnR5cGU7cmV0dXJuKGE9YS5ub2RlTmFtZSkmJlwiaW5wdXRcIj09PWEudG9Mb3dlckNhc2UoKSYmKFwiY2hlY2tib3hcIj09PWJ8fFwicmFkaW9cIj09PWIpfVxuZnVuY3Rpb24gVWEoYSl7dmFyIGI9VGEoYSk/XCJjaGVja2VkXCI6XCJ2YWx1ZVwiLGM9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxiKSxkPVwiXCIrYVtiXTtpZighYS5oYXNPd25Qcm9wZXJ0eShiKSYmXCJ1bmRlZmluZWRcIiE9PXR5cGVvZiBjJiZcImZ1bmN0aW9uXCI9PT10eXBlb2YgYy5nZXQmJlwiZnVuY3Rpb25cIj09PXR5cGVvZiBjLnNldCl7dmFyIGU9Yy5nZXQsZj1jLnNldDtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxiLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGUuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGEpe2Q9XCJcIithO2YuY2FsbCh0aGlzLGEpfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGIse2VudW1lcmFibGU6Yy5lbnVtZXJhYmxlfSk7cmV0dXJue2dldFZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LHNldFZhbHVlOmZ1bmN0aW9uKGEpe2Q9XCJcIithfSxzdG9wVHJhY2tpbmc6ZnVuY3Rpb24oKXthLl92YWx1ZVRyYWNrZXI9XG5udWxsO2RlbGV0ZSBhW2JdfX19fWZ1bmN0aW9uIFZhKGEpe2EuX3ZhbHVlVHJhY2tlcnx8KGEuX3ZhbHVlVHJhY2tlcj1VYShhKSl9ZnVuY3Rpb24gV2EoYSl7aWYoIWEpcmV0dXJuITE7dmFyIGI9YS5fdmFsdWVUcmFja2VyO2lmKCFiKXJldHVybiEwO3ZhciBjPWIuZ2V0VmFsdWUoKTt2YXIgZD1cIlwiO2EmJihkPVRhKGEpP2EuY2hlY2tlZD9cInRydWVcIjpcImZhbHNlXCI6YS52YWx1ZSk7YT1kO3JldHVybiBhIT09Yz8oYi5zZXRWYWx1ZShhKSwhMCk6ITF9ZnVuY3Rpb24gWGEoYSl7YT1hfHwoXCJ1bmRlZmluZWRcIiE9PXR5cGVvZiBkb2N1bWVudD9kb2N1bWVudDp2b2lkIDApO2lmKFwidW5kZWZpbmVkXCI9PT10eXBlb2YgYSlyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIGEuYWN0aXZlRWxlbWVudHx8YS5ib2R5fWNhdGNoKGIpe3JldHVybiBhLmJvZHl9fVxuZnVuY3Rpb24gWWEoYSxiKXt2YXIgYz1iLmNoZWNrZWQ7cmV0dXJuIEEoe30sYix7ZGVmYXVsdENoZWNrZWQ6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsdmFsdWU6dm9pZCAwLGNoZWNrZWQ6bnVsbCE9Yz9jOmEuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZH0pfWZ1bmN0aW9uIFphKGEsYil7dmFyIGM9bnVsbD09Yi5kZWZhdWx0VmFsdWU/XCJcIjpiLmRlZmF1bHRWYWx1ZSxkPW51bGwhPWIuY2hlY2tlZD9iLmNoZWNrZWQ6Yi5kZWZhdWx0Q2hlY2tlZDtjPVNhKG51bGwhPWIudmFsdWU/Yi52YWx1ZTpjKTthLl93cmFwcGVyU3RhdGU9e2luaXRpYWxDaGVja2VkOmQsaW5pdGlhbFZhbHVlOmMsY29udHJvbGxlZDpcImNoZWNrYm94XCI9PT1iLnR5cGV8fFwicmFkaW9cIj09PWIudHlwZT9udWxsIT1iLmNoZWNrZWQ6bnVsbCE9Yi52YWx1ZX19ZnVuY3Rpb24gYWIoYSxiKXtiPWIuY2hlY2tlZDtudWxsIT1iJiZ0YShhLFwiY2hlY2tlZFwiLGIsITEpfVxuZnVuY3Rpb24gYmIoYSxiKXthYihhLGIpO3ZhciBjPVNhKGIudmFsdWUpLGQ9Yi50eXBlO2lmKG51bGwhPWMpaWYoXCJudW1iZXJcIj09PWQpe2lmKDA9PT1jJiZcIlwiPT09YS52YWx1ZXx8YS52YWx1ZSE9YylhLnZhbHVlPVwiXCIrY31lbHNlIGEudmFsdWUhPT1cIlwiK2MmJihhLnZhbHVlPVwiXCIrYyk7ZWxzZSBpZihcInN1Ym1pdFwiPT09ZHx8XCJyZXNldFwiPT09ZCl7YS5yZW1vdmVBdHRyaWJ1dGUoXCJ2YWx1ZVwiKTtyZXR1cm59Yi5oYXNPd25Qcm9wZXJ0eShcInZhbHVlXCIpP2NiKGEsYi50eXBlLGMpOmIuaGFzT3duUHJvcGVydHkoXCJkZWZhdWx0VmFsdWVcIikmJmNiKGEsYi50eXBlLFNhKGIuZGVmYXVsdFZhbHVlKSk7bnVsbD09Yi5jaGVja2VkJiZudWxsIT1iLmRlZmF1bHRDaGVja2VkJiYoYS5kZWZhdWx0Q2hlY2tlZD0hIWIuZGVmYXVsdENoZWNrZWQpfVxuZnVuY3Rpb24gZGIoYSxiLGMpe2lmKGIuaGFzT3duUHJvcGVydHkoXCJ2YWx1ZVwiKXx8Yi5oYXNPd25Qcm9wZXJ0eShcImRlZmF1bHRWYWx1ZVwiKSl7dmFyIGQ9Yi50eXBlO2lmKCEoXCJzdWJtaXRcIiE9PWQmJlwicmVzZXRcIiE9PWR8fHZvaWQgMCE9PWIudmFsdWUmJm51bGwhPT1iLnZhbHVlKSlyZXR1cm47Yj1cIlwiK2EuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWU7Y3x8Yj09PWEudmFsdWV8fChhLnZhbHVlPWIpO2EuZGVmYXVsdFZhbHVlPWJ9Yz1hLm5hbWU7XCJcIiE9PWMmJihhLm5hbWU9XCJcIik7YS5kZWZhdWx0Q2hlY2tlZD0hIWEuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZDtcIlwiIT09YyYmKGEubmFtZT1jKX1cbmZ1bmN0aW9uIGNiKGEsYixjKXtpZihcIm51bWJlclwiIT09Ynx8WGEoYS5vd25lckRvY3VtZW50KSE9PWEpbnVsbD09Yz9hLmRlZmF1bHRWYWx1ZT1cIlwiK2EuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWU6YS5kZWZhdWx0VmFsdWUhPT1cIlwiK2MmJihhLmRlZmF1bHRWYWx1ZT1cIlwiK2MpfXZhciBlYj1BcnJheS5pc0FycmF5O1xuZnVuY3Rpb24gZmIoYSxiLGMsZCl7YT1hLm9wdGlvbnM7aWYoYil7Yj17fTtmb3IodmFyIGU9MDtlPGMubGVuZ3RoO2UrKyliW1wiJFwiK2NbZV1dPSEwO2ZvcihjPTA7YzxhLmxlbmd0aDtjKyspZT1iLmhhc093blByb3BlcnR5KFwiJFwiK2FbY10udmFsdWUpLGFbY10uc2VsZWN0ZWQhPT1lJiYoYVtjXS5zZWxlY3RlZD1lKSxlJiZkJiYoYVtjXS5kZWZhdWx0U2VsZWN0ZWQ9ITApfWVsc2V7Yz1cIlwiK1NhKGMpO2I9bnVsbDtmb3IoZT0wO2U8YS5sZW5ndGg7ZSsrKXtpZihhW2VdLnZhbHVlPT09Yyl7YVtlXS5zZWxlY3RlZD0hMDtkJiYoYVtlXS5kZWZhdWx0U2VsZWN0ZWQ9ITApO3JldHVybn1udWxsIT09Ynx8YVtlXS5kaXNhYmxlZHx8KGI9YVtlXSl9bnVsbCE9PWImJihiLnNlbGVjdGVkPSEwKX19XG5mdW5jdGlvbiBnYihhLGIpe2lmKG51bGwhPWIuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpdGhyb3cgRXJyb3IocCg5MSkpO3JldHVybiBBKHt9LGIse3ZhbHVlOnZvaWQgMCxkZWZhdWx0VmFsdWU6dm9pZCAwLGNoaWxkcmVuOlwiXCIrYS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIGhiKGEsYil7dmFyIGM9Yi52YWx1ZTtpZihudWxsPT1jKXtjPWIuY2hpbGRyZW47Yj1iLmRlZmF1bHRWYWx1ZTtpZihudWxsIT1jKXtpZihudWxsIT1iKXRocm93IEVycm9yKHAoOTIpKTtpZihlYihjKSl7aWYoMTxjLmxlbmd0aCl0aHJvdyBFcnJvcihwKDkzKSk7Yz1jWzBdfWI9Y31udWxsPT1iJiYoYj1cIlwiKTtjPWJ9YS5fd3JhcHBlclN0YXRlPXtpbml0aWFsVmFsdWU6U2EoYyl9fVxuZnVuY3Rpb24gaWIoYSxiKXt2YXIgYz1TYShiLnZhbHVlKSxkPVNhKGIuZGVmYXVsdFZhbHVlKTtudWxsIT1jJiYoYz1cIlwiK2MsYyE9PWEudmFsdWUmJihhLnZhbHVlPWMpLG51bGw9PWIuZGVmYXVsdFZhbHVlJiZhLmRlZmF1bHRWYWx1ZSE9PWMmJihhLmRlZmF1bHRWYWx1ZT1jKSk7bnVsbCE9ZCYmKGEuZGVmYXVsdFZhbHVlPVwiXCIrZCl9ZnVuY3Rpb24gamIoYSl7dmFyIGI9YS50ZXh0Q29udGVudDtiPT09YS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSYmXCJcIiE9PWImJm51bGwhPT1iJiYoYS52YWx1ZT1iKX1mdW5jdGlvbiBrYihhKXtzd2l0Y2goYSl7Y2FzZSBcInN2Z1wiOnJldHVyblwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIjtjYXNlIFwibWF0aFwiOnJldHVyblwiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTFwiO2RlZmF1bHQ6cmV0dXJuXCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCJ9fVxuZnVuY3Rpb24gbGIoYSxiKXtyZXR1cm4gbnVsbD09YXx8XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCI9PT1hP2tiKGIpOlwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj09PWEmJlwiZm9yZWlnbk9iamVjdFwiPT09Yj9cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIjphfVxudmFyIG1iLG5iPWZ1bmN0aW9uKGEpe3JldHVyblwidW5kZWZpbmVkXCIhPT10eXBlb2YgTVNBcHAmJk1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uP2Z1bmN0aW9uKGIsYyxkLGUpe01TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKGZ1bmN0aW9uKCl7cmV0dXJuIGEoYixjLGQsZSl9KX06YX0oZnVuY3Rpb24oYSxiKXtpZihcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIhPT1hLm5hbWVzcGFjZVVSSXx8XCJpbm5lckhUTUxcImluIGEpYS5pbm5lckhUTUw9YjtlbHNle21iPW1ifHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO21iLmlubmVySFRNTD1cIjxzdmc+XCIrYi52YWx1ZU9mKCkudG9TdHJpbmcoKStcIjwvc3ZnPlwiO2ZvcihiPW1iLmZpcnN0Q2hpbGQ7YS5maXJzdENoaWxkOylhLnJlbW92ZUNoaWxkKGEuZmlyc3RDaGlsZCk7Zm9yKDtiLmZpcnN0Q2hpbGQ7KWEuYXBwZW5kQ2hpbGQoYi5maXJzdENoaWxkKX19KTtcbmZ1bmN0aW9uIG9iKGEsYil7aWYoYil7dmFyIGM9YS5maXJzdENoaWxkO2lmKGMmJmM9PT1hLmxhc3RDaGlsZCYmMz09PWMubm9kZVR5cGUpe2Mubm9kZVZhbHVlPWI7cmV0dXJufX1hLnRleHRDb250ZW50PWJ9XG52YXIgcGI9e2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiEwLGFzcGVjdFJhdGlvOiEwLGJvcmRlckltYWdlT3V0c2V0OiEwLGJvcmRlckltYWdlU2xpY2U6ITAsYm9yZGVySW1hZ2VXaWR0aDohMCxib3hGbGV4OiEwLGJveEZsZXhHcm91cDohMCxib3hPcmRpbmFsR3JvdXA6ITAsY29sdW1uQ291bnQ6ITAsY29sdW1uczohMCxmbGV4OiEwLGZsZXhHcm93OiEwLGZsZXhQb3NpdGl2ZTohMCxmbGV4U2hyaW5rOiEwLGZsZXhOZWdhdGl2ZTohMCxmbGV4T3JkZXI6ITAsZ3JpZEFyZWE6ITAsZ3JpZFJvdzohMCxncmlkUm93RW5kOiEwLGdyaWRSb3dTcGFuOiEwLGdyaWRSb3dTdGFydDohMCxncmlkQ29sdW1uOiEwLGdyaWRDb2x1bW5FbmQ6ITAsZ3JpZENvbHVtblNwYW46ITAsZ3JpZENvbHVtblN0YXJ0OiEwLGZvbnRXZWlnaHQ6ITAsbGluZUNsYW1wOiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHRhYlNpemU6ITAsd2lkb3dzOiEwLHpJbmRleDohMCxcbnpvb206ITAsZmlsbE9wYWNpdHk6ITAsZmxvb2RPcGFjaXR5OiEwLHN0b3BPcGFjaXR5OiEwLHN0cm9rZURhc2hhcnJheTohMCxzdHJva2VEYXNob2Zmc2V0OiEwLHN0cm9rZU1pdGVybGltaXQ6ITAsc3Ryb2tlT3BhY2l0eTohMCxzdHJva2VXaWR0aDohMH0scWI9W1wiV2Via2l0XCIsXCJtc1wiLFwiTW96XCIsXCJPXCJdO09iamVjdC5rZXlzKHBiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3FiLmZvckVhY2goZnVuY3Rpb24oYil7Yj1iK2EuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYS5zdWJzdHJpbmcoMSk7cGJbYl09cGJbYV19KX0pO2Z1bmN0aW9uIHJiKGEsYixjKXtyZXR1cm4gbnVsbD09Ynx8XCJib29sZWFuXCI9PT10eXBlb2YgYnx8XCJcIj09PWI/XCJcIjpjfHxcIm51bWJlclwiIT09dHlwZW9mIGJ8fDA9PT1ifHxwYi5oYXNPd25Qcm9wZXJ0eShhKSYmcGJbYV0/KFwiXCIrYikudHJpbSgpOmIrXCJweFwifVxuZnVuY3Rpb24gc2IoYSxiKXthPWEuc3R5bGU7Zm9yKHZhciBjIGluIGIpaWYoYi5oYXNPd25Qcm9wZXJ0eShjKSl7dmFyIGQ9MD09PWMuaW5kZXhPZihcIi0tXCIpLGU9cmIoYyxiW2NdLGQpO1wiZmxvYXRcIj09PWMmJihjPVwiY3NzRmxvYXRcIik7ZD9hLnNldFByb3BlcnR5KGMsZSk6YVtjXT1lfX12YXIgdGI9QSh7bWVudWl0ZW06ITB9LHthcmVhOiEwLGJhc2U6ITAsYnI6ITAsY29sOiEwLGVtYmVkOiEwLGhyOiEwLGltZzohMCxpbnB1dDohMCxrZXlnZW46ITAsbGluazohMCxtZXRhOiEwLHBhcmFtOiEwLHNvdXJjZTohMCx0cmFjazohMCx3YnI6ITB9KTtcbmZ1bmN0aW9uIHViKGEsYil7aWYoYil7aWYodGJbYV0mJihudWxsIT1iLmNoaWxkcmVufHxudWxsIT1iLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSl0aHJvdyBFcnJvcihwKDEzNyxhKSk7aWYobnVsbCE9Yi5kYW5nZXJvdXNseVNldElubmVySFRNTCl7aWYobnVsbCE9Yi5jaGlsZHJlbil0aHJvdyBFcnJvcihwKDYwKSk7aWYoXCJvYmplY3RcIiE9PXR5cGVvZiBiLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MfHwhKFwiX19odG1sXCJpbiBiLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSl0aHJvdyBFcnJvcihwKDYxKSk7fWlmKG51bGwhPWIuc3R5bGUmJlwib2JqZWN0XCIhPT10eXBlb2YgYi5zdHlsZSl0aHJvdyBFcnJvcihwKDYyKSk7fX1cbmZ1bmN0aW9uIHZiKGEsYil7aWYoLTE9PT1hLmluZGV4T2YoXCItXCIpKXJldHVyblwic3RyaW5nXCI9PT10eXBlb2YgYi5pcztzd2l0Y2goYSl7Y2FzZSBcImFubm90YXRpb24teG1sXCI6Y2FzZSBcImNvbG9yLXByb2ZpbGVcIjpjYXNlIFwiZm9udC1mYWNlXCI6Y2FzZSBcImZvbnQtZmFjZS1zcmNcIjpjYXNlIFwiZm9udC1mYWNlLXVyaVwiOmNhc2UgXCJmb250LWZhY2UtZm9ybWF0XCI6Y2FzZSBcImZvbnQtZmFjZS1uYW1lXCI6Y2FzZSBcIm1pc3NpbmctZ2x5cGhcIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgd2I9bnVsbDtmdW5jdGlvbiB4YihhKXthPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnR8fHdpbmRvdzthLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoYT1hLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KTtyZXR1cm4gMz09PWEubm9kZVR5cGU/YS5wYXJlbnROb2RlOmF9dmFyIHliPW51bGwsemI9bnVsbCxBYj1udWxsO1xuZnVuY3Rpb24gQmIoYSl7aWYoYT1DYihhKSl7aWYoXCJmdW5jdGlvblwiIT09dHlwZW9mIHliKXRocm93IEVycm9yKHAoMjgwKSk7dmFyIGI9YS5zdGF0ZU5vZGU7YiYmKGI9RGIoYikseWIoYS5zdGF0ZU5vZGUsYS50eXBlLGIpKX19ZnVuY3Rpb24gRWIoYSl7emI/QWI/QWIucHVzaChhKTpBYj1bYV06emI9YX1mdW5jdGlvbiBGYigpe2lmKHpiKXt2YXIgYT16YixiPUFiO0FiPXpiPW51bGw7QmIoYSk7aWYoYilmb3IoYT0wO2E8Yi5sZW5ndGg7YSsrKUJiKGJbYV0pfX1mdW5jdGlvbiBHYihhLGIpe3JldHVybiBhKGIpfWZ1bmN0aW9uIEhiKCl7fXZhciBJYj0hMTtmdW5jdGlvbiBKYihhLGIsYyl7aWYoSWIpcmV0dXJuIGEoYixjKTtJYj0hMDt0cnl7cmV0dXJuIEdiKGEsYixjKX1maW5hbGx5e2lmKEliPSExLG51bGwhPT16Ynx8bnVsbCE9PUFiKUhiKCksRmIoKX19XG5mdW5jdGlvbiBLYihhLGIpe3ZhciBjPWEuc3RhdGVOb2RlO2lmKG51bGw9PT1jKXJldHVybiBudWxsO3ZhciBkPURiKGMpO2lmKG51bGw9PT1kKXJldHVybiBudWxsO2M9ZFtiXTthOnN3aXRjaChiKXtjYXNlIFwib25DbGlja1wiOmNhc2UgXCJvbkNsaWNrQ2FwdHVyZVwiOmNhc2UgXCJvbkRvdWJsZUNsaWNrXCI6Y2FzZSBcIm9uRG91YmxlQ2xpY2tDYXB0dXJlXCI6Y2FzZSBcIm9uTW91c2VEb3duXCI6Y2FzZSBcIm9uTW91c2VEb3duQ2FwdHVyZVwiOmNhc2UgXCJvbk1vdXNlTW92ZVwiOmNhc2UgXCJvbk1vdXNlTW92ZUNhcHR1cmVcIjpjYXNlIFwib25Nb3VzZVVwXCI6Y2FzZSBcIm9uTW91c2VVcENhcHR1cmVcIjpjYXNlIFwib25Nb3VzZUVudGVyXCI6KGQ9IWQuZGlzYWJsZWQpfHwoYT1hLnR5cGUsZD0hKFwiYnV0dG9uXCI9PT1hfHxcImlucHV0XCI9PT1hfHxcInNlbGVjdFwiPT09YXx8XCJ0ZXh0YXJlYVwiPT09YSkpO2E9IWQ7YnJlYWsgYTtkZWZhdWx0OmE9ITF9aWYoYSlyZXR1cm4gbnVsbDtpZihjJiZcImZ1bmN0aW9uXCIhPT1cbnR5cGVvZiBjKXRocm93IEVycm9yKHAoMjMxLGIsdHlwZW9mIGMpKTtyZXR1cm4gY312YXIgTGI9ITE7aWYoaWEpdHJ5e3ZhciBNYj17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoTWIsXCJwYXNzaXZlXCIse2dldDpmdW5jdGlvbigpe0xiPSEwfX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwidGVzdFwiLE1iLE1iKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRlc3RcIixNYixNYil9Y2F0Y2goYSl7TGI9ITF9ZnVuY3Rpb24gTmIoYSxiLGMsZCxlLGYsZyxoLGspe3ZhciBsPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywzKTt0cnl7Yi5hcHBseShjLGwpfWNhdGNoKG0pe3RoaXMub25FcnJvcihtKX19dmFyIE9iPSExLFBiPW51bGwsUWI9ITEsUmI9bnVsbCxTYj17b25FcnJvcjpmdW5jdGlvbihhKXtPYj0hMDtQYj1hfX07ZnVuY3Rpb24gVGIoYSxiLGMsZCxlLGYsZyxoLGspe09iPSExO1BiPW51bGw7TmIuYXBwbHkoU2IsYXJndW1lbnRzKX1cbmZ1bmN0aW9uIFViKGEsYixjLGQsZSxmLGcsaCxrKXtUYi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7aWYoT2Ipe2lmKE9iKXt2YXIgbD1QYjtPYj0hMTtQYj1udWxsfWVsc2UgdGhyb3cgRXJyb3IocCgxOTgpKTtRYnx8KFFiPSEwLFJiPWwpfX1mdW5jdGlvbiBWYihhKXt2YXIgYj1hLGM9YTtpZihhLmFsdGVybmF0ZSlmb3IoO2IucmV0dXJuOyliPWIucmV0dXJuO2Vsc2V7YT1iO2RvIGI9YSwwIT09KGIuZmxhZ3MmNDA5OCkmJihjPWIucmV0dXJuKSxhPWIucmV0dXJuO3doaWxlKGEpfXJldHVybiAzPT09Yi50YWc/YzpudWxsfWZ1bmN0aW9uIFdiKGEpe2lmKDEzPT09YS50YWcpe3ZhciBiPWEubWVtb2l6ZWRTdGF0ZTtudWxsPT09YiYmKGE9YS5hbHRlcm5hdGUsbnVsbCE9PWEmJihiPWEubWVtb2l6ZWRTdGF0ZSkpO2lmKG51bGwhPT1iKXJldHVybiBiLmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gWGIoYSl7aWYoVmIoYSkhPT1hKXRocm93IEVycm9yKHAoMTg4KSk7fVxuZnVuY3Rpb24gWWIoYSl7dmFyIGI9YS5hbHRlcm5hdGU7aWYoIWIpe2I9VmIoYSk7aWYobnVsbD09PWIpdGhyb3cgRXJyb3IocCgxODgpKTtyZXR1cm4gYiE9PWE/bnVsbDphfWZvcih2YXIgYz1hLGQ9Yjs7KXt2YXIgZT1jLnJldHVybjtpZihudWxsPT09ZSlicmVhazt2YXIgZj1lLmFsdGVybmF0ZTtpZihudWxsPT09Zil7ZD1lLnJldHVybjtpZihudWxsIT09ZCl7Yz1kO2NvbnRpbnVlfWJyZWFrfWlmKGUuY2hpbGQ9PT1mLmNoaWxkKXtmb3IoZj1lLmNoaWxkO2Y7KXtpZihmPT09YylyZXR1cm4gWGIoZSksYTtpZihmPT09ZClyZXR1cm4gWGIoZSksYjtmPWYuc2libGluZ310aHJvdyBFcnJvcihwKDE4OCkpO31pZihjLnJldHVybiE9PWQucmV0dXJuKWM9ZSxkPWY7ZWxzZXtmb3IodmFyIGc9ITEsaD1lLmNoaWxkO2g7KXtpZihoPT09Yyl7Zz0hMDtjPWU7ZD1mO2JyZWFrfWlmKGg9PT1kKXtnPSEwO2Q9ZTtjPWY7YnJlYWt9aD1oLnNpYmxpbmd9aWYoIWcpe2ZvcihoPWYuY2hpbGQ7aDspe2lmKGg9PT1cbmMpe2c9ITA7Yz1mO2Q9ZTticmVha31pZihoPT09ZCl7Zz0hMDtkPWY7Yz1lO2JyZWFrfWg9aC5zaWJsaW5nfWlmKCFnKXRocm93IEVycm9yKHAoMTg5KSk7fX1pZihjLmFsdGVybmF0ZSE9PWQpdGhyb3cgRXJyb3IocCgxOTApKTt9aWYoMyE9PWMudGFnKXRocm93IEVycm9yKHAoMTg4KSk7cmV0dXJuIGMuc3RhdGVOb2RlLmN1cnJlbnQ9PT1jP2E6Yn1mdW5jdGlvbiBaYihhKXthPVliKGEpO3JldHVybiBudWxsIT09YT8kYihhKTpudWxsfWZ1bmN0aW9uICRiKGEpe2lmKDU9PT1hLnRhZ3x8Nj09PWEudGFnKXJldHVybiBhO2ZvcihhPWEuY2hpbGQ7bnVsbCE9PWE7KXt2YXIgYj0kYihhKTtpZihudWxsIT09YilyZXR1cm4gYjthPWEuc2libGluZ31yZXR1cm4gbnVsbH1cbnZhciBhYz1jYS51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLGJjPWNhLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrLGNjPWNhLnVuc3RhYmxlX3Nob3VsZFlpZWxkLGRjPWNhLnVuc3RhYmxlX3JlcXVlc3RQYWludCxCPWNhLnVuc3RhYmxlX25vdyxlYz1jYS51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbCxmYz1jYS51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxnYz1jYS51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxoYz1jYS51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxpYz1jYS51bnN0YWJsZV9Mb3dQcmlvcml0eSxqYz1jYS51bnN0YWJsZV9JZGxlUHJpb3JpdHksa2M9bnVsbCxsYz1udWxsO2Z1bmN0aW9uIG1jKGEpe2lmKGxjJiZcImZ1bmN0aW9uXCI9PT10eXBlb2YgbGMub25Db21taXRGaWJlclJvb3QpdHJ5e2xjLm9uQ29tbWl0RmliZXJSb290KGtjLGEsdm9pZCAwLDEyOD09PShhLmN1cnJlbnQuZmxhZ3MmMTI4KSl9Y2F0Y2goYil7fX1cbnZhciBvYz1NYXRoLmNsejMyP01hdGguY2x6MzI6bmMscGM9TWF0aC5sb2cscWM9TWF0aC5MTjI7ZnVuY3Rpb24gbmMoYSl7YT4+Pj0wO3JldHVybiAwPT09YT8zMjozMS0ocGMoYSkvcWN8MCl8MH12YXIgcmM9NjQsc2M9NDE5NDMwNDtcbmZ1bmN0aW9uIHRjKGEpe3N3aXRjaChhJi1hKXtjYXNlIDE6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgNDpyZXR1cm4gNDtjYXNlIDg6cmV0dXJuIDg7Y2FzZSAxNjpyZXR1cm4gMTY7Y2FzZSAzMjpyZXR1cm4gMzI7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpyZXR1cm4gYSY0MTk0MjQwO2Nhc2UgNDE5NDMwNDpjYXNlIDgzODg2MDg6Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOmNhc2UgNjcxMDg4NjQ6cmV0dXJuIGEmMTMwMDIzNDI0O2Nhc2UgMTM0MjE3NzI4OnJldHVybiAxMzQyMTc3Mjg7Y2FzZSAyNjg0MzU0NTY6cmV0dXJuIDI2ODQzNTQ1NjtjYXNlIDUzNjg3MDkxMjpyZXR1cm4gNTM2ODcwOTEyO2Nhc2UgMTA3Mzc0MTgyNDpyZXR1cm4gMTA3Mzc0MTgyNDtcbmRlZmF1bHQ6cmV0dXJuIGF9fWZ1bmN0aW9uIHVjKGEsYil7dmFyIGM9YS5wZW5kaW5nTGFuZXM7aWYoMD09PWMpcmV0dXJuIDA7dmFyIGQ9MCxlPWEuc3VzcGVuZGVkTGFuZXMsZj1hLnBpbmdlZExhbmVzLGc9YyYyNjg0MzU0NTU7aWYoMCE9PWcpe3ZhciBoPWcmfmU7MCE9PWg/ZD10YyhoKTooZiY9ZywwIT09ZiYmKGQ9dGMoZikpKX1lbHNlIGc9YyZ+ZSwwIT09Zz9kPXRjKGcpOjAhPT1mJiYoZD10YyhmKSk7aWYoMD09PWQpcmV0dXJuIDA7aWYoMCE9PWImJmIhPT1kJiYwPT09KGImZSkmJihlPWQmLWQsZj1iJi1iLGU+PWZ8fDE2PT09ZSYmMCE9PShmJjQxOTQyNDApKSlyZXR1cm4gYjswIT09KGQmNCkmJihkfD1jJjE2KTtiPWEuZW50YW5nbGVkTGFuZXM7aWYoMCE9PWIpZm9yKGE9YS5lbnRhbmdsZW1lbnRzLGImPWQ7MDxiOyljPTMxLW9jKGIpLGU9MTw8YyxkfD1hW2NdLGImPX5lO3JldHVybiBkfVxuZnVuY3Rpb24gdmMoYSxiKXtzd2l0Y2goYSl7Y2FzZSAxOmNhc2UgMjpjYXNlIDQ6cmV0dXJuIGIrMjUwO2Nhc2UgODpjYXNlIDE2OmNhc2UgMzI6Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpyZXR1cm4gYis1RTM7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpyZXR1cm4tMTtjYXNlIDEzNDIxNzcyODpjYXNlIDI2ODQzNTQ1NjpjYXNlIDUzNjg3MDkxMjpjYXNlIDEwNzM3NDE4MjQ6cmV0dXJuLTE7ZGVmYXVsdDpyZXR1cm4tMX19XG5mdW5jdGlvbiB3YyhhLGIpe2Zvcih2YXIgYz1hLnN1c3BlbmRlZExhbmVzLGQ9YS5waW5nZWRMYW5lcyxlPWEuZXhwaXJhdGlvblRpbWVzLGY9YS5wZW5kaW5nTGFuZXM7MDxmOyl7dmFyIGc9MzEtb2MoZiksaD0xPDxnLGs9ZVtnXTtpZigtMT09PWspe2lmKDA9PT0oaCZjKXx8MCE9PShoJmQpKWVbZ109dmMoaCxiKX1lbHNlIGs8PWImJihhLmV4cGlyZWRMYW5lc3w9aCk7ZiY9fmh9fWZ1bmN0aW9uIHhjKGEpe2E9YS5wZW5kaW5nTGFuZXMmLTEwNzM3NDE4MjU7cmV0dXJuIDAhPT1hP2E6YSYxMDczNzQxODI0PzEwNzM3NDE4MjQ6MH1mdW5jdGlvbiB5Yygpe3ZhciBhPXJjO3JjPDw9MTswPT09KHJjJjQxOTQyNDApJiYocmM9NjQpO3JldHVybiBhfWZ1bmN0aW9uIHpjKGEpe2Zvcih2YXIgYj1bXSxjPTA7MzE+YztjKyspYi5wdXNoKGEpO3JldHVybiBifVxuZnVuY3Rpb24gQWMoYSxiLGMpe2EucGVuZGluZ0xhbmVzfD1iOzUzNjg3MDkxMiE9PWImJihhLnN1c3BlbmRlZExhbmVzPTAsYS5waW5nZWRMYW5lcz0wKTthPWEuZXZlbnRUaW1lcztiPTMxLW9jKGIpO2FbYl09Y31mdW5jdGlvbiBCYyhhLGIpe3ZhciBjPWEucGVuZGluZ0xhbmVzJn5iO2EucGVuZGluZ0xhbmVzPWI7YS5zdXNwZW5kZWRMYW5lcz0wO2EucGluZ2VkTGFuZXM9MDthLmV4cGlyZWRMYW5lcyY9YjthLm11dGFibGVSZWFkTGFuZXMmPWI7YS5lbnRhbmdsZWRMYW5lcyY9YjtiPWEuZW50YW5nbGVtZW50czt2YXIgZD1hLmV2ZW50VGltZXM7Zm9yKGE9YS5leHBpcmF0aW9uVGltZXM7MDxjOyl7dmFyIGU9MzEtb2MoYyksZj0xPDxlO2JbZV09MDtkW2VdPS0xO2FbZV09LTE7YyY9fmZ9fVxuZnVuY3Rpb24gQ2MoYSxiKXt2YXIgYz1hLmVudGFuZ2xlZExhbmVzfD1iO2ZvcihhPWEuZW50YW5nbGVtZW50cztjOyl7dmFyIGQ9MzEtb2MoYyksZT0xPDxkO2UmYnxhW2RdJmImJihhW2RdfD1iKTtjJj1+ZX19dmFyIEM9MDtmdW5jdGlvbiBEYyhhKXthJj0tYTtyZXR1cm4gMTxhPzQ8YT8wIT09KGEmMjY4NDM1NDU1KT8xNjo1MzY4NzA5MTI6NDoxfXZhciBFYyxGYyxHYyxIYyxJYyxKYz0hMSxLYz1bXSxMYz1udWxsLE1jPW51bGwsTmM9bnVsbCxPYz1uZXcgTWFwLFBjPW5ldyBNYXAsUWM9W10sUmM9XCJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjb3B5IGN1dCBwYXN0ZSBjbGljayBjaGFuZ2UgY29udGV4dG1lbnUgcmVzZXQgc3VibWl0XCIuc3BsaXQoXCIgXCIpO1xuZnVuY3Rpb24gU2MoYSxiKXtzd2l0Y2goYSl7Y2FzZSBcImZvY3VzaW5cIjpjYXNlIFwiZm9jdXNvdXRcIjpMYz1udWxsO2JyZWFrO2Nhc2UgXCJkcmFnZW50ZXJcIjpjYXNlIFwiZHJhZ2xlYXZlXCI6TWM9bnVsbDticmVhaztjYXNlIFwibW91c2VvdmVyXCI6Y2FzZSBcIm1vdXNlb3V0XCI6TmM9bnVsbDticmVhaztjYXNlIFwicG9pbnRlcm92ZXJcIjpjYXNlIFwicG9pbnRlcm91dFwiOk9jLmRlbGV0ZShiLnBvaW50ZXJJZCk7YnJlYWs7Y2FzZSBcImdvdHBvaW50ZXJjYXB0dXJlXCI6Y2FzZSBcImxvc3Rwb2ludGVyY2FwdHVyZVwiOlBjLmRlbGV0ZShiLnBvaW50ZXJJZCl9fVxuZnVuY3Rpb24gVGMoYSxiLGMsZCxlLGYpe2lmKG51bGw9PT1hfHxhLm5hdGl2ZUV2ZW50IT09ZilyZXR1cm4gYT17YmxvY2tlZE9uOmIsZG9tRXZlbnROYW1lOmMsZXZlbnRTeXN0ZW1GbGFnczpkLG5hdGl2ZUV2ZW50OmYsdGFyZ2V0Q29udGFpbmVyczpbZV19LG51bGwhPT1iJiYoYj1DYihiKSxudWxsIT09YiYmRmMoYikpLGE7YS5ldmVudFN5c3RlbUZsYWdzfD1kO2I9YS50YXJnZXRDb250YWluZXJzO251bGwhPT1lJiYtMT09PWIuaW5kZXhPZihlKSYmYi5wdXNoKGUpO3JldHVybiBhfVxuZnVuY3Rpb24gVWMoYSxiLGMsZCxlKXtzd2l0Y2goYil7Y2FzZSBcImZvY3VzaW5cIjpyZXR1cm4gTGM9VGMoTGMsYSxiLGMsZCxlKSwhMDtjYXNlIFwiZHJhZ2VudGVyXCI6cmV0dXJuIE1jPVRjKE1jLGEsYixjLGQsZSksITA7Y2FzZSBcIm1vdXNlb3ZlclwiOnJldHVybiBOYz1UYyhOYyxhLGIsYyxkLGUpLCEwO2Nhc2UgXCJwb2ludGVyb3ZlclwiOnZhciBmPWUucG9pbnRlcklkO09jLnNldChmLFRjKE9jLmdldChmKXx8bnVsbCxhLGIsYyxkLGUpKTtyZXR1cm4hMDtjYXNlIFwiZ290cG9pbnRlcmNhcHR1cmVcIjpyZXR1cm4gZj1lLnBvaW50ZXJJZCxQYy5zZXQoZixUYyhQYy5nZXQoZil8fG51bGwsYSxiLGMsZCxlKSksITB9cmV0dXJuITF9XG5mdW5jdGlvbiBWYyhhKXt2YXIgYj1XYyhhLnRhcmdldCk7aWYobnVsbCE9PWIpe3ZhciBjPVZiKGIpO2lmKG51bGwhPT1jKWlmKGI9Yy50YWcsMTM9PT1iKXtpZihiPVdiKGMpLG51bGwhPT1iKXthLmJsb2NrZWRPbj1iO0ljKGEucHJpb3JpdHksZnVuY3Rpb24oKXtHYyhjKX0pO3JldHVybn19ZWxzZSBpZigzPT09YiYmYy5zdGF0ZU5vZGUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl7YS5ibG9ja2VkT249Mz09PWMudGFnP2Muc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbDtyZXR1cm59fWEuYmxvY2tlZE9uPW51bGx9XG5mdW5jdGlvbiBYYyhhKXtpZihudWxsIT09YS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciBiPWEudGFyZ2V0Q29udGFpbmVyczswPGIubGVuZ3RoOyl7dmFyIGM9WWMoYS5kb21FdmVudE5hbWUsYS5ldmVudFN5c3RlbUZsYWdzLGJbMF0sYS5uYXRpdmVFdmVudCk7aWYobnVsbD09PWMpe2M9YS5uYXRpdmVFdmVudDt2YXIgZD1uZXcgYy5jb25zdHJ1Y3RvcihjLnR5cGUsYyk7d2I9ZDtjLnRhcmdldC5kaXNwYXRjaEV2ZW50KGQpO3diPW51bGx9ZWxzZSByZXR1cm4gYj1DYihjKSxudWxsIT09YiYmRmMoYiksYS5ibG9ja2VkT249YywhMTtiLnNoaWZ0KCl9cmV0dXJuITB9ZnVuY3Rpb24gWmMoYSxiLGMpe1hjKGEpJiZjLmRlbGV0ZShiKX1mdW5jdGlvbiAkYygpe0pjPSExO251bGwhPT1MYyYmWGMoTGMpJiYoTGM9bnVsbCk7bnVsbCE9PU1jJiZYYyhNYykmJihNYz1udWxsKTtudWxsIT09TmMmJlhjKE5jKSYmKE5jPW51bGwpO09jLmZvckVhY2goWmMpO1BjLmZvckVhY2goWmMpfVxuZnVuY3Rpb24gYWQoYSxiKXthLmJsb2NrZWRPbj09PWImJihhLmJsb2NrZWRPbj1udWxsLEpjfHwoSmM9ITAsY2EudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayhjYS51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSwkYykpKX1cbmZ1bmN0aW9uIGJkKGEpe2Z1bmN0aW9uIGIoYil7cmV0dXJuIGFkKGIsYSl9aWYoMDxLYy5sZW5ndGgpe2FkKEtjWzBdLGEpO2Zvcih2YXIgYz0xO2M8S2MubGVuZ3RoO2MrKyl7dmFyIGQ9S2NbY107ZC5ibG9ja2VkT249PT1hJiYoZC5ibG9ja2VkT249bnVsbCl9fW51bGwhPT1MYyYmYWQoTGMsYSk7bnVsbCE9PU1jJiZhZChNYyxhKTtudWxsIT09TmMmJmFkKE5jLGEpO09jLmZvckVhY2goYik7UGMuZm9yRWFjaChiKTtmb3IoYz0wO2M8UWMubGVuZ3RoO2MrKylkPVFjW2NdLGQuYmxvY2tlZE9uPT09YSYmKGQuYmxvY2tlZE9uPW51bGwpO2Zvcig7MDxRYy5sZW5ndGgmJihjPVFjWzBdLG51bGw9PT1jLmJsb2NrZWRPbik7KVZjKGMpLG51bGw9PT1jLmJsb2NrZWRPbiYmUWMuc2hpZnQoKX12YXIgY2Q9dWEuUmVhY3RDdXJyZW50QmF0Y2hDb25maWcsZGQ9ITA7XG5mdW5jdGlvbiBlZChhLGIsYyxkKXt2YXIgZT1DLGY9Y2QudHJhbnNpdGlvbjtjZC50cmFuc2l0aW9uPW51bGw7dHJ5e0M9MSxmZChhLGIsYyxkKX1maW5hbGx5e0M9ZSxjZC50cmFuc2l0aW9uPWZ9fWZ1bmN0aW9uIGdkKGEsYixjLGQpe3ZhciBlPUMsZj1jZC50cmFuc2l0aW9uO2NkLnRyYW5zaXRpb249bnVsbDt0cnl7Qz00LGZkKGEsYixjLGQpfWZpbmFsbHl7Qz1lLGNkLnRyYW5zaXRpb249Zn19XG5mdW5jdGlvbiBmZChhLGIsYyxkKXtpZihkZCl7dmFyIGU9WWMoYSxiLGMsZCk7aWYobnVsbD09PWUpaGQoYSxiLGQsaWQsYyksU2MoYSxkKTtlbHNlIGlmKFVjKGUsYSxiLGMsZCkpZC5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKFNjKGEsZCksYiY0JiYtMTxSYy5pbmRleE9mKGEpKXtmb3IoO251bGwhPT1lOyl7dmFyIGY9Q2IoZSk7bnVsbCE9PWYmJkVjKGYpO2Y9WWMoYSxiLGMsZCk7bnVsbD09PWYmJmhkKGEsYixkLGlkLGMpO2lmKGY9PT1lKWJyZWFrO2U9Zn1udWxsIT09ZSYmZC5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIGhkKGEsYixkLG51bGwsYyl9fXZhciBpZD1udWxsO1xuZnVuY3Rpb24gWWMoYSxiLGMsZCl7aWQ9bnVsbDthPXhiKGQpO2E9V2MoYSk7aWYobnVsbCE9PWEpaWYoYj1WYihhKSxudWxsPT09YilhPW51bGw7ZWxzZSBpZihjPWIudGFnLDEzPT09Yyl7YT1XYihiKTtpZihudWxsIT09YSlyZXR1cm4gYTthPW51bGx9ZWxzZSBpZigzPT09Yyl7aWYoYi5zdGF0ZU5vZGUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZClyZXR1cm4gMz09PWIudGFnP2Iuc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbDthPW51bGx9ZWxzZSBiIT09YSYmKGE9bnVsbCk7aWQ9YTtyZXR1cm4gbnVsbH1cbmZ1bmN0aW9uIGpkKGEpe3N3aXRjaChhKXtjYXNlIFwiY2FuY2VsXCI6Y2FzZSBcImNsaWNrXCI6Y2FzZSBcImNsb3NlXCI6Y2FzZSBcImNvbnRleHRtZW51XCI6Y2FzZSBcImNvcHlcIjpjYXNlIFwiY3V0XCI6Y2FzZSBcImF1eGNsaWNrXCI6Y2FzZSBcImRibGNsaWNrXCI6Y2FzZSBcImRyYWdlbmRcIjpjYXNlIFwiZHJhZ3N0YXJ0XCI6Y2FzZSBcImRyb3BcIjpjYXNlIFwiZm9jdXNpblwiOmNhc2UgXCJmb2N1c291dFwiOmNhc2UgXCJpbnB1dFwiOmNhc2UgXCJpbnZhbGlkXCI6Y2FzZSBcImtleWRvd25cIjpjYXNlIFwia2V5cHJlc3NcIjpjYXNlIFwia2V5dXBcIjpjYXNlIFwibW91c2Vkb3duXCI6Y2FzZSBcIm1vdXNldXBcIjpjYXNlIFwicGFzdGVcIjpjYXNlIFwicGF1c2VcIjpjYXNlIFwicGxheVwiOmNhc2UgXCJwb2ludGVyY2FuY2VsXCI6Y2FzZSBcInBvaW50ZXJkb3duXCI6Y2FzZSBcInBvaW50ZXJ1cFwiOmNhc2UgXCJyYXRlY2hhbmdlXCI6Y2FzZSBcInJlc2V0XCI6Y2FzZSBcInJlc2l6ZVwiOmNhc2UgXCJzZWVrZWRcIjpjYXNlIFwic3VibWl0XCI6Y2FzZSBcInRvdWNoY2FuY2VsXCI6Y2FzZSBcInRvdWNoZW5kXCI6Y2FzZSBcInRvdWNoc3RhcnRcIjpjYXNlIFwidm9sdW1lY2hhbmdlXCI6Y2FzZSBcImNoYW5nZVwiOmNhc2UgXCJzZWxlY3Rpb25jaGFuZ2VcIjpjYXNlIFwidGV4dElucHV0XCI6Y2FzZSBcImNvbXBvc2l0aW9uc3RhcnRcIjpjYXNlIFwiY29tcG9zaXRpb25lbmRcIjpjYXNlIFwiY29tcG9zaXRpb251cGRhdGVcIjpjYXNlIFwiYmVmb3JlYmx1clwiOmNhc2UgXCJhZnRlcmJsdXJcIjpjYXNlIFwiYmVmb3JlaW5wdXRcIjpjYXNlIFwiYmx1clwiOmNhc2UgXCJmdWxsc2NyZWVuY2hhbmdlXCI6Y2FzZSBcImZvY3VzXCI6Y2FzZSBcImhhc2hjaGFuZ2VcIjpjYXNlIFwicG9wc3RhdGVcIjpjYXNlIFwic2VsZWN0XCI6Y2FzZSBcInNlbGVjdHN0YXJ0XCI6cmV0dXJuIDE7Y2FzZSBcImRyYWdcIjpjYXNlIFwiZHJhZ2VudGVyXCI6Y2FzZSBcImRyYWdleGl0XCI6Y2FzZSBcImRyYWdsZWF2ZVwiOmNhc2UgXCJkcmFnb3ZlclwiOmNhc2UgXCJtb3VzZW1vdmVcIjpjYXNlIFwibW91c2VvdXRcIjpjYXNlIFwibW91c2VvdmVyXCI6Y2FzZSBcInBvaW50ZXJtb3ZlXCI6Y2FzZSBcInBvaW50ZXJvdXRcIjpjYXNlIFwicG9pbnRlcm92ZXJcIjpjYXNlIFwic2Nyb2xsXCI6Y2FzZSBcInRvZ2dsZVwiOmNhc2UgXCJ0b3VjaG1vdmVcIjpjYXNlIFwid2hlZWxcIjpjYXNlIFwibW91c2VlbnRlclwiOmNhc2UgXCJtb3VzZWxlYXZlXCI6Y2FzZSBcInBvaW50ZXJlbnRlclwiOmNhc2UgXCJwb2ludGVybGVhdmVcIjpyZXR1cm4gNDtcbmNhc2UgXCJtZXNzYWdlXCI6c3dpdGNoKGVjKCkpe2Nhc2UgZmM6cmV0dXJuIDE7Y2FzZSBnYzpyZXR1cm4gNDtjYXNlIGhjOmNhc2UgaWM6cmV0dXJuIDE2O2Nhc2UgamM6cmV0dXJuIDUzNjg3MDkxMjtkZWZhdWx0OnJldHVybiAxNn1kZWZhdWx0OnJldHVybiAxNn19dmFyIGtkPW51bGwsbGQ9bnVsbCxtZD1udWxsO2Z1bmN0aW9uIG5kKCl7aWYobWQpcmV0dXJuIG1kO3ZhciBhLGI9bGQsYz1iLmxlbmd0aCxkLGU9XCJ2YWx1ZVwiaW4ga2Q/a2QudmFsdWU6a2QudGV4dENvbnRlbnQsZj1lLmxlbmd0aDtmb3IoYT0wO2E8YyYmYlthXT09PWVbYV07YSsrKTt2YXIgZz1jLWE7Zm9yKGQ9MTtkPD1nJiZiW2MtZF09PT1lW2YtZF07ZCsrKTtyZXR1cm4gbWQ9ZS5zbGljZShhLDE8ZD8xLWQ6dm9pZCAwKX1cbmZ1bmN0aW9uIG9kKGEpe3ZhciBiPWEua2V5Q29kZTtcImNoYXJDb2RlXCJpbiBhPyhhPWEuY2hhckNvZGUsMD09PWEmJjEzPT09YiYmKGE9MTMpKTphPWI7MTA9PT1hJiYoYT0xMyk7cmV0dXJuIDMyPD1hfHwxMz09PWE/YTowfWZ1bmN0aW9uIHBkKCl7cmV0dXJuITB9ZnVuY3Rpb24gcWQoKXtyZXR1cm4hMX1cbmZ1bmN0aW9uIHJkKGEpe2Z1bmN0aW9uIGIoYixkLGUsZixnKXt0aGlzLl9yZWFjdE5hbWU9Yjt0aGlzLl90YXJnZXRJbnN0PWU7dGhpcy50eXBlPWQ7dGhpcy5uYXRpdmVFdmVudD1mO3RoaXMudGFyZ2V0PWc7dGhpcy5jdXJyZW50VGFyZ2V0PW51bGw7Zm9yKHZhciBjIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShjKSYmKGI9YVtjXSx0aGlzW2NdPWI/YihmKTpmW2NdKTt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD0obnVsbCE9Zi5kZWZhdWx0UHJldmVudGVkP2YuZGVmYXVsdFByZXZlbnRlZDohMT09PWYucmV0dXJuVmFsdWUpP3BkOnFkO3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9cWQ7cmV0dXJuIHRoaXN9QShiLnByb3RvdHlwZSx7cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9ITA7dmFyIGE9dGhpcy5uYXRpdmVFdmVudDthJiYoYS5wcmV2ZW50RGVmYXVsdD9hLnByZXZlbnREZWZhdWx0KCk6XCJ1bmtub3duXCIhPT10eXBlb2YgYS5yZXR1cm5WYWx1ZSYmXG4oYS5yZXR1cm5WYWx1ZT0hMSksdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9cGQpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm5hdGl2ZUV2ZW50O2EmJihhLnN0b3BQcm9wYWdhdGlvbj9hLnN0b3BQcm9wYWdhdGlvbigpOlwidW5rbm93blwiIT09dHlwZW9mIGEuY2FuY2VsQnViYmxlJiYoYS5jYW5jZWxCdWJibGU9ITApLHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9cGQpfSxwZXJzaXN0OmZ1bmN0aW9uKCl7fSxpc1BlcnNpc3RlbnQ6cGR9KTtyZXR1cm4gYn1cbnZhciBzZD17ZXZlbnRQaGFzZTowLGJ1YmJsZXM6MCxjYW5jZWxhYmxlOjAsdGltZVN0YW1wOmZ1bmN0aW9uKGEpe3JldHVybiBhLnRpbWVTdGFtcHx8RGF0ZS5ub3coKX0sZGVmYXVsdFByZXZlbnRlZDowLGlzVHJ1c3RlZDowfSx0ZD1yZChzZCksdWQ9QSh7fSxzZCx7dmlldzowLGRldGFpbDowfSksdmQ9cmQodWQpLHdkLHhkLHlkLEFkPUEoe30sdWQse3NjcmVlblg6MCxzY3JlZW5ZOjAsY2xpZW50WDowLGNsaWVudFk6MCxwYWdlWDowLHBhZ2VZOjAsY3RybEtleTowLHNoaWZ0S2V5OjAsYWx0S2V5OjAsbWV0YUtleTowLGdldE1vZGlmaWVyU3RhdGU6emQsYnV0dG9uOjAsYnV0dG9uczowLHJlbGF0ZWRUYXJnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHZvaWQgMD09PWEucmVsYXRlZFRhcmdldD9hLmZyb21FbGVtZW50PT09YS5zcmNFbGVtZW50P2EudG9FbGVtZW50OmEuZnJvbUVsZW1lbnQ6YS5yZWxhdGVkVGFyZ2V0fSxtb3ZlbWVudFg6ZnVuY3Rpb24oYSl7aWYoXCJtb3ZlbWVudFhcImluXG5hKXJldHVybiBhLm1vdmVtZW50WDthIT09eWQmJih5ZCYmXCJtb3VzZW1vdmVcIj09PWEudHlwZT8od2Q9YS5zY3JlZW5YLXlkLnNjcmVlblgseGQ9YS5zY3JlZW5ZLXlkLnNjcmVlblkpOnhkPXdkPTAseWQ9YSk7cmV0dXJuIHdkfSxtb3ZlbWVudFk6ZnVuY3Rpb24oYSl7cmV0dXJuXCJtb3ZlbWVudFlcImluIGE/YS5tb3ZlbWVudFk6eGR9fSksQmQ9cmQoQWQpLENkPUEoe30sQWQse2RhdGFUcmFuc2ZlcjowfSksRGQ9cmQoQ2QpLEVkPUEoe30sdWQse3JlbGF0ZWRUYXJnZXQ6MH0pLEZkPXJkKEVkKSxHZD1BKHt9LHNkLHthbmltYXRpb25OYW1lOjAsZWxhcHNlZFRpbWU6MCxwc2V1ZG9FbGVtZW50OjB9KSxIZD1yZChHZCksSWQ9QSh7fSxzZCx7Y2xpcGJvYXJkRGF0YTpmdW5jdGlvbihhKXtyZXR1cm5cImNsaXBib2FyZERhdGFcImluIGE/YS5jbGlwYm9hcmREYXRhOndpbmRvdy5jbGlwYm9hcmREYXRhfX0pLEpkPXJkKElkKSxLZD1BKHt9LHNkLHtkYXRhOjB9KSxMZD1yZChLZCksTWQ9e0VzYzpcIkVzY2FwZVwiLFxuU3BhY2ViYXI6XCIgXCIsTGVmdDpcIkFycm93TGVmdFwiLFVwOlwiQXJyb3dVcFwiLFJpZ2h0OlwiQXJyb3dSaWdodFwiLERvd246XCJBcnJvd0Rvd25cIixEZWw6XCJEZWxldGVcIixXaW46XCJPU1wiLE1lbnU6XCJDb250ZXh0TWVudVwiLEFwcHM6XCJDb250ZXh0TWVudVwiLFNjcm9sbDpcIlNjcm9sbExvY2tcIixNb3pQcmludGFibGVLZXk6XCJVbmlkZW50aWZpZWRcIn0sTmQ9ezg6XCJCYWNrc3BhY2VcIiw5OlwiVGFiXCIsMTI6XCJDbGVhclwiLDEzOlwiRW50ZXJcIiwxNjpcIlNoaWZ0XCIsMTc6XCJDb250cm9sXCIsMTg6XCJBbHRcIiwxOTpcIlBhdXNlXCIsMjA6XCJDYXBzTG9ja1wiLDI3OlwiRXNjYXBlXCIsMzI6XCIgXCIsMzM6XCJQYWdlVXBcIiwzNDpcIlBhZ2VEb3duXCIsMzU6XCJFbmRcIiwzNjpcIkhvbWVcIiwzNzpcIkFycm93TGVmdFwiLDM4OlwiQXJyb3dVcFwiLDM5OlwiQXJyb3dSaWdodFwiLDQwOlwiQXJyb3dEb3duXCIsNDU6XCJJbnNlcnRcIiw0NjpcIkRlbGV0ZVwiLDExMjpcIkYxXCIsMTEzOlwiRjJcIiwxMTQ6XCJGM1wiLDExNTpcIkY0XCIsMTE2OlwiRjVcIiwxMTc6XCJGNlwiLDExODpcIkY3XCIsXG4xMTk6XCJGOFwiLDEyMDpcIkY5XCIsMTIxOlwiRjEwXCIsMTIyOlwiRjExXCIsMTIzOlwiRjEyXCIsMTQ0OlwiTnVtTG9ja1wiLDE0NTpcIlNjcm9sbExvY2tcIiwyMjQ6XCJNZXRhXCJ9LE9kPXtBbHQ6XCJhbHRLZXlcIixDb250cm9sOlwiY3RybEtleVwiLE1ldGE6XCJtZXRhS2V5XCIsU2hpZnQ6XCJzaGlmdEtleVwifTtmdW5jdGlvbiBQZChhKXt2YXIgYj10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiBiLmdldE1vZGlmaWVyU3RhdGU/Yi5nZXRNb2RpZmllclN0YXRlKGEpOihhPU9kW2FdKT8hIWJbYV06ITF9ZnVuY3Rpb24gemQoKXtyZXR1cm4gUGR9XG52YXIgUWQ9QSh7fSx1ZCx7a2V5OmZ1bmN0aW9uKGEpe2lmKGEua2V5KXt2YXIgYj1NZFthLmtleV18fGEua2V5O2lmKFwiVW5pZGVudGlmaWVkXCIhPT1iKXJldHVybiBifXJldHVyblwia2V5cHJlc3NcIj09PWEudHlwZT8oYT1vZChhKSwxMz09PWE/XCJFbnRlclwiOlN0cmluZy5mcm9tQ2hhckNvZGUoYSkpOlwia2V5ZG93blwiPT09YS50eXBlfHxcImtleXVwXCI9PT1hLnR5cGU/TmRbYS5rZXlDb2RlXXx8XCJVbmlkZW50aWZpZWRcIjpcIlwifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTp6ZCxjaGFyQ29kZTpmdW5jdGlvbihhKXtyZXR1cm5cImtleXByZXNzXCI9PT1hLnR5cGU/b2QoYSk6MH0sa2V5Q29kZTpmdW5jdGlvbihhKXtyZXR1cm5cImtleWRvd25cIj09PWEudHlwZXx8XCJrZXl1cFwiPT09YS50eXBlP2Eua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihhKXtyZXR1cm5cImtleXByZXNzXCI9PT1cbmEudHlwZT9vZChhKTpcImtleWRvd25cIj09PWEudHlwZXx8XCJrZXl1cFwiPT09YS50eXBlP2Eua2V5Q29kZTowfX0pLFJkPXJkKFFkKSxTZD1BKHt9LEFkLHtwb2ludGVySWQ6MCx3aWR0aDowLGhlaWdodDowLHByZXNzdXJlOjAsdGFuZ2VudGlhbFByZXNzdXJlOjAsdGlsdFg6MCx0aWx0WTowLHR3aXN0OjAscG9pbnRlclR5cGU6MCxpc1ByaW1hcnk6MH0pLFRkPXJkKFNkKSxVZD1BKHt9LHVkLHt0b3VjaGVzOjAsdGFyZ2V0VG91Y2hlczowLGNoYW5nZWRUb3VjaGVzOjAsYWx0S2V5OjAsbWV0YUtleTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGdldE1vZGlmaWVyU3RhdGU6emR9KSxWZD1yZChVZCksV2Q9QSh7fSxzZCx7cHJvcGVydHlOYW1lOjAsZWxhcHNlZFRpbWU6MCxwc2V1ZG9FbGVtZW50OjB9KSxYZD1yZChXZCksWWQ9QSh7fSxBZCx7ZGVsdGFYOmZ1bmN0aW9uKGEpe3JldHVyblwiZGVsdGFYXCJpbiBhP2EuZGVsdGFYOlwid2hlZWxEZWx0YVhcImluIGE/LWEud2hlZWxEZWx0YVg6MH0sXG5kZWx0YVk6ZnVuY3Rpb24oYSl7cmV0dXJuXCJkZWx0YVlcImluIGE/YS5kZWx0YVk6XCJ3aGVlbERlbHRhWVwiaW4gYT8tYS53aGVlbERlbHRhWTpcIndoZWVsRGVsdGFcImluIGE/LWEud2hlZWxEZWx0YTowfSxkZWx0YVo6MCxkZWx0YU1vZGU6MH0pLFpkPXJkKFlkKSwkZD1bOSwxMywyNywzMl0sYWU9aWEmJlwiQ29tcG9zaXRpb25FdmVudFwiaW4gd2luZG93LGJlPW51bGw7aWEmJlwiZG9jdW1lbnRNb2RlXCJpbiBkb2N1bWVudCYmKGJlPWRvY3VtZW50LmRvY3VtZW50TW9kZSk7dmFyIGNlPWlhJiZcIlRleHRFdmVudFwiaW4gd2luZG93JiYhYmUsZGU9aWEmJighYWV8fGJlJiY4PGJlJiYxMT49YmUpLGVlPVN0cmluZy5mcm9tQ2hhckNvZGUoMzIpLGZlPSExO1xuZnVuY3Rpb24gZ2UoYSxiKXtzd2l0Y2goYSl7Y2FzZSBcImtleXVwXCI6cmV0dXJuLTEhPT0kZC5pbmRleE9mKGIua2V5Q29kZSk7Y2FzZSBcImtleWRvd25cIjpyZXR1cm4gMjI5IT09Yi5rZXlDb2RlO2Nhc2UgXCJrZXlwcmVzc1wiOmNhc2UgXCJtb3VzZWRvd25cIjpjYXNlIFwiZm9jdXNvdXRcIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBoZShhKXthPWEuZGV0YWlsO3JldHVyblwib2JqZWN0XCI9PT10eXBlb2YgYSYmXCJkYXRhXCJpbiBhP2EuZGF0YTpudWxsfXZhciBpZT0hMTtmdW5jdGlvbiBqZShhLGIpe3N3aXRjaChhKXtjYXNlIFwiY29tcG9zaXRpb25lbmRcIjpyZXR1cm4gaGUoYik7Y2FzZSBcImtleXByZXNzXCI6aWYoMzIhPT1iLndoaWNoKXJldHVybiBudWxsO2ZlPSEwO3JldHVybiBlZTtjYXNlIFwidGV4dElucHV0XCI6cmV0dXJuIGE9Yi5kYXRhLGE9PT1lZSYmZmU/bnVsbDphO2RlZmF1bHQ6cmV0dXJuIG51bGx9fVxuZnVuY3Rpb24ga2UoYSxiKXtpZihpZSlyZXR1cm5cImNvbXBvc2l0aW9uZW5kXCI9PT1hfHwhYWUmJmdlKGEsYik/KGE9bmQoKSxtZD1sZD1rZD1udWxsLGllPSExLGEpOm51bGw7c3dpdGNoKGEpe2Nhc2UgXCJwYXN0ZVwiOnJldHVybiBudWxsO2Nhc2UgXCJrZXlwcmVzc1wiOmlmKCEoYi5jdHJsS2V5fHxiLmFsdEtleXx8Yi5tZXRhS2V5KXx8Yi5jdHJsS2V5JiZiLmFsdEtleSl7aWYoYi5jaGFyJiYxPGIuY2hhci5sZW5ndGgpcmV0dXJuIGIuY2hhcjtpZihiLndoaWNoKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGIud2hpY2gpfXJldHVybiBudWxsO2Nhc2UgXCJjb21wb3NpdGlvbmVuZFwiOnJldHVybiBkZSYmXCJrb1wiIT09Yi5sb2NhbGU/bnVsbDpiLmRhdGE7ZGVmYXVsdDpyZXR1cm4gbnVsbH19XG52YXIgbGU9e2NvbG9yOiEwLGRhdGU6ITAsZGF0ZXRpbWU6ITAsXCJkYXRldGltZS1sb2NhbFwiOiEwLGVtYWlsOiEwLG1vbnRoOiEwLG51bWJlcjohMCxwYXNzd29yZDohMCxyYW5nZTohMCxzZWFyY2g6ITAsdGVsOiEwLHRleHQ6ITAsdGltZTohMCx1cmw6ITAsd2VlazohMH07ZnVuY3Rpb24gbWUoYSl7dmFyIGI9YSYmYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVyblwiaW5wdXRcIj09PWI/ISFsZVthLnR5cGVdOlwidGV4dGFyZWFcIj09PWI/ITA6ITF9ZnVuY3Rpb24gbmUoYSxiLGMsZCl7RWIoZCk7Yj1vZShiLFwib25DaGFuZ2VcIik7MDxiLmxlbmd0aCYmKGM9bmV3IHRkKFwib25DaGFuZ2VcIixcImNoYW5nZVwiLG51bGwsYyxkKSxhLnB1c2goe2V2ZW50OmMsbGlzdGVuZXJzOmJ9KSl9dmFyIHBlPW51bGwscWU9bnVsbDtmdW5jdGlvbiByZShhKXtzZShhLDApfWZ1bmN0aW9uIHRlKGEpe3ZhciBiPXVlKGEpO2lmKFdhKGIpKXJldHVybiBhfVxuZnVuY3Rpb24gdmUoYSxiKXtpZihcImNoYW5nZVwiPT09YSlyZXR1cm4gYn12YXIgd2U9ITE7aWYoaWEpe3ZhciB4ZTtpZihpYSl7dmFyIHllPVwib25pbnB1dFwiaW4gZG9jdW1lbnQ7aWYoIXllKXt2YXIgemU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTt6ZS5zZXRBdHRyaWJ1dGUoXCJvbmlucHV0XCIsXCJyZXR1cm47XCIpO3llPVwiZnVuY3Rpb25cIj09PXR5cGVvZiB6ZS5vbmlucHV0fXhlPXllfWVsc2UgeGU9ITE7d2U9eGUmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw5PGRvY3VtZW50LmRvY3VtZW50TW9kZSl9ZnVuY3Rpb24gQWUoKXtwZSYmKHBlLmRldGFjaEV2ZW50KFwib25wcm9wZXJ0eWNoYW5nZVwiLEJlKSxxZT1wZT1udWxsKX1mdW5jdGlvbiBCZShhKXtpZihcInZhbHVlXCI9PT1hLnByb3BlcnR5TmFtZSYmdGUocWUpKXt2YXIgYj1bXTtuZShiLHFlLGEseGIoYSkpO0piKHJlLGIpfX1cbmZ1bmN0aW9uIENlKGEsYixjKXtcImZvY3VzaW5cIj09PWE/KEFlKCkscGU9YixxZT1jLHBlLmF0dGFjaEV2ZW50KFwib25wcm9wZXJ0eWNoYW5nZVwiLEJlKSk6XCJmb2N1c291dFwiPT09YSYmQWUoKX1mdW5jdGlvbiBEZShhKXtpZihcInNlbGVjdGlvbmNoYW5nZVwiPT09YXx8XCJrZXl1cFwiPT09YXx8XCJrZXlkb3duXCI9PT1hKXJldHVybiB0ZShxZSl9ZnVuY3Rpb24gRWUoYSxiKXtpZihcImNsaWNrXCI9PT1hKXJldHVybiB0ZShiKX1mdW5jdGlvbiBGZShhLGIpe2lmKFwiaW5wdXRcIj09PWF8fFwiY2hhbmdlXCI9PT1hKXJldHVybiB0ZShiKX1mdW5jdGlvbiBHZShhLGIpe3JldHVybiBhPT09YiYmKDAhPT1hfHwxL2E9PT0xL2IpfHxhIT09YSYmYiE9PWJ9dmFyIEhlPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBPYmplY3QuaXM/T2JqZWN0LmlzOkdlO1xuZnVuY3Rpb24gSWUoYSxiKXtpZihIZShhLGIpKXJldHVybiEwO2lmKFwib2JqZWN0XCIhPT10eXBlb2YgYXx8bnVsbD09PWF8fFwib2JqZWN0XCIhPT10eXBlb2YgYnx8bnVsbD09PWIpcmV0dXJuITE7dmFyIGM9T2JqZWN0LmtleXMoYSksZD1PYmplY3Qua2V5cyhiKTtpZihjLmxlbmd0aCE9PWQubGVuZ3RoKXJldHVybiExO2ZvcihkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF07aWYoIWphLmNhbGwoYixlKXx8IUhlKGFbZV0sYltlXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gSmUoYSl7Zm9yKDthJiZhLmZpcnN0Q2hpbGQ7KWE9YS5maXJzdENoaWxkO3JldHVybiBhfVxuZnVuY3Rpb24gS2UoYSxiKXt2YXIgYz1KZShhKTthPTA7Zm9yKHZhciBkO2M7KXtpZigzPT09Yy5ub2RlVHlwZSl7ZD1hK2MudGV4dENvbnRlbnQubGVuZ3RoO2lmKGE8PWImJmQ+PWIpcmV0dXJue25vZGU6YyxvZmZzZXQ6Yi1hfTthPWR9YTp7Zm9yKDtjOyl7aWYoYy5uZXh0U2libGluZyl7Yz1jLm5leHRTaWJsaW5nO2JyZWFrIGF9Yz1jLnBhcmVudE5vZGV9Yz12b2lkIDB9Yz1KZShjKX19ZnVuY3Rpb24gTGUoYSxiKXtyZXR1cm4gYSYmYj9hPT09Yj8hMDphJiYzPT09YS5ub2RlVHlwZT8hMTpiJiYzPT09Yi5ub2RlVHlwZT9MZShhLGIucGFyZW50Tm9kZSk6XCJjb250YWluc1wiaW4gYT9hLmNvbnRhaW5zKGIpOmEuY29tcGFyZURvY3VtZW50UG9zaXRpb24/ISEoYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSYxNik6ITE6ITF9XG5mdW5jdGlvbiBNZSgpe2Zvcih2YXIgYT13aW5kb3csYj1YYSgpO2IgaW5zdGFuY2VvZiBhLkhUTUxJRnJhbWVFbGVtZW50Oyl7dHJ5e3ZhciBjPVwic3RyaW5nXCI9PT10eXBlb2YgYi5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWZ9Y2F0Y2goZCl7Yz0hMX1pZihjKWE9Yi5jb250ZW50V2luZG93O2Vsc2UgYnJlYWs7Yj1YYShhLmRvY3VtZW50KX1yZXR1cm4gYn1mdW5jdGlvbiBOZShhKXt2YXIgYj1hJiZhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGImJihcImlucHV0XCI9PT1iJiYoXCJ0ZXh0XCI9PT1hLnR5cGV8fFwic2VhcmNoXCI9PT1hLnR5cGV8fFwidGVsXCI9PT1hLnR5cGV8fFwidXJsXCI9PT1hLnR5cGV8fFwicGFzc3dvcmRcIj09PWEudHlwZSl8fFwidGV4dGFyZWFcIj09PWJ8fFwidHJ1ZVwiPT09YS5jb250ZW50RWRpdGFibGUpfVxuZnVuY3Rpb24gT2UoYSl7dmFyIGI9TWUoKSxjPWEuZm9jdXNlZEVsZW0sZD1hLnNlbGVjdGlvblJhbmdlO2lmKGIhPT1jJiZjJiZjLm93bmVyRG9jdW1lbnQmJkxlKGMub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYykpe2lmKG51bGwhPT1kJiZOZShjKSlpZihiPWQuc3RhcnQsYT1kLmVuZCx2b2lkIDA9PT1hJiYoYT1iKSxcInNlbGVjdGlvblN0YXJ0XCJpbiBjKWMuc2VsZWN0aW9uU3RhcnQ9YixjLnNlbGVjdGlvbkVuZD1NYXRoLm1pbihhLGMudmFsdWUubGVuZ3RoKTtlbHNlIGlmKGE9KGI9Yy5vd25lckRvY3VtZW50fHxkb2N1bWVudCkmJmIuZGVmYXVsdFZpZXd8fHdpbmRvdyxhLmdldFNlbGVjdGlvbil7YT1hLmdldFNlbGVjdGlvbigpO3ZhciBlPWMudGV4dENvbnRlbnQubGVuZ3RoLGY9TWF0aC5taW4oZC5zdGFydCxlKTtkPXZvaWQgMD09PWQuZW5kP2Y6TWF0aC5taW4oZC5lbmQsZSk7IWEuZXh0ZW5kJiZmPmQmJihlPWQsZD1mLGY9ZSk7ZT1LZShjLGYpO3ZhciBnPUtlKGMsXG5kKTtlJiZnJiYoMSE9PWEucmFuZ2VDb3VudHx8YS5hbmNob3JOb2RlIT09ZS5ub2RlfHxhLmFuY2hvck9mZnNldCE9PWUub2Zmc2V0fHxhLmZvY3VzTm9kZSE9PWcubm9kZXx8YS5mb2N1c09mZnNldCE9PWcub2Zmc2V0KSYmKGI9Yi5jcmVhdGVSYW5nZSgpLGIuc2V0U3RhcnQoZS5ub2RlLGUub2Zmc2V0KSxhLnJlbW92ZUFsbFJhbmdlcygpLGY+ZD8oYS5hZGRSYW5nZShiKSxhLmV4dGVuZChnLm5vZGUsZy5vZmZzZXQpKTooYi5zZXRFbmQoZy5ub2RlLGcub2Zmc2V0KSxhLmFkZFJhbmdlKGIpKSl9Yj1bXTtmb3IoYT1jO2E9YS5wYXJlbnROb2RlOykxPT09YS5ub2RlVHlwZSYmYi5wdXNoKHtlbGVtZW50OmEsbGVmdDphLnNjcm9sbExlZnQsdG9wOmEuc2Nyb2xsVG9wfSk7XCJmdW5jdGlvblwiPT09dHlwZW9mIGMuZm9jdXMmJmMuZm9jdXMoKTtmb3IoYz0wO2M8Yi5sZW5ndGg7YysrKWE9YltjXSxhLmVsZW1lbnQuc2Nyb2xsTGVmdD1hLmxlZnQsYS5lbGVtZW50LnNjcm9sbFRvcD1hLnRvcH19XG52YXIgUGU9aWEmJlwiZG9jdW1lbnRNb2RlXCJpbiBkb2N1bWVudCYmMTE+PWRvY3VtZW50LmRvY3VtZW50TW9kZSxRZT1udWxsLFJlPW51bGwsU2U9bnVsbCxUZT0hMTtcbmZ1bmN0aW9uIFVlKGEsYixjKXt2YXIgZD1jLndpbmRvdz09PWM/Yy5kb2N1bWVudDo5PT09Yy5ub2RlVHlwZT9jOmMub3duZXJEb2N1bWVudDtUZXx8bnVsbD09UWV8fFFlIT09WGEoZCl8fChkPVFlLFwic2VsZWN0aW9uU3RhcnRcImluIGQmJk5lKGQpP2Q9e3N0YXJ0OmQuc2VsZWN0aW9uU3RhcnQsZW5kOmQuc2VsZWN0aW9uRW5kfTooZD0oZC5vd25lckRvY3VtZW50JiZkLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKCksZD17YW5jaG9yTm9kZTpkLmFuY2hvck5vZGUsYW5jaG9yT2Zmc2V0OmQuYW5jaG9yT2Zmc2V0LGZvY3VzTm9kZTpkLmZvY3VzTm9kZSxmb2N1c09mZnNldDpkLmZvY3VzT2Zmc2V0fSksU2UmJkllKFNlLGQpfHwoU2U9ZCxkPW9lKFJlLFwib25TZWxlY3RcIiksMDxkLmxlbmd0aCYmKGI9bmV3IHRkKFwib25TZWxlY3RcIixcInNlbGVjdFwiLG51bGwsYixjKSxhLnB1c2goe2V2ZW50OmIsbGlzdGVuZXJzOmR9KSxiLnRhcmdldD1RZSkpKX1cbmZ1bmN0aW9uIFZlKGEsYil7dmFyIGM9e307Y1thLnRvTG93ZXJDYXNlKCldPWIudG9Mb3dlckNhc2UoKTtjW1wiV2Via2l0XCIrYV09XCJ3ZWJraXRcIitiO2NbXCJNb3pcIithXT1cIm1velwiK2I7cmV0dXJuIGN9dmFyIFdlPXthbmltYXRpb25lbmQ6VmUoXCJBbmltYXRpb25cIixcIkFuaW1hdGlvbkVuZFwiKSxhbmltYXRpb25pdGVyYXRpb246VmUoXCJBbmltYXRpb25cIixcIkFuaW1hdGlvbkl0ZXJhdGlvblwiKSxhbmltYXRpb25zdGFydDpWZShcIkFuaW1hdGlvblwiLFwiQW5pbWF0aW9uU3RhcnRcIiksdHJhbnNpdGlvbmVuZDpWZShcIlRyYW5zaXRpb25cIixcIlRyYW5zaXRpb25FbmRcIil9LFhlPXt9LFllPXt9O1xuaWEmJihZZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLnN0eWxlLFwiQW5pbWF0aW9uRXZlbnRcImluIHdpbmRvd3x8KGRlbGV0ZSBXZS5hbmltYXRpb25lbmQuYW5pbWF0aW9uLGRlbGV0ZSBXZS5hbmltYXRpb25pdGVyYXRpb24uYW5pbWF0aW9uLGRlbGV0ZSBXZS5hbmltYXRpb25zdGFydC5hbmltYXRpb24pLFwiVHJhbnNpdGlvbkV2ZW50XCJpbiB3aW5kb3d8fGRlbGV0ZSBXZS50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO2Z1bmN0aW9uIFplKGEpe2lmKFhlW2FdKXJldHVybiBYZVthXTtpZighV2VbYV0pcmV0dXJuIGE7dmFyIGI9V2VbYV0sYztmb3IoYyBpbiBiKWlmKGIuaGFzT3duUHJvcGVydHkoYykmJmMgaW4gWWUpcmV0dXJuIFhlW2FdPWJbY107cmV0dXJuIGF9dmFyICRlPVplKFwiYW5pbWF0aW9uZW5kXCIpLGFmPVplKFwiYW5pbWF0aW9uaXRlcmF0aW9uXCIpLGJmPVplKFwiYW5pbWF0aW9uc3RhcnRcIiksY2Y9WmUoXCJ0cmFuc2l0aW9uZW5kXCIpLGRmPW5ldyBNYXAsZWY9XCJhYm9ydCBhdXhDbGljayBjYW5jZWwgY2FuUGxheSBjYW5QbGF5VGhyb3VnaCBjbGljayBjbG9zZSBjb250ZXh0TWVudSBjb3B5IGN1dCBkcmFnIGRyYWdFbmQgZHJhZ0VudGVyIGRyYWdFeGl0IGRyYWdMZWF2ZSBkcmFnT3ZlciBkcmFnU3RhcnQgZHJvcCBkdXJhdGlvbkNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBnb3RQb2ludGVyQ2FwdHVyZSBpbnB1dCBpbnZhbGlkIGtleURvd24ga2V5UHJlc3Mga2V5VXAgbG9hZCBsb2FkZWREYXRhIGxvYWRlZE1ldGFkYXRhIGxvYWRTdGFydCBsb3N0UG9pbnRlckNhcHR1cmUgbW91c2VEb3duIG1vdXNlTW92ZSBtb3VzZU91dCBtb3VzZU92ZXIgbW91c2VVcCBwYXN0ZSBwYXVzZSBwbGF5IHBsYXlpbmcgcG9pbnRlckNhbmNlbCBwb2ludGVyRG93biBwb2ludGVyTW92ZSBwb2ludGVyT3V0IHBvaW50ZXJPdmVyIHBvaW50ZXJVcCBwcm9ncmVzcyByYXRlQ2hhbmdlIHJlc2V0IHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1Ym1pdCBzdXNwZW5kIHRpbWVVcGRhdGUgdG91Y2hDYW5jZWwgdG91Y2hFbmQgdG91Y2hTdGFydCB2b2x1bWVDaGFuZ2Ugc2Nyb2xsIHRvZ2dsZSB0b3VjaE1vdmUgd2FpdGluZyB3aGVlbFwiLnNwbGl0KFwiIFwiKTtcbmZ1bmN0aW9uIGZmKGEsYil7ZGYuc2V0KGEsYik7ZmEoYixbYV0pfWZvcih2YXIgZ2Y9MDtnZjxlZi5sZW5ndGg7Z2YrKyl7dmFyIGhmPWVmW2dmXSxqZj1oZi50b0xvd2VyQ2FzZSgpLGtmPWhmWzBdLnRvVXBwZXJDYXNlKCkraGYuc2xpY2UoMSk7ZmYoamYsXCJvblwiK2tmKX1mZigkZSxcIm9uQW5pbWF0aW9uRW5kXCIpO2ZmKGFmLFwib25BbmltYXRpb25JdGVyYXRpb25cIik7ZmYoYmYsXCJvbkFuaW1hdGlvblN0YXJ0XCIpO2ZmKFwiZGJsY2xpY2tcIixcIm9uRG91YmxlQ2xpY2tcIik7ZmYoXCJmb2N1c2luXCIsXCJvbkZvY3VzXCIpO2ZmKFwiZm9jdXNvdXRcIixcIm9uQmx1clwiKTtmZihjZixcIm9uVHJhbnNpdGlvbkVuZFwiKTtoYShcIm9uTW91c2VFbnRlclwiLFtcIm1vdXNlb3V0XCIsXCJtb3VzZW92ZXJcIl0pO2hhKFwib25Nb3VzZUxlYXZlXCIsW1wibW91c2VvdXRcIixcIm1vdXNlb3ZlclwiXSk7aGEoXCJvblBvaW50ZXJFbnRlclwiLFtcInBvaW50ZXJvdXRcIixcInBvaW50ZXJvdmVyXCJdKTtcbmhhKFwib25Qb2ludGVyTGVhdmVcIixbXCJwb2ludGVyb3V0XCIsXCJwb2ludGVyb3ZlclwiXSk7ZmEoXCJvbkNoYW5nZVwiLFwiY2hhbmdlIGNsaWNrIGZvY3VzaW4gZm9jdXNvdXQgaW5wdXQga2V5ZG93biBrZXl1cCBzZWxlY3Rpb25jaGFuZ2VcIi5zcGxpdChcIiBcIikpO2ZhKFwib25TZWxlY3RcIixcImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZVwiLnNwbGl0KFwiIFwiKSk7ZmEoXCJvbkJlZm9yZUlucHV0XCIsW1wiY29tcG9zaXRpb25lbmRcIixcImtleXByZXNzXCIsXCJ0ZXh0SW5wdXRcIixcInBhc3RlXCJdKTtmYShcIm9uQ29tcG9zaXRpb25FbmRcIixcImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duXCIuc3BsaXQoXCIgXCIpKTtmYShcIm9uQ29tcG9zaXRpb25TdGFydFwiLFwiY29tcG9zaXRpb25zdGFydCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93blwiLnNwbGl0KFwiIFwiKSk7XG5mYShcIm9uQ29tcG9zaXRpb25VcGRhdGVcIixcImNvbXBvc2l0aW9udXBkYXRlIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duXCIuc3BsaXQoXCIgXCIpKTt2YXIgbGY9XCJhYm9ydCBjYW5wbGF5IGNhbnBsYXl0aHJvdWdoIGR1cmF0aW9uY2hhbmdlIGVtcHRpZWQgZW5jcnlwdGVkIGVuZGVkIGVycm9yIGxvYWRlZGRhdGEgbG9hZGVkbWV0YWRhdGEgbG9hZHN0YXJ0IHBhdXNlIHBsYXkgcGxheWluZyBwcm9ncmVzcyByYXRlY2hhbmdlIHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1c3BlbmQgdGltZXVwZGF0ZSB2b2x1bWVjaGFuZ2Ugd2FpdGluZ1wiLnNwbGl0KFwiIFwiKSxtZj1uZXcgU2V0KFwiY2FuY2VsIGNsb3NlIGludmFsaWQgbG9hZCBzY3JvbGwgdG9nZ2xlXCIuc3BsaXQoXCIgXCIpLmNvbmNhdChsZikpO1xuZnVuY3Rpb24gbmYoYSxiLGMpe3ZhciBkPWEudHlwZXx8XCJ1bmtub3duLWV2ZW50XCI7YS5jdXJyZW50VGFyZ2V0PWM7VWIoZCxiLHZvaWQgMCxhKTthLmN1cnJlbnRUYXJnZXQ9bnVsbH1cbmZ1bmN0aW9uIHNlKGEsYil7Yj0wIT09KGImNCk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10sZT1kLmV2ZW50O2Q9ZC5saXN0ZW5lcnM7YTp7dmFyIGY9dm9pZCAwO2lmKGIpZm9yKHZhciBnPWQubGVuZ3RoLTE7MDw9ZztnLS0pe3ZhciBoPWRbZ10saz1oLmluc3RhbmNlLGw9aC5jdXJyZW50VGFyZ2V0O2g9aC5saXN0ZW5lcjtpZihrIT09ZiYmZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGE7bmYoZSxoLGwpO2Y9a31lbHNlIGZvcihnPTA7ZzxkLmxlbmd0aDtnKyspe2g9ZFtnXTtrPWguaW5zdGFuY2U7bD1oLmN1cnJlbnRUYXJnZXQ7aD1oLmxpc3RlbmVyO2lmKGshPT1mJiZlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgYTtuZihlLGgsbCk7Zj1rfX19aWYoUWIpdGhyb3cgYT1SYixRYj0hMSxSYj1udWxsLGE7fVxuZnVuY3Rpb24gRChhLGIpe3ZhciBjPWJbb2ZdO3ZvaWQgMD09PWMmJihjPWJbb2ZdPW5ldyBTZXQpO3ZhciBkPWErXCJfX2J1YmJsZVwiO2MuaGFzKGQpfHwocGYoYixhLDIsITEpLGMuYWRkKGQpKX1mdW5jdGlvbiBxZihhLGIsYyl7dmFyIGQ9MDtiJiYoZHw9NCk7cGYoYyxhLGQsYil9dmFyIHJmPVwiX3JlYWN0TGlzdGVuaW5nXCIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMik7ZnVuY3Rpb24gc2YoYSl7aWYoIWFbcmZdKXthW3JmXT0hMDtkYS5mb3JFYWNoKGZ1bmN0aW9uKGIpe1wic2VsZWN0aW9uY2hhbmdlXCIhPT1iJiYobWYuaGFzKGIpfHxxZihiLCExLGEpLHFmKGIsITAsYSkpfSk7dmFyIGI9OT09PWEubm9kZVR5cGU/YTphLm93bmVyRG9jdW1lbnQ7bnVsbD09PWJ8fGJbcmZdfHwoYltyZl09ITAscWYoXCJzZWxlY3Rpb25jaGFuZ2VcIiwhMSxiKSl9fVxuZnVuY3Rpb24gcGYoYSxiLGMsZCl7c3dpdGNoKGpkKGIpKXtjYXNlIDE6dmFyIGU9ZWQ7YnJlYWs7Y2FzZSA0OmU9Z2Q7YnJlYWs7ZGVmYXVsdDplPWZkfWM9ZS5iaW5kKG51bGwsYixjLGEpO2U9dm9pZCAwOyFMYnx8XCJ0b3VjaHN0YXJ0XCIhPT1iJiZcInRvdWNobW92ZVwiIT09YiYmXCJ3aGVlbFwiIT09Ynx8KGU9ITApO2Q/dm9pZCAwIT09ZT9hLmFkZEV2ZW50TGlzdGVuZXIoYixjLHtjYXB0dXJlOiEwLHBhc3NpdmU6ZX0pOmEuYWRkRXZlbnRMaXN0ZW5lcihiLGMsITApOnZvaWQgMCE9PWU/YS5hZGRFdmVudExpc3RlbmVyKGIsYyx7cGFzc2l2ZTplfSk6YS5hZGRFdmVudExpc3RlbmVyKGIsYywhMSl9XG5mdW5jdGlvbiBoZChhLGIsYyxkLGUpe3ZhciBmPWQ7aWYoMD09PShiJjEpJiYwPT09KGImMikmJm51bGwhPT1kKWE6Zm9yKDs7KXtpZihudWxsPT09ZClyZXR1cm47dmFyIGc9ZC50YWc7aWYoMz09PWd8fDQ9PT1nKXt2YXIgaD1kLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO2lmKGg9PT1lfHw4PT09aC5ub2RlVHlwZSYmaC5wYXJlbnROb2RlPT09ZSlicmVhaztpZig0PT09Zylmb3IoZz1kLnJldHVybjtudWxsIT09Zzspe3ZhciBrPWcudGFnO2lmKDM9PT1rfHw0PT09aylpZihrPWcuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8saz09PWV8fDg9PT1rLm5vZGVUeXBlJiZrLnBhcmVudE5vZGU9PT1lKXJldHVybjtnPWcucmV0dXJufWZvcig7bnVsbCE9PWg7KXtnPVdjKGgpO2lmKG51bGw9PT1nKXJldHVybjtrPWcudGFnO2lmKDU9PT1rfHw2PT09ayl7ZD1mPWc7Y29udGludWUgYX1oPWgucGFyZW50Tm9kZX19ZD1kLnJldHVybn1KYihmdW5jdGlvbigpe3ZhciBkPWYsZT14YihjKSxnPVtdO1xuYTp7dmFyIGg9ZGYuZ2V0KGEpO2lmKHZvaWQgMCE9PWgpe3ZhciBrPXRkLG49YTtzd2l0Y2goYSl7Y2FzZSBcImtleXByZXNzXCI6aWYoMD09PW9kKGMpKWJyZWFrIGE7Y2FzZSBcImtleWRvd25cIjpjYXNlIFwia2V5dXBcIjprPVJkO2JyZWFrO2Nhc2UgXCJmb2N1c2luXCI6bj1cImZvY3VzXCI7az1GZDticmVhaztjYXNlIFwiZm9jdXNvdXRcIjpuPVwiYmx1clwiO2s9RmQ7YnJlYWs7Y2FzZSBcImJlZm9yZWJsdXJcIjpjYXNlIFwiYWZ0ZXJibHVyXCI6az1GZDticmVhaztjYXNlIFwiY2xpY2tcIjppZigyPT09Yy5idXR0b24pYnJlYWsgYTtjYXNlIFwiYXV4Y2xpY2tcIjpjYXNlIFwiZGJsY2xpY2tcIjpjYXNlIFwibW91c2Vkb3duXCI6Y2FzZSBcIm1vdXNlbW92ZVwiOmNhc2UgXCJtb3VzZXVwXCI6Y2FzZSBcIm1vdXNlb3V0XCI6Y2FzZSBcIm1vdXNlb3ZlclwiOmNhc2UgXCJjb250ZXh0bWVudVwiOms9QmQ7YnJlYWs7Y2FzZSBcImRyYWdcIjpjYXNlIFwiZHJhZ2VuZFwiOmNhc2UgXCJkcmFnZW50ZXJcIjpjYXNlIFwiZHJhZ2V4aXRcIjpjYXNlIFwiZHJhZ2xlYXZlXCI6Y2FzZSBcImRyYWdvdmVyXCI6Y2FzZSBcImRyYWdzdGFydFwiOmNhc2UgXCJkcm9wXCI6az1cbkRkO2JyZWFrO2Nhc2UgXCJ0b3VjaGNhbmNlbFwiOmNhc2UgXCJ0b3VjaGVuZFwiOmNhc2UgXCJ0b3VjaG1vdmVcIjpjYXNlIFwidG91Y2hzdGFydFwiOms9VmQ7YnJlYWs7Y2FzZSAkZTpjYXNlIGFmOmNhc2UgYmY6az1IZDticmVhaztjYXNlIGNmOms9WGQ7YnJlYWs7Y2FzZSBcInNjcm9sbFwiOms9dmQ7YnJlYWs7Y2FzZSBcIndoZWVsXCI6az1aZDticmVhaztjYXNlIFwiY29weVwiOmNhc2UgXCJjdXRcIjpjYXNlIFwicGFzdGVcIjprPUpkO2JyZWFrO2Nhc2UgXCJnb3Rwb2ludGVyY2FwdHVyZVwiOmNhc2UgXCJsb3N0cG9pbnRlcmNhcHR1cmVcIjpjYXNlIFwicG9pbnRlcmNhbmNlbFwiOmNhc2UgXCJwb2ludGVyZG93blwiOmNhc2UgXCJwb2ludGVybW92ZVwiOmNhc2UgXCJwb2ludGVyb3V0XCI6Y2FzZSBcInBvaW50ZXJvdmVyXCI6Y2FzZSBcInBvaW50ZXJ1cFwiOms9VGR9dmFyIHQ9MCE9PShiJjQpLEo9IXQmJlwic2Nyb2xsXCI9PT1hLHg9dD9udWxsIT09aD9oK1wiQ2FwdHVyZVwiOm51bGw6aDt0PVtdO2Zvcih2YXIgdz1kLHU7bnVsbCE9PVxudzspe3U9dzt2YXIgRj11LnN0YXRlTm9kZTs1PT09dS50YWcmJm51bGwhPT1GJiYodT1GLG51bGwhPT14JiYoRj1LYih3LHgpLG51bGwhPUYmJnQucHVzaCh0Zih3LEYsdSkpKSk7aWYoSilicmVhazt3PXcucmV0dXJufTA8dC5sZW5ndGgmJihoPW5ldyBrKGgsbixudWxsLGMsZSksZy5wdXNoKHtldmVudDpoLGxpc3RlbmVyczp0fSkpfX1pZigwPT09KGImNykpe2E6e2g9XCJtb3VzZW92ZXJcIj09PWF8fFwicG9pbnRlcm92ZXJcIj09PWE7az1cIm1vdXNlb3V0XCI9PT1hfHxcInBvaW50ZXJvdXRcIj09PWE7aWYoaCYmYyE9PXdiJiYobj1jLnJlbGF0ZWRUYXJnZXR8fGMuZnJvbUVsZW1lbnQpJiYoV2Mobil8fG5bdWZdKSlicmVhayBhO2lmKGt8fGgpe2g9ZS53aW5kb3c9PT1lP2U6KGg9ZS5vd25lckRvY3VtZW50KT9oLmRlZmF1bHRWaWV3fHxoLnBhcmVudFdpbmRvdzp3aW5kb3c7aWYoayl7aWYobj1jLnJlbGF0ZWRUYXJnZXR8fGMudG9FbGVtZW50LGs9ZCxuPW4/V2Mobik6bnVsbCxudWxsIT09XG5uJiYoSj1WYihuKSxuIT09Snx8NSE9PW4udGFnJiY2IT09bi50YWcpKW49bnVsbH1lbHNlIGs9bnVsbCxuPWQ7aWYoayE9PW4pe3Q9QmQ7Rj1cIm9uTW91c2VMZWF2ZVwiO3g9XCJvbk1vdXNlRW50ZXJcIjt3PVwibW91c2VcIjtpZihcInBvaW50ZXJvdXRcIj09PWF8fFwicG9pbnRlcm92ZXJcIj09PWEpdD1UZCxGPVwib25Qb2ludGVyTGVhdmVcIix4PVwib25Qb2ludGVyRW50ZXJcIix3PVwicG9pbnRlclwiO0o9bnVsbD09az9oOnVlKGspO3U9bnVsbD09bj9oOnVlKG4pO2g9bmV3IHQoRix3K1wibGVhdmVcIixrLGMsZSk7aC50YXJnZXQ9SjtoLnJlbGF0ZWRUYXJnZXQ9dTtGPW51bGw7V2MoZSk9PT1kJiYodD1uZXcgdCh4LHcrXCJlbnRlclwiLG4sYyxlKSx0LnRhcmdldD11LHQucmVsYXRlZFRhcmdldD1KLEY9dCk7Sj1GO2lmKGsmJm4pYjp7dD1rO3g9bjt3PTA7Zm9yKHU9dDt1O3U9dmYodSkpdysrO3U9MDtmb3IoRj14O0Y7Rj12ZihGKSl1Kys7Zm9yKDswPHctdTspdD12Zih0KSx3LS07Zm9yKDswPHUtdzspeD1cbnZmKHgpLHUtLTtmb3IoO3ctLTspe2lmKHQ9PT14fHxudWxsIT09eCYmdD09PXguYWx0ZXJuYXRlKWJyZWFrIGI7dD12Zih0KTt4PXZmKHgpfXQ9bnVsbH1lbHNlIHQ9bnVsbDtudWxsIT09ayYmd2YoZyxoLGssdCwhMSk7bnVsbCE9PW4mJm51bGwhPT1KJiZ3ZihnLEosbix0LCEwKX19fWE6e2g9ZD91ZShkKTp3aW5kb3c7az1oLm5vZGVOYW1lJiZoLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoXCJzZWxlY3RcIj09PWt8fFwiaW5wdXRcIj09PWsmJlwiZmlsZVwiPT09aC50eXBlKXZhciBuYT12ZTtlbHNlIGlmKG1lKGgpKWlmKHdlKW5hPUZlO2Vsc2V7bmE9RGU7dmFyIHhhPUNlfWVsc2Uoaz1oLm5vZGVOYW1lKSYmXCJpbnB1dFwiPT09ay50b0xvd2VyQ2FzZSgpJiYoXCJjaGVja2JveFwiPT09aC50eXBlfHxcInJhZGlvXCI9PT1oLnR5cGUpJiYobmE9RWUpO2lmKG5hJiYobmE9bmEoYSxkKSkpe25lKGcsbmEsYyxlKTticmVhayBhfXhhJiZ4YShhLGgsZCk7XCJmb2N1c291dFwiPT09YSYmKHhhPWguX3dyYXBwZXJTdGF0ZSkmJlxueGEuY29udHJvbGxlZCYmXCJudW1iZXJcIj09PWgudHlwZSYmY2IoaCxcIm51bWJlclwiLGgudmFsdWUpfXhhPWQ/dWUoZCk6d2luZG93O3N3aXRjaChhKXtjYXNlIFwiZm9jdXNpblwiOmlmKG1lKHhhKXx8XCJ0cnVlXCI9PT14YS5jb250ZW50RWRpdGFibGUpUWU9eGEsUmU9ZCxTZT1udWxsO2JyZWFrO2Nhc2UgXCJmb2N1c291dFwiOlNlPVJlPVFlPW51bGw7YnJlYWs7Y2FzZSBcIm1vdXNlZG93blwiOlRlPSEwO2JyZWFrO2Nhc2UgXCJjb250ZXh0bWVudVwiOmNhc2UgXCJtb3VzZXVwXCI6Y2FzZSBcImRyYWdlbmRcIjpUZT0hMTtVZShnLGMsZSk7YnJlYWs7Y2FzZSBcInNlbGVjdGlvbmNoYW5nZVwiOmlmKFBlKWJyZWFrO2Nhc2UgXCJrZXlkb3duXCI6Y2FzZSBcImtleXVwXCI6VWUoZyxjLGUpfXZhciAkYTtpZihhZSliOntzd2l0Y2goYSl7Y2FzZSBcImNvbXBvc2l0aW9uc3RhcnRcIjp2YXIgYmE9XCJvbkNvbXBvc2l0aW9uU3RhcnRcIjticmVhayBiO2Nhc2UgXCJjb21wb3NpdGlvbmVuZFwiOmJhPVwib25Db21wb3NpdGlvbkVuZFwiO1xuYnJlYWsgYjtjYXNlIFwiY29tcG9zaXRpb251cGRhdGVcIjpiYT1cIm9uQ29tcG9zaXRpb25VcGRhdGVcIjticmVhayBifWJhPXZvaWQgMH1lbHNlIGllP2dlKGEsYykmJihiYT1cIm9uQ29tcG9zaXRpb25FbmRcIik6XCJrZXlkb3duXCI9PT1hJiYyMjk9PT1jLmtleUNvZGUmJihiYT1cIm9uQ29tcG9zaXRpb25TdGFydFwiKTtiYSYmKGRlJiZcImtvXCIhPT1jLmxvY2FsZSYmKGllfHxcIm9uQ29tcG9zaXRpb25TdGFydFwiIT09YmE/XCJvbkNvbXBvc2l0aW9uRW5kXCI9PT1iYSYmaWUmJigkYT1uZCgpKTooa2Q9ZSxsZD1cInZhbHVlXCJpbiBrZD9rZC52YWx1ZTprZC50ZXh0Q29udGVudCxpZT0hMCkpLHhhPW9lKGQsYmEpLDA8eGEubGVuZ3RoJiYoYmE9bmV3IExkKGJhLGEsbnVsbCxjLGUpLGcucHVzaCh7ZXZlbnQ6YmEsbGlzdGVuZXJzOnhhfSksJGE/YmEuZGF0YT0kYTooJGE9aGUoYyksbnVsbCE9PSRhJiYoYmEuZGF0YT0kYSkpKSk7aWYoJGE9Y2U/amUoYSxjKTprZShhLGMpKWQ9b2UoZCxcIm9uQmVmb3JlSW5wdXRcIiksXG4wPGQubGVuZ3RoJiYoZT1uZXcgTGQoXCJvbkJlZm9yZUlucHV0XCIsXCJiZWZvcmVpbnB1dFwiLG51bGwsYyxlKSxnLnB1c2goe2V2ZW50OmUsbGlzdGVuZXJzOmR9KSxlLmRhdGE9JGEpfXNlKGcsYil9KX1mdW5jdGlvbiB0ZihhLGIsYyl7cmV0dXJue2luc3RhbmNlOmEsbGlzdGVuZXI6YixjdXJyZW50VGFyZ2V0OmN9fWZ1bmN0aW9uIG9lKGEsYil7Zm9yKHZhciBjPWIrXCJDYXB0dXJlXCIsZD1bXTtudWxsIT09YTspe3ZhciBlPWEsZj1lLnN0YXRlTm9kZTs1PT09ZS50YWcmJm51bGwhPT1mJiYoZT1mLGY9S2IoYSxjKSxudWxsIT1mJiZkLnVuc2hpZnQodGYoYSxmLGUpKSxmPUtiKGEsYiksbnVsbCE9ZiYmZC5wdXNoKHRmKGEsZixlKSkpO2E9YS5yZXR1cm59cmV0dXJuIGR9ZnVuY3Rpb24gdmYoYSl7aWYobnVsbD09PWEpcmV0dXJuIG51bGw7ZG8gYT1hLnJldHVybjt3aGlsZShhJiY1IT09YS50YWcpO3JldHVybiBhP2E6bnVsbH1cbmZ1bmN0aW9uIHdmKGEsYixjLGQsZSl7Zm9yKHZhciBmPWIuX3JlYWN0TmFtZSxnPVtdO251bGwhPT1jJiZjIT09ZDspe3ZhciBoPWMsaz1oLmFsdGVybmF0ZSxsPWguc3RhdGVOb2RlO2lmKG51bGwhPT1rJiZrPT09ZClicmVhazs1PT09aC50YWcmJm51bGwhPT1sJiYoaD1sLGU/KGs9S2IoYyxmKSxudWxsIT1rJiZnLnVuc2hpZnQodGYoYyxrLGgpKSk6ZXx8KGs9S2IoYyxmKSxudWxsIT1rJiZnLnB1c2godGYoYyxrLGgpKSkpO2M9Yy5yZXR1cm59MCE9PWcubGVuZ3RoJiZhLnB1c2goe2V2ZW50OmIsbGlzdGVuZXJzOmd9KX12YXIgeGY9L1xcclxcbj8vZyx5Zj0vXFx1MDAwMHxcXHVGRkZEL2c7ZnVuY3Rpb24gemYoYSl7cmV0dXJuKFwic3RyaW5nXCI9PT10eXBlb2YgYT9hOlwiXCIrYSkucmVwbGFjZSh4ZixcIlxcblwiKS5yZXBsYWNlKHlmLFwiXCIpfWZ1bmN0aW9uIEFmKGEsYixjKXtiPXpmKGIpO2lmKHpmKGEpIT09YiYmYyl0aHJvdyBFcnJvcihwKDQyNSkpO31mdW5jdGlvbiBCZigpe31cbnZhciBDZj1udWxsLERmPW51bGw7ZnVuY3Rpb24gRWYoYSxiKXtyZXR1cm5cInRleHRhcmVhXCI9PT1hfHxcIm5vc2NyaXB0XCI9PT1hfHxcInN0cmluZ1wiPT09dHlwZW9mIGIuY2hpbGRyZW58fFwibnVtYmVyXCI9PT10eXBlb2YgYi5jaGlsZHJlbnx8XCJvYmplY3RcIj09PXR5cGVvZiBiLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MJiZudWxsIT09Yi5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9Yi5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWx9XG52YXIgRmY9XCJmdW5jdGlvblwiPT09dHlwZW9mIHNldFRpbWVvdXQ/c2V0VGltZW91dDp2b2lkIDAsR2Y9XCJmdW5jdGlvblwiPT09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6dm9pZCAwLEhmPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBQcm9taXNlP1Byb21pc2U6dm9pZCAwLEpmPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBxdWV1ZU1pY3JvdGFzaz9xdWV1ZU1pY3JvdGFzazpcInVuZGVmaW5lZFwiIT09dHlwZW9mIEhmP2Z1bmN0aW9uKGEpe3JldHVybiBIZi5yZXNvbHZlKG51bGwpLnRoZW4oYSkuY2F0Y2goSWYpfTpGZjtmdW5jdGlvbiBJZihhKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgYTt9KX1cbmZ1bmN0aW9uIEtmKGEsYil7dmFyIGM9YixkPTA7ZG97dmFyIGU9Yy5uZXh0U2libGluZzthLnJlbW92ZUNoaWxkKGMpO2lmKGUmJjg9PT1lLm5vZGVUeXBlKWlmKGM9ZS5kYXRhLFwiLyRcIj09PWMpe2lmKDA9PT1kKXthLnJlbW92ZUNoaWxkKGUpO2JkKGIpO3JldHVybn1kLS19ZWxzZVwiJFwiIT09YyYmXCIkP1wiIT09YyYmXCIkIVwiIT09Y3x8ZCsrO2M9ZX13aGlsZShjKTtiZChiKX1mdW5jdGlvbiBMZihhKXtmb3IoO251bGwhPWE7YT1hLm5leHRTaWJsaW5nKXt2YXIgYj1hLm5vZGVUeXBlO2lmKDE9PT1ifHwzPT09YilicmVhaztpZig4PT09Yil7Yj1hLmRhdGE7aWYoXCIkXCI9PT1ifHxcIiQhXCI9PT1ifHxcIiQ/XCI9PT1iKWJyZWFrO2lmKFwiLyRcIj09PWIpcmV0dXJuIG51bGx9fXJldHVybiBhfVxuZnVuY3Rpb24gTWYoYSl7YT1hLnByZXZpb3VzU2libGluZztmb3IodmFyIGI9MDthOyl7aWYoOD09PWEubm9kZVR5cGUpe3ZhciBjPWEuZGF0YTtpZihcIiRcIj09PWN8fFwiJCFcIj09PWN8fFwiJD9cIj09PWMpe2lmKDA9PT1iKXJldHVybiBhO2ItLX1lbHNlXCIvJFwiPT09YyYmYisrfWE9YS5wcmV2aW91c1NpYmxpbmd9cmV0dXJuIG51bGx9dmFyIE5mPU1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpLE9mPVwiX19yZWFjdEZpYmVyJFwiK05mLFBmPVwiX19yZWFjdFByb3BzJFwiK05mLHVmPVwiX19yZWFjdENvbnRhaW5lciRcIitOZixvZj1cIl9fcmVhY3RFdmVudHMkXCIrTmYsUWY9XCJfX3JlYWN0TGlzdGVuZXJzJFwiK05mLFJmPVwiX19yZWFjdEhhbmRsZXMkXCIrTmY7XG5mdW5jdGlvbiBXYyhhKXt2YXIgYj1hW09mXTtpZihiKXJldHVybiBiO2Zvcih2YXIgYz1hLnBhcmVudE5vZGU7Yzspe2lmKGI9Y1t1Zl18fGNbT2ZdKXtjPWIuYWx0ZXJuYXRlO2lmKG51bGwhPT1iLmNoaWxkfHxudWxsIT09YyYmbnVsbCE9PWMuY2hpbGQpZm9yKGE9TWYoYSk7bnVsbCE9PWE7KXtpZihjPWFbT2ZdKXJldHVybiBjO2E9TWYoYSl9cmV0dXJuIGJ9YT1jO2M9YS5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIENiKGEpe2E9YVtPZl18fGFbdWZdO3JldHVybiFhfHw1IT09YS50YWcmJjYhPT1hLnRhZyYmMTMhPT1hLnRhZyYmMyE9PWEudGFnP251bGw6YX1mdW5jdGlvbiB1ZShhKXtpZig1PT09YS50YWd8fDY9PT1hLnRhZylyZXR1cm4gYS5zdGF0ZU5vZGU7dGhyb3cgRXJyb3IocCgzMykpO31mdW5jdGlvbiBEYihhKXtyZXR1cm4gYVtQZl18fG51bGx9dmFyIFNmPVtdLFRmPS0xO2Z1bmN0aW9uIFVmKGEpe3JldHVybntjdXJyZW50OmF9fVxuZnVuY3Rpb24gRShhKXswPlRmfHwoYS5jdXJyZW50PVNmW1RmXSxTZltUZl09bnVsbCxUZi0tKX1mdW5jdGlvbiBHKGEsYil7VGYrKztTZltUZl09YS5jdXJyZW50O2EuY3VycmVudD1ifXZhciBWZj17fSxIPVVmKFZmKSxXZj1VZighMSksWGY9VmY7ZnVuY3Rpb24gWWYoYSxiKXt2YXIgYz1hLnR5cGUuY29udGV4dFR5cGVzO2lmKCFjKXJldHVybiBWZjt2YXIgZD1hLnN0YXRlTm9kZTtpZihkJiZkLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9PT1iKXJldHVybiBkLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0O3ZhciBlPXt9LGY7Zm9yKGYgaW4gYyllW2ZdPWJbZl07ZCYmKGE9YS5zdGF0ZU5vZGUsYS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0PWIsYS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dD1lKTtyZXR1cm4gZX1cbmZ1bmN0aW9uIFpmKGEpe2E9YS5jaGlsZENvbnRleHRUeXBlcztyZXR1cm4gbnVsbCE9PWEmJnZvaWQgMCE9PWF9ZnVuY3Rpb24gJGYoKXtFKFdmKTtFKEgpfWZ1bmN0aW9uIGFnKGEsYixjKXtpZihILmN1cnJlbnQhPT1WZil0aHJvdyBFcnJvcihwKDE2OCkpO0coSCxiKTtHKFdmLGMpfWZ1bmN0aW9uIGJnKGEsYixjKXt2YXIgZD1hLnN0YXRlTm9kZTtiPWIuY2hpbGRDb250ZXh0VHlwZXM7aWYoXCJmdW5jdGlvblwiIT09dHlwZW9mIGQuZ2V0Q2hpbGRDb250ZXh0KXJldHVybiBjO2Q9ZC5nZXRDaGlsZENvbnRleHQoKTtmb3IodmFyIGUgaW4gZClpZighKGUgaW4gYikpdGhyb3cgRXJyb3IocCgxMDgsUmEoYSl8fFwiVW5rbm93blwiLGUpKTtyZXR1cm4gQSh7fSxjLGQpfVxuZnVuY3Rpb24gY2coYSl7YT0oYT1hLnN0YXRlTm9kZSkmJmEuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHR8fFZmO1hmPUguY3VycmVudDtHKEgsYSk7RyhXZixXZi5jdXJyZW50KTtyZXR1cm4hMH1mdW5jdGlvbiBkZyhhLGIsYyl7dmFyIGQ9YS5zdGF0ZU5vZGU7aWYoIWQpdGhyb3cgRXJyb3IocCgxNjkpKTtjPyhhPWJnKGEsYixYZiksZC5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dD1hLEUoV2YpLEUoSCksRyhILGEpKTpFKFdmKTtHKFdmLGMpfXZhciBlZz1udWxsLGZnPSExLGdnPSExO2Z1bmN0aW9uIGhnKGEpe251bGw9PT1lZz9lZz1bYV06ZWcucHVzaChhKX1mdW5jdGlvbiBpZyhhKXtmZz0hMDtoZyhhKX1cbmZ1bmN0aW9uIGpnKCl7aWYoIWdnJiZudWxsIT09ZWcpe2dnPSEwO3ZhciBhPTAsYj1DO3RyeXt2YXIgYz1lZztmb3IoQz0xO2E8Yy5sZW5ndGg7YSsrKXt2YXIgZD1jW2FdO2RvIGQ9ZCghMCk7d2hpbGUobnVsbCE9PWQpfWVnPW51bGw7Zmc9ITF9Y2F0Y2goZSl7dGhyb3cgbnVsbCE9PWVnJiYoZWc9ZWcuc2xpY2UoYSsxKSksYWMoZmMsamcpLGU7fWZpbmFsbHl7Qz1iLGdnPSExfX1yZXR1cm4gbnVsbH12YXIga2c9W10sbGc9MCxtZz1udWxsLG5nPTAsb2c9W10scGc9MCxxZz1udWxsLHJnPTEsc2c9XCJcIjtmdW5jdGlvbiB0ZyhhLGIpe2tnW2xnKytdPW5nO2tnW2xnKytdPW1nO21nPWE7bmc9Yn1cbmZ1bmN0aW9uIHVnKGEsYixjKXtvZ1twZysrXT1yZztvZ1twZysrXT1zZztvZ1twZysrXT1xZztxZz1hO3ZhciBkPXJnO2E9c2c7dmFyIGU9MzItb2MoZCktMTtkJj1+KDE8PGUpO2MrPTE7dmFyIGY9MzItb2MoYikrZTtpZigzMDxmKXt2YXIgZz1lLWUlNTtmPShkJigxPDxnKS0xKS50b1N0cmluZygzMik7ZD4+PWc7ZS09ZztyZz0xPDwzMi1vYyhiKStlfGM8PGV8ZDtzZz1mK2F9ZWxzZSByZz0xPDxmfGM8PGV8ZCxzZz1hfWZ1bmN0aW9uIHZnKGEpe251bGwhPT1hLnJldHVybiYmKHRnKGEsMSksdWcoYSwxLDApKX1mdW5jdGlvbiB3ZyhhKXtmb3IoO2E9PT1tZzspbWc9a2dbLS1sZ10sa2dbbGddPW51bGwsbmc9a2dbLS1sZ10sa2dbbGddPW51bGw7Zm9yKDthPT09cWc7KXFnPW9nWy0tcGddLG9nW3BnXT1udWxsLHNnPW9nWy0tcGddLG9nW3BnXT1udWxsLHJnPW9nWy0tcGddLG9nW3BnXT1udWxsfXZhciB4Zz1udWxsLHlnPW51bGwsST0hMSx6Zz1udWxsO1xuZnVuY3Rpb24gQWcoYSxiKXt2YXIgYz1CZyg1LG51bGwsbnVsbCwwKTtjLmVsZW1lbnRUeXBlPVwiREVMRVRFRFwiO2Muc3RhdGVOb2RlPWI7Yy5yZXR1cm49YTtiPWEuZGVsZXRpb25zO251bGw9PT1iPyhhLmRlbGV0aW9ucz1bY10sYS5mbGFnc3w9MTYpOmIucHVzaChjKX1cbmZ1bmN0aW9uIENnKGEsYil7c3dpdGNoKGEudGFnKXtjYXNlIDU6dmFyIGM9YS50eXBlO2I9MSE9PWIubm9kZVR5cGV8fGMudG9Mb3dlckNhc2UoKSE9PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9udWxsOmI7cmV0dXJuIG51bGwhPT1iPyhhLnN0YXRlTm9kZT1iLHhnPWEseWc9TGYoYi5maXJzdENoaWxkKSwhMCk6ITE7Y2FzZSA2OnJldHVybiBiPVwiXCI9PT1hLnBlbmRpbmdQcm9wc3x8MyE9PWIubm9kZVR5cGU/bnVsbDpiLG51bGwhPT1iPyhhLnN0YXRlTm9kZT1iLHhnPWEseWc9bnVsbCwhMCk6ITE7Y2FzZSAxMzpyZXR1cm4gYj04IT09Yi5ub2RlVHlwZT9udWxsOmIsbnVsbCE9PWI/KGM9bnVsbCE9PXFnP3tpZDpyZyxvdmVyZmxvdzpzZ306bnVsbCxhLm1lbW9pemVkU3RhdGU9e2RlaHlkcmF0ZWQ6Yix0cmVlQ29udGV4dDpjLHJldHJ5TGFuZToxMDczNzQxODI0fSxjPUJnKDE4LG51bGwsbnVsbCwwKSxjLnN0YXRlTm9kZT1iLGMucmV0dXJuPWEsYS5jaGlsZD1jLHhnPWEseWc9XG5udWxsLCEwKTohMTtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBEZyhhKXtyZXR1cm4gMCE9PShhLm1vZGUmMSkmJjA9PT0oYS5mbGFncyYxMjgpfWZ1bmN0aW9uIEVnKGEpe2lmKEkpe3ZhciBiPXlnO2lmKGIpe3ZhciBjPWI7aWYoIUNnKGEsYikpe2lmKERnKGEpKXRocm93IEVycm9yKHAoNDE4KSk7Yj1MZihjLm5leHRTaWJsaW5nKTt2YXIgZD14ZztiJiZDZyhhLGIpP0FnKGQsYyk6KGEuZmxhZ3M9YS5mbGFncyYtNDA5N3wyLEk9ITEseGc9YSl9fWVsc2V7aWYoRGcoYSkpdGhyb3cgRXJyb3IocCg0MTgpKTthLmZsYWdzPWEuZmxhZ3MmLTQwOTd8MjtJPSExO3hnPWF9fX1mdW5jdGlvbiBGZyhhKXtmb3IoYT1hLnJldHVybjtudWxsIT09YSYmNSE9PWEudGFnJiYzIT09YS50YWcmJjEzIT09YS50YWc7KWE9YS5yZXR1cm47eGc9YX1cbmZ1bmN0aW9uIEdnKGEpe2lmKGEhPT14ZylyZXR1cm4hMTtpZighSSlyZXR1cm4gRmcoYSksST0hMCwhMTt2YXIgYjsoYj0zIT09YS50YWcpJiYhKGI9NSE9PWEudGFnKSYmKGI9YS50eXBlLGI9XCJoZWFkXCIhPT1iJiZcImJvZHlcIiE9PWImJiFFZihhLnR5cGUsYS5tZW1vaXplZFByb3BzKSk7aWYoYiYmKGI9eWcpKXtpZihEZyhhKSl0aHJvdyBIZygpLEVycm9yKHAoNDE4KSk7Zm9yKDtiOylBZyhhLGIpLGI9TGYoYi5uZXh0U2libGluZyl9RmcoYSk7aWYoMTM9PT1hLnRhZyl7YT1hLm1lbW9pemVkU3RhdGU7YT1udWxsIT09YT9hLmRlaHlkcmF0ZWQ6bnVsbDtpZighYSl0aHJvdyBFcnJvcihwKDMxNykpO2E6e2E9YS5uZXh0U2libGluZztmb3IoYj0wO2E7KXtpZig4PT09YS5ub2RlVHlwZSl7dmFyIGM9YS5kYXRhO2lmKFwiLyRcIj09PWMpe2lmKDA9PT1iKXt5Zz1MZihhLm5leHRTaWJsaW5nKTticmVhayBhfWItLX1lbHNlXCIkXCIhPT1jJiZcIiQhXCIhPT1jJiZcIiQ/XCIhPT1jfHxiKyt9YT1hLm5leHRTaWJsaW5nfXlnPVxubnVsbH19ZWxzZSB5Zz14Zz9MZihhLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBIZygpe2Zvcih2YXIgYT15ZzthOylhPUxmKGEubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIElnKCl7eWc9eGc9bnVsbDtJPSExfWZ1bmN0aW9uIEpnKGEpe251bGw9PT16Zz96Zz1bYV06emcucHVzaChhKX12YXIgS2c9dWEuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7XG5mdW5jdGlvbiBMZyhhLGIsYyl7YT1jLnJlZjtpZihudWxsIT09YSYmXCJmdW5jdGlvblwiIT09dHlwZW9mIGEmJlwib2JqZWN0XCIhPT10eXBlb2YgYSl7aWYoYy5fb3duZXIpe2M9Yy5fb3duZXI7aWYoYyl7aWYoMSE9PWMudGFnKXRocm93IEVycm9yKHAoMzA5KSk7dmFyIGQ9Yy5zdGF0ZU5vZGV9aWYoIWQpdGhyb3cgRXJyb3IocCgxNDcsYSkpO3ZhciBlPWQsZj1cIlwiK2E7aWYobnVsbCE9PWImJm51bGwhPT1iLnJlZiYmXCJmdW5jdGlvblwiPT09dHlwZW9mIGIucmVmJiZiLnJlZi5fc3RyaW5nUmVmPT09ZilyZXR1cm4gYi5yZWY7Yj1mdW5jdGlvbihhKXt2YXIgYj1lLnJlZnM7bnVsbD09PWE/ZGVsZXRlIGJbZl06YltmXT1hfTtiLl9zdHJpbmdSZWY9ZjtyZXR1cm4gYn1pZihcInN0cmluZ1wiIT09dHlwZW9mIGEpdGhyb3cgRXJyb3IocCgyODQpKTtpZighYy5fb3duZXIpdGhyb3cgRXJyb3IocCgyOTAsYSkpO31yZXR1cm4gYX1cbmZ1bmN0aW9uIE1nKGEsYil7YT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYik7dGhyb3cgRXJyb3IocCgzMSxcIltvYmplY3QgT2JqZWN0XVwiPT09YT9cIm9iamVjdCB3aXRoIGtleXMge1wiK09iamVjdC5rZXlzKGIpLmpvaW4oXCIsIFwiKStcIn1cIjphKSk7fWZ1bmN0aW9uIE5nKGEpe3ZhciBiPWEuX2luaXQ7cmV0dXJuIGIoYS5fcGF5bG9hZCl9XG5mdW5jdGlvbiBPZyhhKXtmdW5jdGlvbiBiKGIsYyl7aWYoYSl7dmFyIGQ9Yi5kZWxldGlvbnM7bnVsbD09PWQ/KGIuZGVsZXRpb25zPVtjXSxiLmZsYWdzfD0xNik6ZC5wdXNoKGMpfX1mdW5jdGlvbiBjKGMsZCl7aWYoIWEpcmV0dXJuIG51bGw7Zm9yKDtudWxsIT09ZDspYihjLGQpLGQ9ZC5zaWJsaW5nO3JldHVybiBudWxsfWZ1bmN0aW9uIGQoYSxiKXtmb3IoYT1uZXcgTWFwO251bGwhPT1iOyludWxsIT09Yi5rZXk/YS5zZXQoYi5rZXksYik6YS5zZXQoYi5pbmRleCxiKSxiPWIuc2libGluZztyZXR1cm4gYX1mdW5jdGlvbiBlKGEsYil7YT1QZyhhLGIpO2EuaW5kZXg9MDthLnNpYmxpbmc9bnVsbDtyZXR1cm4gYX1mdW5jdGlvbiBmKGIsYyxkKXtiLmluZGV4PWQ7aWYoIWEpcmV0dXJuIGIuZmxhZ3N8PTEwNDg1NzYsYztkPWIuYWx0ZXJuYXRlO2lmKG51bGwhPT1kKXJldHVybiBkPWQuaW5kZXgsZDxjPyhiLmZsYWdzfD0yLGMpOmQ7Yi5mbGFnc3w9MjtyZXR1cm4gY31mdW5jdGlvbiBnKGIpe2EmJlxubnVsbD09PWIuYWx0ZXJuYXRlJiYoYi5mbGFnc3w9Mik7cmV0dXJuIGJ9ZnVuY3Rpb24gaChhLGIsYyxkKXtpZihudWxsPT09Ynx8NiE9PWIudGFnKXJldHVybiBiPVFnKGMsYS5tb2RlLGQpLGIucmV0dXJuPWEsYjtiPWUoYixjKTtiLnJldHVybj1hO3JldHVybiBifWZ1bmN0aW9uIGsoYSxiLGMsZCl7dmFyIGY9Yy50eXBlO2lmKGY9PT15YSlyZXR1cm4gbShhLGIsYy5wcm9wcy5jaGlsZHJlbixkLGMua2V5KTtpZihudWxsIT09YiYmKGIuZWxlbWVudFR5cGU9PT1mfHxcIm9iamVjdFwiPT09dHlwZW9mIGYmJm51bGwhPT1mJiZmLiQkdHlwZW9mPT09SGEmJk5nKGYpPT09Yi50eXBlKSlyZXR1cm4gZD1lKGIsYy5wcm9wcyksZC5yZWY9TGcoYSxiLGMpLGQucmV0dXJuPWEsZDtkPVJnKGMudHlwZSxjLmtleSxjLnByb3BzLG51bGwsYS5tb2RlLGQpO2QucmVmPUxnKGEsYixjKTtkLnJldHVybj1hO3JldHVybiBkfWZ1bmN0aW9uIGwoYSxiLGMsZCl7aWYobnVsbD09PWJ8fDQhPT1iLnRhZ3x8XG5iLnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09Yy5jb250YWluZXJJbmZvfHxiLnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PWMuaW1wbGVtZW50YXRpb24pcmV0dXJuIGI9U2coYyxhLm1vZGUsZCksYi5yZXR1cm49YSxiO2I9ZShiLGMuY2hpbGRyZW58fFtdKTtiLnJldHVybj1hO3JldHVybiBifWZ1bmN0aW9uIG0oYSxiLGMsZCxmKXtpZihudWxsPT09Ynx8NyE9PWIudGFnKXJldHVybiBiPVRnKGMsYS5tb2RlLGQsZiksYi5yZXR1cm49YSxiO2I9ZShiLGMpO2IucmV0dXJuPWE7cmV0dXJuIGJ9ZnVuY3Rpb24gcShhLGIsYyl7aWYoXCJzdHJpbmdcIj09PXR5cGVvZiBiJiZcIlwiIT09Ynx8XCJudW1iZXJcIj09PXR5cGVvZiBiKXJldHVybiBiPVFnKFwiXCIrYixhLm1vZGUsYyksYi5yZXR1cm49YSxiO2lmKFwib2JqZWN0XCI9PT10eXBlb2YgYiYmbnVsbCE9PWIpe3N3aXRjaChiLiQkdHlwZW9mKXtjYXNlIHZhOnJldHVybiBjPVJnKGIudHlwZSxiLmtleSxiLnByb3BzLG51bGwsYS5tb2RlLGMpLFxuYy5yZWY9TGcoYSxudWxsLGIpLGMucmV0dXJuPWEsYztjYXNlIHdhOnJldHVybiBiPVNnKGIsYS5tb2RlLGMpLGIucmV0dXJuPWEsYjtjYXNlIEhhOnZhciBkPWIuX2luaXQ7cmV0dXJuIHEoYSxkKGIuX3BheWxvYWQpLGMpfWlmKGViKGIpfHxLYShiKSlyZXR1cm4gYj1UZyhiLGEubW9kZSxjLG51bGwpLGIucmV0dXJuPWEsYjtNZyhhLGIpfXJldHVybiBudWxsfWZ1bmN0aW9uIHIoYSxiLGMsZCl7dmFyIGU9bnVsbCE9PWI/Yi5rZXk6bnVsbDtpZihcInN0cmluZ1wiPT09dHlwZW9mIGMmJlwiXCIhPT1jfHxcIm51bWJlclwiPT09dHlwZW9mIGMpcmV0dXJuIG51bGwhPT1lP251bGw6aChhLGIsXCJcIitjLGQpO2lmKFwib2JqZWN0XCI9PT10eXBlb2YgYyYmbnVsbCE9PWMpe3N3aXRjaChjLiQkdHlwZW9mKXtjYXNlIHZhOnJldHVybiBjLmtleT09PWU/ayhhLGIsYyxkKTpudWxsO2Nhc2Ugd2E6cmV0dXJuIGMua2V5PT09ZT9sKGEsYixjLGQpOm51bGw7Y2FzZSBIYTpyZXR1cm4gZT1jLl9pbml0LHIoYSxcbmIsZShjLl9wYXlsb2FkKSxkKX1pZihlYihjKXx8S2EoYykpcmV0dXJuIG51bGwhPT1lP251bGw6bShhLGIsYyxkLG51bGwpO01nKGEsYyl9cmV0dXJuIG51bGx9ZnVuY3Rpb24geShhLGIsYyxkLGUpe2lmKFwic3RyaW5nXCI9PT10eXBlb2YgZCYmXCJcIiE9PWR8fFwibnVtYmVyXCI9PT10eXBlb2YgZClyZXR1cm4gYT1hLmdldChjKXx8bnVsbCxoKGIsYSxcIlwiK2QsZSk7aWYoXCJvYmplY3RcIj09PXR5cGVvZiBkJiZudWxsIT09ZCl7c3dpdGNoKGQuJCR0eXBlb2Ype2Nhc2UgdmE6cmV0dXJuIGE9YS5nZXQobnVsbD09PWQua2V5P2M6ZC5rZXkpfHxudWxsLGsoYixhLGQsZSk7Y2FzZSB3YTpyZXR1cm4gYT1hLmdldChudWxsPT09ZC5rZXk/YzpkLmtleSl8fG51bGwsbChiLGEsZCxlKTtjYXNlIEhhOnZhciBmPWQuX2luaXQ7cmV0dXJuIHkoYSxiLGMsZihkLl9wYXlsb2FkKSxlKX1pZihlYihkKXx8S2EoZCkpcmV0dXJuIGE9YS5nZXQoYyl8fG51bGwsbShiLGEsZCxlLG51bGwpO01nKGIsZCl9cmV0dXJuIG51bGx9XG5mdW5jdGlvbiBuKGUsZyxoLGspe2Zvcih2YXIgbD1udWxsLG09bnVsbCx1PWcsdz1nPTAseD1udWxsO251bGwhPT11JiZ3PGgubGVuZ3RoO3crKyl7dS5pbmRleD53Pyh4PXUsdT1udWxsKTp4PXUuc2libGluZzt2YXIgbj1yKGUsdSxoW3ddLGspO2lmKG51bGw9PT1uKXtudWxsPT09dSYmKHU9eCk7YnJlYWt9YSYmdSYmbnVsbD09PW4uYWx0ZXJuYXRlJiZiKGUsdSk7Zz1mKG4sZyx3KTtudWxsPT09bT9sPW46bS5zaWJsaW5nPW47bT1uO3U9eH1pZih3PT09aC5sZW5ndGgpcmV0dXJuIGMoZSx1KSxJJiZ0ZyhlLHcpLGw7aWYobnVsbD09PXUpe2Zvcig7dzxoLmxlbmd0aDt3KyspdT1xKGUsaFt3XSxrKSxudWxsIT09dSYmKGc9Zih1LGcsdyksbnVsbD09PW0/bD11Om0uc2libGluZz11LG09dSk7SSYmdGcoZSx3KTtyZXR1cm4gbH1mb3IodT1kKGUsdSk7dzxoLmxlbmd0aDt3KyspeD15KHUsZSx3LGhbd10sayksbnVsbCE9PXgmJihhJiZudWxsIT09eC5hbHRlcm5hdGUmJnUuZGVsZXRlKG51bGw9PT1cbngua2V5P3c6eC5rZXkpLGc9Zih4LGcsdyksbnVsbD09PW0/bD14Om0uc2libGluZz14LG09eCk7YSYmdS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3JldHVybiBiKGUsYSl9KTtJJiZ0ZyhlLHcpO3JldHVybiBsfWZ1bmN0aW9uIHQoZSxnLGgsayl7dmFyIGw9S2EoaCk7aWYoXCJmdW5jdGlvblwiIT09dHlwZW9mIGwpdGhyb3cgRXJyb3IocCgxNTApKTtoPWwuY2FsbChoKTtpZihudWxsPT1oKXRocm93IEVycm9yKHAoMTUxKSk7Zm9yKHZhciB1PWw9bnVsbCxtPWcsdz1nPTAseD1udWxsLG49aC5uZXh0KCk7bnVsbCE9PW0mJiFuLmRvbmU7dysrLG49aC5uZXh0KCkpe20uaW5kZXg+dz8oeD1tLG09bnVsbCk6eD1tLnNpYmxpbmc7dmFyIHQ9cihlLG0sbi52YWx1ZSxrKTtpZihudWxsPT09dCl7bnVsbD09PW0mJihtPXgpO2JyZWFrfWEmJm0mJm51bGw9PT10LmFsdGVybmF0ZSYmYihlLG0pO2c9Zih0LGcsdyk7bnVsbD09PXU/bD10OnUuc2libGluZz10O3U9dDttPXh9aWYobi5kb25lKXJldHVybiBjKGUsXG5tKSxJJiZ0ZyhlLHcpLGw7aWYobnVsbD09PW0pe2Zvcig7IW4uZG9uZTt3Kyssbj1oLm5leHQoKSluPXEoZSxuLnZhbHVlLGspLG51bGwhPT1uJiYoZz1mKG4sZyx3KSxudWxsPT09dT9sPW46dS5zaWJsaW5nPW4sdT1uKTtJJiZ0ZyhlLHcpO3JldHVybiBsfWZvcihtPWQoZSxtKTshbi5kb25lO3crKyxuPWgubmV4dCgpKW49eShtLGUsdyxuLnZhbHVlLGspLG51bGwhPT1uJiYoYSYmbnVsbCE9PW4uYWx0ZXJuYXRlJiZtLmRlbGV0ZShudWxsPT09bi5rZXk/dzpuLmtleSksZz1mKG4sZyx3KSxudWxsPT09dT9sPW46dS5zaWJsaW5nPW4sdT1uKTthJiZtLmZvckVhY2goZnVuY3Rpb24oYSl7cmV0dXJuIGIoZSxhKX0pO0kmJnRnKGUsdyk7cmV0dXJuIGx9ZnVuY3Rpb24gSihhLGQsZixoKXtcIm9iamVjdFwiPT09dHlwZW9mIGYmJm51bGwhPT1mJiZmLnR5cGU9PT15YSYmbnVsbD09PWYua2V5JiYoZj1mLnByb3BzLmNoaWxkcmVuKTtpZihcIm9iamVjdFwiPT09dHlwZW9mIGYmJm51bGwhPT1mKXtzd2l0Y2goZi4kJHR5cGVvZil7Y2FzZSB2YTphOntmb3IodmFyIGs9XG5mLmtleSxsPWQ7bnVsbCE9PWw7KXtpZihsLmtleT09PWspe2s9Zi50eXBlO2lmKGs9PT15YSl7aWYoNz09PWwudGFnKXtjKGEsbC5zaWJsaW5nKTtkPWUobCxmLnByb3BzLmNoaWxkcmVuKTtkLnJldHVybj1hO2E9ZDticmVhayBhfX1lbHNlIGlmKGwuZWxlbWVudFR5cGU9PT1rfHxcIm9iamVjdFwiPT09dHlwZW9mIGsmJm51bGwhPT1rJiZrLiQkdHlwZW9mPT09SGEmJk5nKGspPT09bC50eXBlKXtjKGEsbC5zaWJsaW5nKTtkPWUobCxmLnByb3BzKTtkLnJlZj1MZyhhLGwsZik7ZC5yZXR1cm49YTthPWQ7YnJlYWsgYX1jKGEsbCk7YnJlYWt9ZWxzZSBiKGEsbCk7bD1sLnNpYmxpbmd9Zi50eXBlPT09eWE/KGQ9VGcoZi5wcm9wcy5jaGlsZHJlbixhLm1vZGUsaCxmLmtleSksZC5yZXR1cm49YSxhPWQpOihoPVJnKGYudHlwZSxmLmtleSxmLnByb3BzLG51bGwsYS5tb2RlLGgpLGgucmVmPUxnKGEsZCxmKSxoLnJldHVybj1hLGE9aCl9cmV0dXJuIGcoYSk7Y2FzZSB3YTphOntmb3IobD1mLmtleTtudWxsIT09XG5kOyl7aWYoZC5rZXk9PT1sKWlmKDQ9PT1kLnRhZyYmZC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbz09PWYuY29udGFpbmVySW5mbyYmZC5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb249PT1mLmltcGxlbWVudGF0aW9uKXtjKGEsZC5zaWJsaW5nKTtkPWUoZCxmLmNoaWxkcmVufHxbXSk7ZC5yZXR1cm49YTthPWQ7YnJlYWsgYX1lbHNle2MoYSxkKTticmVha31lbHNlIGIoYSxkKTtkPWQuc2libGluZ31kPVNnKGYsYS5tb2RlLGgpO2QucmV0dXJuPWE7YT1kfXJldHVybiBnKGEpO2Nhc2UgSGE6cmV0dXJuIGw9Zi5faW5pdCxKKGEsZCxsKGYuX3BheWxvYWQpLGgpfWlmKGViKGYpKXJldHVybiBuKGEsZCxmLGgpO2lmKEthKGYpKXJldHVybiB0KGEsZCxmLGgpO01nKGEsZil9cmV0dXJuXCJzdHJpbmdcIj09PXR5cGVvZiBmJiZcIlwiIT09Znx8XCJudW1iZXJcIj09PXR5cGVvZiBmPyhmPVwiXCIrZixudWxsIT09ZCYmNj09PWQudGFnPyhjKGEsZC5zaWJsaW5nKSxkPWUoZCxmKSxkLnJldHVybj1hLGE9ZCk6XG4oYyhhLGQpLGQ9UWcoZixhLm1vZGUsaCksZC5yZXR1cm49YSxhPWQpLGcoYSkpOmMoYSxkKX1yZXR1cm4gSn12YXIgVWc9T2coITApLFZnPU9nKCExKSxXZz1VZihudWxsKSxYZz1udWxsLFlnPW51bGwsWmc9bnVsbDtmdW5jdGlvbiAkZygpe1pnPVlnPVhnPW51bGx9ZnVuY3Rpb24gYWgoYSl7dmFyIGI9V2cuY3VycmVudDtFKFdnKTthLl9jdXJyZW50VmFsdWU9Yn1mdW5jdGlvbiBiaChhLGIsYyl7Zm9yKDtudWxsIT09YTspe3ZhciBkPWEuYWx0ZXJuYXRlOyhhLmNoaWxkTGFuZXMmYikhPT1iPyhhLmNoaWxkTGFuZXN8PWIsbnVsbCE9PWQmJihkLmNoaWxkTGFuZXN8PWIpKTpudWxsIT09ZCYmKGQuY2hpbGRMYW5lcyZiKSE9PWImJihkLmNoaWxkTGFuZXN8PWIpO2lmKGE9PT1jKWJyZWFrO2E9YS5yZXR1cm59fVxuZnVuY3Rpb24gY2goYSxiKXtYZz1hO1pnPVlnPW51bGw7YT1hLmRlcGVuZGVuY2llcztudWxsIT09YSYmbnVsbCE9PWEuZmlyc3RDb250ZXh0JiYoMCE9PShhLmxhbmVzJmIpJiYoZGg9ITApLGEuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIGVoKGEpe3ZhciBiPWEuX2N1cnJlbnRWYWx1ZTtpZihaZyE9PWEpaWYoYT17Y29udGV4dDphLG1lbW9pemVkVmFsdWU6YixuZXh0Om51bGx9LG51bGw9PT1ZZyl7aWYobnVsbD09PVhnKXRocm93IEVycm9yKHAoMzA4KSk7WWc9YTtYZy5kZXBlbmRlbmNpZXM9e2xhbmVzOjAsZmlyc3RDb250ZXh0OmF9fWVsc2UgWWc9WWcubmV4dD1hO3JldHVybiBifXZhciBmaD1udWxsO2Z1bmN0aW9uIGdoKGEpe251bGw9PT1maD9maD1bYV06ZmgucHVzaChhKX1cbmZ1bmN0aW9uIGhoKGEsYixjLGQpe3ZhciBlPWIuaW50ZXJsZWF2ZWQ7bnVsbD09PWU/KGMubmV4dD1jLGdoKGIpKTooYy5uZXh0PWUubmV4dCxlLm5leHQ9Yyk7Yi5pbnRlcmxlYXZlZD1jO3JldHVybiBpaChhLGQpfWZ1bmN0aW9uIGloKGEsYil7YS5sYW5lc3w9Yjt2YXIgYz1hLmFsdGVybmF0ZTtudWxsIT09YyYmKGMubGFuZXN8PWIpO2M9YTtmb3IoYT1hLnJldHVybjtudWxsIT09YTspYS5jaGlsZExhbmVzfD1iLGM9YS5hbHRlcm5hdGUsbnVsbCE9PWMmJihjLmNoaWxkTGFuZXN8PWIpLGM9YSxhPWEucmV0dXJuO3JldHVybiAzPT09Yy50YWc/Yy5zdGF0ZU5vZGU6bnVsbH12YXIgamg9ITE7ZnVuY3Rpb24ga2goYSl7YS51cGRhdGVRdWV1ZT17YmFzZVN0YXRlOmEubWVtb2l6ZWRTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6bnVsbCxsYXN0QmFzZVVwZGF0ZTpudWxsLHNoYXJlZDp7cGVuZGluZzpudWxsLGludGVybGVhdmVkOm51bGwsbGFuZXM6MH0sZWZmZWN0czpudWxsfX1cbmZ1bmN0aW9uIGxoKGEsYil7YT1hLnVwZGF0ZVF1ZXVlO2IudXBkYXRlUXVldWU9PT1hJiYoYi51cGRhdGVRdWV1ZT17YmFzZVN0YXRlOmEuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTphLmZpcnN0QmFzZVVwZGF0ZSxsYXN0QmFzZVVwZGF0ZTphLmxhc3RCYXNlVXBkYXRlLHNoYXJlZDphLnNoYXJlZCxlZmZlY3RzOmEuZWZmZWN0c30pfWZ1bmN0aW9uIG1oKGEsYil7cmV0dXJue2V2ZW50VGltZTphLGxhbmU6Yix0YWc6MCxwYXlsb2FkOm51bGwsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9fVxuZnVuY3Rpb24gbmgoYSxiLGMpe3ZhciBkPWEudXBkYXRlUXVldWU7aWYobnVsbD09PWQpcmV0dXJuIG51bGw7ZD1kLnNoYXJlZDtpZigwIT09KEsmMikpe3ZhciBlPWQucGVuZGluZztudWxsPT09ZT9iLm5leHQ9YjooYi5uZXh0PWUubmV4dCxlLm5leHQ9Yik7ZC5wZW5kaW5nPWI7cmV0dXJuIGloKGEsYyl9ZT1kLmludGVybGVhdmVkO251bGw9PT1lPyhiLm5leHQ9YixnaChkKSk6KGIubmV4dD1lLm5leHQsZS5uZXh0PWIpO2QuaW50ZXJsZWF2ZWQ9YjtyZXR1cm4gaWgoYSxjKX1mdW5jdGlvbiBvaChhLGIsYyl7Yj1iLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT1iJiYoYj1iLnNoYXJlZCwwIT09KGMmNDE5NDI0MCkpKXt2YXIgZD1iLmxhbmVzO2QmPWEucGVuZGluZ0xhbmVzO2N8PWQ7Yi5sYW5lcz1jO0NjKGEsYyl9fVxuZnVuY3Rpb24gcGgoYSxiKXt2YXIgYz1hLnVwZGF0ZVF1ZXVlLGQ9YS5hbHRlcm5hdGU7aWYobnVsbCE9PWQmJihkPWQudXBkYXRlUXVldWUsYz09PWQpKXt2YXIgZT1udWxsLGY9bnVsbDtjPWMuZmlyc3RCYXNlVXBkYXRlO2lmKG51bGwhPT1jKXtkb3t2YXIgZz17ZXZlbnRUaW1lOmMuZXZlbnRUaW1lLGxhbmU6Yy5sYW5lLHRhZzpjLnRhZyxwYXlsb2FkOmMucGF5bG9hZCxjYWxsYmFjazpjLmNhbGxiYWNrLG5leHQ6bnVsbH07bnVsbD09PWY/ZT1mPWc6Zj1mLm5leHQ9ZztjPWMubmV4dH13aGlsZShudWxsIT09Yyk7bnVsbD09PWY/ZT1mPWI6Zj1mLm5leHQ9Yn1lbHNlIGU9Zj1iO2M9e2Jhc2VTdGF0ZTpkLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6ZSxsYXN0QmFzZVVwZGF0ZTpmLHNoYXJlZDpkLnNoYXJlZCxlZmZlY3RzOmQuZWZmZWN0c307YS51cGRhdGVRdWV1ZT1jO3JldHVybn1hPWMubGFzdEJhc2VVcGRhdGU7bnVsbD09PWE/Yy5maXJzdEJhc2VVcGRhdGU9YjphLm5leHQ9XG5iO2MubGFzdEJhc2VVcGRhdGU9Yn1cbmZ1bmN0aW9uIHFoKGEsYixjLGQpe3ZhciBlPWEudXBkYXRlUXVldWU7amg9ITE7dmFyIGY9ZS5maXJzdEJhc2VVcGRhdGUsZz1lLmxhc3RCYXNlVXBkYXRlLGg9ZS5zaGFyZWQucGVuZGluZztpZihudWxsIT09aCl7ZS5zaGFyZWQucGVuZGluZz1udWxsO3ZhciBrPWgsbD1rLm5leHQ7ay5uZXh0PW51bGw7bnVsbD09PWc/Zj1sOmcubmV4dD1sO2c9azt2YXIgbT1hLmFsdGVybmF0ZTtudWxsIT09bSYmKG09bS51cGRhdGVRdWV1ZSxoPW0ubGFzdEJhc2VVcGRhdGUsaCE9PWcmJihudWxsPT09aD9tLmZpcnN0QmFzZVVwZGF0ZT1sOmgubmV4dD1sLG0ubGFzdEJhc2VVcGRhdGU9aykpfWlmKG51bGwhPT1mKXt2YXIgcT1lLmJhc2VTdGF0ZTtnPTA7bT1sPWs9bnVsbDtoPWY7ZG97dmFyIHI9aC5sYW5lLHk9aC5ldmVudFRpbWU7aWYoKGQmcik9PT1yKXtudWxsIT09bSYmKG09bS5uZXh0PXtldmVudFRpbWU6eSxsYW5lOjAsdGFnOmgudGFnLHBheWxvYWQ6aC5wYXlsb2FkLGNhbGxiYWNrOmguY2FsbGJhY2ssXG5uZXh0Om51bGx9KTthOnt2YXIgbj1hLHQ9aDtyPWI7eT1jO3N3aXRjaCh0LnRhZyl7Y2FzZSAxOm49dC5wYXlsb2FkO2lmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBuKXtxPW4uY2FsbCh5LHEscik7YnJlYWsgYX1xPW47YnJlYWsgYTtjYXNlIDM6bi5mbGFncz1uLmZsYWdzJi02NTUzN3wxMjg7Y2FzZSAwOm49dC5wYXlsb2FkO3I9XCJmdW5jdGlvblwiPT09dHlwZW9mIG4/bi5jYWxsKHkscSxyKTpuO2lmKG51bGw9PT1yfHx2b2lkIDA9PT1yKWJyZWFrIGE7cT1BKHt9LHEscik7YnJlYWsgYTtjYXNlIDI6amg9ITB9fW51bGwhPT1oLmNhbGxiYWNrJiYwIT09aC5sYW5lJiYoYS5mbGFnc3w9NjQscj1lLmVmZmVjdHMsbnVsbD09PXI/ZS5lZmZlY3RzPVtoXTpyLnB1c2goaCkpfWVsc2UgeT17ZXZlbnRUaW1lOnksbGFuZTpyLHRhZzpoLnRhZyxwYXlsb2FkOmgucGF5bG9hZCxjYWxsYmFjazpoLmNhbGxiYWNrLG5leHQ6bnVsbH0sbnVsbD09PW0/KGw9bT15LGs9cSk6bT1tLm5leHQ9eSxnfD1yO1xuaD1oLm5leHQ7aWYobnVsbD09PWgpaWYoaD1lLnNoYXJlZC5wZW5kaW5nLG51bGw9PT1oKWJyZWFrO2Vsc2Ugcj1oLGg9ci5uZXh0LHIubmV4dD1udWxsLGUubGFzdEJhc2VVcGRhdGU9cixlLnNoYXJlZC5wZW5kaW5nPW51bGx9d2hpbGUoMSk7bnVsbD09PW0mJihrPXEpO2UuYmFzZVN0YXRlPWs7ZS5maXJzdEJhc2VVcGRhdGU9bDtlLmxhc3RCYXNlVXBkYXRlPW07Yj1lLnNoYXJlZC5pbnRlcmxlYXZlZDtpZihudWxsIT09Yil7ZT1iO2RvIGd8PWUubGFuZSxlPWUubmV4dDt3aGlsZShlIT09Yil9ZWxzZSBudWxsPT09ZiYmKGUuc2hhcmVkLmxhbmVzPTApO3JofD1nO2EubGFuZXM9ZzthLm1lbW9pemVkU3RhdGU9cX19XG5mdW5jdGlvbiBzaChhLGIsYyl7YT1iLmVmZmVjdHM7Yi5lZmZlY3RzPW51bGw7aWYobnVsbCE9PWEpZm9yKGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGQ9YVtiXSxlPWQuY2FsbGJhY2s7aWYobnVsbCE9PWUpe2QuY2FsbGJhY2s9bnVsbDtkPWM7aWYoXCJmdW5jdGlvblwiIT09dHlwZW9mIGUpdGhyb3cgRXJyb3IocCgxOTEsZSkpO2UuY2FsbChkKX19fXZhciB0aD17fSx1aD1VZih0aCksdmg9VWYodGgpLHdoPVVmKHRoKTtmdW5jdGlvbiB4aChhKXtpZihhPT09dGgpdGhyb3cgRXJyb3IocCgxNzQpKTtyZXR1cm4gYX1cbmZ1bmN0aW9uIHloKGEsYil7Ryh3aCxiKTtHKHZoLGEpO0codWgsdGgpO2E9Yi5ub2RlVHlwZTtzd2l0Y2goYSl7Y2FzZSA5OmNhc2UgMTE6Yj0oYj1iLmRvY3VtZW50RWxlbWVudCk/Yi5uYW1lc3BhY2VVUkk6bGIobnVsbCxcIlwiKTticmVhaztkZWZhdWx0OmE9OD09PWE/Yi5wYXJlbnROb2RlOmIsYj1hLm5hbWVzcGFjZVVSSXx8bnVsbCxhPWEudGFnTmFtZSxiPWxiKGIsYSl9RSh1aCk7Ryh1aCxiKX1mdW5jdGlvbiB6aCgpe0UodWgpO0UodmgpO0Uod2gpfWZ1bmN0aW9uIEFoKGEpe3hoKHdoLmN1cnJlbnQpO3ZhciBiPXhoKHVoLmN1cnJlbnQpO3ZhciBjPWxiKGIsYS50eXBlKTtiIT09YyYmKEcodmgsYSksRyh1aCxjKSl9ZnVuY3Rpb24gQmgoYSl7dmguY3VycmVudD09PWEmJihFKHVoKSxFKHZoKSl9dmFyIEw9VWYoMCk7XG5mdW5jdGlvbiBDaChhKXtmb3IodmFyIGI9YTtudWxsIT09Yjspe2lmKDEzPT09Yi50YWcpe3ZhciBjPWIubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09YyYmKGM9Yy5kZWh5ZHJhdGVkLG51bGw9PT1jfHxcIiQ/XCI9PT1jLmRhdGF8fFwiJCFcIj09PWMuZGF0YSkpcmV0dXJuIGJ9ZWxzZSBpZigxOT09PWIudGFnJiZ2b2lkIDAhPT1iLm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIpe2lmKDAhPT0oYi5mbGFncyYxMjgpKXJldHVybiBifWVsc2UgaWYobnVsbCE9PWIuY2hpbGQpe2IuY2hpbGQucmV0dXJuPWI7Yj1iLmNoaWxkO2NvbnRpbnVlfWlmKGI9PT1hKWJyZWFrO2Zvcig7bnVsbD09PWIuc2libGluZzspe2lmKG51bGw9PT1iLnJldHVybnx8Yi5yZXR1cm49PT1hKXJldHVybiBudWxsO2I9Yi5yZXR1cm59Yi5zaWJsaW5nLnJldHVybj1iLnJldHVybjtiPWIuc2libGluZ31yZXR1cm4gbnVsbH12YXIgRGg9W107XG5mdW5jdGlvbiBFaCgpe2Zvcih2YXIgYT0wO2E8RGgubGVuZ3RoO2ErKylEaFthXS5fd29ya0luUHJvZ3Jlc3NWZXJzaW9uUHJpbWFyeT1udWxsO0RoLmxlbmd0aD0wfXZhciBGaD11YS5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLEdoPXVhLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLEhoPTAsTT1udWxsLE49bnVsbCxPPW51bGwsSWg9ITEsSmg9ITEsS2g9MCxMaD0wO2Z1bmN0aW9uIFAoKXt0aHJvdyBFcnJvcihwKDMyMSkpO31mdW5jdGlvbiBNaChhLGIpe2lmKG51bGw9PT1iKXJldHVybiExO2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGgmJmM8YS5sZW5ndGg7YysrKWlmKCFIZShhW2NdLGJbY10pKXJldHVybiExO3JldHVybiEwfVxuZnVuY3Rpb24gTmgoYSxiLGMsZCxlLGYpe0hoPWY7TT1iO2IubWVtb2l6ZWRTdGF0ZT1udWxsO2IudXBkYXRlUXVldWU9bnVsbDtiLmxhbmVzPTA7RmguY3VycmVudD1udWxsPT09YXx8bnVsbD09PWEubWVtb2l6ZWRTdGF0ZT9PaDpQaDthPWMoZCxlKTtpZihKaCl7Zj0wO2Rve0poPSExO0toPTA7aWYoMjU8PWYpdGhyb3cgRXJyb3IocCgzMDEpKTtmKz0xO089Tj1udWxsO2IudXBkYXRlUXVldWU9bnVsbDtGaC5jdXJyZW50PVFoO2E9YyhkLGUpfXdoaWxlKEpoKX1GaC5jdXJyZW50PVJoO2I9bnVsbCE9PU4mJm51bGwhPT1OLm5leHQ7SGg9MDtPPU49TT1udWxsO0loPSExO2lmKGIpdGhyb3cgRXJyb3IocCgzMDApKTtyZXR1cm4gYX1mdW5jdGlvbiBTaCgpe3ZhciBhPTAhPT1LaDtLaD0wO3JldHVybiBhfVxuZnVuY3Rpb24gVGgoKXt2YXIgYT17bWVtb2l6ZWRTdGF0ZTpudWxsLGJhc2VTdGF0ZTpudWxsLGJhc2VRdWV1ZTpudWxsLHF1ZXVlOm51bGwsbmV4dDpudWxsfTtudWxsPT09Tz9NLm1lbW9pemVkU3RhdGU9Tz1hOk89Ty5uZXh0PWE7cmV0dXJuIE99ZnVuY3Rpb24gVWgoKXtpZihudWxsPT09Til7dmFyIGE9TS5hbHRlcm5hdGU7YT1udWxsIT09YT9hLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGE9Ti5uZXh0O3ZhciBiPW51bGw9PT1PP00ubWVtb2l6ZWRTdGF0ZTpPLm5leHQ7aWYobnVsbCE9PWIpTz1iLE49YTtlbHNle2lmKG51bGw9PT1hKXRocm93IEVycm9yKHAoMzEwKSk7Tj1hO2E9e21lbW9pemVkU3RhdGU6Ti5tZW1vaXplZFN0YXRlLGJhc2VTdGF0ZTpOLmJhc2VTdGF0ZSxiYXNlUXVldWU6Ti5iYXNlUXVldWUscXVldWU6Ti5xdWV1ZSxuZXh0Om51bGx9O251bGw9PT1PP00ubWVtb2l6ZWRTdGF0ZT1PPWE6Tz1PLm5leHQ9YX1yZXR1cm4gT31cbmZ1bmN0aW9uIFZoKGEsYil7cmV0dXJuXCJmdW5jdGlvblwiPT09dHlwZW9mIGI/YihhKTpifVxuZnVuY3Rpb24gV2goYSl7dmFyIGI9VWgoKSxjPWIucXVldWU7aWYobnVsbD09PWMpdGhyb3cgRXJyb3IocCgzMTEpKTtjLmxhc3RSZW5kZXJlZFJlZHVjZXI9YTt2YXIgZD1OLGU9ZC5iYXNlUXVldWUsZj1jLnBlbmRpbmc7aWYobnVsbCE9PWYpe2lmKG51bGwhPT1lKXt2YXIgZz1lLm5leHQ7ZS5uZXh0PWYubmV4dDtmLm5leHQ9Z31kLmJhc2VRdWV1ZT1lPWY7Yy5wZW5kaW5nPW51bGx9aWYobnVsbCE9PWUpe2Y9ZS5uZXh0O2Q9ZC5iYXNlU3RhdGU7dmFyIGg9Zz1udWxsLGs9bnVsbCxsPWY7ZG97dmFyIG09bC5sYW5lO2lmKChIaCZtKT09PW0pbnVsbCE9PWsmJihrPWsubmV4dD17bGFuZTowLGFjdGlvbjpsLmFjdGlvbixoYXNFYWdlclN0YXRlOmwuaGFzRWFnZXJTdGF0ZSxlYWdlclN0YXRlOmwuZWFnZXJTdGF0ZSxuZXh0Om51bGx9KSxkPWwuaGFzRWFnZXJTdGF0ZT9sLmVhZ2VyU3RhdGU6YShkLGwuYWN0aW9uKTtlbHNle3ZhciBxPXtsYW5lOm0sYWN0aW9uOmwuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6bC5oYXNFYWdlclN0YXRlLFxuZWFnZXJTdGF0ZTpsLmVhZ2VyU3RhdGUsbmV4dDpudWxsfTtudWxsPT09az8oaD1rPXEsZz1kKTprPWsubmV4dD1xO00ubGFuZXN8PW07cmh8PW19bD1sLm5leHR9d2hpbGUobnVsbCE9PWwmJmwhPT1mKTtudWxsPT09az9nPWQ6ay5uZXh0PWg7SGUoZCxiLm1lbW9pemVkU3RhdGUpfHwoZGg9ITApO2IubWVtb2l6ZWRTdGF0ZT1kO2IuYmFzZVN0YXRlPWc7Yi5iYXNlUXVldWU9aztjLmxhc3RSZW5kZXJlZFN0YXRlPWR9YT1jLmludGVybGVhdmVkO2lmKG51bGwhPT1hKXtlPWE7ZG8gZj1lLmxhbmUsTS5sYW5lc3w9ZixyaHw9ZixlPWUubmV4dDt3aGlsZShlIT09YSl9ZWxzZSBudWxsPT09ZSYmKGMubGFuZXM9MCk7cmV0dXJuW2IubWVtb2l6ZWRTdGF0ZSxjLmRpc3BhdGNoXX1cbmZ1bmN0aW9uIFhoKGEpe3ZhciBiPVVoKCksYz1iLnF1ZXVlO2lmKG51bGw9PT1jKXRocm93IEVycm9yKHAoMzExKSk7Yy5sYXN0UmVuZGVyZWRSZWR1Y2VyPWE7dmFyIGQ9Yy5kaXNwYXRjaCxlPWMucGVuZGluZyxmPWIubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09ZSl7Yy5wZW5kaW5nPW51bGw7dmFyIGc9ZT1lLm5leHQ7ZG8gZj1hKGYsZy5hY3Rpb24pLGc9Zy5uZXh0O3doaWxlKGchPT1lKTtIZShmLGIubWVtb2l6ZWRTdGF0ZSl8fChkaD0hMCk7Yi5tZW1vaXplZFN0YXRlPWY7bnVsbD09PWIuYmFzZVF1ZXVlJiYoYi5iYXNlU3RhdGU9Zik7Yy5sYXN0UmVuZGVyZWRTdGF0ZT1mfXJldHVybltmLGRdfWZ1bmN0aW9uIFloKCl7fVxuZnVuY3Rpb24gWmgoYSxiKXt2YXIgYz1NLGQ9VWgoKSxlPWIoKSxmPSFIZShkLm1lbW9pemVkU3RhdGUsZSk7ZiYmKGQubWVtb2l6ZWRTdGF0ZT1lLGRoPSEwKTtkPWQucXVldWU7JGgoYWkuYmluZChudWxsLGMsZCxhKSxbYV0pO2lmKGQuZ2V0U25hcHNob3QhPT1ifHxmfHxudWxsIT09TyYmTy5tZW1vaXplZFN0YXRlLnRhZyYxKXtjLmZsYWdzfD0yMDQ4O2JpKDksY2kuYmluZChudWxsLGMsZCxlLGIpLHZvaWQgMCxudWxsKTtpZihudWxsPT09USl0aHJvdyBFcnJvcihwKDM0OSkpOzAhPT0oSGgmMzApfHxkaShjLGIsZSl9cmV0dXJuIGV9ZnVuY3Rpb24gZGkoYSxiLGMpe2EuZmxhZ3N8PTE2Mzg0O2E9e2dldFNuYXBzaG90OmIsdmFsdWU6Y307Yj1NLnVwZGF0ZVF1ZXVlO251bGw9PT1iPyhiPXtsYXN0RWZmZWN0Om51bGwsc3RvcmVzOm51bGx9LE0udXBkYXRlUXVldWU9YixiLnN0b3Jlcz1bYV0pOihjPWIuc3RvcmVzLG51bGw9PT1jP2Iuc3RvcmVzPVthXTpjLnB1c2goYSkpfVxuZnVuY3Rpb24gY2koYSxiLGMsZCl7Yi52YWx1ZT1jO2IuZ2V0U25hcHNob3Q9ZDtlaShiKSYmZmkoYSl9ZnVuY3Rpb24gYWkoYSxiLGMpe3JldHVybiBjKGZ1bmN0aW9uKCl7ZWkoYikmJmZpKGEpfSl9ZnVuY3Rpb24gZWkoYSl7dmFyIGI9YS5nZXRTbmFwc2hvdDthPWEudmFsdWU7dHJ5e3ZhciBjPWIoKTtyZXR1cm4hSGUoYSxjKX1jYXRjaChkKXtyZXR1cm4hMH19ZnVuY3Rpb24gZmkoYSl7dmFyIGI9aWgoYSwxKTtudWxsIT09YiYmZ2koYixhLDEsLTEpfVxuZnVuY3Rpb24gaGkoYSl7dmFyIGI9VGgoKTtcImZ1bmN0aW9uXCI9PT10eXBlb2YgYSYmKGE9YSgpKTtiLm1lbW9pemVkU3RhdGU9Yi5iYXNlU3RhdGU9YTthPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpWaCxsYXN0UmVuZGVyZWRTdGF0ZTphfTtiLnF1ZXVlPWE7YT1hLmRpc3BhdGNoPWlpLmJpbmQobnVsbCxNLGEpO3JldHVybltiLm1lbW9pemVkU3RhdGUsYV19XG5mdW5jdGlvbiBiaShhLGIsYyxkKXthPXt0YWc6YSxjcmVhdGU6YixkZXN0cm95OmMsZGVwczpkLG5leHQ6bnVsbH07Yj1NLnVwZGF0ZVF1ZXVlO251bGw9PT1iPyhiPXtsYXN0RWZmZWN0Om51bGwsc3RvcmVzOm51bGx9LE0udXBkYXRlUXVldWU9YixiLmxhc3RFZmZlY3Q9YS5uZXh0PWEpOihjPWIubGFzdEVmZmVjdCxudWxsPT09Yz9iLmxhc3RFZmZlY3Q9YS5uZXh0PWE6KGQ9Yy5uZXh0LGMubmV4dD1hLGEubmV4dD1kLGIubGFzdEVmZmVjdD1hKSk7cmV0dXJuIGF9ZnVuY3Rpb24gamkoKXtyZXR1cm4gVWgoKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIGtpKGEsYixjLGQpe3ZhciBlPVRoKCk7TS5mbGFnc3w9YTtlLm1lbW9pemVkU3RhdGU9YmkoMXxiLGMsdm9pZCAwLHZvaWQgMD09PWQ/bnVsbDpkKX1cbmZ1bmN0aW9uIGxpKGEsYixjLGQpe3ZhciBlPVVoKCk7ZD12b2lkIDA9PT1kP251bGw6ZDt2YXIgZj12b2lkIDA7aWYobnVsbCE9PU4pe3ZhciBnPU4ubWVtb2l6ZWRTdGF0ZTtmPWcuZGVzdHJveTtpZihudWxsIT09ZCYmTWgoZCxnLmRlcHMpKXtlLm1lbW9pemVkU3RhdGU9YmkoYixjLGYsZCk7cmV0dXJufX1NLmZsYWdzfD1hO2UubWVtb2l6ZWRTdGF0ZT1iaSgxfGIsYyxmLGQpfWZ1bmN0aW9uIG1pKGEsYil7cmV0dXJuIGtpKDgzOTA2NTYsOCxhLGIpfWZ1bmN0aW9uICRoKGEsYil7cmV0dXJuIGxpKDIwNDgsOCxhLGIpfWZ1bmN0aW9uIG5pKGEsYil7cmV0dXJuIGxpKDQsMixhLGIpfWZ1bmN0aW9uIG9pKGEsYil7cmV0dXJuIGxpKDQsNCxhLGIpfVxuZnVuY3Rpb24gcGkoYSxiKXtpZihcImZ1bmN0aW9uXCI9PT10eXBlb2YgYilyZXR1cm4gYT1hKCksYihhKSxmdW5jdGlvbigpe2IobnVsbCl9O2lmKG51bGwhPT1iJiZ2b2lkIDAhPT1iKXJldHVybiBhPWEoKSxiLmN1cnJlbnQ9YSxmdW5jdGlvbigpe2IuY3VycmVudD1udWxsfX1mdW5jdGlvbiBxaShhLGIsYyl7Yz1udWxsIT09YyYmdm9pZCAwIT09Yz9jLmNvbmNhdChbYV0pOm51bGw7cmV0dXJuIGxpKDQsNCxwaS5iaW5kKG51bGwsYixhKSxjKX1mdW5jdGlvbiByaSgpe31mdW5jdGlvbiBzaShhLGIpe3ZhciBjPVVoKCk7Yj12b2lkIDA9PT1iP251bGw6Yjt2YXIgZD1jLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PWQmJm51bGwhPT1iJiZNaChiLGRbMV0pKXJldHVybiBkWzBdO2MubWVtb2l6ZWRTdGF0ZT1bYSxiXTtyZXR1cm4gYX1cbmZ1bmN0aW9uIHRpKGEsYil7dmFyIGM9VWgoKTtiPXZvaWQgMD09PWI/bnVsbDpiO3ZhciBkPWMubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09ZCYmbnVsbCE9PWImJk1oKGIsZFsxXSkpcmV0dXJuIGRbMF07YT1hKCk7Yy5tZW1vaXplZFN0YXRlPVthLGJdO3JldHVybiBhfWZ1bmN0aW9uIHVpKGEsYixjKXtpZigwPT09KEhoJjIxKSlyZXR1cm4gYS5iYXNlU3RhdGUmJihhLmJhc2VTdGF0ZT0hMSxkaD0hMCksYS5tZW1vaXplZFN0YXRlPWM7SGUoYyxiKXx8KGM9eWMoKSxNLmxhbmVzfD1jLHJofD1jLGEuYmFzZVN0YXRlPSEwKTtyZXR1cm4gYn1mdW5jdGlvbiB2aShhLGIpe3ZhciBjPUM7Qz0wIT09YyYmND5jP2M6NDthKCEwKTt2YXIgZD1HaC50cmFuc2l0aW9uO0doLnRyYW5zaXRpb249e307dHJ5e2EoITEpLGIoKX1maW5hbGx5e0M9YyxHaC50cmFuc2l0aW9uPWR9fWZ1bmN0aW9uIHdpKCl7cmV0dXJuIFVoKCkubWVtb2l6ZWRTdGF0ZX1cbmZ1bmN0aW9uIHhpKGEsYixjKXt2YXIgZD15aShhKTtjPXtsYW5lOmQsYWN0aW9uOmMsaGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfTtpZih6aShhKSlBaShiLGMpO2Vsc2UgaWYoYz1oaChhLGIsYyxkKSxudWxsIT09Yyl7dmFyIGU9UigpO2dpKGMsYSxkLGUpO0JpKGMsYixkKX19XG5mdW5jdGlvbiBpaShhLGIsYyl7dmFyIGQ9eWkoYSksZT17bGFuZTpkLGFjdGlvbjpjLGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH07aWYoemkoYSkpQWkoYixlKTtlbHNle3ZhciBmPWEuYWx0ZXJuYXRlO2lmKDA9PT1hLmxhbmVzJiYobnVsbD09PWZ8fDA9PT1mLmxhbmVzKSYmKGY9Yi5sYXN0UmVuZGVyZWRSZWR1Y2VyLG51bGwhPT1mKSl0cnl7dmFyIGc9Yi5sYXN0UmVuZGVyZWRTdGF0ZSxoPWYoZyxjKTtlLmhhc0VhZ2VyU3RhdGU9ITA7ZS5lYWdlclN0YXRlPWg7aWYoSGUoaCxnKSl7dmFyIGs9Yi5pbnRlcmxlYXZlZDtudWxsPT09az8oZS5uZXh0PWUsZ2goYikpOihlLm5leHQ9ay5uZXh0LGsubmV4dD1lKTtiLmludGVybGVhdmVkPWU7cmV0dXJufX1jYXRjaChsKXt9ZmluYWxseXt9Yz1oaChhLGIsZSxkKTtudWxsIT09YyYmKGU9UigpLGdpKGMsYSxkLGUpLEJpKGMsYixkKSl9fVxuZnVuY3Rpb24gemkoYSl7dmFyIGI9YS5hbHRlcm5hdGU7cmV0dXJuIGE9PT1NfHxudWxsIT09YiYmYj09PU19ZnVuY3Rpb24gQWkoYSxiKXtKaD1JaD0hMDt2YXIgYz1hLnBlbmRpbmc7bnVsbD09PWM/Yi5uZXh0PWI6KGIubmV4dD1jLm5leHQsYy5uZXh0PWIpO2EucGVuZGluZz1ifWZ1bmN0aW9uIEJpKGEsYixjKXtpZigwIT09KGMmNDE5NDI0MCkpe3ZhciBkPWIubGFuZXM7ZCY9YS5wZW5kaW5nTGFuZXM7Y3w9ZDtiLmxhbmVzPWM7Q2MoYSxjKX19XG52YXIgUmg9e3JlYWRDb250ZXh0OmVoLHVzZUNhbGxiYWNrOlAsdXNlQ29udGV4dDpQLHVzZUVmZmVjdDpQLHVzZUltcGVyYXRpdmVIYW5kbGU6UCx1c2VJbnNlcnRpb25FZmZlY3Q6UCx1c2VMYXlvdXRFZmZlY3Q6UCx1c2VNZW1vOlAsdXNlUmVkdWNlcjpQLHVzZVJlZjpQLHVzZVN0YXRlOlAsdXNlRGVidWdWYWx1ZTpQLHVzZURlZmVycmVkVmFsdWU6UCx1c2VUcmFuc2l0aW9uOlAsdXNlTXV0YWJsZVNvdXJjZTpQLHVzZVN5bmNFeHRlcm5hbFN0b3JlOlAsdXNlSWQ6UCx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LE9oPXtyZWFkQ29udGV4dDplaCx1c2VDYWxsYmFjazpmdW5jdGlvbihhLGIpe1RoKCkubWVtb2l6ZWRTdGF0ZT1bYSx2b2lkIDA9PT1iP251bGw6Yl07cmV0dXJuIGF9LHVzZUNvbnRleHQ6ZWgsdXNlRWZmZWN0Om1pLHVzZUltcGVyYXRpdmVIYW5kbGU6ZnVuY3Rpb24oYSxiLGMpe2M9bnVsbCE9PWMmJnZvaWQgMCE9PWM/Yy5jb25jYXQoW2FdKTpudWxsO3JldHVybiBraSg0MTk0MzA4LFxuNCxwaS5iaW5kKG51bGwsYixhKSxjKX0sdXNlTGF5b3V0RWZmZWN0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGtpKDQxOTQzMDgsNCxhLGIpfSx1c2VJbnNlcnRpb25FZmZlY3Q6ZnVuY3Rpb24oYSxiKXtyZXR1cm4ga2koNCwyLGEsYil9LHVzZU1lbW86ZnVuY3Rpb24oYSxiKXt2YXIgYz1UaCgpO2I9dm9pZCAwPT09Yj9udWxsOmI7YT1hKCk7Yy5tZW1vaXplZFN0YXRlPVthLGJdO3JldHVybiBhfSx1c2VSZWR1Y2VyOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1UaCgpO2I9dm9pZCAwIT09Yz9jKGIpOmI7ZC5tZW1vaXplZFN0YXRlPWQuYmFzZVN0YXRlPWI7YT17cGVuZGluZzpudWxsLGludGVybGVhdmVkOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6YSxsYXN0UmVuZGVyZWRTdGF0ZTpifTtkLnF1ZXVlPWE7YT1hLmRpc3BhdGNoPXhpLmJpbmQobnVsbCxNLGEpO3JldHVybltkLm1lbW9pemVkU3RhdGUsYV19LHVzZVJlZjpmdW5jdGlvbihhKXt2YXIgYj1cblRoKCk7YT17Y3VycmVudDphfTtyZXR1cm4gYi5tZW1vaXplZFN0YXRlPWF9LHVzZVN0YXRlOmhpLHVzZURlYnVnVmFsdWU6cmksdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihhKXtyZXR1cm4gVGgoKS5tZW1vaXplZFN0YXRlPWF9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgYT1oaSghMSksYj1hWzBdO2E9dmkuYmluZChudWxsLGFbMV0pO1RoKCkubWVtb2l6ZWRTdGF0ZT1hO3JldHVybltiLGFdfSx1c2VNdXRhYmxlU291cmNlOmZ1bmN0aW9uKCl7fSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9TSxlPVRoKCk7aWYoSSl7aWYodm9pZCAwPT09Yyl0aHJvdyBFcnJvcihwKDQwNykpO2M9YygpfWVsc2V7Yz1iKCk7aWYobnVsbD09PVEpdGhyb3cgRXJyb3IocCgzNDkpKTswIT09KEhoJjMwKXx8ZGkoZCxiLGMpfWUubWVtb2l6ZWRTdGF0ZT1jO3ZhciBmPXt2YWx1ZTpjLGdldFNuYXBzaG90OmJ9O2UucXVldWU9ZjttaShhaS5iaW5kKG51bGwsZCxcbmYsYSksW2FdKTtkLmZsYWdzfD0yMDQ4O2JpKDksY2kuYmluZChudWxsLGQsZixjLGIpLHZvaWQgMCxudWxsKTtyZXR1cm4gY30sdXNlSWQ6ZnVuY3Rpb24oKXt2YXIgYT1UaCgpLGI9US5pZGVudGlmaWVyUHJlZml4O2lmKEkpe3ZhciBjPXNnO3ZhciBkPXJnO2M9KGQmfigxPDwzMi1vYyhkKS0xKSkudG9TdHJpbmcoMzIpK2M7Yj1cIjpcIitiK1wiUlwiK2M7Yz1LaCsrOzA8YyYmKGIrPVwiSFwiK2MudG9TdHJpbmcoMzIpKTtiKz1cIjpcIn1lbHNlIGM9TGgrKyxiPVwiOlwiK2IrXCJyXCIrYy50b1N0cmluZygzMikrXCI6XCI7cmV0dXJuIGEubWVtb2l6ZWRTdGF0ZT1ifSx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LFBoPXtyZWFkQ29udGV4dDplaCx1c2VDYWxsYmFjazpzaSx1c2VDb250ZXh0OmVoLHVzZUVmZmVjdDokaCx1c2VJbXBlcmF0aXZlSGFuZGxlOnFpLHVzZUluc2VydGlvbkVmZmVjdDpuaSx1c2VMYXlvdXRFZmZlY3Q6b2ksdXNlTWVtbzp0aSx1c2VSZWR1Y2VyOldoLHVzZVJlZjpqaSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBXaChWaCl9LFxudXNlRGVidWdWYWx1ZTpyaSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGEpe3ZhciBiPVVoKCk7cmV0dXJuIHVpKGIsTi5tZW1vaXplZFN0YXRlLGEpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9V2goVmgpWzBdLGI9VWgoKS5tZW1vaXplZFN0YXRlO3JldHVyblthLGJdfSx1c2VNdXRhYmxlU291cmNlOlloLHVzZVN5bmNFeHRlcm5hbFN0b3JlOlpoLHVzZUlkOndpLHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX0sUWg9e3JlYWRDb250ZXh0OmVoLHVzZUNhbGxiYWNrOnNpLHVzZUNvbnRleHQ6ZWgsdXNlRWZmZWN0OiRoLHVzZUltcGVyYXRpdmVIYW5kbGU6cWksdXNlSW5zZXJ0aW9uRWZmZWN0Om5pLHVzZUxheW91dEVmZmVjdDpvaSx1c2VNZW1vOnRpLHVzZVJlZHVjZXI6WGgsdXNlUmVmOmppLHVzZVN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIFhoKFZoKX0sdXNlRGVidWdWYWx1ZTpyaSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGEpe3ZhciBiPVVoKCk7cmV0dXJuIG51bGw9PT1cbk4/Yi5tZW1vaXplZFN0YXRlPWE6dWkoYixOLm1lbW9pemVkU3RhdGUsYSl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgYT1YaChWaClbMF0sYj1VaCgpLm1lbW9pemVkU3RhdGU7cmV0dXJuW2EsYl19LHVzZU11dGFibGVTb3VyY2U6WWgsdXNlU3luY0V4dGVybmFsU3RvcmU6WmgsdXNlSWQ6d2ksdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfTtmdW5jdGlvbiBDaShhLGIpe2lmKGEmJmEuZGVmYXVsdFByb3BzKXtiPUEoe30sYik7YT1hLmRlZmF1bHRQcm9wcztmb3IodmFyIGMgaW4gYSl2b2lkIDA9PT1iW2NdJiYoYltjXT1hW2NdKTtyZXR1cm4gYn1yZXR1cm4gYn1mdW5jdGlvbiBEaShhLGIsYyxkKXtiPWEubWVtb2l6ZWRTdGF0ZTtjPWMoZCxiKTtjPW51bGw9PT1jfHx2b2lkIDA9PT1jP2I6QSh7fSxiLGMpO2EubWVtb2l6ZWRTdGF0ZT1jOzA9PT1hLmxhbmVzJiYoYS51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9Yyl9XG52YXIgRWk9e2lzTW91bnRlZDpmdW5jdGlvbihhKXtyZXR1cm4oYT1hLl9yZWFjdEludGVybmFscyk/VmIoYSk9PT1hOiExfSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oYSxiLGMpe2E9YS5fcmVhY3RJbnRlcm5hbHM7dmFyIGQ9UigpLGU9eWkoYSksZj1taChkLGUpO2YucGF5bG9hZD1iO3ZvaWQgMCE9PWMmJm51bGwhPT1jJiYoZi5jYWxsYmFjaz1jKTtiPW5oKGEsZixlKTtudWxsIT09YiYmKGdpKGIsYSxlLGQpLG9oKGIsYSxlKSl9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oYSxiLGMpe2E9YS5fcmVhY3RJbnRlcm5hbHM7dmFyIGQ9UigpLGU9eWkoYSksZj1taChkLGUpO2YudGFnPTE7Zi5wYXlsb2FkPWI7dm9pZCAwIT09YyYmbnVsbCE9PWMmJihmLmNhbGxiYWNrPWMpO2I9bmgoYSxmLGUpO251bGwhPT1iJiYoZ2koYixhLGUsZCksb2goYixhLGUpKX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKGEsYil7YT1hLl9yZWFjdEludGVybmFsczt2YXIgYz1SKCksZD1cbnlpKGEpLGU9bWgoYyxkKTtlLnRhZz0yO3ZvaWQgMCE9PWImJm51bGwhPT1iJiYoZS5jYWxsYmFjaz1iKTtiPW5oKGEsZSxkKTtudWxsIT09YiYmKGdpKGIsYSxkLGMpLG9oKGIsYSxkKSl9fTtmdW5jdGlvbiBGaShhLGIsYyxkLGUsZixnKXthPWEuc3RhdGVOb2RlO3JldHVyblwiZnVuY3Rpb25cIj09PXR5cGVvZiBhLnNob3VsZENvbXBvbmVudFVwZGF0ZT9hLnNob3VsZENvbXBvbmVudFVwZGF0ZShkLGYsZyk6Yi5wcm90b3R5cGUmJmIucHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50PyFJZShjLGQpfHwhSWUoZSxmKTohMH1cbmZ1bmN0aW9uIEdpKGEsYixjKXt2YXIgZD0hMSxlPVZmO3ZhciBmPWIuY29udGV4dFR5cGU7XCJvYmplY3RcIj09PXR5cGVvZiBmJiZudWxsIT09Zj9mPWVoKGYpOihlPVpmKGIpP1hmOkguY3VycmVudCxkPWIuY29udGV4dFR5cGVzLGY9KGQ9bnVsbCE9PWQmJnZvaWQgMCE9PWQpP1lmKGEsZSk6VmYpO2I9bmV3IGIoYyxmKTthLm1lbW9pemVkU3RhdGU9bnVsbCE9PWIuc3RhdGUmJnZvaWQgMCE9PWIuc3RhdGU/Yi5zdGF0ZTpudWxsO2IudXBkYXRlcj1FaTthLnN0YXRlTm9kZT1iO2IuX3JlYWN0SW50ZXJuYWxzPWE7ZCYmKGE9YS5zdGF0ZU5vZGUsYS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0PWUsYS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dD1mKTtyZXR1cm4gYn1cbmZ1bmN0aW9uIEhpKGEsYixjLGQpe2E9Yi5zdGF0ZTtcImZ1bmN0aW9uXCI9PT10eXBlb2YgYi5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZiLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoYyxkKTtcImZ1bmN0aW9uXCI9PT10eXBlb2YgYi5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmYi5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhjLGQpO2Iuc3RhdGUhPT1hJiZFaS5lbnF1ZXVlUmVwbGFjZVN0YXRlKGIsYi5zdGF0ZSxudWxsKX1cbmZ1bmN0aW9uIElpKGEsYixjLGQpe3ZhciBlPWEuc3RhdGVOb2RlO2UucHJvcHM9YztlLnN0YXRlPWEubWVtb2l6ZWRTdGF0ZTtlLnJlZnM9e307a2goYSk7dmFyIGY9Yi5jb250ZXh0VHlwZTtcIm9iamVjdFwiPT09dHlwZW9mIGYmJm51bGwhPT1mP2UuY29udGV4dD1laChmKTooZj1aZihiKT9YZjpILmN1cnJlbnQsZS5jb250ZXh0PVlmKGEsZikpO2Uuc3RhdGU9YS5tZW1vaXplZFN0YXRlO2Y9Yi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7XCJmdW5jdGlvblwiPT09dHlwZW9mIGYmJihEaShhLGIsZixjKSxlLnN0YXRlPWEubWVtb2l6ZWRTdGF0ZSk7XCJmdW5jdGlvblwiPT09dHlwZW9mIGIuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHxcImZ1bmN0aW9uXCI9PT10eXBlb2YgZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8XCJmdW5jdGlvblwiIT09dHlwZW9mIGUuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmXCJmdW5jdGlvblwiIT09dHlwZW9mIGUuY29tcG9uZW50V2lsbE1vdW50fHwoYj1lLnN0YXRlLFxuXCJmdW5jdGlvblwiPT09dHlwZW9mIGUuY29tcG9uZW50V2lsbE1vdW50JiZlLmNvbXBvbmVudFdpbGxNb3VudCgpLFwiZnVuY3Rpb25cIj09PXR5cGVvZiBlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJmUuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpLGIhPT1lLnN0YXRlJiZFaS5lbnF1ZXVlUmVwbGFjZVN0YXRlKGUsZS5zdGF0ZSxudWxsKSxxaChhLGMsZSxkKSxlLnN0YXRlPWEubWVtb2l6ZWRTdGF0ZSk7XCJmdW5jdGlvblwiPT09dHlwZW9mIGUuY29tcG9uZW50RGlkTW91bnQmJihhLmZsYWdzfD00MTk0MzA4KX1mdW5jdGlvbiBKaShhLGIpe3RyeXt2YXIgYz1cIlwiLGQ9YjtkbyBjKz1QYShkKSxkPWQucmV0dXJuO3doaWxlKGQpO3ZhciBlPWN9Y2F0Y2goZil7ZT1cIlxcbkVycm9yIGdlbmVyYXRpbmcgc3RhY2s6IFwiK2YubWVzc2FnZStcIlxcblwiK2Yuc3RhY2t9cmV0dXJue3ZhbHVlOmEsc291cmNlOmIsc3RhY2s6ZSxkaWdlc3Q6bnVsbH19XG5mdW5jdGlvbiBLaShhLGIsYyl7cmV0dXJue3ZhbHVlOmEsc291cmNlOm51bGwsc3RhY2s6bnVsbCE9Yz9jOm51bGwsZGlnZXN0Om51bGwhPWI/YjpudWxsfX1mdW5jdGlvbiBMaShhLGIpe3RyeXtjb25zb2xlLmVycm9yKGIudmFsdWUpfWNhdGNoKGMpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBjO30pfX12YXIgTWk9XCJmdW5jdGlvblwiPT09dHlwZW9mIFdlYWtNYXA/V2Vha01hcDpNYXA7ZnVuY3Rpb24gTmkoYSxiLGMpe2M9bWgoLTEsYyk7Yy50YWc9MztjLnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH07dmFyIGQ9Yi52YWx1ZTtjLmNhbGxiYWNrPWZ1bmN0aW9uKCl7T2l8fChPaT0hMCxQaT1kKTtMaShhLGIpfTtyZXR1cm4gY31cbmZ1bmN0aW9uIFFpKGEsYixjKXtjPW1oKC0xLGMpO2MudGFnPTM7dmFyIGQ9YS50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtpZihcImZ1bmN0aW9uXCI9PT10eXBlb2YgZCl7dmFyIGU9Yi52YWx1ZTtjLnBheWxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gZChlKX07Yy5jYWxsYmFjaz1mdW5jdGlvbigpe0xpKGEsYil9fXZhciBmPWEuc3RhdGVOb2RlO251bGwhPT1mJiZcImZ1bmN0aW9uXCI9PT10eXBlb2YgZi5jb21wb25lbnREaWRDYXRjaCYmKGMuY2FsbGJhY2s9ZnVuY3Rpb24oKXtMaShhLGIpO1wiZnVuY3Rpb25cIiE9PXR5cGVvZiBkJiYobnVsbD09PVJpP1JpPW5ldyBTZXQoW3RoaXNdKTpSaS5hZGQodGhpcykpO3ZhciBjPWIuc3RhY2s7dGhpcy5jb21wb25lbnREaWRDYXRjaChiLnZhbHVlLHtjb21wb25lbnRTdGFjazpudWxsIT09Yz9jOlwiXCJ9KX0pO3JldHVybiBjfVxuZnVuY3Rpb24gU2koYSxiLGMpe3ZhciBkPWEucGluZ0NhY2hlO2lmKG51bGw9PT1kKXtkPWEucGluZ0NhY2hlPW5ldyBNaTt2YXIgZT1uZXcgU2V0O2Quc2V0KGIsZSl9ZWxzZSBlPWQuZ2V0KGIpLHZvaWQgMD09PWUmJihlPW5ldyBTZXQsZC5zZXQoYixlKSk7ZS5oYXMoYyl8fChlLmFkZChjKSxhPVRpLmJpbmQobnVsbCxhLGIsYyksYi50aGVuKGEsYSkpfWZ1bmN0aW9uIFVpKGEpe2Rve3ZhciBiO2lmKGI9MTM9PT1hLnRhZyliPWEubWVtb2l6ZWRTdGF0ZSxiPW51bGwhPT1iP251bGwhPT1iLmRlaHlkcmF0ZWQ/ITA6ITE6ITA7aWYoYilyZXR1cm4gYTthPWEucmV0dXJufXdoaWxlKG51bGwhPT1hKTtyZXR1cm4gbnVsbH1cbmZ1bmN0aW9uIFZpKGEsYixjLGQsZSl7aWYoMD09PShhLm1vZGUmMSkpcmV0dXJuIGE9PT1iP2EuZmxhZ3N8PTY1NTM2OihhLmZsYWdzfD0xMjgsYy5mbGFnc3w9MTMxMDcyLGMuZmxhZ3MmPS01MjgwNSwxPT09Yy50YWcmJihudWxsPT09Yy5hbHRlcm5hdGU/Yy50YWc9MTc6KGI9bWgoLTEsMSksYi50YWc9MixuaChjLGIsMSkpKSxjLmxhbmVzfD0xKSxhO2EuZmxhZ3N8PTY1NTM2O2EubGFuZXM9ZTtyZXR1cm4gYX12YXIgV2k9dWEuUmVhY3RDdXJyZW50T3duZXIsZGg9ITE7ZnVuY3Rpb24gWGkoYSxiLGMsZCl7Yi5jaGlsZD1udWxsPT09YT9WZyhiLG51bGwsYyxkKTpVZyhiLGEuY2hpbGQsYyxkKX1cbmZ1bmN0aW9uIFlpKGEsYixjLGQsZSl7Yz1jLnJlbmRlcjt2YXIgZj1iLnJlZjtjaChiLGUpO2Q9TmgoYSxiLGMsZCxmLGUpO2M9U2goKTtpZihudWxsIT09YSYmIWRoKXJldHVybiBiLnVwZGF0ZVF1ZXVlPWEudXBkYXRlUXVldWUsYi5mbGFncyY9LTIwNTMsYS5sYW5lcyY9fmUsWmkoYSxiLGUpO0kmJmMmJnZnKGIpO2IuZmxhZ3N8PTE7WGkoYSxiLGQsZSk7cmV0dXJuIGIuY2hpbGR9XG5mdW5jdGlvbiAkaShhLGIsYyxkLGUpe2lmKG51bGw9PT1hKXt2YXIgZj1jLnR5cGU7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGYmJiFhaihmKSYmdm9pZCAwPT09Zi5kZWZhdWx0UHJvcHMmJm51bGw9PT1jLmNvbXBhcmUmJnZvaWQgMD09PWMuZGVmYXVsdFByb3BzKXJldHVybiBiLnRhZz0xNSxiLnR5cGU9ZixiaihhLGIsZixkLGUpO2E9UmcoYy50eXBlLG51bGwsZCxiLGIubW9kZSxlKTthLnJlZj1iLnJlZjthLnJldHVybj1iO3JldHVybiBiLmNoaWxkPWF9Zj1hLmNoaWxkO2lmKDA9PT0oYS5sYW5lcyZlKSl7dmFyIGc9Zi5tZW1vaXplZFByb3BzO2M9Yy5jb21wYXJlO2M9bnVsbCE9PWM/YzpJZTtpZihjKGcsZCkmJmEucmVmPT09Yi5yZWYpcmV0dXJuIFppKGEsYixlKX1iLmZsYWdzfD0xO2E9UGcoZixkKTthLnJlZj1iLnJlZjthLnJldHVybj1iO3JldHVybiBiLmNoaWxkPWF9XG5mdW5jdGlvbiBiaihhLGIsYyxkLGUpe2lmKG51bGwhPT1hKXt2YXIgZj1hLm1lbW9pemVkUHJvcHM7aWYoSWUoZixkKSYmYS5yZWY9PT1iLnJlZilpZihkaD0hMSxiLnBlbmRpbmdQcm9wcz1kPWYsMCE9PShhLmxhbmVzJmUpKTAhPT0oYS5mbGFncyYxMzEwNzIpJiYoZGg9ITApO2Vsc2UgcmV0dXJuIGIubGFuZXM9YS5sYW5lcyxaaShhLGIsZSl9cmV0dXJuIGNqKGEsYixjLGQsZSl9XG5mdW5jdGlvbiBkaihhLGIsYyl7dmFyIGQ9Yi5wZW5kaW5nUHJvcHMsZT1kLmNoaWxkcmVuLGY9bnVsbCE9PWE/YS5tZW1vaXplZFN0YXRlOm51bGw7aWYoXCJoaWRkZW5cIj09PWQubW9kZSlpZigwPT09KGIubW9kZSYxKSliLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LEcoZWosZmopLGZqfD1jO2Vsc2V7aWYoMD09PShjJjEwNzM3NDE4MjQpKXJldHVybiBhPW51bGwhPT1mP2YuYmFzZUxhbmVzfGM6YyxiLmxhbmVzPWIuY2hpbGRMYW5lcz0xMDczNzQxODI0LGIubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOmEsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH0sYi51cGRhdGVRdWV1ZT1udWxsLEcoZWosZmopLGZqfD1hLG51bGw7Yi5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6MCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczpudWxsfTtkPW51bGwhPT1mP2YuYmFzZUxhbmVzOmM7Ryhlaixmaik7Zmp8PWR9ZWxzZSBudWxsIT09XG5mPyhkPWYuYmFzZUxhbmVzfGMsYi5tZW1vaXplZFN0YXRlPW51bGwpOmQ9YyxHKGVqLGZqKSxmanw9ZDtYaShhLGIsZSxjKTtyZXR1cm4gYi5jaGlsZH1mdW5jdGlvbiBnaihhLGIpe3ZhciBjPWIucmVmO2lmKG51bGw9PT1hJiZudWxsIT09Y3x8bnVsbCE9PWEmJmEucmVmIT09YyliLmZsYWdzfD01MTIsYi5mbGFnc3w9MjA5NzE1Mn1mdW5jdGlvbiBjaihhLGIsYyxkLGUpe3ZhciBmPVpmKGMpP1hmOkguY3VycmVudDtmPVlmKGIsZik7Y2goYixlKTtjPU5oKGEsYixjLGQsZixlKTtkPVNoKCk7aWYobnVsbCE9PWEmJiFkaClyZXR1cm4gYi51cGRhdGVRdWV1ZT1hLnVwZGF0ZVF1ZXVlLGIuZmxhZ3MmPS0yMDUzLGEubGFuZXMmPX5lLFppKGEsYixlKTtJJiZkJiZ2ZyhiKTtiLmZsYWdzfD0xO1hpKGEsYixjLGUpO3JldHVybiBiLmNoaWxkfVxuZnVuY3Rpb24gaGooYSxiLGMsZCxlKXtpZihaZihjKSl7dmFyIGY9ITA7Y2coYil9ZWxzZSBmPSExO2NoKGIsZSk7aWYobnVsbD09PWIuc3RhdGVOb2RlKWlqKGEsYiksR2koYixjLGQpLElpKGIsYyxkLGUpLGQ9ITA7ZWxzZSBpZihudWxsPT09YSl7dmFyIGc9Yi5zdGF0ZU5vZGUsaD1iLm1lbW9pemVkUHJvcHM7Zy5wcm9wcz1oO3ZhciBrPWcuY29udGV4dCxsPWMuY29udGV4dFR5cGU7XCJvYmplY3RcIj09PXR5cGVvZiBsJiZudWxsIT09bD9sPWVoKGwpOihsPVpmKGMpP1hmOkguY3VycmVudCxsPVlmKGIsbCkpO3ZhciBtPWMuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLHE9XCJmdW5jdGlvblwiPT09dHlwZW9mIG18fFwiZnVuY3Rpb25cIj09PXR5cGVvZiBnLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlO3F8fFwiZnVuY3Rpb25cIiE9PXR5cGVvZiBnLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZcImZ1bmN0aW9uXCIhPT10eXBlb2YgZy5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzfHxcbihoIT09ZHx8ayE9PWwpJiZIaShiLGcsZCxsKTtqaD0hMTt2YXIgcj1iLm1lbW9pemVkU3RhdGU7Zy5zdGF0ZT1yO3FoKGIsZCxnLGUpO2s9Yi5tZW1vaXplZFN0YXRlO2ghPT1kfHxyIT09a3x8V2YuY3VycmVudHx8amg/KFwiZnVuY3Rpb25cIj09PXR5cGVvZiBtJiYoRGkoYixjLG0sZCksaz1iLm1lbW9pemVkU3RhdGUpLChoPWpofHxGaShiLGMsaCxkLHIsayxsKSk/KHF8fFwiZnVuY3Rpb25cIiE9PXR5cGVvZiBnLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJlwiZnVuY3Rpb25cIiE9PXR5cGVvZiBnLmNvbXBvbmVudFdpbGxNb3VudHx8KFwiZnVuY3Rpb25cIj09PXR5cGVvZiBnLmNvbXBvbmVudFdpbGxNb3VudCYmZy5jb21wb25lbnRXaWxsTW91bnQoKSxcImZ1bmN0aW9uXCI9PT10eXBlb2YgZy5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZnLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksXCJmdW5jdGlvblwiPT09dHlwZW9mIGcuY29tcG9uZW50RGlkTW91bnQmJihiLmZsYWdzfD00MTk0MzA4KSk6XG4oXCJmdW5jdGlvblwiPT09dHlwZW9mIGcuY29tcG9uZW50RGlkTW91bnQmJihiLmZsYWdzfD00MTk0MzA4KSxiLm1lbW9pemVkUHJvcHM9ZCxiLm1lbW9pemVkU3RhdGU9ayksZy5wcm9wcz1kLGcuc3RhdGU9ayxnLmNvbnRleHQ9bCxkPWgpOihcImZ1bmN0aW9uXCI9PT10eXBlb2YgZy5jb21wb25lbnREaWRNb3VudCYmKGIuZmxhZ3N8PTQxOTQzMDgpLGQ9ITEpfWVsc2V7Zz1iLnN0YXRlTm9kZTtsaChhLGIpO2g9Yi5tZW1vaXplZFByb3BzO2w9Yi50eXBlPT09Yi5lbGVtZW50VHlwZT9oOkNpKGIudHlwZSxoKTtnLnByb3BzPWw7cT1iLnBlbmRpbmdQcm9wcztyPWcuY29udGV4dDtrPWMuY29udGV4dFR5cGU7XCJvYmplY3RcIj09PXR5cGVvZiBrJiZudWxsIT09az9rPWVoKGspOihrPVpmKGMpP1hmOkguY3VycmVudCxrPVlmKGIsaykpO3ZhciB5PWMuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzOyhtPVwiZnVuY3Rpb25cIj09PXR5cGVvZiB5fHxcImZ1bmN0aW9uXCI9PT10eXBlb2YgZy5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSl8fFxuXCJmdW5jdGlvblwiIT09dHlwZW9mIGcuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJlwiZnVuY3Rpb25cIiE9PXR5cGVvZiBnLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHN8fChoIT09cXx8ciE9PWspJiZIaShiLGcsZCxrKTtqaD0hMTtyPWIubWVtb2l6ZWRTdGF0ZTtnLnN0YXRlPXI7cWgoYixkLGcsZSk7dmFyIG49Yi5tZW1vaXplZFN0YXRlO2ghPT1xfHxyIT09bnx8V2YuY3VycmVudHx8amg/KFwiZnVuY3Rpb25cIj09PXR5cGVvZiB5JiYoRGkoYixjLHksZCksbj1iLm1lbW9pemVkU3RhdGUpLChsPWpofHxGaShiLGMsbCxkLHIsbixrKXx8ITEpPyhtfHxcImZ1bmN0aW9uXCIhPT10eXBlb2YgZy5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmXCJmdW5jdGlvblwiIT09dHlwZW9mIGcuY29tcG9uZW50V2lsbFVwZGF0ZXx8KFwiZnVuY3Rpb25cIj09PXR5cGVvZiBnLmNvbXBvbmVudFdpbGxVcGRhdGUmJmcuY29tcG9uZW50V2lsbFVwZGF0ZShkLG4sayksXCJmdW5jdGlvblwiPT09dHlwZW9mIGcuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUmJlxuZy5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShkLG4saykpLFwiZnVuY3Rpb25cIj09PXR5cGVvZiBnLmNvbXBvbmVudERpZFVwZGF0ZSYmKGIuZmxhZ3N8PTQpLFwiZnVuY3Rpb25cIj09PXR5cGVvZiBnLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYoYi5mbGFnc3w9MTAyNCkpOihcImZ1bmN0aW9uXCIhPT10eXBlb2YgZy5jb21wb25lbnREaWRVcGRhdGV8fGg9PT1hLm1lbW9pemVkUHJvcHMmJnI9PT1hLm1lbW9pemVkU3RhdGV8fChiLmZsYWdzfD00KSxcImZ1bmN0aW9uXCIhPT10eXBlb2YgZy5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8aD09PWEubWVtb2l6ZWRQcm9wcyYmcj09PWEubWVtb2l6ZWRTdGF0ZXx8KGIuZmxhZ3N8PTEwMjQpLGIubWVtb2l6ZWRQcm9wcz1kLGIubWVtb2l6ZWRTdGF0ZT1uKSxnLnByb3BzPWQsZy5zdGF0ZT1uLGcuY29udGV4dD1rLGQ9bCk6KFwiZnVuY3Rpb25cIiE9PXR5cGVvZiBnLmNvbXBvbmVudERpZFVwZGF0ZXx8aD09PWEubWVtb2l6ZWRQcm9wcyYmcj09PVxuYS5tZW1vaXplZFN0YXRlfHwoYi5mbGFnc3w9NCksXCJmdW5jdGlvblwiIT09dHlwZW9mIGcuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGV8fGg9PT1hLm1lbW9pemVkUHJvcHMmJnI9PT1hLm1lbW9pemVkU3RhdGV8fChiLmZsYWdzfD0xMDI0KSxkPSExKX1yZXR1cm4gamooYSxiLGMsZCxmLGUpfVxuZnVuY3Rpb24gamooYSxiLGMsZCxlLGYpe2dqKGEsYik7dmFyIGc9MCE9PShiLmZsYWdzJjEyOCk7aWYoIWQmJiFnKXJldHVybiBlJiZkZyhiLGMsITEpLFppKGEsYixmKTtkPWIuc3RhdGVOb2RlO1dpLmN1cnJlbnQ9Yjt2YXIgaD1nJiZcImZ1bmN0aW9uXCIhPT10eXBlb2YgYy5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDpkLnJlbmRlcigpO2IuZmxhZ3N8PTE7bnVsbCE9PWEmJmc/KGIuY2hpbGQ9VWcoYixhLmNoaWxkLG51bGwsZiksYi5jaGlsZD1VZyhiLG51bGwsaCxmKSk6WGkoYSxiLGgsZik7Yi5tZW1vaXplZFN0YXRlPWQuc3RhdGU7ZSYmZGcoYixjLCEwKTtyZXR1cm4gYi5jaGlsZH1mdW5jdGlvbiBraihhKXt2YXIgYj1hLnN0YXRlTm9kZTtiLnBlbmRpbmdDb250ZXh0P2FnKGEsYi5wZW5kaW5nQ29udGV4dCxiLnBlbmRpbmdDb250ZXh0IT09Yi5jb250ZXh0KTpiLmNvbnRleHQmJmFnKGEsYi5jb250ZXh0LCExKTt5aChhLGIuY29udGFpbmVySW5mbyl9XG5mdW5jdGlvbiBsaihhLGIsYyxkLGUpe0lnKCk7SmcoZSk7Yi5mbGFnc3w9MjU2O1hpKGEsYixjLGQpO3JldHVybiBiLmNoaWxkfXZhciBtaj17ZGVoeWRyYXRlZDpudWxsLHRyZWVDb250ZXh0Om51bGwscmV0cnlMYW5lOjB9O2Z1bmN0aW9uIG5qKGEpe3JldHVybntiYXNlTGFuZXM6YSxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczpudWxsfX1cbmZ1bmN0aW9uIG9qKGEsYixjKXt2YXIgZD1iLnBlbmRpbmdQcm9wcyxlPUwuY3VycmVudCxmPSExLGc9MCE9PShiLmZsYWdzJjEyOCksaDsoaD1nKXx8KGg9bnVsbCE9PWEmJm51bGw9PT1hLm1lbW9pemVkU3RhdGU/ITE6MCE9PShlJjIpKTtpZihoKWY9ITAsYi5mbGFncyY9LTEyOTtlbHNlIGlmKG51bGw9PT1hfHxudWxsIT09YS5tZW1vaXplZFN0YXRlKWV8PTE7RyhMLGUmMSk7aWYobnVsbD09PWEpe0VnKGIpO2E9Yi5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT1hJiYoYT1hLmRlaHlkcmF0ZWQsbnVsbCE9PWEpKXJldHVybiAwPT09KGIubW9kZSYxKT9iLmxhbmVzPTE6XCIkIVwiPT09YS5kYXRhP2IubGFuZXM9ODpiLmxhbmVzPTEwNzM3NDE4MjQsbnVsbDtnPWQuY2hpbGRyZW47YT1kLmZhbGxiYWNrO3JldHVybiBmPyhkPWIubW9kZSxmPWIuY2hpbGQsZz17bW9kZTpcImhpZGRlblwiLGNoaWxkcmVuOmd9LDA9PT0oZCYxKSYmbnVsbCE9PWY/KGYuY2hpbGRMYW5lcz0wLGYucGVuZGluZ1Byb3BzPVxuZyk6Zj1waihnLGQsMCxudWxsKSxhPVRnKGEsZCxjLG51bGwpLGYucmV0dXJuPWIsYS5yZXR1cm49YixmLnNpYmxpbmc9YSxiLmNoaWxkPWYsYi5jaGlsZC5tZW1vaXplZFN0YXRlPW5qKGMpLGIubWVtb2l6ZWRTdGF0ZT1taixhKTpxaihiLGcpfWU9YS5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT1lJiYoaD1lLmRlaHlkcmF0ZWQsbnVsbCE9PWgpKXJldHVybiByaihhLGIsZyxkLGgsZSxjKTtpZihmKXtmPWQuZmFsbGJhY2s7Zz1iLm1vZGU7ZT1hLmNoaWxkO2g9ZS5zaWJsaW5nO3ZhciBrPXttb2RlOlwiaGlkZGVuXCIsY2hpbGRyZW46ZC5jaGlsZHJlbn07MD09PShnJjEpJiZiLmNoaWxkIT09ZT8oZD1iLmNoaWxkLGQuY2hpbGRMYW5lcz0wLGQucGVuZGluZ1Byb3BzPWssYi5kZWxldGlvbnM9bnVsbCk6KGQ9UGcoZSxrKSxkLnN1YnRyZWVGbGFncz1lLnN1YnRyZWVGbGFncyYxNDY4MDA2NCk7bnVsbCE9PWg/Zj1QZyhoLGYpOihmPVRnKGYsZyxjLG51bGwpLGYuZmxhZ3N8PTIpO2YucmV0dXJuPVxuYjtkLnJldHVybj1iO2Quc2libGluZz1mO2IuY2hpbGQ9ZDtkPWY7Zj1iLmNoaWxkO2c9YS5jaGlsZC5tZW1vaXplZFN0YXRlO2c9bnVsbD09PWc/bmooYyk6e2Jhc2VMYW5lczpnLmJhc2VMYW5lc3xjLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOmcudHJhbnNpdGlvbnN9O2YubWVtb2l6ZWRTdGF0ZT1nO2YuY2hpbGRMYW5lcz1hLmNoaWxkTGFuZXMmfmM7Yi5tZW1vaXplZFN0YXRlPW1qO3JldHVybiBkfWY9YS5jaGlsZDthPWYuc2libGluZztkPVBnKGYse21vZGU6XCJ2aXNpYmxlXCIsY2hpbGRyZW46ZC5jaGlsZHJlbn0pOzA9PT0oYi5tb2RlJjEpJiYoZC5sYW5lcz1jKTtkLnJldHVybj1iO2Quc2libGluZz1udWxsO251bGwhPT1hJiYoYz1iLmRlbGV0aW9ucyxudWxsPT09Yz8oYi5kZWxldGlvbnM9W2FdLGIuZmxhZ3N8PTE2KTpjLnB1c2goYSkpO2IuY2hpbGQ9ZDtiLm1lbW9pemVkU3RhdGU9bnVsbDtyZXR1cm4gZH1cbmZ1bmN0aW9uIHFqKGEsYil7Yj1waih7bW9kZTpcInZpc2libGVcIixjaGlsZHJlbjpifSxhLm1vZGUsMCxudWxsKTtiLnJldHVybj1hO3JldHVybiBhLmNoaWxkPWJ9ZnVuY3Rpb24gc2ooYSxiLGMsZCl7bnVsbCE9PWQmJkpnKGQpO1VnKGIsYS5jaGlsZCxudWxsLGMpO2E9cWooYixiLnBlbmRpbmdQcm9wcy5jaGlsZHJlbik7YS5mbGFnc3w9MjtiLm1lbW9pemVkU3RhdGU9bnVsbDtyZXR1cm4gYX1cbmZ1bmN0aW9uIHJqKGEsYixjLGQsZSxmLGcpe2lmKGMpe2lmKGIuZmxhZ3MmMjU2KXJldHVybiBiLmZsYWdzJj0tMjU3LGQ9S2koRXJyb3IocCg0MjIpKSksc2ooYSxiLGcsZCk7aWYobnVsbCE9PWIubWVtb2l6ZWRTdGF0ZSlyZXR1cm4gYi5jaGlsZD1hLmNoaWxkLGIuZmxhZ3N8PTEyOCxudWxsO2Y9ZC5mYWxsYmFjaztlPWIubW9kZTtkPXBqKHttb2RlOlwidmlzaWJsZVwiLGNoaWxkcmVuOmQuY2hpbGRyZW59LGUsMCxudWxsKTtmPVRnKGYsZSxnLG51bGwpO2YuZmxhZ3N8PTI7ZC5yZXR1cm49YjtmLnJldHVybj1iO2Quc2libGluZz1mO2IuY2hpbGQ9ZDswIT09KGIubW9kZSYxKSYmVWcoYixhLmNoaWxkLG51bGwsZyk7Yi5jaGlsZC5tZW1vaXplZFN0YXRlPW5qKGcpO2IubWVtb2l6ZWRTdGF0ZT1tajtyZXR1cm4gZn1pZigwPT09KGIubW9kZSYxKSlyZXR1cm4gc2ooYSxiLGcsbnVsbCk7aWYoXCIkIVwiPT09ZS5kYXRhKXtkPWUubmV4dFNpYmxpbmcmJmUubmV4dFNpYmxpbmcuZGF0YXNldDtcbmlmKGQpdmFyIGg9ZC5kZ3N0O2Q9aDtmPUVycm9yKHAoNDE5KSk7ZD1LaShmLGQsdm9pZCAwKTtyZXR1cm4gc2ooYSxiLGcsZCl9aD0wIT09KGcmYS5jaGlsZExhbmVzKTtpZihkaHx8aCl7ZD1RO2lmKG51bGwhPT1kKXtzd2l0Y2goZyYtZyl7Y2FzZSA0OmU9MjticmVhaztjYXNlIDE2OmU9ODticmVhaztjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOmNhc2UgNDE5NDMwNDpjYXNlIDgzODg2MDg6Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOmNhc2UgNjcxMDg4NjQ6ZT0zMjticmVhaztjYXNlIDUzNjg3MDkxMjplPTI2ODQzNTQ1NjticmVhaztkZWZhdWx0OmU9MH1lPTAhPT0oZSYoZC5zdXNwZW5kZWRMYW5lc3xnKSk/MDplO1xuMCE9PWUmJmUhPT1mLnJldHJ5TGFuZSYmKGYucmV0cnlMYW5lPWUsaWgoYSxlKSxnaShkLGEsZSwtMSkpfXRqKCk7ZD1LaShFcnJvcihwKDQyMSkpKTtyZXR1cm4gc2ooYSxiLGcsZCl9aWYoXCIkP1wiPT09ZS5kYXRhKXJldHVybiBiLmZsYWdzfD0xMjgsYi5jaGlsZD1hLmNoaWxkLGI9dWouYmluZChudWxsLGEpLGUuX3JlYWN0UmV0cnk9YixudWxsO2E9Zi50cmVlQ29udGV4dDt5Zz1MZihlLm5leHRTaWJsaW5nKTt4Zz1iO0k9ITA7emc9bnVsbDtudWxsIT09YSYmKG9nW3BnKytdPXJnLG9nW3BnKytdPXNnLG9nW3BnKytdPXFnLHJnPWEuaWQsc2c9YS5vdmVyZmxvdyxxZz1iKTtiPXFqKGIsZC5jaGlsZHJlbik7Yi5mbGFnc3w9NDA5NjtyZXR1cm4gYn1mdW5jdGlvbiB2aihhLGIsYyl7YS5sYW5lc3w9Yjt2YXIgZD1hLmFsdGVybmF0ZTtudWxsIT09ZCYmKGQubGFuZXN8PWIpO2JoKGEucmV0dXJuLGIsYyl9XG5mdW5jdGlvbiB3aihhLGIsYyxkLGUpe3ZhciBmPWEubWVtb2l6ZWRTdGF0ZTtudWxsPT09Zj9hLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOmIscmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDpkLHRhaWw6Yyx0YWlsTW9kZTplfTooZi5pc0JhY2t3YXJkcz1iLGYucmVuZGVyaW5nPW51bGwsZi5yZW5kZXJpbmdTdGFydFRpbWU9MCxmLmxhc3Q9ZCxmLnRhaWw9YyxmLnRhaWxNb2RlPWUpfVxuZnVuY3Rpb24geGooYSxiLGMpe3ZhciBkPWIucGVuZGluZ1Byb3BzLGU9ZC5yZXZlYWxPcmRlcixmPWQudGFpbDtYaShhLGIsZC5jaGlsZHJlbixjKTtkPUwuY3VycmVudDtpZigwIT09KGQmMikpZD1kJjF8MixiLmZsYWdzfD0xMjg7ZWxzZXtpZihudWxsIT09YSYmMCE9PShhLmZsYWdzJjEyOCkpYTpmb3IoYT1iLmNoaWxkO251bGwhPT1hOyl7aWYoMTM9PT1hLnRhZyludWxsIT09YS5tZW1vaXplZFN0YXRlJiZ2aihhLGMsYik7ZWxzZSBpZigxOT09PWEudGFnKXZqKGEsYyxiKTtlbHNlIGlmKG51bGwhPT1hLmNoaWxkKXthLmNoaWxkLnJldHVybj1hO2E9YS5jaGlsZDtjb250aW51ZX1pZihhPT09YilicmVhayBhO2Zvcig7bnVsbD09PWEuc2libGluZzspe2lmKG51bGw9PT1hLnJldHVybnx8YS5yZXR1cm49PT1iKWJyZWFrIGE7YT1hLnJldHVybn1hLnNpYmxpbmcucmV0dXJuPWEucmV0dXJuO2E9YS5zaWJsaW5nfWQmPTF9RyhMLGQpO2lmKDA9PT0oYi5tb2RlJjEpKWIubWVtb2l6ZWRTdGF0ZT1cbm51bGw7ZWxzZSBzd2l0Y2goZSl7Y2FzZSBcImZvcndhcmRzXCI6Yz1iLmNoaWxkO2ZvcihlPW51bGw7bnVsbCE9PWM7KWE9Yy5hbHRlcm5hdGUsbnVsbCE9PWEmJm51bGw9PT1DaChhKSYmKGU9YyksYz1jLnNpYmxpbmc7Yz1lO251bGw9PT1jPyhlPWIuY2hpbGQsYi5jaGlsZD1udWxsKTooZT1jLnNpYmxpbmcsYy5zaWJsaW5nPW51bGwpO3dqKGIsITEsZSxjLGYpO2JyZWFrO2Nhc2UgXCJiYWNrd2FyZHNcIjpjPW51bGw7ZT1iLmNoaWxkO2ZvcihiLmNoaWxkPW51bGw7bnVsbCE9PWU7KXthPWUuYWx0ZXJuYXRlO2lmKG51bGwhPT1hJiZudWxsPT09Q2goYSkpe2IuY2hpbGQ9ZTticmVha31hPWUuc2libGluZztlLnNpYmxpbmc9YztjPWU7ZT1hfXdqKGIsITAsYyxudWxsLGYpO2JyZWFrO2Nhc2UgXCJ0b2dldGhlclwiOndqKGIsITEsbnVsbCxudWxsLHZvaWQgMCk7YnJlYWs7ZGVmYXVsdDpiLm1lbW9pemVkU3RhdGU9bnVsbH1yZXR1cm4gYi5jaGlsZH1cbmZ1bmN0aW9uIGlqKGEsYil7MD09PShiLm1vZGUmMSkmJm51bGwhPT1hJiYoYS5hbHRlcm5hdGU9bnVsbCxiLmFsdGVybmF0ZT1udWxsLGIuZmxhZ3N8PTIpfWZ1bmN0aW9uIFppKGEsYixjKXtudWxsIT09YSYmKGIuZGVwZW5kZW5jaWVzPWEuZGVwZW5kZW5jaWVzKTtyaHw9Yi5sYW5lcztpZigwPT09KGMmYi5jaGlsZExhbmVzKSlyZXR1cm4gbnVsbDtpZihudWxsIT09YSYmYi5jaGlsZCE9PWEuY2hpbGQpdGhyb3cgRXJyb3IocCgxNTMpKTtpZihudWxsIT09Yi5jaGlsZCl7YT1iLmNoaWxkO2M9UGcoYSxhLnBlbmRpbmdQcm9wcyk7Yi5jaGlsZD1jO2ZvcihjLnJldHVybj1iO251bGwhPT1hLnNpYmxpbmc7KWE9YS5zaWJsaW5nLGM9Yy5zaWJsaW5nPVBnKGEsYS5wZW5kaW5nUHJvcHMpLGMucmV0dXJuPWI7Yy5zaWJsaW5nPW51bGx9cmV0dXJuIGIuY2hpbGR9XG5mdW5jdGlvbiB5aihhLGIsYyl7c3dpdGNoKGIudGFnKXtjYXNlIDM6a2ooYik7SWcoKTticmVhaztjYXNlIDU6QWgoYik7YnJlYWs7Y2FzZSAxOlpmKGIudHlwZSkmJmNnKGIpO2JyZWFrO2Nhc2UgNDp5aChiLGIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO2JyZWFrO2Nhc2UgMTA6dmFyIGQ9Yi50eXBlLl9jb250ZXh0LGU9Yi5tZW1vaXplZFByb3BzLnZhbHVlO0coV2csZC5fY3VycmVudFZhbHVlKTtkLl9jdXJyZW50VmFsdWU9ZTticmVhaztjYXNlIDEzOmQ9Yi5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT1kKXtpZihudWxsIT09ZC5kZWh5ZHJhdGVkKXJldHVybiBHKEwsTC5jdXJyZW50JjEpLGIuZmxhZ3N8PTEyOCxudWxsO2lmKDAhPT0oYyZiLmNoaWxkLmNoaWxkTGFuZXMpKXJldHVybiBvaihhLGIsYyk7RyhMLEwuY3VycmVudCYxKTthPVppKGEsYixjKTtyZXR1cm4gbnVsbCE9PWE/YS5zaWJsaW5nOm51bGx9RyhMLEwuY3VycmVudCYxKTticmVhaztjYXNlIDE5OmQ9MCE9PShjJlxuYi5jaGlsZExhbmVzKTtpZigwIT09KGEuZmxhZ3MmMTI4KSl7aWYoZClyZXR1cm4geGooYSxiLGMpO2IuZmxhZ3N8PTEyOH1lPWIubWVtb2l6ZWRTdGF0ZTtudWxsIT09ZSYmKGUucmVuZGVyaW5nPW51bGwsZS50YWlsPW51bGwsZS5sYXN0RWZmZWN0PW51bGwpO0coTCxMLmN1cnJlbnQpO2lmKGQpYnJlYWs7ZWxzZSByZXR1cm4gbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGIubGFuZXM9MCxkaihhLGIsYyl9cmV0dXJuIFppKGEsYixjKX12YXIgemosQWosQmosQ2o7XG56aj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1iLmNoaWxkO251bGwhPT1jOyl7aWYoNT09PWMudGFnfHw2PT09Yy50YWcpYS5hcHBlbmRDaGlsZChjLnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09Yy50YWcmJm51bGwhPT1jLmNoaWxkKXtjLmNoaWxkLnJldHVybj1jO2M9Yy5jaGlsZDtjb250aW51ZX1pZihjPT09YilicmVhaztmb3IoO251bGw9PT1jLnNpYmxpbmc7KXtpZihudWxsPT09Yy5yZXR1cm58fGMucmV0dXJuPT09YilyZXR1cm47Yz1jLnJldHVybn1jLnNpYmxpbmcucmV0dXJuPWMucmV0dXJuO2M9Yy5zaWJsaW5nfX07QWo9ZnVuY3Rpb24oKXt9O1xuQmo9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5tZW1vaXplZFByb3BzO2lmKGUhPT1kKXthPWIuc3RhdGVOb2RlO3hoKHVoLmN1cnJlbnQpO3ZhciBmPW51bGw7c3dpdGNoKGMpe2Nhc2UgXCJpbnB1dFwiOmU9WWEoYSxlKTtkPVlhKGEsZCk7Zj1bXTticmVhaztjYXNlIFwic2VsZWN0XCI6ZT1BKHt9LGUse3ZhbHVlOnZvaWQgMH0pO2Q9QSh7fSxkLHt2YWx1ZTp2b2lkIDB9KTtmPVtdO2JyZWFrO2Nhc2UgXCJ0ZXh0YXJlYVwiOmU9Z2IoYSxlKTtkPWdiKGEsZCk7Zj1bXTticmVhaztkZWZhdWx0OlwiZnVuY3Rpb25cIiE9PXR5cGVvZiBlLm9uQ2xpY2smJlwiZnVuY3Rpb25cIj09PXR5cGVvZiBkLm9uQ2xpY2smJihhLm9uY2xpY2s9QmYpfXViKGMsZCk7dmFyIGc7Yz1udWxsO2ZvcihsIGluIGUpaWYoIWQuaGFzT3duUHJvcGVydHkobCkmJmUuaGFzT3duUHJvcGVydHkobCkmJm51bGwhPWVbbF0paWYoXCJzdHlsZVwiPT09bCl7dmFyIGg9ZVtsXTtmb3IoZyBpbiBoKWguaGFzT3duUHJvcGVydHkoZykmJlxuKGN8fChjPXt9KSxjW2ddPVwiXCIpfWVsc2VcImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXCIhPT1sJiZcImNoaWxkcmVuXCIhPT1sJiZcInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZ1wiIT09bCYmXCJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmdcIiE9PWwmJlwiYXV0b0ZvY3VzXCIhPT1sJiYoZWEuaGFzT3duUHJvcGVydHkobCk/Znx8KGY9W10pOihmPWZ8fFtdKS5wdXNoKGwsbnVsbCkpO2ZvcihsIGluIGQpe3ZhciBrPWRbbF07aD1udWxsIT1lP2VbbF06dm9pZCAwO2lmKGQuaGFzT3duUHJvcGVydHkobCkmJmshPT1oJiYobnVsbCE9a3x8bnVsbCE9aCkpaWYoXCJzdHlsZVwiPT09bClpZihoKXtmb3IoZyBpbiBoKSFoLmhhc093blByb3BlcnR5KGcpfHxrJiZrLmhhc093blByb3BlcnR5KGcpfHwoY3x8KGM9e30pLGNbZ109XCJcIik7Zm9yKGcgaW4gaylrLmhhc093blByb3BlcnR5KGcpJiZoW2ddIT09a1tnXSYmKGN8fChjPXt9KSxjW2ddPWtbZ10pfWVsc2UgY3x8KGZ8fChmPVtdKSxmLnB1c2gobCxcbmMpKSxjPWs7ZWxzZVwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxcIj09PWw/KGs9az9rLl9faHRtbDp2b2lkIDAsaD1oP2guX19odG1sOnZvaWQgMCxudWxsIT1rJiZoIT09ayYmKGY9Znx8W10pLnB1c2gobCxrKSk6XCJjaGlsZHJlblwiPT09bD9cInN0cmluZ1wiIT09dHlwZW9mIGsmJlwibnVtYmVyXCIhPT10eXBlb2Yga3x8KGY9Znx8W10pLnB1c2gobCxcIlwiK2spOlwic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nXCIhPT1sJiZcInN1cHByZXNzSHlkcmF0aW9uV2FybmluZ1wiIT09bCYmKGVhLmhhc093blByb3BlcnR5KGwpPyhudWxsIT1rJiZcIm9uU2Nyb2xsXCI9PT1sJiZEKFwic2Nyb2xsXCIsYSksZnx8aD09PWt8fChmPVtdKSk6KGY9Znx8W10pLnB1c2gobCxrKSl9YyYmKGY9Znx8W10pLnB1c2goXCJzdHlsZVwiLGMpO3ZhciBsPWY7aWYoYi51cGRhdGVRdWV1ZT1sKWIuZmxhZ3N8PTR9fTtDaj1mdW5jdGlvbihhLGIsYyxkKXtjIT09ZCYmKGIuZmxhZ3N8PTQpfTtcbmZ1bmN0aW9uIERqKGEsYil7aWYoIUkpc3dpdGNoKGEudGFpbE1vZGUpe2Nhc2UgXCJoaWRkZW5cIjpiPWEudGFpbDtmb3IodmFyIGM9bnVsbDtudWxsIT09YjspbnVsbCE9PWIuYWx0ZXJuYXRlJiYoYz1iKSxiPWIuc2libGluZztudWxsPT09Yz9hLnRhaWw9bnVsbDpjLnNpYmxpbmc9bnVsbDticmVhaztjYXNlIFwiY29sbGFwc2VkXCI6Yz1hLnRhaWw7Zm9yKHZhciBkPW51bGw7bnVsbCE9PWM7KW51bGwhPT1jLmFsdGVybmF0ZSYmKGQ9YyksYz1jLnNpYmxpbmc7bnVsbD09PWQ/Ynx8bnVsbD09PWEudGFpbD9hLnRhaWw9bnVsbDphLnRhaWwuc2libGluZz1udWxsOmQuc2libGluZz1udWxsfX1cbmZ1bmN0aW9uIFMoYSl7dmFyIGI9bnVsbCE9PWEuYWx0ZXJuYXRlJiZhLmFsdGVybmF0ZS5jaGlsZD09PWEuY2hpbGQsYz0wLGQ9MDtpZihiKWZvcih2YXIgZT1hLmNoaWxkO251bGwhPT1lOyljfD1lLmxhbmVzfGUuY2hpbGRMYW5lcyxkfD1lLnN1YnRyZWVGbGFncyYxNDY4MDA2NCxkfD1lLmZsYWdzJjE0NjgwMDY0LGUucmV0dXJuPWEsZT1lLnNpYmxpbmc7ZWxzZSBmb3IoZT1hLmNoaWxkO251bGwhPT1lOyljfD1lLmxhbmVzfGUuY2hpbGRMYW5lcyxkfD1lLnN1YnRyZWVGbGFncyxkfD1lLmZsYWdzLGUucmV0dXJuPWEsZT1lLnNpYmxpbmc7YS5zdWJ0cmVlRmxhZ3N8PWQ7YS5jaGlsZExhbmVzPWM7cmV0dXJuIGJ9XG5mdW5jdGlvbiBFaihhLGIsYyl7dmFyIGQ9Yi5wZW5kaW5nUHJvcHM7d2coYik7c3dpdGNoKGIudGFnKXtjYXNlIDI6Y2FzZSAxNjpjYXNlIDE1OmNhc2UgMDpjYXNlIDExOmNhc2UgNzpjYXNlIDg6Y2FzZSAxMjpjYXNlIDk6Y2FzZSAxNDpyZXR1cm4gUyhiKSxudWxsO2Nhc2UgMTpyZXR1cm4gWmYoYi50eXBlKSYmJGYoKSxTKGIpLG51bGw7Y2FzZSAzOmQ9Yi5zdGF0ZU5vZGU7emgoKTtFKFdmKTtFKEgpO0VoKCk7ZC5wZW5kaW5nQ29udGV4dCYmKGQuY29udGV4dD1kLnBlbmRpbmdDb250ZXh0LGQucGVuZGluZ0NvbnRleHQ9bnVsbCk7aWYobnVsbD09PWF8fG51bGw9PT1hLmNoaWxkKUdnKGIpP2IuZmxhZ3N8PTQ6bnVsbD09PWF8fGEubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQmJjA9PT0oYi5mbGFncyYyNTYpfHwoYi5mbGFnc3w9MTAyNCxudWxsIT09emcmJihGaih6Zyksemc9bnVsbCkpO0FqKGEsYik7UyhiKTtyZXR1cm4gbnVsbDtjYXNlIDU6QmgoYik7dmFyIGU9eGgod2guY3VycmVudCk7XG5jPWIudHlwZTtpZihudWxsIT09YSYmbnVsbCE9Yi5zdGF0ZU5vZGUpQmooYSxiLGMsZCxlKSxhLnJlZiE9PWIucmVmJiYoYi5mbGFnc3w9NTEyLGIuZmxhZ3N8PTIwOTcxNTIpO2Vsc2V7aWYoIWQpe2lmKG51bGw9PT1iLnN0YXRlTm9kZSl0aHJvdyBFcnJvcihwKDE2NikpO1MoYik7cmV0dXJuIG51bGx9YT14aCh1aC5jdXJyZW50KTtpZihHZyhiKSl7ZD1iLnN0YXRlTm9kZTtjPWIudHlwZTt2YXIgZj1iLm1lbW9pemVkUHJvcHM7ZFtPZl09YjtkW1BmXT1mO2E9MCE9PShiLm1vZGUmMSk7c3dpdGNoKGMpe2Nhc2UgXCJkaWFsb2dcIjpEKFwiY2FuY2VsXCIsZCk7RChcImNsb3NlXCIsZCk7YnJlYWs7Y2FzZSBcImlmcmFtZVwiOmNhc2UgXCJvYmplY3RcIjpjYXNlIFwiZW1iZWRcIjpEKFwibG9hZFwiLGQpO2JyZWFrO2Nhc2UgXCJ2aWRlb1wiOmNhc2UgXCJhdWRpb1wiOmZvcihlPTA7ZTxsZi5sZW5ndGg7ZSsrKUQobGZbZV0sZCk7YnJlYWs7Y2FzZSBcInNvdXJjZVwiOkQoXCJlcnJvclwiLGQpO2JyZWFrO2Nhc2UgXCJpbWdcIjpjYXNlIFwiaW1hZ2VcIjpjYXNlIFwibGlua1wiOkQoXCJlcnJvclwiLFxuZCk7RChcImxvYWRcIixkKTticmVhaztjYXNlIFwiZGV0YWlsc1wiOkQoXCJ0b2dnbGVcIixkKTticmVhaztjYXNlIFwiaW5wdXRcIjpaYShkLGYpO0QoXCJpbnZhbGlkXCIsZCk7YnJlYWs7Y2FzZSBcInNlbGVjdFwiOmQuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFmLm11bHRpcGxlfTtEKFwiaW52YWxpZFwiLGQpO2JyZWFrO2Nhc2UgXCJ0ZXh0YXJlYVwiOmhiKGQsZiksRChcImludmFsaWRcIixkKX11YihjLGYpO2U9bnVsbDtmb3IodmFyIGcgaW4gZilpZihmLmhhc093blByb3BlcnR5KGcpKXt2YXIgaD1mW2ddO1wiY2hpbGRyZW5cIj09PWc/XCJzdHJpbmdcIj09PXR5cGVvZiBoP2QudGV4dENvbnRlbnQhPT1oJiYoITAhPT1mLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmQWYoZC50ZXh0Q29udGVudCxoLGEpLGU9W1wiY2hpbGRyZW5cIixoXSk6XCJudW1iZXJcIj09PXR5cGVvZiBoJiZkLnRleHRDb250ZW50IT09XCJcIitoJiYoITAhPT1mLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmQWYoZC50ZXh0Q29udGVudCxcbmgsYSksZT1bXCJjaGlsZHJlblwiLFwiXCIraF0pOmVhLmhhc093blByb3BlcnR5KGcpJiZudWxsIT1oJiZcIm9uU2Nyb2xsXCI9PT1nJiZEKFwic2Nyb2xsXCIsZCl9c3dpdGNoKGMpe2Nhc2UgXCJpbnB1dFwiOlZhKGQpO2RiKGQsZiwhMCk7YnJlYWs7Y2FzZSBcInRleHRhcmVhXCI6VmEoZCk7amIoZCk7YnJlYWs7Y2FzZSBcInNlbGVjdFwiOmNhc2UgXCJvcHRpb25cIjpicmVhaztkZWZhdWx0OlwiZnVuY3Rpb25cIj09PXR5cGVvZiBmLm9uQ2xpY2smJihkLm9uY2xpY2s9QmYpfWQ9ZTtiLnVwZGF0ZVF1ZXVlPWQ7bnVsbCE9PWQmJihiLmZsYWdzfD00KX1lbHNle2c9OT09PWUubm9kZVR5cGU/ZTplLm93bmVyRG9jdW1lbnQ7XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCI9PT1hJiYoYT1rYihjKSk7XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCI9PT1hP1wic2NyaXB0XCI9PT1jPyhhPWcuY3JlYXRlRWxlbWVudChcImRpdlwiKSxhLmlubmVySFRNTD1cIjxzY3JpcHQ+XFx4M2Mvc2NyaXB0PlwiLGE9YS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpKTpcblwic3RyaW5nXCI9PT10eXBlb2YgZC5pcz9hPWcuY3JlYXRlRWxlbWVudChjLHtpczpkLmlzfSk6KGE9Zy5jcmVhdGVFbGVtZW50KGMpLFwic2VsZWN0XCI9PT1jJiYoZz1hLGQubXVsdGlwbGU/Zy5tdWx0aXBsZT0hMDpkLnNpemUmJihnLnNpemU9ZC5zaXplKSkpOmE9Zy5jcmVhdGVFbGVtZW50TlMoYSxjKTthW09mXT1iO2FbUGZdPWQ7emooYSxiLCExLCExKTtiLnN0YXRlTm9kZT1hO2E6e2c9dmIoYyxkKTtzd2l0Y2goYyl7Y2FzZSBcImRpYWxvZ1wiOkQoXCJjYW5jZWxcIixhKTtEKFwiY2xvc2VcIixhKTtlPWQ7YnJlYWs7Y2FzZSBcImlmcmFtZVwiOmNhc2UgXCJvYmplY3RcIjpjYXNlIFwiZW1iZWRcIjpEKFwibG9hZFwiLGEpO2U9ZDticmVhaztjYXNlIFwidmlkZW9cIjpjYXNlIFwiYXVkaW9cIjpmb3IoZT0wO2U8bGYubGVuZ3RoO2UrKylEKGxmW2VdLGEpO2U9ZDticmVhaztjYXNlIFwic291cmNlXCI6RChcImVycm9yXCIsYSk7ZT1kO2JyZWFrO2Nhc2UgXCJpbWdcIjpjYXNlIFwiaW1hZ2VcIjpjYXNlIFwibGlua1wiOkQoXCJlcnJvclwiLFxuYSk7RChcImxvYWRcIixhKTtlPWQ7YnJlYWs7Y2FzZSBcImRldGFpbHNcIjpEKFwidG9nZ2xlXCIsYSk7ZT1kO2JyZWFrO2Nhc2UgXCJpbnB1dFwiOlphKGEsZCk7ZT1ZYShhLGQpO0QoXCJpbnZhbGlkXCIsYSk7YnJlYWs7Y2FzZSBcIm9wdGlvblwiOmU9ZDticmVhaztjYXNlIFwic2VsZWN0XCI6YS5fd3JhcHBlclN0YXRlPXt3YXNNdWx0aXBsZTohIWQubXVsdGlwbGV9O2U9QSh7fSxkLHt2YWx1ZTp2b2lkIDB9KTtEKFwiaW52YWxpZFwiLGEpO2JyZWFrO2Nhc2UgXCJ0ZXh0YXJlYVwiOmhiKGEsZCk7ZT1nYihhLGQpO0QoXCJpbnZhbGlkXCIsYSk7YnJlYWs7ZGVmYXVsdDplPWR9dWIoYyxlKTtoPWU7Zm9yKGYgaW4gaClpZihoLmhhc093blByb3BlcnR5KGYpKXt2YXIgaz1oW2ZdO1wic3R5bGVcIj09PWY/c2IoYSxrKTpcImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXCI9PT1mPyhrPWs/ay5fX2h0bWw6dm9pZCAwLG51bGwhPWsmJm5iKGEsaykpOlwiY2hpbGRyZW5cIj09PWY/XCJzdHJpbmdcIj09PXR5cGVvZiBrPyhcInRleHRhcmVhXCIhPT1cbmN8fFwiXCIhPT1rKSYmb2IoYSxrKTpcIm51bWJlclwiPT09dHlwZW9mIGsmJm9iKGEsXCJcIitrKTpcInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZ1wiIT09ZiYmXCJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmdcIiE9PWYmJlwiYXV0b0ZvY3VzXCIhPT1mJiYoZWEuaGFzT3duUHJvcGVydHkoZik/bnVsbCE9ayYmXCJvblNjcm9sbFwiPT09ZiYmRChcInNjcm9sbFwiLGEpOm51bGwhPWsmJnRhKGEsZixrLGcpKX1zd2l0Y2goYyl7Y2FzZSBcImlucHV0XCI6VmEoYSk7ZGIoYSxkLCExKTticmVhaztjYXNlIFwidGV4dGFyZWFcIjpWYShhKTtqYihhKTticmVhaztjYXNlIFwib3B0aW9uXCI6bnVsbCE9ZC52YWx1ZSYmYS5zZXRBdHRyaWJ1dGUoXCJ2YWx1ZVwiLFwiXCIrU2EoZC52YWx1ZSkpO2JyZWFrO2Nhc2UgXCJzZWxlY3RcIjphLm11bHRpcGxlPSEhZC5tdWx0aXBsZTtmPWQudmFsdWU7bnVsbCE9Zj9mYihhLCEhZC5tdWx0aXBsZSxmLCExKTpudWxsIT1kLmRlZmF1bHRWYWx1ZSYmZmIoYSwhIWQubXVsdGlwbGUsZC5kZWZhdWx0VmFsdWUsXG4hMCk7YnJlYWs7ZGVmYXVsdDpcImZ1bmN0aW9uXCI9PT10eXBlb2YgZS5vbkNsaWNrJiYoYS5vbmNsaWNrPUJmKX1zd2l0Y2goYyl7Y2FzZSBcImJ1dHRvblwiOmNhc2UgXCJpbnB1dFwiOmNhc2UgXCJzZWxlY3RcIjpjYXNlIFwidGV4dGFyZWFcIjpkPSEhZC5hdXRvRm9jdXM7YnJlYWsgYTtjYXNlIFwiaW1nXCI6ZD0hMDticmVhayBhO2RlZmF1bHQ6ZD0hMX19ZCYmKGIuZmxhZ3N8PTQpfW51bGwhPT1iLnJlZiYmKGIuZmxhZ3N8PTUxMixiLmZsYWdzfD0yMDk3MTUyKX1TKGIpO3JldHVybiBudWxsO2Nhc2UgNjppZihhJiZudWxsIT1iLnN0YXRlTm9kZSlDaihhLGIsYS5tZW1vaXplZFByb3BzLGQpO2Vsc2V7aWYoXCJzdHJpbmdcIiE9PXR5cGVvZiBkJiZudWxsPT09Yi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IocCgxNjYpKTtjPXhoKHdoLmN1cnJlbnQpO3hoKHVoLmN1cnJlbnQpO2lmKEdnKGIpKXtkPWIuc3RhdGVOb2RlO2M9Yi5tZW1vaXplZFByb3BzO2RbT2ZdPWI7aWYoZj1kLm5vZGVWYWx1ZSE9PWMpaWYoYT1cbnhnLG51bGwhPT1hKXN3aXRjaChhLnRhZyl7Y2FzZSAzOkFmKGQubm9kZVZhbHVlLGMsMCE9PShhLm1vZGUmMSkpO2JyZWFrO2Nhc2UgNTohMCE9PWEubWVtb2l6ZWRQcm9wcy5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcmJkFmKGQubm9kZVZhbHVlLGMsMCE9PShhLm1vZGUmMSkpfWYmJihiLmZsYWdzfD00KX1lbHNlIGQ9KDk9PT1jLm5vZGVUeXBlP2M6Yy5vd25lckRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShkKSxkW09mXT1iLGIuc3RhdGVOb2RlPWR9UyhiKTtyZXR1cm4gbnVsbDtjYXNlIDEzOkUoTCk7ZD1iLm1lbW9pemVkU3RhdGU7aWYobnVsbD09PWF8fG51bGwhPT1hLm1lbW9pemVkU3RhdGUmJm51bGwhPT1hLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZCl7aWYoSSYmbnVsbCE9PXlnJiYwIT09KGIubW9kZSYxKSYmMD09PShiLmZsYWdzJjEyOCkpSGcoKSxJZygpLGIuZmxhZ3N8PTk4NTYwLGY9ITE7ZWxzZSBpZihmPUdnKGIpLG51bGwhPT1kJiZudWxsIT09ZC5kZWh5ZHJhdGVkKXtpZihudWxsPT09XG5hKXtpZighZil0aHJvdyBFcnJvcihwKDMxOCkpO2Y9Yi5tZW1vaXplZFN0YXRlO2Y9bnVsbCE9PWY/Zi5kZWh5ZHJhdGVkOm51bGw7aWYoIWYpdGhyb3cgRXJyb3IocCgzMTcpKTtmW09mXT1ifWVsc2UgSWcoKSwwPT09KGIuZmxhZ3MmMTI4KSYmKGIubWVtb2l6ZWRTdGF0ZT1udWxsKSxiLmZsYWdzfD00O1MoYik7Zj0hMX1lbHNlIG51bGwhPT16ZyYmKEZqKHpnKSx6Zz1udWxsKSxmPSEwO2lmKCFmKXJldHVybiBiLmZsYWdzJjY1NTM2P2I6bnVsbH1pZigwIT09KGIuZmxhZ3MmMTI4KSlyZXR1cm4gYi5sYW5lcz1jLGI7ZD1udWxsIT09ZDtkIT09KG51bGwhPT1hJiZudWxsIT09YS5tZW1vaXplZFN0YXRlKSYmZCYmKGIuY2hpbGQuZmxhZ3N8PTgxOTIsMCE9PShiLm1vZGUmMSkmJihudWxsPT09YXx8MCE9PShMLmN1cnJlbnQmMSk/MD09PVQmJihUPTMpOnRqKCkpKTtudWxsIT09Yi51cGRhdGVRdWV1ZSYmKGIuZmxhZ3N8PTQpO1MoYik7cmV0dXJuIG51bGw7Y2FzZSA0OnJldHVybiB6aCgpLFxuQWooYSxiKSxudWxsPT09YSYmc2YoYi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksUyhiKSxudWxsO2Nhc2UgMTA6cmV0dXJuIGFoKGIudHlwZS5fY29udGV4dCksUyhiKSxudWxsO2Nhc2UgMTc6cmV0dXJuIFpmKGIudHlwZSkmJiRmKCksUyhiKSxudWxsO2Nhc2UgMTk6RShMKTtmPWIubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09ZilyZXR1cm4gUyhiKSxudWxsO2Q9MCE9PShiLmZsYWdzJjEyOCk7Zz1mLnJlbmRlcmluZztpZihudWxsPT09ZylpZihkKURqKGYsITEpO2Vsc2V7aWYoMCE9PVR8fG51bGwhPT1hJiYwIT09KGEuZmxhZ3MmMTI4KSlmb3IoYT1iLmNoaWxkO251bGwhPT1hOyl7Zz1DaChhKTtpZihudWxsIT09Zyl7Yi5mbGFnc3w9MTI4O0RqKGYsITEpO2Q9Zy51cGRhdGVRdWV1ZTtudWxsIT09ZCYmKGIudXBkYXRlUXVldWU9ZCxiLmZsYWdzfD00KTtiLnN1YnRyZWVGbGFncz0wO2Q9Yztmb3IoYz1iLmNoaWxkO251bGwhPT1jOylmPWMsYT1kLGYuZmxhZ3MmPTE0NjgwMDY2LFxuZz1mLmFsdGVybmF0ZSxudWxsPT09Zz8oZi5jaGlsZExhbmVzPTAsZi5sYW5lcz1hLGYuY2hpbGQ9bnVsbCxmLnN1YnRyZWVGbGFncz0wLGYubWVtb2l6ZWRQcm9wcz1udWxsLGYubWVtb2l6ZWRTdGF0ZT1udWxsLGYudXBkYXRlUXVldWU9bnVsbCxmLmRlcGVuZGVuY2llcz1udWxsLGYuc3RhdGVOb2RlPW51bGwpOihmLmNoaWxkTGFuZXM9Zy5jaGlsZExhbmVzLGYubGFuZXM9Zy5sYW5lcyxmLmNoaWxkPWcuY2hpbGQsZi5zdWJ0cmVlRmxhZ3M9MCxmLmRlbGV0aW9ucz1udWxsLGYubWVtb2l6ZWRQcm9wcz1nLm1lbW9pemVkUHJvcHMsZi5tZW1vaXplZFN0YXRlPWcubWVtb2l6ZWRTdGF0ZSxmLnVwZGF0ZVF1ZXVlPWcudXBkYXRlUXVldWUsZi50eXBlPWcudHlwZSxhPWcuZGVwZW5kZW5jaWVzLGYuZGVwZW5kZW5jaWVzPW51bGw9PT1hP251bGw6e2xhbmVzOmEubGFuZXMsZmlyc3RDb250ZXh0OmEuZmlyc3RDb250ZXh0fSksYz1jLnNpYmxpbmc7RyhMLEwuY3VycmVudCYxfDIpO3JldHVybiBiLmNoaWxkfWE9XG5hLnNpYmxpbmd9bnVsbCE9PWYudGFpbCYmQigpPkdqJiYoYi5mbGFnc3w9MTI4LGQ9ITAsRGooZiwhMSksYi5sYW5lcz00MTk0MzA0KX1lbHNle2lmKCFkKWlmKGE9Q2goZyksbnVsbCE9PWEpe2lmKGIuZmxhZ3N8PTEyOCxkPSEwLGM9YS51cGRhdGVRdWV1ZSxudWxsIT09YyYmKGIudXBkYXRlUXVldWU9YyxiLmZsYWdzfD00KSxEaihmLCEwKSxudWxsPT09Zi50YWlsJiZcImhpZGRlblwiPT09Zi50YWlsTW9kZSYmIWcuYWx0ZXJuYXRlJiYhSSlyZXR1cm4gUyhiKSxudWxsfWVsc2UgMipCKCktZi5yZW5kZXJpbmdTdGFydFRpbWU+R2omJjEwNzM3NDE4MjQhPT1jJiYoYi5mbGFnc3w9MTI4LGQ9ITAsRGooZiwhMSksYi5sYW5lcz00MTk0MzA0KTtmLmlzQmFja3dhcmRzPyhnLnNpYmxpbmc9Yi5jaGlsZCxiLmNoaWxkPWcpOihjPWYubGFzdCxudWxsIT09Yz9jLnNpYmxpbmc9ZzpiLmNoaWxkPWcsZi5sYXN0PWcpfWlmKG51bGwhPT1mLnRhaWwpcmV0dXJuIGI9Zi50YWlsLGYucmVuZGVyaW5nPVxuYixmLnRhaWw9Yi5zaWJsaW5nLGYucmVuZGVyaW5nU3RhcnRUaW1lPUIoKSxiLnNpYmxpbmc9bnVsbCxjPUwuY3VycmVudCxHKEwsZD9jJjF8MjpjJjEpLGI7UyhiKTtyZXR1cm4gbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIEhqKCksZD1udWxsIT09Yi5tZW1vaXplZFN0YXRlLG51bGwhPT1hJiZudWxsIT09YS5tZW1vaXplZFN0YXRlIT09ZCYmKGIuZmxhZ3N8PTgxOTIpLGQmJjAhPT0oYi5tb2RlJjEpPzAhPT0oZmomMTA3Mzc0MTgyNCkmJihTKGIpLGIuc3VidHJlZUZsYWdzJjYmJihiLmZsYWdzfD04MTkyKSk6UyhiKSxudWxsO2Nhc2UgMjQ6cmV0dXJuIG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbH10aHJvdyBFcnJvcihwKDE1NixiLnRhZykpO31cbmZ1bmN0aW9uIElqKGEsYil7d2coYik7c3dpdGNoKGIudGFnKXtjYXNlIDE6cmV0dXJuIFpmKGIudHlwZSkmJiRmKCksYT1iLmZsYWdzLGEmNjU1MzY/KGIuZmxhZ3M9YSYtNjU1Mzd8MTI4LGIpOm51bGw7Y2FzZSAzOnJldHVybiB6aCgpLEUoV2YpLEUoSCksRWgoKSxhPWIuZmxhZ3MsMCE9PShhJjY1NTM2KSYmMD09PShhJjEyOCk/KGIuZmxhZ3M9YSYtNjU1Mzd8MTI4LGIpOm51bGw7Y2FzZSA1OnJldHVybiBCaChiKSxudWxsO2Nhc2UgMTM6RShMKTthPWIubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09YSYmbnVsbCE9PWEuZGVoeWRyYXRlZCl7aWYobnVsbD09PWIuYWx0ZXJuYXRlKXRocm93IEVycm9yKHAoMzQwKSk7SWcoKX1hPWIuZmxhZ3M7cmV0dXJuIGEmNjU1MzY/KGIuZmxhZ3M9YSYtNjU1Mzd8MTI4LGIpOm51bGw7Y2FzZSAxOTpyZXR1cm4gRShMKSxudWxsO2Nhc2UgNDpyZXR1cm4gemgoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIGFoKGIudHlwZS5fY29udGV4dCksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIEhqKCksXG5udWxsO2Nhc2UgMjQ6cmV0dXJuIG51bGw7ZGVmYXVsdDpyZXR1cm4gbnVsbH19dmFyIEpqPSExLFU9ITEsS2o9XCJmdW5jdGlvblwiPT09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsVj1udWxsO2Z1bmN0aW9uIExqKGEsYil7dmFyIGM9YS5yZWY7aWYobnVsbCE9PWMpaWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGMpdHJ5e2MobnVsbCl9Y2F0Y2goZCl7VyhhLGIsZCl9ZWxzZSBjLmN1cnJlbnQ9bnVsbH1mdW5jdGlvbiBNaihhLGIsYyl7dHJ5e2MoKX1jYXRjaChkKXtXKGEsYixkKX19dmFyIE5qPSExO1xuZnVuY3Rpb24gT2ooYSxiKXtDZj1kZDthPU1lKCk7aWYoTmUoYSkpe2lmKFwic2VsZWN0aW9uU3RhcnRcImluIGEpdmFyIGM9e3N0YXJ0OmEuc2VsZWN0aW9uU3RhcnQsZW5kOmEuc2VsZWN0aW9uRW5kfTtlbHNlIGE6e2M9KGM9YS5vd25lckRvY3VtZW50KSYmYy5kZWZhdWx0Vmlld3x8d2luZG93O3ZhciBkPWMuZ2V0U2VsZWN0aW9uJiZjLmdldFNlbGVjdGlvbigpO2lmKGQmJjAhPT1kLnJhbmdlQ291bnQpe2M9ZC5hbmNob3JOb2RlO3ZhciBlPWQuYW5jaG9yT2Zmc2V0LGY9ZC5mb2N1c05vZGU7ZD1kLmZvY3VzT2Zmc2V0O3RyeXtjLm5vZGVUeXBlLGYubm9kZVR5cGV9Y2F0Y2goRil7Yz1udWxsO2JyZWFrIGF9dmFyIGc9MCxoPS0xLGs9LTEsbD0wLG09MCxxPWEscj1udWxsO2I6Zm9yKDs7KXtmb3IodmFyIHk7Oyl7cSE9PWN8fDAhPT1lJiYzIT09cS5ub2RlVHlwZXx8KGg9ZytlKTtxIT09Znx8MCE9PWQmJjMhPT1xLm5vZGVUeXBlfHwoaz1nK2QpOzM9PT1xLm5vZGVUeXBlJiYoZys9XG5xLm5vZGVWYWx1ZS5sZW5ndGgpO2lmKG51bGw9PT0oeT1xLmZpcnN0Q2hpbGQpKWJyZWFrO3I9cTtxPXl9Zm9yKDs7KXtpZihxPT09YSlicmVhayBiO3I9PT1jJiYrK2w9PT1lJiYoaD1nKTtyPT09ZiYmKyttPT09ZCYmKGs9Zyk7aWYobnVsbCE9PSh5PXEubmV4dFNpYmxpbmcpKWJyZWFrO3E9cjtyPXEucGFyZW50Tm9kZX1xPXl9Yz0tMT09PWh8fC0xPT09az9udWxsOntzdGFydDpoLGVuZDprfX1lbHNlIGM9bnVsbH1jPWN8fHtzdGFydDowLGVuZDowfX1lbHNlIGM9bnVsbDtEZj17Zm9jdXNlZEVsZW06YSxzZWxlY3Rpb25SYW5nZTpjfTtkZD0hMTtmb3IoVj1iO251bGwhPT1WOylpZihiPVYsYT1iLmNoaWxkLDAhPT0oYi5zdWJ0cmVlRmxhZ3MmMTAyOCkmJm51bGwhPT1hKWEucmV0dXJuPWIsVj1hO2Vsc2UgZm9yKDtudWxsIT09Vjspe2I9Vjt0cnl7dmFyIG49Yi5hbHRlcm5hdGU7aWYoMCE9PShiLmZsYWdzJjEwMjQpKXN3aXRjaChiLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpicmVhaztcbmNhc2UgMTppZihudWxsIT09bil7dmFyIHQ9bi5tZW1vaXplZFByb3BzLEo9bi5tZW1vaXplZFN0YXRlLHg9Yi5zdGF0ZU5vZGUsdz14LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKGIuZWxlbWVudFR5cGU9PT1iLnR5cGU/dDpDaShiLnR5cGUsdCksSik7eC5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZT13fWJyZWFrO2Nhc2UgMzp2YXIgdT1iLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOzE9PT11Lm5vZGVUeXBlP3UudGV4dENvbnRlbnQ9XCJcIjo5PT09dS5ub2RlVHlwZSYmdS5kb2N1bWVudEVsZW1lbnQmJnUucmVtb3ZlQ2hpbGQodS5kb2N1bWVudEVsZW1lbnQpO2JyZWFrO2Nhc2UgNTpjYXNlIDY6Y2FzZSA0OmNhc2UgMTc6YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihwKDE2MykpO319Y2F0Y2goRil7VyhiLGIucmV0dXJuLEYpfWE9Yi5zaWJsaW5nO2lmKG51bGwhPT1hKXthLnJldHVybj1iLnJldHVybjtWPWE7YnJlYWt9Vj1iLnJldHVybn1uPU5qO05qPSExO3JldHVybiBufVxuZnVuY3Rpb24gUGooYSxiLGMpe3ZhciBkPWIudXBkYXRlUXVldWU7ZD1udWxsIT09ZD9kLmxhc3RFZmZlY3Q6bnVsbDtpZihudWxsIT09ZCl7dmFyIGU9ZD1kLm5leHQ7ZG97aWYoKGUudGFnJmEpPT09YSl7dmFyIGY9ZS5kZXN0cm95O2UuZGVzdHJveT12b2lkIDA7dm9pZCAwIT09ZiYmTWooYixjLGYpfWU9ZS5uZXh0fXdoaWxlKGUhPT1kKX19ZnVuY3Rpb24gUWooYSxiKXtiPWIudXBkYXRlUXVldWU7Yj1udWxsIT09Yj9iLmxhc3RFZmZlY3Q6bnVsbDtpZihudWxsIT09Yil7dmFyIGM9Yj1iLm5leHQ7ZG97aWYoKGMudGFnJmEpPT09YSl7dmFyIGQ9Yy5jcmVhdGU7Yy5kZXN0cm95PWQoKX1jPWMubmV4dH13aGlsZShjIT09Yil9fWZ1bmN0aW9uIFJqKGEpe3ZhciBiPWEucmVmO2lmKG51bGwhPT1iKXt2YXIgYz1hLnN0YXRlTm9kZTtzd2l0Y2goYS50YWcpe2Nhc2UgNTphPWM7YnJlYWs7ZGVmYXVsdDphPWN9XCJmdW5jdGlvblwiPT09dHlwZW9mIGI/YihhKTpiLmN1cnJlbnQ9YX19XG5mdW5jdGlvbiBTaihhKXt2YXIgYj1hLmFsdGVybmF0ZTtudWxsIT09YiYmKGEuYWx0ZXJuYXRlPW51bGwsU2ooYikpO2EuY2hpbGQ9bnVsbDthLmRlbGV0aW9ucz1udWxsO2Euc2libGluZz1udWxsOzU9PT1hLnRhZyYmKGI9YS5zdGF0ZU5vZGUsbnVsbCE9PWImJihkZWxldGUgYltPZl0sZGVsZXRlIGJbUGZdLGRlbGV0ZSBiW29mXSxkZWxldGUgYltRZl0sZGVsZXRlIGJbUmZdKSk7YS5zdGF0ZU5vZGU9bnVsbDthLnJldHVybj1udWxsO2EuZGVwZW5kZW5jaWVzPW51bGw7YS5tZW1vaXplZFByb3BzPW51bGw7YS5tZW1vaXplZFN0YXRlPW51bGw7YS5wZW5kaW5nUHJvcHM9bnVsbDthLnN0YXRlTm9kZT1udWxsO2EudXBkYXRlUXVldWU9bnVsbH1mdW5jdGlvbiBUaihhKXtyZXR1cm4gNT09PWEudGFnfHwzPT09YS50YWd8fDQ9PT1hLnRhZ31cbmZ1bmN0aW9uIFVqKGEpe2E6Zm9yKDs7KXtmb3IoO251bGw9PT1hLnNpYmxpbmc7KXtpZihudWxsPT09YS5yZXR1cm58fFRqKGEucmV0dXJuKSlyZXR1cm4gbnVsbDthPWEucmV0dXJufWEuc2libGluZy5yZXR1cm49YS5yZXR1cm47Zm9yKGE9YS5zaWJsaW5nOzUhPT1hLnRhZyYmNiE9PWEudGFnJiYxOCE9PWEudGFnOyl7aWYoYS5mbGFncyYyKWNvbnRpbnVlIGE7aWYobnVsbD09PWEuY2hpbGR8fDQ9PT1hLnRhZyljb250aW51ZSBhO2Vsc2UgYS5jaGlsZC5yZXR1cm49YSxhPWEuY2hpbGR9aWYoIShhLmZsYWdzJjIpKXJldHVybiBhLnN0YXRlTm9kZX19XG5mdW5jdGlvbiBWaihhLGIsYyl7dmFyIGQ9YS50YWc7aWYoNT09PWR8fDY9PT1kKWE9YS5zdGF0ZU5vZGUsYj84PT09Yy5ub2RlVHlwZT9jLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsYik6Yy5pbnNlcnRCZWZvcmUoYSxiKTooOD09PWMubm9kZVR5cGU/KGI9Yy5wYXJlbnROb2RlLGIuaW5zZXJ0QmVmb3JlKGEsYykpOihiPWMsYi5hcHBlbmRDaGlsZChhKSksYz1jLl9yZWFjdFJvb3RDb250YWluZXIsbnVsbCE9PWMmJnZvaWQgMCE9PWN8fG51bGwhPT1iLm9uY2xpY2t8fChiLm9uY2xpY2s9QmYpKTtlbHNlIGlmKDQhPT1kJiYoYT1hLmNoaWxkLG51bGwhPT1hKSlmb3IoVmooYSxiLGMpLGE9YS5zaWJsaW5nO251bGwhPT1hOylWaihhLGIsYyksYT1hLnNpYmxpbmd9XG5mdW5jdGlvbiBXaihhLGIsYyl7dmFyIGQ9YS50YWc7aWYoNT09PWR8fDY9PT1kKWE9YS5zdGF0ZU5vZGUsYj9jLmluc2VydEJlZm9yZShhLGIpOmMuYXBwZW5kQ2hpbGQoYSk7ZWxzZSBpZig0IT09ZCYmKGE9YS5jaGlsZCxudWxsIT09YSkpZm9yKFdqKGEsYixjKSxhPWEuc2libGluZztudWxsIT09YTspV2ooYSxiLGMpLGE9YS5zaWJsaW5nfXZhciBYPW51bGwsWGo9ITE7ZnVuY3Rpb24gWWooYSxiLGMpe2ZvcihjPWMuY2hpbGQ7bnVsbCE9PWM7KVpqKGEsYixjKSxjPWMuc2libGluZ31cbmZ1bmN0aW9uIFpqKGEsYixjKXtpZihsYyYmXCJmdW5jdGlvblwiPT09dHlwZW9mIGxjLm9uQ29tbWl0RmliZXJVbm1vdW50KXRyeXtsYy5vbkNvbW1pdEZpYmVyVW5tb3VudChrYyxjKX1jYXRjaChoKXt9c3dpdGNoKGMudGFnKXtjYXNlIDU6VXx8TGooYyxiKTtjYXNlIDY6dmFyIGQ9WCxlPVhqO1g9bnVsbDtZaihhLGIsYyk7WD1kO1hqPWU7bnVsbCE9PVgmJihYaj8oYT1YLGM9Yy5zdGF0ZU5vZGUsOD09PWEubm9kZVR5cGU/YS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpOmEucmVtb3ZlQ2hpbGQoYykpOlgucmVtb3ZlQ2hpbGQoYy5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDE4Om51bGwhPT1YJiYoWGo/KGE9WCxjPWMuc3RhdGVOb2RlLDg9PT1hLm5vZGVUeXBlP0tmKGEucGFyZW50Tm9kZSxjKToxPT09YS5ub2RlVHlwZSYmS2YoYSxjKSxiZChhKSk6S2YoWCxjLnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpkPVg7ZT1YajtYPWMuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87WGo9ITA7XG5ZaihhLGIsYyk7WD1kO1hqPWU7YnJlYWs7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OmlmKCFVJiYoZD1jLnVwZGF0ZVF1ZXVlLG51bGwhPT1kJiYoZD1kLmxhc3RFZmZlY3QsbnVsbCE9PWQpKSl7ZT1kPWQubmV4dDtkb3t2YXIgZj1lLGc9Zi5kZXN0cm95O2Y9Zi50YWc7dm9pZCAwIT09ZyYmKDAhPT0oZiYyKT9NaihjLGIsZyk6MCE9PShmJjQpJiZNaihjLGIsZykpO2U9ZS5uZXh0fXdoaWxlKGUhPT1kKX1ZaihhLGIsYyk7YnJlYWs7Y2FzZSAxOmlmKCFVJiYoTGooYyxiKSxkPWMuc3RhdGVOb2RlLFwiZnVuY3Rpb25cIj09PXR5cGVvZiBkLmNvbXBvbmVudFdpbGxVbm1vdW50KSl0cnl7ZC5wcm9wcz1jLm1lbW9pemVkUHJvcHMsZC5zdGF0ZT1jLm1lbW9pemVkU3RhdGUsZC5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKGgpe1coYyxiLGgpfVlqKGEsYixjKTticmVhaztjYXNlIDIxOllqKGEsYixjKTticmVhaztjYXNlIDIyOmMubW9kZSYxPyhVPShkPVUpfHxudWxsIT09XG5jLm1lbW9pemVkU3RhdGUsWWooYSxiLGMpLFU9ZCk6WWooYSxiLGMpO2JyZWFrO2RlZmF1bHQ6WWooYSxiLGMpfX1mdW5jdGlvbiBhayhhKXt2YXIgYj1hLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT1iKXthLnVwZGF0ZVF1ZXVlPW51bGw7dmFyIGM9YS5zdGF0ZU5vZGU7bnVsbD09PWMmJihjPWEuc3RhdGVOb2RlPW5ldyBLaik7Yi5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciBkPWJrLmJpbmQobnVsbCxhLGIpO2MuaGFzKGIpfHwoYy5hZGQoYiksYi50aGVuKGQsZCkpfSl9fVxuZnVuY3Rpb24gY2soYSxiKXt2YXIgYz1iLmRlbGV0aW9ucztpZihudWxsIT09Yylmb3IodmFyIGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9Y1tkXTt0cnl7dmFyIGY9YSxnPWIsaD1nO2E6Zm9yKDtudWxsIT09aDspe3N3aXRjaChoLnRhZyl7Y2FzZSA1Olg9aC5zdGF0ZU5vZGU7WGo9ITE7YnJlYWsgYTtjYXNlIDM6WD1oLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1hqPSEwO2JyZWFrIGE7Y2FzZSA0Olg9aC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztYaj0hMDticmVhayBhfWg9aC5yZXR1cm59aWYobnVsbD09PVgpdGhyb3cgRXJyb3IocCgxNjApKTtaaihmLGcsZSk7WD1udWxsO1hqPSExO3ZhciBrPWUuYWx0ZXJuYXRlO251bGwhPT1rJiYoay5yZXR1cm49bnVsbCk7ZS5yZXR1cm49bnVsbH1jYXRjaChsKXtXKGUsYixsKX19aWYoYi5zdWJ0cmVlRmxhZ3MmMTI4NTQpZm9yKGI9Yi5jaGlsZDtudWxsIT09YjspZGsoYixhKSxiPWIuc2libGluZ31cbmZ1bmN0aW9uIGRrKGEsYil7dmFyIGM9YS5hbHRlcm5hdGUsZD1hLmZsYWdzO3N3aXRjaChhLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OmNrKGIsYSk7ZWsoYSk7aWYoZCY0KXt0cnl7UGooMyxhLGEucmV0dXJuKSxRaigzLGEpfWNhdGNoKHQpe1coYSxhLnJldHVybix0KX10cnl7UGooNSxhLGEucmV0dXJuKX1jYXRjaCh0KXtXKGEsYS5yZXR1cm4sdCl9fWJyZWFrO2Nhc2UgMTpjayhiLGEpO2VrKGEpO2QmNTEyJiZudWxsIT09YyYmTGooYyxjLnJldHVybik7YnJlYWs7Y2FzZSA1OmNrKGIsYSk7ZWsoYSk7ZCY1MTImJm51bGwhPT1jJiZMaihjLGMucmV0dXJuKTtpZihhLmZsYWdzJjMyKXt2YXIgZT1hLnN0YXRlTm9kZTt0cnl7b2IoZSxcIlwiKX1jYXRjaCh0KXtXKGEsYS5yZXR1cm4sdCl9fWlmKGQmNCYmKGU9YS5zdGF0ZU5vZGUsbnVsbCE9ZSkpe3ZhciBmPWEubWVtb2l6ZWRQcm9wcyxnPW51bGwhPT1jP2MubWVtb2l6ZWRQcm9wczpmLGg9YS50eXBlLGs9YS51cGRhdGVRdWV1ZTtcbmEudXBkYXRlUXVldWU9bnVsbDtpZihudWxsIT09ayl0cnl7XCJpbnB1dFwiPT09aCYmXCJyYWRpb1wiPT09Zi50eXBlJiZudWxsIT1mLm5hbWUmJmFiKGUsZik7dmIoaCxnKTt2YXIgbD12YihoLGYpO2ZvcihnPTA7ZzxrLmxlbmd0aDtnKz0yKXt2YXIgbT1rW2ddLHE9a1tnKzFdO1wic3R5bGVcIj09PW0/c2IoZSxxKTpcImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXCI9PT1tP25iKGUscSk6XCJjaGlsZHJlblwiPT09bT9vYihlLHEpOnRhKGUsbSxxLGwpfXN3aXRjaChoKXtjYXNlIFwiaW5wdXRcIjpiYihlLGYpO2JyZWFrO2Nhc2UgXCJ0ZXh0YXJlYVwiOmliKGUsZik7YnJlYWs7Y2FzZSBcInNlbGVjdFwiOnZhciByPWUuX3dyYXBwZXJTdGF0ZS53YXNNdWx0aXBsZTtlLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU9ISFmLm11bHRpcGxlO3ZhciB5PWYudmFsdWU7bnVsbCE9eT9mYihlLCEhZi5tdWx0aXBsZSx5LCExKTpyIT09ISFmLm11bHRpcGxlJiYobnVsbCE9Zi5kZWZhdWx0VmFsdWU/ZmIoZSwhIWYubXVsdGlwbGUsXG5mLmRlZmF1bHRWYWx1ZSwhMCk6ZmIoZSwhIWYubXVsdGlwbGUsZi5tdWx0aXBsZT9bXTpcIlwiLCExKSl9ZVtQZl09Zn1jYXRjaCh0KXtXKGEsYS5yZXR1cm4sdCl9fWJyZWFrO2Nhc2UgNjpjayhiLGEpO2VrKGEpO2lmKGQmNCl7aWYobnVsbD09PWEuc3RhdGVOb2RlKXRocm93IEVycm9yKHAoMTYyKSk7ZT1hLnN0YXRlTm9kZTtmPWEubWVtb2l6ZWRQcm9wczt0cnl7ZS5ub2RlVmFsdWU9Zn1jYXRjaCh0KXtXKGEsYS5yZXR1cm4sdCl9fWJyZWFrO2Nhc2UgMzpjayhiLGEpO2VrKGEpO2lmKGQmNCYmbnVsbCE9PWMmJmMubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e2JkKGIuY29udGFpbmVySW5mbyl9Y2F0Y2godCl7VyhhLGEucmV0dXJuLHQpfWJyZWFrO2Nhc2UgNDpjayhiLGEpO2VrKGEpO2JyZWFrO2Nhc2UgMTM6Y2soYixhKTtlayhhKTtlPWEuY2hpbGQ7ZS5mbGFncyY4MTkyJiYoZj1udWxsIT09ZS5tZW1vaXplZFN0YXRlLGUuc3RhdGVOb2RlLmlzSGlkZGVuPWYsIWZ8fFxubnVsbCE9PWUuYWx0ZXJuYXRlJiZudWxsIT09ZS5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZXx8KGZrPUIoKSkpO2QmNCYmYWsoYSk7YnJlYWs7Y2FzZSAyMjptPW51bGwhPT1jJiZudWxsIT09Yy5tZW1vaXplZFN0YXRlO2EubW9kZSYxPyhVPShsPVUpfHxtLGNrKGIsYSksVT1sKTpjayhiLGEpO2VrKGEpO2lmKGQmODE5Mil7bD1udWxsIT09YS5tZW1vaXplZFN0YXRlO2lmKChhLnN0YXRlTm9kZS5pc0hpZGRlbj1sKSYmIW0mJjAhPT0oYS5tb2RlJjEpKWZvcihWPWEsbT1hLmNoaWxkO251bGwhPT1tOyl7Zm9yKHE9Vj1tO251bGwhPT1WOyl7cj1WO3k9ci5jaGlsZDtzd2l0Y2goci50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTpQaig0LHIsci5yZXR1cm4pO2JyZWFrO2Nhc2UgMTpMaihyLHIucmV0dXJuKTt2YXIgbj1yLnN0YXRlTm9kZTtpZihcImZ1bmN0aW9uXCI9PT10eXBlb2Ygbi5jb21wb25lbnRXaWxsVW5tb3VudCl7ZD1yO2M9ci5yZXR1cm47dHJ5e2I9ZCxuLnByb3BzPVxuYi5tZW1vaXplZFByb3BzLG4uc3RhdGU9Yi5tZW1vaXplZFN0YXRlLG4uY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaCh0KXtXKGQsYyx0KX19YnJlYWs7Y2FzZSA1OkxqKHIsci5yZXR1cm4pO2JyZWFrO2Nhc2UgMjI6aWYobnVsbCE9PXIubWVtb2l6ZWRTdGF0ZSl7Z2socSk7Y29udGludWV9fW51bGwhPT15Pyh5LnJldHVybj1yLFY9eSk6Z2socSl9bT1tLnNpYmxpbmd9YTpmb3IobT1udWxsLHE9YTs7KXtpZig1PT09cS50YWcpe2lmKG51bGw9PT1tKXttPXE7dHJ5e2U9cS5zdGF0ZU5vZGUsbD8oZj1lLnN0eWxlLFwiZnVuY3Rpb25cIj09PXR5cGVvZiBmLnNldFByb3BlcnR5P2Yuc2V0UHJvcGVydHkoXCJkaXNwbGF5XCIsXCJub25lXCIsXCJpbXBvcnRhbnRcIik6Zi5kaXNwbGF5PVwibm9uZVwiKTooaD1xLnN0YXRlTm9kZSxrPXEubWVtb2l6ZWRQcm9wcy5zdHlsZSxnPXZvaWQgMCE9PWsmJm51bGwhPT1rJiZrLmhhc093blByb3BlcnR5KFwiZGlzcGxheVwiKT9rLmRpc3BsYXk6bnVsbCxoLnN0eWxlLmRpc3BsYXk9XG5yYihcImRpc3BsYXlcIixnKSl9Y2F0Y2godCl7VyhhLGEucmV0dXJuLHQpfX19ZWxzZSBpZig2PT09cS50YWcpe2lmKG51bGw9PT1tKXRyeXtxLnN0YXRlTm9kZS5ub2RlVmFsdWU9bD9cIlwiOnEubWVtb2l6ZWRQcm9wc31jYXRjaCh0KXtXKGEsYS5yZXR1cm4sdCl9fWVsc2UgaWYoKDIyIT09cS50YWcmJjIzIT09cS50YWd8fG51bGw9PT1xLm1lbW9pemVkU3RhdGV8fHE9PT1hKSYmbnVsbCE9PXEuY2hpbGQpe3EuY2hpbGQucmV0dXJuPXE7cT1xLmNoaWxkO2NvbnRpbnVlfWlmKHE9PT1hKWJyZWFrIGE7Zm9yKDtudWxsPT09cS5zaWJsaW5nOyl7aWYobnVsbD09PXEucmV0dXJufHxxLnJldHVybj09PWEpYnJlYWsgYTttPT09cSYmKG09bnVsbCk7cT1xLnJldHVybn1tPT09cSYmKG09bnVsbCk7cS5zaWJsaW5nLnJldHVybj1xLnJldHVybjtxPXEuc2libGluZ319YnJlYWs7Y2FzZSAxOTpjayhiLGEpO2VrKGEpO2QmNCYmYWsoYSk7YnJlYWs7Y2FzZSAyMTpicmVhaztkZWZhdWx0OmNrKGIsXG5hKSxlayhhKX19ZnVuY3Rpb24gZWsoYSl7dmFyIGI9YS5mbGFncztpZihiJjIpe3RyeXthOntmb3IodmFyIGM9YS5yZXR1cm47bnVsbCE9PWM7KXtpZihUaihjKSl7dmFyIGQ9YzticmVhayBhfWM9Yy5yZXR1cm59dGhyb3cgRXJyb3IocCgxNjApKTt9c3dpdGNoKGQudGFnKXtjYXNlIDU6dmFyIGU9ZC5zdGF0ZU5vZGU7ZC5mbGFncyYzMiYmKG9iKGUsXCJcIiksZC5mbGFncyY9LTMzKTt2YXIgZj1VaihhKTtXaihhLGYsZSk7YnJlYWs7Y2FzZSAzOmNhc2UgNDp2YXIgZz1kLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLGg9VWooYSk7VmooYSxoLGcpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IocCgxNjEpKTt9fWNhdGNoKGspe1coYSxhLnJldHVybixrKX1hLmZsYWdzJj0tM31iJjQwOTYmJihhLmZsYWdzJj0tNDA5Nyl9ZnVuY3Rpb24gaGsoYSxiLGMpe1Y9YTtpayhhLGIsYyl9XG5mdW5jdGlvbiBpayhhLGIsYyl7Zm9yKHZhciBkPTAhPT0oYS5tb2RlJjEpO251bGwhPT1WOyl7dmFyIGU9VixmPWUuY2hpbGQ7aWYoMjI9PT1lLnRhZyYmZCl7dmFyIGc9bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZXx8Smo7aWYoIWcpe3ZhciBoPWUuYWx0ZXJuYXRlLGs9bnVsbCE9PWgmJm51bGwhPT1oLm1lbW9pemVkU3RhdGV8fFU7aD1Kajt2YXIgbD1VO0pqPWc7aWYoKFU9aykmJiFsKWZvcihWPWU7bnVsbCE9PVY7KWc9VixrPWcuY2hpbGQsMjI9PT1nLnRhZyYmbnVsbCE9PWcubWVtb2l6ZWRTdGF0ZT9qayhlKTpudWxsIT09az8oay5yZXR1cm49ZyxWPWspOmprKGUpO2Zvcig7bnVsbCE9PWY7KVY9ZixpayhmLGIsYyksZj1mLnNpYmxpbmc7Vj1lO0pqPWg7VT1sfWtrKGEsYixjKX1lbHNlIDAhPT0oZS5zdWJ0cmVlRmxhZ3MmODc3MikmJm51bGwhPT1mPyhmLnJldHVybj1lLFY9Zik6a2soYSxiLGMpfX1cbmZ1bmN0aW9uIGtrKGEpe2Zvcig7bnVsbCE9PVY7KXt2YXIgYj1WO2lmKDAhPT0oYi5mbGFncyY4NzcyKSl7dmFyIGM9Yi5hbHRlcm5hdGU7dHJ5e2lmKDAhPT0oYi5mbGFncyY4NzcyKSlzd2l0Y2goYi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6VXx8UWooNSxiKTticmVhaztjYXNlIDE6dmFyIGQ9Yi5zdGF0ZU5vZGU7aWYoYi5mbGFncyY0JiYhVSlpZihudWxsPT09YylkLmNvbXBvbmVudERpZE1vdW50KCk7ZWxzZXt2YXIgZT1iLmVsZW1lbnRUeXBlPT09Yi50eXBlP2MubWVtb2l6ZWRQcm9wczpDaShiLnR5cGUsYy5tZW1vaXplZFByb3BzKTtkLmNvbXBvbmVudERpZFVwZGF0ZShlLGMubWVtb2l6ZWRTdGF0ZSxkLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX12YXIgZj1iLnVwZGF0ZVF1ZXVlO251bGwhPT1mJiZzaChiLGYsZCk7YnJlYWs7Y2FzZSAzOnZhciBnPWIudXBkYXRlUXVldWU7aWYobnVsbCE9PWcpe2M9bnVsbDtpZihudWxsIT09Yi5jaGlsZClzd2l0Y2goYi5jaGlsZC50YWcpe2Nhc2UgNTpjPVxuYi5jaGlsZC5zdGF0ZU5vZGU7YnJlYWs7Y2FzZSAxOmM9Yi5jaGlsZC5zdGF0ZU5vZGV9c2goYixnLGMpfWJyZWFrO2Nhc2UgNTp2YXIgaD1iLnN0YXRlTm9kZTtpZihudWxsPT09YyYmYi5mbGFncyY0KXtjPWg7dmFyIGs9Yi5tZW1vaXplZFByb3BzO3N3aXRjaChiLnR5cGUpe2Nhc2UgXCJidXR0b25cIjpjYXNlIFwiaW5wdXRcIjpjYXNlIFwic2VsZWN0XCI6Y2FzZSBcInRleHRhcmVhXCI6ay5hdXRvRm9jdXMmJmMuZm9jdXMoKTticmVhaztjYXNlIFwiaW1nXCI6ay5zcmMmJihjLnNyYz1rLnNyYyl9fWJyZWFrO2Nhc2UgNjpicmVhaztjYXNlIDQ6YnJlYWs7Y2FzZSAxMjpicmVhaztjYXNlIDEzOmlmKG51bGw9PT1iLm1lbW9pemVkU3RhdGUpe3ZhciBsPWIuYWx0ZXJuYXRlO2lmKG51bGwhPT1sKXt2YXIgbT1sLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PW0pe3ZhciBxPW0uZGVoeWRyYXRlZDtudWxsIT09cSYmYmQocSl9fX1icmVhaztjYXNlIDE5OmNhc2UgMTc6Y2FzZSAyMTpjYXNlIDIyOmNhc2UgMjM6Y2FzZSAyNTpicmVhaztcbmRlZmF1bHQ6dGhyb3cgRXJyb3IocCgxNjMpKTt9VXx8Yi5mbGFncyY1MTImJlJqKGIpfWNhdGNoKHIpe1coYixiLnJldHVybixyKX19aWYoYj09PWEpe1Y9bnVsbDticmVha31jPWIuc2libGluZztpZihudWxsIT09Yyl7Yy5yZXR1cm49Yi5yZXR1cm47Vj1jO2JyZWFrfVY9Yi5yZXR1cm59fWZ1bmN0aW9uIGdrKGEpe2Zvcig7bnVsbCE9PVY7KXt2YXIgYj1WO2lmKGI9PT1hKXtWPW51bGw7YnJlYWt9dmFyIGM9Yi5zaWJsaW5nO2lmKG51bGwhPT1jKXtjLnJldHVybj1iLnJldHVybjtWPWM7YnJlYWt9Vj1iLnJldHVybn19XG5mdW5jdGlvbiBqayhhKXtmb3IoO251bGwhPT1WOyl7dmFyIGI9Vjt0cnl7c3dpdGNoKGIudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnZhciBjPWIucmV0dXJuO3RyeXtRaig0LGIpfWNhdGNoKGspe1coYixjLGspfWJyZWFrO2Nhc2UgMTp2YXIgZD1iLnN0YXRlTm9kZTtpZihcImZ1bmN0aW9uXCI9PT10eXBlb2YgZC5jb21wb25lbnREaWRNb3VudCl7dmFyIGU9Yi5yZXR1cm47dHJ5e2QuY29tcG9uZW50RGlkTW91bnQoKX1jYXRjaChrKXtXKGIsZSxrKX19dmFyIGY9Yi5yZXR1cm47dHJ5e1JqKGIpfWNhdGNoKGspe1coYixmLGspfWJyZWFrO2Nhc2UgNTp2YXIgZz1iLnJldHVybjt0cnl7UmooYil9Y2F0Y2goayl7VyhiLGcsayl9fX1jYXRjaChrKXtXKGIsYi5yZXR1cm4sayl9aWYoYj09PWEpe1Y9bnVsbDticmVha312YXIgaD1iLnNpYmxpbmc7aWYobnVsbCE9PWgpe2gucmV0dXJuPWIucmV0dXJuO1Y9aDticmVha31WPWIucmV0dXJufX1cbnZhciBsaz1NYXRoLmNlaWwsbWs9dWEuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixuaz11YS5SZWFjdEN1cnJlbnRPd25lcixvaz11YS5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxLPTAsUT1udWxsLFk9bnVsbCxaPTAsZmo9MCxlaj1VZigwKSxUPTAscGs9bnVsbCxyaD0wLHFrPTAscms9MCxzaz1udWxsLHRrPW51bGwsZms9MCxHaj1JbmZpbml0eSx1az1udWxsLE9pPSExLFBpPW51bGwsUmk9bnVsbCx2az0hMSx3az1udWxsLHhrPTAseWs9MCx6az1udWxsLEFrPS0xLEJrPTA7ZnVuY3Rpb24gUigpe3JldHVybiAwIT09KEsmNik/QigpOi0xIT09QWs/QWs6QWs9QigpfVxuZnVuY3Rpb24geWkoYSl7aWYoMD09PShhLm1vZGUmMSkpcmV0dXJuIDE7aWYoMCE9PShLJjIpJiYwIT09WilyZXR1cm4gWiYtWjtpZihudWxsIT09S2cudHJhbnNpdGlvbilyZXR1cm4gMD09PUJrJiYoQms9eWMoKSksQms7YT1DO2lmKDAhPT1hKXJldHVybiBhO2E9d2luZG93LmV2ZW50O2E9dm9pZCAwPT09YT8xNjpqZChhLnR5cGUpO3JldHVybiBhfWZ1bmN0aW9uIGdpKGEsYixjLGQpe2lmKDUwPHlrKXRocm93IHlrPTAsems9bnVsbCxFcnJvcihwKDE4NSkpO0FjKGEsYyxkKTtpZigwPT09KEsmMil8fGEhPT1RKWE9PT1RJiYoMD09PShLJjIpJiYocWt8PWMpLDQ9PT1UJiZDayhhLFopKSxEayhhLGQpLDE9PT1jJiYwPT09SyYmMD09PShiLm1vZGUmMSkmJihHaj1CKCkrNTAwLGZnJiZqZygpKX1cbmZ1bmN0aW9uIERrKGEsYil7dmFyIGM9YS5jYWxsYmFja05vZGU7d2MoYSxiKTt2YXIgZD11YyhhLGE9PT1RP1o6MCk7aWYoMD09PWQpbnVsbCE9PWMmJmJjKGMpLGEuY2FsbGJhY2tOb2RlPW51bGwsYS5jYWxsYmFja1ByaW9yaXR5PTA7ZWxzZSBpZihiPWQmLWQsYS5jYWxsYmFja1ByaW9yaXR5IT09Yil7bnVsbCE9YyYmYmMoYyk7aWYoMT09PWIpMD09PWEudGFnP2lnKEVrLmJpbmQobnVsbCxhKSk6aGcoRWsuYmluZChudWxsLGEpKSxKZihmdW5jdGlvbigpezA9PT0oSyY2KSYmamcoKX0pLGM9bnVsbDtlbHNle3N3aXRjaChEYyhkKSl7Y2FzZSAxOmM9ZmM7YnJlYWs7Y2FzZSA0OmM9Z2M7YnJlYWs7Y2FzZSAxNjpjPWhjO2JyZWFrO2Nhc2UgNTM2ODcwOTEyOmM9amM7YnJlYWs7ZGVmYXVsdDpjPWhjfWM9RmsoYyxHay5iaW5kKG51bGwsYSkpfWEuY2FsbGJhY2tQcmlvcml0eT1iO2EuY2FsbGJhY2tOb2RlPWN9fVxuZnVuY3Rpb24gR2soYSxiKXtBaz0tMTtCaz0wO2lmKDAhPT0oSyY2KSl0aHJvdyBFcnJvcihwKDMyNykpO3ZhciBjPWEuY2FsbGJhY2tOb2RlO2lmKEhrKCkmJmEuY2FsbGJhY2tOb2RlIT09YylyZXR1cm4gbnVsbDt2YXIgZD11YyhhLGE9PT1RP1o6MCk7aWYoMD09PWQpcmV0dXJuIG51bGw7aWYoMCE9PShkJjMwKXx8MCE9PShkJmEuZXhwaXJlZExhbmVzKXx8YiliPUlrKGEsZCk7ZWxzZXtiPWQ7dmFyIGU9SztLfD0yO3ZhciBmPUprKCk7aWYoUSE9PWF8fFohPT1iKXVrPW51bGwsR2o9QigpKzUwMCxLayhhLGIpO2RvIHRyeXtMaygpO2JyZWFrfWNhdGNoKGgpe01rKGEsaCl9d2hpbGUoMSk7JGcoKTttay5jdXJyZW50PWY7Sz1lO251bGwhPT1ZP2I9MDooUT1udWxsLFo9MCxiPVQpfWlmKDAhPT1iKXsyPT09YiYmKGU9eGMoYSksMCE9PWUmJihkPWUsYj1OayhhLGUpKSk7aWYoMT09PWIpdGhyb3cgYz1wayxLayhhLDApLENrKGEsZCksRGsoYSxCKCkpLGM7aWYoNj09PWIpQ2soYSxkKTtcbmVsc2V7ZT1hLmN1cnJlbnQuYWx0ZXJuYXRlO2lmKDA9PT0oZCYzMCkmJiFPayhlKSYmKGI9SWsoYSxkKSwyPT09YiYmKGY9eGMoYSksMCE9PWYmJihkPWYsYj1OayhhLGYpKSksMT09PWIpKXRocm93IGM9cGssS2soYSwwKSxDayhhLGQpLERrKGEsQigpKSxjO2EuZmluaXNoZWRXb3JrPWU7YS5maW5pc2hlZExhbmVzPWQ7c3dpdGNoKGIpe2Nhc2UgMDpjYXNlIDE6dGhyb3cgRXJyb3IocCgzNDUpKTtjYXNlIDI6UGsoYSx0ayx1ayk7YnJlYWs7Y2FzZSAzOkNrKGEsZCk7aWYoKGQmMTMwMDIzNDI0KT09PWQmJihiPWZrKzUwMC1CKCksMTA8Yikpe2lmKDAhPT11YyhhLDApKWJyZWFrO2U9YS5zdXNwZW5kZWRMYW5lcztpZigoZSZkKSE9PWQpe1IoKTthLnBpbmdlZExhbmVzfD1hLnN1c3BlbmRlZExhbmVzJmU7YnJlYWt9YS50aW1lb3V0SGFuZGxlPUZmKFBrLmJpbmQobnVsbCxhLHRrLHVrKSxiKTticmVha31QayhhLHRrLHVrKTticmVhaztjYXNlIDQ6Q2soYSxkKTtpZigoZCY0MTk0MjQwKT09PVxuZClicmVhaztiPWEuZXZlbnRUaW1lcztmb3IoZT0tMTswPGQ7KXt2YXIgZz0zMS1vYyhkKTtmPTE8PGc7Zz1iW2ddO2c+ZSYmKGU9Zyk7ZCY9fmZ9ZD1lO2Q9QigpLWQ7ZD0oMTIwPmQ/MTIwOjQ4MD5kPzQ4MDoxMDgwPmQ/MTA4MDoxOTIwPmQ/MTkyMDozRTM+ZD8zRTM6NDMyMD5kPzQzMjA6MTk2MCpsayhkLzE5NjApKS1kO2lmKDEwPGQpe2EudGltZW91dEhhbmRsZT1GZihQay5iaW5kKG51bGwsYSx0ayx1ayksZCk7YnJlYWt9UGsoYSx0ayx1ayk7YnJlYWs7Y2FzZSA1OlBrKGEsdGssdWspO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IocCgzMjkpKTt9fX1EayhhLEIoKSk7cmV0dXJuIGEuY2FsbGJhY2tOb2RlPT09Yz9Hay5iaW5kKG51bGwsYSk6bnVsbH1cbmZ1bmN0aW9uIE5rKGEsYil7dmFyIGM9c2s7YS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYoS2soYSxiKS5mbGFnc3w9MjU2KTthPUlrKGEsYik7MiE9PWEmJihiPXRrLHRrPWMsbnVsbCE9PWImJkZqKGIpKTtyZXR1cm4gYX1mdW5jdGlvbiBGaihhKXtudWxsPT09dGs/dGs9YTp0ay5wdXNoLmFwcGx5KHRrLGEpfVxuZnVuY3Rpb24gT2soYSl7Zm9yKHZhciBiPWE7Oyl7aWYoYi5mbGFncyYxNjM4NCl7dmFyIGM9Yi51cGRhdGVRdWV1ZTtpZihudWxsIT09YyYmKGM9Yy5zdG9yZXMsbnVsbCE9PWMpKWZvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZT1jW2RdLGY9ZS5nZXRTbmFwc2hvdDtlPWUudmFsdWU7dHJ5e2lmKCFIZShmKCksZSkpcmV0dXJuITF9Y2F0Y2goZyl7cmV0dXJuITF9fX1jPWIuY2hpbGQ7aWYoYi5zdWJ0cmVlRmxhZ3MmMTYzODQmJm51bGwhPT1jKWMucmV0dXJuPWIsYj1jO2Vsc2V7aWYoYj09PWEpYnJlYWs7Zm9yKDtudWxsPT09Yi5zaWJsaW5nOyl7aWYobnVsbD09PWIucmV0dXJufHxiLnJldHVybj09PWEpcmV0dXJuITA7Yj1iLnJldHVybn1iLnNpYmxpbmcucmV0dXJuPWIucmV0dXJuO2I9Yi5zaWJsaW5nfX1yZXR1cm4hMH1cbmZ1bmN0aW9uIENrKGEsYil7YiY9fnJrO2ImPX5xazthLnN1c3BlbmRlZExhbmVzfD1iO2EucGluZ2VkTGFuZXMmPX5iO2ZvcihhPWEuZXhwaXJhdGlvblRpbWVzOzA8Yjspe3ZhciBjPTMxLW9jKGIpLGQ9MTw8YzthW2NdPS0xO2ImPX5kfX1mdW5jdGlvbiBFayhhKXtpZigwIT09KEsmNikpdGhyb3cgRXJyb3IocCgzMjcpKTtIaygpO3ZhciBiPXVjKGEsMCk7aWYoMD09PShiJjEpKXJldHVybiBEayhhLEIoKSksbnVsbDt2YXIgYz1JayhhLGIpO2lmKDAhPT1hLnRhZyYmMj09PWMpe3ZhciBkPXhjKGEpOzAhPT1kJiYoYj1kLGM9TmsoYSxkKSl9aWYoMT09PWMpdGhyb3cgYz1wayxLayhhLDApLENrKGEsYiksRGsoYSxCKCkpLGM7aWYoNj09PWMpdGhyb3cgRXJyb3IocCgzNDUpKTthLmZpbmlzaGVkV29yaz1hLmN1cnJlbnQuYWx0ZXJuYXRlO2EuZmluaXNoZWRMYW5lcz1iO1BrKGEsdGssdWspO0RrKGEsQigpKTtyZXR1cm4gbnVsbH1cbmZ1bmN0aW9uIFFrKGEsYil7dmFyIGM9SztLfD0xO3RyeXtyZXR1cm4gYShiKX1maW5hbGx5e0s9YywwPT09SyYmKEdqPUIoKSs1MDAsZmcmJmpnKCkpfX1mdW5jdGlvbiBSayhhKXtudWxsIT09d2smJjA9PT13ay50YWcmJjA9PT0oSyY2KSYmSGsoKTt2YXIgYj1LO0t8PTE7dmFyIGM9b2sudHJhbnNpdGlvbixkPUM7dHJ5e2lmKG9rLnRyYW5zaXRpb249bnVsbCxDPTEsYSlyZXR1cm4gYSgpfWZpbmFsbHl7Qz1kLG9rLnRyYW5zaXRpb249YyxLPWIsMD09PShLJjYpJiZqZygpfX1mdW5jdGlvbiBIaigpe2ZqPWVqLmN1cnJlbnQ7RShlail9XG5mdW5jdGlvbiBLayhhLGIpe2EuZmluaXNoZWRXb3JrPW51bGw7YS5maW5pc2hlZExhbmVzPTA7dmFyIGM9YS50aW1lb3V0SGFuZGxlOy0xIT09YyYmKGEudGltZW91dEhhbmRsZT0tMSxHZihjKSk7aWYobnVsbCE9PVkpZm9yKGM9WS5yZXR1cm47bnVsbCE9PWM7KXt2YXIgZD1jO3dnKGQpO3N3aXRjaChkLnRhZyl7Y2FzZSAxOmQ9ZC50eXBlLmNoaWxkQ29udGV4dFR5cGVzO251bGwhPT1kJiZ2b2lkIDAhPT1kJiYkZigpO2JyZWFrO2Nhc2UgMzp6aCgpO0UoV2YpO0UoSCk7RWgoKTticmVhaztjYXNlIDU6QmgoZCk7YnJlYWs7Y2FzZSA0OnpoKCk7YnJlYWs7Y2FzZSAxMzpFKEwpO2JyZWFrO2Nhc2UgMTk6RShMKTticmVhaztjYXNlIDEwOmFoKGQudHlwZS5fY29udGV4dCk7YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOkhqKCl9Yz1jLnJldHVybn1RPWE7WT1hPVBnKGEuY3VycmVudCxudWxsKTtaPWZqPWI7VD0wO3BrPW51bGw7cms9cWs9cmg9MDt0az1zaz1udWxsO2lmKG51bGwhPT1maCl7Zm9yKGI9XG4wO2I8ZmgubGVuZ3RoO2IrKylpZihjPWZoW2JdLGQ9Yy5pbnRlcmxlYXZlZCxudWxsIT09ZCl7Yy5pbnRlcmxlYXZlZD1udWxsO3ZhciBlPWQubmV4dCxmPWMucGVuZGluZztpZihudWxsIT09Zil7dmFyIGc9Zi5uZXh0O2YubmV4dD1lO2QubmV4dD1nfWMucGVuZGluZz1kfWZoPW51bGx9cmV0dXJuIGF9XG5mdW5jdGlvbiBNayhhLGIpe2Rve3ZhciBjPVk7dHJ5eyRnKCk7RmguY3VycmVudD1SaDtpZihJaCl7Zm9yKHZhciBkPU0ubWVtb2l6ZWRTdGF0ZTtudWxsIT09ZDspe3ZhciBlPWQucXVldWU7bnVsbCE9PWUmJihlLnBlbmRpbmc9bnVsbCk7ZD1kLm5leHR9SWg9ITF9SGg9MDtPPU49TT1udWxsO0poPSExO0toPTA7bmsuY3VycmVudD1udWxsO2lmKG51bGw9PT1jfHxudWxsPT09Yy5yZXR1cm4pe1Q9MTtwaz1iO1k9bnVsbDticmVha31hOnt2YXIgZj1hLGc9Yy5yZXR1cm4saD1jLGs9YjtiPVo7aC5mbGFnc3w9MzI3Njg7aWYobnVsbCE9PWsmJlwib2JqZWN0XCI9PT10eXBlb2YgayYmXCJmdW5jdGlvblwiPT09dHlwZW9mIGsudGhlbil7dmFyIGw9ayxtPWgscT1tLnRhZztpZigwPT09KG0ubW9kZSYxKSYmKDA9PT1xfHwxMT09PXF8fDE1PT09cSkpe3ZhciByPW0uYWx0ZXJuYXRlO3I/KG0udXBkYXRlUXVldWU9ci51cGRhdGVRdWV1ZSxtLm1lbW9pemVkU3RhdGU9ci5tZW1vaXplZFN0YXRlLFxubS5sYW5lcz1yLmxhbmVzKToobS51cGRhdGVRdWV1ZT1udWxsLG0ubWVtb2l6ZWRTdGF0ZT1udWxsKX12YXIgeT1VaShnKTtpZihudWxsIT09eSl7eS5mbGFncyY9LTI1NztWaSh5LGcsaCxmLGIpO3kubW9kZSYxJiZTaShmLGwsYik7Yj15O2s9bDt2YXIgbj1iLnVwZGF0ZVF1ZXVlO2lmKG51bGw9PT1uKXt2YXIgdD1uZXcgU2V0O3QuYWRkKGspO2IudXBkYXRlUXVldWU9dH1lbHNlIG4uYWRkKGspO2JyZWFrIGF9ZWxzZXtpZigwPT09KGImMSkpe1NpKGYsbCxiKTt0aigpO2JyZWFrIGF9az1FcnJvcihwKDQyNikpfX1lbHNlIGlmKEkmJmgubW9kZSYxKXt2YXIgSj1VaShnKTtpZihudWxsIT09Sil7MD09PShKLmZsYWdzJjY1NTM2KSYmKEouZmxhZ3N8PTI1Nik7VmkoSixnLGgsZixiKTtKZyhKaShrLGgpKTticmVhayBhfX1mPWs9SmkoayxoKTs0IT09VCYmKFQ9Mik7bnVsbD09PXNrP3NrPVtmXTpzay5wdXNoKGYpO2Y9Zztkb3tzd2l0Y2goZi50YWcpe2Nhc2UgMzpmLmZsYWdzfD02NTUzNjtcbmImPS1iO2YubGFuZXN8PWI7dmFyIHg9TmkoZixrLGIpO3BoKGYseCk7YnJlYWsgYTtjYXNlIDE6aD1rO3ZhciB3PWYudHlwZSx1PWYuc3RhdGVOb2RlO2lmKDA9PT0oZi5mbGFncyYxMjgpJiYoXCJmdW5jdGlvblwiPT09dHlwZW9mIHcuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yfHxudWxsIT09dSYmXCJmdW5jdGlvblwiPT09dHlwZW9mIHUuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09Uml8fCFSaS5oYXModSkpKSl7Zi5mbGFnc3w9NjU1MzY7YiY9LWI7Zi5sYW5lc3w9Yjt2YXIgRj1RaShmLGgsYik7cGgoZixGKTticmVhayBhfX1mPWYucmV0dXJufXdoaWxlKG51bGwhPT1mKX1TayhjKX1jYXRjaChuYSl7Yj1uYTtZPT09YyYmbnVsbCE9PWMmJihZPWM9Yy5yZXR1cm4pO2NvbnRpbnVlfWJyZWFrfXdoaWxlKDEpfWZ1bmN0aW9uIEprKCl7dmFyIGE9bWsuY3VycmVudDttay5jdXJyZW50PVJoO3JldHVybiBudWxsPT09YT9SaDphfVxuZnVuY3Rpb24gdGooKXtpZigwPT09VHx8Mz09PVR8fDI9PT1UKVQ9NDtudWxsPT09UXx8MD09PShyaCYyNjg0MzU0NTUpJiYwPT09KHFrJjI2ODQzNTQ1NSl8fENrKFEsWil9ZnVuY3Rpb24gSWsoYSxiKXt2YXIgYz1LO0t8PTI7dmFyIGQ9SmsoKTtpZihRIT09YXx8WiE9PWIpdWs9bnVsbCxLayhhLGIpO2RvIHRyeXtUaygpO2JyZWFrfWNhdGNoKGUpe01rKGEsZSl9d2hpbGUoMSk7JGcoKTtLPWM7bWsuY3VycmVudD1kO2lmKG51bGwhPT1ZKXRocm93IEVycm9yKHAoMjYxKSk7UT1udWxsO1o9MDtyZXR1cm4gVH1mdW5jdGlvbiBUaygpe2Zvcig7bnVsbCE9PVk7KVVrKFkpfWZ1bmN0aW9uIExrKCl7Zm9yKDtudWxsIT09WSYmIWNjKCk7KVVrKFkpfWZ1bmN0aW9uIFVrKGEpe3ZhciBiPVZrKGEuYWx0ZXJuYXRlLGEsZmopO2EubWVtb2l6ZWRQcm9wcz1hLnBlbmRpbmdQcm9wcztudWxsPT09Yj9TayhhKTpZPWI7bmsuY3VycmVudD1udWxsfVxuZnVuY3Rpb24gU2soYSl7dmFyIGI9YTtkb3t2YXIgYz1iLmFsdGVybmF0ZTthPWIucmV0dXJuO2lmKDA9PT0oYi5mbGFncyYzMjc2OCkpe2lmKGM9RWooYyxiLGZqKSxudWxsIT09Yyl7WT1jO3JldHVybn19ZWxzZXtjPUlqKGMsYik7aWYobnVsbCE9PWMpe2MuZmxhZ3MmPTMyNzY3O1k9YztyZXR1cm59aWYobnVsbCE9PWEpYS5mbGFnc3w9MzI3NjgsYS5zdWJ0cmVlRmxhZ3M9MCxhLmRlbGV0aW9ucz1udWxsO2Vsc2V7VD02O1k9bnVsbDtyZXR1cm59fWI9Yi5zaWJsaW5nO2lmKG51bGwhPT1iKXtZPWI7cmV0dXJufVk9Yj1hfXdoaWxlKG51bGwhPT1iKTswPT09VCYmKFQ9NSl9ZnVuY3Rpb24gUGsoYSxiLGMpe3ZhciBkPUMsZT1vay50cmFuc2l0aW9uO3RyeXtvay50cmFuc2l0aW9uPW51bGwsQz0xLFdrKGEsYixjLGQpfWZpbmFsbHl7b2sudHJhbnNpdGlvbj1lLEM9ZH1yZXR1cm4gbnVsbH1cbmZ1bmN0aW9uIFdrKGEsYixjLGQpe2RvIEhrKCk7d2hpbGUobnVsbCE9PXdrKTtpZigwIT09KEsmNikpdGhyb3cgRXJyb3IocCgzMjcpKTtjPWEuZmluaXNoZWRXb3JrO3ZhciBlPWEuZmluaXNoZWRMYW5lcztpZihudWxsPT09YylyZXR1cm4gbnVsbDthLmZpbmlzaGVkV29yaz1udWxsO2EuZmluaXNoZWRMYW5lcz0wO2lmKGM9PT1hLmN1cnJlbnQpdGhyb3cgRXJyb3IocCgxNzcpKTthLmNhbGxiYWNrTm9kZT1udWxsO2EuY2FsbGJhY2tQcmlvcml0eT0wO3ZhciBmPWMubGFuZXN8Yy5jaGlsZExhbmVzO0JjKGEsZik7YT09PVEmJihZPVE9bnVsbCxaPTApOzA9PT0oYy5zdWJ0cmVlRmxhZ3MmMjA2NCkmJjA9PT0oYy5mbGFncyYyMDY0KXx8dmt8fCh2az0hMCxGayhoYyxmdW5jdGlvbigpe0hrKCk7cmV0dXJuIG51bGx9KSk7Zj0wIT09KGMuZmxhZ3MmMTU5OTApO2lmKDAhPT0oYy5zdWJ0cmVlRmxhZ3MmMTU5OTApfHxmKXtmPW9rLnRyYW5zaXRpb247b2sudHJhbnNpdGlvbj1udWxsO1xudmFyIGc9QztDPTE7dmFyIGg9SztLfD00O25rLmN1cnJlbnQ9bnVsbDtPaihhLGMpO2RrKGMsYSk7T2UoRGYpO2RkPSEhQ2Y7RGY9Q2Y9bnVsbDthLmN1cnJlbnQ9YztoayhjLGEsZSk7ZGMoKTtLPWg7Qz1nO29rLnRyYW5zaXRpb249Zn1lbHNlIGEuY3VycmVudD1jO3ZrJiYodms9ITEsd2s9YSx4az1lKTtmPWEucGVuZGluZ0xhbmVzOzA9PT1mJiYoUmk9bnVsbCk7bWMoYy5zdGF0ZU5vZGUsZCk7RGsoYSxCKCkpO2lmKG51bGwhPT1iKWZvcihkPWEub25SZWNvdmVyYWJsZUVycm9yLGM9MDtjPGIubGVuZ3RoO2MrKyllPWJbY10sZChlLnZhbHVlLHtjb21wb25lbnRTdGFjazplLnN0YWNrLGRpZ2VzdDplLmRpZ2VzdH0pO2lmKE9pKXRocm93IE9pPSExLGE9UGksUGk9bnVsbCxhOzAhPT0oeGsmMSkmJjAhPT1hLnRhZyYmSGsoKTtmPWEucGVuZGluZ0xhbmVzOzAhPT0oZiYxKT9hPT09ems/eWsrKzooeWs9MCx6az1hKTp5az0wO2pnKCk7cmV0dXJuIG51bGx9XG5mdW5jdGlvbiBIaygpe2lmKG51bGwhPT13ayl7dmFyIGE9RGMoeGspLGI9b2sudHJhbnNpdGlvbixjPUM7dHJ5e29rLnRyYW5zaXRpb249bnVsbDtDPTE2PmE/MTY6YTtpZihudWxsPT09d2spdmFyIGQ9ITE7ZWxzZXthPXdrO3drPW51bGw7eGs9MDtpZigwIT09KEsmNikpdGhyb3cgRXJyb3IocCgzMzEpKTt2YXIgZT1LO0t8PTQ7Zm9yKFY9YS5jdXJyZW50O251bGwhPT1WOyl7dmFyIGY9VixnPWYuY2hpbGQ7aWYoMCE9PShWLmZsYWdzJjE2KSl7dmFyIGg9Zi5kZWxldGlvbnM7aWYobnVsbCE9PWgpe2Zvcih2YXIgaz0wO2s8aC5sZW5ndGg7aysrKXt2YXIgbD1oW2tdO2ZvcihWPWw7bnVsbCE9PVY7KXt2YXIgbT1WO3N3aXRjaChtLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpQaig4LG0sZil9dmFyIHE9bS5jaGlsZDtpZihudWxsIT09cSlxLnJldHVybj1tLFY9cTtlbHNlIGZvcig7bnVsbCE9PVY7KXttPVY7dmFyIHI9bS5zaWJsaW5nLHk9bS5yZXR1cm47U2oobSk7aWYobT09PVxubCl7Vj1udWxsO2JyZWFrfWlmKG51bGwhPT1yKXtyLnJldHVybj15O1Y9cjticmVha31WPXl9fX12YXIgbj1mLmFsdGVybmF0ZTtpZihudWxsIT09bil7dmFyIHQ9bi5jaGlsZDtpZihudWxsIT09dCl7bi5jaGlsZD1udWxsO2Rve3ZhciBKPXQuc2libGluZzt0LnNpYmxpbmc9bnVsbDt0PUp9d2hpbGUobnVsbCE9PXQpfX1WPWZ9fWlmKDAhPT0oZi5zdWJ0cmVlRmxhZ3MmMjA2NCkmJm51bGwhPT1nKWcucmV0dXJuPWYsVj1nO2Vsc2UgYjpmb3IoO251bGwhPT1WOyl7Zj1WO2lmKDAhPT0oZi5mbGFncyYyMDQ4KSlzd2l0Y2goZi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6UGooOSxmLGYucmV0dXJuKX12YXIgeD1mLnNpYmxpbmc7aWYobnVsbCE9PXgpe3gucmV0dXJuPWYucmV0dXJuO1Y9eDticmVhayBifVY9Zi5yZXR1cm59fXZhciB3PWEuY3VycmVudDtmb3IoVj13O251bGwhPT1WOyl7Zz1WO3ZhciB1PWcuY2hpbGQ7aWYoMCE9PShnLnN1YnRyZWVGbGFncyYyMDY0KSYmbnVsbCE9PVxudSl1LnJldHVybj1nLFY9dTtlbHNlIGI6Zm9yKGc9dztudWxsIT09Vjspe2g9VjtpZigwIT09KGguZmxhZ3MmMjA0OCkpdHJ5e3N3aXRjaChoLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpRaig5LGgpfX1jYXRjaChuYSl7VyhoLGgucmV0dXJuLG5hKX1pZihoPT09Zyl7Vj1udWxsO2JyZWFrIGJ9dmFyIEY9aC5zaWJsaW5nO2lmKG51bGwhPT1GKXtGLnJldHVybj1oLnJldHVybjtWPUY7YnJlYWsgYn1WPWgucmV0dXJufX1LPWU7amcoKTtpZihsYyYmXCJmdW5jdGlvblwiPT09dHlwZW9mIGxjLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7bGMub25Qb3N0Q29tbWl0RmliZXJSb290KGtjLGEpfWNhdGNoKG5hKXt9ZD0hMH1yZXR1cm4gZH1maW5hbGx5e0M9Yyxvay50cmFuc2l0aW9uPWJ9fXJldHVybiExfWZ1bmN0aW9uIFhrKGEsYixjKXtiPUppKGMsYik7Yj1OaShhLGIsMSk7YT1uaChhLGIsMSk7Yj1SKCk7bnVsbCE9PWEmJihBYyhhLDEsYiksRGsoYSxiKSl9XG5mdW5jdGlvbiBXKGEsYixjKXtpZigzPT09YS50YWcpWGsoYSxhLGMpO2Vsc2UgZm9yKDtudWxsIT09Yjspe2lmKDM9PT1iLnRhZyl7WGsoYixhLGMpO2JyZWFrfWVsc2UgaWYoMT09PWIudGFnKXt2YXIgZD1iLnN0YXRlTm9kZTtpZihcImZ1bmN0aW9uXCI9PT10eXBlb2YgYi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8XCJmdW5jdGlvblwiPT09dHlwZW9mIGQuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09Uml8fCFSaS5oYXMoZCkpKXthPUppKGMsYSk7YT1RaShiLGEsMSk7Yj1uaChiLGEsMSk7YT1SKCk7bnVsbCE9PWImJihBYyhiLDEsYSksRGsoYixhKSk7YnJlYWt9fWI9Yi5yZXR1cm59fVxuZnVuY3Rpb24gVGkoYSxiLGMpe3ZhciBkPWEucGluZ0NhY2hlO251bGwhPT1kJiZkLmRlbGV0ZShiKTtiPVIoKTthLnBpbmdlZExhbmVzfD1hLnN1c3BlbmRlZExhbmVzJmM7UT09PWEmJihaJmMpPT09YyYmKDQ9PT1UfHwzPT09VCYmKFomMTMwMDIzNDI0KT09PVomJjUwMD5CKCktZms/S2soYSwwKTpya3w9Yyk7RGsoYSxiKX1mdW5jdGlvbiBZayhhLGIpezA9PT1iJiYoMD09PShhLm1vZGUmMSk/Yj0xOihiPXNjLHNjPDw9MSwwPT09KHNjJjEzMDAyMzQyNCkmJihzYz00MTk0MzA0KSkpO3ZhciBjPVIoKTthPWloKGEsYik7bnVsbCE9PWEmJihBYyhhLGIsYyksRGsoYSxjKSl9ZnVuY3Rpb24gdWooYSl7dmFyIGI9YS5tZW1vaXplZFN0YXRlLGM9MDtudWxsIT09YiYmKGM9Yi5yZXRyeUxhbmUpO1lrKGEsYyl9XG5mdW5jdGlvbiBiayhhLGIpe3ZhciBjPTA7c3dpdGNoKGEudGFnKXtjYXNlIDEzOnZhciBkPWEuc3RhdGVOb2RlO3ZhciBlPWEubWVtb2l6ZWRTdGF0ZTtudWxsIT09ZSYmKGM9ZS5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6ZD1hLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHAoMzE0KSk7fW51bGwhPT1kJiZkLmRlbGV0ZShiKTtZayhhLGMpfXZhciBWaztcblZrPWZ1bmN0aW9uKGEsYixjKXtpZihudWxsIT09YSlpZihhLm1lbW9pemVkUHJvcHMhPT1iLnBlbmRpbmdQcm9wc3x8V2YuY3VycmVudClkaD0hMDtlbHNle2lmKDA9PT0oYS5sYW5lcyZjKSYmMD09PShiLmZsYWdzJjEyOCkpcmV0dXJuIGRoPSExLHlqKGEsYixjKTtkaD0wIT09KGEuZmxhZ3MmMTMxMDcyKT8hMDohMX1lbHNlIGRoPSExLEkmJjAhPT0oYi5mbGFncyYxMDQ4NTc2KSYmdWcoYixuZyxiLmluZGV4KTtiLmxhbmVzPTA7c3dpdGNoKGIudGFnKXtjYXNlIDI6dmFyIGQ9Yi50eXBlO2lqKGEsYik7YT1iLnBlbmRpbmdQcm9wczt2YXIgZT1ZZihiLEguY3VycmVudCk7Y2goYixjKTtlPU5oKG51bGwsYixkLGEsZSxjKTt2YXIgZj1TaCgpO2IuZmxhZ3N8PTE7XCJvYmplY3RcIj09PXR5cGVvZiBlJiZudWxsIT09ZSYmXCJmdW5jdGlvblwiPT09dHlwZW9mIGUucmVuZGVyJiZ2b2lkIDA9PT1lLiQkdHlwZW9mPyhiLnRhZz0xLGIubWVtb2l6ZWRTdGF0ZT1udWxsLGIudXBkYXRlUXVldWU9XG5udWxsLFpmKGQpPyhmPSEwLGNnKGIpKTpmPSExLGIubWVtb2l6ZWRTdGF0ZT1udWxsIT09ZS5zdGF0ZSYmdm9pZCAwIT09ZS5zdGF0ZT9lLnN0YXRlOm51bGwsa2goYiksZS51cGRhdGVyPUVpLGIuc3RhdGVOb2RlPWUsZS5fcmVhY3RJbnRlcm5hbHM9YixJaShiLGQsYSxjKSxiPWpqKG51bGwsYixkLCEwLGYsYykpOihiLnRhZz0wLEkmJmYmJnZnKGIpLFhpKG51bGwsYixlLGMpLGI9Yi5jaGlsZCk7cmV0dXJuIGI7Y2FzZSAxNjpkPWIuZWxlbWVudFR5cGU7YTp7aWooYSxiKTthPWIucGVuZGluZ1Byb3BzO2U9ZC5faW5pdDtkPWUoZC5fcGF5bG9hZCk7Yi50eXBlPWQ7ZT1iLnRhZz1aayhkKTthPUNpKGQsYSk7c3dpdGNoKGUpe2Nhc2UgMDpiPWNqKG51bGwsYixkLGEsYyk7YnJlYWsgYTtjYXNlIDE6Yj1oaihudWxsLGIsZCxhLGMpO2JyZWFrIGE7Y2FzZSAxMTpiPVlpKG51bGwsYixkLGEsYyk7YnJlYWsgYTtjYXNlIDE0OmI9JGkobnVsbCxiLGQsQ2koZC50eXBlLGEpLGMpO2JyZWFrIGF9dGhyb3cgRXJyb3IocCgzMDYsXG5kLFwiXCIpKTt9cmV0dXJuIGI7Y2FzZSAwOnJldHVybiBkPWIudHlwZSxlPWIucGVuZGluZ1Byb3BzLGU9Yi5lbGVtZW50VHlwZT09PWQ/ZTpDaShkLGUpLGNqKGEsYixkLGUsYyk7Y2FzZSAxOnJldHVybiBkPWIudHlwZSxlPWIucGVuZGluZ1Byb3BzLGU9Yi5lbGVtZW50VHlwZT09PWQ/ZTpDaShkLGUpLGhqKGEsYixkLGUsYyk7Y2FzZSAzOmE6e2tqKGIpO2lmKG51bGw9PT1hKXRocm93IEVycm9yKHAoMzg3KSk7ZD1iLnBlbmRpbmdQcm9wcztmPWIubWVtb2l6ZWRTdGF0ZTtlPWYuZWxlbWVudDtsaChhLGIpO3FoKGIsZCxudWxsLGMpO3ZhciBnPWIubWVtb2l6ZWRTdGF0ZTtkPWcuZWxlbWVudDtpZihmLmlzRGVoeWRyYXRlZClpZihmPXtlbGVtZW50OmQsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOmcuY2FjaGUscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpnLnBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXMsdHJhbnNpdGlvbnM6Zy50cmFuc2l0aW9uc30sYi51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9XG5mLGIubWVtb2l6ZWRTdGF0ZT1mLGIuZmxhZ3MmMjU2KXtlPUppKEVycm9yKHAoNDIzKSksYik7Yj1saihhLGIsZCxjLGUpO2JyZWFrIGF9ZWxzZSBpZihkIT09ZSl7ZT1KaShFcnJvcihwKDQyNCkpLGIpO2I9bGooYSxiLGQsYyxlKTticmVhayBhfWVsc2UgZm9yKHlnPUxmKGIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8uZmlyc3RDaGlsZCkseGc9YixJPSEwLHpnPW51bGwsYz1WZyhiLG51bGwsZCxjKSxiLmNoaWxkPWM7YzspYy5mbGFncz1jLmZsYWdzJi0zfDQwOTYsYz1jLnNpYmxpbmc7ZWxzZXtJZygpO2lmKGQ9PT1lKXtiPVppKGEsYixjKTticmVhayBhfVhpKGEsYixkLGMpfWI9Yi5jaGlsZH1yZXR1cm4gYjtjYXNlIDU6cmV0dXJuIEFoKGIpLG51bGw9PT1hJiZFZyhiKSxkPWIudHlwZSxlPWIucGVuZGluZ1Byb3BzLGY9bnVsbCE9PWE/YS5tZW1vaXplZFByb3BzOm51bGwsZz1lLmNoaWxkcmVuLEVmKGQsZSk/Zz1udWxsOm51bGwhPT1mJiZFZihkLGYpJiYoYi5mbGFnc3w9MzIpLFxuZ2ooYSxiKSxYaShhLGIsZyxjKSxiLmNoaWxkO2Nhc2UgNjpyZXR1cm4gbnVsbD09PWEmJkVnKGIpLG51bGw7Y2FzZSAxMzpyZXR1cm4gb2ooYSxiLGMpO2Nhc2UgNDpyZXR1cm4geWgoYixiLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxkPWIucGVuZGluZ1Byb3BzLG51bGw9PT1hP2IuY2hpbGQ9VWcoYixudWxsLGQsYyk6WGkoYSxiLGQsYyksYi5jaGlsZDtjYXNlIDExOnJldHVybiBkPWIudHlwZSxlPWIucGVuZGluZ1Byb3BzLGU9Yi5lbGVtZW50VHlwZT09PWQ/ZTpDaShkLGUpLFlpKGEsYixkLGUsYyk7Y2FzZSA3OnJldHVybiBYaShhLGIsYi5wZW5kaW5nUHJvcHMsYyksYi5jaGlsZDtjYXNlIDg6cmV0dXJuIFhpKGEsYixiLnBlbmRpbmdQcm9wcy5jaGlsZHJlbixjKSxiLmNoaWxkO2Nhc2UgMTI6cmV0dXJuIFhpKGEsYixiLnBlbmRpbmdQcm9wcy5jaGlsZHJlbixjKSxiLmNoaWxkO2Nhc2UgMTA6YTp7ZD1iLnR5cGUuX2NvbnRleHQ7ZT1iLnBlbmRpbmdQcm9wcztmPWIubWVtb2l6ZWRQcm9wcztcbmc9ZS52YWx1ZTtHKFdnLGQuX2N1cnJlbnRWYWx1ZSk7ZC5fY3VycmVudFZhbHVlPWc7aWYobnVsbCE9PWYpaWYoSGUoZi52YWx1ZSxnKSl7aWYoZi5jaGlsZHJlbj09PWUuY2hpbGRyZW4mJiFXZi5jdXJyZW50KXtiPVppKGEsYixjKTticmVhayBhfX1lbHNlIGZvcihmPWIuY2hpbGQsbnVsbCE9PWYmJihmLnJldHVybj1iKTtudWxsIT09Zjspe3ZhciBoPWYuZGVwZW5kZW5jaWVzO2lmKG51bGwhPT1oKXtnPWYuY2hpbGQ7Zm9yKHZhciBrPWguZmlyc3RDb250ZXh0O251bGwhPT1rOyl7aWYoay5jb250ZXh0PT09ZCl7aWYoMT09PWYudGFnKXtrPW1oKC0xLGMmLWMpO2sudGFnPTI7dmFyIGw9Zi51cGRhdGVRdWV1ZTtpZihudWxsIT09bCl7bD1sLnNoYXJlZDt2YXIgbT1sLnBlbmRpbmc7bnVsbD09PW0/ay5uZXh0PWs6KGsubmV4dD1tLm5leHQsbS5uZXh0PWspO2wucGVuZGluZz1rfX1mLmxhbmVzfD1jO2s9Zi5hbHRlcm5hdGU7bnVsbCE9PWsmJihrLmxhbmVzfD1jKTtiaChmLnJldHVybixcbmMsYik7aC5sYW5lc3w9YzticmVha31rPWsubmV4dH19ZWxzZSBpZigxMD09PWYudGFnKWc9Zi50eXBlPT09Yi50eXBlP251bGw6Zi5jaGlsZDtlbHNlIGlmKDE4PT09Zi50YWcpe2c9Zi5yZXR1cm47aWYobnVsbD09PWcpdGhyb3cgRXJyb3IocCgzNDEpKTtnLmxhbmVzfD1jO2g9Zy5hbHRlcm5hdGU7bnVsbCE9PWgmJihoLmxhbmVzfD1jKTtiaChnLGMsYik7Zz1mLnNpYmxpbmd9ZWxzZSBnPWYuY2hpbGQ7aWYobnVsbCE9PWcpZy5yZXR1cm49ZjtlbHNlIGZvcihnPWY7bnVsbCE9PWc7KXtpZihnPT09Yil7Zz1udWxsO2JyZWFrfWY9Zy5zaWJsaW5nO2lmKG51bGwhPT1mKXtmLnJldHVybj1nLnJldHVybjtnPWY7YnJlYWt9Zz1nLnJldHVybn1mPWd9WGkoYSxiLGUuY2hpbGRyZW4sYyk7Yj1iLmNoaWxkfXJldHVybiBiO2Nhc2UgOTpyZXR1cm4gZT1iLnR5cGUsZD1iLnBlbmRpbmdQcm9wcy5jaGlsZHJlbixjaChiLGMpLGU9ZWgoZSksZD1kKGUpLGIuZmxhZ3N8PTEsWGkoYSxiLGQsYyksXG5iLmNoaWxkO2Nhc2UgMTQ6cmV0dXJuIGQ9Yi50eXBlLGU9Q2koZCxiLnBlbmRpbmdQcm9wcyksZT1DaShkLnR5cGUsZSksJGkoYSxiLGQsZSxjKTtjYXNlIDE1OnJldHVybiBiaihhLGIsYi50eXBlLGIucGVuZGluZ1Byb3BzLGMpO2Nhc2UgMTc6cmV0dXJuIGQ9Yi50eXBlLGU9Yi5wZW5kaW5nUHJvcHMsZT1iLmVsZW1lbnRUeXBlPT09ZD9lOkNpKGQsZSksaWooYSxiKSxiLnRhZz0xLFpmKGQpPyhhPSEwLGNnKGIpKTphPSExLGNoKGIsYyksR2koYixkLGUpLElpKGIsZCxlLGMpLGpqKG51bGwsYixkLCEwLGEsYyk7Y2FzZSAxOTpyZXR1cm4geGooYSxiLGMpO2Nhc2UgMjI6cmV0dXJuIGRqKGEsYixjKX10aHJvdyBFcnJvcihwKDE1NixiLnRhZykpO307ZnVuY3Rpb24gRmsoYSxiKXtyZXR1cm4gYWMoYSxiKX1cbmZ1bmN0aW9uICRrKGEsYixjLGQpe3RoaXMudGFnPWE7dGhpcy5rZXk9Yzt0aGlzLnNpYmxpbmc9dGhpcy5jaGlsZD10aGlzLnJldHVybj10aGlzLnN0YXRlTm9kZT10aGlzLnR5cGU9dGhpcy5lbGVtZW50VHlwZT1udWxsO3RoaXMuaW5kZXg9MDt0aGlzLnJlZj1udWxsO3RoaXMucGVuZGluZ1Byb3BzPWI7dGhpcy5kZXBlbmRlbmNpZXM9dGhpcy5tZW1vaXplZFN0YXRlPXRoaXMudXBkYXRlUXVldWU9dGhpcy5tZW1vaXplZFByb3BzPW51bGw7dGhpcy5tb2RlPWQ7dGhpcy5zdWJ0cmVlRmxhZ3M9dGhpcy5mbGFncz0wO3RoaXMuZGVsZXRpb25zPW51bGw7dGhpcy5jaGlsZExhbmVzPXRoaXMubGFuZXM9MDt0aGlzLmFsdGVybmF0ZT1udWxsfWZ1bmN0aW9uIEJnKGEsYixjLGQpe3JldHVybiBuZXcgJGsoYSxiLGMsZCl9ZnVuY3Rpb24gYWooYSl7YT1hLnByb3RvdHlwZTtyZXR1cm4hKCFhfHwhYS5pc1JlYWN0Q29tcG9uZW50KX1cbmZ1bmN0aW9uIFprKGEpe2lmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBhKXJldHVybiBhaihhKT8xOjA7aWYodm9pZCAwIT09YSYmbnVsbCE9PWEpe2E9YS4kJHR5cGVvZjtpZihhPT09RGEpcmV0dXJuIDExO2lmKGE9PT1HYSlyZXR1cm4gMTR9cmV0dXJuIDJ9XG5mdW5jdGlvbiBQZyhhLGIpe3ZhciBjPWEuYWx0ZXJuYXRlO251bGw9PT1jPyhjPUJnKGEudGFnLGIsYS5rZXksYS5tb2RlKSxjLmVsZW1lbnRUeXBlPWEuZWxlbWVudFR5cGUsYy50eXBlPWEudHlwZSxjLnN0YXRlTm9kZT1hLnN0YXRlTm9kZSxjLmFsdGVybmF0ZT1hLGEuYWx0ZXJuYXRlPWMpOihjLnBlbmRpbmdQcm9wcz1iLGMudHlwZT1hLnR5cGUsYy5mbGFncz0wLGMuc3VidHJlZUZsYWdzPTAsYy5kZWxldGlvbnM9bnVsbCk7Yy5mbGFncz1hLmZsYWdzJjE0NjgwMDY0O2MuY2hpbGRMYW5lcz1hLmNoaWxkTGFuZXM7Yy5sYW5lcz1hLmxhbmVzO2MuY2hpbGQ9YS5jaGlsZDtjLm1lbW9pemVkUHJvcHM9YS5tZW1vaXplZFByb3BzO2MubWVtb2l6ZWRTdGF0ZT1hLm1lbW9pemVkU3RhdGU7Yy51cGRhdGVRdWV1ZT1hLnVwZGF0ZVF1ZXVlO2I9YS5kZXBlbmRlbmNpZXM7Yy5kZXBlbmRlbmNpZXM9bnVsbD09PWI/bnVsbDp7bGFuZXM6Yi5sYW5lcyxmaXJzdENvbnRleHQ6Yi5maXJzdENvbnRleHR9O1xuYy5zaWJsaW5nPWEuc2libGluZztjLmluZGV4PWEuaW5kZXg7Yy5yZWY9YS5yZWY7cmV0dXJuIGN9XG5mdW5jdGlvbiBSZyhhLGIsYyxkLGUsZil7dmFyIGc9MjtkPWE7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGEpYWooYSkmJihnPTEpO2Vsc2UgaWYoXCJzdHJpbmdcIj09PXR5cGVvZiBhKWc9NTtlbHNlIGE6c3dpdGNoKGEpe2Nhc2UgeWE6cmV0dXJuIFRnKGMuY2hpbGRyZW4sZSxmLGIpO2Nhc2UgemE6Zz04O2V8PTg7YnJlYWs7Y2FzZSBBYTpyZXR1cm4gYT1CZygxMixjLGIsZXwyKSxhLmVsZW1lbnRUeXBlPUFhLGEubGFuZXM9ZixhO2Nhc2UgRWE6cmV0dXJuIGE9QmcoMTMsYyxiLGUpLGEuZWxlbWVudFR5cGU9RWEsYS5sYW5lcz1mLGE7Y2FzZSBGYTpyZXR1cm4gYT1CZygxOSxjLGIsZSksYS5lbGVtZW50VHlwZT1GYSxhLmxhbmVzPWYsYTtjYXNlIElhOnJldHVybiBwaihjLGUsZixiKTtkZWZhdWx0OmlmKFwib2JqZWN0XCI9PT10eXBlb2YgYSYmbnVsbCE9PWEpc3dpdGNoKGEuJCR0eXBlb2Ype2Nhc2UgQmE6Zz0xMDticmVhayBhO2Nhc2UgQ2E6Zz05O2JyZWFrIGE7Y2FzZSBEYTpnPTExO1xuYnJlYWsgYTtjYXNlIEdhOmc9MTQ7YnJlYWsgYTtjYXNlIEhhOmc9MTY7ZD1udWxsO2JyZWFrIGF9dGhyb3cgRXJyb3IocCgxMzAsbnVsbD09YT9hOnR5cGVvZiBhLFwiXCIpKTt9Yj1CZyhnLGMsYixlKTtiLmVsZW1lbnRUeXBlPWE7Yi50eXBlPWQ7Yi5sYW5lcz1mO3JldHVybiBifWZ1bmN0aW9uIFRnKGEsYixjLGQpe2E9QmcoNyxhLGQsYik7YS5sYW5lcz1jO3JldHVybiBhfWZ1bmN0aW9uIHBqKGEsYixjLGQpe2E9QmcoMjIsYSxkLGIpO2EuZWxlbWVudFR5cGU9SWE7YS5sYW5lcz1jO2Euc3RhdGVOb2RlPXtpc0hpZGRlbjohMX07cmV0dXJuIGF9ZnVuY3Rpb24gUWcoYSxiLGMpe2E9QmcoNixhLG51bGwsYik7YS5sYW5lcz1jO3JldHVybiBhfVxuZnVuY3Rpb24gU2coYSxiLGMpe2I9QmcoNCxudWxsIT09YS5jaGlsZHJlbj9hLmNoaWxkcmVuOltdLGEua2V5LGIpO2IubGFuZXM9YztiLnN0YXRlTm9kZT17Y29udGFpbmVySW5mbzphLmNvbnRhaW5lckluZm8scGVuZGluZ0NoaWxkcmVuOm51bGwsaW1wbGVtZW50YXRpb246YS5pbXBsZW1lbnRhdGlvbn07cmV0dXJuIGJ9XG5mdW5jdGlvbiBhbChhLGIsYyxkLGUpe3RoaXMudGFnPWI7dGhpcy5jb250YWluZXJJbmZvPWE7dGhpcy5maW5pc2hlZFdvcms9dGhpcy5waW5nQ2FjaGU9dGhpcy5jdXJyZW50PXRoaXMucGVuZGluZ0NoaWxkcmVuPW51bGw7dGhpcy50aW1lb3V0SGFuZGxlPS0xO3RoaXMuY2FsbGJhY2tOb2RlPXRoaXMucGVuZGluZ0NvbnRleHQ9dGhpcy5jb250ZXh0PW51bGw7dGhpcy5jYWxsYmFja1ByaW9yaXR5PTA7dGhpcy5ldmVudFRpbWVzPXpjKDApO3RoaXMuZXhwaXJhdGlvblRpbWVzPXpjKC0xKTt0aGlzLmVudGFuZ2xlZExhbmVzPXRoaXMuZmluaXNoZWRMYW5lcz10aGlzLm11dGFibGVSZWFkTGFuZXM9dGhpcy5leHBpcmVkTGFuZXM9dGhpcy5waW5nZWRMYW5lcz10aGlzLnN1c3BlbmRlZExhbmVzPXRoaXMucGVuZGluZ0xhbmVzPTA7dGhpcy5lbnRhbmdsZW1lbnRzPXpjKDApO3RoaXMuaWRlbnRpZmllclByZWZpeD1kO3RoaXMub25SZWNvdmVyYWJsZUVycm9yPWU7dGhpcy5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhPVxubnVsbH1mdW5jdGlvbiBibChhLGIsYyxkLGUsZixnLGgsayl7YT1uZXcgYWwoYSxiLGMsaCxrKTsxPT09Yj8oYj0xLCEwPT09ZiYmKGJ8PTgpKTpiPTA7Zj1CZygzLG51bGwsbnVsbCxiKTthLmN1cnJlbnQ9ZjtmLnN0YXRlTm9kZT1hO2YubWVtb2l6ZWRTdGF0ZT17ZWxlbWVudDpkLGlzRGVoeWRyYXRlZDpjLGNhY2hlOm51bGwsdHJhbnNpdGlvbnM6bnVsbCxwZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzOm51bGx9O2toKGYpO3JldHVybiBhfWZ1bmN0aW9uIGNsKGEsYixjKXt2YXIgZD0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6d2Esa2V5Om51bGw9PWQ/bnVsbDpcIlwiK2QsY2hpbGRyZW46YSxjb250YWluZXJJbmZvOmIsaW1wbGVtZW50YXRpb246Y319XG5mdW5jdGlvbiBkbChhKXtpZighYSlyZXR1cm4gVmY7YT1hLl9yZWFjdEludGVybmFsczthOntpZihWYihhKSE9PWF8fDEhPT1hLnRhZyl0aHJvdyBFcnJvcihwKDE3MCkpO3ZhciBiPWE7ZG97c3dpdGNoKGIudGFnKXtjYXNlIDM6Yj1iLnN0YXRlTm9kZS5jb250ZXh0O2JyZWFrIGE7Y2FzZSAxOmlmKFpmKGIudHlwZSkpe2I9Yi5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7YnJlYWsgYX19Yj1iLnJldHVybn13aGlsZShudWxsIT09Yik7dGhyb3cgRXJyb3IocCgxNzEpKTt9aWYoMT09PWEudGFnKXt2YXIgYz1hLnR5cGU7aWYoWmYoYykpcmV0dXJuIGJnKGEsYyxiKX1yZXR1cm4gYn1cbmZ1bmN0aW9uIGVsKGEsYixjLGQsZSxmLGcsaCxrKXthPWJsKGMsZCwhMCxhLGUsZixnLGgsayk7YS5jb250ZXh0PWRsKG51bGwpO2M9YS5jdXJyZW50O2Q9UigpO2U9eWkoYyk7Zj1taChkLGUpO2YuY2FsbGJhY2s9dm9pZCAwIT09YiYmbnVsbCE9PWI/YjpudWxsO25oKGMsZixlKTthLmN1cnJlbnQubGFuZXM9ZTtBYyhhLGUsZCk7RGsoYSxkKTtyZXR1cm4gYX1mdW5jdGlvbiBmbChhLGIsYyxkKXt2YXIgZT1iLmN1cnJlbnQsZj1SKCksZz15aShlKTtjPWRsKGMpO251bGw9PT1iLmNvbnRleHQ/Yi5jb250ZXh0PWM6Yi5wZW5kaW5nQ29udGV4dD1jO2I9bWgoZixnKTtiLnBheWxvYWQ9e2VsZW1lbnQ6YX07ZD12b2lkIDA9PT1kP251bGw6ZDtudWxsIT09ZCYmKGIuY2FsbGJhY2s9ZCk7YT1uaChlLGIsZyk7bnVsbCE9PWEmJihnaShhLGUsZyxmKSxvaChhLGUsZykpO3JldHVybiBnfVxuZnVuY3Rpb24gZ2woYSl7YT1hLmN1cnJlbnQ7aWYoIWEuY2hpbGQpcmV0dXJuIG51bGw7c3dpdGNoKGEuY2hpbGQudGFnKXtjYXNlIDU6cmV0dXJuIGEuY2hpbGQuc3RhdGVOb2RlO2RlZmF1bHQ6cmV0dXJuIGEuY2hpbGQuc3RhdGVOb2RlfX1mdW5jdGlvbiBobChhLGIpe2E9YS5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT1hJiZudWxsIT09YS5kZWh5ZHJhdGVkKXt2YXIgYz1hLnJldHJ5TGFuZTthLnJldHJ5TGFuZT0wIT09YyYmYzxiP2M6Yn19ZnVuY3Rpb24gaWwoYSxiKXtobChhLGIpOyhhPWEuYWx0ZXJuYXRlKSYmaGwoYSxiKX1mdW5jdGlvbiBqbCgpe3JldHVybiBudWxsfXZhciBrbD1cImZ1bmN0aW9uXCI9PT10eXBlb2YgcmVwb3J0RXJyb3I/cmVwb3J0RXJyb3I6ZnVuY3Rpb24oYSl7Y29uc29sZS5lcnJvcihhKX07ZnVuY3Rpb24gbGwoYSl7dGhpcy5faW50ZXJuYWxSb290PWF9XG5tbC5wcm90b3R5cGUucmVuZGVyPWxsLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGw9PT1iKXRocm93IEVycm9yKHAoNDA5KSk7ZmwoYSxiLG51bGwsbnVsbCl9O21sLnByb3RvdHlwZS51bm1vdW50PWxsLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGwhPT1hKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgYj1hLmNvbnRhaW5lckluZm87UmsoZnVuY3Rpb24oKXtmbChudWxsLGEsbnVsbCxudWxsKX0pO2JbdWZdPW51bGx9fTtmdW5jdGlvbiBtbChhKXt0aGlzLl9pbnRlcm5hbFJvb3Q9YX1cbm1sLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1IYygpO2E9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDphLHByaW9yaXR5OmJ9O2Zvcih2YXIgYz0wO2M8UWMubGVuZ3RoJiYwIT09YiYmYjxRY1tjXS5wcmlvcml0eTtjKyspO1FjLnNwbGljZShjLDAsYSk7MD09PWMmJlZjKGEpfX07ZnVuY3Rpb24gbmwoYSl7cmV0dXJuISghYXx8MSE9PWEubm9kZVR5cGUmJjkhPT1hLm5vZGVUeXBlJiYxMSE9PWEubm9kZVR5cGUpfWZ1bmN0aW9uIG9sKGEpe3JldHVybiEoIWF8fDEhPT1hLm5vZGVUeXBlJiY5IT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlJiYoOCE9PWEubm9kZVR5cGV8fFwiIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlIFwiIT09YS5ub2RlVmFsdWUpKX1mdW5jdGlvbiBwbCgpe31cbmZ1bmN0aW9uIHFsKGEsYixjLGQsZSl7aWYoZSl7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGQpe3ZhciBmPWQ7ZD1mdW5jdGlvbigpe3ZhciBhPWdsKGcpO2YuY2FsbChhKX19dmFyIGc9ZWwoYixkLGEsMCxudWxsLCExLCExLFwiXCIscGwpO2EuX3JlYWN0Um9vdENvbnRhaW5lcj1nO2FbdWZdPWcuY3VycmVudDtzZig4PT09YS5ub2RlVHlwZT9hLnBhcmVudE5vZGU6YSk7UmsoKTtyZXR1cm4gZ31mb3IoO2U9YS5sYXN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoZSk7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGQpe3ZhciBoPWQ7ZD1mdW5jdGlvbigpe3ZhciBhPWdsKGspO2guY2FsbChhKX19dmFyIGs9YmwoYSwwLCExLG51bGwsbnVsbCwhMSwhMSxcIlwiLHBsKTthLl9yZWFjdFJvb3RDb250YWluZXI9azthW3VmXT1rLmN1cnJlbnQ7c2YoOD09PWEubm9kZVR5cGU/YS5wYXJlbnROb2RlOmEpO1JrKGZ1bmN0aW9uKCl7ZmwoYixrLGMsZCl9KTtyZXR1cm4ga31cbmZ1bmN0aW9uIHJsKGEsYixjLGQsZSl7dmFyIGY9Yy5fcmVhY3RSb290Q29udGFpbmVyO2lmKGYpe3ZhciBnPWY7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGUpe3ZhciBoPWU7ZT1mdW5jdGlvbigpe3ZhciBhPWdsKGcpO2guY2FsbChhKX19ZmwoYixnLGEsZSl9ZWxzZSBnPXFsKGMsYixhLGUsZCk7cmV0dXJuIGdsKGcpfUVjPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnRhZyl7Y2FzZSAzOnZhciBiPWEuc3RhdGVOb2RlO2lmKGIuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl7dmFyIGM9dGMoYi5wZW5kaW5nTGFuZXMpOzAhPT1jJiYoQ2MoYixjfDEpLERrKGIsQigpKSwwPT09KEsmNikmJihHaj1CKCkrNTAwLGpnKCkpKX1icmVhaztjYXNlIDEzOlJrKGZ1bmN0aW9uKCl7dmFyIGI9aWgoYSwxKTtpZihudWxsIT09Yil7dmFyIGM9UigpO2dpKGIsYSwxLGMpfX0pLGlsKGEsMSl9fTtcbkZjPWZ1bmN0aW9uKGEpe2lmKDEzPT09YS50YWcpe3ZhciBiPWloKGEsMTM0MjE3NzI4KTtpZihudWxsIT09Yil7dmFyIGM9UigpO2dpKGIsYSwxMzQyMTc3MjgsYyl9aWwoYSwxMzQyMTc3MjgpfX07R2M9ZnVuY3Rpb24oYSl7aWYoMTM9PT1hLnRhZyl7dmFyIGI9eWkoYSksYz1paChhLGIpO2lmKG51bGwhPT1jKXt2YXIgZD1SKCk7Z2koYyxhLGIsZCl9aWwoYSxiKX19O0hjPWZ1bmN0aW9uKCl7cmV0dXJuIEN9O0ljPWZ1bmN0aW9uKGEsYil7dmFyIGM9Qzt0cnl7cmV0dXJuIEM9YSxiKCl9ZmluYWxseXtDPWN9fTtcbnliPWZ1bmN0aW9uKGEsYixjKXtzd2l0Y2goYil7Y2FzZSBcImlucHV0XCI6YmIoYSxjKTtiPWMubmFtZTtpZihcInJhZGlvXCI9PT1jLnR5cGUmJm51bGwhPWIpe2ZvcihjPWE7Yy5wYXJlbnROb2RlOyljPWMucGFyZW50Tm9kZTtjPWMucXVlcnlTZWxlY3RvckFsbChcImlucHV0W25hbWU9XCIrSlNPTi5zdHJpbmdpZnkoXCJcIitiKSsnXVt0eXBlPVwicmFkaW9cIl0nKTtmb3IoYj0wO2I8Yy5sZW5ndGg7YisrKXt2YXIgZD1jW2JdO2lmKGQhPT1hJiZkLmZvcm09PT1hLmZvcm0pe3ZhciBlPURiKGQpO2lmKCFlKXRocm93IEVycm9yKHAoOTApKTtXYShkKTtiYihkLGUpfX19YnJlYWs7Y2FzZSBcInRleHRhcmVhXCI6aWIoYSxjKTticmVhaztjYXNlIFwic2VsZWN0XCI6Yj1jLnZhbHVlLG51bGwhPWImJmZiKGEsISFjLm11bHRpcGxlLGIsITEpfX07R2I9UWs7SGI9Ums7XG52YXIgc2w9e3VzaW5nQ2xpZW50RW50cnlQb2ludDohMSxFdmVudHM6W0NiLHVlLERiLEViLEZiLFFrXX0sdGw9e2ZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOldjLGJ1bmRsZVR5cGU6MCx2ZXJzaW9uOlwiMTguMy4xXCIscmVuZGVyZXJQYWNrYWdlTmFtZTpcInJlYWN0LWRvbVwifTtcbnZhciB1bD17YnVuZGxlVHlwZTp0bC5idW5kbGVUeXBlLHZlcnNpb246dGwudmVyc2lvbixyZW5kZXJlclBhY2thZ2VOYW1lOnRsLnJlbmRlcmVyUGFja2FnZU5hbWUscmVuZGVyZXJDb25maWc6dGwucmVuZGVyZXJDb25maWcsb3ZlcnJpZGVIb29rU3RhdGU6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzOm51bGwsb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzUmVuYW1lUGF0aDpudWxsLHNldEVycm9ySGFuZGxlcjpudWxsLHNldFN1c3BlbnNlSGFuZGxlcjpudWxsLHNjaGVkdWxlVXBkYXRlOm51bGwsY3VycmVudERpc3BhdGNoZXJSZWY6dWEuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixmaW5kSG9zdEluc3RhbmNlQnlGaWJlcjpmdW5jdGlvbihhKXthPVpiKGEpO3JldHVybiBudWxsPT09YT9udWxsOmEuc3RhdGVOb2RlfSxmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTp0bC5maW5kRmliZXJCeUhvc3RJbnN0YW5jZXx8XG5qbCxmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2g6bnVsbCxzY2hlZHVsZVJlZnJlc2g6bnVsbCxzY2hlZHVsZVJvb3Q6bnVsbCxzZXRSZWZyZXNoSGFuZGxlcjpudWxsLGdldEN1cnJlbnRGaWJlcjpudWxsLHJlY29uY2lsZXJWZXJzaW9uOlwiMTguMy4xLW5leHQtZjEzMzhmODA4MC0yMDI0MDQyNlwifTtpZihcInVuZGVmaW5lZFwiIT09dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyl7dmFyIHZsPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighdmwuaXNEaXNhYmxlZCYmdmwuc3VwcG9ydHNGaWJlcil0cnl7a2M9dmwuaW5qZWN0KHVsKSxsYz12bH1jYXRjaChhKXt9fWV4cG9ydHMuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9c2w7XG5leHBvcnRzLmNyZWF0ZVBvcnRhbD1mdW5jdGlvbihhLGIpe3ZhciBjPTI8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTpudWxsO2lmKCFubChiKSl0aHJvdyBFcnJvcihwKDIwMCkpO3JldHVybiBjbChhLGIsbnVsbCxjKX07ZXhwb3J0cy5jcmVhdGVSb290PWZ1bmN0aW9uKGEsYil7aWYoIW5sKGEpKXRocm93IEVycm9yKHAoMjk5KSk7dmFyIGM9ITEsZD1cIlwiLGU9a2w7bnVsbCE9PWImJnZvaWQgMCE9PWImJighMD09PWIudW5zdGFibGVfc3RyaWN0TW9kZSYmKGM9ITApLHZvaWQgMCE9PWIuaWRlbnRpZmllclByZWZpeCYmKGQ9Yi5pZGVudGlmaWVyUHJlZml4KSx2b2lkIDAhPT1iLm9uUmVjb3ZlcmFibGVFcnJvciYmKGU9Yi5vblJlY292ZXJhYmxlRXJyb3IpKTtiPWJsKGEsMSwhMSxudWxsLG51bGwsYywhMSxkLGUpO2FbdWZdPWIuY3VycmVudDtzZig4PT09YS5ub2RlVHlwZT9hLnBhcmVudE5vZGU6YSk7cmV0dXJuIG5ldyBsbChiKX07XG5leHBvcnRzLmZpbmRET01Ob2RlPWZ1bmN0aW9uKGEpe2lmKG51bGw9PWEpcmV0dXJuIG51bGw7aWYoMT09PWEubm9kZVR5cGUpcmV0dXJuIGE7dmFyIGI9YS5fcmVhY3RJbnRlcm5hbHM7aWYodm9pZCAwPT09Yil7aWYoXCJmdW5jdGlvblwiPT09dHlwZW9mIGEucmVuZGVyKXRocm93IEVycm9yKHAoMTg4KSk7YT1PYmplY3Qua2V5cyhhKS5qb2luKFwiLFwiKTt0aHJvdyBFcnJvcihwKDI2OCxhKSk7fWE9WmIoYik7YT1udWxsPT09YT9udWxsOmEuc3RhdGVOb2RlO3JldHVybiBhfTtleHBvcnRzLmZsdXNoU3luYz1mdW5jdGlvbihhKXtyZXR1cm4gUmsoYSl9O2V4cG9ydHMuaHlkcmF0ZT1mdW5jdGlvbihhLGIsYyl7aWYoIW9sKGIpKXRocm93IEVycm9yKHAoMjAwKSk7cmV0dXJuIHJsKG51bGwsYSxiLCEwLGMpfTtcbmV4cG9ydHMuaHlkcmF0ZVJvb3Q9ZnVuY3Rpb24oYSxiLGMpe2lmKCFubChhKSl0aHJvdyBFcnJvcihwKDQwNSkpO3ZhciBkPW51bGwhPWMmJmMuaHlkcmF0ZWRTb3VyY2VzfHxudWxsLGU9ITEsZj1cIlwiLGc9a2w7bnVsbCE9PWMmJnZvaWQgMCE9PWMmJighMD09PWMudW5zdGFibGVfc3RyaWN0TW9kZSYmKGU9ITApLHZvaWQgMCE9PWMuaWRlbnRpZmllclByZWZpeCYmKGY9Yy5pZGVudGlmaWVyUHJlZml4KSx2b2lkIDAhPT1jLm9uUmVjb3ZlcmFibGVFcnJvciYmKGc9Yy5vblJlY292ZXJhYmxlRXJyb3IpKTtiPWVsKGIsbnVsbCxhLDEsbnVsbCE9Yz9jOm51bGwsZSwhMSxmLGcpO2FbdWZdPWIuY3VycmVudDtzZihhKTtpZihkKWZvcihhPTA7YTxkLmxlbmd0aDthKyspYz1kW2FdLGU9Yy5fZ2V0VmVyc2lvbixlPWUoYy5fc291cmNlKSxudWxsPT1iLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGE/Yi5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhPVtjLGVdOmIubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YS5wdXNoKGMsXG5lKTtyZXR1cm4gbmV3IG1sKGIpfTtleHBvcnRzLnJlbmRlcj1mdW5jdGlvbihhLGIsYyl7aWYoIW9sKGIpKXRocm93IEVycm9yKHAoMjAwKSk7cmV0dXJuIHJsKG51bGwsYSxiLCExLGMpfTtleHBvcnRzLnVubW91bnRDb21wb25lbnRBdE5vZGU9ZnVuY3Rpb24oYSl7aWYoIW9sKGEpKXRocm93IEVycm9yKHAoNDApKTtyZXR1cm4gYS5fcmVhY3RSb290Q29udGFpbmVyPyhSayhmdW5jdGlvbigpe3JsKG51bGwsbnVsbCxhLCExLGZ1bmN0aW9uKCl7YS5fcmVhY3RSb290Q29udGFpbmVyPW51bGw7YVt1Zl09bnVsbH0pfSksITApOiExfTtleHBvcnRzLnVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzPVFrO1xuZXhwb3J0cy51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihhLGIsYyxkKXtpZighb2woYykpdGhyb3cgRXJyb3IocCgyMDApKTtpZihudWxsPT1hfHx2b2lkIDA9PT1hLl9yZWFjdEludGVybmFscyl0aHJvdyBFcnJvcihwKDM4KSk7cmV0dXJuIHJsKGEsYixjLCExLGQpfTtleHBvcnRzLnZlcnNpb249XCIxOC4zLjEtbmV4dC1mMTMzOGY4MDgwLTIwMjQwNDI2XCI7XG4iLCIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIGNoZWNrRENFKCkge1xuICAvKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG4gIGlmIChcbiAgICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fID09PSAndW5kZWZpbmVkJyB8fFxuICAgIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UgIT09ICdmdW5jdGlvbidcbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgLy8gVGhpcyBicmFuY2ggaXMgdW5yZWFjaGFibGUgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkXG4gICAgLy8gaW4gcHJvZHVjdGlvbiwgYnV0IHRoZSBjb25kaXRpb24gaXMgdHJ1ZSBvbmx5IGluIGRldmVsb3BtZW50LlxuICAgIC8vIFRoZXJlZm9yZSBpZiB0aGUgYnJhbmNoIGlzIHN0aWxsIGhlcmUsIGRlYWQgY29kZSBlbGltaW5hdGlvbiB3YXNuJ3RcbiAgICAvLyBwcm9wZXJseSBhcHBsaWVkLlxuICAgIC8vIERvbid0IGNoYW5nZSB0aGUgbWVzc2FnZS4gUmVhY3QgRGV2VG9vbHMgcmVsaWVzIG9uIGl0LiBBbHNvIG1ha2Ugc3VyZVxuICAgIC8vIHRoaXMgbWVzc2FnZSBkb2Vzbid0IG9jY3VyIGVsc2V3aGVyZSBpbiB0aGlzIGZ1bmN0aW9uLCBvciBpdCB3aWxsIGNhdXNlXG4gICAgLy8gYSBmYWxzZSBwb3NpdGl2ZS5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ15fXicpO1xuICB9XG4gIHRyeSB7XG4gICAgLy8gVmVyaWZ5IHRoYXQgdGhlIGNvZGUgYWJvdmUgaGFzIGJlZW4gZGVhZCBjb2RlIGVsaW1pbmF0ZWQgKERDRSdkKS5cbiAgICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoY2hlY2tEQ0UpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICAvLyBEZXZUb29scyBzaG91bGRuJ3QgY3Jhc2ggUmVhY3QsIG5vIG1hdHRlciB3aGF0LlxuICAgIC8vIFdlIHNob3VsZCBzdGlsbCByZXBvcnQgaW4gY2FzZSB3ZSBicmVhayB0aGlzIGNvZGUuXG4gICAgY29uc29sZS5lcnJvcihlcnIpO1xuICB9XG59XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIC8vIERDRSBjaGVjayBzaG91bGQgaGFwcGVuIGJlZm9yZSBSZWFjdERPTSBidW5kbGUgZXhlY3V0ZXMgc28gdGhhdFxuICAvLyBEZXZUb29scyBjYW4gcmVwb3J0IGJhZCBtaW5pZmljYXRpb24gZHVyaW5nIGluamVjdGlvbi5cbiAgY2hlY2tEQ0UoKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1kb20ucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtZG9tLmRldmVsb3BtZW50LmpzJyk7XG59XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBtID0gcmVxdWlyZSgncmVhY3QtZG9tJyk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBleHBvcnRzLmNyZWF0ZVJvb3QgPSBtLmNyZWF0ZVJvb3Q7XG4gIGV4cG9ydHMuaHlkcmF0ZVJvb3QgPSBtLmh5ZHJhdGVSb290O1xufSBlbHNlIHtcbiAgdmFyIGkgPSBtLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuICBleHBvcnRzLmNyZWF0ZVJvb3QgPSBmdW5jdGlvbihjLCBvKSB7XG4gICAgaS51c2luZ0NsaWVudEVudHJ5UG9pbnQgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbS5jcmVhdGVSb290KGMsIG8pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IGZhbHNlO1xuICAgIH1cbiAgfTtcbiAgZXhwb3J0cy5oeWRyYXRlUm9vdCA9IGZ1bmN0aW9uKGMsIGgsIG8pIHtcbiAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IHRydWU7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBtLmh5ZHJhdGVSb290KGMsIGgsIG8pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IGZhbHNlO1xuICAgIH1cbiAgfTtcbn1cbiIsIlxuZXhwb3J0IGNvbnN0IFJvdXRlUGFnZSA9ICh7IHJvdXRlcyB9OiB7IHJvdXRlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8aDE+UmVhY3QgVGVzdCBCZWQ8L2gxPlxuICAgICAgPHVsPlxuICAgICAgICB7T2JqZWN0LmtleXMocm91dGVzKS5tYXAoKHBhdGgpID0+IChcbiAgICAgICAgICA8bGkga2V5PXtwYXRofT5cbiAgICAgICAgICAgIDxhIGhyZWY9e2AjLyR7cGF0aH1gfT57cGF0aH08L2E+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgKSl9XG4gICAgICA8L3VsPlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUm91dGVQYWdlOyIsImltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VEZWZpbml0aW9uLCBTdWJzY3JpcHRpb24sIFN1YnNjcmlwdGlvbkRlZmluaXRpb24sIFN1YnNjcmlwdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUlkID0gKCk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHB1Ymxpc2ggPSA8VD4oXG4gIHsgdG9waWMsIGNoYW5uZWwgPSBcImdsb2JhbFwiLCBwYXlsb2FkIH06IE1lc3NhZ2VEZWZpbml0aW9uPFQ+LFxuICB0YXJnZXQgPSBudWxsIGFzIFdpbmRvdyB8IG51bGxcbik6IE1lc3NhZ2U8VD4gPT4ge1xuICBjb25zdCByZXF1ZXN0SWQgPSBnZW5lcmF0ZUlkKCk7XG4gIGNvbnN0IHJlcXVlc3Q6IE1lc3NhZ2U8VD4gPSB7XG4gICAgcmVxdWVzdElkLFxuICAgIHRvcGljLFxuICAgIGNoYW5uZWwsXG4gICAgcGF5bG9hZCxcbiAgfTtcblxuICBpZiAodGFyZ2V0KSB7XG4gICAgaWYgKCh0YXJnZXQgYXMgdHlwZW9mIHdpbmRvdykucG9zdE1lc3NhZ2UpIHtcbiAgICAgIC8vIGlmcmFtZSwgcG9wdXAgd2luZG93LCBvciB3ZWIgd29ya2VyXG4gICAgICAodGFyZ2V0IGFzIHR5cGVvZiB3aW5kb3cpLnBvc3RNZXNzYWdlKHJlcXVlc3QsIFwiKlwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB0YXJnZXRcIik7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFRPRE86IGF1dG8gaWRlbnRpZnkgdGhlIHRhcmdldCBpcyB3cm9uZyAtIHdoYXQgaWYgYSB3aG9sZSBwYWdlXG4gICAgLy8gdGhhdCBjb250YWlucyB0aGlzIGNvbXBvbmVudCwgZ2V0IHJldXNlZCBpbiBpZnJhbWU/XG4gICAgLy8gY2hpbGQgdG8gcGFyZW50XG4gICAgaWYgKHdpbmRvdy5wYXJlbnQgIT09IHdpbmRvdykge1xuICAgICAgLy8gaWZyYW1lXG4gICAgICBjb25zb2xlLmxvZyhgZXZlbnQgaWZyYW1lLT5wYXJlbnQ6ICR7dG9waWN9YCk7XG4gICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKHJlcXVlc3QsIFwiKlwiKTtcbiAgICB9IGVsc2UgaWYgKHdpbmRvdy5vcGVuZXIpIHtcbiAgICAgIC8vIHBvcHVwIHdpbmRvd1xuICAgICAgY29uc29sZS5sb2coYGV2ZW50IHBvcHVwLT5wYXJlbnQ6ICR7dG9waWN9YCk7XG4gICAgICB3aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKHJlcXVlc3QsIFwiKlwiKTtcbiAgICB9IGVsc2UgaWYgKHNlbGYgIT09IHdpbmRvdykge1xuICAgICAgLy8gd2ViIHdvcmtlclxuICAgICAgY29uc29sZS5sb2coYGV2ZW50IHdlYndvcmtlci0+cGFyZW50OiAke3RvcGljfWApO1xuICAgICAgc2VsZi5wb3N0TWVzc2FnZShyZXF1ZXN0LCBcIipcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKGBldmVudCB0byB3aW5kb3c6ICR7dG9waWN9YCk7XG4gICAgICAvLyBjdXN0b20gZWxlbWVudCBmb3IgYm90aCBwYXJlbnQtPmNoaWxkIG9yIGNoaWxkLT5wYXJlbnRcbiAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBNZXNzYWdlRXZlbnQoXCJtZXNzYWdlXCIsIHsgZGF0YTogcmVxdWVzdCB9KSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlcXVlc3Q7XG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1lc3NhZ2VFdmVudEJ1cyA9IDxUPWFueT4oKSA9PiB7XG4gIGNvbnN0IF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25zPFQ+ID0ge307XG5cbiAgY29uc3Qgc3Vic2NyaWJlID0gKHtcbiAgICB0b3BpYyxcbiAgICBjaGFubmVsID0gXCJnbG9iYWxcIixcbiAgICBoYW5kbGVyLFxuICB9OiBTdWJzY3JpcHRpb25EZWZpbml0aW9uPFQ+KTogU3Vic2NyaXB0aW9uPFQ+ID0+IHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB7XG4gICAgICBzdWJzY3JpcHRpb25JZDogZ2VuZXJhdGVJZCgpLFxuICAgICAgdG9waWMsXG4gICAgICBjaGFubmVsLFxuICAgICAgaGFuZGxlcixcbiAgICB9O1xuXG4gICAgX3N1YnNjcmlwdGlvbnNbdG9waWNdID0ge1xuICAgICAgLi4uX3N1YnNjcmlwdGlvbnNbdG9waWNdLFxuICAgICAgW2NoYW5uZWxdOiB7XG4gICAgICAgIC4uLl9zdWJzY3JpcHRpb25zW3RvcGljXT8uW2NoYW5uZWxdLFxuICAgICAgICBbc3Vic2NyaXB0aW9uLnN1YnNjcmlwdGlvbklkXTogc3Vic2NyaXB0aW9uLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgfTtcblxuICBjb25zdCB1bnN1YnNjcmliZSA9IChzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjxUPik6IHZvaWQgPT4ge1xuICAgIGRlbGV0ZSBfc3Vic2NyaXB0aW9uc1tzdWJzY3JpcHRpb24udG9waWNdPy5bc3Vic2NyaXB0aW9uLmNoYW5uZWxdPy5bXG4gICAgICBzdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uSWRcbiAgICBdO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZU1lc3NhZ2UgPSAoZXZlbnQ6IE1lc3NhZ2VFdmVudDxNZXNzYWdlPFQ+Pik6IFByb21pc2U8dW5rbm93bj5bXSA9PiB7XG4gICAgY29uc3QgeyBwYXlsb2FkLCBjaGFubmVsLCB0b3BpYyB9ID0gZXZlbnQuZGF0YTtcbiAgICBpZiAoX3N1YnNjcmlwdGlvbnNbdG9waWNdPy5bY2hhbm5lbF0pIHtcbiAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKF9zdWJzY3JpcHRpb25zW3RvcGljXVtjaGFubmVsXSkubWFwKCh7IGhhbmRsZXIgfSkgPT5cbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKGhhbmRsZXIocGF5bG9hZCkpXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBwdWJsaXNoLFxuICAgIHN1YnNjcmliZSxcbiAgICB1bnN1YnNjcmliZSxcbiAgICBoYW5kbGVNZXNzYWdlLFxuICB9O1xufTtcbiIsIi8qXG4gUG9zc2libGUgUGVyZm9ybWFuY2Ugb3ZlcmhlYWQ6XG4gLSB3aW5kb3cucG9zdE1lc3NhZ2Ugd2lsbCB0cmlnZ2VyIHNlcmlhbGl6YXRpb24gYW5kIGRlc2VyaWFsaXphdGlvbiBvZiB0aGUgZGF0YSBvYmplY3RcbiAtIHdpbmRvdy5kaXNwYXRjaEV2ZW50IHdpbGwgdHJpZ2dlciB0aGUgYnVpbGQtaW4gZXZlbnQgc3lzdGVtIHRoYW4gZGlyZWN0bHkgY2FsbGluZyB0aGUgaGFuZGxlclxuKi9cbmltcG9ydCB7IGNyZWF0ZU1lc3NhZ2VFdmVudEJ1cyB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbmNvbnN0IF9ldmVudEJ1cyA9IGNyZWF0ZU1lc3NhZ2VFdmVudEJ1cygpO1xuXG5leHBvcnQgY29uc3QgcHVibGlzaDogdHlwZW9mIF9ldmVudEJ1cy5wdWJsaXNoID0gKGV2ZW50RGVmLCB0YXJnZXQpID0+XG4gIF9ldmVudEJ1cy5wdWJsaXNoKGV2ZW50RGVmLCB0YXJnZXQpO1xuXG5leHBvcnQgY29uc3Qgc3Vic2NyaWJlOiB0eXBlb2YgX2V2ZW50QnVzLnN1YnNjcmliZSA9IChzdWJzRGVmKSA9PlxuICBfZXZlbnRCdXMuc3Vic2NyaWJlKHN1YnNEZWYpO1xuXG5leHBvcnQgY29uc3QgdW5zdWJzY3JpYmU6IHR5cGVvZiBfZXZlbnRCdXMudW5zdWJzY3JpYmUgPSAoc3VicykgPT5cbiAgX2V2ZW50QnVzLnVuc3Vic2NyaWJlKHN1YnMpO1xuXG5jb25zdCBoYW5kbGVNZXNzYWdlOiB0eXBlb2YgX2V2ZW50QnVzLmhhbmRsZU1lc3NhZ2UgPSAoZXZlbnQpID0+XG4gIF9ldmVudEJ1cy5oYW5kbGVNZXNzYWdlKGV2ZW50KTtcblxuLy8gTk9URTogd2UgY2FuIHVzZSBhIHNpbmdsZSBldmVudCBoYW5kbGVyLCBvciBqdXN0IGFkZCBsaXN0ZW5lciBkaXJlY3RseVxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIGhhbmRsZU1lc3NhZ2UpO1xuIiwiaW1wb3J0IHsgTWVzc2FnZURlZmluaXRpb24gfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgY3JlYXRlTWVzc2FnZUV2ZW50QnVzIH0gZnJvbSBcIi4vdXRpbHNcIjtcblxuY29uc3QgX3BlbmRpbmdSZXF1ZXN0czogeyBba2V5OiBzdHJpbmddOiAoZGF0YTogdW5rbm93bikgPT4gdm9pZCB9ID0ge307XG5cbmNvbnN0IF9ldmVudEJ1cyA9IGNyZWF0ZU1lc3NhZ2VFdmVudEJ1cygpO1xuXG5leHBvcnQgY29uc3QgY2FsbEFwaSA9IGFzeW5jIDxUPihcbiAgcmVxdWVzdDogTWVzc2FnZURlZmluaXRpb248VD4sXG4gIHRhcmdldCA9IG51bGwgYXMgV2luZG93IHwgbnVsbFxuKTogUHJvbWlzZTx1bmtub3duPiA9PiB7XG4gIGNvbnN0IHsgcmVxdWVzdElkIH0gPSBfZXZlbnRCdXMucHVibGlzaChcbiAgICB7XG4gICAgICAuLi5yZXF1ZXN0LFxuICAgIH0sXG4gICAgdGFyZ2V0XG4gICk7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPHVua25vd24+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBfcGVuZGluZ1JlcXVlc3RzW3JlcXVlc3RJZF0gPSByZXNvbHZlO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoX3BlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdKSB7XG4gICAgICAgIGRlbGV0ZSBfcGVuZGluZ1JlcXVlc3RzW3JlcXVlc3RJZF07XG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoXCJSZXF1ZXN0IHRpbWVkIG91dFwiKSk7XG4gICAgICB9XG4gICAgfSwgNTAwMCk7IC8vIDUgc2Vjb25kcyB0aW1lb3V0XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyOiB0eXBlb2YgX2V2ZW50QnVzLnN1YnNjcmliZSA9IChzdWJzRGVmKSA9PlxuICBfZXZlbnRCdXMuc3Vic2NyaWJlKHN1YnNEZWYpO1xuXG5leHBvcnQgY29uc3QgdW5yZWdpc3RlcjogdHlwZW9mIF9ldmVudEJ1cy51bnN1YnNjcmliZSA9IChzdWJzKSA9PlxuICBfZXZlbnRCdXMudW5zdWJzY3JpYmUoc3Vicyk7XG5cbmNvbnN0IGhhbmRsZU1lc3NhZ2U6IHR5cGVvZiBfZXZlbnRCdXMuaGFuZGxlTWVzc2FnZSA9IChldmVudCkgPT4ge1xuICBjb25zdCB7IHJlcXVlc3RJZCwgdG9waWMsIGFjaywgcGF5bG9hZCB9ID0gZXZlbnQuZGF0YTtcbiAgaWYgKHJlcXVlc3RJZCkge1xuICAgIGlmIChhY2spIHtcbiAgICAgIGNvbnN0IHJlc29sdmUgPSBfcGVuZGluZ1JlcXVlc3RzW3JlcXVlc3RJZF07XG4gICAgICBpZiAocmVzb2x2ZSkge1xuICAgICAgICBkZWxldGUgX3BlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdO1xuICAgICAgICByZXNvbHZlKHBheWxvYWQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcm9taXNlcyA9IF9ldmVudEJ1cy5oYW5kbGVNZXNzYWdlKGV2ZW50KTtcbiAgICAgIHByb21pc2VzLmZvckVhY2goKHApID0+XG4gICAgICAgIHAudGhlbigocGF5bG9hZCkgPT4ge1xuICAgICAgICAgIGV2ZW50LnNvdXJjZVxuICAgICAgICAgICAgPyBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgIHJlcXVlc3RJZCxcbiAgICAgICAgICAgICAgICBhY2s6IHRydWUsXG4gICAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIDogd2luZG93LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICAgICAgbmV3IE1lc3NhZ2VFdmVudChcIm1lc3NhZ2VcIiwge1xuICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0SWQsXG4gICAgICAgICAgICAgICAgICAgIHRvcGljLFxuICAgICAgICAgICAgICAgICAgICBhY2s6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gW107XG59O1xuXG4vLyBOT1RFOiB3ZSBjYW4gdXNlIGEgc2luZ2xlIGV2ZW50IGhhbmRsZXIsIG9yIGp1c3QgYWRkIGxpc3RlbmVyIGRpcmVjdGx5XG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgaGFuZGxlTWVzc2FnZSk7XG4iLCJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUR5bmFtaWNDc3MgPSAodXJsOiBzdHJpbmcsIGlkOiBzdHJpbmcpID0+IHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpbmtcIik7XG4gICAgbGluay5yZWwgPSBcInN0eWxlc2hlZXRcIjtcbiAgICBsaW5rLmhyZWYgPSB1cmw7XG4gICAgbGluay5pZCA9IGlkO1xuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobGluayk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQuaGVhZC5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICB9O1xuICB9LCBbdXJsLCBpZF0pO1xufTsiLCJleHBvcnQgZGVmYXVsdCBcIl9fVklURV9BU1NFVF9fQnZta3FVX0pfX1wiIiwiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSwgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyByZW1vdGVBcGksIFN1YnNjcmlwdGlvbiwgZXZlbnRCdXMgfSBmcm9tIFwiLi4vLi4vbGlic1wiO1xuaW1wb3J0IHsgdXNlRHluYW1pY0NzcyB9IGZyb20gXCIuLi8uLi9saWJzXCI7XG5pbXBvcnQgcmVhY3RMb2dvIGZyb20gXCIuLi8uLi9hc3NldHMvcmVhY3Quc3ZnXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIE15Q29tcG9uZW50KHsgaWQgfTogeyBpZD86IHN0cmluZyB9KSB7XG4gIGNvbnN0IFthcHBMZXZlbEFwaVJlc3BvbnNlLCBzZXRBcHBMZXZlbEFwaVJlc3BvbnNlXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbY29tcExldmVsQXBpUmVzcG9uc2UsIHNldENvbXBMZXZlbEFwaVJlc3BvbnNlXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBhcGlTdWJzY3JpcHRpb25SZWYgPSB1c2VSZWY8U3Vic2NyaXB0aW9uPHsgbWVzc2FnZTogc3RyaW5nIH0+IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGV2ZW50U3Vic2NyaXB0aW9uUmVmID0gdXNlUmVmPFN1YnNjcmlwdGlvbjx7IG1lc3NhZ2U6IHN0cmluZyB9PiB8IG51bGw+KG51bGwpO1xuXG4gIHVzZUR5bmFtaWNDc3MoXCIvT3BzU2FtcGxlUGFnZS5jc3NcIiwgXCJkeW5hbWljLWNzc1wiKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFwaVN1YnNjcmlwdGlvblJlZi5jdXJyZW50ID0gcmVtb3RlQXBpLnJlZ2lzdGVyKHtcbiAgICAgIHRvcGljOiBcImNvbXBvbmVudC1sZXZlbC1hcGlcIixcbiAgICAgIGNoYW5uZWw6IGlkID8gYG15LWNvbXBvbmVudC0ke2lkfWAgOiBcIm15LWNvbXBvbmVudFwiLFxuICAgICAgaGFuZGxlcjogYXN5bmMgKHBheWxvYWQ6IHsgbWVzc2FnZTogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVzID0ge1xuICAgICAgICAgIHJlc3BvbnNlOiBgY29tcG9uZW50LWxldmVsLWFwaTogJHtwYXlsb2FkLm1lc3NhZ2V9IGZyb20gJHtpZH1gLFxuICAgICAgICB9O1xuICAgICAgICBzZXRDb21wTGV2ZWxBcGlSZXNwb25zZShgdHJpZ2dlciBjb21wb25lbnQtbGV2ZWwtYXBpIGZvciAke2lkfWApO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGV2ZW50U3Vic2NyaXB0aW9uUmVmLmN1cnJlbnQgPSBldmVudEJ1cy5zdWJzY3JpYmUoe1xuICAgICAgdG9waWM6IFwicGFyZW50U2VsZWN0aW9uQ2hhbmdlZFwiLFxuICAgICAgY2hhbm5lbDogaWQgPyBgbXktY29tcG9uZW50LSR7aWR9YCA6IFwibXktY29tcG9uZW50XCIsXG4gICAgICBoYW5kbGVyOiAocGF5bG9hZCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhgWyR7aWR9XSBSZWNlaXZlZCBwYXJlbnRTZWxlY3Rpb25DaGFuZ2VkOmAsIHBheWxvYWQpO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiggYXBpU3Vic2NyaXB0aW9uUmVmLmN1cnJlbnQgKSB7XG4gICAgICAgIHJlbW90ZUFwaS51bnJlZ2lzdGVyKGFwaVN1YnNjcmlwdGlvblJlZi5jdXJyZW50KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50U3Vic2NyaXB0aW9uUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgZXZlbnRCdXMudW5zdWJzY3JpYmUoZXZlbnRTdWJzY3JpcHRpb25SZWYuY3VycmVudCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2lkXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vcmVhY3QuZGV2XCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgPGltZyBzcmM9e3JlYWN0TG9nb30gY2xhc3NOYW1lPVwibG9nbyByZWFjdFwiIGFsdD1cIlJlYWN0IGxvZ29cIiAvPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxoMT5QYW5lbDwvaDE+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmRcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIHJlbW90ZUFwaVxuXG4gICAgICAgICAgICAgIC5jYWxsQXBpKHtcbiAgICAgICAgICAgICAgICB0b3BpYzogXCJhcHAtbGV2ZWwtYXBpXCIsXG4gICAgICAgICAgICAgICAgcGF5bG9hZDogeyBtZXNzYWdlOiBcIkhlbGxvLCB3b3JsZCFcIiB9LFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkFQSSByZXNwb25zZTpcIiwgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIHNldEFwcExldmVsQXBpUmVzcG9uc2UoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUuZXJyb3IoXCJBUEkgY2FsbCBmYWlsZWQ6XCIsIGVycm9yKTtcbiAgICAgICAgICAgICAgICBzZXRBcHBMZXZlbEFwaVJlc3BvbnNlKEpTT04uc3RyaW5naWZ5KGVycm9yKSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7XCIgXCJ9XG4gICAgICAgICAgY2FsbCBhcHAtbGV2ZWwtYXBpXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgZXZlbnRCdXMucHVibGlzaCh7XG4gICAgICAgICAgICAgIHRvcGljOiBcInNlbGVjdGlvbkNoYW5nZWRcIixcbiAgICAgICAgICAgICAgcGF5bG9hZDogeyBjb21wb25lbnQ6IGlkLCB1aWQ6IFwidWlkMVwiIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge1wiIFwifVxuICAgICAgICAgIHNlbmQgc2VsZWN0aW9uIGNoYW5nZSBldmVudFxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGRpdj57YXBwTGV2ZWxBcGlSZXNwb25zZX08L2Rpdj5cbiAgICAgICAgPGRpdj57Y29tcExldmVsQXBpUmVzcG9uc2V9PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTXlDb21wb25lbnQ7XG4iLCJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCBTdXNwZW5zZSwgbGF6eSwgY3JlYXRlRWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUm91dGVQYWdlIH0gZnJvbSBcIi4vcGFnZXMvUm91dGVyUGFnZVwiO1xuaW1wb3J0IHsgTXlDb21wb25lbnQgfSBmcm9tIFwiLi9wYWdlcy9vcHMvTXlDb21wb25lbnRcIjtcblxuY29uc3QgUk9VVEVTOiBSZWNvcmQ8c3RyaW5nLCBKU1guRWxlbWVudFR5cGU+ID0ge1xuICBncmlkOiBsYXp5KCgpID0+IGltcG9ydChcIi4vcGFnZXMvR3JpZFNhbXBsZVBhZ2VcIikpLFxuICBvcHM6IGxhenkoKCkgPT4gaW1wb3J0KFwiLi9wYWdlcy9PcHNTYW1wbGVQYWdlXCIpKSxcbiAgY3R4OiBsYXp5KCgpID0+IGltcG9ydChcIi4vcGFnZXMvQ3R4U2FtcGxlUGFnZVwiKSksXG4gIHJlcG9ydDogbGF6eSgoKSA9PiBpbXBvcnQoXCIuL3BhZ2VzL1JlcG9ydFNhbXBsZVBhZ2VcIikpLFxuICBpZnJhbWU6IGxhenkoKCkgPT4gaW1wb3J0KFwiLi9wYWdlcy9JZnJhbWVTYW1BdXRoU2FtcGxlUGFnZVwiKSksXG4gIHBvcnRhbDogbGF6eSgoKSA9PiBpbXBvcnQoXCIuL3BhZ2VzL1BvcnRhbFN0YXRlU2FtcGxlUGFnZVwiKSksXG59O1xuXG5jb25zdCBSb3V0ZXIgPSAoKSA9PiB7XG4gIC8qXG4gIHN0YXRlIGlzIG5vdCB3b3JraW5nIGluIHN0YXRpYyBob3N0IHdpdGhvdXQgc2VydmVyIHNpZGUgY29uZmlnLCBkaXNhYmxlIGl0IGZvciBub3cuXG4gIGNvbnN0IFtjdXJyZW50UGF0aCwgc2V0Q3VycmVudFBhdGhdID0gdXNlU3RhdGUod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVBvcFN0YXRlID0gKCkgPT4ge1xuICAgICAgc2V0Q3VycmVudFBhdGgod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICB9O1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJwb3BzdGF0ZVwiLCBoYW5kbGVQb3BTdGF0ZSk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb3BzdGF0ZVwiLCBoYW5kbGVQb3BTdGF0ZSk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gICovXG4gIGNvbnN0IFtjdXJyZW50UGF0aCwgc2V0Q3VycmVudFBhdGhdID0gdXNlU3RhdGUoXG4gICAgd2luZG93LmxvY2F0aW9uLmhhc2gucmVwbGFjZSgvXiNcXC8vLCBcIlwiKVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlSGFzaENoYW5nZSA9ICgpID0+IHtcbiAgICAgIHNldEN1cnJlbnRQYXRoKHdpbmRvdy5sb2NhdGlvbi5oYXNoLnJlcGxhY2UoL14jXFwvLywgXCJcIikpO1xuICAgIH07XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImhhc2hjaGFuZ2VcIiwgaGFuZGxlSGFzaENoYW5nZSk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJoYXNoY2hhbmdlXCIsIGhhbmRsZUhhc2hDaGFuZ2UpO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICBpZiAoIWN1cnJlbnRQYXRoKSB7XG4gICAgcmV0dXJuIDxSb3V0ZVBhZ2Ugcm91dGVzPXtST1VURVN9IC8+O1xuICB9IGVsc2UgaWYgKFJPVVRFU1tjdXJyZW50UGF0aF0pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN1c3BlbnNlPlxuICAgICAgICB7Y3JlYXRlRWxlbWVudChST1VURVNbY3VycmVudFBhdGhdKX1cbiAgICAgIDwvU3VzcGVuc2U+XG4gICAgKTtcbiAgLy8gVE9ETzogaGFyZCBjb2RlIGZvciBvcHMsIG5lZWQgaW1wcm92ZW1lbnRcbiAgfSBlbHNlIGlmIChjdXJyZW50UGF0aCA9PT0gXCJvcHNfaWZyYW1lXCIpIHtcbiAgICByZXR1cm4gPE15Q29tcG9uZW50IGlkPSdpZnJhbWUtY29tcG9uZW50LXNhbXBsZScgLz47XG4gIH0gZWxzZSBpZiAoY3VycmVudFBhdGggPT09IFwib3BzX3BvcHVwXCIpIHtcbiAgICByZXR1cm4gPE15Q29tcG9uZW50IGlkPSdwb3B1cC1jb21wb25lbnQtc2FtcGxlJyAvPjtcbiAgfWVsc2Uge1xuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gXCIvXCI7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJvdXRlcjtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20vY2xpZW50J1xuaW1wb3J0IFJvdXRlciBmcm9tICcuL1JvdXRlcidcblxuUmVhY3RET00uY3JlYXRlUm9vdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncm9vdCcpISkucmVuZGVyKFxuICA8UmVhY3QuU3RyaWN0TW9kZT5cbiAgICA8Um91dGVyIC8+XG4gIDwvUmVhY3QuU3RyaWN0TW9kZT4sXG4pXG4iXSwiZmlsZSI6ImFzc2V0cy9pbmRleC1ENk9aLUQ3bi5qcyJ9 \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index cc99665..7ee79cf 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ padding: 0; } - +