// ==UserScript==
// @name ai helper
// @namespace http://tampermonkey.net/
// @version 2025-06-19
// @description watch your urls, affect wellbeing, process responses with ChatGpt, get notifications
// @author Galionix
// @match *://*/*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @require https://openuserjs.org/src/libs/sizzle/GM_config.js
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_addStyle
// ==/UserScript==
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./node_modules/idle-js/dist/Idle.js":
/*!*******************************************!*\
!*** ./node_modules/idle-js/dist/Idle.js ***!
\*******************************************/
/***/ ((module) => {
!function(t,n){ true?module.exports=n():0}(window,function(){return function(t){var n={};function r(e){if(n[e])return n[e].exports;var i=n[e]={i:e,l:!1,exports:{}};return t[e].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=n,r.d=function(t,n,e){r.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,n){if(1&n&&(t=r(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)r.d(e,i,function(n){return t[n]}.bind(null,i));return e},r.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(n,"a",n),n},r.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r.p="",r(r.s=115)}([function(t,n,r){var e=r(3),i=r(9),o=r(14),u=r(10),c=r(21),a=function(t,n,r){var f,s,l,h,v=t&a.F,p=t&a.G,d=t&a.S,g=t&a.P,y=t&a.B,m=p?e:d?e[n]||(e[n]={}):(e[n]||{}).prototype,b=p?i:i[n]||(i[n]={}),x=b.prototype||(b.prototype={});for(f in p&&(r=n),r)l=((s=!v&&m&&void 0!==m[f])?m:r)[f],h=y&&s?c(l,e):g&&"function"==typeof l?c(Function.call,l):l,m&&u(m,f,l,t&a.U),b[f]!=l&&o(b,f,h),g&&x[f]!=l&&(x[f]=l)};e.core=i,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,r){var e=r(4);t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},function(t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,r){var e=r(59)("wks"),i=r(29),o=r(3).Symbol,u="function"==typeof o;(t.exports=function(t){return e[t]||(e[t]=u&&o[t]||(u?o:i)("Symbol."+t))}).store=e},function(t,n,r){var e=r(17),i=Math.min;t.exports=function(t){return t>0?i(e(t),9007199254740991):0}},function(t,n,r){var e=r(2),i=r(85),o=r(26),u=Object.defineProperty;n.f=r(8)?Object.defineProperty:function(t,n,r){if(e(t),n=o(n,!0),e(r),i)try{return u(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[n]=r.value),t}},function(t,n,r){t.exports=!r(1)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,n){var r=t.exports={version:"2.6.3"};"number"==typeof __e&&(__e=r)},function(t,n,r){var e=r(3),i=r(14),o=r(13),u=r(29)("src"),c=Function.toString,a=(""+c).split("toString");r(9).inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,r,c){var f="function"==typeof r;f&&(o(r,"name")||i(r,"name",n)),t[n]!==r&&(f&&(o(r,u)||i(r,u,t[n]?""+t[n]:a.join(String(n)))),t===e?t[n]=r:c?t[n]?t[n]=r:i(t,n,r):(delete t[n],i(t,n,r)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[u]||c.call(this)})},function(t,n,r){var e=r(24);t.exports=function(t){return Object(e(t))}},function(t,n,r){var e=r(0),i=r(1),o=r(24),u=/"/g,c=function(t,n,r,e){var i=String(o(t)),c="<"+n;return""!==r&&(c+=" "+r+'="'+String(e).replace(u,""")+'"'),c+">"+i+"</"+n+">"};t.exports=function(t,n){var r={};r[t]=n(c),e(e.P+e.F*i(function(){var n=""[t]('"');return n!==n.toLowerCase()||n.split('"').length>3}),"String",r)}},function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n,r){var e=r(7),i=r(28);t.exports=r(8)?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},function(t,n,r){var e=r(43),i=r(24);t.exports=function(t){return e(i(t))}},function(t,n,r){"use strict";var e=r(1);t.exports=function(t,n){return!!t&&e(function(){n?t.call(null,function(){},1):t.call(null)})}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},function(t,n,r){var e=r(44),i=r(28),o=r(15),u=r(26),c=r(13),a=r(85),f=Object.getOwnPropertyDescriptor;n.f=r(8)?f:function(t,n){if(t=o(t),n=u(n,!0),a)try{return f(t,n)}catch(t){}if(c(t,n))return i(!e.f.call(t,n),t[n])}},function(t,n,r){var e=r(0),i=r(9),o=r(1);t.exports=function(t,n){var r=(i.Object||{})[t]||Object[t],u={};u[t]=n(r),e(e.S+e.F*o(function(){r(1)}),"Object",u)}},function(t,n,r){var e=r(21),i=r(43),o=r(11),u=r(6),c=r(209);t.exports=function(t,n){var r=1==t,a=2==t,f=3==t,s=4==t,l=6==t,h=5==t||l,v=n||c;return function(n,c,p){for(var d,g,y=o(n),m=i(y),b=e(c,p,3),x=u(m.length),w=0,S=r?v(n,x):a?v(n,0):void 0;x>w;w++)if((h||w in m)&&(g=b(d=m[w],w,y),t))if(r)S[w]=g;else if(g)switch(t){case 3:return!0;case 5:return d;case 6:return w;case 2:S.push(d)}else if(s)return!1;return l?-1:f||s?s:S}}},function(t,n,r){var e=r(22);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,i){return t.call(n,r,e,i)}}return function(){return t.apply(n,arguments)}}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,r){"use strict";if(r(8)){var e=r(30),i=r(3),o=r(1),u=r(0),c=r(57),a=r(84),f=r(21),s=r(40),l=r(28),h=r(14),v=r(41),p=r(17),d=r(6),g=r(111),y=r(32),m=r(26),b=r(13),x=r(45),w=r(4),S=r(11),_=r(76),E=r(33),O=r(35),F=r(34).f,P=r(78),I=r(29),M=r(5),A=r(20),j=r(47),T=r(46),N=r(80),L=r(37),k=r(50),R=r(39),C=r(79),D=r(102),W=r(7),B=r(18),U=W.f,V=B.f,G=i.RangeError,H=i.TypeError,z=i.Uint8Array,Y=Array.prototype,K=a.ArrayBuffer,q=a.DataView,J=A(0),$=A(2),X=A(3),Z=A(4),Q=A(5),tt=A(6),nt=j(!0),rt=j(!1),et=N.values,it=N.keys,ot=N.entries,ut=Y.lastIndexOf,ct=Y.reduce,at=Y.reduceRight,ft=Y.join,st=Y.sort,lt=Y.slice,ht=Y.toString,vt=Y.toLocaleString,pt=M("iterator"),dt=M("toStringTag"),gt=I("typed_constructor"),yt=I("def_constructor"),mt=c.CONSTR,bt=c.TYPED,xt=c.VIEW,wt=A(1,function(t,n){return Ft(T(t,t[yt]),n)}),St=o(function(){return 1===new z(new Uint16Array([1]).buffer)[0]}),_t=!!z&&!!z.prototype.set&&o(function(){new z(1).set({})}),Et=function(t,n){var r=p(t);if(r<0||r%n)throw G("Wrong offset!");return r},Ot=function(t){if(w(t)&&bt in t)return t;throw H(t+" is not a typed array!")},Ft=function(t,n){if(!(w(t)&> in t))throw H("It is not a typed array constructor!");return new t(n)},Pt=function(t,n){return It(T(t,t[yt]),n)},It=function(t,n){for(var r=0,e=n.length,i=Ft(t,e);e>r;)i[r]=n[r++];return i},Mt=function(t,n,r){U(t,n,{get:function(){return this._d[r]}})},At=function(t){var n,r,e,i,o,u,c=S(t),a=arguments.length,s=a>1?arguments[1]:void 0,l=void 0!==s,h=P(c);if(null!=h&&!_(h)){for(u=h.call(c),e=[],n=0;!(o=u.next()).done;n++)e.push(o.value);c=e}for(l&&a>2&&(s=f(s,arguments[2],2)),n=0,r=d(c.length),i=Ft(this,r);r>n;n++)i[n]=l?s(c[n],n):c[n];return i},jt=function(){for(var t=0,n=arguments.length,r=Ft(this,n);n>t;)r[t]=arguments[t++];return r},Tt=!!z&&o(function(){vt.call(new z(1))}),Nt=function(){return vt.apply(Tt?lt.call(Ot(this)):Ot(this),arguments)},Lt={copyWithin:function(t,n){return D.call(Ot(this),t,n,arguments.length>2?arguments[2]:void 0)},every:function(t){return Z(Ot(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return C.apply(Ot(this),arguments)},filter:function(t){return Pt(this,$(Ot(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(Ot(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){J(Ot(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return rt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return nt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return ft.apply(Ot(this),arguments)},lastIndexOf:function(t){return ut.apply(Ot(this),arguments)},map:function(t){return wt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ct.apply(Ot(this),arguments)},reduceRight:function(t){return at.apply(Ot(this),arguments)},reverse:function(){for(var t,n=Ot(this).length,r=Math.floor(n/2),e=0;e<r;)t=this[e],this[e++]=this[--n],this[n]=t;return this},some:function(t){return X(Ot(this),t,arguments.length>1?arguments[1]:void 0)},sort:function(t){return st.call(Ot(this),t)},subarray:function(t,n){var r=Ot(this),e=r.length,i=y(t,e);return new(T(r,r[yt]))(r.buffer,r.byteOffset+i*r.BYTES_PER_ELEMENT,d((void 0===n?e:y(n,e))-i))}},kt=function(t,n){return Pt(this,lt.call(Ot(this),t,n))},Rt=function(t){Ot(this);var n=Et(arguments[1],1),r=this.length,e=S(t),i=d(e.length),o=0;if(i+n>r)throw G("Wrong length!");for(;o<i;)this[n+o]=e[o++]},Ct={entries:function(){return ot.call(Ot(this))},keys:function(){return it.call(Ot(this))},values:function(){return et.call(Ot(this))}},Dt=function(t,n){return w(t)&&t[bt]&&"symbol"!=typeof n&&n in t&&String(+n)==String(n)},Wt=function(t,n){return Dt(t,n=m(n,!0))?l(2,t[n]):V(t,n)},Bt=function(t,n,r){return!(Dt(t,n=m(n,!0))&&w(r)&&b(r,"value"))||b(r,"get")||b(r,"set")||r.configurable||b(r,"writable")&&!r.writable||b(r,"enumerable")&&!r.enumerable?U(t,n,r):(t[n]=r.value,t)};mt||(B.f=Wt,W.f=Bt),u(u.S+u.F*!mt,"Object",{getOwnPropertyDescriptor:Wt,defineProperty:Bt}),o(function(){ht.call({})})&&(ht=vt=function(){return ft.call(this)});var Ut=v({},Lt);v(Ut,Ct),h(Ut,pt,Ct.values),v(Ut,{slice:kt,set:Rt,constructor:function(){},toString:ht,toLocaleString:Nt}),Mt(Ut,"buffer","b"),Mt(Ut,"byteOffset","o"),Mt(Ut,"byteLength","l"),Mt(Ut,"length","e"),U(Ut,dt,{get:function(){return this[bt]}}),t.exports=function(t,n,r,a){var f=t+((a=!!a)?"Clamped":"")+"Array",l="get"+t,v="set"+t,p=i[f],y=p||{},m=p&&O(p),b=!p||!c.ABV,S={},_=p&&p.prototype,P=function(t,r){U(t,r,{get:function(){return function(t,r){var e=t._d;return e.v[l](r*n+e.o,St)}(this,r)},set:function(t){return function(t,r,e){var i=t._d;a&&(e=(e=Math.round(e))<0?0:e>255?255:255&e),i.v[v](r*n+i.o,e,St)}(this,r,t)},enumerable:!0})};b?(p=r(function(t,r,e,i){s(t,p,f,"_d");var o,u,c,a,l=0,v=0;if(w(r)){if(!(r instanceof K||"ArrayBuffer"==(a=x(r))||"SharedArrayBuffer"==a))return bt in r?It(p,r):At.call(p,r);o=r,v=Et(e,n);var y=r.byteLength;if(void 0===i){if(y%n)throw G("Wrong length!");if((u=y-v)<0)throw G("Wrong length!")}else if((u=d(i)*n)+v>y)throw G("Wrong length!");c=u/n}else c=g(r),o=new K(u=c*n);for(h(t,"_d",{b:o,o:v,l:u,e:c,v:new q(o)});l<c;)P(t,l++)}),_=p.prototype=E(Ut),h(_,"constructor",p)):o(function(){p(1)})&&o(function(){new p(-1)})&&k(function(t){new p,new p(null),new p(1.5),new p(t)},!0)||(p=r(function(t,r,e,i){var o;return s(t,p,f),w(r)?r instanceof K||"ArrayBuffer"==(o=x(r))||"SharedArrayBuffer"==o?void 0!==i?new y(r,Et(e,n),i):void 0!==e?new y(r,Et(e,n)):new y(r):bt in r?It(p,r):At.call(p,r):new y(g(r))}),J(m!==Function.prototype?F(y).concat(F(m)):F(y),function(t){t in p||h(p,t,y[t])}),p.prototype=_,e||(_.constructor=p));var I=_[pt],M=!!I&&("values"==I.name||null==I.name),A=Ct.values;h(p,gt,!0),h(_,bt,f),h(_,xt,!0),h(_,yt,p),(a?new p(1)[dt]==f:dt in _)||U(_,dt,{get:function(){return f}}),S[f]=p,u(u.G+u.W+u.F*(p!=y),S),u(u.S,f,{BYTES_PER_ELEMENT:n}),u(u.S+u.F*o(function(){y.of.call(p,1)}),f,{from:At,of:jt}),"BYTES_PER_ELEMENT"in _||h(_,"BYTES_PER_ELEMENT",n),u(u.P,f,Lt),R(f),u(u.P+u.F*_t,f,{set:Rt}),u(u.P+u.F*!M,f,Ct),e||_.toString==ht||(_.toString=ht),u(u.P+u.F*o(function(){new p(1).slice()}),f,{slice:kt}),u(u.P+u.F*(o(function(){return[1,2].toLocaleString()!=new p([1,2]).toLocaleString()})||!o(function(){_.toLocaleString.call([1,2])})),f,{toLocaleString:Nt}),L[f]=M?I:A,e||M||h(_,pt,A)}}else t.exports=function(){}},function(t,n,r){var e=r(4);t.exports=function(t,n){if(!e(t))return t;var r,i;if(n&&"function"==typeof(r=t.toString)&&!e(i=r.call(t)))return i;if("function"==typeof(r=t.valueOf)&&!e(i=r.call(t)))return i;if(!n&&"function"==typeof(r=t.toString)&&!e(i=r.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,n,r){var e=r(29)("meta"),i=r(4),o=r(13),u=r(7).f,c=0,a=Object.isExtensible||function(){return!0},f=!r(1)(function(){return a(Object.preventExtensions({}))}),s=function(t){u(t,e,{value:{i:"O"+ ++c,w:{}}})},l=t.exports={KEY:e,NEED:!1,fastKey:function(t,n){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,e)){if(!a(t))return"F";if(!n)return"E";s(t)}return t[e].i},getWeak:function(t,n){if(!o(t,e)){if(!a(t))return!0;if(!n)return!1;s(t)}return t[e].w},onFreeze:function(t){return f&&l.NEED&&a(t)&&!o(t,e)&&s(t),t}}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n){var r=0,e=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++r+e).toString(36))}},function(t,n){t.exports=!1},function(t,n,r){var e=r(87),i=r(62);t.exports=Object.keys||function(t){return e(t,i)}},function(t,n,r){var e=r(17),i=Math.max,o=Math.min;t.exports=function(t,n){return(t=e(t))<0?i(t+n,0):o(t,n)}},function(t,n,r){var e=r(2),i=r(88),o=r(62),u=r(61)("IE_PROTO"),c=function(){},a=function(){var t,n=r(58)("iframe"),e=o.length;for(n.style.display="none",r(64).appendChild(n),n.src="javascript:",(t=n.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),a=t.F;e--;)delete a.prototype[o[e]];return a()};t.exports=Object.create||function(t,n){var r;return null!==t?(c.prototype=e(t),r=new c,c.prototype=null,r[u]=t):r=a(),void 0===n?r:i(r,n)}},function(t,n,r){var e=r(87),i=r(62).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return e(t,i)}},function(t,n,r){var e=r(13),i=r(11),o=r(61)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),e(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},function(t,n,r){var e=r(7).f,i=r(13),o=r(5)("toStringTag");t.exports=function(t,n,r){t&&!i(t=r?t:t.prototype,o)&&e(t,o,{configurable:!0,value:n})}},function(t,n){t.exports={}},function(t,n,r){var e=r(5)("unscopables"),i=Array.prototype;null==i[e]&&r(14)(i,e,{}),t.exports=function(t){i[e][t]=!0}},function(t,n,r){"use strict";var e=r(3),i=r(7),o=r(8),u=r(5)("species");t.exports=function(t){var n=e[t];o&&n&&!n[u]&&i.f(n,u,{configurable:!0,get:function(){return this}})}},function(t,n){t.exports=function(t,n,r,e){if(!(t instanceof n)||void 0!==e&&e in t)throw TypeError(r+": incorrect invocation!");return t}},function(t,n,r){var e=r(10);t.exports=function(t,n,r){for(var i in n)e(t,i,n[i],r);return t}},function(t,n,r){var e=r(4);t.exports=function(t,n){if(!e(t)||t._t!==n)throw TypeError("Incompatible receiver, "+n+" required!");return t}},function(t,n,r){var e=r(23);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==e(t)?t.split(""):Object(t)}},function(t,n){n.f={}.propertyIsEnumerable},function(t,n,r){var e=r(23),i=r(5)("toStringTag"),o="Arguments"==e(function(){return arguments}());t.exports=function(t){var n,r,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),i))?r:o?e(n):"Object"==(u=e(n))&&"function"==typeof n.callee?"Arguments":u}},function(t,n,r){var e=r(2),i=r(22),o=r(5)("species");t.exports=function(t,n){var r,u=e(t).constructor;return void 0===u||null==(r=e(u)[o])?n:i(r)}},function(t,n,r){var e=r(15),i=r(6),o=r(32);t.exports=function(t){return function(n,r,u){var c,a=e(n),f=i(a.length),s=o(u,f);if(t&&r!=r){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===r)return t||s||0;return!t&&-1}}},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,r){var e=r(0),i=r(24),o=r(1),u=r(66),c="["+u+"]",a=RegExp("^"+c+c+"*"),f=RegExp(c+c+"*$"),s=function(t,n,r){var i={},c=o(function(){return!!u[t]()||"
"!="
"[t]()}),a=i[t]=c?n(l):u[t];r&&(i[r]=a),e(e.P+e.F*c,"String",i)},l=s.trim=function(t,n){return t=String(i(t)),1&n&&(t=t.replace(a,"")),2&n&&(t=t.replace(f,"")),t};t.exports=s},function(t,n,r){var e=r(5)("iterator"),i=!1;try{var o=[7][e]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var r=!1;try{var o=[7],u=o[e]();u.next=function(){return{done:r=!0}},o[e]=function(){return u},t(o)}catch(t){}return r}},function(t,n,r){"use strict";var e=r(2);t.exports=function(){var t=e(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,r){"use strict";var e=r(45),i=RegExp.prototype.exec;t.exports=function(t,n){var r=t.exec;if("function"==typeof r){var o=r.call(t,n);if("object"!=typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==e(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,n)}},function(t,n,r){"use strict";r(104);var e=r(10),i=r(14),o=r(1),u=r(24),c=r(5),a=r(81),f=c("species"),s=!o(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}),l=function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var r="ab".split(t);return 2===r.length&&"a"===r[0]&&"b"===r[1]}();t.exports=function(t,n,r){var h=c(t),v=!o(function(){var n={};return n[h]=function(){return 7},7!=""[t](n)}),p=v?!o(function(){var n=!1,r=/a/;return r.exec=function(){return n=!0,null},"split"===t&&(r.constructor={},r.constructor[f]=function(){return r}),r[h](""),!n}):void 0;if(!v||!p||"replace"===t&&!s||"split"===t&&!l){var d=/./[h],g=r(u,h,""[t],function(t,n,r,e,i){return n.exec===a?v&&!i?{done:!0,value:d.call(n,r,e)}:{done:!0,value:t.call(r,n,e)}:{done:!1}}),y=g[0],m=g[1];e(String.prototype,t,y),i(RegExp.prototype,h,2==n?function(t,n){return m.call(t,this,n)}:function(t){return m.call(t,this)})}}},function(t,n,r){var e=r(21),i=r(100),o=r(76),u=r(2),c=r(6),a=r(78),f={},s={};(n=t.exports=function(t,n,r,l,h){var v,p,d,g,y=h?function(){return t}:a(t),m=e(r,l,n?2:1),b=0;if("function"!=typeof y)throw TypeError(t+" is not iterable!");if(o(y)){for(v=c(t.length);v>b;b++)if((g=n?m(u(p=t[b])[0],p[1]):m(t[b]))===f||g===s)return g}else for(d=y.call(t);!(p=d.next()).done;)if((g=i(d,m,p.value,n))===f||g===s)return g}).BREAK=f,n.RETURN=s},function(t,n,r){var e=r(3).navigator;t.exports=e&&e.userAgent||""},function(t,n,r){"use strict";var e=r(3),i=r(0),o=r(10),u=r(41),c=r(27),a=r(54),f=r(40),s=r(4),l=r(1),h=r(50),v=r(36),p=r(67);t.exports=function(t,n,r,d,g,y){var m=e[t],b=m,x=g?"set":"add",w=b&&b.prototype,S={},_=function(t){var n=w[t];o(w,t,"delete"==t?function(t){return!(y&&!s(t))&&n.call(this,0===t?0:t)}:"has"==t?function(t){return!(y&&!s(t))&&n.call(this,0===t?0:t)}:"get"==t?function(t){return y&&!s(t)?void 0:n.call(this,0===t?0:t)}:"add"==t?function(t){return n.call(this,0===t?0:t),this}:function(t,r){return n.call(this,0===t?0:t,r),this})};if("function"==typeof b&&(y||w.forEach&&!l(function(){(new b).entries().next()}))){var E=new b,O=E[x](y?{}:-0,1)!=E,F=l(function(){E.has(1)}),P=h(function(t){new b(t)}),I=!y&&l(function(){for(var t=new b,n=5;n--;)t[x](n,n);return!t.has(-0)});P||((b=n(function(n,r){f(n,b,t);var e=p(new m,n,b);return null!=r&&a(r,g,e[x],e),e})).prototype=w,w.constructor=b),(F||I)&&(_("delete"),_("has"),g&&_("get")),(I||O)&&_(x),y&&w.clear&&delete w.clear}else b=d.getConstructor(n,t,g,x),u(b.prototype,r),c.NEED=!0;return v(b,t),S[t]=b,i(i.G+i.W+i.F*(b!=m),S),y||d.setStrong(b,t,g),b}},function(t,n,r){for(var e,i=r(3),o=r(14),u=r(29),c=u("typed_array"),a=u("view"),f=!(!i.ArrayBuffer||!i.DataView),s=f,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(e=i[h[l++]])?(o(e.prototype,c,!0),o(e.prototype,a,!0)):s=!1;t.exports={ABV:f,CONSTR:s,TYPED:c,VIEW:a}},function(t,n,r){var e=r(4),i=r(3).document,o=e(i)&&e(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,n,r){var e=r(9),i=r(3),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:e.version,mode:r(30)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,r){n.f=r(5)},function(t,n,r){var e=r(59)("keys"),i=r(29);t.exports=function(t){return e[t]||(e[t]=i(t))}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,r){var e=r(23);t.exports=Array.isArray||function(t){return"Array"==e(t)}},function(t,n,r){var e=r(3).document;t.exports=e&&e.documentElement},function(t,n,r){var e=r(4),i=r(2),o=function(t,n){if(i(t),!e(n)&&null!==n)throw TypeError(n+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,n,e){try{(e=r(21)(Function.call,r(18).f(Object.prototype,"__proto__").set,2))(t,[]),n=!(t instanceof Array)}catch(t){n=!0}return function(t,r){return o(t,r),n?t.__proto__=r:e(t,r),t}}({},!1):void 0),check:o}},function(t,n){t.exports="\t\n\v\f\r \u2028\u2029\ufeff"},function(t,n,r){var e=r(4),i=r(65).set;t.exports=function(t,n,r){var o,u=n.constructor;return u!==r&&"function"==typeof u&&(o=u.prototype)!==r.prototype&&e(o)&&i&&i(t,o),t}},function(t,n,r){"use strict";var e=r(17),i=r(24);t.exports=function(t){var n=String(i(this)),r="",o=e(t);if(o<0||o==1/0)throw RangeError("Count can't be negative");for(;o>0;(o>>>=1)&&(n+=n))1&o&&(r+=n);return r}},function(t,n){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,n){var r=Math.expm1;t.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:r},function(t,n,r){var e=r(17),i=r(24);t.exports=function(t){return function(n,r){var o,u,c=String(i(n)),a=e(r),f=c.length;return a<0||a>=f?t?"":void 0:(o=c.charCodeAt(a))<55296||o>56319||a+1===f||(u=c.charCodeAt(a+1))<56320||u>57343?t?c.charAt(a):o:t?c.slice(a,a+2):u-56320+(o-55296<<10)+65536}}},function(t,n,r){"use strict";var e=r(30),i=r(0),o=r(10),u=r(14),c=r(37),a=r(99),f=r(36),s=r(35),l=r(5)("iterator"),h=!([].keys&&"next"in[].keys()),v=function(){return this};t.exports=function(t,n,r,p,d,g,y){a(r,n,p);var m,b,x,w=function(t){if(!h&&t in O)return O[t];switch(t){case"keys":case"values":return function(){return new r(this,t)}}return function(){return new r(this,t)}},S=n+" Iterator",_="values"==d,E=!1,O=t.prototype,F=O[l]||O["@@iterator"]||d&&O[d],P=F||w(d),I=d?_?w("entries"):P:void 0,M="Array"==n&&O.entries||F;if(M&&(x=s(M.call(new t)))!==Object.prototype&&x.next&&(f(x,S,!0),e||"function"==typeof x[l]||u(x,l,v)),_&&F&&"values"!==F.name&&(E=!0,P=function(){return F.call(this)}),e&&!y||!h&&!E&&O[l]||u(O,l,P),c[n]=P,c[S]=v,d)if(m={values:_?P:w("values"),keys:g?P:w("keys"),entries:I},y)for(b in m)b in O||o(O,b,m[b]);else i(i.P+i.F*(h||E),n,m);return m}},function(t,n,r){var e=r(74),i=r(24);t.exports=function(t,n,r){if(e(n))throw TypeError("String#"+r+" doesn't accept regex!");return String(i(t))}},function(t,n,r){var e=r(4),i=r(23),o=r(5)("match");t.exports=function(t){var n;return e(t)&&(void 0!==(n=t[o])?!!n:"RegExp"==i(t))}},function(t,n,r){var e=r(5)("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(r){try{return n[e]=!1,!"/./"[t](n)}catch(t){}}return!0}},function(t,n,r){var e=r(37),i=r(5)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(e.Array===t||o[i]===t)}},function(t,n,r){"use strict";var e=r(7),i=r(28);t.exports=function(t,n,r){n in t?e.f(t,n,i(0,r)):t[n]=r}},function(t,n,r){var e=r(45),i=r(5)("iterator"),o=r(37);t.exports=r(9).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[e(t)]}},function(t,n,r){"use strict";var e=r(11),i=r(32),o=r(6);t.exports=function(t){for(var n=e(this),r=o(n.length),u=arguments.length,c=i(u>1?arguments[1]:void 0,r),a=u>2?arguments[2]:void 0,f=void 0===a?r:i(a,r);f>c;)n[c++]=t;return n}},function(t,n,r){"use strict";var e=r(38),i=r(103),o=r(37),u=r(15);t.exports=r(72)(Array,"Array",function(t,n){this._t=u(t),this._i=0,this._k=n},function(){var t=this._t,n=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,i(1)):i(0,"keys"==n?r:"values"==n?t[r]:[r,t[r]])},"values"),o.Arguments=o.Array,e("keys"),e("values"),e("entries")},function(t,n,r){"use strict";var e,i,o=r(51),u=RegExp.prototype.exec,c=String.prototype.replace,a=u,f=(e=/a/,i=/b*/g,u.call(e,"a"),u.call(i,"a"),0!==e.lastIndex||0!==i.lastIndex),s=void 0!==/()??/.exec("")[1];(f||s)&&(a=function(t){var n,r,e,i,a=this;return s&&(r=new RegExp("^"+a.source+"$(?!\\s)",o.call(a))),f&&(n=a.lastIndex),e=u.call(a,t),f&&e&&(a.lastIndex=a.global?e.index+e[0].length:n),s&&e&&e.length>1&&c.call(e[0],r,function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(e[i]=void 0)}),e}),t.exports=a},function(t,n,r){"use strict";var e=r(71)(!0);t.exports=function(t,n,r){return n+(r?e(t,n).length:1)}},function(t,n,r){var e,i,o,u=r(21),c=r(93),a=r(64),f=r(58),s=r(3),l=s.process,h=s.setImmediate,v=s.clearImmediate,p=s.MessageChannel,d=s.Dispatch,g=0,y={},m=function(){var t=+this;if(y.hasOwnProperty(t)){var n=y[t];delete y[t],n()}},b=function(t){m.call(t.data)};h&&v||(h=function(t){for(var n=[],r=1;arguments.length>r;)n.push(arguments[r++]);return y[++g]=function(){c("function"==typeof t?t:Function(t),n)},e(g),g},v=function(t){delete y[t]},"process"==r(23)(l)?e=function(t){l.nextTick(u(m,t,1))}:d&&d.now?e=function(t){d.now(u(m,t,1))}:p?(o=(i=new p).port2,i.port1.onmessage=b,e=u(o.postMessage,o,1)):s.addEventListener&&"function"==typeof postMessage&&!s.importScripts?(e=function(t){s.postMessage(t+"","*")},s.addEventListener("message",b,!1)):e="onreadystatechange"in f("script")?function(t){a.appendChild(f("script")).onreadystatechange=function(){a.removeChild(this),m.call(t)}}:function(t){setTimeout(u(m,t,1),0)}),t.exports={set:h,clear:v}},function(t,n,r){"use strict";var e=r(3),i=r(8),o=r(30),u=r(57),c=r(14),a=r(41),f=r(1),s=r(40),l=r(17),h=r(6),v=r(111),p=r(34).f,d=r(7).f,g=r(79),y=r(36),m="prototype",b="Wrong index!",x=e.ArrayBuffer,w=e.DataView,S=e.Math,_=e.RangeError,E=e.Infinity,O=x,F=S.abs,P=S.pow,I=S.floor,M=S.log,A=S.LN2,j=i?"_b":"buffer",T=i?"_l":"byteLength",N=i?"_o":"byteOffset";function L(t,n,r){var e,i,o,u=new Array(r),c=8*r-n-1,a=(1<<c)-1,f=a>>1,s=23===n?P(2,-24)-P(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=F(t))!=t||t===E?(i=t!=t?1:0,e=a):(e=I(M(t)/A),t*(o=P(2,-e))<1&&(e--,o*=2),(t+=e+f>=1?s/o:s*P(2,1-f))*o>=2&&(e++,o/=2),e+f>=a?(i=0,e=a):e+f>=1?(i=(t*o-1)*P(2,n),e+=f):(i=t*P(2,f-1)*P(2,n),e=0));n>=8;u[l++]=255&i,i/=256,n-=8);for(e=e<<n|i,c+=n;c>0;u[l++]=255&e,e/=256,c-=8);return u[--l]|=128*h,u}function k(t,n,r){var e,i=8*r-n-1,o=(1<<i)-1,u=o>>1,c=i-7,a=r-1,f=t[a--],s=127&f;for(f>>=7;c>0;s=256*s+t[a],a--,c-=8);for(e=s&(1<<-c)-1,s>>=-c,c+=n;c>0;e=256*e+t[a],a--,c-=8);if(0===s)s=1-u;else{if(s===o)return e?NaN:f?-E:E;e+=P(2,n),s-=u}return(f?-1:1)*e*P(2,s-n)}function R(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function C(t){return[255&t]}function D(t){return[255&t,t>>8&255]}function W(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function B(t){return L(t,52,8)}function U(t){return L(t,23,4)}function V(t,n,r){d(t[m],n,{get:function(){return this[r]}})}function G(t,n,r,e){var i=v(+r);if(i+n>t[T])throw _(b);var o=t[j]._b,u=i+t[N],c=o.slice(u,u+n);return e?c:c.reverse()}function H(t,n,r,e,i,o){var u=v(+r);if(u+n>t[T])throw _(b);for(var c=t[j]._b,a=u+t[N],f=e(+i),s=0;s<n;s++)c[a+s]=f[o?s:n-s-1]}if(u.ABV){if(!f(function(){x(1)})||!f(function(){new x(-1)})||f(function(){return new x,new x(1.5),new x(NaN),"ArrayBuffer"!=x.name})){for(var z,Y=(x=function(t){return s(this,x),new O(v(t))})[m]=O[m],K=p(O),q=0;K.length>q;)(z=K[q++])in x||c(x,z,O[z]);o||(Y.constructor=x)}var J=new w(new x(2)),$=w[m].setInt8;J.setInt8(0,2147483648),J.setInt8(1,2147483649),!J.getInt8(0)&&J.getInt8(1)||a(w[m],{setInt8:function(t,n){$.call(this,t,n<<24>>24)},setUint8:function(t,n){$.call(this,t,n<<24>>24)}},!0)}else x=function(t){s(this,x,"ArrayBuffer");var n=v(t);this._b=g.call(new Array(n),0),this[T]=n},w=function(t,n,r){s(this,w,"DataView"),s(t,x,"DataView");var e=t[T],i=l(n);if(i<0||i>e)throw _("Wrong offset!");if(i+(r=void 0===r?e-i:h(r))>e)throw _("Wrong length!");this[j]=t,this[N]=i,this[T]=r},i&&(V(x,"byteLength","_l"),V(w,"buffer","_b"),V(w,"byteLength","_l"),V(w,"byteOffset","_o")),a(w[m],{getInt8:function(t){return G(this,1,t)[0]<<24>>24},getUint8:function(t){return G(this,1,t)[0]},getInt16:function(t){var n=G(this,2,t,arguments[1]);return(n[1]<<8|n[0])<<16>>16},getUint16:function(t){var n=G(this,2,t,arguments[1]);return n[1]<<8|n[0]},getInt32:function(t){return R(G(this,4,t,arguments[1]))},getUint32:function(t){return R(G(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return k(G(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return k(G(this,8,t,arguments[1]),52,8)},setInt8:function(t,n){H(this,1,t,C,n)},setUint8:function(t,n){H(this,1,t,C,n)},setInt16:function(t,n){H(this,2,t,D,n,arguments[2])},setUint16:function(t,n){H(this,2,t,D,n,arguments[2])},setInt32:function(t,n){H(this,4,t,W,n,arguments[2])},setUint32:function(t,n){H(this,4,t,W,n,arguments[2])},setFloat32:function(t,n){H(this,4,t,U,n,arguments[2])},setFloat64:function(t,n){H(this,8,t,B,n,arguments[2])}});y(x,"ArrayBuffer"),y(w,"DataView"),c(w[m],u.VIEW,!0),n.ArrayBuffer=x,n.DataView=w},function(t,n,r){t.exports=!r(8)&&!r(1)(function(){return 7!=Object.defineProperty(r(58)("div"),"a",{get:function(){return 7}}).a})},function(t,n,r){var e=r(3),i=r(9),o=r(30),u=r(60),c=r(7).f;t.exports=function(t){var n=i.Symbol||(i.Symbol=o?{}:e.Symbol||{});"_"==t.charAt(0)||t in n||c(n,t,{value:u.f(t)})}},function(t,n,r){var e=r(13),i=r(15),o=r(47)(!1),u=r(61)("IE_PROTO");t.exports=function(t,n){var r,c=i(t),a=0,f=[];for(r in c)r!=u&&e(c,r)&&f.push(r);for(;n.length>a;)e(c,r=n[a++])&&(~o(f,r)||f.push(r));return f}},function(t,n,r){var e=r(7),i=r(2),o=r(31);t.exports=r(8)?Object.defineProperties:function(t,n){i(t);for(var r,u=o(n),c=u.length,a=0;c>a;)e.f(t,r=u[a++],n[r]);return t}},function(t,n,r){var e=r(15),i=r(34).f,o={}.toString,u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return u&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(t){return u.slice()}}(t):i(e(t))}},function(t,n,r){"use strict";var e=r(31),i=r(48),o=r(44),u=r(11),c=r(43),a=Object.assign;t.exports=!a||r(1)(function(){var t={},n={},r=Symbol(),e="abcdefghijklmnopqrst";return t[r]=7,e.split("").forEach(function(t){n[t]=t}),7!=a({},t)[r]||Object.keys(a({},n)).join("")!=e})?function(t,n){for(var r=u(t),a=arguments.length,f=1,s=i.f,l=o.f;a>f;)for(var h,v=c(arguments[f++]),p=s?e(v).concat(s(v)):e(v),d=p.length,g=0;d>g;)l.call(v,h=p[g++])&&(r[h]=v[h]);return r}:a},function(t,n){t.exports=Object.is||function(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}},function(t,n,r){"use strict";var e=r(22),i=r(4),o=r(93),u=[].slice,c={};t.exports=Function.bind||function(t){var n=e(this),r=u.call(arguments,1),a=function(){var e=r.concat(u.call(arguments));return this instanceof a?function(t,n,r){if(!(n in c)){for(var e=[],i=0;i<n;i++)e[i]="a["+i+"]";c[n]=Function("F,a","return new F("+e.join(",")+")")}return c[n](t,r)}(n,e.length,e):o(n,e,t)};return i(n.prototype)&&(a.prototype=n.prototype),a}},function(t,n){t.exports=function(t,n,r){var e=void 0===r;switch(n.length){case 0:return e?t():t.call(r);case 1:return e?t(n[0]):t.call(r,n[0]);case 2:return e?t(n[0],n[1]):t.call(r,n[0],n[1]);case 3:return e?t(n[0],n[1],n[2]):t.call(r,n[0],n[1],n[2]);case 4:return e?t(n[0],n[1],n[2],n[3]):t.call(r,n[0],n[1],n[2],n[3])}return t.apply(r,n)}},function(t,n,r){var e=r(3).parseInt,i=r(49).trim,o=r(66),u=/^[-+]?0[xX]/;t.exports=8!==e(o+"08")||22!==e(o+"0x16")?function(t,n){var r=i(String(t),3);return e(r,n>>>0||(u.test(r)?16:10))}:e},function(t,n,r){var e=r(3).parseFloat,i=r(49).trim;t.exports=1/e(r(66)+"-0")!=-1/0?function(t){var n=i(String(t),3),r=e(n);return 0===r&&"-"==n.charAt(0)?-0:r}:e},function(t,n,r){var e=r(23);t.exports=function(t,n){if("number"!=typeof t&&"Number"!=e(t))throw TypeError(n);return+t}},function(t,n,r){var e=r(4),i=Math.floor;t.exports=function(t){return!e(t)&&isFinite(t)&&i(t)===t}},function(t,n){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,n,r){"use strict";var e=r(33),i=r(28),o=r(36),u={};r(14)(u,r(5)("iterator"),function(){return this}),t.exports=function(t,n,r){t.prototype=e(u,{next:i(1,r)}),o(t,n+" Iterator")}},function(t,n,r){var e=r(2);t.exports=function(t,n,r,i){try{return i?n(e(r)[0],r[1]):n(r)}catch(n){var o=t.return;throw void 0!==o&&e(o.call(t)),n}}},function(t,n,r){var e=r(22),i=r(11),o=r(43),u=r(6);t.exports=function(t,n,r,c,a){e(n);var f=i(t),s=o(f),l=u(f.length),h=a?l-1:0,v=a?-1:1;if(r<2)for(;;){if(h in s){c=s[h],h+=v;break}if(h+=v,a?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;a?h>=0:l>h;h+=v)h in s&&(c=n(c,s[h],h,f));return c}},function(t,n,r){"use strict";var e=r(11),i=r(32),o=r(6);t.exports=[].copyWithin||function(t,n){var r=e(this),u=o(r.length),c=i(t,u),a=i(n,u),f=arguments.length>2?arguments[2]:void 0,s=Math.min((void 0===f?u:i(f,u))-a,u-c),l=1;for(a<c&&c<a+s&&(l=-1,a+=s-1,c+=s-1);s-- >0;)a in r?r[c]=r[a]:delete r[c],c+=l,a+=l;return r}},function(t,n){t.exports=function(t,n){return{value:n,done:!!t}}},function(t,n,r){"use strict";var e=r(81);r(0)({target:"RegExp",proto:!0,forced:e!==/./.exec},{exec:e})},function(t,n,r){r(8)&&"g"!=/./g.flags&&r(7).f(RegExp.prototype,"flags",{configurable:!0,get:r(51)})},function(t,n,r){"use strict";var e,i,o,u,c=r(30),a=r(3),f=r(21),s=r(45),l=r(0),h=r(4),v=r(22),p=r(40),d=r(54),g=r(46),y=r(83).set,m=r(230)(),b=r(107),x=r(231),w=r(55),S=r(108),_=a.TypeError,E=a.process,O=E&&E.versions,F=O&&O.v8||"",P=a.Promise,I="process"==s(E),M=function(){},A=i=b.f,j=!!function(){try{var t=P.resolve(1),n=(t.constructor={})[r(5)("species")]=function(t){t(M,M)};return(I||"function"==typeof PromiseRejectionEvent)&&t.then(M)instanceof n&&0!==F.indexOf("6.6")&&-1===w.indexOf("Chrome/66")}catch(t){}}(),T=function(t){var n;return!(!h(t)||"function"!=typeof(n=t.then))&&n},N=function(t,n){if(!t._n){t._n=!0;var r=t._c;m(function(){for(var e=t._v,i=1==t._s,o=0,u=function(n){var r,o,u,c=i?n.ok:n.fail,a=n.resolve,f=n.reject,s=n.domain;try{c?(i||(2==t._h&&R(t),t._h=1),!0===c?r=e:(s&&s.enter(),r=c(e),s&&(s.exit(),u=!0)),r===n.promise?f(_("Promise-chain cycle")):(o=T(r))?o.call(r,a,f):a(r)):f(e)}catch(t){s&&!u&&s.exit(),f(t)}};r.length>o;)u(r[o++]);t._c=[],t._n=!1,n&&!t._h&&L(t)})}},L=function(t){y.call(a,function(){var n,r,e,i=t._v,o=k(t);if(o&&(n=x(function(){I?E.emit("unhandledRejection",i,t):(r=a.onunhandledrejection)?r({promise:t,reason:i}):(e=a.console)&&e.error&&e.error("Unhandled promise rejection",i)}),t._h=I||k(t)?2:1),t._a=void 0,o&&n.e)throw n.v})},k=function(t){return 1!==t._h&&0===(t._a||t._c).length},R=function(t){y.call(a,function(){var n;I?E.emit("rejectionHandled",t):(n=a.onrejectionhandled)&&n({promise:t,reason:t._v})})},C=function(t){var n=this;n._d||(n._d=!0,(n=n._w||n)._v=t,n._s=2,n._a||(n._a=n._c.slice()),N(n,!0))},D=function(t){var n,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw _("Promise can't be resolved itself");(n=T(t))?m(function(){var e={_w:r,_d:!1};try{n.call(t,f(D,e,1),f(C,e,1))}catch(t){C.call(e,t)}}):(r._v=t,r._s=1,N(r,!1))}catch(t){C.call({_w:r,_d:!1},t)}}};j||(P=function(t){p(this,P,"Promise","_h"),v(t),e.call(this);try{t(f(D,this,1),f(C,this,1))}catch(t){C.call(this,t)}},(e=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=r(41)(P.prototype,{then:function(t,n){var r=A(g(this,P));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=I?E.domain:void 0,this._c.push(r),this._a&&this._a.push(r),this._s&&N(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new e;this.promise=t,this.resolve=f(D,t,1),this.reject=f(C,t,1)},b.f=A=function(t){return t===P||t===u?new o(t):i(t)}),l(l.G+l.W+l.F*!j,{Promise:P}),r(36)(P,"Promise"),r(39)("Promise"),u=r(9).Promise,l(l.S+l.F*!j,"Promise",{reject:function(t){var n=A(this);return(0,n.reject)(t),n.promise}}),l(l.S+l.F*(c||!j),"Promise",{resolve:function(t){return S(c&&this===u?P:this,t)}}),l(l.S+l.F*!(j&&r(50)(function(t){P.all(t).catch(M)})),"Promise",{all:function(t){var n=this,r=A(n),e=r.resolve,i=r.reject,o=x(function(){var r=[],o=0,u=1;d(t,!1,function(t){var c=o++,a=!1;r.push(void 0),u++,n.resolve(t).then(function(t){a||(a=!0,r[c]=t,--u||e(r))},i)}),--u||e(r)});return o.e&&i(o.v),r.promise},race:function(t){var n=this,r=A(n),e=r.reject,i=x(function(){d(t,!1,function(t){n.resolve(t).then(r.resolve,e)})});return i.e&&e(i.v),r.promise}})},function(t,n,r){"use strict";var e=r(22);function i(t){var n,r;this.promise=new t(function(t,e){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=t,r=e}),this.resolve=e(n),this.reject=e(r)}t.exports.f=function(t){return new i(t)}},function(t,n,r){var e=r(2),i=r(4),o=r(107);t.exports=function(t,n){if(e(t),i(n)&&n.constructor===t)return n;var r=o.f(t);return(0,r.resolve)(n),r.promise}},function(t,n,r){"use strict";var e=r(7).f,i=r(33),o=r(41),u=r(21),c=r(40),a=r(54),f=r(72),s=r(103),l=r(39),h=r(8),v=r(27).fastKey,p=r(42),d=h?"_s":"size",g=function(t,n){var r,e=v(n);if("F"!==e)return t._i[e];for(r=t._f;r;r=r.n)if(r.k==n)return r};t.exports={getConstructor:function(t,n,r,f){var s=t(function(t,e){c(t,s,n,"_i"),t._t=n,t._i=i(null),t._f=void 0,t._l=void 0,t[d]=0,null!=e&&a(e,r,t[f],t)});return o(s.prototype,{clear:function(){for(var t=p(this,n),r=t._i,e=t._f;e;e=e.n)e.r=!0,e.p&&(e.p=e.p.n=void 0),delete r[e.i];t._f=t._l=void 0,t[d]=0},delete:function(t){var r=p(this,n),e=g(r,t);if(e){var i=e.n,o=e.p;delete r._i[e.i],e.r=!0,o&&(o.n=i),i&&(i.p=o),r._f==e&&(r._f=i),r._l==e&&(r._l=o),r[d]--}return!!e},forEach:function(t){p(this,n);for(var r,e=u(t,arguments.length>1?arguments[1]:void 0,3);r=r?r.n:this._f;)for(e(r.v,r.k,this);r&&r.r;)r=r.p},has:function(t){return!!g(p(this,n),t)}}),h&&e(s.prototype,"size",{get:function(){return p(this,n)[d]}}),s},def:function(t,n,r){var e,i,o=g(t,n);return o?o.v=r:(t._l=o={i:i=v(n,!0),k:n,v:r,p:e=t._l,n:void 0,r:!1},t._f||(t._f=o),e&&(e.n=o),t[d]++,"F"!==i&&(t._i[i]=o)),t},getEntry:g,setStrong:function(t,n,r){f(t,n,function(t,r){this._t=p(t,n),this._k=r,this._l=void 0},function(){for(var t=this._k,n=this._l;n&&n.r;)n=n.p;return this._t&&(this._l=n=n?n.n:this._t._f)?s(0,"keys"==t?n.k:"values"==t?n.v:[n.k,n.v]):(this._t=void 0,s(1))},r?"entries":"values",!r,!0),l(n)}}},function(t,n,r){"use strict";var e=r(41),i=r(27).getWeak,o=r(2),u=r(4),c=r(40),a=r(54),f=r(20),s=r(13),l=r(42),h=f(5),v=f(6),p=0,d=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},y=function(t,n){return h(t.a,function(t){return t[0]===n})};g.prototype={get:function(t){var n=y(this,t);if(n)return n[1]},has:function(t){return!!y(this,t)},set:function(t,n){var r=y(this,t);r?r[1]=n:this.a.push([t,n])},delete:function(t){var n=v(this.a,function(n){return n[0]===t});return~n&&this.a.splice(n,1),!!~n}},t.exports={getConstructor:function(t,n,r,o){var f=t(function(t,e){c(t,f,n,"_i"),t._t=n,t._i=p++,t._l=void 0,null!=e&&a(e,r,t[o],t)});return e(f.prototype,{delete:function(t){if(!u(t))return!1;var r=i(t);return!0===r?d(l(this,n)).delete(t):r&&s(r,this._i)&&delete r[this._i]},has:function(t){if(!u(t))return!1;var r=i(t);return!0===r?d(l(this,n)).has(t):r&&s(r,this._i)}}),f},def:function(t,n,r){var e=i(o(n),!0);return!0===e?d(t).set(n,r):e[t._i]=r,t},ufstore:d}},function(t,n,r){var e=r(17),i=r(6);t.exports=function(t){if(void 0===t)return 0;var n=e(t),r=i(n);if(n!==r)throw RangeError("Wrong length!");return r}},function(t,n,r){var e=r(34),i=r(48),o=r(2),u=r(3).Reflect;t.exports=u&&u.ownKeys||function(t){var n=e.f(o(t)),r=i.f;return r?n.concat(r(t)):n}},function(t,n,r){var e=r(6),i=r(68),o=r(24);t.exports=function(t,n,r,u){var c=String(o(t)),a=c.length,f=void 0===r?" ":String(r),s=e(n);if(s<=a||""==f)return c;var l=s-a,h=i.call(f,Math.ceil(l/f.length));return h.length>l&&(h=h.slice(0,l)),u?h+c:c+h}},function(t,n,r){var e=r(31),i=r(15),o=r(44).f;t.exports=function(t){return function(n){for(var r,u=i(n),c=e(u),a=c.length,f=0,s=[];a>f;)o.call(u,r=c[f++])&&s.push(t?[r,u[r]]:u[r]);return s}}},function(t,n,r){"use strict";function e(){return(e=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])}return t}).apply(this,arguments)}function i(t,n){for(var r=0;r<n.length;r++){var e=n[r];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}r(116);var o=function(t,n,r){n.forEach(function(n){t.addEventListener(n,r)})},u=function(t,n,r){n.forEach(function(n){t.removeEventListener(n,r)})},c=function(){function t(n){var r=this;!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t),this.defaults={idle:1e4,events:["mousemove","keydown","mousedown","touchstart"],onIdle:function(){},onActive:function(){},onHide:function(){},onShow:function(){},keepTracking:!0,startAtIdle:!1,recurIdleCall:!1},this.throwOnBadKey(Object.keys(n),Object.keys(this.defaults)),this.settings=e({},this.defaults,n),this.visibilityEvents=["visibilitychange","webkitvisibilitychange","mozvisibilitychange","msvisibilitychange"],this.clearTimeout=null,this.reset(),this.stopListener=function(t){r.stop()},this.idlenessEventsHandler=function(t){r.idle&&(r.idle=!1,r.settings.onActive.call()),r.resetTimeout(r.settings)},this.visibilityEventsHandler=function(t){document.hidden||document.webkitHidden||document.mozHidden||document.msHidden?r.visible&&(r.visible=!1,r.settings.onHide.call()):r.visible||(r.visible=!0,r.settings.onShow.call())}}var n,r,c;return n=t,(r=[{key:"resetTimeout",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.settings.keepTracking;this.clearTimeout&&(this.clearTimeout(),this.clearTimeout=null),n&&this.timeout(this.settings)}},{key:"timeout",value:function(t){var n=this.settings.recurIdleCall?{set:setInterval.bind(window),clear:clearInterval.bind(window)}:{set:setTimeout.bind(window),clear:clearTimeout.bind(window)},r=n.set(function(){this.idle=!0,this.settings.onIdle.call()}.bind(this),this.settings.idle);this.clearTimeout=function(){return n.clear(r)}}},{key:"start",value:function(){return window.addEventListener("idle:stop",this.stopListener),this.timeout(this.settings),o(window,this.settings.events,this.idlenessEventsHandler),(this.settings.onShow||this.settings.onHide)&&o(document,this.visibilityEvents,this.visibilityEventsHandler),this}},{key:"stop",value:function(){return window.removeEventListener("idle:stop",this.stopListener),u(window,this.settings.events,this.idlenessEventsHandler),this.resetTimeout(this.settings,!1),(this.settings.onShow||this.settings.onHide)&&u(document,this.visibilityEvents,this.visibilityEventsHandler),this}},{key:"reset",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.idle,r=void 0===n?this.settings.startAtIdle:n,e=t.visible,i=void 0===e?!this.settings.startAtIdle:e;return this.idle=r,this.visible=i,this}},{key:"throwOnBadKey",value:function(t,n){t.forEach(function(t){if(!n.includes(t))throw"set: Unknown key ".concat(t)})}},{key:"set",value:function(t){this.throwOnBadKey(Object.keys(t),Object.keys(this.defaults)),this.settings=e(this.settings,t)}}])&&i(n.prototype,r),c&&i(n,c),t}();t.exports=c},function(t,n,r){"use strict";(function(t){r(118),r(261),r(263),r(265),r(267),r(269),r(271),r(273),r(275),r(277),r(281),t._babelPolyfill&&"undefined"!=typeof console&&console.warn&&console.warn("@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning."),t._babelPolyfill=!0}).call(this,r(117))},function(t,n){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,n,r){r(119),r(121),r(122),r(123),r(124),r(125),r(126),r(127),r(128),r(129),r(130),r(131),r(132),r(133),r(134),r(135),r(136),r(137),r(138),r(139),r(140),r(141),r(142),r(143),r(144),r(145),r(146),r(147),r(148),r(149),r(150),r(151),r(152),r(153),r(154),r(155),r(156),r(157),r(158),r(159),r(160),r(161),r(162),r(164),r(165),r(166),r(167),r(168),r(169),r(170),r(171),r(172),r(173),r(174),r(175),r(176),r(177),r(178),r(179),r(180),r(181),r(182),r(183),r(184),r(185),r(186),r(187),r(188),r(189),r(190),r(191),r(192),r(193),r(194),r(195),r(196),r(197),r(199),r(200),r(202),r(203),r(204),r(205),r(206),r(207),r(208),r(211),r(212),r(213),r(214),r(215),r(216),r(217),r(218),r(219),r(220),r(221),r(222),r(223),r(80),r(224),r(104),r(225),r(105),r(226),r(227),r(228),r(229),r(106),r(232),r(233),r(234),r(235),r(236),r(237),r(238),r(239),r(240),r(241),r(242),r(243),r(244),r(245),r(246),r(247),r(248),r(249),r(250),r(251),r(252),r(253),r(254),r(255),r(256),r(257),r(258),r(259),r(260),t.exports=r(9)},function(t,n,r){"use strict";var e=r(3),i=r(13),o=r(8),u=r(0),c=r(10),a=r(27).KEY,f=r(1),s=r(59),l=r(36),h=r(29),v=r(5),p=r(60),d=r(86),g=r(120),y=r(63),m=r(2),b=r(4),x=r(15),w=r(26),S=r(28),_=r(33),E=r(89),O=r(18),F=r(7),P=r(31),I=O.f,M=F.f,A=E.f,j=e.Symbol,T=e.JSON,N=T&&T.stringify,L=v("_hidden"),k=v("toPrimitive"),R={}.propertyIsEnumerable,C=s("symbol-registry"),D=s("symbols"),W=s("op-symbols"),B=Object.prototype,U="function"==typeof j,V=e.QObject,G=!V||!V.prototype||!V.prototype.findChild,H=o&&f(function(){return 7!=_(M({},"a",{get:function(){return M(this,"a",{value:7}).a}})).a})?function(t,n,r){var e=I(B,n);e&&delete B[n],M(t,n,r),e&&t!==B&&M(B,n,e)}:M,z=function(t){var n=D[t]=_(j.prototype);return n._k=t,n},Y=U&&"symbol"==typeof j.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof j},K=function(t,n,r){return t===B&&K(W,n,r),m(t),n=w(n,!0),m(r),i(D,n)?(r.enumerable?(i(t,L)&&t[L][n]&&(t[L][n]=!1),r=_(r,{enumerable:S(0,!1)})):(i(t,L)||M(t,L,S(1,{})),t[L][n]=!0),H(t,n,r)):M(t,n,r)},q=function(t,n){m(t);for(var r,e=g(n=x(n)),i=0,o=e.length;o>i;)K(t,r=e[i++],n[r]);return t},J=function(t){var n=R.call(this,t=w(t,!0));return!(this===B&&i(D,t)&&!i(W,t))&&(!(n||!i(this,t)||!i(D,t)||i(this,L)&&this[L][t])||n)},$=function(t,n){if(t=x(t),n=w(n,!0),t!==B||!i(D,n)||i(W,n)){var r=I(t,n);return!r||!i(D,n)||i(t,L)&&t[L][n]||(r.enumerable=!0),r}},X=function(t){for(var n,r=A(x(t)),e=[],o=0;r.length>o;)i(D,n=r[o++])||n==L||n==a||e.push(n);return e},Z=function(t){for(var n,r=t===B,e=A(r?W:x(t)),o=[],u=0;e.length>u;)!i(D,n=e[u++])||r&&!i(B,n)||o.push(D[n]);return o};U||(c((j=function(){if(this instanceof j)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),n=function(r){this===B&&n.call(W,r),i(this,L)&&i(this[L],t)&&(this[L][t]=!1),H(this,t,S(1,r))};return o&&G&&H(B,t,{configurable:!0,set:n}),z(t)}).prototype,"toString",function(){return this._k}),O.f=$,F.f=K,r(34).f=E.f=X,r(44).f=J,r(48).f=Z,o&&!r(30)&&c(B,"propertyIsEnumerable",J,!0),p.f=function(t){return z(v(t))}),u(u.G+u.W+u.F*!U,{Symbol:j});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)v(Q[tt++]);for(var nt=P(v.store),rt=0;nt.length>rt;)d(nt[rt++]);u(u.S+u.F*!U,"Symbol",{for:function(t){return i(C,t+="")?C[t]:C[t]=j(t)},keyFor:function(t){if(!Y(t))throw TypeError(t+" is not a symbol!");for(var n in C)if(C[n]===t)return n},useSetter:function(){G=!0},useSimple:function(){G=!1}}),u(u.S+u.F*!U,"Object",{create:function(t,n){return void 0===n?_(t):q(_(t),n)},defineProperty:K,defineProperties:q,getOwnPropertyDescriptor:$,getOwnPropertyNames:X,getOwnPropertySymbols:Z}),T&&u(u.S+u.F*(!U||f(function(){var t=j();return"[null]"!=N([t])||"{}"!=N({a:t})||"{}"!=N(Object(t))})),"JSON",{stringify:function(t){for(var n,r,e=[t],i=1;arguments.length>i;)e.push(arguments[i++]);if(r=n=e[1],(b(n)||void 0!==t)&&!Y(t))return y(n)||(n=function(t,n){if("function"==typeof r&&(n=r.call(this,t,n)),!Y(n))return n}),e[1]=n,N.apply(T,e)}}),j.prototype[k]||r(14)(j.prototype,k,j.prototype.valueOf),l(j,"Symbol"),l(Math,"Math",!0),l(e.JSON,"JSON",!0)},function(t,n,r){var e=r(31),i=r(48),o=r(44);t.exports=function(t){var n=e(t),r=i.f;if(r)for(var u,c=r(t),a=o.f,f=0;c.length>f;)a.call(t,u=c[f++])&&n.push(u);return n}},function(t,n,r){var e=r(0);e(e.S,"Object",{create:r(33)})},function(t,n,r){var e=r(0);e(e.S+e.F*!r(8),"Object",{defineProperty:r(7).f})},function(t,n,r){var e=r(0);e(e.S+e.F*!r(8),"Object",{defineProperties:r(88)})},function(t,n,r){var e=r(15),i=r(18).f;r(19)("getOwnPropertyDescriptor",function(){return function(t,n){return i(e(t),n)}})},function(t,n,r){var e=r(11),i=r(35);r(19)("getPrototypeOf",function(){return function(t){return i(e(t))}})},function(t,n,r){var e=r(11),i=r(31);r(19)("keys",function(){return function(t){return i(e(t))}})},function(t,n,r){r(19)("getOwnPropertyNames",function(){return r(89).f})},function(t,n,r){var e=r(4),i=r(27).onFreeze;r(19)("freeze",function(t){return function(n){return t&&e(n)?t(i(n)):n}})},function(t,n,r){var e=r(4),i=r(27).onFreeze;r(19)("seal",function(t){return function(n){return t&&e(n)?t(i(n)):n}})},function(t,n,r){var e=r(4),i=r(27).onFreeze;r(19)("preventExtensions",function(t){return function(n){return t&&e(n)?t(i(n)):n}})},function(t,n,r){var e=r(4);r(19)("isFrozen",function(t){return function(n){return!e(n)||!!t&&t(n)}})},function(t,n,r){var e=r(4);r(19)("isSealed",function(t){return function(n){return!e(n)||!!t&&t(n)}})},function(t,n,r){var e=r(4);r(19)("isExtensible",function(t){return function(n){return!!e(n)&&(!t||t(n))}})},function(t,n,r){var e=r(0);e(e.S+e.F,"Object",{assign:r(90)})},function(t,n,r){var e=r(0);e(e.S,"Object",{is:r(91)})},function(t,n,r){var e=r(0);e(e.S,"Object",{setPrototypeOf:r(65).set})},function(t,n,r){"use strict";var e=r(45),i={};i[r(5)("toStringTag")]="z",i+""!="[object z]"&&r(10)(Object.prototype,"toString",function(){return"[object "+e(this)+"]"},!0)},function(t,n,r){var e=r(0);e(e.P,"Function",{bind:r(92)})},function(t,n,r){var e=r(7).f,i=Function.prototype,o=/^\s*function ([^ (]*)/;"name"in i||r(8)&&e(i,"name",{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},function(t,n,r){"use strict";var e=r(4),i=r(35),o=r(5)("hasInstance"),u=Function.prototype;o in u||r(7).f(u,o,{value:function(t){if("function"!=typeof this||!e(t))return!1;if(!e(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},function(t,n,r){var e=r(0),i=r(94);e(e.G+e.F*(parseInt!=i),{parseInt:i})},function(t,n,r){var e=r(0),i=r(95);e(e.G+e.F*(parseFloat!=i),{parseFloat:i})},function(t,n,r){"use strict";var e=r(3),i=r(13),o=r(23),u=r(67),c=r(26),a=r(1),f=r(34).f,s=r(18).f,l=r(7).f,h=r(49).trim,v=e.Number,p=v,d=v.prototype,g="Number"==o(r(33)(d)),y="trim"in String.prototype,m=function(t){var n=c(t,!1);if("string"==typeof n&&n.length>2){var r,e,i,o=(n=y?n.trim():h(n,3)).charCodeAt(0);if(43===o||45===o){if(88===(r=n.charCodeAt(2))||120===r)return NaN}else if(48===o){switch(n.charCodeAt(1)){case 66:case 98:e=2,i=49;break;case 79:case 111:e=8,i=55;break;default:return+n}for(var u,a=n.slice(2),f=0,s=a.length;f<s;f++)if((u=a.charCodeAt(f))<48||u>i)return NaN;return parseInt(a,e)}}return+n};if(!v(" 0o1")||!v("0b1")||v("+0x1")){v=function(t){var n=arguments.length<1?0:t,r=this;return r instanceof v&&(g?a(function(){d.valueOf.call(r)}):"Number"!=o(r))?u(new p(m(n)),r,v):m(n)};for(var b,x=r(8)?f(p):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;x.length>w;w++)i(p,b=x[w])&&!i(v,b)&&l(v,b,s(p,b));v.prototype=d,d.constructor=v,r(10)(e,"Number",v)}},function(t,n,r){"use strict";var e=r(0),i=r(17),o=r(96),u=r(68),c=1..toFixed,a=Math.floor,f=[0,0,0,0,0,0],s="Number.toFixed: incorrect invocation!",l=function(t,n){for(var r=-1,e=n;++r<6;)e+=t*f[r],f[r]=e%1e7,e=a(e/1e7)},h=function(t){for(var n=6,r=0;--n>=0;)r+=f[n],f[n]=a(r/t),r=r%t*1e7},v=function(){for(var t=6,n="";--t>=0;)if(""!==n||0===t||0!==f[t]){var r=String(f[t]);n=""===n?r:n+u.call("0",7-r.length)+r}return n},p=function(t,n,r){return 0===n?r:n%2==1?p(t,n-1,r*t):p(t*t,n/2,r)};e(e.P+e.F*(!!c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!r(1)(function(){c.call({})})),"Number",{toFixed:function(t){var n,r,e,c,a=o(this,s),f=i(t),d="",g="0";if(f<0||f>20)throw RangeError(s);if(a!=a)return"NaN";if(a<=-1e21||a>=1e21)return String(a);if(a<0&&(d="-",a=-a),a>1e-21)if(r=(n=function(t){for(var n=0,r=t;r>=4096;)n+=12,r/=4096;for(;r>=2;)n+=1,r/=2;return n}(a*p(2,69,1))-69)<0?a*p(2,-n,1):a/p(2,n,1),r*=4503599627370496,(n=52-n)>0){for(l(0,r),e=f;e>=7;)l(1e7,0),e-=7;for(l(p(10,e,1),0),e=n-1;e>=23;)h(1<<23),e-=23;h(1<<e),l(1,1),h(2),g=v()}else l(0,r),l(1<<-n,0),g=v()+u.call("0",f);return g=f>0?d+((c=g.length)<=f?"0."+u.call("0",f-c)+g:g.slice(0,c-f)+"."+g.slice(c-f)):d+g}})},function(t,n,r){"use strict";var e=r(0),i=r(1),o=r(96),u=1..toPrecision;e(e.P+e.F*(i(function(){return"1"!==u.call(1,void 0)})||!i(function(){u.call({})})),"Number",{toPrecision:function(t){var n=o(this,"Number#toPrecision: incorrect invocation!");return void 0===t?u.call(n):u.call(n,t)}})},function(t,n,r){var e=r(0);e(e.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,n,r){var e=r(0),i=r(3).isFinite;e(e.S,"Number",{isFinite:function(t){return"number"==typeof t&&i(t)}})},function(t,n,r){var e=r(0);e(e.S,"Number",{isInteger:r(97)})},function(t,n,r){var e=r(0);e(e.S,"Number",{isNaN:function(t){return t!=t}})},function(t,n,r){var e=r(0),i=r(97),o=Math.abs;e(e.S,"Number",{isSafeInteger:function(t){return i(t)&&o(t)<=9007199254740991}})},function(t,n,r){var e=r(0);e(e.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,n,r){var e=r(0);e(e.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,n,r){var e=r(0),i=r(95);e(e.S+e.F*(Number.parseFloat!=i),"Number",{parseFloat:i})},function(t,n,r){var e=r(0),i=r(94);e(e.S+e.F*(Number.parseInt!=i),"Number",{parseInt:i})},function(t,n,r){var e=r(0),i=r(98),o=Math.sqrt,u=Math.acosh;e(e.S+e.F*!(u&&710==Math.floor(u(Number.MAX_VALUE))&&u(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:i(t-1+o(t-1)*o(t+1))}})},function(t,n,r){var e=r(0),i=Math.asinh;e(e.S+e.F*!(i&&1/i(0)>0),"Math",{asinh:function t(n){return isFinite(n=+n)&&0!=n?n<0?-t(-n):Math.log(n+Math.sqrt(n*n+1)):n}})},function(t,n,r){var e=r(0),i=Math.atanh;e(e.S+e.F*!(i&&1/i(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,n,r){var e=r(0),i=r(69);e(e.S,"Math",{cbrt:function(t){return i(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,n,r){var e=r(0),i=Math.exp;e(e.S,"Math",{cosh:function(t){return(i(t=+t)+i(-t))/2}})},function(t,n,r){var e=r(0),i=r(70);e(e.S+e.F*(i!=Math.expm1),"Math",{expm1:i})},function(t,n,r){var e=r(0);e(e.S,"Math",{fround:r(163)})},function(t,n,r){var e=r(69),i=Math.pow,o=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),a=i(2,-126);t.exports=Math.fround||function(t){var n,r,i=Math.abs(t),f=e(t);return i<a?f*(i/a/u+1/o-1/o)*a*u:(r=(n=(1+u/o)*i)-(n-i))>c||r!=r?f*(1/0):f*r}},function(t,n,r){var e=r(0),i=Math.abs;e(e.S,"Math",{hypot:function(t,n){for(var r,e,o=0,u=0,c=arguments.length,a=0;u<c;)a<(r=i(arguments[u++]))?(o=o*(e=a/r)*e+1,a=r):o+=r>0?(e=r/a)*e:r;return a===1/0?1/0:a*Math.sqrt(o)}})},function(t,n,r){var e=r(0),i=Math.imul;e(e.S+e.F*r(1)(function(){return-5!=i(4294967295,5)||2!=i.length}),"Math",{imul:function(t,n){var r=+t,e=+n,i=65535&r,o=65535&e;return 0|i*o+((65535&r>>>16)*o+i*(65535&e>>>16)<<16>>>0)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,n,r){var e=r(0);e(e.S,"Math",{log1p:r(98)})},function(t,n,r){var e=r(0);e(e.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,n,r){var e=r(0);e(e.S,"Math",{sign:r(69)})},function(t,n,r){var e=r(0),i=r(70),o=Math.exp;e(e.S+e.F*r(1)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},function(t,n,r){var e=r(0),i=r(70),o=Math.exp;e(e.S,"Math",{tanh:function(t){var n=i(t=+t),r=i(-t);return n==1/0?1:r==1/0?-1:(n-r)/(o(t)+o(-t))}})},function(t,n,r){var e=r(0);e(e.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,n,r){var e=r(0),i=r(32),o=String.fromCharCode,u=String.fromCodePoint;e(e.S+e.F*(!!u&&1!=u.length),"String",{fromCodePoint:function(t){for(var n,r=[],e=arguments.length,u=0;e>u;){if(n=+arguments[u++],i(n,1114111)!==n)throw RangeError(n+" is not a valid code point");r.push(n<65536?o(n):o(55296+((n-=65536)>>10),n%1024+56320))}return r.join("")}})},function(t,n,r){var e=r(0),i=r(15),o=r(6);e(e.S,"String",{raw:function(t){for(var n=i(t.raw),r=o(n.length),e=arguments.length,u=[],c=0;r>c;)u.push(String(n[c++])),c<e&&u.push(String(arguments[c]));return u.join("")}})},function(t,n,r){"use strict";r(49)("trim",function(t){return function(){return t(this,3)}})},function(t,n,r){"use strict";var e=r(71)(!0);r(72)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,n=this._t,r=this._i;return r>=n.length?{value:void 0,done:!0}:(t=e(n,r),this._i+=t.length,{value:t,done:!1})})},function(t,n,r){"use strict";var e=r(0),i=r(71)(!1);e(e.P,"String",{codePointAt:function(t){return i(this,t)}})},function(t,n,r){"use strict";var e=r(0),i=r(6),o=r(73),u="".endsWith;e(e.P+e.F*r(75)("endsWith"),"String",{endsWith:function(t){var n=o(this,t,"endsWith"),r=arguments.length>1?arguments[1]:void 0,e=i(n.length),c=void 0===r?e:Math.min(i(r),e),a=String(t);return u?u.call(n,a,c):n.slice(c-a.length,c)===a}})},function(t,n,r){"use strict";var e=r(0),i=r(73);e(e.P+e.F*r(75)("includes"),"String",{includes:function(t){return!!~i(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,r){var e=r(0);e(e.P,"String",{repeat:r(68)})},function(t,n,r){"use strict";var e=r(0),i=r(6),o=r(73),u="".startsWith;e(e.P+e.F*r(75)("startsWith"),"String",{startsWith:function(t){var n=o(this,t,"startsWith"),r=i(Math.min(arguments.length>1?arguments[1]:void 0,n.length)),e=String(t);return u?u.call(n,e,r):n.slice(r,r+e.length)===e}})},function(t,n,r){"use strict";r(12)("anchor",function(t){return function(n){return t(this,"a","name",n)}})},function(t,n,r){"use strict";r(12)("big",function(t){return function(){return t(this,"big","","")}})},function(t,n,r){"use strict";r(12)("blink",function(t){return function(){return t(this,"blink","","")}})},function(t,n,r){"use strict";r(12)("bold",function(t){return function(){return t(this,"b","","")}})},function(t,n,r){"use strict";r(12)("fixed",function(t){return function(){return t(this,"tt","","")}})},function(t,n,r){"use strict";r(12)("fontcolor",function(t){return function(n){return t(this,"font","color",n)}})},function(t,n,r){"use strict";r(12)("fontsize",function(t){return function(n){return t(this,"font","size",n)}})},function(t,n,r){"use strict";r(12)("italics",function(t){return function(){return t(this,"i","","")}})},function(t,n,r){"use strict";r(12)("link",function(t){return function(n){return t(this,"a","href",n)}})},function(t,n,r){"use strict";r(12)("small",function(t){return function(){return t(this,"small","","")}})},function(t,n,r){"use strict";r(12)("strike",function(t){return function(){return t(this,"strike","","")}})},function(t,n,r){"use strict";r(12)("sub",function(t){return function(){return t(this,"sub","","")}})},function(t,n,r){"use strict";r(12)("sup",function(t){return function(){return t(this,"sup","","")}})},function(t,n,r){var e=r(0);e(e.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,n,r){"use strict";var e=r(0),i=r(11),o=r(26);e(e.P+e.F*r(1)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(t){var n=i(this),r=o(n);return"number"!=typeof r||isFinite(r)?n.toISOString():null}})},function(t,n,r){var e=r(0),i=r(198);e(e.P+e.F*(Date.prototype.toISOString!==i),"Date",{toISOString:i})},function(t,n,r){"use strict";var e=r(1),i=Date.prototype.getTime,o=Date.prototype.toISOString,u=function(t){return t>9?t:"0"+t};t.exports=e(function(){return"0385-07-25T07:06:39.999Z"!=o.call(new Date(-5e13-1))})||!e(function(){o.call(new Date(NaN))})?function(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value");var t=this,n=t.getUTCFullYear(),r=t.getUTCMilliseconds(),e=n<0?"-":n>9999?"+":"";return e+("00000"+Math.abs(n)).slice(e?-6:-4)+"-"+u(t.getUTCMonth()+1)+"-"+u(t.getUTCDate())+"T"+u(t.getUTCHours())+":"+u(t.getUTCMinutes())+":"+u(t.getUTCSeconds())+"."+(r>99?r:"0"+u(r))+"Z"}:o},function(t,n,r){var e=Date.prototype,i=e.toString,o=e.getTime;new Date(NaN)+""!="Invalid Date"&&r(10)(e,"toString",function(){var t=o.call(this);return t==t?i.call(this):"Invalid Date"})},function(t,n,r){var e=r(5)("toPrimitive"),i=Date.prototype;e in i||r(14)(i,e,r(201))},function(t,n,r){"use strict";var e=r(2),i=r(26);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return i(e(this),"number"!=t)}},function(t,n,r){var e=r(0);e(e.S,"Array",{isArray:r(63)})},function(t,n,r){"use strict";var e=r(21),i=r(0),o=r(11),u=r(100),c=r(76),a=r(6),f=r(77),s=r(78);i(i.S+i.F*!r(50)(function(t){Array.from(t)}),"Array",{from:function(t){var n,r,i,l,h=o(t),v="function"==typeof this?this:Array,p=arguments.length,d=p>1?arguments[1]:void 0,g=void 0!==d,y=0,m=s(h);if(g&&(d=e(d,p>2?arguments[2]:void 0,2)),null==m||v==Array&&c(m))for(r=new v(n=a(h.length));n>y;y++)f(r,y,g?d(h[y],y):h[y]);else for(l=m.call(h),r=new v;!(i=l.next()).done;y++)f(r,y,g?u(l,d,[i.value,y],!0):i.value);return r.length=y,r}})},function(t,n,r){"use strict";var e=r(0),i=r(77);e(e.S+e.F*r(1)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function(){for(var t=0,n=arguments.length,r=new("function"==typeof this?this:Array)(n);n>t;)i(r,t,arguments[t++]);return r.length=n,r}})},function(t,n,r){"use strict";var e=r(0),i=r(15),o=[].join;e(e.P+e.F*(r(43)!=Object||!r(16)(o)),"Array",{join:function(t){return o.call(i(this),void 0===t?",":t)}})},function(t,n,r){"use strict";var e=r(0),i=r(64),o=r(23),u=r(32),c=r(6),a=[].slice;e(e.P+e.F*r(1)(function(){i&&a.call(i)}),"Array",{slice:function(t,n){var r=c(this.length),e=o(this);if(n=void 0===n?r:n,"Array"==e)return a.call(this,t,n);for(var i=u(t,r),f=u(n,r),s=c(f-i),l=new Array(s),h=0;h<s;h++)l[h]="String"==e?this.charAt(i+h):this[i+h];return l}})},function(t,n,r){"use strict";var e=r(0),i=r(22),o=r(11),u=r(1),c=[].sort,a=[1,2,3];e(e.P+e.F*(u(function(){a.sort(void 0)})||!u(function(){a.sort(null)})||!r(16)(c)),"Array",{sort:function(t){return void 0===t?c.call(o(this)):c.call(o(this),i(t))}})},function(t,n,r){"use strict";var e=r(0),i=r(20)(0),o=r(16)([].forEach,!0);e(e.P+e.F*!o,"Array",{forEach:function(t){return i(this,t,arguments[1])}})},function(t,n,r){var e=r(210);t.exports=function(t,n){return new(e(t))(n)}},function(t,n,r){var e=r(4),i=r(63),o=r(5)("species");t.exports=function(t){var n;return i(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!i(n.prototype)||(n=void 0),e(n)&&null===(n=n[o])&&(n=void 0)),void 0===n?Array:n}},function(t,n,r){"use strict";var e=r(0),i=r(20)(1);e(e.P+e.F*!r(16)([].map,!0),"Array",{map:function(t){return i(this,t,arguments[1])}})},function(t,n,r){"use strict";var e=r(0),i=r(20)(2);e(e.P+e.F*!r(16)([].filter,!0),"Array",{filter:function(t){return i(this,t,arguments[1])}})},function(t,n,r){"use strict";var e=r(0),i=r(20)(3);e(e.P+e.F*!r(16)([].some,!0),"Array",{some:function(t){return i(this,t,arguments[1])}})},function(t,n,r){"use strict";var e=r(0),i=r(20)(4);e(e.P+e.F*!r(16)([].every,!0),"Array",{every:function(t){return i(this,t,arguments[1])}})},function(t,n,r){"use strict";var e=r(0),i=r(101);e(e.P+e.F*!r(16)([].reduce,!0),"Array",{reduce:function(t){return i(this,t,arguments.length,arguments[1],!1)}})},function(t,n,r){"use strict";var e=r(0),i=r(101);e(e.P+e.F*!r(16)([].reduceRight,!0),"Array",{reduceRight:function(t){return i(this,t,arguments.length,arguments[1],!0)}})},function(t,n,r){"use strict";var e=r(0),i=r(47)(!1),o=[].indexOf,u=!!o&&1/[1].indexOf(1,-0)<0;e(e.P+e.F*(u||!r(16)(o)),"Array",{indexOf:function(t){return u?o.apply(this,arguments)||0:i(this,t,arguments[1])}})},function(t,n,r){"use strict";var e=r(0),i=r(15),o=r(17),u=r(6),c=[].lastIndexOf,a=!!c&&1/[1].lastIndexOf(1,-0)<0;e(e.P+e.F*(a||!r(16)(c)),"Array",{lastIndexOf:function(t){if(a)return c.apply(this,arguments)||0;var n=i(this),r=u(n.length),e=r-1;for(arguments.length>1&&(e=Math.min(e,o(arguments[1]))),e<0&&(e=r+e);e>=0;e--)if(e in n&&n[e]===t)return e||0;return-1}})},function(t,n,r){var e=r(0);e(e.P,"Array",{copyWithin:r(102)}),r(38)("copyWithin")},function(t,n,r){var e=r(0);e(e.P,"Array",{fill:r(79)}),r(38)("fill")},function(t,n,r){"use strict";var e=r(0),i=r(20)(5),o=!0;"find"in[]&&Array(1).find(function(){o=!1}),e(e.P+e.F*o,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(38)("find")},function(t,n,r){"use strict";var e=r(0),i=r(20)(6),o="findIndex",u=!0;o in[]&&Array(1)[o](function(){u=!1}),e(e.P+e.F*u,"Array",{findIndex:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(38)(o)},function(t,n,r){r(39)("Array")},function(t,n,r){var e=r(3),i=r(67),o=r(7).f,u=r(34).f,c=r(74),a=r(51),f=e.RegExp,s=f,l=f.prototype,h=/a/g,v=/a/g,p=new f(h)!==h;if(r(8)&&(!p||r(1)(function(){return v[r(5)("match")]=!1,f(h)!=h||f(v)==v||"/a/i"!=f(h,"i")}))){f=function(t,n){var r=this instanceof f,e=c(t),o=void 0===n;return!r&&e&&t.constructor===f&&o?t:i(p?new s(e&&!o?t.source:t,n):s((e=t instanceof f)?t.source:t,e&&o?a.call(t):n),r?this:l,f)};for(var d=function(t){t in f||o(f,t,{configurable:!0,get:function(){return s[t]},set:function(n){s[t]=n}})},g=u(s),y=0;g.length>y;)d(g[y++]);l.constructor=f,f.prototype=l,r(10)(e,"RegExp",f)}r(39)("RegExp")},function(t,n,r){"use strict";r(105);var e=r(2),i=r(51),o=r(8),u=/./.toString,c=function(t){r(10)(RegExp.prototype,"toString",t,!0)};r(1)(function(){return"/a/b"!=u.call({source:"a",flags:"b"})})?c(function(){var t=e(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)}):"toString"!=u.name&&c(function(){return u.call(this)})},function(t,n,r){"use strict";var e=r(2),i=r(6),o=r(82),u=r(52);r(53)("match",1,function(t,n,r,c){return[function(r){var e=t(this),i=null==r?void 0:r[n];return void 0!==i?i.call(r,e):new RegExp(r)[n](String(e))},function(t){var n=c(r,t,this);if(n.done)return n.value;var a=e(t),f=String(this);if(!a.global)return u(a,f);var s=a.unicode;a.lastIndex=0;for(var l,h=[],v=0;null!==(l=u(a,f));){var p=String(l[0]);h[v]=p,""===p&&(a.lastIndex=o(f,i(a.lastIndex),s)),v++}return 0===v?null:h}]})},function(t,n,r){"use strict";var e=r(2),i=r(11),o=r(6),u=r(17),c=r(82),a=r(52),f=Math.max,s=Math.min,l=Math.floor,h=/\$([$&`']|\d\d?|<[^>]*>)/g,v=/\$([$&`']|\d\d?)/g;r(53)("replace",2,function(t,n,r,p){return[function(e,i){var o=t(this),u=null==e?void 0:e[n];return void 0!==u?u.call(e,o,i):r.call(String(o),e,i)},function(t,n){var i=p(r,t,this,n);if(i.done)return i.value;var l=e(t),h=String(this),v="function"==typeof n;v||(n=String(n));var g=l.global;if(g){var y=l.unicode;l.lastIndex=0}for(var m=[];;){var b=a(l,h);if(null===b)break;if(m.push(b),!g)break;""===String(b[0])&&(l.lastIndex=c(h,o(l.lastIndex),y))}for(var x,w="",S=0,_=0;_<m.length;_++){b=m[_];for(var E=String(b[0]),O=f(s(u(b.index),h.length),0),F=[],P=1;P<b.length;P++)F.push(void 0===(x=b[P])?x:String(x));var I=b.groups;if(v){var M=[E].concat(F,O,h);void 0!==I&&M.push(I);var A=String(n.apply(void 0,M))}else A=d(E,h,O,F,I,n);O>=S&&(w+=h.slice(S,O)+A,S=O+E.length)}return w+h.slice(S)}];function d(t,n,e,o,u,c){var a=e+t.length,f=o.length,s=v;return void 0!==u&&(u=i(u),s=h),r.call(c,s,function(r,i){var c;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,e);case"'":return n.slice(a);case"<":c=u[i.slice(1,-1)];break;default:var s=+i;if(0===s)return r;if(s>f){var h=l(s/10);return 0===h?r:h<=f?void 0===o[h-1]?i.charAt(1):o[h-1]+i.charAt(1):r}c=o[s-1]}return void 0===c?"":c})}})},function(t,n,r){"use strict";var e=r(2),i=r(91),o=r(52);r(53)("search",1,function(t,n,r,u){return[function(r){var e=t(this),i=null==r?void 0:r[n];return void 0!==i?i.call(r,e):new RegExp(r)[n](String(e))},function(t){var n=u(r,t,this);if(n.done)return n.value;var c=e(t),a=String(this),f=c.lastIndex;i(f,0)||(c.lastIndex=0);var s=o(c,a);return i(c.lastIndex,f)||(c.lastIndex=f),null===s?-1:s.index}]})},function(t,n,r){"use strict";var e=r(74),i=r(2),o=r(46),u=r(82),c=r(6),a=r(52),f=r(81),s=r(1),l=Math.min,h=[].push,v=!s(function(){RegExp(4294967295,"y")});r(53)("split",2,function(t,n,r,s){var p;return p="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,n){var i=String(this);if(void 0===t&&0===n)return[];if(!e(t))return r.call(i,t,n);for(var o,u,c,a=[],s=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),l=0,v=void 0===n?4294967295:n>>>0,p=new RegExp(t.source,s+"g");(o=f.call(p,i))&&!((u=p.lastIndex)>l&&(a.push(i.slice(l,o.index)),o.length>1&&o.index<i.length&&h.apply(a,o.slice(1)),c=o[0].length,l=u,a.length>=v));)p.lastIndex===o.index&&p.lastIndex++;return l===i.length?!c&&p.test("")||a.push(""):a.push(i.slice(l)),a.length>v?a.slice(0,v):a}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:r.call(this,t,n)}:r,[function(r,e){var i=t(this),o=null==r?void 0:r[n];return void 0!==o?o.call(r,i,e):p.call(String(i),r,e)},function(t,n){var e=s(p,t,this,n,p!==r);if(e.done)return e.value;var f=i(t),h=String(this),d=o(f,RegExp),g=f.unicode,y=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(v?"y":"g"),m=new d(v?f:"^(?:"+f.source+")",y),b=void 0===n?4294967295:n>>>0;if(0===b)return[];if(0===h.length)return null===a(m,h)?[h]:[];for(var x=0,w=0,S=[];w<h.length;){m.lastIndex=v?w:0;var _,E=a(m,v?h:h.slice(w));if(null===E||(_=l(c(m.lastIndex+(v?0:w)),h.length))===x)w=u(h,w,g);else{if(S.push(h.slice(x,w)),S.length===b)return S;for(var O=1;O<=E.length-1;O++)if(S.push(E[O]),S.length===b)return S;w=x=_}}return S.push(h.slice(x)),S}]})},function(t,n,r){var e=r(3),i=r(83).set,o=e.MutationObserver||e.WebKitMutationObserver,u=e.process,c=e.Promise,a="process"==r(23)(u);t.exports=function(){var t,n,r,f=function(){var e,i;for(a&&(e=u.domain)&&e.exit();t;){i=t.fn,t=t.next;try{i()}catch(e){throw t?r():n=void 0,e}}n=void 0,e&&e.enter()};if(a)r=function(){u.nextTick(f)};else if(!o||e.navigator&&e.navigator.standalone)if(c&&c.resolve){var s=c.resolve(void 0);r=function(){s.then(f)}}else r=function(){i.call(e,f)};else{var l=!0,h=document.createTextNode("");new o(f).observe(h,{characterData:!0}),r=function(){h.data=l=!l}}return function(e){var i={fn:e,next:void 0};n&&(n.next=i),t||(t=i,r()),n=i}}},function(t,n){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,n,r){"use strict";var e=r(109),i=r(42);t.exports=r(56)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var n=e.getEntry(i(this,"Map"),t);return n&&n.v},set:function(t,n){return e.def(i(this,"Map"),0===t?0:t,n)}},e,!0)},function(t,n,r){"use strict";var e=r(109),i=r(42);t.exports=r(56)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return e.def(i(this,"Set"),t=0===t?0:t,t)}},e)},function(t,n,r){"use strict";var e,i=r(20)(0),o=r(10),u=r(27),c=r(90),a=r(110),f=r(4),s=r(1),l=r(42),h=u.getWeak,v=Object.isExtensible,p=a.ufstore,d={},g=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},y={get:function(t){if(f(t)){var n=h(t);return!0===n?p(l(this,"WeakMap")).get(t):n?n[this._i]:void 0}},set:function(t,n){return a.def(l(this,"WeakMap"),t,n)}},m=t.exports=r(56)("WeakMap",g,y,a,!0,!0);s(function(){return 7!=(new m).set((Object.freeze||Object)(d),7).get(d)})&&(c((e=a.getConstructor(g,"WeakMap")).prototype,y),u.NEED=!0,i(["delete","has","get","set"],function(t){var n=m.prototype,r=n[t];o(n,t,function(n,i){if(f(n)&&!v(n)){this._f||(this._f=new e);var o=this._f[t](n,i);return"set"==t?this:o}return r.call(this,n,i)})}))},function(t,n,r){"use strict";var e=r(110),i=r(42);r(56)("WeakSet",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return e.def(i(this,"WeakSet"),t,!0)}},e,!1,!0)},function(t,n,r){"use strict";var e=r(0),i=r(57),o=r(84),u=r(2),c=r(32),a=r(6),f=r(4),s=r(3).ArrayBuffer,l=r(46),h=o.ArrayBuffer,v=o.DataView,p=i.ABV&&s.isView,d=h.prototype.slice,g=i.VIEW;e(e.G+e.W+e.F*(s!==h),{ArrayBuffer:h}),e(e.S+e.F*!i.CONSTR,"ArrayBuffer",{isView:function(t){return p&&p(t)||f(t)&&g in t}}),e(e.P+e.U+e.F*r(1)(function(){return!new h(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function(t,n){if(void 0!==d&&void 0===n)return d.call(u(this),t);for(var r=u(this).byteLength,e=c(t,r),i=c(void 0===n?r:n,r),o=new(l(this,h))(a(i-e)),f=new v(this),s=new v(o),p=0;e<i;)s.setUint8(p++,f.getUint8(e++));return o}}),r(39)("ArrayBuffer")},function(t,n,r){var e=r(0);e(e.G+e.W+e.F*!r(57).ABV,{DataView:r(84).DataView})},function(t,n,r){r(25)("Int8",1,function(t){return function(n,r,e){return t(this,n,r,e)}})},function(t,n,r){r(25)("Uint8",1,function(t){return function(n,r,e){return t(this,n,r,e)}})},function(t,n,r){r(25)("Uint8",1,function(t){return function(n,r,e){return t(this,n,r,e)}},!0)},function(t,n,r){r(25)("Int16",2,function(t){return function(n,r,e){return t(this,n,r,e)}})},function(t,n,r){r(25)("Uint16",2,function(t){return function(n,r,e){return t(this,n,r,e)}})},function(t,n,r){r(25)("Int32",4,function(t){return function(n,r,e){return t(this,n,r,e)}})},function(t,n,r){r(25)("Uint32",4,function(t){return function(n,r,e){return t(this,n,r,e)}})},function(t,n,r){r(25)("Float32",4,function(t){return function(n,r,e){return t(this,n,r,e)}})},function(t,n,r){r(25)("Float64",8,function(t){return function(n,r,e){return t(this,n,r,e)}})},function(t,n,r){var e=r(0),i=r(22),o=r(2),u=(r(3).Reflect||{}).apply,c=Function.apply;e(e.S+e.F*!r(1)(function(){u(function(){})}),"Reflect",{apply:function(t,n,r){var e=i(t),a=o(r);return u?u(e,n,a):c.call(e,n,a)}})},function(t,n,r){var e=r(0),i=r(33),o=r(22),u=r(2),c=r(4),a=r(1),f=r(92),s=(r(3).Reflect||{}).construct,l=a(function(){function t(){}return!(s(function(){},[],t)instanceof t)}),h=!a(function(){s(function(){})});e(e.S+e.F*(l||h),"Reflect",{construct:function(t,n){o(t),u(n);var r=arguments.length<3?t:o(arguments[2]);if(h&&!l)return s(t,n,r);if(t==r){switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3])}var e=[null];return e.push.apply(e,n),new(f.apply(t,e))}var a=r.prototype,v=i(c(a)?a:Object.prototype),p=Function.apply.call(t,v,n);return c(p)?p:v}})},function(t,n,r){var e=r(7),i=r(0),o=r(2),u=r(26);i(i.S+i.F*r(1)(function(){Reflect.defineProperty(e.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(t,n,r){o(t),n=u(n,!0),o(r);try{return e.f(t,n,r),!0}catch(t){return!1}}})},function(t,n,r){var e=r(0),i=r(18).f,o=r(2);e(e.S,"Reflect",{deleteProperty:function(t,n){var r=i(o(t),n);return!(r&&!r.configurable)&&delete t[n]}})},function(t,n,r){"use strict";var e=r(0),i=r(2),o=function(t){this._t=i(t),this._i=0;var n,r=this._k=[];for(n in t)r.push(n)};r(99)(o,"Object",function(){var t,n=this._k;do{if(this._i>=n.length)return{value:void 0,done:!0}}while(!((t=n[this._i++])in this._t));return{value:t,done:!1}}),e(e.S,"Reflect",{enumerate:function(t){return new o(t)}})},function(t,n,r){var e=r(18),i=r(35),o=r(13),u=r(0),c=r(4),a=r(2);u(u.S,"Reflect",{get:function t(n,r){var u,f,s=arguments.length<3?n:arguments[2];return a(n)===s?n[r]:(u=e.f(n,r))?o(u,"value")?u.value:void 0!==u.get?u.get.call(s):void 0:c(f=i(n))?t(f,r,s):void 0}})},function(t,n,r){var e=r(18),i=r(0),o=r(2);i(i.S,"Reflect",{getOwnPropertyDescriptor:function(t,n){return e.f(o(t),n)}})},function(t,n,r){var e=r(0),i=r(35),o=r(2);e(e.S,"Reflect",{getPrototypeOf:function(t){return i(o(t))}})},function(t,n,r){var e=r(0);e(e.S,"Reflect",{has:function(t,n){return n in t}})},function(t,n,r){var e=r(0),i=r(2),o=Object.isExtensible;e(e.S,"Reflect",{isExtensible:function(t){return i(t),!o||o(t)}})},function(t,n,r){var e=r(0);e(e.S,"Reflect",{ownKeys:r(112)})},function(t,n,r){var e=r(0),i=r(2),o=Object.preventExtensions;e(e.S,"Reflect",{preventExtensions:function(t){i(t);try{return o&&o(t),!0}catch(t){return!1}}})},function(t,n,r){var e=r(7),i=r(18),o=r(35),u=r(13),c=r(0),a=r(28),f=r(2),s=r(4);c(c.S,"Reflect",{set:function t(n,r,c){var l,h,v=arguments.length<4?n:arguments[3],p=i.f(f(n),r);if(!p){if(s(h=o(n)))return t(h,r,c,v);p=a(0)}if(u(p,"value")){if(!1===p.writable||!s(v))return!1;if(l=i.f(v,r)){if(l.get||l.set||!1===l.writable)return!1;l.value=c,e.f(v,r,l)}else e.f(v,r,a(0,c));return!0}return void 0!==p.set&&(p.set.call(v,c),!0)}})},function(t,n,r){var e=r(0),i=r(65);i&&e(e.S,"Reflect",{setPrototypeOf:function(t,n){i.check(t,n);try{return i.set(t,n),!0}catch(t){return!1}}})},function(t,n,r){r(262),t.exports=r(9).Array.includes},function(t,n,r){"use strict";var e=r(0),i=r(47)(!0);e(e.P,"Array",{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(38)("includes")},function(t,n,r){r(264),t.exports=r(9).String.padStart},function(t,n,r){"use strict";var e=r(0),i=r(113),o=r(55);e(e.P+e.F*/Version\/10\.\d+(\.\d+)? Safari\//.test(o),"String",{padStart:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!0)}})},function(t,n,r){r(266),t.exports=r(9).String.padEnd},function(t,n,r){"use strict";var e=r(0),i=r(113),o=r(55);e(e.P+e.F*/Version\/10\.\d+(\.\d+)? Safari\//.test(o),"String",{padEnd:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!1)}})},function(t,n,r){r(268),t.exports=r(60).f("asyncIterator")},function(t,n,r){r(86)("asyncIterator")},function(t,n,r){r(270),t.exports=r(9).Object.getOwnPropertyDescriptors},function(t,n,r){var e=r(0),i=r(112),o=r(15),u=r(18),c=r(77);e(e.S,"Object",{getOwnPropertyDescriptors:function(t){for(var n,r,e=o(t),a=u.f,f=i(e),s={},l=0;f.length>l;)void 0!==(r=a(e,n=f[l++]))&&c(s,n,r);return s}})},function(t,n,r){r(272),t.exports=r(9).Object.values},function(t,n,r){var e=r(0),i=r(114)(!1);e(e.S,"Object",{values:function(t){return i(t)}})},function(t,n,r){r(274),t.exports=r(9).Object.entries},function(t,n,r){var e=r(0),i=r(114)(!0);e(e.S,"Object",{entries:function(t){return i(t)}})},function(t,n,r){"use strict";r(106),r(276),t.exports=r(9).Promise.finally},function(t,n,r){"use strict";var e=r(0),i=r(9),o=r(3),u=r(46),c=r(108);e(e.P+e.R,"Promise",{finally:function(t){var n=u(this,i.Promise||o.Promise),r="function"==typeof t;return this.then(r?function(r){return c(n,t()).then(function(){return r})}:t,r?function(r){return c(n,t()).then(function(){throw r})}:t)}})},function(t,n,r){r(278),r(279),r(280),t.exports=r(9)},function(t,n,r){var e=r(3),i=r(0),o=r(55),u=[].slice,c=/MSIE .\./.test(o),a=function(t){return function(n,r){var e=arguments.length>2,i=!!e&&u.call(arguments,2);return t(e?function(){("function"==typeof n?n:Function(n)).apply(this,i)}:n,r)}};i(i.G+i.B+i.F*c,{setTimeout:a(e.setTimeout),setInterval:a(e.setInterval)})},function(t,n,r){var e=r(0),i=r(83);e(e.G+e.B,{setImmediate:i.set,clearImmediate:i.clear})},function(t,n,r){for(var e=r(80),i=r(31),o=r(10),u=r(3),c=r(14),a=r(37),f=r(5),s=f("iterator"),l=f("toStringTag"),h=a.Array,v={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=i(v),d=0;d<p.length;d++){var g,y=p[d],m=v[y],b=u[y],x=b&&b.prototype;if(x&&(x[s]||c(x,s,h),x[l]||c(x,l,y),a[y]=h,m))for(g in e)x[g]||o(x,g,e[g],!0)}},function(t,n){!function(n){"use strict";var r,e=Object.prototype,i=e.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},u=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",a=o.toStringTag||"@@toStringTag",f="object"==typeof t,s=n.regeneratorRuntime;if(s)f&&(t.exports=s);else{(s=n.regeneratorRuntime=f?t.exports:{}).wrap=x;var l="suspendedStart",h="suspendedYield",v="executing",p="completed",d={},g={};g[u]=function(){return this};var y=Object.getPrototypeOf,m=y&&y(y(j([])));m&&m!==e&&i.call(m,u)&&(g=m);var b=E.prototype=S.prototype=Object.create(g);_.prototype=b.constructor=E,E.constructor=_,E[a]=_.displayName="GeneratorFunction",s.isGeneratorFunction=function(t){var n="function"==typeof t&&t.constructor;return!!n&&(n===_||"GeneratorFunction"===(n.displayName||n.name))},s.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,E):(t.__proto__=E,a in t||(t[a]="GeneratorFunction")),t.prototype=Object.create(b),t},s.awrap=function(t){return{__await:t}},O(F.prototype),F.prototype[c]=function(){return this},s.AsyncIterator=F,s.async=function(t,n,r,e){var i=new F(x(t,n,r,e));return s.isGeneratorFunction(n)?i:i.next().then(function(t){return t.done?t.value:i.next()})},O(b),b[a]="Generator",b[u]=function(){return this},b.toString=function(){return"[object Generator]"},s.keys=function(t){var n=[];for(var r in t)n.push(r);return n.reverse(),function r(){for(;n.length;){var e=n.pop();if(e in t)return r.value=e,r.done=!1,r}return r.done=!0,r}},s.values=j,A.prototype={constructor:A,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(M),!t)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=r)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function e(e,i){return c.type="throw",c.arg=t,n.next=e,i&&(n.method="next",n.arg=r),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var u=this.tryEntries[o],c=u.completion;if("root"===u.tryLoc)return e("end");if(u.tryLoc<=this.prev){var a=i.call(u,"catchLoc"),f=i.call(u,"finallyLoc");if(a&&f){if(this.prev<u.catchLoc)return e(u.catchLoc,!0);if(this.prev<u.finallyLoc)return e(u.finallyLoc)}else if(a){if(this.prev<u.catchLoc)return e(u.catchLoc,!0)}else{if(!f)throw new Error("try statement without catch or finally");if(this.prev<u.finallyLoc)return e(u.finallyLoc)}}}},abrupt:function(t,n){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc<=this.prev&&i.call(e,"finallyLoc")&&this.prev<e.finallyLoc){var o=e;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=n&&n<=o.finallyLoc&&(o=null);var u=o?o.completion:{};return u.type=t,u.arg=n,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(u)},complete:function(t,n){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&n&&(this.next=n),d},finish:function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),M(r),d}},catch:function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc===t){var e=r.completion;if("throw"===e.type){var i=e.arg;M(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,e){return this.delegate={iterator:j(t),resultName:n,nextLoc:e},"next"===this.method&&(this.arg=r),d}}}function x(t,n,r,e){var i=n&&n.prototype instanceof S?n:S,o=Object.create(i.prototype),u=new A(e||[]);return o._invoke=function(t,n,r){var e=l;return function(i,o){if(e===v)throw new Error("Generator is already running");if(e===p){if("throw"===i)throw o;return T()}for(r.method=i,r.arg=o;;){var u=r.delegate;if(u){var c=P(u,r);if(c){if(c===d)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(e===l)throw e=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);e=v;var a=w(t,n,r);if("normal"===a.type){if(e=r.done?p:h,a.arg===d)continue;return{value:a.arg,done:r.done}}"throw"===a.type&&(e=p,r.method="throw",r.arg=a.arg)}}}(t,r,u),o}function w(t,n,r){try{return{type:"normal",arg:t.call(n,r)}}catch(t){return{type:"throw",arg:t}}}function S(){}function _(){}function E(){}function O(t){["next","throw","return"].forEach(function(n){t[n]=function(t){return this._invoke(n,t)}})}function F(t){var n;this._invoke=function(r,e){function o(){return new Promise(function(n,o){!function n(r,e,o,u){var c=w(t[r],t,e);if("throw"!==c.type){var a=c.arg,f=a.value;return f&&"object"==typeof f&&i.call(f,"__await")?Promise.resolve(f.__await).then(function(t){n("next",t,o,u)},function(t){n("throw",t,o,u)}):Promise.resolve(f).then(function(t){a.value=t,o(a)},function(t){return n("throw",t,o,u)})}u(c.arg)}(r,e,n,o)})}return n=n?n.then(o,o):o()}}function P(t,n){var e=t.iterator[n.method];if(e===r){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=r,P(t,n),"throw"===n.method))return d;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var i=w(e,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,d;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=r),n.delegate=null,d):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,d)}function I(t){var n={tryLoc:t[0]};1 in t&&(n.catchLoc=t[1]),2 in t&&(n.finallyLoc=t[2],n.afterLoc=t[3]),this.tryEntries.push(n)}function M(t){var n=t.completion||{};n.type="normal",delete n.arg,t.completion=n}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function j(t){if(t){var n=t[u];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var e=-1,o=function n(){for(;++e<t.length;)if(i.call(t,e))return n.value=t[e],n.done=!1,n;return n.value=r,n.done=!0,n};return o.next=o}}return{next:T}}function T(){return{value:r,done:!0}}}(function(){return this||"object"==typeof self&&self}()||Function("return this")())}])});
//# sourceMappingURL=Idle.js.map
/***/ }),
/***/ "./src/audio.ts":
/*!**********************!*\
!*** ./src/audio.ts ***!
\**********************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.base64Audio = void 0;
exports.base64Audio = 'data:audio/mp3;base64,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';
/***/ }),
/***/ "./src/el.ts":
/*!*******************!*\
!*** ./src/el.ts ***!
\*******************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.el = void 0;
function el(tag, options = {}) {
const element = document.createElement(tag);
if (options.id)
element.id = options.id;
if (options.className)
element.className = options.className;
if (options.textContent)
element.textContent = options.textContent;
if (options.placeholder)
element.placeholder = options.placeholder;
if (options.dataset)
Object.entries(options.dataset).forEach(([k, v]) => element.dataset[k] = v);
if (options.children)
element.append(...options.children);
if (options.listeners)
Object.entries(options.listeners).forEach(([k, v]) => element.addEventListener(k, v));
if (options.style)
Object.assign(element.style, options.style);
return element;
}
exports.el = el;
/***/ }),
/***/ "./src/index.ts":
/*!**********************!*\
!*** ./src/index.ts ***!
\**********************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
const idle_js_1 = __importDefault(__webpack_require__(/*! idle-js */ "./node_modules/idle-js/dist/Idle.js"));
const audio_1 = __webpack_require__(/*! ./audio */ "./src/audio.ts");
const el_1 = __webpack_require__(/*! ./el */ "./src/el.ts");
const showToast_1 = __webpack_require__(/*! ./showToast */ "./src/showToast.ts");
const audio = new Audio(audio_1.base64Audio);
const CSS = `
#ai-helper-toggle {
position: fixed; bottom: 20px; right: 20px; z-index: 999999;
width: 48px; height: 48px; border-radius: 50%; font-size: 24px;
background:rgb(35, 51, 68); color: white; border: none; cursor: pointer;
}
#ai-helper-widget { position: fixed; bottom: 80px; right: 20px; width: 420px; height: 400px;
background: #1e1e1e; color: white; border-radius: 12px; z-index: 999998;
display: none; flex-direction: column; font-family: sans-serif; box-shadow: 0 0 20px rgba(0,0,0,0.5);
}
#ai-helper-tabs { display: flex; background: #2e2e2e; }
.ai-helper-tab { flex: 1; padding: 10px; text-align: center; cursor: pointer; }
.ai-helper-tab.active { background: #007bff; }
.ai-helper-content { flex: 1; overflow-y: auto; padding: 10px; }
#ai-helper-settings input, #ai-helper-settings textarea {
width: 100%; padding: 6px; background: #333; color: white; border: 1px solid #555; margin-top: 5px;
}
.chat-message {
border-radius: 5px;
padding: 5px;
}
.chat-message label {
font-size: 0.8em;
color: gray;
}
.ai-message {
border: 1px solid #517b79;
}
.user-message {
border: 1px solid #83794b;
text-align: end;
}
`;
GM_addStyle(CSS);
function addChatMessage(sender, text) {
return __awaiter(this, void 0, void 0, function* () {
const raw = yield GM_getValue("chat", "[]");
const chat = JSON.parse(raw);
console.log("chat: ", chat);
chat.push({ sender, text, time: new Date().toLocaleTimeString() });
yield GM_setValue("chat", JSON.stringify(chat.slice(-50)));
renderChat();
});
}
function renderChat() {
return __awaiter(this, void 0, void 0, function* () {
const container = document.getElementById("ai-helper-chat-messages");
if (!container)
return;
const raw = yield GM_getValue("chat", "[]");
const chat = JSON.parse(raw);
container.textContent = "";
chat.slice(-50).forEach((msg) => {
container.append((0, el_1.el)("div", {
children: [
(0, el_1.el)('p', {
textContent: `${msg.text}`,
}),
(0, el_1.el)('label', {
textContent: msg.time,
})
],
style: { marginBottom: "4px", whiteSpace: "pre-wrap" },
className: `chat-message ${msg.sender === "AI" ? "ai-message" : "user-message"}`,
}));
});
const lastMessage = container.lastElementChild;
if (lastMessage)
lastMessage.scrollIntoView({ behavior: "instant" });
});
}
function createElements() {
if (!document.getElementById("ai-helper-toggle")) {
document.body.appendChild((0, el_1.el)("button", {
id: "ai-helper-toggle",
textContent: "🤖",
listeners: { click: toggleWidget },
}));
}
if (!document.getElementById("ai-helper-widget")) {
const input = (0, el_1.el)("input", {
id: "ai-helper-apikey",
placeholder: "sk-...",
});
const goals = (0, el_1.el)("textarea", {
id: "ai-helper-goals",
placeholder: "Например: лечь спать до 23:00, не тратить время на соцсети...",
});
const reminders = (0, el_1.el)("textarea", {
id: "ai-helper-reminders",
placeholder: "Например: лечь спать до 23:00, не тратить время на соцсети...",
});
const intervalInput = (0, el_1.el)("input", {
id: "ai-helper-interval",
placeholder: "Интервал уведомлений (мин)",
});
const interval2Input = (0, el_1.el)("input", {
id: "ai-helper-interval2",
placeholder: "Интервал регулярных нфпоминаний (мин)",
});
const messageInput = (0, el_1.el)("textarea", {
id: "ai-helper-input",
placeholder: "Введите сообщение...",
style: {
width: "100%",
height: "60px",
background: "#333",
color: "white",
border: "1px solid #555",
resize: "none",
marginTop: "10px",
},
listeners: {
keydown: (e) => {
// @ts-ignore
if (e.key === "Enter" && !e.shiftKey) {
e.preventDefault();
sendUserMessage();
}
},
},
});
const sendBtn = (0, el_1.el)("button", {
textContent: "Отправить",
style: {
width: "100%",
marginTop: "5px",
},
listeners: {
click: sendUserMessage,
},
});
const widget = (0, el_1.el)("div", {
id: "ai-helper-widget",
style: {
display: "none",
},
children: [
(0, el_1.el)("div", {
id: "ai-helper-tabs",
children: [
(0, el_1.el)("div", {
className: "ai-helper-tab active",
dataset: { tab: "chat" },
textContent: "Чат",
}),
(0, el_1.el)("div", {
className: "ai-helper-tab",
dataset: { tab: "settings" },
textContent: "⚙️",
}),
(0, el_1.el)("div", {
className: "ai-helper-tab",
dataset: { tab: "stats" },
textContent: "📊",
}),
],
}),
(0, el_1.el)("div", {
id: "ai-helper-chat",
className: "ai-helper-content",
children: [
(0, el_1.el)("div", {
id: "ai-helper-chat-messages",
style: { flex: "1", overflowY: "auto", marginBottom: "10px" },
}),
messageInput,
sendBtn,
],
}),
(0, el_1.el)("div", {
id: "ai-helper-settings",
className: "ai-helper-content",
style: { display: "none" },
children: [
(0, el_1.el)("label", { textContent: "API Key:" }),
input,
(0, el_1.el)("label", { textContent: "Цели:" }),
goals,
(0, el_1.el)("label", { textContent: "Напоминания:" }),
reminders,
(0, el_1.el)("label", { textContent: "Интервал уведомлений (мин):" }),
intervalInput,
(0, el_1.el)("label", { textContent: "Интервал напоминаний (мин):" }),
interval2Input,
],
}),
(0, el_1.el)("div", {
id: "ai-helper-stats",
className: "ai-helper-content",
style: { display: "none" },
children: [
(0, el_1.el)("div", {
id: "ai-helper-stats-list",
textContent: "Загрузка...",
}),
],
}),
],
});
document.body.appendChild(widget);
widget.querySelectorAll(".ai-helper-tab").forEach((tab) => {
tab.addEventListener("click", () => {
var _a;
const name = tab.getAttribute("data-tab");
const wasActive = tab.classList.contains("active");
widget
.querySelectorAll(".ai-helper-tab")
.forEach((t) => t.classList.remove("active"));
widget
.querySelectorAll(".ai-helper-content")
.forEach((c) => c.setAttribute("style", "display:none"));
tab.classList.add("active");
(_a = widget
.querySelector(`#ai-helper-${name}`)) === null || _a === void 0 ? void 0 : _a.setAttribute("style", "display:block");
if (name === "stats") {
if (wasActive)
(0, showToast_1.showToast)("Статистика обновлена");
renderStats();
}
else if (name === "chat") {
renderChat();
}
});
});
input.addEventListener("change", () => __awaiter(this, void 0, void 0, function* () { return yield GM_setValue("openai_key", input.value); }));
goals.addEventListener("change", () => __awaiter(this, void 0, void 0, function* () { return yield GM_setValue("goals", goals.value); }));
reminders.addEventListener("change", () => __awaiter(this, void 0, void 0, function* () { return yield GM_setValue("reminders", reminders.value); }));
intervalInput.addEventListener("change", () => __awaiter(this, void 0, void 0, function* () {
yield GM_setValue("interval", parseInt(intervalInput.value || "5"));
}));
interval2Input.addEventListener("change", () => __awaiter(this, void 0, void 0, function* () {
yield GM_setValue("interval2", parseInt(interval2Input.value || "5"));
}));
input.value = GM_getValue("openai_key", "");
goals.value = GM_getValue("goals", "");
reminders.value = GM_getValue("reminders", "");
intervalInput.value = GM_getValue("interval", 5);
interval2Input.value = GM_getValue("interval2", 5);
// showToast("Добро пожаловать!");
}
}
function toggleWidget() {
const widget = document.getElementById("ai-helper-widget");
if (!widget)
return;
renderChat();
widget.style.display = widget.style.display === "none" ? "flex" : "none";
}
function getDomain(url) {
try {
return new URL(url).hostname.replace(/^www\./, "");
}
catch (_a) {
return "unknown";
}
}
function renderStats() {
return __awaiter(this, void 0, void 0, function* () {
const container = document.getElementById("ai-helper-stats-list");
if (!container)
return;
const raw = yield GM_getValue("eventLog", "[]");
const events = JSON.parse(raw);
container.textContent = "";
if (events.length === 0) {
container.append((0, el_1.el)("p", { textContent: "Нет данных" }));
return;
}
for (const entry of events.reverse()) {
container.append((0, el_1.el)("div", {
children: [
(0, el_1.el)("b", { textContent: entry.domain }),
// @ts-ignore
document.createTextNode(` — ${entry.timestamp} (${Math.round(entry.duration / 1000)} сек)`),
],
}));
}
});
}
let sessionStart = Date.now();
let currentDomain = getDomain(location.href);
function logSessionEnd() {
return __awaiter(this, void 0, void 0, function* () {
console.log("user inactive");
const duration = Date.now() - sessionStart;
const now = new Date().toLocaleString();
const raw = yield GM_getValue("eventLog", "[]");
const log = JSON.parse(raw);
log.push({ domain: currentDomain, timestamp: now, duration });
yield GM_setValue("eventLog", JSON.stringify(log));
});
}
let lastAdviceTime = Date.now();
let lastRemindTime = Date.now();
function getAdvice(goals, recentEvents) {
return __awaiter(this, void 0, void 0, function* () {
var _a, _b, _c;
const key = yield GM_getValue("openai_key", "");
if (!key)
return "API ключ не задан";
const messages = [
{
role: "system",
content: goals,
},
{
role: "user",
content: `Недавняя активность:\n${recentEvents}\nСейчас пользователь на странице c заголовком: \n${document.title}\nЧто стоит напомнить ему сейчас?`.replaceAll("\n", " "),
},
];
console.log("messages: ", messages);
const res = yield fetch("https://api.openai.com/v1/chat/completions", {
method: "POST",
headers: {
Authorization: `Bearer ${key}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "gpt-3.5-turbo",
messages,
temperature: 0.7,
}),
});
const json = yield res.json();
return ((_c = (_b = (_a = json.choices) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) === null || _c === void 0 ? void 0 : _c.content) || "Нет ответа от модели.";
});
}
function maybeAdviseUser() {
return __awaiter(this, void 0, void 0, function* () {
const goals = yield GM_getValue("goals", "");
if (!goals)
return;
const interval = (yield GM_getValue("interval", 5)) * 60000;
const now = Date.now();
if (now - lastAdviceTime > interval) {
if (navigator.mediaSession.playbackState == "playing") {
try {
document.getElementsByTagName("video")[0].pause();
}
catch (_a) {
console.log("there is no video tag");
}
try {
document.getElementsByTagName("audio")[0].pause();
}
catch (_b) {
console.log("there is no audio tag");
}
navigator.mediaSession.playbackState = "paused";
}
const raw = yield GM_getValue("eventLog", "[]");
const events = JSON.parse(raw).slice(-5);
const recent = events
.map((e) => `${e.domain} (${Math.round(e.duration / 1000)} сек в ${e.timestamp})`)
.join("\n");
const advice = yield getAdvice(goals, recent);
(0, showToast_1.showToast)(advice);
audio.play().catch(() => { });
yield addChatMessage("AI", advice);
lastAdviceTime = now;
}
});
}
function maybeRemindUser() {
return __awaiter(this, void 0, void 0, function* () {
const reminders = yield GM_getValue("reminders", "");
if (!reminders)
return;
const interval = (yield GM_getValue("interval2", 5)) * 60000;
const now = Date.now();
if (now - lastRemindTime > interval) {
if (navigator.mediaSession.playbackState == "playing") {
try {
document.getElementsByTagName("video")[0].pause();
}
catch (_a) {
console.log("there is no video tag");
}
try {
document.getElementsByTagName("audio")[0].pause();
}
catch (_b) {
console.log("there is no audio tag");
}
navigator.mediaSession.playbackState = "paused";
}
const raw = yield GM_getValue("eventLog", "[]");
const events = JSON.parse(raw).slice(-5);
const recent = events
.map((e) => `${e.domain} (${Math.round(e.duration / 1000)} сек в ${e.timestamp})`)
.join("\n");
const advice = yield getAdvice(reminders, recent);
(0, showToast_1.showToast)(advice);
audio.play().catch(() => { });
yield addChatMessage("AI", advice);
lastRemindTime = now;
}
});
}
(function () {
if (window.top !== window.self)
return;
const idle = new idle_js_1.default({
idle: 60000,
events: ["mousemove", "keydown", "mousedown", "touchstart", "scroll"],
onIdle: logSessionEnd,
onActive: () => {
console.log("user active");
sessionStart = Date.now();
currentDomain = getDomain(location.href);
},
});
idle.start();
function safeCreate() {
if (!document.body)
return requestAnimationFrame(safeCreate);
createElements();
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", safeCreate);
}
else {
safeCreate();
}
let lastUrl = location.href;
setInterval(() => {
if (location.href !== lastUrl) {
logSessionEnd();
lastUrl = location.href;
sessionStart = Date.now();
currentDomain = getDomain(location.href);
// createElements();
}
console.log("maybeAdviseUser called ");
console.log("document.hasFocus: ", document.hasFocus());
if (document.hasFocus()) {
maybeRemindUser();
}
if (
// document.hasFocus()
navigator.mediaSession.playbackState == "playing") {
maybeAdviseUser();
}
}, 10000);
})();
function sendUserMessage() {
return __awaiter(this, void 0, void 0, function* () {
var _a, _b, _c;
const input = document.getElementById("ai-helper-input");
const key = yield GM_getValue("openai_key", "");
const goals = yield GM_getValue("goals", "");
const raw = yield GM_getValue("chat", "[]");
if (!input.value.trim() || !key)
return;
const userMessage = input.value.trim();
input.value = "";
const chat = JSON.parse(raw);
const recent = chat.slice(-5).map((m) => ({
role: m.sender === "AI" ? "assistant" : "user",
content: m.text,
}));
// Добавим сообщение пользователя в историю чата
yield addChatMessage("Вы", userMessage);
const res = yield fetch("https://api.openai.com/v1/chat/completions", {
method: "POST",
headers: {
Authorization: `Bearer ${key}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "gpt-3.5-turbo",
messages: [
{
role: "system",
content: `Ты AI помощник. Цели пользователя: ${goals}`,
},
...recent,
{ role: "user", content: userMessage },
],
}),
});
const json = yield res.json();
const reply = ((_c = (_b = (_a = json.choices) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) === null || _c === void 0 ? void 0 : _c.content) || "Нет ответа от модели.";
yield addChatMessage("AI", reply);
audio.play().catch(() => { });
});
}
/***/ }),
/***/ "./src/showToast.ts":
/*!**************************!*\
!*** ./src/showToast.ts ***!
\**************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.showToast = void 0;
const el_1 = __webpack_require__(/*! ./el */ "./src/el.ts");
function showToast(message) {
let container = document.getElementById("custom-toast-container");
if (!container) {
container = (0, el_1.el)("div", {
id: "custom-toast-container",
style: {
position: "fixed",
top: "20px",
right: "20px",
display: "flex",
flexDirection: "column",
gap: "10px",
zIndex: "100000",
maxWidth: "400px"
}
});
document.body.appendChild(container);
}
const toast = (0, el_1.el)("div", {
style: {
background: "#333",
color: "#fff",
padding: "12px 16px",
borderRadius: "8px",
fontSize: "14px",
boxShadow: "0 4px 12px rgba(0,0,0,0.3)",
position: "relative",
whiteSpace: "pre-wrap",
wordBreak: "break-word"
}
});
const closeBtn = (0, el_1.el)("button", {
textContent: "×",
style: {
position: "absolute",
top: "6px",
right: "10px",
background: "none",
border: "none",
color: "#fff",
fontSize: "18px",
cursor: "pointer"
},
listeners: {
click: () => toast.remove()
}
});
toast.textContent = message;
toast.appendChild(closeBtn);
container.appendChild(toast);
}
exports.showToast = showToast;
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module is referenced by other modules so it can't be inlined
/******/ var __webpack_exports__ = __webpack_require__("./src/index.ts");
/******/
/******/ })()
;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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b2R1bGVzL2lkbGUtanMvZGlzdC9JZGxlLmpzIiwid2VicGFjazovL2FpLWhlbHBlci8uL3NyYy9hdWRpby50cyIsIndlYnBhY2s6Ly9haS1oZWxwZXIvLi9zcmMvZWwudHMiLCJ3ZWJwYWNrOi8vYWktaGVscGVyLy4vc3JjL2luZGV4LnRzIiwid2VicGFjazovL2FpLWhlbHBlci8uL3NyYy9zaG93VG9hc3QudHMiLCJ3ZWJwYWNrOi8vYWktaGVscGVyL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL2FpLWhlbHBlci93ZWJwYWNrL2JlZm9yZS1zdGFydHVwIiwid2VicGFjazovL2FpLWhlbHBlci93ZWJwYWNrL3N0YXJ0dXAiLCJ3ZWJwYWNrOi8vYWktaGVscGVyL3dlYnBhY2svYWZ0ZXItc3RhcnR1cCJdLCJzb3VyY2VzQ29udGVudCI6WyIhZnVuY3Rpb24odCxuKXtcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cyYmXCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1uKCk6XCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSxuKTpcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cz9leHBvcnRzLklkbGVKcz1uKCk6dC5JZGxlSnM9bigpfSh3aW5kb3csZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49e307ZnVuY3Rpb24gcihlKXtpZihuW2VdKXJldHVybiBuW2VdLmV4cG9ydHM7dmFyIGk9bltlXT17aTplLGw6ITEsZXhwb3J0czp7fX07cmV0dXJuIHRbZV0uY2FsbChpLmV4cG9ydHMsaSxpLmV4cG9ydHMsciksaS5sPSEwLGkuZXhwb3J0c31yZXR1cm4gci5tPXQsci5jPW4sci5kPWZ1bmN0aW9uKHQsbixlKXtyLm8odCxuKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbix7ZW51bWVyYWJsZTohMCxnZXQ6ZX0pfSxyLnI9ZnVuY3Rpb24odCl7XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOlwiTW9kdWxlXCJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KX0sci50PWZ1bmN0aW9uKHQsbil7aWYoMSZuJiYodD1yKHQpKSw4Jm4pcmV0dXJuIHQ7aWYoNCZuJiZcIm9iamVjdFwiPT10eXBlb2YgdCYmdCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoci5yKGUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiZGVmYXVsdFwiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOnR9KSwyJm4mJlwic3RyaW5nXCIhPXR5cGVvZiB0KWZvcih2YXIgaSBpbiB0KXIuZChlLGksZnVuY3Rpb24obil7cmV0dXJuIHRbbl19LmJpbmQobnVsbCxpKSk7cmV0dXJuIGV9LHIubj1mdW5jdGlvbih0KXt2YXIgbj10JiZ0Ll9fZXNNb2R1bGU/ZnVuY3Rpb24oKXtyZXR1cm4gdC5kZWZhdWx0fTpmdW5jdGlvbigpe3JldHVybiB0fTtyZXR1cm4gci5kKG4sXCJhXCIsbiksbn0sci5vPWZ1bmN0aW9uKHQsbil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pfSxyLnA9XCJcIixyKHIucz0xMTUpfShbZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMyksaT1yKDkpLG89cigxNCksdT1yKDEwKSxjPXIoMjEpLGE9ZnVuY3Rpb24odCxuLHIpe3ZhciBmLHMsbCxoLHY9dCZhLkYscD10JmEuRyxkPXQmYS5TLGc9dCZhLlAseT10JmEuQixtPXA/ZTpkP2Vbbl18fChlW25dPXt9KTooZVtuXXx8e30pLnByb3RvdHlwZSxiPXA/aTppW25dfHwoaVtuXT17fSkseD1iLnByb3RvdHlwZXx8KGIucHJvdG90eXBlPXt9KTtmb3IoZiBpbiBwJiYocj1uKSxyKWw9KChzPSF2JiZtJiZ2b2lkIDAhPT1tW2ZdKT9tOnIpW2ZdLGg9eSYmcz9jKGwsZSk6ZyYmXCJmdW5jdGlvblwiPT10eXBlb2YgbD9jKEZ1bmN0aW9uLmNhbGwsbCk6bCxtJiZ1KG0sZixsLHQmYS5VKSxiW2ZdIT1sJiZvKGIsZixoKSxnJiZ4W2ZdIT1sJiYoeFtmXT1sKX07ZS5jb3JlPWksYS5GPTEsYS5HPTIsYS5TPTQsYS5QPTgsYS5CPTE2LGEuVz0zMixhLlU9NjQsYS5SPTEyOCx0LmV4cG9ydHM9YX0sZnVuY3Rpb24odCxuKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiEhdCgpfWNhdGNoKHQpe3JldHVybiEwfX19LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDQpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZighZSh0KSl0aHJvdyBUeXBlRXJyb3IodCtcIiBpcyBub3QgYW4gb2JqZWN0IVwiKTtyZXR1cm4gdH19LGZ1bmN0aW9uKHQsbil7dmFyIHI9dC5leHBvcnRzPVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5NYXRoPT1NYXRoP3dpbmRvdzpcInVuZGVmaW5lZFwiIT10eXBlb2Ygc2VsZiYmc2VsZi5NYXRoPT1NYXRoP3NlbGY6RnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpO1wibnVtYmVyXCI9PXR5cGVvZiBfX2cmJihfX2c9cil9LGZ1bmN0aW9uKHQsbil7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVyblwib2JqZWN0XCI9PXR5cGVvZiB0P251bGwhPT10OlwiZnVuY3Rpb25cIj09dHlwZW9mIHR9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig1OSkoXCJ3a3NcIiksaT1yKDI5KSxvPXIoMykuU3ltYm9sLHU9XCJmdW5jdGlvblwiPT10eXBlb2YgbzsodC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfHwoZVt0XT11JiZvW3RdfHwodT9vOmkpKFwiU3ltYm9sLlwiK3QpKX0pLnN0b3JlPWV9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3KSxpPU1hdGgubWluO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gdD4wP2koZSh0KSw5MDA3MTk5MjU0NzQwOTkxKTowfX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMiksaT1yKDg1KSxvPXIoMjYpLHU9T2JqZWN0LmRlZmluZVByb3BlcnR5O24uZj1yKDgpP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbih0LG4scil7aWYoZSh0KSxuPW8obiwhMCksZShyKSxpKXRyeXtyZXR1cm4gdSh0LG4scil9Y2F0Y2godCl7fWlmKFwiZ2V0XCJpbiByfHxcInNldFwiaW4gcil0aHJvdyBUeXBlRXJyb3IoXCJBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZCFcIik7cmV0dXJuXCJ2YWx1ZVwiaW4gciYmKHRbbl09ci52YWx1ZSksdH19LGZ1bmN0aW9uKHQsbixyKXt0LmV4cG9ydHM9IXIoMSkoZnVuY3Rpb24oKXtyZXR1cm4gNyE9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LFwiYVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gN319KS5hfSl9LGZ1bmN0aW9uKHQsbil7dmFyIHI9dC5leHBvcnRzPXt2ZXJzaW9uOlwiMi42LjNcIn07XCJudW1iZXJcIj09dHlwZW9mIF9fZSYmKF9fZT1yKX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMyksaT1yKDE0KSxvPXIoMTMpLHU9cigyOSkoXCJzcmNcIiksYz1GdW5jdGlvbi50b1N0cmluZyxhPShcIlwiK2MpLnNwbGl0KFwidG9TdHJpbmdcIik7cig5KS5pbnNwZWN0U291cmNlPWZ1bmN0aW9uKHQpe3JldHVybiBjLmNhbGwodCl9LCh0LmV4cG9ydHM9ZnVuY3Rpb24odCxuLHIsYyl7dmFyIGY9XCJmdW5jdGlvblwiPT10eXBlb2YgcjtmJiYobyhyLFwibmFtZVwiKXx8aShyLFwibmFtZVwiLG4pKSx0W25dIT09ciYmKGYmJihvKHIsdSl8fGkocix1LHRbbl0/XCJcIit0W25dOmEuam9pbihTdHJpbmcobikpKSksdD09PWU/dFtuXT1yOmM/dFtuXT90W25dPXI6aSh0LG4scik6KGRlbGV0ZSB0W25dLGkodCxuLHIpKSl9KShGdW5jdGlvbi5wcm90b3R5cGUsXCJ0b1N0cmluZ1wiLGZ1bmN0aW9uKCl7cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgdGhpcyYmdGhpc1t1XXx8Yy5jYWxsKHRoaXMpfSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDI0KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdChlKHQpKX19LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9cigxKSxvPXIoMjQpLHU9L1wiL2csYz1mdW5jdGlvbih0LG4scixlKXt2YXIgaT1TdHJpbmcobyh0KSksYz1cIjxcIituO3JldHVyblwiXCIhPT1yJiYoYys9XCIgXCIrcisnPVwiJytTdHJpbmcoZSkucmVwbGFjZSh1LFwiJnF1b3Q7XCIpKydcIicpLGMrXCI+XCIraStcIjwvXCIrbitcIj5cIn07dC5leHBvcnRzPWZ1bmN0aW9uKHQsbil7dmFyIHI9e307clt0XT1uKGMpLGUoZS5QK2UuRippKGZ1bmN0aW9uKCl7dmFyIG49XCJcIlt0XSgnXCInKTtyZXR1cm4gbiE9PW4udG9Mb3dlckNhc2UoKXx8bi5zcGxpdCgnXCInKS5sZW5ndGg+M30pLFwiU3RyaW5nXCIscil9fSxmdW5jdGlvbih0LG4pe3ZhciByPXt9Lmhhc093blByb3BlcnR5O3QuZXhwb3J0cz1mdW5jdGlvbih0LG4pe3JldHVybiByLmNhbGwodCxuKX19LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDcpLGk9cigyOCk7dC5leHBvcnRzPXIoOCk/ZnVuY3Rpb24odCxuLHIpe3JldHVybiBlLmYodCxuLGkoMSxyKSl9OmZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gdFtuXT1yLHR9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig0MyksaT1yKDI0KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGUoaSh0KSl9fSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigxKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXtyZXR1cm4hIXQmJmUoZnVuY3Rpb24oKXtuP3QuY2FsbChudWxsLGZ1bmN0aW9uKCl7fSwxKTp0LmNhbGwobnVsbCl9KX19LGZ1bmN0aW9uKHQsbil7dmFyIHI9TWF0aC5jZWlsLGU9TWF0aC5mbG9vcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGlzTmFOKHQ9K3QpPzA6KHQ+MD9lOnIpKHQpfX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNDQpLGk9cigyOCksbz1yKDE1KSx1PXIoMjYpLGM9cigxMyksYT1yKDg1KSxmPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7bi5mPXIoOCk/ZjpmdW5jdGlvbih0LG4pe2lmKHQ9byh0KSxuPXUobiwhMCksYSl0cnl7cmV0dXJuIGYodCxuKX1jYXRjaCh0KXt9aWYoYyh0LG4pKXJldHVybiBpKCFlLmYuY2FsbCh0LG4pLHRbbl0pfX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCksaT1yKDkpLG89cigxKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXt2YXIgcj0oaS5PYmplY3R8fHt9KVt0XXx8T2JqZWN0W3RdLHU9e307dVt0XT1uKHIpLGUoZS5TK2UuRipvKGZ1bmN0aW9uKCl7cigxKX0pLFwiT2JqZWN0XCIsdSl9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigyMSksaT1yKDQzKSxvPXIoMTEpLHU9cig2KSxjPXIoMjA5KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXt2YXIgcj0xPT10LGE9Mj09dCxmPTM9PXQscz00PT10LGw9Nj09dCxoPTU9PXR8fGwsdj1ufHxjO3JldHVybiBmdW5jdGlvbihuLGMscCl7Zm9yKHZhciBkLGcseT1vKG4pLG09aSh5KSxiPWUoYyxwLDMpLHg9dShtLmxlbmd0aCksdz0wLFM9cj92KG4seCk6YT92KG4sMCk6dm9pZCAwO3g+dzt3KyspaWYoKGh8fHcgaW4gbSkmJihnPWIoZD1tW3ddLHcseSksdCkpaWYocilTW3ddPWc7ZWxzZSBpZihnKXN3aXRjaCh0KXtjYXNlIDM6cmV0dXJuITA7Y2FzZSA1OnJldHVybiBkO2Nhc2UgNjpyZXR1cm4gdztjYXNlIDI6Uy5wdXNoKGQpfWVsc2UgaWYocylyZXR1cm4hMTtyZXR1cm4gbD8tMTpmfHxzP3M6U319fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigyMik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbixyKXtpZihlKHQpLHZvaWQgMD09PW4pcmV0dXJuIHQ7c3dpdGNoKHIpe2Nhc2UgMTpyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQuY2FsbChuLHIpfTtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKHIsZSl7cmV0dXJuIHQuY2FsbChuLHIsZSl9O2Nhc2UgMzpyZXR1cm4gZnVuY3Rpb24ocixlLGkpe3JldHVybiB0LmNhbGwobixyLGUsaSl9fXJldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KG4sYXJndW1lbnRzKX19fSxmdW5jdGlvbih0LG4pe3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiB0KXRocm93IFR5cGVFcnJvcih0K1wiIGlzIG5vdCBhIGZ1bmN0aW9uIVwiKTtyZXR1cm4gdH19LGZ1bmN0aW9uKHQsbil7dmFyIHI9e30udG9TdHJpbmc7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiByLmNhbGwodCkuc2xpY2UoOCwtMSl9fSxmdW5jdGlvbih0LG4pe3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZihudWxsPT10KXRocm93IFR5cGVFcnJvcihcIkNhbid0IGNhbGwgbWV0aG9kIG9uICBcIit0KTtyZXR1cm4gdH19LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjtpZihyKDgpKXt2YXIgZT1yKDMwKSxpPXIoMyksbz1yKDEpLHU9cigwKSxjPXIoNTcpLGE9cig4NCksZj1yKDIxKSxzPXIoNDApLGw9cigyOCksaD1yKDE0KSx2PXIoNDEpLHA9cigxNyksZD1yKDYpLGc9cigxMTEpLHk9cigzMiksbT1yKDI2KSxiPXIoMTMpLHg9cig0NSksdz1yKDQpLFM9cigxMSksXz1yKDc2KSxFPXIoMzMpLE89cigzNSksRj1yKDM0KS5mLFA9cig3OCksST1yKDI5KSxNPXIoNSksQT1yKDIwKSxqPXIoNDcpLFQ9cig0NiksTj1yKDgwKSxMPXIoMzcpLGs9cig1MCksUj1yKDM5KSxDPXIoNzkpLEQ9cigxMDIpLFc9cig3KSxCPXIoMTgpLFU9Vy5mLFY9Qi5mLEc9aS5SYW5nZUVycm9yLEg9aS5UeXBlRXJyb3Isej1pLlVpbnQ4QXJyYXksWT1BcnJheS5wcm90b3R5cGUsSz1hLkFycmF5QnVmZmVyLHE9YS5EYXRhVmlldyxKPUEoMCksJD1BKDIpLFg9QSgzKSxaPUEoNCksUT1BKDUpLHR0PUEoNiksbnQ9aighMCkscnQ9aighMSksZXQ9Ti52YWx1ZXMsaXQ9Ti5rZXlzLG90PU4uZW50cmllcyx1dD1ZLmxhc3RJbmRleE9mLGN0PVkucmVkdWNlLGF0PVkucmVkdWNlUmlnaHQsZnQ9WS5qb2luLHN0PVkuc29ydCxsdD1ZLnNsaWNlLGh0PVkudG9TdHJpbmcsdnQ9WS50b0xvY2FsZVN0cmluZyxwdD1NKFwiaXRlcmF0b3JcIiksZHQ9TShcInRvU3RyaW5nVGFnXCIpLGd0PUkoXCJ0eXBlZF9jb25zdHJ1Y3RvclwiKSx5dD1JKFwiZGVmX2NvbnN0cnVjdG9yXCIpLG10PWMuQ09OU1RSLGJ0PWMuVFlQRUQseHQ9Yy5WSUVXLHd0PUEoMSxmdW5jdGlvbih0LG4pe3JldHVybiBGdChUKHQsdFt5dF0pLG4pfSksU3Q9byhmdW5jdGlvbigpe3JldHVybiAxPT09bmV3IHoobmV3IFVpbnQxNkFycmF5KFsxXSkuYnVmZmVyKVswXX0pLF90PSEheiYmISF6LnByb3RvdHlwZS5zZXQmJm8oZnVuY3Rpb24oKXtuZXcgeigxKS5zZXQoe30pfSksRXQ9ZnVuY3Rpb24odCxuKXt2YXIgcj1wKHQpO2lmKHI8MHx8ciVuKXRocm93IEcoXCJXcm9uZyBvZmZzZXQhXCIpO3JldHVybiByfSxPdD1mdW5jdGlvbih0KXtpZih3KHQpJiZidCBpbiB0KXJldHVybiB0O3Rocm93IEgodCtcIiBpcyBub3QgYSB0eXBlZCBhcnJheSFcIil9LEZ0PWZ1bmN0aW9uKHQsbil7aWYoISh3KHQpJiZndCBpbiB0KSl0aHJvdyBIKFwiSXQgaXMgbm90IGEgdHlwZWQgYXJyYXkgY29uc3RydWN0b3IhXCIpO3JldHVybiBuZXcgdChuKX0sUHQ9ZnVuY3Rpb24odCxuKXtyZXR1cm4gSXQoVCh0LHRbeXRdKSxuKX0sSXQ9ZnVuY3Rpb24odCxuKXtmb3IodmFyIHI9MCxlPW4ubGVuZ3RoLGk9RnQodCxlKTtlPnI7KWlbcl09bltyKytdO3JldHVybiBpfSxNdD1mdW5jdGlvbih0LG4scil7VSh0LG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9kW3JdfX0pfSxBdD1mdW5jdGlvbih0KXt2YXIgbixyLGUsaSxvLHUsYz1TKHQpLGE9YXJndW1lbnRzLmxlbmd0aCxzPWE+MT9hcmd1bWVudHNbMV06dm9pZCAwLGw9dm9pZCAwIT09cyxoPVAoYyk7aWYobnVsbCE9aCYmIV8oaCkpe2Zvcih1PWguY2FsbChjKSxlPVtdLG49MDshKG89dS5uZXh0KCkpLmRvbmU7bisrKWUucHVzaChvLnZhbHVlKTtjPWV9Zm9yKGwmJmE+MiYmKHM9ZihzLGFyZ3VtZW50c1syXSwyKSksbj0wLHI9ZChjLmxlbmd0aCksaT1GdCh0aGlzLHIpO3I+bjtuKyspaVtuXT1sP3MoY1tuXSxuKTpjW25dO3JldHVybiBpfSxqdD1mdW5jdGlvbigpe2Zvcih2YXIgdD0wLG49YXJndW1lbnRzLmxlbmd0aCxyPUZ0KHRoaXMsbik7bj50OylyW3RdPWFyZ3VtZW50c1t0KytdO3JldHVybiByfSxUdD0hIXomJm8oZnVuY3Rpb24oKXt2dC5jYWxsKG5ldyB6KDEpKX0pLE50PWZ1bmN0aW9uKCl7cmV0dXJuIHZ0LmFwcGx5KFR0P2x0LmNhbGwoT3QodGhpcykpOk90KHRoaXMpLGFyZ3VtZW50cyl9LEx0PXtjb3B5V2l0aGluOmZ1bmN0aW9uKHQsbil7cmV0dXJuIEQuY2FsbChPdCh0aGlzKSx0LG4sYXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp2b2lkIDApfSxldmVyeTpmdW5jdGlvbih0KXtyZXR1cm4gWihPdCh0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0sZmlsbDpmdW5jdGlvbih0KXtyZXR1cm4gQy5hcHBseShPdCh0aGlzKSxhcmd1bWVudHMpfSxmaWx0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIFB0KHRoaXMsJChPdCh0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKSl9LGZpbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIFEoT3QodGhpcyksdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9LGZpbmRJbmRleDpmdW5jdGlvbih0KXtyZXR1cm4gdHQoT3QodGhpcyksdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9LGZvckVhY2g6ZnVuY3Rpb24odCl7SihPdCh0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0saW5kZXhPZjpmdW5jdGlvbih0KXtyZXR1cm4gcnQoT3QodGhpcyksdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9LGluY2x1ZGVzOmZ1bmN0aW9uKHQpe3JldHVybiBudChPdCh0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0sam9pbjpmdW5jdGlvbih0KXtyZXR1cm4gZnQuYXBwbHkoT3QodGhpcyksYXJndW1lbnRzKX0sbGFzdEluZGV4T2Y6ZnVuY3Rpb24odCl7cmV0dXJuIHV0LmFwcGx5KE90KHRoaXMpLGFyZ3VtZW50cyl9LG1hcDpmdW5jdGlvbih0KXtyZXR1cm4gd3QoT3QodGhpcyksdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9LHJlZHVjZTpmdW5jdGlvbih0KXtyZXR1cm4gY3QuYXBwbHkoT3QodGhpcyksYXJndW1lbnRzKX0scmVkdWNlUmlnaHQ6ZnVuY3Rpb24odCl7cmV0dXJuIGF0LmFwcGx5KE90KHRoaXMpLGFyZ3VtZW50cyl9LHJldmVyc2U6ZnVuY3Rpb24oKXtmb3IodmFyIHQsbj1PdCh0aGlzKS5sZW5ndGgscj1NYXRoLmZsb29yKG4vMiksZT0wO2U8cjspdD10aGlzW2VdLHRoaXNbZSsrXT10aGlzWy0tbl0sdGhpc1tuXT10O3JldHVybiB0aGlzfSxzb21lOmZ1bmN0aW9uKHQpe3JldHVybiBYKE90KHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSxzb3J0OmZ1bmN0aW9uKHQpe3JldHVybiBzdC5jYWxsKE90KHRoaXMpLHQpfSxzdWJhcnJheTpmdW5jdGlvbih0LG4pe3ZhciByPU90KHRoaXMpLGU9ci5sZW5ndGgsaT15KHQsZSk7cmV0dXJuIG5ldyhUKHIsclt5dF0pKShyLmJ1ZmZlcixyLmJ5dGVPZmZzZXQraSpyLkJZVEVTX1BFUl9FTEVNRU5ULGQoKHZvaWQgMD09PW4/ZTp5KG4sZSkpLWkpKX19LGt0PWZ1bmN0aW9uKHQsbil7cmV0dXJuIFB0KHRoaXMsbHQuY2FsbChPdCh0aGlzKSx0LG4pKX0sUnQ9ZnVuY3Rpb24odCl7T3QodGhpcyk7dmFyIG49RXQoYXJndW1lbnRzWzFdLDEpLHI9dGhpcy5sZW5ndGgsZT1TKHQpLGk9ZChlLmxlbmd0aCksbz0wO2lmKGkrbj5yKXRocm93IEcoXCJXcm9uZyBsZW5ndGghXCIpO2Zvcig7bzxpOyl0aGlzW24rb109ZVtvKytdfSxDdD17ZW50cmllczpmdW5jdGlvbigpe3JldHVybiBvdC5jYWxsKE90KHRoaXMpKX0sa2V5czpmdW5jdGlvbigpe3JldHVybiBpdC5jYWxsKE90KHRoaXMpKX0sdmFsdWVzOmZ1bmN0aW9uKCl7cmV0dXJuIGV0LmNhbGwoT3QodGhpcykpfX0sRHQ9ZnVuY3Rpb24odCxuKXtyZXR1cm4gdyh0KSYmdFtidF0mJlwic3ltYm9sXCIhPXR5cGVvZiBuJiZuIGluIHQmJlN0cmluZygrbik9PVN0cmluZyhuKX0sV3Q9ZnVuY3Rpb24odCxuKXtyZXR1cm4gRHQodCxuPW0obiwhMCkpP2woMix0W25dKTpWKHQsbil9LEJ0PWZ1bmN0aW9uKHQsbixyKXtyZXR1cm4hKER0KHQsbj1tKG4sITApKSYmdyhyKSYmYihyLFwidmFsdWVcIikpfHxiKHIsXCJnZXRcIil8fGIocixcInNldFwiKXx8ci5jb25maWd1cmFibGV8fGIocixcIndyaXRhYmxlXCIpJiYhci53cml0YWJsZXx8YihyLFwiZW51bWVyYWJsZVwiKSYmIXIuZW51bWVyYWJsZT9VKHQsbixyKToodFtuXT1yLnZhbHVlLHQpfTttdHx8KEIuZj1XdCxXLmY9QnQpLHUodS5TK3UuRiohbXQsXCJPYmplY3RcIix7Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOld0LGRlZmluZVByb3BlcnR5OkJ0fSksbyhmdW5jdGlvbigpe2h0LmNhbGwoe30pfSkmJihodD12dD1mdW5jdGlvbigpe3JldHVybiBmdC5jYWxsKHRoaXMpfSk7dmFyIFV0PXYoe30sTHQpO3YoVXQsQ3QpLGgoVXQscHQsQ3QudmFsdWVzKSx2KFV0LHtzbGljZTprdCxzZXQ6UnQsY29uc3RydWN0b3I6ZnVuY3Rpb24oKXt9LHRvU3RyaW5nOmh0LHRvTG9jYWxlU3RyaW5nOk50fSksTXQoVXQsXCJidWZmZXJcIixcImJcIiksTXQoVXQsXCJieXRlT2Zmc2V0XCIsXCJvXCIpLE10KFV0LFwiYnl0ZUxlbmd0aFwiLFwibFwiKSxNdChVdCxcImxlbmd0aFwiLFwiZVwiKSxVKFV0LGR0LHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tidF19fSksdC5leHBvcnRzPWZ1bmN0aW9uKHQsbixyLGEpe3ZhciBmPXQrKChhPSEhYSk/XCJDbGFtcGVkXCI6XCJcIikrXCJBcnJheVwiLGw9XCJnZXRcIit0LHY9XCJzZXRcIit0LHA9aVtmXSx5PXB8fHt9LG09cCYmTyhwKSxiPSFwfHwhYy5BQlYsUz17fSxfPXAmJnAucHJvdG90eXBlLFA9ZnVuY3Rpb24odCxyKXtVKHQscix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQscil7dmFyIGU9dC5fZDtyZXR1cm4gZS52W2xdKHIqbitlLm8sU3QpfSh0aGlzLHIpfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQscixlKXt2YXIgaT10Ll9kO2EmJihlPShlPU1hdGgucm91bmQoZSkpPDA/MDplPjI1NT8yNTU6MjU1JmUpLGkudlt2XShyKm4raS5vLGUsU3QpfSh0aGlzLHIsdCl9LGVudW1lcmFibGU6ITB9KX07Yj8ocD1yKGZ1bmN0aW9uKHQscixlLGkpe3ModCxwLGYsXCJfZFwiKTt2YXIgbyx1LGMsYSxsPTAsdj0wO2lmKHcocikpe2lmKCEociBpbnN0YW5jZW9mIEt8fFwiQXJyYXlCdWZmZXJcIj09KGE9eChyKSl8fFwiU2hhcmVkQXJyYXlCdWZmZXJcIj09YSkpcmV0dXJuIGJ0IGluIHI/SXQocCxyKTpBdC5jYWxsKHAscik7bz1yLHY9RXQoZSxuKTt2YXIgeT1yLmJ5dGVMZW5ndGg7aWYodm9pZCAwPT09aSl7aWYoeSVuKXRocm93IEcoXCJXcm9uZyBsZW5ndGghXCIpO2lmKCh1PXktdik8MCl0aHJvdyBHKFwiV3JvbmcgbGVuZ3RoIVwiKX1lbHNlIGlmKCh1PWQoaSkqbikrdj55KXRocm93IEcoXCJXcm9uZyBsZW5ndGghXCIpO2M9dS9ufWVsc2UgYz1nKHIpLG89bmV3IEsodT1jKm4pO2ZvcihoKHQsXCJfZFwiLHtiOm8sbzp2LGw6dSxlOmMsdjpuZXcgcShvKX0pO2w8YzspUCh0LGwrKyl9KSxfPXAucHJvdG90eXBlPUUoVXQpLGgoXyxcImNvbnN0cnVjdG9yXCIscCkpOm8oZnVuY3Rpb24oKXtwKDEpfSkmJm8oZnVuY3Rpb24oKXtuZXcgcCgtMSl9KSYmayhmdW5jdGlvbih0KXtuZXcgcCxuZXcgcChudWxsKSxuZXcgcCgxLjUpLG5ldyBwKHQpfSwhMCl8fChwPXIoZnVuY3Rpb24odCxyLGUsaSl7dmFyIG87cmV0dXJuIHModCxwLGYpLHcocik/ciBpbnN0YW5jZW9mIEt8fFwiQXJyYXlCdWZmZXJcIj09KG89eChyKSl8fFwiU2hhcmVkQXJyYXlCdWZmZXJcIj09bz92b2lkIDAhPT1pP25ldyB5KHIsRXQoZSxuKSxpKTp2b2lkIDAhPT1lP25ldyB5KHIsRXQoZSxuKSk6bmV3IHkocik6YnQgaW4gcj9JdChwLHIpOkF0LmNhbGwocCxyKTpuZXcgeShnKHIpKX0pLEoobSE9PUZ1bmN0aW9uLnByb3RvdHlwZT9GKHkpLmNvbmNhdChGKG0pKTpGKHkpLGZ1bmN0aW9uKHQpe3QgaW4gcHx8aChwLHQseVt0XSl9KSxwLnByb3RvdHlwZT1fLGV8fChfLmNvbnN0cnVjdG9yPXApKTt2YXIgST1fW3B0XSxNPSEhSSYmKFwidmFsdWVzXCI9PUkubmFtZXx8bnVsbD09SS5uYW1lKSxBPUN0LnZhbHVlcztoKHAsZ3QsITApLGgoXyxidCxmKSxoKF8seHQsITApLGgoXyx5dCxwKSwoYT9uZXcgcCgxKVtkdF09PWY6ZHQgaW4gXyl8fFUoXyxkdCx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ9fSksU1tmXT1wLHUodS5HK3UuVyt1LkYqKHAhPXkpLFMpLHUodS5TLGYse0JZVEVTX1BFUl9FTEVNRU5UOm59KSx1KHUuUyt1LkYqbyhmdW5jdGlvbigpe3kub2YuY2FsbChwLDEpfSksZix7ZnJvbTpBdCxvZjpqdH0pLFwiQllURVNfUEVSX0VMRU1FTlRcImluIF98fGgoXyxcIkJZVEVTX1BFUl9FTEVNRU5UXCIsbiksdSh1LlAsZixMdCksUihmKSx1KHUuUCt1LkYqX3QsZix7c2V0OlJ0fSksdSh1LlArdS5GKiFNLGYsQ3QpLGV8fF8udG9TdHJpbmc9PWh0fHwoXy50b1N0cmluZz1odCksdSh1LlArdS5GKm8oZnVuY3Rpb24oKXtuZXcgcCgxKS5zbGljZSgpfSksZix7c2xpY2U6a3R9KSx1KHUuUCt1LkYqKG8oZnVuY3Rpb24oKXtyZXR1cm5bMSwyXS50b0xvY2FsZVN0cmluZygpIT1uZXcgcChbMSwyXSkudG9Mb2NhbGVTdHJpbmcoKX0pfHwhbyhmdW5jdGlvbigpe18udG9Mb2NhbGVTdHJpbmcuY2FsbChbMSwyXSl9KSksZix7dG9Mb2NhbGVTdHJpbmc6TnR9KSxMW2ZdPU0/STpBLGV8fE18fGgoXyxwdCxBKX19ZWxzZSB0LmV4cG9ydHM9ZnVuY3Rpb24oKXt9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig0KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXtpZighZSh0KSlyZXR1cm4gdDt2YXIgcixpO2lmKG4mJlwiZnVuY3Rpb25cIj09dHlwZW9mKHI9dC50b1N0cmluZykmJiFlKGk9ci5jYWxsKHQpKSlyZXR1cm4gaTtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZihyPXQudmFsdWVPZikmJiFlKGk9ci5jYWxsKHQpKSlyZXR1cm4gaTtpZighbiYmXCJmdW5jdGlvblwiPT10eXBlb2Yocj10LnRvU3RyaW5nKSYmIWUoaT1yLmNhbGwodCkpKXJldHVybiBpO3Rocm93IFR5cGVFcnJvcihcIkNhbid0IGNvbnZlcnQgb2JqZWN0IHRvIHByaW1pdGl2ZSB2YWx1ZVwiKX19LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDI5KShcIm1ldGFcIiksaT1yKDQpLG89cigxMyksdT1yKDcpLmYsYz0wLGE9T2JqZWN0LmlzRXh0ZW5zaWJsZXx8ZnVuY3Rpb24oKXtyZXR1cm4hMH0sZj0hcigxKShmdW5jdGlvbigpe3JldHVybiBhKE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh7fSkpfSkscz1mdW5jdGlvbih0KXt1KHQsZSx7dmFsdWU6e2k6XCJPXCIrICsrYyx3Ont9fX0pfSxsPXQuZXhwb3J0cz17S0VZOmUsTkVFRDohMSxmYXN0S2V5OmZ1bmN0aW9uKHQsbil7aWYoIWkodCkpcmV0dXJuXCJzeW1ib2xcIj09dHlwZW9mIHQ/dDooXCJzdHJpbmdcIj09dHlwZW9mIHQ/XCJTXCI6XCJQXCIpK3Q7aWYoIW8odCxlKSl7aWYoIWEodCkpcmV0dXJuXCJGXCI7aWYoIW4pcmV0dXJuXCJFXCI7cyh0KX1yZXR1cm4gdFtlXS5pfSxnZXRXZWFrOmZ1bmN0aW9uKHQsbil7aWYoIW8odCxlKSl7aWYoIWEodCkpcmV0dXJuITA7aWYoIW4pcmV0dXJuITE7cyh0KX1yZXR1cm4gdFtlXS53fSxvbkZyZWV6ZTpmdW5jdGlvbih0KXtyZXR1cm4gZiYmbC5ORUVEJiZhKHQpJiYhbyh0LGUpJiZzKHQpLHR9fX0sZnVuY3Rpb24odCxuKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXtyZXR1cm57ZW51bWVyYWJsZTohKDEmdCksY29uZmlndXJhYmxlOiEoMiZ0KSx3cml0YWJsZTohKDQmdCksdmFsdWU6bn19fSxmdW5jdGlvbih0LG4pe3ZhciByPTAsZT1NYXRoLnJhbmRvbSgpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm5cIlN5bWJvbChcIi5jb25jYXQodm9pZCAwPT09dD9cIlwiOnQsXCIpX1wiLCgrK3IrZSkudG9TdHJpbmcoMzYpKX19LGZ1bmN0aW9uKHQsbil7dC5leHBvcnRzPSExfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig4NyksaT1yKDYyKTt0LmV4cG9ydHM9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKHQpe3JldHVybiBlKHQsaSl9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNyksaT1NYXRoLm1heCxvPU1hdGgubWluO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4pe3JldHVybih0PWUodCkpPDA/aSh0K24sMCk6byh0LG4pfX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMiksaT1yKDg4KSxvPXIoNjIpLHU9cig2MSkoXCJJRV9QUk9UT1wiKSxjPWZ1bmN0aW9uKCl7fSxhPWZ1bmN0aW9uKCl7dmFyIHQsbj1yKDU4KShcImlmcmFtZVwiKSxlPW8ubGVuZ3RoO2ZvcihuLnN0eWxlLmRpc3BsYXk9XCJub25lXCIscig2NCkuYXBwZW5kQ2hpbGQobiksbi5zcmM9XCJqYXZhc2NyaXB0OlwiLCh0PW4uY29udGVudFdpbmRvdy5kb2N1bWVudCkub3BlbigpLHQud3JpdGUoXCI8c2NyaXB0PmRvY3VtZW50LkY9T2JqZWN0PFxcL3NjcmlwdD5cIiksdC5jbG9zZSgpLGE9dC5GO2UtLTspZGVsZXRlIGEucHJvdG90eXBlW29bZV1dO3JldHVybiBhKCl9O3QuZXhwb3J0cz1PYmplY3QuY3JlYXRlfHxmdW5jdGlvbih0LG4pe3ZhciByO3JldHVybiBudWxsIT09dD8oYy5wcm90b3R5cGU9ZSh0KSxyPW5ldyBjLGMucHJvdG90eXBlPW51bGwsclt1XT10KTpyPWEoKSx2b2lkIDA9PT1uP3I6aShyLG4pfX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoODcpLGk9cig2MikuY29uY2F0KFwibGVuZ3RoXCIsXCJwcm90b3R5cGVcIik7bi5mPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzfHxmdW5jdGlvbih0KXtyZXR1cm4gZSh0LGkpfX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTMpLGk9cigxMSksbz1yKDYxKShcIklFX1BST1RPXCIpLHU9T2JqZWN0LnByb3RvdHlwZTt0LmV4cG9ydHM9T2JqZWN0LmdldFByb3RvdHlwZU9mfHxmdW5jdGlvbih0KXtyZXR1cm4gdD1pKHQpLGUodCxvKT90W29dOlwiZnVuY3Rpb25cIj09dHlwZW9mIHQuY29uc3RydWN0b3ImJnQgaW5zdGFuY2VvZiB0LmNvbnN0cnVjdG9yP3QuY29uc3RydWN0b3IucHJvdG90eXBlOnQgaW5zdGFuY2VvZiBPYmplY3Q/dTpudWxsfX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNykuZixpPXIoMTMpLG89cig1KShcInRvU3RyaW5nVGFnXCIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4scil7dCYmIWkodD1yP3Q6dC5wcm90b3R5cGUsbykmJmUodCxvLHtjb25maWd1cmFibGU6ITAsdmFsdWU6bn0pfX0sZnVuY3Rpb24odCxuKXt0LmV4cG9ydHM9e319LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDUpKFwidW5zY29wYWJsZXNcIiksaT1BcnJheS5wcm90b3R5cGU7bnVsbD09aVtlXSYmcigxNCkoaSxlLHt9KSx0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aVtlXVt0XT0hMH19LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDMpLGk9cig3KSxvPXIoOCksdT1yKDUpKFwic3BlY2llc1wiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIG49ZVt0XTtvJiZuJiYhblt1XSYmaS5mKG4sdSx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzfX0pfX0sZnVuY3Rpb24odCxuKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuLHIsZSl7aWYoISh0IGluc3RhbmNlb2Ygbil8fHZvaWQgMCE9PWUmJmUgaW4gdCl0aHJvdyBUeXBlRXJyb3IocitcIjogaW5jb3JyZWN0IGludm9jYXRpb24hXCIpO3JldHVybiB0fX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTApO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4scil7Zm9yKHZhciBpIGluIG4pZSh0LGksbltpXSxyKTtyZXR1cm4gdH19LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDQpO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4pe2lmKCFlKHQpfHx0Ll90IT09bil0aHJvdyBUeXBlRXJyb3IoXCJJbmNvbXBhdGlibGUgcmVjZWl2ZXIsIFwiK24rXCIgcmVxdWlyZWQhXCIpO3JldHVybiB0fX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMjMpO3QuZXhwb3J0cz1PYmplY3QoXCJ6XCIpLnByb3BlcnR5SXNFbnVtZXJhYmxlKDApP09iamVjdDpmdW5jdGlvbih0KXtyZXR1cm5cIlN0cmluZ1wiPT1lKHQpP3Quc3BsaXQoXCJcIik6T2JqZWN0KHQpfX0sZnVuY3Rpb24odCxuKXtuLmY9e30ucHJvcGVydHlJc0VudW1lcmFibGV9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDIzKSxpPXIoNSkoXCJ0b1N0cmluZ1RhZ1wiKSxvPVwiQXJndW1lbnRzXCI9PWUoZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzfSgpKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIG4scix1O3JldHVybiB2b2lkIDA9PT10P1wiVW5kZWZpbmVkXCI6bnVsbD09PXQ/XCJOdWxsXCI6XCJzdHJpbmdcIj09dHlwZW9mKHI9ZnVuY3Rpb24odCxuKXt0cnl7cmV0dXJuIHRbbl19Y2F0Y2godCl7fX0obj1PYmplY3QodCksaSkpP3I6bz9lKG4pOlwiT2JqZWN0XCI9PSh1PWUobikpJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBuLmNhbGxlZT9cIkFyZ3VtZW50c1wiOnV9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigyKSxpPXIoMjIpLG89cig1KShcInNwZWNpZXNcIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbil7dmFyIHIsdT1lKHQpLmNvbnN0cnVjdG9yO3JldHVybiB2b2lkIDA9PT11fHxudWxsPT0ocj1lKHUpW29dKT9uOmkocil9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNSksaT1yKDYpLG89cigzMik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLHIsdSl7dmFyIGMsYT1lKG4pLGY9aShhLmxlbmd0aCkscz1vKHUsZik7aWYodCYmciE9cil7Zm9yKDtmPnM7KWlmKChjPWFbcysrXSkhPWMpcmV0dXJuITB9ZWxzZSBmb3IoO2Y+cztzKyspaWYoKHR8fHMgaW4gYSkmJmFbc109PT1yKXJldHVybiB0fHxzfHwwO3JldHVybiF0JiYtMX19fSxmdW5jdGlvbih0LG4pe24uZj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigwKSxpPXIoMjQpLG89cigxKSx1PXIoNjYpLGM9XCJbXCIrdStcIl1cIixhPVJlZ0V4cChcIl5cIitjK2MrXCIqXCIpLGY9UmVnRXhwKGMrYytcIiokXCIpLHM9ZnVuY3Rpb24odCxuLHIpe3ZhciBpPXt9LGM9byhmdW5jdGlvbigpe3JldHVybiEhdVt0XSgpfHxcIuKAi8KFXCIhPVwi4oCLwoVcIlt0XSgpfSksYT1pW3RdPWM/bihsKTp1W3RdO3ImJihpW3JdPWEpLGUoZS5QK2UuRipjLFwiU3RyaW5nXCIsaSl9LGw9cy50cmltPWZ1bmN0aW9uKHQsbil7cmV0dXJuIHQ9U3RyaW5nKGkodCkpLDEmbiYmKHQ9dC5yZXBsYWNlKGEsXCJcIikpLDImbiYmKHQ9dC5yZXBsYWNlKGYsXCJcIikpLHR9O3QuZXhwb3J0cz1zfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig1KShcIml0ZXJhdG9yXCIpLGk9ITE7dHJ5e3ZhciBvPVs3XVtlXSgpO28ucmV0dXJuPWZ1bmN0aW9uKCl7aT0hMH0sQXJyYXkuZnJvbShvLGZ1bmN0aW9uKCl7dGhyb3cgMn0pfWNhdGNoKHQpe310LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXtpZighbiYmIWkpcmV0dXJuITE7dmFyIHI9ITE7dHJ5e3ZhciBvPVs3XSx1PW9bZV0oKTt1Lm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm57ZG9uZTpyPSEwfX0sb1tlXT1mdW5jdGlvbigpe3JldHVybiB1fSx0KG8pfWNhdGNoKHQpe31yZXR1cm4gcn19LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDIpO3QuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciB0PWUodGhpcyksbj1cIlwiO3JldHVybiB0Lmdsb2JhbCYmKG4rPVwiZ1wiKSx0Lmlnbm9yZUNhc2UmJihuKz1cImlcIiksdC5tdWx0aWxpbmUmJihuKz1cIm1cIiksdC51bmljb2RlJiYobis9XCJ1XCIpLHQuc3RpY2t5JiYobis9XCJ5XCIpLG59fSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cig0NSksaT1SZWdFeHAucHJvdG90eXBlLmV4ZWM7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbil7dmFyIHI9dC5leGVjO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHIpe3ZhciBvPXIuY2FsbCh0LG4pO2lmKFwib2JqZWN0XCIhPXR5cGVvZiBvKXRocm93IG5ldyBUeXBlRXJyb3IoXCJSZWdFeHAgZXhlYyBtZXRob2QgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gT2JqZWN0IG9yIG51bGxcIik7cmV0dXJuIG99aWYoXCJSZWdFeHBcIiE9PWUodCkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlJlZ0V4cCNleGVjIGNhbGxlZCBvbiBpbmNvbXBhdGlibGUgcmVjZWl2ZXJcIik7cmV0dXJuIGkuY2FsbCh0LG4pfX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3IoMTA0KTt2YXIgZT1yKDEwKSxpPXIoMTQpLG89cigxKSx1PXIoMjQpLGM9cig1KSxhPXIoODEpLGY9YyhcInNwZWNpZXNcIikscz0hbyhmdW5jdGlvbigpe3ZhciB0PS8uLztyZXR1cm4gdC5leGVjPWZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHQuZ3JvdXBzPXthOlwiN1wifSx0fSxcIjdcIiE9PVwiXCIucmVwbGFjZSh0LFwiJDxhPlwiKX0pLGw9ZnVuY3Rpb24oKXt2YXIgdD0vKD86KS8sbj10LmV4ZWM7dC5leGVjPWZ1bmN0aW9uKCl7cmV0dXJuIG4uYXBwbHkodGhpcyxhcmd1bWVudHMpfTt2YXIgcj1cImFiXCIuc3BsaXQodCk7cmV0dXJuIDI9PT1yLmxlbmd0aCYmXCJhXCI9PT1yWzBdJiZcImJcIj09PXJbMV19KCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbixyKXt2YXIgaD1jKHQpLHY9IW8oZnVuY3Rpb24oKXt2YXIgbj17fTtyZXR1cm4gbltoXT1mdW5jdGlvbigpe3JldHVybiA3fSw3IT1cIlwiW3RdKG4pfSkscD12PyFvKGZ1bmN0aW9uKCl7dmFyIG49ITEscj0vYS87cmV0dXJuIHIuZXhlYz1mdW5jdGlvbigpe3JldHVybiBuPSEwLG51bGx9LFwic3BsaXRcIj09PXQmJihyLmNvbnN0cnVjdG9yPXt9LHIuY29uc3RydWN0b3JbZl09ZnVuY3Rpb24oKXtyZXR1cm4gcn0pLHJbaF0oXCJcIiksIW59KTp2b2lkIDA7aWYoIXZ8fCFwfHxcInJlcGxhY2VcIj09PXQmJiFzfHxcInNwbGl0XCI9PT10JiYhbCl7dmFyIGQ9Ly4vW2hdLGc9cih1LGgsXCJcIlt0XSxmdW5jdGlvbih0LG4scixlLGkpe3JldHVybiBuLmV4ZWM9PT1hP3YmJiFpP3tkb25lOiEwLHZhbHVlOmQuY2FsbChuLHIsZSl9Ontkb25lOiEwLHZhbHVlOnQuY2FsbChyLG4sZSl9Ontkb25lOiExfX0pLHk9Z1swXSxtPWdbMV07ZShTdHJpbmcucHJvdG90eXBlLHQseSksaShSZWdFeHAucHJvdG90eXBlLGgsMj09bj9mdW5jdGlvbih0LG4pe3JldHVybiBtLmNhbGwodCx0aGlzLG4pfTpmdW5jdGlvbih0KXtyZXR1cm4gbS5jYWxsKHQsdGhpcyl9KX19fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigyMSksaT1yKDEwMCksbz1yKDc2KSx1PXIoMiksYz1yKDYpLGE9cig3OCksZj17fSxzPXt9OyhuPXQuZXhwb3J0cz1mdW5jdGlvbih0LG4scixsLGgpe3ZhciB2LHAsZCxnLHk9aD9mdW5jdGlvbigpe3JldHVybiB0fTphKHQpLG09ZShyLGwsbj8yOjEpLGI9MDtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiB5KXRocm93IFR5cGVFcnJvcih0K1wiIGlzIG5vdCBpdGVyYWJsZSFcIik7aWYobyh5KSl7Zm9yKHY9Yyh0Lmxlbmd0aCk7dj5iO2IrKylpZigoZz1uP20odShwPXRbYl0pWzBdLHBbMV0pOm0odFtiXSkpPT09Znx8Zz09PXMpcmV0dXJuIGd9ZWxzZSBmb3IoZD15LmNhbGwodCk7IShwPWQubmV4dCgpKS5kb25lOylpZigoZz1pKGQsbSxwLnZhbHVlLG4pKT09PWZ8fGc9PT1zKXJldHVybiBnfSkuQlJFQUs9ZixuLlJFVFVSTj1zfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigzKS5uYXZpZ2F0b3I7dC5leHBvcnRzPWUmJmUudXNlckFnZW50fHxcIlwifSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigzKSxpPXIoMCksbz1yKDEwKSx1PXIoNDEpLGM9cigyNyksYT1yKDU0KSxmPXIoNDApLHM9cig0KSxsPXIoMSksaD1yKDUwKSx2PXIoMzYpLHA9cig2Nyk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbixyLGQsZyx5KXt2YXIgbT1lW3RdLGI9bSx4PWc/XCJzZXRcIjpcImFkZFwiLHc9YiYmYi5wcm90b3R5cGUsUz17fSxfPWZ1bmN0aW9uKHQpe3ZhciBuPXdbdF07byh3LHQsXCJkZWxldGVcIj09dD9mdW5jdGlvbih0KXtyZXR1cm4hKHkmJiFzKHQpKSYmbi5jYWxsKHRoaXMsMD09PXQ/MDp0KX06XCJoYXNcIj09dD9mdW5jdGlvbih0KXtyZXR1cm4hKHkmJiFzKHQpKSYmbi5jYWxsKHRoaXMsMD09PXQ/MDp0KX06XCJnZXRcIj09dD9mdW5jdGlvbih0KXtyZXR1cm4geSYmIXModCk/dm9pZCAwOm4uY2FsbCh0aGlzLDA9PT10PzA6dCl9OlwiYWRkXCI9PXQ/ZnVuY3Rpb24odCl7cmV0dXJuIG4uY2FsbCh0aGlzLDA9PT10PzA6dCksdGhpc306ZnVuY3Rpb24odCxyKXtyZXR1cm4gbi5jYWxsKHRoaXMsMD09PXQ/MDp0LHIpLHRoaXN9KX07aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgYiYmKHl8fHcuZm9yRWFjaCYmIWwoZnVuY3Rpb24oKXsobmV3IGIpLmVudHJpZXMoKS5uZXh0KCl9KSkpe3ZhciBFPW5ldyBiLE89RVt4XSh5P3t9Oi0wLDEpIT1FLEY9bChmdW5jdGlvbigpe0UuaGFzKDEpfSksUD1oKGZ1bmN0aW9uKHQpe25ldyBiKHQpfSksST0heSYmbChmdW5jdGlvbigpe2Zvcih2YXIgdD1uZXcgYixuPTU7bi0tOyl0W3hdKG4sbik7cmV0dXJuIXQuaGFzKC0wKX0pO1B8fCgoYj1uKGZ1bmN0aW9uKG4scil7ZihuLGIsdCk7dmFyIGU9cChuZXcgbSxuLGIpO3JldHVybiBudWxsIT1yJiZhKHIsZyxlW3hdLGUpLGV9KSkucHJvdG90eXBlPXcsdy5jb25zdHJ1Y3Rvcj1iKSwoRnx8SSkmJihfKFwiZGVsZXRlXCIpLF8oXCJoYXNcIiksZyYmXyhcImdldFwiKSksKEl8fE8pJiZfKHgpLHkmJncuY2xlYXImJmRlbGV0ZSB3LmNsZWFyfWVsc2UgYj1kLmdldENvbnN0cnVjdG9yKG4sdCxnLHgpLHUoYi5wcm90b3R5cGUsciksYy5ORUVEPSEwO3JldHVybiB2KGIsdCksU1t0XT1iLGkoaS5HK2kuVytpLkYqKGIhPW0pLFMpLHl8fGQuc2V0U3Ryb25nKGIsdCxnKSxifX0sZnVuY3Rpb24odCxuLHIpe2Zvcih2YXIgZSxpPXIoMyksbz1yKDE0KSx1PXIoMjkpLGM9dShcInR5cGVkX2FycmF5XCIpLGE9dShcInZpZXdcIiksZj0hKCFpLkFycmF5QnVmZmVyfHwhaS5EYXRhVmlldykscz1mLGw9MCxoPVwiSW50OEFycmF5LFVpbnQ4QXJyYXksVWludDhDbGFtcGVkQXJyYXksSW50MTZBcnJheSxVaW50MTZBcnJheSxJbnQzMkFycmF5LFVpbnQzMkFycmF5LEZsb2F0MzJBcnJheSxGbG9hdDY0QXJyYXlcIi5zcGxpdChcIixcIik7bDw5OykoZT1pW2hbbCsrXV0pPyhvKGUucHJvdG90eXBlLGMsITApLG8oZS5wcm90b3R5cGUsYSwhMCkpOnM9ITE7dC5leHBvcnRzPXtBQlY6ZixDT05TVFI6cyxUWVBFRDpjLFZJRVc6YX19LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDQpLGk9cigzKS5kb2N1bWVudCxvPWUoaSkmJmUoaS5jcmVhdGVFbGVtZW50KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG8/aS5jcmVhdGVFbGVtZW50KHQpOnt9fX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoOSksaT1yKDMpLG89aVtcIl9fY29yZS1qc19zaGFyZWRfX1wiXXx8KGlbXCJfX2NvcmUtanNfc2hhcmVkX19cIl09e30pOyh0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXtyZXR1cm4gb1t0XXx8KG9bdF09dm9pZCAwIT09bj9uOnt9KX0pKFwidmVyc2lvbnNcIixbXSkucHVzaCh7dmVyc2lvbjplLnZlcnNpb24sbW9kZTpyKDMwKT9cInB1cmVcIjpcImdsb2JhbFwiLGNvcHlyaWdodDpcIsKpIDIwMTkgRGVuaXMgUHVzaGthcmV2ICh6bG9pcm9jay5ydSlcIn0pfSxmdW5jdGlvbih0LG4scil7bi5mPXIoNSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDU5KShcImtleXNcIiksaT1yKDI5KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGVbdF18fChlW3RdPWkodCkpfX0sZnVuY3Rpb24odCxuKXt0LmV4cG9ydHM9XCJjb25zdHJ1Y3RvcixoYXNPd25Qcm9wZXJ0eSxpc1Byb3RvdHlwZU9mLHByb3BlcnR5SXNFbnVtZXJhYmxlLHRvTG9jYWxlU3RyaW5nLHRvU3RyaW5nLHZhbHVlT2ZcIi5zcGxpdChcIixcIil9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDIzKTt0LmV4cG9ydHM9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuXCJBcnJheVwiPT1lKHQpfX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMykuZG9jdW1lbnQ7dC5leHBvcnRzPWUmJmUuZG9jdW1lbnRFbGVtZW50fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig0KSxpPXIoMiksbz1mdW5jdGlvbih0LG4pe2lmKGkodCksIWUobikmJm51bGwhPT1uKXRocm93IFR5cGVFcnJvcihuK1wiOiBjYW4ndCBzZXQgYXMgcHJvdG90eXBlIVwiKX07dC5leHBvcnRzPXtzZXQ6T2JqZWN0LnNldFByb3RvdHlwZU9mfHwoXCJfX3Byb3RvX19cImlue30/ZnVuY3Rpb24odCxuLGUpe3RyeXsoZT1yKDIxKShGdW5jdGlvbi5jYWxsLHIoMTgpLmYoT2JqZWN0LnByb3RvdHlwZSxcIl9fcHJvdG9fX1wiKS5zZXQsMikpKHQsW10pLG49ISh0IGluc3RhbmNlb2YgQXJyYXkpfWNhdGNoKHQpe249ITB9cmV0dXJuIGZ1bmN0aW9uKHQscil7cmV0dXJuIG8odCxyKSxuP3QuX19wcm90b19fPXI6ZSh0LHIpLHR9fSh7fSwhMSk6dm9pZCAwKSxjaGVjazpvfX0sZnVuY3Rpb24odCxuKXt0LmV4cG9ydHM9XCJcXHRcXG5cXHZcXGZcXHIgwqDhmoDhoI7igIDigIHigILigIPigITigIXigIbigIfigIjigInigIrigK/igZ/jgIBcXHUyMDI4XFx1MjAyOVxcdWZlZmZcIn0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNCksaT1yKDY1KS5zZXQ7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbixyKXt2YXIgbyx1PW4uY29uc3RydWN0b3I7cmV0dXJuIHUhPT1yJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiB1JiYobz11LnByb3RvdHlwZSkhPT1yLnByb3RvdHlwZSYmZShvKSYmaSYmaSh0LG8pLHR9fSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigxNyksaT1yKDI0KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIG49U3RyaW5nKGkodGhpcykpLHI9XCJcIixvPWUodCk7aWYobzwwfHxvPT0xLzApdGhyb3cgUmFuZ2VFcnJvcihcIkNvdW50IGNhbid0IGJlIG5lZ2F0aXZlXCIpO2Zvcig7bz4wOyhvPj4+PTEpJiYobis9bikpMSZvJiYocis9bik7cmV0dXJuIHJ9fSxmdW5jdGlvbih0LG4pe3QuZXhwb3J0cz1NYXRoLnNpZ258fGZ1bmN0aW9uKHQpe3JldHVybiAwPT0odD0rdCl8fHQhPXQ/dDp0PDA/LTE6MX19LGZ1bmN0aW9uKHQsbil7dmFyIHI9TWF0aC5leHBtMTt0LmV4cG9ydHM9IXJ8fHIoMTApPjIyMDI1LjQ2NTc5NDgwNjcxOHx8cigxMCk8MjIwMjUuNDY1Nzk0ODA2NzE4fHwtMmUtMTchPXIoLTJlLTE3KT9mdW5jdGlvbih0KXtyZXR1cm4gMD09KHQ9K3QpP3Q6dD4tMWUtNiYmdDwxZS02P3QrdCp0LzI6TWF0aC5leHAodCktMX06cn0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTcpLGk9cigyNCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLHIpe3ZhciBvLHUsYz1TdHJpbmcoaShuKSksYT1lKHIpLGY9Yy5sZW5ndGg7cmV0dXJuIGE8MHx8YT49Zj90P1wiXCI6dm9pZCAwOihvPWMuY2hhckNvZGVBdChhKSk8NTUyOTZ8fG8+NTYzMTl8fGErMT09PWZ8fCh1PWMuY2hhckNvZGVBdChhKzEpKTw1NjMyMHx8dT41NzM0Mz90P2MuY2hhckF0KGEpOm86dD9jLnNsaWNlKGEsYSsyKTp1LTU2MzIwKyhvLTU1Mjk2PDwxMCkrNjU1MzZ9fX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMzApLGk9cigwKSxvPXIoMTApLHU9cigxNCksYz1yKDM3KSxhPXIoOTkpLGY9cigzNikscz1yKDM1KSxsPXIoNSkoXCJpdGVyYXRvclwiKSxoPSEoW10ua2V5cyYmXCJuZXh0XCJpbltdLmtleXMoKSksdj1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuLHIscCxkLGcseSl7YShyLG4scCk7dmFyIG0sYix4LHc9ZnVuY3Rpb24odCl7aWYoIWgmJnQgaW4gTylyZXR1cm4gT1t0XTtzd2l0Y2godCl7Y2FzZVwia2V5c1wiOmNhc2VcInZhbHVlc1wiOnJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgcih0aGlzLHQpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHIodGhpcyx0KX19LFM9bitcIiBJdGVyYXRvclwiLF89XCJ2YWx1ZXNcIj09ZCxFPSExLE89dC5wcm90b3R5cGUsRj1PW2xdfHxPW1wiQEBpdGVyYXRvclwiXXx8ZCYmT1tkXSxQPUZ8fHcoZCksST1kP18/dyhcImVudHJpZXNcIik6UDp2b2lkIDAsTT1cIkFycmF5XCI9PW4mJk8uZW50cmllc3x8RjtpZihNJiYoeD1zKE0uY2FsbChuZXcgdCkpKSE9PU9iamVjdC5wcm90b3R5cGUmJngubmV4dCYmKGYoeCxTLCEwKSxlfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiB4W2xdfHx1KHgsbCx2KSksXyYmRiYmXCJ2YWx1ZXNcIiE9PUYubmFtZSYmKEU9ITAsUD1mdW5jdGlvbigpe3JldHVybiBGLmNhbGwodGhpcyl9KSxlJiYheXx8IWgmJiFFJiZPW2xdfHx1KE8sbCxQKSxjW25dPVAsY1tTXT12LGQpaWYobT17dmFsdWVzOl8/UDp3KFwidmFsdWVzXCIpLGtleXM6Zz9QOncoXCJrZXlzXCIpLGVudHJpZXM6SX0seSlmb3IoYiBpbiBtKWIgaW4gT3x8byhPLGIsbVtiXSk7ZWxzZSBpKGkuUCtpLkYqKGh8fEUpLG4sbSk7cmV0dXJuIG19fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig3NCksaT1yKDI0KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuLHIpe2lmKGUobikpdGhyb3cgVHlwZUVycm9yKFwiU3RyaW5nI1wiK3IrXCIgZG9lc24ndCBhY2NlcHQgcmVnZXghXCIpO3JldHVybiBTdHJpbmcoaSh0KSl9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig0KSxpPXIoMjMpLG89cig1KShcIm1hdGNoXCIpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgbjtyZXR1cm4gZSh0KSYmKHZvaWQgMCE9PShuPXRbb10pPyEhbjpcIlJlZ0V4cFwiPT1pKHQpKX19LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDUpKFwibWF0Y2hcIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBuPS8uLzt0cnl7XCIvLi9cIlt0XShuKX1jYXRjaChyKXt0cnl7cmV0dXJuIG5bZV09ITEsIVwiLy4vXCJbdF0obil9Y2F0Y2godCl7fX1yZXR1cm4hMH19LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDM3KSxpPXIoNSkoXCJpdGVyYXRvclwiKSxvPUFycmF5LnByb3RvdHlwZTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMCE9PXQmJihlLkFycmF5PT09dHx8b1tpXT09PXQpfX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoNyksaT1yKDI4KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuLHIpe24gaW4gdD9lLmYodCxuLGkoMCxyKSk6dFtuXT1yfX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNDUpLGk9cig1KShcIml0ZXJhdG9yXCIpLG89cigzNyk7dC5leHBvcnRzPXIoOSkuZ2V0SXRlcmF0b3JNZXRob2Q9ZnVuY3Rpb24odCl7aWYobnVsbCE9dClyZXR1cm4gdFtpXXx8dFtcIkBAaXRlcmF0b3JcIl18fG9bZSh0KV19fSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigxMSksaT1yKDMyKSxvPXIoNik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbj1lKHRoaXMpLHI9byhuLmxlbmd0aCksdT1hcmd1bWVudHMubGVuZ3RoLGM9aSh1PjE/YXJndW1lbnRzWzFdOnZvaWQgMCxyKSxhPXU+Mj9hcmd1bWVudHNbMl06dm9pZCAwLGY9dm9pZCAwPT09YT9yOmkoYSxyKTtmPmM7KW5bYysrXT10O3JldHVybiBufX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMzgpLGk9cigxMDMpLG89cigzNyksdT1yKDE1KTt0LmV4cG9ydHM9cig3MikoQXJyYXksXCJBcnJheVwiLGZ1bmN0aW9uKHQsbil7dGhpcy5fdD11KHQpLHRoaXMuX2k9MCx0aGlzLl9rPW59LGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fdCxuPXRoaXMuX2sscj10aGlzLl9pKys7cmV0dXJuIXR8fHI+PXQubGVuZ3RoPyh0aGlzLl90PXZvaWQgMCxpKDEpKTppKDAsXCJrZXlzXCI9PW4/cjpcInZhbHVlc1wiPT1uP3Rbcl06W3IsdFtyXV0pfSxcInZhbHVlc1wiKSxvLkFyZ3VtZW50cz1vLkFycmF5LGUoXCJrZXlzXCIpLGUoXCJ2YWx1ZXNcIiksZShcImVudHJpZXNcIil9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZSxpLG89cig1MSksdT1SZWdFeHAucHJvdG90eXBlLmV4ZWMsYz1TdHJpbmcucHJvdG90eXBlLnJlcGxhY2UsYT11LGY9KGU9L2EvLGk9L2IqL2csdS5jYWxsKGUsXCJhXCIpLHUuY2FsbChpLFwiYVwiKSwwIT09ZS5sYXN0SW5kZXh8fDAhPT1pLmxhc3RJbmRleCkscz12b2lkIDAhPT0vKCk/Py8uZXhlYyhcIlwiKVsxXTsoZnx8cykmJihhPWZ1bmN0aW9uKHQpe3ZhciBuLHIsZSxpLGE9dGhpcztyZXR1cm4gcyYmKHI9bmV3IFJlZ0V4cChcIl5cIithLnNvdXJjZStcIiQoPyFcXFxccylcIixvLmNhbGwoYSkpKSxmJiYobj1hLmxhc3RJbmRleCksZT11LmNhbGwoYSx0KSxmJiZlJiYoYS5sYXN0SW5kZXg9YS5nbG9iYWw/ZS5pbmRleCtlWzBdLmxlbmd0aDpuKSxzJiZlJiZlLmxlbmd0aD4xJiZjLmNhbGwoZVswXSxyLGZ1bmN0aW9uKCl7Zm9yKGk9MTtpPGFyZ3VtZW50cy5sZW5ndGgtMjtpKyspdm9pZCAwPT09YXJndW1lbnRzW2ldJiYoZVtpXT12b2lkIDApfSksZX0pLHQuZXhwb3J0cz1hfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cig3MSkoITApO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4scil7cmV0dXJuIG4rKHI/ZSh0LG4pLmxlbmd0aDoxKX19LGZ1bmN0aW9uKHQsbixyKXt2YXIgZSxpLG8sdT1yKDIxKSxjPXIoOTMpLGE9cig2NCksZj1yKDU4KSxzPXIoMyksbD1zLnByb2Nlc3MsaD1zLnNldEltbWVkaWF0ZSx2PXMuY2xlYXJJbW1lZGlhdGUscD1zLk1lc3NhZ2VDaGFubmVsLGQ9cy5EaXNwYXRjaCxnPTAseT17fSxtPWZ1bmN0aW9uKCl7dmFyIHQ9K3RoaXM7aWYoeS5oYXNPd25Qcm9wZXJ0eSh0KSl7dmFyIG49eVt0XTtkZWxldGUgeVt0XSxuKCl9fSxiPWZ1bmN0aW9uKHQpe20uY2FsbCh0LmRhdGEpfTtoJiZ2fHwoaD1mdW5jdGlvbih0KXtmb3IodmFyIG49W10scj0xO2FyZ3VtZW50cy5sZW5ndGg+cjspbi5wdXNoKGFyZ3VtZW50c1tyKytdKTtyZXR1cm4geVsrK2ddPWZ1bmN0aW9uKCl7YyhcImZ1bmN0aW9uXCI9PXR5cGVvZiB0P3Q6RnVuY3Rpb24odCksbil9LGUoZyksZ30sdj1mdW5jdGlvbih0KXtkZWxldGUgeVt0XX0sXCJwcm9jZXNzXCI9PXIoMjMpKGwpP2U9ZnVuY3Rpb24odCl7bC5uZXh0VGljayh1KG0sdCwxKSl9OmQmJmQubm93P2U9ZnVuY3Rpb24odCl7ZC5ub3codShtLHQsMSkpfTpwPyhvPShpPW5ldyBwKS5wb3J0MixpLnBvcnQxLm9ubWVzc2FnZT1iLGU9dShvLnBvc3RNZXNzYWdlLG8sMSkpOnMuYWRkRXZlbnRMaXN0ZW5lciYmXCJmdW5jdGlvblwiPT10eXBlb2YgcG9zdE1lc3NhZ2UmJiFzLmltcG9ydFNjcmlwdHM/KGU9ZnVuY3Rpb24odCl7cy5wb3N0TWVzc2FnZSh0K1wiXCIsXCIqXCIpfSxzLmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsYiwhMSkpOmU9XCJvbnJlYWR5c3RhdGVjaGFuZ2VcImluIGYoXCJzY3JpcHRcIik/ZnVuY3Rpb24odCl7YS5hcHBlbmRDaGlsZChmKFwic2NyaXB0XCIpKS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXthLnJlbW92ZUNoaWxkKHRoaXMpLG0uY2FsbCh0KX19OmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQodShtLHQsMSksMCl9KSx0LmV4cG9ydHM9e3NldDpoLGNsZWFyOnZ9fSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigzKSxpPXIoOCksbz1yKDMwKSx1PXIoNTcpLGM9cigxNCksYT1yKDQxKSxmPXIoMSkscz1yKDQwKSxsPXIoMTcpLGg9cig2KSx2PXIoMTExKSxwPXIoMzQpLmYsZD1yKDcpLmYsZz1yKDc5KSx5PXIoMzYpLG09XCJwcm90b3R5cGVcIixiPVwiV3JvbmcgaW5kZXghXCIseD1lLkFycmF5QnVmZmVyLHc9ZS5EYXRhVmlldyxTPWUuTWF0aCxfPWUuUmFuZ2VFcnJvcixFPWUuSW5maW5pdHksTz14LEY9Uy5hYnMsUD1TLnBvdyxJPVMuZmxvb3IsTT1TLmxvZyxBPVMuTE4yLGo9aT9cIl9iXCI6XCJidWZmZXJcIixUPWk/XCJfbFwiOlwiYnl0ZUxlbmd0aFwiLE49aT9cIl9vXCI6XCJieXRlT2Zmc2V0XCI7ZnVuY3Rpb24gTCh0LG4scil7dmFyIGUsaSxvLHU9bmV3IEFycmF5KHIpLGM9OCpyLW4tMSxhPSgxPDxjKS0xLGY9YT4+MSxzPTIzPT09bj9QKDIsLTI0KS1QKDIsLTc3KTowLGw9MCxoPXQ8MHx8MD09PXQmJjEvdDwwPzE6MDtmb3IoKHQ9Rih0KSkhPXR8fHQ9PT1FPyhpPXQhPXQ/MTowLGU9YSk6KGU9SShNKHQpL0EpLHQqKG89UCgyLC1lKSk8MSYmKGUtLSxvKj0yKSwodCs9ZStmPj0xP3MvbzpzKlAoMiwxLWYpKSpvPj0yJiYoZSsrLG8vPTIpLGUrZj49YT8oaT0wLGU9YSk6ZStmPj0xPyhpPSh0Km8tMSkqUCgyLG4pLGUrPWYpOihpPXQqUCgyLGYtMSkqUCgyLG4pLGU9MCkpO24+PTg7dVtsKytdPTI1NSZpLGkvPTI1NixuLT04KTtmb3IoZT1lPDxufGksYys9bjtjPjA7dVtsKytdPTI1NSZlLGUvPTI1NixjLT04KTtyZXR1cm4gdVstLWxdfD0xMjgqaCx1fWZ1bmN0aW9uIGsodCxuLHIpe3ZhciBlLGk9OCpyLW4tMSxvPSgxPDxpKS0xLHU9bz4+MSxjPWktNyxhPXItMSxmPXRbYS0tXSxzPTEyNyZmO2ZvcihmPj49NztjPjA7cz0yNTYqcyt0W2FdLGEtLSxjLT04KTtmb3IoZT1zJigxPDwtYyktMSxzPj49LWMsYys9bjtjPjA7ZT0yNTYqZSt0W2FdLGEtLSxjLT04KTtpZigwPT09cylzPTEtdTtlbHNle2lmKHM9PT1vKXJldHVybiBlP05hTjpmPy1FOkU7ZSs9UCgyLG4pLHMtPXV9cmV0dXJuKGY/LTE6MSkqZSpQKDIscy1uKX1mdW5jdGlvbiBSKHQpe3JldHVybiB0WzNdPDwyNHx0WzJdPDwxNnx0WzFdPDw4fHRbMF19ZnVuY3Rpb24gQyh0KXtyZXR1cm5bMjU1JnRdfWZ1bmN0aW9uIEQodCl7cmV0dXJuWzI1NSZ0LHQ+PjgmMjU1XX1mdW5jdGlvbiBXKHQpe3JldHVyblsyNTUmdCx0Pj44JjI1NSx0Pj4xNiYyNTUsdD4+MjQmMjU1XX1mdW5jdGlvbiBCKHQpe3JldHVybiBMKHQsNTIsOCl9ZnVuY3Rpb24gVSh0KXtyZXR1cm4gTCh0LDIzLDQpfWZ1bmN0aW9uIFYodCxuLHIpe2QodFttXSxuLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tyXX19KX1mdW5jdGlvbiBHKHQsbixyLGUpe3ZhciBpPXYoK3IpO2lmKGkrbj50W1RdKXRocm93IF8oYik7dmFyIG89dFtqXS5fYix1PWkrdFtOXSxjPW8uc2xpY2UodSx1K24pO3JldHVybiBlP2M6Yy5yZXZlcnNlKCl9ZnVuY3Rpb24gSCh0LG4scixlLGksbyl7dmFyIHU9digrcik7aWYodStuPnRbVF0pdGhyb3cgXyhiKTtmb3IodmFyIGM9dFtqXS5fYixhPXUrdFtOXSxmPWUoK2kpLHM9MDtzPG47cysrKWNbYStzXT1mW28/czpuLXMtMV19aWYodS5BQlYpe2lmKCFmKGZ1bmN0aW9uKCl7eCgxKX0pfHwhZihmdW5jdGlvbigpe25ldyB4KC0xKX0pfHxmKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB4LG5ldyB4KDEuNSksbmV3IHgoTmFOKSxcIkFycmF5QnVmZmVyXCIhPXgubmFtZX0pKXtmb3IodmFyIHosWT0oeD1mdW5jdGlvbih0KXtyZXR1cm4gcyh0aGlzLHgpLG5ldyBPKHYodCkpfSlbbV09T1ttXSxLPXAoTykscT0wO0subGVuZ3RoPnE7KSh6PUtbcSsrXSlpbiB4fHxjKHgseixPW3pdKTtvfHwoWS5jb25zdHJ1Y3Rvcj14KX12YXIgSj1uZXcgdyhuZXcgeCgyKSksJD13W21dLnNldEludDg7Si5zZXRJbnQ4KDAsMjE0NzQ4MzY0OCksSi5zZXRJbnQ4KDEsMjE0NzQ4MzY0OSksIUouZ2V0SW50OCgwKSYmSi5nZXRJbnQ4KDEpfHxhKHdbbV0se3NldEludDg6ZnVuY3Rpb24odCxuKXskLmNhbGwodGhpcyx0LG48PDI0Pj4yNCl9LHNldFVpbnQ4OmZ1bmN0aW9uKHQsbil7JC5jYWxsKHRoaXMsdCxuPDwyND4+MjQpfX0sITApfWVsc2UgeD1mdW5jdGlvbih0KXtzKHRoaXMseCxcIkFycmF5QnVmZmVyXCIpO3ZhciBuPXYodCk7dGhpcy5fYj1nLmNhbGwobmV3IEFycmF5KG4pLDApLHRoaXNbVF09bn0sdz1mdW5jdGlvbih0LG4scil7cyh0aGlzLHcsXCJEYXRhVmlld1wiKSxzKHQseCxcIkRhdGFWaWV3XCIpO3ZhciBlPXRbVF0saT1sKG4pO2lmKGk8MHx8aT5lKXRocm93IF8oXCJXcm9uZyBvZmZzZXQhXCIpO2lmKGkrKHI9dm9pZCAwPT09cj9lLWk6aChyKSk+ZSl0aHJvdyBfKFwiV3JvbmcgbGVuZ3RoIVwiKTt0aGlzW2pdPXQsdGhpc1tOXT1pLHRoaXNbVF09cn0saSYmKFYoeCxcImJ5dGVMZW5ndGhcIixcIl9sXCIpLFYodyxcImJ1ZmZlclwiLFwiX2JcIiksVih3LFwiYnl0ZUxlbmd0aFwiLFwiX2xcIiksVih3LFwiYnl0ZU9mZnNldFwiLFwiX29cIikpLGEod1ttXSx7Z2V0SW50ODpmdW5jdGlvbih0KXtyZXR1cm4gRyh0aGlzLDEsdClbMF08PDI0Pj4yNH0sZ2V0VWludDg6ZnVuY3Rpb24odCl7cmV0dXJuIEcodGhpcywxLHQpWzBdfSxnZXRJbnQxNjpmdW5jdGlvbih0KXt2YXIgbj1HKHRoaXMsMix0LGFyZ3VtZW50c1sxXSk7cmV0dXJuKG5bMV08PDh8blswXSk8PDE2Pj4xNn0sZ2V0VWludDE2OmZ1bmN0aW9uKHQpe3ZhciBuPUcodGhpcywyLHQsYXJndW1lbnRzWzFdKTtyZXR1cm4gblsxXTw8OHxuWzBdfSxnZXRJbnQzMjpmdW5jdGlvbih0KXtyZXR1cm4gUihHKHRoaXMsNCx0LGFyZ3VtZW50c1sxXSkpfSxnZXRVaW50MzI6ZnVuY3Rpb24odCl7cmV0dXJuIFIoRyh0aGlzLDQsdCxhcmd1bWVudHNbMV0pKT4+PjB9LGdldEZsb2F0MzI6ZnVuY3Rpb24odCl7cmV0dXJuIGsoRyh0aGlzLDQsdCxhcmd1bWVudHNbMV0pLDIzLDQpfSxnZXRGbG9hdDY0OmZ1bmN0aW9uKHQpe3JldHVybiBrKEcodGhpcyw4LHQsYXJndW1lbnRzWzFdKSw1Miw4KX0sc2V0SW50ODpmdW5jdGlvbih0LG4pe0godGhpcywxLHQsQyxuKX0sc2V0VWludDg6ZnVuY3Rpb24odCxuKXtIKHRoaXMsMSx0LEMsbil9LHNldEludDE2OmZ1bmN0aW9uKHQsbil7SCh0aGlzLDIsdCxELG4sYXJndW1lbnRzWzJdKX0sc2V0VWludDE2OmZ1bmN0aW9uKHQsbil7SCh0aGlzLDIsdCxELG4sYXJndW1lbnRzWzJdKX0sc2V0SW50MzI6ZnVuY3Rpb24odCxuKXtIKHRoaXMsNCx0LFcsbixhcmd1bWVudHNbMl0pfSxzZXRVaW50MzI6ZnVuY3Rpb24odCxuKXtIKHRoaXMsNCx0LFcsbixhcmd1bWVudHNbMl0pfSxzZXRGbG9hdDMyOmZ1bmN0aW9uKHQsbil7SCh0aGlzLDQsdCxVLG4sYXJndW1lbnRzWzJdKX0sc2V0RmxvYXQ2NDpmdW5jdGlvbih0LG4pe0godGhpcyw4LHQsQixuLGFyZ3VtZW50c1syXSl9fSk7eSh4LFwiQXJyYXlCdWZmZXJcIikseSh3LFwiRGF0YVZpZXdcIiksYyh3W21dLHUuVklFVywhMCksbi5BcnJheUJ1ZmZlcj14LG4uRGF0YVZpZXc9d30sZnVuY3Rpb24odCxuLHIpe3QuZXhwb3J0cz0hcig4KSYmIXIoMSkoZnVuY3Rpb24oKXtyZXR1cm4gNyE9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIoNTgpKFwiZGl2XCIpLFwiYVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gN319KS5hfSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDMpLGk9cig5KSxvPXIoMzApLHU9cig2MCksYz1yKDcpLmY7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBuPWkuU3ltYm9sfHwoaS5TeW1ib2w9bz97fTplLlN5bWJvbHx8e30pO1wiX1wiPT10LmNoYXJBdCgwKXx8dCBpbiBufHxjKG4sdCx7dmFsdWU6dS5mKHQpfSl9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigxMyksaT1yKDE1KSxvPXIoNDcpKCExKSx1PXIoNjEpKFwiSUVfUFJPVE9cIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbil7dmFyIHIsYz1pKHQpLGE9MCxmPVtdO2ZvcihyIGluIGMpciE9dSYmZShjLHIpJiZmLnB1c2gocik7Zm9yKDtuLmxlbmd0aD5hOyllKGMscj1uW2ErK10pJiYofm8oZixyKXx8Zi5wdXNoKHIpKTtyZXR1cm4gZn19LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDcpLGk9cigyKSxvPXIoMzEpO3QuZXhwb3J0cz1yKDgpP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzOmZ1bmN0aW9uKHQsbil7aSh0KTtmb3IodmFyIHIsdT1vKG4pLGM9dS5sZW5ndGgsYT0wO2M+YTspZS5mKHQscj11W2ErK10sbltyXSk7cmV0dXJuIHR9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNSksaT1yKDM0KS5mLG89e30udG9TdHJpbmcsdT1cIm9iamVjdFwiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzP09iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHdpbmRvdyk6W107dC5leHBvcnRzLmY9ZnVuY3Rpb24odCl7cmV0dXJuIHUmJlwiW29iamVjdCBXaW5kb3ddXCI9PW8uY2FsbCh0KT9mdW5jdGlvbih0KXt0cnl7cmV0dXJuIGkodCl9Y2F0Y2godCl7cmV0dXJuIHUuc2xpY2UoKX19KHQpOmkoZSh0KSl9fSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigzMSksaT1yKDQ4KSxvPXIoNDQpLHU9cigxMSksYz1yKDQzKSxhPU9iamVjdC5hc3NpZ247dC5leHBvcnRzPSFhfHxyKDEpKGZ1bmN0aW9uKCl7dmFyIHQ9e30sbj17fSxyPVN5bWJvbCgpLGU9XCJhYmNkZWZnaGlqa2xtbm9wcXJzdFwiO3JldHVybiB0W3JdPTcsZS5zcGxpdChcIlwiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe25bdF09dH0pLDchPWEoe30sdClbcl18fE9iamVjdC5rZXlzKGEoe30sbikpLmpvaW4oXCJcIikhPWV9KT9mdW5jdGlvbih0LG4pe2Zvcih2YXIgcj11KHQpLGE9YXJndW1lbnRzLmxlbmd0aCxmPTEscz1pLmYsbD1vLmY7YT5mOylmb3IodmFyIGgsdj1jKGFyZ3VtZW50c1tmKytdKSxwPXM/ZSh2KS5jb25jYXQocyh2KSk6ZSh2KSxkPXAubGVuZ3RoLGc9MDtkPmc7KWwuY2FsbCh2LGg9cFtnKytdKSYmKHJbaF09dltoXSk7cmV0dXJuIHJ9OmF9LGZ1bmN0aW9uKHQsbil7dC5leHBvcnRzPU9iamVjdC5pc3x8ZnVuY3Rpb24odCxuKXtyZXR1cm4gdD09PW4/MCE9PXR8fDEvdD09MS9uOnQhPXQmJm4hPW59fSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigyMiksaT1yKDQpLG89cig5MyksdT1bXS5zbGljZSxjPXt9O3QuZXhwb3J0cz1GdW5jdGlvbi5iaW5kfHxmdW5jdGlvbih0KXt2YXIgbj1lKHRoaXMpLHI9dS5jYWxsKGFyZ3VtZW50cywxKSxhPWZ1bmN0aW9uKCl7dmFyIGU9ci5jb25jYXQodS5jYWxsKGFyZ3VtZW50cykpO3JldHVybiB0aGlzIGluc3RhbmNlb2YgYT9mdW5jdGlvbih0LG4scil7aWYoIShuIGluIGMpKXtmb3IodmFyIGU9W10saT0wO2k8bjtpKyspZVtpXT1cImFbXCIraStcIl1cIjtjW25dPUZ1bmN0aW9uKFwiRixhXCIsXCJyZXR1cm4gbmV3IEYoXCIrZS5qb2luKFwiLFwiKStcIilcIil9cmV0dXJuIGNbbl0odCxyKX0obixlLmxlbmd0aCxlKTpvKG4sZSx0KX07cmV0dXJuIGkobi5wcm90b3R5cGUpJiYoYS5wcm90b3R5cGU9bi5wcm90b3R5cGUpLGF9fSxmdW5jdGlvbih0LG4pe3QuZXhwb3J0cz1mdW5jdGlvbih0LG4scil7dmFyIGU9dm9pZCAwPT09cjtzd2l0Y2gobi5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gZT90KCk6dC5jYWxsKHIpO2Nhc2UgMTpyZXR1cm4gZT90KG5bMF0pOnQuY2FsbChyLG5bMF0pO2Nhc2UgMjpyZXR1cm4gZT90KG5bMF0sblsxXSk6dC5jYWxsKHIsblswXSxuWzFdKTtjYXNlIDM6cmV0dXJuIGU/dChuWzBdLG5bMV0sblsyXSk6dC5jYWxsKHIsblswXSxuWzFdLG5bMl0pO2Nhc2UgNDpyZXR1cm4gZT90KG5bMF0sblsxXSxuWzJdLG5bM10pOnQuY2FsbChyLG5bMF0sblsxXSxuWzJdLG5bM10pfXJldHVybiB0LmFwcGx5KHIsbil9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigzKS5wYXJzZUludCxpPXIoNDkpLnRyaW0sbz1yKDY2KSx1PS9eWy0rXT8wW3hYXS87dC5leHBvcnRzPTghPT1lKG8rXCIwOFwiKXx8MjIhPT1lKG8rXCIweDE2XCIpP2Z1bmN0aW9uKHQsbil7dmFyIHI9aShTdHJpbmcodCksMyk7cmV0dXJuIGUocixuPj4+MHx8KHUudGVzdChyKT8xNjoxMCkpfTplfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigzKS5wYXJzZUZsb2F0LGk9cig0OSkudHJpbTt0LmV4cG9ydHM9MS9lKHIoNjYpK1wiLTBcIikhPS0xLzA/ZnVuY3Rpb24odCl7dmFyIG49aShTdHJpbmcodCksMykscj1lKG4pO3JldHVybiAwPT09ciYmXCItXCI9PW4uY2hhckF0KDApPy0wOnJ9OmV9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDIzKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXtpZihcIm51bWJlclwiIT10eXBlb2YgdCYmXCJOdW1iZXJcIiE9ZSh0KSl0aHJvdyBUeXBlRXJyb3Iobik7cmV0dXJuK3R9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig0KSxpPU1hdGguZmxvb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiFlKHQpJiZpc0Zpbml0ZSh0KSYmaSh0KT09PXR9fSxmdW5jdGlvbih0LG4pe3QuZXhwb3J0cz1NYXRoLmxvZzFwfHxmdW5jdGlvbih0KXtyZXR1cm4odD0rdCk+LTFlLTgmJnQ8MWUtOD90LXQqdC8yOk1hdGgubG9nKDErdCl9fSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigzMyksaT1yKDI4KSxvPXIoMzYpLHU9e307cigxNCkodSxyKDUpKFwiaXRlcmF0b3JcIiksZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLHQuZXhwb3J0cz1mdW5jdGlvbih0LG4scil7dC5wcm90b3R5cGU9ZSh1LHtuZXh0OmkoMSxyKX0pLG8odCxuK1wiIEl0ZXJhdG9yXCIpfX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbixyLGkpe3RyeXtyZXR1cm4gaT9uKGUocilbMF0sclsxXSk6bihyKX1jYXRjaChuKXt2YXIgbz10LnJldHVybjt0aHJvdyB2b2lkIDAhPT1vJiZlKG8uY2FsbCh0KSksbn19fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigyMiksaT1yKDExKSxvPXIoNDMpLHU9cig2KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuLHIsYyxhKXtlKG4pO3ZhciBmPWkodCkscz1vKGYpLGw9dShmLmxlbmd0aCksaD1hP2wtMTowLHY9YT8tMToxO2lmKHI8Milmb3IoOzspe2lmKGggaW4gcyl7Yz1zW2hdLGgrPXY7YnJlYWt9aWYoaCs9dixhP2g8MDpsPD1oKXRocm93IFR5cGVFcnJvcihcIlJlZHVjZSBvZiBlbXB0eSBhcnJheSB3aXRoIG5vIGluaXRpYWwgdmFsdWVcIil9Zm9yKDthP2g+PTA6bD5oO2grPXYpaCBpbiBzJiYoYz1uKGMsc1toXSxoLGYpKTtyZXR1cm4gY319LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDExKSxpPXIoMzIpLG89cig2KTt0LmV4cG9ydHM9W10uY29weVdpdGhpbnx8ZnVuY3Rpb24odCxuKXt2YXIgcj1lKHRoaXMpLHU9byhyLmxlbmd0aCksYz1pKHQsdSksYT1pKG4sdSksZj1hcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCxzPU1hdGgubWluKCh2b2lkIDA9PT1mP3U6aShmLHUpKS1hLHUtYyksbD0xO2ZvcihhPGMmJmM8YStzJiYobD0tMSxhKz1zLTEsYys9cy0xKTtzLS0gPjA7KWEgaW4gcj9yW2NdPXJbYV06ZGVsZXRlIHJbY10sYys9bCxhKz1sO3JldHVybiByfX0sZnVuY3Rpb24odCxuKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXtyZXR1cm57dmFsdWU6bixkb25lOiEhdH19fSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cig4MSk7cigwKSh7dGFyZ2V0OlwiUmVnRXhwXCIscHJvdG86ITAsZm9yY2VkOmUhPT0vLi8uZXhlY30se2V4ZWM6ZX0pfSxmdW5jdGlvbih0LG4scil7cig4KSYmXCJnXCIhPS8uL2cuZmxhZ3MmJnIoNykuZihSZWdFeHAucHJvdG90eXBlLFwiZmxhZ3NcIix7Y29uZmlndXJhYmxlOiEwLGdldDpyKDUxKX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGUsaSxvLHUsYz1yKDMwKSxhPXIoMyksZj1yKDIxKSxzPXIoNDUpLGw9cigwKSxoPXIoNCksdj1yKDIyKSxwPXIoNDApLGQ9cig1NCksZz1yKDQ2KSx5PXIoODMpLnNldCxtPXIoMjMwKSgpLGI9cigxMDcpLHg9cigyMzEpLHc9cig1NSksUz1yKDEwOCksXz1hLlR5cGVFcnJvcixFPWEucHJvY2VzcyxPPUUmJkUudmVyc2lvbnMsRj1PJiZPLnY4fHxcIlwiLFA9YS5Qcm9taXNlLEk9XCJwcm9jZXNzXCI9PXMoRSksTT1mdW5jdGlvbigpe30sQT1pPWIuZixqPSEhZnVuY3Rpb24oKXt0cnl7dmFyIHQ9UC5yZXNvbHZlKDEpLG49KHQuY29uc3RydWN0b3I9e30pW3IoNSkoXCJzcGVjaWVzXCIpXT1mdW5jdGlvbih0KXt0KE0sTSl9O3JldHVybihJfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBQcm9taXNlUmVqZWN0aW9uRXZlbnQpJiZ0LnRoZW4oTSlpbnN0YW5jZW9mIG4mJjAhPT1GLmluZGV4T2YoXCI2LjZcIikmJi0xPT09dy5pbmRleE9mKFwiQ2hyb21lLzY2XCIpfWNhdGNoKHQpe319KCksVD1mdW5jdGlvbih0KXt2YXIgbjtyZXR1cm4hKCFoKHQpfHxcImZ1bmN0aW9uXCIhPXR5cGVvZihuPXQudGhlbikpJiZufSxOPWZ1bmN0aW9uKHQsbil7aWYoIXQuX24pe3QuX249ITA7dmFyIHI9dC5fYzttKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPXQuX3YsaT0xPT10Ll9zLG89MCx1PWZ1bmN0aW9uKG4pe3ZhciByLG8sdSxjPWk/bi5vazpuLmZhaWwsYT1uLnJlc29sdmUsZj1uLnJlamVjdCxzPW4uZG9tYWluO3RyeXtjPyhpfHwoMj09dC5faCYmUih0KSx0Ll9oPTEpLCEwPT09Yz9yPWU6KHMmJnMuZW50ZXIoKSxyPWMoZSkscyYmKHMuZXhpdCgpLHU9ITApKSxyPT09bi5wcm9taXNlP2YoXyhcIlByb21pc2UtY2hhaW4gY3ljbGVcIikpOihvPVQocikpP28uY2FsbChyLGEsZik6YShyKSk6ZihlKX1jYXRjaCh0KXtzJiYhdSYmcy5leGl0KCksZih0KX19O3IubGVuZ3RoPm87KXUocltvKytdKTt0Ll9jPVtdLHQuX249ITEsbiYmIXQuX2gmJkwodCl9KX19LEw9ZnVuY3Rpb24odCl7eS5jYWxsKGEsZnVuY3Rpb24oKXt2YXIgbixyLGUsaT10Ll92LG89ayh0KTtpZihvJiYobj14KGZ1bmN0aW9uKCl7ST9FLmVtaXQoXCJ1bmhhbmRsZWRSZWplY3Rpb25cIixpLHQpOihyPWEub251bmhhbmRsZWRyZWplY3Rpb24pP3Ioe3Byb21pc2U6dCxyZWFzb246aX0pOihlPWEuY29uc29sZSkmJmUuZXJyb3ImJmUuZXJyb3IoXCJVbmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb25cIixpKX0pLHQuX2g9SXx8ayh0KT8yOjEpLHQuX2E9dm9pZCAwLG8mJm4uZSl0aHJvdyBuLnZ9KX0saz1mdW5jdGlvbih0KXtyZXR1cm4gMSE9PXQuX2gmJjA9PT0odC5fYXx8dC5fYykubGVuZ3RofSxSPWZ1bmN0aW9uKHQpe3kuY2FsbChhLGZ1bmN0aW9uKCl7dmFyIG47ST9FLmVtaXQoXCJyZWplY3Rpb25IYW5kbGVkXCIsdCk6KG49YS5vbnJlamVjdGlvbmhhbmRsZWQpJiZuKHtwcm9taXNlOnQscmVhc29uOnQuX3Z9KX0pfSxDPWZ1bmN0aW9uKHQpe3ZhciBuPXRoaXM7bi5fZHx8KG4uX2Q9ITAsKG49bi5fd3x8bikuX3Y9dCxuLl9zPTIsbi5fYXx8KG4uX2E9bi5fYy5zbGljZSgpKSxOKG4sITApKX0sRD1mdW5jdGlvbih0KXt2YXIgbixyPXRoaXM7aWYoIXIuX2Qpe3IuX2Q9ITAscj1yLl93fHxyO3RyeXtpZihyPT09dCl0aHJvdyBfKFwiUHJvbWlzZSBjYW4ndCBiZSByZXNvbHZlZCBpdHNlbGZcIik7KG49VCh0KSk/bShmdW5jdGlvbigpe3ZhciBlPXtfdzpyLF9kOiExfTt0cnl7bi5jYWxsKHQsZihELGUsMSksZihDLGUsMSkpfWNhdGNoKHQpe0MuY2FsbChlLHQpfX0pOihyLl92PXQsci5fcz0xLE4ociwhMSkpfWNhdGNoKHQpe0MuY2FsbCh7X3c6cixfZDohMX0sdCl9fX07anx8KFA9ZnVuY3Rpb24odCl7cCh0aGlzLFAsXCJQcm9taXNlXCIsXCJfaFwiKSx2KHQpLGUuY2FsbCh0aGlzKTt0cnl7dChmKEQsdGhpcywxKSxmKEMsdGhpcywxKSl9Y2F0Y2godCl7Qy5jYWxsKHRoaXMsdCl9fSwoZT1mdW5jdGlvbih0KXt0aGlzLl9jPVtdLHRoaXMuX2E9dm9pZCAwLHRoaXMuX3M9MCx0aGlzLl9kPSExLHRoaXMuX3Y9dm9pZCAwLHRoaXMuX2g9MCx0aGlzLl9uPSExfSkucHJvdG90eXBlPXIoNDEpKFAucHJvdG90eXBlLHt0aGVuOmZ1bmN0aW9uKHQsbil7dmFyIHI9QShnKHRoaXMsUCkpO3JldHVybiByLm9rPVwiZnVuY3Rpb25cIiE9dHlwZW9mIHR8fHQsci5mYWlsPVwiZnVuY3Rpb25cIj09dHlwZW9mIG4mJm4sci5kb21haW49ST9FLmRvbWFpbjp2b2lkIDAsdGhpcy5fYy5wdXNoKHIpLHRoaXMuX2EmJnRoaXMuX2EucHVzaChyKSx0aGlzLl9zJiZOKHRoaXMsITEpLHIucHJvbWlzZX0sY2F0Y2g6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAsdCl9fSksbz1mdW5jdGlvbigpe3ZhciB0PW5ldyBlO3RoaXMucHJvbWlzZT10LHRoaXMucmVzb2x2ZT1mKEQsdCwxKSx0aGlzLnJlamVjdD1mKEMsdCwxKX0sYi5mPUE9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1QfHx0PT09dT9uZXcgbyh0KTppKHQpfSksbChsLkcrbC5XK2wuRiohaix7UHJvbWlzZTpQfSkscigzNikoUCxcIlByb21pc2VcIikscigzOSkoXCJQcm9taXNlXCIpLHU9cig5KS5Qcm9taXNlLGwobC5TK2wuRiohaixcIlByb21pc2VcIix7cmVqZWN0OmZ1bmN0aW9uKHQpe3ZhciBuPUEodGhpcyk7cmV0dXJuKDAsbi5yZWplY3QpKHQpLG4ucHJvbWlzZX19KSxsKGwuUytsLkYqKGN8fCFqKSxcIlByb21pc2VcIix7cmVzb2x2ZTpmdW5jdGlvbih0KXtyZXR1cm4gUyhjJiZ0aGlzPT09dT9QOnRoaXMsdCl9fSksbChsLlMrbC5GKiEoaiYmcig1MCkoZnVuY3Rpb24odCl7UC5hbGwodCkuY2F0Y2goTSl9KSksXCJQcm9taXNlXCIse2FsbDpmdW5jdGlvbih0KXt2YXIgbj10aGlzLHI9QShuKSxlPXIucmVzb2x2ZSxpPXIucmVqZWN0LG89eChmdW5jdGlvbigpe3ZhciByPVtdLG89MCx1PTE7ZCh0LCExLGZ1bmN0aW9uKHQpe3ZhciBjPW8rKyxhPSExO3IucHVzaCh2b2lkIDApLHUrKyxuLnJlc29sdmUodCkudGhlbihmdW5jdGlvbih0KXthfHwoYT0hMCxyW2NdPXQsLS11fHxlKHIpKX0saSl9KSwtLXV8fGUocil9KTtyZXR1cm4gby5lJiZpKG8udiksci5wcm9taXNlfSxyYWNlOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMscj1BKG4pLGU9ci5yZWplY3QsaT14KGZ1bmN0aW9uKCl7ZCh0LCExLGZ1bmN0aW9uKHQpe24ucmVzb2x2ZSh0KS50aGVuKHIucmVzb2x2ZSxlKX0pfSk7cmV0dXJuIGkuZSYmZShpLnYpLHIucHJvbWlzZX19KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMjIpO2Z1bmN0aW9uIGkodCl7dmFyIG4scjt0aGlzLnByb21pc2U9bmV3IHQoZnVuY3Rpb24odCxlKXtpZih2b2lkIDAhPT1ufHx2b2lkIDAhPT1yKXRocm93IFR5cGVFcnJvcihcIkJhZCBQcm9taXNlIGNvbnN0cnVjdG9yXCIpO249dCxyPWV9KSx0aGlzLnJlc29sdmU9ZShuKSx0aGlzLnJlamVjdD1lKHIpfXQuZXhwb3J0cy5mPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgaSh0KX19LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDIpLGk9cig0KSxvPXIoMTA3KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXtpZihlKHQpLGkobikmJm4uY29uc3RydWN0b3I9PT10KXJldHVybiBuO3ZhciByPW8uZih0KTtyZXR1cm4oMCxyLnJlc29sdmUpKG4pLHIucHJvbWlzZX19LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDcpLmYsaT1yKDMzKSxvPXIoNDEpLHU9cigyMSksYz1yKDQwKSxhPXIoNTQpLGY9cig3Mikscz1yKDEwMyksbD1yKDM5KSxoPXIoOCksdj1yKDI3KS5mYXN0S2V5LHA9cig0MiksZD1oP1wiX3NcIjpcInNpemVcIixnPWZ1bmN0aW9uKHQsbil7dmFyIHIsZT12KG4pO2lmKFwiRlwiIT09ZSlyZXR1cm4gdC5faVtlXTtmb3Iocj10Ll9mO3I7cj1yLm4paWYoci5rPT1uKXJldHVybiByfTt0LmV4cG9ydHM9e2dldENvbnN0cnVjdG9yOmZ1bmN0aW9uKHQsbixyLGYpe3ZhciBzPXQoZnVuY3Rpb24odCxlKXtjKHQscyxuLFwiX2lcIiksdC5fdD1uLHQuX2k9aShudWxsKSx0Ll9mPXZvaWQgMCx0Ll9sPXZvaWQgMCx0W2RdPTAsbnVsbCE9ZSYmYShlLHIsdFtmXSx0KX0pO3JldHVybiBvKHMucHJvdG90eXBlLHtjbGVhcjpmdW5jdGlvbigpe2Zvcih2YXIgdD1wKHRoaXMsbikscj10Ll9pLGU9dC5fZjtlO2U9ZS5uKWUucj0hMCxlLnAmJihlLnA9ZS5wLm49dm9pZCAwKSxkZWxldGUgcltlLmldO3QuX2Y9dC5fbD12b2lkIDAsdFtkXT0wfSxkZWxldGU6ZnVuY3Rpb24odCl7dmFyIHI9cCh0aGlzLG4pLGU9ZyhyLHQpO2lmKGUpe3ZhciBpPWUubixvPWUucDtkZWxldGUgci5faVtlLmldLGUucj0hMCxvJiYoby5uPWkpLGkmJihpLnA9byksci5fZj09ZSYmKHIuX2Y9aSksci5fbD09ZSYmKHIuX2w9bykscltkXS0tfXJldHVybiEhZX0sZm9yRWFjaDpmdW5jdGlvbih0KXtwKHRoaXMsbik7Zm9yKHZhciByLGU9dSh0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLDMpO3I9cj9yLm46dGhpcy5fZjspZm9yKGUoci52LHIuayx0aGlzKTtyJiZyLnI7KXI9ci5wfSxoYXM6ZnVuY3Rpb24odCl7cmV0dXJuISFnKHAodGhpcyxuKSx0KX19KSxoJiZlKHMucHJvdG90eXBlLFwic2l6ZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcCh0aGlzLG4pW2RdfX0pLHN9LGRlZjpmdW5jdGlvbih0LG4scil7dmFyIGUsaSxvPWcodCxuKTtyZXR1cm4gbz9vLnY9cjoodC5fbD1vPXtpOmk9dihuLCEwKSxrOm4sdjpyLHA6ZT10Ll9sLG46dm9pZCAwLHI6ITF9LHQuX2Z8fCh0Ll9mPW8pLGUmJihlLm49byksdFtkXSsrLFwiRlwiIT09aSYmKHQuX2lbaV09bykpLHR9LGdldEVudHJ5Omcsc2V0U3Ryb25nOmZ1bmN0aW9uKHQsbixyKXtmKHQsbixmdW5jdGlvbih0LHIpe3RoaXMuX3Q9cCh0LG4pLHRoaXMuX2s9cix0aGlzLl9sPXZvaWQgMH0sZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5fayxuPXRoaXMuX2w7biYmbi5yOyluPW4ucDtyZXR1cm4gdGhpcy5fdCYmKHRoaXMuX2w9bj1uP24ubjp0aGlzLl90Ll9mKT9zKDAsXCJrZXlzXCI9PXQ/bi5rOlwidmFsdWVzXCI9PXQ/bi52OltuLmssbi52XSk6KHRoaXMuX3Q9dm9pZCAwLHMoMSkpfSxyP1wiZW50cmllc1wiOlwidmFsdWVzXCIsIXIsITApLGwobil9fX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoNDEpLGk9cigyNykuZ2V0V2VhayxvPXIoMiksdT1yKDQpLGM9cig0MCksYT1yKDU0KSxmPXIoMjApLHM9cigxMyksbD1yKDQyKSxoPWYoNSksdj1mKDYpLHA9MCxkPWZ1bmN0aW9uKHQpe3JldHVybiB0Ll9sfHwodC5fbD1uZXcgZyl9LGc9ZnVuY3Rpb24oKXt0aGlzLmE9W119LHk9ZnVuY3Rpb24odCxuKXtyZXR1cm4gaCh0LmEsZnVuY3Rpb24odCl7cmV0dXJuIHRbMF09PT1ufSl9O2cucHJvdG90eXBlPXtnZXQ6ZnVuY3Rpb24odCl7dmFyIG49eSh0aGlzLHQpO2lmKG4pcmV0dXJuIG5bMV19LGhhczpmdW5jdGlvbih0KXtyZXR1cm4hIXkodGhpcyx0KX0sc2V0OmZ1bmN0aW9uKHQsbil7dmFyIHI9eSh0aGlzLHQpO3I/clsxXT1uOnRoaXMuYS5wdXNoKFt0LG5dKX0sZGVsZXRlOmZ1bmN0aW9uKHQpe3ZhciBuPXYodGhpcy5hLGZ1bmN0aW9uKG4pe3JldHVybiBuWzBdPT09dH0pO3JldHVybn5uJiZ0aGlzLmEuc3BsaWNlKG4sMSksISF+bn19LHQuZXhwb3J0cz17Z2V0Q29uc3RydWN0b3I6ZnVuY3Rpb24odCxuLHIsbyl7dmFyIGY9dChmdW5jdGlvbih0LGUpe2ModCxmLG4sXCJfaVwiKSx0Ll90PW4sdC5faT1wKyssdC5fbD12b2lkIDAsbnVsbCE9ZSYmYShlLHIsdFtvXSx0KX0pO3JldHVybiBlKGYucHJvdG90eXBlLHtkZWxldGU6ZnVuY3Rpb24odCl7aWYoIXUodCkpcmV0dXJuITE7dmFyIHI9aSh0KTtyZXR1cm4hMD09PXI/ZChsKHRoaXMsbikpLmRlbGV0ZSh0KTpyJiZzKHIsdGhpcy5faSkmJmRlbGV0ZSByW3RoaXMuX2ldfSxoYXM6ZnVuY3Rpb24odCl7aWYoIXUodCkpcmV0dXJuITE7dmFyIHI9aSh0KTtyZXR1cm4hMD09PXI/ZChsKHRoaXMsbikpLmhhcyh0KTpyJiZzKHIsdGhpcy5faSl9fSksZn0sZGVmOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1pKG8obiksITApO3JldHVybiEwPT09ZT9kKHQpLnNldChuLHIpOmVbdC5faV09cix0fSx1ZnN0b3JlOmR9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNyksaT1yKDYpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih2b2lkIDA9PT10KXJldHVybiAwO3ZhciBuPWUodCkscj1pKG4pO2lmKG4hPT1yKXRocm93IFJhbmdlRXJyb3IoXCJXcm9uZyBsZW5ndGghXCIpO3JldHVybiByfX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMzQpLGk9cig0OCksbz1yKDIpLHU9cigzKS5SZWZsZWN0O3QuZXhwb3J0cz11JiZ1Lm93bktleXN8fGZ1bmN0aW9uKHQpe3ZhciBuPWUuZihvKHQpKSxyPWkuZjtyZXR1cm4gcj9uLmNvbmNhdChyKHQpKTpufX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNiksaT1yKDY4KSxvPXIoMjQpO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4scix1KXt2YXIgYz1TdHJpbmcobyh0KSksYT1jLmxlbmd0aCxmPXZvaWQgMD09PXI/XCIgXCI6U3RyaW5nKHIpLHM9ZShuKTtpZihzPD1hfHxcIlwiPT1mKXJldHVybiBjO3ZhciBsPXMtYSxoPWkuY2FsbChmLE1hdGguY2VpbChsL2YubGVuZ3RoKSk7cmV0dXJuIGgubGVuZ3RoPmwmJihoPWguc2xpY2UoMCxsKSksdT9oK2M6YytofX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMzEpLGk9cigxNSksbz1yKDQ0KS5mO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7Zm9yKHZhciByLHU9aShuKSxjPWUodSksYT1jLmxlbmd0aCxmPTAscz1bXTthPmY7KW8uY2FsbCh1LHI9Y1tmKytdKSYmcy5wdXNoKHQ/W3IsdVtyXV06dVtyXSk7cmV0dXJuIHN9fX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIGUoKXtyZXR1cm4oZT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbih0KXtmb3IodmFyIG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXt2YXIgcj1hcmd1bWVudHNbbl07Zm9yKHZhciBlIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsZSkmJih0W2VdPXJbZV0pfXJldHVybiB0fSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIGkodCxuKXtmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGU9bltyXTtlLmVudW1lcmFibGU9ZS5lbnVtZXJhYmxlfHwhMSxlLmNvbmZpZ3VyYWJsZT0hMCxcInZhbHVlXCJpbiBlJiYoZS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZS5rZXksZSl9fXIoMTE2KTt2YXIgbz1mdW5jdGlvbih0LG4scil7bi5mb3JFYWNoKGZ1bmN0aW9uKG4pe3QuYWRkRXZlbnRMaXN0ZW5lcihuLHIpfSl9LHU9ZnVuY3Rpb24odCxuLHIpe24uZm9yRWFjaChmdW5jdGlvbihuKXt0LnJlbW92ZUV2ZW50TGlzdGVuZXIobixyKX0pfSxjPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChuKXt2YXIgcj10aGlzOyFmdW5jdGlvbih0LG4pe2lmKCEodCBpbnN0YW5jZW9mIG4pKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9KHRoaXMsdCksdGhpcy5kZWZhdWx0cz17aWRsZToxZTQsZXZlbnRzOltcIm1vdXNlbW92ZVwiLFwia2V5ZG93blwiLFwibW91c2Vkb3duXCIsXCJ0b3VjaHN0YXJ0XCJdLG9uSWRsZTpmdW5jdGlvbigpe30sb25BY3RpdmU6ZnVuY3Rpb24oKXt9LG9uSGlkZTpmdW5jdGlvbigpe30sb25TaG93OmZ1bmN0aW9uKCl7fSxrZWVwVHJhY2tpbmc6ITAsc3RhcnRBdElkbGU6ITEscmVjdXJJZGxlQ2FsbDohMX0sdGhpcy50aHJvd09uQmFkS2V5KE9iamVjdC5rZXlzKG4pLE9iamVjdC5rZXlzKHRoaXMuZGVmYXVsdHMpKSx0aGlzLnNldHRpbmdzPWUoe30sdGhpcy5kZWZhdWx0cyxuKSx0aGlzLnZpc2liaWxpdHlFdmVudHM9W1widmlzaWJpbGl0eWNoYW5nZVwiLFwid2Via2l0dmlzaWJpbGl0eWNoYW5nZVwiLFwibW96dmlzaWJpbGl0eWNoYW5nZVwiLFwibXN2aXNpYmlsaXR5Y2hhbmdlXCJdLHRoaXMuY2xlYXJUaW1lb3V0PW51bGwsdGhpcy5yZXNldCgpLHRoaXMuc3RvcExpc3RlbmVyPWZ1bmN0aW9uKHQpe3Iuc3RvcCgpfSx0aGlzLmlkbGVuZXNzRXZlbnRzSGFuZGxlcj1mdW5jdGlvbih0KXtyLmlkbGUmJihyLmlkbGU9ITEsci5zZXR0aW5ncy5vbkFjdGl2ZS5jYWxsKCkpLHIucmVzZXRUaW1lb3V0KHIuc2V0dGluZ3MpfSx0aGlzLnZpc2liaWxpdHlFdmVudHNIYW5kbGVyPWZ1bmN0aW9uKHQpe2RvY3VtZW50LmhpZGRlbnx8ZG9jdW1lbnQud2Via2l0SGlkZGVufHxkb2N1bWVudC5tb3pIaWRkZW58fGRvY3VtZW50Lm1zSGlkZGVuP3IudmlzaWJsZSYmKHIudmlzaWJsZT0hMSxyLnNldHRpbmdzLm9uSGlkZS5jYWxsKCkpOnIudmlzaWJsZXx8KHIudmlzaWJsZT0hMCxyLnNldHRpbmdzLm9uU2hvdy5jYWxsKCkpfX12YXIgbixyLGM7cmV0dXJuIG49dCwocj1be2tleTpcInJlc2V0VGltZW91dFwiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp0aGlzLnNldHRpbmdzLmtlZXBUcmFja2luZzt0aGlzLmNsZWFyVGltZW91dCYmKHRoaXMuY2xlYXJUaW1lb3V0KCksdGhpcy5jbGVhclRpbWVvdXQ9bnVsbCksbiYmdGhpcy50aW1lb3V0KHRoaXMuc2V0dGluZ3MpfX0se2tleTpcInRpbWVvdXRcIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgbj10aGlzLnNldHRpbmdzLnJlY3VySWRsZUNhbGw/e3NldDpzZXRJbnRlcnZhbC5iaW5kKHdpbmRvdyksY2xlYXI6Y2xlYXJJbnRlcnZhbC5iaW5kKHdpbmRvdyl9OntzZXQ6c2V0VGltZW91dC5iaW5kKHdpbmRvdyksY2xlYXI6Y2xlYXJUaW1lb3V0LmJpbmQod2luZG93KX0scj1uLnNldChmdW5jdGlvbigpe3RoaXMuaWRsZT0hMCx0aGlzLnNldHRpbmdzLm9uSWRsZS5jYWxsKCl9LmJpbmQodGhpcyksdGhpcy5zZXR0aW5ncy5pZGxlKTt0aGlzLmNsZWFyVGltZW91dD1mdW5jdGlvbigpe3JldHVybiBuLmNsZWFyKHIpfX19LHtrZXk6XCJzdGFydFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiaWRsZTpzdG9wXCIsdGhpcy5zdG9wTGlzdGVuZXIpLHRoaXMudGltZW91dCh0aGlzLnNldHRpbmdzKSxvKHdpbmRvdyx0aGlzLnNldHRpbmdzLmV2ZW50cyx0aGlzLmlkbGVuZXNzRXZlbnRzSGFuZGxlciksKHRoaXMuc2V0dGluZ3Mub25TaG93fHx0aGlzLnNldHRpbmdzLm9uSGlkZSkmJm8oZG9jdW1lbnQsdGhpcy52aXNpYmlsaXR5RXZlbnRzLHRoaXMudmlzaWJpbGl0eUV2ZW50c0hhbmRsZXIpLHRoaXN9fSx7a2V5Olwic3RvcFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwiaWRsZTpzdG9wXCIsdGhpcy5zdG9wTGlzdGVuZXIpLHUod2luZG93LHRoaXMuc2V0dGluZ3MuZXZlbnRzLHRoaXMuaWRsZW5lc3NFdmVudHNIYW5kbGVyKSx0aGlzLnJlc2V0VGltZW91dCh0aGlzLnNldHRpbmdzLCExKSwodGhpcy5zZXR0aW5ncy5vblNob3d8fHRoaXMuc2V0dGluZ3Mub25IaWRlKSYmdShkb2N1bWVudCx0aGlzLnZpc2liaWxpdHlFdmVudHMsdGhpcy52aXNpYmlsaXR5RXZlbnRzSGFuZGxlciksdGhpc319LHtrZXk6XCJyZXNldFwiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LG49dC5pZGxlLHI9dm9pZCAwPT09bj90aGlzLnNldHRpbmdzLnN0YXJ0QXRJZGxlOm4sZT10LnZpc2libGUsaT12b2lkIDA9PT1lPyF0aGlzLnNldHRpbmdzLnN0YXJ0QXRJZGxlOmU7cmV0dXJuIHRoaXMuaWRsZT1yLHRoaXMudmlzaWJsZT1pLHRoaXN9fSx7a2V5OlwidGhyb3dPbkJhZEtleVwiLHZhbHVlOmZ1bmN0aW9uKHQsbil7dC5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKCFuLmluY2x1ZGVzKHQpKXRocm93XCJzZXQ6IFVua25vd24ga2V5IFwiLmNvbmNhdCh0KX0pfX0se2tleTpcInNldFwiLHZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMudGhyb3dPbkJhZEtleShPYmplY3Qua2V5cyh0KSxPYmplY3Qua2V5cyh0aGlzLmRlZmF1bHRzKSksdGhpcy5zZXR0aW5ncz1lKHRoaXMuc2V0dGluZ3MsdCl9fV0pJiZpKG4ucHJvdG90eXBlLHIpLGMmJmkobixjKSx0fSgpO3QuZXhwb3J0cz1jfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7KGZ1bmN0aW9uKHQpe3IoMTE4KSxyKDI2MSkscigyNjMpLHIoMjY1KSxyKDI2NykscigyNjkpLHIoMjcxKSxyKDI3MykscigyNzUpLHIoMjc3KSxyKDI4MSksdC5fYmFiZWxQb2x5ZmlsbCYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUud2FybiYmY29uc29sZS53YXJuKFwiQGJhYmVsL3BvbHlmaWxsIGlzIGxvYWRlZCBtb3JlIHRoYW4gb25jZSBvbiB0aGlzIHBhZ2UuIFRoaXMgaXMgcHJvYmFibHkgbm90IGRlc2lyYWJsZS9pbnRlbmRlZCBhbmQgbWF5IGhhdmUgY29uc2VxdWVuY2VzIGlmIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiB0aGUgcG9seWZpbGxzIGFyZSBhcHBsaWVkIHNlcXVlbnRpYWxseS4gSWYgeW91IGRvIG5lZWQgdG8gbG9hZCB0aGUgcG9seWZpbGwgbW9yZSB0aGFuIG9uY2UsIHVzZSBAYmFiZWwvcG9seWZpbGwvbm9Db25mbGljdCBpbnN0ZWFkIHRvIGJ5cGFzcyB0aGUgd2FybmluZy5cIiksdC5fYmFiZWxQb2x5ZmlsbD0hMH0pLmNhbGwodGhpcyxyKDExNykpfSxmdW5jdGlvbih0LG4pe3ZhciByO3I9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30oKTt0cnl7cj1yfHxuZXcgRnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpfWNhdGNoKHQpe1wib2JqZWN0XCI9PXR5cGVvZiB3aW5kb3cmJihyPXdpbmRvdyl9dC5leHBvcnRzPXJ9LGZ1bmN0aW9uKHQsbixyKXtyKDExOSkscigxMjEpLHIoMTIyKSxyKDEyMykscigxMjQpLHIoMTI1KSxyKDEyNikscigxMjcpLHIoMTI4KSxyKDEyOSkscigxMzApLHIoMTMxKSxyKDEzMikscigxMzMpLHIoMTM0KSxyKDEzNSkscigxMzYpLHIoMTM3KSxyKDEzOCkscigxMzkpLHIoMTQwKSxyKDE0MSkscigxNDIpLHIoMTQzKSxyKDE0NCkscigxNDUpLHIoMTQ2KSxyKDE0NykscigxNDgpLHIoMTQ5KSxyKDE1MCkscigxNTEpLHIoMTUyKSxyKDE1MykscigxNTQpLHIoMTU1KSxyKDE1NikscigxNTcpLHIoMTU4KSxyKDE1OSkscigxNjApLHIoMTYxKSxyKDE2MikscigxNjQpLHIoMTY1KSxyKDE2NikscigxNjcpLHIoMTY4KSxyKDE2OSkscigxNzApLHIoMTcxKSxyKDE3MikscigxNzMpLHIoMTc0KSxyKDE3NSkscigxNzYpLHIoMTc3KSxyKDE3OCkscigxNzkpLHIoMTgwKSxyKDE4MSkscigxODIpLHIoMTgzKSxyKDE4NCkscigxODUpLHIoMTg2KSxyKDE4NykscigxODgpLHIoMTg5KSxyKDE5MCkscigxOTEpLHIoMTkyKSxyKDE5MykscigxOTQpLHIoMTk1KSxyKDE5NikscigxOTcpLHIoMTk5KSxyKDIwMCkscigyMDIpLHIoMjAzKSxyKDIwNCkscigyMDUpLHIoMjA2KSxyKDIwNykscigyMDgpLHIoMjExKSxyKDIxMikscigyMTMpLHIoMjE0KSxyKDIxNSkscigyMTYpLHIoMjE3KSxyKDIxOCkscigyMTkpLHIoMjIwKSxyKDIyMSkscigyMjIpLHIoMjIzKSxyKDgwKSxyKDIyNCkscigxMDQpLHIoMjI1KSxyKDEwNSkscigyMjYpLHIoMjI3KSxyKDIyOCkscigyMjkpLHIoMTA2KSxyKDIzMikscigyMzMpLHIoMjM0KSxyKDIzNSkscigyMzYpLHIoMjM3KSxyKDIzOCkscigyMzkpLHIoMjQwKSxyKDI0MSkscigyNDIpLHIoMjQzKSxyKDI0NCkscigyNDUpLHIoMjQ2KSxyKDI0NykscigyNDgpLHIoMjQ5KSxyKDI1MCkscigyNTEpLHIoMjUyKSxyKDI1MykscigyNTQpLHIoMjU1KSxyKDI1NikscigyNTcpLHIoMjU4KSxyKDI1OSkscigyNjApLHQuZXhwb3J0cz1yKDkpfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigzKSxpPXIoMTMpLG89cig4KSx1PXIoMCksYz1yKDEwKSxhPXIoMjcpLktFWSxmPXIoMSkscz1yKDU5KSxsPXIoMzYpLGg9cigyOSksdj1yKDUpLHA9cig2MCksZD1yKDg2KSxnPXIoMTIwKSx5PXIoNjMpLG09cigyKSxiPXIoNCkseD1yKDE1KSx3PXIoMjYpLFM9cigyOCksXz1yKDMzKSxFPXIoODkpLE89cigxOCksRj1yKDcpLFA9cigzMSksST1PLmYsTT1GLmYsQT1FLmYsaj1lLlN5bWJvbCxUPWUuSlNPTixOPVQmJlQuc3RyaW5naWZ5LEw9dihcIl9oaWRkZW5cIiksaz12KFwidG9QcmltaXRpdmVcIiksUj17fS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxDPXMoXCJzeW1ib2wtcmVnaXN0cnlcIiksRD1zKFwic3ltYm9sc1wiKSxXPXMoXCJvcC1zeW1ib2xzXCIpLEI9T2JqZWN0LnByb3RvdHlwZSxVPVwiZnVuY3Rpb25cIj09dHlwZW9mIGosVj1lLlFPYmplY3QsRz0hVnx8IVYucHJvdG90eXBlfHwhVi5wcm90b3R5cGUuZmluZENoaWxkLEg9byYmZihmdW5jdGlvbigpe3JldHVybiA3IT1fKE0oe30sXCJhXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBNKHRoaXMsXCJhXCIse3ZhbHVlOjd9KS5hfX0pKS5hfSk/ZnVuY3Rpb24odCxuLHIpe3ZhciBlPUkoQixuKTtlJiZkZWxldGUgQltuXSxNKHQsbixyKSxlJiZ0IT09QiYmTShCLG4sZSl9Ok0sej1mdW5jdGlvbih0KXt2YXIgbj1EW3RdPV8oai5wcm90b3R5cGUpO3JldHVybiBuLl9rPXQsbn0sWT1VJiZcInN5bWJvbFwiPT10eXBlb2Ygai5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm5cInN5bWJvbFwiPT10eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBqfSxLPWZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gdD09PUImJksoVyxuLHIpLG0odCksbj13KG4sITApLG0ociksaShELG4pPyhyLmVudW1lcmFibGU/KGkodCxMKSYmdFtMXVtuXSYmKHRbTF1bbl09ITEpLHI9XyhyLHtlbnVtZXJhYmxlOlMoMCwhMSl9KSk6KGkodCxMKXx8TSh0LEwsUygxLHt9KSksdFtMXVtuXT0hMCksSCh0LG4scikpOk0odCxuLHIpfSxxPWZ1bmN0aW9uKHQsbil7bSh0KTtmb3IodmFyIHIsZT1nKG49eChuKSksaT0wLG89ZS5sZW5ndGg7bz5pOylLKHQscj1lW2krK10sbltyXSk7cmV0dXJuIHR9LEo9ZnVuY3Rpb24odCl7dmFyIG49Ui5jYWxsKHRoaXMsdD13KHQsITApKTtyZXR1cm4hKHRoaXM9PT1CJiZpKEQsdCkmJiFpKFcsdCkpJiYoIShufHwhaSh0aGlzLHQpfHwhaShELHQpfHxpKHRoaXMsTCkmJnRoaXNbTF1bdF0pfHxuKX0sJD1mdW5jdGlvbih0LG4pe2lmKHQ9eCh0KSxuPXcobiwhMCksdCE9PUJ8fCFpKEQsbil8fGkoVyxuKSl7dmFyIHI9SSh0LG4pO3JldHVybiFyfHwhaShELG4pfHxpKHQsTCkmJnRbTF1bbl18fChyLmVudW1lcmFibGU9ITApLHJ9fSxYPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbixyPUEoeCh0KSksZT1bXSxvPTA7ci5sZW5ndGg+bzspaShELG49cltvKytdKXx8bj09THx8bj09YXx8ZS5wdXNoKG4pO3JldHVybiBlfSxaPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbixyPXQ9PT1CLGU9QShyP1c6eCh0KSksbz1bXSx1PTA7ZS5sZW5ndGg+dTspIWkoRCxuPWVbdSsrXSl8fHImJiFpKEIsbil8fG8ucHVzaChEW25dKTtyZXR1cm4gb307VXx8KGMoKGo9ZnVuY3Rpb24oKXtpZih0aGlzIGluc3RhbmNlb2Ygail0aHJvdyBUeXBlRXJyb3IoXCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IhXCIpO3ZhciB0PWgoYXJndW1lbnRzLmxlbmd0aD4wP2FyZ3VtZW50c1swXTp2b2lkIDApLG49ZnVuY3Rpb24ocil7dGhpcz09PUImJm4uY2FsbChXLHIpLGkodGhpcyxMKSYmaSh0aGlzW0xdLHQpJiYodGhpc1tMXVt0XT0hMSksSCh0aGlzLHQsUygxLHIpKX07cmV0dXJuIG8mJkcmJkgoQix0LHtjb25maWd1cmFibGU6ITAsc2V0Om59KSx6KHQpfSkucHJvdG90eXBlLFwidG9TdHJpbmdcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLl9rfSksTy5mPSQsRi5mPUsscigzNCkuZj1FLmY9WCxyKDQ0KS5mPUoscig0OCkuZj1aLG8mJiFyKDMwKSYmYyhCLFwicHJvcGVydHlJc0VudW1lcmFibGVcIixKLCEwKSxwLmY9ZnVuY3Rpb24odCl7cmV0dXJuIHoodih0KSl9KSx1KHUuRyt1LlcrdS5GKiFVLHtTeW1ib2w6an0pO2Zvcih2YXIgUT1cImhhc0luc3RhbmNlLGlzQ29uY2F0U3ByZWFkYWJsZSxpdGVyYXRvcixtYXRjaCxyZXBsYWNlLHNlYXJjaCxzcGVjaWVzLHNwbGl0LHRvUHJpbWl0aXZlLHRvU3RyaW5nVGFnLHVuc2NvcGFibGVzXCIuc3BsaXQoXCIsXCIpLHR0PTA7US5sZW5ndGg+dHQ7KXYoUVt0dCsrXSk7Zm9yKHZhciBudD1QKHYuc3RvcmUpLHJ0PTA7bnQubGVuZ3RoPnJ0OylkKG50W3J0KytdKTt1KHUuUyt1LkYqIVUsXCJTeW1ib2xcIix7Zm9yOmZ1bmN0aW9uKHQpe3JldHVybiBpKEMsdCs9XCJcIik/Q1t0XTpDW3RdPWoodCl9LGtleUZvcjpmdW5jdGlvbih0KXtpZighWSh0KSl0aHJvdyBUeXBlRXJyb3IodCtcIiBpcyBub3QgYSBzeW1ib2whXCIpO2Zvcih2YXIgbiBpbiBDKWlmKENbbl09PT10KXJldHVybiBufSx1c2VTZXR0ZXI6ZnVuY3Rpb24oKXtHPSEwfSx1c2VTaW1wbGU6ZnVuY3Rpb24oKXtHPSExfX0pLHUodS5TK3UuRiohVSxcIk9iamVjdFwiLHtjcmVhdGU6ZnVuY3Rpb24odCxuKXtyZXR1cm4gdm9pZCAwPT09bj9fKHQpOnEoXyh0KSxuKX0sZGVmaW5lUHJvcGVydHk6SyxkZWZpbmVQcm9wZXJ0aWVzOnEsZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOiQsZ2V0T3duUHJvcGVydHlOYW1lczpYLGdldE93blByb3BlcnR5U3ltYm9sczpafSksVCYmdSh1LlMrdS5GKighVXx8ZihmdW5jdGlvbigpe3ZhciB0PWooKTtyZXR1cm5cIltudWxsXVwiIT1OKFt0XSl8fFwie31cIiE9Tih7YTp0fSl8fFwie31cIiE9TihPYmplY3QodCkpfSkpLFwiSlNPTlwiLHtzdHJpbmdpZnk6ZnVuY3Rpb24odCl7Zm9yKHZhciBuLHIsZT1bdF0saT0xO2FyZ3VtZW50cy5sZW5ndGg+aTspZS5wdXNoKGFyZ3VtZW50c1tpKytdKTtpZihyPW49ZVsxXSwoYihuKXx8dm9pZCAwIT09dCkmJiFZKHQpKXJldHVybiB5KG4pfHwobj1mdW5jdGlvbih0LG4pe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHImJihuPXIuY2FsbCh0aGlzLHQsbikpLCFZKG4pKXJldHVybiBufSksZVsxXT1uLE4uYXBwbHkoVCxlKX19KSxqLnByb3RvdHlwZVtrXXx8cigxNCkoai5wcm90b3R5cGUsayxqLnByb3RvdHlwZS52YWx1ZU9mKSxsKGosXCJTeW1ib2xcIiksbChNYXRoLFwiTWF0aFwiLCEwKSxsKGUuSlNPTixcIkpTT05cIiwhMCl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDMxKSxpPXIoNDgpLG89cig0NCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBuPWUodCkscj1pLmY7aWYocilmb3IodmFyIHUsYz1yKHQpLGE9by5mLGY9MDtjLmxlbmd0aD5mOylhLmNhbGwodCx1PWNbZisrXSkmJm4ucHVzaCh1KTtyZXR1cm4gbn19LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApO2UoZS5TLFwiT2JqZWN0XCIse2NyZWF0ZTpyKDMzKX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigwKTtlKGUuUytlLkYqIXIoOCksXCJPYmplY3RcIix7ZGVmaW5lUHJvcGVydHk6cig3KS5mfSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApO2UoZS5TK2UuRiohcig4KSxcIk9iamVjdFwiLHtkZWZpbmVQcm9wZXJ0aWVzOnIoODgpfSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE1KSxpPXIoMTgpLmY7cigxOSkoXCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JcIixmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0LG4pe3JldHVybiBpKGUodCksbil9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDExKSxpPXIoMzUpO3IoMTkpKFwiZ2V0UHJvdG90eXBlT2ZcIixmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gaShlKHQpKX19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTEpLGk9cigzMSk7cigxOSkoXCJrZXlzXCIsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGkoZSh0KSl9fSl9LGZ1bmN0aW9uKHQsbixyKXtyKDE5KShcImdldE93blByb3BlcnR5TmFtZXNcIixmdW5jdGlvbigpe3JldHVybiByKDg5KS5mfSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDQpLGk9cigyNykub25GcmVlemU7cigxOSkoXCJmcmVlemVcIixmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHQmJmUobik/dChpKG4pKTpufX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig0KSxpPXIoMjcpLm9uRnJlZXplO3IoMTkpKFwic2VhbFwiLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdCYmZShuKT90KGkobikpOm59fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDQpLGk9cigyNykub25GcmVlemU7cigxOSkoXCJwcmV2ZW50RXh0ZW5zaW9uc1wiLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdCYmZShuKT90KGkobikpOm59fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDQpO3IoMTkpKFwiaXNGcm96ZW5cIixmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIWUobil8fCEhdCYmdChuKX19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNCk7cigxOSkoXCJpc1NlYWxlZFwiLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4hZShuKXx8ISF0JiZ0KG4pfX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig0KTtyKDE5KShcImlzRXh0ZW5zaWJsZVwiLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4hIWUobikmJighdHx8dChuKSl9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApO2UoZS5TK2UuRixcIk9iamVjdFwiLHthc3NpZ246cig5MCl9KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCk7ZShlLlMsXCJPYmplY3RcIix7aXM6cig5MSl9KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCk7ZShlLlMsXCJPYmplY3RcIix7c2V0UHJvdG90eXBlT2Y6cig2NSkuc2V0fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDQ1KSxpPXt9O2lbcig1KShcInRvU3RyaW5nVGFnXCIpXT1cInpcIixpK1wiXCIhPVwiW29iamVjdCB6XVwiJiZyKDEwKShPYmplY3QucHJvdG90eXBlLFwidG9TdHJpbmdcIixmdW5jdGlvbigpe3JldHVyblwiW29iamVjdCBcIitlKHRoaXMpK1wiXVwifSwhMCl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApO2UoZS5QLFwiRnVuY3Rpb25cIix7YmluZDpyKDkyKX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig3KS5mLGk9RnVuY3Rpb24ucHJvdG90eXBlLG89L15cXHMqZnVuY3Rpb24gKFteIChdKikvO1wibmFtZVwiaW4gaXx8cig4KSYmZShpLFwibmFtZVwiLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7dHJ5e3JldHVybihcIlwiK3RoaXMpLm1hdGNoKG8pWzFdfWNhdGNoKHQpe3JldHVyblwiXCJ9fX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cig0KSxpPXIoMzUpLG89cig1KShcImhhc0luc3RhbmNlXCIpLHU9RnVuY3Rpb24ucHJvdG90eXBlO28gaW4gdXx8cig3KS5mKHUsbyx7dmFsdWU6ZnVuY3Rpb24odCl7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgdGhpc3x8IWUodCkpcmV0dXJuITE7aWYoIWUodGhpcy5wcm90b3R5cGUpKXJldHVybiB0IGluc3RhbmNlb2YgdGhpcztmb3IoO3Q9aSh0KTspaWYodGhpcy5wcm90b3R5cGU9PT10KXJldHVybiEwO3JldHVybiExfX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigwKSxpPXIoOTQpO2UoZS5HK2UuRioocGFyc2VJbnQhPWkpLHtwYXJzZUludDppfSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9cig5NSk7ZShlLkcrZS5GKihwYXJzZUZsb2F0IT1pKSx7cGFyc2VGbG9hdDppfSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDMpLGk9cigxMyksbz1yKDIzKSx1PXIoNjcpLGM9cigyNiksYT1yKDEpLGY9cigzNCkuZixzPXIoMTgpLmYsbD1yKDcpLmYsaD1yKDQ5KS50cmltLHY9ZS5OdW1iZXIscD12LGQ9di5wcm90b3R5cGUsZz1cIk51bWJlclwiPT1vKHIoMzMpKGQpKSx5PVwidHJpbVwiaW4gU3RyaW5nLnByb3RvdHlwZSxtPWZ1bmN0aW9uKHQpe3ZhciBuPWModCwhMSk7aWYoXCJzdHJpbmdcIj09dHlwZW9mIG4mJm4ubGVuZ3RoPjIpe3ZhciByLGUsaSxvPShuPXk/bi50cmltKCk6aChuLDMpKS5jaGFyQ29kZUF0KDApO2lmKDQzPT09b3x8NDU9PT1vKXtpZig4OD09PShyPW4uY2hhckNvZGVBdCgyKSl8fDEyMD09PXIpcmV0dXJuIE5hTn1lbHNlIGlmKDQ4PT09byl7c3dpdGNoKG4uY2hhckNvZGVBdCgxKSl7Y2FzZSA2NjpjYXNlIDk4OmU9MixpPTQ5O2JyZWFrO2Nhc2UgNzk6Y2FzZSAxMTE6ZT04LGk9NTU7YnJlYWs7ZGVmYXVsdDpyZXR1cm4rbn1mb3IodmFyIHUsYT1uLnNsaWNlKDIpLGY9MCxzPWEubGVuZ3RoO2Y8cztmKyspaWYoKHU9YS5jaGFyQ29kZUF0KGYpKTw0OHx8dT5pKXJldHVybiBOYU47cmV0dXJuIHBhcnNlSW50KGEsZSl9fXJldHVybitufTtpZighdihcIiAwbzFcIil8fCF2KFwiMGIxXCIpfHx2KFwiKzB4MVwiKSl7dj1mdW5jdGlvbih0KXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPDE/MDp0LHI9dGhpcztyZXR1cm4gciBpbnN0YW5jZW9mIHYmJihnP2EoZnVuY3Rpb24oKXtkLnZhbHVlT2YuY2FsbChyKX0pOlwiTnVtYmVyXCIhPW8ocikpP3UobmV3IHAobShuKSkscix2KTptKG4pfTtmb3IodmFyIGIseD1yKDgpP2YocCk6XCJNQVhfVkFMVUUsTUlOX1ZBTFVFLE5hTixORUdBVElWRV9JTkZJTklUWSxQT1NJVElWRV9JTkZJTklUWSxFUFNJTE9OLGlzRmluaXRlLGlzSW50ZWdlcixpc05hTixpc1NhZmVJbnRlZ2VyLE1BWF9TQUZFX0lOVEVHRVIsTUlOX1NBRkVfSU5URUdFUixwYXJzZUZsb2F0LHBhcnNlSW50LGlzSW50ZWdlclwiLnNwbGl0KFwiLFwiKSx3PTA7eC5sZW5ndGg+dzt3KyspaShwLGI9eFt3XSkmJiFpKHYsYikmJmwodixiLHMocCxiKSk7di5wcm90b3R5cGU9ZCxkLmNvbnN0cnVjdG9yPXYscigxMCkoZSxcIk51bWJlclwiLHYpfX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMCksaT1yKDE3KSxvPXIoOTYpLHU9cig2OCksYz0xLi50b0ZpeGVkLGE9TWF0aC5mbG9vcixmPVswLDAsMCwwLDAsMF0scz1cIk51bWJlci50b0ZpeGVkOiBpbmNvcnJlY3QgaW52b2NhdGlvbiFcIixsPWZ1bmN0aW9uKHQsbil7Zm9yKHZhciByPS0xLGU9bjsrK3I8NjspZSs9dCpmW3JdLGZbcl09ZSUxZTcsZT1hKGUvMWU3KX0saD1mdW5jdGlvbih0KXtmb3IodmFyIG49NixyPTA7LS1uPj0wOylyKz1mW25dLGZbbl09YShyL3QpLHI9ciV0KjFlN30sdj1mdW5jdGlvbigpe2Zvcih2YXIgdD02LG49XCJcIjstLXQ+PTA7KWlmKFwiXCIhPT1ufHwwPT09dHx8MCE9PWZbdF0pe3ZhciByPVN0cmluZyhmW3RdKTtuPVwiXCI9PT1uP3I6bit1LmNhbGwoXCIwXCIsNy1yLmxlbmd0aCkrcn1yZXR1cm4gbn0scD1mdW5jdGlvbih0LG4scil7cmV0dXJuIDA9PT1uP3I6biUyPT0xP3AodCxuLTEscip0KTpwKHQqdCxuLzIscil9O2UoZS5QK2UuRiooISFjJiYoXCIwLjAwMFwiIT09OGUtNS50b0ZpeGVkKDMpfHxcIjFcIiE9PS45LnRvRml4ZWQoMCl8fFwiMS4yNVwiIT09MS4yNTUudG9GaXhlZCgyKXx8XCIxMDAwMDAwMDAwMDAwMDAwMTI4XCIhPT0oMHhkZTBiNmIzYTc2NDAwODApLnRvRml4ZWQoMCkpfHwhcigxKShmdW5jdGlvbigpe2MuY2FsbCh7fSl9KSksXCJOdW1iZXJcIix7dG9GaXhlZDpmdW5jdGlvbih0KXt2YXIgbixyLGUsYyxhPW8odGhpcyxzKSxmPWkodCksZD1cIlwiLGc9XCIwXCI7aWYoZjwwfHxmPjIwKXRocm93IFJhbmdlRXJyb3Iocyk7aWYoYSE9YSlyZXR1cm5cIk5hTlwiO2lmKGE8PS0xZTIxfHxhPj0xZTIxKXJldHVybiBTdHJpbmcoYSk7aWYoYTwwJiYoZD1cIi1cIixhPS1hKSxhPjFlLTIxKWlmKHI9KG49ZnVuY3Rpb24odCl7Zm9yKHZhciBuPTAscj10O3I+PTQwOTY7KW4rPTEyLHIvPTQwOTY7Zm9yKDtyPj0yOyluKz0xLHIvPTI7cmV0dXJuIG59KGEqcCgyLDY5LDEpKS02OSk8MD9hKnAoMiwtbiwxKTphL3AoMixuLDEpLHIqPTQ1MDM1OTk2MjczNzA0OTYsKG49NTItbik+MCl7Zm9yKGwoMCxyKSxlPWY7ZT49NzspbCgxZTcsMCksZS09Nztmb3IobChwKDEwLGUsMSksMCksZT1uLTE7ZT49MjM7KWgoMTw8MjMpLGUtPTIzO2goMTw8ZSksbCgxLDEpLGgoMiksZz12KCl9ZWxzZSBsKDAsciksbCgxPDwtbiwwKSxnPXYoKSt1LmNhbGwoXCIwXCIsZik7cmV0dXJuIGc9Zj4wP2QrKChjPWcubGVuZ3RoKTw9Zj9cIjAuXCIrdS5jYWxsKFwiMFwiLGYtYykrZzpnLnNsaWNlKDAsYy1mKStcIi5cIitnLnNsaWNlKGMtZikpOmQrZ319KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMCksaT1yKDEpLG89cig5NiksdT0xLi50b1ByZWNpc2lvbjtlKGUuUCtlLkYqKGkoZnVuY3Rpb24oKXtyZXR1cm5cIjFcIiE9PXUuY2FsbCgxLHZvaWQgMCl9KXx8IWkoZnVuY3Rpb24oKXt1LmNhbGwoe30pfSkpLFwiTnVtYmVyXCIse3RvUHJlY2lzaW9uOmZ1bmN0aW9uKHQpe3ZhciBuPW8odGhpcyxcIk51bWJlciN0b1ByZWNpc2lvbjogaW5jb3JyZWN0IGludm9jYXRpb24hXCIpO3JldHVybiB2b2lkIDA9PT10P3UuY2FsbChuKTp1LmNhbGwobix0KX19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCk7ZShlLlMsXCJOdW1iZXJcIix7RVBTSUxPTjpNYXRoLnBvdygyLC01Mil9KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCksaT1yKDMpLmlzRmluaXRlO2UoZS5TLFwiTnVtYmVyXCIse2lzRmluaXRlOmZ1bmN0aW9uKHQpe3JldHVyblwibnVtYmVyXCI9PXR5cGVvZiB0JiZpKHQpfX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigwKTtlKGUuUyxcIk51bWJlclwiLHtpc0ludGVnZXI6cig5Nyl9KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCk7ZShlLlMsXCJOdW1iZXJcIix7aXNOYU46ZnVuY3Rpb24odCl7cmV0dXJuIHQhPXR9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9cig5Nyksbz1NYXRoLmFicztlKGUuUyxcIk51bWJlclwiLHtpc1NhZmVJbnRlZ2VyOmZ1bmN0aW9uKHQpe3JldHVybiBpKHQpJiZvKHQpPD05MDA3MTk5MjU0NzQwOTkxfX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigwKTtlKGUuUyxcIk51bWJlclwiLHtNQVhfU0FGRV9JTlRFR0VSOjkwMDcxOTkyNTQ3NDA5OTF9KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCk7ZShlLlMsXCJOdW1iZXJcIix7TUlOX1NBRkVfSU5URUdFUjotOTAwNzE5OTI1NDc0MDk5MX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigwKSxpPXIoOTUpO2UoZS5TK2UuRiooTnVtYmVyLnBhcnNlRmxvYXQhPWkpLFwiTnVtYmVyXCIse3BhcnNlRmxvYXQ6aX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigwKSxpPXIoOTQpO2UoZS5TK2UuRiooTnVtYmVyLnBhcnNlSW50IT1pKSxcIk51bWJlclwiLHtwYXJzZUludDppfSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9cig5OCksbz1NYXRoLnNxcnQsdT1NYXRoLmFjb3NoO2UoZS5TK2UuRiohKHUmJjcxMD09TWF0aC5mbG9vcih1KE51bWJlci5NQVhfVkFMVUUpKSYmdSgxLzApPT0xLzApLFwiTWF0aFwiLHthY29zaDpmdW5jdGlvbih0KXtyZXR1cm4odD0rdCk8MT9OYU46dD45NDkwNjI2NS42MjQyNTE1Nj9NYXRoLmxvZyh0KStNYXRoLkxOMjppKHQtMStvKHQtMSkqbyh0KzEpKX19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCksaT1NYXRoLmFzaW5oO2UoZS5TK2UuRiohKGkmJjEvaSgwKT4wKSxcIk1hdGhcIix7YXNpbmg6ZnVuY3Rpb24gdChuKXtyZXR1cm4gaXNGaW5pdGUobj0rbikmJjAhPW4/bjwwPy10KC1uKTpNYXRoLmxvZyhuK01hdGguc3FydChuKm4rMSkpOm59fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9TWF0aC5hdGFuaDtlKGUuUytlLkYqIShpJiYxL2koLTApPDApLFwiTWF0aFwiLHthdGFuaDpmdW5jdGlvbih0KXtyZXR1cm4gMD09KHQ9K3QpP3Q6TWF0aC5sb2coKDErdCkvKDEtdCkpLzJ9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9cig2OSk7ZShlLlMsXCJNYXRoXCIse2NicnQ6ZnVuY3Rpb24odCl7cmV0dXJuIGkodD0rdCkqTWF0aC5wb3coTWF0aC5hYnModCksMS8zKX19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCk7ZShlLlMsXCJNYXRoXCIse2NsejMyOmZ1bmN0aW9uKHQpe3JldHVybih0Pj4+PTApPzMxLU1hdGguZmxvb3IoTWF0aC5sb2codCsuNSkqTWF0aC5MT0cyRSk6MzJ9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9TWF0aC5leHA7ZShlLlMsXCJNYXRoXCIse2Nvc2g6ZnVuY3Rpb24odCl7cmV0dXJuKGkodD0rdCkraSgtdCkpLzJ9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9cig3MCk7ZShlLlMrZS5GKihpIT1NYXRoLmV4cG0xKSxcIk1hdGhcIix7ZXhwbTE6aX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigwKTtlKGUuUyxcIk1hdGhcIix7ZnJvdW5kOnIoMTYzKX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig2OSksaT1NYXRoLnBvdyxvPWkoMiwtNTIpLHU9aSgyLC0yMyksYz1pKDIsMTI3KSooMi11KSxhPWkoMiwtMTI2KTt0LmV4cG9ydHM9TWF0aC5mcm91bmR8fGZ1bmN0aW9uKHQpe3ZhciBuLHIsaT1NYXRoLmFicyh0KSxmPWUodCk7cmV0dXJuIGk8YT9mKihpL2EvdSsxL28tMS9vKSphKnU6KHI9KG49KDErdS9vKSppKS0obi1pKSk+Y3x8ciE9cj9mKigxLzApOmYqcn19LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9TWF0aC5hYnM7ZShlLlMsXCJNYXRoXCIse2h5cG90OmZ1bmN0aW9uKHQsbil7Zm9yKHZhciByLGUsbz0wLHU9MCxjPWFyZ3VtZW50cy5sZW5ndGgsYT0wO3U8YzspYTwocj1pKGFyZ3VtZW50c1t1KytdKSk/KG89byooZT1hL3IpKmUrMSxhPXIpOm8rPXI+MD8oZT1yL2EpKmU6cjtyZXR1cm4gYT09PTEvMD8xLzA6YSpNYXRoLnNxcnQobyl9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9TWF0aC5pbXVsO2UoZS5TK2UuRipyKDEpKGZ1bmN0aW9uKCl7cmV0dXJuLTUhPWkoNDI5NDk2NzI5NSw1KXx8MiE9aS5sZW5ndGh9KSxcIk1hdGhcIix7aW11bDpmdW5jdGlvbih0LG4pe3ZhciByPSt0LGU9K24saT02NTUzNSZyLG89NjU1MzUmZTtyZXR1cm4gMHxpKm8rKCg2NTUzNSZyPj4+MTYpKm8raSooNjU1MzUmZT4+PjE2KTw8MTY+Pj4wKX19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCk7ZShlLlMsXCJNYXRoXCIse2xvZzEwOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLmxvZyh0KSpNYXRoLkxPRzEwRX19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCk7ZShlLlMsXCJNYXRoXCIse2xvZzFwOnIoOTgpfSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApO2UoZS5TLFwiTWF0aFwiLHtsb2cyOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLmxvZyh0KS9NYXRoLkxOMn19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCk7ZShlLlMsXCJNYXRoXCIse3NpZ246cig2OSl9KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCksaT1yKDcwKSxvPU1hdGguZXhwO2UoZS5TK2UuRipyKDEpKGZ1bmN0aW9uKCl7cmV0dXJuLTJlLTE3IT0hTWF0aC5zaW5oKC0yZS0xNyl9KSxcIk1hdGhcIix7c2luaDpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5hYnModD0rdCk8MT8oaSh0KS1pKC10KSkvMjoobyh0LTEpLW8oLXQtMSkpKihNYXRoLkUvMil9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9cig3MCksbz1NYXRoLmV4cDtlKGUuUyxcIk1hdGhcIix7dGFuaDpmdW5jdGlvbih0KXt2YXIgbj1pKHQ9K3QpLHI9aSgtdCk7cmV0dXJuIG49PTEvMD8xOnI9PTEvMD8tMToobi1yKS8obyh0KStvKC10KSl9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApO2UoZS5TLFwiTWF0aFwiLHt0cnVuYzpmdW5jdGlvbih0KXtyZXR1cm4odD4wP01hdGguZmxvb3I6TWF0aC5jZWlsKSh0KX19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCksaT1yKDMyKSxvPVN0cmluZy5mcm9tQ2hhckNvZGUsdT1TdHJpbmcuZnJvbUNvZGVQb2ludDtlKGUuUytlLkYqKCEhdSYmMSE9dS5sZW5ndGgpLFwiU3RyaW5nXCIse2Zyb21Db2RlUG9pbnQ6ZnVuY3Rpb24odCl7Zm9yKHZhciBuLHI9W10sZT1hcmd1bWVudHMubGVuZ3RoLHU9MDtlPnU7KXtpZihuPSthcmd1bWVudHNbdSsrXSxpKG4sMTExNDExMSkhPT1uKXRocm93IFJhbmdlRXJyb3IobitcIiBpcyBub3QgYSB2YWxpZCBjb2RlIHBvaW50XCIpO3IucHVzaChuPDY1NTM2P28obik6byg1NTI5NisoKG4tPTY1NTM2KT4+MTApLG4lMTAyNCs1NjMyMCkpfXJldHVybiByLmpvaW4oXCJcIil9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9cigxNSksbz1yKDYpO2UoZS5TLFwiU3RyaW5nXCIse3JhdzpmdW5jdGlvbih0KXtmb3IodmFyIG49aSh0LnJhdykscj1vKG4ubGVuZ3RoKSxlPWFyZ3VtZW50cy5sZW5ndGgsdT1bXSxjPTA7cj5jOyl1LnB1c2goU3RyaW5nKG5bYysrXSkpLGM8ZSYmdS5wdXNoKFN0cmluZyhhcmd1bWVudHNbY10pKTtyZXR1cm4gdS5qb2luKFwiXCIpfX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7cig0OSkoXCJ0cmltXCIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcywzKX19KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoNzEpKCEwKTtyKDcyKShTdHJpbmcsXCJTdHJpbmdcIixmdW5jdGlvbih0KXt0aGlzLl90PVN0cmluZyh0KSx0aGlzLl9pPTB9LGZ1bmN0aW9uKCl7dmFyIHQsbj10aGlzLl90LHI9dGhpcy5faTtyZXR1cm4gcj49bi5sZW5ndGg/e3ZhbHVlOnZvaWQgMCxkb25lOiEwfToodD1lKG4sciksdGhpcy5faSs9dC5sZW5ndGgse3ZhbHVlOnQsZG9uZTohMX0pfSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDApLGk9cig3MSkoITEpO2UoZS5QLFwiU3RyaW5nXCIse2NvZGVQb2ludEF0OmZ1bmN0aW9uKHQpe3JldHVybiBpKHRoaXMsdCl9fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDApLGk9cig2KSxvPXIoNzMpLHU9XCJcIi5lbmRzV2l0aDtlKGUuUCtlLkYqcig3NSkoXCJlbmRzV2l0aFwiKSxcIlN0cmluZ1wiLHtlbmRzV2l0aDpmdW5jdGlvbih0KXt2YXIgbj1vKHRoaXMsdCxcImVuZHNXaXRoXCIpLHI9YXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsZT1pKG4ubGVuZ3RoKSxjPXZvaWQgMD09PXI/ZTpNYXRoLm1pbihpKHIpLGUpLGE9U3RyaW5nKHQpO3JldHVybiB1P3UuY2FsbChuLGEsYyk6bi5zbGljZShjLWEubGVuZ3RoLGMpPT09YX19KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMCksaT1yKDczKTtlKGUuUCtlLkYqcig3NSkoXCJpbmNsdWRlc1wiKSxcIlN0cmluZ1wiLHtpbmNsdWRlczpmdW5jdGlvbih0KXtyZXR1cm4hIX5pKHRoaXMsdCxcImluY2x1ZGVzXCIpLmluZGV4T2YodCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApO2UoZS5QLFwiU3RyaW5nXCIse3JlcGVhdDpyKDY4KX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigwKSxpPXIoNiksbz1yKDczKSx1PVwiXCIuc3RhcnRzV2l0aDtlKGUuUCtlLkYqcig3NSkoXCJzdGFydHNXaXRoXCIpLFwiU3RyaW5nXCIse3N0YXJ0c1dpdGg6ZnVuY3Rpb24odCl7dmFyIG49byh0aGlzLHQsXCJzdGFydHNXaXRoXCIpLHI9aShNYXRoLm1pbihhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCxuLmxlbmd0aCkpLGU9U3RyaW5nKHQpO3JldHVybiB1P3UuY2FsbChuLGUscik6bi5zbGljZShyLHIrZS5sZW5ndGgpPT09ZX19KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3IoMTIpKFwiYW5jaG9yXCIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0KHRoaXMsXCJhXCIsXCJuYW1lXCIsbil9fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjtyKDEyKShcImJpZ1wiLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0KHRoaXMsXCJiaWdcIixcIlwiLFwiXCIpfX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7cigxMikoXCJibGlua1wiLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0KHRoaXMsXCJibGlua1wiLFwiXCIsXCJcIil9fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjtyKDEyKShcImJvbGRcIixmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdCh0aGlzLFwiYlwiLFwiXCIsXCJcIil9fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjtyKDEyKShcImZpeGVkXCIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcyxcInR0XCIsXCJcIixcIlwiKX19KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3IoMTIpKFwiZm9udGNvbG9yXCIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0KHRoaXMsXCJmb250XCIsXCJjb2xvclwiLG4pfX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7cigxMikoXCJmb250c2l6ZVwiLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdCh0aGlzLFwiZm9udFwiLFwic2l6ZVwiLG4pfX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7cigxMikoXCJpdGFsaWNzXCIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcyxcImlcIixcIlwiLFwiXCIpfX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7cigxMikoXCJsaW5rXCIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0KHRoaXMsXCJhXCIsXCJocmVmXCIsbil9fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjtyKDEyKShcInNtYWxsXCIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcyxcInNtYWxsXCIsXCJcIixcIlwiKX19KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3IoMTIpKFwic3RyaWtlXCIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcyxcInN0cmlrZVwiLFwiXCIsXCJcIil9fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjtyKDEyKShcInN1YlwiLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0KHRoaXMsXCJzdWJcIixcIlwiLFwiXCIpfX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7cigxMikoXCJzdXBcIixmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdCh0aGlzLFwic3VwXCIsXCJcIixcIlwiKX19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCk7ZShlLlMsXCJEYXRlXCIse25vdzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigwKSxpPXIoMTEpLG89cigyNik7ZShlLlArZS5GKnIoMSkoZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9PW5ldyBEYXRlKE5hTikudG9KU09OKCl8fDEhPT1EYXRlLnByb3RvdHlwZS50b0pTT04uY2FsbCh7dG9JU09TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMX19KX0pLFwiRGF0ZVwiLHt0b0pTT046ZnVuY3Rpb24odCl7dmFyIG49aSh0aGlzKSxyPW8obik7cmV0dXJuXCJudW1iZXJcIiE9dHlwZW9mIHJ8fGlzRmluaXRlKHIpP24udG9JU09TdHJpbmcoKTpudWxsfX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigwKSxpPXIoMTk4KTtlKGUuUCtlLkYqKERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nIT09aSksXCJEYXRlXCIse3RvSVNPU3RyaW5nOml9KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMSksaT1EYXRlLnByb3RvdHlwZS5nZXRUaW1lLG89RGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcsdT1mdW5jdGlvbih0KXtyZXR1cm4gdD45P3Q6XCIwXCIrdH07dC5leHBvcnRzPWUoZnVuY3Rpb24oKXtyZXR1cm5cIjAzODUtMDctMjVUMDc6MDY6MzkuOTk5WlwiIT1vLmNhbGwobmV3IERhdGUoLTVlMTMtMSkpfSl8fCFlKGZ1bmN0aW9uKCl7by5jYWxsKG5ldyBEYXRlKE5hTikpfSk/ZnVuY3Rpb24oKXtpZighaXNGaW5pdGUoaS5jYWxsKHRoaXMpKSl0aHJvdyBSYW5nZUVycm9yKFwiSW52YWxpZCB0aW1lIHZhbHVlXCIpO3ZhciB0PXRoaXMsbj10LmdldFVUQ0Z1bGxZZWFyKCkscj10LmdldFVUQ01pbGxpc2Vjb25kcygpLGU9bjwwP1wiLVwiOm4+OTk5OT9cIitcIjpcIlwiO3JldHVybiBlKyhcIjAwMDAwXCIrTWF0aC5hYnMobikpLnNsaWNlKGU/LTY6LTQpK1wiLVwiK3UodC5nZXRVVENNb250aCgpKzEpK1wiLVwiK3UodC5nZXRVVENEYXRlKCkpK1wiVFwiK3UodC5nZXRVVENIb3VycygpKStcIjpcIit1KHQuZ2V0VVRDTWludXRlcygpKStcIjpcIit1KHQuZ2V0VVRDU2Vjb25kcygpKStcIi5cIisocj45OT9yOlwiMFwiK3UocikpK1wiWlwifTpvfSxmdW5jdGlvbih0LG4scil7dmFyIGU9RGF0ZS5wcm90b3R5cGUsaT1lLnRvU3RyaW5nLG89ZS5nZXRUaW1lO25ldyBEYXRlKE5hTikrXCJcIiE9XCJJbnZhbGlkIERhdGVcIiYmcigxMCkoZSxcInRvU3RyaW5nXCIsZnVuY3Rpb24oKXt2YXIgdD1vLmNhbGwodGhpcyk7cmV0dXJuIHQ9PXQ/aS5jYWxsKHRoaXMpOlwiSW52YWxpZCBEYXRlXCJ9KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNSkoXCJ0b1ByaW1pdGl2ZVwiKSxpPURhdGUucHJvdG90eXBlO2UgaW4gaXx8cigxNCkoaSxlLHIoMjAxKSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDIpLGk9cigyNik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKFwic3RyaW5nXCIhPT10JiZcIm51bWJlclwiIT09dCYmXCJkZWZhdWx0XCIhPT10KXRocm93IFR5cGVFcnJvcihcIkluY29ycmVjdCBoaW50XCIpO3JldHVybiBpKGUodGhpcyksXCJudW1iZXJcIiE9dCl9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigwKTtlKGUuUyxcIkFycmF5XCIse2lzQXJyYXk6cig2Myl9KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMjEpLGk9cigwKSxvPXIoMTEpLHU9cigxMDApLGM9cig3NiksYT1yKDYpLGY9cig3Nykscz1yKDc4KTtpKGkuUytpLkYqIXIoNTApKGZ1bmN0aW9uKHQpe0FycmF5LmZyb20odCl9KSxcIkFycmF5XCIse2Zyb206ZnVuY3Rpb24odCl7dmFyIG4scixpLGwsaD1vKHQpLHY9XCJmdW5jdGlvblwiPT10eXBlb2YgdGhpcz90aGlzOkFycmF5LHA9YXJndW1lbnRzLmxlbmd0aCxkPXA+MT9hcmd1bWVudHNbMV06dm9pZCAwLGc9dm9pZCAwIT09ZCx5PTAsbT1zKGgpO2lmKGcmJihkPWUoZCxwPjI/YXJndW1lbnRzWzJdOnZvaWQgMCwyKSksbnVsbD09bXx8dj09QXJyYXkmJmMobSkpZm9yKHI9bmV3IHYobj1hKGgubGVuZ3RoKSk7bj55O3krKylmKHIseSxnP2QoaFt5XSx5KTpoW3ldKTtlbHNlIGZvcihsPW0uY2FsbChoKSxyPW5ldyB2OyEoaT1sLm5leHQoKSkuZG9uZTt5KyspZihyLHksZz91KGwsZCxbaS52YWx1ZSx5XSwhMCk6aS52YWx1ZSk7cmV0dXJuIHIubGVuZ3RoPXkscn19KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMCksaT1yKDc3KTtlKGUuUytlLkYqcigxKShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIShBcnJheS5vZi5jYWxsKHQpaW5zdGFuY2VvZiB0KX0pLFwiQXJyYXlcIix7b2Y6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MCxuPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcoXCJmdW5jdGlvblwiPT10eXBlb2YgdGhpcz90aGlzOkFycmF5KShuKTtuPnQ7KWkocix0LGFyZ3VtZW50c1t0KytdKTtyZXR1cm4gci5sZW5ndGg9bixyfX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigwKSxpPXIoMTUpLG89W10uam9pbjtlKGUuUCtlLkYqKHIoNDMpIT1PYmplY3R8fCFyKDE2KShvKSksXCJBcnJheVwiLHtqb2luOmZ1bmN0aW9uKHQpe3JldHVybiBvLmNhbGwoaSh0aGlzKSx2b2lkIDA9PT10P1wiLFwiOnQpfX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigwKSxpPXIoNjQpLG89cigyMyksdT1yKDMyKSxjPXIoNiksYT1bXS5zbGljZTtlKGUuUCtlLkYqcigxKShmdW5jdGlvbigpe2kmJmEuY2FsbChpKX0pLFwiQXJyYXlcIix7c2xpY2U6ZnVuY3Rpb24odCxuKXt2YXIgcj1jKHRoaXMubGVuZ3RoKSxlPW8odGhpcyk7aWYobj12b2lkIDA9PT1uP3I6bixcIkFycmF5XCI9PWUpcmV0dXJuIGEuY2FsbCh0aGlzLHQsbik7Zm9yKHZhciBpPXUodCxyKSxmPXUobixyKSxzPWMoZi1pKSxsPW5ldyBBcnJheShzKSxoPTA7aDxzO2grKylsW2hdPVwiU3RyaW5nXCI9PWU/dGhpcy5jaGFyQXQoaStoKTp0aGlzW2kraF07cmV0dXJuIGx9fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDApLGk9cigyMiksbz1yKDExKSx1PXIoMSksYz1bXS5zb3J0LGE9WzEsMiwzXTtlKGUuUCtlLkYqKHUoZnVuY3Rpb24oKXthLnNvcnQodm9pZCAwKX0pfHwhdShmdW5jdGlvbigpe2Euc29ydChudWxsKX0pfHwhcigxNikoYykpLFwiQXJyYXlcIix7c29ydDpmdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dD9jLmNhbGwobyh0aGlzKSk6Yy5jYWxsKG8odGhpcyksaSh0KSl9fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDApLGk9cigyMCkoMCksbz1yKDE2KShbXS5mb3JFYWNoLCEwKTtlKGUuUCtlLkYqIW8sXCJBcnJheVwiLHtmb3JFYWNoOmZ1bmN0aW9uKHQpe3JldHVybiBpKHRoaXMsdCxhcmd1bWVudHNbMV0pfX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigyMTApO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4pe3JldHVybiBuZXcoZSh0KSkobil9fSxmdW5jdGlvbih0LG4scil7dmFyIGU9cig0KSxpPXIoNjMpLG89cig1KShcInNwZWNpZXNcIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBuO3JldHVybiBpKHQpJiYoXCJmdW5jdGlvblwiIT10eXBlb2Yobj10LmNvbnN0cnVjdG9yKXx8biE9PUFycmF5JiYhaShuLnByb3RvdHlwZSl8fChuPXZvaWQgMCksZShuKSYmbnVsbD09PShuPW5bb10pJiYobj12b2lkIDApKSx2b2lkIDA9PT1uP0FycmF5Om59fSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigwKSxpPXIoMjApKDEpO2UoZS5QK2UuRiohcigxNikoW10ubWFwLCEwKSxcIkFycmF5XCIse21hcDpmdW5jdGlvbih0KXtyZXR1cm4gaSh0aGlzLHQsYXJndW1lbnRzWzFdKX19KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMCksaT1yKDIwKSgyKTtlKGUuUCtlLkYqIXIoMTYpKFtdLmZpbHRlciwhMCksXCJBcnJheVwiLHtmaWx0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIGkodGhpcyx0LGFyZ3VtZW50c1sxXSl9fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDApLGk9cigyMCkoMyk7ZShlLlArZS5GKiFyKDE2KShbXS5zb21lLCEwKSxcIkFycmF5XCIse3NvbWU6ZnVuY3Rpb24odCl7cmV0dXJuIGkodGhpcyx0LGFyZ3VtZW50c1sxXSl9fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDApLGk9cigyMCkoNCk7ZShlLlArZS5GKiFyKDE2KShbXS5ldmVyeSwhMCksXCJBcnJheVwiLHtldmVyeTpmdW5jdGlvbih0KXtyZXR1cm4gaSh0aGlzLHQsYXJndW1lbnRzWzFdKX19KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMCksaT1yKDEwMSk7ZShlLlArZS5GKiFyKDE2KShbXS5yZWR1Y2UsITApLFwiQXJyYXlcIix7cmVkdWNlOmZ1bmN0aW9uKHQpe3JldHVybiBpKHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoLGFyZ3VtZW50c1sxXSwhMSl9fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDApLGk9cigxMDEpO2UoZS5QK2UuRiohcigxNikoW10ucmVkdWNlUmlnaHQsITApLFwiQXJyYXlcIix7cmVkdWNlUmlnaHQ6ZnVuY3Rpb24odCl7cmV0dXJuIGkodGhpcyx0LGFyZ3VtZW50cy5sZW5ndGgsYXJndW1lbnRzWzFdLCEwKX19KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMCksaT1yKDQ3KSghMSksbz1bXS5pbmRleE9mLHU9ISFvJiYxL1sxXS5pbmRleE9mKDEsLTApPDA7ZShlLlArZS5GKih1fHwhcigxNikobykpLFwiQXJyYXlcIix7aW5kZXhPZjpmdW5jdGlvbih0KXtyZXR1cm4gdT9vLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8MDppKHRoaXMsdCxhcmd1bWVudHNbMV0pfX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigwKSxpPXIoMTUpLG89cigxNyksdT1yKDYpLGM9W10ubGFzdEluZGV4T2YsYT0hIWMmJjEvWzFdLmxhc3RJbmRleE9mKDEsLTApPDA7ZShlLlArZS5GKihhfHwhcigxNikoYykpLFwiQXJyYXlcIix7bGFzdEluZGV4T2Y6ZnVuY3Rpb24odCl7aWYoYSlyZXR1cm4gYy5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fDA7dmFyIG49aSh0aGlzKSxyPXUobi5sZW5ndGgpLGU9ci0xO2Zvcihhcmd1bWVudHMubGVuZ3RoPjEmJihlPU1hdGgubWluKGUsbyhhcmd1bWVudHNbMV0pKSksZTwwJiYoZT1yK2UpO2U+PTA7ZS0tKWlmKGUgaW4gbiYmbltlXT09PXQpcmV0dXJuIGV8fDA7cmV0dXJuLTF9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApO2UoZS5QLFwiQXJyYXlcIix7Y29weVdpdGhpbjpyKDEwMil9KSxyKDM4KShcImNvcHlXaXRoaW5cIil9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApO2UoZS5QLFwiQXJyYXlcIix7ZmlsbDpyKDc5KX0pLHIoMzgpKFwiZmlsbFwiKX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMCksaT1yKDIwKSg1KSxvPSEwO1wiZmluZFwiaW5bXSYmQXJyYXkoMSkuZmluZChmdW5jdGlvbigpe289ITF9KSxlKGUuUCtlLkYqbyxcIkFycmF5XCIse2ZpbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIGkodGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KSxyKDM4KShcImZpbmRcIil9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDApLGk9cigyMCkoNiksbz1cImZpbmRJbmRleFwiLHU9ITA7byBpbltdJiZBcnJheSgxKVtvXShmdW5jdGlvbigpe3U9ITF9KSxlKGUuUCtlLkYqdSxcIkFycmF5XCIse2ZpbmRJbmRleDpmdW5jdGlvbih0KXtyZXR1cm4gaSh0aGlzLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfX0pLHIoMzgpKG8pfSxmdW5jdGlvbih0LG4scil7cigzOSkoXCJBcnJheVwiKX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMyksaT1yKDY3KSxvPXIoNykuZix1PXIoMzQpLmYsYz1yKDc0KSxhPXIoNTEpLGY9ZS5SZWdFeHAscz1mLGw9Zi5wcm90b3R5cGUsaD0vYS9nLHY9L2EvZyxwPW5ldyBmKGgpIT09aDtpZihyKDgpJiYoIXB8fHIoMSkoZnVuY3Rpb24oKXtyZXR1cm4gdltyKDUpKFwibWF0Y2hcIildPSExLGYoaCkhPWh8fGYodik9PXZ8fFwiL2EvaVwiIT1mKGgsXCJpXCIpfSkpKXtmPWZ1bmN0aW9uKHQsbil7dmFyIHI9dGhpcyBpbnN0YW5jZW9mIGYsZT1jKHQpLG89dm9pZCAwPT09bjtyZXR1cm4hciYmZSYmdC5jb25zdHJ1Y3Rvcj09PWYmJm8/dDppKHA/bmV3IHMoZSYmIW8/dC5zb3VyY2U6dCxuKTpzKChlPXQgaW5zdGFuY2VvZiBmKT90LnNvdXJjZTp0LGUmJm8/YS5jYWxsKHQpOm4pLHI/dGhpczpsLGYpfTtmb3IodmFyIGQ9ZnVuY3Rpb24odCl7dCBpbiBmfHxvKGYsdCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBzW3RdfSxzZXQ6ZnVuY3Rpb24obil7c1t0XT1ufX0pfSxnPXUocykseT0wO2cubGVuZ3RoPnk7KWQoZ1t5KytdKTtsLmNvbnN0cnVjdG9yPWYsZi5wcm90b3R5cGU9bCxyKDEwKShlLFwiUmVnRXhwXCIsZil9cigzOSkoXCJSZWdFeHBcIil9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjtyKDEwNSk7dmFyIGU9cigyKSxpPXIoNTEpLG89cig4KSx1PS8uLy50b1N0cmluZyxjPWZ1bmN0aW9uKHQpe3IoMTApKFJlZ0V4cC5wcm90b3R5cGUsXCJ0b1N0cmluZ1wiLHQsITApfTtyKDEpKGZ1bmN0aW9uKCl7cmV0dXJuXCIvYS9iXCIhPXUuY2FsbCh7c291cmNlOlwiYVwiLGZsYWdzOlwiYlwifSl9KT9jKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTtyZXR1cm5cIi9cIi5jb25jYXQodC5zb3VyY2UsXCIvXCIsXCJmbGFnc1wiaW4gdD90LmZsYWdzOiFvJiZ0IGluc3RhbmNlb2YgUmVnRXhwP2kuY2FsbCh0KTp2b2lkIDApfSk6XCJ0b1N0cmluZ1wiIT11Lm5hbWUmJmMoZnVuY3Rpb24oKXtyZXR1cm4gdS5jYWxsKHRoaXMpfSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDIpLGk9cig2KSxvPXIoODIpLHU9cig1Mik7cig1MykoXCJtYXRjaFwiLDEsZnVuY3Rpb24odCxuLHIsYyl7cmV0dXJuW2Z1bmN0aW9uKHIpe3ZhciBlPXQodGhpcyksaT1udWxsPT1yP3ZvaWQgMDpyW25dO3JldHVybiB2b2lkIDAhPT1pP2kuY2FsbChyLGUpOm5ldyBSZWdFeHAocilbbl0oU3RyaW5nKGUpKX0sZnVuY3Rpb24odCl7dmFyIG49YyhyLHQsdGhpcyk7aWYobi5kb25lKXJldHVybiBuLnZhbHVlO3ZhciBhPWUodCksZj1TdHJpbmcodGhpcyk7aWYoIWEuZ2xvYmFsKXJldHVybiB1KGEsZik7dmFyIHM9YS51bmljb2RlO2EubGFzdEluZGV4PTA7Zm9yKHZhciBsLGg9W10sdj0wO251bGwhPT0obD11KGEsZikpOyl7dmFyIHA9U3RyaW5nKGxbMF0pO2hbdl09cCxcIlwiPT09cCYmKGEubGFzdEluZGV4PW8oZixpKGEubGFzdEluZGV4KSxzKSksdisrfXJldHVybiAwPT09dj9udWxsOmh9XX0pfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigyKSxpPXIoMTEpLG89cig2KSx1PXIoMTcpLGM9cig4MiksYT1yKDUyKSxmPU1hdGgubWF4LHM9TWF0aC5taW4sbD1NYXRoLmZsb29yLGg9L1xcJChbJCZgJ118XFxkXFxkP3w8W14+XSo+KS9nLHY9L1xcJChbJCZgJ118XFxkXFxkPykvZztyKDUzKShcInJlcGxhY2VcIiwyLGZ1bmN0aW9uKHQsbixyLHApe3JldHVybltmdW5jdGlvbihlLGkpe3ZhciBvPXQodGhpcyksdT1udWxsPT1lP3ZvaWQgMDplW25dO3JldHVybiB2b2lkIDAhPT11P3UuY2FsbChlLG8saSk6ci5jYWxsKFN0cmluZyhvKSxlLGkpfSxmdW5jdGlvbih0LG4pe3ZhciBpPXAocix0LHRoaXMsbik7aWYoaS5kb25lKXJldHVybiBpLnZhbHVlO3ZhciBsPWUodCksaD1TdHJpbmcodGhpcyksdj1cImZ1bmN0aW9uXCI9PXR5cGVvZiBuO3Z8fChuPVN0cmluZyhuKSk7dmFyIGc9bC5nbG9iYWw7aWYoZyl7dmFyIHk9bC51bmljb2RlO2wubGFzdEluZGV4PTB9Zm9yKHZhciBtPVtdOzspe3ZhciBiPWEobCxoKTtpZihudWxsPT09YilicmVhaztpZihtLnB1c2goYiksIWcpYnJlYWs7XCJcIj09PVN0cmluZyhiWzBdKSYmKGwubGFzdEluZGV4PWMoaCxvKGwubGFzdEluZGV4KSx5KSl9Zm9yKHZhciB4LHc9XCJcIixTPTAsXz0wO188bS5sZW5ndGg7XysrKXtiPW1bX107Zm9yKHZhciBFPVN0cmluZyhiWzBdKSxPPWYocyh1KGIuaW5kZXgpLGgubGVuZ3RoKSwwKSxGPVtdLFA9MTtQPGIubGVuZ3RoO1ArKylGLnB1c2godm9pZCAwPT09KHg9YltQXSk/eDpTdHJpbmcoeCkpO3ZhciBJPWIuZ3JvdXBzO2lmKHYpe3ZhciBNPVtFXS5jb25jYXQoRixPLGgpO3ZvaWQgMCE9PUkmJk0ucHVzaChJKTt2YXIgQT1TdHJpbmcobi5hcHBseSh2b2lkIDAsTSkpfWVsc2UgQT1kKEUsaCxPLEYsSSxuKTtPPj1TJiYodys9aC5zbGljZShTLE8pK0EsUz1PK0UubGVuZ3RoKX1yZXR1cm4gdytoLnNsaWNlKFMpfV07ZnVuY3Rpb24gZCh0LG4sZSxvLHUsYyl7dmFyIGE9ZSt0Lmxlbmd0aCxmPW8ubGVuZ3RoLHM9djtyZXR1cm4gdm9pZCAwIT09dSYmKHU9aSh1KSxzPWgpLHIuY2FsbChjLHMsZnVuY3Rpb24ocixpKXt2YXIgYztzd2l0Y2goaS5jaGFyQXQoMCkpe2Nhc2VcIiRcIjpyZXR1cm5cIiRcIjtjYXNlXCImXCI6cmV0dXJuIHQ7Y2FzZVwiYFwiOnJldHVybiBuLnNsaWNlKDAsZSk7Y2FzZVwiJ1wiOnJldHVybiBuLnNsaWNlKGEpO2Nhc2VcIjxcIjpjPXVbaS5zbGljZSgxLC0xKV07YnJlYWs7ZGVmYXVsdDp2YXIgcz0raTtpZigwPT09cylyZXR1cm4gcjtpZihzPmYpe3ZhciBoPWwocy8xMCk7cmV0dXJuIDA9PT1oP3I6aDw9Zj92b2lkIDA9PT1vW2gtMV0/aS5jaGFyQXQoMSk6b1toLTFdK2kuY2hhckF0KDEpOnJ9Yz1vW3MtMV19cmV0dXJuIHZvaWQgMD09PWM/XCJcIjpjfSl9fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDIpLGk9cig5MSksbz1yKDUyKTtyKDUzKShcInNlYXJjaFwiLDEsZnVuY3Rpb24odCxuLHIsdSl7cmV0dXJuW2Z1bmN0aW9uKHIpe3ZhciBlPXQodGhpcyksaT1udWxsPT1yP3ZvaWQgMDpyW25dO3JldHVybiB2b2lkIDAhPT1pP2kuY2FsbChyLGUpOm5ldyBSZWdFeHAocilbbl0oU3RyaW5nKGUpKX0sZnVuY3Rpb24odCl7dmFyIG49dShyLHQsdGhpcyk7aWYobi5kb25lKXJldHVybiBuLnZhbHVlO3ZhciBjPWUodCksYT1TdHJpbmcodGhpcyksZj1jLmxhc3RJbmRleDtpKGYsMCl8fChjLmxhc3RJbmRleD0wKTt2YXIgcz1vKGMsYSk7cmV0dXJuIGkoYy5sYXN0SW5kZXgsZil8fChjLmxhc3RJbmRleD1mKSxudWxsPT09cz8tMTpzLmluZGV4fV19KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoNzQpLGk9cigyKSxvPXIoNDYpLHU9cig4MiksYz1yKDYpLGE9cig1MiksZj1yKDgxKSxzPXIoMSksbD1NYXRoLm1pbixoPVtdLnB1c2gsdj0hcyhmdW5jdGlvbigpe1JlZ0V4cCg0Mjk0OTY3Mjk1LFwieVwiKX0pO3IoNTMpKFwic3BsaXRcIiwyLGZ1bmN0aW9uKHQsbixyLHMpe3ZhciBwO3JldHVybiBwPVwiY1wiPT1cImFiYmNcIi5zcGxpdCgvKGIpKi8pWzFdfHw0IT1cInRlc3RcIi5zcGxpdCgvKD86KS8sLTEpLmxlbmd0aHx8MiE9XCJhYlwiLnNwbGl0KC8oPzphYikqLykubGVuZ3RofHw0IT1cIi5cIi5zcGxpdCgvKC4/KSguPykvKS5sZW5ndGh8fFwiLlwiLnNwbGl0KC8oKSgpLykubGVuZ3RoPjF8fFwiXCIuc3BsaXQoLy4/LykubGVuZ3RoP2Z1bmN0aW9uKHQsbil7dmFyIGk9U3RyaW5nKHRoaXMpO2lmKHZvaWQgMD09PXQmJjA9PT1uKXJldHVybltdO2lmKCFlKHQpKXJldHVybiByLmNhbGwoaSx0LG4pO2Zvcih2YXIgbyx1LGMsYT1bXSxzPSh0Lmlnbm9yZUNhc2U/XCJpXCI6XCJcIikrKHQubXVsdGlsaW5lP1wibVwiOlwiXCIpKyh0LnVuaWNvZGU/XCJ1XCI6XCJcIikrKHQuc3RpY2t5P1wieVwiOlwiXCIpLGw9MCx2PXZvaWQgMD09PW4/NDI5NDk2NzI5NTpuPj4+MCxwPW5ldyBSZWdFeHAodC5zb3VyY2UscytcImdcIik7KG89Zi5jYWxsKHAsaSkpJiYhKCh1PXAubGFzdEluZGV4KT5sJiYoYS5wdXNoKGkuc2xpY2UobCxvLmluZGV4KSksby5sZW5ndGg+MSYmby5pbmRleDxpLmxlbmd0aCYmaC5hcHBseShhLG8uc2xpY2UoMSkpLGM9b1swXS5sZW5ndGgsbD11LGEubGVuZ3RoPj12KSk7KXAubGFzdEluZGV4PT09by5pbmRleCYmcC5sYXN0SW5kZXgrKztyZXR1cm4gbD09PWkubGVuZ3RoPyFjJiZwLnRlc3QoXCJcIil8fGEucHVzaChcIlwiKTphLnB1c2goaS5zbGljZShsKSksYS5sZW5ndGg+dj9hLnNsaWNlKDAsdik6YX06XCIwXCIuc3BsaXQodm9pZCAwLDApLmxlbmd0aD9mdW5jdGlvbih0LG4pe3JldHVybiB2b2lkIDA9PT10JiYwPT09bj9bXTpyLmNhbGwodGhpcyx0LG4pfTpyLFtmdW5jdGlvbihyLGUpe3ZhciBpPXQodGhpcyksbz1udWxsPT1yP3ZvaWQgMDpyW25dO3JldHVybiB2b2lkIDAhPT1vP28uY2FsbChyLGksZSk6cC5jYWxsKFN0cmluZyhpKSxyLGUpfSxmdW5jdGlvbih0LG4pe3ZhciBlPXMocCx0LHRoaXMsbixwIT09cik7aWYoZS5kb25lKXJldHVybiBlLnZhbHVlO3ZhciBmPWkodCksaD1TdHJpbmcodGhpcyksZD1vKGYsUmVnRXhwKSxnPWYudW5pY29kZSx5PShmLmlnbm9yZUNhc2U/XCJpXCI6XCJcIikrKGYubXVsdGlsaW5lP1wibVwiOlwiXCIpKyhmLnVuaWNvZGU/XCJ1XCI6XCJcIikrKHY/XCJ5XCI6XCJnXCIpLG09bmV3IGQodj9mOlwiXig/OlwiK2Yuc291cmNlK1wiKVwiLHkpLGI9dm9pZCAwPT09bj80Mjk0OTY3Mjk1Om4+Pj4wO2lmKDA9PT1iKXJldHVybltdO2lmKDA9PT1oLmxlbmd0aClyZXR1cm4gbnVsbD09PWEobSxoKT9baF06W107Zm9yKHZhciB4PTAsdz0wLFM9W107dzxoLmxlbmd0aDspe20ubGFzdEluZGV4PXY/dzowO3ZhciBfLEU9YShtLHY/aDpoLnNsaWNlKHcpKTtpZihudWxsPT09RXx8KF89bChjKG0ubGFzdEluZGV4Kyh2PzA6dykpLGgubGVuZ3RoKSk9PT14KXc9dShoLHcsZyk7ZWxzZXtpZihTLnB1c2goaC5zbGljZSh4LHcpKSxTLmxlbmd0aD09PWIpcmV0dXJuIFM7Zm9yKHZhciBPPTE7Tzw9RS5sZW5ndGgtMTtPKyspaWYoUy5wdXNoKEVbT10pLFMubGVuZ3RoPT09YilyZXR1cm4gUzt3PXg9X319cmV0dXJuIFMucHVzaChoLnNsaWNlKHgpKSxTfV19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMyksaT1yKDgzKS5zZXQsbz1lLk11dGF0aW9uT2JzZXJ2ZXJ8fGUuV2ViS2l0TXV0YXRpb25PYnNlcnZlcix1PWUucHJvY2VzcyxjPWUuUHJvbWlzZSxhPVwicHJvY2Vzc1wiPT1yKDIzKSh1KTt0LmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdCxuLHIsZj1mdW5jdGlvbigpe3ZhciBlLGk7Zm9yKGEmJihlPXUuZG9tYWluKSYmZS5leGl0KCk7dDspe2k9dC5mbix0PXQubmV4dDt0cnl7aSgpfWNhdGNoKGUpe3Rocm93IHQ/cigpOm49dm9pZCAwLGV9fW49dm9pZCAwLGUmJmUuZW50ZXIoKX07aWYoYSlyPWZ1bmN0aW9uKCl7dS5uZXh0VGljayhmKX07ZWxzZSBpZighb3x8ZS5uYXZpZ2F0b3ImJmUubmF2aWdhdG9yLnN0YW5kYWxvbmUpaWYoYyYmYy5yZXNvbHZlKXt2YXIgcz1jLnJlc29sdmUodm9pZCAwKTtyPWZ1bmN0aW9uKCl7cy50aGVuKGYpfX1lbHNlIHI9ZnVuY3Rpb24oKXtpLmNhbGwoZSxmKX07ZWxzZXt2YXIgbD0hMCxoPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFwiXCIpO25ldyBvKGYpLm9ic2VydmUoaCx7Y2hhcmFjdGVyRGF0YTohMH0pLHI9ZnVuY3Rpb24oKXtoLmRhdGE9bD0hbH19cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBpPXtmbjplLG5leHQ6dm9pZCAwfTtuJiYobi5uZXh0PWkpLHR8fCh0PWkscigpKSxuPWl9fX0sZnVuY3Rpb24odCxuKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dHJ5e3JldHVybntlOiExLHY6dCgpfX1jYXRjaCh0KXtyZXR1cm57ZTohMCx2OnR9fX19LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZT1yKDEwOSksaT1yKDQyKTt0LmV4cG9ydHM9cig1NikoXCJNYXBcIixmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdCh0aGlzLGFyZ3VtZW50cy5sZW5ndGg+MD9hcmd1bWVudHNbMF06dm9pZCAwKX19LHtnZXQ6ZnVuY3Rpb24odCl7dmFyIG49ZS5nZXRFbnRyeShpKHRoaXMsXCJNYXBcIiksdCk7cmV0dXJuIG4mJm4udn0sc2V0OmZ1bmN0aW9uKHQsbil7cmV0dXJuIGUuZGVmKGkodGhpcyxcIk1hcFwiKSwwPT09dD8wOnQsbil9fSxlLCEwKX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMTA5KSxpPXIoNDIpO3QuZXhwb3J0cz1yKDU2KShcIlNldFwiLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0KHRoaXMsYXJndW1lbnRzLmxlbmd0aD4wP2FyZ3VtZW50c1swXTp2b2lkIDApfX0se2FkZDpmdW5jdGlvbih0KXtyZXR1cm4gZS5kZWYoaSh0aGlzLFwiU2V0XCIpLHQ9MD09PXQ/MDp0LHQpfX0sZSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjt2YXIgZSxpPXIoMjApKDApLG89cigxMCksdT1yKDI3KSxjPXIoOTApLGE9cigxMTApLGY9cig0KSxzPXIoMSksbD1yKDQyKSxoPXUuZ2V0V2Vhayx2PU9iamVjdC5pc0V4dGVuc2libGUscD1hLnVmc3RvcmUsZD17fSxnPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0KHRoaXMsYXJndW1lbnRzLmxlbmd0aD4wP2FyZ3VtZW50c1swXTp2b2lkIDApfX0seT17Z2V0OmZ1bmN0aW9uKHQpe2lmKGYodCkpe3ZhciBuPWgodCk7cmV0dXJuITA9PT1uP3AobCh0aGlzLFwiV2Vha01hcFwiKSkuZ2V0KHQpOm4/blt0aGlzLl9pXTp2b2lkIDB9fSxzZXQ6ZnVuY3Rpb24odCxuKXtyZXR1cm4gYS5kZWYobCh0aGlzLFwiV2Vha01hcFwiKSx0LG4pfX0sbT10LmV4cG9ydHM9cig1NikoXCJXZWFrTWFwXCIsZyx5LGEsITAsITApO3MoZnVuY3Rpb24oKXtyZXR1cm4gNyE9KG5ldyBtKS5zZXQoKE9iamVjdC5mcmVlemV8fE9iamVjdCkoZCksNykuZ2V0KGQpfSkmJihjKChlPWEuZ2V0Q29uc3RydWN0b3IoZyxcIldlYWtNYXBcIikpLnByb3RvdHlwZSx5KSx1Lk5FRUQ9ITAsaShbXCJkZWxldGVcIixcImhhc1wiLFwiZ2V0XCIsXCJzZXRcIl0sZnVuY3Rpb24odCl7dmFyIG49bS5wcm90b3R5cGUscj1uW3RdO28obix0LGZ1bmN0aW9uKG4saSl7aWYoZihuKSYmIXYobikpe3RoaXMuX2Z8fCh0aGlzLl9mPW5ldyBlKTt2YXIgbz10aGlzLl9mW3RdKG4saSk7cmV0dXJuXCJzZXRcIj09dD90aGlzOm99cmV0dXJuIHIuY2FsbCh0aGlzLG4saSl9KX0pKX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMTEwKSxpPXIoNDIpO3IoNTYpKFwiV2Vha1NldFwiLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0KHRoaXMsYXJndW1lbnRzLmxlbmd0aD4wP2FyZ3VtZW50c1swXTp2b2lkIDApfX0se2FkZDpmdW5jdGlvbih0KXtyZXR1cm4gZS5kZWYoaSh0aGlzLFwiV2Vha1NldFwiKSx0LCEwKX19LGUsITEsITApfSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigwKSxpPXIoNTcpLG89cig4NCksdT1yKDIpLGM9cigzMiksYT1yKDYpLGY9cig0KSxzPXIoMykuQXJyYXlCdWZmZXIsbD1yKDQ2KSxoPW8uQXJyYXlCdWZmZXIsdj1vLkRhdGFWaWV3LHA9aS5BQlYmJnMuaXNWaWV3LGQ9aC5wcm90b3R5cGUuc2xpY2UsZz1pLlZJRVc7ZShlLkcrZS5XK2UuRioocyE9PWgpLHtBcnJheUJ1ZmZlcjpofSksZShlLlMrZS5GKiFpLkNPTlNUUixcIkFycmF5QnVmZmVyXCIse2lzVmlldzpmdW5jdGlvbih0KXtyZXR1cm4gcCYmcCh0KXx8Zih0KSYmZyBpbiB0fX0pLGUoZS5QK2UuVStlLkYqcigxKShmdW5jdGlvbigpe3JldHVybiFuZXcgaCgyKS5zbGljZSgxLHZvaWQgMCkuYnl0ZUxlbmd0aH0pLFwiQXJyYXlCdWZmZXJcIix7c2xpY2U6ZnVuY3Rpb24odCxuKXtpZih2b2lkIDAhPT1kJiZ2b2lkIDA9PT1uKXJldHVybiBkLmNhbGwodSh0aGlzKSx0KTtmb3IodmFyIHI9dSh0aGlzKS5ieXRlTGVuZ3RoLGU9Yyh0LHIpLGk9Yyh2b2lkIDA9PT1uP3I6bixyKSxvPW5ldyhsKHRoaXMsaCkpKGEoaS1lKSksZj1uZXcgdih0aGlzKSxzPW5ldyB2KG8pLHA9MDtlPGk7KXMuc2V0VWludDgocCsrLGYuZ2V0VWludDgoZSsrKSk7cmV0dXJuIG99fSkscigzOSkoXCJBcnJheUJ1ZmZlclwiKX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCk7ZShlLkcrZS5XK2UuRiohcig1NykuQUJWLHtEYXRhVmlldzpyKDg0KS5EYXRhVmlld30pfSxmdW5jdGlvbih0LG4scil7cigyNSkoXCJJbnQ4XCIsMSxmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obixyLGUpe3JldHVybiB0KHRoaXMsbixyLGUpfX0pfSxmdW5jdGlvbih0LG4scil7cigyNSkoXCJVaW50OFwiLDEsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4scixlKXtyZXR1cm4gdCh0aGlzLG4scixlKX19KX0sZnVuY3Rpb24odCxuLHIpe3IoMjUpKFwiVWludDhcIiwxLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLHIsZSl7cmV0dXJuIHQodGhpcyxuLHIsZSl9fSwhMCl9LGZ1bmN0aW9uKHQsbixyKXtyKDI1KShcIkludDE2XCIsMixmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obixyLGUpe3JldHVybiB0KHRoaXMsbixyLGUpfX0pfSxmdW5jdGlvbih0LG4scil7cigyNSkoXCJVaW50MTZcIiwyLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLHIsZSl7cmV0dXJuIHQodGhpcyxuLHIsZSl9fSl9LGZ1bmN0aW9uKHQsbixyKXtyKDI1KShcIkludDMyXCIsNCxmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obixyLGUpe3JldHVybiB0KHRoaXMsbixyLGUpfX0pfSxmdW5jdGlvbih0LG4scil7cigyNSkoXCJVaW50MzJcIiw0LGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLHIsZSl7cmV0dXJuIHQodGhpcyxuLHIsZSl9fSl9LGZ1bmN0aW9uKHQsbixyKXtyKDI1KShcIkZsb2F0MzJcIiw0LGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLHIsZSl7cmV0dXJuIHQodGhpcyxuLHIsZSl9fSl9LGZ1bmN0aW9uKHQsbixyKXtyKDI1KShcIkZsb2F0NjRcIiw4LGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLHIsZSl7cmV0dXJuIHQodGhpcyxuLHIsZSl9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9cigyMiksbz1yKDIpLHU9KHIoMykuUmVmbGVjdHx8e30pLmFwcGx5LGM9RnVuY3Rpb24uYXBwbHk7ZShlLlMrZS5GKiFyKDEpKGZ1bmN0aW9uKCl7dShmdW5jdGlvbigpe30pfSksXCJSZWZsZWN0XCIse2FwcGx5OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1pKHQpLGE9byhyKTtyZXR1cm4gdT91KGUsbixhKTpjLmNhbGwoZSxuLGEpfX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigwKSxpPXIoMzMpLG89cigyMiksdT1yKDIpLGM9cig0KSxhPXIoMSksZj1yKDkyKSxzPShyKDMpLlJlZmxlY3R8fHt9KS5jb25zdHJ1Y3QsbD1hKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4hKHMoZnVuY3Rpb24oKXt9LFtdLHQpaW5zdGFuY2VvZiB0KX0pLGg9IWEoZnVuY3Rpb24oKXtzKGZ1bmN0aW9uKCl7fSl9KTtlKGUuUytlLkYqKGx8fGgpLFwiUmVmbGVjdFwiLHtjb25zdHJ1Y3Q6ZnVuY3Rpb24odCxuKXtvKHQpLHUobik7dmFyIHI9YXJndW1lbnRzLmxlbmd0aDwzP3Q6byhhcmd1bWVudHNbMl0pO2lmKGgmJiFsKXJldHVybiBzKHQsbixyKTtpZih0PT1yKXtzd2l0Y2gobi5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gbmV3IHQ7Y2FzZSAxOnJldHVybiBuZXcgdChuWzBdKTtjYXNlIDI6cmV0dXJuIG5ldyB0KG5bMF0sblsxXSk7Y2FzZSAzOnJldHVybiBuZXcgdChuWzBdLG5bMV0sblsyXSk7Y2FzZSA0OnJldHVybiBuZXcgdChuWzBdLG5bMV0sblsyXSxuWzNdKX12YXIgZT1bbnVsbF07cmV0dXJuIGUucHVzaC5hcHBseShlLG4pLG5ldyhmLmFwcGx5KHQsZSkpfXZhciBhPXIucHJvdG90eXBlLHY9aShjKGEpP2E6T2JqZWN0LnByb3RvdHlwZSkscD1GdW5jdGlvbi5hcHBseS5jYWxsKHQsdixuKTtyZXR1cm4gYyhwKT9wOnZ9fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDcpLGk9cigwKSxvPXIoMiksdT1yKDI2KTtpKGkuUytpLkYqcigxKShmdW5jdGlvbigpe1JlZmxlY3QuZGVmaW5lUHJvcGVydHkoZS5mKHt9LDEse3ZhbHVlOjF9KSwxLHt2YWx1ZToyfSl9KSxcIlJlZmxlY3RcIix7ZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24odCxuLHIpe28odCksbj11KG4sITApLG8ocik7dHJ5e3JldHVybiBlLmYodCxuLHIpLCEwfWNhdGNoKHQpe3JldHVybiExfX19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCksaT1yKDE4KS5mLG89cigyKTtlKGUuUyxcIlJlZmxlY3RcIix7ZGVsZXRlUHJvcGVydHk6ZnVuY3Rpb24odCxuKXt2YXIgcj1pKG8odCksbik7cmV0dXJuIShyJiYhci5jb25maWd1cmFibGUpJiZkZWxldGUgdFtuXX19KX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMCksaT1yKDIpLG89ZnVuY3Rpb24odCl7dGhpcy5fdD1pKHQpLHRoaXMuX2k9MDt2YXIgbixyPXRoaXMuX2s9W107Zm9yKG4gaW4gdClyLnB1c2gobil9O3IoOTkpKG8sXCJPYmplY3RcIixmdW5jdGlvbigpe3ZhciB0LG49dGhpcy5faztkb3tpZih0aGlzLl9pPj1uLmxlbmd0aClyZXR1cm57dmFsdWU6dm9pZCAwLGRvbmU6ITB9fXdoaWxlKCEoKHQ9blt0aGlzLl9pKytdKWluIHRoaXMuX3QpKTtyZXR1cm57dmFsdWU6dCxkb25lOiExfX0pLGUoZS5TLFwiUmVmbGVjdFwiLHtlbnVtZXJhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBvKHQpfX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigxOCksaT1yKDM1KSxvPXIoMTMpLHU9cigwKSxjPXIoNCksYT1yKDIpO3UodS5TLFwiUmVmbGVjdFwiLHtnZXQ6ZnVuY3Rpb24gdChuLHIpe3ZhciB1LGYscz1hcmd1bWVudHMubGVuZ3RoPDM/bjphcmd1bWVudHNbMl07cmV0dXJuIGEobik9PT1zP25bcl06KHU9ZS5mKG4scikpP28odSxcInZhbHVlXCIpP3UudmFsdWU6dm9pZCAwIT09dS5nZXQ/dS5nZXQuY2FsbChzKTp2b2lkIDA6YyhmPWkobikpP3QoZixyLHMpOnZvaWQgMH19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTgpLGk9cigwKSxvPXIoMik7aShpLlMsXCJSZWZsZWN0XCIse2dldE93blByb3BlcnR5RGVzY3JpcHRvcjpmdW5jdGlvbih0LG4pe3JldHVybiBlLmYobyh0KSxuKX19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCksaT1yKDM1KSxvPXIoMik7ZShlLlMsXCJSZWZsZWN0XCIse2dldFByb3RvdHlwZU9mOmZ1bmN0aW9uKHQpe3JldHVybiBpKG8odCkpfX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigwKTtlKGUuUyxcIlJlZmxlY3RcIix7aGFzOmZ1bmN0aW9uKHQsbil7cmV0dXJuIG4gaW4gdH19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCksaT1yKDIpLG89T2JqZWN0LmlzRXh0ZW5zaWJsZTtlKGUuUyxcIlJlZmxlY3RcIix7aXNFeHRlbnNpYmxlOmZ1bmN0aW9uKHQpe3JldHVybiBpKHQpLCFvfHxvKHQpfX0pfSxmdW5jdGlvbih0LG4scil7dmFyIGU9cigwKTtlKGUuUyxcIlJlZmxlY3RcIix7b3duS2V5czpyKDExMil9KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCksaT1yKDIpLG89T2JqZWN0LnByZXZlbnRFeHRlbnNpb25zO2UoZS5TLFwiUmVmbGVjdFwiLHtwcmV2ZW50RXh0ZW5zaW9uczpmdW5jdGlvbih0KXtpKHQpO3RyeXtyZXR1cm4gbyYmbyh0KSwhMH1jYXRjaCh0KXtyZXR1cm4hMX19fSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDcpLGk9cigxOCksbz1yKDM1KSx1PXIoMTMpLGM9cigwKSxhPXIoMjgpLGY9cigyKSxzPXIoNCk7YyhjLlMsXCJSZWZsZWN0XCIse3NldDpmdW5jdGlvbiB0KG4scixjKXt2YXIgbCxoLHY9YXJndW1lbnRzLmxlbmd0aDw0P246YXJndW1lbnRzWzNdLHA9aS5mKGYobikscik7aWYoIXApe2lmKHMoaD1vKG4pKSlyZXR1cm4gdChoLHIsYyx2KTtwPWEoMCl9aWYodShwLFwidmFsdWVcIikpe2lmKCExPT09cC53cml0YWJsZXx8IXModikpcmV0dXJuITE7aWYobD1pLmYodixyKSl7aWYobC5nZXR8fGwuc2V0fHwhMT09PWwud3JpdGFibGUpcmV0dXJuITE7bC52YWx1ZT1jLGUuZih2LHIsbCl9ZWxzZSBlLmYodixyLGEoMCxjKSk7cmV0dXJuITB9cmV0dXJuIHZvaWQgMCE9PXAuc2V0JiYocC5zZXQuY2FsbCh2LGMpLCEwKX19KX0sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCksaT1yKDY1KTtpJiZlKGUuUyxcIlJlZmxlY3RcIix7c2V0UHJvdG90eXBlT2Y6ZnVuY3Rpb24odCxuKXtpLmNoZWNrKHQsbik7dHJ5e3JldHVybiBpLnNldCh0LG4pLCEwfWNhdGNoKHQpe3JldHVybiExfX19KX0sZnVuY3Rpb24odCxuLHIpe3IoMjYyKSx0LmV4cG9ydHM9cig5KS5BcnJheS5pbmNsdWRlc30sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMCksaT1yKDQ3KSghMCk7ZShlLlAsXCJBcnJheVwiLHtpbmNsdWRlczpmdW5jdGlvbih0KXtyZXR1cm4gaSh0aGlzLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfX0pLHIoMzgpKFwiaW5jbHVkZXNcIil9LGZ1bmN0aW9uKHQsbixyKXtyKDI2NCksdC5leHBvcnRzPXIoOSkuU3RyaW5nLnBhZFN0YXJ0fSxmdW5jdGlvbih0LG4scil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9cigwKSxpPXIoMTEzKSxvPXIoNTUpO2UoZS5QK2UuRiovVmVyc2lvblxcLzEwXFwuXFxkKyhcXC5cXGQrKT8gU2FmYXJpXFwvLy50ZXN0KG8pLFwiU3RyaW5nXCIse3BhZFN0YXJ0OmZ1bmN0aW9uKHQpe3JldHVybiBpKHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCwhMCl9fSl9LGZ1bmN0aW9uKHQsbixyKXtyKDI2NiksdC5leHBvcnRzPXIoOSkuU3RyaW5nLnBhZEVuZH0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMCksaT1yKDExMyksbz1yKDU1KTtlKGUuUCtlLkYqL1ZlcnNpb25cXC8xMFxcLlxcZCsoXFwuXFxkKyk/IFNhZmFyaVxcLy8udGVzdChvKSxcIlN0cmluZ1wiLHtwYWRFbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIGkodGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLCExKX19KX0sZnVuY3Rpb24odCxuLHIpe3IoMjY4KSx0LmV4cG9ydHM9cig2MCkuZihcImFzeW5jSXRlcmF0b3JcIil9LGZ1bmN0aW9uKHQsbixyKXtyKDg2KShcImFzeW5jSXRlcmF0b3JcIil9LGZ1bmN0aW9uKHQsbixyKXtyKDI3MCksdC5leHBvcnRzPXIoOSkuT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnN9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9cigxMTIpLG89cigxNSksdT1yKDE4KSxjPXIoNzcpO2UoZS5TLFwiT2JqZWN0XCIse2dldE93blByb3BlcnR5RGVzY3JpcHRvcnM6ZnVuY3Rpb24odCl7Zm9yKHZhciBuLHIsZT1vKHQpLGE9dS5mLGY9aShlKSxzPXt9LGw9MDtmLmxlbmd0aD5sOyl2b2lkIDAhPT0ocj1hKGUsbj1mW2wrK10pKSYmYyhzLG4scik7cmV0dXJuIHN9fSl9LGZ1bmN0aW9uKHQsbixyKXtyKDI3MiksdC5leHBvcnRzPXIoOSkuT2JqZWN0LnZhbHVlc30sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCksaT1yKDExNCkoITEpO2UoZS5TLFwiT2JqZWN0XCIse3ZhbHVlczpmdW5jdGlvbih0KXtyZXR1cm4gaSh0KX19KX0sZnVuY3Rpb24odCxuLHIpe3IoMjc0KSx0LmV4cG9ydHM9cig5KS5PYmplY3QuZW50cmllc30sZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMCksaT1yKDExNCkoITApO2UoZS5TLFwiT2JqZWN0XCIse2VudHJpZXM6ZnVuY3Rpb24odCl7cmV0dXJuIGkodCl9fSl9LGZ1bmN0aW9uKHQsbixyKXtcInVzZSBzdHJpY3RcIjtyKDEwNikscigyNzYpLHQuZXhwb3J0cz1yKDkpLlByb21pc2UuZmluYWxseX0sZnVuY3Rpb24odCxuLHIpe1widXNlIHN0cmljdFwiO3ZhciBlPXIoMCksaT1yKDkpLG89cigzKSx1PXIoNDYpLGM9cigxMDgpO2UoZS5QK2UuUixcIlByb21pc2VcIix7ZmluYWxseTpmdW5jdGlvbih0KXt2YXIgbj11KHRoaXMsaS5Qcm9taXNlfHxvLlByb21pc2UpLHI9XCJmdW5jdGlvblwiPT10eXBlb2YgdDtyZXR1cm4gdGhpcy50aGVuKHI/ZnVuY3Rpb24ocil7cmV0dXJuIGMobix0KCkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcn0pfTp0LHI/ZnVuY3Rpb24ocil7cmV0dXJuIGMobix0KCkpLnRoZW4oZnVuY3Rpb24oKXt0aHJvdyByfSl9OnQpfX0pfSxmdW5jdGlvbih0LG4scil7cigyNzgpLHIoMjc5KSxyKDI4MCksdC5leHBvcnRzPXIoOSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDMpLGk9cigwKSxvPXIoNTUpLHU9W10uc2xpY2UsYz0vTVNJRSAuXFwuLy50ZXN0KG8pLGE9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4scil7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4yLGk9ISFlJiZ1LmNhbGwoYXJndW1lbnRzLDIpO3JldHVybiB0KGU/ZnVuY3Rpb24oKXsoXCJmdW5jdGlvblwiPT10eXBlb2Ygbj9uOkZ1bmN0aW9uKG4pKS5hcHBseSh0aGlzLGkpfTpuLHIpfX07aShpLkcraS5CK2kuRipjLHtzZXRUaW1lb3V0OmEoZS5zZXRUaW1lb3V0KSxzZXRJbnRlcnZhbDphKGUuc2V0SW50ZXJ2YWwpfSl9LGZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDApLGk9cig4Myk7ZShlLkcrZS5CLHtzZXRJbW1lZGlhdGU6aS5zZXQsY2xlYXJJbW1lZGlhdGU6aS5jbGVhcn0pfSxmdW5jdGlvbih0LG4scil7Zm9yKHZhciBlPXIoODApLGk9cigzMSksbz1yKDEwKSx1PXIoMyksYz1yKDE0KSxhPXIoMzcpLGY9cig1KSxzPWYoXCJpdGVyYXRvclwiKSxsPWYoXCJ0b1N0cmluZ1RhZ1wiKSxoPWEuQXJyYXksdj17Q1NTUnVsZUxpc3Q6ITAsQ1NTU3R5bGVEZWNsYXJhdGlvbjohMSxDU1NWYWx1ZUxpc3Q6ITEsQ2xpZW50UmVjdExpc3Q6ITEsRE9NUmVjdExpc3Q6ITEsRE9NU3RyaW5nTGlzdDohMSxET01Ub2tlbkxpc3Q6ITAsRGF0YVRyYW5zZmVySXRlbUxpc3Q6ITEsRmlsZUxpc3Q6ITEsSFRNTEFsbENvbGxlY3Rpb246ITEsSFRNTENvbGxlY3Rpb246ITEsSFRNTEZvcm1FbGVtZW50OiExLEhUTUxTZWxlY3RFbGVtZW50OiExLE1lZGlhTGlzdDohMCxNaW1lVHlwZUFycmF5OiExLE5hbWVkTm9kZU1hcDohMSxOb2RlTGlzdDohMCxQYWludFJlcXVlc3RMaXN0OiExLFBsdWdpbjohMSxQbHVnaW5BcnJheTohMSxTVkdMZW5ndGhMaXN0OiExLFNWR051bWJlckxpc3Q6ITEsU1ZHUGF0aFNlZ0xpc3Q6ITEsU1ZHUG9pbnRMaXN0OiExLFNWR1N0cmluZ0xpc3Q6ITEsU1ZHVHJhbnNmb3JtTGlzdDohMSxTb3VyY2VCdWZmZXJMaXN0OiExLFN0eWxlU2hlZXRMaXN0OiEwLFRleHRUcmFja0N1ZUxpc3Q6ITEsVGV4dFRyYWNrTGlzdDohMSxUb3VjaExpc3Q6ITF9LHA9aSh2KSxkPTA7ZDxwLmxlbmd0aDtkKyspe3ZhciBnLHk9cFtkXSxtPXZbeV0sYj11W3ldLHg9YiYmYi5wcm90b3R5cGU7aWYoeCYmKHhbc118fGMoeCxzLGgpLHhbbF18fGMoeCxsLHkpLGFbeV09aCxtKSlmb3IoZyBpbiBlKXhbZ118fG8oeCxnLGVbZ10sITApfX0sZnVuY3Rpb24odCxuKXshZnVuY3Rpb24obil7XCJ1c2Ugc3RyaWN0XCI7dmFyIHIsZT1PYmplY3QucHJvdG90eXBlLGk9ZS5oYXNPd25Qcm9wZXJ0eSxvPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbD9TeW1ib2w6e30sdT1vLml0ZXJhdG9yfHxcIkBAaXRlcmF0b3JcIixjPW8uYXN5bmNJdGVyYXRvcnx8XCJAQGFzeW5jSXRlcmF0b3JcIixhPW8udG9TdHJpbmdUYWd8fFwiQEB0b1N0cmluZ1RhZ1wiLGY9XCJvYmplY3RcIj09dHlwZW9mIHQscz1uLnJlZ2VuZXJhdG9yUnVudGltZTtpZihzKWYmJih0LmV4cG9ydHM9cyk7ZWxzZXsocz1uLnJlZ2VuZXJhdG9yUnVudGltZT1mP3QuZXhwb3J0czp7fSkud3JhcD14O3ZhciBsPVwic3VzcGVuZGVkU3RhcnRcIixoPVwic3VzcGVuZGVkWWllbGRcIix2PVwiZXhlY3V0aW5nXCIscD1cImNvbXBsZXRlZFwiLGQ9e30sZz17fTtnW3VdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3ZhciB5PU9iamVjdC5nZXRQcm90b3R5cGVPZixtPXkmJnkoeShqKFtdKSkpO20mJm0hPT1lJiZpLmNhbGwobSx1KSYmKGc9bSk7dmFyIGI9RS5wcm90b3R5cGU9Uy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShnKTtfLnByb3RvdHlwZT1iLmNvbnN0cnVjdG9yPUUsRS5jb25zdHJ1Y3Rvcj1fLEVbYV09Xy5kaXNwbGF5TmFtZT1cIkdlbmVyYXRvckZ1bmN0aW9uXCIscy5pc0dlbmVyYXRvckZ1bmN0aW9uPWZ1bmN0aW9uKHQpe3ZhciBuPVwiZnVuY3Rpb25cIj09dHlwZW9mIHQmJnQuY29uc3RydWN0b3I7cmV0dXJuISFuJiYobj09PV98fFwiR2VuZXJhdG9yRnVuY3Rpb25cIj09PShuLmRpc3BsYXlOYW1lfHxuLm5hbWUpKX0scy5tYXJrPWZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKHQsRSk6KHQuX19wcm90b19fPUUsYSBpbiB0fHwodFthXT1cIkdlbmVyYXRvckZ1bmN0aW9uXCIpKSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGIpLHR9LHMuYXdyYXA9ZnVuY3Rpb24odCl7cmV0dXJue19fYXdhaXQ6dH19LE8oRi5wcm90b3R5cGUpLEYucHJvdG90eXBlW2NdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHMuQXN5bmNJdGVyYXRvcj1GLHMuYXN5bmM9ZnVuY3Rpb24odCxuLHIsZSl7dmFyIGk9bmV3IEYoeCh0LG4scixlKSk7cmV0dXJuIHMuaXNHZW5lcmF0b3JGdW5jdGlvbihuKT9pOmkubmV4dCgpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQuZG9uZT90LnZhbHVlOmkubmV4dCgpfSl9LE8oYiksYlthXT1cIkdlbmVyYXRvclwiLGJbdV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sYi50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblwiW29iamVjdCBHZW5lcmF0b3JdXCJ9LHMua2V5cz1mdW5jdGlvbih0KXt2YXIgbj1bXTtmb3IodmFyIHIgaW4gdCluLnB1c2gocik7cmV0dXJuIG4ucmV2ZXJzZSgpLGZ1bmN0aW9uIHIoKXtmb3IoO24ubGVuZ3RoOyl7dmFyIGU9bi5wb3AoKTtpZihlIGluIHQpcmV0dXJuIHIudmFsdWU9ZSxyLmRvbmU9ITEscn1yZXR1cm4gci5kb25lPSEwLHJ9fSxzLnZhbHVlcz1qLEEucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpBLHJlc2V0OmZ1bmN0aW9uKHQpe2lmKHRoaXMucHJldj0wLHRoaXMubmV4dD0wLHRoaXMuc2VudD10aGlzLl9zZW50PXIsdGhpcy5kb25lPSExLHRoaXMuZGVsZWdhdGU9bnVsbCx0aGlzLm1ldGhvZD1cIm5leHRcIix0aGlzLmFyZz1yLHRoaXMudHJ5RW50cmllcy5mb3JFYWNoKE0pLCF0KWZvcih2YXIgbiBpbiB0aGlzKVwidFwiPT09bi5jaGFyQXQoMCkmJmkuY2FsbCh0aGlzLG4pJiYhaXNOYU4oK24uc2xpY2UoMSkpJiYodGhpc1tuXT1yKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuZG9uZT0hMDt2YXIgdD10aGlzLnRyeUVudHJpZXNbMF0uY29tcGxldGlvbjtpZihcInRocm93XCI9PT10LnR5cGUpdGhyb3cgdC5hcmc7cmV0dXJuIHRoaXMucnZhbH0sZGlzcGF0Y2hFeGNlcHRpb246ZnVuY3Rpb24odCl7aWYodGhpcy5kb25lKXRocm93IHQ7dmFyIG49dGhpcztmdW5jdGlvbiBlKGUsaSl7cmV0dXJuIGMudHlwZT1cInRocm93XCIsYy5hcmc9dCxuLm5leHQ9ZSxpJiYobi5tZXRob2Q9XCJuZXh0XCIsbi5hcmc9ciksISFpfWZvcih2YXIgbz10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7bz49MDstLW8pe3ZhciB1PXRoaXMudHJ5RW50cmllc1tvXSxjPXUuY29tcGxldGlvbjtpZihcInJvb3RcIj09PXUudHJ5TG9jKXJldHVybiBlKFwiZW5kXCIpO2lmKHUudHJ5TG9jPD10aGlzLnByZXYpe3ZhciBhPWkuY2FsbCh1LFwiY2F0Y2hMb2NcIiksZj1pLmNhbGwodSxcImZpbmFsbHlMb2NcIik7aWYoYSYmZil7aWYodGhpcy5wcmV2PHUuY2F0Y2hMb2MpcmV0dXJuIGUodS5jYXRjaExvYywhMCk7aWYodGhpcy5wcmV2PHUuZmluYWxseUxvYylyZXR1cm4gZSh1LmZpbmFsbHlMb2MpfWVsc2UgaWYoYSl7aWYodGhpcy5wcmV2PHUuY2F0Y2hMb2MpcmV0dXJuIGUodS5jYXRjaExvYywhMCl9ZWxzZXtpZighZil0aHJvdyBuZXcgRXJyb3IoXCJ0cnkgc3RhdGVtZW50IHdpdGhvdXQgY2F0Y2ggb3IgZmluYWxseVwiKTtpZih0aGlzLnByZXY8dS5maW5hbGx5TG9jKXJldHVybiBlKHUuZmluYWxseUxvYyl9fX19LGFicnVwdDpmdW5jdGlvbih0LG4pe2Zvcih2YXIgcj10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7cj49MDstLXIpe3ZhciBlPXRoaXMudHJ5RW50cmllc1tyXTtpZihlLnRyeUxvYzw9dGhpcy5wcmV2JiZpLmNhbGwoZSxcImZpbmFsbHlMb2NcIikmJnRoaXMucHJldjxlLmZpbmFsbHlMb2Mpe3ZhciBvPWU7YnJlYWt9fW8mJihcImJyZWFrXCI9PT10fHxcImNvbnRpbnVlXCI9PT10KSYmby50cnlMb2M8PW4mJm48PW8uZmluYWxseUxvYyYmKG89bnVsbCk7dmFyIHU9bz9vLmNvbXBsZXRpb246e307cmV0dXJuIHUudHlwZT10LHUuYXJnPW4sbz8odGhpcy5tZXRob2Q9XCJuZXh0XCIsdGhpcy5uZXh0PW8uZmluYWxseUxvYyxkKTp0aGlzLmNvbXBsZXRlKHUpfSxjb21wbGV0ZTpmdW5jdGlvbih0LG4pe2lmKFwidGhyb3dcIj09PXQudHlwZSl0aHJvdyB0LmFyZztyZXR1cm5cImJyZWFrXCI9PT10LnR5cGV8fFwiY29udGludWVcIj09PXQudHlwZT90aGlzLm5leHQ9dC5hcmc6XCJyZXR1cm5cIj09PXQudHlwZT8odGhpcy5ydmFsPXRoaXMuYXJnPXQuYXJnLHRoaXMubWV0aG9kPVwicmV0dXJuXCIsdGhpcy5uZXh0PVwiZW5kXCIpOlwibm9ybWFsXCI9PT10LnR5cGUmJm4mJih0aGlzLm5leHQ9biksZH0sZmluaXNoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgbj10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7bj49MDstLW4pe3ZhciByPXRoaXMudHJ5RW50cmllc1tuXTtpZihyLmZpbmFsbHlMb2M9PT10KXJldHVybiB0aGlzLmNvbXBsZXRlKHIuY29tcGxldGlvbixyLmFmdGVyTG9jKSxNKHIpLGR9fSxjYXRjaDpmdW5jdGlvbih0KXtmb3IodmFyIG49dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO24+PTA7LS1uKXt2YXIgcj10aGlzLnRyeUVudHJpZXNbbl07aWYoci50cnlMb2M9PT10KXt2YXIgZT1yLmNvbXBsZXRpb247aWYoXCJ0aHJvd1wiPT09ZS50eXBlKXt2YXIgaT1lLmFyZztNKHIpfXJldHVybiBpfX10aHJvdyBuZXcgRXJyb3IoXCJpbGxlZ2FsIGNhdGNoIGF0dGVtcHRcIil9LGRlbGVnYXRlWWllbGQ6ZnVuY3Rpb24odCxuLGUpe3JldHVybiB0aGlzLmRlbGVnYXRlPXtpdGVyYXRvcjpqKHQpLHJlc3VsdE5hbWU6bixuZXh0TG9jOmV9LFwibmV4dFwiPT09dGhpcy5tZXRob2QmJih0aGlzLmFyZz1yKSxkfX19ZnVuY3Rpb24geCh0LG4scixlKXt2YXIgaT1uJiZuLnByb3RvdHlwZSBpbnN0YW5jZW9mIFM/bjpTLG89T2JqZWN0LmNyZWF0ZShpLnByb3RvdHlwZSksdT1uZXcgQShlfHxbXSk7cmV0dXJuIG8uX2ludm9rZT1mdW5jdGlvbih0LG4scil7dmFyIGU9bDtyZXR1cm4gZnVuY3Rpb24oaSxvKXtpZihlPT09dil0aHJvdyBuZXcgRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBydW5uaW5nXCIpO2lmKGU9PT1wKXtpZihcInRocm93XCI9PT1pKXRocm93IG87cmV0dXJuIFQoKX1mb3Ioci5tZXRob2Q9aSxyLmFyZz1vOzspe3ZhciB1PXIuZGVsZWdhdGU7aWYodSl7dmFyIGM9UCh1LHIpO2lmKGMpe2lmKGM9PT1kKWNvbnRpbnVlO3JldHVybiBjfX1pZihcIm5leHRcIj09PXIubWV0aG9kKXIuc2VudD1yLl9zZW50PXIuYXJnO2Vsc2UgaWYoXCJ0aHJvd1wiPT09ci5tZXRob2Qpe2lmKGU9PT1sKXRocm93IGU9cCxyLmFyZztyLmRpc3BhdGNoRXhjZXB0aW9uKHIuYXJnKX1lbHNlXCJyZXR1cm5cIj09PXIubWV0aG9kJiZyLmFicnVwdChcInJldHVyblwiLHIuYXJnKTtlPXY7dmFyIGE9dyh0LG4scik7aWYoXCJub3JtYWxcIj09PWEudHlwZSl7aWYoZT1yLmRvbmU/cDpoLGEuYXJnPT09ZCljb250aW51ZTtyZXR1cm57dmFsdWU6YS5hcmcsZG9uZTpyLmRvbmV9fVwidGhyb3dcIj09PWEudHlwZSYmKGU9cCxyLm1ldGhvZD1cInRocm93XCIsci5hcmc9YS5hcmcpfX19KHQscix1KSxvfWZ1bmN0aW9uIHcodCxuLHIpe3RyeXtyZXR1cm57dHlwZTpcIm5vcm1hbFwiLGFyZzp0LmNhbGwobixyKX19Y2F0Y2godCl7cmV0dXJue3R5cGU6XCJ0aHJvd1wiLGFyZzp0fX19ZnVuY3Rpb24gUygpe31mdW5jdGlvbiBfKCl7fWZ1bmN0aW9uIEUoKXt9ZnVuY3Rpb24gTyh0KXtbXCJuZXh0XCIsXCJ0aHJvd1wiLFwicmV0dXJuXCJdLmZvckVhY2goZnVuY3Rpb24obil7dFtuXT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5faW52b2tlKG4sdCl9fSl9ZnVuY3Rpb24gRih0KXt2YXIgbjt0aGlzLl9pbnZva2U9ZnVuY3Rpb24ocixlKXtmdW5jdGlvbiBvKCl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4sbyl7IWZ1bmN0aW9uIG4ocixlLG8sdSl7dmFyIGM9dyh0W3JdLHQsZSk7aWYoXCJ0aHJvd1wiIT09Yy50eXBlKXt2YXIgYT1jLmFyZyxmPWEudmFsdWU7cmV0dXJuIGYmJlwib2JqZWN0XCI9PXR5cGVvZiBmJiZpLmNhbGwoZixcIl9fYXdhaXRcIik/UHJvbWlzZS5yZXNvbHZlKGYuX19hd2FpdCkudGhlbihmdW5jdGlvbih0KXtuKFwibmV4dFwiLHQsbyx1KX0sZnVuY3Rpb24odCl7bihcInRocm93XCIsdCxvLHUpfSk6UHJvbWlzZS5yZXNvbHZlKGYpLnRoZW4oZnVuY3Rpb24odCl7YS52YWx1ZT10LG8oYSl9LGZ1bmN0aW9uKHQpe3JldHVybiBuKFwidGhyb3dcIix0LG8sdSl9KX11KGMuYXJnKX0ocixlLG4sbyl9KX1yZXR1cm4gbj1uP24udGhlbihvLG8pOm8oKX19ZnVuY3Rpb24gUCh0LG4pe3ZhciBlPXQuaXRlcmF0b3Jbbi5tZXRob2RdO2lmKGU9PT1yKXtpZihuLmRlbGVnYXRlPW51bGwsXCJ0aHJvd1wiPT09bi5tZXRob2Qpe2lmKHQuaXRlcmF0b3IucmV0dXJuJiYobi5tZXRob2Q9XCJyZXR1cm5cIixuLmFyZz1yLFAodCxuKSxcInRocm93XCI9PT1uLm1ldGhvZCkpcmV0dXJuIGQ7bi5tZXRob2Q9XCJ0aHJvd1wiLG4uYXJnPW5ldyBUeXBlRXJyb3IoXCJUaGUgaXRlcmF0b3IgZG9lcyBub3QgcHJvdmlkZSBhICd0aHJvdycgbWV0aG9kXCIpfXJldHVybiBkfXZhciBpPXcoZSx0Lml0ZXJhdG9yLG4uYXJnKTtpZihcInRocm93XCI9PT1pLnR5cGUpcmV0dXJuIG4ubWV0aG9kPVwidGhyb3dcIixuLmFyZz1pLmFyZyxuLmRlbGVnYXRlPW51bGwsZDt2YXIgbz1pLmFyZztyZXR1cm4gbz9vLmRvbmU/KG5bdC5yZXN1bHROYW1lXT1vLnZhbHVlLG4ubmV4dD10Lm5leHRMb2MsXCJyZXR1cm5cIiE9PW4ubWV0aG9kJiYobi5tZXRob2Q9XCJuZXh0XCIsbi5hcmc9ciksbi5kZWxlZ2F0ZT1udWxsLGQpOm86KG4ubWV0aG9kPVwidGhyb3dcIixuLmFyZz1uZXcgVHlwZUVycm9yKFwiaXRlcmF0b3IgcmVzdWx0IGlzIG5vdCBhbiBvYmplY3RcIiksbi5kZWxlZ2F0ZT1udWxsLGQpfWZ1bmN0aW9uIEkodCl7dmFyIG49e3RyeUxvYzp0WzBdfTsxIGluIHQmJihuLmNhdGNoTG9jPXRbMV0pLDIgaW4gdCYmKG4uZmluYWxseUxvYz10WzJdLG4uYWZ0ZXJMb2M9dFszXSksdGhpcy50cnlFbnRyaWVzLnB1c2gobil9ZnVuY3Rpb24gTSh0KXt2YXIgbj10LmNvbXBsZXRpb258fHt9O24udHlwZT1cIm5vcm1hbFwiLGRlbGV0ZSBuLmFyZyx0LmNvbXBsZXRpb249bn1mdW5jdGlvbiBBKHQpe3RoaXMudHJ5RW50cmllcz1be3RyeUxvYzpcInJvb3RcIn1dLHQuZm9yRWFjaChJLHRoaXMpLHRoaXMucmVzZXQoITApfWZ1bmN0aW9uIGoodCl7aWYodCl7dmFyIG49dFt1XTtpZihuKXJldHVybiBuLmNhbGwodCk7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgdC5uZXh0KXJldHVybiB0O2lmKCFpc05hTih0Lmxlbmd0aCkpe3ZhciBlPS0xLG89ZnVuY3Rpb24gbigpe2Zvcig7KytlPHQubGVuZ3RoOylpZihpLmNhbGwodCxlKSlyZXR1cm4gbi52YWx1ZT10W2VdLG4uZG9uZT0hMSxuO3JldHVybiBuLnZhbHVlPXIsbi5kb25lPSEwLG59O3JldHVybiBvLm5leHQ9b319cmV0dXJue25leHQ6VH19ZnVuY3Rpb24gVCgpe3JldHVybnt2YWx1ZTpyLGRvbmU6ITB9fX0oZnVuY3Rpb24oKXtyZXR1cm4gdGhpc3x8XCJvYmplY3RcIj09dHlwZW9mIHNlbGYmJnNlbGZ9KCl8fEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKSl9XSl9KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUlkbGUuanMubWFwIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmJhc2U2NEF1ZGlvID0gdm9pZCAwO1xuZXhwb3J0cy5iYXNlNjRBdWRpbyA9ICdkYXRhOmF1ZGlvL21wMztiYXNlNjQsLy91UXhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVNXNW1id0FBQUE4QUFBQnhBQUM2SGdBRUJna0xEUThTRmhnYkhSOGhKQ1lyTFM4eE5EWTRPajlCUTBaSVNrMVJVMVpZV2x4ZllXVm9hbXh2Y1hOMWVueCtnWU9GaDR5T2tKT1ZsNXFjb0tPbHA2bXNyckMxdDdtOHZzREN4OG5MenREUzFOZmIzdURpNU9mcDYvRHk5UGI1Ky8wQUFBQTVURUZOUlRNdU1UQXdBYzBBQUFBQUxod0FBQlNBSkFLV1FnQUFnQUFBdWg1aVdHYk5BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vdVF4QUFCMU1ZSThLTU0zZ3Fxd1YrQVlacEJCQUFFT21lVDA4bnR0SjVNbmQzekNDR1hwaURrN1AySU1VUXo5eVpOTzR3OEJoZS93bnNSRVIvZG5wdURyakloeWV1VHUwSU93QURNSVNmOEFLVEFBQVE5NnhoQk5uVGgwNzN1RGhhZGt5ZEp4TnQvRU1RZ3hBc0JyalhKcG5rMCt5WlNEMmVEZ01ubDN6Q0RwbUJaTW1tWmxtSU5hYlpkN0JPMk1JRU1KcHVUSmt3Y0wwaGprMDJqeGx4MmozWk5kbUlQcmRvSnA2MGZ3aDdLQUNHSHAyZyttSU9uVENqVE1DQTZOSlJnR2ZtSnUxa2pXSXA4THRndEJYaWpYd2gwVUlncTBSTFdTN3JUV2ROVHNRYWtSSk9nUzhMd2lacGFGMlFsRUdMUlMxRytUZGlCNUd6bEdzaWx4U2ppZU1IR1ZDenkwYUtMYmh5bU5aUEdzK2llM1pGMGdzUU5ocG9ScDFMTkk2YkJBZ05WcENqelR0TUtJYUhjeFpieXpGd1l4eXhSaVpXR2tEQWdZWXJtQXpJT1FaS2VtK1RhejVQUGM0eW9VNFh0M2kwbUoxMmRwSldHd0FoM0lFYVNsRERuV1R6Y1VpdE55d0FNUGRhWS9wMzFRa2FGUHpYTXNGQUtCOFlXU1hnU0MyekwwVWtVTTZSRkhxVVBPQXlUaWhhVDNvNThPMU53QW5pWkZQQ1IvL3VTeEIyRDFZNEsvQU1VMEFMcXdkOUFZeVc0ejBjTVZLVFVTUDFOanp4S3lKcUF2RG5LdDZrbWtCcW9FUWtaZG5rclBkS1ZGSU1idW5sUU40T2ZITEJyZ3d6YmVqYWUzUndOSm1GeFp5akVKaHNWMkdnWXhZSGFUM3k2VVdCYXcya2NmREZ6VDdBU0RrcGN0S2FGU2pHdGtkalRoWnBoN0o5UDRnNUp5aWFDU0p0QUZEVkVEekJpZTdtQTRZaEhsSEVWRTRKSkN6OVFZcFpwU2laeUlPeXJBbnhLVGtKSUVuWW9nTFFoeVk5QTVSNXdndktZaW0yMk91Yk5TVmJQZWVwd2trMUdLTzJTZXllYTdkVFdsWW5jYWRLcWk1TlVoUnNFc2U4elRHeVFNWWxVQkVaZFNCbnJGbFo0aldpMnJCU0JoRVFGNVJVUGtIWWxKSjhrR3RJR21zdElRRkJRanZMeVJ1SmxHTVBabktYVmJxU2h4aDhINDU3bnlWWlZlMXVMTWFrUXRDNG5rc3lVUk1sY0kyVWsxMUxiWVZYVUtySklTS2pSaHk3NkVjMk9DUUJ3UkI4dWRpSUxFcG1UN3JsTEtKQWhScjlsVy9LNXNTbUpVY3JtemhtRFdrMlphK3U4RkZHcmxXQ2lPWEhFQlF0c3k2SnBsREJhVDNzV1dLeFhTM0NTU21ONU9hdHNxd3M3UEtkQ3Rramt6RitTNTlaYlU2MldOdjFKTmYvN2tzUXdnQmNDQ3Z3VXhJQU1TRHFpNXo5QUFBK2phV2ZCV0p5T3ZZanFCSXlpb29oVm5CUjNXdENpdHg1RGk2OXVNTk5KZUtSQVFTdVNVS2N4VGJjWUxvVVp5WDFkdDBXb2Izc0wybE9aL1VMMFpPeXBDUm5TbVFKRlhUdGRKRWxHRUlvSkpkTmxaU2FqcEFBQUlJTUlBQUFBQURBeEFlNHdqUURlTWwxTGpqTzdnQzR5QVY4Tk1TRUVEekJHUU9Fd0p3QmtNT1BCVnpCTHdWOHdXNEpJTWdyQkhRTUFjbUFNZ0FaZ0hZSjZZSENBWm1BQ0JOSmc2b0RLQUVBQzJBRzdKQUtXUkpSZ0dZbk1oNEF5OERKZ0FVS2pWSWdNNExqRTdpenhPWUxFd0xBZ3RKRGF4ZWsyUlFvbHcxTDZSSUJ5d2JDSnpGeEFWQW1KVEhXVElMRlUwMDNkWWJXS1dHaU44WklaRVB1eFFPckxEczE2WkpqaUlLU1pCaWRKY3VyYzZhcU1VNmRhbFZrMFRwV0lzVHBiSWNTeDh6VlJ1WkZVejNaYWI2cE5FNld6WU9MRVBMeHFmTHlKODQ2SWhLRGdhUFgzL1hTejVraTZScTZTTHBJdWt5MXF0ZHJOVFozdFgzYXVxdHYvbjBqSU1tM0F5OFlhZjdYZTFaRUVEQnNBMWN4UXBSdE1oaExWREZYUW5vd1hrRWNNQTFBa3lJQ0pNQjZBWXpCYVJqVC8rNUxFRWdNWlpZMFdQZm9BRXdreFl3WDlVYm94cUFQYk1YM0JhUm9HR01CM0FEVEE2Z0xNd2pnU1NNQitBWkRBYlFEb0tnQXdqVURFQXcwQUZnaGlhT1h5OFRSaUxVTmNraW1nYm1xaTRnWHlna2FGd3BsQnpHTWt5WnVUNVhQblNzRUlJQmhlWk1iSkRIbWEyU1k2blV6SkUyTGVwRTBLaDdXZ1h6aVMyVFdnY0xqR0N6OVZxQmRLejJhYXJsNXpFOHk1Z210R20yOTFMS29DRXd1QXJLV2piVDdzcnYycnErbXRYVXZxZHRYb0Z4QkdydS85L0lyOU5BUUdDUGd1UmhheGxTYWpVS2ZHRUdBZ0pnWDRDY0JnTkF3SGtCTk1ETUExRENweVVzd25ST21NVXNCL1RDUndKc3dEWUFLTUEzQU1EQktSWFU3b2dKc0JVQ3pkbHJsanh1VHp2TE5EUjI3a0R3WS9kMmNwdC9ibGZNczgrZnU1RklkeHV4dWpxNFdaVEp3NDFSNTJlMUpQU0ZBbjAxb0ZBbkZuU05FdkdNSmduVEJOTmszZEpDdEZOT3lVc08yN0ptQk5tbnBJSXU1Nlo2UnFndk1FMmU3MGpFREFwU0NwVnVtOWFWbHJxWkE4L1hRcjcxS1piMi8vcVVUcmxaRDlhZjFkS2dCRkFLa0lsWU9KanpFakgzUUtLWXJBRVJneGdDbUFnQUVZQVFISmd0aFJHWVVrLy91U3hCR0NGcG1OSU84OXNjTTNzV1dwMTQ3NG9iWHVNcG1uQTJtT1NDVVlJd0VwZ0dnZG1EYWNBUEFWb2MzUGx5YTBuUmcycjNVaitQR1R5ZWV0VjBSaVIweU5iMkN1NjRqdzQ5MjZOcDFlWEUyNEtTaVd4bGRVOE4vaC9lMGQvWExvanBvSnBxeHNqTlNsaFZjSVROZDNTREVva1ZNenJXNjFHTG9KcW9xUmVrdWFxUVZYbzZ2V21BaUIxYW03Yk5VNkRyMDlQcHNtdjJadGZYLzF6STNVcm9YLy82aUFBQVJFU0NnbG1KWGtIcnpSbUd3Y0dCNEp5NEFBOFFEV2JUZ2dmY0gyYlBuSURnek1Gd0FNSUFBTWNGcFpZQ1FXSGdGQlFBTENwaHIrVEVmMVRlQW5jcldLMFBTOS9Jb3dPSGxMeWVJMVI2d3JHOWJUOW5tcjM5TzhncTlzWkZ5cXk2SFNPZ2I1OElFV012aXRWY2w3VFAyeUpEVmtyaER0RWg3cG5lZmpYenVCbWwvNlE1MVpCY0g4Q3U5Zi9GRmV4T0RuRzA0VDB2M05zYlhKa1pHTnFleHdsU3dyN1h4VEwrRXlHK3RFN05neFNGbTRxV2ZkTjAxZmNDci9BdUk3SlRMK09hVXhjSy9CLzhjVVRRQUFBSG5OdGJKTEtSMWdIZno5ZWdpYVpCTktZdFJtbXA1d1pLVVBnQXczRVQ0WWNoUkU0OURpdHJsUHB2Lzdrc1FXZ0J1UloxbXM0ZTNqRXl5cXFhM1RrdUc1K3hVbExidjR6MVZ6aktrYmpHMHcxNFJsaGFBTlNLRDdYZ0lCT2t5aFRhV0ZManR4Y2R1RDhJQzNhZFJUZU9vbmxuS1piWkdEM0xtdUhVQk9LVnBlTHRlbW1pU3BKTko4T01CUEVFQVFBL0NHRUhPb0pBUGNoNUJGQ1pDNVBNNUcxalRFRTlTbFE5TnRFSndUN2M0UE5RV2xrZXUyUy9nS3h0Tk5MeElEK0htMHUvV0hQYW1zc0R5R3gyUFVGMENWVnordElIM3Vtcngza1JuaVA0eXNpUC9BY29NQXdHeFZXUklFem42Z1FBSkNiY2lrblZqRTd0NzJXNTFWV21aY2dGeVlLR1VONUZpSUFaZ0J4emtxUU14QzVQWmE3R2FHS3ZyUDduYTFydk10L05QODVWL2txa1ZFenFCb3l6NUZadzBlVUprYnBxdG1hazhPeVNqZmxIVW1VUnlYemt1b1piV3BjS2J2L3JMTFdkV1NRc0dBUjV3S0dCcTBubFpWQzNKZXBnejR3aHJVUWE5TjJJYXA2V2VtcFJMcVdXNDAzYk5CWXlmZTQwa1VWR1RyYi83Smp0THFCTkVDTFpCUjBnMFFpR2s4dEUxcXVveU5qRTFKb25pa1ZpWkxSTkh6RXpNaVVzV1c3RnlQK3hVQU1BQjJPQVlZWXNPY1psSVlOZ1d5eENzUUFHWVVnMmIvKzVMRURBSVhHYmsyenVhUGd5MDNaVUh0eWppNk1vQXFaTUpodUtPUEdoVkpnU01Jd3dNUFVlUFowWkFSTkVLSUxIQVZUNU02dFM2L0hHbXM1Zm1KUzVHMld6TlBHdTFxL002dnVuWHFYNXhyMGFuaTV0bjcrcmZNZFdyZEFDalpyT3JwYjc2SnNpWkdJRlRnSGhlaUFSTW01ZEhwMmF1MmdwRTZ3MUVIc2lrNmlpdEZBdkh6RXdEcmh5QnFXalppazdJc2pVdVk2NUhrUmRHWmt5a2JCUUNKT2VUYmVxei82VmYyNnIvdHQvLytSeEovcU1DY0Z3d1RrRnpKNEcyTURnRVVpQTNSb0VZSElzQlVhUElJNWxybzNHTW94UVpQNFdSZ1pBS21CR0FlWWNBT1pobG1ibXVXYThZWklQSmdnZ25pUXRKZ3lBRkJ3RGJOSUhuSTAxU2locTFValNoMU5PVHRGTFpKL0xWU1dzTWlNNUhxYUpTNkpDRVFrOWVjN1ovUGRhbVdVTklVSDJkWXpXT1A2MWY3M210MXQwa0ZxS0JVdk9kcmkwYlNKQTY2clp6TC80cGxPa1lyV1lpUkRKcXFkYUtTa1R5RjNjdWd0cHN5azFJL29MYTFoOW9XUlk0a1J3Q2NJTmV2MnRYWmEvdi83ZnQvLy95a01KUHBBREFBVW1CU0JFWVZRekpyRkJGR0RrQVNHQVBGUUFjd0hBT0RCNUJGTXdBeC8vdVN4QkNERjltN0xNOXFyNEs0cDZYTjd0RDRzd1ZqYXpCTlZRTWNZS1l3RlFGUjRCZ3d0UXFqREVIL050WWdZd3VnQVFRNE93Q040WlIrWWpNWG8xcXRWcHM2ek41Qkc0aFZ6eHNkdFpkYy9kbXBsSGExcDQ0cGhsOXp1ZWU3TWxVQXM2UWQzcm82U0tOVEd4cVhnRUFNRFpBckRTQjdNeVVLNjlEdXRHeTFHNUVsN202V3BtcVFURVFEOVpXYzJZOGh1NnpxVEtwckhTYjAwRkpJa3lGNnh2TytoMnBVYXZWLy8vLy8vK21XMzZVUVNDNURBQkFQTUhRZWcwTWcyVEJPQU9DQUcxUWhjRFlsQnNOU2ZBTldqTU41VVFKMzVGaVBNSWdPTVVpUk1icGNQMXE3TWZCY01LQXVCeUpBWWowUkcvZzYvWXA3K0hiRlZZdFBPMDhhVzEzVEtvNXA1QTRXQ3dib0U2NjZqTTB6WlN4SEo1Rms3V2V6c25wcExTS0lOUUFIZkRpeEdxaTZYa2x2VjFYNDF5dTJ1blpVeVhUWVo0SEJqeVMyTVcvU1UvVVltNjBMblZGNE50SU9nZGN1S2lRQ3ZERFNWZWxPc0tpK3o5b0J6QTBDYk1CMW9vd09TMXpBSEI2SFFNUU1BUVlGb05oaEVBUm1MMjgrWkxhSWhnL3V0bWtrSGlZRzRGZ1FBVVlZSU1oaXJuQUhqeVZhRUZOR2Y4bjdGdi83a3NRZ2c1cHR1U0l2YW85VE9TZmpoZTVSOEh2Z0dFRHBmTWhhOURzR3ZKMllpRlJlV1YxNGJGZTVacTM2MXQ0cWZPNUZwWlp0dnRhdnVjTVhkYnBHWVlLUHNnZVdkUk1rRUhvSDZqSlpvWmtZRFVLQjlMUTF5NVBpeVVESStwQTh0YVNsclp4SVM0cEZDU2hlTWtsMVhNVkRQaHE0OGdiSmt5em9NdG5KbHlzMVR5ZXB1Z2ticEJib2R5UnRTVld5azBxYUNyVmIyVmRtWjJzL3BvUHFVMWV0WDZzNndqQ2NDM01jVmxJOUp5aVRFL0J5TUhJRE13TVFFQUlCeURnUkRXbWNZTUI2QzB5Skx4ekVsR0hNRVlINHdLUWxUR3FDT01VZG8wNHEzM0RFUEVyTkxwVTl3U1RlUWNNVmdFbUJpejVORGNGWG43cVVFdVNmbHRObFpwWkRha2xXOUFVTjZwcVpmZDIxR1lMbDErM0tKSlBTZlc2dW5VczBoeGxtdk5yT2JNa1ZUUW5qQWNzRUFBRGUvUXl3UTh4TFFuSk5qQStaS1cxUmd1aU9rWkZMbVJvWkZ0cVNrY3NpQlUxSkxkbjBuV1pKRk5XZ3BLclNVV1NIbVJzYnJBNHhSZUltekEzYmJ4S3AreWpDdHl0RkFFTGpBc0FJTVFNajg0VlJGREMxQVZIZ1VDNHdOQlZNRndIVXppd0xURmFIVU1PQXRzelN3UXdFREFqLys1TEVGZ0lVWVU4a1QycU9RcW9uSkpudXpEanlZY29OaGg3RUluRmdIY0FpQkRNV0FoNGJaS1c2V2pFb3pwRTJNWnhZMUZrYzZNNmphV2pWakZJbFNTTlMrZ2l6SUpvS1ZXbVY2VDJyb1ZaOWEzUlpab1h3REZCZlNPU3FnNldyVm92TUNwNW1lVTYzWmJvekFuYWRCSjIrZFl5MW4xT3l2T2p3WnNic2xldDFIQW15V285c2xLc3hpUXlLRjVnSGczR0J1b3lkNXgwWVJpeURBWUxWbUFnVm1EWTJuYTJMbWk4NUd0R3dIZ296R0dnU2hVSmpJNGtUR1M5anJMZ3pFZ2NqQ3dKakxrRUF3d3g0QkJVaVJLNXFPc3prNGtpSDdwcVkyU1JSVXBhU1NhbEVNTVVEN3NnenJSUldmc1htcnJVNjIwbmRLcDNkU0FKMUpCTk0wSzFCMmFocnZrY2FyNTFsMXJ1eWxtUmJRZFNrenRhMDFPY3UxVFZzZld4azdEcVVCbjNNRTZWQ3dxT3BiR0g3VmhxTlVvWCtoUmtNSE1LWXhMbVN6alVLWU1OSUhNd093SWdFQXlDQUJ6QlJDaU1qMWd3eEkwRlFJMG9ZaTRieGdJQWNtQkdCQVVDUkdKQ05FTG5sbUppQkdZRllOcUNNd0p3TEJBQUt1YUFZbFFtQ2FKMnBBb3U1YzhzZmUxekI0VGpWRzRxWFRRUnArNGVqMHhpRUc5eWsvL3VTeERXQ0UvRTNIaTh1YzBKem9TUVo3c2s0OXo3Zlg3M1RyUTFFUEFmNGk1NUpab3pwSDMxcWJYSlIxS1c1aXI2cWFTME00cDdleGlpalU5ZitSN0RiLzJQLzRWOWl2dURBQVNtQ2VBTVlxQVd4MDJCQmlRN2dZRUVZQ0FBSVhCU01CY0Qwdy9VZ1RIOEd1TnkrQU9YaElEaGVDZ09tVFF4R0h1S21tKzZHREl6bUU0S21XUUVqeGtGQUROV2dhaW41aVVYYUt0UlBIZW5jdDZxYXNkdFZhaG1neVpjS1I0bUtrbEpPcXlKa1JKTjErdHE5RFp0eVlBeXNpQ1oxSk5hQ1pzZ2t5UDFIRDlXZ3YwMjF1WXFkMFppWU5SQTVyTWFNT3A5cGJycTVyVUIycy8wS0FCQ1NRRnpDWjVqZ2d6ekF3Q0dMZ1lDQUNBcGdHR2huQVl4aEdTaGlDU0ljMnFvbDZrUXRHRndZbklRVGc0YUFzQWpMbHl5Njd4VHBKR2w0TGVra1lmNjJjakNoYUxhVTQ0cDk4ckt2NnY0eXNZVHJSQ3lkYmFxMUlzSytNeVp2Vzlua3Jtd1JYOHNkNVdQOWU5WThEVjN3ZFRmUERqS3lDenNGWDhlZTZLKzdDQTdBRmVDd2l2QkFkaEFoMlBwOCtURlZEQ0Zjb0p3d1RJbkJ3QWdnQUFMejk5cGRiVlNlU1QwSVFBWGh4WkFoTFY2emw2V3Z6MHNlaC8vN2tzUmRnQk9OQVRCT3ZISFU4eS9yL2N6clg2L3BMOS9oaU1MbUpTR0RpdVlLRVJwbkpteW9tUEk0MTJPektLNU1QbFV5T0VBd2RHTGlTWUpDeGpvQWlvY2FNQkFhcFdMQjhtQVFzSVVLd2dLaFVaaENPTUhDUXhVR1RFaFlNVGpNelNxeHdVR1FBZUJRQ2c0Z1RYeUJsbWNnb0JTd3daenJqQ0p6TFBNLzAxM0RPeVB3ZzlKQkZDWmJCbG1pU2dXRVVkTWtjdmUzSjkzUWpjbGw4a2dTQ1pWSm9DeWRWNEd2dlRMazgxekxUU1BRQnM4U2VCZ2FId2hGQWdJRktIQVJvZ3M4d05FVlFjYWJHQ0xRR01vTUEwRW9xRGpvemFPUURDdzlzQUNIdXF5cU1TeGFpT2lGWmJkVGRXOVRNSEIwdjRnLzBhd25ZNUtKeGdENUtabUdPR29OSW9xVGZSbERUS1NIMzB2VHRTTHR6WjNDblFpelNITmY5bmJENUU0RW1xWHB1TDQyNVhUMzZtVEs1RFJXbHNmVkFBQUFEemNzRXZpbXBoY1dCTG5NTWdJZ0FLaUNtSUtLcGtETERKZ05UNDlnWVVYQnJrTVAyamthM0JSRUUxcHZ6R0hXTDhpem1JeE12eURHbW5nWjVsejBGNjU1MGppUXQ2K2lwaTcwV2lrRk5zNkt4bTVzeFp5d3RweW1JRWxBcjlyTkM0UVlXQU9jMTFocXlHTC8rNUxFTndJZlpXYzlybU52UW9Bc0pnSGN3ZmlqcmlCUXhPVlMxSWxERXdGUkF3QzBDS1Q4eS9OTGRobDlYRngvSzFhKzNybVc4Y2NkVnUyWlZSd1NwaW9LNHM2L0pBQnNHZnFIcFUvMXF0S1YyWjJwZERUdlM3Tk1vZUg2a1BmeWdocC9vYWhxR2IxYksxalZsTVpoN3NaZG1HYk1hVU9nWkJveit4TTJFUU1Fb0t1clJRMC8wdHVicVk3aGx5WDU3NzdFSTBuMVR4bXlRRG9hS2dxLy8vU0tBTVlicnFjN2t3QmczRWdFUnBNRHdCTUtoOU41YkpNUHlZTTBQdk54UTFNVHFRTXh3TUF3V0ZRanpGWW1FT0xoa1RxRU1uYTllMWFkcUh0NHdIT0xZNVhRVXBjZnl4MUQwU3VVc1psc29kNmpmMExDNjFmM2p6bXVNbEVTNGFaR1l6aEJwblNPdm52ZG5XVy81NnFxbU1rVzI3cCt0YUtsaTBrNDlxTTRONHhSUlJaRmltSUJNMVRmLy9xT2tOVWJnVFJSelIvLzkyRUxEc05mLysvMktpQUFBd0pDb3dVbjgwSVFRd0lDa1FnSXlBWUVzd1pIRStDWVl4MlRrMW1IY254WXd1Mkl6VUZZd1hCVXdXQTQyb0U4REI0WHNRdWRPQWtTNjdDeDcxV0p4VDNVQUQyeksyQXpTeDFDckR4enJOL1dFRGlTOXp4Z1hsTFFLeGtMLy91U3hDK0RFNEZqTEU2K2tSS2pLK1VKN2RHNEpBemdra0RFK09ZQnBRSW53K2JuREo5dFZuVWdSRkZ2NXQ2dEJKaDI5bHJMQTAwWCtOVVQ1TmFQL2YvNXhJc0FMamh4SS8vK3NTc2VYLy8vNkRnUUF3SXdJRENVR3pOTkFKZ3daQUVSb0M0QUFDQ29MNEpBQk5FMHdneE14Y0RFdVltTXpjTlF3YnpEakt1QmlHQUN3cmdIbDRZQkJHU0RSa05BMUpIcCttcVIzTGRteGNuS09uTEl2TElZN0pyOHNmQzFKdTE5NTQxNlYxNHBRWmFxNDkrZ2x6TWg0cWkzbUF2d00waERmeWNOQytaL3NiMHpoU0hHNkxPeklxTlNwYXRWcWhUQjRmVzlNYzV1N0xOQTMxTC8rcHZXK3BKRXhEb3hzcGYvOUJZcm9lLy8vNll3RUFNQWtBOHdsQitqVXNEbE1HWUFRTUFTSlFBVEFpQStNSVVJc3pGbDN6Q2VEdU1LZUFveHJnN0ROa0pENW9EakRVRHpCa05UZGNlQWNJYUlZY0FxZ0RWYWUzMm1xMnJ1ZmFxeXNNaUVCS1dHcFJQV1piYlo5YVFuS2FveXFhNnpqdVpHcUkrd3hRaTVpUGdFMEFYS1BIQ2lpMTFWdWVXdFN5YVFRU29Wc2dZNnR0UWtSTjlhRG9qWm9xcnJKUWc5Ly9YNnJkNWpNeENyOS8xL3FLQmIvLy8vLzZTQkR2Lzdrc1JUZ0JTWll5WlBkb3VDU3l3bDJkZWQrQUFRRUIwY2dBeHdOTWtCWnJyVmhFRmhnMlFSZ1pxd1VJTTByZlFEcUlZc3NDYnNCQ0JnaUN3d21Pd2lKMHNJOFRGbGpQbHk1djF3OTNDZXBQRVZhM0dyTStjWG01bjdLdHl1QzI5YWx1VHhMZlg5SWlkdnI4Y3pKZStzWHppL3daWkxNckxkVWVkUmRicVBFa3NqSWkxZXI0YTIyZmJiYmZmZk1DenQvMDl6NGpFeFpvQXNVMFdXd1phUE5rdmYvb29BQUJ4Z3djQzB4emlBL2pOTXhKQTRNQlY4UWFJUmcwQlp3TDFaZ0NjeG9ycDU2a1VwampmNXRZTTR3QXdHR0UwU0RWSEFWd1hJOTJoc1VqRWZ0VkxHY3AxNCtOdTJXR3JZczJhL1BwQ24zSm1qbTQ1LzNhMk1XWGxGcXRYcFZuMW5kcld0ai84LzZWM05UTFphczA4ZWRCNWVGdy9pYzFpcXVjbFZ0cURVNklvK09nMmRDUjV5U3pUdE5xcWJQSDgrb1hIYmRkdWMybXRSQlJYOEVCbVF3RlF3N3hoemV0REVNS2tCTWFCZ0J3QmFCQUJBb0duY1VJWVZCRFpnVHZTbU1FSnVZVHlacGd2QlRrd0c0QUNjQ3dOSUNBU1dXUkFCRVFBejB0amZhdkxHck9GS290SFE2RXQwa0NsNWZTZHVtS3lIMThaWFVvT2xjcmYvKzVMRWZnTVRvVThvYnIxdnluOHNKQW5tTnBpQ2FmdHlrWS9aUm1DZWwxa1hYNkdrcldTOUZTbm9wS05XclFXWUxzR2tsalZPMWxHdFNsUHJHVHEvL1VqYTdQVm5CNnFiMU11b3dkMlh6dHFkcXJyZWFnU2EyeVFTSUJoanRKMHF2QmcyR0l3QmpBREFrUnhJbVQyTjBqS2NBRFZqYXpqMGN6SlNzelZVRlRDNEREQjhFRFBjQkE0STFqeEYybmxNdzVWRnRjS1ppWUtUdEdqY095N3QyK2xoK3VvbW9GSjI1bVEvLzZsK2NZNllLKy9ibkppUzJuQ1dCQy9oOTU2ZTlNb2lzOU4rbEo3T2E1eVdjMERJbTUxbE9IVzUxVGlQdHYycXlXcjc5Q0p1MjNrQUNZQXdVd2hERFNVN05sSWl3d2xnV3pBdEFhRUFCNWdHQW1tQ1dIS1o5U3BaZ3dCT0dNb2RnYUtJSVJpSUZhbVlLQmdZRUFEeGdEaEJtQytFWUNnSjBqeElBVlduRk54c2NvaWF4RnFPbzJaMHlvUHk0WmhnMHNYRHphMnE0ZDM4OHN0bHVQdWp0VzF1a1REaDdGYUVEQVhPM245YloyL25HOUFKVEVQcFNwUkVWU0pTRzRraWgwTW1PNkhwOVR2YXZhL3QyOW9ydDB5bGJEQyt1OTlPai8rMm52UlZFQzhqQXhBS01PSUVFM1BBQ1NJVFFhQTNBZ0E0aUFnRS8vdVN4S1lERWRFNUpHNjlVY0tTcHVPSjVpcWdDU2NwK1FaaUMrYkYzY2MvaUdZeURrY0doRVl0QXVZS2pHWW1CbVhXVHpWVVVRZjVvellLZVlmYUl5eVc1aXFOWEdnWUtTbUJmRTBmRXBlaHpqcUtZNm1zbTF4QkRFek9BbW5iZm82YUFST2VQck1kYzAzYStvcUNhYzN6cTYyUFptNkxaS0hJLy84c0hmOHM5ZDRwMFBSS3hzdEN3QkR0TVpLb1E5UWt4VEVjREtNR01Gc3dCQUZEQVhBRk1Cc1M4enhGdXpEK0NhTU5vY3N6SncxRENkSFpNaVVPNHdEUVhEQmVEQk02UVJRTUJWSUhHZ3hVT3ZxSDJkc2trU1hhT3ExTE1BUW1RWDJrQ1NtMmxMN3ViRzUxOThLOXFrZzJaa1ZtcTUwSTE5TmhqbmwyYW0wc3E5Y3JOZ0ZzWkxwc3JzN0ltcWtGR29ESkljNmJtYys2bDFLL01tMzZIV3RTZWhUM3ZzMnJVdlZVenRVVGg5SlJOQmtGeHFCRU1hNE9JZUlWdUZVbElzU1NkODZsdlU0YjlDT3BBTy96QnFETk1NOTk0MXhUWFRDTENZTUN3RU13RXdKQmdFY2hCYU1FVTlZd3BRaFRHWE1QRGo0MFVyVHBZZEVBaE1adzQxYzl6QkFFTGVCeGVFZ2U0THF5NTdIQ1NRWmEzdG1mUkV4cXFPaytUYmZhN2pyVkllZ3NpUC83a3NUU2c1R0ZOeUJQZFVYQzlxYmlDZXcxOEhvUUt6bjBlWHU2b1JTaFhYSklrSWM1YlVMYmQ3ZUgrNGgzeGNiWXEvcjU3dmg4MjNxWHg4Yzh4WDgvOTNXLzk5Tm1tLy9hb2sxTzgvemlEWXFQcHFuZjVQejEzLzByUVJCOHdWd0ViTVEzSDJqZkpRdEV3dzhDVU1FR0FSVEFtd0JJd0dnQkhNQ3pBVlREQ1NPMHdFVUVXTUN6SFlqQktBTm93SXdBYk1QMUFQakFTZ0Nvd0ZFRXlNV1ZCZ1RBdXdBZ3dCTUE1TUFyQUlUQUhRQW9vQUNFcWtuMmdzUk1BVkFIR295U25TSkY4QUlUSUl5QVBtZ3dVK2NoME43S2V5V1NxMDM4dkRGSUE1STJhRldFL2FxUnBpaEphL1Z6elJHbE10NHJhZUZMdlY3Nm56U29ZRE11NjF0aXVQeTBoUWxXT1FTdS9tdFppYVJSeThpcHpPVlVGVzNwbFJDMUhHM2VHbDU0WTRDYWpobXFoTXJDSkJqZGFkV2Z1djU1aGpqMDdLb2VOTzFPemIvSjMxTnV4M04yNzFWTVFVMEpUQVdnTlF3bmNwTk5PeEV6REJ4d08wd0pRQmFNQlBBT3pBS0FGSXdEOEJVTU1hRkNqQTBnVGN3WDBUc01PS0FFREZKMGpiOFNESWNYekUxU3pmR0dqQ2NRekFNQVJvdlJJUkZScm9TeWU1d1dXTmVkRitMLys1TEU5QU1VY1RjV1QzRnBTNmMwSVFYM2pxa2VqenNRV2lBemwxYUdmYzJkazhXa2VULzBzTG1Mei9SOWlrUXZPWFRGRTFRTkdGaUowbVREWkFaUlFtUmNaR3ROU1RLcllhQW1xYWZkQkZTdXBUdHJRdFE3cVd0V2hUc2twVG8xR0dtL24rdVBjUnNiTDhsVi9lY0t6ZXZQV2JxZjJFREhIa1ZmK2JYL1ozOUZaVjYvYSt0ZHIvY2pUUUlUY2JaZ2toY0dDVTcrWTNCbnhnWUJJbUFTQjRGQUV3U0JVWUJnRWhqNWlMbUJzS0VZVzVFcGtDQWJtQStISVlRSUhBWURBRlFQd01mQVBBV2hRQUtNTEZkZ2tyUjFLWUtGUXdpWkxxZDFDSUMxZGlyNHR0dXROcUdkWU0zSzVabjFsVnVzdFJNOTRPdnV6bVJkTTI5bjV1QTlKVCtpcFIycG5yWFduWlNMb1hmN0pLV3RWSHFWZG5yUnJXcG0xMXJtQjJUUTBpdGg1d3VRVUZsMnZLTkY1eW1sVEVGTlJUTXVNVEF3VlZWVlZWVUNEQlNRV1F3NW90Yk5wTUVqRENtZ1BVd1BFQXlNQ01BUXpBWFFCSXdCd0FNTVN3QjJ6QVJ3a1V3S2tpNU1KVUFWVE1pQ0RNRWZ6UkU2VERVK2pNU1F6R3NLZzRDREY4QWlZVmxGR2hHQ2dCby9NMUM0RW9KaUlDWk5ScnRITm80aEJ5VGovL3VTeFBJREdjVVREQy8xcThxT3B1TE41all3YmNUOW5mcDF0YmpRZ1BYckEvSVMxdlhjV2tPME9qK3FrTWRZZlpiaHlZdjY2eDc1djdmZm8ya1E5bnRxbTh3Y1oxcXRxV3R1Yk5MNWg1cGZNeTBRQVd0cTVNSGFlSitoeVNWMjJGNnZ3S3pWZHhNZWhJakhFWFlxZDljbTVWalVsMlAvUGZ0aDJnSE9uQnRucG54aHkzOUJUamtjTURzQ1V4VURiRHFvR2pNT3dEZ3dPd0ZRTUJvWUNvSEpnU0FSR0ppRzhZWVFXWmczR0VtTGlER1lKd0xSZzFnTUdDY0NNTEFEbUt5Qm9QQS9vSTFMSWczVmVVeVpnU25JZ3F6NW96WlVvUXpxbE9tNnlhbGxBYW90YlhSbnRtb08zZWd0TmkxTFVhMEJackJUV3N5dGUvL25wOFYycmt6OEUvYW9Wa1MrZkRxTVRVNW1WaUdacldrOG10L084aDNQMS96bmZ6eVRmaU82SGcrMUZkcExRajgycFZWVmxTSHJvd1JBK1RCU29NTkloSEV3UEF5aEdDNklRSUJ3R2N3TWdZekNlQVBNT3NVSXhhZzhETHZEMEVRTTVnQWdNQUlISXdRZ3VURkdEQU1BRUF1MlVBWXBBdDBicW5PNnNyUWtNa2pPRCtDT1N6dEFxV3RUaVU4VHp1cStEejZPSS9VR3MzWlIrMWlGV3FRV1FTZU5BWU9GamYvN2tzVDRneHFvNndndjllc0twQzFpemVZT09WbTZaWHEvYWQvR3pxTzJ6L2ZQYWUwYlZzenFFdGFrL1RJaFRPMjRheHBDQWVlaGl2OHVad3pTUmYvMmlreEhtdFFzejNoYzM4VFBoS1RoQTVjZlZWYmIvNGxib2NJRExHQ1RBdzVoYjVxY2FsT0xGbUVMZ2hSZ1hRQ2lZRHVBbUdBbkFGcGdKb0M2WUlPQjJtQURBTWhnTEk2a1lKMkFwR0NEQVloZ1F3Q1VZRlVBL0dCREFuaGhuQUltWUFLQWJKY0dBUWdCUmVOY3c2QUJwZUpYdW1KTVJrbkNWSnl3dVN0YlJoSlJGclpvU29oTVpQL0xWQ045SFJtOFk1MXdvMHNtcVNUYzlDYTVrZVJ5OTFteFQxcGpPTittSkpXd3BaNng4VnZOaTF0WU5WbmJUNGViSnFCRHYyckRIeHNycWhtM3N0cXF2NGY3bWZKTjE1eXN5ODErKzB2eWMvU0lFK1pTVnNqTjIxZG9aRytZYTV4ejVtdjdTTEZxUHdUaHlGMWhDUFgvT2hocHpOUFdkT0grTFNWVlV3S2dBQk1LZENyelVDd1pJd2QwQXZOREJJQktNeEVJZ2dEbUhqcVlKQnA4TTVIc2hjWXhod2NoVEtxcE1CeGczNnlRaHRJMmhCSEVoVXNVbEpFQ1lKVUxRVjZIdkVVY3lwWW1FUnh4WEt2VDd5S1hHR3QwdXRQME5lci8rNUxFLzRNVzdZTVFUekIxUTZXMElRbjNtbkVVS2lTRG0rdE83NHd1bGg5cDlnbHJuU3Q5WDNuTjhhcHEyYkVPbnY4L2NENnRqNjFqNnhiT3NmNDFqZS84MXQvblhoVjVDNlcrSVVPTjVZNXAzK1phTFZEbmNrd1RMaHMrcG5mcVBKN3U2UC9HOXY1b2Q5N1Y4LzMzby8vdnNrQ1pNQjBUSXhWOHV6dnRXNE1Qa1E4d1FnZWd1QnlNZ01HQVdBS1lCNG54aFFBNUdCS2Z1WUlRUHBnamd0a1FoSmdhQVRHQnVHNlppNFVoZzdnTGpvQUkwQTRoZ3cxeEd2dysvaXAxenFidzA5YnJ6TTJvcE56ZURLM1pwYWE2OURPWEZ3bEQ5MXV6cXpvY25HUHE0dDd5Z2NMVzlZQjB0UE1WUDcvYUdEQ0YybForTjNIbW5vamtvemtJSGhPV3lXVTdYUHZIQmxaQW1jTFFwd0duUm5LZzhaS0JJa0ozK2VoRnRvNW43dkRPN0JqV2tOM0JkQ3J1Tkg5VEZEdnF3L1lGK091d3BzUDBNRkpDQ0RDdGtrMDB0QWZTTUh3QmdUQXNRS2d3R2dCUE1CUkFaVEFCZ0FVeUt1azFoUnc4ODBVOWxJMDBLWXMyeE44d0RHa3dwY1U3ZWI0d2ZCTkdZZUxVSENTTEFXS0FDcEVMQUJDeFVFRk1JSGZxRzc2MTVDdkF3SUFSL0NjZUY0Zmp4MGc2Ly91U3hQV0RGNUVEREUveDQ0c2h0S0ZKNVk5SlZKcE9IYzBkNElhUTdTVDJvYUhWU1ZZOUdwM1RZQXF2ZDJid3lhUFNnMXRYQUdUekR6YXVJbW1OWXN0S3JOMituM3RkZnpkTHN0OHhFcTlSVXNuNWo1dU44UnpiWHhQRVJ0cmhuYnFVbDhlN2JGTWU1eXZLcnF2ajdRNnVmbUxwMU1wMGQwaSs2Nmoyc3QwTDAzaTk2cHhxaVk5Q3ZtSTBuTURSQWVEQ3lnc00xUjRDZU1JQ0FJVEFwd0FRSUFzVEFjS1RFWUpqRWswak5KRHpSYk1EbHNhakJZOHphMG1nRUZwa2daaHowWFpoVURoYWdhRUlzMndSK1FnQlY4dndoem5ITmdkdGdKajQ5bXcyajZWSUV3bnFuVE5OTXFxeHlRNGhEc1NtNE5iYnhaNEczbW0wUkQzVXhIL0YzeE9GMngzSE1OdmlyK3YyZlU3K091KytGN01UY1k1MysrKzcxc3EvTk5keDNPOHdZVy9XTjlQZ3VmTlkwRXhEVk1YNmYvL0gxcmo4cjFqTVdzSWRuREc2TUF2Qkt6Q1lEVFEwMm9ZTk1HdUJBREFsd0hFd0VnQWtCUUFPWUNHQTltRUNoSHBnVmdYZ1lGc0xTR0FkQVRCZ0pRRzZZTUtBWm1BZUFacG1Ha0g3WHlZVkRJR0FJR0xRWUxrSEFLQTFBYU9Ta29EYTZwN0IzWENrY1BVRE8vLzdrc1Q1Zzl2WjZ3UVA5V2ZLMXgvaFFmNnN1WlkxK0M1aTFqSjRuU1Mya2pzb2w4TVJoNTZhOVdxZHFVL2Q1eVZpMDlpSE1nMkVVWWxzYk5QQ3AxRG9CQ2YwbDJxL3U5KzA0cEtob1NubitWWHVaUlB0WmUvcUtuSHhOTHQzRkpIL2JQMU4xY1ZkM0NUR09pSHUrNzF1ako2aWZpT1k1dTM0dUg3OTRIeEVMRnIrT25TL2RFYitlU096SitvR01MNFhjeE05N0RmZllKTU5FUll3VkFkd1NCWUFnS1RCdkFNTWpRVFl3K3lxekNqTkNNblFHNHdPZzFESGRBWUJBTEJnK2hBbU1DRnNKQUJMdkZnS1VSRjN0NG0yOGpHaTZqRVphOWNCTXlpVi9CclRVTHIxc0hxVHhLVkZNS3A0NmZEeGVXNTFYUHR2OVF0T2F1akhucCt2My92NmVtWmhxRWtIM1hhcGZmbnVlY1ppaXc3bWQxYlVxbTVkU3Y4S2tya3J4Y1ZGcTViVTU4NUZVNGM0NU5sOFAwTGZaV2xpZHZGSis2R2xVM3o0ZWg4dWNnVWw5TWx0bE1oVTRtb0FKbEtzWVN3Ukpqd285SHgrTldZcklLQmxvTm1Jd1FIQlNRbkpWVWJhVXhta2huemhvWVgxQnZzREJVUmhkTm1kQit0MXViQzJteFY5bXl4ZSs4Mk13OUpsQzd6Z2VSOUVjbERjVEJvSUVlaDRPb3IvKzVMRTlZUGJBZ0VHRC9FTnl2azdZUUhtRHRtbXJWVFFsbHpsMGJUWTlONGptN3ppMWtwU3VsWlpXL2Q3L0J1dDdQWS83cXJtN3E1YzNpNG51SitxYnhIUDg4T3FMOWxYczI4OVJvM05meC90NTRpcHQ5dWlabmV4ckxVWkpJTkQ0bEJNUjVPbEN4WFo5RnRhakVOQ0tESmdQQUZzWVZxVENtcXJpUHhnOVlHQ1lGY0FlR0FoZ0VwZ0J3QmNZQnVBaW1DSENLWmc0NFM4WUE4RlZtQ2dBQVJpQndCaHdVQXdDSmdBQkprK0Q0Y1I2UUN6MDRJY1hrcCtCcWhlUjhHWVc1RERMcTNhWmZVamdtY2l0cUJKVkVMY0RWNUhRU0hISm9sWFJiWkFwckhhb0tSeW8xRkFVVGlqcWkydHVwYzY2eVNQbXZNNzlyWnFwYktGUlRhT1RUYXZiTm4yckhFWHhhN0s3cUhuWTRxSDFwdllhMm1kaDBubDFWdk93NDdNTE9PU2ZnNmNxV1Z5ZmxyVjJLS1YwZWxMWGFubW44aG9FQk94UC9ia1dxNHdBTEpKb3JUS1N5YU5KOVZBRENYR0NNRUR0Y3hBMmhqQU1FMU1Cc0lnQ0Fmb0NRS0R5WUJSeVJpREV0bUpiVW1KQVNtUGZZSEpBTEdEWVJHQ3hObWFvYW1Eb0ZKRmx4MVBNVGxxZjdWb2tqWklJM1B1azhiYVdZeXpHSHBNKzBuai8vdVF4UENDRmMxN0RzOXhZOE4yTVdESi9xMTVFV2V5UFd4TkwwSlJFTGdGckh3YjExUUhqbHREQUtKcVUyNGY3bjFZRnRWZmZ3bnhNeW5vblhWdzhUTWVrK1hjdm9sejNVTjE4VFR6ekZOS1BhcGFmRDg5LzBrTDJ1OFJFeGRYVVhRMjZUaStiWG1sdVlSK1VxbE1SeHVNbDAxRGh6VUdKR2QzT1RpVUpnZjRKVVlWb1Q1bW5uQ0JSZyt3R2VZRkdBb0dBc0FFSUtGb0ZJb1kvTXVZa3NRWnJDcU5Dd1o5dzBUejZDUUVDNXdtQll4QndSdlJFNFlkQlZJcWdDL1RwTFdZYzJzdmxZOUUxbzhBc0lDUm9CSmV0STZ5azY4ZkV6RWRoZ1RUNXg2aG1xanNZYWpSYlpzRno1NUo5YmJSWWpVL1VFTWFzZnZkTEhTNjN6eHA4TWUyNm1ucVMxczdUMWQrNi9VanJpK243dGs5WGJLdGszQzE5MngyNTFzN3VacTl2OTlSdXI5OXBWbVprY3I2Q3ZhV1YzOGRKS0d0MzFqWmQ1QjZ6dWlIU0RBM1FGTXc2b2RBTndpRHF6Q3BBSkF3T2tBeE1DSUFEREFPd0EwRUFDUkNEYkdBcWd6Wmd0WWJhWUptQXRtQitoSm9LSGhUQVh3Skl3RzRCdE1HQ0F3QWdBRmRNd0FnQUNScGZlR1dOeHBRNVdWMDRjcFpDeUJVa2xodUhaQ1QvL3VTeFBDRFY3bTdCaTkxQ2RzUXNTREYvcXk1eUNGanFhRm94TDZKTjBKd3RJTFMzbTk2SnVHTWFCOVlTYkVjUjFZK2w4eVk4MmIyMzBUbEgzcTJ6Mm9ReUJ6R1NISnNXUUtRa1BubUNSTW5vcXd3aTdIVVBwakZpclRvVmFDaEVVMEJJMFVZVXhtNlVxT1c3Ymc3MmxFNVVKSFFrQlBYUkVGVmxCdHFDUUdoT3NPVFJTVWIwaFpIbmJrWjQ0aW01aHpBbHVSRW9zd0NBWVRBMlNTTXQ0Zjh3SUFTZ3FHd29BaUVBZ0FHaFl1bUZCaVlBb1lLcFk2M1RRd1BHQUNZR0RSbW9EaEFNV0kwT0YzUjFDT3h3MXJJTElEME84MUxBVEN4TTVaTUtiTzJiSWp1T3BtcG1VRmlKOCthV2kycElBTG5UYVZ6cE1pWHRxNXVmajRrdnAzOVcyK3JqNFpWcVRjY2N2cGtOaGtHaTZydmZOVFByMXk1dHhjZXpkVzVuTGpzM1Y4dmh6clV0a0ljR3lPQjZHeUNZc1JWWkZRb2ZKSVFEQlZBZU13eU5DTU5aQkcvVENRUVZvd01RQ3JNQTNBVGpBUUFIa3dCc0J0TUFGQzlqQkR3ZVF3bndJM0NDQ293QzRQWE1DVUFLVEFLZ0F3d0R3QmtNTnpCZXkvQmdFSUFhRGdFc1NBQm5zZ0VjQUEzTHRrQUFFNjBoOWVJTms2VjJoSm1HVWlYRlAvN2tzVDJBaHVLRFFJUHNIY0NuaXppNmU0c2RUbkJhWkVhem45MU01UDVIakJCckgwdTMwUjFpdzJES3VaRllRK25UMkRDMWY0WnA5WStNK0NaRnA3MzlJRnI0eFNCamZ6bmhLcGs0d21jWTlUdktPVHk1dE5tcG1YM0llUmY3eVllOVNlczlYem5UbXlqdGRTMC9Xb2EyUlBRUURFSTNJNktmMmtwbWoyNzVVcDFLdGt5MGRJWFNlUTgwU3Z4RFdpNnRrbVZDc090dVhsSFZwMnVTUkxtZlpoRUFRbVFtRjJmKzRXZ0dMM0hnM1JvR1l3RkFCUUtDT1lGd3lwaFRoTkdERVVFWXFZRGhnZERlbUNDQlVZQ29CaGdaZ0xtRWFJZ0lnRVZNeUlFUWVBSXFDUWJqd2VuYUdlVUtrVHkrcUpwYlZ2Y2FZeWJybU9aT1k0L3RETkozZkxpL2U3QnBiemQvOHJsdHNWMVFLL2R6YVgyUTdOM1QvMXE1dXlyNXV5SW5yU3lFZFVxVkdkRDVYdWVkcldUTGZPdFJtTW9FeEY3ZUt1dUhvUUxuQ2RaYUJ3TFAybWxOUlVBS1VpRVA0eGJhK3p4TFQyTVFNTjB3U2dUakFmQXRNQ0lCQXdad05EQ0tFY01LTUg4eElUS2pEb0JTTUlnU2N3VHdKVEJTQXBNRWdBOHl5Z0lRZ0tRWUFJUnVXMnJwUkZ5VFpzZ2JHNGZpTWdKOXgyaFJWUC8rNUxFK29OZXBnY0FMN3pWV3FFdzRVSG1DakF6ZzROMDdsWjhpNHNGNXVJenRSMFpkeG8xSzR4amM1SDJ0RHFYU05HenJPYnpWdGd1YnFDYjJacDJJaDV3Yk1VUm9DRGhPTWl2U1RJa2NqdVRuWnVMdHFzaU14dFN1VGxDakpwT2xDUE1Ua3BDSEJNWnVrZ3hKdlZ6SmhLRzFCMWpJbGpITW1qMFd0Qm5Hb1dzanVNbk9pV0tZZUNZN2V5WUZBd3N4T0RGb3VCT2R4T3d3L0E3ekJWQm1NQmdDY3dCUVJqQWlCNU1iTVJjd01Bb0RETERTTVVRQXNBaHRHSHVBMFlGSUtwaW00R0tIMllDREFJQUE4VXlJVE5jWjYwMXhIcGNwellFa0ZQRVpxdkdIQnBLSjNNOHBKVzdKS1hHdk1iaHVrY092OHF0UlhMTE9yWWpyN2E3Z3hhZGFuYXJNU3dnZUlKYXhGM01ScG8rTWZTTFFSQVRNVHZVNW9wbXBzR3dxR0txRXAzYWwxbEUwaStaNmYxWXFiY0pKdWhjOVlDUm0vS1NNNndqTExuUkRUU0dYNVp4dXlYaE9iczEyM0p6OFNwS0NaSUtNREJBaURDZkE4czBzNEU0TUhNQUp6SmNHREQ0RFRCY0ZoMERUbzRXakRRS0RJQWJEWWdYekFSZERCMElqR3dMeENISjJLQVpncUE0WEFkdWF0eTBZNHUxc2NBZ1JBQUFYSWpCLy91U3hQSUNHZG5kQnE4OGNZc213R0RKN2cyNWdGWW9CZ0NUa01PNHQxR0N0TWNLRHdXVXRadnBSTWhyWWlDYWlicGw1VWQxdFROTUxYekE3N29iTFVyb1ZmVlEyeVZ4cFBNN3ZNUVU2UWt4U3l0VzNYQzFOTlgzRlBWenhReHVWdm1WN3I0K0o5YW1WdWU4YkxqQzdDcGl5MFZCTUUwRHFjMzB1K0hycVk4enNSZ21VUk1DOExFeHhvZkQ2R1BwTVQ0S2d3WlFNVEEwQWtDQVZ3dUI4WXdwTHhoNmdybUFHSklZeWdHb2lFc01KSUI0QkJIbUJXRitGeERoMEE5QjhhQlZGZ0hXL2tzTnRuZ2lCR1RUYy9ZRkVmSHhpME9ab1VVeDZYajFHeXRXM2NNMWdYdU93SHl1a0QvUUx6dnA3a0s2K2JUZHZwY3cwY1dZSlhLL0ErNGtMSVgzaFZxZElpS1VPWlJWQkJqY2dZY1Fhc0lNaFdnazlKZXhJa2NaMUkvR3Z4Q25HNUF1WUxmVm95bVdMSlJaa2ZhRUV2S0VuZnF2bGN0eEI1THdPTUpLZUhKT0d1djdpYzh3dEJnVERyNTROWTFrOHdtUk1EQW1CbE1CTUR3REFLQVFIdzFJNTB3c0pVeGZOc3plRTh5bE5JMENCVVNId3dJUWc5cUFNeFdBSUdBb3hJVkFGUnFEVks1aVV3RlRRNUphejBQMWJqTWF6b0lROUxIcVAvLzdrc1RzQXhjaGx3WVA5UVBMSTdRZ3llWU9vU3p3N2dYTHNPanhzb3hsaktHb0FRdUZIRHh6cTZjUmNzTWthN2pRK3MwamloakxuZkRlZmFPWDVxY1ExTk5vNCtCMlRGVE5KVVZCMFhCNVJhcTFXdS8yYTdWWStoNnpFTmJrc01hN0dzNnlQNjZvOWhxUk5QSnZ1T0VTTzVZd2JTVkRJbkV3N1d0MXJOTGRjSWx5ZUszQ3lTZlZqSGxha2ZJNkJnWEFGMllSU01TR2dSaE1aZ3hvRFVZRGtBWmdZQmlEZ3hNSVE2TXMwTU1UamFNQlpITVdBbE1VU3pCem1tTFlQbUdxY0dLNlBtQVlDRnhCb1l5c0cxY3lkeVpIaW0vRFVPVVU0SXdRaHNCZ0toWWs4WFA3S0dyUXJsa25BMEtqUlN6WDRjSWVxTEV6ZGRTanZmZkV3b2lVdDd1a0UyZnQ5WHhmYzlRLzk5UjdUZFBwM1JWY1Z0dmJTdFg2Y3JQTFJOVlZqN24rdXRadGE1WmFTbTl1am82NnZuZG8xN2VuWk95NlRlZHFuR1dacFNlS1piSDJpL1pKZm5WQURBYkFHd3dqMGFYTkdmREpqQmt3SEV3SDRBbURBR3N3S0JrRWlZYUNGZ2FUbHVJNGJOUFNyTUJIQk1nQS9NVGdrTVF3NFBid2NEQ1NNQVFURUFBb0VJakdtNHdORlk0NFVwZmpNVkJkSU5nVW14WWloY1AvKzVMRThZTlorZ2NDRDNVSHl1ODVvTVgrb0xtQndnQjV5SjNnVWNrY2l3Tm9UU2c5amRyb1l6bHpkMVV3cSs4QjBJY0xjSkx5c3hiTnBQNVE3V3B0SFJvc1phM3JlcmR4ZmYzRTJLSTdSWEVYVTFFSk91dk5tSWZEVFMzSEtRZktSTlR1bVRvak9sVzBrUFk5bmRKcWFHOXhIWmF5YlYyTjVuSEwyZmNwYnpLWEVXMHpuTG8vWkRCeEZTTUNuVU0wSFYyakFuRUxNQlJpSFE5SUFwRUFlR1lJUWdZUFRLUXVqa2NYekE2RnhZL2pDVUFqREJ0VEc5bWpBNE13NEJ5SWtDWVJFK20wYVZPU0lGQW9XSW9MamlUd1VnR0V4b3NjSGtsc05NRGtZRUlvTUVFT0QzY2lYeTJSckhVSnBuWXBhbW9WTFdpSWVCYmRMaGFVZFZVbHR3ZFZtQ3NzVVEwdXJtVnk4TDU5ckE1MnV4MVJNV0t3aFBqV21WbzVGNFA1djdIUGNrdFZMYzN2YWtvYXQ5V3p6RStsWEN6WEwzU2FIYTdIeTAweFNOQkF6U1prV2gxdWQ2azVET1JsVzFwc05ac3dOOEVjTUpNSnd6UTBoQVF3YVFETk1CNUFOREFNQUJjd0ZDUUlKZ3crYXN3VFg0eVBvSTJIQTR3d2M4elhBb3c4QVl4dUVNRDhZQmpnQWdPSXZJSVhhZ2xuTFdvdXhhby8zeEVHanNEZy8vdVN4UElEV1U0REJDLzFCY3Nxd1NCRjdxQjVPaVdoRk9RUmtjTEM5Skp4WjRnbVE0cFV4UHoxQXlKbWtxeHVPZWFmbVVQVDZlbGhZdWFvYnFNa1pOMk9kSkgxaXhDVUxpc09XdDFmSTR6VytaaFNicWh0M1E3bWtXZXF1cjZTRTZpdXFoeGtEeTdTNWh1WFBxbldiYlgrNWppcHg1TFF2NzNZM1dhR29RT2djT3JSYm1kTzdWNFZWV1pmb2RSSURBaVpoSUFhSWFMNERlbURSQUZ4Z1NJQUdBZ0dBd0JrQU9NQTFBVGpJdHRqT3N4d1JQQWdEQXcyTEUweEFzd0hDY3dUVUl4a1hVd1NCd3RJTERrVEJWQ0pPK3NWa0xrelVpdXhwOUpUcUduZTZnQ2poekExeWNRZ1VFYlB0UkJSSTVRb0VHeWwxaUd3bUFSWmtScm5kU3lOU25wa21PSEV1Q1lNNVFIelNtK1NJb3hpc203UEwzTmJDTnFmL0NpUFR6WXV1Z205clF0VmxrbEJhc1ptOWFRbGhtWjRRNjdPOUl2SWlKYWRjeUM0SEFrV1NLUmgwWmU2Mk1KRUtpQU1DZ1JVdy9yZ2psTVVsTUxBT3d3TVFhekFFQWVFSUdpbUJrL1VKcHNISm5HYWdkZ0Jnd0xocStCNWdZQnBpaUZ4NkdKQUdITUFnNnBxbWxBUFczaTkxbjBnenAzOWdpR0lubTZsMFZIa25HU1dQUC83a3NUdUE5azZDUUlQOVFYSzljRWdnZjZNK2FVRmdnT0hBcUtZZ3djSTFtMXlvNkxvY0hTM1VhYjIyNVYyTzVxYnVXWFlteEFxclJlaUZYWm9tMHVhbFpSWUxVLzhtZURWZUprYU5teVhlOGVpeGRyYTNLYTJyTXlYU1RSSTB3bEplOHE1dFNsSFN4OVE3Mm95ZHpqWlErMHNZaEV1MWpOMjVHUTZObFNPaVZHa0ROU2k2UStwMDRVeXFNTUw0U1V4dGFrRHc3UjNNVFVONHhZRzB3bENRQ0FRSEJjYUlTd1pGaGNZWjB1Yk1DV0kyc0ZxWE1FeEtNQ1YxTU9VS0NvUG9YalF3bEFXUzkrSC95bFFOQUtIbkpBam1tSEI3SWl1TkVSeG84VmlnNkhpWVJEV0Q2WkdHTlRRTldXdFFsV2t1M25TTDBGSmhoaE1tbzlYblMvclNRZVRQVm4ybFN0OHdPZ21KbUxsNDZYcW9kMW5xNjFuNWM2SWQxeUdSNXBLMFZ5K1ZiTEZrbXFQaHRyaFBYYlI3aFdMZFR4OHd5bzF2TUtxTU1tclEyODAweUYzdDc0NUZDWFFWcjVFVTFVd0t3QlJNSjFCVERTc1FBUXdjRUFLSWdTMGVBZnpCZ0F3Z1pqYVZsVEdRNFRHUjJ6SUFLekQ5MERFTUlEQXdJeUpJUnRVVEQ0QWk1RHBKVXZkSTVYWTkwWFdpV2NUWVJrY1JUQkJFRWZmUXhILys1TEU4SU5aa2ZVQ0wzVUh5d3ErWUVIdW9IbE9FY2NnbkdCK2JjeXNRS0pRZ2hxaUZocm5lREdsSmVORzU1SVRPWEhQRUZIb2h5SkJYUTY1Wm9KeHJtVkNNN0RZV2pvdHV0RlgxT0pwTGplcG1SbEh0MWtyYlRielU3dmF2L0hjSlhiM1VUbzR3ZTQyRlJSOXBmdzNQYnE3M2Q4UE5YWSsya3lWaWtxUnREQmwwOFdpV05nVUdBTUhrWTF0VjU4SHB0R0p1R2FZTHdMQmdTZ1ZnNERRd09BRVRJdUVvTVBJUXdMUWt3Q2NqQmJpRWl5WXhIaEJWRFFrRk1LQklzb0dFNG9GekZLWmoxdW1TOGhxcmNnNjVQV285RE5na1lqVDI0T3gwWXpoeGh6M3hpWVpvbzZUSDVUelQyZk90LzI1Zk1waldobjNJKzlXTTJURHRaYVdaYThxV2pMT0dialhXZmJpNVBJOW9sazJhTnVKN3paZGQ3elVkbmFzOStuTFkxTmxmVGRRYWlrY0swNUxMbEpXemNuV1prN2JsTHFsYkdPem5aaG5pcVY3WTlVMzZsRTdzaEdQSlRISDdhR21sWEl3bFJHakVPcWZOMUJKSXd3QTNUSEpJTVBDVXdhRkNZdUhQNThWdGt4Z2FBY2F3RWVnY2xERWgzTVNwZy9HSFFjUHhVQmxxMGZvSkNjR3g3ZzRXQ3NnOHdSTEdNU2NLTlErSlRwNE1PR0MvL3VTeE84RDJJWURBZy8xQmNzcVFTQUI3aGt3NzBQZ2FqRENWSEF5Z3pTMkdPZG1UZEtxWEk5eFI5RkdHd3Q0MTRaM3ErWFNsM21WR0w2RHRuVFVibVR5WlVFOVZCQXh5SWVUUFJLdEpGcHI3WGdjc0VSdlExRnRlYitrUElZdGtIcEQ4VXRjRWxFR3FyVnVoQmZDREo0V21ab21IVXFKZWl0VU5rZkFwVk13Q01jSG1CWGdTQmhHZ2ptYUU4RE1HREpBSFpnUG9CQVVBT3BoOE9BNEptZjI2YWdDcGxsWm5Od2FZTlpab29PbUpSTVlDV1p4OWtHSXdTWExGaENSQUNGM0luZHJ0Q2xVYnEwcUEwTUVnV1BJaHhOTmxzMVBEalhJWnBocHYyR2g5WjZLU3F2TklsTTV0UmE4aGVTaHN5TmxkVGRuS3R6TlpsRm5jd3hTcXVueHhsUTBLMTFORVE0b3NWZFZEMmszUmFVUmREMm1vWGloaGVrYnBybTNNZFcwajNHbUlYY0ZWdzBwMTViQ2FqeGlheXBDTVVYTlhlUlYwT3BGZERCbHNORytQVGxENXFJOWxqQkpDZE1maC9RLzRqdFRGcUNnTUcwRVV3SUFFakFZRE1sbTB6MEZ4RUJ6T1M0T3Fpb3hNNVRPcFBNUkE4d01mejJ4dUw4SThCd0VRR3k1L2FlUlN4dklLenU1c0prR0FXdVdGL21wMDZHWGUwcFdKbVdlS1AvN2tzVHVBOWZGOFFJUGNRT0xHcjlnUWY0Z3ViWTNMZVREemttb3AycFQ1ekxua0N3alRXTXp0YW1aUHMzYlR0dCttWE1iS2QzdXd5WDFITnJEay9WNGh0VjU4ZnFla1c2ODdvR0lkYWtHdUp5VWJoNWFYUThwVFJ1NTJrNThXbDVoOTJTTVQyOUhKY3BzQ2ZCK0YyVzU3M09aR2thUXhaTmNMa3R5N3ZXZnVWUis0cHN3ZWhLVEJydDZNZlZRTXdRdzlEQjRaVEEwTUJBRTVnR0R4bmN2UWdGMHhZa2d5TEVZV09VMGhCZ01BNHdzS1kweUlrREJvWEFDQVNScmR5TnUzRjdRQ1FCVFJHSFFQSFdJSmdnakJXbFFJTHZQY3REaEJjV3JIRkhrMnhGMncyaVlOcXhsRGVLdmt2bUFoUk5KTFVaY0lQVmtOb3FFSFFuRk9lcGtqQ0VheW5pOUhzYlQ1TzhVVlZ1TEZVSnBka0VhODB0c3RFS2xMbFIxakpabVl1bUl5REdoR2U3cXlHSmtjUzVhTktTVkJuQzAwMEx0RnFOZklWRmhrVjNSSmNlbG5IajRnZkVsVlF5clM2UTZhakMrRFZNaU55SS81UzJUR0pDSU1JSUNVd1N3Q2pBZUFPREFLajZxekNxME52KzQ0WVpqQ000QTFHTU9DRXdxeERnNVRCb0FkTU9BYUkweStuSzBjZ21sbE52T3ZuZWlzaXB5bkUyY0tLUC8rNUxFOGdQWTRnY0FEM0RGeXpWQllBSHVvSGlzbTY1S0xCSFg2bUxUZHpINVpidkh4VUtNTGJsK3lWYkI2Tkk2dHBlSXlMYnRIL2Q1SVhFSWl5VlVWTmU3MjgyaktLMUpiUFZPUjlJdGRtTzdBV0Z6NVF2WFkrVGpuTzdtcHdmVVFiVUNXaE4ycTJ4L1dVYXhya29iNFFobVphVDlxa3hlNURwNllnY3l5Sm14VU9VYVkyeE5sWWRxTlZUa2RPN0lRWUxnR2hqcG95bnpXUkVZcG9KSm1JVkdLd2lZV0Z4Z1VYblJDNlkxYVpnTjhua0FVWUZvZ2NraFlZbUt6S2M3SWljNmM2eldjVTVJU0ZBZW5GMGpLMENrQnpMTFd6YjRwUFM1U21xVjl1cmVvWGwzenQ5R2RzbXNXOTAwTldLYTRqWHI5ZnIzTTIzdk15dGF0Yy9YM2Y3S3pmOFRRUzN6dmpMcktLcG03WnA1djFIelRtWmZyNG5qNCs1UzJoMEQ3OXpyemg1ZTNSbTl2TDg1MjE4aWszV2dXdTNoNy9sa1ZlSTFDclFaL3oxMWZSdU56RCtSZ3NVUURCREQrTUd1bEUxTFVrREJORExCQUt4VkFoQklGUmdZQWJHUWJFR1F3ZkdYTkZtZHdhbUFiZUdRd3JHRDREQ2hVbVN3eEFZQVdkRkFFRkFDN21xZVRjY2lIWnJ0eVBUWDR6MWxhRlZtbndZdFJ1eWZYSjBTLy91U3hPNEQyWFlOQUE5d3g4TGdRQ0JCN2hoeFVUUVZZMEVDRFV4VmhkMnYwenN6bXRTRlFYTUVFZWo5M1RtOGROYUR5OXVRUE1Qek8yM3I2ejdlYXY2Ymx4bDd0d2RYZldXOWtOYUZVODdTNFEweDZJVThZaHl5QytwcExOcEdHYTFKTVFMNnlwN3RNWWpBTjk5RW82RzJ5OFdUWnk0TXVpS2ZuY3MwS1FpbmwyK2N5NEs4dERKSkFZUjRZeGk3T2ZuV3NYOFloZ1E1Z21nYkdBd0FHQmdIZ0lCS1k3eGFZaG9NWkdTYVoyZ3FGMEVNMmdUVFlHZ3dOS2dWQndjSnlOYWV1WWtNUWhkcTdQN3YwOC9LOTBVU3FmYmxITEpucFdON0NVUlJEb0w5MFhDcUlzOE8vaVVzZlduVVAwNXFTazBYZm81dVpOUm5vNHVpREwzdTZXODlNK1htbTE4eDY1WmFSNXhhVC9WVkxadWJNM1dleTh5WE1OVGhFOCt2dnZjRitYdFdOTEU4aVdiY2hwZkVxOVBTRmZsTTNRZ2h1NDdXaEJ2d3pUSFpIMXBUNmoyaHNkdTlyekx4VmVqOUdBQURDREFHTWc0Y1kvOWhHVEY2QWdBUnpnWVZEQThIMUZUUnFqaklsTlJwZURjc0R6Q2NFQVZOaEVRWmhHV0FoSGRUQ0dDSUNsWFNhU1M2dEtoY0ZSclFPaXlHM0ZSTVFNbk9NRHdPUWtFRVIvLzdrc1R5ZzFtTjlRQXZkTWZMR3NHZ1NlNlkrQlFOTUgzYnlQaTJZOVNCbUdPN2lzZm05eGFGSE1IVHdObzlYWlhkcVNpMCtCSGQyYWJMcWFLZDVtSmVwSldCOG5OZXpvd3hoQVF4TGRCVTZCak5wYVRVMmNQWjBNWVdRMHFaZ2U4YTN4T01rUnFROGVaa3ZkWmpqMHBqTG5WbGFUVnVUbFdTYlFiTjJ5MFBSOFVHdzhkSG9WRWxJck94Z0NCa21IbEdFY1VCOXBoVUJaR0EyQ0NCQUdoVUFzd0ZnUFRJUkVUQzRoUml2eUhid1VBSDJHWDBGRWd3Q0RSTXJCZ2pMcndTKzB6T3d4RzhKUEpMUFoybm1jb0dlZWs1QXYvVDlOSGw0bHJIS2s0cGtBSlJ3VUhReG1rZXFOeEpxUFEzbVBQdmlQOGpEVGtrZFVMeG1sUnBheXZlVDliWElZK3BvT3JaZlp2WGMvV1MvdWR6dlpCZEdjMkVDNG15N3ZkZGFhWG5MZ3E5MHhWSllpYnUxV0lHcmN2Ykp4cXJ0bytYbWhsd1VSMTUzTlRTYWhwYUdkaTdiS1VRWW1uT0ZlZVZUOVVaQnFaUmJ5TDREQ0tEcE1TK0s0NGhUcnpEWENrTURvRDh3SlFHQ3lKZytnT21Sd002RUFNR0ErV2NJUVFDRGhEeFVLRnhqTmFZN0dJVDJuaHdnaVJKN2s3bjJHNFl1MmRURmVwT3dtbE5LQWovKzVMRTc0TlpBZkVBVDNVRHl5N0JJQVh1R1RIeWlxTk1RTGZNSmhzSmtUS1RvNjFINVlHREhoS0xrRG0zQlQvSHJzdWl2ZEkzVTR5ZmRFOWpVZHUzcy9XMnRtb2dzMzcyNFJjRjY1VFc5N05sSFFsR1Y4Vk1XYXllNGNueXJRMnZyU282S2lUOHZjNkJLNW5sZno5aG5WTnVqdVV4eEhDYlFocVNiUDJxOHFOU1hUVmEvdVdTM00zVVRUMk5ocmZjMENDNk5FTUhRRVV4cXg2RHpoQjdNUzBBWW1aQWNTakFBQk1Ma2c3TDFqQkF6Tkg0WVBBb1ZRNGpFb01BSmxJYW5VQThQRGhlRFNIQmxRRVFTeEU0MlpKSmRWekVtUkc0WlJlbXlRT0FmNlNPN2lFSFBxc3g5MU5wZXF6NFpzY3ZhbXRxcnhmcUxYMUZ6TTY5WS9mMHQxMWlWc1MvMTdqUG4yYTJOODJmbStwVDEyaTkrUE9YbnczTjlQN1hkeVZTTHRWdGJwb3Q1cWIyU0ZzMW5Sa1NubS8wNWw2N1JXc1ZjNTRSckhmSG5aLzl2QkIzOFZlRklGa3FLa0FNQklJNHhRMjdUcWpNb01PY0g4d05BTURBSkFSTUFZREF3RUFTeXIvekg2Z01OTFE1MENqQkFDQXpEQ2dxQWg2Tk5IY0ZCUllnMENrWTVaU1hjNjBuczJlVGM1VDJleER3SWdQSWxrRUFpQmJ4TkdvZi8vdVN4T3dEV1Y0REFDOXN5MHJad0NCRjdoaHg3cU1hQlVSSjdONmVXNUJkUXo1clo3M3paVXpsMStna2FtejJUY0Q0TzZzV3g2NGR0NldKdE9NVWRkd0hyYTJmVDVFcnV2OVZrbU0ySHZWN2hWUytiTCtZUHN1RE85NjBKRWxGOW1tZVlSck02K3poajZaQXI3U0VJM3V4NE1STFN0ekdOM0huSHpKWit4MWtVK3piRFFjc0psR2d3WncyakNraUhOR1E2d3diZ3FUQ28rQWdoRUk2TUNqYzRRcERIUlhNL3ZNUFhCZzhOR01RRVlMSUpnVTZIRVNDSkFacXFWNnZxSmloR1NpUllWTENheTRzNDhXZHhGa3hUQWdrYUp6Qk1IckNBd21GeEhFODNBbUFDQ0tRNUc3WlR1SzExY094SGxDaFpqN0lvNWxkVDB1akZxVnZnK0VvVVBiaTROSWxxRXBRdk4zQ3NRVTVqNDFhczYzUEY5Qnd3bHBFVml5U1dlWlEwKzdnMTBlenNtaUlVZWN3MnhjdTFzYTlHb3d2WFpCc0RYUlpzaGo0WGRUR2M4eHo3TXVFR1VwNnFMcFRkYnRXMExyajZqQ0hCK01hNUQwOHlCbGpFd0JETXJoSXhNQnpESVdNWERZeEc3RE5LU01PMjAxOEpSNUhnb2doUWFHSzBPY2hKd09CYVk2TUxCSm5DWWtmUXdESEVTaUhrNEJmWXVqc0thR0xtLy83a3NUeGcxa3lBd0F2Y01mTE4wRWdDZTRnY0tNN01VbVJ1WWMvb1psdmhqeSs2cnFkQ1UzSlNraHNKNTdtTm5YTGd4TmxTOXR1VmlHMGEveXJPUTNhSzEzUmU5blU5cWVWamJHYkJxRlJxS04rRm5Uek5nd3laeW8rNDFYRjBkVHR0RXZPdTNMZWplL0R3MGJIZ29zbkVTTWp2UDFoRzFxM2RYT3N2RjhTbm0yb3VLTmxrRWk3TERBM0JSTVd4T2c3bGlTekVFQldNRU1Bc3dFQUFqQm9DSGdzYVYwWmo0VW1LT2FZSENaZ1FkR0JRV0lTZVllVUp2cENBNFN4QVNCaUVNL095TERrNURWL3QvTVdRdVNRb2xSNHBDRENSSmtLQ0FaN1JRTk1WK2NacjdiM1JYZkNMSklibExmRTdVdGZ2RG9hMi9vNU9FYktITk5lVWpZeWRhbVI4b1RWMHIzY2JUdGFLTzNORjIrNXRQZFhSL2RiVmhxZTBra1ZWMWo0b3U4cStVenpxT1V2SEtqd21YTHRkcGJsQ0Vwbm1QRlIydGZyMWFNTmkwbE1GOW9HdXhVKzZWRExmWlFvanM4d0RCQURCTUFOK3d4R2pkUkdFd0RBT3lVQllaQ0k4QURlRm9KU29GcXFKWGN3QVpoRUFnQU9EQlE4T2pIc0RDUkd3ckFhOTM0bjYxSnlIcTM1NDQwSlFkZUZ5b295TUNMc2p5SWxCT0VWN2w3Lys1TEU3QU5YN2Y4QUQzRER5eDVCWUFYdUdMbkNOa3lmVHFZdDZ4RXF1cjRabVdWTTFTOGszVzBqZVJpRlc2S0tVS05YcnQzaDBsNjhUVGZialY2Z2hqZUt2R1VZdldQUlZoK3FlcnJDajMzY0xPYmF1SHdWYXJ4M3orTnk1SUl1VmxIRVMzU01XanJVKzlOYU9jOHlLMURTeWwrRHJ3Q01nL1pQcy8zZW1mN1JwWlRJbXBzQUVBQTNKYkNpU2pCZ0l6R3QyRDU4c3pFY0VBTUNLUHlFME1Bd3czQmt3UkFNQkJDR0VFREFtYjBZQWtkQmd4SEEySG9pdDllMUw4Z3dnVlhXZ29RellCeHlBUndZUldSS0ZXelI5Nlp4WVNVWTZaYTFDL0F4Vm52YmVjMlYvN2ViN09aVEhxS1BNZ3lzeHFoK2hvMmJVOUhaakFVVFU3NzhaaVJVVlZ0RnVYTnJkZGZXVGQwaVBRTWMrcGFHZ1BsTTBUaVVHSktPbWUyY25Sei8vRGNXK2xGcitJYk1HbW5TOW5UNjlSbnRwcVZnREJzQVdNZkU1ay9NeDBqRmpBOU0zQW9ESGN3OERERTRDT2ZiYzJvVUJIbURRWVNDNmNNM0JJd2VORENwck95bXd3S0FVVHhJR3FXYjdhOHAwd2xwWlBiZTRvOS9FQkVJbFdISkpJSWpZbFlnM0puVkVrY3N3OGdsQzF2YmVTMVNabFBVVDF5dVlibkIvL3VTeE84QUdHWUpBQzl3eGNMQnRHSTExSm9rVjhxdEU0cGN4cFltbWd1b3hRb2xubklzVTB5UlFoRFlaYjRGbE1SVHZmSnllTDNpYU9TYXVMeWlrZlpPU1NjUk5xb1U1UXBHam5yRVpQTkpvYmFiYm1vYWZQRlhYT0NKaWNxZXBWVGpyYkxENVlwU05qSUhWRXlwMCs5YlVranMybUdHTGszckRVbEVkclJpanFVR2JUSXJYZ3hBd0hRdWpDQmYzTldrNFl3V1FuVEJBTGpBRURSRUNSZzJCUmxqTVJrMkVoaEdxQmlVRVFrQ2djb2hLRDVnUU9aa01EU2NzbFZwUlpsNEdTSU9CUzRaQkZha1lSRFRCdlAxTFZFb1dFRUtydFdVaERyTW9xaTZ2YVJFbUs4KzZLckdkWm0weGtHRlU4U1ZsUVU1NXlhTG15YXhtR015b210RWlvN1g0T29FS01SUldlODI2WUtPVkNSQ2t5ak9lY3lCYnhCcFQ2aVNMRmN0aTdKYVJqcXU2VDA4akNzUzlKRmFDZmtIOHdUVkxSQkl0bzkyUklOL3ZsQlB3UWU5TVlGZEFhdE9rN3hvU0VuZGtPU1NiVEJwQ2VNUXBnMDMxaWdqQzhCek1YaXd3WUZ3S0VCRUp6SysxTUREVXhxRFRQQUNNVmwwQlIwd21DQUFMUkxZSmlPQSswTjBzemVuN29Uc1F1VmN6WmlCMmhrRHFGcUxENWg4d1AvN2tzVDdnMXZhRFB3dmNTT0RORUVmd2U2WWNmdFprOVpvZVd0V295MkdFSWFQcm5MNVZoYVRCNnFNcTZGWkhvSzF5cTV3dkQ3c1FiTGw1VExteVBoZXBIS1BzeGpUQ2V6bmhYTFRzbWJHcEpScXJObW1wQ3RGVk9sMUZuU2xKL1ludCtweVRWSUxNeml6ckhjK2JFSWV0T1VMVU1kOVVOak5QbUtzcEIzUk5GeFpqSkxIeWMwSVpVaGcwZ09HTkFCTWVWd05KUVNhRGxrTEVrSEJjTGlRNGtWRElRek1xekV5c0JUSmNGTU1DMXVZb1RpQXRzcWZoTE5xVTZSRm1TVXZMSnVGYzJYU2t5MjVESE5lMmxXc0pHNmJ1RGNMbHFOeXMwdDJiYXNZdm1uNFhLU0hNU3Uyb1dzR3lkYlhJVlkydWp5b0k2VWtwS1UxazB0UnR2MStTMDdTUEp5dWxKUFRtMVVkellkOEV2YlRWd1RoVlJuVEYxWFc4WmEwZlhqTEdyYlNwWkpKV2FSeEIrMWVWcy9GTzdlOTBPdzFxanJ0Q2tqbDZ0QzluSnA1T2V4U1Zjc3RDT0ZZcE96RjRkYUhqaXZSc0NBSlFlVEMrWEdOc1lwY3doQWFERUlwQUFJQklWTUtCODVDeWpCSmdNMktNV1lZV2lZUXAyZWc0SmdhekVRSGJuRllobUNIQU0weWh5YjI3c2p6MWEwTkt3aEpUczJua3ljL2NuNy8rNUxFN0FQWUhnY0FEM0VEeXl4QW44SHVKSEZpcldNdGV0cVNCbk9wWnFvdkxwWmJuVGJOdGYzc2wvTnpVRkZ1UlhKM2pFdkNUUVpxQkhtbG13a2F6a2s5bTBadU5iYmc3RVlwa2x6V1VsV0huTnA3ZTI2S3NjOXA3cHQ1TXprRHk5U2Q5WXJwbXlTckQvcDVTRXZXTktPWWQvdnREWE0xeUUxcllaajI2QXVuSXA1aUphUWt3WWd0VERKY1FOYnN3RXdpUWdqRXcxTUJoQUNBOHcySXpNMXZBU3pNUkNnZXFSbEJYZzY5aUlMRUJiQUJLYVM0NnJHTzUrdEpDR3dMSjA2RkRrWUI1UTNkWDE5OWNnbDZOdi9TYUdoYXIvYStRSjZ4dElxS2kwRElMT2hMS0FsdzF0bFV4eitxK29RQ3c1Wjk2dHozbEFwR1YxRnRXT2tneUdtU2dUeVRja3AxT2NrOEplc1B3SzFDM1VVUzZ0UGpTbk5WR1dvelVEenpud3B5MERFRmJiMm1FQnJyR285SmlVcVlHc294dm9rdDN3bFhrNUNnWVJwMklPeDJ3VFZhRHB3RmxrUzBWdlVRREJzQk5NWHNubzdjUXpURU5BY01GSUFNREFmR0NBT2wwYWVwZ2lTWmpWbUJ5cU1JSFkyT0NsbURnT0l1d2pDdENtZkcxWHBOMDBHUmVyYnNsSm4wMVphZHRqM3BUNmlYZEYxWUpvNDJpaUtpLy91U3hPeURWOW9GQUM5d3c0c2V3Wi9CN2hod2RBMGRhY2JPSW1VUGhOUGF6cHZTQ2Q1MHRaZ1B3bzNYZFJtYlVXcWNLUEo1cHpRUnBNc2ZJZ3RiaFdFU3NpcjhWU2pMeEJEWWtoY0Z0UWxFMVhFbVRmRXhPL215bnp5MG5pL09vbmtTR0phYWlZN2RGVkpVZFN5S0xXYTdYaSs2ZHRvbFdlbVBoOU1oV2FyTFhqRkRpQWpXU0QzS21iTUJZRnd4RTFDemtKSk1NTUVGa3hVRGpCNEpRR0ZVQ0dwYW1ZTFdRSkZ4RVp6R0VNTktnd3VPVlM0WWhONmcwZ0tBRzBLemFnNkRLeXNVOElNZGMwenZVWTZRR2FlWHFZNW5nd2lTTGVueEdxYmtySW42UlNMYlp6cGtrcFIySEhMSlUxRHNPTDVoeU9RZG1KRmJFUTBxdEV0MmcxRitRWGpGWFp0elo2eXBOVzU2RjNqd2ZKVFBYWWdRTVFiSFkwbnE3b3RrT2lUQW9wS08wbmFnNnhEUDlleklUZWJaV2kzdldjOHd0aW5naFpxMGVXdFIxVVhmem5JSUwxSEV5YUpUMnpvdTVDRXdEQkZDbU1GSnMweU5pN2pBd0NERUl1RkFpazhBZ09aK0NCaUZmamdOTUpnWXdERmdzSUFRRFFLQWpiWU1HZyt5dHRZSXJtNDZzVkpZWnpjNXlXM0dXTnhmSGt1Q09ZblNrc0tBWFlZeGZQLzdrc1R2ZzFrU0NQNHZjTVhMR1VHZndlNFljRUpPbEZWVWhrNXE0U3h0T050cHh5YVc1Tjh6aXJjRjE1dnJKb0U4VGExSVhsTjJQVmRWUGx2a3FoazNKbk4yVXJsMkdta0VmZmtleU9UMlR0bkMxNTVlS04yd2t1bDR0VG5LNXp2VmpMYmlaVzU0cFdNcFczMkdsMWUwcEdDTktQTytTQ1NxOFdLMjBGTjJsa3NQM0ZhZm1pWWxHYTlSbnFXWEI4VTRtcFF4bG1SZ3pnMUdLSWU2YzN3dmhoekFnbWpnZ0tOVUJ3a2FnUnNOMlNndXdBb2FNbnFBRjhzd0VKS1pvb01Cb0UyR29XbEtXa0pJMmFJck1ZM282ZlJhYzFJOUJxUEpXMUdGSGI3U3RNbk4xWVBDYkdiRHlrN3JwSEdTZmROUEltZzU5UVJ5RzEvS0QwUmt0bEZrQ2FNVWVRdWFuTmVyTW1YejI3K0JoUm81Z2R2aU1EWmtwbThISzR4NGhnZkZrY1pNb2J1eXlkR21RV1lSczNFZUczTnZXM3dRVWg5TkE3MlhMZXdpSDhhU3N2Zmt6S1N6WlNvZVljZktUNmNmcFNOS3dxcG1GVEFuQWhNUUl1NDRXaFlUQzBBbU1wQ3dnZ1NqSVFZMGRFUEJsRE5MWXlnUU1MTlFXTUlEekVBSTZnVlQ0ZlNCb2YxcWRaVkh6cGFxNmVlWHU4bEYxZmNwTnI5UEo2Szh0eXIvKzVERTdvTmFQZ3orTDNFamd3WEFuOEh0bUhIWnlaZUYzTFhPN2hldEdhMjRubjFzcTkyODJ1YWZpKzAxdHgzeDdZMjliR25jUXlkakZRMFFTeStzb3V0eWU0dmxFNlFrNDFrODBuVGNrV2ZtVHIzRUt5VEZlWHBjdjJ6V2xGaTg3VlV3MHN3NHQrUm03Rk15TlMyNFlqR2thV1ZpYTM1a1dVWHA4TjYydWxPWUZnVkpnTk9JR1VVWXVZQmdRUklCV09BRE1RTUFVQUFBRFdtRFVJR0ZlSUIzb3J1azVJRGhBVllEVDBWU3F5dDlpMUxRMHRGU1k1OXpuY0pWdWsxcVp1MEVrcEsyNmd3eEhEL0RvYVIxQ01rcEswOHFFako5czdzSm5kSVFkWlJTWk02eHBIZ2FhMG1rdFp4RVJFYWtXb29aMGpBR1JabDRXL0tUUWNtbTd6MUl1ZVA5aE9IUEdTZVNDNkRFZDNsblVvcFA3Q2VsQXZOa0w5UVJZVUhDeWhnRUh1Tk1NU09KSlZCOHY0azZjaUN4WUlmWUdmUkdJNlNiWVdZeVc4eUdUdWd6eTkyUVVSSm9rWXZvcEd2MENjcHVNRm9Ia3hBMHBqZkJIak1MY0VZeGdJekE0Q1RoTUZoSXpSM2pBcGlNaGxFQlhrd094UkFFdzRGdVdIWHBDTnJjTTBGcDh2cldZZ01pSExLMGVhQkNUMVVESWxrV3d5MXZzc05TWGhqLys1TEU2b1BXcGdjQUQyekRpMHRCbjRIdG1UaFNPNGhLbEdjNDJKb3RBSHh5cWM1Qi9DZHFKWTVrVkRhMUh5eU5JdXNEN3FXNml5bEZzU1VUT3FJVDNSY3NXYzFKRlVZc1VkV2ppQ2Q1R20xVDdNWDgxcnBaU0VsUERKZExDUkU5VndSMDdkYzRranVZNkhSaVFLR3RLYzhHdVJnT0I5bDBmam5GMDVzVmFHODRoaVkvMG9MYTBDNFcrVnJsNlFoTURJWWdZcXB3ZmhaR0ZxQUtWZ1ZFd0I2dEtZcGhYaWZtQ3VBYVlZOW1sQllwQ2dLak1HQWdTV2lFMGEzRjJPUGxUVVZTbi9sdkNrejdiMVh0MnF0UFNaU3ZVWmlhQ0I4OGtWeTc0b3drZ2JoL05KRk9ZV2E4YVVVZytJVnN2cFhTOFREMjVLdko5V0d6N3RTanU5enBhS2VwTU9uNTBhdHQ4S1JmRDFsSTA4cWtxNXVVVWk0S0JUQ3BYemZlTVZON3VSUjd1MFVrVnN2YUVLMmRWa0dYcjh0bWhwUFBxc2M1aXpiZEppL0IwN3JoUjNzd29mR0lyT283RW5QMHVlUnhxa253K2dBa0FZQUlPUmc0cXFta2FTMFlKb0w1aFEwT2hhZ0NYeDlUZ2JRQ21CV0lKSlRDaGtldWdDRnBNRWJ5bncvbGFsbUVFQVA5S0MxVDRpa2ZNMG1lWGJCUkFsYml6Q1lXVVpGNzBaSjEvL3VTeE8wRFdOWU0vZzl3dzRNWHdTQUo3Wms1K1JhaWNRejY2TGN6VUNGaEVRbWpacHhpMW9ha0hNSlc1TWc0ZkdNUVN6dmxJK1VTalVUTTNPMDQ4eEVsa3RsOWF5UmR4VTVsUW83ck8xMERVSUx1SDZEWmxoWFFYNmhCaW1TWlZHckxPZDhYTUZQb0Vla2IxNXNFc3B6S2U4aGJvVFVKVEdwOCtEbzlFYzN4cURKWXpwZUlXMUpnbGcrR0Z3bitheGhDaGcvQXNtUWh3S0VVSXpEQU05dHNOZE1qRFpNM0VEQUNFTFd3S0ZCZ3lDeDIwaXlweTFLaVlEVUlGamRzbEp0eGFTRC8xT0Zsb2p5emtjTFFYRzdFVFRGYVNoTnBZMFBTVE8vV3ZFVHFkTmtpekdWbGw5QXFjRUV6R1RnS3MvbFFieWJYWmhtVXVzUmN5L2tOeVc5ajhrLzRYQ0tHeHRac0hUZEh5dDM3UEhzdDBxZU5GN09jOThnanJFVVRGT2FweTFZNmM2Kzd3SmJmOW9nR0lPSTB1RjdNMGdjWTRRQlNZZnlhR2NzM1U1TDlFaUdzWFNaV0lqQlJBaU1VUU9NNkFBQmdFT0tQUDRZV28xaEFDZGRtbVhFcGpVT2NlQm1GUGdPaWhVSEpnTU5sa0I4TndkT1ZTaFI5Rk9GeFBCWklrbUNlNkhKa1h0RzdrMG9vc3dyQkJ4SXp6aXlhSWk2a2xDS1BMRDRCcFAvN2tzVHRBbGdlQnY2dmJNT0RCOEZmd2UyWWNNbXRFS1F1SzNsdWRDSTFJVUI0VDFQc2VHWEFzMDROTFlCSHBralNCOEpDNlF5akVFR1FwZUtZd2trMG53ZWt4NW5GOEQzWk9BbGl1ZkJNdWd5UTAwS1JKM1puMGdZbzg0aVlDWHVFVTE2OEZaVnFKbnE4azArUHdDbGw4d0xPUUR3TGJrWlFJUFJnczgwRk1MZE11SjV4eGRaWmMwUUJaUWdHZ3ZtR0VuUWJZUkdwaEVBb0dRanBnZ1FGdzBaQkRFY3cwMG1NK1dCcjZBamdQQlFFQ0NxZG1XSVVNd010MXpiOXlCa1R2ajlZRk55SFRLaDNuUW5EQ0JEUUdjandoS2FpTGRpWFp6QUt4V0c3RVhVcUhLZ0ZLVW1oMlA5WmlDNnhacVpLTTY2Mno0b0p2NHdNZitNclBTQWZtREdwNndpUmtNaGpFaDh3ZzllUmtVNlFYZHNoQUh2MXVvVUxCNkJFVVRoWC9BaTNQcDAyT0tNcUtUTWE5c0R5aWM2bVhZRWltN0lqUlpBNGNvb1NhaHJyeVJpa2dZNVdnU1NHZm1vd2EwSjBZVHc4RDZtcUlBd05BZHpCclQ4TXpFaDB3UXdXRERCMENnQWlBMGRqRlJzeGNkTVNwRFBRZ0xId0dLQWFBbHlEZGc5U0FJQnBkT2FHdStCaFdHcFZJNVRPb1lzd293bXZoR1l5U0E4SnRqSC8rNUxFOGdQYUFnejhEMnpEZ3lWQm40SHRtSERWSTFXWW41MzdqemR6NkRhYXRXU2JFSTVyQ3lVeTdmUXJvblNoNmNqUzkweWlWOGI2YjV5Vmhja1VwSjdrMTR4eEh0eXVLOGNXUnBNMjVOYnNibUpGYjgyc3RWQlVVa29YMXZTS05OUzlNUlpRNmt1Mi9NVjhvMlF4TXE5bEhjSWJxZGJVV0RXVFgwN2xSVHh1RVo1bE5yMnl0QldTUEsxeGhCc0RUYVN3Z3dPQUx6RFhIaU5zc0tVd2x3RUF4RkdoWkxFd2tCTUxTekppd3dTNENFd1FIUU9HVm1BMEtNSkczNjYrYzlldFNzTjd2aXlWMWJOTUZxdzg0OVlLZ282ajkzSGRETzhDUHVyTmVqdE02elcrVGdIZVV4eW9WTk9ma2xTWEpLVjlSQkdIVW1KeGxudTJ3alZZeEtvdHpmeHladFN4WlQxRkVFVDZPaVlWbW1Kc3pzanM1VkVLVmI1U0xHc3hFK1MzNmVhWVYyeXRKdkpaV0cwWGRFdHl0MVRNcmRmSnVVYXl5azRnRE1zcTU0a3FOclNpcXhOR0lFWlNNQTRDd3d4VEpUYWhGdU1Ja0NzeDRFRGc5U0MwaldOSUJFUm03c0hnaGc1b2FBQUlISVRUUHd5RHdzTUVHa1NqSHdrVkVHb1lxTWN1cE5Zb3ZzMm1sbVlkUzd3aWpLTlAzVVN2U29aWWJiY3c1QlYxLy91U3hPdUQyVElFL2k5dEkxcmxQbUFCN1poeFNPeHNOaHhsZTJQSUdUUnp1NVV5bGhSTjlPbk41am1FRUdxZnB5Vm1IU1FnYmJwR1Q1T0lPa2Nyc1pyajJYS2RseVRuVVRkUGFFaFZSZFAzZW5sVjJTbFdwUW1scWlrVzFWRlQ2K1VRZDlLSkh2aGpKMHAwU0xvRndmQTBrSGowYm1GSEVkdzFjUEYxU0NSSVNXNlZVd1JFb3dHNXN4SVlnRUJ5S2dRbjZ2SlhCaU9MSktGNWd1TjQwWElOQVlTR0Z2UndBUWNIRWhTYzU4VTVFYVNGbkp0V2w1T3JyT1dXSVRMWG1paWV1VUN4Y3BGazRIa1pJZnpmQlI2T25BNndDcE1vV1RkN2s1dlorb0RMVGxpVlFZUm5YSnJvdkpKRjYwYXZHZWk4d3NJOS9zdVlqR0h3YzdPU21UNGtwR0lKVVdpOE5BZXBvdFRuR0l2aVNSMUpQWjZjTEpsVWNkS1dSUmlVVDI5NFV6WTlNZXRuN3dWYzdLRU16bFBNTWZocHRiMXUycFB0YnR6bGJjOUE0cFF3V3daakVVUG5PR1FZZ3d4QVB6SFlNQXdSTDFBNEdtaEM2WmlJUmpXb21KQk9ZTkVJMHJSNERBUUlHRkFMZ0pEVDIzTXVnWWkwT1NwaUNES29sTnplM1hRS3NSV1ppcGdvVVJtRmlLUnFDaUo1dkY0UWt5UnNXbU1EakRvdm5QLzdrc1R3Z2hmNkN2NFBiTU5MQ1VGZ1pkU1o4ZnY1Wms2anJ0L1hjakxrYU9GNGJ0bHNna293bnBGYVUxa0VpOEtNbzJnOGtJV2xJdHZrTHozRm1jV1RXbjVwOGw3TTFXRVF1b1pjdXN5eXE5YzY2N0pqTTJvQ2NoODBhVTJqK1BMaWhqb1YwUzdwTUYxNFVvSTBhcE8yZm1SVnBJK0JFUkV0c1V5VVl5bytiSE9GWVRra1JrRFY2Z2N2OW1vU3BtcnM1a2hnUGdEbUdnUFFiYUFjNWhIQUpBcERFZ1FBZ0tVQmlzRVRRWnBVZWJPSGdsWERsRklWRXdIQzhQV0xzUGJUbkRWeEdkS3BReUVOdzRoZlZYZllseENYSjhzb3FVTW5lVHdxS1Fhelp1REREeXlrTmdzOHFJTlBUZThsRDg4R3ZhVlJUd203UUlTTTlzTVRwek5JV0R5UkRKR0tRSWxKckxnNWJrZWtscFpTc1JLc2Vna3FaZW9vdXVUMVpWelNFWFk0OHlud3ZvRk5GQVZOWEt1WkxuSlV4U1VLdHpMK1Y4c3ZKWXBLSnc0eTlwUiswSEN6VDhQZmRsd3Y2eWtwZW1wUUF3RUVrd2E2bzM4WmN3T0RvUmdXam9TQUNsNllTamlGQTFNREJVRWlLTUFoUGdWbHlwdzRXbzNOQlRDYzB1eEhZd1FUVFF4MGhaUUhXblBIbTFoT2RJbHpxekM2clJjd1lnalRRclAvKzVMRTlnUGJ2Z3I2RDNFalN2ckFuOEh0bUhFTHRLWFpBMDFweGhZSUtxSVlVNmFLQm1CYWFPV2VORC9FdTZlSkZXYWtpYThQcUU0MTVXR3pMY3gwb3h1ekd4NzgrZk9NckRSQ09OTWE5TzdtODEwVlpSV3kxRjg3TmwrdCtwdEcxaDBNZ1kyeVV4d2VUQ2lSK1kxL01sbWsxSHRrbSswNHh6cE84bFZYWlNzZ3RVa01XUk1ENEdFd3VUNkRXcEdaTUg4RHd4d0pCUUVnbEVnNDA1cU1nTmpQN2dlTmpDRHNTSTJ1Q2dpWkFGUldZc0paMk1UazBnWXpHVy9OVmFKUmRkNkszSk0zRit6V2hLTVVrVEZMc0VWTzM2Z2k5a1BTZXJDanJrMUVlSWRjc3FWUk1KT1dsa2RUMWswZVFxeVRYN2E2Y214SEdMU1M5b2NGR2ExQk5MV1ZTN3llQnhRK2l5enk4Sll1MnhDS2k4MEtwWjl5WGhrTHd1bXRGdEZVYXlUWmE0YWVZWVpuSmFOUlhJeDJyYlVYa3hURWNldXBEd1hXdkNJNHBIcENOTWd0aVB4S0dJNElWbWpKUlJwaFdTRmlFVWNueEs5eWtEQURBVFRETENITnBNRlFJRVhIbktCNlJJY0RPK2xDNDR3UVl2VUdCUlp0ZVJlQVRtSENBZlJvOWk2M1pOcDBJUjFMN3FyVVl3N1NKMkp2WE5JNDhpTm9KSXhIcUlyUi8vdVN4TzRER0JINUFFNmt6OHRTUVorQjdhUm9IczkvbXZpYldJSjlPQ1NqQitzbm02NzM1UWJ2SnBjbE96dWNZblZyMTVLdXpDSGkxMzNMNDFhOUlVNHdVeVVhbW55cTN1b29FNW9vWXI0d1ZhbTFKVlowdFFWaU9wUVRNZWMwWHgzckdZM0Z2VnlTb1VnMlVJcmxrRjJ0Zk8zWFc2MVFhaStUZGQ4SHR5WFliMkhuTzVYYVVjenIxc1hGeGxGUVREQnBRSk5DMGNZd1JRUVRDZ292K3hRaUFEaWpNekFoQnBZbWtDQ0lPRm1zRW9JWmFCeTVLUnFtMTRxcG0xMUZzcGpHR0VxWHZ6SWgyQlE2cUp0ZFFMakRra0NranFKUkdSNjlKR3doZVdGWndlUVNUWVBrMDlteGtjWk55VlFyV281YVFnU2l1MUxFMGpOdDdOcW9ZaXhRaGJKY0txUmJnMDNGdkdXa25JRGVRN0Q1RzRuOHJLWTZUVWxNT1ZpUjZLRTJwek8rNFViOFlKcG9LYnhGVnpKMnNxbENsSnpqQ0xDODBhNjdMa0M3UitiY20zdElXcFJ4K3ZaYWRKaU0wNHRUZVQ0a2xpeXhkU0RVV0pJNTVFVklhakNjVURHYmt6MVplakVJTnpGaWk0SzBrcUR2NGdhQk1uZ0t6Z3F5Wmd5bUN6RWdvSHZRbXhoYUVFZGt3cmVjaW1XR1RadGR0amE2NGRsRUxKbHJWdi83a3NUcUExZnFCdjR2YVNOTFZFR2ZpZTJrYURWYzZtRFZQc3kxbDFkTmpKekdVZXpRaDlpR3pLUGNodlZrSEpYSEtLUmZucjBwaUIwbTNkSkt1cjByV0xiVEtxVGtnTENSaUtaS3M0dExNa3l2M09iMmN4QzdTTnpCZVd5RUF6a3k4TnRWSlYzQ1pTTXMvVEREVld1RUVhWGVaYWN2YURzV3hNWVpKWnBnRWxVdEVXaWdYWmk4Y3BNNFNXbHBnZmdSR0gwS09iNmdLUmhYQUJoRlllS2xvaEdCQy9zMVNRMW9nN1FvQkNpWjRoRWs2VU9LQkxSMXQxTkx4VDJhY3NWTXR3TW5mK2xGenBOR08xSWlRMGhOS3JrejFJNUdpbU1QT1JRRUgxVkd6U1NMSU00ckdjemRQZWhNNGFwbGVEcWxMZTJnaVFtM3NHSHZMTm9LUkV5KzY4M1NxaWx1M1l0c21VVUJCVWxSQUxTV1F4U3FUb0FnVENTcWxqTUkwblB0NmFicDl4R1VTRm1vQzFxYnFOb3dqWFFNVGU4c2h1Q0ZCYVRUNHhlaWkrSmdualJsYVZxTnliY29VbzBsTkZTQnhNS21UQ0RFU09jOWprSUhrRWxFUXFvS2crWXpUTWZ5SWVZaUEwQ2lhWURUMTZrQm9oQUJXV0dZVEZyeFpRdFY5RURiTUUvcC9sR1BVSHJVN2tYZytXUUU0N1gwWk1oOWNxVkhmblIraDdqLys1TEU1Z1BYRmdqK0R1akRnMDdCWDBIdEpHbWdPWnFtcVM4ZEp5SXN2b1FoK1Q2cE0wdlRpOHE5SWFTeE9OYUVjWGp6Um1NeGM2c0U3Vk96QmhtS2gvc0p2MFRVWlNtanRkTGNiRmh1VjhuNm9vNjl4SHBicU9OTXRHTlJ0RHJGMHRMSnM3OVZFNVVwVUp1Y1Jwa3NKZHpWbHRrWTJJYStNekpUdXZteFRRcU5PZWN3Z0ZjdzMvdzNUYkV3aEVBRUI2TnhVQXgwR000RlFBSWhhSlVWRVM2T0FLdW1CRFJIUHExaUhWRWxwb0xuS3BMUlpaWmJZanJvOVZsQXVoUlRScEl5Y1FNcXZqRlMwa3RsRzRLTUkxMUl3bElpdXFWcWxvUDFwbFVxM0tNTk5pdnFaS01MUXJVOUNTeE9rRkpwU2hobDlXZ1VpMlFWcGR6V0xMcmt0SlBzdkE2SWl6bUkxRi90aldFTkpSa2h1Y3A2WHRLYnpyUzJVbkNFS1FOdEpKd2hFd3J6bXJKeVFGMDJxbHp0b3NpdHRXZnB5Q1M4cHF5a2NYaWZWeVNDcXVDa0pKTXR4VWFsdnhtYU44OEFBQWhrQUF3TUFMekM3SUlOZThMMHdnUUVnTTFEZ3hkMUR3NXJvQkJqSVV3ajJGcHBFelNZcWw5S2ZtRUNIV1ZWTXVDQ1VsRjNRblIrNXZYZ29iRHdxRUlOS2hmSDU0NzZFNVVubTJvamZMVWEvL3VTeE9ZRDFjSUpBQTdvdzBzdndWK0IzYVJwcEduckZaRmlDTzZVWlVsdWRhU2FKbnpaVGNoa2hRM1IvTlVXMUM5REJSUEo0Y1dWVFk2UjVwVmhBMmluV0lNNk5PYVpJNU96N2s4Vzg4a3l3MnFyR0t0M3VhVEVHUFRZanNrbE5ZTnM2ZHZGRFRPelJIWGxKbTRTZ1JkSmxhQzhsV0xqMjFGdHpVc2hTNlYxQkF3ZzVBVG9ybExNbnJDem5OSnhPWTNWWXRoREFHQUtNSWtlYzB6UTJqQmZBUkRqaU5iRlNBR1lMbURBaG5pQkYrQmcwZXZ4SmdoV1M3Q20ybEVEYVVhWmhENm1wOHJNVWpzaVpoZW9jc3VoUWxXZGxCMEVjaUJXTnhoYTJ3VWFqVVpSajUvVTAwVnhwVk9XNUMwMmxYeHBuYWlzckdldk03QjFKNzFrVGVwckk0NXZVdVdzcng2RHZpNWE2ekl6Nk9EMDFaUFVXUkpkdERPa2w5dUtTcGZVbzFIbkl5ZVM1OVRSWTEycjFCVHVkZWt4aWkwWlF5ZTdXcFR0bkpXbTNrSWU0aDQ0M2t6RnB2ZEZLMklYQzVwSThwV0I1SlVBSTBBQVlHaVlWT3ZNdFdTTEFjaklHSnZ0RUJRQm1EUklCY0x3YVNCaEtBeGdBRVE4TlNqQ056RzZ6QjhmYXhhMXNMTU1HVDBHeTB5OUtaQVZ0Rk9vdFBEUVJVS3lSSGtBaGYvN2tzVHZnbG8rRFAwdmFTTkRDY0dmeGUwa2FCaU02SUZTd3BXSm5SSzQzNDQ0OUJRZ0l3VVlxVFNTT0c4UjByNVpGNUNpV0VIT1cxSkRGY3hvUXVLSVVjZTVNOXlablJJUWlhUE9LQitQazZqMFhvSngwaVFlSVRaQnI1WUlYaHAybkl3bU1FU1FQQmhCZ3FhTVIwMjY1WjhkNWlqN3hJaDhKODBrK21FelZZYUdERndpZUNWVm8xa0h3aTRFc21TUFFaSG5WclBETWt1azBHMkdDWU9HTGphbm5CU0dIUUZnNENtQ3YwdGd3VEUwd1dDZ3dGRTRTQlFoQnhBNkI3eFFEMXQ4cjdSM203elR0bmY4T2tMYzR3eGxJTUJNQkdKSjZubk5yaTBKNktwQzFpQzQ1V0NBYms2THNnczJJNER2UmdvTWlxQ2x6a0tZNFJ3YUJJemhBSTIxSW9waWY5QVNwbFJQeVJsVWlNUXVHVUdLVjZBdmc1UlY4TUhpaDNabk1rc2NSalBoQjJJTmVUTGlHZ0gwWTdxUWdxcExoMUNIS3lMVktXSGlMSTRPakFDR2dIQVhtRkVKSWF3QVJwZzRBQUQxYU5ETjA3ajBVSnJ4d2tKbE1PQlZzVlZUU01pYldMUVRTa1lRL1hzbEYwazV6ZVFLN0FxdzJ3cWd0eXJqeEs0czhtaE1nVlVXUERyQk82cmltOHNLbWkwV0dKeUwzSW1McXRrZUdEUC8rNUxFNjRKYU9najh6cVRQaXAxQTRFWFREZWtFTGZQTnlLSkllazV5aXBtUnBSNTJwcE4xcWFyTXBOSUltazBTakNBbG1yUmp4V1RleTIvV21VaVhkMUMzSzFXa0QyeVJPYStMVjBVSUc4ZkpBNHFvcnB2UzhDUnZZWW9zbmpTQ2RJVm9JNlZ1WldhVk1JM0xOUTNUT29GTTk3YXFMc1RabXF3aGhWdE1wbTNOak51YWlzZWdJQWdrbUduV0hVek5tRHdjQTBhallrZWlLZDNvWUN5TXZTYUFrMmpTeDV0Q2FoUUtIVzZpd1QzTmtuSUZuS0lZdjdFbldzcTNBL1oxcFNHUnhlV3JyODRxeTEwbGJXNTg5Q2JZdzhMb1RSeGVhTGRnZ0VCWWJJMVV6a0tWbEQ2eXNtSkdVbVRSZ2pSbzVJeC9Oa1FSWG5HVnpSUlBZU3didGpRa1Nva1RGV2xCUW9lY203R0ZwMmcxd3kyZFFPYmFXWlNhU09wM2htb0hEc0dVMVhHVHpHM2M1dE1KSkprRERLWm81TnN6cTJ6WVlaWG5PRXByMlphU2FlVFNSTVM2aDVvd2FRTm1VTFM1NTFpYkJWaXpwd1RaeHVZd2dEMHh0dFkrTFNVeEhDWXdJQU5JWjFhTXdtS01FQ3dkRmoxUldNS2FhcXNGUTZKVFpOR2lCcEEzTnFENVhpTkpKUk5mR1Z0ZDQ5bWQ2M3MyOFFyTm5KMDJtT1EyLy91U3hQV0NHam9JL0s5bEkwdE13WjlCM1NSb3RLSUVETnNvV1VMR1dvdjNPaTNxSytSemxGS1ZzdlVWa3ZHZDg4Z2pCV2xwUW4yRkh3TlVsUEZyUk1rYlZvWE5LWXVsTmlmUXVUU1NZYTJjR1c1clM2Y0phbkdDK3N0TnI0VG5jc2p0eXB1T2xXNXZiMGdIRzFpNnFYZ2xPRWVzVmxHRklISysxMjZpdkNmZTNjQ2phQjErSzJ4M29rV3hUTHJ3MWRXVUc1R0lsQWNCS1lRNEFScEdnREZBV1k4WlR5WnluTVNXQWFyQXFsVFVWRXJyanpSeFpkSTVlRXhhRFBRelpjb3pZMHdnbWRXN2hzSExJMitFU2dseVNaYWlscnhBek11Vm9HTytsZUtEVGlPbndVWCtDVXRJY2dXK2lVMkNhZTAxbktnZ1ZPV21aNWs4MDQxYkdsNUNlUW1nWmJvRW5peXJOT1VRMkZteXQ4MEU3cjI3eDJjeVRqUFplVXkwdWI3QWlLUkV3c3llMFZUMm82RTYvTjBNVWVqU2loRzJmNG9UOFF1TmNtdEJONVpuWWg3dWpnKzY1RklwWlRvRVRtckFDUUtERStveno5SmpEVUl6QUJGaDZSREV3NE15UTBaNWh5dDdpWU82cFVCcVVYZEJCVlN5N054VFFvVm1FQ0FsSjJ5YnJHV1RFa2lYV3NWMTBGZlBYeTdkUm1vcEwwa3J6NTBtZnBJaGhmLzdrc1RwZzlrQ0N2d080U2lLNmtIZndlMFlhTStpY01KS0l5YzBpWW1qa3lWeEpKcytaWDliVTNXL0xtcFp0cmNMcnVTZ2oxbHRGZklaUFF1VVpabm9pa3pyVGNsanBQZDA1aEJGbHlIdExReHE0NnVwSnFOcHI0L0phNXlQWk5OdlVwRDBsRlhGMTJPbkoxUGFaVHVybENXdk5wck94QTljbVFUU3BPaWRPRFUvVExKaU1Zdmw2N2s1SW9xeU1GUTZNUHJqT01Fd01KZ2xNRUpTbU5EQm83Q01wRzRxUDlnaFlvUGdwckkrQkZDSkx4YmtwSlZlRHFYUG91bmV0eFhrdXpzcElaT1I0MXFUMFRVSTZlWHliS2hNenpWTlVwQmlzYVpRcXptcDdyWWVEVVlKU1VraW5DbDFtVmJ1VE1jakZKaGh6ZXlqT0s4WXNUNU1XaFREbzN6TGxWS0l4R2tVVmtrbXN3MjVhRGVQbk9GNWJDUW8xZUxHSTl4bEtSNkRpS0JLcTNpTjJST0swckJxNXlFemRLTkc4SjA5MjR2dW5xUmFhaWcwK3hDOGdWcFpIQkpxYUZBaEkyMVp0T2F0c3dwSXNva3BNQ1VCWXdvaE5UVlNCYUFRYm9rVkl3dFRnb3pZbUJBbVk1QkdZZ1JZTEVObWNrZ0FGQU9VS0R6VUppSkhXUFl4ZUQyNUlDZkhRb2lNdk5scHpLcy9abGRDYkZHRUpxVXlobTcvKzVMRTdvTlpRZ3o4THVralF5UEJYNEhjcEdtZ2hSTU5SU0lWd2szSzRVaVliWFd5QzNLQ1BkTDNSb25ncEQwcVNMV29ramFYWVg0a3RZNjVpN1hjb3FoenR4SXNWYmIxR082V1doczFJVTFzZlN0WVF0Nm8xaXhSYkZKdCtFNklOWFVOSVREUklUWU9RSk1MR0Nnb09KWEZocUpDdks1dVAyZ3hiY0lraEhCWmRISm90SmtnZ1Q1MjRMQ2h4RFNpaEEybXlWa2l1K245dG9VTEhtU3ppSEVJQ21IU21IUUJHbUVnQ0k1dUpMNHVHQjhZQmdJRnhNRmdBSVFBZFMzbVRBdm0rdGRSQmxwbFJyTk94NHQyYzRzdW9OUzAwNDNFWDN0K0RMVGl0SkpzK2g1TlBTa1ZUcXpRckNEUVYwamZsUkpFVjlXdEFIa1FuZDRIZkFVU3hpWnFMUm5EdS9Ub04wT2d3b1k5MVIyTmFUanFDWVdOdzBOUlpyd2FnakljVWlKVEhFTEdNa0dNR2N2Y0NKVkJvSENEckNWWFdBNDJ0REI1TzJ5SnNBRHZkRThTTUJrd1dFc3daNXd6dlljd05Eb0tBNmkyYVZ4aVVLWWNCbU5yZzljc2lLQkNHaVVKRlFUWVBFaDVRblZrV1NVSUNVMDFpRW1JaUZMdVlScEpRU0loK0U1UktKdVNLTXpnS3lodFZtS1p4R2l1Q1VCbGhrbFFvbXlkN1Jjai8vdVN4T3VDV3FvTStnOXRJMEthUUtCVjB3MzVxSklhVGFRS0lCV3dyRlp0SlpKdHZXaU5OQWl0RkpQUHU4VHlncVNzSWVRbitYSlk4cW9jRVIyT3hFcEp6U3FqY2hsQ2p5REJva1NQSTRJbDRsZldvMEUrZ1NTUHNYT2E3SzlxaDlpallmWnhabFp5RnBlTGYwWlVhSVQ4aTJwc0Y0dlZZVjBrWW5NUlRzNmFtcGJCcDZhSmNrVU9OcFNnU2k2a2lCQkFMemFTODVnMERwam16Qi9pU1ppYUJBa1JWaWNWbmdndlBTRlNZK0ZZY1JDSVBkd21pUWNsak9sVllNcFJVV1NWeTJTQmkrdlQySzZiVFVKVk9jVVRMVXA5UFozQkJJVjdJN1dwTUVKeFNxZkpkUmMyeWpUbTNPcWczNVhzdFFLa3NkUzFDcXpCZVhzUmtUTWtHd3JWNHlVc3F2U2s5V1hZeWFsUDhTU0RTOFp4TVBGS0txVG1iWUlFVTdadkZwSXNPNUYwa2M0Tk02b2Z0ZU1Icm9Fa0pqcVhsTnBQVU93dTNGR1lNckpxM0FvN0ZwSXBMQ1J5R05PaXluVWpUY1NXN3BvdEdqMktOdTZKdnFRVkF3QUdOcWluOTVJR0pJQmlSQmRiZ0tVbUR4cG1rRWthUXg1QzNSQUFMNjBoQkltTlJpRVZXZVFTb3NvMjBZS1FBNWtzbjc5RWtVVEpJS3hKSm8xTms4RlNiUC83a3NUMEE5dW1DUGdPN1NOTEhNR2ZnZDBrYUJORStyTi9zOHFxNTRiVWtrU0pCRW81QmlERWttcXlFS1NyNGVjRFljcmxsTVNlVEtwYmszVUhMTm9oRnZLVUpIMUU0WWZpMVNqRWtKSG9XbTQ4cUN6Q1pNakpLYXBnR2xFc2NmYWFHWGlkcVNMV3Rpb1FnbTA4V2IwMGtsYXlCM1Nnb1VkS2F5Uk1nWlU1SlJka2t4SUVXSXZBdTJQVEJ3TWZwRFN6cm1jQ1FvQXMvbWZxR0NFSHlBQXhsNEd0bXNsR0dFakRscDdDRThhOGFLSDhQRjFGazBLblE0dnQvazVobmRYZ2VSc3lnZk1rOGw1b242Z0kzYkV6aXg4aEJ4eTYwMVVvN0JScVQwTnJWckU0dDNTVlk5Q2c3RlRabEZtUkswVFkydW9tOTFxWE9TczNvcFNsblVtckYrc3NiMTlyWmRsSkF1ek13ZzNHMnJqR2JjM3NVdEJwSFlxYXlxZWpLb0ZvMDVpYWtXeTV1Q3N0VXZGOE9HVi9KWnZ6VFl3Z2tnWmFtR3EreEo0WWllU3NNMGdoQmNhN01qaW1wcXlZOGx5eXFCaFRKTDlpR3R6VkVBd1ZDSXhXZWM4V0x3dzRBOEhCTFZjOWxwRzhGeWpNZklybEZDSVNOSnRvU3JaMGxjaHZZdHQzUWxJNld4TmVMb1RSMzJDTG4wNVVZblpFa1JZVWYwY05lb0tWZGlULys1TEU2QU5ZTWdyOER1akRTeHRCbjRYZEpHZ1NSYW9qenpRSUlKS0pYY3BlVVkra2JLV3BLb2x5UlZaK2s2Wjl1TlBRejZiTG10NjJxelFWVVk2Z1JscExvTDFLZXduQk9NRjFrR0lHMWUyZGQwRTNsU1Z0RWprSlRDajZKRDhQT0xsU0pCQzBWcHJJMjFsMjdTM1lvZExOb1V0cjY1SHJjb1gxSkVpSkl1cjFIU25McHJNb3NkMTFJd2xCV05mVnNhT29rMXB3bEpnS01YQnFQWGd6RmgwSmp0V2h0MURsOVFaYTVOK1RrU1p0OVNjRkpiYk1HclVVYmsrT3FuVU5kOUtTWVFLUmsxcDhaaUdsbm1US1ZMTnlRMlRxTHJPVlpVTDlrMWMybUNHUjJmUVpCTzRjeWhYbTltOGhuV3VhcTdlSVdOSWwzejJiS3hTUzBVNDZpazdFY0ZXVTE4azNQR0laN25qTUdtSzNZSmFUWEhkWnBxR1JrdFM2cnM4cjlzNjArT3U1cVNxT1B0QmpaMTdNbWUzNXQrVUdxNkdUUTY5cEZ5U095Y3JJcXl1bmRycTVhYVMxMmxHNmZKSEZOQ3ZJK3FvQVRBREFPbUVFUUc5QnptQ0FMSnp1ZzNlU0Exd3E4S3pLUmpKMDhJdW9ZajdTYUtveGZKM2pjeVRXcmtrWG9XTXFPWlhpbVVVT1VxeWtWWGpSSk9hb3JSNjlkVlIreFI5ZTRLWEovL3VTeE9vRFdSSUUvQzdsSTByN3dKL0ozQ1JwT2JSQkN6OXdKV1VHeXh2YWV2U0hXMTBiS2x2WldUeHFmUUwzckRkcW8zUnhKT2NqR1JKcXRBVGFSc283Z3VRN0JVdE5TN3hjd0pWMEZ6amlUbUUwcHVRRlY0TnJ6ZWhkaXMwTG1HRlpFaU5SSEthQ2FTQnVFWnZ5TFNuWmtxVExTdFNDYjNyb21wOU5DckNHQ3RCSWpwRXN6WnlNVUZMbmRZeG1IVVdnYnBrRXkvS0tZQ0NwaVhGSG8weVlWQkNncnZQN1NQSUlRRTB3ZUY0b0E0ekxXN0R3UHJkSEZWN0p0WlcvRk5TUkRTU3RvaVBYb0dGWmliU1VDSGl5WUpxTFhZMEd3YkJVVUVRV0ZMVG1DYUhIV2hBWldYbFNOQTg4a3hvNHp5OExPSUxiVTZsMW12RE93bWJKUFprbnFSODlIdlNYeklCaXVpNmlxWTN0ZXNRWnNXQzJrQm1XNlZsUFNOdklmb2J5ZlJZNU5aRS9TRGxKVEowcjA1aktFcEFwUitINGFlRzcycExJY3F5UzBXaGZjMm9TbzZweDlQTW16TWFsdTc0aGtvc0FJaW9GQXFZeGl3RzQyUEVFVEFTdU43SVBNQUFGSGdQQ2dURHdIRmdDMm56Q3daYjZ2SE1SUVZ0eWkwclNoRlpGby9oKzAva1NSaExmUFNrRnJhekNETlJVVFoyQ1k2amI2TkhXVlAvN2tzVHNnQm1DQ3Z5dTRTTkxDVC9nR2NTWitjUktqS0NpWkVOSWNjNElaN1BFaGd0VFpjdzU2WTVuRUNEVEpvbXlST2k3SVhpWklteEUyU3cyZkQ3U1h5eml4cUtTTXhOSDF6SDFGUlpNbWs5V2dIV1N3Nmc4MDZIdThzSkRNS1dTU2NxV1p5YWVpVHlLSVVhVEpEa3lLWko5NExqcFVTSVJQU1E3S08rWnkvcVFzSExMdll3V1VVUkUwZFFRVHRjRzFjcWlRQVF4RFB6NjZHTUlnTllSeTRBWGNoeVRGRVlpVmdaeXQ3Q0RVYUpDb3RhY0ZYS3ZySkc1cmloRzlwcXFPQm1pR3dvbXlka01oa1JPam8rWkkxbEhvMGlVVkZWdVlUZlRpbWRPa2paS2ppaWkwSlNCRlN5ajRKMGJpRkpHWGRoQjNYSm9LSDU1UnlKeElqQ3l0WXBpVVVlNEc1cUNock81TGRacWwvREI5VCtOcWJsVWpyNGtUTkNsSkxMZkRMSVcxYW5pUkM0NTBDa1BQVUNsSlJQVE9naEpOelhiWGNwUnlHcjE1ZzY2N3pSaDBrRXN5Kyt4dGFvL1dYc3dMQ2d3ZWtNMVFPb3dPQmRFNW5MY24yQm9UQ1lHZ0h3SWNHaFNsNEVGYVZVMmJRcXZ6OWxhc1dGZXRCNUNvcW8yTlVoWk5TYVdidDVTUFdnenhWdm0yMHlldkcyV0YxcVVOclloUktzTExFMy8rNUxFNjRBWXdncjhEcVRQeXYvQllCbkVtZkExa0MwL1Rjb3JZbzBPcktqVTJ6N0xDOENSSnhWMU5JM1R3M3FFcnVOenBlUjZEU3VvWWlqTk5JTUx0R0cwU1NCcWtTN0pFazE1dVRVWHlSdGhTYlFFclhyQlkraVVLRkVLQmxpOVlNS2tacnFOMGpva3RwakJVa2txc3dVYjBqVVpPcWlwcTRJWUhwbzRJQk5PTCtxcTlVNm10TkdLeTZ4V1E5TlJkSVZwSXlSc01jWUZnSVlwRzZlREI4RGh0UWljVnIyS0NVUU5TcFNnSVJSU2xpU3I4VjJtR2wzMUNrSkcyclNEVDNxSjQzenlKRW82WWVCZVNNUU9IRXppemlZUXA2R2w0Rm9VenNWRUtBb3lsU2s4TkdXMTBEbDVMU3hsRXpLbGRrMU5raVdqNU1YV3NVMHhtTkk3bGk4TW96QnNvd3BQc0xFN0tiNmp0Um1pbkJEYUcxNG9VeTZvNXJhSmxsYUs2TzVwWEJHc2ZWbHY5dFl1MDZvUnlNU3A3cGFvdFdkTkFxa1Z4ZmRoc1RTZFE1U01vSXFlM0ZWcFRvTnZ1dXRZTU1zSE5kR253dlhaTmEwS1dvRkM1NWg4a1IwMFFJR0VoSE5yajdxSEFBRmt5bDdNY2VCaXRRN0hLTlBBOVZPc2FWUmJla0NjNWpXdDN2QzdBb1ByMFZMMVhtQjFWMGNXU3VmdXFVaGlZeE9CLy91U3hPOERXbm9LK2c3aEkwc1N3VitGM0NSb01odmc4b0dWQ3liRUFVSWtLTkVIOG5xc1lKcElHelpvK3NvSkhaQmhuV2ptVnl0dlFTbEliVVE5OWVHVFVOb28wcEp4SFVyS2t5YXFCcURDM2VGaWRpV0tvU1JObzhzTHVhZ3MyV1dLbEZTcUJqYVRrckRFNE5aYUtjWmpDMFpKUGl5aGpGblc5V1kxV1UvUFdWOWN4Qmp6akdjcWVWa2xKdDFQbXFoWFlRV3FxeXc1STR2ZHhXVG9LQUVodnFSVUVJN3dFcW1tODlNMTJkTUZEWXRCRzI1d2pWRElOWlo0MDdXWk14S1JLZkNqc1EwOERFZ1E4R0ptQkpEUzVNMFNjalpjbVdkcXdKSG1hYVRLaXljUFFHNlJNS2J5Y0dpRVh1dEludHFJTVFZUWR3cVFja0QxMEJYVEJ1Ym5KT3Z4YWplMmhBc0xjNllNWHlFYWd6M1ZiTGF6bXFQQmlRckJSQzZMWkk4aTdRdUxtdDV3L1JLUnY2TDFMOHdjNFRsZEQwVWhLL2pwV2lBTUZnZk1iVzZQbnloTVF3S0RCTEJtS3FTT3c2RERwY2VCU0V1dldYdndyUlNGR0FvYkpLNkZ0V0hncW5OSmdsRXhHT2xVVUFQTkJRQndiZ1JBaU1pa2pCQklkd1BhMFEwRXlKQ1FiR1lsR0d6SlBRaU1rU0NVRE5hMjIwODNFaGJrek02S0NQLzdrc1RwQWhvYUJQeE9zUzNLYXpyZzViTU9PYW9Uc1pVSlNvcVdVSUFvZEQ1MFREUUl4UmtoUTIzY2lTZEw2bXRJaklZeEEwWlVhTWtRMlFxdGcwRzMrR0lSeDFGVkNoc3N1SDBFVVpsZ1ZFQjFHV0plbUowVW5qNDBhWlRXRlFYUnAvcUhtV1pHVVFtbE1ZQzVDWVZQQ3lyQkhpeFF4SjZoWEJzaUxsUjhqUE1JMlhJeXg2Y3g2MkpXVFNJVmlrRnd0Zys4VUpDREN5U2lOQmgrVHAwcUlnWUo2Y0QzWXRpRFhnRWtrYkx4d2wxOFlhazljcE5KZEdZV2tWUXhCTXlQcVptR2xNZUtTTUl4UUlIWHFpQ0ZFRDZQS0Fqc0xSUE1nV2tZUWp1dEF1cElSWE9RSUZuRmFIRlNmVk1oUUw3eEpOTkFnQld2U25wRmFDejNLY2xwZFZSWU5aS3lpQjEvSFNUTkpCeWQ3bGxHMlNSUE5LN0owWmhCVEpsRnlKWkk5YTlibm5BRTREdjg0U1U1eEpRODhjVkgwS3lYWVRoWnJIS1RPWWs1aGlIb0pIaWtGQXpJcEppbHdpQ3FPeFI4Y2ZoZ2VEZWdhaFdGUUFWQ0FCd3B0OVFCY0RxT1FHN2pJekN3ak1BQTkyRi9vTW9FN0Z0YjlQZXBKcXFwUGxSMUtNV2Y0SG9ta1pBRWtLSVJlaXRLUHBJeEZFQmxPWVRxenlRODlQdWNpU0gvKzVERStZUGRkZ3IyTHVralN3QkJYNEhjbUdsdmdHNnlrRU5VT2RHM1NQS0dtSGsrZ1F3aVVhQ1JVbW43YWwwRXBIaDBVVmppUnBOWU02TElIRUNBeW0yU05sZ05ZRW1SMHhnbmxrUFhjc2hSQzFtM1NaaVZBMnJ5bVRDamtCaDdpeitpQ29OSlo1OXk4S2kwckpZMXA3am1nNkovMTFoS1pkRjRtaEhTSG5rYUFTZ2tDd2RLb00vUXBJZVNOakpQWXMwRVEwd0pCZ3c2YWs1U0tBd2tBbEJaM2ExSVpHUUtEQ1ZBemlLRkFlZGliNFZ0RkxLYXFNVDl1SzZCQWFCWkNpUnNNRUpkZ21tc0ZXR0NMUTlNUjBXQ21seDRVanhvbmJJVTFZa0tOQ2RiRU01d1J6OWxpVUNrQ3h0eDB4R0VXTVhSZFYvUWx4VVhRYnc1YlNOcnJ2aVhYS3lYRmw1TlFaWE1Rc29WTno3UVBNcnZ0UXMzY0VDZHBmVVdZZ3drTzR1MlVMelhtb2p5VnF0SktrWmtMb2tvakRDNkU0MEZSTEEwUE5hTUcyTldRb0VZZlpSM0IxNUE0SVpuSERwNjljZzN6S251cTB5cnFOcUJwVlkyMnFSTWtSTkJKUkNSR3pLME56VklLbGZHSmdBZlNBSlFKRlB5YVhRNEZnTzA4RU1Fd1JnMjd1aXRlNFZibFM3NWJkRjJicnlaTGxxSzdGTm1QekkrSjlyLys1TEU2WU5ZNmc3OExpVFBBMmZCbndIZEpHak1yYU9pVDBLeTNadFl0NEwxS2ZOM0VFOXpVRkZTamM1VWw3dTVSK2w0VFZqVEtIeEZkb040ZVRqc1QzTmxlSGxIK3E3VVYwMnpLajdhTy9PU3A0S1BqM01ZWGJzblp5ek45YWlsdHkrOGhSc3lnNkd0MlRsWGhSelIzUVNqb0pOVTNHcWpHUHVOY3hCT0x1MkpDQ3FjMDVnSXlGZ0ZtRnJNZUlTNWdZRExEdlJsRUFVSkZnS3JKb2tvbXAwNUVoODFpQkV3eTFxQnVsSzJLaHlscG9pUkZCTWpHeUFUSTNNZ0tvaWp4U2lpd2NlM013aEpCREE2eVpRV2hKZk9XMXFOdUI1R2hia2lYUkZPaW1udGpncFZSU2dzaDF5TkhJd291dzk4VWFKTEZZU1lrMFdTYVZVbFVpYWtjMkxZbWRjZ2loWXJ5bWx6bVNuS2FrL0JzaGI4VHlCSjRtZXFVVlZGQWxGQzBGaTFRYUw5T01GNHJ6TittQ0FnU05UeFJYQ1ZZMnRyWHhFc3FtNktTQ2N5eUtBNjBRSWpDOG1sRUNsck1yNmZJRWF4cEpOY3FqWDJCbEJBSUN6Q2RBT05ua3dLQWx5dnRLWVloeGt4WUVxOVVDcWVtc3RUcmxNZ2ZwQ1VReHFiVktGb29FVGp6WVFwWEZFMElXT1RVRWhVdkVvaUZBQnp3WmhFU0xBNC9EcEkvL3VTeE44Q1ZHSUZBQTQ4eUl0TFFkOVp6Q1JnUVFtV2NxY1FoUTdBVm9YRm1GVkZtZ29UeFF0dDFJOHpPa2wyazVxdDJ6TTNpYThDaTE3SkFlZjIxblhiTXBXMVc5VlZCME1YSGtqc3pPb21VSFJIa2M4a2ljWlFOTm55WVNqaFNuSm9ZZGJxUFpOck5zSWZMNnNRS1lUcUd6TElwSUVVVW5vME0ybWlGMGFWb2tkS0RxcUs3ZFkwaE5tN05uVUdwdWhIV04xaGE1c0lWMEpSQXdEQUFoRkUwOFkrdUFSNFZNVmg2UXVHa0czVVJCZFVhc2s1dkYxdTR0U3J6cU1yVFkxelVoUmZwOG1ETmk4MGc0MHQ4YlQwaHgwRjBqdW55OGhMQ1lTS0lZaHBTakVrOXp1aEVKdXoyek10UVhVSEdGd0tPTFJMNUFpNXZLU1B4T0d0Sk40eWRwSk0xU0NFTVJuR082OGRKU2lrcStQcGtIWnBzK3FoaGtwc2hTa25lb21VOThYMGh4ZFluaVNZR21jMU5VMDVXV3lTVlRpYnE3bGZTZHVXYWlpNVBYOHQ3T2prM2EzM2NsRnFBQ1lBd0FoaFdsNXdhUUJncUFLZERyd2RENDNGS3grU3VjU2N5Z3AxNlZFYjNJbUN2WXpYNndyV3RYUHZZTzZ3RzZ4cUJkV3h3ZFdTSTNEcWg1eEtQaUFwWU0xUittZjlTaVV4WXFjTjVSUk9FWjkxaXYvN2tzVHFnaG91Q1B4T0dTOEt1TUdmMGE0WU1EalNrN3lCeEd0Z1NySTFhcDM1anVkUlRkRGpYRmRGMnVwWHFNSjJIMXBNT25EcVgrMnJGWG9UMUZwK3VVTnNvZVVhYnZrVGQ3TWE0NnJ4ZExlTXVxajVTWUtrT3pOenhJZE9QOGVQckhzby9GZXloYW10US9QR3IyNVlxV3JXbHEvME40cHExWjh1UDNFVUdGckQ0WVBVTFN4dTRrVjBucjBUeTE1ZngwODdBdW8wdFBtVnpxeTYxaFVSZ0lFUU15OFlFQkx0UjJhNlpVTFdLaEZHYjd5WnpUYTQ1T1E3UkZuOVhuekpiS2hPekxSSkFVR0w1K3BoUGZEaXg5T1pEVWgwSmlDSVByR014czQyMzROUVhKRTNLWDdOUWtwNEtsSFVVYUlTVEUxT0VJS3JMT09KUWNrcGttc3RudW5nd3BGL3FMaDZLTGV6YVp5Y3JMbGJjVWw5WWk3cDIrcU1icjAwa2JPRkhJb1lQU1FLZlczOVI3Sm8wZVhGTlpFNWllbDN6aWJHNFJaR1pUdUhpMW5MYzV3amVoNHY0NlNSVE5Vd01DTTJ5emtnT2djSXFTVXRtbi9DZ1FxWWhjRkdQUkZvTTIzSjE2R0k4OXRidHFUUWlzdXF5Y05RWjFLQnJTQmdTUmJoeWNoUnNFQjlzcTlydG9ZbkRyR1dSK0VKbnpwS2hQMndSUmtQR2RFbzJTci8rNUxFOFFKY0FncjRydUdEU3JUQlg4SE1HR2ttVlVLSWpVUU5VS21UVGEzUWxUUzh0Z3lUNndiUE5MNGZYTFk1bm94YVYwd0dSTk9JcndnUmR1MTJ5SWhLWGpkcm91bEhINFJUZEIrRi9Kc3JOWkNUcFdWdEM0VnFObURYVVpzbUhpWkdhSHpyRUY1SzFGWmpGQmsrd3dpSVcxQ3UrUjh3WnhSVlVnczRzZEp2SmdRRzJGMllrVEMrcU1ta0NNMlIydzBzamVMSktEbUpGSWZZSW9ZSkZZMzRrOEdERkdBRUJNWFRlV2F4WDliZWFJVGlqYTJ3clN6Yk83MkltVkdtcG5WMVVRZUl5QnVlbTRtbDNxdEVMSklRS2hnMmhXS3NTWGlUVXVnSzVDNXFLT3FhRTJxMVNzRTYrU0RrbklDZHFFVkJRVWFtU1NaWDF0V1UxSWZZL1ZFZVFSc0syY1F4TEV5R2FzV29xb3BxeW03VWt0VVlPVHhoalRvamhGcUVabUpxdFFRdEwxYmNsV3lNa1dsbHpTYlFETXNSTnNzb1dxU2xQRVNTSjd4TVdKSlNtYXZ3UUxsQzAxcHprYlpxcG5sVXpTaUFoYVpUWUx0RWpDazRzbVZxY0FVQVpCQmpaWlVDbnhqbEJZTG51Y3ZodEhwbE1zR3d4SDNCS2JuTFBxbXplYWpSbWttanJKTWlLd0plMU9CZEprbXR6Yk1zQkEyajVHN1VCaE1vLy91U3hQQ0Qyc1lNK0EzMUlZTXZ3ZDlCekNSb3V1Uk1LS042amp5RlNRcWcweEp0NnFIS3JGVzJGQ0xpbW90bDVXeVd0azFoZ1krYjlZM3dXWmVxdFQwRXRXbXJGbzYxYXowVk0zSzFHSU1lRUpXK1dzU1NZako4eTZxem5zck56ak5RNmFYWm9xdmNac3FsdHRJU3NQT1JteWl1MVlxS0t0N0JwQk9PdWk5S0t6WnU3eWJwUWdzbnNvMGczREtCcVNJNmhRbzNnQktGMVRESzJPcWprTUNTNlhldlBPMmFIVzZPYlMwOWZUbTBtcTl6UGNxczE0clhCMFZLT0k5Um93TkdCWm9MRmNhVVZYUnFJN2Z3SEoxQkVpUExUMHNXUks0YlZNeDZtK2I5dEhodUpsQy9FY2k3Y0oyMU9DeldvNXdvbWtWRWUxUmhiWXpScE1scFJ6b0UweHhWc2dQMlE3MDZFRUtsU1ZXQlNlV25kNWNBWlpoY1FZUTc3V0p6RWpUZ05BMmcvTW9wQ2lUeVpwQXcwekFVdXpzd1ZPQnlUcDVXWFZNWVJKVkNaRWl0VzFKYkY4cXpENk5TaXpUSzFKQU9EQ0JwTkpSTTltQVlvYVdHZkpEaEVKMktScU1UU3d5K2xnMWFTQSt1TUJzbzlBUlRaVGExblRNbUlMUFlnZ0hFU2l5TUtvREJxUXBDZytkUGs2aEcxTlJDUlpLVlRNZjZUSDhZUXdkTTlQLzdrc1RtQTFnbUJ2d3VhU0ZMQzhIZmljU2FlSXBOQXVvbW1uVFRhekxER21GclFyS0ZFU0ppNUVMUlZTYWpKTGliRTdkRjVscWJES3ZYUlo4bWVYM3pKYXVLaVNqVEM1Q1NRSjVLcHRRWWxPbUNvalVXYlpLV2FSUncycWNYUWo3b1JLWXdOSWQweFJEeVJvZlFvVkNGU0xzTVJrZ0k5dU9vR1NxeEdocVQrOTBVcVRKNHltSzBLYTRxU2NmV2c4V2l1eGFFa3BlYmNnOUQ0RS9aM3JBWC9jQ3ZoYlNGa3BVRVlTOUVxcHNZR3ArbUt0UkFQRnA3V25FRWxyQ2Vtc0JOWkFrRkU0QktKSVVjV0wwaEJETmNaOGtLTk5JVWlFRm8wSXdFdEdSS21HWExOcUhVcHBrQ0sxTnR0a2lSazh5NG1aVmlnWlBuWEpIMGZNS3JKdE4wbkE0eWpSV1JrNmFxMVRhZkNjbFUzUU9McWYwelVVTFprL2EwVWNXbDRMVktaUmNwTTFKeEVvemFHSVhKR2pTMnJzV3JBMGhVSWI1QzBjVzNFb3dQdHB3ZXhoUFo4Z3hwSmExR0x4NnlpR1pIQnFjV3ByMFViUkYyR0luUzBTZ3JYYm1xTGRHRlg1OUI4R0FMWG9qZnVzeWRWUDFpN3hSVGFZQW5ScDBwcU5RUEJZNGM5eWlwSUM2ZXpoS3RTdm1vRTI2a1RJOU55aXBkcWV4WXJKbWJXbkwvKzVMRTZvTlpvZ2o2TFhFaEN5VEIzMEd6SmZoRXV6Q2tiN2hGQ1ZicEJzWUxmSUx4bGsyQzhmS1RMc1JxMnhKWFpxSlVOUlBvWlRncXpDTmE5ZGYvR3BwVzV0SHVRaGlicEpVZlluRzNvVjd5RTE3ZEppRFQ5eFlvMlFiR0hldFRLODVvdG12cTdVSFlvK08rU0IyV2JGTjhucGhSQW5yTUU5cUNYdjFWcm9KcjRUcHZyRmtObFlvWktvV1NTWVlETC9TeTZ3WUdrZWFsakNyTzdMdHh4K0d6Nmc3ZUdiWGk2MXlTYlNqZU5WQ1VyU3NuZ1JrS3pab0NkNkUzcWFwK2lKd2pnVDJySWRaUUpqMlZRUzZaT0p5WTd4Z0dFSW9qOVBzVUM2a2dqYm56RG9JSDVZbFRrVVNpc29jSmpTUWFEOHRGeVFNU0p1Y2pKZFFoVjBZY1lybjQ5WUpMZEU3b1FUTVJSUFRVcWlkZFNHVklTOHdYdmZHazFySnBOTlpSYnA0Y3VFMnEyekdObmxtMUhmY1g5azM1cmE1N3pyd3F2ZDBaZlNQN25NUEpWUUUwMDNJM1lrU0ROakV4OUJ3NUc3MnFkNUpLazVMcUdRM1ZFY2ExQmM4UFlSb21yMWJTSTVJMm1RdmprcEZuamdKU0EyeVRDSStKNHRXTFFRNFNwR0drWldubXRndFZHUTZXSWtyMXppa1poRk1PaXhaZWkxbktqRUxZaTJzQi8vdVN4T1dDRnlZSy9BMlpMWXJJUUtCbHRKbTVHU1JrdEZQbU5oaHBwaWpER3hHcmMreWptVEF6M3dYbmxvZy9DcjZibkx6TStMT0kwN3RSSHlnNzZqS25aNGp4SHJLNnNhaWgzdEVzWU5yck1wVklFRmZaSVVhUUFyU2dBSUJwZ3VsRzZUK1lCQWpJVzdWWCtURFZnRVlJVThtVzJhUXZEWGIyZmJFdE9jQ1Znb3EzaksrZEtSV244cm42ZlNjekJKSk9vMU9yaGVyU0hxay9GQzFKK0dYVnFIMFlnOUNBWURoUW84MFF1S2dSTFZ3d0dKR0hONDhORXNUUmZIMFFTNnBKd0RTYzZhblpOOCtLNVRTTEgxYTlRVllURkc4d3FFdEpBWkdUZERraU5WWVhIcTZUR2pOa00zTEQ0OXB6Sk90YStsMHBPUGw0NnlQOENrOXMyaVhSUG41SnBDdFBKVE4xdWZxRHc0ZFVIWkRPRHdmRVRadWZEMnZQU3Nmc0dhMk1uUkdpQWVuVjJqVXBuVlRxeWtmdVRuSzFsd3U3R29Wd3ovRm83aVduN0Fsb1phYmJRams1aG8xQkFjTGNlYnhJbGFRM3pzN2pUWG1WQUFDbXJxUmE2WUNQQk1PcTZIYi9NbjhpVTFDWHBxWjQwbWROaGhjbTBDcHRMc0dKQ1d5MCtyajkvM2tKNXoveHQrRzhVSzExcmpBeUxzM01OZEdxaWs1elZWcmw1Zi83a3NUMkFCUnhvdzJzcE0za0IwRmVtY2V4dWJFbHZEdEs2WUhYV3JsMXFWeGUwV2NNUWpSU3NMUHBBaTVJUWVNcWlOcGszMmMwOG5VOVI3NVMvU0tUNzRPcmRucXlpN3BISktzaEprbDlqVVByN3BmT21TTk9KUmJUbksyU1dPcGFTQlhyTnBPRDQreGs5SzBOeWNYck4yYVA0cCt6dm1VYWEvaG14NmlTb3dwMW1rR0dWZWR6SXdPQjdpVzVSdFBkc0t5WDVDMG5yb0IxTGNLeTl6OUxobXlUbnpLQ3FDZXRQcXEzVUpUSW5MQ3lpYlEyNFdGS2oxaUlFMGlJNnVHSVJJQSt3R25ZOGthNUFiVlhNanJ6WllnYlBtRkU0Q0JBYkxrMFE4Z3BRRzJBKzhWaXFSUDNFakM1Z3lxL0J4NE1EeGRDdW1RRUpBNUZLcGxvdHVJWUMwUUVaT0RCWk9BTEVzbWlZNWlPQ05HR2k2S2JVNHJoWVJubGFQK1p4YkdYcUtpc2RYUElsbFhtWWFoV1hhdFlsVzFEUzR5eWdZSFVZbmVTSEdFT0dWQktqYXNiSTlRSHhJUms1TWljWE9wQ3A4NGpiYytpMWlDcXpBa0gyVGNrblNKTklVd3pGRUpZRWVvVnkwQmxCTk5iQzgzV1IyYlJ5dGRwQ2l1c25hUEVUZXFIMEQwY1dVNFBRUFJNS29FMkNaREJhVFR6UXE0NldmVUovekxtaXlmLys1TEU2WUlXaWdzRExiRFJ5MzNCWHNIR0pYRXBPSEtka1ZZSW92SlhMSUlyUmNGR0ZUTGFURkVkNU5lVEZzWkxXMVRoWkpaUnBxT0tMUVBrQzNpVExNTzFCcFJFYmdWV21iWFdmT2tVNVNraEUwbUROTGRtRFVFUFdrUHZTaDJVSzgyVzNQdEFlVEVCQXBTMENxaGNtVmRCTHlhdGxaNnFoblUzNWlKQ2c5eGxabGFTckJHS2NIVzJFU3lxREpzMnRNbU9udGZBMDFXcVl4MnM0b0dCSUN2ZEZUNVFDNGhmREk5aTVNZ1FzS0VLSFppS2JJMHVXbkFwRWp5blBPOFdhZnFDbWtLNnF5aFBCSTBjeUN4RkhGRU9jYVRidThSeHFaRXZ5RlBrc1VXSUpGWlRrcVpXZSsxWXBJeVVuNkxDeVhZSXA0UG9JbTNZdjVrUzdGblRVRkR0cld6Tm9tSkJRakpaVzhrZTl1TEVVQ042bW9kV2k5cnJkZW1adjdmZGpkV1BNM3RRWm9vNGlZTWtMSzdNazNFVGEybkNTMG1UaUp5Y2plRWhaVWhsWlE2aVlNRm43RWxKVms0S3Ryb2RNVEtUUUowaklwN2JWS2tNdzZvQUx3UStZTWJINENLTkVqc1ZvaFlqemg0U1NlNU4xTDB6R0pyeC9McUt6eGUyeEdwYUFoSlUzR3hPOGFZY2pRQ2xFUXNKbDRpTW5PaWRDdVFOa3hjZVFKQWUvL3VTeE9ZRDJHWUsrZzJ4SXdzVXdWOUJyaVFKYVNqajdQc0ZrUWcwQkpqZ2cxUEZpMktYYm1RVWRDVXJNT2FDdGhTRkVnN3BvZFBzY2NGbzdkaUdTdEtSaEtUNkNaSjhxS253UXhLZ2xyYlFDRGpuU21YU1pSWjBDQlNRS2pjWXRqUTZaYTNSV21LS0lRaWlVY2tXd2twaWtqcEVvcFdQUjZ6UDQxSVlMUkhvTFFodDV4U1pncU9jTlpJdGF0Skh6Smc3VFhTSlJVZ29qUER0cEE5cG9ZaEhBT0RyVEFzWFhIQ3p5c0JyRVpnOGlrbzBNVkZhYUtLTmZiWU1xS2pUQ1JOU0Z4YzBSemFURUpmUk5ZcElFYk1WVW4wS2lpTlJyRkZwSVdtemhLV2dRSms4T2F4ZnhJNVNvam1ZeDdSRkZ6Y2FLdEMzZE0wM1M4bnIvRE1lS2NOTUNrcVZSa3hJZFF1eFdHd1FYRjdTeUo3VE51c3F5bjBwb0ZCRTRzaUYxbGwwWmhPREJWR0pyVFFNdkl5OGtjMTdkTm1pcENzd01FYWNZbEl0S2tzMUhxSmtHcjZjNmpCd2YvRjBsVlZoV2lKWktrUnBXSzB5WTB0eTJIVzRraWFTWUNBV1k2MFpXc0RJbUlSNENRaW9EWjQxMnVXV2ZoakhIY21PSVVZS040aXpKdEF3bGxKNGRxbWc5enlyRnV4SE1DaVNyUHRBeE0yc09NQjlDRWlBUHYvN2tzVG9BbGhtQ3Z5dHBNL0RNc0ZmUmJZa1dSZWl4Q3ppZjlsb1NrWFNicEVrRGl3cW1MU2VTQ0JGVnkzQmtveHhwQWF5T24weHRwdVZ5Ymt0SUJsRE1UUWFhTUV2cFNiSVU1eVJ0Q0VrVWFhOVVpd3hnU2g5N0RIa1hpaGlzdEhxV2R6U1pTemg0M203M1RjdEJhcGRGRzRCakxrOHNNSnlrWnN5Q2tnRVJva1lyUVVlaW9nV2xhM3B2V2NwQUJXQTNzcnpzclV1Wjh0cjdUNVE2WlRxM0k2UGg5R3JXSTIrVE9jY1dLb1RtNnkyS1MyN0UyM1dSWW1Rc29GSG5sWTAwR215QkNLaEN6TUdENEp4UU16ZDB4Y2pnZU1uWkxubHJKVjlhV2tmVlBIVWphVGpyUzdUM2pwT2dpU01JMVlVTEprakJ4cHkwQjBxSVJNYjdKUlNiQ0VqNmZjb2NhVW1FU2J6UkVwWkFKNTBzenFpQlNheE82MVNFK3pFbFV0ZnVJRk1ENWhBTHpMUVdNa1RjU21IV1k2ZUl6Z3BVSXowQkN0STZrS0VJWEVkVFZFVGFLbVZqcEE3Q0hEd2lKWXBxdGxpMFNVdmhoaTE3WG9EQkVXcFVCdXdoMm5uUk03bEYzVjErV3h0d2tIeHVWWGNNTFc1cWt3eHJWWUpjTXZ0ZExFL2xDV2JOTlZPR2o0cXRsdGNobGRDR0NsM0I4TkxIUTVuNmkzTG1hUC8rNUxFNW9QV3JnajhEYVRDdzBqQlh3R09KQ0VYZE0rUGtOU3l5NnJQVnFuazkxcXcvdzcxNXE4QnNzZlNHYWV5eUpCb2NyMWg1ZlhGNnR1RTB4Y242V2JnYzl2TVpVTFJSTWZDYkVkQnFBeXdaZ1FtMlFyaTZuMmd0WHc3Sndhc3hOamtreUVKektYS09vNEVNdFY2aTlJbmhhREl0S016TU1tZUYxL0RZY1podzRlandvNkNNY01oT0ZGUzArTE1XbkdMUlRMZGROSXdDbk9vTmtOVk5CWG93NWwwU05HSEVSSHFGbUNkc2hlSXFLd0Iwa05Kb2hXdWVPSUJVZ05OeFFSUmswbnBqbG9xZ3l3UUZ5VHR6Q2hjMDg1czFtZ2VOR3lrbDBCR2FYa3NoVEkwRVNZZVA4a0pFMkJRb21XaFJVVkVyRXhFWVZNTmFqa0dSVUsybzRjV25NVEtLQ2hBS1VVaU5GdWt3YVNwRE1sR0F5cnRJL01URUUwenhCR3hXL2pSeE5uV3pVSzBxSzE0SlJDSkFtV1hYTnIyaFBnbWFGWVVJU0VsVWRxaDB3VUxhUXNSd3VScUI4aklXeEVZMFJxSklWa2JDWlFtWlpLTll1WE9rcEtza3FjVFRTYUVoZ2haWWFKa2ZhZVR0eDRBVHFVNUVta2toV29Vd0VpOU9QczNSMmZ0WHJOZlhyY2FjMTlmZEoweDB5aXE0T1JKTFRNQjlMUjFRZ01XLy91U3hPa0FHUElLL1MwdzA4dHhRVjdCdDZSWmlsU0ZReWNnY3JCU1BJdzROMVJQVVVQdVJidXdrQ0RCRXNGa0NSbWNDTm9oenFMOGNNMGFzOWRWVHlZSmhhUlZUcnVmRmk3MGlZVEFxNVpuU3BSbHZwa0dZdzRvbW95ZVlBQ0tueFpFWWkrYmZzdU5uNWxpRmh6QkpJK2czUndjdWd3cFViR0d4T0xSa014Q1Eya1JvQzQ4UUUwVjNzOVlUbm9GQnNScnJLbWlBRXBIOUlsVk5SaVhpTTVZNUlKaStuU0lTMThpbmNyNFNZZmwxVUpCSVAzWUdUb3hVSGpEYTRwRnloK1BMQjNySlVwRW1Yb1JNMDZNMVU0U1RvNXRQUUdLRXVJYXB2bU5qVkVzNVBxTk92OFhYb2xKYW9vUFZpYXhZT2lxbmRVaVNRRHh4T2VGSTZOTG9FSktEMWF5a0xTcEVWc0xoOGhwemVxNTQ1VUw2RjJJK0hTeEl1V0R3NU5ESllXOEs1WFBUWm1xdWhkT2pVbkhyWmRRMHlrZVZMQXVMSmVxc0xYTkxsNzZGMXpBdG1KVVhMU1VaRlI1WWVWVUhZN0hCVWpNMWtLeXBXb0FCSVdwa0IyUm1nYUVuRFZManU1RzQxVWxWRFh1VE5KZnByWGFURFdHRzJHNG1sMm1mVFVHcElJTUZjSnp0dEZRSUhiMXlNZVJyMEsyQitCZ1dYWlYxRmkrbDJsSk52Lzdrc1RkZ0JDcGl3MUtHRzNEdUVEZWdiU3hlU1prS00yaUF3SUM0UGlOdUdIdzlaR29EbHBVUFFTVG9JTENIWUdyU1lGdERac3ZERjE3RHZkR3JMVTF4ekxEeTVUNmF5UlN5cmZVRlVSaCttU3hScDQ1RTAzYkxXY044RkZwVXk5U2w5QkdTTjEwYW90TTMyTVdCbk9mY0tsSSszSUlYbVFUcFpCWkluSmxzR21vcGtycFIzZkNGOTNVekFJRGdaeVlLWUFPblRpTVh6QTVBeWw3VEkreWVWTlVmd1htQ0NEaU0ycEdKTE41MW9Wck9tYXBweENvU2p3ZWFFdzBBSUh5VkFMc2o0aURZcUM0TkhESjBWZ3FUQ1Roc2JTWVdGUkoxSm5LaHFBYUlHUlFmMThWa2tCQkJ5d3FjOWR0ckNYVzZLcTBoeWNIRWJUdVNzYUtuMGtSSEZ0UDlHVFRhUWpENTBieVU4TEkwbTJvTTRnWmlob2dhUXROSTdRT0oySGtHcmpaeUU1K2tETVRaQmdwYU9MelJIVllRSm1UVlBrVDZVZXVSUGFHM0VETFIxQ0tBOXFoTWpoQkJDREpPWGNRNncybVdhVlJRRkVVUmhIQXNoZ2hFeWdERUFBRW9DcUUrWVJ0ekRxYUMxSE9RMmlDUkRvRjZ5U2dyZVdvdDIrRGJhemZwNTZwVDNvWW5rS05Ob20wWWs1TlhoNjNYTnhHRXIxZHY0aE1yYWovKzVMRTZnQVg1Z2ovTFNUUnkxdEJYeFcySkZGSDdGSVJESG9VN3phc0pvNlJ1OVFIS2g4bXVyS3F6N0lYUkk2bmVER0tkb01uUnkxd2ltdGFXckNOU0NjaGpHVStTbzhtWVhaWlJEY29yWStOS1NOOG1pbllXMjY2clNJbkVCNlpXNGluc05VUmg5T2sxSEtwRVdHbWpENFBSdTBDQyt5OVhER0FVL25TS2tPSVN4cXQrQWFhV01FcDdsdUlUOE5wRHd5UGt5MHBOTDJWZFhqQmY0aEZnL2JKQzBscGs2TkRpSEFHNThodERzK1dvWFR3K1BCQ0ZST1ZJbW9rcW9SakEyWkViRkpBaUpIU3N5a1NuaUV1Z0M3Y2hTUkVKRU9JU1p0RVFvYWpqVTlvNzZRa1VWRHRFU0lVRWM0aDl1QlpacGNPbzRsaWpFMnBDZ2FXTm16eHRvZFZlaVdtcXNhWUdvSVZJblNlWU9qMktpa2ZWdUFVUk1ndXNvUjRzT0lHZzB1amVaWUZTT0xQR0R4b0ZsVHF5b3hDVlkwcVdQdUE1SmdmVldaUmtLTytUU0xvWW9aanNFMlJTNDZPU0ZpOWg5WVNPd1pQSnNvb25Db3JMVExPQUtWU0FRMEZrb0RpT0xUWHNxbFBVbDF5cHJIV0ZTOXl6YVZRczJuT05wMHZaOU5JbmNJVFJzVTBhWktERW1kT2tLcEtLVzVsQlNoaW9WYnpuVGZGUkZvZi8vdVN4T1dCVk1ZRS9xMGt3b3VMd1o3RnRpVzRMaGh0R0pTaEZ0THFOc3FzaGhRd3ZKSStTb0RlY2s0a3BhTGFYam92ZEVOeDBOWHIzcm5HSUc0ckNXYktJSE9JbmxtQnk0ZEc5elUvaUNHbHJYSnBmS0lmUzM5YVJ2bkY1QlpkQ0ZJV3FrSmdQREtrcWtWaEJoRXd1UjFHU1FzMjRMK29VbnhseEtCYkc2cFJSRkJkSUhvMHRNcUtpTzFCZXlVNElGQUdzcjhMUkUrNVpqR3FKckR0S0VzelM0cFRiSnhLRnN3aE9uRHNuTE50a0tLSW1WRWEwckZ6UmdGMHlSV1NBUnZKMkZEQXRpQnhzUXcwMHRjbHhuZyt1MndPcFNhT2lrU2l5RWthdlRhcVN4Wm4wdzBzcVNubHFzcWJQd2dUa0JDd3NUU2FDekIrVkNvK3NvZkpXYVJyVEp6a3BzcEpvRUVXN1dJalNNUUNoRWgwR0N4MVpkbFJXUXp5aXhSR212WnRLM0dFblVTbTNRVXBRZ1FrNXRGVVNGNTB5MlJqSm9paFI0VUdDWnVuRzFFYk5MUXRkNUZhQnpCbE05RkFTOU5hTVVDaUZ1cG1qTmtwRDFDaW9mUDZFQWNFTWpueCtiS0JHeGJRZGNhTUpFcU9CL1o2d20wNHJieVRhdEhyZXp4ODlpWUp6a3ZOVWhiazJrS2l6U0JDS2lOQk5KcFpFTHRrVkNKZFY5MGlrUC83a3NUbmdoZDJDUDdOSk5ITFRVSGZBYllrV0ZWWk00dG1RbktaSlZMUlpZbW9zaWd5eEJTRmtQWEpWRitqbHZ0aFZka1RvamNjV2pTcHUxbU5GU2lNbitGMlcyQ3FBM1NPb3NOb042c2FYbFVka3czMHlDaXZjcG1ORTJHMjBEQW9aVVFUOFkrRFQ4WHRPYmtEa2V0MGxCUkd6Y3YybXFwS3k4ek1DbTJxdXNyaVUxNW5OSVR4d3FhbTlORk16YWxMWWg5UXU4T3lKYll4SUZGQXNXRFloTDhxam1qVTA4ekZ0QTBsakxTV28wR1RMMVdvbENTVW5tU1ZoTXduZEtHWWxFa2tLK1NTOUdWUlhFeWpYTEliSXNUSjVSa0tTYzgvRFBNc0gxS2tiRmFFamFWVk5aSk5aUkRqTllLQlpsUXdkYVFrQzdKaURHQ0NGaVBjZy9Tc0NGa3dVaTg1SHV5SkJaR3dqS2RoRmhwVm1DS0JrNVBWMUxiZ3dkS2xLbXBFZ0x0R0NlSzZObzQwK0JYV2Rqc3k0cGdXUkk4ZFdObllMeGFSQ1dWV2V5aWRCQzFHc00wU3R3YWdzUmE5akZxRVZxa3BXYkRqQ2xWRWg3RnpKajRHSm9pTU5Ed1ZRakxKTGRKbVJWcENqaXFvYktySUNwQnNSUXBDQ09CaGxqckxJMVRMSkdtblJLVE1UUmkwRVNibFhHWXFtazhWa2RRblNLdFhyd0VoVmVELys1TEU1b0ZYeWdyOHJPRWdBeGZCbjBHbUpGQm5ydGw1RVNwRzFPVWN3VUdvSVZFQTI5QkZsRTBUSkVpNlpDOUdqUVRWVlVLMDVEZFFnYU1kYXI2YzJoV1hTWHVTQjFreHNOUlRUZXEyeWdKU1FVVFp4UXVTcXlWV2FSQXFkT3VEc2lOSXVxV1dGYUZIVENFdk5Db1BGalVXQllVVEkxdzNiS00rZ2Jpb1YxR2dnUVpCZEdvbXg3SmtrRVRZaTFxZEYxRGtFU0J0U2pSa21RMUFja0VlcC9tTmJoeVN6bU1sbXk0UFNoWVRhWnpoK2lYby9DWXdpNE8wUXBtSkZwYWpyU2lCQWZocjZSYUZpdzBrbTlBbEl1eTJSeVlBS1R6T1RvRHNxeEIwbTZZYWdRRzZhYnNtdEROWW1yRTBhZElFR3JucGJiY290a0U4dTBaNVBFR0tOSGxqem9KUldvZldqUitYNkp0R2oyQjEyUkU1VnM3U3NVS3lPVnoxQ3lWeVIvYWJQd21uNlE2U3I3SnhYcHdLMzJEeVNHMkxOcXlRU2JMc3NubVVaeHRXQk0xT1VqcURVS0JDZHRXTTA1dWJlekYrSklUYldMaU5HWHBGYUFDTXlva1BBaDRSVmxVQnZ4QTBSZUthZnFLNExWS080cjN4aWxsYVZ5U3l4U3lZbkJsUWJQb0NkamdKa3kxb1p1SkMxRVFROUFkYWVvYVp5VHZta2pMUGZKeFIvL3VTeE9xQ1dlWU8rQWZ0SUFNSHdWOVZreVV3aUd2a2sxdXlpckducnV6bG9vS0ZrYW9URmhTem9mbitEdnBWeGJRVkpkT2FmclVZU1ZSY0V6WVRkUEtGR0p5dWk1TktHMFVTbXJGd2ZWb1l0N1k0eWEzQ2lxdmRtclNZRmlVdDVzZDJ6MWs2amJzNVV6S2FDSnJOMHpNdCthalRyOEVXZzFTRHVXY0RJZUJVa1dXTGNSRDQ3UGlDUnpvY0g3RnFoVldGTmJjcjUzK2lNZWFPTHNsT003WUs2b21tcXhTYmtCZGM1R2t5VXJsb2FMMUQ2QWJyWHlkWTJjTEIrY2xjbE5qNHRLS0k1cStJYVp3cUR6QXBCRUtPRmdhY0l3STExMVlEUndqanF5aUVZTWk4VUlubyttcXpzUmZEd25iU1VIVjJsZ1FUcEViUkpxT0ZCQ3pTQlJjb2dWWFhNRWpaRW5KUkFtcXFtdzJvSXo0Z2NsV0lTVnhWVnRRakZDQmdpRENGSTlHUVdSTWtoT1JuNXVaeGxnQ0M4eGRKQ3Uyc1JSSkNlTGhVWTF0VzZsYWhwVVNFTTdGRWxCblV4QU1yRTVjVlNvQ3dvREt6RVVsVkVBQUVsVmZxa3BHRHVrMkUycDZWWkpCVWxweDdNbG9xdk11c2Q3ejA4T2Mvc1dpWVFUQ0FJc2JZSERqcHRLaDVWQU1nSUpvRVNZRWs1NkFLQVRTaVQ5QkprK2xBUVAvN2tzVG9naFdtQXdETUpNbkxkY0ZlMU1NbndjSjN2a2h3aHdvUWtFYWFDb1RLRW9FQjR5Uko0aEJaNkRDZ004L1pzOEZUTTBRYWNpbWhrMURXRVp5V29NRDNGQmR4TGJLYXlGK3BSeGQyd1JJbEdqOVJuU0pKVTJvNkV6NURpS1RoM2VZaHRxUldjc25TSEhJeEp0U0V6U1JPaEdFSzh5bEdZcktlYUJjbmJ4enRaWmlOcEtUZXcxeXEwNW12QkN2K3BUQkZFd085TVBPQXVpYjVTZCs2YnZTdkJBNTNHbWR4dlJQVTJTSnlReUVZSXpBclFLRXJNUTlNWWM1WVBVM290Z0puWW9oZ1NRT0l4TGt6S0FoTHlGbENwSnFrdXFHNFJKd3F4dUZ1eGhNSWpuTFJraUtBK2FUa2RLUktSaGhFaWFoNUFWU09oRmQ0NVdyTFJyYk1tMjRGYkVjVWY1MUExb2JFV1JuQ1pkYW9EcEltZ3BTQ1VNOTZjeUJsTDZUWTh0dmFwZDc4RlFadFFVcEU2SFkzT3JMZU5reDlMalVjbzB2T0EyNDBzTGlBYUZZcE5MaGdNQkZBc2phVENneWphT09saFpzVnZZQkVOaU1nUkNFYkdSaWRDSWZqUzhhdHVPaWVEUTlLNVZncXdJaCswY0w3b2pwVytVN2x3Mlc0K2ZvaExRME83YjYyaUFVdyt4azRwUTdURjh1VmVFSXJIR29qV05DU3VySC8rNUxFNllBWDJncjZwSmszbXJ5L29HUmttcUU3cUphWmkzUjhQMTY0U3o5YXdhc0hUZXh2bUN6RmIxeUtVbGhZTXo4YVN5d2JpOUdjd0d4dTZsS3FjZnBqVkhoV2RPYjNRbWpBSEN4b0NocHg0TklENFdCc2hKU1JBcUtTWmdwR0tNbG1LUkFVNVlWTFRFYUpHZE9STHFFaExFdWhEc1pVYUlpQU5NRUFMV1Bud29oT0ZaY2xGVXcrZFJCc1Rvb2lrUnJuRWJJMGpJUmt5ZEx2MFJLU04wTFdUdFZFRmxZZVJCZFFqRmFqYU15OXZHRlZDa1ZIMFdleGdZZVRDYUlyTGVQa29tK1ZURk15TnhLUi9LNHNzNGlVUmlZcytEd3V1K3BhV29ta21iWnl6Vmlrd00xNXlVSG5PbVZFYmEvS01wc1djcEhHU2VUeUpERFMySW0xcGlJMUFnVFBUVGNwcm9na1Bhb3pGTlFvLzE3TU9UNVpLKzVINkJubEtrYnR5VTRTY05jeGhhUkZDMG1uTHBMU29ORDBRVTFJV1RtWWhrU1o1bUZ5alRzVmVtWFZiVEdFVWl4a3hUaVdMSkFLUWZzeVNrZGgwWGRNZWNXSW1FUzgyQlMwSWh0c3N1R1RUVUZxRU1WSHFySEd6N2hLZ1VUUUhpRVpZUXFsSUVkaFVueGhaR0t5TnFsMGxUaDNKaktNeVZVWVJtbWlWZVBJdzhPdlQ3a2NWenBkLy91U3hQa0IzYklPOUFTeE44S2J3UitVWXhpZ0FDQ2pEQ0dvWEVrNjBwTEZLeWgwVXpkY2hWR2hVdFJYMUVUVEE1Tm1HbEs1VzRsVE9waTg5WktzWEdjWkRYRjhrRXRBV0NDd1BEWnhZNzUwcHJtbHhaWEdsb0ZyMExwYVppVzh5Y0tpZWRPSWtNNFZIaHN5dnh4SkNaY1VraUdWRnpSNG5tcjZSSVdGaTFSVkJLcTZNYTA1YVNya0ZCYmZkYk5LSjYyU0ZXN2xFcnJoMUFjSjdRK1htdnlSWkRBbVdIWUkxQkdRU1FwSUVFTjBMV2hnVVFNSTN5R2F4ekVTY3JOTkdpaUgxaWppUmxCS281TW5wc3l1VTV3MHU5L1pUV2l4QWFRbGFPemtOSzRtdTBnUmpiRFRNR1Q1Z2dFbHdENXd1WHQrc0VxakpoTFljVDY4cW94RmMyTFIyUk9jUTZaRmJRdWlnMlhTRHlkMlN5SUY5ZXVyQllnTk51M0pGVVRhK3pFcW5UbmliYUpSZWlCcGtpZUlDak1qR0U2Rk5pYkRuYW5UVTBUYWkxTFJLTldzMGdmQlF0SVF0TnhLcHZDNnFPQkFrbTZCbTRZaVJJaFNRb3NzZ0pMdlBydTdoaVpocWw3Y1B5TWF2aXJDTFY1RzdlZWtvb1JVZ2J4eFJKUW5hRG5LZ3dFV1ptanB0TStYUjVSbWFKUFYwVFJPTHFSWlZTSkZDSlVxalFBbzJQLzdrTVQxQTl2ZURQWUVwWlBERTBGZkFKR2tpU3hjL0VEVGtGZ3V1VW9qVlF6VkxrSkMzeVZDc1liSFQ3ZzhxU0xzcHNrMWRETXNQM0F1UW5EYm1MUkdLbk93ME1idFdGbm1IVlUram5UaWlJeEFHUFJQQU8xQ3VsVUhHMm1rMk9SUGtxMXpTellOdHpUMUpLcTVQUVBFWE9sRm9zNUc5OTg5S05Ea0FiTFVuZStLYXhCb2xITG94bU9neUNBRFFxRVVhS2FUc1FOU1A2SU5ra2pVTjA1NUdSSVBBaWJvMXpkTWJmaGJTSi9KN3RnVU5pQU1hUWtrbWtNUTNvWEI2SlplZ2tsQXhJd1RzclBUSUVsdmtyZnNCVVNvTlFoZE5VVHZKR0xMS3RNTU02cWhYUms4VHN5UTVvWERTTnBwd0xvVUFwUG42UnNrdGlQa0U2Um9pUlJoTlNSTWRNT1JUbkZJdWs0NmpYWGhGWVF5aXdkdzY1YUVFN2JQSjFMTGdOd1daazNVb0tNemV6VDVzRkQ2cUpMcGRkTlRMVm1vc1RzcFJNbm91UXR0S1libVJteXM0cnphaVlYSnByRTZLR29HWGt3ZWJQcHhWaU5xWk55bU5HRVJVS21Sb1VIK1VTT0VMWmtxTkNlSTJubFRSSWZCM1o5ZFU2S043TUpscmlHWHZ2R2NwS01OeElyR2JYMFg0cUxYSzFoNmxYNlZEdzZWbjUwYzBKV3Erdi83a3NUcEFCZkNEUHpFcE5YRE5VRmZXSlltWWF5WThTbEN6RnlOQ1VpY3FRbnlraEdwRVhPcDNXeVVoeVluUzY0bmpUeGJEOXFtbXhHRzAzRkJYUWpKOFJpV1lnRTZJMFpKRFVTNVZFUFB4RVJDS2pyalRDQkVoWUkwU3dtSk5XSVJBVElTMGlCRXlpMUN6SVhMbEJYc3lRNU5jaDFwQVRDb2hPQ0NZMjJnQjFSQVlTSGxjWEVTSXNYRHhPWFZGMkNZNFpSbmlBUzh5WGNibFV5NnlFSDM3S1EyYmtxVG5UNTNwdklnVGVFMGxvZ1JZTVcySUMxTXZCaHlFSnBkTUdBMkNpNVN0S1dKQktpTGp3SU1BSkFZUVRBN01LdG5GTFkxQUY2Uko0UlV6TUJrYmxrVWVZL1FTSjNFRzZJS052TmswalF0cUVweVpnR2dFeTVqeFNicldrWFFRMW9GMjhjamJtZnE4a2dsQWsxdFpqSDR4OG40Y013bVBZNEpSNGcxUkpFUG9rOWZxYXFYeGMvZHFJZkg2aGsxSTNpYXFLTVUxazFvck0waFZOd2tRS01weW1jank5eGxyWlhFb0lpcU5UVE03VjFHc2lSc0tNbUM3ZFVRSXB0c3dWdGFCU1hJSzFNaWpxQkt1b2dnU1FjMGw3NngwNnlJRTJJcW1hZ2ZSc3diVlhKVWJqSWtHVGdvTElpdzhxaXdlWXNYSlB1eVlHYWNHQWFZb3NQLys1TEU2WU5ia2d6MkJMRXp3dERCMzRSakp2aHBCeEpMbkVrRGg2MGdwSmhycEkydHFRWEl0d2czd0d2akxUTUUyaWQ5Q1ZyaFE0S0F3b1BLTmFoMUNpeGtWNm0waVNyMnk2R29uRWtFS0o1R3JMWlFZZ1hGYTdUSE55TkxxVG1LTWt0SnpvUGtvekUyZ1NZRmFSWW5KbGIzVElncGtiVDlxcUtPVWg5SUZpUFRxaE5kc1NUUHFUSldHNVJQdVkxTlJVUUVFTTIwb0pyZG9hd2VjNWFJb2Rvd040Sk1iQTdFNVVBQUxDS0J0SW5IaFF4YWJZbkhUakNSQ090NU9tUmFFMFN4d1FIME1PaENNMXFSeUVEWTBlSkV0cVVpa3k2QWQyWnJ3WExMb1VSWmtTa2hSQ1NpdENyTjNJRDBHR0dWUk9pTlNiYUVURHB0SnFNczdHVjBqWVJCRkFnUThtQkxWeHREQlIwaDFVblZST1JrTEtxSlNCalhveTU4bklKdlJ3SlZteU5VaXdtaW5SR1lXVmVOVVFtU0JWWjdGSFVKOWQ2Snl0SDFNRWdsSEdGRTJ6bzRpVWJJSWVUa0RBaUpneWhJOUZMbHFVV1JBNnFpRjhXcUFsWkV6Q0I2TkhNNUY3Y1hwNFVsWWV1MHpxTW1PR1NzS1RrUkZHMGZYTEd5MWtMRmhTYWNocVJqRVpkRWtMcHFpaEVYS0RKa2k1QXNna1lMVnpBS3FHaGgvL3VTeE9lQlYrb0sraVNaUE1zendWOFVreVdvVXFkV3JENmdTRlZFRTRyazdtVFJJQ1FmVkNxVWhJbEp1Q3JDeE5OdHZJb3FpMUdaR2UxaG1DTjQxQS9pQk55aE8wd1VSbzExYWxaSXVlUTM4UmttRURLdXM2K3hpU1VzSzh3Z2lXVlFIb1FTQ3lhNW1Va0twYUdNcVNxSkFwRzJZaW1hYTdUcklva3pja0taWTFuays1c0pvM21SNm1RcVNvNUltVFNUV0sxTkVvMU5BQUFDd0c3VG5GeWNZdEpOU09rS0dtWUN0RUtOYXRsaGxZNjRxa2dSVnFCSFpDMnVYSUdMS01tVjgzd1VINUhreENqSHd1Z0ZTaElxUkNnaUtFN0lrWEVlblFDQTJRT0dqenJncVNFSW1KWWVIUkx3U0IrRWtqNkNVR2hSblFlKzh4aDdibXFMUGF5Wmw3UmNrVHZSZ2hpZkthOUp0UlJOQTBXWFNUY1plODdVb2JGQkhWeU9DSWYwc3NmaFQrbGk2WjJldlVZbHJEQjJHSTRrRWMxVjUxRXdrZ1J2aFNrK2dndWhVUWhva2pyYUczYkF1Z2N3ZVJDNXFiSmhOZFRKb1pRYmtvZ1BBaFN5alpOUjZSaWtDSkFKTUlFOU1tbE9CNW1yS2lFaW5xREVwbWdxZE56Y0NKbGN1bVJJQmRSeFBNNlBUZ1FrR201bnhBU21CZ1pBVkFHaVFWaWdtRGlQcVAvN2tzVG5nQmkrQ3Zxa21UeExEOEVmWUpNbnlheXA5SkZXaVE2aTc1dWNzenZLNHdUemh1NkpXSFB0TFE0T2dnZkJodUlMT0RtcUk0UUtvSFBzNitpcEUxQklhUnMreUJ6VEpBMFBweVRzZ2VmSUdEQTNTUkNRajMrVGl3WXpkSXc2aDJjY0RIaXh3bENrRXdRb0hKRFNJc1NwQ3c5YUxGa0Jpa3B1RGlSaHFab1FOREV5UUdVUlBOQWhoUVFtbWNmcWV5ZEtFRENMNjBnT0NCczRVa3NrWGl3cWdab3dpTDVaRGVQMHF1WUVwT1NCZ2JING5NQithbVN3NmRCMjBxcmlOa29RanBHMFViY0NZYVVIdW5NOFJxeGtKNXJNcjVoaWNrbU9WeFBvc1BSVzZwWmpOUml0T1I1cG8rUTVBZzNjaGJiVGtWZHAyUlBSYm14azJXYlFDTlJyU0pHa3dmUTNEVW1ZSnBrTEJ0bzVoMWlCQ3c5eUY2RElFaHR0NkdUNGxFYlIxcHhGU0VuaXVqZFJOcnpGUktJSE9nNXlmaEJzOWtNY3lvZ1dYWlVvMk5DeDU3RlIwOUVpVUlpR0RMbWtNWUptRnNYcENrclZHRnB4aDdwTFRrMGlGalpTUDFhSWtCbUlBTkN0Qmk0ZXJOQ0ZHa1NZTUtYcXlqRFYzYU9IRkVSOU9RQW9EcDZ4R21XYWNza3hqVk1JaFluTXE2ZmVaUHdreVRpbUVqRC8rNUxFNlFGWWxnejZveVRUd3haQlgyU1dKc0c2QWpuWnhLTExhbXlia1NydEpJbFVoQ1NrQlF3OXVabFJaTlFndGdFMnl4SW1NTm16RExEWFVYWk5JSXlFOVNTMU5Ob1VrWmswY3hmbGVRT1pJeksxeVdFY1VTb3JKNG96bXJvM3dMeWFWeXl0bXREd1lZaU10MmFMSWx4Um0wd2lSVFppQldvWVJiaU9sbGhDazBwQk9pZHRSYWJVVGloOWZRb25JbmJqaVNIVjFJTHJJMERUU0VhYWtlYnNobGFyalpHRTlVVmcyVk9IV3lHYy9SNlREeWlSNUVwSnpKRGtUNXBJMXg4QmhURUxFQXhwUUxLUW1Ra0M2SmMwWW1PQlNTVWpDRm5qUWdCc05KT1lQd1VZV0lJZ0lKQkoxR3c2WE5iYnhpbVc0b2xtMGM5TGwwYmtKTXMyUEpqaEl6TXJTQ1RTaVNOTVFFNXNua3lJbFZFYXpieEFqWFhSQkVwVEJBUG1VbUZDOFRZb0hrU0JwaTJDRkNtUHQwdXNxVzFRZ2dzdUpZMGVtd1RNdkZhWlJxSXJGRDBFU1FaVGFHMEJiT1NrcTdRcVpVRUs5a2pHbXlyQ0ZJK29Ud0xNeU1Tc3dhZzBIQlR6VE1rb2FLZnVveVlpaWJ3c2VXbk9XZ0RhR1dnenFNR0Zsa2l2VHhaeHNSVmlzRmxLUFN4Rjcrb0hoS0R3NXpJRWlnOXo2dEZZLy91U3hPb0RXTVlLK0FNWkxjcy9RVjhFa3lmSmlVRTViQVZWMFpPZ1NHbWFTT0pTekZGdENhVGd4NFFUSUtOTlUxZG1MS1pGSkdZVVZDOUhVeklGRWJxeldrQ2dvczJDQm1PSFpBOU05Yk04eHF0VG02ckdzbmhxeWlubXg0R2FZbTFtcEdGcVNORXIrcEpscUNVMDhnanpybXl1dm9GT3dFSlJKY202T0lNRkJLQlJSeEVsU2R3QkRwSlRaNFZoVVFGaHdzVG4wUFNUYWd5ZU10UlFDakVpWVpIcE5Mdk5IRVlnS3hRa0NTYUpHY0d5YVpSZEFpTnFTUVFSbzBlS3dUUnBRMHRGNWFEQW9YMEx6bW9URmlnWmNZRXpKUjZNMjJqbElCQTBKV0VBa0RBSEVUQkdtcTFxU3hPdVdtU3FvL0k2Z1JxcndGSmcyZ1FrcEJBVXNCUU5JVC9GWmNFdWVSb2lVbkI0bHhkVVR6SmlvcVF4STZnS1VwQklTMmpjS1h1aUNiaVZ0T0NwZ1hJQ29rNURrQjVDKzBTOEcxamIxcExndU1sQktGV0RoTWlQQ0ZCTkV3MmpCczVJbU1ybVRjRVlMQnRFWCt3TUtVQURBaUZHMk1NZ0FIeHNjV1FDdmtpa1BQRlNpcktWTzdMRHRKUk5vb1VtcVNrUWZOYW9qMUZGWk9pSTRNRXAxZ2ZLaGtKZ3VRREFoUW9MRVI4RzBJbm0wc21RaWthUGtQLzdrc1RsZ2RVbURQd0RETTREWjBHZTFHU2x1S0k2czhpVEU3MExjRFU0T05MaGpTemtrQ3Zrd3lmVmFMNmlSemVjUTgrUkxkSUVpZXhDTXJwY1Frd0I1TUxzRHlzaUNZb1hNR2wyanhGQXhJdXNhZWxHZXEzQXJTeURWeVJTTTJLMkpIdWlNZGloUk1NcnZXSjBqaEdrRGlJM0prbWdpUlFoaWNZUllhRVRrQzVEblBPeGxFd3BHaXk1OW9WdGs1L1d5RjBrck5NS3IycU1DaDZZaFB0YkgyMGpjeWpwWnFVKzA5NnFBdkZOQnZZTmI4Sk9yR29VZ1dzL2R3OG5Zek9ia284Y2dxUk1TZXphaWFaVEtKbXNCWklHZ1FNOUttV3ZaTzBKTHhTQ1ZwUEJJdUZFQ09GSWxSOFlRUkJIU0Y3Q0h2a3p5bEhIZWxKNVJ4QURQZ3ltV1FRZkNza3RBZ0tSck1pTXFOZ1AyQUNOOHdRYTlvUHBJNTZWRk1ra1htS0pKa2tGbVJhV2xZaWV2QytvdytURVlzYXNrbmNEaStsbVZWUzNLTExMdWNYN214UXJISFdxWGIwZ0JnSXg4aENnK09KU1JVUm55aDFBOEJrVEI5Q1MySzBZS2lNZm11eW9yQVJrMHloY3FtU1FPRkNBeVVKTlRaNUNiSVJNTkJRNlpSaXN5Wms1SS9BOGlzZEtUa1dSbVF3dTJvVElsQytOaWdnWFZvMUZHUUQvKzVMRTZvRmFNZ3o0b3hrZ2lySkIzNENUSjZpWXFPcW5KU2poY1JGTk91b3FkaXdxdEJGaFFvZ3R0QVpoQjcxaE5pek0ySW9VMmhWR0VSV1dhaE15U3BNeWxQU2VjZzlnemt6cE40VEpGVVZES01mZmNwSkdEVFpsbUpGRW10bFJsdVo0Z1JIVWxxb3lpSnloY1VkQVlpaWdVeEVUaG1BK1N1SW5hUnpkMFE4OCtLVllHR3hKcWpVTFZ4dEFTYkVuYWNrMEI5RklSdmJJNFdFd2FJTkRWRXEwOHVvcGhnTlRQTmtzUklqZTJqSVVUV1JVSlVQUWpCMVVtVE9Nek1JQmlUdzhaWllwc3NrUjRmVk1FWk1YMC9ZZVFISnBpdGVMT0VqQzdCdEVtYkR4UkVYV1JuNWpKOVZFeWdVRnpvRkNvanBFbWxCcExaSXhTZDFTTXk2NzY2REVjMGw0RlRFeitvRTVOTkxLSTVDdE1uUlRRYVR3Z2dOaWdOTE9mNXNIeTVXVVcwemVTSkUyeU5CaU13MEY1RzJKTUQ2d2hNb1RhTzJwRkRDQ3lwa2hnK0tpaU1sc250WnpUUzBNUElaTkl4eG8wM2RSVmtjU2Rpb0VBQUVoZ25NQUU0REZ0eWN4ck50cEV5Yk9jWUxJMFVaSWc0Z0hXVGhNVkZSU09yS2loN0xLRUtFeko2NEpLSmxWTWtyRHNLeVBTeDBialI0OHVuQWtTWlgwajdCQS8vdVN4UElCV2tvSytLU1pJRXNyd2Q4QWt5VWdReVRFdzBxcnNYUlhHR2x5N3laZEMwbXBhU0trMTJpVmR6NXFtV1RwV2FEUk5GakNVOW1rVUVlUnNxelQ3a2lITG9yQ05rWWdzdzhnSlFDbUt3Q3BpTk1Ec0pKdWtiWU9hREkwSU5vZ1ltQkxLVE1PUFBnaURFUzVzb1hDWlZJbElEVEtNQUtHaldUbkRBWlJ4TWNHVEM2a0JvVVlkaVpSNlZBcVRKd1dUbGsxUlFnQ2lFRU5GRVNZTUZCU3pDOVJCNm9pcElnRE1FcndtaVVzaG9rTGhJZ0g1eWg1RENkYWVRVkpQRk1YaFJNU0d5Y1hRTW9VYXoyUzhZRWgxcHhwQXRFdTJsMTJGbVYxQ1JHMENXZWFoRW1NS0pHUW8yZFNGV0pueWxKcVR0UXdpYmk1STZEMWRaVm1ScDhWaVkzQUdpVk5tMFEyUzRxYmUyamFJQ3FpQk5jcXFvZWM5Q29lclNDSkViWkZSRXNnVXRkOGtNT1NyYkdVNG5tYVJTQmhHd0lrQmQ5TnRjMmpSckk0VXdVUU9OTGpuV1lzdE1nVW5ST08wdG5NNm9vd2dRcmgxY0NJcHBJalNSUzZmVU1KYTRCSm5KT0xVWkEvaFpHMHdRbXdrbWRSR1JocmJ3VkxMSktpbGxKQzVRa2FRUWNaNXM4aVF4UUpDT0UwaFdzVG1JTHBJRWRKa2pEbm4xUUZmUC83a3NUcGdkZ3VEUHFqSk5lVEpFRmZBSk1sZVJvWlhFR0ZTZFZKaFZFOWxOdkJ0Y1FxeFBMb1VCSzdDTVFLbUViakZLRkR4c2dYUXJMVzVFUUcyWmpLeDNDSW9YWFpZS0ViY0Vqa1JXZGJwQTVoS1Vqb1FuUmdveVdJaWVoS1hhUW9MNHlUdlNZVGtxU3Mya2VNMGo5dG1TUkNnZDBsMjJOWFlIU1FrWlJSMU9DNG5LbzA0NGFWUldpbWFvZ2l1MGNDeGNqYnhpaElRcnJ1V1ZWUnFDTmxBUXR3UXBlbTJTRlk2a2cxT0FnM0VqQXBnWTJnVUJVcVJDUVFPS29qSU1nc0xhaEZRRU1sNGtpem9ySFVTZzFyQlJDdWd4bzBSaUFVL2lobTB6NjlFYTZKcE9SL29FU1pzZnNSbDVKbEdXUlNoV2xzWnJJNE5vVTFEaDFvbWZMWmFodFI2SGloc3NzME1rQytNd2pUMWVIRzRKMjFKUkNZTnRrUnI2NEVtNzArSGtVWFBvMGpKMlYxRWtXNU1rT1dnbkFqZWNwNTZsbEpvbFJlWm1hSmFORUNSQ1liUndUa1lKR0NGWXhFMnpKSm1LTW5GQnlTSTZ0WmlpQS9US293SVJUd1NFSU5paHdQb1d6RURoSk5IazBTc09mQzdrNFNUUUZTU1BSTlNLTExqN1JpUnNsTEZTcHlKR1ZRTU9jbWRhWldrdWNta2h3VnRsR1BKZ1N5WTBYLys1TEU2b1BaT2d6NEF4a3B3eUhCWHdDVEpwRjJ1eXV6QldyWGl0YUpQeVVTUktzVGdSYTBxWFlla1NFS0ZEMGFHMjZrWTNha29sQm1vRjJabzIzS2ZHVjAxRWMzSVhUZWlYUWk4UE0yN0xsa0tjZ1RuYytlbDF4SEZXamFraDBtMmN0WVhYSTArd3gwQjA2Y0lFeXJqNlVtMDR3Z2lPU2NveGMvRnBjUkVjamJrbUZTeDlwWTBzK1QzeWw4WGZPUUtFQWFlMUVablIzUnhDUEZUano2ODd6YkpNTWFuZEQ3emg5WS9tc0wyRnZSUjQzWXhMNFVyRjVXRUJ6RC9pNFdWWlNCZElabFVrSEtVclJ5Q1A1QVRhUmpuMm9zRkVRbUhBT215NVpFS1JrNDFkNG8zTFNrb0wxQTk0aEdLRmVVeUpXbkFTQ0QwZ2VOQzVLSmhZVFJCRmNNcUNaaEJRRVpZdXc0VXNVSEtFSUdCWnBQNGxaSkpTRWwwV1NHcGdxUzBUS0pweXlKeGNLSnJKM2ZTSU5uQmxwUTNCU1NLb2xvMlFvRkVOc0hOVzJNRnBTd2d0MGx5ZERiVlVzZkppTWhaa3BBZ1l3Z0lxb2hkNlJFMUlvRVNXTVdqb1pEeEJOYzN6akNkSHRMcjRkSFlMR25MMVpVVmNYbjVZTHh3NkZycGRQcml4ODZ3alF0STdMTXdKVEtJU28vQmVGMFJDUmVDeGtoWjBVbmlNK28vL3VTeE9lQ0Y2WUsraU1aS2NzWHdkOVl3eWVvWnRkN2l4MDA4S3hibW8yaEZNSmllZ3dwVVVCVTZxUVlZZEtMYVRLTkNUcG9tbmhkWms4b2FiS0F0Uk9Rb3EwYk5hMlFGSk5Vb2VrT0NBOUtuSGp4NVI2eG9pSU54VkdKQlFRbHhDaXhWa2ZXaXlZVU1SdEVaRm0xa0hJRUtCZENQWFJEZHhiRlNaSXF1Z090a3IzTWFWZW9PTkl6aUdVUjlDZmdQV2FjSW1XSU96U1RJQVJpcVpBa1JKNmdtVmhtalV6cXdvdWsrUERwYmR4ejZFb3pLUmlSdzROUmJ5UmtManBabzh3RFNCdEEyb2lQZ3FqVGpaR0NxS2kwaUVKblF5RzVvUjhpT1JTeVNGWi9KTm1nT3pkTmpHbzZNTjRENThuT2pJeGVncUtNSU1SV2lXbVNISlRwUklzdWNBeVM0MHdxWVJKWFJLcnQ0c3JWeDdkQ2lOb084ajUveE5XOVg4V21ha1FNTlBoWGxBMWFpekNVeWdWR3ZSTE9NcWpUcW5CanBlQ0JBdEUya3lPbEhFbkRKTmkrc3BEN1JsbEhlTkp5U1VJRGd3QW93VWVTRUpMdzhGQ1dnUzhhOE1tWHJvR3BXSVVDZW5sNG9Ub3BadDJMQXJCZUtMOVpNbXVRQ25pYlE4SGFDeFV3U0NZMlFDY0ZKZzRibWljc2RBMEQwVnhSQTBGaFhJR01NRllvUS8vN2tzVHNnQm9tQ3Zna3NUWksyMENmMkdTYklTRWp4eFFVMm1aSXRuQUJqU09BSTNzSVlnSmhrbHNhMVU2SkZnSFFNcWxrS0Z5emFTdG9oaXdnbTFGcEp5NGlYT3Vvc211c2pIQmtSR2tQU1Jwa29wTkxNcE5wR1VteDQ0eXNhaVZjUmtySXlRRFo0aVErTkV6TEt3WmVZTnFVaTB1S2lkb2tHMGlGR2dhWm1adEVTeUl6YUZDbVlGV3ppMDRqWXRKWlYreUJKWjlkRStiMDV5d0NnRmJWeFdORUpMWXBjUk5LdTk2cmtsVW1veGxjWTVKRThLdG9ZNTBtbGFyZmNWdFZaS21TeHBYRlhBa2dEU2FHaUo0VlBSSVR3cWFwTVVuQ1dwV2tURUpraVpJbTJjcVZ3eEVtWklub1hFVEt5TGJJV1NKb3FnQkpHR1lUd1ZRYWxQRmt5VTRHU2dhMnlGa2lKa2hVdWhpa1RMaGtxdzBybTFLN1NKaXBMQlpGS2lJbUVJbElrVzNKcE5sYWViVWEydFE1TFpXc215czF5cUl1Q0pRMWlJcUpWV1kxckt6eUdlV2hxVmJIclRaMktTSk5xMlVsdWt4QlRVVXpMakV3TUtxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxci8rNUxFN3dBYXdncjJwQmtoaXUvQUhJQmdKUUdxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxJztcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5lbCA9IHZvaWQgMDtcbmZ1bmN0aW9uIGVsKHRhZywgb3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnKTtcbiAgICBpZiAob3B0aW9ucy5pZClcbiAgICAgICAgZWxlbWVudC5pZCA9IG9wdGlvbnMuaWQ7XG4gICAgaWYgKG9wdGlvbnMuY2xhc3NOYW1lKVxuICAgICAgICBlbGVtZW50LmNsYXNzTmFtZSA9IG9wdGlvbnMuY2xhc3NOYW1lO1xuICAgIGlmIChvcHRpb25zLnRleHRDb250ZW50KVxuICAgICAgICBlbGVtZW50LnRleHRDb250ZW50ID0gb3B0aW9ucy50ZXh0Q29udGVudDtcbiAgICBpZiAob3B0aW9ucy5wbGFjZWhvbGRlcilcbiAgICAgICAgZWxlbWVudC5wbGFjZWhvbGRlciA9IG9wdGlvbnMucGxhY2Vob2xkZXI7XG4gICAgaWYgKG9wdGlvbnMuZGF0YXNldClcbiAgICAgICAgT2JqZWN0LmVudHJpZXMob3B0aW9ucy5kYXRhc2V0KS5mb3JFYWNoKChbaywgdl0pID0+IGVsZW1lbnQuZGF0YXNldFtrXSA9IHYpO1xuICAgIGlmIChvcHRpb25zLmNoaWxkcmVuKVxuICAgICAgICBlbGVtZW50LmFwcGVuZCguLi5vcHRpb25zLmNoaWxkcmVuKTtcbiAgICBpZiAob3B0aW9ucy5saXN0ZW5lcnMpXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKG9wdGlvbnMubGlzdGVuZXJzKS5mb3JFYWNoKChbaywgdl0pID0+IGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihrLCB2KSk7XG4gICAgaWYgKG9wdGlvbnMuc3R5bGUpXG4gICAgICAgIE9iamVjdC5hc3NpZ24oZWxlbWVudC5zdHlsZSwgb3B0aW9ucy5zdHlsZSk7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG59XG5leHBvcnRzLmVsID0gZWw7XG4iLCJcInVzZSBzdHJpY3RcIjtcbnZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xudmFyIF9faW1wb3J0RGVmYXVsdCA9ICh0aGlzICYmIHRoaXMuX19pbXBvcnREZWZhdWx0KSB8fCBmdW5jdGlvbiAobW9kKSB7XG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBcImRlZmF1bHRcIjogbW9kIH07XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuY29uc3QgaWRsZV9qc18xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJpZGxlLWpzXCIpKTtcbmNvbnN0IGF1ZGlvXzEgPSByZXF1aXJlKFwiLi9hdWRpb1wiKTtcbmNvbnN0IGVsXzEgPSByZXF1aXJlKFwiLi9lbFwiKTtcbmNvbnN0IHNob3dUb2FzdF8xID0gcmVxdWlyZShcIi4vc2hvd1RvYXN0XCIpO1xuY29uc3QgYXVkaW8gPSBuZXcgQXVkaW8oYXVkaW9fMS5iYXNlNjRBdWRpbyk7XG5jb25zdCBDU1MgPSBgXHJcbiAgI2FpLWhlbHBlci10b2dnbGUge1xyXG4gICAgcG9zaXRpb246IGZpeGVkOyBib3R0b206IDIwcHg7IHJpZ2h0OiAyMHB4OyB6LWluZGV4OiA5OTk5OTk7XHJcbiAgICB3aWR0aDogNDhweDsgaGVpZ2h0OiA0OHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGZvbnQtc2l6ZTogMjRweDtcclxuICAgIGJhY2tncm91bmQ6cmdiKDM1LCA1MSwgNjgpOyBjb2xvcjogd2hpdGU7IGJvcmRlcjogbm9uZTsgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuICAjYWktaGVscGVyLXdpZGdldCB7IHBvc2l0aW9uOiBmaXhlZDsgYm90dG9tOiA4MHB4OyByaWdodDogMjBweDsgd2lkdGg6IDQyMHB4OyBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgYmFja2dyb3VuZDogIzFlMWUxZTsgY29sb3I6IHdoaXRlOyBib3JkZXItcmFkaXVzOiAxMnB4OyB6LWluZGV4OiA5OTk5OTg7XHJcbiAgICBkaXNwbGF5OiBub25lOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLDAsMCwwLjUpO1xyXG4gIH1cclxuICAjYWktaGVscGVyLXRhYnMgeyBkaXNwbGF5OiBmbGV4OyBiYWNrZ3JvdW5kOiAjMmUyZTJlOyB9XHJcbiAgLmFpLWhlbHBlci10YWIgeyBmbGV4OiAxOyBwYWRkaW5nOiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGN1cnNvcjogcG9pbnRlcjsgfVxyXG4gIC5haS1oZWxwZXItdGFiLmFjdGl2ZSB7IGJhY2tncm91bmQ6ICMwMDdiZmY7IH1cclxuICAuYWktaGVscGVyLWNvbnRlbnQgeyBmbGV4OiAxOyBvdmVyZmxvdy15OiBhdXRvOyBwYWRkaW5nOiAxMHB4OyB9XHJcbiAgI2FpLWhlbHBlci1zZXR0aW5ncyBpbnB1dCwgI2FpLWhlbHBlci1zZXR0aW5ncyB0ZXh0YXJlYSB7XHJcbiAgICB3aWR0aDogMTAwJTsgcGFkZGluZzogNnB4OyBiYWNrZ3JvdW5kOiAjMzMzOyBjb2xvcjogd2hpdGU7IGJvcmRlcjogMXB4IHNvbGlkICM1NTU7IG1hcmdpbi10b3A6IDVweDtcclxuICB9XHJcbiAgICAuY2hhdC1tZXNzYWdlIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICB9XHJcbiAgICAgIC5jaGF0LW1lc3NhZ2UgbGFiZWwge1xyXG4gICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICBjb2xvcjogZ3JheTtcclxuICAgICAgfVxyXG4gICAgLmFpLW1lc3NhZ2Uge1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTE3Yjc5O1xyXG4gICAgfVxyXG4gICAgLnVzZXItbWVzc2FnZSB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM4Mzc5NGI7XHJcbiAgICAgIHRleHQtYWxpZ246IGVuZDtcclxuICAgIH1cclxuYDtcbkdNX2FkZFN0eWxlKENTUyk7XG5mdW5jdGlvbiBhZGRDaGF0TWVzc2FnZShzZW5kZXIsIHRleHQpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zdCByYXcgPSB5aWVsZCBHTV9nZXRWYWx1ZShcImNoYXRcIiwgXCJbXVwiKTtcbiAgICAgICAgY29uc3QgY2hhdCA9IEpTT04ucGFyc2UocmF3KTtcbiAgICAgICAgY29uc29sZS5sb2coXCJjaGF0OiBcIiwgY2hhdCk7XG4gICAgICAgIGNoYXQucHVzaCh7IHNlbmRlciwgdGV4dCwgdGltZTogbmV3IERhdGUoKS50b0xvY2FsZVRpbWVTdHJpbmcoKSB9KTtcbiAgICAgICAgeWllbGQgR01fc2V0VmFsdWUoXCJjaGF0XCIsIEpTT04uc3RyaW5naWZ5KGNoYXQuc2xpY2UoLTUwKSkpO1xuICAgICAgICByZW5kZXJDaGF0KCk7XG4gICAgfSk7XG59XG5mdW5jdGlvbiByZW5kZXJDaGF0KCkge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYWktaGVscGVyLWNoYXQtbWVzc2FnZXNcIik7XG4gICAgICAgIGlmICghY29udGFpbmVyKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCByYXcgPSB5aWVsZCBHTV9nZXRWYWx1ZShcImNoYXRcIiwgXCJbXVwiKTtcbiAgICAgICAgY29uc3QgY2hhdCA9IEpTT04ucGFyc2UocmF3KTtcbiAgICAgICAgY29udGFpbmVyLnRleHRDb250ZW50ID0gXCJcIjtcbiAgICAgICAgY2hhdC5zbGljZSgtNTApLmZvckVhY2goKG1zZykgPT4ge1xuICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZCgoMCwgZWxfMS5lbCkoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICgwLCBlbF8xLmVsKSgncCcsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRDb250ZW50OiBgJHttc2cudGV4dH1gLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgKDAsIGVsXzEuZWwpKCdsYWJlbCcsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRDb250ZW50OiBtc2cudGltZSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB7IG1hcmdpbkJvdHRvbTogXCI0cHhcIiwgd2hpdGVTcGFjZTogXCJwcmUtd3JhcFwiIH0sXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBgY2hhdC1tZXNzYWdlICR7bXNnLnNlbmRlciA9PT0gXCJBSVwiID8gXCJhaS1tZXNzYWdlXCIgOiBcInVzZXItbWVzc2FnZVwifWAsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBsYXN0TWVzc2FnZSA9IGNvbnRhaW5lci5sYXN0RWxlbWVudENoaWxkO1xuICAgICAgICBpZiAobGFzdE1lc3NhZ2UpXG4gICAgICAgICAgICBsYXN0TWVzc2FnZS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiBcImluc3RhbnRcIiB9KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnRzKCkge1xuICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJhaS1oZWxwZXItdG9nZ2xlXCIpKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoKDAsIGVsXzEuZWwpKFwiYnV0dG9uXCIsIHtcbiAgICAgICAgICAgIGlkOiBcImFpLWhlbHBlci10b2dnbGVcIixcbiAgICAgICAgICAgIHRleHRDb250ZW50OiBcIvCfpJZcIixcbiAgICAgICAgICAgIGxpc3RlbmVyczogeyBjbGljazogdG9nZ2xlV2lkZ2V0IH0sXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImFpLWhlbHBlci13aWRnZXRcIikpIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSAoMCwgZWxfMS5lbCkoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICBpZDogXCJhaS1oZWxwZXItYXBpa2V5XCIsXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJzay0uLi5cIixcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGdvYWxzID0gKDAsIGVsXzEuZWwpKFwidGV4dGFyZWFcIiwge1xuICAgICAgICAgICAgaWQ6IFwiYWktaGVscGVyLWdvYWxzXCIsXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCLQndCw0L/RgNC40LzQtdGAOiDQu9C10YfRjCDRgdC/0LDRgtGMINC00L4gMjM6MDAsINC90LUg0YLRgNCw0YLQuNGC0Ywg0LLRgNC10LzRjyDQvdCwINGB0L7RhtGB0LXRgtC4Li4uXCIsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZW1pbmRlcnMgPSAoMCwgZWxfMS5lbCkoXCJ0ZXh0YXJlYVwiLCB7XG4gICAgICAgICAgICBpZDogXCJhaS1oZWxwZXItcmVtaW5kZXJzXCIsXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCLQndCw0L/RgNC40LzQtdGAOiDQu9C10YfRjCDRgdC/0LDRgtGMINC00L4gMjM6MDAsINC90LUg0YLRgNCw0YLQuNGC0Ywg0LLRgNC10LzRjyDQvdCwINGB0L7RhtGB0LXRgtC4Li4uXCIsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBpbnRlcnZhbElucHV0ID0gKDAsIGVsXzEuZWwpKFwiaW5wdXRcIiwge1xuICAgICAgICAgICAgaWQ6IFwiYWktaGVscGVyLWludGVydmFsXCIsXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCLQmNC90YLQtdGA0LLQsNC7INGD0LLQtdC00L7QvNC70LXQvdC40LkgKNC80LjQvSlcIixcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGludGVydmFsMklucHV0ID0gKDAsIGVsXzEuZWwpKFwiaW5wdXRcIiwge1xuICAgICAgICAgICAgaWQ6IFwiYWktaGVscGVyLWludGVydmFsMlwiLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwi0JjQvdGC0LXRgNCy0LDQuyDRgNC10LPRg9C70Y/RgNC90YvRhSDQvdGE0L/QvtC80LjQvdCw0L3QuNC5ICjQvNC40L0pXCIsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBtZXNzYWdlSW5wdXQgPSAoMCwgZWxfMS5lbCkoXCJ0ZXh0YXJlYVwiLCB7XG4gICAgICAgICAgICBpZDogXCJhaS1oZWxwZXItaW5wdXRcIixcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcItCS0LLQtdC00LjRgtC1INGB0L7QvtCx0YnQtdC90LjQtS4uLlwiLFxuICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjYwcHhcIixcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBcIiMzMzNcIixcbiAgICAgICAgICAgICAgICBjb2xvcjogXCJ3aGl0ZVwiLFxuICAgICAgICAgICAgICAgIGJvcmRlcjogXCIxcHggc29saWQgIzU1NVwiLFxuICAgICAgICAgICAgICAgIHJlc2l6ZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgbWFyZ2luVG9wOiBcIjEwcHhcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsaXN0ZW5lcnM6IHtcbiAgICAgICAgICAgICAgICBrZXlkb3duOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gXCJFbnRlclwiICYmICFlLnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZW5kVXNlck1lc3NhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3Qgc2VuZEJ0biA9ICgwLCBlbF8xLmVsKShcImJ1dHRvblwiLCB7XG4gICAgICAgICAgICB0ZXh0Q29udGVudDogXCLQntGC0L/RgNCw0LLQuNGC0YxcIixcbiAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgICAgIG1hcmdpblRvcDogXCI1cHhcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsaXN0ZW5lcnM6IHtcbiAgICAgICAgICAgICAgICBjbGljazogc2VuZFVzZXJNZXNzYWdlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHdpZGdldCA9ICgwLCBlbF8xLmVsKShcImRpdlwiLCB7XG4gICAgICAgICAgICBpZDogXCJhaS1oZWxwZXItd2lkZ2V0XCIsXG4gICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IFwibm9uZVwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgKDAsIGVsXzEuZWwpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IFwiYWktaGVscGVyLXRhYnNcIixcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBlbF8xLmVsKShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcImFpLWhlbHBlci10YWIgYWN0aXZlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YXNldDogeyB0YWI6IFwiY2hhdFwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dENvbnRlbnQ6IFwi0KfQsNGCXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBlbF8xLmVsKShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcImFpLWhlbHBlci10YWJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhc2V0OiB7IHRhYjogXCJzZXR0aW5nc1wiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dENvbnRlbnQ6IFwi4pqZ77iPXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBlbF8xLmVsKShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcImFpLWhlbHBlci10YWJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhc2V0OiB7IHRhYjogXCJzdGF0c1wiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dENvbnRlbnQ6IFwi8J+TilwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKDAsIGVsXzEuZWwpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IFwiYWktaGVscGVyLWNoYXRcIixcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcImFpLWhlbHBlci1jb250ZW50XCIsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgZWxfMS5lbCkoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcImFpLWhlbHBlci1jaGF0LW1lc3NhZ2VzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsgZmxleDogXCIxXCIsIG92ZXJmbG93WTogXCJhdXRvXCIsIG1hcmdpbkJvdHRvbTogXCIxMHB4XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUlucHV0LFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VuZEJ0bixcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAoMCwgZWxfMS5lbCkoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICBpZDogXCJhaS1oZWxwZXItc2V0dGluZ3NcIixcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcImFpLWhlbHBlci1jb250ZW50XCIsXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7IGRpc3BsYXk6IFwibm9uZVwiIH0sXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgZWxfMS5lbCkoXCJsYWJlbFwiLCB7IHRleHRDb250ZW50OiBcIkFQSSBLZXk6XCIgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBlbF8xLmVsKShcImxhYmVsXCIsIHsgdGV4dENvbnRlbnQ6IFwi0KbQtdC70Lg6XCIgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBnb2FscyxcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBlbF8xLmVsKShcImxhYmVsXCIsIHsgdGV4dENvbnRlbnQ6IFwi0J3QsNC/0L7QvNC40L3QsNC90LjRjzpcIiB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbWluZGVycyxcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBlbF8xLmVsKShcImxhYmVsXCIsIHsgdGV4dENvbnRlbnQ6IFwi0JjQvdGC0LXRgNCy0LDQuyDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5ICjQvNC40L0pOlwiIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJ2YWxJbnB1dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBlbF8xLmVsKShcImxhYmVsXCIsIHsgdGV4dENvbnRlbnQ6IFwi0JjQvdGC0LXRgNCy0LDQuyDQvdCw0L/QvtC80LjQvdCw0L3QuNC5ICjQvNC40L0pOlwiIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJ2YWwySW5wdXQsXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKDAsIGVsXzEuZWwpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IFwiYWktaGVscGVyLXN0YXRzXCIsXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogXCJhaS1oZWxwZXItY29udGVudFwiLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZTogeyBkaXNwbGF5OiBcIm5vbmVcIiB9LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIGVsXzEuZWwpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJhaS1oZWxwZXItc3RhdHMtbGlzdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRDb250ZW50OiBcItCX0LDQs9GA0YPQt9C60LAuLi5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQod2lkZ2V0KTtcbiAgICAgICAgd2lkZ2V0LnF1ZXJ5U2VsZWN0b3JBbGwoXCIuYWktaGVscGVyLXRhYlwiKS5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgICAgIHRhYi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICBjb25zdCBuYW1lID0gdGFiLmdldEF0dHJpYnV0ZShcImRhdGEtdGFiXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdhc0FjdGl2ZSA9IHRhYi5jbGFzc0xpc3QuY29udGFpbnMoXCJhY3RpdmVcIik7XG4gICAgICAgICAgICAgICAgd2lkZ2V0XG4gICAgICAgICAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKFwiLmFpLWhlbHBlci10YWJcIilcbiAgICAgICAgICAgICAgICAgICAgLmZvckVhY2goKHQpID0+IHQuY2xhc3NMaXN0LnJlbW92ZShcImFjdGl2ZVwiKSk7XG4gICAgICAgICAgICAgICAgd2lkZ2V0XG4gICAgICAgICAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKFwiLmFpLWhlbHBlci1jb250ZW50XCIpXG4gICAgICAgICAgICAgICAgICAgIC5mb3JFYWNoKChjKSA9PiBjLnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIFwiZGlzcGxheTpub25lXCIpKTtcbiAgICAgICAgICAgICAgICB0YWIuY2xhc3NMaXN0LmFkZChcImFjdGl2ZVwiKTtcbiAgICAgICAgICAgICAgICAoX2EgPSB3aWRnZXRcbiAgICAgICAgICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3IoYCNhaS1oZWxwZXItJHtuYW1lfWApKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2V0QXR0cmlidXRlKFwic3R5bGVcIiwgXCJkaXNwbGF5OmJsb2NrXCIpO1xuICAgICAgICAgICAgICAgIGlmIChuYW1lID09PSBcInN0YXRzXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHdhc0FjdGl2ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBzaG93VG9hc3RfMS5zaG93VG9hc3QpKFwi0KHRgtCw0YLQuNGB0YLQuNC60LAg0L7QsdC90L7QstC70LXQvdCwXCIpO1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJTdGF0cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChuYW1lID09PSBcImNoYXRcIikge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJDaGF0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHsgcmV0dXJuIHlpZWxkIEdNX3NldFZhbHVlKFwib3BlbmFpX2tleVwiLCBpbnB1dC52YWx1ZSk7IH0pKTtcbiAgICAgICAgZ29hbHMuYWRkRXZlbnRMaXN0ZW5lcihcImNoYW5nZVwiLCAoKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7IHJldHVybiB5aWVsZCBHTV9zZXRWYWx1ZShcImdvYWxzXCIsIGdvYWxzLnZhbHVlKTsgfSkpO1xuICAgICAgICByZW1pbmRlcnMuYWRkRXZlbnRMaXN0ZW5lcihcImNoYW5nZVwiLCAoKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7IHJldHVybiB5aWVsZCBHTV9zZXRWYWx1ZShcInJlbWluZGVyc1wiLCByZW1pbmRlcnMudmFsdWUpOyB9KSk7XG4gICAgICAgIGludGVydmFsSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcihcImNoYW5nZVwiLCAoKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICB5aWVsZCBHTV9zZXRWYWx1ZShcImludGVydmFsXCIsIHBhcnNlSW50KGludGVydmFsSW5wdXQudmFsdWUgfHwgXCI1XCIpKTtcbiAgICAgICAgfSkpO1xuICAgICAgICBpbnRlcnZhbDJJbnB1dC5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIHlpZWxkIEdNX3NldFZhbHVlKFwiaW50ZXJ2YWwyXCIsIHBhcnNlSW50KGludGVydmFsMklucHV0LnZhbHVlIHx8IFwiNVwiKSk7XG4gICAgICAgIH0pKTtcbiAgICAgICAgaW5wdXQudmFsdWUgPSBHTV9nZXRWYWx1ZShcIm9wZW5haV9rZXlcIiwgXCJcIik7XG4gICAgICAgIGdvYWxzLnZhbHVlID0gR01fZ2V0VmFsdWUoXCJnb2Fsc1wiLCBcIlwiKTtcbiAgICAgICAgcmVtaW5kZXJzLnZhbHVlID0gR01fZ2V0VmFsdWUoXCJyZW1pbmRlcnNcIiwgXCJcIik7XG4gICAgICAgIGludGVydmFsSW5wdXQudmFsdWUgPSBHTV9nZXRWYWx1ZShcImludGVydmFsXCIsIDUpO1xuICAgICAgICBpbnRlcnZhbDJJbnB1dC52YWx1ZSA9IEdNX2dldFZhbHVlKFwiaW50ZXJ2YWwyXCIsIDUpO1xuICAgICAgICAvLyBzaG93VG9hc3QoXCLQlNC+0LHRgNC+INC/0L7QttCw0LvQvtCy0LDRgtGMIVwiKTtcbiAgICB9XG59XG5mdW5jdGlvbiB0b2dnbGVXaWRnZXQoKSB7XG4gICAgY29uc3Qgd2lkZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJhaS1oZWxwZXItd2lkZ2V0XCIpO1xuICAgIGlmICghd2lkZ2V0KVxuICAgICAgICByZXR1cm47XG4gICAgcmVuZGVyQ2hhdCgpO1xuICAgIHdpZGdldC5zdHlsZS5kaXNwbGF5ID0gd2lkZ2V0LnN0eWxlLmRpc3BsYXkgPT09IFwibm9uZVwiID8gXCJmbGV4XCIgOiBcIm5vbmVcIjtcbn1cbmZ1bmN0aW9uIGdldERvbWFpbih1cmwpIHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gbmV3IFVSTCh1cmwpLmhvc3RuYW1lLnJlcGxhY2UoL153d3dcXC4vLCBcIlwiKTtcbiAgICB9XG4gICAgY2F0Y2ggKF9hKSB7XG4gICAgICAgIHJldHVybiBcInVua25vd25cIjtcbiAgICB9XG59XG5mdW5jdGlvbiByZW5kZXJTdGF0cygpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImFpLWhlbHBlci1zdGF0cy1saXN0XCIpO1xuICAgICAgICBpZiAoIWNvbnRhaW5lcilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgcmF3ID0geWllbGQgR01fZ2V0VmFsdWUoXCJldmVudExvZ1wiLCBcIltdXCIpO1xuICAgICAgICBjb25zdCBldmVudHMgPSBKU09OLnBhcnNlKHJhdyk7XG4gICAgICAgIGNvbnRhaW5lci50ZXh0Q29udGVudCA9IFwiXCI7XG4gICAgICAgIGlmIChldmVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBjb250YWluZXIuYXBwZW5kKCgwLCBlbF8xLmVsKShcInBcIiwgeyB0ZXh0Q29udGVudDogXCLQndC10YIg0LTQsNC90L3Ri9GFXCIgfSkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZXZlbnRzLnJldmVyc2UoKSkge1xuICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZCgoMCwgZWxfMS5lbCkoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICgwLCBlbF8xLmVsKShcImJcIiwgeyB0ZXh0Q29udGVudDogZW50cnkuZG9tYWluIH0pLFxuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGAg4oCUICR7ZW50cnkudGltZXN0YW1wfSAoJHtNYXRoLnJvdW5kKGVudHJ5LmR1cmF0aW9uIC8gMTAwMCl9INGB0LXQuilgKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5sZXQgc2Vzc2lvblN0YXJ0ID0gRGF0ZS5ub3coKTtcbmxldCBjdXJyZW50RG9tYWluID0gZ2V0RG9tYWluKGxvY2F0aW9uLmhyZWYpO1xuZnVuY3Rpb24gbG9nU2Vzc2lvbkVuZCgpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zb2xlLmxvZyhcInVzZXIgaW5hY3RpdmVcIik7XG4gICAgICAgIGNvbnN0IGR1cmF0aW9uID0gRGF0ZS5ub3coKSAtIHNlc3Npb25TdGFydDtcbiAgICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKS50b0xvY2FsZVN0cmluZygpO1xuICAgICAgICBjb25zdCByYXcgPSB5aWVsZCBHTV9nZXRWYWx1ZShcImV2ZW50TG9nXCIsIFwiW11cIik7XG4gICAgICAgIGNvbnN0IGxvZyA9IEpTT04ucGFyc2UocmF3KTtcbiAgICAgICAgbG9nLnB1c2goeyBkb21haW46IGN1cnJlbnREb21haW4sIHRpbWVzdGFtcDogbm93LCBkdXJhdGlvbiB9KTtcbiAgICAgICAgeWllbGQgR01fc2V0VmFsdWUoXCJldmVudExvZ1wiLCBKU09OLnN0cmluZ2lmeShsb2cpKTtcbiAgICB9KTtcbn1cbmxldCBsYXN0QWR2aWNlVGltZSA9IERhdGUubm93KCk7XG5sZXQgbGFzdFJlbWluZFRpbWUgPSBEYXRlLm5vdygpO1xuZnVuY3Rpb24gZ2V0QWR2aWNlKGdvYWxzLCByZWNlbnRFdmVudHMpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgY29uc3Qga2V5ID0geWllbGQgR01fZ2V0VmFsdWUoXCJvcGVuYWlfa2V5XCIsIFwiXCIpO1xuICAgICAgICBpZiAoIWtleSlcbiAgICAgICAgICAgIHJldHVybiBcIkFQSSDQutC70Y7RhyDQvdC1INC30LDQtNCw0L1cIjtcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcm9sZTogXCJzeXN0ZW1cIixcbiAgICAgICAgICAgICAgICBjb250ZW50OiBnb2FscyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcm9sZTogXCJ1c2VyXCIsXG4gICAgICAgICAgICAgICAgY29udGVudDogYNCd0LXQtNCw0LLQvdGP0Y8g0LDQutGC0LjQstC90L7RgdGC0Yw6XFxuJHtyZWNlbnRFdmVudHN9XFxu0KHQtdC50YfQsNGBINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvdCwINGB0YLRgNCw0L3QuNGG0LUgYyDQt9Cw0LPQvtC70L7QstC60L7QvDogXFxuJHtkb2N1bWVudC50aXRsZX1cXG7Qp9GC0L4g0YHRgtC+0LjRgiDQvdCw0L/QvtC80L3QuNGC0Ywg0LXQvNGDINGB0LXQudGH0LDRgT9gLnJlcGxhY2VBbGwoXCJcXG5cIiwgXCIgXCIpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgICAgY29uc29sZS5sb2coXCJtZXNzYWdlczogXCIsIG1lc3NhZ2VzKTtcbiAgICAgICAgY29uc3QgcmVzID0geWllbGQgZmV0Y2goXCJodHRwczovL2FwaS5vcGVuYWkuY29tL3YxL2NoYXQvY29tcGxldGlvbnNcIiwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7a2V5fWAsXG4gICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIG1vZGVsOiBcImdwdC0zLjUtdHVyYm9cIixcbiAgICAgICAgICAgICAgICBtZXNzYWdlcyxcbiAgICAgICAgICAgICAgICB0ZW1wZXJhdHVyZTogMC43LFxuICAgICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBqc29uID0geWllbGQgcmVzLmpzb24oKTtcbiAgICAgICAgcmV0dXJuICgoX2MgPSAoX2IgPSAoX2EgPSBqc29uLmNob2ljZXMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVswXSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm1lc3NhZ2UpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5jb250ZW50KSB8fCBcItCd0LXRgiDQvtGC0LLQtdGC0LAg0L7RgiDQvNC+0LTQtdC70LguXCI7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBtYXliZUFkdmlzZVVzZXIoKSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgY29uc3QgZ29hbHMgPSB5aWVsZCBHTV9nZXRWYWx1ZShcImdvYWxzXCIsIFwiXCIpO1xuICAgICAgICBpZiAoIWdvYWxzKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBpbnRlcnZhbCA9ICh5aWVsZCBHTV9nZXRWYWx1ZShcImludGVydmFsXCIsIDUpKSAqIDYwMDAwO1xuICAgICAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgICAgICBpZiAobm93IC0gbGFzdEFkdmljZVRpbWUgPiBpbnRlcnZhbCkge1xuICAgICAgICAgICAgaWYgKG5hdmlnYXRvci5tZWRpYVNlc3Npb24ucGxheWJhY2tTdGF0ZSA9PSBcInBsYXlpbmdcIikge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwidmlkZW9cIilbMF0ucGF1c2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwidGhlcmUgaXMgbm8gdmlkZW8gdGFnXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImF1ZGlvXCIpWzBdLnBhdXNlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChfYikge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInRoZXJlIGlzIG5vIGF1ZGlvIHRhZ1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5wbGF5YmFja1N0YXRlID0gXCJwYXVzZWRcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJhdyA9IHlpZWxkIEdNX2dldFZhbHVlKFwiZXZlbnRMb2dcIiwgXCJbXVwiKTtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50cyA9IEpTT04ucGFyc2UocmF3KS5zbGljZSgtNSk7XG4gICAgICAgICAgICBjb25zdCByZWNlbnQgPSBldmVudHNcbiAgICAgICAgICAgICAgICAubWFwKChlKSA9PiBgJHtlLmRvbWFpbn0gKCR7TWF0aC5yb3VuZChlLmR1cmF0aW9uIC8gMTAwMCl9INGB0LXQuiDQsiAke2UudGltZXN0YW1wfSlgKVxuICAgICAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgICAgICAgICAgY29uc3QgYWR2aWNlID0geWllbGQgZ2V0QWR2aWNlKGdvYWxzLCByZWNlbnQpO1xuICAgICAgICAgICAgKDAsIHNob3dUb2FzdF8xLnNob3dUb2FzdCkoYWR2aWNlKTtcbiAgICAgICAgICAgIGF1ZGlvLnBsYXkoKS5jYXRjaCgoKSA9PiB7IH0pO1xuICAgICAgICAgICAgeWllbGQgYWRkQ2hhdE1lc3NhZ2UoXCJBSVwiLCBhZHZpY2UpO1xuICAgICAgICAgICAgbGFzdEFkdmljZVRpbWUgPSBub3c7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIG1heWJlUmVtaW5kVXNlcigpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zdCByZW1pbmRlcnMgPSB5aWVsZCBHTV9nZXRWYWx1ZShcInJlbWluZGVyc1wiLCBcIlwiKTtcbiAgICAgICAgaWYgKCFyZW1pbmRlcnMpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGludGVydmFsID0gKHlpZWxkIEdNX2dldFZhbHVlKFwiaW50ZXJ2YWwyXCIsIDUpKSAqIDYwMDAwO1xuICAgICAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgICAgICBpZiAobm93IC0gbGFzdFJlbWluZFRpbWUgPiBpbnRlcnZhbCkge1xuICAgICAgICAgICAgaWYgKG5hdmlnYXRvci5tZWRpYVNlc3Npb24ucGxheWJhY2tTdGF0ZSA9PSBcInBsYXlpbmdcIikge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwidmlkZW9cIilbMF0ucGF1c2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwidGhlcmUgaXMgbm8gdmlkZW8gdGFnXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImF1ZGlvXCIpWzBdLnBhdXNlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChfYikge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInRoZXJlIGlzIG5vIGF1ZGlvIHRhZ1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5wbGF5YmFja1N0YXRlID0gXCJwYXVzZWRcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJhdyA9IHlpZWxkIEdNX2dldFZhbHVlKFwiZXZlbnRMb2dcIiwgXCJbXVwiKTtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50cyA9IEpTT04ucGFyc2UocmF3KS5zbGljZSgtNSk7XG4gICAgICAgICAgICBjb25zdCByZWNlbnQgPSBldmVudHNcbiAgICAgICAgICAgICAgICAubWFwKChlKSA9PiBgJHtlLmRvbWFpbn0gKCR7TWF0aC5yb3VuZChlLmR1cmF0aW9uIC8gMTAwMCl9INGB0LXQuiDQsiAke2UudGltZXN0YW1wfSlgKVxuICAgICAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgICAgICAgICAgY29uc3QgYWR2aWNlID0geWllbGQgZ2V0QWR2aWNlKHJlbWluZGVycywgcmVjZW50KTtcbiAgICAgICAgICAgICgwLCBzaG93VG9hc3RfMS5zaG93VG9hc3QpKGFkdmljZSk7XG4gICAgICAgICAgICBhdWRpby5wbGF5KCkuY2F0Y2goKCkgPT4geyB9KTtcbiAgICAgICAgICAgIHlpZWxkIGFkZENoYXRNZXNzYWdlKFwiQUlcIiwgYWR2aWNlKTtcbiAgICAgICAgICAgIGxhc3RSZW1pbmRUaW1lID0gbm93O1xuICAgICAgICB9XG4gICAgfSk7XG59XG4oZnVuY3Rpb24gKCkge1xuICAgIGlmICh3aW5kb3cudG9wICE9PSB3aW5kb3cuc2VsZilcbiAgICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IGlkbGUgPSBuZXcgaWRsZV9qc18xLmRlZmF1bHQoe1xuICAgICAgICBpZGxlOiA2MDAwMCxcbiAgICAgICAgZXZlbnRzOiBbXCJtb3VzZW1vdmVcIiwgXCJrZXlkb3duXCIsIFwibW91c2Vkb3duXCIsIFwidG91Y2hzdGFydFwiLCBcInNjcm9sbFwiXSxcbiAgICAgICAgb25JZGxlOiBsb2dTZXNzaW9uRW5kLFxuICAgICAgICBvbkFjdGl2ZTogKCkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJ1c2VyIGFjdGl2ZVwiKTtcbiAgICAgICAgICAgIHNlc3Npb25TdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICBjdXJyZW50RG9tYWluID0gZ2V0RG9tYWluKGxvY2F0aW9uLmhyZWYpO1xuICAgICAgICB9LFxuICAgIH0pO1xuICAgIGlkbGUuc3RhcnQoKTtcbiAgICBmdW5jdGlvbiBzYWZlQ3JlYXRlKCkge1xuICAgICAgICBpZiAoIWRvY3VtZW50LmJvZHkpXG4gICAgICAgICAgICByZXR1cm4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHNhZmVDcmVhdGUpO1xuICAgICAgICBjcmVhdGVFbGVtZW50cygpO1xuICAgIH1cbiAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gXCJsb2FkaW5nXCIpIHtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIiwgc2FmZUNyZWF0ZSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBzYWZlQ3JlYXRlKCk7XG4gICAgfVxuICAgIGxldCBsYXN0VXJsID0gbG9jYXRpb24uaHJlZjtcbiAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIGlmIChsb2NhdGlvbi5ocmVmICE9PSBsYXN0VXJsKSB7XG4gICAgICAgICAgICBsb2dTZXNzaW9uRW5kKCk7XG4gICAgICAgICAgICBsYXN0VXJsID0gbG9jYXRpb24uaHJlZjtcbiAgICAgICAgICAgIHNlc3Npb25TdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICBjdXJyZW50RG9tYWluID0gZ2V0RG9tYWluKGxvY2F0aW9uLmhyZWYpO1xuICAgICAgICAgICAgLy8gY3JlYXRlRWxlbWVudHMoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZyhcIm1heWJlQWR2aXNlVXNlciBjYWxsZWQgXCIpO1xuICAgICAgICBjb25zb2xlLmxvZyhcImRvY3VtZW50Lmhhc0ZvY3VzOiBcIiwgZG9jdW1lbnQuaGFzRm9jdXMoKSk7XG4gICAgICAgIGlmIChkb2N1bWVudC5oYXNGb2N1cygpKSB7XG4gICAgICAgICAgICBtYXliZVJlbWluZFVzZXIoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgIC8vIGRvY3VtZW50Lmhhc0ZvY3VzKClcbiAgICAgICAgbmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5wbGF5YmFja1N0YXRlID09IFwicGxheWluZ1wiKSB7XG4gICAgICAgICAgICBtYXliZUFkdmlzZVVzZXIoKTtcbiAgICAgICAgfVxuICAgIH0sIDEwMDAwKTtcbn0pKCk7XG5mdW5jdGlvbiBzZW5kVXNlck1lc3NhZ2UoKSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJhaS1oZWxwZXItaW5wdXRcIik7XG4gICAgICAgIGNvbnN0IGtleSA9IHlpZWxkIEdNX2dldFZhbHVlKFwib3BlbmFpX2tleVwiLCBcIlwiKTtcbiAgICAgICAgY29uc3QgZ29hbHMgPSB5aWVsZCBHTV9nZXRWYWx1ZShcImdvYWxzXCIsIFwiXCIpO1xuICAgICAgICBjb25zdCByYXcgPSB5aWVsZCBHTV9nZXRWYWx1ZShcImNoYXRcIiwgXCJbXVwiKTtcbiAgICAgICAgaWYgKCFpbnB1dC52YWx1ZS50cmltKCkgfHwgIWtleSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgdXNlck1lc3NhZ2UgPSBpbnB1dC52YWx1ZS50cmltKCk7XG4gICAgICAgIGlucHV0LnZhbHVlID0gXCJcIjtcbiAgICAgICAgY29uc3QgY2hhdCA9IEpTT04ucGFyc2UocmF3KTtcbiAgICAgICAgY29uc3QgcmVjZW50ID0gY2hhdC5zbGljZSgtNSkubWFwKChtKSA9PiAoe1xuICAgICAgICAgICAgcm9sZTogbS5zZW5kZXIgPT09IFwiQUlcIiA/IFwiYXNzaXN0YW50XCIgOiBcInVzZXJcIixcbiAgICAgICAgICAgIGNvbnRlbnQ6IG0udGV4dCxcbiAgICAgICAgfSkpO1xuICAgICAgICAvLyDQlNC+0LHQsNCy0LjQvCDRgdC+0L7QsdGJ0LXQvdC40LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINCyINC40YHRgtC+0YDQuNGOINGH0LDRgtCwXG4gICAgICAgIHlpZWxkIGFkZENoYXRNZXNzYWdlKFwi0JLRi1wiLCB1c2VyTWVzc2FnZSk7XG4gICAgICAgIGNvbnN0IHJlcyA9IHlpZWxkIGZldGNoKFwiaHR0cHM6Ly9hcGkub3BlbmFpLmNvbS92MS9jaGF0L2NvbXBsZXRpb25zXCIsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2tleX1gLFxuICAgICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBtb2RlbDogXCJncHQtMy41LXR1cmJvXCIsXG4gICAgICAgICAgICAgICAgbWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZTogXCJzeXN0ZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGDQotGLIEFJINC/0L7QvNC+0YnQvdC40LouINCm0LXQu9C4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjzogJHtnb2Fsc31gLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAuLi5yZWNlbnQsXG4gICAgICAgICAgICAgICAgICAgIHsgcm9sZTogXCJ1c2VyXCIsIGNvbnRlbnQ6IHVzZXJNZXNzYWdlIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QganNvbiA9IHlpZWxkIHJlcy5qc29uKCk7XG4gICAgICAgIGNvbnN0IHJlcGx5ID0gKChfYyA9IChfYiA9IChfYSA9IGpzb24uY2hvaWNlcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hWzBdKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubWVzc2FnZSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLmNvbnRlbnQpIHx8IFwi0J3QtdGCINC+0YLQstC10YLQsCDQvtGCINC80L7QtNC10LvQuC5cIjtcbiAgICAgICAgeWllbGQgYWRkQ2hhdE1lc3NhZ2UoXCJBSVwiLCByZXBseSk7XG4gICAgICAgIGF1ZGlvLnBsYXkoKS5jYXRjaCgoKSA9PiB7IH0pO1xuICAgIH0pO1xufVxuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnNob3dUb2FzdCA9IHZvaWQgMDtcbmNvbnN0IGVsXzEgPSByZXF1aXJlKFwiLi9lbFwiKTtcbmZ1bmN0aW9uIHNob3dUb2FzdChtZXNzYWdlKSB7XG4gICAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY3VzdG9tLXRvYXN0LWNvbnRhaW5lclwiKTtcbiAgICBpZiAoIWNvbnRhaW5lcikge1xuICAgICAgICBjb250YWluZXIgPSAoMCwgZWxfMS5lbCkoXCJkaXZcIiwge1xuICAgICAgICAgICAgaWQ6IFwiY3VzdG9tLXRvYXN0LWNvbnRhaW5lclwiLFxuICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgICAgICAgICAgICAgIHRvcDogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgcmlnaHQ6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgICAgICAgICAgZ2FwOiBcIjEwcHhcIixcbiAgICAgICAgICAgICAgICB6SW5kZXg6IFwiMTAwMDAwXCIsXG4gICAgICAgICAgICAgICAgbWF4V2lkdGg6IFwiNDAwcHhcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb250YWluZXIpO1xuICAgIH1cbiAgICBjb25zdCB0b2FzdCA9ICgwLCBlbF8xLmVsKShcImRpdlwiLCB7XG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBcIiMzMzNcIixcbiAgICAgICAgICAgIGNvbG9yOiBcIiNmZmZcIixcbiAgICAgICAgICAgIHBhZGRpbmc6IFwiMTJweCAxNnB4XCIsXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6IFwiOHB4XCIsXG4gICAgICAgICAgICBmb250U2l6ZTogXCIxNHB4XCIsXG4gICAgICAgICAgICBib3hTaGFkb3c6IFwiMCA0cHggMTJweCByZ2JhKDAsMCwwLDAuMylcIixcbiAgICAgICAgICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gICAgICAgICAgICB3aGl0ZVNwYWNlOiBcInByZS13cmFwXCIsXG4gICAgICAgICAgICB3b3JkQnJlYWs6IFwiYnJlYWstd29yZFwiXG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBjbG9zZUJ0biA9ICgwLCBlbF8xLmVsKShcImJ1dHRvblwiLCB7XG4gICAgICAgIHRleHRDb250ZW50OiBcIsOXXCIsXG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgdG9wOiBcIjZweFwiLFxuICAgICAgICAgICAgcmlnaHQ6IFwiMTBweFwiLFxuICAgICAgICAgICAgYmFja2dyb3VuZDogXCJub25lXCIsXG4gICAgICAgICAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgICAgICAgICAgY29sb3I6IFwiI2ZmZlwiLFxuICAgICAgICAgICAgZm9udFNpemU6IFwiMThweFwiLFxuICAgICAgICAgICAgY3Vyc29yOiBcInBvaW50ZXJcIlxuICAgICAgICB9LFxuICAgICAgICBsaXN0ZW5lcnM6IHtcbiAgICAgICAgICAgIGNsaWNrOiAoKSA9PiB0b2FzdC5yZW1vdmUoKVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgdG9hc3QudGV4dENvbnRlbnQgPSBtZXNzYWdlO1xuICAgIHRvYXN0LmFwcGVuZENoaWxkKGNsb3NlQnRuKTtcbiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQodG9hc3QpO1xufVxuZXhwb3J0cy5zaG93VG9hc3QgPSBzaG93VG9hc3Q7XG4iLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiIiwiLy8gc3RhcnR1cFxuLy8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4vLyBUaGlzIGVudHJ5IG1vZHVsZSBpcyByZWZlcmVuY2VkIGJ5IG90aGVyIG1vZHVsZXMgc28gaXQgY2FuJ3QgYmUgaW5saW5lZFxudmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKFwiLi9zcmMvaW5kZXgudHNcIik7XG4iLCIiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=