UNPKG

autemaliquam

Version:

A simple, maximally extensible, dependency minimized framework for building modern Ethereum dApps

49 lines 257 kB
_N_E =
(window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([["polyfills"],{

/***/ "./node_modules/next/dist/build/polyfills/polyfill-nomodule.js":
/*!*********************************************************************!*\
  !*** ./node_modules/next/dist/build/polyfills/polyfill-nomodule.js ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(global) {!function(){var t=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},n=r(\"object\"==typeof globalThis&&globalThis)||r(\"object\"==typeof window&&window)||r(\"object\"==typeof self&&self)||r(\"object\"==typeof t&&t)||Function(\"return this\")(),o=function(t){try{return!!t()}catch(t){return!0}},i=!o(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}),a={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,s={f:u&&!a.call({1:2},1)?function(t){var e=u(this,t);return!!e&&e.enumerable}:a},c=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},f={}.toString,l=function(t){return f.call(t).slice(8,-1)},h=\"\".split,p=o(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(t){return\"String\"==l(t)?h.call(t,\"\"):Object(t)}:Object,d=function(t){if(null==t)throw TypeError(\"Can't call method on \"+t);return t},v=function(t){return p(d(t))},g=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t},y=function(t,e){if(!g(t))return t;var r,n;if(e&&\"function\"==typeof(r=t.toString)&&!g(n=r.call(t)))return n;if(\"function\"==typeof(r=t.valueOf)&&!g(n=r.call(t)))return n;if(!e&&\"function\"==typeof(r=t.toString)&&!g(n=r.call(t)))return n;throw TypeError(\"Can't convert object to primitive value\")},m={}.hasOwnProperty,b=function(t,e){return m.call(t,e)},S=n.document,w=g(S)&&g(S.createElement),E=function(t){return w?S.createElement(t):{}},x=!i&&!o(function(){return 7!=Object.defineProperty(E(\"div\"),\"a\",{get:function(){return 7}}).a}),A=Object.getOwnPropertyDescriptor,R={f:i?A:function(t,e){if(t=v(t),e=y(e,!0),x)try{return A(t,e)}catch(t){}if(b(t,e))return c(!s.f.call(t,e),t[e])}},O=function(t){if(!g(t))throw TypeError(String(t)+\" is not an object\");return t},j=Object.defineProperty,I={f:i?j:function(t,e,r){if(O(t),e=y(e,!0),O(r),x)try{return j(t,e,r)}catch(t){}if(\"get\"in r||\"set\"in r)throw TypeError(\"Accessors not supported\");return\"value\"in r&&(t[e]=r.value),t}},P=i?function(t,e,r){return I.f(t,e,c(1,r))}:function(t,e,r){return t[e]=r,t},T=function(t,e){try{P(n,t,e)}catch(r){n[t]=e}return e},k=n[\"__core-js_shared__\"]||T(\"__core-js_shared__\",{}),L=Function.toString;\"function\"!=typeof k.inspectSource&&(k.inspectSource=function(t){return L.call(t)});var U,M,_,N=k.inspectSource,C=n.WeakMap,F=\"function\"==typeof C&&/native code/.test(N(C)),B=e(function(t){(t.exports=function(t,e){return k[t]||(k[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:\"3.6.5\",mode:\"global\",copyright:\"© 2020 Denis Pushkarev (zloirock.ru)\"})}),D=0,q=Math.random(),z=function(t){return\"Symbol(\"+String(void 0===t?\"\":t)+\")_\"+(++D+q).toString(36)},W=B(\"keys\"),K=function(t){return W[t]||(W[t]=z(t))},G={};if(F){var $=new(0,n.WeakMap),V=$.get,H=$.has,X=$.set;U=function(t,e){return X.call($,t,e),e},M=function(t){return V.call($,t)||{}},_=function(t){return H.call($,t)}}else{var Y=K(\"state\");G[Y]=!0,U=function(t,e){return P(t,Y,e),e},M=function(t){return b(t,Y)?t[Y]:{}},_=function(t){return b(t,Y)}}var J,Q={set:U,get:M,has:_,enforce:function(t){return _(t)?M(t):U(t,{})},getterFor:function(t){return function(e){var r;if(!g(e)||(r=M(e)).type!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required\");return r}}},Z=e(function(t){var e=Q.get,r=Q.enforce,o=String(String).split(\"String\");(t.exports=function(t,e,i,a){var u=!!a&&!!a.unsafe,s=!!a&&!!a.enumerable,c=!!a&&!!a.noTargetGet;\"function\"==typeof i&&(\"string\"!=typeof e||b(i,\"name\")||P(i,\"name\",e),r(i).source=o.join(\"string\"==typeof e?e:\"\")),t!==n?(u?!c&&t[e]&&(s=!0):delete t[e],s?t[e]=i:P(t,e,i)):s?t[e]=i:T(e,i)})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&e(this).source||N(this)})}),tt=n,et=function(t){return\"function\"==typeof t?t:void 0},rt=function(t,e){return arguments.length<2?et(tt[t])||et(n[t]):tt[t]&&tt[t][e]||n[t]&&n[t][e]},nt=Math.ceil,ot=Math.floor,it=function(t){return isNaN(t=+t)?0:(t>0?ot:nt)(t)},at=Math.min,ut=function(t){return t>0?at(it(t),9007199254740991):0},st=Math.max,ct=Math.min,ft=function(t,e){var r=it(t);return r<0?st(r+e,0):ct(r,e)},lt=function(t){return function(e,r,n){var o,i=v(e),a=ut(i.length),u=ft(n,a);if(t&&r!=r){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},ht={includes:lt(!0),indexOf:lt(!1)},pt=ht.indexOf,dt=function(t,e){var r,n=v(t),o=0,i=[];for(r in n)!b(G,r)&&b(n,r)&&i.push(r);for(;e.length>o;)b(n,r=e[o++])&&(~pt(i,r)||i.push(r));return i},vt=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"],gt=vt.concat(\"length\",\"prototype\"),yt={f:Object.getOwnPropertyNames||function(t){return dt(t,gt)}},mt={f:Object.getOwnPropertySymbols},bt=rt(\"Reflect\",\"ownKeys\")||function(t){var e=yt.f(O(t)),r=mt.f;return r?e.concat(r(t)):e},St=function(t,e){for(var r=bt(e),n=I.f,o=R.f,i=0;i<r.length;i++){var a=r[i];b(t,a)||n(t,a,o(e,a))}},wt=/#|\\.prototype\\./,Et=function(t,e){var r=At[xt(t)];return r==Ot||r!=Rt&&(\"function\"==typeof e?o(e):!!e)},xt=Et.normalize=function(t){return String(t).replace(wt,\".\").toLowerCase()},At=Et.data={},Rt=Et.NATIVE=\"N\",Ot=Et.POLYFILL=\"P\",jt=Et,It=R.f,Pt=function(t,e){var r,o,i,a,u,s=t.target,c=t.global,f=t.stat;if(r=c?n:f?n[s]||T(s,{}):(n[s]||{}).prototype)for(o in e){if(a=e[o],i=t.noTargetGet?(u=It(r,o))&&u.value:r[o],!jt(c?o:s+(f?\".\":\"#\")+o,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;St(a,i)}(t.sham||i&&i.sham)&&P(a,\"sham\",!0),Z(r,o,a,t)}},Tt=function(t){return Object(d(t))},kt=Math.min,Lt=[].copyWithin||function(t,e){var r=Tt(this),n=ut(r.length),o=ft(t,n),i=ft(e,n),a=arguments.length>2?arguments[2]:void 0,u=kt((void 0===a?n:ft(a,n))-i,n-o),s=1;for(i<o&&o<i+u&&(s=-1,i+=u-1,o+=u-1);u-- >0;)i in r?r[o]=r[i]:delete r[o],o+=s,i+=s;return r},Ut=!!Object.getOwnPropertySymbols&&!o(function(){return!String(Symbol())}),Mt=Ut&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator,_t=B(\"wks\"),Nt=n.Symbol,Ct=Mt?Nt:Nt&&Nt.withoutSetter||z,Ft=function(t){return b(_t,t)||(_t[t]=Ut&&b(Nt,t)?Nt[t]:Ct(\"Symbol.\"+t)),_t[t]},Bt=Object.keys||function(t){return dt(t,vt)},Dt=i?Object.defineProperties:function(t,e){O(t);for(var r,n=Bt(e),o=n.length,i=0;o>i;)I.f(t,r=n[i++],e[r]);return t},qt=rt(\"document\",\"documentElement\"),zt=K(\"IE_PROTO\"),Wt=function(){},Kt=function(t){return\"<script>\"+t+\"<\\/script>\"},Gt=function(){try{J=document.domain&&new ActiveXObject(\"htmlfile\")}catch(t){}var t,e;Gt=J?function(t){t.write(Kt(\"\")),t.close();var e=t.parentWindow.Object;return t=null,e}(J):((e=E(\"iframe\")).style.display=\"none\",qt.appendChild(e),e.src=String(\"javascript:\"),(t=e.contentWindow.document).open(),t.write(Kt(\"document.F=Object\")),t.close(),t.F);for(var r=vt.length;r--;)delete Gt.prototype[vt[r]];return Gt()};G[zt]=!0;var $t=Object.create||function(t,e){var r;return null!==t?(Wt.prototype=O(t),r=new Wt,Wt.prototype=null,r[zt]=t):r=Gt(),void 0===e?r:Dt(r,e)},Vt=Ft(\"unscopables\"),Ht=Array.prototype;null==Ht[Vt]&&I.f(Ht,Vt,{configurable:!0,value:$t(null)});var Xt=function(t){Ht[Vt][t]=!0};Pt({target:\"Array\",proto:!0},{copyWithin:Lt}),Xt(\"copyWithin\");var Yt=function(t){if(\"function\"!=typeof t)throw TypeError(String(t)+\" is not a function\");return t},Jt=function(t,e,r){if(Yt(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}},Qt=Function.call,Zt=function(t,e,r){return Jt(Qt,n[t].prototype[e],r)};Zt(\"Array\",\"copyWithin\"),Pt({target:\"Array\",proto:!0},{fill:function(t){for(var e=Tt(this),r=ut(e.length),n=arguments.length,o=ft(n>1?arguments[1]:void 0,r),i=n>2?arguments[2]:void 0,a=void 0===i?r:ft(i,r);a>o;)e[o++]=t;return e}}),Xt(\"fill\"),Zt(\"Array\",\"fill\");var te=Array.isArray||function(t){return\"Array\"==l(t)},ee=Ft(\"species\"),re=function(t,e){var r;return te(t)&&(\"function\"!=typeof(r=t.constructor)||r!==Array&&!te(r.prototype)?g(r)&&null===(r=r[ee])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},ne=[].push,oe=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,s,c,f){for(var l,h,d=Tt(u),v=p(d),g=Jt(s,c,3),y=ut(v.length),m=0,b=f||re,S=e?b(u,y):r?b(u,0):void 0;y>m;m++)if((a||m in v)&&(h=g(l=v[m],m,d),t))if(e)S[m]=h;else if(h)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:ne.call(S,l)}else if(o)return!1;return i?-1:n||o?o:S}},ie={forEach:oe(0),map:oe(1),filter:oe(2),some:oe(3),every:oe(4),find:oe(5),findIndex:oe(6)},ae=Object.defineProperty,ue={},se=function(t){throw t},ce=function(t,e){if(b(ue,t))return ue[t];e||(e={});var r=[][t],n=!!b(e,\"ACCESSORS\")&&e.ACCESSORS,a=b(e,0)?e[0]:se,u=b(e,1)?e[1]:void 0;return ue[t]=!!r&&!o(function(){if(n&&!i)return!0;var t={length:-1};n?ae(t,1,{enumerable:!0,get:se}):t[1]=1,r.call(t,a,u)})},fe=ie.find,le=!0,he=ce(\"find\");\"find\"in[]&&Array(1).find(function(){le=!1}),Pt({target:\"Array\",proto:!0,forced:le||!he},{find:function(t){return fe(this,t,arguments.length>1?arguments[1]:void 0)}}),Xt(\"find\"),Zt(\"Array\",\"find\");var pe=ie.findIndex,de=!0,ve=ce(\"findIndex\");\"findIndex\"in[]&&Array(1).findIndex(function(){de=!1}),Pt({target:\"Array\",proto:!0,forced:de||!ve},{findIndex:function(t){return pe(this,t,arguments.length>1?arguments[1]:void 0)}}),Xt(\"findIndex\"),Zt(\"Array\",\"findIndex\");var ge=function(t,e,r,n,o,i,a,u){for(var s,c=o,f=0,l=!!a&&Jt(a,u,3);f<n;){if(f in r){if(s=l?l(r[f],f,e):r[f],i>0&&te(s))c=ge(t,e,s,ut(s.length),c,i-1)-1;else{if(c>=9007199254740991)throw TypeError(\"Exceed the acceptable array length\");t[c]=s}c++}f++}return c},ye=ge;Pt({target:\"Array\",proto:!0},{flatMap:function(t){var e,r=Tt(this),n=ut(r.length);return Yt(t),(e=re(r,0)).length=ye(e,r,r,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}}),Xt(\"flatMap\"),Zt(\"Array\",\"flatMap\"),Pt({target:\"Array\",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=Tt(this),r=ut(e.length),n=re(e,0);return n.length=ye(n,e,e,r,0,void 0===t?1:it(t)),n}}),Xt(\"flat\"),Zt(\"Array\",\"flat\");var me,be,Se,we=function(t){return function(e,r){var n,o,i=String(d(e)),a=it(r),u=i.length;return a<0||a>=u?t?\"\":void 0:(n=i.charCodeAt(a))<55296||n>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):n:t?i.slice(a,a+2):o-56320+(n-55296<<10)+65536}},Ee={codeAt:we(!1),charAt:we(!0)},xe=!o(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),Ae=K(\"IE_PROTO\"),Re=Object.prototype,Oe=xe?Object.getPrototypeOf:function(t){return t=Tt(t),b(t,Ae)?t[Ae]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?Re:null},je=Ft(\"iterator\"),Ie=!1;[].keys&&(\"next\"in(Se=[].keys())?(be=Oe(Oe(Se)))!==Object.prototype&&(me=be):Ie=!0),null==me&&(me={}),b(me,je)||P(me,je,function(){return this});var Pe={IteratorPrototype:me,BUGGY_SAFARI_ITERATORS:Ie},Te=I.f,ke=Ft(\"toStringTag\"),Le=function(t,e,r){t&&!b(t=r?t:t.prototype,ke)&&Te(t,ke,{configurable:!0,value:e})},Ue={},Me=Pe.IteratorPrototype,_e=function(){return this},Ne=function(t,e,r){var n=e+\" Iterator\";return t.prototype=$t(Me,{next:c(1,r)}),Le(t,n,!1),Ue[n]=_e,t},Ce=function(t){if(!g(t)&&null!==t)throw TypeError(\"Can't set \"+String(t)+\" as a prototype\");return t},Fe=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return O(r),Ce(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),Be=Pe.IteratorPrototype,De=Pe.BUGGY_SAFARI_ITERATORS,qe=Ft(\"iterator\"),ze=function(){return this},We=function(t,e,r,n,o,i,a){Ne(r,e,n);var u,s,c,f=function(t){if(t===o&&v)return v;if(!De&&t in p)return p[t];switch(t){case\"keys\":case\"values\":case\"entries\":return function(){return new r(this,t)}}return function(){return new r(this)}},l=e+\" Iterator\",h=!1,p=t.prototype,d=p[qe]||p[\"@@iterator\"]||o&&p[o],v=!De&&d||f(o),g=\"Array\"==e&&p.entries||d;if(g&&(u=Oe(g.call(new t)),Be!==Object.prototype&&u.next&&(Oe(u)!==Be&&(Fe?Fe(u,Be):\"function\"!=typeof u[qe]&&P(u,qe,ze)),Le(u,l,!0))),\"values\"==o&&d&&\"values\"!==d.name&&(h=!0,v=function(){return d.call(this)}),p[qe]!==v&&P(p,qe,v),Ue[e]=v,o)if(s={values:f(\"values\"),keys:i?v:f(\"keys\"),entries:f(\"entries\")},a)for(c in s)!De&&!h&&c in p||Z(p,c,s[c]);else Pt({target:e,proto:!0,forced:De||h},s);return s},Ke=Ee.charAt,Ge=Q.set,$e=Q.getterFor(\"String Iterator\");We(String,\"String\",function(t){Ge(this,{type:\"String Iterator\",string:String(t),index:0})},function(){var t,e=$e(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=Ke(r,n),e.index+=t.length,{value:t,done:!1})});var Ve=function(t,e,r,n){try{return n?e(O(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&O(o.call(t)),e}},He=Ft(\"iterator\"),Xe=Array.prototype,Ye=function(t){return void 0!==t&&(Ue.Array===t||Xe[He]===t)},Je=function(t,e,r){var n=y(e);n in t?I.f(t,n,c(0,r)):t[n]=r},Qe={};Qe[Ft(\"toStringTag\")]=\"z\";var Ze=\"[object z]\"===String(Qe),tr=Ft(\"toStringTag\"),er=\"Arguments\"==l(function(){return arguments}()),rr=Ze?l:function(t){var e,r,n;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),tr))?r:er?l(e):\"Object\"==(n=l(e))&&\"function\"==typeof e.callee?\"Arguments\":n},nr=Ft(\"iterator\"),or=function(t){if(null!=t)return t[nr]||t[\"@@iterator\"]||Ue[rr(t)]},ir=function(t){var e,r,n,o,i,a,u=Tt(t),s=\"function\"==typeof this?this:Array,c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=or(u),p=0;if(l&&(f=Jt(f,c>2?arguments[2]:void 0,2)),null==h||s==Array&&Ye(h))for(r=new s(e=ut(u.length));e>p;p++)a=l?f(u[p],p):u[p],Je(r,p,a);else for(i=(o=h.call(u)).next,r=new s;!(n=i.call(o)).done;p++)a=l?Ve(o,f,[n.value,p],!0):n.value,Je(r,p,a);return r.length=p,r},ar=Ft(\"iterator\"),ur=function(t,e){if(!e)return!1;var r=!1;try{var n={};n[ar]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r},sr=!ur(function(t){});Pt({target:\"Array\",stat:!0,forced:sr},{from:ir});var cr=ht.includes,fr=ce(\"indexOf\",{ACCESSORS:!0,1:0});Pt({target:\"Array\",proto:!0,forced:!fr},{includes:function(t){return cr(this,t,arguments.length>1?arguments[1]:void 0)}}),Xt(\"includes\"),Zt(\"Array\",\"includes\");var lr=Q.set,hr=Q.getterFor(\"Array Iterator\"),pr=We(Array,\"Array\",function(t,e){lr(this,{type:\"Array Iterator\",target:v(t),index:0,kind:e})},function(){var t=hr(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):\"keys\"==r?{value:n,done:!1}:\"values\"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}},\"values\");Ue.Arguments=Ue.Array,Xt(\"keys\"),Xt(\"values\"),Xt(\"entries\"),Zt(\"Array\",\"values\");var dr=o(function(){function t(){}return!(Array.of.call(t)instanceof t)});Pt({target:\"Array\",stat:!0,forced:dr},{of:function(){for(var t=arguments,e=0,r=arguments.length,n=new(\"function\"==typeof this?this:Array)(r);r>e;)Je(n,e,t[e++]);return n.length=r,n}});var vr=Ft(\"hasInstance\"),gr=Function.prototype;vr in gr||I.f(gr,vr,{value:function(t){if(\"function\"!=typeof this||!g(t))return!1;if(!g(this.prototype))return t instanceof this;for(;t=Oe(t);)if(this.prototype===t)return!0;return!1}}),Function,Ft(\"hasInstance\");var yr=Function.prototype,mr=yr.toString,br=/^\\s*function ([^ (]*)/;!i||\"name\"in yr||(0,I.f)(yr,\"name\",{configurable:!0,get:function(){try{return mr.call(this).match(br)[1]}catch(t){return\"\"}}});var Sr=!o(function(){return Object.isExtensible(Object.preventExtensions({}))}),wr=e(function(t){var e=I.f,r=z(\"meta\"),n=0,o=Object.isExtensible||function(){return!0},i=function(t){e(t,r,{value:{objectID:\"O\"+ ++n,weakData:{}}})},a=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!g(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!b(t,r)){if(!o(t))return\"F\";if(!e)return\"E\";i(t)}return t[r].objectID},getWeakData:function(t,e){if(!b(t,r)){if(!o(t))return!0;if(!e)return!1;i(t)}return t[r].weakData},onFreeze:function(t){return Sr&&a.REQUIRED&&o(t)&&!b(t,r)&&i(t),t}};G[r]=!0}),Er=e(function(t){var e=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,r,n,o,i){var a,u,s,c,f,l,h,p=Jt(r,n,o?2:1);if(i)a=t;else{if(\"function\"!=typeof(u=or(t)))throw TypeError(\"Target is not iterable\");if(Ye(u)){for(s=0,c=ut(t.length);c>s;s++)if((f=o?p(O(h=t[s])[0],h[1]):p(t[s]))&&f instanceof e)return f;return new e(!1)}a=u.call(t)}for(l=a.next;!(h=l.call(a)).done;)if(\"object\"==typeof(f=Ve(a,p,h.value,o))&&f&&f instanceof e)return f;return new e(!1)}).stop=function(t){return new e(!0,t)}}),xr=function(t,e,r){if(!(t instanceof e))throw TypeError(\"Incorrect \"+(r?r+\" \":\"\")+\"invocation\");return t},Ar=function(t,e,r){var n,o;return Fe&&\"function\"==typeof(n=e.constructor)&&n!==r&&g(o=n.prototype)&&o!==r.prototype&&Fe(t,o),t},Rr=function(t,e,r){var i=-1!==t.indexOf(\"Map\"),a=-1!==t.indexOf(\"Weak\"),u=i?\"set\":\"add\",s=n[t],c=s&&s.prototype,f=s,l={},h=function(t){var e=c[t];Z(c,t,\"add\"==t?function(t){return e.call(this,0===t?0:t),this}:\"delete\"==t?function(t){return!(a&&!g(t))&&e.call(this,0===t?0:t)}:\"get\"==t?function(t){return a&&!g(t)?void 0:e.call(this,0===t?0:t)}:\"has\"==t?function(t){return!(a&&!g(t))&&e.call(this,0===t?0:t)}:function(t,r){return e.call(this,0===t?0:t,r),this})};if(jt(t,\"function\"!=typeof s||!(a||c.forEach&&!o(function(){(new s).entries().next()}))))f=r.getConstructor(e,t,i,u),wr.REQUIRED=!0;else if(jt(t,!0)){var p=new f,d=p[u](a?{}:-0,1)!=p,v=o(function(){p.has(1)}),y=ur(function(t){new s(t)}),m=!a&&o(function(){for(var t=new s,e=5;e--;)t[u](e,e);return!t.has(-0)});y||((f=e(function(e,r){xr(e,f,t);var n=Ar(new s,e,f);return null!=r&&Er(r,n[u],n,i),n})).prototype=c,c.constructor=f),(v||m)&&(h(\"delete\"),h(\"has\"),i&&h(\"get\")),(m||d)&&h(u),a&&c.clear&&delete c.clear}return l[t]=f,Pt({global:!0,forced:f!=s},l),Le(f,t),a||r.setStrong(f,t,i),f},Or=function(t,e,r){for(var n in e)Z(t,n,e[n],r);return t},jr=Ft(\"species\"),Ir=function(t){var e=rt(t);i&&e&&!e[jr]&&(0,I.f)(e,jr,{configurable:!0,get:function(){return this}})},Pr=I.f,Tr=wr.fastKey,kr=Q.set,Lr=Q.getterFor,Ur={getConstructor:function(t,e,r,n){var o=t(function(t,a){xr(t,o,e),kr(t,{type:e,index:$t(null),first:void 0,last:void 0,size:0}),i||(t.size=0),null!=a&&Er(a,t[n],t,r)}),a=Lr(e),u=function(t,e,r){var n,o,u=a(t),c=s(t,e);return c?c.value=r:(u.last=c={index:o=Tr(e,!0),key:e,value:r,previous:n=u.last,next:void 0,removed:!1},u.first||(u.first=c),n&&(n.next=c),i?u.size++:t.size++,\"F\"!==o&&(u.index[o]=c)),t},s=function(t,e){var r,n=a(t),o=Tr(e);if(\"F\"!==o)return n.index[o];for(r=n.first;r;r=r.next)if(r.key==e)return r};return Or(o.prototype,{clear:function(){for(var t=a(this),e=t.index,r=t.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete e[r.index],r=r.next;t.first=t.last=void 0,i?t.size=0:this.size=0},delete:function(t){var e=a(this),r=s(this,t);if(r){var n=r.next,o=r.previous;delete e.index[r.index],r.removed=!0,o&&(o.next=n),n&&(n.previous=o),e.first==r&&(e.first=n),e.last==r&&(e.last=o),i?e.size--:this.size--}return!!r},forEach:function(t){for(var e,r=a(this),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!s(this,t)}}),Or(o.prototype,r?{get:function(t){var e=s(this,t);return e&&e.value},set:function(t,e){return u(this,0===t?0:t,e)}}:{add:function(t){return u(this,t=0===t?0:t,t)}}),i&&Pr(o.prototype,\"size\",{get:function(){return a(this).size}}),o},setStrong:function(t,e,r){var n=e+\" Iterator\",o=Lr(e),i=Lr(n);We(t,e,function(t,e){kr(this,{type:n,target:t,state:o(t),kind:e,last:void 0})},function(){for(var t=i(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?\"keys\"==e?{value:r.key,done:!1}:\"values\"==e?{value:r.value,done:!1}:{value:[r.key,r.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})},r?\"entries\":\"values\",!r,!0),Ir(e)}},Mr=Rr(\"Map\",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Ur);Ze||Z(Object.prototype,\"toString\",Ze?{}.toString:function(){return\"[object \"+rr(this)+\"]\"},{unsafe:!0});var _r={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Nr=Ft(\"iterator\"),Cr=Ft(\"toStringTag\"),Fr=pr.values;for(var Br in _r){var Dr=n[Br],qr=Dr&&Dr.prototype;if(qr){if(qr[Nr]!==Fr)try{P(qr,Nr,Fr)}catch(t){qr[Nr]=Fr}if(qr[Cr]||P(qr,Cr,Br),_r[Br])for(var zr in pr)if(qr[zr]!==pr[zr])try{P(qr,zr,pr[zr])}catch(t){qr[zr]=pr[zr]}}}var Wr=function(t){var e,r,n,o,i=arguments.length,a=i>1?arguments[1]:void 0;return Yt(this),(e=void 0!==a)&&Yt(a),null==t?new this:(r=[],e?(n=0,o=Jt(a,i>2?arguments[2]:void 0,2),Er(t,function(t){r.push(o(t,n++))})):Er(t,r.push,r),new this(r))};Pt({target:\"Map\",stat:!0},{from:Wr});var Kr=function(){for(var t=arguments,e=arguments.length,r=new Array(e);e--;)r[e]=t[e];return new this(r)};Pt({target:\"Map\",stat:!0},{of:Kr});var Gr=function(){for(var t,e=arguments,r=O(this),n=Yt(r.delete),o=!0,i=0,a=arguments.length;i<a;i++)t=n.call(r,e[i]),o=o&&t;return!!o};Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{deleteAll:function(){return Gr.apply(this,arguments)}});var $r=function(t){var e=or(t);if(\"function\"!=typeof e)throw TypeError(String(t)+\" is not iterable\");return O(e.call(t))},Vr=function(t){return Map.prototype.entries.call(t)};Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{every:function(t){var e=O(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return!Er(r,function(t,r){if(!n(r,t,e))return Er.stop()},void 0,!0,!0).stopped}});var Hr=Ft(\"species\"),Xr=function(t,e){var r,n=O(t).constructor;return void 0===n||null==(r=O(n)[Hr])?e:Yt(r)};Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{filter:function(t){var e=O(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Xr(e,rt(\"Map\"))),i=Yt(o.set);return Er(r,function(t,r){n(r,t,e)&&i.call(o,t,r)},void 0,!0,!0),o}}),Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{find:function(t){var e=O(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return Er(r,function(t,r){if(n(r,t,e))return Er.stop(r)},void 0,!0,!0).result}}),Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{findKey:function(t){var e=O(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return Er(r,function(t,r){if(n(r,t,e))return Er.stop(t)},void 0,!0,!0).result}}),Pt({target:\"Map\",stat:!0},{groupBy:function(t,e){var r=new this;Yt(e);var n=Yt(r.has),o=Yt(r.get),i=Yt(r.set);return Er(t,function(t){var a=e(t);n.call(r,a)?o.call(r,a).push(t):i.call(r,a,[t])}),r}}),Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{includes:function(t){return Er(Vr(O(this)),function(e,r){if((n=r)===(o=t)||n!=n&&o!=o)return Er.stop();var n,o},void 0,!0,!0).stopped}}),Pt({target:\"Map\",stat:!0},{keyBy:function(t,e){var r=new this;Yt(e);var n=Yt(r.set);return Er(t,function(t){n.call(r,e(t),t)}),r}}),Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{keyOf:function(t){return Er(Vr(O(this)),function(e,r){if(r===t)return Er.stop(e)},void 0,!0,!0).result}}),Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{mapKeys:function(t){var e=O(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Xr(e,rt(\"Map\"))),i=Yt(o.set);return Er(r,function(t,r){i.call(o,n(r,t,e),r)},void 0,!0,!0),o}}),Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{mapValues:function(t){var e=O(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Xr(e,rt(\"Map\"))),i=Yt(o.set);return Er(r,function(t,r){i.call(o,t,n(r,t,e))},void 0,!0,!0),o}}),Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{merge:function(t){for(var e=arguments,r=O(this),n=Yt(r.set),o=0;o<arguments.length;)Er(e[o++],n,r,!0);return r}}),Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{reduce:function(t){var e=O(this),r=Vr(e),n=arguments.length<2,o=n?void 0:arguments[1];if(Yt(t),Er(r,function(r,i){n?(n=!1,o=i):o=t(o,i,r,e)},void 0,!0,!0),n)throw TypeError(\"Reduce of empty map with no initial value\");return o}}),Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{some:function(t){var e=O(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return Er(r,function(t,r){if(n(r,t,e))return Er.stop()},void 0,!0,!0).stopped}}),Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{update:function(t,e){var r=O(this),n=arguments.length;Yt(e);var o=r.has(t);if(!o&&n<3)throw TypeError(\"Updating absent value\");var i=o?r.get(t):Yt(n>2?arguments[2]:void 0)(t,r);return r.set(t,e(i,t,r)),r}});var Yr=function(t,e){var r,n=O(this),o=arguments.length>2?arguments[2]:void 0;if(\"function\"!=typeof e&&\"function\"!=typeof o)throw TypeError(\"At least one callback required\");return n.has(t)?(r=n.get(t),\"function\"==typeof e&&(r=e(r),n.set(t,r))):\"function\"==typeof o&&(r=o(),n.set(t,r)),r};Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{upsert:Yr}),Pt({target:\"Map\",proto:!0,real:!0,forced:!1},{updateOrInsert:Yr});var Jr=\"\\t\\n\\v\\f\\r                 \\u2028\\u2029\\ufeff\",Qr=\"[\"+Jr+\"]\",Zr=RegExp(\"^\"+Qr+Qr+\"*\"),tn=RegExp(Qr+Qr+\"*$\"),en=function(t){return function(e){var r=String(d(e));return 1&t&&(r=r.replace(Zr,\"\")),2&t&&(r=r.replace(tn,\"\")),r}},rn={start:en(1),end:en(2),trim:en(3)},nn=yt.f,on=R.f,an=I.f,un=rn.trim,sn=n.Number,cn=sn.prototype,fn=\"Number\"==l($t(cn)),ln=function(t){var e,r,n,o,i,a,u,s,c=y(t,!1);if(\"string\"==typeof c&&c.length>2)if(43===(e=(c=un(c)).charCodeAt(0))||45===e){if(88===(r=c.charCodeAt(2))||120===r)return NaN}else if(48===e){switch(c.charCodeAt(1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+c}for(a=(i=c.slice(2)).length,u=0;u<a;u++)if((s=i.charCodeAt(u))<48||s>o)return NaN;return parseInt(i,n)}return+c};if(jt(\"Number\",!sn(\" 0o1\")||!sn(\"0b1\")||sn(\"+0x1\"))){for(var hn,pn=function(t){var e=arguments.length<1?0:t,r=this;return r instanceof pn&&(fn?o(function(){cn.valueOf.call(r)}):\"Number\"!=l(r))?Ar(new sn(ln(e)),r,pn):ln(e)},dn=i?nn(sn):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),vn=0;dn.length>vn;vn++)b(sn,hn=dn[vn])&&!b(pn,hn)&&an(pn,hn,on(sn,hn));pn.prototype=cn,cn.constructor=pn,Z(n,\"Number\",pn)}Pt({target:\"Number\",stat:!0},{EPSILON:Math.pow(2,-52)});var gn=n.isFinite,yn=Number.isFinite||function(t){return\"number\"==typeof t&&gn(t)};Pt({target:\"Number\",stat:!0},{isFinite:yn});var mn=Math.floor,bn=function(t){return!g(t)&&isFinite(t)&&mn(t)===t};Pt({target:\"Number\",stat:!0},{isInteger:bn}),Pt({target:\"Number\",stat:!0},{isNaN:function(t){return t!=t}});var Sn=Math.abs;Pt({target:\"Number\",stat:!0},{isSafeInteger:function(t){return bn(t)&&Sn(t)<=9007199254740991}}),Pt({target:\"Number\",stat:!0},{MAX_SAFE_INTEGER:9007199254740991}),Pt({target:\"Number\",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991});var wn=rn.trim,En=n.parseFloat,xn=1/En(Jr+\"-0\")!=-Infinity?function(t){var e=wn(String(t)),r=En(e);return 0===r&&\"-\"==e.charAt(0)?-0:r}:En;Pt({target:\"Number\",stat:!0,forced:Number.parseFloat!=xn},{parseFloat:xn});var An=rn.trim,Rn=n.parseInt,On=/^[+-]?0[Xx]/,jn=8!==Rn(Jr+\"08\")||22!==Rn(Jr+\"0x16\")?function(t,e){var r=An(String(t));return Rn(r,e>>>0||(On.test(r)?16:10))}:Rn;Pt({target:\"Number\",stat:!0,forced:Number.parseInt!=jn},{parseInt:jn});var In=s.f,Pn=function(t){return function(e){for(var r,n=v(e),o=Bt(n),a=o.length,u=0,s=[];a>u;)r=o[u++],i&&!In.call(n,r)||s.push(t?[r,n[r]]:n[r]);return s}},Tn={entries:Pn(!0),values:Pn(!1)},kn=Tn.entries;Pt({target:\"Object\",stat:!0},{entries:function(t){return kn(t)}}),Pt({target:\"Object\",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(t){for(var e,r,n=v(t),o=R.f,i=bt(n),a={},u=0;i.length>u;)void 0!==(r=o(n,e=i[u++]))&&Je(a,e,r);return a}});var Ln=o(function(){Bt(1)});Pt({target:\"Object\",stat:!0,forced:Ln},{keys:function(t){return Bt(Tt(t))}});var Un=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};Pt({target:\"Object\",stat:!0},{is:Un});var Mn=Tn.values;Pt({target:\"Object\",stat:!0},{values:function(t){return Mn(t)}});var _n=rt(\"Reflect\",\"apply\"),Nn=Function.apply,Cn=!o(function(){_n(function(){})});Pt({target:\"Reflect\",stat:!0,forced:Cn},{apply:function(t,e,r){return Yt(t),O(r),_n?_n(t,e,r):Nn.call(t,e,r)}});var Fn=[].slice,Bn={},Dn=Function.bind||function(t){var e=Yt(this),r=Fn.call(arguments,1),n=function(){var o=r.concat(Fn.call(arguments));return this instanceof n?function(t,e,r){if(!(e in Bn)){for(var n=[],o=0;o<e;o++)n[o]=\"a[\"+o+\"]\";Bn[e]=Function(\"C,a\",\"return new C(\"+n.join(\",\")+\")\")}return Bn[e](t,r)}(e,o.length,o):e.apply(t,o)};return g(e.prototype)&&(n.prototype=e.prototype),n},qn=rt(\"Reflect\",\"construct\"),zn=o(function(){function t(){}return!(qn(function(){},[],t)instanceof t)}),Wn=!o(function(){qn(function(){})}),Kn=zn||Wn;Pt({target:\"Reflect\",stat:!0,forced:Kn,sham:Kn},{construct:function(t,e){Yt(t),O(e);var r=arguments.length<3?t:Yt(arguments[2]);if(Wn&&!zn)return qn(t,e,r);if(t==r){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return n.push.apply(n,e),new(Dn.apply(t,n))}var o=r.prototype,i=$t(g(o)?o:Object.prototype),a=Function.apply.call(t,i,e);return g(a)?a:i}});var Gn=o(function(){Reflect.defineProperty(I.f({},1,{value:1}),1,{value:2})});Pt({target:\"Reflect\",stat:!0,forced:Gn,sham:!i},{defineProperty:function(t,e,r){O(t);var n=y(e,!0);O(r);try{return I.f(t,n,r),!0}catch(t){return!1}}});var $n=R.f;Pt({target:\"Reflect\",stat:!0},{deleteProperty:function(t,e){var r=$n(O(t),e);return!(r&&!r.configurable)&&delete t[e]}}),Pt({target:\"Reflect\",stat:!0},{get:function t(e,r){var n,o,i=arguments.length<3?e:arguments[2];return O(e)===i?e[r]:(n=R.f(e,r))?b(n,\"value\")?n.value:void 0===n.get?void 0:n.get.call(i):g(o=Oe(e))?t(o,r,i):void 0}}),Pt({target:\"Reflect\",stat:!0,sham:!i},{getOwnPropertyDescriptor:function(t,e){return R.f(O(t),e)}}),Pt({target:\"Reflect\",stat:!0,sham:!xe},{getPrototypeOf:function(t){return Oe(O(t))}}),Pt({target:\"Reflect\",stat:!0},{has:function(t,e){return e in t}});var Vn=Object.isExtensible;Pt({target:\"Reflect\",stat:!0},{isExtensible:function(t){return O(t),!Vn||Vn(t)}}),Pt({target:\"Reflect\",stat:!0},{ownKeys:bt}),Pt({target:\"Reflect\",stat:!0,sham:!Sr},{preventExtensions:function(t){O(t);try{var e=rt(\"Object\",\"preventExtensions\");return e&&e(t),!0}catch(t){return!1}}});var Hn=o(function(){var t=I.f({},\"a\",{configurable:!0});return!1!==Reflect.set(Oe(t),\"a\",1,t)});Pt({target:\"Reflect\",stat:!0,forced:Hn},{set:function t(e,r,n){var o,i,a=arguments.length<4?e:arguments[3],u=R.f(O(e),r);if(!u){if(g(i=Oe(e)))return t(i,r,n,a);u=c(0)}if(b(u,\"value\")){if(!1===u.writable||!g(a))return!1;if(o=R.f(a,r)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,I.f(a,r,o)}else I.f(a,r,c(0,n));return!0}return void 0!==u.set&&(u.set.call(a,n),!0)}}),Fe&&Pt({target:\"Reflect\",stat:!0},{setPrototypeOf:function(t,e){O(t),Ce(e);try{return Fe(t,e),!0}catch(t){return!1}}});var Xn=wr.getWeakData,Yn=Q.set,Jn=Q.getterFor,Qn=ie.find,Zn=ie.findIndex,to=0,eo=function(t){return t.frozen||(t.frozen=new ro)},ro=function(){this.entries=[]},no=function(t,e){return Qn(t.entries,function(t){return t[0]===e})};ro.prototype={get:function(t){var e=no(this,t);if(e)return e[1]},has:function(t){return!!no(this,t)},set:function(t,e){var r=no(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=Zn(this.entries,function(e){return e[0]===t});return~e&&this.entries.splice(e,1),!!~e}};var oo={getConstructor:function(t,e,r,n){var o=t(function(t,i){xr(t,o,e),Yn(t,{type:e,id:to++,frozen:void 0}),null!=i&&Er(i,t[n],t,r)}),i=Jn(e),a=function(t,e,r){var n=i(t),o=Xn(O(e),!0);return!0===o?eo(n).set(e,r):o[n.id]=r,t};return Or(o.prototype,{delete:function(t){var e=i(this);if(!g(t))return!1;var r=Xn(t);return!0===r?eo(e).delete(t):r&&b(r,e.id)&&delete r[e.id]},has:function(t){var e=i(this);if(!g(t))return!1;var r=Xn(t);return!0===r?eo(e).has(t):r&&b(r,e.id)}}),Or(o.prototype,r?{get:function(t){var e=i(this);if(g(t)){var r=Xn(t);return!0===r?eo(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return a(this,t,e)}}:{add:function(t){return a(this,t,!0)}}),o}},io=e(function(t){var e,r=Q.enforce,o=!n.ActiveXObject&&\"ActiveXObject\"in n,i=Object.isExtensible,a=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},u=t.exports=Rr(\"WeakMap\",a,oo);if(F&&o){e=oo.getConstructor(a,\"WeakMap\",!0),wr.REQUIRED=!0;var s=u.prototype,c=s.delete,f=s.has,l=s.get,h=s.set;Or(s,{delete:function(t){if(g(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),c.call(this,t)||n.frozen.delete(t)}return c.call(this,t)},has:function(t){if(g(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)||n.frozen.has(t)}return f.call(this,t)},get:function(t){if(g(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)?l.call(this,t):n.frozen.get(t)}return l.call(this,t)},set:function(t,n){if(g(t)&&!i(t)){var o=r(this);o.frozen||(o.frozen=new e),f.call(this,t)?h.call(this,t,n):o.frozen.set(t,n)}else h.call(this,t,n);return this}})}}),ao=B(\"metadata\"),uo=ao.store||(ao.store=new io),so=function(t,e,r){var n=uo.get(t);if(!n){if(!r)return;uo.set(t,n=new Mr)}var o=n.get(e);if(!o){if(!r)return;n.set(e,o=new Mr)}return o},co={store:uo,getMap:so,has:function(t,e,r){var n=so(e,r,!1);return void 0!==n&&n.has(t)},get:function(t,e,r){var n=so(e,r,!1);return void 0===n?void 0:n.get(t)},set:function(t,e,r,n){so(r,n,!0).set(t,e)},keys:function(t,e){var r=so(t,e,!1),n=[];return r&&r.forEach(function(t,e){n.push(e)}),n},toKey:function(t){return void 0===t||\"symbol\"==typeof t?t:String(t)}},fo=co.toKey,lo=co.set;Pt({target:\"Reflect\",stat:!0},{defineMetadata:function(t,e,r){var n=arguments.length<4?void 0:fo(arguments[3]);lo(t,e,O(r),n)}});var ho=co.toKey,po=co.getMap,vo=co.store;Pt({target:\"Reflect\",stat:!0},{deleteMetadata:function(t,e){var r=arguments.length<3?void 0:ho(arguments[2]),n=po(O(e),r,!1);if(void 0===n||!n.delete(t))return!1;if(n.size)return!0;var o=vo.get(e);return o.delete(r),!!o.size||vo.delete(e)}});var go=co.has,yo=co.get,mo=co.toKey,bo=function(t,e,r){if(go(t,e,r))return yo(t,e,r);var n=Oe(e);return null!==n?bo(t,n,r):void 0};Pt({target:\"Reflect\",stat:!0},{getMetadata:function(t,e){var r=arguments.length<3?void 0:mo(arguments[2]);return bo(t,O(e),r)}});var So=Rr(\"Set\",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Ur),wo=co.keys,Eo=co.toKey,xo=function(t,e){var r=wo(t,e),n=Oe(t);if(null===n)return r;var o,i,a=xo(n,e);return a.length?r.length?(o=new So(r.concat(a)),Er(o,(i=[]).push,i),i):a:r};Pt({target:\"Reflect\",stat:!0},{getMetadataKeys:function(t){var e=arguments.length<2?void 0:Eo(arguments[1]);return xo(O(t),e)}});var Ao=co.get,Ro=co.toKey;Pt({target:\"Reflect\",stat:!0},{getOwnMetadata:function(t,e){var r=arguments.length<3?void 0:Ro(arguments[2]);return Ao(t,O(e),r)}});var Oo=co.keys,jo=co.toKey;Pt({target:\"Reflect\",stat:!0},{getOwnMetadataKeys:function(t){var e=arguments.length<2?void 0:jo(arguments[1]);return Oo(O(t),e)}});var Io=co.has,Po=co.toKey,To=function(t,e,r){if(Io(t,e,r))return!0;var n=Oe(e);return null!==n&&To(t,n,r)};Pt({target:\"Reflect\",stat:!0},{hasMetadata:function(t,e){var r=arguments.length<3?void 0:Po(arguments[2]);return To(t,O(e),r)}});var ko=co.has,Lo=co.toKey;Pt({target:\"Reflect\",stat:!0},{hasOwnMetadata:function(t,e){var r=arguments.length<3?void 0:Lo(arguments[2]);return ko(t,O(e),r)}});var Uo=co.toKey,Mo=co.set;Pt({target:\"Reflect\",stat:!0},{metadata:function(t,e){return function(r,n){Mo(t,e,O(r),Uo(n))}}});var _o=Ft(\"match\"),No=function(t){var e;return g(t)&&(void 0!==(e=t[_o])?!!e:\"RegExp\"==l(t))},Co=function(){var t=O(this),e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.dotAll&&(e+=\"s\"),t.unicode&&(e+=\"u\"),t.sticky&&(e+=\"y\"),e};function Fo(t,e){return RegExp(t,e)}var Bo={UNSUPPORTED_Y:o(function(){var t=Fo(\"a\",\"y\");return t.lastIndex=2,null!=t.exec(\"abcd\")}),BROKEN_CARET:o(function(){var t=Fo(\"^r\",\"gy\");return t.lastIndex=2,null!=t.exec(\"str\")})},Do=I.f,qo=yt.f,zo=Q.set,Wo=Ft(\"match\"),Ko=n.RegExp,Go=Ko.prototype,$o=/a/g,Vo=/a/g,Ho=new Ko($o)!==$o,Xo=Bo.UNSUPPORTED_Y;if(i&&jt(\"RegExp\",!Ho||Xo||o(function(){return Vo[Wo]=!1,Ko($o)!=$o||Ko(Vo)==Vo||\"/a/i\"!=Ko($o,\"i\")}))){for(var Yo=function(t,e){var r,n=this instanceof Yo,o=No(t),i=void 0===e;if(!n&&o&&t.constructor===Yo&&i)return t;Ho?o&&!i&&(t=t.source):t instanceof Yo&&(i&&(e=Co.call(t)),t=t.source),Xo&&(r=!!e&&e.indexOf(\"y\")>-1)&&(e=e.replace(/y/g,\"\"));var a=Ar(Ho?new Ko(t,e):Ko(t,e),n?this:Go,Yo);return Xo&&r&&zo(a,{sticky:r}),a},Jo=function(t){t in Yo||Do(Yo,t,{configurable:!0,get:function(){return Ko[t]},set:function(e){Ko[t]=e}})},Qo=qo(Ko),Zo=0;Qo.length>Zo;)Jo(Qo[Zo++]);Go.constructor=Yo,Yo.prototype=Go,Z(n,\"RegExp\",Yo)}Ir(\"RegExp\");var ti=RegExp.prototype,ei=ti.toString;(o(function(){return\"/a/b\"!=ei.call({source:\"a\",flags:\"b\"})})||\"toString\"!=ei.name)&&Z(RegExp.prototype,\"toString\",function(){var t=O(this),e=String(t.source),r=t.flags;return\"/\"+e+\"/\"+String(void 0===r&&t instanceof RegExp&&!(\"flags\"in ti)?Co.call(t):r)},{unsafe:!0});var ri=RegExp.prototype.exec,ni=String.prototype.replace,oi=ri,ii=function(){var t=/a/,e=/b*/g;return ri.call(t,\"a\"),ri.call(e,\"a\"),0!==t.lastIndex||0!==e.lastIndex}(),ai=Bo.UNSUPPORTED_Y||Bo.BROKEN_CARET,ui=void 0!==/()??/.exec(\"\")[1];(ii||ui||ai)&&(oi=function(t){var e,r,n,o,i=this,a=ai&&i.sticky,u=Co.call(i),s=i.source,c=0,f=t;return a&&(-1===(u=u.replace(\"y\",\"\")).indexOf(\"g\")&&(u+=\"g\"),f=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&\"\\n\"!==t[i.lastIndex-1])&&(s=\"(?: \"+s+\")\",f=\" \"+f,c++),r=new RegExp(\"^(?:\"+s+\")\",u)),ui&&(r=new RegExp(\"^\"+s+\"$(?!\\\\s)\",u)),ii&&(e=i.lastIndex),n=ri.call(a?r:i,f),a?n?(n.input=n.input.slice(c),n[0]=n[0].slice(c),n.index=i.lastIndex,i.lastIndex+=n[0].length):i.lastIndex=0:ii&&n&&(i.lastIndex=i.global?n.index+n[0].length:e),ui&&n&&n.length>1&&ni.call(n[0],r,function(){var t=arguments;for(o=1;o<arguments.length-2;o++)void 0===t[o]&&(n[o]=void 0)}),n});var si=oi;Pt({target:\"RegExp\",proto:!0,forced:/./.exec!==si},{exec:si}),i&&(\"g\"!=/./g.flags||Bo.UNSUPPORTED_Y)&&I.f(RegExp.prototype,\"flags\",{configurable:!0,get:Co});var ci=Q.get,fi=RegExp.prototype;i&&Bo.UNSUPPORTED_Y&&(0,I.f)(RegExp.prototype,\"sticky\",{configurable:!0,get:function(){if(this!==fi){if(this instanceof RegExp)return!!ci(this).sticky;throw TypeError(\"Incompatible receiver, RegExp required\")}}});var li,hi,pi=(li=!1,(hi=/[ac]/).exec=function(){return li=!0,/./.exec.apply(this,arguments)},!0===hi.test(\"abc\")&&li),di=/./.test;Pt({target:\"RegExp\",proto:!0,forced:!pi},{test:function(t){if(\"function\"!=typeof this.exec)return di.call(this,t);var e=this.exec(t);if(null!==e&&!g(e))throw new Error(\"RegExp exec method returned something other than an Object or null\");return!!e}});var vi=Ft(\"species\"),gi=!o(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:\"7\"},t},\"7\"!==\"\".replace(t,\"$<a>\")}),yi=\"$0\"===\"a\".replace(/./,\"$0\"),mi=Ft(\"replace\"),bi=!!/./[mi]&&\"\"===/./[mi](\"a\",\"$0\"),Si=!o(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r=\"ab\".split(t);return 2!==r.length||\"a\"!==r[0]||\"b\"!==r[1]}),wi=function(t,e,r,n){var i=Ft(t),a=!o(function(){var e={};return e[i]=function(){return 7},7!=\"\"[t](e)}),u=a&&!o(function(){var e=!1,r=/a/;return\"split\"===t&&((r={}).constructor={},r.constructor[vi]=function(){return r},r.flags=\"\",r[i]=/./[i]),r.exec=function(){return e=!0,null},r[i](\"\"),!e});if(!a||!u||\"replace\"===t&&(!gi||!yi||bi)||\"split\"===t&&!Si){var s=/./[i],c=r(i,\"\"[t],function(t,e,r,n,o){return e.exec===si?a&&!o?{done:!0,value:s.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}},{REPLACE_KEEPS_$0:yi,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:bi}),f=c[1];Z(String.prototype,t,c[0]),Z(RegExp.prototype,i,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)})}n&&P(RegExp.prototype[i],\"sham\",!0)},Ei=Ee.charAt,xi=function(t,e,r){return e+(r?Ei(t,e).length:1)},Ai=function(t,e){var r=t.exec;if(\"function\"==typeof r){var n=r.call(t,e);if(\"object\"!=typeof n)throw TypeError(\"RegExp exec method returned something other than an Object or null\");return n}if(\"RegExp\"!==l(t))throw TypeError(\"RegExp#exec called on incompatible receiver\");return si.call(t,e)};wi(\"match\",1,function(t,e,r){return[function(e){var r=d(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=O(t),i=String(this);if(!o.global)return Ai(o,i);var a=o.unicode;o.lastIndex=0;for(var u,s=[],c=0;null!==(u=Ai(o,i));){var f=String(u[0]);s[c]=f,\"\"===f&&(o.lastIndex=xi(i,ut(o.lastIndex),a)),c++}return 0===c?null:s}]});var Ri=Math.max,Oi=Math.min,ji=Math.floor,Ii=/\\$([$&'`]|\\d\\d?|<[^>]*>)/g,Pi=/\\$([$&'`]|\\d\\d?)/g;wi(\"replace\",2,function(t,e,r,n){var o=n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,i=n.REPLACE_KEEPS_$0,a=o?\"$\":\"$0\";return[function(r,n){var o=d(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,n):e.call(String(o),r,n)},function(t,n){if(!o&&i||\"string\"==typeof n&&-1===n.indexOf(a)){var s=r(e,t,this,n);if(s.done)return s.value}var c=O(t),f=String(this),l=\"function\"==typeof n;l||(n=String(n));var h=c.global;if(h){var p=c.unicode;c.lastIndex=0}for(var d=[];;){var v=Ai(c,f);if(null===v)break;if(d.push(v),!h)break;\"\"===String(v[0])&&(c.lastIndex=xi(f,ut(c.lastIndex),p))}for(var g,y=\"\",m=0,b=0;b<d.length;b++){v=d[b];for(var S=String(v[0]),w=Ri(Oi(it(v.index),f.length),0),E=[],x=1;x<v.length;x++)E.push(void 0===(g=v[x])?g:String(g));var A=v.groups;if(l){var R=[S].concat(E,w,f);void 0!==A&&R.push(A);var j=String(n.apply(void 0,R))}else j=u(S,f,w,E,A,n);w>=m&&(y+=f.slice(m,w)+j,m=w+S.length)}return y+f.slice(m)}];function u(t,r,n,o,i,a){var u=n+t.length,s=o.length,c=Pi;return void 0!==i&&(i=Tt(i),c=Ii),e.call(a,c,function(e,a){var c;switch(a.charAt(0)){case\"$\":return\"$\";case\"&\":return t;case\"`\":return r.slice(0,n);case\"'\":return r.slice(u);case\"<\":c=i[a.slice(1,-1)];break;default:var f=+a;if(0===f)return e;if(f>s){var l=ji(f/10);return 0===l?e:l<=s?void 0===o[l-1]?a.charAt(1):o[l-1]+a.charAt(1):e}c=o[f-1]}return void 0===c?\"\":c})}}),wi(\"search\",1,function(t,e,r){return[function(e){var r=d(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=O(t),i=String(this),a=o.lastIndex;Un(a,0)||(o.lastIndex=0);var u=Ai(o,i);return Un(o.lastIndex,a)||(o.lastIndex=a),null===u?-1:u.index}]});var Ti=[].push,ki=Math.min,Li=!o(function(){return!RegExp(4294967295,\"y\")});wi(\"split\",2,function(t,e,r){var n;return n=\"c\"==\"abbc\".split(/(b)*/)[1]||4!=\"test\".split(/(?:)/,-1).length||2!=\"ab\".split(/(?:ab)*/).length||4!=\".\".split(/(.?)(.?)/).length||\".\".split(/()()/).length>1||\"\".split(/.?/).length?function(t,r){var n=String(d(this)),o=void 0===r?4294967295:r>>>0;if(0===o)return[];if(void 0===t)return[n];if(!No(t))return e.call(n,t,o);for(var i,a,u,s=[],c=0,f=new RegExp(t.source,(t.ignoreCase?\"i\":\"\")+(t.multiline?\"m\":\"\")+(t.unicode?\"u\":\"\")+(t.sticky?\"y\":\"\")+\"g\");(i=si.call(f,n))&&!((a=f.lastIndex)>c&&(s.push(n.slice(c,i.index)),i.length>1&&i.index<n.length&&Ti.apply(s,i.slice(1)),u=i[0].length,c=a,s.length>=o));)f.lastIndex===i.index&&f.lastIndex++;return c===n.length?!u&&f.test(\"\")||s.push(\"\"):s.push(n.slice(c)),s.length>o?s.slice(0,o):s}:\"0\".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:e.call(this,t,r)}:e,[function(e,r){var o=d(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,r):n.call(String(o),e,r)},function(t,o){var i=r(n,t,this,o,n!==e);if(i.done)return i.value;var a=O(t),u=String(this),s=Xr(a,RegExp),c=a.unicode,f=new s(Li?a:\"^(?:\"+a.source+\")\",(a.ignoreCase?\"i\":\"\")+(a.multiline?\"m\":\"\")+(a.unicode?\"u\":\"\")+(Li?\"y\":\"g\")),l=void 0===o?4294967295:o>>>0;if(0===l)return[];if(0===u.length)return null===Ai(f,u)?[u]:[];for(var h=0,p=0,d=[];p<u.length;){f.lastIndex=Li?p:0;var v,g=Ai(f,Li?u:u.slice(p));if(null===g||(v=ki(ut(f.lastIndex+(Li?0:p)),u.length))===h)p=xi(u,p,c);else{if(d.push(u.slice(h,p)),d.length===l)return d;for(var y=1;y<=g.length-1;y++)if(d.push(g[y]),d.length===l)return d;p=h=v}}return d.push(u.slice(h)),d}]},!Li),Pt({target:\"Set\",stat:!0},{from:Wr}),Pt({target:\"Set\",stat:!0},{of:Kr});var Ui=function(){for(var t=arguments,e=O(this),r=Yt(e.add),n=0,o=arguments.length;n<o;n++)r.call(e,t[n]);return e};Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{addAll:function(){return Ui.apply(this,arguments)}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{deleteAll:function(){return Gr.apply(this,arguments)}});var Mi=function(t){return Set.prototype.values.call(t)};Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{every:function(t){var e=O(this),r=Mi(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return!Er(r,function(t){if(!n(t,t,e))return Er.stop()},void 0,!1,!0).stopped}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{difference:function(t){var e=O(this),r=new(Xr(e,rt(\"Set\")))(e),n=Yt(r.delete);return Er(t,function(t){n.call(r,t)}),r}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{filter:function(t){var e=O(this),r=Mi(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Xr(e,rt(\"Set\"))),i=Yt(o.add);return Er(r,function(t){n(t,t,e)&&i.call(o,t)},void 0,!1,!0),o}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{find:function(t){var e=O(this),r=Mi(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return Er(r,function(t){if(n(t,t,e))return Er.stop(t)},void 0,!1,!0).result}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{intersection:function(t){var e=O(this),r=new(Xr(e,rt(\"Set\"))),n=Yt(e.has),o=Yt(r.add);return Er(t,function(t){n.call(e,t)&&o.call(r,t)}),r}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{isDisjointFrom:function(t){var e=O(this),r=Yt(e.has);return!Er(t,function(t){if(!0===r.call(e,t))return Er.stop()}).stopped}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{isSubsetOf:function(t){var e=$r(this),r=O(t),n=r.has;return\"function\"!=typeof n&&(r=new(rt(\"Set\"))(t),n=Yt(r.has)),!Er(e,function(t){if(!1===n.call(r,t))return Er.stop()},void 0,!1,!0).stopped}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{isSupersetOf:function(t){var e=O(this),r=Yt(e.has);return!Er(t,function(t){if(!1===r.call(e,t))return Er.stop()}).stopped}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{join:function(t){var e=O(this),r=Mi(e),n=void 0===t?\",\":String(t),o=[];return Er(r,o.push,o,!1,!0),o.join(n)}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{map:function(t){var e=O(this),r=Mi(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Xr(e,rt(\"Set\"))),i=Yt(o.add);return Er(r,function(t){i.call(o,n(t,t,e))},void 0,!1,!0),o}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{reduce:function(t){var e=O(this),r=Mi(e),n=arguments.length<2,o=n?void 0:arguments[1];if(Yt(t),Er(r,function(r){n?(n=!1,o=r):o=t(o,r,r,e)},void 0,!1,!0),n)throw TypeError(\"Reduce of empty set with no initial value\");return o}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{some:function(t){var e=O(this),r=Mi(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return Er(r,function(t){if(n(t,t,e))return Er.stop()},void 0,!1,!0).stopped}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{symmetricDifference:function(t){var e=O(this),r=new(Xr(e,rt(\"Set\")))(e),n=Yt(r.delete),o=Yt(r.add);return Er(t,function(t){n.call(r,t)||o.call(r,t)}),r}}),Pt({target:\"Set\",proto:!0,real:!0,forced:!1},{union:function(t){var e=O(this),r=new(Xr(e,rt(\"Set\")))(e);return Er(t,Yt(r.add),r),r}});var _i,Ni,Ci=rt(\"navigator\",\"userAgent\")||\"\",Fi=n.process,Bi=Fi&&Fi.versions,Di=Bi&&Bi.v8;Di?Ni=(_i=Di.split(\".\"))[0]+_i[1]:Ci&&(!(_i=Ci.match(/Edge\\/(\\d+)/))||_i[1]>=74)&&(_i=Ci.match(/Chrome\\/(\\d+)/))&&(Ni=_i[1]);var qi=Ni&&+Ni,zi=Ft(\"species\"),Wi=Ft(\"isConcatSpreadable\"),Ki=qi>=51||!o(function(){var t=[];return t[Wi]=!1,t.concat()[0]!==t}),Gi=qi>=51||!o(function(){var t=[];return(t.constructor={})[zi]=function(){return{foo:1}},1!==t.concat(Boolean).foo}),$i=function(t){if(!g(t))return!1;var e=t[Wi];return void 0!==e?!!e:te(t)};Pt({target:\"Array\",proto:!0,forced:!Ki||!Gi},{concat:function(t){var e,r,n,o,i,a=arguments,u=Tt(this),s=re(u,0),c=0;for(e=-1,n=arguments.length;e<n;e++)if($i(i=-1===e?u:a[e])){if(c+(o=ut(i.length))>9007199254740991)throw TypeError(\"Maximum allowed index exceeded\");for(r=0;r<o;r++,c++)r in i&&Je(s,c,i[r])}else{if(c>=9007199254740991)throw TypeError(\"Maximum allowed index exceeded\");Je(s,c++,i)}return s.length=c,s}});var Vi=yt.f,Hi={}.toString,Xi=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Yi={f:function(t){return Xi&&\"[object Window]\"==Hi.call(t)?function(t){try{return Vi(t)}catch(t){return Xi.slice()}}(t):Vi(v(t))}},Ji={f:Ft},Qi=I.f,Zi=function(t){var e=tt.Symbol||(tt.Symbol={});b(e,t)||Qi(e,t,{value:Ji.f(t)})},ta=ie.forEach,ea=K(\"hidden\"),ra=Ft(\"toPrimitive\"),na=Q.set,oa=Q.getterFor(\"Symbol\"),ia=Object.prototype,aa=n.Symbol,ua=rt(\"JSON\",\"stringify\"),sa=R.f,ca=I.f,fa=Yi.f,la=s.f,ha=B(\"symbols\"),pa=B(\"op-symbols\"),da=B(\"string-to-symbol-registry\"),va=B(\"symbol-to-string-registry\"),ga=B(\"wks\"),ya=n.QObject,ma=!ya||!ya.prototype||!ya.prototype.findChild,ba=i&&o(function(){return 7!=$t(ca({},\"a\",{get:function(){return ca(this,\"a\",{value:7}).a}})).a})?function(t,e,r){var n=sa(ia,e);n&&delete ia[e],ca(t,e,r),n&&t!==ia&&ca(ia,e,n)}:ca,Sa=function(t,e){var r=ha[t]=$t(aa.prototype);return na(r,{type:\"Symbol\",tag:t,description:e}),i||(r.description=e),r},wa=Mt?function(t){return\"symbol\"==typeof t}:function(t){return Object(t)instanceof aa},Ea=function(t,e,r){t===ia&&Ea(pa,e,r),O(t);var n=y(e,!0);return O(r),b(ha,n)?(r.enumerable?(b(t,ea)&&t[ea][n]&&(t[ea][n]=!1),r=$t(r,{enumerable:c(0,!1)})):(b(t,ea)||ca(t,ea,c(1,{})),t[ea][n]=!0),ba(t,n,r)):ca(t,n,r)},xa=function(t,e){O(t);var r=v(e),n=Bt(r).concat(ja(r));return ta(n,function(e){i&&!Aa.call(r,e)||Ea(t,e,r[e])}),t},Aa=function(t){var e=y(t,!0),r=la.call(this,e);return!(this===ia&&b(ha,e)&&!b(pa,e))&&(!(r||!b(this,e)||!b(ha,e)||b(this,ea)&&this[ea][e])||r)},Ra=function(t,e){var r=v(t),n=y(e,!0);if(r!==ia||!b(ha,n)||b(pa,n)){var o=sa(r,n);return!o||!b(ha,n)||b(r,ea)&&r[ea][n]||(o.enumerable=!0),o}},Oa=function(t){var e=fa(v(t)),r=[];return ta(e,function(t){b(ha,t)||b(G,t)||r.push(t)}),r},ja=function(t){var e=t===ia,r=fa(e?pa:v(t)),n=[];return ta(r,function(t){!b(ha,t)||e&&!b(ia,t)||n.push(ha[t])}),n};if(Ut||(Z((aa=function(){if(this instanceof aa)throw TypeError(\"Symbol is not a constructor\");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=z(t),r=function(t){this===ia&&r.call(pa,t),b(this,ea)&&b(this[ea],e)&&(this[ea][e]=!1),ba(this,e,c(1,t))};return i&&ma&&ba(ia,e,{configurable:!0,set:r}),Sa(e,t)}).prototype,\"toString\",function(){return oa(this).tag}),Z(aa,\"withoutSetter\",function(t){return Sa(z(t),t)}),s.f=Aa,I.f=Ea,R.f=Ra,yt.f=Yi.f=Oa,mt.f=ja,Ji.f=function(t){return Sa(Ft(t),t)},i&&(ca(aa.prototype,\"description\",{configurable:!0,get:function(){return oa(this).description}}),Z(ia,\"propertyIsEnumerable\",Aa,{unsafe:!0}))),Pt({global:!0,wrap:!0,forced:!Ut,sham:!Ut},{Symbol:aa}),ta(Bt(ga),function(t){Zi(t)}),Pt({target:\"Symbol\",stat:!0,forced:!Ut},{for:function(t){var e=String(t);if(b(da,e))return da[e];var r=aa(e);return da[e]=r,va[r]=e,r},keyFor:function(t){if(!wa(t))throw TypeError(t+\" is not a symbol\");if(b(va,t))return va[t]},useSetter:function(){ma=!0},useSimple:function(){ma=!1}}),Pt({target:\"Object\",stat:!0,forced:!Ut,sham:!i},{create:function(t,e){return void 0===e?$t(t):xa($t(t),e)},defineProperty:Ea,defineProperties:xa,getOwnPropertyDescriptor:Ra}),Pt({target:\"Object\",stat:!0,forced:!Ut},{getOwnPropertyNames:Oa,getOwnPropertySymbols:ja}),Pt({target:\"Object\",stat:!0,forced:o(function(){mt.f(1)})},{getOwnPropertySymbols:function(t){return mt.f(Tt(t))}}),ua){var Ia=!Ut||o(function(){var t=aa();return\"[null]\"!=ua([t])||\"{}\"!=ua({a:t})||\"{}\"!=ua(Object(t))});Pt({target:\"JSON\",stat:!0,forced:Ia},{stringify:function(t,e,r){for(var n,o=arguments,i=[t],a=1;arguments.length>a;)i.push(o[a++]);if(n=e,(g(e)||void 0!==t)&&!wa(t))return te(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!wa(e))return e}),i[1]=e,ua.apply(null,i)}})}aa.prototype[ra]||P(aa.prototype,ra,aa.prototype.valueOf),Le(aa,\"Symbol\"),G[ea]=!0,Zi(\"asyncIterator\");var Pa=I.f,Ta=n.Symbol;if(i&&\"function\"==typeof Ta&&(!(\"description\"in Ta.prototype)||void 0!==Ta().description)){var ka={},La=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof La?new Ta(t):void 0===t?Ta():Ta(t);return\"\"===t&&(ka[e]=!0),e};St(La,Ta);var Ua=La.prototype=Ta.prototype;Ua.constructor=La;var Ma=Ua.toString,_a=\"Symbol(test)\"==String(Ta(\"test\")),Na=/^Symbol\\((.*)\\)[^)]+$/;Pa(Ua,\"description\",{configurable:!0,get:function(){var t=g(this)?this.valueOf():this,e=Ma.call(t);if(b(ka,t))return\"\";var r=_a?e.slice(7,-1):e.replace(Na,\"$1\");return\"\"===r?void 0:r}}),Pt({global:!0,forced:!0},{Symbol:La})}Zi(\"hasInstance\"),Zi(\"isConcatSpreadable\"),Zi(\"iterator\"),Zi(\"match\"),Zi(\"matchAll\"),Zi(\"replace\"),Zi(\"search\"),Zi(\"species\"),Zi(\"split\"),Zi(\"toPrimitive\"),Zi(\"toStringTag\"),Zi(\"unscopables\"),Le(Math,\"Math\",!0),Le(n.JSON,\"JSON\",!0),Zi(\"asyncDispose\"),Zi(\"dispose\"),Zi(\"observable\"),Zi(\"patternMatch\"),Zi(\"replaceAll\"),Ji.f(\"asyncIterator\");var Ca=Ee.codeAt;Pt({target:\"String\",proto:!0},{codePointAt:function(t){return Ca(this,t)}}),Zt(\"String\",\"codePointAt\");var Fa,Ba=function(t){if(No(t))throw TypeError(\"The method doesn't accept regular expressions\");return t},Da=Ft(\"match\"),qa=function(t){var e=/./;try{\"/./\"[t](e)}catch(r){try{return e[Da]=!1,\"/./\"[t](e)}catch(t){}}return!1},za=R.f,Wa=\"\".endsWith,Ka=Math.min,Ga=qa(\"endsWith\"),$a=!(Ga||(Fa=za(String.prototype,\"endsWith\"),!Fa||Fa.writable));Pt({target:\"String\",proto:!0,forced:!$a&&!Ga},{endsWith:function(t){var e=String(d(this));Ba(t);var r=arguments.length>1?arguments[1]:void 0,n=ut(e.length),o=void 0===r?n:Ka(ut(r),n),i=String(t);return Wa?Wa.call(e,i,o):e.slice(o-i.length,o)===i}}),Zt(\"String\",\"endsWith\");var Va=String.fromCharCode,Ha=String.fromCodePoint;Pt({target:\"String\",stat:!0,forced:!!Ha&&1!=Ha.length},{fromCodePoint:function(t){for(var e,r=arguments,n=[],o=arguments.length,i=0;o>i;){if(e=+r[i++],ft(e,1114111)!==e)throw RangeError(e+\" is not a valid code point\");n.push(e<65536?Va(e):Va(55296+((e-=65536)>>10),e%1024+56320))}return n.join(\"\")}}),Pt({target:\"String\",proto:!0,forced:!qa(\"includes\")},{includes:function(t){return!!~String(d(this)).indexOf(Ba(t),arguments.length>1?arguments[1]:void 0)}}),Zt(\"String\",\"includes\");var Xa=\"\".repeat||function(t){var e=String(d(this)),r=\"\",n=it(t);if(n<0||Infinity==n)throw RangeError(\"Wrong number of repetitions\");for(;n>0;(n>>>=1)&&(e+=e))1&n&&(r+=e);return r},Ya=Math.ceil,Ja=function(t){return function(e,r,n){var o,i,a=String(d(e)),u=a.length,s=void 0===n?\" \":String(n),c=ut(r);return c<=u||\"\"==s?a:((i=Xa.call(s,Ya((o=c-u)/s.length))).length>o&&(i=i.slice(0,o)),t?a+i:i+a)}},Qa={start:Ja(!1),end:Ja(!0)},Za=/Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(Ci),tu=Qa.start;Pt({target:\"String\",proto:!0,forced:Za},{padStart:function(t){return tu(this,t,arguments.length>1?arguments[1]:void 0)}}),Zt(\"String\",\"padStart\");var eu=Qa.end;Pt({target:\"String\",proto:!0,forced:Za},{padEnd:function(t){return eu(this,t,arguments.length>1?arguments[1]:void 0)}}),Zt(\"String\",\"padEnd\"),Pt({target:\"String\",stat:!0},{raw:function(t){for(var e=arguments,r=v(t.raw),n=ut(r.length),o=arguments.length,i=[],a=0;n>a;)i.push(String(r[a++])),a<o&&i.push(String(e[a]));return i.join(\"\")}}),Pt({target:\"String\",proto:!0},{repeat:Xa}),Zt(\"String\",\"repeat\");var ru=R.f,nu=\"\".startsWith,ou=Math.min,iu=qa(\"startsWith\"),au=!iu&&!!function(){var t=ru(String.prototype,\"startsWith\");return t&&!t.writable}();Pt({target:\"String\",proto:!0,forced:!au&&!iu},{startsWith:function(t){var e=String(d(this));Ba(t);var r=ut(ou(arguments.length>1?arguments[1]:void 0,e.length)),n=String(t);return nu?nu.call(e,n,r):e.slice(r,r+n.length)===n}}),Zt(\"String\",\"startsWith\");var uu=function(t){return o(function(){return!!Jr[t]()||\"​…᠎\"!=\"​…᠎\"[t]()||Jr[t].name!==t})},su=rn.start,cu=uu(\"trimStart\"),fu=cu?function(){return su(this)}:\"\".trimStart;Pt({target:\"String\",proto:!0,forced:cu},{trimStart:fu,trimLeft:fu}),Zt(\"String\",\"trimLeft\");var lu=rn.end,hu=uu(\"trimEnd\"),pu=hu?function(){return lu(this)}:\"\".trimEnd;Pt({target:\"String\",proto:!0,forced:hu},{trimEnd:pu,trimRight:pu}),Zt(\"String\",\"trimRight\");var du=Ft(\"iterator\"),vu=!o(function(){var t=new URL(\"b?a=1&b=2&c=3\",\"http://a\"),e=t.searchParams,r=\"\";return t.pathname=\"c%20d\",e.forEach(function(t,n){e.delete(\"b\"),r+=n+t}),!e.sort||\"http://a/c%20d?a=1&c=3\"!==t.href||\"3\"!==e.get(\"c\")||\"a=1\"!==String(new URLSearchParams(\"?a=1\"))||!e[du]||\"a\"!==new URL(\"https://a@b\").username||\"b\"!==new URLSearchParams(new URLSearchParams(\"a=b\")).get(\"a\")||\"xn--e1aybc\"!==new URL(\"http://тест\").host||\"#%D0%B1\"!==new URL(\"http://a#б\").hash||\"a1c3\"!==r||\"x\"!==new URL(\"http://x\",void 0).host}),gu=Object.assign,yu=Object.defineProperty,mu=!gu||o(function(){if(i&&1!==gu({b:1},gu(yu({},\"a\",{enumerable:!0,get:function(){yu(this,\"b\",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol();return t[r]=7,\"abcdefghijklmnopqrst\".split(\"\").forEach(function(t){e[t]=t}),7!=gu({},t)[r]||\"abcdefghijklmnopqrst\"!=Bt(gu({},e)).join(\"\")})?function(t,e){for(var r=arguments,n=Tt(t),o=arguments.length,a=1,u=mt.f,c=s.f;o>a;)for(var f,l=p(r[a++]),h=u?Bt(l).concat(u(l)):Bt(l),d=h.length,v=0;d>v;)f=h[v++],i&&!c.call(l,f)||(n[f]=l[f]);return n}:gu,bu=/[^\\0-\\u007E]/,Su=/[.\\u3002\\uFF0E\\uFF61]/g,wu=\"Overflow: input needs wider integers to process\",Eu=Math.floor,xu=String.fromCharCode,Au=function(t){return t+22+75*(t<26)},Ru=function(t,e,r){var n=0;for(t=r?Eu(t/700):t>>1,t+=Eu(t/e);t>455;n+=36)t=Eu(t/35);return Eu(n+36*t/(t+38))},Ou=function(t){var e,r,n=[],o=(t=function(t){for(var e=[],r=0,n=t.length;r<n;){var o=t.charCodeAt(r++);if(o>=55296&&o<=56319&&r<n){var i=t.charCodeAt(r++);56320==(64512&i)?e.push(((1023&o)<<10)+(1023&i)+65536):(e.push(o),r--)}else e.push(o)}return e}(t)).length,i=128,a=0,u=72;for(e=0;e<t.length;e++)(r=t[e])<128&&n.push(xu(r));var s=n.length,c=s;for(s&&n.push(\"-\");c<o;){var f=2147483647;for(e=0;e<t.length;e++)(r=t[e])>=i&&r<f&&(f=r);var l=c+1;if(f-i>Eu((2147483647-a)/l))throw RangeError(wu);for(a+=(f-i)*l,i=f,e=0;e<t.length;e++){if((r=t[e])<i&&++a>2147483647)throw RangeError(wu);if(r==i){for(var h=a,p=36;;p+=36){var d=p<=u?1:p>=u+26?26:p-u;if(h<d)break;var v=h-d,g=36-d;n.push(xu(Au(d+v%g))),h=Eu(v/g)}n.push(xu(Au(h))),u=Ru(a,l,c==s),a=0,++c}}++a,++i}return n.join(\"\")},ju=rt(\"fetch\"),Iu=rt(\"Headers\"),Pu=Ft(\"iterator\"),Tu=Q.set,ku=Q.getterFor(\"URLSearchParams\"),Lu=Q.getterFor(\"URLSearchParamsIterator\"),Uu=/\\+/g,Mu=Array(4),_u=function(t){return Mu[t-1]||(Mu[t-1]=RegExp(\"((?:%[\\\\da-f]{2}){\"+t+\"})\",\"gi\"))},Nu=function(t){try{return decodeURIComponent(t)}catch(e){return t}},Cu=function(t){var e=t.replace(Uu,\" \"),r=4;try{return decodeURIComponent(e)}catch(t){for(;r;)e=e.replace(_u(r--),Nu);return e}},Fu=/[!'()~]|%20/g,Bu={\"!\":\"%21\",\"'\":\"%27\",\"(\":\"%28\",\")\":\"%29\",\"~\":\"%7E\",\"%20\":\"+\"},Du=function(t){return Bu[t]},qu=function(t){return encodeURIComponent(t).replace(Fu,Du)},zu=function(t,e){if(e)for(var r,n,o=e.split(\"&\"),i=0;i<o.length;)(r=o[i++]).length&&(n=r.split(\"=\"),t.push({key:Cu(n.shift()),value:Cu(n.join(\"=\"))}))},Wu=function(t){this.entries.length=0,zu(this.entries,t)},Ku=function(t,e){if(t<e)throw TypeError(\"Not enough arguments\")},Gu=Ne(function(t,e){Tu(this,{type:\"URLSearchParamsIterator\",iterator:$r(ku(t).entries),kind:e})},\"Iterator\",function(){var t=Lu(this),e=t.kind,r=t.iterator.next(),n=r.value;return r.done||(r.value=\"keys\"===e?n.key:\"values\"===e?n.value:[n.key,n.value]),r}),$u=function(){xr(this,$u,\"URLSearchParams\");var t,e,r,n,o,i,a,u,s,c=arguments.length>0?arguments[0]:void 0,f=[];if(Tu(this,{type:\"URLSearchParams\",entries:f,updateURL:function(){},updateSearchParams:Wu}),void 0!==c)if(g(c))if(\"function\"==typeof(t=or(c)))for(r=(e=t.call(c)).next;!(n=r.call(e)).done;){if((a=(i=(o=$r(O(n.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError(\"Expected sequence with length 2\");f.push({key:a.value+\"\",value:u.value+\"\"})}else for(s in c)b(c,s)&&f.push({key:s,value:c[s]+\"\"});else zu(f,\"string\"==typeof c?\"?\"===c.charAt(0)?c.slice(1):c:c+\"\")},Vu=$u.prototype;Or(Vu,{append:function(t,e){Ku(arguments.length,2);var r=ku(this);r.entries.push({key:t+\"\",value:e+\"\"}),r.updateURL()},delete:function(t){Ku(arguments.length,1);for(var e=ku(this),r=e.entries,n=t+\"\",o=0;o<r.length;)r[o].key===n?r.splice(o,1):o++;e.updateURL()},get:function(t){Ku(arguments.length,1);for(var e=ku(this).entries,r=t+\"\",n=0;n<e.length;n++)if(e[n].key===r)return e[n].value;return null},getAll:function(t){Ku(arguments.length,1);for(var e=ku(this).entries,r=t+\"\",n=[],o=0;o<e.length;o++)e[o].key===r&&n.push(e[o].value);return n},has:function(t){Ku(arguments.length,1);for(var e=ku(this).entries,r=t+\"\",n=0;n<e.length;)if(e[n++].key===r)return!0;return!1},set:function(t,e){Ku(arguments.length,1);for(var r,n=ku(this),o=n.entries,i=!1,a=t+\"\",u=e+\"\",s=0;s<o.length;s++)(r=o[s]).key===a&&(i?o.splice(s--,1):(i=!0,r.value=u));i||o.push({key:a,value:u}),n.updateURL()},sort:function(){var t,e,r,n=ku(this),o=n.entries,i=o.slice();for(o.length=0,r=0;r<i.length;r++){for(t=i[r],e=0;e<r;e++)if(o[e].key>t.key){o.splice(e,0,t);break}e===r&&o.push(t)}n.updateURL()},forEach:function(t){for(var e,r=ku(this).entries,n=Jt(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<r.length;)n((e=r[o++]).value,e.key,this)},keys:function(){return new Gu(this,\"keys\")},values:function(){return new Gu(this,\"values\")},entries:function(){return new Gu(this,\"entries\")}},{enumerable:!0}),Z(Vu,Pu,Vu.entries),Z(Vu,\"toString\",function(){for(var t,e=ku(this).entries,r=[],n=0;n<e.length;)t=e[n++],r.push(qu(t.key)+\"=\"+qu(t.value));return r.join(\"&\")},{enumerable:!0}),Le($u,\"URLSearchParams\"),Pt({global:!0,forced:!vu},{URLSearchParams:$u}),vu||\"function\"!=typeof ju||\"function\"!=typeof Iu||Pt({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var e,r,n,o=[t];return arguments.length>1&&(g(e=arguments[1])&&\"URLSearchParams\"===rr(r=e.body)&&((n=e.headers?new Iu(e.headers):new Iu).has(\"content-type\")||n.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"),e=$t(e,{body:c(0,String(r)),headers:c(0,n)})),o.push(e)),ju.apply(this,o)}});var Hu,Xu={URLSearchParams:$u,getState:ku},Yu=Ee.codeAt,Ju=n.URL,Qu=Xu.URLSearchParams,Zu=Xu.getState,ts=Q.set,es=Q.getterFor(\"URL\"),rs=Math.floor,ns=Math.pow,os=/[A-Za-z]/,is=/[\\d+-.A-Za-z]/,as=/\\d/,us=/^(0x|0X)/,ss=/^[0-7]+$/,cs=/^\\d+$/,fs=/^[\\dA-Fa-f]+$/,ls=/[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/,hs=/[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/,ps=/^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g,ds=/[\\u0009\\u000A\\u000D]/g,vs=function(t,e){var r,n,o;if(\"[\"==e.charAt(0)){if(\"]\"!=e.charAt(e.length-1))return\"Invalid host\";if(!(r=ys(e.slice(1,-1))))return\"Invalid host\";t.host=r}else if(Rs(t)){if(e=function(t){var e,r,n=[],o=t.toLowerCase().replace(Su,\".\").split(\".\");for(e=0;e<o.length;e++)n.push(bu.test(r=o[e])?\"xn--\"+Ou(r):r);return n.join(\".\")}(e),ls.test(e))return\"Invalid host\";if(null===(r=gs(e)))return\"Invalid host\";t.host=r}else{if(hs.test(e))return\"Invalid host\";for(r=\"\",n=ir(e),o=0;o<n.length;o++)r+=xs(n[o],bs);t.host=r}},gs=function(t){var e,r,n,o,i,a,u,s=t.split(\".\");if(s.length&&\"\"==s[s.length-1]&&s.pop(),(e=s.length)>4)return t;for(r=[],n=0;n<e;n++){if(\"\"==(o=s[n]))return t;if(i=10,o.length>1&&\"0\"==o.charAt(0)&&(i=us.test(o)?16:8,o=o.slice(8==i?1:2)),\"\"===o)a=0;else{if(!(10==i?cs:8==i?ss:fs).test(o))return t;a=parseInt(o,i)}r.push(a)}for(n=0;n<e;n++)if(a=r[n],n==e-1){if(a>=ns(256,5-e))return null}else if(a>255)return null;for(u=r.pop(),n=0;n<r.length;n++)u+=r[n]*ns(256,3-n);return u},ys=function(t){var e,r,n,o,i,a,u,s=[0,0,0,0,0,0,0,0],c=0,f=null,l=0,h=function(){return t.charAt(l)};if(\":\"==h()){if(\":\"!=t.charAt(1))return;l+=2,f=++c}for(;h();){if(8==c)return;if(\":\"!=h()){for(e=r=0;r<4&&fs.test(h());)e=16*e+parseInt(h(),16),l++,r++;if(\".\"==h()){if(0==r)return;if(l-=r,c>6)return;for(n=0;h();){if(o=null,n>0){if(!(\".\"==h()&&n<4))return;l++}if(!as.test(h()))return;for(;as.test(h());){if(i=parseInt(h(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}s[c]=256*s[c]+o,2!=++n&&4!=n||c++}if(4!=n)return;break}if(\":\"==h()){if(l++,!h())return}else if(h())return;s[c++]=e}else{if(null!==f)return;l++,f=++c}}if(null!==f)for(a=c-f,c=7;0!=c&&a>0;)u=s[c],s[c--]=s[f+a-1],s[f+--a]=u;else if(8!=c)return;return s},ms=function(t){var e,r,n,o;if(\"number\"==typeof t){for(e=[],r=0;r<4;r++)e.unshift(t%256),t=rs(t/256);return e.join(\".\")}if(\"object\"==typeof t){for(e=\"\",n=function(t){for(var e=null,r=1,n=null,o=0,i=0;i<8;i++)0!==t[i]?(o>r&&(e=n,r=o),n=null,o=0):(null===n&&(n=i),++o);return o>r&&(e=n,r=o),e}(t),r=0;r<8;r++)o&&0===t[r]||(o&&(o=!1),n===r?(e+=r?\":\":\"::\",o=!0):(e+=t[r].toString(16),r<7&&(e+=\":\")));return\"[\"+e+\"]\"}return t},bs={},Ss=mu({},bs,{\" \":1,'\"':1,\"<\":1,\">\":1,\"`\":1}),ws=mu({},Ss,{\"#\":1,\"?\":1,\"{\":1,\"}\":1}),Es=mu({},ws,{\"/\":1,\":\":1,\";\":1,\"=\":1,\"@\":1,\"[\":1,\"\\\\\":1,\"]\":1,\"^\":1,\"|\":1}),xs=function(t,e){var r=Yu(t,0);return r>32&&r<127&&!b(e,t)?t:encodeURIComponent(t)},As={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Rs=function(t){return b(As,t.scheme)},Os=function(t){return\"\"!=t.username||\"\"!=t.password},js=function(t){return!t.host||t.cannotBeABaseURL||\"file\"==t.scheme},Is=function(t,e){var r;return 2==t.length&&os.test(t.charAt(0))&&(\":\"==(r=t.charAt(1))||!e&&\"|\"==r)},Ps=function(t){var e;return t.length>1&&Is(t.slice(0,2))&&(2==t.length||\"/\"===(e=t.charAt(2))||\"\\\\\"===e||\"?\"===e||\"#\"===e)},Ts=function(t){var e=t.path,r=e.length;!r||\"file\"==t.scheme&&1==r&&Is(e[0],!0)||e.pop()},ks=function(t){return\".\"===t||\"%2e\"===t.toLowerCase()},Ls={},Us={},Ms={},_s={},Ns={},Cs={},Fs={},Bs={},Ds={},qs={},zs={},Ws={},Ks={},Gs={},$s={},Vs={},Hs={},Xs={},Ys={},Js={},Qs={},Zs=function(t,e,r,n){var o,i,a,u,s,c=r||Ls,f=0,l=\"\",h=!1,p=!1,d=!1;for(r||(t.scheme=\"\",t.username=\"\",t.password=\"\",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,e=e.replace(ps,\"\")),e=e.replace(ds,\"\"),o=ir(e);f<=o.length;){switch(i=o[f],c){case Ls:if(!i||!os.test(i)){if(r)return\"Invalid scheme\";c=Ms;continue}l+=i.toLowerCase(),c=Us;break;case Us:if(i&&(is.test(i)||\"+\"==i||\"-\"==i||\".\"==i))l+=i.toLowerCase();else{if(\":\"!=i){if(r)return\"Invalid scheme\";l=\"\",c=Ms,f=0;continue}if(r&&(Rs(t)!=b(As,l)||\"file\"==l&&(Os(t)||null!==t.port)||\"file\"==t.scheme&&!t.host))return;if(t.scheme=l,r)return void(Rs(t)&&As[t.scheme]==t.port&&(t.port=null));l=\"\",\"file\"==t.scheme?c=Gs:Rs(t)&&n&&n.scheme==t.scheme?c=_s:Rs(t)?c=Bs:\"/\"==o[f+1]?(c=Ns,f++):(t.cannotBeABaseURL=!0,t.path.push(\"\"),c=Ys)}break;case Ms:if(!n||n.cannotBeABaseURL&&\"#\"!=i)return\"Invalid scheme\";if(n.cannotBeABaseURL&&\"#\"==i){t.scheme=n.scheme,t.path=n.path.slice(),t.query=n.query,t.fragment=\"\",t.cannotBeABaseURL=!0,c=Qs;break}c=\"file\"==n.scheme?Gs:Cs;continue;case _s:if(\"/\"!=i||\"/\"!=o[f+1]){c=Cs;continue}c=Ds,f++;break;case Ns:if(\"/\"==i){c=qs;break}c=Xs;continue;case Cs:if(t.scheme=n.scheme,i==Hu)t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query=n.query;else if(\"/\"==i||\"\\\\\"==i&&Rs(t))c=Fs;else if(\"?\"==i)t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query=\"\",c=Js;else{if(\"#\"!=i){t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.path.pop(),c=Xs;continue}t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query=n.query,t.fragment=\"\",c=Qs}break;case Fs:if(!Rs(t)||\"/\"!=i&&\"\\\\\"!=i){if(\"/\"!=i){t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,c=Xs;continue}c=qs}else c=Ds;break;case Bs:if(c=Ds,\"/\"!=i||\"/\"!=l.charAt(f+1))continue;f++;break;case Ds:if(\"/\"!=i&&\"\\\\\"!=i){c=qs;continue}break;case qs:if(\"@\"==i){h&&(l=\"%40\"+l),h=!0,a=ir(l);for(var v=0;v<a.length;v++){var g=a[v];if(\":\"!=g||d){var y=xs(g,Es);d?t.password+=y:t.username+=y}else d=!0}l=\"\"}else if(i==Hu||\"/\"==i||\"?\"==i||\"#\"==i||\"\\\\\"==i&&Rs(t)){if(h&&\"\"==l)return\"Invalid authority\";f-=ir(l).length+1,l=\"\",c=zs}else l+=i;break;case zs:case Ws:if(r&&\"file\"==t.scheme){c=Vs;continue}if(\":\"!=i||p){if(i==Hu||\"/\"==i||\"?\"==i||\"#\"==i||\"\\\\\"==i&&Rs(t)){if(Rs(t)&&\"\"==l)return\"Invalid host\";if(r&&\"\"==l&&(Os(t)||null!==t.port))return;if(u=vs(t,l))return u;if(l=\"\",c=Hs,r)return;continue}\"[\"==i?p=!0:\"]\"==i&&(p=!1),l+=i}else{if(\"\"==l)return\"Invalid host\";if(u=vs(t,l))return u;if(l=\"\",c=Ks,r==Ws)return}break;case Ks:if(!as.test(i)){if(i==Hu||\"/\"==i||\"?\"==i||\"#\"==i||\"\\\\\"==i&&Rs(t)||r){if(\"\"!=l){var m=parseInt(l,10);if(m>65535)return\"Invalid port\";t.port=Rs(t)&&m===As[t.scheme]?null:m,l=\"\"}if(r)return;c=Hs;continue}return\"Invalid port\"}l+=i;break;case Gs:if(t.scheme=\"file\",\"/\"==i||\"\\\\\"==i)c=$s;else{if(!n||\"file\"!=n.scheme){c=Xs;continue}if(i==Hu)t.host=n.host,t.path=n.path.slice(),t.query=n.query;else if(\"?\"==i)t.host=n.host,t.path=n.path.slice(),t.query=\"\",c=Js;else{if(\"#\"!=i){Ps(o.slice(f).join(\"\"))||(t.host=n.host,t.path=n.path.slice(),Ts(t)),c=Xs;continue}t.host=n.host,t.path=n.path.slice(),t.query=n.query,t.fragment=\"\",c=Qs}}break;case $s:if(\"/\"==i||\"\\\\\"==i){c=Vs;break}n&&\"file\"==n.scheme&&!Ps(o.slice(f).join(\"\"))&&(Is(n.path[0],!0)?t.path.push(n.path[0]):t.host=n.host),c=Xs;continue;case Vs:if(i==Hu||\"/\"==i||\"\\\\\"==i||\"?\"==i||\"#\"==i){if(!r&&Is(l))c=Xs;else if(\"\"==l){if(t.host=\"\",r)return;c=Hs}else{if(u=vs(t,l))return u;if(\"localhost\"==t.host&&(t.host=\"\"),r)return;l=\"\",c=Hs}continue}l+=i;break;case Hs:if(Rs(t)){if(c=Xs,\"/\"!=i&&\"\\\\\"!=i)continue}else if(r||\"?\"!=i)if(r||\"#\"!=i){if(i!=Hu&&(c=Xs,\"/\"!=i))continue}else t.fragment=\"\",c=Qs;else t.query=\"\",c=Js;break;case Xs:if(i==Hu||\"/\"==i||\"\\\\\"==i&&Rs(t)||!r&&(\"?\"==i||\"#\"==i)){if(\"..\"===(s=(s=l).toLowerCase())||\"%2e.\"===s||\".%2e\"===s||\"%2e%2e\"===s?(Ts(t),\"/\"==i||\"\\\\\"==i&&Rs(t)||t.path.push(\"\")):ks(l)?\"/\"==i||\"\\\\\"==i&&Rs(t)||t.path.push(\"\"):(\"file\"==t.scheme&&!t.path.length&&Is(l)&&(t.host&&(t.host=\"\"),l=l.charAt(0)+\":\"),t.path.push(l)),l=\"\",\"file\"==t.scheme&&(i==Hu||\"?\"==i||\"#\"==i))for(;t.path.length>1&&\"\"===t.path[0];)t.path.shift();\"?\"==i?(t.query=\"\",c=Js):\"#\"==i&&(t.fragment=\"\",c=Qs)}else l+=xs(i,ws);break;case Ys:\"?\"==i?(t.query=\"\",c=Js):\"#\"==i?(t.fragment=\"\",c=Qs):i!=Hu&&(t.path[0]+=xs(i,bs));break;case Js:r||\"#\"!=i?i!=Hu&&(\"'\"==i&&Rs(t)?t.query+=\"%27\":t.query+=\"#\"==i?\"%23\":xs(i,bs)):(t.fragment=\"\",c=Qs);break;case Qs:i!=Hu&&(t.fragment+=xs(i,Ss))}f++}},tc=function(t){var e,r,n=xr(this,tc,\"URL\"),o=arguments.length>1?arguments[1]:void 0,a=String(t),u=ts(n,{type:\"URL\"});if(void 0!==o)if(o instanceof tc)e=es(o);else if(r=Zs(e={},String(o)))throw TypeError(r);if(r=Zs(u,a,null,e))throw TypeError(r);var s=u.searchParams=new Qu,c=Zu(s);c.updateSearchParams(u.query),c.updateURL=function(){u.query=String(s)||null},i||(n.href=rc.call(n),n.origin=nc.call(n),n.protocol=oc.call(n),n.username=ic.call(n),n.password=ac.call(n),n.host=uc.call(n),n.hostname=sc.call(n),n.port=cc.call(n),n.pathname=fc.call(n),n.search=lc.call(n),n.searchParams=hc.call(n),n.hash=pc.call(n))},ec=tc.prototype,rc=function(){var t=es(this),e=t.scheme,r=t.username,n=t.password,o=t.host,i=t.port,a=t.path,u=t.query,s=t.fragment,c=e+\":\";return null!==o?(c+=\"//\",Os(t)&&(c+=r+(n?\":\"+n:\"\")+\"@\"),c+=ms(o),null!==i&&(c+=\":\"+i)):\"file\"==e&&(c+=\"//\"),c+=t.cannotBeABaseURL?a[0]:a.length?\"/\"+a.join(\"/\"):\"\",null!==u&&(c+=\"?\"+u),null!==s&&(c+=\"#\"+s),c},nc=function(){var t=es(this),e=t.scheme,r=t.port;if(\"blob\"==e)try{return new URL(e.path[0]).origin}catch(t){return\"null\"}return\"file\"!=e&&Rs(t)?e+\"://\"+ms(t.host)+(null!==r?\":\"+r:\"\"):\"null\"},oc=function(){return es(this).scheme+\":\"},ic=function(){return es(this).username},ac=function(){return es(this).password},uc=function(){var t=es(this),e=t.host,r=t.port;return null===e?\"\":null===r?ms(e):ms(e)+\":\"+r},sc=function(){var t=es(this).host;return null===t?\"\":ms(t)},cc=function(){var t=es(this).port;return null===t?\"\":String(t)},fc=function(){var t=es(this),e=t.path;return t.cannotBeABaseURL?e[0]:e.length?\"/\"+e.join(\"/\"):\"\"},lc=function(){var t=es(this).query;return t?\"?\"+t:\"\"},hc=function(){return es(this).searchParams},pc=function(){var t=es(this).fragment;return t?\"#\"+t:\"\"},dc=function(t,e){return{get:t,set:e,configurable:!0,enumerable:!0}};if(i&&Dt(ec,{href:dc(rc,function(t){var e=es(this),r=String(t),n=Zs(e,r);if(n)throw TypeError(n);Zu(e.searchParams).updateSearchParams(e.query)}),origin:dc(nc),protocol:dc(oc,function(t){var e=es(this);Zs(e,String(t)+\":\",Ls)}),username:dc(ic,function(t){var e=es(this),r=ir(String(t));if(!js(e)){e.username=\"\";for(var n=0;n<r.length;n++)e.username+=xs(r[n],Es)}}),password:dc(ac,function(t){var e=es(this),r=ir(String(t));if(!js(e)){e.password=\"\";for(var n=0;n<r.length;n++)e.password+=xs(r[n],Es)}}),host:dc(uc,function(t){var e=es(this);e.cannotBeABaseURL||Zs(e,String(t),zs)}),hostname:dc(sc,function(t){var e=es(this);e.cannotBeABaseURL||Zs(e,String(t),Ws)}),port:dc(cc,function(t){var e=es(this);js(e)||(\"\"==(t=String(t))?e.port=null:Zs(e,t,Ks))}),pathname:dc(fc,function(t){var e=es(this);e.cannotBeABaseURL||(e.path=[],Zs(e,t+\"\",Hs))}),search:dc(lc,function(t){var e=es(this);\"\"==(t=String(t))?e.query=null:(\"?\"==t.charAt(0)&&(t=t.slice(1)),e.query=\"\",Zs(e,t,Js)),Zu(e.searchParams).updateSearchParams(e.query)}),searchParams:dc(hc),hash:dc(pc,function(t){var e=es(this);\"\"!=(t=String(t))?(\"#\"==t.charAt(0)&&(t=t.slice(1)),e.fragment=\"\",Zs(e,t,Qs)):e.fragment=null})}),Z(ec,\"toJSON\",function(){return rc.call(this)},{enumerable:!0}),Z(ec,\"toString\",function(){return rc.call(this)},{enumerable:!0}),Ju){var vc=Ju.createObjectURL,gc=Ju.revokeObjectURL;vc&&Z(tc,\"createObjectURL\",function(t){return vc.apply(Ju,arguments)}),gc&&Z(tc,\"revokeObjectURL\",function(t){return gc.apply(Ju,arguments)})}Le(tc,\"URL\"),Pt({global:!0,forced:!vu,sham:!i},{URL:tc}),Pt({target:\"URL\",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}}),Pt({target:\"WeakMap\",stat:!0},{from:Wr}),Pt({target:\"WeakMap\",stat:!0},{of:Kr}),Pt({target:\"WeakMap\",proto:!0,real:!0,forced:!1},{deleteAll:function(){return Gr.apply(this,arguments)}}),Pt({target:\"WeakMap\",proto:!0,real:!0,forced:!1},{upsert:Yr}),Rr(\"WeakSet\",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},oo),Pt({target:\"WeakSet\",proto:!0,real:!0,forced:!1},{addAll:function(){return Ui.apply(this,arguments)}}),Pt({target:\"WeakSet\",proto:!0,real:!0,forced:!1},{deleteAll:function(){return Gr.apply(this,arguments)}}),Pt({target:\"WeakSet\",stat:!0},{from:Wr}),Pt({target:\"WeakSet\",stat:!0},{of:Kr});var yc,mc,bc,Sc=n.Promise,wc=/(iphone|ipod|ipad).*applewebkit/i.test(Ci),Ec=n.location,xc=n.setImmediate,Ac=n.clearImmediate,Rc=n.process,Oc=n.MessageChannel,jc=n.Dispatch,Ic=0,Pc={},Tc=function(t){if(Pc.hasOwnProperty(t)){var e=Pc[t];delete Pc[t],e()}},kc=function(t){return function(){Tc(t)}},Lc=function(t){Tc(t.data)},Uc=function(t){n.postMessage(t+\"\",Ec.protocol+\"//\"+Ec.host)};xc&&Ac||(xc=function(t){for(var e=arguments,r=[],n=1;arguments.length>n;)r.push(e[n++]);return Pc[++Ic]=function(){(\"function\"==typeof t?t:Function(t)).apply(void 0,r)},yc(Ic),Ic},Ac=function(t){delete Pc[t]},\"process\"==l(Rc)?yc=function(t){Rc.nextTick(kc(t))}:jc&&jc.now?yc=function(t){jc.now(kc(t))}:Oc&&!wc?(bc=(mc=new Oc).port2,mc.port1.onmessage=Lc,yc=Jt(bc.postMessage,bc,1)):!n.addEventListener||\"function\"!=typeof postMessage||n.importScripts||o(Uc)||\"file:\"===Ec.protocol?yc=\"onreadystatechange\"in E(\"script\")?function(t){qt.appendChild(E(\"script\")).onreadystatechange=function(){qt.removeChild(this),Tc(t)}}:function(t){setTimeout(kc(t),0)}:(yc=Uc,n.addEventListener(\"message\",Lc,!1)));var Mc,_c,Nc,Cc,Fc,Bc,Dc,qc,zc={set:xc,clear:Ac},Wc=R.f,Kc=zc.set,Gc=n.MutationObserver||n.WebKitMutationObserver,$c=n.process,Vc=n.Promise,Hc=\"process\"==l($c),Xc=Wc(n,\"queueMicrotask\"),Yc=Xc&&Xc.value;Yc||(Mc=function(){var t,e;for(Hc&&(t=$c.domain)&&t.exit();_c;){e=_c.fn,_c=_c.next;try{e()}catch(t){throw _c?Cc():Nc=void 0,t}}Nc=void 0,t&&t.enter()},Hc?Cc=function(){$c.nextTick(Mc)}:Gc&&!wc?(Fc=!0,Bc=document.createTextNode(\"\"),new Gc(Mc).observe(Bc,{characterData:!0}),Cc=function(){Bc.data=Fc=!Fc}):Vc&&Vc.resolve?(Dc=Vc.resolve(void 0),qc=Dc.then,Cc=function(){qc.call(Dc,Mc)}):Cc=function(){Kc.call(n,Mc)});var Jc,Qc,Zc,tf,ef=Yc||function(t){var e={fn:t,next:void 0};Nc&&(Nc.next=e),_c||(_c=e,Cc()),Nc=e},rf=function(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw TypeError(\"Bad Promise constructor\");e=t,r=n}),this.resolve=Yt(e),this.reject=Yt(r)},nf={f:function(t){return new rf(t)}},of=function(t,e){if(O(t),g(e)&&e.constructor===t)return e;var r=nf.f(t);return(0,r.resolve)(e),r.promise},af=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},uf=zc.set,sf=Ft(\"species\"),cf=\"Promise\",ff=Q.get,lf=Q.set,hf=Q.getterFor(cf),pf=Sc,df=n.TypeError,vf=n.document,gf=n.process,yf=rt(\"fetch\"),mf=nf.f,bf=mf,Sf=\"process\"==l(gf),wf=!!(vf&&vf.createEvent&&n.dispatchEvent),Ef=jt(cf,function(){if(N(pf)===String(pf)){if(66===qi)return!0;if(!Sf&&\"function\"!=typeof PromiseRejectionEvent)return!0}if(qi>=51&&/native code/.test(pf))return!1;var t=pf.resolve(1),e=function(t){t(function(){},function(){})};return(t.constructor={})[sf]=e,!(t.then(function(){})instanceof e)}),xf=Ef||!ur(function(t){pf.all(t).catch(function(){})}),Af=function(t){var e;return!(!g(t)||\"function\"!=typeof(e=t.then))&&e},Rf=function(t,e,r){if(!e.notified){e.notified=!0;var n=e.reactions;ef(function(){for(var o=e.value,i=1==e.state,a=0;n.length>a;){var u,s,c,f=n[a++],l=i?f.ok:f.fail,h=f.resolve,p=f.reject,d=f.domain;try{l?(i||(2===e.rejection&&Pf(t,e),e.rejection=1),!0===l?u=o:(d&&d.enter(),u=l(o),d&&(d.exit(),c=!0)),u===f.promise?p(df(\"Promise-chain cycle\")):(s=Af(u))?s.call(u,h,p):h(u)):p(o)}catch(t){d&&!c&&d.exit(),p(t)}}e.reactions=[],e.notified=!1,r&&!e.rejection&&jf(t,e)})}},Of=function(t,e,r){var o,i;wf?((o=vf.createEvent(\"Event\")).promise=e,o.reason=r,o.initEvent(t,!1,!0),n.dispatchEvent(o)):o={promise:e,reason:r},(i=n[\"on\"+t])?i(o):\"unhandledrejection\"===t&&function(t,e){var r=n.console;r&&r.error&&(1===arguments.length?r.error(t):r.error(t,e))}(\"Unhandled promise rejection\",r)},jf=function(t,e){uf.call(n,function(){var r,n=e.value;if(If(e)&&(r=af(function(){Sf?gf.emit(\"unhandledRejection\",n,t):Of(\"unhandledrejection\",t,n)}),e.rejection=Sf||If(e)?2:1,r.error))throw r.value})},If=function(t){return 1!==t.rejection&&!t.parent},Pf=function(t,e){uf.call(n,function(){Sf?gf.emit(\"rejectionHandled\",t):Of(\"rejectionhandled\",t,e.value)})},Tf=function(t,e,r,n){return function(o){t(e,r,o,n)}},kf=function(t,e,r,n){e.done||(e.done=!0,n&&(e=n),e.value=r,e.state=2,Rf(t,e,!0))},Lf=function(t,e,r,n){if(!e.done){e.done=!0,n&&(e=n);try{if(t===r)throw df(\"Promise can't be resolved itself\");var o=Af(r);o?ef(function(){var n={done:!1};try{o.call(r,Tf(Lf,t,n,e),Tf(kf,t,n,e))}catch(r){kf(t,n,r,e)}}):(e.value=r,e.state=1,Rf(t,e,!1))}catch(r){kf(t,{done:!1},r,e)}}};Ef&&(pf=function(t){xr(this,pf,cf),Yt(t),Jc.call(this);var e=ff(this);try{t(Tf(Lf,this,e),Tf(kf,this,e))}catch(t){kf(this,e,t)}},(Jc=function(t){lf(this,{type:cf,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=Or(pf.prototype,{then:function(t,e){var r=hf(this),n=mf(Xr(this,pf));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=Sf?gf.domain:void 0,r.parent=!0,r.reactions.push(n),0!=r.state&&Rf(this,r,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),Qc=function(){var t=new Jc,e=ff(t);this.promise=t,this.resolve=Tf(Lf,t,e),this.reject=Tf(kf,t,e)},nf.f=mf=function(t){return t===pf||t===Zc?new Qc(t):bf(t)},\"function\"==typeof Sc&&(tf=Sc.prototype.then,Z(Sc.prototype,\"then\",function(t,e){var r=this;return new pf(function(t,e){tf.call(r,t,e)}).then(t,e)},{unsafe:!0}),\"function\"==typeof yf&&Pt({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return of(pf,yf.apply(n,arguments))}}))),Pt({global:!0,wrap:!0,forced:Ef},{Promise:pf}),Le(pf,cf,!1),Ir(cf),Zc=rt(cf),Pt({target:cf,stat:!0,forced:Ef},{reject:function(t){var e=mf(this);return e.reject.call(void 0,t),e.promise}}),Pt({target:cf,stat:!0,forced:Ef},{resolve:function(t){return of(this,t)}}),Pt({target:cf,stat:!0,forced:xf},{all:function(t){var e=this,r=mf(e),n=r.resolve,o=r.reject,i=af(function(){var r=Yt(e.resolve),i=[],a=0,u=1;Er(t,function(t){var s=a++,c=!1;i.push(void 0),u++,r.call(e,t).then(function(t){c||(c=!0,i[s]=t,--u||n(i))},o)}),--u||n(i)});return i.error&&o(i.value),r.promise},race:function(t){var e=this,r=mf(e),n=r.reject,o=af(function(){var o=Yt(e.resolve);Er(t,function(t){o.call(e,t).then(r.resolve,n)})});return o.error&&n(o.value),r.promise}}),Pt({target:\"Promise\",stat:!0},{allSettled:function(t){var e=this,r=nf.f(e),n=r.resolve,o=r.reject,i=af(function(){var r=Yt(e.resolve),o=[],i=0,a=1;Er(t,function(t){var u=i++,s=!1;o.push(void 0),a++,r.call(e,t).then(function(t){s||(s=!0,o[u]={status:\"fulfilled\",value:t},--a||n(o))},function(t){s||(s=!0,o[u]={status:\"rejected\",reason:t},--a||n(o))})}),--a||n(o)});return i.error&&o(i.value),r.promise}});var Uf=!!Sc&&o(function(){Sc.prototype.finally.call({then:function(){}},function(){})});Pt({target:\"Promise\",proto:!0,real:!0,forced:Uf},{finally:function(t){var e=Xr(this,rt(\"Promise\")),r=\"function\"==typeof t;return this.then(r?function(r){return of(e,t()).then(function(){return r})}:t,r?function(r){return of(e,t()).then(function(){throw r})}:t)}}),\"function\"!=typeof Sc||Sc.prototype.finally||Z(Sc.prototype,\"finally\",rt(\"Promise\").prototype.finally);var Mf=Q.set,_f=Q.getterFor(\"AggregateError\"),Nf=function(t,e){var r=this;if(!(r instanceof Nf))return new Nf(t,e);Fe&&(r=Fe(new Error(e),Oe(r)));var n=[];return Er(t,n.push,n),i?Mf(r,{errors:n,type:\"AggregateError\"}):r.errors=n,void 0!==e&&P(r,\"message\",String(e)),r};Nf.prototype=$t(Error.prototype,{constructor:c(5,Nf),message:c(5,\"\"),name:c(5,\"AggregateError\")}),i&&I.f(Nf.prototype,\"errors\",{get:function(){return _f(this).errors},configurable:!0}),Pt({global:!0},{AggregateError:Nf}),Pt({target:\"Promise\",stat:!0},{try:function(t){var e=nf.f(this),r=af(t);return(r.error?e.reject:e.resolve)(r.value),e.promise}}),Pt({target:\"Promise\",stat:!0},{any:function(t){var e=this,r=nf.f(e),n=r.resolve,o=r.reject,i=af(function(){var r=Yt(e.resolve),i=[],a=0,u=1,s=!1;Er(t,function(t){var c=a++,f=!1;i.push(void 0),u++,r.call(e,t).then(function(t){f||s||(s=!0,n(t))},function(t){f||s||(f=!0,i[c]=t,--u||o(new(rt(\"AggregateError\"))(i,\"No one promise resolved\")))})}),--u||o(new(rt(\"AggregateError\"))(i,\"No one promise resolved\"))});return i.error&&o(i.value),r.promise}}),Zt(\"Promise\",\"finally\");var Cf={searchParams:\"URLSearchParams\"in self,iterable:\"Symbol\"in self&&\"iterator\"in Symbol,blob:\"FileReader\"in self&&\"Blob\"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:\"FormData\"in self,arrayBuffer:\"ArrayBuffer\"in self};if(Cf.arrayBuffer)var Ff=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],Bf=ArrayBuffer.isView||function(t){return t&&Ff.indexOf(Object.prototype.toString.call(t))>-1};function Df(t){if(\"string\"!=typeof t&&(t=String(t)),/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError(\"Invalid character in header field name\");return t.toLowerCase()}function qf(t){return\"string\"!=typeof t&&(t=String(t)),t}function zf(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return Cf.iterable&&(e[Symbol.iterator]=function(){return e}),e}function Wf(t){this.map={},t instanceof Wf?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function Kf(t){if(t.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));t.bodyUsed=!0}function Gf(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function $f(t){var e=new FileReader,r=Gf(e);return e.readAsArrayBuffer(t),r}function Vf(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function Hf(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?\"string\"==typeof t?this._bodyText=t:Cf.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:Cf.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:Cf.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():Cf.arrayBuffer&&Cf.blob&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=Vf(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):Cf.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||Bf(t))?this._bodyArrayBuffer=Vf(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText=\"\",this.headers.get(\"content-type\")||(\"string\"==typeof t?this.headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\"content-type\",this._bodyBlob.type):Cf.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},Cf.blob&&(this.blob=function(){var t=Kf(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?Kf(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then($f)}),this.text=function(){var t,e,r,n=Kf(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,r=Gf(e=new FileReader),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n<e.length;n++)r[n]=String.fromCharCode(e[n]);return r.join(\"\")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve(this._bodyText)},Cf.formData&&(this.formData=function(){return this.text().then(Jf)}),this.json=function(){return this.text().then(JSON.parse)},this}Wf.prototype.append=function(t,e){t=Df(t),e=qf(e);var r=this.map[t];this.map[t]=r?r+\", \"+e:e},Wf.prototype.delete=function(t){delete this.map[Df(t)]},Wf.prototype.get=function(t){return t=Df(t),this.has(t)?this.map[t]:null},Wf.prototype.has=function(t){return this.map.hasOwnProperty(Df(t))},Wf.prototype.set=function(t,e){this.map[Df(t)]=qf(e)},Wf.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},Wf.prototype.keys=function(){var t=[];return this.forEach(function(e,r){t.push(r)}),zf(t)},Wf.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),zf(t)},Wf.prototype.entries=function(){var t=[];return this.forEach(function(e,r){t.push([r,e])}),zf(t)},Cf.iterable&&(Wf.prototype[Symbol.iterator]=Wf.prototype.entries);var Xf=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];function Yf(t,e){var r,n,o=(e=e||{}).body;if(t instanceof Yf){if(t.bodyUsed)throw new TypeError(\"Already read\");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new Wf(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,o||null==t._bodyInit||(o=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||\"same-origin\",!e.headers&&this.headers||(this.headers=new Wf(e.headers)),this.method=(n=(r=e.method||this.method||\"GET\").toUpperCase(),Xf.indexOf(n)>-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&o)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(o)}function Jf(t){var e=new FormData;return t.trim().split(\"&\").forEach(function(t){if(t){var r=t.split(\"=\"),n=r.shift().replace(/\\+/g,\" \"),o=r.join(\"=\").replace(/\\+/g,\" \");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function Qf(t,e){e||(e={}),this.type=\"default\",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText=\"statusText\"in e?e.statusText:\"OK\",this.headers=new Wf(e.headers),this.url=e.url||\"\",this._initBody(t)}Yf.prototype.clone=function(){return new Yf(this,{body:this._bodyInit})},Hf.call(Yf.prototype),Hf.call(Qf.prototype),Qf.prototype.clone=function(){return new Qf(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Wf(this.headers),url:this.url})},Qf.error=function(){var t=new Qf(null,{status:0,statusText:\"\"});return t.type=\"error\",t};var Zf=[301,302,303,307,308];Qf.redirect=function(t,e){if(-1===Zf.indexOf(e))throw new RangeError(\"Invalid status code\");return new Qf(null,{status:e,headers:{location:t}})};var tl=self.DOMException;try{new tl}catch(t){(tl=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),tl.prototype.constructor=tl}function el(t,e){return new Promise(function(r,n){var o=new Yf(t,e);if(o.signal&&o.signal.aborted)return n(new tl(\"Aborted\",\"AbortError\"));var i=new XMLHttpRequest;function a(){i.abort()}i.onload=function(){var t,e,n={status:i.status,statusText:i.statusText,headers:(t=i.getAllResponseHeaders()||\"\",e=new Wf,t.replace(/\\r?\\n[\\t ]+/g,\" \").split(/\\r?\\n/).forEach(function(t){var r=t.split(\":\"),n=r.shift().trim();if(n){var o=r.join(\":\").trim();e.append(n,o)}}),e)};n.url=\"responseURL\"in i?i.responseURL:n.headers.get(\"X-Request-URL\"),r(new Qf(\"response\"in i?i.response:i.responseText,n))},i.onerror=function(){n(new TypeError(\"Network request failed\"))},i.ontimeout=function(){n(new TypeError(\"Network request failed\"))},i.onabort=function(){n(new tl(\"Aborted\",\"AbortError\"))},i.open(o.method,o.url,!0),\"include\"===o.credentials?i.withCredentials=!0:\"omit\"===o.credentials&&(i.withCredentials=!1),\"responseType\"in i&&Cf.blob&&(i.responseType=\"blob\"),o.headers.forEach(function(t,e){i.setRequestHeader(e,t)}),o.signal&&(o.signal.addEventListener(\"abort\",a),i.onreadystatechange=function(){4===i.readyState&&o.signal.removeEventListener(\"abort\",a)}),i.send(void 0===o._bodyInit?null:o._bodyInit)})}el.polyfill=!0,self.fetch||(self.fetch=el,self.Headers=Wf,self.Request=Yf,self.Response=Qf);var rl=Object.getOwnPropertySymbols,nl=Object.prototype.hasOwnProperty,ol=Object.prototype.propertyIsEnumerable,il=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(t){n[t]=t}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,n,o=arguments,i=function(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}(t),a=1;a<arguments.length;a++){for(var u in r=Object(o[a]))nl.call(r,u)&&(i[u]=r[u]);if(rl){n=rl(r);for(var s=0;s<n.length;s++)ol.call(r,n[s])&&(i[n[s]]=r[n[s]])}}return i};Object.assign=il}();\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC9wb2x5ZmlsbHMvcG9seWZpbGwtbm9tb2R1bGUuanM/NDYyZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwREFBWSxxSkFBcUosZ0JBQWdCLFlBQVksV0FBVyxzQkFBc0Isa0JBQWtCLDBCQUEwQixxTEFBcUwsSUFBSSxZQUFZLFNBQVMsVUFBVSxpQkFBaUIsa0NBQWtDLElBQUksZUFBZSxVQUFVLEtBQUssTUFBTSwyREFBMkQsY0FBYyxJQUFJLGdCQUFnQixnQkFBZ0Isd0JBQXdCLEdBQUcsaUJBQWlCLE9BQU8sK0RBQStELEtBQUssd0JBQXdCLDZCQUE2QiwyQkFBMkIsMkNBQTJDLGNBQWMsNENBQTRDLHNCQUFzQixzREFBc0QsU0FBUyxlQUFlLGVBQWUsZUFBZSx1REFBdUQsaUJBQWlCLGtCQUFrQixRQUFRLGlFQUFpRSw2REFBNkQsa0VBQWtFLDJEQUEyRCxLQUFLLGdDQUFnQyxtQkFBbUIsdURBQXVELCtCQUErQixxQkFBcUIsOENBQThDLGVBQWUsVUFBVSxJQUFJLHVDQUF1QyxvQkFBb0IsMEJBQTBCLGNBQWMsVUFBVSx5Q0FBeUMsZUFBZSx3REFBd0QsU0FBUyw0QkFBNEIsc0JBQXNCLDZCQUE2QixnQkFBZ0IsVUFBVSxtRUFBbUUscUNBQXFDLHFCQUFxQix1QkFBdUIsaUJBQWlCLGdCQUFnQixpQkFBaUIsSUFBSSxTQUFTLFNBQVMsT0FBTyxTQUFTLHFEQUFxRCxzQkFBc0IsaUVBQWlFLGlCQUFpQixFQUFFLHlHQUF5Ryx5QkFBeUIsa0NBQWtDLEVBQUUsdUJBQXVCLCtFQUErRSxFQUFFLG9DQUFvQyxrRUFBa0UsMkJBQTJCLHlCQUF5QixNQUFNLE1BQU0sK0NBQStDLGdCQUFnQix1QkFBdUIsZUFBZSx1QkFBdUIsZUFBZSxvQkFBb0IsS0FBSyxpQkFBaUIsd0JBQXdCLGtCQUFrQixlQUFlLHNCQUFzQixlQUFlLGVBQWUsU0FBUyxzQ0FBc0MsdUJBQXVC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QUF1RSxpQkFBaUIsaUNBQWlDLGtCQUFrQix1RUFBdUUseUJBQXlCLGFBQWEsVUFBVSxvQkFBb0IsV0FBVywySkFBMkosc0NBQXNDLE1BQU0seUJBQXlCLGVBQWUsTUFBTSwySEFBMkgsc0JBQXNCLDJDQUEyQyx3QkFBd0IsMkNBQTJDLHNCQUFzQixrQ0FBa0MsOE1BQThNLHdCQUF3QixrRkFBa0YsMERBQTBELGdEQUFnRCxFQUFFLDRGQUE0Riw4SEFBOEgsSUFBSSwyQkFBMkIsd0JBQXdCLDZEQUE2RCxZQUFZLEtBQUssS0FBSyxvQ0FBb0MsZ0VBQWdFLFlBQVksb0JBQW9CLFNBQVMsMkRBQTJELE9BQU8sdURBQXVELGNBQWMsU0FBUyxVQUFVLCtCQUErQixzQ0FBc0Msd0ZBQXdGLGlCQUFpQixRQUFRLG1CQUFtQixLQUFLLHNEQUFzRCxPQUFPLFFBQVEsWUFBWSxXQUFXLHdDQUF3QyxVQUFVLGlCQUFpQiIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvcG9seWZpbGxzL3BvbHlmaWxsLW5vbW9kdWxlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIWZ1bmN0aW9uKCl7dmFyIHQ9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpczpcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93P3dpbmRvdzpcInVuZGVmaW5lZFwiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDpcInVuZGVmaW5lZFwiIT10eXBlb2Ygc2VsZj9zZWxmOnt9O2Z1bmN0aW9uIGUodCxlKXtyZXR1cm4gdChlPXtleHBvcnRzOnt9fSxlLmV4cG9ydHMpLGUuZXhwb3J0c312YXIgcj1mdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5NYXRoPT1NYXRoJiZ0fSxuPXIoXCJvYmplY3RcIj09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMpfHxyKFwib2JqZWN0XCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdyl8fHIoXCJvYmplY3RcIj09dHlwZW9mIHNlbGYmJnNlbGYpfHxyKFwib2JqZWN0XCI9PXR5cGVvZiB0JiZ0KXx8RnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpLG89ZnVuY3Rpb24odCl7dHJ5e3JldHVybiEhdCgpfWNhdGNoKHQpe3JldHVybiEwfX0saT0hbyhmdW5jdGlvbigpe3JldHVybiA3IT1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sMSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSlbMV19KSxhPXt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLHU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixzPXtmOnUmJiFhLmNhbGwoezE6Mn0sMSk/ZnVuY3Rpb24odCl7dmFyIGU9dSh0aGlzLHQpO3JldHVybiEhZSYmZS5lbnVtZXJhYmxlfTphfSxjPWZ1bmN0aW9uKHQsZSl7cmV0dXJue2VudW1lcmFibGU6ISgxJnQpLGNvbmZpZ3VyYWJsZTohKDImdCksd3JpdGFibGU6ISg0JnQpLHZhbHVlOmV9fSxmPXt9LnRvU3RyaW5nLGw9ZnVuY3Rpb24odCl7cmV0dXJuIGYuY2FsbCh0KS5zbGljZSg4LC0xKX0saD1cIlwiLnNwbGl0LHA9byhmdW5jdGlvbigpe3JldHVybiFPYmplY3QoXCJ6XCIpLnByb3BlcnR5SXNFbnVtZXJhYmxlKDApfSk/ZnVuY3Rpb24odCl7cmV0dXJuXCJTdHJpbmdcIj09bCh0KT9oLmNhbGwodCxcIlwiKTpPYmplY3QodCl9Ok9iamVjdCxkPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gXCIrdCk7cmV0dXJuIHR9LHY9ZnVuY3Rpb24odCl7cmV0dXJuIHAoZCh0KSl9LGc9ZnVuY3Rpb24odCl7cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIHQ/bnVsbCE9PXQ6XCJmdW5jdGlvblwiPT10eXBlb2YgdH0seT1mdW5jdGlvbih0LGUpe2lmKCFnKHQpKXJldHVybiB0O3ZhciByLG47aWYoZSYmXCJmdW5jdGlvblwiPT10eXBlb2Yocj10LnRvU3RyaW5nKSYmIWcobj1yLmNhbGwodCkpKXJldHVybiBuO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mKHI9dC52YWx1ZU9mKSYmIWcobj1yLmNhbGwodCkpKXJldHVybiBuO2lmKCFlJiZcImZ1bmN0aW9uXCI9PXR5cGVvZihyPXQudG9TdHJpbmcpJiYhZyhuPXIuY2FsbCh0KSkpcmV0dXJuIG47dGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlXCIpfSxtPXt9Lmhhc093blByb3BlcnR5LGI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbS5jYWxsKHQsZSl9LFM9bi5kb2N1bWVudCx3PWcoUykmJmcoUy5jcmVhdGVFbGVtZW50KSxFPWZ1bmN0aW9uKHQpe3JldHVybiB3P1MuY3JlYXRlRWxlbWVudCh0KTp7fX0seD0haSYmIW8oZnVuY3Rpb24oKXtyZXR1cm4gNyE9T2JqZWN0LmRlZmluZVByb3BlcnR5KEUoXCJkaXZcIiksXCJhXCIse2dldDpmdW5jdGlvbigpe3JldHVybiA3fX0pLmF9KSxBPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsUj17ZjppP0E6ZnVuY3Rpb24odCxlKXtpZih0PXYodCksZT15KGUsITApLHgpdHJ5e3JldHVybiBBKHQsZSl9Y2F0Y2godCl7fWlmKGIodCxlKSlyZXR1cm4gYyghcy5mLmNhbGwodCxlKSx0W2VdKX19LE89ZnVuY3Rpb24odCl7aWYoIWcodCkpdGhyb3cgVHlwZUVycm9yKFN0cmluZyh0KStcIiBpcyBub3QgYW4gb2JqZWN0XCIpO3JldHVybiB0fSxqPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxJPXtmOmk/ajpmdW5jdGlvbih0LGUscil7aWYoTyh0KSxlPXkoZSwhMCksTyhyKSx4KXRyeXtyZXR1cm4gaih0LGUscil9Y2F0Y2godCl7fWlmKFwiZ2V0XCJpbiByfHxcInNldFwiaW4gcil0aHJvdyBUeXBlRXJyb3IoXCJBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZFwiKTtyZXR1cm5cInZhbHVlXCJpbiByJiYodFtlXT1yLnZhbHVlKSx0fX0sUD1pP2Z1bmN0aW9uKHQsZSxyKXtyZXR1cm4gSS5mKHQsZSxjKDEscikpfTpmdW5jdGlvbih0LGUscil7cmV0dXJuIHRbZV09cix0fSxUPWZ1bmN0aW9uKHQsZSl7dHJ5e1Aobix0LGUpfWNhdGNoKHIpe25bdF09ZX1yZXR1cm4gZX0saz1uW1wiX19jb3JlLWpzX3NoYXJlZF9fXCJdfHxUKFwiX19jb3JlLWpzX3NoYXJlZF9fXCIse30pLEw9RnVuY3Rpb24udG9TdHJpbmc7XCJmdW5jdGlvblwiIT10eXBlb2Ygay5pbnNwZWN0U291cmNlJiYoay5pbnNwZWN0U291cmNlPWZ1bmN0aW9uKHQpe3JldHVybiBMLmNhbGwodCl9KTt2YXIgVSxNLF8sTj1rLmluc3BlY3RTb3VyY2UsQz1uLldlYWtNYXAsRj1cImZ1bmN0aW9uXCI9PXR5cGVvZiBDJiYvbmF0aXZlIGNvZGUvLnRlc3QoTihDKSksQj1lKGZ1bmN0aW9uKHQpeyh0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4ga1t0XXx8KGtbdF09dm9pZCAwIT09ZT9lOnt9KX0pKFwidmVyc2lvbnNcIixbXSkucHVzaCh7dmVyc2lvbjpcIjMuNi41XCIsbW9kZTpcImdsb2JhbFwiLGNvcHlyaWdodDpcIsKpIDIwMjAgRGVuaXMgUHVzaGthcmV2ICh6bG9pcm9jay5ydSlcIn0pfSksRD0wLHE9TWF0aC5yYW5kb20oKSx6PWZ1bmN0aW9uKHQpe3JldHVyblwiU3ltYm9sKFwiK1N0cmluZyh2b2lkIDA9PT10P1wiXCI6dCkrXCIpX1wiKygrK0QrcSkudG9TdHJpbmcoMzYpfSxXPUIoXCJrZXlzXCIpLEs9ZnVuY3Rpb24odCl7cmV0dXJuIFdbdF18fChXW3RdPXoodCkpfSxHPXt9O2lmKEYpe3ZhciAkPW5ldygwLG4uV2Vha01hcCksVj0kLmdldCxIPSQuaGFzLFg9JC5zZXQ7VT1mdW5jdGlvbih0LGUpe3JldHVybiBYLmNhbGwoJCx0LGUpLGV9LE09ZnVuY3Rpb24odCl7cmV0dXJuIFYuY2FsbCgkLHQpfHx7fX0sXz1mdW5jdGlvbih0KXtyZXR1cm4gSC5jYWxsKCQsdCl9fWVsc2V7dmFyIFk9SyhcInN0YXRlXCIpO0dbWV09ITAsVT1mdW5jdGlvbih0LGUpe3JldHVybiBQKHQsWSxlKSxlfSxNPWZ1bmN0aW9uKHQpe3JldHVybiBiKHQsWSk/dFtZXTp7fX0sXz1mdW5jdGlvbih0KXtyZXR1cm4gYih0LFkpfX12YXIgSixRPXtzZXQ6VSxnZXQ6TSxoYXM6XyxlbmZvcmNlOmZ1bmN0aW9uKHQpe3JldHVybiBfKHQpP00odCk6VSh0LHt9KX0sZ2V0dGVyRm9yOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgcjtpZighZyhlKXx8KHI9TShlKSkudHlwZSE9PXQpdGhyb3cgVHlwZUVycm9yKFwiSW5jb21wYXRpYmxlIHJlY2VpdmVyLCBcIit0K1wiIHJlcXVpcmVkXCIpO3JldHVybiByfX19LFo9ZShmdW5jdGlvbih0KXt2YXIgZT1RLmdldCxyPVEuZW5mb3JjZSxvPVN0cmluZyhTdHJpbmcpLnNwbGl0KFwiU3RyaW5nXCIpOyh0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLGksYSl7dmFyIHU9ISFhJiYhIWEudW5zYWZlLHM9ISFhJiYhIWEuZW51bWVyYWJsZSxjPSEhYSYmISFhLm5vVGFyZ2V0R2V0O1wiZnVuY3Rpb25cIj09dHlwZW9mIGkmJihcInN0cmluZ1wiIT10eXBlb2YgZXx8YihpLFwibmFtZVwiKXx8UChpLFwibmFtZVwiLGUpLHIoaSkuc291cmNlPW8uam9pbihcInN0cmluZ1wiPT10eXBlb2YgZT9lOlwiXCIpKSx0IT09bj8odT8hYyYmdFtlXSYmKHM9ITApOmRlbGV0ZSB0W2VdLHM/dFtlXT1pOlAodCxlLGkpKTpzP3RbZV09aTpUKGUsaSl9KShGdW5jdGlvbi5wcm90b3R5cGUsXCJ0b1N0cmluZ1wiLGZ1bmN0aW9uKCl7cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgdGhpcyYmZSh0aGlzKS5zb3VyY2V8fE4odGhpcyl9KX0pLHR0PW4sZXQ9ZnVuY3Rpb24odCl7cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgdD90OnZvaWQgMH0scnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyP2V0KHR0W3RdKXx8ZXQoblt0XSk6dHRbdF0mJnR0W3RdW2VdfHxuW3RdJiZuW3RdW2VdfSxudD1NYXRoLmNlaWwsb3Q9TWF0aC5mbG9vcixpdD1mdW5jdGlvbih0KXtyZXR1cm4gaXNOYU4odD0rdCk/MDoodD4wP290Om50KSh0KX0sYXQ9TWF0aC5taW4sdXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ+MD9hdChpdCh0KSw5MDA3MTk5MjU0NzQwOTkxKTowfSxzdD1NYXRoLm1heCxjdD1NYXRoLm1pbixmdD1mdW5jdGlvbih0LGUpe3ZhciByPWl0KHQpO3JldHVybiByPDA/c3QocitlLDApOmN0KHIsZSl9LGx0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLHIsbil7dmFyIG8saT12KGUpLGE9dXQoaS5sZW5ndGgpLHU9ZnQobixhKTtpZih0JiZyIT1yKXtmb3IoO2E+dTspaWYoKG89aVt1KytdKSE9bylyZXR1cm4hMH1lbHNlIGZvcig7YT51O3UrKylpZigodHx8dSBpbiBpKSYmaVt1XT09PXIpcmV0dXJuIHR8fHV8fDA7cmV0dXJuIXQmJi0xfX0saHQ9e2luY2x1ZGVzOmx0KCEwKSxpbmRleE9mOmx0KCExKX0scHQ9aHQuaW5kZXhPZixkdD1mdW5jdGlvbih0LGUpe3ZhciByLG49dih0KSxvPTAsaT1bXTtmb3IociBpbiBuKSFiKEcscikmJmIobixyKSYmaS5wdXNoKHIpO2Zvcig7ZS5sZW5ndGg+bzspYihuLHI9ZVtvKytdKSYmKH5wdChpLHIpfHxpLnB1c2gocikpO3JldHVybiBpfSx2dD1bXCJjb25zdHJ1Y3RvclwiLFwiaGFzT3duUHJvcGVydHlcIixcImlzUHJvdG90eXBlT2ZcIixcInByb3BlcnR5SXNFbnVtZXJhYmxlXCIsXCJ0b0xvY2FsZVN0cmluZ1wiLFwidG9TdHJpbmdcIixcInZhbHVlT2ZcIl0sZ3Q9dnQuY29uY2F0KFwibGVuZ3RoXCIsXCJwcm90b3R5cGVcIikseXQ9e2Y6T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXN8fGZ1bmN0aW9uKHQpe3JldHVybiBkdCh0LGd0KX19LG10PXtmOk9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHN9LGJ0PXJ0KFwiUmVmbGVjdFwiLFwib3duS2V5c1wiKXx8ZnVuY3Rpb24odCl7dmFyIGU9eXQuZihPKHQpKSxyPW10LmY7cmV0dXJuIHI/ZS5jb25jYXQocih0KSk6ZX0sU3Q9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9YnQoZSksbj1JLmYsbz1SLmYsaT0wO2k8ci5sZW5ndGg7aSsrKXt2YXIgYT1yW2ldO2IodCxhKXx8bih0LGEsbyhlLGEpKX19LHd0PS8jfFxcLnByb3RvdHlwZVxcLi8sRXQ9ZnVuY3Rpb24odCxlKXt2YXIgcj1BdFt4dCh0KV07cmV0dXJuIHI9PU90fHxyIT1SdCYmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGU/byhlKTohIWUpfSx4dD1FdC5ub3JtYWxpemU9ZnVuY3Rpb24odCl7cmV0dXJuIFN0cmluZyh0KS5yZXBsYWNlKHd0LFwiLlwiKS50b0xvd2VyQ2FzZSgpfSxBdD1FdC5kYXRhPXt9LFJ0PUV0Lk5BVElWRT1cIk5cIixPdD1FdC5QT0xZRklMTD1cIlBcIixqdD1FdCxJdD1SLmYsUHQ9ZnVuY3Rpb24odCxlKXt2YXIgcixvLGksYSx1LHM9dC50YXJnZXQsYz10Lmdsb2JhbCxmPXQuc3RhdDtpZihyPWM/bjpmP25bc118fFQocyx7fSk6KG5bc118fHt9KS5wcm90b3R5cGUpZm9yKG8gaW4gZSl7aWYoYT1lW29dLGk9dC5ub1RhcmdldEdldD8odT1JdChyLG8pKSYmdS52YWx1ZTpyW29dLCFqdChjP286cysoZj9cIi5cIjpcIiNcIikrbyx0LmZvcmNlZCkmJnZvaWQgMCE9PWkpe2lmKHR5cGVvZiBhPT10eXBlb2YgaSljb250aW51ZTtTdChhLGkpfSh0LnNoYW18fGkmJmkuc2hhbSkmJlAoYSxcInNoYW1cIiwhMCksWihyLG8sYSx0KX19LFR0PWZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QoZCh0KSl9LGt0PU1hdGgubWluLEx0PVtdLmNvcHlXaXRoaW58fGZ1bmN0aW9uKHQsZSl7dmFyIHI9VHQodGhpcyksbj11dChyLmxlbmd0aCksbz1mdCh0LG4pLGk9ZnQoZSxuKSxhPWFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwLHU9a3QoKHZvaWQgMD09PWE/bjpmdChhLG4pKS1pLG4tbykscz0xO2ZvcihpPG8mJm88aSt1JiYocz0tMSxpKz11LTEsbys9dS0xKTt1LS0gPjA7KWkgaW4gcj9yW29dPXJbaV06ZGVsZXRlIHJbb10sbys9cyxpKz1zO3JldHVybiByfSxVdD0hIU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMmJiFvKGZ1bmN0aW9uKCl7cmV0dXJuIVN0cmluZyhTeW1ib2woKSl9KSxNdD1VdCYmIVN5bWJvbC5zaGFtJiZcInN5bWJvbFwiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yLF90PUIoXCJ3a3NcIiksTnQ9bi5TeW1ib2wsQ3Q9TXQ/TnQ6TnQmJk50LndpdGhvdXRTZXR0ZXJ8fHosRnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGIoX3QsdCl8fChfdFt0XT1VdCYmYihOdCx0KT9OdFt0XTpDdChcIlN5bWJvbC5cIit0KSksX3RbdF19LEJ0PU9iamVjdC5rZXlzfHxmdW5jdGlvbih0KXtyZXR1cm4gZHQodCx2dCl9LER0PWk/T2JqZWN0LmRlZmluZVByb3BlcnRpZXM6ZnVuY3Rpb24odCxlKXtPKHQpO2Zvcih2YXIgcixuPUJ0KGUpLG89bi5sZW5ndGgsaT0wO28+aTspSS5mKHQscj1uW2krK10sZVtyXSk7cmV0dXJuIHR9LHF0PXJ0KFwiZG9jdW1lbnRcIixcImRvY3VtZW50RWxlbWVudFwiKSx6dD1LKFwiSUVfUFJPVE9cIiksV3Q9ZnVuY3Rpb24oKXt9LEt0PWZ1bmN0aW9uKHQpe3JldHVyblwiPHNjcmlwdD5cIit0K1wiPFxcL3NjcmlwdD5cIn0sR3Q9ZnVuY3Rpb24oKXt0cnl7Sj1kb2N1bWVudC5kb21haW4mJm5ldyBBY3RpdmVYT2JqZWN0KFwiaHRtbGZpbGVcIil9Y2F0Y2godCl7fXZhciB0LGU7R3Q9Sj9mdW5jdGlvbih0KXt0LndyaXRlKEt0KFwiXCIpKSx0LmNsb3NlKCk7dmFyIGU9dC5wYXJlbnRXaW5kb3cuT2JqZWN0O3JldHVybiB0PW51bGwsZX0oSik6KChlPUUoXCJpZnJhbWVcIikpLnN0eWxlLmRpc3BsYXk9XCJub25lXCIscXQuYXBwZW5kQ2hpbGQoZSksZS5zcmM9U3RyaW5nKFwiamF2YXNjcmlwdDpcIiksKHQ9ZS5jb250ZW50V2luZG93LmRvY3VtZW50KS5vcGVuKCksdC53cml0ZShLdChcImRvY3VtZW50LkY9T2JqZWN0XCIpKSx0LmNsb3NlKCksdC5GKTtmb3IodmFyIHI9dnQubGVuZ3RoO3ItLTspZGVsZXRlIEd0LnByb3RvdHlwZVt2dFtyXV07cmV0dXJuIEd0KCl9O0dbenRdPSEwO3ZhciAkdD1PYmplY3QuY3JlYXRlfHxmdW5jdGlvbih0LGUpe3ZhciByO3JldHVybiBudWxsIT09dD8oV3QucHJvdG90eXBlPU8odCkscj1uZXcgV3QsV3QucHJvdG90eXBlPW51bGwsclt6dF09dCk6cj1HdCgpLHZvaWQgMD09PWU/cjpEdChyLGUpfSxWdD1GdChcInVuc2NvcGFibGVzXCIpLEh0PUFycmF5LnByb3RvdHlwZTtudWxsPT1IdFtWdF0mJkkuZihIdCxWdCx7Y29uZmlndXJhYmxlOiEwLHZhbHVlOiR0KG51bGwpfSk7dmFyIFh0PWZ1bmN0aW9uKHQpe0h0W1Z0XVt0XT0hMH07UHQoe3RhcmdldDpcIkFycmF5XCIscHJvdG86ITB9LHtjb3B5V2l0aGluOkx0fSksWHQoXCJjb3B5V2l0aGluXCIpO3ZhciBZdD1mdW5jdGlvbih0KXtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiB0KXRocm93IFR5cGVFcnJvcihTdHJpbmcodCkrXCIgaXMgbm90IGEgZnVuY3Rpb25cIik7cmV0dXJuIHR9LEp0PWZ1bmN0aW9uKHQsZSxyKXtpZihZdCh0KSx2b2lkIDA9PT1lKXJldHVybiB0O3N3aXRjaChyKXtjYXNlIDA6cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuY2FsbChlKX07Y2FzZSAxOnJldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gdC5jYWxsKGUscil9O2Nhc2UgMjpyZXR1cm4gZnVuY3Rpb24ocixuKXtyZXR1cm4gdC5jYWxsKGUscixuKX07Y2FzZSAzOnJldHVybiBmdW5jdGlvbihyLG4sbyl7cmV0dXJuIHQuY2FsbChlLHIsbixvKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkoZSxhcmd1bWVudHMpfX0sUXQ9RnVuY3Rpb24uY2FsbCxadD1mdW5jdGlvbih0LGUscil7cmV0dXJuIEp0KFF0LG5bdF0ucHJvdG90eXBlW2VdLHIpfTtadChcIkFycmF5XCIsXCJjb3B5V2l0aGluXCIpLFB0KHt0YXJnZXQ6XCJBcnJheVwiLHByb3RvOiEwfSx7ZmlsbDpmdW5jdGlvbih0KXtmb3IodmFyIGU9VHQodGhpcykscj11dChlLmxlbmd0aCksbj1hcmd1bWVudHMubGVuZ3RoLG89ZnQobj4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsciksaT1uPjI/YXJndW1lbnRzWzJdOnZvaWQgMCxhPXZvaWQgMD09PWk/cjpmdChpLHIpO2E+bzspZVtvKytdPXQ7cmV0dXJuIGV9fSksWHQoXCJmaWxsXCIpLFp0KFwiQXJyYXlcIixcImZpbGxcIik7dmFyIHRlPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKHQpe3JldHVyblwiQXJyYXlcIj09bCh0KX0sZWU9RnQoXCJzcGVjaWVzXCIpLHJlPWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIHRlKHQpJiYoXCJmdW5jdGlvblwiIT10eXBlb2Yocj10LmNvbnN0cnVjdG9yKXx8ciE9PUFycmF5JiYhdGUoci5wcm90b3R5cGUpP2cocikmJm51bGw9PT0ocj1yW2VlXSkmJihyPXZvaWQgMCk6cj12b2lkIDApLG5ldyh2b2lkIDA9PT1yP0FycmF5OnIpKDA9PT1lPzA6ZSl9LG5lPVtdLnB1c2gsb2U9ZnVuY3Rpb24odCl7dmFyIGU9MT09dCxyPTI9PXQsbj0zPT10LG89ND09dCxpPTY9PXQsYT01PT10fHxpO3JldHVybiBmdW5jdGlvbih1LHMsYyxmKXtmb3IodmFyIGwsaCxkPVR0KHUpLHY9cChkKSxnPUp0KHMsYywzKSx5PXV0KHYubGVuZ3RoKSxtPTAsYj1mfHxyZSxTPWU/Yih1LHkpOnI/Yih1LDApOnZvaWQgMDt5Pm07bSsrKWlmKChhfHxtIGluIHYpJiYoaD1nKGw9dlttXSxtLGQpLHQpKWlmKGUpU1ttXT1oO2Vsc2UgaWYoaClzd2l0Y2godCl7Y2FzZSAzOnJldHVybiEwO2Nhc2UgNTpyZXR1cm4gbDtjYXNlIDY6cmV0dXJuIG07Y2FzZSAyOm5lLmNhbGwoUyxsKX1lbHNlIGlmKG8pcmV0dXJuITE7cmV0dXJuIGk/LTE6bnx8bz9vOlN9fSxpZT17Zm9yRWFjaDpvZSgwKSxtYXA6b2UoMSksZmlsdGVyOm9lKDIpLHNvbWU6b2UoMyksZXZlcnk6b2UoNCksZmluZDpvZSg1KSxmaW5kSW5kZXg6b2UoNil9LGFlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSx1ZT17fSxzZT1mdW5jdGlvbih0KXt0aHJvdyB0fSxjZT1mdW5jdGlvbih0LGUpe2lmKGIodWUsdCkpcmV0dXJuIHVlW3RdO2V8fChlPXt9KTt2YXIgcj1bXVt0XSxuPSEhYihlLFwiQUNDRVNTT1JTXCIpJiZlLkFDQ0VTU09SUyxhPWIoZSwwKT9lWzBdOnNlLHU9YihlLDEpP2VbMV06dm9pZCAwO3JldHVybiB1ZVt0XT0hIXImJiFvKGZ1bmN0aW9uKCl7aWYobiYmIWkpcmV0dXJuITA7dmFyIHQ9e2xlbmd0aDotMX07bj9hZSh0LDEse2VudW1lcmFibGU6ITAsZ2V0OnNlfSk6dFsxXT0xLHIuY2FsbCh0LGEsdSl9KX0sZmU9aWUuZmluZCxsZT0hMCxoZT1jZShcImZpbmRcIik7XCJmaW5kXCJpbltdJiZBcnJheSgxKS5maW5kKGZ1bmN0aW9uKCl7bGU9ITF9KSxQdCh7dGFyZ2V0OlwiQXJyYXlcIixwcm90bzohMCxmb3JjZWQ6bGV8fCFoZX0se2ZpbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIGZlKHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSksWHQoXCJmaW5kXCIpLFp0KFwiQXJyYXlcIixcImZpbmRcIik7dmFyIHBlPWllLmZpbmRJbmRleCxkZT0hMCx2ZT1jZShcImZpbmRJbmRleFwiKTtcImZpbmRJbmRleFwiaW5bXSYmQXJyYXkoMSkuZmluZEluZGV4KGZ1bmN0aW9uKCl7ZGU9ITF9KSxQdCh7dGFyZ2V0OlwiQXJyYXlcIixwcm90bzohMCxmb3JjZWQ6ZGV8fCF2ZX0se2ZpbmRJbmRleDpmdW5jdGlvbih0KXtyZXR1cm4gcGUodGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KSxYdChcImZpbmRJbmRleFwiKSxadChcIkFycmF5XCIsXCJmaW5kSW5kZXhcIik7dmFyIGdlPWZ1bmN0aW9uKHQsZSxyLG4sbyxpLGEsdSl7Zm9yKHZhciBzLGM9byxmPTAsbD0hIWEmJkp0KGEsdSwzKTtmPG47KXtpZihmIGluIHIpe2lmKHM9bD9sKHJbZl0sZixlKTpyW2ZdLGk+MCYmdGUocykpYz1nZSh0LGUscyx1dChzLmxlbmd0aCksYyxpLTEpLTE7ZWxzZXtpZihjPj05MDA3MTk5MjU0NzQwOTkxKXRocm93IFR5cGVFcnJvcihcIkV4Y2VlZCB0aGUgYWNjZXB0YWJsZSBhcnJheSBsZW5ndGhcIik7dFtjXT1zfWMrK31mKyt9cmV0dXJuIGN9LHllPWdlO1B0KHt0YXJnZXQ6XCJBcnJheVwiLHByb3RvOiEwfSx7ZmxhdE1hcDpmdW5jdGlvbih0KXt2YXIgZSxyPVR0KHRoaXMpLG49dXQoci5sZW5ndGgpO3JldHVybiBZdCh0KSwoZT1yZShyLDApKS5sZW5ndGg9eWUoZSxyLHIsbiwwLDEsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCksZX19KSxYdChcImZsYXRNYXBcIiksWnQoXCJBcnJheVwiLFwiZmxhdE1hcFwiKSxQdCh7dGFyZ2V0OlwiQXJyYXlcIixwcm90bzohMH0se2ZsYXQ6ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoP2FyZ3VtZW50c1swXTp2b2lkIDAsZT1UdCh0aGlzKSxyPXV0KGUubGVuZ3RoKSxuPXJlKGUsMCk7cmV0dXJuIG4ubGVuZ3RoPXllKG4sZSxlLHIsMCx2b2lkIDA9PT10PzE6aXQodCkpLG59fSksWHQoXCJmbGF0XCIpLFp0KFwiQXJyYXlcIixcImZsYXRcIik7dmFyIG1lLGJlLFNlLHdlPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLHIpe3ZhciBuLG8saT1TdHJpbmcoZChlKSksYT1pdChyKSx1PWkubGVuZ3RoO3JldHVybiBhPDB8fGE+PXU/dD9cIlwiOnZvaWQgMDoobj1pLmNoYXJDb2RlQXQoYSkpPDU1Mjk2fHxuPjU2MzE5fHxhKzE9PT11fHwobz1pLmNoYXJDb2RlQXQoYSsxKSk8NTYzMjB8fG8+NTczNDM/dD9pLmNoYXJBdChhKTpuOnQ/aS5zbGljZShhLGErMik6by01NjMyMCsobi01NTI5Njw8MTApKzY1NTM2fX0sRWU9e2NvZGVBdDp3ZSghMSksY2hhckF0OndlKCEwKX0seGU9IW8oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiB0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1udWxsLE9iamVjdC5nZXRQcm90b3R5cGVPZihuZXcgdCkhPT10LnByb3RvdHlwZX0pLEFlPUsoXCJJRV9QUk9UT1wiKSxSZT1PYmplY3QucHJvdG90eXBlLE9lPXhlP09iamVjdC5nZXRQcm90b3R5cGVPZjpmdW5jdGlvbih0KXtyZXR1cm4gdD1UdCh0KSxiKHQsQWUpP3RbQWVdOlwiZnVuY3Rpb25cIj09dHlwZW9mIHQuY29uc3RydWN0b3ImJnQgaW5zdGFuY2VvZiB0LmNvbnN0cnVjdG9yP3QuY29uc3RydWN0b3IucHJvdG90eXBlOnQgaW5zdGFuY2VvZiBPYmplY3Q/UmU6bnVsbH0samU9RnQoXCJpdGVyYXRvclwiKSxJZT0hMTtbXS5rZXlzJiYoXCJuZXh0XCJpbihTZT1bXS5rZXlzKCkpPyhiZT1PZShPZShTZSkpKSE9PU9iamVjdC5wcm90b3R5cGUmJihtZT1iZSk6SWU9ITApLG51bGw9PW1lJiYobWU9e30pLGIobWUsamUpfHxQKG1lLGplLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KTt2YXIgUGU9e0l0ZXJhdG9yUHJvdG90eXBlOm1lLEJVR0dZX1NBRkFSSV9JVEVSQVRPUlM6SWV9LFRlPUkuZixrZT1GdChcInRvU3RyaW5nVGFnXCIpLExlPWZ1bmN0aW9uKHQsZSxyKXt0JiYhYih0PXI/dDp0LnByb3RvdHlwZSxrZSkmJlRlKHQsa2Use2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTplfSl9LFVlPXt9LE1lPVBlLkl0ZXJhdG9yUHJvdG90eXBlLF9lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LE5lPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lK1wiIEl0ZXJhdG9yXCI7cmV0dXJuIHQucHJvdG90eXBlPSR0KE1lLHtuZXh0OmMoMSxyKX0pLExlKHQsbiwhMSksVWVbbl09X2UsdH0sQ2U9ZnVuY3Rpb24odCl7aWYoIWcodCkmJm51bGwhPT10KXRocm93IFR5cGVFcnJvcihcIkNhbid0IHNldCBcIitTdHJpbmcodCkrXCIgYXMgYSBwcm90b3R5cGVcIik7cmV0dXJuIHR9LEZlPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8KFwiX19wcm90b19fXCJpbnt9P2Z1bmN0aW9uKCl7dmFyIHQsZT0hMSxyPXt9O3RyeXsodD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsXCJfX3Byb3RvX19cIikuc2V0KS5jYWxsKHIsW10pLGU9ciBpbnN0YW5jZW9mIEFycmF5fWNhdGNoKHQpe31yZXR1cm4gZnVuY3Rpb24ocixuKXtyZXR1cm4gTyhyKSxDZShuKSxlP3QuY2FsbChyLG4pOnIuX19wcm90b19fPW4scn19KCk6dm9pZCAwKSxCZT1QZS5JdGVyYXRvclByb3RvdHlwZSxEZT1QZS5CVUdHWV9TQUZBUklfSVRFUkFUT1JTLHFlPUZ0KFwiaXRlcmF0b3JcIiksemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sV2U9ZnVuY3Rpb24odCxlLHIsbixvLGksYSl7TmUocixlLG4pO3ZhciB1LHMsYyxmPWZ1bmN0aW9uKHQpe2lmKHQ9PT1vJiZ2KXJldHVybiB2O2lmKCFEZSYmdCBpbiBwKXJldHVybiBwW3RdO3N3aXRjaCh0KXtjYXNlXCJrZXlzXCI6Y2FzZVwidmFsdWVzXCI6Y2FzZVwiZW50cmllc1wiOnJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgcih0aGlzLHQpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHIodGhpcyl9fSxsPWUrXCIgSXRlcmF0b3JcIixoPSExLHA9dC5wcm90b3R5cGUsZD1wW3FlXXx8cFtcIkBAaXRlcmF0b3JcIl18fG8mJnBbb10sdj0hRGUmJmR8fGYobyksZz1cIkFycmF5XCI9PWUmJnAuZW50cmllc3x8ZDtpZihnJiYodT1PZShnLmNhbGwobmV3IHQpKSxCZSE9PU9iamVjdC5wcm90b3R5cGUmJnUubmV4dCYmKE9lKHUpIT09QmUmJihGZT9GZSh1LEJlKTpcImZ1bmN0aW9uXCIhPXR5cGVvZiB1W3FlXSYmUCh1LHFlLHplKSksTGUodSxsLCEwKSkpLFwidmFsdWVzXCI9PW8mJmQmJlwidmFsdWVzXCIhPT1kLm5hbWUmJihoPSEwLHY9ZnVuY3Rpb24oKXtyZXR1cm4gZC5jYWxsKHRoaXMpfSkscFtxZV0hPT12JiZQKHAscWUsdiksVWVbZV09dixvKWlmKHM9e3ZhbHVlczpmKFwidmFsdWVzXCIpLGtleXM6aT92OmYoXCJrZXlzXCIpLGVudHJpZXM6ZihcImVudHJpZXNcIil9LGEpZm9yKGMgaW4gcykhRGUmJiFoJiZjIGluIHB8fFoocCxjLHNbY10pO2Vsc2UgUHQoe3RhcmdldDplLHByb3RvOiEwLGZvcmNlZDpEZXx8aH0scyk7cmV0dXJuIHN9LEtlPUVlLmNoYXJBdCxHZT1RLnNldCwkZT1RLmdldHRlckZvcihcIlN0cmluZyBJdGVyYXRvclwiKTtXZShTdHJpbmcsXCJTdHJpbmdcIixmdW5jdGlvbih0KXtHZSh0aGlzLHt0eXBlOlwiU3RyaW5nIEl0ZXJhdG9yXCIsc3RyaW5nOlN0cmluZyh0KSxpbmRleDowfSl9LGZ1bmN0aW9uKCl7dmFyIHQsZT0kZSh0aGlzKSxyPWUuc3RyaW5nLG49ZS5pbmRleDtyZXR1cm4gbj49ci5sZW5ndGg/e3ZhbHVlOnZvaWQgMCxkb25lOiEwfToodD1LZShyLG4pLGUuaW5kZXgrPXQubGVuZ3RoLHt2YWx1ZTp0LGRvbmU6ITF9KX0pO3ZhciBWZT1mdW5jdGlvbih0LGUscixuKXt0cnl7cmV0dXJuIG4/ZShPKHIpWzBdLHJbMV0pOmUocil9Y2F0Y2goZSl7dmFyIG89dC5yZXR1cm47dGhyb3cgdm9pZCAwIT09byYmTyhvLmNhbGwodCkpLGV9fSxIZT1GdChcIml0ZXJhdG9yXCIpLFhlPUFycmF5LnByb3RvdHlwZSxZZT1mdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwIT09dCYmKFVlLkFycmF5PT09dHx8WGVbSGVdPT09dCl9LEplPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj15KGUpO24gaW4gdD9JLmYodCxuLGMoMCxyKSk6dFtuXT1yfSxRZT17fTtRZVtGdChcInRvU3RyaW5nVGFnXCIpXT1cInpcIjt2YXIgWmU9XCJbb2JqZWN0IHpdXCI9PT1TdHJpbmcoUWUpLHRyPUZ0KFwidG9TdHJpbmdUYWdcIiksZXI9XCJBcmd1bWVudHNcIj09bChmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpLHJyPVplP2w6ZnVuY3Rpb24odCl7dmFyIGUscixuO3JldHVybiB2b2lkIDA9PT10P1wiVW5kZWZpbmVkXCI6bnVsbD09PXQ/XCJOdWxsXCI6XCJzdHJpbmdcIj09dHlwZW9mKHI9ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbZV19Y2F0Y2godCl7fX0oZT1PYmplY3QodCksdHIpKT9yOmVyP2woZSk6XCJPYmplY3RcIj09KG49bChlKSkmJlwiZnVuY3Rpb25cIj09dHlwZW9mIGUuY2FsbGVlP1wiQXJndW1lbnRzXCI6bn0sbnI9RnQoXCJpdGVyYXRvclwiKSxvcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXJldHVybiB0W25yXXx8dFtcIkBAaXRlcmF0b3JcIl18fFVlW3JyKHQpXX0saXI9ZnVuY3Rpb24odCl7dmFyIGUscixuLG8saSxhLHU9VHQodCkscz1cImZ1bmN0aW9uXCI9PXR5cGVvZiB0aGlzP3RoaXM6QXJyYXksYz1hcmd1bWVudHMubGVuZ3RoLGY9Yz4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsbD12b2lkIDAhPT1mLGg9b3IodSkscD0wO2lmKGwmJihmPUp0KGYsYz4yP2FyZ3VtZW50c1syXTp2b2lkIDAsMikpLG51bGw9PWh8fHM9PUFycmF5JiZZZShoKSlmb3Iocj1uZXcgcyhlPXV0KHUubGVuZ3RoKSk7ZT5wO3ArKylhPWw/Zih1W3BdLHApOnVbcF0sSmUocixwLGEpO2Vsc2UgZm9yKGk9KG89aC5jYWxsKHUpKS5uZXh0LHI9bmV3IHM7IShuPWkuY2FsbChvKSkuZG9uZTtwKyspYT1sP1ZlKG8sZixbbi52YWx1ZSxwXSwhMCk6bi52YWx1ZSxKZShyLHAsYSk7cmV0dXJuIHIubGVuZ3RoPXAscn0sYXI9RnQoXCJpdGVyYXRvclwiKSx1cj1mdW5jdGlvbih0LGUpe2lmKCFlKXJldHVybiExO3ZhciByPSExO3RyeXt2YXIgbj17fTtuW2FyXT1mdW5jdGlvbigpe3JldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJue2RvbmU6cj0hMH19fX0sdChuKX1jYXRjaCh0KXt9cmV0dXJuIHJ9LHNyPSF1cihmdW5jdGlvbih0KXt9KTtQdCh7dGFyZ2V0OlwiQXJyYXlcIixzdGF0OiEwLGZvcmNlZDpzcn0se2Zyb206aXJ9KTt2YXIgY3I9aHQuaW5jbHVkZXMsZnI9Y2UoXCJpbmRleE9mXCIse0FDQ0VTU09SUzohMCwxOjB9KTtQdCh7dGFyZ2V0OlwiQXJyYXlcIixwcm90bzohMCxmb3JjZWQ6IWZyfSx7aW5jbHVkZXM6ZnVuY3Rpb24odCl7cmV0dXJuIGNyKHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSksWHQoXCJpbmNsdWRlc1wiKSxadChcIkFycmF5XCIsXCJpbmNsdWRlc1wiKTt2YXIgbHI9US5zZXQsaHI9US5nZXR0ZXJGb3IoXCJBcnJheSBJdGVyYXRvclwiKSxwcj1XZShBcnJheSxcIkFycmF5XCIsZnVuY3Rpb24odCxlKXtscih0aGlzLHt0eXBlOlwiQXJyYXkgSXRlcmF0b3JcIix0YXJnZXQ6dih0KSxpbmRleDowLGtpbmQ6ZX0pfSxmdW5jdGlvbigpe3ZhciB0PWhyKHRoaXMpLGU9dC50YXJnZXQscj10LmtpbmQsbj10LmluZGV4Kys7cmV0dXJuIWV8fG4+PWUubGVuZ3RoPyh0LnRhcmdldD12b2lkIDAse3ZhbHVlOnZvaWQgMCxkb25lOiEwfSk6XCJrZXlzXCI9PXI/e3ZhbHVlOm4sZG9uZTohMX06XCJ2YWx1ZXNcIj09cj97dmFsdWU6ZVtuXSxkb25lOiExfTp7dmFsdWU6W24sZVtuXV0sZG9uZTohMX19LFwidmFsdWVzXCIpO1VlLkFyZ3VtZW50cz1VZS5BcnJheSxYdChcImtleXNcIiksWHQoXCJ2YWx1ZXNcIiksWHQoXCJlbnRyaWVzXCIpLFp0KFwiQXJyYXlcIixcInZhbHVlc1wiKTt2YXIgZHI9byhmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIShBcnJheS5vZi5jYWxsKHQpaW5zdGFuY2VvZiB0KX0pO1B0KHt0YXJnZXQ6XCJBcnJheVwiLHN0YXQ6ITAsZm9yY2VkOmRyfSx7b2Y6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9YXJndW1lbnRzLGU9MCxyPWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcoXCJmdW5jdGlvblwiPT10eXBlb2YgdGhpcz90aGlzOkFycmF5KShyKTtyPmU7KUplKG4sZSx0W2UrK10pO3JldHVybiBuLmxlbmd0aD1yLG59fSk7dmFyIHZyPUZ0KFwiaGFzSW5zdGFuY2VcIiksZ3I9RnVuY3Rpb24ucHJvdG90eXBlO3ZyIGluIGdyfHxJLmYoZ3IsdnIse3ZhbHVlOmZ1bmN0aW9uKHQpe2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIHRoaXN8fCFnKHQpKXJldHVybiExO2lmKCFnKHRoaXMucHJvdG90eXBlKSlyZXR1cm4gdCBpbnN0YW5jZW9mIHRoaXM7Zm9yKDt0PU9lKHQpOylpZih0aGlzLnByb3RvdHlwZT09PXQpcmV0dXJuITA7cmV0dXJuITF9fSksRnVuY3Rpb24sRnQoXCJoYXNJbnN0YW5jZVwiKTt2YXIgeXI9RnVuY3Rpb24ucHJvdG90eXBlLG1yPXlyLnRvU3RyaW5nLGJyPS9eXFxzKmZ1bmN0aW9uIChbXiAoXSopLzshaXx8XCJuYW1lXCJpbiB5cnx8KDAsSS5mKSh5cixcIm5hbWVcIix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3RyeXtyZXR1cm4gbXIuY2FsbCh0aGlzKS5tYXRjaChicilbMV19Y2F0Y2godCl7cmV0dXJuXCJcIn19fSk7dmFyIFNyPSFvKGZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5pc0V4dGVuc2libGUoT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHt9KSl9KSx3cj1lKGZ1bmN0aW9uKHQpe3ZhciBlPUkuZixyPXooXCJtZXRhXCIpLG49MCxvPU9iamVjdC5pc0V4dGVuc2libGV8fGZ1bmN0aW9uKCl7cmV0dXJuITB9LGk9ZnVuY3Rpb24odCl7ZSh0LHIse3ZhbHVlOntvYmplY3RJRDpcIk9cIisgKytuLHdlYWtEYXRhOnt9fX0pfSxhPXQuZXhwb3J0cz17UkVRVUlSRUQ6ITEsZmFzdEtleTpmdW5jdGlvbih0LGUpe2lmKCFnKHQpKXJldHVyblwic3ltYm9sXCI9PXR5cGVvZiB0P3Q6KFwic3RyaW5nXCI9PXR5cGVvZiB0P1wiU1wiOlwiUFwiKSt0O2lmKCFiKHQscikpe2lmKCFvKHQpKXJldHVyblwiRlwiO2lmKCFlKXJldHVyblwiRVwiO2kodCl9cmV0dXJuIHRbcl0ub2JqZWN0SUR9LGdldFdlYWtEYXRhOmZ1bmN0aW9uKHQsZSl7aWYoIWIodCxyKSl7aWYoIW8odCkpcmV0dXJuITA7aWYoIWUpcmV0dXJuITE7aSh0KX1yZXR1cm4gdFtyXS53ZWFrRGF0YX0sb25GcmVlemU6ZnVuY3Rpb24odCl7cmV0dXJuIFNyJiZhLlJFUVVJUkVEJiZvKHQpJiYhYih0LHIpJiZpKHQpLHR9fTtHW3JdPSEwfSksRXI9ZShmdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbih0LGUpe3RoaXMuc3RvcHBlZD10LHRoaXMucmVzdWx0PWV9Oyh0LmV4cG9ydHM9ZnVuY3Rpb24odCxyLG4sbyxpKXt2YXIgYSx1LHMsYyxmLGwsaCxwPUp0KHIsbixvPzI6MSk7aWYoaSlhPXQ7ZWxzZXtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZih1PW9yKHQpKSl0aHJvdyBUeXBlRXJyb3IoXCJUYXJnZXQgaXMgbm90IGl0ZXJhYmxlXCIpO2lmKFllKHUpKXtmb3Iocz0wLGM9dXQodC5sZW5ndGgpO2M+cztzKyspaWYoKGY9bz9wKE8oaD10W3NdKVswXSxoWzFdKTpwKHRbc10pKSYmZiBpbnN0YW5jZW9mIGUpcmV0dXJuIGY7cmV0dXJuIG5ldyBlKCExKX1hPXUuY2FsbCh0KX1mb3IobD1hLm5leHQ7IShoPWwuY2FsbChhKSkuZG9uZTspaWYoXCJvYmplY3RcIj09dHlwZW9mKGY9VmUoYSxwLGgudmFsdWUsbykpJiZmJiZmIGluc3RhbmNlb2YgZSlyZXR1cm4gZjtyZXR1cm4gbmV3IGUoITEpfSkuc3RvcD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGUoITAsdCl9fSkseHI9ZnVuY3Rpb24odCxlLHIpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IFR5cGVFcnJvcihcIkluY29ycmVjdCBcIisocj9yK1wiIFwiOlwiXCIpK1wiaW52b2NhdGlvblwiKTtyZXR1cm4gdH0sQXI9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLG87cmV0dXJuIEZlJiZcImZ1bmN0aW9uXCI9PXR5cGVvZihuPWUuY29uc3RydWN0b3IpJiZuIT09ciYmZyhvPW4ucHJvdG90eXBlKSYmbyE9PXIucHJvdG90eXBlJiZGZSh0LG8pLHR9LFJyPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaT0tMSE9PXQuaW5kZXhPZihcIk1hcFwiKSxhPS0xIT09dC5pbmRleE9mKFwiV2Vha1wiKSx1PWk/XCJzZXRcIjpcImFkZFwiLHM9blt0XSxjPXMmJnMucHJvdG90eXBlLGY9cyxsPXt9LGg9ZnVuY3Rpb24odCl7dmFyIGU9Y1t0XTtaKGMsdCxcImFkZFwiPT10P2Z1bmN0aW9uKHQpe3JldHVybiBlLmNhbGwodGhpcywwPT09dD8wOnQpLHRoaXN9OlwiZGVsZXRlXCI9PXQ/ZnVuY3Rpb24odCl7cmV0dXJuIShhJiYhZyh0KSkmJmUuY2FsbCh0aGlzLDA9PT10PzA6dCl9OlwiZ2V0XCI9PXQ/ZnVuY3Rpb24odCl7cmV0dXJuIGEmJiFnKHQpP3ZvaWQgMDplLmNhbGwodGhpcywwPT09dD8wOnQpfTpcImhhc1wiPT10P2Z1bmN0aW9uKHQpe3JldHVybiEoYSYmIWcodCkpJiZlLmNhbGwodGhpcywwPT09dD8wOnQpfTpmdW5jdGlvbih0LHIpe3JldHVybiBlLmNhbGwodGhpcywwPT09dD8wOnQsciksdGhpc30pfTtpZihqdCh0LFwiZnVuY3Rpb25cIiE9dHlwZW9mIHN8fCEoYXx8Yy5mb3JFYWNoJiYhbyhmdW5jdGlvbigpeyhuZXcgcykuZW50cmllcygpLm5leHQoKX0pKSkpZj1yLmdldENvbnN0cnVjdG9yKGUsdCxpLHUpLHdyLlJFUVVJUkVEPSEwO2Vsc2UgaWYoanQodCwhMCkpe3ZhciBwPW5ldyBmLGQ9cFt1XShhP3t9Oi0wLDEpIT1wLHY9byhmdW5jdGlvbigpe3AuaGFzKDEpfSkseT11cihmdW5jdGlvbih0KXtuZXcgcyh0KX0pLG09IWEmJm8oZnVuY3Rpb24oKXtmb3IodmFyIHQ9bmV3IHMsZT01O2UtLTspdFt1XShlLGUpO3JldHVybiF0LmhhcygtMCl9KTt5fHwoKGY9ZShmdW5jdGlvbihlLHIpe3hyKGUsZix0KTt2YXIgbj1BcihuZXcgcyxlLGYpO3JldHVybiBudWxsIT1yJiZFcihyLG5bdV0sbixpKSxufSkpLnByb3RvdHlwZT1jLGMuY29uc3RydWN0b3I9ZiksKHZ8fG0pJiYoaChcImRlbGV0ZVwiKSxoKFwiaGFzXCIpLGkmJmgoXCJnZXRcIikpLChtfHxkKSYmaCh1KSxhJiZjLmNsZWFyJiZkZWxldGUgYy5jbGVhcn1yZXR1cm4gbFt0XT1mLFB0KHtnbG9iYWw6ITAsZm9yY2VkOmYhPXN9LGwpLExlKGYsdCksYXx8ci5zZXRTdHJvbmcoZix0LGkpLGZ9LE9yPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG4gaW4gZSlaKHQsbixlW25dLHIpO3JldHVybiB0fSxqcj1GdChcInNwZWNpZXNcIiksSXI9ZnVuY3Rpb24odCl7dmFyIGU9cnQodCk7aSYmZSYmIWVbanJdJiYoMCxJLmYpKGUsanIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319KX0sUHI9SS5mLFRyPXdyLmZhc3RLZXksa3I9US5zZXQsTHI9US5nZXR0ZXJGb3IsVXI9e2dldENvbnN0cnVjdG9yOmZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBvPXQoZnVuY3Rpb24odCxhKXt4cih0LG8sZSksa3IodCx7dHlwZTplLGluZGV4OiR0KG51bGwpLGZpcnN0OnZvaWQgMCxsYXN0OnZvaWQgMCxzaXplOjB9KSxpfHwodC5zaXplPTApLG51bGwhPWEmJkVyKGEsdFtuXSx0LHIpfSksYT1McihlKSx1PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixvLHU9YSh0KSxjPXModCxlKTtyZXR1cm4gYz9jLnZhbHVlPXI6KHUubGFzdD1jPXtpbmRleDpvPVRyKGUsITApLGtleTplLHZhbHVlOnIscHJldmlvdXM6bj11Lmxhc3QsbmV4dDp2b2lkIDAscmVtb3ZlZDohMX0sdS5maXJzdHx8KHUuZmlyc3Q9YyksbiYmKG4ubmV4dD1jKSxpP3Uuc2l6ZSsrOnQuc2l6ZSsrLFwiRlwiIT09byYmKHUuaW5kZXhbb109YykpLHR9LHM9ZnVuY3Rpb24odCxlKXt2YXIgcixuPWEodCksbz1UcihlKTtpZihcIkZcIiE9PW8pcmV0dXJuIG4uaW5kZXhbb107Zm9yKHI9bi5maXJzdDtyO3I9ci5uZXh0KWlmKHIua2V5PT1lKXJldHVybiByfTtyZXR1cm4gT3Ioby5wcm90b3R5cGUse2NsZWFyOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PWEodGhpcyksZT10LmluZGV4LHI9dC5maXJzdDtyOylyLnJlbW92ZWQ9ITAsci5wcmV2aW91cyYmKHIucHJldmlvdXM9ci5wcmV2aW91cy5uZXh0PXZvaWQgMCksZGVsZXRlIGVbci5pbmRleF0scj1yLm5leHQ7dC5maXJzdD10Lmxhc3Q9dm9pZCAwLGk/dC5zaXplPTA6dGhpcy5zaXplPTB9LGRlbGV0ZTpmdW5jdGlvbih0KXt2YXIgZT1hKHRoaXMpLHI9cyh0aGlzLHQpO2lmKHIpe3ZhciBuPXIubmV4dCxvPXIucHJldmlvdXM7ZGVsZXRlIGUuaW5kZXhbci5pbmRleF0sci5yZW1vdmVkPSEwLG8mJihvLm5leHQ9biksbiYmKG4ucHJldmlvdXM9byksZS5maXJzdD09ciYmKGUuZmlyc3Q9biksZS5sYXN0PT1yJiYoZS5sYXN0PW8pLGk/ZS5zaXplLS06dGhpcy5zaXplLS19cmV0dXJuISFyfSxmb3JFYWNoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxyPWEodGhpcyksbj1KdCh0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLDMpO2U9ZT9lLm5leHQ6ci5maXJzdDspZm9yKG4oZS52YWx1ZSxlLmtleSx0aGlzKTtlJiZlLnJlbW92ZWQ7KWU9ZS5wcmV2aW91c30saGFzOmZ1bmN0aW9uKHQpe3JldHVybiEhcyh0aGlzLHQpfX0pLE9yKG8ucHJvdG90eXBlLHI/e2dldDpmdW5jdGlvbih0KXt2YXIgZT1zKHRoaXMsdCk7cmV0dXJuIGUmJmUudmFsdWV9LHNldDpmdW5jdGlvbih0LGUpe3JldHVybiB1KHRoaXMsMD09PXQ/MDp0LGUpfX06e2FkZDpmdW5jdGlvbih0KXtyZXR1cm4gdSh0aGlzLHQ9MD09PXQ/MDp0LHQpfX0pLGkmJlByKG8ucHJvdG90eXBlLFwic2l6ZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYSh0aGlzKS5zaXplfX0pLG99LHNldFN0cm9uZzpmdW5jdGlvbih0LGUscil7dmFyIG49ZStcIiBJdGVyYXRvclwiLG89THIoZSksaT1McihuKTtXZSh0LGUsZnVuY3Rpb24odCxlKXtrcih0aGlzLHt0eXBlOm4sdGFyZ2V0OnQsc3RhdGU6byh0KSxraW5kOmUsbGFzdDp2b2lkIDB9KX0sZnVuY3Rpb24oKXtmb3IodmFyIHQ9aSh0aGlzKSxlPXQua2luZCxyPXQubGFzdDtyJiZyLnJlbW92ZWQ7KXI9ci5wcmV2aW91cztyZXR1cm4gdC50YXJnZXQmJih0Lmxhc3Q9cj1yP3IubmV4dDp0LnN0YXRlLmZpcnN0KT9cImtleXNcIj09ZT97dmFsdWU6ci5rZXksZG9uZTohMX06XCJ2YWx1ZXNcIj09ZT97dmFsdWU6ci52YWx1ZSxkb25lOiExfTp7dmFsdWU6W3Iua2V5LHIudmFsdWVdLGRvbmU6ITF9Oih0LnRhcmdldD12b2lkIDAse3ZhbHVlOnZvaWQgMCxkb25lOiEwfSl9LHI/XCJlbnRyaWVzXCI6XCJ2YWx1ZXNcIiwhciwhMCksSXIoZSl9fSxNcj1ScihcIk1hcFwiLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0KHRoaXMsYXJndW1lbnRzLmxlbmd0aD9hcmd1bWVudHNbMF06dm9pZCAwKX19LFVyKTtaZXx8WihPYmplY3QucHJvdG90eXBlLFwidG9TdHJpbmdcIixaZT97fS50b1N0cmluZzpmdW5jdGlvbigpe3JldHVyblwiW29iamVjdCBcIitycih0aGlzKStcIl1cIn0se3Vuc2FmZTohMH0pO3ZhciBfcj17Q1NTUnVsZUxpc3Q6MCxDU1NTdHlsZURlY2xhcmF0aW9uOjAsQ1NTVmFsdWVMaXN0OjAsQ2xpZW50UmVjdExpc3Q6MCxET01SZWN0TGlzdDowLERPTVN0cmluZ0xpc3Q6MCxET01Ub2tlbkxpc3Q6MSxEYXRhVHJhbnNmZXJJdGVtTGlzdDowLEZpbGVMaXN0OjAsSFRNTEFsbENvbGxlY3Rpb246MCxIVE1MQ29sbGVjdGlvbjowLEhUTUxGb3JtRWxlbWVudDowLEhUTUxTZWxlY3RFbGVtZW50OjAsTWVkaWFMaXN0OjAsTWltZVR5cGVBcnJheTowLE5hbWVkTm9kZU1hcDowLE5vZGVMaXN0OjEsUGFpbnRSZXF1ZXN0TGlzdDowLFBsdWdpbjowLFBsdWdpbkFycmF5OjAsU1ZHTGVuZ3RoTGlzdDowLFNWR051bWJlckxpc3Q6MCxTVkdQYXRoU2VnTGlzdDowLFNWR1BvaW50TGlzdDowLFNWR1N0cmluZ0xpc3Q6MCxTVkdUcmFuc2Zvcm1MaXN0OjAsU291cmNlQnVmZmVyTGlzdDowLFN0eWxlU2hlZXRMaXN0OjAsVGV4dFRyYWNrQ3VlTGlzdDowLFRleHRUcmFja0xpc3Q6MCxUb3VjaExpc3Q6MH0sTnI9RnQoXCJpdGVyYXRvclwiKSxDcj1GdChcInRvU3RyaW5nVGFnXCIpLEZyPXByLnZhbHVlcztmb3IodmFyIEJyIGluIF9yKXt2YXIgRHI9bltCcl0scXI9RHImJkRyLnByb3RvdHlwZTtpZihxcil7aWYocXJbTnJdIT09RnIpdHJ5e1AocXIsTnIsRnIpfWNhdGNoKHQpe3FyW05yXT1Gcn1pZihxcltDcl18fFAocXIsQ3IsQnIpLF9yW0JyXSlmb3IodmFyIHpyIGluIHByKWlmKHFyW3pyXSE9PXByW3pyXSl0cnl7UChxcix6cixwclt6cl0pfWNhdGNoKHQpe3FyW3pyXT1wclt6cl19fX12YXIgV3I9ZnVuY3Rpb24odCl7dmFyIGUscixuLG8saT1hcmd1bWVudHMubGVuZ3RoLGE9aT4xP2FyZ3VtZW50c1sxXTp2b2lkIDA7cmV0dXJuIFl0KHRoaXMpLChlPXZvaWQgMCE9PWEpJiZZdChhKSxudWxsPT10P25ldyB0aGlzOihyPVtdLGU/KG49MCxvPUp0KGEsaT4yP2FyZ3VtZW50c1syXTp2b2lkIDAsMiksRXIodCxmdW5jdGlvbih0KXtyLnB1c2gobyh0LG4rKykpfSkpOkVyKHQsci5wdXNoLHIpLG5ldyB0aGlzKHIpKX07UHQoe3RhcmdldDpcIk1hcFwiLHN0YXQ6ITB9LHtmcm9tOldyfSk7dmFyIEtyPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cyxlPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoZSk7ZS0tOylyW2VdPXRbZV07cmV0dXJuIG5ldyB0aGlzKHIpfTtQdCh7dGFyZ2V0OlwiTWFwXCIsc3RhdDohMH0se29mOktyfSk7dmFyIEdyPWZ1bmN0aW9uKCl7Zm9yKHZhciB0LGU9YXJndW1lbnRzLHI9Tyh0aGlzKSxuPVl0KHIuZGVsZXRlKSxvPSEwLGk9MCxhPWFyZ3VtZW50cy5sZW5ndGg7aTxhO2krKyl0PW4uY2FsbChyLGVbaV0pLG89byYmdDtyZXR1cm4hIW99O1B0KHt0YXJnZXQ6XCJNYXBcIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDohMX0se2RlbGV0ZUFsbDpmdW5jdGlvbigpe3JldHVybiBHci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSk7dmFyICRyPWZ1bmN0aW9uKHQpe3ZhciBlPW9yKHQpO2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGUpdGhyb3cgVHlwZUVycm9yKFN0cmluZyh0KStcIiBpcyBub3QgaXRlcmFibGVcIik7cmV0dXJuIE8oZS5jYWxsKHQpKX0sVnI9ZnVuY3Rpb24odCl7cmV0dXJuIE1hcC5wcm90b3R5cGUuZW50cmllcy5jYWxsKHQpfTtQdCh7dGFyZ2V0OlwiTWFwXCIscHJvdG86ITAscmVhbDohMCxmb3JjZWQ6ITF9LHtldmVyeTpmdW5jdGlvbih0KXt2YXIgZT1PKHRoaXMpLHI9VnIoZSksbj1KdCh0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLDMpO3JldHVybiFFcihyLGZ1bmN0aW9uKHQscil7aWYoIW4ocix0LGUpKXJldHVybiBFci5zdG9wKCl9LHZvaWQgMCwhMCwhMCkuc3RvcHBlZH19KTt2YXIgSHI9RnQoXCJzcGVjaWVzXCIpLFhyPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbj1PKHQpLmNvbnN0cnVjdG9yO3JldHVybiB2b2lkIDA9PT1ufHxudWxsPT0ocj1PKG4pW0hyXSk/ZTpZdChyKX07UHQoe3RhcmdldDpcIk1hcFwiLHByb3RvOiEwLHJlYWw6ITAsZm9yY2VkOiExfSx7ZmlsdGVyOmZ1bmN0aW9uKHQpe3ZhciBlPU8odGhpcykscj1WcihlKSxuPUp0KHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsMyksbz1uZXcoWHIoZSxydChcIk1hcFwiKSkpLGk9WXQoby5zZXQpO3JldHVybiBFcihyLGZ1bmN0aW9uKHQscil7bihyLHQsZSkmJmkuY2FsbChvLHQscil9LHZvaWQgMCwhMCwhMCksb319KSxQdCh7dGFyZ2V0OlwiTWFwXCIscHJvdG86ITAscmVhbDohMCxmb3JjZWQ6ITF9LHtmaW5kOmZ1bmN0aW9uKHQpe3ZhciBlPU8odGhpcykscj1WcihlKSxuPUp0KHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsMyk7cmV0dXJuIEVyKHIsZnVuY3Rpb24odCxyKXtpZihuKHIsdCxlKSlyZXR1cm4gRXIuc3RvcChyKX0sdm9pZCAwLCEwLCEwKS5yZXN1bHR9fSksUHQoe3RhcmdldDpcIk1hcFwiLHByb3RvOiEwLHJlYWw6ITAsZm9yY2VkOiExfSx7ZmluZEtleTpmdW5jdGlvbih0KXt2YXIgZT1PKHRoaXMpLHI9VnIoZSksbj1KdCh0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLDMpO3JldHVybiBFcihyLGZ1bmN0aW9uKHQscil7aWYobihyLHQsZSkpcmV0dXJuIEVyLnN0b3AodCl9LHZvaWQgMCwhMCwhMCkucmVzdWx0fX0pLFB0KHt0YXJnZXQ6XCJNYXBcIixzdGF0OiEwfSx7Z3JvdXBCeTpmdW5jdGlvbih0LGUpe3ZhciByPW5ldyB0aGlzO1l0KGUpO3ZhciBuPVl0KHIuaGFzKSxvPVl0KHIuZ2V0KSxpPVl0KHIuc2V0KTtyZXR1cm4gRXIodCxmdW5jdGlvbih0KXt2YXIgYT1lKHQpO24uY2FsbChyLGEpP28uY2FsbChyLGEpLnB1c2godCk6aS5jYWxsKHIsYSxbdF0pfSkscn19KSxQdCh7dGFyZ2V0OlwiTWFwXCIscHJvdG86ITAscmVhbDohMCxmb3JjZWQ6ITF9LHtpbmNsdWRlczpmdW5jdGlvbih0KXtyZXR1cm4gRXIoVnIoTyh0aGlzKSksZnVuY3Rpb24oZSxyKXtpZigobj1yKT09PShvPXQpfHxuIT1uJiZvIT1vKXJldHVybiBFci5zdG9wKCk7dmFyIG4sb30sdm9pZCAwLCEwLCEwKS5zdG9wcGVkfX0pLFB0KHt0YXJnZXQ6XCJNYXBcIixzdGF0OiEwfSx7a2V5Qnk6ZnVuY3Rpb24odCxlKXt2YXIgcj1uZXcgdGhpcztZdChlKTt2YXIgbj1ZdChyLnNldCk7cmV0dXJuIEVyKHQsZnVuY3Rpb24odCl7bi5jYWxsKHIsZSh0KSx0KX0pLHJ9fSksUHQoe3RhcmdldDpcIk1hcFwiLHByb3RvOiEwLHJlYWw6ITAsZm9yY2VkOiExfSx7a2V5T2Y6ZnVuY3Rpb24odCl7cmV0dXJuIEVyKFZyKE8odGhpcykpLGZ1bmN0aW9uKGUscil7aWYocj09PXQpcmV0dXJuIEVyLnN0b3AoZSl9LHZvaWQgMCwhMCwhMCkucmVzdWx0fX0pLFB0KHt0YXJnZXQ6XCJNYXBcIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDohMX0se21hcEtleXM6ZnVuY3Rpb24odCl7dmFyIGU9Tyh0aGlzKSxyPVZyKGUpLG49SnQodCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCwzKSxvPW5ldyhYcihlLHJ0KFwiTWFwXCIpKSksaT1ZdChvLnNldCk7cmV0dXJuIEVyKHIsZnVuY3Rpb24odCxyKXtpLmNhbGwobyxuKHIsdCxlKSxyKX0sdm9pZCAwLCEwLCEwKSxvfX0pLFB0KHt0YXJnZXQ6XCJNYXBcIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDohMX0se21hcFZhbHVlczpmdW5jdGlvbih0KXt2YXIgZT1PKHRoaXMpLHI9VnIoZSksbj1KdCh0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLDMpLG89bmV3KFhyKGUscnQoXCJNYXBcIikpKSxpPVl0KG8uc2V0KTtyZXR1cm4gRXIocixmdW5jdGlvbih0LHIpe2kuY2FsbChvLHQsbihyLHQsZSkpfSx2b2lkIDAsITAsITApLG99fSksUHQoe3RhcmdldDpcIk1hcFwiLHByb3RvOiEwLHJlYWw6ITAsZm9yY2VkOiExfSx7bWVyZ2U6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPWFyZ3VtZW50cyxyPU8odGhpcyksbj1ZdChyLnNldCksbz0wO288YXJndW1lbnRzLmxlbmd0aDspRXIoZVtvKytdLG4sciwhMCk7cmV0dXJuIHJ9fSksUHQoe3RhcmdldDpcIk1hcFwiLHByb3RvOiEwLHJlYWw6ITAsZm9yY2VkOiExfSx7cmVkdWNlOmZ1bmN0aW9uKHQpe3ZhciBlPU8odGhpcykscj1WcihlKSxuPWFyZ3VtZW50cy5sZW5ndGg8MixvPW4/dm9pZCAwOmFyZ3VtZW50c1sxXTtpZihZdCh0KSxFcihyLGZ1bmN0aW9uKHIsaSl7bj8obj0hMSxvPWkpOm89dChvLGkscixlKX0sdm9pZCAwLCEwLCEwKSxuKXRocm93IFR5cGVFcnJvcihcIlJlZHVjZSBvZiBlbXB0eSBtYXAgd2l0aCBubyBpbml0aWFsIHZhbHVlXCIpO3JldHVybiBvfX0pLFB0KHt0YXJnZXQ6XCJNYXBcIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDohMX0se3NvbWU6ZnVuY3Rpb24odCl7dmFyIGU9Tyh0aGlzKSxyPVZyKGUpLG49SnQodCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCwzKTtyZXR1cm4gRXIocixmdW5jdGlvbih0LHIpe2lmKG4ocix0LGUpKXJldHVybiBFci5zdG9wKCl9LHZvaWQgMCwhMCwhMCkuc3RvcHBlZH19KSxQdCh7dGFyZ2V0OlwiTWFwXCIscHJvdG86ITAscmVhbDohMCxmb3JjZWQ6ITF9LHt1cGRhdGU6ZnVuY3Rpb24odCxlKXt2YXIgcj1PKHRoaXMpLG49YXJndW1lbnRzLmxlbmd0aDtZdChlKTt2YXIgbz1yLmhhcyh0KTtpZighbyYmbjwzKXRocm93IFR5cGVFcnJvcihcIlVwZGF0aW5nIGFic2VudCB2YWx1ZVwiKTt2YXIgaT1vP3IuZ2V0KHQpOll0KG4+Mj9hcmd1bWVudHNbMl06dm9pZCAwKSh0LHIpO3JldHVybiByLnNldCh0LGUoaSx0LHIpKSxyfX0pO3ZhciBZcj1mdW5jdGlvbih0LGUpe3ZhciByLG49Tyh0aGlzKSxvPWFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwO2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGUmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIG8pdGhyb3cgVHlwZUVycm9yKFwiQXQgbGVhc3Qgb25lIGNhbGxiYWNrIHJlcXVpcmVkXCIpO3JldHVybiBuLmhhcyh0KT8ocj1uLmdldCh0KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlJiYocj1lKHIpLG4uc2V0KHQscikpKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBvJiYocj1vKCksbi5zZXQodCxyKSkscn07UHQoe3RhcmdldDpcIk1hcFwiLHByb3RvOiEwLHJlYWw6ITAsZm9yY2VkOiExfSx7dXBzZXJ0OllyfSksUHQoe3RhcmdldDpcIk1hcFwiLHByb3RvOiEwLHJlYWw6ITAsZm9yY2VkOiExfSx7dXBkYXRlT3JJbnNlcnQ6WXJ9KTt2YXIgSnI9XCJcXHRcXG5cXHZcXGZcXHIgwqDhmoDigIDigIHigILigIPigITigIXigIbigIfigIjigInigIrigK/igZ/jgIBcXHUyMDI4XFx1MjAyOVxcdWZlZmZcIixRcj1cIltcIitKcitcIl1cIixacj1SZWdFeHAoXCJeXCIrUXIrUXIrXCIqXCIpLHRuPVJlZ0V4cChRcitRcitcIiokXCIpLGVuPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgcj1TdHJpbmcoZChlKSk7cmV0dXJuIDEmdCYmKHI9ci5yZXBsYWNlKFpyLFwiXCIpKSwyJnQmJihyPXIucmVwbGFjZSh0bixcIlwiKSkscn19LHJuPXtzdGFydDplbigxKSxlbmQ6ZW4oMiksdHJpbTplbigzKX0sbm49eXQuZixvbj1SLmYsYW49SS5mLHVuPXJuLnRyaW0sc249bi5OdW1iZXIsY249c24ucHJvdG90eXBlLGZuPVwiTnVtYmVyXCI9PWwoJHQoY24pKSxsbj1mdW5jdGlvbih0KXt2YXIgZSxyLG4sbyxpLGEsdSxzLGM9eSh0LCExKTtpZihcInN0cmluZ1wiPT10eXBlb2YgYyYmYy5sZW5ndGg+MilpZig0Mz09PShlPShjPXVuKGMpKS5jaGFyQ29kZUF0KDApKXx8NDU9PT1lKXtpZig4OD09PShyPWMuY2hhckNvZGVBdCgyKSl8fDEyMD09PXIpcmV0dXJuIE5hTn1lbHNlIGlmKDQ4PT09ZSl7c3dpdGNoKGMuY2hhckNvZGVBdCgxKSl7Y2FzZSA2NjpjYXNlIDk4Om49MixvPTQ5O2JyZWFrO2Nhc2UgNzk6Y2FzZSAxMTE6bj04LG89NTU7YnJlYWs7ZGVmYXVsdDpyZXR1cm4rY31mb3IoYT0oaT1jLnNsaWNlKDIpKS5sZW5ndGgsdT0wO3U8YTt1KyspaWYoKHM9aS5jaGFyQ29kZUF0KHUpKTw0OHx8cz5vKXJldHVybiBOYU47cmV0dXJuIHBhcnNlSW50KGksbil9cmV0dXJuK2N9O2lmKGp0KFwiTnVtYmVyXCIsIXNuKFwiIDBvMVwiKXx8IXNuKFwiMGIxXCIpfHxzbihcIisweDFcIikpKXtmb3IodmFyIGhuLHBuPWZ1bmN0aW9uKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg8MT8wOnQscj10aGlzO3JldHVybiByIGluc3RhbmNlb2YgcG4mJihmbj9vKGZ1bmN0aW9uKCl7Y24udmFsdWVPZi5jYWxsKHIpfSk6XCJOdW1iZXJcIiE9bChyKSk/QXIobmV3IHNuKGxuKGUpKSxyLHBuKTpsbihlKX0sZG49aT9ubihzbik6XCJNQVhfVkFMVUUsTUlOX1ZBTFVFLE5hTixORUdBVElWRV9JTkZJTklUWSxQT1NJVElWRV9JTkZJTklUWSxFUFNJTE9OLGlzRmluaXRlLGlzSW50ZWdlcixpc05hTixpc1NhZmVJbnRlZ2VyLE1BWF9TQUZFX0lOVEVHRVIsTUlOX1NBRkVfSU5URUdFUixwYXJzZUZsb2F0LHBhcnNlSW50LGlzSW50ZWdlclwiLnNwbGl0KFwiLFwiKSx2bj0wO2RuLmxlbmd0aD52bjt2bisrKWIoc24saG49ZG5bdm5dKSYmIWIocG4saG4pJiZhbihwbixobixvbihzbixobikpO3BuLnByb3RvdHlwZT1jbixjbi5jb25zdHJ1Y3Rvcj1wbixaKG4sXCJOdW1iZXJcIixwbil9UHQoe3RhcmdldDpcIk51bWJlclwiLHN0YXQ6ITB9LHtFUFNJTE9OOk1hdGgucG93KDIsLTUyKX0pO3ZhciBnbj1uLmlzRmluaXRlLHluPU51bWJlci5pc0Zpbml0ZXx8ZnVuY3Rpb24odCl7cmV0dXJuXCJudW1iZXJcIj09dHlwZW9mIHQmJmduKHQpfTtQdCh7dGFyZ2V0OlwiTnVtYmVyXCIsc3RhdDohMH0se2lzRmluaXRlOnlufSk7dmFyIG1uPU1hdGguZmxvb3IsYm49ZnVuY3Rpb24odCl7cmV0dXJuIWcodCkmJmlzRmluaXRlKHQpJiZtbih0KT09PXR9O1B0KHt0YXJnZXQ6XCJOdW1iZXJcIixzdGF0OiEwfSx7aXNJbnRlZ2VyOmJufSksUHQoe3RhcmdldDpcIk51bWJlclwiLHN0YXQ6ITB9LHtpc05hTjpmdW5jdGlvbih0KXtyZXR1cm4gdCE9dH19KTt2YXIgU249TWF0aC5hYnM7UHQoe3RhcmdldDpcIk51bWJlclwiLHN0YXQ6ITB9LHtpc1NhZmVJbnRlZ2VyOmZ1bmN0aW9uKHQpe3JldHVybiBibih0KSYmU24odCk8PTkwMDcxOTkyNTQ3NDA5OTF9fSksUHQoe3RhcmdldDpcIk51bWJlclwiLHN0YXQ6ITB9LHtNQVhfU0FGRV9JTlRFR0VSOjkwMDcxOTkyNTQ3NDA5OTF9KSxQdCh7dGFyZ2V0OlwiTnVtYmVyXCIsc3RhdDohMH0se01JTl9TQUZFX0lOVEVHRVI6LTkwMDcxOTkyNTQ3NDA5OTF9KTt2YXIgd249cm4udHJpbSxFbj1uLnBhcnNlRmxvYXQseG49MS9FbihKcitcIi0wXCIpIT0tSW5maW5pdHk/ZnVuY3Rpb24odCl7dmFyIGU9d24oU3RyaW5nKHQpKSxyPUVuKGUpO3JldHVybiAwPT09ciYmXCItXCI9PWUuY2hhckF0KDApPy0wOnJ9OkVuO1B0KHt0YXJnZXQ6XCJOdW1iZXJcIixzdGF0OiEwLGZvcmNlZDpOdW1iZXIucGFyc2VGbG9hdCE9eG59LHtwYXJzZUZsb2F0OnhufSk7dmFyIEFuPXJuLnRyaW0sUm49bi5wYXJzZUludCxPbj0vXlsrLV0/MFtYeF0vLGpuPTghPT1SbihKcitcIjA4XCIpfHwyMiE9PVJuKEpyK1wiMHgxNlwiKT9mdW5jdGlvbih0LGUpe3ZhciByPUFuKFN0cmluZyh0KSk7cmV0dXJuIFJuKHIsZT4+PjB8fChPbi50ZXN0KHIpPzE2OjEwKSl9OlJuO1B0KHt0YXJnZXQ6XCJOdW1iZXJcIixzdGF0OiEwLGZvcmNlZDpOdW1iZXIucGFyc2VJbnQhPWpufSx7cGFyc2VJbnQ6am59KTt2YXIgSW49cy5mLFBuPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtmb3IodmFyIHIsbj12KGUpLG89QnQobiksYT1vLmxlbmd0aCx1PTAscz1bXTthPnU7KXI9b1t1KytdLGkmJiFJbi5jYWxsKG4scil8fHMucHVzaCh0P1tyLG5bcl1dOm5bcl0pO3JldHVybiBzfX0sVG49e2VudHJpZXM6UG4oITApLHZhbHVlczpQbighMSl9LGtuPVRuLmVudHJpZXM7UHQoe3RhcmdldDpcIk9iamVjdFwiLHN0YXQ6ITB9LHtlbnRyaWVzOmZ1bmN0aW9uKHQpe3JldHVybiBrbih0KX19KSxQdCh7dGFyZ2V0OlwiT2JqZWN0XCIsc3RhdDohMCxzaGFtOiFpfSx7Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yczpmdW5jdGlvbih0KXtmb3IodmFyIGUscixuPXYodCksbz1SLmYsaT1idChuKSxhPXt9LHU9MDtpLmxlbmd0aD51Oyl2b2lkIDAhPT0ocj1vKG4sZT1pW3UrK10pKSYmSmUoYSxlLHIpO3JldHVybiBhfX0pO3ZhciBMbj1vKGZ1bmN0aW9uKCl7QnQoMSl9KTtQdCh7dGFyZ2V0OlwiT2JqZWN0XCIsc3RhdDohMCxmb3JjZWQ6TG59LHtrZXlzOmZ1bmN0aW9uKHQpe3JldHVybiBCdChUdCh0KSl9fSk7dmFyIFVuPU9iamVjdC5pc3x8ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWU/MCE9PXR8fDEvdD09MS9lOnQhPXQmJmUhPWV9O1B0KHt0YXJnZXQ6XCJPYmplY3RcIixzdGF0OiEwfSx7aXM6VW59KTt2YXIgTW49VG4udmFsdWVzO1B0KHt0YXJnZXQ6XCJPYmplY3RcIixzdGF0OiEwfSx7dmFsdWVzOmZ1bmN0aW9uKHQpe3JldHVybiBNbih0KX19KTt2YXIgX249cnQoXCJSZWZsZWN0XCIsXCJhcHBseVwiKSxObj1GdW5jdGlvbi5hcHBseSxDbj0hbyhmdW5jdGlvbigpe19uKGZ1bmN0aW9uKCl7fSl9KTtQdCh7dGFyZ2V0OlwiUmVmbGVjdFwiLHN0YXQ6ITAsZm9yY2VkOkNufSx7YXBwbHk6ZnVuY3Rpb24odCxlLHIpe3JldHVybiBZdCh0KSxPKHIpLF9uP19uKHQsZSxyKTpObi5jYWxsKHQsZSxyKX19KTt2YXIgRm49W10uc2xpY2UsQm49e30sRG49RnVuY3Rpb24uYmluZHx8ZnVuY3Rpb24odCl7dmFyIGU9WXQodGhpcykscj1Gbi5jYWxsKGFyZ3VtZW50cywxKSxuPWZ1bmN0aW9uKCl7dmFyIG89ci5jb25jYXQoRm4uY2FsbChhcmd1bWVudHMpKTtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIG4/ZnVuY3Rpb24odCxlLHIpe2lmKCEoZSBpbiBCbikpe2Zvcih2YXIgbj1bXSxvPTA7bzxlO28rKyluW29dPVwiYVtcIitvK1wiXVwiO0JuW2VdPUZ1bmN0aW9uKFwiQyxhXCIsXCJyZXR1cm4gbmV3IEMoXCIrbi5qb2luKFwiLFwiKStcIilcIil9cmV0dXJuIEJuW2VdKHQscil9KGUsby5sZW5ndGgsbyk6ZS5hcHBseSh0LG8pfTtyZXR1cm4gZyhlLnByb3RvdHlwZSkmJihuLnByb3RvdHlwZT1lLnByb3RvdHlwZSksbn0scW49cnQoXCJSZWZsZWN0XCIsXCJjb25zdHJ1Y3RcIiksem49byhmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIShxbihmdW5jdGlvbigpe30sW10sdClpbnN0YW5jZW9mIHQpfSksV249IW8oZnVuY3Rpb24oKXtxbihmdW5jdGlvbigpe30pfSksS249em58fFduO1B0KHt0YXJnZXQ6XCJSZWZsZWN0XCIsc3RhdDohMCxmb3JjZWQ6S24sc2hhbTpLbn0se2NvbnN0cnVjdDpmdW5jdGlvbih0LGUpe1l0KHQpLE8oZSk7dmFyIHI9YXJndW1lbnRzLmxlbmd0aDwzP3Q6WXQoYXJndW1lbnRzWzJdKTtpZihXbiYmIXpuKXJldHVybiBxbih0LGUscik7aWYodD09cil7c3dpdGNoKGUubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIG5ldyB0O2Nhc2UgMTpyZXR1cm4gbmV3IHQoZVswXSk7Y2FzZSAyOnJldHVybiBuZXcgdChlWzBdLGVbMV0pO2Nhc2UgMzpyZXR1cm4gbmV3IHQoZVswXSxlWzFdLGVbMl0pO2Nhc2UgNDpyZXR1cm4gbmV3IHQoZVswXSxlWzFdLGVbMl0sZVszXSl9dmFyIG49W251bGxdO3JldHVybiBuLnB1c2guYXBwbHkobixlKSxuZXcoRG4uYXBwbHkodCxuKSl9dmFyIG89ci5wcm90b3R5cGUsaT0kdChnKG8pP286T2JqZWN0LnByb3RvdHlwZSksYT1GdW5jdGlvbi5hcHBseS5jYWxsKHQsaSxlKTtyZXR1cm4gZyhhKT9hOml9fSk7dmFyIEduPW8oZnVuY3Rpb24oKXtSZWZsZWN0LmRlZmluZVByb3BlcnR5KEkuZih7fSwxLHt2YWx1ZToxfSksMSx7dmFsdWU6Mn0pfSk7UHQoe3RhcmdldDpcIlJlZmxlY3RcIixzdGF0OiEwLGZvcmNlZDpHbixzaGFtOiFpfSx7ZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24odCxlLHIpe08odCk7dmFyIG49eShlLCEwKTtPKHIpO3RyeXtyZXR1cm4gSS5mKHQsbixyKSwhMH1jYXRjaCh0KXtyZXR1cm4hMX19fSk7dmFyICRuPVIuZjtQdCh7dGFyZ2V0OlwiUmVmbGVjdFwiLHN0YXQ6ITB9LHtkZWxldGVQcm9wZXJ0eTpmdW5jdGlvbih0LGUpe3ZhciByPSRuKE8odCksZSk7cmV0dXJuIShyJiYhci5jb25maWd1cmFibGUpJiZkZWxldGUgdFtlXX19KSxQdCh7dGFyZ2V0OlwiUmVmbGVjdFwiLHN0YXQ6ITB9LHtnZXQ6ZnVuY3Rpb24gdChlLHIpe3ZhciBuLG8saT1hcmd1bWVudHMubGVuZ3RoPDM/ZTphcmd1bWVudHNbMl07cmV0dXJuIE8oZSk9PT1pP2Vbcl06KG49Ui5mKGUscikpP2IobixcInZhbHVlXCIpP24udmFsdWU6dm9pZCAwPT09bi5nZXQ/dm9pZCAwOm4uZ2V0LmNhbGwoaSk6ZyhvPU9lKGUpKT90KG8scixpKTp2b2lkIDB9fSksUHQoe3RhcmdldDpcIlJlZmxlY3RcIixzdGF0OiEwLHNoYW06IWl9LHtnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6ZnVuY3Rpb24odCxlKXtyZXR1cm4gUi5mKE8odCksZSl9fSksUHQoe3RhcmdldDpcIlJlZmxlY3RcIixzdGF0OiEwLHNoYW06IXhlfSx7Z2V0UHJvdG90eXBlT2Y6ZnVuY3Rpb24odCl7cmV0dXJuIE9lKE8odCkpfX0pLFB0KHt0YXJnZXQ6XCJSZWZsZWN0XCIsc3RhdDohMH0se2hhczpmdW5jdGlvbih0LGUpe3JldHVybiBlIGluIHR9fSk7dmFyIFZuPU9iamVjdC5pc0V4dGVuc2libGU7UHQoe3RhcmdldDpcIlJlZmxlY3RcIixzdGF0OiEwfSx7aXNFeHRlbnNpYmxlOmZ1bmN0aW9uKHQpe3JldHVybiBPKHQpLCFWbnx8Vm4odCl9fSksUHQoe3RhcmdldDpcIlJlZmxlY3RcIixzdGF0OiEwfSx7b3duS2V5czpidH0pLFB0KHt0YXJnZXQ6XCJSZWZsZWN0XCIsc3RhdDohMCxzaGFtOiFTcn0se3ByZXZlbnRFeHRlbnNpb25zOmZ1bmN0aW9uKHQpe08odCk7dHJ5e3ZhciBlPXJ0KFwiT2JqZWN0XCIsXCJwcmV2ZW50RXh0ZW5zaW9uc1wiKTtyZXR1cm4gZSYmZSh0KSwhMH1jYXRjaCh0KXtyZXR1cm4hMX19fSk7dmFyIEhuPW8oZnVuY3Rpb24oKXt2YXIgdD1JLmYoe30sXCJhXCIse2NvbmZpZ3VyYWJsZTohMH0pO3JldHVybiExIT09UmVmbGVjdC5zZXQoT2UodCksXCJhXCIsMSx0KX0pO1B0KHt0YXJnZXQ6XCJSZWZsZWN0XCIsc3RhdDohMCxmb3JjZWQ6SG59LHtzZXQ6ZnVuY3Rpb24gdChlLHIsbil7dmFyIG8saSxhPWFyZ3VtZW50cy5sZW5ndGg8ND9lOmFyZ3VtZW50c1szXSx1PVIuZihPKGUpLHIpO2lmKCF1KXtpZihnKGk9T2UoZSkpKXJldHVybiB0KGkscixuLGEpO3U9YygwKX1pZihiKHUsXCJ2YWx1ZVwiKSl7aWYoITE9PT11LndyaXRhYmxlfHwhZyhhKSlyZXR1cm4hMTtpZihvPVIuZihhLHIpKXtpZihvLmdldHx8by5zZXR8fCExPT09by53cml0YWJsZSlyZXR1cm4hMTtvLnZhbHVlPW4sSS5mKGEscixvKX1lbHNlIEkuZihhLHIsYygwLG4pKTtyZXR1cm4hMH1yZXR1cm4gdm9pZCAwIT09dS5zZXQmJih1LnNldC5jYWxsKGEsbiksITApfX0pLEZlJiZQdCh7dGFyZ2V0OlwiUmVmbGVjdFwiLHN0YXQ6ITB9LHtzZXRQcm90b3R5cGVPZjpmdW5jdGlvbih0LGUpe08odCksQ2UoZSk7dHJ5e3JldHVybiBGZSh0LGUpLCEwfWNhdGNoKHQpe3JldHVybiExfX19KTt2YXIgWG49d3IuZ2V0V2Vha0RhdGEsWW49US5zZXQsSm49US5nZXR0ZXJGb3IsUW49aWUuZmluZCxabj1pZS5maW5kSW5kZXgsdG89MCxlbz1mdW5jdGlvbih0KXtyZXR1cm4gdC5mcm96ZW58fCh0LmZyb3plbj1uZXcgcm8pfSxybz1mdW5jdGlvbigpe3RoaXMuZW50cmllcz1bXX0sbm89ZnVuY3Rpb24odCxlKXtyZXR1cm4gUW4odC5lbnRyaWVzLGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdPT09ZX0pfTtyby5wcm90b3R5cGU9e2dldDpmdW5jdGlvbih0KXt2YXIgZT1ubyh0aGlzLHQpO2lmKGUpcmV0dXJuIGVbMV19LGhhczpmdW5jdGlvbih0KXtyZXR1cm4hIW5vKHRoaXMsdCl9LHNldDpmdW5jdGlvbih0LGUpe3ZhciByPW5vKHRoaXMsdCk7cj9yWzFdPWU6dGhpcy5lbnRyaWVzLnB1c2goW3QsZV0pfSxkZWxldGU6ZnVuY3Rpb24odCl7dmFyIGU9Wm4odGhpcy5lbnRyaWVzLGZ1bmN0aW9uKGUpe3JldHVybiBlWzBdPT09dH0pO3JldHVybn5lJiZ0aGlzLmVudHJpZXMuc3BsaWNlKGUsMSksISF+ZX19O3ZhciBvbz17Z2V0Q29uc3RydWN0b3I6ZnVuY3Rpb24odCxlLHIsbil7dmFyIG89dChmdW5jdGlvbih0LGkpe3hyKHQsbyxlKSxZbih0LHt0eXBlOmUsaWQ6dG8rKyxmcm96ZW46dm9pZCAwfSksbnVsbCE9aSYmRXIoaSx0W25dLHQscil9KSxpPUpuKGUpLGE9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWkodCksbz1YbihPKGUpLCEwKTtyZXR1cm4hMD09PW8/ZW8obikuc2V0KGUscik6b1tuLmlkXT1yLHR9O3JldHVybiBPcihvLnByb3RvdHlwZSx7ZGVsZXRlOmZ1bmN0aW9uKHQpe3ZhciBlPWkodGhpcyk7aWYoIWcodCkpcmV0dXJuITE7dmFyIHI9WG4odCk7cmV0dXJuITA9PT1yP2VvKGUpLmRlbGV0ZSh0KTpyJiZiKHIsZS5pZCkmJmRlbGV0ZSByW2UuaWRdfSxoYXM6ZnVuY3Rpb24odCl7dmFyIGU9aSh0aGlzKTtpZighZyh0KSlyZXR1cm4hMTt2YXIgcj1Ybih0KTtyZXR1cm4hMD09PXI/ZW8oZSkuaGFzKHQpOnImJmIocixlLmlkKX19KSxPcihvLnByb3RvdHlwZSxyP3tnZXQ6ZnVuY3Rpb24odCl7dmFyIGU9aSh0aGlzKTtpZihnKHQpKXt2YXIgcj1Ybih0KTtyZXR1cm4hMD09PXI/ZW8oZSkuZ2V0KHQpOnI/cltlLmlkXTp2b2lkIDB9fSxzZXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gYSh0aGlzLHQsZSl9fTp7YWRkOmZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMsdCwhMCl9fSksb319LGlvPWUoZnVuY3Rpb24odCl7dmFyIGUscj1RLmVuZm9yY2Usbz0hbi5BY3RpdmVYT2JqZWN0JiZcIkFjdGl2ZVhPYmplY3RcImluIG4saT1PYmplY3QuaXNFeHRlbnNpYmxlLGE9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcyxhcmd1bWVudHMubGVuZ3RoP2FyZ3VtZW50c1swXTp2b2lkIDApfX0sdT10LmV4cG9ydHM9UnIoXCJXZWFrTWFwXCIsYSxvbyk7aWYoRiYmbyl7ZT1vby5nZXRDb25zdHJ1Y3RvcihhLFwiV2Vha01hcFwiLCEwKSx3ci5SRVFVSVJFRD0hMDt2YXIgcz11LnByb3RvdHlwZSxjPXMuZGVsZXRlLGY9cy5oYXMsbD1zLmdldCxoPXMuc2V0O09yKHMse2RlbGV0ZTpmdW5jdGlvbih0KXtpZihnKHQpJiYhaSh0KSl7dmFyIG49cih0aGlzKTtyZXR1cm4gbi5mcm96ZW58fChuLmZyb3plbj1uZXcgZSksYy5jYWxsKHRoaXMsdCl8fG4uZnJvemVuLmRlbGV0ZSh0KX1yZXR1cm4gYy5jYWxsKHRoaXMsdCl9LGhhczpmdW5jdGlvbih0KXtpZihnKHQpJiYhaSh0KSl7dmFyIG49cih0aGlzKTtyZXR1cm4gbi5mcm96ZW58fChuLmZyb3plbj1uZXcgZSksZi5jYWxsKHRoaXMsdCl8fG4uZnJvemVuLmhhcyh0KX1yZXR1cm4gZi5jYWxsKHRoaXMsdCl9LGdldDpmdW5jdGlvbih0KXtpZihnKHQpJiYhaSh0KSl7dmFyIG49cih0aGlzKTtyZXR1cm4gbi5mcm96ZW58fChuLmZyb3plbj1uZXcgZSksZi5jYWxsKHRoaXMsdCk/bC5jYWxsKHRoaXMsdCk6bi5mcm96ZW4uZ2V0KHQpfXJldHVybiBsLmNhbGwodGhpcyx0KX0sc2V0OmZ1bmN0aW9uKHQsbil7aWYoZyh0KSYmIWkodCkpe3ZhciBvPXIodGhpcyk7by5mcm96ZW58fChvLmZyb3plbj1uZXcgZSksZi5jYWxsKHRoaXMsdCk/aC5jYWxsKHRoaXMsdCxuKTpvLmZyb3plbi5zZXQodCxuKX1lbHNlIGguY2FsbCh0aGlzLHQsbik7cmV0dXJuIHRoaXN9fSl9fSksYW89QihcIm1ldGFkYXRhXCIpLHVvPWFvLnN0b3JlfHwoYW8uc3RvcmU9bmV3IGlvKSxzbz1mdW5jdGlvbih0LGUscil7dmFyIG49dW8uZ2V0KHQpO2lmKCFuKXtpZighcilyZXR1cm47dW8uc2V0KHQsbj1uZXcgTXIpfXZhciBvPW4uZ2V0KGUpO2lmKCFvKXtpZighcilyZXR1cm47bi5zZXQoZSxvPW5ldyBNcil9cmV0dXJuIG99LGNvPXtzdG9yZTp1byxnZXRNYXA6c28saGFzOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1zbyhlLHIsITEpO3JldHVybiB2b2lkIDAhPT1uJiZuLmhhcyh0KX0sZ2V0OmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1zbyhlLHIsITEpO3JldHVybiB2b2lkIDA9PT1uP3ZvaWQgMDpuLmdldCh0KX0sc2V0OmZ1bmN0aW9uKHQsZSxyLG4pe3NvKHIsbiwhMCkuc2V0KHQsZSl9LGtleXM6ZnVuY3Rpb24odCxlKXt2YXIgcj1zbyh0LGUsITEpLG49W107cmV0dXJuIHImJnIuZm9yRWFjaChmdW5jdGlvbih0LGUpe24ucHVzaChlKX0pLG59LHRvS2V5OmZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10fHxcInN5bWJvbFwiPT10eXBlb2YgdD90OlN0cmluZyh0KX19LGZvPWNvLnRvS2V5LGxvPWNvLnNldDtQdCh7dGFyZ2V0OlwiUmVmbGVjdFwiLHN0YXQ6ITB9LHtkZWZpbmVNZXRhZGF0YTpmdW5jdGlvbih0LGUscil7dmFyIG49YXJndW1lbnRzLmxlbmd0aDw0P3ZvaWQgMDpmbyhhcmd1bWVudHNbM10pO2xvKHQsZSxPKHIpLG4pfX0pO3ZhciBobz1jby50b0tleSxwbz1jby5nZXRNYXAsdm89Y28uc3RvcmU7UHQoe3RhcmdldDpcIlJlZmxlY3RcIixzdGF0OiEwfSx7ZGVsZXRlTWV0YWRhdGE6ZnVuY3Rpb24odCxlKXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPDM/dm9pZCAwOmhvKGFyZ3VtZW50c1syXSksbj1wbyhPKGUpLHIsITEpO2lmKHZvaWQgMD09PW58fCFuLmRlbGV0ZSh0KSlyZXR1cm4hMTtpZihuLnNpemUpcmV0dXJuITA7dmFyIG89dm8uZ2V0KGUpO3JldHVybiBvLmRlbGV0ZShyKSwhIW8uc2l6ZXx8dm8uZGVsZXRlKGUpfX0pO3ZhciBnbz1jby5oYXMseW89Y28uZ2V0LG1vPWNvLnRvS2V5LGJvPWZ1bmN0aW9uKHQsZSxyKXtpZihnbyh0LGUscikpcmV0dXJuIHlvKHQsZSxyKTt2YXIgbj1PZShlKTtyZXR1cm4gbnVsbCE9PW4/Ym8odCxuLHIpOnZvaWQgMH07UHQoe3RhcmdldDpcIlJlZmxlY3RcIixzdGF0OiEwfSx7Z2V0TWV0YWRhdGE6ZnVuY3Rpb24odCxlKXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPDM/dm9pZCAwOm1vKGFyZ3VtZW50c1syXSk7cmV0dXJuIGJvKHQsTyhlKSxyKX19KTt2YXIgU289UnIoXCJTZXRcIixmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdCh0aGlzLGFyZ3VtZW50cy5sZW5ndGg/YXJndW1lbnRzWzBdOnZvaWQgMCl9fSxVciksd289Y28ua2V5cyxFbz1jby50b0tleSx4bz1mdW5jdGlvbih0LGUpe3ZhciByPXdvKHQsZSksbj1PZSh0KTtpZihudWxsPT09bilyZXR1cm4gcjt2YXIgbyxpLGE9eG8obixlKTtyZXR1cm4gYS5sZW5ndGg/ci5sZW5ndGg/KG89bmV3IFNvKHIuY29uY2F0KGEpKSxFcihvLChpPVtdKS5wdXNoLGkpLGkpOmE6cn07UHQoe3RhcmdldDpcIlJlZmxlY3RcIixzdGF0OiEwfSx7Z2V0TWV0YWRhdGFLZXlzOmZ1bmN0aW9uKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg8Mj92b2lkIDA6RW8oYXJndW1lbnRzWzFdKTtyZXR1cm4geG8oTyh0KSxlKX19KTt2YXIgQW89Y28uZ2V0LFJvPWNvLnRvS2V5O1B0KHt0YXJnZXQ6XCJSZWZsZWN0XCIsc3RhdDohMH0se2dldE93bk1ldGFkYXRhOmZ1bmN0aW9uKHQsZSl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aDwzP3ZvaWQgMDpSbyhhcmd1bWVudHNbMl0pO3JldHVybiBBbyh0LE8oZSkscil9fSk7dmFyIE9vPWNvLmtleXMsam89Y28udG9LZXk7UHQoe3RhcmdldDpcIlJlZmxlY3RcIixzdGF0OiEwfSx7Z2V0T3duTWV0YWRhdGFLZXlzOmZ1bmN0aW9uKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg8Mj92b2lkIDA6am8oYXJndW1lbnRzWzFdKTtyZXR1cm4gT28oTyh0KSxlKX19KTt2YXIgSW89Y28uaGFzLFBvPWNvLnRvS2V5LFRvPWZ1bmN0aW9uKHQsZSxyKXtpZihJbyh0LGUscikpcmV0dXJuITA7dmFyIG49T2UoZSk7cmV0dXJuIG51bGwhPT1uJiZUbyh0LG4scil9O1B0KHt0YXJnZXQ6XCJSZWZsZWN0XCIsc3RhdDohMH0se2hhc01ldGFkYXRhOmZ1bmN0aW9uKHQsZSl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aDwzP3ZvaWQgMDpQbyhhcmd1bWVudHNbMl0pO3JldHVybiBUbyh0LE8oZSkscil9fSk7dmFyIGtvPWNvLmhhcyxMbz1jby50b0tleTtQdCh7dGFyZ2V0OlwiUmVmbGVjdFwiLHN0YXQ6ITB9LHtoYXNPd25NZXRhZGF0YTpmdW5jdGlvbih0LGUpe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg8Mz92b2lkIDA6TG8oYXJndW1lbnRzWzJdKTtyZXR1cm4ga28odCxPKGUpLHIpfX0pO3ZhciBVbz1jby50b0tleSxNbz1jby5zZXQ7UHQoe3RhcmdldDpcIlJlZmxlY3RcIixzdGF0OiEwfSx7bWV0YWRhdGE6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocixuKXtNbyh0LGUsTyhyKSxVbyhuKSl9fX0pO3ZhciBfbz1GdChcIm1hdGNoXCIpLE5vPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBnKHQpJiYodm9pZCAwIT09KGU9dFtfb10pPyEhZTpcIlJlZ0V4cFwiPT1sKHQpKX0sQ289ZnVuY3Rpb24oKXt2YXIgdD1PKHRoaXMpLGU9XCJcIjtyZXR1cm4gdC5nbG9iYWwmJihlKz1cImdcIiksdC5pZ25vcmVDYXNlJiYoZSs9XCJpXCIpLHQubXVsdGlsaW5lJiYoZSs9XCJtXCIpLHQuZG90QWxsJiYoZSs9XCJzXCIpLHQudW5pY29kZSYmKGUrPVwidVwiKSx0LnN0aWNreSYmKGUrPVwieVwiKSxlfTtmdW5jdGlvbiBGbyh0LGUpe3JldHVybiBSZWdFeHAodCxlKX12YXIgQm89e1VOU1VQUE9SVEVEX1k6byhmdW5jdGlvbigpe3ZhciB0PUZvKFwiYVwiLFwieVwiKTtyZXR1cm4gdC5sYXN0SW5kZXg9MixudWxsIT10LmV4ZWMoXCJhYmNkXCIpfSksQlJPS0VOX0NBUkVUOm8oZnVuY3Rpb24oKXt2YXIgdD1GbyhcIl5yXCIsXCJneVwiKTtyZXR1cm4gdC5sYXN0SW5kZXg9MixudWxsIT10LmV4ZWMoXCJzdHJcIil9KX0sRG89SS5mLHFvPXl0LmYsem89US5zZXQsV289RnQoXCJtYXRjaFwiKSxLbz1uLlJlZ0V4cCxHbz1Lby5wcm90b3R5cGUsJG89L2EvZyxWbz0vYS9nLEhvPW5ldyBLbygkbykhPT0kbyxYbz1Cby5VTlNVUFBPUlRFRF9ZO2lmKGkmJmp0KFwiUmVnRXhwXCIsIUhvfHxYb3x8byhmdW5jdGlvbigpe3JldHVybiBWb1tXb109ITEsS28oJG8pIT0kb3x8S28oVm8pPT1Wb3x8XCIvYS9pXCIhPUtvKCRvLFwiaVwiKX0pKSl7Zm9yKHZhciBZbz1mdW5jdGlvbih0LGUpe3ZhciByLG49dGhpcyBpbnN0YW5jZW9mIFlvLG89Tm8odCksaT12b2lkIDA9PT1lO2lmKCFuJiZvJiZ0LmNvbnN0cnVjdG9yPT09WW8mJmkpcmV0dXJuIHQ7SG8/byYmIWkmJih0PXQuc291cmNlKTp0IGluc3RhbmNlb2YgWW8mJihpJiYoZT1Dby5jYWxsKHQpKSx0PXQuc291cmNlKSxYbyYmKHI9ISFlJiZlLmluZGV4T2YoXCJ5XCIpPi0xKSYmKGU9ZS5yZXBsYWNlKC95L2csXCJcIikpO3ZhciBhPUFyKEhvP25ldyBLbyh0LGUpOktvKHQsZSksbj90aGlzOkdvLFlvKTtyZXR1cm4gWG8mJnImJnpvKGEse3N0aWNreTpyfSksYX0sSm89ZnVuY3Rpb24odCl7dCBpbiBZb3x8RG8oWW8sdCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBLb1t0XX0sc2V0OmZ1bmN0aW9uKGUpe0tvW3RdPWV9fSl9LFFvPXFvKEtvKSxabz0wO1FvLmxlbmd0aD5abzspSm8oUW9bWm8rK10pO0dvLmNvbnN0cnVjdG9yPVlvLFlvLnByb3RvdHlwZT1HbyxaKG4sXCJSZWdFeHBcIixZbyl9SXIoXCJSZWdFeHBcIik7dmFyIHRpPVJlZ0V4cC5wcm90b3R5cGUsZWk9dGkudG9TdHJpbmc7KG8oZnVuY3Rpb24oKXtyZXR1cm5cIi9hL2JcIiE9ZWkuY2FsbCh7c291cmNlOlwiYVwiLGZsYWdzOlwiYlwifSl9KXx8XCJ0b1N0cmluZ1wiIT1laS5uYW1lKSYmWihSZWdFeHAucHJvdG90eXBlLFwidG9TdHJpbmdcIixmdW5jdGlvbigpe3ZhciB0PU8odGhpcyksZT1TdHJpbmcodC5zb3VyY2UpLHI9dC5mbGFncztyZXR1cm5cIi9cIitlK1wiL1wiK1N0cmluZyh2b2lkIDA9PT1yJiZ0IGluc3RhbmNlb2YgUmVnRXhwJiYhKFwiZmxhZ3NcImluIHRpKT9Dby5jYWxsKHQpOnIpfSx7dW5zYWZlOiEwfSk7dmFyIHJpPVJlZ0V4cC5wcm90b3R5cGUuZXhlYyxuaT1TdHJpbmcucHJvdG90eXBlLnJlcGxhY2Usb2k9cmksaWk9ZnVuY3Rpb24oKXt2YXIgdD0vYS8sZT0vYiovZztyZXR1cm4gcmkuY2FsbCh0LFwiYVwiKSxyaS5jYWxsKGUsXCJhXCIpLDAhPT10Lmxhc3RJbmRleHx8MCE9PWUubGFzdEluZGV4fSgpLGFpPUJvLlVOU1VQUE9SVEVEX1l8fEJvLkJST0tFTl9DQVJFVCx1aT12b2lkIDAhPT0vKCk/Py8uZXhlYyhcIlwiKVsxXTsoaWl8fHVpfHxhaSkmJihvaT1mdW5jdGlvbih0KXt2YXIgZSxyLG4sbyxpPXRoaXMsYT1haSYmaS5zdGlja3ksdT1Dby5jYWxsKGkpLHM9aS5zb3VyY2UsYz0wLGY9dDtyZXR1cm4gYSYmKC0xPT09KHU9dS5yZXBsYWNlKFwieVwiLFwiXCIpKS5pbmRleE9mKFwiZ1wiKSYmKHUrPVwiZ1wiKSxmPVN0cmluZyh0KS5zbGljZShpLmxhc3RJbmRleCksaS5sYXN0SW5kZXg+MCYmKCFpLm11bHRpbGluZXx8aS5tdWx0aWxpbmUmJlwiXFxuXCIhPT10W2kubGFzdEluZGV4LTFdKSYmKHM9XCIoPzogXCIrcytcIilcIixmPVwiIFwiK2YsYysrKSxyPW5ldyBSZWdFeHAoXCJeKD86XCIrcytcIilcIix1KSksdWkmJihyPW5ldyBSZWdFeHAoXCJeXCIrcytcIiQoPyFcXFxccylcIix1KSksaWkmJihlPWkubGFzdEluZGV4KSxuPXJpLmNhbGwoYT9yOmksZiksYT9uPyhuLmlucHV0PW4uaW5wdXQuc2xpY2UoYyksblswXT1uWzBdLnNsaWNlKGMpLG4uaW5kZXg9aS5sYXN0SW5kZXgsaS5sYXN0SW5kZXgrPW5bMF0ubGVuZ3RoKTppLmxhc3RJbmRleD0wOmlpJiZuJiYoaS5sYXN0SW5kZXg9aS5nbG9iYWw/bi5pbmRleCtuWzBdLmxlbmd0aDplKSx1aSYmbiYmbi5sZW5ndGg+MSYmbmkuY2FsbChuWzBdLHIsZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHM7Zm9yKG89MTtvPGFyZ3VtZW50cy5sZW5ndGgtMjtvKyspdm9pZCAwPT09dFtvXSYmKG5bb109dm9pZCAwKX0pLG59KTt2YXIgc2k9b2k7UHQoe3RhcmdldDpcIlJlZ0V4cFwiLHByb3RvOiEwLGZvcmNlZDovLi8uZXhlYyE9PXNpfSx7ZXhlYzpzaX0pLGkmJihcImdcIiE9Ly4vZy5mbGFnc3x8Qm8uVU5TVVBQT1JURURfWSkmJkkuZihSZWdFeHAucHJvdG90eXBlLFwiZmxhZ3NcIix7Y29uZmlndXJhYmxlOiEwLGdldDpDb30pO3ZhciBjaT1RLmdldCxmaT1SZWdFeHAucHJvdG90eXBlO2kmJkJvLlVOU1VQUE9SVEVEX1kmJigwLEkuZikoUmVnRXhwLnByb3RvdHlwZSxcInN0aWNreVwiLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7aWYodGhpcyE9PWZpKXtpZih0aGlzIGluc3RhbmNlb2YgUmVnRXhwKXJldHVybiEhY2kodGhpcykuc3RpY2t5O3Rocm93IFR5cGVFcnJvcihcIkluY29tcGF0aWJsZSByZWNlaXZlciwgUmVnRXhwIHJlcXVpcmVkXCIpfX19KTt2YXIgbGksaGkscGk9KGxpPSExLChoaT0vW2FjXS8pLmV4ZWM9ZnVuY3Rpb24oKXtyZXR1cm4gbGk9ITAsLy4vLmV4ZWMuYXBwbHkodGhpcyxhcmd1bWVudHMpfSwhMD09PWhpLnRlc3QoXCJhYmNcIikmJmxpKSxkaT0vLi8udGVzdDtQdCh7dGFyZ2V0OlwiUmVnRXhwXCIscHJvdG86ITAsZm9yY2VkOiFwaX0se3Rlc3Q6ZnVuY3Rpb24odCl7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgdGhpcy5leGVjKXJldHVybiBkaS5jYWxsKHRoaXMsdCk7dmFyIGU9dGhpcy5leGVjKHQpO2lmKG51bGwhPT1lJiYhZyhlKSl0aHJvdyBuZXcgRXJyb3IoXCJSZWdFeHAgZXhlYyBtZXRob2QgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gT2JqZWN0IG9yIG51bGxcIik7cmV0dXJuISFlfX0pO3ZhciB2aT1GdChcInNwZWNpZXNcIiksZ2k9IW8oZnVuY3Rpb24oKXt2YXIgdD0vLi87cmV0dXJuIHQuZXhlYz1mdW5jdGlvbigpe3ZhciB0PVtdO3JldHVybiB0Lmdyb3Vwcz17YTpcIjdcIn0sdH0sXCI3XCIhPT1cIlwiLnJlcGxhY2UodCxcIiQ8YT5cIil9KSx5aT1cIiQwXCI9PT1cImFcIi5yZXBsYWNlKC8uLyxcIiQwXCIpLG1pPUZ0KFwicmVwbGFjZVwiKSxiaT0hIS8uL1ttaV0mJlwiXCI9PT0vLi9bbWldKFwiYVwiLFwiJDBcIiksU2k9IW8oZnVuY3Rpb24oKXt2YXIgdD0vKD86KS8sZT10LmV4ZWM7dC5leGVjPWZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt2YXIgcj1cImFiXCIuc3BsaXQodCk7cmV0dXJuIDIhPT1yLmxlbmd0aHx8XCJhXCIhPT1yWzBdfHxcImJcIiE9PXJbMV19KSx3aT1mdW5jdGlvbih0LGUscixuKXt2YXIgaT1GdCh0KSxhPSFvKGZ1bmN0aW9uKCl7dmFyIGU9e307cmV0dXJuIGVbaV09ZnVuY3Rpb24oKXtyZXR1cm4gN30sNyE9XCJcIlt0XShlKX0pLHU9YSYmIW8oZnVuY3Rpb24oKXt2YXIgZT0hMSxyPS9hLztyZXR1cm5cInNwbGl0XCI9PT10JiYoKHI9e30pLmNvbnN0cnVjdG9yPXt9LHIuY29uc3RydWN0b3JbdmldPWZ1bmN0aW9uKCl7cmV0dXJuIHJ9LHIuZmxhZ3M9XCJcIixyW2ldPS8uL1tpXSksci5leGVjPWZ1bmN0aW9uKCl7cmV0dXJuIGU9ITAsbnVsbH0scltpXShcIlwiKSwhZX0pO2lmKCFhfHwhdXx8XCJyZXBsYWNlXCI9PT10JiYoIWdpfHwheWl8fGJpKXx8XCJzcGxpdFwiPT09dCYmIVNpKXt2YXIgcz0vLi9baV0sYz1yKGksXCJcIlt0XSxmdW5jdGlvbih0LGUscixuLG8pe3JldHVybiBlLmV4ZWM9PT1zaT9hJiYhbz97ZG9uZTohMCx2YWx1ZTpzLmNhbGwoZSxyLG4pfTp7ZG9uZTohMCx2YWx1ZTp0LmNhbGwocixlLG4pfTp7ZG9uZTohMX19LHtSRVBMQUNFX0tFRVBTXyQwOnlpLFJFR0VYUF9SRVBMQUNFX1NVQlNUSVRVVEVTX1VOREVGSU5FRF9DQVBUVVJFOmJpfSksZj1jWzFdO1ooU3RyaW5nLnByb3RvdHlwZSx0LGNbMF0pLFooUmVnRXhwLnByb3RvdHlwZSxpLDI9PWU/ZnVuY3Rpb24odCxlKXtyZXR1cm4gZi5jYWxsKHQsdGhpcyxlKX06ZnVuY3Rpb24odCl7cmV0dXJuIGYuY2FsbCh0LHRoaXMpfSl9biYmUChSZWdFeHAucHJvdG90eXBlW2ldLFwic2hhbVwiLCEwKX0sRWk9RWUuY2hhckF0LHhpPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZSsocj9FaSh0LGUpLmxlbmd0aDoxKX0sQWk9ZnVuY3Rpb24odCxlKXt2YXIgcj10LmV4ZWM7aWYoXCJmdW5jdGlvblwiPT10eXBlb2Ygcil7dmFyIG49ci5jYWxsKHQsZSk7aWYoXCJvYmplY3RcIiE9dHlwZW9mIG4pdGhyb3cgVHlwZUVycm9yKFwiUmVnRXhwIGV4ZWMgbWV0aG9kIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIE9iamVjdCBvciBudWxsXCIpO3JldHVybiBufWlmKFwiUmVnRXhwXCIhPT1sKHQpKXRocm93IFR5cGVFcnJvcihcIlJlZ0V4cCNleGVjIGNhbGxlZCBvbiBpbmNvbXBhdGlibGUgcmVjZWl2ZXJcIik7cmV0dXJuIHNpLmNhbGwodCxlKX07d2koXCJtYXRjaFwiLDEsZnVuY3Rpb24odCxlLHIpe3JldHVybltmdW5jdGlvbihlKXt2YXIgcj1kKHRoaXMpLG49bnVsbD09ZT92b2lkIDA6ZVt0XTtyZXR1cm4gdm9pZCAwIT09bj9uLmNhbGwoZSxyKTpuZXcgUmVnRXhwKGUpW3RdKFN0cmluZyhyKSl9LGZ1bmN0aW9uKHQpe3ZhciBuPXIoZSx0LHRoaXMpO2lmKG4uZG9uZSlyZXR1cm4gbi52YWx1ZTt2YXIgbz1PKHQpLGk9U3RyaW5nKHRoaXMpO2lmKCFvLmdsb2JhbClyZXR1cm4gQWkobyxpKTt2YXIgYT1vLnVuaWNvZGU7by5sYXN0SW5kZXg9MDtmb3IodmFyIHUscz1bXSxjPTA7bnVsbCE9PSh1PUFpKG8saSkpOyl7dmFyIGY9U3RyaW5nKHVbMF0pO3NbY109ZixcIlwiPT09ZiYmKG8ubGFzdEluZGV4PXhpKGksdXQoby5sYXN0SW5kZXgpLGEpKSxjKyt9cmV0dXJuIDA9PT1jP251bGw6c31dfSk7dmFyIFJpPU1hdGgubWF4LE9pPU1hdGgubWluLGppPU1hdGguZmxvb3IsSWk9L1xcJChbJCYnYF18XFxkXFxkP3w8W14+XSo+KS9nLFBpPS9cXCQoWyQmJ2BdfFxcZFxcZD8pL2c7d2koXCJyZXBsYWNlXCIsMixmdW5jdGlvbih0LGUscixuKXt2YXIgbz1uLlJFR0VYUF9SRVBMQUNFX1NVQlNUSVRVVEVTX1VOREVGSU5FRF9DQVBUVVJFLGk9bi5SRVBMQUNFX0tFRVBTXyQwLGE9bz9cIiRcIjpcIiQwXCI7cmV0dXJuW2Z1bmN0aW9uKHIsbil7dmFyIG89ZCh0aGlzKSxpPW51bGw9PXI/dm9pZCAwOnJbdF07cmV0dXJuIHZvaWQgMCE9PWk/aS5jYWxsKHIsbyxuKTplLmNhbGwoU3RyaW5nKG8pLHIsbil9LGZ1bmN0aW9uKHQsbil7aWYoIW8mJml8fFwic3RyaW5nXCI9PXR5cGVvZiBuJiYtMT09PW4uaW5kZXhPZihhKSl7dmFyIHM9cihlLHQsdGhpcyxuKTtpZihzLmRvbmUpcmV0dXJuIHMudmFsdWV9dmFyIGM9Tyh0KSxmPVN0cmluZyh0aGlzKSxsPVwiZnVuY3Rpb25cIj09dHlwZW9mIG47bHx8KG49U3RyaW5nKG4pKTt2YXIgaD1jLmdsb2JhbDtpZihoKXt2YXIgcD1jLnVuaWNvZGU7Yy5sYXN0SW5kZXg9MH1mb3IodmFyIGQ9W107Oyl7dmFyIHY9QWkoYyxmKTtpZihudWxsPT09dilicmVhaztpZihkLnB1c2godiksIWgpYnJlYWs7XCJcIj09PVN0cmluZyh2WzBdKSYmKGMubGFzdEluZGV4PXhpKGYsdXQoYy5sYXN0SW5kZXgpLHApKX1mb3IodmFyIGcseT1cIlwiLG09MCxiPTA7YjxkLmxlbmd0aDtiKyspe3Y9ZFtiXTtmb3IodmFyIFM9U3RyaW5nKHZbMF0pLHc9UmkoT2koaXQodi5pbmRleCksZi5sZW5ndGgpLDApLEU9W10seD0xO3g8di5sZW5ndGg7eCsrKUUucHVzaCh2b2lkIDA9PT0oZz12W3hdKT9nOlN0cmluZyhnKSk7dmFyIEE9di5ncm91cHM7aWYobCl7dmFyIFI9W1NdLmNvbmNhdChFLHcsZik7dm9pZCAwIT09QSYmUi5wdXNoKEEpO3ZhciBqPVN0cmluZyhuLmFwcGx5KHZvaWQgMCxSKSl9ZWxzZSBqPXUoUyxmLHcsRSxBLG4pO3c+PW0mJih5Kz1mLnNsaWNlKG0sdykraixtPXcrUy5sZW5ndGgpfXJldHVybiB5K2Yuc2xpY2UobSl9XTtmdW5jdGlvbiB1KHQscixuLG8saSxhKXt2YXIgdT1uK3QubGVuZ3RoLHM9by5sZW5ndGgsYz1QaTtyZXR1cm4gdm9pZCAwIT09aSYmKGk9VHQoaSksYz1JaSksZS5jYWxsKGEsYyxmdW5jdGlvbihlLGEpe3ZhciBjO3N3aXRjaChhLmNoYXJBdCgwKSl7Y2FzZVwiJFwiOnJldHVyblwiJFwiO2Nhc2VcIiZcIjpyZXR1cm4gdDtjYXNlXCJgXCI6cmV0dXJuIHIuc2xpY2UoMCxuKTtjYXNlXCInXCI6cmV0dXJuIHIuc2xpY2UodSk7Y2FzZVwiPFwiOmM9aVthLnNsaWNlKDEsLTEpXTticmVhaztkZWZhdWx0OnZhciBmPSthO2lmKDA9PT1mKXJldHVybiBlO2lmKGY+cyl7dmFyIGw9amkoZi8xMCk7cmV0dXJuIDA9PT1sP2U6bDw9cz92b2lkIDA9PT1vW2wtMV0/YS5jaGFyQXQoMSk6b1tsLTFdK2EuY2hhckF0KDEpOmV9Yz1vW2YtMV19cmV0dXJuIHZvaWQgMD09PWM/XCJcIjpjfSl9fSksd2koXCJzZWFyY2hcIiwxLGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm5bZnVuY3Rpb24oZSl7dmFyIHI9ZCh0aGlzKSxuPW51bGw9PWU/dm9pZCAwOmVbdF07cmV0dXJuIHZvaWQgMCE9PW4/bi5jYWxsKGUscik6bmV3IFJlZ0V4cChlKVt0XShTdHJpbmcocikpfSxmdW5jdGlvbih0KXt2YXIgbj1yKGUsdCx0aGlzKTtpZihuLmRvbmUpcmV0dXJuIG4udmFsdWU7dmFyIG89Tyh0KSxpPVN0cmluZyh0aGlzKSxhPW8ubGFzdEluZGV4O1VuKGEsMCl8fChvLmxhc3RJbmRleD0wKTt2YXIgdT1BaShvLGkpO3JldHVybiBVbihvLmxhc3RJbmRleCxhKXx8KG8ubGFzdEluZGV4PWEpLG51bGw9PT11Py0xOnUuaW5kZXh9XX0pO3ZhciBUaT1bXS5wdXNoLGtpPU1hdGgubWluLExpPSFvKGZ1bmN0aW9uKCl7cmV0dXJuIVJlZ0V4cCg0Mjk0OTY3Mjk1LFwieVwiKX0pO3dpKFwic3BsaXRcIiwyLGZ1bmN0aW9uKHQsZSxyKXt2YXIgbjtyZXR1cm4gbj1cImNcIj09XCJhYmJjXCIuc3BsaXQoLyhiKSovKVsxXXx8NCE9XCJ0ZXN0XCIuc3BsaXQoLyg/OikvLC0xKS5sZW5ndGh8fDIhPVwiYWJcIi5zcGxpdCgvKD86YWIpKi8pLmxlbmd0aHx8NCE9XCIuXCIuc3BsaXQoLyguPykoLj8pLykubGVuZ3RofHxcIi5cIi5zcGxpdCgvKCkoKS8pLmxlbmd0aD4xfHxcIlwiLnNwbGl0KC8uPy8pLmxlbmd0aD9mdW5jdGlvbih0LHIpe3ZhciBuPVN0cmluZyhkKHRoaXMpKSxvPXZvaWQgMD09PXI/NDI5NDk2NzI5NTpyPj4+MDtpZigwPT09bylyZXR1cm5bXTtpZih2b2lkIDA9PT10KXJldHVybltuXTtpZighTm8odCkpcmV0dXJuIGUuY2FsbChuLHQsbyk7Zm9yKHZhciBpLGEsdSxzPVtdLGM9MCxmPW5ldyBSZWdFeHAodC5zb3VyY2UsKHQuaWdub3JlQ2FzZT9cImlcIjpcIlwiKSsodC5tdWx0aWxpbmU/XCJtXCI6XCJcIikrKHQudW5pY29kZT9cInVcIjpcIlwiKSsodC5zdGlja3k/XCJ5XCI6XCJcIikrXCJnXCIpOyhpPXNpLmNhbGwoZixuKSkmJiEoKGE9Zi5sYXN0SW5kZXgpPmMmJihzLnB1c2gobi5zbGljZShjLGkuaW5kZXgpKSxpLmxlbmd0aD4xJiZpLmluZGV4PG4ubGVuZ3RoJiZUaS5hcHBseShzLGkuc2xpY2UoMSkpLHU9aVswXS5sZW5ndGgsYz1hLHMubGVuZ3RoPj1vKSk7KWYubGFzdEluZGV4PT09aS5pbmRleCYmZi5sYXN0SW5kZXgrKztyZXR1cm4gYz09PW4ubGVuZ3RoPyF1JiZmLnRlc3QoXCJcIil8fHMucHVzaChcIlwiKTpzLnB1c2gobi5zbGljZShjKSkscy5sZW5ndGg+bz9zLnNsaWNlKDAsbyk6c306XCIwXCIuc3BsaXQodm9pZCAwLDApLmxlbmd0aD9mdW5jdGlvbih0LHIpe3JldHVybiB2b2lkIDA9PT10JiYwPT09cj9bXTplLmNhbGwodGhpcyx0LHIpfTplLFtmdW5jdGlvbihlLHIpe3ZhciBvPWQodGhpcyksaT1udWxsPT1lP3ZvaWQgMDplW3RdO3JldHVybiB2b2lkIDAhPT1pP2kuY2FsbChlLG8scik6bi5jYWxsKFN0cmluZyhvKSxlLHIpfSxmdW5jdGlvbih0LG8pe3ZhciBpPXIobix0LHRoaXMsbyxuIT09ZSk7aWYoaS5kb25lKXJldHVybiBpLnZhbHVlO3ZhciBhPU8odCksdT1TdHJpbmcodGhpcykscz1YcihhLFJlZ0V4cCksYz1hLnVuaWNvZGUsZj1uZXcgcyhMaT9hOlwiXig/OlwiK2Euc291cmNlK1wiKVwiLChhLmlnbm9yZUNhc2U/XCJpXCI6XCJcIikrKGEubXVsdGlsaW5lP1wibVwiOlwiXCIpKyhhLnVuaWNvZGU/XCJ1XCI6XCJcIikrKExpP1wieVwiOlwiZ1wiKSksbD12b2lkIDA9PT1vPzQyOTQ5NjcyOTU6bz4+PjA7aWYoMD09PWwpcmV0dXJuW107aWYoMD09PXUubGVuZ3RoKXJldHVybiBudWxsPT09QWkoZix1KT9bdV06W107Zm9yKHZhciBoPTAscD0wLGQ9W107cDx1Lmxlbmd0aDspe2YubGFzdEluZGV4PUxpP3A6MDt2YXIgdixnPUFpKGYsTGk/dTp1LnNsaWNlKHApKTtpZihudWxsPT09Z3x8KHY9a2kodXQoZi5sYXN0SW5kZXgrKExpPzA6cCkpLHUubGVuZ3RoKSk9PT1oKXA9eGkodSxwLGMpO2Vsc2V7aWYoZC5wdXNoKHUuc2xpY2UoaCxwKSksZC5sZW5ndGg9PT1sKXJldHVybiBkO2Zvcih2YXIgeT0xO3k8PWcubGVuZ3RoLTE7eSsrKWlmKGQucHVzaChnW3ldKSxkLmxlbmd0aD09PWwpcmV0dXJuIGQ7cD1oPXZ9fXJldHVybiBkLnB1c2godS5zbGljZShoKSksZH1dfSwhTGkpLFB0KHt0YXJnZXQ6XCJTZXRcIixzdGF0OiEwfSx7ZnJvbTpXcn0pLFB0KHt0YXJnZXQ6XCJTZXRcIixzdGF0OiEwfSx7b2Y6S3J9KTt2YXIgVWk9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9YXJndW1lbnRzLGU9Tyh0aGlzKSxyPVl0KGUuYWRkKSxuPTAsbz1hcmd1bWVudHMubGVuZ3RoO248bztuKyspci5jYWxsKGUsdFtuXSk7cmV0dXJuIGV9O1B0KHt0YXJnZXQ6XCJTZXRcIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDohMX0se2FkZEFsbDpmdW5jdGlvbigpe3JldHVybiBVaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSksUHQoe3RhcmdldDpcIlNldFwiLHByb3RvOiEwLHJlYWw6ITAsZm9yY2VkOiExfSx7ZGVsZXRlQWxsOmZ1bmN0aW9uKCl7cmV0dXJuIEdyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KTt2YXIgTWk9ZnVuY3Rpb24odCl7cmV0dXJuIFNldC5wcm90b3R5cGUudmFsdWVzLmNhbGwodCl9O1B0KHt0YXJnZXQ6XCJTZXRcIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDohMX0se2V2ZXJ5OmZ1bmN0aW9uKHQpe3ZhciBlPU8odGhpcykscj1NaShlKSxuPUp0KHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsMyk7cmV0dXJuIUVyKHIsZnVuY3Rpb24odCl7aWYoIW4odCx0LGUpKXJldHVybiBFci5zdG9wKCl9LHZvaWQgMCwhMSwhMCkuc3RvcHBlZH19KSxQdCh7dGFyZ2V0OlwiU2V0XCIscHJvdG86ITAscmVhbDohMCxmb3JjZWQ6ITF9LHtkaWZmZXJlbmNlOmZ1bmN0aW9uKHQpe3ZhciBlPU8odGhpcykscj1uZXcoWHIoZSxydChcIlNldFwiKSkpKGUpLG49WXQoci5kZWxldGUpO3JldHVybiBFcih0LGZ1bmN0aW9uKHQpe24uY2FsbChyLHQpfSkscn19KSxQdCh7dGFyZ2V0OlwiU2V0XCIscHJvdG86ITAscmVhbDohMCxmb3JjZWQ6ITF9LHtmaWx0ZXI6ZnVuY3Rpb24odCl7dmFyIGU9Tyh0aGlzKSxyPU1pKGUpLG49SnQodCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCwzKSxvPW5ldyhYcihlLHJ0KFwiU2V0XCIpKSksaT1ZdChvLmFkZCk7cmV0dXJuIEVyKHIsZnVuY3Rpb24odCl7bih0LHQsZSkmJmkuY2FsbChvLHQpfSx2b2lkIDAsITEsITApLG99fSksUHQoe3RhcmdldDpcIlNldFwiLHByb3RvOiEwLHJlYWw6ITAsZm9yY2VkOiExfSx7ZmluZDpmdW5jdGlvbih0KXt2YXIgZT1PKHRoaXMpLHI9TWkoZSksbj1KdCh0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLDMpO3JldHVybiBFcihyLGZ1bmN0aW9uKHQpe2lmKG4odCx0LGUpKXJldHVybiBFci5zdG9wKHQpfSx2b2lkIDAsITEsITApLnJlc3VsdH19KSxQdCh7dGFyZ2V0OlwiU2V0XCIscHJvdG86ITAscmVhbDohMCxmb3JjZWQ6ITF9LHtpbnRlcnNlY3Rpb246ZnVuY3Rpb24odCl7dmFyIGU9Tyh0aGlzKSxyPW5ldyhYcihlLHJ0KFwiU2V0XCIpKSksbj1ZdChlLmhhcyksbz1ZdChyLmFkZCk7cmV0dXJuIEVyKHQsZnVuY3Rpb24odCl7bi5jYWxsKGUsdCkmJm8uY2FsbChyLHQpfSkscn19KSxQdCh7dGFyZ2V0OlwiU2V0XCIscHJvdG86ITAscmVhbDohMCxmb3JjZWQ6ITF9LHtpc0Rpc2pvaW50RnJvbTpmdW5jdGlvbih0KXt2YXIgZT1PKHRoaXMpLHI9WXQoZS5oYXMpO3JldHVybiFFcih0LGZ1bmN0aW9uKHQpe2lmKCEwPT09ci5jYWxsKGUsdCkpcmV0dXJuIEVyLnN0b3AoKX0pLnN0b3BwZWR9fSksUHQoe3RhcmdldDpcIlNldFwiLHByb3RvOiEwLHJlYWw6ITAsZm9yY2VkOiExfSx7aXNTdWJzZXRPZjpmdW5jdGlvbih0KXt2YXIgZT0kcih0aGlzKSxyPU8odCksbj1yLmhhcztyZXR1cm5cImZ1bmN0aW9uXCIhPXR5cGVvZiBuJiYocj1uZXcocnQoXCJTZXRcIikpKHQpLG49WXQoci5oYXMpKSwhRXIoZSxmdW5jdGlvbih0KXtpZighMT09PW4uY2FsbChyLHQpKXJldHVybiBFci5zdG9wKCl9LHZvaWQgMCwhMSwhMCkuc3RvcHBlZH19KSxQdCh7dGFyZ2V0OlwiU2V0XCIscHJvdG86ITAscmVhbDohMCxmb3JjZWQ6ITF9LHtpc1N1cGVyc2V0T2Y6ZnVuY3Rpb24odCl7dmFyIGU9Tyh0aGlzKSxyPVl0KGUuaGFzKTtyZXR1cm4hRXIodCxmdW5jdGlvbih0KXtpZighMT09PXIuY2FsbChlLHQpKXJldHVybiBFci5zdG9wKCl9KS5zdG9wcGVkfX0pLFB0KHt0YXJnZXQ6XCJTZXRcIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDohMX0se2pvaW46ZnVuY3Rpb24odCl7dmFyIGU9Tyh0aGlzKSxyPU1pKGUpLG49dm9pZCAwPT09dD9cIixcIjpTdHJpbmcodCksbz1bXTtyZXR1cm4gRXIocixvLnB1c2gsbywhMSwhMCksby5qb2luKG4pfX0pLFB0KHt0YXJnZXQ6XCJTZXRcIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDohMX0se21hcDpmdW5jdGlvbih0KXt2YXIgZT1PKHRoaXMpLHI9TWkoZSksbj1KdCh0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLDMpLG89bmV3KFhyKGUscnQoXCJTZXRcIikpKSxpPVl0KG8uYWRkKTtyZXR1cm4gRXIocixmdW5jdGlvbih0KXtpLmNhbGwobyxuKHQsdCxlKSl9LHZvaWQgMCwhMSwhMCksb319KSxQdCh7dGFyZ2V0OlwiU2V0XCIscHJvdG86ITAscmVhbDohMCxmb3JjZWQ6ITF9LHtyZWR1Y2U6ZnVuY3Rpb24odCl7dmFyIGU9Tyh0aGlzKSxyPU1pKGUpLG49YXJndW1lbnRzLmxlbmd0aDwyLG89bj92b2lkIDA6YXJndW1lbnRzWzFdO2lmKFl0KHQpLEVyKHIsZnVuY3Rpb24ocil7bj8obj0hMSxvPXIpOm89dChvLHIscixlKX0sdm9pZCAwLCExLCEwKSxuKXRocm93IFR5cGVFcnJvcihcIlJlZHVjZSBvZiBlbXB0eSBzZXQgd2l0aCBubyBpbml0aWFsIHZhbHVlXCIpO3JldHVybiBvfX0pLFB0KHt0YXJnZXQ6XCJTZXRcIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDohMX0se3NvbWU6ZnVuY3Rpb24odCl7dmFyIGU9Tyh0aGlzKSxyPU1pKGUpLG49SnQodCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCwzKTtyZXR1cm4gRXIocixmdW5jdGlvbih0KXtpZihuKHQsdCxlKSlyZXR1cm4gRXIuc3RvcCgpfSx2b2lkIDAsITEsITApLnN0b3BwZWR9fSksUHQoe3RhcmdldDpcIlNldFwiLHByb3RvOiEwLHJlYWw6ITAsZm9yY2VkOiExfSx7c3ltbWV0cmljRGlmZmVyZW5jZTpmdW5jdGlvbih0KXt2YXIgZT1PKHRoaXMpLHI9bmV3KFhyKGUscnQoXCJTZXRcIikpKShlKSxuPVl0KHIuZGVsZXRlKSxvPVl0KHIuYWRkKTtyZXR1cm4gRXIodCxmdW5jdGlvbih0KXtuLmNhbGwocix0KXx8by5jYWxsKHIsdCl9KSxyfX0pLFB0KHt0YXJnZXQ6XCJTZXRcIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDohMX0se3VuaW9uOmZ1bmN0aW9uKHQpe3ZhciBlPU8odGhpcykscj1uZXcoWHIoZSxydChcIlNldFwiKSkpKGUpO3JldHVybiBFcih0LFl0KHIuYWRkKSxyKSxyfX0pO3ZhciBfaSxOaSxDaT1ydChcIm5hdmlnYXRvclwiLFwidXNlckFnZW50XCIpfHxcIlwiLEZpPW4ucHJvY2VzcyxCaT1GaSYmRmkudmVyc2lvbnMsRGk9QmkmJkJpLnY4O0RpP05pPShfaT1EaS5zcGxpdChcIi5cIikpWzBdK19pWzFdOkNpJiYoIShfaT1DaS5tYXRjaCgvRWRnZVxcLyhcXGQrKS8pKXx8X2lbMV0+PTc0KSYmKF9pPUNpLm1hdGNoKC9DaHJvbWVcXC8oXFxkKykvKSkmJihOaT1faVsxXSk7dmFyIHFpPU5pJiYrTmksemk9RnQoXCJzcGVjaWVzXCIpLFdpPUZ0KFwiaXNDb25jYXRTcHJlYWRhYmxlXCIpLEtpPXFpPj01MXx8IW8oZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdFtXaV09ITEsdC5jb25jYXQoKVswXSE9PXR9KSxHaT1xaT49NTF8fCFvKGZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuKHQuY29uc3RydWN0b3I9e30pW3ppXT1mdW5jdGlvbigpe3JldHVybntmb286MX19LDEhPT10LmNvbmNhdChCb29sZWFuKS5mb299KSwkaT1mdW5jdGlvbih0KXtpZighZyh0KSlyZXR1cm4hMTt2YXIgZT10W1dpXTtyZXR1cm4gdm9pZCAwIT09ZT8hIWU6dGUodCl9O1B0KHt0YXJnZXQ6XCJBcnJheVwiLHByb3RvOiEwLGZvcmNlZDohS2l8fCFHaX0se2NvbmNhdDpmdW5jdGlvbih0KXt2YXIgZSxyLG4sbyxpLGE9YXJndW1lbnRzLHU9VHQodGhpcykscz1yZSh1LDApLGM9MDtmb3IoZT0tMSxuPWFyZ3VtZW50cy5sZW5ndGg7ZTxuO2UrKylpZigkaShpPS0xPT09ZT91OmFbZV0pKXtpZihjKyhvPXV0KGkubGVuZ3RoKSk+OTAwNzE5OTI1NDc0MDk5MSl0aHJvdyBUeXBlRXJyb3IoXCJNYXhpbXVtIGFsbG93ZWQgaW5kZXggZXhjZWVkZWRcIik7Zm9yKHI9MDtyPG87cisrLGMrKylyIGluIGkmJkplKHMsYyxpW3JdKX1lbHNle2lmKGM+PTkwMDcxOTkyNTQ3NDA5OTEpdGhyb3cgVHlwZUVycm9yKFwiTWF4aW11bSBhbGxvd2VkIGluZGV4IGV4Y2VlZGVkXCIpO0plKHMsYysrLGkpfXJldHVybiBzLmxlbmd0aD1jLHN9fSk7dmFyIFZpPXl0LmYsSGk9e30udG9TdHJpbmcsWGk9XCJvYmplY3RcIj09dHlwZW9mIHdpbmRvdyYmd2luZG93JiZPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcz9PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3aW5kb3cpOltdLFlpPXtmOmZ1bmN0aW9uKHQpe3JldHVybiBYaSYmXCJbb2JqZWN0IFdpbmRvd11cIj09SGkuY2FsbCh0KT9mdW5jdGlvbih0KXt0cnl7cmV0dXJuIFZpKHQpfWNhdGNoKHQpe3JldHVybiBYaS5zbGljZSgpfX0odCk6Vmkodih0KSl9fSxKaT17ZjpGdH0sUWk9SS5mLFppPWZ1bmN0aW9uKHQpe3ZhciBlPXR0LlN5bWJvbHx8KHR0LlN5bWJvbD17fSk7YihlLHQpfHxRaShlLHQse3ZhbHVlOkppLmYodCl9KX0sdGE9aWUuZm9yRWFjaCxlYT1LKFwiaGlkZGVuXCIpLHJhPUZ0KFwidG9QcmltaXRpdmVcIiksbmE9US5zZXQsb2E9US5nZXR0ZXJGb3IoXCJTeW1ib2xcIiksaWE9T2JqZWN0LnByb3RvdHlwZSxhYT1uLlN5bWJvbCx1YT1ydChcIkpTT05cIixcInN0cmluZ2lmeVwiKSxzYT1SLmYsY2E9SS5mLGZhPVlpLmYsbGE9cy5mLGhhPUIoXCJzeW1ib2xzXCIpLHBhPUIoXCJvcC1zeW1ib2xzXCIpLGRhPUIoXCJzdHJpbmctdG8tc3ltYm9sLXJlZ2lzdHJ5XCIpLHZhPUIoXCJzeW1ib2wtdG8tc3RyaW5nLXJlZ2lzdHJ5XCIpLGdhPUIoXCJ3a3NcIikseWE9bi5RT2JqZWN0LG1hPSF5YXx8IXlhLnByb3RvdHlwZXx8IXlhLnByb3RvdHlwZS5maW5kQ2hpbGQsYmE9aSYmbyhmdW5jdGlvbigpe3JldHVybiA3IT0kdChjYSh7fSxcImFcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNhKHRoaXMsXCJhXCIse3ZhbHVlOjd9KS5hfX0pKS5hfSk/ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXNhKGlhLGUpO24mJmRlbGV0ZSBpYVtlXSxjYSh0LGUsciksbiYmdCE9PWlhJiZjYShpYSxlLG4pfTpjYSxTYT1mdW5jdGlvbih0LGUpe3ZhciByPWhhW3RdPSR0KGFhLnByb3RvdHlwZSk7cmV0dXJuIG5hKHIse3R5cGU6XCJTeW1ib2xcIix0YWc6dCxkZXNjcmlwdGlvbjplfSksaXx8KHIuZGVzY3JpcHRpb249ZSkscn0sd2E9TXQ/ZnVuY3Rpb24odCl7cmV0dXJuXCJzeW1ib2xcIj09dHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QodClpbnN0YW5jZW9mIGFhfSxFYT1mdW5jdGlvbih0LGUscil7dD09PWlhJiZFYShwYSxlLHIpLE8odCk7dmFyIG49eShlLCEwKTtyZXR1cm4gTyhyKSxiKGhhLG4pPyhyLmVudW1lcmFibGU/KGIodCxlYSkmJnRbZWFdW25dJiYodFtlYV1bbl09ITEpLHI9JHQocix7ZW51bWVyYWJsZTpjKDAsITEpfSkpOihiKHQsZWEpfHxjYSh0LGVhLGMoMSx7fSkpLHRbZWFdW25dPSEwKSxiYSh0LG4scikpOmNhKHQsbixyKX0seGE9ZnVuY3Rpb24odCxlKXtPKHQpO3ZhciByPXYoZSksbj1CdChyKS5jb25jYXQoamEocikpO3JldHVybiB0YShuLGZ1bmN0aW9uKGUpe2kmJiFBYS5jYWxsKHIsZSl8fEVhKHQsZSxyW2VdKX0pLHR9LEFhPWZ1bmN0aW9uKHQpe3ZhciBlPXkodCwhMCkscj1sYS5jYWxsKHRoaXMsZSk7cmV0dXJuISh0aGlzPT09aWEmJmIoaGEsZSkmJiFiKHBhLGUpKSYmKCEocnx8IWIodGhpcyxlKXx8IWIoaGEsZSl8fGIodGhpcyxlYSkmJnRoaXNbZWFdW2VdKXx8cil9LFJhPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dih0KSxuPXkoZSwhMCk7aWYociE9PWlhfHwhYihoYSxuKXx8YihwYSxuKSl7dmFyIG89c2EocixuKTtyZXR1cm4hb3x8IWIoaGEsbil8fGIocixlYSkmJnJbZWFdW25dfHwoby5lbnVtZXJhYmxlPSEwKSxvfX0sT2E9ZnVuY3Rpb24odCl7dmFyIGU9ZmEodih0KSkscj1bXTtyZXR1cm4gdGEoZSxmdW5jdGlvbih0KXtiKGhhLHQpfHxiKEcsdCl8fHIucHVzaCh0KX0pLHJ9LGphPWZ1bmN0aW9uKHQpe3ZhciBlPXQ9PT1pYSxyPWZhKGU/cGE6dih0KSksbj1bXTtyZXR1cm4gdGEocixmdW5jdGlvbih0KXshYihoYSx0KXx8ZSYmIWIoaWEsdCl8fG4ucHVzaChoYVt0XSl9KSxufTtpZihVdHx8KFooKGFhPWZ1bmN0aW9uKCl7aWYodGhpcyBpbnN0YW5jZW9mIGFhKXRocm93IFR5cGVFcnJvcihcIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvclwiKTt2YXIgdD1hcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/U3RyaW5nKGFyZ3VtZW50c1swXSk6dm9pZCAwLGU9eih0KSxyPWZ1bmN0aW9uKHQpe3RoaXM9PT1pYSYmci5jYWxsKHBhLHQpLGIodGhpcyxlYSkmJmIodGhpc1tlYV0sZSkmJih0aGlzW2VhXVtlXT0hMSksYmEodGhpcyxlLGMoMSx0KSl9O3JldHVybiBpJiZtYSYmYmEoaWEsZSx7Y29uZmlndXJhYmxlOiEwLHNldDpyfSksU2EoZSx0KX0pLnByb3RvdHlwZSxcInRvU3RyaW5nXCIsZnVuY3Rpb24oKXtyZXR1cm4gb2EodGhpcykudGFnfSksWihhYSxcIndpdGhvdXRTZXR0ZXJcIixmdW5jdGlvbih0KXtyZXR1cm4gU2Eoeih0KSx0KX0pLHMuZj1BYSxJLmY9RWEsUi5mPVJhLHl0LmY9WWkuZj1PYSxtdC5mPWphLEppLmY9ZnVuY3Rpb24odCl7cmV0dXJuIFNhKEZ0KHQpLHQpfSxpJiYoY2EoYWEucHJvdG90eXBlLFwiZGVzY3JpcHRpb25cIix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvYSh0aGlzKS5kZXNjcmlwdGlvbn19KSxaKGlhLFwicHJvcGVydHlJc0VudW1lcmFibGVcIixBYSx7dW5zYWZlOiEwfSkpKSxQdCh7Z2xvYmFsOiEwLHdyYXA6ITAsZm9yY2VkOiFVdCxzaGFtOiFVdH0se1N5bWJvbDphYX0pLHRhKEJ0KGdhKSxmdW5jdGlvbih0KXtaaSh0KX0pLFB0KHt0YXJnZXQ6XCJTeW1ib2xcIixzdGF0OiEwLGZvcmNlZDohVXR9LHtmb3I6ZnVuY3Rpb24odCl7dmFyIGU9U3RyaW5nKHQpO2lmKGIoZGEsZSkpcmV0dXJuIGRhW2VdO3ZhciByPWFhKGUpO3JldHVybiBkYVtlXT1yLHZhW3JdPWUscn0sa2V5Rm9yOmZ1bmN0aW9uKHQpe2lmKCF3YSh0KSl0aHJvdyBUeXBlRXJyb3IodCtcIiBpcyBub3QgYSBzeW1ib2xcIik7aWYoYih2YSx0KSlyZXR1cm4gdmFbdF19LHVzZVNldHRlcjpmdW5jdGlvbigpe21hPSEwfSx1c2VTaW1wbGU6ZnVuY3Rpb24oKXttYT0hMX19KSxQdCh7dGFyZ2V0OlwiT2JqZWN0XCIsc3RhdDohMCxmb3JjZWQ6IVV0LHNoYW06IWl9LHtjcmVhdGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdm9pZCAwPT09ZT8kdCh0KTp4YSgkdCh0KSxlKX0sZGVmaW5lUHJvcGVydHk6RWEsZGVmaW5lUHJvcGVydGllczp4YSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6UmF9KSxQdCh7dGFyZ2V0OlwiT2JqZWN0XCIsc3RhdDohMCxmb3JjZWQ6IVV0fSx7Z2V0T3duUHJvcGVydHlOYW1lczpPYSxnZXRPd25Qcm9wZXJ0eVN5bWJvbHM6amF9KSxQdCh7dGFyZ2V0OlwiT2JqZWN0XCIsc3RhdDohMCxmb3JjZWQ6byhmdW5jdGlvbigpe210LmYoMSl9KX0se2dldE93blByb3BlcnR5U3ltYm9sczpmdW5jdGlvbih0KXtyZXR1cm4gbXQuZihUdCh0KSl9fSksdWEpe3ZhciBJYT0hVXR8fG8oZnVuY3Rpb24oKXt2YXIgdD1hYSgpO3JldHVyblwiW251bGxdXCIhPXVhKFt0XSl8fFwie31cIiE9dWEoe2E6dH0pfHxcInt9XCIhPXVhKE9iamVjdCh0KSl9KTtQdCh7dGFyZ2V0OlwiSlNPTlwiLHN0YXQ6ITAsZm9yY2VkOklhfSx7c3RyaW5naWZ5OmZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG4sbz1hcmd1bWVudHMsaT1bdF0sYT0xO2FyZ3VtZW50cy5sZW5ndGg+YTspaS5wdXNoKG9bYSsrXSk7aWYobj1lLChnKGUpfHx2b2lkIDAhPT10KSYmIXdhKHQpKXJldHVybiB0ZShlKXx8KGU9ZnVuY3Rpb24odCxlKXtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBuJiYoZT1uLmNhbGwodGhpcyx0LGUpKSwhd2EoZSkpcmV0dXJuIGV9KSxpWzFdPWUsdWEuYXBwbHkobnVsbCxpKX19KX1hYS5wcm90b3R5cGVbcmFdfHxQKGFhLnByb3RvdHlwZSxyYSxhYS5wcm90b3R5cGUudmFsdWVPZiksTGUoYWEsXCJTeW1ib2xcIiksR1tlYV09ITAsWmkoXCJhc3luY0l0ZXJhdG9yXCIpO3ZhciBQYT1JLmYsVGE9bi5TeW1ib2w7aWYoaSYmXCJmdW5jdGlvblwiPT10eXBlb2YgVGEmJighKFwiZGVzY3JpcHRpb25cImluIFRhLnByb3RvdHlwZSl8fHZvaWQgMCE9PVRhKCkuZGVzY3JpcHRpb24pKXt2YXIga2E9e30sTGE9ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPDF8fHZvaWQgMD09PWFyZ3VtZW50c1swXT92b2lkIDA6U3RyaW5nKGFyZ3VtZW50c1swXSksZT10aGlzIGluc3RhbmNlb2YgTGE/bmV3IFRhKHQpOnZvaWQgMD09PXQ/VGEoKTpUYSh0KTtyZXR1cm5cIlwiPT09dCYmKGthW2VdPSEwKSxlfTtTdChMYSxUYSk7dmFyIFVhPUxhLnByb3RvdHlwZT1UYS5wcm90b3R5cGU7VWEuY29uc3RydWN0b3I9TGE7dmFyIE1hPVVhLnRvU3RyaW5nLF9hPVwiU3ltYm9sKHRlc3QpXCI9PVN0cmluZyhUYShcInRlc3RcIikpLE5hPS9eU3ltYm9sXFwoKC4qKVxcKVteKV0rJC87UGEoVWEsXCJkZXNjcmlwdGlvblwiLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7dmFyIHQ9Zyh0aGlzKT90aGlzLnZhbHVlT2YoKTp0aGlzLGU9TWEuY2FsbCh0KTtpZihiKGthLHQpKXJldHVyblwiXCI7dmFyIHI9X2E/ZS5zbGljZSg3LC0xKTplLnJlcGxhY2UoTmEsXCIkMVwiKTtyZXR1cm5cIlwiPT09cj92b2lkIDA6cn19KSxQdCh7Z2xvYmFsOiEwLGZvcmNlZDohMH0se1N5bWJvbDpMYX0pfVppKFwiaGFzSW5zdGFuY2VcIiksWmkoXCJpc0NvbmNhdFNwcmVhZGFibGVcIiksWmkoXCJpdGVyYXRvclwiKSxaaShcIm1hdGNoXCIpLFppKFwibWF0Y2hBbGxcIiksWmkoXCJyZXBsYWNlXCIpLFppKFwic2VhcmNoXCIpLFppKFwic3BlY2llc1wiKSxaaShcInNwbGl0XCIpLFppKFwidG9QcmltaXRpdmVcIiksWmkoXCJ0b1N0cmluZ1RhZ1wiKSxaaShcInVuc2NvcGFibGVzXCIpLExlKE1hdGgsXCJNYXRoXCIsITApLExlKG4uSlNPTixcIkpTT05cIiwhMCksWmkoXCJhc3luY0Rpc3Bvc2VcIiksWmkoXCJkaXNwb3NlXCIpLFppKFwib2JzZXJ2YWJsZVwiKSxaaShcInBhdHRlcm5NYXRjaFwiKSxaaShcInJlcGxhY2VBbGxcIiksSmkuZihcImFzeW5jSXRlcmF0b3JcIik7dmFyIENhPUVlLmNvZGVBdDtQdCh7dGFyZ2V0OlwiU3RyaW5nXCIscHJvdG86ITB9LHtjb2RlUG9pbnRBdDpmdW5jdGlvbih0KXtyZXR1cm4gQ2EodGhpcyx0KX19KSxadChcIlN0cmluZ1wiLFwiY29kZVBvaW50QXRcIik7dmFyIEZhLEJhPWZ1bmN0aW9uKHQpe2lmKE5vKHQpKXRocm93IFR5cGVFcnJvcihcIlRoZSBtZXRob2QgZG9lc24ndCBhY2NlcHQgcmVndWxhciBleHByZXNzaW9uc1wiKTtyZXR1cm4gdH0sRGE9RnQoXCJtYXRjaFwiKSxxYT1mdW5jdGlvbih0KXt2YXIgZT0vLi87dHJ5e1wiLy4vXCJbdF0oZSl9Y2F0Y2gocil7dHJ5e3JldHVybiBlW0RhXT0hMSxcIi8uL1wiW3RdKGUpfWNhdGNoKHQpe319cmV0dXJuITF9LHphPVIuZixXYT1cIlwiLmVuZHNXaXRoLEthPU1hdGgubWluLEdhPXFhKFwiZW5kc1dpdGhcIiksJGE9IShHYXx8KEZhPXphKFN0cmluZy5wcm90b3R5cGUsXCJlbmRzV2l0aFwiKSwhRmF8fEZhLndyaXRhYmxlKSk7UHQoe3RhcmdldDpcIlN0cmluZ1wiLHByb3RvOiEwLGZvcmNlZDohJGEmJiFHYX0se2VuZHNXaXRoOmZ1bmN0aW9uKHQpe3ZhciBlPVN0cmluZyhkKHRoaXMpKTtCYSh0KTt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCxuPXV0KGUubGVuZ3RoKSxvPXZvaWQgMD09PXI/bjpLYSh1dChyKSxuKSxpPVN0cmluZyh0KTtyZXR1cm4gV2E/V2EuY2FsbChlLGksbyk6ZS5zbGljZShvLWkubGVuZ3RoLG8pPT09aX19KSxadChcIlN0cmluZ1wiLFwiZW5kc1dpdGhcIik7dmFyIFZhPVN0cmluZy5mcm9tQ2hhckNvZGUsSGE9U3RyaW5nLmZyb21Db2RlUG9pbnQ7UHQoe3RhcmdldDpcIlN0cmluZ1wiLHN0YXQ6ITAsZm9yY2VkOiEhSGEmJjEhPUhhLmxlbmd0aH0se2Zyb21Db2RlUG9pbnQ6ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9YXJndW1lbnRzLG49W10sbz1hcmd1bWVudHMubGVuZ3RoLGk9MDtvPmk7KXtpZihlPStyW2krK10sZnQoZSwxMTE0MTExKSE9PWUpdGhyb3cgUmFuZ2VFcnJvcihlK1wiIGlzIG5vdCBhIHZhbGlkIGNvZGUgcG9pbnRcIik7bi5wdXNoKGU8NjU1MzY/VmEoZSk6VmEoNTUyOTYrKChlLT02NTUzNik+PjEwKSxlJTEwMjQrNTYzMjApKX1yZXR1cm4gbi5qb2luKFwiXCIpfX0pLFB0KHt0YXJnZXQ6XCJTdHJpbmdcIixwcm90bzohMCxmb3JjZWQ6IXFhKFwiaW5jbHVkZXNcIil9LHtpbmNsdWRlczpmdW5jdGlvbih0KXtyZXR1cm4hIX5TdHJpbmcoZCh0aGlzKSkuaW5kZXhPZihCYSh0KSxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSksWnQoXCJTdHJpbmdcIixcImluY2x1ZGVzXCIpO3ZhciBYYT1cIlwiLnJlcGVhdHx8ZnVuY3Rpb24odCl7dmFyIGU9U3RyaW5nKGQodGhpcykpLHI9XCJcIixuPWl0KHQpO2lmKG48MHx8SW5maW5pdHk9PW4pdGhyb3cgUmFuZ2VFcnJvcihcIldyb25nIG51bWJlciBvZiByZXBldGl0aW9uc1wiKTtmb3IoO24+MDsobj4+Pj0xKSYmKGUrPWUpKTEmbiYmKHIrPWUpO3JldHVybiByfSxZYT1NYXRoLmNlaWwsSmE9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUscixuKXt2YXIgbyxpLGE9U3RyaW5nKGQoZSkpLHU9YS5sZW5ndGgscz12b2lkIDA9PT1uP1wiIFwiOlN0cmluZyhuKSxjPXV0KHIpO3JldHVybiBjPD11fHxcIlwiPT1zP2E6KChpPVhhLmNhbGwocyxZYSgobz1jLXUpL3MubGVuZ3RoKSkpLmxlbmd0aD5vJiYoaT1pLnNsaWNlKDAsbykpLHQ/YStpOmkrYSl9fSxRYT17c3RhcnQ6SmEoITEpLGVuZDpKYSghMCl9LFphPS9WZXJzaW9uXFwvMTBcXC5cXGQrKFxcLlxcZCspPyggTW9iaWxlXFwvXFx3Kyk/IFNhZmFyaVxcLy8udGVzdChDaSksdHU9UWEuc3RhcnQ7UHQoe3RhcmdldDpcIlN0cmluZ1wiLHByb3RvOiEwLGZvcmNlZDpaYX0se3BhZFN0YXJ0OmZ1bmN0aW9uKHQpe3JldHVybiB0dSh0aGlzLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfX0pLFp0KFwiU3RyaW5nXCIsXCJwYWRTdGFydFwiKTt2YXIgZXU9UWEuZW5kO1B0KHt0YXJnZXQ6XCJTdHJpbmdcIixwcm90bzohMCxmb3JjZWQ6WmF9LHtwYWRFbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIGV1KHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSksWnQoXCJTdHJpbmdcIixcInBhZEVuZFwiKSxQdCh7dGFyZ2V0OlwiU3RyaW5nXCIsc3RhdDohMH0se3JhdzpmdW5jdGlvbih0KXtmb3IodmFyIGU9YXJndW1lbnRzLHI9dih0LnJhdyksbj11dChyLmxlbmd0aCksbz1hcmd1bWVudHMubGVuZ3RoLGk9W10sYT0wO24+YTspaS5wdXNoKFN0cmluZyhyW2ErK10pKSxhPG8mJmkucHVzaChTdHJpbmcoZVthXSkpO3JldHVybiBpLmpvaW4oXCJcIil9fSksUHQoe3RhcmdldDpcIlN0cmluZ1wiLHByb3RvOiEwfSx7cmVwZWF0OlhhfSksWnQoXCJTdHJpbmdcIixcInJlcGVhdFwiKTt2YXIgcnU9Ui5mLG51PVwiXCIuc3RhcnRzV2l0aCxvdT1NYXRoLm1pbixpdT1xYShcInN0YXJ0c1dpdGhcIiksYXU9IWl1JiYhIWZ1bmN0aW9uKCl7dmFyIHQ9cnUoU3RyaW5nLnByb3RvdHlwZSxcInN0YXJ0c1dpdGhcIik7cmV0dXJuIHQmJiF0LndyaXRhYmxlfSgpO1B0KHt0YXJnZXQ6XCJTdHJpbmdcIixwcm90bzohMCxmb3JjZWQ6IWF1JiYhaXV9LHtzdGFydHNXaXRoOmZ1bmN0aW9uKHQpe3ZhciBlPVN0cmluZyhkKHRoaXMpKTtCYSh0KTt2YXIgcj11dChvdShhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCxlLmxlbmd0aCkpLG49U3RyaW5nKHQpO3JldHVybiBudT9udS5jYWxsKGUsbixyKTplLnNsaWNlKHIscituLmxlbmd0aCk9PT1ufX0pLFp0KFwiU3RyaW5nXCIsXCJzdGFydHNXaXRoXCIpO3ZhciB1dT1mdW5jdGlvbih0KXtyZXR1cm4gbyhmdW5jdGlvbigpe3JldHVybiEhSnJbdF0oKXx8XCLigIvCheGgjlwiIT1cIuKAi8KF4aCOXCJbdF0oKXx8SnJbdF0ubmFtZSE9PXR9KX0sc3U9cm4uc3RhcnQsY3U9dXUoXCJ0cmltU3RhcnRcIiksZnU9Y3U/ZnVuY3Rpb24oKXtyZXR1cm4gc3UodGhpcyl9OlwiXCIudHJpbVN0YXJ0O1B0KHt0YXJnZXQ6XCJTdHJpbmdcIixwcm90bzohMCxmb3JjZWQ6Y3V9LHt0cmltU3RhcnQ6ZnUsdHJpbUxlZnQ6ZnV9KSxadChcIlN0cmluZ1wiLFwidHJpbUxlZnRcIik7dmFyIGx1PXJuLmVuZCxodT11dShcInRyaW1FbmRcIikscHU9aHU/ZnVuY3Rpb24oKXtyZXR1cm4gbHUodGhpcyl9OlwiXCIudHJpbUVuZDtQdCh7dGFyZ2V0OlwiU3RyaW5nXCIscHJvdG86ITAsZm9yY2VkOmh1fSx7dHJpbUVuZDpwdSx0cmltUmlnaHQ6cHV9KSxadChcIlN0cmluZ1wiLFwidHJpbVJpZ2h0XCIpO3ZhciBkdT1GdChcIml0ZXJhdG9yXCIpLHZ1PSFvKGZ1bmN0aW9uKCl7dmFyIHQ9bmV3IFVSTChcImI/YT0xJmI9MiZjPTNcIixcImh0dHA6Ly9hXCIpLGU9dC5zZWFyY2hQYXJhbXMscj1cIlwiO3JldHVybiB0LnBhdGhuYW1lPVwiYyUyMGRcIixlLmZvckVhY2goZnVuY3Rpb24odCxuKXtlLmRlbGV0ZShcImJcIikscis9bit0fSksIWUuc29ydHx8XCJodHRwOi8vYS9jJTIwZD9hPTEmYz0zXCIhPT10LmhyZWZ8fFwiM1wiIT09ZS5nZXQoXCJjXCIpfHxcImE9MVwiIT09U3RyaW5nKG5ldyBVUkxTZWFyY2hQYXJhbXMoXCI/YT0xXCIpKXx8IWVbZHVdfHxcImFcIiE9PW5ldyBVUkwoXCJodHRwczovL2FAYlwiKS51c2VybmFtZXx8XCJiXCIhPT1uZXcgVVJMU2VhcmNoUGFyYW1zKG5ldyBVUkxTZWFyY2hQYXJhbXMoXCJhPWJcIikpLmdldChcImFcIil8fFwieG4tLWUxYXliY1wiIT09bmV3IFVSTChcImh0dHA6Ly/RgtC10YHRglwiKS5ob3N0fHxcIiMlRDAlQjFcIiE9PW5ldyBVUkwoXCJodHRwOi8vYSPQsVwiKS5oYXNofHxcImExYzNcIiE9PXJ8fFwieFwiIT09bmV3IFVSTChcImh0dHA6Ly94XCIsdm9pZCAwKS5ob3N0fSksZ3U9T2JqZWN0LmFzc2lnbix5dT1PYmplY3QuZGVmaW5lUHJvcGVydHksbXU9IWd1fHxvKGZ1bmN0aW9uKCl7aWYoaSYmMSE9PWd1KHtiOjF9LGd1KHl1KHt9LFwiYVwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3l1KHRoaXMsXCJiXCIse3ZhbHVlOjMsZW51bWVyYWJsZTohMX0pfX0pLHtiOjJ9KSkuYilyZXR1cm4hMDt2YXIgdD17fSxlPXt9LHI9U3ltYm9sKCk7cmV0dXJuIHRbcl09NyxcImFiY2RlZmdoaWprbG1ub3BxcnN0XCIuc3BsaXQoXCJcIikuZm9yRWFjaChmdW5jdGlvbih0KXtlW3RdPXR9KSw3IT1ndSh7fSx0KVtyXXx8XCJhYmNkZWZnaGlqa2xtbm9wcXJzdFwiIT1CdChndSh7fSxlKSkuam9pbihcIlwiKX0pP2Z1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWFyZ3VtZW50cyxuPVR0KHQpLG89YXJndW1lbnRzLmxlbmd0aCxhPTEsdT1tdC5mLGM9cy5mO28+YTspZm9yKHZhciBmLGw9cChyW2ErK10pLGg9dT9CdChsKS5jb25jYXQodShsKSk6QnQobCksZD1oLmxlbmd0aCx2PTA7ZD52OylmPWhbdisrXSxpJiYhYy5jYWxsKGwsZil8fChuW2ZdPWxbZl0pO3JldHVybiBufTpndSxidT0vW15cXDAtXFx1MDA3RV0vLFN1PS9bLlxcdTMwMDJcXHVGRjBFXFx1RkY2MV0vZyx3dT1cIk92ZXJmbG93OiBpbnB1dCBuZWVkcyB3aWRlciBpbnRlZ2VycyB0byBwcm9jZXNzXCIsRXU9TWF0aC5mbG9vcix4dT1TdHJpbmcuZnJvbUNoYXJDb2RlLEF1PWZ1bmN0aW9uKHQpe3JldHVybiB0KzIyKzc1Kih0PDI2KX0sUnU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPTA7Zm9yKHQ9cj9FdSh0LzcwMCk6dD4+MSx0Kz1FdSh0L2UpO3Q+NDU1O24rPTM2KXQ9RXUodC8zNSk7cmV0dXJuIEV1KG4rMzYqdC8odCszOCkpfSxPdT1mdW5jdGlvbih0KXt2YXIgZSxyLG49W10sbz0odD1mdW5jdGlvbih0KXtmb3IodmFyIGU9W10scj0wLG49dC5sZW5ndGg7cjxuOyl7dmFyIG89dC5jaGFyQ29kZUF0KHIrKyk7aWYobz49NTUyOTYmJm88PTU2MzE5JiZyPG4pe3ZhciBpPXQuY2hhckNvZGVBdChyKyspOzU2MzIwPT0oNjQ1MTImaSk/ZS5wdXNoKCgoMTAyMyZvKTw8MTApKygxMDIzJmkpKzY1NTM2KTooZS5wdXNoKG8pLHItLSl9ZWxzZSBlLnB1c2gobyl9cmV0dXJuIGV9KHQpKS5sZW5ndGgsaT0xMjgsYT0wLHU9NzI7Zm9yKGU9MDtlPHQubGVuZ3RoO2UrKykocj10W2VdKTwxMjgmJm4ucHVzaCh4dShyKSk7dmFyIHM9bi5sZW5ndGgsYz1zO2ZvcihzJiZuLnB1c2goXCItXCIpO2M8bzspe3ZhciBmPTIxNDc0ODM2NDc7Zm9yKGU9MDtlPHQubGVuZ3RoO2UrKykocj10W2VdKT49aSYmcjxmJiYoZj1yKTt2YXIgbD1jKzE7aWYoZi1pPkV1KCgyMTQ3NDgzNjQ3LWEpL2wpKXRocm93IFJhbmdlRXJyb3Iod3UpO2ZvcihhKz0oZi1pKSpsLGk9ZixlPTA7ZTx0Lmxlbmd0aDtlKyspe2lmKChyPXRbZV0pPGkmJisrYT4yMTQ3NDgzNjQ3KXRocm93IFJhbmdlRXJyb3Iod3UpO2lmKHI9PWkpe2Zvcih2YXIgaD1hLHA9MzY7O3ArPTM2KXt2YXIgZD1wPD11PzE6cD49dSsyNj8yNjpwLXU7aWYoaDxkKWJyZWFrO3ZhciB2PWgtZCxnPTM2LWQ7bi5wdXNoKHh1KEF1KGQrdiVnKSkpLGg9RXUodi9nKX1uLnB1c2goeHUoQXUoaCkpKSx1PVJ1KGEsbCxjPT1zKSxhPTAsKytjfX0rK2EsKytpfXJldHVybiBuLmpvaW4oXCJcIil9LGp1PXJ0KFwiZmV0Y2hcIiksSXU9cnQoXCJIZWFkZXJzXCIpLFB1PUZ0KFwiaXRlcmF0b3JcIiksVHU9US5zZXQsa3U9US5nZXR0ZXJGb3IoXCJVUkxTZWFyY2hQYXJhbXNcIiksTHU9US5nZXR0ZXJGb3IoXCJVUkxTZWFyY2hQYXJhbXNJdGVyYXRvclwiKSxVdT0vXFwrL2csTXU9QXJyYXkoNCksX3U9ZnVuY3Rpb24odCl7cmV0dXJuIE11W3QtMV18fChNdVt0LTFdPVJlZ0V4cChcIigoPzolW1xcXFxkYS1mXXsyfSl7XCIrdCtcIn0pXCIsXCJnaVwiKSl9LE51PWZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQpfWNhdGNoKGUpe3JldHVybiB0fX0sQ3U9ZnVuY3Rpb24odCl7dmFyIGU9dC5yZXBsYWNlKFV1LFwiIFwiKSxyPTQ7dHJ5e3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZSl9Y2F0Y2godCl7Zm9yKDtyOyllPWUucmVwbGFjZShfdShyLS0pLE51KTtyZXR1cm4gZX19LEZ1PS9bIScoKX5dfCUyMC9nLEJ1PXtcIiFcIjpcIiUyMVwiLFwiJ1wiOlwiJTI3XCIsXCIoXCI6XCIlMjhcIixcIilcIjpcIiUyOVwiLFwiflwiOlwiJTdFXCIsXCIlMjBcIjpcIitcIn0sRHU9ZnVuY3Rpb24odCl7cmV0dXJuIEJ1W3RdfSxxdT1mdW5jdGlvbih0KXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHQpLnJlcGxhY2UoRnUsRHUpfSx6dT1mdW5jdGlvbih0LGUpe2lmKGUpZm9yKHZhciByLG4sbz1lLnNwbGl0KFwiJlwiKSxpPTA7aTxvLmxlbmd0aDspKHI9b1tpKytdKS5sZW5ndGgmJihuPXIuc3BsaXQoXCI9XCIpLHQucHVzaCh7a2V5OkN1KG4uc2hpZnQoKSksdmFsdWU6Q3Uobi5qb2luKFwiPVwiKSl9KSl9LFd1PWZ1bmN0aW9uKHQpe3RoaXMuZW50cmllcy5sZW5ndGg9MCx6dSh0aGlzLmVudHJpZXMsdCl9LEt1PWZ1bmN0aW9uKHQsZSl7aWYodDxlKXRocm93IFR5cGVFcnJvcihcIk5vdCBlbm91Z2ggYXJndW1lbnRzXCIpfSxHdT1OZShmdW5jdGlvbih0LGUpe1R1KHRoaXMse3R5cGU6XCJVUkxTZWFyY2hQYXJhbXNJdGVyYXRvclwiLGl0ZXJhdG9yOiRyKGt1KHQpLmVudHJpZXMpLGtpbmQ6ZX0pfSxcIkl0ZXJhdG9yXCIsZnVuY3Rpb24oKXt2YXIgdD1MdSh0aGlzKSxlPXQua2luZCxyPXQuaXRlcmF0b3IubmV4dCgpLG49ci52YWx1ZTtyZXR1cm4gci5kb25lfHwoci52YWx1ZT1cImtleXNcIj09PWU/bi5rZXk6XCJ2YWx1ZXNcIj09PWU/bi52YWx1ZTpbbi5rZXksbi52YWx1ZV0pLHJ9KSwkdT1mdW5jdGlvbigpe3hyKHRoaXMsJHUsXCJVUkxTZWFyY2hQYXJhbXNcIik7dmFyIHQsZSxyLG4sbyxpLGEsdSxzLGM9YXJndW1lbnRzLmxlbmd0aD4wP2FyZ3VtZW50c1swXTp2b2lkIDAsZj1bXTtpZihUdSh0aGlzLHt0eXBlOlwiVVJMU2VhcmNoUGFyYW1zXCIsZW50cmllczpmLHVwZGF0ZVVSTDpmdW5jdGlvbigpe30sdXBkYXRlU2VhcmNoUGFyYW1zOld1fSksdm9pZCAwIT09YylpZihnKGMpKWlmKFwiZnVuY3Rpb25cIj09dHlwZW9mKHQ9b3IoYykpKWZvcihyPShlPXQuY2FsbChjKSkubmV4dDshKG49ci5jYWxsKGUpKS5kb25lOyl7aWYoKGE9KGk9KG89JHIoTyhuLnZhbHVlKSkpLm5leHQpLmNhbGwobykpLmRvbmV8fCh1PWkuY2FsbChvKSkuZG9uZXx8IWkuY2FsbChvKS5kb25lKXRocm93IFR5cGVFcnJvcihcIkV4cGVjdGVkIHNlcXVlbmNlIHdpdGggbGVuZ3RoIDJcIik7Zi5wdXNoKHtrZXk6YS52YWx1ZStcIlwiLHZhbHVlOnUudmFsdWUrXCJcIn0pfWVsc2UgZm9yKHMgaW4gYyliKGMscykmJmYucHVzaCh7a2V5OnMsdmFsdWU6Y1tzXStcIlwifSk7ZWxzZSB6dShmLFwic3RyaW5nXCI9PXR5cGVvZiBjP1wiP1wiPT09Yy5jaGFyQXQoMCk/Yy5zbGljZSgxKTpjOmMrXCJcIil9LFZ1PSR1LnByb3RvdHlwZTtPcihWdSx7YXBwZW5kOmZ1bmN0aW9uKHQsZSl7S3UoYXJndW1lbnRzLmxlbmd0aCwyKTt2YXIgcj1rdSh0aGlzKTtyLmVudHJpZXMucHVzaCh7a2V5OnQrXCJcIix2YWx1ZTplK1wiXCJ9KSxyLnVwZGF0ZVVSTCgpfSxkZWxldGU6ZnVuY3Rpb24odCl7S3UoYXJndW1lbnRzLmxlbmd0aCwxKTtmb3IodmFyIGU9a3UodGhpcykscj1lLmVudHJpZXMsbj10K1wiXCIsbz0wO288ci5sZW5ndGg7KXJbb10ua2V5PT09bj9yLnNwbGljZShvLDEpOm8rKztlLnVwZGF0ZVVSTCgpfSxnZXQ6ZnVuY3Rpb24odCl7S3UoYXJndW1lbnRzLmxlbmd0aCwxKTtmb3IodmFyIGU9a3UodGhpcykuZW50cmllcyxyPXQrXCJcIixuPTA7bjxlLmxlbmd0aDtuKyspaWYoZVtuXS5rZXk9PT1yKXJldHVybiBlW25dLnZhbHVlO3JldHVybiBudWxsfSxnZXRBbGw6ZnVuY3Rpb24odCl7S3UoYXJndW1lbnRzLmxlbmd0aCwxKTtmb3IodmFyIGU9a3UodGhpcykuZW50cmllcyxyPXQrXCJcIixuPVtdLG89MDtvPGUubGVuZ3RoO28rKyllW29dLmtleT09PXImJm4ucHVzaChlW29dLnZhbHVlKTtyZXR1cm4gbn0saGFzOmZ1bmN0aW9uKHQpe0t1KGFyZ3VtZW50cy5sZW5ndGgsMSk7Zm9yKHZhciBlPWt1KHRoaXMpLmVudHJpZXMscj10K1wiXCIsbj0wO248ZS5sZW5ndGg7KWlmKGVbbisrXS5rZXk9PT1yKXJldHVybiEwO3JldHVybiExfSxzZXQ6ZnVuY3Rpb24odCxlKXtLdShhcmd1bWVudHMubGVuZ3RoLDEpO2Zvcih2YXIgcixuPWt1KHRoaXMpLG89bi5lbnRyaWVzLGk9ITEsYT10K1wiXCIsdT1lK1wiXCIscz0wO3M8by5sZW5ndGg7cysrKShyPW9bc10pLmtleT09PWEmJihpP28uc3BsaWNlKHMtLSwxKTooaT0hMCxyLnZhbHVlPXUpKTtpfHxvLnB1c2goe2tleTphLHZhbHVlOnV9KSxuLnVwZGF0ZVVSTCgpfSxzb3J0OmZ1bmN0aW9uKCl7dmFyIHQsZSxyLG49a3UodGhpcyksbz1uLmVudHJpZXMsaT1vLnNsaWNlKCk7Zm9yKG8ubGVuZ3RoPTAscj0wO3I8aS5sZW5ndGg7cisrKXtmb3IodD1pW3JdLGU9MDtlPHI7ZSsrKWlmKG9bZV0ua2V5PnQua2V5KXtvLnNwbGljZShlLDAsdCk7YnJlYWt9ZT09PXImJm8ucHVzaCh0KX1uLnVwZGF0ZVVSTCgpfSxmb3JFYWNoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxyPWt1KHRoaXMpLmVudHJpZXMsbj1KdCh0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLDMpLG89MDtvPHIubGVuZ3RoOyluKChlPXJbbysrXSkudmFsdWUsZS5rZXksdGhpcyl9LGtleXM6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEd1KHRoaXMsXCJrZXlzXCIpfSx2YWx1ZXM6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEd1KHRoaXMsXCJ2YWx1ZXNcIil9LGVudHJpZXM6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEd1KHRoaXMsXCJlbnRyaWVzXCIpfX0se2VudW1lcmFibGU6ITB9KSxaKFZ1LFB1LFZ1LmVudHJpZXMpLFooVnUsXCJ0b1N0cmluZ1wiLGZ1bmN0aW9uKCl7Zm9yKHZhciB0LGU9a3UodGhpcykuZW50cmllcyxyPVtdLG49MDtuPGUubGVuZ3RoOyl0PWVbbisrXSxyLnB1c2gocXUodC5rZXkpK1wiPVwiK3F1KHQudmFsdWUpKTtyZXR1cm4gci5qb2luKFwiJlwiKX0se2VudW1lcmFibGU6ITB9KSxMZSgkdSxcIlVSTFNlYXJjaFBhcmFtc1wiKSxQdCh7Z2xvYmFsOiEwLGZvcmNlZDohdnV9LHtVUkxTZWFyY2hQYXJhbXM6JHV9KSx2dXx8XCJmdW5jdGlvblwiIT10eXBlb2YganV8fFwiZnVuY3Rpb25cIiE9dHlwZW9mIEl1fHxQdCh7Z2xvYmFsOiEwLGVudW1lcmFibGU6ITAsZm9yY2VkOiEwfSx7ZmV0Y2g6ZnVuY3Rpb24odCl7dmFyIGUscixuLG89W3RdO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjEmJihnKGU9YXJndW1lbnRzWzFdKSYmXCJVUkxTZWFyY2hQYXJhbXNcIj09PXJyKHI9ZS5ib2R5KSYmKChuPWUuaGVhZGVycz9uZXcgSXUoZS5oZWFkZXJzKTpuZXcgSXUpLmhhcyhcImNvbnRlbnQtdHlwZVwiKXx8bi5zZXQoXCJjb250ZW50LXR5cGVcIixcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PVVURi04XCIpLGU9JHQoZSx7Ym9keTpjKDAsU3RyaW5nKHIpKSxoZWFkZXJzOmMoMCxuKX0pKSxvLnB1c2goZSkpLGp1LmFwcGx5KHRoaXMsbyl9fSk7dmFyIEh1LFh1PXtVUkxTZWFyY2hQYXJhbXM6JHUsZ2V0U3RhdGU6a3V9LFl1PUVlLmNvZGVBdCxKdT1uLlVSTCxRdT1YdS5VUkxTZWFyY2hQYXJhbXMsWnU9WHUuZ2V0U3RhdGUsdHM9US5zZXQsZXM9US5nZXR0ZXJGb3IoXCJVUkxcIikscnM9TWF0aC5mbG9vcixucz1NYXRoLnBvdyxvcz0vW0EtWmEtel0vLGlzPS9bXFxkKy0uQS1aYS16XS8sYXM9L1xcZC8sdXM9L14oMHh8MFgpLyxzcz0vXlswLTddKyQvLGNzPS9eXFxkKyQvLGZzPS9eW1xcZEEtRmEtZl0rJC8sbHM9L1tcXHUwMDAwXFx1MDAwOVxcdTAwMEFcXHUwMDBEICMlLzo/QFtcXFxcXV0vLGhzPS9bXFx1MDAwMFxcdTAwMDlcXHUwMDBBXFx1MDAwRCAjLzo/QFtcXFxcXV0vLHBzPS9eW1xcdTAwMDAtXFx1MDAxRiBdK3xbXFx1MDAwMC1cXHUwMDFGIF0rJC9nLGRzPS9bXFx1MDAwOVxcdTAwMEFcXHUwMDBEXS9nLHZzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixvO2lmKFwiW1wiPT1lLmNoYXJBdCgwKSl7aWYoXCJdXCIhPWUuY2hhckF0KGUubGVuZ3RoLTEpKXJldHVyblwiSW52YWxpZCBob3N0XCI7aWYoIShyPXlzKGUuc2xpY2UoMSwtMSkpKSlyZXR1cm5cIkludmFsaWQgaG9zdFwiO3QuaG9zdD1yfWVsc2UgaWYoUnModCkpe2lmKGU9ZnVuY3Rpb24odCl7dmFyIGUscixuPVtdLG89dC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoU3UsXCIuXCIpLnNwbGl0KFwiLlwiKTtmb3IoZT0wO2U8by5sZW5ndGg7ZSsrKW4ucHVzaChidS50ZXN0KHI9b1tlXSk/XCJ4bi0tXCIrT3Uocik6cik7cmV0dXJuIG4uam9pbihcIi5cIil9KGUpLGxzLnRlc3QoZSkpcmV0dXJuXCJJbnZhbGlkIGhvc3RcIjtpZihudWxsPT09KHI9Z3MoZSkpKXJldHVyblwiSW52YWxpZCBob3N0XCI7dC5ob3N0PXJ9ZWxzZXtpZihocy50ZXN0KGUpKXJldHVyblwiSW52YWxpZCBob3N0XCI7Zm9yKHI9XCJcIixuPWlyKGUpLG89MDtvPG4ubGVuZ3RoO28rKylyKz14cyhuW29dLGJzKTt0Lmhvc3Q9cn19LGdzPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbixvLGksYSx1LHM9dC5zcGxpdChcIi5cIik7aWYocy5sZW5ndGgmJlwiXCI9PXNbcy5sZW5ndGgtMV0mJnMucG9wKCksKGU9cy5sZW5ndGgpPjQpcmV0dXJuIHQ7Zm9yKHI9W10sbj0wO248ZTtuKyspe2lmKFwiXCI9PShvPXNbbl0pKXJldHVybiB0O2lmKGk9MTAsby5sZW5ndGg+MSYmXCIwXCI9PW8uY2hhckF0KDApJiYoaT11cy50ZXN0KG8pPzE2Ojgsbz1vLnNsaWNlKDg9PWk/MToyKSksXCJcIj09PW8pYT0wO2Vsc2V7aWYoISgxMD09aT9jczo4PT1pP3NzOmZzKS50ZXN0KG8pKXJldHVybiB0O2E9cGFyc2VJbnQobyxpKX1yLnB1c2goYSl9Zm9yKG49MDtuPGU7bisrKWlmKGE9cltuXSxuPT1lLTEpe2lmKGE+PW5zKDI1Niw1LWUpKXJldHVybiBudWxsfWVsc2UgaWYoYT4yNTUpcmV0dXJuIG51bGw7Zm9yKHU9ci5wb3AoKSxuPTA7bjxyLmxlbmd0aDtuKyspdSs9cltuXSpucygyNTYsMy1uKTtyZXR1cm4gdX0seXM9ZnVuY3Rpb24odCl7dmFyIGUscixuLG8saSxhLHUscz1bMCwwLDAsMCwwLDAsMCwwXSxjPTAsZj1udWxsLGw9MCxoPWZ1bmN0aW9uKCl7cmV0dXJuIHQuY2hhckF0KGwpfTtpZihcIjpcIj09aCgpKXtpZihcIjpcIiE9dC5jaGFyQXQoMSkpcmV0dXJuO2wrPTIsZj0rK2N9Zm9yKDtoKCk7KXtpZig4PT1jKXJldHVybjtpZihcIjpcIiE9aCgpKXtmb3IoZT1yPTA7cjw0JiZmcy50ZXN0KGgoKSk7KWU9MTYqZStwYXJzZUludChoKCksMTYpLGwrKyxyKys7aWYoXCIuXCI9PWgoKSl7aWYoMD09cilyZXR1cm47aWYobC09cixjPjYpcmV0dXJuO2ZvcihuPTA7aCgpOyl7aWYobz1udWxsLG4+MCl7aWYoIShcIi5cIj09aCgpJiZuPDQpKXJldHVybjtsKyt9aWYoIWFzLnRlc3QoaCgpKSlyZXR1cm47Zm9yKDthcy50ZXN0KGgoKSk7KXtpZihpPXBhcnNlSW50KGgoKSwxMCksbnVsbD09PW8pbz1pO2Vsc2V7aWYoMD09bylyZXR1cm47bz0xMCpvK2l9aWYobz4yNTUpcmV0dXJuO2wrK31zW2NdPTI1NipzW2NdK28sMiE9KytuJiY0IT1ufHxjKyt9aWYoNCE9bilyZXR1cm47YnJlYWt9aWYoXCI6XCI9PWgoKSl7aWYobCsrLCFoKCkpcmV0dXJufWVsc2UgaWYoaCgpKXJldHVybjtzW2MrK109ZX1lbHNle2lmKG51bGwhPT1mKXJldHVybjtsKyssZj0rK2N9fWlmKG51bGwhPT1mKWZvcihhPWMtZixjPTc7MCE9YyYmYT4wOyl1PXNbY10sc1tjLS1dPXNbZithLTFdLHNbZistLWFdPXU7ZWxzZSBpZig4IT1jKXJldHVybjtyZXR1cm4gc30sbXM9ZnVuY3Rpb24odCl7dmFyIGUscixuLG87aWYoXCJudW1iZXJcIj09dHlwZW9mIHQpe2ZvcihlPVtdLHI9MDtyPDQ7cisrKWUudW5zaGlmdCh0JTI1NiksdD1ycyh0LzI1Nik7cmV0dXJuIGUuam9pbihcIi5cIil9aWYoXCJvYmplY3RcIj09dHlwZW9mIHQpe2ZvcihlPVwiXCIsbj1mdW5jdGlvbih0KXtmb3IodmFyIGU9bnVsbCxyPTEsbj1udWxsLG89MCxpPTA7aTw4O2krKykwIT09dFtpXT8obz5yJiYoZT1uLHI9byksbj1udWxsLG89MCk6KG51bGw9PT1uJiYobj1pKSwrK28pO3JldHVybiBvPnImJihlPW4scj1vKSxlfSh0KSxyPTA7cjw4O3IrKylvJiYwPT09dFtyXXx8KG8mJihvPSExKSxuPT09cj8oZSs9cj9cIjpcIjpcIjo6XCIsbz0hMCk6KGUrPXRbcl0udG9TdHJpbmcoMTYpLHI8NyYmKGUrPVwiOlwiKSkpO3JldHVyblwiW1wiK2UrXCJdXCJ9cmV0dXJuIHR9LGJzPXt9LFNzPW11KHt9LGJzLHtcIiBcIjoxLCdcIic6MSxcIjxcIjoxLFwiPlwiOjEsXCJgXCI6MX0pLHdzPW11KHt9LFNzLHtcIiNcIjoxLFwiP1wiOjEsXCJ7XCI6MSxcIn1cIjoxfSksRXM9bXUoe30sd3Mse1wiL1wiOjEsXCI6XCI6MSxcIjtcIjoxLFwiPVwiOjEsXCJAXCI6MSxcIltcIjoxLFwiXFxcXFwiOjEsXCJdXCI6MSxcIl5cIjoxLFwifFwiOjF9KSx4cz1mdW5jdGlvbih0LGUpe3ZhciByPVl1KHQsMCk7cmV0dXJuIHI+MzImJnI8MTI3JiYhYihlLHQpP3Q6ZW5jb2RlVVJJQ29tcG9uZW50KHQpfSxBcz17ZnRwOjIxLGZpbGU6bnVsbCxodHRwOjgwLGh0dHBzOjQ0Myx3czo4MCx3c3M6NDQzfSxScz1mdW5jdGlvbih0KXtyZXR1cm4gYihBcyx0LnNjaGVtZSl9LE9zPWZ1bmN0aW9uKHQpe3JldHVyblwiXCIhPXQudXNlcm5hbWV8fFwiXCIhPXQucGFzc3dvcmR9LGpzPWZ1bmN0aW9uKHQpe3JldHVybiF0Lmhvc3R8fHQuY2Fubm90QmVBQmFzZVVSTHx8XCJmaWxlXCI9PXQuc2NoZW1lfSxJcz1mdW5jdGlvbih0LGUpe3ZhciByO3JldHVybiAyPT10Lmxlbmd0aCYmb3MudGVzdCh0LmNoYXJBdCgwKSkmJihcIjpcIj09KHI9dC5jaGFyQXQoMSkpfHwhZSYmXCJ8XCI9PXIpfSxQcz1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gdC5sZW5ndGg+MSYmSXModC5zbGljZSgwLDIpKSYmKDI9PXQubGVuZ3RofHxcIi9cIj09PShlPXQuY2hhckF0KDIpKXx8XCJcXFxcXCI9PT1lfHxcIj9cIj09PWV8fFwiI1wiPT09ZSl9LFRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQucGF0aCxyPWUubGVuZ3RoOyFyfHxcImZpbGVcIj09dC5zY2hlbWUmJjE9PXImJklzKGVbMF0sITApfHxlLnBvcCgpfSxrcz1mdW5jdGlvbih0KXtyZXR1cm5cIi5cIj09PXR8fFwiJTJlXCI9PT10LnRvTG93ZXJDYXNlKCl9LExzPXt9LFVzPXt9LE1zPXt9LF9zPXt9LE5zPXt9LENzPXt9LEZzPXt9LEJzPXt9LERzPXt9LHFzPXt9LHpzPXt9LFdzPXt9LEtzPXt9LEdzPXt9LCRzPXt9LFZzPXt9LEhzPXt9LFhzPXt9LFlzPXt9LEpzPXt9LFFzPXt9LFpzPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBvLGksYSx1LHMsYz1yfHxMcyxmPTAsbD1cIlwiLGg9ITEscD0hMSxkPSExO2ZvcihyfHwodC5zY2hlbWU9XCJcIix0LnVzZXJuYW1lPVwiXCIsdC5wYXNzd29yZD1cIlwiLHQuaG9zdD1udWxsLHQucG9ydD1udWxsLHQucGF0aD1bXSx0LnF1ZXJ5PW51bGwsdC5mcmFnbWVudD1udWxsLHQuY2Fubm90QmVBQmFzZVVSTD0hMSxlPWUucmVwbGFjZShwcyxcIlwiKSksZT1lLnJlcGxhY2UoZHMsXCJcIiksbz1pcihlKTtmPD1vLmxlbmd0aDspe3N3aXRjaChpPW9bZl0sYyl7Y2FzZSBMczppZighaXx8IW9zLnRlc3QoaSkpe2lmKHIpcmV0dXJuXCJJbnZhbGlkIHNjaGVtZVwiO2M9TXM7Y29udGludWV9bCs9aS50b0xvd2VyQ2FzZSgpLGM9VXM7YnJlYWs7Y2FzZSBVczppZihpJiYoaXMudGVzdChpKXx8XCIrXCI9PWl8fFwiLVwiPT1pfHxcIi5cIj09aSkpbCs9aS50b0xvd2VyQ2FzZSgpO2Vsc2V7aWYoXCI6XCIhPWkpe2lmKHIpcmV0dXJuXCJJbnZhbGlkIHNjaGVtZVwiO2w9XCJcIixjPU1zLGY9MDtjb250aW51ZX1pZihyJiYoUnModCkhPWIoQXMsbCl8fFwiZmlsZVwiPT1sJiYoT3ModCl8fG51bGwhPT10LnBvcnQpfHxcImZpbGVcIj09dC5zY2hlbWUmJiF0Lmhvc3QpKXJldHVybjtpZih0LnNjaGVtZT1sLHIpcmV0dXJuIHZvaWQoUnModCkmJkFzW3Quc2NoZW1lXT09dC5wb3J0JiYodC5wb3J0PW51bGwpKTtsPVwiXCIsXCJmaWxlXCI9PXQuc2NoZW1lP2M9R3M6UnModCkmJm4mJm4uc2NoZW1lPT10LnNjaGVtZT9jPV9zOlJzKHQpP2M9QnM6XCIvXCI9PW9bZisxXT8oYz1OcyxmKyspOih0LmNhbm5vdEJlQUJhc2VVUkw9ITAsdC5wYXRoLnB1c2goXCJcIiksYz1Zcyl9YnJlYWs7Y2FzZSBNczppZighbnx8bi5jYW5ub3RCZUFCYXNlVVJMJiZcIiNcIiE9aSlyZXR1cm5cIkludmFsaWQgc2NoZW1lXCI7aWYobi5jYW5ub3RCZUFCYXNlVVJMJiZcIiNcIj09aSl7dC5zY2hlbWU9bi5zY2hlbWUsdC5wYXRoPW4ucGF0aC5zbGljZSgpLHQucXVlcnk9bi5xdWVyeSx0LmZyYWdtZW50PVwiXCIsdC5jYW5ub3RCZUFCYXNlVVJMPSEwLGM9UXM7YnJlYWt9Yz1cImZpbGVcIj09bi5zY2hlbWU/R3M6Q3M7Y29udGludWU7Y2FzZSBfczppZihcIi9cIiE9aXx8XCIvXCIhPW9bZisxXSl7Yz1Dcztjb250aW51ZX1jPURzLGYrKzticmVhaztjYXNlIE5zOmlmKFwiL1wiPT1pKXtjPXFzO2JyZWFrfWM9WHM7Y29udGludWU7Y2FzZSBDczppZih0LnNjaGVtZT1uLnNjaGVtZSxpPT1IdSl0LnVzZXJuYW1lPW4udXNlcm5hbWUsdC5wYXNzd29yZD1uLnBhc3N3b3JkLHQuaG9zdD1uLmhvc3QsdC5wb3J0PW4ucG9ydCx0LnBhdGg9bi5wYXRoLnNsaWNlKCksdC5xdWVyeT1uLnF1ZXJ5O2Vsc2UgaWYoXCIvXCI9PWl8fFwiXFxcXFwiPT1pJiZScyh0KSljPUZzO2Vsc2UgaWYoXCI/XCI9PWkpdC51c2VybmFtZT1uLnVzZXJuYW1lLHQucGFzc3dvcmQ9bi5wYXNzd29yZCx0Lmhvc3Q9bi5ob3N0LHQucG9ydD1uLnBvcnQsdC5wYXRoPW4ucGF0aC5zbGljZSgpLHQucXVlcnk9XCJcIixjPUpzO2Vsc2V7aWYoXCIjXCIhPWkpe3QudXNlcm5hbWU9bi51c2VybmFtZSx0LnBhc3N3b3JkPW4ucGFzc3dvcmQsdC5ob3N0PW4uaG9zdCx0LnBvcnQ9bi5wb3J0LHQucGF0aD1uLnBhdGguc2xpY2UoKSx0LnBhdGgucG9wKCksYz1Ycztjb250aW51ZX10LnVzZXJuYW1lPW4udXNlcm5hbWUsdC5wYXNzd29yZD1uLnBhc3N3b3JkLHQuaG9zdD1uLmhvc3QsdC5wb3J0PW4ucG9ydCx0LnBhdGg9bi5wYXRoLnNsaWNlKCksdC5xdWVyeT1uLnF1ZXJ5LHQuZnJhZ21lbnQ9XCJcIixjPVFzfWJyZWFrO2Nhc2UgRnM6aWYoIVJzKHQpfHxcIi9cIiE9aSYmXCJcXFxcXCIhPWkpe2lmKFwiL1wiIT1pKXt0LnVzZXJuYW1lPW4udXNlcm5hbWUsdC5wYXNzd29yZD1uLnBhc3N3b3JkLHQuaG9zdD1uLmhvc3QsdC5wb3J0PW4ucG9ydCxjPVhzO2NvbnRpbnVlfWM9cXN9ZWxzZSBjPURzO2JyZWFrO2Nhc2UgQnM6aWYoYz1EcyxcIi9cIiE9aXx8XCIvXCIhPWwuY2hhckF0KGYrMSkpY29udGludWU7ZisrO2JyZWFrO2Nhc2UgRHM6aWYoXCIvXCIhPWkmJlwiXFxcXFwiIT1pKXtjPXFzO2NvbnRpbnVlfWJyZWFrO2Nhc2UgcXM6aWYoXCJAXCI9PWkpe2gmJihsPVwiJTQwXCIrbCksaD0hMCxhPWlyKGwpO2Zvcih2YXIgdj0wO3Y8YS5sZW5ndGg7disrKXt2YXIgZz1hW3ZdO2lmKFwiOlwiIT1nfHxkKXt2YXIgeT14cyhnLEVzKTtkP3QucGFzc3dvcmQrPXk6dC51c2VybmFtZSs9eX1lbHNlIGQ9ITB9bD1cIlwifWVsc2UgaWYoaT09SHV8fFwiL1wiPT1pfHxcIj9cIj09aXx8XCIjXCI9PWl8fFwiXFxcXFwiPT1pJiZScyh0KSl7aWYoaCYmXCJcIj09bClyZXR1cm5cIkludmFsaWQgYXV0aG9yaXR5XCI7Zi09aXIobCkubGVuZ3RoKzEsbD1cIlwiLGM9enN9ZWxzZSBsKz1pO2JyZWFrO2Nhc2UgenM6Y2FzZSBXczppZihyJiZcImZpbGVcIj09dC5zY2hlbWUpe2M9VnM7Y29udGludWV9aWYoXCI6XCIhPWl8fHApe2lmKGk9PUh1fHxcIi9cIj09aXx8XCI/XCI9PWl8fFwiI1wiPT1pfHxcIlxcXFxcIj09aSYmUnModCkpe2lmKFJzKHQpJiZcIlwiPT1sKXJldHVyblwiSW52YWxpZCBob3N0XCI7aWYociYmXCJcIj09bCYmKE9zKHQpfHxudWxsIT09dC5wb3J0KSlyZXR1cm47aWYodT12cyh0LGwpKXJldHVybiB1O2lmKGw9XCJcIixjPUhzLHIpcmV0dXJuO2NvbnRpbnVlfVwiW1wiPT1pP3A9ITA6XCJdXCI9PWkmJihwPSExKSxsKz1pfWVsc2V7aWYoXCJcIj09bClyZXR1cm5cIkludmFsaWQgaG9zdFwiO2lmKHU9dnModCxsKSlyZXR1cm4gdTtpZihsPVwiXCIsYz1LcyxyPT1XcylyZXR1cm59YnJlYWs7Y2FzZSBLczppZighYXMudGVzdChpKSl7aWYoaT09SHV8fFwiL1wiPT1pfHxcIj9cIj09aXx8XCIjXCI9PWl8fFwiXFxcXFwiPT1pJiZScyh0KXx8cil7aWYoXCJcIiE9bCl7dmFyIG09cGFyc2VJbnQobCwxMCk7aWYobT42NTUzNSlyZXR1cm5cIkludmFsaWQgcG9ydFwiO3QucG9ydD1Scyh0KSYmbT09PUFzW3Quc2NoZW1lXT9udWxsOm0sbD1cIlwifWlmKHIpcmV0dXJuO2M9SHM7Y29udGludWV9cmV0dXJuXCJJbnZhbGlkIHBvcnRcIn1sKz1pO2JyZWFrO2Nhc2UgR3M6aWYodC5zY2hlbWU9XCJmaWxlXCIsXCIvXCI9PWl8fFwiXFxcXFwiPT1pKWM9JHM7ZWxzZXtpZighbnx8XCJmaWxlXCIhPW4uc2NoZW1lKXtjPVhzO2NvbnRpbnVlfWlmKGk9PUh1KXQuaG9zdD1uLmhvc3QsdC5wYXRoPW4ucGF0aC5zbGljZSgpLHQucXVlcnk9bi5xdWVyeTtlbHNlIGlmKFwiP1wiPT1pKXQuaG9zdD1uLmhvc3QsdC5wYXRoPW4ucGF0aC5zbGljZSgpLHQucXVlcnk9XCJcIixjPUpzO2Vsc2V7aWYoXCIjXCIhPWkpe1BzKG8uc2xpY2UoZikuam9pbihcIlwiKSl8fCh0Lmhvc3Q9bi5ob3N0LHQucGF0aD1uLnBhdGguc2xpY2UoKSxUcyh0KSksYz1Ycztjb250aW51ZX10Lmhvc3Q9bi5ob3N0LHQucGF0aD1uLnBhdGguc2xpY2UoKSx0LnF1ZXJ5PW4ucXVlcnksdC5mcmFnbWVudD1cIlwiLGM9UXN9fWJyZWFrO2Nhc2UgJHM6aWYoXCIvXCI9PWl8fFwiXFxcXFwiPT1pKXtjPVZzO2JyZWFrfW4mJlwiZmlsZVwiPT1uLnNjaGVtZSYmIVBzKG8uc2xpY2UoZikuam9pbihcIlwiKSkmJihJcyhuLnBhdGhbMF0sITApP3QucGF0aC5wdXNoKG4ucGF0aFswXSk6dC5ob3N0PW4uaG9zdCksYz1Ycztjb250aW51ZTtjYXNlIFZzOmlmKGk9PUh1fHxcIi9cIj09aXx8XCJcXFxcXCI9PWl8fFwiP1wiPT1pfHxcIiNcIj09aSl7aWYoIXImJklzKGwpKWM9WHM7ZWxzZSBpZihcIlwiPT1sKXtpZih0Lmhvc3Q9XCJcIixyKXJldHVybjtjPUhzfWVsc2V7aWYodT12cyh0LGwpKXJldHVybiB1O2lmKFwibG9jYWxob3N0XCI9PXQuaG9zdCYmKHQuaG9zdD1cIlwiKSxyKXJldHVybjtsPVwiXCIsYz1Ic31jb250aW51ZX1sKz1pO2JyZWFrO2Nhc2UgSHM6aWYoUnModCkpe2lmKGM9WHMsXCIvXCIhPWkmJlwiXFxcXFwiIT1pKWNvbnRpbnVlfWVsc2UgaWYocnx8XCI/XCIhPWkpaWYocnx8XCIjXCIhPWkpe2lmKGkhPUh1JiYoYz1YcyxcIi9cIiE9aSkpY29udGludWV9ZWxzZSB0LmZyYWdtZW50PVwiXCIsYz1RcztlbHNlIHQucXVlcnk9XCJcIixjPUpzO2JyZWFrO2Nhc2UgWHM6aWYoaT09SHV8fFwiL1wiPT1pfHxcIlxcXFxcIj09aSYmUnModCl8fCFyJiYoXCI/XCI9PWl8fFwiI1wiPT1pKSl7aWYoXCIuLlwiPT09KHM9KHM9bCkudG9Mb3dlckNhc2UoKSl8fFwiJTJlLlwiPT09c3x8XCIuJTJlXCI9PT1zfHxcIiUyZSUyZVwiPT09cz8oVHModCksXCIvXCI9PWl8fFwiXFxcXFwiPT1pJiZScyh0KXx8dC5wYXRoLnB1c2goXCJcIikpOmtzKGwpP1wiL1wiPT1pfHxcIlxcXFxcIj09aSYmUnModCl8fHQucGF0aC5wdXNoKFwiXCIpOihcImZpbGVcIj09dC5zY2hlbWUmJiF0LnBhdGgubGVuZ3RoJiZJcyhsKSYmKHQuaG9zdCYmKHQuaG9zdD1cIlwiKSxsPWwuY2hhckF0KDApK1wiOlwiKSx0LnBhdGgucHVzaChsKSksbD1cIlwiLFwiZmlsZVwiPT10LnNjaGVtZSYmKGk9PUh1fHxcIj9cIj09aXx8XCIjXCI9PWkpKWZvcig7dC5wYXRoLmxlbmd0aD4xJiZcIlwiPT09dC5wYXRoWzBdOyl0LnBhdGguc2hpZnQoKTtcIj9cIj09aT8odC5xdWVyeT1cIlwiLGM9SnMpOlwiI1wiPT1pJiYodC5mcmFnbWVudD1cIlwiLGM9UXMpfWVsc2UgbCs9eHMoaSx3cyk7YnJlYWs7Y2FzZSBZczpcIj9cIj09aT8odC5xdWVyeT1cIlwiLGM9SnMpOlwiI1wiPT1pPyh0LmZyYWdtZW50PVwiXCIsYz1Rcyk6aSE9SHUmJih0LnBhdGhbMF0rPXhzKGksYnMpKTticmVhaztjYXNlIEpzOnJ8fFwiI1wiIT1pP2khPUh1JiYoXCInXCI9PWkmJlJzKHQpP3QucXVlcnkrPVwiJTI3XCI6dC5xdWVyeSs9XCIjXCI9PWk/XCIlMjNcIjp4cyhpLGJzKSk6KHQuZnJhZ21lbnQ9XCJcIixjPVFzKTticmVhaztjYXNlIFFzOmkhPUh1JiYodC5mcmFnbWVudCs9eHMoaSxTcykpfWYrK319LHRjPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbj14cih0aGlzLHRjLFwiVVJMXCIpLG89YXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsYT1TdHJpbmcodCksdT10cyhuLHt0eXBlOlwiVVJMXCJ9KTtpZih2b2lkIDAhPT1vKWlmKG8gaW5zdGFuY2VvZiB0YyllPWVzKG8pO2Vsc2UgaWYocj1acyhlPXt9LFN0cmluZyhvKSkpdGhyb3cgVHlwZUVycm9yKHIpO2lmKHI9WnModSxhLG51bGwsZSkpdGhyb3cgVHlwZUVycm9yKHIpO3ZhciBzPXUuc2VhcmNoUGFyYW1zPW5ldyBRdSxjPVp1KHMpO2MudXBkYXRlU2VhcmNoUGFyYW1zKHUucXVlcnkpLGMudXBkYXRlVVJMPWZ1bmN0aW9uKCl7dS5xdWVyeT1TdHJpbmcocyl8fG51bGx9LGl8fChuLmhyZWY9cmMuY2FsbChuKSxuLm9yaWdpbj1uYy5jYWxsKG4pLG4ucHJvdG9jb2w9b2MuY2FsbChuKSxuLnVzZXJuYW1lPWljLmNhbGwobiksbi5wYXNzd29yZD1hYy5jYWxsKG4pLG4uaG9zdD11Yy5jYWxsKG4pLG4uaG9zdG5hbWU9c2MuY2FsbChuKSxuLnBvcnQ9Y2MuY2FsbChuKSxuLnBhdGhuYW1lPWZjLmNhbGwobiksbi5zZWFyY2g9bGMuY2FsbChuKSxuLnNlYXJjaFBhcmFtcz1oYy5jYWxsKG4pLG4uaGFzaD1wYy5jYWxsKG4pKX0sZWM9dGMucHJvdG90eXBlLHJjPWZ1bmN0aW9uKCl7dmFyIHQ9ZXModGhpcyksZT10LnNjaGVtZSxyPXQudXNlcm5hbWUsbj10LnBhc3N3b3JkLG89dC5ob3N0LGk9dC5wb3J0LGE9dC5wYXRoLHU9dC5xdWVyeSxzPXQuZnJhZ21lbnQsYz1lK1wiOlwiO3JldHVybiBudWxsIT09bz8oYys9XCIvL1wiLE9zKHQpJiYoYys9cisobj9cIjpcIituOlwiXCIpK1wiQFwiKSxjKz1tcyhvKSxudWxsIT09aSYmKGMrPVwiOlwiK2kpKTpcImZpbGVcIj09ZSYmKGMrPVwiLy9cIiksYys9dC5jYW5ub3RCZUFCYXNlVVJMP2FbMF06YS5sZW5ndGg/XCIvXCIrYS5qb2luKFwiL1wiKTpcIlwiLG51bGwhPT11JiYoYys9XCI/XCIrdSksbnVsbCE9PXMmJihjKz1cIiNcIitzKSxjfSxuYz1mdW5jdGlvbigpe3ZhciB0PWVzKHRoaXMpLGU9dC5zY2hlbWUscj10LnBvcnQ7aWYoXCJibG9iXCI9PWUpdHJ5e3JldHVybiBuZXcgVVJMKGUucGF0aFswXSkub3JpZ2lufWNhdGNoKHQpe3JldHVyblwibnVsbFwifXJldHVyblwiZmlsZVwiIT1lJiZScyh0KT9lK1wiOi8vXCIrbXModC5ob3N0KSsobnVsbCE9PXI/XCI6XCIrcjpcIlwiKTpcIm51bGxcIn0sb2M9ZnVuY3Rpb24oKXtyZXR1cm4gZXModGhpcykuc2NoZW1lK1wiOlwifSxpYz1mdW5jdGlvbigpe3JldHVybiBlcyh0aGlzKS51c2VybmFtZX0sYWM9ZnVuY3Rpb24oKXtyZXR1cm4gZXModGhpcykucGFzc3dvcmR9LHVjPWZ1bmN0aW9uKCl7dmFyIHQ9ZXModGhpcyksZT10Lmhvc3Qscj10LnBvcnQ7cmV0dXJuIG51bGw9PT1lP1wiXCI6bnVsbD09PXI/bXMoZSk6bXMoZSkrXCI6XCIrcn0sc2M9ZnVuY3Rpb24oKXt2YXIgdD1lcyh0aGlzKS5ob3N0O3JldHVybiBudWxsPT09dD9cIlwiOm1zKHQpfSxjYz1mdW5jdGlvbigpe3ZhciB0PWVzKHRoaXMpLnBvcnQ7cmV0dXJuIG51bGw9PT10P1wiXCI6U3RyaW5nKHQpfSxmYz1mdW5jdGlvbigpe3ZhciB0PWVzKHRoaXMpLGU9dC5wYXRoO3JldHVybiB0LmNhbm5vdEJlQUJhc2VVUkw/ZVswXTplLmxlbmd0aD9cIi9cIitlLmpvaW4oXCIvXCIpOlwiXCJ9LGxjPWZ1bmN0aW9uKCl7dmFyIHQ9ZXModGhpcykucXVlcnk7cmV0dXJuIHQ/XCI/XCIrdDpcIlwifSxoYz1mdW5jdGlvbigpe3JldHVybiBlcyh0aGlzKS5zZWFyY2hQYXJhbXN9LHBjPWZ1bmN0aW9uKCl7dmFyIHQ9ZXModGhpcykuZnJhZ21lbnQ7cmV0dXJuIHQ/XCIjXCIrdDpcIlwifSxkYz1mdW5jdGlvbih0LGUpe3JldHVybntnZXQ6dCxzZXQ6ZSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH19O2lmKGkmJkR0KGVjLHtocmVmOmRjKHJjLGZ1bmN0aW9uKHQpe3ZhciBlPWVzKHRoaXMpLHI9U3RyaW5nKHQpLG49WnMoZSxyKTtpZihuKXRocm93IFR5cGVFcnJvcihuKTtadShlLnNlYXJjaFBhcmFtcykudXBkYXRlU2VhcmNoUGFyYW1zKGUucXVlcnkpfSksb3JpZ2luOmRjKG5jKSxwcm90b2NvbDpkYyhvYyxmdW5jdGlvbih0KXt2YXIgZT1lcyh0aGlzKTtacyhlLFN0cmluZyh0KStcIjpcIixMcyl9KSx1c2VybmFtZTpkYyhpYyxmdW5jdGlvbih0KXt2YXIgZT1lcyh0aGlzKSxyPWlyKFN0cmluZyh0KSk7aWYoIWpzKGUpKXtlLnVzZXJuYW1lPVwiXCI7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspZS51c2VybmFtZSs9eHMocltuXSxFcyl9fSkscGFzc3dvcmQ6ZGMoYWMsZnVuY3Rpb24odCl7dmFyIGU9ZXModGhpcykscj1pcihTdHJpbmcodCkpO2lmKCFqcyhlKSl7ZS5wYXNzd29yZD1cIlwiO2Zvcih2YXIgbj0wO248ci5sZW5ndGg7bisrKWUucGFzc3dvcmQrPXhzKHJbbl0sRXMpfX0pLGhvc3Q6ZGModWMsZnVuY3Rpb24odCl7dmFyIGU9ZXModGhpcyk7ZS5jYW5ub3RCZUFCYXNlVVJMfHxacyhlLFN0cmluZyh0KSx6cyl9KSxob3N0bmFtZTpkYyhzYyxmdW5jdGlvbih0KXt2YXIgZT1lcyh0aGlzKTtlLmNhbm5vdEJlQUJhc2VVUkx8fFpzKGUsU3RyaW5nKHQpLFdzKX0pLHBvcnQ6ZGMoY2MsZnVuY3Rpb24odCl7dmFyIGU9ZXModGhpcyk7anMoZSl8fChcIlwiPT0odD1TdHJpbmcodCkpP2UucG9ydD1udWxsOlpzKGUsdCxLcykpfSkscGF0aG5hbWU6ZGMoZmMsZnVuY3Rpb24odCl7dmFyIGU9ZXModGhpcyk7ZS5jYW5ub3RCZUFCYXNlVVJMfHwoZS5wYXRoPVtdLFpzKGUsdCtcIlwiLEhzKSl9KSxzZWFyY2g6ZGMobGMsZnVuY3Rpb24odCl7dmFyIGU9ZXModGhpcyk7XCJcIj09KHQ9U3RyaW5nKHQpKT9lLnF1ZXJ5PW51bGw6KFwiP1wiPT10LmNoYXJBdCgwKSYmKHQ9dC5zbGljZSgxKSksZS5xdWVyeT1cIlwiLFpzKGUsdCxKcykpLFp1KGUuc2VhcmNoUGFyYW1zKS51cGRhdGVTZWFyY2hQYXJhbXMoZS5xdWVyeSl9KSxzZWFyY2hQYXJhbXM6ZGMoaGMpLGhhc2g6ZGMocGMsZnVuY3Rpb24odCl7dmFyIGU9ZXModGhpcyk7XCJcIiE9KHQ9U3RyaW5nKHQpKT8oXCIjXCI9PXQuY2hhckF0KDApJiYodD10LnNsaWNlKDEpKSxlLmZyYWdtZW50PVwiXCIsWnMoZSx0LFFzKSk6ZS5mcmFnbWVudD1udWxsfSl9KSxaKGVjLFwidG9KU09OXCIsZnVuY3Rpb24oKXtyZXR1cm4gcmMuY2FsbCh0aGlzKX0se2VudW1lcmFibGU6ITB9KSxaKGVjLFwidG9TdHJpbmdcIixmdW5jdGlvbigpe3JldHVybiByYy5jYWxsKHRoaXMpfSx7ZW51bWVyYWJsZTohMH0pLEp1KXt2YXIgdmM9SnUuY3JlYXRlT2JqZWN0VVJMLGdjPUp1LnJldm9rZU9iamVjdFVSTDt2YyYmWih0YyxcImNyZWF0ZU9iamVjdFVSTFwiLGZ1bmN0aW9uKHQpe3JldHVybiB2Yy5hcHBseShKdSxhcmd1bWVudHMpfSksZ2MmJloodGMsXCJyZXZva2VPYmplY3RVUkxcIixmdW5jdGlvbih0KXtyZXR1cm4gZ2MuYXBwbHkoSnUsYXJndW1lbnRzKX0pfUxlKHRjLFwiVVJMXCIpLFB0KHtnbG9iYWw6ITAsZm9yY2VkOiF2dSxzaGFtOiFpfSx7VVJMOnRjfSksUHQoe3RhcmdldDpcIlVSTFwiLHByb3RvOiEwLGVudW1lcmFibGU6ITB9LHt0b0pTT046ZnVuY3Rpb24oKXtyZXR1cm4gVVJMLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRoaXMpfX0pLFB0KHt0YXJnZXQ6XCJXZWFrTWFwXCIsc3RhdDohMH0se2Zyb206V3J9KSxQdCh7dGFyZ2V0OlwiV2Vha01hcFwiLHN0YXQ6ITB9LHtvZjpLcn0pLFB0KHt0YXJnZXQ6XCJXZWFrTWFwXCIscHJvdG86ITAscmVhbDohMCxmb3JjZWQ6ITF9LHtkZWxldGVBbGw6ZnVuY3Rpb24oKXtyZXR1cm4gR3IuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0pLFB0KHt0YXJnZXQ6XCJXZWFrTWFwXCIscHJvdG86ITAscmVhbDohMCxmb3JjZWQ6ITF9LHt1cHNlcnQ6WXJ9KSxScihcIldlYWtTZXRcIixmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdCh0aGlzLGFyZ3VtZW50cy5sZW5ndGg/YXJndW1lbnRzWzBdOnZvaWQgMCl9fSxvbyksUHQoe3RhcmdldDpcIldlYWtTZXRcIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDohMX0se2FkZEFsbDpmdW5jdGlvbigpe3JldHVybiBVaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSksUHQoe3RhcmdldDpcIldlYWtTZXRcIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDohMX0se2RlbGV0ZUFsbDpmdW5jdGlvbigpe3JldHVybiBHci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSksUHQoe3RhcmdldDpcIldlYWtTZXRcIixzdGF0OiEwfSx7ZnJvbTpXcn0pLFB0KHt0YXJnZXQ6XCJXZWFrU2V0XCIsc3RhdDohMH0se29mOktyfSk7dmFyIHljLG1jLGJjLFNjPW4uUHJvbWlzZSx3Yz0vKGlwaG9uZXxpcG9kfGlwYWQpLiphcHBsZXdlYmtpdC9pLnRlc3QoQ2kpLEVjPW4ubG9jYXRpb24seGM9bi5zZXRJbW1lZGlhdGUsQWM9bi5jbGVhckltbWVkaWF0ZSxSYz1uLnByb2Nlc3MsT2M9bi5NZXNzYWdlQ2hhbm5lbCxqYz1uLkRpc3BhdGNoLEljPTAsUGM9e30sVGM9ZnVuY3Rpb24odCl7aWYoUGMuaGFzT3duUHJvcGVydHkodCkpe3ZhciBlPVBjW3RdO2RlbGV0ZSBQY1t0XSxlKCl9fSxrYz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtUYyh0KX19LExjPWZ1bmN0aW9uKHQpe1RjKHQuZGF0YSl9LFVjPWZ1bmN0aW9uKHQpe24ucG9zdE1lc3NhZ2UodCtcIlwiLEVjLnByb3RvY29sK1wiLy9cIitFYy5ob3N0KX07eGMmJkFjfHwoeGM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPWFyZ3VtZW50cyxyPVtdLG49MTthcmd1bWVudHMubGVuZ3RoPm47KXIucHVzaChlW24rK10pO3JldHVybiBQY1srK0ljXT1mdW5jdGlvbigpeyhcImZ1bmN0aW9uXCI9PXR5cGVvZiB0P3Q6RnVuY3Rpb24odCkpLmFwcGx5KHZvaWQgMCxyKX0seWMoSWMpLEljfSxBYz1mdW5jdGlvbih0KXtkZWxldGUgUGNbdF19LFwicHJvY2Vzc1wiPT1sKFJjKT95Yz1mdW5jdGlvbih0KXtSYy5uZXh0VGljayhrYyh0KSl9OmpjJiZqYy5ub3c/eWM9ZnVuY3Rpb24odCl7amMubm93KGtjKHQpKX06T2MmJiF3Yz8oYmM9KG1jPW5ldyBPYykucG9ydDIsbWMucG9ydDEub25tZXNzYWdlPUxjLHljPUp0KGJjLnBvc3RNZXNzYWdlLGJjLDEpKTohbi5hZGRFdmVudExpc3RlbmVyfHxcImZ1bmN0aW9uXCIhPXR5cGVvZiBwb3N0TWVzc2FnZXx8bi5pbXBvcnRTY3JpcHRzfHxvKFVjKXx8XCJmaWxlOlwiPT09RWMucHJvdG9jb2w/eWM9XCJvbnJlYWR5c3RhdGVjaGFuZ2VcImluIEUoXCJzY3JpcHRcIik/ZnVuY3Rpb24odCl7cXQuYXBwZW5kQ2hpbGQoRShcInNjcmlwdFwiKSkub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7cXQucmVtb3ZlQ2hpbGQodGhpcyksVGModCl9fTpmdW5jdGlvbih0KXtzZXRUaW1lb3V0KGtjKHQpLDApfTooeWM9VWMsbi5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLExjLCExKSkpO3ZhciBNYyxfYyxOYyxDYyxGYyxCYyxEYyxxYyx6Yz17c2V0OnhjLGNsZWFyOkFjfSxXYz1SLmYsS2M9emMuc2V0LEdjPW4uTXV0YXRpb25PYnNlcnZlcnx8bi5XZWJLaXRNdXRhdGlvbk9ic2VydmVyLCRjPW4ucHJvY2VzcyxWYz1uLlByb21pc2UsSGM9XCJwcm9jZXNzXCI9PWwoJGMpLFhjPVdjKG4sXCJxdWV1ZU1pY3JvdGFza1wiKSxZYz1YYyYmWGMudmFsdWU7WWN8fChNYz1mdW5jdGlvbigpe3ZhciB0LGU7Zm9yKEhjJiYodD0kYy5kb21haW4pJiZ0LmV4aXQoKTtfYzspe2U9X2MuZm4sX2M9X2MubmV4dDt0cnl7ZSgpfWNhdGNoKHQpe3Rocm93IF9jP0NjKCk6TmM9dm9pZCAwLHR9fU5jPXZvaWQgMCx0JiZ0LmVudGVyKCl9LEhjP0NjPWZ1bmN0aW9uKCl7JGMubmV4dFRpY2soTWMpfTpHYyYmIXdjPyhGYz0hMCxCYz1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcIlwiKSxuZXcgR2MoTWMpLm9ic2VydmUoQmMse2NoYXJhY3RlckRhdGE6ITB9KSxDYz1mdW5jdGlvbigpe0JjLmRhdGE9RmM9IUZjfSk6VmMmJlZjLnJlc29sdmU/KERjPVZjLnJlc29sdmUodm9pZCAwKSxxYz1EYy50aGVuLENjPWZ1bmN0aW9uKCl7cWMuY2FsbChEYyxNYyl9KTpDYz1mdW5jdGlvbigpe0tjLmNhbGwobixNYyl9KTt2YXIgSmMsUWMsWmMsdGYsZWY9WWN8fGZ1bmN0aW9uKHQpe3ZhciBlPXtmbjp0LG5leHQ6dm9pZCAwfTtOYyYmKE5jLm5leHQ9ZSksX2N8fChfYz1lLENjKCkpLE5jPWV9LHJmPWZ1bmN0aW9uKHQpe3ZhciBlLHI7dGhpcy5wcm9taXNlPW5ldyB0KGZ1bmN0aW9uKHQsbil7aWYodm9pZCAwIT09ZXx8dm9pZCAwIT09cil0aHJvdyBUeXBlRXJyb3IoXCJCYWQgUHJvbWlzZSBjb25zdHJ1Y3RvclwiKTtlPXQscj1ufSksdGhpcy5yZXNvbHZlPVl0KGUpLHRoaXMucmVqZWN0PVl0KHIpfSxuZj17ZjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IHJmKHQpfX0sb2Y9ZnVuY3Rpb24odCxlKXtpZihPKHQpLGcoZSkmJmUuY29uc3RydWN0b3I9PT10KXJldHVybiBlO3ZhciByPW5mLmYodCk7cmV0dXJuKDAsci5yZXNvbHZlKShlKSxyLnByb21pc2V9LGFmPWZ1bmN0aW9uKHQpe3RyeXtyZXR1cm57ZXJyb3I6ITEsdmFsdWU6dCgpfX1jYXRjaCh0KXtyZXR1cm57ZXJyb3I6ITAsdmFsdWU6dH19fSx1Zj16Yy5zZXQsc2Y9RnQoXCJzcGVjaWVzXCIpLGNmPVwiUHJvbWlzZVwiLGZmPVEuZ2V0LGxmPVEuc2V0LGhmPVEuZ2V0dGVyRm9yKGNmKSxwZj1TYyxkZj1uLlR5cGVFcnJvcix2Zj1uLmRvY3VtZW50LGdmPW4ucHJvY2Vzcyx5Zj1ydChcImZldGNoXCIpLG1mPW5mLmYsYmY9bWYsU2Y9XCJwcm9jZXNzXCI9PWwoZ2YpLHdmPSEhKHZmJiZ2Zi5jcmVhdGVFdmVudCYmbi5kaXNwYXRjaEV2ZW50KSxFZj1qdChjZixmdW5jdGlvbigpe2lmKE4ocGYpPT09U3RyaW5nKHBmKSl7aWYoNjY9PT1xaSlyZXR1cm4hMDtpZighU2YmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIFByb21pc2VSZWplY3Rpb25FdmVudClyZXR1cm4hMH1pZihxaT49NTEmJi9uYXRpdmUgY29kZS8udGVzdChwZikpcmV0dXJuITE7dmFyIHQ9cGYucmVzb2x2ZSgxKSxlPWZ1bmN0aW9uKHQpe3QoZnVuY3Rpb24oKXt9LGZ1bmN0aW9uKCl7fSl9O3JldHVybih0LmNvbnN0cnVjdG9yPXt9KVtzZl09ZSwhKHQudGhlbihmdW5jdGlvbigpe30paW5zdGFuY2VvZiBlKX0pLHhmPUVmfHwhdXIoZnVuY3Rpb24odCl7cGYuYWxsKHQpLmNhdGNoKGZ1bmN0aW9uKCl7fSl9KSxBZj1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4hKCFnKHQpfHxcImZ1bmN0aW9uXCIhPXR5cGVvZihlPXQudGhlbikpJiZlfSxSZj1mdW5jdGlvbih0LGUscil7aWYoIWUubm90aWZpZWQpe2Uubm90aWZpZWQ9ITA7dmFyIG49ZS5yZWFjdGlvbnM7ZWYoZnVuY3Rpb24oKXtmb3IodmFyIG89ZS52YWx1ZSxpPTE9PWUuc3RhdGUsYT0wO24ubGVuZ3RoPmE7KXt2YXIgdSxzLGMsZj1uW2ErK10sbD1pP2Yub2s6Zi5mYWlsLGg9Zi5yZXNvbHZlLHA9Zi5yZWplY3QsZD1mLmRvbWFpbjt0cnl7bD8oaXx8KDI9PT1lLnJlamVjdGlvbiYmUGYodCxlKSxlLnJlamVjdGlvbj0xKSwhMD09PWw/dT1vOihkJiZkLmVudGVyKCksdT1sKG8pLGQmJihkLmV4aXQoKSxjPSEwKSksdT09PWYucHJvbWlzZT9wKGRmKFwiUHJvbWlzZS1jaGFpbiBjeWNsZVwiKSk6KHM9QWYodSkpP3MuY2FsbCh1LGgscCk6aCh1KSk6cChvKX1jYXRjaCh0KXtkJiYhYyYmZC5leGl0KCkscCh0KX19ZS5yZWFjdGlvbnM9W10sZS5ub3RpZmllZD0hMSxyJiYhZS5yZWplY3Rpb24mJmpmKHQsZSl9KX19LE9mPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbyxpO3dmPygobz12Zi5jcmVhdGVFdmVudChcIkV2ZW50XCIpKS5wcm9taXNlPWUsby5yZWFzb249cixvLmluaXRFdmVudCh0LCExLCEwKSxuLmRpc3BhdGNoRXZlbnQobykpOm89e3Byb21pc2U6ZSxyZWFzb246cn0sKGk9bltcIm9uXCIrdF0pP2kobyk6XCJ1bmhhbmRsZWRyZWplY3Rpb25cIj09PXQmJmZ1bmN0aW9uKHQsZSl7dmFyIHI9bi5jb25zb2xlO3ImJnIuZXJyb3ImJigxPT09YXJndW1lbnRzLmxlbmd0aD9yLmVycm9yKHQpOnIuZXJyb3IodCxlKSl9KFwiVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uXCIscil9LGpmPWZ1bmN0aW9uKHQsZSl7dWYuY2FsbChuLGZ1bmN0aW9uKCl7dmFyIHIsbj1lLnZhbHVlO2lmKElmKGUpJiYocj1hZihmdW5jdGlvbigpe1NmP2dmLmVtaXQoXCJ1bmhhbmRsZWRSZWplY3Rpb25cIixuLHQpOk9mKFwidW5oYW5kbGVkcmVqZWN0aW9uXCIsdCxuKX0pLGUucmVqZWN0aW9uPVNmfHxJZihlKT8yOjEsci5lcnJvcikpdGhyb3cgci52YWx1ZX0pfSxJZj1mdW5jdGlvbih0KXtyZXR1cm4gMSE9PXQucmVqZWN0aW9uJiYhdC5wYXJlbnR9LFBmPWZ1bmN0aW9uKHQsZSl7dWYuY2FsbChuLGZ1bmN0aW9uKCl7U2Y/Z2YuZW1pdChcInJlamVjdGlvbkhhbmRsZWRcIix0KTpPZihcInJlamVjdGlvbmhhbmRsZWRcIix0LGUudmFsdWUpfSl9LFRmPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiBmdW5jdGlvbihvKXt0KGUscixvLG4pfX0sa2Y9ZnVuY3Rpb24odCxlLHIsbil7ZS5kb25lfHwoZS5kb25lPSEwLG4mJihlPW4pLGUudmFsdWU9cixlLnN0YXRlPTIsUmYodCxlLCEwKSl9LExmPWZ1bmN0aW9uKHQsZSxyLG4pe2lmKCFlLmRvbmUpe2UuZG9uZT0hMCxuJiYoZT1uKTt0cnl7aWYodD09PXIpdGhyb3cgZGYoXCJQcm9taXNlIGNhbid0IGJlIHJlc29sdmVkIGl0c2VsZlwiKTt2YXIgbz1BZihyKTtvP2VmKGZ1bmN0aW9uKCl7dmFyIG49e2RvbmU6ITF9O3RyeXtvLmNhbGwocixUZihMZix0LG4sZSksVGYoa2YsdCxuLGUpKX1jYXRjaChyKXtrZih0LG4scixlKX19KTooZS52YWx1ZT1yLGUuc3RhdGU9MSxSZih0LGUsITEpKX1jYXRjaChyKXtrZih0LHtkb25lOiExfSxyLGUpfX19O0VmJiYocGY9ZnVuY3Rpb24odCl7eHIodGhpcyxwZixjZiksWXQodCksSmMuY2FsbCh0aGlzKTt2YXIgZT1mZih0aGlzKTt0cnl7dChUZihMZix0aGlzLGUpLFRmKGtmLHRoaXMsZSkpfWNhdGNoKHQpe2tmKHRoaXMsZSx0KX19LChKYz1mdW5jdGlvbih0KXtsZih0aGlzLHt0eXBlOmNmLGRvbmU6ITEsbm90aWZpZWQ6ITEscGFyZW50OiExLHJlYWN0aW9uczpbXSxyZWplY3Rpb246ITEsc3RhdGU6MCx2YWx1ZTp2b2lkIDB9KX0pLnByb3RvdHlwZT1PcihwZi5wcm90b3R5cGUse3RoZW46ZnVuY3Rpb24odCxlKXt2YXIgcj1oZih0aGlzKSxuPW1mKFhyKHRoaXMscGYpKTtyZXR1cm4gbi5vaz1cImZ1bmN0aW9uXCIhPXR5cGVvZiB0fHx0LG4uZmFpbD1cImZ1bmN0aW9uXCI9PXR5cGVvZiBlJiZlLG4uZG9tYWluPVNmP2dmLmRvbWFpbjp2b2lkIDAsci5wYXJlbnQ9ITAsci5yZWFjdGlvbnMucHVzaChuKSwwIT1yLnN0YXRlJiZSZih0aGlzLHIsITEpLG4ucHJvbWlzZX0sY2F0Y2g6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAsdCl9fSksUWM9ZnVuY3Rpb24oKXt2YXIgdD1uZXcgSmMsZT1mZih0KTt0aGlzLnByb21pc2U9dCx0aGlzLnJlc29sdmU9VGYoTGYsdCxlKSx0aGlzLnJlamVjdD1UZihrZix0LGUpfSxuZi5mPW1mPWZ1bmN0aW9uKHQpe3JldHVybiB0PT09cGZ8fHQ9PT1aYz9uZXcgUWModCk6YmYodCl9LFwiZnVuY3Rpb25cIj09dHlwZW9mIFNjJiYodGY9U2MucHJvdG90eXBlLnRoZW4sWihTYy5wcm90b3R5cGUsXCJ0aGVuXCIsZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzO3JldHVybiBuZXcgcGYoZnVuY3Rpb24odCxlKXt0Zi5jYWxsKHIsdCxlKX0pLnRoZW4odCxlKX0se3Vuc2FmZTohMH0pLFwiZnVuY3Rpb25cIj09dHlwZW9mIHlmJiZQdCh7Z2xvYmFsOiEwLGVudW1lcmFibGU6ITAsZm9yY2VkOiEwfSx7ZmV0Y2g6ZnVuY3Rpb24odCl7cmV0dXJuIG9mKHBmLHlmLmFwcGx5KG4sYXJndW1lbnRzKSl9fSkpKSxQdCh7Z2xvYmFsOiEwLHdyYXA6ITAsZm9yY2VkOkVmfSx7UHJvbWlzZTpwZn0pLExlKHBmLGNmLCExKSxJcihjZiksWmM9cnQoY2YpLFB0KHt0YXJnZXQ6Y2Ysc3RhdDohMCxmb3JjZWQ6RWZ9LHtyZWplY3Q6ZnVuY3Rpb24odCl7dmFyIGU9bWYodGhpcyk7cmV0dXJuIGUucmVqZWN0LmNhbGwodm9pZCAwLHQpLGUucHJvbWlzZX19KSxQdCh7dGFyZ2V0OmNmLHN0YXQ6ITAsZm9yY2VkOkVmfSx7cmVzb2x2ZTpmdW5jdGlvbih0KXtyZXR1cm4gb2YodGhpcyx0KX19KSxQdCh7dGFyZ2V0OmNmLHN0YXQ6ITAsZm9yY2VkOnhmfSx7YWxsOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMscj1tZihlKSxuPXIucmVzb2x2ZSxvPXIucmVqZWN0LGk9YWYoZnVuY3Rpb24oKXt2YXIgcj1ZdChlLnJlc29sdmUpLGk9W10sYT0wLHU9MTtFcih0LGZ1bmN0aW9uKHQpe3ZhciBzPWErKyxjPSExO2kucHVzaCh2b2lkIDApLHUrKyxyLmNhbGwoZSx0KS50aGVuKGZ1bmN0aW9uKHQpe2N8fChjPSEwLGlbc109dCwtLXV8fG4oaSkpfSxvKX0pLC0tdXx8bihpKX0pO3JldHVybiBpLmVycm9yJiZvKGkudmFsdWUpLHIucHJvbWlzZX0scmFjZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLHI9bWYoZSksbj1yLnJlamVjdCxvPWFmKGZ1bmN0aW9uKCl7dmFyIG89WXQoZS5yZXNvbHZlKTtFcih0LGZ1bmN0aW9uKHQpe28uY2FsbChlLHQpLnRoZW4oci5yZXNvbHZlLG4pfSl9KTtyZXR1cm4gby5lcnJvciYmbihvLnZhbHVlKSxyLnByb21pc2V9fSksUHQoe3RhcmdldDpcIlByb21pc2VcIixzdGF0OiEwfSx7YWxsU2V0dGxlZDpmdW5jdGlvbih0KXt2YXIgZT10aGlzLHI9bmYuZihlKSxuPXIucmVzb2x2ZSxvPXIucmVqZWN0LGk9YWYoZnVuY3Rpb24oKXt2YXIgcj1ZdChlLnJlc29sdmUpLG89W10saT0wLGE9MTtFcih0LGZ1bmN0aW9uKHQpe3ZhciB1PWkrKyxzPSExO28ucHVzaCh2b2lkIDApLGErKyxyLmNhbGwoZSx0KS50aGVuKGZ1bmN0aW9uKHQpe3N8fChzPSEwLG9bdV09e3N0YXR1czpcImZ1bGZpbGxlZFwiLHZhbHVlOnR9LC0tYXx8bihvKSl9LGZ1bmN0aW9uKHQpe3N8fChzPSEwLG9bdV09e3N0YXR1czpcInJlamVjdGVkXCIscmVhc29uOnR9LC0tYXx8bihvKSl9KX0pLC0tYXx8bihvKX0pO3JldHVybiBpLmVycm9yJiZvKGkudmFsdWUpLHIucHJvbWlzZX19KTt2YXIgVWY9ISFTYyYmbyhmdW5jdGlvbigpe1NjLnByb3RvdHlwZS5maW5hbGx5LmNhbGwoe3RoZW46ZnVuY3Rpb24oKXt9fSxmdW5jdGlvbigpe30pfSk7UHQoe3RhcmdldDpcIlByb21pc2VcIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDpVZn0se2ZpbmFsbHk6ZnVuY3Rpb24odCl7dmFyIGU9WHIodGhpcyxydChcIlByb21pc2VcIikpLHI9XCJmdW5jdGlvblwiPT10eXBlb2YgdDtyZXR1cm4gdGhpcy50aGVuKHI/ZnVuY3Rpb24ocil7cmV0dXJuIG9mKGUsdCgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KX06dCxyP2Z1bmN0aW9uKHIpe3JldHVybiBvZihlLHQoKSkudGhlbihmdW5jdGlvbigpe3Rocm93IHJ9KX06dCl9fSksXCJmdW5jdGlvblwiIT10eXBlb2YgU2N8fFNjLnByb3RvdHlwZS5maW5hbGx5fHxaKFNjLnByb3RvdHlwZSxcImZpbmFsbHlcIixydChcIlByb21pc2VcIikucHJvdG90eXBlLmZpbmFsbHkpO3ZhciBNZj1RLnNldCxfZj1RLmdldHRlckZvcihcIkFnZ3JlZ2F0ZUVycm9yXCIpLE5mPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcztpZighKHIgaW5zdGFuY2VvZiBOZikpcmV0dXJuIG5ldyBOZih0LGUpO0ZlJiYocj1GZShuZXcgRXJyb3IoZSksT2UocikpKTt2YXIgbj1bXTtyZXR1cm4gRXIodCxuLnB1c2gsbiksaT9NZihyLHtlcnJvcnM6bix0eXBlOlwiQWdncmVnYXRlRXJyb3JcIn0pOnIuZXJyb3JzPW4sdm9pZCAwIT09ZSYmUChyLFwibWVzc2FnZVwiLFN0cmluZyhlKSkscn07TmYucHJvdG90eXBlPSR0KEVycm9yLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6Yyg1LE5mKSxtZXNzYWdlOmMoNSxcIlwiKSxuYW1lOmMoNSxcIkFnZ3JlZ2F0ZUVycm9yXCIpfSksaSYmSS5mKE5mLnByb3RvdHlwZSxcImVycm9yc1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gX2YodGhpcykuZXJyb3JzfSxjb25maWd1cmFibGU6ITB9KSxQdCh7Z2xvYmFsOiEwfSx7QWdncmVnYXRlRXJyb3I6TmZ9KSxQdCh7dGFyZ2V0OlwiUHJvbWlzZVwiLHN0YXQ6ITB9LHt0cnk6ZnVuY3Rpb24odCl7dmFyIGU9bmYuZih0aGlzKSxyPWFmKHQpO3JldHVybihyLmVycm9yP2UucmVqZWN0OmUucmVzb2x2ZSkoci52YWx1ZSksZS5wcm9taXNlfX0pLFB0KHt0YXJnZXQ6XCJQcm9taXNlXCIsc3RhdDohMH0se2FueTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLHI9bmYuZihlKSxuPXIucmVzb2x2ZSxvPXIucmVqZWN0LGk9YWYoZnVuY3Rpb24oKXt2YXIgcj1ZdChlLnJlc29sdmUpLGk9W10sYT0wLHU9MSxzPSExO0VyKHQsZnVuY3Rpb24odCl7dmFyIGM9YSsrLGY9ITE7aS5wdXNoKHZvaWQgMCksdSsrLHIuY2FsbChlLHQpLnRoZW4oZnVuY3Rpb24odCl7Znx8c3x8KHM9ITAsbih0KSl9LGZ1bmN0aW9uKHQpe2Z8fHN8fChmPSEwLGlbY109dCwtLXV8fG8obmV3KHJ0KFwiQWdncmVnYXRlRXJyb3JcIikpKGksXCJObyBvbmUgcHJvbWlzZSByZXNvbHZlZFwiKSkpfSl9KSwtLXV8fG8obmV3KHJ0KFwiQWdncmVnYXRlRXJyb3JcIikpKGksXCJObyBvbmUgcHJvbWlzZSByZXNvbHZlZFwiKSl9KTtyZXR1cm4gaS5lcnJvciYmbyhpLnZhbHVlKSxyLnByb21pc2V9fSksWnQoXCJQcm9taXNlXCIsXCJmaW5hbGx5XCIpO3ZhciBDZj17c2VhcmNoUGFyYW1zOlwiVVJMU2VhcmNoUGFyYW1zXCJpbiBzZWxmLGl0ZXJhYmxlOlwiU3ltYm9sXCJpbiBzZWxmJiZcIml0ZXJhdG9yXCJpbiBTeW1ib2wsYmxvYjpcIkZpbGVSZWFkZXJcImluIHNlbGYmJlwiQmxvYlwiaW4gc2VsZiYmZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBCbG9iLCEwfWNhdGNoKHQpe3JldHVybiExfX0oKSxmb3JtRGF0YTpcIkZvcm1EYXRhXCJpbiBzZWxmLGFycmF5QnVmZmVyOlwiQXJyYXlCdWZmZXJcImluIHNlbGZ9O2lmKENmLmFycmF5QnVmZmVyKXZhciBGZj1bXCJbb2JqZWN0IEludDhBcnJheV1cIixcIltvYmplY3QgVWludDhBcnJheV1cIixcIltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldXCIsXCJbb2JqZWN0IEludDE2QXJyYXldXCIsXCJbb2JqZWN0IFVpbnQxNkFycmF5XVwiLFwiW29iamVjdCBJbnQzMkFycmF5XVwiLFwiW29iamVjdCBVaW50MzJBcnJheV1cIixcIltvYmplY3QgRmxvYXQzMkFycmF5XVwiLFwiW29iamVjdCBGbG9hdDY0QXJyYXldXCJdLEJmPUFycmF5QnVmZmVyLmlzVmlld3x8ZnVuY3Rpb24odCl7cmV0dXJuIHQmJkZmLmluZGV4T2YoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpKT4tMX07ZnVuY3Rpb24gRGYodCl7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIHQmJih0PVN0cmluZyh0KSksL1teYS16MC05XFwtIyQlJicqKy5eX2B8fl0vaS50ZXN0KHQpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGNoYXJhY3RlciBpbiBoZWFkZXIgZmllbGQgbmFtZVwiKTtyZXR1cm4gdC50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIHFmKHQpe3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiB0JiYodD1TdHJpbmcodCkpLHR9ZnVuY3Rpb24gemYodCl7dmFyIGU9e25leHQ6ZnVuY3Rpb24oKXt2YXIgZT10LnNoaWZ0KCk7cmV0dXJue2RvbmU6dm9pZCAwPT09ZSx2YWx1ZTplfX19O3JldHVybiBDZi5pdGVyYWJsZSYmKGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBlfSksZX1mdW5jdGlvbiBXZih0KXt0aGlzLm1hcD17fSx0IGluc3RhbmNlb2YgV2Y/dC5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7dGhpcy5hcHBlbmQoZSx0KX0sdGhpcyk6QXJyYXkuaXNBcnJheSh0KT90LmZvckVhY2goZnVuY3Rpb24odCl7dGhpcy5hcHBlbmQodFswXSx0WzFdKX0sdGhpcyk6dCYmT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModCkuZm9yRWFjaChmdW5jdGlvbihlKXt0aGlzLmFwcGVuZChlLHRbZV0pfSx0aGlzKX1mdW5jdGlvbiBLZih0KXtpZih0LmJvZHlVc2VkKXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgVHlwZUVycm9yKFwiQWxyZWFkeSByZWFkXCIpKTt0LmJvZHlVc2VkPSEwfWZ1bmN0aW9uIEdmKHQpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlLHIpe3Qub25sb2FkPWZ1bmN0aW9uKCl7ZSh0LnJlc3VsdCl9LHQub25lcnJvcj1mdW5jdGlvbigpe3IodC5lcnJvcil9fSl9ZnVuY3Rpb24gJGYodCl7dmFyIGU9bmV3IEZpbGVSZWFkZXIscj1HZihlKTtyZXR1cm4gZS5yZWFkQXNBcnJheUJ1ZmZlcih0KSxyfWZ1bmN0aW9uIFZmKHQpe2lmKHQuc2xpY2UpcmV0dXJuIHQuc2xpY2UoMCk7dmFyIGU9bmV3IFVpbnQ4QXJyYXkodC5ieXRlTGVuZ3RoKTtyZXR1cm4gZS5zZXQobmV3IFVpbnQ4QXJyYXkodCkpLGUuYnVmZmVyfWZ1bmN0aW9uIEhmKCl7cmV0dXJuIHRoaXMuYm9keVVzZWQ9ITEsdGhpcy5faW5pdEJvZHk9ZnVuY3Rpb24odCl7dmFyIGU7dGhpcy5fYm9keUluaXQ9dCx0P1wic3RyaW5nXCI9PXR5cGVvZiB0P3RoaXMuX2JvZHlUZXh0PXQ6Q2YuYmxvYiYmQmxvYi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih0KT90aGlzLl9ib2R5QmxvYj10OkNmLmZvcm1EYXRhJiZGb3JtRGF0YS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih0KT90aGlzLl9ib2R5Rm9ybURhdGE9dDpDZi5zZWFyY2hQYXJhbXMmJlVSTFNlYXJjaFBhcmFtcy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih0KT90aGlzLl9ib2R5VGV4dD10LnRvU3RyaW5nKCk6Q2YuYXJyYXlCdWZmZXImJkNmLmJsb2ImJihlPXQpJiZEYXRhVmlldy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKT8odGhpcy5fYm9keUFycmF5QnVmZmVyPVZmKHQuYnVmZmVyKSx0aGlzLl9ib2R5SW5pdD1uZXcgQmxvYihbdGhpcy5fYm9keUFycmF5QnVmZmVyXSkpOkNmLmFycmF5QnVmZmVyJiYoQXJyYXlCdWZmZXIucHJvdG90eXBlLmlzUHJvdG90eXBlT2YodCl8fEJmKHQpKT90aGlzLl9ib2R5QXJyYXlCdWZmZXI9VmYodCk6dGhpcy5fYm9keVRleHQ9dD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCk6dGhpcy5fYm9keVRleHQ9XCJcIix0aGlzLmhlYWRlcnMuZ2V0KFwiY29udGVudC10eXBlXCIpfHwoXCJzdHJpbmdcIj09dHlwZW9mIHQ/dGhpcy5oZWFkZXJzLnNldChcImNvbnRlbnQtdHlwZVwiLFwidGV4dC9wbGFpbjtjaGFyc2V0PVVURi04XCIpOnRoaXMuX2JvZHlCbG9iJiZ0aGlzLl9ib2R5QmxvYi50eXBlP3RoaXMuaGVhZGVycy5zZXQoXCJjb250ZW50LXR5cGVcIix0aGlzLl9ib2R5QmxvYi50eXBlKTpDZi5zZWFyY2hQYXJhbXMmJlVSTFNlYXJjaFBhcmFtcy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih0KSYmdGhpcy5oZWFkZXJzLnNldChcImNvbnRlbnQtdHlwZVwiLFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9VVRGLThcIikpfSxDZi5ibG9iJiYodGhpcy5ibG9iPWZ1bmN0aW9uKCl7dmFyIHQ9S2YodGhpcyk7aWYodClyZXR1cm4gdDtpZih0aGlzLl9ib2R5QmxvYilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2JvZHlCbG9iKTtpZih0aGlzLl9ib2R5QXJyYXlCdWZmZXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgQmxvYihbdGhpcy5fYm9keUFycmF5QnVmZmVyXSkpO2lmKHRoaXMuX2JvZHlGb3JtRGF0YSl0aHJvdyBuZXcgRXJyb3IoXCJjb3VsZCBub3QgcmVhZCBGb3JtRGF0YSBib2R5IGFzIGJsb2JcIik7cmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgQmxvYihbdGhpcy5fYm9keVRleHRdKSl9LHRoaXMuYXJyYXlCdWZmZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYm9keUFycmF5QnVmZmVyP0tmKHRoaXMpfHxQcm9taXNlLnJlc29sdmUodGhpcy5fYm9keUFycmF5QnVmZmVyKTp0aGlzLmJsb2IoKS50aGVuKCRmKX0pLHRoaXMudGV4dD1mdW5jdGlvbigpe3ZhciB0LGUscixuPUtmKHRoaXMpO2lmKG4pcmV0dXJuIG47aWYodGhpcy5fYm9keUJsb2IpcmV0dXJuIHQ9dGhpcy5fYm9keUJsb2Iscj1HZihlPW5ldyBGaWxlUmVhZGVyKSxlLnJlYWRBc1RleHQodCkscjtpZih0aGlzLl9ib2R5QXJyYXlCdWZmZXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZShmdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IFVpbnQ4QXJyYXkodCkscj1uZXcgQXJyYXkoZS5sZW5ndGgpLG49MDtuPGUubGVuZ3RoO24rKylyW25dPVN0cmluZy5mcm9tQ2hhckNvZGUoZVtuXSk7cmV0dXJuIHIuam9pbihcIlwiKX0odGhpcy5fYm9keUFycmF5QnVmZmVyKSk7aWYodGhpcy5fYm9keUZvcm1EYXRhKXRocm93IG5ldyBFcnJvcihcImNvdWxkIG5vdCByZWFkIEZvcm1EYXRhIGJvZHkgYXMgdGV4dFwiKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2JvZHlUZXh0KX0sQ2YuZm9ybURhdGEmJih0aGlzLmZvcm1EYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGV4dCgpLnRoZW4oSmYpfSksdGhpcy5qc29uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGV4dCgpLnRoZW4oSlNPTi5wYXJzZSl9LHRoaXN9V2YucHJvdG90eXBlLmFwcGVuZD1mdW5jdGlvbih0LGUpe3Q9RGYodCksZT1xZihlKTt2YXIgcj10aGlzLm1hcFt0XTt0aGlzLm1hcFt0XT1yP3IrXCIsIFwiK2U6ZX0sV2YucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbih0KXtkZWxldGUgdGhpcy5tYXBbRGYodCldfSxXZi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0PURmKHQpLHRoaXMuaGFzKHQpP3RoaXMubWFwW3RdOm51bGx9LFdmLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubWFwLmhhc093blByb3BlcnR5KERmKHQpKX0sV2YucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LGUpe3RoaXMubWFwW0RmKHQpXT1xZihlKX0sV2YucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gdGhpcy5tYXApdGhpcy5tYXAuaGFzT3duUHJvcGVydHkocikmJnQuY2FsbChlLHRoaXMubWFwW3JdLHIsdGhpcyl9LFdmLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHRoaXMuZm9yRWFjaChmdW5jdGlvbihlLHIpe3QucHVzaChyKX0pLHpmKHQpfSxXZi5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHRoaXMuZm9yRWFjaChmdW5jdGlvbihlKXt0LnB1c2goZSl9KSx6Zih0KX0sV2YucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy5mb3JFYWNoKGZ1bmN0aW9uKGUscil7dC5wdXNoKFtyLGVdKX0pLHpmKHQpfSxDZi5pdGVyYWJsZSYmKFdmLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPVdmLnByb3RvdHlwZS5lbnRyaWVzKTt2YXIgWGY9W1wiREVMRVRFXCIsXCJHRVRcIixcIkhFQURcIixcIk9QVElPTlNcIixcIlBPU1RcIixcIlBVVFwiXTtmdW5jdGlvbiBZZih0LGUpe3ZhciByLG4sbz0oZT1lfHx7fSkuYm9keTtpZih0IGluc3RhbmNlb2YgWWYpe2lmKHQuYm9keVVzZWQpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFscmVhZHkgcmVhZFwiKTt0aGlzLnVybD10LnVybCx0aGlzLmNyZWRlbnRpYWxzPXQuY3JlZGVudGlhbHMsZS5oZWFkZXJzfHwodGhpcy5oZWFkZXJzPW5ldyBXZih0LmhlYWRlcnMpKSx0aGlzLm1ldGhvZD10Lm1ldGhvZCx0aGlzLm1vZGU9dC5tb2RlLHRoaXMuc2lnbmFsPXQuc2lnbmFsLG98fG51bGw9PXQuX2JvZHlJbml0fHwobz10Ll9ib2R5SW5pdCx0LmJvZHlVc2VkPSEwKX1lbHNlIHRoaXMudXJsPVN0cmluZyh0KTtpZih0aGlzLmNyZWRlbnRpYWxzPWUuY3JlZGVudGlhbHN8fHRoaXMuY3JlZGVudGlhbHN8fFwic2FtZS1vcmlnaW5cIiwhZS5oZWFkZXJzJiZ0aGlzLmhlYWRlcnN8fCh0aGlzLmhlYWRlcnM9bmV3IFdmKGUuaGVhZGVycykpLHRoaXMubWV0aG9kPShuPShyPWUubWV0aG9kfHx0aGlzLm1ldGhvZHx8XCJHRVRcIikudG9VcHBlckNhc2UoKSxYZi5pbmRleE9mKG4pPi0xP246ciksdGhpcy5tb2RlPWUubW9kZXx8dGhpcy5tb2RlfHxudWxsLHRoaXMuc2lnbmFsPWUuc2lnbmFsfHx0aGlzLnNpZ25hbCx0aGlzLnJlZmVycmVyPW51bGwsKFwiR0VUXCI9PT10aGlzLm1ldGhvZHx8XCJIRUFEXCI9PT10aGlzLm1ldGhvZCkmJm8pdGhyb3cgbmV3IFR5cGVFcnJvcihcIkJvZHkgbm90IGFsbG93ZWQgZm9yIEdFVCBvciBIRUFEIHJlcXVlc3RzXCIpO3RoaXMuX2luaXRCb2R5KG8pfWZ1bmN0aW9uIEpmKHQpe3ZhciBlPW5ldyBGb3JtRGF0YTtyZXR1cm4gdC50cmltKCkuc3BsaXQoXCImXCIpLmZvckVhY2goZnVuY3Rpb24odCl7aWYodCl7dmFyIHI9dC5zcGxpdChcIj1cIiksbj1yLnNoaWZ0KCkucmVwbGFjZSgvXFwrL2csXCIgXCIpLG89ci5qb2luKFwiPVwiKS5yZXBsYWNlKC9cXCsvZyxcIiBcIik7ZS5hcHBlbmQoZGVjb2RlVVJJQ29tcG9uZW50KG4pLGRlY29kZVVSSUNvbXBvbmVudChvKSl9fSksZX1mdW5jdGlvbiBRZih0LGUpe2V8fChlPXt9KSx0aGlzLnR5cGU9XCJkZWZhdWx0XCIsdGhpcy5zdGF0dXM9dm9pZCAwPT09ZS5zdGF0dXM/MjAwOmUuc3RhdHVzLHRoaXMub2s9dGhpcy5zdGF0dXM+PTIwMCYmdGhpcy5zdGF0dXM8MzAwLHRoaXMuc3RhdHVzVGV4dD1cInN0YXR1c1RleHRcImluIGU/ZS5zdGF0dXNUZXh0OlwiT0tcIix0aGlzLmhlYWRlcnM9bmV3IFdmKGUuaGVhZGVycyksdGhpcy51cmw9ZS51cmx8fFwiXCIsdGhpcy5faW5pdEJvZHkodCl9WWYucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBZZih0aGlzLHtib2R5OnRoaXMuX2JvZHlJbml0fSl9LEhmLmNhbGwoWWYucHJvdG90eXBlKSxIZi5jYWxsKFFmLnByb3RvdHlwZSksUWYucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBRZih0aGlzLl9ib2R5SW5pdCx7c3RhdHVzOnRoaXMuc3RhdHVzLHN0YXR1c1RleHQ6dGhpcy5zdGF0dXNUZXh0LGhlYWRlcnM6bmV3IFdmKHRoaXMuaGVhZGVycyksdXJsOnRoaXMudXJsfSl9LFFmLmVycm9yPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IFFmKG51bGwse3N0YXR1czowLHN0YXR1c1RleHQ6XCJcIn0pO3JldHVybiB0LnR5cGU9XCJlcnJvclwiLHR9O3ZhciBaZj1bMzAxLDMwMiwzMDMsMzA3LDMwOF07UWYucmVkaXJlY3Q9ZnVuY3Rpb24odCxlKXtpZigtMT09PVpmLmluZGV4T2YoZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnZhbGlkIHN0YXR1cyBjb2RlXCIpO3JldHVybiBuZXcgUWYobnVsbCx7c3RhdHVzOmUsaGVhZGVyczp7bG9jYXRpb246dH19KX07dmFyIHRsPXNlbGYuRE9NRXhjZXB0aW9uO3RyeXtuZXcgdGx9Y2F0Y2godCl7KHRsPWZ1bmN0aW9uKHQsZSl7dGhpcy5tZXNzYWdlPXQsdGhpcy5uYW1lPWU7dmFyIHI9RXJyb3IodCk7dGhpcy5zdGFjaz1yLnN0YWNrfSkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKSx0bC5wcm90b3R5cGUuY29uc3RydWN0b3I9dGx9ZnVuY3Rpb24gZWwodCxlKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocixuKXt2YXIgbz1uZXcgWWYodCxlKTtpZihvLnNpZ25hbCYmby5zaWduYWwuYWJvcnRlZClyZXR1cm4gbihuZXcgdGwoXCJBYm9ydGVkXCIsXCJBYm9ydEVycm9yXCIpKTt2YXIgaT1uZXcgWE1MSHR0cFJlcXVlc3Q7ZnVuY3Rpb24gYSgpe2kuYWJvcnQoKX1pLm9ubG9hZD1mdW5jdGlvbigpe3ZhciB0LGUsbj17c3RhdHVzOmkuc3RhdHVzLHN0YXR1c1RleHQ6aS5zdGF0dXNUZXh0LGhlYWRlcnM6KHQ9aS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKXx8XCJcIixlPW5ldyBXZix0LnJlcGxhY2UoL1xccj9cXG5bXFx0IF0rL2csXCIgXCIpLnNwbGl0KC9cXHI/XFxuLykuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgcj10LnNwbGl0KFwiOlwiKSxuPXIuc2hpZnQoKS50cmltKCk7aWYobil7dmFyIG89ci5qb2luKFwiOlwiKS50cmltKCk7ZS5hcHBlbmQobixvKX19KSxlKX07bi51cmw9XCJyZXNwb25zZVVSTFwiaW4gaT9pLnJlc3BvbnNlVVJMOm4uaGVhZGVycy5nZXQoXCJYLVJlcXVlc3QtVVJMXCIpLHIobmV3IFFmKFwicmVzcG9uc2VcImluIGk/aS5yZXNwb25zZTppLnJlc3BvbnNlVGV4dCxuKSl9LGkub25lcnJvcj1mdW5jdGlvbigpe24obmV3IFR5cGVFcnJvcihcIk5ldHdvcmsgcmVxdWVzdCBmYWlsZWRcIikpfSxpLm9udGltZW91dD1mdW5jdGlvbigpe24obmV3IFR5cGVFcnJvcihcIk5ldHdvcmsgcmVxdWVzdCBmYWlsZWRcIikpfSxpLm9uYWJvcnQ9ZnVuY3Rpb24oKXtuKG5ldyB0bChcIkFib3J0ZWRcIixcIkFib3J0RXJyb3JcIikpfSxpLm9wZW4oby5tZXRob2Qsby51cmwsITApLFwiaW5jbHVkZVwiPT09by5jcmVkZW50aWFscz9pLndpdGhDcmVkZW50aWFscz0hMDpcIm9taXRcIj09PW8uY3JlZGVudGlhbHMmJihpLndpdGhDcmVkZW50aWFscz0hMSksXCJyZXNwb25zZVR5cGVcImluIGkmJkNmLmJsb2ImJihpLnJlc3BvbnNlVHlwZT1cImJsb2JcIiksby5oZWFkZXJzLmZvckVhY2goZnVuY3Rpb24odCxlKXtpLnNldFJlcXVlc3RIZWFkZXIoZSx0KX0pLG8uc2lnbmFsJiYoby5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsYSksaS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT09aS5yZWFkeVN0YXRlJiZvLnNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKFwiYWJvcnRcIixhKX0pLGkuc2VuZCh2b2lkIDA9PT1vLl9ib2R5SW5pdD9udWxsOm8uX2JvZHlJbml0KX0pfWVsLnBvbHlmaWxsPSEwLHNlbGYuZmV0Y2h8fChzZWxmLmZldGNoPWVsLHNlbGYuSGVhZGVycz1XZixzZWxmLlJlcXVlc3Q9WWYsc2VsZi5SZXNwb25zZT1RZik7dmFyIHJsPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsbmw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxvbD1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLGlsPWZ1bmN0aW9uKCl7dHJ5e2lmKCFPYmplY3QuYXNzaWduKXJldHVybiExO3ZhciB0PW5ldyBTdHJpbmcoXCJhYmNcIik7aWYodFs1XT1cImRlXCIsXCI1XCI9PT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KVswXSlyZXR1cm4hMTtmb3IodmFyIGU9e30scj0wO3I8MTA7cisrKWVbXCJfXCIrU3RyaW5nLmZyb21DaGFyQ29kZShyKV09cjtpZihcIjAxMjM0NTY3ODlcIiE9PU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX0pLmpvaW4oXCJcIikpcmV0dXJuITE7dmFyIG49e307cmV0dXJuXCJhYmNkZWZnaGlqa2xtbm9wcXJzdFwiLnNwbGl0KFwiXCIpLmZvckVhY2goZnVuY3Rpb24odCl7blt0XT10fSksXCJhYmNkZWZnaGlqa2xtbm9wcXJzdFwiPT09T2JqZWN0LmtleXMoT2JqZWN0LmFzc2lnbih7fSxuKSkuam9pbihcIlwiKX1jYXRjaCh0KXtyZXR1cm4hMX19KCk/T2JqZWN0LmFzc2lnbjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgcixuLG89YXJndW1lbnRzLGk9ZnVuY3Rpb24odCl7aWYobnVsbD09dCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiT2JqZWN0LmFzc2lnbiBjYW5ub3QgYmUgY2FsbGVkIHdpdGggbnVsbCBvciB1bmRlZmluZWRcIik7cmV0dXJuIE9iamVjdCh0KX0odCksYT0xO2E8YXJndW1lbnRzLmxlbmd0aDthKyspe2Zvcih2YXIgdSBpbiByPU9iamVjdChvW2FdKSlubC5jYWxsKHIsdSkmJihpW3VdPXJbdV0pO2lmKHJsKXtuPXJsKHIpO2Zvcih2YXIgcz0wO3M8bi5sZW5ndGg7cysrKW9sLmNhbGwocixuW3NdKSYmKGlbbltzXV09cltuW3NdXSl9fXJldHVybiBpfTtPYmplY3QuYXNzaWduPWlsfSgpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/polyfills/polyfill-nomodule.js\n");

/***/ }),

/***/ "./node_modules/next/dist/client/polyfills.js":
/*!****************************************************!*\
  !*** ./node_modules/next/dist/client/polyfills.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("/* WEBPACK VAR INJECTION */(function(module) {\n\n__webpack_require__(/*! next/dist/build/polyfills/polyfill-nomodule */ \"./node_modules/next/dist/build/polyfills/polyfill-nomodule.js\");\n\n;\n    var _a, _b;\n    // Legacy CSS implementations will `eval` browser code in a Node.js context\n    // to extract CSS. For backwards compatibility, we need to check we're in a\n    // browser context before continuing.\n    if (typeof self !== 'undefined' &&\n        // AMP / No-JS mode does not inject these helpers:\n        '$RefreshHelpers$' in self) {\n        var currentExports = module.__proto__.exports;\n        var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n        // This cannot happen in MainTemplate because the exports mismatch between\n        // templating and execution.\n        self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.i);\n        // A module can be accepted automatically based on its exports, e.g. when\n        // it is a Refresh Boundary.\n        if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n            // Save the previous exports on update so we can compare the boundary\n            // signatures.\n            module.hot.dispose(function (data) {\n                data.prevExports = currentExports;\n            });\n            // Unconditionally accept an update to this module, we'll check if it's\n            // still a Refresh Boundary later.\n            module.hot.accept();\n            // This field is set when the previous version of this module was a\n            // Refresh Boundary, letting us know we need to check for invalidation or\n            // enqueue an update.\n            if (prevExports !== null) {\n                // A boundary can become ineligible if its exports are incompatible\n                // with the previous exports.\n                //\n                // For example, if you add/remove/change exports, we'll want to\n                // re-execute the importing modules, and force those components to\n                // re-render. Similarly, if you convert a class component to a\n                // function, we want to invalidate the boundary.\n                if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n                    module.hot.invalidate();\n                }\n                else {\n                    self.$RefreshHelpers$.scheduleUpdate();\n                }\n            }\n        }\n        else {\n            // Since we just executed the code for the module, it's possible that the\n            // new exports made it ineligible for being a boundary.\n            // We only care about the case when we were _previously_ a boundary,\n            // because we already accepted this update (accidental side effect).\n            var isNoLongerABoundary = prevExports !== null;\n            if (isNoLongerABoundary) {\n                module.hot.invalidate();\n            }\n        }\n    }\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/module.js */ \"./node_modules/webpack/buildin/module.js\")(module)))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL2NsaWVudC9wb2x5ZmlsbHMuanM/NDAzNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcG9seWZpbGxzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICduZXh0L2Rpc3QvYnVpbGQvcG9seWZpbGxzL3BvbHlmaWxsLW5vbW9kdWxlJ1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/polyfills.js\n");

/***/ }),

/***/ "./node_modules/webpack/buildin/global.js":
/*!***********************************!*\
  !*** (webpack)/buildin/global.js ***!
  \***********************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLyh3ZWJwYWNrKS9idWlsZGluL2dsb2JhbC5qcz9jZDAwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNENBQTRDOztBQUU1QyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGc7XG5cbi8vIFRoaXMgd29ya3MgaW4gbm9uLXN0cmljdCBtb2RlXG5nID0gKGZ1bmN0aW9uKCkge1xuXHRyZXR1cm4gdGhpcztcbn0pKCk7XG5cbnRyeSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxuXHRnID0gZyB8fCBuZXcgRnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpO1xufSBjYXRjaCAoZSkge1xuXHQvLyBUaGlzIHdvcmtzIGlmIHRoZSB3aW5kb3cgcmVmZXJlbmNlIGlzIGF2YWlsYWJsZVxuXHRpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIikgZyA9IHdpbmRvdztcbn1cblxuLy8gZyBjYW4gc3RpbGwgYmUgdW5kZWZpbmVkLCBidXQgbm90aGluZyB0byBkbyBhYm91dCBpdC4uLlxuLy8gV2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3Ncbi8vIGVhc2llciB0byBoYW5kbGUgdGhpcyBjYXNlLiBpZighZ2xvYmFsKSB7IC4uLn1cblxubW9kdWxlLmV4cG9ydHMgPSBnO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/global.js\n");

/***/ }),

/***/ "./node_modules/webpack/buildin/module.js":
/*!***********************************!*\
  !*** (webpack)/buildin/module.js ***!
  \***********************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLyh3ZWJwYWNrKS9idWlsZGluL21vZHVsZS5qcz9jZWQyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihtb2R1bGUpIHtcblx0aWYgKCFtb2R1bGUud2VicGFja1BvbHlmaWxsKSB7XG5cdFx0bW9kdWxlLmRlcHJlY2F0ZSA9IGZ1bmN0aW9uKCkge307XG5cdFx0bW9kdWxlLnBhdGhzID0gW107XG5cdFx0Ly8gbW9kdWxlLnBhcmVudCA9IHVuZGVmaW5lZCBieSBkZWZhdWx0XG5cdFx0aWYgKCFtb2R1bGUuY2hpbGRyZW4pIG1vZHVsZS5jaGlsZHJlbiA9IFtdO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUsIFwibG9hZGVkXCIsIHtcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRnZXQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRyZXR1cm4gbW9kdWxlLmw7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXCJpZFwiLCB7XG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRcdFx0Z2V0OiBmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIG1vZHVsZS5pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdG1vZHVsZS53ZWJwYWNrUG9seWZpbGwgPSAxO1xuXHR9XG5cdHJldHVybiBtb2R1bGU7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/module.js\n");

/***/ })

},[["./node_modules/next/dist/client/polyfills.js","webpack"]]]);