376 lines
1.8 MiB
376 lines
1.8 MiB
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
|
||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Panzoom=e()}(this,function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function e(t,e){for(var n=t.length;n--;)if(t[n].pointerId===e.pointerId)return n;return-1}function n(t,o){var r;if(o.touches){r=0;for(var a=0,i=o.touches;a<i.length;a++){var c=i[a];c.pointerId=r++,n(t,c)}}else(r=e(t,o))>-1&&t.splice(r,1),t.push(o)}function o(t){for(var e,n=(t=t.slice(0)).pop();e=t.pop();)n={clientX:(e.clientX-n.clientX)/2+n.clientX,clientY:(e.clientY-n.clientY)/2+n.clientY};return n}function r(t){if(t.length<2)return 0;var e=t[0],n=t[1];return Math.sqrt(Math.pow(Math.abs(n.clientX-e.clientX),2)+Math.pow(Math.abs(n.clientY-e.clientY),2))}"undefined"!=typeof window&&(window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}));var a={down:"mousedown",move:"mousemove",up:"mouseup mouseleave"};function i(t,e,n,o){a[t].split(" ").forEach(function(t){e.addEventListener(t,n,o)})}function c(t,e,n){a[t].split(" ").forEach(function(t){e.removeEventListener(t,n)})}"undefined"!=typeof window&&("function"==typeof window.PointerEvent?a={down:"pointerdown",move:"pointermove",up:"pointerup pointerleave pointercancel"}:"function"==typeof window.TouchEvent&&(a={down:"touchstart",move:"touchmove",up:"touchend touchcancel"}));var l,p="undefined"!=typeof document&&!!document.documentMode;function u(){return l||(l=document.createElement("div").style)}var d=["webkit","moz","ms"],s={};function f(t){if(s[t])return s[t];var e=u();if(t in e)return s[t]=t;for(var n=t[0].toUpperCase()+t.slice(1),o=d.length;o--;){var r=""+d[o]+n;if(r in e)return s[t]=r}}function m(t,e){return parseFloat(e[f(t)])||0}function h(t,e,n){void 0===n&&(n=window.getComputedStyle(t));var o="border"===e?"Width":"";return{left:m(e+"Left"+o,n),right:m(e+"Right"+o,n),top:m(e+"Top"+o,n),bottom:m(e+"Bottom"+o,n)}}function v(t,e,n){t.style[f(e)]=n}function g(t){var e=t.parentNode,n=window.getComputedStyle(t),o=window.getComputedStyle(e),r=t.getBoundingClientRect(),a=e.getBoundingClientRect();return{elem:{style:n,width:r.width,height:r.height,top:r.top,bottom:r.bottom,left:r.left,right:r.right,margin:h(t,"margin",n),border:h(t,"border",n)},parent:{style:o,width:a.width,height:a.height,top:a.top,bottom:a.bottom,left:a.left,right:a.right,padding:h(e,"padding",o),border:h(e,"border",o)}}}function y(t,e){return 1===t.nodeType&&(" "+function(t){return(t.getAttribute("class")||"").trim()}(t)+" ").indexOf(" "+e+" ")>-1}var w=/^http:[\w\.\/]+svg$/;var b={animate:!1,canvas:!1,cursor:"move",disablePan:!1,disableZoom:!1,disableXAxis:!1,disableYAxis:!1,duration:200,easing:"ease-in-out",exclude:[],excludeClass:"panzoom-exclude",handleStartEvent:function(t){t.preventDefault(),t.stopPropagation()},maxScale:4,minScale:.125,overflow:"hidden",panOnlyWhenZoomed:!1,relative:!1,setTransform:function(t,e,n){var o=e.x,r=e.y,a=e.scale,i=e.isSVG;if(v(t,"transform","scale("+a+") translate("+o+"px, "+r+"px)"),i&&p){var c=window.getComputedStyle(t).getPropertyValue("transform");t.setAttribute("transform",c)}},startX:0,startY:0,startScale:1,step:.3,touchAction:"none"};function x(l,p){if(!l)throw new Error("Panzoom requires an element as an argument");if(1!==l.nodeType)throw new Error("Panzoom requires an element with a nodeType of 1");if(!function(t){var e=t.ownerDocument,n=t.parentNode;return e&&n&&9===e.nodeType&&1===n.nodeType&&e.documentElement.contains(n)}(l))throw new Error("Panzoom should be called on elements that have been attached to the DOM");p=t(t({},b),p);var u=function(t){return w.test(t.namespaceURI)&&"svg"!==t.nodeName.toLowerCase()}(l),d=l.parentNode;d.style.overflow=p.overflow,d.style.userSelect="none",d.style.touchAction=p.touchAction,(p.canvas?d:l).style.cursor=p.cursor,l.style.userSelect="none",l.style.touchAction=p.touchAction,v(l,"transformOrigin","string"==typeof p.origin?p.origin:u?"0 0":"50% 50%");var s,m,h,x,S,E,M=0,O=0,P=1,z=!1;function A(t,e,n){if(!n.silent){var o=new CustomEvent(t,{detail:e});l.dispatchEvent(o)}}function X(t,e){var n={x:M,y:O,scale:P,isSVG:u};return requestAnimationFrame(function(){"boolean"==typeof e.animate&&(e.animate?function(t,e){v(t,"transition",f("transform")+" "+e.duration+"ms "+e.easing)}(l,e):v(l,"transition","none")),e.setTransform(l,n,e)}),A(t,n,e),A("panzoomchange",n,e),n}function Y(){if(p.contain){var t=g(l),e=t.parent.width-t.parent.border.left-t.parent.border.right,n=t.parent.height-t.parent.border.top-t.parent.border.bottom,o=e/(t.elem.width/P),r=n/(t.elem.height/P);"inside"===p.contain?p.maxScale=Math.min(o,r):"outside"===p.contain&&(p.minScale=Math.max(o,r))}}function C(e,n,o,r){var a=t(t({},p),r),i={x:M,y:O,opts:a};if(!a.force&&(a.disablePan||a.panOnlyWhenZoomed&&P===a.startScale))return i;if(e=parseFloat(e),n=parseFloat(n),a.disableXAxis||(i.x=(a.relative?M:0)+e),a.disableYAxis||(i.y=(a.relative?O:0)+n),"inside"===a.contain){var c=g(l);i.x=Math.max(-c.elem.margin.left-c.parent.padding.left,Math.min(c.parent.width-c.elem.width/o-c.parent.padding.left-c.elem.margin.left-c.parent.border.left-c.parent.border.right,i.x)),i.y=Math.max(-c.elem.margin.top-c.parent.padding.top,Math.min(c.parent.height-c.elem.height/o-c.parent.padding.top-c.elem.margin.top-c.parent.border.top-c.parent.border.bottom,i.y))}else if("outside"===a.contain){var u=(c=g(l)).elem.width/P,d=c.elem.height/P,s=u*o,f=d*o,m=(s-u)/2,h=(f-d)/2,v=(-(s-c.parent.width)-c.parent.padding.left-c.parent.border.left-c.parent.border.right+m)/o,y=(m-c.parent.padding.left)/o;i.x=Math.max(Math.min(i.x,y),v);var w=(-(f-c.parent.height)-c.parent.padding.top-c.parent.border.top-c.parent.border.bottom+h)/o,b=(h-c.parent.padding.top)/o;i.y=Math.max(Math.min(i.y,b),w)}return i}function T(e,n){var o=t(t({},p),n),r={scale:P,opts:o};return!o.force&&o.disableZoom?r:(r.scale=Math.min(Math.max(e,o.minScale),o.maxScale),r)}function N(t,e,n){var o=C(t,e,P,n),r=o.opts;return M=o.x,O=o.y,X("panzoompan",r)}function L(t,e){var n=T(t,e),o=n.opts;if(o.force||!o.disableZoom){t=n.scale;var r=M,a=O;if(o.focal){var i=o.focal;r=(i.x/t-i.x/P+M*t)/t,a=(i.y/t-i.y/P+O*t)/t}var c=C(r,a,t,{relative:!1,force:!0});return M=c.x,O=c.y,P=t,X("panzoomzoom",o)}}function I(e,n){var o=t(t(t({},p),{animate:!0}),n);return L(P*Math.exp((e?1:-1)*o.step),o)}function W(e,n,o){var r=g(l),a=r.parent.width-r.parent.padding.left-r.parent.padding.right-r.parent.border.left-r.parent.border.right,i=r.parent.height-r.parent.padding.top-r.parent.padding.bottom-r.parent.border.top-r.parent.border.bottom,c=n.clientX-r.parent.left-r.parent.padding.left-r.parent.border.left-r.elem.margin.left,p=n.clientY-r.parent.top-r.parent.padding.top-r.parent.border.top-r.elem.margin.top;u||(c-=r.elem.width/P/2,p-=r.elem.height/P/2);var d={x:c/a*(a*e),y:p/i*(i*e)};return L(e,t(t({animate:!1},o),{focal:d}))}L(p.startScale,{animate:!1}),setTimeout(function(){Y(),N(p.startX,p.startY,{animate:!1})});var Z=[];function q(t){if(!function(t,e){for(var n=t;null!=n;n=n.parentNode)if(y(n,e.excludeClass)||e.exclude.indexOf(n)>-1)return!0;return!1}(t.target,p)){n(Z,t),z=!0,p.handleStartEvent(t),s=M,m=O,A("panzoomstart",{x:M,y:O,scale:P},p);var e=o(Z);h=e.clientX,x=e.clientY,S=P,E=r(Z)}}function B(t){if(z&&void 0!==s&&void 0!==m&&void 0!==h&&void 0!==x){n(Z,t);var e=o(Z);if(Z.length>1)W(T((r(Z)-E)*p.step/80+S).scale,e);N(s+(e.clientX-h)/P,m+(e.clientY-x)/P,{animate:!1})}}function D(t){1===Z.length&&A("panzoomend",{x:M,y:O,scale:P},p),function(t,n){if(n.touches)for(;t.length;)t.pop();else{var o=e(t,n);o>-1&&t.splice(o,1)}}(Z,t),z&&(z=!1,s=m=h=x=void 0)}var F=!1;function R(){F||(F=!0,i("down",p.canvas?d:l,q),i("move",document,B,{passive:!0}),i("up",document,D,{passive:!0}))}return p.noBind||R(),{bind:R,destroy:function(){F=!1,c("down",p.canvas?d:l,q),c("move",document,B),c("up",document,D)},eventNames:a,getPan:function(){return{x:M,y:O}},getScale:function(){return P},getOptions:function(){return function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(p)},pan:N,reset:function(e){var n=t(t(t({},p),{animate:!0,force:!0}),e);P=T(n.startScale,n).scale;var o=C(n.startX,n.startY,P,n);return M=o.x,O=o.y,X("panzoomreset",n)},setOptions:function(t){for(var e in void 0===t&&(t={}),t)t.hasOwnProperty(e)&&(p[e]=t[e]);t.hasOwnProperty("cursor")&&(l.style.cursor=t.cursor),t.hasOwnProperty("overflow")&&(d.style.overflow=t.overflow),t.hasOwnProperty("touchAction")&&(d.style.touchAction=t.touchAction,l.style.touchAction=t.touchAction),(t.hasOwnProperty("minScale")||t.hasOwnProperty("maxScale")||t.hasOwnProperty("contain"))&&Y()},setStyle:function(t,e){return v(l,t,e)},zoom:L,zoomIn:function(t){return I(!0,t)},zoomOut:function(t){return I(!1,t)},zoomToPoint:W,zoomWithWheel:function(e,n){e.preventDefault();var o=t(t({},p),n),r=(0===e.deltaY&&e.deltaX?e.deltaX:e.deltaY)<0?1:-1;return W(T(P*Math.exp(r*o.step/3),o).scale,e,o)}}}return x.defaultOptions=b,x});
|
||
|
||
},{}],2:[function(require,module,exports){
|
||
module.exports=require("./lib/axios");
|
||
|
||
},{"./lib/axios":4}],3:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils"),settle=require("./../core/settle"),cookies=require("./../helpers/cookies"),buildURL=require("./../helpers/buildURL"),buildFullPath=require("../core/buildFullPath"),parseHeaders=require("./../helpers/parseHeaders"),isURLSameOrigin=require("./../helpers/isURLSameOrigin"),createError=require("../core/createError");module.exports=function(e){return new Promise(function(r,t){var s=e.data,o=e.headers;utils.isFormData(s)&&delete o["Content-Type"];var a=new XMLHttpRequest;if(e.auth){var n=e.auth.username||"",i=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.Authorization="Basic "+btoa(n+":"+i)}var u=buildFullPath(e.baseURL,e.url);if(a.open(e.method.toUpperCase(),buildURL(u,e.params,e.paramsSerializer),!0),a.timeout=e.timeout,a.onreadystatechange=function(){if(a&&4===a.readyState&&(0!==a.status||a.responseURL&&0===a.responseURL.indexOf("file:"))){var s="getAllResponseHeaders"in a?parseHeaders(a.getAllResponseHeaders()):null,o={data:e.responseType&&"text"!==e.responseType?a.response:a.responseText,status:a.status,statusText:a.statusText,headers:s,config:e,request:a};settle(r,t,o),a=null}},a.onabort=function(){a&&(t(createError("Request aborted",e,"ECONNABORTED",a)),a=null)},a.onerror=function(){t(createError("Network Error",e,null,a)),a=null},a.ontimeout=function(){var r="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(r=e.timeoutErrorMessage),t(createError(r,e,"ECONNABORTED",a)),a=null},utils.isStandardBrowserEnv()){var l=(e.withCredentials||isURLSameOrigin(u))&&e.xsrfCookieName?cookies.read(e.xsrfCookieName):void 0;l&&(o[e.xsrfHeaderName]=l)}if("setRequestHeader"in a&&utils.forEach(o,function(e,r){void 0===s&&"content-type"===r.toLowerCase()?delete o[r]:a.setRequestHeader(r,e)}),utils.isUndefined(e.withCredentials)||(a.withCredentials=!!e.withCredentials),e.responseType)try{a.responseType=e.responseType}catch(r){if("json"!==e.responseType)throw r}"function"==typeof e.onDownloadProgress&&a.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&a.upload&&a.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){a&&(a.abort(),t(e),a=null)}),s||(s=null),a.send(s)})};
|
||
|
||
},{"../core/buildFullPath":10,"../core/createError":11,"./../core/settle":15,"./../helpers/buildURL":19,"./../helpers/cookies":21,"./../helpers/isURLSameOrigin":24,"./../helpers/parseHeaders":26,"./../utils":28}],4:[function(require,module,exports){
|
||
"use strict";var utils=require("./utils"),bind=require("./helpers/bind"),Axios=require("./core/Axios"),mergeConfig=require("./core/mergeConfig"),defaults=require("./defaults");function createInstance(e){var r=new Axios(e),i=bind(Axios.prototype.request,r);return utils.extend(i,Axios.prototype,r),utils.extend(i,r),i}var axios=createInstance(defaults);axios.Axios=Axios,axios.create=function(e){return createInstance(mergeConfig(axios.defaults,e))},axios.Cancel=require("./cancel/Cancel"),axios.CancelToken=require("./cancel/CancelToken"),axios.isCancel=require("./cancel/isCancel"),axios.all=function(e){return Promise.all(e)},axios.spread=require("./helpers/spread"),axios.isAxiosError=require("./helpers/isAxiosError"),module.exports=axios,module.exports.default=axios;
|
||
|
||
},{"./cancel/Cancel":5,"./cancel/CancelToken":6,"./cancel/isCancel":7,"./core/Axios":8,"./core/mergeConfig":14,"./defaults":17,"./helpers/bind":18,"./helpers/isAxiosError":23,"./helpers/spread":27,"./utils":28}],5:[function(require,module,exports){
|
||
"use strict";function Cancel(e){this.message=e}Cancel.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},Cancel.prototype.__CANCEL__=!0,module.exports=Cancel;
|
||
|
||
},{}],6:[function(require,module,exports){
|
||
"use strict";var Cancel=require("./Cancel");function CancelToken(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var n;this.promise=new Promise(function(e){n=e});var o=this;e(function(e){o.reason||(o.reason=new Cancel(e),n(o.reason))})}CancelToken.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},CancelToken.source=function(){var e;return{token:new CancelToken(function(n){e=n}),cancel:e}},module.exports=CancelToken;
|
||
|
||
},{"./Cancel":5}],7:[function(require,module,exports){
|
||
"use strict";module.exports=function(t){return!(!t||!t.__CANCEL__)};
|
||
|
||
},{}],8:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils"),buildURL=require("../helpers/buildURL"),InterceptorManager=require("./InterceptorManager"),dispatchRequest=require("./dispatchRequest"),mergeConfig=require("./mergeConfig");function Axios(e){this.defaults=e,this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}Axios.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=mergeConfig(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[dispatchRequest,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)r=r.then(t.shift(),t.shift());return r},Axios.prototype.getUri=function(e){return e=mergeConfig(this.defaults,e),buildURL(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},utils.forEach(["delete","get","head","options"],function(e){Axios.prototype[e]=function(t,r){return this.request(mergeConfig(r||{},{method:e,url:t,data:(r||{}).data}))}}),utils.forEach(["post","put","patch"],function(e){Axios.prototype[e]=function(t,r,o){return this.request(mergeConfig(o||{},{method:e,url:t,data:r}))}}),module.exports=Axios;
|
||
|
||
},{"../helpers/buildURL":19,"./../utils":28,"./InterceptorManager":9,"./dispatchRequest":12,"./mergeConfig":14}],9:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils");function InterceptorManager(){this.handlers=[]}InterceptorManager.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},InterceptorManager.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},InterceptorManager.prototype.forEach=function(e){utils.forEach(this.handlers,function(t){null!==t&&e(t)})},module.exports=InterceptorManager;
|
||
|
||
},{"./../utils":28}],10:[function(require,module,exports){
|
||
"use strict";var isAbsoluteURL=require("../helpers/isAbsoluteURL"),combineURLs=require("../helpers/combineURLs");module.exports=function(e,s){return e&&!isAbsoluteURL(s)?combineURLs(e,s):s};
|
||
|
||
},{"../helpers/combineURLs":20,"../helpers/isAbsoluteURL":22}],11:[function(require,module,exports){
|
||
"use strict";var enhanceError=require("./enhanceError");module.exports=function(r,e,n,o,a){var c=new Error(r);return enhanceError(c,e,n,o,a)};
|
||
|
||
},{"./enhanceError":13}],12:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils"),transformData=require("./transformData"),isCancel=require("../cancel/isCancel"),defaults=require("../defaults");function throwIfCancellationRequested(e){e.cancelToken&&e.cancelToken.throwIfRequested()}module.exports=function(e){return throwIfCancellationRequested(e),e.headers=e.headers||{},e.data=transformData(e.data,e.headers,e.transformRequest),e.headers=utils.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),utils.forEach(["delete","get","head","post","put","patch","common"],function(a){delete e.headers[a]}),(e.adapter||defaults.adapter)(e).then(function(a){return throwIfCancellationRequested(e),a.data=transformData(a.data,a.headers,e.transformResponse),a},function(a){return isCancel(a)||(throwIfCancellationRequested(e),a&&a.response&&(a.response.data=transformData(a.response.data,a.response.headers,e.transformResponse))),Promise.reject(a)})};
|
||
|
||
},{"../cancel/isCancel":7,"../defaults":17,"./../utils":28,"./transformData":16}],13:[function(require,module,exports){
|
||
"use strict";module.exports=function(e,i,s,t,n){return e.config=i,s&&(e.code=s),e.request=t,e.response=n,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e};
|
||
|
||
},{}],14:[function(require,module,exports){
|
||
"use strict";var utils=require("../utils");module.exports=function(e,t){t=t||{};var i={},s=["url","method","data"],n=["headers","auth","proxy","params"],r=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],o=["validateStatus"];function a(e,t){return utils.isPlainObject(e)&&utils.isPlainObject(t)?utils.merge(e,t):utils.isPlainObject(t)?utils.merge({},t):utils.isArray(t)?t.slice():t}function u(s){utils.isUndefined(t[s])?utils.isUndefined(e[s])||(i[s]=a(void 0,e[s])):i[s]=a(e[s],t[s])}utils.forEach(s,function(e){utils.isUndefined(t[e])||(i[e]=a(void 0,t[e]))}),utils.forEach(n,u),utils.forEach(r,function(s){utils.isUndefined(t[s])?utils.isUndefined(e[s])||(i[s]=a(void 0,e[s])):i[s]=a(void 0,t[s])}),utils.forEach(o,function(s){s in t?i[s]=a(e[s],t[s]):s in e&&(i[s]=a(void 0,e[s]))});var c=s.concat(n).concat(r).concat(o),l=Object.keys(e).concat(Object.keys(t)).filter(function(e){return-1===c.indexOf(e)});return utils.forEach(l,u),i};
|
||
|
||
},{"../utils":28}],15:[function(require,module,exports){
|
||
"use strict";var createError=require("./createError");module.exports=function(t,r,e){var s=e.config.validateStatus;e.status&&s&&!s(e.status)?r(createError("Request failed with status code "+e.status,e.config,null,e.request,e)):t(e)};
|
||
|
||
},{"./createError":11}],16:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils");module.exports=function(t,u,r){return utils.forEach(r,function(r){t=r(t,u)}),t};
|
||
|
||
},{"./../utils":28}],17:[function(require,module,exports){
|
||
(function (process){(function (){
|
||
"use strict";var utils=require("./utils"),normalizeHeaderName=require("./helpers/normalizeHeaderName"),DEFAULT_CONTENT_TYPE={"Content-Type":"application/x-www-form-urlencoded"};function setContentTypeIfUnset(e,t){!utils.isUndefined(e)&&utils.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function getDefaultAdapter(){var e;return"undefined"!=typeof XMLHttpRequest?e=require("./adapters/xhr"):"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process)&&(e=require("./adapters/http")),e}var defaults={adapter:getDefaultAdapter(),transformRequest:[function(e,t){return normalizeHeaderName(t,"Accept"),normalizeHeaderName(t,"Content-Type"),utils.isFormData(e)||utils.isArrayBuffer(e)||utils.isBuffer(e)||utils.isStream(e)||utils.isFile(e)||utils.isBlob(e)?e:utils.isArrayBufferView(e)?e.buffer:utils.isURLSearchParams(e)?(setContentTypeIfUnset(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):utils.isObject(e)?(setContentTypeIfUnset(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};utils.forEach(["delete","get","head"],function(e){defaults.headers[e]={}}),utils.forEach(["post","put","patch"],function(e){defaults.headers[e]=utils.merge(DEFAULT_CONTENT_TYPE)}),module.exports=defaults;
|
||
|
||
}).call(this)}).call(this,require('_process'))
|
||
|
||
},{"./adapters/http":3,"./adapters/xhr":3,"./helpers/normalizeHeaderName":25,"./utils":28,"_process":96}],18:[function(require,module,exports){
|
||
"use strict";module.exports=function(r,n){return function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=arguments[e];return r.apply(n,t)}};
|
||
|
||
},{}],19:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils");function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}module.exports=function(e,i,r){if(!i)return e;var t;if(r)t=r(i);else if(utils.isURLSearchParams(i))t=i.toString();else{var n=[];utils.forEach(i,function(e,i){null!=e&&(utils.isArray(e)?i+="[]":e=[e],utils.forEach(e,function(e){utils.isDate(e)?e=e.toISOString():utils.isObject(e)&&(e=JSON.stringify(e)),n.push(encode(i)+"="+encode(e))}))}),t=n.join("&")}if(t){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+t}return e};
|
||
|
||
},{"./../utils":28}],20:[function(require,module,exports){
|
||
"use strict";module.exports=function(e,r){return r?e.replace(/\/+$/,"")+"/"+r.replace(/^\/+/,""):e};
|
||
|
||
},{}],21:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils");module.exports=utils.isStandardBrowserEnv()?{write:function(e,t,n,i,u,o){var r=[];r.push(e+"="+encodeURIComponent(t)),utils.isNumber(n)&&r.push("expires="+new Date(n).toGMTString()),utils.isString(i)&&r.push("path="+i),utils.isString(u)&&r.push("domain="+u),!0===o&&r.push("secure"),document.cookie=r.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};
|
||
|
||
},{"./../utils":28}],22:[function(require,module,exports){
|
||
"use strict";module.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)};
|
||
|
||
},{}],23:[function(require,module,exports){
|
||
"use strict";module.exports=function(o){return"object"==typeof o&&!0===o.isAxiosError};
|
||
|
||
},{}],24:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils");module.exports=utils.isStandardBrowserEnv()?function(){var t,r=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");function o(t){var o=t;return r&&(e.setAttribute("href",o),o=e.href),e.setAttribute("href",o),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return t=o(window.location.href),function(r){var e=utils.isString(r)?o(r):r;return e.protocol===t.protocol&&e.host===t.host}}():function(){return!0};
|
||
|
||
},{"./../utils":28}],25:[function(require,module,exports){
|
||
"use strict";var utils=require("../utils");module.exports=function(e,t){utils.forEach(e,function(r,s){s!==t&&s.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[s])})};
|
||
|
||
},{"../utils":28}],26:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils"),ignoreDuplicateOf=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];module.exports=function(t){var e,i,r,o={};return t?(utils.forEach(t.split("\n"),function(t){if(r=t.indexOf(":"),e=utils.trim(t.substr(0,r)).toLowerCase(),i=utils.trim(t.substr(r+1)),e){if(o[e]&&ignoreDuplicateOf.indexOf(e)>=0)return;o[e]="set-cookie"===e?(o[e]?o[e]:[]).concat([i]):o[e]?o[e]+", "+i:i}}),o):o};
|
||
|
||
},{"./../utils":28}],27:[function(require,module,exports){
|
||
"use strict";module.exports=function(n){return function(t){return n.apply(null,t)}};
|
||
|
||
},{}],28:[function(require,module,exports){
|
||
"use strict";var bind=require("./helpers/bind"),toString=Object.prototype.toString;function isArray(r){return"[object Array]"===toString.call(r)}function isUndefined(r){return void 0===r}function isBuffer(r){return null!==r&&!isUndefined(r)&&null!==r.constructor&&!isUndefined(r.constructor)&&"function"==typeof r.constructor.isBuffer&&r.constructor.isBuffer(r)}function isArrayBuffer(r){return"[object ArrayBuffer]"===toString.call(r)}function isFormData(r){return"undefined"!=typeof FormData&&r instanceof FormData}function isArrayBufferView(r){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(r):r&&r.buffer&&r.buffer instanceof ArrayBuffer}function isString(r){return"string"==typeof r}function isNumber(r){return"number"==typeof r}function isObject(r){return null!==r&&"object"==typeof r}function isPlainObject(r){if("[object Object]"!==toString.call(r))return!1;var e=Object.getPrototypeOf(r);return null===e||e===Object.prototype}function isDate(r){return"[object Date]"===toString.call(r)}function isFile(r){return"[object File]"===toString.call(r)}function isBlob(r){return"[object Blob]"===toString.call(r)}function isFunction(r){return"[object Function]"===toString.call(r)}function isStream(r){return isObject(r)&&isFunction(r.pipe)}function isURLSearchParams(r){return"undefined"!=typeof URLSearchParams&&r instanceof URLSearchParams}function trim(r){return r.replace(/^\s*/,"").replace(/\s*$/,"")}function isStandardBrowserEnv(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function forEach(r,e){if(null!=r)if("object"!=typeof r&&(r=[r]),isArray(r))for(var t=0,n=r.length;t<n;t++)e.call(null,r[t],t,r);else for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&e.call(null,r[i],i,r)}function merge(){var r={};function e(e,t){isPlainObject(r[t])&&isPlainObject(e)?r[t]=merge(r[t],e):isPlainObject(e)?r[t]=merge({},e):isArray(e)?r[t]=e.slice():r[t]=e}for(var t=0,n=arguments.length;t<n;t++)forEach(arguments[t],e);return r}function extend(r,e,t){return forEach(e,function(e,n){r[n]=t&&"function"==typeof e?bind(e,t):e}),r}function stripBOM(r){return 65279===r.charCodeAt(0)&&(r=r.slice(1)),r}module.exports={isArray:isArray,isArrayBuffer:isArrayBuffer,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:isString,isNumber:isNumber,isObject:isObject,isPlainObject:isPlainObject,isUndefined:isUndefined,isDate:isDate,isFile:isFile,isBlob:isBlob,isFunction:isFunction,isStream:isStream,isURLSearchParams:isURLSearchParams,isStandardBrowserEnv:isStandardBrowserEnv,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM};
|
||
|
||
},{"./helpers/bind":18}],29:[function(require,module,exports){
|
||
function jBoxWrapper(t){function i(o,s){return this.options={id:null,width:"auto",height:"auto",minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,responsiveWidth:!0,responsiveHeight:!0,responsiveMinWidth:100,responsiveMinHeight:100,attach:null,trigger:"click",preventDefault:!1,content:null,getContent:null,title:null,getTitle:null,footer:null,isolateScroll:!0,ajax:{url:null,data:"",reload:!1,getURL:"data-url",getData:"data-ajax",setContent:!0,loadingClass:!0,spinner:!0,spinnerDelay:300,spinnerReposition:!0},cancelAjaxOnClose:!0,target:null,position:{x:"center",y:"center"},outside:null,offset:0,attributes:{x:"left",y:"top"},fixed:!1,adjustPosition:!0,adjustTracker:!1,adjustDistance:5,reposition:!0,repositionOnOpen:!0,repositionOnContent:!0,holdPosition:!0,pointer:!1,pointTo:"target",fade:180,animation:null,theme:"Default",addClass:null,overlay:!1,overlayClass:null,zIndex:1e4,delayOpen:0,delayClose:0,closeOnEsc:!1,closeOnClick:!1,closeOnMouseleave:!1,closeButton:!1,appendTo:t("body"),createOnInit:!1,blockScroll:!1,blockScrollAdjust:!0,draggable:!1,dragOver:!0,autoClose:!1,delayOnHover:!1,showCountdown:!1,preloadAudio:!0,audio:null,volume:100,onInit:null,onAttach:null,onPosition:null,onCreated:null,onOpen:null,onClose:null,onCloseComplete:null,onDragStart:null,onDragEnd:null},this._pluginOptions={Tooltip:{getContent:"title",trigger:"mouseenter",position:{x:"center",y:"top"},outside:"y",pointer:!0},Mouse:{responsiveWidth:!1,responsiveHeight:!1,adjustPosition:"flip",target:"mouse",trigger:"mouseenter",position:{x:"right",y:"bottom"},outside:"xy",offset:5},Modal:{target:t(window),fixed:!0,blockScroll:!0,closeOnEsc:!0,closeOnClick:"overlay",closeButton:!0,overlay:!0,animation:"zoomIn"}},this.options=t.extend(!0,this.options,this._pluginOptions[o]||i._pluginOptions[o],s),"string"==t.type(o)&&(this.type=o),this.isTouchDevice=function(){var t,i=" -webkit- -moz- -o- -ms- ".split(" ");return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)||(t=i=["(",i.join("touch-enabled),("),"heartz",")"].join(""),window.matchMedia(t).matches)}(),this.isTouchDevice&&"mouseenter"===this.options.trigger&&!1===this.options.closeOnClick&&(this.options.closeOnClick="body"),this._fireEvent=function(t,i){this.options["_"+t]&&this.options["_"+t].bind(this)(i),this.options[t]&&this.options[t].bind(this)(i)},null===this.options.id&&(this.options.id="jBox"+i._getUniqueID()),this.id=this.options.id,("center"==this.options.position.x&&"x"==this.options.outside||"center"==this.options.position.y&&"y"==this.options.outside)&&(this.options.outside=null),"target"!=this.options.pointTo||this.options.outside&&"xy"!=this.options.outside||(this.options.pointer=!1),"object"!=t.type(this.options.offset)?this.options.offset={x:this.options.offset,y:this.options.offset}:this.options.offset=t.extend({x:0,y:0},this.options.offset),"object"!=t.type(this.options.adjustDistance)?this.options.adjustDistance={top:this.options.adjustDistance,right:this.options.adjustDistance,bottom:this.options.adjustDistance,left:this.options.adjustDistance}:this.options.adjustDistance=t.extend({top:5,left:5,right:5,bottom:5},this.options.adjustDistance),this.outside=!(!this.options.outside||"xy"==this.options.outside)&&this.options.position[this.options.outside],this.align=this.outside||("center"!=this.options.position.y&&"number"!=t.type(this.options.position.y)?this.options.position.x:"center"!=this.options.position.x&&"number"!=t.type(this.options.position.x)?this.options.position.y:this.options.attributes.x),i.zIndexMax=Math.max(i.zIndexMax||0,"auto"===this.options.zIndex?1e4:this.options.zIndex),"auto"===this.options.zIndex&&(this.adjustZIndexOnOpen=!0,i.zIndexMax+=2,this.options.zIndex=i.zIndexMax,this.trueModal=this.options.overlay),this._getOpp=function(t){return{left:"right",right:"left",top:"bottom",bottom:"top",x:"y",y:"x"}[t]},this._getXY=function(t){return{left:"x",right:"x",top:"y",bottom:"y",center:"x"}[t]},this._getTL=function(t){return{left:"left",right:"left",top:"top",bottom:"top",center:"left",x:"left",y:"top"}[t]},this._getInt=function(i,o){return"auto"==i?"auto":i&&"string"==t.type(i)&&"%"==i.slice(-1)?t(window)["height"==o?"innerHeight":"innerWidth"]()*parseInt(i.replace("%",""))/100:i},this._createSVG=function(i,o){var s=document.createElementNS("http://www.w3.org/2000/svg",i);return t.each(o,function(t,i){s.setAttribute(i[0],i[1]||"")}),s},this._isolateScroll=function(t){t&&t.length&&t.on("DOMMouseScroll.jBoxIsolateScroll mousewheel.jBoxIsolateScroll",function(i){var o=i.wheelDelta||i.originalEvent&&i.originalEvent.wheelDelta||-i.detail,s=0<=this.scrollTop+t.outerHeight()-this.scrollHeight,e=this.scrollTop<=0;(o<0&&s||0<o&&e)&&i.preventDefault()})},this._setTitleWidth=function(){if(!this.titleContainer||"auto"==this.content[0].style.width&&!this.content[0].style.maxWidth)return null;var t;"none"==this.wrapper.css("display")?(this.wrapper.css("display","block"),t=this.content.outerWidth(),this.wrapper.css("display","none")):t=this.content.outerWidth(),this.titleContainer.css({maxWidth:Math.max(t,parseInt(this.content[0].style.maxWidth))||null})},this._draggable=function(){if(!this.options.draggable)return!1;var o="title"==this.options.draggable?this.titleContainer:this.options.draggable instanceof t?this.options.draggable:"string"==t.type(this.options.draggable)?t(this.options.draggable):this.wrapper;return!(!(o&&o instanceof t&&o.length)||o.data("jBox-draggable"))&&(o.addClass("jBox-draggable").data("jBox-draggable",!0).on("touchstart mousedown",function(o){var s,e,n,a,h,r;2==o.button||t(o.target).hasClass("jBox-noDrag")||t(o.target).parents(".jBox-noDrag").length?"touchstart"==o.type&&(t(o.target).hasClass("jBox-closeButton")||t(o.target).parents(".jBox-closeButton").length)&&this.close({ignoreDelay:!0}):(e="touchstart"==o.type&&o.touches&&o.touches[0]?(s=o.touches[0].pageX,o.touches[0].pageY):(s=o.pageX,o.pageY),this.draggingStartX=s,this.draggingStartY=e,this.options.dragOver&&!this.trueModal&&parseInt(this.wrapper.css("zIndex"),10)<=i.zIndexMaxDragover&&(i.zIndexMaxDragover+=1,this.wrapper.css("zIndex",i.zIndexMaxDragover)),n=this.wrapper.outerHeight(),a=this.wrapper.outerWidth(),h=this.wrapper.offset().top+n-e,r=this.wrapper.offset().left+a-s,t(document).on("touchmove.jBox-draggable-"+this.id+" mousemove.jBox-draggable-"+this.id,function(t){var i;t="touchmove"==t.type&&t.touches&&t.touches[0]?(i=t.touches[0].pageX,t.touches[0].pageY):(i=t.pageX,t.pageY);this.dragging||this.draggingStartX==i||this.draggingStartY==t||(this._fireEvent("onDragStart"),this.dragging=!0),this.wrapper.offset({top:t+h-n,left:i+r-a})}.bind(this)),o.preventDefault())}.bind(this)).on("touchend mouseup",function(){var i;t(document).off("touchmove.jBox-draggable-"+this.id+" mousemove.jBox-draggable-"+this.id),this.dragging&&this._fireEvent("onDragEnd"),this.dragging=!1,"Modal"!=this.type&&"Confirm"!=this.type||!this.options.holdPosition||(i={x:(i=t("#"+this.id).offset()).left-t(document).scrollLeft(),y:i.top-t(document).scrollTop()},this.position({position:i,offset:{x:0,y:0}}))}.bind(this)),this.trueModal||(i.zIndexMaxDragover=i.zIndexMaxDragover?Math.max(i.zIndexMaxDragover,this.options.zIndex):this.options.zIndex),this)},this._create=function(){var i;this.wrapper||(this.wrapper=t("<div/>",{id:this.id,class:"jBox-wrapper"+(this.type?" jBox-"+this.type:"")+(this.options.theme?" jBox-"+this.options.theme:"")+(this.options.addClass?" "+this.options.addClass:"")}).css({position:this.options.fixed?"fixed":"absolute",display:"none",opacity:0,zIndex:this.options.zIndex}).data("jBox",this),this.options.closeOnMouseleave&&this.wrapper.on("mouseleave",function(i){!this.source||i.relatedTarget!=this.source[0]&&-1===t.inArray(this.source[0],t(i.relatedTarget).parents("*"))&&this.close()}.bind(this)),"box"==this.options.closeOnClick&&this.wrapper.on("click tap",function(){this.close({ignoreDelay:!0})}.bind(this)),this.container=t('<div class="jBox-container"/>').appendTo(this.wrapper),this.content=t('<div class="jBox-content"/>').appendTo(this.container),this.options.footer&&(this.footer=t('<div class="jBox-footer"/>').append(this.options.footer).appendTo(this.container)),this.options.isolateScroll&&this._isolateScroll(this.content),this.options.closeButton&&((i=this._createSVG("svg",[["viewBox","0 0 24 24"]])).appendChild(this._createSVG("path",[["d","M22.2,4c0,0,0.5,0.6,0,1.1l-6.8,6.8l6.9,6.9c0.5,0.5,0,1.1,0,1.1L20,22.3c0,0-0.6,0.5-1.1,0L12,15.4l-6.9,6.9c-0.5,0.5-1.1,0-1.1,0L1.7,20c0,0-0.5-0.6,0-1.1L8.6,12L1.7,5.1C1.2,4.6,1.7,4,1.7,4L4,1.7c0,0,0.6-0.5,1.1,0L12,8.5l6.8-6.8c0.5-0.5,1.1,0,1.1,0L22.2,4z"]])),this.closeButton=t('<div class="jBox-closeButton jBox-noDrag"/>').on("click tap",function(t){this.close({ignoreDelay:!0})}.bind(this)).append(i),"box"!=this.options.closeButton&&(!0!==this.options.closeButton||this.options.overlay||this.options.title||this.options.getTitle)||(this.wrapper.addClass("jBox-closeButton-box"),this.closeButton.appendTo(this.container))),this.wrapper.appendTo(this.options.appendTo),this.wrapper.find(".jBox-closeButton").length&&t.each(["top","right","bottom","left"],function(t,i){this.wrapper.find(".jBox-closeButton").css(i)&&"auto"!=this.wrapper.find(".jBox-closeButton").css(i)&&(this.options.adjustDistance[i]=Math.max(this.options.adjustDistance[i],this.options.adjustDistance[i]+-1*((parseInt(this.wrapper.find(".jBox-closeButton").css(i))||0)+(parseInt(this.container.css("border-"+i+"-width"))||0))))}.bind(this)),this.options.pointer&&(this.pointer={position:"target"!=this.options.pointTo?this.options.pointTo:this._getOpp(this.outside),xy:"target"!=this.options.pointTo?this._getXY(this.options.pointTo):this._getXY(this.outside),align:"center",offset:0},this.pointer.element=t('<div class="jBox-pointer jBox-pointer-'+this.pointer.position+'"/>').appendTo(this.wrapper),this.pointer.dimensions={x:this.pointer.element.outerWidth(),y:this.pointer.element.outerHeight()},"string"==t.type(this.options.pointer)&&((i=this.options.pointer.split(":"))[0]&&(this.pointer.align=i[0]),i[1]&&(this.pointer.offset=parseInt(i[1]))),this.pointer.alignAttribute="x"==this.pointer.xy?"bottom"==this.pointer.align?"bottom":"top":"right"==this.pointer.align?"right":"left",this.wrapper.css("padding-"+this.pointer.position,this.pointer.dimensions[this.pointer.xy]),this.pointer.element.css(this.pointer.alignAttribute,"center"==this.pointer.align?"50%":0).css("margin-"+this.pointer.alignAttribute,this.pointer.offset),this.pointer.margin={},this.pointer.margin["margin-"+this.pointer.alignAttribute]=this.pointer.offset,"center"==this.pointer.align&&this.pointer.element.css("transform","translate("+("y"==this.pointer.xy?-.5*this.pointer.dimensions.x+"px":0)+", "+("x"==this.pointer.xy?-.5*this.pointer.dimensions.y+"px":0)+")"),this.pointer.element.css("x"==this.pointer.xy?"width":"height",parseInt(this.pointer.dimensions[this.pointer.xy])+parseInt(this.container.css("border-"+this.pointer.alignAttribute+"-width"))),this.wrapper.addClass("jBox-pointerPosition-"+this.pointer.position)),this.setContent(this.options.content,!0),this.setTitle(this.options.title,!0),this.options.draggable&&this._draggable(),this._fireEvent("onCreated"))},this.options.createOnInit&&this._create(),this.options.attach&&this.attach(),this._attachEvents=function(){this.options.delayOnHover&&t("#"+this.id).on("mouseenter",function(t){this.isHovered=!0}.bind(this)),this.options.delayOnHover&&t("#"+this.id).on("mouseleave",function(t){this.isHovered=!1}.bind(this)),(this.options.adjustPosition||this.options.reposition)&&!this.fixed&&this.outside&&(this.options.adjustTracker&&t(window).on("scroll.jBox-"+this.id,function(t){this.position()}.bind(this)),(this.options.adjustPosition||this.options.reposition)&&t(window).on("resize.jBox-"+this.id,function(t){this.position()}.bind(this))),"mouse"==this.options.target&&t("body").on("mousemove.jBox-"+this.id,function(t){this.position({mouseTarget:{top:t.pageY,left:t.pageX}})}.bind(this))},this._detachEvents=function(){this.options.closeOnEsc&&t(document).off("keyup.jBox-"+this.id),!0!==this.options.closeOnClick&&"body"!=this.options.closeOnClick||t(document).off("click.jBox-"+this.id+" tap.jBox-"+this.id),this.options.adjustTracker&&t(window).off("scroll.jBox-"+this.id),(this.options.adjustPosition||this.options.reposition)&&t(window).off("resize.jBox-"+this.id),"mouse"==this.options.target&&t("body").off("mousemove.jBox-"+this.id)},this._showOverlay=function(){this.overlay||(this.overlay=t('<div id="'+this.id+'-overlay"/>').addClass("jBox-overlay"+(this.type?" jBox-overlay-"+this.type:"")).css({display:"none",opacity:0,zIndex:this.options.zIndex-1}).appendTo(this.options.appendTo),this.options.overlayClass&&this.overlay.addClass(this.options.overlayClass),"overlay"!=this.options.closeButton&&!0!==this.options.closeButton||this.overlay.append(this.closeButton),"overlay"==this.options.closeOnClick&&this.overlay.on("click tap",function(){this.close({ignoreDelay:!0})}.bind(this)),t("#"+this.id+"-overlay .jBox-closeButton").length&&(this.options.adjustDistance.top=Math.max(t("#"+this.id+"-overlay .jBox-closeButton").outerHeight(),this.options.adjustDistance.top))),!0===this.adjustZIndexOnOpen&&this.overlay.css("zIndex",parseInt(this.wrapper.css("zIndex"),10)-1),"block"!=this.overlay.css("display")&&(this.options.fade?this.overlay.stop()&&this.overlay.animate({opacity:1},{queue:!1,duration:this.options.fade,start:function(){this.overlay.css({display:"block"})}.bind(this)}):this.overlay.css({display:"block",opacity:1}))},this._hideOverlay=function(){this.overlay&&(this.options.fade?this.overlay.stop()&&this.overlay.animate({opacity:0},{queue:!1,duration:this.options.fade,complete:function(){this.overlay.css({display:"none"})}.bind(this)}):this.overlay.css({display:"none",opacity:0}))},this._exposeDimensions=function(){this.wrapper.css({top:-1e4,left:-1e4,right:"auto",bottom:"auto"});var t={x:this.wrapper.outerWidth(),y:this.wrapper.outerHeight()};return this.wrapper.css({top:"auto",left:"auto"}),t},this._generateAnimationCSS=function(){if("object"!=t.type(this.options.animation)&&(this.options.animation={pulse:{open:"pulse",close:"zoomOut"},zoomIn:{open:"zoomIn",close:"zoomIn"},zoomOut:{open:"zoomOut",close:"zoomOut"},move:{open:"move",close:"move"},slide:{open:"slide",close:"slide"},flip:{open:"flip",close:"flip"},tada:{open:"tada",close:"zoomOut"}}[this.options.animation]),!this.options.animation)return null;this.options.animation.open&&(this.options.animation.open=this.options.animation.open.split(":")),this.options.animation.close&&(this.options.animation.close=this.options.animation.close.split(":")),this.options.animation.openDirection=this.options.animation.open[1]||null,this.options.animation.closeDirection=this.options.animation.close[1]||null,this.options.animation.open&&(this.options.animation.open=this.options.animation.open[0]),this.options.animation.close&&(this.options.animation.close=this.options.animation.close[0]),this.options.animation.open&&(this.options.animation.open+="Open"),this.options.animation.close&&(this.options.animation.close+="Close");var i={pulse:{duration:350,css:[["0%","scale(1)"],["50%","scale(1.1)"],["100%","scale(1)"]]},zoomInOpen:{duration:this.options.fade||180,css:[["0%","scale(0.9)"],["100%","scale(1)"]]},zoomInClose:{duration:this.options.fade||180,css:[["0%","scale(1)"],["100%","scale(0.9)"]]},zoomOutOpen:{duration:this.options.fade||180,css:[["0%","scale(1.1)"],["100%","scale(1)"]]},zoomOutClose:{duration:this.options.fade||180,css:[["0%","scale(1)"],["100%","scale(1.1)"]]},moveOpen:{duration:this.options.fade||180,positions:{top:{"0%":-12},right:{"0%":12},bottom:{"0%":12},left:{"0%":-12}},css:[["0%","translate%XY(%Vpx)"],["100%","translate%XY(0px)"]]},moveClose:{duration:this.options.fade||180,timing:"ease-in",positions:{top:{"100%":-12},right:{"100%":12},bottom:{"100%":12},left:{"100%":-12}},css:[["0%","translate%XY(0px)"],["100%","translate%XY(%Vpx)"]]},slideOpen:{duration:400,positions:{top:{"0%":-400},right:{"0%":400},bottom:{"0%":400},left:{"0%":-400}},css:[["0%","translate%XY(%Vpx)"],["100%","translate%XY(0px)"]]},slideClose:{duration:400,timing:"ease-in",positions:{top:{"100%":-400},right:{"100%":400},bottom:{"100%":400},left:{"100%":-400}},css:[["0%","translate%XY(0px)"],["100%","translate%XY(%Vpx)"]]},flipOpen:{duration:600,css:[["0%","perspective(400px) rotateX(90deg)"],["40%","perspective(400px) rotateX(-15deg)"],["70%","perspective(400px) rotateX(15deg)"],["100%","perspective(400px) rotateX(0deg)"]]},flipClose:{duration:this.options.fade||300,css:[["0%","perspective(400px) rotateX(0deg)"],["100%","perspective(400px) rotateX(90deg)"]]},tada:{duration:800,css:[["0%","scale(1)"],["10%, 20%","scale(0.9) rotate(-3deg)"],["30%, 50%, 70%, 90%","scale(1.1) rotate(3deg)"],["40%, 60%, 80%","scale(1.1) rotate(-3deg)"],["100%","scale(1) rotate(0)"]]}};t.each(["pulse","tada"],function(t,o){i[o+"Open"]=i[o+"Close"]=i[o]});var o=function(o,s){var e="@keyframes jBox-"+this.id+"-animation-"+this.options.animation[o]+"-"+o+(s?"-"+s:"")+" {";return t.each(i[this.options.animation[o]].css,function(t,n){var a=s?n[1].replace("%XY",this._getXY(s).toUpperCase()):n[1];i[this.options.animation[o]].positions&&(a=a.replace("%V",i[this.options.animation[o]].positions[s][n[0]])),e+=n[0]+" {transform:"+a+";}"}.bind(this)),e+="}",e+=".jBox-"+this.id+"-animation-"+this.options.animation[o]+"-"+o+(s?"-"+s:"")+" {",e+="animation-duration: "+i[this.options.animation[o]].duration+"ms;",e+="animation-name: jBox-"+this.id+"-animation-"+this.options.animation[o]+"-"+o+(s?"-"+s:"")+";",e+=i[this.options.animation[o]].timing?"animation-timing-function: "+i[this.options.animation[o]].timing+";":"",e+="}"}.bind(this);this._animationCSS="",t.each(["open","close"],function(s,e){if(!this.options.animation[e]||!i[this.options.animation[e]]||"close"==e&&!this.options.fade)return"";i[this.options.animation[e]].positions?t.each(["top","right","bottom","left"],function(t,i){this._animationCSS+=o(e,i)}.bind(this)):this._animationCSS+=o(e)}.bind(this))},this.options.animation&&this._generateAnimationCSS(),this._blockBodyClick=function(){this.blockBodyClick=!0,setTimeout(function(){this.blockBodyClick=!1}.bind(this),10)},this._animate=function(t){if(t=t||(this.isOpen?"open":"close"),!this.options.fade&&"close"==t)return null;var i=this.options.animation[t+"Direction"]||("center"!=this.align?this.align:this.options.attributes.x);this.flipped&&this._getXY(i)==this._getXY(this.align)&&(i=this._getOpp(i));var o="jBox-"+this.id+"-animation-"+this.options.animation[t]+"-"+t+" jBox-"+this.id+"-animation-"+this.options.animation[t]+"-"+t+"-"+i;this.wrapper.addClass(o),i=1e3*parseFloat(this.wrapper.css("animation-duration")),"close"==t&&(i=Math.min(i,this.options.fade)),setTimeout(function(){this.wrapper.removeClass(o)}.bind(this),i)},this._abortAnimation=function(){var t=this.wrapper.attr("class").split(" ").filter(function(t){return 0!==t.lastIndexOf("jBox-"+this.id+"-animation",0)}.bind(this));this.wrapper.attr("class",t.join(" "))},(this.options.responsiveWidth||this.options.responsiveHeight)&&t(window).on("resize.responsivejBox-"+this.id,function(t){this.isOpen&&this.position()}.bind(this)),"string"===t.type(this.options.preloadAudio)&&(this.options.preloadAudio=[this.options.preloadAudio]),"string"===t.type(this.options.audio)&&(this.options.audio={open:this.options.audio}),"number"===t.type(this.options.volume)&&(this.options.volume={open:this.options.volume,close:this.options.volume}),!0===this.options.preloadAudio&&this.options.audio&&(this.options.preloadAudio=[],t.each(this.options.audio,function(t,i){this.options.preloadAudio.push(i+".mp3"),this.options.preloadAudio.push(i+".ogg")}.bind(this))),this.options.preloadAudio.length&&t.each(this.options.preloadAudio,function(t,i){var o=new Audio;o.src=i,o.preload="auto"}),this._fireEvent("onInit"),this}var o,s;return i.prototype.attach=function(i,o){return i=i||this.options.attach,"string"==t.type(i)&&(i=t(i)),o=o||this.options.trigger,i&&i.length&&t.each(i,function(i,s){(s=t(s)).data("jBox-attached-"+this.id)||("title"==this.options.getContent&&null!=s.attr("title")&&s.data("jBox-getContent",s.attr("title")).removeAttr("title"),this.attachedElements||(this.attachedElements=[]),this.attachedElements.push(s[0]),s.on(o+".jBox-attach-"+this.id,function(t){var i;this.timer&&clearTimeout(this.timer),"mouseenter"==o&&this.isOpen&&this.source[0]==s[0]||(this.isOpen&&this.source&&this.source[0]!=s[0]&&(i=!0),this.source=s,this.options.target||(this.target=s),"click"==o&&this.options.preventDefault&&t.preventDefault(),this["click"!=o||i?"open":"toggle"]())}.bind(this)),"mouseenter"==this.options.trigger&&s.on("mouseleave",function(i){if(!this.wrapper)return null;this.options.closeOnMouseleave&&(i.relatedTarget==this.wrapper[0]||t(i.relatedTarget).parents("#"+this.id).length)||this.close()}.bind(this)),s.data("jBox-attached-"+this.id,o),this._fireEvent("onAttach",s))}.bind(this)),this},i.prototype.detach=function(i){return(i=i||this.attachedElements||[])&&i.length&&t.each(i,function(i,o){(o=t(o)).data("jBox-attached-"+this.id)&&(o.off(o.data("jBox-attached-"+this.id)+".jBox-attach-"+this.id),o.data("jBox-attached-"+this.id,null)),this.attachedElements=t.grep(this.attachedElements,function(t){return t!=o[0]})}.bind(this)),this},i.prototype.setTitle=function(i,o){if(null==i||null==i)return this;this.wrapper||this._create();var s=this.wrapper.outerHeight(),e=this.wrapper.outerWidth();return this.title||(this.titleContainer=t('<div class="jBox-title"/>'),this.title=t("<div/>").appendTo(this.titleContainer),"title"!=this.options.closeButton&&(!0!==this.options.closeButton||this.options.overlay)||(this.wrapper.addClass("jBox-closeButton-title"),this.closeButton.appendTo(this.titleContainer)),this.titleContainer.insertBefore(this.content),this._setTitleWidth()),this.wrapper[i?"addClass":"removeClass"]("jBox-hasTitle"),this.title.html(i),e!=this.wrapper.outerWidth()&&this._setTitleWidth(),this.options.draggable&&this._draggable(),o||!this.options.repositionOnContent||s==this.wrapper.outerHeight()&&e==this.wrapper.outerWidth()||this.position(),this},i.prototype.setContent=function(i,o){if(null==i||null==i)return this;this.wrapper||this._create();var s=this.wrapper.outerHeight(),e=this.wrapper.outerWidth();switch(this.content.children("[data-jbox-content-appended]").appendTo("body").css({display:"none"}),t.type(i)){case"string":this.content.html(i);break;case"object":i&&(i instanceof t||i.constructor.prototype.jquery)?(this.content.html(""),i.attr("data-jbox-content-appended",1).appendTo(this.content).css({display:"block"})):this.content.html(JSON.stringify(i))}return e!=this.wrapper.outerWidth()&&this._setTitleWidth(),this.options.draggable&&this._draggable(),o||!this.options.repositionOnContent||s==this.wrapper.outerHeight()&&e==this.wrapper.outerWidth()||this.position(),this},i.prototype.setDimensions=function(t,i,o){this.wrapper||this._create(),null==i&&(i="auto"),this.content.css(t,this._getInt(i)),"width"==t&&this._setTitleWidth(),this.options[t]=i,null!=o&&!o||this.position()},i.prototype.setWidth=function(t,i){this.setDimensions("width",t,i)},i.prototype.setHeight=function(t,i){this.setDimensions("height",t,i)},i.prototype.position=function(i){if(i=i||{},i=t.extend(!0,this.options,i),this.target=i.target||this.target||t(window),this.target instanceof t||"mouse"==this.target||(this.target=t(this.target)),!this.target.length)return this;this.content.css({width:this._getInt(i.width,"width"),height:this._getInt(i.height,"height"),minWidth:this._getInt(i.minWidth,"width"),minHeight:this._getInt(i.minHeight,"height"),maxWidth:this._getInt(i.maxWidth,"width"),maxHeight:this._getInt(i.maxHeight,"height")}),this._setTitleWidth();var o=this._exposeDimensions();"mouse"==this.target||this.target.data("jBox-"+this.id+"-fixed")||this.target.data("jBox-"+this.id+"-fixed",this.target[0]!=t(window)[0]&&("fixed"==this.target.css("position")||0<this.target.parents().filter(function(){return"fixed"==t(this).css("position")}).length)?"fixed":"static");var s={x:t(window).outerWidth(),y:t(window).outerHeight(),top:i.fixed&&this.target.data("jBox-"+this.id+"-fixed")?0:t(window).scrollTop(),left:i.fixed&&this.target.data("jBox-"+this.id+"-fixed")?0:t(window).scrollLeft()};s.bottom=s.top+s.y,s.right=s.left+s.x;try{var e=this.target.offset()}catch(s){e={top:0,left:0}}"mouse"!=this.target&&"fixed"==this.target.data("jBox-"+this.id+"-fixed")&&i.fixed&&(e.top=e.top-t(window).scrollTop(),e.left=e.left-t(window).scrollLeft());var n={x:"mouse"==this.target?12:this.target.outerWidth(),y:"mouse"==this.target?20:this.target.outerHeight(),top:"mouse"==this.target&&i.mouseTarget?i.mouseTarget.top:e?e.top:0,left:"mouse"==this.target&&i.mouseTarget?i.mouseTarget.left:e?e.left:0},a=i.outside&&!("center"==i.position.x&&"center"==i.position.y),h={x:s.x-i.adjustDistance.left-i.adjustDistance.right,y:s.y-i.adjustDistance.top-i.adjustDistance.bottom,left:a?n.left-t(window).scrollLeft()-i.adjustDistance.left:0,right:a?s.x-n.left+t(window).scrollLeft()-n.x-i.adjustDistance.right:0,top:a?n.top-t(window).scrollTop()-this.options.adjustDistance.top:0,bottom:a?s.y-n.top+t(window).scrollTop()-n.y-i.adjustDistance.bottom:0},r={x:"x"!=i.outside&&"xy"!=i.outside||"number"==t.type(i.position.x)?null:i.position.x,y:"y"!=i.outside&&"xy"!=i.outside||"number"==t.type(i.position.y)?null:i.position.y},p={x:!1,y:!1};r.x&&o.x>h[r.x]&&h[this._getOpp(r.x)]>h[r.x]&&(r.x=this._getOpp(r.x))&&(p.x=!0),r.y&&o.y>h[r.y]&&h[this._getOpp(r.y)]>h[r.y]&&(r.y=this._getOpp(r.y))&&(p.y=!0),(i.responsiveWidth||i.responsiveHeight)&&(x=function(){var t;i.responsiveWidth&&o.x>h[r.x||"x"]&&(t=h[r.x||"x"]-(this.pointer&&a&&"x"==i.outside?this.pointer.dimensions.x:0)-parseInt(this.container.css("border-left-width"))-parseInt(this.container.css("border-right-width")),this.content.css({width:t>this.options.responsiveMinWidth?t:null,minWidth:t<parseInt(this.content.css("minWidth"))?0:null}),this._setTitleWidth()),o=this._exposeDimensions()}.bind(this),i.responsiveWidth&&x(),i.responsiveWidth&&!p.y&&r.y&&o.y>h[r.y]&&h[this._getOpp(r.y)]>h[r.y]&&(r.y=this._getOpp(r.y))&&(p.y=!0),y=function(){var t;i.responsiveHeight&&o.y>h[r.y||"y"]&&(t=function(){return this.titleContainer||this.footer?("none"==this.wrapper.css("display")?(this.wrapper.css("display","block"),t=(this.titleContainer?this.titleContainer.outerHeight():0)+(this.footer?this.footer.outerHeight():0),this.wrapper.css("display","none")):t=(this.titleContainer?this.titleContainer.outerHeight():0)+(this.footer?this.footer.outerHeight():0),t||0):0;var t}.bind(this),t=h[r.y||"y"]-(this.pointer&&a&&"y"==i.outside?this.pointer.dimensions.y:0)-t()-parseInt(this.container.css("border-top-width"))-parseInt(this.container.css("border-bottom-width")),this.content.css({height:t>this.options.responsiveMinHeight?t:null}),this._setTitleWidth()),o=this._exposeDimensions()}.bind(this),i.responsiveHeight&&y(),i.responsiveHeight&&!p.x&&r.x&&o.x>h[r.x]&&h[this._getOpp(r.x)]>h[r.x]&&(r.x=this._getOpp(r.x))&&(p.x=!0),i.adjustPosition&&"move"!=i.adjustPosition&&(p.x&&x(),p.y&&y()));var l={},d=function(s){if("number"!=t.type(i.position[s])){var e=i.attributes[s]="x"==s?"left":"top";if(l[e]=n[e],"center"==i.position[s])return l[e]+=Math.ceil((n[s]-o[s])/2),void("mouse"!=this.target&&this.target[0]&&this.target[0]==t(window)[0]&&(l[e]+=.5*(i.adjustDistance[e]-i.adjustDistance[this._getOpp(e)])));e!=i.position[s]&&(l[e]+=n[s]-o[s]),i.outside!=s&&"xy"!=i.outside||(l[e]+=o[s]*(e!=i.position[s]?1:-1))}else l[i.attributes[s]]=i.position[s]}.bind(this);if(d("x"),d("y"),this.pointer&&"target"==i.pointTo&&"number"!=t.type(i.position.x)&&"number"!=t.type(i.position.y)&&(j=0,"center"===this.pointer.align?"center"!=i.position[this._getOpp(i.outside)]&&(j+=o[this._getOpp(i.outside)]/2):"center"===i.position[this._getOpp(i.outside)]?j+=(o[this._getOpp(i.outside)]/2-this.pointer.dimensions[this._getOpp(i.outside)]/2)*(this.pointer.align==this._getTL(this.pointer.align)?1:-1):j+=this.pointer.align!=i.position[this._getOpp(i.outside)]?this.dimensions[this._getOpp(i.outside)]*(-1!==t.inArray(this.pointer.align,["top","left"])?1:-1)+this.pointer.dimensions[this._getOpp(i.outside)]/2*(-1!==t.inArray(this.pointer.align,["top","left"])?-1:1):this.pointer.dimensions[this._getOpp(i.outside)]/2*(-1!==t.inArray(this.pointer.align,["top","left"])?1:-1),j*=i.position[this._getOpp(i.outside)]==this.pointer.alignAttribute?-1:1,j+=this.pointer.offset*(this.pointer.align==this._getOpp(this._getTL(this.pointer.align))?1:-1),l[this._getTL(this._getOpp(this.pointer.xy))]+=j),l[i.attributes.x]+=i.offset.x,l[i.attributes.y]+=i.offset.y,this.wrapper.css(l),i.adjustPosition){this.positionAdjusted&&(this.pointer&&this.wrapper.css("padding",0).css("padding-"+this._getOpp(this.outside),this.pointer.dimensions[this._getXY(this.outside)]).removeClass("jBox-pointerPosition-"+this._getOpp(this.pointer.position)).addClass("jBox-pointerPosition-"+this.pointer.position),this.pointer&&this.pointer.element.attr("class","jBox-pointer jBox-pointer-"+this._getOpp(this.outside)).css(this.pointer.margin),this.positionAdjusted=!1,this.flipped=!1);var c=s.top>l.top-(i.adjustDistance.top||0),u=s.right<l.left+o.x+(i.adjustDistance.right||0),g=s.bottom<l.top+o.y+(i.adjustDistance.bottom||0),m=s.left>l.left-(i.adjustDistance.left||0),f=m?"left":u?"right":null,x=c?"top":g?"bottom":null;if(f||x){if(("Modal"==this.type||"Confirm"==this.type)&&"number"==t.type(this.options.position.x)&&"number"==t.type(this.options.position.y)){var y=0,j=0;return this.options.holdPosition&&(m?y=s.left-(l.left-(i.adjustDistance.left||0)):u&&(y=s.right-(l.left+o.x+(i.adjustDistance.right||0))),c?j=s.top-(l.top-(i.adjustDistance.top||0)):g&&(j=s.bottom-(l.top+o.y+(i.adjustDistance.bottom||0))),this.options.position.x=Math.max(s.top,this.options.position.x+y),this.options.position.y=Math.max(s.left,this.options.position.y+j),d("x"),d("y"),this.wrapper.css(l)),this._fireEvent("onPosition"),this}!0!==i.adjustPosition&&"flip"!==i.adjustPosition||(b=function(t){this.wrapper.css(this._getTL(t),l[this._getTL(t)]+(o[this._getXY(t)]+i.offset[this._getXY(t)]*("top"==t||"left"==t?-2:2)+n[this._getXY(t)])*("top"==t||"left"==t?1:-1)),this.pointer&&this.wrapper.removeClass("jBox-pointerPosition-"+this.pointer.position).addClass("jBox-pointerPosition-"+this._getOpp(this.pointer.position)).css("padding",0).css("padding-"+t,this.pointer.dimensions[this._getXY(t)]),this.pointer&&this.pointer.element.attr("class","jBox-pointer jBox-pointer-"+t),this.positionAdjusted=!0,this.flipped=!0}.bind(this),p.x&&b(this.options.position.x),p.y&&b(this.options.position.y));var b="x"==this._getXY(this.outside)?x:f;this.pointer&&"target"==i.pointTo&&"flip"!=i.adjustPosition&&this._getXY(b)==this._getOpp(this._getXY(this.outside))&&(x="center"==this.pointer.align?o[this._getXY(b)]/2-this.pointer.dimensions[this._getOpp(this.pointer.xy)]/2-parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute))*(b!=this._getTL(b)?-1:1):b==this.pointer.alignAttribute?parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute)):o[this._getXY(b)]-parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute))-this.pointer.dimensions[this._getXY(b)],f=b==this._getTL(b)?s[this._getTL(b)]-l[this._getTL(b)]+i.adjustDistance[b]:-1*(s[this._getOpp(this._getTL(b))]-l[this._getTL(b)]-i.adjustDistance[b]-o[this._getXY(b)]),b==this._getOpp(this._getTL(b))&&l[this._getTL(b)]-f<s[this._getTL(b)]+i.adjustDistance[this._getTL(b)]&&(f-=s[this._getTL(b)]+i.adjustDistance[this._getTL(b)]-(l[this._getTL(b)]-f)),(f=Math.min(f,x))<=x&&0<f&&(this.pointer.element.css("margin-"+this.pointer.alignAttribute,parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute))-f*(b!=this.pointer.alignAttribute?-1:1)),this.wrapper.css(this._getTL(b),l[this._getTL(b)]+f*(b!=this._getTL(b)?-1:1)),this.positionAdjusted=!0))}}return this._fireEvent("onPosition"),this},(i.prototype.unscroll=function(t){if(this.set=function(t,i){window.unscrollStore||(window.unscrollStore={}),window.unscrollStore[t]=i},this.get=function(t){return window.unscrollStore?window.unscrollStore[t]:null},this.getScrollbarWidth=function(){if(this.get("scrollbarWidth"))return this.get("scrollbarWidth")+"px";var t=document.createElement("div");t.style.width="100px",t.style.height="100px",t.style.overflow="scroll",t.style.position="absolute",t.style.top="-10000",document.body.appendChild(t);var i=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),this.set("scrollbarWidth",i),i+"px"},this.getElementsToAdjust=function(t){(t="string"==typeof(t=t||[])?[[t,"padding-right"]]:t).forEach(function(i,o){"string"==typeof i&&(t[o]=[i,"padding-right"])});for(var i=!1,o=0;o<t.length;o++)-1!==t[o][0].indexOf("body")&&(i=!0);return!1===i&&t.push(["body","padding-right"]),t},this.pageHasScrollbar=function(){return this.getScrollbarWidth()&&document.body.offsetHeight>window.innerHeight},this.pageHasScrollbar()){t=this.getElementsToAdjust(t);for(var i=0;i<t.length;i++)for(var o=document.querySelectorAll(t[i][0]),s=0;s<o.length;s++){if(o[s].getAttribute("data-unscroll"))return;var e=t[i][1],n=window.getComputedStyle(o[s]).getPropertyValue(e);o[s].setAttribute("data-unscroll",e),n=n||"0px";var a="padding-right"==e||"right"==e?"+":"-";o[s].style[e]="calc("+n+" "+a+" "+this.getScrollbarWidth()+")"}}var h,r;document.getElementById("unscroll-class-name")||(h=document.head||document.getElementsByTagName("head")[0],(r=document.createElement("style")).type="text/css",r.setAttribute("id","unscroll-class-name"),r.appendChild(document.createTextNode(".unscrollable { overflow: hidden !important; }")),h.appendChild(r)),document.body.classList.add("unscrollable")}).reset=function(){for(var t=document.querySelectorAll("[data-unscroll]"),i=0;i<t.length;i++){var o=t[i].getAttribute("data-unscroll");t[i].style[o]=null,t[i].removeAttribute("data-unscroll")}document.body.classList.remove("unscrollable")},i.prototype.open=function(o){if(o=o||{},this.isDestroyed)return this;if(this.wrapper||this._create(),this._styles||(this._styles=t("<style/>").append(this._animationCSS).appendTo(t("head"))),this.timer&&clearTimeout(this.timer),this._blockBodyClick(),this.isDisabled)return this;this.options.closeOnEsc&&t(document).on("keyup.jBox-"+this.id,function(t){27==t.keyCode&&this.close({ignoreDelay:!0})}.bind(this)),!0!==this.options.closeOnClick&&"body"!==this.options.closeOnClick||(t("body").on("click.jBox-"+this.id+" tap.jBox-"+this.id,function(t){this.blockBodyClick||"body"==this.options.closeOnClick&&(t.target==this.wrapper[0]||this.wrapper.has(t.target).length)||this.close({ignoreDelay:!0})}.bind(this)),this.isTouchDevice&&t("body > *").on("click.jBox-"+this.id+" tap.jBox-"+this.id,function(){return!0}));var s=function(){!0===this.adjustZIndexOnOpen&&(i.zIndexMax=Math.max(parseInt(this.wrapper.css("zIndex"),10),this.options.zIndex,i.zIndexMax||0,i.zIndexMaxDragover||0)+2,this.wrapper.css("zIndex",i.zIndexMax),this.options.zIndex=i.zIndexMax),this.source&&this.options.getTitle&&this.source.attr(this.options.getTitle)&&this.setTitle(this.source.attr(this.options.getTitle),!0),this.source&&this.options.getContent&&(this.source.data("jBox-getContent")?this.setContent(this.source.data("jBox-getContent"),!0):this.source.attr(this.options.getContent)?this.setContent(this.source.attr(this.options.getContent),!0):"html"==this.options.getContent&&this.setContent(this.source.html(),!0)),this._fireEvent("onOpen"),(this.options.ajax&&(this.options.ajax.url||this.source&&this.source.attr(this.options.ajax.getURL))&&(!this.ajaxLoaded||this.options.ajax.reload)||o.ajax&&(o.ajax.url||o.ajax.data))&&("strict"==this.options.ajax.reload||!this.source||!this.source.data("jBox-ajax-data")||o.ajax&&(o.ajax.url||o.ajax.data)?this.ajax(o.ajax||null,!0):this.setContent(this.source.data("jBox-ajax-data"))),this.positionedOnOpen&&!this.options.repositionOnOpen||!this.position(o)||(this.positionedOnOpen=!0),this.isClosing&&this._abortAnimation(),this.isOpen||(this.isOpen=!0,this.options.autoClose&&(this.options.delayClose=this.options.autoClose)&&this.close(),this._attachEvents(),this.options.blockScroll&&(this.options.blockScrollAdjust?i.blockScrollScopes?i.blockScrollScopes++:(i.blockScrollScopes=1,this.unscroll(Array.isArray(this.options.blockScrollAdjust)||"string"==typeof this.options.blockScrollAdjust?this.options.blockScrollAdjust:null)):t("body").addClass("jBox-blockScroll-"+this.id)),this.options.overlay&&(this._showOverlay(),this.position()),this.options.animation&&!this.isClosing&&this._animate("open"),this.options.audio&&this.options.audio.open&&this.audio(this.options.audio.open,this.options.volume.open),this.options.fade?this.wrapper.stop().animate({opacity:1},{queue:!1,duration:this.options.fade,start:function(){this.isOpening=!0,this.wrapper.css({display:"block"})}.bind(this),always:function(){this.isOpening=!1,setTimeout(function(){this.positionOnFadeComplete&&this.position()&&(this.positionOnFadeComplete=!1)}.bind(this),10)}.bind(this)}):(this.wrapper.css({display:"block",opacity:1}),this.positionOnFadeComplete&&this.position()&&(this.positionOnFadeComplete=!1)))}.bind(this);return!this.options.delayOpen||this.isOpen||this.isClosing||o.ignoreDelay?s():this.timer=setTimeout(s,this.options.delayOpen),this},i.prototype.close=function(o){if(o=o||{},t("body").off("click.jBox-"+this.id+" tap.jBox-"+this.id),this.isTouchDevice&&t("body > *").off("click.jBox-"+this.id+" tap.jBox-"+this.id),this.isDestroyed||this.isClosing)return this;if(this.timer&&clearTimeout(this.timer),this._blockBodyClick(),this.isDisabled)return this;var s,e,n,a=function(){var o;this._fireEvent("onClose"),this.options.cancelAjaxOnClose&&this.cancelAjax(),this.isOpen&&(this.isOpen=!1,this._detachEvents(),this.options.blockScroll&&(this.options.blockScrollAdjust?(i.blockScrollScopes=i.blockScrollScopes?--i.blockScrollScopes:0)||this.unscroll.reset():t("body").removeClass("jBox-blockScroll-"+this.id)),this.options.overlay&&this._hideOverlay(),this.options.animation&&!this.isOpening&&this._animate("close"),this.options.audio&&this.options.audio.close&&this.audio(this.options.audio.close,this.options.volume.close),(o=this.isTouchDevice&&"mouse"==this.options.target?0:this.options.fade)?this.wrapper.stop().animate({opacity:0},{queue:!1,duration:o,start:function(){this.isClosing=!0}.bind(this),complete:function(){this.wrapper.css({display:"none"}),this._fireEvent("onCloseComplete")}.bind(this),always:function(){this.isClosing=!1}.bind(this)}):(this.wrapper.css({display:"none",opacity:0}),this._fireEvent("onCloseComplete")))}.bind(this);return o.ignoreDelay||this.isTouchDevice&&"mouse"==this.options.target?a():(this.options.delayOnHover||this.options.showCountdown)&&10<this.options.delayClose?(e=(s=this).options.delayClose,n=Date.now(),this.options.showCountdown&&!this.inner&&(o=t('<div class="jBox-countdown" />'),this.inner=t('<div class="jBox-countdown-inner" />'),o.prepend(this.inner),t("#"+this.id).append(o)),this.countdown=function(){var t=Date.now();s.isHovered||(e-=t-n),n=t,0<e?(s.options.showCountdown&&s.inner.css("width",100*e/s.options.delayClose+"%"),window.requestAnimationFrame(s.countdown)):a()},window.requestAnimationFrame(this.countdown)):this.timer=setTimeout(a,Math.max(this.options.delayClose,10)),this},i.prototype.toggle=function(t){return this[this.isOpen?"close":"open"](t),this},i.prototype.disable=function(){return this.isDisabled=!0,this},i.prototype.enable=function(){return this.isDisabled=!1,this},i.prototype.hide=function(){return this.disable(),this.wrapper&&(this.cacheWrapperDisplay=this.wrapper.css("display"),this.wrapper.css({display:"none"})),this.overlay&&(this.cacheOverlayDisplay=this.overlay.css("display"),this.overlay.css({display:"none"})),this},i.prototype.show=function(){return this.enable(),this.wrapper&&this.cacheWrapperDisplay&&(this.wrapper.css({display:this.cacheWrapperDisplay}),this.cacheWrapperDisplay=null),this.overlay&&this.cacheOverlayDisplay&&(this.overlay.css({display:this.cacheOverlayDisplay}),this.cacheOverlayDisplay=null),this},i.prototype.ajax=function(i,o){i=i||{},t.each([["getData","data"],["getURL","url"]],function(t,o){this.options.ajax[o[0]]&&!i[o[1]]&&this.source&&null!=this.source.attr(this.options.ajax[o[0]])&&(i[o[1]]=this.source.attr(this.options.ajax[o[0]])||"")}.bind(this));var s=t.extend(!0,{},this.options.ajax);this.cancelAjax();var e=i.beforeSend||s.beforeSend||function(){},n=i.complete||s.complete||function(){},a=i.success||s.success||function(){},h=i.error||s.error||function(){},r=t.extend(!0,s,i);return r.beforeSend=function(i){r.loadingClass&&this.wrapper.addClass(!0===r.loadingClass?"jBox-loading":r.loadingClass),r.spinner&&(this.spinnerDelay=setTimeout(function(){this.wrapper.addClass("jBox-loading-spinner"),r.spinnerReposition&&(o?this.positionOnFadeComplete=!0:this.position()),this.spinner=t(!0!==r.spinner?r.spinner:'<div class="jBox-spinner"></div>').appendTo(this.container),this.titleContainer&&"absolute"==this.spinner.css("position")&&this.spinner.css({transform:"translateY("+.5*this.titleContainer.outerHeight()+"px)"})}.bind(this),""!=this.content.html()&&r.spinnerDelay||0)),e.bind(this)(i)}.bind(this),r.complete=function(t){this.spinnerDelay&&clearTimeout(this.spinnerDelay),this.wrapper.removeClass("jBox-loading jBox-loading-spinner jBox-loading-spinner-delay"),this.spinner&&this.spinner.length&&this.spinner.remove()&&r.spinnerReposition&&(o?this.positionOnFadeComplete=!0:this.position()),this.ajaxLoaded=!0,n.bind(this)(t)}.bind(this),r.success=function(t){r.setContent&&this.setContent(t,!0)&&(o?this.positionOnFadeComplete=!0:this.position()),r.setContent&&this.source&&this.source.data("jBox-ajax-data",t),a.bind(this)(t)}.bind(this),r.error=function(t){h.bind(this)(t)}.bind(this),this.ajaxRequest=t.ajax(r),this},i.prototype.cancelAjax=function(){this.ajaxRequest&&(this.ajaxRequest.abort(),this.ajaxLoaded=!1)},i.prototype.audio=function(o,s){if(!o)return this;var e;(i._audio=i._audio?i._audio:{})[o]||(e=t("<audio/>"),t("<source/>",{src:o+".mp3"}).appendTo(e),t("<source/>",{src:o+".ogg"}).appendTo(e),i._audio[o]=e[0]),i._audio[o].volume=Math.min((null!=s?s:100)/100,1);try{i._audio[o].pause(),i._audio[o].currentTime=0}catch(o){}return i._audio[o].play(),this},i._animationSpeeds={tada:1e3,tadaSmall:1e3,flash:500,shake:400,pulseUp:250,pulseDown:250,popIn:250,popOut:250,fadeIn:200,fadeOut:200,slideUp:400,slideRight:400,slideLeft:400,slideDown:400},i.prototype.animate=function(t,o){o=o||{},this.animationTimeout||(this.animationTimeout={}),o.element||(o.element=this.wrapper),o.element.data("jBox-animating-id")||o.element.data("jBox-animating-id",i._getUniqueElementID()),o.element.data("jBox-animating")&&(o.element.removeClass(o.element.data("jBox-animating")).data("jBox-animating",null),this.animationTimeout[o.element.data("jBox-animating-id")]&&clearTimeout(this.animationTimeout[o.element.data("jBox-animating-id")])),o.element.addClass("jBox-animated-"+t).data("jBox-animating","jBox-animated-"+t),this.animationTimeout[o.element.data("jBox-animating-id")]=setTimeout(function(){o.element.removeClass(o.element.data("jBox-animating")).data("jBox-animating",null),o.complete&&o.complete()},i._animationSpeeds[t])},i.prototype.swipeDetector=function(i,o){var s=0,e=0,n=0,a=0,h=0;return o=t.extend({swipeThreshold:70,useOnlyTouch:!1},o),i.on("mousedown touchstart",function(t){o.useOnlyTouch&&!t.originalEvent.touches||(t.originalEvent.touches&&(t=t.originalEvent.touches[0]),0===s&&(s=1,e=t.clientX,n=t.clientY))}),t("html").on("mouseup touchend",function(e){2===s&&(s=0,Math.abs(a)>Math.abs(h)&&Math.abs(a)>o.swipeThreshold?a<0?i.trigger(t.Event("swipeLeft.sd")):i.trigger(t.Event("swipeRight.sd")):Math.abs(h)>o.swipeThreshold&&(h<0?i.trigger(t.Event("swipeUp.sd")):i.trigger(t.Event("swipeDown.sd"))))}),t("html").on("mousemove touchmove",function(t){var i;1===s&&(i=(t=t.originalEvent.touches?t.originalEvent.touches[0]:t).clientX-e,t=t.clientY-n,(Math.abs(i)>o.swipeThreshold||Math.abs(t)>o.swipeThreshold)&&(s=2,a=i,h=t))}),i},i.prototype.destroy=function(){return this.detach(),this.isOpen&&this.close({ignoreDelay:!0}),this.wrapper&&this.wrapper.remove(),this.overlay&&this.overlay.remove(),this._styles&&this._styles.remove(),this.isDestroyed=!0,this},i._getUniqueID=(o=1,function(){return o++}),i._getUniqueElementID=(s=1,function(){return s++}),i._pluginOptions={},i.plugin=function(t,o){i._pluginOptions[t]=o},t.fn.jBox=function(o,s){return s=s||{},new i(o=o||{},t.extend(s,{attach:this}))},i}function jBoxConfirmWrapper(jBox,jQuery){new jBox.plugin("Confirm",{confirmButton:"Submit",cancelButton:"Cancel",confirm:null,cancel:null,closeOnConfirm:!0,target:window,fixed:!0,attach:"[data-confirm]",getContent:"data-confirm",content:"Do you really want to do this?",minWidth:360,maxWidth:500,blockScroll:!0,closeOnEsc:!0,closeOnClick:!1,closeButton:!1,overlay:!0,animation:"zoomIn",preventDefault:!0,_onAttach:function(t){var i;this.options.confirm||(i=t.attr("onclick")?t.attr("onclick"):t.attr("href")?t.attr("target")?'window.open("'+t.attr("href")+'", "'+t.attr("target")+'");':'window.location.href = "'+t.attr("href")+'";':"",t.prop("onclick",null).data("jBox-Confirm-submit",i))},_onCreated:function(){this.wrapper.addClass("jBox-Modal"),this.footer=jQuery('<div class="jBox-Confirm-footer"/>'),jQuery('<div class="jBox-Confirm-button jBox-Confirm-button-cancel"/>').html(this.options.cancelButton).on("click tap",function(){this.options.cancel&&this.options.cancel(this.source),this.close()}.bind(this)).appendTo(this.footer),this.submitButton=jQuery('<div class="jBox-Confirm-button jBox-Confirm-button-submit"/>').html(this.options.confirmButton).appendTo(this.footer),this.footer.appendTo(this.container)},_onOpen:function(){this.submitButton.off("click.jBox-Confirm"+this.id+" tap.jBox-Confirm"+this.id).on("click.jBox-Confirm"+this.id+" tap.jBox-Confirm"+this.id,function(){this.options.confirm?this.options.confirm(this.source):eval(this.source.data("jBox-Confirm-submit")),this.options.closeOnConfirm&&this.close()}.bind(this))}})}function jBoxImageWrapper(t,i){new t.plugin("Image",{src:"href",gallery:"data-jbox-image",imageLabel:"title",imageFade:360,imageSize:"contain",imageCounter:!1,imageCounterSeparator:"/",downloadButton:!1,downloadButtonText:null,downloadButtonUrl:null,mobileImageAttr:null,mobileImageBreakpoint:null,preloadFirstImage:!1,target:window,attach:"[data-jbox-image]",fixed:!0,blockScroll:!0,closeOnEsc:!0,closeOnClick:"button",closeButton:!0,overlay:!0,animation:"zoomIn",preventDefault:!0,width:"100%",height:"100%",adjustDistance:{top:40,right:0,bottom:40,left:0},_onInit:function(){this.images=this.currentImage={},this.imageZIndex=1,this.initImage=function(t){var o,s;(t=i(t)).data("jBox-image-gallery")||(o=t.attr(this.options.src),this.options.mobileImageAttr&&this.options.mobileImageBreakpoint&&t.attr(this.options.mobileImageAttr)&&i(window).width()<=this.options.mobileImageBreakpoint&&(o=t.attr(this.options.mobileImageAttr)),s=t.attr(this.options.gallery)||"default",this.images[s]||(this.images[s]=[]),this.images[s].push({src:o,label:t.attr(this.options.imageLabel)||"",downloadUrl:this.options.downloadButtonUrl&&t.attr(this.options.downloadButtonUrl)?t.attr(this.options.downloadButtonUrl):null}),"title"==this.options.imageLabel&&t.removeAttr("title"),t.data("jBox-image-gallery",s),t.data("jBox-image-id",this.images[s].length-1))}.bind(this),this.attachedElements&&this.attachedElements.length&&i.each(this.attachedElements,function(t,i){this.initImage(i)}.bind(this));var t=function(t,o,s,e){if(!i("#jBox-image-"+t+"-"+o).length){var n=i("<div/>",{id:"jBox-image-"+t+"-"+o,class:"jBox-image-container"+(s?" jBox-image-"+t+"-current":"")}).css({backgroundSize:this.options.imageSize,opacity:e?1:0,zIndex:s?this.imageZIndex++:0}).appendTo(this.content);return this.swipeDetector(n).on("swipeLeft.sd swipeRight.sd",function(t){"swipeLeft"===t.type?this.showImage("next"):"swipeRight"===t.type&&this.showImage("prev")}.bind(this)),i("<div/>",{id:"jBox-image-label-"+t+"-"+o,class:"jBox-image-label"+(s?" active":"")}).html(this.images[t][o].label).on("click tap",function(){i(this).toggleClass("expanded")}).appendTo(this.imageLabelContainer),s&&n.animate({opacity:1},e?0:this.options.imageFade),n}}.bind(this);this.downloadImage=function(t){var i=document.createElement("a");i.href=t,i.setAttribute("download",t.substring(t.lastIndexOf("/")+1)),document.body.appendChild(i),i.click()};var o=function(o,s,e,n){var a=t(o,s,e,n);a.addClass("jBox-image-loading"),i('<img src="'+this.images[o][s].src+'" />').each(function(){var t=new Image;t.onload=function(){a.removeClass("jBox-image-loading"),a.css({backgroundImage:'url("'+this.images[o][s].src+'")'})}.bind(this),t.onerror=function(){a.removeClass("jBox-image-loading"),a.addClass("jBox-image-not-found")}.bind(this),t.src=this.images[o][s].src}.bind(this))}.bind(this);this.showImage=function(t){var s,e,n;if("open"!=t)s=this.currentImage.gallery,n=(n=this.currentImage.id+(+("prev"==t)?-1:1))>this.images[s].length-1?0:n<0?this.images[s].length-1:n;else{if(this.source)s=this.source.data("jBox-image-gallery"),n=this.source.data("jBox-image-id");else{if(!this.attachedElements||!this.attachedElements.length)return;s=i(this.attachedElements[0]).data("jBox-image-gallery"),n=i(this.attachedElements[0]).data("jBox-image-id")}this.images&&this.images[s]&&i(".jBox-image-pointer-prev, .jBox-image-pointer-next").css({display:1<this.images[s].length?"block":"none"})}i(".jBox-image-"+s+"-current").length&&i(".jBox-image-"+s+"-current").removeClass("jBox-image-"+s+"-current").animate({opacity:0},"open"==t?0:this.options.imageFade),this.currentImage={gallery:s,id:n},i("#jBox-image-"+s+"-"+n).length?i("#jBox-image-"+s+"-"+n).addClass("jBox-image-"+s+"-current").css({zIndex:this.imageZIndex++,opacity:0}).animate({opacity:1},"open"==t?0:this.options.imageFade):o(s,n,!0,"open"===t),e=s,t=n,i(".jBox-image-label.active").removeClass("active expanded"),i("#jBox-image-label-"+e+"-"+t).addClass("active"),this.imageCounter&&(this.images[s]&&1<this.images[s].length?(this.wrapper.addClass("jBox-image-has-counter"),this.imageCounter.find(".jBox-image-counter-all").html(this.images[s].length),this.imageCounter.find(".jBox-image-counter-current").html(n+1)):this.wrapper.removeClass("jBox-image-has-counter")),this.images[s]&&this.images[s].length-1&&(n=(n+=1)>this.images[s].length-1?0:n<0?this.images[s].length-1:n,i("#jBox-image-"+s+"-"+n).length||o(s,n,!1,!1))},this.options.preloadFirstImage&&i(window).on("load",function(){this.showImage("open")}.bind(this))},_onAttach:function(t){this.initImage&&this.initImage(t)},_onCreated:function(){this.imageLabelWrapper=i('<div class="jBox-image-label-wrapper"/>').appendTo(this.wrapper),this.imagePrevButton=i('<div class="jBox-image-pointer-prev"/>').on("click tap",function(){this.showImage("prev")}.bind(this)),this.imageNextButton=i('<div class="jBox-image-pointer-next"/>').on("click tap",function(){this.showImage("next")}.bind(this)),this.imageLabelContainer=i('<div class="jBox-image-label-container"/>'),this.imageLabelWrapper.append(this.imagePrevButton).append(this.imageLabelContainer).append(this.imageNextButton),this.options.downloadButton&&(this.downloadButton=i("<div/>",{class:"jBox-image-download-button-wrapper"}).appendTo(this.wrapper).append(this.options.downloadButtonText?i("<div/>",{class:"jBox-image-download-button-text"}).html(this.options.downloadButtonText):null).append(i("<div/>",{class:"jBox-image-download-button-icon"})).on("click tap",function(){var t;t=this.images[this.currentImage.gallery][this.currentImage.id].downloadUrl||this.wrapper.find(".jBox-image-"+this.currentImage.gallery+"-current")[0].style.backgroundImage.slice(4,-1).replace(/["']/g,""),this.downloadImage(t)}.bind(this))),this.options.imageCounter&&(this.imageCounter=i("<div/>",{class:"jBox-image-counter-container"}).insertAfter(this.imageLabelContainer),this.imageCounter.append(i("<span/>",{class:"jBox-image-counter-current"})).append(i("<span/>").html(this.options.imageCounterSeparator)).append(i("<span/>",{class:"jBox-image-counter-all"})))},_onOpen:function(){i(document).on("keyup.jBox-Image-"+this.id,function(t){37==t.keyCode&&this.showImage("prev"),39==t.keyCode&&this.showImage("next")}.bind(this)),this.showImage("open")},_onClose:function(){i(document).off("keyup.jBox-Image-"+this.id)},_onCloseComplete:function(){this.wrapper.find(".jBox-image-container").css("opacity",0)}})}function jBoxNoticeWrapper(t,i){new t.plugin("Notice",{color:null,stack:!0,stackSpacing:10,autoClose:6e3,attributes:{x:"right",y:"top"},position:{x:15,y:15},responsivePositions:{500:{x:5,y:5},768:{x:10,y:10}},target:window,fixed:!0,animation:"zoomIn",closeOnClick:"box",zIndex:12e3,_onInit:function(){this.defaultNoticePosition=i.extend({},this.options.position),this._adjustNoticePositon=function(){var t=i(window),o=t.width();t.height(),this.options.position=i.extend({},this.defaultNoticePosition),i.each(this.options.responsivePositions,function(t,i){if(o<=t)return this.options.position=i,!1}.bind(this)),this.options.adjustDistance={top:this.options.position.y,right:this.options.position.x,bottom:this.options.position.y,left:this.options.position.x}},this.options.content instanceof i&&(this.options.content=this.options.content.clone().attr("id","")),i(window).on("resize.responsivejBoxNotice-"+this.id,function(t){this.isOpen&&this._adjustNoticePositon()}.bind(this)),this.open()},_onCreated:function(){this.wrapper.addClass("jBox-Notice-color jBox-Notice-"+(this.options.color||"gray")),this.wrapper.data("jBox-Notice-position",this.options.attributes.x+"-"+this.options.attributes.y)},_onOpen:function(){this.options.stack||(this._adjustNoticePositon(),i.each(i(".jBox-Notice"),function(t,o){(o=i(o)).attr("id")!=this.id&&o.data("jBox-Notice-position")==this.options.attributes.x+"-"+this.options.attributes.y&&(this.options.stack||o.data("jBox").close({ignoreDelay:!0}))}.bind(this)))},_onPosition:function(){var t,o={};for(t in i.each(i(".jBox-Notice"),function(t,s){var e=(s=i(s)).data("jBox-Notice-position");o[e]||(o[e]=[]),o[e].push(s)}),o){var s=t.split("-")[1];o[t].reverse();var e,n=0;for(e in o[t]){var a=i(o[t][e]);a.css("margin-"+s,n),n+=a.outerHeight()+this.options.stackSpacing}}},_onCloseComplete:function(){this.destroy(),this.options._onPosition.bind(this).call()}})}!function(t,i){"function"==typeof define&&define.amd?define(["jquery"],function(o){return t.jBox=i(o)}):"object"==typeof module&&module.exports?module.exports=t.jBox=i(require("jquery")):t.jBox=i(t.jQuery)}(this,function(t){var i=jBoxWrapper(t);try{void 0!==jBoxConfirmWrapper&&jBoxConfirmWrapper&&jBoxConfirmWrapper(i,t)}catch(t){console.error(t)}try{void 0!==jBoxImageWrapper&&jBoxImageWrapper&&jBoxImageWrapper(i,t)}catch(t){console.error(t)}try{void 0!==jBoxNoticeWrapper&&jBoxNoticeWrapper&&jBoxNoticeWrapper(i,t)}catch(t){console.error(t)}return i});
|
||
|
||
},{"jquery":31}],30:[function(require,module,exports){
|
||
!function(t){"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}(function(t){var e,i=0,s=Array.prototype.slice;return t.cleanData=(e=t.cleanData,function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{(s=t._data(n,"events"))&&s.remove&&t(n).triggerHandler("remove")}catch(t){}e(i)}),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0],u=l+"-"+(e=e.split(".")[1]);return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][u.toLowerCase()]=function(e){return!!t.data(e,u)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){if(!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),(a=new i).options=t.widget.extend({},a.options),t.each(s,function(e,s){t.isFunction(s)?r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}():r[e]=s}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n&&a.widgetEventPrefix||e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:u}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,n,o=s.call(arguments,1),a=0,r=o.length;a<r;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(t.isPlainObject(n)?e[i]=t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):e[i]=n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r))!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0:t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;o<s.length-1;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){var i=[],s=this;function n(n,o){var a,r;for(r=0;r<n.length;r++)a=s.classesElementLookup[n[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),s.classesElementLookup[n[r]]=a,i.push(n[r]),o&&e.classes[n[r]]&&i.push(e.classes[n[r]])}return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&n(e.keys.match(/\S+/g)||[],!0),e.extra&&n(e.extra.match(/\S+/g)||[]),i.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){if(e||!0!==o.options.disabled&&!t(this).hasClass("ui-state-disabled"))return("string"==typeof a?o[a]:a).apply(o,arguments)}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),u=l[1]+o.eventNamespace,h=l[2];h?n.on(u,h,r):i.on(u,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},(i=t.Event(i)).type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&!1===a.apply(this.element[0],[i].concat(s))||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){var a;"string"==typeof n&&(n={effect:n});var r=n?!0===n||"number"==typeof n?i:n.effect||i:e;"number"==typeof(n=n||{})&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget});
|
||
|
||
},{}],31:[function(require,module,exports){
|
||
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=Object.getPrototypeOf,i=n.slice,o=n.flat?function(e){return n.flat.call(e)}:function(e){return n.concat.apply([],e)},a=n.push,s=n.indexOf,u={},l=u.toString,c=u.hasOwnProperty,f=c.toString,p=f.call(Object),d={},h=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},g=function(e){return null!=e&&e===e.window},v=e.document,y={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||v).createElement("script");if(o.text=e,t)for(r in y)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?u[l.call(e)]||"object":typeof e}var b=function(e,t){return new b.fn.init(e,t)};function w(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!h(e)&&!g(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}b.fn=b.prototype={jquery:"3.6.0",constructor:b,length:0,toArray:function(){return i.call(this)},get:function(e){return null==e?i.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return b.each(this,e)},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(i.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(b.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(b.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:a,sort:n.sort,splice:n.splice},b.extend=b.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||h(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(b.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||b.isPlainObject(n)?n:{},i=!1,a[t]=b.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},b.extend({expando:"jQuery"+("3.6.0"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==l.call(e))&&(!(t=r(e))||"function"==typeof(n=c.call(t,"constructor")&&t.constructor)&&f.call(n)===p)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(w(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(w(Object(e))?b.merge(n,"string"==typeof e?[e]:e):a.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:s.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,a=0,s=[];if(w(e))for(r=e.length;a<r;a++)null!=(i=t(e[a],a,n))&&s.push(i);else for(a in e)null!=(i=t(e[a],a,n))&&s.push(i);return o(s)},guid:1,support:d}),"function"==typeof Symbol&&(b.fn[Symbol.iterator]=n[Symbol.iterator]),b.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){u["[object "+t+"]"]=t.toLowerCase()});var T=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,v,y,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ue(),S=ue(),k=ue(),A=ue(),N=function(e,t){return e===t&&(f=!0),0},j={}.hasOwnProperty,D=[],q=D.pop,L=D.push,H=D.push,O=D.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"<22>":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){p()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(D=O.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}catch(e){H={apply:D.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return H.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+" "]&&(!v||!v.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute("id"))?c=c.replace(re,ie):t.setAttribute("id",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?"#"+c:":scope")+" "+xe(h[s]);y=h.join(",")}try{return H.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace($,"$1"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ge(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ve(e){return le(function(t){return t=+t,le(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),n.scope=ce(function(e){return h.appendChild(e).appendChild(d.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),n.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ce(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce(function(e){var t;h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+b+"-]").length||v.push("~="),(t=d.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&j.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(N),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(B," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:le(function(e){var t=[],n=[],r=s(e.replace($,"$1"));return r[b]?le(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:le(function(e){return function(t){return se(e,t).length>0}}),contains:le(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}}),lang:le(function(e){return V.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:n>t?t:n;--r>=0;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=de(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=he(t);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(c=(f=t[b]||(t[b]={}))[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function we(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(e,t,n,r,i,o){return r&&!r[b]&&(r=Ce(r)),i&&!i[b]&&(i=Ce(i,o)),le(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(t||"*",s.nodeType?[s]:s,[]),v=!e||!o&&t?g:Te(g,p,e,s,u),y=n?i||(o?e:h||r)?[]:a:v;if(n&&n(v,y,s,u),r)for(l=Te(y,d),r(l,[],s,u),c=l.length;c--;)(f=l[c])&&(y[d[c]]=!(v[d[c]]=f));if(o){if(i||e){if(i){for(l=[],c=y.length;c--;)(f=y[c])&&l.push(v[c]=f);i(null,y=[],l,u)}for(c=y.length;c--;)(f=y[c])&&(l=i?P(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function Ee(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=be(function(e){return e===t},s,!0),f=be(function(e){return P(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[be(we(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o&&!r.relative[e[i].type];i++);return Ce(u>1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace($,"$1"),n,u<i&&Ee(e.slice(u,i)),i<o&&Ee(e=e.slice(i)),i<o&&xe(e))}p.push(n)}return we(p)}return me.prototype=r.filters=r.pseudos,r.setFilters=new me,a=se.tokenize=function(e,t){var n,i,o,a,s,u,l,c=S[e+" "];if(c)return t?0:c.slice(0);for(s=e,u=[],l=r.preFilter;s;){for(a in n&&!(i=_.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=z.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace($," ")}),s=s.slice(n.length)),r.filter)!(i=G[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?se.error(e):S(e,u).slice(0)},s=se.compile=function(e,t){var n,i=[],o=[],s=k[e+" "];if(!s){for(t||(t=a(e)),n=t.length;n--;)(s=Ee(t[n]))[b]?i.push(s):o.push(s);(s=k(e,function(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,S=C.length;for(c&&(l=a==d||a||c);m!==S&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument==d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=q.call(u));b=Te(b)}H.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=E,l=w),x};return n?le(o):o}(o,i))).selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=G.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return H.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split("").sort(N).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(e);b.find=T,b.expr=T.selectors,b.expr[":"]=b.expr.pseudos,b.uniqueSort=b.unique=T.uniqueSort,b.text=T.getText,b.isXMLDoc=T.isXML,b.contains=T.contains,b.escapeSelector=T.escape;var C=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&b(e).is(n))break;r.push(e)}return r},E=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},S=b.expr.match.needsContext;function k(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function N(e,t,n){return h(t)?b.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?b.grep(e,function(e){return e===t!==n}):"string"!=typeof t?b.grep(e,function(e){return s.call(t,e)>-1!==n}):b.filter(t,e,n)}b.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?b.find.matchesSelector(r,e)?[r]:[]:b.find.matches(e,b.grep(t,function(e){return 1===e.nodeType}))},b.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(b(e).filter(function(){for(t=0;t<r;t++)if(b.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)b.find(e,i[t],n);return r>1?b.uniqueSort(n):n},filter:function(e){return this.pushStack(N(this,e||[],!1))},not:function(e){return this.pushStack(N(this,e||[],!0))},is:function(e){return!!N(this,"string"==typeof e&&S.test(e)?b(e):e||[],!1).length}});var j,D=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(b.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:D.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof b?t[0]:t,b.merge(this,b.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),A.test(r[1])&&b.isPlainObject(t))for(r in t)h(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):h(e)?void 0!==n.ready?n.ready(e):e(b):b.makeArray(e,this)}).prototype=b.fn,j=b(v);var q=/^(?:parents|prev(?:Until|All))/,L={children:!0,contents:!0,next:!0,prev:!0};function H(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}b.fn.extend({has:function(e){var t=b(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(b.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&b(e);if(!S.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&b.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?b.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?s.call(b(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(b.uniqueSort(b.merge(this.get(),b(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return C(e,"parentNode")},parentsUntil:function(e,t,n){return C(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return C(e,"nextSibling")},prevAll:function(e){return C(e,"previousSibling")},nextUntil:function(e,t,n){return C(e,"nextSibling",n)},prevUntil:function(e,t,n){return C(e,"previousSibling",n)},siblings:function(e){return E((e.parentNode||{}).firstChild,e)},children:function(e){return E(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(k(e,"template")&&(e=e.content||e),b.merge([],e.childNodes))}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),this.length>1&&(L[e]||b.uniqueSort(i),q.test(e)&&i.reverse()),this.pushStack(i)}});var O=/[^\x20\t\r\n\f]+/g;function P(e){return e}function R(e){throw e}function M(e,t,n,r){var i;try{e&&h(i=e.promise)?i.call(e).done(t).fail(n):e&&h(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}b.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return b.each(e.match(O)||[],function(e,n){t[n]=!0}),t}(e):b.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s<o.length;)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){b.each(n,function(n,r){h(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return b.each(arguments,function(e,t){for(var n;(n=b.inArray(t,o,n))>-1;)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?b.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},b.extend({Deferred:function(t){var n=[["notify","progress",b.Callbacks("memory"),b.Callbacks("memory"),2],["resolve","done",b.Callbacks("once memory"),b.Callbacks("once memory"),0,"resolved"],["reject","fail",b.Callbacks("once memory"),b.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return b.Deferred(function(t){b.each(n,function(n,r){var i=h(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&h(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,h(l)?i?l.call(e,a(o,n,P,i),a(o,n,R,i)):(o++,l.call(e,a(o,n,P,i),a(o,n,R,i),a(o,n,P,n.notifyWith))):(r!==P&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){b.Deferred.exceptionHook&&b.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==R&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(b.Deferred.getStackHook&&(c.stackTrace=b.Deferred.getStackHook()),e.setTimeout(c))}}return b.Deferred(function(e){n[0][3].add(a(0,e,h(i)?i:P,e.notifyWith)),n[1][3].add(a(0,e,h(t)?t:P)),n[2][3].add(a(0,e,h(r)?r:R))}).promise()},promise:function(e){return null!=e?b.extend(e,i):i}},o={};return b.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),o=i.call(arguments),a=b.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?i.call(arguments):n,--t||a.resolveWith(r,o)}};if(t<=1&&(M(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||h(o[n]&&o[n].then)))return a.then();for(;n--;)M(o[n],s(n),a.reject);return a.promise()}});var I=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;b.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&I.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},b.readyException=function(t){e.setTimeout(function(){throw t})};var W=b.Deferred();function F(){v.removeEventListener("DOMContentLoaded",F),e.removeEventListener("load",F),b.ready()}b.fn.ready=function(e){return W.then(e).catch(function(e){b.readyException(e)}),this},b.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--b.readyWait:b.isReady)||(b.isReady=!0,!0!==e&&--b.readyWait>0||W.resolveWith(v,[b]))}}),b.ready.then=W.then,"complete"===v.readyState||"loading"!==v.readyState&&!v.documentElement.doScroll?e.setTimeout(b.ready):(v.addEventListener("DOMContentLoaded",F),e.addEventListener("load",F));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,h(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(b(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},$=/^-ms-/,_=/-([a-z])/g;function z(e,t){return t.toUpperCase()}function U(e){return e.replace($,"ms-").replace(_,z)}var X=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function V(){this.expando=b.expando+V.uid++}V.uid=1,V.prototype={cache:function(e){var t=e[this.expando];return t||(t={},X(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[U(t)]=n;else for(r in t)i[U(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][U(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(U):(t=U(t))in r?[t]:t.match(O)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||b.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!b.isEmptyObject(t)}};var G=new V,Y=new V,Q=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,J=/[A-Z]/g;function K(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(J,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Q.test(e)?JSON.parse(e):e)}(n)}catch(e){}Y.set(e,t,n)}else n=void 0;return n}b.extend({hasData:function(e){return Y.hasData(e)||G.hasData(e)},data:function(e,t,n){return Y.access(e,t,n)},removeData:function(e,t){Y.remove(e,t)},_data:function(e,t,n){return G.access(e,t,n)},_removeData:function(e,t){G.remove(e,t)}}),b.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=Y.get(o),1===o.nodeType&&!G.get(o,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=U(r.slice(5)),K(o,r,i[r]));G.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){Y.set(this,e)}):B(this,function(t){var n;if(o&&void 0===t)return void 0!==(n=Y.get(o,e))?n:void 0!==(n=K(o,e))?n:void 0;this.each(function(){Y.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Y.remove(this,e)})}}),b.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=G.get(e,t),n&&(!r||Array.isArray(n)?r=G.access(e,t,b.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){b.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return G.get(e,n)||G.access(e,n,{empty:b.Callbacks("once memory").add(function(){G.remove(e,[t+"queue",n])})})}}),b.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?b.queue(this[0],e):void 0===t?this:this.each(function(){var n=b.queue(this,e,t);b._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=b.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=G.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var Z=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ee=new RegExp("^(?:([+-])=|)("+Z+")([a-z%]*)$","i"),te=["Top","Right","Bottom","Left"],ne=v.documentElement,re=function(e){return b.contains(e.ownerDocument,e)},ie={composed:!0};ne.getRootNode&&(re=function(e){return b.contains(e.ownerDocument,e)||e.getRootNode(ie)===e.ownerDocument});var oe=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&re(e)&&"none"===b.css(e,"display")};function ae(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return b.css(e,t,"")},u=s(),l=n&&n[3]||(b.cssNumber[t]?"":"px"),c=e.nodeType&&(b.cssNumber[t]||"px"!==l&&+u)&&ee.exec(b.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)b.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,b.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var se={};function ue(e){var t,n=e.ownerDocument,r=e.nodeName,i=se[r];return i||(t=n.body.appendChild(n.createElement(r)),i=b.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),se[r]=i,i)}function le(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=G.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&oe(r)&&(i[o]=ue(r))):"none"!==n&&(i[o]="none",G.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}b.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){oe(this)?b(this).show():b(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=v.createDocumentFragment().appendChild(v.createElement("div")),(fe=v.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),d.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",d.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",d.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&k(e,t)?b.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)G.set(e[n],"globalEval",!t||G.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,d.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))b.merge(p,o.nodeType?[o]:o);else if(me.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+b.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;b.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&b.inArray(o,r)>-1)i&&i.push(o);else if(l=re(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return b().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=b.guid++)),e.each(function(){b.event.add(this,t,i,r,n)})}function Se(e,t,n){n?(G.set(e,t,!1),b.event.add(e,t,{namespace:!1,handler:function(e){var r,o,a=G.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(b.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=i.call(arguments),G.set(this,t,a),r=n(this,t),this[t](),a!==(o=G.get(this,t))||r?G.set(this,t,!1):o={},a!==o)return e.stopImmediatePropagation(),e.preventDefault(),o&&o.value}else a.length&&(G.set(this,t,{value:b.event.trigger(b.extend(a[0],b.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===G.get(e,t)&&b.event.add(e,t,we)}b.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.get(e);if(X(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&b.find.matchesSelector(ne,i),n.guid||(n.guid=b.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==b&&b.event.triggered!==t.type?b.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(O)||[""]).length;l--;)d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=b.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=b.event.special[d]||{},c=b.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&b.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),b.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.hasData(e)&&G.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(O)||[""]).length;l--;)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=b.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||b.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(u)&&G.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=b.event.fix(e),l=(G.get(this,"events")||Object.create(null))[u.type]||[],c=b.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){for(a=b.event.handlers.call(this,u,l),t=0;(i=a[t++])&&!u.isPropagationStopped();)for(u.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!u.isImmediatePropagationStopped();)u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((b.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?b(i,this).index(l)>-1:b.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(b.Event.prototype,e,{enumerable:!0,configurable:!0,get:h(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[b.expando]?e:new b.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&k(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&k(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&k(t,"input")&&G.get(t,"click")||k(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},b.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},b.Event=function(e,t){if(!(this instanceof b.Event))return new b.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&b.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[b.expando]=!0},b.Event.prototype={constructor:b.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},b.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},b.event.addProp),b.each({focus:"focusin",blur:"focusout"},function(e,t){b.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),b.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=e.relatedTarget,i=e.handleObj;return r&&(r===this||b.contains(this,r))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),b.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,b(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){b.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return k(e,"table")&&k(11!==t.nodeType?t:t.firstChild,"tr")&&b(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(G.hasData(e)&&(s=G.get(e).events))for(i in G.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)b.event.add(t,i,s[i][n]);Y.hasData(e)&&(o=Y.access(e),a=b.extend({},o),Y.set(t,a))}}function He(e,t,n,r){t=o(t);var i,a,s,u,l,c,f=0,p=e.length,g=p-1,v=t[0],y=h(v);if(y||p>1&&"string"==typeof v&&!d.checkClone&&Ae.test(v))return e.each(function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),He(o,t,n,r)});if(p&&(a=(i=xe(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(u=(s=b.map(ve(i,"script"),De)).length;f<p;f++)l=i,f!==g&&(l=b.clone(l,!0,!0),u&&b.merge(s,ve(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,b.map(s,qe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!G.access(l,"globalEval")&&b.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?b._evalUrl&&!l.noModule&&b._evalUrl(l.src,{nonce:l.nonce||l.getAttribute("nonce")},c):m(l.textContent.replace(Ne,""),l,c))}return e}function Oe(e,t,n){for(var r,i=t?b.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||b.cleanData(ve(r)),r.parentNode&&(n&&re(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}b.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=re(e);if(!(d.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],l=void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return(a=ve(c,"script")).length>0&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=b.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)i[r]?b.event.remove(n,r):b.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[Y.expando]&&(n[Y.expando]=void 0)}}}),b.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return B(this,function(e){return void 0===e?b.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(b.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=b.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(b.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return He(this,arguments,function(t){var n=this.parentNode;b.inArray(this,e)<0&&(b.cleanData(ve(this)),n&&n.replaceChild(t,this))},e)}}),b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){for(var n,r=[],i=b(e),o=i.length-1,s=0;s<=o;s++)n=s===o?this:this.clone(!0),b(i[s])[t](n),a.apply(r,n.get());return this.pushStack(r)}});var Pe=new RegExp("^("+Z+")(?!px)[a-z%]+$","i"),Re=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(te.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||re(e)||(a=b.style(e,t)),!d.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ne.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);r="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",a=36===n(t.right),i=36===n(t.width),c.style.position="absolute",o=12===n(c.offsetWidth/3),ne.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var r,i,o,a,s,u,l=v.createElement("div"),c=v.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",d.clearCloneStyle="content-box"===c.style.backgroundClip,b.extend(d,{boxSizingReliable:function(){return t(),i},pixelBoxStyles:function(){return t(),a},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),o},reliableTrDimensions:function(){var t,n,r,i;return null==s&&(t=v.createElement("table"),n=v.createElement("tr"),r=v.createElement("div"),t.style.cssText="position:absolute;left:-11111px;border-collapse:separate",n.style.cssText="border:1px solid",n.style.height="1px",r.style.height="9px",r.style.display="block",ne.appendChild(t).appendChild(n).appendChild(r),i=e.getComputedStyle(n),s=parseInt(i.height,10)+parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10)===n.offsetHeight,ne.removeChild(t)),s}}))}();var Be=["Webkit","Moz","ms"],$e=v.createElement("div").style,_e={};function ze(e){var t=b.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Be.length;n--;)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=ee.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=b.css(e,n+te[a],!0,i)),r?("content"===n&&(u-=b.css(e,"padding"+te[a],!0,i)),"margin"!==n&&(u-=b.css(e,"border"+te[a]+"Width",!0,i))):(u+=b.css(e,"padding"+te[a],!0,i),"padding"!==n?u+=b.css(e,"border"+te[a]+"Width",!0,i):s+=b.css(e,"border"+te[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!d.boxSizingReliable()||n)&&"border-box"===b.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!d.boxSizingReliable()&&i||!d.reliableTrDimensions()&&k(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===b.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===b.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=U(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=b.cssHooks[t]||b.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ee.exec(n))&&i[1]&&(n=ae(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(b.cssNumber[s]?"":"px")),d.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=U(t);return Xe.test(t)||(t=ze(s)),(a=b.cssHooks[t]||b.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),b.each(["height","width"],function(e,t){b.cssHooks[t]={get:function(e,n,r){if(n)return!Ue.test(b.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,t,r):Me(e,Ve,function(){return Je(e,t,r)})},set:function(e,n,r){var i,o=Re(e),a=!d.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===b.css(e,"boxSizing",!1,o),u=r?Qe(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Qe(e,t,"border",!1,o)-.5)),u&&(i=ee.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=b.css(e,t)),Ye(0,n,u)}}}),b.cssHooks.marginLeft=Fe(d.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+te[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(b.cssHooks[e+t].set=Ye)}),b.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=b.css(e,t[a],!1,r);return o}return void 0!==n?b.style(e,t,n):b.css(e,t)},e,t,arguments.length>1)}}),b.Tween=Ke,Ke.prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||b.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}},Ke.prototype.init.prototype=Ke.prototype,Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=b.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):1!==e.elem.nodeType||!b.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:b.style(e.elem,e.prop,e.now+e.unit)}}},Ke.propHooks.scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},b.fx=Ke.prototype.init,b.fx.step={};var Ze,et,tt=/^(?:toggle|show|hide)$/,nt=/queueHooks$/;function rt(){et&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(rt):e.setTimeout(rt,b.fx.interval),b.fx.tick())}function it(){return e.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function ot(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=te[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function at(e,t,n){for(var r,i=(st.tweeners[t]||[]).concat(st.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function st(e,t,n){var r,i,o=0,a=st.prefilters.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Ze||it(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{},easing:b.easing._default},n),originalProperties:t,originalOptions:n,startTime:Ze||it(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=U(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=b.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);o<a;o++)if(r=st.prefilters[o].call(l,e,c,l.opts))return h(r.stop)&&(b._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return b.map(c,at,l),h(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}b.Animation=b.extend(st,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ae(n.elem,e,ee.exec(t),n),n}]},tweener:function(e,t){h(e)?(t=e,e=["*"]):e=e.match(O);for(var n,r=0,i=e.length;r<i;r++)n=e[r],st.tweeners[n]=st.tweeners[n]||[],st.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&oe(e),v=G.get(e,"fxshow");for(r in n.queue||(null==(a=b._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,b.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],tt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||b.style(e,r)}if((u=!b.isEmptyObject(t))||!b.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=G.get(e,"display")),"none"===(c=b.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=b.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===b.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=G.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),G.remove(e,"fxshow"),d)b.style(e,r,d[r])})),u=at(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?st.prefilters.unshift(e):st.prefilters.push(e)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||h(e)&&e,duration:e,easing:n&&t||t&&!h(t)&&t};return b.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in b.fx.speeds?r.duration=b.fx.speeds[r.duration]:r.duration=b.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){h(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(oe).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=st(this,b.extend({},e),o);(i||G.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=b.timers,a=G.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&nt.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||b.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=G.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ot(t,!0),e,r,i)}}),b.each({slideDown:ot("show"),slideUp:ot("hide"),slideToggle:ot("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.timers=[],b.fx.tick=function(){var e,t=0,n=b.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||b.fx.stop(),Ze=void 0},b.fx.timer=function(e){b.timers.push(e),b.fx.start()},b.fx.interval=13,b.fx.start=function(){et||(et=!0,rt())},b.fx.stop=function(){et=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fn.delay=function(t,n){return t=b.fx&&b.fx.speeds[t]||t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=v.createElement("input"),t=v.createElement("select").appendChild(v.createElement("option"));e.type="checkbox",d.checkOn=""!==e.value,d.optSelected=t.selected,(e=v.createElement("input")).value="t",e.type="radio",d.radioValue="t"===e.value}();var ut,lt=b.expr.attrHandle;b.fn.extend({attr:function(e,t){return B(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})}}),b.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?b.prop(e,t,n):(1===o&&b.isXMLDoc(e)||(i=b.attrHooks[t.toLowerCase()]||(b.expr.match.bool.test(t)?ut:void 0)),void 0!==n?null===n?void b.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=b.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!d.radioValue&&"radio"===t&&k(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(O);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ut={set:function(e,t,n){return!1===t?b.removeAttr(e,n):e.setAttribute(n,n),n}},b.each(b.expr.match.bool.source.match(/\w+/g),function(e,t){var n=lt[t]||b.find.attr;lt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=lt[a],lt[a]=i,i=null!=n(e,t,r)?a:null,lt[a]=o),i}});var ct=/^(?:input|select|textarea|button)$/i,ft=/^(?:a|area)$/i;function pt(e){return(e.match(O)||[]).join(" ")}function dt(e){return e.getAttribute&&e.getAttribute("class")||""}function ht(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(O)||[]}b.fn.extend({prop:function(e,t){return B(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[b.propFix[e]||e]})}}),b.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&b.isXMLDoc(e)||(t=b.propFix[t]||t,i=b.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=b.find.attr(e,"tabindex");return t?parseInt(t,10):ct.test(e.nodeName)||ft.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),d.optSelected||(b.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),b.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){b.propFix[this.toLowerCase()]=this}),b.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each(function(t){b(this).addClass(e.call(this,t,dt(this)))});if((t=ht(e)).length)for(;n=this[u++];)if(i=dt(n),r=1===n.nodeType&&" "+pt(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=pt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each(function(t){b(this).removeClass(e.call(this,t,dt(this)))});if(!arguments.length)return this.attr("class","");if((t=ht(e)).length)for(;n=this[u++];)if(i=dt(n),r=1===n.nodeType&&" "+pt(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=pt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):h(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,dt(this),t),t)}):this.each(function(){var t,i,o,a;if(r)for(i=0,o=b(this),a=ht(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=dt(this))&&G.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":G.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+pt(dt(n))+" ").indexOf(t)>-1)return!0;return!1}});var gt=/\r/g;b.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=h(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,b(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=b.map(i,function(e){return null==e?"":e+""})),(t=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=b.valHooks[i.type]||b.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(gt,""):null==n?"":n:void 0}}),b.extend({valHooks:{option:{get:function(e){var t=b.find.attr(e,"value");return null!=t?t:pt(b.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!k(n.parentNode,"optgroup"))){if(t=b(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=b.makeArray(t),a=i.length;a--;)((r=i[a]).selected=b.inArray(b.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=b.inArray(b(e).val(),t)>-1}},d.checkOn||(b.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),d.focusin="onfocusin"in e;var vt=/^(?:focusinfocus|focusoutblur)$/,yt=function(e){e.stopPropagation()};b.extend(b.event,{trigger:function(t,n,r,i){var o,a,s,u,l,f,p,d,y=[r||v],m=c.call(t,"type")?t.type:t,x=c.call(t,"namespace")?t.namespace.split("."):[];if(a=d=s=r=r||v,3!==r.nodeType&&8!==r.nodeType&&!vt.test(m+b.event.triggered)&&(m.indexOf(".")>-1&&(x=m.split("."),m=x.shift(),x.sort()),l=m.indexOf(":")<0&&"on"+m,(t=t[b.expando]?t:new b.Event(m,"object"==typeof t&&t)).isTrigger=i?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:b.makeArray(n,[t]),p=b.event.special[m]||{},i||!p.trigger||!1!==p.trigger.apply(r,n))){if(!i&&!p.noBubble&&!g(r)){for(u=p.delegateType||m,vt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)y.push(a),s=a;s===(r.ownerDocument||v)&&y.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=y[o++])&&!t.isPropagationStopped();)d=a,t.type=o>1?u:p.bindType||m,(f=(G.get(a,"events")||Object.create(null))[t.type]&&G.get(a,"handle"))&&f.apply(a,n),(f=l&&a[l])&&f.apply&&X(a)&&(t.result=f.apply(a,n),!1===t.result&&t.preventDefault());return t.type=m,i||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!X(r)||l&&h(r[m])&&!g(r)&&((s=r[l])&&(r[l]=null),b.event.triggered=m,t.isPropagationStopped()&&d.addEventListener(m,yt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,yt),b.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=b.extend(new b.Event,n,{type:e,isSimulated:!0});b.event.trigger(r,null,t)}}),b.fn.extend({trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return b.event.trigger(e,t,n,!0)}}),d.focusin||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){b.event.simulate(t,e.target,b.event.fix(e))};b.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t);i||r.addEventListener(e,n,!0),G.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t)-1;i?G.access(r,t,i):(r.removeEventListener(e,n,!0),G.remove(r,t))}}});var mt=e.location,xt={guid:Date.now()},bt=/\?/;b.parseXML=function(t){var n,r;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){}return r=n&&n.getElementsByTagName("parsererror")[0],n&&!r||b.error("Invalid XML: "+(r?b.map(r.childNodes,function(e){return e.textContent}).join("\n"):t)),n};var wt=/\[\]$/,Tt=/\r?\n/g,Ct=/^(?:submit|button|image|reset|file)$/i,Et=/^(?:input|select|textarea|keygen)/i;function St(e,t,n,r){var i;if(Array.isArray(t))b.each(t,function(t,i){n||wt.test(e)?r(e,i):St(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)St(e+"["+i+"]",t[i],n,r)}b.param=function(e,t){var n,r=[],i=function(e,t){var n=h(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){i(this.name,this.value)});else for(n in e)St(n,e[n],t,i);return r.join("&")},b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&Et.test(this.nodeName)&&!Ct.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:Array.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(Tt,"\r\n")}}):{name:t.name,value:n.replace(Tt,"\r\n")}}).get()}});var kt=/%20/g,At=/#.*$/,Nt=/([?&])_=[^&]*/,jt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Dt=/^(?:GET|HEAD)$/,qt=/^\/\//,Lt={},Ht={},Ot="*/".concat("*"),Pt=v.createElement("a");function Rt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(O)||[];if(h(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Mt(e,t,n,r){var i={},o=e===Ht;function a(s){var u;return i[s]=!0,b.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function It(e,t){var n,r,i=b.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&b.extend(!0,e,r),e}Pt.href=mt.href,b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:mt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(mt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ot,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?It(It(e,b.ajaxSettings),t):It(b.ajaxSettings,e)},ajaxPrefilter:Rt(Lt),ajaxTransport:Rt(Ht),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,o,a,s,u,l,c,f,p,d=b.ajaxSetup({},n),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?b(h):b.event,y=b.Deferred(),m=b.Callbacks("once memory"),x=d.statusCode||{},w={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=jt.exec(o);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(E),d.url=((t||d.url||mt.href)+"").replace(qt,mt.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(O)||[""],null==d.crossDomain){u=v.createElement("a");try{u.href=d.url,u.href=u.href,d.crossDomain=Pt.protocol+"//"+Pt.host!=u.protocol+"//"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=b.param(d.data,d.traditional)),Mt(Lt,d,n,E),l)return E;for(f in(c=b.event&&d.global)&&0==b.active++&&b.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Dt.test(d.type),i=d.url.replace(At,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(kt,"+")):(p=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(bt.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Nt,"$1"),p=(bt.test(i)?"&":"?")+"_="+xt.guid+++p),d.url=i+p),d.ifModified&&(b.lastModified[i]&&E.setRequestHeader("If-Modified-Since",b.lastModified[i]),b.etag[i]&&E.setRequestHeader("If-None-Match",b.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&E.setRequestHeader("Content-Type",d.contentType),E.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Ot+"; q=0.01":""):d.accepts["*"]),d.headers)E.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,E,d)||l))return E.abort();if(C="abort",m.add(d.complete),E.done(d.success),E.fail(d.error),r=Mt(Ht,d,n,E)){if(E.readyState=1,c&&g.trigger("ajaxSend",[E,d]),l)return E;d.async&&d.timeout>0&&(s=e.setTimeout(function(){E.abort("timeout")},d.timeout));try{l=!1,r.send(w,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,"No Transport");function S(t,n,a,u){var f,p,v,w,T,C=n;l||(l=!0,s&&e.clearTimeout(s),r=void 0,o=u||"",E.readyState=t>0?4:0,f=t>=200&&t<300||304===t,a&&(w=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,E,a)),!f&&b.inArray("script",d.dataTypes)>-1&&b.inArray("json",d.dataTypes)<0&&(d.converters["text script"]=function(){}),w=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(d,w,E,f),f?(d.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(b.lastModified[i]=T),(T=E.getResponseHeader("etag"))&&(b.etag[i]=T)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=w.state,p=w.data,f=!(v=w.error))):(v=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",f?y.resolveWith(h,[p,C,E]):y.rejectWith(h,[E,C,v]),E.statusCode(x),x=void 0,c&&g.trigger(f?"ajaxSuccess":"ajaxError",[E,d,f?p:v]),m.fireWith(h,[E,C]),c&&(g.trigger("ajaxComplete",[E,d]),--b.active||b.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return b.get(e,t,n,"json")},getScript:function(e,t){return b.get(e,void 0,t,"script")}}),b.each(["get","post"],function(e,t){b[t]=function(e,n,r,i){return h(n)&&(i=i||r,r=n,n=void 0),b.ajax(b.extend({url:e,type:t,dataType:i,data:n,success:r},b.isPlainObject(e)&&e))}}),b.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),b._evalUrl=function(e,t,n){return b.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){b.globalEval(e,t,n)}})},b.fn.extend({wrapAll:function(e){var t;return this[0]&&(h(e)&&(e=e.call(this[0])),t=b(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return h(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=h(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){b(this).replaceWith(this.childNodes)}),this}}),b.expr.pseudos.hidden=function(e){return!b.expr.pseudos.visible(e)},b.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},b.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Ft=b.ajaxSettings.xhr();d.cors=!!Ft&&"withCredentials"in Ft,d.ajax=Ft=!!Ft,b.ajaxTransport(function(t){var n,r;if(d.cors||Ft&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];for(a in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Wt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),b.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),b.ajaxTransport("script",function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=b("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),v.head.appendChild(t[0])},abort:function(){n&&n()}}});var Bt,$t=[],_t=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=$t.pop()||b.expando+"_"+xt.guid++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(_t.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&_t.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=h(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(_t,"$1"+i):!1!==t.jsonp&&(t.url+=(bt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||b.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?b(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,$t.push(i)),a&&h(o)&&o(a[0]),a=o=void 0}),"script"}),d.createHTMLDocument=((Bt=v.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Bt.childNodes.length),b.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(d.createHTMLDocument?((r=(t=v.implementation.createHTMLDocument("")).createElement("base")).href=v.location.href,t.head.appendChild(r)):t=v),o=!n&&[],(i=A.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&b(o).remove(),b.merge([],i.childNodes)));var r,i,o},b.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=pt(e.slice(s)),e=e.slice(0,s)),h(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&b.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?b("<div>").append(b.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},b.expr.pseudos.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length},b.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=b.css(e,"position"),c=b(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=b.css(e,"top"),u=b.css(e,"left"),("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),h(t)&&(t=t.call(e,n,b.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},b.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){b.offset.setOffset(this,e,t)});var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===b.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===b.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=b(e).offset()).top+=b.css(e,"borderTopWidth",!0),i.left+=b.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-b.css(r,"marginTop",!0),left:t.left-i.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===b.css(e,"position");)e=e.offsetParent;return e||ne})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;b.fn[e]=function(r){return B(this,function(e,r,i){var o;if(g(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),b.each(["top","left"],function(e,t){b.cssHooks[t]=Fe(d.pixelPosition,function(e,n){if(n)return n=We(e,t),Pe.test(n)?b(e).position()[t]+"px":n})}),b.each({Height:"height",Width:"width"},function(e,t){b.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){b.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return B(this,function(t,n,i){var o;return g(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?b.css(t,n,s):b.style(t,n,i,s)},t,a?i:void 0,a)}})}),b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),b.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}});var zt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;b.proxy=function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),h(e))return r=i.call(arguments,2),(o=function(){return e.apply(t||this,r.concat(i.call(arguments)))}).guid=e.guid=e.guid||b.guid++,o},b.holdReady=function(e){e?b.readyWait++:b.ready(!0)},b.isArray=Array.isArray,b.parseJSON=JSON.parse,b.nodeName=k,b.isFunction=h,b.isWindow=g,b.camelCase=U,b.type=x,b.now=Date.now,b.isNumeric=function(e){var t=b.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},b.trim=function(e){return null==e?"":(e+"").replace(zt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return b});var Ut=e.jQuery,Xt=e.$;return b.noConflict=function(t){return e.$===b&&(e.$=Xt),t&&e.jQuery===b&&(e.jQuery=Ut),b},void 0===t&&(e.jQuery=e.$=b),b});
|
||
|
||
},{}],32:[function(require,module,exports){
|
||
(function (Buffer){(function (){
|
||
!function(t){t.parser=function(t,e){return new s(t,e)},t.SAXParser=s,t.SAXStream=n,t.createStream=function(t,e){return new n(t,e)},t.MAX_BUFFER_LENGTH=65536;var e,i=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function s(e,a){if(!(this instanceof s))return new s(e,a);!function(t){for(var e=0,s=i.length;e<s;e++)t[i[e]]=""}(this),this.q=this.c="",this.bufferCheckPosition=t.MAX_BUFFER_LENGTH,this.opt=a||{},this.opt.lowercase=this.opt.lowercase||this.opt.lowercasetags,this.looseCase=this.opt.lowercase?"toLowerCase":"toUpperCase",this.tags=[],this.closed=this.closedRoot=this.sawRoot=!1,this.tag=this.error=null,this.strict=!!e,this.noscript=!(!e&&!this.opt.noscript),this.state=D.BEGIN,this.strictEntities=this.opt.strictEntities,this.ENTITIES=this.strictEntities?Object.create(t.XML_ENTITIES):Object.create(t.ENTITIES),this.attribList=[],this.opt.xmlns&&(this.ns=Object.create(h)),this.trackPosition=!1!==this.opt.position,this.trackPosition&&(this.position=this.line=this.column=0),C(this,"onready")}t.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.create=function(t){function e(){}return e.prototype=t,new e}),Object.keys||(Object.keys=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(i);return e}),s.prototype={end:function(){v(this)},write:function(e){if(this.error)throw this.error;if(this.closed)return R(this,"Cannot write after close. Assign an onready handler.");if(null===e)return v(this);"object"==typeof e&&(e=e.toString());var s=0,a="";for(;a=M(e,s++),this.c=a,a;)switch(this.trackPosition&&(this.position++,"\n"===a?(this.line++,this.column=0):this.column++),this.state){case D.BEGIN:if(this.state=D.BEGIN_WHITESPACE,"\ufeff"===a)continue;G(this,a);continue;case D.BEGIN_WHITESPACE:G(this,a);continue;case D.TEXT:if(this.sawRoot&&!this.closedRoot){for(var n=s-1;a&&"<"!==a&&"&"!==a;)(a=M(e,s++))&&this.trackPosition&&(this.position++,"\n"===a?(this.line++,this.column=0):this.column++);this.textNode+=e.substring(n,s-1)}"<"!==a||this.sawRoot&&this.closedRoot&&!this.strict?(m(a)||this.sawRoot&&!this.closedRoot||P(this,"Text data outside of root node."),"&"===a?this.state=D.TEXT_ENTITY:this.textNode+=a):(this.state=D.OPEN_WAKA,this.startTagPosition=this.position);continue;case D.SCRIPT:"<"===a?this.state=D.SCRIPT_ENDING:this.script+=a;continue;case D.SCRIPT_ENDING:"/"===a?this.state=D.CLOSE_TAG:(this.script+="<"+a,this.state=D.SCRIPT);continue;case D.OPEN_WAKA:if("!"===a)this.state=D.SGML_DECL,this.sgmlDecl="";else if(m(a));else if(_(l,a))this.state=D.OPEN_TAG,this.tagName=a;else if("/"===a)this.state=D.CLOSE_TAG,this.tagName="";else if("?"===a)this.state=D.PROC_INST,this.procInstName=this.procInstBody="";else{if(P(this,"Unencoded <"),this.startTagPosition+1<this.position){var c=this.position-this.startTagPosition;a=new Array(c).join(" ")+a}this.textNode+="<"+a,this.state=D.TEXT}continue;case D.SGML_DECL:(this.sgmlDecl+a).toUpperCase()===r?(O(this,"onopencdata"),this.state=D.CDATA,this.sgmlDecl="",this.cdata=""):this.sgmlDecl+a==="--"?(this.state=D.COMMENT,this.comment="",this.sgmlDecl=""):(this.sgmlDecl+a).toUpperCase()===o?(this.state=D.DOCTYPE,(this.doctype||this.sawRoot)&&P(this,"Inappropriately located doctype declaration"),this.doctype="",this.sgmlDecl=""):">"===a?(O(this,"onsgmldeclaration",this.sgmlDecl),this.sgmlDecl="",this.state=D.TEXT):N(a)?(this.state=D.SGML_DECL_QUOTED,this.sgmlDecl+=a):this.sgmlDecl+=a;continue;case D.SGML_DECL_QUOTED:a===this.q&&(this.state=D.SGML_DECL,this.q=""),this.sgmlDecl+=a;continue;case D.DOCTYPE:">"===a?(this.state=D.TEXT,O(this,"ondoctype",this.doctype),this.doctype=!0):(this.doctype+=a,"["===a?this.state=D.DOCTYPE_DTD:N(a)&&(this.state=D.DOCTYPE_QUOTED,this.q=a));continue;case D.DOCTYPE_QUOTED:this.doctype+=a,a===this.q&&(this.q="",this.state=D.DOCTYPE);continue;case D.DOCTYPE_DTD:this.doctype+=a,"]"===a?this.state=D.DOCTYPE:N(a)&&(this.state=D.DOCTYPE_DTD_QUOTED,this.q=a);continue;case D.DOCTYPE_DTD_QUOTED:this.doctype+=a,a===this.q&&(this.state=D.DOCTYPE_DTD,this.q="");continue;case D.COMMENT:"-"===a?this.state=D.COMMENT_ENDING:this.comment+=a;continue;case D.COMMENT_ENDING:"-"===a?(this.state=D.COMMENT_ENDED,this.comment=S(this.opt,this.comment),this.comment&&O(this,"oncomment",this.comment),this.comment=""):(this.comment+="-"+a,this.state=D.COMMENT);continue;case D.COMMENT_ENDED:">"!==a?(P(this,"Malformed comment"),this.comment+="--"+a,this.state=D.COMMENT):this.state=D.TEXT;continue;case D.CDATA:"]"===a?this.state=D.CDATA_ENDING:this.cdata+=a;continue;case D.CDATA_ENDING:"]"===a?this.state=D.CDATA_ENDING_2:(this.cdata+="]"+a,this.state=D.CDATA);continue;case D.CDATA_ENDING_2:">"===a?(this.cdata&&O(this,"oncdata",this.cdata),O(this,"onclosecdata"),this.cdata="",this.state=D.TEXT):"]"===a?this.cdata+="]":(this.cdata+="]]"+a,this.state=D.CDATA);continue;case D.PROC_INST:"?"===a?this.state=D.PROC_INST_ENDING:m(a)?this.state=D.PROC_INST_BODY:this.procInstName+=a;continue;case D.PROC_INST_BODY:if(!this.procInstBody&&m(a))continue;"?"===a?this.state=D.PROC_INST_ENDING:this.procInstBody+=a;continue;case D.PROC_INST_ENDING:">"===a?(O(this,"onprocessinginstruction",{name:this.procInstName,body:this.procInstBody}),this.procInstName=this.procInstBody="",this.state=D.TEXT):(this.procInstBody+="?"+a,this.state=D.PROC_INST_BODY);continue;case D.OPEN_TAG:_(T,a)?this.tagName+=a:(y(this),">"===a?U(this):"/"===a?this.state=D.OPEN_TAG_SLASH:(m(a)||P(this,"Invalid character in tag name"),this.state=D.ATTRIB));continue;case D.OPEN_TAG_SLASH:">"===a?(U(this,!0),x(this)):(P(this,"Forward-slash in opening tag not followed by >"),this.state=D.ATTRIB);continue;case D.ATTRIB:if(m(a))continue;">"===a?U(this):"/"===a?this.state=D.OPEN_TAG_SLASH:_(l,a)?(this.attribName=a,this.attribValue="",this.state=D.ATTRIB_NAME):P(this,"Invalid attribute name");continue;case D.ATTRIB_NAME:"="===a?this.state=D.ATTRIB_VALUE:">"===a?(P(this,"Attribute without value"),this.attribValue=this.attribName,B(this),U(this)):m(a)?this.state=D.ATTRIB_NAME_SAW_WHITE:_(T,a)?this.attribName+=a:P(this,"Invalid attribute name");continue;case D.ATTRIB_NAME_SAW_WHITE:if("="===a)this.state=D.ATTRIB_VALUE;else{if(m(a))continue;P(this,"Attribute without value"),this.tag.attributes[this.attribName]="",this.attribValue="",O(this,"onattribute",{name:this.attribName,value:""}),this.attribName="",">"===a?U(this):_(l,a)?(this.attribName=a,this.state=D.ATTRIB_NAME):(P(this,"Invalid attribute name"),this.state=D.ATTRIB)}continue;case D.ATTRIB_VALUE:if(m(a))continue;N(a)?(this.q=a,this.state=D.ATTRIB_VALUE_QUOTED):(P(this,"Unquoted attribute value"),this.state=D.ATTRIB_VALUE_UNQUOTED,this.attribValue=a);continue;case D.ATTRIB_VALUE_QUOTED:if(a!==this.q){"&"===a?this.state=D.ATTRIB_VALUE_ENTITY_Q:this.attribValue+=a;continue}B(this),this.q="",this.state=D.ATTRIB_VALUE_CLOSED;continue;case D.ATTRIB_VALUE_CLOSED:m(a)?this.state=D.ATTRIB:">"===a?U(this):"/"===a?this.state=D.OPEN_TAG_SLASH:_(l,a)?(P(this,"No whitespace between attributes"),this.attribName=a,this.attribValue="",this.state=D.ATTRIB_NAME):P(this,"Invalid attribute name");continue;case D.ATTRIB_VALUE_UNQUOTED:if(!f(a)){"&"===a?this.state=D.ATTRIB_VALUE_ENTITY_U:this.attribValue+=a;continue}B(this),">"===a?U(this):this.state=D.ATTRIB;continue;case D.CLOSE_TAG:if(this.tagName)">"===a?x(this):_(T,a)?this.tagName+=a:this.script?(this.script+="</"+this.tagName,this.tagName="",this.state=D.SCRIPT):(m(a)||P(this,"Invalid tagname in closing tag"),this.state=D.CLOSE_TAG_SAW_WHITE);else{if(m(a))continue;d(l,a)?this.script?(this.script+="</"+a,this.state=D.SCRIPT):P(this,"Invalid tagname in closing tag."):this.tagName=a}continue;case D.CLOSE_TAG_SAW_WHITE:if(m(a))continue;">"===a?x(this):P(this,"Invalid characters in closing tag");continue;case D.TEXT_ENTITY:case D.ATTRIB_VALUE_ENTITY_Q:case D.ATTRIB_VALUE_ENTITY_U:var u,h;switch(this.state){case D.TEXT_ENTITY:u=D.TEXT,h="textNode";break;case D.ATTRIB_VALUE_ENTITY_Q:u=D.ATTRIB_VALUE_QUOTED,h="attribValue";break;case D.ATTRIB_VALUE_ENTITY_U:u=D.ATTRIB_VALUE_UNQUOTED,h="attribValue"}";"===a?(this[h]+=w(this),this.entity="",this.state=u):_(this.entity.length?p:E,a)?this.entity+=a:(P(this,"Invalid character in entity name"),this[h]+="&"+this.entity+a,this.entity="",this.state=u);continue;default:throw new Error(this,"Unknown state: "+this.state)}this.position>=this.bufferCheckPosition&&function(e){for(var s=Math.max(t.MAX_BUFFER_LENGTH,10),a=0,n=0,r=i.length;n<r;n++){var o=e[i[n]].length;if(o>s)switch(i[n]){case"textNode":F(e);break;case"cdata":O(e,"oncdata",e.cdata),e.cdata="";break;case"script":O(e,"onscript",e.script),e.script="";break;default:R(e,"Max buffer length exceeded: "+i[n])}a=Math.max(a,o)}var c=t.MAX_BUFFER_LENGTH-a;e.bufferCheckPosition=c+e.position}(this);return this},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var t;F(t=this),""!==t.cdata&&(O(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(O(t,"onscript",t.script),t.script="")}};try{e=require("stream").Stream}catch(t){e=function(){}}var a=t.EVENTS.filter(function(t){return"error"!==t&&"end"!==t});function n(t,i){if(!(this instanceof n))return new n(t,i);e.apply(this),this._parser=new s(t,i),this.writable=!0,this.readable=!0;var r=this;this._parser.onend=function(){r.emit("end")},this._parser.onerror=function(t){r.emit("error",t),r._parser.error=null},this._decoder=null,a.forEach(function(t){Object.defineProperty(r,"on"+t,{get:function(){return r._parser["on"+t]},set:function(e){if(!e)return r.removeAllListeners(t),r._parser["on"+t]=e,e;r.on(t,e)},enumerable:!0,configurable:!1})})}n.prototype=Object.create(e.prototype,{constructor:{value:n}}),n.prototype.write=function(t){if("function"==typeof Buffer&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(t)){if(!this._decoder){var e=require("string_decoder").StringDecoder;this._decoder=new e("utf8")}t=this._decoder.write(t)}return this._parser.write(t.toString()),this.emit("data",t),!0},n.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},n.prototype.on=function(t,i){var s=this;return s._parser["on"+t]||-1===a.indexOf(t)||(s._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),s.emit.apply(s,e)}),e.prototype.on.call(s,t,i)};var r="[CDATA[",o="DOCTYPE",c="http://www.w3.org/XML/1998/namespace",u="http://www.w3.org/2000/xmlns/",h={xml:c,xmlns:u},l=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,T=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,E=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function m(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function N(t){return'"'===t||"'"===t}function f(t){return">"===t||m(t)}function _(t,e){return t.test(e)}function d(t,e){return!_(t,e)}var g,A,I,D=0;for(var b in t.STATE={BEGIN:D++,BEGIN_WHITESPACE:D++,TEXT:D++,TEXT_ENTITY:D++,OPEN_WAKA:D++,SGML_DECL:D++,SGML_DECL_QUOTED:D++,DOCTYPE:D++,DOCTYPE_QUOTED:D++,DOCTYPE_DTD:D++,DOCTYPE_DTD_QUOTED:D++,COMMENT_STARTING:D++,COMMENT:D++,COMMENT_ENDING:D++,COMMENT_ENDED:D++,CDATA:D++,CDATA_ENDING:D++,CDATA_ENDING_2:D++,PROC_INST:D++,PROC_INST_BODY:D++,PROC_INST_ENDING:D++,OPEN_TAG:D++,OPEN_TAG_SLASH:D++,ATTRIB:D++,ATTRIB_NAME:D++,ATTRIB_NAME_SAW_WHITE:D++,ATTRIB_VALUE:D++,ATTRIB_VALUE_QUOTED:D++,ATTRIB_VALUE_CLOSED:D++,ATTRIB_VALUE_UNQUOTED:D++,ATTRIB_VALUE_ENTITY_Q:D++,ATTRIB_VALUE_ENTITY_U:D++,CLOSE_TAG:D++,CLOSE_TAG_SAW_WHITE:D++,SCRIPT:D++,SCRIPT_ENDING:D++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach(function(e){var i=t.ENTITIES[e],s="number"==typeof i?String.fromCharCode(i):i;t.ENTITIES[e]=s}),t.STATE)t.STATE[t.STATE[b]]=b;function C(t,e,i){t[e]&&t[e](i)}function O(t,e,i){t.textNode&&F(t),C(t,e,i)}function F(t){t.textNode=S(t.opt,t.textNode),t.textNode&&C(t,"ontext",t.textNode),t.textNode=""}function S(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function R(t,e){return F(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,C(t,"onerror",e),t}function v(t){return t.sawRoot&&!t.closedRoot&&P(t,"Unclosed root tag"),t.state!==D.BEGIN&&t.state!==D.BEGIN_WHITESPACE&&t.state!==D.TEXT&&R(t,"Unexpected end"),F(t),t.c="",t.closed=!0,C(t,"onend"),s.call(t,t.strict,t.opt),t}function P(t,e){if("object"!=typeof t||!(t instanceof s))throw new Error("bad call to strictFail");t.strict&&R(t,e)}function y(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,i=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(i.ns=e.ns),t.attribList.length=0,O(t,"onopentagstart",i)}function L(t,e){var i=t.indexOf(":")<0?["",t]:t.split(":"),s=i[0],a=i[1];return e&&"xmlns"===t&&(s="xmlns",a=""),{prefix:s,local:a}}function B(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=L(t.attribName,!0),i=e.prefix,s=e.local;if("xmlns"===i)if("xml"===s&&t.attribValue!==c)P(t,"xml: prefix must be bound to "+c+"\nActual: "+t.attribValue);else if("xmlns"===s&&t.attribValue!==u)P(t,"xmlns: prefix must be bound to "+u+"\nActual: "+t.attribValue);else{var a=t.tag,n=t.tags[t.tags.length-1]||t;a.ns===n.ns&&(a.ns=Object.create(n.ns)),a.ns[s]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,O(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function U(t,e){if(t.opt.xmlns){var i=t.tag,s=L(t.tagName);i.prefix=s.prefix,i.local=s.local,i.uri=i.ns[s.prefix]||"",i.prefix&&!i.uri&&(P(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),i.uri=s.prefix);var a=t.tags[t.tags.length-1]||t;i.ns&&a.ns!==i.ns&&Object.keys(i.ns).forEach(function(e){O(t,"onopennamespace",{prefix:e,uri:i.ns[e]})});for(var n=0,r=t.attribList.length;n<r;n++){var o=t.attribList[n],c=o[0],u=o[1],h=L(c,!0),l=h.prefix,T=h.local,E=""===l?"":i.ns[l]||"",p={name:c,value:u,prefix:l,local:T,uri:E};l&&"xmlns"!==l&&!E&&(P(t,"Unbound namespace prefix: "+JSON.stringify(l)),p.uri=l),t.tag.attributes[c]=p,O(t,"onattribute",p)}t.attribList.length=0}t.tag.isSelfClosing=!!e,t.sawRoot=!0,t.tags.push(t.tag),O(t,"onopentag",t.tag),e||(t.noscript||"script"!==t.tagName.toLowerCase()?t.state=D.TEXT:t.state=D.SCRIPT,t.tag=null,t.tagName=""),t.attribName=t.attribValue="",t.attribList.length=0}function x(t){if(!t.tagName)return P(t,"Weird empty close tag."),t.textNode+="</>",void(t.state=D.TEXT);if(t.script){if("script"!==t.tagName)return t.script+="</"+t.tagName+">",t.tagName="",void(t.state=D.SCRIPT);O(t,"onscript",t.script),t.script=""}var e=t.tags.length,i=t.tagName;t.strict||(i=i[t.looseCase]());for(var s=i;e--;){if(t.tags[e].name===s)break;P(t,"Unexpected close tag")}if(e<0)return P(t,"Unmatched closing tag: "+t.tagName),t.textNode+="</"+t.tagName+">",void(t.state=D.TEXT);t.tagName=i;for(var a=t.tags.length;a-- >e;){var n=t.tag=t.tags.pop();t.tagName=t.tag.name,O(t,"onclosetag",t.tagName);var r={};for(var o in n.ns)r[o]=n.ns[o];var c=t.tags[t.tags.length-1]||t;t.opt.xmlns&&n.ns!==c.ns&&Object.keys(n.ns).forEach(function(e){var i=n.ns[e];O(t,"onclosenamespace",{prefix:e,uri:i})})}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=D.TEXT}function w(t){var e,i=t.entity,s=i.toLowerCase(),a="";return t.ENTITIES[i]?t.ENTITIES[i]:t.ENTITIES[s]?t.ENTITIES[s]:("#"===(i=s).charAt(0)&&("x"===i.charAt(1)?(i=i.slice(2),a=(e=parseInt(i,16)).toString(16)):(i=i.slice(1),a=(e=parseInt(i,10)).toString(10))),i=i.replace(/^0+/,""),isNaN(e)||a.toLowerCase()!==i?(P(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function G(t,e){"<"===e?(t.state=D.OPEN_WAKA,t.startTagPosition=t.position):m(e)||(P(t,"Non-whitespace before first tag."),t.textNode=e,t.state=D.TEXT)}function M(t,e){var i="";return e<t.length&&(i=t.charAt(e)),i}D=t.STATE,String.fromCodePoint||(g=String.fromCharCode,A=Math.floor,I=function(){var t,e,i=[],s=-1,a=arguments.length;if(!a)return"";for(var n="";++s<a;){var r=Number(arguments[s]);if(!isFinite(r)||r<0||r>1114111||A(r)!==r)throw RangeError("Invalid code point: "+r);r<=65535?i.push(r):(t=55296+((r-=65536)>>10),e=r%1024+56320,i.push(t,e)),(s+1===a||i.length>16384)&&(n+=g.apply(null,i),i.length=0)}return n},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:I,configurable:!0,writable:!0}):String.fromCodePoint=I)}("undefined"==typeof exports?this.sax={}:exports);
|
||
|
||
}).call(this)}).call(this,require("buffer").Buffer)
|
||
|
||
},{"buffer":92,"stream":98,"string_decoder":113}],33:[function(require,module,exports){
|
||
(function(){"use strict";exports.stripBOM=function(t){return"\ufeff"===t[0]?t.substring(1):t}}).call(this);
|
||
|
||
},{}],34:[function(require,module,exports){
|
||
(function(){"use strict";var t,e,o,i,r,n={}.hasOwnProperty;t=require("xmlbuilder"),e=require("./defaults").defaults,i=function(t){return"string"==typeof t&&(t.indexOf("&")>=0||t.indexOf(">")>=0||t.indexOf("<")>=0)},r=function(t){return"<![CDATA["+o(t)+"]]>"},o=function(t){return t.replace("]]>","]]]]><![CDATA[>")},exports.Builder=function(){function o(t){var o,i,r;for(o in this.options={},i=e[.2])n.call(i,o)&&(r=i[o],this.options[o]=r);for(o in t)n.call(t,o)&&(r=t[o],this.options[o]=r)}return o.prototype.buildObject=function(o){var s,a,l,p,f,u;return s=this.options.attrkey,a=this.options.charkey,1===Object.keys(o).length&&this.options.rootName===e[.2].rootName?o=o[f=Object.keys(o)[0]]:f=this.options.rootName,u=this,l=function(t,e){var o,p,f,c,h,d;if("object"!=typeof e)u.options.cdata&&i(e)?t.raw(r(e)):t.txt(e);else if(Array.isArray(e)){for(c in e)if(n.call(e,c))for(h in p=e[c])f=p[h],t=l(t.ele(h),f).up()}else for(h in e)if(n.call(e,h))if(p=e[h],h===s){if("object"==typeof p)for(o in p)d=p[o],t=t.att(o,d)}else if(h===a)t=u.options.cdata&&i(p)?t.raw(r(p)):t.txt(p);else if(Array.isArray(p))for(c in p)n.call(p,c)&&(t="string"==typeof(f=p[c])?u.options.cdata&&i(f)?t.ele(h).raw(r(f)).up():t.ele(h,f).up():l(t.ele(h),f).up());else"object"==typeof p?t=l(t.ele(h),p).up():"string"==typeof p&&u.options.cdata&&i(p)?t=t.ele(h).raw(r(p)).up():(null==p&&(p=""),t=t.ele(h,p.toString()).up());return t},p=t.create(f,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars}),l(p,o).end(this.options.renderOpts)},o}()}).call(this);
|
||
|
||
},{"./defaults":35,"xmlbuilder":71}],35:[function(require,module,exports){
|
||
(function(){exports.defaults={.1:{explicitCharkey:!1,trim:!0,normalize:!0,normalizeTags:!1,attrkey:"@",charkey:"#",explicitArray:!1,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!1,validator:null,xmlns:!1,explicitChildren:!1,childkey:"@@",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,emptyTag:""},.2:{explicitCharkey:!1,trim:!1,normalize:!1,normalizeTags:!1,attrkey:"$",charkey:"_",explicitArray:!0,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!0,validator:null,xmlns:!1,explicitChildren:!1,preserveChildrenOrder:!1,childkey:"$$",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:!0},doctype:null,renderOpts:{pretty:!0,indent:" ",newline:"\n"},headless:!1,chunkSize:1e4,emptyTag:"",cdata:!1}}}).call(this);
|
||
|
||
},{}],36:[function(require,module,exports){
|
||
(function(){"use strict";var t,r,s,e,i,n,o,a,h=function(t,r){return function(){return t.apply(r,arguments)}},p={}.hasOwnProperty;o=require("sax"),s=require("events"),t=require("./bom"),n=require("./processors"),a=require("timers").setImmediate,r=require("./defaults").defaults,e=function(t){return"object"==typeof t&&null!=t&&0===Object.keys(t).length},i=function(t,r,s){var e,i;for(e=0,i=t.length;e<i;e++)r=(0,t[e])(r,s);return r},exports.Parser=function(c){function u(t){var s,e,i;if(this.parseStringPromise=h(this.parseStringPromise,this),this.parseString=h(this.parseString,this),this.reset=h(this.reset,this),this.assignOrPush=h(this.assignOrPush,this),this.processAsync=h(this.processAsync,this),!(this instanceof exports.Parser))return new exports.Parser(t);for(s in this.options={},e=r[.2])p.call(e,s)&&(i=e[s],this.options[s]=i);for(s in t)p.call(t,s)&&(i=t[s],this.options[s]=i);this.options.xmlns&&(this.options.xmlnskey=this.options.attrkey+"ns"),this.options.normalizeTags&&(this.options.tagNameProcessors||(this.options.tagNameProcessors=[]),this.options.tagNameProcessors.unshift(n.normalize)),this.reset()}return function(t,r){for(var s in r)p.call(r,s)&&(t[s]=r[s]);function e(){this.constructor=t}e.prototype=r.prototype,t.prototype=new e,t.__super__=r.prototype}(u,s),u.prototype.processAsync=function(){var t,r;try{return this.remaining.length<=this.options.chunkSize?(t=this.remaining,this.remaining="",this.saxParser=this.saxParser.write(t),this.saxParser.close()):(t=this.remaining.substr(0,this.options.chunkSize),this.remaining=this.remaining.substr(this.options.chunkSize,this.remaining.length),this.saxParser=this.saxParser.write(t),a(this.processAsync))}catch(t){if(r=t,!this.saxParser.errThrown)return this.saxParser.errThrown=!0,this.emit(r)}},u.prototype.assignOrPush=function(t,r,s){return r in t?(t[r]instanceof Array||(t[r]=[t[r]]),t[r].push(s)):this.options.explicitArray?t[r]=[s]:t[r]=s},u.prototype.reset=function(){var t,r,s,n,a;return this.removeAllListeners(),this.saxParser=o.parser(this.options.strict,{trim:!1,normalize:!1,xmlns:this.options.xmlns}),this.saxParser.errThrown=!1,this.saxParser.onerror=(a=this,function(t){if(a.saxParser.resume(),!a.saxParser.errThrown)return a.saxParser.errThrown=!0,a.emit("error",t)}),this.saxParser.onend=function(t){return function(){if(!t.saxParser.ended)return t.saxParser.ended=!0,t.emit("end",t.resultObject)}}(this),this.saxParser.ended=!1,this.EXPLICIT_CHARKEY=this.options.explicitCharkey,this.resultObject=null,n=[],t=this.options.attrkey,r=this.options.charkey,this.saxParser.onopentag=function(s){return function(e){var o,a,h,c,u;if((h={})[r]="",!s.options.ignoreAttrs)for(o in u=e.attributes)p.call(u,o)&&(t in h||s.options.mergeAttrs||(h[t]={}),a=s.options.attrValueProcessors?i(s.options.attrValueProcessors,e.attributes[o],o):e.attributes[o],c=s.options.attrNameProcessors?i(s.options.attrNameProcessors,o):o,s.options.mergeAttrs?s.assignOrPush(h,c,a):h[t][c]=a);return h["#name"]=s.options.tagNameProcessors?i(s.options.tagNameProcessors,e.name):e.name,s.options.xmlns&&(h[s.options.xmlnskey]={uri:e.uri,local:e.local}),n.push(h)}}(this),this.saxParser.onclosetag=function(t){return function(){var s,o,a,h,c,u,l,m,f,P;if(u=n.pop(),c=u["#name"],t.options.explicitChildren&&t.options.preserveChildrenOrder||delete u["#name"],!0===u.cdata&&(s=u.cdata,delete u.cdata),f=n[n.length-1],u[r].match(/^\s*$/)&&!s?(o=u[r],delete u[r]):(t.options.trim&&(u[r]=u[r].trim()),t.options.normalize&&(u[r]=u[r].replace(/\s{2,}/g," ").trim()),u[r]=t.options.valueProcessors?i(t.options.valueProcessors,u[r],c):u[r],1===Object.keys(u).length&&r in u&&!t.EXPLICIT_CHARKEY&&(u=u[r])),e(u)&&(u=""!==t.options.emptyTag?t.options.emptyTag:o),null!=t.options.validator&&(P="/"+function(){var t,r,s;for(s=[],t=0,r=n.length;t<r;t++)h=n[t],s.push(h["#name"]);return s}().concat(c).join("/"),function(){var r;try{u=t.options.validator(P,f&&f[c],u)}catch(s){return r=s,t.emit("error",r)}}()),t.options.explicitChildren&&!t.options.mergeAttrs&&"object"==typeof u)if(t.options.preserveChildrenOrder){if(f){for(a in f[t.options.childkey]=f[t.options.childkey]||[],l={},u)p.call(u,a)&&(l[a]=u[a]);f[t.options.childkey].push(l),delete u["#name"],1===Object.keys(u).length&&r in u&&!t.EXPLICIT_CHARKEY&&(u=u[r])}}else h={},t.options.attrkey in u&&(h[t.options.attrkey]=u[t.options.attrkey],delete u[t.options.attrkey]),!t.options.charsAsChildren&&t.options.charkey in u&&(h[t.options.charkey]=u[t.options.charkey],delete u[t.options.charkey]),Object.getOwnPropertyNames(u).length>0&&(h[t.options.childkey]=u),u=h;return n.length>0?t.assignOrPush(f,c,u):(t.options.explicitRoot&&(m=u,(u={})[c]=m),t.resultObject=u,t.saxParser.ended=!0,t.emit("end",t.resultObject))}}(this),s=function(t){return function(s){var e,i;if(i=n[n.length-1])return i[r]+=s,t.options.explicitChildren&&t.options.preserveChildrenOrder&&t.options.charsAsChildren&&(t.options.includeWhiteChars||""!==s.replace(/\\n/g,"").trim())&&(i[t.options.childkey]=i[t.options.childkey]||[],(e={"#name":"__text__"})[r]=s,t.options.normalize&&(e[r]=e[r].replace(/\s{2,}/g," ").trim()),i[t.options.childkey].push(e)),i}}(this),this.saxParser.ontext=s,this.saxParser.oncdata=function(t){var r;if(r=s(t))return r.cdata=!0}},u.prototype.parseString=function(r,s){var e;null!=s&&"function"==typeof s&&(this.on("end",function(t){return this.reset(),s(null,t)}),this.on("error",function(t){return this.reset(),s(t)}));try{return""===(r=r.toString()).trim()?(this.emit("end",null),!0):(r=t.stripBOM(r),this.options.async?(this.remaining=r,a(this.processAsync),this.saxParser):this.saxParser.write(r).close())}catch(t){if(e=t,!this.saxParser.errThrown&&!this.saxParser.ended)return this.emit("error",e),this.saxParser.errThrown=!0;if(this.saxParser.ended)throw e}},u.prototype.parseStringPromise=function(t){return new Promise((r=this,function(s,e){return r.parseString(t,function(t,r){return t?e(t):s(r)})}));var r},u}(),exports.parseString=function(t,r,s){var e,i;return null!=s?("function"==typeof s&&(e=s),"object"==typeof r&&(i=r)):("function"==typeof r&&(e=r),i={}),new exports.Parser(i).parseString(t,e)},exports.parseStringPromise=function(t,r){var s;return"object"==typeof r&&(s=r),new exports.Parser(s).parseStringPromise(t)}}).call(this);
|
||
|
||
},{"./bom":33,"./defaults":35,"./processors":37,"events":93,"sax":32,"timers":114}],37:[function(require,module,exports){
|
||
(function(){"use strict";var e;e=new RegExp(/(?!xmlns)^.*:/),exports.normalize=function(e){return e.toLowerCase()},exports.firstCharLowerCase=function(e){return e.charAt(0).toLowerCase()+e.slice(1)},exports.stripPrefix=function(r){return r.replace(e,"")},exports.parseNumbers=function(e){return isNaN(e)||(e=e%1==0?parseInt(e,10):parseFloat(e)),e},exports.parseBooleans=function(e){return/^(?:true|false)$/i.test(e)&&(e="true"===e.toLowerCase()),e}}).call(this);
|
||
|
||
},{}],38:[function(require,module,exports){
|
||
(function(){"use strict";var r,e,t,s,o={}.hasOwnProperty;e=require("./defaults"),r=require("./builder"),t=require("./parser"),s=require("./processors"),exports.defaults=e.defaults,exports.processors=s,exports.ValidationError=function(r){function e(r){this.message=r}return function(r,e){for(var t in e)o.call(e,t)&&(r[t]=e[t]);function s(){this.constructor=r}s.prototype=e.prototype,r.prototype=new s,r.__super__=e.prototype}(e,Error),e}(),exports.Builder=r.Builder,exports.Parser=t.Parser,exports.parseString=t.parseString,exports.parseStringPromise=t.parseStringPromise}).call(this);
|
||
|
||
},{"./builder":34,"./defaults":35,"./parser":36,"./processors":37}],39:[function(require,module,exports){
|
||
(function(){module.exports={Disconnected:1,Preceding:2,Following:4,Contains:8,ContainedBy:16,ImplementationSpecific:32}}).call(this);
|
||
|
||
},{}],40:[function(require,module,exports){
|
||
(function(){module.exports={Element:1,Attribute:2,Text:3,CData:4,EntityReference:5,EntityDeclaration:6,ProcessingInstruction:7,Comment:8,Document:9,DocType:10,DocumentFragment:11,NotationDeclaration:12,Declaration:201,Raw:202,AttributeDeclaration:203,ElementDeclaration:204,Dummy:205}}).call(this);
|
||
|
||
},{}],41:[function(require,module,exports){
|
||
(function(){var t,r,n,e,o,i,c,l=[].slice,u={}.hasOwnProperty;t=function(){var t,r,n,e,i,c;if(c=arguments[0],i=2<=arguments.length?l.call(arguments,1):[],o(Object.assign))Object.assign.apply(null,arguments);else for(t=0,n=i.length;t<n;t++)if(null!=(e=i[t]))for(r in e)u.call(e,r)&&(c[r]=e[r]);return c},o=function(t){return!!t&&"[object Function]"===Object.prototype.toString.call(t)},i=function(t){var r;return!!t&&("function"==(r=typeof t)||"object"===r)},n=function(t){return o(Array.isArray)?Array.isArray(t):"[object Array]"===Object.prototype.toString.call(t)},e=function(t){var r;if(n(t))return!t.length;for(r in t)if(u.call(t,r))return!1;return!0},c=function(t){var r,n;return i(t)&&(n=Object.getPrototypeOf(t))&&(r=n.constructor)&&"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)},r=function(t){return o(t.valueOf)?t.valueOf():t},module.exports.assign=t,module.exports.isFunction=o,module.exports.isObject=i,module.exports.isArray=n,module.exports.isEmpty=e,module.exports.isPlainObject=c,module.exports.getValue=r}).call(this);
|
||
|
||
},{}],42:[function(require,module,exports){
|
||
(function(){module.exports={None:0,OpenTag:1,InsideTag:2,CloseTag:3}}).call(this);
|
||
|
||
},{}],43:[function(require,module,exports){
|
||
(function(){var t;t=require("./NodeType"),require("./XMLNode"),module.exports=function(){function e(e,n,r){if(this.parent=e,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),null==n)throw new Error("Missing attribute name. "+this.debugInfo(n));this.name=this.stringify.name(n),this.value=this.stringify.attValue(r),this.type=t.Attribute,this.isId=!1,this.schemaTypeInfo=null}return Object.defineProperty(e.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(e.prototype,"ownerElement",{get:function(){return this.parent}}),Object.defineProperty(e.prototype,"textContent",{get:function(){return this.value},set:function(t){return this.value=t||""}}),Object.defineProperty(e.prototype,"namespaceURI",{get:function(){return""}}),Object.defineProperty(e.prototype,"prefix",{get:function(){return""}}),Object.defineProperty(e.prototype,"localName",{get:function(){return this.name}}),Object.defineProperty(e.prototype,"specified",{get:function(){return!0}}),e.prototype.clone=function(){return Object.create(this)},e.prototype.toString=function(t){return this.options.writer.attribute(this,this.options.writer.filterOptions(t))},e.prototype.debugInfo=function(t){return null==(t=t||this.name)?"parent: <"+this.parent.name+">":"attribute: {"+t+"}, parent: <"+this.parent.name+">"},e.prototype.isEqualNode=function(t){return t.namespaceURI===this.namespaceURI&&(t.prefix===this.prefix&&(t.localName===this.localName&&t.value===this.value))},e}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./XMLNode":62}],44:[function(require,module,exports){
|
||
(function(){var t,r,o={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLCharacterData"),module.exports=function(e){function i(r,o){if(i.__super__.constructor.call(this,r),null==o)throw new Error("Missing CDATA text. "+this.debugInfo());this.name="#cdata-section",this.type=t.CData,this.value=this.stringify.cdata(o)}return function(t,r){for(var e in r)o.call(r,e)&&(t[e]=r[e]);function i(){this.constructor=t}i.prototype=r.prototype,t.prototype=new i,t.__super__=r.prototype}(i,r),i.prototype.clone=function(){return Object.create(this)},i.prototype.toString=function(t){return this.options.writer.cdata(this,this.options.writer.filterOptions(t))},i}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./XMLCharacterData":45}],45:[function(require,module,exports){
|
||
(function(){var t,e={}.hasOwnProperty;t=require("./XMLNode"),module.exports=function(o){function n(t){n.__super__.constructor.call(this,t),this.value=""}return function(t,o){for(var n in o)e.call(o,n)&&(t[n]=o[n]);function r(){this.constructor=t}r.prototype=o.prototype,t.prototype=new r,t.__super__=o.prototype}(n,t),Object.defineProperty(n.prototype,"data",{get:function(){return this.value},set:function(t){return this.value=t||""}}),Object.defineProperty(n.prototype,"length",{get:function(){return this.value.length}}),Object.defineProperty(n.prototype,"textContent",{get:function(){return this.value},set:function(t){return this.value=t||""}}),n.prototype.clone=function(){return Object.create(this)},n.prototype.substringData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.appendData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.insertData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.deleteData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.replaceData=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.isEqualNode=function(t){return!!n.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&t.data===this.data},n}()}).call(this);
|
||
|
||
},{"./XMLNode":62}],46:[function(require,module,exports){
|
||
(function(){var t,o,r={}.hasOwnProperty;t=require("./NodeType"),o=require("./XMLCharacterData"),module.exports=function(e){function n(o,r){if(n.__super__.constructor.call(this,o),null==r)throw new Error("Missing comment text. "+this.debugInfo());this.name="#comment",this.type=t.Comment,this.value=this.stringify.comment(r)}return function(t,o){for(var e in o)r.call(o,e)&&(t[e]=o[e]);function n(){this.constructor=t}n.prototype=o.prototype,t.prototype=new n,t.__super__=o.prototype}(n,o),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return this.options.writer.comment(this,this.options.writer.filterOptions(t))},n}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./XMLCharacterData":45}],47:[function(require,module,exports){
|
||
(function(){var e,t;e=require("./XMLDOMErrorHandler"),t=require("./XMLDOMStringList"),module.exports=function(){function a(){this.defaultParams={"canonical-form":!1,"cdata-sections":!1,comments:!1,"datatype-normalization":!1,"element-content-whitespace":!0,entities:!0,"error-handler":new e,infoset:!0,"validate-if-schema":!1,namespaces:!0,"namespace-declarations":!0,"normalize-characters":!1,"schema-location":"","schema-type":"","split-cdata-sections":!0,validate:!1,"well-formed":!0},this.params=Object.create(this.defaultParams)}return Object.defineProperty(a.prototype,"parameterNames",{get:function(){return new t(Object.keys(this.defaultParams))}}),a.prototype.getParameter=function(e){return this.params.hasOwnProperty(e)?this.params[e]:null},a.prototype.canSetParameter=function(e,t){return!0},a.prototype.setParameter=function(e,t){return null!=t?this.params[e]=t:delete this.params[e]},a}()}).call(this);
|
||
|
||
},{"./XMLDOMErrorHandler":48,"./XMLDOMStringList":50}],48:[function(require,module,exports){
|
||
(function(){module.exports=function(){function n(){}return n.prototype.handleError=function(n){throw new Error(n)},n}()}).call(this);
|
||
|
||
},{}],49:[function(require,module,exports){
|
||
(function(){module.exports=function(){function t(){}return t.prototype.hasFeature=function(t,e){return!0},t.prototype.createDocumentType=function(t,e,o){throw new Error("This DOM method is not implemented.")},t.prototype.createDocument=function(t,e,o){throw new Error("This DOM method is not implemented.")},t.prototype.createHTMLDocument=function(t){throw new Error("This DOM method is not implemented.")},t.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented.")},t}()}).call(this);
|
||
|
||
},{}],50:[function(require,module,exports){
|
||
(function(){module.exports=function(){function t(t){this.arr=t||[]}return Object.defineProperty(t.prototype,"length",{get:function(){return this.arr.length}}),t.prototype.item=function(t){return this.arr[t]||null},t.prototype.contains=function(t){return-1!==this.arr.indexOf(t)},t}()}).call(this);
|
||
|
||
},{}],51:[function(require,module,exports){
|
||
(function(){var t,e,i={}.hasOwnProperty;e=require("./XMLNode"),t=require("./NodeType"),module.exports=function(r){function n(e,i,r,o,s,u){if(n.__super__.constructor.call(this,e),null==i)throw new Error("Missing DTD element name. "+this.debugInfo());if(null==r)throw new Error("Missing DTD attribute name. "+this.debugInfo(i));if(!o)throw new Error("Missing DTD attribute type. "+this.debugInfo(i));if(!s)throw new Error("Missing DTD attribute default. "+this.debugInfo(i));if(0!==s.indexOf("#")&&(s="#"+s),!s.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/))throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(i));if(u&&!s.match(/^(#FIXED|#DEFAULT)$/))throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(i));this.elementName=this.stringify.name(i),this.type=t.AttributeDeclaration,this.attributeName=this.stringify.name(r),this.attributeType=this.stringify.dtdAttType(o),u&&(this.defaultValue=this.stringify.dtdAttDefault(u)),this.defaultValueType=s}return function(t,e){for(var r in e)i.call(e,r)&&(t[r]=e[r]);function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype}(n,e),n.prototype.toString=function(t){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(t))},n}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./XMLNode":62}],52:[function(require,module,exports){
|
||
(function(){var t,r,e={}.hasOwnProperty;r=require("./XMLNode"),t=require("./NodeType"),module.exports=function(i){function n(r,e,i){if(n.__super__.constructor.call(this,r),null==e)throw new Error("Missing DTD element name. "+this.debugInfo());i||(i="(#PCDATA)"),Array.isArray(i)&&(i="("+i.join(",")+")"),this.name=this.stringify.name(e),this.type=t.ElementDeclaration,this.value=this.stringify.dtdElementValue(i)}return function(t,r){for(var i in r)e.call(r,i)&&(t[i]=r[i]);function n(){this.constructor=t}n.prototype=r.prototype,t.prototype=new n,t.__super__=r.prototype}(n,r),n.prototype.toString=function(t){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(t))},n}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./XMLNode":62}],53:[function(require,module,exports){
|
||
(function(){var t,e,i,n={}.hasOwnProperty;i=require("./Utility").isObject,e=require("./XMLNode"),t=require("./NodeType"),module.exports=function(r){function o(e,n,r,s){if(o.__super__.constructor.call(this,e),null==r)throw new Error("Missing DTD entity name. "+this.debugInfo(r));if(null==s)throw new Error("Missing DTD entity value. "+this.debugInfo(r));if(this.pe=!!n,this.name=this.stringify.name(r),this.type=t.EntityDeclaration,i(s)){if(!s.pubID&&!s.sysID)throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(r));if(s.pubID&&!s.sysID)throw new Error("System identifier is required for a public external entity. "+this.debugInfo(r));if(this.internal=!1,null!=s.pubID&&(this.pubID=this.stringify.dtdPubID(s.pubID)),null!=s.sysID&&(this.sysID=this.stringify.dtdSysID(s.sysID)),null!=s.nData&&(this.nData=this.stringify.dtdNData(s.nData)),this.pe&&this.nData)throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(r))}else this.value=this.stringify.dtdEntityValue(s),this.internal=!0}return function(t,e){for(var i in e)n.call(e,i)&&(t[i]=e[i]);function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype}(o,e),Object.defineProperty(o.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(o.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(o.prototype,"notationName",{get:function(){return this.nData||null}}),Object.defineProperty(o.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(o.prototype,"xmlEncoding",{get:function(){return null}}),Object.defineProperty(o.prototype,"xmlVersion",{get:function(){return null}}),o.prototype.toString=function(t){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(t))},o}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./Utility":41,"./XMLNode":62}],54:[function(require,module,exports){
|
||
(function(){var t,r,i={}.hasOwnProperty;r=require("./XMLNode"),t=require("./NodeType"),module.exports=function(e){function o(r,i,e){if(o.__super__.constructor.call(this,r),null==i)throw new Error("Missing DTD notation name. "+this.debugInfo(i));if(!e.pubID&&!e.sysID)throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(i));this.name=this.stringify.name(i),this.type=t.NotationDeclaration,null!=e.pubID&&(this.pubID=this.stringify.dtdPubID(e.pubID)),null!=e.sysID&&(this.sysID=this.stringify.dtdSysID(e.sysID))}return function(t,r){for(var e in r)i.call(r,e)&&(t[e]=r[e]);function o(){this.constructor=t}o.prototype=r.prototype,t.prototype=new o,t.__super__=r.prototype}(o,r),Object.defineProperty(o.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(o.prototype,"systemId",{get:function(){return this.sysID}}),o.prototype.toString=function(t){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(t))},o}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./XMLNode":62}],55:[function(require,module,exports){
|
||
(function(){var t,i,n,o={}.hasOwnProperty;n=require("./Utility").isObject,i=require("./XMLNode"),t=require("./NodeType"),module.exports=function(r){function e(i,o,r,s){var l;e.__super__.constructor.call(this,i),n(o)&&(o=(l=o).version,r=l.encoding,s=l.standalone),o||(o="1.0"),this.type=t.Declaration,this.version=this.stringify.xmlVersion(o),null!=r&&(this.encoding=this.stringify.xmlEncoding(r)),null!=s&&(this.standalone=this.stringify.xmlStandalone(s))}return function(t,i){for(var n in i)o.call(i,n)&&(t[n]=i[n]);function r(){this.constructor=t}r.prototype=i.prototype,t.prototype=new r,t.__super__=i.prototype}(e,i),e.prototype.toString=function(t){return this.options.writer.declaration(this,this.options.writer.filterOptions(t))},e}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./Utility":41,"./XMLNode":62}],56:[function(require,module,exports){
|
||
(function(){var t,e,n,i,r,o,s,p,u={}.hasOwnProperty;p=require("./Utility").isObject,s=require("./XMLNode"),t=require("./NodeType"),e=require("./XMLDTDAttList"),i=require("./XMLDTDEntity"),n=require("./XMLDTDElement"),r=require("./XMLDTDNotation"),o=require("./XMLNamedNodeMap"),module.exports=function(h){function c(e,n,i){var r,o,s,u,h,y;if(c.__super__.constructor.call(this,e),this.type=t.DocType,e.children)for(o=0,s=(u=e.children).length;o<s;o++)if((r=u[o]).type===t.Element){this.name=r.name;break}this.documentObject=e,p(n)&&(n=(h=n).pubID,i=h.sysID),null==i&&(i=(y=[n,i])[0],n=y[1]),null!=n&&(this.pubID=this.stringify.dtdPubID(n)),null!=i&&(this.sysID=this.stringify.dtdSysID(i))}return function(t,e){for(var n in e)u.call(e,n)&&(t[n]=e[n]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(c,s),Object.defineProperty(c.prototype,"entities",{get:function(){var e,n,i,r,s;for(r={},n=0,i=(s=this.children).length;n<i;n++)(e=s[n]).type!==t.EntityDeclaration||e.pe||(r[e.name]=e);return new o(r)}}),Object.defineProperty(c.prototype,"notations",{get:function(){var e,n,i,r,s;for(r={},n=0,i=(s=this.children).length;n<i;n++)(e=s[n]).type===t.NotationDeclaration&&(r[e.name]=e);return new o(r)}}),Object.defineProperty(c.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(c.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(c.prototype,"internalSubset",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),c.prototype.element=function(t,e){var i;return i=new n(this,t,e),this.children.push(i),this},c.prototype.attList=function(t,n,i,r,o){var s;return s=new e(this,t,n,i,r,o),this.children.push(s),this},c.prototype.entity=function(t,e){var n;return n=new i(this,!1,t,e),this.children.push(n),this},c.prototype.pEntity=function(t,e){var n;return n=new i(this,!0,t,e),this.children.push(n),this},c.prototype.notation=function(t,e){var n;return n=new r(this,t,e),this.children.push(n),this},c.prototype.toString=function(t){return this.options.writer.docType(this,this.options.writer.filterOptions(t))},c.prototype.ele=function(t,e){return this.element(t,e)},c.prototype.att=function(t,e,n,i,r){return this.attList(t,e,n,i,r)},c.prototype.ent=function(t,e){return this.entity(t,e)},c.prototype.pent=function(t,e){return this.pEntity(t,e)},c.prototype.not=function(t,e){return this.notation(t,e)},c.prototype.up=function(){return this.root()||this.documentObject},c.prototype.isEqualNode=function(t){return!!c.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&(t.name===this.name&&(t.publicId===this.publicId&&t.systemId===this.systemId))},c}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./Utility":41,"./XMLDTDAttList":51,"./XMLDTDElement":52,"./XMLDTDEntity":53,"./XMLDTDNotation":54,"./XMLNamedNodeMap":61,"./XMLNode":62}],57:[function(require,module,exports){
|
||
(function(){var t,e,o,n,r,i,p,h={}.hasOwnProperty;p=require("./Utility").isPlainObject,o=require("./XMLDOMImplementation"),e=require("./XMLDOMConfiguration"),n=require("./XMLNode"),t=require("./NodeType"),i=require("./XMLStringifier"),r=require("./XMLStringWriter"),module.exports=function(s){function u(o){u.__super__.constructor.call(this,null),this.name="#document",this.type=t.Document,this.documentURI=null,this.domConfig=new e,o||(o={}),o.writer||(o.writer=new r),this.options=o,this.stringify=new i(o)}return function(t,e){for(var o in e)h.call(e,o)&&(t[o]=e[o]);function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype}(u,n),Object.defineProperty(u.prototype,"implementation",{value:new o}),Object.defineProperty(u.prototype,"doctype",{get:function(){var e,o,n,r;for(o=0,n=(r=this.children).length;o<n;o++)if((e=r[o]).type===t.DocType)return e;return null}}),Object.defineProperty(u.prototype,"documentElement",{get:function(){return this.rootObject||null}}),Object.defineProperty(u.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(u.prototype,"strictErrorChecking",{get:function(){return!1}}),Object.defineProperty(u.prototype,"xmlEncoding",{get:function(){return 0!==this.children.length&&this.children[0].type===t.Declaration?this.children[0].encoding:null}}),Object.defineProperty(u.prototype,"xmlStandalone",{get:function(){return 0!==this.children.length&&this.children[0].type===t.Declaration&&"yes"===this.children[0].standalone}}),Object.defineProperty(u.prototype,"xmlVersion",{get:function(){return 0!==this.children.length&&this.children[0].type===t.Declaration?this.children[0].version:"1.0"}}),Object.defineProperty(u.prototype,"URL",{get:function(){return this.documentURI}}),Object.defineProperty(u.prototype,"origin",{get:function(){return null}}),Object.defineProperty(u.prototype,"compatMode",{get:function(){return null}}),Object.defineProperty(u.prototype,"characterSet",{get:function(){return null}}),Object.defineProperty(u.prototype,"contentType",{get:function(){return null}}),u.prototype.end=function(t){var e;return e={},t?p(t)&&(e=t,t=this.options.writer):t=this.options.writer,t.document(this,t.filterOptions(e))},u.prototype.toString=function(t){return this.options.writer.document(this,this.options.writer.filterOptions(t))},u.prototype.createElement=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createDocumentFragment=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createTextNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createComment=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createCDATASection=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createProcessingInstruction=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createAttribute=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createEntityReference=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementsByTagName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.importNode=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createElementNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementsByTagNameNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementById=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.adoptNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.normalizeDocument=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.renameNode=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementsByClassName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createEvent=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createRange=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createNodeIterator=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createTreeWalker=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},u}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./Utility":41,"./XMLDOMConfiguration":47,"./XMLDOMImplementation":49,"./XMLNode":62,"./XMLStringWriter":67,"./XMLStringifier":68}],58:[function(require,module,exports){
|
||
(function(){var t,e,r,i,n,o,s,h,u,c,a,p,l,d,w,y,f,v,L,m,N,D,O,b={}.hasOwnProperty;O=require("./Utility"),N=O.isObject,m=O.isFunction,D=O.isPlainObject,L=O.getValue,t=require("./NodeType"),p=require("./XMLDocument"),l=require("./XMLElement"),i=require("./XMLCData"),n=require("./XMLComment"),w=require("./XMLRaw"),v=require("./XMLText"),d=require("./XMLProcessingInstruction"),c=require("./XMLDeclaration"),a=require("./XMLDocType"),o=require("./XMLDTDAttList"),h=require("./XMLDTDEntity"),s=require("./XMLDTDElement"),u=require("./XMLDTDNotation"),r=require("./XMLAttribute"),f=require("./XMLStringifier"),y=require("./XMLStringWriter"),e=require("./WriterState"),module.exports=function(){function O(e,r,i){var n;this.name="?xml",this.type=t.Document,e||(e={}),n={},e.writer?D(e.writer)&&(n=e.writer,e.writer=new y):e.writer=new y,this.options=e,this.writer=e.writer,this.writerOptions=this.writer.filterOptions(n),this.stringify=new f(e),this.onDataCallback=r||function(){},this.onEndCallback=i||function(){},this.currentNode=null,this.currentLevel=-1,this.openTags={},this.documentStarted=!1,this.documentCompleted=!1,this.root=null}return O.prototype.createChildNode=function(e){var r,i,n,o,s,h,u,c;switch(e.type){case t.CData:this.cdata(e.value);break;case t.Comment:this.comment(e.value);break;case t.Element:for(i in n={},u=e.attribs)b.call(u,i)&&(r=u[i],n[i]=r.value);this.node(e.name,n);break;case t.Dummy:this.dummy();break;case t.Raw:this.raw(e.value);break;case t.Text:this.text(e.value);break;case t.ProcessingInstruction:this.instruction(e.target,e.value);break;default:throw new Error("This XML node type is not supported in a JS object: "+e.constructor.name)}for(s=0,h=(c=e.children).length;s<h;s++)o=c[s],this.createChildNode(o),o.type===t.Element&&this.up();return this},O.prototype.dummy=function(){return this},O.prototype.node=function(t,e,r){var i;if(null==t)throw new Error("Missing node name.");if(this.root&&-1===this.currentLevel)throw new Error("Document can only have one root node. "+this.debugInfo(t));return this.openCurrent(),t=L(t),null==e&&(e={}),e=L(e),N(e)||(r=(i=[e,r])[0],e=i[1]),this.currentNode=new l(this,t,e),this.currentNode.children=!1,this.currentLevel++,this.openTags[this.currentLevel]=this.currentNode,null!=r&&this.text(r),this},O.prototype.element=function(e,r,i){var n,o,s,h,u,c;if(this.currentNode&&this.currentNode.type===t.DocType)this.dtdElement.apply(this,arguments);else if(Array.isArray(e)||N(e)||m(e))for(h=this.options.noValidation,this.options.noValidation=!0,(c=new p(this.options).element("TEMP_ROOT")).element(e),this.options.noValidation=h,o=0,s=(u=c.children).length;o<s;o++)n=u[o],this.createChildNode(n),n.type===t.Element&&this.up();else this.node(e,r,i);return this},O.prototype.attribute=function(t,e){var i,n;if(!this.currentNode||this.currentNode.children)throw new Error("att() can only be used immediately after an ele() call in callback mode. "+this.debugInfo(t));if(null!=t&&(t=L(t)),N(t))for(i in t)b.call(t,i)&&(n=t[i],this.attribute(i,n));else m(e)&&(e=e.apply()),this.options.keepNullAttributes&&null==e?this.currentNode.attribs[t]=new r(this,t,""):null!=e&&(this.currentNode.attribs[t]=new r(this,t,e));return this},O.prototype.text=function(t){var e;return this.openCurrent(),e=new v(this,t),this.onData(this.writer.text(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.cdata=function(t){var e;return this.openCurrent(),e=new i(this,t),this.onData(this.writer.cdata(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.comment=function(t){var e;return this.openCurrent(),e=new n(this,t),this.onData(this.writer.comment(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.raw=function(t){var e;return this.openCurrent(),e=new w(this,t),this.onData(this.writer.raw(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.instruction=function(t,e){var r,i,n,o,s;if(this.openCurrent(),null!=t&&(t=L(t)),null!=e&&(e=L(e)),Array.isArray(t))for(r=0,o=t.length;r<o;r++)i=t[r],this.instruction(i);else if(N(t))for(i in t)b.call(t,i)&&(n=t[i],this.instruction(i,n));else m(e)&&(e=e.apply()),s=new d(this,t,e),this.onData(this.writer.processingInstruction(s,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this},O.prototype.declaration=function(t,e,r){var i;if(this.openCurrent(),this.documentStarted)throw new Error("declaration() must be the first node.");return i=new c(this,t,e,r),this.onData(this.writer.declaration(i,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.doctype=function(t,e,r){if(this.openCurrent(),null==t)throw new Error("Missing root node name.");if(this.root)throw new Error("dtd() must come before the root node.");return this.currentNode=new a(this,e,r),this.currentNode.rootNodeName=t,this.currentNode.children=!1,this.currentLevel++,this.openTags[this.currentLevel]=this.currentNode,this},O.prototype.dtdElement=function(t,e){var r;return this.openCurrent(),r=new s(this,t,e),this.onData(this.writer.dtdElement(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.attList=function(t,e,r,i,n){var s;return this.openCurrent(),s=new o(this,t,e,r,i,n),this.onData(this.writer.dtdAttList(s,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.entity=function(t,e){var r;return this.openCurrent(),r=new h(this,!1,t,e),this.onData(this.writer.dtdEntity(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.pEntity=function(t,e){var r;return this.openCurrent(),r=new h(this,!0,t,e),this.onData(this.writer.dtdEntity(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.notation=function(t,e){var r;return this.openCurrent(),r=new u(this,t,e),this.onData(this.writer.dtdNotation(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.up=function(){if(this.currentLevel<0)throw new Error("The document node has no parent.");return this.currentNode?(this.currentNode.children?this.closeNode(this.currentNode):this.openNode(this.currentNode),this.currentNode=null):this.closeNode(this.openTags[this.currentLevel]),delete this.openTags[this.currentLevel],this.currentLevel--,this},O.prototype.end=function(){for(;this.currentLevel>=0;)this.up();return this.onEnd()},O.prototype.openCurrent=function(){if(this.currentNode)return this.currentNode.children=!0,this.openNode(this.currentNode)},O.prototype.openNode=function(r){var i,n,o,s;if(!r.isOpen){if(this.root||0!==this.currentLevel||r.type!==t.Element||(this.root=r),n="",r.type===t.Element){for(o in this.writerOptions.state=e.OpenTag,n=this.writer.indent(r,this.writerOptions,this.currentLevel)+"<"+r.name,s=r.attribs)b.call(s,o)&&(i=s[o],n+=this.writer.attribute(i,this.writerOptions,this.currentLevel));n+=(r.children?">":"/>")+this.writer.endline(r,this.writerOptions,this.currentLevel),this.writerOptions.state=e.InsideTag}else this.writerOptions.state=e.OpenTag,n=this.writer.indent(r,this.writerOptions,this.currentLevel)+"<!DOCTYPE "+r.rootNodeName,r.pubID&&r.sysID?n+=' PUBLIC "'+r.pubID+'" "'+r.sysID+'"':r.sysID&&(n+=' SYSTEM "'+r.sysID+'"'),r.children?(n+=" [",this.writerOptions.state=e.InsideTag):(this.writerOptions.state=e.CloseTag,n+=">"),n+=this.writer.endline(r,this.writerOptions,this.currentLevel);return this.onData(n,this.currentLevel),r.isOpen=!0}},O.prototype.closeNode=function(r){var i;if(!r.isClosed)return i="",this.writerOptions.state=e.CloseTag,i=r.type===t.Element?this.writer.indent(r,this.writerOptions,this.currentLevel)+"</"+r.name+">"+this.writer.endline(r,this.writerOptions,this.currentLevel):this.writer.indent(r,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(r,this.writerOptions,this.currentLevel),this.writerOptions.state=e.None,this.onData(i,this.currentLevel),r.isClosed=!0},O.prototype.onData=function(t,e){return this.documentStarted=!0,this.onDataCallback(t,e+1)},O.prototype.onEnd=function(){return this.documentCompleted=!0,this.onEndCallback()},O.prototype.debugInfo=function(t){return null==t?"":"node: <"+t+">"},O.prototype.ele=function(){return this.element.apply(this,arguments)},O.prototype.nod=function(t,e,r){return this.node(t,e,r)},O.prototype.txt=function(t){return this.text(t)},O.prototype.dat=function(t){return this.cdata(t)},O.prototype.com=function(t){return this.comment(t)},O.prototype.ins=function(t,e){return this.instruction(t,e)},O.prototype.dec=function(t,e,r){return this.declaration(t,e,r)},O.prototype.dtd=function(t,e,r){return this.doctype(t,e,r)},O.prototype.e=function(t,e,r){return this.element(t,e,r)},O.prototype.n=function(t,e,r){return this.node(t,e,r)},O.prototype.t=function(t){return this.text(t)},O.prototype.d=function(t){return this.cdata(t)},O.prototype.c=function(t){return this.comment(t)},O.prototype.r=function(t){return this.raw(t)},O.prototype.i=function(t,e){return this.instruction(t,e)},O.prototype.att=function(){return this.currentNode&&this.currentNode.type===t.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},O.prototype.a=function(){return this.currentNode&&this.currentNode.type===t.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},O.prototype.ent=function(t,e){return this.entity(t,e)},O.prototype.pent=function(t,e){return this.pEntity(t,e)},O.prototype.not=function(t,e){return this.notation(t,e)},O}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./Utility":41,"./WriterState":42,"./XMLAttribute":43,"./XMLCData":44,"./XMLComment":46,"./XMLDTDAttList":51,"./XMLDTDElement":52,"./XMLDTDEntity":53,"./XMLDTDNotation":54,"./XMLDeclaration":55,"./XMLDocType":56,"./XMLDocument":57,"./XMLElement":60,"./XMLProcessingInstruction":64,"./XMLRaw":65,"./XMLStringWriter":67,"./XMLStringifier":68,"./XMLText":69}],59:[function(require,module,exports){
|
||
(function(){var t,o,r={}.hasOwnProperty;o=require("./XMLNode"),t=require("./NodeType"),module.exports=function(e){function n(o){n.__super__.constructor.call(this,o),this.type=t.Dummy}return function(t,o){for(var e in o)r.call(o,e)&&(t[e]=o[e]);function n(){this.constructor=t}n.prototype=o.prototype,t.prototype=new n,t.__super__=o.prototype}(n,o),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return""},n}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./XMLNode":62}],60:[function(require,module,exports){
|
||
(function(){var t,e,r,o,i,n,s,h,u={}.hasOwnProperty;h=require("./Utility"),s=h.isObject,n=h.isFunction,i=h.getValue,o=require("./XMLNode"),t=require("./NodeType"),e=require("./XMLAttribute"),r=require("./XMLNamedNodeMap"),module.exports=function(h){function p(e,r,o){var i,n,s,h;if(p.__super__.constructor.call(this,e),null==r)throw new Error("Missing element name. "+this.debugInfo());if(this.name=this.stringify.name(r),this.type=t.Element,this.attribs={},this.schemaTypeInfo=null,null!=o&&this.attribute(o),e.type===t.Document&&(this.isRoot=!0,this.documentObject=e,e.rootObject=this,e.children))for(n=0,s=(h=e.children).length;n<s;n++)if((i=h[n]).type===t.DocType){i.name=this.name;break}}return function(t,e){for(var r in e)u.call(e,r)&&(t[r]=e[r]);function o(){this.constructor=t}o.prototype=e.prototype,t.prototype=new o,t.__super__=e.prototype}(p,o),Object.defineProperty(p.prototype,"tagName",{get:function(){return this.name}}),Object.defineProperty(p.prototype,"namespaceURI",{get:function(){return""}}),Object.defineProperty(p.prototype,"prefix",{get:function(){return""}}),Object.defineProperty(p.prototype,"localName",{get:function(){return this.name}}),Object.defineProperty(p.prototype,"id",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(p.prototype,"className",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(p.prototype,"classList",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(p.prototype,"attributes",{get:function(){return this.attributeMap&&this.attributeMap.nodes||(this.attributeMap=new r(this.attribs)),this.attributeMap}}),p.prototype.clone=function(){var t,e,r,o;for(e in(r=Object.create(this)).isRoot&&(r.documentObject=null),r.attribs={},o=this.attribs)u.call(o,e)&&(t=o[e],r.attribs[e]=t.clone());return r.children=[],this.children.forEach(function(t){var e;return(e=t.clone()).parent=r,r.children.push(e)}),r},p.prototype.attribute=function(t,r){var o,h;if(null!=t&&(t=i(t)),s(t))for(o in t)u.call(t,o)&&(h=t[o],this.attribute(o,h));else n(r)&&(r=r.apply()),this.options.keepNullAttributes&&null==r?this.attribs[t]=new e(this,t,""):null!=r&&(this.attribs[t]=new e(this,t,r));return this},p.prototype.removeAttribute=function(t){var e,r,o;if(null==t)throw new Error("Missing attribute name. "+this.debugInfo());if(t=i(t),Array.isArray(t))for(r=0,o=t.length;r<o;r++)e=t[r],delete this.attribs[e];else delete this.attribs[t];return this},p.prototype.toString=function(t){return this.options.writer.element(this,this.options.writer.filterOptions(t))},p.prototype.att=function(t,e){return this.attribute(t,e)},p.prototype.a=function(t,e){return this.attribute(t,e)},p.prototype.getAttribute=function(t){return this.attribs.hasOwnProperty(t)?this.attribs[t].value:null},p.prototype.setAttribute=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getAttributeNode=function(t){return this.attribs.hasOwnProperty(t)?this.attribs[t]:null},p.prototype.setAttributeNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.removeAttributeNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setAttributeNS=function(t,e,r){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.removeAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getAttributeNodeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setAttributeNodeNS=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagNameNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.hasAttribute=function(t){return this.attribs.hasOwnProperty(t)},p.prototype.hasAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setIdAttribute=function(t,e){return this.attribs.hasOwnProperty(t)?this.attribs[t].isId:e},p.prototype.setIdAttributeNS=function(t,e,r){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setIdAttributeNode=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagNameNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByClassName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.isEqualNode=function(t){var e,r,o;if(!p.__super__.isEqualNode.apply(this,arguments).isEqualNode(t))return!1;if(t.namespaceURI!==this.namespaceURI)return!1;if(t.prefix!==this.prefix)return!1;if(t.localName!==this.localName)return!1;if(t.attribs.length!==this.attribs.length)return!1;for(e=r=0,o=this.attribs.length-1;0<=o?r<=o:r>=o;e=0<=o?++r:--r)if(!this.attribs[e].isEqualNode(t.attribs[e]))return!1;return!0},p}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./Utility":41,"./XMLAttribute":43,"./XMLNamedNodeMap":61,"./XMLNode":62}],61:[function(require,module,exports){
|
||
(function(){module.exports=function(){function e(e){this.nodes=e}return Object.defineProperty(e.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}}),e.prototype.clone=function(){return this.nodes=null},e.prototype.getNamedItem=function(e){return this.nodes[e]},e.prototype.setNamedItem=function(e){var t;return t=this.nodes[e.nodeName],this.nodes[e.nodeName]=e,t||null},e.prototype.removeNamedItem=function(e){var t;return t=this.nodes[e],delete this.nodes[e],t||null},e.prototype.item=function(e){return this.nodes[Object.keys(this.nodes)[e]]||null},e.prototype.getNamedItemNS=function(e,t){throw new Error("This DOM method is not implemented.")},e.prototype.setNamedItemNS=function(e){throw new Error("This DOM method is not implemented.")},e.prototype.removeNamedItemNS=function(e,t){throw new Error("This DOM method is not implemented.")},e}()}).call(this);
|
||
|
||
},{}],62:[function(require,module,exports){
|
||
(function(){var t,e,n,r,i,o,s,h,p,u,c,l,d,a,f,y,m,g={}.hasOwnProperty;m=require("./Utility"),y=m.isObject,f=m.isFunction,a=m.isEmpty,d=m.getValue,h=null,n=null,r=null,i=null,o=null,c=null,l=null,u=null,s=null,e=null,p=null,t=null,module.exports=function(){function m(d){this.parent=d,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),this.value=null,this.children=[],this.baseURI=null,h||(h=require("./XMLElement"),n=require("./XMLCData"),r=require("./XMLComment"),i=require("./XMLDeclaration"),o=require("./XMLDocType"),c=require("./XMLRaw"),l=require("./XMLText"),u=require("./XMLProcessingInstruction"),s=require("./XMLDummy"),e=require("./NodeType"),p=require("./XMLNodeList"),require("./XMLNamedNodeMap"),t=require("./DocumentPosition"))}return Object.defineProperty(m.prototype,"nodeName",{get:function(){return this.name}}),Object.defineProperty(m.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(m.prototype,"nodeValue",{get:function(){return this.value}}),Object.defineProperty(m.prototype,"parentNode",{get:function(){return this.parent}}),Object.defineProperty(m.prototype,"childNodes",{get:function(){return this.childNodeList&&this.childNodeList.nodes||(this.childNodeList=new p(this.children)),this.childNodeList}}),Object.defineProperty(m.prototype,"firstChild",{get:function(){return this.children[0]||null}}),Object.defineProperty(m.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null}}),Object.defineProperty(m.prototype,"previousSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t-1]||null}}),Object.defineProperty(m.prototype,"nextSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t+1]||null}}),Object.defineProperty(m.prototype,"ownerDocument",{get:function(){return this.document()||null}}),Object.defineProperty(m.prototype,"textContent",{get:function(){var t,n,r,i,o;if(this.nodeType===e.Element||this.nodeType===e.DocumentFragment){for(o="",n=0,r=(i=this.children).length;n<r;n++)(t=i[n]).textContent&&(o+=t.textContent);return o}return null},set:function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),m.prototype.setParent=function(t){var e,n,r,i,o;for(this.parent=t,t&&(this.options=t.options,this.stringify=t.stringify),o=[],n=0,r=(i=this.children).length;n<r;n++)e=i[n],o.push(e.setParent(this));return o},m.prototype.element=function(t,e,n){var r,i,o,s,h,p,u,c,l,m,w;if(p=null,null===e&&null==n&&(e=(l=[{},null])[0],n=l[1]),null==e&&(e={}),e=d(e),y(e)||(n=(m=[e,n])[0],e=m[1]),null!=t&&(t=d(t)),Array.isArray(t))for(o=0,u=t.length;o<u;o++)i=t[o],p=this.element(i);else if(f(t))p=this.element(t.apply());else if(y(t)){for(h in t)if(g.call(t,h))if(w=t[h],f(w)&&(w=w.apply()),!this.options.ignoreDecorators&&this.stringify.convertAttKey&&0===h.indexOf(this.stringify.convertAttKey))p=this.attribute(h.substr(this.stringify.convertAttKey.length),w);else if(!this.options.separateArrayItems&&Array.isArray(w)&&a(w))p=this.dummy();else if(y(w)&&a(w))p=this.element(h);else if(this.options.keepNullNodes||null!=w)if(!this.options.separateArrayItems&&Array.isArray(w))for(s=0,c=w.length;s<c;s++)i=w[s],(r={})[h]=i,p=this.element(r);else y(w)?!this.options.ignoreDecorators&&this.stringify.convertTextKey&&0===h.indexOf(this.stringify.convertTextKey)?p=this.element(w):(p=this.element(h)).element(w):p=this.element(h,w);else p=this.dummy()}else p=this.options.keepNullNodes||null!==n?!this.options.ignoreDecorators&&this.stringify.convertTextKey&&0===t.indexOf(this.stringify.convertTextKey)?this.text(n):!this.options.ignoreDecorators&&this.stringify.convertCDataKey&&0===t.indexOf(this.stringify.convertCDataKey)?this.cdata(n):!this.options.ignoreDecorators&&this.stringify.convertCommentKey&&0===t.indexOf(this.stringify.convertCommentKey)?this.comment(n):!this.options.ignoreDecorators&&this.stringify.convertRawKey&&0===t.indexOf(this.stringify.convertRawKey)?this.raw(n):!this.options.ignoreDecorators&&this.stringify.convertPIKey&&0===t.indexOf(this.stringify.convertPIKey)?this.instruction(t.substr(this.stringify.convertPIKey.length),n):this.node(t,e,n):this.dummy();if(null==p)throw new Error("Could not create any elements with: "+t+". "+this.debugInfo());return p},m.prototype.insertBefore=function(t,e,n){var r,i,o,s,h;if(null!=t?t.type:void 0)return s=e,(o=t).setParent(this),s?(i=children.indexOf(s),h=children.splice(i),children.push(o),Array.prototype.push.apply(children,h)):children.push(o),o;if(this.isRoot)throw new Error("Cannot insert elements at root level. "+this.debugInfo(t));return i=this.parent.children.indexOf(this),h=this.parent.children.splice(i),r=this.parent.element(t,e,n),Array.prototype.push.apply(this.parent.children,h),r},m.prototype.insertAfter=function(t,e,n){var r,i,o;if(this.isRoot)throw new Error("Cannot insert elements at root level. "+this.debugInfo(t));return i=this.parent.children.indexOf(this),o=this.parent.children.splice(i+1),r=this.parent.element(t,e,n),Array.prototype.push.apply(this.parent.children,o),r},m.prototype.remove=function(){var t;if(this.isRoot)throw new Error("Cannot remove the root element. "+this.debugInfo());return t=this.parent.children.indexOf(this),[].splice.apply(this.parent.children,[t,t-t+1].concat([])),this.parent},m.prototype.node=function(t,e,n){var r,i;return null!=t&&(t=d(t)),e||(e={}),e=d(e),y(e)||(n=(i=[e,n])[0],e=i[1]),r=new h(this,t,e),null!=n&&r.text(n),this.children.push(r),r},m.prototype.text=function(t){var e;return y(t)&&this.element(t),e=new l(this,t),this.children.push(e),this},m.prototype.cdata=function(t){var e;return e=new n(this,t),this.children.push(e),this},m.prototype.comment=function(t){var e;return e=new r(this,t),this.children.push(e),this},m.prototype.commentBefore=function(t){var e,n;return e=this.parent.children.indexOf(this),n=this.parent.children.splice(e),this.parent.comment(t),Array.prototype.push.apply(this.parent.children,n),this},m.prototype.commentAfter=function(t){var e,n;return e=this.parent.children.indexOf(this),n=this.parent.children.splice(e+1),this.parent.comment(t),Array.prototype.push.apply(this.parent.children,n),this},m.prototype.raw=function(t){var e;return e=new c(this,t),this.children.push(e),this},m.prototype.dummy=function(){return new s(this)},m.prototype.instruction=function(t,e){var n,r,i,o,s;if(null!=t&&(t=d(t)),null!=e&&(e=d(e)),Array.isArray(t))for(o=0,s=t.length;o<s;o++)n=t[o],this.instruction(n);else if(y(t))for(n in t)g.call(t,n)&&(r=t[n],this.instruction(n,r));else f(e)&&(e=e.apply()),i=new u(this,t,e),this.children.push(i);return this},m.prototype.instructionBefore=function(t,e){var n,r;return n=this.parent.children.indexOf(this),r=this.parent.children.splice(n),this.parent.instruction(t,e),Array.prototype.push.apply(this.parent.children,r),this},m.prototype.instructionAfter=function(t,e){var n,r;return n=this.parent.children.indexOf(this),r=this.parent.children.splice(n+1),this.parent.instruction(t,e),Array.prototype.push.apply(this.parent.children,r),this},m.prototype.declaration=function(t,n,r){var o,s;return o=this.document(),s=new i(o,t,n,r),0===o.children.length?o.children.unshift(s):o.children[0].type===e.Declaration?o.children[0]=s:o.children.unshift(s),o.root()||o},m.prototype.dtd=function(t,n){var r,i,s,h,p,u,c,l,d;for(r=this.document(),i=new o(r,t,n),s=h=0,u=(l=r.children).length;h<u;s=++h)if(l[s].type===e.DocType)return r.children[s]=i,i;for(s=p=0,c=(d=r.children).length;p<c;s=++p)if(d[s].isRoot)return r.children.splice(s,0,i),i;return r.children.push(i),i},m.prototype.up=function(){if(this.isRoot)throw new Error("The root node has no parent. Use doc() if you need to get the document object.");return this.parent},m.prototype.root=function(){var t;for(t=this;t;){if(t.type===e.Document)return t.rootObject;if(t.isRoot)return t;t=t.parent}},m.prototype.document=function(){var t;for(t=this;t;){if(t.type===e.Document)return t;t=t.parent}},m.prototype.end=function(t){return this.document().end(t)},m.prototype.prev=function(){var t;if((t=this.parent.children.indexOf(this))<1)throw new Error("Already at the first node. "+this.debugInfo());return this.parent.children[t-1]},m.prototype.next=function(){var t;if(-1===(t=this.parent.children.indexOf(this))||t===this.parent.children.length-1)throw new Error("Already at the last node. "+this.debugInfo());return this.parent.children[t+1]},m.prototype.importDocument=function(t){var e;return(e=t.root().clone()).parent=this,e.isRoot=!1,this.children.push(e),this},m.prototype.debugInfo=function(t){var e,n;return null!=(t=t||this.name)||(null!=(e=this.parent)?e.name:void 0)?null==t?"parent: <"+this.parent.name+">":(null!=(n=this.parent)?n.name:void 0)?"node: <"+t+">, parent: <"+this.parent.name+">":"node: <"+t+">":""},m.prototype.ele=function(t,e,n){return this.element(t,e,n)},m.prototype.nod=function(t,e,n){return this.node(t,e,n)},m.prototype.txt=function(t){return this.text(t)},m.prototype.dat=function(t){return this.cdata(t)},m.prototype.com=function(t){return this.comment(t)},m.prototype.ins=function(t,e){return this.instruction(t,e)},m.prototype.doc=function(){return this.document()},m.prototype.dec=function(t,e,n){return this.declaration(t,e,n)},m.prototype.e=function(t,e,n){return this.element(t,e,n)},m.prototype.n=function(t,e,n){return this.node(t,e,n)},m.prototype.t=function(t){return this.text(t)},m.prototype.d=function(t){return this.cdata(t)},m.prototype.c=function(t){return this.comment(t)},m.prototype.r=function(t){return this.raw(t)},m.prototype.i=function(t,e){return this.instruction(t,e)},m.prototype.u=function(){return this.up()},m.prototype.importXMLBuilder=function(t){return this.importDocument(t)},m.prototype.replaceChild=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.removeChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.appendChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.hasChildNodes=function(){return 0!==this.children.length},m.prototype.cloneNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.normalize=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.isSupported=function(t,e){return!0},m.prototype.hasAttributes=function(){return 0!==this.attribs.length},m.prototype.compareDocumentPosition=function(e){var n;return this,this===e?0:this.document()!==e.document()?(n=t.Disconnected|t.ImplementationSpecific,Math.random()<.5?n|=t.Preceding:n|=t.Following,n):this.isAncestor(e)?t.Contains|t.Preceding:this.isDescendant(e)?t.Contains|t.Following:this.isPreceding(e)?t.Preceding:t.Following},m.prototype.isSameNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.lookupPrefix=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.isDefaultNamespace=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.lookupNamespaceURI=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.isEqualNode=function(t){var e,n,r;if(t.nodeType!==this.nodeType)return!1;if(t.children.length!==this.children.length)return!1;for(e=n=0,r=this.children.length-1;0<=r?n<=r:n>=r;e=0<=r?++n:--n)if(!this.children[e].isEqualNode(t.children[e]))return!1;return!0},m.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.setUserData=function(t,e,n){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.getUserData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.contains=function(t){return!!t&&(t===this||this.isDescendant(t))},m.prototype.isDescendant=function(t){var e,n,r,i;for(n=0,r=(i=this.children).length;n<r;n++){if(t===(e=i[n]))return!0;if(e.isDescendant(t))return!0}return!1},m.prototype.isAncestor=function(t){return t.isDescendant(this)},m.prototype.isPreceding=function(t){var e,n;return e=this.treePosition(t),n=this.treePosition(this),-1!==e&&-1!==n&&e<n},m.prototype.isFollowing=function(t){var e,n;return e=this.treePosition(t),n=this.treePosition(this),-1!==e&&-1!==n&&e>n},m.prototype.treePosition=function(t){var e,n;return n=0,e=!1,this.foreachTreeNode(this.document(),function(r){if(n++,!e&&r===t)return e=!0}),e?n:-1},m.prototype.foreachTreeNode=function(t,e){var n,r,i,o,s;for(t||(t=this.document()),r=0,i=(o=t.children).length;r<i;r++){if(s=e(n=o[r]))return s;if(s=this.foreachTreeNode(n,e))return s}},m}()}).call(this);
|
||
|
||
},{"./DocumentPosition":39,"./NodeType":40,"./Utility":41,"./XMLCData":44,"./XMLComment":46,"./XMLDeclaration":55,"./XMLDocType":56,"./XMLDummy":59,"./XMLElement":60,"./XMLNamedNodeMap":61,"./XMLNodeList":63,"./XMLProcessingInstruction":64,"./XMLRaw":65,"./XMLText":69}],63:[function(require,module,exports){
|
||
(function(){module.exports=function(){function t(t){this.nodes=t}return Object.defineProperty(t.prototype,"length",{get:function(){return this.nodes.length||0}}),t.prototype.clone=function(){return this.nodes=null},t.prototype.item=function(t){return this.nodes[t]||null},t}()}).call(this);
|
||
|
||
},{}],64:[function(require,module,exports){
|
||
(function(){var t,r,i={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLCharacterData"),module.exports=function(e){function o(r,i,e){if(o.__super__.constructor.call(this,r),null==i)throw new Error("Missing instruction target. "+this.debugInfo());this.type=t.ProcessingInstruction,this.target=this.stringify.insTarget(i),this.name=this.target,e&&(this.value=this.stringify.insValue(e))}return function(t,r){for(var e in r)i.call(r,e)&&(t[e]=r[e]);function o(){this.constructor=t}o.prototype=r.prototype,t.prototype=new o,t.__super__=r.prototype}(o,r),o.prototype.clone=function(){return Object.create(this)},o.prototype.toString=function(t){return this.options.writer.processingInstruction(this,this.options.writer.filterOptions(t))},o.prototype.isEqualNode=function(t){return!!o.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&t.target===this.target},o}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./XMLCharacterData":45}],65:[function(require,module,exports){
|
||
(function(){var t,r,o={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLNode"),module.exports=function(e){function i(r,o){if(i.__super__.constructor.call(this,r),null==o)throw new Error("Missing raw text. "+this.debugInfo());this.type=t.Raw,this.value=this.stringify.raw(o)}return function(t,r){for(var e in r)o.call(r,e)&&(t[e]=r[e]);function i(){this.constructor=t}i.prototype=r.prototype,t.prototype=new i,t.__super__=r.prototype}(i,r),i.prototype.clone=function(){return Object.create(this)},i.prototype.toString=function(t){return this.options.writer.raw(this,this.options.writer.filterOptions(t))},i}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./XMLNode":62}],66:[function(require,module,exports){
|
||
(function(){var t,e,r,s={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLWriterBase"),e=require("./WriterState"),module.exports=function(i){function n(t,e){this.stream=t,n.__super__.constructor.call(this,e)}return function(t,e){for(var r in e)s.call(e,r)&&(t[r]=e[r]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(n,r),n.prototype.endline=function(t,r,s){return t.isLastRootNode&&r.state===e.CloseTag?"":n.__super__.endline.call(this,t,r,s)},n.prototype.document=function(t,e){var r,s,i,n,o,a,h,l,p;for(s=i=0,o=(h=t.children).length;i<o;s=++i)(r=h[s]).isLastRootNode=s===t.children.length-1;for(e=this.filterOptions(e),p=[],n=0,a=(l=t.children).length;n<a;n++)r=l[n],p.push(this.writeChildNode(r,e,0));return p},n.prototype.attribute=function(t,e,r){return this.stream.write(n.__super__.attribute.call(this,t,e,r))},n.prototype.cdata=function(t,e,r){return this.stream.write(n.__super__.cdata.call(this,t,e,r))},n.prototype.comment=function(t,e,r){return this.stream.write(n.__super__.comment.call(this,t,e,r))},n.prototype.declaration=function(t,e,r){return this.stream.write(n.__super__.declaration.call(this,t,e,r))},n.prototype.docType=function(t,r,s){var i,n,o,a;if(s||(s=0),this.openNode(t,r,s),r.state=e.OpenTag,this.stream.write(this.indent(t,r,s)),this.stream.write("<!DOCTYPE "+t.root().name),t.pubID&&t.sysID?this.stream.write(' PUBLIC "'+t.pubID+'" "'+t.sysID+'"'):t.sysID&&this.stream.write(' SYSTEM "'+t.sysID+'"'),t.children.length>0){for(this.stream.write(" ["),this.stream.write(this.endline(t,r,s)),r.state=e.InsideTag,n=0,o=(a=t.children).length;n<o;n++)i=a[n],this.writeChildNode(i,r,s+1);r.state=e.CloseTag,this.stream.write("]")}return r.state=e.CloseTag,this.stream.write(r.spaceBeforeSlash+">"),this.stream.write(this.endline(t,r,s)),r.state=e.None,this.closeNode(t,r,s)},n.prototype.element=function(r,i,n){var o,a,h,l,p,u,c,d,_;for(c in n||(n=0),this.openNode(r,i,n),i.state=e.OpenTag,this.stream.write(this.indent(r,i,n)+"<"+r.name),d=r.attribs)s.call(d,c)&&(o=d[c],this.attribute(o,i,n));if(l=0===(h=r.children.length)?null:r.children[0],0===h||r.children.every(function(e){return(e.type===t.Text||e.type===t.Raw)&&""===e.value}))i.allowEmpty?(this.stream.write(">"),i.state=e.CloseTag,this.stream.write("</"+r.name+">")):(i.state=e.CloseTag,this.stream.write(i.spaceBeforeSlash+"/>"));else if(!i.pretty||1!==h||l.type!==t.Text&&l.type!==t.Raw||null==l.value){for(this.stream.write(">"+this.endline(r,i,n)),i.state=e.InsideTag,p=0,u=(_=r.children).length;p<u;p++)a=_[p],this.writeChildNode(a,i,n+1);i.state=e.CloseTag,this.stream.write(this.indent(r,i,n)+"</"+r.name+">")}else this.stream.write(">"),i.state=e.InsideTag,i.suppressPrettyCount++,!0,this.writeChildNode(l,i,n+1),i.suppressPrettyCount--,!1,i.state=e.CloseTag,this.stream.write("</"+r.name+">");return this.stream.write(this.endline(r,i,n)),i.state=e.None,this.closeNode(r,i,n)},n.prototype.processingInstruction=function(t,e,r){return this.stream.write(n.__super__.processingInstruction.call(this,t,e,r))},n.prototype.raw=function(t,e,r){return this.stream.write(n.__super__.raw.call(this,t,e,r))},n.prototype.text=function(t,e,r){return this.stream.write(n.__super__.text.call(this,t,e,r))},n.prototype.dtdAttList=function(t,e,r){return this.stream.write(n.__super__.dtdAttList.call(this,t,e,r))},n.prototype.dtdElement=function(t,e,r){return this.stream.write(n.__super__.dtdElement.call(this,t,e,r))},n.prototype.dtdEntity=function(t,e,r){return this.stream.write(n.__super__.dtdEntity.call(this,t,e,r))},n.prototype.dtdNotation=function(t,e,r){return this.stream.write(n.__super__.dtdNotation.call(this,t,e,r))},n}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./WriterState":42,"./XMLWriterBase":70}],67:[function(require,module,exports){
|
||
(function(){var t,e={}.hasOwnProperty;t=require("./XMLWriterBase"),module.exports=function(n){function r(t){r.__super__.constructor.call(this,t)}return function(t,n){for(var r in n)e.call(n,r)&&(t[r]=n[r]);function o(){this.constructor=t}o.prototype=n.prototype,t.prototype=new o,t.__super__=n.prototype}(r,t),r.prototype.document=function(t,e){var n,r,o,i,l;for(e=this.filterOptions(e),i="",r=0,o=(l=t.children).length;r<o;r++)n=l[r],i+=this.writeChildNode(n,e,0);return e.pretty&&i.slice(-e.newline.length)===e.newline&&(i=i.slice(0,-e.newline.length)),i},r}()}).call(this);
|
||
|
||
},{"./XMLWriterBase":70}],68:[function(require,module,exports){
|
||
(function(){var t=function(t,o){return function(){return t.apply(o,arguments)}},o={}.hasOwnProperty;module.exports=function(){function n(n){var r,i,e;for(r in this.assertLegalName=t(this.assertLegalName,this),this.assertLegalChar=t(this.assertLegalChar,this),n||(n={}),this.options=n,this.options.version||(this.options.version="1.0"),i=n.stringify||{})o.call(i,r)&&(e=i[r],this[r]=e)}return n.prototype.name=function(t){return this.options.noValidation?t:this.assertLegalName(""+t||"")},n.prototype.text=function(t){return this.options.noValidation?t:this.assertLegalChar(this.textEscape(""+t||""))},n.prototype.cdata=function(t){return this.options.noValidation?t:(t=(t=""+t||"").replace("]]>","]]]]><![CDATA[>"),this.assertLegalChar(t))},n.prototype.comment=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/--/))throw new Error("Comment text cannot contain double-hypen: "+t);return this.assertLegalChar(t)},n.prototype.raw=function(t){return this.options.noValidation?t:""+t||""},n.prototype.attValue=function(t){return this.options.noValidation?t:this.assertLegalChar(this.attEscape(t=""+t||""))},n.prototype.insTarget=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.insValue=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/\?>/))throw new Error("Invalid processing instruction value: "+t);return this.assertLegalChar(t)},n.prototype.xmlVersion=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/1\.[0-9]+/))throw new Error("Invalid version number: "+t);return t},n.prototype.xmlEncoding=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/))throw new Error("Invalid encoding: "+t);return this.assertLegalChar(t)},n.prototype.xmlStandalone=function(t){return this.options.noValidation?t:t?"yes":"no"},n.prototype.dtdPubID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdSysID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdElementValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdAttType=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdAttDefault=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdEntityValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdNData=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.convertAttKey="@",n.prototype.convertPIKey="?",n.prototype.convertTextKey="#text",n.prototype.convertCDataKey="#cdata",n.prototype.convertCommentKey="#comment",n.prototype.convertRawKey="#raw",n.prototype.assertLegalChar=function(t){var o,n;if(this.options.noValidation)return t;if(o="","1.0"===this.options.version){if(o=/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(o))throw new Error("Invalid character in string: "+t+" at index "+n.index)}else if("1.1"===this.options.version&&(o=/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(o)))throw new Error("Invalid character in string: "+t+" at index "+n.index);return t},n.prototype.assertLegalName=function(t){var o;if(this.options.noValidation)return t;if(this.assertLegalChar(t),o=/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,!t.match(o))throw new Error("Invalid character in name");return t},n.prototype.textEscape=function(t){var o;return this.options.noValidation?t:(o=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(o,"&").replace(/</g,"<").replace(/>/g,">").replace(/\r/g,"
"))},n.prototype.attEscape=function(t){var o;return this.options.noValidation?t:(o=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(o,"&").replace(/</g,"<").replace(/"/g,""").replace(/\t/g,"	").replace(/\n/g,"
").replace(/\r/g,"
"))},n}()}).call(this);
|
||
|
||
},{}],69:[function(require,module,exports){
|
||
(function(){var t,e,o={}.hasOwnProperty;t=require("./NodeType"),e=require("./XMLCharacterData"),module.exports=function(r){function i(e,o){if(i.__super__.constructor.call(this,e),null==o)throw new Error("Missing element text. "+this.debugInfo());this.name="#text",this.type=t.Text,this.value=this.stringify.text(o)}return function(t,e){for(var r in e)o.call(e,r)&&(t[r]=e[r]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(i,e),Object.defineProperty(i.prototype,"isElementContentWhitespace",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(i.prototype,"wholeText",{get:function(){var t,e,o;for(o="",e=this.previousSibling;e;)o=e.data+o,e=e.previousSibling;for(o+=this.data,t=this.nextSibling;t;)o+=t.data,t=t.nextSibling;return o}}),i.prototype.clone=function(){return Object.create(this)},i.prototype.toString=function(t){return this.options.writer.text(this,this.options.writer.filterOptions(t))},i.prototype.splitText=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},i.prototype.replaceWholeText=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},i}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./XMLCharacterData":45}],70:[function(require,module,exports){
|
||
(function(){var e,t,n,s={}.hasOwnProperty;n=require("./Utility").assign,e=require("./NodeType"),require("./XMLDeclaration"),require("./XMLDocType"),require("./XMLCData"),require("./XMLComment"),require("./XMLElement"),require("./XMLRaw"),require("./XMLText"),require("./XMLProcessingInstruction"),require("./XMLDummy"),require("./XMLDTDAttList"),require("./XMLDTDElement"),require("./XMLDTDEntity"),require("./XMLDTDNotation"),t=require("./WriterState"),module.exports=function(){function o(e){var t,n,o;for(t in e||(e={}),this.options=e,n=e.writer||{})s.call(n,t)&&(o=n[t],this["_"+t]=this[t],this[t]=o)}return o.prototype.filterOptions=function(e){var s,o,a,i,r,l,u,p;return e||(e={}),e=n({},this.options,e),(s={writer:this}).pretty=e.pretty||!1,s.allowEmpty=e.allowEmpty||!1,s.indent=null!=(o=e.indent)?o:" ",s.newline=null!=(a=e.newline)?a:"\n",s.offset=null!=(i=e.offset)?i:0,s.dontPrettyTextNodes=null!=(r=null!=(l=e.dontPrettyTextNodes)?l:e.dontprettytextnodes)?r:0,s.spaceBeforeSlash=null!=(u=null!=(p=e.spaceBeforeSlash)?p:e.spacebeforeslash)?u:"",!0===s.spaceBeforeSlash&&(s.spaceBeforeSlash=" "),s.suppressPrettyCount=0,s.user={},s.state=t.None,s},o.prototype.indent=function(e,t,n){var s;return!t.pretty||t.suppressPrettyCount?"":t.pretty&&(s=(n||0)+t.offset+1)>0?new Array(s).join(t.indent):""},o.prototype.endline=function(e,t,n){return!t.pretty||t.suppressPrettyCount?"":t.newline},o.prototype.attribute=function(e,t,n){var s;return this.openAttribute(e,t,n),s=" "+e.name+'="'+e.value+'"',this.closeAttribute(e,t,n),s},o.prototype.cdata=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<![CDATA[",n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+="]]>"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.comment=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"\x3c!-- ",n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+=" --\x3e"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.declaration=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<?xml",n.state=t.InsideTag,o+=' version="'+e.version+'"',null!=e.encoding&&(o+=' encoding="'+e.encoding+'"'),null!=e.standalone&&(o+=' standalone="'+e.standalone+'"'),n.state=t.CloseTag,o+=n.spaceBeforeSlash+"?>",o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.docType=function(e,n,s){var o,a,i,r,l;if(s||(s=0),this.openNode(e,n,s),n.state=t.OpenTag,r=this.indent(e,n,s),r+="<!DOCTYPE "+e.root().name,e.pubID&&e.sysID?r+=' PUBLIC "'+e.pubID+'" "'+e.sysID+'"':e.sysID&&(r+=' SYSTEM "'+e.sysID+'"'),e.children.length>0){for(r+=" [",r+=this.endline(e,n,s),n.state=t.InsideTag,a=0,i=(l=e.children).length;a<i;a++)o=l[a],r+=this.writeChildNode(o,n,s+1);n.state=t.CloseTag,r+="]"}return n.state=t.CloseTag,r+=n.spaceBeforeSlash+">",r+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),r},o.prototype.element=function(n,o,a){var i,r,l,u,p,d,h,c,y,T,f,N,g,D;for(y in a||(a=0),T=!1,f="",this.openNode(n,o,a),o.state=t.OpenTag,f+=this.indent(n,o,a)+"<"+n.name,N=n.attribs)s.call(N,y)&&(i=N[y],f+=this.attribute(i,o,a));if(u=0===(l=n.children.length)?null:n.children[0],0===l||n.children.every(function(t){return(t.type===e.Text||t.type===e.Raw)&&""===t.value}))o.allowEmpty?(f+=">",o.state=t.CloseTag,f+="</"+n.name+">"+this.endline(n,o,a)):(o.state=t.CloseTag,f+=o.spaceBeforeSlash+"/>"+this.endline(n,o,a));else if(!o.pretty||1!==l||u.type!==e.Text&&u.type!==e.Raw||null==u.value){if(o.dontPrettyTextNodes)for(p=0,h=(g=n.children).length;p<h;p++)if(((r=g[p]).type===e.Text||r.type===e.Raw)&&null!=r.value){o.suppressPrettyCount++,T=!0;break}for(f+=">"+this.endline(n,o,a),o.state=t.InsideTag,d=0,c=(D=n.children).length;d<c;d++)r=D[d],f+=this.writeChildNode(r,o,a+1);o.state=t.CloseTag,f+=this.indent(n,o,a)+"</"+n.name+">",T&&o.suppressPrettyCount--,f+=this.endline(n,o,a),o.state=t.None}else f+=">",o.state=t.InsideTag,o.suppressPrettyCount++,T=!0,f+=this.writeChildNode(u,o,a+1),o.suppressPrettyCount--,T=!1,o.state=t.CloseTag,f+="</"+n.name+">"+this.endline(n,o,a);return this.closeNode(n,o,a),f},o.prototype.writeChildNode=function(t,n,s){switch(t.type){case e.CData:return this.cdata(t,n,s);case e.Comment:return this.comment(t,n,s);case e.Element:return this.element(t,n,s);case e.Raw:return this.raw(t,n,s);case e.Text:return this.text(t,n,s);case e.ProcessingInstruction:return this.processingInstruction(t,n,s);case e.Dummy:return"";case e.Declaration:return this.declaration(t,n,s);case e.DocType:return this.docType(t,n,s);case e.AttributeDeclaration:return this.dtdAttList(t,n,s);case e.ElementDeclaration:return this.dtdElement(t,n,s);case e.EntityDeclaration:return this.dtdEntity(t,n,s);case e.NotationDeclaration:return this.dtdNotation(t,n,s);default:throw new Error("Unknown XML node type: "+t.constructor.name)}},o.prototype.processingInstruction=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<?",n.state=t.InsideTag,o+=e.target,e.value&&(o+=" "+e.value),n.state=t.CloseTag,o+=n.spaceBeforeSlash+"?>",o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.raw=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s),n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.text=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s),n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdAttList=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!ATTLIST",n.state=t.InsideTag,o+=" "+e.elementName+" "+e.attributeName+" "+e.attributeType,"#DEFAULT"!==e.defaultValueType&&(o+=" "+e.defaultValueType),e.defaultValue&&(o+=' "'+e.defaultValue+'"'),n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdElement=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!ELEMENT",n.state=t.InsideTag,o+=" "+e.name+" "+e.value,n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdEntity=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!ENTITY",n.state=t.InsideTag,e.pe&&(o+=" %"),o+=" "+e.name,e.value?o+=' "'+e.value+'"':(e.pubID&&e.sysID?o+=' PUBLIC "'+e.pubID+'" "'+e.sysID+'"':e.sysID&&(o+=' SYSTEM "'+e.sysID+'"'),e.nData&&(o+=" NDATA "+e.nData)),n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdNotation=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!NOTATION",n.state=t.InsideTag,o+=" "+e.name,e.pubID&&e.sysID?o+=' PUBLIC "'+e.pubID+'" "'+e.sysID+'"':e.pubID?o+=' PUBLIC "'+e.pubID+'"':e.sysID&&(o+=' SYSTEM "'+e.sysID+'"'),n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.openNode=function(e,t,n){},o.prototype.closeNode=function(e,t,n){},o.prototype.openAttribute=function(e,t,n){},o.prototype.closeAttribute=function(e,t,n){},o}()}).call(this);
|
||
|
||
},{"./NodeType":40,"./Utility":41,"./WriterState":42,"./XMLCData":44,"./XMLComment":46,"./XMLDTDAttList":51,"./XMLDTDElement":52,"./XMLDTDEntity":53,"./XMLDTDNotation":54,"./XMLDeclaration":55,"./XMLDocType":56,"./XMLDummy":59,"./XMLElement":60,"./XMLProcessingInstruction":64,"./XMLRaw":65,"./XMLText":69}],71:[function(require,module,exports){
|
||
(function(){var e,r,t,n,i,o,u,l,m,s;s=require("./Utility"),l=s.assign,m=s.isFunction,t=require("./XMLDOMImplementation"),n=require("./XMLDocument"),i=require("./XMLDocumentCB"),u=require("./XMLStringWriter"),o=require("./XMLStreamWriter"),e=require("./NodeType"),r=require("./WriterState"),module.exports.create=function(e,r,t,i){var o,u;if(null==e)throw new Error("Root element needs a name.");return i=l({},r,t,i),u=(o=new n(i)).element(e),i.headless||(o.declaration(i),null==i.pubID&&null==i.sysID||o.dtd(i)),u},module.exports.begin=function(e,r,t){var o;return m(e)&&(r=(o=[e,r])[0],t=o[1],e={}),r?new i(e,r,t):new n(e)},module.exports.stringWriter=function(e){return new u(e)},module.exports.streamWriter=function(e,r){return new o(e,r)},module.exports.implementation=new t,module.exports.nodeType=e,module.exports.writerState=r}).call(this);
|
||
|
||
},{"./NodeType":40,"./Utility":41,"./WriterState":42,"./XMLDOMImplementation":49,"./XMLDocument":57,"./XMLDocumentCB":58,"./XMLStreamWriter":66,"./XMLStringWriter":67}],72:[function(require,module,exports){
|
||
|
||
},{}],73:[function(require,module,exports){
|
||
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,i=1,a=arguments.length;i<a;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},__createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,a){void 0===a&&(a=i),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,a){void 0===a&&(a=i),e[a]=t[i]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&__createBinding(t,e,i);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});var jQuery=require("jquery");require("jquery-ui");var inputsWithValue,utils_1=__importDefault(require("./modules/utils")),Communication=__importStar(require("./modules/communication")),Parser=__importStar(require("./modules/parser")),UI=__importStar(require("./modules/ui")),BookingBtn=__importStar(require("./modules/bookingButton")),Parent=__importStar(require("./modules/parent"));function messageHandler(e){if("string"==typeof e.data){var t=JSON.parse(e.data);switch(utils_1.default.consoleLog("parent: received from "+t.from),utils_1.default.consoleLog(t),t.event){case"child_init_needInputsWithValue":Parent.initNeedInputsWithValue(inputsWithValue);break;case"child_init_needVenueXML":Parent.initNeedVenueXML(inputsWithValue);break;case"child_needSeatmapXML":Parent.needSeatmapXML(e,inputsWithValue);break;case"child_seatmap_ready":utils_1.default.consoleLog("child completely ready"),jQuery("#containerBookingBtn").show();break;case"child_needCheckoutResponse":Parent.needCheckoutResponse(e,inputsWithValue);break;case"child_hide_dialog_titlebar":jQuery(".ui-dialog-titlebar").hide();break;case"child_show_dialog_titlebar":jQuery(".ui-dialog-titlebar").show();break;case"child_click_checkout":Parent.clickCheckout(e);break;case"child_closeDialog":jQuery(".ui-dialog-titlebar-close").click()}}}require("../src/css/inject.css"),window.addEventListener("load",function(){var e=(new XMLSerializer).serializeToString(document);inputsWithValue=__assign(__assign({},inputsWithValue),Parser.getInputs(e)),utils_1.default.consoleLog(inputsWithValue),utils_1.default.consoleLog("trxstate: "+inputsWithValue.trxstate);var t=/posturl:"(.+?)"/.test(e);utils_1.default.consoleLog("posturl available: "+t),"20"===inputsWithValue.trxstate&&!1!==t&&(Parent.injectResources(),Communication.listenToMessages(messageHandler),inputsWithValue=__assign(__assign({},inputsWithValue),Parser.getAdditionalInputs(e)),inputsWithValue=__assign(__assign({},inputsWithValue),Parser.getVenueImage()),(inputsWithValue=__assign(__assign({},inputsWithValue),Parser.getImportantNote())).smap=Parser.getSMAP(),BookingBtn.injectBookingBtn(),UI.createDialog(),utils_1.default.consoleLog(inputsWithValue))});
|
||
|
||
},{"../src/css/inject.css":72,"./modules/bookingButton":74,"./modules/communication":77,"./modules/parent":84,"./modules/parser":85,"./modules/ui":87,"./modules/utils":88,"jquery":31,"jquery-ui":30}],74:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t),Object.defineProperty(e,i,{enumerable:!0,get:function(){return n[t]}})}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(n,e,t);return __setModuleDefault(n,e),n};Object.defineProperty(exports,"__esModule",{value:!0}),exports.showSeatmapBtnParent=exports.injectBookingBtn=void 0;var Communication=__importStar(require("./communication"));function injectBookingBtn(){jQuery(".flash_seat_map_box").remove(),changeBookingBtnCSS(),appendBookingBtnHTML()}function showSeatmapBtnParent(){Communication.sendEventToParent("child_seatmap_ready")}function appendBookingBtnHTML(){jQuery("#flash_seat_map_box_id").append('\n <div class="row_space"></div>\n <div class="row_space"></div>\n <div id="containerBookingBtn">\n <a class="continue" id="openSeatmap">\n <span>Saalplanbuchung</span>\n </a>\n <div id="dialogSeatmap" hidden="hidden"></div>\n </div>\n ')}function changeBookingBtnCSS(){jQuery("#flash_seat_map_box_id").css({display:"block",position:"relative",width:"100%"})}exports.injectBookingBtn=injectBookingBtn,exports.showSeatmapBtnParent=showSeatmapBtnParent;
|
||
|
||
},{"./communication":77}],75:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateCheckoutUrl=exports.initModalCart=exports.generateCartItems=exports.calcOverallPrice=exports.changedDropdownBuyerType=exports.removeCartItems=exports.addItem=void 0;var XMLHelper=__importStar(require("./xmlhelper")),config_1=require("./config"),Events=__importStar(require("./events")),CartButtons=__importStar(require("./cartButtons"));function addItem(e){var t="#"+XMLHelper.getVenuePricescalePropertyByPricescaleID("color",e.data.seatsObj.id[0]),r=XMLHelper.getVenuePricescalePropertyByPricescaleID("desc",e.data.seatsObj.id[0]),a=config_1.config.state.layoutRows[e.id][5],n=config_1.config.state.layoutRows[e.id][4],o=config_1.config.state.layoutRows[e.id][3],c=XMLHelper.getSectionDescBySectionID(o)+"<br/>Reihe "+n+" Platz "+a,i=XMLHelper.getBuyerTypesByPricescaleID(e.data.seatsObj.id[0]),s="cartItem-"+e.id,d="#"+s+" .dropdownBuyerTypes";appendHTML(s,t,r,c),addDropdownBuyerTypeOptions(i,d),Events.addCartDropdownBuyerTypes(d,e)}function removeCartItems(){jQuery("#cartItemHTML .cartItem").each(function(){this.remove()})}function changedDropdownBuyerType(e,t){var r=config_1.config.state.selectedSeatsArr.findIndex(function(e){return e[0]===t.id});config_1.config.state.selectedSeatsArr[r][1]=e.value;var a=XMLHelper.getBuyerTypeCodeByBuyerTypeID(e.value);a&&(config_1.config.state.selectedSeatsArr[r][2]=a),calcOverallPrice(),CartButtons.setBtnCartText();var n=generateCheckoutUrl();Events.addRedirectCheckout(n)}function calcOverallPrice(){return config_1.config.state.selectedSeatsArr.length?(config_1.config.state.priceOverall=sumSeatPrices(),config_1.config.state.priceOverall):(config_1.config.state.priceOverall="0","0")}function generateCartItems(){if(config_1.config.state.selectedSeatsArr.length)for(var e in config_1.config.state.selectedSeatsObj){if(Object.prototype.hasOwnProperty.call(config_1.config.state.selectedSeatsObj,e))addItem(config_1.config.state.selectedSeatsObj[e])}}function initModalCart(){jQuery("#modalCart-overlay").hide(),Events.addCartBack(),Events.addCartClose()}function generateCheckoutUrl(){if(config_1.config.state.selectedSeatsArr.length){var e=config_1.config.state.inputsWithValue,t=XMLHelper.generateSelectedSeatIndexes();return e.ticketPurchaseUrl+"?user_context="+e.user_context+"&pid="+e.pid+"&selected_seat_indexes="+t+"&trxstate=148"}}function appendHTML(e,t,r,a){jQuery("#cartItemHTML .fl-html").append('\n <div class="cartItem" id="'+e+'">\n <div class="cartItemColoredSquare" style="background: '+t+';"></div>\n <div class="cartItemCategory">'+r+'</div>\n <h5 class="cartItemSeat">'+a+'</h5>\n <select name="dropdownBuyerTypes" class="dropdownBuyerTypes"></select>\n </div>')}function addDropdownBuyerTypeOptions(e,t){e&&e.forEach(function(e){e[0]&&appendOption(t,e)})}function appendOption(e,t){var r=jQuery(e).get(0),a=document.createElement("option");a.value=t[0],a.innerHTML=t[2]+" €"+t[1],r.appendChild(a)}function sumSeatPrices(){return config_1.config.state.selectedSeatsArr.map(getSeatPrice).reduce(function(e,t){return e+t}).toFixed(2)}function getSeatPrice(e){var t=e[0],r=e[1],a=config_1.config.state.selectedSeatsObj[t].data.seatsObj.id[0],n=XMLHelper.getVenuePriceStructurePropertyByPricescaleID(a);if(n){var o=XMLHelper.getPriceByBuyerTypeID(r,n);if(o)return o}return 0}exports.addItem=addItem,exports.removeCartItems=removeCartItems,exports.changedDropdownBuyerType=changedDropdownBuyerType,exports.calcOverallPrice=calcOverallPrice,exports.generateCartItems=generateCartItems,exports.initModalCart=initModalCart,exports.generateCheckoutUrl=generateCheckoutUrl;
|
||
|
||
},{"./cartButtons":76,"./config":78,"./events":79,"./xmlhelper":89}],76:[function(require,module,exports){
|
||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.showHideBtnCartLoading=exports.setBtnCartText=void 0;var config_1=require("./config");function setBtnCartText(){jQuery("#modalCart .uabb-button-text")[0].innerText=createCartBtnText(),jQuery("#modalCartSum .uabb-heading-text")[0].textContent=createModalCartBtnText()}function createCartBtnText(){var t=config_1.config.state.selectedSeatsArr.length;return""!==config_1.config.state.priceOverall?1===t?t+" Ticket für €"+config_1.config.state.priceOverall:t+" Tickets für €"+config_1.config.state.priceOverall:"0 Tickets für €0.00"}function createModalCartBtnText(){var t=config_1.config.state.selectedSeatsArr.length;return""!==config_1.config.state.priceOverall?"Summe ("+t+" Plätze) €"+config_1.config.state.priceOverall:"Summe (0 Plätze) €0,00"}function showHideBtnCartLoading(t){"show"===t?(jQuery("#modalCart .uabb-button").css("pointer-events","none"),jQuery("#modalCart i").hide(),jQuery("#modalCart .uabb-button-text").addClass("dot-pulse")):"hide"===t&&(jQuery("#modalCart i").show(),jQuery("#modalCart .uabb-button-text").removeClass("dot-pulse"),jQuery("#modalCart .uabb-button").css("pointer-events","all"))}exports.setBtnCartText=setBtnCartText,exports.showHideBtnCartLoading=showHideBtnCartLoading;
|
||
|
||
},{"./config":78}],77:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,s){void 0===s&&(s=n),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,s){void 0===s&&(s=n),e[s]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.isValidSeatSelection=exports.cancelCheckout=exports.needSeatmapXML=exports.sendEventToParent=exports.sendEventToChild=exports.sendXML=exports.listenToMessages=exports.sendMessage=void 0;var axios_1=__importDefault(require("axios")),xml2jsParser=require("xml2js").parseString,UI=__importStar(require("./ui")),config_1=require("./config"),Cart=__importStar(require("./cart")),utils_1=__importDefault(require("./utils"));function sendMessage(e,t){if("parent"===t)window.parent.postMessage(JSON.stringify(e),"*");else{var n=document.getElementById(t);null!==n&&null!==n.contentWindow&&n.contentWindow.postMessage(JSON.stringify(e),"*")}}function listenToMessages(e){window.addEventListener("message",function(t){e(t)})}function sendXML(e,t,n,s,o){void 0===o&&(o=Date.now()),getXMLPromise(e).then(function(e){sendMessage({date:o,from:s,message:e,event:n},t)}).catch(function(e){console.error(e)})}function sendEventToChild(e){sendMessage({message:null,from:"parent",event:e,date:Date.now()},"iframeSeatmap")}function sendEventToParent(e){sendMessage({message:null,from:"child",event:e,date:Date.now()},"parent")}function needSeatmapXML(e){sendMessage({message:e,from:"child",event:"child_needSeatmapXML",date:Date.now()},"parent")}function cancelCheckout(e){fetch(e,{redirect:"manual"}).then(function(){return utils_1.default.consoleLog(e+" canceled")}).catch(function(e){return utils_1.default.consoleLog(e)})}function isValidSeatSelection(){(jQuery("#modalCart-overlay").hide(),config_1.config.state.selectedSeatsArr.length)&&(UI.adjustUIToLoading(),sendMessage({message:{url:Cart.generateCheckoutUrl()},from:"child",event:"child_needCheckoutResponse",date:Date.now()},"parent"))}function getXMLPromise(e){return axios_1.default.get(e).then(function(e){return new Promise(function(t,n){var s=e;200===s.status&&"text/xml;charset=utf-8"===s.headers["content-type"]&&xml2jsParser(s.data,{normalizeTags:!0,normalize:!0,mergeAttrs:!0},function(e,s){e?n(e):t(s)})})}).catch(function(e){return utils_1.default.consoleLog(e)})}exports.sendMessage=sendMessage,exports.listenToMessages=listenToMessages,exports.sendXML=sendXML,exports.sendEventToChild=sendEventToChild,exports.sendEventToParent=sendEventToParent,exports.needSeatmapXML=needSeatmapXML,exports.cancelCheckout=cancelCheckout,exports.isValidSeatSelection=isValidSeatSelection;
|
||
|
||
},{"./cart":75,"./config":78,"./ui":87,"./utils":88,"axios":2,"xml2js":38}],78:[function(require,module,exports){
|
||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.config=void 0,exports.config={childHasVenueXML:!1,debug:!0,branch:"staging",version:"0.0.1",maxSelectedSeats:10,resources:{master:{seatmap:"https://tickets.zinomedia.de",JSC:"https://tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.min.js",CSSChild:"https://tickets.zinomedia.de/dist/seatmap.css",CSSJSC:"https://tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.css",CSSParent:"https://tickets.zinomedia.de/dist/inject.css",CSSjQueryUI:"https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css",CSSjBox:"https://tickets.zinomedia.de/dist/jBox.all.min.css"},staging:{seatmap:"https://staging.tickets.zinomedia.de",JSC:"https://staging.tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.min.js",CSSChild:"https://staging.tickets.zinomedia.de/dist/seatmap.css",CSSJSC:"https://staging.tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.css",CSSParent:"https://staging.tickets.zinomedia.de/dist/inject.css",CSSjQueryUI:"https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css",CSSjBox:"https://staging.tickets.zinomedia.de/dist/jBox.all.min.css"}},state:{priceOverall:"",cartChanged:!1,selectedSeatsArr:[],selectedSeatsObj:{},layoutRows:{},isValidSeatSelection:!1,inputsWithValue:void 0,seatmap:void 0,panzoom:void 0,inVenueXML:void 0,seatmapXML:void 0}};
|
||
|
||
},{}],79:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.addOpenSeatmap=exports.addCartDropdownBuyerTypes=exports.dropdownLegendOnChange=exports.addCartBack=exports.addCartClose=exports.addRedirectCheckout=exports.addModalCart=exports.addDropdownSeatmap=exports.addCloseModal=void 0;var Communication=__importStar(require("./communication")),UI=__importStar(require("./ui")),config_1=require("./config"),JSC=__importStar(require("./jsc")),Cart=__importStar(require("./cart")),Legend=__importStar(require("./legend")),jBoxHelper=__importStar(require("./jBoxHelper"));function addCloseModal(){var e=jQuery("#btnCloseModal").get(0);e&&e.addEventListener("click",function(){return Communication.sendEventToParent("child_closeDialog")})}function addDropdownSeatmap(){var e=document.getElementById("dropdownSeatmap");e&&e.addEventListener("change",function(){UI.controlLoftloader("show"),UI.destroyCurrentSeatmap("#containerSeatmapInner"),Communication.needSeatmapXML(this.value)})}function addModalCart(){var e=jQuery("#modalCart .uabb-button").get(0);e&&e.addEventListener("click",function(){config_1.config.state.selectedSeatsArr.length?config_1.config.state.cartChanged?Communication.isValidSeatSelection():!config_1.config.state.cartChanged&&config_1.config.state.isValidSeatSelection?UI.fadeInCartModal():config_1.config.state.cartChanged||config_1.config.state.isValidSeatSelection||jBoxHelper.showJBoxNotice("Auswahl nicht möglich: Bitte lassen Sie keinen einzelnen Platz frei."):jBoxHelper.showJBoxNotice("Sie haben bislang keinen Platz ausgewählt.")})}function addRedirectCheckout(e){if(e){var t=jQuery("#modalCart-overlay #checkout .fl-button").get(0);t&&t.addEventListener("click",function(){var t={message:{url:e},from:"child",event:"child_click_checkout",date:Date.now()};Communication.sendMessage(t,"parent")})}}function addCartClose(){var e=jQuery("#modalCart-overlay .uabb-close-icon").get(0);e&&e.addEventListener("click",function(){return Communication.sendEventToParent("child_show_dialog_titlebar")})}function addCartBack(){var e=jQuery("#modalCart-overlay #goBack .fl-button").get(0);e&&e.addEventListener("click",function(){return jQuery("#modalCart-overlay .uabb-close-icon").trigger("click")})}function dropdownLegendOnChange(e){var t=config_1.config.state.seatmap;jQuery(e).get(0).addEventListener("change",function(){var a=this.value,n="._"+a;Legend.changeDropdownLegendBGColor(e,a,n),"all"===a?(t.find("unavailable").status("available"),JSC.setUnavailableSeats()):(t.find("available").status("unavailable"),JSC.activateSeatsBySectionID(a),JSC.setUnavailableSeats())})}function addCartDropdownBuyerTypes(e,t){jQuery(e).on("change",function(){Cart.changedDropdownBuyerType(this,t)})}function addOpenSeatmap(){jQuery("#openSeatmap").on("click",function(){config_1.config.childHasVenueXML||Communication.sendEventToChild("parent_init_venue"),jQuery("html, body").css("overflow","hidden"),jQuery("#dialogSeatmap").dialog("open")})}exports.addCloseModal=addCloseModal,exports.addDropdownSeatmap=addDropdownSeatmap,exports.addModalCart=addModalCart,exports.addRedirectCheckout=addRedirectCheckout,exports.addCartClose=addCartClose,exports.addCartBack=addCartBack,exports.dropdownLegendOnChange=dropdownLegendOnChange,exports.addCartDropdownBuyerTypes=addCartDropdownBuyerTypes,exports.addOpenSeatmap=addOpenSeatmap;
|
||
|
||
},{"./cart":75,"./communication":77,"./config":78,"./jBoxHelper":80,"./jsc":81,"./legend":82,"./ui":87}],80:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,i){void 0===i&&(i=o),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[o]}})}:function(e,t,o,i){void 0===i&&(i=o),e[i]=t[o]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&__createBinding(t,e,o);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createSeatTooltips=exports.showJBoxNotice=void 0;var jbox_1=__importDefault(require("jbox")),config_1=require("./config"),XMLHelper=__importStar(require("./xmlhelper"));function showJBoxNotice(e,t){void 0===t&&(t=5e3),new jbox_1.default("Notice",{position:{x:"center",y:"top"},offset:{x:0,y:320},content:e,autoClose:t,animation:{open:"zoomIn",close:"zoomOut"},closeOnEsc:!1,closeButton:!0,closeOnMouseleave:!1,closeOnClick:!1,draggable:!1,color:"red",stack:!0,showCountdown:!0,reposition:!0,responsiveWidth:!0,responsiveHeight:!0})}function createSeatTooltips(){new jbox_1.default("Tooltip",{attach:jQuery(".seatCharts-seat"),onOpen:function(){showSeatTooltip(this)}})}function showSeatTooltip(e){var t=e.source[0].id,o=config_1.config.state.layoutRows[t][5],i=config_1.config.state.layoutRows[t][4],n=config_1.config.state.layoutRows[t][3],r=XMLHelper.getSectionDescBySectionID(n)+"<br/>Reihe "+i+" Platz "+o;e.setContent(r)}exports.showJBoxNotice=showJBoxNotice,exports.createSeatTooltips=createSeatTooltips;
|
||
|
||
},{"./config":78,"./xmlhelper":89,"jbox":29}],81:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.addSeatmap=exports.selectSeatsInCart=exports.createArrMatrix=exports.splitSeatStr=exports.getSeatsKey=exports.setUnavailableSeats=exports.generateLegend=exports.generateMap=exports.getRowsNaming=exports.activateSeatsBySectionID=exports.getSeats=void 0;var config_1=require("./config"),State=__importStar(require("./state")),Cart=__importStar(require("./cart")),CartButtons=__importStar(require("./cartButtons")),utils_1=__importDefault(require("./utils"));function getSeats(){var e=config_1.config.state.seatmapXML.seatmap[0].pricescale_config[0].pricescale,t={};for(var a in e){var r={classes:"_"+e[a].id[0],seatsObj:e[a]};t[String.fromCharCode(97+parseInt(a)).toLocaleUpperCase()]=r}return t}function activateSeatsBySectionID(e){var t,a=config_1.config.state.seatmapXML,r=config_1.config.state.seatmap,i=null===(t=a.seatmap[0].pricescale_config[0].pricescale.find(function(t){return t.id[0]===e}))||void 0===t?void 0:t.mask[0].split(",");r.status(i,"available")}function getRowsNaming(){var e=config_1.config.state.seatmapXML.seatmap[0].layouts[0].layout[0],t=parseInt(e.height[0]),a=Array.from({length:t},function(e){return""});return e.rows[0].row.forEach(function(e){var t=parseInt(e.y_cell_coord[0]),r=splitSeatStr(e.seats[0].split("|")[0])[4];a[t]=r}),a}function generateMap(){var e=config_1.config.state.seatmapXML,t=e.seatmap[0].layouts[0].layout[0],a=t.rows[0].row,r=e.seatmap[0].pricescale_config[0].pricescale,i=e.seatmap[0].view_modes[0].view_mode[0].availability[0],n=createArrMatrix(parseInt(t.height[0]),parseInt(t.width[0]),"_");return(n=enterSeatsInMatrix(a,n,r,i)).map(function(e){return e.join("")})}function generateLegend(e){var t=config_1.config.state.seatmapXML,a=config_1.config.state.inVenueXML,r=t.seatmap[0].pricescale_config[0].pricescale,i=a.venue[0].pricescales[0].pricescale;return{node:jQuery(e),items:createLegendItems(r,i)}}function setUnavailableSeats(){var e=config_1.config.state.seatmapXML,t=config_1.config.state.seatmap,a=e.seatmap[0].view_modes[0].view_mode[0].availability[0];if(""!==a.unavailable_unselectable_mask[0]){var r=a.unavailable_unselectable_mask[0].split(",");t.status(r,"unavailable")}}function getSeatsKey(e,t){for(var a in t)if(t[a].mask[0].includes(e))return String.fromCharCode(97+parseInt(a)).toLocaleUpperCase()}function splitSeatStr(e){return e.split(",").map(function(e){return e.trim()})}function createArrMatrix(e,t,a){return Array(e).fill(null).map(function(){return Array(t).fill(a)})}function selectSeatsInCart(){var e=config_1.config.state.seatmap;config_1.config.state.selectedSeatsArr.forEach(function(t){var a=t[0];e.get(a)&&e.status(a,"selected")})}function addSeatmap(e,t,a,r,i){var n=window.jQuery(e);config_1.config.state.seatmap=n.seatCharts({naming:{top:!1,left:!1,rows:a},map:t,seats:r,legend:i,click:function(){return clickedSeat(this)}})}function createLegendItems(e,t){return e.map(function(a,r){var i,n=a.id[0];return[String.fromCharCode(97+r).toLocaleUpperCase(),"available",(null===(i=t.find(function(e){return e.id[0]===n}))||void 0===i?void 0:i.desc[0])+" €"+e[r].ref_price[0]]})}function enterSeatsInMatrix(e,t,a,r){var i=r.available_selectable_mask[0].split(","),n=r.unavailable_unselectable_mask[0].split(",");return e.forEach(function(e){var r=e,s=parseInt(r.y_cell_coord[0])-1;r.seats[0].split("|").forEach(function(e){var r=splitSeatStr(e);if(i.includes(r[0])||n.includes(r[0])){var o=parseInt(r[2])-1,c=getSeatsKey(r[0],a);c&&(t[s][o]=c+"["+r[0]+", ]"),config_1.config.state.layoutRows[r[0]]=r}})}),t}function clickedSeat(e){return"available"==e.status()?clickAvailableSeat(e):"selected"===e.status()?clickedSelectedSeat(e):"unavailable"==e.status()?"unavailable":e.style()}function clickAvailableSeat(e){var t=e.settings;return utils_1.default.consoleLog(t),State.maximumSelectedSeatsReached(t)?"available":(State.addSeatToState(t),Cart.calcOverallPrice(),CartButtons.setBtnCartText(),"selected")}function clickedSelectedSeat(e){var t=e.settings;return State.removeSeatFromState(t),Cart.calcOverallPrice(),CartButtons.setBtnCartText(),"available"}exports.getSeats=getSeats,exports.activateSeatsBySectionID=activateSeatsBySectionID,exports.getRowsNaming=getRowsNaming,exports.generateMap=generateMap,exports.generateLegend=generateLegend,exports.setUnavailableSeats=setUnavailableSeats,exports.getSeatsKey=getSeatsKey,exports.splitSeatStr=splitSeatStr,exports.createArrMatrix=createArrMatrix,exports.selectSeatsInCart=selectSeatsInCart,exports.addSeatmap=addSeatmap;
|
||
|
||
},{"./cart":75,"./cartButtons":76,"./config":78,"./state":86,"./utils":88}],82:[function(require,module,exports){
|
||
"use strict";function convertLegendToDropdown(e){jQuery("ul.seatCharts-legendList").each(function(){var n=jQuery(document.createElement("select")).insertBefore(jQuery(this).hide());n.attr({id:e}),appendFirstLegendOption(n),appendLegendOptions(this,n)})}function appendLegendOptions(e,n){jQuery(">li",e).each(function(){var e=jQuery(this)[0].children[0].classList[3],o=e.substring(1),r=jQuery(this)[0].children[1].innerText;appendLegendOption(n,e,o,r)})}function appendLegendOption(e,n,o,r){var t=jQuery("<option/>");t.attr({value:o,class:n}).text(r),e.append(t)}function appendFirstLegendOption(e){var n=jQuery("<option/>");n.attr({value:"all"}).text("Alle Preiskategorien"),n.css("color","#5c5c5c"),e.append(n)}function changeDropdownLegendBGColor(e,n,o){var r="#fafafa",t="#5c5c5c";"all"!==n&&(t="white",r=jQuery(o).css("background-color")),jQuery(e).css("color",t),jQuery(e).css("background-color",r),jQuery(e+' option[value="all"]').css("color",t)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.changeDropdownLegendBGColor=exports.convertLegendToDropdown=void 0,exports.convertLegendToDropdown=convertLegendToDropdown,exports.changeDropdownLegendBGColor=changeDropdownLegendBGColor;
|
||
|
||
},{}],83:[function(require,module,exports){
|
||
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.unbindPanzoomEvents=exports.addPanzoom=void 0;var panzoom_1=__importDefault(require("@panzoom/panzoom")),config_1=require("./config");function addPanzoom(e,o,n,t){void 0===o&&(o=void 0),void 0===n&&(n=void 0),void 0===t&&(t=void 0);var a=jQuery(e).get(0);if(a){var i=panzoom_1.default(a,{maxScale:5,animate:!1,overflow:"hidden",startScale:"0.66"});return addPanzoomEvents(o,n,t,a.parentElement,i),i}}function addPanzoomEvents(e,o,n,t,a){[{Selector:e,PanzoomFunction:a.zoomIn,Type:"click"},{Selector:o,PanzoomFunction:a.zoomOut,Type:"click"},{Selector:n,PanzoomFunction:a.reset,Type:"click"},{HTMLElement:t,PanzoomFunction:a.zoomWithWheel,Type:"wheel"}].map(function(e){if(e.Selector){var o=jQuery(e.Selector).get(0);o&&o.addEventListener(e.Type,e.PanzoomFunction)}else e.HTMLElement&&"wheel"===e.Type&&e.HTMLElement.addEventListener(e.Type,e.PanzoomFunction)})}function unbindPanzoomEvents(e){var o;null===(o=jQuery(e).get(0).parentElement)||void 0===o||o.removeEventListener("wheel",config_1.config.state.panzoom.zoomWithWheel)}exports.addPanzoom=addPanzoom,exports.unbindPanzoomEvents=unbindPanzoomEvents;
|
||
|
||
},{"./config":78,"@panzoom/panzoom":1}],84:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.injectResources=exports.clickCheckout=exports.needSeatmapXML=exports.initNeedVenueXML=exports.initNeedInputsWithValue=exports.needCheckoutResponse=void 0;var config_1=require("./config"),axios_1=__importDefault(require("axios")),Communication=__importStar(require("./communication")),utils_1=__importDefault(require("./utils"));function needCheckoutResponse(e,t){var n=JSON.parse(e.data).message.url;axios_1.default.get(n,{maxRedirects:0}).then(function(e){var i=!1,a=e.data,o=jQuery.parseHTML(a),r=jQuery(o).find("#orderkey").val();if(utils_1.default.consoleLog("orderkey: "+r),r){i=!0;var s=t.ticketPurchaseUrl+"?user_context="+t.user_context+"&pid="+t.pid+"&orderkey="+r+"&trxstate=92";Communication.cancelCheckout(s)}var u={message:{isValidSeatSelection:i,parsedHTML:o,url:n},from:"parent",event:"parent_sendCheckoutResponse",date:Date.now()};Communication.sendMessage(u,"iframeSeatmap")}).catch(function(e){utils_1.default.consoleLog("error in child_needCheckoutResponse"),utils_1.default.consoleLog(e)})}function initNeedInputsWithValue(e){var t={message:e,from:"parent",event:"parent_init_sendInputsWithValue",date:Date.now()};Communication.sendMessage(t,"iframeSeatmap")}function initNeedVenueXML(e){Communication.sendXML(e.posturl,"iframeSeatmap","parent_init_sendVenueXML","parent"),config_1.config.childHasVenueXML=!0}function needSeatmapXML(e,t){var n=JSON.parse(e.data),i=t.posturlRawDecoded+"&inclseatmap=Y&seatmap="+n.message;Communication.sendXML(i,"iframeSeatmap","parent_sendSeatmapXML","parent")}function clickCheckout(e){var t=JSON.parse(e.data).message.url;window.location.href=t}function injectResources(){var e=config_1.config.branch,t=config_1.config.resources[e];utils_1.default.inject(t.CSSParent,"css","body")}exports.needCheckoutResponse=needCheckoutResponse,exports.initNeedInputsWithValue=initNeedInputsWithValue,exports.initNeedVenueXML=initNeedVenueXML,exports.needSeatmapXML=needSeatmapXML,exports.clickCheckout=clickCheckout,exports.injectResources=injectResources;
|
||
|
||
},{"./communication":77,"./config":78,"./utils":88,"axios":2}],85:[function(require,module,exports){
|
||
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEventInfo=exports.getSMAP=exports.getVenueImage=exports.getAdditionalInputs=exports.getImportantNote=exports.getInputs=exports.getVenueLocation=void 0;var config_1=require("./config"),jQuery=require("jquery"),utils_1=__importDefault(require("./utils"));function getVenueLocation(){var e=[];return jQuery(".venue span").each(function(){e.push(jQuery(this).text())}),e.join(", ")}function getInputs(e){var t=jQuery.parseHTML(e),n={};return jQuery(t).find("input").each(function(){var e=this.name,t=this.value;""!==t&&(n[e]=t)}),n}function getImportantNote(){if(jQuery(".important_note").length){var e=jQuery(".important_note")[0].textContent;if(null==e?void 0:e.trim().length)return{importantNote:e,importantNoteEncoded:encodeURIComponent(e)}}}function getAdditionalInputs(e){var t=e.match(/event:"(.+?)"/)[1],n=e.match(/holdcode:"(.+?)"/)[1],i=e.match(/posturl:"(.+?)"/)[1],o=decodeURIComponent(i),a=decodeURIComponent(i+"&event="+t+"&holdcode="+n+"&nocache=0&inclpkg=Y&incloffer=Y&inclcartdetails=Y&inclCart=Y&inclvenue=Y"),r=getVenueLocation(),u=o.split("?")[0].split("/").slice(0,-1).join("/")+"/TicketPurchase";return{event:t,holdcode:n,posturlRaw:i,posturlRawDecoded:o,posturl:a,venueLocation:r,ticketPurchaseUrl:u}}function getVenueImage(){var e=jQuery("#static_venue_map img").get(0);if(e)return{venueImageSrc:e.src,venueImageHeight:e.height,venueImageWidth:e.width}}function getSMAP(){if(jQuery("#seating_map_url").length){var e=jQuery("#seating_map_url a").attr("onclick").match(/openNewWindow\(\'(\d+)\'/);return e?e[1]:void 0}}function getEventInfo(){var e=config_1.config.state.inVenueXML,t=e.master_config[0].section_inventory[0].section,n=e.event[0],i=e.event[0],o=e.venue_config[0],a=new Date(parseInt(i.year[0]),parseInt(i.month[0])-1,parseInt(i.day[0]),parseInt(i.hour[0]),parseInt(i.minute[0])),r=[a.toLocaleString(["de-DE"],{weekday:"long",day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit",timeZoneName:"short"})],u=[utils_1.default.getDayName(a,"de-DE")],s=t.map(function(e){return parseInt(e.available[0])}).reduce(function(e,t){return e+t}),c={venue_config_capacity:o.capacity,venue_config_code:o.code,venue_config_desc:o.desc,venue_config_id:o.id,venue_config_nav_image:o.nav_image,venue_config_nav_image_height:o.nav_image_height,venue_config_nav_image_width:o.nav_image_width,start:r,weekday:u,seats_available:s};return __assign(__assign({},n),c)}exports.getVenueLocation=getVenueLocation,exports.getInputs=getInputs,exports.getImportantNote=getImportantNote,exports.getAdditionalInputs=getAdditionalInputs,exports.getVenueImage=getVenueImage,exports.getSMAP=getSMAP,exports.getEventInfo=getEventInfo;
|
||
|
||
},{"./config":78,"./utils":88,"jquery":31}],86:[function(require,module,exports){
|
||
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,a=1,r=arguments.length;a<r;a++)for(var i in t=arguments[a])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},__createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.maximumSelectedSeatsReached=exports.removeSeatFromState=exports.addSeatToState=void 0;var config_1=require("./config"),XMLHelper=__importStar(require("./xmlhelper")),jBoxHelper=__importStar(require("./jBoxHelper"));function addSeatToState(e){addSeatObjToState(e);var t=config_1.config.state.selectedSeatsObj[e.id].data.seatsObj.id[0],a=XMLHelper.getVenuePriceStructurePropertyByPricescaleID(t);if(a){var r=a.buyer_type[0].id[0],i=XMLHelper.getBuyerTypeCodeByBuyerTypeID(r);addSeatsItemToState([e.id,r,i])}else console.warn("Cannot find corresponding venueXML pricescaleObj for pricescale with ID "+t)}function removeSeatFromState(e){delete config_1.config.state.selectedSeatsObj[e.id];var t=config_1.config.state.selectedSeatsArr.findIndex(function(t){return t[0]===e.id});config_1.config.state.selectedSeatsArr.splice(t,1),config_1.config.state.cartChanged=!0,config_1.config.state.selectedSeatsArr.length||jQuery("#modalCart-overlay").hide()}function maximumSelectedSeatsReached(e){var t=config_1.config.state.seatmap;return config_1.config.state.selectedSeatsArr.length>=config_1.config.maxSelectedSeats&&(jBoxHelper.showJBoxNotice("Sie können maximal "+config_1.config.maxSelectedSeats+" Plätze auswählen."),t.status(e.id,"available"),!0)}function addSeatsItemToState(e){e.every(function(e){return null!==e})&&(config_1.config.state.selectedSeatsArr.push(e),config_1.config.state.cartChanged=!0)}function addSeatObjToState(e){var t,a=((t={})[e.id]=e,t);config_1.config.state.selectedSeatsObj=__assign(__assign({},config_1.config.state.selectedSeatsObj),a)}exports.addSeatToState=addSeatToState,exports.removeSeatFromState=removeSeatFromState,exports.maximumSelectedSeatsReached=maximumSelectedSeatsReached;
|
||
|
||
},{"./config":78,"./jBoxHelper":80,"./xmlhelper":89}],87:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.appendVersion=exports.adjustUIToLoading=exports.generatePricescaleCSS=exports.fadeInCartModal=exports.changeVenueImage=exports.controlLoftloader=exports.destroyCurrentSeatmap=exports.createDialog=exports.setEventInfo=exports.setOptionSelect=void 0;var Communication=__importStar(require("./communication")),config_1=require("./config"),Events=__importStar(require("./events")),Panzoom=__importStar(require("./panzoom")),CartButtons=__importStar(require("./cartButtons")),utils_1=__importDefault(require("./utils"));function setOptionSelect(e,t){var n=document.getElementById(t);if(n)for(var o=0,r=e;o<r.length;o++){var a=r[o],i=document.createElement("option");i.value=a.id[0],i.innerHTML=a.desc[0],n.appendChild(i)}}function setEventInfo(e){var t=config_1.config.state.inputsWithValue;jQuery("#eventInfoDesc span.fl-heading-text")[0].childNodes[0].textContent=e.desc[0],jQuery("#eventInfoDate p")[0].childNodes[0].textContent=e.start[0],jQuery("#eventInfoLocation p")[0].childNodes[0].textContent=t.venueLocation,jQuery("#eventInfoCapacity p")[0].childNodes[0].textContent="Verfügbare Plätze: "+e.seats_available+" von "+e.venue_config_capacity[0]}function createDialog(){var e=utils_1.default.getConfigValue("seatmap");jQuery("#dialogSeatmap").append(jQuery("<iframe id='iframeSeatmap' scrolling='no' frameborder='0' marginwidth='0' marginheight='0' allowfullscreen width='100%' />").attr("src",e)).dialog({modal:!0,autoOpen:!1,closeOnEscape:!0,draggable:!1,hide:!0,show:!0,resizable:!1,title:"",width:"100%",height:"auto",close:function(){return jQuery("html, body").css("overflow","auto")}}),Events.addOpenSeatmap()}function destroyCurrentSeatmap(e){config_1.config.state.panzoom&&Panzoom.unbindPanzoomEvents(e),jQuery("#containerSeatmapInner").remove(),jQuery("#htmlSeatmapInner .fl-html").removeAttr("style"),jQuery("#htmlSeatmapInner .fl-html").append('<div id="containerSeatmapInner"></div>'),jQuery("#JSCLegendInner").remove(),jQuery("#JSCLegend .fl-html").append('<div id="JSCLegendInner"></div>')}function controlLoftloader(e){"show"===e?jQuery("body").removeClass("loaded loftloader-loaded"):"hide"===e&&jQuery("body").addClass("loaded loftloader-loaded")}function changeVenueImage(){var e=config_1.config.state.inputsWithValue;void 0!==e.venueImageSrc&&jQuery("#venueImage img").attr("src",e.venueImageSrc)}function fadeInCartModal(){jQuery("#modalCart-overlay").fadeIn(300),Communication.sendEventToParent("child_hide_dialog_titlebar")}function generatePricescaleCSS(){return config_1.config.state.inVenueXML.venue[0].pricescales[0].pricescale.map(function(e){return"._"+e.id[0]+" { background-color: "+("#"+e.color[0]+" !important")+"; }"}).join("\r\n")}function adjustUIToLoading(){CartButtons.showHideBtnCartLoading("show"),jQuery("#modalCart i").hide(),jQuery("#modalCart .uabb-button-text").addClass("dot-pulse")}function appendVersion(){jQuery("#bottomHTMLVersion")[0].innerText=config_1.config.version,jQuery("#bottomHTMLBranch")[0].innerText="("+config_1.config.branch+")"}exports.setOptionSelect=setOptionSelect,exports.setEventInfo=setEventInfo,exports.createDialog=createDialog,exports.destroyCurrentSeatmap=destroyCurrentSeatmap,exports.controlLoftloader=controlLoftloader,exports.changeVenueImage=changeVenueImage,exports.fadeInCartModal=fadeInCartModal,exports.generatePricescaleCSS=generatePricescaleCSS,exports.adjustUIToLoading=adjustUIToLoading,exports.appendVersion=appendVersion;
|
||
|
||
},{"./cartButtons":76,"./communication":77,"./config":78,"./events":79,"./panzoom":83,"./utils":88}],88:[function(require,module,exports){
|
||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var config_1=require("./config"),Utils=function(){function e(){}return e.waitForElement=function(t,n,o,r,c){void 0===o&&(o="selector"),void 0===r&&(r=1e3),void 0===c&&(c=1e4);var a=Date.now();!function i(){("selector"===o?jQuery(t).get(0):e.getSeatmapElement())?(e.consoleLog("ready"),n()):(e.consoleLog("Repeating for "+o),setTimeout(function(){c&&Date.now()-a>c||i()},r))}()},e.getSeatmapElement=function(){var t=window.jQuery("#containerSeatmap").seatCharts;return e.isFunction(t)},e.waitForSeatmap=function(e){var t=window.jQuery("#containerSeatmap").seatCharts;this.waitForElement(t,e,"seatmap")},e.querySelector=function(e){return null!=document.querySelector(e)},e.isFunction=function(e){return"function"==typeof e},e.inject=function(t,n,o){var r;switch(void 0===n&&(n="js"),void 0===o&&(o="head"),n){case"js":(r=document.createElement("script")).type="text/javascript",r.src=t;break;case"css":(r=document.createElement("link")).type="text/css",r.rel="stylesheet",r.href=t;break;case"cssCustom":(r=document.createElement("style")).type="text/css",r.innerHTML=t;break;case"script":(r=document.createElement("script")).type="text/javascript",r.innerHTML=t;break;default:r=void 0}r&&e.appendScript(r,o)},e.appendScript=function(e,t){"body"===t?document.body.appendChild(e):"head"===t&&document.head.appendChild(e)},e.getDayName=function(e,t){return e.toLocaleDateString(t,{weekday:"long"})},e.consoleLog=function(e){0},e.getConfigValue=function(e){var t=config_1.config.branch;return config_1.config.resources[t][e]},e}();exports.default=Utils;
|
||
|
||
},{"./config":78}],89:[function(require,module,exports){
|
||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateSelectedSeatIndexes=exports.getBuyerTypesByPricescaleID=exports.getVenuePriceStructurePropertyByPricescaleID=exports.getPriceByBuyerTypeID=exports.getBuyerTypeCodeByBuyerTypeID=exports.getVenuePricescalePropertyByPricescaleID=exports.getSectionDescBySectionID=exports.processSMAP=void 0;var config_1=require("./config");function processSMAP(){var e=config_1.config.state.inputsWithValue;e.smap&&(e.smap.split("").map(Number)[0]||jQuery("#eventInfoCapacity").hide())}function getSectionDescBySectionID(e){var r;return null===(r=config_1.config.state.inVenueXML.master_config[0].section_config[0].section.find(function(r){return e===r.id[0]}))||void 0===r?void 0:r.desc[0]}function getVenuePricescalePropertyByPricescaleID(e,r){var t;return null===(t=config_1.config.state.inVenueXML.venue[0].pricescales[0].pricescale.find(function(e){return e.id[0]===r?e:void 0}))||void 0===t?void 0:t[e][0]}function getBuyerTypeCodeByBuyerTypeID(e){var r;return null===(r=config_1.config.state.inVenueXML.venue[0].buyer_types[0].buyer_type.find(function(r){return e===r.id[0]}))||void 0===r?void 0:r.code[0]}function getPriceByBuyerTypeID(e,r){var t,n=null===(t=null==r?void 0:r.buyer_type.find(function(r){return r.id[0]===e}))||void 0===t?void 0:t.price[0];return n?parseFloat(n):void 0}function getVenuePriceStructurePropertyByPricescaleID(e){return config_1.config.state.inVenueXML.price_structure[0].pricescale.find(function(r){return r.id[0]===e})}function getBuyerTypesByPricescaleID(e){var r=findBuyerTypesArrByPricescaleID(e);return r?r.map(function(e){return[e.id[0],e.price[0],getBuyerTypeDesc(e)]}):void 0}function generateSelectedSeatIndexes(){return config_1.config.state.selectedSeatsArr.map(function(e){return e.join(",")}).join("|")}function findBuyerTypesArrByPricescaleID(e){var r;return null===(r=config_1.config.state.inVenueXML.price_structure[0].pricescale.find(function(r){return r.id[0]===e}))||void 0===r?void 0:r.buyer_type}function getBuyerTypeDesc(e){var r;return null===(r=config_1.config.state.inVenueXML.venue[0].buyer_types[0].buyer_type.find(function(r){return r.id[0]===e.id[0]?r.desc[0]:void 0}))||void 0===r?void 0:r.desc[0]}exports.processSMAP=processSMAP,exports.getSectionDescBySectionID=getSectionDescBySectionID,exports.getVenuePricescalePropertyByPricescaleID=getVenuePricescalePropertyByPricescaleID,exports.getBuyerTypeCodeByBuyerTypeID=getBuyerTypeCodeByBuyerTypeID,exports.getPriceByBuyerTypeID=getPriceByBuyerTypeID,exports.getVenuePriceStructurePropertyByPricescaleID=getVenuePriceStructurePropertyByPricescaleID,exports.getBuyerTypesByPricescaleID=getBuyerTypesByPricescaleID,exports.generateSelectedSeatIndexes=generateSelectedSeatIndexes;
|
||
|
||
},{"./config":78}],90:[function(require,module,exports){
|
||
"use strict";exports.byteLength=byteLength,exports.toByteArray=toByteArray,exports.fromByteArray=fromByteArray;for(var lookup=[],revLookup=[],Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,len=code.length;i<len;++i)lookup[i]=code[i],revLookup[code.charCodeAt(i)]=i;function getLens(o){var r=o.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var e=o.indexOf("=");return-1===e&&(e=r),[e,e===r?0:4-e%4]}function byteLength(o){var r=getLens(o),e=r[0],t=r[1];return 3*(e+t)/4-t}function _byteLength(o,r,e){return 3*(r+e)/4-e}function toByteArray(o){var r,e,t=getLens(o),n=t[0],u=t[1],p=new Arr(_byteLength(o,n,u)),a=0,h=u>0?n-4:n;for(e=0;e<h;e+=4)r=revLookup[o.charCodeAt(e)]<<18|revLookup[o.charCodeAt(e+1)]<<12|revLookup[o.charCodeAt(e+2)]<<6|revLookup[o.charCodeAt(e+3)],p[a++]=r>>16&255,p[a++]=r>>8&255,p[a++]=255&r;return 2===u&&(r=revLookup[o.charCodeAt(e)]<<2|revLookup[o.charCodeAt(e+1)]>>4,p[a++]=255&r),1===u&&(r=revLookup[o.charCodeAt(e)]<<10|revLookup[o.charCodeAt(e+1)]<<4|revLookup[o.charCodeAt(e+2)]>>2,p[a++]=r>>8&255,p[a++]=255&r),p}function tripletToBase64(o){return lookup[o>>18&63]+lookup[o>>12&63]+lookup[o>>6&63]+lookup[63&o]}function encodeChunk(o,r,e){for(var t,n=[],u=r;u<e;u+=3)t=(o[u]<<16&16711680)+(o[u+1]<<8&65280)+(255&o[u+2]),n.push(tripletToBase64(t));return n.join("")}function fromByteArray(o){for(var r,e=o.length,t=e%3,n=[],u=0,p=e-t;u<p;u+=16383)n.push(encodeChunk(o,u,u+16383>p?p:u+16383));return 1===t?(r=o[e-1],n.push(lookup[r>>2]+lookup[r<<4&63]+"==")):2===t&&(r=(o[e-2]<<8)+o[e-1],n.push(lookup[r>>10]+lookup[r>>4&63]+lookup[r<<2&63]+"=")),n.join("")}revLookup["-".charCodeAt(0)]=62,revLookup["_".charCodeAt(0)]=63;
|
||
|
||
},{}],91:[function(require,module,exports){
|
||
|
||
},{}],92:[function(require,module,exports){
|
||
(function (Buffer){(function (){
|
||
"use strict";var base64=require("base64-js"),ieee754=require("ieee754");exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;function typedArraySupport(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}function createBuffer(e){if(e>K_MAX_LENGTH)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return t.__proto__=Buffer.prototype,t}function Buffer(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(e)}return from(e,t,r)}function from(e,t,r){if("string"==typeof e)return fromString(e,t);if(ArrayBuffer.isView(e))return fromArrayLike(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(isInstance(e,ArrayBuffer)||e&&isInstance(e.buffer,ArrayBuffer))return fromArrayBuffer(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return Buffer.from(n,t,r);var f=fromObject(e);if(f)return f;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return Buffer.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function assertSize(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function alloc(e,t,r){return assertSize(e),e<=0?createBuffer(e):void 0!==t?"string"==typeof r?createBuffer(e).fill(t,r):createBuffer(e).fill(t):createBuffer(e)}function allocUnsafe(e){return assertSize(e),createBuffer(e<0?0:0|checked(e))}function fromString(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!Buffer.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|byteLength(e,t),n=createBuffer(r),f=n.write(e,t);return f!==r&&(n=n.slice(0,f)),n}function fromArrayLike(e){for(var t=e.length<0?0:0|checked(e.length),r=createBuffer(t),n=0;n<t;n+=1)r[n]=255&e[n];return r}function fromArrayBuffer(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');var n;return(n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r)).__proto__=Buffer.prototype,n}function fromObject(e){if(Buffer.isBuffer(e)){var t=0|checked(e.length),r=createBuffer(t);return 0===r.length?r:(e.copy(r,0,0,t),r)}return void 0!==e.length?"number"!=typeof e.length||numberIsNaN(e.length)?createBuffer(0):fromArrayLike(e):"Buffer"===e.type&&Array.isArray(e.data)?fromArrayLike(e.data):void 0}function checked(e){if(e>=K_MAX_LENGTH)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K_MAX_LENGTH.toString(16)+" bytes");return 0|e}function SlowBuffer(e){return+e!=e&&(e=0),Buffer.alloc(+e)}function byteLength(e,t){if(Buffer.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||isInstance(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var f=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return utf8ToBytes(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return base64ToBytes(e).length;default:if(f)return n?-1:utf8ToBytes(e).length;t=(""+t).toLowerCase(),f=!0}}function slowToString(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return hexSlice(this,t,r);case"utf8":case"utf-8":return utf8Slice(this,t,r);case"ascii":return asciiSlice(this,t,r);case"latin1":case"binary":return latin1Slice(this,t,r);case"base64":return base64Slice(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function swap(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function bidirectionalIndexOf(e,t,r,n,f){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),numberIsNaN(r=+r)&&(r=f?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(f)return-1;r=e.length-1}else if(r<0){if(!f)return-1;r=0}if("string"==typeof t&&(t=Buffer.from(t,n)),Buffer.isBuffer(t))return 0===t.length?-1:arrayIndexOf(e,t,r,n,f);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?f?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):arrayIndexOf(e,[t],r,n,f);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(e,t,r,n,f){var i,o=1,u=e.length,s=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,u/=2,s/=2,r/=2}function a(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(f){var h=-1;for(i=r;i<u;i++)if(a(e,i)===a(t,-1===h?0:i-h)){if(-1===h&&(h=i),i-h+1===s)return h*o}else-1!==h&&(i-=i-h),h=-1}else for(r+s>u&&(r=u-s),i=r;i>=0;i--){for(var c=!0,l=0;l<s;l++)if(a(e,i+l)!==a(t,l)){c=!1;break}if(c)return i}return-1}function hexWrite(e,t,r,n){r=Number(r)||0;var f=e.length-r;n?(n=Number(n))>f&&(n=f):n=f;var i=t.length;n>i/2&&(n=i/2);for(var o=0;o<n;++o){var u=parseInt(t.substr(2*o,2),16);if(numberIsNaN(u))return o;e[r+o]=u}return o}function utf8Write(e,t,r,n){return blitBuffer(utf8ToBytes(t,e.length-r),e,r,n)}function asciiWrite(e,t,r,n){return blitBuffer(asciiToBytes(t),e,r,n)}function latin1Write(e,t,r,n){return asciiWrite(e,t,r,n)}function base64Write(e,t,r,n){return blitBuffer(base64ToBytes(t),e,r,n)}function ucs2Write(e,t,r,n){return blitBuffer(utf16leToBytes(t,e.length-r),e,r,n)}function base64Slice(e,t,r){return 0===t&&r===e.length?base64.fromByteArray(e):base64.fromByteArray(e.slice(t,r))}function utf8Slice(e,t,r){r=Math.min(e.length,r);for(var n=[],f=t;f<r;){var i,o,u,s,a=e[f],h=null,c=a>239?4:a>223?3:a>191?2:1;if(f+c<=r)switch(c){case 1:a<128&&(h=a);break;case 2:128==(192&(i=e[f+1]))&&(s=(31&a)<<6|63&i)>127&&(h=s);break;case 3:i=e[f+1],o=e[f+2],128==(192&i)&&128==(192&o)&&(s=(15&a)<<12|(63&i)<<6|63&o)>2047&&(s<55296||s>57343)&&(h=s);break;case 4:i=e[f+1],o=e[f+2],u=e[f+3],128==(192&i)&&128==(192&o)&&128==(192&u)&&(s=(15&a)<<18|(63&i)<<12|(63&o)<<6|63&u)>65535&&s<1114112&&(h=s)}null===h?(h=65533,c=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),f+=c}return decodeCodePointsArray(n)}exports.kMaxLength=K_MAX_LENGTH,Buffer.TYPED_ARRAY_SUPPORT=typedArraySupport(),Buffer.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(Buffer.prototype,"parent",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.buffer}}),Object.defineProperty(Buffer.prototype,"offset",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&Buffer[Symbol.species]===Buffer&&Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Buffer.poolSize=8192,Buffer.from=function(e,t,r){return from(e,t,r)},Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array,Buffer.alloc=function(e,t,r){return alloc(e,t,r)},Buffer.allocUnsafe=function(e){return allocUnsafe(e)},Buffer.allocUnsafeSlow=function(e){return allocUnsafe(e)},Buffer.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==Buffer.prototype},Buffer.compare=function(e,t){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),isInstance(t,Uint8Array)&&(t=Buffer.from(t,t.offset,t.byteLength)),!Buffer.isBuffer(e)||!Buffer.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,f=0,i=Math.min(r,n);f<i;++f)if(e[f]!==t[f]){r=e[f],n=t[f];break}return r<n?-1:n<r?1:0},Buffer.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Buffer.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=Buffer.allocUnsafe(t),f=0;for(r=0;r<e.length;++r){var i=e[r];if(isInstance(i,Uint8Array)&&(i=Buffer.from(i)),!Buffer.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,f),f+=i.length}return n},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)swap(this,t,t+1);return this},Buffer.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)swap(this,t,t+3),swap(this,t+1,t+2);return this},Buffer.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)swap(this,t,t+7),swap(this,t+1,t+6),swap(this,t+2,t+5),swap(this,t+3,t+4);return this},Buffer.prototype.toString=function(){var e=this.length;return 0===e?"":0===arguments.length?utf8Slice(this,0,e):slowToString.apply(this,arguments)},Buffer.prototype.toLocaleString=Buffer.prototype.toString,Buffer.prototype.equals=function(e){if(!Buffer.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Buffer.compare(this,e)},Buffer.prototype.inspect=function(){var e="",t=exports.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"},Buffer.prototype.compare=function(e,t,r,n,f){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),!Buffer.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===f&&(f=this.length),t<0||r>e.length||n<0||f>this.length)throw new RangeError("out of range index");if(n>=f&&t>=r)return 0;if(n>=f)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(f>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),u=Math.min(i,o),s=this.slice(n,f),a=e.slice(t,r),h=0;h<u;++h)if(s[h]!==a[h]){i=s[h],o=a[h];break}return i<o?-1:o<i?1:0},Buffer.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},Buffer.prototype.indexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!0)},Buffer.prototype.lastIndexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!1)},Buffer.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var f=this.length-t;if((void 0===r||r>f)&&(r=f),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return hexWrite(this,e,t,r);case"utf8":case"utf-8":return utf8Write(this,e,t,r);case"ascii":return asciiWrite(this,e,t,r);case"latin1":case"binary":return latin1Write(this,e,t,r);case"base64":return base64Write(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(e){var t=e.length;if(t<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,e);for(var r="",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=MAX_ARGUMENTS_LENGTH));return r}function asciiSlice(e,t,r){var n="";r=Math.min(e.length,r);for(var f=t;f<r;++f)n+=String.fromCharCode(127&e[f]);return n}function latin1Slice(e,t,r){var n="";r=Math.min(e.length,r);for(var f=t;f<r;++f)n+=String.fromCharCode(e[f]);return n}function hexSlice(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var f="",i=t;i<r;++i)f+=toHex(e[i]);return f}function utf16leSlice(e,t,r){for(var n=e.slice(t,r),f="",i=0;i<n.length;i+=2)f+=String.fromCharCode(n[i]+256*n[i+1]);return f}function checkOffset(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function checkInt(e,t,r,n,f,i){if(!Buffer.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>f||t<i)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function checkIEEE754(e,t,r,n,f,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function writeFloat(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),ieee754.write(e,t,r,n,23,4),r+4}function writeDouble(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),ieee754.write(e,t,r,n,52,8),r+8}Buffer.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var n=this.subarray(e,t);return n.__proto__=Buffer.prototype,n},Buffer.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i<t&&(f*=256);)n+=this[e+i]*f;return n},Buffer.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e+--t],f=1;t>0&&(f*=256);)n+=this[e+--t]*f;return n},Buffer.prototype.readUInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),this[e]},Buffer.prototype.readUInt16LE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]|this[e+1]<<8},Buffer.prototype.readUInt16BE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]<<8|this[e+1]},Buffer.prototype.readUInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Buffer.prototype.readUInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Buffer.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i<t&&(f*=256);)n+=this[e+i]*f;return n>=(f*=128)&&(n-=Math.pow(2,8*t)),n},Buffer.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=t,f=1,i=this[e+--n];n>0&&(f*=256);)i+=this[e+--n]*f;return i>=(f*=128)&&(i-=Math.pow(2,8*t)),i},Buffer.prototype.readInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Buffer.prototype.readInt16LE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt16BE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Buffer.prototype.readInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Buffer.prototype.readFloatLE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!0,23,4)},Buffer.prototype.readFloatBE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!1,23,4)},Buffer.prototype.readDoubleLE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!0,52,8)},Buffer.prototype.readDoubleBE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!1,52,8)},Buffer.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=1,i=0;for(this[t]=255&e;++i<r&&(f*=256);)this[t+i]=e/f&255;return t+r},Buffer.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=r-1,i=1;for(this[t+f]=255&e;--f>=0&&(i*=256);)this[t+f]=e/i&255;return t+r},Buffer.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,255,0),this[t]=255&e,t+1},Buffer.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},Buffer.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=0,o=1,u=0;for(this[t]=255&e;++i<r&&(o*=256);)e<0&&0===u&&0!==this[t+i-1]&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r},Buffer.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=r-1,o=1,u=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===u&&0!==this[t+i+1]&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r},Buffer.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},Buffer.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},Buffer.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeFloatLE=function(e,t,r){return writeFloat(this,e,t,!0,r)},Buffer.prototype.writeFloatBE=function(e,t,r){return writeFloat(this,e,t,!1,r)},Buffer.prototype.writeDoubleLE=function(e,t,r){return writeDouble(this,e,t,!0,r)},Buffer.prototype.writeDoubleBE=function(e,t,r){return writeDouble(this,e,t,!1,r)},Buffer.prototype.copy=function(e,t,r,n){if(!Buffer.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var f=n-r;if(this===e&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(t,r,n);else if(this===e&&r<t&&t<n)for(var i=f-1;i>=0;--i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return f},Buffer.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!Buffer.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===e.length){var f=e.charCodeAt(0);("utf8"===n&&f<128||"latin1"===n)&&(e=f)}}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var i;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i<r;++i)this[i]=e;else{var o=Buffer.isBuffer(e)?e:Buffer.from(e,n),u=o.length;if(0===u)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(i=0;i<r-t;++i)this[i+t]=o[i%u]}return this};var INVALID_BASE64_RE=/[^+/0-9A-Za-z-_]/g;function base64clean(e){if((e=(e=e.split("=")[0]).trim().replace(INVALID_BASE64_RE,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}function toHex(e){return e<16?"0"+e.toString(16):e.toString(16)}function utf8ToBytes(e,t){var r;t=t||1/0;for(var n=e.length,f=null,i=[],o=0;o<n;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!f){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}f=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),f=r;continue}r=65536+(f-55296<<10|r-56320)}else f&&(t-=3)>-1&&i.push(239,191,189);if(f=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function asciiToBytes(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}function utf16leToBytes(e,t){for(var r,n,f,i=[],o=0;o<e.length&&!((t-=2)<0);++o)n=(r=e.charCodeAt(o))>>8,f=r%256,i.push(f),i.push(n);return i}function base64ToBytes(e){return base64.toByteArray(base64clean(e))}function blitBuffer(e,t,r,n){for(var f=0;f<n&&!(f+r>=t.length||f>=e.length);++f)t[f+r]=e[f];return f}function isInstance(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function numberIsNaN(e){return e!=e}
|
||
|
||
}).call(this)}).call(this,require("buffer").Buffer)
|
||
|
||
},{"base64-js":90,"buffer":92,"ieee754":94}],93:[function(require,module,exports){
|
||
"use strict";var ReflectOwnKeys,R="object"==typeof Reflect?Reflect:null,ReflectApply=R&&"function"==typeof R.apply?R.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};function ProcessEmitWarning(e){console&&console.warn&&console.warn(e)}ReflectOwnKeys=R&&"function"==typeof R.ownKeys?R.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var NumberIsNaN=Number.isNaN||function(e){return e!=e};function EventEmitter(){EventEmitter.init.call(this)}module.exports=EventEmitter,module.exports.once=once,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var defaultMaxListeners=10;function checkListener(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function _getMaxListeners(e){return void 0===e._maxListeners?EventEmitter.defaultMaxListeners:e._maxListeners}function _addListener(e,t,n,r){var i,o,s;if(checkListener(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=_getMaxListeners(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,ProcessEmitWarning(u)}return e}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=onceWrapper.bind(r);return i.listener=n,r.wrapFn=i,i}function _listeners(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?unwrapListeners(i):arrayClone(i,i.length)}function listenerCount(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function arrayClone(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function spliceOne(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function unwrapListeners(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function once(e,t){return new Promise(function(n,r){function i(n){e.removeListener(t,o),r(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}eventTargetAgnosticAddListener(e,t,o,{once:!0}),"error"!==t&&addErrorHandlerIfEventEmitter(e,i,{once:!0})})}function addErrorHandlerIfEventEmitter(e,t,n){"function"==typeof e.on&&eventTargetAgnosticAddListener(e,"error",t,n)}function eventTargetAgnosticAddListener(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,function i(o){r.once&&e.removeEventListener(t,i),n(o)})}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:!0,get:function(){return defaultMaxListeners},set:function(e){if("number"!=typeof e||e<0||NumberIsNaN(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");defaultMaxListeners=e}}),EventEmitter.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},EventEmitter.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||NumberIsNaN(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},EventEmitter.prototype.getMaxListeners=function(){return _getMaxListeners(this)},EventEmitter.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,i=this._events;if(void 0!==i)r=r&&void 0===i.error;else if(!r)return!1;if(r){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var u=i[e];if(void 0===u)return!1;if("function"==typeof u)ReflectApply(u,this,t);else{var f=u.length,v=arrayClone(u,f);for(n=0;n<f;++n)ReflectApply(v[n],this,t)}return!0},EventEmitter.prototype.addListener=function(e,t){return _addListener(this,e,t,!1)},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.prependListener=function(e,t){return _addListener(this,e,t,!0)},EventEmitter.prototype.once=function(e,t){return checkListener(t),this.on(e,_onceWrap(this,e,t)),this},EventEmitter.prototype.prependOnceListener=function(e,t){return checkListener(t),this.prependListener(e,_onceWrap(this,e,t)),this},EventEmitter.prototype.removeListener=function(e,t){var n,r,i,o,s;if(checkListener(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():spliceOne(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,s||t)}return this},EventEmitter.prototype.off=EventEmitter.prototype.removeListener,EventEmitter.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},EventEmitter.prototype.listeners=function(e){return _listeners(this,e,!0)},EventEmitter.prototype.rawListeners=function(e){return _listeners(this,e,!1)},EventEmitter.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):listenerCount.call(e,t)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};
|
||
|
||
},{}],94:[function(require,module,exports){
|
||
exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<<w)-1,e=f>>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:1/0*(s?-1:1);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<<e)-1,N=i>>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),(o+=p+N>=1?n/f:n*Math.pow(2,1-N))*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<<h|w,e+=h;e>0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};
|
||
|
||
},{}],95:[function(require,module,exports){
|
||
"function"==typeof Object.create?module.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:module.exports=function(t,e){if(e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}};
|
||
|
||
},{}],96:[function(require,module,exports){
|
||
var cachedSetTimeout,cachedClearTimeout,process=module.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex<t;)currentQueue&¤tQueue[queueIndex].run();queueIndex=-1,t=queue.length}currentQueue=null,draining=!1,runClearTimeout(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}process.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];queue.push(new Item(e,t)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.prependListener=noop,process.prependOnceListener=noop,process.listeners=function(e){return[]},process.binding=function(e){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(e){throw new Error("process.chdir is not supported")},process.umask=function(){return 0};
|
||
|
||
},{}],97:[function(require,module,exports){
|
||
var buffer=require("buffer"),Buffer=buffer.Buffer;function copyProps(f,e){for(var r in f)e[r]=f[r]}function SafeBuffer(f,e,r){return Buffer(f,e,r)}Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer),SafeBuffer.prototype=Object.create(Buffer.prototype),copyProps(Buffer,SafeBuffer),SafeBuffer.from=function(f,e,r){if("number"==typeof f)throw new TypeError("Argument must not be a number");return Buffer(f,e,r)},SafeBuffer.alloc=function(f,e,r){if("number"!=typeof f)throw new TypeError("Argument must be a number");var u=Buffer(f);return void 0!==e?"string"==typeof r?u.fill(e,r):u.fill(e):u.fill(0),u},SafeBuffer.allocUnsafe=function(f){if("number"!=typeof f)throw new TypeError("Argument must be a number");return Buffer(f)},SafeBuffer.allocUnsafeSlow=function(f){if("number"!=typeof f)throw new TypeError("Argument must be a number");return buffer.SlowBuffer(f)};
|
||
|
||
},{"buffer":92}],98:[function(require,module,exports){
|
||
module.exports=Stream;var EE=require("events").EventEmitter,inherits=require("inherits");function Stream(){EE.call(this)}inherits(Stream,EE),Stream.Readable=require("readable-stream/lib/_stream_readable.js"),Stream.Writable=require("readable-stream/lib/_stream_writable.js"),Stream.Duplex=require("readable-stream/lib/_stream_duplex.js"),Stream.Transform=require("readable-stream/lib/_stream_transform.js"),Stream.PassThrough=require("readable-stream/lib/_stream_passthrough.js"),Stream.finished=require("readable-stream/lib/internal/streams/end-of-stream.js"),Stream.pipeline=require("readable-stream/lib/internal/streams/pipeline.js"),Stream.Stream=Stream,Stream.prototype.pipe=function(e,r){var t=this;function a(r){e.writable&&!1===e.write(r)&&t.pause&&t.pause()}function i(){t.readable&&t.resume&&t.resume()}t.on("data",a),e.on("drain",i),e._isStdio||r&&!1===r.end||(t.on("end",s),t.on("close",o));var n=!1;function s(){n||(n=!0,e.end())}function o(){n||(n=!0,"function"==typeof e.destroy&&e.destroy())}function m(e){if(l(),0===EE.listenerCount(this,"error"))throw e}function l(){t.removeListener("data",a),e.removeListener("drain",i),t.removeListener("end",s),t.removeListener("close",o),t.removeListener("error",m),e.removeListener("error",m),t.removeListener("end",l),t.removeListener("close",l),e.removeListener("close",l)}return t.on("error",m),e.on("error",m),t.on("end",l),t.on("close",l),e.on("close",l),e.emit("pipe",t),e};
|
||
|
||
},{"events":93,"inherits":95,"readable-stream/lib/_stream_duplex.js":100,"readable-stream/lib/_stream_passthrough.js":101,"readable-stream/lib/_stream_readable.js":102,"readable-stream/lib/_stream_transform.js":103,"readable-stream/lib/_stream_writable.js":104,"readable-stream/lib/internal/streams/end-of-stream.js":108,"readable-stream/lib/internal/streams/pipeline.js":110}],99:[function(require,module,exports){
|
||
"use strict";function _inheritsLoose(e,r){e.prototype=Object.create(r.prototype),e.prototype.constructor=e,e.__proto__=r}var codes={};function createErrorType(e,r,t){t||(t=Error);var n=function(e){function t(t,n,o){return e.call(this,function(e,t,n){return"string"==typeof r?r:r(e,t,n)}(t,n,o))||this}return _inheritsLoose(t,e),t}(t);n.prototype.name=t.name,n.prototype.code=e,codes[e]=n}function oneOf(e,r){if(Array.isArray(e)){var t=e.length;return e=e.map(function(e){return String(e)}),t>2?"one of ".concat(r," ").concat(e.slice(0,t-1).join(", "),", or ")+e[t-1]:2===t?"one of ".concat(r," ").concat(e[0]," or ").concat(e[1]):"of ".concat(r," ").concat(e[0])}return"of ".concat(r," ").concat(String(e))}function startsWith(e,r,t){return e.substr(!t||t<0?0:+t,r.length)===r}function endsWith(e,r,t){return(void 0===t||t>e.length)&&(t=e.length),e.substring(t-r.length,t)===r}function includes(e,r,t){return"number"!=typeof t&&(t=0),!(t+r.length>e.length)&&-1!==e.indexOf(r,t)}createErrorType("ERR_INVALID_OPT_VALUE",function(e,r){return'The value "'+r+'" is invalid for option "'+e+'"'},TypeError),createErrorType("ERR_INVALID_ARG_TYPE",function(e,r,t){var n,o;if("string"==typeof r&&startsWith(r,"not ")?(n="must not be",r=r.replace(/^not /,"")):n="must be",endsWith(e," argument"))o="The ".concat(e," ").concat(n," ").concat(oneOf(r,"type"));else{var c=includes(e,".")?"property":"argument";o='The "'.concat(e,'" ').concat(c," ").concat(n," ").concat(oneOf(r,"type"))}return o+=". Received type ".concat(typeof t)},TypeError),createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),createErrorType("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"}),createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close"),createErrorType("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"}),createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end"),createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),createErrorType("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError),createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),module.exports.codes=codes;
|
||
|
||
},{}],100:[function(require,module,exports){
|
||
(function (process){(function (){
|
||
"use strict";var objectKeys=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};module.exports=Duplex;var Readable=require("./_stream_readable"),Writable=require("./_stream_writable");require("inherits")(Duplex,Readable);for(var keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++){var method=keys[v];Duplex.prototype[method]||(Duplex.prototype[method]=Writable.prototype[method])}function Duplex(e){if(!(this instanceof Duplex))return new Duplex(e);Readable.call(this,e),Writable.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",onend)))}function onend(){this._writableState.ended||process.nextTick(onEndNT,this)}function onEndNT(e){e.end()}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(Duplex.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Duplex.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Duplex.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}});
|
||
|
||
}).call(this)}).call(this,require('_process'))
|
||
|
||
},{"./_stream_readable":102,"./_stream_writable":104,"_process":96,"inherits":95}],101:[function(require,module,exports){
|
||
"use strict";module.exports=PassThrough;var Transform=require("./_stream_transform");function PassThrough(r){if(!(this instanceof PassThrough))return new PassThrough(r);Transform.call(this,r)}require("inherits")(PassThrough,Transform),PassThrough.prototype._transform=function(r,s,o){o(null,r)};
|
||
|
||
},{"./_stream_transform":103,"inherits":95}],102:[function(require,module,exports){
|
||
(function (process,global){(function (){
|
||
"use strict";var Duplex;module.exports=Readable,Readable.ReadableState=ReadableState;var EE=require("events").EventEmitter,EElistenerCount=function(e,t){return e.listeners(t).length},Stream=require("./internal/streams/stream"),Buffer=require("buffer").Buffer,OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return Buffer.from(e)}function _isUint8Array(e){return Buffer.isBuffer(e)||e instanceof OurUint8Array}var debug,debugUtil=require("util");debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog("stream"):function(){};var StringDecoder,createReadableStreamAsyncIterator,from,BufferList=require("./internal/streams/buffer_list"),destroyImpl=require("./internal/streams/destroy"),_require=require("./internal/streams/state"),getHighWaterMark=_require.getHighWaterMark,_require$codes=require("../errors").codes,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_STREAM_PUSH_AFTER_EOF=_require$codes.ERR_STREAM_PUSH_AFTER_EOF,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_STREAM_UNSHIFT_AFTER_END_EVENT=_require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;require("inherits")(Readable,Stream);var errorOrDestroy=destroyImpl.errorOrDestroy,kProxyEvents=["error","close","destroy","pause","resume"];function prependListener(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}function ReadableState(e,t,r){Duplex=Duplex||require("./_stream_duplex"),e=e||{},"boolean"!=typeof r&&(r=t instanceof Duplex),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=getHighWaterMark(this,e,"readableHighWaterMark",r),this.buffer=new BufferList,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this.decoder=new StringDecoder(e.encoding),this.encoding=e.encoding)}function Readable(e){if(Duplex=Duplex||require("./_stream_duplex"),!(this instanceof Readable))return new Readable(e);var t=this instanceof Duplex;this._readableState=new ReadableState(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),Stream.call(this)}function readableAddChunk(e,t,r,a,n){debug("readableAddChunk",t);var i,d=e._readableState;if(null===t)d.reading=!1,onEofChunk(e,d);else if(n||(i=chunkInvalid(d,t)),i)errorOrDestroy(e,i);else if(d.objectMode||t&&t.length>0)if("string"==typeof t||d.objectMode||Object.getPrototypeOf(t)===Buffer.prototype||(t=_uint8ArrayToBuffer(t)),a)d.endEmitted?errorOrDestroy(e,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT):addChunk(e,d,t,!0);else if(d.ended)errorOrDestroy(e,new ERR_STREAM_PUSH_AFTER_EOF);else{if(d.destroyed)return!1;d.reading=!1,d.decoder&&!r?(t=d.decoder.write(t),d.objectMode||0!==t.length?addChunk(e,d,t,!1):maybeReadMore(e,d)):addChunk(e,d,t,!1)}else a||(d.reading=!1,maybeReadMore(e,d));return!d.ended&&(d.length<d.highWaterMark||0===d.length)}function addChunk(e,t,r,a){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,a?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&emitReadable(e)),maybeReadMore(e,t)}function chunkInvalid(e,t){var r;return _isUint8Array(t)||"string"==typeof t||void 0===t||e.objectMode||(r=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer","Uint8Array"],t)),r}Object.defineProperty(Readable.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),Readable.prototype.destroy=destroyImpl.destroy,Readable.prototype._undestroy=destroyImpl.undestroy,Readable.prototype._destroy=function(e,t){t(e)},Readable.prototype.push=function(e,t){var r,a=this._readableState;return a.objectMode?r=!0:"string"==typeof e&&((t=t||a.defaultEncoding)!==a.encoding&&(e=Buffer.from(e,t),t=""),r=!0),readableAddChunk(this,e,t,!1,r)},Readable.prototype.unshift=function(e){return readableAddChunk(this,e,null,!0,!1)},Readable.prototype.isPaused=function(){return!1===this._readableState.flowing},Readable.prototype.setEncoding=function(e){StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder);var t=new StringDecoder(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,a="";null!==r;)a+=t.write(r.data),r=r.next;return this._readableState.buffer.clear(),""!==a&&this._readableState.buffer.push(a),this._readableState.length=a.length,this};var MAX_HWM=1073741824;function computeNewHighWaterMark(e){return e>=MAX_HWM?e=MAX_HWM:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function howMuchToRead(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=computeNewHighWaterMark(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function onEofChunk(e,t){if(debug("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?emitReadable(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,emitReadable_(e)))}}function emitReadable(e){var t=e._readableState;debug("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(debug("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(emitReadable_,e))}function emitReadable_(e){var t=e._readableState;debug("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,flow(e)}function maybeReadMore(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(maybeReadMore_,e,t))}function maybeReadMore_(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var r=t.length;if(debug("maybeReadMore read 0"),e.read(0),r===t.length)break}t.readingMore=!1}function pipeOnDrain(e){return function(){var t=e._readableState;debug("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&EElistenerCount(e,"data")&&(t.flowing=!0,flow(e))}}function updateReadableListening(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function nReadingNextTick(e){debug("readable nexttick read 0"),e.read(0)}function resume(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(resume_,e,t))}function resume_(e,t){debug("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),flow(e),t.flowing&&!t.reading&&e.read(0)}function flow(e){var t=e._readableState;for(debug("flow",t.flowing);t.flowing&&null!==e.read(););}function fromList(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function endReadable(e){var t=e._readableState;debug("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(endReadableNT,t,e))}function endReadableNT(e,t){if(debug("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function indexOf(e,t){for(var r=0,a=e.length;r<a;r++)if(e[r]===t)return r;return-1}Readable.prototype.read=function(e){debug("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return debug("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?endReadable(this):emitReadable(this),null;if(0===(e=howMuchToRead(e,t))&&t.ended)return 0===t.length&&endReadable(this),null;var a,n=t.needReadable;return debug("need readable",n),(0===t.length||t.length-e<t.highWaterMark)&&debug("length less than watermark",n=!0),t.ended||t.reading?debug("reading or ended",n=!1):n&&(debug("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=howMuchToRead(r,t))),null===(a=e>0?fromList(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&endReadable(this)),null!==a&&this.emit("data",a),a},Readable.prototype._read=function(e){errorOrDestroy(this,new ERR_METHOD_NOT_IMPLEMENTED("_read()"))},Readable.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,debug("pipe count=%d opts=%j",a.pipesCount,t);var n=(!t||!1!==t.end)&&e!==process.stdout&&e!==process.stderr?d:f;function i(t,n){debug("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,debug("cleanup"),e.removeListener("close",b),e.removeListener("finish",p),e.removeListener("drain",o),e.removeListener("error",u),e.removeListener("unpipe",i),r.removeListener("end",d),r.removeListener("end",f),r.removeListener("data",l),s=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||o())}function d(){debug("onend"),e.end()}a.endEmitted?process.nextTick(n):r.once("end",n),e.on("unpipe",i);var o=pipeOnDrain(r);e.on("drain",o);var s=!1;function l(t){debug("ondata");var n=e.write(t);debug("dest.write",n),!1===n&&((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==indexOf(a.pipes,e))&&!s&&(debug("false write response, pause",a.awaitDrain),a.awaitDrain++),r.pause())}function u(t){debug("onerror",t),f(),e.removeListener("error",u),0===EElistenerCount(e,"error")&&errorOrDestroy(e,t)}function b(){e.removeListener("finish",p),f()}function p(){debug("onfinish"),e.removeListener("close",b),f()}function f(){debug("unpipe"),r.unpipe(e)}return r.on("data",l),prependListener(e,"error",u),e.once("close",b),e.once("finish",p),e.emit("pipe",r),a.flowing||(debug("pipe resume"),r.resume()),e},Readable.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var a=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i<n;i++)a[i].emit("unpipe",this,{hasUnpiped:!1});return this}var d=indexOf(t.pipes,e);return-1===d?this:(t.pipes.splice(d,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r),this)},Readable.prototype.on=function(e,t){var r=Stream.prototype.on.call(this,e,t),a=this._readableState;return"data"===e?(a.readableListening=this.listenerCount("readable")>0,!1!==a.flowing&&this.resume()):"readable"===e&&(a.endEmitted||a.readableListening||(a.readableListening=a.needReadable=!0,a.flowing=!1,a.emittedReadable=!1,debug("on readable",a.length,a.reading),a.length?emitReadable(this):a.reading||process.nextTick(nReadingNextTick,this))),r},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.removeListener=function(e,t){var r=Stream.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(updateReadableListening,this),r},Readable.prototype.removeAllListeners=function(e){var t=Stream.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(updateReadableListening,this),t},Readable.prototype.resume=function(){var e=this._readableState;return e.flowing||(debug("resume"),e.flowing=!e.readableListening,resume(this,e)),e.paused=!1,this},Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},Readable.prototype.wrap=function(e){var t=this,r=this._readableState,a=!1;for(var n in e.on("end",function(){if(debug("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(n){(debug("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(t.push(n)||(a=!0,e.pause()))}),e)void 0===this[n]&&"function"==typeof e[n]&&(this[n]=function(t){return function(){return e[t].apply(e,arguments)}}(n));for(var i=0;i<kProxyEvents.length;i++)e.on(kProxyEvents[i],this.emit.bind(this,kProxyEvents[i]));return this._read=function(t){debug("wrapped _read",t),a&&(a=!1,e.resume())},this},"function"==typeof Symbol&&(Readable.prototype[Symbol.asyncIterator]=function(){return void 0===createReadableStreamAsyncIterator&&(createReadableStreamAsyncIterator=require("./internal/streams/async_iterator")),createReadableStreamAsyncIterator(this)}),Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(Readable.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(Readable.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),Readable._fromList=fromList,Object.defineProperty(Readable.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(Readable.from=function(e,t){return void 0===from&&(from=require("./internal/streams/from")),from(Readable,e,t)});
|
||
|
||
}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||
|
||
},{"../errors":99,"./_stream_duplex":100,"./internal/streams/async_iterator":105,"./internal/streams/buffer_list":106,"./internal/streams/destroy":107,"./internal/streams/from":109,"./internal/streams/state":111,"./internal/streams/stream":112,"_process":96,"buffer":92,"events":93,"inherits":95,"string_decoder/":113,"util":91}],103:[function(require,module,exports){
|
||
"use strict";module.exports=Transform;var _require$codes=require("../errors").codes,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK,ERR_TRANSFORM_ALREADY_TRANSFORMING=_require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,ERR_TRANSFORM_WITH_LENGTH_0=_require$codes.ERR_TRANSFORM_WITH_LENGTH_0,Duplex=require("./_stream_duplex");function afterTransform(r,e){var t=this._transformState;t.transforming=!1;var n=t.writecb;if(null===n)return this.emit("error",new ERR_MULTIPLE_CALLBACK);t.writechunk=null,t.writecb=null,null!=e&&this.push(e),n(r);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Transform(r){if(!(this instanceof Transform))return new Transform(r);Duplex.call(this,r),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,r&&("function"==typeof r.transform&&(this._transform=r.transform),"function"==typeof r.flush&&(this._flush=r.flush)),this.on("prefinish",prefinish)}function prefinish(){var r=this;"function"!=typeof this._flush||this._readableState.destroyed?done(this,null,null):this._flush(function(e,t){done(r,e,t)})}function done(r,e,t){if(e)return r.emit("error",e);if(null!=t&&r.push(t),r._writableState.length)throw new ERR_TRANSFORM_WITH_LENGTH_0;if(r._transformState.transforming)throw new ERR_TRANSFORM_ALREADY_TRANSFORMING;return r.push(null)}require("inherits")(Transform,Duplex),Transform.prototype.push=function(r,e){return this._transformState.needTransform=!1,Duplex.prototype.push.call(this,r,e)},Transform.prototype._transform=function(r,e,t){t(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"))},Transform.prototype._write=function(r,e,t){var n=this._transformState;if(n.writecb=t,n.writechunk=r,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Transform.prototype._read=function(r){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},Transform.prototype._destroy=function(r,e){Duplex.prototype._destroy.call(this,r,function(r){e(r)})};
|
||
|
||
},{"../errors":99,"./_stream_duplex":100,"inherits":95}],104:[function(require,module,exports){
|
||
(function (process,global){(function (){
|
||
"use strict";function WriteReq(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function CorkedRequest(e){var t=this;this.next=null,this.entry=null,this.finish=function(){onCorkedFinish(t,e)}}var Duplex;module.exports=Writable,Writable.WritableState=WritableState;var internalUtil={deprecate:require("util-deprecate")},Stream=require("./internal/streams/stream"),Buffer=require("buffer").Buffer,OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return Buffer.from(e)}function _isUint8Array(e){return Buffer.isBuffer(e)||e instanceof OurUint8Array}var realHasInstance,destroyImpl=require("./internal/streams/destroy"),_require=require("./internal/streams/state"),getHighWaterMark=_require.getHighWaterMark,_require$codes=require("../errors").codes,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK,ERR_STREAM_CANNOT_PIPE=_require$codes.ERR_STREAM_CANNOT_PIPE,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED,ERR_STREAM_NULL_VALUES=_require$codes.ERR_STREAM_NULL_VALUES,ERR_STREAM_WRITE_AFTER_END=_require$codes.ERR_STREAM_WRITE_AFTER_END,ERR_UNKNOWN_ENCODING=_require$codes.ERR_UNKNOWN_ENCODING,errorOrDestroy=destroyImpl.errorOrDestroy;function nop(){}function WritableState(e,t,r){Duplex=Duplex||require("./_stream_duplex"),e=e||{},"boolean"!=typeof r&&(r=t instanceof Duplex),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=getHighWaterMark(this,e,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===e.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){onwrite(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}function Writable(e){var t=this instanceof(Duplex=Duplex||require("./_stream_duplex"));if(!t&&!realHasInstance.call(Writable,this))return new Writable(e);this._writableState=new WritableState(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),Stream.call(this)}function writeAfterEnd(e,t){var r=new ERR_STREAM_WRITE_AFTER_END;errorOrDestroy(e,r),process.nextTick(t,r)}function validChunk(e,t,r,i){var n;return null===r?n=new ERR_STREAM_NULL_VALUES:"string"==typeof r||t.objectMode||(n=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer"],r)),!n||(errorOrDestroy(e,n),process.nextTick(i,n),!1)}function decodeChunk(e,t,r){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=Buffer.from(t,r)),t}function writeOrBuffer(e,t,r,i,n,o){if(!r){var s=decodeChunk(t,i,n);i!==s&&(r=!0,n="buffer",i=s)}var a=t.objectMode?1:i.length;t.length+=a;var u=t.length<t.highWaterMark;if(u||(t.needDrain=!0),t.writing||t.corked){var f=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:o,next:null},f?f.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else doWrite(e,t,!1,a,i,n,o);return u}function doWrite(e,t,r,i,n,o,s){t.writelen=i,t.writecb=s,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new ERR_STREAM_DESTROYED("write")):r?e._writev(n,t.onwrite):e._write(n,o,t.onwrite),t.sync=!1}function onwriteError(e,t,r,i,n){--t.pendingcb,r?(process.nextTick(n,i),process.nextTick(finishMaybe,e,t),e._writableState.errorEmitted=!0,errorOrDestroy(e,i)):(n(i),e._writableState.errorEmitted=!0,errorOrDestroy(e,i),finishMaybe(e,t))}function onwriteStateUpdate(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function onwrite(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if("function"!=typeof n)throw new ERR_MULTIPLE_CALLBACK;if(onwriteStateUpdate(r),t)onwriteError(e,r,i,t,n);else{var o=needFinish(r)||e.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||clearBuffer(e,r),i?process.nextTick(afterWrite,e,r,o,n):afterWrite(e,r,o,n)}}function afterWrite(e,t,r,i){r||onwriteDrain(e,t),t.pendingcb--,i(),finishMaybe(e,t)}function onwriteDrain(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function clearBuffer(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),o=t.corkedRequestsFree;o.entry=r;for(var s=0,a=!0;r;)n[s]=r,r.isBuf||(a=!1),r=r.next,s+=1;n.allBuffers=a,doWrite(e,t,!0,t.length,n,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new CorkedRequest(t),t.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,f=r.encoding,l=r.callback;if(doWrite(e,t,!1,t.objectMode?1:u.length,u,f,l),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function needFinish(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function callFinal(e,t){e._final(function(r){t.pendingcb--,r&&errorOrDestroy(e,r),t.prefinished=!0,e.emit("prefinish"),finishMaybe(e,t)})}function prefinish(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,process.nextTick(callFinal,e,t)))}function finishMaybe(e,t){var r=needFinish(t);if(r&&(prefinish(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var i=e._readableState;(!i||i.autoDestroy&&i.endEmitted)&&e.destroy()}return r}function endWritable(e,t,r){t.ending=!0,finishMaybe(e,t),r&&(t.finished?process.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function onCorkedFinish(e,t,r){var i=e.entry;for(e.entry=null;i;){var n=i.callback;t.pendingcb--,n(r),i=i.next}t.corkedRequestsFree.next=e}require("inherits")(Writable,Stream),WritableState.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(e){return!!realHasInstance.call(this,e)||this===Writable&&(e&&e._writableState instanceof WritableState)}})):realHasInstance=function(e){return e instanceof this},Writable.prototype.pipe=function(){errorOrDestroy(this,new ERR_STREAM_CANNOT_PIPE)},Writable.prototype.write=function(e,t,r){var i=this._writableState,n=!1,o=!i.objectMode&&_isUint8Array(e);return o&&!Buffer.isBuffer(e)&&(e=_uint8ArrayToBuffer(e)),"function"==typeof t&&(r=t,t=null),o?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof r&&(r=nop),i.ending?writeAfterEnd(this,r):(o||validChunk(this,i,e,r))&&(i.pendingcb++,n=writeOrBuffer(this,i,o,e,t,r)),n},Writable.prototype.cork=function(){this._writableState.corked++},Writable.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||clearBuffer(this,e))},Writable.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new ERR_UNKNOWN_ENCODING(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Writable.prototype._write=function(e,t,r){r(new ERR_METHOD_NOT_IMPLEMENTED("_write()"))},Writable.prototype._writev=null,Writable.prototype.end=function(e,t,r){var i=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||endWritable(this,i,r),this},Object.defineProperty(Writable.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Writable.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),Writable.prototype.destroy=destroyImpl.destroy,Writable.prototype._undestroy=destroyImpl.undestroy,Writable.prototype._destroy=function(e,t){t(e)};
|
||
|
||
}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||
|
||
},{"../errors":99,"./_stream_duplex":100,"./internal/streams/destroy":107,"./internal/streams/state":111,"./internal/streams/stream":112,"_process":96,"buffer":92,"inherits":95,"util-deprecate":115}],105:[function(require,module,exports){
|
||
(function (process){(function (){
|
||
"use strict";var _Object$setPrototypeO;function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var finished=require("./end-of-stream"),kLastResolve=Symbol("lastResolve"),kLastReject=Symbol("lastReject"),kError=Symbol("error"),kEnded=Symbol("ended"),kLastPromise=Symbol("lastPromise"),kHandlePromise=Symbol("handlePromise"),kStream=Symbol("stream");function createIterResult(e,t){return{value:e,done:t}}function readAndResolve(e){var t=e[kLastResolve];if(null!==t){var r=e[kStream].read();null!==r&&(e[kLastPromise]=null,e[kLastResolve]=null,e[kLastReject]=null,t(createIterResult(r,!1)))}}function onReadable(e){process.nextTick(readAndResolve,e)}function wrapForNext(e,t){return function(r,o){e.then(function(){t[kEnded]?r(createIterResult(void 0,!0)):t[kHandlePromise](r,o)},o)}}var AsyncIteratorPrototype=Object.getPrototypeOf(function(){}),ReadableStreamAsyncIteratorPrototype=Object.setPrototypeOf((_defineProperty(_Object$setPrototypeO={get stream(){return this[kStream]},next:function(){var e=this,t=this[kError];if(null!==t)return Promise.reject(t);if(this[kEnded])return Promise.resolve(createIterResult(void 0,!0));if(this[kStream].destroyed)return new Promise(function(t,r){process.nextTick(function(){e[kError]?r(e[kError]):t(createIterResult(void 0,!0))})});var r,o=this[kLastPromise];if(o)r=new Promise(wrapForNext(o,this));else{var n=this[kStream].read();if(null!==n)return Promise.resolve(createIterResult(n,!1));r=new Promise(this[kHandlePromise])}return this[kLastPromise]=r,r}},Symbol.asyncIterator,function(){return this}),_defineProperty(_Object$setPrototypeO,"return",function(){var e=this;return new Promise(function(t,r){e[kStream].destroy(null,function(e){e?r(e):t(createIterResult(void 0,!0))})})}),_Object$setPrototypeO),AsyncIteratorPrototype),createReadableStreamAsyncIterator=function(e){var t,r=Object.create(ReadableStreamAsyncIteratorPrototype,(_defineProperty(t={},kStream,{value:e,writable:!0}),_defineProperty(t,kLastResolve,{value:null,writable:!0}),_defineProperty(t,kLastReject,{value:null,writable:!0}),_defineProperty(t,kError,{value:null,writable:!0}),_defineProperty(t,kEnded,{value:e._readableState.endEmitted,writable:!0}),_defineProperty(t,kHandlePromise,{value:function(e,t){var o=r[kStream].read();o?(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,e(createIterResult(o,!1))):(r[kLastResolve]=e,r[kLastReject]=t)},writable:!0}),t));return r[kLastPromise]=null,finished(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[kLastReject];return null!==t&&(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,t(e)),void(r[kError]=e)}var o=r[kLastResolve];null!==o&&(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,o(createIterResult(void 0,!0))),r[kEnded]=!0}),e.on("readable",onReadable.bind(null,r)),r};module.exports=createReadableStreamAsyncIterator;
|
||
|
||
}).call(this)}).call(this,require('_process'))
|
||
|
||
},{"./end-of-stream":108,"_process":96}],106:[function(require,module,exports){
|
||
"use strict";function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}var _require=require("buffer"),Buffer=_require.Buffer,_require2=require("util"),inspect=_require2.inspect,custom=inspect&&inspect.custom||"inspect";function copyBuffer(e,t,n){Buffer.prototype.copy.call(e,t,n)}module.exports=function(){function e(){_classCallCheck(this,e),this.head=null,this.tail=null,this.length=0}return _createClass(e,[{key:"push",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return Buffer.alloc(0);for(var t=Buffer.allocUnsafe(e>>>0),n=this.head,r=0;n;)copyBuffer(n.data,t,r),r+=n.data.length,n=n.next;return t}},{key:"consume",value:function(e,t){var n;return e<this.head.data.length?(n=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):n=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),n}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(e){var t=this.head,n=1,r=t.data;for(e-=r.length;t=t.next;){var a=t.data,i=e>a.length?a.length:e;if(i===a.length?r+=a:r+=a.slice(0,e),0===(e-=i)){i===a.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=a.slice(i));break}++n}return this.length-=n,r}},{key:"_getBuffer",value:function(e){var t=Buffer.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var a=n.data,i=e>a.length?a.length:e;if(a.copy(t,t.length-e,0,i),0===(e-=i)){i===a.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=a.slice(i));break}++r}return this.length-=r,t}},{key:custom,value:function(e,t){return inspect(this,_objectSpread({},t,{depth:0,customInspect:!1}))}}]),e}();
|
||
|
||
},{"buffer":92,"util":91}],107:[function(require,module,exports){
|
||
(function (process){(function (){
|
||
"use strict";function destroy(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return i||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(emitErrorNT,this,t)):process.nextTick(emitErrorNT,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?r._writableState?r._writableState.errorEmitted?process.nextTick(emitCloseNT,r):(r._writableState.errorEmitted=!0,process.nextTick(emitErrorAndCloseNT,r,t)):process.nextTick(emitErrorAndCloseNT,r,t):e?(process.nextTick(emitCloseNT,r),e(t)):process.nextTick(emitCloseNT,r)}),this)}function emitErrorAndCloseNT(t,e){emitErrorNT(t,e),emitCloseNT(t)}function emitCloseNT(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function emitErrorNT(t,e){t.emit("error",e)}function errorOrDestroy(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy};
|
||
|
||
}).call(this)}).call(this,require('_process'))
|
||
|
||
},{"_process":96}],108:[function(require,module,exports){
|
||
"use strict";var ERR_STREAM_PREMATURE_CLOSE=require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE;function once(e){var r=!1;return function(){if(!r){r=!0;for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];e.apply(this,n)}}}function noop(){}function isRequest(e){return e.setHeader&&"function"==typeof e.abort}function eos(e,r,t){if("function"==typeof r)return eos(e,null,r);r||(r={}),t=once(t||noop);var n=r.readable||!1!==r.readable&&e.readable,o=r.writable||!1!==r.writable&&e.writable,i=function(){e.writable||l()},a=e._writableState&&e._writableState.finished,l=function(){o=!1,a=!0,n||t.call(e)},s=e._readableState&&e._readableState.endEmitted,c=function(){n=!1,s=!0,o||t.call(e)},u=function(r){t.call(e,r)},f=function(){var r;return n&&!s?(e._readableState&&e._readableState.ended||(r=new ERR_STREAM_PREMATURE_CLOSE),t.call(e,r)):o&&!a?(e._writableState&&e._writableState.ended||(r=new ERR_STREAM_PREMATURE_CLOSE),t.call(e,r)):void 0},d=function(){e.req.on("finish",l)};return isRequest(e)?(e.on("complete",l),e.on("abort",f),e.req?d():e.on("request",d)):o&&!e._writableState&&(e.on("end",i),e.on("close",i)),e.on("end",c),e.on("finish",l),!1!==r.error&&e.on("error",u),e.on("close",f),function(){e.removeListener("complete",l),e.removeListener("abort",f),e.removeListener("request",d),e.req&&e.req.removeListener("finish",l),e.removeListener("end",i),e.removeListener("close",i),e.removeListener("finish",l),e.removeListener("end",c),e.removeListener("error",u),e.removeListener("close",f)}}module.exports=eos;
|
||
|
||
},{"../../../errors":99}],109:[function(require,module,exports){
|
||
module.exports=function(){throw new Error("Readable.from is not available in the browser")};
|
||
|
||
},{}],110:[function(require,module,exports){
|
||
"use strict";var eos;function once(e){var r=!1;return function(){r||(r=!0,e.apply(void 0,arguments))}}var _require$codes=require("../../../errors").codes,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED;function noop(e){if(e)throw e}function isRequest(e){return e.setHeader&&"function"==typeof e.abort}function destroyer(e,r,n,o){o=once(o);var t=!1;e.on("close",function(){t=!0}),void 0===eos&&(eos=require("./end-of-stream")),eos(e,{readable:r,writable:n},function(e){if(e)return o(e);t=!0,o()});var i=!1;return function(r){if(!t&&!i)return i=!0,isRequest(e)?e.abort():"function"==typeof e.destroy?e.destroy():void o(r||new ERR_STREAM_DESTROYED("pipe"))}}function call(e){e()}function pipe(e,r){return e.pipe(r)}function popCallback(e){return e.length?"function"!=typeof e[e.length-1]?noop:e.pop():noop}function pipeline(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var o,t=popCallback(r);if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new ERR_MISSING_ARGS("streams");var i=r.map(function(e,n){var u=n<r.length-1;return destroyer(e,u,n>0,function(e){o||(o=e),e&&i.forEach(call),u||(i.forEach(call),t(o))})});return r.reduce(pipe)}module.exports=pipeline;
|
||
|
||
},{"../../../errors":99,"./end-of-stream":108}],111:[function(require,module,exports){
|
||
"use strict";var ERR_INVALID_OPT_VALUE=require("../../../errors").codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(r,e,t){return null!=r.highWaterMark?r.highWaterMark:e?r[t]:null}function getHighWaterMark(r,e,t,a){var i=highWaterMarkFrom(e,a,t);if(null!=i){if(!isFinite(i)||Math.floor(i)!==i||i<0)throw new ERR_INVALID_OPT_VALUE(a?t:"highWaterMark",i);return Math.floor(i)}return r.objectMode?16:16384}module.exports={getHighWaterMark:getHighWaterMark};
|
||
|
||
},{"../../../errors":99}],112:[function(require,module,exports){
|
||
module.exports=require("events").EventEmitter;
|
||
|
||
},{"events":93}],113:[function(require,module,exports){
|
||
"use strict";var Buffer=require("safe-buffer").Buffer,isEncoding=Buffer.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function _normalizeEncoding(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function normalizeEncoding(t){var e=_normalizeEncoding(t);if("string"!=typeof e&&(Buffer.isEncoding===isEncoding||!isEncoding(t)))throw new Error("Unknown encoding: "+t);return e||t}function StringDecoder(t){var e;switch(this.encoding=normalizeEncoding(t),this.encoding){case"utf16le":this.text=utf16Text,this.end=utf16End,e=4;break;case"utf8":this.fillLast=utf8FillLast,e=4;break;case"base64":this.text=base64Text,this.end=base64End,e=3;break;default:return this.write=simpleWrite,void(this.end=simpleEnd)}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer.allocUnsafe(e)}function utf8CheckByte(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function utf8CheckIncomplete(t,e,s){var i=e.length-1;if(i<s)return 0;var n=utf8CheckByte(e[i]);return n>=0?(n>0&&(t.lastNeed=n-1),n):--i<s||-2===n?0:(n=utf8CheckByte(e[i]))>=0?(n>0&&(t.lastNeed=n-2),n):--i<s||-2===n?0:(n=utf8CheckByte(e[i]))>=0?(n>0&&(2===n?n=0:t.lastNeed=n-3),n):0}function utf8CheckExtraBytes(t,e,s){if(128!=(192&e[0]))return t.lastNeed=0,"<22>";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"<22>";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"<22>"}}function utf8FillLast(t){var e=this.lastTotal-this.lastNeed,s=utf8CheckExtraBytes(this,t,e);return void 0!==s?s:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function utf8Text(t,e){var s=utf8CheckIncomplete(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=s;var i=t.length-(s-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function utf8End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"<22>":e}function utf16Text(t,e){if((t.length-e)%2==0){var s=t.toString("utf16le",e);if(s){var i=s.charCodeAt(s.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],s.slice(0,-1)}return s}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function utf16End(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var s=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,s)}return e}function base64Text(t,e){var s=(t.length-e)%3;return 0===s?t.toString("base64",e):(this.lastNeed=3-s,this.lastTotal=3,1===s?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-s))}function base64End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function simpleWrite(t){return t.toString(this.encoding)}function simpleEnd(t){return t&&t.length?this.write(t):""}exports.StringDecoder=StringDecoder,StringDecoder.prototype.write=function(t){if(0===t.length)return"";var e,s;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";s=this.lastNeed,this.lastNeed=0}else s=0;return s<t.length?e?e+this.text(t,s):this.text(t,s):e||""},StringDecoder.prototype.end=utf8End,StringDecoder.prototype.text=utf8Text,StringDecoder.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};
|
||
|
||
},{"safe-buffer":97}],114:[function(require,module,exports){
|
||
(function (setImmediate,clearImmediate){(function (){
|
||
var nextTick=require("process/browser.js").nextTick,apply=Function.prototype.apply,slice=Array.prototype.slice,immediateIds={},nextImmediateId=0;function Timeout(e,t){this._id=e,this._clearFn=t}exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,window,arguments),clearTimeout)},exports.setInterval=function(){return new Timeout(apply.call(setInterval,window,arguments),clearInterval)},exports.clearTimeout=exports.clearInterval=function(e){e.close()},Timeout.prototype.unref=Timeout.prototype.ref=function(){},Timeout.prototype.close=function(){this._clearFn.call(window,this._id)},exports.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},exports.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},exports._unrefActive=exports.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},exports.setImmediate="function"==typeof setImmediate?setImmediate:function(e){var t=nextImmediateId++,i=!(arguments.length<2)&&slice.call(arguments,1);return immediateIds[t]=!0,nextTick(function(){immediateIds[t]&&(i?e.apply(null,i):e.call(null),exports.clearImmediate(t))}),t},exports.clearImmediate="function"==typeof clearImmediate?clearImmediate:function(e){delete immediateIds[e]};
|
||
|
||
}).call(this)}).call(this,require("timers").setImmediate,require("timers").clearImmediate)
|
||
|
||
},{"process/browser.js":96,"timers":114}],115:[function(require,module,exports){
|
||
(function (global){(function (){
|
||
function deprecate(r,e){if(config("noDeprecation"))return r;var o=!1;return function(){if(!o){if(config("throwDeprecation"))throw new Error(e);config("traceDeprecation")?console.trace(e):console.warn(e),o=!0}return r.apply(this,arguments)}}function config(r){try{if(!global.localStorage)return!1}catch(r){return!1}var e=global.localStorage[r];return null!=e&&"true"===String(e).toLowerCase()}module.exports=deprecate;
|
||
|
||
}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||
|
||
},{}]},{},[73])
|
||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Vzci9sb2NhbC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvQHBhbnpvb20vcGFuem9vbS9kaXN0L3Bhbnpvb20uanMiLCJub2RlX21vZHVsZXMvYXhpb3MvaW5kZXguanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2FkYXB0ZXJzL3hoci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvYXhpb3MuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWwuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWxUb2tlbi5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL2lzQ2FuY2VsLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0F4aW9zLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0ludGVyY2VwdG9yTWFuYWdlci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9idWlsZEZ1bGxQYXRoLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2NyZWF0ZUVycm9yLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2Rpc3BhdGNoUmVxdWVzdC5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9lbmhhbmNlRXJyb3IuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvbWVyZ2VDb25maWcuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvc2V0dGxlLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3RyYW5zZm9ybURhdGEuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2RlZmF1bHRzLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2JpbmQuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYnVpbGRVUkwuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29va2llcy5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc0Fic29sdXRlVVJMLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2lzQXhpb3NFcnJvci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc1VSTFNhbWVPcmlnaW4uanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZS5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9wYXJzZUhlYWRlcnMuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvc3ByZWFkLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qcyIsIm5vZGVfbW9kdWxlcy9qYm94L2Rpc3QvakJveC5hbGwubWluLmpzIiwibm9kZV9tb2R1bGVzL2pxdWVyeS11aS91aS93aWRnZXQuanMiLCJub2RlX21vZHVsZXMvanF1ZXJ5L2Rpc3QvanF1ZXJ5LmpzIiwibm9kZV9tb2R1bGVzL3NheC9saWIvc2F4LmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvYm9tLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvYnVpbGRlci5qcyIsIm5vZGVfbW9kdWxlcy94bWwyanMvbGliL2RlZmF1bHRzLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvcGFyc2VyLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvcHJvY2Vzc29ycy5qcyIsIm5vZGVfbW9kdWxlcy94bWwyanMvbGliL3htbDJqcy5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9Eb2N1bWVudFBvc2l0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL05vZGVUeXBlLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1V0aWxpdHkuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvV3JpdGVyU3RhdGUuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MQXR0cmlidXRlLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTENEYXRhLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTENoYXJhY3RlckRhdGEuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MQ29tbWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxET01Db25maWd1cmF0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERPTUVycm9ySGFuZGxlci5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxET01JbXBsZW1lbnRhdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxET01TdHJpbmdMaXN0LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERUREF0dExpc3QuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRFRERWxlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEVERFbnRpdHkuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRFRETm90YXRpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRGVjbGFyYXRpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRG9jVHlwZS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEb2N1bWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEb2N1bWVudENCLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTER1bW15LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTEVsZW1lbnQuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MTmFtZWROb2RlTWFwLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTE5vZGUuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MTm9kZUxpc3QuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MUHJvY2Vzc2luZ0luc3RydWN0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFJhdy5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxTdHJlYW1Xcml0ZXIuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MU3RyaW5nV3JpdGVyLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFN0cmluZ2lmaWVyLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFRleHQuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MV3JpdGVyQmFzZS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9pbmRleC5qcyIsInNyYy9jc3MvaW5qZWN0LmNzcyIsInNyYy9pbmplY3QudHMiLCJzcmMvbW9kdWxlcy9ib29raW5nQnV0dG9uLnRzIiwic3JjL21vZHVsZXMvY2FydC50cyIsInNyYy9tb2R1bGVzL2NhcnRCdXR0b25zLnRzIiwic3JjL21vZHVsZXMvY29tbXVuaWNhdGlvbi50cyIsInNyYy9tb2R1bGVzL2NvbmZpZy50cyIsInNyYy9tb2R1bGVzL2V2ZW50cy50cyIsInNyYy9tb2R1bGVzL2pCb3hIZWxwZXIudHMiLCJzcmMvbW9kdWxlcy9qc2MudHMiLCJzcmMvbW9kdWxlcy9sZWdlbmQudHMiLCJzcmMvbW9kdWxlcy9wYW56b29tLnRzIiwic3JjL21vZHVsZXMvcGFyZW50LnRzIiwic3JjL21vZHVsZXMvcGFyc2VyLnRzIiwic3JjL21vZHVsZXMvc3RhdGUudHMiLCJzcmMvbW9kdWxlcy91aS50cyIsInNyYy9tb2R1bGVzL3V0aWxzLnRzIiwic3JjL21vZHVsZXMveG1saGVscGVyLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdXNyL2xvY2FsL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL2Jhc2U2NC1qcy9pbmRleC5qcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Vzci9sb2NhbC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9icm93c2VyLXJlc29sdmUvZW1wdHkuanMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi91c3IvbG9jYWwvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdXNyL2xvY2FsL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL2V2ZW50cy9ldmVudHMuanMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi91c3IvbG9jYWwvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvaWVlZTc1NC9pbmRleC5qcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Vzci9sb2NhbC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdXNyL2xvY2FsL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Vzci9sb2NhbC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Vzci9sb2NhbC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9pbmRleC5qcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Vzci9sb2NhbC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdXNyL2xvY2FsL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdXNyL2xvY2FsL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcGFzc3Rocm91Z2guanMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi91c3IvbG9jYWwvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9yZWFkYWJsZS5qcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Vzci9sb2NhbC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Vzci9sb2NhbC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdXNyL2xvY2FsL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3IuanMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi91c3IvbG9jYWwvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9idWZmZXJfbGlzdC5qcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Vzci9sb2NhbC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi91c3IvbG9jYWwvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdXNyL2xvY2FsL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZnJvbS1icm93c2VyLmpzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdXNyL2xvY2FsL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi91c3IvbG9jYWwvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZS5qcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Vzci9sb2NhbC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdXNyL2xvY2FsL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3N0cmluZ19kZWNvZGVyL2xpYi9zdHJpbmdfZGVjb2Rlci5qcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Vzci9sb2NhbC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy90aW1lcnMtYnJvd3NlcmlmeS9tYWluLmpzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdXNyL2xvY2FsL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3V0aWwtZGVwcmVjYXRlL2Jyb3dzZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0EsMC9CQ0ZBLElBQUksT0FBUyxRQUFRLFVBQ3JCLFFBQUEsYUFFQSxJQVFJLGdCQVJKLFFBQUEsZ0JBQUEsUUFBQSxvQkFDQSxjQUFBLGFBQUEsUUFBQSw0QkFDQSxPQUFBLGFBQUEsUUFBQSxxQkFDQSxHQUFBLGFBQUEsUUFBQSxpQkFDQSxXQUFBLGFBQUEsUUFBQSw0QkFDQSxPQUFBLGFBQUEsUUFBQSxxQkE4Q0EsU0FBUyxlQUFlLEdBQ3BCLEdBQXdCLGlCQUFaLEVBQU0sS0FBbEIsQ0FHQSxJQUFNLEVBQWtCLEtBQUssTUFBTSxFQUFFLE1BS3JDLE9BSEEsUUFBQSxRQUFNLFdBQVcseUJBQXlCLEVBQUssTUFDL0MsUUFBQSxRQUFNLFdBQVcsR0FFVCxFQUFLLE9BQ1QsSUFBSyxpQ0FDRCxPQUFPLHdCQUF3QixpQkFDL0IsTUFFSixJQUFLLDBCQUNELE9BQU8saUJBQWlCLGlCQUN4QixNQUVKLElBQUssdUJBQ0QsT0FBTyxlQUFlLEVBQUcsaUJBQ3pCLE1BRUosSUFBSyxzQkFDRCxRQUFBLFFBQU0sV0FBVywwQkFDakIsT0FBTyx3QkFBd0IsT0FDL0IsTUFFSixJQUFLLDZCQUNELE9BQU8scUJBQXFCLEVBQUcsaUJBQy9CLE1BRUosSUFBSyw2QkFDRCxPQUFPLHVCQUF1QixPQUM5QixNQUVKLElBQUssNkJBQ0QsT0FBTyx1QkFBdUIsT0FDOUIsTUFFSixJQUFLLHVCQUNELE9BQU8sY0FBYyxHQUNyQixNQUVKLElBQUssb0JBQ0QsT0FBTyw2QkFBNkIsVUF6RmhELFFBQVEseUJBSVIsT0FBTyxpQkFBaUIsT0FBUSxXQUU1QixJQUFNLEdBQWtCLElBQUksZUFBZ0Isa0JBQWtCLFVBQzlELGdCQUFlLFNBQUEsU0FBQSxHQUFRLGlCQUFvQixPQUFPLFVBQVUsSUFFNUQsUUFBQSxRQUFNLFdBQVcsaUJBQ2pCLFFBQUEsUUFBTSxXQUFXLGFBQWEsZ0JBQTBCLFVBSXhELElBQU0sRUFBd0Isa0JBQWtCLEtBQUssR0FFckQsUUFBQSxRQUFNLFdBQVcsc0JBQXNCLEdBR0gsT0FBaEMsZ0JBQTBCLFdBQStCLElBQWpCLElBSzVDLE9BQU8sa0JBR1AsY0FBYyxpQkFBaUIsZ0JBRy9CLGdCQUFlLFNBQUEsU0FBQSxHQUFRLGlCQUFvQixPQUFPLG9CQUFvQixJQUN0RSxnQkFBZSxTQUFBLFNBQUEsR0FBUSxpQkFBb0IsT0FBTyxrQkFDbEQsZ0JBQWUsU0FBQSxTQUFBLEdBQVEsaUJBQW9CLE9BQU8scUJBQzVCLEtBQUksT0FBTyxVQUdqQyxXQUFXLG1CQUlYLEdBQUcsZUFFSCxRQUFBLFFBQU0sV0FBVzs7O3V1QkNuRHJCLElBQUEsY0FBQSxhQUFBLFFBQUEsb0JBRUEsU0FBZ0IsbUJBQ1osT0FBTyx1QkFBdUIsU0FDOUIsc0JBQ0EsdUJBR0osU0FBZ0IsdUJBQ1osY0FBYyxrQkFBa0IsdUJBR3BDLFNBQVMsdUJBQ0wsT0FBTywwQkFBMEIsT0FBTywrUkFZNUMsU0FBUyxzQkFDTCxPQUFPLDBCQUEwQixJQUFJLENBQ2pDLFFBQVcsUUFDWCxTQUFZLFdBQ1osTUFBUyxTQTNCakIsUUFBQSxpQkFBQSxpQkFNQSxRQUFBLHFCQUFBOzs7KzFCQ1JBLElBQUEsVUFBQSxhQUFBLFFBQUEsZ0JBQ0EsU0FBQSxRQUFBLFlBRUEsT0FBQSxhQUFBLFFBQUEsYUFDQSxZQUFBLGFBQUEsUUFBQSxrQkFFQSxTQUFnQixRQUFRLEdBQ3BCLElBQU0sRUFBZ0IsSUFBSSxVQUFVLHlDQUF5QyxRQUFTLEVBQVUsS0FBSyxTQUFTLEdBQUcsSUFDM0csRUFBK0IsVUFBVSx5Q0FBeUMsT0FBUSxFQUFVLEtBQUssU0FBUyxHQUFHLElBQ3JILEVBQWUsU0FBQSxPQUFPLE1BQU0sV0FBVyxFQUFVLElBQUksR0FDckQsRUFBYyxTQUFBLE9BQU8sTUFBTSxXQUFXLEVBQVUsSUFBSSxHQUNwRCxFQUFvQixTQUFBLE9BQU8sTUFBTSxXQUFXLEVBQVUsSUFBSSxHQUUxRCxFQURrQyxVQUFVLDBCQUEwQixHQUMxQixjQUFjLEVBQUcsVUFBVSxFQUN2RSxFQUE4QixVQUFVLDRCQUE0QixFQUFVLEtBQUssU0FBUyxHQUFHLElBQy9GLEVBQWlCLFlBQVksRUFBVSxHQUN2QyxFQUFxQyxJQUFJLEVBQU0sdUJBRXJELFdBQVcsRUFBUSxFQUFPLEVBQVUsR0FDcEMsNEJBQTRCLEVBQVksR0FDeEMsT0FBTywwQkFBMEIsRUFBNEIsR0FHakUsU0FBZ0Isa0JBQ1osT0FBTywyQkFBMkIsS0FBSyxXQUNuQyxLQUFLLFdBSWIsU0FBZ0IseUJBQXlCLEVBQTZCLEdBQ2xFLElBQU0sRUFBZ0IsU0FBQSxPQUFPLE1BQU0saUJBQWlCLFVBQVUsU0FBQSxHQUMxRCxPQUFBLEVBQUksS0FBTyxFQUFVLEtBRXpCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixHQUFPLEdBQUssRUFBUyxNQUNuRCxJQUFNLEVBQWdCLFVBQVUsOEJBQThCLEVBQVMsT0FFbkUsSUFDQSxTQUFBLE9BQU8sTUFBTSxpQkFBaUIsR0FBTyxHQUFLLEdBRTlDLG1CQUNBLFlBQVksaUJBRVosSUFBTSxFQUFNLHNCQUNaLE9BQU8sb0JBQW9CLEdBRy9CLFNBQWdCLG1CQUNaLE9BQUssU0FBQSxPQUFPLE1BQU0saUJBQWlCLFFBS25DLFNBQUEsT0FBTyxNQUFNLGFBQWUsZ0JBQ3JCLFNBQUEsT0FBTyxNQUFNLGVBTGhCLFNBQUEsT0FBTyxNQUFNLGFBQWUsSUFDckIsS0FRZixTQUFnQixvQkFDWixHQUFLLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUduQyxJQUFLLElBQU0sS0FBTyxTQUFBLE9BQU8sTUFBTSxpQkFBa0IsQ0FDN0MsR0FBSSxPQUFPLFVBQVUsZUFBZSxLQUFLLFNBQUEsT0FBTyxNQUFNLGlCQUFrQixHQUVwRSxRQURnQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsS0FNMUQsU0FBZ0IsZ0JBQ1osT0FBTyxzQkFBc0IsT0FDN0IsT0FBTyxjQUNQLE9BQU8sZUFHWCxTQUFnQixzQkFDWixHQUFLLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUFuQyxDQUdBLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sZ0JBQy9CLEVBQThCLFVBQVUsOEJBQzlDLE9BQVUsRUFBbUMsa0JBQUMsaUJBQWlCLEVBQWdCLGFBQVksUUFBUSxFQUFxQixJQUFDLDBCQUEwQixFQUFtQixpQkFHMUssU0FBUyxXQUFXLEVBQWtCLEVBQWlCLEVBQWdDLEdBQ25GLE9BQU8sMEJBQTBCLE9BQU8sbUNBQ1osRUFBUSxxRUFDd0IsRUFBTyxvREFDL0IsRUFBVSw0Q0FDZixFQUFTLHFHQU01QyxTQUFTLDRCQUE0QixFQUErQixHQUMzRCxHQUdMLEVBQWEsUUFBUSxTQUFBLEdBQ2IsRUFBSSxJQUNKLGFBQWEsRUFBWSxLQUlyQyxTQUFTLGFBQWEsRUFBb0IsR0FDdEMsSUFBTSxFQUFrQyxPQUFPLEdBQVksSUFBSSxHQUMzRCxFQUF5QixTQUFTLGNBQWMsVUFDcEQsRUFBSSxNQUFnQixFQUFNLEdBQzFCLEVBQUksVUFBZSxFQUFNLEdBQUUsS0FBSyxFQUFNLEdBQ3RDLEVBQW1CLFlBQVksR0FHbkMsU0FBUyxnQkFDTCxPQUFPLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixJQUFJLGNBQ3BDLE9BQU8sU0FBQyxFQUFNLEdBQVMsT0FBQSxFQUFPLElBQzlCLFFBQVEsR0FHakIsU0FBUyxhQUFhLEdBQ2xCLElBQU0sRUFBaUIsRUFBSSxHQUNqQixFQUFzQixFQUFJLEdBRTFCLEVBRGtDLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixHQUM1QixLQUFLLFNBQVMsR0FBRyxHQUNyRCxFQUEyQyxVQUFVLDZDQUE2QyxHQUV4RyxHQUFJLEVBQWUsQ0FDZixJQUFNLEVBQWdDLFVBQVUsc0JBQXNCLEVBQWEsR0FFbkYsR0FBSSxFQUNBLE9BQU8sRUFHZixPQUFPLEVBL0hmLFFBQUEsUUFBQSxRQWlCQSxRQUFBLGdCQUFBLGdCQU1BLFFBQUEseUJBQUEseUJBaUJBLFFBQUEsaUJBQUEsaUJBV0EsUUFBQSxrQkFBQSxrQkFZQSxRQUFBLGNBQUEsY0FNQSxRQUFBLG9CQUFBOzs7aUlDM0VBLElBQUEsU0FBQSxRQUFBLFlBRUEsU0FBZ0IsaUJBQ1osT0FBTyxnQ0FBZ0MsR0FBRyxVQUFZLG9CQUN0RCxPQUFPLG9DQUFvQyxHQUFHLFlBQWMseUJBR2hFLFNBQVMsb0JBQ0wsSUFBTSxFQUFxQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsT0FFekQsTUFBa0MsS0FBOUIsU0FBQSxPQUFPLE1BQU0sYUFDUyxJQUFmLEVBQXNCLEVBQVUsZ0JBQWdCLFNBQUEsT0FBTyxNQUFNLGFBQW9CLEVBQVUsaUJBQWlCLFNBQUEsT0FBTyxNQUFNLGFBRXpILHNCQUdmLFNBQVMseUJBQ0wsSUFBTSxFQUFxQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsT0FFekQsTUFBa0MsS0FBOUIsU0FBQSxPQUFPLE1BQU0sYUFDTixVQUFVLEVBQVUsYUFBYSxTQUFBLE9BQU8sTUFBTSxhQUU5Qyx5QkFHZixTQUFnQix1QkFBdUIsR0FDbEIsU0FBYixHQUNBLE9BQU8sMkJBQTJCLElBQUksaUJBQWtCLFFBQ3hELE9BQU8sZ0JBQWdCLE9BQ3ZCLE9BQU8sZ0NBQWdDLFNBQVMsY0FFOUIsU0FBYixJQUNMLE9BQU8sZ0JBQWdCLE9BQ3ZCLE9BQU8sZ0NBQWdDLFlBQVksYUFDbkQsT0FBTywyQkFBMkIsSUFBSSxpQkFBa0IsUUFoQ2hFLFFBQUEsZUFBQSxlQXVCQSxRQUFBLHVCQUFBOzs7MDhCQ3hCQSxJQUFBLFFBQUEsZ0JBQUEsUUFBQSxVQUNNLGFBQWUsUUFBUSxVQUFVLFlBQ3ZDLEdBQUEsYUFBQSxRQUFBLFNBQ0EsU0FBQSxRQUFBLFlBQ0EsS0FBQSxhQUFBLFFBQUEsV0FDQSxRQUFBLGdCQUFBLFFBQUEsWUFHQSxTQUFnQixZQUFZLEVBQW1CLEdBQzNDLEdBQWEsV0FBVCxFQUNBLE9BQU8sT0FBTyxZQUFZLEtBQUssVUFBVSxHQUFTLFNBQ2pELENBQ0QsSUFBTSxFQUFhLFNBQVMsZUFBZSxHQUU3QixPQUFWLEdBQTBDLE9BQXhCLEVBQU0sZUFDeEIsRUFBTSxjQUFjLFlBQVksS0FBSyxVQUFVLEdBQVMsTUFJcEUsU0FBZ0IsaUJBQWlCLEdBQzdCLE9BQU8saUJBQWlCLFVBQVcsU0FBQyxHQUNoQyxFQUFVLEtBSWxCLFNBQWdCLFFBQVEsRUFBZSxFQUFjLEVBQWlCLEVBQWdCLFFBQUEsSUFBQSxJQUFBLEVBQWlCLEtBQUssT0FDeEcsY0FBYyxHQUFPLEtBQUssU0FBQyxHQU92QixZQU4yQixDQUN2QixLQUFNLEVBQ04sS0FBTSxFQUNOLFFBQVMsRUFDVCxNQUFPLEdBRVUsS0FFcEIsTUFBTSxTQUFVLEdBQ2IsUUFBUSxNQUFNLEtBSTFCLFNBQWdCLGlCQUFpQixHQU83QixZQU4yQixDQUN2QixRQUFTLEtBQ1QsS0FBTSxTQUNOLE1BQU8sRUFDUCxLQUFNLEtBQUssT0FFTSxpQkFHekIsU0FBZ0Isa0JBQWtCLEdBTzlCLFlBTjJCLENBQ3ZCLFFBQVMsS0FDVCxLQUFNLFFBQ04sTUFBTyxFQUNQLEtBQU0sS0FBSyxPQUVNLFVBR3pCLFNBQWdCLGVBQWUsR0FPM0IsWUFOMkIsQ0FDdkIsUUFBUyxFQUNULEtBQU0sUUFDTixNQUFPLHVCQUNQLEtBQU0sS0FBSyxPQUVNLFVBR3pCLFNBQWdCLGVBQWUsR0FHM0IsTUFBTSxFQUFPLENBQ1QsU0FBVSxXQUVULEtBQUssV0FBTSxPQUFBLFFBQUEsUUFBTSxXQUFjLEVBQUssZUFDcEMsTUFBTSxTQUFDLEdBQVUsT0FBQSxRQUFBLFFBQU0sV0FBVyxLQUczQyxTQUFnQix3QkFDWixPQUFPLHNCQUFzQixPQUV4QixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsVUFHbkMsR0FBRyxvQkFZSCxZQVQyQixDQUN2QixRQUFTLENBQ0wsSUFKd0IsS0FBSyx1QkFNakMsS0FBTSxRQUNOLE1BQU8sNkJBQ1AsS0FBTSxLQUFLLE9BR00sV0FHekIsU0FBUyxjQUFjLEdBQ25CLE9BQU8sUUFBQSxRQUFNLElBQUksR0FDWixLQUFLLFNBQUMsR0FDSCxPQUFPLElBQUksUUFBUSxTQUFDLEVBQWMsR0FDOUIsSUFBTSxFQUErQixFQUNSLE1BQXpCLEVBQWMsUUFBNEQsMkJBQTFDLEVBQWMsUUFBUSxpQkFDdEQsYUFBYSxFQUFjLEtBQ3ZCLENBQUUsZUFBZSxFQUFNLFdBQVcsRUFBTSxZQUFZLEdBQ3BELFNBQUMsRUFBVSxHQUNILEVBQ0EsRUFBTyxHQUVQLEVBQVEsU0FLL0IsTUFBTSxTQUFDLEdBQVUsT0FBQSxRQUFBLFFBQU0sV0FBVyxLQTlHM0MsUUFBQSxZQUFBLFlBV0EsUUFBQSxpQkFBQSxpQkFNQSxRQUFBLFFBQUEsUUFlQSxRQUFBLGlCQUFBLGlCQVVBLFFBQUEsa0JBQUEsa0JBVUEsUUFBQSxlQUFBLGVBVUEsUUFBQSxlQUFBLGVBVUEsUUFBQSxxQkFBQTs7OzBGQy9FYSxRQUFBLE9BQW1CLENBQzVCLGtCQUFrQixFQUNsQixPQUFPLEVBQ1AsT0FBUSxVQUNSLFFBQVMsUUFDVCxpQkFBa0IsR0FDbEIsVUFBVyxDQUNQLE9BQVEsQ0FDSixRQUFTLCtCQUNULElBQUssaUZBQ0wsU0FBVSxnREFDVixPQUFRLDhFQUNSLFVBQVcsK0NBQ1gsWUFBYSw4REFDYixRQUFTLHNEQUViLFFBQVMsQ0FDTCxRQUFTLHVDQUNULElBQUsseUZBQ0wsU0FBVSx3REFDVixPQUFRLHNGQUNSLFVBQVcsdURBQ1gsWUFBYSw4REFDYixRQUFTLCtEQUdqQixNQUFPLENBQ0gsYUFBYyxHQUNkLGFBQWEsRUFDYixpQkFBa0IsR0FDbEIsaUJBQWtCLEdBQ2xCLFdBQVksR0FDWixzQkFBc0IsRUFDdEIscUJBQWlCLEVBQ2pCLGFBQVMsRUFDVCxhQUFTLEVBQ1QsZ0JBQVksRUFDWixnQkFBWTs7O281QkN2Q3BCLElBQUEsY0FBQSxhQUFBLFFBQUEsb0JBQ0EsR0FBQSxhQUFBLFFBQUEsU0FDQSxTQUFBLFFBQUEsWUFFQSxJQUFBLGFBQUEsUUFBQSxVQUNBLEtBQUEsYUFBQSxRQUFBLFdBQ0EsT0FBQSxhQUFBLFFBQUEsYUFDQSxXQUFBLGFBQUEsUUFBQSxpQkFFQSxTQUFnQixnQkFDWixJQUFNLEVBQXlDLE9BQU8sa0JBQWtCLElBQUksR0FDeEUsR0FDQSxFQUFjLGlCQUFpQixRQUFTLFdBQU0sT0FBQSxjQUFjLGtCQUFrQix1QkFHdEYsU0FBZ0IscUJBQ1osSUFBTSxFQUFzQyxTQUFTLGVBQWUsbUJBRWhFLEdBQ0EsRUFBZ0IsaUJBQWlCLFNBQVUsV0FDdkMsR0FBRyxrQkFBa0IsUUFDckIsR0FBRyxzQkFBc0IsMEJBQ3pCLGNBQWMsZUFBZSxLQUFLLFNBSzlDLFNBQWdCLGVBQ1osSUFBTSxFQUFtQyxPQUFPLDJCQUEyQixJQUFJLEdBRTNFLEdBQ0EsRUFBUSxpQkFBaUIsUUFBUyxXQUN6QixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsT0FFMUIsU0FBQSxPQUFPLE1BQU0sWUFDbEIsY0FBYyx3QkFDUixTQUFBLE9BQU8sTUFBTSxhQUFlLFNBQUEsT0FBTyxNQUFNLHFCQUMvQyxHQUFHLGtCQUNHLFNBQUEsT0FBTyxNQUFNLGFBQWdCLFNBQUEsT0FBTyxNQUFNLHNCQUNoRCxXQUFXLGVBQWUsd0VBTjFCLFdBQVcsZUFBZSxnREFXMUMsU0FBZ0Isb0JBQW9CLEdBQ2hDLEdBQUssRUFBTCxDQUdBLElBQU0sRUFBYyxPQUFPLDJDQUEyQyxJQUFJLEdBQ3RFLEdBQ0EsRUFBWSxpQkFBaUIsUUFBUyxXQUNsQyxJQUFNLEVBQXFCLENBQ3ZCLFFBQVMsQ0FDTCxJQUFLLEdBRVQsS0FBTSxRQUNOLE1BQU8sdUJBQ1AsS0FBTSxLQUFLLE9BRWYsY0FBYyxZQUFZLEVBQVMsYUFLL0MsU0FBZ0IsZUFDWixJQUFNLEVBQXdCLE9BQU8sdUNBQXVDLElBQUksR0FDNUUsR0FDQSxFQUFTLGlCQUFpQixRQUFTLFdBQU0sT0FBQSxjQUFjLGtCQUFrQixnQ0FHakYsU0FBZ0IsY0FDWixJQUFNLEVBQXVCLE9BQU8seUNBQXlDLElBQUksR0FDN0UsR0FDQSxFQUFRLGlCQUFpQixRQUFTLFdBQU0sT0FBQSxPQUFPLHVDQUF1QyxRQUFRLFdBR3RHLFNBQWdCLHVCQUF1QixHQUNuQyxJQUFNLEVBQWUsU0FBQSxPQUFPLE1BQU0sUUFDRSxPQUFPLEdBQVksSUFBSSxHQUU1QyxpQkFBaUIsU0FBVSxXQUN0QyxJQUFNLEVBQWdCLEtBQUssTUFDckIsRUFBb0IsS0FBSyxFQUUvQixPQUFPLDRCQUE0QixFQUFZLEVBQU8sR0FFeEMsUUFBVixHQUNBLEVBQVEsS0FBSyxlQUFlLE9BQU8sYUFDbkMsSUFBSSx3QkFHSixFQUFRLEtBQUssYUFBYSxPQUFPLGVBQ2pDLElBQUkseUJBQXlCLEdBQzdCLElBQUkseUJBS2hCLFNBQWdCLDBCQUEwQixFQUFvQixHQUUxRCxPQUFPLEdBQVksR0FBRyxTQUFVLFdBQzVCLEtBQUsseUJBQXlCLEtBQU0sS0FJNUMsU0FBZ0IsaUJBQ1osT0FBTyxnQkFBZ0IsR0FBRyxRQUFTLFdBQzFCLFNBQUEsT0FBTyxrQkFDUixjQUFjLGlCQUFpQixxQkFFbkMsT0FBTyxjQUFjLElBQUksV0FBWSxVQUNyQyxPQUFPLGtCQUFrQixPQUFPLFVBdEd4QyxRQUFBLGNBQUEsY0FNQSxRQUFBLG1CQUFBLG1CQVlBLFFBQUEsYUFBQSxhQWlCQSxRQUFBLG9CQUFBLG9CQW9CQSxRQUFBLGFBQUEsYUFNQSxRQUFBLFlBQUEsWUFNQSxRQUFBLHVCQUFBLHVCQXNCQSxRQUFBLDBCQUFBLDBCQU9BLFFBQUEsZUFBQTs7O2kwQkN6R0EsSUFBQSxPQUFBLGdCQUFBLFFBQUEsU0FDQSxTQUFBLFFBQUEsWUFDQSxVQUFBLGFBQUEsUUFBQSxnQkFFQSxTQUFnQixlQUFlLEVBQW1CLFFBQUEsSUFBQSxJQUFBLEVBQUEsS0FDOUMsSUFBSSxPQUFBLFFBQWdCLFNBQVUsQ0FDMUIsU0FBVSxDQUFFLEVBQUcsU0FBVSxFQUFHLE9BQzVCLE9BQVEsQ0FBRSxFQUFHLEVBQUcsRUFBRyxLQUNuQixRQUFTLEVBQ1QsVUFBVyxFQUNYLFVBQVcsQ0FBRSxLQUFNLFNBQVUsTUFBTyxXQUNwQyxZQUFZLEVBQ1osYUFBYSxFQUNiLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsV0FBVyxFQUNYLE1BQU8sTUFDUCxPQUFPLEVBQ1AsZUFBZSxFQUNmLFlBQVksRUFDWixpQkFBaUIsRUFDakIsa0JBQWtCLElBSTFCLFNBQWdCLHFCQUNaLElBQUksT0FBQSxRQUFpQixVQUFXLENBQzVCLE9BQVEsT0FBTyxvQkFDZixPQUFRLFdBQ0osZ0JBQWdCLFNBSzVCLFNBQVMsZ0JBQWdCLEdBQ3JCLElBQU0sRUFBaUIsRUFBSyxPQUFPLEdBQUcsR0FDaEMsRUFBZSxTQUFBLE9BQU8sTUFBTSxXQUFXLEdBQVEsR0FDL0MsRUFBYyxTQUFBLE9BQU8sTUFBTSxXQUFXLEdBQVEsR0FDOUMsRUFBb0IsU0FBQSxPQUFPLE1BQU0sV0FBVyxHQUFRLEdBRXBELEVBRGtDLFVBQVUsMEJBQTBCLEdBQy9CLGNBQWMsRUFBRyxVQUFVLEVBRXhFLEVBQUssV0FBVyxHQXRDcEIsUUFBQSxlQUFBLGVBcUJBLFFBQUEsbUJBQUE7Ozs0Z0NDeEJBLElBQUEsU0FBQSxRQUFBLFlBQ0EsTUFBQSxhQUFBLFFBQUEsWUFDQSxLQUFBLGFBQUEsUUFBQSxXQUNBLFlBQUEsYUFBQSxRQUFBLGtCQUNBLFFBQUEsZ0JBQUEsUUFBQSxZQUVBLFNBQWdCLFdBQ1osSUFDTSxFQURrQixTQUFBLE9BQU8sTUFBTSxXQUNtQixRQUFRLEdBQUcsa0JBQWtCLEdBQUcsV0FDcEYsRUFBK0IsR0FFbkMsSUFBSyxJQUFJLEtBQU8sRUFBZSxDQUMzQixJQUFNLEVBQXdCLENBQzFCLFFBQVcsSUFBSSxFQUFjLEdBQUssR0FBRyxHQUNyQyxTQUFZLEVBQWMsSUFHOUIsRUFEeUIsT0FBTyxhQUFhLEdBQUssU0FBUyxJQUFNLHFCQUNwQyxFQUdqQyxPQUFPLEVBR1gsU0FBZ0IseUJBQXlCLFNBQy9CLEVBQWtCLFNBQUEsT0FBTyxNQUFNLFdBQy9CLEVBQWUsU0FBQSxPQUFPLE1BQU0sUUFHNUIsRUFFSixRQUZxQyxFQUZNLEVBQVcsUUFBUSxHQUFHLGtCQUFrQixHQUFHLFdBRW5DLEtBQUssU0FBQSxHQUN0RCxPQUFPLEVBQUksR0FBRyxLQUFPLFdBQ3ZCLElBQUEsT0FBQSxFQUFBLEVBQUUsS0FBSyxHQUFHLE1BQU0sS0FFbEIsRUFBUSxPQUFPLEVBQVUsYUFHN0IsU0FBZ0IsZ0JBQ1osSUFDTSxFQURrQixTQUFBLE9BQU8sTUFBTSxXQUNNLFFBQVEsR0FBRyxRQUFRLEdBQUcsT0FBTyxHQUNsRSxFQUFpQixTQUFTLEVBQU8sT0FBTyxJQUN4QyxFQUFzQixNQUFNLEtBQUssQ0FBRSxPQUFRLEdBQVUsU0FBQyxHQUFNLE1BQUEsS0FXbEUsT0FWZ0MsRUFBTyxLQUFLLEdBQUcsSUFFdkMsUUFBUSxTQUFBLEdBQ1osSUFBTSxFQUFnQixTQUFTLEVBQVEsYUFBYSxJQUc5QyxFQURvQixhQURDLEVBQVEsTUFBTSxHQUFHLE1BQU0sS0FDRixJQUNwQixHQUM1QixFQUFVLEdBQVMsSUFHaEIsRUFHWCxTQUFnQixjQUNaLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sV0FDL0IsRUFBMEIsRUFBVyxRQUFRLEdBQUcsUUFBUSxHQUFHLE9BQU8sR0FDbEUsRUFBdUIsRUFBTyxLQUFLLEdBQUcsSUFDdEMsRUFBdUMsRUFBVyxRQUFRLEdBQUcsa0JBQWtCLEdBQUcsV0FDbEYsRUFBcUMsRUFBVyxRQUFRLEdBQUcsV0FBVyxHQUFHLFVBQVUsR0FBRyxhQUFhLEdBR3JHLEVBQXdCLGdCQUN4QixTQUFTLEVBQU8sT0FBTyxJQUN2QixTQUFTLEVBQU8sTUFBTSxJQUN0QixLQUlKLE9BREEsRUFBWSxtQkFBbUIsRUFBTSxFQUFXLEVBQWUsSUFDOUMsSUFBSSxTQUFBLEdBQVcsT0FBQSxFQUFRLEtBQUssTUFHakQsU0FBZ0IsZUFBZSxHQUMzQixJQUFNLEVBQWtCLFNBQUEsT0FBTyxNQUFNLFdBQy9CLEVBQXVCLFNBQUEsT0FBTyxNQUFNLFdBQ3BDLEVBQXVDLEVBQVcsUUFBUSxHQUFHLGtCQUFrQixHQUFHLFdBQ2xGLEVBQXNDLEVBQVMsTUFBTSxHQUFHLFlBQVksR0FBRyxXQUU3RSxNQUFvQixDQUNoQixLQUFNLE9BQU8sR0FDYixNQUFPLGtCQUFrQixFQUFlLElBTWhELFNBQWdCLHNCQUNaLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sV0FDL0IsRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUM1QixFQUFxQyxFQUFXLFFBQVEsR0FBRyxXQUFXLEdBQUcsVUFBVSxHQUFHLGFBQWEsR0FFekcsR0FBeUQsS0FBckQsRUFBZ0IsOEJBQThCLEdBQVcsQ0FDekQsSUFBTSxFQUEyQixFQUFnQiw4QkFBOEIsR0FBRyxNQUFNLEtBQ3hGLEVBQVEsT0FBTyxFQUFnQixnQkFJdkMsU0FBZ0IsWUFBWSxFQUFrQixHQUMxQyxJQUFLLElBQUksS0FBTyxFQUNaLEdBQUksRUFBZ0IsR0FBSyxLQUFLLEdBQUcsU0FBUyxHQUN0QyxPQUFPLE9BQU8sYUFBYSxHQUFLLFNBQVMsSUFBTSxvQkFNM0QsU0FBZ0IsYUFBYSxHQUN6QixPQUFPLEVBQVUsTUFBTSxLQUFLLElBQUksU0FBQyxHQUFTLE9BQUEsRUFBSyxTQUduRCxTQUFnQixnQkFBZ0IsRUFBbUIsRUFBbUIsR0FDbEUsT0FBTyxNQUFNLEdBQVcsS0FBSyxNQUFNLElBQUksV0FBTSxPQUFBLE1BQU0sR0FBVyxLQUFLLEtBR3ZFLFNBQWdCLG9CQUNaLElBQU0sRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUNsQyxTQUFBLE9BQU8sTUFBTSxpQkFBaUIsUUFBUSxTQUFBLEdBQ2xDLElBQU0sRUFBaUIsRUFBSSxHQUV2QixFQUFRLElBQUksSUFDWixFQUFRLE9BQU8sRUFBUSxjQUluQyxTQUFnQixXQUFXLEVBQW9CLEVBQWlCLEVBQXdCLEVBQXFCLEdBQ3pHLElBQU0sRUFBOEIsT0FBUSxPQUFPLEdBRW5ELFNBQUEsT0FBTyxNQUFNLFFBQVUsRUFBaUIsV0FBVyxDQUMvQyxPQUFRLENBQ0osS0FBSyxFQUNMLE1BQU0sRUFDTixLQUFNLEdBRVYsSUFBSyxFQUNMLE1BQU8sRUFDUCxPQUFRLEVBQ1IsTUFBTyxXQUNILE9BQU8sWUFBWSxTQUsvQixTQUFTLGtCQUFrQixFQUFzQyxHQUM3RCxPQUFPLEVBQWMsSUFBSSxTQUFDLEVBQUssU0FDckIsRUFBYSxFQUFJLEdBQUcsR0FJMUIsTUFBTyxDQUhrQixPQUFPLGFBQWEsR0FBSyxHQUFPLG9CQUd2QyxhQUYrRCxRQUFoRCxFQUFBLEVBQW1CLEtBQUssU0FBQSxHQUFPLE9BQUEsRUFBSSxHQUFHLEtBQU8sV0FBRyxJQUFBLE9BQUEsRUFBQSxFQUFFLEtBQUssSUFDckQsS0FBSyxFQUFjLEdBQU8sVUFBVSxNQUsvRSxTQUFTLG1CQUFtQixFQUF3QixFQUF5QixFQUF3QyxHQUNqSCxJQUFNLEVBQXlCLEVBQWtCLDBCQUEwQixHQUFHLE1BQU0sS0FDOUUsRUFBMkIsRUFBa0IsOEJBQThCLEdBQUcsTUFBTSxLQXNDMUYsT0FwQ0EsRUFBTyxRQUFRLFNBQUEsR0FDWCxJQUFNLEVBQW9CLEVBQ3BCLEVBQVksU0FBUyxFQUFJLGFBQWEsSUFBTSxFQUN2QixFQUFJLE1BQU0sR0FBRyxNQUFNLEtBRXJDLFFBQVEsU0FBQSxHQUNiLElBSU0sRUFBb0IsYUFKRixHQWN4QixHQUFLLEVBQWEsU0FBUyxFQUFRLEtBQVEsRUFBZSxTQUFTLEVBQVEsSUFBM0UsQ0FJQSxJQUFNLEVBQVksU0FBUyxFQUFRLElBQU0sRUFDbkMsRUFBK0IsWUFBWSxFQUFRLEdBQUksR0FFekQsSUFDQSxFQUFZLEdBQUcsR0FBUSxFQUFRLElBQUksRUFBUSxHQUFFLE9BSWpELFNBQUEsT0FBTyxNQUFNLFdBQVcsRUFBUSxJQUFNLE9BSXZDLEVBR1gsU0FBUyxZQUFZLEdBQ2pCLE1BQTBCLGFBQXRCLEVBQVUsU0FDSCxtQkFBbUIsR0FFRSxhQUF2QixFQUFVLFNBQ1Isb0JBQW9CLEdBRUEsZUFBdEIsRUFBVSxTQUNSLGNBR0EsRUFBVSxRQUl6QixTQUFTLG1CQUFtQixHQUN4QixJQUFNLEVBQWtDLEVBQVUsU0FJbEQsT0FGQSxRQUFBLFFBQU0sV0FBVyxHQUViLE1BQU0sNEJBQTRCLEdBQzNCLGFBRVgsTUFBTSxlQUFlLEdBQ3JCLEtBQUssbUJBQ0wsWUFBWSxpQkFFTCxZQUdYLFNBQVMsb0JBQW9CLEdBQ3pCLElBQU0sRUFBa0MsRUFBVSxTQUtsRCxPQUpBLE1BQU0sb0JBQW9CLEdBQzFCLEtBQUssbUJBQ0wsWUFBWSxpQkFFTCxZQWhPWCxRQUFBLFNBQUEsU0FpQkEsUUFBQSx5QkFBQSx5QkFZQSxRQUFBLGNBQUEsY0FrQkEsUUFBQSxZQUFBLFlBa0JBLFFBQUEsZUFBQSxlQWNBLFFBQUEsb0JBQUEsb0JBV0EsUUFBQSxZQUFBLFlBU0EsUUFBQSxhQUFBLGFBSUEsUUFBQSxnQkFBQSxnQkFJQSxRQUFBLGtCQUFBLGtCQVVBLFFBQUEsV0FBQTs7O2FDNUhBLFNBQWdCLHdCQUF3QixHQUNwQyxPQUFPLDRCQUE0QixLQUFLLFdBQ3BDLElBQUksRUFBb0MsT0FBTyxTQUFTLGNBQWMsV0FDakUsYUFDRyxPQUFPLE1BQU0sUUFHckIsRUFBTyxLQUFLLENBQUUsR0FBSSxJQUNsQix3QkFBd0IsR0FDeEIsb0JBQW9CLEtBQU0sS0FJbEMsU0FBUyxvQkFBb0IsRUFBc0IsR0FDL0MsT0FBTyxNQUFPLEdBQVMsS0FBSyxXQUN4QixJQUFNLEVBQW9CLE9BQU8sTUFBTSxHQUFHLFNBQVMsR0FBRyxVQUFVLEdBQzFELEVBQWMsRUFBVSxVQUFVLEdBQ2xDLEVBQTZCLE9BQU8sTUFBTSxHQUFHLFNBQVMsR0FBSSxVQUVoRSxtQkFBbUIsRUFBVSxFQUFXLEVBQUssS0FJckQsU0FBUyxtQkFBbUIsRUFBcUMsRUFBbUIsRUFBYSxHQUM3RixJQUFJLEVBQW9DLE9BQU8sYUFDL0MsRUFBTyxLQUFLLENBQUUsTUFBUyxFQUFLLE1BQVMsSUFBYSxLQUFLLEdBQ3ZELEVBQVMsT0FBTyxHQUdwQixTQUFTLHdCQUF3QixHQUM3QixJQUFJLEVBQW9DLE9BQU8sYUFDL0MsRUFBTyxLQUFLLENBQUUsTUFBUyxRQUFTLEtBQUssd0JBQ3JDLEVBQU8sSUFBSSxRQUFTLFdBQ3BCLEVBQVMsT0FBTyxHQUdwQixTQUFnQiw0QkFBNEIsRUFBb0IsRUFBaUIsR0FDN0UsSUFBSSxFQUFrQixVQUNsQixFQUFnQixVQUVKLFFBQVosSUFDQSxFQUFRLFFBQ1IsRUFBVSxPQUFPLEdBQWEsSUFBSSxxQkFHdEMsT0FBTyxHQUFZLElBQUksUUFBUyxHQUNoQyxPQUFPLEdBQVksSUFBSSxtQkFBb0IsR0FDM0MsT0FBVSxFQUFVLHdCQUF3QixJQUFJLFFBQVMscUlBL0M3RCxRQUFBLHdCQUFBLHdCQW9DQSxRQUFBLDRCQUFBOzs7NE5DcENBLElBQUEsVUFBQSxnQkFBQSxRQUFBLHFCQUVBLFNBQUEsUUFBQSxZQUVBLFNBQWdCLFdBQVcsRUFBb0IsRUFBNkMsRUFBOEMsUUFBM0YsSUFBQSxJQUFBLE9BQUEsUUFBNkMsSUFBQSxJQUFBLE9BQUEsUUFBOEMsSUFBQSxJQUFBLE9BQUEsR0FDdEksSUFBTSxFQUF5QixPQUFPLEdBQVksSUFBSSxHQUV0RCxHQUFJLEVBQVcsQ0FDWCxJQUFNLEVBQXlCLFVBQUEsUUFBUSxFQUFXLENBQzlDLFNBQVUsRUFDVixTQUFTLEVBQ1QsU0FBVSxTQUNWLFdBQVksU0FJaEIsT0FEQSxpQkFBaUIsRUFBYSxFQUFjLEVBQWdCLEVBQVUsY0FBZ0IsR0FDL0UsR0FNZixTQUFTLGlCQUFpQixFQUFpQyxFQUFrQyxFQUFvQyxFQUE4QixHQUN0SSxDQUNqQixDQUFFLFNBQVUsRUFBYSxnQkFBaUIsRUFBUSxPQUFRLEtBQU0sU0FDaEUsQ0FBRSxTQUFVLEVBQWMsZ0JBQWlCLEVBQVEsUUFBUyxLQUFNLFNBQ2xFLENBQUUsU0FBVSxFQUFnQixnQkFBaUIsRUFBUSxNQUFPLEtBQU0sU0FDbEUsQ0FBRSxZQUFhLEVBQWlCLGdCQUFpQixFQUFRLGNBQWUsS0FBTSxVQUdyRSxJQUFJLFNBQUEsR0FDYixHQUFJLEVBQU0sU0FBVSxDQUNoQixJQUFNLEVBQStCLE9BQU8sRUFBTSxVQUFVLElBQUksR0FDNUQsR0FDQSxFQUFJLGlCQUFpQixFQUFNLEtBQU0sRUFBTSxzQkFFdEMsRUFBTSxhQUNRLFVBQWYsRUFBTSxNQUNOLEVBQU0sWUFBWSxpQkFBaUIsRUFBTSxLQUFNLEVBQU0sbUJBS3JFLFNBQWdCLG9CQUFvQixTQUVULFFBQXZCLEVBRCtCLE9BQU8sR0FBWSxJQUFJLEdBQzVDLHFCQUFhLElBQUEsR0FBQSxFQUFFLG9CQUFvQixRQUFTLFNBQUEsT0FBTyxNQUFNLFFBQVMsZUF6Q2hGLFFBQUEsV0FBQSxXQXVDQSxRQUFBLG9CQUFBOzs7MDZCQzNDQSxJQUFBLFNBQUEsUUFBQSxZQUNBLFFBQUEsZ0JBQUEsUUFBQSxVQUNBLGNBQUEsYUFBQSxRQUFBLG9CQUVBLFFBQUEsZ0JBQUEsUUFBQSxZQUVBLFNBQWdCLHFCQUFxQixFQUFVLEdBQzNDLElBQ00sRUFEa0IsS0FBSyxNQUFNLEVBQUksTUFDWixRQUFRLElBRW5DLFFBQUEsUUFBTSxJQUFJLEVBQU8sQ0FDYixhQUFjLElBRWIsS0FBSyxTQUFDLEdBRUgsSUFBSSxHQUFnQyxFQUM5QixFQUFrQixFQUFJLEtBQ3RCLEVBQXFCLE9BQU8sVUFBVSxHQUN0QyxFQUFxQixPQUFPLEdBQVksS0FBSyxhQUFhLE1BSWhFLEdBRkEsUUFBQSxRQUFNLFdBQVcsYUFBYSxHQUUxQixFQUFVLENBQ1YsR0FBdUIsRUFDdkIsSUFBTSxFQUFlLEVBQXFDLGtCQUFDLGlCQUFpQixFQUFnQyxhQUFDLFFBQVEsRUFBdUIsSUFBQyxhQUFhLEVBQVEsZUFDbEssY0FBYyxlQUFlLEdBR2pDLElBQU0sRUFBcUIsQ0FDdkIsUUFBUyxDQUNMLHFCQUF3QixFQUN4QixXQUFjLEVBQ2QsSUFBTyxHQUVYLEtBQU0sU0FDTixNQUFPLDhCQUNQLEtBQU0sS0FBSyxPQUVmLGNBQWMsWUFBWSxFQUFTLG1CQUV0QyxNQUFNLFNBQVUsR0FDYixRQUFBLFFBQU0sV0FBVyx1Q0FDakIsUUFBQSxRQUFNLFdBQVcsS0FJN0IsU0FBZ0Isd0JBQXdCLEdBQ3BDLElBQU0sRUFBcUIsQ0FDdkIsUUFBUyxFQUNULEtBQU0sU0FDTixNQUFPLGtDQUNQLEtBQU0sS0FBSyxPQUVmLGNBQWMsWUFBWSxFQUFTLGlCQUd2QyxTQUFnQixpQkFBaUIsR0FDN0IsY0FBYyxRQUFRLEVBQTJCLFFBQUcsZ0JBQWlCLDJCQUE0QixVQUNqRyxTQUFBLE9BQU8sa0JBQW1CLEVBRzlCLFNBQWdCLGVBQWUsRUFBVSxHQUNyQyxJQUFNLEVBQWtCLEtBQUssTUFBTSxFQUFJLE1BQ2pDLEVBQXdCLEVBQXFDLGtCQUFDLDBCQUEwQixFQUFLLFFBQ25HLGNBQWMsUUFBUSxFQUFZLGdCQUFpQix3QkFBeUIsVUFHaEYsU0FBZ0IsY0FBYyxHQUMxQixJQUNNLEVBRGtCLEtBQUssTUFBTSxFQUFJLE1BQ1osUUFBUSxJQUNuQyxPQUFPLFNBQVMsS0FBTyxFQUczQixTQUFnQixrQkFDWixJQUFNLEVBQTZCLFNBQUEsT0FBTyxPQUNwQyxFQUFZLFNBQUEsT0FBTyxVQUFVLEdBRW5DLFFBQUEsUUFBTSxPQUFPLEVBQVUsVUFBVyxNQUFPLFFBdkU3QyxRQUFBLHFCQUFBLHFCQXdDQSxRQUFBLHdCQUFBLHdCQVVBLFFBQUEsaUJBQUEsaUJBS0EsUUFBQSxlQUFBLGVBTUEsUUFBQSxjQUFBLGNBTUEsUUFBQSxnQkFBQTs7OzBqQkN4RUEsSUFBQSxTQUFBLFFBQUEsWUFDSSxPQUFTLFFBQVEsVUFDckIsUUFBQSxnQkFBQSxRQUFBLFlBRUEsU0FBZ0IsbUJBQ1osSUFBSSxFQUFvQixHQUt4QixPQUpBLE9BQU8sZUFBZSxLQUFLLFdBQ3ZCLEVBQVEsS0FBSyxPQUFPLE1BQU0sVUFHdkIsRUFBUSxLQUFLLE1BR3hCLFNBQWdCLFVBQVUsR0FDdEIsSUFBTSxFQUFxQixPQUFPLFVBQVUsR0FDeEMsRUFBbUIsR0FVdkIsT0FSQSxPQUFPLEdBQVksS0FBSyxTQUFTLEtBQUssV0FDbEMsSUFBTSxFQUFlLEtBQUssS0FDcEIsRUFBZ0IsS0FBSyxNQUViLEtBQVYsSUFDQSxFQUFPLEdBQVEsS0FHaEIsRUFJWCxTQUFnQixtQkFDWixHQUFJLE9BQU8sbUJBQW1CLE9BQVEsQ0FDbEMsSUFBTSxFQUErQixPQUFPLG1CQUFtQixHQUFHLFlBRWxFLEdBQUksTUFBQSxPQUFhLEVBQWIsRUFBZSxPQUFPLE9BRXRCLE1BQXlCLENBQ3JCLGNBQWlCLEVBQ2pCLHFCQUhpQyxtQkFBbUIsS0FXcEUsU0FBZ0Isb0JBQW9CLEdBQ2hDLElBQU0sRUFBUSxFQUFVLE1BQU0saUJBQWtCLEdBQzFDLEVBQVcsRUFBVSxNQUFNLG9CQUFxQixHQUNoRCxFQUFhLEVBQVUsTUFBTSxtQkFBb0IsR0FDakQsRUFBb0IsbUJBQW1CLEdBQ3ZDLEVBQVUsbUJBQXNCLEVBQVUsVUFBVSxFQUFLLGFBQWEsRUFBUSw2RUFDOUUsRUFBZ0IsbUJBQ2hCLEVBQXVCLEVBQWtCLE1BQU0sS0FBSyxHQUFHLE1BQU0sS0FBSyxNQUFNLEdBQUcsR0FBRyxLQUFLLEtBQUksa0JBRTdGLE1BQWtCLENBQ2QsTUFBUyxFQUNULFNBQVksRUFDWixXQUFjLEVBQ2Qsa0JBQXFCLEVBQ3JCLFFBQVcsRUFDWCxjQUFpQixFQUNqQixrQkFBcUIsR0FJN0IsU0FBZ0IsZ0JBQ1osSUFBTSxFQUF3QixPQUFPLHlCQUF5QixJQUFJLEdBRWxFLEdBQUksRUFDQSxNQUFzQixDQUNsQixjQUFlLEVBQUksSUFDbkIsaUJBQWtCLEVBQUksT0FDdEIsZ0JBQWlCLEVBQUksT0FPakMsU0FBZ0IsVUFDWixHQUFLLE9BQU8sb0JBQW9CLE9BQWhDLENBR0EsSUFFTSxFQUZjLE9BQU8sc0JBQXNCLEtBQUssV0FFWCxNQURoQyw0QkFHWCxPQUFPLEVBQVEsRUFBTSxRQUFLLEdBRzlCLFNBQWdCLGVBQ1osSUFBTSxFQUF1QixTQUFBLE9BQU8sTUFBTSxXQUNwQyxFQUEyQixFQUFTLGNBQWMsR0FBRyxrQkFBa0IsR0FBRyxRQUMxRSxFQUFvQixFQUFTLE1BQU0sR0FDbkMsRUFBaUIsRUFBUyxNQUFNLEdBQ2hDLEVBQThCLEVBQVMsYUFBYSxHQUNwRCxFQUFnQixJQUFJLEtBQUssU0FBUyxFQUFNLEtBQUssSUFBSyxTQUFTLEVBQU0sTUFBTSxJQUFNLEVBQUcsU0FBUyxFQUFNLElBQUksSUFBSyxTQUFTLEVBQU0sS0FBSyxJQUFLLFNBQVMsRUFBTSxPQUFPLEtBQ3ZKLEVBQWtCLENBQUMsRUFBUSxlQUFlLENBQUMsU0FBVSxDQUFFLFFBQVMsT0FBUSxJQUFLLFVBQVcsTUFBTyxVQUFXLEtBQU0sVUFBVyxLQUFNLFVBQVcsT0FBUSxVQUFXLGFBQWMsV0FDN0ssRUFBb0IsQ0FBQyxRQUFBLFFBQU0sV0FBVyxFQUFTLFVBQy9DLEVBQWtCLEVBQVcsSUFBSSxTQUFBLEdBQVEsT0FBQSxTQUFTLEVBQUssVUFBVSxNQUFLLE9BQU8sU0FBQyxFQUFNLEdBQVMsT0FBQSxFQUFPLElBRXBHLEVBQTZCLENBQy9CLHNCQUF1QixFQUFhLFNBQ3BDLGtCQUFtQixFQUFhLEtBQ2hDLGtCQUFtQixFQUFhLEtBQ2hDLGdCQUFpQixFQUFhLEdBQzlCLHVCQUF3QixFQUFhLFVBQ3JDLDhCQUErQixFQUFhLGlCQUM1Qyw2QkFBOEIsRUFBYSxnQkFDM0MsTUFBTyxFQUNQLFFBQVMsRUFDVCxnQkFBaUIsR0FHckIsT0FBTyxTQUFBLFNBQUEsR0FBa0IsR0FBYSxHQTlHMUMsUUFBQSxpQkFBQSxpQkFTQSxRQUFBLFVBQUEsVUFnQkEsUUFBQSxpQkFBQSxpQkFnQkEsUUFBQSxvQkFBQSxvQkFvQkEsUUFBQSxjQUFBLGNBY0EsUUFBQSxRQUFBLFFBV0EsUUFBQSxhQUFBOzs7MC9CQzNGQSxJQUFBLFNBQUEsUUFBQSxZQUVBLFVBQUEsYUFBQSxRQUFBLGdCQUNBLFdBQUEsYUFBQSxRQUFBLGlCQUVBLFNBQWdCLGVBQWUsR0FDM0Isa0JBQWtCLEdBQ2xCLElBQU0sRUFBdUIsU0FBQSxPQUFPLE1BQU0saUJBQWlCLEVBQWUsSUFBSSxLQUFLLFNBQVMsR0FBRyxHQUN6RixFQUEyQyxVQUFVLDZDQUE2QyxHQUV4RyxHQUFJLEVBQWUsQ0FDZixJQUFNLEVBQTJCLEVBQWMsV0FBVyxHQUFHLEdBQUcsR0FDMUQsRUFBb0MsVUFBVSw4QkFBOEIsR0FFbEYsb0JBRHFELENBQUMsRUFBZSxHQUFJLEVBQWtCLFNBSTNGLFFBQVEsS0FBSywyRUFBMkUsR0FHaEcsU0FBZ0Isb0JBQW9CLFVBQ3pCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixFQUFlLElBRXBELElBQU0sRUFBZ0IsU0FBQSxPQUFPLE1BQU0saUJBQWlCLFVBQVUsU0FBQSxHQUFPLE9BQUEsRUFBSSxLQUFPLEVBQWUsS0FDL0YsU0FBQSxPQUFPLE1BQU0saUJBQWlCLE9BQU8sRUFBTyxHQUU1QyxTQUFBLE9BQU8sTUFBTSxhQUFjLEVBRXRCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixRQUMvQixPQUFPLHNCQUFzQixPQUdyQyxTQUFnQiw0QkFBNEIsR0FDeEMsSUFBTSxFQUFlLFNBQUEsT0FBTyxNQUFNLFFBRWxDLE9BQUksU0FBQSxPQUFPLE1BQU0saUJBQWlCLFFBQVUsU0FBQSxPQUFPLG1CQUMvQyxXQUFXLGVBQWUsc0JBQXNCLFNBQUEsT0FBTyxpQkFBZ0Isc0JBQ3ZFLEVBQVEsT0FBTyxFQUFVLEdBQUksY0FDdEIsR0FNZixTQUFTLG9CQUFvQixHQUNyQixFQUFPLE1BQU0sU0FBQSxHQUFLLE9BQTBCLE9BQTFCLE1BQ2xCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixLQUFlLEdBQzdDLFNBQUEsT0FBTyxNQUFNLGFBQWMsR0FJbkMsU0FBUyxrQkFBa0IsU0FFakIsSUFBTyxFQUFBLElBRFUsRUFBZSxJQUV4QixLQUdkLFNBQUEsT0FBTyxNQUFNLGlCQUFnQixTQUFBLFNBQUEsR0FBUSxTQUFBLE9BQU8sTUFBTSxrQkFBcUIsR0FwRDNFLFFBQUEsZUFBQSxlQWVBLFFBQUEsb0JBQUEsb0JBWUEsUUFBQSw0QkFBQTs7O3dnQ0MvQkEsSUFBQSxjQUFBLGFBQUEsUUFBQSxvQkFDQSxTQUFBLFFBQUEsWUFDQSxPQUFBLGFBQUEsUUFBQSxhQUNBLFFBQUEsYUFBQSxRQUFBLGNBQ0EsWUFBQSxhQUFBLFFBQUEsa0JBQ0EsUUFBQSxnQkFBQSxRQUFBLFlBRUEsU0FBZ0IsZ0JBQWdCLEVBQStCLEdBQzNELElBQU0sRUFBc0MsU0FBUyxlQUFlLEdBRXBFLEdBQUksRUFDQSxJQUF1QixJQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLE9BQUEsSUFBa0IsQ0FBcEMsSUFBSSxFQUFVLEVBQUEsR0FDWCxFQUF5QixTQUFTLGNBQWMsVUFDcEQsRUFBSSxNQUFRLEVBQVcsR0FBRyxHQUMxQixFQUFJLFVBQVksRUFBVyxLQUFLLEdBQ2hDLEVBQWdCLFlBQVksSUFLeEMsU0FBZ0IsYUFBYSxHQUN6QixJQUFNLEVBQWtCLFNBQUEsT0FBTyxNQUFNLGdCQUVyQyxPQUFPLHVDQUF1QyxHQUFHLFdBQVcsR0FBRyxZQUFjLEVBQVksS0FBSyxHQUM5RixPQUFPLG9CQUFvQixHQUFHLFdBQVcsR0FBRyxZQUFjLEVBQVksTUFBTSxHQUM1RSxPQUFPLHdCQUF3QixHQUFHLFdBQVcsR0FBRyxZQUFjLEVBQWdCLGNBQzlFLE9BQU8sd0JBQXdCLEdBQUcsV0FBVyxHQUFHLFlBQWMsc0JBQXNCLEVBQVksZ0JBQWUsUUFBUSxFQUFZLHNCQUFzQixHQUc3SixTQUFnQixlQUNaLElBQ00sRUFBYyxRQUFBLFFBQU0sZUFBZSxXQUV6QyxPQUFPLGtCQUFrQixPQUNyQixPQUp1Qiw4SEFLbEIsS0FBSyxNQUFPLElBQ2hCLE9BQU8sQ0FDSixPQUFPLEVBQ1AsVUFBVSxFQUNWLGVBQWUsRUFDZixXQUFXLEVBQ1gsTUFBTSxFQUNOLE1BQU0sRUFDTixXQUFXLEVBQ1gsTUFBTyxHQUNQLE1BQU8sT0FDUCxPQUFRLE9BQ1IsTUFBTyxXQUFNLE9BQUEsT0FBTyxjQUFjLElBQUksV0FBWSxXQUcxRCxPQUFPLGlCQUdYLFNBQWdCLHNCQUFzQixHQUM5QixTQUFBLE9BQU8sTUFBTSxTQUNiLFFBQVEsb0JBQW9CLEdBRWhDLE9BQU8sMEJBQTBCLFNBQ2pDLE9BQU8sOEJBQThCLFdBQVcsU0FDaEQsT0FBTyw4QkFBOEIsT0FBTywwQ0FDNUMsT0FBTyxtQkFBbUIsU0FDMUIsT0FBTyx1QkFBdUIsT0FBTyxtQ0FHekMsU0FBZ0Isa0JBQWtCLEdBQ2IsU0FBYixFQUNBLE9BQU8sUUFBUSxZQUFZLDRCQUNULFNBQWIsR0FDTCxPQUFPLFFBQVEsU0FBUyw0QkFHaEMsU0FBZ0IsbUJBQ1osSUFBTSxFQUFxQyxTQUFBLE9BQU8sTUFBTSxxQkFFbEIsSUFBbEMsRUFBZ0IsZUFDaEIsT0FBTyxtQkFBbUIsS0FBSyxNQUFPLEVBQWdCLGVBRzlELFNBQWdCLGtCQUNaLE9BQU8sc0JBQXNCLE9BQU8sS0FDcEMsY0FBYyxrQkFBa0IsOEJBR3BDLFNBQWdCLHdCQUlaLE9BSDZCLFNBQUEsT0FBTyxNQUFNLFdBQ1ksTUFBTSxHQUFHLFlBQVksR0FBRyxXQUVuRCxJQUFJLFNBQUEsR0FHM0IsTUFBTyxLQUZZLEVBQUksR0FBRyxHQUVaLHlCQURNLElBQUksRUFBSSxNQUFNLEdBQUUsZUFDTyxRQUM1QyxLQUFLLFFBR1osU0FBZ0Isb0JBQ1osWUFBWSx1QkFBdUIsUUFDbkMsT0FBTyxnQkFBZ0IsT0FDdkIsT0FBTyxnQ0FBZ0MsU0FBUyxhQUdwRCxTQUFnQixnQkFDWixPQUFPLHNCQUFzQixHQUFHLFVBQVksU0FBQSxPQUFPLFFBQ25ELE9BQU8scUJBQXFCLEdBQUcsVUFBWSxJQUFJLFNBQUEsT0FBTyxPQUFNLElBL0ZoRSxRQUFBLGdCQUFBLGdCQWFBLFFBQUEsYUFBQSxhQVNBLFFBQUEsYUFBQSxhQXdCQSxRQUFBLHNCQUFBLHNCQVdBLFFBQUEsa0JBQUEsa0JBT0EsUUFBQSxpQkFBQSxpQkFPQSxRQUFBLGdCQUFBLGdCQUtBLFFBQUEsc0JBQUEsc0JBV0EsUUFBQSxrQkFBQSxrQkFNQSxRQUFBLGNBQUE7OztvRUNwR0EsSUFBQSxTQUFBLFFBQUEsWUFFQSxNQUFBLFdBQUEsU0FBQSxLQXdHQSxPQXRHVyxFQUFBLGVBQVAsU0FBc0IsRUFBdUMsRUFBc0IsRUFBbUQsRUFBb0MsUUFBdkYsSUFBQSxJQUFBLEVBQUEsaUJBQW1ELElBQUEsSUFBQSxFQUFBLFVBQW9DLElBQUEsSUFBQSxFQUFBLEtBQ3RLLElBQU0sRUFBd0IsS0FBSyxPQUVuQyxTQUFVLEtBQzhDLGFBQWIsRUFBMEIsT0FBZSxHQUFZLElBQUksR0FBSyxFQUFNLHNCQUd2RyxFQUFNLFdBQVcsU0FDakIsTUFHQSxFQUFNLFdBQVcsaUJBQWlCLEdBQ2xDLFdBQVcsV0FDSCxHQUFpQixLQUFLLE1BQVEsRUFBZ0IsR0FHbEQsS0FDRCxJQWRYLElBbUJHLEVBQUEsa0JBQVAsV0FDSSxJQUFNLEVBQXFDLE9BQVEsT0FBTyxxQkFBcUIsV0FDL0UsT0FBTyxFQUFNLFdBQVcsSUFHckIsRUFBQSxlQUFQLFNBQXNCLEdBQ2xCLElBQU0sRUFBcUMsT0FBUSxPQUFPLHFCQUFxQixXQUMvRSxLQUFLLGVBQWUsRUFBWSxFQUFZLFlBR3pDLEVBQUEsY0FBUCxTQUFxQixHQUNqQixPQUF3QyxNQUFwQyxTQUFTLGNBQWMsSUFNeEIsRUFBQSxXQUFQLFNBQWtCLEdBQ2QsTUFBNkIsbUJBQWYsR0FHWCxFQUFBLE9BQVAsU0FBYyxFQUFtQixFQUF1QixHQUNwRCxJQUFJLEVBRUosWUFINkIsSUFBQSxJQUFBLEVBQUEsV0FBdUIsSUFBQSxJQUFBLEVBQUEsUUFHNUMsR0FDSixJQUFLLE1BQ0QsRUFBUyxTQUFTLGNBQWMsV0FDekIsS0FBTyxrQkFDZCxFQUFPLElBQU0sRUFDYixNQUVKLElBQUssT0FDRCxFQUFTLFNBQVMsY0FBYyxTQUN6QixLQUFPLFdBQ0ksRUFBUSxJQUFNLGFBQ2QsRUFBUSxLQUFPLEVBQ2pDLE1BRUosSUFBSyxhQUNELEVBQVMsU0FBUyxjQUFjLFVBQ3pCLEtBQU8sV0FDZCxFQUFPLFVBQVksRUFDbkIsTUFFSixJQUFLLFVBQ0QsRUFBUyxTQUFTLGNBQWMsV0FDekIsS0FBTyxrQkFDZCxFQUFPLFVBQVksRUFDbkIsTUFFSixRQUNJLE9BQVMsRUFJYixHQUNBLEVBQU0sYUFBYSxFQUFRLElBRzVCLEVBQUEsYUFBUCxTQUFvQixFQUE4QixHQUNoQyxTQUFWLEVBQ0EsU0FBUyxLQUFLLFlBQVksR0FDWCxTQUFWLEdBQ0wsU0FBUyxLQUFLLFlBQVksSUFHM0IsRUFBQSxXQUFQLFNBQWtCLEVBQWMsR0FDNUIsT0FBTyxFQUFPLG1CQUFtQixFQUFVLENBQUUsUUFBUyxVQUduRCxFQUFBLFdBQVAsU0FBa0IsR0FDVixHQUlELEVBQUEsZUFBUCxTQUFzQixHQUNsQixJQUFNLEVBQTZCLFNBQUEsT0FBTyxPQUUxQyxPQURrQixTQUFBLE9BQU8sVUFBVSxHQUNsQixJQUV6QixFQXhHQTs7O21YQ0RBLElBQUEsU0FBQSxRQUFBLFlBRUEsU0FBZ0IsY0FDWixJQUFNLEVBQWtCLFNBQUEsT0FBTyxNQUFNLGdCQUVoQyxFQUFnQixPQUdLLEVBQWdCLEtBQUssTUFBTSxJQUFJLElBQUksUUFFaEQsSUFDVCxPQUFPLHNCQUFzQixRQUdyQyxTQUFnQiwwQkFBMEIsU0FJdEMsT0FBd0QsUUFBakQsRUFIc0IsU0FBQSxPQUFPLE1BQU0sV0FDRCxjQUFjLEdBQUcsZUFBZSxHQUFHLFFBRTFELEtBQUssU0FBQSxHQUFPLE9BQUEsSUFBZ0IsRUFBSSxHQUFHLFlBQUcsSUFBQSxPQUFBLEVBQUEsRUFBRSxLQUFLLEdBR25FLFNBQWdCLHlDQUF5QyxFQUFxQyxTQUkxRixPQUFxRixRQUE5RSxFQUhzQixTQUFBLE9BQU8sTUFBTSxXQUNXLE1BQU0sR0FBRyxZQUFZLEdBQUcsV0FFbkQsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxFQUFpQixPQUFNLFdBQVUsSUFBQSxPQUFBLEVBQUEsRUFBRyxHQUFZLEdBR3hHLFNBQWdCLDhCQUE4QixTQUkxQyxPQUFpRSxRQUExRCxFQUhzQixTQUFBLE9BQU8sTUFBTSxXQUNTLE1BQU0sR0FBRyxZQUFZLEdBQUcsV0FFbEQsS0FBSyxTQUFBLEdBQU8sT0FBQSxJQUFrQixFQUFJLEdBQUcsWUFBRyxJQUFBLE9BQUEsRUFBQSxFQUFFLEtBQUssR0FHNUUsU0FBZ0Isc0JBQXNCLEVBQXVCLFNBQ25ELEVBQTRFLFFBQXBFLEVBQUEsTUFBQSxPQUFlLEVBQWYsRUFBaUIsV0FBVyxLQUFLLFNBQUEsR0FBTyxPQUFBLEVBQUksR0FBRyxLQUFPLFdBQWMsSUFBQSxPQUFBLEVBQUEsRUFBRSxNQUFNLEdBQzFGLE9BQU8sRUFBUSxXQUFXLFFBQVMsRUFHdkMsU0FBZ0IsNkNBQTZDLEdBR3pELE9BRjZCLFNBQUEsT0FBTyxNQUFNLFdBQ1csZ0JBQWdCLEdBQUcsV0FDOUMsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxJQUd4RCxTQUFnQiw0QkFBNEIsR0FDeEMsSUFBTSxFQUE0QyxnQ0FBZ0MsR0FDbEYsT0FBTyxFQUFnQixFQUFjLElBQUksU0FBQSxHQUFPLE1BQUEsQ0FBQyxFQUFJLEdBQUcsR0FBSSxFQUFJLE1BQU0sR0FBSSxpQkFBaUIsV0FBUyxFQUd4RyxTQUFnQiw4QkFDWixPQUFRLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixJQUFJLFNBQUEsR0FBTyxPQUFBLEVBQUksS0FBSyxPQUFPLEtBQUssS0FHMUUsU0FBUyxnQ0FBZ0MsU0FJckMsT0FBbUUsUUFBNUQsRUFIc0IsU0FBQSxPQUFPLE1BQU0sV0FDVyxnQkFBZ0IsR0FBRyxXQUU5QyxLQUFLLFNBQUEsR0FBTyxPQUFBLEVBQUksR0FBRyxLQUFPLFdBQWUsSUFBQSxPQUFBLEVBQUEsRUFBRSxXQUd6RSxTQUFTLGlCQUFpQixTQUl0QixPQUFvRixRQUE3RSxFQUhzQixTQUFBLE9BQU8sTUFBTSxXQUNJLE1BQU0sR0FBRyxZQUFZLEdBQUcsV0FFbEQsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxFQUFNLEdBQUcsR0FBSyxFQUFJLEtBQUssUUFBSyxXQUFVLElBQUEsT0FBQSxFQUFBLEVBQUUsS0FBSyxHQWhFL0YsUUFBQSxZQUFBLFlBWUEsUUFBQSwwQkFBQSwwQkFPQSxRQUFBLHlDQUFBLHlDQU9BLFFBQUEsOEJBQUEsOEJBT0EsUUFBQSxzQkFBQSxzQkFLQSxRQUFBLDZDQUFBLDZDQU1BLFFBQUEsNEJBQUEsNEJBS0EsUUFBQSw0QkFBQTs7O0FDckRBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTs7O0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBOztBQ0ZBO0FBQ0E7QUFDQTs7O0FDRkE7QUFDQTtBQUNBOztBQ0ZBO0FBQ0E7QUFDQTs7O0FDRkE7QUFDQTtBQUNBOztBQ0ZBO0FBQ0E7QUFDQTs7OztBQ0ZBO0FBQ0E7QUFDQTs7O0FDRkE7QUFDQTtBQUNBOztBQ0ZBO0FBQ0E7QUFDQTs7O0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBOztBQ0ZBO0FBQ0E7QUFDQTs7OztBQ0ZBO0FBQ0E7QUFDQSIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLG4sdCl7ZnVuY3Rpb24gbyhpLGYpe2lmKCFuW2ldKXtpZighZVtpXSl7dmFyIGM9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighZiYmYylyZXR1cm4gYyhpLCEwKTtpZih1KXJldHVybiB1KGksITApO3ZhciBhPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIraStcIidcIik7dGhyb3cgYS5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGF9dmFyIHA9bltpXT17ZXhwb3J0czp7fX07ZVtpXVswXS5jYWxsKHAuZXhwb3J0cyxmdW5jdGlvbihyKXt2YXIgbj1lW2ldWzFdW3JdO3JldHVybiBvKG58fHIpfSxwLHAuZXhwb3J0cyxyLGUsbix0KX1yZXR1cm4gbltpXS5leHBvcnRzfWZvcih2YXIgdT1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGk9MDtpPHQubGVuZ3RoO2krKylvKHRbaV0pO3JldHVybiBvfXJldHVybiByfSkoKSIsIiFmdW5jdGlvbih0LGUpe1wib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzJiZcInVuZGVmaW5lZFwiIT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPWUoKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKGUpOih0PVwidW5kZWZpbmVkXCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6dHx8c2VsZikuUGFuem9vbT1lKCl9KHRoaXMsZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgdD1mdW5jdGlvbigpe3JldHVybih0PU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPTEsbz1hcmd1bWVudHMubGVuZ3RoO248bztuKyspZm9yKHZhciByIGluIGU9YXJndW1lbnRzW25dKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtyZXR1cm4gdH0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07ZnVuY3Rpb24gZSh0LGUpe2Zvcih2YXIgbj10Lmxlbmd0aDtuLS07KWlmKHRbbl0ucG9pbnRlcklkPT09ZS5wb2ludGVySWQpcmV0dXJuIG47cmV0dXJuLTF9ZnVuY3Rpb24gbih0LG8pe3ZhciByO2lmKG8udG91Y2hlcyl7cj0wO2Zvcih2YXIgYT0wLGk9by50b3VjaGVzO2E8aS5sZW5ndGg7YSsrKXt2YXIgYz1pW2FdO2MucG9pbnRlcklkPXIrKyxuKHQsYyl9fWVsc2Uocj1lKHQsbykpPi0xJiZ0LnNwbGljZShyLDEpLHQucHVzaChvKX1mdW5jdGlvbiBvKHQpe2Zvcih2YXIgZSxuPSh0PXQuc2xpY2UoMCkpLnBvcCgpO2U9dC5wb3AoKTspbj17Y2xpZW50WDooZS5jbGllbnRYLW4uY2xpZW50WCkvMituLmNsaWVudFgsY2xpZW50WTooZS5jbGllbnRZLW4uY2xpZW50WSkvMituLmNsaWVudFl9O3JldHVybiBufWZ1bmN0aW9uIHIodCl7aWYodC5sZW5ndGg8MilyZXR1cm4gMDt2YXIgZT10WzBdLG49dFsxXTtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KE1hdGguYWJzKG4uY2xpZW50WC1lLmNsaWVudFgpLDIpK01hdGgucG93KE1hdGguYWJzKG4uY2xpZW50WS1lLmNsaWVudFkpLDIpKX1cInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiYod2luZG93Lk5vZGVMaXN0JiYhTm9kZUxpc3QucHJvdG90eXBlLmZvckVhY2gmJihOb2RlTGlzdC5wcm90b3R5cGUuZm9yRWFjaD1BcnJheS5wcm90b3R5cGUuZm9yRWFjaCksXCJmdW5jdGlvblwiIT10eXBlb2Ygd2luZG93LkN1c3RvbUV2ZW50JiYod2luZG93LkN1c3RvbUV2ZW50PWZ1bmN0aW9uKHQsZSl7ZT1lfHx7YnViYmxlczohMSxjYW5jZWxhYmxlOiExLGRldGFpbDpudWxsfTt2YXIgbj1kb2N1bWVudC5jcmVhdGVFdmVudChcIkN1c3RvbUV2ZW50XCIpO3JldHVybiBuLmluaXRDdXN0b21FdmVudCh0LGUuYnViYmxlcyxlLmNhbmNlbGFibGUsZS5kZXRhaWwpLG59KSk7dmFyIGE9e2Rvd246XCJtb3VzZWRvd25cIixtb3ZlOlwibW91c2Vtb3ZlXCIsdXA6XCJtb3VzZXVwIG1vdXNlbGVhdmVcIn07ZnVuY3Rpb24gaSh0LGUsbixvKXthW3RdLnNwbGl0KFwiIFwiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2UuYWRkRXZlbnRMaXN0ZW5lcih0LG4sbyl9KX1mdW5jdGlvbiBjKHQsZSxuKXthW3RdLnNwbGl0KFwiIFwiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4pfSl9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHdpbmRvdy5Qb2ludGVyRXZlbnQ/YT17ZG93bjpcInBvaW50ZXJkb3duXCIsbW92ZTpcInBvaW50ZXJtb3ZlXCIsdXA6XCJwb2ludGVydXAgcG9pbnRlcmxlYXZlIHBvaW50ZXJjYW5jZWxcIn06XCJmdW5jdGlvblwiPT10eXBlb2Ygd2luZG93LlRvdWNoRXZlbnQmJihhPXtkb3duOlwidG91Y2hzdGFydFwiLG1vdmU6XCJ0b3VjaG1vdmVcIix1cDpcInRvdWNoZW5kIHRvdWNoY2FuY2VsXCJ9KSk7dmFyIGwscD1cInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQmJiEhZG9jdW1lbnQuZG9jdW1lbnRNb2RlO2Z1bmN0aW9uIHUoKXtyZXR1cm4gbHx8KGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKS5zdHlsZSl9dmFyIGQ9W1wid2Via2l0XCIsXCJtb3pcIixcIm1zXCJdLHM9e307ZnVuY3Rpb24gZih0KXtpZihzW3RdKXJldHVybiBzW3RdO3ZhciBlPXUoKTtpZih0IGluIGUpcmV0dXJuIHNbdF09dDtmb3IodmFyIG49dFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSksbz1kLmxlbmd0aDtvLS07KXt2YXIgcj1cIlwiK2Rbb10rbjtpZihyIGluIGUpcmV0dXJuIHNbdF09cn19ZnVuY3Rpb24gbSh0LGUpe3JldHVybiBwYXJzZUZsb2F0KGVbZih0KV0pfHwwfWZ1bmN0aW9uIGgodCxlLG4pe3ZvaWQgMD09PW4mJihuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpKTt2YXIgbz1cImJvcmRlclwiPT09ZT9cIldpZHRoXCI6XCJcIjtyZXR1cm57bGVmdDptKGUrXCJMZWZ0XCIrbyxuKSxyaWdodDptKGUrXCJSaWdodFwiK28sbiksdG9wOm0oZStcIlRvcFwiK28sbiksYm90dG9tOm0oZStcIkJvdHRvbVwiK28sbil9fWZ1bmN0aW9uIHYodCxlLG4pe3Quc3R5bGVbZihlKV09bn1mdW5jdGlvbiBnKHQpe3ZhciBlPXQucGFyZW50Tm9kZSxuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLG89d2luZG93LmdldENvbXB1dGVkU3R5bGUoZSkscj10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm57ZWxlbTp7c3R5bGU6bix3aWR0aDpyLndpZHRoLGhlaWdodDpyLmhlaWdodCx0b3A6ci50b3AsYm90dG9tOnIuYm90dG9tLGxlZnQ6ci5sZWZ0LHJpZ2h0OnIucmlnaHQsbWFyZ2luOmgodCxcIm1hcmdpblwiLG4pLGJvcmRlcjpoKHQsXCJib3JkZXJcIixuKX0scGFyZW50OntzdHlsZTpvLHdpZHRoOmEud2lkdGgsaGVpZ2h0OmEuaGVpZ2h0LHRvcDphLnRvcCxib3R0b206YS5ib3R0b20sbGVmdDphLmxlZnQscmlnaHQ6YS5yaWdodCxwYWRkaW5nOmgoZSxcInBhZGRpbmdcIixvKSxib3JkZXI6aChlLFwiYm9yZGVyXCIsbyl9fX1mdW5jdGlvbiB5KHQsZSl7cmV0dXJuIDE9PT10Lm5vZGVUeXBlJiYoXCIgXCIrZnVuY3Rpb24odCl7cmV0dXJuKHQuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIil8fFwiXCIpLnRyaW0oKX0odCkrXCIgXCIpLmluZGV4T2YoXCIgXCIrZStcIiBcIik+LTF9dmFyIHc9L15odHRwOltcXHdcXC5cXC9dK3N2ZyQvO3ZhciBiPXthbmltYXRlOiExLGNhbnZhczohMSxjdXJzb3I6XCJtb3ZlXCIsZGlzYWJsZVBhbjohMSxkaXNhYmxlWm9vbTohMSxkaXNhYmxlWEF4aXM6ITEsZGlzYWJsZVlBeGlzOiExLGR1cmF0aW9uOjIwMCxlYXNpbmc6XCJlYXNlLWluLW91dFwiLGV4Y2x1ZGU6W10sZXhjbHVkZUNsYXNzOlwicGFuem9vbS1leGNsdWRlXCIsaGFuZGxlU3RhcnRFdmVudDpmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKX0sbWF4U2NhbGU6NCxtaW5TY2FsZTouMTI1LG92ZXJmbG93OlwiaGlkZGVuXCIscGFuT25seVdoZW5ab29tZWQ6ITEscmVsYXRpdmU6ITEsc2V0VHJhbnNmb3JtOmZ1bmN0aW9uKHQsZSxuKXt2YXIgbz1lLngscj1lLnksYT1lLnNjYWxlLGk9ZS5pc1NWRztpZih2KHQsXCJ0cmFuc2Zvcm1cIixcInNjYWxlKFwiK2ErXCIpIHRyYW5zbGF0ZShcIitvK1wicHgsIFwiK3IrXCJweClcIiksaSYmcCl7dmFyIGM9d2luZG93LmdldENvbXB1dGVkU3R5bGUodCkuZ2V0UHJvcGVydHlWYWx1ZShcInRyYW5zZm9ybVwiKTt0LnNldEF0dHJpYnV0ZShcInRyYW5zZm9ybVwiLGMpfX0sc3RhcnRYOjAsc3RhcnRZOjAsc3RhcnRTY2FsZToxLHN0ZXA6LjMsdG91Y2hBY3Rpb246XCJub25lXCJ9O2Z1bmN0aW9uIHgobCxwKXtpZighbCl0aHJvdyBuZXcgRXJyb3IoXCJQYW56b29tIHJlcXVpcmVzIGFuIGVsZW1lbnQgYXMgYW4gYXJndW1lbnRcIik7aWYoMSE9PWwubm9kZVR5cGUpdGhyb3cgbmV3IEVycm9yKFwiUGFuem9vbSByZXF1aXJlcyBhbiBlbGVtZW50IHdpdGggYSBub2RlVHlwZSBvZiAxXCIpO2lmKCFmdW5jdGlvbih0KXt2YXIgZT10Lm93bmVyRG9jdW1lbnQsbj10LnBhcmVudE5vZGU7cmV0dXJuIGUmJm4mJjk9PT1lLm5vZGVUeXBlJiYxPT09bi5ub2RlVHlwZSYmZS5kb2N1bWVudEVsZW1lbnQuY29udGFpbnMobil9KGwpKXRocm93IG5ldyBFcnJvcihcIlBhbnpvb20gc2hvdWxkIGJlIGNhbGxlZCBvbiBlbGVtZW50cyB0aGF0IGhhdmUgYmVlbiBhdHRhY2hlZCB0byB0aGUgRE9NXCIpO3A9dCh0KHt9LGIpLHApO3ZhciB1PWZ1bmN0aW9uKHQpe3JldHVybiB3LnRlc3QodC5uYW1lc3BhY2VVUkkpJiZcInN2Z1wiIT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfShsKSxkPWwucGFyZW50Tm9kZTtkLnN0eWxlLm92ZXJmbG93PXAub3ZlcmZsb3csZC5zdHlsZS51c2VyU2VsZWN0PVwibm9uZVwiLGQuc3R5bGUudG91Y2hBY3Rpb249cC50b3VjaEFjdGlvbiwocC5jYW52YXM/ZDpsKS5zdHlsZS5jdXJzb3I9cC5jdXJzb3IsbC5zdHlsZS51c2VyU2VsZWN0PVwibm9uZVwiLGwuc3R5bGUudG91Y2hBY3Rpb249cC50b3VjaEFjdGlvbix2KGwsXCJ0cmFuc2Zvcm1PcmlnaW5cIixcInN0cmluZ1wiPT10eXBlb2YgcC5vcmlnaW4/cC5vcmlnaW46dT9cIjAgMFwiOlwiNTAlIDUwJVwiKTt2YXIgcyxtLGgseCxTLEUsTT0wLE89MCxQPTEsej0hMTtmdW5jdGlvbiBBKHQsZSxuKXtpZighbi5zaWxlbnQpe3ZhciBvPW5ldyBDdXN0b21FdmVudCh0LHtkZXRhaWw6ZX0pO2wuZGlzcGF0Y2hFdmVudChvKX19ZnVuY3Rpb24gWCh0LGUpe3ZhciBuPXt4Ok0seTpPLHNjYWxlOlAsaXNTVkc6dX07cmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe1wiYm9vbGVhblwiPT10eXBlb2YgZS5hbmltYXRlJiYoZS5hbmltYXRlP2Z1bmN0aW9uKHQsZSl7dih0LFwidHJhbnNpdGlvblwiLGYoXCJ0cmFuc2Zvcm1cIikrXCIgXCIrZS5kdXJhdGlvbitcIm1zIFwiK2UuZWFzaW5nKX0obCxlKTp2KGwsXCJ0cmFuc2l0aW9uXCIsXCJub25lXCIpKSxlLnNldFRyYW5zZm9ybShsLG4sZSl9KSxBKHQsbixlKSxBKFwicGFuem9vbWNoYW5nZVwiLG4sZSksbn1mdW5jdGlvbiBZKCl7aWYocC5jb250YWluKXt2YXIgdD1nKGwpLGU9dC5wYXJlbnQud2lkdGgtdC5wYXJlbnQuYm9yZGVyLmxlZnQtdC5wYXJlbnQuYm9yZGVyLnJpZ2h0LG49dC5wYXJlbnQuaGVpZ2h0LXQucGFyZW50LmJvcmRlci50b3AtdC5wYXJlbnQuYm9yZGVyLmJvdHRvbSxvPWUvKHQuZWxlbS53aWR0aC9QKSxyPW4vKHQuZWxlbS5oZWlnaHQvUCk7XCJpbnNpZGVcIj09PXAuY29udGFpbj9wLm1heFNjYWxlPU1hdGgubWluKG8scik6XCJvdXRzaWRlXCI9PT1wLmNvbnRhaW4mJihwLm1pblNjYWxlPU1hdGgubWF4KG8scikpfX1mdW5jdGlvbiBDKGUsbixvLHIpe3ZhciBhPXQodCh7fSxwKSxyKSxpPXt4Ok0seTpPLG9wdHM6YX07aWYoIWEuZm9yY2UmJihhLmRpc2FibGVQYW58fGEucGFuT25seVdoZW5ab29tZWQmJlA9PT1hLnN0YXJ0U2NhbGUpKXJldHVybiBpO2lmKGU9cGFyc2VGbG9hdChlKSxuPXBhcnNlRmxvYXQobiksYS5kaXNhYmxlWEF4aXN8fChpLng9KGEucmVsYXRpdmU/TTowKStlKSxhLmRpc2FibGVZQXhpc3x8KGkueT0oYS5yZWxhdGl2ZT9POjApK24pLFwiaW5zaWRlXCI9PT1hLmNvbnRhaW4pe3ZhciBjPWcobCk7aS54PU1hdGgubWF4KC1jLmVsZW0ubWFyZ2luLmxlZnQtYy5wYXJlbnQucGFkZGluZy5sZWZ0LE1hdGgubWluKGMucGFyZW50LndpZHRoLWMuZWxlbS53aWR0aC9vLWMucGFyZW50LnBhZGRpbmcubGVmdC1jLmVsZW0ubWFyZ2luLmxlZnQtYy5wYXJlbnQuYm9yZGVyLmxlZnQtYy5wYXJlbnQuYm9yZGVyLnJpZ2h0LGkueCkpLGkueT1NYXRoLm1heCgtYy5lbGVtLm1hcmdpbi50b3AtYy5wYXJlbnQucGFkZGluZy50b3AsTWF0aC5taW4oYy5wYXJlbnQuaGVpZ2h0LWMuZWxlbS5oZWlnaHQvby1jLnBhcmVudC5wYWRkaW5nLnRvcC1jLmVsZW0ubWFyZ2luLnRvcC1jLnBhcmVudC5ib3JkZXIudG9wLWMucGFyZW50LmJvcmRlci5ib3R0b20saS55KSl9ZWxzZSBpZihcIm91dHNpZGVcIj09PWEuY29udGFpbil7dmFyIHU9KGM9ZyhsKSkuZWxlbS53aWR0aC9QLGQ9Yy5lbGVtLmhlaWdodC9QLHM9dSpvLGY9ZCpvLG09KHMtdSkvMixoPShmLWQpLzIsdj0oLShzLWMucGFyZW50LndpZHRoKS1jLnBhcmVudC5wYWRkaW5nLmxlZnQtYy5wYXJlbnQuYm9yZGVyLmxlZnQtYy5wYXJlbnQuYm9yZGVyLnJpZ2h0K20pL28seT0obS1jLnBhcmVudC5wYWRkaW5nLmxlZnQpL287aS54PU1hdGgubWF4KE1hdGgubWluKGkueCx5KSx2KTt2YXIgdz0oLShmLWMucGFyZW50LmhlaWdodCktYy5wYXJlbnQucGFkZGluZy50b3AtYy5wYXJlbnQuYm9yZGVyLnRvcC1jLnBhcmVudC5ib3JkZXIuYm90dG9tK2gpL28sYj0oaC1jLnBhcmVudC5wYWRkaW5nLnRvcCkvbztpLnk9TWF0aC5tYXgoTWF0aC5taW4oaS55LGIpLHcpfXJldHVybiBpfWZ1bmN0aW9uIFQoZSxuKXt2YXIgbz10KHQoe30scCksbikscj17c2NhbGU6UCxvcHRzOm99O3JldHVybiFvLmZvcmNlJiZvLmRpc2FibGVab29tP3I6KHIuc2NhbGU9TWF0aC5taW4oTWF0aC5tYXgoZSxvLm1pblNjYWxlKSxvLm1heFNjYWxlKSxyKX1mdW5jdGlvbiBOKHQsZSxuKXt2YXIgbz1DKHQsZSxQLG4pLHI9by5vcHRzO3JldHVybiBNPW8ueCxPPW8ueSxYKFwicGFuem9vbXBhblwiLHIpfWZ1bmN0aW9uIEwodCxlKXt2YXIgbj1UKHQsZSksbz1uLm9wdHM7aWYoby5mb3JjZXx8IW8uZGlzYWJsZVpvb20pe3Q9bi5zY2FsZTt2YXIgcj1NLGE9TztpZihvLmZvY2FsKXt2YXIgaT1vLmZvY2FsO3I9KGkueC90LWkueC9QK00qdCkvdCxhPShpLnkvdC1pLnkvUCtPKnQpL3R9dmFyIGM9QyhyLGEsdCx7cmVsYXRpdmU6ITEsZm9yY2U6ITB9KTtyZXR1cm4gTT1jLngsTz1jLnksUD10LFgoXCJwYW56b29tem9vbVwiLG8pfX1mdW5jdGlvbiBJKGUsbil7dmFyIG89dCh0KHQoe30scCkse2FuaW1hdGU6ITB9KSxuKTtyZXR1cm4gTChQKk1hdGguZXhwKChlPzE6LTEpKm8uc3RlcCksbyl9ZnVuY3Rpb24gVyhlLG4sbyl7dmFyIHI9ZyhsKSxhPXIucGFyZW50LndpZHRoLXIucGFyZW50LnBhZGRpbmcubGVmdC1yLnBhcmVudC5wYWRkaW5nLnJpZ2h0LXIucGFyZW50LmJvcmRlci5sZWZ0LXIucGFyZW50LmJvcmRlci5yaWdodCxpPXIucGFyZW50LmhlaWdodC1yLnBhcmVudC5wYWRkaW5nLnRvcC1yLnBhcmVudC5wYWRkaW5nLmJvdHRvbS1yLnBhcmVudC5ib3JkZXIudG9wLXIucGFyZW50LmJvcmRlci5ib3R0b20sYz1uLmNsaWVudFgtci5wYXJlbnQubGVmdC1yLnBhcmVudC5wYWRkaW5nLmxlZnQtci5wYXJlbnQuYm9yZGVyLmxlZnQtci5lbGVtLm1hcmdpbi5sZWZ0LHA9bi5jbGllbnRZLXIucGFyZW50LnRvcC1yLnBhcmVudC5wYWRkaW5nLnRvcC1yLnBhcmVudC5ib3JkZXIudG9wLXIuZWxlbS5tYXJnaW4udG9wO3V8fChjLT1yLmVsZW0ud2lkdGgvUC8yLHAtPXIuZWxlbS5oZWlnaHQvUC8yKTt2YXIgZD17eDpjL2EqKGEqZSkseTpwL2kqKGkqZSl9O3JldHVybiBMKGUsdCh0KHthbmltYXRlOiExfSxvKSx7Zm9jYWw6ZH0pKX1MKHAuc3RhcnRTY2FsZSx7YW5pbWF0ZTohMX0pLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtZKCksTihwLnN0YXJ0WCxwLnN0YXJ0WSx7YW5pbWF0ZTohMX0pfSk7dmFyIFo9W107ZnVuY3Rpb24gcSh0KXtpZighZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dDtudWxsIT1uO249bi5wYXJlbnROb2RlKWlmKHkobixlLmV4Y2x1ZGVDbGFzcyl8fGUuZXhjbHVkZS5pbmRleE9mKG4pPi0xKXJldHVybiEwO3JldHVybiExfSh0LnRhcmdldCxwKSl7bihaLHQpLHo9ITAscC5oYW5kbGVTdGFydEV2ZW50KHQpLHM9TSxtPU8sQShcInBhbnpvb21zdGFydFwiLHt4Ok0seTpPLHNjYWxlOlB9LHApO3ZhciBlPW8oWik7aD1lLmNsaWVudFgseD1lLmNsaWVudFksUz1QLEU9cihaKX19ZnVuY3Rpb24gQih0KXtpZih6JiZ2b2lkIDAhPT1zJiZ2b2lkIDAhPT1tJiZ2b2lkIDAhPT1oJiZ2b2lkIDAhPT14KXtuKFosdCk7dmFyIGU9byhaKTtpZihaLmxlbmd0aD4xKVcoVCgocihaKS1FKSpwLnN0ZXAvODArUykuc2NhbGUsZSk7TihzKyhlLmNsaWVudFgtaCkvUCxtKyhlLmNsaWVudFkteCkvUCx7YW5pbWF0ZTohMX0pfX1mdW5jdGlvbiBEKHQpezE9PT1aLmxlbmd0aCYmQShcInBhbnpvb21lbmRcIix7eDpNLHk6TyxzY2FsZTpQfSxwKSxmdW5jdGlvbih0LG4pe2lmKG4udG91Y2hlcylmb3IoO3QubGVuZ3RoOyl0LnBvcCgpO2Vsc2V7dmFyIG89ZSh0LG4pO28+LTEmJnQuc3BsaWNlKG8sMSl9fShaLHQpLHomJih6PSExLHM9bT1oPXg9dm9pZCAwKX12YXIgRj0hMTtmdW5jdGlvbiBSKCl7Rnx8KEY9ITAsaShcImRvd25cIixwLmNhbnZhcz9kOmwscSksaShcIm1vdmVcIixkb2N1bWVudCxCLHtwYXNzaXZlOiEwfSksaShcInVwXCIsZG9jdW1lbnQsRCx7cGFzc2l2ZTohMH0pKX1yZXR1cm4gcC5ub0JpbmR8fFIoKSx7YmluZDpSLGRlc3Ryb3k6ZnVuY3Rpb24oKXtGPSExLGMoXCJkb3duXCIscC5jYW52YXM/ZDpsLHEpLGMoXCJtb3ZlXCIsZG9jdW1lbnQsQiksYyhcInVwXCIsZG9jdW1lbnQsRCl9LGV2ZW50TmFtZXM6YSxnZXRQYW46ZnVuY3Rpb24oKXtyZXR1cm57eDpNLHk6T319LGdldFNjYWxlOmZ1bmN0aW9uKCl7cmV0dXJuIFB9LGdldE9wdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9e307Zm9yKHZhciBuIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShuKSYmKGVbbl09dFtuXSk7cmV0dXJuIGV9KHApfSxwYW46TixyZXNldDpmdW5jdGlvbihlKXt2YXIgbj10KHQodCh7fSxwKSx7YW5pbWF0ZTohMCxmb3JjZTohMH0pLGUpO1A9VChuLnN0YXJ0U2NhbGUsbikuc2NhbGU7dmFyIG89QyhuLnN0YXJ0WCxuLnN0YXJ0WSxQLG4pO3JldHVybiBNPW8ueCxPPW8ueSxYKFwicGFuem9vbXJlc2V0XCIsbil9LHNldE9wdGlvbnM6ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHZvaWQgMD09PXQmJih0PXt9KSx0KXQuaGFzT3duUHJvcGVydHkoZSkmJihwW2VdPXRbZV0pO3QuaGFzT3duUHJvcGVydHkoXCJjdXJzb3JcIikmJihsLnN0eWxlLmN1cnNvcj10LmN1cnNvciksdC5oYXNPd25Qcm9wZXJ0eShcIm92ZXJmbG93XCIpJiYoZC5zdHlsZS5vdmVyZmxvdz10Lm92ZXJmbG93KSx0Lmhhc093blByb3BlcnR5KFwidG91Y2hBY3Rpb25cIikmJihkLnN0eWxlLnRvdWNoQWN0aW9uPXQudG91Y2hBY3Rpb24sbC5zdHlsZS50b3VjaEFjdGlvbj10LnRvdWNoQWN0aW9uKSwodC5oYXNPd25Qcm9wZXJ0eShcIm1pblNjYWxlXCIpfHx0Lmhhc093blByb3BlcnR5KFwibWF4U2NhbGVcIil8fHQuaGFzT3duUHJvcGVydHkoXCJjb250YWluXCIpKSYmWSgpfSxzZXRTdHlsZTpmdW5jdGlvbih0LGUpe3JldHVybiB2KGwsdCxlKX0sem9vbTpMLHpvb21JbjpmdW5jdGlvbih0KXtyZXR1cm4gSSghMCx0KX0sem9vbU91dDpmdW5jdGlvbih0KXtyZXR1cm4gSSghMSx0KX0sem9vbVRvUG9pbnQ6Vyx6b29tV2l0aFdoZWVsOmZ1bmN0aW9uKGUsbil7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBvPXQodCh7fSxwKSxuKSxyPSgwPT09ZS5kZWx0YVkmJmUuZGVsdGFYP2UuZGVsdGFYOmUuZGVsdGFZKTwwPzE6LTE7cmV0dXJuIFcoVChQKk1hdGguZXhwKHIqby5zdGVwLzMpLG8pLnNjYWxlLGUsbyl9fX1yZXR1cm4geC5kZWZhdWx0T3B0aW9ucz1iLHh9KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluQmhibnB2YjIwdWFuTWlYU3dpYm1GdFpYTWlPbHNpWjJ4dlltRnNJaXdpWm1GamRHOXllU0lzSW1WNGNHOXlkSE1pTENKdGIyUjFiR1VpTENKa1pXWnBibVVpTENKaGJXUWlMQ0puYkc5aVlXeFVhR2x6SWl3aWMyVnNaaUlzSWxCaGJucHZiMjBpTENKMGFHbHpJaXdpWDE5aGMzTnBaMjRpTENKUFltcGxZM1FpTENKaGMzTnBaMjRpTENKMElpd2ljeUlzSW1raUxDSnVJaXdpWVhKbmRXMWxiblJ6SWl3aWJHVnVaM1JvSWl3aWNDSXNJbkJ5YjNSdmRIbHdaU0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpWTJGc2JDSXNJbUZ3Y0d4NUlpd2labWx1WkVWMlpXNTBTVzVrWlhnaUxDSndiMmx1ZEdWeWN5SXNJbVYyWlc1MElpd2ljRzlwYm5SbGNrbGtJaXdpWVdSa1VHOXBiblJsY2lJc0luUnZkV05vWlhNaUxDSmZhU0lzSWw5aElpd2lkRzkxWTJnaUxDSnpjR3hwWTJVaUxDSndkWE5vSWl3aVoyVjBUV2xrWkd4bElpd2laWFpsYm5ReUlpd2laWFpsYm5ReElpd2ljMnhwWTJVaUxDSndiM0FpTENKamJHbGxiblJZSWl3aVkyeHBaVzUwV1NJc0ltZGxkRVJwYzNSaGJtTmxJaXdpVFdGMGFDSXNJbk54Y25RaUxDSndiM2NpTENKaFluTWlMQ0ozYVc1a2IzY2lMQ0pPYjJSbFRHbHpkQ0lzSW1admNrVmhZMmdpTENKQmNuSmhlU0lzSWtOMWMzUnZiVVYyWlc1MElpd2ljR0Z5WVcxeklpd2lZblZpWW14bGN5SXNJbU5oYm1ObGJHRmliR1VpTENKa1pYUmhhV3dpTENKbGRuUWlMQ0prYjJOMWJXVnVkQ0lzSW1OeVpXRjBaVVYyWlc1MElpd2lhVzVwZEVOMWMzUnZiVVYyWlc1MElpd2laWFpsYm5Seklpd2laRzkzYmlJc0ltMXZkbVVpTENKMWNDSXNJbTl1VUc5cGJuUmxjaUlzSW1Wc1pXMGlMQ0pvWVc1a2JHVnlJaXdpWlhabGJuUlBjSFJ6SWl3aWMzQnNhWFFpTENKdVlXMWxJaXdpWVdSa1JYWmxiblJNYVhOMFpXNWxjaUlzSW1SbGMzUnliM2xRYjJsdWRHVnlJaXdpY21WdGIzWmxSWFpsYm5STWFYTjBaVzVsY2lJc0lsQnZhVzUwWlhKRmRtVnVkQ0lzSWxSdmRXTm9SWFpsYm5RaUxDSmthWFpUZEhsc1pTSXNJbWx6U1VVaUxDSmtiMk4xYldWdWRFMXZaR1VpTENKamNtVmhkR1ZUZEhsc1pTSXNJbU55WldGMFpVVnNaVzFsYm5RaUxDSnpkSGxzWlNJc0luQnlaV1pwZUdWeklpd2ljSEpsWm1sNFEyRmphR1VpTENKblpYUlFjbVZtYVhobFpFNWhiV1VpTENKallYQk9ZVzFsSWl3aWRHOVZjSEJsY2tOaGMyVWlMQ0p3Y21WbWFYaGxaRTVoYldVaUxDSm5aWFJEVTFOT2RXMGlMQ0p3WVhKelpVWnNiMkYwSWl3aVoyVjBRbTk0VTNSNWJHVWlMQ0puWlhSRGIyMXdkWFJsWkZOMGVXeGxJaXdpYzNWbVptbDRJaXdpYkdWbWRDSXNJbkpwWjJoMElpd2lkRzl3SWl3aVltOTBkRzl0SWl3aWMyVjBVM1I1YkdVaUxDSjJZV3gxWlNJc0ltZGxkRVJwYldWdWMybHZibk1pTENKd1lYSmxiblFpTENKd1lYSmxiblJPYjJSbElpd2ljR0Z5Wlc1MFUzUjViR1VpTENKeVpXTjBSV3hsYlNJc0ltZGxkRUp2ZFc1a2FXNW5RMnhwWlc1MFVtVmpkQ0lzSW5KbFkzUlFZWEpsYm5RaUxDSjNhV1IwYUNJc0ltaGxhV2RvZENJc0ltMWhjbWRwYmlJc0ltSnZjbVJsY2lJc0luQmhaR1JwYm1jaUxDSm9ZWE5EYkdGemN5SXNJbU5zWVhOelRtRnRaU0lzSW01dlpHVlVlWEJsSWl3aVoyVjBRWFIwY21saWRYUmxJaXdpZEhKcGJTSXNJbWRsZEVOc1lYTnpJaXdpYVc1a1pYaFBaaUlzSW5KemRtY2lMQ0prWldaaGRXeDBUM0IwYVc5dWN5SXNJbUZ1YVcxaGRHVWlMQ0pqWVc1MllYTWlMQ0pqZFhKemIzSWlMQ0prYVhOaFlteGxVR0Z1SWl3aVpHbHpZV0pzWlZwdmIyMGlMQ0prYVhOaFlteGxXRUY0YVhNaUxDSmthWE5oWW14bFdVRjRhWE1pTENKa2RYSmhkR2x2YmlJc0ltVmhjMmx1WnlJc0ltVjRZMngxWkdVaUxDSmxlR05zZFdSbFEyeGhjM01pTENKb1lXNWtiR1ZUZEdGeWRFVjJaVzUwSWl3aVpTSXNJbkJ5WlhabGJuUkVaV1poZFd4MElpd2ljM1J2Y0ZCeWIzQmhaMkYwYVc5dUlpd2liV0Y0VTJOaGJHVWlMQ0p0YVc1VFkyRnNaU0lzSW05MlpYSm1iRzkzSWl3aWNHRnVUMjVzZVZkb1pXNWFiMjl0WldRaUxDSnlaV3hoZEdsMlpTSXNJbk5sZEZSeVlXNXpabTl5YlNJc0lsOXZjSFJwYjI1eklpd2llQ0lzSW5raUxDSnpZMkZzWlNJc0ltbHpVMVpISWl3aWJXRjBjbWw0Vm1Gc2RXVWlMQ0puWlhSUWNtOXdaWEowZVZaaGJIVmxJaXdpYzJWMFFYUjBjbWxpZFhSbElpd2ljM1JoY25SWUlpd2ljM1JoY25SWklpd2ljM1JoY25SVFkyRnNaU0lzSW5OMFpYQWlMQ0owYjNWamFFRmpkR2x2YmlJc0ltOXdkR2x2Ym5NaUxDSkZjbkp2Y2lJc0ltUnZZeUlzSW05M2JtVnlSRzlqZFcxbGJuUWlMQ0prYjJOMWJXVnVkRVZzWlcxbGJuUWlMQ0pqYjI1MFlXbHVjeUlzSW1selFYUjBZV05vWldRaUxDSjBaWE4wSWl3aWJtRnRaWE53WVdObFZWSkpJaXdpYm05a1pVNWhiV1VpTENKMGIweHZkMlZ5UTJGelpTSXNJbWx6VTFaSFJXeGxiV1Z1ZENJc0luVnpaWEpUWld4bFkzUWlMQ0p2Y21sbmFXNGlMQ0p2Y21sbldDSXNJbTl5YVdkWklpd2ljM1JoY25SRGJHbGxiblJZSWl3aWMzUmhjblJEYkdsbGJuUlpJaXdpYzNSaGNuUkVhWE4wWVc1alpTSXNJbWx6VUdGdWJtbHVaeUlzSW5SeWFXZG5aWElpTENKbGRtVnVkRTVoYldVaUxDSnZjSFJ6SWl3aWMybHNaVzUwSWl3aVpHbHpjR0YwWTJoRmRtVnVkQ0lzSW5ObGRGUnlZVzV6Wm05eWJWZHBkR2hGZG1WdWRDSXNJbkpsY1hWbGMzUkJibWx0WVhScGIyNUdjbUZ0WlNJc0luTmxkRlJ5WVc1emFYUnBiMjRpTENKelpYUk5hVzVOWVhnaUxDSmpiMjUwWVdsdUlpd2laR2x0Y3lJc0luQmhjbVZ1ZEZkcFpIUm9JaXdpY0dGeVpXNTBTR1ZwWjJoMElpd2laV3hsYlZOallXeGxaRmRwWkhSb0lpd2laV3hsYlZOallXeGxaRWhsYVdkb2RDSXNJbTFwYmlJc0ltMWhlQ0lzSW1OdmJuTjBjbUZwYmxoWklpd2lkRzlZSWl3aWRHOVpJaXdpZEc5VFkyRnNaU0lzSW5CaGJrOXdkR2x2Ym5NaUxDSnlaWE4xYkhRaUxDSm1iM0pqWlNJc0luSmxZV3hYYVdSMGFDSXNJbkpsWVd4SVpXbG5hSFFpTENKelkyRnNaV1JYYVdSMGFDSXNJbk5qWVd4bFpFaGxhV2RvZENJc0ltUnBabVpJYjNKcGVtOXVkR0ZzSWl3aVpHbG1abFpsY25ScFkyRnNJaXdpYldsdVdDSXNJbTFoZUZnaUxDSnRhVzVaSWl3aWJXRjRXU0lzSW1OdmJuTjBjbUZwYmxOallXeGxJaXdpZW05dmJVOXdkR2x2Ym5NaUxDSndZVzRpTENKNmIyOXRJaXdpWm05allXd2lMQ0p3WVc1U1pYTjFiSFFpTENKNmIyOXRTVzVQZFhRaUxDSnBjMGx1SWl3aVpYaHdJaXdpZW05dmJWUnZVRzlwYm5RaUxDSndiMmx1ZENJc0ltVm1abVZqZEdsMlpVRnlaV0VpTENKelpYUlVhVzFsYjNWMElpd2lhR0Z1Wkd4bFJHOTNiaUlzSW1OMWNpSXNJbWx6UlhoamJIVmtaV1FpTENKMFlYSm5aWFFpTENKMWJtUmxabWx1WldRaUxDSmpkWEp5Wlc1MElpd2lhR0Z1Wkd4bFZYQWlMQ0p5WlcxdmRtVlFiMmx1ZEdWeUlpd2lZbTkxYm1RaUxDSmlhVzVrSWl3aWNHRnpjMmwyWlNJc0ltNXZRbWx1WkNJc0ltUmxjM1J5YjNraUxDSmxkbVZ1ZEU1aGJXVnpJaXdpWjJWMFVHRnVJaXdpWjJWMFUyTmhiR1VpTENKblpYUlBjSFJwYjI1eklpd2liMkpxSWl3aVkyeHZibVVpTENKclpYa2lMQ0p6YUdGc2JHOTNRMnh2Ym1VaUxDSnlaWE5sZENJc0luSmxjMlYwVDNCMGFXOXVjeUlzSW5ObGRFOXdkR2x2Ym5NaUxDSjZiMjl0U1c0aUxDSjZiMjl0VDNWMElpd2llbTl2YlZkcGRHaFhhR1ZsYkNJc0luZG9aV1ZzSWl3aVpHVnNkR0ZaSWl3aVpHVnNkR0ZZSWwwc0ltMWhjSEJwYm1keklqb2lRMEZMUXl4VFFVRlZRU3hGUVVGUlF5eEhRVU5KTEdsQ1FVRmFReXhUUVVFd1F5eHZRa0ZCV0VNc1QwRkJlVUpCTEU5QlFVOUVMRkZCUVZWRUxFbEJRemxFTEcxQ1FVRllSeXhSUVVGNVFrRXNUMEZCVDBNc1NVRkJUVVFzVDBGQlQwZ3NTVUZEYmtSRUxFVkJRU3RDTEc5Q1FVRm1UU3hYUVVFMlFrRXNWMEZCWVU0c1IwRkJWVThzVFVGQllVTXNVVUZCVlZBc1NVRklhRWNzUTBGSlJWRXNTMEZCVFN4WFFVRmxMR0ZCYVVKdVFpeEpRVUZKUXl4RlFVRlhMRmRCVVZnc1QwRlFRVUVzUlVGQlYwTXNUMEZCVDBNc1VVRkJWU3hUUVVGclFrTXNSMEZETVVNc1NVRkJTeXhKUVVGSlF5eEZRVUZIUXl4RlFVRkpMRVZCUVVkRExFVkJRVWxETEZWQlFWVkRMRTlCUVZGSUxFVkJRVWxETEVWQlFVZEVMRWxCUlRWRExFbEJRVXNzU1VGQlNVa3NTMEZFVkV3c1JVRkJTVWNzVlVGQlZVWXNSMEZEVDBvc1QwRkJUMU1zVlVGQlZVTXNaVUZCWlVNc1MwRkJTMUlzUlVGQlIwc3NTMEZCU1U0c1JVRkJSVTBzUjBGQlMwd3NSVUZCUlVzc1NVRkZPVVVzVDBGQlQwNHNTVUZGUzFVc1RVRkJUV1FzUzBGQlRWRXNXVUYzUW1oRExGTkJRVk5QTEVWQlFXVkRMRVZCUVZWRExFZEJSVGxDTEVsQlJFRXNTVUZCU1Znc1JVRkJTVlVzUlVGQlUxQXNUMEZEVmtnc1MwRkRTQ3hIUVVGSlZTeEZRVUZUVml4SFFVRkhXU3haUVVGalJDeEZRVUZOUXl4VlFVTm9ReXhQUVVGUFdpeEZRVWRtTEU5QlFWRXNSVUZGV2l4VFFVRlRZU3hGUVVGWFNDeEZRVUZWUXl4SFFVTXhRaXhKUVVGSldDeEZRVVZLTEVkQlFVbFhMRVZCUVUxSExGRkJRVllzUTBGRFNXUXNSVUZCU1N4RlFVTktMRWxCUVVzc1NVRkJTV1VzUlVGQlN5eEZRVUZIUXl4RlFVRkxUQ3hGUVVGTlJ5eFJRVUZUUXl4RlFVRkxReXhGUVVGSFlpeFBRVUZSV1N4SlFVRk5MRU5CUTNaRUxFbEJRVWxGTEVWQlFWRkVMRVZCUVVkRUxFZEJRMlpGTEVWQlFVMU1MRlZCUVZsYUxFbEJRMnhDWVN4RlFVRlhTQ3hGUVVGVlR5eFRRVWszUW1wQ0xFVkJRVWxUTEVWQlFXVkRMRVZCUVZWRExFdEJSWEJDTEVkQlEweEVMRVZCUVZOUkxFOUJRVTlzUWl4RlFVRkhMRWRCUlhaQ1ZTeEZRVUZUVXl4TFFVRkxVaXhIUVhGQ2JFSXNVMEZCVTFNc1JVRkJWVllzUjBGTFppeEpRVVpCTEVsQlEwbFhMRVZCUkVGRExFZEJSRXBhTEVWQlFWZEJMRVZCUVZOaExFMUJRVTBzU1VGRFNrTXNUVUZGWkVnc1JVRkJVMWdzUlVGQlUyTXNUMEZEZEVKR0xFVkJRVk1zUTBGRFRFY3NVMEZCVlVvc1JVRkJUMGtzVVVGQlZVZ3NSVUZCVDBjc1UwRkJWeXhGUVVGSlNDeEZRVUZQUnl4UlFVTjRSRU1zVTBGQlZVd3NSVUZCVDBzc1VVRkJWVW9zUlVGQlQwa3NVMEZCVnl4RlFVRkpTaXhGUVVGUFNTeFRRVWRvUlN4UFFVRlBTaXhGUVU5WUxGTkJRVk5MTEVWQlFWbHFRaXhIUVVOcVFpeEhRVUZKUVN4RlFVRlRVQ3hQUVVGVExFVkJRMnhDTEU5QlFVOHNSVUZGV0N4SlFVRkpiVUlzUlVGQlUxb3NSVUZCVXl4SFFVTnNRbGNzUlVGQlUxZ3NSVUZCVXl4SFFVTjBRaXhQUVVGUGEwSXNTMEZCUzBNc1MwRkJTMFFzUzBGQlMwVXNTVUZCU1VZc1MwRkJTMGNzU1VGQlNWWXNSVUZCVDBrc1VVRkJWVWdzUlVGQlQwY3NVMEZCVlN4SFFVTnFSVWNzUzBGQlMwVXNTVUZCU1VZc1MwRkJTMGNzU1VGQlNWWXNSVUZCVDBzc1VVRkJWVW9zUlVGQlQwa3NVMEZCVlN4SlFUVkdkRU1zYjBKQlFWaE5MRk5CUlV4QkxFOUJRVTlETEZkQlFXRkJMRk5CUVZNMVFpeFZRVUZWTmtJc1ZVRkRla05FTEZOQlFWTTFRaXhWUVVGVk5rSXNVVUZCVlVNc1RVRkJUVGxDTEZWQlFWVTJRaXhUUVVsaUxHMUNRVUYyUWtZc1QwRkJUMGtzWTBGRGFFSktMRTlCUVU5SkxGbEJRV01zVTBGQmNVSjZRaXhGUVVGUE1FSXNSMEZETDBOQkxFVkJRVk5CTEVkQlFWVXNRMEZCUlVNc1UwRkJVeXhGUVVGUFF5eFpRVUZaTEVWQlFVOURMRTlCUVZFc1RVRkRhRVVzU1VGQlNVTXNSVUZCVFVNc1UwRkJVME1zV1VGQldTeGxRVVV2UWl4UFFVUkJSaXhGUVVGSlJ5eG5Ra0ZCWjBKcVF5eEZRVUZQTUVJc1JVRkJUME1zVVVGQlUwUXNSVUZCVDBVc1YwRkJXVVlzUlVGQlQwY3NVVUZET1VSRExFdEJiVVppTEVsQlFVbEpMRVZCUVZNc1EwRkRWRU1zUzBGQlRTeFpRVU5PUXl4TFFVRk5MRmxCUTA1RExFZEJRVWtzYzBKQmEwSlNMRk5CUVZORExFVkJRVlYwUXl4RlFVRlBkVU1zUlVGQlRVTXNSVUZCVTBNc1IwRkRja05RTEVWQlFVOXNReXhIUVVGUE1FTXNUVUZCVFN4TFFVRkxia0lzVVVGQlVTeFRRVUZWYjBJc1IwRkRka05LTEVWQlFVdExMR2xDUVVGcFFrUXNSVUZCVFVnc1JVRkJVME1zUzBGSE4wTXNVMEZCVTBrc1JVRkJaVGRETEVWQlFVOTFReXhGUVVGTlF5eEhRVU5xUTA0c1JVRkJUMnhETEVkQlFVOHdReXhOUVVGTkxFdEJRVXR1UWl4UlFVRlJMRk5CUVZWdlFpeEhRVU4yUTBvc1JVRkJTMDhzYjBKQlFXOUNTQ3hGUVVGTlNDeExRWFpDYWtJc2IwSkJRVmh1UWl4VFFVTTBRaXh0UWtGQmVFSkJMRTlCUVU4d1FpeGhRVU5rWWl4RlFVRlRMRU5CUTB4RExFdEJRVTBzWTBGRFRrTXNTMEZCVFN4alFVTk9ReXhIUVVGSkxIZERRVWN3UWl4dFFrRkJkRUpvUWl4UFFVRlBNa0lzWVVGRGJrSmtMRVZCUVZNc1EwRkRURU1zUzBGQlRTeGhRVU5PUXl4TFFVRk5MRmxCUTA1RExFZEJRVWtzTUVKQlpXaENMRWxCU1VsWkxFVkJTa0ZETEVWQlFUSkNMRzlDUVVGaWJrSXNXVUZCT0VKQkxGTkJRVk52UWl4aFFVdDZSQ3hUUVVGVFF5eEpRVU5NTEU5QlFVbElMRWxCUjBsQkxFVkJRVmRzUWl4VFFVRlRjMElzWTBGQll5eFBRVUZQUXl4UFFVdHlSQ3hKUVVGSlF5eEZRVUZYTEVOQlFVTXNVMEZCVlN4TlFVRlBMRTFCUXpkQ1F5eEZRVUZqTEVkQlEyeENMRk5CUVZORExFVkJRV2RDWkN4SFFVTnlRaXhIUVVGSllTeEZRVUZaWWl4SFFVTmFMRTlCUVU5aExFVkJRVmxpTEVkQlJYWkNMRWxCUVVsTkxFVkJRVmRITEVsQlEyWXNSMEZCU1ZRc1MwRkJVVTBzUlVGRFVpeFBRVUZSVHl4RlFVRlpZaXhIUVVGUlFTeEZRVWxvUXl4SlFVWkJMRWxCUVVsbExFVkJRVlZtTEVWQlFVc3NSMEZCUjJkQ0xHTkJRV2RDYUVJc1JVRkJTeTlDTEUxQlFVMHNSMEZETjBOMlFpeEZRVUZKYTBVc1JVRkJVeTlFTEU5QlExWklMRXRCUVVzc1EwRkRVaXhKUVVGSmRVVXNSVUZCWlN4SFFVRkxUQ3hGUVVGVGJFVXNSMEZCUzNGRkxFVkJRM1JETEVkQlFVbEZMRXRCUVdkQ1dDeEZRVU5vUWl4UFFVRlJUeXhGUVVGWllpeEhRVUZSYVVJc1IwRlBlRU1zVTBGQlUwTXNSVUZCVld4Q0xFVkJRVTFYTEVkQlEzSkNMRTlCUVU5UkxGZEJRVmRTTEVWQlFVMUhMRVZCUVdkQ1pDeE5RVUZYTEVWQlJYWkVMRk5CUVZOdlFpeEZRVUZaZUVJc1JVRkJUVWtzUlVGQlRWY3NVVUZEWml4SlFVRldRU3hKUVVGdlFrRXNSVUZCVVdwRExFOUJRVTh5UXl4cFFrRkJhVUo2UWl4SlFVZDRSQ3hKUVVGSk1FSXNSVUZCYTBJc1YwRkJWSFJDTEVWQlFXOUNMRkZCUVZVc1IwRkRNME1zVFVGQlR5eERRVU5JZFVJc1MwRkJUVXdzUlVGQlZXeENMRVZCUVU4c1QwRkJVM05DTEVWQlFWRllMRWRCUTNoRFlTeE5RVUZQVGl4RlFVRlZiRUlzUlVGQlR5eFJRVUZWYzBJc1JVRkJVVmdzUjBGRE1VTmpMRWxCUVV0UUxFVkJRVlZzUWl4RlFVRlBMRTFCUVZGelFpeEZRVUZSV0N4SFFVTjBRMlVzVDBGQlVWSXNSVUZCVld4Q0xFVkJRVThzVTBGQlYzTkNMRVZCUVZGWUxFbEJUWEJFTEZOQlFWTm5RaXhGUVVGVEwwSXNSVUZCVFVrc1JVRkJUVFJDTEVkQlJURkNhRU1zUlVGQlMyVXNUVUZCVFVjc1JVRkJaMEprTEVsQlFWTTBRaXhGUVhkQ2VFTXNVMEZCVTBNc1JVRkJZMnBETEVkQlEyNUNMRWxCUVVsclF5eEZRVUZUYkVNc1JVRkJTMjFETEZkQlEyUndRaXhGUVVGUmFrTXNUMEZCVHpKRExHbENRVUZwUW5wQ0xFZEJRMmhEYjBNc1JVRkJZM1JFTEU5QlFVOHlReXhwUWtGQmFVSlRMRWRCUTNSRFJ5eEZRVUZYY2tNc1JVRkJTM05ETEhkQ1FVTm9Ra01zUlVGQllVd3NSVUZCVDBrc2QwSkJRM2hDTEUxQlFVOHNRMEZEU0hSRExFdEJRVTBzUTBGRFJtVXNUVUZCVDBFc1JVRkRVSGxDTEUxQlFVOUlMRVZCUVZOSExFMUJRMmhDUXl4UFFVRlJTaXhGUVVGVFNTeFBRVU5xUWxvc1NVRkJTMUVzUlVGQlUxSXNTVUZEWkVNc1QwRkJVVThzUlVGQlUxQXNUMEZEYWtKSUxFdEJRVTFWTEVWQlFWTldMRXRCUTJaRExFMUJRVTlUTEVWQlFWTlVMRTFCUTJoQ1l5eFBRVUZSYkVJc1JVRkJXWGhDTEVWQlFVMHNVMEZCVldVc1IwRkRjRU0wUWl4UFFVRlJia0lzUlVGQldYaENMRVZCUVUwc1UwRkJWV1VzU1VGRmVFTnRRaXhQUVVGUkxFTkJRMHB1UWl4TlFVRlBjVUlzUlVGRFVFa3NUVUZCVDBRc1JVRkJWME1zVFVGRGJFSkRMRTlCUVZGR0xFVkJRVmRGTEU5QlEyNUNXaXhKUVVGTFZTeEZRVUZYVml4SlFVTm9Ra01zVDBGQlVWTXNSVUZCVjFRc1QwRkRia0pJTEV0QlFVMVpMRVZCUVZkYUxFdEJRMnBDUXl4TlFVRlBWeXhGUVVGWFdDeE5RVU5zUW1kQ0xGRkJRVk53UWl4RlFVRlpWU3hGUVVGUkxGVkJRVmRGTEVkQlEzaERUeXhQUVVGUmJrSXNSVUZCV1ZVc1JVRkJVU3hUUVVGVlJTeExRWE5DYkVRc1UwRkJVMU1zUlVGQlV6ZERMRVZCUVUwNFF5eEhRVU53UWl4UFFVRjVRaXhKUVVGc1FqbERMRVZCUVVzclF5eFhRVUZ0UWl4SlFVcHVReXhUUVVGclFpOURMRWRCUTJRc1QwRkJVVUVzUlVGQlMyZEVMR0ZCUVdFc1ZVRkJXU3hKUVVGSlF5eFBRVWRNUXl4RFFVRlRiRVFzUjBGQlVTeExRVUZMYlVRc1VVRkJVU3hKUVVGTlRDeEZRVUZaTEUxQlFWRXNSVUZsYWtjc1NVRkJTVTBzUlVGQlR5eHpRa0ZsV0N4SlFVRkpReXhGUVVGcFFpeERRVU5xUWtNc1UwRkJVeXhGUVVOVVF5eFJRVUZSTEVWQlExSkRMRTlCUVZFc1QwRkRVa01zV1VGQldTeEZRVU5hUXl4aFFVRmhMRVZCUTJKRExHTkJRV01zUlVGRFpFTXNZMEZCWXl4RlFVTmtReXhUUVVGVkxFbEJRMVpETEU5QlFWRXNZMEZEVWtNc1VVRkJVeXhIUVVOVVF5eGhRVUZqTEd0Q1FVTmtReXhwUWtGQmEwSXNVMEZCVlVNc1IwRkRlRUpCTEVWQlFVVkRMR2xDUVVOR1JDeEZRVUZGUlN4dFFrRkZUa01zVTBGQlZTeEZRVU5XUXl4VFFVRlZMRXRCUTFaRExGTkJRVlVzVTBGRFZrTXNiVUpCUVcxQ0xFVkJRMjVDUXl4VlFVRlZMRVZCUTFaRExHRkJhRWhLTEZOQlFYTkNNVVVzUlVGQlRXeERMRVZCUVVrMlJ5eEhRVU0xUWl4SlFVRkpReXhGUVVGSk9VY3NSVUZCUnpoSExFVkJRVWRETEVWQlFVa3ZSeXhGUVVGSEswY3NSVUZCUjBNc1JVRkJVV2hJTEVWQlFVZG5TQ3hOUVVGUFF5eEZRVUZSYWtnc1JVRkJSMmxJTEUxQlJYSkVMRWRCUkVGb1JDeEZRVUZUTDBJc1JVRkJUU3haUVVGaExGTkJRVmM0UlN4RlFVRlJMR1ZCUVdsQ1JpeEZRVUZKTEU5QlFWTkRMRVZCUVVrc1QwRkROMFZGTEVkQlFWTndSU3hGUVVGTkxFTkJRMllzU1VGQlNYRkZMRVZCUVdOc1J5eFBRVUZQTWtNc2FVSkJRV2xDZWtJc1IwRkJUV2xHTEdsQ1FVRnBRaXhoUVVOcVJXcEdMRVZCUVV0clJpeGhRVUZoTEZsQlFXRkdMRXRCTkVkdVEwY3NUMEZCVVN4RlFVTlNReXhQUVVGUkxFVkJRMUpETEZkQlFWa3NSVUZEV2tNc1MwRkJUU3hIUVVOT1F5eFpRVUZoTEZGQlJXcENMRk5CUVZOb1NpeEZRVUZSZVVRc1JVRkJUWGRHTEVkQlEyNUNMRWxCUVV0NFJpeEZRVU5FTEUxQlFVMHNTVUZCU1hsR0xFMUJRVTBzT0VOQlJYQkNMRWRCUVhOQ0xFbEJRV3hDZWtZc1JVRkJTeXRETEZOQlEwd3NUVUZCVFN4SlFVRkpNRU1zVFVGQlRTeHZSRUZGY0VJc1NVRXZSVW9zVTBGQmIwSjZSaXhIUVVOb1FpeEpRVUZKTUVZc1JVRkJUVEZHTEVWQlFVc3lSaXhqUVVOWWVrUXNSVUZCVTJ4RExFVkJRVXR0UXl4WFFVTnNRaXhQUVVGUmRVUXNSMEZEU25oRUxFZEJRMmxDTEVsQlFXcENkMFFzUlVGQlNUTkRMRlZCUTJkQ0xFbEJRWEJDWWl4RlFVRlBZU3hWUVVOUU1rTXNSVUZCU1VVc1owSkJRV2RDUXl4VFFVRlRNMFFzUjBGM1JUVkNORVFzUTBGQlZ6bEdMRWRCUTFvc1RVRkJUU3hKUVVGSmVVWXNUVUZCVFN3eVJVRkZjRUpFTEVWQlFWVXZTU3hGUVVGVFFTeEZRVUZUTEVkQlFVazBSeXhIUVVGcFFtMURMRWRCUTJwRUxFbEJRVWxVTEVWQmNrUlNMRk5CUVhOQ0wwVXNSMEZEYkVJc1QwRkJUMjlFTEVWQlFVc3lReXhMUVVGTEwwWXNSVUZCUzJkSExHVkJRV2xFTEZGQlFXaERhRWNzUlVGQlMybEhMRk5CUVZORExHTkJiMFI2UTBNc1EwRkJZVzVITEVkQlEzSkNhME1zUlVGQlUyeERMRVZCUVV0dFF5eFhRVVZzUWtRc1JVRkJUMjVDTEUxQlFVMTNSQ3hUUVVGWGFVSXNSVUZCVVdwQ0xGTkJRMmhEY2tNc1JVRkJUMjVDTEUxQlFVMXhSaXhYUVVGaExFOUJSekZDYkVVc1JVRkJUMjVDTEUxQlFVMTNSU3haUVVGalF5eEZRVUZSUkN4aFFVTnNRME1zUlVGQlVXcERMRTlCUVZOeVFpeEZRVUZUYkVNc1IwRkJUV1VzVFVGQlRYbERMRTlCUVZOblF5eEZRVUZSYUVNc1QwRkZlRVI0UkN4RlFVRkxaU3hOUVVGTmNVWXNWMEZCWVN4UFFVTjRRbkJITEVWQlFVdGxMRTFCUVUxM1JTeFpRVUZqUXl4RlFVRlJSQ3haUVVkcVEzaEVMRVZCUVZNdlFpeEZRVUZOTEd0Q1FVRTJReXhwUWtGQmJrSjNSaXhGUVVGUllTeFBRVUZ6UW1Jc1JVRkJVV0VzVDBGQlUzUkNMRVZCUVZFc1RVRkJVU3hYUVhsQ2VFY3NTVUVyVGtsMVFpeEZRVU5CUXl4RlFVTkJReXhGUVVOQlF5eEZRVU5CY0VJc1JVRkRRWEZDTEVWQmNFOUJPVUlzUlVGQlNTeEZRVU5LUXl4RlFVRkpMRVZCUTBwRExFVkJRVkVzUlVGRFVqWkNMRWRCUVZrc1JVRlZhRUlzVTBGQlUwTXNSVUZCVVVNc1JVRkJWM1pJTEVWQlFWRjNTQ3hIUVVOb1F5eEpRVUZKUVN4RlFVRkxReXhQUVVGVUxFTkJSMEVzU1VGQlNYUktMRVZCUVZFc1NVRkJTWGxDTEZsQlFWa3lTQ3hGUVVGWExFTkJRVVYyU0N4UFFVRlJRU3hKUVVOcVJGVXNSVUZCUzJkSUxHTkJRV04yU2l4SlFVVjJRaXhUUVVGVGQwb3NSVUZCYzBKS0xFVkJRVmRETEVkQlEzUkRMRWxCUVVrNVJTeEZRVUZSTEVOQlFVVTBReXhGUVVGSFFTeEZRVUZIUXl4RlFVRkhRU3hGUVVGSFF5eE5RVUZQUVN4RlFVRlBReXhOUVVGUFFTeEhRV012UXl4UFFXSkJiVU1zYzBKQlFYTkNMRmRCUTFVc2EwSkJRV3BDU2l4RlFVRkxlRVFzVlVGRFVuZEVMRVZCUVV0NFJDeFJRWGhOZWtJc1UwRkJkVUowUkN4RlFVRk5kMFlzUjBGRmVrSjZSQ3hGUVVGVEwwSXNSVUZCVFN4aFFVUkRhMElzUlVGQlowSXNZVUZEVXl4SlFVRk5jMFVzUlVGQlVUTkNMRk5CUVZjc1RVRkJVVEpDTEVWQlFWRXhRaXhSUVhWTmJFVnhSQ3hEUVVGamJrZ3NSVUZCVFRoSExFZEJSM0JDTDBVc1JVRkJVeTlDTEVWQlFVMHNZVUZCWXl4VFFVZHlRemhITEVWQlFVdHdReXhoUVVGaE1VVXNSVUZCVFdkRExFVkJRVTg0UlN4TFFVVnVRMFlzUlVGQlVVTXNSVUZCVnpkRkxFVkJRVTg0UlN4SFFVTXhRa1lzUlVGQlVTeG5Ra0ZCYVVJMVJTeEZRVUZQT0VVc1IwRkRla0k1UlN4RlFVVllMRk5CUVZOdlJpeEpRVU5NTEVkQlFVazFRaXhGUVVGUk5rSXNVVUZCVXl4RFFVTnFRaXhKUVVGSlF5eEZRVUZQY2tZc1JVRkJZMnBETEVkQlEzSkNkVWdzUlVGQlkwUXNSVUZCUzNCR0xFOUJRVTlOTEUxQlFWRTRSU3hGUVVGTGNFWXNUMEZCVDFNc1QwRkJUMmhDTEV0QlFVOHlSaXhGUVVGTGNFWXNUMEZCVDFNc1QwRkJUMllzVFVGREwwVTBSaXhGUVVGbFJpeEZRVUZMY0VZc1QwRkJUMDhzVDBGQlV6WkZMRVZCUVV0d1JpeFBRVUZQVXl4UFFVRlBaQ3hKUVVGTmVVWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOWlMRTlCUjJoR01rWXNSVUZCYTBKR0xFZEJSazVFTEVWQlFVdDBTQ3hMUVVGTGQwTXNUVUZCVVhORExFZEJSemxDTkVNc1JVRkJiVUpHTEVkQlJrNUdMRVZCUVV0MFNDeExRVUZMZVVNc1QwRkJVM0ZETEVkQlIxb3NWMEZCY0VKVkxFVkJRVkUyUWl4UlFVTlNOMElzUlVGQlVXNUNMRk5CUVZjelJpeExRVUZMYVVvc1NVRkJTVVlzUlVGQmFVSkRMRWRCUlhCQ0xGbEJRWEJDYkVNc1JVRkJVVFpDTEZWQlEySTNRaXhGUVVGUmJFSXNVMEZCVnpWR0xFdEJRVXRyU2l4SlFVRkpTQ3hGUVVGcFFrTXNTMEZKZWtRc1UwRkJVMGNzUlVGQldVTXNSVUZCUzBNc1JVRkJTME1zUlVGQlUwTXNSMEZEY0VNc1NVRkJTVzVDTEVWQlFVOXlTeXhGUVVGVFFTeEZRVUZUTEVkQlFVa3JTU3hIUVVGVmVVTXNSMEZEZGtORExFVkJRVk1zUTBGQlJYUkVMRVZCUVVkQkxFVkJRVWRETEVWQlFVZEJMRVZCUVVkcFF5eExRVUZOUVN4SFFVTnFReXhKUVVGTFFTeEZRVUZMY1VJc1VVRkJWWEpDTEVWQlFVdHlSQ3haUVVGbGNVUXNSVUZCUzNSRExHMUNRVUZ4UWswc1NVRkJWV2RETEVWQlFVdDZRaXhaUVVNM1JTeFBRVUZQTmtNc1JVRlZXQ3hIUVZKQlNpeEZRVUZOZGtjc1YwRkJWM1ZITEVkQlEycENReXhGUVVGTmVFY3NWMEZCVjNkSExFZEJRMXBxUWl4RlFVRkxia1FzWlVGRFRuVkZMRVZCUVU5MFJDeEhRVUZMYTBNc1JVRkJTM0pETEZOQlFWZEhMRVZCUVVrc1IwRkJTMnRFTEVkQlJYQkRhRUlzUlVGQlMyeEVMR1ZCUTA1elJTeEZRVUZQY2tRc1IwRkJTMmxETEVWQlFVdHlReXhUUVVGWFNTeEZRVUZKTEVkQlFVdHJSQ3hIUVVWd1FpeFhRVUZxUW1wQ0xFVkJRVXRQTEZGQlFYTkNMRU5CUXpOQ0xFbEJRVWxETEVWQlFVOXlSaXhGUVVGamFrTXNSMEZEZWtKclNTeEZRVUZQZEVRc1JVRkJTV3hITEV0QlFVdHJTaXhMUVVGTFRpeEZRVUZMZEVnc1MwRkJTekJETEU5QlFVOW1MRXRCUVU4eVJpeEZRVUZMY0VZc1QwRkJUMVVzVVVGQlVXcENMRXRCUVUxcVJDeExRVUZMYVVvc1NVRkJTVXdzUlVGQlMzQkdMRTlCUVU5TkxFMUJRM2hHT0VVc1JVRkJTM1JJTEV0QlFVdDNReXhOUVVGUmQwWXNSVUZEYkVKV0xFVkJRVXR3Uml4UFFVRlBWU3hSUVVGUmFrSXNTMEZEY0VJeVJpeEZRVUZMZEVnc1MwRkJTekJETEU5QlFVOW1MRXRCUTJwQ01rWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOW9RaXhMUVVOdVFqSkdMRVZCUVV0d1JpeFBRVUZQVXl4UFFVRlBaaXhOUVVGUGMwY3NSVUZCVDNSRUxFbEJRM0pEYzBRc1JVRkJUM0pFTEVWQlFVbHVSeXhMUVVGTGEwb3NTMEZCUzA0c1JVRkJTM1JJTEV0QlFVc3dReXhQUVVGUFlpeEpRVUZOZVVZc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGbUxFbEJRVXR1UkN4TFFVRkxhVW9zU1VGQlNVd3NSVUZCUzNCR0xFOUJRVTlQTEU5QlEzUkdOa1VzUlVGQlMzUklMRXRCUVV0NVF5eFBRVUZUZFVZc1JVRkRia0pXTEVWQlFVdHdSaXhQUVVGUFZTeFJRVUZSWml4SlFVTndRbmxHTEVWQlFVdDBTQ3hMUVVGTE1FTXNUMEZCVDJJc1NVRkRha0o1Uml4RlFVRkxjRVlzVDBGQlQxTXNUMEZCVDJRc1NVRkRia0o1Uml4RlFVRkxjRVlzVDBGQlQxTXNUMEZCVDJJc1QwRkJVVzlITEVWQlFVOXlSQ3hUUVVWeVF5eEhRVUZ4UWl4WlFVRnFRbWxETEVWQlFVdFBMRkZCUVhWQ0xFTkJRMnBETEVsQlEwbGxMRWRCUkVGa0xFVkJRVTl5Uml4RlFVRmpha01zU1VGRFNrRXNTMEZCUzNkRExFMUJRVkZ6UXl4RlFVTTVRblZFTEVWQlFXRm1MRVZCUVV0MFNDeExRVUZMZVVNc1QwRkJVM0ZETEVWQlEyaERkMFFzUlVGQlkwWXNSVUZCV1Vvc1JVRkRNVUpQTEVWQlFXVkdMRVZCUVdGTUxFVkJRelZDVVN4SFFVRnJRa1lzUlVGQlkwWXNSMEZCWVN4RlFVTTNRMHNzUjBGQlowSkdMRVZCUVdWR0xFZEJRV01zUlVGRE4wTkxMRXRCUVZWS0xFVkJRV05vUWl4RlFVRkxjRVlzVDBGQlQwMHNUMEZEY0VNNFJTeEZRVUZMY0VZc1QwRkJUMVVzVVVGQlVXcENMRXRCUTNCQ01rWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOW9RaXhMUVVOdVFqSkdMRVZCUVV0d1JpeFBRVUZQVXl4UFFVRlBaaXhOUVVOdVFqUkhMRWRCUTBGU0xFVkJRMEZYTEVkQlFWRklMRVZCUVdsQ2JFSXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRnFRaXhOUVVGUmNVY3NSVUZEZWtSRkxFVkJRVTkwUkN4RlFVRkpiRWNzUzBGQlMydEtMRWxCUVVsc1NpeExRVUZMYVVvc1NVRkJTVThzUlVGQlQzUkVMRVZCUVVjclJDeEhRVUZQUkN4SFFVTTVReXhKUVVGSlJTeExRVUZWVEN4RlFVRmxha0lzUlVGQlMzQkdMRTlCUVU5UExGRkJRM0pETmtVc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGbUxFbEJRM0JDZVVZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5a0xFbEJRMjVDZVVZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5aUxFOUJRMjVDTWtjc1IwRkRRVlFzUlVGRFFXRXNSMEZCVVVvc1JVRkJaVzVDTEVWQlFVdHdSaXhQUVVGUFZTeFJRVUZSWml4TFFVRlBiVWNzUlVGRGRFUkZMRVZCUVU5eVJDeEZRVUZKYmtjc1MwRkJTMnRLTEVsQlFVbHNTaXhMUVVGTGFVb3NTVUZCU1U4c1JVRkJUM0pFTEVWQlFVZG5SU3hIUVVGUFJDeEhRVVZzUkN4UFFVRlBWaXhGUVVWWUxGTkJRVk5aTEVWQlFXVmtMRVZCUVZObExFZEJRemRDTEVsQlFVbHFReXhGUVVGUGNrc3NSVUZCVTBFc1JVRkJVeXhIUVVGSkswa3NSMEZCVlhWRUxFZEJRM1pEWWl4RlFVRlRMRU5CUVVWd1JDeE5RVUZQUVN4RlFVRlBaME1zUzBGQlRVRXNSMEZEYmtNc1QwRkJTMEVzUlVGQlMzRkNMRTlCUVZOeVFpeEZRVUZMY0VRc1dVRkRZbmRGTEVkQlJWaEJMRVZCUVU5d1JDeE5RVUZSY0Vjc1MwRkJTMmxLTEVsQlFVbHFTaXhMUVVGTGEwb3NTVUZCU1Vrc1JVRkJVMnhDTEVWQlFVdDRReXhWUVVGWGQwTXNSVUZCUzNwRExGVkJRM2hFTmtRc1IwRkZXQ3hUUVVGVFl5eEZRVUZKYkVJc1JVRkJTME1zUlVGQlMwVXNSMEZEYmtJc1NVRkJTVU1zUlVGQlUwd3NSVUZCV1VNc1JVRkJTME1zUlVGQlMycEVMRVZCUVU5dFJDeEhRVU4wUTI1Q0xFVkJRVTl2UWl4RlFVRlBjRUlzUzBGSGJFSXNUMEZHUVd4RExFVkJRVWx6UkN4RlFVRlBkRVFzUlVGRFdFTXNSVUZCU1hGRUxFVkJRVTl5UkN4RlFVTktiME1zUlVGQmMwSXNZVUZCWTBnc1IwRkZMME1zVTBGQlUyMURMRVZCUVV0cVFpeEZRVUZUWlN4SFFVTnVRaXhKUVVGSllpeEZRVUZUV1N4RlFVRmxaQ3hGUVVGVFpTeEhRVU5xUTJwRExFVkJRVTl2UWl4RlFVRlBjRUlzUzBGRGJFSXNSMEZCUzBFc1JVRkJTM0ZDTEZGQlFWTnlRaXhGUVVGTGNFUXNXVUZCZUVJc1EwRkhRWE5GTEVWQlFWVkZMRVZCUVU5d1JDeE5RVU5xUWl4SlFVRkpaMFFzUlVGQlRXeEVMRVZCUTA1dFJDeEZRVUZOYkVRc1JVRkRWaXhIUVVGSmFVTXNSVUZCUzI5RExFMUJRVThzUTBGSldpeEpRVUZKUVN4RlFVRlJjRU1zUlVGQlMyOURMRTFCUTJwQ2NFSXNSMEZCVDI5Q0xFVkJRVTEwUlN4RlFVRkpiMFFzUlVGQlZXdENMRVZCUVUxMFJTeEZRVUZKUlN4RlFVRlJSaXhGUVVGSmIwUXNSMEZCVjBFc1JVRkROVVJFTEVkQlFVOXRRaXhGUVVGTmNrVXNSVUZCU1cxRUxFVkJRVlZyUWl4RlFVRk5ja1VzUlVGQlNVTXNSVUZCVVVRc1JVRkJTVzFFTEVkQlFWZEJMRVZCUldoRkxFbEJRVWx0UWl4RlFVRlpkRUlzUlVGQldVTXNSVUZCUzBNc1JVRkJTME1zUlVGQlV5eERRVUZGZGtRc1ZVRkJWU3hGUVVGUE1FUXNUMEZCVHl4SlFVbDZSU3hQUVVoQmRrUXNSVUZCU1hWRkxFVkJRVlYyUlN4RlFVTmtReXhGUVVGSmMwVXNSVUZCVlhSRkxFVkJRMlJETEVWQlFWRnJSQ3hGUVVORVppeEZRVUZ6UWl4alFVRmxTQ3hKUVVWb1JDeFRRVUZUYzBNc1JVRkJWVU1zUlVGQlRVNHNSMEZEY2tJc1NVRkJTV3BETEVWQlFVOXlTeXhGUVVGVFFTeEZRVUZUUVN4RlFVRlRMRWRCUVVrclNTeEhRVUZWTEVOQlFVVnNReXhUUVVGVExFbEJRVk41Uml4SFFVTjRSU3hQUVVGUFJTeEZRVUZMYmtVc1JVRkJVWEJITEV0QlFVczBTeXhMUVVGTFJDeEZRVUZQTEVkQlFVc3NSMEZCUzNaRExFVkJRVXQ0UWl4TlFVRlBkMElzUjBGUkwwUXNVMEZCVTNsRExFVkJRVmwyUWl4RlFVRlRkMElzUlVGQlQxUXNSMEZEYWtNc1NVRkJTWHBDTEVWQlFVOXlSaXhGUVVGamFrTXNSMEZMY2tKNVNpeEZRVU5QYmtNc1JVRkJTM0JHTEU5QlFVOU5MRTFCUTJZNFJTeEZRVUZMY0VZc1QwRkJUMVVzVVVGQlVXcENMRXRCUTNCQ01rWXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRm9RaXhOUVVOd1FqQkdMRVZCUVV0d1JpeFBRVUZQVXl4UFFVRlBhRUlzUzBGRGJrSXlSaXhGUVVGTGNFWXNUMEZCVDFNc1QwRkJUMllzVFVGTWRrSTJTQ3hGUVUxUmJrTXNSVUZCUzNCR0xFOUJRVTlQTEU5QlEyaENOa1VzUlVGQlMzQkdMRTlCUVU5VkxGRkJRVkZtTEVsQlEzQkNlVVlzUlVGQlMzQkdMRTlCUVU5VkxGRkJRVkZrTEU5QlEzQkNkMFlzUlVGQlMzQkdMRTlCUVU5VExFOUJRVTlrTEVsQlEyNUNlVVlzUlVGQlMzQkdMRTlCUVU5VExFOUJRVTlpTEU5QlNYWkNka1FzUlVGQlZXbE1MRVZCUVUxcVRDeFJRVU5vUWl0SkxFVkJRVXR3Uml4UFFVRlBVQ3hMUVVOYU1rWXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRnFRaXhMUVVOd1FqSkdMRVZCUVV0d1JpeFBRVUZQVXl4UFFVRlBhRUlzUzBGRGJrSXlSaXhGUVVGTGRFZ3NTMEZCU3pCRExFOUJRVTltTEV0QlEycENia1FzUlVGQlZXZE1MRVZCUVUxb1RDeFJRVU5vUWpoSkxFVkJRVXR3Uml4UFFVRlBUQ3hKUVVOYWVVWXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRm1MRWxCUTNCQ2VVWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOWtMRWxCUTI1Q2VVWXNSVUZCUzNSSUxFdEJRVXN3UXl4UFFVRlBZaXhKUVVkb1FtdEVMRWxCUTBSNFJ5eEhRVUZYSzBrc1JVRkJTM1JJTEV0QlFVdDNReXhOUVVGUmMwTXNSVUZCVVN4RlFVTnlRM1JITEVkQlFWYzRTU3hGUVVGTGRFZ3NTMEZCUzNsRExFOUJRVk54UXl4RlFVRlJMRWRCU3pGRExFbEJRVWx2UlN4RlFVRlJMRU5CUTFKMFJTeEZRVUZKY2tjc1JVRkJWV3RNTEVkQlFYZENRU3hGUVVGelFucENMRWRCUXpWRWJrUXNSVUZCU1hKSExFVkJRVlZwVEN4SFFVRjVRa0VzUlVGQmRVSjZRaXhKUVVWc1JTeFBRVUZQYVVJc1JVRkJTMnBDTEVWQlFWTjJUQ3hGUVVGVFFTeEZRVUZUTEVOQlFVVTJSeXhUUVVGVExFZEJRVk41Uml4SFFVRmpMRU5CUVVWSExFMUJRVTlCTEV0QmRFMTBSa1FzUlVGQlMzcEVMRVZCUVZGSUxGZEJRVmtzUTBGQlJTOUNMRk5CUVZNc1NVRkpjRU52Unl4WFFVRlhMRmRCUTFCMFF5eEpRVU5CTkVJc1JVRkJTWGhFTEVWQlFWRk1MRTlCUVZGTExFVkJRVkZLTEU5QlFWRXNRMEZCUlRsQ0xGTkJRVk1zVFVFeVRtNUVMRWxCUVVrNVJpeEZRVUZYTEVkQlEyWXNVMEZCVTIxTkxFVkJRVmRzVFN4SFFVVm9RaXhKUVd4V1VpeFRRVUZ2UW5WRExFVkJRVTEzUml4SFFVTjBRaXhKUVVGTExFbEJRVWx2UlN4RlFVRk5OVW9zUlVGQllTeE5RVUZRTkVvc1JVRkJZVUVzUlVGQlRVRXNSVUZCU1hwSUxGZEJRM2hETEVkQlFVbFZMRVZCUVZNclJ5eEZRVUZMY0VVc1JVRkJVWGhDTEdWQlFXbENkMElzUlVGQlVYcENMRkZCUVZGYUxGRkJRVkY1Unl4SlFVRlJMRVZCUTNaRkxFOUJRVThzUlVGSFppeFBRVUZQTEVWQk5GVkRReXhEUVVGWGNFMHNSVUZCVFhGTkxFOUJRVkYwUlN4SFFVRTNRaXhEUVVkQk4wZ3NSVUZCVjBnc1JVRkJWVU1zUjBGRGNrSnJTaXhIUVVGWkxFVkJRMXB1UWl4RlFVRlJka0lzYVVKQlFXbENlRWNzUjBGRGVrSTJTU3hGUVVGUk1VSXNSVUZEVWpKQ0xFVkJRVkV4UWl4RlFVTlNLMElzUlVGQlVTeGxRVUZuUWl4RFFVRkZhRU1zUlVGQlIwRXNSVUZCUjBNc1JVRkJSMEVzUlVGQlIwTXNUVUZCVDBFc1IwRkJVMVVzUjBGSGRFUXNTVUZCU1dkRkxFVkJRVkYwVEN4RlFVRlZWaXhIUVVOMFFtZEtMRVZCUVdWblJDeEZRVUZOYWt3c1VVRkRja0pyU1N4RlFVRmxLME1zUlVGQlRXaE1MRkZCUTNKQ05rY3NSVUZCWVZBc1JVRkRZalJDTEVWQlFXZENha2tzUlVGQldXcENMRWxCUldoRExGTkJRVk54UXl4RlFVRkxjRU1zUjBGRFZpeEhRVUZMYTBvc1VVRkRVMjlFTEVsQlFWWjZSQ3hSUVVOVmVVUXNTVUZCVm5oRUxGRkJRMmxDZDBRc1NVRkJha0oyUkN4UlFVTnBRblZFTEVsQlFXcENkRVFzUlVGS1NpeERRVTlCT1Vrc1JVRkJWMGdzUlVGQlZVTXNSMEZEY2tJc1NVRkJTWFZOTEVWQlFWVTVUQ3hGUVVGVlZpeEhRVU40UWl4SFFVRkpRU3hGUVVGVFVDeFBRVUZUTEVWQlMyeENjMDBzUlVGRVkxUXNSMEZFU0hKTExFVkJRVmxxUWl4SFFVRlphMG9zUjBGRFJXeENMRVZCUVZGR0xFdEJRVkVzUjBGQlMwUXNSMEZCV1ZBc1RVRkRha1JyUml4SFFVVjZRbWhDTEVWQlFVa3hReXhIUVVGVE1FUXNSVUZCVVhwTUxGRkJRVlZwU1N4SFFVRm5RakZDTEVWQlFVOTVRaXhIUVVGVGVVUXNSVUZCVVhoTUxGRkJRVlZwU1N4SFFVRm5Rak5DTEVWQlFVOHNRMEZEY0VkNFFpeFRRVUZUTEV0QlIycENMRk5CUVZNeVJ5eEZRVUZUZUUwc1IwRkhWU3hKUVVGd1FrUXNSVUZCVTFBc1VVRkRWREpLTEVWQlFWRXNZVUZCWXl4RFFVRkZhRU1zUlVGQlIwRXNSVUZCUjBNc1JVRkJSMEVzUlVGQlIwTXNUVUZCVDBFc1IwRkJVMVVzUjBFdmEwSm9SU3hUUVVGMVFtaEpMRVZCUVZWRExFZEJSVGRDTEVkQlFVbEJMRVZCUVUxSExGRkJSVTRzUzBGQlQwb3NSVUZCVTFBc1VVRkRXazhzUlVGQlUyTXNWVUZJYWtJc1EwRlBRU3hKUVVGSmVFSXNSVUZCU1ZNc1JVRkJaVU1zUlVGQlZVTXNSMEZETjBKWUxFZEJRVXNzUjBGRFRGVXNSVUZCVTFFc1QwRkJUMnhDTEVWQlFVY3NTVUY1YTBKdVFtOU9MRU5CUVdNeFRTeEZRVUZWUXl4SFFVTnVRbXRLTEVsQlIweEJMRWRCUVZrc1JVRkRXa3dzUlVGQlVVTXNSVUZCVVVNc1JVRkJaVU1zVDBGQlpYTkVMRWRCUld4RUxFbEJRVWxKTEVkQlFWRXNSVUZEV2l4VFFVRlRReXhKUVVORVJDeEpRVWRLUVN4SFFVRlJMRVZCUTFKd1N5eEZRVUZWTEU5QlFWRjVSaXhGUVVGUmFrTXNUMEZCVTNKQ0xFVkJRVk5zUXl4RlFVRk5Na29zUjBGRGJFUTFTaXhGUVVGVkxFOUJRVkZRTEZOQlFWVkxMRVZCUVUwc1EwRkJSWGRMTEZOQlFWTXNTVUZETjBOMFN5eEZRVUZWTEV0QlFVMVFMRk5CUVZWNVN5eEZRVUZWTEVOQlFVVkpMRk5CUVZNc1MwRlhia1FzVDBGSVN6ZEZMRVZCUVZFNFJTeFJRVU5VUml4SlFVVkhMRU5CUTBoQkxFdEJRVTFCTEVWQlEwNUhMRkZCV0Vvc1YwRkRTVW9zUjBGQlVTeEZRVU5TTjBvc1JVRkJaU3hQUVVGUmEwWXNSVUZCVVdwRExFOUJRVk55UWl4RlFVRlRiRU1zUlVGQlRUSktMRWRCUTNaRWNrb3NSVUZCWlN4UFFVRlJaQ3hUUVVGVlN5eEhRVU5xUTFNc1JVRkJaU3hMUVVGTlpDeFRRVUZWZVVzc1NVRlJMMEpQTEZkQlFWazNTeXhGUVVOYU9Fc3NUMEZCVVN4WFFVRmpMRTFCUVU4c1EwRkJSemRHTEVWQlFVZEJMRVZCUVVkRExFVkJRVWRCTEVsQlEzcEROa1lzVTBGQlZTeFhRVUZqTEU5QlFVODFSaXhIUVVNdlFqWkdMRmRCUVZrc1YwRkJZeXhQUVM5WmJFTXNVMEZCYzBKRExFZEJRMnhDTEVsQlFVbERMRVZCUVZFc1IwRkRXaXhKUVVGTExFbEJRVWxETEV0QlFVOUdMRVZCUTFKQkxFVkJRVWw0VGl4bFFVRmxNRTRzUzBGRGJrSkVMRVZCUVUxRExFZEJRVTlHTEVWQlFVbEZMRWxCUjNwQ0xFOUJRVTlFTEVWQmQxazRRa1VzUTBGQllYWkdMRWxCUXpsRGQwUXNTVUZCUzBFc1JVRkRUR2RETEUxQmJFZEtMRk5CUVdWRExFZEJRMWdzU1VGQlNXNUZMRVZCUVU5eVN5eEZRVUZUUVN4RlFVRlRRU3hGUVVGVExFZEJRVWtyU1N4SFFVRlZMRU5CUVVWc1F5eFRRVUZUTEVWQlFVMDJSU3hQUVVGUExFbEJRVk00UXl4SFFVTnlSbTVITEVWQlFWRm5SU3hGUVVGbGFFTXNSVUZCUzNwQ0xGZEJRVmw1UWl4SFFVRk5hRU1zVFVGRE9VTXNTVUZCU1hGRkxFVkJRVmwwUWl4RlFVRlpaaXhGUVVGTE0wSXNUMEZCVVRKQ0xFVkJRVXN4UWl4UFFVRlJUaXhGUVVGUFowTXNSMEZITjBRc1QwRkdRV3hETEVWQlFVbDFSU3hGUVVGVmRrVXNSVUZEWkVNc1JVRkJTWE5GTEVWQlFWVjBSU3hGUVVOUWIwTXNSVUZCYzBJc1pVRkJaMEpJTEVsQk5rWTNRMjlGTEZkQmJGWktMRk5CUVc5Q2NFVXNSMEZGYUVJc1NVRkJTeXhKUVVGSlowVXNWVUZFU1N4SlFVRlVhRVVzU1VGQmJVSkJMRVZCUVU4c1NVRkRaRUVzUlVGRFVrRXNSVUZCU3pGS0xHVkJRV1V3VGl4TFFVTndRblJHTEVWQlFWRnpSaXhIUVVGUGFFVXNSVUZCUzJkRkxFbEJTWGhDYUVVc1JVRkJTekZLTEdWQlFXVXNXVUZEY0VJMFF5eEZRVUZMWlN4TlFVRk5lVU1zVDBGQlUzTkVMRVZCUVV0MFJDeFJRVVY2UW5ORUxFVkJRVXN4U2l4bFFVRmxMR05CUTNCQ09FVXNSVUZCVDI1Q0xFMUJRVTEzUkN4VFFVRlhkVU1zUlVGQlMzWkRMRlZCUlRkQ2RVTXNSVUZCU3pGS0xHVkJRV1VzYVVKQlEzQkNPRVVzUlVGQlQyNUNMRTFCUVUxM1JTeFpRVUZqZFVJc1JVRkJTM1pDTEZsQlEyaERka1lzUlVGQlMyVXNUVUZCVFhkRkxGbEJRV04xUWl4RlFVRkxka0lzWTBGRk9VSjFRaXhGUVVGTE1Vb3NaVUZCWlN4aFFVTndRakJLTEVWQlFVc3hTaXhsUVVGbExHRkJRM0JDTUVvc1JVRkJTekZLTEdWQlFXVXNZVUZEY0VKblN5eExRVGhVU25KR0xGTkJRVlVzVTBGQlZUTkNMRVZCUVUwMFFpeEhRVUZUTEU5QlFVOUVMRVZCUVZNdlFpeEZRVUZOU1N4RlFVRk5ORUlzU1VGREwwUnBTQ3hMUVVGTlFTeEZRVU5PYTBNc1QwRndTMG9zVTBGQlowSndReXhIUVVOYUxFOUJRVTlMTEVkQlFWVXNSVUZCVFV3c1NVRnZTM1pDY1VNc1VVRnNTMG9zVTBGQmFVSnlReXhIUVVOaUxFOUJRVTlMTEVkQlFWVXNSVUZCVDB3c1NVRnJTM2hDVVN4WlFVRmhRU3hGUVVOaU9FSXNZMEZ3U0Vvc1UwRkJkVUkxVGl4RlFVRlBjMHdzUjBGSE1VSjBUQ3hGUVVGTk1FY3NhVUpCUTA0c1NVRkJTVEpETEVWQlFVOXlTeXhGUVVGVFFTeEZRVUZUTEVkQlFVa3JTU3hIUVVGVmRVUXNSMEZIZGtOMVF5eEhRVVI1UWl4SlFVRnFRamRPTEVWQlFVMDRUaXhSUVVGblFqbE9MRVZCUVUwclRpeFBRVUZUTDA0c1JVRkJUU3RPTEU5QlFWTXZUaXhGUVVGTk9FNHNVVUZEYkVRc1JVRkJTU3hIUVVGTExFVkJSVGRDTEU5QlFVOW9ReXhGUVVSUFZDeEZRVUZsYUVVc1JVRkJVWEJITEV0QlFVczBTeXhKUVVGTFowTXNSVUZCVVhoRkxFVkJRVXQ0UWl4TFFVRlJMRWRCUVVsM1FpeEhRVUZOYUVNc1RVRkRiRVJ5U0N4RlFVRlBjVW9zUzBGblNETkRMRTlCUmtGMlN5eEZRVUZST0Vjc1pVRkJhVUpCTEVWQlJXeENPVWNpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OUFjR0Z1ZW05dmJTOXdZVzU2YjI5dEwyUnBjM1F2Y0dGdWVtOXZiUzVxY3lKOSIsIm1vZHVsZS5leHBvcnRzPXJlcXVpcmUoXCIuL2xpYi9heGlvc1wiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p5WlhGMWFYSmxJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVUVzVDBGQlQwTXNVVUZCVlVNc1VVRkJVU0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwyRjRhVzl6TDJsdVpHVjRMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi8uLi91dGlsc1wiKSxzZXR0bGU9cmVxdWlyZShcIi4vLi4vY29yZS9zZXR0bGVcIiksY29va2llcz1yZXF1aXJlKFwiLi8uLi9oZWxwZXJzL2Nvb2tpZXNcIiksYnVpbGRVUkw9cmVxdWlyZShcIi4vLi4vaGVscGVycy9idWlsZFVSTFwiKSxidWlsZEZ1bGxQYXRoPXJlcXVpcmUoXCIuLi9jb3JlL2J1aWxkRnVsbFBhdGhcIikscGFyc2VIZWFkZXJzPXJlcXVpcmUoXCIuLy4uL2hlbHBlcnMvcGFyc2VIZWFkZXJzXCIpLGlzVVJMU2FtZU9yaWdpbj1yZXF1aXJlKFwiLi8uLi9oZWxwZXJzL2lzVVJMU2FtZU9yaWdpblwiKSxjcmVhdGVFcnJvcj1yZXF1aXJlKFwiLi4vY29yZS9jcmVhdGVFcnJvclwiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocix0KXt2YXIgcz1lLmRhdGEsbz1lLmhlYWRlcnM7dXRpbHMuaXNGb3JtRGF0YShzKSYmZGVsZXRlIG9bXCJDb250ZW50LVR5cGVcIl07dmFyIGE9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKGUuYXV0aCl7dmFyIG49ZS5hdXRoLnVzZXJuYW1lfHxcIlwiLGk9ZS5hdXRoLnBhc3N3b3JkP3VuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChlLmF1dGgucGFzc3dvcmQpKTpcIlwiO28uQXV0aG9yaXphdGlvbj1cIkJhc2ljIFwiK2J0b2EobitcIjpcIitpKX12YXIgdT1idWlsZEZ1bGxQYXRoKGUuYmFzZVVSTCxlLnVybCk7aWYoYS5vcGVuKGUubWV0aG9kLnRvVXBwZXJDYXNlKCksYnVpbGRVUkwodSxlLnBhcmFtcyxlLnBhcmFtc1NlcmlhbGl6ZXIpLCEwKSxhLnRpbWVvdXQ9ZS50aW1lb3V0LGEub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoYSYmND09PWEucmVhZHlTdGF0ZSYmKDAhPT1hLnN0YXR1c3x8YS5yZXNwb25zZVVSTCYmMD09PWEucmVzcG9uc2VVUkwuaW5kZXhPZihcImZpbGU6XCIpKSl7dmFyIHM9XCJnZXRBbGxSZXNwb25zZUhlYWRlcnNcImluIGE/cGFyc2VIZWFkZXJzKGEuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpOm51bGwsbz17ZGF0YTplLnJlc3BvbnNlVHlwZSYmXCJ0ZXh0XCIhPT1lLnJlc3BvbnNlVHlwZT9hLnJlc3BvbnNlOmEucmVzcG9uc2VUZXh0LHN0YXR1czphLnN0YXR1cyxzdGF0dXNUZXh0OmEuc3RhdHVzVGV4dCxoZWFkZXJzOnMsY29uZmlnOmUscmVxdWVzdDphfTtzZXR0bGUocix0LG8pLGE9bnVsbH19LGEub25hYm9ydD1mdW5jdGlvbigpe2EmJih0KGNyZWF0ZUVycm9yKFwiUmVxdWVzdCBhYm9ydGVkXCIsZSxcIkVDT05OQUJPUlRFRFwiLGEpKSxhPW51bGwpfSxhLm9uZXJyb3I9ZnVuY3Rpb24oKXt0KGNyZWF0ZUVycm9yKFwiTmV0d29yayBFcnJvclwiLGUsbnVsbCxhKSksYT1udWxsfSxhLm9udGltZW91dD1mdW5jdGlvbigpe3ZhciByPVwidGltZW91dCBvZiBcIitlLnRpbWVvdXQrXCJtcyBleGNlZWRlZFwiO2UudGltZW91dEVycm9yTWVzc2FnZSYmKHI9ZS50aW1lb3V0RXJyb3JNZXNzYWdlKSx0KGNyZWF0ZUVycm9yKHIsZSxcIkVDT05OQUJPUlRFRFwiLGEpKSxhPW51bGx9LHV0aWxzLmlzU3RhbmRhcmRCcm93c2VyRW52KCkpe3ZhciBsPShlLndpdGhDcmVkZW50aWFsc3x8aXNVUkxTYW1lT3JpZ2luKHUpKSYmZS54c3JmQ29va2llTmFtZT9jb29raWVzLnJlYWQoZS54c3JmQ29va2llTmFtZSk6dm9pZCAwO2wmJihvW2UueHNyZkhlYWRlck5hbWVdPWwpfWlmKFwic2V0UmVxdWVzdEhlYWRlclwiaW4gYSYmdXRpbHMuZm9yRWFjaChvLGZ1bmN0aW9uKGUscil7dm9pZCAwPT09cyYmXCJjb250ZW50LXR5cGVcIj09PXIudG9Mb3dlckNhc2UoKT9kZWxldGUgb1tyXTphLnNldFJlcXVlc3RIZWFkZXIocixlKX0pLHV0aWxzLmlzVW5kZWZpbmVkKGUud2l0aENyZWRlbnRpYWxzKXx8KGEud2l0aENyZWRlbnRpYWxzPSEhZS53aXRoQ3JlZGVudGlhbHMpLGUucmVzcG9uc2VUeXBlKXRyeXthLnJlc3BvbnNlVHlwZT1lLnJlc3BvbnNlVHlwZX1jYXRjaChyKXtpZihcImpzb25cIiE9PWUucmVzcG9uc2VUeXBlKXRocm93IHJ9XCJmdW5jdGlvblwiPT10eXBlb2YgZS5vbkRvd25sb2FkUHJvZ3Jlc3MmJmEuYWRkRXZlbnRMaXN0ZW5lcihcInByb2dyZXNzXCIsZS5vbkRvd25sb2FkUHJvZ3Jlc3MpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUub25VcGxvYWRQcm9ncmVzcyYmYS51cGxvYWQmJmEudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoXCJwcm9ncmVzc1wiLGUub25VcGxvYWRQcm9ncmVzcyksZS5jYW5jZWxUb2tlbiYmZS5jYW5jZWxUb2tlbi5wcm9taXNlLnRoZW4oZnVuY3Rpb24oZSl7YSYmKGEuYWJvcnQoKSx0KGUpLGE9bnVsbCl9KSxzfHwocz1udWxsKSxhLnNlbmQocyl9KX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmhvY2k1cWN5SmRMQ0p1WVcxbGN5STZXeUoxZEdsc2N5SXNJbkpsY1hWcGNtVWlMQ0p6WlhSMGJHVWlMQ0pqYjI5cmFXVnpJaXdpWW5WcGJHUlZVa3dpTENKaWRXbHNaRVoxYkd4UVlYUm9JaXdpY0dGeWMyVklaV0ZrWlhKeklpd2lhWE5WVWt4VFlXMWxUM0pwWjJsdUlpd2lZM0psWVhSbFJYSnliM0lpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVkyOXVabWxuSWl3aVVISnZiV2x6WlNJc0luSmxjMjlzZG1VaUxDSnlaV3BsWTNRaUxDSnlaWEYxWlhOMFJHRjBZU0lzSW1SaGRHRWlMQ0p5WlhGMVpYTjBTR1ZoWkdWeWN5SXNJbWhsWVdSbGNuTWlMQ0pwYzBadmNtMUVZWFJoSWl3aWNtVnhkV1Z6ZENJc0lsaE5URWgwZEhCU1pYRjFaWE4wSWl3aVlYVjBhQ0lzSW5WelpYSnVZVzFsSWl3aWNHRnpjM2R2Y21RaUxDSjFibVZ6WTJGd1pTSXNJbVZ1WTI5a1pWVlNTVU52YlhCdmJtVnVkQ0lzSWtGMWRHaHZjbWw2WVhScGIyNGlMQ0ppZEc5aElpd2lablZzYkZCaGRHZ2lMQ0ppWVhObFZWSk1JaXdpZFhKc0lpd2liM0JsYmlJc0ltMWxkR2h2WkNJc0luUnZWWEJ3WlhKRFlYTmxJaXdpY0dGeVlXMXpJaXdpY0dGeVlXMXpVMlZ5YVdGc2FYcGxjaUlzSW5ScGJXVnZkWFFpTENKdmJuSmxZV1I1YzNSaGRHVmphR0Z1WjJVaUxDSnlaV0ZrZVZOMFlYUmxJaXdpYzNSaGRIVnpJaXdpY21WemNHOXVjMlZWVWt3aUxDSnBibVJsZUU5bUlpd2ljbVZ6Y0c5dWMyVklaV0ZrWlhKeklpd2laMlYwUVd4c1VtVnpjRzl1YzJWSVpXRmtaWEp6SWl3aWNtVnpjRzl1YzJVaUxDSnlaWE53YjI1elpWUjVjR1VpTENKeVpYTndiMjV6WlZSbGVIUWlMQ0p6ZEdGMGRYTlVaWGgwSWl3aWIyNWhZbTl5ZENJc0ltOXVaWEp5YjNJaUxDSnZiblJwYldWdmRYUWlMQ0owYVcxbGIzVjBSWEp5YjNKTlpYTnpZV2RsSWl3aWFYTlRkR0Z1WkdGeVpFSnliM2R6WlhKRmJuWWlMQ0o0YzNKbVZtRnNkV1VpTENKM2FYUm9RM0psWkdWdWRHbGhiSE1pTENKNGMzSm1RMjl2YTJsbFRtRnRaU0lzSW5KbFlXUWlMQ0oxYm1SbFptbHVaV1FpTENKNGMzSm1TR1ZoWkdWeVRtRnRaU0lzSW1admNrVmhZMmdpTENKMllXd2lMQ0pyWlhraUxDSjBiMHh2ZDJWeVEyRnpaU0lzSW5ObGRGSmxjWFZsYzNSSVpXRmtaWElpTENKcGMxVnVaR1ZtYVc1bFpDSXNJbVVpTENKdmJrUnZkMjVzYjJGa1VISnZaM0psYzNNaUxDSmhaR1JGZG1WdWRFeHBjM1JsYm1WeUlpd2liMjVWY0d4dllXUlFjbTluY21WemN5SXNJblZ3Ykc5aFpDSXNJbU5oYm1ObGJGUnZhMlZ1SWl3aWNISnZiV2x6WlNJc0luUm9aVzRpTENKallXNWpaV3dpTENKaFltOXlkQ0lzSW5ObGJtUWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1NVRkJTVUVzVFVGQlVVTXNVVUZCVVN4alFVTm9Ra01zVDBGQlUwUXNVVUZCVVN4dlFrRkRha0pGTEZGQlFWVkdMRkZCUVZFc2QwSkJRMnhDUnl4VFFVRlhTQ3hSUVVGUkxIbENRVU51UWtrc1kwRkJaMEpLTEZGQlFWRXNlVUpCUTNoQ1N5eGhRVUZsVEN4UlFVRlJMRFpDUVVOMlFrMHNaMEpCUVd0Q1RpeFJRVUZSTEdkRFFVTXhRazhzV1VGQlkxQXNVVUZCVVN4MVFrRkZNVUpSTEU5QlFVOURMRkZCUVZVc1UwRkJiMEpETEVkQlEyNURMRTlCUVU4c1NVRkJTVU1zVVVGQlVTeFRRVUUwUWtNc1JVRkJVME1zUjBGRGRFUXNTVUZCU1VNc1JVRkJZMG9zUlVGQlQwc3NTMEZEY2tKRExFVkJRV2xDVGl4RlFVRlBUeXhSUVVWNFFteENMRTFCUVUxdFFpeFhRVUZYU2l4WFFVTmFSU3hGUVVGbExHZENRVWQ0UWl4SlFVRkpSeXhGUVVGVkxFbEJRVWxETEdWQlIyeENMRWRCUVVsV0xFVkJRVTlYTEV0QlFVMHNRMEZEWml4SlFVRkpReXhGUVVGWFdpeEZRVUZQVnl4TFFVRkxReXhWUVVGWkxFZEJRMjVEUXl4RlFVRlhZaXhGUVVGUFZ5eExRVUZMUlN4VFFVRlhReXhUUVVGVFF5eHRRa0ZCYlVKbUxFVkJRVTlYTEV0QlFVdEZMRmRCUVdFc1IwRkRNMFpRTEVWQlFXVlZMR05CUVdkQ0xGTkJRVmRETEV0QlFVdE1MRVZCUVZjc1NVRkJUVU1zUjBGSGJFVXNTVUZCU1Vzc1JVRkJWM2hDTEdOQlFXTk5MRVZCUVU5dFFpeFJRVUZUYmtJc1JVRkJUMjlDTEV0Qk5FVndSQ3hIUVRORlFWZ3NSVUZCVVZrc1MwRkJTM0pDTEVWQlFVOXpRaXhQUVVGUFF5eGpRVUZsT1VJc1UwRkJVM2xDTEVWQlFWVnNRaXhGUVVGUGQwSXNUMEZCVVhoQ0xFVkJRVTk1UWl4dFFrRkJiVUlzUjBGSGRFZG9RaXhGUVVGUmFVSXNVVUZCVlRGQ0xFVkJRVTh3UWl4UlFVZDZRbXBDTEVWQlFWRnJRaXh0UWtGQmNVSXNWMEZETTBJc1IwRkJTMnhDTEVkQlFXdERMRWxCUVhaQ1FTeEZRVUZSYlVJc1lVRlJSQ3hKUVVGdVFtNUNMRVZCUVZGdlFpeFJRVUZyUW5CQ0xFVkJRVkZ4UWl4aFFVRjNSQ3hKUVVGNlEzSkNMRVZCUVZGeFFpeFpRVUZaUXl4UlFVRlJMRlZCUVdwR0xFTkJTMEVzU1VGQlNVTXNSVUZCYTBJc01FSkJRVEpDZGtJc1JVRkJWV1FzWVVGQllXTXNSVUZCVVhkQ0xIbENRVUV5UWl4TFFVVjJSME1zUlVGQlZ5eERRVU5pTjBJc1MwRkdhMEpNTEVWQlFVOXRReXhqUVVGM1F5eFRRVUY0UW01RExFVkJRVTl0UXl4aFFVRnBSREZDTEVWQlFWRjVRaXhUUVVFdlFucENMRVZCUVZFeVFpeGhRVWRzUmxBc1QwRkJVWEJDTEVWQlFWRnZRaXhQUVVOb1FsRXNWMEZCV1RWQ0xFVkJRVkUwUWl4WFFVTndRamxDTEZGQlFWTjVRaXhGUVVOVWFFTXNUMEZCVVVFc1JVRkRVbE1zVVVGQlUwRXNSMEZIV0d4Q0xFOUJRVTlYTEVWQlFWTkRMRVZCUVZFclFpeEhRVWQ0UW5wQ0xFVkJRVlVzVDBGSldrRXNSVUZCVVRaQ0xGRkJRVlVzVjBGRFdEZENMRWxCU1V4T0xFVkJRVTlPTEZsQlFWa3NhMEpCUVcxQ1J5eEZRVUZSTEdWQlFXZENVeXhKUVVjNVJFRXNSVUZCVlN4UFFVbGFRU3hGUVVGUk9FSXNVVUZCVlN4WFFVZG9RbkJETEVWQlFVOU9MRmxCUVZrc1owSkJRV2xDUnl4RlFVRlJMRXRCUVUxVExFbEJSMnhFUVN4RlFVRlZMRTFCU1ZwQkxFVkJRVkVyUWl4VlFVRlpMRmRCUTJ4Q0xFbEJRVWxETEVWQlFYTkNMR05CUVdkQ2VrTXNSVUZCVHpCQ0xGRkJRVlVzWTBGRGRrUXhRaXhGUVVGUGVVTXNjMEpCUTFSQkxFVkJRWE5DZWtNc1JVRkJUM2xETEhGQ1FVVXZRblJETEVWQlFVOU9MRmxCUVZrMFF5eEZRVUZ4UW5wRExFVkJRVkVzWlVGRE9VTlRMRWxCUjBaQkxFVkJRVlVzVFVGTlVuQkNMRTFCUVUxeFJDeDFRa0ZCZDBJc1EwRkZhRU1zU1VGQlNVTXNSMEZCWVRORExFVkJRVTgwUXl4cFFrRkJiVUpvUkN4blFrRkJaMEp6UWl4TFFVRmpiRUlzUlVGQlR6WkRMR1ZCUXpsRmNrUXNVVUZCVVhORUxFdEJRVXM1UXl4RlFVRlBOa01zY1VKQlEzQkNSU3hGUVVWRlNpeEpRVU5HY2tNc1JVRkJaVTRzUlVGQlQyZEVMR2RDUVVGclFrd3NSMEYxUWpWRExFZEJiRUpKTEhGQ1FVRnpRbXhETEVkQlEzaENjRUlzVFVGQlRUUkVMRkZCUVZFelF5eEZRVUZuUWl4VFFVRXdRalJETEVWQlFVdERMRkZCUTJoRExFbEJRV2hDTDBNc1IwRkJjVVFzYVVKQlFYUkNLME1zUlVGQlNVTXNjVUpCUlhKRE9VTXNSVUZCWlRaRExFZEJSM1JDTVVNc1JVRkJVVFJETEdsQ1FVRnBRa1lzUlVGQlMwUXNTMEZOTDBJM1JDeE5RVUZOYVVVc1dVRkJXWFJFTEVWQlFVODBReXh0UWtGRE5VSnVReXhGUVVGUmJVTXNhMEpCUVc5Q05VTXNSVUZCVHpSRExHbENRVWxxUXpWRExFVkJRVTl0UXl4aFFVTlVMRWxCUTBVeFFpeEZRVUZSTUVJc1lVRkJaVzVETEVWQlFVOXRReXhoUVVNNVFpeE5RVUZQYjBJc1IwRkhVQ3hIUVVFMFFpeFRRVUY0UW5aRUxFVkJRVTl0UXl4aFFVTlVMRTFCUVUxdlFpeEZRVTAyUWl4dFFrRkJPVUoyUkN4RlFVRlBkMFFzYjBKQlEyaENMME1zUlVGQlVXZEVMR2xDUVVGcFFpeFhRVUZaZWtRc1JVRkJUM2RFTEc5Q1FVbFFMRzFDUVVFMVFuaEVMRVZCUVU4d1JDeHJRa0ZCYlVOcVJDeEZRVUZSYTBRc1VVRkRNMFJzUkN4RlFVRlJhMFFzVDBGQlQwWXNhVUpCUVdsQ0xGZEJRVmw2UkN4RlFVRlBNRVFzYTBKQlIycEVNVVFzUlVGQlR6UkVMR0ZCUlZRMVJDeEZRVUZQTkVRc1dVRkJXVU1zVVVGQlVVTXNTMEZCU3l4VFFVRnZRa01zUjBGRE4wTjBSQ3hKUVVsTVFTeEZRVUZSZFVRc1VVRkRVamRFTEVWQlFVODBSQ3hIUVVWUWRFUXNSVUZCVlN4UlFVbFVUQ3hKUVVOSVFTeEZRVUZqTEUxQlNXaENTeXhGUVVGUmQwUXNTMEZCU3pkRUlpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJGa1lYQjBaWEp6TDNob2NpNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuL3V0aWxzXCIpLGJpbmQ9cmVxdWlyZShcIi4vaGVscGVycy9iaW5kXCIpLEF4aW9zPXJlcXVpcmUoXCIuL2NvcmUvQXhpb3NcIiksbWVyZ2VDb25maWc9cmVxdWlyZShcIi4vY29yZS9tZXJnZUNvbmZpZ1wiKSxkZWZhdWx0cz1yZXF1aXJlKFwiLi9kZWZhdWx0c1wiKTtmdW5jdGlvbiBjcmVhdGVJbnN0YW5jZShlKXt2YXIgcj1uZXcgQXhpb3MoZSksaT1iaW5kKEF4aW9zLnByb3RvdHlwZS5yZXF1ZXN0LHIpO3JldHVybiB1dGlscy5leHRlbmQoaSxBeGlvcy5wcm90b3R5cGUsciksdXRpbHMuZXh0ZW5kKGksciksaX12YXIgYXhpb3M9Y3JlYXRlSW5zdGFuY2UoZGVmYXVsdHMpO2F4aW9zLkF4aW9zPUF4aW9zLGF4aW9zLmNyZWF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gY3JlYXRlSW5zdGFuY2UobWVyZ2VDb25maWcoYXhpb3MuZGVmYXVsdHMsZSkpfSxheGlvcy5DYW5jZWw9cmVxdWlyZShcIi4vY2FuY2VsL0NhbmNlbFwiKSxheGlvcy5DYW5jZWxUb2tlbj1yZXF1aXJlKFwiLi9jYW5jZWwvQ2FuY2VsVG9rZW5cIiksYXhpb3MuaXNDYW5jZWw9cmVxdWlyZShcIi4vY2FuY2VsL2lzQ2FuY2VsXCIpLGF4aW9zLmFsbD1mdW5jdGlvbihlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZSl9LGF4aW9zLnNwcmVhZD1yZXF1aXJlKFwiLi9oZWxwZXJzL3NwcmVhZFwiKSxheGlvcy5pc0F4aW9zRXJyb3I9cmVxdWlyZShcIi4vaGVscGVycy9pc0F4aW9zRXJyb3JcIiksbW9kdWxlLmV4cG9ydHM9YXhpb3MsbW9kdWxlLmV4cG9ydHMuZGVmYXVsdD1heGlvcztcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltRjRhVzl6TG1weklsMHNJbTVoYldWeklqcGJJblYwYVd4eklpd2ljbVZ4ZFdseVpTSXNJbUpwYm1RaUxDSkJlR2x2Y3lJc0ltMWxjbWRsUTI5dVptbG5JaXdpWkdWbVlYVnNkSE1pTENKamNtVmhkR1ZKYm5OMFlXNWpaU0lzSW1SbFptRjFiSFJEYjI1bWFXY2lMQ0pqYjI1MFpYaDBJaXdpYVc1emRHRnVZMlVpTENKd2NtOTBiM1I1Y0dVaUxDSnlaWEYxWlhOMElpd2laWGgwWlc1a0lpd2lZWGhwYjNNaUxDSmpjbVZoZEdVaUxDSnBibk4wWVc1alpVTnZibVpwWnlJc0lrTmhibU5sYkNJc0lrTmhibU5sYkZSdmEyVnVJaXdpYVhORFlXNWpaV3dpTENKaGJHd2lMQ0p3Y205dGFYTmxjeUlzSWxCeWIyMXBjMlVpTENKemNISmxZV1FpTENKcGMwRjRhVzl6UlhKeWIzSWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpWkdWbVlYVnNkQ0pkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFTeEpRVUZKUVN4TlFVRlJReXhSUVVGUkxGZEJRMmhDUXl4TFFVRlBSQ3hSUVVGUkxHdENRVU5tUlN4TlFVRlJSaXhSUVVGUkxHZENRVU5vUWtjc1dVRkJZMGdzVVVGQlVTeHpRa0ZEZEVKSkxGTkJRVmRLTEZGQlFWRXNZMEZSZGtJc1UwRkJVMHNzWlVGQlpVTXNSMEZEZEVJc1NVRkJTVU1zUlVGQlZTeEpRVUZKVEN4TlFVRk5TU3hIUVVOd1FrVXNSVUZCVjFBc1MwRkJTME1zVFVGQlRVOHNWVUZCVlVNc1VVRkJVMGdzUjBGUk4wTXNUMEZNUVZJc1RVRkJUVmtzVDBGQlQwZ3NSVUZCVlU0c1RVRkJUVThzVlVGQlYwWXNSMEZIZUVOU0xFMUJRVTFaTEU5QlFVOUlMRVZCUVZWRUxFZEJSV2hDUXl4RlFVbFVMRWxCUVVsSkxFMUJRVkZRTEdWQlFXVkVMRlZCUnpOQ1VTeE5RVUZOVml4TlFVRlJRU3hOUVVka1ZTeE5RVUZOUXl4UFFVRlRMRk5CUVdkQ1F5eEhRVU0zUWl4UFFVRlBWQ3hsUVVGbFJpeFpRVUZaVXl4TlFVRk5VaXhUUVVGVlZTeExRVWx3UkVZc1RVRkJUVWNzVDBGQlUyWXNVVUZCVVN4dFFrRkRka0paTEUxQlFVMUpMRmxCUVdOb1FpeFJRVUZSTEhkQ1FVTTFRbGtzVFVGQlRVc3NVMEZCVjJwQ0xGRkJRVkVzY1VKQlIzcENXU3hOUVVGTlRTeEpRVUZOTEZOQlFXRkRMRWRCUTNaQ0xFOUJRVTlETEZGQlFWRkdMRWxCUVVsRExFbEJSWEpDVUN4TlFVRk5VeXhQUVVGVGNrSXNVVUZCVVN4dlFrRkhka0paTEUxQlFVMVZMR0ZCUVdWMFFpeFJRVUZSTERCQ1FVVTNRblZDTEU5QlFVOURMRkZCUVZWYUxFMUJSMnBDVnl4UFFVRlBReXhSUVVGUlF5eFJRVUZWWWlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTloZUdsdmN5NXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gQ2FuY2VsKGUpe3RoaXMubWVzc2FnZT1lfUNhbmNlbC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm5cIkNhbmNlbFwiKyh0aGlzLm1lc3NhZ2U/XCI6IFwiK3RoaXMubWVzc2FnZTpcIlwiKX0sQ2FuY2VsLnByb3RvdHlwZS5fX0NBTkNFTF9fPSEwLG1vZHVsZS5leHBvcnRzPUNhbmNlbDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklrTmhibU5sYkM1cWN5SmRMQ0p1WVcxbGN5STZXeUpEWVc1alpXd2lMQ0p0WlhOellXZGxJaXdpZEdocGN5SXNJbkJ5YjNSdmRIbHdaU0lzSW5SdlUzUnlhVzVuSWl3aVgxOURRVTVEUlV4Zlh5SXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCVVVFc1UwRkJVMEVzVDBGQlQwTXNSMEZEWkVNc1MwRkJTMFFzVVVGQlZVRXNSVUZIYWtKRUxFOUJRVTlITEZWQlFWVkRMRk5CUVZjc1YwRkRNVUlzVFVGQlR5eFZRVUZaUml4TFFVRkxSQ3hSUVVGVkxFdEJRVTlETEV0QlFVdEVMRkZCUVZVc1MwRkhNVVJFTEU5QlFVOUhMRlZCUVZWRkxGbEJRV0VzUlVGRk9VSkRMRTlCUVU5RExGRkJRVlZRSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk5oYm1ObGJDOURZVzVqWld3dWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIENhbmNlbD1yZXF1aXJlKFwiLi9DYW5jZWxcIik7ZnVuY3Rpb24gQ2FuY2VsVG9rZW4oZSl7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiZXhlY3V0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uLlwiKTt2YXIgbjt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoZnVuY3Rpb24oZSl7bj1lfSk7dmFyIG89dGhpcztlKGZ1bmN0aW9uKGUpe28ucmVhc29ufHwoby5yZWFzb249bmV3IENhbmNlbChlKSxuKG8ucmVhc29uKSl9KX1DYW5jZWxUb2tlbi5wcm90b3R5cGUudGhyb3dJZlJlcXVlc3RlZD1mdW5jdGlvbigpe2lmKHRoaXMucmVhc29uKXRocm93IHRoaXMucmVhc29ufSxDYW5jZWxUb2tlbi5zb3VyY2U9ZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm57dG9rZW46bmV3IENhbmNlbFRva2VuKGZ1bmN0aW9uKG4pe2U9bn0pLGNhbmNlbDplfX0sbW9kdWxlLmV4cG9ydHM9Q2FuY2VsVG9rZW47XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJa05oYm1ObGJGUnZhMlZ1TG1weklsMHNJbTVoYldWeklqcGJJa05oYm1ObGJDSXNJbkpsY1hWcGNtVWlMQ0pEWVc1alpXeFViMnRsYmlJc0ltVjRaV04xZEc5eUlpd2lWSGx3WlVWeWNtOXlJaXdpY21WemIyeDJaVkJ5YjIxcGMyVWlMQ0owYUdseklpd2ljSEp2YldselpTSXNJbEJ5YjIxcGMyVWlMQ0p5WlhOdmJIWmxJaXdpZEc5clpXNGlMQ0p0WlhOellXZGxJaXdpY21WaGMyOXVJaXdpY0hKdmRHOTBlWEJsSWl3aWRHaHliM2RKWmxKbGNYVmxjM1JsWkNJc0luTnZkWEpqWlNJc0ltTmhibU5sYkNJc0ltTWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEU5QlFWTkRMRkZCUVZFc1dVRlJja0lzVTBGQlUwTXNXVUZCV1VNc1IwRkRia0lzUjBGQmQwSXNiVUpCUVdKQkxFVkJRMVFzVFVGQlRTeEpRVUZKUXl4VlFVRlZMR2REUVVkMFFpeEpRVUZKUXl4RlFVTktReXhMUVVGTFF5eFJRVUZWTEVsQlFVbERMRkZCUVZFc1UwRkJlVUpETEVkQlEyeEVTaXhGUVVGcFFra3NTVUZIYmtJc1NVRkJTVU1zUlVGQlVVb3NTMEZEV2tnc1JVRkJVeXhUUVVGblFsRXNSMEZEYmtKRUxFVkJRVTFGTEZOQlMxWkdMRVZCUVUxRkxFOUJRVk1zU1VGQlNWb3NUMEZCVDFjc1IwRkRNVUpPTEVWQlFXVkxMRVZCUVUxRkxGZEJUM3BDVml4WlFVRlpWeXhWUVVGVlF5eHBRa0ZCYlVJc1YwRkRka01zUjBGQlNWSXNTMEZCUzAwc1QwRkRVQ3hOUVVGTlRpeExRVUZMVFN4UlFWRm1WaXhaUVVGWllTeFBRVUZUTEZkQlEyNUNMRWxCUVVsRExFVkJTVW9zVFVGQlR5eERRVU5NVGl4TlFVcFZMRWxCUVVsU0xGbEJRVmtzVTBGQmEwSmxMRWRCUXpWRFJDeEZRVUZUUXl4SlFVbFVSQ3hQUVVGUlFTeEpRVWxhUlN4UFFVRlBReXhSUVVGVmFrSWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyRnVZMlZzTDBOaGJtTmxiRlJ2YTJWdUxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuISghdHx8IXQuX19DQU5DRUxfXyl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1selEyRnVZMlZzTG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0oyWVd4MVpTSXNJbDlmUTBGT1EwVk1YMThpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlJVRkJMRTlCUVU5RExGRkJRVlVzVTBGQmEwSkRMRWRCUTJwRExGTkJRVlZCTEVsQlFWTkJMRVZCUVUxRElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJOaGJtTmxiQzlwYzBOaGJtTmxiQzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi8uLi91dGlsc1wiKSxidWlsZFVSTD1yZXF1aXJlKFwiLi4vaGVscGVycy9idWlsZFVSTFwiKSxJbnRlcmNlcHRvck1hbmFnZXI9cmVxdWlyZShcIi4vSW50ZXJjZXB0b3JNYW5hZ2VyXCIpLGRpc3BhdGNoUmVxdWVzdD1yZXF1aXJlKFwiLi9kaXNwYXRjaFJlcXVlc3RcIiksbWVyZ2VDb25maWc9cmVxdWlyZShcIi4vbWVyZ2VDb25maWdcIik7ZnVuY3Rpb24gQXhpb3MoZSl7dGhpcy5kZWZhdWx0cz1lLHRoaXMuaW50ZXJjZXB0b3JzPXtyZXF1ZXN0Om5ldyBJbnRlcmNlcHRvck1hbmFnZXIscmVzcG9uc2U6bmV3IEludGVyY2VwdG9yTWFuYWdlcn19QXhpb3MucHJvdG90eXBlLnJlcXVlc3Q9ZnVuY3Rpb24oZSl7XCJzdHJpbmdcIj09dHlwZW9mIGU/KGU9YXJndW1lbnRzWzFdfHx7fSkudXJsPWFyZ3VtZW50c1swXTplPWV8fHt9LChlPW1lcmdlQ29uZmlnKHRoaXMuZGVmYXVsdHMsZSkpLm1ldGhvZD9lLm1ldGhvZD1lLm1ldGhvZC50b0xvd2VyQ2FzZSgpOnRoaXMuZGVmYXVsdHMubWV0aG9kP2UubWV0aG9kPXRoaXMuZGVmYXVsdHMubWV0aG9kLnRvTG93ZXJDYXNlKCk6ZS5tZXRob2Q9XCJnZXRcIjt2YXIgdD1bZGlzcGF0Y2hSZXF1ZXN0LHZvaWQgMF0scj1Qcm9taXNlLnJlc29sdmUoZSk7Zm9yKHRoaXMuaW50ZXJjZXB0b3JzLnJlcXVlc3QuZm9yRWFjaChmdW5jdGlvbihlKXt0LnVuc2hpZnQoZS5mdWxmaWxsZWQsZS5yZWplY3RlZCl9KSx0aGlzLmludGVyY2VwdG9ycy5yZXNwb25zZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3QucHVzaChlLmZ1bGZpbGxlZCxlLnJlamVjdGVkKX0pO3QubGVuZ3RoOylyPXIudGhlbih0LnNoaWZ0KCksdC5zaGlmdCgpKTtyZXR1cm4gcn0sQXhpb3MucHJvdG90eXBlLmdldFVyaT1mdW5jdGlvbihlKXtyZXR1cm4gZT1tZXJnZUNvbmZpZyh0aGlzLmRlZmF1bHRzLGUpLGJ1aWxkVVJMKGUudXJsLGUucGFyYW1zLGUucGFyYW1zU2VyaWFsaXplcikucmVwbGFjZSgvXlxcPy8sXCJcIil9LHV0aWxzLmZvckVhY2goW1wiZGVsZXRlXCIsXCJnZXRcIixcImhlYWRcIixcIm9wdGlvbnNcIl0sZnVuY3Rpb24oZSl7QXhpb3MucHJvdG90eXBlW2VdPWZ1bmN0aW9uKHQscil7cmV0dXJuIHRoaXMucmVxdWVzdChtZXJnZUNvbmZpZyhyfHx7fSx7bWV0aG9kOmUsdXJsOnQsZGF0YToocnx8e30pLmRhdGF9KSl9fSksdXRpbHMuZm9yRWFjaChbXCJwb3N0XCIsXCJwdXRcIixcInBhdGNoXCJdLGZ1bmN0aW9uKGUpe0F4aW9zLnByb3RvdHlwZVtlXT1mdW5jdGlvbih0LHIsbyl7cmV0dXJuIHRoaXMucmVxdWVzdChtZXJnZUNvbmZpZyhvfHx7fSx7bWV0aG9kOmUsdXJsOnQsZGF0YTpyfSkpfX0pLG1vZHVsZS5leHBvcnRzPUF4aW9zO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWtGNGFXOXpMbXB6SWwwc0ltNWhiV1Z6SWpwYkluVjBhV3h6SWl3aWNtVnhkV2x5WlNJc0ltSjFhV3hrVlZKTUlpd2lTVzUwWlhKalpYQjBiM0pOWVc1aFoyVnlJaXdpWkdsemNHRjBZMmhTWlhGMVpYTjBJaXdpYldWeVoyVkRiMjVtYVdjaUxDSkJlR2x2Y3lJc0ltbHVjM1JoYm1ObFEyOXVabWxuSWl3aWRHaHBjeUlzSW1SbFptRjFiSFJ6SWl3aWFXNTBaWEpqWlhCMGIzSnpJaXdpY21WeGRXVnpkQ0lzSW5KbGMzQnZibk5sSWl3aWNISnZkRzkwZVhCbElpd2lZMjl1Wm1sbklpd2lZWEpuZFcxbGJuUnpJaXdpZFhKc0lpd2liV1YwYUc5a0lpd2lkRzlNYjNkbGNrTmhjMlVpTENKamFHRnBiaUlzSW5WdVpHVm1hVzVsWkNJc0luQnliMjFwYzJVaUxDSlFjbTl0YVhObElpd2ljbVZ6YjJ4MlpTSXNJbVp2Y2tWaFkyZ2lMQ0pwYm5SbGNtTmxjSFJ2Y2lJc0luVnVjMmhwWm5RaUxDSm1kV3htYVd4c1pXUWlMQ0p5WldwbFkzUmxaQ0lzSW5CMWMyZ2lMQ0pzWlc1bmRHZ2lMQ0owYUdWdUlpd2ljMmhwWm5RaUxDSm5aWFJWY21raUxDSndZWEpoYlhNaUxDSndZWEpoYlhOVFpYSnBZV3hwZW1WeUlpd2ljbVZ3YkdGalpTSXNJbVJoZEdFaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25SeklsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMRTFCUVZGRExGRkJRVkVzWTBGRGFFSkRMRk5CUVZkRUxGRkJRVkVzZFVKQlEyNUNSU3h0UWtGQmNVSkdMRkZCUVZFc2QwSkJRemRDUnl4blFrRkJhMEpJTEZGQlFWRXNjVUpCUXpGQ1NTeFpRVUZqU2l4UlFVRlJMR2xDUVU4eFFpeFRRVUZUU3l4TlFVRk5ReXhIUVVOaVF5eExRVUZMUXl4VFFVRlhSaXhGUVVOb1FrTXNTMEZCUzBVc1lVRkJaU3hEUVVOc1FrTXNVVUZCVXl4SlFVRkpVaXh0UWtGRFlsTXNVMEZCVlN4SlFVRkpWQ3h2UWtGVGJFSkhMRTFCUVUxUExGVkJRVlZHTEZGQlFWVXNVMEZCYVVKSExFZEJSMjVDTEdsQ1FVRllRU3hIUVVOVVFTeEZRVUZUUXl4VlFVRlZMRWxCUVUwc1NVRkRiRUpETEVsQlFVMUVMRlZCUVZVc1IwRkZka0pFTEVWQlFWTkJMRWRCUVZVc1NVRkhja0pCTEVWQlFWTlVMRmxCUVZsSExFdEJRVXRETEZOQlFWVkxMRWxCUjNwQ1J5eFBRVU5VU0N4RlFVRlBSeXhQUVVGVFNDeEZRVUZQUnl4UFFVRlBReXhqUVVOeVFsWXNTMEZCUzBNc1UwRkJVMUVzVDBGRGRrSklMRVZCUVU5SExFOUJRVk5VTEV0QlFVdERMRk5CUVZOUkxFOUJRVTlETEdOQlJYSkRTaXhGUVVGUFJ5eFBRVUZUTEUxQlNXeENMRWxCUVVsRkxFVkJRVkVzUTBGQlEyWXNjVUpCUVdsQ1owSXNSMEZETVVKRExFVkJRVlZETEZGQlFWRkRMRkZCUVZGVUxFZEJWVGxDTEVsQlVrRk9MRXRCUVV0RkxHRkJRV0ZETEZGQlFWRmhMRkZCUVZFc1UwRkJiME5ETEVkQlEzQkZUaXhGUVVGTlR5eFJRVUZSUkN4RlFVRlpSU3hWUVVGWFJpeEZRVUZaUnl4WlFVZHVSSEJDTEV0QlFVdEZMR0ZCUVdGRkxGTkJRVk5aTEZGQlFWRXNVMEZCYTBORExFZEJRMjVGVGl4RlFVRk5WU3hMUVVGTFNpeEZRVUZaUlN4VlFVRlhSaXhGUVVGWlJ5eFpRVWQ2UTFRc1JVRkJUVmNzVVVGRFdGUXNSVUZCVlVFc1JVRkJVVlVzUzBGQlMxb3NSVUZCVFdFc1VVRkJVMklzUlVGQlRXRXNVMEZIT1VNc1QwRkJUMWdzUjBGSFZHWXNUVUZCVFU4c1ZVRkJWVzlDTEU5QlFWTXNVMEZCWjBKdVFpeEhRVVYyUXl4UFFVUkJRU3hGUVVGVFZDeFpRVUZaUnl4TFFVRkxReXhUUVVGVlN5eEhRVU0zUWxvc1UwRkJVMWtzUlVGQlQwVXNTVUZCUzBZc1JVRkJUMjlDTEU5QlFWRndRaXhGUVVGUGNVSXNhMEpCUVd0Q1F5eFJRVUZSTEUxQlFVOHNTMEZKY2tad1F5eE5RVUZOZDBJc1VVRkJVU3hEUVVGRExGTkJRVlVzVFVGQlR5eFBRVUZSTEZkQlFWa3NVMEZCTmtKUUxFZEJSUzlGV0N4TlFVRk5UeXhWUVVGVlNTeEhRVUZWTEZOQlFWTkVMRVZCUVV0R0xFZEJRM1JETEU5QlFVOU9MRXRCUVV0SExGRkJRVkZPTEZsQlFWbFRMRWRCUVZVc1IwRkJTU3hEUVVNMVEwY3NUMEZCVVVFc1JVRkRVa1FzU1VGQlMwRXNSVUZEVEhGQ0xFMUJRVTkyUWl4SFFVRlZMRWxCUVVsMVFpeFhRVXN6UW5KRExFMUJRVTEzUWl4UlFVRlJMRU5CUVVNc1QwRkJVU3hOUVVGUExGTkJRVlVzVTBGQkswSlFMRWRCUlhKRldDeE5RVUZOVHl4VlFVRlZTU3hIUVVGVkxGTkJRVk5FTEVWQlFVdHhRaXhGUVVGTmRrSXNSMEZETlVNc1QwRkJUMDRzUzBGQlMwY3NVVUZCVVU0c1dVRkJXVk1zUjBGQlZTeEhRVUZKTEVOQlF6VkRSeXhQUVVGUlFTeEZRVU5TUkN4SlFVRkxRU3hGUVVOTWNVSXNTMEZCVFVFc1VVRkxXa01zVDBGQlQwTXNVVUZCVldwRElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJOdmNtVXZRWGhwYjNNdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpO2Z1bmN0aW9uIEludGVyY2VwdG9yTWFuYWdlcigpe3RoaXMuaGFuZGxlcnM9W119SW50ZXJjZXB0b3JNYW5hZ2VyLnByb3RvdHlwZS51c2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5oYW5kbGVycy5wdXNoKHtmdWxmaWxsZWQ6ZSxyZWplY3RlZDp0fSksdGhpcy5oYW5kbGVycy5sZW5ndGgtMX0sSW50ZXJjZXB0b3JNYW5hZ2VyLnByb3RvdHlwZS5lamVjdD1mdW5jdGlvbihlKXt0aGlzLmhhbmRsZXJzW2VdJiYodGhpcy5oYW5kbGVyc1tlXT1udWxsKX0sSW50ZXJjZXB0b3JNYW5hZ2VyLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGUpe3V0aWxzLmZvckVhY2godGhpcy5oYW5kbGVycyxmdW5jdGlvbih0KXtudWxsIT09dCYmZSh0KX0pfSxtb2R1bGUuZXhwb3J0cz1JbnRlcmNlcHRvck1hbmFnZXI7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJa2x1ZEdWeVkyVndkRzl5VFdGdVlXZGxjaTVxY3lKZExDSnVZVzFsY3lJNld5SjFkR2xzY3lJc0luSmxjWFZwY21VaUxDSkpiblJsY21ObGNIUnZjazFoYm1GblpYSWlMQ0owYUdseklpd2lhR0Z1Wkd4bGNuTWlMQ0p3Y205MGIzUjVjR1VpTENKMWMyVWlMQ0ptZFd4bWFXeHNaV1FpTENKeVpXcGxZM1JsWkNJc0luQjFjMmdpTENKc1pXNW5kR2dpTENKbGFtVmpkQ0lzSW1sa0lpd2labTl5UldGamFDSXNJbVp1SWl3aWFDSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1NVRkJTVUVzVFVGQlVVTXNVVUZCVVN4alFVVndRaXhUUVVGVFF5eHhRa0ZEVUVNc1MwRkJTME1zVTBGQlZ5eEhRVmRzUWtZc2JVSkJRVzFDUnl4VlFVRlZReXhKUVVGTkxGTkJRV0ZETEVWQlFWZERMRWRCUzNwRUxFOUJTa0ZNTEV0QlFVdERMRk5CUVZOTExFdEJRVXNzUTBGRGFrSkdMRlZCUVZkQkxFVkJRMWhETEZOQlFWVkJMRWxCUlV4TUxFdEJRVXRETEZOQlFWTk5MRTlCUVZNc1IwRlJhRU5TTEcxQ1FVRnRRa2NzVlVGQlZVMHNUVUZCVVN4VFFVRmxReXhIUVVNNVExUXNTMEZCUzBNc1UwRkJVMUVzUzBGRGFFSlVMRXRCUVV0RExGTkJRVk5STEVkQlFVMHNUMEZaZUVKV0xHMUNRVUZ0UWtjc1ZVRkJWVkVzVVVGQlZTeFRRVUZwUWtNc1IwRkRkRVJrTEUxQlFVMWhMRkZCUVZGV0xFdEJRVXRETEZOQlFWVXNVMEZCZDBKWExFZEJRM3BETEU5QlFVNUJMRWRCUTBaRUxFVkJRVWRETEUxQlMxUkRMRTlCUVU5RExGRkJRVlZtSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk52Y21VdlNXNTBaWEpqWlhCMGIzSk5ZVzVoWjJWeUxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGlzQWJzb2x1dGVVUkw9cmVxdWlyZShcIi4uL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTFwiKSxjb21iaW5lVVJMcz1yZXF1aXJlKFwiLi4vaGVscGVycy9jb21iaW5lVVJMc1wiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLHMpe3JldHVybiBlJiYhaXNBYnNvbHV0ZVVSTChzKT9jb21iaW5lVVJMcyhlLHMpOnN9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KMWFXeGtSblZzYkZCaGRHZ3Vhbk1pWFN3aWJtRnRaWE1pT2xzaWFYTkJZbk52YkhWMFpWVlNUQ0lzSW5KbGNYVnBjbVVpTENKamIyMWlhVzVsVlZKTWN5SXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0ppWVhObFZWSk1JaXdpY21WeGRXVnpkR1ZrVlZKTUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMR05CUVdkQ1F5eFJRVUZSTERSQ1FVTjRRa01zV1VGQlkwUXNVVUZCVVN3d1FrRlhNVUpGTEU5QlFVOURMRkZCUVZVc1UwRkJkVUpETEVWQlFWTkRMRWRCUXk5RExFOUJRVWxFTEVsQlFWbE1MR05CUVdOTkxFZEJRM0pDU2l4WlFVRlpSeXhGUVVGVFF5eEhRVVYyUWtFaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTI5eVpTOWlkV2xzWkVaMWJHeFFZWFJvTG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgZW5oYW5jZUVycm9yPXJlcXVpcmUoXCIuL2VuaGFuY2VFcnJvclwiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihyLGUsbixvLGEpe3ZhciBjPW5ldyBFcnJvcihyKTtyZXR1cm4gZW5oYW5jZUVycm9yKGMsZSxuLG8sYSl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1OeVpXRjBaVVZ5Y205eUxtcHpJbDBzSW01aGJXVnpJanBiSW1WdWFHRnVZMlZGY25KdmNpSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYldWemMyRm5aU0lzSW1OdmJtWnBaeUlzSW1OdlpHVWlMQ0p5WlhGMVpYTjBJaXdpY21WemNHOXVjMlVpTENKbGNuSnZjaUlzSWtWeWNtOXlJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEdGQlFXVkRMRkZCUVZFc2EwSkJXVE5DUXl4UFFVRlBReXhSUVVGVkxGTkJRWEZDUXl4RlFVRlRReXhGUVVGUlF5eEZRVUZOUXl4RlFVRlRReXhIUVVOd1JTeEpRVUZKUXl4RlFVRlJMRWxCUVVsRExFMUJRVTFPTEVkQlEzUkNMRTlCUVU5S0xHRkJRV0ZUTEVWQlFVOUtMRVZCUVZGRExFVkJRVTFETEVWQlFWTkRJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTnZjbVV2WTNKbFlYUmxSWEp5YjNJdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpLHRyYW5zZm9ybURhdGE9cmVxdWlyZShcIi4vdHJhbnNmb3JtRGF0YVwiKSxpc0NhbmNlbD1yZXF1aXJlKFwiLi4vY2FuY2VsL2lzQ2FuY2VsXCIpLGRlZmF1bHRzPXJlcXVpcmUoXCIuLi9kZWZhdWx0c1wiKTtmdW5jdGlvbiB0aHJvd0lmQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKGUpe2UuY2FuY2VsVG9rZW4mJmUuY2FuY2VsVG9rZW4udGhyb3dJZlJlcXVlc3RlZCgpfW1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiB0aHJvd0lmQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKGUpLGUuaGVhZGVycz1lLmhlYWRlcnN8fHt9LGUuZGF0YT10cmFuc2Zvcm1EYXRhKGUuZGF0YSxlLmhlYWRlcnMsZS50cmFuc2Zvcm1SZXF1ZXN0KSxlLmhlYWRlcnM9dXRpbHMubWVyZ2UoZS5oZWFkZXJzLmNvbW1vbnx8e30sZS5oZWFkZXJzW2UubWV0aG9kXXx8e30sZS5oZWFkZXJzKSx1dGlscy5mb3JFYWNoKFtcImRlbGV0ZVwiLFwiZ2V0XCIsXCJoZWFkXCIsXCJwb3N0XCIsXCJwdXRcIixcInBhdGNoXCIsXCJjb21tb25cIl0sZnVuY3Rpb24oYSl7ZGVsZXRlIGUuaGVhZGVyc1thXX0pLChlLmFkYXB0ZXJ8fGRlZmF1bHRzLmFkYXB0ZXIpKGUpLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIHRocm93SWZDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoZSksYS5kYXRhPXRyYW5zZm9ybURhdGEoYS5kYXRhLGEuaGVhZGVycyxlLnRyYW5zZm9ybVJlc3BvbnNlKSxhfSxmdW5jdGlvbihhKXtyZXR1cm4gaXNDYW5jZWwoYSl8fCh0aHJvd0lmQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKGUpLGEmJmEucmVzcG9uc2UmJihhLnJlc3BvbnNlLmRhdGE9dHJhbnNmb3JtRGF0YShhLnJlc3BvbnNlLmRhdGEsYS5yZXNwb25zZS5oZWFkZXJzLGUudHJhbnNmb3JtUmVzcG9uc2UpKSksUHJvbWlzZS5yZWplY3QoYSl9KX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVJwYzNCaGRHTm9VbVZ4ZFdWemRDNXFjeUpkTENKdVlXMWxjeUk2V3lKMWRHbHNjeUlzSW5KbGNYVnBjbVVpTENKMGNtRnVjMlp2Y20xRVlYUmhJaXdpYVhORFlXNWpaV3dpTENKa1pXWmhkV3gwY3lJc0luUm9jbTkzU1daRFlXNWpaV3hzWVhScGIyNVNaWEYxWlhOMFpXUWlMQ0pqYjI1bWFXY2lMQ0pqWVc1alpXeFViMnRsYmlJc0luUm9jbTkzU1daU1pYRjFaWE4wWldRaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lhR1ZoWkdWeWN5SXNJbVJoZEdFaUxDSjBjbUZ1YzJadmNtMVNaWEYxWlhOMElpd2liV1Z5WjJVaUxDSmpiMjF0YjI0aUxDSnRaWFJvYjJRaUxDSm1iM0pGWVdOb0lpd2lZV1JoY0hSbGNpSXNJblJvWlc0aUxDSnlaWE53YjI1elpTSXNJblJ5WVc1elptOXliVkpsYzNCdmJuTmxJaXdpY21WaGMyOXVJaXdpVUhKdmJXbHpaU0lzSW5KbGFtVmpkQ0pkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFTeEpRVUZKUVN4TlFVRlJReXhSUVVGUkxHTkJRMmhDUXl4alFVRm5Ra1FzVVVGQlVTeHRRa0ZEZUVKRkxGTkJRVmRHTEZGQlFWRXNjMEpCUTI1Q1J5eFRRVUZYU0N4UlFVRlJMR1ZCUzNaQ0xGTkJRVk5KTERaQ1FVRTJRa01zUjBGRGFFTkJMRVZCUVU5RExHRkJRMVJFTEVWQlFVOURMRmxCUVZsRExHMUNRVlYyUWtNc1QwRkJUME1zVVVGQlZTeFRRVUY1UWtvc1IwRTJRbmhETEU5Qk5VSkJSQ3cyUWtGQk5rSkRMRWRCUnpkQ1FTeEZRVUZQU3l4UlFVRlZUQ3hGUVVGUFN5eFRRVUZYTEVkQlIyNURUQ3hGUVVGUFRTeExRVUZQVml4alFVTmFTU3hGUVVGUFRTeExRVU5RVGl4RlFVRlBTeXhSUVVOUVRDeEZRVUZQVHl4clFrRkpWRkFzUlVGQlQwc3NVVUZCVlZnc1RVRkJUV01zVFVGRGNrSlNMRVZCUVU5TExGRkJRVkZKTEZGQlFWVXNSMEZEZWtKVUxFVkJRVTlMTEZGQlFWRk1MRVZCUVU5VkxGTkJRVmNzUjBGRGFrTldMRVZCUVU5TExGTkJSMVJZTEUxQlFVMXBRaXhSUVVOS0xFTkJRVU1zVTBGQlZTeE5RVUZQTEU5QlFWRXNUMEZCVVN4TlFVRlBMRkZCUVZNc1ZVRkRiRVFzVTBGQk1rSkVMRlZCUTJ4Q1ZpeEZRVUZQU3l4UlFVRlJTeXhOUVVsYVZpeEZRVUZQV1N4VFFVRlhaQ3hUUVVGVFl5eFRRVVV4UWxvc1IwRkJVV0VzUzBGQlN5eFRRVUUyUWtNc1IwRlZka1FzVDBGVVFXWXNOa0pCUVRaQ1F5eEhRVWMzUW1Nc1JVRkJVMUlzUzBGQlQxWXNZMEZEWkd0Q0xFVkJRVk5TTEV0QlExUlJMRVZCUVZOVUxGRkJRMVJNTEVWQlFVOWxMRzFDUVVkR1JDeEhRVU5PTEZOQlFUUkNSU3hIUVdNM1FpeFBRV0pMYmtJc1UwRkJVMjFDTEV0QlExcHFRaXcyUWtGQk5rSkRMRWRCUjNwQ1owSXNSMEZCVlVFc1JVRkJUMFlzVjBGRGJrSkZMRVZCUVU5R0xGTkJRVk5TTEV0QlFVOVdMR05CUTNKQ2IwSXNSVUZCVDBZc1UwRkJVMUlzUzBGRGFFSlZMRVZCUVU5R0xGTkJRVk5VTEZGQlEyaENUQ3hGUVVGUFpTeHhRa0ZMVGtVc1VVRkJVVU1zVDBGQlQwWWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzlrYVhOd1lYUmphRkpsY1hWbGMzUXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUsaSxzLHQsbil7cmV0dXJuIGUuY29uZmlnPWkscyYmKGUuY29kZT1zKSxlLnJlcXVlc3Q9dCxlLnJlc3BvbnNlPW4sZS5pc0F4aW9zRXJyb3I9ITAsZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57bWVzc2FnZTp0aGlzLm1lc3NhZ2UsbmFtZTp0aGlzLm5hbWUsZGVzY3JpcHRpb246dGhpcy5kZXNjcmlwdGlvbixudW1iZXI6dGhpcy5udW1iZXIsZmlsZU5hbWU6dGhpcy5maWxlTmFtZSxsaW5lTnVtYmVyOnRoaXMubGluZU51bWJlcixjb2x1bW5OdW1iZXI6dGhpcy5jb2x1bW5OdW1iZXIsc3RhY2s6dGhpcy5zdGFjayxjb25maWc6dGhpcy5jb25maWcsY29kZTp0aGlzLmNvZGV9fSxlfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltVnVhR0Z1WTJWRmNuSnZjaTVxY3lKZExDSnVZVzFsY3lJNld5SnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2laWEp5YjNJaUxDSmpiMjVtYVdjaUxDSmpiMlJsSWl3aWNtVnhkV1Z6ZENJc0luSmxjM0J2Ym5ObElpd2lhWE5CZUdsdmMwVnljbTl5SWl3aWRHOUtVMDlPSWl3aWJXVnpjMkZuWlNJc0luUm9hWE1pTENKdVlXMWxJaXdpWkdWelkzSnBjSFJwYjI0aUxDSnVkVzFpWlhJaUxDSm1hV3hsVG1GdFpTSXNJbXhwYm1WT2RXMWlaWElpTENKamIyeDFiVzVPZFcxaVpYSWlMQ0p6ZEdGamF5SmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZaUVVFc1QwRkJUME1zVVVGQlZTeFRRVUZ6UWtNc1JVRkJUME1zUlVGQlVVTXNSVUZCVFVNc1JVRkJVME1zUjBFMFFtNUZMRTlCTTBKQlNpeEZRVUZOUXl4UFFVRlRRU3hGUVVOWVF5eEpRVU5HUml4RlFVRk5SU3hMUVVGUFFTeEhRVWRtUml4RlFVRk5SeXhSUVVGVlFTeEZRVU5vUWtnc1JVRkJUVWtzVTBGQlYwRXNSVUZEYWtKS0xFVkJRVTFMTEdOQlFXVXNSVUZGY2tKTUxFVkJRVTFOTEU5QlFWTXNWMEZEWWl4TlFVRlBMRU5CUlV4RExGRkJRVk5ETEV0QlFVdEVMRkZCUTJSRkxFdEJRVTFFTEV0QlFVdERMRXRCUlZoRExGbEJRV0ZHTEV0QlFVdEZMRmxCUTJ4Q1F5eFBRVUZSU0N4TFFVRkxSeXhQUVVWaVF5eFRRVUZWU2l4TFFVRkxTU3hUUVVObVF5eFhRVUZaVEN4TFFVRkxTeXhYUVVOcVFrTXNZVUZCWTA0c1MwRkJTMDBzWVVGRGJrSkRMRTFCUVU5UUxFdEJRVXRQTEUxQlJWcGtMRTlCUVZGUExFdEJRVXRRTEU5QlEySkRMRXRCUVUxTkxFdEJRVXRPTEU5QlIxSkdJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTnZjbVV2Wlc1b1lXNWpaVVZ5Y205eUxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLi91dGlsc1wiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3Q9dHx8e307dmFyIGk9e30scz1bXCJ1cmxcIixcIm1ldGhvZFwiLFwiZGF0YVwiXSxuPVtcImhlYWRlcnNcIixcImF1dGhcIixcInByb3h5XCIsXCJwYXJhbXNcIl0scj1bXCJiYXNlVVJMXCIsXCJ0cmFuc2Zvcm1SZXF1ZXN0XCIsXCJ0cmFuc2Zvcm1SZXNwb25zZVwiLFwicGFyYW1zU2VyaWFsaXplclwiLFwidGltZW91dFwiLFwidGltZW91dE1lc3NhZ2VcIixcIndpdGhDcmVkZW50aWFsc1wiLFwiYWRhcHRlclwiLFwicmVzcG9uc2VUeXBlXCIsXCJ4c3JmQ29va2llTmFtZVwiLFwieHNyZkhlYWRlck5hbWVcIixcIm9uVXBsb2FkUHJvZ3Jlc3NcIixcIm9uRG93bmxvYWRQcm9ncmVzc1wiLFwiZGVjb21wcmVzc1wiLFwibWF4Q29udGVudExlbmd0aFwiLFwibWF4Qm9keUxlbmd0aFwiLFwibWF4UmVkaXJlY3RzXCIsXCJ0cmFuc3BvcnRcIixcImh0dHBBZ2VudFwiLFwiaHR0cHNBZ2VudFwiLFwiY2FuY2VsVG9rZW5cIixcInNvY2tldFBhdGhcIixcInJlc3BvbnNlRW5jb2RpbmdcIl0sbz1bXCJ2YWxpZGF0ZVN0YXR1c1wiXTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIHV0aWxzLmlzUGxhaW5PYmplY3QoZSkmJnV0aWxzLmlzUGxhaW5PYmplY3QodCk/dXRpbHMubWVyZ2UoZSx0KTp1dGlscy5pc1BsYWluT2JqZWN0KHQpP3V0aWxzLm1lcmdlKHt9LHQpOnV0aWxzLmlzQXJyYXkodCk/dC5zbGljZSgpOnR9ZnVuY3Rpb24gdShzKXt1dGlscy5pc1VuZGVmaW5lZCh0W3NdKT91dGlscy5pc1VuZGVmaW5lZChlW3NdKXx8KGlbc109YSh2b2lkIDAsZVtzXSkpOmlbc109YShlW3NdLHRbc10pfXV0aWxzLmZvckVhY2gocyxmdW5jdGlvbihlKXt1dGlscy5pc1VuZGVmaW5lZCh0W2VdKXx8KGlbZV09YSh2b2lkIDAsdFtlXSkpfSksdXRpbHMuZm9yRWFjaChuLHUpLHV0aWxzLmZvckVhY2gocixmdW5jdGlvbihzKXt1dGlscy5pc1VuZGVmaW5lZCh0W3NdKT91dGlscy5pc1VuZGVmaW5lZChlW3NdKXx8KGlbc109YSh2b2lkIDAsZVtzXSkpOmlbc109YSh2b2lkIDAsdFtzXSl9KSx1dGlscy5mb3JFYWNoKG8sZnVuY3Rpb24ocyl7cyBpbiB0P2lbc109YShlW3NdLHRbc10pOnMgaW4gZSYmKGlbc109YSh2b2lkIDAsZVtzXSkpfSk7dmFyIGM9cy5jb25jYXQobikuY29uY2F0KHIpLmNvbmNhdChvKSxsPU9iamVjdC5rZXlzKGUpLmNvbmNhdChPYmplY3Qua2V5cyh0KSkuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybi0xPT09Yy5pbmRleE9mKGUpfSk7cmV0dXJuIHV0aWxzLmZvckVhY2gobCx1KSxpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltMWxjbWRsUTI5dVptbG5MbXB6SWwwc0ltNWhiV1Z6SWpwYkluVjBhV3h6SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSmpiMjVtYVdjeElpd2lZMjl1Wm1sbk1pSXNJbU52Ym1acFp5SXNJblpoYkhWbFJuSnZiVU52Ym1acFp6SkxaWGx6SWl3aWJXVnlaMlZFWldWd1VISnZjR1Z5ZEdsbGMwdGxlWE1pTENKa1pXWmhkV3gwVkc5RGIyNW1hV2N5UzJWNWN5SXNJbVJwY21WamRFMWxjbWRsUzJWNWN5SXNJbWRsZEUxbGNtZGxaRlpoYkhWbElpd2lkR0Z5WjJWMElpd2ljMjkxY21ObElpd2lhWE5RYkdGcGJrOWlhbVZqZENJc0ltMWxjbWRsSWl3aWFYTkJjbkpoZVNJc0luTnNhV05sSWl3aWJXVnlaMlZFWldWd1VISnZjR1Z5ZEdsbGN5SXNJbkJ5YjNBaUxDSnBjMVZ1WkdWbWFXNWxaQ0lzSW5WdVpHVm1hVzVsWkNJc0ltWnZja1ZoWTJnaUxDSmhlR2x2YzB0bGVYTWlMQ0pqYjI1allYUWlMQ0p2ZEdobGNrdGxlWE1pTENKUFltcGxZM1FpTENKclpYbHpJaXdpWm1sc2RHVnlJaXdpYTJWNUlpd2lhVzVrWlhoUFppSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hOUVVGUlF5eFJRVUZSTEZsQlZYQkNReXhQUVVGUFF5eFJRVUZWTEZOQlFYRkNReXhGUVVGVFF5eEhRVVUzUTBFc1JVRkJWVUVzUjBGQlZ5eEhRVU55UWl4SlFVRkpReXhGUVVGVExFZEJSVlJETEVWQlFYVkNMRU5CUVVNc1RVRkJUeXhUUVVGVkxGRkJRM3BEUXl4RlFVRXdRaXhEUVVGRExGVkJRVmNzVDBGQlVTeFJRVUZUTEZWQlEzWkVReXhGUVVGMVFpeERRVU42UWl4VlFVRlhMRzFDUVVGdlFpeHZRa0ZCY1VJc2JVSkJRM0JFTEZWQlFWY3NhVUpCUVd0Q0xHdENRVUZ0UWl4VlFVRlhMR1ZCUVdkQ0xHbENRVU16UlN4cFFrRkJhMElzYlVKQlFXOUNMSEZDUVVGelFpeGhRVU0xUkN4dFFrRkJiMElzWjBKQlFXbENMR1ZCUVdkQ0xGbEJRV0VzV1VGRGJFVXNZVUZCWXl4alFVRmxMR0ZCUVdNc2IwSkJSWHBEUXl4RlFVRnJRaXhEUVVGRExHdENRVVYyUWl4VFFVRlRReXhGUVVGbFF5eEZRVUZSUXl4SFFVTTVRaXhQUVVGSllpeE5RVUZOWXl4alFVRmpSaXhKUVVGWFdpeE5RVUZOWXl4alFVRmpSQ3hIUVVNNVEySXNUVUZCVFdVc1RVRkJUVWdzUlVGQlVVTXNSMEZEYkVKaUxFMUJRVTFqTEdOQlFXTkVMRWRCUTNSQ1lpeE5RVUZOWlN4TlFVRk5MRWRCUVVsR0xFZEJRMlJpTEUxQlFVMW5RaXhSUVVGUlNDeEhRVU5vUWtFc1JVRkJUMGtzVVVGRlZFb3NSVUZIVkN4VFFVRlRTeXhGUVVGdlFrTXNSMEZEZEVKdVFpeE5RVUZOYjBJc1dVRkJXV1lzUlVGQlVXTXNTVUZGYmtKdVFpeE5RVUZOYjBJc1dVRkJXV2hDTEVWQlFWRmxMRTFCUTNCRFlpeEZRVUZQWVN4SFFVRlJVaXhQUVVGbFZTeEZRVUZYYWtJc1JVRkJVV1VzUzBGR2FrUmlMRVZCUVU5aExFZEJRVkZTTEVWQlFXVlFMRVZCUVZGbExFZEJRVTlrTEVWQlFWRmpMRWxCVFhwRWJrSXNUVUZCVFhOQ0xGRkJRVkZtTEVWQlFYTkNMRk5CUVRCQ1dTeEhRVU4yUkc1Q0xFMUJRVTF2UWl4WlFVRlpaaXhGUVVGUll5eE5RVU0zUW1Jc1JVRkJUMkVzUjBGQlVWSXNUMEZCWlZVc1JVRkJWMmhDTEVWQlFWRmpMRTlCU1hKRWJrSXNUVUZCVFhOQ0xGRkJRVkZrTEVWQlFYbENWU3hIUVVWMlEyeENMRTFCUVUxelFpeFJRVUZSWWl4RlFVRnpRaXhUUVVFd1FsVXNSMEZEZGtSdVFpeE5RVUZOYjBJc1dVRkJXV1lzUlVGQlVXTXNTVUZGYmtKdVFpeE5RVUZOYjBJc1dVRkJXV2hDTEVWQlFWRmxMRTFCUTNCRFlpeEZRVUZQWVN4SFFVRlJVaXhQUVVGbFZTeEZRVUZYYWtJc1JVRkJVV1VzUzBGR2FrUmlMRVZCUVU5aExFZEJRVkZTTEU5QlFXVlZMRVZCUVZkb1FpeEZRVUZSWXl4TlFVMXlSRzVDTEUxQlFVMXpRaXhSUVVGUldpeEZRVUZwUWl4VFFVRmxVeXhIUVVONFEwRXNTMEZCVVdRc1JVRkRWa01zUlVGQlQyRXNSMEZCVVZJc1JVRkJaVkFzUlVGQlVXVXNSMEZCVDJRc1JVRkJVV01zU1VGRE5VTkJMRXRCUVZGbUxFbEJRMnBDUlN4RlFVRlBZU3hIUVVGUlVpeFBRVUZsVlN4RlFVRlhha0lzUlVGQlVXVXNUMEZKY2tRc1NVRkJTVWtzUlVGQldXaENMRVZCUTJKcFFpeFBRVUZQYUVJc1IwRkRVR2RDTEU5QlFVOW1MRWRCUTFCbExFOUJRVTlrTEVkQlJVNWxMRVZCUVZsRExFOUJRMkpETEV0QlFVdDJRaXhIUVVOTWIwSXNUMEZCVDBVc1QwRkJUME1zUzBGQlMzUkNMRWxCUTI1Q2RVSXNUMEZCVHl4VFFVRjVRa01zUjBGREwwSXNUMEZCYlVNc1NVRkJOVUpPTEVWQlFWVlBMRkZCUVZGRUxFdEJTemRDTEU5QlJrRTNRaXhOUVVGTmMwSXNVVUZCVVVjc1JVRkJWMUFzUjBGRmJFSmFJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTnZjbVV2YldWeVoyVkRiMjVtYVdjdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGNyZWF0ZUVycm9yPXJlcXVpcmUoXCIuL2NyZWF0ZUVycm9yXCIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQscixlKXt2YXIgcz1lLmNvbmZpZy52YWxpZGF0ZVN0YXR1cztlLnN0YXR1cyYmcyYmIXMoZS5zdGF0dXMpP3IoY3JlYXRlRXJyb3IoXCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlIFwiK2Uuc3RhdHVzLGUuY29uZmlnLG51bGwsZS5yZXF1ZXN0LGUpKTp0KGUpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTmxkSFJzWlM1cWN5SmRMQ0p1WVcxbGN5STZXeUpqY21WaGRHVkZjbkp2Y2lJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljbVZ6YjJ4MlpTSXNJbkpsYW1WamRDSXNJbkpsYzNCdmJuTmxJaXdpZG1Gc2FXUmhkR1ZUZEdGMGRYTWlMQ0pqYjI1bWFXY2lMQ0p6ZEdGMGRYTWlMQ0p5WlhGMVpYTjBJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEZsQlFXTkRMRkZCUVZFc2FVSkJVekZDUXl4UFFVRlBReXhSUVVGVkxGTkJRV2RDUXl4RlFVRlRReXhGUVVGUlF5eEhRVU5vUkN4SlFVRkpReXhGUVVGcFFrUXNSVUZCVTBVc1QwRkJUMFFzWlVGRGFFTkVMRVZCUVZOSExGRkJRVmRHTEVsQlFXdENRU3hGUVVGbFJDeEZRVUZUUnl4UlFVZHFSVW9zUlVGQlQwd3NXVUZEVEN4dFEwRkJjVU5OTEVWQlFWTkhMRTlCUXpsRFNDeEZRVUZUUlN4UFFVTlVMRXRCUTBGR0xFVkJRVk5KTEZGQlExUktMRWxCVUVaR0xFVkJRVkZGSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk52Y21VdmMyVjBkR3hsTG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIik7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCx1LHIpe3JldHVybiB1dGlscy5mb3JFYWNoKHIsZnVuY3Rpb24ocil7dD1yKHQsdSl9KSx0fTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluUnlZVzV6Wm05eWJVUmhkR0V1YW5NaVhTd2libUZ0WlhNaU9sc2lkWFJwYkhNaUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbVJoZEdFaUxDSm9aV0ZrWlhKeklpd2labTV6SWl3aVptOXlSV0ZqYUNJc0ltWnVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEUxQlFWRkRMRkZCUVZFc1kwRlZjRUpETEU5QlFVOURMRkZCUVZVc1UwRkJkVUpETEVWQlFVMURMRVZCUVZORExFZEJUWEpFTEU5QlNrRk9MRTFCUVUxUExGRkJRVkZFTEVWQlFVc3NVMEZCYlVKRkxFZEJRM0JEU2l4RlFVRlBTU3hGUVVGSFNpeEZRVUZOUXl4TFFVZFlSQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwyRjRhVzl6TDJ4cFlpOWpiM0psTDNSeVlXNXpabTl5YlVSaGRHRXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi91dGlsc1wiKSxub3JtYWxpemVIZWFkZXJOYW1lPXJlcXVpcmUoXCIuL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZVwiKSxERUZBVUxUX0NPTlRFTlRfVFlQRT17XCJDb250ZW50LVR5cGVcIjpcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwifTtmdW5jdGlvbiBzZXRDb250ZW50VHlwZUlmVW5zZXQoZSx0KXshdXRpbHMuaXNVbmRlZmluZWQoZSkmJnV0aWxzLmlzVW5kZWZpbmVkKGVbXCJDb250ZW50LVR5cGVcIl0pJiYoZVtcIkNvbnRlbnQtVHlwZVwiXT10KX1mdW5jdGlvbiBnZXREZWZhdWx0QWRhcHRlcigpe3ZhciBlO3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBYTUxIdHRwUmVxdWVzdD9lPXJlcXVpcmUoXCIuL2FkYXB0ZXJzL3hoclwiKTpcInVuZGVmaW5lZFwiIT10eXBlb2YgcHJvY2VzcyYmXCJbb2JqZWN0IHByb2Nlc3NdXCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocHJvY2VzcykmJihlPXJlcXVpcmUoXCIuL2FkYXB0ZXJzL2h0dHBcIikpLGV9dmFyIGRlZmF1bHRzPXthZGFwdGVyOmdldERlZmF1bHRBZGFwdGVyKCksdHJhbnNmb3JtUmVxdWVzdDpbZnVuY3Rpb24oZSx0KXtyZXR1cm4gbm9ybWFsaXplSGVhZGVyTmFtZSh0LFwiQWNjZXB0XCIpLG5vcm1hbGl6ZUhlYWRlck5hbWUodCxcIkNvbnRlbnQtVHlwZVwiKSx1dGlscy5pc0Zvcm1EYXRhKGUpfHx1dGlscy5pc0FycmF5QnVmZmVyKGUpfHx1dGlscy5pc0J1ZmZlcihlKXx8dXRpbHMuaXNTdHJlYW0oZSl8fHV0aWxzLmlzRmlsZShlKXx8dXRpbHMuaXNCbG9iKGUpP2U6dXRpbHMuaXNBcnJheUJ1ZmZlclZpZXcoZSk/ZS5idWZmZXI6dXRpbHMuaXNVUkxTZWFyY2hQYXJhbXMoZSk/KHNldENvbnRlbnRUeXBlSWZVbnNldCh0LFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLThcIiksZS50b1N0cmluZygpKTp1dGlscy5pc09iamVjdChlKT8oc2V0Q29udGVudFR5cGVJZlVuc2V0KHQsXCJhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLThcIiksSlNPTi5zdHJpbmdpZnkoZSkpOmV9XSx0cmFuc2Zvcm1SZXNwb25zZTpbZnVuY3Rpb24oZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpdHJ5e2U9SlNPTi5wYXJzZShlKX1jYXRjaChlKXt9cmV0dXJuIGV9XSx0aW1lb3V0OjAseHNyZkNvb2tpZU5hbWU6XCJYU1JGLVRPS0VOXCIseHNyZkhlYWRlck5hbWU6XCJYLVhTUkYtVE9LRU5cIixtYXhDb250ZW50TGVuZ3RoOi0xLG1heEJvZHlMZW5ndGg6LTEsdmFsaWRhdGVTdGF0dXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGU+PTIwMCYmZTwzMDB9LGhlYWRlcnM6e2NvbW1vbjp7QWNjZXB0OlwiYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qXCJ9fX07dXRpbHMuZm9yRWFjaChbXCJkZWxldGVcIixcImdldFwiLFwiaGVhZFwiXSxmdW5jdGlvbihlKXtkZWZhdWx0cy5oZWFkZXJzW2VdPXt9fSksdXRpbHMuZm9yRWFjaChbXCJwb3N0XCIsXCJwdXRcIixcInBhdGNoXCJdLGZ1bmN0aW9uKGUpe2RlZmF1bHRzLmhlYWRlcnNbZV09dXRpbHMubWVyZ2UoREVGQVVMVF9DT05URU5UX1RZUEUpfSksbW9kdWxlLmV4cG9ydHM9ZGVmYXVsdHM7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVJsWm1GMWJIUnpMbXB6SWwwc0ltNWhiV1Z6SWpwYkluVjBhV3h6SWl3aWNtVnhkV2x5WlNJc0ltNXZjbTFoYkdsNlpVaGxZV1JsY2s1aGJXVWlMQ0pFUlVaQlZVeFVYME5QVGxSRlRsUmZWRmxRUlNJc0lrTnZiblJsYm5RdFZIbHdaU0lzSW5ObGRFTnZiblJsYm5SVWVYQmxTV1pWYm5ObGRDSXNJbWhsWVdSbGNuTWlMQ0oyWVd4MVpTSXNJbWx6Vlc1a1pXWnBibVZrSWl3aVoyVjBSR1ZtWVhWc2RFRmtZWEIwWlhJaUxDSmhaR0Z3ZEdWeUlpd2lXRTFNU0hSMGNGSmxjWFZsYzNRaUxDSndjbTlqWlhOeklpd2lUMkpxWldOMElpd2ljSEp2ZEc5MGVYQmxJaXdpZEc5VGRISnBibWNpTENKallXeHNJaXdpWkdWbVlYVnNkSE1pTENKMGNtRnVjMlp2Y20xU1pYRjFaWE4wSWl3aVpHRjBZU0lzSW1selJtOXliVVJoZEdFaUxDSnBjMEZ5Y21GNVFuVm1abVZ5SWl3aWFYTkNkV1ptWlhJaUxDSnBjMU4wY21WaGJTSXNJbWx6Um1sc1pTSXNJbWx6UW14dllpSXNJbWx6UVhKeVlYbENkV1ptWlhKV2FXVjNJaXdpWW5WbVptVnlJaXdpYVhOVlVreFRaV0Z5WTJoUVlYSmhiWE1pTENKcGMwOWlhbVZqZENJc0lrcFRUMDRpTENKemRISnBibWRwWm5raUxDSjBjbUZ1YzJadmNtMVNaWE53YjI1elpTSXNJbkJoY25ObElpd2laU0lzSW5ScGJXVnZkWFFpTENKNGMzSm1RMjl2YTJsbFRtRnRaU0lzSW5oemNtWklaV0ZrWlhKT1lXMWxJaXdpYldGNFEyOXVkR1Z1ZEV4bGJtZDBhQ0lzSW0xaGVFSnZaSGxNWlc1bmRHZ2lMQ0oyWVd4cFpHRjBaVk4wWVhSMWN5SXNJbk4wWVhSMWN5SXNJbU52YlcxdmJpSXNJa0ZqWTJWd2RDSXNJbVp2Y2tWaFkyZ2lMQ0p0WlhSb2IyUWlMQ0p0WlhKblpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1NVRkJTVUVzVFVGQlVVTXNVVUZCVVN4WFFVTm9Ra01zYjBKQlFYTkNSQ3hSUVVGUkxHbERRVVU1UWtVc2NVSkJRWFZDTEVOQlEzcENReXhsUVVGblFpeHhRMEZIYkVJc1UwRkJVME1zYzBKQlFYTkNReXhGUVVGVFF5eEpRVU5xUTFBc1RVRkJUVkVzV1VGQldVWXNTVUZCV1U0c1RVRkJUVkVzV1VGQldVWXNSVUZCVVN4dFFrRkRNMFJCTEVWQlFWRXNaMEpCUVd0Q1F5eEhRVWs1UWl4VFFVRlRSU3h2UWtGRFVDeEpRVUZKUXl4RlFWRktMRTFCVURoQ0xHOUNRVUZ1UWtNc1pVRkZWRVFzUlVGQlZWUXNVVUZCVVN4clFrRkRWU3h2UWtGQldsY3NVMEZCZFVVc2NVSkJRVFZEUXl4UFFVRlBReXhWUVVGVlF5eFRRVUZUUXl4TFFVRkxTaXhYUVVVeFJVWXNSVUZCVlZRc1VVRkJVU3h2UWtGRllsTXNSVUZIVkN4SlFVRkpUeXhUUVVGWExFTkJRMkpRTEZGQlFWTkVMRzlDUVVWVVV5eHBRa0ZCYTBJc1EwRkJReXhUUVVFd1FrTXNSVUZCVFdJc1IwRkhha1FzVDBGR1FVb3NiMEpCUVc5Q1NTeEZRVUZUTEZWQlF6ZENTaXh2UWtGQmIwSkpMRVZCUVZNc1owSkJRM3BDVGl4TlFVRk5iMElzVjBGQlYwUXNTVUZEYmtKdVFpeE5RVUZOY1VJc1kwRkJZMFlzU1VGRGNFSnVRaXhOUVVGTmMwSXNVMEZCVTBnc1NVRkRabTVDTEUxQlFVMTFRaXhUUVVGVFNpeEpRVU5tYmtJc1RVRkJUWGRDTEU5QlFVOU1MRWxCUTJKdVFpeE5RVUZOZVVJc1QwRkJUMDRzUjBGRlRrRXNSVUZGVEc1Q0xFMUJRVTB3UWl4clFrRkJhMEpRTEVkQlEyNUNRU3hGUVVGTFVTeFBRVVZXTTBJc1RVRkJUVFJDTEd0Q1FVRnJRbFFzU1VGRE1VSmtMSE5DUVVGelFrTXNSVUZCVXl4dFJFRkRlRUpoTEVWQlFVdEtMRmxCUlZabUxFMUJRVTAyUWl4VFFVRlRWaXhKUVVOcVFtUXNjMEpCUVhOQ1F5eEZRVUZUTEd0RFFVTjRRbmRDTEV0QlFVdERMRlZCUVZWYUxFbEJSV3BDUVN4SlFVZFVZU3hyUWtGQmJVSXNRMEZCUXl4VFFVRXlRbUlzUjBGRk4wTXNSMEZCYjBJc2FVSkJRVlJCTEVWQlExUXNTVUZEUlVFc1JVRkJUMWNzUzBGQlMwY3NUVUZCVFdRc1IwRkRiRUlzVFVGQlQyVXNTVUZGV0N4UFFVRlBaaXhKUVU5VVowSXNVVUZCVXl4RlFVVlVReXhsUVVGblFpeGhRVU5vUWtNc1pVRkJaMElzWlVGRmFFSkRMR3RDUVVGdFFpeEZRVU51UWtNc1pVRkJaMElzUlVGRmFFSkRMR1ZCUVdkQ0xGTkJRWGRDUXl4SFFVTjBReXhQUVVGUFFTeEhRVUZWTEV0QlFVOUJMRVZCUVZNc1MwRkpja051UXl4UlFVRnRRaXhEUVVOcVFtOURMRTlCUVZFc1EwRkRUa01zVDBGQlZTeDFRMEZKWkRORExFMUJRVTAwUXl4UlFVRlJMRU5CUVVNc1UwRkJWU3hOUVVGUExGRkJRVk1zVTBGQk5rSkRMRWRCUTNCRk5VSXNVMEZCVTFnc1VVRkJVWFZETEVkQlFWVXNTMEZITjBJM1F5eE5RVUZOTkVNc1VVRkJVU3hEUVVGRExFOUJRVkVzVFVGQlR5eFRRVUZWTEZOQlFTdENReXhIUVVOeVJUVkNMRk5CUVZOWUxGRkJRVkYxUXl4SFFVRlZOME1zVFVGQlRUaERMRTFCUVUwelF5eDNRa0ZIZWtNMFF5eFBRVUZQUXl4UlFVRlZMMElpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZaR1ZtWVhWc2RITXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIsbil7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSxlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIHIuYXBwbHkobix0KX19O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KcGJtUXVhbk1pWFN3aWJtRnRaWE1pT2xzaWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltWnVJaXdpZEdocGMwRnlaeUlzSW1GeVozTWlMQ0pCY25KaGVTSXNJbUZ5WjNWdFpXNTBjeUlzSW14bGJtZDBhQ0lzSW1raUxDSmhjSEJzZVNKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRVUVzVDBGQlQwTXNVVUZCVlN4VFFVRmpReXhGUVVGSlF5eEhRVU5xUXl4UFFVRlBMRmRCUlV3c1NVRkVRU3hKUVVGSlF5eEZRVUZQTEVsQlFVbERMRTFCUVUxRExGVkJRVlZETEZGQlEzUkNReXhGUVVGSkxFVkJRVWRCTEVWQlFVbEtMRVZCUVV0SExFOUJRVkZETEVsQlF5OUNTaXhGUVVGTFNTeEhRVUZMUml4VlFVRlZSU3hIUVVWMFFpeFBRVUZQVGl4RlFVRkhUeXhOUVVGTlRpeEZRVUZUUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMMkpwYm1RdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpO2Z1bmN0aW9uIGVuY29kZShlKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGUpLnJlcGxhY2UoLyUzQS9naSxcIjpcIikucmVwbGFjZSgvJTI0L2csXCIkXCIpLnJlcGxhY2UoLyUyQy9naSxcIixcIikucmVwbGFjZSgvJTIwL2csXCIrXCIpLnJlcGxhY2UoLyU1Qi9naSxcIltcIikucmVwbGFjZSgvJTVEL2dpLFwiXVwiKX1tb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLGkscil7aWYoIWkpcmV0dXJuIGU7dmFyIHQ7aWYocil0PXIoaSk7ZWxzZSBpZih1dGlscy5pc1VSTFNlYXJjaFBhcmFtcyhpKSl0PWkudG9TdHJpbmcoKTtlbHNle3ZhciBuPVtdO3V0aWxzLmZvckVhY2goaSxmdW5jdGlvbihlLGkpe251bGwhPWUmJih1dGlscy5pc0FycmF5KGUpP2krPVwiW11cIjplPVtlXSx1dGlscy5mb3JFYWNoKGUsZnVuY3Rpb24oZSl7dXRpbHMuaXNEYXRlKGUpP2U9ZS50b0lTT1N0cmluZygpOnV0aWxzLmlzT2JqZWN0KGUpJiYoZT1KU09OLnN0cmluZ2lmeShlKSksbi5wdXNoKGVuY29kZShpKStcIj1cIitlbmNvZGUoZSkpfSkpfSksdD1uLmpvaW4oXCImXCIpfWlmKHQpe3ZhciBzPWUuaW5kZXhPZihcIiNcIik7LTEhPT1zJiYoZT1lLnNsaWNlKDAscykpLGUrPSgtMT09PWUuaW5kZXhPZihcIj9cIik/XCI/XCI6XCImXCIpK3R9cmV0dXJuIGV9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KMWFXeGtWVkpNTG1weklsMHNJbTVoYldWeklqcGJJblYwYVd4eklpd2ljbVZ4ZFdseVpTSXNJbVZ1WTI5a1pTSXNJblpoYkNJc0ltVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDSXNJbkpsY0d4aFkyVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpZFhKc0lpd2ljR0Z5WVcxeklpd2ljR0Z5WVcxelUyVnlhV0ZzYVhwbGNpSXNJbk5sY21saGJHbDZaV1JRWVhKaGJYTWlMQ0pwYzFWU1RGTmxZWEpqYUZCaGNtRnRjeUlzSW5SdlUzUnlhVzVuSWl3aWNHRnlkSE1pTENKbWIzSkZZV05vSWl3aWEyVjVJaXdpYVhOQmNuSmhlU0lzSW5ZaUxDSnBjMFJoZEdVaUxDSjBiMGxUVDFOMGNtbHVaeUlzSW1selQySnFaV04wSWl3aVNsTlBUaUlzSW5OMGNtbHVaMmxtZVNJc0luQjFjMmdpTENKcWIybHVJaXdpYUdGemFHMWhjbXRKYm1SbGVDSXNJbWx1WkdWNFQyWWlMQ0p6YkdsalpTSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hOUVVGUlF5eFJRVUZSTEdOQlJYQkNMRk5CUVZORExFOUJRVTlETEVkQlEyUXNUMEZCVDBNc2JVSkJRVzFDUkN4SFFVTjRRa1VzVVVGQlVTeFJRVUZUTEV0QlEycENRU3hSUVVGUkxFOUJRVkVzUzBGRGFFSkJMRkZCUVZFc1VVRkJVeXhMUVVOcVFrRXNVVUZCVVN4UFFVRlJMRXRCUTJoQ1FTeFJRVUZSTEZGQlFWTXNTMEZEYWtKQkxGRkJRVkVzVVVGQlV5eExRVlZ5UWtNc1QwRkJUME1zVVVGQlZTeFRRVUZyUWtNc1JVRkJTME1zUlVGQlVVTXNSMEZGT1VNc1NVRkJTMFFzUlVGRFNDeFBRVUZQUkN4RlFVZFVMRWxCUVVsSExFVkJRMG9zUjBGQlNVUXNSVUZEUmtNc1JVRkJiVUpFTEVWQlFXbENSQ3hSUVVNdlFpeEhRVUZKVkN4TlFVRk5XU3hyUWtGQmEwSklMRWRCUTJwRFJTeEZRVUZ0UWtZc1JVRkJUMGtzWlVGRGNrSXNRMEZEVEN4SlFVRkpReXhGUVVGUkxFZEJSVnBrTEUxQlFVMWxMRkZCUVZGT0xFVkJRVkVzVTBGQmJVSk9MRVZCUVV0aExFZEJRM2hEWWl4TlFVRkJRU3hKUVVsQlNDeE5RVUZOYVVJc1VVRkJVV1FzUjBGRGFFSmhMRWRCUVZrc1MwRkZXbUlzUlVGQlRTeERRVUZEUVN4SFFVZFVTQ3hOUVVGTlpTeFJRVUZSV2l4RlFVRkxMRk5CUVc5Q1pTeEhRVU5xUTJ4Q0xFMUJRVTF0UWl4UFFVRlBSQ3hIUVVObVFTeEZRVUZKUVN4RlFVRkZSU3hqUVVOSGNFSXNUVUZCVFhGQ0xGTkJRVk5JTEV0QlEzaENRU3hGUVVGSlNTeExRVUZMUXl4VlFVRlZUQ3hKUVVWeVFrb3NSVUZCVFZVc1MwRkJTM1JDTEU5QlFVOWpMRWRCUVU4c1NVRkJUV1FzVDBGQlQyZENMRk5CU1RGRFVDeEZRVUZ0UWtjc1JVRkJUVmNzUzBGQlN5eExRVWRvUXl4SFFVRkpaQ3hGUVVGclFpeERRVU53UWl4SlFVRkpaU3hGUVVGblFteENMRVZCUVVsdFFpeFJRVUZSTEUxQlExUXNTVUZCYmtKRUxFbEJRMFpzUWl4RlFVRk5RU3hGUVVGSmIwSXNUVUZCVFN4RlFVRkhSaXhKUVVkeVFteENMRXRCUVRoQ0xFbEJRWFJDUVN4RlFVRkpiVUlzVVVGQlVTeExRVUZqTEVsQlFVMHNTMEZCVDJoQ0xFVkJSMnBFTEU5QlFVOUlJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyaGxiSEJsY25NdlluVnBiR1JWVWt3dWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gcj9lLnJlcGxhY2UoL1xcLyskLyxcIlwiKStcIi9cIityLnJlcGxhY2UoL15cXC8rLyxcIlwiKTplfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltTnZiV0pwYm1WVlVreHpMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSmlZWE5sVlZKTUlpd2ljbVZzWVhScGRtVlZVa3dpTENKeVpYQnNZV05sSWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4aFFWTkJRU3hQUVVGUFF5eFJRVUZWTEZOQlFYRkNReXhGUVVGVFF5eEhRVU0zUXl4UFFVRlBRU3hGUVVOSVJDeEZRVUZSUlN4UlFVRlJMRTlCUVZFc1NVRkJUU3hKUVVGTlJDeEZRVUZaUXl4UlFVRlJMRTlCUVZFc1NVRkRhRVZHSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMmhsYkhCbGNuTXZZMjl0WW1sdVpWVlNUSE11YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIik7bW9kdWxlLmV4cG9ydHM9dXRpbHMuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKT97d3JpdGU6ZnVuY3Rpb24oZSx0LG4saSx1LG8pe3ZhciByPVtdO3IucHVzaChlK1wiPVwiK2VuY29kZVVSSUNvbXBvbmVudCh0KSksdXRpbHMuaXNOdW1iZXIobikmJnIucHVzaChcImV4cGlyZXM9XCIrbmV3IERhdGUobikudG9HTVRTdHJpbmcoKSksdXRpbHMuaXNTdHJpbmcoaSkmJnIucHVzaChcInBhdGg9XCIraSksdXRpbHMuaXNTdHJpbmcodSkmJnIucHVzaChcImRvbWFpbj1cIit1KSwhMD09PW8mJnIucHVzaChcInNlY3VyZVwiKSxkb2N1bWVudC5jb29raWU9ci5qb2luKFwiOyBcIil9LHJlYWQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoXCIoXnw7XFxcXHMqKShcIitlK1wiKT0oW147XSopXCIpKTtyZXR1cm4gdD9kZWNvZGVVUklDb21wb25lbnQodFszXSk6bnVsbH0scmVtb3ZlOmZ1bmN0aW9uKGUpe3RoaXMud3JpdGUoZSxcIlwiLERhdGUubm93KCktODY0ZTUpfX06e3dyaXRlOmZ1bmN0aW9uKCl7fSxyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LHJlbW92ZTpmdW5jdGlvbigpe319O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1OdmIydHBaWE11YW5NaVhTd2libUZ0WlhNaU9sc2lkWFJwYkhNaUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbWx6VTNSaGJtUmhjbVJDY205M2MyVnlSVzUySWl3aWQzSnBkR1VpTENKdVlXMWxJaXdpZG1Gc2RXVWlMQ0psZUhCcGNtVnpJaXdpY0dGMGFDSXNJbVJ2YldGcGJpSXNJbk5sWTNWeVpTSXNJbU52YjJ0cFpTSXNJbkIxYzJnaUxDSmxibU52WkdWVlVrbERiMjF3YjI1bGJuUWlMQ0pwYzA1MWJXSmxjaUlzSWtSaGRHVWlMQ0owYjBkTlZGTjBjbWx1WnlJc0ltbHpVM1J5YVc1bklpd2laRzlqZFcxbGJuUWlMQ0pxYjJsdUlpd2ljbVZoWkNJc0ltMWhkR05vSWl3aVVtVm5SWGh3SWl3aVpHVmpiMlJsVlZKSlEyOXRjRzl1Wlc1MElpd2ljbVZ0YjNabElpd2lkR2hwY3lJc0ltNXZkeUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFTeEpRVUZKUVN4TlFVRlJReXhSUVVGUkxHTkJSWEJDUXl4UFFVRlBReXhSUVVOTVNDeE5RVUZOU1N4MVFrRkpTeXhEUVVOTVF5eE5RVUZQTEZOQlFXVkRMRVZCUVUxRExFVkJRVTlETEVWQlFWTkRMRVZCUVUxRExFVkJRVkZETEVkQlEzaEVMRWxCUVVsRExFVkJRVk1zUjBGRFlrRXNSVUZCVDBNc1MwRkJTMUFzUlVGQlR5eEpRVUZOVVN4dFFrRkJiVUpRTEVsQlJYaERVQ3hOUVVGTlpTeFRRVUZUVUN4SlFVTnFRa2tzUlVGQlQwTXNTMEZCU3l4WFFVRmhMRWxCUVVsSExFdEJRVXRTTEVkQlFWTlRMR1ZCUjNwRGFrSXNUVUZCVFd0Q0xGTkJRVk5VTEVsQlEycENSeXhGUVVGUFF5eExRVUZMTEZGQlFWVktMRWRCUjNCQ1ZDeE5RVUZOYTBJc1UwRkJVMUlzU1VGRGFrSkZMRVZCUVU5RExFdEJRVXNzVlVGQldVZ3NTVUZIV0N4SlFVRllReXhIUVVOR1F5eEZRVUZQUXl4TFFVRkxMRlZCUjJSTkxGTkJRVk5RTEU5QlFWTkJMRVZCUVU5UkxFdEJRVXNzVDBGSGFFTkRMRXRCUVUwc1UwRkJZMllzUjBGRGJFSXNTVUZCU1dkQ0xFVkJRVkZJTEZOQlFWTlFMRTlCUVU5VkxFMUJRVTBzU1VGQlNVTXNUMEZCVHl4aFFVRmxha0lzUlVGQlR5eGpRVU51UlN4UFFVRlJaMElzUlVGQlVVVXNiVUpCUVcxQ1JpeEZRVUZOTEVsQlFVMHNUVUZIYWtSSExFOUJRVkVzVTBGQlowSnVRaXhIUVVOMFFtOUNMRXRCUVV0eVFpeE5RVUZOUXl4RlFVRk5MRWRCUVVsVkxFdEJRVXRYTEUxQlFWRXNVMEZQTDBJc1EwRkRUSFJDTEUxQlFVOHNZVUZEVUdkQ0xFdEJRVTBzVjBGQmEwSXNUMEZCVHl4TlFVTXZRa2tzVDBGQlVTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5b1pXeHdaWEp6TDJOdmIydHBaWE11YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4vXihbYS16XVthLXpcXGRcXCtcXC1cXC5dKjopP1xcL1xcLy9pLnRlc3QodCl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1selFXSnpiMngxZEdWVlVrd3Vhbk1pWFN3aWJtRnRaWE1pT2xzaWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0luVnliQ0lzSW5SbGMzUWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCVVVGQkxFOUJRVTlETEZGQlFWVXNVMEZCZFVKRExFZEJTWFJETEUxQlFVOHNaME5CUVdkRFF5eExRVUZMUkNJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMMmx6UVdKemIyeDFkR1ZWVWt3dWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24obyl7cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIG8mJiEwPT09by5pc0F4aW9zRXJyb3J9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1selFYaHBiM05GY25KdmNpNXFjeUpkTENKdVlXMWxjeUk2V3lKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWNHRjViRzloWkNJc0ltbHpRWGhwYjNORmNuSnZjaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGUlFVRXNUMEZCVDBNc1VVRkJWU3hUUVVGelFrTXNSMEZEY2tNc1RVRkJNa0lzYVVKQlFWcEJMRWxCUVcxRUxFbEJRWHBDUVN4RlFVRlJReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwyRjRhVzl6TDJ4cFlpOW9aV3h3WlhKekwybHpRWGhwYjNORmNuSnZjaTVxY3lKOSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi8uLi91dGlsc1wiKTttb2R1bGUuZXhwb3J0cz11dGlscy5pc1N0YW5kYXJkQnJvd3NlckVudigpP2Z1bmN0aW9uKCl7dmFyIHQscj0vKG1zaWV8dHJpZGVudCkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7ZnVuY3Rpb24gbyh0KXt2YXIgbz10O3JldHVybiByJiYoZS5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsbyksbz1lLmhyZWYpLGUuc2V0QXR0cmlidXRlKFwiaHJlZlwiLG8pLHtocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sP2UucHJvdG9jb2wucmVwbGFjZSgvOiQvLFwiXCIpOlwiXCIsaG9zdDplLmhvc3Qsc2VhcmNoOmUuc2VhcmNoP2Uuc2VhcmNoLnJlcGxhY2UoL15cXD8vLFwiXCIpOlwiXCIsaGFzaDplLmhhc2g/ZS5oYXNoLnJlcGxhY2UoL14jLyxcIlwiKTpcIlwiLGhvc3RuYW1lOmUuaG9zdG5hbWUscG9ydDplLnBvcnQscGF0aG5hbWU6XCIvXCI9PT1lLnBhdGhuYW1lLmNoYXJBdCgwKT9lLnBhdGhuYW1lOlwiL1wiK2UucGF0aG5hbWV9fXJldHVybiB0PW8od2luZG93LmxvY2F0aW9uLmhyZWYpLGZ1bmN0aW9uKHIpe3ZhciBlPXV0aWxzLmlzU3RyaW5nKHIpP28ocik6cjtyZXR1cm4gZS5wcm90b2NvbD09PXQucHJvdG9jb2wmJmUuaG9zdD09PXQuaG9zdH19KCk6ZnVuY3Rpb24oKXtyZXR1cm4hMH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx6VlZKTVUyRnRaVTl5YVdkcGJpNXFjeUpkTENKdVlXMWxjeUk2V3lKMWRHbHNjeUlzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWFYTlRkR0Z1WkdGeVpFSnliM2R6WlhKRmJuWWlMQ0p2Y21sbmFXNVZVa3dpTENKdGMybGxJaXdpZEdWemRDSXNJbTVoZG1sbllYUnZjaUlzSW5WelpYSkJaMlZ1ZENJc0luVnliRkJoY25OcGJtZE9iMlJsSWl3aVpHOWpkVzFsYm5RaUxDSmpjbVZoZEdWRmJHVnRaVzUwSWl3aWNtVnpiMngyWlZWU1RDSXNJblZ5YkNJc0ltaHlaV1lpTENKelpYUkJkSFJ5YVdKMWRHVWlMQ0p3Y205MGIyTnZiQ0lzSW5KbGNHeGhZMlVpTENKb2IzTjBJaXdpYzJWaGNtTm9JaXdpYUdGemFDSXNJbWh2YzNSdVlXMWxJaXdpY0c5eWRDSXNJbkJoZEdodVlXMWxJaXdpWTJoaGNrRjBJaXdpZDJsdVpHOTNJaXdpYkc5allYUnBiMjRpTENKeVpYRjFaWE4wVlZKTUlpd2ljR0Z5YzJWa0lpd2lhWE5UZEhKcGJtY2lYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1NVRkJTVUVzVFVGQlVVTXNVVUZCVVN4alFVVndRa01zVDBGQlQwTXNVVUZEVEVnc1RVRkJUVWtzZFVKQlNVb3NWMEZEUlN4SlFVVkpReXhGUVVaQlF5eEZRVUZQTEd0Q1FVRnJRa01zUzBGQlMwTXNWVUZCVlVNc1YwRkRlRU5ETEVWQlFXbENReXhUUVVGVFF5eGpRVUZqTEV0QlV6VkRMRk5CUVZORExFVkJRVmRETEVkQlEyeENMRWxCUVVsRExFVkJRVTlFTEVWQlYxZ3NUMEZVU1ZJc1NVRkZSa2tzUlVGQlpVMHNZVUZCWVN4UFFVRlJSQ3hIUVVOd1EwRXNSVUZCVDB3c1JVRkJaVXNzVFVGSGVFSk1MRVZCUVdWTkxHRkJRV0VzVDBGQlVVUXNSMEZITjBJc1EwRkRURUVzUzBGQlRVd3NSVUZCWlVzc1MwRkRja0pGTEZOQlFWVlFMRVZCUVdWUExGTkJRVmRRTEVWQlFXVlBMRk5CUVZORExGRkJRVkVzUzBGQlRTeEpRVUZOTEVkQlEyaEdReXhMUVVGTlZDeEZRVUZsVXl4TFFVTnlRa01zVDBGQlVWWXNSVUZCWlZVc1QwRkJVMVlzUlVGQlpWVXNUMEZCVDBZc1VVRkJVU3hOUVVGUExFbEJRVTBzUjBGRE0wVkhMRXRCUVUxWUxFVkJRV1ZYTEV0QlFVOVlMRVZCUVdWWExFdEJRVXRJTEZGQlFWRXNTMEZCVFN4SlFVRk5MRWRCUTNCRlNTeFRRVUZWV2l4RlFVRmxXU3hUUVVONlFrTXNTMEZCVFdJc1JVRkJaV0VzUzBGRGNrSkRMRk5CUVdsRUxFMUJRWFJEWkN4RlFVRmxZeXhUUVVGVFF5eFBRVUZQTEVkQlEzaERaaXhGUVVGbFl5eFRRVU5tTEVsQlFVMWtMRVZCUVdWakxGVkJXVE5DTEU5QlVrRnVRaXhGUVVGWlVTeEZRVUZYWVN4UFFVRlBReXhUUVVGVFdpeE5RVkZvUXl4VFFVRjVRbUVzUjBGRE9VSXNTVUZCU1VNc1JVRkJWVGRDTEUxQlFVMDRRaXhUUVVGVFJpeEhRVUZsWml4RlFVRlhaU3hIUVVGalFTeEZRVU55UlN4UFFVRlJReXhGUVVGUFdpeFhRVUZoV2l4RlFVRlZXU3hWUVVOc1Exa3NSVUZCVDFZc1QwRkJVMlFzUlVGQlZXTXNUVUZvUkd4RExFZEJjMFJUTEZkQlEwd3NUMEZCVHlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMMmx6VlZKTVUyRnRaVTl5YVdkcGJpNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLi91dGlsc1wiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3V0aWxzLmZvckVhY2goZSxmdW5jdGlvbihyLHMpe3MhPT10JiZzLnRvVXBwZXJDYXNlKCk9PT10LnRvVXBwZXJDYXNlKCkmJihlW3RdPXIsZGVsZXRlIGVbc10pfSl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW01dmNtMWhiR2w2WlVobFlXUmxjazVoYldVdWFuTWlYU3dpYm1GdFpYTWlPbHNpZFhScGJITWlMQ0p5WlhGMWFYSmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW1obFlXUmxjbk1pTENKdWIzSnRZV3hwZW1Wa1RtRnRaU0lzSW1admNrVmhZMmdpTENKMllXeDFaU0lzSW01aGJXVWlMQ0owYjFWd2NHVnlRMkZ6WlNKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRU3hKUVVGSlFTeE5RVUZSUXl4UlFVRlJMRmxCUlhCQ1F5eFBRVUZQUXl4UlFVRlZMRk5CUVRaQ1F5eEZRVUZUUXl4SFFVTnlSRXdzVFVGQlRVMHNVVUZCVVVZc1JVRkJVeXhUUVVGMVFrY3NSVUZCVDBNc1IwRkRMME5CTEVsQlFWTklMRWRCUVd0Q1J5eEZRVUZMUXl4blFrRkJhMEpLTEVWQlFXVkpMR2RDUVVOdVJVd3NSVUZCVVVNc1IwRkJhMEpGTEZOQlEyNUNTQ3hGUVVGUlNTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5b1pXeHdaWEp6TDI1dmNtMWhiR2w2WlVobFlXUmxjazVoYldVdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpLGlnbm9yZUR1cGxpY2F0ZU9mPVtcImFnZVwiLFwiYXV0aG9yaXphdGlvblwiLFwiY29udGVudC1sZW5ndGhcIixcImNvbnRlbnQtdHlwZVwiLFwiZXRhZ1wiLFwiZXhwaXJlc1wiLFwiZnJvbVwiLFwiaG9zdFwiLFwiaWYtbW9kaWZpZWQtc2luY2VcIixcImlmLXVubW9kaWZpZWQtc2luY2VcIixcImxhc3QtbW9kaWZpZWRcIixcImxvY2F0aW9uXCIsXCJtYXgtZm9yd2FyZHNcIixcInByb3h5LWF1dGhvcml6YXRpb25cIixcInJlZmVyZXJcIixcInJldHJ5LWFmdGVyXCIsXCJ1c2VyLWFnZW50XCJdO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLGkscixvPXt9O3JldHVybiB0Pyh1dGlscy5mb3JFYWNoKHQuc3BsaXQoXCJcXG5cIiksZnVuY3Rpb24odCl7aWYocj10LmluZGV4T2YoXCI6XCIpLGU9dXRpbHMudHJpbSh0LnN1YnN0cigwLHIpKS50b0xvd2VyQ2FzZSgpLGk9dXRpbHMudHJpbSh0LnN1YnN0cihyKzEpKSxlKXtpZihvW2VdJiZpZ25vcmVEdXBsaWNhdGVPZi5pbmRleE9mKGUpPj0wKXJldHVybjtvW2VdPVwic2V0LWNvb2tpZVwiPT09ZT8ob1tlXT9vW2VdOltdKS5jb25jYXQoW2ldKTpvW2VdP29bZV0rXCIsIFwiK2k6aX19KSxvKTpvfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluQmhjbk5sU0dWaFpHVnljeTVxY3lKZExDSnVZVzFsY3lJNld5SjFkR2xzY3lJc0luSmxjWFZwY21VaUxDSnBaMjV2Y21WRWRYQnNhV05oZEdWUFppSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pvWldGa1pYSnpJaXdpYTJWNUlpd2lkbUZzSWl3aWFTSXNJbkJoY25ObFpDSXNJbVp2Y2tWaFkyZ2lMQ0p6Y0d4cGRDSXNJbXhwYm1VaUxDSnBibVJsZUU5bUlpd2lkSEpwYlNJc0luTjFZbk4wY2lJc0luUnZURzkzWlhKRFlYTmxJaXdpWTI5dVkyRjBJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEUxQlFWRkRMRkZCUVZFc1kwRkphRUpETEd0Q1FVRnZRaXhEUVVOMFFpeE5RVUZQTEdkQ1FVRnBRaXhwUWtGQmEwSXNaVUZCWjBJc1QwRkRNVVFzVlVGQlZ5eFBRVUZSTEU5QlFWRXNiMEpCUVhGQ0xITkNRVU5vUkN4blFrRkJhVUlzVjBGQldTeGxRVUZuUWl4elFrRkROME1zVlVGQlZ5eGpRVUZsTEdOQlowSTFRa01zVDBGQlQwTXNVVUZCVlN4VFFVRnpRa01zUjBGRGNrTXNTVUZEU1VNc1JVRkRRVU1zUlVGRFFVTXNSVUZJUVVNc1JVRkJVeXhIUVV0aUxFOUJRVXRLTEVkQlJVeE1MRTFCUVUxVkxGRkJRVkZNTEVWQlFWRk5MRTFCUVUwc1RVRkJUeXhUUVVGblFrTXNSMEZMYWtRc1IwRktRVW9zUlVGQlNVa3NSVUZCUzBNc1VVRkJVU3hMUVVOcVFsQXNSVUZCVFU0c1RVRkJUV01zUzBGQlMwWXNSVUZCUzBjc1QwRkJUeXhGUVVGSFVDeEpRVUZKVVN4alFVTndRMVFzUlVGQlRWQXNUVUZCVFdNc1MwRkJTMFlzUlVGQlMwY3NUMEZCVDFBc1JVRkJTU3hKUVVVM1FrWXNSVUZCU3l4RFFVTlFMRWRCUVVsSExFVkJRVTlJTEVsQlFWRktMR3RDUVVGclFsY3NVVUZCVVZBc1NVRkJVU3hGUVVOdVJDeFBRVWRCUnl4RlFVRlBTQ3hIUVVSSExHVkJRVkpCTEVkQlEyRkhMRVZCUVU5SUxFZEJRVTlITEVWQlFVOUlMRWRCUVU4c1NVRkJTVmNzVDBGQlR5eERRVUZEVml4SlFVVjZRMFVzUlVGQlQwZ3NSMEZCVDBjc1JVRkJUMGdzUjBGQlR5eExRVUZQUXl4RlFVRk5RU3hMUVV0MFJFVXNSMEZ1UW1kQ1FTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5b1pXeHdaWEp6TDNCaGNuTmxTR1ZoWkdWeWN5NXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuLmFwcGx5KG51bGwsdCl9fTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTndjbVZoWkM1cWN5SmRMQ0p1WVcxbGN5STZXeUp0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpWTJGc2JHSmhZMnNpTENKaGNuSWlMQ0poY0hCc2VTSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZ6UWtGQkxFOUJRVTlETEZGQlFWVXNVMEZCWjBKRExFZEJReTlDTEU5QlFVOHNVMEZCWTBNc1IwRkRia0lzVDBGQlQwUXNSVUZCVTBVc1RVRkJUU3hMUVVGTlJDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5b1pXeHdaWEp6TDNOd2NtVmhaQzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO3ZhciBiaW5kPXJlcXVpcmUoXCIuL2hlbHBlcnMvYmluZFwiKSx0b1N0cmluZz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIGlzQXJyYXkocil7cmV0dXJuXCJbb2JqZWN0IEFycmF5XVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc1VuZGVmaW5lZChyKXtyZXR1cm4gdm9pZCAwPT09cn1mdW5jdGlvbiBpc0J1ZmZlcihyKXtyZXR1cm4gbnVsbCE9PXImJiFpc1VuZGVmaW5lZChyKSYmbnVsbCE9PXIuY29uc3RydWN0b3ImJiFpc1VuZGVmaW5lZChyLmNvbnN0cnVjdG9yKSYmXCJmdW5jdGlvblwiPT10eXBlb2Ygci5jb25zdHJ1Y3Rvci5pc0J1ZmZlciYmci5jb25zdHJ1Y3Rvci5pc0J1ZmZlcihyKX1mdW5jdGlvbiBpc0FycmF5QnVmZmVyKHIpe3JldHVyblwiW29iamVjdCBBcnJheUJ1ZmZlcl1cIj09PXRvU3RyaW5nLmNhbGwocil9ZnVuY3Rpb24gaXNGb3JtRGF0YShyKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgRm9ybURhdGEmJnIgaW5zdGFuY2VvZiBGb3JtRGF0YX1mdW5jdGlvbiBpc0FycmF5QnVmZmVyVmlldyhyKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgQXJyYXlCdWZmZXImJkFycmF5QnVmZmVyLmlzVmlldz9BcnJheUJ1ZmZlci5pc1ZpZXcocik6ciYmci5idWZmZXImJnIuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ9ZnVuY3Rpb24gaXNTdHJpbmcocil7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIHJ9ZnVuY3Rpb24gaXNOdW1iZXIocil7cmV0dXJuXCJudW1iZXJcIj09dHlwZW9mIHJ9ZnVuY3Rpb24gaXNPYmplY3Qocil7cmV0dXJuIG51bGwhPT1yJiZcIm9iamVjdFwiPT10eXBlb2Ygcn1mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHIpe2lmKFwiW29iamVjdCBPYmplY3RdXCIhPT10b1N0cmluZy5jYWxsKHIpKXJldHVybiExO3ZhciBlPU9iamVjdC5nZXRQcm90b3R5cGVPZihyKTtyZXR1cm4gbnVsbD09PWV8fGU9PT1PYmplY3QucHJvdG90eXBlfWZ1bmN0aW9uIGlzRGF0ZShyKXtyZXR1cm5cIltvYmplY3QgRGF0ZV1cIj09PXRvU3RyaW5nLmNhbGwocil9ZnVuY3Rpb24gaXNGaWxlKHIpe3JldHVyblwiW29iamVjdCBGaWxlXVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc0Jsb2Iocil7cmV0dXJuXCJbb2JqZWN0IEJsb2JdXCI9PT10b1N0cmluZy5jYWxsKHIpfWZ1bmN0aW9uIGlzRnVuY3Rpb24ocil7cmV0dXJuXCJbb2JqZWN0IEZ1bmN0aW9uXVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc1N0cmVhbShyKXtyZXR1cm4gaXNPYmplY3QocikmJmlzRnVuY3Rpb24oci5waXBlKX1mdW5jdGlvbiBpc1VSTFNlYXJjaFBhcmFtcyhyKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgVVJMU2VhcmNoUGFyYW1zJiZyIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zfWZ1bmN0aW9uIHRyaW0ocil7cmV0dXJuIHIucmVwbGFjZSgvXlxccyovLFwiXCIpLnJlcGxhY2UoL1xccyokLyxcIlwiKX1mdW5jdGlvbiBpc1N0YW5kYXJkQnJvd3NlckVudigpe3JldHVybihcInVuZGVmaW5lZFwiPT10eXBlb2YgbmF2aWdhdG9yfHxcIlJlYWN0TmF0aXZlXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCYmXCJOYXRpdmVTY3JpcHRcIiE9PW5hdmlnYXRvci5wcm9kdWN0JiZcIk5TXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCkmJihcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiZcInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQpfWZ1bmN0aW9uIGZvckVhY2gocixlKXtpZihudWxsIT1yKWlmKFwib2JqZWN0XCIhPXR5cGVvZiByJiYocj1bcl0pLGlzQXJyYXkocikpZm9yKHZhciB0PTAsbj1yLmxlbmd0aDt0PG47dCsrKWUuY2FsbChudWxsLHJbdF0sdCxyKTtlbHNlIGZvcih2YXIgaSBpbiByKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLGkpJiZlLmNhbGwobnVsbCxyW2ldLGkscil9ZnVuY3Rpb24gbWVyZ2UoKXt2YXIgcj17fTtmdW5jdGlvbiBlKGUsdCl7aXNQbGFpbk9iamVjdChyW3RdKSYmaXNQbGFpbk9iamVjdChlKT9yW3RdPW1lcmdlKHJbdF0sZSk6aXNQbGFpbk9iamVjdChlKT9yW3RdPW1lcmdlKHt9LGUpOmlzQXJyYXkoZSk/clt0XT1lLnNsaWNlKCk6clt0XT1lfWZvcih2YXIgdD0wLG49YXJndW1lbnRzLmxlbmd0aDt0PG47dCsrKWZvckVhY2goYXJndW1lbnRzW3RdLGUpO3JldHVybiByfWZ1bmN0aW9uIGV4dGVuZChyLGUsdCl7cmV0dXJuIGZvckVhY2goZSxmdW5jdGlvbihlLG4pe3Jbbl09dCYmXCJmdW5jdGlvblwiPT10eXBlb2YgZT9iaW5kKGUsdCk6ZX0pLHJ9ZnVuY3Rpb24gc3RyaXBCT00ocil7cmV0dXJuIDY1Mjc5PT09ci5jaGFyQ29kZUF0KDApJiYocj1yLnNsaWNlKDEpKSxyfW1vZHVsZS5leHBvcnRzPXtpc0FycmF5OmlzQXJyYXksaXNBcnJheUJ1ZmZlcjppc0FycmF5QnVmZmVyLGlzQnVmZmVyOmlzQnVmZmVyLGlzRm9ybURhdGE6aXNGb3JtRGF0YSxpc0FycmF5QnVmZmVyVmlldzppc0FycmF5QnVmZmVyVmlldyxpc1N0cmluZzppc1N0cmluZyxpc051bWJlcjppc051bWJlcixpc09iamVjdDppc09iamVjdCxpc1BsYWluT2JqZWN0OmlzUGxhaW5PYmplY3QsaXNVbmRlZmluZWQ6aXNVbmRlZmluZWQsaXNEYXRlOmlzRGF0ZSxpc0ZpbGU6aXNGaWxlLGlzQmxvYjppc0Jsb2IsaXNGdW5jdGlvbjppc0Z1bmN0aW9uLGlzU3RyZWFtOmlzU3RyZWFtLGlzVVJMU2VhcmNoUGFyYW1zOmlzVVJMU2VhcmNoUGFyYW1zLGlzU3RhbmRhcmRCcm93c2VyRW52OmlzU3RhbmRhcmRCcm93c2VyRW52LGZvckVhY2g6Zm9yRWFjaCxtZXJnZTptZXJnZSxleHRlbmQ6ZXh0ZW5kLHRyaW06dHJpbSxzdHJpcEJPTTpzdHJpcEJPTX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJblYwYVd4ekxtcHpJbDBzSW01aGJXVnpJanBiSW1KcGJtUWlMQ0p5WlhGMWFYSmxJaXdpZEc5VGRISnBibWNpTENKUFltcGxZM1FpTENKd2NtOTBiM1I1Y0dVaUxDSnBjMEZ5Y21GNUlpd2lkbUZzSWl3aVkyRnNiQ0lzSW1selZXNWtaV1pwYm1Wa0lpd2lhWE5DZFdabVpYSWlMQ0pqYjI1emRISjFZM1J2Y2lJc0ltbHpRWEp5WVhsQ2RXWm1aWElpTENKcGMwWnZjbTFFWVhSaElpd2lSbTl5YlVSaGRHRWlMQ0pwYzBGeWNtRjVRblZtWm1WeVZtbGxkeUlzSWtGeWNtRjVRblZtWm1WeUlpd2lhWE5XYVdWM0lpd2lZblZtWm1WeUlpd2lhWE5UZEhKcGJtY2lMQ0pwYzA1MWJXSmxjaUlzSW1selQySnFaV04wSWl3aWFYTlFiR0ZwYms5aWFtVmpkQ0lzSW1kbGRGQnliM1J2ZEhsd1pVOW1JaXdpYVhORVlYUmxJaXdpYVhOR2FXeGxJaXdpYVhOQ2JHOWlJaXdpYVhOR2RXNWpkR2x2YmlJc0ltbHpVM1J5WldGdElpd2ljR2x3WlNJc0ltbHpWVkpNVTJWaGNtTm9VR0Z5WVcxeklpd2lWVkpNVTJWaGNtTm9VR0Z5WVcxeklpd2lkSEpwYlNJc0luTjBjaUlzSW5KbGNHeGhZMlVpTENKcGMxTjBZVzVrWVhKa1FuSnZkM05sY2tWdWRpSXNJbTVoZG1sbllYUnZjaUlzSW5CeWIyUjFZM1FpTENKM2FXNWtiM2NpTENKa2IyTjFiV1Z1ZENJc0ltWnZja1ZoWTJnaUxDSnZZbW9pTENKbWJpSXNJbWtpTENKc0lpd2liR1Z1WjNSb0lpd2lhMlY1SWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKdFpYSm5aU0lzSW5KbGMzVnNkQ0lzSW1GemMybG5ibFpoYkhWbElpd2ljMnhwWTJVaUxDSmhjbWQxYldWdWRITWlMQ0psZUhSbGJtUWlMQ0poSWl3aVlpSXNJblJvYVhOQmNtY2lMQ0p6ZEhKcGNFSlBUU0lzSW1OdmJuUmxiblFpTENKamFHRnlRMjlrWlVGMElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hMUVVGUFF5eFJRVUZSTEd0Q1FVMW1ReXhUUVVGWFF5eFBRVUZQUXl4VlFVRlZSaXhUUVZGb1F5eFRRVUZUUnl4UlFVRlJReXhIUVVObUxFMUJRVGhDTEcxQ1FVRjJRa29zVTBGQlUwc3NTMEZCUzBRc1IwRlRka0lzVTBGQlUwVXNXVUZCV1VZc1IwRkRia0lzV1VGQmMwSXNTVUZCVWtFc1JVRlRhRUlzVTBGQlUwY3NVMEZCVTBnc1IwRkRhRUlzVDBGQlpTeFBRVUZTUVN4SlFVRnBRa1VzV1VGQldVWXNTVUZCTkVJc1QwRkJjRUpCTEVWQlFVbEpMR05CUVhsQ1JpeFpRVUZaUml4RlFVRkpTU3hqUVVOb1JDeHRRa0ZCTjBKS0xFVkJRVWxKTEZsQlFWbEVMRlZCUVRKQ1NDeEZRVUZKU1N4WlFVRlpSQ3hUUVVGVFNDeEhRVk5zUml4VFFVRlRTeXhqUVVGalRDeEhRVU55UWl4TlFVRTRRaXg1UWtGQmRrSktMRk5CUVZOTExFdEJRVXRFTEVkQlUzWkNMRk5CUVZOTkxGZEJRVmRPTEVkQlEyeENMRTFCUVRSQ0xHOUNRVUZpVHl4VlFVRTRRbEFzWVVGQlpVOHNVMEZUT1VRc1UwRkJVME1zYTBKQlFXdENVaXhIUVU5NlFpeE5RVXcwUWl4dlFrRkJhRUpUTEdGQlFXbERRU3haUVVGclFpeFBRVU53UkVFc1dVRkJXVU1zVDBGQlQxWXNSMEZGYmtJc1IwRkJWVUVzUlVGQlZTeFJRVUZOUVN4RlFVRkpWeXhyUWtGQmEwSkdMRmxCVnpkRUxGTkJRVk5ITEZOQlFWTmFMRWRCUTJoQ0xFMUJRWE5DTEdsQ1FVRlNRU3hGUVZOb1FpeFRRVUZUWVN4VFFVRlRZaXhIUVVOb1FpeE5RVUZ6UWl4cFFrRkJVa0VzUlVGVGFFSXNVMEZCVTJNc1UwRkJVMlFzUjBGRGFFSXNUMEZCWlN4UFFVRlNRU3hIUVVFclFpeHBRa0ZCVWtFc1JVRlRhRU1zVTBGQlUyVXNZMEZCWTJZc1IwRkRja0lzUjBGQk1rSXNiMEpCUVhaQ1NpeFRRVUZUU3l4TFFVRkxSQ3hIUVVOb1FpeFBRVUZQTEVWQlIxUXNTVUZCU1VZc1JVRkJXVVFzVDBGQlQyMUNMR1ZCUVdWb1FpeEhRVU4wUXl4UFFVRnhRaXhQUVVGa1JpeEhRVUZ6UWtFc1NVRkJZMFFzVDBGQlQwTXNWVUZUY0VRc1UwRkJVMjFDTEU5QlFVOXFRaXhIUVVOa0xFMUJRVGhDTEd0Q1FVRjJRa29zVTBGQlUwc3NTMEZCUzBRc1IwRlRka0lzVTBGQlUydENMRTlCUVU5c1FpeEhRVU5rTEUxQlFUaENMR3RDUVVGMlFrb3NVMEZCVTBzc1MwRkJTMFFzUjBGVGRrSXNVMEZCVTIxQ0xFOUJRVTl1UWl4SFFVTmtMRTFCUVRoQ0xHdENRVUYyUWtvc1UwRkJVMHNzUzBGQlMwUXNSMEZUZGtJc1UwRkJVMjlDTEZkQlFWZHdRaXhIUVVOc1FpeE5RVUU0UWl4elFrRkJka0pLTEZOQlFWTkxMRXRCUVV0RUxFZEJVM1pDTEZOQlFWTnhRaXhUUVVGVGNrSXNSMEZEYUVJc1QwRkJUMk1zVTBGQlUyUXNTVUZCVVc5Q0xGZEJRVmR3UWl4RlFVRkpjMElzVFVGVGVrTXNVMEZCVTBNc2EwSkJRV3RDZGtJc1IwRkRla0lzVFVGQmEwTXNiMEpCUVhCQ2QwSXNhVUpCUVcxRGVFSXNZVUZCWlhkQ0xHZENRVk5zUlN4VFFVRlRReXhMUVVGTFF5eEhRVU5hTEU5QlFVOUJMRVZCUVVsRExGRkJRVkVzVDBGQlVTeEpRVUZKUVN4UlFVRlJMRTlCUVZFc1NVRnJRbXBFTEZOQlFWTkRMSFZDUVVOUUxFOUJRWGxDTEc5Q1FVRmtReXhYUVVGdlJDeG5Ra0ZCZEVKQkxGVkJRVlZETEZOQlExa3NhVUpCUVhSQ1JDeFZRVUZWUXl4VFFVTlpMRTlCUVhSQ1JDeFZRVUZWUXl4WFFVa3ZRaXh2UWtGQldFTXNVVUZEWVN4dlFrRkJZa01zVlVGblFsZ3NVMEZCVTBNc1VVRkJVVU1zUlVGQlMwTXNSMEZGY0VJc1IwRkJTVVFzVFVGQlFVRXNSVUZWU2l4SFFVeHRRaXhwUWtGQlVrRXNTVUZGVkVFc1JVRkJUU3hEUVVGRFFTeEpRVWRNYmtNc1VVRkJVVzFETEVkQlJWWXNTVUZCU3l4SlFVRkpSU3hGUVVGSkxFVkJRVWRETEVWQlFVbElMRVZCUVVsSkxFOUJRVkZHTEVWQlFVbERMRVZCUVVkRUxFbEJRM0pEUkN4RlFVRkhiRU1zUzBGQlN5eExRVUZOYVVNc1JVRkJTVVVzUjBGQlNVRXNSVUZCUjBZc1VVRkpNMElzU1VGQlN5eEpRVUZKU3l4TFFVRlBUQ3hGUVVOV2NrTXNUMEZCVDBNc1ZVRkJWVEJETEdWQlFXVjJReXhMUVVGTGFVTXNSVUZCUzBzc1NVRkROVU5LTEVWQlFVZHNReXhMUVVGTExFdEJRVTFwUXl4RlFVRkpTeXhIUVVGTlFTeEZRVUZMVEN4SFFYVkNja01zVTBGQlUwOHNVVUZEVUN4SlFVRkpReXhGUVVGVExFZEJRMklzVTBGQlUwTXNSVUZCV1RORExFVkJRVXQxUXl4SFFVTndRbmhDTEdOQlFXTXlRaXhGUVVGUFNDeExRVUZUZUVJc1kwRkJZMllzUjBGRE9VTXdReXhGUVVGUFNDeEhRVUZQUlN4TlFVRk5ReXhGUVVGUFNDeEhRVUZOZGtNc1IwRkRlRUpsTEdOQlFXTm1MRWRCUTNaQ01FTXNSVUZCVDBnc1IwRkJUMFVzVFVGQlRTeEhRVUZKZWtNc1IwRkRaa1FzVVVGQlVVTXNSMEZEYWtJd1F5eEZRVUZQU0N4SFFVRlBka01zUlVGQlNUUkRMRkZCUld4Q1JpeEZRVUZQU0N4SFFVRlBka01zUlVGSmJFSXNTVUZCU3l4SlFVRkpiME1zUlVGQlNTeEZRVUZIUXl4RlFVRkpVU3hWUVVGVlVDeFBRVUZSUml4RlFVRkpReXhGUVVGSFJDeEpRVU16UTBnc1VVRkJVVmtzVlVGQlZWUXNSMEZCU1U4c1IwRkZlRUlzVDBGQlQwUXNSVUZYVkN4VFFVRlRTU3hQUVVGUFF5eEZRVUZIUXl4RlFVRkhReXhIUVZGd1FpeFBRVkJCYUVJc1VVRkJVV1VzUlVGQlJ5eFRRVUZ4UW1oRUxFVkJRVXQxUXl4SFFVVnFRMUVzUlVGQlJWSXNSMEZFUVZVc1IwRkJNRUlzYlVKQlFWSnFSQ3hGUVVOWVRpeExRVUZMVFN4RlFVRkxhVVFzUjBGRlZtcEVMRWxCUjA0clF5eEZRVk5VTEZOQlFWTkhMRk5CUVZORExFZEJTV2hDTEU5QlNEaENMRkZCUVRGQ1FTeEZRVUZSUXl4WFFVRlhMRXRCUTNKQ1JDeEZRVUZWUVN4RlFVRlJVQ3hOUVVGTkxFbEJSVzVDVHl4RlFVZFVSU3hQUVVGUFF5eFJRVUZWTEVOQlEyWjJSQ3hSUVVGVFFTeFJRVU5VVFN4alFVRmxRU3hqUVVObVJpeFRRVUZWUVN4VFFVTldSeXhYUVVGWlFTeFhRVU5hUlN4clFrRkJiVUpCTEd0Q1FVTnVRa2tzVTBGQlZVRXNVMEZEVmtNc1UwRkJWVUVzVTBGRFZrTXNVMEZCVlVFc1UwRkRWa01zWTBGQlpVRXNZMEZEWm1Jc1dVRkJZVUVzV1VGRFltVXNUMEZCVVVFc1QwRkRVa01zVDBGQlVVRXNUMEZEVWtNc1QwRkJVVUVzVDBGRFVrTXNWMEZCV1VFc1YwRkRXa01zVTBGQlZVRXNVMEZEVmtVc2EwSkJRVzFDUVN4clFrRkRia0pMTEhGQ1FVRnpRa0VzY1VKQlEzUkNTeXhSUVVGVFFTeFJRVU5VVVN4TlFVRlBRU3hOUVVOUVN5eFBRVUZSUVN4UFFVTlNja0lzUzBGQlRVRXNTMEZEVG5sQ0xGTkJRVlZCSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMM1YwYVd4ekxtcHpJbjA9IiwiZnVuY3Rpb24gakJveFdyYXBwZXIodCl7ZnVuY3Rpb24gaShvLHMpe3JldHVybiB0aGlzLm9wdGlvbnM9e2lkOm51bGwsd2lkdGg6XCJhdXRvXCIsaGVpZ2h0OlwiYXV0b1wiLG1pbldpZHRoOm51bGwsbWluSGVpZ2h0Om51bGwsbWF4V2lkdGg6bnVsbCxtYXhIZWlnaHQ6bnVsbCxyZXNwb25zaXZlV2lkdGg6ITAscmVzcG9uc2l2ZUhlaWdodDohMCxyZXNwb25zaXZlTWluV2lkdGg6MTAwLHJlc3BvbnNpdmVNaW5IZWlnaHQ6MTAwLGF0dGFjaDpudWxsLHRyaWdnZXI6XCJjbGlja1wiLHByZXZlbnREZWZhdWx0OiExLGNvbnRlbnQ6bnVsbCxnZXRDb250ZW50Om51bGwsdGl0bGU6bnVsbCxnZXRUaXRsZTpudWxsLGZvb3RlcjpudWxsLGlzb2xhdGVTY3JvbGw6ITAsYWpheDp7dXJsOm51bGwsZGF0YTpcIlwiLHJlbG9hZDohMSxnZXRVUkw6XCJkYXRhLXVybFwiLGdldERhdGE6XCJkYXRhLWFqYXhcIixzZXRDb250ZW50OiEwLGxvYWRpbmdDbGFzczohMCxzcGlubmVyOiEwLHNwaW5uZXJEZWxheTozMDAsc3Bpbm5lclJlcG9zaXRpb246ITB9LGNhbmNlbEFqYXhPbkNsb3NlOiEwLHRhcmdldDpudWxsLHBvc2l0aW9uOnt4OlwiY2VudGVyXCIseTpcImNlbnRlclwifSxvdXRzaWRlOm51bGwsb2Zmc2V0OjAsYXR0cmlidXRlczp7eDpcImxlZnRcIix5OlwidG9wXCJ9LGZpeGVkOiExLGFkanVzdFBvc2l0aW9uOiEwLGFkanVzdFRyYWNrZXI6ITEsYWRqdXN0RGlzdGFuY2U6NSxyZXBvc2l0aW9uOiEwLHJlcG9zaXRpb25Pbk9wZW46ITAscmVwb3NpdGlvbk9uQ29udGVudDohMCxob2xkUG9zaXRpb246ITAscG9pbnRlcjohMSxwb2ludFRvOlwidGFyZ2V0XCIsZmFkZToxODAsYW5pbWF0aW9uOm51bGwsdGhlbWU6XCJEZWZhdWx0XCIsYWRkQ2xhc3M6bnVsbCxvdmVybGF5OiExLG92ZXJsYXlDbGFzczpudWxsLHpJbmRleDoxZTQsZGVsYXlPcGVuOjAsZGVsYXlDbG9zZTowLGNsb3NlT25Fc2M6ITEsY2xvc2VPbkNsaWNrOiExLGNsb3NlT25Nb3VzZWxlYXZlOiExLGNsb3NlQnV0dG9uOiExLGFwcGVuZFRvOnQoXCJib2R5XCIpLGNyZWF0ZU9uSW5pdDohMSxibG9ja1Njcm9sbDohMSxibG9ja1Njcm9sbEFkanVzdDohMCxkcmFnZ2FibGU6ITEsZHJhZ092ZXI6ITAsYXV0b0Nsb3NlOiExLGRlbGF5T25Ib3ZlcjohMSxzaG93Q291bnRkb3duOiExLHByZWxvYWRBdWRpbzohMCxhdWRpbzpudWxsLHZvbHVtZToxMDAsb25Jbml0Om51bGwsb25BdHRhY2g6bnVsbCxvblBvc2l0aW9uOm51bGwsb25DcmVhdGVkOm51bGwsb25PcGVuOm51bGwsb25DbG9zZTpudWxsLG9uQ2xvc2VDb21wbGV0ZTpudWxsLG9uRHJhZ1N0YXJ0Om51bGwsb25EcmFnRW5kOm51bGx9LHRoaXMuX3BsdWdpbk9wdGlvbnM9e1Rvb2x0aXA6e2dldENvbnRlbnQ6XCJ0aXRsZVwiLHRyaWdnZXI6XCJtb3VzZWVudGVyXCIscG9zaXRpb246e3g6XCJjZW50ZXJcIix5OlwidG9wXCJ9LG91dHNpZGU6XCJ5XCIscG9pbnRlcjohMH0sTW91c2U6e3Jlc3BvbnNpdmVXaWR0aDohMSxyZXNwb25zaXZlSGVpZ2h0OiExLGFkanVzdFBvc2l0aW9uOlwiZmxpcFwiLHRhcmdldDpcIm1vdXNlXCIsdHJpZ2dlcjpcIm1vdXNlZW50ZXJcIixwb3NpdGlvbjp7eDpcInJpZ2h0XCIseTpcImJvdHRvbVwifSxvdXRzaWRlOlwieHlcIixvZmZzZXQ6NX0sTW9kYWw6e3RhcmdldDp0KHdpbmRvdyksZml4ZWQ6ITAsYmxvY2tTY3JvbGw6ITAsY2xvc2VPbkVzYzohMCxjbG9zZU9uQ2xpY2s6XCJvdmVybGF5XCIsY2xvc2VCdXR0b246ITAsb3ZlcmxheTohMCxhbmltYXRpb246XCJ6b29tSW5cIn19LHRoaXMub3B0aW9ucz10LmV4dGVuZCghMCx0aGlzLm9wdGlvbnMsdGhpcy5fcGx1Z2luT3B0aW9uc1tvXXx8aS5fcGx1Z2luT3B0aW9uc1tvXSxzKSxcInN0cmluZ1wiPT10LnR5cGUobykmJih0aGlzLnR5cGU9byksdGhpcy5pc1RvdWNoRGV2aWNlPWZ1bmN0aW9uKCl7dmFyIHQsaT1cIiAtd2Via2l0LSAtbW96LSAtby0gLW1zLSBcIi5zcGxpdChcIiBcIik7cmV0dXJuISEoXCJvbnRvdWNoc3RhcnRcImluIHdpbmRvd3x8d2luZG93LkRvY3VtZW50VG91Y2gmJmRvY3VtZW50IGluc3RhbmNlb2YgRG9jdW1lbnRUb3VjaCl8fCh0PWk9W1wiKFwiLGkuam9pbihcInRvdWNoLWVuYWJsZWQpLChcIiksXCJoZWFydHpcIixcIilcIl0uam9pbihcIlwiKSx3aW5kb3cubWF0Y2hNZWRpYSh0KS5tYXRjaGVzKX0oKSx0aGlzLmlzVG91Y2hEZXZpY2UmJlwibW91c2VlbnRlclwiPT09dGhpcy5vcHRpb25zLnRyaWdnZXImJiExPT09dGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmKHRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2s9XCJib2R5XCIpLHRoaXMuX2ZpcmVFdmVudD1mdW5jdGlvbih0LGkpe3RoaXMub3B0aW9uc1tcIl9cIit0XSYmdGhpcy5vcHRpb25zW1wiX1wiK3RdLmJpbmQodGhpcykoaSksdGhpcy5vcHRpb25zW3RdJiZ0aGlzLm9wdGlvbnNbdF0uYmluZCh0aGlzKShpKX0sbnVsbD09PXRoaXMub3B0aW9ucy5pZCYmKHRoaXMub3B0aW9ucy5pZD1cImpCb3hcIitpLl9nZXRVbmlxdWVJRCgpKSx0aGlzLmlkPXRoaXMub3B0aW9ucy5pZCwoXCJjZW50ZXJcIj09dGhpcy5vcHRpb25zLnBvc2l0aW9uLngmJlwieFwiPT10aGlzLm9wdGlvbnMub3V0c2lkZXx8XCJjZW50ZXJcIj09dGhpcy5vcHRpb25zLnBvc2l0aW9uLnkmJlwieVwiPT10aGlzLm9wdGlvbnMub3V0c2lkZSkmJih0aGlzLm9wdGlvbnMub3V0c2lkZT1udWxsKSxcInRhcmdldFwiIT10aGlzLm9wdGlvbnMucG9pbnRUb3x8dGhpcy5vcHRpb25zLm91dHNpZGUmJlwieHlcIiE9dGhpcy5vcHRpb25zLm91dHNpZGV8fCh0aGlzLm9wdGlvbnMucG9pbnRlcj0hMSksXCJvYmplY3RcIiE9dC50eXBlKHRoaXMub3B0aW9ucy5vZmZzZXQpP3RoaXMub3B0aW9ucy5vZmZzZXQ9e3g6dGhpcy5vcHRpb25zLm9mZnNldCx5OnRoaXMub3B0aW9ucy5vZmZzZXR9OnRoaXMub3B0aW9ucy5vZmZzZXQ9dC5leHRlbmQoe3g6MCx5OjB9LHRoaXMub3B0aW9ucy5vZmZzZXQpLFwib2JqZWN0XCIhPXQudHlwZSh0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UpP3RoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZT17dG9wOnRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZSxyaWdodDp0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UsYm90dG9tOnRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZSxsZWZ0OnRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZX06dGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlPXQuZXh0ZW5kKHt0b3A6NSxsZWZ0OjUscmlnaHQ6NSxib3R0b206NX0sdGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlKSx0aGlzLm91dHNpZGU9ISghdGhpcy5vcHRpb25zLm91dHNpZGV8fFwieHlcIj09dGhpcy5vcHRpb25zLm91dHNpZGUpJiZ0aGlzLm9wdGlvbnMucG9zaXRpb25bdGhpcy5vcHRpb25zLm91dHNpZGVdLHRoaXMuYWxpZ249dGhpcy5vdXRzaWRlfHwoXCJjZW50ZXJcIiE9dGhpcy5vcHRpb25zLnBvc2l0aW9uLnkmJlwibnVtYmVyXCIhPXQudHlwZSh0aGlzLm9wdGlvbnMucG9zaXRpb24ueSk/dGhpcy5vcHRpb25zLnBvc2l0aW9uLng6XCJjZW50ZXJcIiE9dGhpcy5vcHRpb25zLnBvc2l0aW9uLngmJlwibnVtYmVyXCIhPXQudHlwZSh0aGlzLm9wdGlvbnMucG9zaXRpb24ueCk/dGhpcy5vcHRpb25zLnBvc2l0aW9uLnk6dGhpcy5vcHRpb25zLmF0dHJpYnV0ZXMueCksaS56SW5kZXhNYXg9TWF0aC5tYXgoaS56SW5kZXhNYXh8fDAsXCJhdXRvXCI9PT10aGlzLm9wdGlvbnMuekluZGV4PzFlNDp0aGlzLm9wdGlvbnMuekluZGV4KSxcImF1dG9cIj09PXRoaXMub3B0aW9ucy56SW5kZXgmJih0aGlzLmFkanVzdFpJbmRleE9uT3Blbj0hMCxpLnpJbmRleE1heCs9Mix0aGlzLm9wdGlvbnMuekluZGV4PWkuekluZGV4TWF4LHRoaXMudHJ1ZU1vZGFsPXRoaXMub3B0aW9ucy5vdmVybGF5KSx0aGlzLl9nZXRPcHA9ZnVuY3Rpb24odCl7cmV0dXJue2xlZnQ6XCJyaWdodFwiLHJpZ2h0OlwibGVmdFwiLHRvcDpcImJvdHRvbVwiLGJvdHRvbTpcInRvcFwiLHg6XCJ5XCIseTpcInhcIn1bdF19LHRoaXMuX2dldFhZPWZ1bmN0aW9uKHQpe3JldHVybntsZWZ0OlwieFwiLHJpZ2h0OlwieFwiLHRvcDpcInlcIixib3R0b206XCJ5XCIsY2VudGVyOlwieFwifVt0XX0sdGhpcy5fZ2V0VEw9ZnVuY3Rpb24odCl7cmV0dXJue2xlZnQ6XCJsZWZ0XCIscmlnaHQ6XCJsZWZ0XCIsdG9wOlwidG9wXCIsYm90dG9tOlwidG9wXCIsY2VudGVyOlwibGVmdFwiLHg6XCJsZWZ0XCIseTpcInRvcFwifVt0XX0sdGhpcy5fZ2V0SW50PWZ1bmN0aW9uKGksbyl7cmV0dXJuXCJhdXRvXCI9PWk/XCJhdXRvXCI6aSYmXCJzdHJpbmdcIj09dC50eXBlKGkpJiZcIiVcIj09aS5zbGljZSgtMSk/dCh3aW5kb3cpW1wiaGVpZ2h0XCI9PW8/XCJpbm5lckhlaWdodFwiOlwiaW5uZXJXaWR0aFwiXSgpKnBhcnNlSW50KGkucmVwbGFjZShcIiVcIixcIlwiKSkvMTAwOml9LHRoaXMuX2NyZWF0ZVNWRz1mdW5jdGlvbihpLG8pe3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsaSk7cmV0dXJuIHQuZWFjaChvLGZ1bmN0aW9uKHQsaSl7cy5zZXRBdHRyaWJ1dGUoaVswXSxpWzFdfHxcIlwiKX0pLHN9LHRoaXMuX2lzb2xhdGVTY3JvbGw9ZnVuY3Rpb24odCl7dCYmdC5sZW5ndGgmJnQub24oXCJET01Nb3VzZVNjcm9sbC5qQm94SXNvbGF0ZVNjcm9sbCBtb3VzZXdoZWVsLmpCb3hJc29sYXRlU2Nyb2xsXCIsZnVuY3Rpb24oaSl7dmFyIG89aS53aGVlbERlbHRhfHxpLm9yaWdpbmFsRXZlbnQmJmkub3JpZ2luYWxFdmVudC53aGVlbERlbHRhfHwtaS5kZXRhaWwscz0wPD10aGlzLnNjcm9sbFRvcCt0Lm91dGVySGVpZ2h0KCktdGhpcy5zY3JvbGxIZWlnaHQsZT10aGlzLnNjcm9sbFRvcDw9MDsobzwwJiZzfHwwPG8mJmUpJiZpLnByZXZlbnREZWZhdWx0KCl9KX0sdGhpcy5fc2V0VGl0bGVXaWR0aD1mdW5jdGlvbigpe2lmKCF0aGlzLnRpdGxlQ29udGFpbmVyfHxcImF1dG9cIj09dGhpcy5jb250ZW50WzBdLnN0eWxlLndpZHRoJiYhdGhpcy5jb250ZW50WzBdLnN0eWxlLm1heFdpZHRoKXJldHVybiBudWxsO3ZhciB0O1wibm9uZVwiPT10aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiKT8odGhpcy53cmFwcGVyLmNzcyhcImRpc3BsYXlcIixcImJsb2NrXCIpLHQ9dGhpcy5jb250ZW50Lm91dGVyV2lkdGgoKSx0aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiLFwibm9uZVwiKSk6dD10aGlzLmNvbnRlbnQub3V0ZXJXaWR0aCgpLHRoaXMudGl0bGVDb250YWluZXIuY3NzKHttYXhXaWR0aDpNYXRoLm1heCh0LHBhcnNlSW50KHRoaXMuY29udGVudFswXS5zdHlsZS5tYXhXaWR0aCkpfHxudWxsfSl9LHRoaXMuX2RyYWdnYWJsZT1mdW5jdGlvbigpe2lmKCF0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlKXJldHVybiExO3ZhciBvPVwidGl0bGVcIj09dGhpcy5vcHRpb25zLmRyYWdnYWJsZT90aGlzLnRpdGxlQ29udGFpbmVyOnRoaXMub3B0aW9ucy5kcmFnZ2FibGUgaW5zdGFuY2VvZiB0P3RoaXMub3B0aW9ucy5kcmFnZ2FibGU6XCJzdHJpbmdcIj09dC50eXBlKHRoaXMub3B0aW9ucy5kcmFnZ2FibGUpP3QodGhpcy5vcHRpb25zLmRyYWdnYWJsZSk6dGhpcy53cmFwcGVyO3JldHVybiEoIShvJiZvIGluc3RhbmNlb2YgdCYmby5sZW5ndGgpfHxvLmRhdGEoXCJqQm94LWRyYWdnYWJsZVwiKSkmJihvLmFkZENsYXNzKFwiakJveC1kcmFnZ2FibGVcIikuZGF0YShcImpCb3gtZHJhZ2dhYmxlXCIsITApLm9uKFwidG91Y2hzdGFydCBtb3VzZWRvd25cIixmdW5jdGlvbihvKXt2YXIgcyxlLG4sYSxoLHI7Mj09by5idXR0b258fHQoby50YXJnZXQpLmhhc0NsYXNzKFwiakJveC1ub0RyYWdcIil8fHQoby50YXJnZXQpLnBhcmVudHMoXCIuakJveC1ub0RyYWdcIikubGVuZ3RoP1widG91Y2hzdGFydFwiPT1vLnR5cGUmJih0KG8udGFyZ2V0KS5oYXNDbGFzcyhcImpCb3gtY2xvc2VCdXR0b25cIil8fHQoby50YXJnZXQpLnBhcmVudHMoXCIuakJveC1jbG9zZUJ1dHRvblwiKS5sZW5ndGgpJiZ0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pOihlPVwidG91Y2hzdGFydFwiPT1vLnR5cGUmJm8udG91Y2hlcyYmby50b3VjaGVzWzBdPyhzPW8udG91Y2hlc1swXS5wYWdlWCxvLnRvdWNoZXNbMF0ucGFnZVkpOihzPW8ucGFnZVgsby5wYWdlWSksdGhpcy5kcmFnZ2luZ1N0YXJ0WD1zLHRoaXMuZHJhZ2dpbmdTdGFydFk9ZSx0aGlzLm9wdGlvbnMuZHJhZ092ZXImJiF0aGlzLnRydWVNb2RhbCYmcGFyc2VJbnQodGhpcy53cmFwcGVyLmNzcyhcInpJbmRleFwiKSwxMCk8PWkuekluZGV4TWF4RHJhZ292ZXImJihpLnpJbmRleE1heERyYWdvdmVyKz0xLHRoaXMud3JhcHBlci5jc3MoXCJ6SW5kZXhcIixpLnpJbmRleE1heERyYWdvdmVyKSksbj10aGlzLndyYXBwZXIub3V0ZXJIZWlnaHQoKSxhPXRoaXMud3JhcHBlci5vdXRlcldpZHRoKCksaD10aGlzLndyYXBwZXIub2Zmc2V0KCkudG9wK24tZSxyPXRoaXMud3JhcHBlci5vZmZzZXQoKS5sZWZ0K2Etcyx0KGRvY3VtZW50KS5vbihcInRvdWNobW92ZS5qQm94LWRyYWdnYWJsZS1cIit0aGlzLmlkK1wiIG1vdXNlbW92ZS5qQm94LWRyYWdnYWJsZS1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3ZhciBpO3Q9XCJ0b3VjaG1vdmVcIj09dC50eXBlJiZ0LnRvdWNoZXMmJnQudG91Y2hlc1swXT8oaT10LnRvdWNoZXNbMF0ucGFnZVgsdC50b3VjaGVzWzBdLnBhZ2VZKTooaT10LnBhZ2VYLHQucGFnZVkpO3RoaXMuZHJhZ2dpbmd8fHRoaXMuZHJhZ2dpbmdTdGFydFg9PWl8fHRoaXMuZHJhZ2dpbmdTdGFydFk9PXR8fCh0aGlzLl9maXJlRXZlbnQoXCJvbkRyYWdTdGFydFwiKSx0aGlzLmRyYWdnaW5nPSEwKSx0aGlzLndyYXBwZXIub2Zmc2V0KHt0b3A6dCtoLW4sbGVmdDppK3ItYX0pfS5iaW5kKHRoaXMpKSxvLnByZXZlbnREZWZhdWx0KCkpfS5iaW5kKHRoaXMpKS5vbihcInRvdWNoZW5kIG1vdXNldXBcIixmdW5jdGlvbigpe3ZhciBpO3QoZG9jdW1lbnQpLm9mZihcInRvdWNobW92ZS5qQm94LWRyYWdnYWJsZS1cIit0aGlzLmlkK1wiIG1vdXNlbW92ZS5qQm94LWRyYWdnYWJsZS1cIit0aGlzLmlkKSx0aGlzLmRyYWdnaW5nJiZ0aGlzLl9maXJlRXZlbnQoXCJvbkRyYWdFbmRcIiksdGhpcy5kcmFnZ2luZz0hMSxcIk1vZGFsXCIhPXRoaXMudHlwZSYmXCJDb25maXJtXCIhPXRoaXMudHlwZXx8IXRoaXMub3B0aW9ucy5ob2xkUG9zaXRpb258fChpPXt4OihpPXQoXCIjXCIrdGhpcy5pZCkub2Zmc2V0KCkpLmxlZnQtdChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpLHk6aS50b3AtdChkb2N1bWVudCkuc2Nyb2xsVG9wKCl9LHRoaXMucG9zaXRpb24oe3Bvc2l0aW9uOmksb2Zmc2V0Ont4OjAseTowfX0pKX0uYmluZCh0aGlzKSksdGhpcy50cnVlTW9kYWx8fChpLnpJbmRleE1heERyYWdvdmVyPWkuekluZGV4TWF4RHJhZ292ZXI/TWF0aC5tYXgoaS56SW5kZXhNYXhEcmFnb3Zlcix0aGlzLm9wdGlvbnMuekluZGV4KTp0aGlzLm9wdGlvbnMuekluZGV4KSx0aGlzKX0sdGhpcy5fY3JlYXRlPWZ1bmN0aW9uKCl7dmFyIGk7dGhpcy53cmFwcGVyfHwodGhpcy53cmFwcGVyPXQoXCI8ZGl2Lz5cIix7aWQ6dGhpcy5pZCxjbGFzczpcImpCb3gtd3JhcHBlclwiKyh0aGlzLnR5cGU/XCIgakJveC1cIit0aGlzLnR5cGU6XCJcIikrKHRoaXMub3B0aW9ucy50aGVtZT9cIiBqQm94LVwiK3RoaXMub3B0aW9ucy50aGVtZTpcIlwiKSsodGhpcy5vcHRpb25zLmFkZENsYXNzP1wiIFwiK3RoaXMub3B0aW9ucy5hZGRDbGFzczpcIlwiKX0pLmNzcyh7cG9zaXRpb246dGhpcy5vcHRpb25zLmZpeGVkP1wiZml4ZWRcIjpcImFic29sdXRlXCIsZGlzcGxheTpcIm5vbmVcIixvcGFjaXR5OjAsekluZGV4OnRoaXMub3B0aW9ucy56SW5kZXh9KS5kYXRhKFwiakJveFwiLHRoaXMpLHRoaXMub3B0aW9ucy5jbG9zZU9uTW91c2VsZWF2ZSYmdGhpcy53cmFwcGVyLm9uKFwibW91c2VsZWF2ZVwiLGZ1bmN0aW9uKGkpeyF0aGlzLnNvdXJjZXx8aS5yZWxhdGVkVGFyZ2V0IT10aGlzLnNvdXJjZVswXSYmLTE9PT10LmluQXJyYXkodGhpcy5zb3VyY2VbMF0sdChpLnJlbGF0ZWRUYXJnZXQpLnBhcmVudHMoXCIqXCIpKSYmdGhpcy5jbG9zZSgpfS5iaW5kKHRoaXMpKSxcImJveFwiPT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrJiZ0aGlzLndyYXBwZXIub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe3RoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSl9LmJpbmQodGhpcykpLHRoaXMuY29udGFpbmVyPXQoJzxkaXYgY2xhc3M9XCJqQm94LWNvbnRhaW5lclwiLz4nKS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLHRoaXMuY29udGVudD10KCc8ZGl2IGNsYXNzPVwiakJveC1jb250ZW50XCIvPicpLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKSx0aGlzLm9wdGlvbnMuZm9vdGVyJiYodGhpcy5mb290ZXI9dCgnPGRpdiBjbGFzcz1cImpCb3gtZm9vdGVyXCIvPicpLmFwcGVuZCh0aGlzLm9wdGlvbnMuZm9vdGVyKS5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lcikpLHRoaXMub3B0aW9ucy5pc29sYXRlU2Nyb2xsJiZ0aGlzLl9pc29sYXRlU2Nyb2xsKHRoaXMuY29udGVudCksdGhpcy5vcHRpb25zLmNsb3NlQnV0dG9uJiYoKGk9dGhpcy5fY3JlYXRlU1ZHKFwic3ZnXCIsW1tcInZpZXdCb3hcIixcIjAgMCAyNCAyNFwiXV0pKS5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVTVkcoXCJwYXRoXCIsW1tcImRcIixcIk0yMi4yLDRjMCwwLDAuNSwwLjYsMCwxLjFsLTYuOCw2LjhsNi45LDYuOWMwLjUsMC41LDAsMS4xLDAsMS4xTDIwLDIyLjNjMCwwLTAuNiwwLjUtMS4xLDBMMTIsMTUuNGwtNi45LDYuOWMtMC41LDAuNS0xLjEsMC0xLjEsMEwxLjcsMjBjMCwwLTAuNS0wLjYsMC0xLjFMOC42LDEyTDEuNyw1LjFDMS4yLDQuNiwxLjcsNCwxLjcsNEw0LDEuN2MwLDAsMC42LTAuNSwxLjEsMEwxMiw4LjVsNi44LTYuOGMwLjUtMC41LDEuMSwwLDEuMSwwTDIyLjIsNHpcIl1dKSksdGhpcy5jbG9zZUJ1dHRvbj10KCc8ZGl2IGNsYXNzPVwiakJveC1jbG9zZUJ1dHRvbiBqQm94LW5vRHJhZ1wiLz4nKS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKHQpe3RoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSl9LmJpbmQodGhpcykpLmFwcGVuZChpKSxcImJveFwiIT10aGlzLm9wdGlvbnMuY2xvc2VCdXR0b24mJighMCE9PXRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbnx8dGhpcy5vcHRpb25zLm92ZXJsYXl8fHRoaXMub3B0aW9ucy50aXRsZXx8dGhpcy5vcHRpb25zLmdldFRpdGxlKXx8KHRoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtY2xvc2VCdXR0b24tYm94XCIpLHRoaXMuY2xvc2VCdXR0b24uYXBwZW5kVG8odGhpcy5jb250YWluZXIpKSksdGhpcy53cmFwcGVyLmFwcGVuZFRvKHRoaXMub3B0aW9ucy5hcHBlbmRUbyksdGhpcy53cmFwcGVyLmZpbmQoXCIuakJveC1jbG9zZUJ1dHRvblwiKS5sZW5ndGgmJnQuZWFjaChbXCJ0b3BcIixcInJpZ2h0XCIsXCJib3R0b21cIixcImxlZnRcIl0sZnVuY3Rpb24odCxpKXt0aGlzLndyYXBwZXIuZmluZChcIi5qQm94LWNsb3NlQnV0dG9uXCIpLmNzcyhpKSYmXCJhdXRvXCIhPXRoaXMud3JhcHBlci5maW5kKFwiLmpCb3gtY2xvc2VCdXR0b25cIikuY3NzKGkpJiYodGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlW2ldPU1hdGgubWF4KHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZVtpXSx0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2VbaV0rLTEqKChwYXJzZUludCh0aGlzLndyYXBwZXIuZmluZChcIi5qQm94LWNsb3NlQnV0dG9uXCIpLmNzcyhpKSl8fDApKyhwYXJzZUludCh0aGlzLmNvbnRhaW5lci5jc3MoXCJib3JkZXItXCIraStcIi13aWR0aFwiKSl8fDApKSkpfS5iaW5kKHRoaXMpKSx0aGlzLm9wdGlvbnMucG9pbnRlciYmKHRoaXMucG9pbnRlcj17cG9zaXRpb246XCJ0YXJnZXRcIiE9dGhpcy5vcHRpb25zLnBvaW50VG8/dGhpcy5vcHRpb25zLnBvaW50VG86dGhpcy5fZ2V0T3BwKHRoaXMub3V0c2lkZSkseHk6XCJ0YXJnZXRcIiE9dGhpcy5vcHRpb25zLnBvaW50VG8/dGhpcy5fZ2V0WFkodGhpcy5vcHRpb25zLnBvaW50VG8pOnRoaXMuX2dldFhZKHRoaXMub3V0c2lkZSksYWxpZ246XCJjZW50ZXJcIixvZmZzZXQ6MH0sdGhpcy5wb2ludGVyLmVsZW1lbnQ9dCgnPGRpdiBjbGFzcz1cImpCb3gtcG9pbnRlciBqQm94LXBvaW50ZXItJyt0aGlzLnBvaW50ZXIucG9zaXRpb24rJ1wiLz4nKS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLHRoaXMucG9pbnRlci5kaW1lbnNpb25zPXt4OnRoaXMucG9pbnRlci5lbGVtZW50Lm91dGVyV2lkdGgoKSx5OnRoaXMucG9pbnRlci5lbGVtZW50Lm91dGVySGVpZ2h0KCl9LFwic3RyaW5nXCI9PXQudHlwZSh0aGlzLm9wdGlvbnMucG9pbnRlcikmJigoaT10aGlzLm9wdGlvbnMucG9pbnRlci5zcGxpdChcIjpcIikpWzBdJiYodGhpcy5wb2ludGVyLmFsaWduPWlbMF0pLGlbMV0mJih0aGlzLnBvaW50ZXIub2Zmc2V0PXBhcnNlSW50KGlbMV0pKSksdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlPVwieFwiPT10aGlzLnBvaW50ZXIueHk/XCJib3R0b21cIj09dGhpcy5wb2ludGVyLmFsaWduP1wiYm90dG9tXCI6XCJ0b3BcIjpcInJpZ2h0XCI9PXRoaXMucG9pbnRlci5hbGlnbj9cInJpZ2h0XCI6XCJsZWZ0XCIsdGhpcy53cmFwcGVyLmNzcyhcInBhZGRpbmctXCIrdGhpcy5wb2ludGVyLnBvc2l0aW9uLHRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMucG9pbnRlci54eV0pLHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyh0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUsXCJjZW50ZXJcIj09dGhpcy5wb2ludGVyLmFsaWduP1wiNTAlXCI6MCkuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSx0aGlzLnBvaW50ZXIub2Zmc2V0KSx0aGlzLnBvaW50ZXIubWFyZ2luPXt9LHRoaXMucG9pbnRlci5tYXJnaW5bXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlXT10aGlzLnBvaW50ZXIub2Zmc2V0LFwiY2VudGVyXCI9PXRoaXMucG9pbnRlci5hbGlnbiYmdGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwidHJhbnNmb3JtXCIsXCJ0cmFuc2xhdGUoXCIrKFwieVwiPT10aGlzLnBvaW50ZXIueHk/LS41KnRoaXMucG9pbnRlci5kaW1lbnNpb25zLngrXCJweFwiOjApK1wiLCBcIisoXCJ4XCI9PXRoaXMucG9pbnRlci54eT8tLjUqdGhpcy5wb2ludGVyLmRpbWVuc2lvbnMueStcInB4XCI6MCkrXCIpXCIpLHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcInhcIj09dGhpcy5wb2ludGVyLnh5P1wid2lkdGhcIjpcImhlaWdodFwiLHBhcnNlSW50KHRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMucG9pbnRlci54eV0pK3BhcnNlSW50KHRoaXMuY29udGFpbmVyLmNzcyhcImJvcmRlci1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUrXCItd2lkdGhcIikpKSx0aGlzLndyYXBwZXIuYWRkQ2xhc3MoXCJqQm94LXBvaW50ZXJQb3NpdGlvbi1cIit0aGlzLnBvaW50ZXIucG9zaXRpb24pKSx0aGlzLnNldENvbnRlbnQodGhpcy5vcHRpb25zLmNvbnRlbnQsITApLHRoaXMuc2V0VGl0bGUodGhpcy5vcHRpb25zLnRpdGxlLCEwKSx0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlJiZ0aGlzLl9kcmFnZ2FibGUoKSx0aGlzLl9maXJlRXZlbnQoXCJvbkNyZWF0ZWRcIikpfSx0aGlzLm9wdGlvbnMuY3JlYXRlT25Jbml0JiZ0aGlzLl9jcmVhdGUoKSx0aGlzLm9wdGlvbnMuYXR0YWNoJiZ0aGlzLmF0dGFjaCgpLHRoaXMuX2F0dGFjaEV2ZW50cz1mdW5jdGlvbigpe3RoaXMub3B0aW9ucy5kZWxheU9uSG92ZXImJnQoXCIjXCIrdGhpcy5pZCkub24oXCJtb3VzZWVudGVyXCIsZnVuY3Rpb24odCl7dGhpcy5pc0hvdmVyZWQ9ITB9LmJpbmQodGhpcykpLHRoaXMub3B0aW9ucy5kZWxheU9uSG92ZXImJnQoXCIjXCIrdGhpcy5pZCkub24oXCJtb3VzZWxlYXZlXCIsZnVuY3Rpb24odCl7dGhpcy5pc0hvdmVyZWQ9ITF9LmJpbmQodGhpcykpLCh0aGlzLm9wdGlvbnMuYWRqdXN0UG9zaXRpb258fHRoaXMub3B0aW9ucy5yZXBvc2l0aW9uKSYmIXRoaXMuZml4ZWQmJnRoaXMub3V0c2lkZSYmKHRoaXMub3B0aW9ucy5hZGp1c3RUcmFja2VyJiZ0KHdpbmRvdykub24oXCJzY3JvbGwuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3RoaXMucG9zaXRpb24oKX0uYmluZCh0aGlzKSksKHRoaXMub3B0aW9ucy5hZGp1c3RQb3NpdGlvbnx8dGhpcy5vcHRpb25zLnJlcG9zaXRpb24pJiZ0KHdpbmRvdykub24oXCJyZXNpemUuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3RoaXMucG9zaXRpb24oKX0uYmluZCh0aGlzKSkpLFwibW91c2VcIj09dGhpcy5vcHRpb25zLnRhcmdldCYmdChcImJvZHlcIikub24oXCJtb3VzZW1vdmUuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3RoaXMucG9zaXRpb24oe21vdXNlVGFyZ2V0Ont0b3A6dC5wYWdlWSxsZWZ0OnQucGFnZVh9fSl9LmJpbmQodGhpcykpfSx0aGlzLl9kZXRhY2hFdmVudHM9ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuY2xvc2VPbkVzYyYmdChkb2N1bWVudCkub2ZmKFwia2V5dXAuakJveC1cIit0aGlzLmlkKSwhMCE9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJlwiYm9keVwiIT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrfHx0KGRvY3VtZW50KS5vZmYoXCJjbGljay5qQm94LVwiK3RoaXMuaWQrXCIgdGFwLmpCb3gtXCIrdGhpcy5pZCksdGhpcy5vcHRpb25zLmFkanVzdFRyYWNrZXImJnQod2luZG93KS5vZmYoXCJzY3JvbGwuakJveC1cIit0aGlzLmlkKSwodGhpcy5vcHRpb25zLmFkanVzdFBvc2l0aW9ufHx0aGlzLm9wdGlvbnMucmVwb3NpdGlvbikmJnQod2luZG93KS5vZmYoXCJyZXNpemUuakJveC1cIit0aGlzLmlkKSxcIm1vdXNlXCI9PXRoaXMub3B0aW9ucy50YXJnZXQmJnQoXCJib2R5XCIpLm9mZihcIm1vdXNlbW92ZS5qQm94LVwiK3RoaXMuaWQpfSx0aGlzLl9zaG93T3ZlcmxheT1mdW5jdGlvbigpe3RoaXMub3ZlcmxheXx8KHRoaXMub3ZlcmxheT10KCc8ZGl2IGlkPVwiJyt0aGlzLmlkKyctb3ZlcmxheVwiLz4nKS5hZGRDbGFzcyhcImpCb3gtb3ZlcmxheVwiKyh0aGlzLnR5cGU/XCIgakJveC1vdmVybGF5LVwiK3RoaXMudHlwZTpcIlwiKSkuY3NzKHtkaXNwbGF5Olwibm9uZVwiLG9wYWNpdHk6MCx6SW5kZXg6dGhpcy5vcHRpb25zLnpJbmRleC0xfSkuYXBwZW5kVG8odGhpcy5vcHRpb25zLmFwcGVuZFRvKSx0aGlzLm9wdGlvbnMub3ZlcmxheUNsYXNzJiZ0aGlzLm92ZXJsYXkuYWRkQ2xhc3ModGhpcy5vcHRpb25zLm92ZXJsYXlDbGFzcyksXCJvdmVybGF5XCIhPXRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbiYmITAhPT10aGlzLm9wdGlvbnMuY2xvc2VCdXR0b258fHRoaXMub3ZlcmxheS5hcHBlbmQodGhpcy5jbG9zZUJ1dHRvbiksXCJvdmVybGF5XCI9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJnRoaXMub3ZlcmxheS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7dGhpcy5jbG9zZSh7aWdub3JlRGVsYXk6ITB9KX0uYmluZCh0aGlzKSksdChcIiNcIit0aGlzLmlkK1wiLW92ZXJsYXkgLmpCb3gtY2xvc2VCdXR0b25cIikubGVuZ3RoJiYodGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlLnRvcD1NYXRoLm1heCh0KFwiI1wiK3RoaXMuaWQrXCItb3ZlcmxheSAuakJveC1jbG9zZUJ1dHRvblwiKS5vdXRlckhlaWdodCgpLHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZS50b3ApKSksITA9PT10aGlzLmFkanVzdFpJbmRleE9uT3BlbiYmdGhpcy5vdmVybGF5LmNzcyhcInpJbmRleFwiLHBhcnNlSW50KHRoaXMud3JhcHBlci5jc3MoXCJ6SW5kZXhcIiksMTApLTEpLFwiYmxvY2tcIiE9dGhpcy5vdmVybGF5LmNzcyhcImRpc3BsYXlcIikmJih0aGlzLm9wdGlvbnMuZmFkZT90aGlzLm92ZXJsYXkuc3RvcCgpJiZ0aGlzLm92ZXJsYXkuYW5pbWF0ZSh7b3BhY2l0eToxfSx7cXVldWU6ITEsZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGUsc3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLm92ZXJsYXkuY3NzKHtkaXNwbGF5OlwiYmxvY2tcIn0pfS5iaW5kKHRoaXMpfSk6dGhpcy5vdmVybGF5LmNzcyh7ZGlzcGxheTpcImJsb2NrXCIsb3BhY2l0eToxfSkpfSx0aGlzLl9oaWRlT3ZlcmxheT1mdW5jdGlvbigpe3RoaXMub3ZlcmxheSYmKHRoaXMub3B0aW9ucy5mYWRlP3RoaXMub3ZlcmxheS5zdG9wKCkmJnRoaXMub3ZlcmxheS5hbmltYXRlKHtvcGFjaXR5OjB9LHtxdWV1ZTohMSxkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZSxjb21wbGV0ZTpmdW5jdGlvbigpe3RoaXMub3ZlcmxheS5jc3Moe2Rpc3BsYXk6XCJub25lXCJ9KX0uYmluZCh0aGlzKX0pOnRoaXMub3ZlcmxheS5jc3Moe2Rpc3BsYXk6XCJub25lXCIsb3BhY2l0eTowfSkpfSx0aGlzLl9leHBvc2VEaW1lbnNpb25zPWZ1bmN0aW9uKCl7dGhpcy53cmFwcGVyLmNzcyh7dG9wOi0xZTQsbGVmdDotMWU0LHJpZ2h0OlwiYXV0b1wiLGJvdHRvbTpcImF1dG9cIn0pO3ZhciB0PXt4OnRoaXMud3JhcHBlci5vdXRlcldpZHRoKCkseTp0aGlzLndyYXBwZXIub3V0ZXJIZWlnaHQoKX07cmV0dXJuIHRoaXMud3JhcHBlci5jc3Moe3RvcDpcImF1dG9cIixsZWZ0OlwiYXV0b1wifSksdH0sdGhpcy5fZ2VuZXJhdGVBbmltYXRpb25DU1M9ZnVuY3Rpb24oKXtpZihcIm9iamVjdFwiIT10LnR5cGUodGhpcy5vcHRpb25zLmFuaW1hdGlvbikmJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uPXtwdWxzZTp7b3BlbjpcInB1bHNlXCIsY2xvc2U6XCJ6b29tT3V0XCJ9LHpvb21Jbjp7b3BlbjpcInpvb21JblwiLGNsb3NlOlwiem9vbUluXCJ9LHpvb21PdXQ6e29wZW46XCJ6b29tT3V0XCIsY2xvc2U6XCJ6b29tT3V0XCJ9LG1vdmU6e29wZW46XCJtb3ZlXCIsY2xvc2U6XCJtb3ZlXCJ9LHNsaWRlOntvcGVuOlwic2xpZGVcIixjbG9zZTpcInNsaWRlXCJ9LGZsaXA6e29wZW46XCJmbGlwXCIsY2xvc2U6XCJmbGlwXCJ9LHRhZGE6e29wZW46XCJ0YWRhXCIsY2xvc2U6XCJ6b29tT3V0XCJ9fVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uXSksIXRoaXMub3B0aW9ucy5hbmltYXRpb24pcmV0dXJuIG51bGw7dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuJiYodGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuPXRoaXMub3B0aW9ucy5hbmltYXRpb24ub3Blbi5zcGxpdChcIjpcIikpLHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2UmJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlPXRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2Uuc3BsaXQoXCI6XCIpKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW5EaXJlY3Rpb249dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuWzFdfHxudWxsLHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2VEaXJlY3Rpb249dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZVsxXXx8bnVsbCx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW4mJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW49dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuWzBdKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlJiYodGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZT10aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlWzBdKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW4mJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW4rPVwiT3BlblwiKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlJiYodGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZSs9XCJDbG9zZVwiKTt2YXIgaT17cHVsc2U6e2R1cmF0aW9uOjM1MCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgxKVwiXSxbXCI1MCVcIixcInNjYWxlKDEuMSlcIl0sW1wiMTAwJVwiLFwic2NhbGUoMSlcIl1dfSx6b29tSW5PcGVuOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MTgwLGNzczpbW1wiMCVcIixcInNjYWxlKDAuOSlcIl0sW1wiMTAwJVwiLFwic2NhbGUoMSlcIl1dfSx6b29tSW5DbG9zZTp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDE4MCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgxKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgwLjkpXCJdXX0sem9vbU91dE9wZW46e2R1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlfHwxODAsY3NzOltbXCIwJVwiLFwic2NhbGUoMS4xKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgxKVwiXV19LHpvb21PdXRDbG9zZTp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDE4MCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgxKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgxLjEpXCJdXX0sbW92ZU9wZW46e2R1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlfHwxODAscG9zaXRpb25zOnt0b3A6e1wiMCVcIjotMTJ9LHJpZ2h0OntcIjAlXCI6MTJ9LGJvdHRvbTp7XCIwJVwiOjEyfSxsZWZ0OntcIjAlXCI6LTEyfX0sY3NzOltbXCIwJVwiLFwidHJhbnNsYXRlJVhZKCVWcHgpXCJdLFtcIjEwMCVcIixcInRyYW5zbGF0ZSVYWSgwcHgpXCJdXX0sbW92ZUNsb3NlOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MTgwLHRpbWluZzpcImVhc2UtaW5cIixwb3NpdGlvbnM6e3RvcDp7XCIxMDAlXCI6LTEyfSxyaWdodDp7XCIxMDAlXCI6MTJ9LGJvdHRvbTp7XCIxMDAlXCI6MTJ9LGxlZnQ6e1wiMTAwJVwiOi0xMn19LGNzczpbW1wiMCVcIixcInRyYW5zbGF0ZSVYWSgwcHgpXCJdLFtcIjEwMCVcIixcInRyYW5zbGF0ZSVYWSglVnB4KVwiXV19LHNsaWRlT3Blbjp7ZHVyYXRpb246NDAwLHBvc2l0aW9uczp7dG9wOntcIjAlXCI6LTQwMH0scmlnaHQ6e1wiMCVcIjo0MDB9LGJvdHRvbTp7XCIwJVwiOjQwMH0sbGVmdDp7XCIwJVwiOi00MDB9fSxjc3M6W1tcIjAlXCIsXCJ0cmFuc2xhdGUlWFkoJVZweClcIl0sW1wiMTAwJVwiLFwidHJhbnNsYXRlJVhZKDBweClcIl1dfSxzbGlkZUNsb3NlOntkdXJhdGlvbjo0MDAsdGltaW5nOlwiZWFzZS1pblwiLHBvc2l0aW9uczp7dG9wOntcIjEwMCVcIjotNDAwfSxyaWdodDp7XCIxMDAlXCI6NDAwfSxib3R0b206e1wiMTAwJVwiOjQwMH0sbGVmdDp7XCIxMDAlXCI6LTQwMH19LGNzczpbW1wiMCVcIixcInRyYW5zbGF0ZSVYWSgwcHgpXCJdLFtcIjEwMCVcIixcInRyYW5zbGF0ZSVYWSglVnB4KVwiXV19LGZsaXBPcGVuOntkdXJhdGlvbjo2MDAsY3NzOltbXCIwJVwiLFwicGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpXCJdLFtcIjQwJVwiLFwicGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTE1ZGVnKVwiXSxbXCI3MCVcIixcInBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDE1ZGVnKVwiXSxbXCIxMDAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKVwiXV19LGZsaXBDbG9zZTp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDMwMCxjc3M6W1tcIjAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKVwiXSxbXCIxMDAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZylcIl1dfSx0YWRhOntkdXJhdGlvbjo4MDAsY3NzOltbXCIwJVwiLFwic2NhbGUoMSlcIl0sW1wiMTAlLCAyMCVcIixcInNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKVwiXSxbXCIzMCUsIDUwJSwgNzAlLCA5MCVcIixcInNjYWxlKDEuMSkgcm90YXRlKDNkZWcpXCJdLFtcIjQwJSwgNjAlLCA4MCVcIixcInNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgxKSByb3RhdGUoMClcIl1dfX07dC5lYWNoKFtcInB1bHNlXCIsXCJ0YWRhXCJdLGZ1bmN0aW9uKHQsbyl7aVtvK1wiT3BlblwiXT1pW28rXCJDbG9zZVwiXT1pW29dfSk7dmFyIG89ZnVuY3Rpb24obyxzKXt2YXIgZT1cIkBrZXlmcmFtZXMgakJveC1cIit0aGlzLmlkK1wiLWFuaW1hdGlvbi1cIit0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dK1wiLVwiK28rKHM/XCItXCIrczpcIlwiKStcIiB7XCI7cmV0dXJuIHQuZWFjaChpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bb11dLmNzcyxmdW5jdGlvbih0LG4pe3ZhciBhPXM/blsxXS5yZXBsYWNlKFwiJVhZXCIsdGhpcy5fZ2V0WFkocykudG9VcHBlckNhc2UoKSk6blsxXTtpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bb11dLnBvc2l0aW9ucyYmKGE9YS5yZXBsYWNlKFwiJVZcIixpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bb11dLnBvc2l0aW9uc1tzXVtuWzBdXSkpLGUrPW5bMF0rXCIge3RyYW5zZm9ybTpcIithK1wiO31cIn0uYmluZCh0aGlzKSksZSs9XCJ9XCIsZSs9XCIuakJveC1cIit0aGlzLmlkK1wiLWFuaW1hdGlvbi1cIit0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dK1wiLVwiK28rKHM/XCItXCIrczpcIlwiKStcIiB7XCIsZSs9XCJhbmltYXRpb24tZHVyYXRpb246IFwiK2lbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXV0uZHVyYXRpb24rXCJtcztcIixlKz1cImFuaW1hdGlvbi1uYW1lOiBqQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uLVwiK3RoaXMub3B0aW9ucy5hbmltYXRpb25bb10rXCItXCIrbysocz9cIi1cIitzOlwiXCIpK1wiO1wiLGUrPWlbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXV0udGltaW5nP1wiYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogXCIraVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dXS50aW1pbmcrXCI7XCI6XCJcIixlKz1cIn1cIn0uYmluZCh0aGlzKTt0aGlzLl9hbmltYXRpb25DU1M9XCJcIix0LmVhY2goW1wib3BlblwiLFwiY2xvc2VcIl0sZnVuY3Rpb24ocyxlKXtpZighdGhpcy5vcHRpb25zLmFuaW1hdGlvbltlXXx8IWlbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltlXV18fFwiY2xvc2VcIj09ZSYmIXRoaXMub3B0aW9ucy5mYWRlKXJldHVyblwiXCI7aVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW2VdXS5wb3NpdGlvbnM/dC5lYWNoKFtcInRvcFwiLFwicmlnaHRcIixcImJvdHRvbVwiLFwibGVmdFwiXSxmdW5jdGlvbih0LGkpe3RoaXMuX2FuaW1hdGlvbkNTUys9byhlLGkpfS5iaW5kKHRoaXMpKTp0aGlzLl9hbmltYXRpb25DU1MrPW8oZSl9LmJpbmQodGhpcykpfSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uJiZ0aGlzLl9nZW5lcmF0ZUFuaW1hdGlvbkNTUygpLHRoaXMuX2Jsb2NrQm9keUNsaWNrPWZ1bmN0aW9uKCl7dGhpcy5ibG9ja0JvZHlDbGljaz0hMCxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy5ibG9ja0JvZHlDbGljaz0hMX0uYmluZCh0aGlzKSwxMCl9LHRoaXMuX2FuaW1hdGU9ZnVuY3Rpb24odCl7aWYodD10fHwodGhpcy5pc09wZW4/XCJvcGVuXCI6XCJjbG9zZVwiKSwhdGhpcy5vcHRpb25zLmZhZGUmJlwiY2xvc2VcIj09dClyZXR1cm4gbnVsbDt2YXIgaT10aGlzLm9wdGlvbnMuYW5pbWF0aW9uW3QrXCJEaXJlY3Rpb25cIl18fChcImNlbnRlclwiIT10aGlzLmFsaWduP3RoaXMuYWxpZ246dGhpcy5vcHRpb25zLmF0dHJpYnV0ZXMueCk7dGhpcy5mbGlwcGVkJiZ0aGlzLl9nZXRYWShpKT09dGhpcy5fZ2V0WFkodGhpcy5hbGlnbikmJihpPXRoaXMuX2dldE9wcChpKSk7dmFyIG89XCJqQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uLVwiK3RoaXMub3B0aW9ucy5hbmltYXRpb25bdF0rXCItXCIrdCtcIiBqQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uLVwiK3RoaXMub3B0aW9ucy5hbmltYXRpb25bdF0rXCItXCIrdCtcIi1cIitpO3RoaXMud3JhcHBlci5hZGRDbGFzcyhvKSxpPTFlMypwYXJzZUZsb2F0KHRoaXMud3JhcHBlci5jc3MoXCJhbmltYXRpb24tZHVyYXRpb25cIikpLFwiY2xvc2VcIj09dCYmKGk9TWF0aC5taW4oaSx0aGlzLm9wdGlvbnMuZmFkZSkpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLndyYXBwZXIucmVtb3ZlQ2xhc3Mobyl9LmJpbmQodGhpcyksaSl9LHRoaXMuX2Fib3J0QW5pbWF0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53cmFwcGVyLmF0dHIoXCJjbGFzc1wiKS5zcGxpdChcIiBcIikuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiAwIT09dC5sYXN0SW5kZXhPZihcImpCb3gtXCIrdGhpcy5pZCtcIi1hbmltYXRpb25cIiwwKX0uYmluZCh0aGlzKSk7dGhpcy53cmFwcGVyLmF0dHIoXCJjbGFzc1wiLHQuam9pbihcIiBcIikpfSwodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVXaWR0aHx8dGhpcy5vcHRpb25zLnJlc3BvbnNpdmVIZWlnaHQpJiZ0KHdpbmRvdykub24oXCJyZXNpemUucmVzcG9uc2l2ZWpCb3gtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXt0aGlzLmlzT3BlbiYmdGhpcy5wb3NpdGlvbigpfS5iaW5kKHRoaXMpKSxcInN0cmluZ1wiPT09dC50eXBlKHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8pJiYodGhpcy5vcHRpb25zLnByZWxvYWRBdWRpbz1bdGhpcy5vcHRpb25zLnByZWxvYWRBdWRpb10pLFwic3RyaW5nXCI9PT10LnR5cGUodGhpcy5vcHRpb25zLmF1ZGlvKSYmKHRoaXMub3B0aW9ucy5hdWRpbz17b3Blbjp0aGlzLm9wdGlvbnMuYXVkaW99KSxcIm51bWJlclwiPT09dC50eXBlKHRoaXMub3B0aW9ucy52b2x1bWUpJiYodGhpcy5vcHRpb25zLnZvbHVtZT17b3Blbjp0aGlzLm9wdGlvbnMudm9sdW1lLGNsb3NlOnRoaXMub3B0aW9ucy52b2x1bWV9KSwhMD09PXRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8mJnRoaXMub3B0aW9ucy5hdWRpbyYmKHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW89W10sdC5lYWNoKHRoaXMub3B0aW9ucy5hdWRpbyxmdW5jdGlvbih0LGkpe3RoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8ucHVzaChpK1wiLm1wM1wiKSx0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvLnB1c2goaStcIi5vZ2dcIil9LmJpbmQodGhpcykpKSx0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvLmxlbmd0aCYmdC5lYWNoKHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8sZnVuY3Rpb24odCxpKXt2YXIgbz1uZXcgQXVkaW87by5zcmM9aSxvLnByZWxvYWQ9XCJhdXRvXCJ9KSx0aGlzLl9maXJlRXZlbnQoXCJvbkluaXRcIiksdGhpc312YXIgbyxzO3JldHVybiBpLnByb3RvdHlwZS5hdHRhY2g9ZnVuY3Rpb24oaSxvKXtyZXR1cm4gaT1pfHx0aGlzLm9wdGlvbnMuYXR0YWNoLFwic3RyaW5nXCI9PXQudHlwZShpKSYmKGk9dChpKSksbz1vfHx0aGlzLm9wdGlvbnMudHJpZ2dlcixpJiZpLmxlbmd0aCYmdC5lYWNoKGksZnVuY3Rpb24oaSxzKXsocz10KHMpKS5kYXRhKFwiakJveC1hdHRhY2hlZC1cIit0aGlzLmlkKXx8KFwidGl0bGVcIj09dGhpcy5vcHRpb25zLmdldENvbnRlbnQmJm51bGwhPXMuYXR0cihcInRpdGxlXCIpJiZzLmRhdGEoXCJqQm94LWdldENvbnRlbnRcIixzLmF0dHIoXCJ0aXRsZVwiKSkucmVtb3ZlQXR0cihcInRpdGxlXCIpLHRoaXMuYXR0YWNoZWRFbGVtZW50c3x8KHRoaXMuYXR0YWNoZWRFbGVtZW50cz1bXSksdGhpcy5hdHRhY2hlZEVsZW1lbnRzLnB1c2goc1swXSkscy5vbihvK1wiLmpCb3gtYXR0YWNoLVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dmFyIGk7dGhpcy50aW1lciYmY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLFwibW91c2VlbnRlclwiPT1vJiZ0aGlzLmlzT3BlbiYmdGhpcy5zb3VyY2VbMF09PXNbMF18fCh0aGlzLmlzT3BlbiYmdGhpcy5zb3VyY2UmJnRoaXMuc291cmNlWzBdIT1zWzBdJiYoaT0hMCksdGhpcy5zb3VyY2U9cyx0aGlzLm9wdGlvbnMudGFyZ2V0fHwodGhpcy50YXJnZXQ9cyksXCJjbGlja1wiPT1vJiZ0aGlzLm9wdGlvbnMucHJldmVudERlZmF1bHQmJnQucHJldmVudERlZmF1bHQoKSx0aGlzW1wiY2xpY2tcIiE9b3x8aT9cIm9wZW5cIjpcInRvZ2dsZVwiXSgpKX0uYmluZCh0aGlzKSksXCJtb3VzZWVudGVyXCI9PXRoaXMub3B0aW9ucy50cmlnZ2VyJiZzLm9uKFwibW91c2VsZWF2ZVwiLGZ1bmN0aW9uKGkpe2lmKCF0aGlzLndyYXBwZXIpcmV0dXJuIG51bGw7dGhpcy5vcHRpb25zLmNsb3NlT25Nb3VzZWxlYXZlJiYoaS5yZWxhdGVkVGFyZ2V0PT10aGlzLndyYXBwZXJbMF18fHQoaS5yZWxhdGVkVGFyZ2V0KS5wYXJlbnRzKFwiI1wiK3RoaXMuaWQpLmxlbmd0aCl8fHRoaXMuY2xvc2UoKX0uYmluZCh0aGlzKSkscy5kYXRhKFwiakJveC1hdHRhY2hlZC1cIit0aGlzLmlkLG8pLHRoaXMuX2ZpcmVFdmVudChcIm9uQXR0YWNoXCIscykpfS5iaW5kKHRoaXMpKSx0aGlzfSxpLnByb3RvdHlwZS5kZXRhY2g9ZnVuY3Rpb24oaSl7cmV0dXJuKGk9aXx8dGhpcy5hdHRhY2hlZEVsZW1lbnRzfHxbXSkmJmkubGVuZ3RoJiZ0LmVhY2goaSxmdW5jdGlvbihpLG8peyhvPXQobykpLmRhdGEoXCJqQm94LWF0dGFjaGVkLVwiK3RoaXMuaWQpJiYoby5vZmYoby5kYXRhKFwiakJveC1hdHRhY2hlZC1cIit0aGlzLmlkKStcIi5qQm94LWF0dGFjaC1cIit0aGlzLmlkKSxvLmRhdGEoXCJqQm94LWF0dGFjaGVkLVwiK3RoaXMuaWQsbnVsbCkpLHRoaXMuYXR0YWNoZWRFbGVtZW50cz10LmdyZXAodGhpcy5hdHRhY2hlZEVsZW1lbnRzLGZ1bmN0aW9uKHQpe3JldHVybiB0IT1vWzBdfSl9LmJpbmQodGhpcykpLHRoaXN9LGkucHJvdG90eXBlLnNldFRpdGxlPWZ1bmN0aW9uKGksbyl7aWYobnVsbD09aXx8bnVsbD09aSlyZXR1cm4gdGhpczt0aGlzLndyYXBwZXJ8fHRoaXMuX2NyZWF0ZSgpO3ZhciBzPXRoaXMud3JhcHBlci5vdXRlckhlaWdodCgpLGU9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKTtyZXR1cm4gdGhpcy50aXRsZXx8KHRoaXMudGl0bGVDb250YWluZXI9dCgnPGRpdiBjbGFzcz1cImpCb3gtdGl0bGVcIi8+JyksdGhpcy50aXRsZT10KFwiPGRpdi8+XCIpLmFwcGVuZFRvKHRoaXMudGl0bGVDb250YWluZXIpLFwidGl0bGVcIiE9dGhpcy5vcHRpb25zLmNsb3NlQnV0dG9uJiYoITAhPT10aGlzLm9wdGlvbnMuY2xvc2VCdXR0b258fHRoaXMub3B0aW9ucy5vdmVybGF5KXx8KHRoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtY2xvc2VCdXR0b24tdGl0bGVcIiksdGhpcy5jbG9zZUJ1dHRvbi5hcHBlbmRUbyh0aGlzLnRpdGxlQ29udGFpbmVyKSksdGhpcy50aXRsZUNvbnRhaW5lci5pbnNlcnRCZWZvcmUodGhpcy5jb250ZW50KSx0aGlzLl9zZXRUaXRsZVdpZHRoKCkpLHRoaXMud3JhcHBlcltpP1wiYWRkQ2xhc3NcIjpcInJlbW92ZUNsYXNzXCJdKFwiakJveC1oYXNUaXRsZVwiKSx0aGlzLnRpdGxlLmh0bWwoaSksZSE9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKSYmdGhpcy5fc2V0VGl0bGVXaWR0aCgpLHRoaXMub3B0aW9ucy5kcmFnZ2FibGUmJnRoaXMuX2RyYWdnYWJsZSgpLG98fCF0aGlzLm9wdGlvbnMucmVwb3NpdGlvbk9uQ29udGVudHx8cz09dGhpcy53cmFwcGVyLm91dGVySGVpZ2h0KCkmJmU9PXRoaXMud3JhcHBlci5vdXRlcldpZHRoKCl8fHRoaXMucG9zaXRpb24oKSx0aGlzfSxpLnByb3RvdHlwZS5zZXRDb250ZW50PWZ1bmN0aW9uKGksbyl7aWYobnVsbD09aXx8bnVsbD09aSlyZXR1cm4gdGhpczt0aGlzLndyYXBwZXJ8fHRoaXMuX2NyZWF0ZSgpO3ZhciBzPXRoaXMud3JhcHBlci5vdXRlckhlaWdodCgpLGU9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKTtzd2l0Y2godGhpcy5jb250ZW50LmNoaWxkcmVuKFwiW2RhdGEtamJveC1jb250ZW50LWFwcGVuZGVkXVwiKS5hcHBlbmRUbyhcImJvZHlcIikuY3NzKHtkaXNwbGF5Olwibm9uZVwifSksdC50eXBlKGkpKXtjYXNlXCJzdHJpbmdcIjp0aGlzLmNvbnRlbnQuaHRtbChpKTticmVhaztjYXNlXCJvYmplY3RcIjppJiYoaSBpbnN0YW5jZW9mIHR8fGkuY29uc3RydWN0b3IucHJvdG90eXBlLmpxdWVyeSk/KHRoaXMuY29udGVudC5odG1sKFwiXCIpLGkuYXR0cihcImRhdGEtamJveC1jb250ZW50LWFwcGVuZGVkXCIsMSkuYXBwZW5kVG8odGhpcy5jb250ZW50KS5jc3Moe2Rpc3BsYXk6XCJibG9ja1wifSkpOnRoaXMuY29udGVudC5odG1sKEpTT04uc3RyaW5naWZ5KGkpKX1yZXR1cm4gZSE9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKSYmdGhpcy5fc2V0VGl0bGVXaWR0aCgpLHRoaXMub3B0aW9ucy5kcmFnZ2FibGUmJnRoaXMuX2RyYWdnYWJsZSgpLG98fCF0aGlzLm9wdGlvbnMucmVwb3NpdGlvbk9uQ29udGVudHx8cz09dGhpcy53cmFwcGVyLm91dGVySGVpZ2h0KCkmJmU9PXRoaXMud3JhcHBlci5vdXRlcldpZHRoKCl8fHRoaXMucG9zaXRpb24oKSx0aGlzfSxpLnByb3RvdHlwZS5zZXREaW1lbnNpb25zPWZ1bmN0aW9uKHQsaSxvKXt0aGlzLndyYXBwZXJ8fHRoaXMuX2NyZWF0ZSgpLG51bGw9PWkmJihpPVwiYXV0b1wiKSx0aGlzLmNvbnRlbnQuY3NzKHQsdGhpcy5fZ2V0SW50KGkpKSxcIndpZHRoXCI9PXQmJnRoaXMuX3NldFRpdGxlV2lkdGgoKSx0aGlzLm9wdGlvbnNbdF09aSxudWxsIT1vJiYhb3x8dGhpcy5wb3NpdGlvbigpfSxpLnByb3RvdHlwZS5zZXRXaWR0aD1mdW5jdGlvbih0LGkpe3RoaXMuc2V0RGltZW5zaW9ucyhcIndpZHRoXCIsdCxpKX0saS5wcm90b3R5cGUuc2V0SGVpZ2h0PWZ1bmN0aW9uKHQsaSl7dGhpcy5zZXREaW1lbnNpb25zKFwiaGVpZ2h0XCIsdCxpKX0saS5wcm90b3R5cGUucG9zaXRpb249ZnVuY3Rpb24oaSl7aWYoaT1pfHx7fSxpPXQuZXh0ZW5kKCEwLHRoaXMub3B0aW9ucyxpKSx0aGlzLnRhcmdldD1pLnRhcmdldHx8dGhpcy50YXJnZXR8fHQod2luZG93KSx0aGlzLnRhcmdldCBpbnN0YW5jZW9mIHR8fFwibW91c2VcIj09dGhpcy50YXJnZXR8fCh0aGlzLnRhcmdldD10KHRoaXMudGFyZ2V0KSksIXRoaXMudGFyZ2V0Lmxlbmd0aClyZXR1cm4gdGhpczt0aGlzLmNvbnRlbnQuY3NzKHt3aWR0aDp0aGlzLl9nZXRJbnQoaS53aWR0aCxcIndpZHRoXCIpLGhlaWdodDp0aGlzLl9nZXRJbnQoaS5oZWlnaHQsXCJoZWlnaHRcIiksbWluV2lkdGg6dGhpcy5fZ2V0SW50KGkubWluV2lkdGgsXCJ3aWR0aFwiKSxtaW5IZWlnaHQ6dGhpcy5fZ2V0SW50KGkubWluSGVpZ2h0LFwiaGVpZ2h0XCIpLG1heFdpZHRoOnRoaXMuX2dldEludChpLm1heFdpZHRoLFwid2lkdGhcIiksbWF4SGVpZ2h0OnRoaXMuX2dldEludChpLm1heEhlaWdodCxcImhlaWdodFwiKX0pLHRoaXMuX3NldFRpdGxlV2lkdGgoKTt2YXIgbz10aGlzLl9leHBvc2VEaW1lbnNpb25zKCk7XCJtb3VzZVwiPT10aGlzLnRhcmdldHx8dGhpcy50YXJnZXQuZGF0YShcImpCb3gtXCIrdGhpcy5pZCtcIi1maXhlZFwiKXx8dGhpcy50YXJnZXQuZGF0YShcImpCb3gtXCIrdGhpcy5pZCtcIi1maXhlZFwiLHRoaXMudGFyZ2V0WzBdIT10KHdpbmRvdylbMF0mJihcImZpeGVkXCI9PXRoaXMudGFyZ2V0LmNzcyhcInBvc2l0aW9uXCIpfHwwPHRoaXMudGFyZ2V0LnBhcmVudHMoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm5cImZpeGVkXCI9PXQodGhpcykuY3NzKFwicG9zaXRpb25cIil9KS5sZW5ndGgpP1wiZml4ZWRcIjpcInN0YXRpY1wiKTt2YXIgcz17eDp0KHdpbmRvdykub3V0ZXJXaWR0aCgpLHk6dCh3aW5kb3cpLm91dGVySGVpZ2h0KCksdG9wOmkuZml4ZWQmJnRoaXMudGFyZ2V0LmRhdGEoXCJqQm94LVwiK3RoaXMuaWQrXCItZml4ZWRcIik/MDp0KHdpbmRvdykuc2Nyb2xsVG9wKCksbGVmdDppLmZpeGVkJiZ0aGlzLnRhcmdldC5kYXRhKFwiakJveC1cIit0aGlzLmlkK1wiLWZpeGVkXCIpPzA6dCh3aW5kb3cpLnNjcm9sbExlZnQoKX07cy5ib3R0b209cy50b3Arcy55LHMucmlnaHQ9cy5sZWZ0K3MueDt0cnl7dmFyIGU9dGhpcy50YXJnZXQub2Zmc2V0KCl9Y2F0Y2gocyl7ZT17dG9wOjAsbGVmdDowfX1cIm1vdXNlXCIhPXRoaXMudGFyZ2V0JiZcImZpeGVkXCI9PXRoaXMudGFyZ2V0LmRhdGEoXCJqQm94LVwiK3RoaXMuaWQrXCItZml4ZWRcIikmJmkuZml4ZWQmJihlLnRvcD1lLnRvcC10KHdpbmRvdykuc2Nyb2xsVG9wKCksZS5sZWZ0PWUubGVmdC10KHdpbmRvdykuc2Nyb2xsTGVmdCgpKTt2YXIgbj17eDpcIm1vdXNlXCI9PXRoaXMudGFyZ2V0PzEyOnRoaXMudGFyZ2V0Lm91dGVyV2lkdGgoKSx5OlwibW91c2VcIj09dGhpcy50YXJnZXQ/MjA6dGhpcy50YXJnZXQub3V0ZXJIZWlnaHQoKSx0b3A6XCJtb3VzZVwiPT10aGlzLnRhcmdldCYmaS5tb3VzZVRhcmdldD9pLm1vdXNlVGFyZ2V0LnRvcDplP2UudG9wOjAsbGVmdDpcIm1vdXNlXCI9PXRoaXMudGFyZ2V0JiZpLm1vdXNlVGFyZ2V0P2kubW91c2VUYXJnZXQubGVmdDplP2UubGVmdDowfSxhPWkub3V0c2lkZSYmIShcImNlbnRlclwiPT1pLnBvc2l0aW9uLngmJlwiY2VudGVyXCI9PWkucG9zaXRpb24ueSksaD17eDpzLngtaS5hZGp1c3REaXN0YW5jZS5sZWZ0LWkuYWRqdXN0RGlzdGFuY2UucmlnaHQseTpzLnktaS5hZGp1c3REaXN0YW5jZS50b3AtaS5hZGp1c3REaXN0YW5jZS5ib3R0b20sbGVmdDphP24ubGVmdC10KHdpbmRvdykuc2Nyb2xsTGVmdCgpLWkuYWRqdXN0RGlzdGFuY2UubGVmdDowLHJpZ2h0OmE/cy54LW4ubGVmdCt0KHdpbmRvdykuc2Nyb2xsTGVmdCgpLW4ueC1pLmFkanVzdERpc3RhbmNlLnJpZ2h0OjAsdG9wOmE/bi50b3AtdCh3aW5kb3cpLnNjcm9sbFRvcCgpLXRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZS50b3A6MCxib3R0b206YT9zLnktbi50b3ArdCh3aW5kb3cpLnNjcm9sbFRvcCgpLW4ueS1pLmFkanVzdERpc3RhbmNlLmJvdHRvbTowfSxyPXt4OlwieFwiIT1pLm91dHNpZGUmJlwieHlcIiE9aS5vdXRzaWRlfHxcIm51bWJlclwiPT10LnR5cGUoaS5wb3NpdGlvbi54KT9udWxsOmkucG9zaXRpb24ueCx5OlwieVwiIT1pLm91dHNpZGUmJlwieHlcIiE9aS5vdXRzaWRlfHxcIm51bWJlclwiPT10LnR5cGUoaS5wb3NpdGlvbi55KT9udWxsOmkucG9zaXRpb24ueX0scD17eDohMSx5OiExfTtyLngmJm8ueD5oW3IueF0mJmhbdGhpcy5fZ2V0T3BwKHIueCldPmhbci54XSYmKHIueD10aGlzLl9nZXRPcHAoci54KSkmJihwLng9ITApLHIueSYmby55Pmhbci55XSYmaFt0aGlzLl9nZXRPcHAoci55KV0+aFtyLnldJiYoci55PXRoaXMuX2dldE9wcChyLnkpKSYmKHAueT0hMCksKGkucmVzcG9uc2l2ZVdpZHRofHxpLnJlc3BvbnNpdmVIZWlnaHQpJiYoeD1mdW5jdGlvbigpe3ZhciB0O2kucmVzcG9uc2l2ZVdpZHRoJiZvLng+aFtyLnh8fFwieFwiXSYmKHQ9aFtyLnh8fFwieFwiXS0odGhpcy5wb2ludGVyJiZhJiZcInhcIj09aS5vdXRzaWRlP3RoaXMucG9pbnRlci5kaW1lbnNpb25zLng6MCktcGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLWxlZnQtd2lkdGhcIikpLXBhcnNlSW50KHRoaXMuY29udGFpbmVyLmNzcyhcImJvcmRlci1yaWdodC13aWR0aFwiKSksdGhpcy5jb250ZW50LmNzcyh7d2lkdGg6dD50aGlzLm9wdGlvbnMucmVzcG9uc2l2ZU1pbldpZHRoP3Q6bnVsbCxtaW5XaWR0aDp0PHBhcnNlSW50KHRoaXMuY29udGVudC5jc3MoXCJtaW5XaWR0aFwiKSk/MDpudWxsfSksdGhpcy5fc2V0VGl0bGVXaWR0aCgpKSxvPXRoaXMuX2V4cG9zZURpbWVuc2lvbnMoKX0uYmluZCh0aGlzKSxpLnJlc3BvbnNpdmVXaWR0aCYmeCgpLGkucmVzcG9uc2l2ZVdpZHRoJiYhcC55JiZyLnkmJm8ueT5oW3IueV0mJmhbdGhpcy5fZ2V0T3BwKHIueSldPmhbci55XSYmKHIueT10aGlzLl9nZXRPcHAoci55KSkmJihwLnk9ITApLHk9ZnVuY3Rpb24oKXt2YXIgdDtpLnJlc3BvbnNpdmVIZWlnaHQmJm8ueT5oW3IueXx8XCJ5XCJdJiYodD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpdGxlQ29udGFpbmVyfHx0aGlzLmZvb3Rlcj8oXCJub25lXCI9PXRoaXMud3JhcHBlci5jc3MoXCJkaXNwbGF5XCIpPyh0aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiLFwiYmxvY2tcIiksdD0odGhpcy50aXRsZUNvbnRhaW5lcj90aGlzLnRpdGxlQ29udGFpbmVyLm91dGVySGVpZ2h0KCk6MCkrKHRoaXMuZm9vdGVyP3RoaXMuZm9vdGVyLm91dGVySGVpZ2h0KCk6MCksdGhpcy53cmFwcGVyLmNzcyhcImRpc3BsYXlcIixcIm5vbmVcIikpOnQ9KHRoaXMudGl0bGVDb250YWluZXI/dGhpcy50aXRsZUNvbnRhaW5lci5vdXRlckhlaWdodCgpOjApKyh0aGlzLmZvb3Rlcj90aGlzLmZvb3Rlci5vdXRlckhlaWdodCgpOjApLHR8fDApOjA7dmFyIHR9LmJpbmQodGhpcyksdD1oW3IueXx8XCJ5XCJdLSh0aGlzLnBvaW50ZXImJmEmJlwieVwiPT1pLm91dHNpZGU/dGhpcy5wb2ludGVyLmRpbWVuc2lvbnMueTowKS10KCktcGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLXRvcC13aWR0aFwiKSktcGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLWJvdHRvbS13aWR0aFwiKSksdGhpcy5jb250ZW50LmNzcyh7aGVpZ2h0OnQ+dGhpcy5vcHRpb25zLnJlc3BvbnNpdmVNaW5IZWlnaHQ/dDpudWxsfSksdGhpcy5fc2V0VGl0bGVXaWR0aCgpKSxvPXRoaXMuX2V4cG9zZURpbWVuc2lvbnMoKX0uYmluZCh0aGlzKSxpLnJlc3BvbnNpdmVIZWlnaHQmJnkoKSxpLnJlc3BvbnNpdmVIZWlnaHQmJiFwLngmJnIueCYmby54Pmhbci54XSYmaFt0aGlzLl9nZXRPcHAoci54KV0+aFtyLnhdJiYoci54PXRoaXMuX2dldE9wcChyLngpKSYmKHAueD0hMCksaS5hZGp1c3RQb3NpdGlvbiYmXCJtb3ZlXCIhPWkuYWRqdXN0UG9zaXRpb24mJihwLngmJngoKSxwLnkmJnkoKSkpO3ZhciBsPXt9LGQ9ZnVuY3Rpb24ocyl7aWYoXCJudW1iZXJcIiE9dC50eXBlKGkucG9zaXRpb25bc10pKXt2YXIgZT1pLmF0dHJpYnV0ZXNbc109XCJ4XCI9PXM/XCJsZWZ0XCI6XCJ0b3BcIjtpZihsW2VdPW5bZV0sXCJjZW50ZXJcIj09aS5wb3NpdGlvbltzXSlyZXR1cm4gbFtlXSs9TWF0aC5jZWlsKChuW3NdLW9bc10pLzIpLHZvaWQoXCJtb3VzZVwiIT10aGlzLnRhcmdldCYmdGhpcy50YXJnZXRbMF0mJnRoaXMudGFyZ2V0WzBdPT10KHdpbmRvdylbMF0mJihsW2VdKz0uNSooaS5hZGp1c3REaXN0YW5jZVtlXS1pLmFkanVzdERpc3RhbmNlW3RoaXMuX2dldE9wcChlKV0pKSk7ZSE9aS5wb3NpdGlvbltzXSYmKGxbZV0rPW5bc10tb1tzXSksaS5vdXRzaWRlIT1zJiZcInh5XCIhPWkub3V0c2lkZXx8KGxbZV0rPW9bc10qKGUhPWkucG9zaXRpb25bc10/MTotMSkpfWVsc2UgbFtpLmF0dHJpYnV0ZXNbc11dPWkucG9zaXRpb25bc119LmJpbmQodGhpcyk7aWYoZChcInhcIiksZChcInlcIiksdGhpcy5wb2ludGVyJiZcInRhcmdldFwiPT1pLnBvaW50VG8mJlwibnVtYmVyXCIhPXQudHlwZShpLnBvc2l0aW9uLngpJiZcIm51bWJlclwiIT10LnR5cGUoaS5wb3NpdGlvbi55KSYmKGo9MCxcImNlbnRlclwiPT09dGhpcy5wb2ludGVyLmFsaWduP1wiY2VudGVyXCIhPWkucG9zaXRpb25bdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldJiYoais9b1t0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0vMik6XCJjZW50ZXJcIj09PWkucG9zaXRpb25bdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldP2orPShvW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXS8yLXRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXS8yKSoodGhpcy5wb2ludGVyLmFsaWduPT10aGlzLl9nZXRUTCh0aGlzLnBvaW50ZXIuYWxpZ24pPzE6LTEpOmorPXRoaXMucG9pbnRlci5hbGlnbiE9aS5wb3NpdGlvblt0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0/dGhpcy5kaW1lbnNpb25zW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXSooLTEhPT10LmluQXJyYXkodGhpcy5wb2ludGVyLmFsaWduLFtcInRvcFwiLFwibGVmdFwiXSk/MTotMSkrdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldLzIqKC0xIT09dC5pbkFycmF5KHRoaXMucG9pbnRlci5hbGlnbixbXCJ0b3BcIixcImxlZnRcIl0pPy0xOjEpOnRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXS8yKigtMSE9PXQuaW5BcnJheSh0aGlzLnBvaW50ZXIuYWxpZ24sW1widG9wXCIsXCJsZWZ0XCJdKT8xOi0xKSxqKj1pLnBvc2l0aW9uW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXT09dGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlPy0xOjEsais9dGhpcy5wb2ludGVyLm9mZnNldCoodGhpcy5wb2ludGVyLmFsaWduPT10aGlzLl9nZXRPcHAodGhpcy5fZ2V0VEwodGhpcy5wb2ludGVyLmFsaWduKSk/MTotMSksbFt0aGlzLl9nZXRUTCh0aGlzLl9nZXRPcHAodGhpcy5wb2ludGVyLnh5KSldKz1qKSxsW2kuYXR0cmlidXRlcy54XSs9aS5vZmZzZXQueCxsW2kuYXR0cmlidXRlcy55XSs9aS5vZmZzZXQueSx0aGlzLndyYXBwZXIuY3NzKGwpLGkuYWRqdXN0UG9zaXRpb24pe3RoaXMucG9zaXRpb25BZGp1c3RlZCYmKHRoaXMucG9pbnRlciYmdGhpcy53cmFwcGVyLmNzcyhcInBhZGRpbmdcIiwwKS5jc3MoXCJwYWRkaW5nLVwiK3RoaXMuX2dldE9wcCh0aGlzLm91dHNpZGUpLHRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldFhZKHRoaXMub3V0c2lkZSldKS5yZW1vdmVDbGFzcyhcImpCb3gtcG9pbnRlclBvc2l0aW9uLVwiK3RoaXMuX2dldE9wcCh0aGlzLnBvaW50ZXIucG9zaXRpb24pKS5hZGRDbGFzcyhcImpCb3gtcG9pbnRlclBvc2l0aW9uLVwiK3RoaXMucG9pbnRlci5wb3NpdGlvbiksdGhpcy5wb2ludGVyJiZ0aGlzLnBvaW50ZXIuZWxlbWVudC5hdHRyKFwiY2xhc3NcIixcImpCb3gtcG9pbnRlciBqQm94LXBvaW50ZXItXCIrdGhpcy5fZ2V0T3BwKHRoaXMub3V0c2lkZSkpLmNzcyh0aGlzLnBvaW50ZXIubWFyZ2luKSx0aGlzLnBvc2l0aW9uQWRqdXN0ZWQ9ITEsdGhpcy5mbGlwcGVkPSExKTt2YXIgYz1zLnRvcD5sLnRvcC0oaS5hZGp1c3REaXN0YW5jZS50b3B8fDApLHU9cy5yaWdodDxsLmxlZnQrby54KyhpLmFkanVzdERpc3RhbmNlLnJpZ2h0fHwwKSxnPXMuYm90dG9tPGwudG9wK28ueSsoaS5hZGp1c3REaXN0YW5jZS5ib3R0b218fDApLG09cy5sZWZ0PmwubGVmdC0oaS5hZGp1c3REaXN0YW5jZS5sZWZ0fHwwKSxmPW0/XCJsZWZ0XCI6dT9cInJpZ2h0XCI6bnVsbCx4PWM/XCJ0b3BcIjpnP1wiYm90dG9tXCI6bnVsbDtpZihmfHx4KXtpZigoXCJNb2RhbFwiPT10aGlzLnR5cGV8fFwiQ29uZmlybVwiPT10aGlzLnR5cGUpJiZcIm51bWJlclwiPT10LnR5cGUodGhpcy5vcHRpb25zLnBvc2l0aW9uLngpJiZcIm51bWJlclwiPT10LnR5cGUodGhpcy5vcHRpb25zLnBvc2l0aW9uLnkpKXt2YXIgeT0wLGo9MDtyZXR1cm4gdGhpcy5vcHRpb25zLmhvbGRQb3NpdGlvbiYmKG0/eT1zLmxlZnQtKGwubGVmdC0oaS5hZGp1c3REaXN0YW5jZS5sZWZ0fHwwKSk6dSYmKHk9cy5yaWdodC0obC5sZWZ0K28ueCsoaS5hZGp1c3REaXN0YW5jZS5yaWdodHx8MCkpKSxjP2o9cy50b3AtKGwudG9wLShpLmFkanVzdERpc3RhbmNlLnRvcHx8MCkpOmcmJihqPXMuYm90dG9tLShsLnRvcCtvLnkrKGkuYWRqdXN0RGlzdGFuY2UuYm90dG9tfHwwKSkpLHRoaXMub3B0aW9ucy5wb3NpdGlvbi54PU1hdGgubWF4KHMudG9wLHRoaXMub3B0aW9ucy5wb3NpdGlvbi54K3kpLHRoaXMub3B0aW9ucy5wb3NpdGlvbi55PU1hdGgubWF4KHMubGVmdCx0aGlzLm9wdGlvbnMucG9zaXRpb24ueStqKSxkKFwieFwiKSxkKFwieVwiKSx0aGlzLndyYXBwZXIuY3NzKGwpKSx0aGlzLl9maXJlRXZlbnQoXCJvblBvc2l0aW9uXCIpLHRoaXN9ITAhPT1pLmFkanVzdFBvc2l0aW9uJiZcImZsaXBcIiE9PWkuYWRqdXN0UG9zaXRpb258fChiPWZ1bmN0aW9uKHQpe3RoaXMud3JhcHBlci5jc3ModGhpcy5fZ2V0VEwodCksbFt0aGlzLl9nZXRUTCh0KV0rKG9bdGhpcy5fZ2V0WFkodCldK2kub2Zmc2V0W3RoaXMuX2dldFhZKHQpXSooXCJ0b3BcIj09dHx8XCJsZWZ0XCI9PXQ/LTI6Mikrblt0aGlzLl9nZXRYWSh0KV0pKihcInRvcFwiPT10fHxcImxlZnRcIj09dD8xOi0xKSksdGhpcy5wb2ludGVyJiZ0aGlzLndyYXBwZXIucmVtb3ZlQ2xhc3MoXCJqQm94LXBvaW50ZXJQb3NpdGlvbi1cIit0aGlzLnBvaW50ZXIucG9zaXRpb24pLmFkZENsYXNzKFwiakJveC1wb2ludGVyUG9zaXRpb24tXCIrdGhpcy5fZ2V0T3BwKHRoaXMucG9pbnRlci5wb3NpdGlvbikpLmNzcyhcInBhZGRpbmdcIiwwKS5jc3MoXCJwYWRkaW5nLVwiK3QsdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0WFkodCldKSx0aGlzLnBvaW50ZXImJnRoaXMucG9pbnRlci5lbGVtZW50LmF0dHIoXCJjbGFzc1wiLFwiakJveC1wb2ludGVyIGpCb3gtcG9pbnRlci1cIit0KSx0aGlzLnBvc2l0aW9uQWRqdXN0ZWQ9ITAsdGhpcy5mbGlwcGVkPSEwfS5iaW5kKHRoaXMpLHAueCYmYih0aGlzLm9wdGlvbnMucG9zaXRpb24ueCkscC55JiZiKHRoaXMub3B0aW9ucy5wb3NpdGlvbi55KSk7dmFyIGI9XCJ4XCI9PXRoaXMuX2dldFhZKHRoaXMub3V0c2lkZSk/eDpmO3RoaXMucG9pbnRlciYmXCJ0YXJnZXRcIj09aS5wb2ludFRvJiZcImZsaXBcIiE9aS5hZGp1c3RQb3NpdGlvbiYmdGhpcy5fZ2V0WFkoYik9PXRoaXMuX2dldE9wcCh0aGlzLl9nZXRYWSh0aGlzLm91dHNpZGUpKSYmKHg9XCJjZW50ZXJcIj09dGhpcy5wb2ludGVyLmFsaWduP29bdGhpcy5fZ2V0WFkoYildLzItdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0T3BwKHRoaXMucG9pbnRlci54eSldLzItcGFyc2VJbnQodGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSkpKihiIT10aGlzLl9nZXRUTChiKT8tMToxKTpiPT10aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGU/cGFyc2VJbnQodGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSkpOm9bdGhpcy5fZ2V0WFkoYildLXBhcnNlSW50KHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcIm1hcmdpbi1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUpKS10aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLl9nZXRYWShiKV0sZj1iPT10aGlzLl9nZXRUTChiKT9zW3RoaXMuX2dldFRMKGIpXS1sW3RoaXMuX2dldFRMKGIpXStpLmFkanVzdERpc3RhbmNlW2JdOi0xKihzW3RoaXMuX2dldE9wcCh0aGlzLl9nZXRUTChiKSldLWxbdGhpcy5fZ2V0VEwoYildLWkuYWRqdXN0RGlzdGFuY2VbYl0tb1t0aGlzLl9nZXRYWShiKV0pLGI9PXRoaXMuX2dldE9wcCh0aGlzLl9nZXRUTChiKSkmJmxbdGhpcy5fZ2V0VEwoYildLWY8c1t0aGlzLl9nZXRUTChiKV0raS5hZGp1c3REaXN0YW5jZVt0aGlzLl9nZXRUTChiKV0mJihmLT1zW3RoaXMuX2dldFRMKGIpXStpLmFkanVzdERpc3RhbmNlW3RoaXMuX2dldFRMKGIpXS0obFt0aGlzLl9nZXRUTChiKV0tZikpLChmPU1hdGgubWluKGYseCkpPD14JiYwPGYmJih0aGlzLnBvaW50ZXIuZWxlbWVudC5jc3MoXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlLHBhcnNlSW50KHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcIm1hcmdpbi1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUpKS1mKihiIT10aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGU/LTE6MSkpLHRoaXMud3JhcHBlci5jc3ModGhpcy5fZ2V0VEwoYiksbFt0aGlzLl9nZXRUTChiKV0rZiooYiE9dGhpcy5fZ2V0VEwoYik/LTE6MSkpLHRoaXMucG9zaXRpb25BZGp1c3RlZD0hMCkpfX1yZXR1cm4gdGhpcy5fZmlyZUV2ZW50KFwib25Qb3NpdGlvblwiKSx0aGlzfSwoaS5wcm90b3R5cGUudW5zY3JvbGw9ZnVuY3Rpb24odCl7aWYodGhpcy5zZXQ9ZnVuY3Rpb24odCxpKXt3aW5kb3cudW5zY3JvbGxTdG9yZXx8KHdpbmRvdy51bnNjcm9sbFN0b3JlPXt9KSx3aW5kb3cudW5zY3JvbGxTdG9yZVt0XT1pfSx0aGlzLmdldD1mdW5jdGlvbih0KXtyZXR1cm4gd2luZG93LnVuc2Nyb2xsU3RvcmU/d2luZG93LnVuc2Nyb2xsU3RvcmVbdF06bnVsbH0sdGhpcy5nZXRTY3JvbGxiYXJXaWR0aD1mdW5jdGlvbigpe2lmKHRoaXMuZ2V0KFwic2Nyb2xsYmFyV2lkdGhcIikpcmV0dXJuIHRoaXMuZ2V0KFwic2Nyb2xsYmFyV2lkdGhcIikrXCJweFwiO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7dC5zdHlsZS53aWR0aD1cIjEwMHB4XCIsdC5zdHlsZS5oZWlnaHQ9XCIxMDBweFwiLHQuc3R5bGUub3ZlcmZsb3c9XCJzY3JvbGxcIix0LnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIix0LnN0eWxlLnRvcD1cIi0xMDAwMFwiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIGk9dC5vZmZzZXRXaWR0aC10LmNsaWVudFdpZHRoO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLHRoaXMuc2V0KFwic2Nyb2xsYmFyV2lkdGhcIixpKSxpK1wicHhcIn0sdGhpcy5nZXRFbGVtZW50c1RvQWRqdXN0PWZ1bmN0aW9uKHQpeyh0PVwic3RyaW5nXCI9PXR5cGVvZih0PXR8fFtdKT9bW3QsXCJwYWRkaW5nLXJpZ2h0XCJdXTp0KS5mb3JFYWNoKGZ1bmN0aW9uKGksbyl7XCJzdHJpbmdcIj09dHlwZW9mIGkmJih0W29dPVtpLFwicGFkZGluZy1yaWdodFwiXSl9KTtmb3IodmFyIGk9ITEsbz0wO288dC5sZW5ndGg7bysrKS0xIT09dFtvXVswXS5pbmRleE9mKFwiYm9keVwiKSYmKGk9ITApO3JldHVybiExPT09aSYmdC5wdXNoKFtcImJvZHlcIixcInBhZGRpbmctcmlnaHRcIl0pLHR9LHRoaXMucGFnZUhhc1Njcm9sbGJhcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFNjcm9sbGJhcldpZHRoKCkmJmRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0PndpbmRvdy5pbm5lckhlaWdodH0sdGhpcy5wYWdlSGFzU2Nyb2xsYmFyKCkpe3Q9dGhpcy5nZXRFbGVtZW50c1RvQWRqdXN0KHQpO2Zvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKWZvcih2YXIgbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHRbaV1bMF0pLHM9MDtzPG8ubGVuZ3RoO3MrKyl7aWYob1tzXS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXVuc2Nyb2xsXCIpKXJldHVybjt2YXIgZT10W2ldWzFdLG49d2luZG93LmdldENvbXB1dGVkU3R5bGUob1tzXSkuZ2V0UHJvcGVydHlWYWx1ZShlKTtvW3NdLnNldEF0dHJpYnV0ZShcImRhdGEtdW5zY3JvbGxcIixlKSxuPW58fFwiMHB4XCI7dmFyIGE9XCJwYWRkaW5nLXJpZ2h0XCI9PWV8fFwicmlnaHRcIj09ZT9cIitcIjpcIi1cIjtvW3NdLnN0eWxlW2VdPVwiY2FsYyhcIituK1wiIFwiK2ErXCIgXCIrdGhpcy5nZXRTY3JvbGxiYXJXaWR0aCgpK1wiKVwifX12YXIgaCxyO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwidW5zY3JvbGwtY2xhc3MtbmFtZVwiKXx8KGg9ZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpWzBdLChyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKSkudHlwZT1cInRleHQvY3NzXCIsci5zZXRBdHRyaWJ1dGUoXCJpZFwiLFwidW5zY3JvbGwtY2xhc3MtbmFtZVwiKSxyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFwiLnVuc2Nyb2xsYWJsZSB7IG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgfVwiKSksaC5hcHBlbmRDaGlsZChyKSksZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKFwidW5zY3JvbGxhYmxlXCIpfSkucmVzZXQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLXVuc2Nyb2xsXVwiKSxpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBvPXRbaV0uZ2V0QXR0cmlidXRlKFwiZGF0YS11bnNjcm9sbFwiKTt0W2ldLnN0eWxlW29dPW51bGwsdFtpXS5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLXVuc2Nyb2xsXCIpfWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShcInVuc2Nyb2xsYWJsZVwiKX0saS5wcm90b3R5cGUub3Blbj1mdW5jdGlvbihvKXtpZihvPW98fHt9LHRoaXMuaXNEZXN0cm95ZWQpcmV0dXJuIHRoaXM7aWYodGhpcy53cmFwcGVyfHx0aGlzLl9jcmVhdGUoKSx0aGlzLl9zdHlsZXN8fCh0aGlzLl9zdHlsZXM9dChcIjxzdHlsZS8+XCIpLmFwcGVuZCh0aGlzLl9hbmltYXRpb25DU1MpLmFwcGVuZFRvKHQoXCJoZWFkXCIpKSksdGhpcy50aW1lciYmY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMuX2Jsb2NrQm9keUNsaWNrKCksdGhpcy5pc0Rpc2FibGVkKXJldHVybiB0aGlzO3RoaXMub3B0aW9ucy5jbG9zZU9uRXNjJiZ0KGRvY3VtZW50KS5vbihcImtleXVwLmpCb3gtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXsyNz09dC5rZXlDb2RlJiZ0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pfS5iaW5kKHRoaXMpKSwhMCE9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJlwiYm9keVwiIT09dGhpcy5vcHRpb25zLmNsb3NlT25DbGlja3x8KHQoXCJib2R5XCIpLm9uKFwiY2xpY2suakJveC1cIit0aGlzLmlkK1wiIHRhcC5qQm94LVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dGhpcy5ibG9ja0JvZHlDbGlja3x8XCJib2R5XCI9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJih0LnRhcmdldD09dGhpcy53cmFwcGVyWzBdfHx0aGlzLndyYXBwZXIuaGFzKHQudGFyZ2V0KS5sZW5ndGgpfHx0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pfS5iaW5kKHRoaXMpKSx0aGlzLmlzVG91Y2hEZXZpY2UmJnQoXCJib2R5ID4gKlwiKS5vbihcImNsaWNrLmpCb3gtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKCl7cmV0dXJuITB9KSk7dmFyIHM9ZnVuY3Rpb24oKXshMD09PXRoaXMuYWRqdXN0WkluZGV4T25PcGVuJiYoaS56SW5kZXhNYXg9TWF0aC5tYXgocGFyc2VJbnQodGhpcy53cmFwcGVyLmNzcyhcInpJbmRleFwiKSwxMCksdGhpcy5vcHRpb25zLnpJbmRleCxpLnpJbmRleE1heHx8MCxpLnpJbmRleE1heERyYWdvdmVyfHwwKSsyLHRoaXMud3JhcHBlci5jc3MoXCJ6SW5kZXhcIixpLnpJbmRleE1heCksdGhpcy5vcHRpb25zLnpJbmRleD1pLnpJbmRleE1heCksdGhpcy5zb3VyY2UmJnRoaXMub3B0aW9ucy5nZXRUaXRsZSYmdGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuZ2V0VGl0bGUpJiZ0aGlzLnNldFRpdGxlKHRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmdldFRpdGxlKSwhMCksdGhpcy5zb3VyY2UmJnRoaXMub3B0aW9ucy5nZXRDb250ZW50JiYodGhpcy5zb3VyY2UuZGF0YShcImpCb3gtZ2V0Q29udGVudFwiKT90aGlzLnNldENvbnRlbnQodGhpcy5zb3VyY2UuZGF0YShcImpCb3gtZ2V0Q29udGVudFwiKSwhMCk6dGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuZ2V0Q29udGVudCk/dGhpcy5zZXRDb250ZW50KHRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmdldENvbnRlbnQpLCEwKTpcImh0bWxcIj09dGhpcy5vcHRpb25zLmdldENvbnRlbnQmJnRoaXMuc2V0Q29udGVudCh0aGlzLnNvdXJjZS5odG1sKCksITApKSx0aGlzLl9maXJlRXZlbnQoXCJvbk9wZW5cIiksKHRoaXMub3B0aW9ucy5hamF4JiYodGhpcy5vcHRpb25zLmFqYXgudXJsfHx0aGlzLnNvdXJjZSYmdGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuYWpheC5nZXRVUkwpKSYmKCF0aGlzLmFqYXhMb2FkZWR8fHRoaXMub3B0aW9ucy5hamF4LnJlbG9hZCl8fG8uYWpheCYmKG8uYWpheC51cmx8fG8uYWpheC5kYXRhKSkmJihcInN0cmljdFwiPT10aGlzLm9wdGlvbnMuYWpheC5yZWxvYWR8fCF0aGlzLnNvdXJjZXx8IXRoaXMuc291cmNlLmRhdGEoXCJqQm94LWFqYXgtZGF0YVwiKXx8by5hamF4JiYoby5hamF4LnVybHx8by5hamF4LmRhdGEpP3RoaXMuYWpheChvLmFqYXh8fG51bGwsITApOnRoaXMuc2V0Q29udGVudCh0aGlzLnNvdXJjZS5kYXRhKFwiakJveC1hamF4LWRhdGFcIikpKSx0aGlzLnBvc2l0aW9uZWRPbk9wZW4mJiF0aGlzLm9wdGlvbnMucmVwb3NpdGlvbk9uT3Blbnx8IXRoaXMucG9zaXRpb24obyl8fCh0aGlzLnBvc2l0aW9uZWRPbk9wZW49ITApLHRoaXMuaXNDbG9zaW5nJiZ0aGlzLl9hYm9ydEFuaW1hdGlvbigpLHRoaXMuaXNPcGVufHwodGhpcy5pc09wZW49ITAsdGhpcy5vcHRpb25zLmF1dG9DbG9zZSYmKHRoaXMub3B0aW9ucy5kZWxheUNsb3NlPXRoaXMub3B0aW9ucy5hdXRvQ2xvc2UpJiZ0aGlzLmNsb3NlKCksdGhpcy5fYXR0YWNoRXZlbnRzKCksdGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsJiYodGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsQWRqdXN0P2kuYmxvY2tTY3JvbGxTY29wZXM/aS5ibG9ja1Njcm9sbFNjb3BlcysrOihpLmJsb2NrU2Nyb2xsU2NvcGVzPTEsdGhpcy51bnNjcm9sbChBcnJheS5pc0FycmF5KHRoaXMub3B0aW9ucy5ibG9ja1Njcm9sbEFkanVzdCl8fFwic3RyaW5nXCI9PXR5cGVvZiB0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGxBZGp1c3Q/dGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsQWRqdXN0Om51bGwpKTp0KFwiYm9keVwiKS5hZGRDbGFzcyhcImpCb3gtYmxvY2tTY3JvbGwtXCIrdGhpcy5pZCkpLHRoaXMub3B0aW9ucy5vdmVybGF5JiYodGhpcy5fc2hvd092ZXJsYXkoKSx0aGlzLnBvc2l0aW9uKCkpLHRoaXMub3B0aW9ucy5hbmltYXRpb24mJiF0aGlzLmlzQ2xvc2luZyYmdGhpcy5fYW5pbWF0ZShcIm9wZW5cIiksdGhpcy5vcHRpb25zLmF1ZGlvJiZ0aGlzLm9wdGlvbnMuYXVkaW8ub3BlbiYmdGhpcy5hdWRpbyh0aGlzLm9wdGlvbnMuYXVkaW8ub3Blbix0aGlzLm9wdGlvbnMudm9sdW1lLm9wZW4pLHRoaXMub3B0aW9ucy5mYWRlP3RoaXMud3JhcHBlci5zdG9wKCkuYW5pbWF0ZSh7b3BhY2l0eToxfSx7cXVldWU6ITEsZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGUsc3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLmlzT3BlbmluZz0hMCx0aGlzLndyYXBwZXIuY3NzKHtkaXNwbGF5OlwiYmxvY2tcIn0pfS5iaW5kKHRoaXMpLGFsd2F5czpmdW5jdGlvbigpe3RoaXMuaXNPcGVuaW5nPSExLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLnBvc2l0aW9uT25GYWRlQ29tcGxldGUmJnRoaXMucG9zaXRpb24oKSYmKHRoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZT0hMSl9LmJpbmQodGhpcyksMTApfS5iaW5kKHRoaXMpfSk6KHRoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6XCJibG9ja1wiLG9wYWNpdHk6MX0pLHRoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZSYmdGhpcy5wb3NpdGlvbigpJiYodGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlPSExKSkpfS5iaW5kKHRoaXMpO3JldHVybiF0aGlzLm9wdGlvbnMuZGVsYXlPcGVufHx0aGlzLmlzT3Blbnx8dGhpcy5pc0Nsb3Npbmd8fG8uaWdub3JlRGVsYXk/cygpOnRoaXMudGltZXI9c2V0VGltZW91dChzLHRoaXMub3B0aW9ucy5kZWxheU9wZW4pLHRoaXN9LGkucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKG8pe2lmKG89b3x8e30sdChcImJvZHlcIikub2ZmKFwiY2xpY2suakJveC1cIit0aGlzLmlkK1wiIHRhcC5qQm94LVwiK3RoaXMuaWQpLHRoaXMuaXNUb3VjaERldmljZSYmdChcImJvZHkgPiAqXCIpLm9mZihcImNsaWNrLmpCb3gtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1cIit0aGlzLmlkKSx0aGlzLmlzRGVzdHJveWVkfHx0aGlzLmlzQ2xvc2luZylyZXR1cm4gdGhpcztpZih0aGlzLnRpbWVyJiZjbGVhclRpbWVvdXQodGhpcy50aW1lciksdGhpcy5fYmxvY2tCb2R5Q2xpY2soKSx0aGlzLmlzRGlzYWJsZWQpcmV0dXJuIHRoaXM7dmFyIHMsZSxuLGE9ZnVuY3Rpb24oKXt2YXIgbzt0aGlzLl9maXJlRXZlbnQoXCJvbkNsb3NlXCIpLHRoaXMub3B0aW9ucy5jYW5jZWxBamF4T25DbG9zZSYmdGhpcy5jYW5jZWxBamF4KCksdGhpcy5pc09wZW4mJih0aGlzLmlzT3Blbj0hMSx0aGlzLl9kZXRhY2hFdmVudHMoKSx0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGwmJih0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGxBZGp1c3Q/KGkuYmxvY2tTY3JvbGxTY29wZXM9aS5ibG9ja1Njcm9sbFNjb3Blcz8tLWkuYmxvY2tTY3JvbGxTY29wZXM6MCl8fHRoaXMudW5zY3JvbGwucmVzZXQoKTp0KFwiYm9keVwiKS5yZW1vdmVDbGFzcyhcImpCb3gtYmxvY2tTY3JvbGwtXCIrdGhpcy5pZCkpLHRoaXMub3B0aW9ucy5vdmVybGF5JiZ0aGlzLl9oaWRlT3ZlcmxheSgpLHRoaXMub3B0aW9ucy5hbmltYXRpb24mJiF0aGlzLmlzT3BlbmluZyYmdGhpcy5fYW5pbWF0ZShcImNsb3NlXCIpLHRoaXMub3B0aW9ucy5hdWRpbyYmdGhpcy5vcHRpb25zLmF1ZGlvLmNsb3NlJiZ0aGlzLmF1ZGlvKHRoaXMub3B0aW9ucy5hdWRpby5jbG9zZSx0aGlzLm9wdGlvbnMudm9sdW1lLmNsb3NlKSwobz10aGlzLmlzVG91Y2hEZXZpY2UmJlwibW91c2VcIj09dGhpcy5vcHRpb25zLnRhcmdldD8wOnRoaXMub3B0aW9ucy5mYWRlKT90aGlzLndyYXBwZXIuc3RvcCgpLmFuaW1hdGUoe29wYWNpdHk6MH0se3F1ZXVlOiExLGR1cmF0aW9uOm8sc3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLmlzQ2xvc2luZz0hMH0uYmluZCh0aGlzKSxjb21wbGV0ZTpmdW5jdGlvbigpe3RoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6XCJub25lXCJ9KSx0aGlzLl9maXJlRXZlbnQoXCJvbkNsb3NlQ29tcGxldGVcIil9LmJpbmQodGhpcyksYWx3YXlzOmZ1bmN0aW9uKCl7dGhpcy5pc0Nsb3Npbmc9ITF9LmJpbmQodGhpcyl9KToodGhpcy53cmFwcGVyLmNzcyh7ZGlzcGxheTpcIm5vbmVcIixvcGFjaXR5OjB9KSx0aGlzLl9maXJlRXZlbnQoXCJvbkNsb3NlQ29tcGxldGVcIikpKX0uYmluZCh0aGlzKTtyZXR1cm4gby5pZ25vcmVEZWxheXx8dGhpcy5pc1RvdWNoRGV2aWNlJiZcIm1vdXNlXCI9PXRoaXMub3B0aW9ucy50YXJnZXQ/YSgpOih0aGlzLm9wdGlvbnMuZGVsYXlPbkhvdmVyfHx0aGlzLm9wdGlvbnMuc2hvd0NvdW50ZG93bikmJjEwPHRoaXMub3B0aW9ucy5kZWxheUNsb3NlPyhlPShzPXRoaXMpLm9wdGlvbnMuZGVsYXlDbG9zZSxuPURhdGUubm93KCksdGhpcy5vcHRpb25zLnNob3dDb3VudGRvd24mJiF0aGlzLmlubmVyJiYobz10KCc8ZGl2IGNsYXNzPVwiakJveC1jb3VudGRvd25cIiAvPicpLHRoaXMuaW5uZXI9dCgnPGRpdiBjbGFzcz1cImpCb3gtY291bnRkb3duLWlubmVyXCIgLz4nKSxvLnByZXBlbmQodGhpcy5pbm5lciksdChcIiNcIit0aGlzLmlkKS5hcHBlbmQobykpLHRoaXMuY291bnRkb3duPWZ1bmN0aW9uKCl7dmFyIHQ9RGF0ZS5ub3coKTtzLmlzSG92ZXJlZHx8KGUtPXQtbiksbj10LDA8ZT8ocy5vcHRpb25zLnNob3dDb3VudGRvd24mJnMuaW5uZXIuY3NzKFwid2lkdGhcIiwxMDAqZS9zLm9wdGlvbnMuZGVsYXlDbG9zZStcIiVcIiksd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShzLmNvdW50ZG93bikpOmEoKX0sd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLmNvdW50ZG93bikpOnRoaXMudGltZXI9c2V0VGltZW91dChhLE1hdGgubWF4KHRoaXMub3B0aW9ucy5kZWxheUNsb3NlLDEwKSksdGhpc30saS5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzW3RoaXMuaXNPcGVuP1wiY2xvc2VcIjpcIm9wZW5cIl0odCksdGhpc30saS5wcm90b3R5cGUuZGlzYWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzRGlzYWJsZWQ9ITAsdGhpc30saS5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNEaXNhYmxlZD0hMSx0aGlzfSxpLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGlzYWJsZSgpLHRoaXMud3JhcHBlciYmKHRoaXMuY2FjaGVXcmFwcGVyRGlzcGxheT10aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiKSx0aGlzLndyYXBwZXIuY3NzKHtkaXNwbGF5Olwibm9uZVwifSkpLHRoaXMub3ZlcmxheSYmKHRoaXMuY2FjaGVPdmVybGF5RGlzcGxheT10aGlzLm92ZXJsYXkuY3NzKFwiZGlzcGxheVwiKSx0aGlzLm92ZXJsYXkuY3NzKHtkaXNwbGF5Olwibm9uZVwifSkpLHRoaXN9LGkucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbmFibGUoKSx0aGlzLndyYXBwZXImJnRoaXMuY2FjaGVXcmFwcGVyRGlzcGxheSYmKHRoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6dGhpcy5jYWNoZVdyYXBwZXJEaXNwbGF5fSksdGhpcy5jYWNoZVdyYXBwZXJEaXNwbGF5PW51bGwpLHRoaXMub3ZlcmxheSYmdGhpcy5jYWNoZU92ZXJsYXlEaXNwbGF5JiYodGhpcy5vdmVybGF5LmNzcyh7ZGlzcGxheTp0aGlzLmNhY2hlT3ZlcmxheURpc3BsYXl9KSx0aGlzLmNhY2hlT3ZlcmxheURpc3BsYXk9bnVsbCksdGhpc30saS5wcm90b3R5cGUuYWpheD1mdW5jdGlvbihpLG8pe2k9aXx8e30sdC5lYWNoKFtbXCJnZXREYXRhXCIsXCJkYXRhXCJdLFtcImdldFVSTFwiLFwidXJsXCJdXSxmdW5jdGlvbih0LG8pe3RoaXMub3B0aW9ucy5hamF4W29bMF1dJiYhaVtvWzFdXSYmdGhpcy5zb3VyY2UmJm51bGwhPXRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmFqYXhbb1swXV0pJiYoaVtvWzFdXT10aGlzLnNvdXJjZS5hdHRyKHRoaXMub3B0aW9ucy5hamF4W29bMF1dKXx8XCJcIil9LmJpbmQodGhpcykpO3ZhciBzPXQuZXh0ZW5kKCEwLHt9LHRoaXMub3B0aW9ucy5hamF4KTt0aGlzLmNhbmNlbEFqYXgoKTt2YXIgZT1pLmJlZm9yZVNlbmR8fHMuYmVmb3JlU2VuZHx8ZnVuY3Rpb24oKXt9LG49aS5jb21wbGV0ZXx8cy5jb21wbGV0ZXx8ZnVuY3Rpb24oKXt9LGE9aS5zdWNjZXNzfHxzLnN1Y2Nlc3N8fGZ1bmN0aW9uKCl7fSxoPWkuZXJyb3J8fHMuZXJyb3J8fGZ1bmN0aW9uKCl7fSxyPXQuZXh0ZW5kKCEwLHMsaSk7cmV0dXJuIHIuYmVmb3JlU2VuZD1mdW5jdGlvbihpKXtyLmxvYWRpbmdDbGFzcyYmdGhpcy53cmFwcGVyLmFkZENsYXNzKCEwPT09ci5sb2FkaW5nQ2xhc3M/XCJqQm94LWxvYWRpbmdcIjpyLmxvYWRpbmdDbGFzcyksci5zcGlubmVyJiYodGhpcy5zcGlubmVyRGVsYXk9c2V0VGltZW91dChmdW5jdGlvbigpe3RoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtbG9hZGluZy1zcGlubmVyXCIpLHIuc3Bpbm5lclJlcG9zaXRpb24mJihvP3RoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZT0hMDp0aGlzLnBvc2l0aW9uKCkpLHRoaXMuc3Bpbm5lcj10KCEwIT09ci5zcGlubmVyP3Iuc3Bpbm5lcjonPGRpdiBjbGFzcz1cImpCb3gtc3Bpbm5lclwiPjwvZGl2PicpLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKSx0aGlzLnRpdGxlQ29udGFpbmVyJiZcImFic29sdXRlXCI9PXRoaXMuc3Bpbm5lci5jc3MoXCJwb3NpdGlvblwiKSYmdGhpcy5zcGlubmVyLmNzcyh7dHJhbnNmb3JtOlwidHJhbnNsYXRlWShcIisuNSp0aGlzLnRpdGxlQ29udGFpbmVyLm91dGVySGVpZ2h0KCkrXCJweClcIn0pfS5iaW5kKHRoaXMpLFwiXCIhPXRoaXMuY29udGVudC5odG1sKCkmJnIuc3Bpbm5lckRlbGF5fHwwKSksZS5iaW5kKHRoaXMpKGkpfS5iaW5kKHRoaXMpLHIuY29tcGxldGU9ZnVuY3Rpb24odCl7dGhpcy5zcGlubmVyRGVsYXkmJmNsZWFyVGltZW91dCh0aGlzLnNwaW5uZXJEZWxheSksdGhpcy53cmFwcGVyLnJlbW92ZUNsYXNzKFwiakJveC1sb2FkaW5nIGpCb3gtbG9hZGluZy1zcGlubmVyIGpCb3gtbG9hZGluZy1zcGlubmVyLWRlbGF5XCIpLHRoaXMuc3Bpbm5lciYmdGhpcy5zcGlubmVyLmxlbmd0aCYmdGhpcy5zcGlubmVyLnJlbW92ZSgpJiZyLnNwaW5uZXJSZXBvc2l0aW9uJiYobz90aGlzLnBvc2l0aW9uT25GYWRlQ29tcGxldGU9ITA6dGhpcy5wb3NpdGlvbigpKSx0aGlzLmFqYXhMb2FkZWQ9ITAsbi5iaW5kKHRoaXMpKHQpfS5iaW5kKHRoaXMpLHIuc3VjY2Vzcz1mdW5jdGlvbih0KXtyLnNldENvbnRlbnQmJnRoaXMuc2V0Q29udGVudCh0LCEwKSYmKG8/dGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlPSEwOnRoaXMucG9zaXRpb24oKSksci5zZXRDb250ZW50JiZ0aGlzLnNvdXJjZSYmdGhpcy5zb3VyY2UuZGF0YShcImpCb3gtYWpheC1kYXRhXCIsdCksYS5iaW5kKHRoaXMpKHQpfS5iaW5kKHRoaXMpLHIuZXJyb3I9ZnVuY3Rpb24odCl7aC5iaW5kKHRoaXMpKHQpfS5iaW5kKHRoaXMpLHRoaXMuYWpheFJlcXVlc3Q9dC5hamF4KHIpLHRoaXN9LGkucHJvdG90eXBlLmNhbmNlbEFqYXg9ZnVuY3Rpb24oKXt0aGlzLmFqYXhSZXF1ZXN0JiYodGhpcy5hamF4UmVxdWVzdC5hYm9ydCgpLHRoaXMuYWpheExvYWRlZD0hMSl9LGkucHJvdG90eXBlLmF1ZGlvPWZ1bmN0aW9uKG8scyl7aWYoIW8pcmV0dXJuIHRoaXM7dmFyIGU7KGkuX2F1ZGlvPWkuX2F1ZGlvP2kuX2F1ZGlvOnt9KVtvXXx8KGU9dChcIjxhdWRpby8+XCIpLHQoXCI8c291cmNlLz5cIix7c3JjOm8rXCIubXAzXCJ9KS5hcHBlbmRUbyhlKSx0KFwiPHNvdXJjZS8+XCIse3NyYzpvK1wiLm9nZ1wifSkuYXBwZW5kVG8oZSksaS5fYXVkaW9bb109ZVswXSksaS5fYXVkaW9bb10udm9sdW1lPU1hdGgubWluKChudWxsIT1zP3M6MTAwKS8xMDAsMSk7dHJ5e2kuX2F1ZGlvW29dLnBhdXNlKCksaS5fYXVkaW9bb10uY3VycmVudFRpbWU9MH1jYXRjaChvKXt9cmV0dXJuIGkuX2F1ZGlvW29dLnBsYXkoKSx0aGlzfSxpLl9hbmltYXRpb25TcGVlZHM9e3RhZGE6MWUzLHRhZGFTbWFsbDoxZTMsZmxhc2g6NTAwLHNoYWtlOjQwMCxwdWxzZVVwOjI1MCxwdWxzZURvd246MjUwLHBvcEluOjI1MCxwb3BPdXQ6MjUwLGZhZGVJbjoyMDAsZmFkZU91dDoyMDAsc2xpZGVVcDo0MDAsc2xpZGVSaWdodDo0MDAsc2xpZGVMZWZ0OjQwMCxzbGlkZURvd246NDAwfSxpLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKHQsbyl7bz1vfHx7fSx0aGlzLmFuaW1hdGlvblRpbWVvdXR8fCh0aGlzLmFuaW1hdGlvblRpbWVvdXQ9e30pLG8uZWxlbWVudHx8KG8uZWxlbWVudD10aGlzLndyYXBwZXIpLG8uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmctaWRcIil8fG8uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmctaWRcIixpLl9nZXRVbmlxdWVFbGVtZW50SUQoKSksby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZ1wiKSYmKG8uZWxlbWVudC5yZW1vdmVDbGFzcyhvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nXCIpKS5kYXRhKFwiakJveC1hbmltYXRpbmdcIixudWxsKSx0aGlzLmFuaW1hdGlvblRpbWVvdXRbby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZy1pZFwiKV0mJmNsZWFyVGltZW91dCh0aGlzLmFuaW1hdGlvblRpbWVvdXRbby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZy1pZFwiKV0pKSxvLmVsZW1lbnQuYWRkQ2xhc3MoXCJqQm94LWFuaW1hdGVkLVwiK3QpLmRhdGEoXCJqQm94LWFuaW1hdGluZ1wiLFwiakJveC1hbmltYXRlZC1cIit0KSx0aGlzLmFuaW1hdGlvblRpbWVvdXRbby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZy1pZFwiKV09c2V0VGltZW91dChmdW5jdGlvbigpe28uZWxlbWVudC5yZW1vdmVDbGFzcyhvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nXCIpKS5kYXRhKFwiakJveC1hbmltYXRpbmdcIixudWxsKSxvLmNvbXBsZXRlJiZvLmNvbXBsZXRlKCl9LGkuX2FuaW1hdGlvblNwZWVkc1t0XSl9LGkucHJvdG90eXBlLnN3aXBlRGV0ZWN0b3I9ZnVuY3Rpb24oaSxvKXt2YXIgcz0wLGU9MCxuPTAsYT0wLGg9MDtyZXR1cm4gbz10LmV4dGVuZCh7c3dpcGVUaHJlc2hvbGQ6NzAsdXNlT25seVRvdWNoOiExfSxvKSxpLm9uKFwibW91c2Vkb3duIHRvdWNoc3RhcnRcIixmdW5jdGlvbih0KXtvLnVzZU9ubHlUb3VjaCYmIXQub3JpZ2luYWxFdmVudC50b3VjaGVzfHwodC5vcmlnaW5hbEV2ZW50LnRvdWNoZXMmJih0PXQub3JpZ2luYWxFdmVudC50b3VjaGVzWzBdKSwwPT09cyYmKHM9MSxlPXQuY2xpZW50WCxuPXQuY2xpZW50WSkpfSksdChcImh0bWxcIikub24oXCJtb3VzZXVwIHRvdWNoZW5kXCIsZnVuY3Rpb24oZSl7Mj09PXMmJihzPTAsTWF0aC5hYnMoYSk+TWF0aC5hYnMoaCkmJk1hdGguYWJzKGEpPm8uc3dpcGVUaHJlc2hvbGQ/YTwwP2kudHJpZ2dlcih0LkV2ZW50KFwic3dpcGVMZWZ0LnNkXCIpKTppLnRyaWdnZXIodC5FdmVudChcInN3aXBlUmlnaHQuc2RcIikpOk1hdGguYWJzKGgpPm8uc3dpcGVUaHJlc2hvbGQmJihoPDA/aS50cmlnZ2VyKHQuRXZlbnQoXCJzd2lwZVVwLnNkXCIpKTppLnRyaWdnZXIodC5FdmVudChcInN3aXBlRG93bi5zZFwiKSkpKX0pLHQoXCJodG1sXCIpLm9uKFwibW91c2Vtb3ZlIHRvdWNobW92ZVwiLGZ1bmN0aW9uKHQpe3ZhciBpOzE9PT1zJiYoaT0odD10Lm9yaWdpbmFsRXZlbnQudG91Y2hlcz90Lm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXTp0KS5jbGllbnRYLWUsdD10LmNsaWVudFktbiwoTWF0aC5hYnMoaSk+by5zd2lwZVRocmVzaG9sZHx8TWF0aC5hYnModCk+by5zd2lwZVRocmVzaG9sZCkmJihzPTIsYT1pLGg9dCkpfSksaX0saS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRldGFjaCgpLHRoaXMuaXNPcGVuJiZ0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pLHRoaXMud3JhcHBlciYmdGhpcy53cmFwcGVyLnJlbW92ZSgpLHRoaXMub3ZlcmxheSYmdGhpcy5vdmVybGF5LnJlbW92ZSgpLHRoaXMuX3N0eWxlcyYmdGhpcy5fc3R5bGVzLnJlbW92ZSgpLHRoaXMuaXNEZXN0cm95ZWQ9ITAsdGhpc30saS5fZ2V0VW5pcXVlSUQ9KG89MSxmdW5jdGlvbigpe3JldHVybiBvKyt9KSxpLl9nZXRVbmlxdWVFbGVtZW50SUQ9KHM9MSxmdW5jdGlvbigpe3JldHVybiBzKyt9KSxpLl9wbHVnaW5PcHRpb25zPXt9LGkucGx1Z2luPWZ1bmN0aW9uKHQsbyl7aS5fcGx1Z2luT3B0aW9uc1t0XT1vfSx0LmZuLmpCb3g9ZnVuY3Rpb24obyxzKXtyZXR1cm4gcz1zfHx7fSxuZXcgaShvPW98fHt9LHQuZXh0ZW5kKHMse2F0dGFjaDp0aGlzfSkpfSxpfWZ1bmN0aW9uIGpCb3hDb25maXJtV3JhcHBlcihqQm94LGpRdWVyeSl7bmV3IGpCb3gucGx1Z2luKFwiQ29uZmlybVwiLHtjb25maXJtQnV0dG9uOlwiU3VibWl0XCIsY2FuY2VsQnV0dG9uOlwiQ2FuY2VsXCIsY29uZmlybTpudWxsLGNhbmNlbDpudWxsLGNsb3NlT25Db25maXJtOiEwLHRhcmdldDp3aW5kb3csZml4ZWQ6ITAsYXR0YWNoOlwiW2RhdGEtY29uZmlybV1cIixnZXRDb250ZW50OlwiZGF0YS1jb25maXJtXCIsY29udGVudDpcIkRvIHlvdSByZWFsbHkgd2FudCB0byBkbyB0aGlzP1wiLG1pbldpZHRoOjM2MCxtYXhXaWR0aDo1MDAsYmxvY2tTY3JvbGw6ITAsY2xvc2VPbkVzYzohMCxjbG9zZU9uQ2xpY2s6ITEsY2xvc2VCdXR0b246ITEsb3ZlcmxheTohMCxhbmltYXRpb246XCJ6b29tSW5cIixwcmV2ZW50RGVmYXVsdDohMCxfb25BdHRhY2g6ZnVuY3Rpb24odCl7dmFyIGk7dGhpcy5vcHRpb25zLmNvbmZpcm18fChpPXQuYXR0cihcIm9uY2xpY2tcIik/dC5hdHRyKFwib25jbGlja1wiKTp0LmF0dHIoXCJocmVmXCIpP3QuYXR0cihcInRhcmdldFwiKT8nd2luZG93Lm9wZW4oXCInK3QuYXR0cihcImhyZWZcIikrJ1wiLCBcIicrdC5hdHRyKFwidGFyZ2V0XCIpKydcIik7Jzond2luZG93LmxvY2F0aW9uLmhyZWYgPSBcIicrdC5hdHRyKFwiaHJlZlwiKSsnXCI7JzpcIlwiLHQucHJvcChcIm9uY2xpY2tcIixudWxsKS5kYXRhKFwiakJveC1Db25maXJtLXN1Ym1pdFwiLGkpKX0sX29uQ3JlYXRlZDpmdW5jdGlvbigpe3RoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtTW9kYWxcIiksdGhpcy5mb290ZXI9alF1ZXJ5KCc8ZGl2IGNsYXNzPVwiakJveC1Db25maXJtLWZvb3RlclwiLz4nKSxqUXVlcnkoJzxkaXYgY2xhc3M9XCJqQm94LUNvbmZpcm0tYnV0dG9uIGpCb3gtQ29uZmlybS1idXR0b24tY2FuY2VsXCIvPicpLmh0bWwodGhpcy5vcHRpb25zLmNhbmNlbEJ1dHRvbikub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5jYW5jZWwmJnRoaXMub3B0aW9ucy5jYW5jZWwodGhpcy5zb3VyY2UpLHRoaXMuY2xvc2UoKX0uYmluZCh0aGlzKSkuYXBwZW5kVG8odGhpcy5mb290ZXIpLHRoaXMuc3VibWl0QnV0dG9uPWpRdWVyeSgnPGRpdiBjbGFzcz1cImpCb3gtQ29uZmlybS1idXR0b24gakJveC1Db25maXJtLWJ1dHRvbi1zdWJtaXRcIi8+JykuaHRtbCh0aGlzLm9wdGlvbnMuY29uZmlybUJ1dHRvbikuYXBwZW5kVG8odGhpcy5mb290ZXIpLHRoaXMuZm9vdGVyLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKX0sX29uT3BlbjpmdW5jdGlvbigpe3RoaXMuc3VibWl0QnV0dG9uLm9mZihcImNsaWNrLmpCb3gtQ29uZmlybVwiK3RoaXMuaWQrXCIgdGFwLmpCb3gtQ29uZmlybVwiK3RoaXMuaWQpLm9uKFwiY2xpY2suakJveC1Db25maXJtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1Db25maXJtXCIrdGhpcy5pZCxmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5jb25maXJtP3RoaXMub3B0aW9ucy5jb25maXJtKHRoaXMuc291cmNlKTpldmFsKHRoaXMuc291cmNlLmRhdGEoXCJqQm94LUNvbmZpcm0tc3VibWl0XCIpKSx0aGlzLm9wdGlvbnMuY2xvc2VPbkNvbmZpcm0mJnRoaXMuY2xvc2UoKX0uYmluZCh0aGlzKSl9fSl9ZnVuY3Rpb24gakJveEltYWdlV3JhcHBlcih0LGkpe25ldyB0LnBsdWdpbihcIkltYWdlXCIse3NyYzpcImhyZWZcIixnYWxsZXJ5OlwiZGF0YS1qYm94LWltYWdlXCIsaW1hZ2VMYWJlbDpcInRpdGxlXCIsaW1hZ2VGYWRlOjM2MCxpbWFnZVNpemU6XCJjb250YWluXCIsaW1hZ2VDb3VudGVyOiExLGltYWdlQ291bnRlclNlcGFyYXRvcjpcIi9cIixkb3dubG9hZEJ1dHRvbjohMSxkb3dubG9hZEJ1dHRvblRleHQ6bnVsbCxkb3dubG9hZEJ1dHRvblVybDpudWxsLG1vYmlsZUltYWdlQXR0cjpudWxsLG1vYmlsZUltYWdlQnJlYWtwb2ludDpudWxsLHByZWxvYWRGaXJzdEltYWdlOiExLHRhcmdldDp3aW5kb3csYXR0YWNoOlwiW2RhdGEtamJveC1pbWFnZV1cIixmaXhlZDohMCxibG9ja1Njcm9sbDohMCxjbG9zZU9uRXNjOiEwLGNsb3NlT25DbGljazpcImJ1dHRvblwiLGNsb3NlQnV0dG9uOiEwLG92ZXJsYXk6ITAsYW5pbWF0aW9uOlwiem9vbUluXCIscHJldmVudERlZmF1bHQ6ITAsd2lkdGg6XCIxMDAlXCIsaGVpZ2h0OlwiMTAwJVwiLGFkanVzdERpc3RhbmNlOnt0b3A6NDAscmlnaHQ6MCxib3R0b206NDAsbGVmdDowfSxfb25Jbml0OmZ1bmN0aW9uKCl7dGhpcy5pbWFnZXM9dGhpcy5jdXJyZW50SW1hZ2U9e30sdGhpcy5pbWFnZVpJbmRleD0xLHRoaXMuaW5pdEltYWdlPWZ1bmN0aW9uKHQpe3ZhciBvLHM7KHQ9aSh0KSkuZGF0YShcImpCb3gtaW1hZ2UtZ2FsbGVyeVwiKXx8KG89dC5hdHRyKHRoaXMub3B0aW9ucy5zcmMpLHRoaXMub3B0aW9ucy5tb2JpbGVJbWFnZUF0dHImJnRoaXMub3B0aW9ucy5tb2JpbGVJbWFnZUJyZWFrcG9pbnQmJnQuYXR0cih0aGlzLm9wdGlvbnMubW9iaWxlSW1hZ2VBdHRyKSYmaSh3aW5kb3cpLndpZHRoKCk8PXRoaXMub3B0aW9ucy5tb2JpbGVJbWFnZUJyZWFrcG9pbnQmJihvPXQuYXR0cih0aGlzLm9wdGlvbnMubW9iaWxlSW1hZ2VBdHRyKSkscz10LmF0dHIodGhpcy5vcHRpb25zLmdhbGxlcnkpfHxcImRlZmF1bHRcIix0aGlzLmltYWdlc1tzXXx8KHRoaXMuaW1hZ2VzW3NdPVtdKSx0aGlzLmltYWdlc1tzXS5wdXNoKHtzcmM6byxsYWJlbDp0LmF0dHIodGhpcy5vcHRpb25zLmltYWdlTGFiZWwpfHxcIlwiLGRvd25sb2FkVXJsOnRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblVybCYmdC5hdHRyKHRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblVybCk/dC5hdHRyKHRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblVybCk6bnVsbH0pLFwidGl0bGVcIj09dGhpcy5vcHRpb25zLmltYWdlTGFiZWwmJnQucmVtb3ZlQXR0cihcInRpdGxlXCIpLHQuZGF0YShcImpCb3gtaW1hZ2UtZ2FsbGVyeVwiLHMpLHQuZGF0YShcImpCb3gtaW1hZ2UtaWRcIix0aGlzLmltYWdlc1tzXS5sZW5ndGgtMSkpfS5iaW5kKHRoaXMpLHRoaXMuYXR0YWNoZWRFbGVtZW50cyYmdGhpcy5hdHRhY2hlZEVsZW1lbnRzLmxlbmd0aCYmaS5lYWNoKHRoaXMuYXR0YWNoZWRFbGVtZW50cyxmdW5jdGlvbih0LGkpe3RoaXMuaW5pdEltYWdlKGkpfS5iaW5kKHRoaXMpKTt2YXIgdD1mdW5jdGlvbih0LG8scyxlKXtpZighaShcIiNqQm94LWltYWdlLVwiK3QrXCItXCIrbykubGVuZ3RoKXt2YXIgbj1pKFwiPGRpdi8+XCIse2lkOlwiakJveC1pbWFnZS1cIit0K1wiLVwiK28sY2xhc3M6XCJqQm94LWltYWdlLWNvbnRhaW5lclwiKyhzP1wiIGpCb3gtaW1hZ2UtXCIrdCtcIi1jdXJyZW50XCI6XCJcIil9KS5jc3Moe2JhY2tncm91bmRTaXplOnRoaXMub3B0aW9ucy5pbWFnZVNpemUsb3BhY2l0eTplPzE6MCx6SW5kZXg6cz90aGlzLmltYWdlWkluZGV4Kys6MH0pLmFwcGVuZFRvKHRoaXMuY29udGVudCk7cmV0dXJuIHRoaXMuc3dpcGVEZXRlY3RvcihuKS5vbihcInN3aXBlTGVmdC5zZCBzd2lwZVJpZ2h0LnNkXCIsZnVuY3Rpb24odCl7XCJzd2lwZUxlZnRcIj09PXQudHlwZT90aGlzLnNob3dJbWFnZShcIm5leHRcIik6XCJzd2lwZVJpZ2h0XCI9PT10LnR5cGUmJnRoaXMuc2hvd0ltYWdlKFwicHJldlwiKX0uYmluZCh0aGlzKSksaShcIjxkaXYvPlwiLHtpZDpcImpCb3gtaW1hZ2UtbGFiZWwtXCIrdCtcIi1cIitvLGNsYXNzOlwiakJveC1pbWFnZS1sYWJlbFwiKyhzP1wiIGFjdGl2ZVwiOlwiXCIpfSkuaHRtbCh0aGlzLmltYWdlc1t0XVtvXS5sYWJlbCkub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe2kodGhpcykudG9nZ2xlQ2xhc3MoXCJleHBhbmRlZFwiKX0pLmFwcGVuZFRvKHRoaXMuaW1hZ2VMYWJlbENvbnRhaW5lcikscyYmbi5hbmltYXRlKHtvcGFjaXR5OjF9LGU/MDp0aGlzLm9wdGlvbnMuaW1hZ2VGYWRlKSxufX0uYmluZCh0aGlzKTt0aGlzLmRvd25sb2FkSW1hZ2U9ZnVuY3Rpb24odCl7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7aS5ocmVmPXQsaS5zZXRBdHRyaWJ1dGUoXCJkb3dubG9hZFwiLHQuc3Vic3RyaW5nKHQubGFzdEluZGV4T2YoXCIvXCIpKzEpKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGkpLGkuY2xpY2soKX07dmFyIG89ZnVuY3Rpb24obyxzLGUsbil7dmFyIGE9dChvLHMsZSxuKTthLmFkZENsYXNzKFwiakJveC1pbWFnZS1sb2FkaW5nXCIpLGkoJzxpbWcgc3JjPVwiJyt0aGlzLmltYWdlc1tvXVtzXS5zcmMrJ1wiIC8+JykuZWFjaChmdW5jdGlvbigpe3ZhciB0PW5ldyBJbWFnZTt0Lm9ubG9hZD1mdW5jdGlvbigpe2EucmVtb3ZlQ2xhc3MoXCJqQm94LWltYWdlLWxvYWRpbmdcIiksYS5jc3Moe2JhY2tncm91bmRJbWFnZTondXJsKFwiJyt0aGlzLmltYWdlc1tvXVtzXS5zcmMrJ1wiKSd9KX0uYmluZCh0aGlzKSx0Lm9uZXJyb3I9ZnVuY3Rpb24oKXthLnJlbW92ZUNsYXNzKFwiakJveC1pbWFnZS1sb2FkaW5nXCIpLGEuYWRkQ2xhc3MoXCJqQm94LWltYWdlLW5vdC1mb3VuZFwiKX0uYmluZCh0aGlzKSx0LnNyYz10aGlzLmltYWdlc1tvXVtzXS5zcmN9LmJpbmQodGhpcykpfS5iaW5kKHRoaXMpO3RoaXMuc2hvd0ltYWdlPWZ1bmN0aW9uKHQpe3ZhciBzLGUsbjtpZihcIm9wZW5cIiE9dClzPXRoaXMuY3VycmVudEltYWdlLmdhbGxlcnksbj0obj10aGlzLmN1cnJlbnRJbWFnZS5pZCsoKyhcInByZXZcIj09dCk/LTE6MSkpPnRoaXMuaW1hZ2VzW3NdLmxlbmd0aC0xPzA6bjwwP3RoaXMuaW1hZ2VzW3NdLmxlbmd0aC0xOm47ZWxzZXtpZih0aGlzLnNvdXJjZSlzPXRoaXMuc291cmNlLmRhdGEoXCJqQm94LWltYWdlLWdhbGxlcnlcIiksbj10aGlzLnNvdXJjZS5kYXRhKFwiakJveC1pbWFnZS1pZFwiKTtlbHNle2lmKCF0aGlzLmF0dGFjaGVkRWxlbWVudHN8fCF0aGlzLmF0dGFjaGVkRWxlbWVudHMubGVuZ3RoKXJldHVybjtzPWkodGhpcy5hdHRhY2hlZEVsZW1lbnRzWzBdKS5kYXRhKFwiakJveC1pbWFnZS1nYWxsZXJ5XCIpLG49aSh0aGlzLmF0dGFjaGVkRWxlbWVudHNbMF0pLmRhdGEoXCJqQm94LWltYWdlLWlkXCIpfXRoaXMuaW1hZ2VzJiZ0aGlzLmltYWdlc1tzXSYmaShcIi5qQm94LWltYWdlLXBvaW50ZXItcHJldiwgLmpCb3gtaW1hZ2UtcG9pbnRlci1uZXh0XCIpLmNzcyh7ZGlzcGxheToxPHRoaXMuaW1hZ2VzW3NdLmxlbmd0aD9cImJsb2NrXCI6XCJub25lXCJ9KX1pKFwiLmpCb3gtaW1hZ2UtXCIrcytcIi1jdXJyZW50XCIpLmxlbmd0aCYmaShcIi5qQm94LWltYWdlLVwiK3MrXCItY3VycmVudFwiKS5yZW1vdmVDbGFzcyhcImpCb3gtaW1hZ2UtXCIrcytcIi1jdXJyZW50XCIpLmFuaW1hdGUoe29wYWNpdHk6MH0sXCJvcGVuXCI9PXQ/MDp0aGlzLm9wdGlvbnMuaW1hZ2VGYWRlKSx0aGlzLmN1cnJlbnRJbWFnZT17Z2FsbGVyeTpzLGlkOm59LGkoXCIjakJveC1pbWFnZS1cIitzK1wiLVwiK24pLmxlbmd0aD9pKFwiI2pCb3gtaW1hZ2UtXCIrcytcIi1cIituKS5hZGRDbGFzcyhcImpCb3gtaW1hZ2UtXCIrcytcIi1jdXJyZW50XCIpLmNzcyh7ekluZGV4OnRoaXMuaW1hZ2VaSW5kZXgrKyxvcGFjaXR5OjB9KS5hbmltYXRlKHtvcGFjaXR5OjF9LFwib3BlblwiPT10PzA6dGhpcy5vcHRpb25zLmltYWdlRmFkZSk6byhzLG4sITAsXCJvcGVuXCI9PT10KSxlPXMsdD1uLGkoXCIuakJveC1pbWFnZS1sYWJlbC5hY3RpdmVcIikucmVtb3ZlQ2xhc3MoXCJhY3RpdmUgZXhwYW5kZWRcIiksaShcIiNqQm94LWltYWdlLWxhYmVsLVwiK2UrXCItXCIrdCkuYWRkQ2xhc3MoXCJhY3RpdmVcIiksdGhpcy5pbWFnZUNvdW50ZXImJih0aGlzLmltYWdlc1tzXSYmMTx0aGlzLmltYWdlc1tzXS5sZW5ndGg/KHRoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtaW1hZ2UtaGFzLWNvdW50ZXJcIiksdGhpcy5pbWFnZUNvdW50ZXIuZmluZChcIi5qQm94LWltYWdlLWNvdW50ZXItYWxsXCIpLmh0bWwodGhpcy5pbWFnZXNbc10ubGVuZ3RoKSx0aGlzLmltYWdlQ291bnRlci5maW5kKFwiLmpCb3gtaW1hZ2UtY291bnRlci1jdXJyZW50XCIpLmh0bWwobisxKSk6dGhpcy53cmFwcGVyLnJlbW92ZUNsYXNzKFwiakJveC1pbWFnZS1oYXMtY291bnRlclwiKSksdGhpcy5pbWFnZXNbc10mJnRoaXMuaW1hZ2VzW3NdLmxlbmd0aC0xJiYobj0obis9MSk+dGhpcy5pbWFnZXNbc10ubGVuZ3RoLTE/MDpuPDA/dGhpcy5pbWFnZXNbc10ubGVuZ3RoLTE6bixpKFwiI2pCb3gtaW1hZ2UtXCIrcytcIi1cIituKS5sZW5ndGh8fG8ocyxuLCExLCExKSl9LHRoaXMub3B0aW9ucy5wcmVsb2FkRmlyc3RJbWFnZSYmaSh3aW5kb3cpLm9uKFwibG9hZFwiLGZ1bmN0aW9uKCl7dGhpcy5zaG93SW1hZ2UoXCJvcGVuXCIpfS5iaW5kKHRoaXMpKX0sX29uQXR0YWNoOmZ1bmN0aW9uKHQpe3RoaXMuaW5pdEltYWdlJiZ0aGlzLmluaXRJbWFnZSh0KX0sX29uQ3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuaW1hZ2VMYWJlbFdyYXBwZXI9aSgnPGRpdiBjbGFzcz1cImpCb3gtaW1hZ2UtbGFiZWwtd3JhcHBlclwiLz4nKS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLHRoaXMuaW1hZ2VQcmV2QnV0dG9uPWkoJzxkaXYgY2xhc3M9XCJqQm94LWltYWdlLXBvaW50ZXItcHJldlwiLz4nKS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7dGhpcy5zaG93SW1hZ2UoXCJwcmV2XCIpfS5iaW5kKHRoaXMpKSx0aGlzLmltYWdlTmV4dEJ1dHRvbj1pKCc8ZGl2IGNsYXNzPVwiakJveC1pbWFnZS1wb2ludGVyLW5leHRcIi8+Jykub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe3RoaXMuc2hvd0ltYWdlKFwibmV4dFwiKX0uYmluZCh0aGlzKSksdGhpcy5pbWFnZUxhYmVsQ29udGFpbmVyPWkoJzxkaXYgY2xhc3M9XCJqQm94LWltYWdlLWxhYmVsLWNvbnRhaW5lclwiLz4nKSx0aGlzLmltYWdlTGFiZWxXcmFwcGVyLmFwcGVuZCh0aGlzLmltYWdlUHJldkJ1dHRvbikuYXBwZW5kKHRoaXMuaW1hZ2VMYWJlbENvbnRhaW5lcikuYXBwZW5kKHRoaXMuaW1hZ2VOZXh0QnV0dG9uKSx0aGlzLm9wdGlvbnMuZG93bmxvYWRCdXR0b24mJih0aGlzLmRvd25sb2FkQnV0dG9uPWkoXCI8ZGl2Lz5cIix7Y2xhc3M6XCJqQm94LWltYWdlLWRvd25sb2FkLWJ1dHRvbi13cmFwcGVyXCJ9KS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLmFwcGVuZCh0aGlzLm9wdGlvbnMuZG93bmxvYWRCdXR0b25UZXh0P2koXCI8ZGl2Lz5cIix7Y2xhc3M6XCJqQm94LWltYWdlLWRvd25sb2FkLWJ1dHRvbi10ZXh0XCJ9KS5odG1sKHRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblRleHQpOm51bGwpLmFwcGVuZChpKFwiPGRpdi8+XCIse2NsYXNzOlwiakJveC1pbWFnZS1kb3dubG9hZC1idXR0b24taWNvblwifSkpLm9uKFwiY2xpY2sgdGFwXCIsZnVuY3Rpb24oKXt2YXIgdDt0PXRoaXMuaW1hZ2VzW3RoaXMuY3VycmVudEltYWdlLmdhbGxlcnldW3RoaXMuY3VycmVudEltYWdlLmlkXS5kb3dubG9hZFVybHx8dGhpcy53cmFwcGVyLmZpbmQoXCIuakJveC1pbWFnZS1cIit0aGlzLmN1cnJlbnRJbWFnZS5nYWxsZXJ5K1wiLWN1cnJlbnRcIilbMF0uc3R5bGUuYmFja2dyb3VuZEltYWdlLnNsaWNlKDQsLTEpLnJlcGxhY2UoL1tcIiddL2csXCJcIiksdGhpcy5kb3dubG9hZEltYWdlKHQpfS5iaW5kKHRoaXMpKSksdGhpcy5vcHRpb25zLmltYWdlQ291bnRlciYmKHRoaXMuaW1hZ2VDb3VudGVyPWkoXCI8ZGl2Lz5cIix7Y2xhc3M6XCJqQm94LWltYWdlLWNvdW50ZXItY29udGFpbmVyXCJ9KS5pbnNlcnRBZnRlcih0aGlzLmltYWdlTGFiZWxDb250YWluZXIpLHRoaXMuaW1hZ2VDb3VudGVyLmFwcGVuZChpKFwiPHNwYW4vPlwiLHtjbGFzczpcImpCb3gtaW1hZ2UtY291bnRlci1jdXJyZW50XCJ9KSkuYXBwZW5kKGkoXCI8c3Bhbi8+XCIpLmh0bWwodGhpcy5vcHRpb25zLmltYWdlQ291bnRlclNlcGFyYXRvcikpLmFwcGVuZChpKFwiPHNwYW4vPlwiLHtjbGFzczpcImpCb3gtaW1hZ2UtY291bnRlci1hbGxcIn0pKSl9LF9vbk9wZW46ZnVuY3Rpb24oKXtpKGRvY3VtZW50KS5vbihcImtleXVwLmpCb3gtSW1hZ2UtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXszNz09dC5rZXlDb2RlJiZ0aGlzLnNob3dJbWFnZShcInByZXZcIiksMzk9PXQua2V5Q29kZSYmdGhpcy5zaG93SW1hZ2UoXCJuZXh0XCIpfS5iaW5kKHRoaXMpKSx0aGlzLnNob3dJbWFnZShcIm9wZW5cIil9LF9vbkNsb3NlOmZ1bmN0aW9uKCl7aShkb2N1bWVudCkub2ZmKFwia2V5dXAuakJveC1JbWFnZS1cIit0aGlzLmlkKX0sX29uQ2xvc2VDb21wbGV0ZTpmdW5jdGlvbigpe3RoaXMud3JhcHBlci5maW5kKFwiLmpCb3gtaW1hZ2UtY29udGFpbmVyXCIpLmNzcyhcIm9wYWNpdHlcIiwwKX19KX1mdW5jdGlvbiBqQm94Tm90aWNlV3JhcHBlcih0LGkpe25ldyB0LnBsdWdpbihcIk5vdGljZVwiLHtjb2xvcjpudWxsLHN0YWNrOiEwLHN0YWNrU3BhY2luZzoxMCxhdXRvQ2xvc2U6NmUzLGF0dHJpYnV0ZXM6e3g6XCJyaWdodFwiLHk6XCJ0b3BcIn0scG9zaXRpb246e3g6MTUseToxNX0scmVzcG9uc2l2ZVBvc2l0aW9uczp7NTAwOnt4OjUseTo1fSw3Njg6e3g6MTAseToxMH19LHRhcmdldDp3aW5kb3csZml4ZWQ6ITAsYW5pbWF0aW9uOlwiem9vbUluXCIsY2xvc2VPbkNsaWNrOlwiYm94XCIsekluZGV4OjEyZTMsX29uSW5pdDpmdW5jdGlvbigpe3RoaXMuZGVmYXVsdE5vdGljZVBvc2l0aW9uPWkuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucy5wb3NpdGlvbiksdGhpcy5fYWRqdXN0Tm90aWNlUG9zaXRvbj1mdW5jdGlvbigpe3ZhciB0PWkod2luZG93KSxvPXQud2lkdGgoKTt0LmhlaWdodCgpLHRoaXMub3B0aW9ucy5wb3NpdGlvbj1pLmV4dGVuZCh7fSx0aGlzLmRlZmF1bHROb3RpY2VQb3NpdGlvbiksaS5lYWNoKHRoaXMub3B0aW9ucy5yZXNwb25zaXZlUG9zaXRpb25zLGZ1bmN0aW9uKHQsaSl7aWYobzw9dClyZXR1cm4gdGhpcy5vcHRpb25zLnBvc2l0aW9uPWksITF9LmJpbmQodGhpcykpLHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZT17dG9wOnRoaXMub3B0aW9ucy5wb3NpdGlvbi55LHJpZ2h0OnRoaXMub3B0aW9ucy5wb3NpdGlvbi54LGJvdHRvbTp0aGlzLm9wdGlvbnMucG9zaXRpb24ueSxsZWZ0OnRoaXMub3B0aW9ucy5wb3NpdGlvbi54fX0sdGhpcy5vcHRpb25zLmNvbnRlbnQgaW5zdGFuY2VvZiBpJiYodGhpcy5vcHRpb25zLmNvbnRlbnQ9dGhpcy5vcHRpb25zLmNvbnRlbnQuY2xvbmUoKS5hdHRyKFwiaWRcIixcIlwiKSksaSh3aW5kb3cpLm9uKFwicmVzaXplLnJlc3BvbnNpdmVqQm94Tm90aWNlLVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dGhpcy5pc09wZW4mJnRoaXMuX2FkanVzdE5vdGljZVBvc2l0b24oKX0uYmluZCh0aGlzKSksdGhpcy5vcGVuKCl9LF9vbkNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLndyYXBwZXIuYWRkQ2xhc3MoXCJqQm94LU5vdGljZS1jb2xvciBqQm94LU5vdGljZS1cIisodGhpcy5vcHRpb25zLmNvbG9yfHxcImdyYXlcIikpLHRoaXMud3JhcHBlci5kYXRhKFwiakJveC1Ob3RpY2UtcG9zaXRpb25cIix0aGlzLm9wdGlvbnMuYXR0cmlidXRlcy54K1wiLVwiK3RoaXMub3B0aW9ucy5hdHRyaWJ1dGVzLnkpfSxfb25PcGVuOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLnN0YWNrfHwodGhpcy5fYWRqdXN0Tm90aWNlUG9zaXRvbigpLGkuZWFjaChpKFwiLmpCb3gtTm90aWNlXCIpLGZ1bmN0aW9uKHQsbyl7KG89aShvKSkuYXR0cihcImlkXCIpIT10aGlzLmlkJiZvLmRhdGEoXCJqQm94LU5vdGljZS1wb3NpdGlvblwiKT09dGhpcy5vcHRpb25zLmF0dHJpYnV0ZXMueCtcIi1cIit0aGlzLm9wdGlvbnMuYXR0cmlidXRlcy55JiYodGhpcy5vcHRpb25zLnN0YWNrfHxvLmRhdGEoXCJqQm94XCIpLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pKX0uYmluZCh0aGlzKSkpfSxfb25Qb3NpdGlvbjpmdW5jdGlvbigpe3ZhciB0LG89e307Zm9yKHQgaW4gaS5lYWNoKGkoXCIuakJveC1Ob3RpY2VcIiksZnVuY3Rpb24odCxzKXt2YXIgZT0ocz1pKHMpKS5kYXRhKFwiakJveC1Ob3RpY2UtcG9zaXRpb25cIik7b1tlXXx8KG9bZV09W10pLG9bZV0ucHVzaChzKX0pLG8pe3ZhciBzPXQuc3BsaXQoXCItXCIpWzFdO29bdF0ucmV2ZXJzZSgpO3ZhciBlLG49MDtmb3IoZSBpbiBvW3RdKXt2YXIgYT1pKG9bdF1bZV0pO2EuY3NzKFwibWFyZ2luLVwiK3Msbiksbis9YS5vdXRlckhlaWdodCgpK3RoaXMub3B0aW9ucy5zdGFja1NwYWNpbmd9fX0sX29uQ2xvc2VDb21wbGV0ZTpmdW5jdGlvbigpe3RoaXMuZGVzdHJveSgpLHRoaXMub3B0aW9ucy5fb25Qb3NpdGlvbi5iaW5kKHRoaXMpLmNhbGwoKX19KX0hZnVuY3Rpb24odCxpKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFtcImpxdWVyeVwiXSxmdW5jdGlvbihvKXtyZXR1cm4gdC5qQm94PWkobyl9KTpcIm9iamVjdFwiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz10LmpCb3g9aShyZXF1aXJlKFwianF1ZXJ5XCIpKTp0LmpCb3g9aSh0LmpRdWVyeSl9KHRoaXMsZnVuY3Rpb24odCl7dmFyIGk9akJveFdyYXBwZXIodCk7dHJ5e3ZvaWQgMCE9PWpCb3hDb25maXJtV3JhcHBlciYmakJveENvbmZpcm1XcmFwcGVyJiZqQm94Q29uZmlybVdyYXBwZXIoaSx0KX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKHQpfXRyeXt2b2lkIDAhPT1qQm94SW1hZ2VXcmFwcGVyJiZqQm94SW1hZ2VXcmFwcGVyJiZqQm94SW1hZ2VXcmFwcGVyKGksdCl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcih0KX10cnl7dm9pZCAwIT09akJveE5vdGljZVdyYXBwZXImJmpCb3hOb3RpY2VXcmFwcGVyJiZqQm94Tm90aWNlV3JhcHBlcihpLHQpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCl9cmV0dXJuIGl9KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltcENiM2d1WVd4c0xtMXBiaTVxY3lKZExDSnVZVzFsY3lJNld5SnFRbTk0VjNKaGNIQmxjaUlzSW1JaUxDSm9JaXdpZENJc0lta2lMQ0owYUdseklpd2liM0IwYVc5dWN5SXNJbWxrSWl3aWQybGtkR2dpTENKb1pXbG5hSFFpTENKdGFXNVhhV1IwYUNJc0ltMXBia2hsYVdkb2RDSXNJbTFoZUZkcFpIUm9JaXdpYldGNFNHVnBaMmgwSWl3aWNtVnpjRzl1YzJsMlpWZHBaSFJvSWl3aWNtVnpjRzl1YzJsMlpVaGxhV2RvZENJc0luSmxjM0J2Ym5OcGRtVk5hVzVYYVdSMGFDSXNJbkpsYzNCdmJuTnBkbVZOYVc1SVpXbG5hSFFpTENKaGRIUmhZMmdpTENKMGNtbG5aMlZ5SWl3aWNISmxkbVZ1ZEVSbFptRjFiSFFpTENKamIyNTBaVzUwSWl3aVoyVjBRMjl1ZEdWdWRDSXNJblJwZEd4bElpd2laMlYwVkdsMGJHVWlMQ0ptYjI5MFpYSWlMQ0pwYzI5c1lYUmxVMk55YjJ4c0lpd2lZV3BoZUNJc0luVnliQ0lzSW1SaGRHRWlMQ0p5Wld4dllXUWlMQ0puWlhSVlVrd2lMQ0puWlhSRVlYUmhJaXdpYzJWMFEyOXVkR1Z1ZENJc0lteHZZV1JwYm1kRGJHRnpjeUlzSW5Od2FXNXVaWElpTENKemNHbHVibVZ5UkdWc1lYa2lMQ0p6Y0dsdWJtVnlVbVZ3YjNOcGRHbHZiaUlzSW1OaGJtTmxiRUZxWVhoUGJrTnNiM05sSWl3aWRHRnlaMlYwSWl3aWNHOXphWFJwYjI0aUxDSjRJaXdpZVNJc0ltOTFkSE5wWkdVaUxDSnZabVp6WlhRaUxDSmhkSFJ5YVdKMWRHVnpJaXdpWm1sNFpXUWlMQ0poWkdwMWMzUlFiM05wZEdsdmJpSXNJbUZrYW5WemRGUnlZV05yWlhJaUxDSmhaR3AxYzNSRWFYTjBZVzVqWlNJc0luSmxjRzl6YVhScGIyNGlMQ0p5WlhCdmMybDBhVzl1VDI1UGNHVnVJaXdpY21Wd2IzTnBkR2x2Yms5dVEyOXVkR1Z1ZENJc0ltaHZiR1JRYjNOcGRHbHZiaUlzSW5CdmFXNTBaWElpTENKd2IybHVkRlJ2SWl3aVptRmtaU0lzSW1GdWFXMWhkR2x2YmlJc0luUm9aVzFsSWl3aVlXUmtRMnhoYzNNaUxDSnZkbVZ5YkdGNUlpd2liM1psY214aGVVTnNZWE56SWl3aWVrbHVaR1Y0SWl3aVpHVnNZWGxQY0dWdUlpd2laR1ZzWVhsRGJHOXpaU0lzSW1Oc2IzTmxUMjVGYzJNaUxDSmpiRzl6WlU5dVEyeHBZMnNpTENKamJHOXpaVTl1VFc5MWMyVnNaV0YyWlNJc0ltTnNiM05sUW5WMGRHOXVJaXdpWVhCd1pXNWtWRzhpTENKamNtVmhkR1ZQYmtsdWFYUWlMQ0ppYkc5amExTmpjbTlzYkNJc0ltSnNiMk5yVTJOeWIyeHNRV1JxZFhOMElpd2laSEpoWjJkaFlteGxJaXdpWkhKaFowOTJaWElpTENKaGRYUnZRMnh2YzJVaUxDSmtaV3hoZVU5dVNHOTJaWElpTENKemFHOTNRMjkxYm5Sa2IzZHVJaXdpY0hKbGJHOWhaRUYxWkdsdklpd2lZWFZrYVc4aUxDSjJiMngxYldVaUxDSnZia2x1YVhRaUxDSnZia0YwZEdGamFDSXNJbTl1VUc5emFYUnBiMjRpTENKdmJrTnlaV0YwWldRaUxDSnZiazl3Wlc0aUxDSnZia05zYjNObElpd2liMjVEYkc5elpVTnZiWEJzWlhSbElpd2liMjVFY21GblUzUmhjblFpTENKdmJrUnlZV2RGYm1RaUxDSmZjR3gxWjJsdVQzQjBhVzl1Y3lJc0lsUnZiMngwYVhBaUxDSk5iM1Z6WlNJc0lrMXZaR0ZzSWl3aWQybHVaRzkzSWl3aVpYaDBaVzVrSWl3aWRIbHdaU0lzSW1selZHOTFZMmhFWlhacFkyVWlMQ0p6Y0d4cGRDSXNJa1J2WTNWdFpXNTBWRzkxWTJnaUxDSmtiMk4xYldWdWRDSXNJbXB2YVc0aUxDSnRZWFJqYUUxbFpHbGhJaXdpYldGMFkyaGxjeUlzSWw5bWFYSmxSWFpsYm5RaUxDSmlhVzVrSWl3aVgyZGxkRlZ1YVhGMVpVbEVJaXdpZEc5d0lpd2ljbWxuYUhRaUxDSmliM1IwYjIwaUxDSnNaV1owSWl3aVlXeHBaMjRpTENKNlNXNWtaWGhOWVhnaUxDSk5ZWFJvSWl3aWJXRjRJaXdpWVdScWRYTjBXa2x1WkdWNFQyNVBjR1Z1SWl3aWRISjFaVTF2WkdGc0lpd2lYMmRsZEU5d2NDSXNJbDluWlhSWVdTSXNJbU5sYm5SbGNpSXNJbDluWlhSVVRDSXNJbDluWlhSSmJuUWlMQ0p6YkdsalpTSXNJbkJoY25ObFNXNTBJaXdpY21Wd2JHRmpaU0lzSWw5amNtVmhkR1ZUVmtjaUxDSnZJaXdpWTNKbFlYUmxSV3hsYldWdWRFNVRJaXdpWldGamFDSXNJbk5sZEVGMGRISnBZblYwWlNJc0lsOXBjMjlzWVhSbFUyTnliMnhzSWl3aVpTSXNJbXhsYm1kMGFDSXNJbTl1SWl3aWQyaGxaV3hFWld4MFlTSXNJbTl5YVdkcGJtRnNSWFpsYm5RaUxDSmtaWFJoYVd3aUxDSnpZM0p2Ykd4VWIzQWlMQ0p2ZFhSbGNraGxhV2RvZENJc0luTmpjbTlzYkVobGFXZG9kQ0lzSW5NaUxDSmZjMlYwVkdsMGJHVlhhV1IwYUNJc0luUnBkR3hsUTI5dWRHRnBibVZ5SWl3aWMzUjViR1VpTENKM2NtRndjR1Z5SWl3aVkzTnpJaXdpYjNWMFpYSlhhV1IwYUNJc0lsOWtjbUZuWjJGaWJHVWlMQ0p1SWl3aVlTSXNJbUoxZEhSdmJpSXNJbWhoYzBOc1lYTnpJaXdpY0dGeVpXNTBjeUlzSW1Oc2IzTmxJaXdpYVdkdWIzSmxSR1ZzWVhraUxDSjBiM1ZqYUdWeklpd2ljR0ZuWlZnaUxDSndZV2RsV1NJc0ltUnlZV2RuYVc1blUzUmhjblJZSWl3aVpISmhaMmRwYm1kVGRHRnlkRmtpTENKNlNXNWtaWGhOWVhoRWNtRm5iM1psY2lJc0ltUnlZV2RuYVc1bklpd2liMlptSWl3aWMyTnliMnhzVEdWbWRDSXNJbDlqY21WaGRHVWlMQ0pqYkdGemN5SXNJbVJwYzNCc1lYa2lMQ0p2Y0dGamFYUjVJaXdpYzI5MWNtTmxJaXdpY21Wc1lYUmxaRlJoY21kbGRDSXNJbWx1UVhKeVlYa2lMQ0pqYjI1MFlXbHVaWElpTENKaGNIQmxibVFpTENKaGNIQmxibVJEYUdsc1pDSXNJbVpwYm1RaUxDSjRlU0lzSW1Wc1pXMWxiblFpTENKa2FXMWxibk5wYjI1eklpd2lZV3hwWjI1QmRIUnlhV0oxZEdVaUxDSnRZWEpuYVc0aUxDSnpaWFJVYVhSc1pTSXNJbDloZEhSaFkyaEZkbVZ1ZEhNaUxDSnBjMGh2ZG1WeVpXUWlMQ0p0YjNWelpWUmhjbWRsZENJc0lsOWtaWFJoWTJoRmRtVnVkSE1pTENKZmMyaHZkMDkyWlhKc1lYa2lMQ0p6ZEc5d0lpd2lZVzVwYldGMFpTSXNJbkYxWlhWbElpd2laSFZ5WVhScGIyNGlMQ0p6ZEdGeWRDSXNJbDlvYVdSbFQzWmxjbXhoZVNJc0ltTnZiWEJzWlhSbElpd2lYMlY0Y0c5elpVUnBiV1Z1YzJsdmJuTWlMQ0pmWjJWdVpYSmhkR1ZCYm1sdFlYUnBiMjVEVTFNaUxDSndkV3h6WlNJc0ltOXdaVzRpTENKNmIyOXRTVzRpTENKNmIyOXRUM1YwSWl3aWJXOTJaU0lzSW5Oc2FXUmxJaXdpWm14cGNDSXNJblJoWkdFaUxDSnZjR1Z1UkdseVpXTjBhVzl1SWl3aVkyeHZjMlZFYVhKbFkzUnBiMjRpTENKNmIyOXRTVzVQY0dWdUlpd2llbTl2YlVsdVEyeHZjMlVpTENKNmIyOXRUM1YwVDNCbGJpSXNJbnB2YjIxUGRYUkRiRzl6WlNJc0ltMXZkbVZQY0dWdUlpd2ljRzl6YVhScGIyNXpJaXdpTUNVaUxDSnRiM1psUTJ4dmMyVWlMQ0owYVcxcGJtY2lMQ0l4TURBbElpd2ljMnhwWkdWUGNHVnVJaXdpYzJ4cFpHVkRiRzl6WlNJc0ltWnNhWEJQY0dWdUlpd2labXhwY0VOc2IzTmxJaXdpZEc5VmNIQmxja05oYzJVaUxDSmZZVzVwYldGMGFXOXVRMU5USWl3aVgySnNiMk5yUW05a2VVTnNhV05ySWl3aVlteHZZMnRDYjJSNVEyeHBZMnNpTENKelpYUlVhVzFsYjNWMElpd2lYMkZ1YVcxaGRHVWlMQ0pwYzA5d1pXNGlMQ0ptYkdsd2NHVmtJaXdpY0dGeWMyVkdiRzloZENJc0ltMXBiaUlzSW5KbGJXOTJaVU5zWVhOeklpd2lYMkZpYjNKMFFXNXBiV0YwYVc5dUlpd2lZWFIwY2lJc0ltWnBiSFJsY2lJc0lteGhjM1JKYm1SbGVFOW1JaXdpY0hWemFDSXNJa0YxWkdsdklpd2ljM0pqSWl3aWNISmxiRzloWkNJc0luQnliM1J2ZEhsd1pTSXNJbkpsYlc5MlpVRjBkSElpTENKaGRIUmhZMmhsWkVWc1pXMWxiblJ6SWl3aWRHbHRaWElpTENKamJHVmhjbFJwYldWdmRYUWlMQ0prWlhSaFkyZ2lMQ0puY21Wd0lpd2lhVzV6WlhKMFFtVm1iM0psSWl3aWFIUnRiQ0lzSW1Ob2FXeGtjbVZ1SWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pxY1hWbGNua2lMQ0pLVTA5T0lpd2ljM1J5YVc1bmFXWjVJaXdpYzJWMFJHbHRaVzV6YVc5dWN5SXNJbk5sZEZkcFpIUm9JaXdpYzJWMFNHVnBaMmgwSWl3aWNpSXNJbVlpTENKd0lpd2liQ0lzSW1ObGFXd2lMQ0p3YjNOcGRHbHZia0ZrYW5WemRHVmtJaXdpWkNJc0ltTWlMQ0oxSWl3aVp5SXNJbTBpTENKcUlpd2lkVzV6WTNKdmJHd2lMQ0p6WlhRaUxDSjFibk5qY205c2JGTjBiM0psSWl3aVoyVjBJaXdpWjJWMFUyTnliMnhzWW1GeVYybGtkR2dpTENKamNtVmhkR1ZGYkdWdFpXNTBJaXdpYjNabGNtWnNiM2NpTENKaWIyUjVJaXdpYjJabWMyVjBWMmxrZEdnaUxDSmpiR2xsYm5SWGFXUjBhQ0lzSW5KbGJXOTJaVU5vYVd4a0lpd2laMlYwUld4bGJXVnVkSE5VYjBGa2FuVnpkQ0lzSW1admNrVmhZMmdpTENKcGJtUmxlRTltSWl3aWNHRm5aVWhoYzFOamNtOXNiR0poY2lJc0ltOW1abk5sZEVobGFXZG9kQ0lzSW1sdWJtVnlTR1ZwWjJoMElpd2ljWFZsY25sVFpXeGxZM1J2Y2tGc2JDSXNJbWRsZEVGMGRISnBZblYwWlNJc0ltZGxkRU52YlhCMWRHVmtVM1I1YkdVaUxDSm5aWFJRY205d1pYSjBlVlpoYkhWbElpd2laMlYwUld4bGJXVnVkRUo1U1dRaUxDSm9aV0ZrSWl3aVoyVjBSV3hsYldWdWRITkNlVlJoWjA1aGJXVWlMQ0pqY21WaGRHVlVaWGgwVG05a1pTSXNJbU5zWVhOelRHbHpkQ0lzSW1Ga1pDSXNJbkpsYzJWMElpd2ljbVZ0YjNabFFYUjBjbWxpZFhSbElpd2ljbVZ0YjNabElpd2lhWE5FWlhOMGNtOTVaV1FpTENKZmMzUjViR1Z6SWl3aWFYTkVhWE5oWW14bFpDSXNJbXRsZVVOdlpHVWlMQ0pvWVhNaUxDSmhhbUY0VEc5aFpHVmtJaXdpY0c5emFYUnBiMjVsWkU5dVQzQmxiaUlzSW1selEyeHZjMmx1WnlJc0ltSnNiMk5yVTJOeWIyeHNVMk52Y0dWeklpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2lhWE5QY0dWdWFXNW5JaXdpWVd4M1lYbHpJaXdpY0c5emFYUnBiMjVQYmtaaFpHVkRiMjF3YkdWMFpTSXNJbU5oYm1ObGJFRnFZWGdpTENKRVlYUmxJaXdpYm05M0lpd2lhVzV1WlhJaUxDSndjbVZ3Wlc1a0lpd2lZMjkxYm5Sa2IzZHVJaXdpY21WeGRXVnpkRUZ1YVcxaGRHbHZia1p5WVcxbElpd2lkRzluWjJ4bElpd2laR2x6WVdKc1pTSXNJbVZ1WVdKc1pTSXNJbWhwWkdVaUxDSmpZV05vWlZkeVlYQndaWEpFYVhOd2JHRjVJaXdpWTJGamFHVlBkbVZ5YkdGNVJHbHpjR3hoZVNJc0luTm9iM2NpTENKaVpXWnZjbVZUWlc1a0lpd2ljM1ZqWTJWemN5SXNJbVZ5Y205eUlpd2lkSEpoYm5ObWIzSnRJaXdpWVdwaGVGSmxjWFZsYzNRaUxDSmhZbTl5ZENJc0lsOWhkV1JwYnlJc0luQmhkWE5sSWl3aVkzVnljbVZ1ZEZScGJXVWlMQ0p3YkdGNUlpd2lYMkZ1YVcxaGRHbHZibE53WldWa2N5SXNJblJoWkdGVGJXRnNiQ0lzSW1ac1lYTm9JaXdpYzJoaGEyVWlMQ0p3ZFd4elpWVndJaXdpY0hWc2MyVkViM2R1SWl3aWNHOXdTVzRpTENKd2IzQlBkWFFpTENKbVlXUmxTVzRpTENKbVlXUmxUM1YwSWl3aWMyeHBaR1ZWY0NJc0luTnNhV1JsVW1sbmFIUWlMQ0p6Ykdsa1pVeGxablFpTENKemJHbGtaVVJ2ZDI0aUxDSmhibWx0WVhScGIyNVVhVzFsYjNWMElpd2lYMmRsZEZWdWFYRjFaVVZzWlcxbGJuUkpSQ0lzSW5OM2FYQmxSR1YwWldOMGIzSWlMQ0p6ZDJsd1pWUm9jbVZ6YUc5c1pDSXNJblZ6WlU5dWJIbFViM1ZqYUNJc0ltTnNhV1Z1ZEZnaUxDSmpiR2xsYm5SWklpd2lZV0p6SWl3aVJYWmxiblFpTENKa1pYTjBjbTk1SWl3aWNHeDFaMmx1SWl3aVptNGlMQ0pxUW05NElpd2lha0p2ZUVOdmJtWnBjbTFYY21Gd2NHVnlJaXdpYWxGMVpYSjVJaXdpWTI5dVptbHliVUoxZEhSdmJpSXNJbU5oYm1ObGJFSjFkSFJ2YmlJc0ltTnZibVpwY20waUxDSmpZVzVqWld3aUxDSmpiRzl6WlU5dVEyOXVabWx5YlNJc0lsOXZia0YwZEdGamFDSXNJbkJ5YjNBaUxDSmZiMjVEY21WaGRHVmtJaXdpYzNWaWJXbDBRblYwZEc5dUlpd2lYMjl1VDNCbGJpSXNJbVYyWVd3aUxDSnFRbTk0U1cxaFoyVlhjbUZ3Y0dWeUlpd2laMkZzYkdWeWVTSXNJbWx0WVdkbFRHRmlaV3dpTENKcGJXRm5aVVpoWkdVaUxDSnBiV0ZuWlZOcGVtVWlMQ0pwYldGblpVTnZkVzUwWlhJaUxDSnBiV0ZuWlVOdmRXNTBaWEpUWlhCaGNtRjBiM0lpTENKa2IzZHViRzloWkVKMWRIUnZiaUlzSW1SdmQyNXNiMkZrUW5WMGRHOXVWR1Y0ZENJc0ltUnZkMjVzYjJGa1FuVjBkRzl1VlhKc0lpd2liVzlpYVd4bFNXMWhaMlZCZEhSeUlpd2liVzlpYVd4bFNXMWhaMlZDY21WaGEzQnZhVzUwSWl3aWNISmxiRzloWkVacGNuTjBTVzFoWjJVaUxDSmZiMjVKYm1sMElpd2lhVzFoWjJWeklpd2lZM1Z5Y21WdWRFbHRZV2RsSWl3aWFXMWhaMlZhU1c1a1pYZ2lMQ0pwYm1sMFNXMWhaMlVpTENKc1lXSmxiQ0lzSW1SdmQyNXNiMkZrVlhKc0lpd2lZbUZqYTJkeWIzVnVaRk5wZW1VaUxDSnphRzkzU1cxaFoyVWlMQ0owYjJkbmJHVkRiR0Z6Y3lJc0ltbHRZV2RsVEdGaVpXeERiMjUwWVdsdVpYSWlMQ0prYjNkdWJHOWhaRWx0WVdkbElpd2lhSEpsWmlJc0luTjFZbk4wY21sdVp5SXNJbU5zYVdOcklpd2lTVzFoWjJVaUxDSnZibXh2WVdRaUxDSmlZV05yWjNKdmRXNWtTVzFoWjJVaUxDSnZibVZ5Y205eUlpd2lhVzFoWjJWTVlXSmxiRmR5WVhCd1pYSWlMQ0pwYldGblpWQnlaWFpDZFhSMGIyNGlMQ0pwYldGblpVNWxlSFJDZFhSMGIyNGlMQ0pwYm5ObGNuUkJablJsY2lJc0lsOXZia05zYjNObElpd2lYMjl1UTJ4dmMyVkRiMjF3YkdWMFpTSXNJbXBDYjNoT2IzUnBZMlZYY21Gd2NHVnlJaXdpWTI5c2IzSWlMQ0p6ZEdGamF5SXNJbk4wWVdOclUzQmhZMmx1WnlJc0luSmxjM0J2Ym5OcGRtVlFiM05wZEdsdmJuTWlMQ0kxTURBaUxDSTNOamdpTENKa1pXWmhkV3gwVG05MGFXTmxVRzl6YVhScGIyNGlMQ0pmWVdScWRYTjBUbTkwYVdObFVHOXphWFJ2YmlJc0ltTnNiMjVsSWl3aVgyOXVVRzl6YVhScGIyNGlMQ0p5WlhabGNuTmxJaXdpWTJGc2JDSXNJbVJsWm1sdVpTSXNJbUZ0WkNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnlaWEYxYVhKbElpd2lZMjl1YzI5c1pTSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNVMEZCVTBFc1dVRkJXVU1zUjBGQlJ5eFRRVUZUUXl4RlFVRkZReXhGUVVGRlF5eEhRVUZITEU5QlFVOURMRXRCUVV0RExGRkJRVkVzUTBGQlEwTXNSMEZCUnl4TFFVRkxReXhOUVVGTkxFOUJRVTlETEU5QlFVOHNUMEZCVDBNc1UwRkJVeXhMUVVGTFF5eFZRVUZWTEV0QlFVdERMRk5CUVZNc1MwRkJTME1zVlVGQlZTeExRVUZMUXl4cFFrRkJaMElzUlVGQlIwTXNhMEpCUVdsQ0xFVkJRVWRETEcxQ1FVRnRRaXhKUVVGSlF5eHZRa0ZCYjBJc1NVRkJTVU1zVDBGQlR5eExRVUZMUXl4UlFVRlJMRkZCUVZGRExHZENRVUZsTEVWQlFVZERMRkZCUVZFc1MwRkJTME1zVjBGQlZ5eExRVUZMUXl4TlFVRk5MRXRCUVV0RExGTkJRVk1zUzBGQlMwTXNUMEZCVHl4TFFVRkxReXhsUVVGakxFVkJRVWRETEV0QlFVc3NRMEZCUTBNc1NVRkJTU3hMUVVGTFF5eExRVUZMTEVkQlFVZERMRkZCUVU4c1JVRkJSME1zVDBGQlR5eFhRVUZYUXl4UlFVRlJMRmxCUVZsRExGbEJRVmNzUlVGQlIwTXNZMEZCWVN4RlFVRkhReXhUUVVGUkxFVkJRVWRETEdGQlFXRXNTVUZCU1VNc2JVSkJRV3RDTEVkQlFVbERMRzFDUVVGclFpeEZRVUZIUXl4UFFVRlBMRXRCUVV0RExGTkJRVk1zUTBGQlEwTXNSVUZCUlN4VFFVRlRReXhGUVVGRkxGVkJRVlZETEZGQlFWRXNTMEZCUzBNc1QwRkJUeXhGUVVGRlF5eFhRVUZYTEVOQlFVTktMRVZCUVVVc1QwRkJUME1zUlVGQlJTeFBRVUZQU1N4UFFVRk5MRVZCUVVkRExHZENRVUZsTEVWQlFVZERMR1ZCUVdNc1JVRkJSME1zWlVGQlpTeEZRVUZGUXl4WlFVRlhMRVZCUVVkRExHdENRVUZwUWl4RlFVRkhReXh4UWtGQmIwSXNSVUZCUjBNc1kwRkJZU3hGUVVGSFF5eFRRVUZSTEVWQlFVZERMRkZCUVZFc1UwRkJVME1zUzBGQlN5eEpRVUZKUXl4VlFVRlZMRXRCUVV0RExFMUJRVTBzVlVGQlZVTXNVMEZCVXl4TFFVRkxReXhUUVVGUkxFVkJRVWRETEdGQlFXRXNTMEZCUzBNc1QwRkJUeXhKUVVGSlF5eFZRVUZWTEVWQlFVVkRMRmRCUVZjc1JVRkJSVU1zV1VGQlZ5eEZRVUZIUXl4alFVRmhMRVZCUVVkRExHMUNRVUZyUWl4RlFVRkhReXhoUVVGWkxFVkJRVWRETEZOQlFWTndSU3hGUVVGRkxGRkJRVkZ4UlN4alFVRmhMRVZCUVVkRExHRkJRVmtzUlVGQlIwTXNiVUpCUVd0Q0xFVkJRVWRETEZkQlFWVXNSVUZCUjBNc1ZVRkJVeXhGUVVGSFF5eFhRVUZWTEVWQlFVZERMR05CUVdFc1JVRkJSME1zWlVGQll5eEZRVUZIUXl4alFVRmhMRVZCUVVkRExFMUJRVTBzUzBGQlMwTXNUMEZCVHl4SlFVRkpReXhQUVVGUExFdEJRVXRETEZOQlFWTXNTMEZCUzBNc1YwRkJWeXhMUVVGTFF5eFZRVUZWTEV0QlFVdERMRTlCUVU4c1MwRkJTME1zVVVGQlVTeExRVUZMUXl4blFrRkJaMElzUzBGQlMwTXNXVUZCV1N4TFFVRkxReXhWUVVGVkxFMUJRVTF3Uml4TFFVRkxjVVlzWlVGQlpTeERRVUZEUXl4UlFVRlJMRU5CUVVOeVJTeFhRVUZYTEZGQlFWRklMRkZCUVZFc1lVRkJZWEZDTEZOQlFWTXNRMEZCUTBNc1JVRkJSU3hUUVVGVFF5eEZRVUZGTEU5QlFVOURMRkZCUVZFc1NVRkJTVmNzVTBGQlVTeEhRVUZKYzBNc1RVRkJUU3hEUVVGRE9VVXNhVUpCUVdkQ0xFVkJRVWRETEd0Q1FVRnBRaXhGUVVGSFowTXNaVUZCWlN4UFFVRlBVaXhQUVVGUExGRkJRVkZ3UWl4UlFVRlJMR0ZCUVdGeFFpeFRRVUZUTEVOQlFVTkRMRVZCUVVVc1VVRkJVVU1zUlVGQlJTeFZRVUZWUXl4UlFVRlJMRXRCUVV0RExFOUJRVThzUjBGQlIybEVMRTFCUVUwc1EwRkJRM1JFTEU5QlFVOTBReXhGUVVGRk5rWXNVVUZCVVdoRUxFOUJRVTBzUlVGQlIzbENMR0ZCUVZrc1JVRkJSMDRzV1VGQlZ5eEZRVUZIUXl4aFFVRmhMRlZCUVZWRkxHRkJRVmtzUlVGQlIxSXNVMEZCVVN4RlFVRkhTQ3hWUVVGVkxGZEJRVmR3UkN4TFFVRkxReXhSUVVGUlRDeEZRVUZGT0VZc1VVRkJUeXhGUVVGSE1VWXNTMEZCUzBNc1VVRkJVVVFzUzBGQlMzRkdMR1ZCUVdWMlJpeEpRVUZKUkN4RlFVRkZkMFlzWlVGQlpYWkdMRWRCUVVkRExFZEJRVWNzVlVGQlZVZ3NSVUZCUlN0R0xFdEJRVXMzUml4TFFVRkxSU3hMUVVGTE1rWXNTMEZCU3pkR0xFZEJRVWRGTEV0QlFVczBSaXhqUVVGakxGZEJRVmNzU1VGQk9FazNSaXhGUVVFeFNVUXNSVUZCUlN3MFFrRkJORUlyUml4TlFVRk5MRXRCUVVzc1UwRkJSeXhwUWtGQmFVSktMRkZCUVZGQkxFOUJRVTlMTEdWQlFXVkRMRzlDUVVGdlFrUXNhVUpCUVRaR0wwWXNSVUZCYUVWRUxFVkJRVVVzUTBGQlF5eEpRVUZKUVN4RlFVRkZhMGNzUzBGQlN5eHZRa0ZCYjBJc1UwRkJVeXhMUVVGTFFTeExRVUZMTEVsQlFXVlFMRTlCUVU5UkxGZEJRVmRzUnl4SFFVRkhiVWNzVTBGQmNGQXNSMEZCSzFCc1J5eExRVUZMTkVZc1pVRkJaU3hsUVVGbE5VWXNTMEZCUzBNc1VVRkJVV0VzVlVGQlV5eEpRVUZMWkN4TFFVRkxReXhSUVVGUk5FUXNaVUZCWlRkRUxFdEJRVXRETEZGQlFWRTBSQ3hoUVVGaExGRkJRVkUzUkN4TFFVRkxiVWNzVjBGQlZ5eFRRVUZUY2tjc1JVRkJSVU1zUjBGQlIwTXNTMEZCUzBNc1VVRkJVU3hKUVVGSlNDeEpRVUZKUlN4TFFVRkxReXhSUVVGUkxFbEJRVWxJTEVkQlFVZHpSeXhMUVVGTGNFY3NTMEZCZWtKQkxFTkJRU3RDUkN4SFFVRkhReXhMUVVGTFF5eFJRVUZSU0N4SlFVRkpSU3hMUVVGTFF5eFJRVUZSU0N4SFFVRkhjMGNzUzBGQlMzQkhMRXRCUVhKQ1FTeERRVUV5UWtRc1NVRkJTU3hQUVVGUFF5eExRVUZMUXl4UlFVRlJReXhMUVVGTFJpeExRVUZMUXl4UlFVRlJReXhIUVVGSExFOUJRVTlNTEVWQlFVVjNSeXhuUWtGQlowSnlSeXhMUVVGTFJTeEhRVUZIUml4TFFVRkxReXhSUVVGUlF5eEpRVUZKTEZWQlFWVkdMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRReXhIUVVGSExFdEJRVXR3UXl4TFFVRkxReXhSUVVGUmNVTXNVMEZCVXl4VlFVRlZkRU1zUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5GTEVkQlFVY3NTMEZCUzNKRExFdEJRVXRETEZGQlFWRnhReXhYUVVGWGRFTXNTMEZCUzBNc1VVRkJVWEZETEZGQlFWRXNUVUZCVFN4VlFVRlZkRU1zUzBGQlMwTXNVVUZCVVdsRUxGTkJRVk5zUkN4TFFVRkxReXhSUVVGUmNVTXNVMEZCVXl4TlFVRk5kRU1zUzBGQlMwTXNVVUZCVVhGRExGVkJRVlYwUXl4TFFVRkxReXhSUVVGUlowUXNVMEZCVVN4SFFVRkpMRlZCUVZWeVJDeEZRVUZGSzBZc1MwRkJTek5HTEV0QlFVdERMRkZCUVZGelF5eFJRVUZSZGtNc1MwRkJTME1zVVVGQlVYTkRMRTlCUVU4c1EwRkJRMGdzUlVGQlJYQkRMRXRCUVV0RExGRkJRVkZ6UXl4UFFVRlBSaXhGUVVGRmNrTXNTMEZCUzBNc1VVRkJVWE5ETEZGQlFWRjJReXhMUVVGTFF5eFJRVUZSYzBNc1QwRkJUek5ETEVWQlFVVTRSaXhQUVVGUExFTkJRVU4wUkN4RlFVRkZMRVZCUVVWRExFVkJRVVVzUjBGQlIzSkRMRXRCUVV0RExGRkJRVkZ6UXl4UlFVRlJMRlZCUVZVelF5eEZRVUZGSzBZc1MwRkJTek5HTEV0QlFVdERMRkZCUVZFeVF5eG5Ra0ZCWjBJMVF5eExRVUZMUXl4UlFVRlJNa01zWlVGQlpTeERRVUZETUVRc1NVRkJTWFJITEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTWtRc1RVRkJUWFpITEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTkVRc1QwRkJUM2hITEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTmtRc1MwRkJTM3BITEV0QlFVdERMRkZCUVZFeVF5eG5Ra0ZCWjBJMVF5eExRVUZMUXl4UlFVRlJNa01zWlVGQlpXaEVMRVZCUVVVNFJpeFBRVUZQTEVOQlFVTlpMRWxCUVVrc1JVRkJSVWNzUzBGQlN5eEZRVUZGUml4TlFVRk5MRVZCUVVWRExFOUJRVThzUjBGQlIzaEhMRXRCUVV0RExGRkJRVkV5UXl4blFrRkJaMEkxUXl4TFFVRkxjME1zVjBGQlYzUkRMRXRCUVV0RExGRkJRVkZ4UXl4VFFVRlRMRTFCUVUxMFF5eExRVUZMUXl4UlFVRlJjVU1zVlVGQlZYUkRMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRia01zUzBGQlMwTXNVVUZCVVhGRExGTkJRVk4wUXl4TFFVRkxNRWNzVFVGQlRURkhMRXRCUVV0elF5eFZRVUZWTEZWQlFWVjBReXhMUVVGTFF5eFJRVUZSYTBNc1UwRkJVMFVzUjBGQlJ5eFZRVUZWZWtNc1JVRkJSU3RHTEV0QlFVc3pSaXhMUVVGTFF5eFJRVUZSYTBNc1UwRkJVMFVzUjBGQlIzSkRMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRReXhGUVVGRkxGVkJRVlZ3UXl4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBNc1IwRkJSeXhWUVVGVmVFTXNSVUZCUlN0R0xFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBNc1IwRkJSM0JETEV0QlFVdERMRkZCUVZGclF5eFRRVUZUUlN4RlFVRkZja01zUzBGQlMwTXNVVUZCVVhWRExGZEJRVmRLTEVkQlFVZDJReXhGUVVGRk9FY3NWVUZCVlVNc1MwRkJTME1zU1VGQlNXaElMRVZCUVVVNFJ5eFhRVUZYTEVWQlFVVXNVMEZCVXpOSExFdEJRVXRETEZGQlFWRjNSQ3hQUVVGUExFbEJRVWw2UkN4TFFVRkxReXhSUVVGUmQwUXNVVUZCVVN4VFFVRlRla1FzUzBGQlMwTXNVVUZCVVhkRUxGTkJRVk42UkN4TFFVRkxPRWNzYjBKQlFXMUNMRVZCUVVkcVNDeEZRVUZGT0Vjc1YwRkJWeXhGUVVGRk0wY3NTMEZCUzBNc1VVRkJVWGRFTEU5QlFVODFSQ3hGUVVGRk9FY3NWVUZCVlROSExFdEJRVXNyUnl4VlFVRlZMMGNzUzBGQlMwTXNVVUZCVVhORUxGTkJRVk4yUkN4TFFVRkxaMGdzVVVGQlVTeFRRVUZUYkVnc1IwRkJSeXhOUVVGTkxFTkJRVU15Unl4TFFVRkxMRkZCUVZGR0xFMUJRVTBzVDBGQlQwUXNTVUZCU1N4VFFVRlRSU3hQUVVGUExFMUJRVTF3UlN4RlFVRkZMRWxCUVVsRExFVkJRVVVzUzBGQlMzWkRMRWxCUVVsRkxFdEJRVXRwU0N4UFFVRlBMRk5CUVZOdVNDeEhRVUZITEUxQlFVMHNRMEZCUXpKSExFdEJRVXNzU1VGQlNVWXNUVUZCVFN4SlFVRkpSQ3hKUVVGSkxFbEJRVWxGTEU5QlFVOHNTVUZCU1ZVc1QwRkJUeXhMUVVGTGNFZ3NTVUZCU1VVc1MwRkJTMjFJTEU5QlFVOHNVMEZCVTNKSUxFZEJRVWNzVFVGQlRTeERRVUZETWtjc1MwRkJTeXhQUVVGUFJpeE5RVUZOTEU5QlFVOUVMRWxCUVVrc1RVRkJUVVVzVDBGQlR5eE5RVUZOVlN4UFFVRlBMRTlCUVU4NVJTeEZRVUZGTEU5QlFVOURMRVZCUVVVc1QwRkJUM1pETEVsQlFVbEZMRXRCUVV0dlNDeFJRVUZSTEZOQlFWTjBTQ3hGUVVGRlF5eEhRVUZITEUxQlFVMHNVVUZCVVVRc1JVRkJSU3hQUVVGUFFTeEhRVUZITEZWQlFWVkdMRVZCUVVVclJpeExRVUZMTjBZc1NVRkJTU3hMUVVGTFFTeEZRVUZGZFVnc1QwRkJUeXhIUVVGSGVrZ3NSVUZCUlRaR0xGRkJRVkVzVlVGQlZURkdMRVZCUVVVc1kwRkJZeXhuUWtGQlowSjFTQ3hUUVVGVGVFZ3NSVUZCUlhsSUxGRkJRVkVzU1VGQlNTeExRVUZMTEVsQlFVbDZTQ3hIUVVGSFJTeExRVUZMZDBnc1YwRkJWeXhUUVVGVE1VZ3NSVUZCUlVNc1IwRkJSeXhKUVVGSk1FZ3NSVUZCUlRGQ0xGTkJRVk15UWl4blFrRkJaMElzTmtKQlFUWkNOVWdzUjBGQlJ5eFBRVUZQUml4RlFVRkZLMGdzUzBGQlN6VklMRVZCUVVVc1UwRkJVMFFzUlVGQlJVTXNSMEZCUnpCSUxFVkJRVVZITEdGQlFXRTNTQ3hGUVVGRkxFZEJRVWRCTEVWQlFVVXNTVUZCU1N4TlFVRk5NRWdzUjBGQlIzcElMRXRCUVVzMlNDeGxRVUZsTEZOQlFWTkRMRWRCUVVkQkxFZEJRVWRCTEVWQlFVVkRMRkZCUVZGRUxFVkJRVVZGTEVkQlFVY3NaMFZCUVdkRkxGTkJRVk5zU1N4SFFVRkhMRWxCUVVsRExFVkJRVVZFTEVWQlFVVnRTU3haUVVGWmJra3NSVUZCUlc5SkxHVkJRV1Z3U1N4RlFVRkZiMGtzWTBGQlkwUXNZVUZCWVc1SkxFVkJRVVZ4U1N4UFFVRlBWaXhGUVVGRkxFZEJRVWQ2U0N4TFFVRkxiMGtzVlVGQlZVNHNSVUZCUlU4c1kwRkJZM0pKTEV0QlFVdHpTU3hoUVVGaFF5eEZRVUZGZGtrc1MwRkJTMjlKTEZkQlFWY3NSMEZCUjNKSkxFVkJRVVVzUjBGQlJ6QklMRWRCUVVjc1JVRkJSVEZJTEVkQlFVZDNTU3hKUVVGSmVra3NSVUZCUldsQ0xHOUNRVUZ2UW1Zc1MwRkJTM2RKTEdWQlFXVXNWMEZCVnl4SlFVRkplRWtzUzBGQlMzbEpMR2RDUVVGblFpeFJRVUZSZWtrc1MwRkJTMmRDTEZGQlFWRXNSMEZCUnpCSUxFMUJRVTEyU1N4UlFVRlJTQ3hMUVVGTFowSXNVVUZCVVN4SFFVRkhNRWdzVFVGQlRXNUpMRk5CUVZNc1QwRkJUeXhMUVVGTExFbEJRVWxVTEVWQlFVVXNVVUZCVVVVc1MwRkJTekpKTEZGQlFWRkRMRWxCUVVrc1dVRkJXVFZKTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZWQlFWVXNVMEZCVXpsSkxFVkJRVVZGTEV0QlFVdG5RaXhSUVVGUk5rZ3NZVUZCWVRkSkxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGVkJRVlVzVTBGQlV6bEpMRVZCUVVWRkxFdEJRVXRuUWl4UlFVRlJOa2dzWVVGQllUZEpMRXRCUVV0NVNTeGxRVUZsUnl4SlFVRkpMRU5CUVVOeVNTeFRRVUZUY1Vjc1MwRkJTME1zU1VGQlNTOUhMRVZCUVVWM1NDeFRRVUZUZEVnc1MwRkJTMmRDTEZGQlFWRXNSMEZCUnpCSUxFMUJRVTF1U1N4WlFVRlpMRkZCUVZGUUxFdEJRVXM0U1N4WFFVRlhMRmRCUVZjc1NVRkJTVGxKTEV0QlFVdERMRkZCUVZGdFJTeFZRVUZWTEU5QlFVMHNSVUZCUnl4SlFVRkpkRVVzUlVGQlJTeFRRVUZUUlN4TFFVRkxReXhSUVVGUmJVVXNWVUZCVlhCRkxFdEJRVXQ1U1N4bFFVRmxla2tzUzBGQlMwTXNVVUZCVVcxRkxIRkNRVUZ4UW5oRkxFVkJRVVZKTEV0QlFVdERMRkZCUVZGdFJTeFZRVUZWTEZWQlFWVjRSU3hGUVVGRkswWXNTMEZCU3pOR0xFdEJRVXRETEZGQlFWRnRSU3hYUVVGWGVFVXNSVUZCUlVrc1MwRkJTME1zVVVGQlVXMUZMRmRCUVZkd1JTeExRVUZMTWtrc1VVRkJVU3hWUVVGVk4wa3NSMEZCUjBFc1lVRkJZVVlzUjBGQlIwVXNSVUZCUldsSkxGTkJRVk5xU1N4RlFVRkZNRUlzUzBGQlN5eHhRa0ZCY1VJeFFpeEZRVUZGZDBRc1UwRkJVeXhyUWtGQmEwSTVRaXhMUVVGTExHdENRVUZwUWl4SFFVRkpkMGNzUjBGQlJ5eDFRa0ZCZFVJc1UwRkJVMnhKTEVkQlFVY3NTVUZCU1VNc1JVRkJSVEJJTEVWQlFVVmpMRVZCUVVWVUxFVkJRVVZwUWl4RlFVRkZReXhGUVVGRkxFZEJRVWRzU2l4RlFVRkZiVW9zVVVGQlVYSktMRVZCUVVWRkxFVkJRVVZ2UXl4UlFVRlJaMGdzVTBGQlV5eG5Ra0ZCWjBKMFNpeEZRVUZGUlN4RlFVRkZiME1zVVVGQlVXbElMRkZCUVZFc1owSkJRV2RDY0VJc1QwRkJUeXhqUVVGamFra3NSVUZCUlRaR0xFOUJRVTh2Uml4RlFVRkZSU3hGUVVGRmIwTXNVVUZCVVdkSUxGTkJRVk1zY1VKQlFYRkNkRW9zUlVGQlJVVXNSVUZCUlc5RExGRkJRVkZwU0N4UlFVRlJMSEZDUVVGeFFuQkNMRk5CUVZNdlNDeExRVUZMYjBvc1RVRkJUU3hEUVVGRFF5eGhRVUZaTEV0QlFVMDFRaXhGUVVGRkxHTkJRV016U0N4RlFVRkZOa1lzVFVGQlRUZEdMRVZCUVVWM1NpeFRRVUZUZUVvc1JVRkJSWGRLTEZGQlFWRXNTVUZCU1haS0xFVkJRVVZFTEVWQlFVVjNTaXhSUVVGUkxFZEJRVWRETEUxQlFVMTZTaXhGUVVGRmQwb3NVVUZCVVN4SFFVRkhSU3hSUVVGUmVrb3NSVUZCUlVRc1JVRkJSWGxLTEUxQlFVMTZTaXhGUVVGRk1Fb3NUMEZCVDNoS0xFdEJRVXQ1U2l4bFFVRmxNVW9zUlVGQlJVTXNTMEZCU3pCS0xHVkJRV1ZxUXl4RlFVRkZla2dzUzBGQlMwTXNVVUZCVVc5RkxGZEJRVmR5UlN4TFFVRkxLMGNzVjBGQlYwOHNVMEZCVTNSSUxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGVkJRVlVzUzBGQlN5OUpMRVZCUVVVNFNpeHZRa0ZCYjBJNVNpeEZRVUZGT0Vvc2JVSkJRVzFDTEVWQlFVVXpTaXhMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hUUVVGVEwwa3NSVUZCUlRoS0xHOUNRVUZ2UW5CQ0xFVkJRVVYyU1N4TFFVRkxNa2tzVVVGQlVVNHNZMEZCWTFBc1JVRkJSVGxJTEV0QlFVc3lTU3hSUVVGUlJTeGhRVUZoUlN4RlFVRkZMMGtzUzBGQlN6SkpMRkZCUVZGd1J5eFRRVUZUSzBRc1NVRkJTV2xETEVWQlFVVmtMRVZCUVVWMVFpeEZRVUZGYUVvc1MwRkJTekpKTEZGQlFWRndSeXhUUVVGVGEwVXNTMEZCUzNGQ0xFVkJRVVV2U0N4RlFVRkZTQ3hGUVVGRmJVY3NWVUZCVldsRExFZEJRVWNzTkVKQlFUUkNhRWtzUzBGQlMwVXNSMEZCUnl3MlFrRkJOa0pHTEV0QlFVdEZMRWRCUVVjc1UwRkJVMG9zUjBGQlJ5eEpRVUZKUXl4RlFVRkZSQ3hGUVVGRkxHRkJRV0ZCTEVWQlFVVTJSaXhOUVVGTk4wWXNSVUZCUlhkS0xGTkJRVk40U2l4RlFVRkZkMG9zVVVGQlVTeEpRVUZKZGtvc1JVRkJSVVFzUlVGQlJYZEtMRkZCUVZFc1IwRkJSME1zVFVGQlRYcEtMRVZCUVVWM1NpeFJRVUZSTEVkQlFVZEZMRkZCUVZGNlNpeEZRVUZGUkN4RlFVRkZlVW9zVFVGQlRYcEtMRVZCUVVVd1NpeFBRVUZQZUVvc1MwRkJTelJLTEZWQlFWVTFTaXhMUVVGTGVVb3NaMEpCUVdkQ01Vb3NSMEZCUjBNc1MwRkJTekJLTEdkQ1FVRm5RalZLTEVsQlFVbEZMRXRCUVV0dFJ5eFhRVUZYTEdWQlFXVnVSeXhMUVVGTE5Fb3NWVUZCVXl4SFFVRkpOVW9zUzBGQlN6SkpMRkZCUVZGd1J5eFBRVUZQTEVOQlFVTXJSQ3hKUVVGSmVFY3NSVUZCUldsS0xFVkJRVVZTTEVWQlFVVTVRaXhMUVVGTE1VY3NSVUZCUldsS0xFVkJRVVZzUWl4TFFVRkxNVUlzUzBGQlMzQkhMRTlCUVU5R0xFVkJRVVZwUWl4dFFrRkJiVUp4Uml4TFFVRkxjRWNzVDBGQlQyZEpMRWRCUVVjc2JVSkJRVzFDTEZkQlFWY3NTVUZCU1d4SkxFVkJRVVZHTEVWQlFVVnRSeXhWUVVGVk9FUXNTVUZCU1N3MFFrRkJORUkzU2l4TFFVRkxSU3hIUVVGSExEWkNRVUUyUWtZc1MwRkJTMFVzU1VGQlNVWXNTMEZCU3pSS0xGVkJRVlUxU2l4TFFVRkxiVWNzVjBGQlZ5eGhRVUZoYmtjc1MwRkJTelJLTEZWQlFWTXNSVUZCUnl4VFFVRlROVW9zUzBGQlN6SkdMRTFCUVUwc1YwRkJWek5HTEV0QlFVc3lSaXhQUVVGUE0wWXNTMEZCUzBNc1VVRkJVU3RETEdWQlFXVnNSQ3hGUVVGRkxFTkJRVU56UXl4SFFVRkhkRU1zUlVGQlJVWXNSVUZCUlN4SlFVRkpTU3hMUVVGTFJTeEpRVUZKY1VNc1ZVRkJWV3RGTEV0QlFVczNSeXhGUVVGRmJVY3NWVUZCVlN0RUxHRkJRV0Y2U0N4RlFVRkZka01zUlVGQlJYZEhMRWxCUVVreFJ5eEZRVUZGYlVjc1ZVRkJWWEZETEdGQlFXRndTU3hMUVVGTGJVTXNVMEZCVXl4RFFVRkRRU3hUUVVGVGNrTXNSVUZCUlhsRExFOUJRVThzUTBGQlEwZ3NSVUZCUlN4RlFVRkZReXhGUVVGRkxFOUJRVThyUkN4TFFVRkxjRWNzVDBGQlQwRXNTMEZCU3l0SExGbEJRVmxzU0N4RlFVRkZPRW9zYTBKQlFXdENPVW9zUlVGQlJUaEtMR3RDUVVGclFpOURMRXRCUVV0RExFbEJRVWxvU0N4RlFVRkZPRW9zYTBKQlFXdENNMG9zUzBGQlMwTXNVVUZCVVhkRUxGRkJRVkY2UkN4TFFVRkxReXhSUVVGUmQwUXNVVUZCVVhwRUxFOUJRVTlCTEV0QlFVc3JTaXhSUVVGUkxGZEJRVmNzU1VGQlNXcExMRVZCUVVWRkxFdEJRVXN5U1N4VlFVRlZNMGtzUzBGQlN6SkpMRkZCUVZFdlNTeEZRVUZGTEZOQlFWTXNRMEZCUTAwc1IwRkJSMFlzUzBGQlMwVXNSMEZCUnpoS0xFMUJRVTBzWjBKQlFXZENhRXNzUzBGQlN6SkdMRXRCUVVzc1UwRkJVek5HTEV0QlFVc3lSaXhMUVVGTExFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmIwUXNUVUZCVFN4VFFVRlRja1FzUzBGQlMwTXNVVUZCVVc5RUxFMUJRVTBzUzBGQlMzSkVMRXRCUVV0RExGRkJRVkZ4UkN4VFFVRlRMRWxCUVVsMFJDeExRVUZMUXl4UlFVRlJjVVFzVTBGQlV5eE5RVUZOYzBZc1NVRkJTU3hEUVVGRGVrY3NVMEZCVTI1RExFdEJRVXRETEZGQlFWRjNReXhOUVVGTkxGRkJRVkVzVjBGQlYzZElMRkZCUVZFc1QwRkJUME1zVVVGQlVTeEZRVUZGZWtjc1QwRkJUM3BFTEV0QlFVdERMRkZCUVZGM1JDeFRRVUZUYWtNc1MwRkJTeXhQUVVGUGVFSXNUVUZCVFVFc1MwRkJTME1zVVVGQlVUWkVMRzFDUVVGdFFqbEVMRXRCUVVzeVNTeFJRVUZSV0N4SFFVRkhMR0ZCUVdFc1UwRkJVMnhKTEVsQlFVbEZMRXRCUVV0dFN5eFJRVUZSY2tzc1JVRkJSWE5MTEdWQlFXVndTeXhMUVVGTGJVc3NUMEZCVHl4TFFVRkxMRWxCUVVsMlN5eEZRVUZGZVVzc1VVRkJVWEpMTEV0QlFVdHRTeXhQUVVGUExFZEJRVWQyU3l4RlFVRkZSU3hGUVVGRmMwc3NaVUZCWldwQ0xGRkJRVkVzVDBGQlQyNUtMRXRCUVV0dlNpeFRRVUZUYUVRc1MwRkJTM0JITEU5QlFVOHNUMEZCVDBFc1MwRkJTME1zVVVGQlVUUkVMR05CUVdNM1JDeExRVUZMTWtrc1VVRkJVVmdzUjBGQlJ5eFpRVUZaTEZkQlFWZG9TU3hMUVVGTGIwb3NUVUZCVFN4RFFVRkRReXhoUVVGWkxFdEJRVTFxUkN4TFFVRkxjRWNzVDBGQlQwRXNTMEZCUzNOTExGVkJRVlV4U3l4RlFVRkZMR2xEUVVGcFEyOUZMRk5CUVZOb1JTeExRVUZMTWtrc1UwRkJVek5KTEV0QlFVdG5RaXhSUVVGUmNFSXNSVUZCUlN3clFrRkJLMEp2UlN4VFFVRlRhRVVzUzBGQlMzTkxMRmRCUVZkMFN5eExRVUZMUXl4UlFVRlJiVUlzVTBGQlUzQkNMRXRCUVV0dlFpeFBRVUZQZUVJc1JVRkJSU3c0UWtGQk9FSXlTeXhQUVVGUGRrc3NTMEZCUzBNc1VVRkJVVzFDTEZGQlFWRTBReXhUUVVGVGFFVXNTMEZCUzNOTExGbEJRVmwwU3l4TFFVRkxReXhSUVVGUmIwSXNaVUZCWlhKQ0xFdEJRVXMyU0N4bFFVRmxOMGdzUzBGQlMyZENMRk5CUVZOb1FpeExRVUZMUXl4UlFVRlJPRVFzWlVGQlpXcEZMRVZCUVVWRkxFdEJRVXQzU0N4WFFVRlhMRTFCUVUwc1EwRkJReXhEUVVGRExGVkJRVlVzWjBKQlFXZENaMFFzV1VGQldYaExMRXRCUVV0M1NDeFhRVUZYTEU5QlFVOHNRMEZCUXl4RFFVRkRMRWxCUVVrc2IxRkJRVzlSZUVnc1MwRkJTeXRFTEZsQlFWbHVSU3hGUVVGRkxDdERRVUVyUTI5SkxFZEJRVWNzV1VGQldTeFRRVUZUYkVrc1IwRkJSMFVzUzBGQlMyOUtMRTFCUVUwc1EwRkJRME1zWVVGQldTeExRVUZOYWtRc1MwRkJTM0JITEU5QlFVOTFTeXhQUVVGUGVrc3NSMEZCUnl4UFFVRlBSU3hMUVVGTFF5eFJRVUZST0VRc1pVRkJZeXhKUVVGTEwwUXNTMEZCUzBNc1VVRkJVVGhFTEdGQlFXRXZSQ3hMUVVGTFF5eFJRVUZSYzBRc1UwRkJVM1pFTEV0QlFVdERMRkZCUVZGcFFpeFBRVUZQYkVJc1MwRkJTME1zVVVGQlVXdENMRmxCUVZsdVFpeExRVUZMTWtrc1VVRkJVWEpHTEZOQlFWTXNkMEpCUVhkQ2RFUXNTMEZCU3l0RUxGbEJRVmxETEZOQlFWTm9SU3hMUVVGTGMwc3NZVUZCWVhSTExFdEJRVXN5U1N4UlFVRlJNMFVzVTBGQlUyaEZMRXRCUVV0RExGRkJRVkVyUkN4VlFVRlZhRVVzUzBGQlN6SkpMRkZCUVZFNFFpeExRVUZMTEhGQ1FVRnhRakZETEZGQlFWRnVTU3hGUVVGRkswZ3NTMEZCU3l4RFFVRkRMRTFCUVUwc1VVRkJVU3hUUVVGVExGRkJRVkVzVTBGQlV6ZElMRVZCUVVWRExFZEJRVWRETEV0QlFVc3lTU3hSUVVGUk9FSXNTMEZCU3l4eFFrRkJjVUkzUWl4SlFVRkpOMGtzU1VGQlNTeFJRVUZSUXl4TFFVRkxNa2tzVVVGQlVUaENMRXRCUVVzc2NVSkJRWEZDTjBJc1NVRkJTVGRKTEV0QlFVdERMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxOME1zUjBGQlJ6WkhMRXRCUVV0RExFbEJRVWszUnl4TFFVRkxReXhSUVVGUk1rTXNaVUZCWlRkRExFZEJRVWRETEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTjBNc1NVRkJTU3hKUVVGSmRVZ3NVMEZCVTNSSUxFdEJRVXN5U1N4UlFVRlJPRUlzUzBGQlN5eHhRa0ZCY1VJM1FpeEpRVUZKTjBrc1MwRkJTeXhKUVVGSmRVZ3NVMEZCVTNSSUxFdEJRVXR6U3l4VlFVRlZNVUlzU1VGQlNTeFZRVUZWTjBrc1JVRkJSU3haUVVGWkxFOUJRVTl4Unl4TFFVRkxjRWNzVDBGQlQwRXNTMEZCUzBNc1VVRkJVV2RFTEZWQlFWVnFSQ3hMUVVGTGFVUXNVVUZCVVN4RFFVRkRaQ3hUUVVGVExGVkJRVlZ1UXl4TFFVRkxReXhSUVVGUmFVUXNVVUZCVVd4RUxFdEJRVXRETEZGQlFWRnBSQ3hSUVVGUmJFUXNTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxjME1zVTBGQlUyOUpMRWRCUVVjc1ZVRkJWVEZMTEV0QlFVdERMRkZCUVZGcFJDeFJRVUZSYkVRc1MwRkJTMmxJTEU5QlFVOXFTQ3hMUVVGTFF5eFJRVUZSYVVRc1UwRkJVMnhFTEV0QlFVdHBTQ3hQUVVGUGFrZ3NTMEZCUzNORExGTkJRVk52UlN4TlFVRk5MRk5CUVZOdVJTeFBRVUZQTEVkQlFVZDJReXhMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2U3l4RlFVRkZMSGxEUVVGNVEwa3NTMEZCUzJsRUxGRkJRVkZrTEZOQlFWTXNUMEZCVHpaQ0xGTkJRVk5vUlN4TFFVRkxNa2tzVTBGQlV6TkpMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWeXhEUVVGRGVFa3NSVUZCUlhCRExFdEJRVXRwUkN4UlFVRlJNRWdzVVVGQlVUbENMR0ZCUVdGNFJ5eEZRVUZGY2tNc1MwRkJTMmxFTEZGQlFWRXdTQ3hSUVVGUmRFTXNaVUZCWlN4VlFVRlZla2tzUlVGQlJTdEdMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJaMFFzV1VGQldXNUVMRVZCUVVWRkxFdEJRVXRETEZGQlFWRm5SQ3hSUVVGUk5FTXNUVUZCVFN4TlFVRk5MRXRCUVVzM1JpeExRVUZMYVVRc1VVRkJVWGxFTEUxQlFVMDFSeXhGUVVGRkxFbEJRVWxCTEVWQlFVVXNTMEZCUzBVc1MwRkJTMmxFTEZGQlFWRldMRTlCUVU4clJTeFRRVUZUZUVnc1JVRkJSU3hOUVVGTlJTeExRVUZMYVVRc1VVRkJVVFJJTEdWQlFXVXNTMEZCU3pkTExFdEJRVXRwUkN4UlFVRlJlVWdzUjBGQlJ5eFZRVUZWTVVzc1MwRkJTMmxFTEZGQlFWRjVSQ3hOUVVGTkxGTkJRVk1zVFVGQlRTeFRRVUZUTVVjc1MwRkJTMmxFTEZGQlFWRjVSQ3hOUVVGTkxGRkJRVkVzVDBGQlR6RkhMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRmRCUVZjMVNTeExRVUZMYVVRc1VVRkJVV1FzVTBGQlUyNURMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWelZMTEV0QlFVdHBSQ3hSUVVGUmVVZ3NTMEZCU3pGTExFdEJRVXRwUkN4UlFVRlJNRWdzVVVGQlVTOUNMRWxCUVVrMVNTeExRVUZMYVVRc1VVRkJVVFJJTEdWQlFXVXNWVUZCVlRkTExFdEJRVXRwUkN4UlFVRlJlVVFzVFVGQlRTeE5RVUZOTEVkQlFVZHJReXhKUVVGSkxGVkJRVlUxU1N4TFFVRkxhVVFzVVVGQlVUUklMR1ZCUVdVM1N5eExRVUZMYVVRc1VVRkJVVllzVVVGQlVYWkRMRXRCUVV0cFJDeFJRVUZSTmtnc1QwRkJUeXhIUVVGSE9Vc3NTMEZCUzJsRUxGRkJRVkUyU0N4UFFVRlBMRlZCUVZVNVN5eExRVUZMYVVRc1VVRkJVVFJJTEdkQ1FVRm5RamRMTEV0QlFVdHBSQ3hSUVVGUlZpeFBRVUZQTEZWQlFWVjJReXhMUVVGTGFVUXNVVUZCVVhsRUxFOUJRVTh4Unl4TFFVRkxhVVFzVVVGQlVUQklMRkZCUVZFdlFpeEpRVUZKTEZsQlFWa3NZMEZCWXl4TFFVRkxOVWtzUzBGQlMybEVMRkZCUVZGNVNDeEpRVUZKTEVkQlFVY3hTeXhMUVVGTGFVUXNVVUZCVVRKSUxGZEJRVmQ0U1N4RlFVRkZMRXRCUVVzc1IwRkJSeXhOUVVGTkxFdEJRVXR3UXl4TFFVRkxhVVFzVVVGQlVYbElMRWxCUVVrc1IwRkJSekZMTEV0QlFVdHBSQ3hSUVVGUk1rZ3NWMEZCVjNaSkxFVkJRVVVzUzBGQlN5eEhRVUZITEV0QlFVdHlReXhMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2UWl4SlFVRkpMRXRCUVVzMVNTeExRVUZMYVVRc1VVRkJVWGxJTEVkQlFVY3NVVUZCVVN4VFFVRlRjRVFzVTBGQlUzUklMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWelZMTEV0QlFVdHBSQ3hSUVVGUmVVZ3NTMEZCUzNCRUxGTkJRVk4wU0N4TFFVRkxjMHNzVlVGQlZURkNMRWxCUVVrc1ZVRkJWVFZKTEV0QlFVdHBSQ3hSUVVGUk5FZ3NaVUZCWlN4WlFVRlpOMHNzUzBGQlN6SkpMRkZCUVZGeVJpeFRRVUZUTEhkQ1FVRjNRblJFTEV0QlFVdHBSQ3hSUVVGUlpDeFhRVUZYYmtNc1MwRkJTelJDTEZkQlFWYzFRaXhMUVVGTFF5eFJRVUZSWlN4VFFVRlJMRWRCUVVsb1FpeExRVUZMSzBzc1UwRkJVeTlMTEV0QlFVdERMRkZCUVZGcFFpeFBRVUZOTEVkQlFVbHNRaXhMUVVGTFF5eFJRVUZSYlVVc1YwRkJWM0JGTEV0QlFVczRTU3hoUVVGaE9Va3NTMEZCUzIxSExGZEJRVmNzWlVGQlpXNUhMRXRCUVV0RExGRkJRVkZuUlN4alFVRmpha1VzUzBGQlN5dEtMRlZCUVZVdlNpeExRVUZMUXl4UlFVRlJXU3hSUVVGUllpeExRVUZMWVN4VFFVRlRZaXhMUVVGTFowd3NZMEZCWXl4WFFVRlhhRXdzUzBGQlMwTXNVVUZCVVhORkxHTkJRV016UlN4RlFVRkZMRWxCUVVsSkxFdEJRVXRGTEVsQlFVazRTQ3hIUVVGSExHRkJRV0VzVTBGQlUyeEpMRWRCUVVkRkxFdEJRVXRwVEN4WFFVRlZMRWRCUVVrM1JTeExRVUZMY0Vjc1QwRkJUMEVzUzBGQlMwTXNVVUZCVVhORkxHTkJRV016UlN4RlFVRkZMRWxCUVVsSkxFdEJRVXRGTEVsQlFVazRTQ3hIUVVGSExHRkJRV0VzVTBGQlUyeEpMRWRCUVVkRkxFdEJRVXRwVEN4WFFVRlZMRWRCUVVrM1JTeExRVUZMY0Vjc1VVRkJVVUVzUzBGQlMwTXNVVUZCVVhsRExHZENRVUZuUWpGRExFdEJRVXRETEZGQlFWRTBReXhqUVVGak4wTXNTMEZCUzNsRExFOUJRVTk2UXl4TFFVRkxjME1zVlVGQlZYUkRMRXRCUVV0RExGRkJRVkV3UXl4bFFVRmxMME1zUlVGQlJUWkdMRkZCUVZGMVF5eEhRVUZITEdWQlFXVm9TU3hMUVVGTFJTeEhRVUZITEZOQlFWTktMRWRCUVVkRkxFdEJRVXR0UXl4WlFVRlphVVVzUzBGQlMzQkhMRkZCUVZGQkxFdEJRVXRETEZGQlFWRjVReXhuUWtGQlowSXhReXhMUVVGTFF5eFJRVUZSTkVNc1lVRkJZV3BFTEVWQlFVVTJSaXhSUVVGUmRVTXNSMEZCUnl4bFFVRmxhRWtzUzBGQlMwVXNSMEZCUnl4VFFVRlRTaXhIUVVGSFJTeExRVUZMYlVNc1dVRkJXV2xGTEV0QlFVdHdSeXhSUVVGUkxGTkJRVk5CTEV0QlFVdERMRkZCUVZGcFF5eFJRVUZSZEVNc1JVRkJSU3hSUVVGUmIwa3NSMEZCUnl4clFrRkJhMEpvU1N4TFFVRkxSU3hIUVVGSExGTkJRVk5LTEVkQlFVZEZMRXRCUVV0dFF5eFRRVUZUTEVOQlFVTXJTU3haUVVGWkxFTkJRVU0xUlN4SlFVRkplRWNzUlVGQlJUQktMRTFCUVUwdlF5eExRVUZMTTBjc1JVRkJSWGxLTEZWQlFWVnVSQ3hMUVVGTGNFY3NVVUZCVVVFc1MwRkJTMjFNTEdOQlFXTXNWMEZCVjI1TUxFdEJRVXRETEZGQlFWRXlSQ3haUVVGWmFFVXNSVUZCUlcxSExGVkJRVlU0UkN4SlFVRkpMR05CUVdNM1NpeExRVUZMUlN4TFFVRkpMRWxCUVV0R0xFdEJRVXRETEZGQlFWRTBSQ3hqUVVGakxGRkJRVkUzUkN4TFFVRkxReXhSUVVGUk5FUXNZMEZCWTJwRkxFVkJRVVZ0Unl4VlFVRlZPRVFzU1VGQlNTeGpRVUZqTjBvc1MwRkJTMFVzUjBGQlJ5eGhRVUZoUml4TFFVRkxSU3hKUVVGSlJpeExRVUZMUXl4UlFVRlJNRU1zWlVGQlpTOURMRVZCUVVVMlJpeFJRVUZSYjBVc1NVRkJTU3hsUVVGbE4wb3NTMEZCUzBVc1MwRkJTMFlzUzBGQlMwTXNVVUZCVVhsRExHZENRVUZuUWpGRExFdEJRVXRETEZGQlFWRTBReXhoUVVGaGFrUXNSVUZCUlRaR0xGRkJRVkZ2UlN4SlFVRkpMR1ZCUVdVM1NpeExRVUZMUlN4SlFVRkpMRk5CUVZOR0xFdEJRVXRETEZGQlFWRnBReXhSUVVGUmRFTXNSVUZCUlN4UlFVRlJhVXNzU1VGQlNTeHJRa0ZCYTBJM1NpeExRVUZMUlN4TFFVRkxSaXhMUVVGTGIwd3NZVUZCWVN4WFFVRlhjRXdzUzBGQlMzVkVMRlZCUVZWMlJDeExRVUZMZFVRc1VVRkJVVE5FTEVWQlFVVXNXVUZCV1Vrc1MwRkJTMFVzUjBGQlJ5eGxRVUZsYjBRc1UwRkJVeXhuUWtGQlowSjBSQ3hMUVVGTE1rWXNTMEZCU3l4cFFrRkJhVUl6Uml4TFFVRkxNa1lzUzBGQlN5eExRVUZMYVVRc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4UFFVRlBReXhSUVVGUkxFVkJRVVY2Unl4UFFVRlBla1FzUzBGQlMwTXNVVUZCVVhkRUxFOUJRVThzU1VGQlNVOHNVMEZCVTJoRkxFdEJRVXRETEZGQlFWRXJSQ3hWUVVGVmFFVXNTMEZCUzBNc1VVRkJVWFZFTEdOQlFXTjRSQ3hMUVVGTGRVUXNVVUZCVVVRc1UwRkJVM1JFTEV0QlFVdERMRkZCUVZGMVJDeGpRVUZqTEZkQlFWZDRSQ3hMUVVGTFF5eFJRVUZST0VRc1kwRkJZU3hKUVVGTEwwUXNTMEZCUzBNc1VVRkJVVGhFTEdGQlFXRXZSQ3hMUVVGTGRVUXNVVUZCVVdkSUxFOUJRVTkyU3l4TFFVRkxLMFFzWVVGQllTeFhRVUZYTDBRc1MwRkJTME1zVVVGQlVUUkVMR05CUVdNM1JDeExRVUZMZFVRc1VVRkJVWGxGTEVkQlFVY3NXVUZCV1N4WFFVRlhhRWtzUzBGQlMyOUtMRTFCUVUwc1EwRkJRME1zWVVGQldTeExRVUZOYWtRc1MwRkJTM0JITEU5QlFVOUtMRVZCUVVVc1NVRkJTVWtzUzBGQlMwVXNSMEZCUnl3NFFrRkJPRUkyU0N4VFFVRlRMMGdzUzBGQlMwTXNVVUZCVVRKRExHVkJRV1V3UkN4SlFVRkpUU3hMUVVGTFF5eEpRVUZKYWtnc1JVRkJSU3hKUVVGSlNTeExRVUZMUlN4SFFVRkhMRGhDUVVFNFFtMUpMR05CUVdOeVNTeExRVUZMUXl4UlFVRlJNa01zWlVGQlpUQkVMRkZCUVU4c1NVRkJTM1JITEV0QlFVczRSeXh2UWtGQmIwSTVSeXhMUVVGTGRVUXNVVUZCVVhGR0xFbEJRVWtzVTBGQlUzUkNMRk5CUVZOMFNDeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeFZRVUZWTEVsQlFVa3NSMEZCUnl4VFFVRlROVWtzUzBGQlMzVkVMRkZCUVZGeFJpeEpRVUZKTEdGQlFXRTFTU3hMUVVGTFF5eFJRVUZSYTBRc1MwRkJTMjVFTEV0QlFVdDFSQ3hSUVVGUk9FZ3NVVUZCVVhKTUxFdEJRVXQxUkN4UlFVRlJLMGdzVVVGQlVTeERRVUZEY0VJc1VVRkJVU3hIUVVGSExFTkJRVU54UWl4UFFVRk5MRVZCUVVkRExGTkJRVk40VEN4TFFVRkxReXhSUVVGUmEwUXNTMEZCUzNOSkxFMUJRVTBzVjBGQlYzcE1MRXRCUVV0MVJDeFJRVUZSY1VZc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4WFFVRlhOMFFzUzBGQlMzQkhMRkZCUVZGQkxFdEJRVXQxUkN4UlFVRlJjVVlzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hSUVVGUlF5eFJRVUZSTEUxQlFVMXNTeXhMUVVGTE1Fd3NZVUZCWVN4WFFVRlhNVXdzUzBGQlMzVkVMRlZCUVZWMlJDeExRVUZMUXl4UlFVRlJhMFFzUzBGQlMyNUVMRXRCUVV0MVJDeFJRVUZST0Vnc1VVRkJVWEpNTEV0QlFVdDFSQ3hSUVVGUkswZ3NVVUZCVVN4RFFVRkRjRUlzVVVGQlVTeEhRVUZITEVOQlFVTnhRaXhQUVVGTkxFVkJRVWRETEZOQlFWTjRUQ3hMUVVGTFF5eFJRVUZSYTBRc1MwRkJTM2RKTEZOQlFWTXNWMEZCVnpOTUxFdEJRVXQxUkN4UlFVRlJjVVlzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hWUVVGVk4wUXNTMEZCUzNCSExGRkJRVkZCTEV0QlFVdDFSQ3hSUVVGUmNVWXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFBRVUZQUXl4UlFVRlJMRTFCUVUxc1N5eExRVUZMTkV3c2EwSkJRV3RDTEZkQlFWYzFUQ3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hEUVVGRGRFTXNTMEZCU3l4SlFVRkpSeXhOUVVGTkxFbEJRVWxHTEUxQlFVMHNUMEZCVDBNc1QwRkJUeXhUUVVGVExFbEJRVWt4Unl4RlFVRkZMRU5CUVVOelF5eEZRVUZGY0VNc1MwRkJTekpKTEZGQlFWRkZMR0ZCUVdGNFJ5eEZRVUZGY2tNc1MwRkJTekpKTEZGQlFWRk9MR1ZCUVdVc1QwRkJUM0pKTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEVOQlFVTjBReXhKUVVGSkxFOUJRVTlITEV0QlFVc3NVMEZCVXpOSExFZEJRVWRGTEV0QlFVczJUQ3h6UWtGQmMwSXNWMEZCVnl4SFFVRkhMRlZCUVZWcVRTeEZRVUZGSzBZc1MwRkJTek5HTEV0QlFVdERMRkZCUVZGdFJDeGhRVUZoY0VRc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZVc1EwRkJRekJKTEUxQlFVMHNRMEZCUTBNc1MwRkJTeXhSUVVGUk0wTXNUVUZCVFN4WFFVRlhORU1zVDBGQlR5eERRVUZEUkN4TFFVRkxMRk5CUVZNelF5eE5RVUZOTEZWQlFWVTJReXhSUVVGUkxFTkJRVU5HTEV0QlFVc3NWVUZCVlRORExFMUJRVTBzVjBGQlZ6aERMRXRCUVVzc1EwRkJRMGdzUzBGQlN5eFBRVUZQTTBNc1RVRkJUU3hSUVVGUkswTXNUVUZCVFN4RFFVRkRTaXhMUVVGTExGRkJRVkV6UXl4TlFVRk5MRk5CUVZOblJDeExRVUZMTEVOQlFVTk1MRXRCUVVzc1QwRkJUek5ETEUxQlFVMHNVVUZCVVdsRUxFdEJRVXNzUTBGQlEwNHNTMEZCU3l4UFFVRlBNME1zVFVGQlRTeFpRVUZaY0Vvc1MwRkJTME1zVVVGQlVXMUVMR0ZCUVdGd1JDeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZTeFBRVUZQTEV0QlFVdHdSQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEU5QlFVOHZUQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEV0QlFVc3ZUQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEV0QlFVdHNSeXhOUVVGTkxFMUJRVTAzUml4TFFVRkxReXhSUVVGUmJVUXNWVUZCVldkSExGRkJRVkZ3U2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVldkSExFMUJRVTF3U2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVldkSExFMUJRVTEyUkN4TlFVRk5MRTFCUVUwM1JpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXdEtMR05CUVdOMFRTeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZUSkpMRXRCUVVzc1NVRkJTU3hMUVVGTEwwd3NTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVnRTaXhsUVVGbGRrMHNTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVm5SeXhOUVVGTkxFbEJRVWtzUzBGQlMzQktMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZNa2tzVDBGQlR5OU1MRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZNa2tzUzBGQlN5OU1MRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZNa2tzUzBGQlN5eEpRVUZKTDB3c1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWblJ5eFJRVUZSY0Vvc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWblJ5eE5RVUZOY0Vvc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWblJ5eE5RVUZOTEVsQlFVbHdTaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEU5QlFVOHZUQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEUxQlFVMHNVVUZCVVM5TUxFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVlowY3NVVUZCVVhCS0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVlowY3NUMEZCVHl4VFFVRlRMRWxCUVVsS0xFVkJRVVVzUTBGQlF6aERMRTFCUVUwc1EwRkJRMDRzVTBGQlV5eEpRVUZKTlVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUzBGQlN5eFpRVUZaTEVOQlFVTXNUVUZCVFN4alFVRmpMRU5CUVVNc1QwRkJUeXhqUVVGak5FUXNWMEZCVnl4RFFVRkRhRUlzVTBGQlUzaE1MRXRCUVV0RExGRkJRVkZyUkN4TlFVRk5MRWxCUVVsNVJpeEpRVUZKTEVOQlFVTXNRMEZCUXl4TFFVRkxMR05CUVdNc1EwRkJReXhQUVVGUExHTkJRV00yUkN4WlFVRlpMRU5CUVVOcVFpeFRRVUZUZUV3c1MwRkJTME1zVVVGQlVXdEVMRTFCUVUwc1NVRkJTWGxHTEVsQlFVa3NRMEZCUXl4RFFVRkRMRXRCUVVzc1dVRkJXU3hEUVVGRExFOUJRVThzWjBKQlFXZENPRVFzV1VGQldTeERRVUZEYkVJc1UwRkJVM2hNTEV0QlFVdERMRkZCUVZGclJDeE5RVUZOTEVsQlFVbDVSaXhKUVVGSkxFTkJRVU1zUTBGQlF5eExRVUZMTEdOQlFXTXNRMEZCUXl4UFFVRlBMR05CUVdNclJDeGhRVUZoTEVOQlFVTnVRaXhUUVVGVGVFd3NTMEZCUzBNc1VVRkJVV3RFTEUxQlFVMHNTVUZCU1hsR0xFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NXVUZCV1N4RFFVRkRMRTlCUVU4c1owSkJRV2RDWjBVc1UwRkJVeXhEUVVGRGNFSXNVMEZCVTNoTUxFdEJRVXRETEZGQlFWRnJSQ3hOUVVGTkxFbEJRVWt3U2l4VlFVRlZMRU5CUVVOMlJ5eEpRVUZKTEVOQlFVTjNSeXhOUVVGTkxFbEJRVWwyUnl4TlFVRk5MRU5CUVVOMVJ5eExRVUZMTEVsQlFVbDBSeXhQUVVGUExFTkJRVU56Unl4TFFVRkxMRWxCUVVseVJ5eExRVUZMTEVOQlFVTnhSeXhOUVVGTkxFdEJRVXRzUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhMUVVGTExITkNRVUZ6UWl4RFFVRkRMRTlCUVU4c2RVSkJRWFZDYlVVc1ZVRkJWU3hEUVVGRGRrSXNVMEZCVTNoTUxFdEJRVXRETEZGQlFWRnJSQ3hOUVVGTkxFbEJRVWsyU2l4UFFVRlBMRlZCUVZWSUxGVkJRVlVzUTBGQlEzWkhMRWxCUVVrc1EwRkJRekpITEZGQlFWRXNTVUZCU1RGSExFMUJRVTBzUTBGQlF6QkhMRTlCUVU4c1NVRkJTWHBITEU5QlFVOHNRMEZCUTNsSExFOUJRVThzU1VGQlNYaEhMRXRCUVVzc1EwRkJRM2RITEZGQlFWRXNTMEZCUzNKRkxFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NjVUpCUVhGQ0xFTkJRVU1zVDBGQlR5eDNRa0ZCZDBKelJTeFZRVUZWTEVOQlFVTXhRaXhUUVVGVExFbEJRVWx4UWl4VlFVRlZMRU5CUVVOMlJ5eEpRVUZKTEVOQlFVTjNSeXhOUVVGTkxFdEJRVXQyUnl4TlFVRk5MRU5CUVVOMVJ5eExRVUZMTEV0QlFVdDBSeXhQUVVGUExFTkJRVU56Unl4TFFVRkxMRXRCUVV0eVJ5eExRVUZMTEVOQlFVTnhSeXhOUVVGTkxFMUJRVTFzUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhMUVVGTExITkNRVUZ6UWl4RFFVRkRMRTlCUVU4c2RVSkJRWFZDZFVVc1YwRkJWeXhEUVVGRE0wSXNVMEZCVXl4SlFVRkpkMElzVDBGQlR5eFZRVUZWU0N4VlFVRlZMRU5CUVVOMlJ5eEpRVUZKTEVOQlFVTXlSeXhSUVVGUkxFdEJRVXN4Unl4TlFVRk5MRU5CUVVNd1J5eFBRVUZQTEV0QlFVdDZSeXhQUVVGUExFTkJRVU41Unl4UFFVRlBMRXRCUVV0NFJ5eExRVUZMTEVOQlFVTjNSeXhSUVVGUkxFMUJRVTF5UlN4SlFVRkpMRU5CUVVNc1EwRkJReXhMUVVGTExIRkNRVUZ4UWl4RFFVRkRMRTlCUVU4c2QwSkJRWGRDZDBVc1UwRkJVeXhEUVVGRE5VSXNVMEZCVXl4SlFVRkpOVU1zU1VGQlNTeERRVUZETEVOQlFVTXNTMEZCU3l4eFEwRkJjVU1zUTBGQlF5eE5RVUZOTEhORFFVRnpReXhEUVVGRExFMUJRVTBzY1VOQlFYRkRMRU5CUVVNc1QwRkJUeXh6UTBGQmMwTjVSU3hWUVVGVkxFTkJRVU0zUWl4VFFVRlRlRXdzUzBGQlMwTXNVVUZCVVd0RUxFMUJRVTBzU1VGQlNYbEdMRWxCUVVrc1EwRkJReXhEUVVGRExFdEJRVXNzYjBOQlFXOURMRU5CUVVNc1QwRkJUeXgxUTBGQmRVTjVSQ3hMUVVGTExFTkJRVU5pTEZOQlFWTXNTVUZCU1RWRExFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NXVUZCV1N4RFFVRkRMRmRCUVZjc05FSkJRVFJDTEVOQlFVTXNjVUpCUVhGQ0xESkNRVUV5UWl4RFFVRkRMR2RDUVVGblFpdzBRa0ZCTkVJc1EwRkJReXhQUVVGUExIbENRVUY1UW1oS0xFVkJRVVVyU0N4TFFVRkxMRU5CUVVNc1VVRkJVU3hSUVVGUkxGTkJRVk0zU0N4RlFVRkZReXhIUVVGSGFVb3NSVUZCUldwS0xFVkJRVVVzVVVGQlVXbEtMRVZCUVVWcVNpeEZRVUZGTEZOQlFWTnBTaXhGUVVGRmFrb3NTMEZCU3l4SlFVRkpkMGtzUlVGQlJTeFRRVUZUUVN4RlFVRkZWQ3hIUVVGSExFbEJRVWxwUWl4RlFVRkZMRzFDUVVGdFFpOUpMRXRCUVV0RkxFZEJRVWNzWTBGQlkwWXNTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVnRSaXhIUVVGSExFbEJRVWxCTEVkQlFVZFVMRVZCUVVVc1NVRkJTVUVzUlVGQlJTeEpRVUZKTEV0QlFVc3NUMEZCVDJ4SkxFVkJRVVVyU0N4TFFVRkxjVUlzUlVGQlJXaEtMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZiVVlzU1VGQlNVc3NTVUZCU1N4VFFVRlRPVWtzUlVGQlJVTXNSMEZCUnl4SlFVRkpNRWdzUlVGQlJVc3NSVUZCUlM5SUxFVkJRVVVzUjBGQlIzZElMRkZCUVZFc1RVRkJUWFpJTEV0QlFVdHBTQ3hQUVVGUFlTeEhRVUZIZDBZc1pVRkJaWFpPTEVWQlFVVXNSMEZCUjJsS0xFVkJRVVZvU2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlcxR0xFbEJRVWx6UlN4WlFVRlpjRVlzUlVGQlJVRXNSVUZCUlVZc1VVRkJVU3hMUVVGTGVVSXNSVUZCUldoS0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVmJVWXNTVUZCU1hORkxGVkJRVlV2UlN4SFFVRkhMMGdzUlVGQlJTeE5RVUZOWjBvc1IwRkJSMmhLTEVWQlFVVXNSMEZCUnl4bFFVRmxNRWdzUlVGQlJTeE5RVUZOY2tJc1MwRkJTM0JITEU5QlFVOHJTU3hIUVVGSExFbEJRVWxCTEVkQlFVY3NVMEZCVXk5SkxFdEJRVXRGTEVkQlFVY3NZMEZCWTBZc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWdFJpeEhRVUZITEVsQlFVbEJMRWRCUVVkVUxFVkJRVVVzU1VGQlNVRXNSVUZCUlN4SlFVRkpMRXRCUVV0cFFpeEhRVUZITEhWQ1FVRjFRa01zUlVGQlJXaEtMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZiVVlzU1VGQlNXbEVMRk5CUVZNc1RVRkJUWHBETEVkQlFVY3NkMEpCUVhkQ0wwa3NTMEZCUzBVc1IwRkJSeXhqUVVGalJpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXMUdMRWRCUVVjc1NVRkJTVUVzUjBGQlIxUXNSVUZCUlN4SlFVRkpRU3hGUVVGRkxFbEJRVWtzU1VGQlNXbENMRWRCUVVkRExFVkJRVVZvU2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlcxR0xFbEJRVWw1UlN4UFFVRlBMRGhDUVVFNFFtaEZMRVZCUVVWb1NpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXMUdMRWxCUVVsNVJTeFBRVUZQTEVsQlFVa3NSMEZCUjJwRkxFZEJRVWNzUzBGQlN6TkRMRXRCUVV0d1J5eE5RVUZOUVN4TFFVRkxkVTRzWTBGQll5eEhRVUZITTA0c1JVRkJSU3RJTEV0QlFVc3NRMEZCUXl4UFFVRlBMRk5CUVZNc1UwRkJVemRJTEVWQlFVVXlTQ3hIUVVGSExFbEJRVWw2U0N4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlhGRkxFdEJRVXQxUWl4RlFVRkZhRW9zUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZ4UlN4TFFVRkxMRk5CUVZOQkxFbEJRVWw2U0N4TFFVRkxReXhSUVVGUmEwUXNTMEZCU3l4TlFVRk5MRWRCUVVjMlJpeEZRVUZGYUVvc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWeFJTeEpRVUZKYjBZc1ZVRkJWV3BPTEVWQlFVVXJTQ3hMUVVGTExFTkJRVU1zVFVGQlRTeFJRVUZSTEZOQlFWTXNVVUZCVVN4VFFVRlROMGdzUlVGQlJVTXNSMEZCUjBNc1MwRkJTM1ZPTEdWQlFXVm9SaXhGUVVGRlpDeEZRVUZGTVVnc1NVRkJTWEZITEV0QlFVdHdSeXhQUVVGUFFTeExRVUZMZFU0c1pVRkJaV2hHTEVWQlFVVmtMRWxCUVVseVFpeExRVUZMY0Vjc1VVRkJVVUVzUzBGQlMwTXNVVUZCVVcxRUxGZEJRVmR3UkN4TFFVRkxOa3dzZDBKQlFYZENOMHdzUzBGQlMzZE9MR2RDUVVGblFpeFhRVUZYZUU0c1MwRkJTM2xPTEdkQ1FVRmxMRVZCUVVkRExGZEJRVmNzVjBGQlZ6Rk9MRXRCUVV0NVRpeG5Ra0ZCWlN4SFFVRkpja2dzUzBGQlMzQkhMRTFCUVUwc1MwRkJTMEVzUzBGQlN6Sk9MRk5CUVZNc1UwRkJVemRPTEVkQlFVY3NSMEZCUjBFc1JVRkJSVUVzU1VGQlNVVXNTMEZCU3pST0xFOUJRVThzVDBGQlR5eFZRVUZWTlU0c1MwRkJTME1zVVVGQlVXdEVMRTFCUVUwc1UwRkJVM0pFTEVWQlFVVXNUMEZCVHl4TFFVRkxMRWxCUVVsRExFVkJRVVZETEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWZEVRc1JVRkJSU3hsUVVGbExGVkJRVlZGTEV0QlFVc3dSeXhOUVVGTk1VY3NTMEZCU3pCSExFMUJRVTB4Unl4TFFVRkxReXhSUVVGUmRVTXNWMEZCVjBvc1IwRkJSM0JETEV0QlFVczJUaXhUUVVGVE4wNHNTMEZCUzJsSUxFOUJRVTlzU0N4SlFVRkpReXhMUVVGTGFVZ3NUMEZCVDJwSUxFdEJRVXN3Unl4VFFVRlRNMGNzUlVGQlJVTXNTMEZCUzJkSUxGRkJRVkZxU0N4SlFVRkpMRWxCUVVrd1NDeEZRVUZGTEZGQlFWRjZTQ3hMUVVGTFJTeEhRVUZITEdOQlFXTkdMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZkRVFzUjBGQlJ5eEpRVUZKUVN4RlFVRkZMRk5CUVZORkxFdEJRVXRGTEVkQlFVY3NZMEZCWTBZc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWMFJDeEhRVUZITEVsQlFVbEJMRVZCUVVVc1NVRkJTVU1zUlVGQlJVTXNTMEZCU3pKSkxGRkJRVkZ5Uml4VFFVRlRiVVVzUjBGQlJ6RklMRVZCUVVVc1NVRkJTU3RPTEZkQlFWYzVUaXhMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3gxUWtGQmRVSXNVMEZCVXpsSkxFbEJRVWxETEVWQlFVVTJSeXhMUVVGTGJVZ3NTVUZCU1doUExFVkJRVVZETEV0QlFVdERMRkZCUVZGclJDeFBRVUZQZFVzc1YwRkJWeXhYUVVGWE1VNHNTMEZCU3pKSkxGRkJRVkZ4Uml4WlFVRlpka2NzU1VGQlNYSkNMRXRCUVV0d1J5eE5RVUZOUkN4SlFVRkpReXhMUVVGTGFVOHNaMEpCUVdkQ0xGZEJRVmNzU1VGQlNXNVBMRVZCUVVWRkxFdEJRVXN5U1N4UlFVRlJkVVlzUzBGQlN5eFRRVUZUY2trc1RVRkJUU3hMUVVGTGMwa3NUMEZCVHl4VFFVRlRjazhzUjBGQlJ5eFBRVUZQTEVsQlFVbEJMRVZCUVVWelR5eFpRVUZaTEZGQlFWRndUeXhMUVVGTFJTeEhRVUZITEdGQlFXRXNTVUZCU1d0SExFdEJRVXR3Unl4UFFVRlBRU3hMUVVGTE1ra3NVVUZCVVhWR0xFdEJRVXNzVVVGQlVYQlBMRVZCUVVWclJ5eExRVUZMTEZGQlFWRm9SeXhMUVVGTFF5eFJRVUZSVVN4cFFrRkJhVUpVTEV0QlFVdERMRkZCUVZGVExHMUNRVUZ0UW1Rc1JVRkJSVFpHTEZGQlFWRjFReXhIUVVGSExIbENRVUY1UW1oSkxFdEJRVXRGTEVkQlFVY3NVMEZCVTBvc1IwRkJSMFVzUzBGQlN6Uk9MRkZCUVZFMVRpeExRVUZMYlVNc1dVRkJXV2xGTEV0QlFVdHdSeXhQUVVGUExGZEJRVmRLTEVWQlFVVXJSaXhMUVVGTE0wWXNTMEZCUzBNc1VVRkJVWGRGTEdkQ1FVRm5RbnBGTEV0QlFVdERMRkZCUVZGM1JTeGhRVUZoTEVOQlFVTjZSU3hMUVVGTFF5eFJRVUZSZDBVc1pVRkJaU3hYUVVGWE4wVXNSVUZCUlN0R0xFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmVVVXNVMEZCVXpGRkxFdEJRVXRETEZGQlFWRjVSU3hOUVVGTkxFTkJRVU54U0N4TFFVRkxMMHdzUzBGQlMwTXNVVUZCVVhsRkxGRkJRVkVzVjBGQlZ6bEZMRVZCUVVVclJpeExRVUZMTTBZc1MwRkJTME1zVVVGQlVUQkZMRlZCUVZVelJTeExRVUZMUXl4UlFVRlJNRVVzVDBGQlR5eERRVUZEYjBnc1MwRkJTeTlNTEV0QlFVdERMRkZCUVZFd1JTeFBRVUZQZVVVc1RVRkJUWEJLTEV0QlFVdERMRkZCUVZFd1JTeFZRVUZUTEVsQlFVc3pSU3hMUVVGTFF5eFJRVUZSZDBVc1kwRkJZM3BGTEV0QlFVdERMRkZCUVZGNVJTeFJRVUZSTVVVc1MwRkJTME1zVVVGQlVYZEZMR0ZCUVdFc1IwRkJSemRGTEVWQlFVVXJTQ3hMUVVGTE0wZ3NTMEZCUzBNc1VVRkJVWGxGTEUxQlFVMHNVMEZCVXpWRkxFVkJRVVZETEVkQlFVZERMRXRCUVV0RExGRkJRVkYzUlN4aFFVRmhORW9zUzBGQlMzUlBMRVZCUVVVc1VVRkJVVU1zUzBGQlMwTXNVVUZCVVhkRkxHRkJRV0UwU2l4TFFVRkxkRThzUlVGQlJTeFRRVUZUY1Vjc1MwRkJTM0JITEZGQlFWRkJMRXRCUVV0RExGRkJRVkYzUlN4aFFVRmhjMFFzVVVGQlVXNUpMRVZCUVVVclNDeExRVUZMTTBnc1MwRkJTME1zVVVGQlVYZEZMR0ZCUVdFc1UwRkJVek5GTEVWQlFVVkRMRWRCUVVjc1NVRkJTVEJJTEVWQlFVVXNTVUZCU1RaSExFMUJRVTAzUnl4RlFVRkZPRWNzU1VGQlNYaFBMRVZCUVVVd1NDeEZRVUZGSzBjc1VVRkJVU3hUUVVGVGVFOHNTMEZCUzIxSExGZEJRVmNzVlVGQlZXNUhMRXRCUVVzc1NVRkJTVVlzUlVGQlJVTXNSVUZCUlN4UFFVRlBSaXhGUVVGRk5FOHNWVUZCVlRWT0xFOUJRVThzVTBGQlUyWXNSVUZCUlhsSkxFZEJRVWNzVDBGQlQzcEpMRVZCUVVWQkxFZEJRVWRGTEV0QlFVdERMRkZCUVZGWkxFOUJRVThzVlVGQlZXcENMRVZCUVVVclJpeExRVUZMTjBZc1MwRkJTMEVzUlVGQlJVWXNSVUZCUlVVc1NVRkJTWGxKTEVWQlFVVkJMRWRCUVVkMlNTeExRVUZMUXl4UlFVRlJZU3hSUVVGUmFFSXNSMEZCUjBFc1JVRkJSV2xKTEZGQlFWRnVTU3hGUVVGRkswZ3NTMEZCU3pkSUxFVkJRVVVzVTBGQlUwRXNSVUZCUlRKSUxFbEJRVWxCTEVWQlFVVTNTQ3hGUVVGRk5rZ3NTVUZCU1dwSExFdEJRVXNzYVVKQlFXbENlRUlzUzBGQlMwVXNUVUZCVFN4VFFVRlRSaXhMUVVGTFF5eFJRVUZSWjBJc1dVRkJXU3hOUVVGTmQwY3NSVUZCUlhsSExFdEJRVXNzVlVGQlZYcEhMRVZCUVVWcVJ5eExRVUZMTEd0Q1FVRnJRbWxITEVWQlFVVjVSeXhMUVVGTExGVkJRVlZSTEZkQlFWY3NVMEZCVXpGUExFdEJRVXN5VHl4dFFrRkJiVUl6VHl4TFFVRkxNazhzYVVKQlFXbENMRWxCUVVrelR5eExRVUZMTWs4c2FVSkJRV2xDVGl4TFFVRkxOVWNzUlVGQlJTeEpRVUZKUVN4RlFVRkZUeXhIUVVGSFR5eEZRVUZGTEdkQ1FVRm5RblpKTEV0QlFVdEZMRWRCUVVjc1UwRkJVMG9zUjBGQlJ5eEpRVUZKUXl4RlFVRkZReXhMUVVGTE5FOHNUMEZCVDBNc1lVRkJZVGRQTEV0QlFVczBUeXhQUVVGUExHTkJRV055Unl4SFFVRkhka2tzUzBGQlN6Uk9MRkZCUVZFMVRpeExRVUZMYlVzc1QwRkJUeXhKUVVGSk1VTXNSVUZCUlN4TFFVRkxla2dzUzBGQlN6Uk9MRkZCUVZFMVRpeExRVUZMYlVzc1VVRkJVVzVMTEV0QlFVdHRTeXhQUVVGUExFbEJRVWt4UXl4RlFVRkZMRXRCUVVzeFNDeEhRVUZGTEVkQlFVbERMRXRCUVV0dFN5eFBRVUZQTVVNc1JVRkJSWHBJTEV0QlFVdERMRkZCUVZGcFF5eFRRVUZUYkVNc1MwRkJTMnRETEU5QlFVOTFSaXhIUVVGSExGTkJRVk5qTEVkQlFVZDJTU3hMUVVGTFF5eFJRVUZSWXl4blFrRkJaMEpxUWl4RlFVRkZhVUlzYVVKQlFXbENaaXhMUVVGTExGTkJRVk4xU1N4SFFVRkhlRWtzUlVGQlJTeFBRVUZQTEdOQlFXTnhSeXhMUVVGTGNFY3NUMEZCVHl4alFVRmpRU3hMUVVGTFF5eFJRVUZSWVN4VFFVRlRNa2NzUlVGQlJVOHNSMEZCUnl4aFFVRmhMRk5CUVZOc1NTeEhRVUZITEVsQlFVbEZMRXRCUVVzeVNTeFJRVUZSTEU5QlFVOHNTMEZCU3pOSkxFdEJRVXRETEZGQlFWRTJSQ3h2UWtGQmIwSm9SU3hGUVVGRmMwc3NaVUZCWlhCTExFdEJRVXN5U1N4UlFVRlJMRWxCUVVrdlNTeEZRVUZGUlN4RlFVRkZjMHNzWlVGQlpXcENMRkZCUVZFc1NVRkJTVzVLTEV0QlFVdEZMRWxCUVVrMlNDeFRRVUZUTDBnc1MwRkJTMjlLTEZOQlFWTm9SQ3hMUVVGTGNFY3NUMEZCVDNsSUxFVkJRVVZxUnl4TFFVRkxMR2xDUVVGcFFuaENMRXRCUVV0RkxFZEJRVWR4U1N4SFFVRkhka2tzUzBGQlMyMUhMRmRCUVZjc1YwRkJWM05DTEV0QlFVdHlRaXhMUVVGTGNFY3NUMEZCVDBFc1RVRkJUVWdzUlVGQlJUUlBMRlZCUVZWTExFOUJRVThzVTBGQlUyaFFMRWRCUVVjc1QwRkJUMEVzUlVGQlJVRXNSMEZCU1VVc1MwRkJTekpQTEd0Q1FVRnJRaXhMUVVGTk4wOHNSVUZCUldsSkxGRkJRVkZ1U1N4RlFVRkZLMGdzUzBGQlN6ZElMRVZCUVVVc1UwRkJVMEVzUlVGQlJVTXNTVUZCU1VFc1JVRkJSVWdzUlVGQlJVY3NTVUZCU1hsQ0xFdEJRVXNzYVVKQlFXbENlRUlzUzBGQlMwVXNUVUZCVFVnc1JVRkJSVGhLTEVsQlFVazVTaXhGUVVGRmVVSXNTMEZCU3l4cFFrRkJhVUo0UWl4TFFVRkxSU3hKUVVGSkxHZENRVUZuUWtZc1MwRkJTMFVzU1VGQlNVZ3NSVUZCUlhsQ0xFdEJRVXNzYVVKQlFXbENlRUlzUzBGQlMwVXNSMEZCUnl4UFFVRlBSaXhMUVVGTE1rOHNhVUpCUVdsQ0wwOHNSVUZCUlcxUUxFdEJRVXN2VHl4TFFVRkxNazhzYVVKQlFXbENMRk5CUVZNM1R5eEhRVUZITEU5QlFVOUJMRWRCUVVkRExFVkJRVVVzVFVGQlRYRkhMRXRCUVV0d1J5eFBRVUZQUVN4TlFVRk5TQ3hGUVVGRk5FOHNWVUZCVlRGRUxGTkJRVk1zVTBGQlUycE1MRVZCUVVWRExFZEJRVWNzUjBGQlJ5eE5RVUZOUkN4SFFVRkhMRTFCUVUxQkxFVkJRVVVzVDBGQlQwVXNTMEZCUzBFc1MwRkJTekpKTEZOQlFWTXpTU3hMUVVGTEswb3NWVUZCVlN4SlFVRkpkRU1zUlVGQlJYcElMRXRCUVVzeVNTeFJRVUZSVGl4alFVRmpSU3hGUVVGRmRra3NTMEZCU3pKSkxGRkJRVkZGTEdGQlFXRXNUMEZCVHpkSkxFdEJRVXRyUWl4UlFVRlJiRUlzUzBGQlMzbEpMR1ZCUVdVM1NTeEZRVUZGTERaQ1FVRTJRa2tzUzBGQlMydENMRTFCUVUxMFFpeEZRVUZGTEZWQlFWVnZSU3hUUVVGVGFFVXNTMEZCUzNsSkxHZENRVUZuUWl4VFFVRlRla2tzUzBGQlMwTXNVVUZCVVRoRUxHVkJRV01zU1VGQlN5OUVMRXRCUVV0RExGRkJRVkU0UkN4aFFVRmhMMFFzUzBGQlMwTXNVVUZCVVhORUxGZEJRVmQyUkN4TFFVRkxNa2tzVVVGQlVYSkdMRk5CUVZNc01FSkJRVEJDZEVRc1MwRkJTeXRFTEZsQlFWbERMRk5CUVZOb1JTeExRVUZMZVVrc2FVSkJRV2xDZWtrc1MwRkJTM2xKTEdWQlFXVjFSeXhoUVVGaGFGQXNTMEZCUzJkQ0xGTkJRVk5vUWl4TFFVRkxkMGtzYTBKQlFXdENlRWtzUzBGQlN6SkpMRkZCUVZFM1NTeEZRVUZGTEZkQlFWY3NaVUZCWlN4cFFrRkJhVUpGTEV0QlFVdHJRaXhOUVVGTkswNHNTMEZCUzI1UUxFZEJRVWQ1U1N4SFFVRkhka2tzUzBGQlN6SkpMRkZCUVZGRkxHTkJRV00zU1N4TFFVRkxkMGtzYVVKQlFXbENlRWtzUzBGQlMwTXNVVUZCVVcxRkxGZEJRVmR3UlN4TFFVRkxPRWtzWVVGQllTOUpMRWxCUVVsRExFdEJRVXRETEZGQlFWRTRReXh4UWtGQmNVSXdSU3hIUVVGSGVrZ3NTMEZCU3pKSkxGRkJRVkZPTEdWQlFXVkZMRWRCUVVkMlNTeExRVUZMTWtrc1VVRkJVVVVzWTBGQll6ZEpMRXRCUVV0dFF5eFhRVUZYYmtNc1RVRkJUVWdzUlVGQlJUUlBMRlZCUVZVM1RTeFhRVUZYTEZOQlFWTTVRaXhGUVVGRlF5eEhRVUZITEVkQlFVY3NUVUZCVFVRc1IwRkJSeXhOUVVGTlFTeEZRVUZGTEU5QlFVOUZMRXRCUVV0QkxFdEJRVXN5U1N4VFFVRlRNMGtzUzBGQlN5dEtMRlZCUVZVc1NVRkJTWFJETEVWQlFVVjZTQ3hMUVVGTE1ra3NVVUZCVVU0c1kwRkJZMFVzUlVGQlJYWkpMRXRCUVVzeVNTeFJRVUZSUlN4aFFVRmhMRTlCUVU4M1NTeExRVUZMWjBJc1VVRkJVV3RQTEZOQlFWTXNaME5CUVdkRGJFd3NVMEZCVXl4UlFVRlJORVVzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hUUVVGVGNrc3NSVUZCUlN0R0xFdEJRVXMzUml4SlFVRkpMRWxCUVVrc1UwRkJVMFVzUzBGQlMyZENMRkZCUVZGcFR5eExRVUZMYmxBc1IwRkJSeXhOUVVGTkxFbEJRVWtzVTBGQlUwRXNTVUZCU1VFc1lVRkJZVVlzUjBGQlIwVXNSVUZCUlhGUUxGbEJRVmxXTEZWQlFWVlhMRk5CUVZOd1VDeExRVUZMWjBJc1VVRkJVV2xQTEV0QlFVc3NTVUZCU1c1UUxFVkJRVVZ2VHl4TFFVRkxMRFpDUVVFMlFpeEhRVUZIYkVzc1UwRkJVMmhGTEV0QlFVdG5RaXhUUVVGVE5FZ3NTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFhRVUZYYWtzc1MwRkJTMmRDTEZGQlFWRnBUeXhMUVVGTFNTeExRVUZMUXl4VlFVRlZlRkFzU1VGQlNTeFBRVUZQZVVrc1IwRkJSM1pKTEV0QlFVc3lTU3hSUVVGUlJTeGpRVUZqTjBrc1MwRkJTM2RKTEdsQ1FVRnBRbmhKTEV0QlFVdERMRkZCUVZGdFJTeFhRVUZYY0VVc1MwRkJTemhKTEdGQlFXRXZTU3hKUVVGSlF5eExRVUZMUXl4UlFVRlJPRU1zY1VKQlFYRkNNRVVzUjBGQlIzcElMRXRCUVVzeVNTeFJRVUZSVGl4bFFVRmxSU3hIUVVGSGRra3NTMEZCU3pKSkxGRkJRVkZGTEdOQlFXTTNTU3hMUVVGTGJVTXNWMEZCVjI1RExFMUJRVTFJTEVWQlFVVTBUeXhWUVVGVll5eGpRVUZqTEZOQlFWTjZVQ3hGUVVGRlF5eEZRVUZGTUVnc1IwRkJSM3BJTEV0QlFVc3lTU3hUUVVGVE0wa3NTMEZCU3l0S0xGVkJRVlVzVFVGQlRXaExMRWxCUVVsQkxFVkJRVVVzVVVGQlVVTXNTMEZCUzJkQ0xGRkJRVkUwU0N4SlFVRkpPVWtzUlVGQlJVVXNTMEZCUzI5SUxGRkJRVkZ5U0N4SlFVRkpMRk5CUVZORUxFZEJRVWRGTEV0QlFVdDNTU3hwUWtGQmFVSjRTU3hMUVVGTFF5eFJRVUZSU0N4SFFVRkhReXhGUVVGRkxFMUJRVTB3U0N4SlFVRkpRU3hIUVVGSGVrZ3NTMEZCUzIxRExGbEJRVmwwUXl4RlFVRkZORThzVlVGQlZXVXNVMEZCVXl4VFFVRlRNVkFzUlVGQlJVTXNSMEZCUjBNc1MwRkJTM1ZRTEdOQlFXTXNVVUZCVVhwUUxFVkJRVVZETEVsQlFVbEdMRVZCUVVVMFR5eFZRVUZWWjBJc1ZVRkJWU3hUUVVGVE0xQXNSVUZCUlVNc1IwRkJSME1zUzBGQlMzVlFMR05CUVdNc1UwRkJVM3BRTEVWQlFVVkRMRWxCUVVsR0xFVkJRVVUwVHl4VlFVRlZkRTBzVTBGQlV5eFRRVUZUYzBZc1IwRkJSeXhIUVVGSFFTeEZRVUZGUVN4SFFVRkhMRWRCUVVkQkxFVkJRVVUzU0N4RlFVRkZPRVlzVVVGQlR5eEZRVUZITVVZc1MwRkJTME1zVVVGQlVYZElMRWRCUVVkNlNDeExRVUZMYTBNc1QwRkJUM1ZHTEVWQlFVVjJSaXhSUVVGUmJFTXNTMEZCUzJ0RExGRkJRVkYwUXl4RlFVRkZOa1lzVVVGQlVYcEdMRXRCUVV0clF5eHJRa0ZCYTBKMFF5eEhRVUZITEZOQlFWTkpMRXRCUVV0clF5eFRRVUZUYkVNc1MwRkJTMnRETEU5QlFVOTBReXhGUVVGRlNTeExRVUZMYTBNc1ZVRkJWV3hETEV0QlFVdHJReXhQUVVGUE5rWXNUMEZCVHl4UFFVRlBMMGdzUzBGQlMwRXNTMEZCUzJkQ0xGRkJRVkUwU0N4SlFVRkpMRU5CUVVONlNTeE5RVUZOU0N4TFFVRkxiMGdzVVVGQlVVc3NSVUZCUlhSSUxFMUJRVTBzVTBGQlUwTXNUMEZCVDBvc1MwRkJTMjlJTEZGQlFWRkxMRVZCUVVWeVNDeFBRVUZQTEZWQlFWVkRMRk5CUVZOTUxFdEJRVXR2U0N4UlFVRlJTeXhGUVVGRmNFZ3NVMEZCVXl4VFFVRlRReXhWUVVGVlRpeExRVUZMYjBnc1VVRkJVVXNzUlVGQlJXNUlMRlZCUVZVc1ZVRkJWVU1zVTBGQlUxQXNTMEZCUzI5SUxGRkJRVkZMTEVWQlFVVnNTQ3hUUVVGVExGTkJRVk5ETEZWQlFWVlNMRXRCUVV0dlNDeFJRVUZSU3l4RlFVRkZha2dzVlVGQlZTeFpRVUZaVWl4TFFVRkxkMGtzYVVKQlFXbENMRWxCUVVsRUxFVkJRVVYyU1N4TFFVRkxORXdzYjBKQlFXOUNMRk5CUVZNMVRDeExRVUZMYTBNc1VVRkJVV3hETEV0QlFVdHJReXhQUVVGUFZpeExRVUZMTEZGQlFWRjRRaXhMUVVGTFJTeEhRVUZITEZkQlFWZEdMRXRCUVV0clF5eFBRVUZQVml4TFFVRkxMRkZCUVZGNFFpeExRVUZMUlN4SFFVRkhMRk5CUVZOR0xFdEJRVXRyUXl4UFFVRlBMRWxCUVVsMFF5eEZRVUZGTmtZc1VVRkJVU3hMUVVGTExGTkJRVk42Uml4TFFVRkxhME1zVDBGQlR6QkhMRWxCUVVrc1lVRkJZU3hGUVVGRk5Va3NTMEZCUzJ0RExFOUJRVTlwU0N4VlFVRlZaMFlzVDBGQlR5eFhRVUZYTEUxQlFVMHNVMEZCVTNaUExFVkJRVVZKTEUxQlFVMDBTU3hKUVVGSkxHTkJRV05pTEZGQlFWRXNVVUZCVVN4VlFVRlZMRWxCUVVscVNTeEZRVUZGTEVOQlFVTnpReXhGUVVGRmVFTXNSVUZCUlRaR0xGRkJRVkZ2UkN4aFFVRmhlRWNzUlVGQlJYcERMRVZCUVVVMlJpeFJRVUZSTkVNc1kwRkJZeTlDTEVsQlFVbHRRaXhGUVVGRmFFWXNUMEZCVDNwRExFdEJRVXRyUXl4UFFVRlBWaXhMUVVGTExGRkJRVkY0UWl4TFFVRkxSU3hIUVVGSExGVkJRVlVzUlVGQlJVNHNSVUZCUlRaR0xGRkJRVkV5UXl4WlFVRlpNMElzUzBGQlMyZENMRVZCUVVWb1JpeFBRVUZQZWtNc1MwRkJTMnRETEU5QlFVOVdMRXRCUVVzc1VVRkJVWGhDTEV0QlFVdEZMRWRCUVVjc1ZVRkJWU3hGUVVGRlRpeEZRVUZGTmtZc1VVRkJVWEZGTEdOQlFXTm9TeXhGUVVGRk1FY3NUMEZCVHpGSExFVkJRVVYzUnl4SlFVRkplRWNzUlVGQlJYVkRMRVZCUVVWMlF5eEZRVUZGZVVjc1RVRkJUWHBITEVWQlFVVXlSeXhMUVVGTE0wY3NSVUZCUlhORExFVkJRVVVzU1VGQlNTeEpRVUZKY2tNc1JVRkJSVU1zUzBGQlMydERMRTlCUVU5TExGTkJRVk1zVFVGQlRYcERMRWRCUVVkRExFVkJRVVVzUTBGQlEzVkhMRWxCUVVrc1JVRkJSVWNzUzBGQlN5eEhRVUZITEZOQlFWTjZSeXhMUVVGTGEwTXNVVUZCVVN4VFFVRlRiRU1zUzBGQlMydERMRTlCUVU5V0xFdEJRVXNzVVVGQlVYaENMRXRCUVV0RkxFZEJRVWNzVjBGQlYzVklMRVZCUVVWb1JpeFJRVUZSTVVNc1JVRkJSWFZITEVsQlFVbDJSeXhGUVVGRmRVY3NTVUZCU1RGSExFVkJRVVUyUml4UlFVRlJNa01zV1VGQldYSkpMRVZCUVVVd1J5eExRVUZMTVVjc1JVRkJSVEJITEV0QlFVczNSeXhGUVVGRk5rWXNVVUZCVVhGRkxHTkJRV01zU1VGQlNXaERMRVZCUVVVc1EwRkJRekZHTEVWQlFVVXNVMEZCVTNCRExFdEJRVXRyUXl4UFFVRlBMRWRCUVVkc1F5eExRVUZMYTBNc1QwRkJUekpITEdGQlFXRjRSeXhGUVVGRkxGTkJRVk55UXl4TFFVRkxhME1zVDBGQlR5eEhRVUZIYkVNc1MwRkJTMnRETEU5QlFVOXRSeXhqUVVGakwwSXNTVUZCU1N4VFFVRlRkRWNzUzBGQlMydERMRkZCUVZGMVJpeEZRVUZGZVVRc1dVRkJXWHBFTEVWQlFVVjVSQ3haUVVGWk5VVXNTVUZCU1haSExFVkJRVVZCTEVWQlFVVjFSeXhKUVVGSkxFVkJRVVZITEV0QlFVc3NVMEZCVTNwSExFdEJRVXRyUXl4UlFVRlJkVVlzUlVGQlJYbEVMRmxCUVZsNlJDeEZRVUZGZVVRc1dVRkJXWHBGTEV0QlFVc3hSeXhGUVVGRlFTeEZRVUZGTUVjc1MwRkJTeXhIUVVGSGMwTXNSVUZCUlhSQ0xFVkJRVVZ1Uml4WFFVRlhMRlZCUVZWdFJpeEZRVUZGZEVZc1UwRkJVME1zUjBGQlJ5eFZRVUZWY1VZc1JVRkJSWFJHTEZOQlFWTkZMRWRCUVVjeVJ5eEZRVUZGTEVOQlFVTTFSeXhGUVVGRmRFTXNSVUZCUlhORExFVkJRVVZ4Uml4RlFVRkZOMFVzWlVGQlpUWkVMRXRCUVV0blFpeEZRVUZGTjBVc1pVRkJaVEpFTEUxQlFVMXNSU3hGUVVGRmRrTXNSVUZCUlhWRExFVkJRVVZ2Uml4RlFVRkZOMFVzWlVGQlpUQkVMRWxCUVVsdFFpeEZRVUZGTjBVc1pVRkJaVFJFTEU5QlFVOURMRXRCUVV0elF5eEZRVUZGYWtJc1JVRkJSWEpDTEV0QlFVczNSeXhGUVVGRk5rWXNVVUZCVVhGRkxHRkJRV0Z5UXl4RlFVRkZOMFVzWlVGQlpUWkVMRXRCUVVzc1JVRkJSVVlzVFVGQlRYZERMRVZCUVVWcVNpeEZRVUZGYzBNc1JVRkJSVEJHTEVWQlFVVnlRaXhMUVVGTE4wY3NSVUZCUlRaR0xGRkJRVkZ4UlN4aFFVRmhhRU1zUlVGQlJURkdMRVZCUVVWeFJpeEZRVUZGTjBVc1pVRkJaVEpFTEUxQlFVMHNSVUZCUlVRc1NVRkJTWGxETEVWQlFVVnFRaXhGUVVGRmVFSXNTVUZCU1RGSExFVkJRVVUyUml4UlFVRlJNa01zV1VGQldYQkpMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxNRVFzU1VGQlNTeEZRVUZGUlN4UFFVRlBkVU1zUlVGQlJXcEtMRVZCUVVWMVF5eEZRVUZGZVVZc1JVRkJSWGhDTEVsQlFVa3hSeXhGUVVGRk5rWXNVVUZCVVRKRExGbEJRVmxPTEVWQlFVVjZSaXhGUVVGRmIwWXNSVUZCUlRkRkxHVkJRV1UwUkN4UFFVRlBMRWRCUVVjelJ5eEZRVUZGTEVOQlFVTjFReXhGUVVGRkxFdEJRVXR4Uml4RlFVRkZia1lzVTBGQlV5eE5RVUZOYlVZc1JVRkJSVzVHTEZOQlFWTXNWVUZCVlRGRExFVkJRVVVyUml4TFFVRkxPRUlzUlVGQlJYUkdMRk5CUVZORExFZEJRVWNzUzBGQlMzRkdMRVZCUVVWMFJpeFRRVUZUUXl4RlFVRkZReXhGUVVGRkxFdEJRVXR2Uml4RlFVRkZia1lzVTBGQlV5eE5RVUZOYlVZc1JVRkJSVzVHTEZOQlFWTXNWVUZCVlRGRExFVkJRVVVyUml4TFFVRkxPRUlzUlVGQlJYUkdMRk5CUVZORkxFZEJRVWNzUzBGQlMyOUdMRVZCUVVWMFJpeFRRVUZUUlN4SFFVRkhjVTRzUlVGQlJTeERRVUZEZEU0c1IwRkJSU3hGUVVGSFF5eEhRVUZGTEVkQlFVbDRReXhGUVVGRmRVTXNSMEZCUjIxSExFVkJRVVZ1Unl4RlFVRkZORWNzUlVGQlJXNUtMRVZCUVVWMVF5eEpRVUZKTkVjc1JVRkJSV2hLTEV0QlFVdG5TQ3hSUVVGUmJrZ3NSVUZCUlhWRExFbEJRVWswUnl4RlFVRkZia29zUlVGQlJYVkRMRXRCUVV0MlF5eEZRVUZGZFVNc1JVRkJSWEJETEV0QlFVdG5TQ3hSUVVGUmJrZ3NSVUZCUlhWRExFMUJRVTF6VGl4RlFVRkZkRTRzUjBGQlJTeEhRVUZKZGtNc1JVRkJSWGRETEVkQlFVZHJSeXhGUVVGRmJFY3NSVUZCUlRKSExFVkJRVVZ1U2l4RlFVRkZkME1zU1VGQlNUSkhMRVZCUVVWb1NpeExRVUZMWjBnc1VVRkJVVzVJTEVWQlFVVjNReXhKUVVGSk1rY3NSVUZCUlc1S0xFVkJRVVYzUXl4TFFVRkxlRU1zUlVGQlJYZERMRVZCUVVWeVF5eExRVUZMWjBnc1VVRkJVVzVJTEVWQlFVVjNReXhOUVVGTmNVNHNSVUZCUlhKT0xFZEJRVVVzU1VGQlMyOUdMRVZCUVVWb1NDeHBRa0ZCYVVKblNDeEZRVUZGTDBjc2IwSkJRVzlDYVZBc1JVRkJSU3hYUVVGWExFbEJRVWszVUN4RlFVRkZNa2dzUlVGQlJXaElMR2xDUVVGcFFqaElMRVZCUVVWdVJ5eEZRVUZGTkVjc1JVRkJSVzVLTEVWQlFVVjFReXhIUVVGSExFOUJRVTkwUXl4RlFVRkZhMG9zUlVGQlJXNUtMRVZCUVVWMVF5eEhRVUZITEUxQlFVMXdReXhMUVVGTGFVUXNVMEZCVXpoR0xFZEJRVWNzUzBGQlMzUkNMRVZCUVVWdVJpeFJRVUZSZEVNc1MwRkJTMmxFTEZGQlFWRXlTQ3hYUVVGWGVFa3NSVUZCUlN4SFFVRkhhMFlzVTBGQlUzUklMRXRCUVV0elN5eFZRVUZWTVVJc1NVRkJTU3h6UWtGQmMwSjBRaXhUUVVGVGRFZ3NTMEZCUzNOTExGVkJRVlV4UWl4SlFVRkpMSFZDUVVGMVFqVkpMRXRCUVV0blFpeFJRVUZSTkVnc1NVRkJTU3hEUVVGRGVra3NUVUZCVFV3c1JVRkJSVVVzUzBGQlMwTXNVVUZCVVZVc2JVSkJRVzFDWWl4RlFVRkZMRXRCUVV0UExGTkJRVk5RTEVWQlFVVjNTQ3hUUVVGVGRFZ3NTMEZCUzJkQ0xGRkJRVkUwU0N4SlFVRkpMR0ZCUVdFc1JVRkJSU3hQUVVGUE5Va3NTMEZCUzNkSkxHdENRVUZyUWtRc1JVRkJSWFpKTEV0QlFVczBUQ3h4UWtGQmNVSjRSaXhMUVVGTGNFY3NUVUZCVFhsSUxFVkJRVVZvU0N4cFFrRkJhVUpyVUN4SlFVRkpiRWtzUlVGQlJXaElMR3RDUVVGclFtbFFMRVZCUVVWeVRpeEhRVUZIZUVNc1JVRkJSWGRETEVkQlFVZHJSeXhGUVVGRmJFY3NSVUZCUlRKSExFVkJRVVZ1U2l4RlFVRkZkME1zU1VGQlNUSkhMRVZCUVVWb1NpeExRVUZMWjBnc1VVRkJVVzVJTEVWQlFVVjNReXhKUVVGSk1rY3NSVUZCUlc1S0xFVkJRVVYzUXl4TFFVRkxlRU1zUlVGQlJYZERMRVZCUVVWeVF5eExRVUZMWjBnc1VVRkJVVzVJTEVWQlFVVjNReXhOUVVGTmNVNHNSVUZCUlhKT0xFZEJRVVVzUjBGQlNVUXNSVUZCUlN4WFFVRlhMRWxCUVVsMFF5eEZRVUZGTWtnc1JVRkJSUzlITEd0Q1FVRnJRalpJTEVWQlFVVnNSeXhGUVVGRk1rY3NSVUZCUlc1S0xFVkJRVVYzUXl4SFFVRkhMRTlCUVU5MlF5eEZRVUZGTEZkQlFWY3NUMEZCVDBVc1MwRkJTM2xKTEdkQ1FVRm5RbnBKTEV0QlFVdHZRaXhSUVVGUkxGRkJRVkZ3UWl4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4WlFVRlpOVWtzUzBGQlN6SkpMRkZCUVZGRExFbEJRVWtzVlVGQlZTeFRRVUZUT1Vrc1IwRkJSMFVzUzBGQlMzbEpMR1ZCUVdWNlNTeExRVUZMZVVrc1pVRkJaVW9zWTBGQll5eEpRVUZKY2trc1MwRkJTMjlDTEU5QlFVOXdRaXhMUVVGTGIwSXNUMEZCVDJsSUxHTkJRV01zUjBGQlIzSkpMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRlZCUVZVc1UwRkJVemxKTEVkQlFVZEZMRXRCUVV0NVNTeGxRVUZsZWtrc1MwRkJTM2xKTEdWQlFXVktMR05CUVdNc1NVRkJTWEpKTEV0QlFVdHZRaXhQUVVGUGNFSXNTMEZCUzI5Q0xFOUJRVTlwU0N4alFVRmpMRWRCUVVkMlNTeEhRVUZITEVkQlFVY3NSVUZCUlN4SlFVRkpRU3hIUVVGSGMwY3NTMEZCUzNCSExFMUJRVTFHTEVWQlFVVnJTaXhGUVVGRmJrb3NSVUZCUlhkRExFZEJRVWNzVFVGQlRYSkRMRXRCUVV0cFJDeFRRVUZUT0VZc1IwRkJSeXhMUVVGTGRFSXNSVUZCUlc1R0xGRkJRVkYwUXl4TFFVRkxhVVFzVVVGQlVUSklMRmRCUVZkMlNTeEZRVUZGTEVkQlFVZDJReXhKUVVGSmQwZ3NVMEZCVTNSSUxFdEJRVXR6U3l4VlFVRlZNVUlzU1VGQlNTeHhRa0ZCY1VKMFFpeFRRVUZUZEVnc1MwRkJTM05MTEZWQlFWVXhRaXhKUVVGSkxIZENRVUYzUWpWSkxFdEJRVXRuUWl4UlFVRlJORWdzU1VGQlNTeERRVUZEZUVrc1QwRkJUMDRzUlVGQlJVVXNTMEZCUzBNc1VVRkJVVmNzYjBKQlFXOUNaQ3hGUVVGRkxFOUJRVTlGTEV0QlFVdDNTU3hyUWtGQmEwSkVMRVZCUVVWMlNTeExRVUZMTkV3c2NVSkJRWEZDZUVZc1MwRkJTM0JITEUxQlFVMTVTQ3hGUVVGRkwwY3NhMEpCUVd0Q01FSXNTVUZCU1hGR0xFVkJRVVV2Unl4dFFrRkJiVUpuVUN4RlFVRkZkRTRzUjBGQlIzWkRMRVZCUVVWMVF5eEhRVUZIYlVjc1JVRkJSVzVITEVWQlFVVTBSeXhGUVVGRmJrb3NSVUZCUlhWRExFbEJRVWswUnl4RlFVRkZhRW9zUzBGQlMyZElMRkZCUVZGdVNDeEZRVUZGZFVNc1NVRkJTVFJITEVWQlFVVnVTaXhGUVVGRmRVTXNTMEZCUzNaRExFVkJRVVYxUXl4RlFVRkZjRU1zUzBGQlMyZElMRkZCUVZGdVNDeEZRVUZGZFVNc1RVRkJUWE5PTEVWQlFVVjBUaXhIUVVGRkxFZEJRVWx4Uml4RlFVRkZMMFVzWjBKQlFXZENMRkZCUVZFclJTeEZRVUZGTDBVc2FVSkJRV2xDWjA0c1JVRkJSWFJPTEVkQlFVZDFUaXhKUVVGSlJDeEZRVUZGY2s0c1IwRkJSMFFzVFVGQlRTeEpRVUZKZDA0c1JVRkJSU3hIUVVGSFF5eEZRVUZGTEZOQlFWTXZVQ3hIUVVGSExFZEJRVWNzVlVGQlZVWXNSVUZCUlN0R0xFdEJRVXM0UWl4RlFVRkZkRVlzVTBGQlUzSkRMRWxCUVVrc1EwRkJReXhKUVVGSlF5eEZRVUZGTUVnc1JVRkJSV3BHTEZkQlFWY3hReXhIUVVGSExFdEJRVXRCTEVWQlFVVXNUMEZCVHl4TlFVRk5MRWRCUVVjNFVDeEZRVUZGTjFBc1IwRkJSeXRJTEVWQlFVVXZTQ3hIUVVGSExGVkJRVlV3U0N4RlFVRkZkRVlzVTBGQlUzSkRMRWRCUVVjc1QwRkJUemhRTEVWQlFVVTNVQ3hKUVVGSk5rY3NTMEZCUzJ0S0xFMUJRVTFvU1N4RlFVRkZhRWtzUjBGQlIzbEpMRVZCUVVWNlNTeEpRVUZKTEZGQlFWRXNVMEZCVTBVc1MwRkJTMnRETEZGQlFWRnNReXhMUVVGTGEwTXNUMEZCVHl4SlFVRkpiRU1zUzBGQlMydERMRTlCUVU4c1NVRkJTWFJETEVWQlFVVTJSaXhSUVVGUkxFdEJRVXR0U3l4RlFVRkZOMUFzU1VGQlNTeEpRVUZKTUVnc1JVRkJSVGRGTEdWQlFXVTNReXhIUVVGSE1FZ3NSVUZCUlRkRkxHVkJRV1UxUXl4TFFVRkxaMGdzVVVGQlVXcElMRTlCUVU5QkxFZEJRVWN3U0N4RlFVRkZkRVlzVTBGQlUzSkRMRXRCUVVzNFVDeEZRVUZGTjFBc1NVRkJTU3RJTEVWQlFVVm9TU3hIUVVGSGVVa3NSVUZCUlhwSkxFbEJRVWt5U0N4RlFVRkZia1lzVTBGQlUzaERMRWRCUVVjc1RVRkJUVEpJTEVWQlFVVnVSaXhWUVVGVmMwNHNSVUZCUlRkUUxFbEJRVWwzU1N4RlFVRkZla2tzU1VGQlNVTXNSMEZCUnpCSUxFVkJRVVYwUml4VFFVRlRja01zUjBGQlJ5eEhRVUZITEZOQlFWTTRVQ3hGUVVGRmJra3NSVUZCUldwR0xGZEJRVmN4UXl4SlFVRkpNa2dzUlVGQlJYUkdMRk5CUVZOeVF5eEpRVUZKYzBjc1MwRkJTM0JITEUxQlFVMHNSMEZCUnpaUUxFVkJRVVVzUzBGQlMwRXNSVUZCUlN4TFFVRkxOMUFzUzBGQlMybEVMRk5CUVZNc1ZVRkJWWGRGTEVWQlFVVjJSU3hUUVVGVExGVkJRVlYwUkN4RlFVRkZLMFlzUzBGQlN6aENMRVZCUVVWMFJpeFRRVUZUUXl4SlFVRkpMRlZCUVZWNFF5eEZRVUZGSzBZc1MwRkJTemhDTEVWQlFVVjBSaXhUUVVGVFJTeExRVUZMUVN4RlFVRkZMRVZCUVVVc1YwRkJWM0pETEV0QlFVdHBSQ3hSUVVGUmVVUXNUVUZCVFN4VlFVRlZaU3hGUVVGRmRFWXNVMEZCVTI1RExFdEJRVXRuU0N4UlFVRlJVeXhGUVVGRmJrWXNXVUZCV1VRc1IwRkJSMnRITEVWQlFVVjJTU3hMUVVGTFowZ3NVVUZCVVZNc1JVRkJSVzVHTEZWQlFWVXNSMEZCUnl4WFFVRlhiVVlzUlVGQlJYUkdMRk5CUVZOdVF5eExRVUZMWjBnc1VVRkJVVk1zUlVGQlJXNUdMRlZCUVZWRUxFbEJRVWxyUnl4RlFVRkZka2tzUzBGQlMyZElMRkZCUVZGVExFVkJRVVZ1Uml4VlFVRlZMRVZCUVVWMFF5eExRVUZMYVVRc1VVRkJVVEpJTEZkQlFWYzFTeXhMUVVGTFowZ3NVVUZCVVZNc1JVRkJSVzVHTEZWQlFWVXNTVUZCU1hSRExFdEJRVXRwUkN4UlFVRlJlVVFzVDBGQlR6RkhMRXRCUVV0dFNDeFBRVUZQYmtnc1MwRkJTMmxFTEZGQlFWRjVSQ3hQUVVGUExFZEJRVWNzUjBGQlIzSkZMRWRCUVVkeVF5eExRVUZMYVVRc1VVRkJVWGxFTEU5QlFVOWxMRVZCUVVWMFJpeFRRVUZUYmtNc1MwRkJTMmRJTEZGQlFWRlRMRVZCUVVWdVJpeFZRVUZWZEVNc1MwRkJTelJMTEZkQlFWYzFTeXhMUVVGTFowZ3NVVUZCVVZNc1JVRkJSVzVHTEZsQlFWa3NTVUZCU1RGRExFVkJRVVY1U3l4UlFVRlJja3NzUzBGQlMybEVMRkZCUVZGNVJDeE5RVUZOTEVOQlFVTXNUVUZCVFN4VFFVRlRMRWRCUVVjc1IwRkJSekZITEV0QlFVdHBSQ3hSUVVGUk1rZ3NWMEZCVnpWTExFdEJRVXRuU0N4UlFVRlJVeXhGUVVGRmJrWXNWVUZCVlN4SlFVRkpMRWxCUVVreFF5eEZRVUZGZVVzc1VVRkJVWEpMTEV0QlFVdHBSQ3hSUVVGUmVVUXNUVUZCVFN4RFFVRkRMRTFCUVUwc1ZVRkJWU3hGUVVGRkxFZEJRVWN4Unl4TFFVRkxhVVFzVVVGQlVUSklMRmRCUVZjMVN5eExRVUZMWjBnc1VVRkJVVk1zUlVGQlJXNUdMRlZCUVZVc1NVRkJTU3hKUVVGSk1VTXNSVUZCUlhsTExGRkJRVkZ5U3l4TFFVRkxhVVFzVVVGQlVYbEVMRTFCUVUwc1EwRkJReXhOUVVGTkxGTkJRVk1zUjBGQlJ5eEhRVUZIY2tVc1IwRkJSMjlHTEVWQlFVVjBSaXhUUVVGVGJrTXNTMEZCUzJkSUxGRkJRVkZUTEVWQlFVVnVSaXhYUVVGWGRFTXNTMEZCUzJsRUxGRkJRVkUwU0N4blFrRkJaMElzUlVGQlJTeEZRVUZGZUVrc1IwRkJSM0pETEV0QlFVdHBSQ3hSUVVGUlZpeFJRVUZSZGtNc1MwRkJTMmxFTEZGQlFWRjVSQ3hQUVVGUE1VY3NTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxiVWdzVDBGQlQyNUlMRXRCUVV0cFJDeFJRVUZSZVVRc1VVRkJVU3hIUVVGSExFZEJRVWRyU2l4RlFVRkZOVkFzUzBGQlMyMUlMRTlCUVU5dVNDeExRVUZMWjBnc1VVRkJVV2hJTEV0QlFVdHBSQ3hSUVVGUmVVZ3NUMEZCVDNKSkxFZEJRVWQxVGl4RlFVRkZia2tzUlVGQlJXcEdMRmRCUVZkS0xFbEJRVWx4Uml4RlFVRkZiRVlzVDBGQlQwZ3NSVUZCUlhkT0xFVkJRVVZ1U1N4RlFVRkZha1lzVjBGQlYwZ3NTVUZCU1c5R0xFVkJRVVZzUml4UFFVRlBSaXhGUVVGRmNrTXNTMEZCU3pKSkxGRkJRVkZETEVsQlFVbG5TQ3hIUVVGSGJra3NSVUZCUlM5RkxHVkJRV1VzUTBGQlF6RkRMRXRCUVVzclVDeHRRa0ZCYlVJdlVDeExRVUZMYVVRc1UwRkJVMnBFTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZWQlFWVXNSMEZCUjBFc1NVRkJTU3hYUVVGWE5Va3NTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxjME1zVTBGQlUzUkRMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWelZMTEV0QlFVdHBTQ3hQUVVGUGFrZ3NTMEZCUzNORExGZEJRVmN3VEN4WlFVRlpMSGRDUVVGM1FtaFBMRXRCUVV0blNDeFJRVUZSYUVnc1MwRkJTMmxFTEZGQlFWRmtMRmRCUVZkdFFpeFRRVUZUTEhkQ1FVRjNRblJFTEV0QlFVdHBSQ3hSUVVGUlpDeFZRVUZWYmtNc1MwRkJTMmxFTEZOQlFWTnFSQ3hMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkYxUkN4TFFVRkxMRkZCUVZFc05rSkJRVFpDYkU4c1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGMwTXNWVUZCVlhOSExFbEJRVWsxU1N4TFFVRkxhVVFzVVVGQlVUWklMRkZCUVZFNVN5eExRVUZMSzFBc2EwSkJRV2xDTEVWQlFVY3ZVQ3hMUVVGTE5rNHNVMEZCVVN4SFFVRkpMRWxCUVVsdFF5eEZRVUZGYkZFc1JVRkJSWGRITEVsQlFVbHpTaXhGUVVGRmRFb3NTMEZCUzIxQ0xFVkJRVVUzUlN4bFFVRmxNRVFzUzBGQlN5eEhRVUZITWtvc1JVRkJSVzVSTEVWQlFVVjVSeXhOUVVGTmNVb3NSVUZCUlc1S0xFdEJRVXM0UWl4RlFVRkZia2NzUjBGQlIzRkdMRVZCUVVVM1JTeGxRVUZsTWtRc1QwRkJUeXhIUVVGSE1rb3NSVUZCUlhCUkxFVkJRVVV3Unl4UFFVRlBiMG9zUlVGQlJYUktMRWxCUVVscFF5eEZRVUZGYkVjc1IwRkJSMjlHTEVWQlFVVTNSU3hsUVVGbE5FUXNVVUZCVVN4SFFVRkhNa29zUlVGQlJYSlJMRVZCUVVVeVJ5eExRVUZMYlVvc1JVRkJSVzVLTEUxQlFVMW5RaXhGUVVGRk4wVXNaVUZCWlRaRUxFMUJRVTBzUjBGQlJ6SktMRVZCUVVWRUxFVkJRVVVzVDBGQlQwWXNSVUZCUlN4UlFVRlJMRXRCUVV0T0xFVkJRVVZMTEVWQlFVVXNUVUZCVFVVc1JVRkJSU3hUUVVGVExFdEJRVXNzUjBGQlIwVXNSMEZCUjFRc1JVRkJSU3hEUVVGRExFbEJRVWtzVTBGQlV6TlFMRXRCUVVzeVJpeE5RVUZOTEZkQlFWY3pSaXhMUVVGTE1rWXNUMEZCVHl4VlFVRlZMMFlzUlVGQlJTdEdMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJhME1zVTBGQlUwTXNTVUZCU1N4VlFVRlZlRU1zUlVGQlJTdEdMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJhME1zVTBGQlUwVXNSMEZCUnl4RFFVRkRMRWxCUVVsRUxFVkJRVVVzUlVGQlJVTXNSVUZCUlN4RlFVRkZMRTlCUVU5eVF5eExRVUZMUXl4UlFVRlJLME1zWlVGQlpXMU9MRVZCUVVVdlRpeEZRVUZGZEVNc1JVRkJSVEpITEUxQlFVMXRTaXhGUVVGRmJrb3NUVUZCVFdkQ0xFVkJRVVUzUlN4bFFVRmxOa1FzVFVGQlRTeEpRVUZKZDBvc1NVRkJTVGRPTEVWQlFVVjBReXhGUVVGRmVVY3NUMEZCVDNGS0xFVkJRVVZ1U2l4TFFVRkxPRUlzUlVGQlJXNUhMRWRCUVVkeFJpeEZRVUZGTjBVc1pVRkJaVEpFTEU5QlFVOHNTMEZCUzNsS0xFVkJRVVV6VGl4RlFVRkZka01zUlVGQlJYZEhMRXRCUVV0elNpeEZRVUZGZEVvc1MwRkJTMjFDTEVWQlFVVTNSU3hsUVVGbE1FUXNTMEZCU3l4SlFVRkpORW9zU1VGQlNUZE9MRVZCUVVWMlF5eEZRVUZGTUVjc1VVRkJVVzlLTEVWQlFVVjBTaXhKUVVGSmFVTXNSVUZCUld4SExFZEJRVWR2Uml4RlFVRkZOMFVzWlVGQlpUUkVMRkZCUVZFc1MwRkJTM2hITEV0QlFVdERMRkZCUVZGclF5eFRRVUZUUXl4RlFVRkZkMFVzUzBGQlMwTXNTVUZCU1M5SExFVkJRVVYzUnl4SlFVRkpkRWNzUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5ETEVWQlFVVkJMRWRCUVVkd1F5eExRVUZMUXl4UlFVRlJhME1zVTBGQlUwVXNSVUZCUlhWRkxFdEJRVXRETEVsQlFVa3ZSeXhGUVVGRk1rY3NTMEZCUzNwSExFdEJRVXRETEZGQlFWRnJReXhUUVVGVFJTeEZRVUZGUVN4SFFVRkhkMDRzUlVGQlJTeExRVUZMUVN4RlFVRkZMRXRCUVVzM1VDeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNXZElMRWxCUVVrMVVDeExRVUZMYlVjc1YwRkJWeXhqUVVGamJrY3NUVUZCU3l4SlFVRkxlVWdzUlVGQlJTOUZMR2RDUVVGblFpeFRRVUZUSzBVc1JVRkJSUzlGTEdsQ1FVRnBRakpPTEVWQlFVVXNVMEZCVTNaUkxFZEJRVWRGTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTlVrc1MwRkJTMjFJTEU5QlFVOXlTQ3hIUVVGSE9GQXNSVUZCUlRWUUxFdEJRVXR0U0N4UFFVRlBja2dzUzBGQlMzbEpMRVZCUVVWMlNTeExRVUZMYVVnc1QwRkJUMjVJTEVsQlFVa3lTQ3hGUVVGRmJFWXNUMEZCVDNaRExFdEJRVXRwU0N4UFFVRlBia2dzUzBGQlN5eFBRVUZQUVN4SFFVRkhMRkZCUVZGQkxFZEJRVWNzUlVGQlJTeEhRVUZIWjBrc1JVRkJSVGxJTEV0QlFVdHBTQ3hQUVVGUGJrZ3NUVUZCVFN4UFFVRlBRU3hIUVVGSExGRkJRVkZCTEVWQlFVVXNSMEZCUnl4SlFVRkpSU3hMUVVGTGFVUXNVMEZCVTJwRUxFdEJRVXN5U1N4UlFVRlJjVVlzV1VGQldTeDNRa0ZCZDBKb1R5eExRVUZMYVVRc1VVRkJVV1FzVlVGQlZXMUNMRk5CUVZNc2QwSkJRWGRDZEVRc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGFVUXNVVUZCVVdRc1YwRkJWM2xITEVsQlFVa3NWVUZCVlN4SFFVRkhRU3hKUVVGSkxGZEJRVmM1U1N4RlFVRkZSU3hMUVVGTGFVUXNVVUZCVVRKSUxGZEJRVmMxU3l4TFFVRkxhVWdzVDBGQlQyNUlMRXRCUVV0RkxFdEJRVXRwUkN4VFFVRlRha1FzUzBGQlMybEVMRkZCUVZFd1NDeFJRVUZSZFVRc1MwRkJTeXhSUVVGUkxEWkNRVUUyUW5CUExFZEJRVWRGTEV0QlFVc3JVQ3hyUWtGQmFVSXNSVUZCUnk5UUxFdEJRVXMyVGl4VFFVRlJMRWRCUVVsNlNDeExRVUZMY0Vjc1RVRkJUVEJRTEVWQlFVVjBUaXhIUVVGSGFVOHNSVUZCUlhKUkxFdEJRVXRETEZGQlFWRnJReXhUUVVGVFF5eEhRVUZIYzA0c1JVRkJSWEpPTEVkQlFVZG5UeXhGUVVGRmNsRXNTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkZMRWxCUVVrc1NVRkJTV2RQTEVWQlFVVXNTMEZCUzNKUkxFdEJRVXRwU0N4UFFVRlBha2dzUzBGQlMzTkRMRk5CUVZOeFRpeEZRVUZGVXl4RlFVRkZjRkVzUzBGQlMybEVMRk5CUVZNc1ZVRkJWWGRGTEVWQlFVVjJSU3hUUVVGVExGRkJRVkYxUlN4RlFVRkZMMFVzWjBKQlFXZENNVU1zUzBGQlMybElMRTlCUVU5dlNpeEpRVUZKY2xFc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGFVZ3NUMEZCVDJwSUxFdEJRVXR6UXl4WlFVRlpjVTRzUlVGQlJTeFZRVUZWTTFBc1MwRkJTMmxFTEZGQlFWRjVSQ3hOUVVGTk5rSXNSVUZCUlhaSkxFdEJRVXRwU0N4UFFVRlBiMG9zU1VGQlNTeEZRVUZGY2xFc1MwRkJTMmxFTEZGQlFWRXlTQ3hYUVVGWE5Vc3NTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxhVVFzVVVGQlVYbElMRXRCUVVzc1JVRkJSWEJFTEZOQlFWTjBTQ3hMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2UWl4SlFVRkpMRlZCUVZVMVNTeExRVUZMYVVRc1VVRkJVVFJJTEd0Q1FVRnJRbmRHTEVkQlFVZHlVU3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWtzUlVGQlJTeEhRVUZIUVN4SFFVRkhjbEVzUzBGQlMybEVMRkZCUVZFMFNDeGxRVUZsZGtRc1UwRkJVM1JJTEV0QlFVdHBSQ3hSUVVGUk1FZ3NVVUZCVVM5Q0xFbEJRVWtzVlVGQlZUVkpMRXRCUVV0cFJDeFJRVUZSTkVnc2FVSkJRV2xDZEVNc1JVRkJSWFpKTEV0QlFVdHBTQ3hQUVVGUGIwb3NTVUZCU1M5SkxGTkJRVk4wU0N4TFFVRkxhVVFzVVVGQlVUQklMRkZCUVZFdlFpeEpRVUZKTEZWQlFWVTFTU3hMUVVGTGFVUXNVVUZCVVRSSUxHbENRVUZwUWpkTExFdEJRVXRwUkN4UlFVRlJNa2dzVjBGQlZ6VkxMRXRCUVV0cFNDeFBRVUZQYjBvc1NVRkJTVVFzUlVGQlJVTXNSMEZCUjNKUkxFdEJRVXR0U0N4UFFVRlBhMG9zUjBGQlIzWlJMRVZCUVVWRkxFdEJRVXR0U0N4UFFVRlBhMG9zU1VGQlNWUXNSVUZCUlRWUUxFdEJRVXR0U0N4UFFVRlBhMG9zU1VGQlNUVkpMRVZCUVVVM1JTeGxRVUZsZVU0c1NVRkJTU3hIUVVGSGRsRXNSVUZCUlVVc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFdEJRVXRVTEVWQlFVVTFVQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWsxU1N4RlFVRkZOMFVzWlVGQlpYbE9MRWRCUVVjNVNDeEZRVUZGZGtrc1MwRkJTMmxJTEU5QlFVOXZTaXhMUVVGTFFTeEhRVUZIY2xFc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFdEJRVXRVTEVWQlFVVTFVQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWxFTEVWQlFVVjBVU3hGUVVGRlJTeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVazFTU3hGUVVGRk4wVXNaVUZCWlRWRExFdEJRVXR0U0N4UFFVRlBhMG9zVFVGQlRVUXNSMEZCUjNSUkxFVkJRVVZGTEV0QlFVdHRTQ3hQUVVGUGEwb3NTVUZCU1RWSkxFVkJRVVUzUlN4bFFVRmxOVU1zUzBGQlMyMUlMRTlCUVU5clNpeExRVUZMVkN4RlFVRkZOVkFzUzBGQlMyMUlMRTlCUVU5clNpeEpRVUZKUkN4TFFVRkxRU3hGUVVGRmVFb3NTMEZCUzIxSUxFbEJRVWx4UXl4RlFVRkZWQ3hMUVVGTFFTeEhRVUZITEVWQlFVVlRMRWxCUVVsd1VTeExRVUZMYVVRc1VVRkJVVEJJTEZGQlFWRXZRaXhKUVVGSkxGVkJRVlUxU1N4TFFVRkxhVVFzVVVGQlVUUklMR1ZCUVdWMlJDeFRRVUZUZEVnc1MwRkJTMmxFTEZGQlFWRXdTQ3hSUVVGUkwwSXNTVUZCU1N4VlFVRlZOVWtzUzBGQlMybEVMRkZCUVZFMFNDeHBRa0ZCYVVKMVJpeEhRVUZIUXl4SFFVRkhjbEVzUzBGQlMybEVMRkZCUVZFMFNDeG5Ra0ZCWjBJc1JVRkJSU3hKUVVGSk4wc3NTMEZCU3pKSkxGRkJRVkZETEVsQlFVazFTU3hMUVVGTGJVZ3NUMEZCVDJ0S0xFZEJRVWRVTEVWQlFVVTFVQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWxFTEVkQlFVZERMRWRCUVVkeVVTeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVa3NSVUZCUlN4SlFVRkpjbEVzUzBGQlN5dFFMR3RDUVVGcFFpeExRVUZOTEU5QlFVOHZVQ3hMUVVGTGJVY3NWMEZCVnl4alFVRmpia2NzVDBGQlQwZ3NSVUZCUlRSUExGVkJRVlUyUWl4VFFVRlRMRk5CUVZONFVTeEhRVUZITEVkQlFVZEZMRXRCUVV0MVVTeEpRVUZKTEZOQlFWTjZVU3hGUVVGRlF5eEhRVUZITUVZc1QwRkJUeXRMTEdkQ1FVRm5RaTlMTEU5QlFVOHJTeXhqUVVGakxFbEJRVWt2U3l4UFFVRlBLMHNzWTBGQll6RlJMRWRCUVVkRExFZEJRVWRETEV0QlFVdDVVU3hKUVVGSkxGTkJRVk16VVN4SFFVRkhMRTlCUVU4eVJpeFBRVUZQSzBzc1kwRkJZeTlMTEU5QlFVOHJTeXhqUVVGak1WRXNSMEZCUnl4TlFVRk5SU3hMUVVGTE1GRXNhMEpCUVd0Q0xGZEJRVmNzUjBGQlJ6RlJMRXRCUVV0NVVTeEpRVUZKTEd0Q1FVRnJRaXhQUVVGUGVsRXNTMEZCUzNsUkxFbEJRVWtzYTBKQlFXdENMRXRCUVVzc1NVRkJTVE5STEVWQlFVVnBSeXhUUVVGVE5Fc3NZMEZCWXl4UFFVRlBOMUVzUlVGQlJUUkpMRTFCUVUxMlNTeE5RVUZOTEZGQlFWRk1MRVZCUVVVMFNTeE5RVUZOZEVrc1QwRkJUeXhSUVVGUlRpeEZRVUZGTkVrc1RVRkJUV3RKTEZOQlFWTXNVMEZCVXpsUkxFVkJRVVUwU1N4TlFVRk5ka2NzVTBGQlV5eFhRVUZYY2tNc1JVRkJSVFJKTEUxQlFVMXdReXhKUVVGSkxGTkJRVk5RTEZOQlFWTTRTeXhMUVVGTGNrY3NXVUZCV1RGTExFZEJRVWNzU1VGQlNVTXNSVUZCUlVRc1JVRkJSV2RTTEZsQlFWbG9VaXhGUVVGRmFWSXNXVUZCV1N4UFFVRlBhRXdzVTBGQlV6aExMRXRCUVV0SExGbEJRVmxzVWl4SFFVRkhSU3hMUVVGTGRWRXNTVUZCU1N4cFFrRkJhVUo0VVN4SFFVRkhRU3hGUVVGRkxFMUJRVTFETEV0QlFVdHBVaXh2UWtGQmIwSXNVMEZCVTNoS0xFbEJRVWxCTEVWQlFVVXNhVUpCUVdsQ1FTeEZRVUZGUVN4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRFFTeEZRVUZGTEd0Q1FVRnJRa0VzUjBGQlIzbEtMRkZCUVZFc1UwRkJVM0JTTEVWQlFVVkRMRWRCUVVjc2FVSkJRV2xDUkN4SlFVRkpNa2dzUlVGQlJURklMRWRCUVVjc1EwRkJRMFFzUlVGQlJTeHZRa0ZCYjBJc1NVRkJTU3hKUVVGSlFTeEhRVUZGTEVWQlFVZERMRVZCUVVVc1JVRkJSVUVzUlVGQlJUQklMRVZCUVVWTkxFOUJRVTlvU1N4TFFVRkxMRWxCUVVrd1NDeEZRVUZGTVVnc1IwRkJSeXhIUVVGSGIxSXNVVUZCVVN4VlFVRlZjbElzUjBGQlJTeEhRVUZKTEU5QlFVMHNTVUZCUzBFc1IwRkJSekpJTEVWQlFVVTBSeXhMUVVGTExFTkJRVU1zVDBGQlR5eHJRa0ZCYTBJMVJ5eEhRVUZIZWtnc1MwRkJTMjlTTEdsQ1FVRnBRaXhYUVVGWExFOUJRVTl3VWl4TFFVRkxNRkVzY1VKQlFYRkNNMHNzVTBGQlV6aExMRXRCUVV0UkxHRkJRV0UxVEN4UFFVRlBOa3dzWVVGQllYUlNMRXRCUVV0dlVpeHRRa0ZCYlVJc1EwRkJRM1JTTEVWQlFVVkZMRXRCUVV0cFVpeHZRa0ZCYjBKdVVpeEhRVUZITEVsQlFVa3NTVUZCU1VNc1JVRkJSU3hGUVVGRlFTeEZRVUZGUkN4RlFVRkZhVWtzVDBGQlQyaEpMRWxCUVVrc1NVRkJTU3hKUVVGSk1FZ3NSVUZCUlRGQ0xGTkJRVk4zVEN4cFFrRkJhVUo2VWl4RlFVRkZReXhIUVVGSExFbEJRVWwzU1N4RlFVRkZMRVZCUVVWQkxFVkJRVVZrTEVWQlFVVk5MRTlCUVU5UkxFbEJRVWtzUTBGQlF5eEhRVUZIWkN4RlFVRkZZeXhIUVVGSGFVb3NZVUZCWVN4cFFrRkJhVUlzVDBGQlR5eEpRVUZKTVVvc1JVRkJSV2hKTEVWQlFVVkRMRWRCUVVjc1IwRkJSMmRLTEVWQlFVVjBSQ3hQUVVGUFowMHNhVUpCUVdsQ2FFc3NSVUZCUldNc1NVRkJTVzFLTEdsQ1FVRnBRalZLTEVkQlFVZE1MRVZCUVVWakxFZEJRVWRZTEdGQlFXRXNaMEpCUVdkQ1JTeEhRVUZIYVVJc1JVRkJSVUVzUjBGQlJ5eE5RVUZOTEVsQlFVbERMRVZCUVVVc2FVSkJRV2xDYkVJc1IwRkJSeXhUUVVGVFFTeEZRVUZGTEVsQlFVa3NTVUZCU1V3c1JVRkJSV01zUjBGQlIwY3NUVUZCVFZvc1IwRkJSeXhSUVVGUmFVSXNSVUZCUlN4SlFVRkpReXhGUVVGRkxFbEJRVWxvU2l4TFFVRkxNRkVzYjBKQlFXOUNMRXRCUVVzc1NVRkJTVGRSTEVWQlFVVTJVQ3hGUVVGRk0wb3NVMEZCVXpSTUxHVkJRV1VzZVVKQlFYbENPVklzUlVGQlJXdEhMRk5CUVZNMlRDeE5RVUZOTjB3c1UwRkJVemhNTEhGQ1FVRnhRaXhSUVVGUkxFbEJRVWx1UXl4RlFVRkZNMG9zVTBGQlV6UkxMR05CUVdNc1ZVRkJWV2hNTEV0QlFVc3NWMEZCVnl0S0xFVkJRVVU1U0N4aFFVRmhMRXRCUVVzc2RVSkJRWFZDT0Vnc1JVRkJSV3hHTEZsQlFWbDZSU3hUUVVGVEswd3NaVUZCWlN4dFJFRkJiVVJxVXl4RlFVRkZNa3NzV1VGQldXdEdMRWxCUVVrelNpeFRRVUZUT0Vzc1MwRkJTMnRDTEZWQlFWVkRMRWxCUVVrc2EwSkJRV3RDUXl4TlFVRk5MRmRCUVZjc1NVRkJTU3hKUVVGSmJsTXNSVUZCUldsSExGTkJRVk4zVEN4cFFrRkJhVUlzYlVKQlFXMUNlRklzUlVGQlJTeEZRVUZGUVN4RlFVRkZSQ3hGUVVGRmFVa3NUMEZCVDJoSkxFbEJRVWtzUTBGQlF5eEpRVUZKTUVnc1JVRkJSVE5JTEVWQlFVVkRMRWRCUVVkNVVpeGhRVUZoTEdsQ1FVRnBRakZTTEVWQlFVVkRMRWRCUVVjeVNTeE5RVUZOYWtJc1IwRkJSeXhMUVVGTE0wZ3NSVUZCUlVNc1IwRkJSMjFUTEdkQ1FVRm5RaXhwUWtGQmFVSnVUU3hUUVVGVE9Fc3NTMEZCUzJ0Q0xGVkJRVlZKTEU5QlFVOHNhVUpCUVdsQ2RGTXNSVUZCUlRSUExGVkJRVlV4UXl4TFFVRkxMRk5CUVZOcVRTeEhRVUZITEVkQlFVZEJMRVZCUVVWQkxFZEJRVWNzUjBGQlIwVXNTMEZCUzI5VExGbEJRVmtzVDBGQlQzQlRMRXRCUVVzc1IwRkJSMEVzUzBGQlN6SkpMRk5CUVZNelNTeExRVUZMSzBvc1ZVRkJWUzlLTEV0QlFVdHhVeXhWUVVGVmNsTXNTMEZCUzNGVExGRkJRVkY2VXl4RlFVRkZMRmxCUVZreVN5eFBRVUZQZGtzc1MwRkJTM1ZPTEdWQlFXVjJTaXhUUVVGVGNFVXNSVUZCUlN4VlFVRlZTU3hMUVVGTE5FOHNUMEZCVDBNc1lVRkJZVGRQTEV0QlFVczBUeXhQUVVGUE5VOHNTMEZCUzNkT0xHdENRVUZyUW5oT0xFdEJRVXR6VXl4WFFVRlhMRTlCUVU5MFV5eExRVUZMUVN4TFFVRkxReXhSUVVGUk1rUXNXVUZCV1doRkxFVkJRVVZ0Unl4VlFVRlZhVU1zUjBGQlJ5eGpRVUZqYUVrc1MwRkJTMFVzUjBGQlJ5eFRRVUZUU2l4SFFVRkhMRWxCUVVsQkxFVkJRVVY1VXl4VFFVRlRkbE1zUzBGQlMyOUtMRTFCUVUwc1EwRkJRME1zWVVGQldTeExRVUZOYWtRc1MwRkJTM0JITEZGQlFVOHNTVUZCUzBFc1MwRkJTME1zVVVGQlVUUkVMR05CUVdNc1UwRkJVemRFTEV0QlFVdERMRkZCUVZFMFJDeGxRVUZsYWtVc1JVRkJSU3hSUVVGUmIwa3NSMEZCUnl4alFVRmphRWtzUzBGQlMwVXNSMEZCUnl4aFFVRmhSaXhMUVVGTFJTeEhRVUZITEZOQlFWTktMRWRCUVVkRkxFdEJRVXQ1VGl4blFrRkJaMElzVVVGQlVYcE9MRXRCUVV0RExGRkJRVkUwUkN4bFFVRmxMMFFzUlVGQlJXOURMRkZCUVZGc1F5eExRVUZMTWtrc1VVRkJVU3hKUVVGSk0wa3NTMEZCU3pKSkxGRkJRVkUyU2l4SlFVRkpNVk1zUlVGQlJXOURMRkZCUVZFMlJpeFRRVUZUTDBnc1MwRkJTMjlLTEUxQlFVMHNRMEZCUTBNc1lVRkJXU3hMUVVGTmFrUXNTMEZCUzNCSExFOUJRVTlCTEV0QlFVczBSaXhsUVVGbGFFY3NSVUZCUlN4WlFVRlpiMGtzUjBGQlJ5eGpRVUZqYUVrc1MwRkJTMFVzUjBGQlJ5eGhRVUZoUml4TFFVRkxSU3hIUVVGSExGZEJRVmNzVDBGQlRTeExRVUZOTEVsQlFVbElMRVZCUVVVc1dVRkJWeXhKUVVGTFF5eExRVUZMT0Vjc2NVSkJRWEZDYWtnc1JVRkJSVGhITEZWQlFWVkRMRXRCUVV0RExFbEJRVWxUTEZOQlFWTjBTQ3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hWUVVGVkxFbEJRVWsxU1N4TFFVRkxReXhSUVVGUmQwUXNUMEZCVHpWRUxFVkJRVVU0Unl4WFFVRlhMRVZCUVVVNVJ5eEZRVUZGT0Vvc2JVSkJRVzFDTEVkQlFVY3NSVUZCUlROS0xFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGTkJRVk12U1N4RlFVRkZPRWNzVjBGQlZ6TkhMRXRCUVV0RExGRkJRVkYzUkN4UFFVRlBOVVFzUlVGQlJUaEhMRmRCUVZjelJ5eExRVUZMYlVzc1VVRkJVVzVMTEV0QlFVdERMRkZCUVZGclFpeFZRVUZWYmtJc1MwRkJTMjFMTEU5QlFVOHJSQ3hMUVVGTGJFOHNTMEZCUzBNc1VVRkJVV3RDTEZkQlFWZHVRaXhMUVVGTEswc3NVMEZCVXk5TExFdEJRVXR0U3l4UFFVRlBLMFFzUzBGQlMyeFBMRXRCUVV0RExGRkJRVkZyUWl4WFFVRlZMRWRCUVVsdVFpeExRVUZMYlVzc1VVRkJVVzVMTEV0QlFVdERMRkZCUVZGblFpeGhRVUZoYWtJc1MwRkJTMjFMTEU5QlFVOHpTU3hMUVVGTExHMUNRVUZ0UW5oQ0xFdEJRVXMwUWl4WFFVRlhOVUlzUzBGQlMyMUxMRTlCUVU4elNTeExRVUZMTEc5Q1FVRnRRaXhIUVVGSmVFSXNTMEZCUzIxTExFOUJRVThyUkN4TFFVRkxiRThzUzBGQlMwTXNVVUZCVVdkQ0xGbEJRVmxxUWl4TFFVRkxORUlzVjBGQlZ6VkNMRXRCUVV0dFN5eFBRVUZQSzBRc1MwRkJTMnhQTEV0QlFVdERMRkZCUVZGblFpeGhRVUZaTEVkQlFVa3NVVUZCVVdwQ0xFdEJRVXRETEZGQlFWRm5RaXhaUVVGWmFrSXNTMEZCU3pSQ0xGZEJRVmMxUWl4TFFVRkxiVXNzVDBGQlR6aEZMRkZCUVU4c1NVRkJTMnBRTEV0QlFVdHRSeXhYUVVGWExGZEJRVmR1Unl4TFFVRkxReXhSUVVGUmNVSXNUMEZCVDNSQ0xFdEJRVXRETEZGQlFWRnhRaXhMUVVGTFF5eExRVUZMZGtJc1MwRkJTMjFMTEZGQlFWRnVTeXhMUVVGTGJVc3NUMEZCVHl0RUxFdEJRVXRzVHl4TFFVRkxReXhSUVVGUmNVSXNTMEZCUzBrc1dVRkJXVEZDTEV0QlFVdDVVeXhaUVVGWmVsTXNTMEZCUzBNc1VVRkJVWEZDTEV0QlFVdEhMRk5CUVZNelFpeEZRVUZGZDBJc1QwRkJUM2hDTEVWQlFVVjNRaXhMUVVGTFF5eExRVUZMZWtJc1JVRkJSWGRDTEV0QlFVdEZMRk5CUVZNc1ZVRkJWWGhDTEV0QlFVdERMRkZCUVZGeFFpeExRVUZMUnl4VFFVRlRla0lzUzBGQlMyMUxMRk5CUVZOdVN5eExRVUZMYlVzc1QwRkJUek5KTEV0QlFVc3NiVUpCUVcxQ01VSXNSVUZCUlhkQ0xFOUJRVTk0UWl4RlFVRkZkMElzUzBGQlMwTXNTMEZCUzNwQ0xFVkJRVVYzUWl4TFFVRkxSU3hOUVVGTmVFSXNTMEZCUzNOQ0xFdEJRVXQ0UWl4RlFVRkZkMElzVFVGQlRTeE5RVUZMTEVkQlFVbDBRaXhMUVVGTE5FSXNWMEZCVnpWQ0xFdEJRVXR0U3l4UFFVRlBNMGtzUzBGQlN5eHZRa0ZCYjBKNFFpeExRVUZMTUZNc2JVSkJRVzFDTVZNc1MwRkJTME1zVVVGQlVUWkRMRzFDUVVGdFFqbERMRXRCUVV0dFF5eFRRVUZUY2tNc1MwRkJTMFVzUzBGQlN6QlRMR3RDUVVGcFFpeEhRVUZKTVZNc1MwRkJTekpUTEZkQlFWY3pVeXhMUVVGTGFVOHNhMEpCUVd0Q2FrOHNTMEZCU3pST0xGTkJRVk0xVGl4TFFVRkxORTRzVVVGQlR5eEZRVUZITlU0c1MwRkJTME1zVVVGQlVYRkZMRmxCUVZsMFJTeExRVUZMUXl4UlFVRlJNRVFzVjBGQlZ6TkVMRXRCUVV0RExGRkJRVkZ4UlN4WlFVRlpkRVVzUzBGQlMyOUtMRkZCUVZGd1NpeExRVUZMWjB3c1owSkJRV2RDYUV3c1MwRkJTME1zVVVGQlVXbEZMR05CUVdOc1JTeExRVUZMUXl4UlFVRlJhMFVzYTBKQlFXdENkRVVzUlVGQlJTdFRMR3RDUVVGclFpOVRMRVZCUVVVclV5eHhRa0ZCY1VJdlV5eEZRVUZGSzFNc2EwSkJRV3RDTEVWQlFVVTFVeXhMUVVGTGMxRXNVMEZCVTNWRExFMUJRVTFETEZGQlFWRTVVeXhMUVVGTFF5eFJRVUZSYTBVc2IwSkJRVzlDTEdsQ1FVRnBRbTVGTEV0QlFVdERMRkZCUVZGclJTeHJRa0ZCYTBKdVJTeExRVUZMUXl4UlFVRlJhMFVzYTBKQlFXdENMRTlCUVU5MlJTeEZRVUZGTEZGQlFWRXdSQ3hUUVVGVExHOUNRVUZ2UW5SRUxFdEJRVXRGTEV0QlFVdEdMRXRCUVV0RExGRkJRVkZ6UkN4VlFVRlZka1FzUzBGQlMyOU1MR1ZCUVdWd1RDeExRVUZMYlVNc1dVRkJXVzVETEV0QlFVdERMRkZCUVZGdFJDeFpRVUZaY0VRc1MwRkJTekpUTEZkQlFWY3pVeXhMUVVGTE1rNHNVMEZCVXl4UlFVRlJNMDRzUzBGQlMwTXNVVUZCVVhsRkxFOUJRVTh4UlN4TFFVRkxReXhSUVVGUmVVVXNUVUZCVFhGSUxFMUJRVTB2VEN4TFFVRkxNRVVzVFVGQlRURkZMRXRCUVV0RExGRkJRVkY1UlN4TlFVRk5jVWdzUzBGQlN5OU1MRXRCUVV0RExGRkJRVkV3UlN4UFFVRlBiMGdzVFVGQlRTOU1MRXRCUVV0RExGRkJRVkZyUkN4TFFVRkxia1FzUzBGQlN6SkpMRkZCUVZFd1F5eFBRVUZQUXl4UlFVRlJMRU5CUVVOd1FpeFJRVUZSTEVkQlFVY3NRMEZCUTNGQ0xFOUJRVTBzUlVGQlIwTXNVMEZCVTNoTUxFdEJRVXRETEZGQlFWRnJSQ3hMUVVGTGMwa3NUVUZCVFN4WFFVRlhla3dzUzBGQlN5dFRMRmRCUVZVc1JVRkJSeTlUTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEVOQlFVTnhRaXhSUVVGUkxGZEJRVmMzUkN4TFFVRkxjRWNzVFVGQlRXZFVMRTlCUVU4c1YwRkJWMmhVTEV0QlFVc3JVeXhYUVVGVkxFVkJRVWR5Uml4WFFVRlhMRmRCUVZjeFRpeExRVUZMYVZRc2QwSkJRWGRDYWxRc1MwRkJTMjFETEdGQlFXRnVReXhMUVVGTGFWUXNkMEpCUVhWQ0xFbEJRVXMzVFN4TFFVRkxjRWNzVFVGQlRTeExRVUZMYjBjc1MwRkJTM0JITEZOQlFWTkJMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRU5CUVVOeFFpeFJRVUZSTEZGQlFWRkRMRkZCUVZFc1NVRkJTV3hMTEV0QlFVdHBWQ3gzUWtGQmQwSnFWQ3hMUVVGTGJVTXNZVUZCWVc1RExFdEJRVXRwVkN4M1FrRkJkVUlzVFVGQlR6ZE5MRXRCUVV0d1J5eE5RVUZOTEU5QlFVOUJMRXRCUVV0RExGRkJRVkY1UkN4WFFVRlhNVVFzUzBGQlN6Uk9MRkZCUVZFMVRpeExRVUZMTWxNc1YwRkJWemRUTEVWQlFVVjFTaXhaUVVGWmRFb3NTVUZCU1VNc1MwRkJTelJQTEUxQlFVMXNRaXhYUVVGWE0wNHNSVUZCUlVNc1MwRkJTME1zVVVGQlVYbEVMRmRCUVZjeFJDeE5RVUZOU0N4RlFVRkZORThzVlVGQlZYSkdMRTFCUVUwc1UwRkJVM1JLTEVkQlFVY3NSMEZCUjBFc1JVRkJSVUVzUjBGQlJ5eEhRVUZIUml4RlFVRkZMRkZCUVZGcFN5eEpRVUZKTEdOQlFXTTNTaXhMUVVGTFJTeEhRVUZITEdGQlFXRkdMRXRCUVV0RkxFbEJRVWxHTEV0QlFVczBSaXhsUVVGbGFFY3NSVUZCUlN4WlFVRlphVXNzU1VGQlNTeGpRVUZqTjBvc1MwRkJTMFVzUjBGQlJ5eGhRVUZoUml4TFFVRkxSU3hKUVVGSlJpeExRVUZMYjFNc1lVRkJZWEJUTEV0QlFVc3lVeXhWUVVGVkxFOUJRVTh6VXl4TFFVRkxMRWRCUVVkQkxFdEJRVXMwVHl4UFFVRlBReXhoUVVGaE4wOHNTMEZCU3pSUExFOUJRVTgxVHl4TFFVRkxkMDRzYTBKQlFXdENlRTRzUzBGQlMzTlRMRmRCUVZjc1QwRkJUM1JUTEV0QlFVc3NTVUZCU1VRc1JVRkJSVEJJTEVWQlFVVmpMRVZCUVVWVUxFVkJRVVVzVjBGQlZ5eEpRVUZKYUVrc1JVRkJSVVVzUzBGQlMyMUhMRmRCUVZjc1YwRkJWMjVITEV0QlFVdERMRkZCUVZGblF5eHRRa0ZCYlVKcVF5eExRVUZMYTFRc1lVRkJZV3hVTEV0QlFVczBUaXhUUVVGVE5VNHNTMEZCU3pST0xGRkJRVThzUlVGQlJ6Vk9MRXRCUVV0dFRDeG5Ra0ZCWjBKdVRDeExRVUZMUXl4UlFVRlJhVVVzWTBGQlkyeEZMRXRCUVV0RExGRkJRVkZyUlN4dFFrRkJiVUowUlN4RlFVRkZLMU1zYTBKQlFXdENMMU1zUlVGQlJTdFRMRzlDUVVGdlFpOVRMRVZCUVVVclV5eHJRa0ZCYTBJc1NVRkJTVFZUTEV0QlFVdHpVU3hUUVVGVE1rSXNVVUZCVVhKVExFVkJRVVVzVVVGQlVXOVBMRmxCUVZrc2IwSkJRVzlDYUU4c1MwRkJTMFVzUzBGQlMwWXNTMEZCUzBNc1VVRkJVWE5FTEZOQlFWTjJSQ3hMUVVGTE1Fd3NaVUZCWlRGTUxFdEJRVXRETEZGQlFWRnRSQ3haUVVGWmNFUXNTMEZCU3l0VExGZEJRVmN2VXl4TFFVRkxNazRzVTBGQlV5eFRRVUZUTTA0c1MwRkJTME1zVVVGQlVYbEZMRTlCUVU4eFJTeExRVUZMUXl4UlFVRlJlVVVzVFVGQlRUQkZMRTlCUVU5d1NpeExRVUZMTUVVc1RVRkJUVEZGTEV0QlFVdERMRkZCUVZGNVJTeE5RVUZOTUVVc1RVRkJUWEJLTEV0QlFVdERMRkZCUVZFd1JTeFBRVUZQZVVVc1VVRkJVWFJLTEVWQlFVVkZMRXRCUVVzMFJpeGxRVUZsTEZOQlFWTTFSaXhMUVVGTFF5eFJRVUZSYVVNc1QwRkJUeXhGUVVGRmJFTXNTMEZCUzBNc1VVRkJVV3RFTEUxQlFVMXVSQ3hMUVVGTE1ra3NVVUZCVVRCRExFOUJRVTlETEZGQlFWRXNRMEZCUTNCQ0xGRkJRVkVzUjBGQlJ5eERRVUZEY1VJc1QwRkJUU3hGUVVGSFF5eFRRVUZUTVV3c1JVRkJSVEpNTEUxQlFVMHNWMEZCVjNwTUxFdEJRVXN5VXl4WFFVRlZMRWRCUVVsMlRTeExRVUZMY0Vjc1RVRkJUVEpNTEZOQlFWTXNWMEZCVnpOTUxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxFTkJRVU54UWl4UlFVRlJMRk5CUVZOcVN5eExRVUZMYlVjc1YwRkJWeXh2UWtGQmIwSkRMRXRCUVV0d1J5eE5RVUZOWjFRc1QwRkJUeXhYUVVGWGFGUXNTMEZCU3pKVExGZEJRVlVzUjBGQlNYWk5MRXRCUVV0d1J5eFRRVUZUUVN4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFBRVUZQUXl4UlFVRlJMRWxCUVVsc1N5eExRVUZMYlVjc1YwRkJWeXh6UWtGQmMwSkRMRXRCUVV0d1J5eE5RVUZOTEU5QlFVOUdMRVZCUVVWMVNpeGhRVUZoY2tvc1MwRkJTelJHTEdWQlFXVXNVMEZCVXpWR0xFdEJRVXRETEZGQlFWRnBReXhQUVVGUE5FWXNTMEZCU3psSUxFdEJRVXRETEZGQlFWRnpSU3hqUVVGamRrVXNTMEZCUzBNc1VVRkJVWFZGTEdkQ1FVRm5RaXhIUVVGSGVFVXNTMEZCUzBNc1VVRkJVVEJFTEZsQlFWazRSQ3hIUVVGSE1VZ3NSVUZCUlVNc1RVRkJUVU1zVVVGQlVUQkVMRmRCUVZjMFJTeEZRVUZGTkVzc1MwRkJTME1zVFVGQlRYQlVMRXRCUVV0RExGRkJRVkYxUlN4blFrRkJaMEo0UlN4TFFVRkxjVlFzVVVGQlVYWlVMRVZCUVVWR0xFVkJRVVVzYTBOQlFXdERTU3hMUVVGTGNWUXNUVUZCVFhwVUxFVkJRVVVzZDBOQlFYZERSU3hGUVVGRmQxUXNVVUZCVVhSVUxFdEJRVXR4VkN4UFFVRlBlbFFzUlVGQlJTeEpRVUZKU1N4TFFVRkxSU3hKUVVGSmNVc3NUMEZCVDNwTExFbEJRVWxGTEV0QlFVdDFWQ3hWUVVGVkxGZEJRVmNzU1VGQlNYcFVMRVZCUVVWeFZDeExRVUZMUXl4TlFVRk5jbFFzUlVGQlJXdE1MRmxCUVZsNFJDeEhRVUZITTBnc1JVRkJSWGxKTEVkQlFVZEJMRVZCUVVWNlNTeEZRVUZGTEVWQlFVVXlTQ3hIUVVGSE1VZ3NSVUZCUlVVc1VVRkJVWFZGTEdWQlFXVjZSU3hGUVVGRmMxUXNUVUZCVFhwTExFbEJRVWtzVVVGQlVTeEpRVUZKYmtJc1JVRkJSVEZJTEVWQlFVVkZMRkZCUVZFd1JDeFhRVUZYTEV0QlFVczRRaXhQUVVGUEswNHNjMEpCUVhOQ2VsUXNSVUZCUlhkVUxGbEJRVmw2VEN4TFFVRkxja01zVDBGQlR5dE9MSE5DUVVGelFuaFVMRXRCUVV0MVZDeFpRVUZaZGxRc1MwRkJTelJQTEUxQlFVMXNRaXhYUVVGWE5VWXNSVUZCUld4Q0xFdEJRVXRETEVsQlFVazNSeXhMUVVGTFF5eFJRVUZSTUVRc1YwRkJWeXhMUVVGTE0wUXNUVUZCVFVnc1JVRkJSVFJQTEZWQlFWVm5SaXhQUVVGUExGTkJRVk16VkN4SFFVRkhMRTlCUVU5RkxFdEJRVXRCTEV0QlFVczBUaXhQUVVGUExGRkJRVkVzVVVGQlVUbE9MRWRCUVVkRkxFMUJRVTFJTEVWQlFVVTBUeXhWUVVGVmFVWXNVVUZCVVN4WFFVRlhMRTlCUVU4eFZDeExRVUZMYzFNc1dVRkJWeXhGUVVGSGRGTXNUVUZCVFVnc1JVRkJSVFJQTEZWQlFWVnJSaXhQUVVGUExGZEJRVmNzVDBGQlR6TlVMRXRCUVV0elV5eFpRVUZYTEVWQlFVZDBVeXhOUVVGTlNDeEZRVUZGTkU4c1ZVRkJWVzFHTEV0QlFVc3NWMEZCVnl4UFFVRlBOVlFzUzBGQlN6QlVMRlZCUVZVeFZDeExRVUZMTWtrc1ZVRkJWVE5KTEV0QlFVczJWQ3h2UWtGQmIwSTNWQ3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hYUVVGWE5Va3NTMEZCU3pKSkxGRkJRVkZETEVsQlFVa3NRMEZCUTNGQ0xGRkJRVkVzVlVGQlZXcExMRXRCUVV0MVJDeFZRVUZWZGtRc1MwRkJTemhVTEc5Q1FVRnZRamxVTEV0QlFVdDFSQ3hSUVVGUmNVWXNTVUZCU1N4WFFVRlhOVWtzUzBGQlMzVkVMRkZCUVZGeFJpeEpRVUZKTEVOQlFVTnhRaXhSUVVGUkxGVkJRVlZxU3l4TlFVRk5TQ3hGUVVGRk5FOHNWVUZCVlhOR0xFdEJRVXNzVjBGQlZ5eFBRVUZQTDFRc1MwRkJTekpVTEZOQlFWTXpWQ3hMUVVGTE1ra3NVMEZCVXpOSkxFdEJRVXMyVkN4elFrRkJjMEkzVkN4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVXcExMRXRCUVVzMlZDeHpRa0ZCYzBJM1ZDeExRVUZMTmxRc2IwSkJRVzlDTEUxQlFVMDNWQ3hMUVVGTGRVUXNVMEZCVTNaRUxFdEJRVXM0VkN4elFrRkJjMEk1VkN4TFFVRkxkVVFzVVVGQlVYRkdMRWxCUVVrc1EwRkJRM0ZDTEZGQlFWRnFTeXhMUVVGTE9GUXNjMEpCUVhOQ09WUXNTMEZCU3poVUxHOUNRVUZ2UWl4TlFVRk5PVlFzVFVGQlRVZ3NSVUZCUlRSUExGVkJRVlZ1VGl4TFFVRkxMRk5CUVZOdFJ5eEZRVUZGTVVnc1IwRkJSekJJTEVWQlFVVkJMRWRCUVVjc1IwRkJSemRJTEVWQlFVVXJTQ3hMUVVGTExFTkJRVU1zUTBGQlF5eFZRVUZWTEZGQlFWRXNRMEZCUXl4VFFVRlRMRkZCUVZFc1UwRkJVemRJTEVWQlFVVkRMRWRCUVVkRExFdEJRVXRETEZGQlFWRnhRaXhMUVVGTGRrSXNSVUZCUlN4TlFVRk5NRWdzUlVGQlJURklMRVZCUVVVc1MwRkJTME1zUzBGQlMyMUxMRkZCUVZFc1RVRkJUVzVMTEV0QlFVdHRTeXhQUVVGUEswUXNTMEZCUzJ4UExFdEJRVXRETEZGQlFWRnhRaXhMUVVGTGRrSXNSVUZCUlN4UFFVRlBNRWdzUlVGQlJURklMRVZCUVVVc1NVRkJTVU1zUzBGQlMyMUxMRTlCUVU4clJDeExRVUZMYkU4c1MwRkJTME1zVVVGQlVYRkNMRXRCUVV0MlFpeEZRVUZGTEUxQlFVMHNTMEZCUzNGSExFdEJRVXR3Unl4UFFVRlBMRWxCUVVsR0xFVkJRVVZHTEVWQlFVVTRSaXhSUVVGUExFVkJRVWNzUjBGQlJ6RkdMRXRCUVV0RExGRkJRVkZ4UWl4TlFVRk5kRUlzUzBGQlMydFVMR0ZCUVdFc1NVRkJTVE5MTEVWQlFVVmtMRVZCUVVWMVRTeFpRVUZaYkZVc1JVRkJSV3RWTEZsQlFWa3NZVUZCWVd4TkxFVkJRVVZNTEVWQlFVVnJSU3hWUVVGVk4wd3NSVUZCUlRaTUxGVkJRVlVzWVVGQllUVkRMRVZCUVVWMFFpeEZRVUZGZDAwc1UwRkJVMjVWTEVWQlFVVnRWU3hUUVVGVExHRkJRV0ZxVEN4RlFVRkZka0lzUlVGQlJYbE5MRTlCUVU5d1ZTeEZRVUZGYjFVc1QwRkJUeXhoUVVGaGNsVXNSVUZCUlVRc1JVRkJSVGhHTEZGQlFVOHNSVUZCUnpWR0xFVkJRVVV5U0N4SFFVRkhMRTlCUVU4MVNDeEZRVUZGYlZVc1YwRkJWeXhUUVVGVGJGVXNSMEZCUjBRc1JVRkJSV2RETEdOQlFXTTNRaXhMUVVGTE1ra3NVVUZCVVhKR0xGVkJRVk1zU1VGQlMzcEVMRVZCUVVWblF5eGhRVUZoTEdWQlFXVm9ReXhGUVVGRlowTXNZMEZCWTJoRExFVkJRVVZwUXl4VlFVRlZPVUlzUzBGQlN5dENMR0ZCUVdFeVRDeFhRVUZYTEZkQlFWY3hUaXhMUVVGTE1ra3NVVUZCVVhKR0xGTkJRVk1zZDBKQlFYZENla1FzUlVGQlJXMURMRzlDUVVGdlFtcERMRVZCUVVWRExFdEJRVXRwVkN4M1FrRkJkVUlzUlVGQlIycFVMRXRCUVV0dFF5eFpRVUZaYmtNc1MwRkJTemhDTEZGQlFWRnNReXhIUVVGRkxFbEJRVXRETEVWQlFVVnBReXhSUVVGUmFrTXNSVUZCUldsRExGRkJRVkVzYjBOQlFXOURhME1zVTBGQlUyaEZMRXRCUVV0elN5eFhRVUZYZEVzc1MwRkJTM2xKTEdkQ1FVRm5RaXhaUVVGWmVra3NTMEZCU3poQ0xGRkJRVkU0Unl4SlFVRkpMR0ZCUVdFMVNTeExRVUZMT0VJc1VVRkJVVGhITEVsQlFVa3NRMEZCUTNWTUxGVkJRVlVzWTBGQll5eEhRVUZIYmxVc1MwRkJTM2xKTEdWQlFXVktMR05CUVdNc1UwRkJVMnBETEV0QlFVdHdSeXhOUVVGTkxFbEJRVWxCTEV0QlFVdG5RaXhSUVVGUmFVOHNVVUZCVVhCUUxFVkJRVVZyUXl4alFVRmpMRWxCUVVsM1J5eEZRVUZGYmtNc1MwRkJTM0JITEV0QlFWQjFTU3hEUVVGaGVra3NTVUZCU1hOSExFdEJRVXR3Unl4TlFVRk5TQ3hGUVVGRk9Fd3NVMEZCVXl4VFFVRlROMHdzUjBGQlIwVXNTMEZCU3l0Q0xHTkJRV000VFN4aFFVRmhOMDhzUzBGQlN5dENMR05CUVdNdlFpeExRVUZMTWtrc1VVRkJVWEZHTEZsQlFWa3NaMFZCUVdkRmFFOHNTMEZCU3poQ0xGTkJRVk01UWl4TFFVRkxPRUlzVVVGQlVXbEhMRkZCUVZFdlNDeExRVUZMT0VJc1VVRkJVWEZSTEZWQlFWVjBVeXhGUVVGRmJVTXNiMEpCUVc5Q2FrTXNSVUZCUlVNc1MwRkJTMmxVTEhkQ1FVRjFRaXhGUVVGSGFsUXNTMEZCUzIxRExGbEJRVmx1UXl4TFFVRkxlVk1zV1VGQlZ5eEZRVUZITTBzc1JVRkJSVEZDTEV0QlFVdHdSeXhMUVVGUU9FZ3NRMEZCWVdoSkxFbEJRVWx6Unl4TFFVRkxjRWNzVFVGQlRVZ3NSVUZCUlc5VkxGRkJRVkVzVTBGQlUyNVZMRWRCUVVkRUxFVkJRVVVyUWl4WlFVRlpOVUlzUzBGQlN6UkNMRmRCUVZjNVFpeEhRVUZGTEV0QlFVMURMRVZCUVVWRExFdEJRVXRwVkN4M1FrRkJkVUlzUlVGQlIycFVMRXRCUVV0dFF5eFpRVUZaZEVNc1JVRkJSU3RDTEZsQlFWazFRaXhMUVVGTGJVc3NVVUZCVVc1TExFdEJRVXR0U3l4UFFVRlBNMGtzUzBGQlN5eHBRa0ZCYVVJeFFpeEhRVUZIYVVvc1JVRkJSVE5ETEV0QlFVdHdSeXhMUVVGUUswa3NRMEZCWVdwS0xFbEJRVWx6Unl4TFFVRkxjRWNzVFVGQlRVZ3NSVUZCUlhGVkxFMUJRVTBzVTBGQlUzQlZMRWRCUVVkclNpeEZRVUZGTlVNc1MwRkJTM0JITEV0QlFWQm5TaXhEUVVGaGJFb3NTVUZCU1hOSExFdEJRVXR3Unl4TlFVRk5RU3hMUVVGTGIxVXNXVUZCV1hoVkxFVkJRVVV3UWl4TFFVRkxla0lzUjBGQlIwY3NUVUZCVFVnc1JVRkJSVFJQTEZWQlFWVjVSU3hYUVVGWExGZEJRVmRzVkN4TFFVRkxiMVVzWTBGQlkzQlZMRXRCUVV0dlZTeFpRVUZaUXl4UlFVRlJjbFVzUzBGQlMzbFRMRmxCUVZjc1NVRkJTelZUTEVWQlFVVTBUeXhWUVVGVkwwb3NUVUZCVFN4VFFVRlROVVVzUlVGQlJVTXNSMEZCUnl4SlFVRkpSQ3hGUVVGRkxFOUJRVTlGTEV0QlFVc3NTVUZCU1hsSUxFZEJRVWMxU0N4RlFVRkZlVlVzVDBGQlVYcFZMRVZCUVVWNVZTeFBRVUZWZWxVc1JVRkJSWGxWTEU5QlFVd3NTVUZCWVhoVkxFdEJRVXN5U0N4RlFVRkZOMGdzUlVGQlJTeFpRVUZaUVN4RlFVRkZMRmxCUVZrc1EwRkJRekpQTEVsQlFVbDZUeXhGUVVGRkxGTkJRVk5yUlN4VFFVRlRlVVFzUjBGQlJ6ZElMRVZCUVVVc1dVRkJXU3hEUVVGRE1rOHNTVUZCU1hwUExFVkJRVVVzVTBGQlUydEZMRk5CUVZONVJDeEhRVUZITlVnc1JVRkJSWGxWTEU5QlFVOTRWU3hIUVVGSE1rZ3NSVUZCUlN4SlFVRkpOVWdzUlVGQlJYbFZMRTlCUVU5NFZTeEhRVUZITmtVc1QwRkJUMmxETEV0QlFVdHRTQ3hMUVVGTExFMUJRVTFvVHl4RlFVRkZRU3hGUVVGRkxFdEJRVXNzU1VGQlNTeEhRVUZITEVsQlFVbEdMRVZCUVVWNVZTeFBRVUZQZUZVc1IwRkJSM2xWTEZGQlFWRXhWU3hGUVVGRmVWVXNUMEZCVDNoVkxFZEJRVWN3VlN4WlFVRlpMRVZCUVVVc1RVRkJUVEZWTEVsQlFVa3NUMEZCVDBRc1JVRkJSWGxWTEU5QlFVOTRWU3hIUVVGSE1sVXNUMEZCVDNwVkxFMUJRVTFJTEVWQlFVVTJWU3hwUWtGQmFVSXNRMEZCUTNKSkxFdEJRVXNzU1VGQlNYTkpMRlZCUVZVc1NVRkJTVU1zVFVGQlRTeEpRVUZKUXl4TlFVRk5MRWxCUVVsRExGRkJRVkVzU1VGQlNVTXNWVUZCVlN4SlFVRkpReXhOUVVGTkxFbEJRVWxETEU5QlFVOHNTVUZCU1VNc1QwRkJUeXhKUVVGSlF5eFJRVUZSTEVsQlFVbERMRkZCUVZFc1NVRkJTVU1zVjBGQlZ5eEpRVUZKUXl4VlFVRlZMRWxCUVVsRExGVkJRVlVzUzBGQlN6RldMRVZCUVVVMFR5eFZRVUZWYmtRc1VVRkJVU3hUUVVGVGVFd3NSVUZCUlVNc1IwRkJSMEVzUlVGQlJVRXNSMEZCUnl4SFFVRkhReXhMUVVGTGQxWXNiVUpCUVcxQ2VGWXNTMEZCUzNkV0xHbENRVUZwUWl4SlFVRkplbFlzUlVGQlJUUkxMRlZCUVZVMVN5eEZRVUZGTkVzc1VVRkJVVE5MTEV0QlFVc3lTU3hUUVVGVE5Va3NSVUZCUlRSTExGRkJRVkZ1U2l4TFFVRkxMSE5DUVVGelFucENMRVZCUVVVMFN5eFJRVUZSYmtvc1MwRkJTeXh2UWtGQmIwSXpRaXhGUVVGRk5GWXNkVUpCUVhWQ01WWXNSVUZCUlRSTExGRkJRVkZ1U2l4TFFVRkxMRzlDUVVGdlFucENMRVZCUVVVMFN5eFJRVUZSY1VRc1dVRkJXV3BQTEVWQlFVVTBTeXhSUVVGUmJrb3NTMEZCU3l4dFFrRkJiVUpCTEV0QlFVc3NhVUpCUVdsQ0xFMUJRVTE0UWl4TFFVRkxkMVlzYVVKQlFXbENlbFlzUlVGQlJUUkxMRkZCUVZGdVNpeExRVUZMTEhWQ1FVRjFRbkZPTEdGQlFXRTNUeXhMUVVGTGQxWXNhVUpCUVdsQ2VsWXNSVUZCUlRSTExGRkJRVkZ1U2l4TFFVRkxMSGRDUVVGM1FucENMRVZCUVVVMFN5eFJRVUZSY2tnc1UwRkJVeXhwUWtGQmFVSjRSQ3hIUVVGSE1FSXNTMEZCU3l4cFFrRkJhVUlzYVVKQlFXbENNVUlzUjBGQlIwVXNTMEZCUzNkV0xHbENRVUZwUW5wV0xFVkJRVVUwU3l4UlFVRlJia29zUzBGQlN5eHpRa0ZCYzBKclRTeFhRVUZYTEZkQlFWY3pUaXhGUVVGRk5Fc3NVVUZCVVhGRUxGbEJRVmxxVHl4RlFVRkZORXNzVVVGQlVXNUtMRXRCUVVzc2JVSkJRVzFDUVN4TFFVRkxMR2xDUVVGcFFpeE5RVUZOZWtJc1JVRkJSVFJNTEZWQlFWVTFUQ3hGUVVGRk5Fd3NXVUZCV1RsTUxFVkJRVVUyVlN4cFFrRkJhVUkxVlN4TFFVRkxSQ3hGUVVGRk5FOHNWVUZCVldsSUxHTkJRV01zVTBGQlV6TldMRVZCUVVVd1NDeEhRVUZITEVsQlFVbGpMRVZCUVVVc1JVRkJSVlFzUlVGQlJTeEZRVUZGYVVJc1JVRkJSU3hGUVVGRlF5eEZRVUZGTEVWQlFVVnVTaXhGUVVGRkxFVkJRU3R1UWl4UFFVRlBORWdzUlVGQlJUZElMRVZCUVVVNFJpeFBRVUYwYjBJc1EwRkJRMmxSTEdWQlFXVXNSMEZCUjBNc1kwRkJZU3hIUVVFcmJVSnVUeXhIUVVGSE1VZ3NSVUZCUldsSkxFZEJRVWNzZFVKQlFXNXVRaXhUUVVGWGJFa3NSMEZCUnpKSUxFVkJRVVZ0VHl4bFFVRmxPVllzUlVGQlJXOUpMR05CUVdOdlFpeFZRVUZWZUVvc1JVRkJSVzlKTEdOQlFXTnZRaXhWUVVGVmVFb3NSVUZCUlVFc1JVRkJSVzlKTEdOQlFXTnZRaXhSUVVGUkxFbEJRVWtzU1VGQlNXWXNTVUZCU1VFc1JVRkJSU3hGUVVGRlZDeEZRVUZGYUVrc1JVRkJSU3RXTEZGQlFWRTVUU3hGUVVGRmFrb3NSVUZCUldkWExGbEJRV2RuUW14WExFVkJRVVVzVVVGQlVXOUpMRWRCUVVjc2JVSkJRVzVuUWl4VFFVRlhiRWtzUjBGQlJ5eEpRVUZKZVVrc1NVRkJTVUVzUlVGQlJTeEZRVUZGTTBJc1MwRkJTMjFRTEVsQlFVa3ZUU3hIUVVGSGNFTXNTMEZCUzIxUUxFbEJRVWxzVnl4SlFVRkpLMGNzUzBGQlMyMVFMRWxCUVVrdlRTeEhRVUZIZGtJc1JVRkJSV3RQTEdWQlFXVXpUU3hGUVVGRkxFVkJRVVZxU2l4RlFVRkZaU3hSUVVGUmJFSXNSVUZCUlc5WExFMUJRVTBzYVVKQlFXbENhbGNzUlVGQlJXVXNVVUZCVVd4Q0xFVkJRVVZ2Vnl4TlFVRk5MR3RDUVVGclFuQlFMRXRCUVV0dFVDeEpRVUZKYkZjc1IwRkJSelJJTEVWQlFVVnJUeXhwUWtGQmFVSTVWaXhGUVVGRkxFVkJRVVZGTEVWQlFVVmxMRkZCUVZGc1FpeEZRVUZGYjFjc1RVRkJUU3hsUVVGbGFsY3NSVUZCUldVc1VVRkJVV3hDTEVWQlFVVnZWeXhOUVVGTkxIRkNRVUYzVTNCWExFVkJRVVVzVVVGQlVXOUpMRWRCUVVjc2MwSkJRV3hUTEZOQlFWZHNTU3hIUVVGSExFbEJRVWxETEVWQlFVVXNTVUZCU1hkSkxFbEJRVWw0U1N4SFFVRkhSQ3hGUVVGRlFTeEZRVUZGYjBrc1kwRkJZMjlDTEZGQlFWRjRTaXhGUVVGRmIwa3NZMEZCWTI5Q0xGRkJRVkVzUjBGQlIzaEtMRWRCUVVjclZpeFJRVUZSTDA0c1JVRkJSV2hKTEVWQlFVVkJMRVZCUVVWblZ5eFJRVUZSTDAwc1IwRkJSMjVETEV0QlFVdHRVQ3hKUVVGSmFGY3NSMEZCUnpCSUxFVkJRVVZyVHl4blFrRkJaMEl2VHl4TFFVRkxiVkFzU1VGQlNXcFhMRWRCUVVjeVNDeEZRVUZGYTA4c2EwSkJRV3RDY0U0c1JVRkJSU3hGUVVGRlV5eEZRVUZGYWtvc1JVRkJSVVlzUlVGQlJVTXNUVUZCYlVsRExFZEJRVWRHTEVWQlFVVTBUeXhWUVVGVmQwZ3NVVUZCVVN4WFFVRlhMRTlCUVU5cVZ5eExRVUZMT0U4c1UwRkJVemxQTEV0QlFVczBUaXhSUVVGUk5VNHNTMEZCUzI5S0xFMUJRVTBzUTBGQlEwTXNZVUZCV1N4SlFVRkxja29zUzBGQlN6SkpMRk5CUVZNelNTeExRVUZMTWtrc1VVRkJVWGRLTEZOQlFWTnVVeXhMUVVGTGRVUXNVMEZCVTNaRUxFdEJRVXQxUkN4UlFVRlJORThzVTBGQlUyNVRMRXRCUVV0eFV5eFRRVUZUY2xNc1MwRkJTM0ZUTEZGQlFWRkdMRk5CUVZOdVV5eExRVUZMYjFNc1lVRkJXU3hGUVVGSGNGTXNUVUZCVFVnc1JVRkJSWGRITEdOQlFXTjJSeXhGUVVGRkxFVkJRVVVzVjBGQlZ5eFBRVUZQUVN4TlFVRk5SQ3hGUVVGRk5GWXNjVUpCUVhGQ01WWXNSVUZCUlN4RlFVRkZMRmRCUVZjc1QwRkJUMEVzVFVGQlRVWXNSVUZCUlhkR0xHVkJRV1VzUjBGQlIzaEdMRVZCUVVWeFZ5eFBRVUZQTEZOQlFWTndWeXhGUVVGRlF5eEhRVUZIUml4RlFVRkZkMFlzWlVGQlpYWkdMRWRCUVVkRExFZEJRVWRJTEVWQlFVVjFWeXhIUVVGSFF5eExRVUZMTEZOQlFWTjBWeXhGUVVGRlF5eEhRVUZITEU5QlFVOUJMRVZCUVVWQkxFZEJRVWNzUjBGQlJ5eEpRVUZKUml4RlFVRkZReXhGUVVGRlFTeEhRVUZITEVkQlFVZEdMRVZCUVVVNFJpeFBRVUZQTTBZc1JVRkJSU3hEUVVGRFl5eFBRVUZQWWl4VFFVRlRTQ3hGUVVGRkxGTkJRVk4zVnl4dFFrRkJiVUpFTEV0QlFVdEZMRkZCUVZFc1NVRkJTVVlzUzBGQlMwWXNUMEZCVHl4VlFVRlZMRU5CUVVOTExHTkJRV01zVTBGQlUwTXNZVUZCWVN4VFFVRlRReXhSUVVGUkxFdEJRVXRETEU5QlFVOHNTMEZCUzBNc1owSkJRV1VzUlVGQlIzcFZMRTlCUVU5MVJDeFBRVUZQYUVRc1QwRkJUU3hGUVVGSE5VSXNUMEZCVHl4cFFrRkJhVUpKTEZkQlFWY3NaVUZCWlVRc1VVRkJVU3hwUTBGQmFVTllMRk5CUVZNc1NVRkJTVVVzVTBGQlV5eEpRVUZKTWtRc1lVRkJXU3hGUVVGSFRpeFpRVUZYTEVWQlFVZERMR05CUVdFc1JVRkJSMFVzWVVGQldTeEZRVUZIVWl4VFFVRlJMRVZCUVVkSUxGVkJRVlVzVTBGQlUzSkRMR2RDUVVGbExFVkJRVWMyVml4VlFVRlZMRk5CUVZNNVZ5eEhRVUZITEVsQlFVbERMRVZCUVVWRExFdEJRVXRETEZGQlFWRjNWeXhWUVVGVk1WY3NSVUZCUlVRc1JVRkJSVzlQTEV0QlFVc3NWMEZCVjNCUExFVkJRVVZ2VHl4TFFVRkxMRmRCUVZkd1R5eEZRVUZGYjA4c1MwRkJTeXhSUVVGUmNFOHNSVUZCUlc5UExFdEJRVXNzVlVGQlZTeG5Ra0ZCWjBKd1R5eEZRVUZGYjA4c1MwRkJTeXhSUVVGUkxFOUJRVTl3VHl4RlFVRkZiMDhzUzBGQlN5eFZRVUZWTEUxQlFVMHNNa0pCUVRKQ2NFOHNSVUZCUlc5UExFdEJRVXNzVVVGQlVTeExRVUZMTEVkQlFVZHdUeXhGUVVGRksxY3NTMEZCU3l4VlFVRlZMRTFCUVUxeVZpeExRVUZMTEhOQ1FVRnpRbnBDTEV0QlFVc3JWeXhYUVVGWExGZEJRVmM1Vnl4TFFVRkxNa2tzVVVGQlVYSkdMRk5CUVZNc1kwRkJZM1JFTEV0QlFVdHZRaXhQUVVGUGExWXNUMEZCVHl4elEwRkJjME5CTEU5QlFVOHNhVVZCUVdsRmNrZ3NTMEZCUzJwUUxFdEJRVXRETEZGQlFWRjFWeXhqUVVGamVFOHNSMEZCUnl4WlFVRlpMRmRCUVZkb1NTeExRVUZMUXl4UlFVRlJlVmNzVVVGQlVURlhMRXRCUVV0RExGRkJRVkY1Vnl4UFFVRlBNVmNzUzBGQlMyMUxMRkZCUVZGdVN5eExRVUZMYjBvc1UwRkJVMmhFTEV0QlFVdHdSeXhQUVVGUFowVXNVMEZCVTJoRkxFdEJRVXR2UWl4UlFVRlJjRUlzUzBGQlN5dFhMR0ZCUVdGVUxFOUJRVThzYVVWQlFXbEZja2dzUzBGQlMycFFMRXRCUVV0RExGRkJRVkZ6Vnl4bFFVRmxkbE1zVTBGQlUyaEZMRXRCUVV0dlFpeFJRVUZSY0VJc1MwRkJTMjlDTEU5QlFVODBReXhUUVVGVGFFVXNTMEZCUzNOTExGbEJRVmt3VFN4UlFVRlJMRmRCUVZkb1dDeExRVUZMSzFjc1lVRkJZV3hPTEVsQlFVa3NjVUpCUVhGQ04wb3NTMEZCUzBVc1IwRkJSeXh2UWtGQmIwSkdMRXRCUVV0RkxFbEJRVWs0U0N4SFFVRkhMSEZDUVVGeFFtaEpMRXRCUVV0RkxFZEJRVWNzYjBKQlFXOUNSaXhMUVVGTFJTeEhRVUZITEZkQlFWZEdMRXRCUVV0RExGRkJRVkYzVnl4UlFVRlJlbGNzUzBGQlMwTXNVVUZCVVhkWExGRkJRVkY2Vnl4TFFVRkxiVXNzVVVGQlVUaE5MRXRCUVV0cVdDeExRVUZMYlVzc1QwRkJUek5KTEV0QlFVc3NkMEpCUVhkQ2VFSXNTMEZCUzBNc1VVRkJVVEJYTEdkQ1FVRm5Rak5YTEV0QlFVdHZTaXhUUVVGVGFFUXNTMEZCUzNCSExGVkJRVlVzVTBGQlUydFlMR2xDUVVGcFFuQllMRVZCUVVWclNpeEhRVUZITEVsQlFVbHNTaXhGUVVGRmIxY3NUMEZCVHl4UlFVRlJMRU5CUVVNelNDeEpRVUZKTEU5QlFVODBTU3hSUVVGUkxHdENRVUZyUWtNc1YwRkJWeXhSUVVGUlF5eFZRVUZWTEVsQlFVbERMRlZCUVZVc1ZVRkJWVU1zWTBGQllTeEZRVUZIUXl4elFrRkJjMElzU1VGQlNVTXNaMEpCUVdVc1JVRkJSME1zYlVKQlFXMUNMRXRCUVV0RExHdENRVUZyUWl4TFFVRkxReXhuUWtGQlowSXNTMEZCUzBNc2MwSkJRWE5DTEV0QlFVdERMRzFDUVVGclFpeEZRVUZITlZZc1QwRkJUM1ZFTEU5QlFVODFSU3hQUVVGUExHOUNRVUZ2UWpSQ0xFOUJRVTBzUlVGQlIzbENMR0ZCUVZrc1JVRkJSMDRzV1VGQlZ5eEZRVUZIUXl4aFFVRmhMRk5CUVZORkxHRkJRVmtzUlVGQlIxSXNVMEZCVVN4RlFVRkhTQ3hWUVVGVkxGTkJRVk55UXl4blFrRkJaU3hGUVVGSFdpeE5RVUZOTEU5QlFVOURMRTlCUVU4c1QwRkJUM2RETEdWQlFXVXNRMEZCUXpCRUxFbEJRVWtzUjBGQlIwTXNUVUZCVFN4RlFVRkZReXhQUVVGUExFZEJRVWRETEV0QlFVc3NSMEZCUjNOU0xGRkJRVkVzVjBGQlZ5OVlMRXRCUVV0bldTeFBRVUZQYUZrc1MwRkJTMmxaTEdGQlFXRXNSMEZCUjJwWkxFdEJRVXRyV1N4WlFVRlpMRVZCUVVWc1dTeExRVUZMYlZrc1ZVRkJWU3hUUVVGVGNsa3NSMEZCUnl4SlFVRkpReXhGUVVGRk1FZ3NSMEZCUnpOSUxFVkJRVVZyU2l4RlFVRkZiRW9zU1VGQlNUQkNMRXRCUVVzc2QwSkJRWGRDZWtJc1JVRkJSVVFzUlVGQlJXOVBMRXRCUVV0c1R5eExRVUZMUXl4UlFVRlJjMDhzUzBGQlMzWlBMRXRCUVV0RExGRkJRVkV5V0N4cFFrRkJhVUkxV0N4TFFVRkxReXhSUVVGUk5GZ3NkVUpCUVhWQ0wxZ3NSVUZCUlc5UExFdEJRVXRzVHl4TFFVRkxReXhSUVVGUk1sZ3NhMEpCUVd0Q05VOHNSVUZCUlhaRUxGRkJRVkYwUml4VFFVRlRTQ3hMUVVGTFF5eFJRVUZSTkZnc2QwSkJRWGRDT1Znc1JVRkJSVVFzUlVGQlJXOVBMRXRCUVV0c1R5eExRVUZMUXl4UlFVRlJNbGdzYTBKQlFXdENibEVzUlVGQlJUTklMRVZCUVVWdlR5eExRVUZMYkU4c1MwRkJTME1zVVVGQlVXdFlMRlZCUVZVc1ZVRkJWVzVZTEV0QlFVdG5XU3hQUVVGUGRsRXNTMEZCUzNwSUxFdEJRVXRuV1N4UFFVRlBkbEVzUjBGQlJ5eEpRVUZKZWtnc1MwRkJTMmRaTEU5QlFVOTJVU3hIUVVGSE5FY3NTMEZCU3l4RFFVRkRSU3hKUVVGSmVFOHNSVUZCUlhGWkxFMUJRVTEwV1N4RlFVRkZiMDhzUzBGQlMyeFBMRXRCUVV0RExGRkJRVkZ0V0N4aFFVRmhMRWRCUVVkcFFpeFpRVUZaY2xrc1MwRkJTME1zVVVGQlVUQllMRzFDUVVGdFFqZFlMRVZCUVVWdlR5eExRVUZMYkU4c1MwRkJTME1zVVVGQlVUQllMRzFDUVVGdFFqZFlMRVZCUVVWdlR5eExRVUZMYkU4c1MwRkJTME1zVVVGQlVUQllMRzFDUVVGdFFpeFBRVUZQTEZOQlFWTXpXQ3hMUVVGTFF5eFJRVUZSYlZnc1dVRkJXWFJZTEVWQlFVVTBUeXhYUVVGWExGTkJRVk0xVHl4RlFVRkZNRUlzUzBGQlN5eHhRa0ZCY1VKcFJ5eEhRVUZITTBnc1JVRkJSVEJDTEV0QlFVc3NaMEpCUVdkQ2VFSXNTMEZCUzJkWkxFOUJRVTkyVVN4SFFVRkhUU3hQUVVGUExFdEJRVXN6UWl4TFFVRkxjRWNzVFVGQlRVRXNTMEZCU3pKUExHdENRVUZyUWpOUExFdEJRVXN5VHl4cFFrRkJhVUkxUnl4UlFVRlJhVUlzUlVGQlJYSkNMRXRCUVVzelNDeExRVUZMTWs4c2FVSkJRV2xDTEZOQlFWTTNUeXhGUVVGRlF5eEhRVUZIUXl4TFFVRkxiVmtzVlVGQlZYQlpMRWxCUVVseFJ5eExRVUZMY0Vjc1QwRkJUeXhKUVVGSkswa3NSVUZCUlN4VFFVRlRha29zUlVGQlJVTXNSVUZCUlRCSUxFVkJRVVZqTEVkQlFVY3NTVUZCU1ZNc1JVRkJSU3hsUVVGbGJFb3NSVUZCUlN4SlFVRkpReXhIUVVGSFowa3NUMEZCVHl4RFFVRkRMRWxCUVVsRUxFVkJRVVZyUWl4RlFVRkZMRk5CUVZNc1EwRkJRemxKTEVkQlFVY3NZMEZCWTBvc1JVRkJSU3hKUVVGSlF5eEZRVUZGYVVzc1RVRkJUU3gzUWtGQmQwSjJReXhGUVVGRkxHVkJRV1V6U0N4RlFVRkZMRmRCUVZjc1RVRkJUVGhKTEVsQlFVa3NRMEZCUXpCUUxHVkJRV1YwV1N4TFFVRkxReXhSUVVGUmNWZ3NWVUZCVlhCT0xGRkJRVkV6UWl4RlFVRkZMRVZCUVVVc1JVRkJSVGxGTEU5QlFVOW5SU3hGUVVGRmVrZ3NTMEZCUzJ0WkxHTkJRV01zU1VGQlNXeFZMRk5CUVZOb1JTeExRVUZMWjBJc1UwRkJVeXhQUVVGUGFFSXNTMEZCU3pCV0xHTkJRV00xVGl4SFFVRkhSU3hIUVVGSExEWkNRVUUyUWl4VFFVRlRiRWtzUjBGQlJ5eGpRVUZqUVN4RlFVRkZOa1lzUzBGQlN6TkdMRXRCUVV0MVdTeFZRVUZWTEZGQlFWRXNaVUZCWlhwWkxFVkJRVVUyUml4TlFVRk5NMFlzUzBGQlMzVlpMRlZCUVZVc1UwRkJVMjVUTEV0QlFVdHdSeXhQUVVGUFowb3NSVUZCUlN4VFFVRlRMRU5CUVVNNVNTeEhRVUZITEc5Q1FVRnZRa29zUlVGQlJTeEpRVUZKUXl4RlFVRkZhVXNzVFVGQlRTeHZRa0ZCYjBKMlF5eEZRVUZGTEZWQlFWVXNUVUZCVFhkSUxFdEJRVXRxVUN4TFFVRkxaMWtzVDBGQlQyeFpMRWRCUVVkRExFZEJRVWR4V1N4UFFVRlBjRkVzUjBGQlJ5eFpRVUZaTEZkQlFWZG5RaXhGUVVGRmFFb3NUVUZCVFhkWkxGbEJRVmtzWTBGQlkzaFZMRk5CUVZOb1JTeExRVUZMZVZrc2NVSkJRWEZDYUZJc1IwRkJSMHNzUlVGQlJYZEVMRkZCUVZFc1EwRkJRM0JDTEZGQlFWRXNSMEZCUnpOQ0xFVkJRVVVzUlVGQlJYWkpMRXRCUVV0RExGRkJRVkZ2V0N4WFFVRlhkbEFzU1VGQlNURkNMRXRCUVV0d1J5eE5RVUZOUVN4TFFVRkxNRmtzWTBGQll5eFRRVUZUTlZrc1IwRkJSeXhKUVVGSlF5eEZRVUZGWjBjc1UwRkJVelJMTEdOQlFXTXNTMEZCU3pWUkxFVkJRVVUwV1N4TFFVRkxOMWtzUlVGQlJVTXNSVUZCUlRaSUxHRkJRV0VzVjBGQlZ6bElMRVZCUVVVNFdTeFZRVUZWT1Zrc1JVRkJSWE5QTEZsQlFWa3NTMEZCU3l4SlFVRkpja2tzVTBGQlV6aExMRXRCUVV0eVJ5eFpRVUZaZWtzc1IwRkJSMEVzUlVGQlJUaFpMRk5CUVZNc1NVRkJTUzlSTEVWQlFVVXNVMEZCVXk5SUxFVkJRVVV3U0N4RlFVRkZNMGdzUlVGQlJYbEpMRWRCUVVjc1NVRkJTVlFzUlVGQlJXbENMRVZCUVVWb1NpeEZRVUZGTUVnc1JVRkJSVE5JTEVWQlFVVjVTU3hIUVVGSFZDeEZRVUZGZUVVc1UwRkJVeXh6UWtGQmMwSXdSaXhGUVVGRkxHRkJRV0ZvU2l4TFFVRkxaMWtzVDBGQlQycFpMRWRCUVVjd1NDeEhRVUZIT0Vjc1NVRkJTU3hSUVVGUk5VY3NTMEZCU3l4WFFVRlhMRWxCUVVrM1NDeEZRVUZGTEVsQlFVbG5XaXhOUVVGTmFGb3NSVUZCUldsYUxFOUJRVThzVjBGQlYycFNMRVZCUVVWclJ5eFpRVUZaTEhOQ1FVRnpRbXhITEVWQlFVVmpMRWxCUVVrc1EwRkJRMjlSTEdkQ1FVRm5RaXhSUVVGUmFGb3NTMEZCUzJkWkxFOUJRVTlxV1N4SFFVRkhNRWdzUjBGQlJ6aEhMRWxCUVVrc1VVRkJVVzVKTEV0QlFVdHdSeXhOUVVGTlJpeEZRVUZGYlZvc1VVRkJVU3hYUVVGWGJsSXNSVUZCUld0SExGbEJRVmtzYzBKQlFYTkNiRWNzUlVGQlJYaEZMRk5CUVZNc2VVSkJRWGxDT0VNc1MwRkJTM0JITEUxQlFVMUdMRVZCUVVWNVR5eEpRVUZKZGs4c1MwRkJTMmRaTEU5QlFVOXFXU3hIUVVGSE1FZ3NSMEZCUnpoSExFdEJRVXR1U1N4TFFVRkxjRWNzVVVGQlVXOUhMRXRCUVV0d1J5eE5RVUZOUVN4TFFVRkxkVmtzVlVGQlZTeFRRVUZUZWxrc1IwRkJSeXhKUVVGSlF5eEZRVUZGTUVnc1JVRkJSV01zUlVGQlJTeEhRVUZITEZGQlFWRjZTU3hGUVVGRlF5eEZRVUZGUXl4TFFVRkxhVmtzWVVGQllXUXNVVUZCVVRWUExFZEJRVWRCTEVWQlFVVjJTU3hMUVVGTGFWa3NZVUZCWVM5WUxFMUJRVTBzVVVGQlVVb3NTVUZCU1N4RlFVRkZMRWxCUVVsRkxFdEJRVXRuV1N4UFFVRlBhbGtzUjBGQlIyZEpMRTlCUVU4c1JVRkJSU3hGUVVGRlVTeEZRVUZGTEVWQlFVVjJTU3hMUVVGTFoxa3NUMEZCVDJwWkxFZEJRVWRuU1N4UFFVRlBMRVZCUVVWUkxFMUJRVTBzUTBGQlF5eEhRVUZIZGtrc1MwRkJTMjFMTEU5QlFVOXdTeXhGUVVGRlF5eExRVUZMYlVzc1QwRkJUek5KTEV0QlFVc3NjMEpCUVhOQ0swY3NSVUZCUlhaSkxFdEJRVXR0U3l4UFFVRlBNMGtzUzBGQlN5eHhRa0ZCY1VJc1EwRkJReXhKUVVGSmVFSXNTMEZCU3pKUExHMUNRVUZ0UWpOUExFdEJRVXN5VHl4cFFrRkJhVUkxUnl4UFFVRlBMRTlCUVU5b1NTeEZRVUZGYVVvc1JVRkJSV2hLTEV0QlFVc3lUeXhwUWtGQmFVSXNTVUZCU1c1T0xFdEJRVXNzYzBKQlFYTkNLMGNzUlVGQlJWTXNSVUZCUldoS0xFdEJRVXN5VHl4cFFrRkJhVUlzU1VGQlNXNU9MRXRCUVVzc2FVSkJRV2xDZUVJc1MwRkJTMmRaTEZGQlFWRm9XU3hMUVVGTFoxa3NUMEZCVDJwWkxFbEJRVWxwU2l4RlFVRkZMSE5FUVVGelJFb3NTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeEZRVUZGYWtzc1MwRkJTMmRaTEU5QlFVOXFXU3hIUVVGSFowa3NUMEZCVHl4UlFVRlJMRk5CUVZOcFFpeEZRVUZGTEdWQlFXVnFTaXhGUVVGRkxGbEJRVmxuU1N4UlFVRlJhVUlzUlVGQlJTeGxRVUZsYWtvc1JVRkJSU3haUVVGWmFVOHNXVUZCV1N4alFVRmphazhzUlVGQlJTeFpRVUZaZFV3c1VVRkJVU3hEUVVGRGNFSXNVVUZCVVN4SFFVRkhMRkZCUVZGd1N5eEZRVUZGTEVWQlFVVkZMRXRCUVV0RExGRkJRVkZ2V0N4WFFVRlhjbGdzUzBGQlMybFpMR0ZCUVdFc1EwRkJRMlFzVVVGQlVYQllMRVZCUVVWSExFZEJRVWR4U1N4SFFVRkhVeXhGUVVGRkxHVkJRV1ZxU2l4RlFVRkZMRWxCUVVsM1NTeEhRVUZIVWl4UFFVRlBhVUlzUlVGQlJTeGxRVUZsYWtvc1JVRkJSU3hKUVVGSmQwa3NSMEZCUjJwR0xGTkJRVk1zWTBGQlkzWkVMRVZCUVVVc1dVRkJXVFpKTEVsQlFVa3NRMEZCUTI1R0xFOUJRVTk2UkN4TFFVRkxhMWtzWTBGQlkyaFBMRkZCUVZFc1NVRkJTVzlDTEZGQlFWRXNRMEZCUTNCQ0xGRkJRVkVzUjBGQlJ5eFJRVUZSY0Vzc1JVRkJSU3hGUVVGRlJTeExRVUZMUXl4UlFVRlJiMWdzVjBGQlYzWlFMRVZCUVVVdlNDeEZRVUZGZDBrc1IwRkJSU3hGUVVGSExGTkJRVk42U1N4SFFVRkhNa2dzUlVGQlJURklMRVZCUVVWRUxFVkJRVVY1U1N4RlFVRkZVeXhGUVVGRkxEUkNRVUUwUW1kR0xGbEJRVmtzYlVKQlFXMUNhRVlzUlVGQlJTeHhRa0ZCY1VKMlFpeEZRVUZGTEVsQlFVa3pTQ3hIUVVGSGQwUXNVMEZCVXl4VlFVRlZkRVFzUzBGQlMzVllMR1ZCUVdWMldDeExRVUZMWjFrc1QwRkJUMnBaTEVsQlFVa3NSVUZCUlVNc1MwRkJTMmRaTEU5QlFVOXFXU3hIUVVGSFowa3NVVUZCVVM5SUxFdEJRVXN5U1N4UlFVRlJja1lzVTBGQlV5d3dRa0ZCTUVKMFJDeExRVUZMZFZnc1lVRkJZVGxOTEV0QlFVc3NNa0pCUVRKQ2QwVXNTMEZCUzJwUUxFdEJRVXRuV1N4UFFVRlBhbGtzUjBGQlIyZEpMRkZCUVZFdlNDeExRVUZMZFZnc1lVRkJZVGxOTEV0QlFVc3NLMEpCUVN0Q2QwVXNTMEZCU3pGSExFVkJRVVVzU1VGQlNYWkpMRXRCUVVzeVNTeFJRVUZSY1VZc1dVRkJXU3d5UWtGQk1rSm9UeXhMUVVGTFoxa3NUMEZCVDJwWkxFbEJRVWxETEV0QlFVdG5XU3hQUVVGUGFsa3NSMEZCUjJkSkxFOUJRVThzU1VGQlNWRXNSMEZCUjBFc1IwRkJTU3hIUVVGSGRra3NTMEZCUzJkWkxFOUJRVTlxV1N4SFFVRkhaMGtzVDBGQlR5eEZRVUZGTEVWQlFVVlJMRVZCUVVVc1JVRkJSWFpKTEV0QlFVdG5XU3hQUVVGUGFsa3NSMEZCUjJkSkxFOUJRVThzUlVGQlJWRXNSVUZCUlZNc1JVRkJSU3hsUVVGbGFrb3NSVUZCUlN4SlFVRkpkMGtzUjBGQlIxSXNVVUZCVVVRc1JVRkJSUzlJTEVWQlFVVjNTU3hIUVVGRkxFZEJRVWNzUzBGQlRYWkpMRXRCUVV0RExGRkJRVkUyV0N4dFFrRkJiVUk1VHl4RlFVRkZka1FzVVVGQlVYVkRMRWRCUVVjc1QwRkJUeXhYUVVGWGFFa3NTMEZCUzNWWkxGVkJRVlVzVTBGQlUyNVRMRXRCUVV0d1J5eFJRVUZSTkZjc1ZVRkJWU3hUUVVGVE9WY3NSMEZCUjBVc1MwRkJTMjFaTEZkQlFWZHVXU3hMUVVGTGJWa3NWVUZCVlhKWkxFbEJRVWxuV0N4WFFVRlhMRmRCUVZjNVZ5eExRVUZMYTFvc2EwSkJRV3RDYkZFc1JVRkJSU3d5UTBGQk1rTm9SaXhUUVVGVGFFVXNTMEZCU3pKSkxGTkJRVk16U1N4TFFVRkxiVm9zWjBKQlFXZENibEVzUlVGQlJTd3dRMEZCTUVOb1FpeEhRVUZITEZsQlFWa3NWMEZCVjJoSkxFdEJRVXQxV1N4VlFVRlZMRk5CUVZOdVV5eExRVUZMY0Vjc1QwRkJUMEVzUzBGQlMyOWFMR2RDUVVGblFuQlJMRVZCUVVVc01FTkJRVEJEYUVJc1IwRkJSeXhaUVVGWkxGZEJRVmRvU1N4TFFVRkxkVmtzVlVGQlZTeFRRVUZUYmxNc1MwRkJTM0JITEU5QlFVOUJMRXRCUVV0NVdTeHZRa0ZCYjBKNlVDeEZRVUZGTERaRFFVRTJRMmhLTEV0QlFVdHJXaXhyUWtGQmEwSXpUeXhQUVVGUGRrc3NTMEZCUzIxYUxHbENRVUZwUWpWUExFOUJRVTkyU3l4TFFVRkxlVmtzY1VKQlFYRkNiRThzVDBGQlQzWkxMRXRCUVV0dldpeHBRa0ZCYVVKd1dpeExRVUZMUXl4UlFVRlJkMWdzYVVKQlFXbENlbGdzUzBGQlMzbFlMR1ZCUVdWNlR5eEZRVUZGTEZOQlFWTXNRMEZCUTJkQ0xFMUJRVTBzZFVOQlFYVkRhRWNzVTBGQlUyaEZMRXRCUVVzeVNTeFRRVUZUTkVJc1QwRkJUM1pMTEV0QlFVdERMRkZCUVZGNVdDeHRRa0ZCYlVJeFR5eEZRVUZGTEZOQlFWTXNRMEZCUTJkQ0xFMUJRVTBzYjBOQlFXOURhVVlzUzBGQlMycFFMRXRCUVV0RExGRkJRVkY1V0N4dlFrRkJiMElzVFVGQlRXNU9MRTlCUVU5MlFpeEZRVUZGTEZOQlFWTXNRMEZCUTJkQ0xFMUJRVTBzY1VOQlFYRkRhRU1zUjBGQlJ5eFpRVUZaTEZkQlFWY3NTVUZCU1d4SkxFVkJRVVZCTEVWQlFVVkZMRXRCUVV0bldTeFBRVUZQYUZrc1MwRkJTMmxaTEdGQlFXRmtMRk5CUVZOdVdDeExRVUZMYVZrc1lVRkJZUzlZTEVsQlFVbHRXU3hoUVVGaGNsa3NTMEZCU3pKSkxGRkJRVkU0UWl4TFFVRkxMR1ZCUVdWNlN5eExRVUZMYVZrc1lVRkJZV1FzVVVGQlVTeFpRVUZaTEVkQlFVZDZUeXhOUVVGTmMxRXNaMEpCUVdkQ00xSXNUVUZCVFN4SFFVRkhMRWRCUVVkRkxGRkJRVkVzVVVGQlVTeEpRVUZKZGtnc1MwRkJTekJaTEdOQlFXTTFXU3hKUVVGSmMwY3NTMEZCUzNCSExGRkJRVkZCTEV0QlFVdERMRkZCUVZGeldDeGxRVUZsZGxnc1MwRkJTM1ZZTEdGQlFXRjJUeXhGUVVGRkxGTkJRVk1zUTBGQlEyZENMRTFCUVUwc2FVTkJRV2xEY1ZBc1dVRkJXWEphTEV0QlFVdDVXU3h4UWtGQmNVSjZXU3hMUVVGTGRWZ3NZVUZCWVdoT0xFOUJRVTkyUWl4RlFVRkZMRlZCUVZVc1EwRkJRMmRDTEUxQlFVMHNaME5CUVdkRFR5eFBRVUZQZGtJc1JVRkJSU3hYUVVGWGFVY3NTMEZCUzJwUUxFdEJRVXRETEZGQlFWRjFXQ3gzUWtGQmQwSnFUaXhQUVVGUGRrSXNSVUZCUlN4VlFVRlZMRU5CUVVOblFpeE5RVUZOTERoQ1FVRTRRbWRPTEZGQlFWRXNWMEZCVjJoUExFVkJRVVZxUkN4VlFVRlZhVU1zUjBGQlJ5eHZRa0ZCYjBKb1NTeExRVUZMUlN4SFFVRkhMRk5CUVZOS0xFZEJRVWNzU1VGQlNVRXNSVUZCUlhsVExGTkJRVk4yVXl4TFFVRkxkVmtzVlVGQlZTeFJRVUZSTEVsQlFVbDZXU3hGUVVGRmVWTXNVMEZCVTNaVExFdEJRVXQxV1N4VlFVRlZMRk5CUVZOdVV5eExRVUZMY0Vjc1QwRkJUMEVzUzBGQlMzVlpMRlZCUVZVc1UwRkJVMlVzVTBGQlV5eFhRVUZYZEZFc1JVRkJSV3BFTEZWQlFWVTRSQ3hKUVVGSkxHOUNRVUZ2UWpkS0xFdEJRVXRGTEV0QlFVdHhXaXhwUWtGQmFVSXNWMEZCVjNaYUxFdEJRVXN5U1N4UlFVRlJPRUlzUzBGQlN5eDVRa0ZCZVVJM1FpeEpRVUZKTEZWQlFWVXNUVUZCVFN4VFFVRlRORkVzYTBKQlFXdENNVm9zUlVGQlJXdEtMRWRCUVVjc1NVRkJTV3hLTEVWQlFVVnZWeXhQUVVGUExGTkJRVk1zUTBGQlEzVkVMRTFCUVUwc1MwRkJTME1zVDBGQlRTeEZRVUZIUXl4aFFVRmhMRWRCUVVkeVZpeFZRVUZWTEVsQlFVazVRaXhYUVVGWExFTkJRVU5LTEVWQlFVVXNVVUZCVVVNc1JVRkJSU3hQUVVGUFJpeFRRVUZUTEVOQlFVTkRMRVZCUVVVc1IwRkJSME1zUlVGQlJTeEpRVUZKZFZnc2IwSkJRVzlDTEVOQlFVTkRMRWxCUVVrc1EwRkJRM3BZTEVWQlFVVXNSVUZCUlVNc1JVRkJSU3hIUVVGSGVWZ3NTVUZCU1N4RFFVRkRNVmdzUlVGQlJTeEhRVUZIUXl4RlFVRkZMRXRCUVV0SUxFOUJRVTkxUkN4UFFVRlBhRVFzVDBGQlRTeEZRVUZIVnl4VlFVRlZMRk5CUVZOVExHRkJRV0VzVFVGQlRVb3NUMEZCVHl4TFFVRkxjMVVzVVVGQlVTeFhRVUZYTDFnc1MwRkJTeXRhTEhOQ1FVRnpRaTlSTEVWQlFVVjBSQ3hQUVVGUExFZEJRVWN4Uml4TFFVRkxReXhSUVVGUmEwTXNWVUZCVlc1RExFdEJRVXRuWVN4eFFrRkJjVUlzVjBGQlZ5eEpRVUZKYkdFc1JVRkJSV3RLTEVWQlFVVjJSQ3hSUVVGUlowTXNSVUZCUlROSUxFVkJRVVZMTEZGQlFWRk1MRVZCUVVWTkxGTkJRVk5LTEV0QlFVdERMRkZCUVZGclF5eFRRVUZUTmtjc1JVRkJSWFJFTEU5QlFVOHNSMEZCUnpGR0xFdEJRVXNyV2l4MVFrRkJkVUl2VVN4RlFVRkZja0lzUzBGQlN6TklMRXRCUVV0RExGRkJRVkV5V2l4dlFrRkJiMElzVTBGQlV6bGFMRVZCUVVWRExFZEJRVWNzUjBGQlJ6QklMRWRCUVVjelNDeEZRVUZGTEU5QlFVOUZMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRjRU1zUjBGQlJTeEhRVUZKY1Vjc1MwRkJTM0JITEU5QlFVOUJMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxMRU5CUVVNd1JDeEpRVUZKZEVjc1MwRkJTME1zVVVGQlVXdERMRk5CUVZORkxFVkJRVVZyUlN4TlFVRk5ka2NzUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5ETEVWQlFVVnZSU3hQUVVGUGVFY3NTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkZMRVZCUVVWdlJTeExRVUZMZWtjc1MwRkJTME1zVVVGQlVXdERMRk5CUVZORExFbEJRVWx3UXl4TFFVRkxReXhSUVVGUlpTeHRRa0ZCYlVKblNTeEpRVUZKYUVvc1MwRkJTME1zVVVGQlVXVXNVVUZCVVdoQ0xFdEJRVXRETEZGQlFWRmxMRkZCUVZGcFdpeFJRVUZSTDB3c1MwRkJTeXhMUVVGTExFdEJRVXRzUml4RlFVRkZka1FzVVVGQlVYVkRMRWRCUVVjc0swSkJRU3RDYUVrc1MwRkJTMFVzUjBGQlJ5eFRRVUZUU2l4SFFVRkhSU3hMUVVGTE5FNHNVVUZCVVRWT0xFdEJRVXRuWVN4M1FrRkJkMEkxVkN4TFFVRkxjRWNzVDBGQlQwRXNTMEZCU3l0TUxGRkJRVkVyU3l4WFFVRlhMRmRCUVZjNVZ5eExRVUZMTWtrc1VVRkJVWEpHTEZOQlFWTXNhME5CUVd0RGRFUXNTMEZCUzBNc1VVRkJVWGRhTEU5QlFVOHNVMEZCVTNwYUxFdEJRVXN5U1N4UlFVRlJia2dzUzBGQlN5eDFRa0ZCZFVKNFFpeExRVUZMUXl4UlFVRlJkVU1zVjBGQlYwb3NSVUZCUlN4SlFVRkpjRU1zUzBGQlMwTXNVVUZCVVhWRExGZEJRVmRJTEVsQlFVa3lWU3hSUVVGUkxGZEJRVmRvV0N4TFFVRkxReXhSUVVGUmVWb3NVVUZCVVRGYUxFdEJRVXRuWVN4MVFrRkJkVUpvVWl4RlFVRkZja0lzUzBGQlMzRkNMRVZCUVVVc1owSkJRV2RDTEZOQlFWTnNTaXhGUVVGRlF5eEpRVUZKUVN4RlFVRkZhVW9zUlVGQlJXcEtMRWxCUVVsdFR5eExRVUZMTEU5QlFVOXNUeXhMUVVGTFJTeEpRVUZKU0N4RlFVRkZlVUlzUzBGQlN5eDVRa0ZCZVVKNFFpeExRVUZMUXl4UlFVRlJkVU1zVjBGQlYwb3NSVUZCUlN4SlFVRkpjRU1zUzBGQlMwTXNVVUZCVVhWRExGZEJRVmRJTEVsQlFVbHlReXhMUVVGTFF5eFJRVUZSZVZvc1QwRkJUek5hTEVWQlFVVjVRaXhMUVVGTExGRkJRVkUwU0N4TlFVRk5MRU5CUVVORExHRkJRVmtzVFVGQlQycEVMRXRCUVV0d1J5eFRRVUZUYTJFc1dVRkJXU3hYUVVGWExFbEJRVWx3WVN4RlFVRkZlVWtzUlVGQlJTeEhRVUZITEVsQlFVbDZTU3hMUVVGTGEwb3NSVUZCUlhKQ0xFdEJRVXR4UWl4RlFVRkZMR2RDUVVGblFpeFRRVUZUYkVvc1JVRkJSVU1zUjBGQlJ5eEpRVUZKTUVnc1IwRkJSekZJTEVWQlFVVnBTaXhGUVVGRmFrb3NTVUZCU1hsQ0xFdEJRVXNzZDBKQlFYZENLMGNzUlVGQlJXUXNTMEZCUzJNc1JVRkJSV1FzUjBGQlJ5eEpRVUZKWXl4RlFVRkZaQ3hIUVVGSE5FY3NTMEZCUzNSUExFdEJRVXQzU1N4RlFVRkZMRU5CUVVNc1NVRkJTWGhKTEVWQlFVVkVMRVZCUVVVclJpeE5RVUZOTEV0QlFVc3NSMEZCUnpCRExFVkJRVVY2U1N4SFFVRkhjV0VzVlVGQlZTeEpRVUZKTVZNc1JVRkJSVXNzUlVGQlJTeEZRVUZGTEVsQlFVbE1MRXRCUVV0akxFVkJRVVY2U1N4SFFVRkhMRU5CUVVNc1NVRkJTV2xLTEVWQlFVVkRMRVZCUVVWVUxFVkJRVVY2U1N4SFFVRkhNa2dzU1VGQlNYTkNMRVZCUVVWSUxFbEJRVWtzVlVGQlZUZEpMRVZCUVVVclNDeEhRVUZIUVN4SFFVRkhhVUlzUlVGQlJWWXNZMEZCWTNKSkxFdEJRVXRETEZGQlFWRXdXaXhuUWtGQlowSktMR2xDUVVGcFFpeFhRVUZYZGxvc1MwRkJTMmxYTEZWQlFWVnFWeXhMUVVGTFF5eFJRVUZSYVdFc1dVRkJXVGxVTEV0QlFVdHdSeXhOUVVGTmIyRXNWMEZCVnl4VFFVRlRjbUVzUlVGQlJUQklMRWRCUVVjc2JVSkJRVzFDTkZNc1VVRkJVVUVzVDBGQlQwTXNTVUZCU1VRc1QwRkJUeXhEUVVGRExGVkJRVlVzVTBGQlUzWmhMRWRCUVVjc1QwRkJUME1zUlVGQlJYRlhMRXRCUVVzelR5eEZRVUZGTTBnc1MwRkJTeXhwUWtGQmFVSjVZU3hSUVVGUlFTeFBRVUZQUXl4UlFVRlJSQ3hQUVVGUFF5eFJRVUZSZW1Fc1JVRkJSWEZYTEV0QlFVc3pUeXhGUVVGRloxUXNVVUZCVVN4WFFVRlhNV0VzUlVGQlJYRlhMRXRCUVVzelR5eEZRVUZGTVVnc1JVRkJSWFZYTEZGQlFYSk5MRU5CUVRoTmRGY3NTMEZCU3l4VFFVRlRSaXhIUVVGSExFbEJRVWxETEVWQlFVVktMRmxCUVZsSExFZEJRVWNzVTBGQlNTeEpRVUZUZFZjc2IwSkJRVzlDUVN4dlFrRkJiMEpCTEcxQ1FVRnRRblJYTEVWQlFVVkVMRWRCUVVjc1RVRkJUVUVzUjBGQlJ6UmhMRkZCUVZGNFJ5eE5RVUZOY0ZVc1IwRkJSeXhUUVVGSkxFbEJRVk52V0N4clFrRkJhMEpCTEd0Q1FVRnJRa0VzYVVKQlFXbENibGdzUlVGQlJVUXNSMEZCUnl4TlFVRk5RU3hIUVVGSE5HRXNVVUZCVVhoSExFMUJRVTF3VlN4SFFVRkhMRk5CUVVrc1NVRkJVekJhTEcxQ1FVRnRRa0VzYlVKQlFXMUNRU3hyUWtGQmEwSjZXaXhGUVVGRlJDeEhRVUZITEUxQlFVMUJMRWRCUVVjMFlTeFJRVUZSZUVjc1RVRkJUWEJWTEVkQlFVY3NUMEZCVDBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTlxWW05NEwyUnBjM1F2YWtKdmVDNWhiR3d1YldsdUxtcHpJbjA9IiwiIWZ1bmN0aW9uKHQpe1wiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW1wianF1ZXJ5XCIsXCIuL3ZlcnNpb25cIl0sdCk6dChqUXVlcnkpfShmdW5jdGlvbih0KXt2YXIgZSxpPTAscz1BcnJheS5wcm90b3R5cGUuc2xpY2U7cmV0dXJuIHQuY2xlYW5EYXRhPShlPXQuY2xlYW5EYXRhLGZ1bmN0aW9uKGkpe3ZhciBzLG4sbztmb3Iobz0wO251bGwhPShuPWlbb10pO28rKyl0cnl7KHM9dC5fZGF0YShuLFwiZXZlbnRzXCIpKSYmcy5yZW1vdmUmJnQobikudHJpZ2dlckhhbmRsZXIoXCJyZW1vdmVcIil9Y2F0Y2godCl7fWUoaSl9KSx0LndpZGdldD1mdW5jdGlvbihlLGkscyl7dmFyIG4sbyxhLHI9e30sbD1lLnNwbGl0KFwiLlwiKVswXSx1PWwrXCItXCIrKGU9ZS5zcGxpdChcIi5cIilbMV0pO3JldHVybiBzfHwocz1pLGk9dC5XaWRnZXQpLHQuaXNBcnJheShzKSYmKHM9dC5leHRlbmQuYXBwbHkobnVsbCxbe31dLmNvbmNhdChzKSkpLHQuZXhwcltcIjpcIl1bdS50b0xvd2VyQ2FzZSgpXT1mdW5jdGlvbihlKXtyZXR1cm4hIXQuZGF0YShlLHUpfSx0W2xdPXRbbF18fHt9LG49dFtsXVtlXSxvPXRbbF1bZV09ZnVuY3Rpb24odCxlKXtpZighdGhpcy5fY3JlYXRlV2lkZ2V0KXJldHVybiBuZXcgbyh0LGUpO2FyZ3VtZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZVdpZGdldCh0LGUpfSx0LmV4dGVuZChvLG4se3ZlcnNpb246cy52ZXJzaW9uLF9wcm90bzp0LmV4dGVuZCh7fSxzKSxfY2hpbGRDb25zdHJ1Y3RvcnM6W119KSwoYT1uZXcgaSkub3B0aW9ucz10LndpZGdldC5leHRlbmQoe30sYS5vcHRpb25zKSx0LmVhY2gocyxmdW5jdGlvbihlLHMpe3QuaXNGdW5jdGlvbihzKT9yW2VdPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3JldHVybiBpLnByb3RvdHlwZVtlXS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gbih0KXtyZXR1cm4gaS5wcm90b3R5cGVbZV0uYXBwbHkodGhpcyx0KX1yZXR1cm4gZnVuY3Rpb24oKXt2YXIgZSxpPXRoaXMuX3N1cGVyLG89dGhpcy5fc3VwZXJBcHBseTtyZXR1cm4gdGhpcy5fc3VwZXI9dCx0aGlzLl9zdXBlckFwcGx5PW4sZT1zLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9zdXBlcj1pLHRoaXMuX3N1cGVyQXBwbHk9byxlfX0oKTpyW2VdPXN9KSxvLnByb3RvdHlwZT10LndpZGdldC5leHRlbmQoYSx7d2lkZ2V0RXZlbnRQcmVmaXg6biYmYS53aWRnZXRFdmVudFByZWZpeHx8ZX0scix7Y29uc3RydWN0b3I6byxuYW1lc3BhY2U6bCx3aWRnZXROYW1lOmUsd2lkZ2V0RnVsbE5hbWU6dX0pLG4/KHQuZWFjaChuLl9jaGlsZENvbnN0cnVjdG9ycyxmdW5jdGlvbihlLGkpe3ZhciBzPWkucHJvdG90eXBlO3Qud2lkZ2V0KHMubmFtZXNwYWNlK1wiLlwiK3Mud2lkZ2V0TmFtZSxvLGkuX3Byb3RvKX0pLGRlbGV0ZSBuLl9jaGlsZENvbnN0cnVjdG9ycyk6aS5fY2hpbGRDb25zdHJ1Y3RvcnMucHVzaChvKSx0LndpZGdldC5icmlkZ2UoZSxvKSxvfSx0LndpZGdldC5leHRlbmQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciBpLG4sbz1zLmNhbGwoYXJndW1lbnRzLDEpLGE9MCxyPW8ubGVuZ3RoO2E8cjthKyspZm9yKGkgaW4gb1thXSluPW9bYV1baV0sb1thXS5oYXNPd25Qcm9wZXJ0eShpKSYmdm9pZCAwIT09biYmKHQuaXNQbGFpbk9iamVjdChuKT9lW2ldPXQuaXNQbGFpbk9iamVjdChlW2ldKT90LndpZGdldC5leHRlbmQoe30sZVtpXSxuKTp0LndpZGdldC5leHRlbmQoe30sbik6ZVtpXT1uKTtyZXR1cm4gZX0sdC53aWRnZXQuYnJpZGdlPWZ1bmN0aW9uKGUsaSl7dmFyIG49aS5wcm90b3R5cGUud2lkZ2V0RnVsbE5hbWV8fGU7dC5mbltlXT1mdW5jdGlvbihvKXt2YXIgYT1cInN0cmluZ1wiPT10eXBlb2YgbyxyPXMuY2FsbChhcmd1bWVudHMsMSksbD10aGlzO3JldHVybiBhP3RoaXMubGVuZ3RofHxcImluc3RhbmNlXCIhPT1vP3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpLHM9dC5kYXRhKHRoaXMsbik7cmV0dXJuXCJpbnN0YW5jZVwiPT09bz8obD1zLCExKTpzP3QuaXNGdW5jdGlvbihzW29dKSYmXCJfXCIhPT1vLmNoYXJBdCgwKT8oaT1zW29dLmFwcGx5KHMscikpIT09cyYmdm9pZCAwIT09aT8obD1pJiZpLmpxdWVyeT9sLnB1c2hTdGFjayhpLmdldCgpKTppLCExKTp2b2lkIDA6dC5lcnJvcihcIm5vIHN1Y2ggbWV0aG9kICdcIitvK1wiJyBmb3IgXCIrZStcIiB3aWRnZXQgaW5zdGFuY2VcIik6dC5lcnJvcihcImNhbm5vdCBjYWxsIG1ldGhvZHMgb24gXCIrZStcIiBwcmlvciB0byBpbml0aWFsaXphdGlvbjsgYXR0ZW1wdGVkIHRvIGNhbGwgbWV0aG9kICdcIitvK1wiJ1wiKX0pOmw9dm9pZCAwOihyLmxlbmd0aCYmKG89dC53aWRnZXQuZXh0ZW5kLmFwcGx5KG51bGwsW29dLmNvbmNhdChyKSkpLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlPXQuZGF0YSh0aGlzLG4pO2U/KGUub3B0aW9uKG98fHt9KSxlLl9pbml0JiZlLl9pbml0KCkpOnQuZGF0YSh0aGlzLG4sbmV3IGkobyx0aGlzKSl9KSksbH19LHQuV2lkZ2V0PWZ1bmN0aW9uKCl7fSx0LldpZGdldC5fY2hpbGRDb25zdHJ1Y3RvcnM9W10sdC5XaWRnZXQucHJvdG90eXBlPXt3aWRnZXROYW1lOlwid2lkZ2V0XCIsd2lkZ2V0RXZlbnRQcmVmaXg6XCJcIixkZWZhdWx0RWxlbWVudDpcIjxkaXY+XCIsb3B0aW9uczp7Y2xhc3Nlczp7fSxkaXNhYmxlZDohMSxjcmVhdGU6bnVsbH0sX2NyZWF0ZVdpZGdldDpmdW5jdGlvbihlLHMpe3M9dChzfHx0aGlzLmRlZmF1bHRFbGVtZW50fHx0aGlzKVswXSx0aGlzLmVsZW1lbnQ9dChzKSx0aGlzLnV1aWQ9aSsrLHRoaXMuZXZlbnROYW1lc3BhY2U9XCIuXCIrdGhpcy53aWRnZXROYW1lK3RoaXMudXVpZCx0aGlzLmJpbmRpbmdzPXQoKSx0aGlzLmhvdmVyYWJsZT10KCksdGhpcy5mb2N1c2FibGU9dCgpLHRoaXMuY2xhc3Nlc0VsZW1lbnRMb29rdXA9e30scyE9PXRoaXMmJih0LmRhdGEocyx0aGlzLndpZGdldEZ1bGxOYW1lLHRoaXMpLHRoaXMuX29uKCEwLHRoaXMuZWxlbWVudCx7cmVtb3ZlOmZ1bmN0aW9uKHQpe3QudGFyZ2V0PT09cyYmdGhpcy5kZXN0cm95KCl9fSksdGhpcy5kb2N1bWVudD10KHMuc3R5bGU/cy5vd25lckRvY3VtZW50OnMuZG9jdW1lbnR8fHMpLHRoaXMud2luZG93PXQodGhpcy5kb2N1bWVudFswXS5kZWZhdWx0Vmlld3x8dGhpcy5kb2N1bWVudFswXS5wYXJlbnRXaW5kb3cpKSx0aGlzLm9wdGlvbnM9dC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyx0aGlzLl9nZXRDcmVhdGVPcHRpb25zKCksZSksdGhpcy5fY3JlYXRlKCksdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLl9zZXRPcHRpb25EaXNhYmxlZCh0aGlzLm9wdGlvbnMuZGlzYWJsZWQpLHRoaXMuX3RyaWdnZXIoXCJjcmVhdGVcIixudWxsLHRoaXMuX2dldENyZWF0ZUV2ZW50RGF0YSgpKSx0aGlzLl9pbml0KCl9LF9nZXRDcmVhdGVPcHRpb25zOmZ1bmN0aW9uKCl7cmV0dXJue319LF9nZXRDcmVhdGVFdmVudERhdGE6dC5ub29wLF9jcmVhdGU6dC5ub29wLF9pbml0OnQubm9vcCxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9kZXN0cm95KCksdC5lYWNoKHRoaXMuY2xhc3Nlc0VsZW1lbnRMb29rdXAsZnVuY3Rpb24odCxpKXtlLl9yZW1vdmVDbGFzcyhpLHQpfSksdGhpcy5lbGVtZW50Lm9mZih0aGlzLmV2ZW50TmFtZXNwYWNlKS5yZW1vdmVEYXRhKHRoaXMud2lkZ2V0RnVsbE5hbWUpLHRoaXMud2lkZ2V0KCkub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpLnJlbW92ZUF0dHIoXCJhcmlhLWRpc2FibGVkXCIpLHRoaXMuYmluZGluZ3Mub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpfSxfZGVzdHJveTp0Lm5vb3Asd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKGUsaSl7dmFyIHMsbixvLGE9ZTtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyk7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpaWYoYT17fSxzPWUuc3BsaXQoXCIuXCIpLGU9cy5zaGlmdCgpLHMubGVuZ3RoKXtmb3Iobj1hW2VdPXQud2lkZ2V0LmV4dGVuZCh7fSx0aGlzLm9wdGlvbnNbZV0pLG89MDtvPHMubGVuZ3RoLTE7bysrKW5bc1tvXV09bltzW29dXXx8e30sbj1uW3Nbb11dO2lmKGU9cy5wb3AoKSwxPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09bltlXT9udWxsOm5bZV07bltlXT1pfWVsc2V7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHZvaWQgMD09PXRoaXMub3B0aW9uc1tlXT9udWxsOnRoaXMub3B0aW9uc1tlXTthW2VdPWl9cmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoYSksdGhpc30sX3NldE9wdGlvbnM6ZnVuY3Rpb24odCl7dmFyIGU7Zm9yKGUgaW4gdCl0aGlzLl9zZXRPcHRpb24oZSx0W2VdKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbjpmdW5jdGlvbih0LGUpe3JldHVyblwiY2xhc3Nlc1wiPT09dCYmdGhpcy5fc2V0T3B0aW9uQ2xhc3NlcyhlKSx0aGlzLm9wdGlvbnNbdF09ZSxcImRpc2FibGVkXCI9PT10JiZ0aGlzLl9zZXRPcHRpb25EaXNhYmxlZChlKSx0aGlzfSxfc2V0T3B0aW9uQ2xhc3NlczpmdW5jdGlvbihlKXt2YXIgaSxzLG47Zm9yKGkgaW4gZSluPXRoaXMuY2xhc3Nlc0VsZW1lbnRMb29rdXBbaV0sZVtpXSE9PXRoaXMub3B0aW9ucy5jbGFzc2VzW2ldJiZuJiZuLmxlbmd0aCYmKHM9dChuLmdldCgpKSx0aGlzLl9yZW1vdmVDbGFzcyhuLGkpLHMuYWRkQ2xhc3ModGhpcy5fY2xhc3Nlcyh7ZWxlbWVudDpzLGtleXM6aSxjbGFzc2VzOmUsYWRkOiEwfSkpKX0sX3NldE9wdGlvbkRpc2FibGVkOmZ1bmN0aW9uKHQpe3RoaXMuX3RvZ2dsZUNsYXNzKHRoaXMud2lkZ2V0KCksdGhpcy53aWRnZXRGdWxsTmFtZStcIi1kaXNhYmxlZFwiLG51bGwsISF0KSx0JiYodGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5ob3ZlcmFibGUsbnVsbCxcInVpLXN0YXRlLWhvdmVyXCIpLHRoaXMuX3JlbW92ZUNsYXNzKHRoaXMuZm9jdXNhYmxlLG51bGwsXCJ1aS1zdGF0ZS1mb2N1c1wiKSl9LGVuYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zZXRPcHRpb25zKHtkaXNhYmxlZDohMX0pfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoe2Rpc2FibGVkOiEwfSl9LF9jbGFzc2VzOmZ1bmN0aW9uKGUpe3ZhciBpPVtdLHM9dGhpcztmdW5jdGlvbiBuKG4sbyl7dmFyIGEscjtmb3Iocj0wO3I8bi5sZW5ndGg7cisrKWE9cy5jbGFzc2VzRWxlbWVudExvb2t1cFtuW3JdXXx8dCgpLGE9ZS5hZGQ/dCh0LnVuaXF1ZShhLmdldCgpLmNvbmNhdChlLmVsZW1lbnQuZ2V0KCkpKSk6dChhLm5vdChlLmVsZW1lbnQpLmdldCgpKSxzLmNsYXNzZXNFbGVtZW50TG9va3VwW25bcl1dPWEsaS5wdXNoKG5bcl0pLG8mJmUuY2xhc3Nlc1tuW3JdXSYmaS5wdXNoKGUuY2xhc3Nlc1tuW3JdXSl9cmV0dXJuIGU9dC5leHRlbmQoe2VsZW1lbnQ6dGhpcy5lbGVtZW50LGNsYXNzZXM6dGhpcy5vcHRpb25zLmNsYXNzZXN8fHt9fSxlKSx0aGlzLl9vbihlLmVsZW1lbnQse3JlbW92ZTpcIl91bnRyYWNrQ2xhc3Nlc0VsZW1lbnRcIn0pLGUua2V5cyYmbihlLmtleXMubWF0Y2goL1xcUysvZyl8fFtdLCEwKSxlLmV4dHJhJiZuKGUuZXh0cmEubWF0Y2goL1xcUysvZyl8fFtdKSxpLmpvaW4oXCIgXCIpfSxfdW50cmFja0NsYXNzZXNFbGVtZW50OmZ1bmN0aW9uKGUpe3ZhciBpPXRoaXM7dC5lYWNoKGkuY2xhc3Nlc0VsZW1lbnRMb29rdXAsZnVuY3Rpb24ocyxuKXstMSE9PXQuaW5BcnJheShlLnRhcmdldCxuKSYmKGkuY2xhc3Nlc0VsZW1lbnRMb29rdXBbc109dChuLm5vdChlLnRhcmdldCkuZ2V0KCkpKX0pfSxfcmVtb3ZlQ2xhc3M6ZnVuY3Rpb24odCxlLGkpe3JldHVybiB0aGlzLl90b2dnbGVDbGFzcyh0LGUsaSwhMSl9LF9hZGRDbGFzczpmdW5jdGlvbih0LGUsaSl7cmV0dXJuIHRoaXMuX3RvZ2dsZUNsYXNzKHQsZSxpLCEwKX0sX3RvZ2dsZUNsYXNzOmZ1bmN0aW9uKHQsZSxpLHMpe3M9XCJib29sZWFuXCI9PXR5cGVvZiBzP3M6aTt2YXIgbj1cInN0cmluZ1wiPT10eXBlb2YgdHx8bnVsbD09PXQsbz17ZXh0cmE6bj9lOmksa2V5czpuP3Q6ZSxlbGVtZW50Om4/dGhpcy5lbGVtZW50OnQsYWRkOnN9O3JldHVybiBvLmVsZW1lbnQudG9nZ2xlQ2xhc3ModGhpcy5fY2xhc3NlcyhvKSxzKSx0aGlzfSxfb246ZnVuY3Rpb24oZSxpLHMpe3ZhciBuLG89dGhpcztcImJvb2xlYW5cIiE9dHlwZW9mIGUmJihzPWksaT1lLGU9ITEpLHM/KGk9bj10KGkpLHRoaXMuYmluZGluZ3M9dGhpcy5iaW5kaW5ncy5hZGQoaSkpOihzPWksaT10aGlzLmVsZW1lbnQsbj10aGlzLndpZGdldCgpKSx0LmVhY2gocyxmdW5jdGlvbihzLGEpe2Z1bmN0aW9uIHIoKXtpZihlfHwhMCE9PW8ub3B0aW9ucy5kaXNhYmxlZCYmIXQodGhpcykuaGFzQ2xhc3MoXCJ1aS1zdGF0ZS1kaXNhYmxlZFwiKSlyZXR1cm4oXCJzdHJpbmdcIj09dHlwZW9mIGE/b1thXTphKS5hcHBseShvLGFyZ3VtZW50cyl9XCJzdHJpbmdcIiE9dHlwZW9mIGEmJihyLmd1aWQ9YS5ndWlkPWEuZ3VpZHx8ci5ndWlkfHx0Lmd1aWQrKyk7dmFyIGw9cy5tYXRjaCgvXihbXFx3Oi1dKilcXHMqKC4qKSQvKSx1PWxbMV0rby5ldmVudE5hbWVzcGFjZSxoPWxbMl07aD9uLm9uKHUsaCxyKTppLm9uKHUscil9KX0sX29mZjpmdW5jdGlvbihlLGkpe2k9KGl8fFwiXCIpLnNwbGl0KFwiIFwiKS5qb2luKHRoaXMuZXZlbnROYW1lc3BhY2UrXCIgXCIpK3RoaXMuZXZlbnROYW1lc3BhY2UsZS5vZmYoaSkub2ZmKGkpLHRoaXMuYmluZGluZ3M9dCh0aGlzLmJpbmRpbmdzLm5vdChlKS5nZXQoKSksdGhpcy5mb2N1c2FibGU9dCh0aGlzLmZvY3VzYWJsZS5ub3QoZSkuZ2V0KCkpLHRoaXMuaG92ZXJhYmxlPXQodGhpcy5ob3ZlcmFibGUubm90KGUpLmdldCgpKX0sX2RlbGF5OmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcztyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybihcInN0cmluZ1wiPT10eXBlb2YgdD9pW3RdOnQpLmFwcGx5KGksYXJndW1lbnRzKX0sZXx8MCl9LF9ob3ZlcmFibGU6ZnVuY3Rpb24oZSl7dGhpcy5ob3ZlcmFibGU9dGhpcy5ob3ZlcmFibGUuYWRkKGUpLHRoaXMuX29uKGUse21vdXNlZW50ZXI6ZnVuY3Rpb24oZSl7dGhpcy5fYWRkQ2xhc3ModChlLmN1cnJlbnRUYXJnZXQpLG51bGwsXCJ1aS1zdGF0ZS1ob3ZlclwiKX0sbW91c2VsZWF2ZTpmdW5jdGlvbihlKXt0aGlzLl9yZW1vdmVDbGFzcyh0KGUuY3VycmVudFRhcmdldCksbnVsbCxcInVpLXN0YXRlLWhvdmVyXCIpfX0pfSxfZm9jdXNhYmxlOmZ1bmN0aW9uKGUpe3RoaXMuZm9jdXNhYmxlPXRoaXMuZm9jdXNhYmxlLmFkZChlKSx0aGlzLl9vbihlLHtmb2N1c2luOmZ1bmN0aW9uKGUpe3RoaXMuX2FkZENsYXNzKHQoZS5jdXJyZW50VGFyZ2V0KSxudWxsLFwidWktc3RhdGUtZm9jdXNcIil9LGZvY3Vzb3V0OmZ1bmN0aW9uKGUpe3RoaXMuX3JlbW92ZUNsYXNzKHQoZS5jdXJyZW50VGFyZ2V0KSxudWxsLFwidWktc3RhdGUtZm9jdXNcIil9fSl9LF90cmlnZ2VyOmZ1bmN0aW9uKGUsaSxzKXt2YXIgbixvLGE9dGhpcy5vcHRpb25zW2VdO2lmKHM9c3x8e30sKGk9dC5FdmVudChpKSkudHlwZT0oZT09PXRoaXMud2lkZ2V0RXZlbnRQcmVmaXg/ZTp0aGlzLndpZGdldEV2ZW50UHJlZml4K2UpLnRvTG93ZXJDYXNlKCksaS50YXJnZXQ9dGhpcy5lbGVtZW50WzBdLG89aS5vcmlnaW5hbEV2ZW50KWZvcihuIGluIG8pbiBpbiBpfHwoaVtuXT1vW25dKTtyZXR1cm4gdGhpcy5lbGVtZW50LnRyaWdnZXIoaSxzKSwhKHQuaXNGdW5jdGlvbihhKSYmITE9PT1hLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbaV0uY29uY2F0KHMpKXx8aS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl9fSx0LmVhY2goe3Nob3c6XCJmYWRlSW5cIixoaWRlOlwiZmFkZU91dFwifSxmdW5jdGlvbihlLGkpe3QuV2lkZ2V0LnByb3RvdHlwZVtcIl9cIitlXT1mdW5jdGlvbihzLG4sbyl7dmFyIGE7XCJzdHJpbmdcIj09dHlwZW9mIG4mJihuPXtlZmZlY3Q6bn0pO3ZhciByPW4/ITA9PT1ufHxcIm51bWJlclwiPT10eXBlb2Ygbj9pOm4uZWZmZWN0fHxpOmU7XCJudW1iZXJcIj09dHlwZW9mKG49bnx8e30pJiYobj17ZHVyYXRpb246bn0pLGE9IXQuaXNFbXB0eU9iamVjdChuKSxuLmNvbXBsZXRlPW8sbi5kZWxheSYmcy5kZWxheShuLmRlbGF5KSxhJiZ0LmVmZmVjdHMmJnQuZWZmZWN0cy5lZmZlY3Rbcl0/c1tlXShuKTpyIT09ZSYmc1tyXT9zW3JdKG4uZHVyYXRpb24sbi5lYXNpbmcsbyk6cy5xdWV1ZShmdW5jdGlvbihpKXt0KHRoaXMpW2VdKCksbyYmby5jYWxsKHNbMF0pLGkoKX0pfX0pLHQud2lkZ2V0fSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRwWkdkbGRDNXFjeUpkTENKdVlXMWxjeUk2V3lKbVlXTjBiM0o1SWl3aVpHVm1hVzVsSWl3aVlXMWtJaXdpYWxGMVpYSjVJaXdpSkNJc0ltOXlhV2NpTENKM2FXUm5aWFJWZFdsa0lpd2lkMmxrWjJWMFUyeHBZMlVpTENKQmNuSmhlU0lzSW5CeWIzUnZkSGx3WlNJc0luTnNhV05sSWl3aVkyeGxZVzVFWVhSaElpd2laV3hsYlhNaUxDSmxkbVZ1ZEhNaUxDSmxiR1Z0SWl3aWFTSXNJbDlrWVhSaElpd2ljbVZ0YjNabElpd2lkSEpwWjJkbGNraGhibVJzWlhJaUxDSmxJaXdpZDJsa1oyVjBJaXdpYm1GdFpTSXNJbUpoYzJVaUxDSmxlR2x6ZEdsdVowTnZibk4wY25WamRHOXlJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmlZWE5sVUhKdmRHOTBlWEJsSWl3aWNISnZlR2xsWkZCeWIzUnZkSGx3WlNJc0ltNWhiV1Z6Y0dGalpTSXNJbk53YkdsMElpd2lablZzYkU1aGJXVWlMQ0pYYVdSblpYUWlMQ0pwYzBGeWNtRjVJaXdpWlhoMFpXNWtJaXdpWVhCd2JIa2lMQ0pqYjI1allYUWlMQ0psZUhCeUlpd2lkRzlNYjNkbGNrTmhjMlVpTENKa1lYUmhJaXdpYjNCMGFXOXVjeUlzSW1Wc1pXMWxiblFpTENKMGFHbHpJaXdpWDJOeVpXRjBaVmRwWkdkbGRDSXNJbUZ5WjNWdFpXNTBjeUlzSW14bGJtZDBhQ0lzSW5abGNuTnBiMjRpTENKZmNISnZkRzhpTENKZlkyaHBiR1JEYjI1emRISjFZM1J2Y25NaUxDSmxZV05vSWl3aWNISnZjQ0lzSW5aaGJIVmxJaXdpYVhOR2RXNWpkR2x2YmlJc0lsOXpkWEJsY2lJc0lsOXpkWEJsY2tGd2NHeDVJaXdpWVhKbmN5SXNJbkpsZEhWeWJsWmhiSFZsSWl3aVgxOXpkWEJsY2lJc0lsOWZjM1Z3WlhKQmNIQnNlU0lzSW5kcFpHZGxkRVYyWlc1MFVISmxabWw0SWl3aWQybGtaMlYwVG1GdFpTSXNJbmRwWkdkbGRFWjFiR3hPWVcxbElpd2lZMmhwYkdRaUxDSmphR2xzWkZCeWIzUnZkSGx3WlNJc0luQjFjMmdpTENKaWNtbGtaMlVpTENKMFlYSm5aWFFpTENKclpYa2lMQ0pwYm5CMWRDSXNJbU5oYkd3aUxDSnBibkIxZEVsdVpHVjRJaXdpYVc1d2RYUk1aVzVuZEdnaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luVnVaR1ZtYVc1bFpDSXNJbWx6VUd4aGFXNVBZbXBsWTNRaUxDSnZZbXBsWTNRaUxDSm1iaUlzSW1selRXVjBhRzlrUTJGc2JDSXNJbTFsZEdodlpGWmhiSFZsSWl3aWFXNXpkR0Z1WTJVaUxDSmphR0Z5UVhRaUxDSnFjWFZsY25raUxDSndkWE5vVTNSaFkyc2lMQ0puWlhRaUxDSmxjbkp2Y2lJc0ltOXdkR2x2YmlJc0lsOXBibWwwSWl3aVpHVm1ZWFZzZEVWc1pXMWxiblFpTENKamJHRnpjMlZ6SWl3aVpHbHpZV0pzWldRaUxDSmpjbVZoZEdVaUxDSjFkV2xrSWl3aVpYWmxiblJPWVcxbGMzQmhZMlVpTENKaWFXNWthVzVuY3lJc0ltaHZkbVZ5WVdKc1pTSXNJbVp2WTNWellXSnNaU0lzSW1Oc1lYTnpaWE5GYkdWdFpXNTBURzl2YTNWd0lpd2lYMjl1SWl3aVpYWmxiblFpTENKa1pYTjBjbTk1SWl3aVpHOWpkVzFsYm5RaUxDSnpkSGxzWlNJc0ltOTNibVZ5Ukc5amRXMWxiblFpTENKM2FXNWtiM2NpTENKa1pXWmhkV3gwVm1sbGR5SXNJbkJoY21WdWRGZHBibVJ2ZHlJc0lsOW5aWFJEY21WaGRHVlBjSFJwYjI1eklpd2lYMk55WldGMFpTSXNJbDl6WlhSUGNIUnBiMjVFYVhOaFlteGxaQ0lzSWw5MGNtbG5aMlZ5SWl3aVgyZGxkRU55WldGMFpVVjJaVzUwUkdGMFlTSXNJbTV2YjNBaUxDSjBhR0YwSWl3aVgyUmxjM1J5YjNraUxDSmZjbVZ0YjNabFEyeGhjM01pTENKdlptWWlMQ0p5WlcxdmRtVkVZWFJoSWl3aWNtVnRiM1psUVhSMGNpSXNJbkJoY25Seklpd2lZM1Z5VDNCMGFXOXVJaXdpYzJocFpuUWlMQ0p3YjNBaUxDSmZjMlYwVDNCMGFXOXVjeUlzSWw5elpYUlBjSFJwYjI0aUxDSmZjMlYwVDNCMGFXOXVRMnhoYzNObGN5SXNJbU5zWVhOelMyVjVJaXdpWld4bGJXVnVkSE1pTENKamRYSnlaVzUwUld4bGJXVnVkSE1pTENKaFpHUkRiR0Z6Y3lJc0lsOWpiR0Z6YzJWeklpd2lhMlY1Y3lJc0ltRmtaQ0lzSWw5MGIyZG5iR1ZEYkdGemN5SXNJbVZ1WVdKc1pTSXNJbVJwYzJGaWJHVWlMQ0ptZFd4c0lpd2ljSEp2WTJWemMwTnNZWE56VTNSeWFXNW5JaXdpWTJobFkydFBjSFJwYjI0aUxDSmpkWEp5Wlc1MElpd2lkVzVwY1hWbElpd2libTkwSWl3aWJXRjBZMmdpTENKbGVIUnlZU0lzSW1wdmFXNGlMQ0pmZFc1MGNtRmphME5zWVhOelpYTkZiR1Z0Wlc1MElpd2lhVzVCY25KaGVTSXNJbDloWkdSRGJHRnpjeUlzSW5SdloyZHNaVU5zWVhOeklpd2ljM1Z3Y0hKbGMzTkVhWE5oWW14bFpFTm9aV05ySWl3aWFHRnVaR3hsY25NaUxDSmtaV3hsWjJGMFpVVnNaVzFsYm5RaUxDSm9ZVzVrYkdWeUlpd2lhR0Z1Wkd4bGNsQnliM2g1SWl3aWFHRnpRMnhoYzNNaUxDSm5kV2xrSWl3aVpYWmxiblJPWVcxbElpd2ljMlZzWldOMGIzSWlMQ0p2YmlJc0lsOXZabVlpTENKZlpHVnNZWGtpTENKa1pXeGhlU0lzSW5ObGRGUnBiV1Z2ZFhRaUxDSmZhRzkyWlhKaFlteGxJaXdpYlc5MWMyVmxiblJsY2lJc0ltTjFjbkpsYm5SVVlYSm5aWFFpTENKdGIzVnpaV3hsWVhabElpd2lYMlp2WTNWellXSnNaU0lzSW1adlkzVnphVzRpTENKbWIyTjFjMjkxZENJc0luUjVjR1VpTENKallXeHNZbUZqYXlJc0lrVjJaVzUwSWl3aWIzSnBaMmx1WVd4RmRtVnVkQ0lzSW5SeWFXZG5aWElpTENKcGMwUmxabUYxYkhSUWNtVjJaVzUwWldRaUxDSnphRzkzSWl3aWFHbGtaU0lzSW0xbGRHaHZaQ0lzSW1SbFptRjFiSFJGWm1abFkzUWlMQ0pvWVhOUGNIUnBiMjV6SWl3aVpXWm1aV04wSWl3aVpXWm1aV04wVG1GdFpTSXNJbVIxY21GMGFXOXVJaXdpYVhORmJYQjBlVTlpYW1WamRDSXNJbU52YlhCc1pYUmxJaXdpWldabVpXTjBjeUlzSW1WaGMybHVaeUlzSW5GMVpYVmxJaXdpYm1WNGRDSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlpVVXNVMEZCVlVFc1IwRkRXU3h0UWtGQldFTXNVVUZCZVVKQkxFOUJRVTlETEVsQlJ6TkRSQ3hQUVVGUkxFTkJRVVVzVTBGQlZTeGhRVUZsUkN4SFFVbHVRMEVzUlVGQlUwY3NVVUZTV0N4RFFWVkhMRk5CUVZWRExFZEJSV0lzU1VGSE1FSkRMRVZCU0hSQ1F5eEZRVUZoTEVWQlEySkRMRVZCUVdORExFMUJRVTFETEZWQlFWVkRMRTFCT0hKQ2JFTXNUMEUxY2tKQlRpeEZRVUZGVHl4WFFVRjNRazRzUlVGcFFuSkNSQ3hGUVVGRlR5eFZRV2hDUXl4VFFVRlZReXhIUVVOb1FpeEpRVUZKUXl4RlFVRlJReXhGUVVGTlF5eEZRVU5zUWl4SlFVRk5RU3hGUVVGSkxFVkJRVFJDTEU5QlFYWkNSQ3hGUVVGUFJpeEZRVUZQUnl4SlFVRmxRU3hKUVVNelF5eExRVWREUml4RlFVRlRWQ3hGUVVGRldTeE5RVUZQUml4RlFVRk5MRmxCUTFSRUxFVkJRVTlKTEZGQlEzSkNZaXhGUVVGSFZTeEhRVUZQU1N4bFFVRm5RaXhWUVVreFFpeE5RVUZSUXl4SlFVVllaQ3hGUVVGTlR5eExRVWxTVWl4RlFVRkZaMElzVDBGQlV5eFRRVUZWUXl4RlFVRk5ReXhGUVVGTllpeEhRVU5vUXl4SlFVRkpZeXhGUVVGeFFrTXNSVUZCWVVNc1JVRkpiRU5ETEVWQlFXMUNMRWRCUlc1Q1F5eEZRVUZaVGl4RlFVRkxUeXhOUVVGUExFdEJRVThzUjBGRkwwSkRMRVZCUVZkR0xFVkJRVmtzUzBGRU0wSk9MRVZCUVU5QkxFVkJRVXRQTEUxQlFVOHNTMEZCVHl4SlFYVklNVUlzVDBGd1NFMXVRaXhKUVVOTVFTeEZRVUZaWVN4RlFVTmFRU3hGUVVGUGJFSXNSVUZCUlRCQ0xGRkJSMHd4UWl4RlFVRkZNa0lzVVVGQlUzUkNMRXRCUTJaQkxFVkJRVmxNTEVWQlFVVTBRaXhQUVVGUFF5eE5RVUZQTEV0QlFVMHNRMEZCUlN4SlFVRkxReXhQUVVGUmVrSXNTMEZKYkVSTUxFVkJRVVVyUWl4TFFVRk5MRXRCUVU5T0xFVkJRVk5QTEdWQlFXdENMRk5CUVZWMFFpeEhRVU51UkN4UlFVRlRWaXhGUVVGRmFVTXNTMEZCVFhaQ0xFVkJRVTFsTEVsQlIzaENla0lzUlVGQlIzVkNMRWRCUVdOMlFpeEZRVUZIZFVJc1NVRkJaU3hIUVVOdVEwb3NSVUZCYzBKdVFpeEZRVUZIZFVJc1IwRkJZVTRzUjBGRGRFTkhMRVZCUVdOd1FpeEZRVUZIZFVJc1IwRkJZVTRzUjBGQlV5eFRRVUZWYVVJc1JVRkJVME1zUjBGSGVrUXNTVUZCVFVNc1MwRkJTME1zWTBGRFZpeFBRVUZQTEVsQlFVbHFRaXhGUVVGaFl5eEZRVUZUUXl4SFFVczNRa2NzVlVGQlZVTXNVVUZEWkVnc1MwRkJTME1zWTBGQlpVZ3NSVUZCVTBNc1NVRkxMMEp1UXl4RlFVRkZORUlzVDBGQlVWSXNSVUZCWVVRc1JVRkJjVUlzUTBGRE0wTnhRaXhSUVVGVGJrTXNSVUZCVlcxRExGRkJTVzVDUXl4UFFVRlJla01zUlVGQlJUUkNMRTlCUVZFc1IwRkJTWFpDTEVkQlNYUkNjVU1zYlVKQlFXOUNMRTFCUjNKQ2NrSXNSVUZCWjBJc1NVRkJTVWdzUjBGTFRtZENMRkZCUVZWc1F5eEZRVUZGWjBJc1QwRkJUMWtzVDBGQlVTeEhRVUZKVUN4RlFVRmpZU3hUUVVNelJHeERMRVZCUVVVeVF5eExRVUZOZEVNc1JVRkJWeXhUUVVGVmRVTXNSVUZCVFVNc1IwRkROVUkzUXl4RlFVRkZPRU1zVjBGQldVUXNSMEZKY0VKMlFpeEZRVUZyUW5OQ0xFZEJRVk1zVjBGRE1VSXNVMEZCVTBjc1NVRkRVaXhQUVVGUE4wSXNSVUZCUzJJc1ZVRkJWM1ZETEVkQlFVOW1MRTFCUVU5UExFdEJRVTFGTEZkQlJ6VkRMRk5CUVZOVkxFVkJRV0ZETEVkQlEzSkNMRTlCUVU4dlFpeEZRVUZMWWl4VlFVRlhkVU1zUjBGQlQyWXNUVUZCVDA4c1MwRkJUV0VzUjBGSE5VTXNUMEZCVHl4WFFVTk9MRWxCUlVsRExFVkJSa0ZETEVWQlFWVm1MRXRCUVV0WExFOUJRMlpMTEVWQlFXVm9RaXhMUVVGTFdTeFpRVmQ0UWl4UFFWSkJXaXhMUVVGTFZ5eFBRVUZUUVN4RlFVTmtXQ3hMUVVGTFdTeFpRVUZqUVN4RlFVVnVRa1VzUlVGQlkwd3NSVUZCVFdoQ0xFMUJRVTlQTEV0QlFVMUZMRmRCUldwRFJpeExRVUZMVnl4UFFVRlRTU3hGUVVOa1ppeExRVUZMV1N4WlFVRmpTU3hGUVVWYVJpeEhRWFJDYTBJc1IwRklNVUkxUWl4RlFVRnJRbk5DTEVkQlFWTkRMRWxCTmtJM1FucENMRVZCUVZsbUxGVkJRVmxNTEVWQlFVVm5RaXhQUVVGUFdTeFBRVUZSVUN4RlFVRmxMRU5CUzNaRVowTXNhMEpCUVcxQ2JFTXNSMEZCZDBKRkxFVkJRV05uUXl4dFFrRkJPRUp3UXl4SFFVTnlSa3NzUlVGQmEwSXNRMEZEY0VKR0xGbEJRV0ZCTEVWQlEySkhMRlZCUVZkQkxFVkJRMWdyUWl4WFFVRlpja01zUlVGRFduTkRMR1ZCUVdkQ09VSXNTVUZQV2s0c1IwRkRTbTVDTEVWQlFVVXlReXhMUVVGTmVFSXNSVUZCYjBKMVFpeHRRa0ZCYjBJc1UwRkJWUzlDTEVWQlFVYzJReXhIUVVNMVJDeEpRVUZKUXl4RlFVRnBRa1FzUlVGQlRXNUVMRlZCU1ROQ1RDeEZRVUZGWjBJc1QwRkJVWGxETEVWQlFXVnNReXhWUVVGWkxFbEJRVTFyUXl4RlFVRmxTQ3hYUVVGWmJFTXNSVUZEY2tWdlF5eEZRVUZOWml4cFFrRkxSSFJDTEVWQlFXOUNkVUlzYjBKQlJUTkNlRUlzUlVGQlMzZENMRzFDUVVGdFFtZENMRXRCUVUxMFF5eEhRVWN2UW5CQ0xFVkJRVVZuUWl4UFFVRlBNa01zVDBGQlVURkRMRVZCUVUxSExFZEJSV2hDUVN4SFFVZFNjRUlzUlVGQlJXZENMRTlCUVU5WkxFOUJRVk1zVTBGQlZXZERMRWRCVHpOQ0xFbEJUa0VzU1VGSFNVTXNSVUZEUVdoQ0xFVkJTa0ZwUWl4RlFVRlJNMFFzUlVGQldUUkVMRXRCUVUxNlFpeFZRVUZYTEVkQlEzSkRNRUlzUlVGQllTeEZRVU5pUXl4RlFVRmpTQ3hGUVVGTmRrSXNUMEZKYUVKNVFpeEZRVUZoUXl4RlFVRmhSQ3hKUVVOcVF5eEpRVUZOU0N4TFFVRlBReXhGUVVGUFJTeEhRVU51UW01Q0xFVkJRVkZwUWl4RlFVRlBSU3hIUVVGalNDeEhRVU40UWtNc1JVRkJUMFVzUjBGQllVVXNaVUZCWjBKTUxGTkJRVzFDVFN4SlFVRldkRUlzU1VGSE5VTTNReXhGUVVGRmIwVXNZMEZCWlhaQ0xFZEJRM0pDWlN4RlFVRlJReXhIUVVGUk4wUXNSVUZCUlc5RkxHTkJRV1ZTTEVWQlFWRkRMRWxCUTNoRE4wUXNSVUZCUldkQ0xFOUJRVTlaTEU5QlFWRXNSMEZCU1dkRExFVkJRVkZETEVkQlFVOW9RaXhIUVVkd1F6ZERMRVZCUVVWblFpeFBRVUZQV1N4UFFVRlJMRWRCUVVscFFpeEhRVWwwUW1Vc1JVRkJVVU1zUjBGQlVXaENMRWRCUzNCQ0xFOUJRVTlsTEVkQlIxSTFSQ3hGUVVGRlowSXNUMEZCVHpKRExFOUJRVk1zVTBGQlZURkRMRVZCUVUxdlJDeEhRVU5xUXl4SlFVRkpOVU1zUlVGQlZ6UkRMRVZCUVU5b1JTeFZRVUZWYTBRc1owSkJRV3RDZEVNc1JVRkRiRVJxUWl4RlFVRkZjMFVzUjBGQlNYSkVMRWRCUVZNc1UwRkJWV2xDTEVkQlEzaENMRWxCUVVseFF5eEZRVUZyUXl4cFFrRkJXbkpETEVWQlEzUkNaU3hGUVVGUE9VTXNSVUZCV1RSRUxFdEJRVTE2UWl4VlFVRlhMRWRCUTNCRFdTeEZRVUZqWkN4TFFUSkViRUlzVDBGNlJFdHRReXhGUVVsRmJrTXNTMEZCUzBjc1VVRkJjMElzWVVGQldrd3NSVUZIY0VKRkxFdEJRVXRQTEV0QlFVMHNWMEZEVml4SlFVRkpOa0lzUlVGRFFVTXNSVUZCVjNwRkxFVkJRVVZwUXl4TFFVRk5SeXhMUVVGTldDeEhRVVUzUWl4TlFVRnBRaXhoUVVGYVV5eEhRVU5LWjBJc1JVRkJZM1ZDTEVkQlExQXNSMEZIUmtFc1JVRk5RWHBGTEVWQlFVVTRReXhYUVVGWk1rSXNSVUZCVlhaRExFdEJRWFZETEUxQlFYaENRU3hGUVVGUmQwTXNUMEZCVVN4SlFVczNSRVlzUlVGQlkwTXNSVUZCVlhaRExFZEJRVlZNTEUxQlFVODBReXhGUVVGVmVFSXNUVUZGT1VKM1FpeFJRVUUwUWs0c1NVRkJhRUpMTEVkQlEyaERkRUlzUlVGQlkzTkNMRWRCUVdWQkxFVkJRVmxITEU5QlEzaERla0lzUlVGQldUQkNMRlZCUVZkS0xFVkJRVmxMTEU5QlEyNURUQ3hIUVVOTkxGRkJTbElzUlVGT1VYaEZMRVZCUVVVNFJTeE5RVUZQTEcxQ1FVRnhRalZETEVWQlFWVXNVMEZCVjJwQ0xFVkJRM3BFTEc5Q1FWQk5ha0lzUlVGQlJUaEZMRTFCUVU4c01FSkJRVFJDTjBRc1JVRkRNME1zZFVSQlF5dENhVUlzUlVGQlZTeFBRV1ExUTJkQ0xFOUJRV05wUWl4SFFXMURWbXhDTEVWQlFVdFdMRk5CUTFSTUxFVkJRVlZzUXl4RlFVRkZaMElzVDBGQlQxa3NUMEZCVDBNc1RVRkJUeXhMUVVGTkxFTkJRVVZMTEVkQlFWVktMRTlCUVZGdFFpeExRVWMxUkdJc1MwRkJTMDhzUzBGQlRTeFhRVU5XTEVsQlFVazRRaXhGUVVGWGVrVXNSVUZCUldsRExFdEJRVTFITEV0QlFVMVlMRWRCUTNoQ1owUXNSMEZEU2tFc1JVRkJVMDBzVDBGQlVUZERMRWRCUVZjc1NVRkRka0oxUXl4RlFVRlRUeXhQUVVOaVVDeEZRVUZUVHl4VFFVZFdhRVlzUlVGQlJXbERMRXRCUVUxSExFdEJRVTFZTEVWQlFWVXNTVUZCU1RSRExFVkJRVkZ1UXl4RlFVRlRSU3hWUVV0NlEyTXNTVUZKVkd4RUxFVkJRVVV3UWl4UFFVRlRMR0ZCUTFneFFpeEZRVUZGTUVJc1QwRkJUMmRDTEcxQ1FVRnhRaXhIUVVVNVFqRkRMRVZCUVVVd1FpeFBRVUZQY2tJc1ZVRkJXU3hEUVVOd1FtbEVMRmRCUVZrc1UwRkRXa1FzYTBKQlFXMUNMRWRCUTI1Q05FSXNaVUZCWjBJc1VVRkZhRUl2UXl4UlFVRlRMRU5CUTFKblJDeFJRVUZUTEVkQlExUkRMRlZCUVZVc1JVRkhWa01zVDBGQlVTeE5RVWRVTDBNc1kwRkJaU3hUUVVGVlNDeEZRVUZUUXl4SFFVTnFRMEVzUlVGQlZXNURMRVZCUVVkdFF5eEhRVUZYUXl4TFFVRkxOa01zWjBKQlFXdENOME1zVFVGQlVTeEhRVU4yUkVFc1MwRkJTMFFzVVVGQlZXNURMRVZCUVVkdFF5eEhRVU5zUWtNc1MwRkJTMmxFTEV0QlFVOXVSaXhKUVVOYWEwTXNTMEZCUzJ0RUxHVkJRV2xDTEVsQlFVMXNSQ3hMUVVGTGEwSXNWMEZCWVd4Q0xFdEJRVXRwUkN4TFFVVnVSR3BFTEV0QlFVdHRSQ3hUUVVGWGRrWXNTVUZEYUVKdlF5eExRVUZMYjBRc1ZVRkJXWGhHTEVsQlEycENiME1zUzBGQlMzRkVMRlZCUVZsNlJpeEpRVU5xUW05RExFdEJRVXR6UkN4eFFrRkJkVUlzUjBGRmRrSjJSQ3hKUVVGWlF5eFBRVU5vUW5CRExFVkJRVVZwUXl4TFFVRk5SU3hGUVVGVFF5eExRVUZMYlVJc1pVRkJaMEp1UWl4TlFVTjBRMEVzUzBGQlMzVkVMRXRCUVVzc1JVRkJUWFpFTEV0QlFVdEVMRkZCUVZNc1EwRkROMEowUWl4UFFVRlJMRk5CUVZVclJTeEhRVU5hUVN4RlFVRk5hRU1zVTBGQlYzcENMRWRCUTNKQ1F5eExRVUZMZVVRc1lVRkpVbnBFTEV0QlFVc3dSQ3hUUVVGWE9VWXNSVUZCUjIxRExFVkJRVkUwUkN4TlFVY3hRalZFTEVWQlFWRTJSQ3hqUVVkU04wUXNSVUZCVVRKRUxGVkJRVmt6UkN4SFFVTnlRa01zUzBGQlN6WkVMRTlCUVZOcVJ5eEZRVUZIYjBNc1MwRkJTekJFTEZOQlFWVXNSMEZCU1Vrc1lVRkJaVGxFTEV0QlFVc3dSQ3hUUVVGVkxFZEJRVWxMTEdWQlIzWkZMMFFzUzBGQlMwWXNVVUZCVld4RExFVkJRVVZuUWl4UFFVRlBXU3hQUVVGUkxFZEJReTlDVVN4TFFVRkxSaXhSUVVOTVJTeExRVUZMWjBVc2IwSkJRMHhzUlN4SFFVVkVSU3hMUVVGTGFVVXNWVUZGUVdwRkxFdEJRVXRHTEZGQlFWRnBSQ3hWUVVOcVFpOURMRXRCUVV0clJTeHRRa0ZCYjBKc1JTeExRVUZMUml4UlFVRlJhVVFzVlVGSGRrTXZReXhMUVVGTGJVVXNVMEZCVlN4VFFVRlZMRXRCUVUxdVJTeExRVUZMYjBVc2RVSkJRM0JEY0VVc1MwRkJTelJETEZOQlIwNXZRaXhyUWtGQmJVSXNWMEZEYkVJc1RVRkJUeXhKUVVkU1NTeHZRa0ZCY1VKNFJ5eEZRVUZGZVVjc1MwRkZka0pLTEZGQlFWTnlSeXhGUVVGRmVVY3NTMEZGV0hwQ0xFMUJRVTlvUml4RlFVRkZlVWNzUzBGRlZGb3NVVUZCVXl4WFFVTlNMRWxCUVVsaExFVkJRVTkwUlN4TFFVVllRU3hMUVVGTGRVVXNWMEZEVEROSExFVkJRVVV5UXl4TFFVRk5VQ3hMUVVGTGMwUXNjVUpCUVhOQ0xGTkJRVlUzUWl4RlFVRkxhRUlzUjBGRGFrUTJSQ3hGUVVGTFJTeGhRVUZqTDBRc1JVRkJUMmRDTEV0QlN6TkNla0lzUzBGQlMwUXNVVUZEU0RCRkxFbEJRVXQ2UlN4TFFVRkxhMFFzWjBKQlExWjNRaXhYUVVGWk1VVXNTMEZCUzIxQ0xHZENRVU51UW01Q0xFdEJRVXR3UWl4VFFVTklOa1lzU1VGQlMzcEZMRXRCUVV0clJDeG5Ra0ZEVm5sQ0xGZEJRVmtzYVVKQlIyUXpSU3hMUVVGTGJVUXNVMEZCVTNOQ0xFbEJRVXQ2UlN4TFFVRkxhMFFzYVVKQlIzcENjVUlzVTBGQlZUTkhMRVZCUVVWNVJ5eExRVVZhZWtZc1QwRkJVU3hYUVVOUUxFOUJRVTl2UWl4TFFVRkxSQ3hUUVVkaU5FTXNUMEZCVVN4VFFVRlZiRUlzUlVGQlMyaENMRWRCUTNSQ0xFbEJRMGx0UlN4RlFVTkJReXhGUVVOQmRFY3NSVUZJUVhWQ0xFVkJRVlV5UWl4RlFVdGtMRWRCUVRCQ0xFbEJRWEpDZGtJc1ZVRkJWVU1zVDBGSFpDeFBRVUZQZGtNc1JVRkJSV2RDTEU5QlFVOVpMRTlCUVZFc1IwRkJTVkVzUzBGQlMwWXNVMEZIYkVNc1IwRkJiMElzYVVKQlFWSXlRaXhGUVUxWUxFZEJTRUV6UWl4RlFVRlZMRWRCUTFZNFJTeEZRVUZSYmtRc1JVRkJTWEpETEUxQlFVOHNTMEZEYmtKeFF5eEZRVUZOYlVRc1JVRkJUVVVzVVVGRFVFWXNSVUZCVFhwRkxFOUJRVk1zUTBGRmJrSXNTVUZFUVRCRkxFVkJRVmt2UlN4RlFVRlRNa0lzUjBGQlVUZEVMRVZCUVVWblFpeFBRVUZQV1N4UFFVRlJMRWRCUVVsUkxFdEJRVXRHTEZGQlFWTXlRaXhKUVVNeFJHeEVMRVZCUVVrc1JVRkJSMEVzUlVGQlNYRkhMRVZCUVUxNlJTeFBRVUZUTEVWQlFVYzFRaXhKUVVOc1EzTkhMRVZCUVZkRUxFVkJRVTl5Unl4SlFVRlJjMGNzUlVGQlYwUXNSVUZCVDNKSExFdEJRVk1zUjBGRGNrUnpSeXhGUVVGWlFTeEZRVUZYUkN4RlFVRlBja2NzU1VGSEwwSXNSMEZFUVd0RUxFVkJRVTF0UkN4RlFVRk5SeXhOUVVOakxFbEJRWEpDTjBVc1ZVRkJWVU1zVDBGRFpDeFpRVUUwUWpSQ0xFbEJRWEpDT0VNc1JVRkJWM0JFTEVkQlFYTkNMRXRCUVU5dlJDeEZRVUZYY0VRc1IwRkZNMFJ2UkN4RlFVRlhjRVFzUjBGQlVXaENMRTFCUTJJc1EwRkRUaXhIUVVFd1FpeEpRVUZ5UWxBc1ZVRkJWVU1zVDBGRFpDeFpRVUVyUWpSQ0xFbEJRWGhDTDBJc1MwRkJTMFlzVVVGQlV6SkNMRWRCUVhOQ0xFdEJRVTk2UWl4TFFVRkxSaXhSUVVGVE1rSXNSMEZGYWtVelFpeEZRVUZUTWtJc1IwRkJVV2hDTEVWQlRXNUNMRTlCUmtGVUxFdEJRVXRuUml4WlFVRmhiRVlzUjBGRldFVXNUVUZIVW1kR0xGbEJRV0VzVTBGQlZXeEdMRWRCUTNSQ0xFbEJRVWt5UWl4RlFVVktMRWxCUVUxQkxFdEJRVTh6UWl4RlFVTmFSU3hMUVVGTGFVWXNWMEZCV1hoRUxFVkJRVXN6UWl4RlFVRlRNa0lzU1VGSGFFTXNUMEZCVDNwQ0xFMUJSMUpwUml4WFFVRlpMRk5CUVZWNFJDeEZRVUZMYUVJc1IwRlhNVUlzVFVGV1lTeFpRVUZTWjBJc1IwRkRTbnBDTEV0QlFVdHJSaXhyUWtGQmJVSjZSU3hIUVVkNlFsUXNTMEZCUzBZc1VVRkJVekpDTEVkQlFWRm9RaXhGUVVWVUxHRkJRVkpuUWl4SFFVTktla0lzUzBGQlMydEZMRzFDUVVGdlFucEVMRWRCUjI1Q1ZDeE5RVWRTYTBZc2EwSkJRVzFDTEZOQlFWVjZSU3hIUVVNMVFpeEpRVUZKTUVVc1JVRkJWVU1zUlVGQlZVTXNSVUZGZUVJc1NVRkJUVVlzUzBGQldURkZMRVZCUTJwQ05FVXNSVUZCYTBKeVJpeExRVUZMYzBRc2NVSkJRWE5DTmtJc1IwRkRlRU14UlN4RlFVRlBNRVVzUzBGQlpXNUdMRXRCUVV0R0xGRkJRVkZuUkN4UlFVRlRjVU1zU1VGRE9VTkZMRWRCUTBGQkxFVkJRV2RDYkVZc1UwRlJia0pwUml4RlFVRlhlRWdzUlVGQlIzbElMRVZCUVdkQ05VTXNUMEZET1VKNlF5eExRVUZMZDBVc1lVRkJZMkVzUlVGQmFVSkdMRWRCVFhCRFF5eEZRVUZUUlN4VFFVRlZkRVlzUzBGQlMzVkdMRk5CUVZVc1EwRkRha040Uml4UlFVRlRjVVlzUlVGRFZFa3NTMEZCVFV3c1JVRkRUbkpETEZGQlFWTnlReXhGUVVOVVowWXNTMEZCU3l4UFFVdFNka0lzYlVKQlFXOUNMRk5CUVZWNlJDeEhRVU0zUWxRc1MwRkJTekJHTEdGQlFXTXhSaXhMUVVGTGNFSXNVMEZCVlc5Q0xFdEJRVXR0UWl4bFFVRnBRaXhaUVVGaExFOUJRVkZXTEVkQlIzaEZRU3hKUVVOS1ZDeExRVUZMZDBVc1lVRkJZM2hGTEV0QlFVdHZSQ3hWUVVGWExFdEJRVTBzYTBKQlEzcERjRVFzUzBGQlMzZEZMR0ZCUVdONFJTeExRVUZMY1VRc1ZVRkJWeXhMUVVGTkxHOUNRVWt6UTNORExFOUJRVkVzVjBGRFVDeFBRVUZQTTBZc1MwRkJTMmRHTEZsQlFXRXNRMEZCUldwRExGVkJRVlVzUzBGSGRFTTJReXhSUVVGVExGZEJRMUlzVDBGQlR6VkdMRXRCUVV0blJpeFpRVUZoTEVOQlFVVnFReXhWUVVGVkxFdEJSM1JEZDBNc1UwRkJWU3hUUVVGVmVrWXNSMEZEYmtJc1NVRkJTU3RHTEVWQlFVOHNSMEZEVUhaQ0xFVkJRVTkwUlN4TFFVOVlMRk5CUVZNNFJpeEZRVUZ2UW1oRUxFVkJRVk5wUkN4SFFVTnlReXhKUVVGSlF5eEZRVUZUZWtnc1JVRkRZaXhKUVVGTlFTeEZRVUZKTEVWQlFVZEJMRVZCUVVsMVJTeEZRVUZSTTBNc1QwRkJVVFZDTEVsQlEyaERlVWdzUlVGQlZURkNMRVZCUVV0b1FpeHhRa0ZCYzBKU0xFVkJRVk4yUlN4TFFVRlRXQ3hKUVVWMFJHOUpMRVZCUkVsc1J5eEZRVUZSTWtZc1NVRkRSamRJTEVWQlFVZEJMRVZCUVVWeFNTeFBRVUZSUkN4RlFVRlJka1FzVFVGQlRTOURMRTlCUVZGSkxFVkJRVkZETEZGQlFWRXdReXhUUVVWdVJEZEZMRVZCUVVkdlNTeEZRVUZSUlN4SlFVRkxjRWNzUlVGQlVVTXNVMEZCVlRCRExFOUJSVGRETmtJc1JVRkJTMmhDTEhGQ1FVRnpRbElzUlVGQlUzWkZMRWxCUVZGNVNDeEZRVU0xUTBnc1JVRkJTM1pGTEV0QlFVMTNRaXhGUVVGVGRrVXNTVUZEWm5kSUxFZEJRV1ZxUnl4RlFVRlJaMFFzVVVGQlUwRXNSVUZCVTNaRkxFdEJRemREYzBnc1JVRkJTM1pGTEV0QlFVMTRRaXhGUVVGUlowUXNVVUZCVTBFc1JVRkJVM1pGTEV0QlowSjRReXhQUVdwRFFYVkNMRVZCUVZWc1F5eEZRVUZGTkVJc1QwRkJVU3hEUVVOdVFrOHNVVUZCVTBNc1MwRkJTMFFzVVVGRFpDdERMRkZCUVZNNVF5eExRVUZMUml4UlFVRlJaMFFzVTBGQlZ5eEpRVU12UW1oRUxFZEJiVUpJUlN4TFFVRkxkVVFzU1VGQlMzcEVMRVZCUVZGRExGRkJRVk1zUTBGRE1VSjBRaXhQUVVGVkxESkNRVWRPY1VJc1JVRkJVVEJHTEUxQlExcE5MRVZCUVc5Q2FFY3NSVUZCVVRCR0xFdEJRVXRYTEUxQlFVOHNVMEZCV1N4SlFVRkpMRWRCUlhCRWNrY3NSVUZCVVhOSExFOUJRMXBPTEVWQlFXOUNhRWNzUlVGQlVYTkhMRTFCUVUxRUxFMUJRVThzVTBGQldTeEpRVWN2UTA0c1JVRkJTMUVzUzBGQlRTeE5RVWR1UWtNc2RVSkJRWGRDTEZOQlFWVTVReXhIUVVOcVF5eEpRVUZKWXl4RlFVRlBkRVVzUzBGRFdIQkRMRVZCUVVVeVF5eExRVUZOSzBRc1JVRkJTMmhDTEhGQ1FVRnpRaXhUUVVGVk4wSXNSVUZCUzJoQ0xFbEJRMDRzU1VGQmRFTTNReXhGUVVGRk1ra3NVVUZCVXk5RExFVkJRVTFvUXl4UFFVRlJaaXhMUVVNM1FqWkVMRVZCUVV0b1FpeHhRa0ZCYzBJM1FpeEhRVUZSTjBRc1JVRkJSelpETEVWQlFVMTVSaXhKUVVGTE1VTXNSVUZCVFdoRExGRkJRVk5wUWl4WFFVdHVSU3RDTEdGQlFXTXNVMEZCVlhwRkxFVkJRVk41Uml4RlFVRk5XU3hIUVVOMFF5eFBRVUZQY0Vjc1MwRkJTekJHTEdGQlFXTXpSaXhGUVVGVGVVWXNSVUZCVFZrc1IwRkJUeXhKUVVkcVJFa3NWVUZCVnl4VFFVRlZla2NzUlVGQlUzbEdMRVZCUVUxWkxFZEJRMjVETEU5QlFVOXdSeXhMUVVGTE1FWXNZVUZCWXpOR0xFVkJRVk41Uml4RlFVRk5XU3hIUVVGUExFbEJSMnBFVml4aFFVRmpMRk5CUVZVelJpeEZRVUZUZVVZc1JVRkJUVmtzUlVGQlQxZ3NSMEZETjBOQkxFVkJRWFZDTEd0Q1FVRlNRU3hGUVVGelFrRXNSVUZCVFZjc1JVRkRNME1zU1VGQlNYUkNMRVZCUVRaQ0xHbENRVUZhTDBVc1IwRkJiME1zVDBGQldrRXNSVUZETlVORUxFVkJRVlVzUTBGRFZITkhMRTFCUVU5MFFpeEZRVUZSVlN4RlFVRlBXU3hGUVVOMFFsb3NTMEZCVFZZc1JVRkJVUzlGTEVWQlFWVjVSaXhGUVVONFFucEdMRkZCUVZNclJTeEZRVUZST1VVc1MwRkJTMFFzVVVGQlZVRXNSVUZEYUVNd1JpeEpRVUZMUVN4SFFVZFFMRTlCUkVFelJpeEZRVUZSUXl4UlFVRlJNRWNzV1VGQllYcEhMRXRCUVV0MVJpeFRRVUZWZWtZc1IwRkJWekpHTEVkQlEyaEVla1lzVFVGSFVuVkVMRWxCUVVzc1UwRkJWVzFFTEVWQlFYVkNNMGNzUlVGQlV6UkhMRWRCUXpsRExFbEJRVWxETEVWQlEwRjJSU3hGUVVGWGNrTXNTMEZIZFVJc2EwSkJRVEZDTUVjc1NVRkRXRU1zUlVGQlZ6VkhMRVZCUTFoQkxFVkJRVlV5Unl4RlFVTldRU3hIUVVGM1FpeEhRVWx1UWtNc1IwRkxURFZITEVWQlFWVTJSeXhGUVVGclFtaEtMRVZCUVVkdFF5eEhRVU12UWtNc1MwRkJTMjFFTEZOQlFWZHVSQ3hMUVVGTGJVUXNVMEZCVTNORExFbEJRVXN4Uml4TFFVeHVRelJITEVWQlFWYzFSeXhGUVVOWVFTeEZRVUZWUXl4TFFVRkxSQ3hSUVVObU5rY3NSVUZCYTBJMVJ5eExRVUZMY0VJc1ZVRk5lRUpvUWl4RlFVRkZNa01zUzBGQlRXOUhMRVZCUVZVc1UwRkJWVzVFTEVWQlFVOXhSQ3hIUVVOc1F5eFRRVUZUUXl4SlFVdFNMRWRCUVUxS0xFbEJRelJDTEVsQlFUbENja1VzUlVGQlUzWkRMRkZCUVZGcFJDeFhRVU51UW01R0xFVkJRVWR2UXl4TlFVRlBLMGNzVTBGQlZTeHhRa0ZIZEVJc1QwRkJORUlzYVVKQlFWcEdMRVZCUVhWQ2VFVXNSVUZCVlhkRkxFZEJRVmxCTEVkQlF6TkVjRWdzVFVGQlR6UkRMRVZCUVZWdVF5eFhRVWxKTEdsQ1FVRmFNa2NzU1VGRFdFTXNSVUZCWVVVc1MwRkJUMGdzUlVGQlVVY3NTMEZETTBKSUxFVkJRVkZITEUxQlFWRkdMRVZCUVdGRkxFMUJRVkZ3U2l4RlFVRkZiMG9zVVVGSGVrTXNTVUZCU1dJc1JVRkJVVE5ETEVWQlFVMHlReXhOUVVGUExITkNRVU55UW1Nc1JVRkJXV1FzUlVGQlR5eEhRVUZOT1VRc1JVRkJVMkVzWlVGRGJFTm5SU3hGUVVGWFppeEZRVUZQTEVkQlJXcENaU3hGUVVOS1RpeEZRVUZuUWs4c1IwRkJTVVlzUlVGQlYwTXNSVUZCVlVvc1IwRkZla012Unl4RlFVRlJiMGdzUjBGQlNVWXNSVUZCVjBnc1RVRkxNVUpOTEV0QlFVMHNVMEZCVlhKSUxFVkJRVk5yU0N4SFFVTjRRa0VzUjBGQlkwRXNSMEZCWVN4SlFVRkxOMGdzVFVGQlR5eExRVUZOYVVnc1MwRkJUWEpITEV0QlFVdHJSQ3hsUVVGcFFpeExRVU40Uld4RUxFdEJRVXRyUkN4bFFVTk9ia1FzUlVGQlVUQkZMRWxCUVV0M1F5eEhRVUZaZUVNc1NVRkJTM2RETEVkQlJ6bENha2dzUzBGQlMyMUVMRk5CUVZkMlJpeEZRVUZIYjBNc1MwRkJTMjFFTEZOQlFWTXJReXhKUVVGTGJrY3NSMEZCVlRCRExFOUJRMmhFZWtNc1MwRkJTM0ZFTEZWQlFWbDZSaXhGUVVGSGIwTXNTMEZCUzNGRUxGVkJRVlUyUXl4SlFVRkxia2NzUjBGQlZUQkRMRTlCUTJ4RWVrTXNTMEZCUzI5RUxGVkJRVmw0Uml4RlFVRkhiME1zUzBGQlMyOUVMRlZCUVZVNFF5eEpRVUZMYmtjc1IwRkJWVEJETEZGQlIyNUVORVVzVDBGQlVTeFRRVUZWVWl4RlFVRlRVeXhIUVVzeFFpeEpRVUZKYWtZc1JVRkJWM0pETEV0QlEyWXNUMEZCVDNWSUxGZEJURkFzVjBGRFF5eFBRVUUwUWl4cFFrRkJXbFlzUlVGQmRVSjRSU3hGUVVGVmQwVXNSMEZCV1VFc1IwRkRNMFJ3U0N4TlFVRlBORU1zUlVGQlZXNURMRmxCUjJGdlNDeEhRVUZUTEVsQlJ6TkRSU3hYUVVGWkxGTkJRVlY2U0N4SFFVTnlRa01zUzBGQlMyOUVMRlZCUVZsd1JDeExRVUZMYjBRc1ZVRkJWWEZETEVsQlFVc3hSaXhIUVVOeVEwTXNTMEZCUzNWRUxFbEJRVXQ0UkN4RlFVRlRMRU5CUTJ4Q01FZ3NWMEZCV1N4VFFVRlZha1VzUjBGRGNrSjRSQ3hMUVVGTGQwY3NWVUZCVnpWSkxFVkJRVWMwUml4RlFVRk5hMFVzWlVGQmFVSXNTMEZCVFN4dFFrRkZha1JETEZkQlFWa3NVMEZCVlc1RkxFZEJRM0pDZUVRc1MwRkJTM2RGTEdGQlFXTTFSeXhGUVVGSE5FWXNSVUZCVFd0RkxHVkJRV2xDTEV0QlFVMHNjMEpCUzNSRVJTeFhRVUZaTEZOQlFWVTNTQ3hIUVVOeVFrTXNTMEZCUzNGRUxGVkJRVmx5UkN4TFFVRkxjVVFzVlVGQlZXOURMRWxCUVVzeFJpeEhRVU55UTBNc1MwRkJTM1ZFTEVsQlFVdDRSQ3hGUVVGVExFTkJRMnhDT0Vnc1VVRkJVeXhUUVVGVmNrVXNSMEZEYkVKNFJDeExRVUZMZDBjc1ZVRkJWelZKTEVWQlFVYzBSaXhGUVVGTmEwVXNaVUZCYVVJc1MwRkJUU3h0UWtGRmFrUkpMRk5CUVZVc1UwRkJWWFJGTEVkQlEyNUNlRVFzUzBGQlMzZEZMR0ZCUVdNMVJ5eEZRVUZITkVZc1JVRkJUV3RGTEdWQlFXbENMRXRCUVUwc2MwSkJTM1JFZGtRc1UwRkJWU3hUUVVGVk5FUXNSVUZCVFhaRkxFVkJRVTh6UkN4SFFVTm9ReXhKUVVGSlZ5eEZRVUZOTTBNc1JVRkRUbTFMTEVWQlFWZG9TU3hMUVVGTFJpeFJRVUZUYVVrc1IwRmpOMElzUjBGYVFXeEpMRVZCUVU5QkxFZEJRVkVzU1VGRFpqSkVMRVZCUVZFMVJpeEZRVUZGY1Vzc1RVRkJUM3BGTEVsQlExaDFSU3hOUVVGVFFTeEpRVUZUTDBnc1MwRkJTMmxDTEd0Q1FVTTFRamhITEVWQlEwRXZTQ3hMUVVGTGFVSXNhMEpCUVc5Q09FY3NSMEZCVDI1SkxHTkJTV3BETkVRc1JVRkJUV2hETEU5QlFWTjRRaXhMUVVGTFJDeFJRVUZUTEVkQlJ6ZENiRU1zUlVGQlR6SkdMRVZCUVUwd1JTeGpRVVZhTEVsQlFVMHhTQ3hMUVVGUk0wTXNSVUZEVERKRExFdEJRVkZuUkN4SlFVTm1RU3hGUVVGUGFFUXNSMEZCVXpORExFVkJRVTB5UXl4SlFVMTZRaXhQUVVSQlVpeExRVUZMUkN4UlFVRlJiMGtzVVVGQlV6TkZMRVZCUVU4elJDeExRVU51UW1wRExFVkJRVVU0UXl4WFFVRlpjMGdzUzBGRE1rTXNTVUZCYkVWQkxFVkJRVk4yU1N4TlFVRlBUeXhMUVVGTFJDeFJRVUZUTEVkQlFVc3NRMEZCUlhsRUxFZEJRVkU1UkN4UFFVRlJSeXhMUVVOeVJESkVMRVZCUVUwMFJTeDNRa0ZKVkhoTExFVkJRVVV5UXl4TFFVRk5MRU5CUVVVNFNDeExRVUZOTEZOQlFWVkRMRXRCUVUwc1YwRkJZU3hUUVVGVlF5eEZRVUZSUXl4SFFVTTVSRFZMTEVWQlFVVXdRaXhQUVVGUGNrSXNWVUZCVnl4SlFVRk5jMHNzUjBGQlZ5eFRRVUZWZUVrc1JVRkJVMFFzUlVGQlUydEpMRWRCUzJoRkxFbEJRVWxUTEVWQlNtOUNMR2xDUVVGYU0wa3NTVUZEV0VFc1JVRkJWU3hEUVVGRk5Fa3NUMEZCVVRWSkxFbEJTWEpDTEVsQlFVazJTU3hGUVVGak4wa3NSMEZGVEN4SlFVRmFRU3hIUVVGMVF5eHBRa0ZCV2tFc1JVRkRNVUl3U1N4RlFVTkJNVWtzUlVGQlVUUkpMRkZCUVZWR0xFVkJTRzVDUkN4RlFVMTFRaXhwUWtGRWVFSjZTU3hGUVVGVlFTeEhRVUZYTEUxQlJYQkNRU3hGUVVGVkxFTkJRVVU0U1N4VFFVRlZPVWtzU1VGSGRrSXlTU3hIUVVGak4wc3NSVUZCUldsTUxHTkJRV1V2U1N4SFFVTXZRa0VzUlVGQlVXZEtMRk5CUVZka0xFVkJSV1JzU1N4RlFVRlJkMGdzVDBGRFduWklMRVZCUVZGMVNDeE5RVUZQZUVnc1JVRkJVWGRJTEU5QlIyNUNiVUlzUjBGQll6ZExMRVZCUVVWdFRDeFRRVUZYYmt3c1JVRkJSVzFNTEZGQlFWRk1MRTlCUVZGRExFZEJRMnBFTlVrc1JVRkJVM2RKTEVkQlFWVjZTU3hIUVVOU05ra3NTVUZCWlVvc1IwRkJWWGhKTEVWQlFWTTBTU3hIUVVNM1F6VkpMRVZCUVZNMFNTeEhRVUZqTjBrc1JVRkJVVGhKTEZOQlFWVTVTU3hGUVVGUmEwb3NUMEZCVVdoQ0xFZEJSWHBFYWtrc1JVRkJVV3RLTEUxQlFVOHNVMEZCVlVNc1IwRkRlRUowVEN4RlFVRkhiME1zVFVGQlVYVkpMRXRCUTA1UUxFZEJRMHBCTEVWQlFWTnlSeXhMUVVGTk5VSXNSVUZCVXl4SlFVVjZRbTFLTEZOQlRVZDBUQ3hGUVVGRlowSWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5cWNYVmxjbmt0ZFdrdmRXa3ZkMmxrWjJWMExtcHpJbjA9IiwiIWZ1bmN0aW9uKGUsdCl7XCJ1c2Ugc3RyaWN0XCI7XCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZSYmXCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUuZG9jdW1lbnQ/dChlLCEwKTpmdW5jdGlvbihlKXtpZighZS5kb2N1bWVudCl0aHJvdyBuZXcgRXJyb3IoXCJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50XCIpO3JldHVybiB0KGUpfTp0KGUpfShcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp0aGlzLGZ1bmN0aW9uKGUsdCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIG49W10scj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsaT1uLnNsaWNlLG89bi5mbGF0P2Z1bmN0aW9uKGUpe3JldHVybiBuLmZsYXQuY2FsbChlKX06ZnVuY3Rpb24oZSl7cmV0dXJuIG4uY29uY2F0LmFwcGx5KFtdLGUpfSxhPW4ucHVzaCxzPW4uaW5kZXhPZix1PXt9LGw9dS50b1N0cmluZyxjPXUuaGFzT3duUHJvcGVydHksZj1jLnRvU3RyaW5nLHA9Zi5jYWxsKE9iamVjdCksZD17fSxoPWZ1bmN0aW9uKGUpe3JldHVyblwiZnVuY3Rpb25cIj09dHlwZW9mIGUmJlwibnVtYmVyXCIhPXR5cGVvZiBlLm5vZGVUeXBlJiZcImZ1bmN0aW9uXCIhPXR5cGVvZiBlLml0ZW19LGc9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUmJmU9PT1lLndpbmRvd30sdj1lLmRvY3VtZW50LHk9e3R5cGU6ITAsc3JjOiEwLG5vbmNlOiEwLG5vTW9kdWxlOiEwfTtmdW5jdGlvbiBtKGUsdCxuKXt2YXIgcixpLG89KG49bnx8dikuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtpZihvLnRleHQ9ZSx0KWZvcihyIGluIHkpKGk9dFtyXXx8dC5nZXRBdHRyaWJ1dGUmJnQuZ2V0QXR0cmlidXRlKHIpKSYmby5zZXRBdHRyaWJ1dGUocixpKTtuLmhlYWQuYXBwZW5kQ2hpbGQobykucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKX1mdW5jdGlvbiB4KGUpe3JldHVybiBudWxsPT1lP2UrXCJcIjpcIm9iamVjdFwiPT10eXBlb2YgZXx8XCJmdW5jdGlvblwiPT10eXBlb2YgZT91W2wuY2FsbChlKV18fFwib2JqZWN0XCI6dHlwZW9mIGV9dmFyIGI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IGIuZm4uaW5pdChlLHQpfTtmdW5jdGlvbiB3KGUpe3ZhciB0PSEhZSYmXCJsZW5ndGhcImluIGUmJmUubGVuZ3RoLG49eChlKTtyZXR1cm4haChlKSYmIWcoZSkmJihcImFycmF5XCI9PT1ufHwwPT09dHx8XCJudW1iZXJcIj09dHlwZW9mIHQmJnQ+MCYmdC0xIGluIGUpfWIuZm49Yi5wcm90b3R5cGU9e2pxdWVyeTpcIjMuNi4wXCIsY29uc3RydWN0b3I6YixsZW5ndGg6MCx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIGkuY2FsbCh0aGlzKX0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP2kuY2FsbCh0aGlzKTplPDA/dGhpc1tlK3RoaXMubGVuZ3RoXTp0aGlzW2VdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oZSl7dmFyIHQ9Yi5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksZSk7cmV0dXJuIHQucHJldk9iamVjdD10aGlzLHR9LGVhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIGIuZWFjaCh0aGlzLGUpfSxtYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGIubWFwKHRoaXMsZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5jYWxsKHQsbix0KX0pKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soaS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxldmVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGIuZ3JlcCh0aGlzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQrMSklMn0pKX0sb2RkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGIuZ3JlcCh0aGlzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQlMn0pKX0sZXE6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5sZW5ndGgsbj0rZSsoZTwwP3Q6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG4+PTAmJm48dD9bdGhpc1tuXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6YSxzb3J0Om4uc29ydCxzcGxpY2U6bi5zcGxpY2V9LGIuZXh0ZW5kPWIuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLHIsaSxvLGE9YXJndW1lbnRzWzBdfHx7fSxzPTEsdT1hcmd1bWVudHMubGVuZ3RoLGw9ITE7Zm9yKFwiYm9vbGVhblwiPT10eXBlb2YgYSYmKGw9YSxhPWFyZ3VtZW50c1tzXXx8e30scysrKSxcIm9iamVjdFwiPT10eXBlb2YgYXx8aChhKXx8KGE9e30pLHM9PT11JiYoYT10aGlzLHMtLSk7czx1O3MrKylpZihudWxsIT0oZT1hcmd1bWVudHNbc10pKWZvcih0IGluIGUpcj1lW3RdLFwiX19wcm90b19fXCIhPT10JiZhIT09ciYmKGwmJnImJihiLmlzUGxhaW5PYmplY3Qocil8fChpPUFycmF5LmlzQXJyYXkocikpKT8obj1hW3RdLG89aSYmIUFycmF5LmlzQXJyYXkobik/W106aXx8Yi5pc1BsYWluT2JqZWN0KG4pP246e30saT0hMSxhW3RdPWIuZXh0ZW5kKGwsbyxyKSk6dm9pZCAwIT09ciYmKGFbdF09cikpO3JldHVybiBhfSxiLmV4dGVuZCh7ZXhwYW5kbzpcImpRdWVyeVwiKyhcIjMuNi4wXCIrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXFxEL2csXCJcIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoZSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oZSl7dmFyIHQsbjtyZXR1cm4hKCFlfHxcIltvYmplY3QgT2JqZWN0XVwiIT09bC5jYWxsKGUpKSYmKCEodD1yKGUpKXx8XCJmdW5jdGlvblwiPT10eXBlb2Yobj1jLmNhbGwodCxcImNvbnN0cnVjdG9yXCIpJiZ0LmNvbnN0cnVjdG9yKSYmZi5jYWxsKG4pPT09cCl9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oZSl7dmFyIHQ7Zm9yKHQgaW4gZSlyZXR1cm4hMTtyZXR1cm4hMH0sZ2xvYmFsRXZhbDpmdW5jdGlvbihlLHQsbil7bShlLHtub25jZTp0JiZ0Lm5vbmNlfSxuKX0sZWFjaDpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MDtpZih3KGUpKWZvcihuPWUubGVuZ3RoO3I8biYmITEhPT10LmNhbGwoZVtyXSxyLGVbcl0pO3IrKyk7ZWxzZSBmb3IociBpbiBlKWlmKCExPT09dC5jYWxsKGVbcl0scixlW3JdKSlicmVhaztyZXR1cm4gZX0sbWFrZUFycmF5OmZ1bmN0aW9uKGUsdCl7dmFyIG49dHx8W107cmV0dXJuIG51bGwhPWUmJih3KE9iamVjdChlKSk/Yi5tZXJnZShuLFwic3RyaW5nXCI9PXR5cGVvZiBlP1tlXTplKTphLmNhbGwobixlKSksbn0saW5BcnJheTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIG51bGw9PXQ/LTE6cy5jYWxsKHQsZSxuKX0sbWVyZ2U6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49K3QubGVuZ3RoLHI9MCxpPWUubGVuZ3RoO3I8bjtyKyspZVtpKytdPXRbcl07cmV0dXJuIGUubGVuZ3RoPWksZX0sZ3JlcDpmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPVtdLGk9MCxvPWUubGVuZ3RoLGE9IW47aTxvO2krKykhdChlW2ldLGkpIT09YSYmci5wdXNoKGVbaV0pO3JldHVybiByfSxtYXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksYT0wLHM9W107aWYodyhlKSlmb3Iocj1lLmxlbmd0aDthPHI7YSsrKW51bGwhPShpPXQoZVthXSxhLG4pKSYmcy5wdXNoKGkpO2Vsc2UgZm9yKGEgaW4gZSludWxsIT0oaT10KGVbYV0sYSxuKSkmJnMucHVzaChpKTtyZXR1cm4gbyhzKX0sZ3VpZDoxLHN1cHBvcnQ6ZH0pLFwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmKGIuZm5bU3ltYm9sLml0ZXJhdG9yXT1uW1N5bWJvbC5pdGVyYXRvcl0pLGIuZWFjaChcIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IgU3ltYm9sXCIuc3BsaXQoXCIgXCIpLGZ1bmN0aW9uKGUsdCl7dVtcIltvYmplY3QgXCIrdCtcIl1cIl09dC50b0xvd2VyQ2FzZSgpfSk7dmFyIFQ9ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGksbyxhLHMsdSxsLGMsZixwLGQsaCxnLHYseSxtLHgsYj1cInNpenpsZVwiKzEqbmV3IERhdGUsdz1lLmRvY3VtZW50LFQ9MCxDPTAsRT11ZSgpLFM9dWUoKSxrPXVlKCksQT11ZSgpLE49ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT09PXQmJihmPSEwKSwwfSxqPXt9Lmhhc093blByb3BlcnR5LEQ9W10scT1ELnBvcCxMPUQucHVzaCxIPUQucHVzaCxPPUQuc2xpY2UsUD1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKylpZihlW25dPT09dClyZXR1cm4gbjtyZXR1cm4tMX0sUj1cImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkXCIsTT1cIltcXFxceDIwXFxcXHRcXFxcclxcXFxuXFxcXGZdXCIsST1cIig/OlxcXFxcXFxcW1xcXFxkYS1mQS1GXXsxLDZ9XCIrTStcIj98XFxcXFxcXFxbXlxcXFxyXFxcXG5cXFxcZl18W1xcXFx3LV18W15cXDAtXFxcXHg3Zl0pK1wiLFc9XCJcXFxcW1wiK00rXCIqKFwiK0krXCIpKD86XCIrTStcIiooWypeJHwhfl0/PSlcIitNK1wiKig/OicoKD86XFxcXFxcXFwufFteXFxcXFxcXFwnXSkqKSd8XFxcIigoPzpcXFxcXFxcXC58W15cXFxcXFxcXFxcXCJdKSopXFxcInwoXCIrSStcIikpfClcIitNK1wiKlxcXFxdXCIsRj1cIjooXCIrSStcIikoPzpcXFxcKCgoJygoPzpcXFxcXFxcXC58W15cXFxcXFxcXCddKSopJ3xcXFwiKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcXFxcIl0pKilcXFwiKXwoKD86XFxcXFxcXFwufFteXFxcXFxcXFwoKVtcXFxcXV18XCIrVytcIikqKXwuKilcXFxcKXwpXCIsQj1uZXcgUmVnRXhwKE0rXCIrXCIsXCJnXCIpLCQ9bmV3IFJlZ0V4cChcIl5cIitNK1wiK3woKD86XnxbXlxcXFxcXFxcXSkoPzpcXFxcXFxcXC4pKilcIitNK1wiKyRcIixcImdcIiksXz1uZXcgUmVnRXhwKFwiXlwiK00rXCIqLFwiK00rXCIqXCIpLHo9bmV3IFJlZ0V4cChcIl5cIitNK1wiKihbPit+XXxcIitNK1wiKVwiK00rXCIqXCIpLFU9bmV3IFJlZ0V4cChNK1wifD5cIiksWD1uZXcgUmVnRXhwKEYpLFY9bmV3IFJlZ0V4cChcIl5cIitJK1wiJFwiKSxHPXtJRDpuZXcgUmVnRXhwKFwiXiMoXCIrSStcIilcIiksQ0xBU1M6bmV3IFJlZ0V4cChcIl5cXFxcLihcIitJK1wiKVwiKSxUQUc6bmV3IFJlZ0V4cChcIl4oXCIrSStcInxbKl0pXCIpLEFUVFI6bmV3IFJlZ0V4cChcIl5cIitXKSxQU0VVRE86bmV3IFJlZ0V4cChcIl5cIitGKSxDSElMRDpuZXcgUmVnRXhwKFwiXjoob25seXxmaXJzdHxsYXN0fG50aHxudGgtbGFzdCktKGNoaWxkfG9mLXR5cGUpKD86XFxcXChcIitNK1wiKihldmVufG9kZHwoKFsrLV18KShcXFxcZCopbnwpXCIrTStcIiooPzooWystXXwpXCIrTStcIiooXFxcXGQrKXwpKVwiK00rXCIqXFxcXCl8KVwiLFwiaVwiKSxib29sOm5ldyBSZWdFeHAoXCJeKD86XCIrUitcIikkXCIsXCJpXCIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKFwiXlwiK00rXCIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXFxcKFwiK00rXCIqKCg/Oi1cXFxcZCk/XFxcXGQqKVwiK00rXCIqXFxcXCl8KSg/PVteLV18JClcIixcImlcIil9LFk9L0hUTUwkL2ksUT0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLEo9L15oXFxkJC9pLEs9L15bXntdK1xce1xccypcXFtuYXRpdmUgXFx3LyxaPS9eKD86IyhbXFx3LV0rKXwoXFx3Kyl8XFwuKFtcXHctXSspKSQvLGVlPS9bK35dLyx0ZT1uZXcgUmVnRXhwKFwiXFxcXFxcXFxbXFxcXGRhLWZBLUZdezEsNn1cIitNK1wiP3xcXFxcXFxcXChbXlxcXFxyXFxcXG5cXFxcZl0pXCIsXCJnXCIpLG5lPWZ1bmN0aW9uKGUsdCl7dmFyIG49XCIweFwiK2Uuc2xpY2UoMSktNjU1MzY7cmV0dXJuIHR8fChuPDA/U3RyaW5nLmZyb21DaGFyQ29kZShuKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKG4+PjEwfDU1Mjk2LDEwMjMmbnw1NjMyMCkpfSxyZT0vKFtcXDAtXFx4MWZcXHg3Zl18Xi0/XFxkKXxeLSR8W15cXDAtXFx4MWZcXHg3Zi1cXHVGRkZGXFx3LV0vZyxpZT1mdW5jdGlvbihlLHQpe3JldHVybiB0P1wiXFwwXCI9PT1lP1wi77+9XCI6ZS5zbGljZSgwLC0xKStcIlxcXFxcIitlLmNoYXJDb2RlQXQoZS5sZW5ndGgtMSkudG9TdHJpbmcoMTYpK1wiIFwiOlwiXFxcXFwiK2V9LG9lPWZ1bmN0aW9uKCl7cCgpfSxhZT1iZShmdW5jdGlvbihlKXtyZXR1cm4hMD09PWUuZGlzYWJsZWQmJlwiZmllbGRzZXRcIj09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKX0se2RpcjpcInBhcmVudE5vZGVcIixuZXh0OlwibGVnZW5kXCJ9KTt0cnl7SC5hcHBseShEPU8uY2FsbCh3LmNoaWxkTm9kZXMpLHcuY2hpbGROb2RlcyksRFt3LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChlKXtIPXthcHBseTpELmxlbmd0aD9mdW5jdGlvbihlLHQpe0wuYXBwbHkoZSxPLmNhbGwodCkpfTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1lLmxlbmd0aCxyPTA7ZVtuKytdPXRbcisrXTspO2UubGVuZ3RoPW4tMX19fWZ1bmN0aW9uIHNlKGUsdCxyLGkpe3ZhciBvLHMsbCxjLGYsaCx5LG09dCYmdC5vd25lckRvY3VtZW50LHc9dD90Lm5vZGVUeXBlOjk7aWYocj1yfHxbXSxcInN0cmluZ1wiIT10eXBlb2YgZXx8IWV8fDEhPT13JiY5IT09dyYmMTEhPT13KXJldHVybiByO2lmKCFpJiYocCh0KSx0PXR8fGQsZykpe2lmKDExIT09dyYmKGY9Wi5leGVjKGUpKSlpZihvPWZbMV0pe2lmKDk9PT13KXtpZighKGw9dC5nZXRFbGVtZW50QnlJZChvKSkpcmV0dXJuIHI7aWYobC5pZD09PW8pcmV0dXJuIHIucHVzaChsKSxyfWVsc2UgaWYobSYmKGw9bS5nZXRFbGVtZW50QnlJZChvKSkmJngodCxsKSYmbC5pZD09PW8pcmV0dXJuIHIucHVzaChsKSxyfWVsc2V7aWYoZlsyXSlyZXR1cm4gSC5hcHBseShyLHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSkpLHI7aWYoKG89ZlszXSkmJm4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBILmFwcGx5KHIsdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG8pKSxyfWlmKG4ucXNhJiYhQVtlK1wiIFwiXSYmKCF2fHwhdi50ZXN0KGUpKSYmKDEhPT13fHxcIm9iamVjdFwiIT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSl7aWYoeT1lLG09dCwxPT09dyYmKFUudGVzdChlKXx8ei50ZXN0KGUpKSl7Zm9yKChtPWVlLnRlc3QoZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpPT09dCYmbi5zY29wZXx8KChjPXQuZ2V0QXR0cmlidXRlKFwiaWRcIikpP2M9Yy5yZXBsYWNlKHJlLGllKTp0LnNldEF0dHJpYnV0ZShcImlkXCIsYz1iKSkscz0oaD1hKGUpKS5sZW5ndGg7cy0tOyloW3NdPShjP1wiI1wiK2M6XCI6c2NvcGVcIikrXCIgXCIreGUoaFtzXSk7eT1oLmpvaW4oXCIsXCIpfXRyeXtyZXR1cm4gSC5hcHBseShyLG0ucXVlcnlTZWxlY3RvckFsbCh5KSkscn1jYXRjaCh0KXtBKGUsITApfWZpbmFsbHl7Yz09PWImJnQucmVtb3ZlQXR0cmlidXRlKFwiaWRcIil9fX1yZXR1cm4gdShlLnJlcGxhY2UoJCxcIiQxXCIpLHQscixpKX1mdW5jdGlvbiB1ZSgpe3ZhciBlPVtdO3JldHVybiBmdW5jdGlvbiB0KG4saSl7cmV0dXJuIGUucHVzaChuK1wiIFwiKT5yLmNhY2hlTGVuZ3RoJiZkZWxldGUgdFtlLnNoaWZ0KCldLHRbbitcIiBcIl09aX19ZnVuY3Rpb24gbGUoZSl7cmV0dXJuIGVbYl09ITAsZX1mdW5jdGlvbiBjZShlKXt2YXIgdD1kLmNyZWF0ZUVsZW1lbnQoXCJmaWVsZHNldFwiKTt0cnl7cmV0dXJuISFlKHQpfWNhdGNoKGUpe3JldHVybiExfWZpbmFsbHl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksdD1udWxsfX1mdW5jdGlvbiBmZShlLHQpe2Zvcih2YXIgbj1lLnNwbGl0KFwifFwiKSxpPW4ubGVuZ3RoO2ktLTspci5hdHRySGFuZGxlW25baV1dPXR9ZnVuY3Rpb24gcGUoZSx0KXt2YXIgbj10JiZlLHI9biYmMT09PWUubm9kZVR5cGUmJjE9PT10Lm5vZGVUeXBlJiZlLnNvdXJjZUluZGV4LXQuc291cmNlSW5kZXg7aWYocilyZXR1cm4gcjtpZihuKWZvcig7bj1uLm5leHRTaWJsaW5nOylpZihuPT09dClyZXR1cm4tMTtyZXR1cm4gZT8xOi0xfWZ1bmN0aW9uIGRlKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm5cImlucHV0XCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJnQudHlwZT09PWV9fWZ1bmN0aW9uIGhlKGUpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgbj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKFwiaW5wdXRcIj09PW58fFwiYnV0dG9uXCI9PT1uKSYmdC50eXBlPT09ZX19ZnVuY3Rpb24gZ2UoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVyblwiZm9ybVwiaW4gdD90LnBhcmVudE5vZGUmJiExPT09dC5kaXNhYmxlZD9cImxhYmVsXCJpbiB0P1wibGFiZWxcImluIHQucGFyZW50Tm9kZT90LnBhcmVudE5vZGUuZGlzYWJsZWQ9PT1lOnQuZGlzYWJsZWQ9PT1lOnQuaXNEaXNhYmxlZD09PWV8fHQuaXNEaXNhYmxlZCE9PSFlJiZhZSh0KT09PWU6dC5kaXNhYmxlZD09PWU6XCJsYWJlbFwiaW4gdCYmdC5kaXNhYmxlZD09PWV9fWZ1bmN0aW9uIHZlKGUpe3JldHVybiBsZShmdW5jdGlvbih0KXtyZXR1cm4gdD0rdCxsZShmdW5jdGlvbihuLHIpe2Zvcih2YXIgaSxvPWUoW10sbi5sZW5ndGgsdCksYT1vLmxlbmd0aDthLS07KW5baT1vW2FdXSYmKG5baV09IShyW2ldPW5baV0pKX0pfSl9ZnVuY3Rpb24geWUoZSl7cmV0dXJuIGUmJnZvaWQgMCE9PWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUmJmV9Zm9yKHQgaW4gbj1zZS5zdXBwb3J0PXt9LG89c2UuaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5uYW1lc3BhY2VVUkksbj1lJiYoZS5vd25lckRvY3VtZW50fHxlKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIVkudGVzdCh0fHxuJiZuLm5vZGVOYW1lfHxcIkhUTUxcIil9LHA9c2Uuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oZSl7dmFyIHQsaSxhPWU/ZS5vd25lckRvY3VtZW50fHxlOnc7cmV0dXJuIGEhPWQmJjk9PT1hLm5vZGVUeXBlJiZhLmRvY3VtZW50RWxlbWVudD8oaD0oZD1hKS5kb2N1bWVudEVsZW1lbnQsZz0hbyhkKSx3IT1kJiYoaT1kLmRlZmF1bHRWaWV3KSYmaS50b3AhPT1pJiYoaS5hZGRFdmVudExpc3RlbmVyP2kuYWRkRXZlbnRMaXN0ZW5lcihcInVubG9hZFwiLG9lLCExKTppLmF0dGFjaEV2ZW50JiZpLmF0dGFjaEV2ZW50KFwib251bmxvYWRcIixvZSkpLG4uc2NvcGU9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGguYXBwZW5kQ2hpbGQoZSkuYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKSx2b2lkIDAhPT1lLnF1ZXJ5U2VsZWN0b3JBbGwmJiFlLnF1ZXJ5U2VsZWN0b3JBbGwoXCI6c2NvcGUgZmllbGRzZXQgZGl2XCIpLmxlbmd0aH0pLG4uYXR0cmlidXRlcz1jZShmdW5jdGlvbihlKXtyZXR1cm4gZS5jbGFzc05hbWU9XCJpXCIsIWUuZ2V0QXR0cmlidXRlKFwiY2xhc3NOYW1lXCIpfSksbi5nZXRFbGVtZW50c0J5VGFnTmFtZT1jZShmdW5jdGlvbihlKXtyZXR1cm4gZS5hcHBlbmRDaGlsZChkLmNyZWF0ZUNvbW1lbnQoXCJcIikpLCFlLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiKlwiKS5sZW5ndGh9KSxuLmdldEVsZW1lbnRzQnlDbGFzc05hbWU9Sy50ZXN0KGQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSksbi5nZXRCeUlkPWNlKGZ1bmN0aW9uKGUpe3JldHVybiBoLmFwcGVuZENoaWxkKGUpLmlkPWIsIWQuZ2V0RWxlbWVudHNCeU5hbWV8fCFkLmdldEVsZW1lbnRzQnlOYW1lKGIpLmxlbmd0aH0pLG4uZ2V0QnlJZD8oci5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHRlLG5lKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKFwiaWRcIik9PT10fX0sci5maW5kLklEPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50QnlJZCYmZyl7dmFyIG49dC5nZXRFbGVtZW50QnlJZChlKTtyZXR1cm4gbj9bbl06W119fSk6KHIuZmlsdGVyLklEPWZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSh0ZSxuZSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPXZvaWQgMCE9PWUuZ2V0QXR0cmlidXRlTm9kZSYmZS5nZXRBdHRyaWJ1dGVOb2RlKFwiaWRcIik7cmV0dXJuIG4mJm4udmFsdWU9PT10fX0sci5maW5kLklEPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50QnlJZCYmZyl7dmFyIG4scixpLG89dC5nZXRFbGVtZW50QnlJZChlKTtpZihvKXtpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoXCJpZFwiKSkmJm4udmFsdWU9PT1lKXJldHVybltvXTtmb3IoaT10LmdldEVsZW1lbnRzQnlOYW1lKGUpLHI9MDtvPWlbcisrXTspaWYoKG49by5nZXRBdHRyaWJ1dGVOb2RlKFwiaWRcIikpJiZuLnZhbHVlPT09ZSlyZXR1cm5bb119cmV0dXJuW119fSksci5maW5kLlRBRz1uLmdldEVsZW1lbnRzQnlUYWdOYW1lP2Z1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeVRhZ05hbWU/dC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKTpuLnFzYT90LnF1ZXJ5U2VsZWN0b3JBbGwoZSk6dm9pZCAwfTpmdW5jdGlvbihlLHQpe3ZhciBuLHI9W10saT0wLG89dC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKTtpZihcIipcIj09PWUpe2Zvcig7bj1vW2krK107KTE9PT1uLm5vZGVUeXBlJiZyLnB1c2gobik7cmV0dXJuIHJ9cmV0dXJuIG99LHIuZmluZC5DTEFTUz1uLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZnKXJldHVybiB0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZSl9LHk9W10sdj1bXSwobi5xc2E9Sy50ZXN0KGQucXVlcnlTZWxlY3RvckFsbCkpJiYoY2UoZnVuY3Rpb24oZSl7dmFyIHQ7aC5hcHBlbmRDaGlsZChlKS5pbm5lckhUTUw9XCI8YSBpZD0nXCIrYitcIic+PC9hPjxzZWxlY3QgaWQ9J1wiK2IrXCItXFxyXFxcXCcgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD5cIixlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbbXNhbGxvd2NhcHR1cmVePScnXVwiKS5sZW5ndGgmJnYucHVzaChcIlsqXiRdPVwiK00rXCIqKD86Jyd8XFxcIlxcXCIpXCIpLGUucXVlcnlTZWxlY3RvckFsbChcIltzZWxlY3RlZF1cIikubGVuZ3RofHx2LnB1c2goXCJcXFxcW1wiK00rXCIqKD86dmFsdWV8XCIrUitcIilcIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiW2lkfj1cIitiK1wiLV1cIikubGVuZ3RofHx2LnB1c2goXCJ+PVwiKSwodD1kLmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKSkuc2V0QXR0cmlidXRlKFwibmFtZVwiLFwiXCIpLGUuYXBwZW5kQ2hpbGQodCksZS5xdWVyeVNlbGVjdG9yQWxsKFwiW25hbWU9JyddXCIpLmxlbmd0aHx8di5wdXNoKFwiXFxcXFtcIitNK1wiKm5hbWVcIitNK1wiKj1cIitNK1wiKig/OicnfFxcXCJcXFwiKVwiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCI6Y2hlY2tlZFwiKS5sZW5ndGh8fHYucHVzaChcIjpjaGVja2VkXCIpLGUucXVlcnlTZWxlY3RvckFsbChcImEjXCIrYitcIisqXCIpLmxlbmd0aHx8di5wdXNoKFwiLiMuK1srfl1cIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiXFxcXFxcZlwiKSx2LnB1c2goXCJbXFxcXHJcXFxcblxcXFxmXVwiKX0pLGNlKGZ1bmN0aW9uKGUpe2UuaW5uZXJIVE1MPVwiPGEgaHJlZj0nJyBkaXNhYmxlZD0nZGlzYWJsZWQnPjwvYT48c2VsZWN0IGRpc2FibGVkPSdkaXNhYmxlZCc+PG9wdGlvbi8+PC9zZWxlY3Q+XCI7dmFyIHQ9ZC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7dC5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsXCJoaWRkZW5cIiksZS5hcHBlbmRDaGlsZCh0KS5zZXRBdHRyaWJ1dGUoXCJuYW1lXCIsXCJEXCIpLGUucXVlcnlTZWxlY3RvckFsbChcIltuYW1lPWRdXCIpLmxlbmd0aCYmdi5wdXNoKFwibmFtZVwiK00rXCIqWypeJHwhfl0/PVwiKSwyIT09ZS5xdWVyeVNlbGVjdG9yQWxsKFwiOmVuYWJsZWRcIikubGVuZ3RoJiZ2LnB1c2goXCI6ZW5hYmxlZFwiLFwiOmRpc2FibGVkXCIpLGguYXBwZW5kQ2hpbGQoZSkuZGlzYWJsZWQ9ITAsMiE9PWUucXVlcnlTZWxlY3RvckFsbChcIjpkaXNhYmxlZFwiKS5sZW5ndGgmJnYucHVzaChcIjplbmFibGVkXCIsXCI6ZGlzYWJsZWRcIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiKiw6eFwiKSx2LnB1c2goXCIsLio6XCIpfSkpLChuLm1hdGNoZXNTZWxlY3Rvcj1LLnRlc3QobT1oLm1hdGNoZXN8fGgud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxoLm1vek1hdGNoZXNTZWxlY3Rvcnx8aC5vTWF0Y2hlc1NlbGVjdG9yfHxoLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJmNlKGZ1bmN0aW9uKGUpe24uZGlzY29ubmVjdGVkTWF0Y2g9bS5jYWxsKGUsXCIqXCIpLG0uY2FsbChlLFwiW3MhPScnXTp4XCIpLHkucHVzaChcIiE9XCIsRil9KSx2PXYubGVuZ3RoJiZuZXcgUmVnRXhwKHYuam9pbihcInxcIikpLHk9eS5sZW5ndGgmJm5ldyBSZWdFeHAoeS5qb2luKFwifFwiKSksdD1LLnRlc3QoaC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbikseD10fHxLLnRlc3QoaC5jb250YWlucyk/ZnVuY3Rpb24oZSx0KXt2YXIgbj05PT09ZS5ub2RlVHlwZT9lLmRvY3VtZW50RWxlbWVudDplLHI9dCYmdC5wYXJlbnROb2RlO3JldHVybiBlPT09cnx8ISghcnx8MSE9PXIubm9kZVR5cGV8fCEobi5jb250YWlucz9uLmNvbnRhaW5zKHIpOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJjE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24ocikpKX06ZnVuY3Rpb24oZSx0KXtpZih0KWZvcig7dD10LnBhcmVudE5vZGU7KWlmKHQ9PT1lKXJldHVybiEwO3JldHVybiExfSxOPXQ/ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gZj0hMCwwO3ZhciByPSFlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uLSF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uO3JldHVybiByfHwoMSYocj0oZS5vd25lckRvY3VtZW50fHxlKT09KHQub3duZXJEb2N1bWVudHx8dCk/ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KToxKXx8IW4uc29ydERldGFjaGVkJiZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGUpPT09cj9lPT1kfHxlLm93bmVyRG9jdW1lbnQ9PXcmJngodyxlKT8tMTp0PT1kfHx0Lm93bmVyRG9jdW1lbnQ9PXcmJngodyx0KT8xOmM/UChjLGUpLVAoYyx0KTowOjQmcj8tMToxKX06ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gZj0hMCwwO3ZhciBuLHI9MCxpPWUucGFyZW50Tm9kZSxvPXQucGFyZW50Tm9kZSxhPVtlXSxzPVt0XTtpZighaXx8IW8pcmV0dXJuIGU9PWQ/LTE6dD09ZD8xOmk/LTE6bz8xOmM/UChjLGUpLVAoYyx0KTowO2lmKGk9PT1vKXJldHVybiBwZShlLHQpO2ZvcihuPWU7bj1uLnBhcmVudE5vZGU7KWEudW5zaGlmdChuKTtmb3Iobj10O249bi5wYXJlbnROb2RlOylzLnVuc2hpZnQobik7Zm9yKDthW3JdPT09c1tyXTspcisrO3JldHVybiByP3BlKGFbcl0sc1tyXSk6YVtyXT09dz8tMTpzW3JdPT13PzE6MH0sZCk6ZH0sc2UubWF0Y2hlcz1mdW5jdGlvbihlLHQpe3JldHVybiBzZShlLG51bGwsbnVsbCx0KX0sc2UubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGUsdCl7aWYocChlKSxuLm1hdGNoZXNTZWxlY3RvciYmZyYmIUFbdCtcIiBcIl0mJigheXx8IXkudGVzdCh0KSkmJighdnx8IXYudGVzdCh0KSkpdHJ5e3ZhciByPW0uY2FsbChlLHQpO2lmKHJ8fG4uZGlzY29ubmVjdGVkTWF0Y2h8fGUuZG9jdW1lbnQmJjExIT09ZS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gcn1jYXRjaChlKXtBKHQsITApfXJldHVybiBzZSh0LGQsbnVsbCxbZV0pLmxlbmd0aD4wfSxzZS5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybihlLm93bmVyRG9jdW1lbnR8fGUpIT1kJiZwKGUpLHgoZSx0KX0sc2UuYXR0cj1mdW5jdGlvbihlLHQpeyhlLm93bmVyRG9jdW1lbnR8fGUpIT1kJiZwKGUpO3ZhciBpPXIuYXR0ckhhbmRsZVt0LnRvTG93ZXJDYXNlKCldLG89aSYmai5jYWxsKHIuYXR0ckhhbmRsZSx0LnRvTG93ZXJDYXNlKCkpP2koZSx0LCFnKTp2b2lkIDA7cmV0dXJuIHZvaWQgMCE9PW8/bzpuLmF0dHJpYnV0ZXN8fCFnP2UuZ2V0QXR0cmlidXRlKHQpOihvPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJm8uc3BlY2lmaWVkP28udmFsdWU6bnVsbH0sc2UuZXNjYXBlPWZ1bmN0aW9uKGUpe3JldHVybihlK1wiXCIpLnJlcGxhY2UocmUsaWUpfSxzZS5lcnJvcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiBcIitlKX0sc2UudW5pcXVlU29ydD1mdW5jdGlvbihlKXt2YXIgdCxyPVtdLGk9MCxvPTA7aWYoZj0hbi5kZXRlY3REdXBsaWNhdGVzLGM9IW4uc29ydFN0YWJsZSYmZS5zbGljZSgwKSxlLnNvcnQoTiksZil7Zm9yKDt0PWVbbysrXTspdD09PWVbb10mJihpPXIucHVzaChvKSk7Zm9yKDtpLS07KWUuc3BsaWNlKHJbaV0sMSl9cmV0dXJuIGM9bnVsbCxlfSxpPXNlLmdldFRleHQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj1cIlwiLHI9MCxvPWUubm9kZVR5cGU7aWYobyl7aWYoMT09PW98fDk9PT1vfHwxMT09PW8pe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlLnRleHRDb250ZW50KXJldHVybiBlLnRleHRDb250ZW50O2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZyluKz1pKGUpfWVsc2UgaWYoMz09PW98fDQ9PT1vKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIGZvcig7dD1lW3IrK107KW4rPWkodCk7cmV0dXJuIG59LChyPXNlLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOmxlLG1hdGNoOkcsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOntcIj5cIjp7ZGlyOlwicGFyZW50Tm9kZVwiLGZpcnN0OiEwfSxcIiBcIjp7ZGlyOlwicGFyZW50Tm9kZVwifSxcIitcIjp7ZGlyOlwicHJldmlvdXNTaWJsaW5nXCIsZmlyc3Q6ITB9LFwiflwiOntkaXI6XCJwcmV2aW91c1NpYmxpbmdcIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihlKXtyZXR1cm4gZVsxXT1lWzFdLnJlcGxhY2UodGUsbmUpLGVbM109KGVbM118fGVbNF18fGVbNV18fFwiXCIpLnJlcGxhY2UodGUsbmUpLFwifj1cIj09PWVbMl0mJihlWzNdPVwiIFwiK2VbM10rXCIgXCIpLGUuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS50b0xvd2VyQ2FzZSgpLFwibnRoXCI9PT1lWzFdLnNsaWNlKDAsMyk/KGVbM118fHNlLmVycm9yKGVbMF0pLGVbNF09KyhlWzRdP2VbNV0rKGVbNl18fDEpOjIqKFwiZXZlblwiPT09ZVszXXx8XCJvZGRcIj09PWVbM10pKSxlWzVdPSsoZVs3XStlWzhdfHxcIm9kZFwiPT09ZVszXSkpOmVbM10mJnNlLmVycm9yKGVbMF0pLGV9LFBTRVVETzpmdW5jdGlvbihlKXt2YXIgdCxuPSFlWzZdJiZlWzJdO3JldHVybiBHLkNISUxELnRlc3QoZVswXSk/bnVsbDooZVszXT9lWzJdPWVbNF18fGVbNV18fFwiXCI6biYmWC50ZXN0KG4pJiYodD1hKG4sITApKSYmKHQ9bi5pbmRleE9mKFwiKVwiLG4ubGVuZ3RoLXQpLW4ubGVuZ3RoKSYmKGVbMF09ZVswXS5zbGljZSgwLHQpLGVbMl09bi5zbGljZSgwLHQpKSxlLnNsaWNlKDAsMykpfX0sZmlsdGVyOntUQUc6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHRlLG5lKS50b0xvd2VyQ2FzZSgpO3JldHVyblwiKlwiPT09ZT9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dH19LENMQVNTOmZ1bmN0aW9uKGUpe3ZhciB0PUVbZStcIiBcIl07cmV0dXJuIHR8fCh0PW5ldyBSZWdFeHAoXCIoXnxcIitNK1wiKVwiK2UrXCIoXCIrTStcInwkKVwiKSkmJkUoZSxmdW5jdGlvbihlKXtyZXR1cm4gdC50ZXN0KFwic3RyaW5nXCI9PXR5cGVvZiBlLmNsYXNzTmFtZSYmZS5jbGFzc05hbWV8fHZvaWQgMCE9PWUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpfHxcIlwiKX0pfSxBVFRSOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIGk9c2UuYXR0cihyLGUpO3JldHVybiBudWxsPT1pP1wiIT1cIj09PXQ6IXR8fChpKz1cIlwiLFwiPVwiPT09dD9pPT09bjpcIiE9XCI9PT10P2khPT1uOlwiXj1cIj09PXQ/biYmMD09PWkuaW5kZXhPZihuKTpcIio9XCI9PT10P24mJmkuaW5kZXhPZihuKT4tMTpcIiQ9XCI9PT10P24mJmkuc2xpY2UoLW4ubGVuZ3RoKT09PW46XCJ+PVwiPT09dD8oXCIgXCIraS5yZXBsYWNlKEIsXCIgXCIpK1wiIFwiKS5pbmRleE9mKG4pPi0xOlwifD1cIj09PXQmJihpPT09bnx8aS5zbGljZSgwLG4ubGVuZ3RoKzEpPT09bitcIi1cIikpfX0sQ0hJTEQ6ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbz1cIm50aFwiIT09ZS5zbGljZSgwLDMpLGE9XCJsYXN0XCIhPT1lLnNsaWNlKC00KSxzPVwib2YtdHlwZVwiPT09dDtyZXR1cm4gMT09PXImJjA9PT1pP2Z1bmN0aW9uKGUpe3JldHVybiEhZS5wYXJlbnROb2RlfTpmdW5jdGlvbih0LG4sdSl7dmFyIGwsYyxmLHAsZCxoLGc9byE9PWE/XCJuZXh0U2libGluZ1wiOlwicHJldmlvdXNTaWJsaW5nXCIsdj10LnBhcmVudE5vZGUseT1zJiZ0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksbT0hdSYmIXMseD0hMTtpZih2KXtpZihvKXtmb3IoO2c7KXtmb3IocD10O3A9cFtnXTspaWYocz9wLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT15OjE9PT1wLm5vZGVUeXBlKXJldHVybiExO2g9Zz1cIm9ubHlcIj09PWUmJiFoJiZcIm5leHRTaWJsaW5nXCJ9cmV0dXJuITB9aWYoaD1bYT92LmZpcnN0Q2hpbGQ6di5sYXN0Q2hpbGRdLGEmJm0pe2Zvcih4PShkPShsPShjPShmPShwPXYpW2JdfHwocFtiXT17fSkpW3AudW5pcXVlSURdfHwoZltwLnVuaXF1ZUlEXT17fSkpW2VdfHxbXSlbMF09PT1UJiZsWzFdKSYmbFsyXSxwPWQmJnYuY2hpbGROb2Rlc1tkXTtwPSsrZCYmcCYmcFtnXXx8KHg9ZD0wKXx8aC5wb3AoKTspaWYoMT09PXAubm9kZVR5cGUmJisreCYmcD09PXQpe2NbZV09W1QsZCx4XTticmVha319ZWxzZSBpZihtJiYoeD1kPShsPShjPShmPShwPXQpW2JdfHwocFtiXT17fSkpW3AudW5pcXVlSURdfHwoZltwLnVuaXF1ZUlEXT17fSkpW2VdfHxbXSlbMF09PT1UJiZsWzFdKSwhMT09PXgpZm9yKDsocD0rK2QmJnAmJnBbZ118fCh4PWQ9MCl8fGgucG9wKCkpJiYoKHM/cC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09eToxIT09cC5ub2RlVHlwZSl8fCErK3h8fChtJiYoKGM9KGY9cFtiXXx8KHBbYl09e30pKVtwLnVuaXF1ZUlEXXx8KGZbcC51bmlxdWVJRF09e30pKVtlXT1bVCx4XSkscCE9PXQpKTspO3JldHVybih4LT1pKT09PXJ8fHglcj09MCYmeC9yPj0wfX19LFBTRVVETzpmdW5jdGlvbihlLHQpe3ZhciBuLGk9ci5wc2V1ZG9zW2VdfHxyLnNldEZpbHRlcnNbZS50b0xvd2VyQ2FzZSgpXXx8c2UuZXJyb3IoXCJ1bnN1cHBvcnRlZCBwc2V1ZG86IFwiK2UpO3JldHVybiBpW2JdP2kodCk6aS5sZW5ndGg+MT8obj1bZSxlLFwiXCIsdF0sci5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGUudG9Mb3dlckNhc2UoKSk/bGUoZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIsbz1pKGUsdCksYT1vLmxlbmd0aDthLS07KWVbcj1QKGUsb1thXSldPSEobltyXT1vW2FdKX0pOmZ1bmN0aW9uKGUpe3JldHVybiBpKGUsMCxuKX0pOml9fSxwc2V1ZG9zOntub3Q6bGUoZnVuY3Rpb24oZSl7dmFyIHQ9W10sbj1bXSxyPXMoZS5yZXBsYWNlKCQsXCIkMVwiKSk7cmV0dXJuIHJbYl0/bGUoZnVuY3Rpb24oZSx0LG4saSl7Zm9yKHZhciBvLGE9cihlLG51bGwsaSxbXSkscz1lLmxlbmd0aDtzLS07KShvPWFbc10pJiYoZVtzXT0hKHRbc109bykpfSk6ZnVuY3Rpb24oZSxpLG8pe3JldHVybiB0WzBdPWUscih0LG51bGwsbyxuKSx0WzBdPW51bGwsIW4ucG9wKCl9fSksaGFzOmxlKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gc2UoZSx0KS5sZW5ndGg+MH19KSxjb250YWluczpsZShmdW5jdGlvbihlKXtyZXR1cm4gZT1lLnJlcGxhY2UodGUsbmUpLGZ1bmN0aW9uKHQpe3JldHVybih0LnRleHRDb250ZW50fHxpKHQpKS5pbmRleE9mKGUpPi0xfX0pLGxhbmc6bGUoZnVuY3Rpb24oZSl7cmV0dXJuIFYudGVzdChlfHxcIlwiKXx8c2UuZXJyb3IoXCJ1bnN1cHBvcnRlZCBsYW5nOiBcIitlKSxlPWUucmVwbGFjZSh0ZSxuZSkudG9Mb3dlckNhc2UoKSxmdW5jdGlvbih0KXt2YXIgbjtkb3tpZihuPWc/dC5sYW5nOnQuZ2V0QXR0cmlidXRlKFwieG1sOmxhbmdcIil8fHQuZ2V0QXR0cmlidXRlKFwibGFuZ1wiKSlyZXR1cm4obj1uLnRvTG93ZXJDYXNlKCkpPT09ZXx8MD09PW4uaW5kZXhPZihlK1wiLVwiKX13aGlsZSgodD10LnBhcmVudE5vZGUpJiYxPT09dC5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKHQpe3ZhciBuPWUubG9jYXRpb24mJmUubG9jYXRpb24uaGFzaDtyZXR1cm4gbiYmbi5zbGljZSgxKT09PXQuaWR9LHJvb3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1ofSxmb2N1czpmdW5jdGlvbihlKXtyZXR1cm4gZT09PWQuYWN0aXZlRWxlbWVudCYmKCFkLmhhc0ZvY3VzfHxkLmhhc0ZvY3VzKCkpJiYhIShlLnR5cGV8fGUuaHJlZnx8fmUudGFiSW5kZXgpfSxlbmFibGVkOmdlKCExKSxkaXNhYmxlZDpnZSghMCksY2hlY2tlZDpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCJpbnB1dFwiPT09dCYmISFlLmNoZWNrZWR8fFwib3B0aW9uXCI9PT10JiYhIWUuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGUpe3JldHVybiBlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LCEwPT09ZS5zZWxlY3RlZH0sZW1wdHk6ZnVuY3Rpb24oZSl7Zm9yKGU9ZS5maXJzdENoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKWlmKGUubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGUpe3JldHVybiFyLnBzZXVkb3MuZW1wdHkoZSl9LGhlYWRlcjpmdW5jdGlvbihlKXtyZXR1cm4gSi50ZXN0KGUubm9kZU5hbWUpfSxpbnB1dDpmdW5jdGlvbihlKXtyZXR1cm4gUS50ZXN0KGUubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVyblwiaW5wdXRcIj09PXQmJlwiYnV0dG9uXCI9PT1lLnR5cGV8fFwiYnV0dG9uXCI9PT10fSx0ZXh0OmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVyblwiaW5wdXRcIj09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmXCJ0ZXh0XCI9PT1lLnR5cGUmJihudWxsPT0odD1lLmdldEF0dHJpYnV0ZShcInR5cGVcIikpfHxcInRleHRcIj09PXQudG9Mb3dlckNhc2UoKSl9LGZpcnN0OnZlKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDp2ZShmdW5jdGlvbihlLHQpe3JldHVyblt0LTFdfSksZXE6dmUoZnVuY3Rpb24oZSx0LG4pe3JldHVybltuPDA/bit0Om5dfSksZXZlbjp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLG9kZDp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0xO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLGx0OnZlKGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9bjwwP24rdDpuPnQ/dDpuOy0tcj49MDspZS5wdXNoKHIpO3JldHVybiBlfSksZ3Q6dmUoZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uPDA/bit0Om47KytyPHQ7KWUucHVzaChyKTtyZXR1cm4gZX0pfX0pLnBzZXVkb3MubnRoPXIucHNldWRvcy5lcSx7cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pci5wc2V1ZG9zW3RdPWRlKHQpO2Zvcih0IGlue3N1Ym1pdDohMCxyZXNldDohMH0pci5wc2V1ZG9zW3RdPWhlKHQpO2Z1bmN0aW9uIG1lKCl7fWZ1bmN0aW9uIHhlKGUpe2Zvcih2YXIgdD0wLG49ZS5sZW5ndGgscj1cIlwiO3Q8bjt0Kyspcis9ZVt0XS52YWx1ZTtyZXR1cm4gcn1mdW5jdGlvbiBiZShlLHQsbil7dmFyIHI9dC5kaXIsaT10Lm5leHQsbz1pfHxyLGE9biYmXCJwYXJlbnROb2RlXCI9PT1vLHM9QysrO3JldHVybiB0LmZpcnN0P2Z1bmN0aW9uKHQsbixpKXtmb3IoO3Q9dFtyXTspaWYoMT09PXQubm9kZVR5cGV8fGEpcmV0dXJuIGUodCxuLGkpO3JldHVybiExfTpmdW5jdGlvbih0LG4sdSl7dmFyIGwsYyxmLHA9W1Qsc107aWYodSl7Zm9yKDt0PXRbcl07KWlmKCgxPT09dC5ub2RlVHlwZXx8YSkmJmUodCxuLHUpKXJldHVybiEwfWVsc2UgZm9yKDt0PXRbcl07KWlmKDE9PT10Lm5vZGVUeXBlfHxhKWlmKGM9KGY9dFtiXXx8KHRbYl09e30pKVt0LnVuaXF1ZUlEXXx8KGZbdC51bmlxdWVJRF09e30pLGkmJmk9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpdD10W3JdfHx0O2Vsc2V7aWYoKGw9Y1tvXSkmJmxbMF09PT1UJiZsWzFdPT09cylyZXR1cm4gcFsyXT1sWzJdO2lmKGNbb109cCxwWzJdPWUodCxuLHUpKXJldHVybiEwfXJldHVybiExfX1mdW5jdGlvbiB3ZShlKXtyZXR1cm4gZS5sZW5ndGg+MT9mdW5jdGlvbih0LG4scil7Zm9yKHZhciBpPWUubGVuZ3RoO2ktLTspaWYoIWVbaV0odCxuLHIpKXJldHVybiExO3JldHVybiEwfTplWzBdfWZ1bmN0aW9uIFRlKGUsdCxuLHIsaSl7Zm9yKHZhciBvLGE9W10scz0wLHU9ZS5sZW5ndGgsbD1udWxsIT10O3M8dTtzKyspKG89ZVtzXSkmJihuJiYhbihvLHIsaSl8fChhLnB1c2gobyksbCYmdC5wdXNoKHMpKSk7cmV0dXJuIGF9ZnVuY3Rpb24gQ2UoZSx0LG4scixpLG8pe3JldHVybiByJiYhcltiXSYmKHI9Q2UocikpLGkmJiFpW2JdJiYoaT1DZShpLG8pKSxsZShmdW5jdGlvbihvLGEscyx1KXt2YXIgbCxjLGYscD1bXSxkPVtdLGg9YS5sZW5ndGgsZz1vfHxmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPTAsaT10Lmxlbmd0aDtyPGk7cisrKXNlKGUsdFtyXSxuKTtyZXR1cm4gbn0odHx8XCIqXCIscy5ub2RlVHlwZT9bc106cyxbXSksdj0hZXx8IW8mJnQ/ZzpUZShnLHAsZSxzLHUpLHk9bj9pfHwobz9lOmh8fHIpP1tdOmE6djtpZihuJiZuKHYseSxzLHUpLHIpZm9yKGw9VGUoeSxkKSxyKGwsW10scyx1KSxjPWwubGVuZ3RoO2MtLTspKGY9bFtjXSkmJih5W2RbY11dPSEodltkW2NdXT1mKSk7aWYobyl7aWYoaXx8ZSl7aWYoaSl7Zm9yKGw9W10sYz15Lmxlbmd0aDtjLS07KShmPXlbY10pJiZsLnB1c2godltjXT1mKTtpKG51bGwseT1bXSxsLHUpfWZvcihjPXkubGVuZ3RoO2MtLTspKGY9eVtjXSkmJihsPWk/UChvLGYpOnBbY10pPi0xJiYob1tsXT0hKGFbbF09ZikpfX1lbHNlIHk9VGUoeT09PWE/eS5zcGxpY2UoaCx5Lmxlbmd0aCk6eSksaT9pKG51bGwsYSx5LHUpOkguYXBwbHkoYSx5KX0pfWZ1bmN0aW9uIEVlKGUpe2Zvcih2YXIgdCxuLGksbz1lLmxlbmd0aCxhPXIucmVsYXRpdmVbZVswXS50eXBlXSxzPWF8fHIucmVsYXRpdmVbXCIgXCJdLHU9YT8xOjAsYz1iZShmdW5jdGlvbihlKXtyZXR1cm4gZT09PXR9LHMsITApLGY9YmUoZnVuY3Rpb24oZSl7cmV0dXJuIFAodCxlKT4tMX0scywhMCkscD1bZnVuY3Rpb24oZSxuLHIpe3ZhciBpPSFhJiYocnx8biE9PWwpfHwoKHQ9bikubm9kZVR5cGU/YyhlLG4scik6ZihlLG4scikpO3JldHVybiB0PW51bGwsaX1dO3U8bzt1KyspaWYobj1yLnJlbGF0aXZlW2VbdV0udHlwZV0pcD1bYmUod2UocCksbildO2Vsc2V7aWYoKG49ci5maWx0ZXJbZVt1XS50eXBlXS5hcHBseShudWxsLGVbdV0ubWF0Y2hlcykpW2JdKXtmb3IoaT0rK3U7aTxvJiYhci5yZWxhdGl2ZVtlW2ldLnR5cGVdO2krKyk7cmV0dXJuIENlKHU+MSYmd2UocCksdT4xJiZ4ZShlLnNsaWNlKDAsdS0xKS5jb25jYXQoe3ZhbHVlOlwiIFwiPT09ZVt1LTJdLnR5cGU/XCIqXCI6XCJcIn0pKS5yZXBsYWNlKCQsXCIkMVwiKSxuLHU8aSYmRWUoZS5zbGljZSh1LGkpKSxpPG8mJkVlKGU9ZS5zbGljZShpKSksaTxvJiZ4ZShlKSl9cC5wdXNoKG4pfXJldHVybiB3ZShwKX1yZXR1cm4gbWUucHJvdG90eXBlPXIuZmlsdGVycz1yLnBzZXVkb3Msci5zZXRGaWx0ZXJzPW5ldyBtZSxhPXNlLnRva2VuaXplPWZ1bmN0aW9uKGUsdCl7dmFyIG4saSxvLGEscyx1LGwsYz1TW2UrXCIgXCJdO2lmKGMpcmV0dXJuIHQ/MDpjLnNsaWNlKDApO2ZvcihzPWUsdT1bXSxsPXIucHJlRmlsdGVyO3M7KXtmb3IoYSBpbiBuJiYhKGk9Xy5leGVjKHMpKXx8KGkmJihzPXMuc2xpY2UoaVswXS5sZW5ndGgpfHxzKSx1LnB1c2gobz1bXSkpLG49ITEsKGk9ei5leGVjKHMpKSYmKG49aS5zaGlmdCgpLG8ucHVzaCh7dmFsdWU6bix0eXBlOmlbMF0ucmVwbGFjZSgkLFwiIFwiKX0pLHM9cy5zbGljZShuLmxlbmd0aCkpLHIuZmlsdGVyKSEoaT1HW2FdLmV4ZWMocykpfHxsW2FdJiYhKGk9bFthXShpKSl8fChuPWkuc2hpZnQoKSxvLnB1c2goe3ZhbHVlOm4sdHlwZTphLG1hdGNoZXM6aX0pLHM9cy5zbGljZShuLmxlbmd0aCkpO2lmKCFuKWJyZWFrfXJldHVybiB0P3MubGVuZ3RoOnM/c2UuZXJyb3IoZSk6UyhlLHUpLnNsaWNlKDApfSxzPXNlLmNvbXBpbGU9ZnVuY3Rpb24oZSx0KXt2YXIgbixpPVtdLG89W10scz1rW2UrXCIgXCJdO2lmKCFzKXtmb3IodHx8KHQ9YShlKSksbj10Lmxlbmd0aDtuLS07KShzPUVlKHRbbl0pKVtiXT9pLnB1c2gocyk6by5wdXNoKHMpOyhzPWsoZSxmdW5jdGlvbihlLHQpe3ZhciBuPXQubGVuZ3RoPjAsaT1lLmxlbmd0aD4wLG89ZnVuY3Rpb24obyxhLHMsdSxjKXt2YXIgZixoLHYseT0wLG09XCIwXCIseD1vJiZbXSxiPVtdLHc9bCxDPW98fGkmJnIuZmluZC5UQUcoXCIqXCIsYyksRT1UKz1udWxsPT13PzE6TWF0aC5yYW5kb20oKXx8LjEsUz1DLmxlbmd0aDtmb3IoYyYmKGw9YT09ZHx8YXx8Yyk7bSE9PVMmJm51bGwhPShmPUNbbV0pO20rKyl7aWYoaSYmZil7Zm9yKGg9MCxhfHxmLm93bmVyRG9jdW1lbnQ9PWR8fChwKGYpLHM9IWcpO3Y9ZVtoKytdOylpZih2KGYsYXx8ZCxzKSl7dS5wdXNoKGYpO2JyZWFrfWMmJihUPUUpfW4mJigoZj0hdiYmZikmJnktLSxvJiZ4LnB1c2goZikpfWlmKHkrPW0sbiYmbSE9PXkpe2ZvcihoPTA7dj10W2grK107KXYoeCxiLGEscyk7aWYobyl7aWYoeT4wKWZvcig7bS0tOyl4W21dfHxiW21dfHwoYlttXT1xLmNhbGwodSkpO2I9VGUoYil9SC5hcHBseSh1LGIpLGMmJiFvJiZiLmxlbmd0aD4wJiZ5K3QubGVuZ3RoPjEmJnNlLnVuaXF1ZVNvcnQodSl9cmV0dXJuIGMmJihUPUUsbD13KSx4fTtyZXR1cm4gbj9sZShvKTpvfShvLGkpKSkuc2VsZWN0b3I9ZX1yZXR1cm4gc30sdT1zZS5zZWxlY3Q9ZnVuY3Rpb24oZSx0LG4saSl7dmFyIG8sdSxsLGMsZixwPVwiZnVuY3Rpb25cIj09dHlwZW9mIGUmJmUsZD0haSYmYShlPXAuc2VsZWN0b3J8fGUpO2lmKG49bnx8W10sMT09PWQubGVuZ3RoKXtpZigodT1kWzBdPWRbMF0uc2xpY2UoMCkpLmxlbmd0aD4yJiZcIklEXCI9PT0obD11WzBdKS50eXBlJiY5PT09dC5ub2RlVHlwZSYmZyYmci5yZWxhdGl2ZVt1WzFdLnR5cGVdKXtpZighKHQ9KHIuZmluZC5JRChsLm1hdGNoZXNbMF0ucmVwbGFjZSh0ZSxuZSksdCl8fFtdKVswXSkpcmV0dXJuIG47cCYmKHQ9dC5wYXJlbnROb2RlKSxlPWUuc2xpY2UodS5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9Zm9yKG89Ry5uZWVkc0NvbnRleHQudGVzdChlKT8wOnUubGVuZ3RoO28tLSYmKGw9dVtvXSwhci5yZWxhdGl2ZVtjPWwudHlwZV0pOylpZigoZj1yLmZpbmRbY10pJiYoaT1mKGwubWF0Y2hlc1swXS5yZXBsYWNlKHRlLG5lKSxlZS50ZXN0KHVbMF0udHlwZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpKSl7aWYodS5zcGxpY2UobywxKSwhKGU9aS5sZW5ndGgmJnhlKHUpKSlyZXR1cm4gSC5hcHBseShuLGkpLG47YnJlYWt9fXJldHVybihwfHxzKGUsZCkpKGksdCwhZyxuLCF0fHxlZS50ZXN0KGUpJiZ5ZSh0LnBhcmVudE5vZGUpfHx0KSxufSxuLnNvcnRTdGFibGU9Yi5zcGxpdChcIlwiKS5zb3J0KE4pLmpvaW4oXCJcIik9PT1iLG4uZGV0ZWN0RHVwbGljYXRlcz0hIWYscCgpLG4uc29ydERldGFjaGVkPWNlKGZ1bmN0aW9uKGUpe3JldHVybiAxJmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZC5jcmVhdGVFbGVtZW50KFwiZmllbGRzZXRcIikpfSksY2UoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaW5uZXJIVE1MPVwiPGEgaHJlZj0nIyc+PC9hPlwiLFwiI1wiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZShcImhyZWZcIil9KXx8ZmUoXCJ0eXBlfGhyZWZ8aGVpZ2h0fHdpZHRoXCIsZnVuY3Rpb24oZSx0LG4pe2lmKCFuKXJldHVybiBlLmdldEF0dHJpYnV0ZSh0LFwidHlwZVwiPT09dC50b0xvd2VyQ2FzZSgpPzE6Mil9KSxuLmF0dHJpYnV0ZXMmJmNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVySFRNTD1cIjxpbnB1dC8+XCIsZS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZShcInZhbHVlXCIsXCJcIiksXCJcIj09PWUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoXCJ2YWx1ZVwiKX0pfHxmZShcInZhbHVlXCIsZnVuY3Rpb24oZSx0LG4pe2lmKCFuJiZcImlucHV0XCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpcmV0dXJuIGUuZGVmYXVsdFZhbHVlfSksY2UoZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWUuZ2V0QXR0cmlidXRlKFwiZGlzYWJsZWRcIil9KXx8ZmUoUixmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYoIW4pcmV0dXJuITA9PT1lW3RdP3QudG9Mb3dlckNhc2UoKToocj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiZyLnNwZWNpZmllZD9yLnZhbHVlOm51bGx9KSxzZX0oZSk7Yi5maW5kPVQsYi5leHByPVQuc2VsZWN0b3JzLGIuZXhwcltcIjpcIl09Yi5leHByLnBzZXVkb3MsYi51bmlxdWVTb3J0PWIudW5pcXVlPVQudW5pcXVlU29ydCxiLnRleHQ9VC5nZXRUZXh0LGIuaXNYTUxEb2M9VC5pc1hNTCxiLmNvbnRhaW5zPVQuY29udGFpbnMsYi5lc2NhcGVTZWxlY3Rvcj1ULmVzY2FwZTt2YXIgQz1mdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPVtdLGk9dm9pZCAwIT09bjsoZT1lW3RdKSYmOSE9PWUubm9kZVR5cGU7KWlmKDE9PT1lLm5vZGVUeXBlKXtpZihpJiZiKGUpLmlzKG4pKWJyZWFrO3IucHVzaChlKX1yZXR1cm4gcn0sRT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1bXTtlO2U9ZS5uZXh0U2libGluZykxPT09ZS5ub2RlVHlwZSYmZSE9PXQmJm4ucHVzaChlKTtyZXR1cm4gbn0sUz1iLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0O2Z1bmN0aW9uIGsoZSx0KXtyZXR1cm4gZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dC50b0xvd2VyQ2FzZSgpfXZhciBBPS9ePChbYS16XVteXFwvXFwwPjpcXHgyMFxcdFxcclxcblxcZl0qKVtcXHgyMFxcdFxcclxcblxcZl0qXFwvPz4oPzo8XFwvXFwxPnwpJC9pO2Z1bmN0aW9uIE4oZSx0LG4pe3JldHVybiBoKHQpP2IuZ3JlcChlLGZ1bmN0aW9uKGUscil7cmV0dXJuISF0LmNhbGwoZSxyLGUpIT09bn0pOnQubm9kZVR5cGU/Yi5ncmVwKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10IT09bn0pOlwic3RyaW5nXCIhPXR5cGVvZiB0P2IuZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybiBzLmNhbGwodCxlKT4tMSE9PW59KTpiLmZpbHRlcih0LGUsbil9Yi5maWx0ZXI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRbMF07cmV0dXJuIG4mJihlPVwiOm5vdChcIitlK1wiKVwiKSwxPT09dC5sZW5ndGgmJjE9PT1yLm5vZGVUeXBlP2IuZmluZC5tYXRjaGVzU2VsZWN0b3IocixlKT9bcl06W106Yi5maW5kLm1hdGNoZXMoZSxiLmdyZXAodCxmdW5jdGlvbihlKXtyZXR1cm4gMT09PWUubm9kZVR5cGV9KSl9LGIuZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj10aGlzLmxlbmd0aCxpPXRoaXM7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIGUpcmV0dXJuIHRoaXMucHVzaFN0YWNrKGIoZSkuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHQ9MDt0PHI7dCsrKWlmKGIuY29udGFpbnMoaVt0XSx0aGlzKSlyZXR1cm4hMH0pKTtmb3Iobj10aGlzLnB1c2hTdGFjayhbXSksdD0wO3Q8cjt0KyspYi5maW5kKGUsaVt0XSxuKTtyZXR1cm4gcj4xP2IudW5pcXVlU29ydChuKTpufSxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKE4odGhpcyxlfHxbXSwhMSkpfSxub3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKE4odGhpcyxlfHxbXSwhMCkpfSxpczpmdW5jdGlvbihlKXtyZXR1cm4hIU4odGhpcyxcInN0cmluZ1wiPT10eXBlb2YgZSYmUy50ZXN0KGUpP2IoZSk6ZXx8W10sITEpLmxlbmd0aH19KTt2YXIgaixEPS9eKD86XFxzKig8W1xcd1xcV10rPilbXj5dKnwjKFtcXHctXSspKSQvOyhiLmZuLmluaXQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk7aWYoIWUpcmV0dXJuIHRoaXM7aWYobj1ufHxqLFwic3RyaW5nXCI9PXR5cGVvZiBlKXtpZighKHI9XCI8XCI9PT1lWzBdJiZcIj5cIj09PWVbZS5sZW5ndGgtMV0mJmUubGVuZ3RoPj0zP1tudWxsLGUsbnVsbF06RC5leGVjKGUpKXx8IXJbMV0mJnQpcmV0dXJuIXR8fHQuanF1ZXJ5Pyh0fHxuKS5maW5kKGUpOnRoaXMuY29uc3RydWN0b3IodCkuZmluZChlKTtpZihyWzFdKXtpZih0PXQgaW5zdGFuY2VvZiBiP3RbMF06dCxiLm1lcmdlKHRoaXMsYi5wYXJzZUhUTUwoclsxXSx0JiZ0Lm5vZGVUeXBlP3Qub3duZXJEb2N1bWVudHx8dDp2LCEwKSksQS50ZXN0KHJbMV0pJiZiLmlzUGxhaW5PYmplY3QodCkpZm9yKHIgaW4gdCloKHRoaXNbcl0pP3RoaXNbcl0odFtyXSk6dGhpcy5hdHRyKHIsdFtyXSk7cmV0dXJuIHRoaXN9cmV0dXJuKGk9di5nZXRFbGVtZW50QnlJZChyWzJdKSkmJih0aGlzWzBdPWksdGhpcy5sZW5ndGg9MSksdGhpc31yZXR1cm4gZS5ub2RlVHlwZT8odGhpc1swXT1lLHRoaXMubGVuZ3RoPTEsdGhpcyk6aChlKT92b2lkIDAhPT1uLnJlYWR5P24ucmVhZHkoZSk6ZShiKTpiLm1ha2VBcnJheShlLHRoaXMpfSkucHJvdG90eXBlPWIuZm4saj1iKHYpO3ZhciBxPS9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLEw9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07ZnVuY3Rpb24gSChlLHQpe2Zvcig7KGU9ZVt0XSkmJjEhPT1lLm5vZGVUeXBlOyk7cmV0dXJuIGV9Yi5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihlKXt2YXIgdD1iKGUsdGhpcyksbj10Lmxlbmd0aDtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodmFyIGU9MDtlPG47ZSsrKWlmKGIuY29udGFpbnModGhpcyx0W2VdKSlyZXR1cm4hMH0pfSxjbG9zZXN0OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wLGk9dGhpcy5sZW5ndGgsbz1bXSxhPVwic3RyaW5nXCIhPXR5cGVvZiBlJiZiKGUpO2lmKCFTLnRlc3QoZSkpZm9yKDtyPGk7cisrKWZvcihuPXRoaXNbcl07biYmbiE9PXQ7bj1uLnBhcmVudE5vZGUpaWYobi5ub2RlVHlwZTwxMSYmKGE/YS5pbmRleChuKT4tMToxPT09bi5ub2RlVHlwZSYmYi5maW5kLm1hdGNoZXNTZWxlY3RvcihuLGUpKSl7by5wdXNoKG4pO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhvLmxlbmd0aD4xP2IudW5pcXVlU29ydChvKTpvKX0saW5kZXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/XCJzdHJpbmdcIj09dHlwZW9mIGU/cy5jYWxsKGIoZSksdGhpc1swXSk6cy5jYWxsKHRoaXMsZS5qcXVlcnk/ZVswXTplKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLnB1c2hTdGFjayhiLnVuaXF1ZVNvcnQoYi5tZXJnZSh0aGlzLmdldCgpLGIoZSx0KSkpKX0sYWRkQmFjazpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09ZT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihlKSl9fSksYi5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiYxMSE9PXQubm9kZVR5cGU/dDpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBDKGUsXCJwYXJlbnROb2RlXCIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBDKGUsXCJwYXJlbnROb2RlXCIsbil9LG5leHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIEgoZSxcIm5leHRTaWJsaW5nXCIpfSxwcmV2OmZ1bmN0aW9uKGUpe3JldHVybiBIKGUsXCJwcmV2aW91c1NpYmxpbmdcIil9LG5leHRBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIEMoZSxcIm5leHRTaWJsaW5nXCIpfSxwcmV2QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBDKGUsXCJwcmV2aW91c1NpYmxpbmdcIil9LG5leHRVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEMoZSxcIm5leHRTaWJsaW5nXCIsbil9LHByZXZVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEMoZSxcInByZXZpb3VzU2libGluZ1wiLG4pfSxzaWJsaW5nczpmdW5jdGlvbihlKXtyZXR1cm4gRSgoZS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxlKX0sY2hpbGRyZW46ZnVuY3Rpb24oZSl7cmV0dXJuIEUoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUuY29udGVudERvY3VtZW50JiZyKGUuY29udGVudERvY3VtZW50KT9lLmNvbnRlbnREb2N1bWVudDooayhlLFwidGVtcGxhdGVcIikmJihlPWUuY29udGVudHx8ZSksYi5tZXJnZShbXSxlLmNoaWxkTm9kZXMpKX19LGZ1bmN0aW9uKGUsdCl7Yi5mbltlXT1mdW5jdGlvbihuLHIpe3ZhciBpPWIubWFwKHRoaXMsdCxuKTtyZXR1cm5cIlVudGlsXCIhPT1lLnNsaWNlKC01KSYmKHI9biksciYmXCJzdHJpbmdcIj09dHlwZW9mIHImJihpPWIuZmlsdGVyKHIsaSkpLHRoaXMubGVuZ3RoPjEmJihMW2VdfHxiLnVuaXF1ZVNvcnQoaSkscS50ZXN0KGUpJiZpLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2soaSl9fSk7dmFyIE89L1teXFx4MjBcXHRcXHJcXG5cXGZdKy9nO2Z1bmN0aW9uIFAoZSl7cmV0dXJuIGV9ZnVuY3Rpb24gUihlKXt0aHJvdyBlfWZ1bmN0aW9uIE0oZSx0LG4scil7dmFyIGk7dHJ5e2UmJmgoaT1lLnByb21pc2UpP2kuY2FsbChlKS5kb25lKHQpLmZhaWwobik6ZSYmaChpPWUudGhlbik/aS5jYWxsKGUsdCxuKTp0LmFwcGx5KHZvaWQgMCxbZV0uc2xpY2UocikpfWNhdGNoKGUpe24uYXBwbHkodm9pZCAwLFtlXSl9fWIuQ2FsbGJhY2tzPWZ1bmN0aW9uKGUpe2U9XCJzdHJpbmdcIj09dHlwZW9mIGU/ZnVuY3Rpb24oZSl7dmFyIHQ9e307cmV0dXJuIGIuZWFjaChlLm1hdGNoKE8pfHxbXSxmdW5jdGlvbihlLG4pe3Rbbl09ITB9KSx0fShlKTpiLmV4dGVuZCh7fSxlKTt2YXIgdCxuLHIsaSxvPVtdLGE9W10scz0tMSx1PWZ1bmN0aW9uKCl7Zm9yKGk9aXx8ZS5vbmNlLHI9dD0hMDthLmxlbmd0aDtzPS0xKWZvcihuPWEuc2hpZnQoKTsrK3M8by5sZW5ndGg7KSExPT09b1tzXS5hcHBseShuWzBdLG5bMV0pJiZlLnN0b3BPbkZhbHNlJiYocz1vLmxlbmd0aCxuPSExKTtlLm1lbW9yeXx8KG49ITEpLHQ9ITEsaSYmKG89bj9bXTpcIlwiKX0sbD17YWRkOmZ1bmN0aW9uKCl7cmV0dXJuIG8mJihuJiYhdCYmKHM9by5sZW5ndGgtMSxhLnB1c2gobikpLGZ1bmN0aW9uIHQobil7Yi5lYWNoKG4sZnVuY3Rpb24obixyKXtoKHIpP2UudW5pcXVlJiZsLmhhcyhyKXx8by5wdXNoKHIpOnImJnIubGVuZ3RoJiZcInN0cmluZ1wiIT09eChyKSYmdChyKX0pfShhcmd1bWVudHMpLG4mJiF0JiZ1KCkpLHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBiLmVhY2goYXJndW1lbnRzLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuOyhuPWIuaW5BcnJheSh0LG8sbikpPi0xOylvLnNwbGljZShuLDEpLG48PXMmJnMtLX0pLHRoaXN9LGhhczpmdW5jdGlvbihlKXtyZXR1cm4gZT9iLmluQXJyYXkoZSxvKT4tMTpvLmxlbmd0aD4wfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBvJiYobz1bXSksdGhpc30sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiBpPWE9W10sbz1uPVwiXCIsdGhpc30sZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hb30sbG9jazpmdW5jdGlvbigpe3JldHVybiBpPWE9W10sbnx8dHx8KG89bj1cIlwiKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWl9LGZpcmVXaXRoOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGl8fChuPVtlLChuPW58fFtdKS5zbGljZT9uLnNsaWNlKCk6bl0sYS5wdXNoKG4pLHR8fHUoKSksdGhpc30sZmlyZTpmdW5jdGlvbigpe3JldHVybiBsLmZpcmVXaXRoKHRoaXMsYXJndW1lbnRzKSx0aGlzfSxmaXJlZDpmdW5jdGlvbigpe3JldHVybiEhcn19O3JldHVybiBsfSxiLmV4dGVuZCh7RGVmZXJyZWQ6ZnVuY3Rpb24odCl7dmFyIG49W1tcIm5vdGlmeVwiLFwicHJvZ3Jlc3NcIixiLkNhbGxiYWNrcyhcIm1lbW9yeVwiKSxiLkNhbGxiYWNrcyhcIm1lbW9yeVwiKSwyXSxbXCJyZXNvbHZlXCIsXCJkb25lXCIsYi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSxiLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLDAsXCJyZXNvbHZlZFwiXSxbXCJyZWplY3RcIixcImZhaWxcIixiLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLGIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksMSxcInJlamVjdGVkXCJdXSxyPVwicGVuZGluZ1wiLGk9e3N0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHJ9LGFsd2F5czpmdW5jdGlvbigpe3JldHVybiBvLmRvbmUoYXJndW1lbnRzKS5mYWlsKGFyZ3VtZW50cyksdGhpc30sY2F0Y2g6ZnVuY3Rpb24oZSl7cmV0dXJuIGkudGhlbihudWxsLGUpfSxwaXBlOmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzO3JldHVybiBiLkRlZmVycmVkKGZ1bmN0aW9uKHQpe2IuZWFjaChuLGZ1bmN0aW9uKG4scil7dmFyIGk9aChlW3JbNF1dKSYmZVtyWzRdXTtvW3JbMV1dKGZ1bmN0aW9uKCl7dmFyIGU9aSYmaS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZSYmaChlLnByb21pc2UpP2UucHJvbWlzZSgpLnByb2dyZXNzKHQubm90aWZ5KS5kb25lKHQucmVzb2x2ZSkuZmFpbCh0LnJlamVjdCk6dFtyWzBdK1wiV2l0aFwiXSh0aGlzLGk/W2VdOmFyZ3VtZW50cyl9KX0pLGU9bnVsbH0pLnByb21pc2UoKX0sdGhlbjpmdW5jdGlvbih0LHIsaSl7dmFyIG89MDtmdW5jdGlvbiBhKHQsbixyLGkpe3JldHVybiBmdW5jdGlvbigpe3ZhciBzPXRoaXMsdT1hcmd1bWVudHMsbD1mdW5jdGlvbigpe3ZhciBlLGw7aWYoISh0PG8pKXtpZigoZT1yLmFwcGx5KHMsdSkpPT09bi5wcm9taXNlKCkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlRoZW5hYmxlIHNlbGYtcmVzb2x1dGlvblwiKTtsPWUmJihcIm9iamVjdFwiPT10eXBlb2YgZXx8XCJmdW5jdGlvblwiPT10eXBlb2YgZSkmJmUudGhlbixoKGwpP2k/bC5jYWxsKGUsYShvLG4sUCxpKSxhKG8sbixSLGkpKToobysrLGwuY2FsbChlLGEobyxuLFAsaSksYShvLG4sUixpKSxhKG8sbixQLG4ubm90aWZ5V2l0aCkpKToociE9PVAmJihzPXZvaWQgMCx1PVtlXSksKGl8fG4ucmVzb2x2ZVdpdGgpKHMsdSkpfX0sYz1pP2w6ZnVuY3Rpb24oKXt0cnl7bCgpfWNhdGNoKGUpe2IuRGVmZXJyZWQuZXhjZXB0aW9uSG9vayYmYi5EZWZlcnJlZC5leGNlcHRpb25Ib29rKGUsYy5zdGFja1RyYWNlKSx0KzE+PW8mJihyIT09UiYmKHM9dm9pZCAwLHU9W2VdKSxuLnJlamVjdFdpdGgocyx1KSl9fTt0P2MoKTooYi5EZWZlcnJlZC5nZXRTdGFja0hvb2smJihjLnN0YWNrVHJhY2U9Yi5EZWZlcnJlZC5nZXRTdGFja0hvb2soKSksZS5zZXRUaW1lb3V0KGMpKX19cmV0dXJuIGIuRGVmZXJyZWQoZnVuY3Rpb24oZSl7blswXVszXS5hZGQoYSgwLGUsaChpKT9pOlAsZS5ub3RpZnlXaXRoKSksblsxXVszXS5hZGQoYSgwLGUsaCh0KT90OlApKSxuWzJdWzNdLmFkZChhKDAsZSxoKHIpP3I6UikpfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lP2IuZXh0ZW5kKGUsaSk6aX19LG89e307cmV0dXJuIGIuZWFjaChuLGZ1bmN0aW9uKGUsdCl7dmFyIGE9dFsyXSxzPXRbNV07aVt0WzFdXT1hLmFkZCxzJiZhLmFkZChmdW5jdGlvbigpe3I9c30sblszLWVdWzJdLmRpc2FibGUsblszLWVdWzNdLmRpc2FibGUsblswXVsyXS5sb2NrLG5bMF1bM10ubG9jayksYS5hZGQodFszXS5maXJlKSxvW3RbMF1dPWZ1bmN0aW9uKCl7cmV0dXJuIG9bdFswXStcIldpdGhcIl0odGhpcz09PW8/dm9pZCAwOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxvW3RbMF0rXCJXaXRoXCJdPWEuZmlyZVdpdGh9KSxpLnByb21pc2UobyksdCYmdC5jYWxsKG8sbyksb30sd2hlbjpmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49dCxyPUFycmF5KG4pLG89aS5jYWxsKGFyZ3VtZW50cyksYT1iLkRlZmVycmVkKCkscz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24obil7cltlXT10aGlzLG9bZV09YXJndW1lbnRzLmxlbmd0aD4xP2kuY2FsbChhcmd1bWVudHMpOm4sLS10fHxhLnJlc29sdmVXaXRoKHIsbyl9fTtpZih0PD0xJiYoTShlLGEuZG9uZShzKG4pKS5yZXNvbHZlLGEucmVqZWN0LCF0KSxcInBlbmRpbmdcIj09PWEuc3RhdGUoKXx8aChvW25dJiZvW25dLnRoZW4pKSlyZXR1cm4gYS50aGVuKCk7Zm9yKDtuLS07KU0ob1tuXSxzKG4pLGEucmVqZWN0KTtyZXR1cm4gYS5wcm9taXNlKCl9fSk7dmFyIEk9L14oRXZhbHxJbnRlcm5hbHxSYW5nZXxSZWZlcmVuY2V8U3ludGF4fFR5cGV8VVJJKUVycm9yJC87Yi5EZWZlcnJlZC5leGNlcHRpb25Ib29rPWZ1bmN0aW9uKHQsbil7ZS5jb25zb2xlJiZlLmNvbnNvbGUud2FybiYmdCYmSS50ZXN0KHQubmFtZSkmJmUuY29uc29sZS53YXJuKFwialF1ZXJ5LkRlZmVycmVkIGV4Y2VwdGlvbjogXCIrdC5tZXNzYWdlLHQuc3RhY2ssbil9LGIucmVhZHlFeGNlcHRpb249ZnVuY3Rpb24odCl7ZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgdH0pfTt2YXIgVz1iLkRlZmVycmVkKCk7ZnVuY3Rpb24gRigpe3YucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixGKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsRiksYi5yZWFkeSgpfWIuZm4ucmVhZHk9ZnVuY3Rpb24oZSl7cmV0dXJuIFcudGhlbihlKS5jYXRjaChmdW5jdGlvbihlKXtiLnJlYWR5RXhjZXB0aW9uKGUpfSksdGhpc30sYi5leHRlbmQoe2lzUmVhZHk6ITEscmVhZHlXYWl0OjEscmVhZHk6ZnVuY3Rpb24oZSl7KCEwPT09ZT8tLWIucmVhZHlXYWl0OmIuaXNSZWFkeSl8fChiLmlzUmVhZHk9ITAsITAhPT1lJiYtLWIucmVhZHlXYWl0PjB8fFcucmVzb2x2ZVdpdGgodixbYl0pKX19KSxiLnJlYWR5LnRoZW49Vy50aGVuLFwiY29tcGxldGVcIj09PXYucmVhZHlTdGF0ZXx8XCJsb2FkaW5nXCIhPT12LnJlYWR5U3RhdGUmJiF2LmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbD9lLnNldFRpbWVvdXQoYi5yZWFkeSk6KHYuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixGKSxlLmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsRikpO3ZhciBCPWZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEpe3ZhciBzPTAsdT1lLmxlbmd0aCxsPW51bGw9PW47aWYoXCJvYmplY3RcIj09PXgobikpZm9yKHMgaW4gaT0hMCxuKUIoZSx0LHMsbltzXSwhMCxvLGEpO2Vsc2UgaWYodm9pZCAwIT09ciYmKGk9ITAsaChyKXx8KGE9ITApLGwmJihhPyh0LmNhbGwoZSxyKSx0PW51bGwpOihsPXQsdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGwuY2FsbChiKGUpLG4pfSkpLHQpKWZvcig7czx1O3MrKyl0KGVbc10sbixhP3I6ci5jYWxsKGVbc10scyx0KGVbc10sbikpKTtyZXR1cm4gaT9lOmw/dC5jYWxsKGUpOnU/dChlWzBdLG4pOm99LCQ9L14tbXMtLyxfPS8tKFthLXpdKS9nO2Z1bmN0aW9uIHooZSx0KXtyZXR1cm4gdC50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIFUoZSl7cmV0dXJuIGUucmVwbGFjZSgkLFwibXMtXCIpLnJlcGxhY2UoXyx6KX12YXIgWD1mdW5jdGlvbihlKXtyZXR1cm4gMT09PWUubm9kZVR5cGV8fDk9PT1lLm5vZGVUeXBlfHwhK2Uubm9kZVR5cGV9O2Z1bmN0aW9uIFYoKXt0aGlzLmV4cGFuZG89Yi5leHBhbmRvK1YudWlkKyt9Vi51aWQ9MSxWLnByb3RvdHlwZT17Y2FjaGU6ZnVuY3Rpb24oZSl7dmFyIHQ9ZVt0aGlzLmV4cGFuZG9dO3JldHVybiB0fHwodD17fSxYKGUpJiYoZS5ub2RlVHlwZT9lW3RoaXMuZXhwYW5kb109dDpPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0aGlzLmV4cGFuZG8se3ZhbHVlOnQsY29uZmlndXJhYmxlOiEwfSkpKSx0fSxzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9dGhpcy5jYWNoZShlKTtpZihcInN0cmluZ1wiPT10eXBlb2YgdClpW1UodCldPW47ZWxzZSBmb3IociBpbiB0KWlbVShyKV09dFtyXTtyZXR1cm4gaX0sZ2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQ/dGhpcy5jYWNoZShlKTplW3RoaXMuZXhwYW5kb10mJmVbdGhpcy5leHBhbmRvXVtVKHQpXX0sYWNjZXNzOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdm9pZCAwPT09dHx8dCYmXCJzdHJpbmdcIj09dHlwZW9mIHQmJnZvaWQgMD09PW4/dGhpcy5nZXQoZSx0KToodGhpcy5zZXQoZSx0LG4pLHZvaWQgMCE9PW4/bjp0KX0scmVtb3ZlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1lW3RoaXMuZXhwYW5kb107aWYodm9pZCAwIT09cil7aWYodm9pZCAwIT09dCl7bj0odD1BcnJheS5pc0FycmF5KHQpP3QubWFwKFUpOih0PVUodCkpaW4gcj9bdF06dC5tYXRjaChPKXx8W10pLmxlbmd0aDtmb3IoO24tLTspZGVsZXRlIHJbdFtuXV19KHZvaWQgMD09PXR8fGIuaXNFbXB0eU9iamVjdChyKSkmJihlLm5vZGVUeXBlP2VbdGhpcy5leHBhbmRvXT12b2lkIDA6ZGVsZXRlIGVbdGhpcy5leHBhbmRvXSl9fSxoYXNEYXRhOmZ1bmN0aW9uKGUpe3ZhciB0PWVbdGhpcy5leHBhbmRvXTtyZXR1cm4gdm9pZCAwIT09dCYmIWIuaXNFbXB0eU9iamVjdCh0KX19O3ZhciBHPW5ldyBWLFk9bmV3IFYsUT0vXig/Olxce1tcXHdcXFddKlxcfXxcXFtbXFx3XFxXXSpcXF0pJC8sSj0vW0EtWl0vZztmdW5jdGlvbiBLKGUsdCxuKXt2YXIgcjtpZih2b2lkIDA9PT1uJiYxPT09ZS5ub2RlVHlwZSlpZihyPVwiZGF0YS1cIit0LnJlcGxhY2UoSixcIi0kJlwiKS50b0xvd2VyQ2FzZSgpLFwic3RyaW5nXCI9PXR5cGVvZihuPWUuZ2V0QXR0cmlidXRlKHIpKSl7dHJ5e249ZnVuY3Rpb24oZSl7cmV0dXJuXCJ0cnVlXCI9PT1lfHxcImZhbHNlXCIhPT1lJiYoXCJudWxsXCI9PT1lP251bGw6ZT09PStlK1wiXCI/K2U6US50ZXN0KGUpP0pTT04ucGFyc2UoZSk6ZSl9KG4pfWNhdGNoKGUpe31ZLnNldChlLHQsbil9ZWxzZSBuPXZvaWQgMDtyZXR1cm4gbn1iLmV4dGVuZCh7aGFzRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4gWS5oYXNEYXRhKGUpfHxHLmhhc0RhdGEoZSl9LGRhdGE6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBZLmFjY2VzcyhlLHQsbil9LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSx0KXtZLnJlbW92ZShlLHQpfSxfZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEcuYWNjZXNzKGUsdCxuKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oZSx0KXtHLnJlbW92ZShlLHQpfX0pLGIuZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG89dGhpc1swXSxhPW8mJm8uYXR0cmlidXRlcztpZih2b2lkIDA9PT1lKXtpZih0aGlzLmxlbmd0aCYmKGk9WS5nZXQobyksMT09PW8ubm9kZVR5cGUmJiFHLmdldChvLFwiaGFzRGF0YUF0dHJzXCIpKSl7Zm9yKG49YS5sZW5ndGg7bi0tOylhW25dJiYwPT09KHI9YVtuXS5uYW1lKS5pbmRleE9mKFwiZGF0YS1cIikmJihyPVUoci5zbGljZSg1KSksSyhvLHIsaVtyXSkpO0cuc2V0KG8sXCJoYXNEYXRhQXR0cnNcIiwhMCl9cmV0dXJuIGl9cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIGU/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7WS5zZXQodGhpcyxlKX0pOkIodGhpcyxmdW5jdGlvbih0KXt2YXIgbjtpZihvJiZ2b2lkIDA9PT10KXJldHVybiB2b2lkIDAhPT0obj1ZLmdldChvLGUpKT9uOnZvaWQgMCE9PShuPUsobyxlKSk/bjp2b2lkIDA7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7WS5zZXQodGhpcyxlLHQpfSl9LG51bGwsdCxhcmd1bWVudHMubGVuZ3RoPjEsbnVsbCwhMCl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe1kucmVtb3ZlKHRoaXMsZSl9KX19KSxiLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByO2lmKGUpcmV0dXJuIHQ9KHR8fFwiZnhcIikrXCJxdWV1ZVwiLHI9Ry5nZXQoZSx0KSxuJiYoIXJ8fEFycmF5LmlzQXJyYXkobik/cj1HLmFjY2VzcyhlLHQsYi5tYWtlQXJyYXkobikpOnIucHVzaChuKSkscnx8W119LGRlcXVldWU6ZnVuY3Rpb24oZSx0KXt0PXR8fFwiZnhcIjt2YXIgbj1iLnF1ZXVlKGUsdCkscj1uLmxlbmd0aCxpPW4uc2hpZnQoKSxvPWIuX3F1ZXVlSG9va3MoZSx0KTtcImlucHJvZ3Jlc3NcIj09PWkmJihpPW4uc2hpZnQoKSxyLS0pLGkmJihcImZ4XCI9PT10JiZuLnVuc2hpZnQoXCJpbnByb2dyZXNzXCIpLGRlbGV0ZSBvLnN0b3AsaS5jYWxsKGUsZnVuY3Rpb24oKXtiLmRlcXVldWUoZSx0KX0sbykpLCFyJiZvJiZvLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oZSx0KXt2YXIgbj10K1wicXVldWVIb29rc1wiO3JldHVybiBHLmdldChlLG4pfHxHLmFjY2VzcyhlLG4se2VtcHR5OmIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIikuYWRkKGZ1bmN0aW9uKCl7Ry5yZW1vdmUoZSxbdCtcInF1ZXVlXCIsbl0pfSl9KX19KSxiLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj0yO3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBlJiYodD1lLGU9XCJmeFwiLG4tLSksYXJndW1lbnRzLmxlbmd0aDxuP2IucXVldWUodGhpc1swXSxlKTp2b2lkIDA9PT10P3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG49Yi5xdWV1ZSh0aGlzLGUsdCk7Yi5fcXVldWVIb29rcyh0aGlzLGUpLFwiZnhcIj09PWUmJlwiaW5wcm9ncmVzc1wiIT09blswXSYmYi5kZXF1ZXVlKHRoaXMsZSl9KX0sZGVxdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yi5kZXF1ZXVlKHRoaXMsZSl9KX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5xdWV1ZShlfHxcImZ4XCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0xLGk9Yi5EZWZlcnJlZCgpLG89dGhpcyxhPXRoaXMubGVuZ3RoLHM9ZnVuY3Rpb24oKXstLXJ8fGkucmVzb2x2ZVdpdGgobyxbb10pfTtmb3IoXCJzdHJpbmdcIiE9dHlwZW9mIGUmJih0PWUsZT12b2lkIDApLGU9ZXx8XCJmeFwiO2EtLTspKG49Ry5nZXQob1thXSxlK1wicXVldWVIb29rc1wiKSkmJm4uZW1wdHkmJihyKyssbi5lbXB0eS5hZGQocykpO3JldHVybiBzKCksaS5wcm9taXNlKHQpfX0pO3ZhciBaPS9bKy1dPyg/OlxcZCpcXC58KVxcZCsoPzpbZUVdWystXT9cXGQrfCkvLnNvdXJjZSxlZT1uZXcgUmVnRXhwKFwiXig/OihbKy1dKT18KShcIitaK1wiKShbYS16JV0qKSRcIixcImlcIiksdGU9W1wiVG9wXCIsXCJSaWdodFwiLFwiQm90dG9tXCIsXCJMZWZ0XCJdLG5lPXYuZG9jdW1lbnRFbGVtZW50LHJlPWZ1bmN0aW9uKGUpe3JldHVybiBiLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKX0saWU9e2NvbXBvc2VkOiEwfTtuZS5nZXRSb290Tm9kZSYmKHJlPWZ1bmN0aW9uKGUpe3JldHVybiBiLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKXx8ZS5nZXRSb290Tm9kZShpZSk9PT1lLm93bmVyRG9jdW1lbnR9KTt2YXIgb2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm5cIm5vbmVcIj09PShlPXR8fGUpLnN0eWxlLmRpc3BsYXl8fFwiXCI9PT1lLnN0eWxlLmRpc3BsYXkmJnJlKGUpJiZcIm5vbmVcIj09PWIuY3NzKGUsXCJkaXNwbGF5XCIpfTtmdW5jdGlvbiBhZShlLHQsbixyKXt2YXIgaSxvLGE9MjAscz1yP2Z1bmN0aW9uKCl7cmV0dXJuIHIuY3VyKCl9OmZ1bmN0aW9uKCl7cmV0dXJuIGIuY3NzKGUsdCxcIlwiKX0sdT1zKCksbD1uJiZuWzNdfHwoYi5jc3NOdW1iZXJbdF0/XCJcIjpcInB4XCIpLGM9ZS5ub2RlVHlwZSYmKGIuY3NzTnVtYmVyW3RdfHxcInB4XCIhPT1sJiYrdSkmJmVlLmV4ZWMoYi5jc3MoZSx0KSk7aWYoYyYmY1szXSE9PWwpe2Zvcih1Lz0yLGw9bHx8Y1szXSxjPSt1fHwxO2EtLTspYi5zdHlsZShlLHQsYytsKSwoMS1vKSooMS0obz1zKCkvdXx8LjUpKTw9MCYmKGE9MCksYy89bztjKj0yLGIuc3R5bGUoZSx0LGMrbCksbj1ufHxbXX1yZXR1cm4gbiYmKGM9K2N8fCt1fHwwLGk9blsxXT9jKyhuWzFdKzEpKm5bMl06K25bMl0sciYmKHIudW5pdD1sLHIuc3RhcnQ9YyxyLmVuZD1pKSksaX12YXIgc2U9e307ZnVuY3Rpb24gdWUoZSl7dmFyIHQsbj1lLm93bmVyRG9jdW1lbnQscj1lLm5vZGVOYW1lLGk9c2Vbcl07cmV0dXJuIGl8fCh0PW4uYm9keS5hcHBlbmRDaGlsZChuLmNyZWF0ZUVsZW1lbnQocikpLGk9Yi5jc3ModCxcImRpc3BsYXlcIiksdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLFwibm9uZVwiPT09aSYmKGk9XCJibG9ja1wiKSxzZVtyXT1pLGkpfWZ1bmN0aW9uIGxlKGUsdCl7Zm9yKHZhciBuLHIsaT1bXSxvPTAsYT1lLmxlbmd0aDtvPGE7bysrKShyPWVbb10pLnN0eWxlJiYobj1yLnN0eWxlLmRpc3BsYXksdD8oXCJub25lXCI9PT1uJiYoaVtvXT1HLmdldChyLFwiZGlzcGxheVwiKXx8bnVsbCxpW29dfHwoci5zdHlsZS5kaXNwbGF5PVwiXCIpKSxcIlwiPT09ci5zdHlsZS5kaXNwbGF5JiZvZShyKSYmKGlbb109dWUocikpKTpcIm5vbmVcIiE9PW4mJihpW29dPVwibm9uZVwiLEcuc2V0KHIsXCJkaXNwbGF5XCIsbikpKTtmb3Iobz0wO288YTtvKyspbnVsbCE9aVtvXSYmKGVbb10uc3R5bGUuZGlzcGxheT1pW29dKTtyZXR1cm4gZX1iLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbigpe3JldHVybiBsZSh0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBsZSh0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGUpe3JldHVyblwiYm9vbGVhblwiPT10eXBlb2YgZT9lP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe29lKHRoaXMpP2IodGhpcykuc2hvdygpOmIodGhpcykuaGlkZSgpfSl9fSk7dmFyIGNlLGZlLHBlPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pLGRlPS88KFthLXpdW15cXC9cXDA+XFx4MjBcXHRcXHJcXG5cXGZdKikvaSxoZT0vXiR8Xm1vZHVsZSR8XFwvKD86amF2YXxlY21hKXNjcmlwdC9pO2NlPXYuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLmFwcGVuZENoaWxkKHYuY3JlYXRlRWxlbWVudChcImRpdlwiKSksKGZlPXYuY3JlYXRlRWxlbWVudChcImlucHV0XCIpKS5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsXCJyYWRpb1wiKSxmZS5zZXRBdHRyaWJ1dGUoXCJjaGVja2VkXCIsXCJjaGVja2VkXCIpLGZlLnNldEF0dHJpYnV0ZShcIm5hbWVcIixcInRcIiksY2UuYXBwZW5kQ2hpbGQoZmUpLGQuY2hlY2tDbG9uZT1jZS5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsY2UuaW5uZXJIVE1MPVwiPHRleHRhcmVhPng8L3RleHRhcmVhPlwiLGQubm9DbG9uZUNoZWNrZWQ9ISFjZS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsY2UuaW5uZXJIVE1MPVwiPG9wdGlvbj48L29wdGlvbj5cIixkLm9wdGlvbj0hIWNlLmxhc3RDaGlsZDt2YXIgZ2U9e3RoZWFkOlsxLFwiPHRhYmxlPlwiLFwiPC90YWJsZT5cIl0sY29sOlsyLFwiPHRhYmxlPjxjb2xncm91cD5cIixcIjwvY29sZ3JvdXA+PC90YWJsZT5cIl0sdHI6WzIsXCI8dGFibGU+PHRib2R5PlwiLFwiPC90Ym9keT48L3RhYmxlPlwiXSx0ZDpbMyxcIjx0YWJsZT48dGJvZHk+PHRyPlwiLFwiPC90cj48L3Rib2R5PjwvdGFibGU+XCJdLF9kZWZhdWx0OlswLFwiXCIsXCJcIl19O2Z1bmN0aW9uIHZlKGUsdCl7dmFyIG47cmV0dXJuIG49dm9pZCAwIT09ZS5nZXRFbGVtZW50c0J5VGFnTmFtZT9lLmdldEVsZW1lbnRzQnlUYWdOYW1lKHR8fFwiKlwiKTp2b2lkIDAhPT1lLnF1ZXJ5U2VsZWN0b3JBbGw/ZS5xdWVyeVNlbGVjdG9yQWxsKHR8fFwiKlwiKTpbXSx2b2lkIDA9PT10fHx0JiZrKGUsdCk/Yi5tZXJnZShbZV0sbik6bn1mdW5jdGlvbiB5ZShlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKylHLnNldChlW25dLFwiZ2xvYmFsRXZhbFwiLCF0fHxHLmdldCh0W25dLFwiZ2xvYmFsRXZhbFwiKSl9Z2UudGJvZHk9Z2UudGZvb3Q9Z2UuY29sZ3JvdXA9Z2UuY2FwdGlvbj1nZS50aGVhZCxnZS50aD1nZS50ZCxkLm9wdGlvbnx8KGdlLm9wdGdyb3VwPWdlLm9wdGlvbj1bMSxcIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz5cIixcIjwvc2VsZWN0PlwiXSk7dmFyIG1lPS88fCYjP1xcdys7LztmdW5jdGlvbiB4ZShlLHQsbixyLGkpe2Zvcih2YXIgbyxhLHMsdSxsLGMsZj10LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxwPVtdLGQ9MCxoPWUubGVuZ3RoO2Q8aDtkKyspaWYoKG89ZVtkXSl8fDA9PT1vKWlmKFwib2JqZWN0XCI9PT14KG8pKWIubWVyZ2UocCxvLm5vZGVUeXBlP1tvXTpvKTtlbHNlIGlmKG1lLnRlc3Qobykpe2ZvcihhPWF8fGYuYXBwZW5kQ2hpbGQodC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKSxzPShkZS5leGVjKG8pfHxbXCJcIixcIlwiXSlbMV0udG9Mb3dlckNhc2UoKSx1PWdlW3NdfHxnZS5fZGVmYXVsdCxhLmlubmVySFRNTD11WzFdK2IuaHRtbFByZWZpbHRlcihvKSt1WzJdLGM9dVswXTtjLS07KWE9YS5sYXN0Q2hpbGQ7Yi5tZXJnZShwLGEuY2hpbGROb2RlcyksKGE9Zi5maXJzdENoaWxkKS50ZXh0Q29udGVudD1cIlwifWVsc2UgcC5wdXNoKHQuY3JlYXRlVGV4dE5vZGUobykpO2ZvcihmLnRleHRDb250ZW50PVwiXCIsZD0wO289cFtkKytdOylpZihyJiZiLmluQXJyYXkobyxyKT4tMSlpJiZpLnB1c2gobyk7ZWxzZSBpZihsPXJlKG8pLGE9dmUoZi5hcHBlbmRDaGlsZChvKSxcInNjcmlwdFwiKSxsJiZ5ZShhKSxuKWZvcihjPTA7bz1hW2MrK107KWhlLnRlc3Qoby50eXBlfHxcIlwiKSYmbi5wdXNoKG8pO3JldHVybiBmfXZhciBiZT0vXihbXi5dKikoPzpcXC4oLispfCkvO2Z1bmN0aW9uIHdlKCl7cmV0dXJuITB9ZnVuY3Rpb24gVGUoKXtyZXR1cm4hMX1mdW5jdGlvbiBDZShlLHQpe3JldHVybiBlPT09ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHYuYWN0aXZlRWxlbWVudH1jYXRjaChlKXt9fSgpPT0oXCJmb2N1c1wiPT09dCl9ZnVuY3Rpb24gRWUoZSx0LG4scixpLG8pe3ZhciBhLHM7aWYoXCJvYmplY3RcIj09dHlwZW9mIHQpe2ZvcihzIGluXCJzdHJpbmdcIiE9dHlwZW9mIG4mJihyPXJ8fG4sbj12b2lkIDApLHQpRWUoZSxzLG4scix0W3NdLG8pO3JldHVybiBlfWlmKG51bGw9PXImJm51bGw9PWk/KGk9bixyPW49dm9pZCAwKTpudWxsPT1pJiYoXCJzdHJpbmdcIj09dHlwZW9mIG4/KGk9cixyPXZvaWQgMCk6KGk9cixyPW4sbj12b2lkIDApKSwhMT09PWkpaT1UZTtlbHNlIGlmKCFpKXJldHVybiBlO3JldHVybiAxPT09byYmKGE9aSwoaT1mdW5jdGlvbihlKXtyZXR1cm4gYigpLm9mZihlKSxhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLmd1aWQ9YS5ndWlkfHwoYS5ndWlkPWIuZ3VpZCsrKSksZS5lYWNoKGZ1bmN0aW9uKCl7Yi5ldmVudC5hZGQodGhpcyx0LGkscixuKX0pfWZ1bmN0aW9uIFNlKGUsdCxuKXtuPyhHLnNldChlLHQsITEpLGIuZXZlbnQuYWRkKGUsdCx7bmFtZXNwYWNlOiExLGhhbmRsZXI6ZnVuY3Rpb24oZSl7dmFyIHIsbyxhPUcuZ2V0KHRoaXMsdCk7aWYoMSZlLmlzVHJpZ2dlciYmdGhpc1t0XSl7aWYoYS5sZW5ndGgpKGIuZXZlbnQuc3BlY2lhbFt0XXx8e30pLmRlbGVnYXRlVHlwZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKGE9aS5jYWxsKGFyZ3VtZW50cyksRy5zZXQodGhpcyx0LGEpLHI9bih0aGlzLHQpLHRoaXNbdF0oKSxhIT09KG89Ry5nZXQodGhpcyx0KSl8fHI/Ry5zZXQodGhpcyx0LCExKTpvPXt9LGEhPT1vKXJldHVybiBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGUucHJldmVudERlZmF1bHQoKSxvJiZvLnZhbHVlfWVsc2UgYS5sZW5ndGgmJihHLnNldCh0aGlzLHQse3ZhbHVlOmIuZXZlbnQudHJpZ2dlcihiLmV4dGVuZChhWzBdLGIuRXZlbnQucHJvdG90eXBlKSxhLnNsaWNlKDEpLHRoaXMpfSksZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fSkpOnZvaWQgMD09PUcuZ2V0KGUsdCkmJmIuZXZlbnQuYWRkKGUsdCx3ZSl9Yi5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcsdj1HLmdldChlKTtpZihYKGUpKWZvcihuLmhhbmRsZXImJihuPShvPW4pLmhhbmRsZXIsaT1vLnNlbGVjdG9yKSxpJiZiLmZpbmQubWF0Y2hlc1NlbGVjdG9yKG5lLGkpLG4uZ3VpZHx8KG4uZ3VpZD1iLmd1aWQrKyksKHU9di5ldmVudHMpfHwodT12LmV2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpKSwoYT12LmhhbmRsZSl8fChhPXYuaGFuZGxlPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT1iJiZiLmV2ZW50LnRyaWdnZXJlZCE9PXQudHlwZT9iLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGUsYXJndW1lbnRzKTp2b2lkIDB9KSxsPSh0PSh0fHxcIlwiKS5tYXRjaChPKXx8W1wiXCJdKS5sZW5ndGg7bC0tOylkPWc9KHM9YmUuZXhlYyh0W2xdKXx8W10pWzFdLGg9KHNbMl18fFwiXCIpLnNwbGl0KFwiLlwiKS5zb3J0KCksZCYmKGY9Yi5ldmVudC5zcGVjaWFsW2RdfHx7fSxkPShpP2YuZGVsZWdhdGVUeXBlOmYuYmluZFR5cGUpfHxkLGY9Yi5ldmVudC5zcGVjaWFsW2RdfHx7fSxjPWIuZXh0ZW5kKHt0eXBlOmQsb3JpZ1R5cGU6ZyxkYXRhOnIsaGFuZGxlcjpuLGd1aWQ6bi5ndWlkLHNlbGVjdG9yOmksbmVlZHNDb250ZXh0OmkmJmIuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChpKSxuYW1lc3BhY2U6aC5qb2luKFwiLlwiKX0sbyksKHA9dVtkXSl8fCgocD11W2RdPVtdKS5kZWxlZ2F0ZUNvdW50PTAsZi5zZXR1cCYmITEhPT1mLnNldHVwLmNhbGwoZSxyLGgsYSl8fGUuYWRkRXZlbnRMaXN0ZW5lciYmZS5hZGRFdmVudExpc3RlbmVyKGQsYSkpLGYuYWRkJiYoZi5hZGQuY2FsbChlLGMpLGMuaGFuZGxlci5ndWlkfHwoYy5oYW5kbGVyLmd1aWQ9bi5ndWlkKSksaT9wLnNwbGljZShwLmRlbGVnYXRlQ291bnQrKywwLGMpOnAucHVzaChjKSxiLmV2ZW50Lmdsb2JhbFtkXT0hMCl9LHJlbW92ZTpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcsdj1HLmhhc0RhdGEoZSkmJkcuZ2V0KGUpO2lmKHYmJih1PXYuZXZlbnRzKSl7Zm9yKGw9KHQ9KHR8fFwiXCIpLm1hdGNoKE8pfHxbXCJcIl0pLmxlbmd0aDtsLS07KWlmKGQ9Zz0ocz1iZS5leGVjKHRbbF0pfHxbXSlbMV0saD0oc1syXXx8XCJcIikuc3BsaXQoXCIuXCIpLnNvcnQoKSxkKXtmb3IoZj1iLmV2ZW50LnNwZWNpYWxbZF18fHt9LHA9dVtkPShyP2YuZGVsZWdhdGVUeXBlOmYuYmluZFR5cGUpfHxkXXx8W10scz1zWzJdJiZuZXcgUmVnRXhwKFwiKF58XFxcXC4pXCIraC5qb2luKFwiXFxcXC4oPzouKlxcXFwufClcIikrXCIoXFxcXC58JClcIiksYT1vPXAubGVuZ3RoO28tLTspYz1wW29dLCFpJiZnIT09Yy5vcmlnVHlwZXx8biYmbi5ndWlkIT09Yy5ndWlkfHxzJiYhcy50ZXN0KGMubmFtZXNwYWNlKXx8ciYmciE9PWMuc2VsZWN0b3ImJihcIioqXCIhPT1yfHwhYy5zZWxlY3Rvcil8fChwLnNwbGljZShvLDEpLGMuc2VsZWN0b3ImJnAuZGVsZWdhdGVDb3VudC0tLGYucmVtb3ZlJiZmLnJlbW92ZS5jYWxsKGUsYykpO2EmJiFwLmxlbmd0aCYmKGYudGVhcmRvd24mJiExIT09Zi50ZWFyZG93bi5jYWxsKGUsaCx2LmhhbmRsZSl8fGIucmVtb3ZlRXZlbnQoZSxkLHYuaGFuZGxlKSxkZWxldGUgdVtkXSl9ZWxzZSBmb3IoZCBpbiB1KWIuZXZlbnQucmVtb3ZlKGUsZCt0W2xdLG4sciwhMCk7Yi5pc0VtcHR5T2JqZWN0KHUpJiZHLnJlbW92ZShlLFwiaGFuZGxlIGV2ZW50c1wiKX19LGRpc3BhdGNoOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYSxzPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSx1PWIuZXZlbnQuZml4KGUpLGw9KEcuZ2V0KHRoaXMsXCJldmVudHNcIil8fE9iamVjdC5jcmVhdGUobnVsbCkpW3UudHlwZV18fFtdLGM9Yi5ldmVudC5zcGVjaWFsW3UudHlwZV18fHt9O2ZvcihzWzBdPXUsdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspc1t0XT1hcmd1bWVudHNbdF07aWYodS5kZWxlZ2F0ZVRhcmdldD10aGlzLCFjLnByZURpc3BhdGNofHwhMSE9PWMucHJlRGlzcGF0Y2guY2FsbCh0aGlzLHUpKXtmb3IoYT1iLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyx1LGwpLHQ9MDsoaT1hW3QrK10pJiYhdS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOylmb3IodS5jdXJyZW50VGFyZ2V0PWkuZWxlbSxuPTA7KG89aS5oYW5kbGVyc1tuKytdKSYmIXUuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKTspdS5ybmFtZXNwYWNlJiYhMSE9PW8ubmFtZXNwYWNlJiYhdS5ybmFtZXNwYWNlLnRlc3Qoby5uYW1lc3BhY2UpfHwodS5oYW5kbGVPYmo9byx1LmRhdGE9by5kYXRhLHZvaWQgMCE9PShyPSgoYi5ldmVudC5zcGVjaWFsW28ub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxvLmhhbmRsZXIpLmFwcGx5KGkuZWxlbSxzKSkmJiExPT09KHUucmVzdWx0PXIpJiYodS5wcmV2ZW50RGVmYXVsdCgpLHUuc3RvcFByb3BhZ2F0aW9uKCkpKTtyZXR1cm4gYy5wb3N0RGlzcGF0Y2gmJmMucG9zdERpc3BhdGNoLmNhbGwodGhpcyx1KSx1LnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYSxzPVtdLHU9dC5kZWxlZ2F0ZUNvdW50LGw9ZS50YXJnZXQ7aWYodSYmbC5ub2RlVHlwZSYmIShcImNsaWNrXCI9PT1lLnR5cGUmJmUuYnV0dG9uPj0xKSlmb3IoO2whPT10aGlzO2w9bC5wYXJlbnROb2RlfHx0aGlzKWlmKDE9PT1sLm5vZGVUeXBlJiYoXCJjbGlja1wiIT09ZS50eXBlfHwhMCE9PWwuZGlzYWJsZWQpKXtmb3Iobz1bXSxhPXt9LG49MDtuPHU7bisrKXZvaWQgMD09PWFbaT0ocj10W25dKS5zZWxlY3RvcitcIiBcIl0mJihhW2ldPXIubmVlZHNDb250ZXh0P2IoaSx0aGlzKS5pbmRleChsKT4tMTpiLmZpbmQoaSx0aGlzLG51bGwsW2xdKS5sZW5ndGgpLGFbaV0mJm8ucHVzaChyKTtvLmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6b30pfXJldHVybiBsPXRoaXMsdTx0Lmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6dC5zbGljZSh1KX0pLHN9LGFkZFByb3A6ZnVuY3Rpb24oZSx0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYi5FdmVudC5wcm90b3R5cGUsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OmgodCk/ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHQodGhpcy5vcmlnaW5hbEV2ZW50KX06ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHRoaXMub3JpZ2luYWxFdmVudFtlXX0sc2V0OmZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnR9KX19KX0sZml4OmZ1bmN0aW9uKGUpe3JldHVybiBlW2IuZXhwYW5kb10/ZTpuZXcgYi5FdmVudChlKX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGNsaWNrOntzZXR1cDpmdW5jdGlvbihlKXt2YXIgdD10aGlzfHxlO3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJmsodCxcImlucHV0XCIpJiZTZSh0LFwiY2xpY2tcIix3ZSksITF9LHRyaWdnZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc3x8ZTtyZXR1cm4gcGUudGVzdCh0LnR5cGUpJiZ0LmNsaWNrJiZrKHQsXCJpbnB1dFwiKSYmU2UodCxcImNsaWNrXCIpLCEwfSxfZGVmYXVsdDpmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldDtyZXR1cm4gcGUudGVzdCh0LnR5cGUpJiZ0LmNsaWNrJiZrKHQsXCJpbnB1dFwiKSYmRy5nZXQodCxcImNsaWNrXCIpfHxrKHQsXCJhXCIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oZSl7dm9pZCAwIT09ZS5yZXN1bHQmJmUub3JpZ2luYWxFdmVudCYmKGUub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1lLnJlc3VsdCl9fX19LGIucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oZSx0LG4pe2UucmVtb3ZlRXZlbnRMaXN0ZW5lciYmZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsbil9LGIuRXZlbnQ9ZnVuY3Rpb24oZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBiLkV2ZW50KSlyZXR1cm4gbmV3IGIuRXZlbnQoZSx0KTtlJiZlLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1lLHRoaXMudHlwZT1lLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZS5kZWZhdWx0UHJldmVudGVkfHx2b2lkIDA9PT1lLmRlZmF1bHRQcmV2ZW50ZWQmJiExPT09ZS5yZXR1cm5WYWx1ZT93ZTpUZSx0aGlzLnRhcmdldD1lLnRhcmdldCYmMz09PWUudGFyZ2V0Lm5vZGVUeXBlP2UudGFyZ2V0LnBhcmVudE5vZGU6ZS50YXJnZXQsdGhpcy5jdXJyZW50VGFyZ2V0PWUuY3VycmVudFRhcmdldCx0aGlzLnJlbGF0ZWRUYXJnZXQ9ZS5yZWxhdGVkVGFyZ2V0KTp0aGlzLnR5cGU9ZSx0JiZiLmV4dGVuZCh0aGlzLHQpLHRoaXMudGltZVN0YW1wPWUmJmUudGltZVN0YW1wfHxEYXRlLm5vdygpLHRoaXNbYi5leHBhbmRvXT0hMH0sYi5FdmVudC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmIuRXZlbnQsaXNEZWZhdWx0UHJldmVudGVkOlRlLGlzUHJvcGFnYXRpb25TdG9wcGVkOlRlLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOlRlLGlzU2ltdWxhdGVkOiExLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPXdlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnByZXZlbnREZWZhdWx0KCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXdlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnN0b3BQcm9wYWdhdGlvbigpfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD13ZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfX0sYi5lYWNoKHthbHRLZXk6ITAsYnViYmxlczohMCxjYW5jZWxhYmxlOiEwLGNoYW5nZWRUb3VjaGVzOiEwLGN0cmxLZXk6ITAsZGV0YWlsOiEwLGV2ZW50UGhhc2U6ITAsbWV0YUtleTohMCxwYWdlWDohMCxwYWdlWTohMCxzaGlmdEtleTohMCx2aWV3OiEwLGNoYXI6ITAsY29kZTohMCxjaGFyQ29kZTohMCxrZXk6ITAsa2V5Q29kZTohMCxidXR0b246ITAsYnV0dG9uczohMCxjbGllbnRYOiEwLGNsaWVudFk6ITAsb2Zmc2V0WDohMCxvZmZzZXRZOiEwLHBvaW50ZXJJZDohMCxwb2ludGVyVHlwZTohMCxzY3JlZW5YOiEwLHNjcmVlblk6ITAsdGFyZ2V0VG91Y2hlczohMCx0b0VsZW1lbnQ6ITAsdG91Y2hlczohMCx3aGljaDohMH0sYi5ldmVudC5hZGRQcm9wKSxiLmVhY2goe2ZvY3VzOlwiZm9jdXNpblwiLGJsdXI6XCJmb2N1c291dFwifSxmdW5jdGlvbihlLHQpe2IuZXZlbnQuc3BlY2lhbFtlXT17c2V0dXA6ZnVuY3Rpb24oKXtyZXR1cm4gU2UodGhpcyxlLENlKSwhMX0sdHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBTZSh0aGlzLGUpLCEwfSxfZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiEwfSxkZWxlZ2F0ZVR5cGU6dH19KSxiLmVhY2goe21vdXNlZW50ZXI6XCJtb3VzZW92ZXJcIixtb3VzZWxlYXZlOlwibW91c2VvdXRcIixwb2ludGVyZW50ZXI6XCJwb2ludGVyb3ZlclwiLHBvaW50ZXJsZWF2ZTpcInBvaW50ZXJvdXRcIn0sZnVuY3Rpb24oZSx0KXtiLmV2ZW50LnNwZWNpYWxbZV09e2RlbGVnYXRlVHlwZTp0LGJpbmRUeXBlOnQsaGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciBuLHI9ZS5yZWxhdGVkVGFyZ2V0LGk9ZS5oYW5kbGVPYmo7cmV0dXJuIHImJihyPT09dGhpc3x8Yi5jb250YWlucyh0aGlzLHIpKXx8KGUudHlwZT1pLm9yaWdUeXBlLG49aS5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnR5cGU9dCksbn19fSksYi5mbi5leHRlbmQoe29uOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBFZSh0aGlzLGUsdCxuLHIpfSxvbmU6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIEVlKHRoaXMsZSx0LG4sciwxKX0sb2ZmOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpO2lmKGUmJmUucHJldmVudERlZmF1bHQmJmUuaGFuZGxlT2JqKXJldHVybiByPWUuaGFuZGxlT2JqLGIoZS5kZWxlZ2F0ZVRhcmdldCkub2ZmKHIubmFtZXNwYWNlP3Iub3JpZ1R5cGUrXCIuXCIrci5uYW1lc3BhY2U6ci5vcmlnVHlwZSxyLnNlbGVjdG9yLHIuaGFuZGxlciksdGhpcztpZihcIm9iamVjdFwiPT10eXBlb2YgZSl7Zm9yKGkgaW4gZSl0aGlzLm9mZihpLHQsZVtpXSk7cmV0dXJuIHRoaXN9cmV0dXJuITEhPT10JiZcImZ1bmN0aW9uXCIhPXR5cGVvZiB0fHwobj10LHQ9dm9pZCAwKSwhMT09PW4mJihuPVRlKSx0aGlzLmVhY2goZnVuY3Rpb24oKXtiLmV2ZW50LnJlbW92ZSh0aGlzLGUsbix0KX0pfX0pO3ZhciBrZT0vPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSxBZT0vY2hlY2tlZFxccyooPzpbXj1dfD1cXHMqLmNoZWNrZWQuKS9pLE5lPS9eXFxzKjwhKD86XFxbQ0RBVEFcXFt8LS0pfCg/OlxcXVxcXXwtLSk+XFxzKiQvZztmdW5jdGlvbiBqZShlLHQpe3JldHVybiBrKGUsXCJ0YWJsZVwiKSYmaygxMSE9PXQubm9kZVR5cGU/dDp0LmZpcnN0Q2hpbGQsXCJ0clwiKSYmYihlKS5jaGlsZHJlbihcInRib2R5XCIpWzBdfHxlfWZ1bmN0aW9uIERlKGUpe3JldHVybiBlLnR5cGU9KG51bGwhPT1lLmdldEF0dHJpYnV0ZShcInR5cGVcIikpK1wiL1wiK2UudHlwZSxlfWZ1bmN0aW9uIHFlKGUpe3JldHVyblwidHJ1ZS9cIj09PShlLnR5cGV8fFwiXCIpLnNsaWNlKDAsNSk/ZS50eXBlPWUudHlwZS5zbGljZSg1KTplLnJlbW92ZUF0dHJpYnV0ZShcInR5cGVcIiksZX1mdW5jdGlvbiBMZShlLHQpe3ZhciBuLHIsaSxvLGEscztpZigxPT09dC5ub2RlVHlwZSl7aWYoRy5oYXNEYXRhKGUpJiYocz1HLmdldChlKS5ldmVudHMpKWZvcihpIGluIEcucmVtb3ZlKHQsXCJoYW5kbGUgZXZlbnRzXCIpLHMpZm9yKG49MCxyPXNbaV0ubGVuZ3RoO248cjtuKyspYi5ldmVudC5hZGQodCxpLHNbaV1bbl0pO1kuaGFzRGF0YShlKSYmKG89WS5hY2Nlc3MoZSksYT1iLmV4dGVuZCh7fSxvKSxZLnNldCh0LGEpKX19ZnVuY3Rpb24gSGUoZSx0LG4scil7dD1vKHQpO3ZhciBpLGEscyx1LGwsYyxmPTAscD1lLmxlbmd0aCxnPXAtMSx2PXRbMF0seT1oKHYpO2lmKHl8fHA+MSYmXCJzdHJpbmdcIj09dHlwZW9mIHYmJiFkLmNoZWNrQ2xvbmUmJkFlLnRlc3QodikpcmV0dXJuIGUuZWFjaChmdW5jdGlvbihpKXt2YXIgbz1lLmVxKGkpO3kmJih0WzBdPXYuY2FsbCh0aGlzLGksby5odG1sKCkpKSxIZShvLHQsbixyKX0pO2lmKHAmJihhPShpPXhlKHQsZVswXS5vd25lckRvY3VtZW50LCExLGUscikpLmZpcnN0Q2hpbGQsMT09PWkuY2hpbGROb2Rlcy5sZW5ndGgmJihpPWEpLGF8fHIpKXtmb3IodT0ocz1iLm1hcCh2ZShpLFwic2NyaXB0XCIpLERlKSkubGVuZ3RoO2Y8cDtmKyspbD1pLGYhPT1nJiYobD1iLmNsb25lKGwsITAsITApLHUmJmIubWVyZ2Uocyx2ZShsLFwic2NyaXB0XCIpKSksbi5jYWxsKGVbZl0sbCxmKTtpZih1KWZvcihjPXNbcy5sZW5ndGgtMV0ub3duZXJEb2N1bWVudCxiLm1hcChzLHFlKSxmPTA7Zjx1O2YrKylsPXNbZl0saGUudGVzdChsLnR5cGV8fFwiXCIpJiYhRy5hY2Nlc3MobCxcImdsb2JhbEV2YWxcIikmJmIuY29udGFpbnMoYyxsKSYmKGwuc3JjJiZcIm1vZHVsZVwiIT09KGwudHlwZXx8XCJcIikudG9Mb3dlckNhc2UoKT9iLl9ldmFsVXJsJiYhbC5ub01vZHVsZSYmYi5fZXZhbFVybChsLnNyYyx7bm9uY2U6bC5ub25jZXx8bC5nZXRBdHRyaWJ1dGUoXCJub25jZVwiKX0sYyk6bShsLnRleHRDb250ZW50LnJlcGxhY2UoTmUsXCJcIiksbCxjKSl9cmV0dXJuIGV9ZnVuY3Rpb24gT2UoZSx0LG4pe2Zvcih2YXIgcixpPXQ/Yi5maWx0ZXIodCxlKTplLG89MDtudWxsIT0ocj1pW29dKTtvKyspbnx8MSE9PXIubm9kZVR5cGV8fGIuY2xlYW5EYXRhKHZlKHIpKSxyLnBhcmVudE5vZGUmJihuJiZyZShyKSYmeWUodmUocixcInNjcmlwdFwiKSksci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpKTtyZXR1cm4gZX1iLmV4dGVuZCh7aHRtbFByZWZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZX0sY2xvbmU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdSxsLGM9ZS5jbG9uZU5vZGUoITApLGY9cmUoZSk7aWYoIShkLm5vQ2xvbmVDaGVja2VkfHwxIT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlfHxiLmlzWE1MRG9jKGUpKSlmb3IoYT12ZShjKSxyPTAsaT0obz12ZShlKSkubGVuZ3RoO3I8aTtyKyspcz1vW3JdLHU9YVtyXSxsPXZvaWQgMCxcImlucHV0XCI9PT0obD11Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpJiZwZS50ZXN0KHMudHlwZSk/dS5jaGVja2VkPXMuY2hlY2tlZDpcImlucHV0XCIhPT1sJiZcInRleHRhcmVhXCIhPT1sfHwodS5kZWZhdWx0VmFsdWU9cy5kZWZhdWx0VmFsdWUpO2lmKHQpaWYobilmb3Iobz1vfHx2ZShlKSxhPWF8fHZlKGMpLHI9MCxpPW8ubGVuZ3RoO3I8aTtyKyspTGUob1tyXSxhW3JdKTtlbHNlIExlKGUsYyk7cmV0dXJuKGE9dmUoYyxcInNjcmlwdFwiKSkubGVuZ3RoPjAmJnllKGEsIWYmJnZlKGUsXCJzY3JpcHRcIikpLGN9LGNsZWFuRGF0YTpmdW5jdGlvbihlKXtmb3IodmFyIHQsbixyLGk9Yi5ldmVudC5zcGVjaWFsLG89MDt2b2lkIDAhPT0obj1lW29dKTtvKyspaWYoWChuKSl7aWYodD1uW0cuZXhwYW5kb10pe2lmKHQuZXZlbnRzKWZvcihyIGluIHQuZXZlbnRzKWlbcl0/Yi5ldmVudC5yZW1vdmUobixyKTpiLnJlbW92ZUV2ZW50KG4scix0LmhhbmRsZSk7bltHLmV4cGFuZG9dPXZvaWQgMH1uW1kuZXhwYW5kb10mJihuW1kuZXhwYW5kb109dm9pZCAwKX19fSksYi5mbi5leHRlbmQoe2RldGFjaDpmdW5jdGlvbihlKXtyZXR1cm4gT2UodGhpcyxlLCEwKX0scmVtb3ZlOmZ1bmN0aW9uKGUpe3JldHVybiBPZSh0aGlzLGUpfSx0ZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBCKHRoaXMsZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWU/Yi50ZXh0KHRoaXMpOnRoaXMuZW1wdHkoKS5lYWNoKGZ1bmN0aW9uKCl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fCh0aGlzLnRleHRDb250ZW50PWUpfSl9LG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIEhlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpezEhPT10aGlzLm5vZGVUeXBlJiYxMSE9PXRoaXMubm9kZVR5cGUmJjkhPT10aGlzLm5vZGVUeXBlfHxqZSh0aGlzLGUpLmFwcGVuZENoaWxkKGUpfSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciB0PWplKHRoaXMsZSk7dC5pbnNlcnRCZWZvcmUoZSx0LmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcy5uZXh0U2libGluZyl9KX0sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD0wO251bGwhPShlPXRoaXNbdF0pO3QrKykxPT09ZS5ub2RlVHlwZSYmKGIuY2xlYW5EYXRhKHZlKGUsITEpKSxlLnRleHRDb250ZW50PVwiXCIpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPW51bGwhPWUmJmUsdD1udWxsPT10P2U6dCx0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBiLmNsb25lKHRoaXMsZSx0KX0pfSxodG1sOmZ1bmN0aW9uKGUpe3JldHVybiBCKHRoaXMsZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc1swXXx8e30sbj0wLHI9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09ZSYmMT09PXQubm9kZVR5cGUpcmV0dXJuIHQuaW5uZXJIVE1MO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlJiYha2UudGVzdChlKSYmIWdlWyhkZS5leGVjKGUpfHxbXCJcIixcIlwiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2U9Yi5odG1sUHJlZmlsdGVyKGUpO3RyeXtmb3IoO248cjtuKyspMT09PSh0PXRoaXNbbl18fHt9KS5ub2RlVHlwZSYmKGIuY2xlYW5EYXRhKHZlKHQsITEpKSx0LmlubmVySFRNTD1lKTt0PTB9Y2F0Y2goZSl7fX10JiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGUpfSxudWxsLGUsYXJndW1lbnRzLmxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIEhlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMucGFyZW50Tm9kZTtiLmluQXJyYXkodGhpcyxlKTwwJiYoYi5jbGVhbkRhdGEodmUodGhpcykpLG4mJm4ucmVwbGFjZUNoaWxkKHQsdGhpcykpfSxlKX19KSxiLmVhY2goe2FwcGVuZFRvOlwiYXBwZW5kXCIscHJlcGVuZFRvOlwicHJlcGVuZFwiLGluc2VydEJlZm9yZTpcImJlZm9yZVwiLGluc2VydEFmdGVyOlwiYWZ0ZXJcIixyZXBsYWNlQWxsOlwicmVwbGFjZVdpdGhcIn0sZnVuY3Rpb24oZSx0KXtiLmZuW2VdPWZ1bmN0aW9uKGUpe2Zvcih2YXIgbixyPVtdLGk9YihlKSxvPWkubGVuZ3RoLTEscz0wO3M8PW87cysrKW49cz09PW8/dGhpczp0aGlzLmNsb25lKCEwKSxiKGlbc10pW3RdKG4pLGEuYXBwbHkocixuLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2socil9fSk7dmFyIFBlPW5ldyBSZWdFeHAoXCJeKFwiK1orXCIpKD8hcHgpW2EteiVdKyRcIixcImlcIiksUmU9ZnVuY3Rpb24odCl7dmFyIG49dC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O3JldHVybiBuJiZuLm9wZW5lcnx8KG49ZSksbi5nZXRDb21wdXRlZFN0eWxlKHQpfSxNZT1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXt9O2ZvcihpIGluIHQpb1tpXT1lLnN0eWxlW2ldLGUuc3R5bGVbaV09dFtpXTtmb3IoaSBpbiByPW4uY2FsbChlKSx0KWUuc3R5bGVbaV09b1tpXTtyZXR1cm4gcn0sSWU9bmV3IFJlZ0V4cCh0ZS5qb2luKFwifFwiKSxcImlcIik7ZnVuY3Rpb24gV2UoZSx0LG4pe3ZhciByLGksbyxhLHM9ZS5zdHlsZTtyZXR1cm4obj1ufHxSZShlKSkmJihcIlwiIT09KGE9bi5nZXRQcm9wZXJ0eVZhbHVlKHQpfHxuW3RdKXx8cmUoZSl8fChhPWIuc3R5bGUoZSx0KSksIWQucGl4ZWxCb3hTdHlsZXMoKSYmUGUudGVzdChhKSYmSWUudGVzdCh0KSYmKHI9cy53aWR0aCxpPXMubWluV2lkdGgsbz1zLm1heFdpZHRoLHMubWluV2lkdGg9cy5tYXhXaWR0aD1zLndpZHRoPWEsYT1uLndpZHRoLHMud2lkdGg9cixzLm1pbldpZHRoPWkscy5tYXhXaWR0aD1vKSksdm9pZCAwIT09YT9hK1wiXCI6YX1mdW5jdGlvbiBGZShlLHQpe3JldHVybntnZXQ6ZnVuY3Rpb24oKXtpZighZSgpKXJldHVybih0aGlzLmdldD10KS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZGVsZXRlIHRoaXMuZ2V0fX19IWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe2lmKGMpe2wuc3R5bGUuY3NzVGV4dD1cInBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTExMTExcHg7d2lkdGg6NjBweDttYXJnaW4tdG9wOjFweDtwYWRkaW5nOjA7Ym9yZGVyOjBcIixjLnN0eWxlLmNzc1RleHQ9XCJwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdmVyZmxvdzpzY3JvbGw7bWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo2MCU7dG9wOjElXCIsbmUuYXBwZW5kQ2hpbGQobCkuYXBwZW5kQ2hpbGQoYyk7dmFyIHQ9ZS5nZXRDb21wdXRlZFN0eWxlKGMpO3I9XCIxJVwiIT09dC50b3AsdT0xMj09PW4odC5tYXJnaW5MZWZ0KSxjLnN0eWxlLnJpZ2h0PVwiNjAlXCIsYT0zNj09PW4odC5yaWdodCksaT0zNj09PW4odC53aWR0aCksYy5zdHlsZS5wb3NpdGlvbj1cImFic29sdXRlXCIsbz0xMj09PW4oYy5vZmZzZXRXaWR0aC8zKSxuZS5yZW1vdmVDaGlsZChsKSxjPW51bGx9fWZ1bmN0aW9uIG4oZSl7cmV0dXJuIE1hdGgucm91bmQocGFyc2VGbG9hdChlKSl9dmFyIHIsaSxvLGEscyx1LGw9di5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGM9di5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Muc3R5bGUmJihjLnN0eWxlLmJhY2tncm91bmRDbGlwPVwiY29udGVudC1ib3hcIixjLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9XCJcIixkLmNsZWFyQ2xvbmVTdHlsZT1cImNvbnRlbnQtYm94XCI9PT1jLnN0eWxlLmJhY2tncm91bmRDbGlwLGIuZXh0ZW5kKGQse2JveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSxpfSxwaXhlbEJveFN0eWxlczpmdW5jdGlvbigpe3JldHVybiB0KCksYX0scGl4ZWxQb3NpdGlvbjpmdW5jdGlvbigpe3JldHVybiB0KCkscn0scmVsaWFibGVNYXJnaW5MZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSx1fSxzY3JvbGxib3hTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSxvfSxyZWxpYWJsZVRyRGltZW5zaW9uczpmdW5jdGlvbigpe3ZhciB0LG4scixpO3JldHVybiBudWxsPT1zJiYodD12LmNyZWF0ZUVsZW1lbnQoXCJ0YWJsZVwiKSxuPXYuY3JlYXRlRWxlbWVudChcInRyXCIpLHI9di5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHQuc3R5bGUuY3NzVGV4dD1cInBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTExMTExcHg7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlXCIsbi5zdHlsZS5jc3NUZXh0PVwiYm9yZGVyOjFweCBzb2xpZFwiLG4uc3R5bGUuaGVpZ2h0PVwiMXB4XCIsci5zdHlsZS5oZWlnaHQ9XCI5cHhcIixyLnN0eWxlLmRpc3BsYXk9XCJibG9ja1wiLG5lLmFwcGVuZENoaWxkKHQpLmFwcGVuZENoaWxkKG4pLmFwcGVuZENoaWxkKHIpLGk9ZS5nZXRDb21wdXRlZFN0eWxlKG4pLHM9cGFyc2VJbnQoaS5oZWlnaHQsMTApK3BhcnNlSW50KGkuYm9yZGVyVG9wV2lkdGgsMTApK3BhcnNlSW50KGkuYm9yZGVyQm90dG9tV2lkdGgsMTApPT09bi5vZmZzZXRIZWlnaHQsbmUucmVtb3ZlQ2hpbGQodCkpLHN9fSkpfSgpO3ZhciBCZT1bXCJXZWJraXRcIixcIk1velwiLFwibXNcIl0sJGU9di5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLnN0eWxlLF9lPXt9O2Z1bmN0aW9uIHplKGUpe3ZhciB0PWIuY3NzUHJvcHNbZV18fF9lW2VdO3JldHVybiB0fHwoZSBpbiAkZT9lOl9lW2VdPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lWzBdLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSxuPUJlLmxlbmd0aDtuLS07KWlmKChlPUJlW25dK3QpaW4gJGUpcmV0dXJuIGV9KGUpfHxlKX12YXIgVWU9L14obm9uZXx0YWJsZSg/IS1jW2VhXSkuKykvLFhlPS9eLS0vLFZlPXtwb3NpdGlvbjpcImFic29sdXRlXCIsdmlzaWJpbGl0eTpcImhpZGRlblwiLGRpc3BsYXk6XCJibG9ja1wifSxHZT17bGV0dGVyU3BhY2luZzpcIjBcIixmb250V2VpZ2h0OlwiNDAwXCJ9O2Z1bmN0aW9uIFllKGUsdCxuKXt2YXIgcj1lZS5leGVjKHQpO3JldHVybiByP01hdGgubWF4KDAsclsyXS0obnx8MCkpKyhyWzNdfHxcInB4XCIpOnR9ZnVuY3Rpb24gUWUoZSx0LG4scixpLG8pe3ZhciBhPVwid2lkdGhcIj09PXQ/MTowLHM9MCx1PTA7aWYobj09PShyP1wiYm9yZGVyXCI6XCJjb250ZW50XCIpKXJldHVybiAwO2Zvcig7YTw0O2ErPTIpXCJtYXJnaW5cIj09PW4mJih1Kz1iLmNzcyhlLG4rdGVbYV0sITAsaSkpLHI/KFwiY29udGVudFwiPT09biYmKHUtPWIuY3NzKGUsXCJwYWRkaW5nXCIrdGVbYV0sITAsaSkpLFwibWFyZ2luXCIhPT1uJiYodS09Yi5jc3MoZSxcImJvcmRlclwiK3RlW2FdK1wiV2lkdGhcIiwhMCxpKSkpOih1Kz1iLmNzcyhlLFwicGFkZGluZ1wiK3RlW2FdLCEwLGkpLFwicGFkZGluZ1wiIT09bj91Kz1iLmNzcyhlLFwiYm9yZGVyXCIrdGVbYV0rXCJXaWR0aFwiLCEwLGkpOnMrPWIuY3NzKGUsXCJib3JkZXJcIit0ZVthXStcIldpZHRoXCIsITAsaSkpO3JldHVybiFyJiZvPj0wJiYodSs9TWF0aC5tYXgoMCxNYXRoLmNlaWwoZVtcIm9mZnNldFwiK3RbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpXS1vLXUtcy0uNSkpfHwwKSx1fWZ1bmN0aW9uIEplKGUsdCxuKXt2YXIgcj1SZShlKSxpPSghZC5ib3hTaXppbmdSZWxpYWJsZSgpfHxuKSYmXCJib3JkZXItYm94XCI9PT1iLmNzcyhlLFwiYm94U2l6aW5nXCIsITEsciksbz1pLGE9V2UoZSx0LHIpLHM9XCJvZmZzZXRcIit0WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKTtpZihQZS50ZXN0KGEpKXtpZighbilyZXR1cm4gYTthPVwiYXV0b1wifXJldHVybighZC5ib3hTaXppbmdSZWxpYWJsZSgpJiZpfHwhZC5yZWxpYWJsZVRyRGltZW5zaW9ucygpJiZrKGUsXCJ0clwiKXx8XCJhdXRvXCI9PT1hfHwhcGFyc2VGbG9hdChhKSYmXCJpbmxpbmVcIj09PWIuY3NzKGUsXCJkaXNwbGF5XCIsITEscikpJiZlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoJiYoaT1cImJvcmRlci1ib3hcIj09PWIuY3NzKGUsXCJib3hTaXppbmdcIiwhMSxyKSwobz1zIGluIGUpJiYoYT1lW3NdKSksKGE9cGFyc2VGbG9hdChhKXx8MCkrUWUoZSx0LG58fChpP1wiYm9yZGVyXCI6XCJjb250ZW50XCIpLG8scixhKStcInB4XCJ9ZnVuY3Rpb24gS2UoZSx0LG4scixpKXtyZXR1cm4gbmV3IEtlLnByb3RvdHlwZS5pbml0KGUsdCxuLHIsaSl9Yi5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oZSx0KXtpZih0KXt2YXIgbj1XZShlLFwib3BhY2l0eVwiKTtyZXR1cm5cIlwiPT09bj9cIjFcIjpufX19fSxjc3NOdW1iZXI6e2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiEwLGNvbHVtbkNvdW50OiEwLGZpbGxPcGFjaXR5OiEwLGZsZXhHcm93OiEwLGZsZXhTaHJpbms6ITAsZm9udFdlaWdodDohMCxncmlkQXJlYTohMCxncmlkQ29sdW1uOiEwLGdyaWRDb2x1bW5FbmQ6ITAsZ3JpZENvbHVtblN0YXJ0OiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3RhcnQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7fSxzdHlsZTpmdW5jdGlvbihlLHQsbixyKXtpZihlJiYzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJmUuc3R5bGUpe3ZhciBpLG8sYSxzPVUodCksdT1YZS50ZXN0KHQpLGw9ZS5zdHlsZTtpZih1fHwodD16ZShzKSksYT1iLmNzc0hvb2tzW3RdfHxiLmNzc0hvb2tzW3NdLHZvaWQgMD09PW4pcmV0dXJuIGEmJlwiZ2V0XCJpbiBhJiZ2b2lkIDAhPT0oaT1hLmdldChlLCExLHIpKT9pOmxbdF07XCJzdHJpbmdcIj09PShvPXR5cGVvZiBuKSYmKGk9ZWUuZXhlYyhuKSkmJmlbMV0mJihuPWFlKGUsdCxpKSxvPVwibnVtYmVyXCIpLG51bGwhPW4mJm49PW4mJihcIm51bWJlclwiIT09b3x8dXx8KG4rPWkmJmlbM118fChiLmNzc051bWJlcltzXT9cIlwiOlwicHhcIikpLGQuY2xlYXJDbG9uZVN0eWxlfHxcIlwiIT09bnx8MCE9PXQuaW5kZXhPZihcImJhY2tncm91bmRcIil8fChsW3RdPVwiaW5oZXJpdFwiKSxhJiZcInNldFwiaW4gYSYmdm9pZCAwPT09KG49YS5zZXQoZSxuLHIpKXx8KHU/bC5zZXRQcm9wZXJ0eSh0LG4pOmxbdF09bikpfX0sY3NzOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzPVUodCk7cmV0dXJuIFhlLnRlc3QodCl8fCh0PXplKHMpKSwoYT1iLmNzc0hvb2tzW3RdfHxiLmNzc0hvb2tzW3NdKSYmXCJnZXRcImluIGEmJihpPWEuZ2V0KGUsITAsbikpLHZvaWQgMD09PWkmJihpPVdlKGUsdCxyKSksXCJub3JtYWxcIj09PWkmJnQgaW4gR2UmJihpPUdlW3RdKSxcIlwiPT09bnx8bj8obz1wYXJzZUZsb2F0KGkpLCEwPT09bnx8aXNGaW5pdGUobyk/b3x8MDppKTppfX0pLGIuZWFjaChbXCJoZWlnaHRcIixcIndpZHRoXCJdLGZ1bmN0aW9uKGUsdCl7Yi5jc3NIb29rc1t0XT17Z2V0OmZ1bmN0aW9uKGUsbixyKXtpZihuKXJldHVybiFVZS50ZXN0KGIuY3NzKGUsXCJkaXNwbGF5XCIpKXx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aD9KZShlLHQscik6TWUoZSxWZSxmdW5jdGlvbigpe3JldHVybiBKZShlLHQscil9KX0sc2V0OmZ1bmN0aW9uKGUsbixyKXt2YXIgaSxvPVJlKGUpLGE9IWQuc2Nyb2xsYm94U2l6ZSgpJiZcImFic29sdXRlXCI9PT1vLnBvc2l0aW9uLHM9KGF8fHIpJiZcImJvcmRlci1ib3hcIj09PWIuY3NzKGUsXCJib3hTaXppbmdcIiwhMSxvKSx1PXI/UWUoZSx0LHIscyxvKTowO3JldHVybiBzJiZhJiYodS09TWF0aC5jZWlsKGVbXCJvZmZzZXRcIit0WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKV0tcGFyc2VGbG9hdChvW3RdKS1RZShlLHQsXCJib3JkZXJcIiwhMSxvKS0uNSkpLHUmJihpPWVlLmV4ZWMobikpJiZcInB4XCIhPT0oaVszXXx8XCJweFwiKSYmKGUuc3R5bGVbdF09bixuPWIuY3NzKGUsdCkpLFllKDAsbix1KX19fSksYi5jc3NIb29rcy5tYXJnaW5MZWZ0PUZlKGQucmVsaWFibGVNYXJnaW5MZWZ0LGZ1bmN0aW9uKGUsdCl7aWYodClyZXR1cm4ocGFyc2VGbG9hdChXZShlLFwibWFyZ2luTGVmdFwiKSl8fGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1NZShlLHttYXJnaW5MZWZ0OjB9LGZ1bmN0aW9uKCl7cmV0dXJuIGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdH0pKStcInB4XCJ9KSxiLmVhY2goe21hcmdpbjpcIlwiLHBhZGRpbmc6XCJcIixib3JkZXI6XCJXaWR0aFwifSxmdW5jdGlvbihlLHQpe2IuY3NzSG9va3NbZSt0XT17ZXhwYW5kOmZ1bmN0aW9uKG4pe2Zvcih2YXIgcj0wLGk9e30sbz1cInN0cmluZ1wiPT10eXBlb2Ygbj9uLnNwbGl0KFwiIFwiKTpbbl07cjw0O3IrKylpW2UrdGVbcl0rdF09b1tyXXx8b1tyLTJdfHxvWzBdO3JldHVybiBpfX0sXCJtYXJnaW5cIiE9PWUmJihiLmNzc0hvb2tzW2UrdF0uc2V0PVllKX0pLGIuZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gQih0aGlzLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89e30sYT0wO2lmKEFycmF5LmlzQXJyYXkodCkpe2ZvcihyPVJlKGUpLGk9dC5sZW5ndGg7YTxpO2ErKylvW3RbYV1dPWIuY3NzKGUsdFthXSwhMSxyKTtyZXR1cm4gb31yZXR1cm4gdm9pZCAwIT09bj9iLnN0eWxlKGUsdCxuKTpiLmNzcyhlLHQpfSxlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX19KSxiLlR3ZWVuPUtlLEtlLnByb3RvdHlwZT17Y29uc3RydWN0b3I6S2UsaW5pdDpmdW5jdGlvbihlLHQsbixyLGksbyl7dGhpcy5lbGVtPWUsdGhpcy5wcm9wPW4sdGhpcy5lYXNpbmc9aXx8Yi5lYXNpbmcuX2RlZmF1bHQsdGhpcy5vcHRpb25zPXQsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPXIsdGhpcy51bml0PW98fChiLmNzc051bWJlcltuXT9cIlwiOlwicHhcIil9LGN1cjpmdW5jdGlvbigpe3ZhciBlPUtlLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiBlJiZlLmdldD9lLmdldCh0aGlzKTpLZS5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KHRoaXMpfSxydW46ZnVuY3Rpb24oZSl7dmFyIHQsbj1LZS5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gdGhpcy5vcHRpb25zLmR1cmF0aW9uP3RoaXMucG9zPXQ9Yi5lYXNpbmdbdGhpcy5lYXNpbmddKGUsdGhpcy5vcHRpb25zLmR1cmF0aW9uKmUsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik6dGhpcy5wb3M9dD1lLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSp0K3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLG4mJm4uc2V0P24uc2V0KHRoaXMpOktlLnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319LEtlLnByb3RvdHlwZS5pbml0LnByb3RvdHlwZT1LZS5wcm90b3R5cGUsS2UucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiAxIT09ZS5lbGVtLm5vZGVUeXBlfHxudWxsIT1lLmVsZW1bZS5wcm9wXSYmbnVsbD09ZS5lbGVtLnN0eWxlW2UucHJvcF0/ZS5lbGVtW2UucHJvcF06KHQ9Yi5jc3MoZS5lbGVtLGUucHJvcCxcIlwiKSkmJlwiYXV0b1wiIT09dD90OjB9LHNldDpmdW5jdGlvbihlKXtiLmZ4LnN0ZXBbZS5wcm9wXT9iLmZ4LnN0ZXBbZS5wcm9wXShlKToxIT09ZS5lbGVtLm5vZGVUeXBlfHwhYi5jc3NIb29rc1tlLnByb3BdJiZudWxsPT1lLmVsZW0uc3R5bGVbemUoZS5wcm9wKV0/ZS5lbGVtW2UucHJvcF09ZS5ub3c6Yi5zdHlsZShlLmVsZW0sZS5wcm9wLGUubm93K2UudW5pdCl9fX0sS2UucHJvcEhvb2tzLnNjcm9sbFRvcD1LZS5wcm9wSG9va3Muc2Nyb2xsTGVmdD17c2V0OmZ1bmN0aW9uKGUpe2UuZWxlbS5ub2RlVHlwZSYmZS5lbGVtLnBhcmVudE5vZGUmJihlLmVsZW1bZS5wcm9wXT1lLm5vdyl9fSxiLmVhc2luZz17bGluZWFyOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxzd2luZzpmdW5jdGlvbihlKXtyZXR1cm4uNS1NYXRoLmNvcyhlKk1hdGguUEkpLzJ9LF9kZWZhdWx0Olwic3dpbmdcIn0sYi5meD1LZS5wcm90b3R5cGUuaW5pdCxiLmZ4LnN0ZXA9e307dmFyIFplLGV0LHR0PS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxudD0vcXVldWVIb29rcyQvO2Z1bmN0aW9uIHJ0KCl7ZXQmJighMT09PXYuaGlkZGVuJiZlLnJlcXVlc3RBbmltYXRpb25GcmFtZT9lLnJlcXVlc3RBbmltYXRpb25GcmFtZShydCk6ZS5zZXRUaW1lb3V0KHJ0LGIuZnguaW50ZXJ2YWwpLGIuZngudGljaygpKX1mdW5jdGlvbiBpdCgpe3JldHVybiBlLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtaZT12b2lkIDB9KSxaZT1EYXRlLm5vdygpfWZ1bmN0aW9uIG90KGUsdCl7dmFyIG4scj0wLGk9e2hlaWdodDplfTtmb3IodD10PzE6MDtyPDQ7cis9Mi10KWlbXCJtYXJnaW5cIisobj10ZVtyXSldPWlbXCJwYWRkaW5nXCIrbl09ZTtyZXR1cm4gdCYmKGkub3BhY2l0eT1pLndpZHRoPWUpLGl9ZnVuY3Rpb24gYXQoZSx0LG4pe2Zvcih2YXIgcixpPShzdC50d2VlbmVyc1t0XXx8W10pLmNvbmNhdChzdC50d2VlbmVyc1tcIipcIl0pLG89MCxhPWkubGVuZ3RoO288YTtvKyspaWYocj1pW29dLmNhbGwobix0LGUpKXJldHVybiByfWZ1bmN0aW9uIHN0KGUsdCxuKXt2YXIgcixpLG89MCxhPXN0LnByZWZpbHRlcnMubGVuZ3RoLHM9Yi5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSB1LmVsZW19KSx1PWZ1bmN0aW9uKCl7aWYoaSlyZXR1cm4hMTtmb3IodmFyIHQ9WmV8fGl0KCksbj1NYXRoLm1heCgwLGwuc3RhcnRUaW1lK2wuZHVyYXRpb24tdCkscj0xLShuL2wuZHVyYXRpb258fDApLG89MCxhPWwudHdlZW5zLmxlbmd0aDtvPGE7bysrKWwudHdlZW5zW29dLnJ1bihyKTtyZXR1cm4gcy5ub3RpZnlXaXRoKGUsW2wscixuXSkscjwxJiZhP246KGF8fHMubm90aWZ5V2l0aChlLFtsLDEsMF0pLHMucmVzb2x2ZVdpdGgoZSxbbF0pLCExKX0sbD1zLnByb21pc2Uoe2VsZW06ZSxwcm9wczpiLmV4dGVuZCh7fSx0KSxvcHRzOmIuZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpiLmVhc2luZy5fZGVmYXVsdH0sbiksb3JpZ2luYWxQcm9wZXJ0aWVzOnQsb3JpZ2luYWxPcHRpb25zOm4sc3RhcnRUaW1lOlplfHxpdCgpLGR1cmF0aW9uOm4uZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKHQsbil7dmFyIHI9Yi5Ud2VlbihlLGwub3B0cyx0LG4sbC5vcHRzLnNwZWNpYWxFYXNpbmdbdF18fGwub3B0cy5lYXNpbmcpO3JldHVybiBsLnR3ZWVucy5wdXNoKHIpLHJ9LHN0b3A6ZnVuY3Rpb24odCl7dmFyIG49MCxyPXQ/bC50d2VlbnMubGVuZ3RoOjA7aWYoaSlyZXR1cm4gdGhpcztmb3IoaT0hMDtuPHI7bisrKWwudHdlZW5zW25dLnJ1bigxKTtyZXR1cm4gdD8ocy5ub3RpZnlXaXRoKGUsW2wsMSwwXSkscy5yZXNvbHZlV2l0aChlLFtsLHRdKSk6cy5yZWplY3RXaXRoKGUsW2wsdF0pLHRoaXN9fSksYz1sLnByb3BzO2ZvcighZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbyxhO2ZvcihuIGluIGUpaWYoaT10W3I9VShuKV0sbz1lW25dLEFycmF5LmlzQXJyYXkobykmJihpPW9bMV0sbz1lW25dPW9bMF0pLG4hPT1yJiYoZVtyXT1vLGRlbGV0ZSBlW25dKSwoYT1iLmNzc0hvb2tzW3JdKSYmXCJleHBhbmRcImluIGEpZm9yKG4gaW4gbz1hLmV4cGFuZChvKSxkZWxldGUgZVtyXSxvKW4gaW4gZXx8KGVbbl09b1tuXSx0W25dPWkpO2Vsc2UgdFtyXT1pfShjLGwub3B0cy5zcGVjaWFsRWFzaW5nKTtvPGE7bysrKWlmKHI9c3QucHJlZmlsdGVyc1tvXS5jYWxsKGwsZSxjLGwub3B0cykpcmV0dXJuIGgoci5zdG9wKSYmKGIuX3F1ZXVlSG9va3MobC5lbGVtLGwub3B0cy5xdWV1ZSkuc3RvcD1yLnN0b3AuYmluZChyKSkscjtyZXR1cm4gYi5tYXAoYyxhdCxsKSxoKGwub3B0cy5zdGFydCkmJmwub3B0cy5zdGFydC5jYWxsKGUsbCksbC5wcm9ncmVzcyhsLm9wdHMucHJvZ3Jlc3MpLmRvbmUobC5vcHRzLmRvbmUsbC5vcHRzLmNvbXBsZXRlKS5mYWlsKGwub3B0cy5mYWlsKS5hbHdheXMobC5vcHRzLmFsd2F5cyksYi5meC50aW1lcihiLmV4dGVuZCh1LHtlbGVtOmUsYW5pbTpsLHF1ZXVlOmwub3B0cy5xdWV1ZX0pKSxsfWIuQW5pbWF0aW9uPWIuZXh0ZW5kKHN0LHt0d2VlbmVyczp7XCIqXCI6W2Z1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5jcmVhdGVUd2VlbihlLHQpO3JldHVybiBhZShuLmVsZW0sZSxlZS5leGVjKHQpLG4pLG59XX0sdHdlZW5lcjpmdW5jdGlvbihlLHQpe2goZSk/KHQ9ZSxlPVtcIipcIl0pOmU9ZS5tYXRjaChPKTtmb3IodmFyIG4scj0wLGk9ZS5sZW5ndGg7cjxpO3IrKyluPWVbcl0sc3QudHdlZW5lcnNbbl09c3QudHdlZW5lcnNbbl18fFtdLHN0LnR3ZWVuZXJzW25dLnVuc2hpZnQodCl9LHByZWZpbHRlcnM6W2Z1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbCxjLGY9XCJ3aWR0aFwiaW4gdHx8XCJoZWlnaHRcImluIHQscD10aGlzLGQ9e30saD1lLnN0eWxlLGc9ZS5ub2RlVHlwZSYmb2UoZSksdj1HLmdldChlLFwiZnhzaG93XCIpO2ZvcihyIGluIG4ucXVldWV8fChudWxsPT0oYT1iLl9xdWV1ZUhvb2tzKGUsXCJmeFwiKSkudW5xdWV1ZWQmJihhLnVucXVldWVkPTAscz1hLmVtcHR5LmZpcmUsYS5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7YS51bnF1ZXVlZHx8cygpfSksYS51bnF1ZXVlZCsrLHAuYWx3YXlzKGZ1bmN0aW9uKCl7cC5hbHdheXMoZnVuY3Rpb24oKXthLnVucXVldWVkLS0sYi5xdWV1ZShlLFwiZnhcIikubGVuZ3RofHxhLmVtcHR5LmZpcmUoKX0pfSkpLHQpaWYoaT10W3JdLHR0LnRlc3QoaSkpe2lmKGRlbGV0ZSB0W3JdLG89b3x8XCJ0b2dnbGVcIj09PWksaT09PShnP1wiaGlkZVwiOlwic2hvd1wiKSl7aWYoXCJzaG93XCIhPT1pfHwhdnx8dm9pZCAwPT09dltyXSljb250aW51ZTtnPSEwfWRbcl09diYmdltyXXx8Yi5zdHlsZShlLHIpfWlmKCh1PSFiLmlzRW1wdHlPYmplY3QodCkpfHwhYi5pc0VtcHR5T2JqZWN0KGQpKWZvcihyIGluIGYmJjE9PT1lLm5vZGVUeXBlJiYobi5vdmVyZmxvdz1baC5vdmVyZmxvdyxoLm92ZXJmbG93WCxoLm92ZXJmbG93WV0sbnVsbD09KGw9diYmdi5kaXNwbGF5KSYmKGw9Ry5nZXQoZSxcImRpc3BsYXlcIikpLFwibm9uZVwiPT09KGM9Yi5jc3MoZSxcImRpc3BsYXlcIikpJiYobD9jPWw6KGxlKFtlXSwhMCksbD1lLnN0eWxlLmRpc3BsYXl8fGwsYz1iLmNzcyhlLFwiZGlzcGxheVwiKSxsZShbZV0pKSksKFwiaW5saW5lXCI9PT1jfHxcImlubGluZS1ibG9ja1wiPT09YyYmbnVsbCE9bCkmJlwibm9uZVwiPT09Yi5jc3MoZSxcImZsb2F0XCIpJiYodXx8KHAuZG9uZShmdW5jdGlvbigpe2guZGlzcGxheT1sfSksbnVsbD09bCYmKGM9aC5kaXNwbGF5LGw9XCJub25lXCI9PT1jP1wiXCI6YykpLGguZGlzcGxheT1cImlubGluZS1ibG9ja1wiKSksbi5vdmVyZmxvdyYmKGgub3ZlcmZsb3c9XCJoaWRkZW5cIixwLmFsd2F5cyhmdW5jdGlvbigpe2gub3ZlcmZsb3c9bi5vdmVyZmxvd1swXSxoLm92ZXJmbG93WD1uLm92ZXJmbG93WzFdLGgub3ZlcmZsb3dZPW4ub3ZlcmZsb3dbMl19KSksdT0hMSxkKXV8fCh2P1wiaGlkZGVuXCJpbiB2JiYoZz12LmhpZGRlbik6dj1HLmFjY2VzcyhlLFwiZnhzaG93XCIse2Rpc3BsYXk6bH0pLG8mJih2LmhpZGRlbj0hZyksZyYmbGUoW2VdLCEwKSxwLmRvbmUoZnVuY3Rpb24oKXtmb3IociBpbiBnfHxsZShbZV0pLEcucmVtb3ZlKGUsXCJmeHNob3dcIiksZCliLnN0eWxlKGUscixkW3JdKX0pKSx1PWF0KGc/dltyXTowLHIscCksciBpbiB2fHwodltyXT11LnN0YXJ0LGcmJih1LmVuZD11LnN0YXJ0LHUuc3RhcnQ9MCkpfV0scHJlZmlsdGVyOmZ1bmN0aW9uKGUsdCl7dD9zdC5wcmVmaWx0ZXJzLnVuc2hpZnQoZSk6c3QucHJlZmlsdGVycy5wdXNoKGUpfX0pLGIuc3BlZWQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUmJlwib2JqZWN0XCI9PXR5cGVvZiBlP2IuZXh0ZW5kKHt9LGUpOntjb21wbGV0ZTpufHwhbiYmdHx8aChlKSYmZSxkdXJhdGlvbjplLGVhc2luZzpuJiZ0fHx0JiYhaCh0KSYmdH07cmV0dXJuIGIuZngub2ZmP3IuZHVyYXRpb249MDpcIm51bWJlclwiIT10eXBlb2Ygci5kdXJhdGlvbiYmKHIuZHVyYXRpb24gaW4gYi5meC5zcGVlZHM/ci5kdXJhdGlvbj1iLmZ4LnNwZWVkc1tyLmR1cmF0aW9uXTpyLmR1cmF0aW9uPWIuZnguc3BlZWRzLl9kZWZhdWx0KSxudWxsIT1yLnF1ZXVlJiYhMCE9PXIucXVldWV8fChyLnF1ZXVlPVwiZnhcIiksci5vbGQ9ci5jb21wbGV0ZSxyLmNvbXBsZXRlPWZ1bmN0aW9uKCl7aChyLm9sZCkmJnIub2xkLmNhbGwodGhpcyksci5xdWV1ZSYmYi5kZXF1ZXVlKHRoaXMsci5xdWV1ZSl9LHJ9LGIuZm4uZXh0ZW5kKHtmYWRlVG86ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMuZmlsdGVyKG9lKS5jc3MoXCJvcGFjaXR5XCIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6dH0sZSxuLHIpfSxhbmltYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPWIuaXNFbXB0eU9iamVjdChlKSxvPWIuc3BlZWQodCxuLHIpLGE9ZnVuY3Rpb24oKXt2YXIgdD1zdCh0aGlzLGIuZXh0ZW5kKHt9LGUpLG8pOyhpfHxHLmdldCh0aGlzLFwiZmluaXNoXCIpKSYmdC5zdG9wKCEwKX07cmV0dXJuIGEuZmluaXNoPWEsaXx8ITE9PT1vLnF1ZXVlP3RoaXMuZWFjaChhKTp0aGlzLnF1ZXVlKG8ucXVldWUsYSl9LHN0b3A6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc3RvcDtkZWxldGUgZS5zdG9wLHQobil9O3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBlJiYobj10LHQ9ZSxlPXZvaWQgMCksdCYmdGhpcy5xdWV1ZShlfHxcImZ4XCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PSEwLGk9bnVsbCE9ZSYmZStcInF1ZXVlSG9va3NcIixvPWIudGltZXJzLGE9Ry5nZXQodGhpcyk7aWYoaSlhW2ldJiZhW2ldLnN0b3AmJnIoYVtpXSk7ZWxzZSBmb3IoaSBpbiBhKWFbaV0mJmFbaV0uc3RvcCYmbnQudGVzdChpKSYmcihhW2ldKTtmb3IoaT1vLmxlbmd0aDtpLS07KW9baV0uZWxlbSE9PXRoaXN8fG51bGwhPWUmJm9baV0ucXVldWUhPT1lfHwob1tpXS5hbmltLnN0b3AobiksdD0hMSxvLnNwbGljZShpLDEpKTshdCYmbnx8Yi5kZXF1ZXVlKHRoaXMsZSl9KX0sZmluaXNoOmZ1bmN0aW9uKGUpe3JldHVybiExIT09ZSYmKGU9ZXx8XCJmeFwiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdCxuPUcuZ2V0KHRoaXMpLHI9bltlK1wicXVldWVcIl0saT1uW2UrXCJxdWV1ZUhvb2tzXCJdLG89Yi50aW1lcnMsYT1yP3IubGVuZ3RoOjA7Zm9yKG4uZmluaXNoPSEwLGIucXVldWUodGhpcyxlLFtdKSxpJiZpLnN0b3AmJmkuc3RvcC5jYWxsKHRoaXMsITApLHQ9by5sZW5ndGg7dC0tOylvW3RdLmVsZW09PT10aGlzJiZvW3RdLnF1ZXVlPT09ZSYmKG9bdF0uYW5pbS5zdG9wKCEwKSxvLnNwbGljZSh0LDEpKTtmb3IodD0wO3Q8YTt0Kyspclt0XSYmclt0XS5maW5pc2gmJnJbdF0uZmluaXNoLmNhbGwodGhpcyk7ZGVsZXRlIG4uZmluaXNofSl9fSksYi5lYWNoKFtcInRvZ2dsZVwiLFwic2hvd1wiLFwiaGlkZVwiXSxmdW5jdGlvbihlLHQpe3ZhciBuPWIuZm5bdF07Yi5mblt0XT1mdW5jdGlvbihlLHIsaSl7cmV0dXJuIG51bGw9PWV8fFwiYm9vbGVhblwiPT10eXBlb2YgZT9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUob3QodCwhMCksZSxyLGkpfX0pLGIuZWFjaCh7c2xpZGVEb3duOm90KFwic2hvd1wiKSxzbGlkZVVwOm90KFwiaGlkZVwiKSxzbGlkZVRvZ2dsZTpvdChcInRvZ2dsZVwiKSxmYWRlSW46e29wYWNpdHk6XCJzaG93XCJ9LGZhZGVPdXQ6e29wYWNpdHk6XCJoaWRlXCJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6XCJ0b2dnbGVcIn19LGZ1bmN0aW9uKGUsdCl7Yi5mbltlXT1mdW5jdGlvbihlLG4scil7cmV0dXJuIHRoaXMuYW5pbWF0ZSh0LGUsbixyKX19KSxiLnRpbWVycz1bXSxiLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgZSx0PTAsbj1iLnRpbWVycztmb3IoWmU9RGF0ZS5ub3coKTt0PG4ubGVuZ3RoO3QrKykoZT1uW3RdKSgpfHxuW3RdIT09ZXx8bi5zcGxpY2UodC0tLDEpO24ubGVuZ3RofHxiLmZ4LnN0b3AoKSxaZT12b2lkIDB9LGIuZngudGltZXI9ZnVuY3Rpb24oZSl7Yi50aW1lcnMucHVzaChlKSxiLmZ4LnN0YXJ0KCl9LGIuZnguaW50ZXJ2YWw9MTMsYi5meC5zdGFydD1mdW5jdGlvbigpe2V0fHwoZXQ9ITAscnQoKSl9LGIuZnguc3RvcD1mdW5jdGlvbigpe2V0PW51bGx9LGIuZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LGIuZm4uZGVsYXk9ZnVuY3Rpb24odCxuKXtyZXR1cm4gdD1iLmZ4JiZiLmZ4LnNwZWVkc1t0XXx8dCxuPW58fFwiZnhcIix0aGlzLnF1ZXVlKG4sZnVuY3Rpb24obixyKXt2YXIgaT1lLnNldFRpbWVvdXQobix0KTtyLnN0b3A9ZnVuY3Rpb24oKXtlLmNsZWFyVGltZW91dChpKX19KX0sZnVuY3Rpb24oKXt2YXIgZT12LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKSx0PXYuY3JlYXRlRWxlbWVudChcInNlbGVjdFwiKS5hcHBlbmRDaGlsZCh2LmNyZWF0ZUVsZW1lbnQoXCJvcHRpb25cIikpO2UudHlwZT1cImNoZWNrYm94XCIsZC5jaGVja09uPVwiXCIhPT1lLnZhbHVlLGQub3B0U2VsZWN0ZWQ9dC5zZWxlY3RlZCwoZT12LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKSkudmFsdWU9XCJ0XCIsZS50eXBlPVwicmFkaW9cIixkLnJhZGlvVmFsdWU9XCJ0XCI9PT1lLnZhbHVlfSgpO3ZhciB1dCxsdD1iLmV4cHIuYXR0ckhhbmRsZTtiLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiBCKHRoaXMsYi5hdHRyLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtiLnJlbW92ZUF0dHIodGhpcyxlKX0pfX0pLGIuZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89ZS5ub2RlVHlwZTtpZigzIT09byYmOCE9PW8mJjIhPT1vKXJldHVybiB2b2lkIDA9PT1lLmdldEF0dHJpYnV0ZT9iLnByb3AoZSx0LG4pOigxPT09byYmYi5pc1hNTERvYyhlKXx8KGk9Yi5hdHRySG9va3NbdC50b0xvd2VyQ2FzZSgpXXx8KGIuZXhwci5tYXRjaC5ib29sLnRlc3QodCk/dXQ6dm9pZCAwKSksdm9pZCAwIT09bj9udWxsPT09bj92b2lkIGIucmVtb3ZlQXR0cihlLHQpOmkmJlwic2V0XCJpbiBpJiZ2b2lkIDAhPT0ocj1pLnNldChlLG4sdCkpP3I6KGUuc2V0QXR0cmlidXRlKHQsbitcIlwiKSxuKTppJiZcImdldFwiaW4gaSYmbnVsbCE9PShyPWkuZ2V0KGUsdCkpP3I6bnVsbD09KHI9Yi5maW5kLmF0dHIoZSx0KSk/dm9pZCAwOnIpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihlLHQpe2lmKCFkLnJhZGlvVmFsdWUmJlwicmFkaW9cIj09PXQmJmsoZSxcImlucHV0XCIpKXt2YXIgbj1lLnZhbHVlO3JldHVybiBlLnNldEF0dHJpYnV0ZShcInR5cGVcIix0KSxuJiYoZS52YWx1ZT1uKSx0fX19fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wLGk9dCYmdC5tYXRjaChPKTtpZihpJiYxPT09ZS5ub2RlVHlwZSlmb3IoO249aVtyKytdOyllLnJlbW92ZUF0dHJpYnV0ZShuKX19KSx1dD17c2V0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4hMT09PXQ/Yi5yZW1vdmVBdHRyKGUsbik6ZS5zZXRBdHRyaWJ1dGUobixuKSxufX0sYi5lYWNoKGIuZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXFx3Ky9nKSxmdW5jdGlvbihlLHQpe3ZhciBuPWx0W3RdfHxiLmZpbmQuYXR0cjtsdFt0XT1mdW5jdGlvbihlLHQscil7dmFyIGksbyxhPXQudG9Mb3dlckNhc2UoKTtyZXR1cm4gcnx8KG89bHRbYV0sbHRbYV09aSxpPW51bGwhPW4oZSx0LHIpP2E6bnVsbCxsdFthXT1vKSxpfX0pO3ZhciBjdD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLGZ0PS9eKD86YXxhcmVhKSQvaTtmdW5jdGlvbiBwdChlKXtyZXR1cm4oZS5tYXRjaChPKXx8W10pLmpvaW4oXCIgXCIpfWZ1bmN0aW9uIGR0KGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSYmZS5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIn1mdW5jdGlvbiBodChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lOlwic3RyaW5nXCI9PXR5cGVvZiBlJiZlLm1hdGNoKE8pfHxbXX1iLmZuLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihlLHQpe3JldHVybiBCKHRoaXMsYi5wcm9wLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtkZWxldGUgdGhpc1tiLnByb3BGaXhbZV18fGVdfSl9fSksYi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz1lLm5vZGVUeXBlO2lmKDMhPT1vJiY4IT09byYmMiE9PW8pcmV0dXJuIDE9PT1vJiZiLmlzWE1MRG9jKGUpfHwodD1iLnByb3BGaXhbdF18fHQsaT1iLnByb3BIb29rc1t0XSksdm9pZCAwIT09bj9pJiZcInNldFwiaW4gaSYmdm9pZCAwIT09KHI9aS5zZXQoZSxuLHQpKT9yOmVbdF09bjppJiZcImdldFwiaW4gaSYmbnVsbCE9PShyPWkuZ2V0KGUsdCkpP3I6ZVt0XX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWIuZmluZC5hdHRyKGUsXCJ0YWJpbmRleFwiKTtyZXR1cm4gdD9wYXJzZUludCh0LDEwKTpjdC50ZXN0KGUubm9kZU5hbWUpfHxmdC50ZXN0KGUubm9kZU5hbWUpJiZlLmhyZWY/MDotMX19fSxwcm9wRml4Ontmb3I6XCJodG1sRm9yXCIsY2xhc3M6XCJjbGFzc05hbWVcIn19KSxkLm9wdFNlbGVjdGVkfHwoYi5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQmJnQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsbnVsbH0sc2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTt0JiYodC5zZWxlY3RlZEluZGV4LHQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfX0pLGIuZWFjaChbXCJ0YWJJbmRleFwiLFwicmVhZE9ubHlcIixcIm1heExlbmd0aFwiLFwiY2VsbFNwYWNpbmdcIixcImNlbGxQYWRkaW5nXCIsXCJyb3dTcGFuXCIsXCJjb2xTcGFuXCIsXCJ1c2VNYXBcIixcImZyYW1lQm9yZGVyXCIsXCJjb250ZW50RWRpdGFibGVcIl0sZnVuY3Rpb24oKXtiLnByb3BGaXhbdGhpcy50b0xvd2VyQ2FzZSgpXT10aGlzfSksYi5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYSxzLHU9MDtpZihoKGUpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odCl7Yih0aGlzKS5hZGRDbGFzcyhlLmNhbGwodGhpcyx0LGR0KHRoaXMpKSl9KTtpZigodD1odChlKSkubGVuZ3RoKWZvcig7bj10aGlzW3UrK107KWlmKGk9ZHQobikscj0xPT09bi5ub2RlVHlwZSYmXCIgXCIrcHQoaSkrXCIgXCIpe2ZvcihhPTA7bz10W2ErK107KXIuaW5kZXhPZihcIiBcIitvK1wiIFwiKTwwJiYocis9bytcIiBcIik7aSE9PShzPXB0KHIpKSYmbi5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLHMpfXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbihlKXt2YXIgdCxuLHIsaSxvLGEscyx1PTA7aWYoaChlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHQpe2IodGhpcykucmVtb3ZlQ2xhc3MoZS5jYWxsKHRoaXMsdCxkdCh0aGlzKSkpfSk7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuYXR0cihcImNsYXNzXCIsXCJcIik7aWYoKHQ9aHQoZSkpLmxlbmd0aClmb3IoO249dGhpc1t1KytdOylpZihpPWR0KG4pLHI9MT09PW4ubm9kZVR5cGUmJlwiIFwiK3B0KGkpK1wiIFwiKXtmb3IoYT0wO289dFthKytdOylmb3IoO3IuaW5kZXhPZihcIiBcIitvK1wiIFwiKT4tMTspcj1yLnJlcGxhY2UoXCIgXCIrbytcIiBcIixcIiBcIik7aSE9PShzPXB0KHIpKSYmbi5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLHMpfXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihlLHQpe3ZhciBuPXR5cGVvZiBlLHI9XCJzdHJpbmdcIj09PW58fEFycmF5LmlzQXJyYXkoZSk7cmV0dXJuXCJib29sZWFuXCI9PXR5cGVvZiB0JiZyP3Q/dGhpcy5hZGRDbGFzcyhlKTp0aGlzLnJlbW92ZUNsYXNzKGUpOmgoZSk/dGhpcy5lYWNoKGZ1bmN0aW9uKG4pe2IodGhpcykudG9nZ2xlQ2xhc3MoZS5jYWxsKHRoaXMsbixkdCh0aGlzKSx0KSx0KX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0LGksbyxhO2lmKHIpZm9yKGk9MCxvPWIodGhpcyksYT1odChlKTt0PWFbaSsrXTspby5oYXNDbGFzcyh0KT9vLnJlbW92ZUNsYXNzKHQpOm8uYWRkQ2xhc3ModCk7ZWxzZSB2b2lkIDAhPT1lJiZcImJvb2xlYW5cIiE9PW58fCgodD1kdCh0aGlzKSkmJkcuc2V0KHRoaXMsXCJfX2NsYXNzTmFtZV9fXCIsdCksdGhpcy5zZXRBdHRyaWJ1dGUmJnRoaXMuc2V0QXR0cmlidXRlKFwiY2xhc3NcIix0fHwhMT09PWU/XCJcIjpHLmdldCh0aGlzLFwiX19jbGFzc05hbWVfX1wiKXx8XCJcIikpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj0wO2Zvcih0PVwiIFwiK2UrXCIgXCI7bj10aGlzW3IrK107KWlmKDE9PT1uLm5vZGVUeXBlJiYoXCIgXCIrcHQoZHQobikpK1wiIFwiKS5pbmRleE9mKHQpPi0xKXJldHVybiEwO3JldHVybiExfX0pO3ZhciBndD0vXFxyL2c7Yi5mbi5leHRlbmQoe3ZhbDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsaT10aGlzWzBdO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPWgoZSksdGhpcy5lYWNoKGZ1bmN0aW9uKG4pe3ZhciBpOzE9PT10aGlzLm5vZGVUeXBlJiYobnVsbD09KGk9cj9lLmNhbGwodGhpcyxuLGIodGhpcykudmFsKCkpOmUpP2k9XCJcIjpcIm51bWJlclwiPT10eXBlb2YgaT9pKz1cIlwiOkFycmF5LmlzQXJyYXkoaSkmJihpPWIubWFwKGksZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/XCJcIjplK1wiXCJ9KSksKHQ9Yi52YWxIb29rc1t0aGlzLnR5cGVdfHxiLnZhbEhvb2tzW3RoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiZcInNldFwiaW4gdCYmdm9pZCAwIT09dC5zZXQodGhpcyxpLFwidmFsdWVcIil8fCh0aGlzLnZhbHVlPWkpKX0pKTppPyh0PWIudmFsSG9va3NbaS50eXBlXXx8Yi52YWxIb29rc1tpLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmXCJnZXRcImluIHQmJnZvaWQgMCE9PShuPXQuZ2V0KGksXCJ2YWx1ZVwiKSk/bjpcInN0cmluZ1wiPT10eXBlb2Yobj1pLnZhbHVlKT9uLnJlcGxhY2UoZ3QsXCJcIik6bnVsbD09bj9cIlwiOm46dm9pZCAwfX0pLGIuZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9Yi5maW5kLmF0dHIoZSxcInZhbHVlXCIpO3JldHVybiBudWxsIT10P3Q6cHQoYi50ZXh0KGUpKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpPWUub3B0aW9ucyxvPWUuc2VsZWN0ZWRJbmRleCxhPVwic2VsZWN0LW9uZVwiPT09ZS50eXBlLHM9YT9udWxsOltdLHU9YT9vKzE6aS5sZW5ndGg7Zm9yKHI9bzwwP3U6YT9vOjA7cjx1O3IrKylpZigoKG49aVtyXSkuc2VsZWN0ZWR8fHI9PT1vKSYmIW4uZGlzYWJsZWQmJighbi5wYXJlbnROb2RlLmRpc2FibGVkfHwhayhuLnBhcmVudE5vZGUsXCJvcHRncm91cFwiKSkpe2lmKHQ9YihuKS52YWwoKSxhKXJldHVybiB0O3MucHVzaCh0KX1yZXR1cm4gc30sc2V0OmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuLHIsaT1lLm9wdGlvbnMsbz1iLm1ha2VBcnJheSh0KSxhPWkubGVuZ3RoO2EtLTspKChyPWlbYV0pLnNlbGVjdGVkPWIuaW5BcnJheShiLnZhbEhvb2tzLm9wdGlvbi5nZXQociksbyk+LTEpJiYobj0hMCk7cmV0dXJuIG58fChlLnNlbGVjdGVkSW5kZXg9LTEpLG99fX19KSxiLmVhY2goW1wicmFkaW9cIixcImNoZWNrYm94XCJdLGZ1bmN0aW9uKCl7Yi52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGUsdCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gZS5jaGVja2VkPWIuaW5BcnJheShiKGUpLnZhbCgpLHQpPi0xfX0sZC5jaGVja09ufHwoYi52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lLmdldEF0dHJpYnV0ZShcInZhbHVlXCIpP1wib25cIjplLnZhbHVlfSl9KSxkLmZvY3VzaW49XCJvbmZvY3VzaW5cImluIGU7dmFyIHZ0PS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyx5dD1mdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbigpfTtiLmV4dGVuZChiLmV2ZW50LHt0cmlnZ2VyOmZ1bmN0aW9uKHQsbixyLGkpe3ZhciBvLGEscyx1LGwsZixwLGQseT1bcnx8dl0sbT1jLmNhbGwodCxcInR5cGVcIik/dC50eXBlOnQseD1jLmNhbGwodCxcIm5hbWVzcGFjZVwiKT90Lm5hbWVzcGFjZS5zcGxpdChcIi5cIik6W107aWYoYT1kPXM9cj1yfHx2LDMhPT1yLm5vZGVUeXBlJiY4IT09ci5ub2RlVHlwZSYmIXZ0LnRlc3QobStiLmV2ZW50LnRyaWdnZXJlZCkmJihtLmluZGV4T2YoXCIuXCIpPi0xJiYoeD1tLnNwbGl0KFwiLlwiKSxtPXguc2hpZnQoKSx4LnNvcnQoKSksbD1tLmluZGV4T2YoXCI6XCIpPDAmJlwib25cIittLCh0PXRbYi5leHBhbmRvXT90Om5ldyBiLkV2ZW50KG0sXCJvYmplY3RcIj09dHlwZW9mIHQmJnQpKS5pc1RyaWdnZXI9aT8yOjMsdC5uYW1lc3BhY2U9eC5qb2luKFwiLlwiKSx0LnJuYW1lc3BhY2U9dC5uYW1lc3BhY2U/bmV3IFJlZ0V4cChcIihefFxcXFwuKVwiK3guam9pbihcIlxcXFwuKD86LipcXFxcLnwpXCIpK1wiKFxcXFwufCQpXCIpOm51bGwsdC5yZXN1bHQ9dm9pZCAwLHQudGFyZ2V0fHwodC50YXJnZXQ9ciksbj1udWxsPT1uP1t0XTpiLm1ha2VBcnJheShuLFt0XSkscD1iLmV2ZW50LnNwZWNpYWxbbV18fHt9LGl8fCFwLnRyaWdnZXJ8fCExIT09cC50cmlnZ2VyLmFwcGx5KHIsbikpKXtpZighaSYmIXAubm9CdWJibGUmJiFnKHIpKXtmb3IodT1wLmRlbGVnYXRlVHlwZXx8bSx2dC50ZXN0KHUrbSl8fChhPWEucGFyZW50Tm9kZSk7YTthPWEucGFyZW50Tm9kZSl5LnB1c2goYSkscz1hO3M9PT0oci5vd25lckRvY3VtZW50fHx2KSYmeS5wdXNoKHMuZGVmYXVsdFZpZXd8fHMucGFyZW50V2luZG93fHxlKX1mb3Iobz0wOyhhPXlbbysrXSkmJiF0LmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7KWQ9YSx0LnR5cGU9bz4xP3U6cC5iaW5kVHlwZXx8bSwoZj0oRy5nZXQoYSxcImV2ZW50c1wiKXx8T2JqZWN0LmNyZWF0ZShudWxsKSlbdC50eXBlXSYmRy5nZXQoYSxcImhhbmRsZVwiKSkmJmYuYXBwbHkoYSxuKSwoZj1sJiZhW2xdKSYmZi5hcHBseSYmWChhKSYmKHQucmVzdWx0PWYuYXBwbHkoYSxuKSwhMT09PXQucmVzdWx0JiZ0LnByZXZlbnREZWZhdWx0KCkpO3JldHVybiB0LnR5cGU9bSxpfHx0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHxwLl9kZWZhdWx0JiYhMSE9PXAuX2RlZmF1bHQuYXBwbHkoeS5wb3AoKSxuKXx8IVgocil8fGwmJmgoclttXSkmJiFnKHIpJiYoKHM9cltsXSkmJihyW2xdPW51bGwpLGIuZXZlbnQudHJpZ2dlcmVkPW0sdC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpJiZkLmFkZEV2ZW50TGlzdGVuZXIobSx5dCksclttXSgpLHQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSYmZC5yZW1vdmVFdmVudExpc3RlbmVyKG0seXQpLGIuZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCxzJiYocltsXT1zKSksdC5yZXN1bHR9fSxzaW11bGF0ZTpmdW5jdGlvbihlLHQsbil7dmFyIHI9Yi5leHRlbmQobmV3IGIuRXZlbnQsbix7dHlwZTplLGlzU2ltdWxhdGVkOiEwfSk7Yi5ldmVudC50cmlnZ2VyKHIsbnVsbCx0KX19KSxiLmZuLmV4dGVuZCh7dHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtiLmV2ZW50LnRyaWdnZXIoZSx0LHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpc1swXTtpZihuKXJldHVybiBiLmV2ZW50LnRyaWdnZXIoZSx0LG4sITApfX0pLGQuZm9jdXNpbnx8Yi5lYWNoKHtmb2N1czpcImZvY3VzaW5cIixibHVyOlwiZm9jdXNvdXRcIn0sZnVuY3Rpb24oZSx0KXt2YXIgbj1mdW5jdGlvbihlKXtiLmV2ZW50LnNpbXVsYXRlKHQsZS50YXJnZXQsYi5ldmVudC5maXgoZSkpfTtiLmV2ZW50LnNwZWNpYWxbdF09e3NldHVwOmZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLmRvY3VtZW50fHx0aGlzLGk9Ry5hY2Nlc3Mocix0KTtpfHxyLmFkZEV2ZW50TGlzdGVuZXIoZSxuLCEwKSxHLmFjY2VzcyhyLHQsKGl8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciByPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcy5kb2N1bWVudHx8dGhpcyxpPUcuYWNjZXNzKHIsdCktMTtpP0cuYWNjZXNzKHIsdCxpKTooci5yZW1vdmVFdmVudExpc3RlbmVyKGUsbiwhMCksRy5yZW1vdmUocix0KSl9fX0pO3ZhciBtdD1lLmxvY2F0aW9uLHh0PXtndWlkOkRhdGUubm93KCl9LGJ0PS9cXD8vO2IucGFyc2VYTUw9ZnVuY3Rpb24odCl7dmFyIG4scjtpZighdHx8XCJzdHJpbmdcIiE9dHlwZW9mIHQpcmV0dXJuIG51bGw7dHJ5e249KG5ldyBlLkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKHQsXCJ0ZXh0L3htbFwiKX1jYXRjaChlKXt9cmV0dXJuIHI9biYmbi5nZXRFbGVtZW50c0J5VGFnTmFtZShcInBhcnNlcmVycm9yXCIpWzBdLG4mJiFyfHxiLmVycm9yKFwiSW52YWxpZCBYTUw6IFwiKyhyP2IubWFwKHIuY2hpbGROb2RlcyxmdW5jdGlvbihlKXtyZXR1cm4gZS50ZXh0Q29udGVudH0pLmpvaW4oXCJcXG5cIik6dCkpLG59O3ZhciB3dD0vXFxbXFxdJC8sVHQ9L1xccj9cXG4vZyxDdD0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksRXQ9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIFN0KGUsdCxuLHIpe3ZhciBpO2lmKEFycmF5LmlzQXJyYXkodCkpYi5lYWNoKHQsZnVuY3Rpb24odCxpKXtufHx3dC50ZXN0KGUpP3IoZSxpKTpTdChlK1wiW1wiKyhcIm9iamVjdFwiPT10eXBlb2YgaSYmbnVsbCE9aT90OlwiXCIpK1wiXVwiLGksbixyKX0pO2Vsc2UgaWYobnx8XCJvYmplY3RcIiE9PXgodCkpcihlLHQpO2Vsc2UgZm9yKGkgaW4gdClTdChlK1wiW1wiK2krXCJdXCIsdFtpXSxuLHIpfWIucGFyYW09ZnVuY3Rpb24oZSx0KXt2YXIgbixyPVtdLGk9ZnVuY3Rpb24oZSx0KXt2YXIgbj1oKHQpP3QoKTp0O3Jbci5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChlKStcIj1cIitlbmNvZGVVUklDb21wb25lbnQobnVsbD09bj9cIlwiOm4pfTtpZihudWxsPT1lKXJldHVyblwiXCI7aWYoQXJyYXkuaXNBcnJheShlKXx8ZS5qcXVlcnkmJiFiLmlzUGxhaW5PYmplY3QoZSkpYi5lYWNoKGUsZnVuY3Rpb24oKXtpKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKG4gaW4gZSlTdChuLGVbbl0sdCxpKTtyZXR1cm4gci5qb2luKFwiJlwiKX0sYi5mbi5leHRlbmQoe3NlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBiLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9Yi5wcm9wKHRoaXMsXCJlbGVtZW50c1wiKTtyZXR1cm4gZT9iLm1ha2VBcnJheShlKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFiKHRoaXMpLmlzKFwiOmRpc2FibGVkXCIpJiZFdC50ZXN0KHRoaXMubm9kZU5hbWUpJiYhQ3QudGVzdChlKSYmKHRoaXMuY2hlY2tlZHx8IXBlLnRlc3QoZSkpfSkubWFwKGZ1bmN0aW9uKGUsdCl7dmFyIG49Yih0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09bj9udWxsOkFycmF5LmlzQXJyYXkobik/Yi5tYXAobixmdW5jdGlvbihlKXtyZXR1cm57bmFtZTp0Lm5hbWUsdmFsdWU6ZS5yZXBsYWNlKFR0LFwiXFxyXFxuXCIpfX0pOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2UoVHQsXCJcXHJcXG5cIil9fSkuZ2V0KCl9fSk7dmFyIGt0PS8lMjAvZyxBdD0vIy4qJC8sTnQ9LyhbPyZdKV89W14mXSovLGp0PS9eKC4qPyk6WyBcXHRdKihbXlxcclxcbl0qKSQvZ20sRHQ9L14oPzpHRVR8SEVBRCkkLyxxdD0vXlxcL1xcLy8sTHQ9e30sSHQ9e30sT3Q9XCIqL1wiLmNvbmNhdChcIipcIiksUHQ9di5jcmVhdGVFbGVtZW50KFwiYVwiKTtmdW5jdGlvbiBSdChlKXtyZXR1cm4gZnVuY3Rpb24odCxuKXtcInN0cmluZ1wiIT10eXBlb2YgdCYmKG49dCx0PVwiKlwiKTt2YXIgcixpPTAsbz10LnRvTG93ZXJDYXNlKCkubWF0Y2goTyl8fFtdO2lmKGgobikpZm9yKDtyPW9baSsrXTspXCIrXCI9PT1yWzBdPyhyPXIuc2xpY2UoMSl8fFwiKlwiLChlW3JdPWVbcl18fFtdKS51bnNoaWZ0KG4pKTooZVtyXT1lW3JdfHxbXSkucHVzaChuKX19ZnVuY3Rpb24gTXQoZSx0LG4scil7dmFyIGk9e30sbz1lPT09SHQ7ZnVuY3Rpb24gYShzKXt2YXIgdTtyZXR1cm4gaVtzXT0hMCxiLmVhY2goZVtzXXx8W10sZnVuY3Rpb24oZSxzKXt2YXIgbD1zKHQsbixyKTtyZXR1cm5cInN0cmluZ1wiIT10eXBlb2YgbHx8b3x8aVtsXT9vPyEodT1sKTp2b2lkIDA6KHQuZGF0YVR5cGVzLnVuc2hpZnQobCksYShsKSwhMSl9KSx1fXJldHVybiBhKHQuZGF0YVR5cGVzWzBdKXx8IWlbXCIqXCJdJiZhKFwiKlwiKX1mdW5jdGlvbiBJdChlLHQpe3ZhciBuLHIsaT1iLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKG4gaW4gdCl2b2lkIDAhPT10W25dJiYoKGlbbl0/ZTpyfHwocj17fSkpW25dPXRbbl0pO3JldHVybiByJiZiLmV4dGVuZCghMCxlLHIpLGV9UHQuaHJlZj1tdC5ocmVmLGIuZXh0ZW5kKHthY3RpdmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fSxhamF4U2V0dGluZ3M6e3VybDptdC5ocmVmLHR5cGU6XCJHRVRcIixpc0xvY2FsOi9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLnRlc3QobXQucHJvdG9jb2wpLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZTpcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOFwiLGFjY2VwdHM6e1wiKlwiOk90LHRleHQ6XCJ0ZXh0L3BsYWluXCIsaHRtbDpcInRleHQvaHRtbFwiLHhtbDpcImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWxcIixqc29uOlwiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0XCJ9LGNvbnRlbnRzOnt4bWw6L1xcYnhtbFxcYi8saHRtbDovXFxiaHRtbC8sanNvbjovXFxianNvblxcYi99LHJlc3BvbnNlRmllbGRzOnt4bWw6XCJyZXNwb25zZVhNTFwiLHRleHQ6XCJyZXNwb25zZVRleHRcIixqc29uOlwicmVzcG9uc2VKU09OXCJ9LGNvbnZlcnRlcnM6e1wiKiB0ZXh0XCI6U3RyaW5nLFwidGV4dCBodG1sXCI6ITAsXCJ0ZXh0IGpzb25cIjpKU09OLnBhcnNlLFwidGV4dCB4bWxcIjpiLnBhcnNlWE1MfSxmbGF0T3B0aW9uczp7dXJsOiEwLGNvbnRleHQ6ITB9fSxhamF4U2V0dXA6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD9JdChJdChlLGIuYWpheFNldHRpbmdzKSx0KTpJdChiLmFqYXhTZXR0aW5ncyxlKX0sYWpheFByZWZpbHRlcjpSdChMdCksYWpheFRyYW5zcG9ydDpSdChIdCksYWpheDpmdW5jdGlvbih0LG4pe1wib2JqZWN0XCI9PXR5cGVvZiB0JiYobj10LHQ9dm9pZCAwKSxuPW58fHt9O3ZhciByLGksbyxhLHMsdSxsLGMsZixwLGQ9Yi5hamF4U2V0dXAoe30sbiksaD1kLmNvbnRleHR8fGQsZz1kLmNvbnRleHQmJihoLm5vZGVUeXBlfHxoLmpxdWVyeSk/YihoKTpiLmV2ZW50LHk9Yi5EZWZlcnJlZCgpLG09Yi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSx4PWQuc3RhdHVzQ29kZXx8e30sdz17fSxUPXt9LEM9XCJjYW5jZWxlZFwiLEU9e3JlYWR5U3RhdGU6MCxnZXRSZXNwb25zZUhlYWRlcjpmdW5jdGlvbihlKXt2YXIgdDtpZihsKXtpZighYSlmb3IoYT17fTt0PWp0LmV4ZWMobyk7KWFbdFsxXS50b0xvd2VyQ2FzZSgpK1wiIFwiXT0oYVt0WzFdLnRvTG93ZXJDYXNlKCkrXCIgXCJdfHxbXSkuY29uY2F0KHRbMl0pO3Q9YVtlLnRvTG93ZXJDYXNlKCkrXCIgXCJdfXJldHVybiBudWxsPT10P251bGw6dC5qb2luKFwiLCBcIil9LGdldEFsbFJlc3BvbnNlSGVhZGVyczpmdW5jdGlvbigpe3JldHVybiBsP286bnVsbH0sc2V0UmVxdWVzdEhlYWRlcjpmdW5jdGlvbihlLHQpe3JldHVybiBudWxsPT1sJiYoZT1UW2UudG9Mb3dlckNhc2UoKV09VFtlLnRvTG93ZXJDYXNlKCldfHxlLHdbZV09dCksdGhpc30sb3ZlcnJpZGVNaW1lVHlwZTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09bCYmKGQubWltZVR5cGU9ZSksdGhpc30sc3RhdHVzQ29kZTpmdW5jdGlvbihlKXt2YXIgdDtpZihlKWlmKGwpRS5hbHdheXMoZVtFLnN0YXR1c10pO2Vsc2UgZm9yKHQgaW4gZSl4W3RdPVt4W3RdLGVbdF1dO3JldHVybiB0aGlzfSxhYm9ydDpmdW5jdGlvbihlKXt2YXIgdD1lfHxDO3JldHVybiByJiZyLmFib3J0KHQpLFMoMCx0KSx0aGlzfX07aWYoeS5wcm9taXNlKEUpLGQudXJsPSgodHx8ZC51cmx8fG10LmhyZWYpK1wiXCIpLnJlcGxhY2UocXQsbXQucHJvdG9jb2wrXCIvL1wiKSxkLnR5cGU9bi5tZXRob2R8fG4udHlwZXx8ZC5tZXRob2R8fGQudHlwZSxkLmRhdGFUeXBlcz0oZC5kYXRhVHlwZXx8XCIqXCIpLnRvTG93ZXJDYXNlKCkubWF0Y2goTyl8fFtcIlwiXSxudWxsPT1kLmNyb3NzRG9tYWluKXt1PXYuY3JlYXRlRWxlbWVudChcImFcIik7dHJ5e3UuaHJlZj1kLnVybCx1LmhyZWY9dS5ocmVmLGQuY3Jvc3NEb21haW49UHQucHJvdG9jb2wrXCIvL1wiK1B0Lmhvc3QhPXUucHJvdG9jb2wrXCIvL1wiK3UuaG9zdH1jYXRjaChlKXtkLmNyb3NzRG9tYWluPSEwfX1pZihkLmRhdGEmJmQucHJvY2Vzc0RhdGEmJlwic3RyaW5nXCIhPXR5cGVvZiBkLmRhdGEmJihkLmRhdGE9Yi5wYXJhbShkLmRhdGEsZC50cmFkaXRpb25hbCkpLE10KEx0LGQsbixFKSxsKXJldHVybiBFO2ZvcihmIGluKGM9Yi5ldmVudCYmZC5nbG9iYWwpJiYwPT1iLmFjdGl2ZSsrJiZiLmV2ZW50LnRyaWdnZXIoXCJhamF4U3RhcnRcIiksZC50eXBlPWQudHlwZS50b1VwcGVyQ2FzZSgpLGQuaGFzQ29udGVudD0hRHQudGVzdChkLnR5cGUpLGk9ZC51cmwucmVwbGFjZShBdCxcIlwiKSxkLmhhc0NvbnRlbnQ/ZC5kYXRhJiZkLnByb2Nlc3NEYXRhJiYwPT09KGQuY29udGVudFR5cGV8fFwiXCIpLmluZGV4T2YoXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIikmJihkLmRhdGE9ZC5kYXRhLnJlcGxhY2Uoa3QsXCIrXCIpKToocD1kLnVybC5zbGljZShpLmxlbmd0aCksZC5kYXRhJiYoZC5wcm9jZXNzRGF0YXx8XCJzdHJpbmdcIj09dHlwZW9mIGQuZGF0YSkmJihpKz0oYnQudGVzdChpKT9cIiZcIjpcIj9cIikrZC5kYXRhLGRlbGV0ZSBkLmRhdGEpLCExPT09ZC5jYWNoZSYmKGk9aS5yZXBsYWNlKE50LFwiJDFcIikscD0oYnQudGVzdChpKT9cIiZcIjpcIj9cIikrXCJfPVwiK3h0Lmd1aWQrKytwKSxkLnVybD1pK3ApLGQuaWZNb2RpZmllZCYmKGIubGFzdE1vZGlmaWVkW2ldJiZFLnNldFJlcXVlc3RIZWFkZXIoXCJJZi1Nb2RpZmllZC1TaW5jZVwiLGIubGFzdE1vZGlmaWVkW2ldKSxiLmV0YWdbaV0mJkUuc2V0UmVxdWVzdEhlYWRlcihcIklmLU5vbmUtTWF0Y2hcIixiLmV0YWdbaV0pKSwoZC5kYXRhJiZkLmhhc0NvbnRlbnQmJiExIT09ZC5jb250ZW50VHlwZXx8bi5jb250ZW50VHlwZSkmJkUuc2V0UmVxdWVzdEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLGQuY29udGVudFR5cGUpLEUuc2V0UmVxdWVzdEhlYWRlcihcIkFjY2VwdFwiLGQuZGF0YVR5cGVzWzBdJiZkLmFjY2VwdHNbZC5kYXRhVHlwZXNbMF1dP2QuYWNjZXB0c1tkLmRhdGFUeXBlc1swXV0rKFwiKlwiIT09ZC5kYXRhVHlwZXNbMF0/XCIsIFwiK090K1wiOyBxPTAuMDFcIjpcIlwiKTpkLmFjY2VwdHNbXCIqXCJdKSxkLmhlYWRlcnMpRS5zZXRSZXF1ZXN0SGVhZGVyKGYsZC5oZWFkZXJzW2ZdKTtpZihkLmJlZm9yZVNlbmQmJighMT09PWQuYmVmb3JlU2VuZC5jYWxsKGgsRSxkKXx8bCkpcmV0dXJuIEUuYWJvcnQoKTtpZihDPVwiYWJvcnRcIixtLmFkZChkLmNvbXBsZXRlKSxFLmRvbmUoZC5zdWNjZXNzKSxFLmZhaWwoZC5lcnJvcikscj1NdChIdCxkLG4sRSkpe2lmKEUucmVhZHlTdGF0ZT0xLGMmJmcudHJpZ2dlcihcImFqYXhTZW5kXCIsW0UsZF0pLGwpcmV0dXJuIEU7ZC5hc3luYyYmZC50aW1lb3V0PjAmJihzPWUuc2V0VGltZW91dChmdW5jdGlvbigpe0UuYWJvcnQoXCJ0aW1lb3V0XCIpfSxkLnRpbWVvdXQpKTt0cnl7bD0hMSxyLnNlbmQodyxTKX1jYXRjaChlKXtpZihsKXRocm93IGU7UygtMSxlKX19ZWxzZSBTKC0xLFwiTm8gVHJhbnNwb3J0XCIpO2Z1bmN0aW9uIFModCxuLGEsdSl7dmFyIGYscCx2LHcsVCxDPW47bHx8KGw9ITAscyYmZS5jbGVhclRpbWVvdXQocykscj12b2lkIDAsbz11fHxcIlwiLEUucmVhZHlTdGF0ZT10PjA/NDowLGY9dD49MjAwJiZ0PDMwMHx8MzA0PT09dCxhJiYodz1mdW5jdGlvbihlLHQsbil7Zm9yKHZhciByLGksbyxhLHM9ZS5jb250ZW50cyx1PWUuZGF0YVR5cGVzO1wiKlwiPT09dVswXTspdS5zaGlmdCgpLHZvaWQgMD09PXImJihyPWUubWltZVR5cGV8fHQuZ2V0UmVzcG9uc2VIZWFkZXIoXCJDb250ZW50LVR5cGVcIikpO2lmKHIpZm9yKGkgaW4gcylpZihzW2ldJiZzW2ldLnRlc3Qocikpe3UudW5zaGlmdChpKTticmVha31pZih1WzBdaW4gbilvPXVbMF07ZWxzZXtmb3IoaSBpbiBuKXtpZighdVswXXx8ZS5jb252ZXJ0ZXJzW2krXCIgXCIrdVswXV0pe289aTticmVha31hfHwoYT1pKX1vPW98fGF9aWYobylyZXR1cm4gbyE9PXVbMF0mJnUudW5zaGlmdChvKSxuW29dfShkLEUsYSkpLCFmJiZiLmluQXJyYXkoXCJzY3JpcHRcIixkLmRhdGFUeXBlcyk+LTEmJmIuaW5BcnJheShcImpzb25cIixkLmRhdGFUeXBlcyk8MCYmKGQuY29udmVydGVyc1tcInRleHQgc2NyaXB0XCJdPWZ1bmN0aW9uKCl7fSksdz1mdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscyx1LGw9e30sYz1lLmRhdGFUeXBlcy5zbGljZSgpO2lmKGNbMV0pZm9yKGEgaW4gZS5jb252ZXJ0ZXJzKWxbYS50b0xvd2VyQ2FzZSgpXT1lLmNvbnZlcnRlcnNbYV07Zm9yKG89Yy5zaGlmdCgpO287KWlmKGUucmVzcG9uc2VGaWVsZHNbb10mJihuW2UucmVzcG9uc2VGaWVsZHNbb11dPXQpLCF1JiZyJiZlLmRhdGFGaWx0ZXImJih0PWUuZGF0YUZpbHRlcih0LGUuZGF0YVR5cGUpKSx1PW8sbz1jLnNoaWZ0KCkpaWYoXCIqXCI9PT1vKW89dTtlbHNlIGlmKFwiKlwiIT09dSYmdSE9PW8pe2lmKCEoYT1sW3UrXCIgXCIrb118fGxbXCIqIFwiK29dKSlmb3IoaSBpbiBsKWlmKChzPWkuc3BsaXQoXCIgXCIpKVsxXT09PW8mJihhPWxbdStcIiBcIitzWzBdXXx8bFtcIiogXCIrc1swXV0pKXshMD09PWE/YT1sW2ldOiEwIT09bFtpXSYmKG89c1swXSxjLnVuc2hpZnQoc1sxXSkpO2JyZWFrfWlmKCEwIT09YSlpZihhJiZlLnRocm93cyl0PWEodCk7ZWxzZSB0cnl7dD1hKHQpfWNhdGNoKGUpe3JldHVybntzdGF0ZTpcInBhcnNlcmVycm9yXCIsZXJyb3I6YT9lOlwiTm8gY29udmVyc2lvbiBmcm9tIFwiK3UrXCIgdG8gXCIrb319fXJldHVybntzdGF0ZTpcInN1Y2Nlc3NcIixkYXRhOnR9fShkLHcsRSxmKSxmPyhkLmlmTW9kaWZpZWQmJigoVD1FLmdldFJlc3BvbnNlSGVhZGVyKFwiTGFzdC1Nb2RpZmllZFwiKSkmJihiLmxhc3RNb2RpZmllZFtpXT1UKSwoVD1FLmdldFJlc3BvbnNlSGVhZGVyKFwiZXRhZ1wiKSkmJihiLmV0YWdbaV09VCkpLDIwND09PXR8fFwiSEVBRFwiPT09ZC50eXBlP0M9XCJub2NvbnRlbnRcIjozMDQ9PT10P0M9XCJub3Rtb2RpZmllZFwiOihDPXcuc3RhdGUscD13LmRhdGEsZj0hKHY9dy5lcnJvcikpKToodj1DLCF0JiZDfHwoQz1cImVycm9yXCIsdDwwJiYodD0wKSkpLEUuc3RhdHVzPXQsRS5zdGF0dXNUZXh0PShufHxDKStcIlwiLGY/eS5yZXNvbHZlV2l0aChoLFtwLEMsRV0pOnkucmVqZWN0V2l0aChoLFtFLEMsdl0pLEUuc3RhdHVzQ29kZSh4KSx4PXZvaWQgMCxjJiZnLnRyaWdnZXIoZj9cImFqYXhTdWNjZXNzXCI6XCJhamF4RXJyb3JcIixbRSxkLGY/cDp2XSksbS5maXJlV2l0aChoLFtFLENdKSxjJiYoZy50cmlnZ2VyKFwiYWpheENvbXBsZXRlXCIsW0UsZF0pLC0tYi5hY3RpdmV8fGIuZXZlbnQudHJpZ2dlcihcImFqYXhTdG9wXCIpKSl9cmV0dXJuIEV9LGdldEpTT046ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBiLmdldChlLHQsbixcImpzb25cIil9LGdldFNjcmlwdDpmdW5jdGlvbihlLHQpe3JldHVybiBiLmdldChlLHZvaWQgMCx0LFwic2NyaXB0XCIpfX0pLGIuZWFjaChbXCJnZXRcIixcInBvc3RcIl0sZnVuY3Rpb24oZSx0KXtiW3RdPWZ1bmN0aW9uKGUsbixyLGkpe3JldHVybiBoKG4pJiYoaT1pfHxyLHI9bixuPXZvaWQgMCksYi5hamF4KGIuZXh0ZW5kKHt1cmw6ZSx0eXBlOnQsZGF0YVR5cGU6aSxkYXRhOm4sc3VjY2VzczpyfSxiLmlzUGxhaW5PYmplY3QoZSkmJmUpKX19KSxiLmFqYXhQcmVmaWx0ZXIoZnVuY3Rpb24oZSl7dmFyIHQ7Zm9yKHQgaW4gZS5oZWFkZXJzKVwiY29udGVudC10eXBlXCI9PT10LnRvTG93ZXJDYXNlKCkmJihlLmNvbnRlbnRUeXBlPWUuaGVhZGVyc1t0XXx8XCJcIil9KSxiLl9ldmFsVXJsPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gYi5hamF4KHt1cmw6ZSx0eXBlOlwiR0VUXCIsZGF0YVR5cGU6XCJzY3JpcHRcIixjYWNoZTohMCxhc3luYzohMSxnbG9iYWw6ITEsY29udmVydGVyczp7XCJ0ZXh0IHNjcmlwdFwiOmZ1bmN0aW9uKCl7fX0sZGF0YUZpbHRlcjpmdW5jdGlvbihlKXtiLmdsb2JhbEV2YWwoZSx0LG4pfX0pfSxiLmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdGhpc1swXSYmKGgoZSkmJihlPWUuY2FsbCh0aGlzWzBdKSksdD1iKGUsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCksdGhpc1swXS5wYXJlbnROb2RlJiZ0Lmluc2VydEJlZm9yZSh0aGlzWzBdKSx0Lm1hcChmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzO2UuZmlyc3RFbGVtZW50Q2hpbGQ7KWU9ZS5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gZX0pLmFwcGVuZCh0aGlzKSksdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGUpe3JldHVybiBoKGUpP3RoaXMuZWFjaChmdW5jdGlvbih0KXtiKHRoaXMpLndyYXBJbm5lcihlLmNhbGwodGhpcyx0KSl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1iKHRoaXMpLG49dC5jb250ZW50cygpO24ubGVuZ3RoP24ud3JhcEFsbChlKTp0LmFwcGVuZChlKX0pfSx3cmFwOmZ1bmN0aW9uKGUpe3ZhciB0PWgoZSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihuKXtiKHRoaXMpLndyYXBBbGwodD9lLmNhbGwodGhpcyxuKTplKX0pfSx1bndyYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucGFyZW50KGUpLm5vdChcImJvZHlcIikuZWFjaChmdW5jdGlvbigpe2IodGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLHRoaXN9fSksYi5leHByLnBzZXVkb3MuaGlkZGVuPWZ1bmN0aW9uKGUpe3JldHVybiFiLmV4cHIucHNldWRvcy52aXNpYmxlKGUpfSxiLmV4cHIucHNldWRvcy52aXNpYmxlPWZ1bmN0aW9uKGUpe3JldHVybiEhKGUub2Zmc2V0V2lkdGh8fGUub2Zmc2V0SGVpZ2h0fHxlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoKX0sYi5hamF4U2V0dGluZ3MueGhyPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgZS5YTUxIdHRwUmVxdWVzdH1jYXRjaChlKXt9fTt2YXIgV3Q9ezA6MjAwLDEyMjM6MjA0fSxGdD1iLmFqYXhTZXR0aW5ncy54aHIoKTtkLmNvcnM9ISFGdCYmXCJ3aXRoQ3JlZGVudGlhbHNcImluIEZ0LGQuYWpheD1GdD0hIUZ0LGIuYWpheFRyYW5zcG9ydChmdW5jdGlvbih0KXt2YXIgbixyO2lmKGQuY29yc3x8RnQmJiF0LmNyb3NzRG9tYWluKXJldHVybntzZW5kOmZ1bmN0aW9uKGksbyl7dmFyIGEscz10LnhocigpO2lmKHMub3Blbih0LnR5cGUsdC51cmwsdC5hc3luYyx0LnVzZXJuYW1lLHQucGFzc3dvcmQpLHQueGhyRmllbGRzKWZvcihhIGluIHQueGhyRmllbGRzKXNbYV09dC54aHJGaWVsZHNbYV07Zm9yKGEgaW4gdC5taW1lVHlwZSYmcy5vdmVycmlkZU1pbWVUeXBlJiZzLm92ZXJyaWRlTWltZVR5cGUodC5taW1lVHlwZSksdC5jcm9zc0RvbWFpbnx8aVtcIlgtUmVxdWVzdGVkLVdpdGhcIl18fChpW1wiWC1SZXF1ZXN0ZWQtV2l0aFwiXT1cIlhNTEh0dHBSZXF1ZXN0XCIpLGkpcy5zZXRSZXF1ZXN0SGVhZGVyKGEsaVthXSk7bj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtuJiYobj1yPXMub25sb2FkPXMub25lcnJvcj1zLm9uYWJvcnQ9cy5vbnRpbWVvdXQ9cy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxcImFib3J0XCI9PT1lP3MuYWJvcnQoKTpcImVycm9yXCI9PT1lP1wibnVtYmVyXCIhPXR5cGVvZiBzLnN0YXR1cz9vKDAsXCJlcnJvclwiKTpvKHMuc3RhdHVzLHMuc3RhdHVzVGV4dCk6byhXdFtzLnN0YXR1c118fHMuc3RhdHVzLHMuc3RhdHVzVGV4dCxcInRleHRcIiE9PShzLnJlc3BvbnNlVHlwZXx8XCJ0ZXh0XCIpfHxcInN0cmluZ1wiIT10eXBlb2Ygcy5yZXNwb25zZVRleHQ/e2JpbmFyeTpzLnJlc3BvbnNlfTp7dGV4dDpzLnJlc3BvbnNlVGV4dH0scy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSkpfX0scy5vbmxvYWQ9bigpLHI9cy5vbmVycm9yPXMub250aW1lb3V0PW4oXCJlcnJvclwiKSx2b2lkIDAhPT1zLm9uYWJvcnQ/cy5vbmFib3J0PXI6cy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT09cy5yZWFkeVN0YXRlJiZlLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtuJiZyKCl9KX0sbj1uKFwiYWJvcnRcIik7dHJ5e3Muc2VuZCh0Lmhhc0NvbnRlbnQmJnQuZGF0YXx8bnVsbCl9Y2F0Y2goZSl7aWYobil0aHJvdyBlfX0sYWJvcnQ6ZnVuY3Rpb24oKXtuJiZuKCl9fX0pLGIuYWpheFByZWZpbHRlcihmdW5jdGlvbihlKXtlLmNyb3NzRG9tYWluJiYoZS5jb250ZW50cy5zY3JpcHQ9ITEpfSksYi5hamF4U2V0dXAoe2FjY2VwdHM6e3NjcmlwdDpcInRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0XCJ9LGNvbnRlbnRzOntzY3JpcHQ6L1xcYig/OmphdmF8ZWNtYSlzY3JpcHRcXGIvfSxjb252ZXJ0ZXJzOntcInRleHQgc2NyaXB0XCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGIuZ2xvYmFsRXZhbChlKSxlfX19KSxiLmFqYXhQcmVmaWx0ZXIoXCJzY3JpcHRcIixmdW5jdGlvbihlKXt2b2lkIDA9PT1lLmNhY2hlJiYoZS5jYWNoZT0hMSksZS5jcm9zc0RvbWFpbiYmKGUudHlwZT1cIkdFVFwiKX0pLGIuYWpheFRyYW5zcG9ydChcInNjcmlwdFwiLGZ1bmN0aW9uKGUpe3ZhciB0LG47aWYoZS5jcm9zc0RvbWFpbnx8ZS5zY3JpcHRBdHRycylyZXR1cm57c2VuZDpmdW5jdGlvbihyLGkpe3Q9YihcIjxzY3JpcHQ+XCIpLmF0dHIoZS5zY3JpcHRBdHRyc3x8e30pLnByb3Aoe2NoYXJzZXQ6ZS5zY3JpcHRDaGFyc2V0LHNyYzplLnVybH0pLm9uKFwibG9hZCBlcnJvclwiLG49ZnVuY3Rpb24oZSl7dC5yZW1vdmUoKSxuPW51bGwsZSYmaShcImVycm9yXCI9PT1lLnR5cGU/NDA0OjIwMCxlLnR5cGUpfSksdi5oZWFkLmFwcGVuZENoaWxkKHRbMF0pfSxhYm9ydDpmdW5jdGlvbigpe24mJm4oKX19fSk7dmFyIEJ0LCR0PVtdLF90PS8oPSlcXD8oPz0mfCQpfFxcP1xcPy87Yi5hamF4U2V0dXAoe2pzb25wOlwiY2FsbGJhY2tcIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGU9JHQucG9wKCl8fGIuZXhwYW5kbytcIl9cIit4dC5ndWlkKys7cmV0dXJuIHRoaXNbZV09ITAsZX19KSxiLmFqYXhQcmVmaWx0ZXIoXCJqc29uIGpzb25wXCIsZnVuY3Rpb24odCxuLHIpe3ZhciBpLG8sYSxzPSExIT09dC5qc29ucCYmKF90LnRlc3QodC51cmwpP1widXJsXCI6XCJzdHJpbmdcIj09dHlwZW9mIHQuZGF0YSYmMD09PSh0LmNvbnRlbnRUeXBlfHxcIlwiKS5pbmRleE9mKFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIpJiZfdC50ZXN0KHQuZGF0YSkmJlwiZGF0YVwiKTtpZihzfHxcImpzb25wXCI9PT10LmRhdGFUeXBlc1swXSlyZXR1cm4gaT10Lmpzb25wQ2FsbGJhY2s9aCh0Lmpzb25wQ2FsbGJhY2spP3QuanNvbnBDYWxsYmFjaygpOnQuanNvbnBDYWxsYmFjayxzP3Rbc109dFtzXS5yZXBsYWNlKF90LFwiJDFcIitpKTohMSE9PXQuanNvbnAmJih0LnVybCs9KGJ0LnRlc3QodC51cmwpP1wiJlwiOlwiP1wiKSt0Lmpzb25wK1wiPVwiK2kpLHQuY29udmVydGVyc1tcInNjcmlwdCBqc29uXCJdPWZ1bmN0aW9uKCl7cmV0dXJuIGF8fGIuZXJyb3IoaStcIiB3YXMgbm90IGNhbGxlZFwiKSxhWzBdfSx0LmRhdGFUeXBlc1swXT1cImpzb25cIixvPWVbaV0sZVtpXT1mdW5jdGlvbigpe2E9YXJndW1lbnRzfSxyLmFsd2F5cyhmdW5jdGlvbigpe3ZvaWQgMD09PW8/YihlKS5yZW1vdmVQcm9wKGkpOmVbaV09byx0W2ldJiYodC5qc29ucENhbGxiYWNrPW4uanNvbnBDYWxsYmFjaywkdC5wdXNoKGkpKSxhJiZoKG8pJiZvKGFbMF0pLGE9bz12b2lkIDB9KSxcInNjcmlwdFwifSksZC5jcmVhdGVIVE1MRG9jdW1lbnQ9KChCdD12LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudChcIlwiKS5ib2R5KS5pbm5lckhUTUw9XCI8Zm9ybT48L2Zvcm0+PGZvcm0+PC9mb3JtPlwiLDI9PT1CdC5jaGlsZE5vZGVzLmxlbmd0aCksYi5wYXJzZUhUTUw9ZnVuY3Rpb24oZSx0LG4pe3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBlP1tdOihcImJvb2xlYW5cIj09dHlwZW9mIHQmJihuPXQsdD0hMSksdHx8KGQuY3JlYXRlSFRNTERvY3VtZW50Pygocj0odD12LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudChcIlwiKSkuY3JlYXRlRWxlbWVudChcImJhc2VcIikpLmhyZWY9di5sb2NhdGlvbi5ocmVmLHQuaGVhZC5hcHBlbmRDaGlsZChyKSk6dD12KSxvPSFuJiZbXSwoaT1BLmV4ZWMoZSkpP1t0LmNyZWF0ZUVsZW1lbnQoaVsxXSldOihpPXhlKFtlXSx0LG8pLG8mJm8ubGVuZ3RoJiZiKG8pLnJlbW92ZSgpLGIubWVyZ2UoW10saS5jaGlsZE5vZGVzKSkpO3ZhciByLGksb30sYi5mbi5sb2FkPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYT10aGlzLHM9ZS5pbmRleE9mKFwiIFwiKTtyZXR1cm4gcz4tMSYmKHI9cHQoZS5zbGljZShzKSksZT1lLnNsaWNlKDAscykpLGgodCk/KG49dCx0PXZvaWQgMCk6dCYmXCJvYmplY3RcIj09dHlwZW9mIHQmJihpPVwiUE9TVFwiKSxhLmxlbmd0aD4wJiZiLmFqYXgoe3VybDplLHR5cGU6aXx8XCJHRVRcIixkYXRhVHlwZTpcImh0bWxcIixkYXRhOnR9KS5kb25lKGZ1bmN0aW9uKGUpe289YXJndW1lbnRzLGEuaHRtbChyP2IoXCI8ZGl2PlwiKS5hcHBlbmQoYi5wYXJzZUhUTUwoZSkpLmZpbmQocik6ZSl9KS5hbHdheXMobiYmZnVuY3Rpb24oZSx0KXthLmVhY2goZnVuY3Rpb24oKXtuLmFwcGx5KHRoaXMsb3x8W2UucmVzcG9uc2VUZXh0LHQsZV0pfSl9KSx0aGlzfSxiLmV4cHIucHNldWRvcy5hbmltYXRlZD1mdW5jdGlvbihlKXtyZXR1cm4gYi5ncmVwKGIudGltZXJzLGZ1bmN0aW9uKHQpe3JldHVybiBlPT09dC5lbGVtfSkubGVuZ3RofSxiLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbD1iLmNzcyhlLFwicG9zaXRpb25cIiksYz1iKGUpLGY9e307XCJzdGF0aWNcIj09PWwmJihlLnN0eWxlLnBvc2l0aW9uPVwicmVsYXRpdmVcIikscz1jLm9mZnNldCgpLG89Yi5jc3MoZSxcInRvcFwiKSx1PWIuY3NzKGUsXCJsZWZ0XCIpLChcImFic29sdXRlXCI9PT1sfHxcImZpeGVkXCI9PT1sKSYmKG8rdSkuaW5kZXhPZihcImF1dG9cIik+LTE/KGE9KHI9Yy5wb3NpdGlvbigpKS50b3AsaT1yLmxlZnQpOihhPXBhcnNlRmxvYXQobyl8fDAsaT1wYXJzZUZsb2F0KHUpfHwwKSxoKHQpJiYodD10LmNhbGwoZSxuLGIuZXh0ZW5kKHt9LHMpKSksbnVsbCE9dC50b3AmJihmLnRvcD10LnRvcC1zLnRvcCthKSxudWxsIT10LmxlZnQmJihmLmxlZnQ9dC5sZWZ0LXMubGVmdCtpKSxcInVzaW5nXCJpbiB0P3QudXNpbmcuY2FsbChlLGYpOmMuY3NzKGYpfX0sYi5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihlKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1lP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKHQpe2Iub2Zmc2V0LnNldE9mZnNldCh0aGlzLGUsdCl9KTt2YXIgdCxuLHI9dGhpc1swXTtyZXR1cm4gcj9yLmdldENsaWVudFJlY3RzKCkubGVuZ3RoPyh0PXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1yLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcse3RvcDp0LnRvcCtuLnBhZ2VZT2Zmc2V0LGxlZnQ6dC5sZWZ0K24ucGFnZVhPZmZzZXR9KTp7dG9wOjAsbGVmdDowfTp2b2lkIDB9LHBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIGUsdCxuLHI9dGhpc1swXSxpPXt0b3A6MCxsZWZ0OjB9O2lmKFwiZml4ZWRcIj09PWIuY3NzKHIsXCJwb3NpdGlvblwiKSl0PXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZWxzZXtmb3IodD10aGlzLm9mZnNldCgpLG49ci5vd25lckRvY3VtZW50LGU9ci5vZmZzZXRQYXJlbnR8fG4uZG9jdW1lbnRFbGVtZW50O2UmJihlPT09bi5ib2R5fHxlPT09bi5kb2N1bWVudEVsZW1lbnQpJiZcInN0YXRpY1wiPT09Yi5jc3MoZSxcInBvc2l0aW9uXCIpOyllPWUucGFyZW50Tm9kZTtlJiZlIT09ciYmMT09PWUubm9kZVR5cGUmJigoaT1iKGUpLm9mZnNldCgpKS50b3ArPWIuY3NzKGUsXCJib3JkZXJUb3BXaWR0aFwiLCEwKSxpLmxlZnQrPWIuY3NzKGUsXCJib3JkZXJMZWZ0V2lkdGhcIiwhMCkpfXJldHVybnt0b3A6dC50b3AtaS50b3AtYi5jc3MocixcIm1hcmdpblRvcFwiLCEwKSxsZWZ0OnQubGVmdC1pLmxlZnQtYi5jc3MocixcIm1hcmdpbkxlZnRcIiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMub2Zmc2V0UGFyZW50O2UmJlwic3RhdGljXCI9PT1iLmNzcyhlLFwicG9zaXRpb25cIik7KWU9ZS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGV8fG5lfSl9fSksYi5lYWNoKHtzY3JvbGxMZWZ0OlwicGFnZVhPZmZzZXRcIixzY3JvbGxUb3A6XCJwYWdlWU9mZnNldFwifSxmdW5jdGlvbihlLHQpe3ZhciBuPVwicGFnZVlPZmZzZXRcIj09PXQ7Yi5mbltlXT1mdW5jdGlvbihyKXtyZXR1cm4gQih0aGlzLGZ1bmN0aW9uKGUscixpKXt2YXIgbztpZihnKGUpP289ZTo5PT09ZS5ub2RlVHlwZSYmKG89ZS5kZWZhdWx0Vmlldyksdm9pZCAwPT09aSlyZXR1cm4gbz9vW3RdOmVbcl07bz9vLnNjcm9sbFRvKG4/by5wYWdlWE9mZnNldDppLG4/aTpvLnBhZ2VZT2Zmc2V0KTplW3JdPWl9LGUscixhcmd1bWVudHMubGVuZ3RoKX19KSxiLmVhY2goW1widG9wXCIsXCJsZWZ0XCJdLGZ1bmN0aW9uKGUsdCl7Yi5jc3NIb29rc1t0XT1GZShkLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oZSxuKXtpZihuKXJldHVybiBuPVdlKGUsdCksUGUudGVzdChuKT9iKGUpLnBvc2l0aW9uKClbdF0rXCJweFwiOm59KX0pLGIuZWFjaCh7SGVpZ2h0OlwiaGVpZ2h0XCIsV2lkdGg6XCJ3aWR0aFwifSxmdW5jdGlvbihlLHQpe2IuZWFjaCh7cGFkZGluZzpcImlubmVyXCIrZSxjb250ZW50OnQsXCJcIjpcIm91dGVyXCIrZX0sZnVuY3Rpb24obixyKXtiLmZuW3JdPWZ1bmN0aW9uKGksbyl7dmFyIGE9YXJndW1lbnRzLmxlbmd0aCYmKG58fFwiYm9vbGVhblwiIT10eXBlb2YgaSkscz1ufHwoITA9PT1pfHwhMD09PW8/XCJtYXJnaW5cIjpcImJvcmRlclwiKTtyZXR1cm4gQih0aGlzLGZ1bmN0aW9uKHQsbixpKXt2YXIgbztyZXR1cm4gZyh0KT8wPT09ci5pbmRleE9mKFwib3V0ZXJcIik/dFtcImlubmVyXCIrZV06dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbXCJjbGllbnRcIitlXTo5PT09dC5ub2RlVHlwZT8obz10LmRvY3VtZW50RWxlbWVudCxNYXRoLm1heCh0LmJvZHlbXCJzY3JvbGxcIitlXSxvW1wic2Nyb2xsXCIrZV0sdC5ib2R5W1wib2Zmc2V0XCIrZV0sb1tcIm9mZnNldFwiK2VdLG9bXCJjbGllbnRcIitlXSkpOnZvaWQgMD09PWk/Yi5jc3ModCxuLHMpOmIuc3R5bGUodCxuLGkscyl9LHQsYT9pOnZvaWQgMCxhKX19KX0pLGIuZWFjaChbXCJhamF4U3RhcnRcIixcImFqYXhTdG9wXCIsXCJhamF4Q29tcGxldGVcIixcImFqYXhFcnJvclwiLFwiYWpheFN1Y2Nlc3NcIixcImFqYXhTZW5kXCJdLGZ1bmN0aW9uKGUsdCl7Yi5mblt0XT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5vbih0LGUpfX0pLGIuZm4uZXh0ZW5kKHtiaW5kOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdGhpcy5vbihlLG51bGwsdCxuKX0sdW5iaW5kOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMub2ZmKGUsbnVsbCx0KX0sZGVsZWdhdGU6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMub24odCxlLG4scil9LHVuZGVsZWdhdGU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLFwiKipcIik6dGhpcy5vZmYodCxlfHxcIioqXCIsbil9LGhvdmVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubW91c2VlbnRlcihlKS5tb3VzZWxlYXZlKHR8fGUpfX0pLGIuZWFjaChcImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCByZXNpemUgc2Nyb2xsIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgY29udGV4dG1lbnVcIi5zcGxpdChcIiBcIiksZnVuY3Rpb24oZSx0KXtiLmZuW3RdPWZ1bmN0aW9uKGUsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKHQsbnVsbCxlLG4pOnRoaXMudHJpZ2dlcih0KX19KTt2YXIgenQ9L15bXFxzXFx1RkVGRlxceEEwXSt8W1xcc1xcdUZFRkZcXHhBMF0rJC9nO2IucHJveHk9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG87aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQmJihuPWVbdF0sdD1lLGU9biksaChlKSlyZXR1cm4gcj1pLmNhbGwoYXJndW1lbnRzLDIpLChvPWZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodHx8dGhpcyxyLmNvbmNhdChpLmNhbGwoYXJndW1lbnRzKSkpfSkuZ3VpZD1lLmd1aWQ9ZS5ndWlkfHxiLmd1aWQrKyxvfSxiLmhvbGRSZWFkeT1mdW5jdGlvbihlKXtlP2IucmVhZHlXYWl0Kys6Yi5yZWFkeSghMCl9LGIuaXNBcnJheT1BcnJheS5pc0FycmF5LGIucGFyc2VKU09OPUpTT04ucGFyc2UsYi5ub2RlTmFtZT1rLGIuaXNGdW5jdGlvbj1oLGIuaXNXaW5kb3c9ZyxiLmNhbWVsQ2FzZT1VLGIudHlwZT14LGIubm93PURhdGUubm93LGIuaXNOdW1lcmljPWZ1bmN0aW9uKGUpe3ZhciB0PWIudHlwZShlKTtyZXR1cm4oXCJudW1iZXJcIj09PXR8fFwic3RyaW5nXCI9PT10KSYmIWlzTmFOKGUtcGFyc2VGbG9hdChlKSl9LGIudHJpbT1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT9cIlwiOihlK1wiXCIpLnJlcGxhY2UoenQsXCJcIil9LFwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKFwianF1ZXJ5XCIsW10sZnVuY3Rpb24oKXtyZXR1cm4gYn0pO3ZhciBVdD1lLmpRdWVyeSxYdD1lLiQ7cmV0dXJuIGIubm9Db25mbGljdD1mdW5jdGlvbih0KXtyZXR1cm4gZS4kPT09YiYmKGUuJD1YdCksdCYmZS5qUXVlcnk9PT1iJiYoZS5qUXVlcnk9VXQpLGJ9LHZvaWQgMD09PXQmJihlLmpRdWVyeT1lLiQ9YiksYn0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1weGRXVnllUzVxY3lKZExDSnVZVzFsY3lJNld5Sm5iRzlpWVd3aUxDSm1ZV04wYjNKNUlpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbVJ2WTNWdFpXNTBJaXdpZHlJc0lrVnljbTl5SWl3aWQybHVaRzkzSWl3aWRHaHBjeUlzSW01dlIyeHZZbUZzSWl3aVlYSnlJaXdpWjJWMFVISnZkRzhpTENKUFltcGxZM1FpTENKblpYUlFjbTkwYjNSNWNHVlBaaUlzSW5Oc2FXTmxJaXdpWm14aGRDSXNJbUZ5Y21GNUlpd2lZMkZzYkNJc0ltTnZibU5oZENJc0ltRndjR3g1SWl3aWNIVnphQ0lzSW1sdVpHVjRUMllpTENKamJHRnpjekowZVhCbElpd2lkRzlUZEhKcGJtY2lMQ0pvWVhOUGQyNGlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbVp1Vkc5VGRISnBibWNpTENKUFltcGxZM1JHZFc1amRHbHZibE4wY21sdVp5SXNJbk4xY0hCdmNuUWlMQ0pwYzBaMWJtTjBhVzl1SWl3aWIySnFJaXdpYm05a1pWUjVjR1VpTENKcGRHVnRJaXdpYVhOWGFXNWtiM2NpTENKd2NtVnpaWEoyWldSVFkzSnBjSFJCZEhSeWFXSjFkR1Z6SWl3aWRIbHdaU0lzSW5OeVl5SXNJbTV2Ym1ObElpd2libTlOYjJSMWJHVWlMQ0pFVDAxRmRtRnNJaXdpWTI5a1pTSXNJbTV2WkdVaUxDSmtiMk1pTENKcElpd2lkbUZzSWl3aWMyTnlhWEIwSWl3aVkzSmxZWFJsUld4bGJXVnVkQ0lzSW5SbGVIUWlMQ0puWlhSQmRIUnlhV0oxZEdVaUxDSnpaWFJCZEhSeWFXSjFkR1VpTENKb1pXRmtJaXdpWVhCd1pXNWtRMmhwYkdRaUxDSndZWEpsYm5ST2IyUmxJaXdpY21WdGIzWmxRMmhwYkdRaUxDSjBiMVI1Y0dVaUxDSnFVWFZsY25raUxDSnpaV3hsWTNSdmNpSXNJbU52Ym5SbGVIUWlMQ0ptYmlJc0ltbHVhWFFpTENKcGMwRnljbUY1VEdsclpTSXNJbXhsYm1kMGFDSXNJbkJ5YjNSdmRIbHdaU0lzSW1weGRXVnllU0lzSW1OdmJuTjBjblZqZEc5eUlpd2lkRzlCY25KaGVTSXNJbWRsZENJc0ltNTFiU0lzSW5CMWMyaFRkR0ZqYXlJc0ltVnNaVzF6SWl3aWNtVjBJaXdpYldWeVoyVWlMQ0p3Y21WMlQySnFaV04wSWl3aVpXRmphQ0lzSW1OaGJHeGlZV05ySWl3aWJXRndJaXdpWld4bGJTSXNJbUZ5WjNWdFpXNTBjeUlzSW1acGNuTjBJaXdpWlhFaUxDSnNZWE4wSWl3aVpYWmxiaUlzSW1keVpYQWlMQ0pmWld4bGJTSXNJbTlrWkNJc0lteGxiaUlzSW1vaUxDSmxibVFpTENKemIzSjBJaXdpYzNCc2FXTmxJaXdpWlhoMFpXNWtJaXdpYjNCMGFXOXVjeUlzSW01aGJXVWlMQ0pqYjNCNUlpd2lZMjl3ZVVselFYSnlZWGtpTENKamJHOXVaU0lzSW5SaGNtZGxkQ0lzSW1SbFpYQWlMQ0pwYzFCc1lXbHVUMkpxWldOMElpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2lkVzVrWldacGJtVmtJaXdpWlhod1lXNWtieUlzSWsxaGRHZ2lMQ0p5WVc1a2IyMGlMQ0p5WlhCc1lXTmxJaXdpYVhOU1pXRmtlU0lzSW1WeWNtOXlJaXdpYlhObklpd2libTl2Y0NJc0luQnliM1J2SWl3aVEzUnZjaUlzSW1selJXMXdkSGxQWW1wbFkzUWlMQ0puYkc5aVlXeEZkbUZzSWl3aWJXRnJaVUZ5Y21GNUlpd2ljbVZ6ZFd4MGN5SXNJbWx1UVhKeVlYa2lMQ0p6WldOdmJtUWlMQ0pwYm5abGNuUWlMQ0p0WVhSamFHVnpJaXdpWTJGc2JHSmhZMnRGZUhCbFkzUWlMQ0poY21jaUxDSjJZV3gxWlNJc0ltZDFhV1FpTENKVGVXMWliMndpTENKcGRHVnlZWFJ2Y2lJc0luTndiR2wwSWl3aVgya2lMQ0owYjB4dmQyVnlRMkZ6WlNJc0lsTnBlbnBzWlNJc0lrVjRjSElpTENKblpYUlVaWGgwSWl3aWFYTllUVXdpTENKMGIydGxibWw2WlNJc0ltTnZiWEJwYkdVaUxDSnpaV3hsWTNRaUxDSnZkWFJsY20xdmMzUkRiMjUwWlhoMElpd2ljMjl5ZEVsdWNIVjBJaXdpYUdGelJIVndiR2xqWVhSbElpd2ljMlYwUkc5amRXMWxiblFpTENKa2IyTkZiR1Z0SWl3aVpHOWpkVzFsYm5SSmMwaFVUVXdpTENKeVluVm5aM2xSVTBFaUxDSnlZblZuWjNsTllYUmphR1Z6SWl3aVkyOXVkR0ZwYm5NaUxDSkVZWFJsSWl3aWNISmxabVZ5Y21Wa1JHOWpJaXdpWkdseWNuVnVjeUlzSW1SdmJtVWlMQ0pqYkdGemMwTmhZMmhsSWl3aVkzSmxZWFJsUTJGamFHVWlMQ0owYjJ0bGJrTmhZMmhsSWl3aVkyOXRjR2xzWlhKRFlXTm9aU0lzSW01dmJtNWhkR2wyWlZObGJHVmpkRzl5UTJGamFHVWlMQ0p6YjNKMFQzSmtaWElpTENKaElpd2lZaUlzSW5CdmNDSXNJbkIxYzJoT1lYUnBkbVVpTENKc2FYTjBJaXdpWW05dmJHVmhibk1pTENKM2FHbDBaWE53WVdObElpd2lhV1JsYm5ScFptbGxjaUlzSW1GMGRISnBZblYwWlhNaUxDSndjMlYxWkc5eklpd2ljbmRvYVhSbGMzQmhZMlVpTENKU1pXZEZlSEFpTENKeWRISnBiU0lzSW5KamIyMXRZU0lzSW5KamIyMWlhVzVoZEc5eWN5SXNJbkprWlhOalpXNWtJaXdpY25CelpYVmtieUlzSW5KcFpHVnVkR2xtYVdWeUlpd2liV0YwWTJoRmVIQnlJaXdpU1VRaUxDSkRURUZUVXlJc0lsUkJSeUlzSWtGVVZGSWlMQ0pRVTBWVlJFOGlMQ0pEU0VsTVJDSXNJbUp2YjJ3aUxDSnVaV1ZrYzBOdmJuUmxlSFFpTENKeWFIUnRiQ0lzSW5KcGJuQjFkSE1pTENKeWFHVmhaR1Z5SWl3aWNtNWhkR2wyWlNJc0luSnhkV2xqYTBWNGNISWlMQ0p5YzJsaWJHbHVaeUlzSW5KMWJtVnpZMkZ3WlNJc0ltWjFibVZ6WTJGd1pTSXNJbVZ6WTJGd1pTSXNJbTV2YmtobGVDSXNJbWhwWjJnaUxDSlRkSEpwYm1jaUxDSm1jbTl0UTJoaGNrTnZaR1VpTENKeVkzTnpaWE5qWVhCbElpd2labU56YzJWelkyRndaU0lzSW1Ob0lpd2lZWE5EYjJSbFVHOXBiblFpTENKamFHRnlRMjlrWlVGMElpd2lkVzVzYjJGa1NHRnVaR3hsY2lJc0ltbHVSR2x6WVdKc1pXUkdhV1ZzWkhObGRDSXNJbUZrWkVOdmJXSnBibUYwYjNJaUxDSmthWE5oWW14bFpDSXNJbTV2WkdWT1lXMWxJaXdpWkdseUlpd2libVY0ZENJc0ltTm9hV3hrVG05a1pYTWlMQ0psSWl3aVpXeHpJaXdpYzJWbFpDSXNJbTBpTENKdWFXUWlMQ0p0WVhSamFDSXNJbWR5YjNWd2N5SXNJbTVsZDFObGJHVmpkRzl5SWl3aWJtVjNRMjl1ZEdWNGRDSXNJbTkzYm1WeVJHOWpkVzFsYm5RaUxDSmxlR1ZqSWl3aVoyVjBSV3hsYldWdWRFSjVTV1FpTENKcFpDSXNJbWRsZEVWc1pXMWxiblJ6UW5sVVlXZE9ZVzFsSWl3aVoyVjBSV3hsYldWdWRITkNlVU5zWVhOelRtRnRaU0lzSW5GellTSXNJblJsYzNRaUxDSjBaWE4wUTI5dWRHVjRkQ0lzSW5OamIzQmxJaXdpZEc5VFpXeGxZM1J2Y2lJc0ltcHZhVzRpTENKeGRXVnllVk5sYkdWamRHOXlRV3hzSWl3aWNYTmhSWEp5YjNJaUxDSnlaVzF2ZG1WQmRIUnlhV0oxZEdVaUxDSnJaWGx6SWl3aVkyRmphR1VpTENKclpYa2lMQ0pqWVdOb1pVeGxibWQwYUNJc0luTm9hV1owSWl3aWJXRnlhMFoxYm1OMGFXOXVJaXdpWVhOelpYSjBJaXdpWld3aUxDSmhaR1JJWVc1a2JHVWlMQ0poZEhSeWN5SXNJbWhoYm1Sc1pYSWlMQ0poZEhSeVNHRnVaR3hsSWl3aWMybGliR2x1WjBOb1pXTnJJaXdpWTNWeUlpd2laR2xtWmlJc0luTnZkWEpqWlVsdVpHVjRJaXdpYm1WNGRGTnBZbXhwYm1jaUxDSmpjbVZoZEdWSmJuQjFkRkJ6WlhWa2J5SXNJbU55WldGMFpVSjFkSFJ2YmxCelpYVmtieUlzSW1OeVpXRjBaVVJwYzJGaWJHVmtVSE5sZFdSdklpd2lhWE5FYVhOaFlteGxaQ0lzSW1OeVpXRjBaVkJ2YzJsMGFXOXVZV3hRYzJWMVpHOGlMQ0poY21kMWJXVnVkQ0lzSW0xaGRHTm9TVzVrWlhobGN5SXNJbTVoYldWemNHRmpaU0lzSW01aGJXVnpjR0ZqWlZWU1NTSXNJbVJ2WTNWdFpXNTBSV3hsYldWdWRDSXNJbWhoYzBOdmJYQmhjbVVpTENKemRXSlhhVzVrYjNjaUxDSmtaV1poZFd4MFZtbGxkeUlzSW5SdmNDSXNJbUZrWkVWMlpXNTBUR2x6ZEdWdVpYSWlMQ0poZEhSaFkyaEZkbVZ1ZENJc0ltTnNZWE56VG1GdFpTSXNJbU55WldGMFpVTnZiVzFsYm5RaUxDSm5aWFJDZVVsa0lpd2laMlYwUld4bGJXVnVkSE5DZVU1aGJXVWlMQ0ptYVd4MFpYSWlMQ0poZEhSeVNXUWlMQ0ptYVc1a0lpd2laMlYwUVhSMGNtbGlkWFJsVG05a1pTSXNJblJoWnlJc0luUnRjQ0lzSW1sdWNIVjBJaXdpYVc1dVpYSklWRTFNSWl3aWJXRjBZMmhsYzFObGJHVmpkRzl5SWl3aWQyVmlhMmwwVFdGMFkyaGxjMU5sYkdWamRHOXlJaXdpYlc5NlRXRjBZMmhsYzFObGJHVmpkRzl5SWl3aWIwMWhkR05vWlhOVFpXeGxZM1J2Y2lJc0ltMXpUV0YwWTJobGMxTmxiR1ZqZEc5eUlpd2laR2x6WTI5dWJtVmpkR1ZrVFdGMFkyZ2lMQ0pqYjIxd1lYSmxSRzlqZFcxbGJuUlFiM05wZEdsdmJpSXNJbUZrYjNkdUlpd2lZblZ3SWl3aVkyOXRjR0Z5WlNJc0luTnZjblJFWlhSaFkyaGxaQ0lzSW1GMWNDSXNJbUZ3SWl3aVluQWlMQ0oxYm5Ob2FXWjBJaXdpWlhod2NpSXNJbVZzWlcxbGJuUnpJaXdpWVhSMGNpSXNJbk53WldOcFptbGxaQ0lzSW5ObGJDSXNJblZ1YVhGMVpWTnZjblFpTENKa2RYQnNhV05oZEdWeklpd2laR1YwWldOMFJIVndiR2xqWVhSbGN5SXNJbk52Y25SVGRHRmliR1VpTENKMFpYaDBRMjl1ZEdWdWRDSXNJbVpwY25OMFEyaHBiR1FpTENKdWIyUmxWbUZzZFdVaUxDSnpaV3hsWTNSdmNuTWlMQ0pqY21WaGRHVlFjMlYxWkc4aUxDSnlaV3hoZEdsMlpTSXNJajRpTENJZ0lpd2lLeUlzSW40aUxDSndjbVZHYVd4MFpYSWlMQ0psZUdObGMzTWlMQ0oxYm5GMWIzUmxaQ0lzSW01dlpHVk9ZVzFsVTJWc1pXTjBiM0lpTENKd1lYUjBaWEp1SWl3aWIzQmxjbUYwYjNJaUxDSmphR1ZqYXlJc0luSmxjM1ZzZENJc0luZG9ZWFFpTENKZllYSm5kVzFsYm5RaUxDSnphVzF3YkdVaUxDSm1iM0ozWVhKa0lpd2liMlpVZVhCbElpd2lYMk52Ym5SbGVIUWlMQ0o0Yld3aUxDSjFibWx4ZFdWRFlXTm9aU0lzSW05MWRHVnlRMkZqYUdVaUxDSnViMlJsU1c1a1pYZ2lMQ0p6ZEdGeWRDSXNJbkJoY21WdWRDSXNJblZ6WlVOaFkyaGxJaXdpYkdGemRFTm9hV3hrSWl3aWRXNXBjWFZsU1VRaUxDSndjMlYxWkc4aUxDSmhjbWR6SWl3aWMyVjBSbWxzZEdWeWN5SXNJbWxrZUNJc0ltMWhkR05vWldRaUxDSnViM1FpTENKdFlYUmphR1Z5SWl3aWRXNXRZWFJqYUdWa0lpd2lhR0Z6SWl3aWJHRnVaeUlzSW1Wc1pXMU1ZVzVuSWl3aWFHRnphQ0lzSW14dlkyRjBhVzl1SWl3aWNtOXZkQ0lzSW1adlkzVnpJaXdpWVdOMGFYWmxSV3hsYldWdWRDSXNJbWhoYzBadlkzVnpJaXdpYUhKbFppSXNJblJoWWtsdVpHVjRJaXdpWlc1aFlteGxaQ0lzSW1Ob1pXTnJaV1FpTENKelpXeGxZM1JsWkNJc0luTmxiR1ZqZEdWa1NXNWtaWGdpTENKbGJYQjBlU0lzSW1obFlXUmxjaUlzSW1KMWRIUnZiaUlzSWw5dFlYUmphRWx1WkdWNFpYTWlMQ0pzZENJc0ltZDBJaXdpY21Ga2FXOGlMQ0pqYUdWamEySnZlQ0lzSW1acGJHVWlMQ0p3WVhOemQyOXlaQ0lzSW1sdFlXZGxJaXdpYzNWaWJXbDBJaXdpY21WelpYUWlMQ0owYjJ0bGJuTWlMQ0pqYjIxaWFXNWhkRzl5SWl3aVltRnpaU0lzSW5OcmFYQWlMQ0pqYUdWamEwNXZia1ZzWlcxbGJuUnpJaXdpWkc5dVpVNWhiV1VpTENKdmJHUkRZV05vWlNJc0ltNWxkME5oWTJobElpd2laV3hsYldWdWRFMWhkR05vWlhJaUxDSnRZWFJqYUdWeWN5SXNJbU52Ym1SbGJuTmxJaXdpYm1WM1ZXNXRZWFJqYUdWa0lpd2liV0Z3Y0dWa0lpd2ljMlYwVFdGMFkyaGxjaUlzSW5CdmMzUkdhV3gwWlhJaUxDSndiM04wUm1sdVpHVnlJaXdpY0c5emRGTmxiR1ZqZEc5eUlpd2lkR1Z0Y0NJc0luQnlaVTFoY0NJc0luQnZjM1JOWVhBaUxDSndjbVZsZUdsemRHbHVaeUlzSW1OdmJuUmxlSFJ6SWl3aWJYVnNkR2x3YkdWRGIyNTBaWGgwY3lJc0ltMWhkR05vWlhKSmJpSXNJbTFoZEdOb1pYSlBkWFFpTENKdFlYUmphR1Z5Um5KdmJWUnZhMlZ1Y3lJc0ltTm9aV05yUTI5dWRHVjRkQ0lzSW14bFlXUnBibWRTWld4aGRHbDJaU0lzSW1sdGNHeHBZMmwwVW1Wc1lYUnBkbVVpTENKdFlYUmphRU52Ym5SbGVIUWlMQ0p0WVhSamFFRnVlVU52Ym5SbGVIUWlMQ0ptYVd4MFpYSnpJaXdpY0dGeWMyVlBibXg1SWl3aWMyOUdZWElpTENKd2NtVkdhV3gwWlhKeklpd2lZMkZqYUdWa0lpd2ljMlYwVFdGMFkyaGxjbk1pTENKbGJHVnRaVzUwVFdGMFkyaGxjbk1pTENKaWVWTmxkQ0lzSW1KNVJXeGxiV1Z1ZENJc0luTjFjR1Z5VFdGMFkyaGxjaUlzSW05MWRHVnliVzl6ZENJc0ltMWhkR05vWldSRGIzVnVkQ0lzSW5ObGRFMWhkR05vWldRaUxDSmpiMjUwWlhoMFFtRmphM1Z3SWl3aVpHbHljblZ1YzFWdWFYRjFaU0lzSW0xaGRHTm9aWEpHY205dFIzSnZkWEJOWVhSamFHVnljeUlzSW5SdmEyVnVJaXdpWTI5dGNHbHNaV1FpTENKZmJtRnRaU0lzSW1SbFptRjFiSFJXWVd4MVpTSXNJblZ1YVhGMVpTSXNJbWx6V0UxTVJHOWpJaXdpWlhOallYQmxVMlZzWldOMGIzSWlMQ0oxYm5ScGJDSXNJblJ5ZFc1allYUmxJaXdpYVhNaUxDSnphV0pzYVc1bmN5SXNJbTRpTENKeWJtVmxaSE5EYjI1MFpYaDBJaXdpY25OcGJtZHNaVlJoWnlJc0luZHBibTV2ZHlJc0luRjFZV3hwWm1sbGNpSXNJbk5sYkdZaUxDSnliMjkwYWxGMVpYSjVJaXdpY0dGeWMyVklWRTFNSWl3aWNtVmhaSGtpTENKeWNHRnlaVzUwYzNCeVpYWWlMQ0puZFdGeVlXNTBaV1ZrVlc1cGNYVmxJaXdpWTJocGJHUnlaVzRpTENKamIyNTBaVzUwY3lJc0luQnlaWFlpTENKemFXSnNhVzVuSWl3aWRHRnlaMlYwY3lJc0ltd2lMQ0pqYkc5elpYTjBJaXdpYVc1a1pYZ2lMQ0p3Y21WMlFXeHNJaXdpWVdSa0lpd2lZV1JrUW1GamF5SXNJbkJoY21WdWRITWlMQ0p3WVhKbGJuUnpWVzUwYVd3aUxDSnVaWGgwUVd4c0lpd2libVY0ZEZWdWRHbHNJaXdpY0hKbGRsVnVkR2xzSWl3aVkyOXVkR1Z1ZEVSdlkzVnRaVzUwSWl3aVkyOXVkR1Z1ZENJc0luSmxkbVZ5YzJVaUxDSnlibTkwYUhSdGJIZG9hWFJsSWl3aVNXUmxiblJwZEhraUxDSjJJaXdpVkdoeWIzZGxjaUlzSW1WNElpd2lZV1J2Y0hSV1lXeDFaU0lzSW5KbGMyOXNkbVVpTENKeVpXcGxZM1FpTENKdWIxWmhiSFZsSWl3aWJXVjBhRzlrSWl3aWNISnZiV2x6WlNJc0ltWmhhV3dpTENKMGFHVnVJaXdpUTJGc2JHSmhZMnR6SWl3aWIySnFaV04wSWl3aVh5SXNJbVpzWVdjaUxDSmpjbVZoZEdWUGNIUnBiMjV6SWl3aVptbHlhVzVuSWl3aWJXVnRiM0o1SWl3aVptbHlaV1FpTENKc2IyTnJaV1FpTENKeGRXVjFaU0lzSW1acGNtbHVaMGx1WkdWNElpd2labWx5WlNJc0ltOXVZMlVpTENKemRHOXdUMjVHWVd4elpTSXNJbkpsYlc5MlpTSXNJbVJwYzJGaWJHVWlMQ0pzYjJOcklpd2labWx5WlZkcGRHZ2lMQ0pFWldabGNuSmxaQ0lzSW1aMWJtTWlMQ0owZFhCc1pYTWlMQ0p6ZEdGMFpTSXNJbUZzZDJGNWN5SXNJbVJsWm1WeWNtVmtJaXdpWTJGMFkyZ2lMQ0p3YVhCbElpd2labTV6SWl3aWJtVjNSR1ZtWlhJaUxDSjBkWEJzWlNJc0luSmxkSFZ5Ym1Wa0lpd2ljSEp2WjNKbGMzTWlMQ0p1YjNScFpua2lMQ0p2YmtaMWJHWnBiR3hsWkNJc0ltOXVVbVZxWldOMFpXUWlMQ0p2YmxCeWIyZHlaWE56SWl3aWJXRjRSR1Z3ZEdnaUxDSmtaWEIwYUNJc0luTndaV05wWVd3aUxDSjBhR0YwSWl3aWJXbG5hSFJVYUhKdmR5SXNJbFI1Y0dWRmNuSnZjaUlzSW01dmRHbG1lVmRwZEdnaUxDSnlaWE52YkhabFYybDBhQ0lzSW5CeWIyTmxjM01pTENKbGVHTmxjSFJwYjI1SWIyOXJJaXdpYzNSaFkydFVjbUZqWlNJc0luSmxhbVZqZEZkcGRHZ2lMQ0puWlhSVGRHRmphMGh2YjJzaUxDSnpaWFJVYVcxbGIzVjBJaXdpYzNSaGRHVlRkSEpwYm1jaUxDSjNhR1Z1SWl3aWMybHVaMnhsVm1Gc2RXVWlMQ0p5WlcxaGFXNXBibWNpTENKeVpYTnZiSFpsUTI5dWRHVjRkSE1pTENKeVpYTnZiSFpsVm1Gc2RXVnpJaXdpY0hKcGJXRnllU0lzSW5Wd1pHRjBaVVoxYm1NaUxDSnlaWEp5YjNKT1lXMWxjeUlzSW5OMFlXTnJJaXdpWTI5dWMyOXNaU0lzSW5kaGNtNGlMQ0p0WlhOellXZGxJaXdpY21WaFpIbEZlR05sY0hScGIyNGlMQ0p5WldGa2VVeHBjM1FpTENKamIyMXdiR1YwWldRaUxDSnlaVzF2ZG1WRmRtVnVkRXhwYzNSbGJtVnlJaXdpY21WaFpIbFhZV2wwSWl3aWQyRnBkQ0lzSW5KbFlXUjVVM1JoZEdVaUxDSmtiMU5qY205c2JDSXNJbUZqWTJWemN5SXNJbU5vWVdsdVlXSnNaU0lzSW1WdGNIUjVSMlYwSWl3aWNtRjNJaXdpWW5Wc2F5SXNJbDlyWlhraUxDSnliWE5RY21WbWFYZ2lMQ0p5WkdGemFFRnNjR2hoSWl3aVptTmhiV1ZzUTJGelpTSXNJbDloYkd3aUxDSnNaWFIwWlhJaUxDSjBiMVZ3Y0dWeVEyRnpaU0lzSW1OaGJXVnNRMkZ6WlNJc0luTjBjbWx1WnlJc0ltRmpZMlZ3ZEVSaGRHRWlMQ0p2ZDI1bGNpSXNJa1JoZEdFaUxDSjFhV1FpTENKa1pXWnBibVZRY205d1pYSjBlU0lzSW1OdmJtWnBaM1Z5WVdKc1pTSXNJbk5sZENJc0ltUmhkR0VpTENKd2NtOXdJaXdpYUdGelJHRjBZU0lzSW1SaGRHRlFjbWwySWl3aVpHRjBZVlZ6WlhJaUxDSnlZbkpoWTJVaUxDSnliWFZzZEdsRVlYTm9JaXdpWkdGMFlVRjBkSElpTENKS1UwOU9JaXdpY0dGeWMyVWlMQ0puWlhSRVlYUmhJaXdpY21WdGIzWmxSR0YwWVNJc0lsOWtZWFJoSWl3aVgzSmxiVzkyWlVSaGRHRWlMQ0prWlhGMVpYVmxJaXdpYzNSaGNuUk1aVzVuZEdnaUxDSm9iMjlyY3lJc0lsOXhkV1YxWlVodmIydHpJaXdpYzNSdmNDSXNJbk5sZEhSbGNpSXNJbU5zWldGeVVYVmxkV1VpTENKamIzVnVkQ0lzSW1SbFptVnlJaXdpY0c1MWJTSXNJbk52ZFhKalpTSXNJbkpqYzNOT2RXMGlMQ0pqYzNORmVIQmhibVFpTENKcGMwRjBkR0ZqYUdWa0lpd2lZMjl0Y0c5elpXUWlMQ0puWlhSU2IyOTBUbTlrWlNJc0ltbHpTR2xrWkdWdVYybDBhR2x1VkhKbFpTSXNJbk4wZVd4bElpd2laR2x6Y0d4aGVTSXNJbU56Y3lJc0ltRmthblZ6ZEVOVFV5SXNJblpoYkhWbFVHRnlkSE1pTENKMGQyVmxiaUlzSW1Ga2FuVnpkR1ZrSWl3aWMyTmhiR1VpTENKdFlYaEpkR1Z5WVhScGIyNXpJaXdpWTNWeWNtVnVkRlpoYkhWbElpd2lhVzVwZEdsaGJDSXNJblZ1YVhRaUxDSmpjM05PZFcxaVpYSWlMQ0pwYm1sMGFXRnNTVzVWYm1sMElpd2laR1ZtWVhWc2RFUnBjM0JzWVhsTllYQWlMQ0puWlhSRVpXWmhkV3gwUkdsemNHeGhlU0lzSW1KdlpIa2lMQ0p6YUc5M1NHbGtaU0lzSW5Ob2IzY2lMQ0oyWVd4MVpYTWlMQ0pvYVdSbElpd2lkRzluWjJ4bElpd2laR2wySWl3aWNtTm9aV05yWVdKc1pWUjVjR1VpTENKeWRHRm5UbUZ0WlNJc0luSnpZM0pwY0hSVWVYQmxJaXdpWTNKbFlYUmxSRzlqZFcxbGJuUkdjbUZuYldWdWRDSXNJbU5vWldOclEyeHZibVVpTENKamJHOXVaVTV2WkdVaUxDSnViME5zYjI1bFEyaGxZMnRsWkNJc0ltOXdkR2x2YmlJc0luZHlZWEJOWVhBaUxDSjBhR1ZoWkNJc0ltTnZiQ0lzSW5SeUlpd2lkR1FpTENKZlpHVm1ZWFZzZENJc0ltZGxkRUZzYkNJc0luTmxkRWRzYjJKaGJFVjJZV3dpTENKeVpXWkZiR1Z0Wlc1MGN5SXNJblJpYjJSNUlpd2lkR1p2YjNRaUxDSmpiMnhuY205MWNDSXNJbU5oY0hScGIyNGlMQ0owYUNJc0ltOXdkR2R5YjNWd0lpd2lZblZwYkdSR2NtRm5iV1Z1ZENJc0luTmpjbWx3ZEhNaUxDSnpaV3hsWTNScGIyNGlMQ0pwWjI1dmNtVmtJaXdpZDNKaGNDSXNJbUYwZEdGamFHVmtJaXdpWm5KaFoyMWxiblFpTENKdWIyUmxjeUlzSW1oMGJXeFFjbVZtYVd4MFpYSWlMQ0pqY21WaGRHVlVaWGgwVG05a1pTSXNJbkowZVhCbGJtRnRaWE53WVdObElpd2ljbVYwZFhKdVZISjFaU0lzSW5KbGRIVnlia1poYkhObElpd2laWGh3WldOMFUzbHVZeUlzSW1WeWNpSXNJbk5oWm1WQlkzUnBkbVZGYkdWdFpXNTBJaXdpYjI0aUxDSjBlWEJsY3lJc0ltOXVaU0lzSW05eWFXZEdiaUlzSW1WMlpXNTBJaXdpYjJabUlpd2liR1YyWlhKaFoyVk9ZWFJwZG1VaUxDSnViM1JCYzNsdVl5SXNJbk5oZG1Wa0lpd2lhWE5VY21sbloyVnlJaXdpWkdWc1pXZGhkR1ZVZVhCbElpd2ljM1J2Y0ZCeWIzQmhaMkYwYVc5dUlpd2ljM1J2Y0VsdGJXVmthV0YwWlZCeWIzQmhaMkYwYVc5dUlpd2ljSEpsZG1WdWRFUmxabUYxYkhRaUxDSjBjbWxuWjJWeUlpd2lSWFpsYm5RaUxDSm9ZVzVrYkdWUFltcEpiaUlzSW1WMlpXNTBTR0Z1Wkd4bElpd2laWFpsYm5Seklpd2lkQ0lzSW1oaGJtUnNaVTlpYWlJc0ltaGhibVJzWlhKeklpd2libUZ0WlhOd1lXTmxjeUlzSW05eWFXZFVlWEJsSWl3aVpXeGxiVVJoZEdFaUxDSmpjbVZoZEdVaUxDSm9ZVzVrYkdVaUxDSjBjbWxuWjJWeVpXUWlMQ0prYVhOd1lYUmphQ0lzSW1KcGJtUlVlWEJsSWl3aVpHVnNaV2RoZEdWRGIzVnVkQ0lzSW5ObGRIVndJaXdpYldGd2NHVmtWSGx3WlhNaUxDSnZjbWxuUTI5MWJuUWlMQ0owWldGeVpHOTNiaUlzSW5KbGJXOTJaVVYyWlc1MElpd2libUYwYVhabFJYWmxiblFpTENKb1lXNWtiR1Z5VVhWbGRXVWlMQ0ptYVhnaUxDSmtaV3hsWjJGMFpWUmhjbWRsZENJc0luQnlaVVJwYzNCaGRHTm9JaXdpYVhOUWNtOXdZV2RoZEdsdmJsTjBiM0J3WldRaUxDSmpkWEp5Wlc1MFZHRnlaMlYwSWl3aWFYTkpiVzFsWkdsaGRHVlFjbTl3WVdkaGRHbHZibE4wYjNCd1pXUWlMQ0p5Ym1GdFpYTndZV05sSWl3aWNHOXpkRVJwYzNCaGRHTm9JaXdpYldGMFkyaGxaRWhoYm1Sc1pYSnpJaXdpYldGMFkyaGxaRk5sYkdWamRHOXljeUlzSW1Ga1pGQnliM0FpTENKb2IyOXJJaXdpWlc1MWJXVnlZV0pzWlNJc0ltOXlhV2RwYm1Gc1JYWmxiblFpTENKM2NtbDBZV0pzWlNJc0lteHZZV1FpTENKdWIwSjFZbUpzWlNJc0ltTnNhV05ySWl3aVltVm1iM0psZFc1c2IyRmtJaXdpY21WMGRYSnVWbUZzZFdVaUxDSndjbTl3Y3lJc0ltbHpSR1ZtWVhWc2RGQnlaWFpsYm5SbFpDSXNJbVJsWm1GMWJIUlFjbVYyWlc1MFpXUWlMQ0p5Wld4aGRHVmtWR0Z5WjJWMElpd2lkR2x0WlZOMFlXMXdJaXdpYm05M0lpd2lhWE5UYVcxMWJHRjBaV1FpTENKaGJIUkxaWGtpTENKaWRXSmliR1Z6SWl3aVkyRnVZMlZzWVdKc1pTSXNJbU5vWVc1blpXUlViM1ZqYUdWeklpd2lZM1J5YkV0bGVTSXNJbVJsZEdGcGJDSXNJbVYyWlc1MFVHaGhjMlVpTENKdFpYUmhTMlY1SWl3aWNHRm5aVmdpTENKd1lXZGxXU0lzSW5Ob2FXWjBTMlY1SWl3aWRtbGxkeUlzSW1Ob1lYSWlMQ0pqYUdGeVEyOWtaU0lzSW10bGVVTnZaR1VpTENKaWRYUjBiMjV6SWl3aVkyeHBaVzUwV0NJc0ltTnNhV1Z1ZEZraUxDSnZabVp6WlhSWUlpd2liMlptYzJWMFdTSXNJbkJ2YVc1MFpYSkpaQ0lzSW5CdmFXNTBaWEpVZVhCbElpd2ljMk55WldWdVdDSXNJbk5qY21WbGJsa2lMQ0owWVhKblpYUlViM1ZqYUdWeklpd2lkRzlGYkdWdFpXNTBJaXdpZEc5MVkyaGxjeUlzSW5kb2FXTm9JaXdpWW14MWNpSXNJbTF2ZFhObFpXNTBaWElpTENKdGIzVnpaV3hsWVhabElpd2ljRzlwYm5SbGNtVnVkR1Z5SWl3aWNHOXBiblJsY214bFlYWmxJaXdpYjNKcFp5SXNJbkpsYkdGMFpXUWlMQ0p5Ym05SmJtNWxjbWgwYld3aUxDSnlZMmhsWTJ0bFpDSXNJbkpqYkdWaGJsTmpjbWx3ZENJc0ltMWhibWx3ZFd4aGRHbHZibFJoY21kbGRDSXNJbVJwYzJGaWJHVlRZM0pwY0hRaUxDSnlaWE4wYjNKbFUyTnlhWEIwSWl3aVkyeHZibVZEYjNCNVJYWmxiblFpTENKa1pYTjBJaXdpZFdSaGRHRlBiR1FpTENKMVpHRjBZVU4xY2lJc0ltUnZiVTFoYm1sd0lpd2lZMjlzYkdWamRHbHZiaUlzSW1oaGMxTmpjbWx3ZEhNaUxDSnBUbTlEYkc5dVpTSXNJblpoYkhWbFNYTkdkVzVqZEdsdmJpSXNJbWgwYld3aUxDSmZaWFpoYkZWeWJDSXNJbXRsWlhCRVlYUmhJaXdpWTJ4bFlXNUVZWFJoSWl3aVpHRjBZVUZ1WkVWMlpXNTBjeUlzSW1SbFpYQkVZWFJoUVc1a1JYWmxiblJ6SWl3aWMzSmpSV3hsYldWdWRITWlMQ0prWlhOMFJXeGxiV1Z1ZEhNaUxDSnBibEJoWjJVaUxDSmtaWFJoWTJnaUxDSmhjSEJsYm1RaUxDSndjbVZ3Wlc1a0lpd2lhVzV6WlhKMFFtVm1iM0psSWl3aVltVm1iM0psSWl3aVlXWjBaWElpTENKeVpYQnNZV05sVjJsMGFDSXNJbkpsY0d4aFkyVkRhR2xzWkNJc0ltRndjR1Z1WkZSdklpd2ljSEpsY0dWdVpGUnZJaXdpYVc1elpYSjBRV1owWlhJaUxDSnlaWEJzWVdObFFXeHNJaXdpYjNKcFoybHVZV3dpTENKcGJuTmxjblFpTENKeWJuVnRibTl1Y0hnaUxDSm5aWFJUZEhsc1pYTWlMQ0p2Y0dWdVpYSWlMQ0puWlhSRGIyMXdkWFJsWkZOMGVXeGxJaXdpYzNkaGNDSXNJbTlzWkNJc0luSmliM2hUZEhsc1pTSXNJbU4xY2tOVFV5SXNJbU52YlhCMWRHVmtJaXdpZDJsa2RHZ2lMQ0p0YVc1WGFXUjBhQ0lzSW0xaGVGZHBaSFJvSWl3aVoyVjBVSEp2Y0dWeWRIbFdZV3gxWlNJc0luQnBlR1ZzUW05NFUzUjViR1Z6SWl3aVlXUmtSMlYwU0c5dmEwbG1JaXdpWTI5dVpHbDBhVzl1Um00aUxDSm9iMjlyUm00aUxDSmpiMjF3ZFhSbFUzUjViR1ZVWlhOMGN5SXNJbU52Ym5SaGFXNWxjaUlzSW1OemMxUmxlSFFpTENKa2FYWlRkSGxzWlNJc0luQnBlR1ZzVUc5emFYUnBiMjVXWVd3aUxDSnlaV3hwWVdKc1pVMWhjbWRwYmt4bFpuUldZV3dpTENKeWIzVnVaRkJwZUdWc1RXVmhjM1Z5WlhNaUxDSnRZWEpuYVc1TVpXWjBJaXdpY21sbmFIUWlMQ0p3YVhobGJFSnZlRk4wZVd4bGMxWmhiQ0lzSW1KdmVGTnBlbWx1WjFKbGJHbGhZbXhsVm1Gc0lpd2ljRzl6YVhScGIyNGlMQ0p6WTNKdmJHeGliM2hUYVhwbFZtRnNJaXdpYjJabWMyVjBWMmxrZEdnaUxDSnRaV0Z6ZFhKbElpd2ljbTkxYm1RaUxDSndZWEp6WlVac2IyRjBJaXdpY21Wc2FXRmliR1ZVY2tScGJXVnVjMmx2Ym5OV1lXd2lMQ0ppWVdOclozSnZkVzVrUTJ4cGNDSXNJbU5zWldGeVEyeHZibVZUZEhsc1pTSXNJbUp2ZUZOcGVtbHVaMUpsYkdsaFlteGxJaXdpY0dsNFpXeFFiM05wZEdsdmJpSXNJbkpsYkdsaFlteGxUV0Z5WjJsdVRHVm1kQ0lzSW5OamNtOXNiR0p2ZUZOcGVtVWlMQ0p5Wld4cFlXSnNaVlJ5UkdsdFpXNXphVzl1Y3lJc0luUmhZbXhsSWl3aWRISkRhR2xzWkNJc0luUnlVM1I1YkdVaUxDSm9aV2xuYUhRaUxDSndZWEp6WlVsdWRDSXNJbUp2Y21SbGNsUnZjRmRwWkhSb0lpd2lZbTl5WkdWeVFtOTBkRzl0VjJsa2RHZ2lMQ0p2Wm1aelpYUklaV2xuYUhRaUxDSmpjM05RY21WbWFYaGxjeUlzSW1WdGNIUjVVM1I1YkdVaUxDSjJaVzVrYjNKUWNtOXdjeUlzSW1acGJtRnNVSEp2Y0U1aGJXVWlMQ0ptYVc1aGJDSXNJbU56YzFCeWIzQnpJaXdpWTJGd1RtRnRaU0lzSW5abGJtUnZjbEJ5YjNCT1lXMWxJaXdpY21ScGMzQnNZWGx6ZDJGd0lpd2ljbU4xYzNSdmJWQnliM0FpTENKamMzTlRhRzkzSWl3aWRtbHphV0pwYkdsMGVTSXNJbU56YzA1dmNtMWhiRlJ5WVc1elptOXliU0lzSW14bGRIUmxjbE53WVdOcGJtY2lMQ0ptYjI1MFYyVnBaMmgwSWl3aWMyVjBVRzl6YVhScGRtVk9kVzFpWlhJaUxDSnpkV0owY21GamRDSXNJbTFoZUNJc0ltSnZlRTF2WkdWc1FXUnFkWE4wYldWdWRDSXNJbVJwYldWdWMybHZiaUlzSW1KdmVDSXNJbWx6UW05eVpHVnlRbTk0SWl3aWMzUjViR1Z6SWl3aVkyOXRjSFYwWldSV1lXd2lMQ0psZUhSeVlTSXNJbVJsYkhSaElpd2lZMlZwYkNJc0ltZGxkRmRwWkhSb1QzSklaV2xuYUhRaUxDSjJZV3gxWlVselFtOXlaR1Z5UW05NElpd2liMlptYzJWMFVISnZjQ0lzSW1kbGRFTnNhV1Z1ZEZKbFkzUnpJaXdpVkhkbFpXNGlMQ0psWVhOcGJtY2lMQ0pqYzNOSWIyOXJjeUlzSW05d1lXTnBkSGtpTENKaGJtbHRZWFJwYjI1SmRHVnlZWFJwYjI1RGIzVnVkQ0lzSW1OdmJIVnRia052ZFc1MElpd2labWxzYkU5d1lXTnBkSGtpTENKbWJHVjRSM0p2ZHlJc0ltWnNaWGhUYUhKcGJtc2lMQ0puY21sa1FYSmxZU0lzSW1keWFXUkRiMngxYlc0aUxDSm5jbWxrUTI5c2RXMXVSVzVrSWl3aVozSnBaRU52YkhWdGJsTjBZWEowSWl3aVozSnBaRkp2ZHlJc0ltZHlhV1JTYjNkRmJtUWlMQ0puY21sa1VtOTNVM1JoY25RaUxDSnNhVzVsU0dWcFoyaDBJaXdpYjNKa1pYSWlMQ0p2Y25Cb1lXNXpJaXdpZDJsa2IzZHpJaXdpZWtsdVpHVjRJaXdpZW05dmJTSXNJbTl5YVdkT1lXMWxJaXdpYVhORGRYTjBiMjFRY205d0lpd2ljMlYwVUhKdmNHVnlkSGtpTENKcGMwWnBibWwwWlNJc0ltZGxkRUp2ZFc1a2FXNW5RMnhwWlc1MFVtVmpkQ0lzSW5OamNtOXNiR0p2ZUZOcGVtVkNkV2RuZVNJc0lteGxablFpTENKdFlYSm5hVzRpTENKd1lXUmthVzVuSWl3aVltOXlaR1Z5SWl3aWNISmxabWw0SWl3aWMzVm1abWw0SWl3aVpYaHdZVzVrSWl3aVpYaHdZVzVrWldRaUxDSndZWEowY3lJc0luQnliM0JJYjI5cmN5SXNJbkoxYmlJc0luQmxjbU5sYm5RaUxDSmxZWE5sWkNJc0ltUjFjbUYwYVc5dUlpd2ljRzl6SWl3aWMzUmxjQ0lzSW1aNElpd2ljMk55YjJ4c1ZHOXdJaXdpYzJOeWIyeHNUR1ZtZENJc0lteHBibVZoY2lJc0luQWlMQ0p6ZDJsdVp5SXNJbU52Y3lJc0lsQkpJaXdpWm5oT2IzY2lMQ0pwYmxCeWIyZHlaWE56SWl3aWNtWjRkSGx3WlhNaUxDSnljblZ1SWl3aWMyTm9aV1IxYkdVaUxDSm9hV1JrWlc0aUxDSnlaWEYxWlhOMFFXNXBiV0YwYVc5dVJuSmhiV1VpTENKcGJuUmxjblpoYkNJc0luUnBZMnNpTENKamNtVmhkR1ZHZUU1dmR5SXNJbWRsYmtaNElpd2lhVzVqYkhWa1pWZHBaSFJvSWl3aVkzSmxZWFJsVkhkbFpXNGlMQ0poYm1sdFlYUnBiMjRpTENKQmJtbHRZWFJwYjI0aUxDSjBkMlZsYm1WeWN5SXNJbkJ5YjNCbGNuUnBaWE1pTENKemRHOXdjR1ZrSWl3aWNISmxabWxzZEdWeWN5SXNJbU4xY25KbGJuUlVhVzFsSWl3aWMzUmhjblJVYVcxbElpd2lkSGRsWlc1eklpd2liM0IwY3lJc0luTndaV05wWVd4RllYTnBibWNpTENKdmNtbG5hVzVoYkZCeWIzQmxjblJwWlhNaUxDSnZjbWxuYVc1aGJFOXdkR2x2Ym5NaUxDSm5iM1J2Ulc1a0lpd2ljSEp2Y0VacGJIUmxjaUlzSW1KcGJtUWlMQ0pqYjIxd2JHVjBaU0lzSW5ScGJXVnlJaXdpWVc1cGJTSXNJaW9pTENKMGQyVmxibVZ5SWl3aWIyeGtabWx5WlNJc0luQnliM0JVZDJWbGJpSXNJbkpsYzNSdmNtVkVhWE53YkdGNUlpd2lhWE5DYjNnaUxDSmtZWFJoVTJodmR5SXNJblZ1Y1hWbGRXVmtJaXdpYjNabGNtWnNiM2NpTENKdmRtVnlabXh2ZDFnaUxDSnZkbVZ5Wm14dmQxa2lMQ0p3Y21WbWFXeDBaWElpTENKemNHVmxaQ0lzSW05d2RDSXNJbk53WldWa2N5SXNJbVpoWkdWVWJ5SXNJblJ2SWl3aVlXNXBiV0YwWlNJc0ltOXdkR0ZzYkNJc0ltUnZRVzVwYldGMGFXOXVJaXdpWm1sdWFYTm9JaXdpYzNSdmNGRjFaWFZsSWl3aWRHbHRaWEp6SWl3aVkzTnpSbTRpTENKemJHbGtaVVJ2ZDI0aUxDSnpiR2xrWlZWd0lpd2ljMnhwWkdWVWIyZG5iR1VpTENKbVlXUmxTVzRpTENKbVlXUmxUM1YwSWl3aVptRmtaVlJ2WjJkc1pTSXNJbk5zYjNjaUxDSm1ZWE4wSWl3aVpHVnNZWGtpTENKMGFXMWxJaXdpZEdsdFpXOTFkQ0lzSW1Oc1pXRnlWR2x0Wlc5MWRDSXNJbU5vWldOclQyNGlMQ0p2Y0hSVFpXeGxZM1JsWkNJc0luSmhaR2x2Vm1Gc2RXVWlMQ0ppYjI5c1NHOXZheUlzSW5KbGJXOTJaVUYwZEhJaUxDSnVWSGx3WlNJc0ltRjBkSEpJYjI5cmN5SXNJbUYwZEhKT1lXMWxjeUlzSW1kbGRIUmxjaUlzSW14dmQyVnlZMkZ6WlU1aGJXVWlMQ0p5Wm05amRYTmhZbXhsSWl3aWNtTnNhV05yWVdKc1pTSXNJbk4wY21sd1FXNWtRMjlzYkdGd2MyVWlMQ0puWlhSRGJHRnpjeUlzSW1Oc1lYTnpaWE5VYjBGeWNtRjVJaXdpY21WdGIzWmxVSEp2Y0NJc0luQnliM0JHYVhnaUxDSjBZV0pwYm1SbGVDSXNJbVp2Y2lJc0ltTnNZWE56SWl3aVlXUmtRMnhoYzNNaUxDSmpiR0Z6YzJWeklpd2lZM1Z5Vm1Gc2RXVWlMQ0pqYkdGNmVpSXNJbVpwYm1Gc1ZtRnNkV1VpTENKeVpXMXZkbVZEYkdGemN5SXNJblJ2WjJkc1pVTnNZWE56SWl3aWMzUmhkR1ZXWVd3aUxDSnBjMVpoYkdsa1ZtRnNkV1VpTENKamJHRnpjMDVoYldWeklpd2lhR0Z6UTJ4aGMzTWlMQ0p5Y21WMGRYSnVJaXdpZG1Gc1NHOXZhM01pTENKdmNIUnBiMjVUWlhRaUxDSm1iMk4xYzJsdUlpd2ljbVp2WTNWelRXOXljR2dpTENKemRHOXdVSEp2Y0dGbllYUnBiMjVEWVd4c1ltRmpheUlzSW05dWJIbElZVzVrYkdWeWN5SXNJbUoxWW1Kc1pWUjVjR1VpTENKdmJuUjVjR1VpTENKc1lYTjBSV3hsYldWdWRDSXNJbVYyWlc1MFVHRjBhQ0lzSW5CaGNtVnVkRmRwYm1SdmR5SXNJbk5wYlhWc1lYUmxJaXdpZEhKcFoyZGxja2hoYm1Sc1pYSWlMQ0poZEhSaFkyaGxjeUlzSW5KeGRXVnllU0lzSW5CaGNuTmxXRTFNSWl3aWNHRnljMlZ5UlhKeWIzSkZiR1Z0SWl3aVJFOU5VR0Z5YzJWeUlpd2ljR0Z5YzJWR2NtOXRVM1J5YVc1bklpd2ljbUp5WVdOclpYUWlMQ0p5UTFKTVJpSXNJbkp6ZFdKdGFYUjBaWEpVZVhCbGN5SXNJbkp6ZFdKdGFYUjBZV0pzWlNJc0ltSjFhV3hrVUdGeVlXMXpJaXdpZEhKaFpHbDBhVzl1WVd3aUxDSndZWEpoYlNJc0luTWlMQ0oyWVd4MVpVOXlSblZ1WTNScGIyNGlMQ0psYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFpTENKelpYSnBZV3hwZW1VaUxDSnpaWEpwWVd4cGVtVkJjbkpoZVNJc0luSXlNQ0lzSW5Kb1lYTm9JaXdpY21GdWRHbERZV05vWlNJc0luSm9aV0ZrWlhKeklpd2ljbTV2UTI5dWRHVnVkQ0lzSW5Kd2NtOTBiMk52YkNJc0luUnlZVzV6Y0c5eWRITWlMQ0poYkd4VWVYQmxjeUlzSW05eWFXZHBia0Z1WTJodmNpSXNJbUZrWkZSdlVISmxabWxzZEdWeWMwOXlWSEpoYm5Od2IzSjBjeUlzSW5OMGNuVmpkSFZ5WlNJc0ltUmhkR0ZVZVhCbFJYaHdjbVZ6YzJsdmJpSXNJbVJoZEdGVWVYQmxJaXdpWkdGMFlWUjVjR1Z6SWl3aWFXNXpjR1ZqZEZCeVpXWnBiSFJsY25OUGNsUnlZVzV6Y0c5eWRITWlMQ0pxY1ZoSVVpSXNJbWx1YzNCbFkzUmxaQ0lzSW5ObFpXdHBibWRVY21GdWMzQnZjblFpTENKcGJuTndaV04wSWl3aWNISmxabWxzZEdWeVQzSkdZV04wYjNKNUlpd2laR0YwWVZSNWNHVlBjbFJ5WVc1emNHOXlkQ0lzSW1GcVlYaEZlSFJsYm1RaUxDSm1iR0YwVDNCMGFXOXVjeUlzSW1GcVlYaFRaWFIwYVc1bmN5SXNJbUZqZEdsMlpTSXNJbXhoYzNSTmIyUnBabWxsWkNJc0ltVjBZV2NpTENKMWNtd2lMQ0pwYzB4dlkyRnNJaXdpY0hKdmRHOWpiMndpTENKd2NtOWpaWE56UkdGMFlTSXNJbUZ6ZVc1aklpd2lZMjl1ZEdWdWRGUjVjR1VpTENKaFkyTmxjSFJ6SWl3aWFuTnZiaUlzSW5KbGMzQnZibk5sUm1sbGJHUnpJaXdpWTI5dWRtVnlkR1Z5Y3lJc0lpb2dkR1Y0ZENJc0luUmxlSFFnYUhSdGJDSXNJblJsZUhRZ2FuTnZiaUlzSW5SbGVIUWdlRzFzSWl3aVlXcGhlRk5sZEhWd0lpd2ljMlYwZEdsdVozTWlMQ0poYW1GNFVISmxabWxzZEdWeUlpd2lZV3BoZUZSeVlXNXpjRzl5ZENJc0ltRnFZWGdpTENKMGNtRnVjM0J2Y25RaUxDSmpZV05vWlZWU1RDSXNJbkpsYzNCdmJuTmxTR1ZoWkdWeWMxTjBjbWx1WnlJc0luSmxjM0J2Ym5ObFNHVmhaR1Z5Y3lJc0luUnBiV1Z2ZFhSVWFXMWxjaUlzSW5WeWJFRnVZMmh2Y2lJc0ltWnBjbVZIYkc5aVlXeHpJaXdpZFc1allXTm9aV1FpTENKallXeHNZbUZqYTBOdmJuUmxlSFFpTENKbmJHOWlZV3hGZG1WdWRFTnZiblJsZUhRaUxDSmpiMjF3YkdWMFpVUmxabVZ5Y21Wa0lpd2ljM1JoZEhWelEyOWtaU0lzSW5KbGNYVmxjM1JJWldGa1pYSnpJaXdpY21WeGRXVnpkRWhsWVdSbGNuTk9ZVzFsY3lJc0luTjBja0ZpYjNKMElpd2laMlYwVW1WemNHOXVjMlZJWldGa1pYSWlMQ0puWlhSQmJHeFNaWE53YjI1elpVaGxZV1JsY25NaUxDSnpaWFJTWlhGMVpYTjBTR1ZoWkdWeUlpd2liM1psY25KcFpHVk5hVzFsVkhsd1pTSXNJbTFwYldWVWVYQmxJaXdpYzNSaGRIVnpJaXdpWVdKdmNuUWlMQ0p6ZEdGMGRYTlVaWGgwSWl3aVptbHVZV3hVWlhoMElpd2lZM0p2YzNORWIyMWhhVzRpTENKb2IzTjBJaXdpYUdGelEyOXVkR1Z1ZENJc0ltbG1UVzlrYVdacFpXUWlMQ0pvWldGa1pYSnpJaXdpWW1WbWIzSmxVMlZ1WkNJc0luTjFZMk5sYzNNaUxDSnpaVzVrSWl3aWJtRjBhWFpsVTNSaGRIVnpWR1Y0ZENJc0luSmxjM0J2Ym5ObGN5SXNJbWx6VTNWalkyVnpjeUlzSW5KbGMzQnZibk5sSWl3aWJXOWthV1pwWldRaUxDSmpkQ0lzSW1acGJtRnNSR0YwWVZSNWNHVWlMQ0ptYVhKemRFUmhkR0ZVZVhCbElpd2lZV3BoZUVoaGJtUnNaVkpsYzNCdmJuTmxjeUlzSW1OdmJuWXlJaXdpWTNWeWNtVnVkQ0lzSW1OdmJuWWlMQ0prWVhSaFJtbHNkR1Z5SWl3aWRHaHliM2R6SWl3aVlXcGhlRU52Ym5abGNuUWlMQ0puWlhSS1UwOU9JaXdpWjJWMFUyTnlhWEIwSWl3aWRHVjRkQ0J6WTNKcGNIUWlMQ0ozY21Gd1FXeHNJaXdpWm1seWMzUkZiR1Z0Wlc1MFEyaHBiR1FpTENKM2NtRndTVzV1WlhJaUxDSm9kRzFzU1hOR2RXNWpkR2x2YmlJc0luVnVkM0poY0NJc0luWnBjMmxpYkdVaUxDSjRhSElpTENKWVRVeElkSFJ3VW1WeGRXVnpkQ0lzSW5ob2NsTjFZMk5sYzNOVGRHRjBkWE1pTENJd0lpd2lNVEl5TXlJc0luaG9jbE4xY0hCdmNuUmxaQ0lzSW1OdmNuTWlMQ0psY25KdmNrTmhiR3hpWVdOcklpd2liM0JsYmlJc0luVnpaWEp1WVcxbElpd2llR2h5Um1sbGJHUnpJaXdpYjI1c2IyRmtJaXdpYjI1bGNuSnZjaUlzSW05dVlXSnZjblFpTENKdmJuUnBiV1Z2ZFhRaUxDSnZibkpsWVdSNWMzUmhkR1ZqYUdGdVoyVWlMQ0p5WlhOd2IyNXpaVlI1Y0dVaUxDSnlaWE53YjI1elpWUmxlSFFpTENKaWFXNWhjbmtpTENKelkzSnBjSFJCZEhSeWN5SXNJbU5vWVhKelpYUWlMQ0p6WTNKcGNIUkRhR0Z5YzJWMElpd2laWFowSWl3aWIyeGtRMkZzYkdKaFkydHpJaXdpY21wemIyNXdJaXdpYW5OdmJuQWlMQ0pxYzI5dWNFTmhiR3hpWVdOcklpd2liM0pwWjJsdVlXeFRaWFIwYVc1bmN5SXNJbU5oYkd4aVlXTnJUbUZ0WlNJc0ltOTJaWEozY21sMGRHVnVJaXdpY21WemNHOXVjMlZEYjI1MFlXbHVaWElpTENKcWMyOXVVSEp2Y0NJc0ltTnlaV0YwWlVoVVRVeEViMk4xYldWdWRDSXNJbWx0Y0d4bGJXVnVkR0YwYVc5dUlpd2lhMlZsY0ZOamNtbHdkSE1pTENKd1lYSnpaV1FpTENKd1lYSmhiWE1pTENKaGJtbHRZWFJsWkNJc0ltOW1abk5sZENJc0luTmxkRTltWm5ObGRDSXNJbU4xY2xCdmMybDBhVzl1SWl3aVkzVnlUR1ZtZENJc0ltTjFja05UVTFSdmNDSXNJbU4xY2xSdmNDSXNJbU4xY2s5bVpuTmxkQ0lzSW1OMWNrTlRVMHhsWm5RaUxDSmpkWEpGYkdWdElpd2lkWE5wYm1jaUxDSnlaV04wSWl3aWQybHVJaXdpY0dGblpWbFBabVp6WlhRaUxDSndZV2RsV0U5bVpuTmxkQ0lzSW05bVpuTmxkRkJoY21WdWRDSXNJbkJoY21WdWRFOW1abk5sZENJc0luTmpjbTlzYkZSdklpd2lTR1ZwWjJoMElpd2lWMmxrZEdnaUxDSWlMQ0prWldaaGRXeDBSWGgwY21FaUxDSm1kVzVqVG1GdFpTSXNJblZ1WW1sdVpDSXNJbVJsYkdWbllYUmxJaXdpZFc1a1pXeGxaMkYwWlNJc0ltaHZkbVZ5SWl3aVptNVBkbVZ5SWl3aVptNVBkWFFpTENKd2NtOTRlU0lzSW1odmJHUlNaV0ZrZVNJc0ltaHZiR1FpTENKd1lYSnpaVXBUVDA0aUxDSnBjMDUxYldWeWFXTWlMQ0pwYzA1aFRpSXNJblJ5YVcwaUxDSmtaV1pwYm1VaUxDSmhiV1FpTENKZmFsRjFaWEo1SWl3aVh5UWlMQ0lrSWl3aWJtOURiMjVtYkdsamRDSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQllVRXNVMEZCV1VFc1JVRkJVVU1zUjBGRmJrSXNZVUZGZFVJc2FVSkJRVmhETEZGQlFXbEVMR2xDUVVGdVFrRXNUMEZCVDBNc1VVRlRhRVJFTEU5QlFVOURMRkZCUVZWSUxFVkJRVTlKTEZOQlEzWkNTQ3hGUVVGVFJDeEhRVUZSTEVkQlEycENMRk5CUVZWTExFZEJRMVFzU1VGQlRVRXNSVUZCUlVRc1UwRkRVQ3hOUVVGTkxFbEJRVWxGTEUxQlFVOHNORU5CUld4Q0xFOUJRVTlNTEVWQlFWTkpMRWxCUjJ4Q1NpeEZRVUZUUkN4SFFYUkNXQ3hEUVRCQ2RVSXNiMEpCUVZoUExFOUJRWGxDUVN4UFFVRlRReXhMUVVGTkxGTkJRVlZFTEVWQlFWRkZMRWRCVFhSRkxHRkJSVUVzU1VGQlNVTXNSVUZCVFN4SFFVVk9ReXhGUVVGWFF5eFBRVUZQUXl4bFFVVnNRa01zUlVGQlVVb3NSVUZCU1Vrc1RVRkZXa01zUlVGQlQwd3NSVUZCU1Vzc1MwRkJUeXhUUVVGVlF5eEhRVU12UWl4UFFVRlBUaXhGUVVGSlN5eExRVUZMUlN4TFFVRk5SQ3hKUVVOdVFpeFRRVUZWUVN4SFFVTmlMRTlCUVU5T0xFVkJRVWxSTEU5QlFVOURMRTFCUVU4c1IwRkJTVWdzU1VGSk1VSkpMRVZCUVU5V0xFVkJRVWxWTEV0QlJWaERMRVZCUVZWWUxFVkJRVWxYTEZGQlJXUkRMRVZCUVdFc1IwRkZZa01zUlVGQlYwUXNSVUZCVjBNc1UwRkZkRUpETEVWQlFWTkdMRVZCUVZkSExHVkJSWEJDUXl4RlFVRmhSaXhGUVVGUFJDeFRRVVZ3UWtrc1JVRkJkVUpFTEVWQlFWZFVMRXRCUVUxTUxGRkJSWGhEWjBJc1JVRkJWU3hIUVVWV1F5eEZRVUZoTEZOQlFYRkNReXhIUVZOd1F5eE5RVUZ6UWl4dFFrRkJVa0VzUjBGQk9FTXNhVUpCUVdwQ1FTeEZRVUZKUXl4VlFVTXhRaXh0UWtGQllrUXNSVUZCU1VVc1RVRkpWa01zUlVGQlZ5eFRRVUZ0UWtnc1IwRkRhRU1zVDBGQll5eE5RVUZRUVN4SFFVRmxRU3hKUVVGUlFTeEZRVUZKZGtJc1VVRkphRU5JTEVWQlFWZEhMRVZCUVU5SUxGTkJTV3BDT0VJc1JVRkJORUlzUTBGREwwSkRMRTFCUVUwc1JVRkRUa01zUzBGQlN5eEZRVU5NUXl4UFFVRlBMRVZCUTFCRExGVkJRVlVzUjBGSFdDeFRRVUZUUXl4RlFVRlRReXhGUVVGTlF5eEZRVUZOUXl4SFFVYzNRaXhKUVVGSlF5eEZRVUZIUXl4RlFVTk9ReXhIUVVoRVNDeEZRVUZOUVN4SFFVRlBkRU1zUjBGSFF6QkRMR05CUVdVc1ZVRkhOMElzUjBGRVFVUXNSVUZCVDBVc1MwRkJUMUFzUlVGRFZFTXNSVUZEU2l4SlFVRk5SU3hMUVVGTFZDeEhRVmxXVlN4RlFVRk5TQ3hGUVVGTlJTeEpRVUZQUml4RlFVRkxUeXhqUVVGblFsQXNSVUZCUzA4c1lVRkJZMHdzUzBGRk1VUkZMRVZCUVU5SkxHRkJRV05PTEVWQlFVZERMRWRCU1ROQ1JpeEZRVUZKVVN4TFFVRkxReXhaUVVGaFRpeEhRVUZUVHl4WFFVRlhReXhaUVVGaFVpeEhRVWw2UkN4VFFVRlRVeXhGUVVGUmVFSXNSMEZEYUVJc1QwRkJXU3hOUVVGUVFTeEZRVU5IUVN4RlFVRk5MRWRCU1ZFc2FVSkJRVkpCTEVkQlFXMURMRzFDUVVGU1FTeEZRVU40UTFJc1JVRkJXVU1zUlVGQlUwNHNTMEZCVFdFc1MwRkJWeXhuUWtGREwwSkJMRVZCVVZRc1NVRkpRM2xDTEVWQlFWTXNVMEZCVlVNc1JVRkJWVU1zUjBGSk5VSXNUMEZCVHl4SlFVRkpSaXhGUVVGUFJ5eEhRVUZIUXl4TFFVRk5TQ3hGUVVGVlF5eEpRVEJXZGtNc1UwRkJVMGNzUlVGQllUbENMRWRCVFhKQ0xFbEJRVWtyUWl4SlFVRlhMMElzUjBGQlR5eFhRVUZaUVN4SFFVRlBRU3hGUVVGSkswSXNUMEZETlVNeFFpeEZRVUZQYlVJc1JVRkJVWGhDTEVkQlJXaENMRTlCUVV0RUxFVkJRVmxETEV0QlFWTkhMRVZCUVZWSUxFdEJTWEJDTEZWQlFWUkxMRWRCUVN0Q0xFbEJRVmd3UWl4SFFVTlNMR2xDUVVGWVFTeEhRVUYxUWtFc1JVRkJVeXhIUVVGUFFTeEZRVUZUTEV0QlFVOHZRaXhIUVhKWGFFVjVRaXhGUVVGUFJ5eEhRVUZMU0N4RlFVRlBUeXhWUVVGWkxFTkJSemxDUXl4UFFXSlZMRkZCWlZaRExGbEJRV0ZVTEVWQlIySk5MRTlCUVZFc1JVRkZVa2tzVVVGQlV5eFhRVU5TTEU5QlFVOXVSQ3hGUVVGTlJ5eExRVUZOVkN4UFFVdHdRakJFTEVsQlFVc3NVMEZCVlVNc1IwRkhaQ3hQUVVGWkxFMUJRVkJCTEVWQlEwZHlSQ3hGUVVGTlJ5eExRVUZOVkN4TlFVbGlNa1FzUlVGQlRTeEZRVUZKTTBRc1MwRkJUVEpFTEVWQlFVMHpSQ3hMUVVGTGNVUXNVVUZCVjNKRUxFdEJRVTB5UkN4SlFVdHdSRU1zVlVGQlZ5eFRRVUZWUXl4SFFVZHdRaXhKUVVGSlF5eEZRVUZOWml4RlFVRlBaMElzVFVGQlR5OUVMRXRCUVV0M1JDeGpRVUZsU3l4SFFVMDFReXhQUVVoQlF5eEZRVUZKUlN4WFFVRmhhRVVzUzBGSFZqaEVMRWRCU1ZKSExFdEJRVTBzVTBGQlZVTXNSMEZEWml4UFFVRlBia0lzUlVGQlQydENMRXRCUVUxcVJTeExRVUZOYTBVc1NVRkhNMEpETEVsQlFVc3NVMEZCVlVRc1IwRkRaQ3hQUVVGUGJFVXNTMEZCU3pSRUxGVkJRVmRpTEVWQlFVOXZRaXhKUVVGTGJrVXNTMEZCVFN4VFFVRlZiMFVzUlVGQlRXcERMRWRCUTNoRUxFOUJRVThyUWl4RlFVRlRla1FzUzBGQlRUSkVMRVZCUVUxcVF5eEZRVUZIYVVNc1QwRkpha001UkN4TlFVRlBMRmRCUTA0c1QwRkJUMDRzUzBGQlN6UkVMRlZCUVZkMFJDeEZRVUZOU3l4TlFVRlBXQ3hMUVVGTmNVVXNZVUZITTBORExFMUJRVThzVjBGRFRpeFBRVUZQZEVVc1MwRkJTM1ZGTEVkQlFVa3NTVUZIYWtKRExFdEJRVTBzVjBGRFRDeFBRVUZQZUVVc1MwRkJTM1ZGTEVsQlFVc3NTVUZIYkVKRkxFdEJRVTBzVjBGRFRDeFBRVUZQZWtVc1MwRkJTelJFTEZWQlFWZGlMRVZCUVU4eVFpeExRVUZOTVVVc1MwRkJUU3hUUVVGVk1rVXNSVUZCVDNoRExFZEJRekZFTEU5QlFWTkJMRVZCUVVrc1IwRkJUU3hOUVVseVFubERMRWxCUVVzc1YwRkRTaXhQUVVGUE5VVXNTMEZCU3pSRUxGVkJRVmRpTEVWQlFVOHlRaXhMUVVGTk1VVXNTMEZCVFN4VFFVRlZNa1VzUlVGQlQzaERMRWRCUXpGRUxFOUJRVTlCTEVWQlFVa3NUVUZKWW05RExFZEJRVWtzVTBGQlZYQkRMRWRCUTJJc1NVRkJTVEJETEVWQlFVMDNSU3hMUVVGTGNVUXNUMEZEWkhsQ0xFZEJRVXN6UXl4SFFVRk5RU3hGUVVGSkxFVkJRVWt3UXl4RlFVRk5MRWRCUXpGQ0xFOUJRVTgzUlN4TFFVRkxORVFzVlVGQlYydENMRWRCUVVzc1IwRkJTMEVzUlVGQlNVUXNSVUZCVFN4RFFVRkZOMFVzUzBGQlRUaEZMRWxCUVZFc1MwRkhOVVJETEVsQlFVc3NWMEZEU2l4UFFVRlBMMFVzUzBGQlMyZEZMRmxCUVdOb1JTeExRVUZMZDBRc1pVRkxhRU0xUXl4TFFVRk5RU3hGUVVOT2IwVXNTMEZCVFRsRkxFVkJRVWs0UlN4TFFVTldReXhQUVVGUkwwVXNSVUZCU1N0RkxGRkJSMkpzUXl4RlFVRlBiVU1zVDBGQlUyNURMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlRMRmRCUTJ4RExFbEJRVWxETEVWQlFWTkRMRVZCUVUxNFJDeEZRVUZMZVVRc1JVRkJUVU1zUlVGQllVTXNSVUZETVVORExFVkJRVk51UWl4VlFVRlhMRWxCUVU4c1IwRkRNMEpzUXl4RlFVRkpMRVZCUTBwclFpeEZRVUZUWjBJc1ZVRkJWV2hDTEU5QlEyNUNiME1zUjBGQlR5eEZRWE5DVWl4SlFXNUNkVUlzYTBKQlFWaEVMRWxCUTFoRExFVkJRVTlFTEVWQlIxQkJMRVZCUVZOdVFpeFZRVUZYYkVNc1NVRkJUeXhIUVVNelFrRXNTMEZKYzBJc2FVSkJRVmh4UkN4SFFVRjNRbTVGTEVWQlFWbHRSU3hMUVVNdlEwRXNSVUZCVXl4SlFVbE1ja1FzU1VGQlRXdENMRWxCUTFadFF5eEZRVUZUZUVZc1MwRkRWRzFETEV0QlIwOUJMRVZCUVVsclFpeEZRVUZSYkVJc1NVRkhia0lzUjBGQmNVTXNUMEZCT1VKblJDeEZRVUZWWkN4VlFVRlhiRU1zU1VGSE0wSXNTVUZCVFdsRUxFdEJRVkZFTEVWQlEySkZMRVZCUVU5R0xFVkJRVk5ETEVkQlNVWXNZMEZCVkVFc1IwRkJkMEpKTEVsQlFWZElMRWxCUzI1RFNTeEhRVUZSU2l4SlFVRlZkRU1zUlVGQlR6SkRMR05CUVdWTUxFdEJRekZEUXl4RlFVRmpTeXhOUVVGTlF5eFJRVUZUVUN4TlFVTXZRbnBFTEVWQlFVMDBSQ3hGUVVGUlNpeEhRVWxpUnl4RlFVUkpSQ3hKUVVGblFrc3NUVUZCVFVNc1VVRkJVMmhGTEVkQlF6TkNMRWRCUTBrd1JDeEhRVUZuUW5aRExFVkJRVTh5UXl4alFVRmxPVVFzUjBGSE1VTkJMRVZCUmtFc1IwRkpWREJFTEVkQlFXTXNSVUZIWkVVc1JVRkJVVW9zUjBGQlUzSkRMRVZCUVU5dFF5eFBRVUZSVHl4RlFVRk5SaXhGUVVGUFJpeFRRVWQ2UWxFc1NVRkJWRklzU1VGRFdFY3NSVUZCVVVvc1IwRkJVME1zU1VGUGNrSXNUMEZCVDBjc1IwRkhVbnBETEVWQlFVOXRReXhQUVVGUkxFTkJSMlJaTEZGQlFWTXNWVUZzVEVNc1VVRnJUSE5DUXl4TFFVRkxReXhWUVVGWFF5eFJRVUZUTEUxQlFVOHNTVUZIYUVWRExGTkJRVk1zUlVGRlZFTXNUVUZCVHl4VFFVRlZReXhIUVVOb1FpeE5RVUZOTEVsQlFVbDBSeXhOUVVGUGMwY3NTVUZIYkVKRExFdEJRVTBzWVVGRlRsZ3NZMEZCWlN4VFFVRlZjRVVzUjBGRGVFSXNTVUZCU1dkR0xFVkJRVTlETEVWQlNWZ3NVMEZCVFdwR0xFZEJRV2RETEc5Q1FVRjZRbEFzUlVGQlUwNHNTMEZCVFdFc1VVRkpOVUpuUml4RlFVRlJia2NzUlVGQlZXMUNMRXRCVTBzc2JVSkJSSFpDYVVZc1JVRkJUM1pHTEVWQlFVOVFMRXRCUVUwMlJpeEZRVUZQTEdkQ1FVRnRRa0VzUlVGQlRUbERMR05CUTJaMFF5eEZRVUZYVkN4TFFVRk5PRVlzUzBGQlYzQkdMRWxCUjJ4RmNVWXNZMEZCWlN4VFFVRlZiRVlzUjBGRGVFSXNTVUZCU1RoRUxFVkJSVW9zU1VGQlRVRXNTMEZCVVRsRUxFVkJRMklzVDBGQlR5eEZRVVZTTEU5QlFVOHNSMEZMVW0xR0xGZEJRVmtzVTBGQlZYcEZMRVZCUVUxdFJDeEZRVUZUYWtRc1IwRkRjRU5JTEVWQlFWTkRMRVZCUVUwc1EwRkJSVWdzVFVGQlQzTkVMRWRCUVZkQkxFVkJRVkYwUkN4UFFVRlRTeXhKUVVkeVJDdENMRXRCUVUwc1UwRkJWVE5ETEVWQlFVczBReXhIUVVOd1FpeEpRVUZKWWl4RlFVRlJiRUlzUlVGQlNTeEZRVVZvUWl4SFFVRkxhVUlzUlVGQllUbENMRWRCUldwQ0xFbEJSRUVyUWl4RlFVRlRMMElzUlVGQlNTdENMRTlCUTB4c1FpeEZRVUZKYTBJc1NVRkRjVU1zU1VGQk0wTmhMRVZCUVZONlJDeExRVUZOWVN4RlFVRkxZU3hIUVVGTFFTeEZRVUZIWWl4RlFVRkxZU3hKUVVSdVFrRXNWVUZOY0VJc1NVRkJUVUVzUzBGQlMySXNSVUZEVml4SlFVRm5SQ3hKUVVFelF6UkRMRVZCUVZONlJDeExRVUZOWVN4RlFVRkxZU3hIUVVGTFFTeEZRVUZIWWl4RlFVRkxZU3hKUVVOeVF5eE5RVXRJTEU5QlFVOWlMRWRCU1ZKdlJpeFZRVUZYTEZOQlFWVjRSeXhGUVVGTGVVY3NSMEZEZWtJc1NVRkJTVGRETEVWQlFVMDJReXhIUVVGWExFZEJZWEpDTEU5QldGa3NUVUZCVUhwSExFbEJRME5yUkN4RlFVRmhhRVFzVDBGQlVVWXNTVUZEZWtJMlF5eEZRVUZQWjBJc1RVRkJUMFFzUlVGRFJTeHBRa0ZCVWpWRUxFVkJRMDRzUTBGQlJVRXNSMEZCVVVFc1IwRkhXbFVzUlVGQlMwZ3NTMEZCVFhGRUxFVkJRVXMxUkN4SlFVbFlORVFzUjBGSFVqaERMRkZCUVZNc1UwRkJWWGhETEVWQlFVMXNSU3hGUVVGTGFVTXNSMEZETjBJc1QwRkJZeXhOUVVGUWFrTXNSMEZCWlN4RlFVRkpWeXhGUVVGUlNpeExRVUZOVUN4RlFVRkxhMFVzUlVGQlRXcERMRWxCUzNCRU5FSXNUVUZCVHl4VFFVRlZUeXhGUVVGUGRVTXNSMEZMZGtJc1NVRktRU3hKUVVGSmFFTXNSMEZCVDJkRExFVkJRVTk0UkN4UFFVTnFRbmxDTEVWQlFVa3NSVUZEU2pORExFVkJRVWx0UXl4RlFVRk5ha0lzVDBGRlNIbENMRVZCUVVsRUxFVkJRVXRETEVsQlEyaENVaXhGUVVGUGJrTXNTMEZCVVRCRkxFVkJRVkV2UWl4SFFVdDRRaXhQUVVaQlVpeEZRVUZOYWtJc1QwRkJVMnhDTEVWQlJWSnRReXhIUVVkU1NTeExRVUZOTEZOQlFWVmlMRVZCUVU5TExFVkJRVlUwUXl4SFFWTm9ReXhKUVZKQkxFbEJRME5ETEVWQlFWVXNSMEZEVmpWRkxFVkJRVWtzUlVGRFNtdENMRVZCUVZOUkxFVkJRVTFTTEU5QlEyWXlSQ3hIUVVGclFrWXNSVUZKV0RORkxFVkJRVWxyUWl4RlFVRlJiRUlzUzBGRFFTdENMRVZCUVZWTUxFVkJRVTh4UWl4SFFVRkxRU3hMUVVOb1FqWkZMRWRCUTNoQ1JDeEZRVUZSYmtjc1MwRkJUV2xFTEVWQlFVOHhRaXhKUVVsMlFpeFBRVUZQTkVVc1IwRkpValZETEVsQlFVc3NVMEZCVlU0c1JVRkJUMHNzUlVGQlZTdERMRWRCUXk5Q0xFbEJRVWsxUkN4RlFVRlJOa1FzUlVGRFdDOUZMRVZCUVVrc1JVRkRTakpDTEVWQlFVMHNSMEZIVUN4SFFVRkxWaXhGUVVGaFV5eEhRVVZxUWl4SlFVUkJVaXhGUVVGVFVTeEZRVUZOVWl4UFFVTlFiRUlzUlVGQlNXdENMRVZCUVZGc1FpeEpRVWRNTEU5QlJtUXJSU3hGUVVGUmFFUXNSVUZCVlV3c1JVRkJUekZDTEVkQlFVdEJMRVZCUVVjNFJTeExRVWRvUTI1RUxFVkJRVWxzUkN4TFFVRk5jMGNzVVVGTldpeEpRVUZOTDBVc1MwRkJTekJDTEVWQlIwa3NUMEZHWkhGRUxFVkJRVkZvUkN4RlFVRlZUQ3hGUVVGUE1VSXNSMEZCUzBFc1JVRkJSemhGTEV0QlIyaERia1FzUlVGQlNXeEVMRXRCUVUxelJ5eEhRVTFpTEU5QlFVOHpSeXhGUVVGTmRVUXNTVUZKWkhGRUxFdEJRVTBzUlVGSlRpOUdMRkZCUVZOQkxFbEJSMkVzYlVKQlFWaG5SeXhUUVVOWWNrVXNSVUZCVDBjc1IwRkJTV3RGTEU5QlFVOURMRlZCUVdGdVNDeEZRVUZMYTBnc1QwRkJUME1zVjBGSk5VTjBSU3hGUVVGUGEwSXNTMEZCVFN4MVJVRkJkVVZ4UkN4TlFVRlBMRXRCUXpGR0xGTkJRVlZETEVWQlFVbHVReXhIUVVOaWRFVXNSVUZCV1N4WFFVRmhjMFVzUlVGQlR5eExRVUZSUVN4RlFVRkxiME1zWjBKQmJVSXZReXhKUVVGSlF5eEZRVmRLTEZOQlFWa3hTQ3hIUVVOYUxFbEJRVWx2UXl4RlFVTklaaXhGUVVOQmMwY3NSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGSFFVTXNSVUZEUVhaSkxFVkJRMEYzU1N4RlFVTkJReXhGUVVOQlF5eEZRVU5CUXl4RlFVTkJlRUlzUlVGRFFYbENMRVZCUjBFeFF5eEZRVUZWTEZOQlFWY3NSVUZCU1N4SlFVRkpNa01zUzBGRE4wSkRMRVZCUVdVelNTeEZRVUZQU0N4VFFVTjBRaXRKTEVWQlFWVXNSVUZEVmtNc1JVRkJUeXhGUVVOUVF5eEZRVUZoUXl4TFFVTmlReXhGUVVGaFJDeExRVU5pUlN4RlFVRm5Ra1lzUzBGRGFFSkhMRVZCUVhsQ1NDeExRVU42UWtrc1JVRkJXU3hUUVVGVlF5eEZRVUZIUXl4SFFVbDRRaXhQUVVoTFJDeEpRVUZOUXl4SlFVTldiRUlzUjBGQlpTeEhRVVZVTEVkQlNWSnNTQ3hGUVVGVExFZEJRVTlETEdWQlEyaENaaXhGUVVGTkxFZEJRMDV0U2l4RlFVRk5ia29zUlVGQlNXMUtMRWxCUTFaRExFVkJRV0Z3U2l4RlFVRkpWU3hMUVVOcVFrRXNSVUZCVDFZc1JVRkJTVlVzUzBGRFdFNHNSVUZCVVVvc1JVRkJTVWtzVFVGSldrOHNSVUZCVlN4VFFVRlZNRWtzUlVGQlRXNUdMRWRCUjNwQ0xFbEJSa0VzU1VGQlNXcERMRVZCUVVrc1JVRkRVREJETEVWQlFVMHdSU3hGUVVGTGJFY3NUMEZEU214Q0xFVkJRVWt3UXl4RlFVRkxNVU1zU1VGRGFFSXNSMEZCUzI5SUxFVkJRVTF3U0N4TFFVRlJhVU1zUlVGRGJFSXNUMEZCVDJwRExFVkJSMVFzVDBGQlVTeEhRVWRVY1Vnc1JVRkJWeXcyU0VGTldFTXNSVUZCWVN4elFrRkhZa01zUlVGQllTd3dRa0ZCTkVKRUxFVkJRM2hETERCRFFVZEVSU3hGUVVGaExFMUJRVkZHTEVWQlFXRXNTMEZCVDBNc1JVRkJZU3hQUVVGVFJDeEZRVWM1UkN4blFrRkJhMEpCTEVWQlNXeENMREpFUVVFMlJFTXNSVUZCWVN4UFFVTXhSVVFzUlVGQllTeFBRVVZrUnl4RlFVRlZMRXRCUVU5R0xFVkJRV0VzZDBaQlQwRkRMRVZCUVdFc1pVRlBNME5GTEVWQlFXTXNTVUZCU1VNc1QwRkJVVXdzUlVGQllTeEpRVUZMTEV0QlF6VkRUU3hGUVVGUkxFbEJRVWxFTEU5QlFWRXNTVUZCVFV3c1JVRkJZU3c0UWtGRGRFTkJMRVZCUVdFc1MwRkJUU3hMUVVWd1FrOHNSVUZCVXl4SlFVRkpSaXhQUVVGUkxFbEJRVTFNTEVWQlFXRXNTMEZCVDBFc1JVRkJZU3hMUVVNMVJGRXNSVUZCWlN4SlFVRkpTQ3hQUVVGUkxFbEJRVTFNTEVWQlFXRXNWMEZCWVVFc1JVRkJZU3hKUVVGTlFTeEZRVU0zUlN4TFFVTkVVeXhGUVVGWExFbEJRVWxLTEU5QlFWRk1MRVZCUVdFc1RVRkZjRU5WTEVWQlFWVXNTVUZCU1V3c1QwRkJVVVlzUjBGRGRFSlJMRVZCUVdNc1NVRkJTVTRzVDBGQlVTeEpRVUZOU2l4RlFVRmhMRXRCUlRkRFZ5eEZRVUZaTEVOQlExaERMRWRCUVUwc1NVRkJTVklzVDBGQlVTeE5RVUZSU2l4RlFVRmhMRXRCUTNaRFlTeE5RVUZUTEVsQlFVbFVMRTlCUVZFc1VVRkJWVW9zUlVGQllTeExRVU0xUTJNc1NVRkJUeXhKUVVGSlZpeFBRVUZSTEV0QlFVOUtMRVZCUVdFc1UwRkRka05sTEV0QlFWRXNTVUZCU1Znc1QwRkJVU3hKUVVGTlNDeEhRVU14UW1Vc1QwRkJWU3hKUVVGSldpeFBRVUZSTEVsQlFVMUdMRWRCUXpWQ1pTeE5RVUZUTEVsQlFVbGlMRTlCUVZFc2VVUkJRM0JDVEN4RlFVRmhMQ3RDUVVGcFEwRXNSVUZCWVN4alFVTXpSRUVzUlVGQllTeGhRVUZsUVN4RlFVRmhMRk5CUVZVc1MwRkRjRVJ0UWl4TFFVRlJMRWxCUVVsa0xFOUJRVkVzVDBGQlUwNHNSVUZCVnl4TFFVRk5MRXRCU1RsRGNVSXNZVUZCWjBJc1NVRkJTV1lzVDBGQlVTeEpRVUZOVEN4RlFVTnFReXh0UkVGQmNVUkJMRVZCUTNKRUxHMUNRVUZ4UWtFc1JVRkJZU3h0UWtGQmIwSXNUVUZIZUVSeFFpeEZRVUZSTEZOQlExSkRMRVZCUVZVc2MwTkJRMVpETEVWQlFWVXNVMEZGVmtNc1JVRkJWU3g1UWtGSFZrTXNSVUZCWVN4dFEwRkZZa01zUjBGQlZ5eFBRVWxZUXl4SFFVRlpMRWxCUVVsMFFpeFBRVUZSTEhWQ1FVRjVRa3dzUlVGQllTeDFRa0ZCZDBJc1MwRkRkRVkwUWl4SFFVRlpMRk5CUVZWRExFVkJRVkZETEVkQlF6ZENMRWxCUVVsRExFVkJRVThzUzBGQlQwWXNSVUZCVDJoTUxFMUJRVThzUjBGQlRTeE5RVVYwUXl4UFFVRlBhVXdzU1VGVFRrTXNSVUZCVHl4RlFVTk9ReXhQUVVGUFF5eGhRVUZqUml4RlFVRlBMRTlCUXpWQ1F5eFBRVUZQUXl4aFFVRmpSaXhIUVVGUkxFZEJRVXNzVFVGQlpTeExRVUZRUVN4RlFVRmxMRk5CU3pWRVJ5eEhRVUZoTEhORVFVTmlReXhIUVVGaExGTkJRVlZETEVWQlFVbERMRWRCUXpGQ0xFOUJRVXRCTEVWQlIxRXNUMEZCVUVRc1JVRkRSeXhKUVVsRVFTeEZRVUZIZGt3c1RVRkJUeXhIUVVGSkxFZEJRVTBzUzBGRE1VSjFUQ3hGUVVGSFJTeFhRVUZaUml4RlFVRkhlRWtzVDBGQlV5eEhRVUZKZEVNc1UwRkJWU3hKUVVGUExFbEJTVE5ETEV0QlFVODRTeXhIUVU5bVJ5eEhRVUZuUWl4WFFVTm1OMFFzUzBGSFJEaEVMRWRCUVhGQ1F5eEhRVU53UWl4VFFVRlZPVWdzUjBGRFZDeFBRVUY1UWl4SlFVRnNRa0VzUlVGQlN5dElMRlZCUVhGRUxHRkJRV2hETDBnc1JVRkJTMmRKTEZOQlFWTTFSU3hsUVVWb1JDeERRVUZGTmtVc1NVRkJTeXhoUVVGalF5eExRVUZOTEZkQlNUZENMRWxCUTBNeFRDeEZRVUZMUkN4TlFVTkdWQ3hGUVVGTlNTeEZRVUZOUnl4TFFVRk5hVWtzUlVGQllUWkVMRmxCUTJwRE4wUXNSVUZCWVRaRUxGbEJUV1J5VFN4RlFVRkxkMGtzUlVGQllUWkVMRmRCUVZkc1NpeFJRVUZUT1VJc1UwRkRja01zVFVGQlVXbE1MRWRCUTFRMVRDeEZRVUZQTEVOQlFVVkVMRTFCUVU5VUxFVkJRVWx0UkN4UFFVZHVRaXhUUVVGVmJVTXNSVUZCVVdsSUxFZEJRMnBDYmtRc1JVRkJWek5KTEUxQlFVODJSU3hGUVVGUmJFWXNSVUZCVFVjc1MwRkJUV2ROTEV0QlMzWkRMRk5CUVZWcVNDeEZRVUZSYVVnc1IwRkxha0lzU1VGS1FTeEpRVUZKTTBnc1JVRkJTVlVzUlVGQlQyNURMRTlCUTJSc1FpeEZRVUZKTEVWQlIwdHhSQ3hGUVVGUlZpeExRVUZSTWtnc1JVRkJTM1JMTEU5QlF5OUNjVVFzUlVGQlQyNURMRTlCUVZONVFpeEZRVUZKTEVsQlMzWkNMRk5CUVZNeVF5eEhRVUZSZWtVc1JVRkJWVU1zUlVGQlV6QkVMRVZCUVZNclJpeEhRVU0xUXl4SlFVRkpReXhGUVVGSGVFc3NSVUZCUjJsRExFVkJRVTEzU1N4RlFVRkxReXhGUVVGUFF5eEZRVUZSUXl4RlFVTnVRME1zUlVGQllTOUtMRWRCUVZkQkxFVkJRVkZuU3l4alFVZG9RekZNTEVWQlFWY3dRaXhGUVVGVlFTeEZRVUZSTVVJc1UwRkJWeXhGUVV0NlF5eEhRVWhCYjBZc1JVRkJWVUVzUjBGQlZ5eEhRVWRKTEdsQ1FVRmlNMFFzU1VGQk1FSkJMRWRCUTNoQ0xFbEJRV0o2UWl4SFFVRXJRaXhKUVVGaVFTeEhRVUVyUWl4TFFVRmlRU3hGUVVWd1F5eFBRVUZQYjBZc1JVRkpVaXhKUVVGTkswWXNTVUZEVEhaRkxFVkJRV0ZzUml4SFFVTmlRU3hGUVVGVlFTeEhRVUZYY2tRc1JVRkZhRUo1U1N4SFFVRnBRaXhEUVVseVFpeEhRVUZyUWl4TFFVRmlPVWNzU1VGQmNVSnpUQ3hGUVVGUk0wSXNSVUZCVjJkRExFdEJRVTFzU3l4SlFVZHNSQ3hIUVVGUE1rb3NSVUZCU1VVc1JVRkJUeXhKUVVkcVFpeEhRVUZyUWl4SlFVRmlkRXdzUlVGQmFVSXNRMEZEY2tJc1MwRkJUelpETEVWQlFVOXVRaXhGUVVGUmEwc3NaVUZCWjBKU0xFbEJWWEpETEU5QlFVOW9SeXhGUVV4UUxFZEJRVXQyUXl4RlFVRkxaMG9zUzBGQlQxUXNSVUZGYUVJc1QwRkVRV2hITEVWQlFWRXZSaXhMUVVGTmQwUXNSMEZEVUhWRExFOUJXVlFzUjBGQlMzRkhMRWxCUVdkQ05Va3NSVUZCVHpSSkxFVkJRVmRITEdWQlFXZENVaXhMUVVOMFJHNUZMRVZCUVZWMlJpeEZRVUZUYlVJc1NVRkRia0pCTEVWQlFVdG5TaXhMUVVGUFZDeEZRVWRhTEU5QlJFRm9SeXhGUVVGUkwwWXNTMEZCVFhkRUxFZEJRMUIxUXl4TlFVdElMRU5CUVVFc1IwRkJTMnRITEVWQlFVOHNSMEZGYkVJc1QwRkVRV3BOTEVWQlFVdEVMRTFCUVU5blJ5eEZRVUZUTVVRc1JVRkJVVzlMTEhGQ1FVRnpRbkpMTEVsQlF6VkRNa1FzUlVGSFJDeEpRVUZQWjBjc1JVRkJTVVVzUlVGQlR5eExRVUZUZWt3c1JVRkJVV3ROTEhkQ1FVTjZRM0pMTEVWQlFWRnhTeXgxUWtGSFVpeFBRVVJCTVUwc1JVRkJTMFFzVFVGQlQyZEhMRVZCUVZNeFJDeEZRVUZSY1Vzc2RVSkJRWGRDV0N4SlFVTTVRMmhITEVWQlMxUXNSMEZCUzNaR0xFVkJRVkZ0VFN4TlFVTllkRVVzUlVGQmQwSnFSeXhGUVVGWExGRkJRMnBEYzBZc1NVRkJZMEVzUlVGQlZXdEdMRXRCUVUxNFN5eE5RVWxzUWl4SlFVRmlla0lzUjBGQmNVUXNWMEZCYmtNd1FpeEZRVUZSYlVvc1UwRkJVelZGTEdWQlFTdENMRU5CV1hCRkxFZEJWa0YxUml4RlFVRmpMMG9zUlVGRFpHZExMRVZCUVdFdlNpeEZRVk5MTEVsQlFXSXhRaXhKUVVOR01ra3NSVUZCVTNORUxFdEJRVTE0U3l4SlFVRmphVWdzUlVGQllYVkVMRXRCUVUxNFN5eEpRVUZsTEVOQmNVSnFSU3hMUVd4Q1FXZExMRVZCUVdFM1FpeEhRVUZUY1VNc1MwRkJUWGhMTEVsQlFXTjVTeXhIUVVGaGVFc3NSVUZCVVV3c1lVRkRPVVJMTEV0QlNXMUNRU3hIUVVGWk4wSXNSVUZCVVhOTkxGTkJSMmhEWkN4RlFVRk5NMG9zUlVGQlVWUXNZVUZCWXl4UFFVTnNRMjlMTEVWQlFVMUJMRVZCUVVrelJ5eFJRVUZUTUVZc1IwRkJXVU1zU1VGRkwwSXpTU3hGUVVGUlVpeGhRVUZqTEV0QlFWRnRTeXhGUVVGTk9VY3NTVUZOZEVNelJDeEhRVVJCTWtzc1JVRkJVMnBHTEVWQlFWVTNSU3hKUVVOU1N5eFBRVU5JYkVJc1MwRkRVREpMTEVWQlFWRXpTeXhKUVVGUmVVc3NSVUZCVFN4SlFVRk5RU3hGUVVGTkxGVkJRV0VzU1VGRE9VTmxMRWRCUVZsaUxFVkJRVkV6U3l4SlFVVjBRalJMTEVWQlFXTkVMRVZCUVU5akxFdEJRVTBzUzBGSE5VSXNTVUZKUXl4UFFVaEJhRTRzUlVGQlMwUXNUVUZCVDJkSExFVkJRMWh4Unl4RlFVRlhZU3hwUWtGQmEwSmtMRWxCUlhaQ2NFY3NSVUZEVGl4TlFVRlJiVWdzUjBGRFZEZEZMRVZCUVhkQ2FrY3NSMEZCVlN4SFFVTnFReXhSUVVOSk5Fb3NTVUZCVVRsSExFZEJRMW8zUXl4RlFVRlJPRXNzWjBKQlFXbENMRkZCVVRsQ0xFOUJRVTlvUnl4RlFVRlJMMFVzUlVGQlUybEVMRkZCUVZNNFJDeEZRVUZQTEUxQlFWRTVSeXhGUVVGVE1FUXNSVUZCVXl0R0xFZEJVMjVGTEZOQlFWTTFSQ3hMUVVOU0xFbEJRVWxyUml4RlFVRlBMRWRCV1Znc1QwRldRU3hUUVVGVFF5eEZRVUZQUXl4RlFVRkxhRWdzUjBGUmNFSXNUMEZNU3poSExFVkJRVXR3VGl4TFFVRk5jMDRzUlVGQlRTeExRVUZSZUVjc1JVRkJTM2xITEc5Q1FVY3pRa1lzUlVGQlQwUXNSVUZCUzBrc1UwRkZXRWdzUlVGQlQwTXNSVUZCVFN4TFFVRlJhRWdzUjBGVGFFTXNVMEZCVTIxSUxFZEJRV051VEN4SFFVVjBRaXhQUVVSQlFTeEZRVUZKTkVNc1NVRkJXU3hGUVVOVU5VTXNSVUZQVWl4VFFVRlRiMHdzUjBGQlVYQk1MRWRCUTJoQ0xFbEJRVWx4VEN4RlFVRkxNMDhzUlVGQlV6QkRMR05CUVdVc1dVRkZha01zU1VGRFF5eFJRVUZUV1N4RlFVRkpjVXdzUjBGRFdpeE5RVUZSTDBJc1IwRkRWQ3hQUVVGUExFVkJRMDRzVVVGSFNTdENMRVZCUVVjelRDeFpRVU5RTWt3c1JVRkJSek5NTEZkQlFWZERMRmxCUVdFd1RDeEhRVWsxUWtFc1JVRkJTeXhOUVZOUUxGTkJRVk5ETEVkQlFWZERMRVZCUVU5RExFZEJTVEZDTEVsQlNFRXNTVUZCU1hoUExFVkJRVTExVHl4RlFVRk5ia2dzVFVGQlR5eExRVU4wUW01R0xFVkJRVWxxUXl4RlFVRkpiVVFzVDBGRlJHeENMRXRCUTFCMVJpeEZRVUZMYVVnc1YwRkJXWHBQTEVWQlFVdHBReXhKUVVGUmRVMHNSVUZWYUVNc1UwRkJVMFVzUjBGQlkzcEdMRVZCUVVkRExFZEJRM3BDTEVsQlFVbDVSaXhGUVVGTmVrWXNSMEZCUzBRc1JVRkRaREpHTEVWQlFVOUVMRWRCUVhOQ0xFbEJRV1l4Uml4RlFVRkZOVWdzVlVGQmFVTXNTVUZCWmpaSUxFVkJRVVUzU0N4VlFVTnVRelJJTEVWQlFVVTBSaXhaUVVGak0wWXNSVUZCUlRKR0xGbEJSM0JDTEVkQlFVdEVMRVZCUTBvc1QwRkJUMEVzUlVGSlVpeEhRVUZMUkN4RlFVTktMRXRCUVZWQkxFVkJRVTFCTEVWQlFVbEhMR0ZCUTI1Q0xFZEJRVXRJTEVsQlFWRjZSaXhGUVVOYUxFOUJRVkVzUlVGTFdDeFBRVUZQUkN4RlFVRkpMRWRCUVVzc1JVRlBha0lzVTBGQlV6aEdMRWRCUVcxQ2RFNHNSMEZETTBJc1QwRkJUeXhUUVVGVmVVTXNSMEZGYUVJc1RVRkJaMElzVlVGRVRFRXNSVUZCUzJkSkxGTkJRVk0xUlN4bFFVTkZjRVFzUlVGQlMzcERMRTlCUVZOQkxFZEJVVE5ETEZOQlFWTjFUaXhIUVVGdlFuWk9MRWRCUXpWQ0xFOUJRVThzVTBGQlZYbERMRWRCUTJoQ0xFbEJRVWxuUWl4RlFVRlBhRUlzUlVGQlMyZEpMRk5CUVZNMVJTeGpRVU42UWl4UFFVRnJRaXhWUVVGVWNFTXNSMEZCTmtJc1YwRkJWRUVzU1VGQmRVSm9RaXhGUVVGTGVrTXNUMEZCVTBFc1IwRlJjRVVzVTBGQlUzZE9MRWRCUVhOQ2FFUXNSMEZIT1VJc1QwRkJUeXhUUVVGVkwwZ3NSMEZMYUVJc1RVRkJTeXhUUVVGVlFTeEZRVk5VUVN4RlFVRkxlRUlzWVVGQlowTXNTVUZCYkVKM1FpeEZRVUZMSzBnc1UwRkhka0lzVlVGQlZ5OUlMRVZCUTFZc1ZVRkJWMEVzUlVGQlMzaENMRmRCUTJKM1FpeEZRVUZMZUVJc1YwRkJWM1ZLTEZkQlFXRkJMRVZCUlRkQ0wwZ3NSVUZCU3l0SUxGZEJRV0ZCTEVWQlRYQkNMMGdzUlVGQlMyZE1MR0ZCUVdWcVJDeEhRVWt4UWk5SUxFVkJRVXRuVEN4alFVRm5RbXBFTEVkQlEzSkNSaXhIUVVGdlFqZElMRXRCUVZjclNDeEZRVWN4UWk5SUxFVkJRVXNyU0N4WFFVRmhRU3hGUVV0a0xGVkJRVmN2U0N4SFFVTm1RU3hGUVVGTEswZ3NWMEZCWVVFc1IwRlpOVUlzVTBGQlUydEVMRWRCUVhkQ2JrMHNSMEZEYUVNc1QwRkJUMjFNTEVkQlFXTXNVMEZCVldsQ0xFZEJSVGxDTEU5QlJFRkJMRWRCUVZsQkxFVkJRMHhxUWl4SFFVRmpMRk5CUVZVelFpeEZRVUZOTTBZc1IwRk5jRU1zU1VGTVFTeEpRVUZKYWtNc1JVRkRTSGxMTEVWQlFXVnlUU3hGUVVGSkxFZEJRVWwzU2l4RlFVRkxja29zVDBGQlVXbE5MRWRCUTNCRGJrNHNSVUZCU1c5T0xFVkJRV0ZzVFN4UFFVZFdiRUlzUzBGRFJuVkxMRVZCUVZFMVNDeEZRVUZKZVVzc1JVRkJZM0JPTEUxQlF6bENkVXNzUlVGQlRUVklMRXRCUVZOcFF5eEZRVUZUYWtNc1IwRkJUVFJJTEVWQlFVMDFTQ3hUUVZsNlF5eFRRVUZUTWtrc1IwRkJZWGhMTEVkQlEzSkNMRTlCUVU5QkxGRkJRVzFFTEVsQlFXcERRU3hGUVVGUmIwc3NjMEpCUVhkRGNFc3NSVUZyY2tNeFJTeEpRVUZOWkN4TFFUbHhRMDVtTEVWQlFWVnhSeXhIUVVGUGNrY3NVVUZCVlN4SFFVOHpRbmRITEVWQlFWRklMRWRCUVU5SExFMUJRVkVzVTBGQlZYaEVMRWRCUTJoRExFbEJRVWx2VEN4RlFVRlpjRXdzUjBGQlVVRXNSVUZCUzNGTUxHRkJRelZDY2tnc1JVRkJWV2hGTEVsQlFWVkJMRVZCUVVzMlNTeGxRVUZwUWpkSkxFZEJRVTl6VEN4blFrRkxiRVFzVDBGQlVUVkZMRVZCUVUwd1F5eExRVUZOWjBNc1IwRkJZWEJJTEVkQlFWZEJMRVZCUVZGblJTeFZRVUZaTEZOQlVXcEZha1VzUlVGQlkxWXNSMEZCVDFVc1dVRkJZeXhUUVVGVmJFY3NSMEZETlVNc1NVRkJTVEJPTEVWQlFWbERMRVZCUTJZeFRpeEZRVUZOUkN4RlFVRlBRU3hGUVVGTFowd3NaVUZCYVVKb1RDeEZRVUZQZVVjc1JVRlBNME1zVDBGQlMzaEhMRWRCUVU5MFF5eEhRVUUyUWl4SlFVRnFRbk5ETEVWQlFVbFlMRlZCUVcxQ1Z5eEZRVUZKZDA0c2FVSkJUVzVFZEVnc1IwRkVRWGhKTEVWQlFWZHpReXhIUVVOUmQwNHNaMEpCUTI1Q2NrZ3NSMEZCYTBKVUxFVkJRVTlvU1N4SFFWRndRamhKTEVkQlFXZENPVWtzU1VGRGJFSm5VU3hGUVVGWmFGRXNSVUZCVTJsUkxHTkJRV2xDUkN4RlFVRlZSU3hOUVVGUlJpeEpRVWR5UkVFc1JVRkJWVWNzYVVKQlEyUklMRVZCUVZWSExHbENRVUZyUWl4VFFVRlZMMFFzU1VGQlpTeEhRVWN4UXpSRUxFVkJRVlZKTEdGQlEzSkNTaXhGUVVGVlNTeFpRVUZoTEZkQlFWbG9SU3hMUVZOeVF6VkxMRVZCUVZGelRTeE5RVUZSV1N4SFFVRlJMRk5CUVZWRExFZEJSV3BETEU5QlJFRnVSeXhGUVVGUmVrWXNXVUZCWVRSTUxFZEJRVXMxVEN4WlFVRmhMME1zUlVGQlV6QkRMR05CUVdVc1lVRkRla0lzU1VGQmVFSnBUU3hGUVVGSFZpeHRRa0ZEWmxVc1JVRkJSMVlzYVVKQlFXdENMSFZDUVVGM1FuaExMRk5CVTJoRWFrTXNSVUZCVVhWSkxGZEJRV0V5UlN4SFFVRlJMRk5CUVZWRExFZEJSWFJETEU5QlJFRkJMRVZCUVVjd1FpeFZRVUZaTEV0QlExQXhRaXhGUVVGSEwwd3NZVUZCWXl4bFFVOHhRbkJDTEVWQlFWRnBUU3h4UWtGQmRVSnBRaXhIUVVGUkxGTkJRVlZETEVkQlJXaEVMRTlCUkVGQkxFVkJRVWMxVEN4WlFVRmhMME1zUlVGQlUzTlJMR05CUVdVc1RVRkRhRU16UWl4RlFVRkhiRUlzY1VKQlFYTkNMRXRCUVUxb1N5eFRRVWw0UTJwRExFVkJRVkZyVFN4MVFrRkJlVUp5UXl4RlFVRlJkVU1zUzBGQlRUVk9MRVZCUVZNd1RpeDNRa0ZOZUVSc1RTeEZRVUZSSzA4c1VVRkJWVGRDTEVkQlFWRXNVMEZCVlVNc1IwRkZia01zVDBGRVFXNUhMRVZCUVZGNlJpeFpRVUZoTkV3c1IwRkJTMjVDTEVkQlFVdDBTQ3hIUVVOMlFteEhMRVZCUVZOM1VTeHZRa0ZCYzBKNFVTeEZRVUZUZDFFc2EwSkJRVzFDZEVzc1IwRkJWWHBETEZOQlNYcEZha01zUlVGQlVTdFBMRk5CUTFwNlNTeEZRVUZMTWtrc1QwRkJZU3hIUVVGSkxGTkJRVlZxUkN4SFFVTXZRaXhKUVVGSmEwUXNSVUZCVTJ4RUxFVkJRVWR1U0N4UlFVRlRiVVlzUjBGQlYwTXNTVUZEY0VNc1QwRkJUeXhUUVVGVmFrZ3NSMEZEYUVJc1QwRkJUMEVzUlVGQlN6VkNMR0ZCUVdNc1VVRkJWemhPTEVsQlIzWkROVWtzUlVGQlN6WkpMRXRCUVZjc1IwRkJTU3hUUVVGVmJrUXNSVUZCU1c1TExFZEJRMnBETEZGQlFYVkRMRWxCUVROQ1FTeEZRVUZSYTBzc1owSkJRV3RET1VVc1JVRkJhVUlzUTBGRGRFVXNTVUZCU1dwRkxFVkJRVTl1UWl4RlFVRlJhMHNzWlVGQlowSkRMRWRCUTI1RExFOUJRVTlvU2l4RlFVRlBMRU5CUVVWQkxFZEJRVk1zVDBGSk0wSnpSQ3hGUVVGTE1ra3NUMEZCWVN4SFFVRkxMRk5CUVZWcVJDeEhRVU5vUXl4SlFVRkphMFFzUlVGQlUyeEVMRVZCUVVkdVNDeFJRVUZUYlVZc1IwRkJWME1zU1VGRGNFTXNUMEZCVHl4VFFVRlZha2dzUjBGRGFFSXNTVUZCU1c1RExFOUJRWGRETEVsQlFURkNiVU1zUlVGQlMyOU5MR3RDUVVOMFFuQk5MRVZCUVV0dlRTeHBRa0ZCYTBJc1RVRkRlRUlzVDBGQlQzWlBMRWRCUVZGQkxFVkJRVXRwUml4UlFVRlZiMG9zU1VGTmFFTTFTU3hGUVVGTE5ra3NTMEZCVnl4SFFVRkpMRk5CUVZWdVJDeEZRVUZKYmtzc1IwRkRha01zVVVGQmRVTXNTVUZCTTBKQkxFVkJRVkZyU3l4blFrRkJhME01UlN4RlFVRnBRaXhEUVVOMFJTeEpRVUZKY0Vjc1JVRkJUVVVzUlVGQlJ6QkNMRVZCUTFwUExFVkJRVTl1UWl4RlFVRlJhMHNzWlVGQlowSkRMRWRCUldoRExFZEJRVXRvU2l4RlFVRlBMRU5CU1Znc1NVRkVRVzVETEVWQlFVOXRReXhGUVVGTGIwMHNhVUpCUVd0Q0xGRkJRMnBDZGs4c1JVRkJTMmxHTEZGQlFWVnJSeXhGUVVNelFpeE5RVUZQTEVOQlFVVm9TaXhIUVUxV0xFbEJSa0ZRTEVWQlFWRmFMRVZCUVZGdFRpeHJRa0ZCYlVKb1JDeEhRVU51UTJwTUxFVkJRVWtzUlVGRFRXbERMRVZCUVU5UUxFVkJRVTh4UWl4TlFVVjJRaXhKUVVSQlJpeEZRVUZQYlVNc1JVRkJTMjlOTEdsQ1FVRnJRaXhSUVVOcVFuWlBMRVZCUVV0cFJpeFJRVUZWYTBjc1JVRkRNMElzVFVGQlR5eERRVUZGYUVvc1IwRkxXaXhOUVVGUExFMUJUVlp6UkN4RlFVRkxOa2tzUzBGQldTeEpRVUZKYmxBc1JVRkJVV2xOTEhGQ1FVTTFRaXhUUVVGVmIwUXNSVUZCUzNoT0xFZEJRMlFzV1VGQk5rTXNTVUZCYWtOQkxFVkJRVkZ2U3l4eFFrRkRXbkJMTEVWQlFWRnZTeXh4UWtGQmMwSnZSQ3hIUVVjeFFuSlFMRVZCUVZGdFRTeEpRVU5hZEVzc1JVRkJVVFJMTEdsQ1FVRnJRalJETEZGQlJETkNMRWRCUzFJc1UwRkJWVUVzUlVGQlMzaE9MRWRCUTJRc1NVRkJTVzFDTEVWQlEwaHpUU3hGUVVGTkxFZEJRMDUyVHl4RlFVRkpMRVZCUjBwM1JTeEZRVUZWTVVRc1JVRkJVVzlMTEhGQ1FVRnpRbTlFTEVkQlIzcERMRWRCUVdFc1RVRkJVa0VzUlVGQll5eERRVU5zUWl4TFFVRlZjazBzUlVGQlQzVkRMRVZCUVZONFJTeE5RVU5HTEVsQlFXeENhVU1zUlVGQlN6ZERMRlZCUTFSdFVDeEZRVUZKT1ZBc1MwRkJUWGRFTEVkQlNWb3NUMEZCVDNOTkxFVkJSVklzVDBGQlR5OUtMRWRCU1ZSbExFVkJRVXMyU1N4TFFVRmpMRTFCUVVsdVVDeEZRVUZSYTAwc2QwSkJRVEJDTEZOQlFWVXlReXhGUVVGWGFFNHNSMEZETjBVc1VVRkJLME1zU1VGQmJrTkJMRVZCUVZGeFN5eDNRa0ZCTUVOcVJpeEZRVU0zUkN4UFFVRlBjRVlzUlVGQlVYRkxMSFZDUVVGM1FqSkRMRWxCVlhwRE1VZ3NSVUZCWjBJc1IwRlBhRUpFTEVWQlFWa3NTVUZGVEd4SUxFVkJRVkZ0VFN4SlFVRk5kRU1zUlVGQlVYVkRMRXRCUVUwMVRpeEZRVUZUYVU4c2NVSkJTVE5EVXl4SFFVRlJMRk5CUVZWRExFZEJSV3BDTEVsQlFVbHZReXhGUVU5S2Rra3NSVUZCVVhwR0xGbEJRV0UwVEN4SFFVRkxjVU1zVlVGQldTeFZRVUZaT1Vzc1JVRkJWU3h4UWtGRE1VTkJMRVZCUVZVc2EwVkJUM1pDZVVrc1JVRkJSMVlzYVVKQlFXdENMSGRDUVVGNVFuaExMRkZCUTJ4RWFVWXNSVUZCVlRGSUxFdEJRVTBzVTBGQlZ6WkpMRVZCUVdFc1owSkJTMjVET0VVc1JVRkJSMVlzYVVKQlFXdENMR05CUVdWNFN5eFJRVU42UTJsR0xFVkJRVlV4U0N4TFFVRk5MRTFCUVZFMlNTeEZRVUZoTEdGQlFXVkVMRVZCUVZjc1MwRkpNVVFyUlN4RlFVRkhWaXhwUWtGQmEwSXNVVUZCVlM5SUxFVkJRVlVzVFVGQlQzcERMRkZCUTNKRWFVWXNSVUZCVlRGSUxFdEJRVTBzVDBGUmFrSXJVQ3hGUVVGUkwxRXNSVUZCVXpCRExHTkJRV1VzVlVGRE1VSkhMR0ZCUVdNc1QwRkJVU3hKUVVNMVFqaE1MRVZCUVVjMVRDeFpRVUZoWjA4c1IwRkRWbkJETEVWQlFVZFdMR2xDUVVGclFpeGhRVUZqZUVzc1VVRkRlRU5wUml4RlFVRlZNVWdzUzBGQlRTeE5RVUZSTmtrc1JVRkJZU3hSUVVGVlFTeEZRVUZoTEV0QlF6TkVRU3hGUVVGaExHZENRVTFVT0VVc1JVRkJSMVlzYVVKQlFXdENMRmxCUVdGNFN5eFJRVU4yUTJsR0xFVkJRVlV4U0N4TFFVRk5MRmxCVFZneVRpeEZRVUZIVml4cFFrRkJhMElzUzBGQlR5OUlMRVZCUVZVc1RVRkJUM3BETEZGQlEyeEVhVVlzUlVGQlZURklMRXRCUVUwc1dVRkxha0l5VGl4RlFVRkhWaXhwUWtGQmEwSXNVVUZEY2tKMlJpeEZRVUZWTVVnc1MwRkJUU3hwUWtGSGFrSXdUaXhIUVVGUkxGTkJRVlZETEVkQlEycENRU3hGUVVGSGNVTXNWVUZCV1N4dlJrRkxaaXhKUVVGSlJDeEZRVUZSTDFFc1JVRkJVekJETEdOQlFXVXNVMEZEY0VOeFR5eEZRVUZOYkU4c1lVRkJZeXhQUVVGUkxGVkJRelZDT0V3c1JVRkJSelZNTEZsQlFXRm5UeXhIUVVGUmJFOHNZVUZCWXl4UFFVRlJMRXRCU1hwRE9Fd3NSVUZCUjFZc2FVSkJRV3RDTEZsQlFXRjRTeXhSUVVOMFEybEdMRVZCUVZVeFNDeExRVUZOTEU5QlFWTTJTU3hGUVVGaExHVkJTMWNzU1VGQk4wTTRSU3hGUVVGSFZpeHBRa0ZCYTBJc1dVRkJZWGhMTEZGQlEzUkRhVVlzUlVGQlZURklMRXRCUVUwc1YwRkJXU3hoUVVzM1FuZElMRVZCUVZGNlJpeFpRVUZoTkV3c1IwRkJTM0JETEZWQlFWY3NSVUZEWXl4SlFVRTVRMjlETEVWQlFVZFdMR2xDUVVGclFpeGhRVUZqZUVzc1VVRkRka05wUml4RlFVRlZNVWdzUzBGQlRTeFhRVUZaTEdGQlN6ZENNazRzUlVGQlIxWXNhVUpCUVd0Q0xGRkJRM0pDZGtZc1JVRkJWVEZJTEV0QlFVMHNXVUZKV0ZFc1JVRkJVWGxRTEdkQ1FVRnJRalZHTEVWQlFWRjFReXhMUVVGUmVrY3NSVUZCVlhGQ0xFVkJRVkZ5UWl4VFFVTnNSWEZDTEVWQlFWRXdTU3gxUWtGRFVqRkpMRVZCUVZFeVNTeHZRa0ZEVWpOSkxFVkJRVkUwU1N4clFrRkRValZKTEVWQlFWRTJTU3h4UWtGRlVqTkRMRWRCUVZFc1UwRkJWVU1zUjBGSmFrSnVUaXhGUVVGUk9GQXNhMEpCUVc5Q2Jrc3NSVUZCVVhSSExFdEJRVTA0VGl4RlFVRkpMRXRCU1RsRGVFZ3NSVUZCVVhSSExFdEJRVTA0VGl4RlFVRkpMR0ZCUTJ4Q2FFY3NSVUZCWXpOSUxFdEJRVTBzUzBGQlRXZEtMRXRCU1RWQ2RFSXNSVUZCV1VFc1JVRkJWV3BHTEZGQlFWVXNTVUZCU1hsSExFOUJRVkY0UWl4RlFVRlZjMFlzUzBGQlRTeE5RVU0xUkhKR0xFVkJRV2RDUVN4RlFVRmpiRVlzVVVGQlZTeEpRVUZKZVVjc1QwRkJVWFpDTEVWQlFXTnhSaXhMUVVGTkxFMUJTWGhGSzBJc1JVRkJZVEZGTEVWQlFWRjFReXhMUVVGTmNFWXNSVUZCVVN0SkxIbENRVXR1UXpOSkxFVkJRVmR0U0N4SFFVRmpNVVVzUlVGQlVYVkRMRXRCUVUxd1JpeEZRVUZSU1N4VlFVTTVReXhUUVVGVlZ5eEZRVUZIUXl4SFFVTmFMRWxCUVVsblNTeEZRVUYxUWl4SlFVRm1ha2tzUlVGQlJUVklMRk5CUVdsQ05FZ3NSVUZCUlhWSExHZENRVUZyUW5aSExFVkJRMnhFYTBrc1JVRkJUV3BKTEVkQlFVdEJMRVZCUVVWNFJ5eFhRVU5rTEU5QlFVOTFSeXhKUVVGTmEwa3NUVUZCVjBFc1IwRkJkMElzU1VGQmFrSkJMRVZCUVVrNVVDeFpRVU5zUXpaUUxFVkJRVTAxU1N4VFFVTk1ORWtzUlVGQlRUVkpMRk5CUVZVMlNTeEhRVU5vUW14SkxFVkJRVVZuU1N4NVFrRkJPRVFzUjBGQmJrTm9TU3hGUVVGRlowa3NkMEpCUVhsQ1JTeE5RVWN6UkN4VFFVRlZiRWtzUlVGQlIwTXNSMEZEV2l4SFFVRkxRU3hGUVVOS0xFdEJRVlZCTEVWQlFVbEJMRVZCUVVWNFJ5eFpRVU5tTEVkQlFVdDNSeXhKUVVGTlJDeEZRVU5XTEU5QlFVOHNSVUZKVml4UFFVRlBMRWRCVDFSRUxFVkJRVmw1Unl4RlFVTmFMRk5CUVZWNFJ5eEZRVUZIUXl4SFFVZGFMRWRCUVV0RUxFbEJRVTFETEVWQlJWWXNUMEZFUVd4Q0xFZEJRV1VzUlVGRFVpeEZRVWxTTEVsQlFVbHZTaXhIUVVGWGJra3NSVUZCUldkSkxIbENRVUV5UWk5SUxFVkJRVVVyU0N4M1FrRkRPVU1zVDBGQlMwY3NTVUZuUWxVc1IwRlFaa0VzUjBGQldXNUpMRVZCUVVVNFJDeGxRVUZwUWpsRUxFdEJRVk5ETEVWQlFVVTJSQ3hsUVVGcFFqZEVMRWRCUXpGRVJDeEZRVUZGWjBrc2QwSkJRWGxDTDBnc1IwRkhNMElzUzBGSlIyaEpMRVZCUVZGdFVTeGpRVUZuUW01SkxFVkJRVVVyU0N4M1FrRkJlVUpvU1N4TFFVRlJiVWtzUlVGUGVrUnVTU3hIUVVGTGRrb3NSMEZCV1hWS0xFVkJRVVU0UkN4bFFVRnBRblpGTEVkQlEzaERSaXhGUVVGVlJTeEZRVUZqVXl4SlFVTm9RaXhGUVU5S1F5eEhRVUZMZUVvc1IwRkJXWGRLTEVWQlFVVTJSQ3hsUVVGcFFuWkZMRWRCUTNoRFJpeEZRVUZWUlN4RlFVRmpWU3hIUVVOcVFpeEZRVWxFYmtJc1JVRkRTbkJJTEVWQlFWTnZTQ3hGUVVGWGEwSXNSMEZCVFhSSkxFVkJRVk52U0N4RlFVRlhiVUlzUjBGRGFFUXNSVUZIWlN4RlFVRldhMGtzUjBGQlpTeEZRVUZKTEVsQlJUTkNMRk5CUVZWdVNTeEZRVUZIUXl4SFFVZGFMRWRCUVV0RUxFbEJRVTFETEVWQlJWWXNUMEZFUVd4Q0xFZEJRV1VzUlVGRFVpeEZRVWRTTEVsQlFVa3lSeXhGUVVOSU1VMHNSVUZCU1N4RlFVTktjVkFzUlVGQlRYSkpMRVZCUVVWMlJ5eFhRVU5TZVU4c1JVRkJUV3BKTEVWQlFVVjRSeXhYUVVOU05rOHNSVUZCU3l4RFFVRkZkRWtzUjBGRFVIVkpMRVZCUVVzc1EwRkJSWFJKTEVkQlIxSXNTVUZCVFc5SkxFbEJRVkZJTEVWQlRXSXNUMEZCVDJ4SkxFZEJRVXQyU2l4SFFVRlpMRVZCUTNaQ2Qwb3NSMEZCUzNoS0xFVkJRVmNzUlVGRmFFSTBVaXhIUVVGUExFVkJRMUJJTEVWQlFVMHNSVUZEVG5CS0xFVkJRMFZ3U0N4RlFVRlRiMGdzUlVGQlYydENMRWRCUVUxMFNTeEZRVUZUYjBnc1JVRkJWMjFDTEVkQlEyaEVMRVZCUjBzc1IwRkJTMjlKTEVsQlFWRklMRVZCUTI1Q0xFOUJRVTk2UXl4SFFVRmpla1lzUlVGQlIwTXNSMEZMZWtJc1NVRkVRWGxHTEVWQlFVMHhSaXhGUVVOSk1FWXNSVUZCVFVFc1JVRkJTV3BOTEZsQlEyNUNOazhzUlVGQlIwVXNVVUZCVXpsRExFZEJSMklzU1VGRVFVRXNSVUZCVFhwR0xFVkJRMGw1Uml4RlFVRk5RU3hGUVVGSmFrMHNXVUZEYmtJNFR5eEZRVUZIUXl4UlFVRlRPVU1zUjBGSllpeExRVUZSTkVNc1JVRkJTWFJRTEV0QlFWRjFVQ3hGUVVGSmRsQXNTVUZEZGtKQkxFbEJSMFFzVDBGQlQwRXNSVUZIVG5sTkxFZEJRV00yUXl4RlFVRkpkRkFzUjBGQlMzVlFMRVZCUVVsMlVDeEpRVTh6UW5OUUxFVkJRVWwwVUN4SlFVRlBkVWNzUjBGQlowSXNSVUZETTBKblNpeEZRVUZKZGxBc1NVRkJUM1ZITEVWQlFXVXNSVUZGTVVJc1IwRkhTemxKTEVkQkwyTkRRU3hIUVd0a1ZEWklMRWRCUVU5V0xGRkJRVlVzVTBGQlZUWkxMRVZCUVUxRExFZEJRMmhETEU5QlFVOXdTeXhIUVVGUmJVc3NSVUZCVFN4TFFVRk5MRXRCUVUxRExFbEJSMnhEY0Vzc1IwRkJUMjlLTEdkQ1FVRnJRaXhUUVVGVmVrMHNSVUZCVFhkT0xFZEJSM2hETEVkQlJrRjZTaXhGUVVGaEwwUXNSMEZGVW1oRUxFVkJRVkY1VUN4cFFrRkJiVUo0U1N4SlFVTTVRbGtzUlVGQmQwSXlTU3hGUVVGUExGRkJRemRDY2tvc1NVRkJhMEpCTEVWQlFXTnBSaXhMUVVGTmIwVXNUMEZEZEVOMFNpeEpRVUZyUWtFc1JVRkJWV3RHTEV0QlFVMXZSU3hKUVVWeVF5eEpRVU5ETEVsQlFVazVUaXhGUVVGTmFVUXNSVUZCVVhSSExFdEJRVTB5UkN4RlFVRk5kMDRzUjBGSE9VSXNSMEZCU3psT0xFZEJRVTh4UXl4RlFVRlJPRkFzYlVKQlNXNUNPVTBzUlVGQlMzaEZMRlZCUVhWRExFdEJRVE5DZDBVc1JVRkJTM2hGTEZOQlFWTXlRaXhUUVVNdlFpeFBRVUZQZFVNc1JVRkZVQ3hOUVVGUk1Fa3NSMEZEVkhaRUxFVkJRWGRDTWtrc1IwRkJUU3hIUVVsb1F5eFBRVUZQYmtzc1IwRkJVVzFMTEVWQlFVMW9VeXhGUVVGVkxFdEJRVTBzUTBGQlJYZEZMRWxCUVZObUxFOUJRVk1zUjBGSE1VUnZSU3hIUVVGUFpTeFRRVUZYTEZOQlFWVjJSaXhGUVVGVGJVSXNSMEZWY0VNc1QwRklUMjVDTEVWQlFWRm5TeXhsUVVGcFFtaExMRWxCUVdGeVJDeEhRVU0xUTNWSkxFVkJRV0ZzUml4SFFVVlFkVVlzUlVGQlZYWkdMRVZCUVZOdFFpeEpRVWN6UW5GRUxFZEJRVTl4U3l4TFFVRlBMRk5CUVZVeFRpeEZRVUZOWjBJc1NVRlBkRUpvUWl4RlFVRkxOa2tzWlVGQmFVSTNTU3hKUVVGVmVFVXNSMEZEZEVOMVNTeEZRVUZoTDBRc1IwRkhaQ3hKUVVGSmJFSXNSVUZCUzNkRkxFVkJRVXRwU0N4WFFVRlpka29zUlVGQlMyOURMR1ZCUnpsQ2NFWXNSVUZCVFdNc1IwRkJUV3hETEVWQlFVOVFMRXRCUVUxcFNDeEZRVUZMYVVnc1YwRkJXWFpLTEVWQlFVdHZReXhsUVVNNVEzUkZMRVZCUVVsclFpeEZRVUZOWjBJc1IwRkJUMmxFTEZGQlEycENlRU1zUlVGRlJpeFpRVUZsUVN4SlFVRlNla1FzUlVGRFRrRXNSVUZEUVdoQ0xFVkJRVkYxU1N4aFFVRmxkRUlzUlVGRGRFSnFSU3hGUVVGTE5VSXNZVUZCWXpSRExFbEJRMnBDYUVRc1JVRkJUV2RETEVWQlFVdHZUU3hwUWtGQmEwSndUQ3hMUVVGWmFFUXNSVUZCU1RKUUxGVkJRemxETTFBc1JVRkJTVGhGTEUxQlEwb3NUVUZIU2s4c1IwRkJUelpFTEU5QlFWTXNVMEZCVlRCSExFZEJRM3BDTEU5QlFWTkJMRVZCUVUwc1NVRkJTeTlNTEZGQlFWTXdSaXhIUVVGWlF5eExRVWN4UTI1RkxFZEJRVTkwUWl4TlFVRlJMRk5CUVZWRExFZEJRM2hDTEUxQlFVMHNTVUZCU1hSSExFMUJRVThzTUVOQlFUUkRjMGNzU1VGUE9VUnhRaXhIUVVGUGQwc3NWMEZCWVN4VFFVRlZkRXdzUjBGRE4wSXNTVUZCU1haRExFVkJRMGc0VGl4RlFVRmhMRWRCUTJKd1RpeEZRVUZKTEVWQlEwb3pReXhGUVVGSkxFVkJUMHdzUjBGS1FTdEdMRWRCUVdkQ09VY3NSVUZCVVN0UkxHbENRVU40UW14TExFZEJRV0UzUnl4RlFVRlJaMUlzV1VGQlkzcE1MRVZCUVZGeVJ5eE5RVUZQTEVkQlEyeEVjVWNzUlVGQlVUTkNMRXRCUVUxclJTeEhRVVZVYUVJc1JVRkJaU3hEUVVOdVFpeExRVUZWT1VRc1JVRkJUM1ZETEVWQlFWTjRSU3hOUVVOd1FtbERMRWxCUVZOMVF5eEZRVUZUZUVVc1MwRkRkRUl5UXl4RlFVRkpiMDRzUlVGQlYzUlNMRXRCUVUxMVFpeEpRVWQyUWl4TFFVRlJNa01zUzBGRFVEWkNMRVZCUVZFeFFpeFBRVUZSYVU0c1JVRkJXWEJPTEVkQlFVc3NSMEZSYmtNc1QwRkdRVzFFTEVWQlFWa3NTMEZGVEhSQ0xFZEJUMUpuUWl4RlFVRlZSaXhIUVVGUFJTeFJRVUZWTEZOQlFWVjJSQ3hIUVVOd1F5eEpRVUZKYmtNc1JVRkRTRFpDTEVWQlFVMHNSMEZEVGpOQ0xFVkJRVWtzUlVGRFNsb3NSVUZCVnpaRExFVkJRVXMzUXl4VFFVVnFRaXhIUVVGTlFTeEhRVkZETEVkQlFXdENMRWxCUVdKQkxFZEJRU3RDTEVsQlFXSkJMRWRCUVN0Q0xFdEJRV0pCTEVWQlFXdENMRU5CU1dwRkxFZEJRV2xETEdsQ1FVRnlRalpETEVWQlFVdHBUeXhaUVVOb1FpeFBRVUZQYWs4c1JVRkJTMmxQTEZsQlNWb3NTVUZCVFdwUExFVkJRVTlCTEVWQlFVdHJUeXhYUVVGWmJFOHNSVUZCVFVFc1JVRkJUMEVzUlVGQlN6UkxMRmxCUXk5RGJFd3NSMEZCVHpaRUxFVkJRVk4yUkN4UlFVZGFMRWRCUVd0Q0xFbEJRV0kzUXl4SFFVRXJRaXhKUVVGaVFTeEZRVU0zUWl4UFFVRlBOa01zUlVGQlMyMVBMR1ZCYmtKYUxFdEJRVlYwVVN4RlFVRlBiVU1zUlVGQlRXcERMRTFCUjNSQ01rSXNSMEZCVHpaRUxFVkJRVk14Uml4SFFYRkNiRUlzVDBGQlR6WkNMRWxCUjFJMFJDeEZRVUZQUkN4SFFVRlBLMHNzVlVGQldTeERRVWQ2UW5KRkxGbEJRV0VzUjBGRlluTkZMR0ZCUVdOd1JTeEhRVVZrZUVJc1RVRkJUM2hETEVWQlJWQnpSU3hYUVVGWkxFZEJSVm8wUWl4TFFVRk5MRWRCUlU1dFF5eFRRVUZWTEVOQlExUkRMRWxCUVVzc1EwRkJSWFJITEVsQlFVc3NZVUZCWXk5SUxFOUJRVThzUjBGRGFrTnpUeXhKUVVGTExFTkJRVVYyUnl4SlFVRkxMR05CUTFwM1J5eEpRVUZMTEVOQlFVVjRSeXhKUVVGTExHdENRVUZ0UWk5SUxFOUJRVThzUjBGRGRFTjNUeXhKUVVGTExFTkJRVVY2Unl4SlFVRkxMRzlDUVVkaU1FY3NWVUZCVnl4RFFVTldkRWtzUzBGQlVTeFRRVUZWYjBNc1IwRlhha0lzVDBGV1FVRXNSVUZCVHl4SFFVRk5RU3hGUVVGUExFZEJRVWsxUnl4UlFVRlRiVVlzUjBGQlYwTXNTVUZITlVOM1FpeEZRVUZQTEVsQlFWRkJMRVZCUVU4c1NVRkJUMEVzUlVGQlR5eEpRVU51UTBFc1JVRkJUeXhKUVVGUExFbEJRVXMxUnl4UlFVRlRiVVlzUjBGQlYwTXNTVUZGY0VJc1QwRkJabmRDTEVWQlFVOHNTMEZEV0VFc1JVRkJUeXhIUVVGTkxFbEJRVTFCTEVWQlFVOHNSMEZCVFN4TFFVY3hRa0VzUlVGQlRYWk5MRTFCUVU4c1JVRkJSeXhKUVVkNFFuRkxMRTFCUVZNc1UwRkJWV3RETEVkQmFVTnNRaXhQUVhKQ1FVRXNSVUZCVHl4SFFVRk5RU3hGUVVGUExFZEJRVWx5Uml4alFVVlZMRkZCUVRkQ2NVWXNSVUZCVHl4SFFVRkpkazBzVFVGQlR5eEZRVUZITEVsQlIyNUNkVTBzUlVGQlR5eEpRVU5hY0VZc1IwRkJUM1JDTEUxQlFVOHdSeXhGUVVGUExFbEJTM1JDUVN4RlFVRlBMRXRCUVZOQkxFVkJRVThzUjBGRGRFSkJMRVZCUVU4c1NVRkJVVUVzUlVGQlR5eEpRVUZQTEVkQlF6ZENMRWRCUVhGQ0xGTkJRV1pCTEVWQlFVOHNTVUZCYVVNc1VVRkJaa0VzUlVGQlR5eExRVU4yUTBFc1JVRkJUeXhMUVVGWFFTeEZRVUZQTEVkQlFVMUJMRVZCUVU4c1NVRkJkMElzVVVGQlprRXNSVUZCVHl4TFFVY3pRMEVzUlVGQlR5eEpRVU5zUW5CR0xFZEJRVTkwUWl4TlFVRlBNRWNzUlVGQlR5eEpRVWRtUVN4SFFVZFNia01zVDBGQlZTeFRRVUZWYlVNc1IwRkRia0lzU1VGQlNXMUhMRVZCUTBoRExFZEJRVmx3Unl4RlFVRlBMRWxCUVU5QkxFVkJRVThzUjBGRmJFTXNUMEZCUzNoRExFVkJRVzFDTEUxQlFVVnRSQ3hMUVVGTldDeEZRVUZQTEVsQlF5OUNMRTFCU1VoQkxFVkJRVThzUjBGRFdFRXNSVUZCVHl4SFFVRk5RU3hGUVVGUExFbEJRVTlCTEVWQlFVOHNTVUZCVHl4SFFVYzVRbTlITEVkQlFWazVTU3hGUVVGUmNVUXNTMEZCVFhsR0xFdEJSMjVEUkN4RlFVRlRia3dzUlVGQlZXOU1MRWRCUVZVc1RVRkhOMEpFTEVWQlFWTkRMRVZCUVZOd1V5eFJRVUZUTEVsQlFVdHZVeXhGUVVGVE5WQXNUMEZCVXpKUUxFZEJRVmRETEVWQlFWTTFVQ3hWUVVkNFJYZEtMRVZCUVU4c1IwRkJUVUVzUlVGQlR5eEhRVUZKZGswc1RVRkJUeXhGUVVGSE1GTXNSMEZEYkVOdVJ5eEZRVUZQTEVkQlFVMXZSeXhGUVVGVE0xTXNUVUZCVHl4RlFVRkhNRk1zU1VGSk1VSnVSeXhGUVVGTmRrMHNUVUZCVHl4RlFVRkhMRTFCU1hwQ0sxQXNUMEZCVVN4RFFVVlFOMFlzU1VGQlR5eFRRVUZWTUVrc1IwRkRhRUlzU1VGQlNUbEhMRVZCUVZjNFJ5eEZRVUZwUW1wT0xGRkJRVk50Uml4SFFVRlhReXhKUVVGWk4wUXNZMEZEYUVVc1RVRkJORUlzVFVGQmNrSXdUQ3hGUVVOT0xGZEJRME1zVDBGQlR5eEhRVVZTTEZOQlFWVTVUeXhIUVVOVUxFOUJRVTlCTEVWQlFVdG5TU3hWUVVGWmFFa3NSVUZCUzJkSkxGTkJRVk0xUlN4blFrRkJhMEkwUlN4SlFVa3pSRGRDTEUxQlFWTXNVMEZCVlRCR0xFZEJRMnhDTEVsQlFVbHJSQ3hGUVVGVmRFc3NSVUZCV1c5SUxFVkJRVmtzUzBGRmRFTXNUMEZCVDJ0RUxFbEJRMHBCTEVWQlFWVXNTVUZCU1hKS0xFOUJRVkVzVFVGQlVVd3NSVUZETDBJc1NVRkJUWGRITEVWQlFWa3NTVUZCVFhoSExFVkJRV0VzVTBGQllWb3NSVUZEYWtSdlNDeEZRVUZYTEZOQlFWVTNUQ3hIUVVOd1FpeFBRVUZQSzA4c1JVRkJVVE5HTEV0QlExa3NhVUpCUVc1Q2NFb3NSVUZCU3paTUxGZEJRVEJDTjB3c1JVRkJTelpNTEdkQ1FVTmtMRWxCUVhSQ04wd3NSVUZCU3pWQ0xHTkJRMWcwUWl4RlFVRkxOVUlzWVVGQll5eFZRVU53UWl4UFFVdE9hVWtzUzBGQlVTeFRRVUZWY2tZc1JVRkJUV2RQTEVWQlFWVkRMRWRCUTJwRExFOUJRVThzVTBGQlZXcFFMRWRCUTJoQ0xFbEJRVWxyVUN4RlFVRlROMHdzUjBGQlQzRkxMRXRCUVUweFRpeEZRVUZOWjBJc1IwRkZhRU1zVDBGQlpTeE5RVUZXYTA4c1JVRkRaMElzVDBGQllrWXNSMEZGUmtFc1NVRkpUa1VzUjBGQlZTeEhRVWxWTEUxQlFXSkdMRVZCUVcxQ1JTeEpRVUZYUkN4RlFVTjJRaXhQUVVGaVJDeEZRVUZ2UWtVc1NVRkJWMFFzUlVGRGJFSXNUMEZCWWtRc1JVRkJiMEpETEVkQlFYRkRMRWxCUVRWQ1F5eEZRVUZQZWxNc1VVRkJVM2RUTEVkQlEyaERMRTlCUVdKRUxFVkJRVzlDUXl4SFFVRlRReXhGUVVGUGVsTXNVVUZCVTNkVExFbEJRVmNzUlVGRE0wTXNUMEZCWWtRc1JVRkJiMEpETEVkQlFWTkRMRVZCUVU5b1ZDeFBRVUZSSzFNc1JVRkJUV2hSTEZWQlFXRm5VU3hGUVVOc1JDeFBRVUZpUkN4SFFVRnpRaXhKUVVGTlJTeEZRVUZQY2s0c1VVRkJVelJFTEVWQlFXRXNTMEZCVVN4TFFVRk5hRW9zVVVGQlUzZFRMRWxCUVZjc1JVRkRPVVVzVDBGQllrUXNTVUZCYjBKRkxFbEJRVmRFTEVkQlFWTkRMRVZCUVU5b1ZDeE5RVUZQTEVWQlFVY3JVeXhGUVVGTmFGRXNUMEZCVXl4TFFVRlJaMUVzUlVGQlVTeFJRVTh6UmpGSkxFMUJRVk1zVTBGQlZXaEtMRVZCUVUwMFVpeEZRVUZOUXl4RlFVRlhiRkFzUlVGQlQwVXNSMEZEYUVRc1NVRkJTV2xRTEVWQlFXZERMRkZCUVhaQ09WSXNSVUZCUzNKQ0xFMUJRVThzUlVGQlJ5eEhRVU16UW05VUxFVkJRU3RDTEZOQlFYSkNMMUlzUlVGQlMzSkNMRTlCUVZFc1IwRkRka0p4VkN4RlFVRnJRaXhaUVVGVVNpeEZRVVZXTEU5QlFXbENMRWxCUVZacVVDeEhRVUYzUWl4SlFVRlVSU3hGUVVkeVFpeFRRVUZWU2l4SFFVTlVMRkZCUVZOQkxFVkJRVXQ0UWl4WlFVZG1MRk5CUVZWM1FpeEZRVUZOZDFBc1JVRkJWVU1zUjBGRGVrSXNTVUZCU1RWR0xFVkJRVTgyUml4RlFVRmhReXhGUVVGWk9WSXNSVUZCVFN0U0xFVkJRVmRETEVWQlEzQkVOVWdzUlVGQlRXOUlMRWxCUVZkRExFVkJRVlVzWTBGQlowSXNhMEpCUXpORFVTeEZRVUZUT1ZBc1JVRkJTM2hDTEZkQlEyUjNReXhGUVVGUGRVOHNSMEZCVlhaUUxFVkJRVXRuU1N4VFFVRlROVVVzWTBGREwwSXlUU3hIUVVGWlRpeEpRVUZSUml4RlFVTndRamRGTEVkQlFVOHNSVUZGVWl4SFFVRkxiMFlzUlVGQlV5eERRVWRpTEVkQlFVdFVMRVZCUVZNc1EwRkRZaXhMUVVGUmNFZ3NSMEZCVFN4RFFVVmlMRWxCUkVGd1N5eEZRVUZQYlVNc1JVRkRSMjVETEVWQlFVOUJMRVZCUVUxdlN5eEpRVU4wUWl4SFFVRkxjMGdzUlVGRFNqRlNMRVZCUVV0dFN5eFRRVUZUTlVVc1owSkJRV3RDY0VNc1JVRkRaQ3hKUVVGc1FtNUVMRVZCUVV0V0xGTkJSVXdzVDBGQlR5eEZRVXRVTUZNc1JVRkJVVFZJTEVWQlFXVXNVMEZCVkRGTExFbEJRVzlDYzFNc1IwRkJVeXhqUVVVMVF5eFBRVUZQTEVWQlRWSXNSMEZJUVVFc1JVRkJVU3hEUVVGRlVDeEZRVUZWVVN4RlFVRlBOVUlzVjBGQllUUkNMRVZCUVU5RkxGZEJSekZEVml4SFFVRlhVeXhIUVd0Q1ppeEpRVWhCY2tZc1IwRkVRV3RHTEVkQlJFRXZSaXhIUVVoQk5rWXNSMEZLUVVNc1IwRkVRVGxTTEVWQlFVOXBVeXhIUVVOWmNFOHNTMEZCWlRkRUxFVkJRVTAyUkN4SFFVRlpMRXRCU1RGQ04wUXNSVUZCUzI5VExGbEJRelZDVGl4RlFVRlpPVklzUlVGQlMyOVRMRlZCUVdFc1MwRkZXakZUTEVsQlFWVXNTVUZEV2l4TFFVRlJaMGdzUjBGQlYzTkdMRVZCUVU4c1MwRkRla0pCTEVWQlFVOHNSMEZETTBKb1RTeEZRVUZQSzFJc1IwRkJZVVVzUlVGQlR6TklMRmRCUVZsNVNDeEhRVVUzUWk5U0xFbEJRVk1yVWl4SFFVRmhMMUlzUjBGQlVVRXNSVUZCVFc5TExFdEJSek5EZVVNc1JVRkJUMnRHTEVWQlFWa3NTVUZCVDBNc1JVRkJUVFZMTEU5QlIyeERMRWRCUVhWQ0xFbEJRV3hDY0Vnc1JVRkJTMVlzV1VGQmIwSjFUaXhIUVVGUk4wMHNTVUZCVTIxRExFVkJRVThzUTBGRGNrUXdVQ3hGUVVGaGJsTXNSMEZCVXl4RFFVRkZaMGdzUlVGQlUzRk1MRVZCUVZkc1JpeEhRVU0xUXl4WlFYbENSaXhIUVd4Q1MzRkdMRWxCWVVweVJpeEZRVVJCYTBZc1IwRkVRUzlHTEVkQlNFRTJSaXhIUVVwQlF5eEhRVVJCT1ZJc1JVRkJUMjFETEVkQlExa3dRaXhMUVVGbE4wUXNSVUZCVFRaRUxFZEJRVmtzUzBGSk1VSTNSQ3hGUVVGTGIxTXNXVUZETlVKT0xFVkJRVms1VWl4RlFVRkxiMU1zVlVGQllTeExRVVZhTVZNc1NVRkJWU3hKUVVOYUxFdEJRVkZuU0N4SFFVRlhjMFlzUlVGQlR5eExRVTFvUXl4SlFVRlVZU3hGUVVkS0xFMUJRVlUzVFN4SlFVRlRLMUlzUjBGQllTOVNMRWRCUVZGQkxFVkJRVTF2U3l4TFFVTXpRM2xETEVWQlFVOXJSaXhGUVVGWkxFbEJRVTlETEVWQlFVMDFTeXhWUVVVelFuTkxMRVZCUTA0eFVpeEZRVUZMYlVzc1UwRkJVelZGTEdkQ1FVRnJRbkJETEVWQlEyUXNTVUZCYkVKdVJDeEZRVUZMVml4alFVTklkVTRzU1VGSFIzRkdMRXRCVFVwTUxFZEJURUZETEVWQlFXRTVVaXhGUVVGTk5rUXNTMEZEYUVJM1JDeEZRVUZOTmtRc1IwRkJXU3hMUVVsTE4wUXNSVUZCUzI5VExGbEJRelZDVGl4RlFVRlpPVklzUlVGQlMyOVRMRlZCUVdFc1MwRkZjRUl4VXl4SFFVRlRMRU5CUVVWblNDeEZRVUZUYlVjc1NVRkhOMEkzVFN4SlFVRlRiVU1zVFVGVmJFSXNUMEZFUVRCTExFZEJRVkYwU3l4TFFVTlJSaXhIUVVGWGQwc3NSVUZCVDNoTExFZEJRVlVzUjBGQlMzZExMRVZCUVU5NFN5eEhRVUZUTEV0QlMzSkZiMGNzVDBGQlZTeFRRVUZWTkVvc1JVRkJVV2hHTEVkQlRUTkNMRWxCUVVscFJpeEZRVU5JY2xJc1JVRkJTM2RGTEVWQlFVdHJReXhSUVVGVE1Fc3NTVUZCV1RWTkxFVkJRVXM0VFN4WFFVRlpSaXhGUVVGUE9VMHNaMEpCUTNSRVF5eEhRVUZQZEVJc1RVRkJUeXgxUWtGQmVVSnRUeXhIUVV0NlF5eFBRVUZMY0ZJc1JVRkJTVFJETEVkQlEwUTFReXhGUVVGSmIwMHNSMEZKVUhCTkxFVkJRVWRITEU5QlFWTXNSMEZEYUVKclVpeEZRVUZQTEVOQlFVVkVMRVZCUVZGQkxFVkJRVkVzUjBGQlNXaEdMRWRCUTNSQ05VZ3NSVUZCU3poTkxGZEJRVmQyVkN4bFFVRm5RbkZVTEVWQlFVODVUU3hsUVVNM1F6WkhMRWRCUVdNc1UwRkJWVE5DTEVWQlFVMHpSaXhIUVVrM1FpeEpRVWhCTEVsQlFVa3dUaXhGUVVOSVF5eEZRVUZWZUZJc1JVRkJTWGRLTEVWQlFVMDBReXhIUVVOd1FtNU9MRVZCUVVsMVV5eEZRVUZSY2xJc1QwRkRUR3hDTEV0QlJWQjFTeXhGUVVSQkswZ3NSVUZCVFRWVUxFVkJRVk0yVEN4RlFVRk5aMGtzUlVGQlUzWlRMRTlCUTJJMFJTeEZRVUZUTUU0c1IwRkJVVU1zUlVGQlUzWlRMRTFCUnpkRExGTkJRVlZwUXl4SFFVTlVMRTlCUVU5c1FpeEZRVUZKYTBJc1JVRkJUU3hGUVVGSGJWRXNTMEZKYUVKeVVpeEpRVWxVTUVjc1VVRkJVeXhEUVVkU0swc3NTVUZCVDNSSExFZEJRV01zVTBGQlZYSk1MRWRCU3psQ0xFbEJRVWt5VGl4RlFVRlJMRWRCUTFob1N5eEZRVUZWTEVkQlExWnBUeXhGUVVGVk9VMHNSVUZCVXpsRkxFVkJRVk5wUkN4UlFVRlRPRVFzUlVGQlR5eFBRVVUzUXl4UFFVRlBOa3NzUlVGQlV6bFBMRWRCUTJaMVNTeEhRVUZqTEZOQlFWVXpRaXhGUVVGTk0wWXNSVUZCVXpaTkxFVkJRVlZETEVkQlRXaEVMRWxCVEVFc1NVRkJTWHBRTEVWQlEwaDVVU3hGUVVGWlJDeEZRVUZUYkVrc1JVRkJUU3hMUVVGTmJVZ3NSVUZCU3l4SlFVTjBRekZTTEVWQlFVbDFTeXhGUVVGTGNrb3NUMEZIUm14Q0xFMUJRMEZwUXl4RlFVRlBlVkVzUlVGQlZ6RlRMRTFCUTNoQ2RVc3NSVUZCVFhaTExFdEJRVk0wUlN4RlFVRlROVVVzUjBGQlRXbERMRTFCU1dwRExGTkJRVlZCTEVWQlFVMTNVQ3hGUVVGVlF5eEhRVTE2UWl4UFFVeEJiRVFzUlVGQlR5eEhRVUZOZGswc1JVRkRZbmRSTEVWQlFWTnFSU3hGUVVGUExFdEJRVTFyUkN4RlFVRkxiRTRzUjBGSE0wSm5TeXhGUVVGUExFZEJRVTBzVFVGRFRHaExMRVZCUVZFd1F5eFRRVWx1UW5sTUxFbEJRVTk2Unl4SFFVRmpMRk5CUVZWeVRDeEhRVU01UWl4UFFVRlBMRk5CUVZWdlFpeEhRVU5vUWl4UFFVRlBjVVFzUjBGQlVYcEZMRVZCUVZWdlFpeEhRVUZQWml4UFFVRlRMRXRCU1RORGJVWXNVMEZCV1RaR0xFZEJRV01zVTBGQlZUbE1MRWRCUlc1RExFOUJSRUZCTEVWQlFVOUJMRVZCUVVzd1JDeFJRVUZUYlVZc1IwRkJWME1zU1VGRGVrSXNVMEZCVldwSUxFZEJRMmhDTEU5QlFWTkJMRVZCUVV0cFR5eGhRVUZsTVVzc1JVRkJVM1pFTEVsQlFWTjJSQ3hSUVVGVE1FSXNTVUZCVlN4TFFWZHdSWGRUTEV0QlFWRXhSeXhIUVVGakxGTkJRVlV3Unl4SFFVOHZRaXhQUVVwTk0wc3NSVUZCV1c5RUxFdEJRVTExU0N4SFFVRlJMRXRCUXk5Q2RFNHNSMEZCVDNSQ0xFMUJRVThzY1VKQlFYVkNORThzUjBGRmRFTkJMRVZCUVU5QkxFVkJRVXM1VHl4UlFVRlRiVVlzUjBGQlYwTXNTVUZCV1RkRUxHTkJRM0pETEZOQlFWVndSQ3hIUVVOb1FpeEpRVUZKTkZFc1JVRkRTaXhIUVVORExFZEJRVTlCTEVWQlFWY3pUU3hGUVVOcVFtcEZMRVZCUVVzeVVTeExRVU5NTTFFc1JVRkJTelZDTEdGQlFXTXNZVUZCWjBJMFFpeEZRVUZMTlVJc1lVRkJZeXhSUVVkMFJDeFBRVVJCZDFNc1JVRkJWMEVzUlVGQlUzaE9MR2xDUVVOQmRVNHNSMEZCTWtNc1NVRkJia05ETEVWQlFWTnVWU3hSUVVGVGExVXNSVUZCVHl4WlFVVXpRek5STEVWQlFVOUJMRVZCUVV0NFFpeGhRVUZyUXl4SlFVRnNRbmRDTEVWQlFVczNReXhWUVVNM1F5eFBRVUZQTEV0QlMxUnBSU3hQUVVGVkxGTkJRVlZ3UWl4SFFVTnVRaXhKUVVGSk5sRXNSVUZCVDJ4V0xFVkJRVTl0Vml4VlFVRlpibFlzUlVGQlQyMVdMRk5CUVZORUxFdEJRemxETEU5QlFVOUJMRWRCUVZGQkxFVkJRVXN6VlN4TlFVRlBMRXRCUVZFNFJDeEZRVUZMWjBvc1NVRkhla01yU0N4TFFVRlJMRk5CUVZVdlVTeEhRVU5xUWl4UFFVRlBRU3hKUVVGVFowVXNSMEZIYWtKblRpeE5RVUZUTEZOQlFWVm9VaXhIUVVOc1FpeFBRVUZQUVN4SlFVRlRlRVVzUlVGQlUzbFdMR2xDUVVOeVFucFdMRVZCUVZNd1ZpeFZRVUZaTVZZc1JVRkJVekJXTEdkQ1FVTTNRbXhTTEVWQlFVdDZReXhOUVVGUmVVTXNSVUZCUzIxU0xFOUJRVk51VWl4RlFVRkxiMUlzVjBGSmRFTkRMRkZCUVZkMFJ5eEpRVUZ6UWl4SFFVTnFRMmhFTEZOQlFWbG5SQ3hKUVVGelFpeEhRVVZzUTNWSExGRkJRVmNzVTBGQlZYUlNMRWRCU1hCQ0xFbEJRVWxuU1N4RlFVRlhhRWtzUlVGQlMyZEpMRk5CUVZNMVJTeGpRVU0zUWl4TlFVRnpRaXhWUVVGaU5FVXNTMEZCTUVKb1NTeEZRVUZMYzFJc1UwRkRlRUlzVjBGQlluUktMRXRCUVRKQ2FFa3NSVUZCUzNWU0xGVkJSM0JEUVN4VFFVRlpMRk5CUVZWMlVpeEhRVk55UWl4UFFVeExRU3hGUVVGTGVFSXNXVUZGVkhkQ0xFVkJRVXQ0UWl4WFFVRlhaMVFzWlVGSFVTeEpRVUZzUW5oU0xFVkJRVXQxVWl4VlFVbGlSU3hOUVVGVExGTkJRVlY2VWl4SFFVMXNRaXhKUVVGTlFTeEZRVUZQUVN4RlFVRkxhMDhzVjBGQldXeFBMRVZCUVUxQkxFVkJRVTlCTEVWQlFVczBTeXhaUVVNdlF5eEhRVUZMTlVzc1JVRkJTemRETEZOQlFWY3NSVUZEY0VJc1QwRkJUeXhGUVVkVUxFOUJRVThzUjBGSFVqSlRMRTlCUVZVc1UwRkJWVGxRTEVkQlEyNUNMRTlCUVZGelJDeEZRVUZMYTBNc1VVRkJhVUlzVFVGQlIzaEdMRWxCU1d4RE1GSXNUMEZCVlN4VFFVRlZNVklzUjBGRGJrSXNUMEZCVHpSSExFVkJRVkYzUXl4TFFVRk5jRW9zUlVGQlMyZEpMRmRCUnpOQ2RVVXNUVUZCVXl4VFFVRlZkazBzUjBGRGJFSXNUMEZCVHpKSExFVkJRVkY1UXl4TFFVRk5jRW9zUlVGQlMyZEpMRmRCUnpOQ01rb3NUMEZCVlN4VFFVRlZNMUlzUjBGRGJrSXNTVUZCU1dkQ0xFVkJRVTlvUWl4RlFVRkxaMGtzVTBGQlV6VkZMR05CUTNwQ0xFMUJRV2RDTEZWQlFWUndReXhIUVVGclF5eFhRVUZrYUVJc1JVRkJTM3BETEUxQlFUaENMRmRCUVZSNVJDeEhRVWQwUkRkRExFdEJRVkVzVTBGQlZUWkNMRWRCUTJwQ0xFbEJRVWt3VGl4RlFVTktMRTFCUVhWRExGVkJRV2hETVU0c1JVRkJTMmRKTEZOQlFWTTFSU3hsUVVOT0xGTkJRV1J3UkN4RlFVRkxla01zVDBGSmRVTXNUMEZCZUVOdFVTeEZRVUZQTVU0c1JVRkJTelZDTEdGQlFXTXNWVUZEVGl4VFFVRjJRbk5RTEVWQlFVdDBTeXhuUWtGSlVteEVMRTFCUVZNclN5eEhRVUYzUWl4WFFVTm9ReXhOUVVGUExFTkJRVVVzUzBGSFZqZExMRXRCUVZFMlN5eEhRVUYzUWl4VFFVRlZNa2NzUlVGQlpUTlRMRWRCUTNoRUxFMUJRVThzUTBGQlJVRXNSVUZCVXl4TFFVZHVRbXRDTEVkQlFVMDRTeXhIUVVGM1FpeFRRVUZWTWtjc1JVRkJaVE5UTEVWQlFWRnBUU3hIUVVNNVJDeE5RVUZQTEVOQlFVVkJMRVZCUVZjc1JVRkJTVUVzUlVGQlYycE5MRVZCUVZOcFRTeExRVWMzUXpkTExFdEJRVkUwU3l4SFFVRjNRaXhUUVVGVlJTeEZRVUZqYkUwc1IwRkZka1FzU1VGRVFTeEpRVUZKYkVJc1JVRkJTU3hGUVVOQlFTeEZRVUZKYTBJc1JVRkJVV3hDTEVkQlFVc3NSVUZEZUVKdlRpeEZRVUZoTTA4c1MwRkJUWFZDTEVkQlJYQkNMRTlCUVU5dlRpeEpRVWRTTTBzc1NVRkJUM2xMTEVkQlFYZENMRk5CUVZWRkxFVkJRV05zVFN4SFFVVjBSQ3hKUVVSQkxFbEJRVWxzUWl4RlFVRkpMRVZCUTBGQkxFVkJRVWxyUWl4RlFVRlJiRUlzUjBGQlN5eEZRVU40UW05T0xFVkJRV0V6VHl4TFFVRk5kVUlzUjBGRmNFSXNUMEZCVDI5T0xFbEJSMUl3Unl4SFFVRk5OVWNzUjBGQmQwSXNVMEZCVlVVc1JVRkJZMnhOTEVWQlFWRnBUU3hIUVUwM1JDeEpRVXhCTEVsQlFVbHVUaXhGUVVGSmJVNHNSVUZCVnl4RlFVTnNRa0VzUlVGQlYycE5MRVZCUTFocFRTeEZRVUZYYWswc1JVRkRWa0VzUlVGRFFXbE5MRWxCUTFGdVRpeEhRVUZMTEVkQlEyUnZUaXhGUVVGaE0wOHNTMEZCVFhWQ0xFZEJSWEJDTEU5QlFVOXZUaXhKUVVkU01rY3NSMEZCVFRkSExFZEJRWGRDTEZOQlFWVkZMRVZCUVdOc1RTeEZRVUZSYVUwc1IwRkZOMFFzU1VGRVFTeEpRVUZKYms0c1JVRkJTVzFPTEVWQlFWY3NSVUZCU1VFc1JVRkJWMnBOTEVWQlFWTnBUU3hKUVVOcVEyNU9MRVZCUVVsclFpeEhRVU5pYTAwc1JVRkJZVE5QTEV0QlFVMTFRaXhIUVVWd1FpeFBRVUZQYjA0c1QwRkxURE5HTEZGQlFXVXNTVUZCU1d4RExFVkJRVXRyUXl4UlFVRmpMRWRCUjJoRExFTkJRVVYxVFN4UFFVRlBMRVZCUVUxRExGVkJRVlVzUlVGQlRVTXNUVUZCVFN4RlFVRk5ReXhWUVVGVkxFVkJRVTFETEU5QlFVOHNSMEZETlVVM1R5eEZRVUZMYTBNc1VVRkJVM3BJTEVkQlFVMDRUU3hIUVVGdFFqbE5MRWRCUlhoRExFbEJRVTFCTEVsQlFVc3NRMEZCUlhGVkxGRkJRVkVzUlVGQlRVTXNUMEZCVHl4SFFVTnFReTlQTEVWQlFVdHJReXhSUVVGVGVrZ3NSMEZCVFN0TkxFZEJRVzlDTDAwc1IwRkpla01zVTBGQlUzRlRMRTFCTUVWVUxGTkJRVk0zUnl4SFFVRlpLMGtzUjBGSmNFSXNTVUZJUVN4SlFVRkpkbFVzUlVGQlNTeEZRVU5RTUVNc1JVRkJUVFpTTEVWQlFVOXlWQ3hQUVVOaVRDeEZRVUZYTEVkQlEwcGlMRVZCUVVrd1F5eEZRVUZMTVVNc1NVRkRhRUpoTEVkQlFWa3dWQ3hGUVVGUmRsVXNSMEZCU1N0RkxFMUJSWHBDTEU5QlFVOXNSU3hGUVVkU0xGTkJRVk5yU2l4SFFVRmxNRWtzUlVGQlV5dENMRVZCUVZsRExFZEJRelZETEVsQlFVbDJTeXhGUVVGTmMwc3NSVUZCVjNSTExFbEJRM0JDZDBzc1JVRkJUMFlzUlVGQlYzSkxMRXRCUTJ4Q05FSXNSVUZCVFRKSkxFZEJRVkY0U3l4RlFVTmtlVXNzUlVGQmJVSkdMRWRCUVdkQ0xHVkJRVkl4U1N4RlFVTXpRalpKTEVWQlFWZHVUeXhKUVVWYUxFOUJRVThyVGl4RlFVRlhjbE1zVFVGSGFrSXNVMEZCVlVZc1JVRkJUVzVDTEVWQlFWTTBVU3hIUVVONFFpeExRVUZWZWxBc1JVRkJUMEVzUlVGQlRXbEpMRWxCUTNSQ0xFZEJRWFZDTEVsQlFXeENha2tzUlVGQlN6ZERMRlZCUVd0Q2RWWXNSVUZETTBJc1QwRkJUMnhETEVWQlFWTjRVU3hGUVVGTmJrSXNSVUZCVXpSUkxFZEJSMnBETEU5QlFVOHNSMEZKVWl4VFFVRlZlbEFzUlVGQlRXNUNMRVZCUVZNMFVTeEhRVU40UWl4SlFVRkpiVVFzUlVGQlZXeEVMRVZCUVdGRExFVkJRekZDYTBRc1JVRkJWeXhEUVVGRmRFOHNSVUZCVTI5UExFZEJSM1pDTEVkQlFVdHNSQ3hIUVVOS0xFdEJRVlY2VUN4RlFVRlBRU3hGUVVGTmFVa3NTVUZEZEVJc1NVRkJkVUlzU1VGQmJFSnFTU3hGUVVGTE4wTXNWVUZCYTBKMVZpeEpRVU4wUW14RExFVkJRVk40VVN4RlFVRk5ia0lzUlVGQlV6UlJMRWRCUXpWQ0xFOUJRVThzVDBGTFZpeExRVUZWZWxBc1JVRkJUMEVzUlVGQlRXbEpMRWxCUTNSQ0xFZEJRWFZDTEVsQlFXeENha2tzUlVGQlN6ZERMRlZCUVd0Q2RWWXNSVUZSTTBJc1IwRklRV2hFTEVkQlNrRkRMRVZCUVdFelVDeEZRVUZOTUVJc1MwRkJaVEZDTEVWQlFVMHdRaXhIUVVGWkxFdEJTVEZDTVVJc1JVRkJTMmxSTEZsQlF6VkNUaXhGUVVGWk0xQXNSVUZCUzJsUkxGVkJRV0VzU1VGRk5VSjNReXhIUVVGUlFTeEpRVUZUZWxNc1JVRkJTMmRKTEZOQlFWTTFSU3hqUVVOdVEzQkVMRVZCUVU5QkxFVkJRVTFwU1N4SlFVRlRha2tzVFVGRGFFSXNRMEZCUVN4SlFVRlBORk1zUlVGQlYyeEVMRVZCUVdFMVJpeExRVU55UXpoSkxFVkJRVlVzUzBGQlVYSlBMRWRCUVZkeFR5eEZRVUZWTEV0QlFWRkVMRVZCUnk5RExFOUJRVk5GTEVWQlFWVXNSMEZCVFVRc1JVRkJWU3hIUVU5dVF5eEhRVWhCYkVRc1JVRkJZVFZHTEVkQlFWRXJTU3hGUVVka1FTeEZRVUZWTEVkQlFVMXlReXhGUVVGVGVGRXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVTTVReXhQUVVGUExFVkJUVm9zVDBGQlR5eEhRVWxXTEZOQlFWTnhSQ3hIUVVGblFrTXNSMEZEZUVJc1QwRkJUMEVzUlVGQlV6bFVMRTlCUVZNc1JVRkRlRUlzVTBGQlZXVXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVVjRRaXhKUVVSQkxFbEJRVWt4VWl4RlFVRkpaMVlzUlVGQlV6bFVMRTlCUTFSc1FpeExRVU5RTEVsQlFVMW5WaXhGUVVGVmFGWXNSMEZCUzJsRExFVkJRVTF1UWl4RlFVRlRORkVzUjBGRGJrTXNUMEZCVHl4RlFVZFVMRTlCUVU4c1IwRkZVbk5FTEVWQlFWVXNSMEZaV2l4VFFVRlRReXhIUVVGVmRrTXNSVUZCVnpGUkxFVkJRVXRyVFN4RlFVRlJjRTRzUlVGQlV6UlJMRWRCVDI1RUxFbEJUa0VzU1VGQlNYcFFMRVZCUTBocFZDeEZRVUZsTEVkQlEyWnNWaXhGUVVGSkxFVkJRMG93UXl4RlFVRk5aMUVzUlVGQlZYaFNMRTlCUTJoQ2FWVXNSVUZCWjBJc1RVRkJVRzVVTEVWQlJVWm9ReXhGUVVGSk1FTXNSVUZCU3pGRExFdEJRMVJwUXl4RlFVRlBlVkVzUlVGQlZ6RlRMRTFCUTJ4Q2EwOHNTVUZCVlVFc1JVRkJVV3BOTEVWQlFVMXVRaXhGUVVGVE5GRXNTMEZEZEVOM1JDeEZRVUZoZWxjc1MwRkJUWGRFTEVkQlEyUnJWQ3hIUVVOS2JsUXNSVUZCU1haRUxFdEJRVTExUWl4TFFVMWtMRTlCUVU5clZpeEZRVWRTTEZOQlFWTkZMRWRCUVZsNFJTeEZRVUZYTDFBc1JVRkJWVFJTTEVWQlFWTTBReXhGUVVGWlF5eEZRVUZaUXl4SFFVOHhSU3hQUVU1TFJpeEpRVUZsUVN4RlFVRlpNVklzUzBGREwwSXdVaXhGUVVGaFJDeEhRVUZaUXl4SlFVVnlRa01zU1VGQlpVRXNSVUZCV1ROU0xFdEJReTlDTWxJc1JVRkJZVVlzUjBGQldVVXNSVUZCV1VNc1NVRkZMMEp5U2l4SFFVRmpMRk5CUVZVelFpeEZRVUZOTDBZc1JVRkJVekZFTEVWQlFWTTBVU3hIUVVOMFJDeEpRVUZKT0VRc1JVRkJUWGhXTEVWQlFVZHBReXhGUVVOYWQxUXNSVUZCVXl4SFFVTlVReXhGUVVGVkxFZEJRMVpETEVWQlFXTnVVaXhGUVVGUmRFUXNUMEZIZEVKUkxFVkJRVkUyU1N4SFFUVkRXQ3hUUVVFeVFqRktMRVZCUVZVclZTeEZRVUZWY0ZJc1IwRkhPVU1zU1VGR1FTeEpRVUZKZUVVc1JVRkJTU3hGUVVOUU1FTXNSVUZCVFd0VUxFVkJRVk14VlN4UFFVTlNiRUlzUlVGQlNUQkRMRVZCUVVzeFF5eEpRVU5vUW5OR0xFZEJRVkY2UlN4RlFVRlZLMVVzUlVGQlZUVldMRWRCUVV0M1JTeEhRVVZzUXl4UFFVRlBRU3hGUVhORFYzRlNMRU5CUTJab1ZpeEhRVUZaTEVsQlExcERMRVZCUVZFeFFpeFRRVUZYTEVOQlFVVXdRaXhIUVVGWlFTeEZRVU5xUXl4SlFVbEVaMVlzUjBGQldXeEdMRWxCUVdWeVJ5eEhRVUZUTVVvc1JVRkZia05oTEVWQlJFRjFWQ3hIUVVGVmRsUXNSVUZCVHl0VUxFVkJRVkUzUlN4RlFVRlhPVkFzUlVGQlV6UlJMRWRCUnpsRGNVVXNSVUZCWVhSRUxFVkJSMW8yUXl4SlFVRm5RaTlMTEVWQlFVOXhSeXhGUVVGWkswVXNSMEZCWlU0c1IwRkhha1FzUjBGSFFUZFJMRVZCUTBSelVpeEZRVkZHTEVkQlRFdHlSQ3hIUVVOS1FTeEZRVUZUY1VRc1JVRkJWME1zUlVGQldXcFdMRVZCUVZNMFVTeEhRVWx5UXpKRUxFVkJUVW9zU1VGTVFVY3NSVUZCVDFBc1IwRkJWV01zUlVGQldVd3NSMEZETjBKTUxFVkJRVmxITEVWQlFVMHNSMEZCU1RGVkxFVkJRVk0wVVN4SFFVY3ZRakZTTEVWQlFVbDNWaXhGUVVGTGRGVXNUMEZEUkd4Q0xFMUJRMEZwUXl4RlFVRlBkVlFzUlVGQlRYaFdMRTFCUTI1Q0sxWXNSVUZCV1V3c1JVRkJVekZXTEUxQlFWYzRWaXhGUVVGWFNpeEZRVUZUTVZZc1NVRkJVV2xETEVsQlN5OUVMRWRCUVV0elNTeEhRVU5LTEVkQlFVc3JTeXhIUVVGak1VVXNSVUZCV1N4RFFVTTVRaXhIUVVGTE1FVXNSVUZCWVN4RFFVdHFRaXhKUVVaQlJTeEZRVUZQTEVkQlExQjRWaXhGUVVGSksxWXNSVUZCVnpkVkxFOUJRMUJzUWl4TlFVTkJhVU1zUlVGQlR6aFVMRVZCUVZrdlZpeExRVWQ2UW5kV0xFVkJRVXN2Vnl4TFFVRlJjVmdzUlVGQlZ6bFdMRWRCUVUxcFF5eEhRVWRvUTNGVUxFVkJRVmtzUzBGQlVWTXNSVUZCWVN4SFFVRk5VQ3hGUVVGTk9VUXNSMEZMT1VNc1NVRkVRVEZTTEVWQlFVa3JWaXhGUVVGWE4xVXNUMEZEVUd4Q0xFMUJRMEZwUXl4RlFVRlBPRlFzUlVGQldTOVdMRTFCUTNaQ2QxWXNSVUZCVDBZc1JVRkJZVFZYTEVWQlFWTTJUQ3hGUVVGTmRFa3NSMEZCVTNkVUxFVkJRVkY2Vml4TFFVRlRMRWxCUlM5RWRVc3NSVUZCVFdsTUxFdEJRVmxvVWl4RlFVRlRaMUlzUjBGQlUzWlVMRlZCVDNaRE9GUXNSVUZCWVdRc1IwRkRXbU1zU1VGQlpYWlNMRVZCUTJSMVVpeEZRVUZYYWxRc1QwRkJVVFpUTEVWQlFXRkpMRVZCUVZjM1ZTeFJRVU16UXpaVkxFZEJSVWRVTEVWQlEwcEJMRVZCUVZrc1MwRkJUVGxSTEVWQlFWTjFVaXhGUVVGWmNrVXNSMEZGZGtOcVZDeEZRVUZMUkN4TlFVRlBaMGNzUlVGQlUzVlNMRXRCVFhwQ0xGTkJRVk5ETEVkQlFXMUNla0lzUjBGNVFqTkNMRWxCZUVKQkxFbEJRVWt3UWl4RlFVRmplRVFzUlVGQlV6bFFMRVZCUXpGQ1JDeEZRVUZOTmxJc1JVRkJUM0pVTEU5QlEySm5WaXhGUVVGclFqTlJMRVZCUVV0blRDeFRRVUZWWjBVc1JVRkJVU3hIUVVGSkwxVXNUVUZETjBNeVZ5eEZRVUZ0UWtRc1IwRkJiVUl6VVN4RlFVRkxaMHdzVTBGQlZTeExRVU55UkhaUkxFVkJRVWxyVnl4RlFVRnJRaXhGUVVGSkxFVkJSekZDUlN4RlFVRmxjazBzUjBGQlpTeFRRVUZWT1Vnc1IwRkRka01zVDBGQlQwRXNTVUZCVTJkVkxFZEJRMlJGTEVkQlFXdENMRWRCUTNKQ1JTeEZRVUZyUW5STkxFZEJRV1VzVTBGQlZUbElMRWRCUXpGRExFOUJRVTkyUkN4RlFVRlRkVmdzUlVGQlkyaFZMRWxCUVZVc1IwRkRkRU5yVlN4SFFVRnJRaXhIUVVOeVFtNUNMRVZCUVZjc1EwRkJSU3hUUVVGVkwxTXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVTnlReXhKUVVGSkwxQXNSMEZCVTNWVkxFbEJRWEZDZUVVc1IwRkJUelZSTEVsQlFWa3JSU3hOUVVOc1JHOVJMRVZCUVdWdVZpeEhRVUZWTVVJc1UwRkRNVUpuV0N4RlFVRmpibFVzUlVGQlRXNUNMRVZCUVZNMFVTeEhRVU0zUWpKRkxFVkJRV2xDY0ZVc1JVRkJUVzVDTEVWQlFWTTBVU3hKUVVsc1F5eFBRVVJCZFVVc1JVRkJaU3hMUVVOU2RGVXNTVUZIUkROQ0xFVkJRVWt3UXl4RlFVRkxNVU1zU1VGRGFFSXNSMEZCVDNsVExFVkJRVlZzVGl4RlFVRkxaMHdzVTBGQlZXZEZMRVZCUVZGMlZTeEhRVUZKVWl4TlFVTXpRM2RXTEVWQlFWY3NRMEZCUldwTUxFZEJRV1ZuVEN4SFFVRm5Ra01zUjBGQldYWkRMRkZCUTJ4RUxFTkJTVTRzU1VGSVFVRXNSVUZCVld4T0xFVkJRVXN5U1N4UFFVRlJjVWNzUlVGQlVYWlZMRWRCUVVsU0xFMUJRVTlvUWl4TlFVRlBMRXRCUVUwclZpeEZRVUZSZGxVc1IwRkJTVFJGTEZWQlIzSkVha0lzUjBGQldTeERRVWw2UWl4SlFVUkJhRUlzU1VGQlRUTkRMRVZCUTBVeVF5eEZRVUZKUkN4SlFVTk9Oa01zUlVGQlMyZE1MRk5CUVZWblJTeEZRVUZSTlZJc1IwRkJTVzVFTEUxQlJHaENiVVFzUzBGTGFrSXNUMEZCVDNsVExFZEJRMDV3Vml4RlFVRkpMRWRCUVVzclZTeEhRVUZuUWtNc1IwRkRla0pvVml4RlFVRkpMRWRCUVV0M1RDeEhRVWRVSzBrc1JVRkRSWEJYTEUxQlFVOHNSVUZCUnpaQ0xFVkJRVWtzUjBGRFpIcENMRTlCUVZFc1EwRkJSWGRITEUxQlFXZERMRTFCUVhwQ2QxQXNSVUZCVVhaVkxFVkJRVWtzUjBGQlNWSXNTMEZCWlN4SlFVRk5MRTFCUTNSRWMwVXNVVUZCVXpoRUxFVkJRVThzVFVGRGJFSTJTeXhGUVVOQmVsTXNSVUZCU1RKRExFZEJRVXR4VkN4SFFVRnRRbnBDTEVWQlFVOXdWeXhOUVVGUE5rSXNSVUZCUnpKRExFbEJRemREUVN4RlFVRkpSQ3hIUVVGUGMxUXNSMEZCY1VKNlFpeEZRVUZUUVN4RlFVRlBjRmNzVFVGQlQzZEZMRWxCUTNaRVFTeEZRVUZKUkN4SFFVRlBPRWtzUjBGQldTdEpMRWxCUjNwQ1V5eEZRVUZUZGxjc1MwRkJUV2RWTEVkQlNXcENMRTlCUVU5elF5eEhRVUZuUWtNc1IwRnZWSGhDTEU5QmRIQkNRVE5ETEVkQlFWZHNVaXhWUVVGWmIwVXNSVUZCU3l0UkxGRkJRVlV2VVN4RlFVRkxhME1zVVVGRE0wTnNReXhGUVVGTE9FMHNWMEZCWVN4SlFVRkpRU3hIUVVWMFFqTk5MRVZCUVZkS0xFZEJRVTlKTEZOQlFWY3NVMEZCVlRkRkxFVkJRVlV3Vml4SFFVTm9SQ3hKUVVGSmFFVXNSVUZCVXpkSUxFVkJRVTgyU2l4RlFVRlJMMVVzUlVGRE0wSm5XQ3hGUVVGUE4wd3NSVUZCVVRoTUxFVkJRMlpETEVWQlFWTTVVQ3hGUVVGWkwwWXNSVUZCVnl4TFFVVnFReXhIUVVGTE5sWXNSVUZEU2l4UFFVRlBTQ3hGUVVGWkxFVkJRVWxITEVWQlFVOTJXU3hOUVVGUExFZEJUM1JETEVsQlNrRnhXU3hGUVVGUk0xWXNSVUZEVWpoS0xFVkJRVk1zUjBGRFZEaE1MRVZCUVdGc1VpeEZRVUZMY1V3c1ZVRkZWalJHTEVkQlFWRXNRMEV5UW1Zc1NVRkJUV2hZTEV0QmVFSkJLMU1zUzBGQllUZElMRVZCUVZFM1F5eEZRVUZQYTBRc1MwRkJUWGxNTEUxQlEyeERPVXdzU1VGSFNqaE1MRVZCUVZGQkxFVkJRVTF5V1N4TlFVRlBkVTBzUlVGQlR5eEhRVUZKZUVvc1UwRkJXWE5XTEVkQlJUZEROMHdzUlVGQlQyeE5MRXRCUVZFNFZpeEZRVUZUTEV0QlIzcENhRU1zUjBGQlZTeEhRVWRJTjBnc1JVRkJVVFZETEVWQlFXRnBSQ3hMUVVGTmVVd3NUVUZEYWtOcVJTeEZRVUZWTjBnc1JVRkJUWFZDTEZGQlEyaENjMGtzUlVGQlR6bFdMRXRCUVUwc1EwRkRXbk5ITEUxQlFVOTNUaXhGUVVkUUwxTXNTMEZCVFd0TUxFVkJRVThzUjBGQlNUVkhMRkZCUVZNNFJDeEZRVUZQTEU5QlJXeERORThzUlVGQlVVRXNSVUZCVFhKWkxFMUJRVTl2VlN4RlFVRlJjbElzVTBGSmFFSnhSU3hGUVVGTE1ra3NVMEZEV0hoRUxFVkJRVkY0UXl4RlFVRlhNVWtzUjBGQlQzVk1MRXRCUVUxNVRDeExRVUZuUWtNc1JVRkJXV3BZTEUxQlEyaEZhMHdzUlVGQlVTdE1MRVZCUVZscVdDeEhRVUZSYTB3c1RVRkRPVUkyU0N4RlFVRlZOMGdzUlVGQlRYVkNMRkZCUTJoQ2Mwa3NSVUZCVHpsV0xFdEJRVTBzUTBGRFduTkhMRTFCUVU5M1RpeEZRVU5RTDFNc1MwRkJUVUVzUlVGRFRtOUdMRkZCUVZNNFJpeEpRVVZXT0V3c1JVRkJVVUVzUlVGQlRYSlpMRTFCUVU5dlZTeEZRVUZSY2xJc1UwRkpMMElzU1VGQlRYRlNMRVZCUTB3c1RVRlBSaXhQUVVGUFowVXNSVUZEVGtNc1JVRkJUWFJXTEU5QlEwNXpWaXhGUVVORGJGSXNSMEZCVDNSQ0xFMUJRVTl1UkN4SFFVZGtLMFlzUlVGQldTOUdMRVZCUVZVNFNpeEhRVUZUZUUwc1RVRkJUeXhKUVRSYWVrTjNTQ3hGUVVGVlRDeEhRVUZQU3l4UlFVRlZMRk5CUVZVNVJTeEZRVUZWTmtvc1IwRkRPVU1zU1VGQlNURkxMRVZCUTBneVZ5eEZRVUZqTEVkQlEyUkRMRVZCUVd0Q0xFZEJRMnhDUml4RlFVRlROMUFzUlVGQlpXaEhMRVZCUVZjc1MwRkZjRU1zU1VGQlRUWldMRVZCUVZNc1EwRlBaQ3hKUVVwTmFFMHNTVUZEVEVFc1JVRkJVV2hHTEVWQlFWVTNSU3hKUVVWdVFtSXNSVUZCU1RCTExFVkJRVTE0U2l4UFFVTkdiRUlzVFVGRFVEQlhMRVZCUVZOV0xFZEJRVzFDZEV3c1JVRkJUekZMTEV0QlEzUkNNa1FzUjBGRFdtZFVMRVZCUVZsc1dTeExRVUZOYVZrc1IwRkZiRUpGTEVWQlFXZENibGtzUzBGQlRXbFpMRWxCUzNoQ1FTeEZRVUZUTjFBc1JVRkRVbWhITEVWQmNrcElMRk5CUVcxREsxWXNSVUZCYVVKRUxFZEJRMjVFTEVsQlFVbEZMRVZCUVZGR0xFVkJRVmw2Vml4UFFVRlRMRVZCUTJoRE5GWXNSVUZCV1VZc1JVRkJaMEl4Vml4UFFVRlRMRVZCUTNKRE5sWXNSVUZCWlN4VFFVRlZlRTBzUlVGQlRYcEtMRVZCUVZNMFVTeEZRVUZMYkU0c1JVRkJVM2RUTEVkQlEzSkVMRWxCUVVrdlZTeEZRVUZOVlN4RlFVRkhPRkFzUlVGRFduZEZMRVZCUVdVc1JVRkRabXBZTEVWQlFVa3NTVUZEU2pCVExFVkJRVmx1U1N4SFFVRlJMRWRCUTNCQ01rMHNSVUZCWVN4SFFVTmlReXhGUVVGblFuUlNMRVZCUjJoQ2JrVXNSVUZCVVRaSkxFZEJRVkYxVFN4SFFVRmhkbElzUlVGQlN6WkpMRXRCUVZrc1NVRkJSeXhKUVVGTE5Fa3NSMEZIZEVSSkxFVkJRV3RDTlZFc1IwRkJORUlzVFVGQmFrSXlVU3hGUVVGM1FpeEZRVUZKZGxRc1MwRkJTME1zVlVGQldTeEhRVU14Ulc1Q0xFVkJRVTFvUWl4RlFVRk5VaXhQUVdOaUxFbEJXa3M0Vml4SlFVMUtibElzUlVGQmJVSXZSU3hIUVVGWGNrUXNSMEZCV1hGRUxFZEJRVmRyVnl4SFFVMDVRMmhZTEVsQlFVMHdReXhIUVVGblF5eFBRVUYyUWxRc1JVRkJUMUFzUlVGQlR6RkNMRWxCUVdWQkxFbEJRVTBzUTBGRGVrUXNSMEZCU3poWExFZEJRV0UzVlN4RlFVRlBMRU5CVjNoQ0xFbEJWa0ZWTEVWQlFVa3NSVUZOUlRkQ0xFZEJRVmR0UWl4RlFVRkxOa2tzWlVGQmFVSnlUaXhKUVVOMFEzVkpMRVZCUVdFdlJDeEhRVU5pZVZBc1IwRkJUM2hNTEVkQlJVVjFUU3hGUVVGVmJVVXNSVUZCYVVKcVZTeE5RVU53UXl4SFFVRkxPRkFzUlVGQlUzaFJMRVZCUVUxdVFpeEhRVUZYY2tRc1JVRkJWV2xWTEVkQlFWRXNRMEZEYUVSc1RpeEZRVUZSTDBZc1MwRkJUWGRFTEVkQlEyUXNUVUZIUnl0VkxFbEJRMHA0VVN4RlFVRlZORkVzUjBGTFVGQXNTMEZIUnpWVkxFZEJRVkYzVVN4SFFVRlhlRkVzU1VGRGVrSm5WaXhKUVVsSk1VMHNSMEZEU20xSkxFVkJRVlZxVlN4TFFVRk5kMFFzU1VGblFtNUNMRWRCVkVGblZpeEhRVUZuUW1wWUxFVkJVMWcyVnl4SFFVRlROMWNzU1VGQlRXbFlMRVZCUVdVc1EwRkZiRU1zU1VGRVFYUlZMRVZCUVVrc1JVRkRUVGhRTEVWQlFWVnJSU3hGUVVGaGFGVXNUVUZEYUVNNFVDeEZRVUZUUXl4RlFVRlhkMFVzUlVGQldYQlhMRVZCUVZNMFVTeEhRVWN4UXl4SFFVRkxia2dzUlVGQlR5eERRVWRZTEVkQlFVc3dUU3hGUVVGbExFVkJRMjVDTEV0QlFWRnFXQ3hMUVVORE1GTXNSVUZCVnpGVExFbEJRVTlyV0N4RlFVRlpiRmdzUzBGRGNrTnJXQ3hGUVVGWmJGZ3NSMEZCVFd0SUxFVkJRVWsxU1N4TFFVRk5hMGNzU1VGTkwwSXdVeXhGUVVGaGFrTXNSMEZCVldsRExFZEJTWGhDZWxrc1JVRkJTMFFzVFVGQlQyZEhMRVZCUVZNd1V5eEhRVWRvUWtZc1NVRkJZM3BOTEVkQlFWRXlUU3hGUVVGWGFGY3NUMEZCVXl4SFFVTTFReXRXTEVWQlFXVk9MRVZCUVZsNlZpeFBRVUZYTEVkQlJYaERiMFVzUjBGQlQzZExMRmRCUVZsMFRDeEhRVlZ5UWl4UFFVeExkMU1zU1VGRFNuaFJMRVZCUVZVMFVTeEZRVU5XZGxJc1JVRkJiVUp6VWl4SFFVZGlla1VzUjBGSFZDeFBRVUZQYlVVc1JVRkRUak5MTEVkQlFXTTJTeXhIUVVOa1FTeEZRVFJDUTAwc1EwRkJNRUpVTEVWQlFXbENSQ3hMUVVseVF6bFdMRk5CUVZkQkxFVkJSVzVDTEU5QlFVODJWaXhIUVZsU09WRXNSVUZCVTA0c1IwRkJUMDBzVDBGQlV5eFRRVUZWTDBVc1JVRkJWVU1zUlVGQlV6QkVMRVZCUVZNclJpeEhRVU01UkN4SlFVRkpka3NzUlVGQlIzVlZMRVZCUVZFclF5eEZRVUZQT1Znc1JVRkJUVFJQTEVWQlF6TkNiVW9zUlVGQkswSXNiVUpCUVdJeFZ5eEhRVUV5UWtFc1JVRkROME0yU2l4SFFVRlRTQ3hIUVVGUk4wVXNSVUZCV1RkRkxFVkJRVmN3Vnl4RlFVRlRNVmNzVlVGQldVRXNSMEZOT1VRc1IwRktRVEpFTEVWQlFWVkJMRWRCUVZjc1IwRkpReXhKUVVGcVFtdEhMRVZCUVUxNFNpeFBRVUZsTEVOQlNYcENMRWxCUkVGeFZDeEZRVUZUTjBvc1JVRkJUeXhIUVVGTlFTeEZRVUZQTEVkQlFVbDJUU3hOUVVGUExFbEJRelZDSzBNc1QwRkJVeXhIUVVGelF5eFJRVUV2UW05WExFVkJRVkV2UXl4RlFVRlJMRWxCUVUwdlZTeE5RVU0xUWl4SlFVRnlRbk5DTEVWQlFWRXhRaXhWUVVGclFqaEhMRWRCUVd0Q1dDeEZRVUZMWjB3c1UwRkJWV2RGTEVWQlFWRXNSMEZCU1M5VkxFMUJRVk1zUTBGSmFFWXNTMEZHUVhOQ0xFZEJRVmw1UlN4RlFVRkxOa2tzUzBGQlZ5eEhRVUZIYTBvc1JVRkJUVEZUTEZGQlFWTXNSMEZETlVOa0xGRkJRVk50Uml4SFFVRlhReXhKUVVGaGNFa3NTVUZCWVN4SlFVRk5MRWxCUlhKRUxFOUJRVTh3UkN4RlFVZEpLMU1zU1VGRFdIcFhMRVZCUVZWQkxFVkJRVkZNTEZsQlIyNUNTU3hGUVVGWFFTeEZRVUZUTVVNc1RVRkJUMjlYTEVWQlFVOTBTU3hSUVVGUmJFZ3NUVUZCVFRkRUxGRkJTMnBFTEVsQlJFRnNRaXhGUVVGSmEwa3NSVUZCTUVJc1lVRkJSVzFFTEV0QlFVMTRTeXhIUVVGaExFVkJRVWt3VkN4RlFVRlBjbFFzVDBGRGRFUnNRaXhOUVVOUWMxZ3NSVUZCVVM5RExFVkJRVkYyVlN4SlFVZFlkVVlzUlVGQlMyZE1MRk5CUVZrdlVTeEZRVUZQT0Znc1JVRkJUVGxZTEZGQlIyNURMRWxCUVU4MFR5eEZRVUZQTjBrc1JVRkJTelpKTEV0QlFVMDFUeXhOUVVkcVFpdExMRVZCUVU4MlJDeEZRVU5pYTBvc1JVRkJUVEZUTEZGQlFWTXNSMEZCU1dRc1VVRkJVMjFHTEVkQlFWZERMRWxCUTNaRFJpeEhRVUZUY1VNc1MwRkJUV3RLTEVWQlFWRXNSMEZCU1M5VkxFOUJRVlU0VEN4SFFVRmhlRXNzUlVGQlVVd3NZVUZEZWtSTExFbEJRMGtzUTBGTFRDeEhRVVpCZVZRc1JVRkJUM3BTTEU5QlFWRTVReXhGUVVGSExFdEJRMnhDWVN4RlFVRlhNRW9zUlVGQlMzSktMRkZCUVZWelN5eEhRVUZaSzBrc1NVRkhja01zVDBGRVFUbFdMRVZCUVV0RUxFMUJRVTluUnl4RlFVRlRLMFlzUjBGRFpDOUdMRVZCUjFJc1QwRmxTaXhQUVZCRksxTXNSMEZCV1RWU0xFVkJRVk01UlN4RlFVRlZOa29zU1VGRGFFTklMRVZCUTBGNlNpeEhRVU5EYjBZc1JVRkRSREZDTEVkQlEwTXhSQ3hIUVVGWGEwa3NSMEZCVTNGRExFdEJRVTE0U3l4SlFVRmplVXNzUjBGQllYaExMRVZCUVZGTUxHRkJRV2RDU3l4SFFVVjRSVEJFTEVkQlRWSjJSaXhGUVVGUloxSXNWMEZCWVhSTkxFVkJRVkYzUWl4TlFVRlBMRWxCUVV0MFF5eExRVUZOYTBVc1IwRkJXVEJGTEV0QlFVMHNUVUZCVXpsSUxFVkJTVEZGTVVVc1JVRkJVU3RSTEcxQ1FVRnhRbXBMTEVWQlJ6ZENReXhKUVVsQkwwY3NSVUZCVVcxUkxHRkJRV1ZxUkN4SFFVRlJMRk5CUVZWRExFZEJSM2hETEU5QlFUUkZMRVZCUVhKRlFTeEZRVUZITkVNc2QwSkJRWGxDZGxJc1JVRkJVekJETEdOQlFXVXNaVUZOZEVSblRTeEhRVUZSTEZOQlFWVkRMRWRCUlhaQ0xFOUJSRUZCTEVWQlFVZHhReXhWUVVGWkxHMUNRVU5wUXl4TlFVRjZRM0pETEVWQlFVY3JSQ3hYUVVGWE9WQXNZVUZCWXl4WFFVVnVRMmROTEVkQlFWY3NlVUpCUVRCQ0xGTkJRVlZ3U3l4RlFVRk5aMElzUlVGQlRYZERMRWRCUXpGRUxFbEJRVTFCTEVWQlEwd3NUMEZCVDNoRUxFVkJRVXMxUWl4aFFVRmpORU1zUlVGQk5rSXNVMEZCZGtKQkxFVkJRVXR2UXl4alFVRXlRaXhGUVVGSkxFdEJUMnBGY0Vjc1JVRkJVWFZKTEZsQlFXVXlSU3hIUVVGUkxGTkJRVlZETEVkQlJ6bERMRTlCUmtGQkxFVkJRVWR4UXl4VlFVRlpMRmRCUTJaeVF5eEZRVUZISzBRc1YwRkJWemRRTEdGQlFXTXNVVUZCVXl4SlFVTlpMRXRCUVRGRE9Fd3NSVUZCUnl0RUxGZEJRVmM1VUN4aFFVRmpMRmxCUlc1RFowMHNSMEZCVnl4UlFVRlRMRk5CUVZWd1N5eEZRVUZOZFZZc1JVRkJUeTlTTEVkQlF6RkRMRWxCUVUxQkxFZEJRWGxETEZWQlFXaERlRVFzUlVGQlMyZEpMRk5CUVZNMVJTeGpRVU0xUWl4UFFVRlBjRVFzUlVGQlMzZFdMR1ZCVDFSMFRDeEhRVUZSTEZOQlFWVkRMRWRCUTNaQ0xFOUJRWGRETEUxQlFXcERRU3hGUVVGSEwwd3NZVUZCWXl4bFFVVjRRbWROTEVkQlFWZG9SaXhGUVVGVkxGTkJRVlZ3Uml4RlFVRk5aMElzUlVGQlRYZERMRWRCUXpGRExFbEJRVWw0Uml4RlFVTktMRWxCUVUxM1JpeEZRVU5NTEU5QlFYZENMRWxCUVdwQ2VFUXNSVUZCVFdkQ0xFZEJRV3RDUVN4RlFVRkxiME1zWlVGRGFrTndSaXhGUVVGTlowTXNSVUZCUzI5TkxHbENRVUZyUW5CTUxFdEJRVmxvUkN4RlFVRkpNbEFzVlVGRE9VTXpVQ3hGUVVGSk9FVXNUVUZEU2l4UFFVdEZUeXhIUVRFMFJWQXNRMEUwTkVWTE1VZ3NSMEZKVEdkRUxFVkJRVTkzVGl4TFFVRlBPVWtzUlVGRFpERkZMRVZCUVU4MlR5eExRVUZQYmtzc1JVRkJUeXRMTEZWQlIzSkNlbEFzUlVGQlR6WlBMRXRCUVUwc1MwRkJVVGRQTEVWQlFVODJUeXhMUVVGTGFFa3NVVUZEYWtNM1J5eEZRVUZQYTFBc1YwRkJZV3hRTEVWQlFVODRWeXhQUVVGVGNGTXNSVUZCVDNkTExGZEJRek5EYkZBc1JVRkJUMUlzUzBGQlQydEdMRVZCUVU5RkxGRkJRM0pDTlVVc1JVRkJUeXRYTEZOQlFWZHlVeXhGUVVGUFJ5eE5RVU42UWpkRkxFVkJRVTk1Uml4VFFVRlhaaXhGUVVGUFpTeFRRVU42UW5wR0xFVkJRVTluV0N4bFFVRnBRblJUTEVWQlFVODJSQ3hQUVVzdlFpeEpRVUZKWlN4RlFVRk5MRk5CUVZWcVNTeEZRVUZOYVVrc1JVRkJTekpPTEVkQlNUbENMRWxCU0VFc1NVRkJTWFJHTEVWQlFWVXNSMEZEWW5WR0xFOUJRWEZDY0ZVc1NVRkJWbTFWTEVkQlJVWTFWaXhGUVVGUFFTeEZRVUZOYVVrc1MwRkJOa0lzU1VGQmJFSnFTU3hGUVVGTE4wTXNWVUZEZEVNc1IwRkJkVUlzU1VGQmJFSTJReXhGUVVGTE4wTXNVMEZCYVVJc1EwRkRNVUlzUjBGQlN6QlpMRWRCUVZsc1dDeEZRVUZSY1VJc1IwRkJUemhXTEVkQlFVbEdMRWRCUTI1RExFMUJSVVIwUml4RlFVRlJPVlFzUzBGQlRYZEVMRWRCUjJoQ0xFOUJRVTl6VVN4SFFVbEtlVVlzUlVGQlZ5eFRRVUZWUXl4RlFVRkhhRmNzUjBGSE0wSXNTVUZHUVN4SlFVRkpjMUVzUlVGQlZTeEhRVVZPTUVZc1JVRkJSMEVzUlVGQlNVRXNSVUZCUlhCTUxGbEJRMGtzU1VGQlptOU1MRVZCUVVVM1dTeFZRVUZyUWpaWkxFbEJRVTFvVnl4SFFVTTVRbk5STEVWQlFWRTVWQ3hMUVVGTmQxb3NSMEZKYUVJc1QwRkJUekZHTEVkQlNVb3lSaXhGUVVGblFuUllMRVZCUVU4MlR5eExRVUZMTDBVc1RVRkJUV2hETEdGQlNYUkRMRk5CUVZOMVFpeEZRVUZWYUVrc1JVRkJUV2RDTEVkQlJYaENMRTlCUVU5b1FpeEZRVUZMWjBrc1ZVRkJXV2hKTEVWQlFVdG5TU3hUUVVGVE5VVXNaMEpCUVd0Q2NFTXNSVUZCUzI5RExHTkJSemxFTEVsQlFVazRVeXhGUVVGaExHdEZRVXRxUWl4VFFVRlRReXhGUVVGUk1Va3NSVUZCVlRKSkxFVkJRVmMzUml4SFFVTnlReXhQUVVGTGRGUXNSVUZCV1cxYUxFZEJRMVI2V0N4RlFVRlBNa0lzUzBGQlRXMU9MRVZCUVZVc1UwRkJWWHBPTEVWQlFVMXFReXhIUVVNM1F5eFJRVUZUY1Zrc1JVRkJWUzlhTEV0QlFVMHlSQ3hGUVVGTmFrTXNSVUZCUjJsRExFdEJRVmQxVVN4SlFVc3hRelpHTEVWQlFWVnFXaXhUUVVOUWQwSXNSVUZCVHpKQ0xFdEJRVTF0VGl4RlFVRlZMRk5CUVZWNlRpeEhRVU4yUXl4UFFVRlRRU3hKUVVGVGIxY3NTVUZCWjBJM1JpeEpRVXRXTEdsQ1FVRmtOa1lzUlVGRFNucFlMRVZCUVU4eVFpeExRVUZOYlU0c1JVRkJWU3hUUVVGVmVrNHNSMEZEZGtNc1QwRkJVM1pFTEVWQlFWRktMRXRCUVUwcldpeEZRVUZYY0Zjc1NVRkJWU3hKUVVGUmRWRXNTVUZMTDBNMVVpeEZRVUZQYzA0c1QwRkJVVzFMTEVWQlFWY3pTU3hGUVVGVk9FTXNSMEZITlVNMVVpeEZRVUZQYzA0c1QwRkJVeXhUUVVGVmRVSXNSVUZCVFM5T0xFVkJRVTg0VVN4SFFVTjBReXhKUVVGSmRsRXNSVUZCVDFBc1JVRkJUeXhIUVUxc1FpeFBRVXBMT0ZFc1NVRkRTaTlETEVWQlFVOHNVVUZCVlVFc1JVRkJUeXhMUVVkSUxFbEJRV3BDTDA0c1JVRkJUVklzVVVGQmEwTXNTVUZCYkVKbExFVkJRVXMzUXl4VFFVTjRRbmRDTEVWQlFVOTNUaXhMUVVGTFRTeG5Ra0ZCYVVKNlRTeEZRVUZOZDA0c1IwRkJVeXhEUVVGRmVFNHNSMEZCVXl4SFFVZDRSSEpDTEVWQlFVOTNUaXhMUVVGTGVFb3NVVUZCVXpaTExFVkJRVTAzVHl4RlFVRlBNa0lzUzBGQlRXSXNSVUZCVHl4VFFVRlZUeXhIUVVNdlJDeFBRVUY1UWl4SlFVRnNRa0VzUlVGQlN6ZERMR0ZCU1dSM1FpeEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVU5xUW5GTUxFdEJRVTBzVTBGQlZYWk9MRWRCUTJZc1NVRkJTV0lzUlVGQlJ6SkNMRVZCUTA1bExFVkJRVTAzUlN4TFFVRkxjVVFzVDBGRFdHOVlMRVZCUVU5NllTeExRVVZTTEVkQlFYbENMR2xDUVVGaVowUXNSVUZEV0N4UFFVRlBhRVFzUzBGQlN6UkVMRlZCUVZkaUxFVkJRVkZETEVkQlFWZHhUaXhQUVVGUkxGZEJRMnBFTEVsQlFVMXNUeXhGUVVGSkxFVkJRVWRCTEVWQlFVa3dReXhGUVVGTE1VTXNTVUZEY2tJc1IwRkJTMWtzUlVGQlQzbEdMRk5CUVZWcFV5eEZRVUZOZEZrc1IwRkJTMjVETEUxQlEyaERMRTlCUVU4c1MwRlJXQ3hKUVVaQk9FUXNSVUZCVFRsRUxFdEJRVXMwUkN4VlFVRlhMRWxCUldoQ2VrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSk1FTXNSVUZCU3pGRExFbEJRM0pDV1N4RlFVRlBkMDRzUzBGQlRYWk9MRVZCUVZWNVdDeEZRVUZOZEZrc1IwRkJTekpDTEVkQlIyNURMRTlCUVU5bExFVkJRVTBzUlVGQlNUbENMRVZCUVU5clVDeFhRVUZaYms4c1IwRkJVVUVzUjBGRk4wTjFUU3hQUVVGUkxGTkJRVlZ5VGl4SFFVTnFRaXhQUVVGUGFFUXNTMEZCU3pSRUxGVkJRVmN5Vnl4RlFVRlJkbUVzUzBGQlRXZEVMRWRCUVZrc1NVRkJTU3hMUVVWMFJESlNMRWxCUVVzc1UwRkJWVE5TTEVkQlEyUXNUMEZCVDJoRUxFdEJRVXMwUkN4VlFVRlhNbGNzUlVGQlVYWmhMRXRCUVUxblJDeEhRVUZaTEVsQlFVa3NTMEZGZEVScldDeEhRVUZKTEZOQlFWVnNXQ3hIUVVOaUxGRkJRVk4xV0N4RlFVTlNkbUVzUzBGSmIwSXNhVUpCUVdKblJDeEhRVUY1UW5GWUxFVkJRV00zVFN4TFFVRk5lRXNzUjBGRGJrUkVMRVZCUVZGRExFZEJRMUpCTEVkQlFWa3NTVUZEWWl4SFFVTkRTeXhWUVZOS0xFbEJRVWx4V0N4RlFVMUllRkFzUlVGQllTeDFRMEZGVG01SkxFVkJRVTlITEVkQlFVZERMRXRCUVU4c1UwRkJWVWdzUlVGQlZVTXNSVUZCVTJ0VExFZEJRM0JFTEVsQlFVbDBTU3hGUVVGUGVra3NSVUZIV0N4SlFVRk5jRUlzUlVGRFRDeFBRVUZQYUVRc1MwRlJVaXhIUVVoQmJWWXNSVUZCVDBFc1IwRkJVWFZHTEVWQlIxVXNhVUpCUVdJeFdDeEZRVUYzUWl4RFFXRnVReXhMUVZCRE5rb3NSVUZNYzBJc1RVRkJiRUkzU2l4RlFVRlZMRWxCUTNOQ0xFMUJRWEJEUVN4RlFVRlZRU3hGUVVGVFN5eFBRVUZUTEVsQlF6VkNUQ3hGUVVGVFN5eFJRVUZWTEVWQlIxZ3NRMEZCUlN4TFFVRk5UQ3hGUVVGVkxFMUJSMnhDYTBrc1JVRkJWMmRETEV0QlFVMXNTeXhOUVVsV05rb3NSVUZCVHl4SlFVRlJOVW9zUlVFMlEzaENMRTlCUVUxQkxFZEJRVmRCTEVWQlFWRk5MRkZCUTNSQ1RpeEhRVUZYYTFNc1IwRkJUelZGTEV0QlFVMTJUaXhIUVVzeFFtaEVMRXRCUVV0M1JDeFpRVUZoVUN4SFFVRlZjMDRzUzBGQlRYWk9MRWRCYUVSNlF5eEhRVUZMTmtvc1JVRkJUeXhIUVVGTkxFTkJXV3BDTEVkQldFRTFTaXhGUVVGVlFTeGhRVUZ0UWtZc1JVRkJVMFVzUlVGQlV5eEhRVUZOUVN4RlFVbHlSRVlzUlVGQlQyZENMRTFCUVU4dlJDeExRVUZOSzBNc1JVRkJUelJZTEZWQlF6RkNPVTRzUlVGQlR5eEhRVU5RTlVvc1IwRkJWMEVzUlVGQlVURkNMRk5CUVZjd1FpeEZRVUZSWjBzc1pVRkJhVUpvU3l4RlFVRlZja1FzUjBGRGFrVXNTVUZKU1RCaExFVkJRVmM1VFN4TFFVRk5XQ3hGUVVGUExFdEJRVk01U2l4RlFVRlBNa01zWTBGQlpYcERMRWRCUXpORUxFbEJRVTAwU2l4TFFVRlROVW9zUlVGSFZEVkNMRVZCUVZseVFpeExRVUZOTmswc1NVRkRkRUkzVFN4TFFVRk5OazBzUjBGQlV6VktMRVZCUVZNMFNpeEpRVWw0UWpkTkxFdEJRVXM0VWl4TFFVRk5ha1lzUlVGQlR6VktMRVZCUVZNMFNpeEpRVXM1UWl4UFFVRlBOMDBzUzBGWlVDeFBRVkpCYjBVc1JVRkJUM2hGTEVWQlFWTjFUaXhsUVVGblFrNHNSVUZCVHl4UFFVdDBRemROTEV0QlFVMHNSMEZCVFc5RkxFVkJRMXB3UlN4TFFVRkxjVVFzVDBGQlV5eEhRVVZTY2tRc1MwRmpTQ3hQUVVGTFowUXNSVUZCVTNwQ0xGVkJRM0JDZGtJc1MwRkJUU3hIUVVGTlowUXNSVUZEV21oRUxFdEJRVXR4UkN4UFFVRlRMRVZCUTFCeVJDeE5RVWxKY1VJc1JVRkJXVEpDTEZGQlEwUTJReXhKUVVGbWMxQXNSVUZCUzNsR0xFMUJRMWg2Uml4RlFVRkxlVVlzVFVGQlR6VllMRWRCUjFwQkxFVkJRVlZFTEVkQlIweEJMRVZCUVU4eVJDeFZRVUZYTVVRc1JVRkJWV2hFTEZGQlNXaERjMFFzVlVGQldWQXNSVUZCVDBjc1IwRkhlRUozV0N4RlFVRmhNMWdzUlVGQlVXNUVMRWRCUjNKQ0xFbEJRVWxwWWl4RlFVRmxMR2xEUVVkc1FrTXNSVUZCYlVJc1EwRkRiRUpETEZWQlFWVXNSVUZEVmtNc1ZVRkJWU3hGUVVOV01VOHNUVUZCVFN4RlFVTk9NazhzVFVGQlRTeEhRVzlHVWl4VFFVRlRReXhGUVVGVGNrMHNSVUZCUzNoRExFZEJRM1JDTEUxQlFWVjNReXhGUVVGTlFTeEZRVUZMZUVNc1MwRkJORUlzU1VGQmFrSjNReXhGUVVGSmRFNHNWMEZEY0VNc1QwRkJUM05PTEVWQmJrWlNPVXdzUlVGQlQwY3NSMEZCUjJkRExFOUJRVkVzUTBGRGFrSTBVQ3hKUVVGTExGTkJRVlYwVUN4SFFVTmtMRWxCUVVreVZpeEZRVUZWY0Zrc1JVRkJVWGxETEVWQlFWRjRSaXhOUVVNM1FtOWlMRVZCUVVsRUxFVkJRVkU1V0N4UFFVVmlMRTlCUVU5eVJDeExRVUZMY1ZFc1QwRkJVU3hYUVVWdVFpeEpRVVJCTEVsQlFVbHNUeXhGUVVGSkxFVkJRMEZCTEVWQlFVbHBXaXhGUVVGSGFsb3NTVUZEWkN4SFFVRkxXU3hGUVVGUGVVWXNVMEZCVlhoSkxFdEJRVTF0WWl4RlFVRlRhRm9zU1VGRGNFTXNUMEZCVHl4TFFVMVlhMW9zVVVGQlV5eFRRVUZWTjBrc1JVRkJWM1pRTEVkQlF6ZENMRWxCUVVrMFRDeEZRVU5JTVUwc1JVRkJTU3hGUVVOS2FWb3NSVUZCU1hCaUxFdEJRVXR4UkN4UFFVTlVjVklzUlVGQlZTeEhRVU5XZVVjc1JVRkJLMElzYVVKQlFXUXpTU3hIUVVFd1FucFFMRVZCUVZGNVVDeEhRVWR3UkN4SlFVRk5Oa2dzUlVGQll6ZE5MRXRCUVUxblJpeEhRVU42UWl4TFFVRlJjbEVzUlVGQlNXbGFMRVZCUVVkcVdpeEpRVU5rTEVsQlFVMHdUU3hGUVVGTk4wOHNTMEZCVFcxRExFZEJRVXN3VFN4SFFVRlBRU3hKUVVGUk5Vd3NSVUZCVXpSTUxFVkJRVTFCTEVWQlFVbHFUU3hYUVVkNFJDeEhRVUZMYVUwc1JVRkJTWFJPTEZOQlFWY3NTMEZCVVRSYUxFVkJRek5DUVN4RlFVRlJSeXhOUVVGUGVrMHNTVUZCVXl4RlFVZFFMRWxCUVdwQ1FTeEZRVUZKZEU0c1ZVRkRTSGRDTEVWQlFVOTNUaXhMUVVGTFRTeG5Ra0ZCYVVKb1F5eEZRVUZMTWtRc1NVRkJaMElzUTBGRmJrUnJReXhGUVVGUk9WUXNTMEZCVFdsUExFZEJRMlFzVFVGTlNpeFBRVUZQTjA4c1MwRkJTelJFTEZWQlFWYzRVU3hGUVVGUmNsSXNUMEZCVXl4RlFVRkpUaXhGUVVGUGExQXNWMEZCV1hsRExFZEJRVmxCTEVsQlNUVkZORWNzVFVGQlR5eFRRVUZWYkZnc1IwRkhhRUlzVDBGQlRVRXNSVUZMWlN4cFFrRkJWRUVzUlVGRFNuWkVMRVZCUVZGS0xFdEJRVTF6UXl4RlFVRlJjVUlzUjBGQlVYQkZMRXRCUVUwc1NVRkpja05oTEVWQlFWRktMRXRCUVUxVUxFdEJSM0JDYjBVc1JVRkJTMklzVDBGQlUyRXNSVUZCVFN4SFFVRk5RU3hIUVZwcVFuQkZMRXRCUVUwc1NVRkJUMEVzUzBGQlRTeEhRVUZKTkVNc1YwRkJaVFZETEV0QlFVdHpSU3hSUVVGUmFWZ3NWVUZCVld4WkxGRkJRVlVzUjBGblFteEdiVmtzU1VGQlN5eFRRVUZWZUZrc1JVRkJWVU1zUjBGRGVFSXNUMEZCVDJwRUxFdEJRVXMwUkN4VlFVTllZaXhGUVVGUGExQXNWMEZEVG14UUxFVkJRVTluUWl4TlFVRlBMMFFzUzBGQlN6QkVMRTFCUVU5WUxFVkJRVkZETEVWQlFWVkRMRTlCU3k5RGQxa3NVVUZCVXl4VFFVRlZlbGtzUjBGRGJFSXNUMEZCVDJoRUxFdEJRVXQzWWl4SlFVRnBRaXhOUVVGYWVGa3NSVUZEYUVKb1JDeExRVUZMWjBVc1YwRkJZV2hGTEV0QlFVdG5SU3hYUVVGWGNVMHNUMEZCVVhKT0xFOUJWVGREUkN4RlFVRlBhMElzUzBGQlRTeERRVU5hYVZFc1QwRkJVU3hUUVVGVk9WQXNSMEZEYWtJc1NVRkJTVGhRTEVWQlFWTTVVQ3hGUVVGTGVFSXNWMEZEYkVJc1QwRkJUM05TTEVkQlFUaENMRXRCUVhCQ1FTeEZRVUZQTTFNc1UwRkJhMEl5VXl4RlFVRlRMRTFCUlhCRWQwZ3NVVUZCVXl4VFFVRlZkRmdzUjBGRGJFSXNUMEZCVDJsSkxFVkJRVXRxU1N4RlFVRk5MR1ZCUlc1Q2RWZ3NZVUZCWXl4VFFVRlZkbGdzUlVGQlRXMUVMRVZCUVVsNVV5eEhRVU5xUXl4UFFVRlBNMDRzUlVGQlMycEpMRVZCUVUwc1lVRkJZelJXTEVsQlJXcERNVTRzUzBGQlRTeFRRVUZWYkVrc1IwRkRaaXhQUVVGUE9GY3NSVUZCVXpsWExFVkJRVTBzWjBKQlJYWkNObGNzUzBGQlRTeFRRVUZWTjFjc1IwRkRaaXhQUVVGUE9GY3NSVUZCVXpsWExFVkJRVTBzYjBKQlJYWkNkMWdzVVVGQlV5eFRRVUZWZUZnc1IwRkRiRUlzVDBGQlQybEpMRVZCUVV0cVNTeEZRVUZOTEdkQ1FVVnVRbTFZTEZGQlFWTXNVMEZCVlc1WUxFZEJRMnhDTEU5QlFVOXBTU3hGUVVGTGFra3NSVUZCVFN4dlFrRkZia0o1V0N4VlFVRlhMRk5CUVZWNldDeEZRVUZOYlVRc1JVRkJTWGxUTEVkQlF6bENMRTlCUVU4elRpeEZRVUZMYWtrc1JVRkJUU3hqUVVGbE5GWXNTVUZGYkVNNFFpeFZRVUZYTEZOQlFWVXhXQ3hGUVVGTmJVUXNSVUZCU1hsVExFZEJRemxDTEU5QlFVOHpUaXhGUVVGTGFra3NSVUZCVFN4clFrRkJiVUkwVml4SlFVVjBRMGNzVTBGQlZTeFRRVUZWTDFZc1IwRkRia0lzVDBGQlR5dFdMRWRCUVZrdlZpeEZRVUZMZUVJc1dVRkJZeXhKUVVGTE1GQXNWMEZCV1d4UExFbEJSWGhFTWxjc1UwRkJWU3hUUVVGVk0xY3NSMEZEYmtJc1QwRkJUeXRXTEVWQlFWVXZWaXhGUVVGTGEwOHNZVUZGZGtJd1NTeFRRVUZWTEZOQlFWVTFWeXhIUVVOdVFpeFBRVUUyUWl4TlFVRjRRa0VzUlVGQlN6SllMR2xDUVV0VU5XSXNSVUZCVldsRkxFVkJRVXN5V0N4cFFrRkZVak5ZTEVWQlFVc3lXQ3hwUWtGTlVqTlFMRVZCUVZWb1NTeEZRVUZOTEdOQlEzQkNRU3hGUVVGUFFTeEZRVUZMTkZnc1UwRkJWelZZTEVkQlIycENja0lzUlVGQlQyZENMRTFCUVU4c1IwRkJTVXNzUlVGQlMyMUpMR1ZCUlRkQ0xGTkJRVlZ1U0N4RlFVRk5iRU1zUjBGRGJFSklMRVZCUVU5SExFZEJRVWxyUXl4SFFVRlRMRk5CUVZVMFZTeEZRVUZQYUZnc1IwRkRjRU1zU1VGQlNUQlNMRVZCUVZVelVpeEZRVUZQYjBJc1NVRkJTMjVGTEV0QlFVMXJSQ3hGUVVGSk9GY3NSMEYxUW5CRExFMUJja0l3UWl4VlFVRnlRalZWTEVWQlFVczVSU3hQUVVGUkxFdEJRMnBDTUVNc1JVRkJWMmRZTEVkQlIxQm9XQ3hIUVVGblF5eHBRa0ZCWWtFc1NVRkRka0l3VWl4RlFVRlZNMUlzUlVGQlQzTk9MRTlCUVZGeVRpeEZRVUZWTUZJc1NVRkhMMEl4VlN4TFFVRkxjVVFzVDBGQlV5eEpRVWRhZVZnc1JVRkJhMEl4Vml4SlFVTjJRbkpETEVWQlFVOXJVQ3hYUVVGWmVVTXNSMEZKWm0xSExFVkJRV0Z5VGl4TFFVRk5jRWtzU1VGRGRrSnpVQ3hGUVVGUmRVZ3NWMEZKU0dwakxFdEJRVXMwUkN4VlFVRlhPRkVzVFVGSGVrSXNTVUZCU1hkSUxFVkJRV2RDTEc5Q1FYTlBjRUlzVTBGQlUwTXNSVUZCVlVNc1IwRkRiRUlzVDBGQlQwRXNSVUZGVWl4VFFVRlRReXhGUVVGVFF5eEhRVU5xUWl4TlFVRk5RU3hGUVVkUUxGTkJRVk5ETEVWQlFWbHlWaXhGUVVGUGMxWXNSVUZCVTBNc1JVRkJVVU1zUjBGRE5VTXNTVUZCU1VNc1JVRkZTaXhKUVVkTmVsWXNSMEZCVXpkR0xFVkJRV056WWl4RlFVRlRlbFlzUlVGQlRUQldMRk5CUXpGRFJDeEZRVUZQYkdNc1MwRkJUWGxITEVkQlFWRXdRaXhMUVVGTk5GUXNSMEZCVlVzc1MwRkJUVW9zUjBGSGFFTjJWaXhIUVVGVE4wWXNSVUZCWTNOaUxFVkJRVk42Vml4RlFVRk5ORllzVFVGRGFrUklMRVZCUVU5c1l5eExRVUZOZVVjc1JVRkJUM05XTEVWQlFWTkRMRWRCVVRkQ1JDeEZRVUZSTjJJc1YwRkJUMnRHTEVWQlFWY3NRMEZCUlhGQ0xFZEJRVkUxUnl4TlFVRlBiMk1zU1VGTk0wTXNUVUZCVVhoV0xFZEJTVlIxVml4RlFVRlBPV0lzVjBGQlQydEdMRVZCUVZjc1EwRkJSWEZDTEV0QmRrODNRbTVGTEVWQlFVOW5ZU3hWUVVGWkxGTkJRVlUxV0N4SFFVazFRa0VzUlVGQk5rSXNhVUpCUVZwQkxFVkJiRU5zUWl4VFFVRjNRa0VzUjBGRGRrSXNTVUZCU1RaWUxFVkJRVk1zUjBGSllpeFBRVWhCYW1Fc1JVRkJUMnRDTEV0QlFVMXJRaXhGUVVGUk1FZ3NUVUZCVDNGUUxFbEJRVzFDTEVkQlFVa3NVMEZCVldVc1JVRkJSME1zUjBGREwwUkdMRVZCUVZGRkxFbEJRVk1zU1VGRldFWXNSVUU0UWs1SExFTkJRV1ZvV1N4SFFVTm1jRU1zUlVGQlQyMURMRTlCUVZFc1IwRkJTVU1zUjBGRmNFSXNTVUZEUTJsWkxFVkJSMEZETEVWQlIwRkRMRVZCUjBGRExFVkJSMEZvVlN4RlFVRlBMRWRCUjFCcFZTeEZRVUZSTEVkQlIxSkRMRWRCUVdVc1JVRkhaa01zUlVGQlR5eFhRVkZPTEVsQlRFRklMRVZCUVZOQkxFZEJRVlZ3V1N4RlFVRlJkMWtzUzBGSk0wSk1MRVZCUVZGR0xFZEJRVk1zUlVGRFZFa3NSVUZCVFc1aExFOUJRVkZ2WVN4SFFVRmxMRVZCUlhCRExFbEJSRUZLTEVWQlFWTkhMRVZCUVUxd1VDeFZRVU5NY1ZBc1JVRkJZMnhWTEVWQlFVdHNSeXhUUVVkdFF5eEpRVUV4Ukd0SExFVkJRVTFyVlN4SFFVRmpPV01zVFVGQlR6QmpMRVZCUVZFc1IwRkJTMEVzUlVGQlVTeExRVU53Ukd4WkxFVkJRVkY1V1N4alFVZFNTQ3hGUVVGamJGVXNSVUZCUzJ4SExFOUJRMjVDWjJFc1IwRkJVeXhIUVUxT2JGa3NSVUZCVVd0WkxGTkJRMkpCTEVkQlFWTXNSMEZIVmtRc1IwRkJVeXhGUVVkS1J5eEpRVWxJYUZVc1JVRkVTVGhVTEVWQlEwY3NSMEZKUVN4TFFVMVdOVU1zUlVGQlR5eERRVWRPWlN4SlFVRkxMRmRCTWtKS0xFOUJNVUpMYWxNc1NVRkhRemhVTEVsQlFWZEVMRWxCUTJaTExFVkJRV05zVlN4RlFVRkxiRWNzVDBGQlV5eEZRVU0xUW0xaExFVkJRVTAxWXl4TFFVRk5lV01zU1VGSFlpeFRRVUZYTjBJc1JVRkJTMnBJTEVkQlEyWjRVaXhGUVVGUGEwSXNTMEZCVFhOUkxFVkJRVTBzVTBGQlZUQkpMRVZCUVVkb1Z5eEhRVU14UWpWR0xFVkJRVmswUml4SFFVTldPVUlzUlVGQlVUQlZMRkZCUVZkWkxFVkJRVXN6Uml4SlFVRkxOMDRzU1VGRGJFTnpReXhGUVVGTE0wa3NTMEZCVFhGSExFZEJSVVJCTEVkQlFVOUJMRVZCUVVrMVJDeFJRVUUwUWl4WFFVRnNRbEFzUlVGQlVXMUZMRWxCUjNoRGRWVXNSVUZCUzNaVkxFdEJWRklzUTBGWlN6VkRMRmRCUlVGbldpeEpRVUZYUkN4SFFVTm1UU3hMUVVkTE1XUXNUVUZKVWpaa0xFOUJRVkVzVjBGWlVDeFBRVmhCT1dFc1JVRkJUMnRDTEV0QlFVMUpMRlZCUVZjc1UwRkJWVFJaTEVWQlFVZG9WeXhIUVVWd1F5eEpRVVJCTEVsQlFVbHhWU3hIUVVOTlFTeEZRVUZSZGxrc1JVRkJUelpFTEZGQlFWTkxMRVZCUVV0elF5eEZRVUZOSzFJc1MwRkJZU3hIUVVONlJDOVNMRVZCUVV0MFJTeFBRVUZSY1Zjc1JVRkJUeXhIUVVkbVFTeEhRVUZUYlVNc1IwRkRZa0VzVFVGSlNYcGtMRTFCUzFJNFZTeEpRVUZMTEZOQlFWVTFVaXhIUVVOa0xFOUJRVTlCTEVWQlEwNUlMRVZCUVU4MlJDeFJRVUZUTVVRc1JVRkJTWEZITEVsQlFWVXNSVUZET1VKQkxFVkJRVXRzUnl4UFFVRlRMRWRCU1doQ2QxTXNUVUZCVHl4WFFVbE9MRTlCU0V0MFRTeEpRVU5LUVN4RlFVRlBMRWxCUlVSMlNpeE5RVTFTT0dRc1VVRkJVeXhYUVVkU0xFOUJSa0ZRTEVWQlFWTkRMRVZCUVZFc1IwRkRha0pxVlN4RlFVRlBPRlFzUlVGQlV5eEhRVU5VY21Rc1RVRkZVbTFOTEZOQlFWVXNWMEZEVkN4UFFVRlJOVU1zUjBGTlZIZFZMRXRCUVUwc1YwRkxUQ3hQUVVwQlVpeEZRVUZUUXl4RlFVRlJMRWRCUTFoSUxFZEJRVmRFTEVsQlEyaENOMVFzUlVGQlR6aFVMRVZCUVZNc1NVRkZWbkprTEUxQlJWSjFaQ3hQUVVGUkxGZEJRMUFzVVVGQlUwRXNSMEZKVmxNc1UwRkJWU3hUUVVGVkwyRXNSVUZCVTNOU0xFZEJVelZDTEU5QlVrMW5TaXhKUVVWTWFFb3NSVUZCVHl4RFFVRkZkRklzUjBGRVZITlNMRVZCUVU5QkxFZEJRVkVzU1VGRFVXcFZMRTFCUVZGcFZTeEZRVUZMYWxVc1VVRkJWV2xWTEVkQlF6bERhVW9zUlVGQlRUVmpMRXRCUVUweVZDeEhRVU5PTmtrc1IwRkRURTBzUzBGSFN6RmtMRTFCU1ZJd1pDeExRVUZOTEZkQlJVd3NUMEZFUVdwRUxFVkJRVXQxUkN4VFFVRlZhR1VzUzBGQlRYRkZMRmRCUTJSeVJTeE5RVWxTYzJRc1RVRkJUeXhYUVVOT0xGRkJRVk5CTEVsQlNWb3NUMEZCVHpkRExFZEJORU5TTVZnc1JVRkJUMjFETEU5QlFWRXNRMEZGWkN0WkxGTkJRVlVzVTBGQlZVTXNSMEZEYmtJc1NVRkJTVU1zUlVGQlV5eERRVWxZTEVOQlFVVXNVMEZCVlN4WFFVRlpjR0lzUlVGQlQyZGhMRlZCUVZjc1ZVRkRla05vWVN4RlFVRlBaMkVzVlVGQlZ5eFZRVUZaTEVkQlF5OUNMRU5CUVVVc1ZVRkJWeXhQUVVGUmFHRXNSVUZCVDJkaExGVkJRVmNzWlVGRGRFTm9ZU3hGUVVGUFoyRXNWVUZCVnl4bFFVRnBRaXhGUVVGSExGbEJRM1pETEVOQlFVVXNVMEZCVlN4UFFVRlJhR0VzUlVGQlQyZGhMRlZCUVZjc1pVRkRja05vWVN4RlFVRlBaMkVzVlVGQlZ5eGxRVUZwUWl4RlFVRkhMR0ZCUlhoRGNVSXNSVUZCVVN4VlFVTlNlRUlzUlVGQlZTeERRVU5VZDBJc1RVRkJUeXhYUVVOT0xFOUJRVTlCTEVkQlJWSkRMRTlCUVZFc1YwRkZVQ3hQUVVSQlF5eEZRVUZUTVZZc1MwRkJUWFpGTEZkQlFWbDNXU3hMUVVGTmVGa3NWMEZETVVKeVJTeE5RVVZTZFdVc1RVRkJVeXhUUVVGVmNtSXNSMEZEYkVJc1QwRkJUekJhTEVWQlFWRkZMRXRCUVUwc1MwRkJUVFZhTEVsQlNUVkNjMklzUzBGQlRTeFhRVU5NTEVsQlFVbERMRVZCUVUxd1lTeFZRVVZXTEU5QlFVOTBRaXhGUVVGUGEySXNVMEZCVlN4VFFVRlZVeXhIUVVOcVF6TmlMRVZCUVU5clFpeExRVUZOYTJFc1JVRkJVU3hUUVVGVk5WY3NSVUZCU1c5WUxFZEJSMnhETEVsQlFVbDZZaXhGUVVGTE4wSXNSVUZCV1c5a0xFVkJRVXRGTEVWQlFVOHNUVUZCVjBZc1JVRkJTMFVzUlVGQlR5eEpRVXQ0UkV3c1JVRkJWVXNzUlVGQlR5eEpRVUZQTEZkQlEzWkNMRWxCUVVsRExFVkJRVmN4WWl4SFFVRk5RU3hGUVVGSGRrTXNUVUZCVDFnc1MwRkJUWEZGTEZkQlEyaERkV0VzUjBGQldYWmtMRVZCUVZsMVpDeEZRVUZUYUVNc1UwRkRja05uUXl4RlFVRlRhRU1zVlVGRFVHbERMRk5CUVZWSUxFVkJRVk5KTEZGQlEyNUNiRmNzUzBGQlRUaFdMRVZCUVZOc1F5eFRRVU5tU3l4TFFVRk5Oa0lzUlVGQlUycERMRkZCUldwQ2FVTXNSVUZCVlVNc1JVRkJUeXhIUVVGTkxGRkJRM1JDTTJVc1MwRkRRV3RFTEVWQlFVc3NRMEZCUlRCaUxFZEJRV0YyWVN4bFFVdDRRbTloTEVWQlFVMHNUMEZEU0RkQ0xGZEJSVXhGTEV0QlFVMHNVMEZCVldsRExFVkJRV0ZETEVWQlFWbERMRWRCUTNoRExFbEJRVWxETEVWQlFWY3NSVUZEWml4VFFVRlRNVU1zUlVGQlV6SkRMRVZCUVU5aUxFVkJRVlUxVUN4RlFVRlRNRkVzUjBGRE0wTXNUMEZCVHl4WFFVTk9MRWxCUVVsRExFVkJRVTl5Wml4TFFVTldkVlVzUlVGQlQyeFJMRlZCUTFCcFlpeEZRVUZoTEZkQlExb3NTVUZCU1ZZc1JVRkJWVGxDTEVWQlMyUXNTMEZCUzNGRExFVkJRVkZFTEVkQlFXSXNRMEZSUVN4SlFVcEJUaXhGUVVGWGJGRXNSVUZCVVM5T0xFMUJRVTh3WlN4RlFVRk5PVXNzVFVGSlpDdEtMRVZCUVZNeFFpeFZRVU14UWl4TlFVRk5MRWxCUVVreVF5eFZRVUZYTERSQ1FVOTBRbnBETEVWQlFVODRRaXhKUVV0blFpeHBRa0ZCWWtFc1IwRkRXU3h0UWtGQllrRXNTVUZEVWtFc1JVRkJVemxDTEV0QlIweDZZaXhGUVVGWmVXSXNSMEZIV0hORExFVkJRMHAwUXl4RlFVRkxjbU1zUzBGRFNtMWxMRVZCUTBGd1F5eEZRVUZUTUVNc1JVRkJWVm9zUlVGQlZXNURMRVZCUVZWcFJDeEhRVU4yUXpWRExFVkJRVk13UXl4RlFVRlZXaXhGUVVGVmFrTXNSVUZCVXl0RExFdEJUM1pEUml4SlFVVkJjRU1zUlVGQlMzSmpMRXRCUTBwdFpTeEZRVU5CY0VNc1JVRkJVekJETEVWQlFWVmFMRVZCUVZWdVF5eEZRVUZWYVVRc1IwRkRka00xUXl4RlFVRlRNRU1zUlVGQlZWb3NSVUZCVldwRExFVkJRVk1yUXl4SFFVTjBRelZETEVWQlFWTXdReXhGUVVGVldpeEZRVUZWYmtNc1JVRkROVUp0UXl4RlFVRlRhMElzWlVGVFVEbFJMRWxCUVZsNVRpeEpRVU5vUW10RUxFOUJRVTk0V2l4RlFVTlFNRThzUlVGQlR5eERRVUZGY1Vzc1MwRkxVbEVzUjBGQlYyUXNSVUZCVTIxQ0xHRkJRV1ZLTEVWQlFVMDVTeXhOUVVzM1EyMU1MRVZCUVZWT0xFVkJRMVJGTEVWQlEwRXNWMEZEUXl4SlFVTkRRU3hKUVVORExFMUJRVkU1VXl4SFFVVktla29zUlVGQlQydGlMRk5CUVZNd1FpeGxRVU53UWpWakxFVkJRVTlyWWl4VFFVRlRNRUlzWTBGQlpXNVVMRVZCUXpsQ2ExUXNSVUZCVVVVc1dVRk5URlFzUlVGQlVTeEhRVUZMUkN4SlFVbGFlRkVzU1VGQldUSk9MRWxCUTJoQ1owUXNUMEZCVDNoYUxFVkJRMUF3VHl4RlFVRlBMRU5CUVVVdlNDeEpRVWRXT0ZJc1JVRkJVM1ZDTEZkQlFWbFNMRVZCUVUwNVN5eE5RVk16UWpSTExFVkJRMHBQTEV0QlMwc3pZeXhGUVVGUGEySXNVMEZCVXpaQ0xHVkJRM0JDU2l4RlFVRlJSU3hYUVVGaE4yTXNSVUZCVDJ0aUxGTkJRVk0yUWl4blFrRkZkRU12Wml4RlFVRlBaMmRDTEZkQlFWbE1MRXRCUzNSQ0xFOUJRVTh6WXl4RlFVRlBhMklzVTBGQlZTeFRRVUZWVXl4SFFVZHFRMUFzUlVGQlVTeEhRVUZMTEVkQlFVa3pReXhKUVVOb1FtZENMRVZCUTBNc1JVRkRRV3RETEVWQlEwRnlaQ3hGUVVGWk5HUXNSMEZEV0VFc1JVRkRRVGxETEVWQlEwUjFReXhGUVVGVFl5eGhRVXRZY2tJc1JVRkJVU3hIUVVGTExFZEJRVWt6UXl4SlFVTm9RbWRDTEVWQlEwTXNSVUZEUVd0RExFVkJRMEZ5WkN4RlFVRlpNR1FzUjBGRFdFRXNSVUZEUVRWRExFbEJTMGhuUXl4RlFVRlJMRWRCUVVzc1IwRkJTVE5ETEVsQlEyaENaMElzUlVGRFF5eEZRVU5CYTBNc1JVRkRRWEprTEVWQlFWa3laQ3hIUVVOWVFTeEZRVU5CTTBNc1RVRkhRVThzVjBGTFRFRXNVVUZCVXl4VFFVRlZkR0lzUjBGRGJFSXNUMEZCWXl4TlFVRlFRU3hGUVVGamVVSXNSVUZCVDIxRExFOUJRVkUxUkN4RlFVRkxjMklzUjBGQldVRXNTVUZIZGtRd1FpeEZRVUZYTEVkQmEwVmFMRTlCTDBSQmRtSXNSVUZCVDJ0Q0xFdEJRVTFyWVN4RlFVRlJMRk5CUVZWb1l5eEZRVUZIZDJNc1IwRkRha01zU1VGQlNYQldMRVZCUVU5dlZpeEZRVUZQTEVkQlEycENjVUlzUlVGQlkzSkNMRVZCUVU4c1IwRkxkRUl2UWl4RlFVRlRLMElzUlVGQlR5eEpRVUZSY0ZZc1JVRkJTMmxUTEVsQlIzaENkMFVzUjBGRFNucFhMRVZCUVV0cFV5eEpRVU5LTEZkQlNVTTBReXhGUVVGUk5FSXNSMEZMVkRkQ0xFVkJRVkVzUlVGQlNXaGpMRWRCUVVzc1IwRkJTVEppTEZGQlNYSkNTeXhGUVVGUkxFVkJRVWxvWXl4SFFVRkxMRWRCUVVreVlpeFJRVWR5UWtzc1JVRkJVU3hIUVVGTExFZEJRVWxLTEV0QlIycENTU3hGUVVGUkxFZEJRVXNzUjBGQlNVb3NUVUZQYmtKNFZTeEZRVUZMYVZNc1NVRkJTMjFFTEVWQlFVOHNSMEZCU1dwQ0xFMUJTM0pDV1N4RlFVRlZTeXhGUVVGUExFbEJRVkVzVjBGRmVFSXNUMEZFUVV3c1JVRkJWVXNzUlVGQlR5eEhRVUZOTEZGQlFWVXpaU3hQUVVGVGMyVXNUMEZCVjNwWkxFVkJRVmszUml4TFFVRk5jVVVzVjBGRGFFVnlSU3hOUVUxU2MyVXNSVUZCVlVzc1JVRkJUeXhIUVVGTkxGRkJRVmR3Vml4RlFVRkxlVlVzVjBGSmVFTndRaXhGUVVGUlFTeFJRVUZUTUVJc1IwRkhXa29zUjBGRFNrRXNSVUZCUzNwa0xFdEJRVTAyWkN4RlFVRlZRU3hIUVVsbVFTeEhRVWxTTWtJc1MwRkJUU3hUUVVGVlF5eEhRVU5tTEVsQlIwTkRMRVZCUVZrNVlpeFZRVUZWYUVJc1QwRkhkRUpzUWl4RlFVRkpaMlVzUlVGSFNrTXNSVUZCYTBKNllTeE5RVUZQZUVRc1IwRkRla0pyWlN4RlFVRm5RaTltTEVWQlFVMUhMRXRCUVUwMFJDeFhRVWMxUW1sakxFVkJRVlYyWkN4RlFVRlBhMklzVjBGSGFrSnpReXhGUVVGaExGTkJRVlZ3WlN4SFFVTjBRaXhQUVVGUExGTkJRVlVyUlN4SFFVTm9RbXRhTEVWQlFXbENhbVVzUjBGQlRXNURMRXRCUTNaQ2NXZENMRVZCUVdWc1pTeEhRVUZOYTBNc1ZVRkJWV2hDTEU5QlFWTXNSVUZCU1M5RExFVkJRVTFITEV0QlFVMDBSQ3hYUVVGak5rTXNTVUZETlVScFdpeEhRVU5VUnl4RlFVRlJZaXhaUVVGaFZ5eEZRVUZwUWtNc1MwRk5NVU1zUjBGQlMwWXNSMEZCWVN4SlFVTnFRalZFTEVWQlFWa3lSQ3hGUVVGaFNTeEZRVUZSTVZnc1MwRkJUVEpZTEVWQlFWbHdaU3hKUVVGTmNXRXNVVUZCVXpoRUxFVkJRVkUzUkN4UlFVTjRSVEJFTEVkQlIzVkNMRmxCUVhCQ1J5eEZRVUZSYkVNc1UwRkRXaTlqTEVWQlFWbG5aaXhGUVVGbGJHVXNTVUZCVDJ0bExFVkJRV1ZzWlN4SFFVRkpNbUVzVDBGRmNrUXNUMEZCVDNkRUxFVkJRVkY0UkN4UFFVdHFRaXhMUVVGUk0yRXNTMEZEVUc5aExFVkJRVms0UkN4RlFVRmxiR1VzUjBGQlMyOWxMRVZCUVZsd1pTeEhRVUZMYldVc1JVRkJVVGRFTEZGQlJ6RkVMRTlCUVU4MlJDeEZRVUZSTVVRc1lVRlBha0lzU1VGQlNUUkVMRVZCUVdNc2VVUkJSV3hDZW1Rc1JVRkJUMnRpTEZOQlFWTXdRaXhqUVVGblFpeFRRVUZWZUZvc1JVRkJUM05oTEVkQlNUTkRNV2RDTEVWQlFVOHlaMElzVTBGQlZ6Tm5RaXhGUVVGUE1tZENMRkZCUVZGRExFMUJRVkY0WVN4SFFVRlRjV0VzUlVGQldXaFVMRXRCUVUxeVNDeEZRVUZOWml4UFFVTTVSWEpHTEVWQlFVOHlaMElzVVVGQlVVTXNTMEZCVFN3NFFrRkJaME40WVN4RlFVRk5lV0VzVVVGQlUzcGhMRVZCUVUxellTeE5RVUZQUVN4SlFVOXVSakZrTEVWQlFVODRaQ3hsUVVGcFFpeFRRVUZWTVdFc1IwRkRha053Unl4RlFVRlBaMmRDTEZkQlFWa3NWMEZEYkVJc1RVRkJUVFZhTEV0QlVWSXNTVUZCU1RKaExFVkJRVmt2WkN4RlFVRlBhMklzVjBGclJIWkNMRk5CUVZNNFF5eEpRVU5TYm1oQ0xFVkJRVk52YUVJc2IwSkJRWEZDTEcxQ1FVRnZRa1FzUjBGRGJFUm9hRUlzUlVGQlQybG9RaXh2UWtGQmNVSXNUMEZCVVVRc1IwRkRjRU5vWlN4RlFVRlBObGdzVVVGdVJGSTNXQ3hGUVVGUFJ5eEhRVUZITUZnc1RVRkJVU3hUUVVGVk1WZ3NSMEZaTTBJc1QwRldRVFJrTEVWQlEwVm9SU3hMUVVGTk5Wb3NSMEZMVG5GaUxFMUJRVThzVTBGQlZYQlpMRWRCUTJwQ2NFUXNSVUZCVHpoa0xHVkJRV2RDTVdFc1MwRkhiRUp1Unl4TlFVZFNLME1zUlVGQlQyMURMRTlCUVZFc1EwRkhaR2RDTEZOQlFWTXNSVUZKVkN0aExGVkJRVmNzUlVGSFdISkhMRTFCUVU4c1UwRkJWWE5ITEV0QlIwWXNTVUZCVkVFc1NVRkJhMEp1WlN4RlFVRlBhMlVzVlVGQldXeGxMRVZCUVU5dFJDeFhRVXRxUkc1RUxFVkJRVTl0UkN4VFFVRlZMRWRCUjBnc1NVRkJWR2RpTEV0QlFXMUNibVVzUlVGQlQydGxMRlZCUVZrc1IwRkxNME5JTEVWQlFWVnlRaXhaUVVGaE4yWXNSVUZCVlN4RFFVRkZiVVFzVVVGSmNrTkJMRVZCUVU4MldDeE5RVUZOYTBNc1MwRkJUMmRGTEVWQlFWVm9SU3hMUVdGRUxHRkJRWGhDYkdRc1JVRkJVM1ZvUWl4WlFVTmhMRmxCUVhoQ2RtaENMRVZCUVZOMWFFSXNZVUZCTmtKMmFFSXNSVUZCVXpoUUxHZENRVUZuUWpCU0xGTkJSMnBGY21oQ0xFVkJRVTluWjBJc1YwRkJXV2hrTEVWQlFVODJXQ3hSUVVzeFFtaGlMRVZCUVZOdFVTeHBRa0ZCYTBJc2JVSkJRVzlDWjFJc1IwRkhMME5vYUVJc1JVRkJUMmRSTEdsQ1FVRnJRaXhQUVVGUloxSXNTVUZSYkVNc1NVRkJTVTBzUlVGQlV5eFRRVUZWZUdRc1JVRkJUMWdzUlVGQlNXZE1MRVZCUVV0b1NDeEZRVUZQYjJFc1JVRkJWME1zUlVGQlZVTXNSMEZEYkVVc1NVRkJTWEptTEVWQlFVa3NSVUZEVURCRExFVkJRVTFvUWl4RlFVRk5VaXhQUVVOYWIyVXNSVUZCWXl4TlFVRlFkbFFzUlVGSFVpeEhRVUYxUWl4WFFVRnNRbkJNTEVWQlFWRnZUQ3hIUVVWYUxFbEJRVTB2VEN4TFFVUk9iV1lzUjBGQldTeEZRVU5FY0ZRc1JVRkRWbTFVTEVWQlFWRjRaQ3hGUVVGUFdDeEZRVUZKWml4RlFVRkhLMHdzUlVGQlN5OU1MRWxCUVVzc1JVRkJUVzltTEVWQlFWVkRMRkZCU1RORExGRkJRV1V6WWl4SlFVRldjVUlzU1VGRFdHOWhMRWRCUVZrc1JVRkZUbXBuUWl4RlFVRlpOa1lzUzBGRGFrSnpZU3hIUVVGTkxFZEJSMFpETEVsQlIwTkVMRWRCUTBwMFpTeEZRVUZIZWtNc1MwRkJUVzlFTEVWQlFVOXhSQ3hIUVVOb1FtaEZMRVZCUVVzc1QwRkpUSFZsTEVWQlFVOTJaU3hGUVVOUVFTeEZRVUZMTEZOQlFWVnJRaXhGUVVGTmMyUXNSVUZCVFhoaExFZEJRekZDTEU5QlFVOTFZU3hGUVVGTGFHaENMRXRCUVUxelF5eEZRVUZSY1VJc1IwRkJVVGhETEUxQlMyaERhRVVzUjBGRFNpeExRVUZSWml4RlFVRkpNRU1zUlVGQlN6RkRMRWxCUTJoQ1pTeEZRVU5EVnl4RlFVRlBNVUlzUjBGQlN5dE1MRVZCUVV0elZDeEZRVU5vUW5SaExFVkJRMEZCTEVWQlFVMTZSeXhMUVVGTmIwUXNSVUZCVHpGQ0xFZEJRVXRCTEVWQlFVZGxMRVZCUVVsWExFVkJRVTh4UWl4SFFVRkxLMHdzUzBGTmFFUXNUMEZCUzI5VUxFVkJRMGQ2WkN4RlFVbElOR1FzUlVGRFIzWmxMRVZCUVVkNlF5eExRVUZOYjBRc1IwRkhWbWRDTEVWQlFVMHpRaXhGUVVGSlZ5eEZRVUZQTEVkQlFVdHhTeXhIUVVGUmNWUXNSMEZMYkVOSkxFVkJRVmtzVVVGRFprTXNSVUZCWVN4WlFVZGtMRk5CUVZORExFVkJRVmxETEVWQlFVMURMRWRCUXpGQ0xFOUJRVTlCTEVWQlFVOURMR05CVFdZc1UwRkJVME1zUlVGQlYwTXNSMEZEYmtJc1QwRkJUMEVzUlVGQlQycGpMRkZCUVZNd1lpeEZRVUZYTEU5QlFWRXhZaXhSUVVGVE1tSXNSVUZCV1VNc1IwRkZhRVVzU1VGQlNVMHNSVUZCWVN4VFFVRlZReXhIUVZFeFFpeFBRVUV3UWl4SlFVRnVRa0VzUlVGQlRUZG5RaXhWUVVGeFF5eEpRVUZ1UWpablFpeEZRVUZOTjJkQ0xGbEJRWE5DTm1kQ0xFVkJRVTAzWjBJc1ZVRk5iRVVzVTBGQlV6aG5RaXhKUVVOU2NtbENMRXRCUVVzNFJpeFJRVUZWTDBNc1JVRkJUeXRETEZGQlFWVjFZeXhGUVVGTFF5eE5RVWQwUTBRc1JVRkJTME1zU1VGQlRTeEZRVVZZUkN4RlFVRkxMMlVzVlVGQldTeERRVVZvUWpKTExFMUJRVThzVTBGQlZXMVZMRWRCUjJoQ0xFbEJRVWxzWWl4RlFVRlJhMklzUlVGQlQzQnBRaXhMUVVGTE9FWXNVMEUwUW5oQ0xFOUJla0pOYjBJc1NVRkRURUVzUlVGQlVTeEhRVXRJYVdJc1JVRkJXVU1zUzBGSldFRXNSVUZCVFRkblFpeFRRVU5XTm1kQ0xFVkJRVTl3YVVJc1MwRkJTemhHTEZOQlFWbHZRaXhGUVUxNFFqbEhMRTlCUVU5dGFVSXNaVUZCWjBKSUxFVkJRVTl3YVVJc1MwRkJTemhHTEZGQlFWTXNRMEZETTBOdlFpeE5RVUZQUVN4RlFVTlFjMklzWTBGQll5eE5RVTFZZEdJc1IwRkZVblZpTEVsQlFVc3NVMEZCVlV3c1JVRkJUMDBzUlVGQlRYaGlMRWRCUXpOQ0xFbEJRVWw1WWl4RlFVTklNVlVzUlVGQlVXcFBMRXRCUVV0cFR5eE5RVUZQYlZVc1IwRkpja0lzUjBGQmNVSXNhVUpCUVZSTkxFVkJRMWg2VlN4RlFVRlBaMVVzUlVGQlYxTXNTVUZCVjNoaUxFOUJUVGRDTEVsQlFVMTVZaXhMUVVGUlJDeEZRVU5pZWxVc1JVRkJUMmRWTEVWQlFWZFZMRWxCUVZkRUxFVkJRVTFETEVkQlIzSkRMRTlCUVU4eFZTeEhRVVZTZGtzc1NVRkJTeXhUUVVGVk1HVXNSVUZCVDJ4VkxFZEJRM0pDTEZsQlFXVnlTU3hKUVVGU2NVa3NSVUZEVG14UExFdEJRVXRwVHl4TlFVRlBiVlVzUjBGSFdrRXNSVUZCVDNCcFFpeExRVUZMT0VZc1ZVRkJZWE5qTEVWQlFVOXdhVUlzUzBGQlN6aEdMRk5CUVZkdFl5eEZRVUZYTDFRc1MwRkZOMFJ0VkN4UFFVRlJMRk5CUVZWbExFVkJRVTlzVlN4RlFVRkxhRWdzUjBGaE4wSXNXVUZCWVhKQ0xFbEJRVkp4U1N4SFFVTkRRU3hIUVVGelFpeHBRa0ZCVWtFc1VVRkJaME55U1N4SlFVRldjVUlzUlVGRmJFTnNTQ3hMUVVGTE1FUXNTVUZCU3pCbExFVkJRVTlzVlN4SlFWTjZRbXhQTEV0QlFVdDVhVUlzU1VGQlMwd3NSVUZCVDJ4VkxFVkJRVXRvU0N4UlFVbE1ja0lzU1VGQlZuRkNMRVZCUVhOQ1FTeEZRVUZSWjBnc1NVRkZkRU15VUN4UFFVRlJMRk5CUVZWMVJTeEZRVUZQYkZVc1IwRkRlRUlzU1VGQlNTOU1MRVZCUTBnNFRDeEZRVUZSYlZVc1JVRkJUM0JwUWl4TFFVRkxPRVlzVTBGRmNrSXNVVUZCWlVRc1NVRkJWbTlKTEVWQlFVd3NRMEZKUVN4UlFVRmhjRWtzU1VGQlVuRkpMRVZCUVc5Q0xFTkJhMEo0UWk5TUxFZEJXRU1yVEN4RlFVcEpka2tzVFVGQlRVTXNVVUZCVTNOSkxFZEJTV0pCTEVWQlFVa3ZTaXhKUVVGTE9HUXNTVUZGWmk5VUxFVkJRVTByVkN4RlFVRlhMMVFzVFVGSlNrUXNSVUZEV2l4RFFVRkZReXhIUVVOQlFTeEZRVUZKY2tJc1RVRkJUM0ZRTEVsQlFXMUNMRWxCUnpGQ04xa3NUMEZGVWl4TFFVRlJiRUlzV1VGRFFUaE1MRVZCUVU5RExFVkJRVXN2VEN4VlFVdFNNRVFzU1VGQlVuRkpMRWRCUVhGQ2Jrd3NSVUZCVDNsRUxHTkJRV1Y1U0N4TlFVMHhRMjFWTEVWQlFVMDNaMElzVTBGRFZqWm5RaXhGUVVGUGNHbENMRXRCUVVzNFJpeGpRVUZaUkN4VFFVVnFRblZqTEVWQlFVOXdhVUlzUzBGQlN6aEdMRmxCU1hSQ09HTXNVVUZCVXl4VFFVRlZVaXhIUVVOc1FpeEpRVUZKYmxVc1JVRkJVVzFWTEVWQlFVOXdhVUlzUzBGQlN6aEdMRk5CUTNoQ0xGbEJRV2xDUkN4SlFVRldiMGtzU1VGQmQwSnNUQ3hGUVVGUGVVUXNZMEZCWlhsSUxFdEJSM1pFTEVsQlFVazBWU3hGUVVGWExFbEJRVWxTTEVWQlJXWlRMRVZCUVZjc1NVRkJTVlFzUlVGalpsVXNSVUZCVXl4blEwRkRXa01zUlVGQllTeFRRVEpDWkN4VFFVRlRReXhGUVVGVk4yVXNSVUZCVFRoS0xFVkJRVXQzVlN4SFFVTTNRaXhKUVVGSmRHUXNSVUZKU2l4UlFVRmpVeXhKUVVGVU5tTXNSMEZCZDBNc1NVRkJiRUowWlN4RlFVRkxOME1zVTBGSkwwSXNSMEZJUVRaRUxFVkJRVThzVVVGQlZUaEpMRVZCUVVscVNTeFJRVUZUSzJNc1JVRkJXU3hQUVVGUmVHSXNZMEZITjBJc2FVSkJSbkpDYTJJc1JVRkJUM1JsTEVWQlFVczFRaXhoUVVGak5FTXNTVUZGVFN4RFFVTXZRaXhKUVVORGMyUXNSVUZ3UTBvc1UwRkJhMEpCTEVkQlEycENMRTFCUVdNc1UwRkJWRUVzUjBGSlV5eFZRVUZVUVN4SlFVbFRMRk5CUVZSQkxFVkJRMGNzUzBGSlNFRXNTMEZCVlVFc1JVRkJUeXhKUVVOaVFTeEZRVWRLU3l4RlFVRlBkbFlzUzBGQlRXdFdMRWRCUTFaUkxFdEJRVXRETEUxQlFVOVVMRWRCUjJKQkxFZEJZMGRWTEVOQlFWTldMRWRCUTJZc1RVRkJVV3hYTEVsQlIxWnpWeXhGUVVGVFRDeEpRVUZMY21Vc1JVRkJUVGhLTEVWQlFVdDNWU3hSUVVWNlFrRXNUMEZCVHpkakxFVkJSMVFzVDBGQlR6WmpMRVZCUjFJelppeEZRVUZQYlVNc1QwRkJVU3hEUVVOa01HUXNVVUZCVXl4VFFVRlZlR1VzUjBGRGJFSXNUMEZCVHpCbExFVkJRVk5HTEZGQlFWTjRaU3hKUVVGVmVXVXNSVUZCVTBRc1VVRkJVM2hsTEVsQlIzUkVjMlVzUzBGQlRTeFRRVUZWZEdVc1JVRkJUV2RDTEVWQlFVMXpaQ3hIUVVNelFpeFBRVUZQU1N4RlFVRlRla0lzVDBGQlVXcGtMRVZCUVUxblFpeEZRVUZOYzJRc1NVRkhja05YTEZkQlFWa3NVMEZCVldwbUxFVkJRVTFuUWl4SFFVTXpRakJrTEVWQlFWTnFSaXhQUVVGUmVsb3NSVUZCVFdkQ0xFbEJTM2hDYTJVc1RVRkJUeXhUUVVGVmJHWXNSVUZCVFdkQ0xFVkJRVTF6WkN4SFFVTTFRaXhQUVVGUFJ5eEZRVUZUZUVJc1QwRkJVV3BrTEVWQlFVMW5RaXhGUVVGTmMyUXNTVUZIY2tOaExGbEJRV0VzVTBGQlZXNW1MRVZCUVUxblFpeEhRVU0xUW5sa0xFVkJRVk5vUml4UFFVRlJlbG9zUlVGQlRXZENMRTFCU1hwQ2NrTXNSVUZCVDBjc1IwRkJSMmRETEU5QlFWRXNRMEZEYWtKM1pDeExRVUZOTEZOQlFWVjRWU3hGUVVGTGFFZ3NSMEZEY0VJc1NVRkJTUzlGTEVWQlFVZHBSQ3hGUVVGTmMyUXNSVUZEV25SbExFVkJRVTl3UlN4TFFVRk5MRWRCUTJKNVR5eEZRVUZSY2tzc1IwRkJVVUVzUlVGQlMzVkdMRmRCUjNSQ0xGRkJRV0U1UkN4SlFVRlNjVWtzUlVGQmIwSXNRMEZEZUVJc1IwRkJTMnhQTEV0QlFVdHhSQ3hUUVVOVWNXWXNSVUZCVDBrc1JVRkJVM0JtTEVsQlFVdFZMRWRCUlVVc1NVRkJiRUpCTEVWQlFVczNReXhYUVVGdFFuTm9RaXhGUVVGVGJtWXNTVUZCUzFVc1JVRkJUU3hwUWtGQmJVSXNRMEZGYmtVc1NVRkVRV3BETEVWQlFVbHpUU3hGUVVGTmNFd3NUMEZEUm14Q0xFdEJTVVp6VFN4RlFVRlBkRTBzU1VGRmMwSXNTMEZFYWtOcFJDeEZRVUZQY1Vvc1JVRkJUM1JOTEVkQlFVbHBSQ3hOUVVOU2RrVXNVVUZCVXl4WFFVTnNRblZGTEVWQlFVODJZeXhGUVVGWE4yTXNSVUZCU3psRkxFMUJRVThzU1VGRE9VSXlhVUlzUlVGQlZUZGxMRVZCUVUxblFpeEZRVUZOYzJRc1JVRkJUWFJrTEV0QlNTOUNlV1FzUlVGQlUwb3NTVUZCUzNKbExFVkJRVTBzWjBKQlFXZENMRWRCU1hSRExFOUJRVTl6WlN4RlFVbFNMRTFCUVc5Q0xHbENRVUZTZUZVc1JVRkRTbXhQTEV0QlFVdHBSU3hMUVVGTkxGZEJRMnBDTm1Vc1JVRkJVMHdzU1VGQlMzcHBRaXhMUVVGTmEwOHNTMEZKWm0xVUxFVkJRVkZ5YUVJc1MwRkJUU3hUUVVGVmEwZ3NSMEZET1VJc1NVRkJTWGRpTEVWQlQwb3NSMEZCUzNSbExGRkJRV3RDZVVJc1NVRkJWbkZDTEVWQlMxb3NXVUZCWTNKQ0xFdEJSR1EyWXl4RlFVRlBTU3hGUVVGVGNHWXNTVUZCUzFVc1JVRkJUVGhLTEVsQlJXNUNkMVVzVDBGTlRUZGpMRXRCUkdRMll5eEZRVUZQVHl4RlFVRlZOMlVzUlVGQlRUaEtMRWxCUldaM1ZTeFBRVWxTTEVWQlNVUXhhVUlzUzBGQlMybEZMRXRCUVUwc1YwRkhWalpsTEVWQlFWTk1MRWxCUVV0NmFVSXNTMEZCVFd0UExFVkJRVXRvU0N4TlFVVjRRaXhMUVVGTlFTeEZRVUZQTjBNc1ZVRkJWV2hDTEU5QlFWTXNSVUZCUnl4TlFVRk5MRWxCUnpkRFoyZENMRmRCUVZrc1UwRkJWVzVXTEVkQlEzSkNMRTlCUVU5c1R5eExRVUZMYVVVc1MwRkJUU3hYUVVOcVFqWmxMRVZCUVZOcVJpeFBRVUZSTjJRc1MwRkJUV3RQTEZGQlRURkNia3dzUlVGQlQyMURMRTlCUVZFc1EwRkRaSE5aTEUxQlFVOHNVMEZCVlhCYUxFVkJRVTE2UXl4RlFVRk5LMmRDTEVkQlF6VkNMRWxCUVVsc1JpeEZRVVZLTEVkQlFVdHdXaXhGUVZsS0xFOUJXRUY2UXl4SFFVRlRRU3hIUVVGUkxFMUJRVk1zVVVGRE1VSTJZaXhGUVVGUmNVWXNSVUZCVTI1bUxFbEJRVXRWTEVWQlFVMTZReXhIUVVkMlFpdG5RaXhMUVVORmJFWXNSMEZCVXpkWUxFMUJRVTFETEZGQlFWTTRZeXhIUVVNM1FteEdMRVZCUVZGeFJpeEZRVUZUZUVJc1QwRkJVV3BrTEVWQlFVMTZReXhGUVVGTmIwSXNSVUZCVHpKRUxGVkJRVmRuWXl4SlFVVjJSR3hHTEVWQlFVMDFZeXhMUVVGTk9HaENMRWxCUjFCc1JpeEhRVUZUTEVsQlNXeENaMGNzVVVGQlV5eFRRVUZWY0dZc1JVRkJUWHBETEVkQlEzaENRU3hGUVVGUFFTeEhRVUZSTEV0QlJXWXNTVUZCU1RaaUxFVkJRVkY2WVN4RlFVRlBlV0VzVFVGQlQzQmFMRVZCUVUxNlF5eEhRVU12UWpob1FpeEZRVUZqYWtjc1JVRkJUVzVoTEU5QlEzQkNTQ3hGUVVGTGMyRXNSVUZCVFhCUUxGRkJRMWh6Vml4RlFVRlJNMmRDTEVWQlFVODBaMElzV1VGQllYWm1MRVZCUVUxNlF5eEhRVTEyUWl4bFFVRlFkVUlzU1VGRFNrRXNSVUZCUzNOaExFVkJRVTF3VUN4UlFVTlljVllzUzBGSFNYWm5RaXhKUVVsVkxFOUJRVlIyUWl4SFFVTktObUlzUlVGQlRUZE1MRkZCUVZNc2NVSkJTVlFyVWl4RlFVRk5SU3hMUVVOaU1XZENMRVZCUVVkNlF5eExRVUZOTWtRc1JVRndRa1lzVjBGRFRuSkNMRVZCUVU5NVowSXNVVUZCVTNCbUxFVkJRVTE2UXl4SlFXMUNSaXRvUWl4TFFVZG9Ra1FzUjBGQlpVTXNSMEZEY0VKQkxFVkJRVTAzVGl4TlFVRk5Oa2dzVVVGTFpHbEhMRmxCUVdFc1UwRkJWWFptTEVWQlFVMTZReXhIUVVNMVFpeEpRVUZKZFUwc1JVRkJUWFpOTEVWQlFVOHNZVUZEYWtJc1QwRkJUMnRvUWl4RlFVRlRibVlzU1VGQlMxVXNSVUZCVFRoS0xFbEJRVk15VlN4RlFVRlRlRUlzVDBGQlVXcGtMRVZCUVUwNFNpeEZRVUZMTEVOQlF5OUVNa2dzVFVGQlR6bFRMRVZCUVU5bllTeFZRVUZYTEdWQlFXZENka0lzU1VGQlN5eFhRVU0zUTNGSUxFVkJRVk5vUml4UFFVRlJlbG9zUlVGQlRTeERRVUZGZWtNc1JVRkJUeXhSUVVGVGRVMHNWMEZOTjBOdVRDeEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVU5xUW5OWkxFMUJRVThzVTBGQlZUZGlMRVZCUVUwclowSXNSMEZEZEVJc1NVRkJTVzFDTEVWQlFWTXNSVUZSWWl4TlFVNXhRaXhwUWtGQlZHeHBRaXhKUVVOWUsyZENMRVZCUVU4dlowSXNSVUZEVUVFc1JVRkJUeXhMUVVOUWEybENMRXRCUjBsNFppeFZRVUZWYUVJc1QwRkJVM2RuUWl4RlFVTm9RamxuUWl4RlFVRlBlV0VzVFVGQlQzaGtMRXRCUVUwc1IwRkJTekpDTEZGQlIycENhMFVzU1VGQlZEWmpMRVZCUTA0eGFVSXNTMEZEUVVFc1MwRkJTMmxGTEV0QlFVMHNWMEZEVml4SlFVRkpkVm9zUlVGQlVYcGhMRVZCUVU5NVlTeE5RVUZQZUdRc1MwRkJUVEpDTEVWQlFVMHJaMElzUjBGSGRFTXpaaXhGUVVGUE5HZENMRmxCUVdFemFrSXNTMEZCVFRKQ0xFZEJSVm9zVDBGQlZFRXNSMEZCWjBNc1pVRkJaalppTEVWQlFVOHNTVUZETlVKNllTeEZRVUZQZVdkQ0xGRkJRVk40YWtJc1MwRkJUVEpDTEUxQlNURkNObWhDTEZGQlFWTXNVMEZCVlRkb1FpeEhRVU5zUWl4UFFVRlBNMElzUzBGQlMybEZMRXRCUVUwc1YwRkRha0pzUWl4RlFVRlBlV2RDTEZGQlFWTjRha0lzUzBGQlRUSkNMRTFCUjNoQ2JXbENMRmRCUVZrc1UwRkJWVzVwUWl4SFFVTnlRaXhQUVVGUE0wSXNTMEZCUzNka0xFMUJRVTgzWWl4SFFVRlJMRXRCUVUwc1MwRkxiRU5wWWl4UlFVRlRMRk5CUVZWcVlpeEZRVUZOVEN4SFFVTjRRaXhKUVVGSmIxQXNSVUZEU0hGVUxFVkJRVkVzUlVGRFVrTXNSVUZCVVdwb1FpeEZRVUZQYTJJc1YwRkRabkJOTEVWQlFWYzNVaXhMUVVOWWJVTXNSVUZCU1c1RExFdEJRVXR4UkN4UFFVTlViVm9zUlVGQlZTeGhRVU5EZFVnc1IwRkRWRU1zUlVGQlRYWkZMRmxCUVdFMVRpeEZRVUZWTEVOQlFVVkJMRXRCVld4RExFbEJUbkZDTEdsQ1FVRlViRkVzU1VGRFdFd3NSVUZCVFVzc1JVRkRUa0VzVDBGQlQydEZMRWRCUlZKc1JTeEZRVUZQUVN4SFFVRlJMRXRCUlZCUkxFMUJRMUIxVHl4RlFVRk5iVk1zUlVGQlUyNW1MRWxCUVV0dFR5eEZRVUZWTVZBc1IwRkJTMUlzUlVGQlR5eG5Ra0ZET1VJclR5eEZRVUZKYlVZc1VVRkRabXRQTEVsQlEwRnlWQ3hGUVVGSmJVWXNUVUZCVFRKR0xFbEJRVXRuUWl4SlFVbHFRaXhQUVVSQlFTeEpRVU5QZDBnc1JVRkJUWEJJTEZGQlFWTjBZaXhOUVVkNFFpeEpRVUZKTW1sQ0xFVkJRVThzYzBOQlFUQkRReXhQUVVWcVJFTXNSMEZCVlN4SlFVRkpjbUVzVDBGQlVTeHBRa0ZCYlVKdFlTeEZRVUZQTEdOQlFXVXNTMEZITDBSSExFZEJRVmtzUTBGQlJTeE5RVUZQTEZGQlFWTXNVMEZCVlN4UlFVVjRRekZWTEVkQlFXdENPVkFzUlVGQlV6aFFMR2RDUVVreFFqSlZMRWRCUVdFc1UwRkJWV3BuUWl4SFFVTjZRaXhQUVVGUGNrSXNSVUZCVDNsR0xGTkJRVlZ3UlN4RlFVRkxOa2tzWTBGQlpUZEpMRWxCUlRkRGEyZENMRWRCUVZjc1EwRkJSVUVzVlVGQlZTeEhRVTl1UWpWVkxFZEJRV2RDTmxVc1kwRkRjRUpHTEVkQlFXRXNVMEZCVldwblFpeEhRVU4wUWl4UFFVRlBja0lzUlVGQlQzbEdMRk5CUVZWd1JTeEZRVUZMTmtrc1kwRkJaVGRKTEVsQlF6TkRRU3hGUVVGTGJXZENMRmxCUVdGRUxFMUJRV1ZzWjBJc1JVRkJTelpKTEdkQ1FVY3hReXhKUVVGSmRWZ3NSMEZCY1VJc1UwRkJWWEJuUWl4RlFVRk5iVXNzUjBGUGRrTXNUVUZCT0VJc1ZVRklPVUp1U3l4RlFVRlBiVXNzUjBGQlRXNUxMRWRCUjBSeFowSXNUVUZCVFVNc1UwRkRUU3hMUVVGMlFuUm5RaXhGUVVGTGNXZENMRTFCUVUxRExGTkJUVmhNTEVkQlFWbHFaMElzU1VGRmMwSXNVMEZCYkVOeVFpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3haUVV0eVFpeFRRVUZUZDJkQ0xFZEJRVmQ0WjBJc1JVRkJUWFZsTEVWQlFVMXJReXhGUVVGWlF5eEhRVU16UXl4SlFVRkpReXhGUVVGVlF5eEZRVU5pUXl4RlFVRm5RaXhIUVVOb1FrTXNSVUZCWlVvc1JVRkRaQ3hYUVVORExFOUJRVTlCTEVWQlFVMXFWeXhQUVVWa0xGZEJRME1zVDBGQlR6bE1MRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOZFdVc1JVRkJUU3hMUVVWcVEzZERMRVZCUVZWRUxFbEJRMVpGTEVWQlFVOVFMRWRCUVdOQkxFVkJRVmtzUzBGQlV6bG9RaXhGUVVGUGMybENMRlZCUVZjeFF5eEhRVUZUTEVkQlFVc3NUVUZITVVVeVF5eEZRVUZuUW14b1FpeEZRVUZMTjBNc1YwRkRiRUozUWl4RlFVRlBjMmxDTEZWQlFWY3hReXhKUVVGdFFpeFBRVUZVZVVNc1NVRkJhMEpFTEVsQlEyaEVhRUlzUjBGQlVXcFlMRXRCUVUxdVN5eEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUWFZsTEVsQlJXeERMRWRCUVVzeVF5eEhRVUZwUWtFc1JVRkJaU3hMUVVGUlJpeEZRVUZQTEVOQldXNUVMRWxCVWtGRUxFZEJRVzlDTEVWQlIzQkNReXhGUVVGUFFTeEhRVUZSUlN4RlFVRmxMRWRCUnpsQ1FTeEhRVUZwUWtnc1IwRkJWeXhGUVVWd1FrWXNTMEZKVUd4cFFpeEZRVUZQTUdoQ0xFMUJRVTl5WjBJc1JVRkJUWFZsTEVWQlFVMHlReXhGUVVGblFrWXNTVUZEYmtNc1JVRkJTVW9zU1VGQldTeEhRVUZOUVN4RlFVRlJSU3hKUVVGcFFrTXNSMEZCVnl4TlFVRlhMRWxCUXpORlJpeEZRVUZuUWl4SFFVVnFRa3NzUjBGQlowTk9MRVZCU1dwRFRTeEhRVUZuUXl4RlFVTm9RM1pwUWl4RlFVRlBNR2hDTEUxQlFVOXlaMElzUlVGQlRYVmxMRVZCUVUweVF5eEZRVUZuUWtZc1IwRkhNVU5RTEVWQlFXRkJMRWRCUVdNc1IwRm5RalZDTEU5QllrdEJMRWxCUTBwVExFZEJRV2xDUVN4SlFVRnJRa2dzUjBGQlZ5eEZRVWM1UTBvc1JVRkJWMFlzUlVGQldTeEhRVU4wUWxNc1IwRkJhMEpVTEVWQlFWa3NSMEZCVFN4SFFVRk5RU3hGUVVGWkxFbEJRM0pFUVN4RlFVRlpMRWRCUTFSRExFbEJRMHBCTEVWQlFVMU5MRXRCUVU5QkxFVkJRMkpPTEVWQlFVMDNVU3hOUVVGUmNWSXNSVUZEWkZJc1JVRkJUUzltTEVsQlFVMW5aMElzU1VGSFVFRXNSVUZKVWl4SlFVRkpVU3hIUVVGdlFpeEhRVVY0UWl4VFFVRlRReXhIUVVGdFFuQm9RaXhIUVVNelFpeEpRVUZKZFZRc1JVRkRTSHBXTEVWQlFVMXJReXhGUVVGTE5ra3NZMEZEV0dJc1JVRkJWMmhKTEVWQlFVdG5TU3hUUVVOb1FuTlpMRVZCUVZWaExFZEJRVzFDYmxvc1IwRkZPVUlzVDBGQlMzTlpMRWxCU1V3dlRTeEZRVUZQZWxZc1JVRkJTWFZxUWl4TFFVRkxPV2xDTEZsQlFXRlVMRVZCUVVsSkxHTkJRV1U0U2l4SlFVTm9SSE5aTEVWQlFWVXphRUlzUlVGQlR6Um9RaXhKUVVGTGFFNHNSVUZCVFN4WFFVVTFRa0VzUlVGQlN5OVZMRmRCUVZkRExGbEJRV0U0VlN4SFFVVmFMRk5CUVZvclRTeEpRVU5LUVN4RlFVRlZMRk5CUlZoaExFZEJRVzFDYmxvc1IwRkJZWE5aTEVWQlJYcENRU3hIUVVkU0xGTkJRVk5uUWl4SFFVRlZOMVFzUlVGQlZUaFVMRWRCVHpWQ0xFbEJUa0VzU1VGQlNXcENMRVZCUVZOMFowSXNSVUZEV25kb1FpeEZRVUZUTEVkQlExUjBTeXhGUVVGUkxFVkJRMUpxV1N4RlFVRlRkMDhzUlVGQlUzaFBMRTlCUjFocFdTeEZRVUZSYWxrc1JVRkJVV2xaTEV0QlEzWkNiRmdzUlVGQlQzbE9MRVZCUVZWNVNpeEpRVU5PYlVvc1VVRkpXRU1zUlVGQlZYUm5RaXhGUVVGTGNXZENMRTFCUVUxRExGRkJRMmhDYVVJc1IwRkxZU3hUUVVGYWFrSXNTVUZEU210Q0xFVkJRVkYwU3l4SFFVRlZkVWdzUlVGQlUyNW1MRWxCUVV0VkxFVkJRVTBzV1VGQlpTeExRVU12UTNkb1FpeEZRVUZSZEVzc1MwRkRZbXhZTEVWQlFVdHhaMElzVFVGQlRVTXNVVUZCVlN4TFFVZExMRXRCUVhaQ2RHZENMRVZCUVV0eFowSXNUVUZCVFVNc1UwRkJhMEpHTEVkQlFXOUNjR2RDTEV0QlEzSkVkMmhDTEVWQlFWRjBTeXhIUVVGVmEwc3NSMEZCYlVKd2FFSXNTMEZIY2tJc1UwRkJXbk5uUWl4SlFVTkthMElzUlVGQlVYUkxMRWRCUVZVc1QwRkhiRUoxU0N4RlFVRlRTaXhKUVVGTGNtVXNSVUZCVFN4VlFVRlhjMmRDTEV0QlRXeERMRWxCUVUxd1NpeEZRVUZSTEVWQlFVZEJMRVZCUVZGcVdTeEZRVUZSYVZrc1NVRkRVaXhOUVVGdVFuTkxMRVZCUVZGMFN5eExRVU5hZWtvc1JVRkJWWGxLTEVkQlFWRnRTaXhOUVVGTlF5eFJRVUZWYTBJc1JVRkJVWFJMTEVsQlNUVkRMRTlCUVU5NlNpeEZRVWRTT1U4c1JVRkJUMGNzUjBGQlIyZERMRTlCUVZFc1EwRkRha0o1WjBJc1MwRkJUU3hYUVVOTUxFOUJRVTlFTEVkQlFWVXhiRUlzVFVGQlRTeEpRVVY0UWpac1FpeExRVUZOTEZkQlEwd3NUMEZCVDBnc1IwRkJWVEZzUWl4UFFVVnNRamhzUWl4UFFVRlJMRk5CUVZVeFNDeEhRVU5xUWl4TlFVRnpRaXhyUWtGQlZrRXNSVUZEU2tFc1JVRkJVWEJsTEV0QlFVc3liRUlzVDBGQlV6TnNRaXhMUVVGTE5teENMRTlCUnpWQ04yeENMRXRCUVV0cFJTeExRVUZOTEZkQlExcDFaMElzUjBGQmIwSjRhMElzVFVGRGVFSXJReXhGUVVGUkwwTXNUVUZCVHpKc1FpeFBRVVZtTldsQ0xFVkJRVkV2UXl4TlFVRlBObXhDTEZsQlMyNUNMRWxCVlVWRkxFZEJRMEZ3Vml4SFFWaEZjVllzUjBGQmFVSXNkMEpCUldwQ1F5eEhRVUZYTEdsRFFVVllReXhIUVVGakxIRkRRVTFvUWtnc1IwRkVZMjV0UWl4RlFVRlRkVzFDTEhsQ1FVTlNlR3BDTEZsQlFXRXZReXhGUVVGVE1FTXNZMEZCWlN4VFFVTndSSEZQTEVkQlFWRXZVU3hGUVVGVE1FTXNZMEZCWlN4VlFVMHpRa2NzWVVGQll5eFBRVUZSTEZOQlF6VkNhMDhzUjBGQlRXeFBMR0ZCUVdNc1ZVRkJWeXhYUVVNdlFtdFBMRWRCUVUxc1R5eGhRVUZqTEU5QlFWRXNTMEZGTlVKemFrSXNSMEZCU1hCcVFpeFpRVUZoWjA4c1NVRkpha0oyVUN4RlFVRlJaMnhDTEZkQlFXRk1MRWRCUVVsTkxGZEJRVmNzUjBGQlQwRXNWMEZCVnl4SFFVRlBhbE1zVlVGQlZYTkNMRkZCU1haRmNWRXNSMEZCU1c1V0xGVkJRVmtzZVVKQlEyaENlRkFzUlVGQlVXdHNRaXhwUWtGQmJVSlFMRWRCUVVsTkxGZEJRVmNzUjBGQlQycFRMRlZCUVZWM1JpeGhRVXN6UkcxTkxFZEJRVWx1Vml4VlFVRlpMRzlDUVVOb1FuaFFMRVZCUVZGdGJFSXNVMEZCVjFJc1IwRkJTVE5TTEZWQlMzaENMRWxCUVVsdlV5eEhRVUZWTEVOQlMySkRMRTFCUVU4c1EwRkJSU3hGUVVGSExGVkJRVmNzV1VGRGRrSkRMRWxCUVVzc1EwRkJSU3hGUVVGSExHOUNRVUZ4UWl4MVFrRkRMMEpETEVkQlFVa3NRMEZCUlN4RlFVRkhMR2xDUVVGclFpeHZRa0ZETTBKRExFZEJRVWtzUTBGQlJTeEZRVUZITEhGQ1FVRnpRaXg1UWtGRkwwSkRMRk5CUVZVc1EwRkJSU3hGUVVGSExFZEJRVWtzUzBGWmNFSXNVMEZCVTBNc1IwRkJVVGRxUWl4RlFVRlRkMDRzUjBGSmVrSXNTVUZCU1ROTkxFVkJXVW9zVDBGVVEwRXNUMEZFTkVNc1NVRkJha05pTEVWQlFWRnZTeXh4UWtGRFluQkxMRVZCUVZGdlN5eHhRa0ZCYzBKdlJDeEhRVUZQTEZWQlJVa3NTVUZCTjBKNFRpeEZRVUZSTkVzc2FVSkJRM0JDTlVzc1JVRkJVVFJMTEdsQ1FVRnJRalJETEVkQlFVOHNTMEZIYWtNc1VVRkhUVFZMTEVsQlFWSTBTeXhIUVVGeFFrRXNSMEZCVDNKRkxFVkJRVlZ1U2l4RlFVRlRkMDRzUjBGRE5VTXhUaXhGUVVGUFowSXNUVUZCVHl4RFFVRkZaQ3hIUVVGWFlTeEhRVWMxUWtFc1JVRkxVaXhUUVVGVGFXcENMRWRCUVdWc2FrSXNSVUZCVDIxcVFpeEhRVWs1UWl4SlFVaEJMRWxCUVVrM2EwSXNSVUZCU1N4RlFVTlFhVm9zUlVGQlNYWllMRVZCUVUxU0xFOUJSVWhzUWl4RlFVRkphVm9zUlVGQlIycGFMRWxCUTJRd1owSXNSVUZCVTBvc1NVRkRValZsTEVWQlFVOHhRaXhIUVVOUUxHTkJRME0yYTBJc1IwRkJaVzVGTEVWQlFWTnVaaXhKUVVGTGMycENMRVZCUVdFM2EwSXNSMEZCU3l4bFFURkRia1J4YTBJc1IwRkJVVk1zVFVGQlVWUXNSMEZCVVZVc1RVRkJVVllzUjBGQlVWY3NVMEZCVjFnc1IwRkJVVmtzVVVGQlZWb3NSMEZCVVVNc1RVRkROMFZFTEVkQlFWRmhMRWRCUVV0aUxFZEJRVkZKTEVkQlIyWjRiRUlzUlVGQlVXMXNRaXhUUVVOaVF5eEhRVUZSWXl4VFFVRlhaQ3hIUVVGUlJDeFBRVUZUTEVOQlFVVXNSVUZCUnl3clFrRkJaME1zWTBFeVF6RkZMRWxCUVVsNllpeEhRVUZSTEZsQlJWb3NVMEZCVTNsakxFZEJRV1V4YWtJc1JVRkJUMW9zUlVGQlUzVnJRaXhGUVVGVFF5eEZRVUZYUXl4SFFVOHpSQ3hKUVU1QkxFbEJRVWwwYWtJc1JVRkJUWE5OTEVWQlFVdEVMRVZCUVV0cldDeEZRVUZOUXl4RlFVRlZPV2xDTEVWQlEyNURLMmxDTEVWQlFWYzFhMElzUlVGQlVXdHFRaXg1UWtGRGJrSXlRaXhGUVVGUkxFZEJRMUl6YkVJc1JVRkJTU3hGUVVOS2FWb3NSVUZCU1haWUxFVkJRVTFTTEU5QlJVaHNRaXhGUVVGSmFWb3NSVUZCUjJwYUxFbEJSMlFzU1VGR1FXbERMRVZCUVU5UUxFVkJRVTh4UWl4TFFVVlJMRWxCUVZScFF5eEZRVWRhTEVkQlFYZENMRmRCUVc1Q2RFSXNSVUZCVVhOQ0xFZEJTVnB5UWl4RlFVRlBaMElzVFVGQlR5dHFRaXhGUVVGUE1XcENMRVZCUVVzM1F5eFRRVUZYTEVOQlFVVTJReXhIUVVGVFFTeFJRVWN4UXl4SFFVRk5NRWNzUjBGQlRUQkRMRXRCUVUxd1NpeEhRVWxzUWl4RFFWVk9MRWxCVkVGelRTeEZRVUZOUVN4SFFVRlBiVmdzUlVGQlUyeHNRaXhaUVVGaFRTeEZRVUZSV0N4alFVRmxMRkZCUnpGRWJVOHNSMEZCVVhkV0xFZEJRVk12V1N4TFFVRk5PVWtzU1VGQlZTeERRVUZGTEVkQlFVa3NTMEZCVVN4SFFVRkpiMFFzWTBGRGJrUnRaMElzUlVGQlQyNUNMRWRCUVZNdlZpeEpRVUZUSzFZc1IwRkJVVXNzVTBGRGFrTnVWeXhGUVVGSlJTeFZRVUZaSzFjc1JVRkJUU3hIUVVGTk5XdENMRVZCUVU5bmJFSXNZMEZCWlROcVFpeEhRVUZUZFdwQ0xFVkJRVTBzUjBGSGFrVTNhVUlzUlVGQlNUWnBRaXhGUVVGTkxFZEJRMFkzYVVJc1MwRkRVRFJNTEVWQlFVMUJMRVZCUVVrd1JDeFZRVXRZY2xJc1JVRkJUMmRDTEUxQlFVOHJha0lzUlVGQlQzQllMRVZCUVVsdVJTeGhRVWQ2UW0xRkxFVkJRVTF0V0N4RlFVRlRkbFlzV1VGSFdFUXNXVUZCWXl4UlFYcENiRUo1Vml4RlFVRk5iRzVDTEV0QlFVMXhReXhGUVVGUksydENMR1ZCUVdkQ05XcENMRWxCYTBOMlF5eEpRVWhCZVdwQ0xFVkJRVk40Vml4WlFVRmpMRWRCUlhaQ2JGRXNSVUZCU1N4RlFVTk5hVU1zUlVGQlR6QnFRaXhGUVVGUE0yeENMRTFCUjNaQ0xFZEJRVXR6YkVJc1IwRkJZVEZyUWl4RlFVRlBOa1FzVVVGQlUzaERMRVZCUVUxeGFrSXNTVUZCWlN4RlFVTnFSRU1zUjBGRFNrRXNSVUZCVVRsdFFpeExRVUZOZDBRc1VVRm5RbWhDTEVkQldFRjNha0lzUlVGQlYzWkVMRWRCUVZscVowSXNSMEZIZGtKelRTeEZRVUZOYjFjc1IwRkJVV1VzUlVGQlUyeHNRaXhaUVVGaGVVSXNSMEZCVVN4VlFVZDJRM2RxUWl4SFFVTktZaXhIUVVGbGNsY3NSMEZKV0RoWExFVkJSVW9zU1VGRVFURnBRaXhGUVVGSkxFVkJRMDFXTEVWQlFVOXpUU3hGUVVGTE5Vd3NUVUZEYUVKdmFFSXNSMEZCV1RGWkxFdEJRVTF3U2l4RlFVRkxla01zVFVGQlVTeExRVU51UXpac1FpeEZRVUZSTlcxQ0xFdEJRVTEzUkN4SFFVMXNRaXhQUVVGUGVXcENMRVZCU1ZJc1NVRkJTVWtzUjBGQmFVSXNjMEpCUlhKQ0xGTkJRVk5ETEV0QlExSXNUMEZCVHl4RlFVZFNMRk5CUVZORExFdEJRMUlzVDBGQlR5eEZRVk5TTEZOQlFWTkRMRWRCUVZsb2EwSXNSVUZCVFhwRExFZEJRekZDTEU5QlFWTjVReXhKUVUxV0xGZEJRME1zU1VGRFF5eFBRVUZQZUVVc1JVRkJVM2xXTEdOQlEyWXNUVUZCVVdkVUxFdEJWRkZETEV0QlFYRkRMRlZCUVZRemJVSXNSMEZaTDBNc1UwRkJVelJ0UWl4SFFVRkpibXRDTEVWQlFVMXZhMElzUlVGQlQzaHNRaXhGUVVGVk1HWXNSVUZCVFhobUxFVkJRVWwxYkVJc1IwRkROME1zU1VGQlNVTXNSVUZCVVM5dFFpeEZRVWRhTEVkQlFYTkNMR2xDUVVGV05tMUNMRVZCUVhGQ0xFTkJVMmhETEVsQlFVMDNiVUlzU1VGT2JVSXNhVUpCUVdKeFFpeEpRVWRZTUdZc1JVRkJUMEVzUjBGQlVURm1MRVZCUTJaQkxFOUJRVmMyUXl4SFFVVkZNbWxDTEVWQlEySkVMRWRCUVVsdWEwSXNSVUZCVFhwRExFVkJRVTF4UWl4RlFVRlZNR1lzUlVGQlRUaEdMRVZCUVU4M2JVSXNSMEZCVVRodFFpeEhRVVZvUkN4UFFVRlBjbXRDTEVWQmMwSlNMRWRCYmtKaExFMUJRVkp6WlN4SFFVRnpRaXhOUVVGT2VHWXNSMEZIY0VKQkxFVkJRVXRHTEVWQlEwd3daaXhGUVVGUE1XWXNUMEZCVnpaRExFZEJRMFFzVFVGQlRqTkRMRWxCUTJNc2FVSkJRV0pHTEVkQlIxaEZMRVZCUVV0M1ppeEZRVU5NUVN4UFFVRlBOMk1zU1VGSlVETkRMRVZCUVV0M1ppeEZRVU5NUVN4RlFVRlBNV1lzUlVGRFVFRXNUMEZCVnpaRExFdEJSMFFzU1VGQlVETkRMRVZCUTBwQkxFVkJRVXRwYkVJc1VVRkRReXhKUVVGTmFteENMRVZCUTFvc1QwRkJUMnRDTEVWQlpWSXNUMEZhWVN4SlFVRlNjV3RDTEVsQlEwcERMRVZCUVZONGJFSXNSMEZEVkVFc1JVRkJTeXhUUVVGVmVXeENMRWRCU1dRc1QwRkVRVFZzUWl4SlFVRlRObXhDTEVsQlFVdEVMRWRCUTFCRUxFVkJRVTh2YmtJc1RVRkJUMWdzUzBGQlRYRkZMR0ZCU1hwQ09FTXNTMEZCVDNWb1FpeEZRVUZQZG1oQ0xFOUJRVlYxYUVJc1JVRkJUM1pvUWl4TFFVRlBjRVVzUlVGQlQyOUZMRk5CUlRGREwwTXNSVUZCUzBnc1MwRkJUU3hYUVVOcVFteENMRVZCUVU4MGJFSXNUVUZCVFc1T0xFbEJRVXQ0WWl4TFFVRk5kMjlDTEVWQlFVOTBiRUlzUlVGQlNYZG1MRVZCUVUweFppeExRU3RoTTBNc1UwRkJVelpzUWl4SFFVRm5RblJoTEVWQlFVazFUU3hGUVVGTmVXMUNMRWRCUnpWQ1FTeEhRVkZPZGtZc1JVRkJVMG9zU1VGQlMyeFZMRVZCUVVrMVRTeEhRVUZOTEVkQlEzaENiMElzUlVGQlR6UnNRaXhOUVVGTmJrNHNTVUZCUzJwT0xFVkJRVWsxVFN4RlFVRk5MRU5CUXpOQ05rNHNWMEZCVnl4RlFVTllaQ3hSUVVGVExGTkJRVlZwWVN4SFFVTnNRaXhKUVVGSlJ5eEZRVUZWZUZZc1JVRkRZbmxXTEVWQlFWRnNSeXhGUVVGVGJtWXNTVUZCU3pGRUxFdEJRVTB5UWl4SFFVVTNRaXhIUVVGNVFpeEZRVUZzUW1kdVFpeEZRVUZOU3l4WFFVRnRRbWh3UWl4TFFVRk5Na0lzU1VGTGNrTXNSMEZCVFc5dVFpeEZRVUZOTVd4Q0xGRkJkVU5GVGl4RlFVRlBOR3hDTEUxQlFVMTJTaXhSUVVGVGVtUXNTVUZCVlN4SlFVRkxjMjVDTEdOQlEyeEVUaXhGUVVGTlR5eDFRa0Z5UWs0c1IwRmtRVWdzUlVGQlVYcHZRaXhGUVVGTlJ5eExRVUZOTkVRc1YwRkRjRUozWlN4RlFVRlRTaXhKUVVGTGVtbENMRXRCUVUweVFpeEZRVUZOYjI1Q0xFZEJTekZDUkN4RlFVRlhWaXhGUVVGWmNHOUNMRXRCUVUweVFpeEhRVU0zUWpOQ0xFdEJRVTB5UWl4TFFVVkViMjVDTEV0QlJFeDZWaXhGUVVGVGRWQXNSVUZCVTI1bUxFbEJRVXN4UkN4TFFVRk5Na0lzUzBGRFNtMXVRaXhGUVVONFFtcEhMRVZCUVZOS0xFbEJRVXQ2YVVJc1MwRkJUVEpDTEVkQlFVMHNSMEZGTVVJeVVpeEZRVUZUTEVkQlJVeDVWaXhKUVVGVmVsWXNSVUZYWkN4UFFWSkJjVllzUlVGQlRWRXNNa0pCUTA1U0xFVkJRVTFUTEdsQ1FVOURPVllzUjBGQlZVRXNSVUZCVDNCTkxGZEJaV1kyYUVJc1JVRkJUVEZzUWl4VFFVZHFRbmRtTEVWQlFWTktMRWxCUVV0NmFVSXNTMEZCVFRKQ0xFVkJRVTBzUTBGRGVrSjFSaXhOUVVGUGJrVXNSVUZCVHpSc1FpeE5RVUZOVlN4UlFVbHVRblJ0UWl4RlFVRlBiVU1zVDBGQlVUWnFRaXhGUVVGUExFZEJRVXRvYlVJc1JVRkJUM1Z0UWl4TlFVRk5hRzFDTEZkQlEzaERlV3hDTEVWQlFVMTZiMElzVFVGQlR5eEhRVU5pVGl4UlFVdEdNbTlDTEVWQlFVMVJMSEZEUVM5Rk1FSjBha0lzU1VGQk4wSm5aQ3hGUVVGVGJtWXNTVUZCU3paTExFVkJRVWsxVFN4SlFVTjBRbTlDTEVWQlFVODBiRUlzVFVGQlRXNU9MRWxCUVV0cVRpeEZRVUZKTlUwc1JVRkJUWFZ0UWl4SlFUVmhMMEp1YkVJc1JVRkJUelJzUWl4TlFVRlJMRU5CUldSdWNFSXNUMEZCVVN4SFFVVlNaMk1zU1VGQlN5eFRRVUZWY0Znc1JVRkJUVzlyUWl4RlFVRlBPVm9zUlVGQlUyZFZMRVZCUVUweFppeEhRVVV4UXl4SlFVRkpkVzFDTEVWQlFXRkRMRVZCUVdFNVdTeEZRVU0zUWl0WkxFVkJRVkZETEVWQlFVZERMRVZCUTFoMlN5eEZRVUZUZDBzc1JVRkJWV3B2UWl4RlFVRk5hMjlDTEVWQlFWbERMRVZCUTNKRFF5eEZRVUZYYkVnc1JVRkJVMjVtTEVsQlFVdFZMRWRCUnpGQ0xFZEJRVTByWkN4RlFVRlpMMlFzUjBGMVEyeENMRWxCYkVOTGMwc3NSVUZCVVVFc1ZVRkZXa0VzUjBGRVFUWmhMRVZCUVdNM1lTeEhRVU5SUVN4UlFVTjBRakZNTEVWQlFWZDFiVUlzUlVGQldYWnRRaXhWUVV0dVFrRXNSMEZEU2tRc1JVRkJUM2RPTEV0QlFVdE5MR2RDUVVGcFFtNUNMRWRCUVdsQ01VMHNSMEZKZWtNd1RDeEZRVUZSZGtnc1QwRkRZblZJTEVWQlFWRjJTQ3hMUVVGUGNFVXNSVUZCVDI5RkxGTkJTV1p6YVVJc1JVRkJVMDBzUlVGQlUwNHNWVUZEZWtKQkxFVkJRVk5OTEVWQlFWTk9MRTlCUVZOeWNFSXNUMEZCVHpSd1FpeFBRVUZSTEZGQlJXNURVaXhGUVVGalR5eEZRVUZUUlN4VlFVTTVRbFFzUlVGQlkwOHNSVUZCVTBVc1QwRkJVeXhUUVVGVmVtUXNSMEZKZWtNc1dVRkJlVUlzU1VGQldIcEtMRWRCUVRCQ1FTeEZRVUZQTkd4Q0xFMUJRVTExUWl4WlFVRmpNV1FzUlVGQlJUZExMRXRCUTNCRmIwSXNSVUZCVHpSc1FpeE5RVUZOZDBJc1UwRkJVM2h3UWl4TlFVRlBlVVFzUlVGQlRVTXNaMEpCUVdOM1FpeEpRVTF3UkRacVFpeEhRVVJCYkVJc1IwRkJWVUVzUjBGQlV5eEpRVUZMTTJJc1RVRkJUM0ZRTEVsQlFXMUNMRU5CUVVVc1MwRkRNVU0zV1N4UFFVTkdjVzFDTEV0QlJWQXZia0lzUlVGQlQyMXZRaXhIUVVSUWNGb3NSVUZCVFhWWUxFZEJRV1V2WVN4TFFVRk5jMklzUlVGQlQydENMRXRCUVZNc1NVRkRjRUlzUjBGRGRrSkhMRWRCUVdWdVdpeEZRVUZMTEVsQlFVOHNTVUZCUzNCS0xFMUJRVThzUzBGQlRYUkRMRTlCUjNaRGNrUXNTVUZMVG5sa0xFVkJRVlZ5WXl4RlFVRlBOR3hDTEUxQlFVMTJTaXhSUVVGVGVtUXNTVUZCVlN4SFFVY3hRMEVzUjBGQlUzRkNMRVZCUVZkdll5eEZRVUZSTmtvc1lVRkJaVGRLTEVWQlFWRm5UQ3hYUVVGamVtOUNMRVZCUjJwRmVXUXNSVUZCVlhKakxFVkJRVTgwYkVJc1RVRkJUWFpLTEZGQlFWTjZaQ3hKUVVGVkxFZEJSekZEWjI5Q0xFVkJRVmsxYlVJc1JVRkJUMjFETEU5QlFWRXNRMEZETVVKMlJDeExRVUZOUVN4RlFVTk9iVzlDTEZOQlFWVkJMRVZCUTFad1NDeExRVUZOUVN4RlFVTk9hRlVzVVVGQlUwRXNSVUZEVkhaSUxFdEJRVTExU0N4RlFVRlJka2dzUzBGRFpHNUZMRk5CUVZWQkxFVkJRMVkyU0N4aFFVRmpOMGdzUjBGQldVUXNSVUZCVHpaUExFdEJRVXN2UlN4TlFVRk5hRU1zWVVGQllUSkRMRXRCUVUxNFN5eEhRVU12UkhkTkxGVkJRVmR4WVN4RlFVRlhhbU1zUzBGQlRTeE5RVU14UWpKaUxFbEJSMHRMTEVWQlFWZElMRVZCUVZFNWJrSXNUMEZETVVKcGIwSXNSVUZCVjBnc1JVRkJVVGx1UWl4SFFVRlRMRWxCUTI1Q01HOUNMR05CUVdkQ0xFVkJSMjVDYWt3c1JVRkJVV3RNTEZGQlEybEVMRWxCUVRsRWJFd3NSVUZCVVd0TUxFMUJRVTAzY0VJc1MwRkJUVEpFTEVWQlFVMXpaU3hGUVVGTmJVZ3NSVUZCV1V3c1NVRkZka053YkVJc1JVRkJTekpNTEd0Q1FVTlVNMHdzUlVGQlN6Sk1MR2xDUVVGclFuQlBMRVZCUVUwMmJrSXNTVUZMTTBKd1N5eEZRVUZSTlVRc1RVRkRXalJFTEVWQlFWRTFSQ3hKUVVGSkwyRXNTMEZCVFRKRUxFVkJRVTExYkVJc1IwRkZiRUpCTEVWQlFWVnFZaXhSUVVGUmRrZ3NUMEZEZGtKM2FVSXNSVUZCVldwaUxGRkJRVkYyU0N4TFFVRlBkVWdzUlVGQlVYWklMRTlCU3psQ2JrVXNSVUZEU2pSdFFpeEZRVUZUTTJ0Q0xFOUJRVkV5YTBJc1JVRkJVMU1zWjBKQlFXbENMRVZCUVVkV0xFZEJSVGxEUXl4RlFVRlRhSEJDTEV0QlFVMHJiMElzUjBGSmFFSTFiVUlzUlVGQlR6UnNRaXhOUVVGTmJuQkNMRTlCUVZGdFF5eEpRVUZUTEVsQlRXaERhMk1zVDBGQlVTeFRRVUZWZWxvc1JVRkJUVzlyUWl4RlFVRlBPVm9zUlVGQlV6Rk1MRVZCUVZWMWJrSXNSMEZGYWtRc1NVRkJTWHBzUWl4RlFVRkhNR3hDTEVWQlFWYzVXaXhGUVVOcVFpdFpMRVZCUVZGRExFVkJRVWRETEVWQlExaDJTeXhGUVVGVGQwc3NSVUZCVldwdlFpeEZRVUZOYTI5Q0xFVkJRVmxETEVWQlEzSkRReXhGUVVGWGJFZ3NSVUZCVTBRc1VVRkJVM2hsTEVsQlFWVjVaU3hGUVVGVGJtWXNTVUZCUzFVc1IwRkZkRVFzUjBGQlRUSnNRaXhKUVVGbFRpeEZRVUZUVFN4RlFVRlRUaXhSUVVGMlF5eERRVTlCTEVsQlJFRkRMRWRCUkVGc1FpeEhRVUZWUVN4SFFVRlRMRWxCUVVzellpeE5RVUZQY1ZBc1NVRkJiVUlzUTBGQlJTeExRVU14UXpkWkxFOUJRMFp4YlVJc1MwRk5VQ3hIUVVwQkwyNUNMRVZCUVU5dGIwSXNSMEZFVUhCYUxFVkJRVTExV0N4SFFVRmxMMkVzUzBGQlRYTmlMRVZCUVU5clFpeExRVUZUTEVsQlEzQkNMRWRCUTNaQ1J5eEhRVUZsYmxvc1JVRkJTeXhKUVVGUExFbEJRVXR3U2l4TlFVRlBMRXRCUVUxMFF5eFBRVWQyUTNKRUxFVkJRVTRzUTBGbFFTeEpRVkpCZVdRc1JVRkJWWEpqTEVWQlFVODBiRUlzVFVGQlRYWktMRkZCUVZONlpDeEpRVUZWTEVkQlJURkRhVzlDTEVWQlFWZElMRVZCUkZnNWJrSXNSMEZCVTNGQ0xFVkJRVmR2WXl4RlFVRlJOa29zWVVGQlpUZEtMRVZCUVZGblRDeFhRVUZqZW05Q0xFbEJRM0JETEVkQlF6ZENLMDhzUlVGQlRVRXNSVUZCU3l4SlFVTldMRWxCUVVrMVJ5eFBRVUZSTEZWQlFWa3JaaXhGUVVGWGFtTXNTMEZCVFN4cFFrRkJiMElzVjBGSE9VUTBZeXhGUVVGWk1XeENMRVZCUVVrNGEwSXNSVUZCVTNadFFpeFBRVU5xUW5sQ0xFdEJRMUEyYTBJc1JVRkJXVU1zUlVGQlZUbHJRaXhKUVVWbWVXeENMRWRCUVdWVUxFbEJRV0ZJTEVWQlFWVkhMRlZCUTNwRGNHSXNSMEZCVjBFc1JVRkJVWFpJTEU5QlFWTjNhVUlzUlVGQlZYaHBRaXhOUVVOMFEzVktMRWxCUVU5QkxFVkJRVWxzUkN4TFFVRk5iV01zUlVGQlZXNWhMRmxCUXpOQ2VFMHNSMEZCV1VFc1NVRkJZVEp0UWl4RlFVRlZNMjFDTEZkQlEzaENMRTlCUVdKQkxFbEJRWEZDTW0xQ0xFVkJRVlV6YlVJc1dVRkRhRU0wYlVJc1JVRkJVek5yUWl4UFFVRlJTQ3hGUVVGSExFZEJSV1kyYTBJc1JVRkJWVE50UWl4VlFVTmtORzFDTEVWQlFWTlRMR2RDUVVWTWFrd3NSVUZCVVhaQ0xGRkJRMXAxUWl4RlFVRlJka0lzVDBGQlQzQmtMRXRCUVUweVJDeEZRVUZOZFd4Q0xFbEJUM3BDWVN4SlFVRmpXaXhGUVVGVGRtMUNMRk5CUTNKQ0sySXNSVUZCVVhGTUxGZEJRMnRFTEVsQlFTOUVja3dzUlVGQlVYRk1MRk5CUVZOb2NVSXNTMEZCVFRKRUxFVkJRVTE1YkVJc1JVRkJXVVVzUlVGQlUwVXNVMEZGYkVSc2JrSXNSVUZCVHpKdVFpeFpRVUZoZEcxQ0xFVkJRVTE2UXl4RlFVRk5iMjlDTEVWQlFWTkZMR1ZCUjI1RFVpeEZRVUZST1c1Q0xGTkJNVU5tTEVsQlFVMUJMRXRCUVZFNGJrSXNSVUZEWWpGdFFpeEZRVUZQTkd4Q0xFMUJRVTA1U3l4UFFVRlJlbG9zUlVGQlRYcERMRVZCUVU4MmJVSXNSVUZCVDJ0Q0xFZEJRVXRvWWl4RlFVRlRNVXdzUjBGQlZTeEhRVGhETDBSRUxFVkJRVTk1UkN4alFVRmxhV3BDTEVsQlF6RkNOVWNzUlVGQlUyaEdMRTlCUVZGNldpeEZRVUZOTEcxQ1FVbDZRaXRzUWl4VFFVRlZMRk5CUVZWUkxFZEJSVzVDTEVsQlFVbDRiMElzUlVGQlJ6SkRMRVZCUVVkb1FpeEZRVUZMTkZFc1JVRkJVMmxXTEVWQlFWZHBRaXhGUVVOc1EzSlhMRVZCUVU4c1NVRkJTVFZQTEUxQlFVOTBRaXhWUVVGVmFFSXNVVUZITlVKemJFSXNSVUZCVVRWc1FpeEZRVUZQTkd4Q0xFMUJRVTFyUXl4SlFVRkxSaXhIUVVVeFFtWXNSMEZEUXk5SExFVkJRVk51Wml4SlFVRkxNVVFzUzBGQlRTeFhRVUZqU1N4UFFVRlBOSEJDTEU5QlFWRXNUMEZETDBOeVFpeEZRVUZOYUc1Q0xFOUJRVlVzUjBGRGJrSjVaQ3hGUVVGVmNtTXNSVUZCVHpSc1FpeE5RVUZOZGtvc1VVRkJVM1ZLTEVWQlFVMW9ia0lzVDBGQlZTeEhRVXRxUkN4SlFVWkJORk1zUlVGQlRTeEhRVUZOYjFVc1JVRkZUbmh0UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWxyUXl4VlFVRlZhRUlzVDBGQlVXeENMRWxCUTJ4RGIxTXNSVUZCVFhCVExFZEJRVTFyUXl4VlFVRlhiRU1zUjBGTmVFSXNSMEZJUVhkdFFpeEZRVUZOYlVNc1pVRkJhVUk1Y1VJc1RVRkhiRUp2Wml4RlFVRlJNa3dzWTBGQk1rUXNTVUZCTlVNelRDeEZRVUZSTWt3c1dVRkJXWFJ4UWl4TFFVRk5WQ3hMUVVGTk1tOUNMRWRCUVRWRUxFTkJVMEVzU1VGS1FXbERMRVZCUVdVM2JrSXNSVUZCVHpSc1FpeE5RVUZOYVVJc1UwRkJVMjV3UWl4TFFVRk5WQ3hMUVVGTk1tOUNMRVZCUVU5cFFpeEhRVWQ0UkhwdVFpeEZRVUZKTEVkQlEwMTFVeXhGUVVGVmExY3NSVUZCWTNwdlFpeFJRVUZaZDIxQ0xFVkJRVTF4UXl4M1FrRkpia1FzU1VGSVFYSkRMRVZCUVUxelF5eGpRVUZuUW5aWExFVkJRVkYwVVN4TFFVVTVRbFVzUlVGQlNTeEhRVU5OTm10Q0xFVkJRVmxxVml4RlFVRlJhMVlzVTBGQlZUbHJRaXhSUVVOMFF6WnFRaXhGUVVGTmRVTXNhVU5CU1VSMlF5eEZRVUZOZDBNc1lVRkJjME1zU1VGQmVFSjRRaXhGUVVGVmJtRXNXVUZEYmtOdFdpeEZRVUZOZDBNc1YwRkJWek5rTEV0QlFVMXRZeXhGUVVGVmJtRXNZVUZGYWtOdFdpeEZRVUZOWjBJc1ZVRkJXVUVzUlVGRGJFSm9RaXhGUVVGTmFrY3NTMEZCVDJsSUxFVkJRVlZxU0N4VlFVdFdOMk1zUzBGSVlpOUNMRWxCUVZWbUxFVkJRVTgwYkVJc1RVRkJUWFpLTEZGQlFWTjFTeXhGUVVGVlJ5eFhRVUZqTEVsQlFVdEhMRkZCUXpWRVRpeEZRVUZWYW1Jc1UwRkJWUzlPTEUxQlFVOHJWQ3hGUVVGUmRGRXNTMEZCVFcxUkxFMUJSMVFzUzBGQmVrSnZWU3hGUVVGTmNsWXNUMEZCVTNoUUxFdEJRM0pDTm10Q0xFVkJRVTFUTEdsQ1FVTk9WQ3hGUVVGTlR5eHZRa0ZaV0N4UFFVcExPVW9zUlVGQlVXZE5MR05CUTFwb1RTeEZRVUZSWjAwc1lVRkJZVE54UWl4TFFVRk5WQ3hMUVVGTk1tOUNMRWRCUnpOQ1FTeEZRVUZOY2xZc1UwRkhaSE5YTEZOQlFWVXNVMEZCVldwQ0xFVkJRVTlwUWl4SFFVTXhRaXhKUVVGSmVtNUNMRVZCUVVkM2JrSXNSVUZCVnpOWUxFVkJRVXR4V2l4RlFVRnBRa01zUlVGRGRrTldMRVZCUVdVc1IwRkRabEFzUlVGQlowSlVMRVZCUVZOVExHTkJRM3BDZUdJc1JVRkJUVGhhTEVWQlFVMXVha0lzVDBGSFlpeEhRVUZMTm10Q0xFZEJTVXA0WWl4RlFVRkpkRTRzV1VGUFl5eFZRVUZtYjI1Q0xFVkJRVTFvYmtJc1RVRkJiMEpuYmtJc1JVRkJUVFZUTEZGQlFWVXNSMEZGTjBNc1MwRkJVV3hJTEVsQlFWRTNUeXhMUVVGTk5rOHNSVUZCVFVFc1JVRkJTV3BOTEZsQlFXTTFReXhMUVVrM1F5eEhRVUZ6UWl4SlFVRnFRalpQTEVWQlFVbDBUaXhYUVVGdlF5eFZRVUZtYjI1Q0xFVkJRVTFvYmtJc1QwRkJjVU1zU1VGQmFrSnJUaXhGUVVGSk1VTXNWVUZCYzBJc1EwRkhha1lzU1VGR1FXdG1MRVZCUVd0Q0xFZEJRMnhDUXl4RlFVRnRRaXhIUVVOaWJuQkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNXdHZRaXhGUVVGbGJHOUNMRk5CVFVVd1JDeEpRVUUxUW5sc1FpeEZRVVpNZEZvc1IwRklRVEpZTEVWQlFWbERMRVZCUVZWNmJrSXNTVUZIVG1Fc1UwRkJWeXhQUVVjeFFuTnZRaXhGUVVGclFuUmFMRWRCUVZFeVdDeEZRVUZWT1dVc1lVRkRia001U0N4RlFVRlJhVkFzUlVGQlMyaFRMRTFCUVU5ellpeE5RVUZQZWswc1NVRkJVeXhGUVVOd1F6bE1MRVZCUVU5M1RpeExRVUZOZVVJc1JVRkJTMmhUTEV0QlFVMHNTMEZCVFN4RFFVRkZOazhzU1VGQlVYaE1MRkZCUlhKRGFXOUNMRVZCUVd0Q2RGb3NTVUZEZEVKeFdpeEZRVUZuUW5weFFpeExRVUZOSzI5Q0xFZEJSMjVDTUVJc1JVRkJaMEpvYjBJc1VVRkRjRUoxYmtJc1JVRkJZV2h4UWl4TFFVRk5MRU5CUVVWM1JDeExRVUZOZVVzc1JVRkJTeXRoTEZOQlFWVjVRaXhKUVZrNVF5eFBRVXhCZUdNc1JVRkJUVGRQTEV0QlEwUnhjVUlzUlVGQlowSlVMRVZCUVZOMmJVSXNVVUZETjBKMWJrSXNSVUZCWVdoeFFpeExRVUZOTEVOQlFVVjNSQ3hMUVVGTmVVc3NSVUZCU3l0aExGTkJRVlZCTEVWQlFWTjBjRUlzVFVGQlR5dHdRaXhMUVVkd1JFOHNSMEZIVWxjc1VVRkJVeXhUUVVGVmJtMUNMRVZCUVUxdmJVSXNSMEZEZUVKd2NrSXNUMEZCVDIxcFFpeGxRVUZuUW5obUxFVkJRVTkxYlVJc1RVRkJUV2h0UWl4VlFVRlhPRUlzUlVGQlRTeERRVU53UkhGdFFpeFpRVUZaTEVWQlExcHFTaXhqUVVGakxFVkJSV1E1WlN4SlFVRkxja01zUlVGQldXMXhRaXhIUVVOb1FpeFhRVU5ETEVkQlFVdDRja0lzUzBGQlN6QnlRaXhqUVVOVUxFOUJRVTlHTEVWQlFVMTRja0lzUzBGQlN6QnlRaXhuUWtGSGNFSXNWMEZEUXl4SFFVRkxNWEpDTEV0QlFVc3dja0lzWTBGRFZDeFBRVUZQTVhKQ0xFdEJRVXN3Y2tJc1kwRkJaWFJ0UWl4SlFVazVRbkZrTEVsQlFVc3NVMEZCVlhaaUxFZEJRMlE1Unl4UFFVRlBiV2xDTEdWQlFXZENkbWxDTEV0QlFVMXZSaXhGUVVGTkxFTkJRMnhEY1cxQ0xGbEJRVmtzUlVGRFdtcEtMR05CUVdNc1JVRkRaRzFLTEZWQlFWVXNSVUZEVm5wclFpeE5RVUZQUVN4UlFVMVlNbXBDTEVsQlFVc3NVMEZCVldFc1IwRkRaQ3hQUVVGUFFTeEZRVUZsTTI5Q0xFVkJRVThyUXl4VFFVTTFRalJzUWl4RlFVTkJMRWxCUVVremIwSXNSVUZCVDNWdFFpeE5RVUZQYjBNc1NVRkhjRUowVFN4UlFVRlRMRU5CUTFKM1RTeExRVUZOTEVOQlIweERMRlZCUVZVc1IwRkZXRU1zVFVGQlR5eERRVWRPZUVJc1RVRkJUeXhUUVVGVk5VZ3NSMEZKYUVJc1NVRkJTVzVWTEVWQlFVdDJUeXhOUVVGUk1HbENMRVZCVjJwQ0xFOUJVa3R6UkN4SFFVRmxlRmtzUzBGQlRXVXNSVUZCUnpWTkxFOUJRelZDTkUwc1JVRkJSM1ZrTEU5QlFWTXhaaXhGUVVGVmJVTXNSVUZCU1N4VlFVY3hRbk5oTEVkQlFXZENkR0VzUlVGQlNTeFJRVUZUTWxvc1MwRkpka0lzUjBGRlVtMUNMRkZCUVZNc1UwRkJWVE5ITEVkQlNXeENMRWxCUVVsdVZTeEZRVUZMZGs4c1RVRkJVVEJwUWl4RlFWVnFRaXhQUVZCTGMwUXNSMEZCWlhoWkxFdEJRVTFsTEVWQlFVYzFUU3hQUVVNMVFqUk5MRVZCUVVkMVpDeFBRVUZUTVdZc1JVRkJWVzFETEVWQlFVa3NWVUZGTVVKellTeEhRVUZuUW5SaExFVkJRVWtzVlVGSlpDeEhRVXRTYzFrc1UwRkJWU3hUUVVGVk9FSXNSMEZEYmtJc1NVRkJTVzVxUWl4RlFVRlRiV3BDTEVWQlFVMXVha0lzVDBGRGJrSXNUMEZCVDNkblFpeEhRVUZsZUZrc1MwRkJUV2hKTEVWQlFVODNSQ3hQUVVOc1F6WkVMRVZCUVU5emJVSXNUMEZCVXpGbUxFVkJRVlUxUnl4RlFVRlJMRlZCUTJ4RGNXUXNSVUZCVTI1bUxFbEJRVXM0UWl4RlFVRlJMRlZCUTNSQ05FY3NSVUZCVlRWSExFVkJRVkVzVDBGSmNrSjFiVUlzWVVGQll5eERRVU5pV0N4aFFVRmpMRk5CUVZWNlF5eFJRVWxFT1dsQ0xFbEJRV3BDT0dsQ0xFVkJRVTF5Vml4UlFVRjNRbkZXTEVWQlFVMHJReXhuUWtGRGVFTXZReXhGUVVGTkswTXNZMEZCWTAwc1dVRkJZM0pFTEVWQlFVMXlWaXhaUVc5SE4wTjJVU3hGUVVGUE1tNUNMRmxCUVdNc1UwRkJWWFJ0UWl4RlFVRk5la01zUlVGQlRYTnZRaXhIUVVkeVF6ZHNRaXhGUVVGTE5HTXNjVUpCUTFRMVl5eEZRVUZMTkdNc2IwSkJRWEZDY21Zc1JVRkJUWE52UWl4SlFVbHNRMnh1UWl4RlFVRlBkVzFDTEUxQlFWRXNVMEZCVlRGdVFpeEZRVUZMY1hGQ0xFZEJSemRDTEV0QlFWRnFjMElzWjBKQlFXZENLME1zUlVGQlQzVnRRaXhQUVVNNVFpeFBRVUZQTEVsQlFVbDJiVUlzUlVGQlQzVnRRaXhOUVVGUE1XNUNMRVZCUVV0eGNVSXNSMEZKTVVKeWNVSXNSMEZCVDBFc1JVRkJTVVFzVFVGRFpqTkNMRXRCUVVzd2NrSXNZMEZCWjBJNWNFSXNSVUZEY2tJMVFpeExRVUZMTWtJc1MwRkJUME1zUlVGQlNVUXNTMEZKYUVJelFpeExRVUZMYTNOQ0xHMUNRVUZ4UW5SeFFpeEZRVUZKZFhGQ0xIVkNRVU5JZEcxQ0xFbEJRWHBDYWtVc1JVRkJTWFZ4UWl4dFFrRkhaMElzU1VGQmNFSjJjVUlzUlVGQlNXOXhRaXhaUVVOTU9VUXNSMEZEUVVNc1IwRkxSRzV2UWl4TFFVRkxkMFlzVDBGQlZ6VkVMRVZCUVVrMFJDeFJRVUZyUXl4SlFVRjRRalZFTEVWQlFVazBSQ3hQUVVGUGFrVXNVMEZEZUVOTExFVkJRVWswUkN4UFFVRlBOVU1zVjBGRFdHaENMRVZCUVVrMFJDeFBRVVZNZUVZc1MwRkJTMmx5UWl4alFVRm5Rbkp3UWl4RlFVRkpjWEJDTEdOQlEzcENhbkpDTEV0QlFVdHZjMElzWTBGQlowSjRjVUlzUlVGQlNYZHhRaXhsUVVsNlFuQnpRaXhMUVVGTE1rSXNTMEZCVDBNc1JVRkpVbkZ4UWl4SFFVTktiSEJDTEVWQlFVOXRReXhQUVVGUmJFWXNTMEZCVFdselFpeEhRVWwwUW1welFpeExRVUZMY1hOQ0xGVkJRVmw2Y1VJc1IwRkJUMEVzUlVGQlNYbHhRaXhYUVVGaE5XcENMRXRCUVVzMmFrSXNUVUZIT1VOMGMwSXNTMEZCVFN0RExFVkJRVThyUXl4VlFVRlpMRWRCU3pGQ0wwTXNSVUZCVDNWdFFpeE5RVUZOYUcxQ0xGVkJRVmtzUTBGRGVFSkZMRmxCUVdGVUxFVkJRVTkxYlVJc1RVRkRjRUkwUXl4dFFrRkJiMEl2UkN4SFFVTndRalpETEhGQ1FVRnpRamRETEVkQlEzUkNLME1zT0VKQlFTdENMME1zUjBGREwwSnZSU3hoUVVGaExFVkJSV0p1UkN4bFFVRm5RaXhYUVVObUxFbEJRVWsxWXl4RlFVRkplRTBzUzBGQlN6QnlRaXhqUVVWaU1YSkNMRXRCUVV0cmMwSXNiVUpCUVhGQ2FFVXNSMEZGY2tJeFlpeEpRVUZOZUUwc1MwRkJTM1Z6UWl4aFFVTm1MMllzUlVGQlJUUmpMR3RDUVVkS1JpeG5Ra0ZCYVVJc1YwRkRhRUlzU1VGQlNURmpMRVZCUVVsNFRTeExRVUZMTUhKQ0xHTkJSV0l4Y2tJc1MwRkJTMmR5UWl4eFFrRkJkVUk1UXl4SFFVVjJRakZpTEVsQlFVMTRUU3hMUVVGTGRYTkNMR0ZCUTJZdlppeEZRVUZGTUdNc2JVSkJSMHBETEhsQ1FVRXdRaXhYUVVONlFpeEpRVUZKTTJNc1JVRkJTWGhOTEV0QlFVc3dja0lzWTBGRllqRnlRaXhMUVVGTGEzSkNMRGhDUVVGblEyaEVMRWRCUldoRE1XSXNTVUZCVFhoTkxFdEJRVXQxYzBJc1lVRkRaaTltTEVWQlFVVXlZeXd5UWtGSFNHNXdRaXhMUVVGTGEzQkNMRzlDUVV0UWJtMUNMRVZCUVU5clFpeExRVUZOTEVOQlExcDFiMElzVVVGQlVTeEZRVU5TUXl4VFFVRlRMRVZCUTFSRExGbEJRVmtzUlVGRFdrTXNaMEpCUVdkQ0xFVkJRMmhDUXl4VFFVRlRMRVZCUTFSRExGRkJRVkVzUlVGRFVrTXNXVUZCV1N4RlFVTmFReXhUUVVGVExFVkJRMVJETEU5QlFVOHNSVUZEVUVNc1QwRkJUeXhGUVVOUVF5eFZRVUZWTEVWQlExWkRMRTFCUVUwc1JVRkRUa01zVFVGQlVTeEZRVU5TY0hKQ0xFMUJRVTBzUlVGRFRuRnlRaXhWUVVGVkxFVkJRMVp1Wml4TFFVRkxMRVZCUTB4dlppeFRRVUZUTEVWQlExUjJXQ3hSUVVGUkxFVkJRMUozV0N4VFFVRlRMRVZCUTFSRExGTkJRVk1zUlVGRFZFTXNVMEZCVXl4RlFVTlVReXhUUVVGVExFVkJRMVJETEZOQlFWTXNSVUZEVkVNc1YwRkJWeXhGUVVOWVF5eGhRVUZoTEVWQlEySkRMRk5CUVZNc1JVRkRWRU1zVTBGQlV5eEZRVU5VUXl4bFFVRmxMRVZCUTJaRExGZEJRVmNzUlVGRFdFTXNVMEZCVXl4RlFVTlVReXhQUVVGUExFZEJRMHh3Y2tJc1JVRkJUelJzUWl4TlFVRk5ORU1zVTBGRmFFSjRiMElzUlVGQlQydENMRXRCUVUwc1EwRkJSVzFTTEUxQlFVOHNWVUZCVjJkYUxFdEJRVTBzV1VGQll5eFRRVUZWZW5OQ0xFVkJRVTF6YmtJc1IwRkRjRVZzYlVJc1JVRkJUelJzUWl4TlFVRk5ka29zVVVGQlUzcGtMRWRCUVZNc1EwRkhPVUl5YjBJc1RVRkJUeXhYUVZGT0xFOUJTRUY2UWl4SFFVRm5RamR2UWl4TFFVRk5Na0lzUlVGQlRYbHRRaXhMUVVkeVFpeEhRVVZTYVVJc1VVRkJVeXhYUVUxU0xFOUJTRUZTTEVkQlFXZENOMjlDTEV0QlFVMHlRaXhKUVVkbUxFZEJTMUpyYkVJc1UwRkJWU3hYUVVOVUxFOUJRVThzUjBGSFVtOURMR0ZCUVdOQkxFdEJXV2hDYkcxQ0xFVkJRVTlyUWl4TFFVRk5MRU5CUTFwdmNVSXNWMEZCV1N4WlFVTmFReXhYUVVGWkxGZEJRMXBETEdGQlFXTXNZMEZEWkVNc1lVRkJZeXhqUVVOYUxGTkJRVlZETEVWQlFVMDFSQ3hIUVVOc1FqbHVRaXhGUVVGUE5HeENMRTFCUVUxMlNpeFJRVUZUY1ZBc1IwRkJVeXhEUVVNNVFuaEdMR0ZCUVdNMFFpeEZRVU5rVkN4VFFVRlZVeXhGUVVWV1dpeFBRVUZSTEZOQlFWVjBRaXhIUVVOcVFpeEpRVUZKTjJ0Q0xFVkJSVWcwY1VJc1JVRkJWUzlHTEVWQlFVMTVSQ3hqUVVOb1FucERMRVZCUVZsb1FpeEZRVUZOWjBJc1ZVRlRia0lzVDBGTVRTdEZMRWxCUVdGQkxFbEJUbFF4ZFVJc1RVRk5aME1yUXl4RlFVRlBlVVlzVTBGT2RrTjRTU3hMUVUxNVJEQjFRaXhOUVVOc1JTOUdMRVZCUVUxb2JrSXNTMEZCVDJkdlFpeEZRVUZWUnl4VFFVTjJRbWh0UWl4RlFVRk5ObXhDTEVWQlFWVnFZaXhSUVVGUkwwNHNUVUZCVDFnc1MwRkJUWEZGTEZkQlEzSkRjMnRDTEVWQlFVMW9ia0lzUzBGQlQydHdRaXhIUVVWUUwyMUNMRTFCUzFabUxFVkJRVTlITEVkQlFVZG5ReXhQUVVGUkxFTkJSV3BDY1dwQ0xFZEJRVWtzVTBGQlZVTXNSVUZCVDNoc1FpeEZRVUZWTUdZc1JVRkJUWGhtTEVkQlEzQkRMRTlCUVU5eGJFSXNSMEZCU1hadlFpeExRVUZOZDI5Q0xFVkJRVTk0YkVJc1JVRkJWVEJtTEVWQlFVMTRaaXhKUVVWNlEzVnNRaXhKUVVGTExGTkJRVlZFTEVWQlFVOTRiRUlzUlVGQlZUQm1MRVZCUVUxNFppeEhRVU55UXl4UFFVRlBjV3hDTEVkQlFVbDJiMElzUzBGQlRYZHZRaXhGUVVGUGVHeENMRVZCUVZVd1ppeEZRVUZOZUdZc1JVRkJTU3hKUVVVM1F6QnNRaXhKUVVGTExGTkJRVlZLTEVWQlFVOTRiRUlzUlVGQlZVVXNSMEZETDBJc1NVRkJTWGx0UWl4RlFVRlhhRzlDTEVWQlEyWXNSMEZCU3padFFpeEhRVUZUUVN4RlFVRk5XU3huUWtGQmEwSmFMRVZCUVUxdFFpeFZRVmN6UXl4UFFWSkJRU3hGUVVGWmJrSXNSVUZCVFcxQ0xGVkJRMnhDTlcxQ0xFVkJRVkY1YkVJc1JVRkJUWE5ETEdkQ1FVRnBRbXhETEVsQlF6bENaU3hGUVVGVmJtRXNWVUZEVkcxaExFVkJRVlZITEZOQlFWY3NTVUZCVFVnc1JVRkJWVzVoTEZWQlEzSkRiV0VzUlVGQlZVY3NVMEZEV0Vnc1JVRkJWVE50UWl4VFFVTldNbTFDTEVWQlFWVnFZaXhUUVVWS01VOHNTMEZGVWl4SFFVRnpRaXhwUWtGQlZuZHZRaXhGUVVGeFFpeERRVWRvUXl4SlFVRk5OMjFDTEV0QlFWRTJiVUlzUlVGRFluaHZRaXhMUVVGTE5HOUNMRWxCUVV0cWJrSXNSVUZCVFhGQ0xFVkJRVlYzYkVJc1JVRkJUemR0UWl4SlFVVnNReXhQUVVGUE0wSXNTMEZYVWl4UFFWUnJRaXhKUVVGaVowUXNSMEZCTUVNc2JVSkJRV0pCTEVsQlIycERSU3hGUVVGTFJpeEZRVU5NUVN4UFFVRlhOa01zU1VGRlFTeEpRVUZRTTBNc1NVRkRTa0VzUlVGQlMybHNRaXhKUVVWRGJtOUNMRXRCUVV0cFJTeExRVUZOTEZkQlEycENiRUlzUlVGQlR6UnNRaXhOUVVGTk9Vc3NUMEZCVVRka0xFdEJRVTEzYjBJc1JVRkJUM1JzUWl4RlFVRkpSaXhSUVUxNlF5eEpRVXRETW5KQ0xFZEJRV1VzZDBKQlIyWkRMRWRCUVZjc2IwTkJRMWhETEVkQlFXVXNNa05CUjJoQ0xGTkJRVk5ETEVkQlFXOUNNWEZDTEVWQlFVMDBXQ3hIUVVOc1F5eFBRVUZMTlZBc1JVRkJWV2hKTEVWQlFVMHNWVUZEY0VKblNTeEZRVUVyUWl4TFFVRnlRalJRTEVWQlFWRjZZU3hUUVVGclFubGhMRVZCUVZWQkxFVkJRVkV4U2l4WFFVRlpMRTlCUlRORWRsQXNSVUZCVVhGQ0xFZEJRVTh5Vnl4VFFVRlZMRk5CUVZjc1NVRkhja016Vnl4RlFVbFNMRk5CUVZNeWNVSXNSMEZCWlROeFFpeEhRVVYyUWl4UFFVUkJRU3hGUVVGTGVrTXNUVUZCZVVNc1QwRkJhRU41UXl4RlFVRkxOVUlzWVVGQll5eFRRVUZ6UWl4SlFVRk5ORUlzUlVGQlMzcERMRXRCUXpORWVVTXNSVUZGVWl4VFFVRlROSEZDTEVkQlFXVTFjVUlzUjBGUGRrSXNUVUZPTWtNc1YwRkJjRU5CTEVWQlFVdDZReXhOUVVGUkxFbEJRVXR5UWl4TlFVRlBMRVZCUVVjc1IwRkRiRU00UkN4RlFVRkxla01zUzBGQlQzbERMRVZCUVV0NlF5eExRVUZMY2tJc1RVRkJUeXhIUVVVM1FqaEVMRVZCUVVzeVNpeG5Ra0ZCYVVJc1VVRkhhRUl6U2l4RlFVZFNMRk5CUVZNMmNVSXNSMEZCWjBKeWRFSXNSVUZCUzNOMFFpeEhRVU0zUWl4SlFVRkpMM05DTEVWQlFVZHBXaXhGUVVGSGVsb3NSVUZCWjBKM2RFSXNSVUZCVlVNc1JVRkJWVE5HTEVWQlJUbERMRWRCUVhWQ0xFbEJRV3hDZVVZc1JVRkJTek4wUWl4VFFVRldMRU5CUzBFc1IwRkJTM05vUWl4RlFVRlRSQ3hSUVVGVGFHaENMRXRCUlhSQ05tNUNMRVZCUkZjMVJ5eEZRVUZUYm1Zc1NVRkJTemxDTEVkQlExQTJia0lzVVVGTGFrSXNTVUZCVFRsdVFpeExRVVpPYTJoQ0xFVkJRVk5vUml4UFFVRlJjVklzUlVGQlRTeHBRa0ZGVkhwR0xFVkJRMklzU1VGQlRYUnVRaXhGUVVGSkxFVkJRVWRwV2l4RlFVRkpjVThzUlVGQlVUbHVRaXhIUVVGUE1FSXNUMEZCVVd4Q0xFVkJRVWxwV2l4RlFVRkhhbG9zU1VGRE9VTlpMRVZCUVU4MGJFSXNUVUZCVFc1T0xFbEJRVXN3VkN4RlFVRk5kblJDTEVWQlFVMDRia0lzUlVGQlVUbHVRaXhIUVVGUlVTeEpRVTgzUXpKblFpeEZRVUZUUml4UlFVRlRhR2hDTEV0QlEzUkNkWFJDTEVWQlFWZHlUU3hGUVVGVGVrSXNUMEZCVVhwbUxFZEJRelZDZDNSQ0xFVkJRVmR5YzBJc1JVRkJUMjFETEU5QlFWRXNSMEZCU1dseFFpeEhRVVU1UW5KTkxFVkJRVk5NTEVsQlFVdDVUU3hGUVVGTlJTeExRV3RDZEVJc1UwRkJVME1zUjBGQlZVTXNSVUZCV1M5aExFVkJRVTF5VVN4RlFVRlZkMnBDTEVkQlJ6bERibFFzUlVGQlQyaFZMRVZCUVUxblZTeEhRVVZpTEVsQlFVbHpWQ3hGUVVGVmRtcENMRVZCUVU5cmFrSXNSVUZCVXl0SUxFVkJRVmwwZEVJc1JVRkJUVU1zUlVGREwwTkRMRVZCUVVrc1JVRkRTbWxhTEVWQlFVbHJWU3hGUVVGWGFuTkNMRTlCUTJadGMwSXNSVUZCVjNCVkxFVkJRVWtzUlVGRFpteFZMRVZCUVZGeFRpeEZRVUZOTEVkQlEyUnJZaXhGUVVGclFuQjFRaXhGUVVGWk5rWXNSMEZITDBJc1IwRkJTM1Z2UWl4SFFVTkVjbFVzUlVGQlNTeEhRVUZ6UWl4cFFrRkJWbXhWTEVsQlEyaENPVVlzUlVGQlVXZHNRaXhaUVVGamQwa3NSMEZCVTNCb1FpeExRVUZOZEVjc1IwRkRlRU1zVDBGQlQyOXZRaXhGUVVGWGNuSkNMRXRCUVUwc1UwRkJWWEZZTEVkQlEycERMRWxCUVVsaUxFVkJRVTgyVlN4RlFVRlhMM0ZDTEVkQlFVa3JWeXhIUVVOeVFtMVZMRWxCUTBwc1lpeEZRVUZOTEVkQlFVMXlUaXhGUVVGTmVrY3NTMEZCVFZRc1MwRkJUWE5pTEVWQlFVOWlMRVZCUVV0cFZpeFRRVVV6UTB3c1IwRkJWVFZWTEVWQlFVMXNSeXhGUVVGTmNsRXNSVUZCVlhkcVFpeExRVWxzUXl4SFFVRkxkRTBzU1VGRlNqbFhMRWRCUkVGMWFrSXNSVUZCVjA0c1IwRkJaV2hVTEVWQlFVMHJZU3hGUVVGWkxFZEJRVWx5YVVJc1pVRkJaU3hGUVVGUGNXbENMRVZCUVZrMVNDeEpRVU5xUlhCV0xGZEJSVzFDTEVsQlFTOUNkVllzUlVGQlUzUmlMRmRCUVZkc1NpeFRRVU40UW5kclFpeEZRVUZYZG1wQ0xFZEJTVkJCTEVkQlFWTnZha0lzUjBGQlZTeERRVTkyUWl4SlFVeEJOa2dzUjBGRVFTOUlMRVZCUVZWNmEwSXNSVUZCVDI5Q0xFbEJRVXN5YVVJc1IwRkJVV1VzUlVGQlZTeFZRVUZaYTBnc1MwRkRMMEl4Y2tJc1QwRkxZbXhDTEVWQlFVbHBXaXhGUVVGSGFsb3NTVUZEWkVZc1JVRkJUelJzUWl4RlFVVkdNV3hDTEVsQlFVMXhkRUlzU1VGRFZuWjBRaXhGUVVGUFl5eEZRVUZQZDBNc1RVRkJUM1JFTEVkQlFVMHNSMEZCVFN4SFFVYzFRbk4wUWl4SFFVbEtlSE5DTEVWQlFVOW5RaXhOUVVGUGVXcENMRVZCUVZOV0xFZEJRVkUzYTBJc1JVRkJUU3haUVVsMlEybERMRVZCUVZONlJDeExRVUZOTm5WQ0xFVkJRVmx1ZEVJc1IwRkJTMFlzUlVGQlRVVXNSMEZIZGtNc1IwRkJTMjkwUWl4RlFVOUtMRWxCVGtGeWRFSXNSVUZCVFhOc1FpeEZRVUZUUVN4RlFVRlJibXRDTEU5QlFWTXNSMEZCU1RSS0xHTkJSM0JEYkVzc1JVRkJUMjlDTEVsQlFVdHhha0lzUlVGQlUzZElMRWxCUjJZM2MwSXNSVUZCU1N4RlFVRkhRU3hGUVVGSmIzUkNMRVZCUVZsd2RFSXNTVUZETlVKR0xFVkJRVTkxYkVJc1JVRkJVM0pzUWl4SFFVTllLMnBDTEVkQlFWa3hXU3hMUVVGTmRrd3NSVUZCUzA0c1RVRkJVU3hOUVVOc1EydG9RaXhGUVVGVGVFSXNUMEZCVVhCbUxFVkJRVTBzWlVGRGVFSmpMRVZCUVU5NVJpeFRRVUZWZEVjc1JVRkJTMFFzUzBGRmFrSkJMRVZCUVV0TUxFdEJRVGhETEZsQlFYSkRTeXhGUVVGTFRpeE5RVUZSTEVsQlFVczJSaXhqUVVjdlFucEZMRVZCUVU4MGMwSXNWMEZCWVRGMFFpeEZRVUZMU0N4VlFVTTNRbWxDTEVWQlFVODBjMElzVTBGQlZURjBRaXhGUVVGTFRDeEpRVUZMTEVOQlF6RkNReXhOUVVGUFNTeEZRVUZMU2l4UFFVRlRTU3hGUVVGTFR5eGhRVUZqTEZWQlEzUkRUaXhIUVVkS1NDeEZRVUZUUlN4RlFVRkxiMUVzV1VGQldYQk5MRkZCUVZNMGIwSXNSMEZCWXl4SlFVRk5OWE5DTEVWQlFVMURMRWxCVVc1RkxFOUJRVTl2ZEVJc1JVRkhVaXhUUVVGVGVsSXNSMEZCVVhwYUxFVkJRVTF3UWl4RlFVRlZOSE5DTEVkQlMyaERMRWxCU2tFc1NVRkJTVE4wUWl4RlFVTklObXhDTEVWQlFWRTVhMElzUlVGQlYwUXNSVUZCVDNOT0xFOUJRVkZ5VGl4RlFVRlZiMElzUjBGQlUwRXNSVUZEY2tScVF5eEZRVUZKTEVWQlJUUkNMRTlCUVhaQ1JpeEZRVUZQTm14Q0xFVkJRVTh6YkVJc1NVRkJaVUVzU1VGRGFFTjVkRUlzUjBGQk9FSXNTVUZCYkVJemRFSXNSVUZCUzFZc1ZVRkRkRUozUWl4RlFVRlBPSE5DTEZWQlFWY3ZTU3hIUVVGUk4ydENMRWxCUjNSQ1FTeEZRVUZMVnl4aFFVTktaM1JDTEVkQlFWbDJUQ3hIUVVGWmNHbENMRWxCUXpWQ09HdENMRWRCUVdWRUxFZEJRVkUzYTBJc1JVRkJUU3hYUVVVNVFrRXNSVUZCUzFjc1YwRkJWME1zV1VGQllWb3NTVUZKTDBJc1QwRkJUMjFETEVWQlIxSnlRaXhGUVVGUGJVTXNUMEZCVVN4RFFVTmtObWxDTEdOQlFXVXNVMEZCVlRKSUxFZEJRM2hDTEU5QlFVOUJMRWRCUjFKdWNVSXNUVUZCVHl4VFFVRlZia0lzUlVGQlRUQnlRaXhGUVVGbFF5eEhRVU55UXl4SlFVRkpOWFJDTEVWQlFVZHBXaXhGUVVGSE5GVXNSVUZCWVVNc1JVRndTVTV5ZFVJc1JVRkJTM04wUWl4RlFVTnVRamxwUWl4RlFXOUpSamRITEVWQlFWRnVRaXhGUVVGTGFXbENMRmRCUVZjc1IwRkRlRUkyU2l4RlFVRlROMHdzUjBGQldXcG5RaXhIUVVkMFFpeExRVUZOYUVRc1JVRkJVV3RzUWl4blFrRkJjME1zU1VGQmJFSnNhVUlzUlVGQlN6ZERMRlZCUVc5RExFdEJRV3hDTmtNc1JVRkJTemRETEZWQlF6TkVkMElzUlVGQlR5dFhMRk5CUVZVeFZpeEpRVTF1UWl4SlFVaEJObkpDTEVWQlFXVnVTaXhIUVVGUmRtaENMRWRCUjJwQ2NFUXNSVUZCU1N4RlFVRkhhVm9zUjBGR1lqUlZMRVZCUVdOc1NpeEhRVUZSTVdsQ0xFbEJSVTltTEU5QlFWRnNRaXhGUVVGSmFWb3NSVUZCUjJwYUxFbEJhRW8xUWxBc1JVRnBTa3h2ZFVJc1JVRkJZVGQwUWl4SFFXcEtTQ3R6UWl4RlFXbEtVV1VzUlVGQll6bDBRaXhIUVdoS2VrTnBTeXhQUVVGQlFTeEZRVWRqTEZkQlNHUkJMRVZCUVZjNGFVSXNSVUZCU3pscFFpeFRRVUZUTlVVc1owSkJSMEYzWlN4SFFVRmxlRmtzUzBGQlRUVk1MRVZCUVVsRUxFMUJRM0pFZFhSQ0xFVkJRVXQ0V2l4UlFVRlZPVlFzUlVGQlNUaFVMRkZCUjBzc1ZVRkJZblJLTEVkQlFYRkRMR0ZCUVdKQkxFbEJRMjVET0dsQ0xFVkJRVXQwVml4aFFVRmxhRmtzUlVGQlNXZFpMR05CTmtsNFFpeEhRVUZMYTFjc1JVRkRTaXhIUVVGTFF5eEZRVWxLTEVsQlNFRkRMRVZCUVdOQkxFZEJRV1ZzU2l4SFFVRlJNV2xDTEVkQlEzSkRObkpDTEVWQlFXVkJMRWRCUVdkQ2Jrb3NSMEZCVVhab1FpeEhRVVZxUTNCRUxFVkJRVWtzUlVGQlIybGFMRVZCUVVrMFZTeEZRVUZaTTNOQ0xFOUJRVkZzUWl4RlFVRkphVm9zUlVGQlIycGFMRWxCUXpORE9ITkNMRWRCUVdkQ1pTeEZRVUZoTjNSQ0xFZEJRVXM0ZEVJc1JVRkJZemwwUWl4VFFVZHFSRGh6UWl4SFFVRm5RamR4UWl4RlFVRk5iVUlzUjBGWGVFSXNUMEZPUVRCeFFpeEZRVUZsYmtvc1IwRkJVWFpvUWl4RlFVRlBMRmRCUTFwc1F5eFBRVUZUTEVkQlF6RkNNR3BDTEVkQlFXVnJTaXhIUVVGbFF5eEhRVUZWY0Vvc1IwRkJVVEZwUWl4RlFVRk5MRmRCU1doRWJVSXNSMEZIVW5OeFFpeFZRVUZYTEZOQlFWVm9jMElzUjBGTGNFSXNTVUZLUVN4SlFVRkpObVVzUlVGQlRYUmxMRVZCUVUxNlF5eEZRVU5tZVdRc1JVRkJWWEpqTEVWQlFVODBiRUlzVFVGQlRYWktMRkZCUTNaQ2FtUXNSVUZCU1N4UFFVVTJRakJFTEV0QlFYaENla0lzUlVGQlQxQXNSVUZCVHpGQ0xFbEJRWEZDUVN4SlFVTTFReXhIUVVGTFoyZENMRVZCUVZrdlpDeEhRVUZUTEVOQlEzcENMRWRCUVU5elpTeEZRVUZQZEdVc1JVRkJUWGxsTEVWQlFWTXZZeXhUUVVGakxFTkJRekZETEVkQlFVczBZeXhGUVVGTEswY3NUMEZEVkN4SlFVRk5PVzVDTEV0QlFWRXJaMElzUlVGQlN5dEhMRTlCUTJKeVN5eEZRVUZUZW1Rc1IwRkRZbTlDTEVWQlFVODBiRUlzVFVGQlRUbExMRTlCUVZGNldpeEZRVUZOZWtNc1IwRkpNMEp2UWl4RlFVRlBNbTVDTEZsQlFXRjBiVUlzUlVGQlRYcERMRVZCUVUwclowSXNSVUZCUzNWSUxGRkJUM2hETjJ4Q0xFVkJRVTE1WlN4RlFVRlRMMk1zWTBGQldVUXNSVUZGZGtKNlFpeEZRVUZOTUdVc1JVRkJVMmhrTEZkQlNXNUNNVUlzUlVGQlRUQmxMRVZCUVZOb1pDeGpRVUZaUkN4UFFVOW9RemxETEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENhWEpDTEU5QlFWRXNVMEZCVlc1MFFpeEhRVU5xUWl4UFFVRlBObUVzUjBGQlVUZGtMRXRCUVUxblJDeEhRVUZWTEVsQlIyaERObUVzVDBGQlVTeFRRVUZWTjJFc1IwRkRha0lzVDBGQlR6WmhMRWRCUVZFM1pDeExRVUZOWjBRc1NVRkhkRUpVTEV0QlFVMHNVMEZCVlRKRkxFZEJRMllzVDBGQlQyMWhMRVZCUVZGeWFFSXNTMEZCVFN4VFFVRlZhMGdzUjBGRE9VSXNXVUZCYVVKeVFpeEpRVUZXY1VJc1JVRkRUbTVGTEVWQlFVOVNMRXRCUVUxMlF5eE5RVU5pUVN4TFFVRkxObFlzVVVGQlVUVlNMRXRCUVUwc1YwRkRTeXhKUVVGc1FtcEZMRXRCUVV0MVFpeFZRVUZ2UXl4TFFVRnNRblpDTEV0QlFVdDFRaXhWUVVGeFF5eEpRVUZzUW5aQ0xFdEJRVXQxUWl4WFFVTjRSSFpDTEV0QlFVdHhVeXhaUVVGamJrd3NUVUZIY0VJc1MwRkJUVUVzUlVGQlR6ZERMRlZCUVZWb1FpeFRRVWN6UWl0elFpeFBRVUZSTEZkQlExQXNUMEZCVDJZc1IwRkJWWEoyUWl4TFFVRk5jVVVzVlVGQlZ5eFRRVUZWUkN4SFFVTndRaXhKUVVGc1FuQkZMRXRCUVV0MVFpeFZRVUZ2UXl4TFFVRnNRblpDTEV0QlFVdDFRaXhWUVVGeFF5eEpRVUZzUW5aQ0xFdEJRVXQxUWl4VlFVTXpRM1YwUWl4SFFVRnZRamwxUWl4TFFVRk5iMFVzUjBGRGFFTjZRaXhaUVVGaGVVSXNUVUZMZGtKcGMwSXNVVUZCVXl4WFFVTlNMRTlCUVU5b1FpeEhRVUZWY25aQ0xFdEJRVTF4UlN4VlFVRlhMRk5CUVZWRUxFZEJRek5ETEVkQlFYVkNMRWxCUVd4Q2NFVXNTMEZCUzNWQ0xGVkJRVzlETEV0QlFXeENka0lzUzBGQlMzVkNMRlZCUVhGRExFbEJRV3hDZGtJc1MwRkJTM1ZDTEZOQlFXbENMRU5CUTNwRkxFbEJRVWxwUlN4RlFVRlRjM0JDTEVkQlFXOUNPWFZDTEV0QlFVMXZSU3hIUVVOMlEyOUNMRVZCUVU4NGNVSXNZVUZCWTJ4elFpeEZRVUZOYjBJc1JVRkJUemhOTEdkQ1FVdHlRMmxsTEU5QlFWRXNWMEZEVUN4UFFVRlBiRUlzUjBGQlZYSjJRaXhMUVVGTmNVVXNWVUZCVnl4VFFVRlZSQ3hIUVVOMFEzQkZMRXRCUVVzMFF5eFpRVU5VTlVNc1MwRkJTelJETEZkQlFWY3dkRUlzWVVGQlkyeHpRaXhGUVVGTmNFVXNVMEZMZGtOM2QwSXNUVUZCVHl4WFFVTk9MRTlCUVU5dVFpeEhRVUZWY25aQ0xFdEJRVTF4UlN4VlFVRlhMRk5CUVZWRUxFZEJRM1JEY0VVc1MwRkJTelJETEZsQlExUTFReXhMUVVGTE5FTXNWMEZCVnpCMFFpeGhRVUZqYkhOQ0xFVkJRVTF3UlN4TFFVRkxaMUFzWjBKQlN6VkROa2NzVFVGQlR5eFhRVWxPTEVsQlNFRXNTVUZCU1hwU0xFVkJRMGhxUXl4RlFVRkpMRVZCUlRKQ0xFOUJRWFJDYVVNc1JVRkJUM0JGTEV0QlFVMXRReXhKUVVGbFFTeEpRVU5rTEVsQlFXeENhVU1zUlVGQlN6ZERMRmRCUjFSM1FpeEZRVUZQT0hOQ0xGVkJRVmN2U1N4SFFVRlJNV2xDTEVkQlFVMHNTVUZIYUVOQkxFVkJRVXRwVHl4WlFVRmpMRWxCU1hKQ0xFOUJRVTl5VXl4TlFVZFNkVVlzVFVGQlR5eFRRVUZWZFhGQ0xFVkJRV1ZETEVkQlNTOUNMRTlCU0VGRUxFVkJRV2xETEUxQlFXcENRU3hIUVVGblEwRXNSVUZEYUVSRExFVkJRWGxETEUxQlFYSkNRU3hGUVVFMFFrUXNSVUZCWjBKRExFVkJSWHBFTDNaQ0xFdEJRVXR0UlN4SlFVRkxMRmRCUTJoQ0xFOUJRVTl3UWl4RlFVRlBkME1zVFVGQlQzWkdMRXRCUVUwNGRrSXNSVUZCWlVNc1RVRkpOVU5NTEV0QlFVMHNVMEZCVlhodlFpeEhRVU5tTEU5QlFVOXRZU3hGUVVGUmNtaENMRXRCUVUwc1UwRkJWV3RJTEVkQlF6bENMRWxCUVVrNVF5eEZRVUZQY0VVc1MwRkJUU3hKUVVGUExFZEJRM1pDYlVNc1JVRkJTU3hGUVVOS2FWb3NSVUZCU1hCaUxFdEJRVXR4UkN4UFFVVldMRkZCUVdWM1F5eEpRVUZXY1VJc1IwRkJlVU1zU1VGQmJFSTVReXhGUVVGTE4wTXNVMEZEYUVNc1QwRkJUelpETEVWQlFVdDNUU3hWUVVsaUxFZEJRWE5DTEdsQ1FVRldNVW9zU1VGQmRVSjVia0lzUjBGQllXNW9RaXhMUVVGTmRFY3NTMEZEY0VSelppeEpRVUZYVUN4SFFVRlRMMWtzUzBGQlRXaEhMRWxCUVZjc1EwRkJSU3hIUVVGSkxFdEJRVkVzUjBGQlNVMHNaVUZCYTBJc1EwRkZNVVZPTEVWQlFWRnVSU3hGUVVGUFoyeENMR05CUVdVM1owSXNSMEZGT1VJc1NVRkRReXhMUVVGUkwwVXNSVUZCU1dsYUxFVkJRVWRxV2l4SlFVbFRMRXRCU0haQ2FVTXNSVUZCVDNCRkxFdEJRVTF0UXl4SlFVRlBMRWxCUjFaYUxGZEJRMVIzUWl4RlFVRlBPSE5DTEZWQlFWY3ZTU3hIUVVGUk1XbENMRWRCUVUwc1NVRkRhRU5CTEVWQlFVdDNUU3hWUVVGWk1Vb3NSMEZKYmtJNVF5eEZRVUZQTEVWQlIwNHNUVUZCVVc5SkxFdEJSMDV3U1N4SFFVTktjRVVzUzBGQlN6WldMRkZCUVZGMVlTeFBRVUZSYkhCQ0xFbEJSWEJDTEV0QlFVMUJMRVZCUVU4M1F5eFZRVUZWYUVJc1UwRkhNMEp2ZEVJc1dVRkJZU3hYUVVOYUxFbEJRVWt2U1N4RlFVRlZMRWRCUjJRc1QwRkJUekpJTEVkQlFWVnlka0lzUzBGQlRYRkZMRlZCUVZjc1UwRkJWVVFzUjBGRE0wTXNTVUZCU1RoUUxFVkJRVk5zVlN4TFFVRkxORU1zVjBGRllrY3NSVUZCVHpaRUxGRkJRVk0xUnl4TFFVRk5NRzVDTEVkQlFWa3NTVUZEZEVNemEwSXNSVUZCVHpoelFpeFZRVUZYTDBrc1IwRkJVVGx0UWl4UFFVTnlRbXRWTEVkQlEwcEJMRVZCUVU5M1l5eGhRVUZqZEhOQ0xFVkJRVTF3UlN4UlFVc3pRakJ1UWl4TlFVbE1NMnRDTEVWQlFVOXJRaXhMUVVGTkxFTkJRMW93YzBJc1UwRkJWU3hUUVVOV1F5eFZRVUZYTEZWQlExaE9MR0ZCUVdNc1UwRkRaRThzV1VGQllTeFJRVU5pUXl4WFFVRlpMR1ZCUTFZc1UwRkJWVEZ5UWl4RlFVRk5NbkpDTEVkQlEyeENhSFZDTEVWQlFVOUhMRWRCUVVsclF5eEhRVUZUTEZOQlFWVndReXhIUVU4M1FpeEpRVTVCTEVsQlFVbGhMRVZCUTBoRExFVkJRVTBzUjBGRFRtdDBRaXhGUVVGVGFuVkNMRVZCUVZGRExFZEJRMnBDZDBJc1JVRkJUM2R6UWl4RlFVRlBNM1JDTEU5QlFWTXNSVUZEZGtKc1FpeEZRVUZKTEVWQlJVZEJMRWRCUVV0eFF5eEZRVUZOY2tNc1NVRkRiRUl3UWl4RlFVRlJNVUlzU1VGQlRYRkRMRVZCUVU5NFJTeExRVUZQUVN4TFFVRkxkVVlzVDBGQlR5eEhRVU40UTNoRExFVkJRVkZwZFVJc1JVRkJVVGQxUWl4SlFVRlBOSFZDTEVkQlFWbHNkRUlzUjBGSmJrTnFSQ3hGUVVGTFJDeE5RVUZQYlVRc1JVRkJTMFFzUlVGQlRVZ3NUMEZIZUVJc1QwRkJUekZFTEV0QlFVczBSQ3hWUVVGWFJTeE5RVWQ2UWl4SlFVRkpiWFJDTEVkQlFWa3NTVUZCU1c1dVFpeFBRVUZSTEV0QlFVOXRZU3hGUVVGUExHdENRVUZ0UWl4TFFVVjZSR2xPTEVkQlFWa3NVMEZCVlRselFpeEhRVXQ0UWl4SlFVRkpLMjlDTEVWQlFVOHZiMElzUlVGQlN6WkpMR05CUVdNMFF5eFpRVTA1UWl4UFFVcE5jMlFzUjBGQlUwRXNSVUZCUzJkRkxGTkJRMjVDYUVVc1JVRkJUM0IwUWl4SFFVZEViM1JDTEVWQlFVdHBSU3hwUWtGQmEwSm9kRUlzU1VGSE5VSnBkRUlzUjBGQlR5eFRRVUZWYW5SQ0xFVkJRVTFsTEVWQlFWTnFRaXhIUVVOdVF5eEpRVUZKU2l4RlFVRkxjMElzUlVGRFVtdHpRaXhGUVVGTkxFZEJSMUFzU1VGQlRXeHpRaXhMUVVGUlJDeEZRVU5pYlhOQ0xFVkJRVXRzYzBJc1IwRkJVMmhDTEVWQlFVdHhaMElzVFVGQlQzSm1MRWRCUXpGQ2FFSXNSVUZCUzNGblFpeE5RVUZQY21Zc1IwRkJVMFFzUlVGQlUwTXNSMEZOTDBJc1NVRkJUVUVzUzBGSVRuUkNMRVZCUVUxSkxFVkJRVk42UkN4TFFVRk5Na1FzUjBGSFVHVXNSVUZEWW1Zc1JVRkJTM0ZuUWl4TlFVRlBjbVlzUjBGQlUydHpRaXhGUVVGTGJITkNMRWRCUnpOQ0xFOUJRVTkwUWl4SFFVbEtlWFJDTEVkQlFWa3NTVUZCU1hwdVFpeFBRVUZSYzJFc1IwRkJWWGhYTEV0QlFVMHNTMEZCVHl4TFFXbEtia1FzVTBGQlV6UnFRaXhIUVVGUmNIUkNMRVZCUVUxblFpeEZRVUZOY1hOQ0xFZEJRelZDTEVsQlFVbERMRVZCUVU5RExFVkJRVlZETEVWQlFWVTVkRUlzUlVGTk9VSXlaMElzUlVGQlVYSm5RaXhGUVVGTGNXZENMRTFCY1VOa0xFOUJia05CWjA0c1JVRkJWMEVzUjBGQldWQXNSMEZCVnpselFpeE5RVkZ3UWl4TlFVWmlUaXhGUVVGTk1uUkNMRVZCUVZOSkxHbENRVUZyUW5welFpeEpRVUZWY1hOQ0xFVkJRVlZ5YzBJc1MwRkZha05wWml4SFFVRlphbWRDTEV0QlF5OUNUaXhGUVVGTlppeEZRVUZQTUdoQ0xFMUJRVTl5WjBJc1JVRkJUV2RDTEV0QlVYSkNhRVVzUlVGQlVUQjNRaXhyUWtGQmIwSmlMRWRCUVZWNmFrSXNTMEZCVFRGS0xFbEJRVk41ZEVJc1IwRkJWUzlxUWl4TFFVRk5jRWtzUzBGSE1VVnpjMElzUlVGQlVXcE9MRVZCUVUxcFRpeE5RVU5rUXl4RlFVRlhiRTRzUlVGQlRXdE9MRk5CUTJwQ1F5eEZRVUZYYms0c1JVRkJUVzFPTEZOQlIycENiazRzUlVGQlRXdE9MRk5CUVZkc1RpeEZRVUZOYlU0c1UwRkJWMjVPTEVWQlFVMXBUaXhOUVVGUk5YUkNMRVZCUTJoRVFTeEZRVUZOTW5SQ0xFVkJRVk5ETEUxQlIyWnFUaXhGUVVGTmFVNHNUVUZCVVVFc1JVRkRaR3BPTEVWQlFVMXJUaXhUUVVGWFFTeEZRVU5xUW14T0xFVkJRVTF0VGl4VFFVRlhRU3hUUVVsS0wzSkNMRWxCUVZJdlFpeEZRVWxPUVN4RlFVRk5MRWRCUTA1QkxFVkJTVVlzVTBGQlUybDFRaXhIUVVGalF5eEZRVUZoUXl4SFFVZHVReXhOUVVGUExFTkJRMDUyZFVJc1NVRkJTeXhYUVVOS0xFbEJRVXR6ZFVJc1NVRlRUQ3hQUVVGVGFIbENMRXRCUVVzd1JDeEpRVUZOZFhWQ0xFZEJRVk4wZUVJc1RVRkJUMWdzUzBGQlRYRkZMR3RDUVV4c1EzSkZMRXRCUVVzd1JDeFBRVE5OYUVJc1YwRkpReXhUUVVGVGQzVkNMRWxCUjFJc1IwRkJUVzVOTEVWQlFVNHNRMEZKUVc5TkxFVkJRVlV4VGl4TlFVRk5NazRzVVVGQlZTd3JSVUZGTVVKeVRTeEZRVUZKZEVJc1RVRkJUVEpPTEZGQlExUXNORWhCUjBReGFVSXNSMEZCWjBJdlRTeFpRVUZoZDNaQ0xFZEJRVmw0ZGtJc1dVRkJZVzlxUWl4SFFVVjBSQ3hKUVVGSmMwMHNSVUZCVjNSNVFpeEZRVUZQY1hoQ0xHbENRVUZyUW5KTUxFZEJRM2hEZFUwc1JVRkJiME1zVDBGQmFrSkVMRVZCUVZOMmFVSXNTVUZITlVKNWFVSXNSVUZCYzBVc1MwRkJPVU5ETEVWQlFXOUNTQ3hGUVVGVFNTeFpRVWx5UkRGTkxFVkJRVWwwUWl4TlFVRk5hVThzVFVGQlVTeE5RVU5zUWtNc1JVRkJOa1FzUzBGQmVrTklMRVZCUVc5Q1NDeEZRVUZUU3l4UFFVbHFSRVVzUlVGQlowVXNTMEZCZWtOS0xFVkJRVzlDU0N4RlFVRlRXQ3hQUVUxd1JETk1MRVZCUVVsMFFpeE5RVUZOYjA4c1UwRkJWeXhYUVVOeVFrTXNSVUZCYVVVc1MwRkJPVU5PTEVWQlFXOUNlazBzUlVGQlNXZE9MRmxCUVdNc1IwRkZla1J5YWtJc1IwRkJaMEkzVFN4WlFVRmhjM1pDTEVkQlNUZENjRTBzUlVGQlRTeE5RVWRRTEZOQlFWTjVUU3hGUVVGdlFsRXNSMEZETlVJc1QwRkJUMnAwUWl4TFFVRkxhM1JDTEUxQlFVOURMRmRCUVZsR0xFbEJSMmhETEVsQlFVbFdMRVZCUVd0Q1RTeEZRVUZ6UWtVc1JVRkJhMEpJTEVWQlF6ZEVVU3hGUVVGNVFsb3NSVUZEZWtKS0xFVkJRVmwyZVVJc1JVRkJVekJETEdOQlFXVXNUMEZEY0VONWFrSXNSVUZCVFc1dFFpeEZRVUZUTUVNc1kwRkJaU3hQUVVkNlFubHFRaXhGUVVGSmRFSXNVVUZOVm5OQ0xFVkJRVWwwUWl4TlFVRk5NazhzWlVGQmFVSXNZMEZETTBKeVRpeEZRVUZKVFN4WFFVRlhMRWRCUVU4MVFpeE5RVUZOTWs4c1pVRkJhVUlzUjBGRE4wTm9lVUlzUlVGQlVXbDVRaXhuUWtGQkswTXNaMEpCUVRkQ2RFNHNSVUZCU1hSQ0xFMUJRVTB5VHl4bFFVVndRM0ozUWl4RlFVRlBiVU1zVDBGQlVUbEVMRVZCUVZNc1EwRkRka0pyZVVJc2EwSkJRVzFDTEZkQlJXeENMRTlCUkVGd1FpeEpRVU5QVlN4SFFVVlNaQ3hsUVVGblFpeFhRVVZtTEU5QlJFRkpMRWxCUTA5VExFZEJSVkpaTEdOQlFXVXNWMEZGWkN4UFFVUkJja0lzU1VGRFQwa3NSMEZGVW10Q0xHMUNRVUZ2UWl4WFFVVnVRaXhQUVVSQmRFSXNTVUZEVDBzc1IwRkZVbXRDTEdOQlFXVXNWMEZGWkN4UFFVUkJka0lzU1VGRFQxa3NSMEZaVWxrc2NVSkJRWE5DTEZkQlEzSkNMRWxCUVVsRExFVkJRVTlvVGl4RlFVRkphVTRzUlVGQlUwTXNSVUZ0UTNoQ0xFOUJiRU5uUXl4TlFVRXpRbFlzU1VGRFNsRXNSVUZCVVM5NlFpeEZRVUZUTUVNc1kwRkJaU3hUUVVOb1EzRnJRaXhGUVVGTEwyMUNMRVZCUVZNd1F5eGpRVUZsTEUxQlF6ZENjM2hDTEVWQlFWVm9NRUlzUlVGQlV6QkRMR05CUVdVc1QwRkZiRU54ZUVJc1JVRkJUV3hRTEUxQlFVMHlUaXhSUVVGVkxESkVRVU4wUW5wTUxFVkJRVWRzUXl4TlFVRk5NazRzVVVGQlZTeHRRa0ZMYmtKNlRDeEZRVUZIYkVNc1RVRkJUWEZRTEU5QlFWTXNUVUZEYkVKR0xFVkJRVkZ1VUN4TlFVRk5jVkFzVDBGQlV5eE5RVkYyUWtZc1JVRkJVVzVRTEUxQlFVMURMRkZCUVZVc1VVRkZlRUpvVml4SFFVTkZMMDBzV1VGQllXZDRRaXhIUVVOaWFIaENMRmxCUVdGbmEwSXNSMEZEWW1oclFpeFpRVUZoYVhoQ0xFZEJSV1pETEVWQlFWVTVla0lzUlVGQlQzRjRRaXhwUWtGQmEwSjZTeXhIUVVOdVEzZE5MRVZCUVRSQ1dTeFRRVUZWUml4RlFVRlJReXhQUVVGUkxFbEJRM0pFUXl4VFFVRlZSaXhGUVVGUlJ5eGxRVUZuUWl4SlFVTnNRMFFzVTBGQlZVWXNSVUZCVVVrc2EwSkJRVzFDTEUxQlFWZDBUaXhGUVVGSGRVNHNZVUZGY0VSNGEwSXNSMEZCWjBJM1RTeFpRVUZoT0hkQ0xFbEJSWFpDVWl4TlFYWkpWaXhIUVhOT1FTeEpRVUZKWjBJc1IwRkJZeXhEUVVGRkxGTkJRVlVzVFVGQlR5eE5RVU53UTBNc1IwRkJZWGd3UWl4RlFVRlRNRU1zWTBGQlpTeFBRVUZSYldsQ0xFMUJRemRETkZBc1IwRkJZeXhIUVd0Q1ppeFRRVUZUUXl4SFFVRmxiSFpDTEVkQlEzWkNMRWxCUVVsdGRrSXNSVUZCVVhoNFFpeEZRVUZQZVhoQ0xGTkJRVlZ3ZGtJc1NVRkJWV2wyUWl4SFFVRmhhblpDTEVkQlJYQkVMRTlCUVV0dGRrSXNTVUZIUVc1MlFpeExRVUZSWjNaQ0xFZEJRMHhvZGtJc1JVRkZSR2wyUWl4SFFVRmhhblpDTEVkQmVFSnlRaXhUUVVGNVFrRXNSMEZOZUVJc1NVRklRU3hKUVVGSmNYWkNMRVZCUVZWeWRrSXNSVUZCVFN4SFFVRkpOR01zWTBGQlowSTFZeXhGUVVGTE9VVXNUVUZCVHl4SFFVTnVSRFpDTEVWQlFVbG5lVUlzUjBGQldUbDNRaXhQUVVWVWJFSXNTMEZGVUN4SlFVUkJhVVFzUlVGQlR5dDFRaXhIUVVGaGFIbENMRWRCUVUxemVVSXNTMEZEWWt3c1IwRkRXaXhQUVVGUGFIWkNMRVZCWlc5Q2MzWkNMRU5CUVdkQ2RIWkNMRWxCUVZWQkxFZEJTWGhFTEVsQlMwTjFka0lzUjBGQlpTdzBRa0ZEWmtNc1IwRkJZeXhOUVVOa1F5eEhRVUZWTEVOQlFVVm9ReXhUUVVGVkxGZEJRVmxwUXl4WFFVRlpMRk5CUVZWd1VTeFJRVUZUTEZOQlEycEZjVkVzUjBGQmNVSXNRMEZEY0VKRExHTkJRV1VzU1VGRFprTXNWMEZCV1N4UFFVZGtMRk5CUVZORExFZEJRVzFDZG5kQ0xFVkJRVTkxUXl4RlFVRlBhWFZDTEVkQlNYcERMRWxCUVVsd2RVSXNSVUZCVlc5a0xFZEJRVkZxV0N4TFFVRk5hRWNzUjBGRE5VSXNUMEZCVDBnc1JVRkhUbWhDTEV0QlFVdHhka0lzU1VGQlN5eEZRVUZIY25WQ0xFVkJRVk1zU1VGQlVXOTFRaXhIUVVGWkxFdEJRVlZ3ZFVJc1JVRkJVeXhKUVVGUExFMUJRM0JGUnl4RlFVZEdMRk5CUVZOdGRVSXNSMEZCYjBKcWVFSXNSVUZCVFd0NFFpeEZRVUZYUXl4RlFVRkxReXhGUVVGaFF5eEZRVUZSUXl4SFFVTjJSU3hKUVVGSmRucENMRVZCUVd0Q0xGVkJRV1J0ZWtJc1JVRkJkMElzUlVGQlNTeEZRVU51UTBzc1JVRkJVU3hGUVVOU1F5eEZRVUZSTEVWQlIxUXNSMEZCUzB3c1MwRkJWVU1zUlVGQll5eFRRVUZYTEZkQlEzWkRMRTlCUVU4c1JVRkhVaXhMUVVGUmNucENMRVZCUVVrc1JVRkJSMEVzUjBGQlN5eEZRVWRPTEZkQlFWSnZla0lzU1VGRFNrc3NSMEZCVXpkNVFpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUVzE0UWl4RlFVRk5ibElzUjBGQlYycHBRaXhKUVVGTExFVkJRVTF6ZWtJc1NVRkpiRVJFTEVkQmJVSlJMRmxCUVZKRUxFbEJRMHBMTEVkQlFWTTNlVUlzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1ZVRkJXV2RuUWl4SFFVRlhhbWxDTEVsQlFVc3NSVUZCVFhONlFpeEpRVWxxUkN4WFFVRlNSaXhKUVVOS1N5eEhRVUZUTjNsQ0xFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5MRk5CUVZkblowSXNSMEZCVjJwcFFpeEhRVUZOTEZOQlFWTXNSVUZCVFhONlFpeE5RWFJDZGtWSExFZEJRVk0zZVVJc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMHNWVUZCV1dkblFpeEhRVUZYYW1sQ0xFbEJRVXNzUlVGQlRYTjZRaXhIUVVkb1JDeFpRVUZTUml4RlFVTktTeXhIUVVGVE4zbENMRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOTEZOQlFWZG5aMElzUjBGQlYycHBRaXhIUVVGTkxGTkJRVk1zUlVGQlRYTjZRaXhIUVVsMFJVVXNSMEZCVXpWNVFpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hUUVVGWFoyZENMRWRCUVZkcWFVSXNSMEZCVFN4VFFVRlRMRVZCUVUxemVrSXNTVUZ2UTNwRkxFOUJhRUpOUkN4SFFVRmxSU3hIUVVGbExFbEJTVzVEUlN4SFFVRlROM1pDTEV0QlFVdHhka0lzU1VGQlN5eEZRVUZIY25aQ0xFdEJRVXM0ZGtJc1MwRkRNVUo2ZUVJc1JVRkJUU3hUUVVGWGEzaENMRVZCUVZjc1IwRkJTWFJVTEdOQlFXZENjMVFzUlVGQlZXZ3hRaXhOUVVGUExFbEJRMnBGYnpGQ0xFVkJRMEZGTEVWQlEwRkVMRVZCUTBFc1RVRkpUU3hIUVVkRVF5eEZRVWRTTEZOQlFWTkZMRWRCUVd0Q01YaENMRVZCUVUxcmVFSXNSVUZCVjBzc1IwRkhNME1zU1VGQlNVWXNSVUZCVTNaRkxFZEJRVmM1YzBJc1IwRkxka0p2ZUVJc1NVRkViVUp3TUVJc1JVRkJVV3Q1UWl4eFFrRkJkVUp4UXl4SlFVVkZMR1ZCUVc1RU5YbENMRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOTEdGQlFXRXNSVUZCVDNGNFFpeEhRVU4yUTAwc1JVRkJiVUpRTEVWQlJXNUNjSHBDTEVWQlFVMXZka0lzUjBGQlVYQjBRaXhGUVVGTmEzaENMRVZCUVZkSExFZEJReTlDVHl4RlFVRmhMRk5CUVZkV0xFVkJRVmNzUjBGQlNYUlVMR05CUVdkQ2MxUXNSVUZCVldneFFpeE5RVUZQTEVkQlNYcEZMRWRCUVVzeWQwSXNSMEZCVlhwcVFpeExRVUZOY0V3c1IwRkJVU3hEUVVNMVFpeEpRVUZOZFhwQ0xFVkJRMHdzVDBGQlQzWjZRaXhGUVVWU1FTeEZRVUZOTEU5QmVVTlFMRkZCYkVOUmFFSXNSVUZCVVd0NVFpeHhRa0ZCZFVKclF5eEpRVTF5UTNBd1FpeEZRVUZSYzNsQ0xIZENRVUV3UW5SdVFpeEZRVUZWYUVrc1JVRkJUU3hQUVVrelF5eFRRVUZTYUVNc1NVRkpRemgzUWl4WFFVRlpPWGRDTEVsQlFUQkVMRmRCUVdwRVZ5eEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hYUVVGWExFVkJRVTl4ZUVJc1MwRkhNVVJ5ZUVJc1JVRkJTelo0UWl4cFFrRkJhVUkxZVVJc1UwRkZkRUp0ZVVJc1JVRkJhVVVzWlVGQmJrUjZlVUlzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1lVRkJZU3hGUVVGUGNYaENMRWxCUzNCRVRTeEZRVUZ0UWtNc1MwRkJZelY0UWl4TFFVVm9RMmhETEVWQlFVMW5ReXhGUVVGTk5IaENMRTFCUzJRMWVrSXNSVUZCVFRoM1FpeFhRVUZaT1hkQ0xFbEJRVk1zUjBGSk1VSnBla0lzUjBGRFEycDRRaXhGUVVOQmEzaENMRVZCUTBGTExFbEJRVmRJTEVWQlFXTXNVMEZCVnl4WFFVTndRMDhzUlVGRFFVNHNSVUZIUVhKNlFpeEhRVVZGTEV0QksxTk1MRk5CUVZNNGVrSXNSMEZCVHpsNFFpeEZRVUZOWlN4RlFVRlRkMlFzUlVGQlRUVmtMRVZCUVV0dmVFSXNSMEZEZWtNc1QwRkJUeXhKUVVGSlJDeEhRVUZOTlhsQ0xGVkJRVlZJTEV0QlFVMXBRaXhGUVVGTlpTeEZRVUZUZDJRc1JVRkJUVFZrTEVWQlFVdHZlRUlzUjBFM1V6VkVjSHBDTEVWQlFVOXRReXhQUVVGUkxFTkJTV1JyZUVJc1UwRkJWU3hEUVVOVVF5eFJRVUZUTEVOQlExSXplVUlzU1VGQlN5eFRRVUZWVlN4RlFVRk5jWFJDTEVkQlEzQkNMRWRCUVV0QkxFVkJRVmNzUTBGSFppeEpRVUZKTTNSQ0xFVkJRVTB3ZEVJc1IwRkJVWEIwUWl4RlFVRk5MRmRCUTNoQ0xFMUJRV1VzUzBGQlVrNHNSVUZCWVN4SlFVRk5RU3hOUVU4NVFuVm9RaXhWUVVGWExFTkJRMVpwVWl4NVFrRkJNa0lzUlVGRE0wSkRMR0ZCUVdVc1JVRkRaa01zWVVGQlpTeEZRVU5tUXl4VlFVRlpMRVZCUTFwRExGbEJRV01zUlVGRFpIcENMRmxCUVdNc1JVRkRaREJDTEZWQlFWa3NSVUZEV2tNc1dVRkJZeXhGUVVOa1F5eGxRVUZwUWl4RlFVTnFRa01zYVVKQlFXMUNMRVZCUTI1Q1F5eFRRVUZYTEVWQlExaERMRmxCUVdNc1JVRkRaRU1zWTBGQlowSXNSVUZEYUVKRExGbEJRV01zUlVGRFpHSXNVMEZCVnl4RlFVTllZeXhQUVVGVExFVkJRMVJETEZOQlFWY3NSVUZEV0VNc1VVRkJWU3hGUVVOV1F5eFJRVUZWTEVWQlExWkRMRTFCUVZFc1IwRkxWQzlETEZOQlFWVXNSMEZIVmk5UUxFMUJRVThzVTBGQlZYSm5RaXhGUVVGTlowSXNSVUZCVFRoQ0xFVkJRVTk1ZFVJc1IwRkhia01zUjBGQlRYWjRRaXhIUVVFd1FpeEpRVUZzUWtFc1JVRkJTemRETEZWQlFXOURMRWxCUVd4Q05rTXNSVUZCU3pkRExGVkJRVzFDTmtNc1JVRkJTM0ZuUWl4TlFVRnNSU3hEUVV0QkxFbEJRVWt6WjBJc1JVRkJTMjVETEVWQlFVMHJhRUlzUlVGRFpEaFVMRVZCUVZkMlZpeEZRVUZYTjJNc1IwRkRkRUp4ZVVJc1JVRkJaVGRETEVkQlFWbHdia0lzUzBGQlRYQkpMRWRCUTJwRGNXWXNSVUZCVVhKblFpeEZRVUZMY1dkQ0xFMUJZV1FzUjBGU1RXZFVMRWxCUTB4eWVVSXNSVUZCVDJ0MlFpeEhRVUZsYTBRc1NVRkpka0k1VkN4RlFVRlJNMmRDTEVWQlFVOXhla0lzVTBGQlZXaDRRaXhKUVVGVmNrTXNSVUZCVDNGNlFpeFRRVUZWYjBJc1VVRkhja016ZUVJc1NVRkJWbkZDTEVWQk1FTktMRTlCUVV0M1l5eEhRVUZUTEZGQlFWTkJMRkZCUTNkQ04yUXNTMEZCTlVNdlFpeEZRVUZOTkdZc1JVRkJUV2huUWl4SlFVRkxWU3hIUVVGTkxFVkJRVTkxZUVJc1NVRkZla0kzZUVJc1JVRkpSREpuUWl4RlFVRlBjbVlzUjBFM1EwRXNXVUZJWkhwRUxGTkJRV04xUml4TFFVZGpjRVFzUlVGQlRYRm5RaXhIUVVGUmFsZ3NTMEZCVFdoSExFdEJRV0Z3UkN4RlFVRkxMRXRCUTJwRmIwUXNSVUZCVVRCa0xFZEJRVmQ0WjBJc1JVRkJUV2RDTEVWQlFVMTBRaXhIUVVjdlFtNURMRVZCUVU4c1ZVRkpUU3hOUVVGVWRVWXNSMEZCYVVKQkxFZEJRVlZCTEVsQlQyeENMRmRCUVZSMlJpeEhRVUZ6UWpneFFpeEpRVU14UW5aM1FpeEhRVUZUY0VRc1IwRkJUMEVzUlVGQlN5eExRVUZUWml4RlFVRlBjMmxDTEZWQlFWZHRVeXhIUVVGaExFZEJRVXNzVDBGSk4wUndNa0lzUlVGQlVXbDVRaXhwUWtGQk5rSXNTMEZCVm01elFpeEhRVUZwUkN4SlFVRnFRemxDTEVWQlFVdDJSU3hSUVVGVExHZENRVU01UkRScVFpeEZRVUZQY21Zc1IwRkJVeXhYUVVsWWMyVXNSMEZCV1N4UlFVRlRRU3hSUVVOelFqZGtMRXRCUVRsRGNVSXNSVUZCVVhkakxFVkJRVTFxUWl4SlFVRkxjbVVzUlVGQlRUaERMRVZCUVU5NWRVSXNUVUZGTjBJNFFpeEZRVU5LYUZRc1JVRkJUV2xVTEZsQlFXRjBlVUlzUlVGQlRUaENMRWRCUlhwQ2RXUXNSVUZCVDNKbUxFZEJRVk00UWl4TlFXdENjRUo1WkN4SlFVRkxMRk5CUVZWMlowSXNSVUZCVFdkQ0xFVkJRVTExZDBJc1JVRkJUMFlzUjBGRGFrTXNTVUZCU1hKNlFpeEZRVUZMZFVJc1JVRkJTeXRtTEVWQlEySTRWQ3hGUVVGWGRsWXNSVUZCVnpkakxFZEJOa0oyUWl4UFFUVkNaMEozZGtJc1IwRkJXWEJ1UWl4TFFVRk5jRWtzUzBGTmFrTkJMRVZCUVU5cmRrSXNSMEZCWld0RUxFdEJTWFpDT1ZRc1JVRkJVVE5uUWl4RlFVRlBjWHBDTEZOQlFWVm9lRUlzU1VGQlZYSkRMRVZCUVU5eGVrSXNVMEZCVlc5Q0xFdEJSM1JETEZGQlFWTTVWQ3hKUVVOMFFuUm9RaXhGUVVGTmMyaENMRVZCUVUxb1owSXNTVUZCUzFVc1IwRkJUU3hGUVVGTmRYaENMRk5CU1dwQ09YWkNMRWxCUVZKNlJDeEpRVU5LUVN4RlFVRk5iM1pDTEVkQlFWRndkRUlzUlVGQlRXZENMRVZCUVUxeGQwSXNTVUZKWkN4WFFVRlNjbnBDTEVkQlFXOUNaMFFzUzBGQlVUSjJRaXhMUVVOb1F6TjVRaXhGUVVGTk1ubENMRWRCUVc5Q00zWkNMRWxCU1Zvc1MwRkJWblYzUWl4SFFVRm5Ra0VzUjBGRGNFSm9lVUlzUlVGQlRYVjJRaXhYUVVGWk9YZENMRWxCUTBRc1NVRkJWblY2UWl4SFFVRnJRbWRETEZOQlFWVm9NRUlzUjBGQlVVRXNSMEZCVHl4RlFVRkpka0lzUjBGSGFFUkJMRXRCU1ZSWExFVkJRVTlyUWl4TFFVRk5MRU5CUVVVc1UwRkJWU3hUUVVGWExGTkJRVlZ6UkN4RlFVRkpLM1JDTEVkQlEycEVkbmxDTEVWQlFVOXhla0lzVTBGQlZXUXNSMEZCWXl4RFFVTTVRalY0UWl4SlFVRkxMRk5CUVZWVkxFVkJRVTF4ZEVJc1JVRkJWV3RGTEVkQlF6bENMRWRCUVV0c1JTeEZRVWxLTEU5QlFVOXJSQ3hIUVVGaGJtNUNMRXRCUVUxNlN5eEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hoUVZGNFEwRXNSVUZCU3paNFFpeHBRa0ZCYVVJMWVVSXNVVUZCVjJVc1JVRkJTM2Q2UWl4M1FrRkJkMEpzUnl4TlFVbHFSVzlGTEVkQlFXdENNWGhDTEVWQlFVMXJlRUlzUlVGQlYwc3NSMEZJYmtOMFJTeEhRVUZOYW5SQ0xFVkJRVTE1ZDBJc1IwRkJVeXhYUVVOd1FpeFBRVUZQYVVJc1IwRkJhMEl4ZUVJc1JVRkJUV3Q0UWl4RlFVRlhTeXhOUVUwNVEyeFVMRWxCUVVzc1UwRkJWWEpsTEVWQlFVMDRReXhGUVVGUGVYVkNMRWRCUXpOQ0xFbEJRVWsxZFVJc1JVRkRTREIxUWl4RlFVRlRka1VzUjBGQlZ6bHpRaXhIUVVsd1FubDZRaXhIUVVGelFub3lRaXhGUVVGUmNYbENMR2xDUVVOVUxHRkJRWEJDWjBNc1JVRkJUelZETEZOQlNWSXlReXhIUVVSclFuRkRMRWRCUVhOQ2JFTXNTVUZGV1N4bFFVRnVSRFY1UWl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeGhRVUZoTEVWQlFVOXhlRUlzUjBGRGRrTk9MRVZCUVZkUkxFVkJRMVpPTEVkQlEwTnFlRUlzUlVGRFFXdDRRaXhGUVVOQlN5eEZRVU5CU0N4RlFVTkJReXhIUVVWRUxFVkJjVUpHTEU5QmFrSkxSQ3hIUVVGbGNVTXNTVUZEYmtJeFF5eEhRVUZaY0haQ0xFdEJRVXM0ZGtJc1MwRkRhRUo2ZUVJc1JVRkJUU3hUUVVGWGEzaENMRVZCUVZjc1IwRkJTWFJVTEdOQlFXZENjMVFzUlVGQlZXZ3hRaXhOUVVGUExFbEJRMnBGTkhsQ0xGZEJRVmwxUXl4RlFVRlJTQ3hKUVVOd1FrUXNSMEZCYjBKcWVFSXNSVUZCVFd0NFFpeEZRVUZYTEZWQlFWVXNSVUZCVDBjc1IwRkRkRVFzUzBGTFIwNHNTVUZCWTNCMVFpeEZRVUZWYjJRc1IwRkJVV3BZTEV0QlFVMW9SeXhMUVVOaUxGRkJRVE5DU0N4RlFVRlRMRWxCUVU4c1VVRkZiRUl6UXl4RlFVRkxjV2RDTEUxQlFVODJVU3hIUVVGamNIVkNMRVZCUXpGQ1FTeEZRVUZSYmtVc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMXJlRUlzU1VGSGNFSktMRWRCUVcxQ09YZENMRVZCUVUwNFF5eEZRVUZQYVhWQ0xFOUJTekZEY0hsQ0xFVkJRVTl4ZWtJc1UwRkJVek5FTEZkQlFXRldMRWRCUVdNemQwSXNSVUZCVVc5NVFpeHRRa0ZEYkVRc1UwRkJWWEIyUWl4RlFVRk5jWFJDTEVkQlEyWXNSMEZCUzBFc1JVRkRTaXhQUVVGVGVVSXNWMEZCV1RGQ0xFZEJRVkZ3ZEVJc1JVRkJUU3huUWtGRGJFTkJMRVZCUVV0M2VrSXNkMEpCUVhkQ1JTeExRVU0xUW5wSExFZEJRVTFxZEVJc1JVRkJUU3hEUVVGRmNYVkNMRmRCUVZrc1IwRkJTeXhYUVVNNVFpeFBRVUZQY25WQ0xFVkJRVXQzZWtJc2QwSkJRWGRDUlN4UlFVVnVReXhQUVUxUUx6QkNMRVZCUVU5clFpeExRVUZOTEVOQlExbzRla0lzVDBGQlVTeEhRVU5TUXl4UlFVRlRMRWRCUTFSRExFOUJRVkVzVTBGRFRpeFRRVUZWUXl4RlFVRlJReXhIUVVOd1FuQXhRaXhGUVVGUGNYcENMRk5CUVZVNFFpeEZRVUZUUXl4SFFVRlhMRU5CUTNCRFF5eFBRVUZSTEZOQlFWVnNlRUlzUjBGUGFrSXNTVUZPUVN4SlFVRkpMMFVzUlVGQlNTeEZRVU5RYXpKQ0xFVkJRVmNzUjBGSFdFTXNSVUZCZVVJc2FVSkJRVlp3ZUVJc1JVRkJjVUpCTEVWQlFVMUpMRTFCUVU4c1MwRkJVU3hEUVVGRlNpeEhRVVZ3UkM5RkxFVkJRVWtzUlVGQlIwRXNTVUZEWkdzeVFpeEZRVUZWU0N4RlFVRlRPVlFzUjBGQlYycHBRaXhIUVVGTlp6SkNMRWRCUTI1RFJ5eEZRVUZQYmpKQ0xFbEJRVTl0TWtJc1JVRkJUMjR5UWl4RlFVRkpMRWxCUVU5dE1rSXNSVUZCVHl4SFFVZDZReXhQUVVGUFJDeEpRVWxQTEZkQlFWaElMRWxCUTBwdU1VSXNSVUZCVDNGNlFpeFRRVUZWT0VJc1JVRkJVME1zUjBGQlV6RldMRWxCUVUxNVV5eE5RVWt6UTI1NVFpeEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVU5xUW5sbUxFbEJRVXNzVTBGQlZYWm1MRVZCUVUwNFFpeEhRVU53UWl4UFFVRlBiV0VzUlVGQlVYSm9RaXhMUVVGTkxGTkJRVlZ2UlN4RlFVRk5aMElzUlVGQlRUaENMRWRCUXpGRExFbEJRVWwxZFVJc1JVRkJVVFYzUWl4RlFVTllWaXhGUVVGTkxFZEJRMDVvUXl4RlFVRkpMRVZCUlV3c1IwRkJTM2RFTEUxQlFVMURMRkZCUVZOU0xFZEJRVk1zUTBGSk5VSXNTVUZJUVhGM1FpeEZRVUZUZGtVc1IwRkJWemx6UWl4SFFVTndRbE1zUlVGQlRVOHNSVUZCU3k5Q0xFOUJSVWhzUWl4RlFVRkpNRU1zUlVGQlN6RkRMRWxCUTJoQ1owTXNSVUZCUzJsQ0xFVkJRVTFxUkN4SlFVRlJXU3hGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFdkQ0xFVkJRVTFxUkN4SlFVRkxMRVZCUVU5emVrSXNSMEZIZUVRc1QwRkJUM1I0UWl4RlFVZFNMRmxCUVdsQ01FSXNTVUZCVm5GQ0xFVkJRMDV1UlN4RlFVRlBNR2hDTEUxQlFVOXlaMElzUlVGQlRXZENMRVZCUVUwNFFpeEhRVU14UW01RkxFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5aMElzU1VGRGFrSkJMRVZCUVUwNFFpeEZRVUZQTjBNc1ZVRkJWV2hDTEU5QlFWTXNUVUZSY2tOT0xFVkJRVTl0ZWtJc1RVRkJVVUVzUjBGRlprRXNSMEZCVFRWNVFpeFZRVUZaTEVOQlEycENSU3haUVVGaE1IbENMRWRCUTJJdmVVSXNTMEZCVFN4VFFVRlZhVUlzUlVGQlRXVXNSVUZCVTNka0xFVkJRVTAxWkN4RlFVRkxiM2hDTEVWQlFWRXZVU3hIUVVOcVJIQnNRaXhMUVVGTGIwVXNTMEZCVDBFc1JVRkRXbkJGTEV0QlFVc3lhVUlzUzBGQlQwRXNSVUZEV2pOcFFpeExRVUZMYlRKQ0xFOUJRVk5CTEVkQlFWVndla0lzUlVGQlQyOTZRaXhQUVVGUGRGQXNVMEZEZEVNM2JVSXNTMEZCUzIxR0xGRkJRVlZCTEVWQlEyWnVSaXhMUVVGTGFWVXNUVUZCVVdwVkxFdEJRVXR6YzBJc1NVRkJUWFJ6UWl4TFFVRkxOazhzVFVGRE4wSTNUeXhMUVVGTEswVXNTVUZCVFVFc1JVRkRXQzlGTEV0QlFVdHZiRUlzUzBGQlQwRXNTVUZCVlhKcFFpeEZRVUZQYzJsQ0xGVkJRVmN4UXl4SFFVRlRMRWRCUVVzc1QwRkZka1E1VkN4SlFVRkxMRmRCUTBvc1NVRkJTVFpWTEVWQlFWRjNVeXhIUVVGTmNVTXNWVUZCVjNZMFFpeExRVUZMTW1sQ0xFMUJSV3hETEU5QlFVOWxMRWRCUVZOQkxFVkJRVTFvWjBJc1NVRkRja0puWjBJc1JVRkJUV2huUWl4SlFVRkxNVVFzVFVGRFdHc3lRaXhIUVVGTmNVTXNWVUZCVlRGU0xGTkJRVk51YWtJc1NVRkJTekZFTEU5QlJXaERkelJDTEVsQlFVc3NVMEZCVlVNc1IwRkRaQ3hKUVVGSlF5eEZRVU5JYUZZc1JVRkJVWGRUTEVkQlFVMXhReXhWUVVGWGRqUkNMRXRCUVVzeWFVSXNUVUZ2UWk5Q0xFOUJiRUpMTTJsQ0xFdEJRVXR0Uml4UlFVRlJkM3BDTEZOQlEycENNelJDTEV0QlFVczBORUlzU1VGQlRVWXNSVUZCVVRNeFFpeEZRVUZQYjNwQ0xFOUJRVkZ1TWtJc1MwRkJTMjB5UWl4UlFVTjBRM05ETEVWQlFWTjZORUlzUzBGQlMyMUdMRkZCUVZGM2VrSXNVMEZCVjBZc1JVRkJVeXhGUVVGSExFVkJRVWQ2TkVJc1MwRkJTMjFHTEZGQlFWRjNla0lzVlVGSE9VUXpORUlzUzBGQlN6UTBRaXhKUVVGTlJpeEZRVUZSUkN4RlFVVndRbm8wUWl4TFFVRkxjM05DTEV0QlFWRjBjMElzUzBGQlN5dEZMRWxCUVUwdlJTeExRVUZMYVZVc1QwRkJWWGxyUWl4RlFVRlJNVFJDTEV0QlFVdHBWU3hOUVVVdlEycFZMRXRCUVV0dFJpeFJRVUZSTUhwQ0xFMUJRMnBDTnpSQ0xFdEJRVXR0Uml4UlFVRlJNSHBDTEV0QlFVdHdORUlzUzBGQlRWUXNTMEZCUzI5RkxFdEJRVTF3UlN4TFFVRkxjM05DTEVsQlFVdDBjMElzVFVGSGVrTXdha0lzUjBGQlUwRXNSVUZCVFdwQ0xFbEJRMjVDYVVJc1JVRkJUV3BDTEVsQlFVdDZhVUlzVFVGRldHc3lRaXhIUVVGTmNVTXNWVUZCVlRGU0xGTkJRVk53UlN4SlFVRkxlbWxDTEUxQlJYaENRU3hQUVVsVWF6SkNMRWRCUVUwMWVVSXNWVUZCVlVnc1MwRkJTMGNzVlVGQldUUjVRaXhIUVVGTk5YbENMRlZCUlhaRE5IbENMRWRCUVUxeFF5eFZRVUZaTEVOQlEycENNVklzVTBGQlZTeERRVU5VYm1wQ0xFbEJRVXNzVTBGQlZXOW9RaXhIUVVOa0xFbEJRVWw0VWl4RlFVbEtMRTlCUVRaQ0xFbEJRWGhDZDFJc1JVRkJUVEZuUWl4TFFVRkxOME1zVlVGRFlTeE5RVUUxUW5WcVFpeEZRVUZOTVdkQ0xFdEJRVTB3WjBJc1JVRkJUVzVETEU5QlFXOUVMRTFCUVd4RGJVTXNSVUZCVFRGblFpeExRVUZMY1dkQ0xFMUJRVTlMTEVWQlFVMXVReXhOUVVOeVJHMURMRVZCUVUweFowSXNTMEZCVFRCblFpeEZRVUZOYmtNc1QwRlBNVUp5VUN4RlFVRlRkbEVzUlVGQlR6Um9RaXhKUVVGTFJ5eEZRVUZOTVdkQ0xFdEJRVTB3WjBJc1JVRkJUVzVETEV0QlFVMHNUVUZIYUVJc1UwRkJXSEpRTEVWQlFYZENRU3hGUVVGS0xFZEJSWFpEYlZBc1NVRkJTeXhUUVVGVmNVTXNSMEZMVkM5b1FpeEZRVUZQS3pGQ0xFZEJRVWRFTEV0QlFVMHZWQ3hGUVVGTmJrTXNUVUZETVVJMVppeEZRVUZQS3pGQ0xFZEJRVWRFTEV0QlFVMHZWQ3hGUVVGTmJrTXNUVUZCVVcxRExFZEJRMHNzU1VGQmVFSkJMRVZCUVUweFowSXNTMEZCU3pkRExGZEJRM1JDZDBJc1JVRkJUM0Y2UWl4VFFVRlZkRklzUlVGQlRXNURMRTlCUXpaQ0xFMUJRVzVFYlVNc1JVRkJUVEZuUWl4TFFVRkxjV2RDTEUxQlFVODJVQ3hIUVVGbGVGQXNSVUZCVFc1RExFOUJSM2hEYlVNc1JVRkJUVEZuUWl4TFFVRk5NR2RDTEVWQlFVMXVReXhOUVVGVGJVTXNSVUZCVFhkSUxFbEJSbXBEZG5CQ0xFVkJRVTh3YUVJc1RVRkJUMHNzUlVGQlRURm5RaXhMUVVGTk1HZENMRVZCUVUxdVF5eExRVUZOYlVNc1JVRkJUWGRJTEVsQlFVMTRTQ3hGUVVGTlRTeFRRVlUxUkRoUkxFZEJRVTF4UXl4VlFVRlZVU3hWUVVGWk4wTXNSMEZCVFhGRExGVkJRVlZUTEZkQlFXRXNRMEZEZUVSMlZ5eEpRVUZMTEZOQlFWVnhReXhIUVVOVVFTeEZRVUZOTVdkQ0xFdEJRVXMzUXl4VlFVRlpkV3BDTEVWQlFVMHhaMElzUzBGQlMzaENMR0ZCUTNSRGEybENMRVZCUVUweFowSXNTMEZCVFRCblFpeEZRVUZOYmtNc1RVRkJVMjFETEVWQlFVMTNTQ3hQUVV0d1EzWndRaXhGUVVGUGIzcENMRTlCUVZNc1EwRkRaamhETEU5QlFWRXNVMEZCVlVNc1IwRkRha0lzVDBGQlQwRXNSMEZGVWtNc1RVRkJUeXhUUVVGVlJDeEhRVU5vUWl4TlFVRlBMRWRCUVUxdWVrSXNTMEZCUzNGNlFpeEpRVUZMUml4RlFVRkpibnBDTEV0QlFVdHpla0lzU1VGQlR5eEhRVVY0UTNoVExGTkJRVlVzVTBGSFdEbHFRaXhGUVVGUEt6RkNMRWRCUVVzMVF5eEhRVUZOTlhsQ0xGVkJRVlZJTEV0QlJ6VkNTaXhGUVVGUEt6RkNMRWRCUVVkRUxFdEJRVThzUjBGTGFrSXNTVUZEUTFNc1IwRkJUME1zUjBGRFVFTXNSMEZCVnl4NVFrRkRXRU1zUjBGQlR5eGpRVVZTTEZOQlFWTkRMRXRCUTBoSUxFMUJRM0ZDTEVsQlFYQkNNelZDTEVWQlFWTXJOVUlzVVVGQmIwSTFOVUlzUlVGQlR6WTFRaXh6UWtGRGVFTTNOVUlzUlVGQlR6WTFRaXh6UWtGQmRVSkdMRWxCUlRsQ016VkNMRVZCUVU5blowSXNWMEZCV1RKYUxFZEJRVlV6TWtJc1JVRkJUeXN4UWl4SFFVRkhaU3hWUVVkNFF6a3lRaXhGUVVGUEt6RkNMRWRCUVVkblFpeFJRVXRhTEZOQlFWTkRMRXRCU1ZJc1QwRklRV2cyUWl4RlFVRlBaMmRDTEZkQlFWa3NWMEZEYkVKMVdpeFJRVUZSZW5wQ0xFbEJSVUY1ZWtJc1IwRkJVVGQzUWl4TFFVRkxObXBDTEUxQlNYWkNMRk5CUVZNd1RpeEhRVUZQY2pSQ0xFVkJRVTF6TkVJc1IwRkRja0lzU1VGQlNUbE1MRVZCUTBob2MwSXNSVUZCU1N4RlFVTktjMDBzUlVGQlVTeERRVUZGY1d4Q0xFOUJRVkZ1ZVVJc1IwRkxia0lzU1VGRVFYTTBRaXhGUVVGbFFTeEZRVUZsTEVWQlFVa3NSVUZETVVJNU0wSXNSVUZCU1N4RlFVRkhRU3hIUVVGTExFVkJRVWs0TTBJc1JVRkZka0o0Y2tJc1JVRkJUeXhWUVVSUU1HWXNSVUZCVVM5S0xFZEJRVmRxYVVJc1MwRkRVM05OTEVWQlFVOHNWVUZCV1RCbUxFZEJRVlY0YzBJc1JVRlBNVVFzVDBGS1MzTTBRaXhKUVVOS2VISkNMRVZCUVUwMGJrSXNVVUZCVlRWdVFpeEZRVUZOYVdwQ0xFMUJRVkV2ZGtJc1IwRkhlRUk0VFN4RlFVZFNMRk5CUVZONWNrSXNSMEZCWVdoNlFpeEZRVUZQZVdJc1JVRkJUWGRZTEVkQlMyeERMRWxCU2tFc1NVRkJTWEpXTEVWQlEwaDNTeXhIUVVGbE9Fc3NSMEZCVlVNc1UwRkJWVEZZTEVsQlFWVXNTVUZCUzJwcFFpeFBRVUZSTURWQ0xFZEJRVlZETEZOQlFWVXNUVUZET1VVdlpTeEZRVUZSTEVWQlExSnFXU3hGUVVGVGFYTkNMRVZCUVZkcWMwSXNUMEZEWW1sWkxFVkJRVkZxV1N4RlFVRlJhVmtzU1VGRGRrSXNSMEZCVDNkS0xFVkJRVkYzU3l4RlFVRlphRlVzUjBGQlVUZGhMRXRCUVUwd05VSXNSVUZCVjNoWUxFVkJRVTE2WWl4SFFVZDZSQ3hQUVVGUE5HUXNSVUZ6VGxZc1UwRkJVM05XTEVkQlFWZG9Na0lzUlVGQlRXc3lRaXhGUVVGWmJqRkNMRWRCUTNKRExFbEJRVWx0VHl4RlFVTklhVzVDTEVWQlEwRnFaaXhGUVVGUkxFVkJRMUpxV1N4RlFVRlRLekpDTEVkQlFWVkpMRmRCUVZkdU0wSXNUMEZET1VKcFlpeEZRVUZYZG1Jc1JVRkJUMnRpTEZkQlFWZEpMRTlCUVZFc2EwSkJSemRDZVdJc1JVRkJTekV4UWl4UFFVVmlNREZDTEVWQlFVOHNWMEZEVGl4SFFVRkxVeXhGUVVOS0xFOUJRVThzUlVGWlVpeEpRVlpCTEVsQlFVbEZMRVZCUVdOdVFpeEpRVUZUVXl4TFFVTXhRalZhTEVWQlFWbHdZU3hMUVVGTGNYWkNMRWxCUVVzc1JVRkJSeXRGTEVWQlFWVlBMRlZCUVZsUUxFVkJRVlY0UWl4VFFVRlhPRUlzUjBGTGNFVm9ReXhGUVVGVkxFZEJSRWgwV1N4RlFVRlpaMkVzUlVGQlZYaENMRlZCUVZrc1IwRkZla055WkN4RlFVRlJMRVZCUTFKcVdTeEZRVUZUT0RKQ0xFVkJRVlZSTEU5QlFVOTBNMElzVDBGRmJrSnBXU3hGUVVGUmFsa3NSVUZCVVdsWkxFbEJRM1pDTm1Vc1JVRkJWVkVzVDBGQlVYSm1MRWRCUVZGclpDeEpRVUZMUXl4SFFVMW9ReXhQUVVoQmJtRXNSVUZCVTJ0Q0xGZEJRVmx3WWl4RlFVRk5MRU5CUVVVck1VSXNSVUZCVnpGQ0xFVkJRVk4wV1N4SlFVYzFRM05aTEVWQlFWVXNSMEZCUzNBeFFpeEZRVU5hT0dNc1IwRkpSamxqTEVkQlEweHBZaXhGUVVGVGEwSXNWMEZCV1hCaUxFVkJRVTBzUTBGQlJTc3hRaXhGUVVGWExFVkJRVWNzU1VGSk5VTTNZaXhGUVVGVGJVSXNXVUZCWVhKaUxFVkJRVTBzUTBGQlJTc3hRaXhMUVVOMlFpeEpRVVZTUVN4RlFVRlpOMklzUlVGQlV6RkNMRkZCUVZNc1EwRkROMEo0V1N4TFFVRk5RU3hGUVVOT05tNUNMRTFCUVU5c2NFSXNSVUZCVDIxRExFOUJRVkVzUjBGQlNXOHhRaXhIUVVNeFFrMHNTMEZCVFRjelFpeEZRVUZQYlVNc1VVRkJVU3hGUVVGTkxFTkJRekZDTWpGQ0xHTkJRV1VzUjBGRFpqRkZMRTlCUVZGd2VrSXNSVUZCVDI5NlFpeFBRVUZQZEZBc1ZVRkRjRUl4YUVJc1IwRkRTREl4UWl4dFFrRkJiMEpTTEVWQlEzQkNVeXhuUWtGQmFVSTFNVUlzUlVGRGFrSjFNVUlzVlVGQlYzQkNMRWxCUVZOVExFdEJRM0JDY0VJc1UwRkJWWGg2UWl4RlFVRlJkM3BDTEZOQlEyeENaME1zVDBGQlVTeEhRVU5TVkN4WlFVRmhMRk5CUVZWMldDeEZRVUZOTldRc1IwRkROVUlzU1VGQlNTdG1MRVZCUVZFdmFFSXNSVUZCVDIxNlFpeE5RVUZQT1hoQ0xFVkJRVTByTVVJc1JVRkJWVk1zUzBGQlRXcFpMRVZCUVUwMVpDeEZRVU55Ukc4eFFpeEZRVUZWVXl4TFFVRkxReXhqUVVGbGJGa3NTVUZCVlhkWUxFVkJRVlZUTEV0QlFVdDZSU3hSUVVWNFJDeFBRVVJCWjBVc1JVRkJWVkVzVDBGQlR5ODFRaXhMUVVGTmEydENMRWRCUTJoQ1FTeEhRVVZTYkVJc1MwRkJUU3hUUVVGVmIxZ3NSMEZEWml4SlFVRkpNV1lzUlVGQlVTeEZRVWxZYWxrc1JVRkJVekl6UWl4RlFVRlZZaXhGUVVGVlVTeFBRVUZQZEROQ0xFOUJRVk1zUlVGRE9VTXNSMEZCUzJzelFpeEZRVU5LTEU5QlFVOTJOa0lzUzBGSFVpeEpRVVJCZFRaQ0xFZEJRVlVzUlVGRFJtcG1MRVZCUVZGcVdTeEZRVUZSYVZrc1NVRkRka0kyWlN4RlFVRlZVU3hQUVVGUmNtWXNSMEZCVVd0a0xFbEJRVXNzUjBGVmFFTXNUMEZPUzNkRExFZEJRMG94WXl4RlFVRlRhMElzVjBGQldYQmlMRVZCUVUwc1EwRkJSU3N4UWl4RlFVRlhMRVZCUVVjc1NVRkRNME0zWWl4RlFVRlRiVUlzV1VGQllYSmlMRVZCUVUwc1EwRkJSU3N4UWl4RlFVRlhZU3hMUVVWNlF6RmpMRVZCUVZOMVFpeFhRVUZaZW1Jc1JVRkJUU3hEUVVGRkt6RkNMRVZCUVZkaExFbEJSV3hEYURkQ0xGRkJSMVJwYzBJc1JVRkJVV3RQTEVWQlFWVnNUeXhOUVVsdVFpeExRUzlJUkN4VFFVRnhRa0VzUlVGQlR6UlBMRWRCUXpOQ0xFbEJRVWwyWml4RlFVRlBiRmNzUlVGQlRTdDNRaXhGUVVGUmFuWkNMRVZCUVU5M1l5eEZRVWRvUXl4SlFVRk5jRWtzUzBGQlV6SlJMRVZCWldRc1IwRmlRV3RMTEVWQlFWTXdSU3hGUVVSVWVqRkNMRVZCUVU4Mll5eEZRVUZYTTBjc1NVRkZiRUp3VlN4RlFVRlJLMnRDTEVWQlFVOHpVU3hIUVVOV00xWXNUVUZCVFVNc1VVRkJVM05DTEV0QlEyNUNhWFpDTEVWQlFWTnFka0lzUlVGQlR5eEhRVU5vUWtFc1JVRkJVU3RyUWl4RlFVRlBNMUVzUjBGQlZYQlZMRVZCUVU4c1NVRkhOVUp2VlN4SlFVRlZiRmNzU1VGRFpEWnRRaXhGUVVGUE4yMUNMRWRCUVZNNFFpeFRRVU5VSzJ0Q0xFVkJRVTh6VVN4TFFVZG1iMGtzUlVGQlVUTm5RaXhGUVVGUGNYcENMRk5CUVZWb2VFSXNTMEZEV0N4WFFVRlpjMlVzUlVGTmVrSXNTVUZCVFhCSkxFdEJURTV3VlN4RlFVRlJkMk1zUlVGQlRUQlZMRTlCUVZGc2VFSXNWVUZEWml0clFpeEZRVUZQTjIxQ0xFZEJTVU00UWl4RlFVTk9iMVVzUzBGQlV6SlJMRWxCUTJoQ1FTeEZRVUZQTTFFc1IwRkJWWEJWTEVWQlFVOXZWU3hIUVVONFFuVm1MRVZCUVdWMlppeEhRVUZWTm1Fc1VVRkpNMEl3UlN4RlFVRmxlakZDTEVkQlFWTXJkMElzUlVFMlJqRkNPRVVzUTBGQldXaFFMRVZCUVU5clR5eEZRVUZWVXl4TFFVRkxReXhsUVVVeFFuWm1MRVZCUVZGcVdTeEZRVUZSYVZrc1NVRkZka0lzUjBGRVFXaEpMRVZCUVZNNGJVSXNSMEZCVlVrc1YwRkJXV3htTEVkQlFWRTNZU3hMUVVGTk1EVkNMRVZCUVZjdk1VSXNSVUZCVFRadVFpeEZRVUZQYTA4c1JVRkJWVk1zVFVGTk9VVXNUMEZLUzNZMVFpeEZRVUZaYVZNc1JVRkJUM05STEZGQlEzWkNOMmRDTEVWQlFVODBaMElzV1VGQllYZFhMRVZCUVZVdk1VSXNTMEZCVFNzeFFpeEZRVUZWVXl4TFFVRkxjR1FzVDBGQlVXOUhMRXRCUXpGRWRGRXNSVUZCVDNOUkxFdEJRVXR6V0N4TFFVRk5OVzVDTEVsQlJXSkJMRVZCZVVKVUxFOUJja0pCZGxFc1JVRkJUMjlDTEVsQlFVczRia0lzUlVGQlQybFBMRWRCUVdGRExFZEJSVE5DT1RSQ0xFVkJRVms0TkVJc1JVRkJWVk1zUzBGQlN6TnRRaXhSUVVNdlFtdHRRaXhGUVVGVlV5eExRVUZMTTIxQ0xFMUJRVTE0VkN4TFFVRk5Na1FzUlVGQlRTc3hRaXhIUVVsc1EwRXNSVUZEUlhSaUxGTkJRVlZ6WWl4RlFVRlZVeXhMUVVGTEwySXNWVUZEZWtKcVZ5eExRVUZOZFhoQ0xFVkJRVlZUTEV0QlFVdG9lVUlzUzBGQlRYVjRRaXhGUVVGVlV5eExRVUZMVHl4VlFVTXhRM1JsTEV0QlFVMXpaQ3hGUVVGVlV5eExRVUZMTDJRc1RVRkRja0ozUWl4UFFVRlJPR0lzUlVGQlZWTXNTMEZCUzNaakxGRkJSWHBDZEdJc1JVRkJUeXN4UWl4SFFVRkhjME1zVFVGRFZISTBRaXhGUVVGUGJVTXNUMEZCVVRRd1FpeEZRVUZOTEVOQlEzQkNNVEZDTEV0QlFVMUJMRVZCUTA1cE0wSXNTMEZCVFd4Q0xFVkJRMDR6WXl4TlFVRlBNbU1zUlVGQlZWTXNTMEZCUzNCa0xGTkJTV3BDTW1Nc1JVRkhVbkF6UWl4RlFVRlBjVE5DTEZWQlFWbHlNMElzUlVGQlQyMURMRTlCUVZGck1VSXNSMEZCVnl4RFFVVTFRME1zVTBGQlZTeERRVU5VYVVJc1NVRkJTeXhEUVVGRkxGTkJRVlV6V1N4RlFVRk5lbUlzUjBGRGRFSXNTVUZCU1RSa0xFVkJRVkU1YTBJc1MwRkJTMnMyUWl4WlFVRmhkbGdzUlVGQlRYcGlMRWRCUlhCRExFOUJSRUV3WkN4SFFVRlhSU3hGUVVGTk1XZENMRXRCUVUxMVpTeEZRVUZOZDBJc1IwRkJVV3BZTEV0QlFVMW9SeXhIUVVGVE5HUXNSMEZETjBOQkxFdEJTVlI1Vnl4UlFVRlRMRk5CUVZWMFVDeEZRVUZQTDI1Q0xFZEJRM0JDTjBNc1JVRkJXVFJ4UWl4SlFVTm9RaTl1UWl4RlFVRlhLMjVDTEVWQlExaEJMRVZCUVZFc1EwRkJSU3hOUVVWV1FTeEZRVUZSUVN4RlFVRk5jR1lzVFVGQlQzRlFMRWRCVDNSQ0xFbEJTa0VzU1VGQlNYbEhMRVZCUTBoeVNDeEZRVUZSTEVWQlExSnFXU3hGUVVGVE5HOUNMRVZCUVUwMWIwSXNUMEZGVW1sWkxFVkJRVkZxV1N4RlFVRlJhVmtzU1VGRGRrSnhTQ3hGUVVGUGMwb3NSVUZCVHpOUkxFZEJRMlE0WlN4SFFVRlZReXhUUVVGVk1WZ3NSMEZCVTNsWUxFZEJRVlZETEZOQlFWVXhXQ3hKUVVGVkxFZEJRek5FZVZnc1IwRkJWVU1zVTBGQlZURllMRWRCUVU5b1VpeFJRVUZUZWs0c1NVRkpkRU56TWtJc1YwRkJXU3hEUVROWFlpeFRRVUV5UW5BeVFpeEZRVUZOTm01Q0xFVkJRVTh5VHl4SFFVTjJReXhKUVVGSmFsa3NSVUZCVFhwaUxFVkJRVTgwWlN4RlFVRlJjRU1zUlVGQlR6aFlMRVZCUVZORExFVkJRVmRETEVWQlFXZENhRmdzUlVGRGJrVnBXQ3hGUVVGUkxGVkJRVmN4VUN4SFFVRlRMRmRCUVZsQkxFVkJRM2hEYjFBc1JVRkJUM0kzUWl4TFFVTlFlWFZDTEVWQlFVOHNSMEZEVUdoTExFVkJRVkZ5WjBJc1JVRkJTM0ZuUWl4TlFVTmlhMVlzUlVGQlUzWXhRaXhGUVVGTE4wTXNWVUZCV1dscVFpeEhRVUZ2UW5CblFpeEhRVU01UTNjelFpeEZRVUZYTDFrc1JVRkJVMjVtTEVsQlFVdFZMRVZCUVUwc1ZVRTJRbWhETEVsQlFVMTFaU3hMUVRGQ1FXbFpMRVZCUVV0d1pDeFJRVVZoTEU5QlJIWkNhMGNzUlVGQlVUTm5RaXhGUVVGUE5HZENMRmxCUVdGMlppeEZRVUZOTEU5QlEzWkNlVE5DTEZkQlExWnVXU3hGUVVGTmJWa3NVMEZCVnl4RlFVTnFRa3dzUlVGQlZUbFlMRVZCUVUwM1RpeE5RVUZOTmtnc1MwRkRkRUpuUnl4RlFVRk5OMDRzVFVGQlRUWklMRXRCUVU4c1YwRkRXbWRITEVWQlFVMXRXU3hWUVVOWVRDeE5RVWxJT1Znc1JVRkJUVzFaTEZkQlJVNVNMRVZCUVV0b1pDeFBRVUZSTEZkQlIxcG5aQ3hGUVVGTGFHUXNUMEZCVVN4WFFVTmFjVVlzUlVGQlRXMVpMRmRCUTBFNU5FSXNSVUZCVDNsaExFMUJRVTl3V2l4RlFVRk5MRTFCUVU5bUxGRkJRMmhEY1dkQ0xFVkJRVTAzVGl4TlFVRk5Oa2dzV1VGUFJuVlBMRVZCUldJc1IwRkVRUzlyUWl4RlFVRlJLMnRDTEVWQlFVOTBTaXhIUVVOV05sY3NSMEZCVTJoelFpeExRVUZOZEVjc1IwRkJWU3hEUVVjM1FpeFZRVVpQSzJ0Q0xFVkJRVTkwU2l4SFFVTmtiVVFzUlVGQlUwRXNSMEZCYjBJc1YwRkJWalZsTEVWQlEyUkJMRXRCUVZsNWVVSXNSVUZCVXl4UFFVRlRMRkZCUVZjc1EwRkpOME1zUjBGQlpTeFRRVUZXZW5sQ0xFbEJRVzlDTURCQ0xGRkJRV2xETHpGQ0xFbEJRWEpDS3pGQ0xFVkJRVlZxV2l4SFFVczVReXhUUVVwQloxZ3NSMEZCVXl4RlFVOVliRXdzUlVGQlRUbE1MRWRCUVZOcFdpeEhRVUZaUVN4RlFVRlZhbG9zU1VGQlZUVm1MRVZCUVU4d2FFSXNUVUZCVDNKblFpeEZRVUZOZFdVc1IwRk5ja1VzU1VGRVFUaFpMRWRCUVdFeE5FSXNSVUZCVDNsRUxHTkJRV1Y1YkVJc1RVRkRhRUpzY0VJc1JVRkJUM2xFTEdOQlFXVnBiMElzUjBFNFJIcERMRWxCUVUwNVRDeExRWHBFUkdkYUxFZEJRVEpDTEVsQlFXeENkak5DTEVWQlFVczNReXhYUVUxc1FuRTFRaXhGUVVGTGEwSXNVMEZCVnl4RFFVRkZjbGdzUlVGQlRYRllMRk5CUVZWeVdDeEZRVUZOYzFnc1ZVRkJWM1JZTEVWQlFVMTFXQ3hYUVVsc1F5eFBRVVIyUWs0c1JVRkJhVUpGTEVkQlFWbEJMRVZCUVZOc1dDeFhRVVZ5UTJkWUxFVkJRV2xDTjFrc1JVRkJVMjVtTEVsQlFVdFZMRVZCUVUwc1dVRkhja0lzVlVGRWFrSnpaMElzUlVGQlZUTm9RaXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4alFVVjBRbk16UWl4RlFVTkthRmdzUlVGQlZXZFlMRWRCU1Zab1Z5eEhRVUZWTEVOQlFVVjBhRUlzU1VGQlVTeEhRVU53UW5NelFpeEZRVUZwUW5RelFpeEZRVUZMY1dkQ0xFMUJRVTFETEZOQlFWZG5XQ3hGUVVOMlEyaFlMRVZCUVZVemFFSXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzVjBGRE5VSnphRUlzUjBGQlZTeERRVUZGZEdoQ0xFOUJTMGNzVjBGQlduTm5RaXhIUVVGdlF5eHBRa0ZCV2tFc1IwRkJaMFFzVFVGQmJFSm5XQ3hKUVVOeVFpeFRRVUZvUXpNMFFpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hYUVVkb1FuRXpRaXhKUVVOTVNpeEZRVUZMZW5sQ0xFdEJRVTBzVjBGRFZqWmlMRVZCUVUxRExGRkJRVlZuV0N4SlFVVk5MRTFCUVd4Q1FTeEpRVU5LYUZnc1JVRkJWVVFzUlVGQlRVTXNVVUZEYUVKbldDeEZRVUUyUWl4VFFVRmFhRmdzUlVGQmNVSXNSMEZCUzBFc1NVRkhOME5FTEVWQlFVMURMRkZCUVZVc2FVSkJTMlJyVnl4RlFVRkxhMElzVjBGRFZISllMRVZCUVUxeFdDeFRRVUZYTEZOQlEycENWQ3hGUVVGTGFHUXNUMEZCVVN4WFFVTmFiMGNzUlVGQlRYRllMRk5CUVZkc1FpeEZRVUZMYTBJc1UwRkJWU3hIUVVOb1EzSllMRVZCUVUxeldDeFZRVUZaYmtJc1JVRkJTMnRDTEZOQlFWVXNSMEZEYWtOeVdDeEZRVUZOZFZnc1ZVRkJXWEJDTEVWQlFVdHJRaXhUUVVGVkxFMUJTMjVEVEN4SFFVRlpMRVZCUTBWb1RpeEZRVWRRWjA0c1NVRkRRVWNzUlVGRFF5eFhRVUZaUVN4SlFVTm9RbXBETEVWQlFWTnBReXhGUVVGVGFrTXNVVUZIYmtKcFF5eEZRVUZYTDFrc1JVRkJVM2hDTEU5QlFWRnFaQ3hGUVVGTkxGTkJRVlVzUTBGQlJYTm5RaXhSUVVGVFoxZ3NTVUZKYmtRMVZpeEpRVU5LT0ZZc1JVRkJVMnBETEZGQlFWVkJMRWRCU1daQkxFZEJRMHBxVlN4SFFVRlZMRU5CUVVWMGFFSXNTVUZCVVN4SFFVdHlRbWt6UWl4RlFVRkxlbmxDTEV0QlFVMHNWMEZUVml4SlFVRk5LMW9zUzBGS1FXZFlMRWRCUTB4cVZTeEhRVUZWTEVOQlFVVjBhRUlzU1VGRllubGxMRVZCUVZOb1JpeFBRVUZSZWxvc1JVRkJUU3hWUVVOVWNYRkNMRVZCUTJJeGNrSXNSVUZCVHpCb1FpeE5RVUZQY21kQ0xFVkJRVTExWlN4RlFVRk5PRXdzUlVGQlRUbE1MRTlCVFc1RE9Ga3NSVUZCV1haQ0xFZEJRV0ZRTEVWQlFWTnBReXhGUVVGVmFsb3NSMEZCVXl4RlFVRkhRU3hGUVVGTk1Ga3NSMEZEZEVReFdTeExRVUZSYVZvc1NVRkRaa0VzUlVGQlZXcGFMRWRCUVZNNFdTeEZRVUZWZUc1Q0xFMUJRM2hDTUd4Q0xFbEJRMG80UWl4RlFVRlZNVEpDTEVsQlFVMHdNa0lzUlVGQlZYaHVRaXhOUVVNeFFuZHVRaXhGUVVGVmVHNUNMRTFCUVZFc1RVRjFUWEpDWjI5Q0xGVkJRVmNzVTBGQlZTOHpRaXhGUVVGVmJYTkNMRWRCUTNwQ1FTeEZRVU5LSzBvc1IwRkJWVWtzVjBGQlZ6ZHZRaXhSUVVGVGVrNHNSMEZGT1VKck1rSXNSMEZCVlVrc1YwRkJWelUxUWl4TFFVRk5jMFFzVFVGTE9VSnVRaXhGUVVGUGJUVkNMRTFCUVZFc1UwRkJWVUVzUlVGQlR5OUdMRVZCUVZGcWVrSXNSMEZEZGtNc1NVRkJTV2sxUWl4RlFVRk5SQ3hIUVVFd1FpeHBRa0ZCVmtFc1JVRkJjVUp1TlVJc1JVRkJUMjFETEU5QlFWRXNSMEZCU1djelFpeEhRVUZWTEVOQlF6TkZaaXhUUVVGVmFqUkNMRWxCUVU5QkxFZEJRVTFwZWtJc1IwRkRkRUk1TUVJc1JVRkJXVFkyUWl4SlFVRlhRU3hGUVVONFFuWkVMRk5CUVZWMVJDeEZRVU5XTDBZc1QwRkJVV3A2UWl4SFFVRk5hWHBDTEVkQlFWVkJMRWxCUVZjNU1FSXNSVUZCV1Rnd1FpeEpRVUZaUVN4SFFXOUROVVFzVDBGb1EwdHdla0lzUlVGQlR5c3hRaXhIUVVGSGJGRXNTVUZEWkhWVUxFVkJRVWw0UkN4VFFVRlhMRVZCUjJNc2FVSkJRV3BDZDBRc1JVRkJTWGhFTEZkQlExWjNSQ3hGUVVGSmVFUXNXVUZCV1RVeFFpeEZRVUZQS3pGQ0xFZEJRVWR6UkN4UFFVTTVRa1FzUlVGQlNYaEVMRk5CUVZjMU1VSXNSVUZCVHlzeFFpeEhRVUZIYzBRc1QwRkJVVVFzUlVGQlNYaEVMRlZCUjNKRGQwUXNSVUZCU1hoRUxGTkJRVmMxTVVJc1JVRkJUeXN4UWl4SFFVRkhjMFFzVDBGQlQzWldMRlZCVFdwQ0xFMUJRV0p6Vml4RlFVRkpNMlVzVVVGQkswSXNTVUZCWkRKbExFVkJRVWt6WlN4UlFVTTNRakpsTEVWQlFVa3paU3hOUVVGUkxFMUJTV0l5WlN4RlFVRkpOMHNzU1VGQlRUWkxMRVZCUVVsb1FpeFRRVVZrWjBJc1JVRkJTV2hDTEZOQlFWY3NWMEZEVkRrMVFpeEZRVUZaT0RaQ0xFVkJRVWszU3l4TlFVTndRalpMTEVWQlFVazNTeXhKUVVGSk4zZENMRXRCUVUxVUxFMUJSMVp0T0VJc1JVRkJTVE5sTEU5QlExSjZZU3hGUVVGUGVXZENMRkZCUVZONGFrSXNTMEZCVFcwNFFpeEZRVUZKTTJVc1VVRkpja0l5WlN4SFFVZFNjRFZDTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENiVE5DTEU5QlFWRXNVMEZCVlVnc1JVRkJUMGtzUlVGQlNXNUhMRVZCUVZGcWVVSXNSMEZIY0VNc1QwRkJUMnhGTEV0QlFVdHhVU3hQUVVGUmJWVXNTVUZCY1VKSExFbEJRVXNzVlVGQlZ5eEhRVUZKWjBJc1QwRkhNMFExWjBJc1RVRkJUWGN6UWl4UlFVRlRMRU5CUVVWc1J5eFJRVUZUYVVjc1IwRkJUVW9zUlVGQlR5OUdMRVZCUVZGcWVVSXNTVUZGYkVSeE5FSXNVVUZCVXl4VFFVRlZOVm9zUlVGQlRYVmFMRVZCUVU4dlJpeEZRVUZSYW5sQ0xFZEJRM1pETEVsQlFVa3lVaXhGUVVGUk9WTXNSVUZCVDNsRUxHTkJRV1Z0WXl4SFFVTnFRelphTEVWQlFWTjZOVUlzUlVGQlQyMDFRaXhOUVVGUFFTeEZRVUZQTDBZc1JVRkJVV3A1UWl4SFFVTjBRM1UwUWl4RlFVRmpMRmRCUjJJc1NVRkJTWEJDTEVWQlFVOXFRaXhIUVVGWGNEWkNMRXRCUVUwclF5eEZRVUZQYlVNc1QwRkJVU3hIUVVGSmVXUXNSMEZCVVRaYUxFbEJSMnhFTTIxQ0xFZEJRVk5uVGl4RlFVRlRibVlzU1VGQlN6RkVMRXRCUVUwc1dVRkRha054TjBJc1JVRkJTM3BZTEUxQlFVMHNTVUZOWkN4UFFVWkJObGtzUlVGQldVTXNUMEZCVTBRc1JVRkZaRFZ0UWl4SlFVRXdRaXhKUVVGcVFqSnRRaXhGUVVGUGFHWXNUVUZEZEVKNFpDeExRVUZMYVVVc1MwRkJUWGMwUWl4SFFVTlllamhDTEV0QlFVdDNaQ3hOUVVGUFoyWXNSVUZCVDJobUxFMUJRVTlwWml4SlFVVTFRamRaTEV0QlFVMHNVMEZCVldwcFFpeEZRVUZOYldsQ0xFVkJRVmxyV0N4SFFVTnFReXhKUVVGSk1rSXNSVUZCV1N4VFFVRlZhbG9zUjBGRGVrSXNTVUZCU1VVc1JVRkJUMFlzUlVGQlRVVXNXVUZEVmtZc1JVRkJUVVVzUzBGRFlrRXNSVUZCVFc5WUxFbEJXVkFzVFVGVWNVSXNhVUpCUVZSeU5VSXNTVUZEV0hFMVFpeEZRVUZWYkZnc1JVRkRWa0VzUlVGQllXNXBRaXhGUVVOaVFTeFBRVUZQYTBVc1IwRkZTR2xsTEVkQlEwbzVha0lzUzBGQlMzZGtMRTFCUVU4M1lpeEhRVUZSTEV0QlFVMHNTVUZIY0VJelFpeExRVUZMYVVVc1MwRkJUU3hYUVVOcVFpeEpRVUZKZFdZc1IwRkJWU3hGUVVOaWJFa3NSVUZCWjBJc1RVRkJVak5hTEVkQlFXZENRU3hGUVVGUExHRkJReTlDYVRkQ0xFVkJRVk0zTlVJc1JVRkJUelkxUWl4UFFVTm9RbXhoTEVWQlFVOUhMRVZCUVZOdVppeEpRVUZMTVVRc1RVRkZkRUlzUjBGQlMzTmlMRVZCUTBOdlNDeEZRVUZOY0Vnc1NVRkJWMjlJTEVWQlFVMXdTQ3hIUVVGUmMwa3NUVUZEYmtNcldTeEZRVUZYYW1Fc1JVRkJUWEJJTEZOQlIyeENMRWxCUVUxQkxFdEJRVk52U0N4RlFVTlVRU3hGUVVGTmNFZ3NTVUZCVjI5SUxFVkJRVTF3U0N4SFFVRlJjMGtzVFVGQlVUWldMRWRCUVV0cWMwSXNTMEZCVFRoT0xFbEJRM1JFY1doQ0xFVkJRVmRxWVN4RlFVRk5jRWdzU1VGTGNFSXNTVUZCVFVFc1JVRkJVWE5vUWl4RlFVRlBkalZDTEU5QlFWRnBXU3hMUVVOMlFuTm9RaXhGUVVGUmRHaENMRWRCUVZGc1dDeFBRVUZUY0VVc1RVRkRia0lzVFVGQlVqSkNMRWRCUVdkQ2FUZENMRVZCUVZGMGFFSXNSMEZCVVd0RExGRkJRVlUzWWl4SlFVVTFRMmszUWl4RlFVRlJkR2hDTEVkQlFWRXJaaXhMUVVGTGVsZ3NTMEZCVFc5WUxFZEJRek5DZUZnc1IwRkJWU3hGUVVOV2Ixb3NSVUZCVHpNelFpeFBRVUZSY1Zjc1JVRkJUeXhMUVU5dVFtdEpMRWRCUVZsM1dDeEhRVU5vUW1vMFFpeEZRVUZQZVdkQ0xGRkJRVk40YWtJc1MwRkJUVEpDTEUxQlNYcENLelpDTEU5QlFWRXNVMEZCVlM4MlFpeEhRVWxxUWl4UFFVaGpMRWxCUVZSQkxFbEJRMHBCTEVWQlFVOUJMRWRCUVZFc1RVRkZWRE5DTEV0QlFVdHBSU3hMUVVGTkxGZEJRMnBDTEVsQlFVbHhXQ3hGUVVOSWIwZ3NSVUZCVDBjc1JVRkJVMjVtTEVsQlFVc3hSQ3hOUVVOeVFuZGtMRVZCUVZGclJpeEZRVUZOTDJkQ0xFVkJRVThzVTBGRGNrSXJhRUlzUlVGQlVXaENMRVZCUVUwdlowSXNSVUZCVHl4alFVTnlRbWszUWl4RlFVRlROelZDTEVWQlFVODJOVUlzVDBGRGFFSjJOVUlzUlVGQlUyMWhMRVZCUVZGQkxFVkJRVTF1WVN4UFFVRlRMRVZCWVdwRExFbEJWa0Z4Wml4RlFVRkxaMkVzVVVGQlV5eEZRVWRrTXpWQ0xFVkJRVTk1WVN4TlFVRlBlR1FzUzBGQlRUSkNMRVZCUVUwc1NVRkZja0lyYUVJc1IwRkJVMEVzUlVGQlRVVXNUVUZEYmtKR0xFVkJRVTFGTEV0QlFVdHVha0lzUzBGQlRWUXNUVUZCVFN4SFFVbHNRbk5pTEVWQlFWRnphRUlzUlVGQlQzWTFRaXhQUVVGUmFWa3NTMEZEZGtKemFFSXNSVUZCVVhSb1FpeEhRVUZSYkZnc1QwRkJVM0JGTEUxQlFWRTBPRUlzUlVGQlVYUm9RaXhIUVVGUmEwTXNVVUZCVlRkaUxFbEJReTlFYVRkQ0xFVkJRVkYwYUVJc1IwRkJVU3RtTEV0QlFVdDZXQ3hOUVVGTkxFZEJRek5DWjFvc1JVRkJUek16UWl4UFFVRlJjVmNzUlVGQlR5eEpRVXQ0UWl4SlFVRk5RU3hGUVVGUkxFVkJRVWRCTEVWQlFWRnFXU3hGUVVGUmFWa3NTVUZETTBKclF5eEZRVUZQYkVNc1NVRkJWMnRETEVWQlFVOXNReXhIUVVGUmIyaENMRkZCUTNKRGJHWXNSVUZCVDJ4RExFZEJRVkZ2YUVJc1QwRkJUMm80UWl4TFFVRk5WQ3hoUVV0MlFqQnBRaXhGUVVGTFoyRXNXVUZMWmpNMVFpeEZRVUZQYTBJc1MwRkJUU3hEUVVGRkxGTkJRVlVzVDBGQlVTeFJRVUZWTEZOQlFWVnpSQ3hGUVVGSmJrTXNSMEZEZUVRc1NVRkJTWGt6UWl4RlFVRlJPVFZDTEVWQlFVOUhMRWRCUVVsclF5eEhRVU4yUW5KRExFVkJRVTlITEVkQlFVbHJReXhIUVVGVExGTkJRVlU0TWtJc1JVRkJUeTlHTEVWQlFWRnFlVUlzUjBGRE5VTXNUMEZCWjBJc1RVRkJWR2MwUWl4SFFVRnJReXhyUWtGQlZrRXNSVUZET1VKWExFVkJRVTFzT0VJc1RVRkJUMWdzUzBGQlRYRkZMRmRCUTI1Q2NrVXNTMEZCUzNVNFFpeFJRVUZUZGtNc1IwRkJUelV3UWl4SFFVRk5MRWRCUVZFNE1rSXNSVUZCVHk5R0xFVkJRVkZxZVVJc1RVRkxja1J1UWl4RlFVRlBhMElzUzBGQlRTeERRVU5hTmpSQ0xGVkJRVmM1UXl4SFFVRlBMRkZCUTJ4Q0swTXNVVUZCVXk5RExFZEJRVThzVVVGRGFFSm5SQ3haUVVGaGFFUXNSMEZCVHl4VlFVTndRbWxFTEU5QlFWRXNRMEZCUlRWSExGRkJRVk1zVVVGRGJrSTJSeXhSUVVGVExFTkJRVVUzUnl4UlFVRlRMRkZCUTNCQ09FY3NWMEZCV1N4RFFVRkZPVWNzVVVGQlV5eFhRVU55UWl4VFFVRlZhbmhDTEVWQlFVMDJiVUlzUjBGRGJFSnNjRUlzUlVGQlQwY3NSMEZCU1d0RExFZEJRVk1zVTBGQlZUZ3lRaXhGUVVGUEwwWXNSVUZCVVdwNVFpeEhRVU0xUXl4UFFVRlBiRVVzUzBGQlMzVTRRaXhSUVVGVGRGRXNSVUZCVDJsUkxFVkJRVTh2Uml4RlFVRlJhbmxDTEUxQlNUZERia0lzUlVGQlR6WTFRaXhQUVVGVExFZEJRMmhDTnpWQ0xFVkJRVThyTVVJc1IwRkJSMmRDTEV0QlFVOHNWMEZEYUVJc1NVRkJTWE5DTEVWQlEwaHFOVUlzUlVGQlNTeEZRVU5LZVRaQ0xFVkJRVk0zTlVJc1JVRkJUelkxUWl4UFFVbHFRaXhKUVVaQmRFUXNSMEZCVVRkM1FpeExRVUZMTm1wQ0xFMUJSVXh1Y1VJc1JVRkJTWGsyUWl4RlFVRlBkalZDTEU5QlFWRnNRaXhMUVVNeFFtazFRaXhGUVVGUmQwSXNSVUZCVVhvMlFpeFBRVWREZVRaQ0xFVkJRVkY2TmtJc1MwRkJVV2sxUWl4SFFVTm9RM2RDTEVWQlFVOHpNMElzVDBGQlVUbERMRWxCUVVzc1IwRkphRUo1TmtJc1JVRkJUM1kxUWl4UlFVTmFUaXhGUVVGUEt6RkNMRWRCUVVkc1ZpeFBRVVZZTUZZc1VVRkJVWHA2UWl4SFFVZFVPVU1zUlVGQlR5c3hRaXhIUVVGSGMwTXNUVUZCVVN4VFFVRlZRU3hIUVVNelFuSTBRaXhGUVVGUE5qVkNMRTlCUVU5b09FSXNTMEZCVFhjMlFpeEhRVU53UW5JMFFpeEZRVUZQS3pGQ0xFZEJRVWMzYTBJc1UwRkhXR3hTTEVWQlFVOHJNVUlzUjBGQlIyVXNVMEZCVnl4SFFVTnlRamt5UWl4RlFVRlBLekZDTEVkQlFVYzNhMElzVFVGQlVTeFhRVU5hYzJ4Q0xFdEJTVXhCTEVsQlFXRXNSVUZEWWtjc1QwRkhSRE15UWl4RlFVRlBLekZDTEVkQlFVZHNWaXhMUVVGUExGZEJRMmhDTWxZc1IwRkJZU3hOUVVka2VESkNMRVZCUVU4ck1VSXNSMEZCUjNORUxFOUJRVk1zUTBGRGJFSm5RaXhMUVVGTkxFbEJRMDVETEV0QlFVMHNTVUZIVG5oWExGTkJRVlVzUzBGTldEbHFRaXhGUVVGUFJ5eEhRVUZIYnpaQ0xFMUJRVkVzVTBGQlZVTXNSVUZCVFRVM1FpeEhRVWxxUXl4UFFVaEJORGRDTEVWQlFVOTROa0lzUlVGQlR5c3hRaXhKUVVGTEx6RkNMRVZCUVU4ck1VSXNSMEZCUjNORUxFOUJRVkZ0UWl4SlFVRnBRa0VzUlVGRGRFUTFOMElzUlVGQlQwRXNSMEZCVVN4TFFVVlNNMElzUzBGQlMzZGtMRTFCUVU4M1lpeEZRVUZOTEZOQlFWVXlTeXhGUVVGTmIxZ3NSMEZEZUVNc1NVRkJTVGhhTEVWQlFWVjZPVUlzUlVGQlQyZG5RaXhYUVVGWmVsUXNSVUZCVFdsNFFpeEhRVU4yUXpkYUxFVkJRVTFGTEV0QlFVOHNWMEZEV2pkcVFpeEZRVUZQTURsQ0xHRkJRV05FTEU5QlRYaENMRmRCUTBNc1NVRkJTVGR6UWl4RlFVRlJMMUVzUlVGQlV6QkRMR05CUVdVc1UwRkZia00yTlVJc1JVRkVVM1k0UWl4RlFVRlRNRU1zWTBGQlpTeFZRVU53UWtzc1dVRkJZUzlETEVWQlFWTXdReXhqUVVGbExGZEJSVzVFY1U4c1JVRkJUV2hRTEV0QlFVOHNWMEZKWWxBc1JVRkJVWE00UWl4UlFVRXdRaXhMUVVGb1FpOXpRaXhGUVVGTmVrb3NUVUZKZUVJNVJpeEZRVUZSZFRoQ0xGbEJRV040UWl4RlFVRkplRzFDTEZWQlNURkNhRVlzUlVGQlVTOVJMRVZCUVZNd1F5eGpRVUZsTEZWQlF6RkNORVVzVFVGQlVTeEpRVU5rZVVvc1JVRkJUV2hRTEV0QlFVOHNVVUZEWWxBc1JVRkJVWGM0UWl4WFFVRTJRaXhOUVVGb1FtcDBRaXhGUVVGTmVrb3NUVUZ3UWpWQ0xFZEJkMEpCTEVsQlFVa3lNa0lzUjBGRFNHeDJRaXhIUVVGaE5Vd3NSVUZCVHpaUExFdEJRVXRxUkN4WFFVVXhRalZNTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENORTBzUzBGQlRTeFRRVUZWTVUwc1JVRkJUVGhDTEVkQlEzSkNMRTlCUVU5dFlTeEZRVUZSY21oQ0xFdEJRVTByUXl4RlFVRlBLMDhzUzBGQlRURk5MRVZCUVUwNFFpeEZRVUZQTjBNc1ZVRkJWV2hDTEU5QlFWTXNTVUZIYmtWNU5rSXNWMEZCV1N4VFFVRlZNVFJDTEVkQlEzSkNMRTlCUVU5d1JpeExRVUZMYVVVc1MwRkJUU3hYUVVOcVFteENMRVZCUVU4ck5rSXNWMEZCV1RrNVFpeExRVUZOYjBZc1VVRkxOVUp5UXl4RlFVRlBiVU1zVDBGQlVTeERRVU5rTkUwc1MwRkJUU3hUUVVGVk1VNHNSVUZCVFdkQ0xFVkJRVTA0UWl4SFFVTXpRaXhKUVVGSmNFUXNSVUZCU3pSbUxFVkJRMUp4WVN4RlFVRlJNelZDTEVWQlFVczNReXhUUVVka0xFZEJRV1VzU1VGQlZuYzRRaXhIUVVGNVFpeEpRVUZXUVN4SFFVRjVRaXhKUVVGV1FTeEZRVXR1UXl4WlFVRnJReXhKUVVGMFFqTTFRaXhGUVVGTE5VSXNZVUZEVkU4c1JVRkJUelJtTEV0QlFVMTJaU3hGUVVGTlowSXNSVUZCVFRoQ0xFbEJTMnhDTEVsQlFWWTJNa0lzUjBGQlowSm9OMElzUlVGQlR5dFhMRk5CUVZVeFZpeExRVU55UTNObUxFVkJRVkV6WjBJc1JVRkJUMmszUWl4VlFVRlhOVFJDTEVWQlFVdHZReXhwUWtGRE5VSjZSU3hGUVVGUE5rOHNTMEZCU3k5RkxFMUJRVTFxUXl4TFFVRkxORU1zUzBGQlRYQkpMRWRCUVZONU5FSXNVVUZCVjJnMFFpeFRRVWQwUTBFc1NVRkJWbkZDTEVWQlExY3NUMEZCVmtFc1QwRkRTbTVGTEVWQlFVOHJOa0lzVjBGQldURTFRaXhGUVVGTlowSXNSMEZKY2tKelpTeEhRVUZUTEZGQlFWTkJMRkZCUTNWQ04yUXNTMEZCTTBNdlFpeEZRVUZOTkdZc1JVRkJUV3BDTEVsQlFVdHlaU3hGUVVGTk9FTXNSVUZCVHpsQ0xFbEJRM3BDZEVJc1IwRkhVazBzUlVGQlN6TkNMR0ZCUVdNeVF5eEZRVUZOT0VJc1JVRkJVU3hKUVVNeFFrRXNSMEZIU0hkakxFZEJRVk1zVVVGQlUwRXNSMEZCSzBNc1VVRkJjRU0xWml4RlFVRk5OR1lzUlVGQlRXaG5RaXhKUVVGTFZTeEZRVUZOWjBJc1NVRkRha1IwUWl4RlFVMU5MRTlCU0dSQkxFVkJRVTFtTEVWQlFVOTNUaXhMUVVGTGRVSXNTMEZCVFRGT0xFVkJRVTFuUWl4VFFVZFVVeXhGUVVGWkwwSXNTVUZIYkVOck5rSXNWVUZCVnl4RFFVTldjamhDTEV0QlFVMHNRMEZEVERoblFpeEpRVUZMTEZOQlFWVnlaU3hGUVVGTk9FTXNSMEZEY0VJc1NVRkJUVGxHTEVWQlFWRjNPRUlzV1VGQmQwSXNWVUZCVmpFeVFpeEhRVU16UW10R0xFVkJRVlZvU1N4RlFVRk5MRk5CUVZrc1EwRkROVUlzU1VGQlNXaERMRVZCUVUxblF5eEZRVUZMT0VNc1RVRkxaaXhQUVVwQk9VTXNSVUZCU3pOQ0xHRkJRV01zVDBGQlVYbEZMRWRCUTNSQ09VVXNTVUZEU21kRExFVkJRVXM0UXl4TlFVRlJPVVVzUjBGRlVEaEZMRTFCVFZnME1rSXNWMEZCV1N4VFFVRlZNVFZDTEVWQlFVMDRReXhIUVVNelFpeEpRVUZKT1VJc1JVRkRTR3BFTEVWQlFVa3NSVUZKU2pnM1FpeEZRVUZaTHpKQ0xFZEJRVk5CTEVWQlFVMHlSaXhOUVVGUGNWQXNSMEZGYmtNc1IwRkJTeXRvUWl4SFFVRXJRaXhKUVVGc1FqYzFRaXhGUVVGTE4wTXNVMEZEZEVJc1MwRkJWVFpFTEVWQlFVODJORUlzUlVGQlZ6azNRaXhOUVVNelFtbERMRVZCUVVzeVNpeG5Ra0ZCYVVJelNTeE5RVTh4UW5rMFFpeEhRVUZYTEVOQlExWndZaXhKUVVGTExGTkJRVlZ5WlN4RlFVRk5PRU1zUlVGQlR6bENMRWRCVVROQ0xFOUJVR1VzU1VGQlZqaENMRVZCUjBwdVJTeEZRVUZQS3paQ0xGZEJRVmt4TlVJc1JVRkJUV2RDTEVkQlJYcENhRUlzUlVGQlN6TkNMR0ZCUVdNeVF5eEZRVUZOUVN4SFFVVnVRa0VzU1VGSlZISkRMRVZCUVU5clFpeExRVUZOYkVJc1JVRkJUelpQTEV0QlFVc3ZSU3hOUVVGTmFrTXNTMEZCUzNOYUxFOUJRVTl5V0N4TlFVRlBMRkZCUVZVc1UwRkJWWFJHTEVWQlFVbHVReXhIUVVONlJTeEpRVUZKT0RSQ0xFVkJRVk4yZGtJc1IwRkJXWFpLTEVsQlFWVnlReXhGUVVGUGQwNHNTMEZCUzNWQ0xFdEJSUzlEYmtRc1IwRkJXWFpLTEVkQlFWTXNVMEZCVldoQ0xFVkJRVTFuUWl4RlFVRk5kME1zUjBGRE1VTXNTVUZCU1RsRUxFVkJRVXR0YlVJc1JVRkRVbXRWTEVWQlFXZENMelJDTEVWQlFVdHZReXhqUVZsMFFpeFBRVlpOU1N4SlFVZE1jV2xDTEVWQlFWTjBZaXhIUVVGWmQzWkNMRWRCUTNKQ2VIWkNMRWRCUVZsM2RrSXNSMEZCYTBKeU5rSXNSVUZET1VKQkxFVkJRWEZETEUxQlFTOUNielpDTEVWQlFWRTVOVUlzUlVGQlRXZENMRVZCUVUxM1F5eEhRVU42UW5VeVFpeEZRVU5CTEV0QlEwUjRka0lzUjBGQldYZDJRaXhIUVVGclFteFZMRWRCUlhoQ2JtMUNMRXRCVDFRc1NVRkJTWE0yUWl4SFFVRmhMSE5EUVVOb1FrTXNSMEZCWVN4blFrRjVTV0lzVTBGQlUwTXNSMEZCYTBKd00wSXNSMEZGTVVJc1QwRkVZVUVzUlVGQlRUSkdMRTFCUVU5eFVDeEpRVUZ0UWl4SlFVTXZRblJQTEV0QlFVMHNTMEZKZEVJc1UwRkJVekozUWl4SFFVRlZialpDTEVkQlEyeENMRTlCUVU5QkxFVkJRVXMxUWl4alFVRm5RalJDTEVWQlFVczFRaXhoUVVGakxGVkJRV0VzUjBGSE4wUXNVMEZCVTJjNFFpeEhRVUZuUW5RelFpeEhRVU40UWl4UFFVRkxka0lzVFVGQlRVTXNVVUZCVTNOQ0xFZEJRMXBCTEVWQlJXTXNhVUpCUVZaQkxFZEJRMHBCTEVWQlFVMHlSaXhOUVVGUGNWQXNTVUZGWkN4SFFYaEtVbTVhTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENlV1FzUzBGQlRTeFRRVUZWZG1Rc1JVRkJUVGhDTEVkQlEzSkNMRTlCUVU5dFlTeEZRVUZSY21oQ0xFdEJRVTByUXl4RlFVRlBOR1lzUzBGQlRYWmtMRVZCUVUwNFFpeEZRVUZQTjBNc1ZVRkJWV2hDTEU5QlFWTXNTVUZIYmtWdk4wSXNWMEZCV1N4VFFVRlZjalZDTEVkQlEzSkNMRTlCUVU5d1JpeExRVUZMYVVVc1MwRkJUU3hyUWtGRFZtcEZMRXRCUVUwclF5eEZRVUZQTWpkQ0xGRkJRVk4wTlVJc1NVRkJWVUVzVVVGTE1VTnlReXhGUVVGUGJVTXNUMEZCVVN4RFFVTmtlV1FzUzBGQlRTeFRRVUZWZG1Vc1JVRkJUV2RDTEVWQlFVMDRRaXhIUVVNelFpeEpRVUZKY0VRc1JVRkJTelJtTEVWQlExSnhZU3hGUVVGUk16VkNMRVZCUVVzM1F5eFRRVWRrTEVkQlFXVXNTVUZCVm5jNFFpeEhRVUY1UWl4SlFVRldRU3hIUVVGNVFpeEpRVUZXUVN4RlFWZHVReXhQUVZCbExFbEJRVlpCTEVkQlFXZENhRGRDTEVWQlFVOHJWeXhUUVVGVk1WWXNTMEZIY2tOblFpeEZRVUZQY2tNc1JVRkJUekkzUWl4UlFVRlRkRFZDTEVsQlFWVkJMRVZCUTJwRGMyVXNSVUZCVVROblFpeEZRVUZQZHpGQ0xGVkJRVmR1ZWtJc1UwRkhXbE1zU1VGQlZuRkNMRVZCUTBOM1l5eEhRVUZUTEZGQlFWTkJMRkZCUTNWQ04yUXNTMEZCTTBNdlFpeEZRVUZOTkdZc1JVRkJUV3BDTEVsQlFVdHlaU3hGUVVGTk9FTXNSVUZCVHpsQ0xFbEJRM3BDZEVJc1JVRkhRMDBzUlVGQlRXZENMRWRCUVZNNFFpeEZRVWR3UW5kakxFZEJRVk1zVVVGQlUwRXNSMEZCSzBNc1VVRkJjRU0xWml4RlFVRk5OR1lzUlVGQlRXaG5RaXhKUVVGTFZTeEZRVUZOWjBJc1NVRkRha1IwUWl4RlFVZEVUU3hGUVVGTlowSXNTVUZIWkcxNlFpeFZRVUZYTEVOQlExWXZhVUlzVTBGQlZTeERRVU5VT1ZJc1NVRkJTeXhUUVVGVlZTeEhRVTlrTEVsQlFVbDFOa0lzUlVGQlZ6VTNRaXhGUVVGUGQwNHNTMEZCUzNWQ0xFdEJRVTB4VGl4RlFVRk5MRmxCUlhaRExFOUJRVXQxTmtJc1JVRkRSelZMTEZOQlFWVTBTeXhGUVVGVkxFbEJTVE5DVUN4SFFVRlhOWGRDTEV0QlFVMXdTaXhGUVVGTFowa3NWMEZEZEVKcGVVSXNSMEZCVnpkM1FpeExRVUZOY0Vvc1JVRkJTMmRKTEZkQlEzUkNhRWtzUlVGQlMyMVNMRXRCUlVVc1IwRkhRU3hMUVV0WWJYQkNMRkZCUVZNc1EwRkRVa1VzU1VGQlR5eFZRVU5RUXl4TlFVRlRMR1ZCV1V4Nk9VSXNSVUZCVVhVNFFpeGpRVU5pTlRaQ0xFVkJRVTkzTVVJc1ZVRkJWVFZwUWl4VFFVRlhMRU5CUXpOQ2FsTXNTVUZCU3l4VFFVRlZWU3hIUVVsa0xFbEJRVWs0VUN4RlFVRlRPVkFzUlVGQlMzaENMRmRCU1d4Q0xFOUJTRXR6VWl4SFFVRlZRU3hGUVVGUGRGSXNXVUZEY2tKelVpeEZRVUZQZEZJc1YwRkJWMmRVTEdOQlJWb3NUVUZGVWpaTkxFbEJRVXNzVTBGQlZYSmxMRWRCU1dRc1NVRkJTVGhRTEVWQlFWTTVVQ3hGUVVGTGVFSXNWMEZEWW5OU0xFbEJRMHBCTEVWQlFVOHdRaXhqUVVWR01VSXNSVUZCVDNSU0xGbEJRMWh6VWl4RlFVRlBkRklzVjBGQlYyZFVMR3RDUVU5MlFqZFRMRVZCUVU5clFpeExRVUZOTEVOQlExb3NWMEZEUVN4WFFVTkJMRmxCUTBFc1kwRkRRU3hqUVVOQkxGVkJRMEVzVlVGRFFTeFRRVU5CTEdOQlEwRXNiVUpCUTBVc1YwRkRSbXhDTEVWQlFVOHlOMElzVVVGQlV6RXJRaXhMUVVGTGQwZ3NaVUZCYTBKNFNDeFBRVFJDZUVNclF5eEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVU5xUWpRMVFpeFRRVUZWTEZOQlFWVTFNMElzUjBGRGJrSXNTVUZCU1RZelFpeEZRVUZUTXpaQ0xFVkJRVTE1U3l4RlFVRkxiWGRDTEVWQlFWVkRMRVZCUVU5dU5rSXNSVUZCUjI4MlFpeEZRVU16UXk4NFFpeEZRVUZKTEVWQlJVd3NSMEZCUzJRc1JVRkJXVFpHTEVkQlEyaENMRTlCUVU5c1NDeExRVUZMYVVVc1MwRkJUU3hUUVVGVllTeEhRVU16UWk5Q0xFVkJRVkV2UXl4TlFVRlBPQ3RDTEZOQlFWVTFNMElzUlVGQlRYcEhMRXRCUVUxVUxFdEJRVTA0UlN4RlFVRkhlVFZDTEVkQlFWVjJLMElzVlVGTk1VUXNTVUZHUVNzclFpeEZRVUZWVUN4SFFVRm5RblF6UWl4SlFVVmlOMFFzVDBGRFdpeExRVUZWWlN4RlFVRlBjRVVzUzBGQlRXMURMRTFCU1hSQ0xFZEJTRUUyT0VJc1JVRkJWMVFzUjBGQlZXNDJRaXhIUVVOeVFubExMRVZCUVhkQ0xFbEJRV3hDZWtzc1JVRkJTemRETEZWQlFXOUNMRWxCUVUwck9FSXNSMEZCYTBKVkxFZEJRV0VzU1VGRmVrUXNRMEZGVml4SlFVUkJiRFpDTEVWQlFVa3NSVUZEVFcwMlFpeEZRVUZSUml4RlFVRlRhalpDTEUxQlEzSkNLMG9zUlVGQlNXaFBMRkZCUVZNc1NVRkJUVzhyUWl4RlFVRlJMRXRCUVZFc1NVRkRka053ZDBJc1IwRkJUMjkzUWl4RlFVRlJMRXRCVFZwRUxFdEJSRXhGTEVWQlFXRmFMRWRCUVd0Q2VuWkNMRXRCUlRsQ2Vrc3NSVUZCU3pOQ0xHRkJRV01zVVVGQlUzazRRaXhIUVUxb1F5eFBRVUZQYkM5Q0xFMUJSMUp0TDBJc1dVRkJZU3hUUVVGVmFqUkNMRWRCUTNSQ0xFbEJRVWsyTTBJc1JVRkJVek0yUWl4RlFVRk5lVXNzUlVGQlMyMTNRaXhGUVVGVlF5eEZRVUZQYmpaQ0xFVkJRVWR2TmtJc1JVRkRNME12T0VJc1JVRkJTU3hGUVVWTUxFZEJRVXRrTEVWQlFWazJSaXhIUVVOb1FpeFBRVUZQYkVnc1MwRkJTMmxGTEV0QlFVMHNVMEZCVldFc1IwRkRNMEl2UWl4RlFVRlJMME1zVFVGQlQyMHZRaXhaUVVGaGFqUkNMRVZCUVUxNlJ5eExRVUZOVkN4TFFVRk5PRVVzUlVGQlIzazFRaXhIUVVGVmRpdENMRlZCU1RkRUxFbEJRVTF4UlN4VlFVRlZhRUlzVDBGRFppeFBRVUZQY2tRc1MwRkJTemhTTEV0QlFVMHNVVUZCVXl4SlFVczFRaXhKUVVaQmFYUkNMRVZCUVZWUUxFZEJRV2RDZEROQ0xFbEJSV0kzUkN4UFFVTmFMRXRCUVZWbExFVkJRVTl3UlN4TFFVRk5iVU1zVFVGTmRFSXNSMEZNUVRZNFFpeEZRVUZYVkN4SFFVRlZialpDTEVkQlIzSkNlVXNzUlVGQmQwSXNTVUZCYkVKNlN5eEZRVUZMTjBNc1ZVRkJiMElzU1VGQlRTczRRaXhIUVVGclFsVXNSMEZCWVN4SlFVVjZSQ3hEUVVWV0xFbEJSRUZzTmtJc1JVRkJTU3hGUVVOTmJUWkNMRVZCUVZGR0xFVkJRVk5xTmtJc1RVRkhNVUlzUzBGQlVTdEtMRVZCUVVsb1R5eFJRVUZUTEVsQlFVMXZLMElzUlVGQlVTeE5RVUZUTEVkQlF6TkRjSGRDTEVWQlFVMUJMRVZCUVVrMVNTeFJRVUZUTEVsQlFVMW5OVUlzUlVGQlVTeEpRVUZMTEV0QlRXNURSQ3hMUVVSTVJTeEZRVUZoV2l4SFFVRnJRbnAyUWl4TFFVVTVRbnBMTEVWQlFVc3pRaXhoUVVGakxGRkJRVk41T0VJc1IwRk5hRU1zVDBGQlQyd3ZRaXhOUVVkU2J5OUNMRmxCUVdFc1UwRkJWV3cwUWl4RlFVRlBiVFJDTEVkQlF6ZENMRWxCUVVreE9VSXNVMEZCWTNWR0xFVkJRMnBDYnpSQ0xFVkJRWGRDTEZkQlFWUXpPVUlzUjBGQmNVSm5SU3hOUVVGTlF5eFJRVUZUYzBJc1IwRkZjRVFzVFVGQmVVSXNhMEpCUVdKdE5FSXNSMEZCTUVKRExFVkJRemxDUkN4RlFVRlhjaTlDTEV0QlFVczRLMElzVTBGQlZUVXpRaXhIUVVGVmJFZ3NTMEZCUzIwdlFpeFpRVUZoYWpSQ0xFZEJSM3BFTjBZc1JVRkJXVFpHTEVkQlExUnNTQ3hMUVVGTGFVVXNTMEZCVFN4VFFVRlZPVUlzUjBGRE0wSlpMRVZCUVZFdlF5eE5RVUZQYnk5Q0xGbEJRMlJzTkVJc1JVRkJUWHBITEV0QlFVMVVMRXRCUVUxdFF5eEZRVUZIYnpoQ0xFZEJRVlYySzBJc1RVRkJVWEV2UWl4SFFVTjJRMEVzUzBGTFNYSXZRaXhMUVVGTGFVVXNTMEZCVFN4WFFVTnFRaXhKUVVGSlowMHNSVUZCVnpsT0xFVkJRVWR6V1N4RlFVRk5PR3RDTEVWQlJYaENMRWRCUVV0RUxFVkJUMG9zU1VGS1FXNDVRaXhGUVVGSkxFVkJRMHB6V1N4RlFVRlBNVmdzUlVGQlVTOURMRTFCUTJaMUwwSXNSVUZCWVdZc1IwRkJaMEowTTBJc1IwRkZia0lyU1N4RlFVRlpjM1pDTEVWQlFWbHdPVUlzVFVGSE5VSnpXU3hGUVVGTEsydENMRk5CUVZWMmRrSXNSMEZEYmtKM1N5eEZRVUZMTUd0Q0xGbEJRV0ZzZGtJc1IwRkZiRUozU3l4RlFVRkxjV3RDTEZOQlFWVTNkVUlzWVVGTFNYQkxMRWxCUVZaeFFpeEhRVUZuUXl4WlFVRlVka1lzUzBGRGJFTnpUeXhGUVVGWmMzVkNMRWRCUVZWMkswSXNVVUZKY2tJMmFVSXNSVUZCVTBvc1NVRkJTM3BwUWl4TFFVRk5MR2RDUVVGcFFtbFJMRWRCVDJwRGFsRXNTMEZCUzNsRExHTkJRMVI2UXl4TFFVRkxlVU1zWVVGQll5eFJRVU5zUW5kT0xFbEJRWFZDTEVsQlFWWXZTU3hGUVVOYUxFZEJRMEV5WWl4RlFVRlRibVlzU1VGQlN6RkVMRXRCUVUwc2EwSkJRWEZDTEZGQlR5OURkeTlDTEZOQlFWVXNVMEZCVlhnNFFpeEhRVU51UWl4SlFVRkphVTRzUlVGQlZ6ZE1MRVZCUTJScVF5eEZRVUZKTEVWQlIwd3NTVUZFUVRoT0xFVkJRVmtzU1VGQlRXcE9MRVZCUVZjc1NVRkRia0p2UWl4RlFVRlBjRVVzUzBGQlRXMURMRTFCUTNSQ0xFZEJRWFZDTEVsQlFXeENhVU1zUlVGQlN6ZERMRmRCUTFBc1NVRkJUU3M0UWl4SFFVRnJRa01zUjBGQlZXNDJRaXhKUVVGWExFdEJRVTEyUkN4UlFVRlRiMUFzU1VGQlpTeEZRVU0zUlN4UFFVRlBMRVZCU1ZRc1QwRkJUeXhMUVU5VUxFbEJRVWwzZGtJc1IwRkJWU3hOUVVWa01UaENMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUTJwQ09VTXNTVUZCU3l4VFFVRlZPRVVzUjBGRFpDeEpRVUZKZDJNc1JVRkJUelZtTEVWQlFVc3lja0lzUlVGRFpuSnlRaXhGUVVGUGNFVXNTMEZCVFN4SFFVVmtMRTlCUVUxeFJTeFZRVUZWYUVJc1VVRXdRbWhDYjNOQ0xFVkJRV3RDY0hWQ0xFVkJRVmsyUml4SFFVVjJRbXhJTEV0QlFVdHBSU3hMUVVGTkxGTkJRVlU1UWl4SFFVTXpRaXhKUVVGSlF5eEZRVVZ0UWl4SlFVRnNRbkJETEV0QlFVdDFRaXhYUVZkRkxFOUJUbGhoTEVWQlJFbHhkRUlzUlVGRFJYWnZRaXhGUVVGTmVrY3NTMEZCVFZRc1MwRkJUVzFETEVWQlFVZFpMRVZCUVZFdlF5eE5RVUZQYjBNc1QwRkZjRU00UlN4SFFVdE9PVVVzUlVGQlRTeEhRVVZ2UWl4cFFrRkJVa0VzUlVGRGJFSkJMRWRCUVU4c1IwRkZTWFZFTEUxQlFVMURMRkZCUVZONFJDeExRVU14UWtFc1JVRkJUVmNzUlVGQlQyOUNMRWxCUVVzdlFpeEZRVUZMTEZOQlFWVTRSU3hIUVVOb1F5eFBRVUZuUWl4TlFVRlVRU3hGUVVGblFpeEhRVUZMUVN4RlFVRlJMRTlCU1hSRGQyTXNSVUZCVVROblFpeEZRVUZQTWpoQ0xGTkJRVlV4TDBJc1MwRkJTekpDTEU5QlFWVnZRaXhGUVVGUE1qaENMRk5CUVZVeEwwSXNTMEZCUzI5TkxGTkJRVk0xUlN4cFFrRkhja1FzVVVGQlUydGpMRkZCUVN0RE4yUXNTVUZCY0VNMlpDeEZRVUZOYWtJc1NVRkJTM3BwUWl4TFFVRk5iME1zUlVGQlN5eFhRVU16UkhCRExFdEJRVXRyU0N4TlFVRlJPVVVzVDBGNlJGUm5ReXhIUVVOS2MyWXNSVUZCVVROblFpeEZRVUZQTWpoQ0xGTkJRVlYwTjBJc1JVRkJTM3BETEU5QlF6ZENiMElzUlVGQlR6STRRaXhUUVVGVmREZENMRVZCUVV0blNTeFRRVUZUTlVVc2FVSkJSeTlDTEZGQlFWTnJZeXhSUVVOblF6ZGtMRXRCUVhaREwwSXNSVUZCVFRSbUxFVkJRVTFvWjBJc1NVRkJTMVVzUlVGQlRTeFZRVVZzUWs0c1JVRk5XU3hwUWtGSWNFSkJMRVZCUVUxTkxFVkJRVXM0UXl4UFFVbEljRVFzUlVGQlNXMURMRkZCUVZOM05VSXNSMEZCVXl4SlFVbG9RaXhOUVVGUU16ZENMRVZCUVdNc1IwRkJTMEVzVDBGSE0wSXNTMEY1UTBobUxFVkJRVTl0UXl4UFFVRlJMRU5CUTJSM05rSXNVMEZCVlN4RFFVTlVibG9zVDBGQlVTeERRVU5RTjJsQ0xFbEJRVXNzVTBGQlZWVXNSMEZGWkN4SlFVRkphRU1zUlVGQlRWY3NSVUZCVDNkT0xFdEJRVXQxUWl4TFFVRk5NVTRzUlVGQlRTeFRRVU5zUXl4UFFVRmpMRTFCUVZCb1F5eEZRVU5PUVN4RlFVMUJhemhDTEVkQlFXdENkamRDTEVWQlFVOVNMRXRCUVUwMlFpeE5RVWRzUXpKRUxFOUJRVkVzUTBGRFVISkZMRWxCUVVzc1UwRkJWVlVzUjBGRFpDeEpRVUZKT0VNc1JVRkJUM0ZtTEVWQlFWRndhMElzUlVGRGJFSm5SQ3hGUVVGVlppeEZRVUZMWlN4UlFVTm1iVmNzUlVGQlVXeFlMRVZCUVV0M1VpeGpRVU5pTmxNc1JVRkJiMElzWlVGQlpISnJRaXhGUVVGTGVrTXNTMEZEV0dsclFpeEZRVUZUTmtNc1JVRkJUU3hMUVVGUExFZEJRM1JDTWswc1JVRkJUVE5OTEVWQlFVMXVUaXhGUVVGUkxFVkJRVWx1Vnl4RlFVRlJPVUlzVDBGVmFrTXNTVUZRUTJ4Q0xFVkJSRWx0V2l4RlFVRlJMRVZCUTFJNFdpeEZRVWRCTTAwc1JVRkJUVzVPTEVWQlFWRXNSVUZKV0c1YUxFVkJRVWxwZWtJc1JVRkJTMnA2UWl4SlFVdG9RaXhMUVVwQmIydENMRVZCUVZOd2FFSXNSVUZCVTJoRUxFbEJTVXAzVkN4VlFVRlplRlFzU1VGQlRXMWFMRXRCUnpkQ2FVd3NSVUZCVDNCaExGbEJRMHh2WVN4RlFVRlBNMnBDTEZkQlFWZDFTaXhYUVVOdVFrTXNSVUZCVlcxaExFVkJRVTh6YWtJc1YwRkJXU3hoUVVGcFFpeERRVTFxUkN4SFFVaEJjMFVzUlVGQlVXNUZMRVZCUVZGM2FrSXNSMEZCVTI1clFpeE5RVWR3UW5GdFFpeEZRVU5LTEU5QlFVOTJhRUlzUlVGSlVqQmxMRVZCUVU5b2JFSXNTMEZCVFhOSExFZEJTV1lzVDBGQlR6QmxMRWRCUjFKdVJDeEpRVUZMTEZOQlFWVnlaU3hGUVVGTk9FTXNSMEZOY0VJc1NVRk1RU3hKUVVGSmVUUkNMRVZCUVZkd1dpeEZRVU5rY0doQ0xFVkJRVlZtTEVWQlFVdGxMRkZCUTJaNVowSXNSVUZCVXpkcFFpeEZRVUZQTWtRc1ZVRkJWMUVzUjBGRE0wSXZSU3hGUVVGSlowUXNSVUZCVVRsQ0xFOUJSVXhzUWl4UFFVTlFiMnRDTEVWQlFWTndhRUlzUlVGQlUyaEVMRWxCU1U1M1ZDeFRRVU5ZTlZNc1JVRkJUelpFTEZGQlFWTTNSQ3hGUVVGUE1qaENMRk5CUVZOdVdpeFBRVUZQTjJsQ0xFbEJRVXMyYVVJc1IwRkJWVmdzU1VGQldTeExRVVZzUlN0YUxFZEJRVmtzUjBGVlpDeFBRVWhOUVN4SlFVTk1kamRDTEVWQlFVdDNVaXhsUVVGcFFpeEhRVVZvUW1kUkxFOUJUMWczYVVJc1JVRkJUMnRDTEV0QlFVMHNRMEZCUlN4UlFVRlRMRmxCUVdNc1YwRkRja05zUWl4RlFVRlBNamhDTEZOQlFWVXhMMElzVFVGQlV5eERRVU42UW5scFFpeEpRVUZMTEZOQlFWVnlaU3hGUVVGTk9FTXNSMEZEY0VJc1IwRkJTM1pDTEUxQlFVMURMRkZCUVZOelFpeEhRVU51UWl4UFFVRlRPVU1zUlVGQlMzTlNMRkZCUVZVelV5eEZRVUZQTmtRc1VVRkJVemRFTEVWQlFWRnhRaXhIUVVGUGFFTXNUVUZCVHpoRkxFbEJRVmNzU1VGSmRFVTVSaXhGUVVGUmN6aENMRlZCUTJJek5rSXNSVUZCVHpJNFFpeFRRVUZWTVM5Q0xFMUJRVTh3UkN4SlFVRk5MRk5CUVZWVkxFZEJRM1pETEU5QlFYZERMRTlCUVdwRFFTeEZRVUZMTlVJc1lVRkJZeXhUUVVGeFFpeExRVUZQTkVJc1JVRkJTemhETEZWQlZ6bEVPVVlzUlVGQlVYY3JRaXhSUVVGVkxHTkJRV1UzTDBJc1JVRkhha01zU1VGQlNUZ3ZRaXhIUVVGakxHdERRVU5xUWtNc1IwRkJNRUlzVTBGQlZYUjZRaXhIUVVOdVEwRXNSVUZCUlRCakxHMUNRVWRLYm0xQ0xFVkJRVTl0UXl4UFFVRlJia01zUlVGQlR6UnNRaXhOUVVGUExFTkJSVFZDVlN4UlFVRlRMRk5CUVZWV0xFVkJRVTlxUnl4RlFVRk5kR1VzUlVGQlRUSTNRaXhIUVVWeVF5eEpRVUZKTlRsQ0xFVkJRVWN3VFN4RlFVRkxOa0lzUlVGQlMzTjJRaXhGUVVGWlF5eEZRVUZSYUZjc1JVRkJVVGRMTEVWQlFWTTRaMElzUlVGRGNrUkRMRVZCUVZrc1EwRkJSUzgzUWl4SFFVRlJlRVVzUjBGRGRFSXJRaXhGUVVGUFdDeEZRVUZQVUN4TFFVRk5hMjlDTEVWQlFVOHNVVUZCVjBFc1JVRkJUV2h1UWl4TFFVRlBaMjVDTEVWQlEyNUVhMElzUlVGQllUZHZRaXhGUVVGUFVDeExRVUZOYTI5Q0xFVkJRVThzWVVGQlowSkJMRVZCUVUxdVdpeFZRVUZWYkVrc1RVRkJUeXhMUVVGUkxFZEJTMnBHTEVkQlNFRjFTQ3hGUVVGTmNYaENMRVZCUVdONGRrSXNSVUZCVFhSTkxFVkJRVTlCTEVkQlFWRjRSU3hGUVVkc1FpeEpRVUZzUW5kRkxFVkJRVXMzUXl4VlFVRnZReXhKUVVGc1FqWkRMRVZCUVVzM1F5eFhRVXMxUW5NclFpeEhRVUZaY25sQ0xFdEJRVTAzVEN4RlFVRlBiMElzUlVGQlR6UnNRaXhOUVVGTmRVSXNZVUZKZEVOMmIwSXNSVUZCUzJRc1VVRkJVeXhOUVVGVExFbEJSek5DWjNCQ0xFVkJRV0ZzYjBJc1JVRkJTekpHTEUxQlFVOHNTMEZEZWtJelJpeEZRVUZQYTI5Q0xFVkJRVmQ2WWl4UlFVTnNRbmxpTEVWQlFWYzNhMElzVVVGRldtazNRaXhGUVVGVGRDdENMRVZCUVV0a0xGRkJRVk1zUzBGQlVTeEhRVUZMTEV0QlFVOWpMRWRCUnpORFoyNUNMRVZCUVZGQkxFVkJRVTgxYkVJc1JVRkJUeXRETEZOQlEzSkNObWxDTEVWQlEwRXNTVUZCU1RWc1FpeEZRVUZQZFcxQ0xFMUJRVTh6YmtJc1JVRkJkVUlzYVVKQlFWWm5ia0lzUjBGQmMwSkJMRWxCUjJoRVN5eFZRVUZaSzFjc1JVRkJaU3hGUVVGSkxFVkJRM0pEY0Znc1JVRkJUVzVhTEZWQlFWbHhZU3hGUVVGWGFtTXNTMEZCVFN4TFFVTnVReXRoTEVWQlFVMTNReXhYUVVGaGVFTXNSVUZCVFc1YUxGVkJRM2hDTEVsQlFVa3hSaXhQUVVGUkxGVkJRVmtyWml4RlFVRlhhbU1zUzBGQlRTeHBRa0ZCYjBJc1YwRkROMFFzUzBGSFJDdGhMRVZCUVUxeVZpeFpRVUZUZWs0c1JVRkRWRGhwUWl4RlFVRk5ibXBDTEZOQlExaHRha0lzUlVGQlRXNXFRaXhQUVVGVGNFSXNSMEZKYUVKelpTeEZRVUZsTEUxQlFWSkJMRVZCUTA0c1EwRkJSV2xITEVkQlEwWTFiRUlzUlVGQlR6SkVMRlZCUVZkbll5eEZRVUZOTEVOQlFVVnBSeXhKUVVjelFuWktMRVZCUVZWeVl5eEZRVUZQTkd4Q0xFMUJRVTEyU2l4UlFVRlRlbVFzU1VGQlZTeEhRVU53UTI4clFpeEpRVUZuUWpOblFpeEZRVUZSYVVzc1ZVRkJiVVFzU1VGQmVFTnFTeXhGUVVGUmFVc3NVVUZCVVRGdlFpeE5RVUZQZVVRc1JVRkJUWE5sTEVsQlFYUkZMRU5CVFVFc1NVRkJUWEZrTEVsQlFXbENNMmRDTEVWQlFWRjVUU3hYUVVGaGNIRkNMRVZCUVZVeVF5eEhRVUZUTEVOQlRUbEVMRWxCU2tFME4wSXNSVUZCWVRWblFpeEZRVUZSTmtvc1kwRkJaMEowYmtJc1JVRkRMMEpySzBJc1IwRkJXWEo1UWl4TFFVRk5kM2xDTEVWQlFXRnlLMElzUzBGRGNFTnJUaXhGUVVGTlFTeEZRVUZKYWswc1dVRkZTR2xOTEVWQlFVdEJMRVZCUVUxQkxFVkJRVWxxVFN4WFFVTjBRblU1UWl4RlFVRlZkaTlDTEV0QlFVMXBUeXhIUVVOb1FqWkNMRVZCUVUwM1FpeEZRVWxHTmtJc1MwRkJWWFJOTEVWQlFVczJTU3hsUVVGcFFuSk9MRWxCUTNCRGRXZERMRVZCUVZWMkwwSXNTMEZCVFRoUUxFVkJRVWxpTEdGQlFXVmhMRVZCUVVrd2RrSXNZMEZCWjBKeVowTXNSMEZOZWtRc1NVRkVRVzlETEVWQlFVa3NSMEZEVFRCTkxFVkJRVTF6ZUVJc1JVRkJWMmdyUWl4UlFVRlpkMjFDTEVWQlFVMXhReXgzUWtGRE5VTnJWaXhGUVVGamNuaENMRVZCUTJRNFdpeEZRVUZOYUc1Q0xFdEJRVTlSTEVWQlFVa3NSVUZEYUVJMk9VSXNSVUZEUVRWblFpeEZRVUZSWjB3c1ZVRkJXWHB2UWl4SFFVZHlRbk52UWl4SFFVRlhjRWdzUlVGQlUyNW1MRWxCUVV0dFRDeEZRVUZMTEZkQlFXTjZUeXhQUVVGUE5IQkNMRTlCUVZFc1QwRkJWWEpDTEVWQlFVMW9ia0lzVDBGRE1VVnJhRUlzUlVGQlUyNW1MRWxCUVV0dFRDeEZRVUZMTEZsQlJXNUNiMklzUlVGQlQzUndRaXhOUVVGUGEwOHNSVUZCU3paVUxFbEJTWEJDZFVnc1JVRkJVMmRYTEVkQlFWVndlRUlzUlVGQlMyOTRRaXhMUVVOVWFGY3NSVUZCVDNSd1FpeFBRVUZUZDJoQ0xFVkJRVmwwVkN4TFFVTXhRemhhTEVWQlFVMXlWaXhQUVVGVE1sY3NSVUZCVDNSd1FpeE5RVUZQYTA4c1JVRkJTelpVTEVsQlExb3NTVUZCYWtKcFJ5eEZRVUZOY2xZc1VVRkRWbkZXTEVWQlFVMVRMR3RDUVRoRFZDeFBRVEZEUVZRc1JVRkJUV2h1UWl4TFFVRlBRU3hGUVVkUWJ5dENMRWRCUVdsQ2NGZ3NSVUZCVFhWRUxITkNRVVZ3UWpsTkxFVkJRVkY1U0N4WFFVTnhReXhKUVVGd1JIcElMRVZCUVZGNVNDeFRRVUZUYkcxQ0xFMUJRVTkzTDBJc1JVRkJWVGt5UWl4TlFVRlBjVm9zUzBGRGVrTlFMRVZCUVZrdlpDeEpRVWxRTmpkQ0xFZEJRVlUxSzBJc1JVRkJXU3RETEVWQlFVMTZReXhOUVVGaFJpeEZRVUZWTWtNc1RVRkhka1J6VFN4RlFVRk5kRTBzUlVGQlRUWTNRaXhOUVVkWU56ZENMRVZCUVUwMk4wSXNSMEZCVnl4TlFVbHNRbXc1UWl4RlFVRlBOR3hDTEUxQlFVMTFRaXhWUVVGWmRtOUNMRVZCUlhCQ1oyNUNMRVZCUVUxeFF5eDNRa0ZEVm10V0xFVkJRVmx1ZDBJc2FVSkJRV3RDY0U4c1JVRkJUVzByUWl4SlFVZHlRekUzUWl4RlFVRk5la01zUzBGRlJHZHVRaXhGUVVGTmNVTXNkMEpCUTFaclZpeEZRVUZaYkdZc2IwSkJRWEZDY21Zc1JVRkJUVzByUWl4SlFVZDRReTg0UWl4RlFVRlBOR3hDTEUxQlFVMTFRaXhsUVVGWmNtdENMRVZCUlhCQ05rc3NTVUZEU25STkxFVkJRVTAyTjBJc1IwRkJWM1oyUWl4SlFVMWthVmtzUlVGQlRYSldMRk5CUzJRcmMwSXNVMEZCVlN4VFFVRlZNU3RDTEVWQlFVMTVReXhGUVVGTmRXdENMRWRCUXk5Q0xFbEJRVWx1WXl4RlFVRkpla29zUlVGQlQyMURMRTlCUTJRc1NVRkJTVzVETEVWQlFVOTFiVUlzVFVGRFdGZ3NSVUZEUVN4RFFVTkRhRzVDTEV0QlFVMUJMRVZCUTA0MGNVSXNZVUZCWVN4SlFVbG1lSEJDTEVWQlFVODBiRUlzVFVGQlRWVXNVVUZCVXpkakxFVkJRVWNzUzBGQlRYQkpMRTFCUzJwRGNrSXNSVUZCVDBjc1IwRkJSMmRETEU5QlFWRXNRMEZGYWtKdGEwSXNVVUZCVXl4VFFVRlZNVzVDTEVWQlFVMHJaMElzUjBGRGVFSXNUMEZCVHpGcFFpeExRVUZMYVVVc1MwRkJUU3hYUVVOcVFteENMRVZCUVU4MGJFSXNUVUZCVFZVc1VVRkJVekZ1UWl4RlFVRk5LMmRDTEVWQlFVMHhhVUlzVTBGSGNFTnpaME1zWlVGQlowSXNVMEZCVlRNclFpeEZRVUZOSzJkQ0xFZEJReTlDTEVsQlFVbDBaU3hGUVVGUGNFVXNTMEZCVFN4SFFVTnFRaXhIUVVGTGIwVXNSVUZEU2l4UFFVRlBja0lzUlVGQlR6UnNRaXhOUVVGTlZTeFJRVUZUTVc1Q0xFVkJRVTByWjBJc1JVRkJUWFJsTEVkQlFVMHNUVUZqTlVOb1JDeEZRVUZSZHl0Q0xGTkJRMkkzT0VJc1JVRkJUMnRDTEV0QlFVMHNRMEZCUlcxU0xFMUJRVThzVlVGQlYyZGFMRXRCUVUwc1dVRkJZeXhUUVVGVlN5eEZRVUZOTlVRc1IwRkhjRVVzU1VGQlNXNWpMRVZCUVZVc1UwRkJWV2xoTEVkQlEzWkNOV3hDTEVWQlFVODBiRUlzVFVGQlRUQllMRk5CUVZWNFZpeEZRVUZMYkVNc1JVRkJUVzVxUWl4UFFVRlJla01zUlVGQlR6UnNRaXhOUVVGTmEwTXNTVUZCUzJ4RExFdEJSemRFTld4Q0xFVkJRVTgwYkVJc1RVRkJUWFpLTEZGQlFWTjVUQ3hIUVVGUkxFTkJRemRDVUN4TlFVRlBMRmRCU1U0c1NVRkJTWEJ2UWl4RlFVRk5iRU1zUzBGQlMybE9MR1ZCUVdsQ2FrNHNTMEZCUzBvc1ZVRkJXVWtzUzBGRGFFUjFaME1zUlVGQlZ6RmtMRVZCUVZONFFpeFBRVUZSYm1Zc1JVRkJTekp2UWl4SFFVVTFRakJXTEVkQlEweHlLMElzUlVGQlNUWk9MR2xDUVVGclFqQmxMRVZCUVUwdlppeEhRVUZUTEVkQlJYUkRiVlVzUlVGQlUzaENMRTlCUVZGdVppeEZRVUZMTW05Q0xFZEJRVTh3Vml4SFFVRlpMRWRCUVUwc1NVRkZhRVE1Vml4VFFVRlZMRmRCUTFRc1NVRkJTWFp2UWl4RlFVRk5iRU1zUzBGQlMybE9MR1ZCUVdsQ2FrNHNTMEZCUzBvc1ZVRkJXVWtzUzBGRGFFUjFaME1zUlVGQlZ6RmtMRVZCUVZONFFpeFBRVUZSYm1Zc1JVRkJTekp2UWl4SFFVRlJMRVZCUlhCRE1GWXNSVUZMVERGa0xFVkJRVk40UWl4UFFVRlJibVlzUlVGQlN6SnZRaXhGUVVGTE1GWXNTVUZLTTBKeUswSXNSVUZCU1RobExHOUNRVUZ4UW5sT0xFVkJRVTB2Wml4SFFVRlRMRWRCUTNoRGJWVXNSVUZCVTJoR0xFOUJRVkV6WWl4RlFVRkxNbTlDTEZGQlV6TkNMRWxCUVVrelZpeEhRVUZYYmxZc1JVRkJUMjFXTEZOQlJXeENjbFFzUjBGQlVTeERRVUZGYzBZc1MwRkJUWE5DTEV0QlFVczJha0lzVDBGRmNrSnJWU3hIUVVGVExFdEJTMko2T1VJc1JVRkJUekE1UWl4VFFVRlhMRk5CUVZVdlpDeEhRVU16UWl4SlFVRkpOMDhzUlVGQlN6WnpRaXhGUVVOVUxFbEJRVTFvWlN4SFFVRjNRaXhwUWtGQlZFRXNSVUZEY0VJc1QwRkJUeXhMUVV0U0xFbEJRME0zVHl4SFFVRk5MRWxCUVUwNVZDeEZRVUZQTkdkRExGZEJRV05ETEdkQ1FVRnBRbXhsTEVWQlFVMHNXVUZEZGtRc1RVRkJVV3hYTEVsQldWWXNUMEZXUVdzd1FpeEZRVUZyUWpkelFpeEhRVUZQUVN4RlFVRkplRWNzY1VKQlFYTkNMR1ZCUVdsQ0xFZEJRemxFZDBjc1NVRkJUelp6UWl4SFFVTmFNemxDTEVWQlFVOXZSQ3hOUVVGUExHbENRVU5pZFRaQ0xFVkJRME16T1VJc1JVRkJUMjlDTEVsQlFVdDFPRUlzUlVGQlowSnVNRUlzVjBGQldTeFRRVUZWWjBNc1IwRkRha1FzVDBGQlQwRXNSVUZCUnpoRUxHTkJRMUI2UlN4TFFVRk5MRTFCUTFZNFZTeEpRVWRKTjA4c1IwRkpVaXhKUVVORFozUkNMRWRCUVZjc1VVRkRXRU1zUjBGQlVTeFRRVU5TUXl4SFFVRnJRaXgzUTBGRGJFSkRMRWRCUVdVc2NVTkJSV2hDTEZOQlFWTkRMRWRCUVdFdlNTeEZRVUZSTlRKQ0xFVkJRVXMwTDBJc1JVRkJZVEZzUWl4SFFVTXZReXhKUVVGSmNGY3NSVUZGU2l4SFFVRkxUeXhOUVVGTlF5eFJRVUZUZEVVc1IwRkhia0o1UWl4RlFVRlBhMElzUzBGQlRUTkRMRVZCUVVzc1UwRkJWV0VzUlVGQlIybGhMRWRCUTNwQ09HdENMRWRCUVdWTUxFZEJRVk55ZWtJc1MwRkJUVEJ4UWl4SFFVZHNRekZqTEVWQlFVc3dZeXhGUVVGUk9XSXNSMEZMWWpaclFpeEhRVU5ETDBrc1JVRkJVeXhMUVVGeFFpeHBRa0ZCVGpsaUxFZEJRWFZDTEUxQlFVeEJMRVZCUVZscVlTeEZRVUZKTEVsQlFVOHNTVUZEYWtWcFlTeEZRVU5CT0d0Q0xFVkJRMEV4YkVJc1ZVRkxSeXhIUVVGTk1HeENMRWRCUVdsRExGZEJRV3hDY0N0Q0xFVkJRVkY0UWl4SFFWVnVRMnRoTEVWQlFVc3dZeXhGUVVGUk5USkNMRkZCVUdJc1NVRkJUVGhFTEV0QlFWRTVSQ3hGUVVOaU1pOUNMRWRCUVdFdlNTeEZRVUZUTEVsQlFVMDVlVUlzUlVGQlR5eEpRVUZMT1VRc1JVRkJTemhFTEVkQlFWRTROMElzUlVGQllURnNRaXhIUVZseVJYcFpMRVZCUVU5dkswSXNUVUZCVVN4VFFVRlZhRFJDTEVWQlFVY3JNMElzUjBGRE0wSXNTVUZCU1doS0xFVkJRMGhyU2l4RlFVRkpMRWRCUTBvMWJFSXNSVUZCVFN4VFFVRlZkRTRzUlVGQlMyMTZRaXhIUVVkd1FpeEpRVUZKYmpaQ0xFVkJRVkUzUml4RlFVRlpaMmRETEVkQlEzWkNRU3hKUVVOQlFTeEZRVVZFUkN4RlFVRkhRU3hGUVVGRkx6bENMRkZCUVZkcEswSXNiVUpCUVc5Q2NIcENMRWRCUVZFc1NVRkRNME52ZWtJc2JVSkJRVFpDTEUxQlFWUndOa0lzUlVGQlowSXNSMEZCUzBFc1NVRkhOVU1zUjBGQlZTeE5RVUZNYVVNc1JVRkRTaXhOUVVGUExFZEJTVklzUjBGQlMzaEVMRTFCUVUxRExGRkJRVk4xUkN4SlFVRlRRU3hGUVVGRk5VWXNVMEZCVjFJc1JVRkJUekpETEdOQlFXVjVSQ3hIUVVjdlJIQkhMRVZCUVU5clFpeExRVUZOYTBZc1JVRkJSeXhYUVVObWNWTXNSVUZCUzNoaUxFdEJRVXR2Uml4TFFVRk5jRVlzUzBGQlMydElMR05CVDNSQ0xFbEJRVTFuZUVJc1MwRkJWUzkxUWl4RlFVTm1PRE5DTEVkQlFXRXZTU3hGUVVGUkwzVkNMRVZCUVVjcmRVSXNSMEZCVldkS0xFVkJRV0V4YkVJc1IwRkxha1FzVDBGQlR6UnNRaXhGUVVGRmVIcENMRXRCUVUwc1RVRkhhRUkzU3l4RlFVRlBSeXhIUVVGSFowTXNUMEZCVVN4RFFVTnFRbkU0UWl4VlFVRlhMRmRCUTFZc1QwRkJUM2dyUWl4RlFVRlBieXRDTEUxQlFVOXVhRU1zUzBGQlMzZG9ReXh0UWtGRk0wSkJMR1ZCUVdkQ0xGZEJRMllzVDBGQlQzaG9ReXhMUVVGTGJVVXNTVUZCU3l4WFFVZG9RaXhKUVVGSk1FNHNSVUZCVnpsUExFVkJRVTgwWml4TFFVRk5NMmxDTEV0QlFVMHNXVUZEYkVNc1QwRkJUelpTTEVWQlFWYzVUeXhGUVVGUE1rUXNWVUZCVjIxTUxFZEJRV0UzVWl4UFFVTTVRM0ZSTEU5QlFWRXNWMEZEV0N4SlFVRkpNVThzUlVGQlR6TkNMRXRCUVVzeVFpeExRVWRvUWl4UFFVRlBNMElzUzBGQlMyOUdMRTlCUVZOeVF5eEZRVUZSTDBNc1RVRkJUMnRoTEVkQlFVa3NZMEZEZGtNNGJVSXNSMEZCWVhoNlFpeExRVUZOZUU0c1MwRkJTMjlOTEZsQlFXVXlNRUlzUjBGQlowSjJla0lzUzBGQlRUZE1MRXRCUXpORU0wSXNTMEZCU3pCV0xGVkJRVmx6VVN4SFFVRmxlRmtzUzBGQlRUZE1MRTFCUTNSRGQwTXNTVUZCU3l4VFFVRlZiMFFzUlVGQlNXNUVMRWRCUTNSQ0xFbEJRVWxvUXl4RlFVRk5WeXhGUVVGUkwwTXNUVUZCVDI5RExFMUJSWHBDTEU5QlFWa3NUVUZCVUVFc1JVRkRSeXhMUVVkSWRVUXNUVUZCVFVNc1VVRkJVM2hFTEVkQlExcFhMRVZCUVU5dlFpeEpRVUZMTDBJc1JVRkJTeXhUUVVGVlFTeEhRVU5xUXl4TlFVRlBMRU5CUVVWblJDeExRVUZOYUVJc1JVRkJTMmRDTEV0QlFVMDRRaXhOUVVGUE9VVXNSVUZCU1RaRUxGRkJRVk0yTmtJc1IwRkJUeXhYUVVsb1JDeERRVUZGTVRkQ0xFdEJRVTFvUWl4RlFVRkxaMElzUzBGQlRUaENMRTFCUVU4NVJTeEZRVUZKTmtRc1VVRkJVelkyUWl4SFFVRlBMRmRCUTJ4RWNEbENMRk5CUzA0c1NVRkRReXM1UWl4SFFVRk5MRTlCUTA1RExFZEJRVkVzVDBGRFVrTXNSMEZCWVN4blFrRkRZa01zUjBGQlZ5dzJRa0ZKV0VNc1IwRkJZU3hwUWtGRFlrTXNSMEZCV1N4UlFWZGFkRWdzUjBGQllTeEhRVTlpZFVnc1IwRkJZU3hIUVVkaVF5eEhRVUZYTEV0QlFVdDBhRU1zVDBGQlVTeExRVWQ0UW5Wb1F5eEhRVUZsY21sRExFVkJRVk13UXl4alFVRmxMRXRCUzNoRExGTkJRVk0wTDBJc1IwRkJOa0pETEVkQlIzSkRMRTlCUVU4c1UwRkJWVU1zUlVGQmIwSnNhMElzUjBGRlJDeHBRa0ZCZGtKcmEwSXNTVUZEV0d4clFpeEZRVUZQYTJ0Q0xFVkJRMUJCTEVWQlFYRkNMRXRCUjNSQ0xFbEJRVWxETEVWQlEwaHNaME1zUlVGQlNTeEZRVU5LYldkRExFVkJRVmxHTEVWQlFXMUNOVFpDTEdOQlFXTnhSaXhOUVVGUGNWQXNTVUZCYlVJc1IwRkZlRVVzUjBGQlN6ZGhMRVZCUVZrMll5eEhRVWRvUWl4TFFVRlZiV3RDTEVWQlFWZERMRVZCUVZkdVowTXNUVUZIVWl4TlFVRnNRbXRuUXl4RlFVRlZMRWxCUTJSQkxFVkJRVmRCTEVWQlFWTXZhRU1zVFVGQlR5eEpRVUZQTEV0QlEyaERObWhETEVWQlFWZEZMRWRCUVdGR0xFVkJRVmRGTEVsQlFXTXNTVUZCU3pGM1FpeFJRVUZUZFUwc1MwRkpMMFJwYTBJc1JVRkJWMFVzUjBGQllVWXNSVUZCVjBVc1NVRkJZeXhKUVVGTGVtaERMRXRCUVUxelpDeEpRVkZ1UlN4VFFVRlRjV3RDTEVkQlFTdENTaXhGUVVGWGFEbENMRVZCUVZNME1VSXNSVUZCYVVKNVNDeEhRVVUxUlN4SlFVRkpReXhGUVVGWkxFZEJRMlpETEVWQlFYRkNVQ3hKUVVGalNpeEhRVVZ3UXl4VFFVRlRXU3hGUVVGVFRpeEhRVU5xUWl4SlFVRkpNWE5DTEVWQlkwb3NUMEZpUVRoelFpeEZRVUZYU2l4SlFVRmhMRVZCUTNoQ2RDOUNMRVZCUVU5clFpeExRVUZOYXl0Q0xFVkJRVmRGTEVsQlFXTXNSMEZCU1N4VFFVRlZjR3hDTEVWQlFVY3liRUlzUjBGRGRFUXNTVUZCU1VNc1JVRkJjMEpFTEVWQlFXOUNlamxDTEVWQlFWTTBNVUlzUlVGQmFVSjVTQ3hIUVVONFJTeE5RVUZ2UXl4cFFrRkJlRUpMTEVkQlExWklMRWRCUVhGQ1JDeEZRVUZYU1N4SFFVdDBRa2dzU1VGRFJDOXpRaXhGUVVGWGEzUkNMRkZCUkdZc1IwRklUakU1UWl4RlFVRlJiVGxDTEZWQlFWVXpkMElzVVVGQlUydDRRaXhIUVVNelFrWXNSVUZCVTBVc1NVRkRSaXhMUVV0R2JIUkNMRVZCUjFJc1QwRkJUMmQwUWl4RlFVRlRlRGxDTEVWQlFWRnRPVUlzVlVGQlZ5eE5RVUZWUnl4RlFVRlhMRTFCUVZORkxFVkJRVk1zUzBGTk0wVXNVMEZCVTBjc1IwRkJXWFE1UWl4RlFVRlJOVVFzUjBGRE5VSXNTVUZCU1hOTkxFVkJRVXQ2U1N4RlFVTlNjemxDTEVWQlFXTm9aME1zUlVGQlQybG5ReXhoUVVGaFJDeGhRVUZsTEVkQlJXeEVMRWxCUVUwM01FSXNTMEZCVDNSTkxFOUJRMUZwUlN4SlFVRm1ha1VzUlVGQlMzTk5MRTFCUTFBMk1FSXNSVUZCWVRjd1FpeEhRVUZSTVVrc1JVRkJWME1zU1VGQlZVRXNSVUZCVHl4TFFVRlZlVWtzUjBGQlVYUk5MRVZCUVV0elRTeEpRVTgxUlN4UFFVcExla2tzUjBGRFNqRkRMRVZCUVU5dFF5eFJRVUZSTEVWQlFVMU5MRVZCUVZGRExFZEJSM1pDUkN4RlFTOUZVbms0UWl4SFFVRmhNWE5DTEV0QlFVOU1MRWRCUVZOTExFdEJaMUEzUW5oVExFVkJRVTl0UXl4UFFVRlJMRU5CUjJRck9VSXNUMEZCVVN4RlFVZFNReXhoUVVGakxFZEJRMlJETEV0QlFVMHNSMEZGVGtnc1lVRkJZeXhEUVVOaVNTeEpRVUZMYkhWQ0xFZEJRVk5MTEV0QlEyUTFWQ3hMUVVGTkxFMUJRMDR3YUVNc1VVRjRVbWRDTERSRVFYZFNVVGN4UWl4TFFVRk5NRWdzUjBGQlUyOTFRaXhWUVVOMlF6bHFReXhSUVVGUkxFVkJRMUlyYWtNc1lVRkJZU3hGUVVOaVF5eFBRVUZQTEVWQlExQkRMRmxCUVdFc2JVUkJZMkpETEZGQlFWTXNRMEZEVW5CSkxFbEJRVXN3Unl4SFFVTk1laTlDTEV0QlFVMHNZVUZEVG0xMFFpeExRVUZOTEZsQlEwNDNZaXhKUVVGTExEUkNRVU5NT0haQ0xFdEJRVTBzY1VOQlIxQXpiMElzVTBGQlZTeERRVU5VYmtnc1NVRkJTeXhWUVVOTU5tSXNTMEZCVFN4VFFVTk9hVlVzUzBGQlRTeFpRVWRRUXl4bFFVRm5RaXhEUVVObUwzWkNMRWxCUVVzc1kwRkRUSFJTTEV0QlFVMHNaVUZEVG05b1F5eExRVUZOTEdkQ1FVdFFSU3hYUVVGWkxFTkJSMWhETEZOQlFWVnlORUlzVDBGSFZuTTBRaXhoUVVGaExFVkJSMkpETEZsQlFXRTVaMElzUzBGQlMwTXNUVUZIYkVJNFowSXNWMEZCV1d4b1F5eEZRVUZQTURsQ0xGVkJUM0JDYzBNc1dVRkJZU3hEUVVOYVN5eExRVUZMTEVWQlEweHVaME1zVTBGQlV5eEpRVTlZYVdoRExGVkJRVmNzVTBGQlZURXJRaXhGUVVGUk1pdENMRWRCUXpWQ0xFOUJRVTlCTEVWQlIwNXlRaXhIUVVGWlFTeEhRVUZaZERsQ0xFVkJRVkY2UXl4RlFVRlBhV2RETEdOQlFXZENiVUlzUjBGSGRrUnlRaXhIUVVGWkx5OUNMRVZCUVU5cFowTXNZVUZCWTNnNVFpeEpRVWR1UXpRclFpeGpRVUZsYkVNc1IwRkJOa0l4U0N4SlFVTTFRelpLTEdOQlFXVnVReXhIUVVFMlFrZ3NTVUZITlVOMVF5eExRVUZOTEZOQlFWVnNRaXhGUVVGTGFpdENMRWRCUjBFc2FVSkJRVkpwSzBJc1NVRkRXR29yUWl4RlFVRlZhU3RDTEVWQlExWkJMRTlCUVUxMk9VSXNSMEZKVUZZc1JVRkJWVUVzUjBGQlZ5eEhRVVZ5UWl4SlFVRkpieTlDTEVWQlIwaERMRVZCUjBGRExFVkJRMEZETEVWQlIwRkRMRVZCUjBGRExFVkJSMEUzYWtJc1JVRkhRVGhxUWl4RlFVZEJNV2xETEVWQlIwRXlhVU1zUlVGSFFURkVMRVZCUVVseUswSXNSVUZCVDIxb1F5eFZRVUZYTEVkQlFVa3ZLMElzUjBGSE1VSTBMMElzUlVGQmEwSXpSQ3hGUVVGRmJpdENMRk5CUVZkdEswSXNSVUZITDBJMFJDeEZRVUZ4UWpWRUxFVkJRVVZ1SzBJc1ZVRkRjRUk0YUVNc1JVRkJaMEo0YWtNc1ZVRkJXWGRxUXl4RlFVRm5RbmhvUXl4UlFVTTVRMUlzUlVGQlVXZHBReXhIUVVOU2FHbERMRVZCUVU4MGJFSXNUVUZIVW5KTExFVkJRVmQyWWl4RlFVRlBhMklzVjBGRGJFSm5ia0lzUlVGQmJVSnNhVU1zUlVGQlQyZGhMRlZCUVZjc1pVRkhja050YjBJc1JVRkJZVGxFTEVWQlFVVTRSQ3haUVVGakxFZEJSemRDUXl4RlFVRnBRaXhIUVVOcVFrTXNSVUZCYzBJc1IwRkhkRUpETEVWQlFWY3NWMEZIV0RkRExFVkJRVkVzUTBGRFVISm9RaXhYUVVGWkxFVkJSMXB0YTBJc2EwSkJRVzFDTEZOQlFWVndNMElzUjBGRE5VSXNTVUZCU1hKQ0xFVkJRMG9zUjBGQlMydFZMRVZCUVZrc1EwRkRhRUlzU1VGQlRUSnFRaXhGUVVWTUxFbEJSRUZCTEVWQlFXdENMRWRCUTFJM00wSXNSVUZCVVNzd1FpeEhRVUZUTVRCQ0xFdEJRVTExTTBJc1NVRkRhRU5ETEVWQlFXbENOek5DTEVWQlFVOHNSMEZCU1hKR0xHTkJRV2RDTEUxQlEzcERhemxDTEVWQlFXbENOek5DTEVWQlFVOHNSMEZCU1hKR0xHTkJRV2RDTEUxQlFWTXNTVUZEY2tRNVJ5eFBRVUZSYlUwc1JVRkJUeXhKUVVkd1FrRXNSVUZCVVRZelFpeEZRVUZwUW5neVFpeEZRVUZKTVVjc1kwRkJaMElzUzBGRk9VTXNUMEZCWjBJc1RVRkJWSEZHTEVWQlFXZENMRXRCUVU5QkxFVkJRVTFsTEV0QlFVMHNUMEZKTTBNeU0wSXNjMEpCUVhWQ0xGZEJRM1JDTEU5QlFVOTRhMElzUlVGQldUQnFRaXhGUVVGM1FpeE5RVWsxUTJVc2FVSkJRV3RDTEZOQlFWVndaME1zUlVGQlRUaENMRWRCVFdwRExFOUJUR3RDTEUxQlFXSTJXaXhKUVVOS00ySXNSVUZCVDJkblF5eEZRVUZ4UW1oblF5eEZRVUZMYjBNc1pVRkRhRU0wT1VJc1JVRkJjVUpvWjBNc1JVRkJTMjlETEdkQ1FVRnRRbkJETEVWQlF6bERLeTlDTEVWQlFXZENMeTlDTEVkQlFWTTRRaXhIUVVWdVFteElMRTFCU1ZKNWJFTXNhVUpCUVd0Q0xGTkJRVlU1YWtNc1IwRkpNMElzVDBGSWEwSXNUVUZCWW05bUxFbEJRMHB4WjBJc1JVRkJSWE5GTEZOQlFWY3Zha01zUjBGRlVETkNMRTFCU1ZKcmJFTXNWMEZCV1N4VFFVRlZMMmRETEVkQlEzSkNMRWxCUVVsdVF5eEZRVU5LTEVkQlFVdHRReXhGUVVOS0xFZEJRVXMwWXl4RlFVZEtlV2hDTEVWQlFVMXVhMElzVDBGQlVXeGhMRVZCUVV0eEswSXNSVUZCVFcxRUxHTkJTWHBDTEVsQlFVMHpha01zUzBGQlVXMURMRVZCUTJJclowTXNSVUZCV1d4cVF5eEhRVUZUTEVOQlFVVnJha01zUlVGQldXeHFReXhIUVVGUmJVTXNSVUZCUzI1RExFbEJTVzVFTEU5QlFVOW9ReXhOUVVsU05HeERMRTFCUVU4c1UwRkJWVU1zUjBGRGFFSXNTVUZCU1VNc1JVRkJXVVFzUjBGQlkxSXNSVUZMT1VJc1QwRktTMlFzUjBGRFNrRXNSVUZCVlhGQ0xFMUJRVTlGTEVkQlJXeENiRGxDTEVWQlFVMHNSVUZCUjJzNVFpeEhRVU5HT1d4RExFOUJiMEpXTEVkQlprRnpaU3hGUVVGVE1VSXNVVUZCVXpSc1FpeEhRVXRzUW5CQ0xFVkJRVVZuUXl4TlFVRlZRU3hIUVVGUGFFTXNSVUZCUldkRExFdEJRVTlzZFVJc1IwRkJVMHNzVFVGQlV5eEpRVU0xUTNSUUxGRkJRVk0yTjBJc1IwRkJWelZ6UWl4SFFVRlRiM1ZDTEZOQlFWY3NUVUZITVVOc1F5eEZRVUZGZWk5Q0xFdEJRVTkzUkN4RlFVRlJkMWdzVVVGQlZYaFlMRVZCUVZGNFJDeE5RVUZSZVM5Q0xFVkJRVVY2YTBJc1VVRkJWWGxyUWl4RlFVRkZlaTlDTEV0QlIzcEVlUzlDTEVWQlFVVnJRaXhYUVVGamJFSXNSVUZCUldsQ0xGVkJRVmtzUzBGQlRUYzJRaXhqUVVGamNVWXNUVUZCVDNGUUxFbEJRVzFDTEVOQlFVVXNTVUZIZUVRc1RVRkJha0pyYkVJc1JVRkJSVEpGTEZsQlFYTkNMRU5CUXpWQ2JrSXNSVUZCV1doc1F5eEZRVUZUTUVNc1kwRkJaU3hMUVV0d1F5eEpRVU5EYzJsRExFVkJRVlZ5ZGtJc1MwRkJUelp5UWl4RlFVRkZaME1zU1VGSmJrSjNRaXhGUVVGVmNuWkNMRXRCUVU5eGRrSXNSVUZCVlhKMlFpeExRVU16UWpaeVFpeEZRVUZGTWtVc1dVRkJZemxFTEVkQlFXRnhRaXhUUVVGWExFdEJRVTl5UWl4SFFVRmhLMFFzVFVGRE0wUndRaXhGUVVGVmRFSXNVMEZCVnl4TFFVRlBjMElzUlVGQlZXOUNMRXRCUTNSRExFMUJRVkY0TlVJc1IwRkpWRFF3UWl4RlFVRkZNa1VzWVVGQll5eEhRV0ZzUWl4SFFWSkxNMFVzUlVGQlJURmxMRTFCUVZFd1pTeEZRVUZGYlVNc1lVRkJhVU1zYVVKQlFWaHVReXhGUVVGRk1XVXNUMEZEZUVNd1pTeEZRVUZGTVdVc1MwRkJUek5tTEVWQlFVOXZLMElzVFVGQlQwTXNSVUZCUlRGbExFdEJRVTB3WlN4RlFVRkZSaXhqUVVsc1EzRkNMRWRCUVN0Q0wwZ3NSMEZCV1RSSExFVkJRVWRxT0VJc1JVRkJVM0U1UWl4SFFVZHNSSHBvUWl4RlFVTktMRTlCUVU5NWFFSXNSVUU0UlZJc1NVRkJUWEpuUXl4TFFYcEZUakJwUXl4RlFVRmpPV2hETEVWQlFVODBiRUlzVDBGQlUzbFpMRVZCUVVVMWFFTXNVMEZIVVN4SFFVRndRblZFTEVWQlFVOXJaME1zVlVGRE1VSnNaME1zUlVGQlR6UnNRaXhOUVVGTlZTeFJRVUZUTEdGQlNYWkNLMWdzUlVGQlJYb3ZRaXhMUVVGUGVTOUNMRVZCUVVWNkwwSXNTMEZCUzNGblFpeGpRVWRvUW05bUxFVkJRVVUyUlN4WlFVRmpjRVVzUjBGQlYzSXdRaXhMUVVGTk5IcENMRVZCUVVWNkwwSXNUVUZMYmtNMmFVTXNSVUZCVjNCRUxFVkJRVVZuUXl4SlFVRkpiamxDTEZGQlFWTjVOMElzUjBGQlR5eEpRVWN6UWs0c1JVRkJSVFpGTEZkQmQwSkpOMFVzUlVGQlJURmxMRTFCUVZFd1pTeEZRVUZGYlVNc1lVRkRiMFFzUzBGQmVrVnVReXhGUVVGRmNVTXNZVUZCWlN4SlFVRkxOV2xETEZGQlFWTXNkVU5CUTJwRGRXZERMRVZCUVVVeFpTeExRVUZQTUdVc1JVRkJSVEZsTEV0QlFVdDZZeXhSUVVGVGR6ZENMRWRCUVVzc1QwRjJRamxDY1VRc1JVRkJWekZFTEVWQlFVVm5ReXhKUVVGSk9XbERMRTFCUVU5cmEwTXNSVUZCVTI1b1F5eFJRVWMxUWlzNVFpeEZRVUZGTVdVc1QwRkJWVEJsTEVWQlFVVnRReXhoUVVGcFF5eHBRa0ZCV0c1RExFVkJRVVV4WlN4UlFVTXhRemhvUWl4SlFVRmphRVVzUjBGQlQyaDZRaXhMUVVGTlp6TkNMRWRCUVdFc1NVRkJUU3hMUVVGUmNFUXNSVUZCUlRGbExGbEJSMnBFTUdVc1JVRkJSVEZsTEU5QlNVOHNTVUZCV2pCbExFVkJRVVZ1ZWtJc1VVRkRUblV5UWl4RlFVRlhRU3hGUVVGVGRpdENMRkZCUVZNd04wSXNSMEZCV1N4TlFVTjZRMjFFTEVkQlFXRjBSU3hIUVVGUGFIcENMRXRCUVUxbk0wSXNSMEZCWVN4SlFVRk5MRXRCUVZFc1MwRkJVek5wUXl4SFFVRk5jMFlzVDBGRGJrVXlPVUlzUjBGSlJqRkVMRVZCUVVWblF5eEpRVUZOYjBJc1JVRkJWMDBzUjBGVFpqRkVMRVZCUVVVNFJTeGhRVU5FYm1wRExFVkJRVTl0WjBNc1lVRkJZM05DTEVsQlEzcENhRU1zUlVGQlRXZEVMR2xDUVVGclFpeHZRa0ZCY1VKNmFVTXNSVUZCVDIxblF5eGhRVUZqYzBJc1NVRkZPVVI2YUVNc1JVRkJUMjluUXl4TFFVRk5jVUlzU1VGRGFrSm9ReXhGUVVGTlowUXNhVUpCUVd0Q0xHZENRVUZwUW5wcFF5eEZRVUZQYjJkRExFdEJRVTF4UWl4TlFVdHVSSEJFTEVWQlFVVXhaU3hOUVVGUk1HVXNSVUZCUlRaRkxHRkJRV2RETEVsQlFXeENOMFVzUlVGQlJYRkRMR0ZCUVhsQ2RDdENMRVZCUVZGekswSXNZMEZEYWtWcVFpeEZRVUZOWjBRc2FVSkJRV3RDTEdWQlFXZENjRVVzUlVGQlJYRkRMR0ZCU1RORGFrSXNSVUZCVFdkRUxHbENRVU5NTEZOQlEwRndSU3hGUVVGRmEwSXNWVUZCVnl4SlFVRlBiRUlzUlVGQlJYTkRMRkZCUVZOMFF5eEZRVUZGYTBJc1ZVRkJWeXhKUVVNelEyeENMRVZCUVVWelF5eFJRVUZUZEVNc1JVRkJSV3RDTEZWQlFWY3NTMEZEUVN4TlFVRnlRbXhDTEVWQlFVVnJRaXhWUVVGWExFZEJRV01zUzBGQlQwNHNSMEZCVnl4WFFVRmhMRWxCUXpkRVdpeEZRVUZGYzBNc1VVRkJVeXhOUVVsR2RFTXNSVUZCUlN0RkxGRkJRMW96UkN4RlFVRk5aMFFzYVVKQlFXdENjbXBETEVWQlFVZHBMMElzUlVGQlJTdEZMRkZCUVZOb2EwTXNTVUZKZGtNc1IwRkJTMmt2UWl4RlFVRkZaMFlzWTBGREswTXNTVUZCYmtSb1JpeEZRVUZGWjBZc1YwRkJWek5zUXl4TFFVRk5jMnRETEVWQlFXbENka01zUlVGQlQzQkNMRWxCUVdsQ2NtZENMRWRCUnpsRUxFOUJRVTk1YUVJc1JVRkJUVzlFTEZGQlpXUXNSMEZZUVZBc1JVRkJWeXhSUVVkWVNpeEZRVUZwUW5wd1FpeEpRVUZMTkd4Q0xFVkJRVVZxUnl4VlFVTjRRbkZJTEVWQlFVMDFOVUlzUzBGQlRYYzBRaXhGUVVGRmFVWXNVMEZEWkRkRUxFVkJRVTB6YkVJc1MwRkJUWFZyUWl4RlFVRkZhamRDTEU5QlIyUnZLMElzUlVGQldXaERMRWRCUVN0Q1VpeEhRVUZaV0N4RlFVRkhhamhDTEVWQlFWTnhPVUlzUjBGTE5VUXNRMEZUVGl4SFFWSkJRU3hGUVVGTmNtaENMRmRCUVdFc1JVRkhaREJxUWl4SFFVTktSeXhGUVVGdFFqTmlMRkZCUVZNc1YwRkJXU3hEUVVGRmJWb3NSVUZCVDNCQ0xFbEJTVGREY21kQ0xFVkJRMG9zVDBGQlQzbG9RaXhGUVVsSWNFSXNSVUZCUlc5RExFOUJRVk53UXl4RlFVRkZOVVFzVVVGQlZTeEpRVU16UW0xSUxFVkJRV1UxYTBNc1JVRkJUMmRuUWl4WFFVRlpMRmRCUTJwRGVXbENMRVZCUVUxdlJDeE5RVUZQTEZsQlExaDRSU3hGUVVGRk5VUXNWVUZIVGl4SlFVTkRlbU1zUjBGQldTeEZRVU5hZDJwQ0xFVkJRVlVyUWl4TFFVRk5ia0lzUlVGQlowSjJPRUlzUjBGREwwSXNUVUZCVVRSRUxFZEJSMVFzUjBGQlMzVlZMRVZCUTBvc1RVRkJUWFpWTEVWQlNWQTFSQ3hIUVVGUExFVkJRVWMwUkN4VFFXaERXRFZFTEVkQlFVOHNSVUZCUnl4blFrRnhRMWdzVTBGQlUwRXNSVUZCVFNzNFFpeEZRVUZSV1N4RlFVRnJRa01zUlVGQlYwd3NSMEZEYmtRc1NVRkJTVTBzUlVGQlYwb3NSVUZCVTJ4blF5eEZRVUZQZFdkRExFVkJRVlZETEVWQlEzaERaQ3hGUVVGaFZTeEZRVWRVZUd4Q0xFbEJTVXhCTEVkQlFWa3NSVUZIVURScVFpeEhRVU5LTld0RExFVkJRVTh3T1VJc1lVRkJZMnRJTEVkQlMzUkNTaXhQUVVGWk1TdENMRVZCUjFvMEswSXNSVUZCZDBJd1FpeEhRVUZYTEVkQlIyNURNMFFzUlVGQlRYSm9RaXhYUVVGaGQydENMRVZCUVZNc1JVRkJTU3hGUVVGSkxFVkJSM0JEWXl4RlFVRlpaQ3hIUVVGVkxFdEJRVTlCTEVWQlFWTXNTMEZCYTBJc1RVRkJXRUVzUlVGSGVFTmhMRWxCUTBwRkxFVkJOMnhDU2l4VFFVRTRRblJHTEVWQlFVZHZRaXhGUVVGUFowVXNSMEZQZGtNc1NVRk1RU3hKUVVGSlNTeEZRVUZKYW14RExFVkJRVTFyYkVNc1JVRkJaVU1zUlVGRE5VSTVja0lzUlVGQlYyOXRRaXhGUVVGRmNHMUNMRk5CUTJKemJrSXNSVUZCV1d4Q0xFVkJRVVZyUWl4VlFVZFpMRTFCUVc1Q1FTeEZRVUZYTEVsQlEyeENRU3hGUVVGVmJEQkNMR0ZCUTBWMlNTeEpRVUZRSzJkRExFbEJRMHBCTEVWQlFVdDRSaXhGUVVGRmMwVXNWVUZCV1d4RUxFVkJRVTA0UXl4clFrRkJiVUlzYVVKQlN6bERMRWRCUVV0elFpeEZRVU5LTEVsQlFVMXFiRU1zUzBGQlVYRmFMRVZCUTJJc1IwRkJTMEVzUlVGQlZYSmFMRWxCUVZWeFdpeEZRVUZWY2xvc1IwRkJUelpNTEV0QlFVMXZOVUlzUjBGQlR5eERRVU4wUkhSRkxFVkJRVlV6ZDBJc1VVRkJVMmhSTEVkQlEyNUNMRTFCVFVnc1IwRkJTekpuUXl4RlFVRlhMRXRCUVU5clJTeEZRVU4wUWtzc1JVRkJaMEoyUlN4RlFVRlhMRTlCUTNKQ0xFTkJSMDRzU1VGQlRUTm5ReXhMUVVGUk5tdERMRVZCUVZrc1EwRkRla0lzU1VGQlRXeEZMRVZCUVZjc1NVRkJUMnhDTEVWQlFVVjVReXhYUVVGWmJHbERMRVZCUVU4c1NVRkJUVEpuUXl4RlFVRlhMRWxCUVZFc1EwRkRja1YxUlN4RlFVRm5RbXhzUXl4RlFVTm9RaXhOUVVWTGJXeERMRWxCUTB4QkxFVkJRV2RDYm14RExFZEJTMnhDYTJ4RExFVkJRV2RDUVN4SFFVRnBRa01zUlVGTmJFTXNSMEZCUzBRc1JVRkpTaXhQUVVoTFFTeEpRVUZyUW5aRkxFVkJRVmNzU1VGRGFrTkJMRVZCUVZVemQwSXNVVUZCVTJzeFFpeEhRVVZpVEN4RlFVRlhTeXhIUVRCcFFreEZMRU5CUVhGQ00wWXNSVUZCUjI5Q0xFVkJRVTluUlN4TFFVbHlRME1zUjBGRFRERnFReXhGUVVGUE5rUXNVVUZCVXl4VFFVRlZkelpDTEVWQlFVVnJRaXhaUVVGbExFZEJRek5EZGk5Q0xFVkJRVTgyUkN4UlFVRlRMRTlCUVZGM05rSXNSVUZCUld0Q0xGZEJRV01zU1VGRGVFTnNRaXhGUVVGRmVVTXNWMEZCV1N4bFFVRnJRaXhqUVVscVF6WkRMRVZCT1dsQ1NDeFRRVUZ6UW5SR0xFVkJRVWR6Uml4RlFVRlZiRVVzUlVGQlQybEZMRWRCUTNwRExFbEJRVWxQTEVWQlFVOURMRVZCUVZORExFVkJRVTE0TWtJc1JVRkJTM1ZMTEVWQlF6bENORzlDTEVWQlFXRXNSMEZIWW5aQ0xFVkJRVmxzUWl4RlFVRkZhMElzVlVGQlZXaHBReXhSUVVkNlFpeEhRVUZMWjJsRExFVkJRVmNzUjBGRFppeEpRVUZOTkVVc1MwRkJVVGxHTEVWQlFVVjVReXhYUVVObVFTeEZRVUZaY1VRc1JVRkJTekV2UWl4bFFVRnJRalExUWl4RlFVRkZlVU1zVjBGQldYRkVMRWRCVDI1RUxFbEJTRUZFTEVWQlFWVXpSU3hGUVVGVmJEQkNMRkZCUjFvMk5FSXNSMEZqVUN4SFFWcExOMFlzUlVGQlJYZERMR1ZCUVdkQ2NVUXNTMEZEZEVKNlJTeEZRVUZQY0VJc1JVRkJSWGRETEdWQlFXZENjVVFzU1VGQlkxQXNTVUZKYkVONmNrSXNSMEZCVVhkeVFpeEhRVUZoY2tZc1JVRkJSU3RHTEdGQlF6VkNWQ3hGUVVGWGRFWXNSVUZCUlN0R0xGZEJRVmxVTEVWQlFWVjBSaXhGUVVGRmFVSXNWMEZIZEVOd2JrSXNSVUZCVDJkelFpeEZRVU5RUVN4RlFVRlZNMFVzUlVGQlZXd3dRaXhSUVV0dVFpeEhRVUZwUWl4TlFVRmFOalJDTEVWQlJVcEJMRVZCUVZWb2MwSXNUMEZIU2l4SFFVRmpMRTFCUVZSQkxFZEJRV2RDUVN4SlFVRlRaM05DTEVWQlFWVXNRMEZOT1VNc1MwRklRVU1zUlVGQlQzSkVMRVZCUVZrMWIwSXNSVUZCVHl4SlFVRk5aM05DTEVsQlFXRndSQ3hGUVVGWkxFdEJRVTl2UkN4SlFVa3ZSQ3hKUVVGTlJDeExRVUZUYmtRc1JVRkpaQ3hKUVVSQmJucENMRVZCUVUxek1rSXNSVUZCVFRFdlFpeE5RVUZQTEUxQlExUXNTMEZCVVRJdlFpeEpRVWRxUWtNc1JVRkJUM0pFTEVWQlFWazFiMElzUlVGQlR5eEpRVUZOZGtzc1JVRkJTeXhMUVVOd1EyMTZRaXhGUVVGWkxFdEJRVTl1ZWtJc1JVRkJTeXhMUVVOaUxFVkJSMGNzU1VGQlZIY3lRaXhGUVVOS1FTeEZRVUZQY2tRc1JVRkJXVzFFTEVsQlIyZENMRWxCUVhoQ2JrUXNSVUZCV1cxRUxFdEJRM1pDUXl4RlFVRlZkakpDTEVWQlFVc3NSMEZEWmpSNFFpeEZRVUZWTTNkQ0xGRkJRVk5xUWl4RlFVRkxMRXRCUlhwQ0xFMUJUMG9zU1VGQll5eEpRVUZVZHpKQ0xFVkJSMG9zUjBGQlMwRXNSMEZCVVRsR0xFVkJRVVZuUnl4UFFVTmtWaXhGUVVGWFVTeEZRVUZOVWl4UlFVVnFRaXhKUVVORFFTeEZRVUZYVVN4RlFVRk5VaXhIUVVOb1FpeE5RVUZSYkRaQ0xFZEJRMVFzVFVGQlR5eERRVU5PTkZJc1RVRkJUeXhqUVVOUWFsa3NUVUZCVHl0blF5eEZRVUZQTVRaQ0xFVkJRVWtzYzBKQlFYZENlVThzUlVGQlR5eFBRVUZUWjNOQ0xFbEJVMnBGTEUxQlFVOHNRMEZCUlRkdlFpeE5RVUZQTEZWQlFWZHpSU3hMUVVGTloydENMRWRCYVdSd1FsY3NRMEZCWVdwSExFVkJRVWR6Uml4RlFVRlZiRVVzUlVGQlQybEZMRWRCUjNaRFFTeEhRVWREY2tZc1JVRkJSVGhGTEdOQlEwNVRMRVZCUVZkdVJTeEZRVUZOT0VNc2EwSkJRVzFDTEc5Q1FVVnVRM1pwUXl4RlFVRlBiV2RETEdGQlFXTnpRaXhIUVVGaGJVTXNTVUZGYmtOQkxFVkJRVmR1UlN4RlFVRk5PRU1zYTBKQlFXMUNMRmRCUlc1RGRtbERMRVZCUVU5dlowTXNTMEZCVFhGQ0xFZEJRV0Z0UXl4SlFVdGFMRTFCUVZob1FpeEhRVUUyUWl4VFFVRllka1VzUlVGQlJYb3ZRaXhMUVVONFFtdHJReXhGUVVGaExGbEJSMU1zVFVGQldFWXNSVUZEV0VVc1JVRkJZU3hsUVVsaVFTeEZRVUZoWVN4RlFVRlRkRzlDTEUxQlEzUkNhVzlDTEVWQlFWVkxMRVZCUVZOb2EwSXNTMEZGYmtJcmFrSXNTVUZFUVhSblF5eEZRVUZSZFdkRExFVkJRVk4yWjBNc1ZVRk5iRUpCTEVWQlFWRXdMMElzUjBGRFNFWXNSMEZCVjBVc1NVRkRaa0VzUlVGQllTeFJRVU5TUml4RlFVRlRMRWxCUTJKQkxFVkJRVk1zUzBGTldtNUVMRVZCUVUxdFJDeFBRVUZUUVN4RlFVTm1ia1FzUlVGQlRYRkVMRmxCUVdWVkxFZEJRVzlDVml4SFFVRmxMRWRCUjI1RVdTeEZRVU5LYm05Q0xFVkJRVk50UWl4WlFVRmhjMnhDTEVWQlFXbENMRU5CUVVWelFpeEZRVUZUVWl4RlFVRlpja1FzU1VGRk9VUnNhMElzUlVGQlUzVkNMRmRCUVZscmJFSXNSVUZCYVVJc1EwRkJSWFpETEVWQlFVOXhSQ3hGUVVGWk1TOUNMRWxCU1RWRWNUaENMRVZCUVUwd1F5eFhRVUZaUVN4SFFVTnNRa0VzVDBGQllYSXZRaXhGUVVWU1p5OUNMRWRCUTBwSExFVkJRVzFDTTJJc1VVRkJVMjlrTEVWQlFWa3NZMEZCWjBJc1dVRkRka1FzUTBGQlJXcEZMRVZCUVU5d1FpeEZRVUZIY1VZc1JVRkJXVW9zUlVGQlZXeG5ReXhKUVVsd1F6Z3JRaXhGUVVGcFFtcHVRaXhUUVVGVksyMUNMRVZCUVdsQ0xFTkJRVVYyUXl4RlFVRlBjVVFzU1VGRmFFUm9RaXhKUVVOS1J5eEZRVUZ0UWpOaUxGRkJRVk1zWlVGQlowSXNRMEZCUlcxYUxFVkJRVTl3UWl4TlFVY3pRM0lyUWl4RlFVRlBhMmRETEZGQlEyaENiR2RETEVWQlFVODBiRUlzVFVGQlRWVXNVVUZCVXl4alFVdDZRaXhQUVVGUGJWb3NSMEZIVWpoRkxGRkJRVk1zVTBGQlZXeEZMRVZCUVVzeFowSXNSVUZCVFhobExFZEJRemRDTEU5QlFVOXVRaXhGUVVGUFZ5eEpRVUZMTUM5Q0xFVkJRVXN4WjBJc1JVRkJUWGhsTEVWQlFWVXNVMEZIZWtOeGFrTXNWVUZCVnl4VFFVRlZia1VzUlVGQlMyd3ZRaXhIUVVONlFpeFBRVUZQYmtJc1JVRkJUMWNzU1VGQlN6QXZRaXhQUVVGTGRqbENMRVZCUVZjelFpeEZRVUZWTEdGQlNTOURia0lzUlVGQlQydENMRXRCUVUwc1EwRkJSU3hOUVVGUExGRkJRVlVzVTBGQlZYTkVMRVZCUVVsdlZpeEhRVU0zUXpWYUxFVkJRVkUwV2l4SFFVRlhMRk5CUVZWNWJVSXNSVUZCU3pGblFpeEZRVUZOZUdVc1JVRkJWWFpETEVkQlZXcEVMRTlCVUV0T0xFVkJRVmx4YUVJc1MwRkRhRUl2WjBJc1JVRkJUMEVzUjBGQlVYVkRMRVZCUTJaQkxFVkJRVmQzWlN4RlFVTllRU3hQUVVGUE4yTXNSMEZKUkRsRExFVkJRVTkxYUVNc1MwRkJUWFpvUXl4RlFVRlBiVU1zVDBGQlVTeERRVU5zUTJzclFpeEpRVUZMUVN4RlFVTk1lbWhETEV0QlFVMW5ZaXhGUVVOT01HeENMRk5CUVZVeFowTXNSVUZEVml0blFpeExRVUZOUVN4RlFVTk9NbXBDTEZGQlFWTnVhVU1zUjBGRFVHNUNMRVZCUVU4eVF5eGpRVUZsTURsQ0xFbEJRVk5CTEU5QlNYQkRjbWRETEVWQlFVOXhhRU1zWTBGQlpTeFRRVUZWYUVRc1IwRkRMMElzU1VGQlNXb3ZRaXhGUVVOS0xFbEJRVTFCTEV0QlFVdHBMMElzUlVGQlJTdEZMRkZCUTJFc2FVSkJRWEJDYUd0RExFVkJRVVZ4Uml4blFrRkRUalExUWl4RlFVRkZjVU1zV1VGQlkzSkRMRVZCUVVVclJTeFJRVUZUYUd0RExFbEJRVThzVFVGTmNrTlpMRVZCUVU4MGMwSXNVMEZCVnl4VFFVRlZlVlFzUlVGQlMyb3JRaXhGUVVGVGFrUXNSMEZEZWtNc1QwRkJUMkVzUlVGQlQzVm9ReXhMUVVGTkxFTkJRMjVDYkVJc1NVRkJTMEVzUlVGSFRIcG9ReXhMUVVGTkxFMUJRMDR3WjBNc1UwRkJWU3hUUVVOV2NEQkNMRTlCUVU4c1JVRkRVSFV4UWl4UFFVRlBMRVZCUTFCb2EwTXNVVUZCVVN4RlFVdFNjV3RETEZkQlFWa3NRMEZEV0RKRUxHTkJRV1VzWTBGRmFFSk1MRmRCUVZrc1UwRkJWVlFzUjBGRGNrSXpha01zUlVGQlR6QkVMRmRCUVZscFowTXNSVUZCVlhab1F5eEZRVUZUYWtRc1QwRk5la05oTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENkV2xETEZGQlFWTXNVMEZCVlM5WUxFZEJRMnhDTEVsQlFVa3ZTQ3hGUVhsQ1NpeFBRWFpDU3pOdVFpeExRVUZOTEV0QlEweHhRaXhGUVVGWmNYVkNMRXRCUTJoQ1FTeEZRVUZQUVN4RlFVRkxhblpDTEV0QlFVMVVMRXRCUVUwc1MwRkpla0l5YmtJc1JVRkJUelZyUWl4RlFVRlJNbk5DTEVWQlFVMHhka0lzUzBGQlRTeEhRVUZKYVU0c1pVRkJaMEl4U1N4SFFVRkpMRWRCUVVsblFpeFBRVUZQTEVkQlJYcEVka1lzUzBGQlRTeEhRVUZKTkVNc1dVRkRaQ3RyUWl4RlFVRkxNa2tzWVVGQlkzUjNRaXhMUVVGTkxFbEJSekZDTW01Q0xFVkJRVXQ0YWtJc1NVRkJTeXhYUVVkVUxFbEJSa0VzU1VGQlNVTXNSVUZCVDNCRkxFdEJSVWh2UlN4RlFVRkxjMnBETEcxQ1FVTmFkR3BETEVWQlFVOUJMRVZCUVV0emFrTXNhMEpCUjJJc1QwRkJUM1JxUXl4SlFVTktaM05DTEU5QlFWRndkMElzVDBGSFRrRXNUVUZIVWpKdVF5eFZRVUZYTEZOQlFWVnFXU3hIUVVOd1FpeFBRVUZMY25WQ0xFVkJRVmx4ZFVJc1IwRkRWREYyUWl4TFFVRkxhVVVzUzBGQlRTeFRRVUZWT1VJc1IwRkRNMEpaTEVWQlFWRXZReXhOUVVGUE1tNURMRlZCUVZkcVdTeEZRVUZMYW5aQ0xFdEJRVTFVTEV0QlFVMXRReXhOUVVsMFEyNURMRXRCUVV0cFJTeExRVUZOTEZkQlEycENMRWxCUVVsM1Z5eEZRVUZQTVZnc1JVRkJVUzlETEUxQlEyeENaMklzUlVGQlYxQXNSVUZCUzA4c1YwRkZXa0VzUlVGQlV6TllMRTlCUTJJeVdDeEZRVUZUZVhOQ0xGRkJRVk12V0N4SFFVZHNRbXBXTEVWQlFVc3lWaXhQUVVGUlZpeE5RVXRvUWk5SUxFdEJRVTBzVTBGQlZTdElMRWRCUTJZc1NVRkJTV3RaTEVWQlFXbENkbTFETEVWQlFWbHhkVUlzUjBGRmFrTXNUMEZCVHpGMlFpeExRVUZMYVVVc1MwRkJUU3hUUVVGVk9VSXNSMEZETTBKWkxFVkJRVkV2UXl4TlFVRlBlVzVETEZGQlFWTkhMRVZCUVdsQ2JGa3NSVUZCUzJwMlFpeExRVUZOVkN4TFFVRk5iVU1zUjBGQlRYVjBRaXhOUVVsc1JXMVpMRTlCUVZFc1UwRkJWVGRyUXl4SFFVbHFRaXhQUVVoQmFFUXNTMEZCUzJ0VkxFOUJRVkZzVWl4SFFVRlhNbElzU1VGQlN5eFJRVUZUTVZFc1MwRkJUU3hYUVVNelEyeENMRVZCUVZFdlF5eE5RVUZQZVhkQ0xGbEJRV0Y2ZDBJc1MwRkJTM1ZOTEdOQlJUTkNkazBzVVVGTFZDdERMRVZCUVU4MlR5eExRVUZMYUVrc1VVRkJVU3QyUWl4UFFVRlRMRk5CUVZWMk1VSXNSMEZEZEVNc1QwRkJVWEpDTEVWQlFVODJUeXhMUVVGTGFFa3NVVUZCVVdzclFpeFJRVUZUTVdwRExFbEJSWFJEY2tJc1JVRkJUelpQTEV0QlFVdG9TU3hSUVVGUmF5dENMRkZCUVZVc1UwRkJWVEZxUXl4SFFVTjJReXhUUVVGWFFTeEZRVUZMTW5WQ0xHRkJRV1V6ZFVJc1JVRkJTemgyUWl4alFVRm5RamwyUWl4RlFVRkxObmhDTEdsQ1FVRnBRalY1UWl4VFFVMHpSVTRzUlVGQlQybG5ReXhoUVVGaEswVXNTVUZCVFN4WFFVTjZRaXhKUVVORExFOUJRVThzU1VGQlNXaHZReXhGUVVGUGFXOURMR1ZCUTJwQ0xFMUJRVkY0TjBJc1RVRkhXQ3hKUVVGSmVUZENMRWRCUVcxQ0xFTkJSM0pDUXl4RlFVRkhMRWxCU1VoRExFdEJRVTBzUzBGRlVFTXNSMEZCWlhKc1F5eEZRVUZQYVdkRExHRkJRV0VyUlN4TlFVVndRek50UXl4RlFVRlJhVzVETEU5QlFWTkVMRWxCUVd0Q0xHOUNRVUZ4UWtFc1IwRkRlRVJvYmtNc1JVRkJVV3RxUXl4TFFVRlBPRVFzUzBGQmFVSkJMRWRCUldoRGNteERMRVZCUVU5emFFTXNZMEZCWlN4VFFVRlZiQzlDTEVkQlF5OUNMRWxCUVVscVFpeEZRVUZWYjJ0RExFVkJSMlFzUjBGQlMyeHVReXhGUVVGUmFXNURMRTFCUVZGRUxFdEJRV2xDYW1wRExFVkJRVkUwWjBNc1dVRkROME1zVFVGQlR5eERRVU5PVHl4TFFVRk5MRk5CUVZWSUxFVkJRVk5vVEN4SFFVTjRRaXhKUVVGSmFEVkNMRVZCUTBnMGJFTXNSVUZCVFRWcFF5eEZRVUZSTkdsRExFMUJWMllzUjBGVVFVRXNSVUZCU1ZFc1MwRkRTSEJxUXl4RlFVRlJlRVFzUzBGRFVuZEVMRVZCUVZGcEswSXNTVUZEVW1vclFpeEZRVUZSY1N0Q0xFMUJRMUp5SzBJc1JVRkJVWEZxUXl4VFFVTlNjbXBETEVWQlFWRnRVaXhWUVVsS2JsSXNSVUZCVVhOcVF5eFZRVU5hTEVsQlFVMTBiVU1zUzBGQlMyZEVMRVZCUVZGemFrTXNWVUZEYkVKV0xFVkJRVXMxYkVNc1IwRkJUV2RFTEVWQlFWRnpha01zVlVGQlYzUnRReXhIUVcxQ2FFTXNTVUZCVFVFc1MwRmtSR2RFTEVWQlFWRjFaME1zVlVGQldYRkRMRVZCUVVsMFF5eHJRa0ZETlVKelF5eEZRVUZKZEVNc2FVSkJRV3RDZEdkRExFVkJRVkYxWjBNc1ZVRlJla0oyWjBNc1JVRkJVVFJuUXl4aFFVRm5Ra2tzUlVGQlV5eHpRa0ZEZEVOQkxFVkJRVk1zYjBKQlFYVkNMR3RDUVVsMFFrRXNSVUZEVmpSQ0xFVkJRVWwyUXl4cFFrRkJhMEp5YWtNc1JVRkJSMmRyUXl4RlFVRlRhR3RETEVsQlNXNURLMElzUlVGQlZ5eFRRVUZWZGtNc1IwRkRjRUlzVDBGQlR5eFhRVU5FZFVNc1NVRkRTa0VzUlVGQlYyOXJReXhGUVVGblFsQXNSVUZCU1Zjc1QwRkRPVUpZTEVWQlFVbFpMRkZCUVZWYUxFVkJRVWxoTEZGQlFWVmlMRVZCUVVsakxGVkJReTlDWkN4RlFVRkpaU3h0UWtGQmNVSXNTMEZGWWl4VlFVRlVibTVETEVWQlEwcHZiVU1zUlVGQlNXNURMRkZCUTJkQ0xGVkJRVlJxYTBNc1JVRkxaMElzYVVKQlFXWnZiVU1zUlVGQlNYQkRMRTlCUTJaNFN5eEZRVUZWTEVWQlFVY3NVMEZGWWtFc1JVRkhRelJOTEVWQlFVbHdReXhQUVVOS2IwTXNSVUZCU1d4RExGbEJTVTR4U3l4RlFVTkRPRTBzUjBGQmEwSkdMRVZCUVVsd1F5eFRRVUZaYjBNc1JVRkJTWEJETEU5QlEzUkRiME1zUlVGQlNXeERMRmRCU3l0Q0xGVkJRV3BEYTBNc1JVRkJTV2RDTEdOQlFXZENMRk5CUTAwc2FVSkJRWEpDYUVJc1JVRkJTV2xDTEdGQlExWXNRMEZCUlVNc1QwRkJVV3hDTEVWQlFVbHlRaXhWUVVOa0xFTkJRVVZ1YTBNc1MwRkJUWGRzUXl4RlFVRkphVUlzWTBGRFltcENMRVZCUVVsNFF5dzBRa0ZSVkhkRExFVkJRVWxYTEU5QlFWTjRhME1zU1VGRFltOXJReXhGUVVGblFsQXNSVUZCU1Zrc1VVRkJWVm9zUlVGQlNXTXNWVUZCV1ROclF5eEZRVUZWTEdOQlMyNURNa0lzU1VGQmFFSnJhVU1zUlVGQlNXRXNVVUZEVW1Jc1JVRkJTV0VzVVVGQlZVNHNSVUZGWkZBc1JVRkJTV1VzYlVKQlFYRkNMRmRCUjBFc1NVRkJia0ptTEVWQlFVazFiVUlzV1VGTlVuQm9RaXhGUVVGUFoyZENMRmRCUVZrc1YwRkRZamRpTEVkQlEwcHZhME1zVDBGUlRIQnJReXhGUVVGWFFTeEZRVUZWTEZOQlJYSkNMRWxCUjBNMmFrTXNSVUZCU1hwQ0xFdEJRVTF1YUVNc1JVRkJVVGhuUXl4WlFVRmpPV2RETEVWQlFWRjFaQ3hOUVVGUkxFMUJReTlETEUxQlFWRnNWeXhIUVVkVUxFZEJRVXQwU1N4RlFVTktMRTFCUVUxelNTeEpRVXRVYnpWQ0xFMUJRVThzVjBGRFJERm9ReXhIUVVOS1FTeFJRVmRNYmtJc1JVRkJUM0ZvUXl4alFVRmxMRk5CUVZWb1JDeEhRVU14UWtFc1JVRkJSVEpGTEdOQlEwNHpSU3hGUVVGRmNHMUNMRk5CUVZNeldTeFJRVUZUTEV0QlMzUkNWU3hGUVVGUGJXaERMRlZCUVZjc1EwRkRha0pTTEZGQlFWTXNRMEZEVW5Kb1F5eFBRVUZSTERaR1FVZFVNbGtzVTBGQlZTeERRVU5VTTFrc1QwRkJVU3d5UWtGRlZIZG9ReXhYUVVGWkxFTkJRMWd5UkN4alFVRmxMRk5CUVZWcWJFTXNSMEZGZUVJc1QwRkVRVkVzUlVGQlR6QkVMRmRCUVZsc1JTeEhRVU5hUVN4TlFVMVdVU3hGUVVGUGNXaERMR05CUVdVc1UwRkJWU3hUUVVGVmFFUXNVVUZEZUVKMk4wSXNTVUZCV25VM1FpeEZRVUZGYm5wQ0xGRkJRMDV0ZWtJc1JVRkJSVzU2UWl4UFFVRlJMRWRCUlU1dGVrSXNSVUZCUlRKRkxHTkJRMDR6UlN4RlFVRkZlaTlDTEV0QlFVOHNVMEZMV0c5Q0xFVkJRVTl6YUVNc1kwRkJaU3hUUVVGVkxGTkJRVlZxUkN4SFFVbDRReXhKUVVGSkx5dENMRVZCUVZFMlFpeEZRVVJpTEVkQlFVdHJPVUlzUlVGQlJUSkZMR0ZCUVdVelJTeEZRVUZGT0Vnc1dVRkZka0lzVFVGQlR5eERRVU5PTlVNc1MwRkJUU3hUUVVGVmNuQkNMRVZCUVVkclpTeEhRVU5zUWprMFFpeEZRVUZUVlN4RlFVRlJMRmxCUTJZclR5eExRVUZOYzNaQ0xFVkJRVVU0U0N4aFFVRmxMRWxCUTNaQ2RtMUNMRXRCUVUwc1EwRkJSWGR0UWl4UlFVRlRMMGdzUlVGQlJXZEpMR05CUVdWNGJrTXNTVUZCUzNjdlFpeEZRVUZGWjBNc1RVRkRla00zWVN4SFFVRkpMR0ZCUVdOeWEwSXNSVUZCVnl4VFFVRlZiV3hETEVkQlEzWkRhRzVETEVWQlFVOTNZaXhUUVVOUU0xb3NSVUZCVnl4TFFVTk9iV3hETEVkQlEwcHNUeXhGUVVGMVFpeFZRVUZpYTA4c1JVRkJTVEZ1UXl4TFFVRnRRaXhKUVVGTkxFbEJRVXN3YmtNc1JVRkJTVEZ1UXl4UlFVdHVSQzlDTEVWQlFWTTRReXhMUVVGTFF5eFpRVUZoVGl4RlFVRlJMRXRCUlhCRGRXcERMRTFCUVU4c1YwRkRSREZvUXl4SFFVTktRU3hSUVZWTUxFbEJjVWRMZFdoQ0xFZEJja2RFTm1wQ0xFZEJRV1VzUjBGRGJFSkRMRWRCUVZNc2IwSkJSMVo0YlVNc1JVRkJUMjFvUXl4VlFVRlhMRU5CUTJwQ2MwWXNUVUZCVHl4WFFVTlFReXhqUVVGbExGZEJRMlFzU1VGQlNYWnNReXhGUVVGWGIyeERMRWRCUVdGcVowTXNUMEZCVjNSSExFVkJRVThyUXl4UlFVRlZMRWxCUVZGcVJTeEhRVUZOYzBZc1QwRkZkRVVzVDBGRVFXNUlMRXRCUVUxclJTeEpRVUZoTEVWQlExcEJMRXRCUzFSdVFpeEZRVUZQY1doRExHTkJRV1VzWVVGQll5eFRRVUZWYUVRc1JVRkJSM05KTEVWQlFXdENiRWdzUjBGRmJFVXNTVUZCU1cxSUxFVkJRV05ETEVWQlFXRkRMRVZCUXpsQ1F5eEhRVUYxUWl4SlFVRmFNVWtzUlVGQlJXOUpMRkZCUVhGQ1JDeEhRVUZQTHpkQ0xFdEJRVTAwZWtJc1JVRkJSV2RETEV0QlEyaEVMRTFCUTJ0Q0xHbENRVUZZYUVNc1JVRkJSVEZsTEUxQlJUWkRMRXRCUkc1RU1HVXNSVUZCUlhGRExHRkJRV1VzU1VGRGFrSTFhVU1zVVVGQlV5eHpRMEZEV0RCdlF5eEhRVUZQTHpkQ0xFdEJRVTAwZWtJc1JVRkJSVEZsTEU5QlFWVXNVVUZKTlVJc1IwRkJTMjl1UWl4SFFVRnBReXhWUVVGeVFqRkpMRVZCUVVWclFpeFZRVUZYTEVkQk9FUTNRaXhQUVRORVFYRklMRVZCUVdWMlNTeEZRVUZGY1Vrc1kwRkJaMEp3YjBNc1JVRkJXU3N2UWl4RlFVRkZjVWtzWlVGRE9VTnlTU3hGUVVGRmNVa3NaMEpCUTBaeVNTeEZRVUZGY1Vrc1kwRkhSVXNzUlVGRFNqRkpMRVZCUVVjd1NTeEhRVUZoTVVrc1JVRkJSekJKTEVkQlFWYzNha01zVVVGQlUzTnFReXhIUVVGUkxFdEJRVTlKTEVsQlF5OUNMRWxCUVZwMlNTeEZRVUZGYjBrc1VVRkRZbkJKTEVWQlFVVm5ReXhOUVVGVE5VTXNSMEZCVDJoNlFpeExRVUZOTkhwQ0xFVkJRVVZuUXl4TFFVRlJMRWxCUVUwc1MwRkJVV2hETEVWQlFVVnZTU3hOUVVGUkxFbEJRVTFITEVkQlNXcEZka2tzUlVGQlJYbERMRmRCUVZrc1pVRkJhMElzVjBGSkwwSXNUMEZJVFdkSExFZEJRMHc1YlVNc1JVRkJUMjlFTEUxQlFVOTNha01zUlVGQlpTeHRRa0ZGZGtKRkxFVkJRVzFDTEVsQlNUTkNla2tzUlVGQlJXdENMRlZCUVZjc1IwRkJUU3hQUVVkdVFuTklMRVZCUVdNM2NFTXNSVUZCVVRSd1F5eEhRVU4wUWpWd1F5eEZRVUZSTkhCRExFZEJRV2xDTEZkQlEzaENSU3hGUVVGdlFuaHNReXhYUVVseVFtMHJRaXhGUVVGTmJtdENMRTlCUVZFc1owSkJSMUY0V1N4SlFVRm9RaXRxUXl4RlFVTktOMjFETEVWQlFWRm9SQ3hIUVVGVE1DdENMRmRCUVZsclRDeEhRVWszUWpWd1F5eEZRVUZSTkhCRExFZEJRV2xDUXl4RlFVbHlRbmhKTEVWQlFVZDFTU3hMUVVkUWRra3NSVUZCUlhGSkxHTkJRV2RDUXl4RlFVRnBRa1FzWTBGSGJrTklMRWRCUVdFeGIwTXNTMEZCVFN0dlF5eEpRVWxtUlN4SFFVRnhRbmh2UXl4RlFVRlpkVzlETEVsQlEzSkRRU3hGUVVGaFF5eEZRVUZ0UWl4SlFVZHFRMEVzUlVGQmIwSkVMRTlCUVdNdmFrTXNTVUZKTlVJc1YwRlpWSHBGTEVWQlFWRXliME1zY1VKQlEwaDBhMElzUjBGQlR6ZHNRaXhGUVVGVGIzRkRMR1ZCUVdWRUxHMUNRVUZ2UWl4SlFVRkxkR3RDTEUxQlEzWkVOMVVzVlVGQldTdzJRa0ZEYVVJc1NVRkJNMEkyVlN4SFFVRkxiRm9zVjBGQlYyeEtMRkZCVVhoQ1RpeEZRVUZQTkZnc1ZVRkJXU3hUUVVGVkswZ3NSVUZCVFhwbUxFVkJRVk5uYmtNc1IwRkRNME1zVFVGQmNVSXNhVUpCUVZSMmJrSXNSVUZEU2l4SlFVVm5RaXhyUWtGQlducG1MRWxCUTFobmJrTXNSVUZCWTJodVF5eEZRVU5rUVN4SFFVRlZMRWRCUzB4QkxFbEJTVUUzUWl4RlFVRlJNbTlETEhGQ1FVMWFibnBDTEVkQlRFRXpWQ3hGUVVGVmNrUXNSVUZCVTI5eFF5eGxRVUZsUkN4dFFrRkJiMElzUzBGTGRrTjZia01zWTBGQlpTeFRRVU42UW1sVUxFdEJRVTh6Vml4RlFVRlRjMVlzVTBGQlUwc3NTMEZET1VKMFV5eEZRVUZSVUN4TFFVRkxReXhaUVVGaGFWVXNTVUZGTVVJelZDeEZRVUZWY2tRc1IwRkxXalJ1UWl4SFFVRlhlV2xDTEVkQlFXVXNTVUZFTVVKRExFVkJRVk0xZGtJc1JVRkJWM0JPTEV0QlFVMTNWaXhKUVV0c1FpeERRVUZGZW1Zc1JVRkJVVmdzWTBGQlpUUnVReXhGUVVGUkxFMUJSM3BEUVN4RlFVRlRNMmxDTEVkQlFXVXNRMEZCUlRkRkxFZEJRVkY2Wml4RlFVRlRkV3RDTEVkQlJYUkRRU3hIUVVGWFFTeEZRVUZSYm10Q0xGRkJRM1pDVGl4RlFVRlJlV3RDTEVkQlFWVXpTaXhUUVVkYU9XRXNSVUZCVDJkQ0xFMUJRVThzUjBGQlNXMXRReXhGUVVGUE16bENMR05CYkVOb1F5eEpRVUZKY1Vzc1JVRkJUWE42UWl4RlFVRlJNV2xDTEVkQmVVTnVRbnByUWl4RlFVRlBSeXhIUVVGSE1HOUNMRXRCUVU4c1UwRkJWWGRZTEVWQlFVc3JSeXhGUVVGUmFtMURMRWRCUTNaRExFbEJRVWxzUWl4RlFVRlZja0lzUlVGQlRTdHJReXhGUVVOdVFtcHpRaXhGUVVGUGVtRXNTMEZEVURSdlFpeEZRVUZOZDJFc1JVRkJTWFpwUXl4UlFVRlRMRXRCYzBSd1FpeFBRWEJFU3l0dVFpeEhRVUZQTEVsQlExZzFiRUlzUlVGQlYzTTNRaXhIUVVGclFqaEZMRVZCUVVrNWFVTXNUVUZCVDNOdlFpeEpRVU40UTNkaExFVkJRVTFCTEVWQlFVazVhVU1zVFVGQlR5eEZRVUZIYzI5Q0xFbEJTV2hDZG01Q0xFVkJRVms0YjBNc1NVRkhhRUpxYlVNc1JVRkJWMmx0UXl4RlFVTllRU3hQUVVGVGRHdERMRWRCUjBWemEwTXNSMEZCTkVJc2FVSkJRVmhCTEVsQlF6VkNlRzlETEVWQlFVOHNVVUZKU0RoWkxFVkJRVXR3V0N4UFFVRlRMRWRCUTJ4Q1RpeEZRVUZQZFdoRExFdEJRVTBzUTBGRFdteENMRWxCUVV0QkxFVkJTMHg2YUVNc1MwRkJUVUVzUjBGQlVTeE5RVU5rTUdkRExGTkJRVlVzVDBGRFZqTm1MRXRCUVUxNWJrSXNTVUZEU0hab1F5eExRVUZOTEZOQlFWVnZaME1zUjBGSGJrSjBReXhGUVVGWGNtbERMRlZCUlZodlZ5eEZRVUZMYVZZc1MwRkJUVEZ6UWl4RlFVbFdSQ3hGUVVGUkxGTkJRVlZ4ZEVJc1QwRkJVWEowUWl4RlFVRlBORmdzVlVGQlYzRjFRaXhKUVVGcFFubzBRaXhMUVVGTmRrNHNSMEZIYmtWbmJVTXNTMEZMUlROeFFpeFBRVUZSYm1Fc1IwRkJXU3hUUVVGVmN5dENMRVZCUVU5dFJDeEhRVU40UTJ4eVFpeEZRVUZMZUZjc1MwRkJUU3hYUVVOV1F5eEZRVUZUZGtRc1RVRkJUMWdzUzBGQlRUQnRReXhIUVVGWkxFTkJRVVZzUlN4RlFVRk5kMGNzWVVGQlkzSkVMRVZCUVZGdVJDeFJRVXMxUkhocFF5eE5RVTFTSzBNc1JVRkJUelpQTEV0QlFVdG9TU3hSUVVGUmQyZERMRk5CUVZjc1UwRkJWV2h0UXl4SFFVTjRReXhQUVVGUGNrSXNSVUZCVHpKQ0xFdEJRVTB6UWl4RlFVRlBOalZDTEU5QlFWRXNVMEZCVlRFMVFpeEhRVU0xUXl4UFFVRlBhMElzU1VGQlUyeENMRVZCUVVkclFpeFBRVU5vUW1Zc1VVRk5URTRzUlVGQlQzTnVReXhQUVVGVExFTkJRMlpETEZWQlFWY3NVMEZCVld4dFF5eEZRVUZOWlN4RlFVRlRhRVFzUjBGRGJrTXNTVUZCU1c5dlF5eEZRVUZoUXl4RlFVRlRReXhGUVVGWFF5eEZRVUZSUXl4RlFVRlhReXhGUVVOMlJDOVlMRVZCUVZjNWRrSXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzV1VGRE4wSjViVU1zUlVGQlZUbHVReXhGUVVGUmNVSXNSMEZEYkVJMmJrSXNSVUZCVVN4SFFVZFRMRmRCUVdJMFJ5eEpRVU5LZW5WQ0xFVkJRVXR4WjBJc1RVRkJUVzlQTEZOQlFWY3NXVUZIZGtJNFdDeEZRVUZaUlN4RlFVRlJVaXhUUVVOd1Fra3NSVUZCV1RGdVF5eEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hQUVVNNVFuZHRReXhGUVVGaE4yNURMRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOTEZOQlEwa3NZVUZCWW5sMVFpeEhRVUYzUXl4VlFVRmlRU3hMUVVNNVF6UllMRVZCUVZsSExFZEJRV0V2Y0VNc1VVRkJVeXhUUVVGWkxFZEJUV2hFTm5CRExFZEJSRUZJTEVWQlFXTk5MRVZCUVZGb1dTeFpRVU5FTDJsQ0xFbEJRM0pDTURaQ0xFVkJRVlZFTEVWQlFWbDZVeXhQUVVkMFFqUlRMRVZCUVZONFdDeFhRVUZaZFZnc1NVRkJaU3hGUVVOd1EwUXNSVUZCVlhSWUxGZEJRVmt3V0N4SlFVRm5RaXhIUVVkc1EzWndReXhGUVVGWk9FUXNTMEZIYUVKQkxFVkJRVlZCTEVWQlFWRXhSU3hMUVVGTk1rUXNSVUZCVFdwRExFVkJRVWRaTEVWQlFVOXRReXhQUVVGUkxFZEJRVWw1YkVNc1MwRkhha01zVFVGQlpuaHNReXhGUVVGUk1rc3NUVUZEV20xakxFVkJRVTF1WXl4SlFVRlJNMHNzUlVGQlVUSkxMRWxCUVUwMk5rSXNSVUZCVlRjMlFpeEpRVUZSTkRaQ0xFZEJSVEZDTEUxQlFXaENkbXhETEVWQlFWRXllVUlzVDBGRFdqZE1MRVZCUVUwMlRDeExRVUZUTTNsQ0xFVkJRVkV5ZVVJc1MwRkJUelpUTEVWQlFWVTNVeXhMUVVGVE1GTXNSMEZITjBNc1ZVRkJWM0pzUXl4RlFVTm1RU3hGUVVGUk1teERMRTFCUVUxeWNVTXNTMEZCVFRKRUxFVkJRVTAyYmtJc1IwRkhNVUkwWlN4RlFVRlJiRzFDTEVsQlFVdHpTQ3hMUVV0b1FteHdRaXhGUVVGUFJ5eEhRVUZIWjBNc1QwRkJVU3hEUVVkcVFtMXNReXhQUVVGUkxGTkJRVlZzYkVNc1IwRkhha0lzUjBGQlMyUXNWVUZCVldoQ0xFOUJRMlFzV1VGQmJVSjNReXhKUVVGYVZpeEZRVU5PYmtZc1MwRkRRVUVzUzBGQlMybEZMRXRCUVUwc1UwRkJWVGxDTEVkQlEzQkNXU3hGUVVGUGMyNURMRTlCUVU5RExGVkJRVmQwY1VNc1MwRkJUVzFHTEVWQlFWTm9SQ3hMUVVrelF5eEpRVUZKTkc5RExFVkJRVTFETEVWQlExUTFiVU1zUlVGQlQzQkZMRXRCUVUwc1IwRkZaQ3hQUVVGTmIwVXNSVUZSUVVFc1JVRkJTelo0UWl4cFFrRkJhVUkxZVVJc1VVRkxOVUl3YmtNc1JVRkJUek50UXl4RlFVRkxkM3BDTEhkQ1FVTmFiMVFzUlVGQlRUVnRReXhGUVVGTE5ra3NZMEZCWXpSRExGbEJRMnhDTEVOQlEwNURMRWxCUVV0cE4wSXNSVUZCUzJvM1FpeEpRVUZOYXpkQ0xFVkJRVWxETEZsQlEzQkNibFFzUzBGQlRXbFVMRVZCUVV0cVZDeExRVUZQYTFRc1JVRkJTVVVzWTBGU1ppeERRVUZGY0RkQ0xFbEJRVXNzUlVGQlIyZHZRaXhMUVVGTkxGRkJWSGhDTEVkQmRVSkVha1lzVTBGQlZTeFhRVU5VTEVkQlFVMDNlVUlzUzBGQlRTeEhRVUZhTEVOQlNVRXNTVUZCU1cxeVF5eEZRVUZqWkN4RlFVRlJibTlETEVWQlEzcENhME1zUlVGQlQzQkZMRXRCUVUwc1IwRkRZbTl5UXl4RlFVRmxMRU5CUVVWME4wSXNTVUZCU3l4RlFVRkhaMjlDTEV0QlFVMHNSMEZIYUVNc1IwRkJkME1zVlVGQmJrTXZNRUlzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1dVRkhkRUpwYlVNc1JVRkJVMnB0UXl4RlFVRkxkM3BDTERSQ1FVVlNMRU5CVDA0c1NVRk9RWGxUTEVWQlFWTnljVU1zUzBGQlMzRnhReXhUUVVsa2JtOURMRVZCUVUxclF5eEZRVUZMTmtrc1kwRkRXR3NyUWl4RlFVRmxMMjFETEVWQlFVc3JiVU1zWTBGQlowSnFjRU1zUlVGQlNYZE9MR2RDUVVOb1EzazNRaXhKUVVOTVFTeEpRVUZwUW1wd1F5eEZRVUZKZFdwQ0xFMUJRVkV3YkVJc1NVRkJhVUpxY0VNc1JVRkJTWGRPTEd0Q1FVTlVMRmRCUVRORE0wMHNSVUZCVHpSb1FpeEpRVUZMZDIxQ0xFVkJRV01zWVVGRk1VSkJMRVZCUVdWQkxFVkJRV0YyYjBNc1YwRkZlRUoxYjBNc1IwRkJaMEpCTEVsQlFXbENMMjFETEVkQlFXdERMRWxCUVRGQ0syMURMRVZCUVdFMWNFTXNXVUZITVVRMmNFTXNSVUZCWlhKdlF5eEZRVUZSYjI5RExFZEJRV1ZrTEZWQlEzcENkalpDTEV0QlFVOHZUU3hGUVVGUE5HaENMRWxCUVV0M2JVSXNSVUZCWXl4clFrRkJhMElzUjBGRGFFVkRMRVZCUVdGMFZDeE5RVUZSTHpCQ0xFVkJRVTgwYUVJc1NVRkJTM2R0UWl4RlFVRmpMRzFDUVVGdFFpeEpRVXR3UlN4TlFVRlBMRU5CUTA1eU4wSXNTVUZCUzNVMlFpeEZRVUZQZGpaQ0xFbEJRVTF6TjBJc1JVRkJZWFEzUWl4SlFVRk5MMDBzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1lVRkJZU3hIUVVOd1JUQjZRaXhMUVVGTmRWTXNSVUZCVDNaVExFdEJRVTl6VkN4RlFVRmhkRlFzUzBGQlR5OHdRaXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4alFVRmpMRTFCWXpGRksyMURMR0ZCUVdNc1YwRkRZaXhQUVVGUGJuSkRMRXRCUVV0dFJTeEpRVUZMTEZkQlIyaENMRWxCUmtFc1NVRkJTV2R1UXl4RlFVRmxibkpETEV0QlFVdHRja01zWVVGRmFFSkJMRWRCUVRKRUxGZEJRVE5EY0c5RExFVkJRVTgwYUVJc1NVRkJTM2R0UWl4RlFVRmpMR0ZCUTJwRVFTeEZRVUZsUVN4RlFVRmhRU3hoUVVjM1FpeFBRVUZQUVN4SFFVRm5Rbm8zUWl4UlFVMHhRak5OTEVWQlFVOXJRaXhMUVVGTkxFTkJRVVVyTUVJc1YwRkJXU3hqUVVGbFJDeFZRVUZYTEdWQlFXbENMRk5CUVZWd1l5eEZRVUZSWjBjc1IwRkRka1lzU1VGQlNUZFRMRVZCUVUwc1owSkJRV3RDTmxNc1JVRkZOVUkxWml4RlFVRlBSeXhIUVVGSmVWb3NSMEZCVnl4VFFVRlZkbUVzUjBGREwwSXNUMEZCVDJsbUxFVkJRVkZ5YUVJc1MwRkJUU3hUUVVGVmIwVXNSVUZCVFhWWkxFVkJRVkYyWVN4SFFVYzFReXhKUVVGSk5HOURMRVZCVDBvc1IwRk9TM1p3UXl4RlFVRlZNa01zUjBGRFpEUnRReXhGUVVGTk5XMURMRVZCUTNWQ0xFbEJRV3hDUVN4RlFVRkxOME1zVjBGRGFFSjVjRU1zUlVGQlRUVnRReXhGUVVGTGVVd3NhMEpCUjBOb1N5eEpRVUZTZWtRc1JVRkRTaXhQUVVGUE5HOURMRVZCUVUxQkxFVkJRVXR5YjBJc1IwRkJVM1psTEVWQlFVMTFXU3hIUVVjM1FuRjFRaXhGUVVOS1FTeEZRVUZKU3l4VFFVTkdkamRDTEVWQlFWbHJOMElzUlVGQlNVVXNXVUZCVmpsdlF5eEZRVU5RTUU0c1JVRkJUVEZPTEVWQlFVMDBiME1zUlVGQlNVTXNZVUZKYWtJM2JVTXNSVUZCVFhWWkxFZEJRVmQyWVN4SFFVVm9RblZoTEVWQlFWRjJZU3hGUVVGTGFVTXNWVUZCVldoQ0xGZEJWVFZDVGl4RlFVRlBhMElzUzBGQlRTeERRVUZGTEUxQlFVOHNVVUZCVlN4VFFVRlZjMFFzUlVGQlNXOWlMRWRCUXpkRE5XWXNSVUZCVDNGNlFpeFRRVUZWZWxRc1IwRkJVMjlRTEVkQlFXTXpkMElzUlVGQlVXMTVRaXhqUVVNdlF5eFRRVUZWYm5aQ0xFVkJRVTF4ZEVJc1IwRkRaaXhIUVVGTFFTeEZRVWxLTEU5QlNFRkJMRVZCUVZkRUxFZEJRVkZ3ZEVJc1JVRkJUWFZsTEVkQlIyeENjMDhzUjBGQlZYcHFRaXhMUVVGTmFXdENMRWRCUTNSQ01YVkNMRVZCUVZGeFFpeEhRVUZQZVhWQ0xGZEJRVmxzVVN4SFFVRlRMRXRCUTNCRE9FOHNUVUZSVERGMVFpeEZRVUZQYTBJc1MwRkJUU3hEUVVGRmNXNURMRTlCUVZFc1UwRkJWVU1zVFVGQlR5eFRRVUZYTEZOQlFWVnViVU1zUlVGQlRYcEVMRWRCUTJ4RmIwSXNSVUZCVDJ0Q0xFdEJRVTBzUTBGRFdpdDZRaXhSUVVGVExGRkJRVlUxZVVJc1JVRkRia0kwVnl4UlFVRlRjbUVzUlVGRFZEWndReXhIUVVGSkxGRkJRVlZ3YlVNc1IwRkRXaXhUUVVGVmNXMURMRVZCUVdORExFZEJSekZDTTI5RExFVkJRVTlITEVkQlFVbDNiME1zUjBGQllTeFRRVUZWTTFRc1JVRkJVVGQzUWl4SFFVTjZReXhKUVVGSmIyRXNSVUZCV1dwa0xGVkJRVlZvUWl4VFFVRlpiMjlETEVkQlFXdERMR3RDUVVGWU1WUXNSMEZETlVSd1F5eEZRVUZST0ZZc1MwRkJOa0lzU1VGQldERlVMRWxCUVRaQ0xFbEJRVlkzZDBJc1JVRkJhVUlzVTBGQlZ5eFZRVVV4UlN4UFFVRlBiV0VzUlVGQlVYSm9RaXhMUVVGTkxGTkJRVlZ2UlN4RlFVRk5la01zUlVGQlRYVkdMRWRCUXpGRExFbEJRVWxvUml4RlFVVktMRTlCUVV0VUxFVkJRVlV5UXl4SFFVZDVRaXhKUVVGb1EzTnVReXhGUVVGVE4zRkRMRkZCUVZNc1UwRkRlRUoxUkN4RlFVRk5MRkZCUVZWblFpeEhRVU5vUW1oQ0xFVkJRVXQ0UlN4VFFVRlRPRkFzWjBKQlFXbENMRk5CUVZkMFN5eEhRVWx5UWl4SlFVRnNRbWhDTEVWQlFVczNReXhWUVVOVVZ5eEZRVUZOYTBNc1JVRkJTM05NTEdkQ1FVbEtNMG9zUzBGQlMzRjJRaXhKUVVOWWFIaENMRVZCUVV0eGFFSXNTMEZCVFN4VFFVRlhjbWRDTEVkQlFWRnNSQ3hGUVVGTExGTkJRVmRyUkN4SFFVTTVRMmhDTEVWQlFVdHhhRUlzUzBGQlRTeFRRVUZYY21kQ0xFZEJRVkZzUkN4RlFVRkxMRk5CUVZkclJDeEhRVU01UTJ4RUxFVkJRVXNzVTBGQlYydEVMRlZCU1VSVExFbEJRVlp4UWl4RlFVZE9ia1VzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUxNlF5eEZRVUZOWnpCQ0xFZEJSM2hDTlhsQ0xFVkJRVTh3YUVJc1RVRkJUM0puUWl4RlFVRk5la01zUlVGQlRYVkdMRVZCUVU5NWRVSXNTVUZEYUVOb01FSXNSVUZCVFRKbUxFVkJRVmw1Vnl4UFFVRlRiSGxDTEVWQlFWZDVZaXhSUVUwMVEzWmxMRVZCUVU5clFpeExRVUZOTEVOQlExb3NXVUZEUVN4WFFVTkJMR1ZCUTBFc1dVRkRRU3hqUVVOQkxGbEJRMFVzVTBGQlZYTkVMRVZCUVVrMVJpeEhRVU5vUW05Q0xFVkJRVTlITEVkQlFVbDJRaXhIUVVGVExGTkJRVlYxUWl4SFFVTTNRaXhQUVVGUGJFUXNTMEZCUzNWdlFpeEhRVUZKTlcxQ0xFVkJRVTExUWl4TlFVOTRRa2dzUlVGQlQwY3NSMEZCUjJkRExFOUJRVkVzUTBGRmFrSm5Na0lzUzBGQlRTeFRRVUZWTVZNc1JVRkJUemxHTEVWQlFVMTRaaXhIUVVNMVFpeFBRVUZQYkVRc1MwRkJTM1Z2UWl4SFFVRkpReXhGUVVGUExFdEJRVTA1Uml4RlFVRk5lR1lzU1VGRmNFTjViME1zVDBGQlVTeFRRVUZWYm1wQ0xFVkJRVTkwYkVJc1IwRkRlRUlzVDBGQlQyeEVMRXRCUVVzMGIwSXNTVUZCUzBvc1JVRkJUeXhMUVVGTmRHeENMRWxCUnk5Q01HOURMRk5CUVZVc1UwRkJWVFZ2UXl4RlFVRlZkMnhDTEVWQlFVODVSaXhGUVVGTmVHWXNSMEZETVVNc1QwRkJUMnhFTEV0QlFVdDFiMElzUjBGQlNVTXNSVUZCVDNoc1FpeEZRVUZWTUdZc1JVRkJUWGhtTEVsQlJYaERNbTlETEZkQlFWa3NVMEZCVlRkdlF5eEZRVUZWZDJ4Q0xFVkJRVTkwYkVJc1IwRkhkRU1zVDBGQk5FSXNTVUZCY2tKdFFpeFZRVUZWYUVJc1QwRkRhRUp5UkN4TFFVRkxORzlDTEVsQlFVczFiRUlzUlVGQlZTeE5RVU53UW1oRUxFdEJRVXMwYjBJc1NVRkJTMG9zUlVGQlQzaHNRaXhIUVVGWkxFdEJRVTFGTEVsQlIzSkRORzlETEUxQlFVOHNVMEZCVlVNc1JVRkJVVU1zUjBGRGVFSXNUMEZCVDJoelF5eExRVUZMY1hWQ0xGZEJRVmt3WkN4SFFVRlRlbVFzVjBGQldUQmtMRWRCUVZORUxFMUJTWGhFYUhCRExFVkJRVTlyUWl4TFFVTk9MSGRNUVVVMFJIRkVMRTFCUVU4c1MwRkRia1VzVTBGQlZVTXNSVUZCU1c1RExFZEJSMkp5UXl4RlFVRlBSeXhIUVVGSmEwTXNSMEZCVXl4VFFVRlZjMlFzUlVGQlRYaG1MRWRCUTI1RExFOUJRVTl0UWl4VlFVRlZhRUlzVDBGQlV5eEZRVU42UW5KRUxFdEJRVXQxYjBJc1IwRkJTVzVxUWl4RlFVRk5MRXRCUVUxelpDeEZRVUZOZUdZc1IwRkRNMEpzUkN4TFFVRkxjWEJDTEZGQlFWTnFhMElzVFVGVmJFSXNTVUZCU1RKRkxFZEJRVkVzY1VOQlRWcG9TQ3hGUVVGUGEzQkRMRTFCUVZFc1UwRkJWUzl2UXl4RlFVRkpSQ3hIUVVNMVFpeEpRVUZKZVU0c1JVRkJTelpFTEVWQlFVMHdNMElzUlVGVlppeEhRVkozUWl4cFFrRkJXbWh3UXl4SlFVTlllVTRzUlVGQlRYaE9MRVZCUVVsRUxFZEJRMVpCTEVWQlFWVkRMRVZCUTFaQkxFVkJRVXQzVGl4SFFVdEJjbEFzUlVGQldUWkNMRWRCWVd4Q0xFOUJVa0Z4VWl4RlFVRlBhbFVzUlVGQlRVY3NTMEZCVFRSRUxGVkJRVmNzU1VGRE9VSTBia01zUlVGQlVTeFhRVU5RTEU5QlFVOHZiME1zUlVGQlIzWkRMRTFCUVU5elF5eEhRVUZYYWtRc1MwRkJUWFZWTEVWQlFVczNWQ3hQUVVGUlNpeEZRVUZOUnl4TFFVRk5ORVFzWlVGSmRFUTRReXhMUVVGUGFrVXNSVUZCUjJsRkxFdEJRVTlxUlN4RlFVRkhhVVVzVFVGQlVYQkZMRVZCUVU5dlJTeFBRVVZzUXpoclF5eEhRVWRTYkhCRExFVkJRVTl0Y0VNc1ZVRkJXU3hUUVVGVlF5eEhRVU4yUWtFc1JVRkRTbkJ3UXl4RlFVRlBhMlVzV1VGRlVHeGxMRVZCUVU4MldDeFBRVUZQTEVsQlIyaENOMWdzUlVGQlR6WkRMRkZCUVZWRUxFMUJRVTFETEZGQlEzWkNOME1zUlVGQlQzRndReXhWUVVGWmJIQkNMRXRCUVV0RExFMUJRM2hDY0dkQ0xFVkJRVTl4U2l4VFFVRlhRU3hGUVVOc1FuSktMRVZCUVU4eFFpeFhRVUZoUVN4RlFVTndRakJDTEVWQlFVOTBRaXhUUVVGWFFTeEZRVU5zUW5OQ0xFVkJRVTlyWml4VlFVRlpRU3hGUVVOdVFteG1MRVZCUVU5d1FpeExRVUZQYlVJc1JVRkZaRU1zUlVGQlQzVndRaXhKUVVGTk4ycENMRXRCUVVzMmFrSXNTVUZGYkVKMmNFSXNSVUZCVDNOd1F5eFZRVUZaTEZOQlFWVXZjVU1zUjBGTE5VSXNTVUZCU1Vzc1JVRkJUMjlDTEVWQlFVOXdRaXhMUVVGTlRDeEhRVU40UWl4UFFVRnJRaXhYUVVGVVN5eEhRVUU0UWl4WFFVRlVRU3hMUVVzMVFqSnhReXhOUVVGUGFISkRMRVZCUVUwMGVFSXNWMEZCV1RWNFFpeExRVWMxUW5sQ0xFVkJRVTkzY0VNc1MwRkJUeXhUUVVGVmFIRkRMRWRCUTNaQ0xFOUJRV1VzVFVGQlVrRXNSVUZEVGl4SlFVTkZRU3hGUVVGUExFbEJRVXN3UkN4UlFVRlRPRVFzUjBGQlR5eExRV3RDVkN4dFFrRkJXSGxwUXl4UlFVRjVRa0VzVDBGQlQwTXNTMEZETTBORUxFOUJRVkVzVTBGQlZTeEhRVUZKTEZkQlEzSkNMRTlCUVU5NmNFTXNTVUZQVkN4SlFVZERNbkJETEVkQlFWVXpjME1zUlVGQlQyZEVMRTlCUjJwQ05IQkRMRWRCUVVzMWMwTXNSVUZCVHpaelF5eEZRWGRDWWl4UFFYUkNRVGR3UXl4RlFVRlBPSEJETEZkQlFXRXNVMEZCVlhCdVF5eEhRVk0zUWl4UFFWSkxNVVlzUlVGQlR6WnpReXhKUVVGTk4zQkRMRWxCUTJwQ2FFUXNSVUZCVHpaelF5eEZRVUZKUkN4SlFVZFFiRzVETEVkQlFWRXhSaXhGUVVGUFowUXNVMEZCVjBFc1NVRkRPVUpvUkN4RlFVRlBaMFFzVDBGQlV6SndReXhKUVVkV00zQkRMRkZCVFdsQ0xFbEJRV0k1UXl4SlFVTllSaXhGUVVGUFowUXNUMEZCVTJoRUxFVkJRVTgyYzBNc1JVRkJTVGR3UXl4SFFVMXlRa0VpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXFjWFZsY25rdlpHbHpkQzlxY1hWbGNua3Vhbk1pZlE9PSIsIiFmdW5jdGlvbih0KXt0LnBhcnNlcj1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgcyh0LGUpfSx0LlNBWFBhcnNlcj1zLHQuU0FYU3RyZWFtPW4sdC5jcmVhdGVTdHJlYW09ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IG4odCxlKX0sdC5NQVhfQlVGRkVSX0xFTkdUSD02NTUzNjt2YXIgZSxpPVtcImNvbW1lbnRcIixcInNnbWxEZWNsXCIsXCJ0ZXh0Tm9kZVwiLFwidGFnTmFtZVwiLFwiZG9jdHlwZVwiLFwicHJvY0luc3ROYW1lXCIsXCJwcm9jSW5zdEJvZHlcIixcImVudGl0eVwiLFwiYXR0cmliTmFtZVwiLFwiYXR0cmliVmFsdWVcIixcImNkYXRhXCIsXCJzY3JpcHRcIl07ZnVuY3Rpb24gcyhlLGEpe2lmKCEodGhpcyBpbnN0YW5jZW9mIHMpKXJldHVybiBuZXcgcyhlLGEpOyFmdW5jdGlvbih0KXtmb3IodmFyIGU9MCxzPWkubGVuZ3RoO2U8cztlKyspdFtpW2VdXT1cIlwifSh0aGlzKSx0aGlzLnE9dGhpcy5jPVwiXCIsdGhpcy5idWZmZXJDaGVja1Bvc2l0aW9uPXQuTUFYX0JVRkZFUl9MRU5HVEgsdGhpcy5vcHQ9YXx8e30sdGhpcy5vcHQubG93ZXJjYXNlPXRoaXMub3B0Lmxvd2VyY2FzZXx8dGhpcy5vcHQubG93ZXJjYXNldGFncyx0aGlzLmxvb3NlQ2FzZT10aGlzLm9wdC5sb3dlcmNhc2U/XCJ0b0xvd2VyQ2FzZVwiOlwidG9VcHBlckNhc2VcIix0aGlzLnRhZ3M9W10sdGhpcy5jbG9zZWQ9dGhpcy5jbG9zZWRSb290PXRoaXMuc2F3Um9vdD0hMSx0aGlzLnRhZz10aGlzLmVycm9yPW51bGwsdGhpcy5zdHJpY3Q9ISFlLHRoaXMubm9zY3JpcHQ9ISghZSYmIXRoaXMub3B0Lm5vc2NyaXB0KSx0aGlzLnN0YXRlPUQuQkVHSU4sdGhpcy5zdHJpY3RFbnRpdGllcz10aGlzLm9wdC5zdHJpY3RFbnRpdGllcyx0aGlzLkVOVElUSUVTPXRoaXMuc3RyaWN0RW50aXRpZXM/T2JqZWN0LmNyZWF0ZSh0LlhNTF9FTlRJVElFUyk6T2JqZWN0LmNyZWF0ZSh0LkVOVElUSUVTKSx0aGlzLmF0dHJpYkxpc3Q9W10sdGhpcy5vcHQueG1sbnMmJih0aGlzLm5zPU9iamVjdC5jcmVhdGUoaCkpLHRoaXMudHJhY2tQb3NpdGlvbj0hMSE9PXRoaXMub3B0LnBvc2l0aW9uLHRoaXMudHJhY2tQb3NpdGlvbiYmKHRoaXMucG9zaXRpb249dGhpcy5saW5lPXRoaXMuY29sdW1uPTApLEModGhpcyxcIm9ucmVhZHlcIil9dC5FVkVOVFM9W1widGV4dFwiLFwicHJvY2Vzc2luZ2luc3RydWN0aW9uXCIsXCJzZ21sZGVjbGFyYXRpb25cIixcImRvY3R5cGVcIixcImNvbW1lbnRcIixcIm9wZW50YWdzdGFydFwiLFwiYXR0cmlidXRlXCIsXCJvcGVudGFnXCIsXCJjbG9zZXRhZ1wiLFwib3BlbmNkYXRhXCIsXCJjZGF0YVwiLFwiY2xvc2VjZGF0YVwiLFwiZXJyb3JcIixcImVuZFwiLFwicmVhZHlcIixcInNjcmlwdFwiLFwib3Blbm5hbWVzcGFjZVwiLFwiY2xvc2VuYW1lc3BhY2VcIl0sT2JqZWN0LmNyZWF0ZXx8KE9iamVjdC5jcmVhdGU9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe31yZXR1cm4gZS5wcm90b3R5cGU9dCxuZXcgZX0pLE9iamVjdC5rZXlzfHwoT2JqZWN0LmtleXM9ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciBpIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShpKSYmZS5wdXNoKGkpO3JldHVybiBlfSkscy5wcm90b3R5cGU9e2VuZDpmdW5jdGlvbigpe3YodGhpcyl9LHdyaXRlOmZ1bmN0aW9uKGUpe2lmKHRoaXMuZXJyb3IpdGhyb3cgdGhpcy5lcnJvcjtpZih0aGlzLmNsb3NlZClyZXR1cm4gUih0aGlzLFwiQ2Fubm90IHdyaXRlIGFmdGVyIGNsb3NlLiBBc3NpZ24gYW4gb25yZWFkeSBoYW5kbGVyLlwiKTtpZihudWxsPT09ZSlyZXR1cm4gdih0aGlzKTtcIm9iamVjdFwiPT10eXBlb2YgZSYmKGU9ZS50b1N0cmluZygpKTt2YXIgcz0wLGE9XCJcIjtmb3IoO2E9TShlLHMrKyksdGhpcy5jPWEsYTspc3dpdGNoKHRoaXMudHJhY2tQb3NpdGlvbiYmKHRoaXMucG9zaXRpb24rKyxcIlxcblwiPT09YT8odGhpcy5saW5lKyssdGhpcy5jb2x1bW49MCk6dGhpcy5jb2x1bW4rKyksdGhpcy5zdGF0ZSl7Y2FzZSBELkJFR0lOOmlmKHRoaXMuc3RhdGU9RC5CRUdJTl9XSElURVNQQUNFLFwiXFx1ZmVmZlwiPT09YSljb250aW51ZTtHKHRoaXMsYSk7Y29udGludWU7Y2FzZSBELkJFR0lOX1dISVRFU1BBQ0U6Ryh0aGlzLGEpO2NvbnRpbnVlO2Nhc2UgRC5URVhUOmlmKHRoaXMuc2F3Um9vdCYmIXRoaXMuY2xvc2VkUm9vdCl7Zm9yKHZhciBuPXMtMTthJiZcIjxcIiE9PWEmJlwiJlwiIT09YTspKGE9TShlLHMrKykpJiZ0aGlzLnRyYWNrUG9zaXRpb24mJih0aGlzLnBvc2l0aW9uKyssXCJcXG5cIj09PWE/KHRoaXMubGluZSsrLHRoaXMuY29sdW1uPTApOnRoaXMuY29sdW1uKyspO3RoaXMudGV4dE5vZGUrPWUuc3Vic3RyaW5nKG4scy0xKX1cIjxcIiE9PWF8fHRoaXMuc2F3Um9vdCYmdGhpcy5jbG9zZWRSb290JiYhdGhpcy5zdHJpY3Q/KG0oYSl8fHRoaXMuc2F3Um9vdCYmIXRoaXMuY2xvc2VkUm9vdHx8UCh0aGlzLFwiVGV4dCBkYXRhIG91dHNpZGUgb2Ygcm9vdCBub2RlLlwiKSxcIiZcIj09PWE/dGhpcy5zdGF0ZT1ELlRFWFRfRU5USVRZOnRoaXMudGV4dE5vZGUrPWEpOih0aGlzLnN0YXRlPUQuT1BFTl9XQUtBLHRoaXMuc3RhcnRUYWdQb3NpdGlvbj10aGlzLnBvc2l0aW9uKTtjb250aW51ZTtjYXNlIEQuU0NSSVBUOlwiPFwiPT09YT90aGlzLnN0YXRlPUQuU0NSSVBUX0VORElORzp0aGlzLnNjcmlwdCs9YTtjb250aW51ZTtjYXNlIEQuU0NSSVBUX0VORElORzpcIi9cIj09PWE/dGhpcy5zdGF0ZT1ELkNMT1NFX1RBRzoodGhpcy5zY3JpcHQrPVwiPFwiK2EsdGhpcy5zdGF0ZT1ELlNDUklQVCk7Y29udGludWU7Y2FzZSBELk9QRU5fV0FLQTppZihcIiFcIj09PWEpdGhpcy5zdGF0ZT1ELlNHTUxfREVDTCx0aGlzLnNnbWxEZWNsPVwiXCI7ZWxzZSBpZihtKGEpKTtlbHNlIGlmKF8obCxhKSl0aGlzLnN0YXRlPUQuT1BFTl9UQUcsdGhpcy50YWdOYW1lPWE7ZWxzZSBpZihcIi9cIj09PWEpdGhpcy5zdGF0ZT1ELkNMT1NFX1RBRyx0aGlzLnRhZ05hbWU9XCJcIjtlbHNlIGlmKFwiP1wiPT09YSl0aGlzLnN0YXRlPUQuUFJPQ19JTlNULHRoaXMucHJvY0luc3ROYW1lPXRoaXMucHJvY0luc3RCb2R5PVwiXCI7ZWxzZXtpZihQKHRoaXMsXCJVbmVuY29kZWQgPFwiKSx0aGlzLnN0YXJ0VGFnUG9zaXRpb24rMTx0aGlzLnBvc2l0aW9uKXt2YXIgYz10aGlzLnBvc2l0aW9uLXRoaXMuc3RhcnRUYWdQb3NpdGlvbjthPW5ldyBBcnJheShjKS5qb2luKFwiIFwiKSthfXRoaXMudGV4dE5vZGUrPVwiPFwiK2EsdGhpcy5zdGF0ZT1ELlRFWFR9Y29udGludWU7Y2FzZSBELlNHTUxfREVDTDoodGhpcy5zZ21sRGVjbCthKS50b1VwcGVyQ2FzZSgpPT09cj8oTyh0aGlzLFwib25vcGVuY2RhdGFcIiksdGhpcy5zdGF0ZT1ELkNEQVRBLHRoaXMuc2dtbERlY2w9XCJcIix0aGlzLmNkYXRhPVwiXCIpOnRoaXMuc2dtbERlY2wrYT09PVwiLS1cIj8odGhpcy5zdGF0ZT1ELkNPTU1FTlQsdGhpcy5jb21tZW50PVwiXCIsdGhpcy5zZ21sRGVjbD1cIlwiKToodGhpcy5zZ21sRGVjbCthKS50b1VwcGVyQ2FzZSgpPT09bz8odGhpcy5zdGF0ZT1ELkRPQ1RZUEUsKHRoaXMuZG9jdHlwZXx8dGhpcy5zYXdSb290KSYmUCh0aGlzLFwiSW5hcHByb3ByaWF0ZWx5IGxvY2F0ZWQgZG9jdHlwZSBkZWNsYXJhdGlvblwiKSx0aGlzLmRvY3R5cGU9XCJcIix0aGlzLnNnbWxEZWNsPVwiXCIpOlwiPlwiPT09YT8oTyh0aGlzLFwib25zZ21sZGVjbGFyYXRpb25cIix0aGlzLnNnbWxEZWNsKSx0aGlzLnNnbWxEZWNsPVwiXCIsdGhpcy5zdGF0ZT1ELlRFWFQpOk4oYSk/KHRoaXMuc3RhdGU9RC5TR01MX0RFQ0xfUVVPVEVELHRoaXMuc2dtbERlY2wrPWEpOnRoaXMuc2dtbERlY2wrPWE7Y29udGludWU7Y2FzZSBELlNHTUxfREVDTF9RVU9URUQ6YT09PXRoaXMucSYmKHRoaXMuc3RhdGU9RC5TR01MX0RFQ0wsdGhpcy5xPVwiXCIpLHRoaXMuc2dtbERlY2wrPWE7Y29udGludWU7Y2FzZSBELkRPQ1RZUEU6XCI+XCI9PT1hPyh0aGlzLnN0YXRlPUQuVEVYVCxPKHRoaXMsXCJvbmRvY3R5cGVcIix0aGlzLmRvY3R5cGUpLHRoaXMuZG9jdHlwZT0hMCk6KHRoaXMuZG9jdHlwZSs9YSxcIltcIj09PWE/dGhpcy5zdGF0ZT1ELkRPQ1RZUEVfRFREOk4oYSkmJih0aGlzLnN0YXRlPUQuRE9DVFlQRV9RVU9URUQsdGhpcy5xPWEpKTtjb250aW51ZTtjYXNlIEQuRE9DVFlQRV9RVU9URUQ6dGhpcy5kb2N0eXBlKz1hLGE9PT10aGlzLnEmJih0aGlzLnE9XCJcIix0aGlzLnN0YXRlPUQuRE9DVFlQRSk7Y29udGludWU7Y2FzZSBELkRPQ1RZUEVfRFREOnRoaXMuZG9jdHlwZSs9YSxcIl1cIj09PWE/dGhpcy5zdGF0ZT1ELkRPQ1RZUEU6TihhKSYmKHRoaXMuc3RhdGU9RC5ET0NUWVBFX0RURF9RVU9URUQsdGhpcy5xPWEpO2NvbnRpbnVlO2Nhc2UgRC5ET0NUWVBFX0RURF9RVU9URUQ6dGhpcy5kb2N0eXBlKz1hLGE9PT10aGlzLnEmJih0aGlzLnN0YXRlPUQuRE9DVFlQRV9EVEQsdGhpcy5xPVwiXCIpO2NvbnRpbnVlO2Nhc2UgRC5DT01NRU5UOlwiLVwiPT09YT90aGlzLnN0YXRlPUQuQ09NTUVOVF9FTkRJTkc6dGhpcy5jb21tZW50Kz1hO2NvbnRpbnVlO2Nhc2UgRC5DT01NRU5UX0VORElORzpcIi1cIj09PWE/KHRoaXMuc3RhdGU9RC5DT01NRU5UX0VOREVELHRoaXMuY29tbWVudD1TKHRoaXMub3B0LHRoaXMuY29tbWVudCksdGhpcy5jb21tZW50JiZPKHRoaXMsXCJvbmNvbW1lbnRcIix0aGlzLmNvbW1lbnQpLHRoaXMuY29tbWVudD1cIlwiKToodGhpcy5jb21tZW50Kz1cIi1cIithLHRoaXMuc3RhdGU9RC5DT01NRU5UKTtjb250aW51ZTtjYXNlIEQuQ09NTUVOVF9FTkRFRDpcIj5cIiE9PWE/KFAodGhpcyxcIk1hbGZvcm1lZCBjb21tZW50XCIpLHRoaXMuY29tbWVudCs9XCItLVwiK2EsdGhpcy5zdGF0ZT1ELkNPTU1FTlQpOnRoaXMuc3RhdGU9RC5URVhUO2NvbnRpbnVlO2Nhc2UgRC5DREFUQTpcIl1cIj09PWE/dGhpcy5zdGF0ZT1ELkNEQVRBX0VORElORzp0aGlzLmNkYXRhKz1hO2NvbnRpbnVlO2Nhc2UgRC5DREFUQV9FTkRJTkc6XCJdXCI9PT1hP3RoaXMuc3RhdGU9RC5DREFUQV9FTkRJTkdfMjoodGhpcy5jZGF0YSs9XCJdXCIrYSx0aGlzLnN0YXRlPUQuQ0RBVEEpO2NvbnRpbnVlO2Nhc2UgRC5DREFUQV9FTkRJTkdfMjpcIj5cIj09PWE/KHRoaXMuY2RhdGEmJk8odGhpcyxcIm9uY2RhdGFcIix0aGlzLmNkYXRhKSxPKHRoaXMsXCJvbmNsb3NlY2RhdGFcIiksdGhpcy5jZGF0YT1cIlwiLHRoaXMuc3RhdGU9RC5URVhUKTpcIl1cIj09PWE/dGhpcy5jZGF0YSs9XCJdXCI6KHRoaXMuY2RhdGErPVwiXV1cIithLHRoaXMuc3RhdGU9RC5DREFUQSk7Y29udGludWU7Y2FzZSBELlBST0NfSU5TVDpcIj9cIj09PWE/dGhpcy5zdGF0ZT1ELlBST0NfSU5TVF9FTkRJTkc6bShhKT90aGlzLnN0YXRlPUQuUFJPQ19JTlNUX0JPRFk6dGhpcy5wcm9jSW5zdE5hbWUrPWE7Y29udGludWU7Y2FzZSBELlBST0NfSU5TVF9CT0RZOmlmKCF0aGlzLnByb2NJbnN0Qm9keSYmbShhKSljb250aW51ZTtcIj9cIj09PWE/dGhpcy5zdGF0ZT1ELlBST0NfSU5TVF9FTkRJTkc6dGhpcy5wcm9jSW5zdEJvZHkrPWE7Y29udGludWU7Y2FzZSBELlBST0NfSU5TVF9FTkRJTkc6XCI+XCI9PT1hPyhPKHRoaXMsXCJvbnByb2Nlc3NpbmdpbnN0cnVjdGlvblwiLHtuYW1lOnRoaXMucHJvY0luc3ROYW1lLGJvZHk6dGhpcy5wcm9jSW5zdEJvZHl9KSx0aGlzLnByb2NJbnN0TmFtZT10aGlzLnByb2NJbnN0Qm9keT1cIlwiLHRoaXMuc3RhdGU9RC5URVhUKToodGhpcy5wcm9jSW5zdEJvZHkrPVwiP1wiK2EsdGhpcy5zdGF0ZT1ELlBST0NfSU5TVF9CT0RZKTtjb250aW51ZTtjYXNlIEQuT1BFTl9UQUc6XyhULGEpP3RoaXMudGFnTmFtZSs9YTooeSh0aGlzKSxcIj5cIj09PWE/VSh0aGlzKTpcIi9cIj09PWE/dGhpcy5zdGF0ZT1ELk9QRU5fVEFHX1NMQVNIOihtKGEpfHxQKHRoaXMsXCJJbnZhbGlkIGNoYXJhY3RlciBpbiB0YWcgbmFtZVwiKSx0aGlzLnN0YXRlPUQuQVRUUklCKSk7Y29udGludWU7Y2FzZSBELk9QRU5fVEFHX1NMQVNIOlwiPlwiPT09YT8oVSh0aGlzLCEwKSx4KHRoaXMpKTooUCh0aGlzLFwiRm9yd2FyZC1zbGFzaCBpbiBvcGVuaW5nIHRhZyBub3QgZm9sbG93ZWQgYnkgPlwiKSx0aGlzLnN0YXRlPUQuQVRUUklCKTtjb250aW51ZTtjYXNlIEQuQVRUUklCOmlmKG0oYSkpY29udGludWU7XCI+XCI9PT1hP1UodGhpcyk6XCIvXCI9PT1hP3RoaXMuc3RhdGU9RC5PUEVOX1RBR19TTEFTSDpfKGwsYSk/KHRoaXMuYXR0cmliTmFtZT1hLHRoaXMuYXR0cmliVmFsdWU9XCJcIix0aGlzLnN0YXRlPUQuQVRUUklCX05BTUUpOlAodGhpcyxcIkludmFsaWQgYXR0cmlidXRlIG5hbWVcIik7Y29udGludWU7Y2FzZSBELkFUVFJJQl9OQU1FOlwiPVwiPT09YT90aGlzLnN0YXRlPUQuQVRUUklCX1ZBTFVFOlwiPlwiPT09YT8oUCh0aGlzLFwiQXR0cmlidXRlIHdpdGhvdXQgdmFsdWVcIiksdGhpcy5hdHRyaWJWYWx1ZT10aGlzLmF0dHJpYk5hbWUsQih0aGlzKSxVKHRoaXMpKTptKGEpP3RoaXMuc3RhdGU9RC5BVFRSSUJfTkFNRV9TQVdfV0hJVEU6XyhULGEpP3RoaXMuYXR0cmliTmFtZSs9YTpQKHRoaXMsXCJJbnZhbGlkIGF0dHJpYnV0ZSBuYW1lXCIpO2NvbnRpbnVlO2Nhc2UgRC5BVFRSSUJfTkFNRV9TQVdfV0hJVEU6aWYoXCI9XCI9PT1hKXRoaXMuc3RhdGU9RC5BVFRSSUJfVkFMVUU7ZWxzZXtpZihtKGEpKWNvbnRpbnVlO1AodGhpcyxcIkF0dHJpYnV0ZSB3aXRob3V0IHZhbHVlXCIpLHRoaXMudGFnLmF0dHJpYnV0ZXNbdGhpcy5hdHRyaWJOYW1lXT1cIlwiLHRoaXMuYXR0cmliVmFsdWU9XCJcIixPKHRoaXMsXCJvbmF0dHJpYnV0ZVwiLHtuYW1lOnRoaXMuYXR0cmliTmFtZSx2YWx1ZTpcIlwifSksdGhpcy5hdHRyaWJOYW1lPVwiXCIsXCI+XCI9PT1hP1UodGhpcyk6XyhsLGEpPyh0aGlzLmF0dHJpYk5hbWU9YSx0aGlzLnN0YXRlPUQuQVRUUklCX05BTUUpOihQKHRoaXMsXCJJbnZhbGlkIGF0dHJpYnV0ZSBuYW1lXCIpLHRoaXMuc3RhdGU9RC5BVFRSSUIpfWNvbnRpbnVlO2Nhc2UgRC5BVFRSSUJfVkFMVUU6aWYobShhKSljb250aW51ZTtOKGEpPyh0aGlzLnE9YSx0aGlzLnN0YXRlPUQuQVRUUklCX1ZBTFVFX1FVT1RFRCk6KFAodGhpcyxcIlVucXVvdGVkIGF0dHJpYnV0ZSB2YWx1ZVwiKSx0aGlzLnN0YXRlPUQuQVRUUklCX1ZBTFVFX1VOUVVPVEVELHRoaXMuYXR0cmliVmFsdWU9YSk7Y29udGludWU7Y2FzZSBELkFUVFJJQl9WQUxVRV9RVU9URUQ6aWYoYSE9PXRoaXMucSl7XCImXCI9PT1hP3RoaXMuc3RhdGU9RC5BVFRSSUJfVkFMVUVfRU5USVRZX1E6dGhpcy5hdHRyaWJWYWx1ZSs9YTtjb250aW51ZX1CKHRoaXMpLHRoaXMucT1cIlwiLHRoaXMuc3RhdGU9RC5BVFRSSUJfVkFMVUVfQ0xPU0VEO2NvbnRpbnVlO2Nhc2UgRC5BVFRSSUJfVkFMVUVfQ0xPU0VEOm0oYSk/dGhpcy5zdGF0ZT1ELkFUVFJJQjpcIj5cIj09PWE/VSh0aGlzKTpcIi9cIj09PWE/dGhpcy5zdGF0ZT1ELk9QRU5fVEFHX1NMQVNIOl8obCxhKT8oUCh0aGlzLFwiTm8gd2hpdGVzcGFjZSBiZXR3ZWVuIGF0dHJpYnV0ZXNcIiksdGhpcy5hdHRyaWJOYW1lPWEsdGhpcy5hdHRyaWJWYWx1ZT1cIlwiLHRoaXMuc3RhdGU9RC5BVFRSSUJfTkFNRSk6UCh0aGlzLFwiSW52YWxpZCBhdHRyaWJ1dGUgbmFtZVwiKTtjb250aW51ZTtjYXNlIEQuQVRUUklCX1ZBTFVFX1VOUVVPVEVEOmlmKCFmKGEpKXtcIiZcIj09PWE/dGhpcy5zdGF0ZT1ELkFUVFJJQl9WQUxVRV9FTlRJVFlfVTp0aGlzLmF0dHJpYlZhbHVlKz1hO2NvbnRpbnVlfUIodGhpcyksXCI+XCI9PT1hP1UodGhpcyk6dGhpcy5zdGF0ZT1ELkFUVFJJQjtjb250aW51ZTtjYXNlIEQuQ0xPU0VfVEFHOmlmKHRoaXMudGFnTmFtZSlcIj5cIj09PWE/eCh0aGlzKTpfKFQsYSk/dGhpcy50YWdOYW1lKz1hOnRoaXMuc2NyaXB0Pyh0aGlzLnNjcmlwdCs9XCI8L1wiK3RoaXMudGFnTmFtZSx0aGlzLnRhZ05hbWU9XCJcIix0aGlzLnN0YXRlPUQuU0NSSVBUKToobShhKXx8UCh0aGlzLFwiSW52YWxpZCB0YWduYW1lIGluIGNsb3NpbmcgdGFnXCIpLHRoaXMuc3RhdGU9RC5DTE9TRV9UQUdfU0FXX1dISVRFKTtlbHNle2lmKG0oYSkpY29udGludWU7ZChsLGEpP3RoaXMuc2NyaXB0Pyh0aGlzLnNjcmlwdCs9XCI8L1wiK2EsdGhpcy5zdGF0ZT1ELlNDUklQVCk6UCh0aGlzLFwiSW52YWxpZCB0YWduYW1lIGluIGNsb3NpbmcgdGFnLlwiKTp0aGlzLnRhZ05hbWU9YX1jb250aW51ZTtjYXNlIEQuQ0xPU0VfVEFHX1NBV19XSElURTppZihtKGEpKWNvbnRpbnVlO1wiPlwiPT09YT94KHRoaXMpOlAodGhpcyxcIkludmFsaWQgY2hhcmFjdGVycyBpbiBjbG9zaW5nIHRhZ1wiKTtjb250aW51ZTtjYXNlIEQuVEVYVF9FTlRJVFk6Y2FzZSBELkFUVFJJQl9WQUxVRV9FTlRJVFlfUTpjYXNlIEQuQVRUUklCX1ZBTFVFX0VOVElUWV9VOnZhciB1LGg7c3dpdGNoKHRoaXMuc3RhdGUpe2Nhc2UgRC5URVhUX0VOVElUWTp1PUQuVEVYVCxoPVwidGV4dE5vZGVcIjticmVhaztjYXNlIEQuQVRUUklCX1ZBTFVFX0VOVElUWV9ROnU9RC5BVFRSSUJfVkFMVUVfUVVPVEVELGg9XCJhdHRyaWJWYWx1ZVwiO2JyZWFrO2Nhc2UgRC5BVFRSSUJfVkFMVUVfRU5USVRZX1U6dT1ELkFUVFJJQl9WQUxVRV9VTlFVT1RFRCxoPVwiYXR0cmliVmFsdWVcIn1cIjtcIj09PWE/KHRoaXNbaF0rPXcodGhpcyksdGhpcy5lbnRpdHk9XCJcIix0aGlzLnN0YXRlPXUpOl8odGhpcy5lbnRpdHkubGVuZ3RoP3A6RSxhKT90aGlzLmVudGl0eSs9YTooUCh0aGlzLFwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gZW50aXR5IG5hbWVcIiksdGhpc1toXSs9XCImXCIrdGhpcy5lbnRpdHkrYSx0aGlzLmVudGl0eT1cIlwiLHRoaXMuc3RhdGU9dSk7Y29udGludWU7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IodGhpcyxcIlVua25vd24gc3RhdGU6IFwiK3RoaXMuc3RhdGUpfXRoaXMucG9zaXRpb24+PXRoaXMuYnVmZmVyQ2hlY2tQb3NpdGlvbiYmZnVuY3Rpb24oZSl7Zm9yKHZhciBzPU1hdGgubWF4KHQuTUFYX0JVRkZFUl9MRU5HVEgsMTApLGE9MCxuPTAscj1pLmxlbmd0aDtuPHI7bisrKXt2YXIgbz1lW2lbbl1dLmxlbmd0aDtpZihvPnMpc3dpdGNoKGlbbl0pe2Nhc2VcInRleHROb2RlXCI6RihlKTticmVhaztjYXNlXCJjZGF0YVwiOk8oZSxcIm9uY2RhdGFcIixlLmNkYXRhKSxlLmNkYXRhPVwiXCI7YnJlYWs7Y2FzZVwic2NyaXB0XCI6TyhlLFwib25zY3JpcHRcIixlLnNjcmlwdCksZS5zY3JpcHQ9XCJcIjticmVhaztkZWZhdWx0OlIoZSxcIk1heCBidWZmZXIgbGVuZ3RoIGV4Y2VlZGVkOiBcIitpW25dKX1hPU1hdGgubWF4KGEsbyl9dmFyIGM9dC5NQVhfQlVGRkVSX0xFTkdUSC1hO2UuYnVmZmVyQ2hlY2tQb3NpdGlvbj1jK2UucG9zaXRpb259KHRoaXMpO3JldHVybiB0aGlzfSxyZXN1bWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcnJvcj1udWxsLHRoaXN9LGNsb3NlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud3JpdGUobnVsbCl9LGZsdXNoOmZ1bmN0aW9uKCl7dmFyIHQ7Rih0PXRoaXMpLFwiXCIhPT10LmNkYXRhJiYoTyh0LFwib25jZGF0YVwiLHQuY2RhdGEpLHQuY2RhdGE9XCJcIiksXCJcIiE9PXQuc2NyaXB0JiYoTyh0LFwib25zY3JpcHRcIix0LnNjcmlwdCksdC5zY3JpcHQ9XCJcIil9fTt0cnl7ZT1yZXF1aXJlKFwic3RyZWFtXCIpLlN0cmVhbX1jYXRjaCh0KXtlPWZ1bmN0aW9uKCl7fX12YXIgYT10LkVWRU5UUy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuXCJlcnJvclwiIT09dCYmXCJlbmRcIiE9PXR9KTtmdW5jdGlvbiBuKHQsaSl7aWYoISh0aGlzIGluc3RhbmNlb2YgbikpcmV0dXJuIG5ldyBuKHQsaSk7ZS5hcHBseSh0aGlzKSx0aGlzLl9wYXJzZXI9bmV3IHModCxpKSx0aGlzLndyaXRhYmxlPSEwLHRoaXMucmVhZGFibGU9ITA7dmFyIHI9dGhpczt0aGlzLl9wYXJzZXIub25lbmQ9ZnVuY3Rpb24oKXtyLmVtaXQoXCJlbmRcIil9LHRoaXMuX3BhcnNlci5vbmVycm9yPWZ1bmN0aW9uKHQpe3IuZW1pdChcImVycm9yXCIsdCksci5fcGFyc2VyLmVycm9yPW51bGx9LHRoaXMuX2RlY29kZXI9bnVsbCxhLmZvckVhY2goZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsXCJvblwiK3Qse2dldDpmdW5jdGlvbigpe3JldHVybiByLl9wYXJzZXJbXCJvblwiK3RdfSxzZXQ6ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIHIucmVtb3ZlQWxsTGlzdGVuZXJzKHQpLHIuX3BhcnNlcltcIm9uXCIrdF09ZSxlO3Iub24odCxlKX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITF9KX0pfW4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTpufX0pLG4ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIEJ1ZmZlciYmXCJmdW5jdGlvblwiPT10eXBlb2YgQnVmZmVyLmlzQnVmZmVyJiZCdWZmZXIuaXNCdWZmZXIodCkpe2lmKCF0aGlzLl9kZWNvZGVyKXt2YXIgZT1yZXF1aXJlKFwic3RyaW5nX2RlY29kZXJcIikuU3RyaW5nRGVjb2Rlcjt0aGlzLl9kZWNvZGVyPW5ldyBlKFwidXRmOFwiKX10PXRoaXMuX2RlY29kZXIud3JpdGUodCl9cmV0dXJuIHRoaXMuX3BhcnNlci53cml0ZSh0LnRvU3RyaW5nKCkpLHRoaXMuZW1pdChcImRhdGFcIix0KSwhMH0sbi5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aCYmdGhpcy53cml0ZSh0KSx0aGlzLl9wYXJzZXIuZW5kKCksITB9LG4ucHJvdG90eXBlLm9uPWZ1bmN0aW9uKHQsaSl7dmFyIHM9dGhpcztyZXR1cm4gcy5fcGFyc2VyW1wib25cIit0XXx8LTE9PT1hLmluZGV4T2YodCl8fChzLl9wYXJzZXJbXCJvblwiK3RdPWZ1bmN0aW9uKCl7dmFyIGU9MT09PWFyZ3VtZW50cy5sZW5ndGg/W2FyZ3VtZW50c1swXV06QXJyYXkuYXBwbHkobnVsbCxhcmd1bWVudHMpO2Uuc3BsaWNlKDAsMCx0KSxzLmVtaXQuYXBwbHkocyxlKX0pLGUucHJvdG90eXBlLm9uLmNhbGwocyx0LGkpfTt2YXIgcj1cIltDREFUQVtcIixvPVwiRE9DVFlQRVwiLGM9XCJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2VcIix1PVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy9cIixoPXt4bWw6Yyx4bWxuczp1fSxsPS9bOl9BLVphLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdLyxUPS9bOl9BLVphLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRcXHUwMEI3XFx1MDMwMC1cXHUwMzZGXFx1MjAzRi1cXHUyMDQwLlxcZC1dLyxFPS9bIzpfQS1aYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXS8scD0vWyM6X0EtWmEtelxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDJGRlxcdTAzNzAtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRFxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDAuXFxkLV0vO2Z1bmN0aW9uIG0odCl7cmV0dXJuXCIgXCI9PT10fHxcIlxcblwiPT09dHx8XCJcXHJcIj09PXR8fFwiXFx0XCI9PT10fWZ1bmN0aW9uIE4odCl7cmV0dXJuJ1wiJz09PXR8fFwiJ1wiPT09dH1mdW5jdGlvbiBmKHQpe3JldHVyblwiPlwiPT09dHx8bSh0KX1mdW5jdGlvbiBfKHQsZSl7cmV0dXJuIHQudGVzdChlKX1mdW5jdGlvbiBkKHQsZSl7cmV0dXJuIV8odCxlKX12YXIgZyxBLEksRD0wO2Zvcih2YXIgYiBpbiB0LlNUQVRFPXtCRUdJTjpEKyssQkVHSU5fV0hJVEVTUEFDRTpEKyssVEVYVDpEKyssVEVYVF9FTlRJVFk6RCsrLE9QRU5fV0FLQTpEKyssU0dNTF9ERUNMOkQrKyxTR01MX0RFQ0xfUVVPVEVEOkQrKyxET0NUWVBFOkQrKyxET0NUWVBFX1FVT1RFRDpEKyssRE9DVFlQRV9EVEQ6RCsrLERPQ1RZUEVfRFREX1FVT1RFRDpEKyssQ09NTUVOVF9TVEFSVElORzpEKyssQ09NTUVOVDpEKyssQ09NTUVOVF9FTkRJTkc6RCsrLENPTU1FTlRfRU5ERUQ6RCsrLENEQVRBOkQrKyxDREFUQV9FTkRJTkc6RCsrLENEQVRBX0VORElOR18yOkQrKyxQUk9DX0lOU1Q6RCsrLFBST0NfSU5TVF9CT0RZOkQrKyxQUk9DX0lOU1RfRU5ESU5HOkQrKyxPUEVOX1RBRzpEKyssT1BFTl9UQUdfU0xBU0g6RCsrLEFUVFJJQjpEKyssQVRUUklCX05BTUU6RCsrLEFUVFJJQl9OQU1FX1NBV19XSElURTpEKyssQVRUUklCX1ZBTFVFOkQrKyxBVFRSSUJfVkFMVUVfUVVPVEVEOkQrKyxBVFRSSUJfVkFMVUVfQ0xPU0VEOkQrKyxBVFRSSUJfVkFMVUVfVU5RVU9URUQ6RCsrLEFUVFJJQl9WQUxVRV9FTlRJVFlfUTpEKyssQVRUUklCX1ZBTFVFX0VOVElUWV9VOkQrKyxDTE9TRV9UQUc6RCsrLENMT1NFX1RBR19TQVdfV0hJVEU6RCsrLFNDUklQVDpEKyssU0NSSVBUX0VORElORzpEKyt9LHQuWE1MX0VOVElUSUVTPXthbXA6XCImXCIsZ3Q6XCI+XCIsbHQ6XCI8XCIscXVvdDonXCInLGFwb3M6XCInXCJ9LHQuRU5USVRJRVM9e2FtcDpcIiZcIixndDpcIj5cIixsdDpcIjxcIixxdW90OidcIicsYXBvczpcIidcIixBRWxpZzoxOTgsQWFjdXRlOjE5MyxBY2lyYzoxOTQsQWdyYXZlOjE5MixBcmluZzoxOTcsQXRpbGRlOjE5NSxBdW1sOjE5NixDY2VkaWw6MTk5LEVUSDoyMDgsRWFjdXRlOjIwMSxFY2lyYzoyMDIsRWdyYXZlOjIwMCxFdW1sOjIwMyxJYWN1dGU6MjA1LEljaXJjOjIwNixJZ3JhdmU6MjA0LEl1bWw6MjA3LE50aWxkZToyMDksT2FjdXRlOjIxMSxPY2lyYzoyMTIsT2dyYXZlOjIxMCxPc2xhc2g6MjE2LE90aWxkZToyMTMsT3VtbDoyMTQsVEhPUk46MjIyLFVhY3V0ZToyMTgsVWNpcmM6MjE5LFVncmF2ZToyMTcsVXVtbDoyMjAsWWFjdXRlOjIyMSxhYWN1dGU6MjI1LGFjaXJjOjIyNixhZWxpZzoyMzAsYWdyYXZlOjIyNCxhcmluZzoyMjksYXRpbGRlOjIyNyxhdW1sOjIyOCxjY2VkaWw6MjMxLGVhY3V0ZToyMzMsZWNpcmM6MjM0LGVncmF2ZToyMzIsZXRoOjI0MCxldW1sOjIzNSxpYWN1dGU6MjM3LGljaXJjOjIzOCxpZ3JhdmU6MjM2LGl1bWw6MjM5LG50aWxkZToyNDEsb2FjdXRlOjI0MyxvY2lyYzoyNDQsb2dyYXZlOjI0Mixvc2xhc2g6MjQ4LG90aWxkZToyNDUsb3VtbDoyNDYsc3psaWc6MjIzLHRob3JuOjI1NCx1YWN1dGU6MjUwLHVjaXJjOjI1MSx1Z3JhdmU6MjQ5LHV1bWw6MjUyLHlhY3V0ZToyNTMseXVtbDoyNTUsY29weToxNjkscmVnOjE3NCxuYnNwOjE2MCxpZXhjbDoxNjEsY2VudDoxNjIscG91bmQ6MTYzLGN1cnJlbjoxNjQseWVuOjE2NSxicnZiYXI6MTY2LHNlY3Q6MTY3LHVtbDoxNjgsb3JkZjoxNzAsbGFxdW86MTcxLG5vdDoxNzIsc2h5OjE3MyxtYWNyOjE3NSxkZWc6MTc2LHBsdXNtbjoxNzcsc3VwMToxODUsc3VwMjoxNzgsc3VwMzoxNzksYWN1dGU6MTgwLG1pY3JvOjE4MSxwYXJhOjE4MixtaWRkb3Q6MTgzLGNlZGlsOjE4NCxvcmRtOjE4NixyYXF1bzoxODcsZnJhYzE0OjE4OCxmcmFjMTI6MTg5LGZyYWMzNDoxOTAsaXF1ZXN0OjE5MSx0aW1lczoyMTUsZGl2aWRlOjI0NyxPRWxpZzozMzgsb2VsaWc6MzM5LFNjYXJvbjozNTIsc2Nhcm9uOjM1MyxZdW1sOjM3Nixmbm9mOjQwMixjaXJjOjcxMCx0aWxkZTo3MzIsQWxwaGE6OTEzLEJldGE6OTE0LEdhbW1hOjkxNSxEZWx0YTo5MTYsRXBzaWxvbjo5MTcsWmV0YTo5MTgsRXRhOjkxOSxUaGV0YTo5MjAsSW90YTo5MjEsS2FwcGE6OTIyLExhbWJkYTo5MjMsTXU6OTI0LE51OjkyNSxYaTo5MjYsT21pY3Jvbjo5MjcsUGk6OTI4LFJobzo5MjksU2lnbWE6OTMxLFRhdTo5MzIsVXBzaWxvbjo5MzMsUGhpOjkzNCxDaGk6OTM1LFBzaTo5MzYsT21lZ2E6OTM3LGFscGhhOjk0NSxiZXRhOjk0NixnYW1tYTo5NDcsZGVsdGE6OTQ4LGVwc2lsb246OTQ5LHpldGE6OTUwLGV0YTo5NTEsdGhldGE6OTUyLGlvdGE6OTUzLGthcHBhOjk1NCxsYW1iZGE6OTU1LG11Ojk1NixudTo5NTcseGk6OTU4LG9taWNyb246OTU5LHBpOjk2MCxyaG86OTYxLHNpZ21hZjo5NjIsc2lnbWE6OTYzLHRhdTo5NjQsdXBzaWxvbjo5NjUscGhpOjk2NixjaGk6OTY3LHBzaTo5Njgsb21lZ2E6OTY5LHRoZXRhc3ltOjk3Nyx1cHNpaDo5NzgscGl2Ojk4MixlbnNwOjgxOTQsZW1zcDo4MTk1LHRoaW5zcDo4MjAxLHp3bmo6ODIwNCx6d2o6ODIwNSxscm06ODIwNixybG06ODIwNyxuZGFzaDo4MjExLG1kYXNoOjgyMTIsbHNxdW86ODIxNixyc3F1bzo4MjE3LHNicXVvOjgyMTgsbGRxdW86ODIyMCxyZHF1bzo4MjIxLGJkcXVvOjgyMjIsZGFnZ2VyOjgyMjQsRGFnZ2VyOjgyMjUsYnVsbDo4MjI2LGhlbGxpcDo4MjMwLHBlcm1pbDo4MjQwLHByaW1lOjgyNDIsUHJpbWU6ODI0Myxsc2FxdW86ODI0OSxyc2FxdW86ODI1MCxvbGluZTo4MjU0LGZyYXNsOjgyNjAsZXVybzo4MzY0LGltYWdlOjg0NjUsd2VpZXJwOjg0NzIscmVhbDo4NDc2LHRyYWRlOjg0ODIsYWxlZnN5bTo4NTAxLGxhcnI6ODU5Mix1YXJyOjg1OTMscmFycjo4NTk0LGRhcnI6ODU5NSxoYXJyOjg1OTYsY3JhcnI6ODYyOSxsQXJyOjg2NTYsdUFycjo4NjU3LHJBcnI6ODY1OCxkQXJyOjg2NTksaEFycjo4NjYwLGZvcmFsbDo4NzA0LHBhcnQ6ODcwNixleGlzdDo4NzA3LGVtcHR5Ojg3MDksbmFibGE6ODcxMSxpc2luOjg3MTIsbm90aW46ODcxMyxuaTo4NzE1LHByb2Q6ODcxOSxzdW06ODcyMSxtaW51czo4NzIyLGxvd2FzdDo4NzI3LHJhZGljOjg3MzAscHJvcDo4NzMzLGluZmluOjg3MzQsYW5nOjg3MzYsYW5kOjg3NDMsb3I6ODc0NCxjYXA6ODc0NSxjdXA6ODc0NixpbnQ6ODc0Nyx0aGVyZTQ6ODc1NixzaW06ODc2NCxjb25nOjg3NzMsYXN5bXA6ODc3NixuZTo4ODAwLGVxdWl2Ojg4MDEsbGU6ODgwNCxnZTo4ODA1LHN1Yjo4ODM0LHN1cDo4ODM1LG5zdWI6ODgzNixzdWJlOjg4Mzgsc3VwZTo4ODM5LG9wbHVzOjg4NTMsb3RpbWVzOjg4NTUscGVycDo4ODY5LHNkb3Q6ODkwMSxsY2VpbDo4OTY4LHJjZWlsOjg5NjksbGZsb29yOjg5NzAscmZsb29yOjg5NzEsbGFuZzo5MDAxLHJhbmc6OTAwMixsb3o6OTY3NCxzcGFkZXM6OTgyNCxjbHViczo5ODI3LGhlYXJ0czo5ODI5LGRpYW1zOjk4MzB9LE9iamVjdC5rZXlzKHQuRU5USVRJRVMpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIGk9dC5FTlRJVElFU1tlXSxzPVwibnVtYmVyXCI9PXR5cGVvZiBpP1N0cmluZy5mcm9tQ2hhckNvZGUoaSk6aTt0LkVOVElUSUVTW2VdPXN9KSx0LlNUQVRFKXQuU1RBVEVbdC5TVEFURVtiXV09YjtmdW5jdGlvbiBDKHQsZSxpKXt0W2VdJiZ0W2VdKGkpfWZ1bmN0aW9uIE8odCxlLGkpe3QudGV4dE5vZGUmJkYodCksQyh0LGUsaSl9ZnVuY3Rpb24gRih0KXt0LnRleHROb2RlPVModC5vcHQsdC50ZXh0Tm9kZSksdC50ZXh0Tm9kZSYmQyh0LFwib250ZXh0XCIsdC50ZXh0Tm9kZSksdC50ZXh0Tm9kZT1cIlwifWZ1bmN0aW9uIFModCxlKXtyZXR1cm4gdC50cmltJiYoZT1lLnRyaW0oKSksdC5ub3JtYWxpemUmJihlPWUucmVwbGFjZSgvXFxzKy9nLFwiIFwiKSksZX1mdW5jdGlvbiBSKHQsZSl7cmV0dXJuIEYodCksdC50cmFja1Bvc2l0aW9uJiYoZSs9XCJcXG5MaW5lOiBcIit0LmxpbmUrXCJcXG5Db2x1bW46IFwiK3QuY29sdW1uK1wiXFxuQ2hhcjogXCIrdC5jKSxlPW5ldyBFcnJvcihlKSx0LmVycm9yPWUsQyh0LFwib25lcnJvclwiLGUpLHR9ZnVuY3Rpb24gdih0KXtyZXR1cm4gdC5zYXdSb290JiYhdC5jbG9zZWRSb290JiZQKHQsXCJVbmNsb3NlZCByb290IHRhZ1wiKSx0LnN0YXRlIT09RC5CRUdJTiYmdC5zdGF0ZSE9PUQuQkVHSU5fV0hJVEVTUEFDRSYmdC5zdGF0ZSE9PUQuVEVYVCYmUih0LFwiVW5leHBlY3RlZCBlbmRcIiksRih0KSx0LmM9XCJcIix0LmNsb3NlZD0hMCxDKHQsXCJvbmVuZFwiKSxzLmNhbGwodCx0LnN0cmljdCx0Lm9wdCksdH1mdW5jdGlvbiBQKHQsZSl7aWYoXCJvYmplY3RcIiE9dHlwZW9mIHR8fCEodCBpbnN0YW5jZW9mIHMpKXRocm93IG5ldyBFcnJvcihcImJhZCBjYWxsIHRvIHN0cmljdEZhaWxcIik7dC5zdHJpY3QmJlIodCxlKX1mdW5jdGlvbiB5KHQpe3Quc3RyaWN0fHwodC50YWdOYW1lPXQudGFnTmFtZVt0Lmxvb3NlQ2FzZV0oKSk7dmFyIGU9dC50YWdzW3QudGFncy5sZW5ndGgtMV18fHQsaT10LnRhZz17bmFtZTp0LnRhZ05hbWUsYXR0cmlidXRlczp7fX07dC5vcHQueG1sbnMmJihpLm5zPWUubnMpLHQuYXR0cmliTGlzdC5sZW5ndGg9MCxPKHQsXCJvbm9wZW50YWdzdGFydFwiLGkpfWZ1bmN0aW9uIEwodCxlKXt2YXIgaT10LmluZGV4T2YoXCI6XCIpPDA/W1wiXCIsdF06dC5zcGxpdChcIjpcIikscz1pWzBdLGE9aVsxXTtyZXR1cm4gZSYmXCJ4bWxuc1wiPT09dCYmKHM9XCJ4bWxuc1wiLGE9XCJcIikse3ByZWZpeDpzLGxvY2FsOmF9fWZ1bmN0aW9uIEIodCl7aWYodC5zdHJpY3R8fCh0LmF0dHJpYk5hbWU9dC5hdHRyaWJOYW1lW3QubG9vc2VDYXNlXSgpKSwtMSE9PXQuYXR0cmliTGlzdC5pbmRleE9mKHQuYXR0cmliTmFtZSl8fHQudGFnLmF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkodC5hdHRyaWJOYW1lKSl0LmF0dHJpYk5hbWU9dC5hdHRyaWJWYWx1ZT1cIlwiO2Vsc2V7aWYodC5vcHQueG1sbnMpe3ZhciBlPUwodC5hdHRyaWJOYW1lLCEwKSxpPWUucHJlZml4LHM9ZS5sb2NhbDtpZihcInhtbG5zXCI9PT1pKWlmKFwieG1sXCI9PT1zJiZ0LmF0dHJpYlZhbHVlIT09YylQKHQsXCJ4bWw6IHByZWZpeCBtdXN0IGJlIGJvdW5kIHRvIFwiK2MrXCJcXG5BY3R1YWw6IFwiK3QuYXR0cmliVmFsdWUpO2Vsc2UgaWYoXCJ4bWxuc1wiPT09cyYmdC5hdHRyaWJWYWx1ZSE9PXUpUCh0LFwieG1sbnM6IHByZWZpeCBtdXN0IGJlIGJvdW5kIHRvIFwiK3UrXCJcXG5BY3R1YWw6IFwiK3QuYXR0cmliVmFsdWUpO2Vsc2V7dmFyIGE9dC50YWcsbj10LnRhZ3NbdC50YWdzLmxlbmd0aC0xXXx8dDthLm5zPT09bi5ucyYmKGEubnM9T2JqZWN0LmNyZWF0ZShuLm5zKSksYS5uc1tzXT10LmF0dHJpYlZhbHVlfXQuYXR0cmliTGlzdC5wdXNoKFt0LmF0dHJpYk5hbWUsdC5hdHRyaWJWYWx1ZV0pfWVsc2UgdC50YWcuYXR0cmlidXRlc1t0LmF0dHJpYk5hbWVdPXQuYXR0cmliVmFsdWUsTyh0LFwib25hdHRyaWJ1dGVcIix7bmFtZTp0LmF0dHJpYk5hbWUsdmFsdWU6dC5hdHRyaWJWYWx1ZX0pO3QuYXR0cmliTmFtZT10LmF0dHJpYlZhbHVlPVwiXCJ9fWZ1bmN0aW9uIFUodCxlKXtpZih0Lm9wdC54bWxucyl7dmFyIGk9dC50YWcscz1MKHQudGFnTmFtZSk7aS5wcmVmaXg9cy5wcmVmaXgsaS5sb2NhbD1zLmxvY2FsLGkudXJpPWkubnNbcy5wcmVmaXhdfHxcIlwiLGkucHJlZml4JiYhaS51cmkmJihQKHQsXCJVbmJvdW5kIG5hbWVzcGFjZSBwcmVmaXg6IFwiK0pTT04uc3RyaW5naWZ5KHQudGFnTmFtZSkpLGkudXJpPXMucHJlZml4KTt2YXIgYT10LnRhZ3NbdC50YWdzLmxlbmd0aC0xXXx8dDtpLm5zJiZhLm5zIT09aS5ucyYmT2JqZWN0LmtleXMoaS5ucykuZm9yRWFjaChmdW5jdGlvbihlKXtPKHQsXCJvbm9wZW5uYW1lc3BhY2VcIix7cHJlZml4OmUsdXJpOmkubnNbZV19KX0pO2Zvcih2YXIgbj0wLHI9dC5hdHRyaWJMaXN0Lmxlbmd0aDtuPHI7bisrKXt2YXIgbz10LmF0dHJpYkxpc3Rbbl0sYz1vWzBdLHU9b1sxXSxoPUwoYywhMCksbD1oLnByZWZpeCxUPWgubG9jYWwsRT1cIlwiPT09bD9cIlwiOmkubnNbbF18fFwiXCIscD17bmFtZTpjLHZhbHVlOnUscHJlZml4OmwsbG9jYWw6VCx1cmk6RX07bCYmXCJ4bWxuc1wiIT09bCYmIUUmJihQKHQsXCJVbmJvdW5kIG5hbWVzcGFjZSBwcmVmaXg6IFwiK0pTT04uc3RyaW5naWZ5KGwpKSxwLnVyaT1sKSx0LnRhZy5hdHRyaWJ1dGVzW2NdPXAsTyh0LFwib25hdHRyaWJ1dGVcIixwKX10LmF0dHJpYkxpc3QubGVuZ3RoPTB9dC50YWcuaXNTZWxmQ2xvc2luZz0hIWUsdC5zYXdSb290PSEwLHQudGFncy5wdXNoKHQudGFnKSxPKHQsXCJvbm9wZW50YWdcIix0LnRhZyksZXx8KHQubm9zY3JpcHR8fFwic2NyaXB0XCIhPT10LnRhZ05hbWUudG9Mb3dlckNhc2UoKT90LnN0YXRlPUQuVEVYVDp0LnN0YXRlPUQuU0NSSVBULHQudGFnPW51bGwsdC50YWdOYW1lPVwiXCIpLHQuYXR0cmliTmFtZT10LmF0dHJpYlZhbHVlPVwiXCIsdC5hdHRyaWJMaXN0Lmxlbmd0aD0wfWZ1bmN0aW9uIHgodCl7aWYoIXQudGFnTmFtZSlyZXR1cm4gUCh0LFwiV2VpcmQgZW1wdHkgY2xvc2UgdGFnLlwiKSx0LnRleHROb2RlKz1cIjwvPlwiLHZvaWQodC5zdGF0ZT1ELlRFWFQpO2lmKHQuc2NyaXB0KXtpZihcInNjcmlwdFwiIT09dC50YWdOYW1lKXJldHVybiB0LnNjcmlwdCs9XCI8L1wiK3QudGFnTmFtZStcIj5cIix0LnRhZ05hbWU9XCJcIix2b2lkKHQuc3RhdGU9RC5TQ1JJUFQpO08odCxcIm9uc2NyaXB0XCIsdC5zY3JpcHQpLHQuc2NyaXB0PVwiXCJ9dmFyIGU9dC50YWdzLmxlbmd0aCxpPXQudGFnTmFtZTt0LnN0cmljdHx8KGk9aVt0Lmxvb3NlQ2FzZV0oKSk7Zm9yKHZhciBzPWk7ZS0tOyl7aWYodC50YWdzW2VdLm5hbWU9PT1zKWJyZWFrO1AodCxcIlVuZXhwZWN0ZWQgY2xvc2UgdGFnXCIpfWlmKGU8MClyZXR1cm4gUCh0LFwiVW5tYXRjaGVkIGNsb3NpbmcgdGFnOiBcIit0LnRhZ05hbWUpLHQudGV4dE5vZGUrPVwiPC9cIit0LnRhZ05hbWUrXCI+XCIsdm9pZCh0LnN0YXRlPUQuVEVYVCk7dC50YWdOYW1lPWk7Zm9yKHZhciBhPXQudGFncy5sZW5ndGg7YS0tID5lOyl7dmFyIG49dC50YWc9dC50YWdzLnBvcCgpO3QudGFnTmFtZT10LnRhZy5uYW1lLE8odCxcIm9uY2xvc2V0YWdcIix0LnRhZ05hbWUpO3ZhciByPXt9O2Zvcih2YXIgbyBpbiBuLm5zKXJbb109bi5uc1tvXTt2YXIgYz10LnRhZ3NbdC50YWdzLmxlbmd0aC0xXXx8dDt0Lm9wdC54bWxucyYmbi5ucyE9PWMubnMmJk9iamVjdC5rZXlzKG4ubnMpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIGk9bi5uc1tlXTtPKHQsXCJvbmNsb3NlbmFtZXNwYWNlXCIse3ByZWZpeDplLHVyaTppfSl9KX0wPT09ZSYmKHQuY2xvc2VkUm9vdD0hMCksdC50YWdOYW1lPXQuYXR0cmliVmFsdWU9dC5hdHRyaWJOYW1lPVwiXCIsdC5hdHRyaWJMaXN0Lmxlbmd0aD0wLHQuc3RhdGU9RC5URVhUfWZ1bmN0aW9uIHcodCl7dmFyIGUsaT10LmVudGl0eSxzPWkudG9Mb3dlckNhc2UoKSxhPVwiXCI7cmV0dXJuIHQuRU5USVRJRVNbaV0/dC5FTlRJVElFU1tpXTp0LkVOVElUSUVTW3NdP3QuRU5USVRJRVNbc106KFwiI1wiPT09KGk9cykuY2hhckF0KDApJiYoXCJ4XCI9PT1pLmNoYXJBdCgxKT8oaT1pLnNsaWNlKDIpLGE9KGU9cGFyc2VJbnQoaSwxNikpLnRvU3RyaW5nKDE2KSk6KGk9aS5zbGljZSgxKSxhPShlPXBhcnNlSW50KGksMTApKS50b1N0cmluZygxMCkpKSxpPWkucmVwbGFjZSgvXjArLyxcIlwiKSxpc05hTihlKXx8YS50b0xvd2VyQ2FzZSgpIT09aT8oUCh0LFwiSW52YWxpZCBjaGFyYWN0ZXIgZW50aXR5XCIpLFwiJlwiK3QuZW50aXR5K1wiO1wiKTpTdHJpbmcuZnJvbUNvZGVQb2ludChlKSl9ZnVuY3Rpb24gRyh0LGUpe1wiPFwiPT09ZT8odC5zdGF0ZT1ELk9QRU5fV0FLQSx0LnN0YXJ0VGFnUG9zaXRpb249dC5wb3NpdGlvbik6bShlKXx8KFAodCxcIk5vbi13aGl0ZXNwYWNlIGJlZm9yZSBmaXJzdCB0YWcuXCIpLHQudGV4dE5vZGU9ZSx0LnN0YXRlPUQuVEVYVCl9ZnVuY3Rpb24gTSh0LGUpe3ZhciBpPVwiXCI7cmV0dXJuIGU8dC5sZW5ndGgmJihpPXQuY2hhckF0KGUpKSxpfUQ9dC5TVEFURSxTdHJpbmcuZnJvbUNvZGVQb2ludHx8KGc9U3RyaW5nLmZyb21DaGFyQ29kZSxBPU1hdGguZmxvb3IsST1mdW5jdGlvbigpe3ZhciB0LGUsaT1bXSxzPS0xLGE9YXJndW1lbnRzLmxlbmd0aDtpZighYSlyZXR1cm5cIlwiO2Zvcih2YXIgbj1cIlwiOysrczxhOyl7dmFyIHI9TnVtYmVyKGFyZ3VtZW50c1tzXSk7aWYoIWlzRmluaXRlKHIpfHxyPDB8fHI+MTExNDExMXx8QShyKSE9PXIpdGhyb3cgUmFuZ2VFcnJvcihcIkludmFsaWQgY29kZSBwb2ludDogXCIrcik7cjw9NjU1MzU/aS5wdXNoKHIpOih0PTU1Mjk2Kygoci09NjU1MzYpPj4xMCksZT1yJTEwMjQrNTYzMjAsaS5wdXNoKHQsZSkpLChzKzE9PT1hfHxpLmxlbmd0aD4xNjM4NCkmJihuKz1nLmFwcGx5KG51bGwsaSksaS5sZW5ndGg9MCl9cmV0dXJuIG59LE9iamVjdC5kZWZpbmVQcm9wZXJ0eT9PYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLFwiZnJvbUNvZGVQb2ludFwiLHt2YWx1ZTpJLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOlN0cmluZy5mcm9tQ29kZVBvaW50PUkpfShcInVuZGVmaW5lZFwiPT10eXBlb2YgZXhwb3J0cz90aGlzLnNheD17fTpleHBvcnRzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTmhlQzVxY3lKZExDSnVZVzFsY3lJNld5SnpZWGdpTENKd1lYSnpaWElpTENKemRISnBZM1FpTENKdmNIUWlMQ0pUUVZoUVlYSnpaWElpTENKVFFWaFRkSEpsWVcwaUxDSmpjbVZoZEdWVGRISmxZVzBpTENKTlFWaGZRbFZHUmtWU1gweEZUa2RVU0NJc0lsTjBjbVZoYlNJc0ltSjFabVpsY25NaUxDSjBhR2x6SWl3aWFTSXNJbXdpTENKc1pXNW5kR2dpTENKamJHVmhja0oxWm1abGNuTWlMQ0p4SWl3aVl5SXNJbUoxWm1abGNrTm9aV05yVUc5emFYUnBiMjRpTENKc2IzZGxjbU5oYzJVaUxDSnNiM2RsY21OaGMyVjBZV2R6SWl3aWJHOXZjMlZEWVhObElpd2lkR0ZuY3lJc0ltTnNiM05sWkNJc0ltTnNiM05sWkZKdmIzUWlMQ0p6WVhkU2IyOTBJaXdpZEdGbklpd2laWEp5YjNJaUxDSnViM05qY21sd2RDSXNJbk4wWVhSbElpd2lVeUlzSWtKRlIwbE9JaXdpYzNSeWFXTjBSVzUwYVhScFpYTWlMQ0pGVGxSSlZFbEZVeUlzSWs5aWFtVmpkQ0lzSW1OeVpXRjBaU0lzSWxoTlRGOUZUbFJKVkVsRlV5SXNJbUYwZEhKcFlreHBjM1FpTENKNGJXeHVjeUlzSW01eklpd2ljbTl2ZEU1VElpd2lkSEpoWTJ0UWIzTnBkR2x2YmlJc0luQnZjMmwwYVc5dUlpd2liR2x1WlNJc0ltTnZiSFZ0YmlJc0ltVnRhWFFpTENKRlZrVk9WRk1pTENKdklpd2lSaUlzSW5CeWIzUnZkSGx3WlNJc0ltdGxlWE1pTENKaElpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSndkWE5vSWl3aVpXNWtJaXdpZDNKcGRHVWlMQ0pqYUhWdWF5SXNJblJ2VTNSeWFXNW5JaXdpWTJoaGNrRjBJaXdpUWtWSFNVNWZWMGhKVkVWVFVFRkRSU0lzSW1KbFoybHVWMmhwZEdWVGNHRmpaU0lzSWxSRldGUWlMQ0p6ZEdGeWRHa2lMQ0owWlhoMFRtOWtaU0lzSW5OMVluTjBjbWx1WnlJc0ltbHpWMmhwZEdWemNHRmpaU0lzSW5OMGNtbGpkRVpoYVd3aUxDSlVSVmhVWDBWT1ZFbFVXU0lzSWs5UVJVNWZWMEZMUVNJc0luTjBZWEowVkdGblVHOXphWFJwYjI0aUxDSlRRMUpKVUZRaUxDSlRRMUpKVUZSZlJVNUVTVTVISWl3aWMyTnlhWEIwSWl3aVEweFBVMFZmVkVGSElpd2lVMGROVEY5RVJVTk1JaXdpYzJkdGJFUmxZMndpTENKcGMwMWhkR05vSWl3aWJtRnRaVk4wWVhKMElpd2lUMUJGVGw5VVFVY2lMQ0owWVdkT1lXMWxJaXdpVUZKUFExOUpUbE5VSWl3aWNISnZZMGx1YzNST1lXMWxJaXdpY0hKdlkwbHVjM1JDYjJSNUlpd2ljR0ZrSWl3aVFYSnlZWGtpTENKcWIybHVJaXdpZEc5VmNIQmxja05oYzJVaUxDSkRSRUZVUVNJc0ltVnRhWFJPYjJSbElpd2lZMlJoZEdFaUxDSkRUMDFOUlU1VUlpd2lZMjl0YldWdWRDSXNJa1JQUTFSWlVFVWlMQ0prYjJOMGVYQmxJaXdpYVhOUmRXOTBaU0lzSWxOSFRVeGZSRVZEVEY5UlZVOVVSVVFpTENKRVQwTlVXVkJGWDBSVVJDSXNJa1JQUTFSWlVFVmZVVlZQVkVWRUlpd2lSRTlEVkZsUVJWOUVWRVJmVVZWUFZFVkVJaXdpUTA5TlRVVk9WRjlGVGtSSlRrY2lMQ0pEVDAxTlJVNVVYMFZPUkVWRUlpd2lkR1Y0ZEc5d2RITWlMQ0pEUkVGVVFWOUZUa1JKVGtjaUxDSkRSRUZVUVY5RlRrUkpUa2RmTWlJc0lsQlNUME5mU1U1VFZGOUZUa1JKVGtjaUxDSlFVazlEWDBsT1UxUmZRazlFV1NJc0ltNWhiV1VpTENKaWIyUjVJaXdpYm1GdFpVSnZaSGtpTENKdVpYZFVZV2NpTENKdmNHVnVWR0ZuSWl3aVQxQkZUbDlVUVVkZlUweEJVMGdpTENKQlZGUlNTVUlpTENKamJHOXpaVlJoWnlJc0ltRjBkSEpwWWs1aGJXVWlMQ0poZEhSeWFXSldZV3gxWlNJc0lrRlVWRkpKUWw5T1FVMUZJaXdpUVZSVVVrbENYMVpCVEZWRklpd2lZWFIwY21saUlpd2lRVlJVVWtsQ1gwNUJUVVZmVTBGWFgxZElTVlJGSWl3aVlYUjBjbWxpZFhSbGN5SXNJblpoYkhWbElpd2lRVlJVVWtsQ1gxWkJURlZGWDFGVlQxUkZSQ0lzSWtGVVZGSkpRbDlXUVV4VlJWOVZUbEZWVDFSRlJDSXNJa0ZVVkZKSlFsOVdRVXhWUlY5RlRsUkpWRmxmVVNJc0lrRlVWRkpKUWw5V1FVeFZSVjlEVEU5VFJVUWlMQ0pwYzBGMGRISnBZa1Z1WkNJc0lrRlVWRkpKUWw5V1FVeFZSVjlGVGxSSlZGbGZWU0lzSWtOTVQxTkZYMVJCUjE5VFFWZGZWMGhKVkVVaUxDSnViM1JOWVhSamFDSXNJbkpsZEhWeWJsTjBZWFJsSWl3aVluVm1abVZ5SWl3aWNHRnljMlZGYm5ScGRIa2lMQ0psYm5ScGRIa2lMQ0psYm5ScGRIbENiMlI1SWl3aVpXNTBhWFI1VTNSaGNuUWlMQ0pGY25KdmNpSXNJbTFoZUVGc2JHOTNaV1FpTENKTllYUm9JaXdpYldGNElpd2liV0Y0UVdOMGRXRnNJaXdpYkdWdUlpd2lZMnh2YzJWVVpYaDBJaXdpYlNJc0ltTm9aV05yUW5WbVptVnlUR1Z1WjNSb0lpd2ljbVZ6ZFcxbElpd2lZMnh2YzJVaUxDSm1iSFZ6YUNJc0luSmxjWFZwY21VaUxDSmxlQ0lzSW5OMGNtVmhiVmR5WVhCeklpd2labWxzZEdWeUlpd2laWFlpTENKaGNIQnNlU0lzSWw5d1lYSnpaWElpTENKM2NtbDBZV0pzWlNJc0luSmxZV1JoWW14bElpd2liV1VpTENKdmJtVnVaQ0lzSW05dVpYSnliM0lpTENKbGNpSXNJbDlrWldOdlpHVnlJaXdpWm05eVJXRmphQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWjJWMElpd2ljMlYwSWl3aWFDSXNJbkpsYlc5MlpVRnNiRXhwYzNSbGJtVnljeUlzSW05dUlpd2laVzUxYldWeVlXSnNaU0lzSW1OdmJtWnBaM1Z5WVdKc1pTSXNJbU52Ym5OMGNuVmpkRzl5SWl3aVpHRjBZU0lzSWtKMVptWmxjaUlzSW1selFuVm1abVZ5SWl3aVUwUWlMQ0pUZEhKcGJtZEVaV052WkdWeUlpd2lhR0Z1Wkd4bGNpSXNJbWx1WkdWNFQyWWlMQ0poY21keklpd2lZWEpuZFcxbGJuUnpJaXdpYzNCc2FXTmxJaXdpWTJGc2JDSXNJbGhOVEY5T1FVMUZVMUJCUTBVaUxDSllUVXhPVTE5T1FVMUZVMUJCUTBVaUxDSjRiV3dpTENKeVpXZGxlQ0lzSW5SbGMzUWlMQ0p6ZEhKcGJtZEdjbTl0UTJoaGNrTnZaR1VpTENKbWJHOXZjaUlzSW1aeWIyMURiMlJsVUc5cGJuUWlMQ0p6SWl3aVUxUkJWRVVpTENKRFQwMU5SVTVVWDFOVVFWSlVTVTVISWl3aVlXMXdJaXdpWjNRaUxDSnNkQ0lzSW5GMWIzUWlMQ0poY0c5eklpd2lRVVZzYVdjaUxDSkJZV04xZEdVaUxDSkJZMmx5WXlJc0lrRm5jbUYyWlNJc0lrRnlhVzVuSWl3aVFYUnBiR1JsSWl3aVFYVnRiQ0lzSWtOalpXUnBiQ0lzSWtWVVNDSXNJa1ZoWTNWMFpTSXNJa1ZqYVhKaklpd2lSV2R5WVhabElpd2lSWFZ0YkNJc0lrbGhZM1YwWlNJc0lrbGphWEpqSWl3aVNXZHlZWFpsSWl3aVNYVnRiQ0lzSWs1MGFXeGtaU0lzSWs5aFkzVjBaU0lzSWs5amFYSmpJaXdpVDJkeVlYWmxJaXdpVDNOc1lYTm9JaXdpVDNScGJHUmxJaXdpVDNWdGJDSXNJbFJJVDFKT0lpd2lWV0ZqZFhSbElpd2lWV05wY21NaUxDSlZaM0poZG1VaUxDSlZkVzFzSWl3aVdXRmpkWFJsSWl3aVlXRmpkWFJsSWl3aVlXTnBjbU1pTENKaFpXeHBaeUlzSW1GbmNtRjJaU0lzSW1GeWFXNW5JaXdpWVhScGJHUmxJaXdpWVhWdGJDSXNJbU5qWldScGJDSXNJbVZoWTNWMFpTSXNJbVZqYVhKaklpd2laV2R5WVhabElpd2laWFJvSWl3aVpYVnRiQ0lzSW1saFkzVjBaU0lzSW1samFYSmpJaXdpYVdkeVlYWmxJaXdpYVhWdGJDSXNJbTUwYVd4a1pTSXNJbTloWTNWMFpTSXNJbTlqYVhKaklpd2liMmR5WVhabElpd2liM05zWVhOb0lpd2liM1JwYkdSbElpd2liM1Z0YkNJc0luTjZiR2xuSWl3aWRHaHZjbTRpTENKMVlXTjFkR1VpTENKMVkybHlZeUlzSW5WbmNtRjJaU0lzSW5WMWJXd2lMQ0o1WVdOMWRHVWlMQ0o1ZFcxc0lpd2lZMjl3ZVNJc0luSmxaeUlzSW01aWMzQWlMQ0pwWlhoamJDSXNJbU5sYm5RaUxDSndiM1Z1WkNJc0ltTjFjbkpsYmlJc0lubGxiaUlzSW1KeWRtSmhjaUlzSW5ObFkzUWlMQ0oxYld3aUxDSnZjbVJtSWl3aWJHRnhkVzhpTENKdWIzUWlMQ0p6YUhraUxDSnRZV055SWl3aVpHVm5JaXdpY0d4MWMyMXVJaXdpYzNWd01TSXNJbk4xY0RJaUxDSnpkWEF6SWl3aVlXTjFkR1VpTENKdGFXTnlieUlzSW5CaGNtRWlMQ0p0YVdSa2IzUWlMQ0pqWldScGJDSXNJbTl5WkcwaUxDSnlZWEYxYnlJc0ltWnlZV014TkNJc0ltWnlZV014TWlJc0ltWnlZV016TkNJc0ltbHhkV1Z6ZENJc0luUnBiV1Z6SWl3aVpHbDJhV1JsSWl3aVQwVnNhV2NpTENKdlpXeHBaeUlzSWxOallYSnZiaUlzSW5OallYSnZiaUlzSWxsMWJXd2lMQ0ptYm05bUlpd2lZMmx5WXlJc0luUnBiR1JsSWl3aVFXeHdhR0VpTENKQ1pYUmhJaXdpUjJGdGJXRWlMQ0pFWld4MFlTSXNJa1Z3YzJsc2IyNGlMQ0phWlhSaElpd2lSWFJoSWl3aVZHaGxkR0VpTENKSmIzUmhJaXdpUzJGd2NHRWlMQ0pNWVcxaVpHRWlMQ0pOZFNJc0lrNTFJaXdpV0draUxDSlBiV2xqY205dUlpd2lVR2tpTENKU2FHOGlMQ0pUYVdkdFlTSXNJbFJoZFNJc0lsVndjMmxzYjI0aUxDSlFhR2tpTENKRGFHa2lMQ0pRYzJraUxDSlBiV1ZuWVNJc0ltRnNjR2hoSWl3aVltVjBZU0lzSW1kaGJXMWhJaXdpWkdWc2RHRWlMQ0psY0hOcGJHOXVJaXdpZW1WMFlTSXNJbVYwWVNJc0luUm9aWFJoSWl3aWFXOTBZU0lzSW10aGNIQmhJaXdpYkdGdFltUmhJaXdpYlhVaUxDSnVkU0lzSW5ocElpd2liMjFwWTNKdmJpSXNJbkJwSWl3aWNtaHZJaXdpYzJsbmJXRm1JaXdpYzJsbmJXRWlMQ0owWVhVaUxDSjFjSE5wYkc5dUlpd2ljR2hwSWl3aVkyaHBJaXdpY0hOcElpd2liMjFsWjJFaUxDSjBhR1YwWVhONWJTSXNJblZ3YzJsb0lpd2ljR2wySWl3aVpXNXpjQ0lzSW1WdGMzQWlMQ0owYUdsdWMzQWlMQ0o2ZDI1cUlpd2llbmRxSWl3aWJISnRJaXdpY214dElpd2libVJoYzJnaUxDSnRaR0Z6YUNJc0lteHpjWFZ2SWl3aWNuTnhkVzhpTENKelluRjFieUlzSW14a2NYVnZJaXdpY21SeGRXOGlMQ0ppWkhGMWJ5SXNJbVJoWjJkbGNpSXNJa1JoWjJkbGNpSXNJbUoxYkd3aUxDSm9aV3hzYVhBaUxDSndaWEp0YVd3aUxDSndjbWx0WlNJc0lsQnlhVzFsSWl3aWJITmhjWFZ2SWl3aWNuTmhjWFZ2SWl3aWIyeHBibVVpTENKbWNtRnpiQ0lzSW1WMWNtOGlMQ0pwYldGblpTSXNJbmRsYVdWeWNDSXNJbkpsWVd3aUxDSjBjbUZrWlNJc0ltRnNaV1p6ZVcwaUxDSnNZWEp5SWl3aWRXRnljaUlzSW5KaGNuSWlMQ0prWVhKeUlpd2lhR0Z5Y2lJc0ltTnlZWEp5SWl3aWJFRnljaUlzSW5WQmNuSWlMQ0p5UVhKeUlpd2laRUZ5Y2lJc0ltaEJjbklpTENKbWIzSmhiR3dpTENKd1lYSjBJaXdpWlhocGMzUWlMQ0psYlhCMGVTSXNJbTVoWW14aElpd2lhWE5wYmlJc0ltNXZkR2x1SWl3aWJta2lMQ0p3Y205a0lpd2ljM1Z0SWl3aWJXbHVkWE1pTENKc2IzZGhjM1FpTENKeVlXUnBZeUlzSW5CeWIzQWlMQ0pwYm1acGJpSXNJbUZ1WnlJc0ltRnVaQ0lzSW05eUlpd2lZMkZ3SWl3aVkzVndJaXdpYVc1MElpd2lkR2hsY21VMElpd2ljMmx0SWl3aVkyOXVaeUlzSW1GemVXMXdJaXdpYm1VaUxDSmxjWFZwZGlJc0lteGxJaXdpWjJVaUxDSnpkV0lpTENKemRYQWlMQ0p1YzNWaUlpd2ljM1ZpWlNJc0luTjFjR1VpTENKdmNHeDFjeUlzSW05MGFXMWxjeUlzSW5CbGNuQWlMQ0p6Wkc5MElpd2liR05sYVd3aUxDSnlZMlZwYkNJc0lteG1iRzl2Y2lJc0luSm1iRzl2Y2lJc0lteGhibWNpTENKeVlXNW5JaXdpYkc5Nklpd2ljM0JoWkdWeklpd2lZMngxWW5NaUxDSm9aV0Z5ZEhNaUxDSmthV0Z0Y3lJc0ltdGxlU0lzSW1VaUxDSlRkSEpwYm1jaUxDSm1jbTl0UTJoaGNrTnZaR1VpTENKbGRtVnVkQ0lzSW01dlpHVlVlWEJsSWl3aWRHVjRkQ0lzSW5SeWFXMGlMQ0p1YjNKdFlXeHBlbVVpTENKeVpYQnNZV05sSWl3aWJXVnpjMkZuWlNJc0luQmhjbVZ1ZENJc0luRnVZVzFsSWl3aVlYUjBjbWxpZFhSbElpd2ljWFZoYkU1aGJXVWlMQ0p6Y0d4cGRDSXNJbkJ5WldacGVDSXNJbXh2WTJGc0lpd2ljVzRpTENKelpXeG1RMnh2YzJsdVp5SXNJblZ5YVNJc0lrcFRUMDRpTENKemRISnBibWRwWm5raUxDSndJaXdpYm5ZaUxDSnBjMU5sYkdaRGJHOXphVzVuSWl3aWRHOU1iM2RsY2tOaGMyVWlMQ0owSWl3aVkyeHZjMlZVYnlJc0luQnZjQ0lzSW5naUxDSnVJaXdpYm5WdElpd2laVzUwYVhSNVRFTWlMQ0p1ZFcxVGRISWlMQ0p6YkdsalpTSXNJbkJoY25ObFNXNTBJaXdpYVhOT1lVNGlMQ0p5WlhOMWJIUWlMQ0pvYVdkb1UzVnljbTluWVhSbElpd2liRzkzVTNWeWNtOW5ZWFJsSWl3aVkyOWtaVlZ1YVhSeklpd2lhVzVrWlhnaUxDSmpiMlJsVUc5cGJuUWlMQ0pPZFcxaVpYSWlMQ0pwYzBacGJtbDBaU0lzSWxKaGJtZGxSWEp5YjNJaUxDSmxlSEJ2Y25SeklsMHNJbTFoY0hCcGJtZHpJam9pUTBGQlF5eFRRVUZYUVN4SFFVTldRU3hGUVVGSlF5eFBRVUZUTEZOQlFWVkRMRVZCUVZGRExFZEJRVThzVDBGQlR5eEpRVUZKUXl4RlFVRlZSaXhGUVVGUlF5eEpRVU51UlVnc1JVRkJTVWtzVlVGQldVRXNSVUZEYUVKS0xFVkJRVWxMTEZWQlFWbEJMRVZCUTJoQ1RDeEZRVUZKVFN4aFFYVkxTaXhUUVVGMVFrb3NSVUZCVVVNc1IwRkROMElzVDBGQlR5eEpRVUZKUlN4RlFVRlZTQ3hGUVVGUlF5eEpRVGRLTDBKSUxFVkJRVWxQTEd0Q1FVRnZRaXhOUVVWNFFpeEpRU3RKU1VNc1JVRXZTVUZETEVWQlFWVXNRMEZEV2l4VlFVRlhMRmRCUVZrc1YwRkJXU3hWUVVGWExGVkJRemxETEdWQlFXZENMR1ZCUVdkQ0xGTkJRVlVzWVVGRE1VTXNZMEZCWlN4UlFVRlRMRlZCZDBJeFFpeFRRVUZUVEN4RlFVRlhSaXhGUVVGUlF5eEhRVU14UWl4TFFVRk5UeXhuUWtGQlowSk9MRWRCUTNCQ0xFOUJRVThzU1VGQlNVRXNSVUZCVlVZc1JVRkJVVU1zU1VGM1JtcERMRk5CUVhWQ1JpeEhRVU55UWl4SlFVRkxMRWxCUVVsVkxFVkJRVWtzUlVGQlIwTXNSVUZCU1Vnc1JVRkJVVWtzVDBGQlVVWXNSVUZCU1VNc1JVRkJSMFFzU1VGRGVrTldMRVZCUVU5UkxFVkJRVkZGTEVsQlFVMHNSMEYwUm5aQ1J5eERRVVJoU2l4TlFVRkJRU3hMUVVWT1N5eEZRVVpOVEN4TFFVVkxUU3hGUVVGSkxFZEJSbFJPTEV0QlIwNVBMRzlDUVVGelFtcENMRVZCUVVsUExHdENRVWh3UWtjc1MwRkpUbEFzU1VGQlRVRXNSMEZCVHl4SFFVcFFUeXhMUVV0T1VDeEpRVUZKWlN4VlFVeEZVaXhMUVV0cFFsQXNTVUZCU1dVc1YwRk1ja0pTTEV0QlMzbERVQ3hKUVVGSlowSXNZMEZNTjBOVUxFdEJUVTVWTEZWQlRrMVdMRXRCVFdGUUxFbEJRVWxsTEZWQlFWa3NZMEZCWjBJc1kwRk9OME5TTEV0QlQwNVhMRXRCUVU4c1IwRlFSRmdzUzBGUlRsa3NUMEZTVFZvc1MwRlJWV0VzVjBGU1ZtSXNTMEZST0VKakxGTkJRVlVzUlVGU2VFTmtMRXRCVTA1bExFbEJWRTFtTEV0QlUwOW5RaXhOUVVGUkxFdEJWR1pvUWl4TFFWVk9VaXhUUVVGWFFTeEZRVlpNVVN4TFFWZE9hVUlzV1VGQlkzcENMRWxCV0ZKUkxFdEJWM2xDVUN4SlFVRkpkMElzVlVGWU4wSnFRaXhMUVZsT2EwSXNUVUZCVVVNc1JVRkJSVU1zVFVGYVNuQkNMRXRCWVU1eFFpeGxRV0pOY2tJc1MwRmhhMEpRTEVsQlFVazBRaXhsUVdKMFFuSkNMRXRCWTA1elFpeFRRV1JOZEVJc1MwRmpXWEZDTEdWQlFXbENSU3hQUVVGUFF5eFBRVUZQYkVNc1JVRkJTVzFETEdOQlFXZENSaXhQUVVGUFF5eFBRVUZQYkVNc1JVRkJTV2RETEZWQlpHcEdkRUlzUzBGbFRqQkNMRmRCUVdFc1IwRm1VREZDTEV0QmIwSkdVQ3hKUVVGSmEwTXNVVUZ3UWtZelFpeExRWEZDU2pSQ0xFZEJRVXRNTEU5QlFVOURMRTlCUVU5TExFbEJja0ptTjBJc1MwRjVRazQ0UWl4bFFVRjNReXhKUVhwQ2JFTTVRaXhMUVhsQ2FVSlFMRWxCUVVselF5eFRRWHBDY2tJdlFpeExRVEJDUmpoQ0xHZENRVEZDUlRsQ0xFdEJNa0pLSzBJc1UwRXpRa2t2UWl4TFFUSkNZMmRETEV0Qk0wSmthRU1zUzBFeVFqUkNhVU1zVDBGQlV5eEhRVVZzUkVNc1JVRTNRbUZzUXl4TFFUWkNRU3hYUVhaRVpsWXNSVUZCU1RaRExFOUJRVk1zUTBGRFdDeFBRVU5CTEhkQ1FVTkJMR3RDUVVOQkxGVkJRMEVzVlVGRFFTeGxRVU5CTEZsQlEwRXNWVUZEUVN4WFFVTkJMRmxCUTBFc1VVRkRRU3hoUVVOQkxGRkJRMEVzVFVGRFFTeFJRVU5CTEZOQlEwRXNaMEpCUTBFc2EwSkJkME5IV2l4UFFVRlBReXhUUVVOV1JDeFBRVUZQUXl4UFFVRlRMRk5CUVZWWkxFZEJRM2hDTEZOQlFWTkRMRXRCUjFRc1QwRkdRVUVzUlVGQlJVTXNWVUZCV1VZc1JVRkRTQ3hKUVVGSlF5eEpRVXRrWkN4UFFVRlBaMElzVDBGRFZtaENMRTlCUVU5blFpeExRVUZQTEZOQlFWVklMRWRCUTNSQ0xFbEJRVWxKTEVWQlFVa3NSMEZEVWl4SlFVRkxMRWxCUVVsMlF5eExRVUZMYlVNc1JVRkJUMEVzUlVGQlJVc3NaVUZCWlhoRExFbEJRVWwxUXl4RlFVRkZSU3hMUVVGTGVrTXNSMEZEYWtRc1QwRkJUM1ZETEVsQk1FUllPVU1zUlVGQlZUUkRMRlZCUVZrc1EwRkRjRUpMTEVsQlFVc3NWMEZCWTBFc1JVRkJTVE5ETEU5QlEzWkNORU1zVFVFd2VVSkdMRk5CUVdkQ1F5eEhRVVZrTEVkQlFVazNReXhMUVVGTFowSXNUVUZEVUN4TlFVRk5hRUlzUzBGQlMyZENMRTFCUldJc1IwRktZV2hDTEV0QlNVWlpMRTlCUTFRc1QwRkJUMGtzUlVGTVNXaENMRXRCVFZRc2QwUkJSVW9zUjBGQll5eFBRVUZXTmtNc1JVRkRSaXhQUVVGUFJpeEZRVlJKTTBNc1RVRlhVU3hwUWtGQlZqWkRMRWxCUTFSQkxFVkJRVkZCTEVWQlFVMURMRmxCUldoQ0xFbEJRVWszUXl4RlFVRkpMRVZCUTBwTExFVkJRVWtzUjBGRFVpeExRVU5GUVN4RlFVRkplVU1zUlVGQlQwWXNSVUZCVHpWRExFdEJha0pRUkN4TFFXdENTazBzUlVGQlNVRXNSVUZGVGtFc1IwRmpUQ3hQUVd4RFYwNHNTMEYzUWtFNFFpeG5Ra0Y0UWtFNVFpeExRWGxDUml0Q0xGZEJRMGNzVDBGQlRucENMRWRCTVVKTFRpeExRVEpDUVdkRExFOUJNMEpCYUVNc1MwRTBRa0ZwUXl4UFFVRlRMRWRCTlVKVWFrTXNTMEU0UWtGcFF5eFZRVGxDUVdwRExFdEJhME5KYTBJc1QwRkRZaXhMUVVGTFF5eEZRVUZGUXl4TlFVVk1MRWRCY2tOUGNFSXNTMEZ2UTBGclFpeE5RVUZSUXl4RlFVRkZOa0lzYVVKQlExQXNWMEZCVGpGRExFVkJRMFlzVTBGRlJqSkRMRVZCZUVOUGFrUXNTMEYzUTJsQ1RTeEhRVU40UWl4VFFVVkdMRXRCUVV0aExFVkJRVVUyUWl4cFFrRkRURU1zUlVFMVEwOXFSQ3hMUVRSRGFVSk5MRWRCUTNoQ0xGTkJSVVlzUzBGQlMyRXNSVUZCUlN0Q0xFdEJRMHdzUjBGb1JFOXNSQ3hMUVdkRVNXTXNWVUZvUkVwa0xFdEJaMFIxUW1Fc1YwRkJXU3hEUVVWNFF5eEpRVVJCTEVsQlFVbHpReXhGUVVGVGJFUXNSVUZCU1N4RlFVTldTeXhIUVVGWExFMUJRVTVCTEVkQlFXMUNMRTFCUVU1QkxFbEJRM1pDUVN4RlFVRkplVU1zUlVGQlQwWXNSVUZCVHpWRExFOUJia1JtUkN4TFFXOUVZVGhDTEdkQ1FYQkVZamxDTEV0QmNVUk5LMElzVjBGRFJ5eFBRVUZPZWtJc1IwRjBSRWhPTEV0QmRVUlJaME1zVDBGMlJGSm9ReXhMUVhkRVVXbERMRTlCUVZNc1IwRjRSR3BDYWtNc1MwRXdSRkZwUXl4VlFURkVVbXBETEV0Qk9FUkZiMFFzVlVGQldWQXNSVUZCVFZFc1ZVRkJWVVlzUlVGQlVXeEVMRVZCUVVrc1IwRkZka01zVFVGQlRrc3NSMEZvUlVkT0xFdEJaMFZ0UW1Nc1UwRm9SVzVDWkN4TFFXZEZjVU5oTEdGQmFFVnlRMklzUzBGblJUSkVVaXhSUVVrelJEaEVMRVZCUVdGb1JDeEpRWEJGWWs0c1MwRnZSVFJDWXl4VlFYQkZOVUprTEV0QmIwVTRRMkVzV1VGRGFrUXdReXhGUVhKRlIzWkVMRXRCY1VWblFpeHRRMEZGV0N4TlFVRk9UU3hGUVhaRlEwNHNTMEYzUlVsclFpeE5RVUZSUXl4RlFVRkZjVU1zV1VGNFJXUjRSQ3hMUVRCRlNXOUVMRlZCUVZrNVF5eEpRVEZGYUVKT0xFdEJhVVZGYTBJc1RVRkJVVU1zUlVGQlJYTkRMRlZCYWtWYWVrUXNTMEZyUlVVd1JDeHBRa0ZzUlVZeFJDeExRV3RGTkVJclFpeFZRVmR1UXl4VFFVVkdMRXRCUVV0YUxFVkJRVVYzUXl4UFFVVkxMRTFCUVU1eVJDeEZRV3BHUjA0c1MwRnJSa1ZyUWl4TlFVRlJReXhGUVVGRmVVTXNZMEZzUmxvMVJDeExRVzlHUlRaRUxGRkJRVlYyUkN4RlFVVnVRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVjVReXhqUVVOTExFMUJRVTUwUkN4RlFYcEdSMDRzUzBFd1JrVnJRaXhOUVVGUlF5eEZRVUZGTWtNc1YwRXhSbG81UkN4TFFUUkdSVFpFTEZGQlFWVXNTVUZCVFhaRUxFVkJOVVpzUWs0c1MwRTJSa1ZyUWl4TlFVRlJReXhGUVVGRmQwTXNVVUZGYmtJc1UwRkZSaXhMUVVGTGVFTXNSVUZCUlhORExGVkJSVXdzUjBGQlZTeE5RVUZPYmtRc1JVRnVSMGRPTEV0QmIwZEZhMElzVFVGQlVVTXNSVUZCUlRSRExGVkJjRWRhTDBRc1MwRnhSMFZuUlN4VFFVRlhMRkZCUTJJc1IwRkJTVllzUlVGQllXaEVMRk5CUldwQ0xFZEJRVWt5UkN4RlFVRlJReXhGUVVGWE5VUXNSMEY0UjNaQ1RpeExRWGxIUld0Q0xFMUJRVkZETEVWQlFVVm5SQ3hUUVhwSFdtNUZMRXRCTUVkRmIwVXNVVUZCVlRsRUxFOUJRMW9zUjBGQlZTeE5RVUZPUVN4RlFUTkhTazRzUzBFMFIwVnJRaXhOUVVGUlF5eEZRVUZGTWtNc1ZVRTFSMW81UkN4TFFUWkhSVzlGTEZGQlFWVXNVVUZEV2l4SFFVRlZMRTFCUVU0NVJDeEZRVGxIU2s0c1MwRXJSMFZyUWl4TlFVRlJReXhGUVVGRmEwUXNWVUV2UjFweVJTeExRV2RJUlhORkxHRkJhRWhHZEVVc1MwRm5TSGRDZFVVc1lVRkJaU3hQUVVOMlF5eERRVWRNTEVkQlJrRm9RaXhGUVd4SVMzWkVMRXRCYTBoakxHVkJiRWhrUVN4TFFXOUlUVEJFTEdsQ1FVRnRRaXhGUVhCSWVrSXhSQ3hMUVc5SWIwTXJRaXhUUVVGVkxFTkJRMnBFTEVsQlFVbDVReXhGUVhKSVJIaEZMRXRCY1VoakswSXNVMEZ5U0dRdlFpeExRWEZJWjBNd1JDeHBRa0ZEYmtOd1JDeEZRVUZKTEVsQlFVbHRSU3hOUVVGTlJDeEhRVUZMUlN4TFFVRkxMRXRCUVU5d1JTeEZRWFJJTlVKT0xFdEJkMGhGYjBRc1ZVRkJXU3hKUVVGTk9VTXNSVUY0U0hCQ1RpeExRWGxJUld0Q0xFMUJRVkZETEVWQlFVVXJRaXhMUVVWdVFpeFRRVVZHTEV0QlFVc3ZRaXhGUVVGRk5FTXNWMEUzU0VVdlJDeExRVGhJUzJkRkxGTkJRVmN4UkN4SFFVRkhjVVVzWjBKQlFXdENReXhIUVVNeFEwTXNSVUV2U0VzM1JTeExRU3RJV1N4bFFTOUlXa0VzUzBGblNVVnJRaXhOUVVGUlF5eEZRVUZGZVVRc1RVRm9TVm8xUlN4TFFXbEpSV2RGTEZOQlFWY3NSMEZxU1dKb1JTeExRV3RKUlRoRkxFMUJRVkVzU1VGc1NWWTVSU3hMUVcxSlYyZEZMRk5CUVZjeFJDeEpRVUZOTEUxQmJrazFRazRzUzBGdlNVVnJRaXhOUVVGUlF5eEZRVUZGTkVRc1VVRndTVm92UlN4TFFYRkpSV2RHTEZGQlFWVXNSMEZ5U1Zwb1JpeExRWE5KUldkRkxGTkJRVmNzUzBGMFNXSm9SU3hMUVhWSldXZEZMRk5CUVZjeFJDeEhRVUZIY1VVc1owSkJRV3RDVFN4SFFYWkpOVU5xUml4TFFYZEpSV3RDTEUxQlFWRkRMRVZCUVVVNFJDeFRRWGhKV21wR0xFdEJlVWxOYTBZc1UwRjZTVTVzUml4TFFYbEpkMEpqTEZWQlF6TkNlVU1zUlVFeFNVZDJSQ3hMUVRKSlJDd3JRMEV6U1VOQkxFdEJOa2xGYTBZc1VVRkJWU3hIUVRkSldteEdMRXRCT0VsRlowVXNVMEZCVnl4SlFVTklMRTFCUVU0eFJDeEhRVU5VZFVVc1JVRm9Ta3MzUlN4TFFXZEtXU3h2UWtGb1NscEJMRXRCWjBwM1EyZEZMRlZCYUVwNFEyaEZMRXRCYVVwRlowVXNVMEZCVnl4SFFXcEtZbWhGTEV0QmEwcEZhMElzVFVGQlVVTXNSVUZCUlN0Q0xFMUJRMUpwUXl4RlFVRlJOMFVzU1VGdVNscE9MRXRCYjBwRmEwSXNUVUZCVVVNc1JVRkJSV2xGTEdsQ1FYQktXbkJHTEV0QmNVcEZaMFVzVlVGQldURkVMRWRCY2twa1RpeExRWFZLUldkRkxGVkJRVmt4UkN4RlFVVnlRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVnBSU3hwUWtGRFJEbEZMRWxCTlVwSFRpeExRVFJLVlVzc1NVRTFTbFpNTEV0Qk5rcEZhMElzVFVGQlVVTXNSVUZCUlRSRExGVkJOMHBhTDBRc1MwRTRTa1ZMTEVWQlFVa3NTVUU1U2s1TUxFdEJaMHRCWjBVc1ZVRkJXVEZFTEVWQlEyNUNMRk5CUlVZc1MwRkJTMkVzUlVGQlJUaEVMRkZCUTBzc1RVRkJUak5GTEVkQmNFdEhUaXhMUVhGTFJXdENMRTFCUVZGRExFVkJRVVVyUWl4TFFVTnFRakpDTEVWQmRFdExOMFVzUzBGelMxa3NXVUYwUzFwQkxFdEJjMHRuUTJ0R0xGTkJkRXRvUTJ4R0xFdEJkVXRGYTBZc1UwRkJWU3hKUVhaTFdteEdMRXRCZVV0RmEwWXNVMEZCVnpWRkxFVkJRMUlzVFVGQlRrRXNSVUV4UzBOT0xFdEJNa3RKYTBJc1RVRkJVVU1zUlVGQlJXdEZMRmxCUTFKR0xFVkJRVkUzUlN4TFFUVkxaRTRzUzBFMlMwbHJRaXhOUVVGUlF5eEZRVUZGYlVVc1pVRTNTMlIwUml4TFFUaExTVXNzUlVGQlNVTXNTVUZIWml4VFFVVkdMRXRCUVV0aExFVkJRVVZ0UlN4bFFXNU1SWFJHTEV0QmIweEJhMFlzVTBGQlZ6VkZMRVZCUTJSQkxFbEJja3hIVGl4TFFYRk1WVXNzU1VGeVRGWk1MRXRCYzB4RlN5eEZRVUZKTEVkQmRFeE9UQ3hMUVhWTVJXdENMRTFCUVZGRExFVkJRVVU0UkN4VFFVVnVRaXhUUVVWR0xFdEJRVXM1UkN4RlFVRkZhMFVzV1VFelRFVnlSaXhMUVRSTVFXdEdMRk5CUVZjMVJTeEZRVU5TTEUxQlFVNUJMRVZCTjB4SFRpeExRVGhNUld0Q0xFMUJRVkZETEVWQlFVVTRSQ3hSUVVOU1JTeEZRVUZSTjBVc1MwRXZURnBPTEV0QlowMUZhMElzVFVGQlVVTXNSVUZCUlc5RkxHMUNRV2hOV25aR0xFdEJhVTFGU3l4RlFVRkpReXhIUVVWaUxGTkJSVVlzUzBGQlMyRXNSVUZCUlc5RkxHMUNRWEpOUlhaR0xFdEJjMDFCYTBZc1UwRkJWelZGTEVWQlEyUkJMRWxCZGsxSFRpeExRWFZOVlVzc1NVRjJUVlpNTEV0QmQwMUZhMElzVFVGQlVVTXNSVUZCUld0RkxGbEJlRTFhY2tZc1MwRjVUVVZMTEVWQlFVa3NTVUZGWWl4VFFVVkdMRXRCUVV0akxFVkJRVVUwUkN4UlFVTkxMRTFCUVU1NlJTeEZRVGxOUjA0c1MwRXJUVVZyUWl4TlFVRlJReXhGUVVGRmNVVXNaVUV2VFZwNFJpeExRV2xPUldkR0xGTkJRVmN4UlN4RlFVVndRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVnhSU3hsUVVOTExFMUJRVTVzUml4SFFYUk9SMDRzUzBGMVRrVnJRaXhOUVVGUlF5eEZRVUZGYzBVc1kwRjJUbHA2Uml4TFFYZE9SV2RHTEZGQlFWVlZMRVZCZUU1YU1VWXNTMEYzVGpSQ1VDeEpRWGhPTlVKUExFdEJkMDUzUTJkR0xGTkJlRTU0UTJoR0xFdEJlVTVOWjBZc1UwRkRWRWdzUlVFeFRrYzNSU3hMUVRCT1l5eFpRVEZPWkVFc1MwRXdUbXREWjBZc1UwRXhUbXhEYUVZc1MwRTBUa1ZuUml4UlFVRlZMRXRCTlU1YWFFWXNTMEU0VGtWblJpeFRRVUZYTEVsQlFVMHhSU3hGUVRsT2JrSk9MRXRCSzA1RmEwSXNUVUZCVVVNc1JVRkJSVFJFTEZOQlJXNUNMRk5CUlVZc1MwRkJTelZFTEVWQlFVVnpSU3hqUVVOTExFMUJRVTV1Uml4SFFVTkdhVVFzUlVGeVQwdDJSQ3hMUVhGUFl5eHhRa0Z5VDJSQkxFdEJkMDlGWjBZc1UwRkJWeXhMUVVGUE1VVXNSVUY0VDNCQ1RpeExRWGxQUld0Q0xFMUJRVkZETEVWQlFVVTBSQ3hUUVhwUFdpOUZMRXRCTWs5RmEwSXNUVUZCVVVNc1JVRkJSU3RDTEV0QlJXNUNMRk5CUlVZc1MwRkJTeTlDTEVWQlFVVjVSQ3hOUVVOTExFMUJRVTUwUlN4RlFXaFFSMDRzUzBGcFVFVnJRaXhOUVVGUlF5eEZRVUZGZDBVc1lVRnFVRm96Uml4TFFXMVFSVGhGTEU5QlFWTjRSU3hGUVVWc1FpeFRRVVZHTEV0QlFVdGhMRVZCUVVWM1JTeGhRVU5MTEUxQlFVNXlSaXhGUVhoUVIwNHNTMEY1VUVWclFpeE5RVUZSUXl4RlFVRkZlVVVzWjBKQmVsQmFOVVlzUzBFeVVFVTRSU3hQUVVGVExFbEJRVTE0UlN4RlFUTlFha0pPTEV0Qk5GQkZhMElzVFVGQlVVTXNSVUZCUlhsRUxFOUJSVzVDTEZOQlJVWXNTMEZCUzNwRUxFVkJRVVY1UlN4bFFVTkxMRTFCUVU1MFJpeEhRV3BSUjA0c1MwRnJVVTA0UlN4UFFVTlVSQ3hGUVc1UlJ6ZEZMRXRCYlZGakxGVkJibEZrUVN4TFFXMVJaME00UlN4UFFVVnlRMFFzUlVGeVVVczNSU3hMUVhGUldTeG5Ra0Z5VVZwQkxFdEJjMUZGT0VVc1RVRkJVU3hIUVhSUlZqbEZMRXRCZFZGRmEwSXNUVUZCVVVNc1JVRkJSU3RDTEUxQlEwWXNUVUZCVGpWRExFVkJlRkZLVGl4TFFYbFJSVGhGTEU5QlFWTXNTMEY2VVZnNVJTeExRVEpSUlRoRkxFOUJRVk1zUzBGQlQzaEZMRVZCTTFGc1FrNHNTMEUwVVVWclFpeE5RVUZSUXl4RlFVRkZlVVFzVDBGRmJrSXNVMEZGUml4TFFVRkxla1FzUlVGQlJXdEVMRlZCUTBzc1RVRkJUaTlFTEVWQmFsSkhUaXhMUVd0U1JXdENMRTFCUVZGRExFVkJRVVV3UlN4cFFrRkRVblpETEVWQlFXRm9SQ3hIUVc1U2FrSk9MRXRCYjFKRmEwSXNUVUZCVVVNc1JVRkJSVEpGTEdWQmNGSmFPVVlzUzBGelVrVnpSU3hqUVVGblFtaEZMRVZCUlhwQ0xGTkJSVVlzUzBGQlMyRXNSVUZCUlRKRkxHVkJRMHdzU1VFelVrODVSaXhMUVRKU1MzVkZMR05CUVdkQ2FrSXNSVUZCWVdoRUxFZEJRM1pETEZOQlEyVXNUVUZCVGtFc1JVRTNVa3BPTEV0Qk9GSkZhMElzVFVGQlVVTXNSVUZCUlRCRkxHbENRVGxTV2pkR0xFdEJaMU5GZFVVc1kwRkJaMEpxUlN4RlFVVjZRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVXdSU3hwUWtGRFN5eE5RVUZPZGtZc1IwRkRSblZGTEVWQmRGTkxOMFVzUzBGelUxa3NNRUpCUVRKQ0xFTkJRekZESzBZc1MwRjJVMGN2Uml4TFFYVlRWWE5GTEdGQlEySXdRaXhMUVhoVFIyaEhMRXRCZDFOVmRVVXNaVUY0VTFaMlJTeExRVEJUUlhORkxHRkJNVk5HZEVVc1MwRXdVM2RDZFVVc1lVRkJaU3hIUVRGVGRrTjJSU3hMUVRKVFJXdENMRTFCUVZGRExFVkJRVVVyUWl4UFFUTlRXbXhFTEV0Qk5sTkZkVVVzWTBGQlowSXNTVUZCVFdwRkxFVkJOMU40UWs0c1MwRTRVMFZyUWl4TlFVRlJReXhGUVVGRk1rVXNaMEpCUlc1Q0xGTkJSVVlzUzBGQlN6TkZMRVZCUVVWblJDeFRRVU5FUml4RlFVRlJaME1zUlVGQlZUTkdMRWRCYmxSbVRpeExRVzlVUlc5RkxGTkJRVmM1UkN4SFFVVnNRalJHTEVWQmRGUkxiRWNzVFVGMVZFc3NUVUZCVGswc1JVRkRSalpHTEVWQmVGUkhia2NzVFVGNVZGa3NUVUZCVGswc1JVRjZWRTVPTEV0Qk1GUkphMElzVFVGQlVVTXNSVUZCUldsR0xHZENRVVZhT1VNc1JVRkJZV2hFTEVsQlEyaENhVVFzUlVFM1ZFTjJSQ3hMUVRaVWEwSXNhVU5CTjFSc1FrRXNTMEVyVkVsclFpeE5RVUZSUXl4RlFVRkZhMFlzVTBGSGNrSXNVMEZGUml4TFFVRkxiRVlzUlVGQlJXbEdMR1ZCUTBzc1RVRkJUamxHTEVkQlEwWTJSaXhGUVhSVlMyNUhMRTFCYzFWWExFZEJRMmhDYzBjc1JVRjJWVXQwUnl4UlFYbFZUSFZFTEVWQmVsVkxka1FzUzBGNVZXTXNhMFJCZWxWa1FTeExRVEJWUld0Q0xFMUJRVkZETEVWQlFVVnJSaXhSUVVWdVFpeFRRVVZHTEV0QlFVdHNSaXhGUVVGRmEwWXNUMEZGVEN4SFFVRkpMME1zUlVGQllXaEVMRWRCUTJZc1UwRkRaU3hOUVVGT1FTeEZRVU5VTmtZc1JVRnVWa3R1Unl4TlFXOVdWU3hOUVVGT1RTeEZRWEJXU2s0c1MwRnhWa1ZyUWl4TlFVRlJReXhGUVVGRmFVWXNaVUZEVW01RExFVkJRVkZETEVWQlFWYzFSQ3hKUVhSV2RrSk9MRXRCZFZaRmRVY3NWMEZCWVdwSExFVkJkbFptVGl4TFFYZFdSWGRITEZsQlFXTXNSMEY0Vm1oQ2VFY3NTMEY1VmtWclFpeE5RVUZSUXl4RlFVRkZjMFlzWVVGRmFrSnNSQ3hGUVROV1MzWkVMRXRCTWxaakxEQkNRVVZ5UWl4VFFVVkdMRXRCUVV0dFFpeEZRVUZGYzBZc1dVRkRTeXhOUVVGT2JrY3NSVUZvVjBkT0xFdEJhVmRGYTBJc1RVRkJVVU1zUlVGQlJYVkdMR0ZCUTBZc1RVRkJUbkJITEVkQlExUnBSQ3hGUVc1WFMzWkVMRXRCYlZkakxESkNRVzVYWkVFc1MwRnZWMFYzUnl4WlFYQlhSbmhITEV0QmIxZDFRblZITEZkQlF6VkNTU3hGUVhKWFN6TkhMRTFCYzFkTWJVY3NSVUYwVjB0dVJ5eFBRWFZYU1hORUxFVkJRV0ZvUkN4SFFYWlhha0pPTEV0QmQxZEZhMElzVFVGQlVVTXNSVUZCUlhsR0xITkNRVU5TTTBNc1JVRkJVV2RETEVWQlFWVXpSaXhIUVhwWGRFSk9MRXRCTUZkRmRVY3NXVUZCWTJwSExFVkJSWEpDYVVRc1JVRTFWMHQyUkN4TFFUUlhZeXd3UWtGRmNrSXNVMEZGUml4TFFVRkxiVUlzUlVGQlJYbEdMSE5DUVVOTUxFZEJRVlVzVFVGQlRuUkhMRVZCYWxoSFRpeExRV3RZUld0Q0xFMUJRVkZETEVWQlFVVjFSaXhwUWtGRFdpeERRVUZCTEVkQlFVbHdSQ3hGUVVGaGFFUXNSMEZEZEVJc1UwRkZRV2xFTEVWQmRGaExka1FzUzBGeldHTXNNa0pCZEZoa1FTeExRWFZZUldVc1NVRkJTVGhHTEZkQmRsaE9OMGNzUzBGMVdIZENkVWNzV1VGQll5eEhRWFpZZEVOMlJ5eExRWGRZUlhkSExGbEJRV01zUjBGRGNrSXpRaXhGUVhwWVN6ZEZMRXRCZVZoWkxHTkJRV1VzUTBGRE9VSXJSaXhMUVRGWVJ5OUdMRXRCTUZoVmRVY3NWMEZEWWs4c1RVRkJUeXhMUVROWVNqbEhMRXRCTmxoRmRVY3NWMEZCWVN4SFFVTldMRTFCUVU1cVJ5eEZRVU5HTmtZc1JVRXZXRWR1Unl4TlFXZFpUV2xGTEVWQlFWRkRMRVZCUVZjMVJDeEpRV2haZWtKT0xFdEJhVmxKZFVjc1YwRkJZV3BITEVWQmFsbHFRazRzUzBGcldVbHJRaXhOUVVGUlF5eEZRVUZGYzBZc1kwRkZha0pzUkN4RlFYQlpSM1pFTEV0QmIxbG5RaXd3UWtGd1dXaENRU3hMUVhGWlNXdENMRTFCUVZGRExFVkJRVVZyUml4UlFVZHlRaXhUUVVWR0xFdEJRVXRzUml4RlFVRkZkVVlzWVVGRFRDeEhRVUZKY0VRc1JVRkJZV2hFTEVkQlEyWXNVMEZEVXpaRkxFVkJRVkUzUlN4SlFUZFpXazRzUzBFNFdVVkxMRVZCUVVsRExFVkJPVmxPVGl4TFFTdFpSV3RDTEUxQlFWRkRMRVZCUVVVMFJpeHpRa0ZGYWtKNFJDeEZRV3BhUzNaRUxFdEJhVnBqTERSQ1FXcGFaRUVzUzBGcldrVnJRaXhOUVVGUlF5eEZRVUZGTmtZc2MwSkJiRnBhYUVnc1MwRnRXa1YzUnl4WlFVRmpiRWNzUjBGRmRrSXNVMEZGUml4TFFVRkxZU3hGUVVGRk5FWXNiMEpCUTB3c1IwRkJTWHBITEVsQmVGcEhUaXhMUVhkYVZVc3NSVUZCUnl4RFFVTlNMRTFCUVU1RExFVkJlbHBEVGl4TFFUQmFTV3RDTEUxQlFWRkRMRVZCUVVVNFJpeHpRa0V4V21ScVNDeExRVFJhU1hkSExHRkJRV1ZzUnl4RlFVVjRRaXhUUVVWR2NVY3NSVUZvWVU4elJ5eE5RVUZCUVN4TFFXbGhRVXNzUlVGQlNTeEhRV3BoU2t3c1MwRnJZVUZyUWl4TlFVRlJReXhGUVVGRkswWXNiMEpCUTJwQ0xGTkJSVVlzUzBGQlN5OUdMRVZCUVVVclJpeHZRa0ZEUkRWRUxFVkJRV0ZvUkN4SFFYUmhWazRzUzBGMVlVVnJRaXhOUVVGUlF5eEZRVUZGYTBZc1QwRkRSaXhOUVVGT0wwWXNSVUZEVkRaR0xFVkJlbUZMYmtjc1RVRXdZVlVzVFVGQlRrMHNSVUV4WVVwT0xFdEJNbUZGYTBJc1RVRkJVVU1zUlVGQlJXbEdMR1ZCUTFKdVF5eEZRVUZSUXl4RlFVRlhOVVFzU1VGRE5VSnBSQ3hGUVRkaFMzWkVMRXRCTm1GakxHOURRVGRoWkVFc1MwRTRZVVYxUnl4WFFVRmhha2NzUlVFNVlXWk9MRXRCSzJGRmQwY3NXVUZCWXl4SFFTOWhhRUo0Unl4TFFXZGlSV3RDTEUxQlFWRkRMRVZCUVVWelJpeGhRVVZxUW14RUxFVkJiR0pMZGtRc1MwRnJZbU1zTUVKQlJYSkNMRk5CUlVZc1MwRkJTMjFDTEVWQlFVVTJSaXh6UWtGRFRDeEpRVUZMUnl4RlFVRlpOMGNzUjBGQlNTeERRVU5VTEUxQlFVNUJMRVZCZUdKRFRpeExRWGxpU1d0Q0xFMUJRVkZETEVWQlFVVnBSeXh6UWtGNlltUndTQ3hMUVRKaVNYZEhMR0ZCUVdWc1J5eEZRVVY0UWl4VFFVVkdjVWNzUlVFdllrOHpSeXhOUVdkalJ5eE5RVUZPVFN4RlFVTkdOa1lzUlVGcVkwdHVSeXhOUVVGQlFTeExRVzFqUld0Q0xFMUJRVkZETEVWQlFVVnJSaXhQUVVWdVFpeFRRVVZHTEV0QlFVdHNSaXhGUVVGRk1rTXNWVUZEVEN4SFFYaGpUemxFTEV0QmQyTkxiMFVzVVVGaFN5eE5RVUZPT1VRc1JVRkRWR2RITEVWQmRHUkxkRWNzVFVGMVpFbHBSU3hGUVVGUlowTXNSVUZCVlROR0xFZEJkbVIwUWs0c1MwRjNaRVZ2UlN4VFFVRlhPVVFzUlVGNFpHSk9MRXRCZVdSWE5rUXNVVUY2WkZnM1JDeExRVEJrUlRaRUxGRkJRVlVzUzBFeFpGbzNSQ3hMUVRCa01FSnZSU3hSUVRGa01VSndSU3hMUVRKa1JXOUZMRkZCUVZVc1IwRXpaRnB3UlN4TFFUUmtSV3RDTEUxQlFWRkRMRVZCUVVWM1F5eFRRVVZhVEN4RlFVRmhhRVFzU1VGRGFFSnBSQ3hGUVM5a1IzWkVMRXRCSzJSblFpeHJRMEV2WkdoQ1FTeExRV2xsUld0Q0xFMUJRVkZETEVWQlFVVnJSeXg1UWtGNlFrVXNRMEZEYmtJc1IwRkJTUzlFTEVWQlFXRm9SQ3hIUVVObUxGTkJRMU5uU0N4RlFVRlRjRVFzUlVGQlZ6VkVMRWRCTTJNeFFrNHNTMEUwWTFFMlJDeFJRVFZqVWpkRUxFdEJObU5OTmtRc1VVRkJWU3hMUVVGUGRrUXNSVUUzWTNaQ1RpeExRVGhqVFd0Q0xFMUJRVkZETEVWQlFVVjNReXhSUVVWcVFrb3NSVUZvWkVOMlJDeExRV2RrYTBJc2JVTkJhR1JzUWtFc1MwRnRaRWx2UlN4UlFVRlZPVVFzUlVGblFuSkNMRk5CUlVZc1MwRkJTMkVzUlVGQlJXdEhMRzlDUVVOTUxFZEJRVWt2UkN4RlFVRmhhRVFzUjBGRFppeFRRVVZSTEUxQlFVNUJMRVZCUTBablJ5eEZRVEZsUzNSSExFMUJOR1ZNZFVRc1JVRTFaVXQyUkN4TFFUUmxZeXh4UTBGRmNrSXNVMEZGUml4TFFVRkxiVUlzUlVGQlJYRkRMRmxCUTFBc1MwRkJTM0pETEVWQlFVVTRSaXh6UWtGRFVDeExRVUZMT1VZc1JVRkJSV2xITEhOQ1FVTk1MRWxCUVVsSExFVkJRMEZETEVWQlEwb3NUMEZ5Wms5NFNDeExRWEZtVVd0Q0xFOUJRMklzUzBGQlMwTXNSVUZCUlhGRExGbEJRMHdyUkN4RlFVRmpjRWNzUlVGQlJTdENMRXRCUTJoQ2MwVXNSVUZCVXl4WFFVTlVMRTFCUlVZc1MwRkJTM0pITEVWQlFVVTRSaXh6UWtGRFRFMHNSVUZCWTNCSExFVkJRVVUwUml4dlFrRkRhRUpUTEVWQlFWTXNZMEZEVkN4TlFVVkdMRXRCUVV0eVJ5eEZRVUZGYVVjc2MwSkJRMHhITEVWQlFXTndSeXhGUVVGRk5rWXNjMEpCUTJoQ1VTeEZRVUZUTEdOQlNVZ3NUVUZCVG14SUxFZEJkR2RDUjA0c1MwRjFaMEpGZDBnc1NVRkJWME1zUlVGMlowSmlla2dzVFVGQlFVRXNTMEYzWjBKRk1FZ3NUMEZCVXl4SFFYaG5RbGd4U0N4TFFYbG5Ra1ZyUWl4TlFVRlJjVWNzUjBGRFRuUkVMRVZCTVdkQ1NtcEZMRXRCTUdkQ2JVSXdTQ3hQUVVGUGRrZ3NUMEZCVTNkSUxFVkJRV0ZETEVWQlFXRjBTQ3hIUVRGblFqZEVUaXhMUVRKblFrVXdTQ3hSUVVGVmNFZ3NSMEZGYWtKcFJDeEZRVGRuUWt0MlJDeExRVFpuUW1Nc2IwTkJOMmRDWkVFc1MwRTRaMEpGZDBnc1NVRkJWeXhKUVRsblFtSjRTQ3hMUVRoblFqQkNNRWdzVDBGQlUzQklMRVZCT1dkQ2JrTk9MRXRCSzJkQ1JUQklMRTlCUVZNc1IwRXZaMEpZTVVnc1MwRm5hRUpGYTBJc1RVRkJVWEZITEVkQlIycENMRk5CUlVZc1VVRkRSU3hOUVVGTkxFbEJRVWxOTEUxQmRHaENTRGRJTEV0QmMyaENhVUlzYTBKQmRHaENha0pCTEV0QmMyaENORU5yUWl4UFFYUm9RalZEYkVJc1MwRXdhRUpHSzBJc1ZVRXhhRUpGTDBJc1MwRXdhRUpwUWs4c2NVSkJOek5EYUVNc1UwRkJORUpvUWl4SFFVY3hRaXhKUVVaQkxFbEJRVWwxU1N4RlFVRmhReXhMUVVGTFF5eEpRVUZKTVVrc1JVRkJTVThzYTBKQlFXMUNMRWxCUXpkRGIwa3NSVUZCV1N4RlFVTlFhRWtzUlVGQlNTeEZRVUZIUXl4RlFVRkpTQ3hGUVVGUlNTeFBRVUZSUml4RlFVRkpReXhGUVVGSFJDeEpRVUZMTEVOQlF6bERMRWxCUVVscFNTeEZRVUZOTTBrc1JVRkJUMUVzUlVGQlVVVXNTVUZCU1VVc1QwRkROMElzUjBGQlNTdElMRVZCUVUxS0xFVkJTMUlzVDBGQlVTOUlMRVZCUVZGRkxFbEJRMlFzU1VGQlN5eFhRVU5JYTBrc1JVRkJWVFZKTEVkQlExWXNUVUZGUml4SlFVRkxMRkZCUTBoelJpeEZRVUZUZEVZc1JVRkJVU3hWUVVGWFFTeEZRVUZQZFVZc1QwRkRia04yUml4RlFVRlBkVVlzVFVGQlVTeEhRVU5tTEUxQlJVWXNTVUZCU3l4VFFVTklSQ3hGUVVGVGRFWXNSVUZCVVN4WFFVRlpRU3hGUVVGUGMwVXNVVUZEY0VOMFJTeEZRVUZQYzBVc1QwRkJVeXhIUVVOb1FpeE5RVVZHTEZGQlEwVTNReXhGUVVGTmVrSXNSVUZCVVN3clFrRkJhVU5STEVWQlFWRkZMRWxCUnpkRVowa3NSVUZCV1VZc1MwRkJTME1zU1VGQlNVTXNSVUZCVjBNc1IwRkhiRU1zU1VGQlNVVXNSVUZCU1RsSkxFVkJRVWxQTEd0Q1FVRnZRbTlKTEVWQlEyaERNVWtzUlVGQlQyZENMRzlDUVVGelFqWklMRVZCUVVrM1NTeEZRVUZQZDBNc1UwRTJNVU4wUTNOSExFTkJNMmhDVjNKSkxFMUJObWhDWWl4UFFUZG9RbUZCTEUxQk1YbENZbk5KTEU5QlFWRXNWMEZCYVVNc1QwRkJia0owU1N4TFFVRkxaMElzVFVGQlVTeExRVUZoYUVJc1RVRkRhRVIxU1N4TlFVRlBMRmRCUVdNc1QwRkJUM1pKTEV0QlFVczBReXhOUVVGTkxFOUJRM1pETkVZc1RVRkJUeXhYUVdwQ1ZDeEpRVUYxUW1wS0xFVkJRM0pDTkVrc1JVRkVjVUkxU1N4RlFXbENZVk1zVFVGbVlpeExRVUZxUWxRc1JVRkJUM1ZHTEZGQlExUkVMRVZCUVZOMFJpeEZRVUZSTEZWQlFWZEJMRVZCUVU5MVJpeFBRVU51UTNaR0xFVkJRVTkxUml4TlFVRlJMRWxCUlVzc1MwRkJiRUoyUml4RlFVRlBjMFVzVTBGRFZHZENMRVZCUVZOMFJpeEZRVUZSTEZkQlFWbEJMRVZCUVU5elJTeFJRVU53UTNSRkxFVkJRVTl6UlN4UFFVRlRMRTFCWVhCQ0xFbEJRMFV2UkN4RlFVRlRNa2tzVVVGQlVTeFZRVUZWTTBrc1QwRkRNMElzVFVGQlR6UkpMRWRCUTFBMVNTeEZRVUZUTEdGQlIxZ3NTVUZCU1RaSkxFVkJRV055U2l4RlFVRkpOa01zVDBGQlQzbEhMRTlCUVU4c1UwRkJWVU1zUjBGRE5VTXNUVUZCWXl4VlFVRlFRU3hIUVVGNVFpeFJRVUZRUVN4SlFVOHpRaXhUUVVGVGJFb3NSVUZCVjBnc1JVRkJVVU1zUjBGRE1VSXNTMEZCVFU4c1owSkJRV2RDVEN4SFFVTndRaXhQUVVGUExFbEJRVWxCTEVWQlFWVklMRVZCUVZGRExFZEJSeTlDU3l4RlFVRlBaMG9zVFVGQlRUbEpMRTFCUldKQkxFdEJRVXNyU1N4UlFVRlZMRWxCUVVseVNpeEZRVUZWUml4RlFVRlJReXhIUVVOeVEwOHNTMEZCUzJkS0xGVkJRVmNzUlVGRGFFSm9TaXhMUVVGTGFVb3NWVUZCVnl4RlFVVm9RaXhKUVVGSlF5eEZRVUZMYkVvc1MwRkZWRUVzUzBGQlN5dEpMRkZCUVZGSkxFMUJRVkVzVjBGRGJrSkVMRVZCUVVkb1NDeExRVUZMTEZGQlIxWnNReXhMUVVGTEswa3NVVUZCVVVzc1VVRkJWU3hUUVVGVlF5eEhRVU12UWtnc1JVRkJSMmhJTEV0QlFVc3NVVUZCVTIxSUxFZEJTV3BDU0N4RlFVRkhTQ3hSUVVGUkwwZ3NUVUZCVVN4TlFVZHlRbWhDTEV0QlFVdHpTaXhUUVVGWExFdEJSV2hDV0N4RlFVRlpXU3hSUVVGUkxGTkJRVlZXTEVkQlF6VkNkRWdzVDBGQlQybEpMR1ZCUVdWT0xFVkJRVWtzUzBGQlQwd3NSVUZCU1N4RFFVTnVRMWtzU1VGQlN5eFhRVU5JTEU5QlFVOVFMRVZCUVVkSUxGRkJRVkVzUzBGQlQwWXNTVUZGTTBKaExFbEJRVXNzVTBGQlZVTXNSMEZEWWl4SlFVRkxRU3hGUVVkSUxFOUJSa0ZVTEVWQlFVZFZMRzFDUVVGdFFtWXNSMEZEZEVKTExFVkJRVWRJTEZGQlFWRXNTMEZCVDBZc1IwRkJUV01zUlVGRGFrSkJMRVZCUlZSVUxFVkJRVWRYTEVkQlFVZG9RaXhGUVVGSll5eEpRVVZhUnl4WlFVRlpMRVZCUTFwRExHTkJRV01zVFVGTGNFSndTeXhGUVVGVk1rTXNWVUZCV1dZc1QwRkJUME1zVDBGQlR6RkNMRVZCUVU5M1F5eFZRVUZYTEVOQlEzQkVNRWdzV1VGQllTeERRVU5ZYkVRc1RVRkJUMjVJTEV0QlNWaEJMRVZCUVZVeVF5eFZRVUZWVFN4TlFVRlJMRk5CUVZWeFNDeEhRVU53UXl4SFFVRnpRaXh0UWtGQldFTXNVVUZEYTBJc2JVSkJRWEJDUVN4UFFVRlBReXhWUVVOa1JDeFBRVUZQUXl4VFFVRlRSaXhIUVVGUExFTkJRM1pDTEVsQlFVdHFTeXhMUVVGTGMwb3NVMEZCVlN4RFFVTnNRaXhKUVVGSll5eEZRVUZMTTBJc1VVRkJVU3hyUWtGQmEwSTBRaXhqUVVOdVEzSkxMRXRCUVV0elNpeFRRVUZYTEVsQlFVbGpMRVZCUVVjc1VVRkZla0pJTEVWQlFVOXFTeXhMUVVGTGMwb3NVMEZCVXpGSExFMUJRVTF4U0N4SFFVczNRaXhQUVVaQmFrc3NTMEZCU3l0SkxGRkJRVkZ1Unl4TlFVRk5jVWdzUlVGQlMyNUlMRmxCUTNoQ09VTXNTMEZCUzJ0RExFdEJRVXNzVDBGQlVTdElMRWxCUTFnc1IwRkhWSFJMTEVWQlFWVXlReXhWUVVGVlN5eEpRVUZOTEZOQlFWVkZMRWRCUzJ4RExFOUJTa2xCTEVkQlFWTkJMRVZCUVUweFF5eFJRVU5xUWtnc1MwRkJTelJETEUxQlFVMURMRWRCUldJM1F5eExRVUZMSzBrc1VVRkJVWEJITEU5QlEwNHNSMEZIVkdoRUxFVkJRVlV5UXl4VlFVRlZkVWdzUjBGQlN5eFRRVUZWYUVJc1JVRkJTWGxDTEVkQlEzSkRMRWxCUVVsd1FpeEZRVUZMYkVvc1MwRlRWQ3hQUVZKTGEwb3NSVUZCUjBnc1VVRkJVU3hMUVVGUFJpeExRVUZ2UXl4SlFVRTNRa1lzUlVGQldUUkNMRkZCUVZFeFFpeExRVU5vUkVzc1JVRkJSMGdzVVVGQlVTeExRVUZQUml4SFFVRk5MRmRCUTNSQ0xFbEJRVWt5UWl4RlFVRTBRaXhKUVVGeVFrTXNWVUZCVlhSTExFOUJRV1VzUTBGQlEzTkxMRlZCUVZVc1NVRkJUV2hITEUxQlFVMXhSU3hOUVVGTkxFdEJRVTB5UWl4WFFVTjJSVVFzUlVGQlMwVXNUMEZCVHl4RlFVRkhMRVZCUVVjM1FpeEhRVU5zUWtzc1JVRkJSMmhJTEV0QlFVczBSeXhOUVVGTlNTeEZRVUZKYzBJc1MwRkpaakZMTEVWQlFVOTNReXhWUVVGVmRVZ3NSMEZCUjJNc1MwRkJTM3BDTEVWQlFVbE1MRVZCUVVsNVFpeEpRVXN4UXl4SlFVRkpNVVlzUlVGQlVTeFZRVU5TU3l4RlFVRlZMRlZCUTFZeVJpeEZRVUZuUWl4MVEwRkRhRUpETEVWQlFXdENMR2REUVVOc1FtaEtMRVZCUVZNc1EwRkJSV2xLTEVsQlFVdEdMRVZCUVdWcVNpeE5RVUZQYTBvc1IwRlJkRU16Unl4RlFVRlpMRFJLUVVWYUswSXNSVUZCVnl4blRVRkZXREpDTEVWQlFXTXNOa3BCUTJSRUxFVkJRV0VzYVUxQlJXcENMRk5CUVZOeVJTeEZRVUZqYUVRc1IwRkRja0lzVFVGQllTeE5RVUZPUVN4SFFVRnRRaXhQUVVGT1FTeEhRVUZ2UWl4UFFVRk9RU3hIUVVGdlFpeFBRVUZPUVN4RlFVZHNSQ3hUUVVGVE5rVXNSVUZCVXpkRkxFZEJRMmhDTEUxQlFXRXNUVUZCVGtFc1IwRkJiVUlzVFVGQlRrRXNSVUZIZEVJc1UwRkJVelpITEVWQlFXRTNSeXhIUVVOd1FpeE5RVUZoTEUxQlFVNUJMRWRCUVdGblJDeEZRVUZoYUVRc1IwRkhia01zVTBGQlV6SkVMRVZCUVZNNFJ5eEZRVUZQZWtzc1IwRkRka0lzVDBGQlQzbExMRVZCUVUxRExFdEJRVXN4U3l4SFFVZHdRaXhUUVVGVFowZ3NSVUZCVlhsRUxFVkJRVTk2U3l4SFFVTjRRaXhQUVVGUk1rUXNSVUZCVVRoSExFVkJRVTk2U3l4SFFVZDZRaXhKUVhkeVExRXlTeXhGUVVOQlF5eEZRVU5CUXl4RlFURnlRMHBvU3l4RlFVRkpMRVZCYzFSU0xFbEJRVXNzU1VGQlNXbExMRXRCY2xSVU9Vd3NSVUZCU1N0TUxFMUJRVkVzUTBGRFZtcExMRTFCUVU5RUxFbEJRMUEyUWl4cFFrRkJhMEkzUWl4SlFVTnNRaXRDTEV0QlFVMHZRaXhKUVVOT2NVTXNXVUZCWVhKRExFbEJRMkp6UXl4VlFVRlhkRU1zU1VGRFdEUkRMRlZCUVZjMVF5eEpRVU5ZYVVVc2FVSkJRV3RDYWtVc1NVRkRiRUk0UkN4UlFVRlRPVVFzU1VGRFZHMUZMR1ZCUVdkQ2JrVXNTVUZEYUVKclJTeFpRVUZoYkVVc1NVRkRZbTlGTEcxQ1FVRnZRbkJGTEVsQlEzQkNiVXNzYVVKQlFXdENia3NzU1VGRGJFSTBSQ3hSUVVGVE5VUXNTVUZEVkhGRkxHVkJRV2RDY2tVc1NVRkRhRUp6UlN4alFVRmxkRVVzU1VGRFpubEVMRTFCUVU5NlJDeEpRVU5RZDBVc1lVRkJZM2hGTEVsQlEyUjVSU3hsUVVGblFucEZMRWxCUTJoQ2EwUXNWVUZCVjJ4RUxFbEJRMWd5UlN4bFFVRm5Rak5GTEVsQlEyaENNRVVzYVVKQlFXdENNVVVzU1VGRGJFSm5SQ3hUUVVGVmFFUXNTVUZEVm1sR0xHVkJRV2RDYWtZc1NVRkRhRUpyUml4UFFVRlJiRVlzU1VGRFVuTkdMRmxCUVdGMFJpeEpRVU5pZVVZc2MwSkJRWFZDZWtZc1NVRkRka0oxUml4aFFVRmpka1lzU1VGRFpEUkdMRzlDUVVGeFFqVkdMRWxCUTNKQ0swWXNiMEpCUVhGQ0wwWXNTVUZEY2tJMlJpeHpRa0ZCZFVJM1JpeEpRVU4yUWpoR0xITkNRVUYxUWpsR0xFbEJRM1pDYVVjc2MwSkJRWFZDYWtjc1NVRkRka0l5UXl4VlFVRlhNME1zU1VGRFdHdEhMRzlDUVVGeFFteEhMRWxCUTNKQ2QwTXNUMEZCVVhoRExFbEJRMUo1UXl4alFVRmxla01zUzBGSGFrSTNRaXhGUVVGSmJVTXNZVUZCWlN4RFFVTnFRamhLTEVsQlFVOHNTVUZEVUVNc1IwRkJUU3hKUVVOT1F5eEhRVUZOTEVsQlEwNURMRXRCUVZFc1NVRkRVa01zUzBGQlVTeExRVWRXY2swc1JVRkJTV2RETEZOQlFWY3NRMEZEWW1sTExFbEJRVThzU1VGRFVFTXNSMEZCVFN4SlFVTk9ReXhIUVVGTkxFbEJRMDVETEV0QlFWRXNTVUZEVWtNc1MwRkJVU3hKUVVOU1F5eE5RVUZUTEVsQlExUkRMRTlCUVZVc1NVRkRWa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhMUVVGUkxFbEJRMUpETEU5QlFWVXNTVUZEVmtNc1NVRkJUeXhKUVVOUVF5eFBRVUZWTEVsQlExWkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4TFFVRlJMRWxCUTFKRExFOUJRVlVzU1VGRFZrTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEV0QlFWRXNTVUZEVWtNc1QwRkJWU3hKUVVOV1F5eFBRVUZWTEVsQlExWkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFOUJRVlVzU1VGRFZrTXNTMEZCVVN4SlFVTlNReXhOUVVGVExFbEJRMVJETEU5QlFWVXNTVUZEVmtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRXRCUVZFc1NVRkRVa01zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eExRVUZSTEVsQlExSkRMRTlCUVZVc1NVRkRWa01zVDBGQlZTeEpRVU5XUXl4TlFVRlRMRWxCUTFSRExFOUJRVlVzU1VGRFZrTXNTVUZCVHl4SlFVTlFReXhMUVVGUkxFbEJRMUpETEU5QlFWVXNTVUZEVmtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRXRCUVZFc1NVRkRVa01zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhQUVVGVkxFbEJRMVpETEU5QlFWVXNTVUZEVmtNc1MwRkJVU3hKUVVOU1F5eE5RVUZUTEVsQlExUkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4TlFVRlRMRWxCUTFSRExFOUJRVlVzU1VGRFZrTXNTMEZCVVN4SlFVTlNReXhQUVVGVkxFbEJRMVpETEV0QlFWRXNTVUZEVWtNc1MwRkJVU3hKUVVOU1F5eEpRVUZQTEVsQlExQkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4TFFVRlJMRWxCUTFKRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhKUVVGUExFbEJRMUJETEU5QlFWVXNTVUZEVmtNc1MwRkJVU3hKUVVOU1F5eEpRVUZQTEVsQlExQkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4SlFVRlBMRWxCUTFCRExFbEJRVThzU1VGRFVFTXNTMEZCVVN4SlFVTlNReXhKUVVGUExFbEJRMUJETEU5QlFWVXNTVUZEVmtNc1MwRkJVU3hKUVVOU1F5eExRVUZSTEVsQlExSkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4TlFVRlRMRWxCUTFSRExFdEJRVkVzU1VGRFVrTXNUMEZCVlN4SlFVTldReXhOUVVGVExFbEJRMVJETEV0QlFWRXNTVUZEVWtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRTlCUVZVc1NVRkRWa01zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhOUVVGVExFbEJRMVJETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eFBRVUZWTEVsQlExWkRMRXRCUVZFc1NVRkRVa01zUzBGQlVTeEpRVU5TUXl4TFFVRlJMRWxCUTFKRExFMUJRVk1zU1VGRFZFTXNUVUZCVXl4SlFVTlVReXhMUVVGUkxFbEJRMUpETEUxQlFWTXNTVUZEVkVNc1RVRkJVeXhKUVVOVVF5eFJRVUZYTEVsQlExaERMRXRCUVZFc1NVRkRVa01zU1VGQlR5eEpRVU5RUXl4TlFVRlRMRWxCUTFSRExFdEJRVkVzU1VGRFVrTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEVkQlFVMHNTVUZEVGtNc1IwRkJUU3hKUVVOT1F5eEhRVUZOTEVsQlEwNURMRkZCUVZjc1NVRkRXRU1zUjBGQlRTeEpRVU5PUXl4SlFVRlBMRWxCUTFCRExFMUJRVk1zU1VGRFZFTXNTVUZCVHl4SlFVTlFReXhSUVVGWExFbEJRMWhETEVsQlFVOHNTVUZEVUVNc1NVRkJUeXhKUVVOUVF5eEpRVUZQTEVsQlExQkRMRTFCUVZNc1NVRkRWRU1zVFVGQlV5eEpRVU5VUXl4TFFVRlJMRWxCUTFKRExFMUJRVk1zU1VGRFZFTXNUVUZCVXl4SlFVTlVReXhSUVVGWExFbEJRMWhETEV0QlFWRXNTVUZEVWtNc1NVRkJUeXhKUVVOUVF5eE5RVUZUTEVsQlExUkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFZEJRVTBzU1VGRFRrTXNSMEZCVFN4SlFVTk9ReXhIUVVGTkxFbEJRMDVETEZGQlFWY3NTVUZEV0VNc1IwRkJUU3hKUVVOT1F5eEpRVUZQTEVsQlExQkRMRTlCUVZVc1NVRkRWa01zVFVGQlV5eEpRVU5VUXl4SlFVRlBMRWxCUTFCRExGRkJRVmNzU1VGRFdFTXNTVUZCVHl4SlFVTlFReXhKUVVGUExFbEJRMUJETEVsQlFVOHNTVUZEVUVNc1RVRkJVeXhKUVVOVVF5eFRRVUZaTEVsQlExcERMRTFCUVZNc1NVRkRWRU1zU1VGQlR5eEpRVU5RUXl4TFFVRlJMRXRCUTFKRExFdEJRVkVzUzBGRFVrTXNUMEZCVlN4TFFVTldReXhMUVVGUkxFdEJRMUpETEVsQlFVOHNTMEZEVUVNc1NVRkJUeXhMUVVOUVF5eEpRVUZQTEV0QlExQkRMRTFCUVZNc1MwRkRWRU1zVFVGQlV5eExRVU5VUXl4TlFVRlRMRXRCUTFSRExFMUJRVk1zUzBGRFZFTXNUVUZCVXl4TFFVTlVReXhOUVVGVExFdEJRMVJETEUxQlFWTXNTMEZEVkVNc1RVRkJVeXhMUVVOVVF5eFBRVUZWTEV0QlExWkRMRTlCUVZVc1MwRkRWa01zUzBGQlVTeExRVU5TUXl4UFFVRlZMRXRCUTFaRExFOUJRVlVzUzBGRFZrTXNUVUZCVXl4TFFVTlVReXhOUVVGVExFdEJRMVJETEU5QlFWVXNTMEZEVmtNc1QwRkJWU3hMUVVOV1F5eE5RVUZUTEV0QlExUkRMRTFCUVZNc1MwRkRWRU1zUzBGQlVTeExRVU5TUXl4TlFVRlRMRXRCUTFSRExFOUJRVlVzUzBGRFZrTXNTMEZCVVN4TFFVTlNReXhOUVVGVExFdEJRMVJETEZGQlFWY3NTMEZEV0VNc1MwRkJVU3hMUVVOU1F5eExRVUZSTEV0QlExSkRMRXRCUVZFc1MwRkRVa01zUzBGQlVTeExRVU5TUXl4TFFVRlJMRXRCUTFKRExFMUJRVk1zUzBGRFZFTXNTMEZCVVN4TFFVTlNReXhMUVVGUkxFdEJRMUpETEV0QlFWRXNTMEZEVWtNc1MwRkJVU3hMUVVOU1F5eExRVUZSTEV0QlExSkRMRTlCUVZVc1MwRkRWa01zUzBGQlVTeExRVU5TUXl4TlFVRlRMRXRCUTFSRExFMUJRVk1zUzBGRFZFTXNUVUZCVXl4TFFVTlVReXhMUVVGUkxFdEJRMUpETEUxQlFWTXNTMEZEVkVNc1IwRkJUU3hMUVVOT1F5eExRVUZSTEV0QlExSkRMRWxCUVU4c1MwRkRVRU1zVFVGQlV5eExRVU5VUXl4UFFVRlZMRXRCUTFaRExFMUJRVk1zUzBGRFZFTXNTMEZCVVN4TFFVTlNReXhOUVVGVExFdEJRMVJETEVsQlFVOHNTMEZEVUVNc1NVRkJUeXhMUVVOUVF5eEhRVUZOTEV0QlEwNURMRWxCUVU4c1MwRkRVRU1zU1VGQlR5eExRVU5RUXl4SlFVRlBMRXRCUTFCRExFOUJRVlVzUzBGRFZrTXNTVUZCVHl4TFFVTlFReXhMUVVGUkxFdEJRMUpETEUxQlFWTXNTMEZEVkVNc1IwRkJUU3hMUVVOT1F5eE5RVUZUTEV0QlExUkRMRWRCUVUwc1MwRkRUa01zUjBGQlRTeExRVU5PUXl4SlFVRlBMRXRCUTFCRExFbEJRVThzUzBGRFVFTXNTMEZCVVN4TFFVTlNReXhMUVVGUkxFdEJRMUpETEV0QlFWRXNTMEZEVWtNc1RVRkJVeXhMUVVOVVF5eFBRVUZWTEV0QlExWkRMRXRCUVZFc1MwRkRVa01zUzBGQlVTeExRVU5TUXl4TlFVRlRMRXRCUTFSRExFMUJRVk1zUzBGRFZFTXNUMEZCVlN4TFFVTldReXhQUVVGVkxFdEJRMVpETEV0QlFWRXNTMEZEVWtNc1MwRkJVU3hMUVVOU1F5eEpRVUZQTEV0QlExQkRMRTlCUVZVc1MwRkRWa01zVFVGQlV5eExRVU5VUXl4UFFVRlZMRXRCUTFaRExFMUJRVk1zVFVGSFdEVmFMRTlCUVU5blFpeExRVUZMYWtRc1JVRkJTV2RETEZWQlFWVnBTU3hSUVVGUkxGTkJRVlUyVWl4SFFVTXhReXhKUVVGSlF5eEZRVUZKTDJJc1JVRkJTV2RETEZOQlFWTTRXaXhIUVVOcVFtaFJMRVZCUVdsQ0xHbENRVUZPYVZFc1JVRkJhVUpETEU5QlFVOURMR0ZCUVdGR0xFZEJRVXRCTEVWQlEzcEVMMklzUlVGQlNXZERMRk5CUVZNNFdpeEhRVUZQYUZFc1NVRkhVamxNTEVWQlFVa3JUQ3hOUVVOb1FpOU1MRVZCUVVrclRDeE5RVUZOTDB3c1JVRkJTU3RNTEUxQlFVMUVMRWxCUVUxQkxFVkJUVFZDTEZOQlFWTnNTaXhGUVVGTk0wTXNSVUZCVVdsakxFVkJRVTkyVWl4SFFVTTFRakZMTEVWQlFVOXBZeXhKUVVGVmFtTXNSVUZCVDJsakxFZEJRVTkyVWl4SFFVZHFReXhUUVVGVGNFWXNSVUZCVlhSR0xFVkJRVkZyWXl4RlFVRlZlRklzUjBGREwwSXhTeXhGUVVGUE5rUXNWVUZCVlN0RkxFVkJRVlUxU1N4SFFVTXZRakpETEVWQlFVc3pReXhGUVVGUmEyTXNSVUZCVlhoU0xFZEJSM3BDTEZOQlFWTTVRaXhGUVVGWE5Va3NSMEZEYkVKQkxFVkJRVTgyUkN4VFFVRlhjME1zUlVGQlUyNUhMRVZCUVU5RkxFbEJRVXRHTEVWQlFVODJSQ3hWUVVNeFF6ZEVMRVZCUVU4MlJDeFZRVUZWYkVJc1JVRkJTek5ETEVWQlFWRXNVMEZCVlVFc1JVRkJUelpFTEZWQlEyNUVOMFFzUlVGQlR6WkVMRk5CUVZjc1IwRkhjRUlzVTBGQlUzTkRMRVZCUVZWcVJ5eEZRVUZMYVdNc1IwRkhkRUlzVDBGR1NXcGpMRVZCUVVscll5eFBRVUZOUkN4RlFVRlBRU3hGUVVGTFF5eFJRVU4wUW14akxFVkJRVWx0WXl4WlFVRlhSaXhGUVVGUFFTeEZRVUZMUnl4UlFVRlJMRTlCUVZFc1RVRkRlRU5JTEVWQlIxUXNVMEZCVXpGaExFVkJRVTk2UWl4RlFVRlJPRW9zUjBGVmRFSXNUMEZVUVd4Q0xFVkJRVlUxU1N4SFFVTk9RU3hGUVVGUGRVTXNaMEpCUTFSMVNDeEhRVUZOTEZkQlFXRTVTaXhGUVVGUGVVTXNTMEZEZUVJc1lVRkJaWHBETEVWQlFVOHdReXhQUVVOMFFpeFhRVUZoTVVNc1JVRkJUMlVzUjBGRmVFSXJTU3hGUVVGTExFbEJRVWw0UWl4TlFVRk5kMElzUjBGRFpqbEtMRVZCUVU5NVFpeE5RVUZSY1Vrc1JVRkRabTVJTEVWQlFVc3pReXhGUVVGUkxGVkJRVmM0U2l4SFFVTnFRamxLTEVWQlIxUXNVMEZCVTI5RUxFVkJRVXR3UkN4SFFWbGFMRTlCV0VsQkxFVkJRVTkxUWl4VlFVRlpka0lzUlVGQlQzTkNMRmxCUVZrd1F5eEZRVUZYYUVVc1JVRkJVU3h4UWtGRGVFUkJMRVZCUVU4eVFpeFJRVUZWUXl4RlFVRkZReXhQUVVOeVFqZENMRVZCUVU4eVFpeFJRVUZWUXl4RlFVRkZOa0lzYTBKQlEyNUNla1FzUlVGQlR6SkNMRkZCUVZWRExFVkJRVVVyUWl4TlFVTndRbXhETEVWQlFVMTZRaXhGUVVGUkxHdENRVVZvUWpSSkxFVkJRVlUxU1N4SFFVTldRU3hGUVVGUFpTeEZRVUZKTEVkQlExaG1MRVZCUVU5eFFpeFJRVUZUTEVWQlEyaENjMElzUlVGQlN6TkRMRVZCUVZFc1UwRkRZa2NzUlVGQlZXbE1MRXRCUVV0d1RDeEZRVUZSUVN4RlFVRlBReXhQUVVGUlJDeEZRVUZQUlN4TFFVTjBRMFlzUlVGSFZDeFRRVUZUWjBVc1JVRkJXV2hGTEVWQlFWRjFZeXhIUVVNelFpeEhRVUZ6UWl4cFFrRkJXSFpqTEV0QlFYbENRU3hoUVVGclFrY3NSMEZEY0VRc1RVRkJUU3hKUVVGSmJVa3NUVUZCVFN3d1FrRkZaSFJKTEVWQlFVOURMRkZCUTFSM1FpeEZRVUZOZWtJc1JVRkJVWFZqTEVkQlNXeENMRk5CUVZNMVZpeEZRVUZSTTBjc1IwRkRWa0VzUlVGQlQwTXNVMEZCVVVRc1JVRkJUelpGTEZGQlFWVTNSU3hGUVVGUE5rVXNVVUZCVVRkRkxFVkJRVTl0UWl4alFVTXpSQ3hKUVVGSmNXSXNSVUZCVTNoakxFVkJRVTl2UWl4TFFVRkxjRUlzUlVGQlQyOUNMRXRCUVV0U0xFOUJRVk1zU1VGQlRWb3NSVUZEYUVSM1FpeEZRVUZOZUVJc1JVRkJUM2RDTEVsQlFVMHNRMEZCUldkR0xFdEJRVTE0Unl4RlFVRlBOa1VzVVVGQlUzbERMRmRCUVZrc1NVRkhka1IwU0N4RlFVRlBSU3hKUVVGSmEwTXNVVUZEWWxvc1JVRkJTV0VzUjBGQlMyMWhMRVZCUVU5dVlTeEpRVVZzUW5KRExFVkJRVTl0UXl4WFFVRlhka0lzVDBGQlV5eEZRVU16UWpCRkxFVkJRVk4wUml4RlFVRlJMR2xDUVVGclFuZENMRWRCUjNKRExGTkJRVk5wWWl4RlFVRlBhbGNzUlVGQlRXdFhMRWRCUTNCQ0xFbEJRMGxETEVWQlJFbHVWeXhGUVVGTGQwVXNVVUZCVVN4TFFVTkdMRVZCUVVrc1EwRkJSU3hIUVVGSmVFVXNSMEZCVTBFc1JVRkJTMjlYTEUxQlFVMHNTMEZETjBORExFVkJRVk5HTEVWQlFWTXNSMEZEYkVKSExFVkJRVkZJTEVWQlFWTXNSMEZSY2tJc1QwRk1TVVFzUjBGQmMwSXNWVUZCVkd4WExFbEJRMlp4Vnl4RlFVRlRMRkZCUTFSRExFVkJRVkVzU1VGSFNDeERRVUZGUkN4UFFVRlJRU3hGUVVGUlF5eE5RVUZQUVN4SFFVZHNReXhUUVVGVE1WWXNSVUZCVVhCSUxFZEJTMllzUjBGS1MwRXNSVUZCVDBNc1UwRkRWa1FzUlVGQlQyZElMRmRCUVdGb1NDeEZRVUZQWjBnc1YwRkJWMmhJTEVWQlFVOXRRaXhsUVVkUExFbEJRV3hFYmtJc1JVRkJUMjFETEZkQlFWYzJTU3hSUVVGUmFFd3NSVUZCVDJkSUxHRkJRMjVEYUVnc1JVRkJUM2RDTEVsQlFVazRSaXhYUVVGWGNFVXNaVUZCWld4RUxFVkJRVTluU0N4WlFVTTFRMmhJTEVWQlFVOW5TQ3hYUVVGaGFFZ3NSVUZCVDJsSUxGbEJRV01zVDBGR00wTXNRMEZOUVN4SFFVRkpha2dzUlVGQlQwVXNTVUZCU1d0RExFMUJRVThzUTBGRGNFSXNTVUZCU1RKaExFVkJRVXRPTEVWQlFVMTZZeXhGUVVGUFowZ3NXVUZCV1N4SFFVTTVRalpXTEVWQlFWTkZMRVZCUVVkR0xFOUJRMXBETEVWQlFWRkRMRVZCUVVkRUxFMUJSV1lzUjBGQlpTeFZRVUZZUkN4RlFVVkdMRWRCUVdNc1VVRkJWa01zUjBGQmJVSTVZeXhGUVVGUGFVZ3NZMEZCWjBKdlJTeEZRVU0xUTNKSUxFVkJRVmRvUlN4RlFVTlVMR2REUVVGclEzRk1MRVZCUVdkQ0xHRkJRM0pEY2t3c1JVRkJUMmxJTEd0Q1FVTnFRaXhIUVVGakxGVkJRVlkyVml4SFFVRnhRamxqTEVWQlFVOXBTQ3hqUVVGblFuRkZMRVZCUTNKRWRFZ3NSVUZCVjJoRkxFVkJRMVFzYTBOQlFXOURjMHdzUlVGQmEwSXNZVUZEZWtOMFRDeEZRVUZQYVVnc2FVSkJRMnBDTEVOQlEwd3NTVUZCU1hwR0xFVkJRVTE0UWl4RlFVRlBkMElzU1VGRFltZGlMRVZCUVZONFl5eEZRVUZQYjBJc1MwRkJTM0JDTEVWQlFVOXZRaXhMUVVGTFVpeFBRVUZUTEVsQlFVMWFMRVZCUTJoRWQwSXNSVUZCU1dFc1MwRkJUMjFoTEVWQlFVOXVZU3hMUVVOd1FtSXNSVUZCU1dFc1IwRkJTMHdzVDBGQlQwTXNUMEZCVDNWaExFVkJRVTl1WVN4TFFVVm9RMklzUlVGQlNXRXNSMEZCUjNsaExFZEJRVk01WXl4RlFVRlBhVWdzV1VGUE0wSnFTQ3hGUVVGUGJVTXNWMEZCVjJkQ0xFdEJRVXNzUTBGQlEyNUVMRVZCUVU5blNDeFhRVUZaYUVnc1JVRkJUMmxJTEcxQ1FVZHNSR3BJTEVWQlFVOTNRaXhKUVVGSk9FWXNWMEZCVjNSSUxFVkJRVTluU0N4WlFVRmphRWdzUlVGQlQybElMRmxCUTJ4RU0wSXNSVUZCVTNSR0xFVkJRVkVzWTBGQlpTeERRVU01UW5kSExFdEJRVTE0Unl4RlFVRlBaMGdzVjBGRFlrOHNUVUZCVDNaSUxFVkJRVTlwU0N4alFVbHNRbXBJTEVWQlFVOW5TQ3hYUVVGaGFFZ3NSVUZCVDJsSUxGbEJRV01zU1VGSE0wTXNVMEZCVTB3c1JVRkJVelZITEVWQlFWRm5aQ3hIUVVONFFpeEhRVUZKYUdRc1JVRkJUMFVzU1VGQlNXdERMRTFCUVU4c1EwRkZjRUlzU1VGQlNWb3NSVUZCVFhoQ0xFVkJRVTkzUWl4SlFVZGlkV0lzUlVGQlMwNHNSVUZCVFhwakxFVkJRVTgyUlN4VFFVTjBRbkpFTEVWQlFVbHhZaXhQUVVGVFJTeEZRVUZIUml4UFFVTm9RbkppTEVWQlFVbHpZaXhOUVVGUlF5eEZRVUZIUkN4TlFVTm1kR0lzUlVGQlNYbGlMRWxCUVUxNllpeEZRVUZKWVN4SFFVRkhNR0VzUlVGQlIwWXNVMEZCVnl4SFFVVXpRbkppTEVWQlFVbHhZaXhUUVVGWGNtSXNSVUZCU1hsaUxFMUJRM0pDYWxvc1JVRkJWMmhGTEVWQlFWRXNOa0pCUTJwQ2EyUXNTMEZCUzBNc1ZVRkJWVzVrTEVWQlFVODJSU3hWUVVONFFuSkVMRVZCUVVsNVlpeEpRVUZOUml4RlFVRkhSaXhSUVVkbUxFbEJRVWxNTEVWQlFWTjRZeXhGUVVGUGIwSXNTMEZCUzNCQ0xFVkJRVTl2UWl4TFFVRkxVaXhQUVVGVExFbEJRVTFhTEVWQlEyaEVkMElzUlVGQlNXRXNTVUZCVFcxaExFVkJRVTl1WVN4TFFVRlBZaXhGUVVGSllTeEpRVU01UWt3c1QwRkJUMmRDTEV0QlFVdDRRaXhGUVVGSllTeEpRVUZKTWtnc1VVRkJVU3hUUVVGVmIxUXNSMEZEY0VNNVdDeEZRVUZUZEVZc1JVRkJVU3hyUWtGQmJVSXNRMEZEYkVNMll5eFBRVUZSVHl4RlFVTlNTQ3hKUVVGTGVtSXNSVUZCU1dFc1IwRkJSeXRoTEU5QlVXeENMRWxCUVVzc1NVRkJTVEZqTEVWQlFVa3NSVUZCUjBNc1JVRkJTVmdzUlVGQlQyMURMRmRCUVZkMlFpeFBRVUZSUml4RlFVRkpReXhGUVVGSFJDeEpRVUZMTEVOQlEzaEVMRWxCUVVreVl5eEZRVUZMY21Rc1JVRkJUMjFETEZkQlFWZDZRaXhIUVVOMlFqaEdMRVZCUVU4MlZ5eEZRVUZITEVkQlExWTVWaXhGUVVGUk9GWXNSVUZCUnl4SFFVTllWaXhGUVVGWFJpeEZRVUZOYWxjc1IwRkJUU3hIUVVOMlFuRlhMRVZCUVZOR0xFVkJRVk5GTEU5QlEyeENReXhGUVVGUlNDeEZRVUZUUnl4TlFVTnFRa2NzUlVGQmFVSXNTMEZCV0Vvc1JVRkJaMElzUjBGQlRYSmlMRVZCUVVsaExFZEJRVWQzWVN4SlFVRlhMRWRCUXpsRE5Wb3NSVUZCU1N4RFFVTk9kVVFzUzBGQlRVRXNSVUZEVG1Vc1RVRkJUMEVzUlVGRFVITldMRTlCUVZGQkxFVkJRMUpETEUxQlFVOUJMRVZCUTFCSExFbEJRVXRCTEVkQlMwaEtMRWRCUVhGQ0xGVkJRVmhCTEVsQlFYVkNTU3hKUVVOdVEycGFMRVZCUVZkb1JTeEZRVUZSTERaQ1FVTnFRbXRrTEV0QlFVdERMRlZCUVZWT0xFbEJRMnBDTlZvc1JVRkJSV2RoTEVsQlFVMUtMRWRCUlZZM1l5eEZRVUZQZDBJc1NVRkJTVGhHTEZkQlFWZGtMRWRCUVZGMlJDeEZRVU01UW5GRExFVkJRVk4wUml4RlFVRlJMR05CUVdWcFJDeEhRVVZzUTJwRUxFVkJRVTl0UXl4WFFVRlhka0lzVDBGQlV5eEZRVWMzUWxvc1JVRkJUM2RDTEVsQlFVazRZaXhuUWtGQmEwSk9MRVZCUnpkQ2FHUXNSVUZCVDNWQ0xGTkJRVlVzUlVGRGFrSjJRaXhGUVVGUGIwSXNTMEZCU3l0Q0xFdEJRVXR1UkN4RlFVRlBkMElzUzBGRGVFSTRSQ3hGUVVGVGRFWXNSVUZCVVN4WlFVRmhRU3hGUVVGUGQwSXNTMEZEYUVOM1lpeEpRVVZGYUdRc1JVRkJUekJDTEZWQlFUWkRMRmRCUVdwRE1VSXNSVUZCVHpaRkxGRkJRVkV3V1N4alFVZHlRM1prTEVWQlFVOHlRaXhOUVVGUlF5eEZRVUZGSzBJc1MwRkdha0l6UkN4RlFVRlBNa0lzVFVGQlVVTXNSVUZCUlhkRExFOUJTVzVDY0VVc1JVRkJUM2RDTEVsQlFVMHNTMEZEWW5oQ0xFVkJRVTgyUlN4UlFVRlZMRWxCUlc1Q04wVXNSVUZCVDJkSUxGZEJRV0ZvU0N4RlFVRlBhVWdzV1VGQll5eEhRVU42UTJwSUxFVkJRVTl0UXl4WFFVRlhka0lzVDBGQlV5eEZRVWMzUWl4VFFVRlRiVWNzUlVGQlZTOUhMRWRCUTJwQ0xFbEJRVXRCTEVWQlFVODJSU3hSUVVsV0xFOUJTRUZpTEVWQlFWZG9SU3hGUVVGUkxEQkNRVU51UWtFc1JVRkJUelpFTEZWQlFWa3NWMEZEYmtJM1JDeEZRVUZQTWtJc1RVRkJVVU1zUlVGQlJTdENMRTFCU1c1Q0xFZEJRVWt6UkN4RlFVRlBjMFVzVDBGQlVTeERRVU5xUWl4SFFVRjFRaXhYUVVGdVFuUkZMRVZCUVU4MlJTeFJRVWxVTEU5QlNFRTNSU3hGUVVGUGMwVXNVVUZCVlN4TFFVRlBkRVVzUlVGQlR6WkZMRkZCUVZVc1NVRkRla00zUlN4RlFVRlBOa1VzVVVGQlZTeFJRVU5xUWpkRkxFVkJRVTh5UWl4TlFVRlJReXhGUVVGRmQwTXNVVUZIYmtKclFpeEZRVUZUZEVZc1JVRkJVU3hYUVVGWlFTeEZRVUZQYzBVc1VVRkRjRU4wUlN4RlFVRlBjMFVzVDBGQlV5eEhRVXRzUWl4SlFVRkphMW9zUlVGQlNYaGtMRVZCUVU5dlFpeExRVUZMVWl4UFFVTm9RbWxGTEVWQlFWVTNSU3hGUVVGUE5rVXNVVUZEYUVJM1JTeEZRVUZQUXl4VFFVTldORVVzUlVGQlZVRXNSVUZCVVRkRkxFVkJRVTl0UWl4alFVY3pRaXhKUVVSQkxFbEJRVWx6WXl4RlFVRlZOVmtzUlVGRFVESlpMRXRCUVVzc1EwRkZWaXhIUVVSWmVHUXNSVUZCVDI5Q0xFdEJRVXR2WXl4SFFVTmthRmdzVDBGQlUybFlMRVZCU1dwQ0xFMUJSa0Y2V2l4RlFVRlhhRVVzUlVGQlVTeDNRa0ZQZGtJc1IwRkJTWGRrTEVWQlFVa3NSVUZKVGl4UFFVaEJlRm9zUlVGQlYyaEZMRVZCUVZFc01FSkJRVFJDUVN4RlFVRlBOa1VzVTBGRGRFUTNSU3hGUVVGUE5rUXNWVUZCV1N4TFFVRlBOMFFzUlVGQlR6WkZMRkZCUVZVc1UwRkRNME0zUlN4RlFVRlBNa0lzVFVGQlVVTXNSVUZCUlN0Q0xFMUJSMjVDTTBRc1JVRkJUelpGTEZGQlFWVkJMRVZCUldwQ0xFbEJSRUVzU1VGQlNXZElMRVZCUVVrM1RDeEZRVUZQYjBJc1MwRkJTMUlzVDBGRFltbE1MRXRCUVUweVVpeEhRVUZITEVOQlEyUXNTVUZCU1doakxFVkJRVTE0UWl4RlFVRlBkMElzU1VGQlRYaENMRVZCUVU5dlFpeExRVUZMYzJNc1RVRkRia014WkN4RlFVRlBOa1VzVVVGQlZUZEZMRVZCUVU5M1FpeEpRVUZKWjBZc1MwRkROVUpzUWl4RlFVRlRkRVlzUlVGQlVTeGhRVUZqUVN4RlFVRlBOa1VzVTBGRmRFTXNTVUZCU1RoWkxFVkJRVWtzUjBGRFVpeEpRVUZMTEVsQlFVbHFaQ3hMUVVGTFl5eEZRVUZKWVN4SFFVTm9Rbk5pTEVWQlFVVnFaQ3hIUVVGTFl5eEZRVUZKWVN4SFFVRkhNMElzUjBGSGFFSXNTVUZCU1RoaUxFVkJRVk40WXl4RlFVRlBiMElzUzBGQlMzQkNMRVZCUVU5dlFpeExRVUZMVWl4UFFVRlRMRWxCUVUxYUxFVkJRMmhFUVN4RlFVRlBSU3hKUVVGSmEwTXNUMEZCVTFvc1JVRkJTV0VzUzBGQlQyMWhMRVZCUVU5dVlTeEpRVVY0UTB3c1QwRkJUMmRDTEV0QlFVdDRRaXhGUVVGSllTeEpRVUZKTWtnc1VVRkJVU3hUUVVGVmIxUXNSMEZEY0VNc1NVRkJTVkVzUlVGQlNYQmpMRVZCUVVsaExFZEJRVWNyWVN4SFFVTm1PVmdzUlVGQlUzUkdMRVZCUVZFc2JVSkJRVzlDTEVOQlFVVTJZeXhQUVVGUlR5eEZRVUZIU0N4SlFVRkxWeXhOUVVsdVJDeEpRVUZPU2l4SlFVRlRlR1FzUlVGQlQzTkNMRmxCUVdFc1IwRkRha04wUWl4RlFVRlBOa1VzVVVGQlZUZEZMRVZCUVU5cFNDeFpRVUZqYWtnc1JVRkJUMmRJTEZkQlFXRXNSMEZETVVSb1NDeEZRVUZQYlVNc1YwRkJWM1pDTEU5QlFWTXNSVUZETTBKYUxFVkJRVTh5UWl4TlFVRlJReXhGUVVGRkswSXNTMEZIYmtJc1UwRkJVM1ZGTEVWQlFXRnNTU3hIUVVOd1FpeEpRVVZKTm1Rc1JVRkdRVEZXTEVWQlFWTnVTU3hGUVVGUGJVa3NUMEZEYUVJeVZpeEZRVUZYTTFZc1JVRkJUMjlXTEdOQlJXeENVU3hGUVVGVExFZEJSV0lzVDBGQlNTOWtMRVZCUVU4clFpeFRRVUZUYjBjc1IwRkRXRzVKTEVWQlFVOHJRaXhUUVVGVGIwY3NSMEZGY2tKdVNTeEZRVUZQSzBJc1UwRkJVeXRpTEVkQlExZzVaQ3hGUVVGUEswSXNVMEZCVXl0aUxFbEJSMEVzVDBGRWVrSXpWaXhGUVVGVE1sWXNSMEZEUlhSaExFOUJRVThzUzBGRFV5eE5RVUZ5UWpKRkxFVkJRVTh6UlN4UFFVRlBMRWxCUTJoQ01rVXNSVUZCVTBFc1JVRkJUelpXTEUxQlFVMHNSMEZGZEVKRUxFZEJSRUZHTEVWQlFVMUpMRk5CUVZNNVZpeEZRVUZSTEV0QlExWTFSU3hUUVVGVExFMUJSWFJDTkVVc1JVRkJVMEVzUlVGQlR6WldMRTFCUVUwc1IwRkZkRUpFTEVkQlJFRkdMRVZCUVUxSkxGTkJRVk01Vml4RlFVRlJMRXRCUTFZMVJTeFRRVUZUTEUxQlJ6RkNORVVzUlVGQlUwRXNSVUZCVDIxVkxGRkJRVkVzVFVGQlR5eEpRVU16UWpSQ0xFMUJRVTFNTEVsQlFWRkZMRVZCUVU5U0xHZENRVUZyUW5CV0xFZEJRM3BEYmtVc1JVRkJWMmhGTEVWQlFWRXNORUpCUTFvc1NVRkJUVUVzUlVGQlQyMUpMRTlCUVZNc1MwRkhlRUkwVkN4UFFVRlBibEVzWTBGQlkybFRMRWxCUnpsQ0xGTkJRVk51WVN4RlFVRnBRakZFTEVWQlFWRmxMRWRCUTNSQ0xFMUJRVTVCTEVkQlEwWm1MRVZCUVU4eVFpeE5RVUZSUXl4RlFVRkZjME1zVlVGRGFrSnNSU3hGUVVGUGJVVXNhVUpCUVcxQ2JrVXNSVUZCVDNkRExGVkJRM1pDZFVJc1JVRkJZV2hFTEV0QlIzWkNhVVFzUlVGQlYyaEZMRVZCUVZFc2IwTkJRMjVDUVN4RlFVRlBOa1FzVTBGQlZ6bERMRVZCUTJ4Q1ppeEZRVUZQTWtJc1RVRkJVVU1zUlVGQlJTdENMRTFCU1hKQ0xGTkJRVk5JTEVWQlFWRkdMRVZCUVU4MVF5eEhRVU4wUWl4SlFVRkplV1FzUlVGQlV5eEhRVWxpTEU5QlNFbDZaQ3hGUVVGSk5FTXNSVUZCVFRGRExGTkJRMXAxWkN4RlFVRlROMkVzUlVGQlRVVXNUMEZCVHpsRExFbEJSV3BDZVdRc1JVRnlWbFIyWXl4RlFVRkpOMElzUlVGQlNTdE1MRTFCTWpOQ1NHbFJMRTlCUVU5dVVTeG5Ra0ZGU2tZc1JVRkJjVUp4VVN4UFFVRlBReXhoUVVNMVFuSlJMRVZCUVZGdVJDeExRVUZMYlVRc1RVRkRZa01zUlVGQlowSXNWMEZEYkVJc1NVRkZTWGRUTEVWQlEwRkRMRVZCUmtGRExFVkJRVmtzUjBGSFdrTXNSMEZCVXl4RlFVTlVNMlFzUlVGQlUzTkxMRlZCUVZWMFN5eFBRVU4yUWl4SlFVRkxRU3hGUVVOSUxFMUJRVThzUjBGSFZDeEpRVVJCTEVsQlFVbDFaQ3hGUVVGVExFdEJRMHBKTEVWQlFWRXpaQ3hIUVVGUkxFTkJRM1pDTEVsQlFVazBaQ3hGUVVGWlF5eFBRVUZQZGxRc1ZVRkJWWEZVTEVsQlEycERMRWxCUTBkSExGTkJRVk5HTEVsQlExWkJMRVZCUVZrc1IwRkRXa0VzUlVGQldTeFRRVU5hTjFNc1JVRkJUVFpUTEV0QlFXVkJMRVZCUlhKQ0xFMUJRVTFITEZkQlFWY3NkVUpCUVhsQ1NDeEhRVVY0UTBFc1IwRkJZU3hOUVVObVJpeEZRVUZWYm1Jc1MwRkJTM0ZpTEVsQlNXWktMRVZCUVc5RExGRkJSSEJEU1N4SFFVRmhMRkZCUTJsQ0xFbEJRemxDU0N4RlFVRm5Ra2NzUlVGQldTeExRVUZUTEUxQlEzSkRSaXhGUVVGVmJtSXNTMEZCUzJsaUxFVkJRV1ZETEV0QlJUVkNSU3hGUVVGUkxFbEJRVTB6WkN4SFFVRlZNR1FzUlVGQlZURmtMRTlCTjBKNlFpeFRRVGhDV0hWa0xFZEJRVlY2VXl4RlFVRnRRbTVETEUxQlFVMHNTMEZCVFN0VkxFZEJRM3BEUVN4RlFVRlZNV1FzVDBGQlV5eEhRVWQyUWl4UFFVRlBkV1FzUjBGSFRHNWpMRTlCUVU5cFNTeGxRVU5VYWtrc1QwRkJUMmxKTEdWQlFXVTRVaXhQUVVGUkxHZENRVUZwUWl4RFFVTTNRM2hWTEUxQlFVOXhSU3hGUVVOUWNFSXNZMEZCWXl4RlFVTmtaaXhWUVVGVkxFbEJSMXB6VXl4UFFVRlBibEVzWTBGQlowSkJMRWRCZUdoRU9VSXNRMEUwYUVSeFFpeHZRa0ZCV21kVUxGRkJRVEJDYm1Vc1MwRkJTMVlzU1VGQlRTeEhRVUZMTm1VaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTl6WVhndmJHbGlMM05oZUM1cWN5SjkiLCIoZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjtleHBvcnRzLnN0cmlwQk9NPWZ1bmN0aW9uKHQpe3JldHVyblwiXFx1ZmVmZlwiPT09dFswXT90LnN1YnN0cmluZygxKTp0fX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUp2YlM1cWN5SmRMQ0p1WVcxbGN5STZXeUpsZUhCdmNuUnpJaXdpYzNSeWFYQkNUMDBpTENKemRISWlMQ0p6ZFdKemRISnBibWNpTENKallXeHNJaXdpZEdocGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4aFFVTkJRU3hSUVVGUlF5eFRRVUZYTEZOQlFWTkRMRWRCUXpGQ0xFMUJRV1VzVjBGQldFRXNSVUZCU1N4SFFVTkRRU3hGUVVGSlF5eFZRVUZWTEVkQlJXUkVMRXRCU1ZaRkxFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzTW1wekwyeHBZaTlpYjIwdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIHQsZSxvLGkscixuPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcInhtbGJ1aWxkZXJcIiksZT1yZXF1aXJlKFwiLi9kZWZhdWx0c1wiKS5kZWZhdWx0cyxpPWZ1bmN0aW9uKHQpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiB0JiYodC5pbmRleE9mKFwiJlwiKT49MHx8dC5pbmRleE9mKFwiPlwiKT49MHx8dC5pbmRleE9mKFwiPFwiKT49MCl9LHI9ZnVuY3Rpb24odCl7cmV0dXJuXCI8IVtDREFUQVtcIitvKHQpK1wiXV0+XCJ9LG89ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZShcIl1dPlwiLFwiXV1dXT48IVtDREFUQVs+XCIpfSxleHBvcnRzLkJ1aWxkZXI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBvKHQpe3ZhciBvLGkscjtmb3IobyBpbiB0aGlzLm9wdGlvbnM9e30saT1lWy4yXSluLmNhbGwoaSxvKSYmKHI9aVtvXSx0aGlzLm9wdGlvbnNbb109cik7Zm9yKG8gaW4gdCluLmNhbGwodCxvKSYmKHI9dFtvXSx0aGlzLm9wdGlvbnNbb109cil9cmV0dXJuIG8ucHJvdG90eXBlLmJ1aWxkT2JqZWN0PWZ1bmN0aW9uKG8pe3ZhciBzLGEsbCxwLGYsdTtyZXR1cm4gcz10aGlzLm9wdGlvbnMuYXR0cmtleSxhPXRoaXMub3B0aW9ucy5jaGFya2V5LDE9PT1PYmplY3Qua2V5cyhvKS5sZW5ndGgmJnRoaXMub3B0aW9ucy5yb290TmFtZT09PWVbLjJdLnJvb3ROYW1lP289b1tmPU9iamVjdC5rZXlzKG8pWzBdXTpmPXRoaXMub3B0aW9ucy5yb290TmFtZSx1PXRoaXMsbD1mdW5jdGlvbih0LGUpe3ZhciBvLHAsZixjLGgsZDtpZihcIm9iamVjdFwiIT10eXBlb2YgZSl1Lm9wdGlvbnMuY2RhdGEmJmkoZSk/dC5yYXcocihlKSk6dC50eHQoZSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpKXtmb3IoYyBpbiBlKWlmKG4uY2FsbChlLGMpKWZvcihoIGluIHA9ZVtjXSlmPXBbaF0sdD1sKHQuZWxlKGgpLGYpLnVwKCl9ZWxzZSBmb3IoaCBpbiBlKWlmKG4uY2FsbChlLGgpKWlmKHA9ZVtoXSxoPT09cyl7aWYoXCJvYmplY3RcIj09dHlwZW9mIHApZm9yKG8gaW4gcClkPXBbb10sdD10LmF0dChvLGQpfWVsc2UgaWYoaD09PWEpdD11Lm9wdGlvbnMuY2RhdGEmJmkocCk/dC5yYXcocihwKSk6dC50eHQocCk7ZWxzZSBpZihBcnJheS5pc0FycmF5KHApKWZvcihjIGluIHApbi5jYWxsKHAsYykmJih0PVwic3RyaW5nXCI9PXR5cGVvZihmPXBbY10pP3Uub3B0aW9ucy5jZGF0YSYmaShmKT90LmVsZShoKS5yYXcocihmKSkudXAoKTp0LmVsZShoLGYpLnVwKCk6bCh0LmVsZShoKSxmKS51cCgpKTtlbHNlXCJvYmplY3RcIj09dHlwZW9mIHA/dD1sKHQuZWxlKGgpLHApLnVwKCk6XCJzdHJpbmdcIj09dHlwZW9mIHAmJnUub3B0aW9ucy5jZGF0YSYmaShwKT90PXQuZWxlKGgpLnJhdyhyKHApKS51cCgpOihudWxsPT1wJiYocD1cIlwiKSx0PXQuZWxlKGgscC50b1N0cmluZygpKS51cCgpKTtyZXR1cm4gdH0scD10LmNyZWF0ZShmLHRoaXMub3B0aW9ucy54bWxkZWMsdGhpcy5vcHRpb25zLmRvY3R5cGUse2hlYWRsZXNzOnRoaXMub3B0aW9ucy5oZWFkbGVzcyxhbGxvd1N1cnJvZ2F0ZUNoYXJzOnRoaXMub3B0aW9ucy5hbGxvd1N1cnJvZ2F0ZUNoYXJzfSksbChwLG8pLmVuZCh0aGlzLm9wdGlvbnMucmVuZGVyT3B0cyl9LG99KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KMWFXeGtaWEl1YW5NaVhTd2libUZ0WlhNaU9sc2lZblZwYkdSbGNpSXNJbVJsWm1GMWJIUnpJaXdpWlhOallYQmxRMFJCVkVFaUxDSnlaWEYxYVhKbGMwTkVRVlJCSWl3aWQzSmhjRU5FUVZSQklpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbVZ1ZEhKNUlpd2lhVzVrWlhoUFppSXNJbkpsY0d4aFkyVWlMQ0psZUhCdmNuUnpJaXdpUW5WcGJHUmxjaUlzSW05d2RITWlMQ0pyWlhraUxDSnlaV1lpTENKMllXeDFaU0lzSW5Sb2FYTWlMQ0p2Y0hScGIyNXpJaXdpWTJGc2JDSXNJbkJ5YjNSdmRIbHdaU0lzSW1KMWFXeGtUMkpxWldOMElpd2ljbTl2ZEU5aWFpSXNJbUYwZEhKclpYa2lMQ0pqYUdGeWEyVjVJaXdpY21WdVpHVnlJaXdpY205dmRFVnNaVzFsYm5RaUxDSnliMjkwVG1GdFpTSXNJbDkwYUdseklpd2lUMkpxWldOMElpd2lhMlY1Y3lJc0lteGxibWQwYUNJc0ltVnNaVzFsYm5RaUxDSnZZbW9pTENKaGRIUnlJaXdpWTJocGJHUWlMQ0pwYm1SbGVDSXNJbU5rWVhSaElpd2ljbUYzSWl3aWRIaDBJaXdpUVhKeVlYa2lMQ0pwYzBGeWNtRjVJaXdpWld4bElpd2lkWEFpTENKaGRIUWlMQ0owYjFOMGNtbHVaeUlzSW1OeVpXRjBaU0lzSW5odGJHUmxZeUlzSW1SdlkzUjVjR1VpTENKb1pXRmtiR1Z6Y3lJc0ltRnNiRzkzVTNWeWNtOW5ZWFJsUTJoaGNuTWlMQ0psYm1RaUxDSnlaVzVrWlhKUGNIUnpJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxHRkJRMEVzU1VGQlNVRXNSVUZCVTBNc1JVRkJWVU1zUlVGQllVTXNSVUZCWlVNc1JVRkRha1JETEVWQlFWVXNSMEZCUjBNc1pVRkZaazRzUlVGQlZVOHNVVUZCVVN4alFVVnNRazRzUlVGQlYwMHNVVUZCVVN4alFVRmpUaXhUUVVWcVEwVXNSVUZCWjBJc1UwRkJVMHNzUjBGRGRrSXNUVUZCZDBJc2FVSkJRVlpCTEVsQlFYVkNRU3hGUVVGTlF5eFJRVUZSTEUxQlFWRXNSMEZCUzBRc1JVRkJUVU1zVVVGQlVTeE5RVUZSTEVkQlFVdEVMRVZCUVUxRExGRkJRVkVzVFVGQlVTeEpRVWR1U0V3c1JVRkJXU3hUUVVGVFNTeEhRVU51UWl4TlFVRlBMRmxCUVdWT0xFVkJRVmxOTEVkQlFWVXNUMEZIT1VOT0xFVkJRV01zVTBGQlUwMHNSMEZEY2tJc1QwRkJUMEVzUlVGQlRVVXNVVUZCVVN4TlFVRlBMRzlDUVVjNVFrTXNVVUZCVVVNc1VVRkJWU3hYUVVOb1FpeFRRVUZUUVN4RlFVRlJReXhIUVVObUxFbEJRVWxETEVWQlFVdERMRVZCUVV0RExFVkJSMlFzU1VGQlMwWXNTMEZHVEVjc1MwRkJTME1zVVVGQlZTeEhRVU5tU0N4RlFVRk5aQ3hGUVVGVExFbEJSVkpKTEVWQlFWRmpMRXRCUVV0S0xFVkJRVXRFTEV0QlEzWkNSU3hGUVVGUlJDeEZRVUZKUkN4SFFVTmFSeXhMUVVGTFF5eFJRVUZSU2l4SFFVRlBSU3hIUVVWMFFpeEpRVUZMUml4TFFVRlBSQ3hGUVVOTVVpeEZRVUZSWXl4TFFVRkxUaXhGUVVGTlF5eExRVU40UWtVc1JVRkJVVWdzUlVGQlMwTXNSMEZEWWtjc1MwRkJTME1zVVVGQlVVb3NSMEZCVDBVc1IwRjFSbmhDTEU5QmJrWkJTaXhGUVVGUlVTeFZRVUZWUXl4WlFVRmpMRk5CUVZORExFZEJRM1pETEVsQlFVbERMRVZCUVZORExFVkJRVk5ETEVWQlFWRkRMRVZCUVdGRExFVkJVM2hDUXl4RlFYTkZia0lzVDBFNVJVRk1MRVZCUVZWT0xFdEJRVXRETEZGQlFWRkxMRkZCUTNaQ1F5eEZRVUZWVUN4TFFVRkxReXhSUVVGUlRTeFJRVU5qTEVsQlFXaERTeXhQUVVGUFF5eExRVUZMVWl4SFFVRlRVeXhSUVVGclFtUXNTMEZCUzBNc1VVRkJVVk1zVjBGQllURkNMRVZCUVZNc1NVRkJUekJDTEZOQlJYQkdUQ3hGUVVGVlFTeEZRVVJXU3l4RlFVRlhSU3hQUVVGUFF5eExRVUZMVWl4SFFVRlRMRWxCUjJoRFN5eEZRVUZYVml4TFFVRkxReXhSUVVGUlV5eFRRVVZRUXl4RlFXbEZhRUpZTEV0QmFrVklVU3hGUVVOVExGTkJRVk5QTEVWQlFWTkRMRWRCUTNaQ0xFbEJRVWxETEVWQlFVMURMRVZCUVU4elFpeEZRVUZQTkVJc1JVRkJUM1JDTEVWQlFVdEZMRVZCUTNCRExFZEJRVzFDTEdsQ1FVRlNhVUlzUlVGRFRFd3NSVUZCVFZZc1VVRkJVVzFDTEU5QlFWTnNReXhGUVVGak9FSXNSMEZEZGtORUxFVkJRVkZOTEVsQlFVbHNReXhGUVVGVk5rSXNTVUZGZEVKRUxFVkJRVkZQTEVsQlFVbE9MRkZCUlZRc1IwRkJTVThzVFVGQlRVTXNVVUZCVVZJc1NVRkRka0lzU1VGQlMwY3NTMEZCVTBnc1JVRkRXaXhIUVVGTE5VSXNSVUZCVVdNc1MwRkJTMk1zUlVGQlMwY3NSMEZGZGtJc1NVRkJTM1JDTEV0QlJFeHhRaXhGUVVGUlJpeEZRVUZKUnl4SFFVVldOVUlzUlVGQlVUSkNMRVZCUVUxeVFpeEhRVU5rYTBJc1JVRkJWVkFzUlVGQlQwOHNSVUZCVVZVc1NVRkJTVFZDTEVkQlFVMU9MRWRCUVU5dFF5eFZRVWs1UXl4SlFVRkxOMElzUzBGQlQyMUNMRVZCUTFZc1IwRkJTelZDTEVWQlFWRmpMRXRCUVV0akxFVkJRVXR1UWl4SFFVVjJRaXhIUVVSQmNVSXNSVUZCVVVZc1JVRkJTVzVDTEVkQlExSkJMRWxCUVZGVExFZEJRMVlzUjBGQmNVSXNhVUpCUVZaWkxFVkJRMVFzU1VGQlMwUXNTMEZCVVVNc1JVRkRXRzVDTEVWQlFWRnRRaXhGUVVGTlJDeEhRVU5rUml4RlFVRlZRU3hGUVVGUldTeEpRVUZKVml4RlFVRk5iRUlzVVVGSE0wSXNSMEZCU1VZc1NVRkJVVlVzUlVGRlpsRXNSVUZFUlVvc1JVRkJUVllzVVVGQlVXMUNMRTlCUVZOc1F5eEZRVUZqWjBNc1IwRkROMEpJTEVWQlFWRk5MRWxCUVVsc1F5eEZRVUZWSzBJc1NVRkZkRUpJTEVWQlFWRlBMRWxCUVVsS0xGRkJSVzVDTEVkQlFVbExMRTFCUVUxRExGRkJRVkZPTEVkQlEzWkNMRWxCUVV0RExFdEJRVk5FTEVWQlExQTVRaXhGUVVGUll5eExRVUZMWjBJc1JVRkJUME1zUzBGSmNrSktMRVZCUm1sQ0xHbENRVVJ5UW5oQ0xFVkJRVkV5UWl4RlFVRk5ReXhKUVVWU1VpeEZRVUZOVml4UlFVRlJiVUlzVDBGQlUyeERMRVZCUVdOTExFZEJRemRDZDBJc1JVRkJVVlVzU1VGQlNUVkNMRWRCUVV0M1FpeEpRVUZKYkVNc1JVRkJWVWtzU1VGQlVXMURMRXRCUlhaRFdDeEZRVUZSVlN4SlFVRkpOVUlzUlVGQlMwNHNSMEZCVDIxRExFdEJSekZDYkVJc1JVRkJUMDhzUlVGQlVWVXNTVUZCU1RWQ0xFZEJRVTFPTEVkQlFVOXRReXhWUVVkd1FpeHBRa0ZCVmxJc1JVRkRhRUpJTEVWQlFWVlFMRVZCUVU5UExFVkJRVkZWTEVsQlFVazFRaXhIUVVGTmNVSXNSMEZCVDFFc1MwRkZja0lzYVVKQlFWWlNMRWRCUVhOQ1VDeEZRVUZOVml4UlFVRlJiVUlzVDBGQlUyeERMRVZCUVdOblF5eEhRVU53UlVnc1JVRkJWVUVzUlVGQlVWVXNTVUZCU1RWQ0xFZEJRVXQzUWl4SlFVRkpiRU1zUlVGQlZTdENMRWxCUVZGUkxFMUJSWEJETEUxQlFWUlNMRWxCUTBaQkxFVkJRVkVzU1VGRlZrZ3NSVUZCVlVFc1JVRkJVVlVzU1VGQlNUVkNMRVZCUVV0eFFpeEZRVUZOVlN4WlFVRlpSaXhOUVV0eVJDeFBRVUZQV0N4SFFVZFlUaXhGUVVGak1VSXNSVUZCVVRoRExFOUJRVTl1UWl4RlFVRlZWaXhMUVVGTFF5eFJRVUZSTmtJc1QwRkJVVGxDTEV0QlFVdERMRkZCUVZFNFFpeFJRVUZUTEVOQlEyaEdReXhUUVVGVmFFTXNTMEZCUzBNc1VVRkJVU3RDTEZOQlEzWkNReXh2UWtGQmNVSnFReXhMUVVGTFF5eFJRVUZSWjBNc2MwSkJSVGRDZWtJc1JVRkJUME1zUlVGQllVb3NSMEZCVXpaQ0xFbEJRVWxzUXl4TFFVRkxReXhSUVVGUmEwTXNZVUZIYUVSNFF5eEZRWEJIVXl4TFFYZEhha0pQTEV0QlFVdEdJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNNbXB6TDJ4cFlpOWlkV2xzWkdWeUxtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7ZXhwb3J0cy5kZWZhdWx0cz17LjE6e2V4cGxpY2l0Q2hhcmtleTohMSx0cmltOiEwLG5vcm1hbGl6ZTohMCxub3JtYWxpemVUYWdzOiExLGF0dHJrZXk6XCJAXCIsY2hhcmtleTpcIiNcIixleHBsaWNpdEFycmF5OiExLGlnbm9yZUF0dHJzOiExLG1lcmdlQXR0cnM6ITEsZXhwbGljaXRSb290OiExLHZhbGlkYXRvcjpudWxsLHhtbG5zOiExLGV4cGxpY2l0Q2hpbGRyZW46ITEsY2hpbGRrZXk6XCJAQFwiLGNoYXJzQXNDaGlsZHJlbjohMSxpbmNsdWRlV2hpdGVDaGFyczohMSxhc3luYzohMSxzdHJpY3Q6ITAsYXR0ck5hbWVQcm9jZXNzb3JzOm51bGwsYXR0clZhbHVlUHJvY2Vzc29yczpudWxsLHRhZ05hbWVQcm9jZXNzb3JzOm51bGwsdmFsdWVQcm9jZXNzb3JzOm51bGwsZW1wdHlUYWc6XCJcIn0sLjI6e2V4cGxpY2l0Q2hhcmtleTohMSx0cmltOiExLG5vcm1hbGl6ZTohMSxub3JtYWxpemVUYWdzOiExLGF0dHJrZXk6XCIkXCIsY2hhcmtleTpcIl9cIixleHBsaWNpdEFycmF5OiEwLGlnbm9yZUF0dHJzOiExLG1lcmdlQXR0cnM6ITEsZXhwbGljaXRSb290OiEwLHZhbGlkYXRvcjpudWxsLHhtbG5zOiExLGV4cGxpY2l0Q2hpbGRyZW46ITEscHJlc2VydmVDaGlsZHJlbk9yZGVyOiExLGNoaWxka2V5OlwiJCRcIixjaGFyc0FzQ2hpbGRyZW46ITEsaW5jbHVkZVdoaXRlQ2hhcnM6ITEsYXN5bmM6ITEsc3RyaWN0OiEwLGF0dHJOYW1lUHJvY2Vzc29yczpudWxsLGF0dHJWYWx1ZVByb2Nlc3NvcnM6bnVsbCx0YWdOYW1lUHJvY2Vzc29yczpudWxsLHZhbHVlUHJvY2Vzc29yczpudWxsLHJvb3ROYW1lOlwicm9vdFwiLHhtbGRlYzp7dmVyc2lvbjpcIjEuMFwiLGVuY29kaW5nOlwiVVRGLThcIixzdGFuZGFsb25lOiEwfSxkb2N0eXBlOm51bGwscmVuZGVyT3B0czp7cHJldHR5OiEwLGluZGVudDpcIiAgXCIsbmV3bGluZTpcIlxcblwifSxoZWFkbGVzczohMSxjaHVua1NpemU6MWU0LGVtcHR5VGFnOlwiXCIsY2RhdGE6ITF9fX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVJsWm1GMWJIUnpMbXB6SWwwc0ltNWhiV1Z6SWpwYkltVjRjRzl5ZEhNaUxDSmtaV1poZFd4MGN5SXNJakF1TVNJc0ltVjRjR3hwWTJsMFEyaGhjbXRsZVNJc0luUnlhVzBpTENKdWIzSnRZV3hwZW1VaUxDSnViM0p0WVd4cGVtVlVZV2R6SWl3aVlYUjBjbXRsZVNJc0ltTm9ZWEpyWlhraUxDSmxlSEJzYVdOcGRFRnljbUY1SWl3aWFXZHViM0psUVhSMGNuTWlMQ0p0WlhKblpVRjBkSEp6SWl3aVpYaHdiR2xqYVhSU2IyOTBJaXdpZG1Gc2FXUmhkRzl5SWl3aWVHMXNibk1pTENKbGVIQnNhV05wZEVOb2FXeGtjbVZ1SWl3aVkyaHBiR1JyWlhraUxDSmphR0Z5YzBGelEyaHBiR1J5Wlc0aUxDSnBibU5zZFdSbFYyaHBkR1ZEYUdGeWN5SXNJbUZ6ZVc1aklpd2ljM1J5YVdOMElpd2lZWFIwY2s1aGJXVlFjbTlqWlhOemIzSnpJaXdpWVhSMGNsWmhiSFZsVUhKdlkyVnpjMjl5Y3lJc0luUmhaMDVoYldWUWNtOWpaWE56YjNKeklpd2lkbUZzZFdWUWNtOWpaWE56YjNKeklpd2laVzF3ZEhsVVlXY2lMQ0l3TGpJaUxDSndjbVZ6WlhKMlpVTm9hV3hrY21WdVQzSmtaWElpTENKeWIyOTBUbUZ0WlNJc0luaHRiR1JsWXlJc0luWmxjbk5wYjI0aUxDSmxibU52WkdsdVp5SXNJbk4wWVc1a1lXeHZibVVpTENKa2IyTjBlWEJsSWl3aWNtVnVaR1Z5VDNCMGN5SXNJbkJ5WlhSMGVTSXNJbWx1WkdWdWRDSXNJbTVsZDJ4cGJtVWlMQ0pvWldGa2JHVnpjeUlzSW1Ob2RXNXJVMmw2WlNJc0ltTmtZWFJoSWl3aVkyRnNiQ0lzSW5Sb2FYTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBWQkxGRkJRVkZETEZOQlFWY3NRMEZEYWtKRExFZEJRVThzUTBGRFRFTXNhVUpCUVdsQ0xFVkJRMnBDUXl4TlFVRk5MRVZCUTA1RExGZEJRVmNzUlVGRFdFTXNaVUZCWlN4RlFVTm1ReXhSUVVGVExFbEJRMVJETEZGQlFWTXNTVUZEVkVNc1pVRkJaU3hGUVVObVF5eGhRVUZoTEVWQlEySkRMRmxCUVZrc1JVRkRXa01zWTBGQll5eEZRVU5rUXl4VlFVRlhMRXRCUTFoRExFOUJRVThzUlVGRFVFTXNhMEpCUVd0Q0xFVkJRMnhDUXl4VFFVRlZMRXRCUTFaRExHbENRVUZwUWl4RlFVTnFRa01zYlVKQlFXMUNMRVZCUTI1Q1F5eFBRVUZQTEVWQlExQkRMRkZCUVZFc1JVRkRVa01zYlVKQlFXOUNMRXRCUTNCQ1F5eHZRa0ZCY1VJc1MwRkRja0pETEd0Q1FVRnRRaXhMUVVOdVFrTXNaMEpCUVdsQ0xFdEJRMnBDUXl4VFFVRlZMRWxCUlZwRExFZEJRVThzUTBGRFRIWkNMR2xDUVVGcFFpeEZRVU5xUWtNc1RVRkJUU3hGUVVOT1F5eFhRVUZYTEVWQlExaERMR1ZCUVdVc1JVRkRaa01zVVVGQlV5eEpRVU5VUXl4UlFVRlRMRWxCUTFSRExHVkJRV1VzUlVGRFprTXNZVUZCWVN4RlFVTmlReXhaUVVGWkxFVkJRMXBETEdOQlFXTXNSVUZEWkVNc1ZVRkJWeXhMUVVOWVF5eFBRVUZQTEVWQlExQkRMR3RDUVVGclFpeEZRVU5zUWxrc2RVSkJRWFZDTEVWQlEzWkNXQ3hUUVVGVkxFdEJRMVpETEdsQ1FVRnBRaXhGUVVOcVFrTXNiVUpCUVcxQ0xFVkJRMjVDUXl4UFFVRlBMRVZCUTFCRExGRkJRVkVzUlVGRFVrTXNiVUpCUVc5Q0xFdEJRM0JDUXl4dlFrRkJjVUlzUzBGRGNrSkRMR3RDUVVGdFFpeExRVU51UWtNc1owSkJRV2xDTEV0QlEycENTU3hUUVVGVkxFOUJRMVpETEU5QlFWRXNRMEZEVGtNc1VVRkJWeXhOUVVOWVF5eFRRVUZaTEZGQlExcERMRmxCUVdNc1IwRkZhRUpETEZGQlFWTXNTMEZEVkVNc1YwRkJXU3hEUVVOV1F5eFJRVUZWTEVWQlExWkRMRTlCUVZVc1MwRkRWa01zVVVGQlZ5eE5RVVZpUXl4VlFVRlZMRVZCUTFaRExGVkJRVmNzU1VGRFdHUXNVMEZCVlN4SFFVTldaU3hQUVVGUExFMUJTVlpETEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNNbXB6TDJ4cFlpOWtaV1poZFd4MGN5NXFjeUo5IiwiKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIHQscixzLGUsaSxuLG8sYSxoPWZ1bmN0aW9uKHQscil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkocixhcmd1bWVudHMpfX0scD17fS5oYXNPd25Qcm9wZXJ0eTtvPXJlcXVpcmUoXCJzYXhcIikscz1yZXF1aXJlKFwiZXZlbnRzXCIpLHQ9cmVxdWlyZShcIi4vYm9tXCIpLG49cmVxdWlyZShcIi4vcHJvY2Vzc29yc1wiKSxhPXJlcXVpcmUoXCJ0aW1lcnNcIikuc2V0SW1tZWRpYXRlLHI9cmVxdWlyZShcIi4vZGVmYXVsdHNcIikuZGVmYXVsdHMsZT1mdW5jdGlvbih0KXtyZXR1cm5cIm9iamVjdFwiPT10eXBlb2YgdCYmbnVsbCE9dCYmMD09PU9iamVjdC5rZXlzKHQpLmxlbmd0aH0saT1mdW5jdGlvbih0LHIscyl7dmFyIGUsaTtmb3IoZT0wLGk9dC5sZW5ndGg7ZTxpO2UrKylyPSgwLHRbZV0pKHIscyk7cmV0dXJuIHJ9LGV4cG9ydHMuUGFyc2VyPWZ1bmN0aW9uKGMpe2Z1bmN0aW9uIHUodCl7dmFyIHMsZSxpO2lmKHRoaXMucGFyc2VTdHJpbmdQcm9taXNlPWgodGhpcy5wYXJzZVN0cmluZ1Byb21pc2UsdGhpcyksdGhpcy5wYXJzZVN0cmluZz1oKHRoaXMucGFyc2VTdHJpbmcsdGhpcyksdGhpcy5yZXNldD1oKHRoaXMucmVzZXQsdGhpcyksdGhpcy5hc3NpZ25PclB1c2g9aCh0aGlzLmFzc2lnbk9yUHVzaCx0aGlzKSx0aGlzLnByb2Nlc3NBc3luYz1oKHRoaXMucHJvY2Vzc0FzeW5jLHRoaXMpLCEodGhpcyBpbnN0YW5jZW9mIGV4cG9ydHMuUGFyc2VyKSlyZXR1cm4gbmV3IGV4cG9ydHMuUGFyc2VyKHQpO2ZvcihzIGluIHRoaXMub3B0aW9ucz17fSxlPXJbLjJdKXAuY2FsbChlLHMpJiYoaT1lW3NdLHRoaXMub3B0aW9uc1tzXT1pKTtmb3IocyBpbiB0KXAuY2FsbCh0LHMpJiYoaT10W3NdLHRoaXMub3B0aW9uc1tzXT1pKTt0aGlzLm9wdGlvbnMueG1sbnMmJih0aGlzLm9wdGlvbnMueG1sbnNrZXk9dGhpcy5vcHRpb25zLmF0dHJrZXkrXCJuc1wiKSx0aGlzLm9wdGlvbnMubm9ybWFsaXplVGFncyYmKHRoaXMub3B0aW9ucy50YWdOYW1lUHJvY2Vzc29yc3x8KHRoaXMub3B0aW9ucy50YWdOYW1lUHJvY2Vzc29ycz1bXSksdGhpcy5vcHRpb25zLnRhZ05hbWVQcm9jZXNzb3JzLnVuc2hpZnQobi5ub3JtYWxpemUpKSx0aGlzLnJlc2V0KCl9cmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBzIGluIHIpcC5jYWxsKHIscykmJih0W3NdPXJbc10pO2Z1bmN0aW9uIGUoKXt0aGlzLmNvbnN0cnVjdG9yPXR9ZS5wcm90b3R5cGU9ci5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IGUsdC5fX3N1cGVyX189ci5wcm90b3R5cGV9KHUscyksdS5wcm90b3R5cGUucHJvY2Vzc0FzeW5jPWZ1bmN0aW9uKCl7dmFyIHQscjt0cnl7cmV0dXJuIHRoaXMucmVtYWluaW5nLmxlbmd0aDw9dGhpcy5vcHRpb25zLmNodW5rU2l6ZT8odD10aGlzLnJlbWFpbmluZyx0aGlzLnJlbWFpbmluZz1cIlwiLHRoaXMuc2F4UGFyc2VyPXRoaXMuc2F4UGFyc2VyLndyaXRlKHQpLHRoaXMuc2F4UGFyc2VyLmNsb3NlKCkpOih0PXRoaXMucmVtYWluaW5nLnN1YnN0cigwLHRoaXMub3B0aW9ucy5jaHVua1NpemUpLHRoaXMucmVtYWluaW5nPXRoaXMucmVtYWluaW5nLnN1YnN0cih0aGlzLm9wdGlvbnMuY2h1bmtTaXplLHRoaXMucmVtYWluaW5nLmxlbmd0aCksdGhpcy5zYXhQYXJzZXI9dGhpcy5zYXhQYXJzZXIud3JpdGUodCksYSh0aGlzLnByb2Nlc3NBc3luYykpfWNhdGNoKHQpe2lmKHI9dCwhdGhpcy5zYXhQYXJzZXIuZXJyVGhyb3duKXJldHVybiB0aGlzLnNheFBhcnNlci5lcnJUaHJvd249ITAsdGhpcy5lbWl0KHIpfX0sdS5wcm90b3R5cGUuYXNzaWduT3JQdXNoPWZ1bmN0aW9uKHQscixzKXtyZXR1cm4gciBpbiB0Pyh0W3JdaW5zdGFuY2VvZiBBcnJheXx8KHRbcl09W3Rbcl1dKSx0W3JdLnB1c2gocykpOnRoaXMub3B0aW9ucy5leHBsaWNpdEFycmF5P3Rbcl09W3NdOnRbcl09c30sdS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt2YXIgdCxyLHMsbixhO3JldHVybiB0aGlzLnJlbW92ZUFsbExpc3RlbmVycygpLHRoaXMuc2F4UGFyc2VyPW8ucGFyc2VyKHRoaXMub3B0aW9ucy5zdHJpY3Qse3RyaW06ITEsbm9ybWFsaXplOiExLHhtbG5zOnRoaXMub3B0aW9ucy54bWxuc30pLHRoaXMuc2F4UGFyc2VyLmVyclRocm93bj0hMSx0aGlzLnNheFBhcnNlci5vbmVycm9yPShhPXRoaXMsZnVuY3Rpb24odCl7aWYoYS5zYXhQYXJzZXIucmVzdW1lKCksIWEuc2F4UGFyc2VyLmVyclRocm93bilyZXR1cm4gYS5zYXhQYXJzZXIuZXJyVGhyb3duPSEwLGEuZW1pdChcImVycm9yXCIsdCl9KSx0aGlzLnNheFBhcnNlci5vbmVuZD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtpZighdC5zYXhQYXJzZXIuZW5kZWQpcmV0dXJuIHQuc2F4UGFyc2VyLmVuZGVkPSEwLHQuZW1pdChcImVuZFwiLHQucmVzdWx0T2JqZWN0KX19KHRoaXMpLHRoaXMuc2F4UGFyc2VyLmVuZGVkPSExLHRoaXMuRVhQTElDSVRfQ0hBUktFWT10aGlzLm9wdGlvbnMuZXhwbGljaXRDaGFya2V5LHRoaXMucmVzdWx0T2JqZWN0PW51bGwsbj1bXSx0PXRoaXMub3B0aW9ucy5hdHRya2V5LHI9dGhpcy5vcHRpb25zLmNoYXJrZXksdGhpcy5zYXhQYXJzZXIub25vcGVudGFnPWZ1bmN0aW9uKHMpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgbyxhLGgsYyx1O2lmKChoPXt9KVtyXT1cIlwiLCFzLm9wdGlvbnMuaWdub3JlQXR0cnMpZm9yKG8gaW4gdT1lLmF0dHJpYnV0ZXMpcC5jYWxsKHUsbykmJih0IGluIGh8fHMub3B0aW9ucy5tZXJnZUF0dHJzfHwoaFt0XT17fSksYT1zLm9wdGlvbnMuYXR0clZhbHVlUHJvY2Vzc29ycz9pKHMub3B0aW9ucy5hdHRyVmFsdWVQcm9jZXNzb3JzLGUuYXR0cmlidXRlc1tvXSxvKTplLmF0dHJpYnV0ZXNbb10sYz1zLm9wdGlvbnMuYXR0ck5hbWVQcm9jZXNzb3JzP2kocy5vcHRpb25zLmF0dHJOYW1lUHJvY2Vzc29ycyxvKTpvLHMub3B0aW9ucy5tZXJnZUF0dHJzP3MuYXNzaWduT3JQdXNoKGgsYyxhKTpoW3RdW2NdPWEpO3JldHVybiBoW1wiI25hbWVcIl09cy5vcHRpb25zLnRhZ05hbWVQcm9jZXNzb3JzP2kocy5vcHRpb25zLnRhZ05hbWVQcm9jZXNzb3JzLGUubmFtZSk6ZS5uYW1lLHMub3B0aW9ucy54bWxucyYmKGhbcy5vcHRpb25zLnhtbG5za2V5XT17dXJpOmUudXJpLGxvY2FsOmUubG9jYWx9KSxuLnB1c2goaCl9fSh0aGlzKSx0aGlzLnNheFBhcnNlci5vbmNsb3NldGFnPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBzLG8sYSxoLGMsdSxsLG0sZixQO2lmKHU9bi5wb3AoKSxjPXVbXCIjbmFtZVwiXSx0Lm9wdGlvbnMuZXhwbGljaXRDaGlsZHJlbiYmdC5vcHRpb25zLnByZXNlcnZlQ2hpbGRyZW5PcmRlcnx8ZGVsZXRlIHVbXCIjbmFtZVwiXSwhMD09PXUuY2RhdGEmJihzPXUuY2RhdGEsZGVsZXRlIHUuY2RhdGEpLGY9bltuLmxlbmd0aC0xXSx1W3JdLm1hdGNoKC9eXFxzKiQvKSYmIXM/KG89dVtyXSxkZWxldGUgdVtyXSk6KHQub3B0aW9ucy50cmltJiYodVtyXT11W3JdLnRyaW0oKSksdC5vcHRpb25zLm5vcm1hbGl6ZSYmKHVbcl09dVtyXS5yZXBsYWNlKC9cXHN7Mix9L2csXCIgXCIpLnRyaW0oKSksdVtyXT10Lm9wdGlvbnMudmFsdWVQcm9jZXNzb3JzP2kodC5vcHRpb25zLnZhbHVlUHJvY2Vzc29ycyx1W3JdLGMpOnVbcl0sMT09PU9iamVjdC5rZXlzKHUpLmxlbmd0aCYmciBpbiB1JiYhdC5FWFBMSUNJVF9DSEFSS0VZJiYodT11W3JdKSksZSh1KSYmKHU9XCJcIiE9PXQub3B0aW9ucy5lbXB0eVRhZz90Lm9wdGlvbnMuZW1wdHlUYWc6byksbnVsbCE9dC5vcHRpb25zLnZhbGlkYXRvciYmKFA9XCIvXCIrZnVuY3Rpb24oKXt2YXIgdCxyLHM7Zm9yKHM9W10sdD0wLHI9bi5sZW5ndGg7dDxyO3QrKyloPW5bdF0scy5wdXNoKGhbXCIjbmFtZVwiXSk7cmV0dXJuIHN9KCkuY29uY2F0KGMpLmpvaW4oXCIvXCIpLGZ1bmN0aW9uKCl7dmFyIHI7dHJ5e3U9dC5vcHRpb25zLnZhbGlkYXRvcihQLGYmJmZbY10sdSl9Y2F0Y2gocyl7cmV0dXJuIHI9cyx0LmVtaXQoXCJlcnJvclwiLHIpfX0oKSksdC5vcHRpb25zLmV4cGxpY2l0Q2hpbGRyZW4mJiF0Lm9wdGlvbnMubWVyZ2VBdHRycyYmXCJvYmplY3RcIj09dHlwZW9mIHUpaWYodC5vcHRpb25zLnByZXNlcnZlQ2hpbGRyZW5PcmRlcil7aWYoZil7Zm9yKGEgaW4gZlt0Lm9wdGlvbnMuY2hpbGRrZXldPWZbdC5vcHRpb25zLmNoaWxka2V5XXx8W10sbD17fSx1KXAuY2FsbCh1LGEpJiYobFthXT11W2FdKTtmW3Qub3B0aW9ucy5jaGlsZGtleV0ucHVzaChsKSxkZWxldGUgdVtcIiNuYW1lXCJdLDE9PT1PYmplY3Qua2V5cyh1KS5sZW5ndGgmJnIgaW4gdSYmIXQuRVhQTElDSVRfQ0hBUktFWSYmKHU9dVtyXSl9fWVsc2UgaD17fSx0Lm9wdGlvbnMuYXR0cmtleSBpbiB1JiYoaFt0Lm9wdGlvbnMuYXR0cmtleV09dVt0Lm9wdGlvbnMuYXR0cmtleV0sZGVsZXRlIHVbdC5vcHRpb25zLmF0dHJrZXldKSwhdC5vcHRpb25zLmNoYXJzQXNDaGlsZHJlbiYmdC5vcHRpb25zLmNoYXJrZXkgaW4gdSYmKGhbdC5vcHRpb25zLmNoYXJrZXldPXVbdC5vcHRpb25zLmNoYXJrZXldLGRlbGV0ZSB1W3Qub3B0aW9ucy5jaGFya2V5XSksT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModSkubGVuZ3RoPjAmJihoW3Qub3B0aW9ucy5jaGlsZGtleV09dSksdT1oO3JldHVybiBuLmxlbmd0aD4wP3QuYXNzaWduT3JQdXNoKGYsYyx1KToodC5vcHRpb25zLmV4cGxpY2l0Um9vdCYmKG09dSwodT17fSlbY109bSksdC5yZXN1bHRPYmplY3Q9dSx0LnNheFBhcnNlci5lbmRlZD0hMCx0LmVtaXQoXCJlbmRcIix0LnJlc3VsdE9iamVjdCkpfX0odGhpcykscz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24ocyl7dmFyIGUsaTtpZihpPW5bbi5sZW5ndGgtMV0pcmV0dXJuIGlbcl0rPXMsdC5vcHRpb25zLmV4cGxpY2l0Q2hpbGRyZW4mJnQub3B0aW9ucy5wcmVzZXJ2ZUNoaWxkcmVuT3JkZXImJnQub3B0aW9ucy5jaGFyc0FzQ2hpbGRyZW4mJih0Lm9wdGlvbnMuaW5jbHVkZVdoaXRlQ2hhcnN8fFwiXCIhPT1zLnJlcGxhY2UoL1xcXFxuL2csXCJcIikudHJpbSgpKSYmKGlbdC5vcHRpb25zLmNoaWxka2V5XT1pW3Qub3B0aW9ucy5jaGlsZGtleV18fFtdLChlPXtcIiNuYW1lXCI6XCJfX3RleHRfX1wifSlbcl09cyx0Lm9wdGlvbnMubm9ybWFsaXplJiYoZVtyXT1lW3JdLnJlcGxhY2UoL1xcc3syLH0vZyxcIiBcIikudHJpbSgpKSxpW3Qub3B0aW9ucy5jaGlsZGtleV0ucHVzaChlKSksaX19KHRoaXMpLHRoaXMuc2F4UGFyc2VyLm9udGV4dD1zLHRoaXMuc2F4UGFyc2VyLm9uY2RhdGE9ZnVuY3Rpb24odCl7dmFyIHI7aWYocj1zKHQpKXJldHVybiByLmNkYXRhPSEwfX0sdS5wcm90b3R5cGUucGFyc2VTdHJpbmc9ZnVuY3Rpb24ocixzKXt2YXIgZTtudWxsIT1zJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBzJiYodGhpcy5vbihcImVuZFwiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJlc2V0KCkscyhudWxsLHQpfSksdGhpcy5vbihcImVycm9yXCIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmVzZXQoKSxzKHQpfSkpO3RyeXtyZXR1cm5cIlwiPT09KHI9ci50b1N0cmluZygpKS50cmltKCk/KHRoaXMuZW1pdChcImVuZFwiLG51bGwpLCEwKToocj10LnN0cmlwQk9NKHIpLHRoaXMub3B0aW9ucy5hc3luYz8odGhpcy5yZW1haW5pbmc9cixhKHRoaXMucHJvY2Vzc0FzeW5jKSx0aGlzLnNheFBhcnNlcik6dGhpcy5zYXhQYXJzZXIud3JpdGUocikuY2xvc2UoKSl9Y2F0Y2godCl7aWYoZT10LCF0aGlzLnNheFBhcnNlci5lcnJUaHJvd24mJiF0aGlzLnNheFBhcnNlci5lbmRlZClyZXR1cm4gdGhpcy5lbWl0KFwiZXJyb3JcIixlKSx0aGlzLnNheFBhcnNlci5lcnJUaHJvd249ITA7aWYodGhpcy5zYXhQYXJzZXIuZW5kZWQpdGhyb3cgZX19LHUucHJvdG90eXBlLnBhcnNlU3RyaW5nUHJvbWlzZT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IFByb21pc2UoKHI9dGhpcyxmdW5jdGlvbihzLGUpe3JldHVybiByLnBhcnNlU3RyaW5nKHQsZnVuY3Rpb24odCxyKXtyZXR1cm4gdD9lKHQpOnMocil9KX0pKTt2YXIgcn0sdX0oKSxleHBvcnRzLnBhcnNlU3RyaW5nPWZ1bmN0aW9uKHQscixzKXt2YXIgZSxpO3JldHVybiBudWxsIT1zPyhcImZ1bmN0aW9uXCI9PXR5cGVvZiBzJiYoZT1zKSxcIm9iamVjdFwiPT10eXBlb2YgciYmKGk9cikpOihcImZ1bmN0aW9uXCI9PXR5cGVvZiByJiYoZT1yKSxpPXt9KSxuZXcgZXhwb3J0cy5QYXJzZXIoaSkucGFyc2VTdHJpbmcodCxlKX0sZXhwb3J0cy5wYXJzZVN0cmluZ1Byb21pc2U9ZnVuY3Rpb24odCxyKXt2YXIgcztyZXR1cm5cIm9iamVjdFwiPT10eXBlb2YgciYmKHM9ciksbmV3IGV4cG9ydHMuUGFyc2VyKHMpLnBhcnNlU3RyaW5nUHJvbWlzZSh0KX19KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5CaGNuTmxjaTVxY3lKZExDSnVZVzFsY3lJNld5SmliMjBpTENKa1pXWmhkV3gwY3lJc0ltVjJaVzUwY3lJc0ltbHpSVzF3ZEhraUxDSndjbTlqWlhOelNYUmxiU0lzSW5CeWIyTmxjM052Y25NaUxDSnpZWGdpTENKelpYUkpiVzFsWkdsaGRHVWlMQ0ppYVc1a0lpd2labTRpTENKdFpTSXNJbUZ3Y0d4NUlpd2lZWEpuZFcxbGJuUnpJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW5Sb2FXNW5JaXdpVDJKcVpXTjBJaXdpYTJWNWN5SXNJbXhsYm1kMGFDSXNJbWwwWlcwaUxDSnJaWGtpTENKcElpd2liR1Z1SWl3aWNISnZZMlZ6Y3lJc0ltVjRjRzl5ZEhNaUxDSlFZWEp6WlhJaUxDSnpkWEJsY2tOc1lYTnpJaXdpYjNCMGN5SXNJbkpsWmlJc0luWmhiSFZsSWl3aWRHaHBjeUlzSW5CaGNuTmxVM1J5YVc1blVISnZiV2x6WlNJc0luQmhjbk5sVTNSeWFXNW5JaXdpY21WelpYUWlMQ0poYzNOcFoyNVBjbEIxYzJnaUxDSndjbTlqWlhOelFYTjVibU1pTENKdmNIUnBiMjV6SWl3aVkyRnNiQ0lzSW5odGJHNXpJaXdpZUcxc2JuTnJaWGtpTENKaGRIUnlhMlY1SWl3aWJtOXliV0ZzYVhwbFZHRm5jeUlzSW5SaFowNWhiV1ZRY205alpYTnpiM0p6SWl3aWRXNXphR2xtZENJc0ltNXZjbTFoYkdsNlpTSXNJbU5vYVd4a0lpd2ljR0Z5Wlc1MElpd2lZM1J2Y2lJc0ltTnZibk4wY25WamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVgxOXpkWEJsY2w5Zklpd2laWGgwWlc1a0lpd2lZMmgxYm1zaUxDSmxjbklpTENKeVpXMWhhVzVwYm1jaUxDSmphSFZ1YTFOcGVtVWlMQ0p6WVhoUVlYSnpaWElpTENKM2NtbDBaU0lzSW1Oc2IzTmxJaXdpYzNWaWMzUnlJaXdpWlhKeWIzSXhJaXdpWlhKeVZHaHliM2R1SWl3aVpXMXBkQ0lzSW05aWFpSXNJbTVsZDFaaGJIVmxJaXdpUVhKeVlYa2lMQ0p3ZFhOb0lpd2laWGh3YkdsamFYUkJjbkpoZVNJc0ltTm9ZWEpyWlhraUxDSnZiblJsZUhRaUxDSnpkR0ZqYXlJc0lsOTBhR2x6SWl3aWNtVnRiM1psUVd4c1RHbHpkR1Z1WlhKeklpd2ljR0Z5YzJWeUlpd2ljM1J5YVdOMElpd2lkSEpwYlNJc0ltOXVaWEp5YjNJaUxDSmxjbkp2Y2lJc0luSmxjM1Z0WlNJc0ltOXVaVzVrSWl3aVpXNWtaV1FpTENKeVpYTjFiSFJQWW1wbFkzUWlMQ0pGV0ZCTVNVTkpWRjlEU0VGU1MwVlpJaXdpWlhod2JHbGphWFJEYUdGeWEyVjVJaXdpYjI1dmNHVnVkR0ZuSWl3aWJtOWtaU0lzSW5CeWIyTmxjM05sWkV0bGVTSXNJbWxuYm05eVpVRjBkSEp6SWl3aVlYUjBjbWxpZFhSbGN5SXNJbTFsY21kbFFYUjBjbk1pTENKaGRIUnlWbUZzZFdWUWNtOWpaWE56YjNKeklpd2lZWFIwY2s1aGJXVlFjbTlqWlhOemIzSnpJaXdpYm1GdFpTSXNJblZ5YVNJc0lteHZZMkZzSWl3aWIyNWpiRzl6WlhSaFp5SXNJbU5rWVhSaElpd2laVzF3ZEhsVGRISWlMQ0p1YjJSbFRtRnRaU0lzSW05aWFrTnNiMjVsSWl3aWIyeGtJaXdpY3lJc0luaHdZWFJvSWl3aWNHOXdJaXdpWlhod2JHbGphWFJEYUdsc1pISmxiaUlzSW5CeVpYTmxjblpsUTJocGJHUnlaVzVQY21SbGNpSXNJbTFoZEdOb0lpd2ljbVZ3YkdGalpTSXNJblpoYkhWbFVISnZZMlZ6YzI5eWN5SXNJbVZ0Y0hSNVZHRm5JaXdpZG1Gc2FXUmhkRzl5SWl3aWNtVnpkV3gwY3lJc0ltTnZibU5oZENJc0ltcHZhVzRpTENKamFHbHNaR3RsZVNJc0ltTm9ZWEp6UVhORGFHbHNaSEpsYmlJc0ltZGxkRTkzYmxCeWIzQmxjblI1VG1GdFpYTWlMQ0psZUhCc2FXTnBkRkp2YjNRaUxDSjBaWGgwSWl3aVkyaGhja05vYVd4a0lpd2lhVzVqYkhWa1pWZG9hWFJsUTJoaGNuTWlMQ0lqYm1GdFpTSXNJbTl1WTJSaGRHRWlMQ0p6ZEhJaUxDSmpZaUlzSW05dUlpd2ljbVZ6ZFd4MElpd2lkRzlUZEhKcGJtY2lMQ0p6ZEhKcGNFSlBUU0lzSW1GemVXNWpJaXdpVUhKdmJXbHpaU0lzSW5KbGMyOXNkbVVpTENKeVpXcGxZM1FpTENKaElpd2lZaUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeGhRVU5CTEVsQlFVbEJMRVZCUVV0RExFVkJRVlZETEVWQlFWRkRMRVZCUVZORExFVkJRV0ZETEVWQlFWbERMRVZCUVV0RExFVkJRMmhGUXl4RlFVRlBMRk5CUVZORExFVkJRVWxETEVkQlFVc3NUMEZCVHl4WFFVRlpMRTlCUVU5RUxFVkJRVWRGTEUxQlFVMUVMRVZCUVVsRkxHRkJSV2hGUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pTTEVWQlFVMVRMRkZCUVZFc1QwRkZaR0lzUlVGQlUyRXNVVUZCVVN4VlFVVnFRbVlzUlVGQlRXVXNVVUZCVVN4VFFVVmtWaXhGUVVGaFZTeFJRVUZSTEdkQ1FVVnlRbElzUlVGQlpWRXNVVUZCVVN4VlFVRlZVaXhoUVVWcVEwNHNSVUZCVjJNc1VVRkJVU3hqUVVGalpDeFRRVVZxUTBVc1JVRkJWU3hUUVVGVFlTeEhRVU5xUWl4TlFVRjNRaXhwUWtGQlZrRXNSMEZCWjBNc1RVRkJWRUVzUjBGQlowUXNTVUZCT1VKRExFOUJRVTlETEV0QlFVdEdMRWRCUVU5SExGRkJSelZGWml4RlFVRmpMRk5CUVZORExFVkJRVmxsTEVWQlFVMURMRWRCUTNaRExFbEJRVWxETEVWQlFVZERMRVZCUTFBc1NVRkJTMFFzUlVGQlNTeEZRVUZIUXl4RlFVRk5iRUlzUlVGQlYyTXNUMEZCVVVjc1JVRkJTVU1zUlVGQlMwUXNTVUZGTlVOR0xFZEJSRUZKTEVWQlFWVnVRaXhGUVVGWGFVSXNTVUZEVGtZc1JVRkJUVU1zUjBGRmRrSXNUMEZCVDBRc1IwRkhWRXNzVVVGQlVVTXNUMEZCVXl4VFFVRlZReXhIUVVkNlFpeFRRVUZUUkN4RlFVRlBSU3hIUVUxa0xFbEJRVWxRTEVWQlFVdFJMRVZCUVV0RExFVkJRMlFzUjBGT1FVTXNTMEZCUzBNc2JVSkJRWEZDZUVJc1JVRkJTM1ZDTEV0QlFVdERMRzFDUVVGdlFrUXNUVUZEZUVSQkxFdEJRVXRGTEZsQlFXTjZRaXhGUVVGTGRVSXNTMEZCUzBVc1dVRkJZVVlzVFVGRE1VTkJMRXRCUVV0SExFMUJRVkV4UWl4RlFVRkxkVUlzUzBGQlMwY3NUVUZCVDBnc1RVRkRPVUpCTEV0QlFVdEpMR0ZCUVdVelFpeEZRVUZMZFVJc1MwRkJTMGtzWVVGQlkwb3NUVUZETlVOQkxFdEJRVXRMTEdGQlFXVTFRaXhGUVVGTGRVSXNTMEZCUzBzc1lVRkJZMHdzVVVGRmRFTkJMR2RDUVVGblFrNHNVVUZCVVVNc1VVRkROVUlzVDBGQlR5eEpRVUZKUkN4UlFVRlJReXhQUVVGUFJTeEhRVWsxUWl4SlFVRkxVQ3hMUVVaTVZTeExRVUZMVFN4UlFVRlZMRWRCUTJaU0xFVkJRVTAxUWl4RlFVRlRMRWxCUlZKWkxFVkJRVkY1UWl4TFFVRkxWQ3hGUVVGTFVpeExRVU4yUWxNc1JVRkJVVVFzUlVGQlNWSXNSMEZEV2xVc1MwRkJTMDBzVVVGQlVXaENMRWRCUVU5VExFZEJSWFJDTEVsQlFVdFVMRXRCUVU5UExFVkJRMHhtTEVWQlFWRjVRaXhMUVVGTFZpeEZRVUZOVUN4TFFVTjRRbE1zUlVGQlVVWXNSVUZCUzFBc1IwRkRZbFVzUzBGQlMwMHNVVUZCVVdoQ0xFZEJRVTlUTEVkQlJXeENReXhMUVVGTFRTeFJRVUZSUlN4UlFVTm1VaXhMUVVGTFRTeFJRVUZSUnl4VFFVRlhWQ3hMUVVGTFRTeFJRVUZSU1N4UlFVRlZMRTFCUlRkRFZpeExRVUZMVFN4UlFVRlJTeXhuUWtGRFZsZ3NTMEZCUzAwc1VVRkJVVTBzYjBKQlEyaENXaXhMUVVGTFRTeFJRVUZSVFN4clFrRkJiMElzU1VGRmJrTmFMRXRCUVV0TkxGRkJRVkZOTEd0Q1FVRnJRa01zVVVGQlVYWkRMRVZCUVZkM1F5eFpRVVZ3UkdRc1MwRkJTMGNzVVVGNVVsQXNUMEYyVmxNc1UwRkJVMWtzUlVGQlQwTXNSMEZCVlN4SlFVRkxMRWxCUVVreFFpeExRVUZQTUVJc1JVRkJZMnhETEVWQlFWRjVRaXhMUVVGTFV5eEZRVUZSTVVJc1MwRkJUWGxDTEVWQlFVMTZRaXhIUVVGUE1FSXNSVUZCVHpGQ0xFbEJRVkVzVTBGQlV6SkNMRWxCUVZOcVFpeExRVUZMYTBJc1dVRkJZMGdzUlVGQlUwVXNSVUZCUzBVc1ZVRkJXVWdzUlVGQlQwY3NWVUZCVjBvc1JVRkJUVWtzVlVGQldTeEpRVUZKUml4RlFVRlJSaXhGUVVGTlN5eFZRVUZaU2l4RlFVRlBSeXhWUVRaQ2FGRkZMRU5CUVU4eFFpeEZRVFJVVG5oQ0xFZEJlRkpFZDBJc1JVRkJUM2RDTEZWQlFWVmtMR0ZCUVdVc1YwRkRPVUlzU1VGQlNXbENMRVZCUVU5RExFVkJRMWdzU1VGRFJTeFBRVUZKZGtJc1MwRkJTM2RDTEZWQlFWVndReXhSUVVGVldTeExRVUZMVFN4UlFVRlJiVUlzVjBGRGVFTklMRVZCUVZGMFFpeExRVUZMZDBJc1ZVRkRZbmhDTEV0QlFVdDNRaXhWUVVGWkxFZEJRMnBDZUVJc1MwRkJTekJDTEZWQlFWa3hRaXhMUVVGTE1FSXNWVUZCVlVNc1RVRkJUVXdzUjBGREwwSjBRaXhMUVVGTE1FSXNWVUZCVlVVc1ZVRkZkRUpPTEVWQlFWRjBRaXhMUVVGTGQwSXNWVUZCVlVzc1QwRkJUeXhGUVVGSE4wSXNTMEZCUzAwc1VVRkJVVzFDTEZkQlF6bERla0lzUzBGQlMzZENMRlZCUVZsNFFpeExRVUZMZDBJc1ZVRkJWVXNzVDBGQlR6ZENMRXRCUVV0TkxGRkJRVkZ0UWl4VlFVRlhla0lzUzBGQlMzZENMRlZCUVZWd1F5eFJRVU01UlZrc1MwRkJTekJDTEZWQlFWa3hRaXhMUVVGTE1FSXNWVUZCVlVNc1RVRkJUVXdzUjBGREwwSTVReXhGUVVGaGQwSXNTMEZCUzBzc1pVRkZNMElzVFVGQlQzbENMRWRCUlZBc1IwRkVRVkFzUlVGQlRVOHNSMEZEUkRsQ0xFdEJRVXN3UWl4VlFVRlZTeXhWUVVWc1FpeFBRVVJCTDBJc1MwRkJTekJDTEZWQlFWVkxMRmRCUVZrc1JVRkRjRUl2UWl4TFFVRkxaME1zUzBGQlMxUXNTMEZMZGtJMVFpeEZRVUZQZDBJc1ZVRkJWV1lzWVVGQlpTeFRRVUZUTmtJc1JVRkJTek5ETEVWQlFVczBReXhIUVVOcVJDeFBRVUZOTlVNc1MwRkJUekpETEVkQlQweEJMRVZCUVVrelF5eGhRVUZuUWpaRExGRkJRM2hDUml4RlFVRkpNME1zUjBGQlR5eERRVUZETWtNc1JVRkJTVE5ETEV0QlJWZ3lReXhGUVVGSk0wTXNSMEZCU3poRExFdEJRVXRHTEVsQlZHaENiRU1zUzBGQlMwMHNVVUZCVVN0Q0xHTkJSMVJLTEVWQlFVa3pReXhIUVVGUExFTkJRVU0wUXl4SFFVWmFSQ3hGUVVGSk0wTXNSMEZCVHpSRExFZEJXWGhDZGtNc1JVRkJUM2RDTEZWQlFWVm9RaXhOUVVGUkxGZEJRM1pDTEVsQlFVbFBMRVZCUVZNMFFpeEZRVUZUUXl4RlFVRlJReXhGUVZGTFF5eEZRVEJMYmtNc1QwRnFURUY2UXl4TFFVRkxNRU1zY1VKQlEwd3hReXhMUVVGTE1FSXNWVUZCV1c1RUxFVkJRVWx2UlN4UFFVRlBNME1zUzBGQlMwMHNVVUZCVVhORExFOUJRVkVzUTBGREwwTkRMRTFCUVUwc1JVRkRUaTlDTEZkQlFWY3NSVUZEV0U0c1RVRkJUMUlzUzBGQlMwMHNVVUZCVVVVc1VVRkZkRUpTTEV0QlFVc3dRaXhWUVVGVlN5eFhRVUZaTEVWQlF6TkNMMElzUzBGQlN6QkNMRlZCUVZWdlFpeFRRVUZ2UWt3c1JVRlJhRU42UXl4TFFWQk5MRk5CUVZNclF5eEhRVVZrTEVkQlJFRk9MRVZCUVUxbUxGVkJRVlZ6UWl4VlFVTllVQ3hGUVVGTlppeFZRVUZWU3l4VlFVVnVRaXhQUVVSQlZTeEZRVUZOWml4VlFVRlZTeXhYUVVGWkxFVkJRM0pDVlN4RlFVRk5WQ3hMUVVGTExGRkJRVk5sTEV0QlNXcERMME1zUzBGQlN6QkNMRlZCUVZWMVFpeE5RVUZSTEZOQlFWVlNMRWRCUXk5Q0xFOUJRVThzVjBGRFRDeEpRVUZMUVN4RlFVRk5aaXhWUVVGVmQwSXNUVUZGYmtJc1QwRkVRVlFzUlVGQlRXWXNWVUZCVlhkQ0xFOUJRVkVzUlVGRGFrSlVMRVZCUVUxVUxFdEJRVXNzVFVGQlQxTXNSVUZCVFZVc1pVRktaQ3hEUVU5d1FtNUVMRTFCUTBoQkxFdEJRVXN3UWl4VlFVRlZkMElzVDBGQlVTeEZRVU4yUW14RUxFdEJRVXR2UkN4cFFrRkJiVUp3UkN4TFFVRkxUU3hSUVVGUkswTXNaMEpCUTNKRGNrUXNTMEZCUzIxRUxHRkJRV1VzUzBGRGNFSllMRVZCUVZFc1IwRkRVamxDTEVWQlFWVldMRXRCUVV0TkxGRkJRVkZKTEZGQlEzWkNORUlzUlVGQlZYUkRMRXRCUVV0TkxGRkJRVkZuUXl4UlFVTjJRblJETEV0QlFVc3dRaXhWUVVGVk5FSXNWVUZCV1N4VFFVRlZZaXhIUVVOdVF5eFBRVUZQTEZOQlFWTmpMRWRCUTJRc1NVRkJTV3BGTEVWQlFVczBReXhGUVVGVlJDeEZRVUZMZFVJc1JVRkJZekZFTEVWQlIzUkRMRWxCUmtGdFF5eEZRVUZOTEVsQlEwWkxMRWRCUVZjc1NVRkRWa2NzUlVGQlRXNURMRkZCUVZGdFJDeFpRVVZxUWl4SlFVRkxia1VzUzBGRVRGRXNSVUZCVFhsRUxFVkJRVXRITEZkQlJVbzFSU3hGUVVGUmVVSXNTMEZCUzFRc1JVRkJTMUlzUzBGRGFrSnZRaXhMUVVGWGRVSXNSMEZCVTFFc1JVRkJUVzVETEZGQlFWRnhSQ3hoUVVOMFF6RkNMRVZCUVVsMlFpeEhRVUZYTEVsQlJXcENkMElzUlVGQlYwOHNSVUZCVFc1RExGRkJRVkZ6UkN4dlFrRkJjMEoyUml4RlFVRlpiMFVzUlVGQlRXNURMRkZCUVZGelJDeHZRa0ZCY1VKTUxFVkJRVXRITEZkQlFWZHdSU3hIUVVGTlFTeEhRVUZQYVVVc1JVRkJTMGNzVjBGQlYzQkZMRWRCUXpOSmEwVXNSVUZCWldZc1JVRkJUVzVETEZGQlFWRjFSQ3h0UWtGQmNVSjRSaXhGUVVGWmIwVXNSVUZCVFc1RExGRkJRVkYxUkN4dFFrRkJiMEoyUlN4SFFVRlBRU3hGUVVOdVIyMUVMRVZCUVUxdVF5eFJRVUZSY1VRc1YwRkRhRUpzUWl4RlFVRk5ja01zWVVGQllUWkNMRVZCUVV0MVFpeEZRVUZqZEVJc1IwRkZkRU5FTEVWQlFVbDJRaXhIUVVGVE9FTXNSMEZCWjBKMFFpeEhRVmR1UXl4UFFWQkJSQ3hGUVVGSkxGTkJRVmRSTEVWQlFVMXVReXhSUVVGUlRTeHJRa0ZCYjBKMlF5eEZRVUZaYjBVc1JVRkJUVzVETEZGQlFWRk5MR3RDUVVGdFFqSkRMRVZCUVV0UExFMUJRVkZRTEVWQlFVdFBMRXRCUXpWSGNrSXNSVUZCVFc1RExGRkJRVkZGTEZGQlEyaENlVUlzUlVGQlNWRXNSVUZCVFc1RExGRkJRVkZITEZWQlFWa3NRMEZETlVKelJDeEpRVUZMVWl4RlFVRkxVU3hKUVVOV1F5eE5RVUZQVkN4RlFVRkxVeXhSUVVkVWVFSXNSVUZCVFVvc1MwRkJTMGdzU1VFMVFrc3NRMEU0UW5oQ2FrTXNUVUZEU0VFc1MwRkJTekJDTEZWQlFWVjFReXhYUVVGaExGTkJRVlY0UWl4SFFVTndReXhQUVVGUExGZEJRMHdzU1VGQlNYbENMRVZCUVU5RExFVkJRVlUzUlN4RlFVRkxhVVVzUlVGQlRXRXNSVUZCVlc1RExFVkJRVXR2UXl4RlFVRlZReXhGUVVGTFF5eEZRVUZIUXl4RlFXbEVha1VzUjBGb1JFRjJReXhGUVVGTlR5eEZRVUZOYVVNc1RVRkRXa3dzUlVGQlYyNURMRVZCUVVrc1UwRkRWbEVzUlVGQlRXNURMRkZCUVZGdlJTeHJRa0ZCY1VKcVF5eEZRVUZOYmtNc1VVRkJVWEZGTERoQ1FVTTNRekZETEVWQlFVa3NWVUZGU3l4SlFVRmtRU3hGUVVGSmFVTXNVVUZEVGtFc1JVRkJVV3BETEVWQlFVbHBReXhoUVVOTWFrTXNSVUZCU1dsRExFOUJSV0pMTEVWQlFVa3ZRaXhGUVVGTlFTeEZRVUZOY0VRc1QwRkJVeXhIUVVOeVFqWkRMRVZCUVVsTExFZEJRVk56UXl4TlFVRk5MRmRCUVdGV0xFZEJRMnhEUXl4RlFVRlhiRU1zUlVGQlNVc3NWVUZEVWt3c1JVRkJTVXNzUzBGRlVFY3NSVUZCVFc1RExGRkJRVkYxUXl4UFFVTm9RbG9zUlVGQlNVc3NSMEZCVjB3c1JVRkJTVXNzUjBGQlUwOHNVVUZGTVVKS0xFVkJRVTF1UXl4UlFVRlJVU3haUVVOb1FtMUNMRVZCUVVsTExFZEJRVmRNTEVWQlFVbExMRWRCUVZOMVF5eFJRVUZSTEZWQlFWY3NTMEZCUzJoRExGRkJSWFJFV2l4RlFVRkpTeXhIUVVGWFJ5eEZRVUZOYmtNc1VVRkJVWGRGTEdkQ1FVRnJRbnBITEVWQlFWbHZSU3hGUVVGTmJrTXNVVUZCVVhkRkxHZENRVUZwUWpkRExFVkJRVWxMTEVkQlFWVTRRaXhIUVVGWmJrTXNSVUZCU1Vzc1IwRkRlRVlzU1VGQk5VSndSQ3hQUVVGUFF5eExRVUZMT0VNc1IwRkJTemRETEZGQlFXZENhMFFzUzBGQlYwd3NTVUZCVVZFc1JVRkJUVmNzYlVKQlF6VkVia0lzUlVGQlRVRXNSVUZCU1Vzc1MwRkhWbXhGTEVWQlFWRTJSQ3hMUVVOV1FTeEZRVUZwUXl4TFFVRXpRbEVzUlVGQlRXNURMRkZCUVZGNVJTeFRRVUZyUW5SRExFVkJRVTF1UXl4UlFVRlJlVVVzVTBGQlYxb3NSMEZGYkVNc1RVRkJNMEl4UWl4RlFVRk5ia01zVVVGQlVUQkZMRmxCUTJoQ1VpeEZRVUZSTEVsQlFVOHNWMEZEWWl4SlFVRkpha1lzUlVGQlIwTXNSVUZCUzNsR0xFVkJSVm9zU1VGRVFVRXNSVUZCVlN4SFFVTk1NVVlzUlVGQlNTeEZRVUZIUXl4RlFVRk5aMFFzUlVGQlRYQkVMRTlCUVZGSExFVkJRVWxETEVWQlFVdEVMRWxCUTNaRFowVXNSVUZCVDJZc1JVRkJUV3BFTEVkQlEySXdSaXhGUVVGUk4wTXNTMEZCUzIxQ0xFVkJRVXNzVlVGRmNFSXNUMEZCVHpCQ0xFVkJVRXNzUjBGUlVrTXNUMEZCVDJRc1IwRkJWV1VzUzBGQlN5eExRVU0xUWl4WFFVTkZMRWxCUVVrMVJDeEZRVU5LTEVsQlExTlZMRVZCUVUxUkxFVkJRVTF1UXl4UlFVRlJNRVVzVlVGQlZWSXNSVUZCVDBRc1IwRkJTMEVzUlVGQlJVZ3NSMEZCVjI1RExFZEJRemxFTEUxQlFVOUlMRWRCUlZBc1QwRkVRVkFzUlVGQlRVOHNSVUZEUTFjc1JVRkJUVlFzUzBGQlN5eFJRVUZUVkN4SlFVNHZRaXhKUVZWRmEwSXNSVUZCVFc1RExGRkJRVkZ2UlN4dFFrRkJjVUpxUXl4RlFVRk5ia01zVVVGQlVYRkVMRmxCUVRaQ0xHbENRVUZTTVVJc1JVRkRlRVVzUjBGQlMxRXNSVUZCVFc1RExGRkJRVkZ4UlN4MVFrRmpXaXhIUVVGSlNpeEZRVUZITEVOQlIxb3NTVUZCUzJwR0xFdEJSa3hwUml4RlFVRkZPVUlzUlVGQlRXNURMRkZCUVZFNFJTeFZRVUZaWWl4RlFVRkZPVUlzUlVGQlRXNURMRkZCUVZFNFJTeFhRVUZoTEVkQlEzcEVaaXhGUVVGWExFZEJRME53UXl4RlFVTk1ia1FzUlVGQlVYbENMRXRCUVVzd1FpeEZRVUZMTTBNc1MwRkRka0lyUlN4RlFVRlRMMFVzUjBGQlR6SkRMRVZCUVVrelF5eEpRVVYwUW1sR0xFVkJRVVU1UWl4RlFVRk5ia01zVVVGQlVUaEZMRlZCUVZWb1JDeExRVUZMYVVNc1ZVRkRlRUp3UXl4RlFVRkpMRk5CUTNGQ0xFbEJRVFZDTDBNc1QwRkJUME1zUzBGQlN6aERMRWRCUVVzM1F5eFJRVUZuUW10RUxFdEJRVmRNTEVsQlFWRlJMRVZCUVUxWExHMUNRVU0xUkc1Q0xFVkJRVTFCTEVWQlFVbExMRlZCZGtKYWFVSXNSVUZCVHl4SFFVTklaQ3hGUVVGTmJrTXNVVUZCVVVrc1YwRkJWM1ZDTEVsQlF6TkNjMElzUlVGQlMyUXNSVUZCVFc1RExGRkJRVkZKTEZOQlFWZDFRaXhGUVVGSlVTeEZRVUZOYmtNc1VVRkJVVWtzWjBKQlEzcERkVUlzUlVGQlNWRXNSVUZCVFc1RExGRkJRVkZKTEZkQlJYUkNLMElzUlVGQlRXNURMRkZCUVZFclJTeHBRa0ZCYlVJMVF5eEZRVUZOYmtNc1VVRkJVV2RETEZkQlFWZE1MRWxCUXpkRWMwSXNSVUZCUzJRc1JVRkJUVzVETEZGQlFWRm5ReXhUUVVGWFRDeEZRVUZKVVN4RlFVRk5ia01zVVVGQlVXZERMR2RDUVVONlEwd3NSVUZCU1ZFc1JVRkJUVzVETEZGQlFWRm5ReXhWUVVWMlFuQkVMRTlCUVU5dlJ5eHZRa0ZCYjBKeVJDeEhRVUZMTjBNc1QwRkJVeXhKUVVNelEyMUZMRVZCUVV0a0xFVkJRVTF1UXl4UlFVRlJPRVVzVlVGQldXNUVMRWRCUldwRFFTeEZRVUZOYzBJc1JVRmxWaXhQUVVGSlppeEZRVUZOY0VRc1QwRkJVeXhGUVVOV2NVUXNSVUZCVFhKRExHRkJRV0Z0UlN4RlFVRkhTQ3hGUVVGVmJrTXNTVUZGYmtOUkxFVkJRVTF1UXl4UlFVRlJhVVlzWlVGRGFFSnFRaXhGUVVGTmNrTXNSMEZEVGtFc1JVRkJUU3hKUVVOR2JVTXNSMEZCV1VVc1IwRkZiRUkzUWl4RlFVRk5WU3hoUVVGbGJFSXNSVUZEY2tKUkxFVkJRVTFtTEZWQlFWVjNRaXhQUVVGUkxFVkJRMnBDVkN4RlFVRk5WQ3hMUVVGTExFMUJRVTlUTEVWQlFVMVZMR2RDUVRGR1ZDeERRVFpHZWtKdVJDeE5RVU5JZFVNc1JVRkJVeXhUUVVGVlJTeEhRVU5xUWl4UFFVRlBMRk5CUVZNclF5eEhRVU5rTEVsQlFVbERMRVZCUVZkc1FpeEZRVVZtTEVkQlJFRkJMRVZCUVVrdlFpeEZRVUZOUVN4RlFVRk5jRVFzVDBGQlV5eEhRV04yUWl4UFFWcEJiVVlzUlVGQlJXcERMRWxCUVZsclJDeEZRVU5XTDBNc1JVRkJUVzVETEZGQlFWRnZSU3hyUWtGQmIwSnFReXhGUVVGTmJrTXNVVUZCVVhGRkxIVkNRVUY1UW14RExFVkJRVTF1UXl4UlFVRlJLMFVzYTBKQlFXOUNOVU1zUlVGQlRXNURMRkZCUVZGdlJpeHRRa0ZCZVVRc1MwRkJjRU5HTEVWQlFVdFlMRkZCUVZFc1QwRkJVU3hKUVVGSmFFTXNWVUZEZWtzd1FpeEZRVUZGT1VJc1JVRkJUVzVETEZGQlFWRTRSU3hWUVVGWllpeEZRVUZGT1VJc1JVRkJUVzVETEZGQlFWRTRSU3hYUVVGaExFbEJRM3BFU3l4RlFVRlpMRU5CUTFaRkxGRkJRVk1zWVVGRlJISkVMRWRCUVZkclJDeEZRVU5xUWk5RExFVkJRVTF1UXl4UlFVRlJVU3haUVVOb1FqSkZMRVZCUVZWdVJDeEhRVUZYYlVRc1JVRkJWVzVFTEVkQlFWTjFReXhSUVVGUkxGVkJRVmNzUzBGQlMyaERMRkZCUld4Rk1FSXNSVUZCUlRsQ0xFVkJRVTF1UXl4UlFVRlJPRVVzVlVGQlZXaEVMRXRCUVV0eFJDeEpRVVV4UW14Q0xFZEJha0pLTEVOQmIwSk9ka1VzVFVGRFNFRXNTMEZCU3pCQ0xGVkJRVlZoTEU5QlFWTkJMRVZCUTJwQ2RrTXNTMEZCU3pCQ0xGVkJRVlZyUlN4UlFVTmlMRk5CUVZOS0xFZEJRMlFzU1VGQlNXcENMRVZCUlVvc1IwRkVRVUVzUlVGQlNXaERMRVZCUVU5cFJDeEhRVVZVTEU5QlFVOXFRaXhGUVVGRlRDeFBRVUZSTEVsQlRYcENka1VzUlVGQlQzZENMRlZCUVZWcVFpeFpRVUZqTEZOQlFWTXlSaXhGUVVGTFF5eEhRVU16UXl4SlFVRkpka1VzUlVGRFR5eE5RVUZPZFVVc1IwRkJOa0lzYlVKQlFWQkJMRWxCUTNwQ09VWXNTMEZCU3l0R0xFZEJRVWNzVFVGQlR5eFRRVUZUUXl4SFFVVjBRaXhQUVVSQmFFY3NTMEZCUzBjc1VVRkRSVEpHTEVWQlFVY3NTMEZCVFVVc1MwRkZiRUpvUnl4TFFVRkxLMFlzUjBGQlJ5eFJRVUZUTEZOQlFWTjRSU3hIUVVWNFFpeFBRVVJCZGtJc1MwRkJTMGNzVVVGRFJUSkdMRVZCUVVkMlJTeE5RVWRrTEVsQlJVVXNUVUZCYlVJc1RVRkVia0p6UlN4RlFVRk5RU3hGUVVGSlNTeFpRVU5HY0VRc1VVRkRUamRETEV0QlFVdG5ReXhMUVVGTExFMUJRVThzVDBGRFZpeEpRVVZVTmtRc1JVRkJUVFZJTEVWQlFVbHBTU3hUUVVGVFRDeEhRVU5tTjBZc1MwRkJTMDBzVVVGQlVUWkdMRTlCUTJadVJ5eExRVUZMZDBJc1ZVRkJXWEZGTEVWQlEycENja2dzUlVGQllYZENMRXRCUVV0TExHTkJRMWhNTEV0QlFVc3dRaXhYUVVWUU1VSXNTMEZCU3pCQ0xGVkJRVlZETEUxQlFVMXJSU3hIUVVGTGFrVXNVMEZEYWtNc1RVRkJUMFVzUjBGRlVDeEhRVVJCVUN4RlFVRk5UeXhIUVVOQk9VSXNTMEZCU3pCQ0xGVkJRVlZMTEZsQlFXRXZRaXhMUVVGTE1FSXNWVUZCVlhkQ0xFMUJSUzlETEU5QlJFRnNSQ3hMUVVGTFowTXNTMEZCU3l4UlFVRlRWQ3hIUVVOYWRrSXNTMEZCU3pCQ0xGVkJRVlZMTEZkQlFWa3NSVUZETjBJc1IwRkJTUzlDTEV0QlFVc3dRaXhWUVVGVmQwSXNUVUZEZUVJc1RVRkJUVE5DTEVsQlMxbzFRaXhGUVVGUGQwSXNWVUZCVld4Q0xHMUNRVUZ4UWl4VFFVRlRORVlzUjBGRE4wTXNUMEZCVHl4SlFVRkpUeXhUUVVGclFqTkVMRVZCVlRGQ2VrTXNTMEZVVFN4VFFVRlRjVWNzUlVGQlUwTXNSMEZEZGtJc1QwRkJUemRFTEVWQlFVMTJReXhaUVVGWk1rWXNSVUZCU3l4VFFVRlRkRVVzUlVGQlMzaENMRWRCUXpGRExFOUJRVWwzUWl4RlFVTkxLMFVzUlVGQlR5OUZMRWRCUlZBNFJTeEZRVUZSZEVjc1VVRk9TaXhKUVVGVk1FTXNSMEZoZUVJNVF5eEZRVE5VVVN4SFFTdFVha0pFTEZGQlFWRlJMRmxCUVdNc1UwRkJVekpHTEVWQlFVdFZMRVZCUVVkRExFZEJRM0pETEVsQlFVbFdMRVZCUVVsNFJpeEZRV1ZTTEU5QlpGTXNUVUZCVEd0SExFZEJRMlVzYlVKQlFVNUJMRWxCUTFSV0xFVkJRVXRWTEVkQlJWVXNhVUpCUVU1RUxFbEJRMVJxUnl4RlFVRlZhVWNzUzBGSFN5eHRRa0ZCVGtFc1NVRkRWRlFzUlVGQlMxTXNSMEZGVUdwSExFVkJRVlVzU1VGRlNDeEpRVUZKV2l4UlFVRlJReXhQUVVGUFZ5eEhRVU5rU2l4WlFVRlpNa1lzUlVGQlMwTXNTVUZIYWtOd1J5eFJRVUZSVHl4dFFrRkJjVUlzVTBGQlV6UkdMRVZCUVV0VkxFZEJRM3BETEVsQlFVbHFSeXhGUVV0S0xFMUJTbWxDTEdsQ1FVRk9hVWNzU1VGRFZHcEhMRVZCUVZWcFJ5eEhRVVZJTEVsQlFVazNSeXhSUVVGUlF5eFBRVUZQVnl4SFFVTmtUQ3h0UWtGQmJVSTBSaXhOUVVkc1EzUkdMRXRCUVV0UUlpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc01tcHpMMnhwWWk5d1lYSnpaWEl1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgZTtlPW5ldyBSZWdFeHAoLyg/IXhtbG5zKV4uKjovKSxleHBvcnRzLm5vcm1hbGl6ZT1mdW5jdGlvbihlKXtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpfSxleHBvcnRzLmZpcnN0Q2hhckxvd2VyQ2FzZT1mdW5jdGlvbihlKXtyZXR1cm4gZS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKStlLnNsaWNlKDEpfSxleHBvcnRzLnN0cmlwUHJlZml4PWZ1bmN0aW9uKHIpe3JldHVybiByLnJlcGxhY2UoZSxcIlwiKX0sZXhwb3J0cy5wYXJzZU51bWJlcnM9ZnVuY3Rpb24oZSl7cmV0dXJuIGlzTmFOKGUpfHwoZT1lJTE9PTA/cGFyc2VJbnQoZSwxMCk6cGFyc2VGbG9hdChlKSksZX0sZXhwb3J0cy5wYXJzZUJvb2xlYW5zPWZ1bmN0aW9uKGUpe3JldHVybi9eKD86dHJ1ZXxmYWxzZSkkL2kudGVzdChlKSYmKGU9XCJ0cnVlXCI9PT1lLnRvTG93ZXJDYXNlKCkpLGV9fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluQnliMk5sYzNOdmNuTXVhbk1pWFN3aWJtRnRaWE1pT2xzaWNISmxabWw0VFdGMFkyZ2lMQ0pTWldkRmVIQWlMQ0psZUhCdmNuUnpJaXdpYm05eWJXRnNhWHBsSWl3aWMzUnlJaXdpZEc5TWIzZGxja05oYzJVaUxDSm1hWEp6ZEVOb1lYSk1iM2RsY2tOaGMyVWlMQ0pqYUdGeVFYUWlMQ0p6YkdsalpTSXNJbk4wY21sd1VISmxabWw0SWl3aWNtVndiR0ZqWlNJc0luQmhjbk5sVG5WdFltVnljeUlzSW1selRtRk9JaXdpY0dGeWMyVkpiblFpTENKd1lYSnpaVVpzYjJGMElpd2ljR0Z5YzJWQ2IyOXNaV0Z1Y3lJc0luUmxjM1FpTENKallXeHNJaXdpZEdocGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4aFFVTkJMRWxCUVVsQkxFVkJSVXBCTEVWQlFXTXNTVUZCU1VNc1QwRkJUeXhwUWtGRmVrSkRMRkZCUVZGRExGVkJRVmtzVTBGQlUwTXNSMEZETTBJc1QwRkJUMEVzUlVGQlNVTXNaVUZIWWtnc1VVRkJVVWtzYlVKQlFYRkNMRk5CUVZOR0xFZEJRM0JETEU5QlFVOUJMRVZCUVVsSExFOUJRVThzUjBGQlIwWXNZMEZCWjBKRUxFVkJRVWxKTEUxQlFVMHNTVUZIYWtST0xGRkJRVkZQTEZsQlFXTXNVMEZCVTB3c1IwRkROMElzVDBGQlQwRXNSVUZCU1Uwc1VVRkJVVllzUlVGQllTeExRVWRzUTBVc1VVRkJVVk1zWVVGQlpTeFRRVUZUVUN4SFFVazVRaXhQUVVoTFVTeE5RVUZOVWl4TFFVTlVRU3hGUVVGTlFTeEZRVUZOTEVkQlFVMHNSVUZCU1ZNc1UwRkJVMVFzUlVGQlN5eEpRVUZOVlN4WFFVRlhWaXhKUVVWb1JFRXNSMEZIVkVZc1VVRkJVV0VzWTBGQlowSXNVMEZCVTFnc1IwRkpMMElzVFVGSVNTeHZRa0ZCYjBKWkxFdEJRVXRhTEV0QlF6TkNRU3hGUVVFMFFpeFRRVUYwUWtFc1JVRkJTVU1zWlVGRlRFUXNTMEZIVW1Fc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3d5YW5NdmJHbGlMM0J5YjJObGMzTnZjbk11YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgcixlLHQscyxvPXt9Lmhhc093blByb3BlcnR5O2U9cmVxdWlyZShcIi4vZGVmYXVsdHNcIikscj1yZXF1aXJlKFwiLi9idWlsZGVyXCIpLHQ9cmVxdWlyZShcIi4vcGFyc2VyXCIpLHM9cmVxdWlyZShcIi4vcHJvY2Vzc29yc1wiKSxleHBvcnRzLmRlZmF1bHRzPWUuZGVmYXVsdHMsZXhwb3J0cy5wcm9jZXNzb3JzPXMsZXhwb3J0cy5WYWxpZGF0aW9uRXJyb3I9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gZShyKXt0aGlzLm1lc3NhZ2U9cn1yZXR1cm4gZnVuY3Rpb24ocixlKXtmb3IodmFyIHQgaW4gZSlvLmNhbGwoZSx0KSYmKHJbdF09ZVt0XSk7ZnVuY3Rpb24gcygpe3RoaXMuY29uc3RydWN0b3I9cn1zLnByb3RvdHlwZT1lLnByb3RvdHlwZSxyLnByb3RvdHlwZT1uZXcgcyxyLl9fc3VwZXJfXz1lLnByb3RvdHlwZX0oZSxFcnJvciksZX0oKSxleHBvcnRzLkJ1aWxkZXI9ci5CdWlsZGVyLGV4cG9ydHMuUGFyc2VyPXQuUGFyc2VyLGV4cG9ydHMucGFyc2VTdHJpbmc9dC5wYXJzZVN0cmluZyxleHBvcnRzLnBhcnNlU3RyaW5nUHJvbWlzZT10LnBhcnNlU3RyaW5nUHJvbWlzZX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmh0YkRKcWN5NXFjeUpkTENKdVlXMWxjeUk2V3lKaWRXbHNaR1Z5SWl3aVpHVm1ZWFZzZEhNaUxDSndZWEp6WlhJaUxDSndjbTlqWlhOemIzSnpJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW1WNGNHOXlkSE1pTENKV1lXeHBaR0YwYVc5dVJYSnliM0lpTENKemRYQmxja05zWVhOeklpd2liV1Z6YzJGblpTSXNJblJvYVhNaUxDSmphR2xzWkNJc0luQmhjbVZ1ZENJc0ltdGxlU0lzSW1OaGJHd2lMQ0pqZEc5eUlpd2lZMjl1YzNSeWRXTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmZYM04xY0dWeVgxOGlMQ0psZUhSbGJtUWlMQ0pGY25KdmNpSXNJa0oxYVd4a1pYSWlMQ0pRWVhKelpYSWlMQ0p3WVhKelpWTjBjbWx1WnlJc0luQmhjbk5sVTNSeWFXNW5VSEp2YldselpTSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4aFFVTkJMRWxCUVVsQkxFVkJRVk5ETEVWQlFWVkRMRVZCUVZGRExFVkJSVGRDUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pLTEVWQlFWZExMRkZCUVZFc1kwRkZia0pPTEVWQlFWVk5MRkZCUVZFc1lVRkZiRUpLTEVWQlFWTkpMRkZCUVZFc1dVRkZha0pJTEVWQlFXRkhMRkZCUVZFc1owSkJSWEpDUXl4UlFVRlJUaXhUUVVGWFFTeEZRVUZUUVN4VFFVVTFRazBzVVVGQlVVb3NWMEZCWVVFc1JVRkZja0pKTEZGQlFWRkRMR2RDUVVGclFpeFRRVUZWUXl4SFFVZHNReXhUUVVGVFJDeEZRVUZuUWtVc1IwRkRka0pETEV0QlFVdEVMRkZCUVZWQkxFVkJSMnBDTEU5QmRFSlRMRk5CUVZORkxFVkJRVTlETEVkQlFWVXNTVUZCU3l4SlFVRkpReXhMUVVGUFJDeEZRVUZqVkN4RlFVRlJWeXhMUVVGTFJpeEZRVUZSUXl4TFFVRk5SaXhGUVVGTlJTeEhRVUZQUkN4RlFVRlBReXhKUVVGUkxGTkJRVk5GTEVsQlFWTk1MRXRCUVV0TkxGbEJRV05NTEVWQlFWTkpMRVZCUVV0RkxGVkJRVmxNTEVWQlFVOUxMRlZCUVZkT0xFVkJRVTFOTEZWQlFWa3NTVUZCU1VZc1JVRkJVVW9zUlVGQlRVOHNWVUZCV1U0c1JVRkJUMHNzVlVGblFtaFJSU3hEUVVGUFdpeEZRVkZPWVN4UFFVWk5ZaXhGUVZCcFFpeEhRVmN4UWtRc1VVRkJVV1VzVVVGQlZYUkNMRVZCUVZGelFpeFJRVVV4UW1Zc1VVRkJVV2RDTEU5QlFWTnlRaXhGUVVGUGNVSXNUMEZGZUVKb1FpeFJRVUZSYVVJc1dVRkJZM1JDTEVWQlFVOXpRaXhaUVVVM1FtcENMRkZCUVZGclFpeHRRa0ZCY1VKMlFpeEZRVUZQZFVJc2NVSkJSVzVEVml4TFFVRkxTaUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiREpxY3k5c2FXSXZlRzFzTW1wekxtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9e0Rpc2Nvbm5lY3RlZDoxLFByZWNlZGluZzoyLEZvbGxvd2luZzo0LENvbnRhaW5zOjgsQ29udGFpbmVkQnk6MTYsSW1wbGVtZW50YXRpb25TcGVjaWZpYzozMn19KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWtSdlkzVnRaVzUwVUc5emFYUnBiMjR1YW5NaVhTd2libUZ0WlhNaU9sc2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJa1JwYzJOdmJtNWxZM1JsWkNJc0lsQnlaV05sWkdsdVp5SXNJa1p2Ykd4dmQybHVaeUlzSWtOdmJuUmhhVzV6SWl3aVEyOXVkR0ZwYm1Wa1Fua2lMQ0pKYlhCc1pXMWxiblJoZEdsdmJsTndaV05wWm1saklpd2lZMkZzYkNJc0luUm9hWE1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVkJMRTlCUVU5RExGRkJRVlVzUTBGRFprTXNZVUZCWXl4RlFVTmtReXhWUVVGWExFVkJRMWhETEZWQlFWY3NSVUZEV0VNc1UwRkJWU3hGUVVOV1F5eFpRVUZoTEVkQlEySkRMSFZDUVVGM1FpeE5RVWQ2UWtNc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5RWIyTjFiV1Z1ZEZCdmMybDBhVzl1TG1wekluMD0iLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz17RWxlbWVudDoxLEF0dHJpYnV0ZToyLFRleHQ6MyxDRGF0YTo0LEVudGl0eVJlZmVyZW5jZTo1LEVudGl0eURlY2xhcmF0aW9uOjYsUHJvY2Vzc2luZ0luc3RydWN0aW9uOjcsQ29tbWVudDo4LERvY3VtZW50OjksRG9jVHlwZToxMCxEb2N1bWVudEZyYWdtZW50OjExLE5vdGF0aW9uRGVjbGFyYXRpb246MTIsRGVjbGFyYXRpb246MjAxLFJhdzoyMDIsQXR0cmlidXRlRGVjbGFyYXRpb246MjAzLEVsZW1lbnREZWNsYXJhdGlvbjoyMDQsRHVtbXk6MjA1fX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJazV2WkdWVWVYQmxMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSkZiR1Z0Wlc1MElpd2lRWFIwY21saWRYUmxJaXdpVkdWNGRDSXNJa05FWVhSaElpd2lSVzUwYVhSNVVtVm1aWEpsYm1ObElpd2lSVzUwYVhSNVJHVmpiR0Z5WVhScGIyNGlMQ0pRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSkRiMjF0Wlc1MElpd2lSRzlqZFcxbGJuUWlMQ0pFYjJOVWVYQmxJaXdpUkc5amRXMWxiblJHY21GbmJXVnVkQ0lzSWs1dmRHRjBhVzl1UkdWamJHRnlZWFJwYjI0aUxDSkVaV05zWVhKaGRHbHZiaUlzSWxKaGR5SXNJa0YwZEhKcFluVjBaVVJsWTJ4aGNtRjBhVzl1SWl3aVJXeGxiV1Z1ZEVSbFkyeGhjbUYwYVc5dUlpd2lSSFZ0YlhraUxDSmpZV3hzSWl3aWRHaHBjeUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJVRXNUMEZCVDBNc1VVRkJWU3hEUVVObVF5eFJRVUZUTEVWQlExUkRMRlZCUVZjc1JVRkRXRU1zUzBGQlRTeEZRVU5PUXl4TlFVRlBMRVZCUTFCRExHZENRVUZwUWl4RlFVTnFRa01zYTBKQlFXMUNMRVZCUTI1Q1F5eHpRa0ZCZFVJc1JVRkRka0pETEZGQlFWTXNSVUZEVkVNc1UwRkJWU3hGUVVOV1F5eFJRVUZUTEVkQlExUkRMR2xDUVVGclFpeEhRVU5zUWtNc2IwSkJRWEZDTEVkQlEzSkNReXhaUVVGaExFbEJRMkpETEVsQlFVc3NTVUZEVEVNc2NVSkJRWE5DTEVsQlEzUkNReXh0UWtGQmIwSXNTVUZEY0VKRExFMUJRVThzVDBGSFVrTXNTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOU9iMlJsVkhsd1pTNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQscixuLGUsbyxpLGMsbD1bXS5zbGljZSx1PXt9Lmhhc093blByb3BlcnR5O3Q9ZnVuY3Rpb24oKXt2YXIgdCxyLG4sZSxpLGM7aWYoYz1hcmd1bWVudHNbMF0saT0yPD1hcmd1bWVudHMubGVuZ3RoP2wuY2FsbChhcmd1bWVudHMsMSk6W10sbyhPYmplY3QuYXNzaWduKSlPYmplY3QuYXNzaWduLmFwcGx5KG51bGwsYXJndW1lbnRzKTtlbHNlIGZvcih0PTAsbj1pLmxlbmd0aDt0PG47dCsrKWlmKG51bGwhPShlPWlbdF0pKWZvcihyIGluIGUpdS5jYWxsKGUscikmJihjW3JdPWVbcl0pO3JldHVybiBjfSxvPWZ1bmN0aW9uKHQpe3JldHVybiEhdCYmXCJbb2JqZWN0IEZ1bmN0aW9uXVwiPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSxpPWZ1bmN0aW9uKHQpe3ZhciByO3JldHVybiEhdCYmKFwiZnVuY3Rpb25cIj09KHI9dHlwZW9mIHQpfHxcIm9iamVjdFwiPT09cil9LG49ZnVuY3Rpb24odCl7cmV0dXJuIG8oQXJyYXkuaXNBcnJheSk/QXJyYXkuaXNBcnJheSh0KTpcIltvYmplY3QgQXJyYXldXCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9LGU9ZnVuY3Rpb24odCl7dmFyIHI7aWYobih0KSlyZXR1cm4hdC5sZW5ndGg7Zm9yKHIgaW4gdClpZih1LmNhbGwodCxyKSlyZXR1cm4hMTtyZXR1cm4hMH0sYz1mdW5jdGlvbih0KXt2YXIgcixuO3JldHVybiBpKHQpJiYobj1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpJiYocj1uLmNvbnN0cnVjdG9yKSYmXCJmdW5jdGlvblwiPT10eXBlb2YgciYmciBpbnN0YW5jZW9mIHImJkZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpPT09RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoT2JqZWN0KX0scj1mdW5jdGlvbih0KXtyZXR1cm4gbyh0LnZhbHVlT2YpP3QudmFsdWVPZigpOnR9LG1vZHVsZS5leHBvcnRzLmFzc2lnbj10LG1vZHVsZS5leHBvcnRzLmlzRnVuY3Rpb249byxtb2R1bGUuZXhwb3J0cy5pc09iamVjdD1pLG1vZHVsZS5leHBvcnRzLmlzQXJyYXk9bixtb2R1bGUuZXhwb3J0cy5pc0VtcHR5PWUsbW9kdWxlLmV4cG9ydHMuaXNQbGFpbk9iamVjdD1jLG1vZHVsZS5leHBvcnRzLmdldFZhbHVlPXJ9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxWMGFXeHBkSGt1YW5NaVhTd2libUZ0WlhNaU9sc2lZWE56YVdkdUlpd2laMlYwVm1Gc2RXVWlMQ0pwYzBGeWNtRjVJaXdpYVhORmJYQjBlU0lzSW1selJuVnVZM1JwYjI0aUxDSnBjMDlpYW1WamRDSXNJbWx6VUd4aGFXNVBZbXBsWTNRaUxDSnpiR2xqWlNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0lta2lMQ0pyWlhraUxDSnNaVzRpTENKemIzVnlZMlVpTENKemIzVnlZMlZ6SWl3aWRHRnlaMlYwSWl3aVlYSm5kVzFsYm5Seklpd2liR1Z1WjNSb0lpd2lZMkZzYkNJc0lrOWlhbVZqZENJc0ltRndjR3g1SWl3aWRtRnNJaXdpY0hKdmRHOTBlWEJsSWl3aWRHOVRkSEpwYm1jaUxDSnlaV1lpTENKQmNuSmhlU0lzSW1OMGIzSWlMQ0p3Y205MGJ5SXNJbWRsZEZCeWIzUnZkSGx3WlU5bUlpd2lZMjl1YzNSeWRXTjBiM0lpTENKR2RXNWpkR2x2YmlJc0ltOWlhaUlzSW5aaGJIVmxUMllpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWRHaHBjeUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUZKUVN4RlFVRlJReXhGUVVGVlF5eEZRVUZUUXl4RlFVRlRReXhGUVVGWlF5eEZRVUZWUXl4RlFVTTFSRU1zUlVGQlVTeEhRVUZIUVN4TlFVTllReXhGUVVGVkxFZEJRVWRETEdWQlJXWlVMRVZCUVZNc1YwRkRVQ3hKUVVGSlZTeEZRVUZIUXl4RlFVRkxReXhGUVVGTFF5eEZRVUZSUXl4RlFVRlRReXhGUVVWc1F5eEhRVVJCUVN4RlFVRlRReXhWUVVGVkxFZEJRVWxHTEVWQlFWVXNSMEZCUzBVc1ZVRkJWVU1zVDBGQlUxWXNSVUZCVFZjc1MwRkJTMFlzVlVGQlZ5eEhRVUZMTEVkQlEyaEdXaXhGUVVGWFpTeFBRVUZQYmtJc1VVRkRjRUp0UWl4UFFVRlBia0lzVDBGQlQyOUNMRTFCUVUwc1MwRkJUVW9zWjBKQlJURkNMRWxCUVV0T0xFVkJRVWtzUlVGQlIwVXNSVUZCVFVVc1JVRkJVVWNzVDBGQlVWQXNSVUZCU1VVc1JVRkJTMFlzU1VGRmVrTXNSMEZCWXl4UFFVUmtSeXhGUVVGVFF5eEZRVUZSU2l4SlFVVm1MRWxCUVV0RExFdEJRVTlGTEVWQlEweE1MRVZCUVZGVkxFdEJRVXRNTEVWQlFWRkdMRXRCUXpGQ1NTeEZRVUZQU2l4SFFVRlBSU3hGUVVGUFJpeEpRVXMzUWl4UFFVRlBTU3hIUVVkVVdDeEZRVUZoTEZOQlFWTnBRaXhIUVVOd1FpeFJRVUZUUVN4SFFVRXJReXh6UWtGQmVFTkdMRTlCUVU5SExGVkJRVlZETEZOQlFWTk1MRXRCUVV0SExFbEJSMnBFYUVJc1JVRkJWeXhUUVVGVFowSXNSMEZEYkVJc1NVRkJTVWNzUlVGRFNpeFJRVUZUU0N4SlFVRXJRaXhoUVVGMFFrY3NVMEZCWVVnc1NVRkJLMElzVjBGQlVrY3NTVUZIZUVSMFFpeEZRVUZWTEZOQlFWTnRRaXhIUVVOcVFpeFBRVUZKYWtJc1JVRkJWM0ZDTEUxQlFVMTJRaXhUUVVOYWRVSXNUVUZCVFhaQ0xGRkJRVkZ0UWl4SFFVVXdRaXh0UWtGQmVFTkdMRTlCUVU5SExGVkJRVlZETEZOQlFWTk1MRXRCUVV0SExFbEJTVEZEYkVJc1JVRkJWU3hUUVVGVGEwSXNSMEZEYWtJc1NVRkJTVllzUlVGRFNpeEhRVUZKVkN4RlFVRlJiVUlzUjBGRFZpeFBRVUZSUVN4RlFVRkpTaXhQUVVWYUxFbEJRVXRPTEV0QlFVOVZMRVZCUTFZc1IwRkJTMklzUlVGQlVWVXNTMEZCUzBjc1JVRkJTMVlzUjBGRGRrSXNUMEZCVHl4RlFVVlVMRTlCUVU4c1IwRkpXRXdzUlVGQlowSXNVMEZCVTJVc1IwRkRka0lzU1VGQlNVc3NSVUZCVFVNc1JVRkRWaXhQUVVGUGRFSXNSVUZCVTJkQ0xFdEJRVk5OTEVWQlFWRlNMRTlCUVU5VExHVkJRV1ZRTEUxQlFWVkxMRVZCUVU5RExFVkJRVTFGTEdOQlFXbERMRzFDUVVGVVNDeEhRVUY1UWtFc1lVRkJaMEpCTEVkQlFWVkpMRk5CUVZOU0xGVkJRVlZETEZOQlFWTk1MRXRCUVV0UkxFdEJRVlZKTEZOQlFWTlNMRlZCUVZWRExGTkJRVk5NTEV0QlFVdERMRk5CUjNaUGJFSXNSVUZCVnl4VFFVRlRPRUlzUjBGRGJFSXNUMEZCU1ROQ0xFVkJRVmN5UWl4RlFVRkpReXhUUVVOV1JDeEZRVUZKUXl4VlFVVktSQ3hIUVVsWVJTeFBRVUZQUXl4UlFVRlJiRU1zVDBGQlUwRXNSVUZGZUVKcFF5eFBRVUZQUXl4UlFVRlJPVUlzVjBGQllVRXNSVUZGTlVJMlFpeFBRVUZQUXl4UlFVRlJOMElzVTBGQlYwRXNSVUZGTVVJMFFpeFBRVUZQUXl4UlFVRlJhRU1zVVVGQlZVRXNSVUZGZWtJclFpeFBRVUZQUXl4UlFVRlJMMElzVVVGQlZVRXNSVUZGZWtJNFFpeFBRVUZQUXl4UlFVRlJOVUlzWTBGQlowSkJMRVZCUlM5Q01rSXNUMEZCVDBNc1VVRkJVV3BETEZOQlFWZEJMRWxCUlhwQ2FVSXNTMEZCUzJsQ0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZWWFJwYkdsMGVTNXFjeUo5IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9e05vbmU6MCxPcGVuVGFnOjEsSW5zaWRlVGFnOjIsQ2xvc2VUYWc6M319KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxkeWFYUmxjbE4wWVhSbExtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKT2IyNWxJaXdpVDNCbGJsUmhaeUlzSWtsdWMybGtaVlJoWnlJc0lrTnNiM05sVkdGbklpd2lZMkZzYkNJc0luUm9hWE1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVkJMRTlCUVU5RExGRkJRVlVzUTBGRFprTXNTMEZCVFN4RlFVTk9ReXhSUVVGVExFVkJRMVJETEZWQlFWY3NSVUZEV0VNc1UwRkJWU3hMUVVkWVF5eExRVUZMUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxZHlhWFJsY2xOMFlYUmxMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciB0O3Q9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscmVxdWlyZShcIi4vWE1MTm9kZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSxuLHIpe2lmKHRoaXMucGFyZW50PWUsdGhpcy5wYXJlbnQmJih0aGlzLm9wdGlvbnM9dGhpcy5wYXJlbnQub3B0aW9ucyx0aGlzLnN0cmluZ2lmeT10aGlzLnBhcmVudC5zdHJpbmdpZnkpLG51bGw9PW4pdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBhdHRyaWJ1dGUgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8obikpO3RoaXMubmFtZT10aGlzLnN0cmluZ2lmeS5uYW1lKG4pLHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkuYXR0VmFsdWUociksdGhpcy50eXBlPXQuQXR0cmlidXRlLHRoaXMuaXNJZD0hMSx0aGlzLnNjaGVtYVR5cGVJbmZvPW51bGx9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIm5vZGVUeXBlXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnR5cGV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwib3duZXJFbGVtZW50XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJ0ZXh0Q29udGVudFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlPXR8fFwiXCJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwibmFtZXNwYWNlVVJJXCIse2dldDpmdW5jdGlvbigpe3JldHVyblwiXCJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwicHJlZml4XCIse2dldDpmdW5jdGlvbigpe3JldHVyblwiXCJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwibG9jYWxOYW1lXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwic3BlY2lmaWVkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiEwfX0pLGUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LGUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmF0dHJpYnV0ZSh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LGUucHJvdG90eXBlLmRlYnVnSW5mbz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09KHQ9dHx8dGhpcy5uYW1lKT9cInBhcmVudDogPFwiK3RoaXMucGFyZW50Lm5hbWUrXCI+XCI6XCJhdHRyaWJ1dGU6IHtcIit0K1wifSwgcGFyZW50OiA8XCIrdGhpcy5wYXJlbnQubmFtZStcIj5cIn0sZS5wcm90b3R5cGUuaXNFcXVhbE5vZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHQubmFtZXNwYWNlVVJJPT09dGhpcy5uYW1lc3BhY2VVUkkmJih0LnByZWZpeD09PXRoaXMucHJlZml4JiYodC5sb2NhbE5hbWU9PT10aGlzLmxvY2FsTmFtZSYmdC52YWx1ZT09PXRoaXMudmFsdWUpKX0sZX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVGMGRISnBZblYwWlM1cWN5SmRMQ0p1WVcxbGN5STZXeUpPYjJSbFZIbHdaU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1RWFIwY21saWRYUmxJaXdpY0dGeVpXNTBJaXdpYm1GdFpTSXNJblpoYkhWbElpd2lkR2hwY3lJc0ltOXdkR2x2Ym5NaUxDSnpkSEpwYm1kcFpua2lMQ0pGY25KdmNpSXNJbVJsWW5WblNXNW1ieUlzSW1GMGRGWmhiSFZsSWl3aWRIbHdaU0lzSWtGMGRISnBZblYwWlNJc0ltbHpTV1FpTENKelkyaGxiV0ZVZVhCbFNXNW1ieUlzSWs5aWFtVmpkQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpY0hKdmRHOTBlWEJsSWl3aVoyVjBJaXdpYzJWMElpd2lZMnh2Ym1VaUxDSmpjbVZoZEdVaUxDSjBiMU4wY21sdVp5SXNJbmR5YVhSbGNpSXNJbUYwZEhKcFluVjBaU0lzSW1acGJIUmxjazl3ZEdsdmJuTWlMQ0pwYzBWeGRXRnNUbTlrWlNJc0ltNXZaR1VpTENKdVlXMWxjM0JoWTJWVlVra2lMQ0p3Y21WbWFYZ2lMQ0pzYjJOaGJFNWhiV1VpTENKallXeHNJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlJVcEJMRVZCUVZkRExGRkJRVkVzWTBGRlZFRXNVVUZCVVN4aFFVVnNRa01zVDBGQlQwTXNVVUZCZVVJc1YwRkRPVUlzVTBGQlUwTXNSVUZCWVVNc1JVRkJVVU1zUlVGQlRVTXNSMEZOYkVNc1IwRk1RVU1zUzBGQlMwZ3NUMEZCVTBFc1JVRkRWa2NzUzBGQlMwZ3NVMEZEVUVjc1MwRkJTME1zVVVGQlZVUXNTMEZCUzBnc1QwRkJUMGtzVVVGRE0wSkVMRXRCUVV0RkxGVkJRVmxHTEV0QlFVdElMRTlCUVU5TExGZEJSVzVDTEUxQlFWSktMRVZCUTBZc1RVRkJUU3hKUVVGSlN5eE5RVUZOTERKQ1FVRTJRa2dzUzBGQlMwa3NWVUZCVlU0c1NVRkZPVVJGTEV0QlFVdEdMRXRCUVU5RkxFdEJRVXRGTEZWQlFWVktMRXRCUVV0QkxFZEJRMmhEUlN4TFFVRkxSQ3hOUVVGUlF5eExRVUZMUlN4VlFVRlZSeXhUUVVGVFRpeEhRVU55UTBNc1MwRkJTMDBzUzBGQlQyUXNSVUZCVTJVc1ZVRkRja0pRTEV0QlFVdFJMRTFCUVU4c1JVRkRXbElzUzBGQlMxTXNaVUZCYVVJc1MwRnBSbmhDTEU5Qk9VVkJReXhQUVVGUFF5eGxRVUZsWml4RlFVRmhaMElzVlVGQlZ5eFhRVUZaTEVOQlEzaEVReXhKUVVGTExGZEJRMGdzVDBGQlQySXNTMEZCUzAwc1VVRkphRUpKTEU5QlFVOURMR1ZCUVdWbUxFVkJRV0ZuUWl4VlFVRlhMR1ZCUVdkQ0xFTkJRelZFUXl4SlFVRkxMRmRCUTBnc1QwRkJUMklzUzBGQlMwZ3NWVUZKYUVKaExFOUJRVTlETEdWQlFXVm1MRVZCUVdGblFpeFZRVUZYTEdOQlFXVXNRMEZETTBSRExFbEJRVXNzVjBGRFNDeFBRVUZQWWl4TFFVRkxSQ3hQUVVWa1pTeEpRVUZMTEZOQlFWTm1MRWRCUTFvc1QwRkJUME1zUzBGQlMwUXNUVUZCVVVFc1IwRkJVeXhOUVVscVExY3NUMEZCVDBNc1pVRkJaV1lzUlVGQllXZENMRlZCUVZjc1pVRkJaMElzUTBGRE5VUkRMRWxCUVVzc1YwRkRTQ3hOUVVGUExFMUJTVmhJTEU5QlFVOURMR1ZCUVdWbUxFVkJRV0ZuUWl4VlFVRlhMRk5CUVZVc1EwRkRkRVJETEVsQlFVc3NWMEZEU0N4TlFVRlBMRTFCU1ZoSUxFOUJRVTlETEdWQlFXVm1MRVZCUVdGblFpeFZRVUZYTEZsQlFXRXNRMEZEZWtSRExFbEJRVXNzVjBGRFNDeFBRVUZQWWl4TFFVRkxSaXhSUVVsb1Fsa3NUMEZCVDBNc1pVRkJaV1lzUlVGQllXZENMRlZCUVZjc1dVRkJZU3hEUVVONlJFTXNTVUZCU3l4WFFVTklMRTlCUVU4c1MwRkpXR3BDTEVWQlFXRm5RaXhWUVVGVlJ5eE5RVUZSTEZkQlF6ZENMRTlCUVU5TUxFOUJRVTlOTEU5QlFVOW9RaXhQUVVkMlFrb3NSVUZCWVdkQ0xGVkJRVlZMTEZOQlFWY3NVMEZCVTJoQ0xFZEJRM3BETEU5QlFVOUVMRXRCUVV0RExGRkJRVkZwUWl4UFFVRlBReXhWUVVGVmJrSXNTMEZCVFVFc1MwRkJTME1zVVVGQlVXbENMRTlCUVU5RkxHTkJRV051UWl4TFFVY3ZSVXdzUlVGQllXZENMRlZCUVZWU0xGVkJRVmtzVTBGQlUwNHNSMEZGTVVNc1QwRkJXU3hQUVVSYVFTeEZRVUZQUVN4SFFVRlJSU3hMUVVGTFJpeE5RVVZZTEZsQlFXTkZMRXRCUVV0SUxFOUJRVTlETEV0QlFVOHNTVUZGYWtNc1pVRkJhVUpCTEVWQlFVOHNaVUZCYVVKRkxFdEJRVXRJTEU5QlFVOURMRXRCUVU4c1MwRkpka1ZHTEVWQlFXRm5RaXhWUVVGVlV5eFpRVUZqTEZOQlFWTkRMRWRCUXpWRExFOUJRVWxCTEVWQlFVdERMR1ZCUVdsQ2RrSXNTMEZCUzNWQ0xHVkJSek5DUkN4RlFVRkxSU3hUUVVGWGVFSXNTMEZCUzNkQ0xGTkJSM0pDUml4RlFVRkxSeXhaUVVGamVrSXNTMEZCUzNsQ0xGZEJSM2hDU0N4RlFVRkxka0lzVVVGQlZVTXNTMEZCUzBRc1UwRk5ia0pJTEVWQkwwWjFRaXhMUVcxSEwwSTRRaXhMUVVGTE1VSWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4QmRIUnlhV0oxZEdVdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7dmFyIHQscixvPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscj1yZXF1aXJlKFwiLi9YTUxDaGFyYWN0ZXJEYXRhXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGkocixvKXtpZihpLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsciksbnVsbD09byl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIENEQVRBIHRleHQuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3RoaXMubmFtZT1cIiNjZGF0YS1zZWN0aW9uXCIsdGhpcy50eXBlPXQuQ0RhdGEsdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS5jZGF0YShvKX1yZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIGUgaW4gcilvLmNhbGwocixlKSYmKHRbZV09cltlXSk7ZnVuY3Rpb24gaSgpe3RoaXMuY29uc3RydWN0b3I9dH1pLnByb3RvdHlwZT1yLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgaSx0Ll9fc3VwZXJfXz1yLnByb3RvdHlwZX0oaSxyKSxpLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfSxpLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5jZGF0YSh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LGl9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFTkVZWFJoTG1weklsMHNJbTVoYldWeklqcGJJazV2WkdWVWVYQmxJaXdpV0UxTVEyaGhjbUZqZEdWeVJHRjBZU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWMzVndaWEpEYkdGemN5SXNJbGhOVEVORVlYUmhJaXdpY0dGeVpXNTBJaXdpZEdWNGRDSXNJbDlmYzNWd1pYSmZYeUlzSW1OdmJuTjBjblZqZEc5eUlpd2lZMkZzYkNJc0luUm9hWE1pTENKRmNuSnZjaUlzSW1SbFluVm5TVzVtYnlJc0ltNWhiV1VpTENKMGVYQmxJaXdpUTBSaGRHRWlMQ0oyWVd4MVpTSXNJbk4wY21sdVoybG1lU0lzSW1Oa1lYUmhJaXdpWTJocGJHUWlMQ0pyWlhraUxDSmpkRzl5SWl3aWNISnZkRzkwZVhCbElpd2laWGgwWlc1a0lpd2lZMnh2Ym1VaUxDSlBZbXBsWTNRaUxDSmpjbVZoZEdVaUxDSjBiMU4wY21sdVp5SXNJbTl3ZEdsdmJuTWlMQ0ozY21sMFpYSWlMQ0ptYVd4MFpYSlBjSFJwYjI1eklsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVc5Q1F5eEZRVVYwUWtNc1JVRkJWU3hIUVVGSFF5eGxRVVZtU0N4RlFVRlhTU3hSUVVGUkxHTkJSVzVDU0N4RlFVRnRRa2NzVVVGQlVTeHpRa0ZGTTBKRExFOUJRVTlETEZGQlFYRkNMRk5CUVZWRExFZEJSM0JETEZOQlFWTkRMRVZCUVZORExFVkJRVkZETEVkQlJYaENMRWRCUkVGR0xFVkJRVk5ITEZWQlFWVkRMRmxCUVZsRExFdEJRVXRETEV0QlFVMU1MRWRCUXpsQ0xFMUJRVkpETEVWQlEwWXNUVUZCVFN4SlFVRkpTeXhOUVVGTkxIVkNRVUY1UWtRc1MwRkJTMFVzWVVGRmFFUkdMRXRCUVV0SExFdEJRVThzYVVKQlExcElMRXRCUVV0SkxFdEJRVTlzUWl4RlFVRlRiVUlzVFVGRGNrSk1MRXRCUVV0TkxFMUJRVkZPTEV0QlFVdFBMRlZCUVZWRExFMUJRVTFhTEVkQlYzQkRMRTlCTlVKVExGTkJRVk5oTEVWQlFVOWtMRWRCUVZVc1NVRkJTeXhKUVVGSlpTeExRVUZQWml4RlFVRmpVQ3hGUVVGUlZ5eExRVUZMU2l4RlFVRlJaU3hMUVVGTlJDeEZRVUZOUXl4SFFVRlBaaXhGUVVGUFpTeEpRVUZSTEZOQlFWTkRMRWxCUVZOWUxFdEJRVXRHTEZsQlFXTlhMRVZCUVZORkxFVkJRVXRETEZWQlFWbHFRaXhGUVVGUGFVSXNWVUZCVjBnc1JVRkJUVWNzVlVGQldTeEpRVUZKUkN4RlFVRlJSaXhGUVVGTldpeFZRVUZaUml4RlFVRlBhVUlzVlVGUmFGRkRMRU5CUVU5dVFpeEZRWE5DVGxBc1IwRldSRThzUlVGQlUydENMRlZCUVZWRkxFMUJRVkVzVjBGRGVrSXNUMEZCVDBNc1QwRkJUME1zVDBGQlQyaENMRTlCUjNaQ1RpeEZRVUZUYTBJc1ZVRkJWVXNzVTBGQlZ5eFRRVUZUUXl4SFFVTnlReXhQUVVGUGJFSXNTMEZCUzJ0Q0xGRkJRVkZETEU5QlFVOVlMRTFCUVUxU0xFdEJRVTFCTEV0QlFVdHJRaXhSUVVGUlF5eFBRVUZQUXl4alFVRmpSaXhMUVVkd1JYaENMRVZCY2tKdFFpeExRWGxDTTBKTExFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1RMFJoZEdFdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZT17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24obyl7ZnVuY3Rpb24gbih0KXtuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsdCksdGhpcy52YWx1ZT1cIlwifXJldHVybiBmdW5jdGlvbih0LG8pe2Zvcih2YXIgbiBpbiBvKWUuY2FsbChvLG4pJiYodFtuXT1vW25dKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXIucHJvdG90eXBlPW8ucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyByLHQuX19zdXBlcl9fPW8ucHJvdG90eXBlfShuLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSxcImRhdGFcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZT10fHxcIlwifX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSxcImxlbmd0aFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGh9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLFwidGV4dENvbnRlbnRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZT10fHxcIlwifX0pLG4ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LG4ucHJvdG90eXBlLnN1YnN0cmluZ0RhdGE9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxuLnByb3RvdHlwZS5hcHBlbmREYXRhPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG4ucHJvdG90eXBlLmluc2VydERhdGE9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxuLnByb3RvdHlwZS5kZWxldGVEYXRhPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbi5wcm90b3R5cGUucmVwbGFjZURhdGE9ZnVuY3Rpb24odCxlLG8pe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG4ucHJvdG90eXBlLmlzRXF1YWxOb2RlPWZ1bmN0aW9uKHQpe3JldHVybiEhbi5fX3N1cGVyX18uaXNFcXVhbE5vZGUuYXBwbHkodGhpcyxhcmd1bWVudHMpLmlzRXF1YWxOb2RlKHQpJiZ0LmRhdGE9PT10aGlzLmRhdGF9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFTm9ZWEpoWTNSbGNrUmhkR0V1YW5NaVhTd2libUZ0WlhNaU9sc2lXRTFNVG05a1pTSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URU5vWVhKaFkzUmxja1JoZEdFaUxDSndZWEpsYm5RaUxDSmZYM04xY0dWeVgxOGlMQ0pqYjI1emRISjFZM1J2Y2lJc0ltTmhiR3dpTENKMGFHbHpJaXdpZG1Gc2RXVWlMQ0pqYUdsc1pDSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSlBZbXBsWTNRaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltZGxkQ0lzSW5ObGRDSXNJbXhsYm1kMGFDSXNJbU5zYjI1bElpd2lZM0psWVhSbElpd2ljM1ZpYzNSeWFXNW5SR0YwWVNJc0ltOW1abk5sZENJc0ltTnZkVzUwSWl3aVJYSnliM0lpTENKa1pXSjFaMGx1Wm04aUxDSmhjSEJsYm1SRVlYUmhJaXdpWVhKbklpd2lhVzV6WlhKMFJHRjBZU0lzSW1SbGJHVjBaVVJoZEdFaUxDSnlaWEJzWVdObFJHRjBZU0lzSW1selJYRjFZV3hPYjJSbElpd2libTlrWlNJc0ltRndjR3g1SWl3aVlYSm5kVzFsYm5Seklpd2laR0YwWVNKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hKUVVGelFrRXNSVUZGY0VKRExFVkJRVlVzUjBGQlIwTXNaVUZGWmtZc1JVRkJWVWNzVVVGQlVTeGhRVVZzUWtNc1QwRkJUME1zVVVGQk5rSXNVMEZCVlVNc1IwRkhOVU1zVTBGQlUwTXNSVUZCYVVKRExFZEJRM2hDUkN4RlFVRnBRa1VzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRVb3NSMEZEYkVSSkxFdEJRVXRETEUxQlFWRXNSMEUyUkdZc1QwRjJSVk1zVTBGQlUwTXNSVUZCVDA0c1IwRkJWU3hKUVVGTExFbEJRVWxQTEV0QlFVOVFMRVZCUVdOUUxFVkJRVkZWTEV0QlFVdElMRVZCUVZGUExFdEJRVTFFTEVWQlFVMURMRWRCUVU5UUxFVkJRVTlQTEVsQlFWRXNVMEZCVTBNc1NVRkJVMG9zUzBGQlMwWXNXVUZCWTBrc1JVRkJVMFVzUlVGQlMwTXNWVUZCV1ZRc1JVRkJUMU1zVlVGQlYwZ3NSVUZCVFVjc1ZVRkJXU3hKUVVGSlJDeEZRVUZSUml4RlFVRk5UQ3hWUVVGWlJDeEZRVUZQVXl4VlFVMW9VVU1zUTBGQlQxZ3NSVUZ0UlU1UUxFZEJOVVJFYlVJc1QwRkJUME1zWlVGQlpXSXNSVUZCYVVKVkxGVkJRVmNzVDBGQlVTeERRVU40UkVrc1NVRkJTeXhYUVVOSUxFOUJRVTlVTEV0QlFVdERMRTlCUldSVExFbEJRVXNzVTBGQlUxUXNSMEZEV2l4UFFVRlBSQ3hMUVVGTFF5eE5RVUZSUVN4SFFVRlRMRTFCU1dwRFRTeFBRVUZQUXl4bFFVRmxZaXhGUVVGcFFsVXNWVUZCVnl4VFFVRlZMRU5CUXpGRVNTeEpRVUZMTEZkQlEwZ3NUMEZCVDFRc1MwRkJTME1zVFVGQlRWVXNWVUZKZEVKS0xFOUJRVTlETEdWQlFXVmlMRVZCUVdsQ1ZTeFZRVUZYTEdOQlFXVXNRMEZETDBSSkxFbEJRVXNzVjBGRFNDeFBRVUZQVkN4TFFVRkxReXhQUVVWa1V5eEpRVUZMTEZOQlFWTlVMRWRCUTFvc1QwRkJUMFFzUzBGQlMwTXNUVUZCVVVFc1IwRkJVeXhOUVVscVEwNHNSVUZCYVVKVkxGVkJRVlZQTEUxQlFWRXNWMEZEYWtNc1QwRkJUMHdzVDBGQlQwMHNUMEZCVDJJc1QwRkhka0pNTEVWQlFXbENWU3hWUVVGVlV5eGpRVUZuUWl4VFFVRlRReXhGUVVGUlF5eEhRVU14UkN4TlFVRk5MRWxCUVVsRExFMUJRVTBzYzBOQlFYZERha0lzUzBGQlMydENMR05CUnk5RWRrSXNSVUZCYVVKVkxGVkJRVlZqTEZkQlFXRXNVMEZCVTBNc1IwRkRMME1zVFVGQlRTeEpRVUZKU0N4TlFVRk5MSE5EUVVGM1EycENMRXRCUVV0clFpeGpRVWN2UkhaQ0xFVkJRV2xDVlN4VlFVRlZaMElzVjBGQllTeFRRVUZUVGl4RlFVRlJTeXhIUVVOMlJDeE5RVUZOTEVsQlFVbElMRTFCUVUwc2MwTkJRWGREYWtJc1MwRkJTMnRDTEdOQlJ5OUVka0lzUlVGQmFVSlZMRlZCUVZWcFFpeFhRVUZoTEZOQlFWTlFMRVZCUVZGRExFZEJRM1pFTEUxQlFVMHNTVUZCU1VNc1RVRkJUU3h6UTBGQmQwTnFRaXhMUVVGTGEwSXNZMEZITDBSMlFpeEZRVUZwUWxVc1ZVRkJWV3RDTEZsQlFXTXNVMEZCVTFJc1JVRkJVVU1zUlVGQlQwa3NSMEZETDBRc1RVRkJUU3hKUVVGSlNDeE5RVUZOTEhORFFVRjNRMnBDTEV0QlFVdHJRaXhqUVVjdlJIWkNMRVZCUVdsQ1ZTeFZRVUZWYlVJc1dVRkJZeXhUUVVGVFF5eEhRVU5vUkN4UlFVRkxPVUlzUlVGQmFVSkZMRlZCUVZVeVFpeFpRVUZaUlN4TlFVRk5NVUlzUzBGQlRUSkNMRmRCUVZkSUxGbEJRVmxETEVsQlJ6TkZRU3hGUVVGTFJ5eFBRVUZUTlVJc1MwRkJTelJDTEUxQlRXeENha01zUlVGc1JUSkNMRXRCYzBWdVEwa3NTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhEYUdGeVlXTjBaWEpFWVhSaExtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIHQsbyxyPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksbz1yZXF1aXJlKFwiLi9YTUxDaGFyYWN0ZXJEYXRhXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4obyxyKXtpZihuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsbyksbnVsbD09cil0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGNvbW1lbnQgdGV4dC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7dGhpcy5uYW1lPVwiI2NvbW1lbnRcIix0aGlzLnR5cGU9dC5Db21tZW50LHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkuY29tbWVudChyKX1yZXR1cm4gZnVuY3Rpb24odCxvKXtmb3IodmFyIGUgaW4gbylyLmNhbGwobyxlKSYmKHRbZV09b1tlXSk7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9dH1uLnByb3RvdHlwZT1vLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbix0Ll9fc3VwZXJfXz1vLnByb3RvdHlwZX0obixvKSxuLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfSxuLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5jb21tZW50KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVOdmJXMWxiblF1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4RGFHRnlZV04wWlhKRVlYUmhJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNUTI5dGJXVnVkQ0lzSW5CaGNtVnVkQ0lzSW5SbGVIUWlMQ0pmWDNOMWNHVnlYMThpTENKamIyNXpkSEoxWTNSdmNpSXNJbU5oYkd3aUxDSjBhR2x6SWl3aVJYSnliM0lpTENKa1pXSjFaMGx1Wm04aUxDSnVZVzFsSWl3aWRIbHdaU0lzSWtOdmJXMWxiblFpTENKMllXeDFaU0lzSW5OMGNtbHVaMmxtZVNJc0ltTnZiVzFsYm5RaUxDSmphR2xzWkNJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKamJHOXVaU0lzSWs5aWFtVmpkQ0lzSW1OeVpXRjBaU0lzSW5SdlUzUnlhVzVuSWl3aWIzQjBhVzl1Y3lJc0luZHlhWFJsY2lJc0ltWnBiSFJsY2s5d2RHbHZibk1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJWVU1zUlVGRldrTXNSVUZCVlN4SFFVRkhReXhsUVVWbVNDeEZRVUZYU1N4UlFVRlJMR05CUlc1Q1NDeEZRVUZ0UWtjc1VVRkJVU3h6UWtGRk0wSkRMRTlCUVU5RExGRkJRWFZDTEZOQlFWVkRMRWRCUjNSRExGTkJRVk5ETEVWQlFWZERMRVZCUVZGRExFZEJSVEZDTEVkQlJFRkdMRVZCUVZkSExGVkJRVlZETEZsQlFWbERMRXRCUVV0RExFdEJRVTFNTEVkQlEyaERMRTFCUVZKRExFVkJRMFlzVFVGQlRTeEpRVUZKU3l4TlFVRk5MSGxDUVVFeVFrUXNTMEZCUzBVc1lVRkZiRVJHTEV0QlFVdEhMRXRCUVU4c1YwRkRXa2dzUzBGQlMwa3NTMEZCVDJ4Q0xFVkJRVk50UWl4UlFVTnlRa3dzUzBGQlMwMHNUVUZCVVU0c1MwRkJTMDhzVlVGQlZVTXNVVUZCVVZvc1IwRlhkRU1zVDBFMVFsTXNVMEZCVTJFc1JVRkJUMlFzUjBGQlZTeEpRVUZMTEVsQlFVbGxMRXRCUVU5bUxFVkJRV05RTEVWQlFWRlhMRXRCUVV0S0xFVkJRVkZsTEV0QlFVMUVMRVZCUVUxRExFZEJRVTltTEVWQlFVOWxMRWxCUVZFc1UwRkJVME1zU1VGQlUxZ3NTMEZCUzBZc1dVRkJZMWNzUlVGQlUwVXNSVUZCUzBNc1ZVRkJXV3BDTEVWQlFVOXBRaXhWUVVGWFNDeEZRVUZOUnl4VlFVRlpMRWxCUVVsRUxFVkJRVkZHTEVWQlFVMWFMRlZCUVZsR0xFVkJRVTlwUWl4VlFWRm9VVU1zUTBGQlQyNUNMRVZCYzBKT1VDeEhRVlpFVHl4RlFVRlhhMElzVlVGQlZVVXNUVUZCVVN4WFFVTXpRaXhQUVVGUFF5eFBRVUZQUXl4UFFVRlBhRUlzVDBGSGRrSk9MRVZCUVZkclFpeFZRVUZWU3l4VFFVRlhMRk5CUVZORExFZEJRM1pETEU5QlFVOXNRaXhMUVVGTGEwSXNVVUZCVVVNc1QwRkJUMWdzVVVGQlVWSXNTMEZCVFVFc1MwRkJTMnRDTEZGQlFWRkRMRTlCUVU5RExHTkJRV05HTEV0QlIzUkZlRUlzUlVGeVFuRkNMRXRCZVVJM1Frc3NTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhEYjIxdFpXNTBMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciBlLHQ7ZT1yZXF1aXJlKFwiLi9YTUxET01FcnJvckhhbmRsZXJcIiksdD1yZXF1aXJlKFwiLi9YTUxET01TdHJpbmdMaXN0XCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe3RoaXMuZGVmYXVsdFBhcmFtcz17XCJjYW5vbmljYWwtZm9ybVwiOiExLFwiY2RhdGEtc2VjdGlvbnNcIjohMSxjb21tZW50czohMSxcImRhdGF0eXBlLW5vcm1hbGl6YXRpb25cIjohMSxcImVsZW1lbnQtY29udGVudC13aGl0ZXNwYWNlXCI6ITAsZW50aXRpZXM6ITAsXCJlcnJvci1oYW5kbGVyXCI6bmV3IGUsaW5mb3NldDohMCxcInZhbGlkYXRlLWlmLXNjaGVtYVwiOiExLG5hbWVzcGFjZXM6ITAsXCJuYW1lc3BhY2UtZGVjbGFyYXRpb25zXCI6ITAsXCJub3JtYWxpemUtY2hhcmFjdGVyc1wiOiExLFwic2NoZW1hLWxvY2F0aW9uXCI6XCJcIixcInNjaGVtYS10eXBlXCI6XCJcIixcInNwbGl0LWNkYXRhLXNlY3Rpb25zXCI6ITAsdmFsaWRhdGU6ITEsXCJ3ZWxsLWZvcm1lZFwiOiEwfSx0aGlzLnBhcmFtcz1PYmplY3QuY3JlYXRlKHRoaXMuZGVmYXVsdFBhcmFtcyl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLnByb3RvdHlwZSxcInBhcmFtZXRlck5hbWVzXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBuZXcgdChPYmplY3Qua2V5cyh0aGlzLmRlZmF1bHRQYXJhbXMpKX19KSxhLnByb3RvdHlwZS5nZXRQYXJhbWV0ZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucGFyYW1zLmhhc093blByb3BlcnR5KGUpP3RoaXMucGFyYW1zW2VdOm51bGx9LGEucHJvdG90eXBlLmNhblNldFBhcmFtZXRlcj1mdW5jdGlvbihlLHQpe3JldHVybiEwfSxhLnByb3RvdHlwZS5zZXRQYXJhbWV0ZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnVsbCE9dD90aGlzLnBhcmFtc1tlXT10OmRlbGV0ZSB0aGlzLnBhcmFtc1tlXX0sYX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSUFRVTnZibVpwWjNWeVlYUnBiMjR1YW5NaVhTd2libUZ0WlhNaU9sc2lXRTFNUkU5TlJYSnliM0pJWVc1a2JHVnlJaXdpV0UxTVJFOU5VM1J5YVc1blRHbHpkQ0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1SRTlOUTI5dVptbG5kWEpoZEdsdmJpSXNJblJvYVhNaUxDSmtaV1poZFd4MFVHRnlZVzF6SWl3aVkyRnViMjVwWTJGc0xXWnZjbTBpTENKalpHRjBZUzF6WldOMGFXOXVjeUlzSW1OdmJXMWxiblJ6SWl3aVpHRjBZWFI1Y0dVdGJtOXliV0ZzYVhwaGRHbHZiaUlzSW1Wc1pXMWxiblF0WTI5dWRHVnVkQzEzYUdsMFpYTndZV05sSWl3aVpXNTBhWFJwWlhNaUxDSmxjbkp2Y2kxb1lXNWtiR1Z5SWl3aWFXNW1iM05sZENJc0luWmhiR2xrWVhSbExXbG1MWE5qYUdWdFlTSXNJbTVoYldWemNHRmpaWE1pTENKdVlXMWxjM0JoWTJVdFpHVmpiR0Z5WVhScGIyNXpJaXdpYm05eWJXRnNhWHBsTFdOb1lYSmhZM1JsY25NaUxDSnpZMmhsYldFdGJHOWpZWFJwYjI0aUxDSnpZMmhsYldFdGRIbHdaU0lzSW5Od2JHbDBMV05rWVhSaExYTmxZM1JwYjI1eklpd2lkbUZzYVdSaGRHVWlMQ0ozWld4c0xXWnZjbTFsWkNJc0luQmhjbUZ0Y3lJc0lrOWlhbVZqZENJc0ltTnlaV0YwWlNJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aWNISnZkRzkwZVhCbElpd2laMlYwSWl3aWEyVjVjeUlzSW1kbGRGQmhjbUZ0WlhSbGNpSXNJbTVoYldVaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0ltTmhibE5sZEZCaGNtRnRaWFJsY2lJc0luWmhiSFZsSWl3aWMyVjBVR0Z5WVcxbGRHVnlJaXdpWTJGc2JDSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRjVRa0VzUlVGQmIwSkRMRVZCUlRkRFJDeEZRVUZ4UWtVc1VVRkJVU3gzUWtGRk4wSkVMRVZCUVcxQ1F5eFJRVUZSTEhOQ1FVVXpRa01zVDBGQlQwTXNVVUZCWjBNc1YwRkRja01zVTBGQlUwTXNTVUZGVUVNc1MwRkJTME1zWTBGQlowSXNRMEZEYmtKRExHdENRVUZyUWl4RlFVTnNRa01zYTBKQlFXdENMRVZCUTJ4Q1F5eFZRVUZaTEVWQlExcERMREJDUVVFd1FpeEZRVU14UWtNc09FSkJRVGhDTEVWQlF6bENReXhWUVVGWkxFVkJRMXBETEdkQ1FVRnBRaXhKUVVGSlpDeEZRVU55UW1Vc1UwRkJWeXhGUVVOWVF5eHpRa0ZCYzBJc1JVRkRkRUpETEZsQlFXTXNSVUZEWkVNc01FSkJRVEJDTEVWQlF6RkNReXgzUWtGQmQwSXNSVUZEZUVKRExHdENRVUZ0UWl4SFFVTnVRa01zWTBGQlpTeEhRVU5tUXl4M1FrRkJkMElzUlVGRGVFSkRMRlZCUVZrc1JVRkRXa01zWlVGQlpTeEhRVVZxUW14Q0xFdEJRVXR0UWl4UFFVRnpRa01zVDBGQlQwTXNUMEZCVDNKQ0xFdEJRVXRETEdWQk5rSm9SQ3hQUVRGQ1FXMUNMRTlCUVU5RkxHVkJRV1YyUWl4RlFVRnZRbmRDTEZWQlFWY3NhVUpCUVd0Q0xFTkJRM0pGUXl4SlFVRkxMRmRCUTBnc1QwRkJUeXhKUVVGSk4wSXNSVUZCYVVKNVFpeFBRVUZQU3l4TFFVRkxla0lzUzBGQlMwTXNiVUpCU1dwRVJpeEZRVUZ2UW5kQ0xGVkJRVlZITEdGQlFXVXNVMEZCVTBNc1IwRkRjRVFzVDBGQlNUTkNMRXRCUVV0dFFpeFBRVUZQVXl4bFFVRmxSQ3hIUVVOMFFqTkNMRXRCUVV0dFFpeFBRVUZQVVN4SFFVVmFMRTFCU1ZnMVFpeEZRVUZ2UW5kQ0xGVkJRVlZOTEdkQ1FVRnJRaXhUUVVGVFJpeEZRVUZOUnl4SFFVTTNSQ3hQUVVGUExFZEJSMVF2UWl4RlFVRnZRbmRDTEZWQlFWVlJMR0ZCUVdVc1UwRkJVMG9zUlVGQlRVY3NSMEZETVVRc1QwRkJZU3hOUVVGVVFTeEZRVU5MT1VJc1MwRkJTMjFDTEU5QlFVOVJMRWRCUVZGSExGTkJSV0k1UWl4TFFVRkxiVUlzVDBGQlQxRXNTVUZKZGtJMVFpeEZRVzVFT0VJc1MwRjFSSFJEYVVNc1MwRkJTMmhESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1SRTlOUTI5dVptbG5kWEpoZEdsdmJpNXFjeUo5IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKCl7fXJldHVybiBuLnByb3RvdHlwZS5oYW5kbGVFcnJvcj1mdW5jdGlvbihuKXt0aHJvdyBuZXcgRXJyb3Iobil9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlBUVVZ5Y205eVNHRnVaR3hsY2k1cWN5SmRMQ0p1WVcxbGN5STZXeUp0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVJFOU5SWEp5YjNKSVlXNWtiR1Z5SWl3aWNISnZkRzkwZVhCbElpd2lhR0Z1Wkd4bFJYSnliM0lpTENKbGNuSnZjaUlzSWtWeWNtOXlJaXdpWTJGc2JDSXNJblJvYVhNaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJSMFZCTEU5QlFVOURMRkZCUVN0Q0xGZEJRM0JETEZOQlFWTkRMRXRCVFZRc1QwRktRVUVzUlVGQmJVSkRMRlZCUVZWRExGbEJRV01zVTBGQlUwTXNSMEZEYkVRc1RVRkJUU3hKUVVGSlF5eE5RVUZOUkN4SlFVZFlTQ3hGUVZBMlFpeExRVmR5UTBzc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeEVUMDFGY25KdmNraGhibVJzWlhJdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiB0LnByb3RvdHlwZS5oYXNGZWF0dXJlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuITB9LHQucHJvdG90eXBlLmNyZWF0ZURvY3VtZW50VHlwZT1mdW5jdGlvbih0LGUsbyl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIil9LHQucHJvdG90eXBlLmNyZWF0ZURvY3VtZW50PWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sdC5wcm90b3R5cGUuY3JlYXRlSFRNTERvY3VtZW50PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSx0LnByb3RvdHlwZS5nZXRGZWF0dXJlPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIil9LHR9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlBUVWx0Y0d4bGJXVnVkR0YwYVc5dUxtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKWVRVeEVUMDFKYlhCc1pXMWxiblJoZEdsdmJpSXNJbkJ5YjNSdmRIbHdaU0lzSW1oaGMwWmxZWFIxY21VaUxDSm1aV0YwZFhKbElpd2lkbVZ5YzJsdmJpSXNJbU55WldGMFpVUnZZM1Z0Wlc1MFZIbHdaU0lzSW5GMVlXeHBabWxsWkU1aGJXVWlMQ0p3ZFdKc2FXTkpaQ0lzSW5ONWMzUmxiVWxrSWl3aVJYSnliM0lpTENKamNtVmhkR1ZFYjJOMWJXVnVkQ0lzSW01aGJXVnpjR0ZqWlZWU1NTSXNJbVJ2WTNSNWNHVWlMQ0pqY21WaGRHVklWRTFNUkc5amRXMWxiblFpTENKMGFYUnNaU0lzSW1kbGRFWmxZWFIxY21VaUxDSmpZV3hzSWl3aWRHaHBjeUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGSFJVRXNUMEZCVDBNc1VVRkJhVU1zVjBGRGRFTXNVMEZCVTBNc1MwRnpRbFFzVDBGd1FrRkJMRVZCUVhGQ1F5eFZRVUZWUXl4WFFVRmhMRk5CUVZORExFVkJRVk5ETEVkQlF6VkVMRTlCUVU4c1IwRkhWRW9zUlVGQmNVSkRMRlZCUVZWSkxHMUNRVUZ4UWl4VFFVRlRReXhGUVVGbFF5eEZRVUZWUXl4SFFVTndSaXhOUVVGTkxFbEJRVWxETEUxQlFVMHNkME5CUjJ4Q1ZDeEZRVUZ4UWtNc1ZVRkJWVk1zWlVGQmFVSXNVMEZCVTBNc1JVRkJZMHdzUlVGQlpVMHNSMEZEY0VZc1RVRkJUU3hKUVVGSlNDeE5RVUZOTEhkRFFVZHNRbFFzUlVGQmNVSkRMRlZCUVZWWkxHMUNRVUZ4UWl4VFFVRlRReXhIUVVNelJDeE5RVUZOTEVsQlFVbE1MRTFCUVUwc2QwTkJSMnhDVkN4RlFVRnhRa01zVlVGQlZXTXNWMEZCWVN4VFFVRlRXaXhGUVVGVFF5eEhRVU0xUkN4TlFVRk5MRWxCUVVsTExFMUJRVTBzZDBOQlIxaFVMRVZCZGtJclFpeExRVEpDZGtOblFpeExRVUZMUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URVJQVFVsdGNHeGxiV1Z1ZEdGMGFXOXVMbXB6SW4wPSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLmFycj10fHxbXX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwibGVuZ3RoXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFyci5sZW5ndGh9fSksdC5wcm90b3R5cGUuaXRlbT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5hcnJbdF18fG51bGx9LHQucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKHQpe3JldHVybi0xIT09dGhpcy5hcnIuaW5kZXhPZih0KX0sdH0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSUFRWTjBjbWx1WjB4cGMzUXVhbk1pWFN3aWJtRnRaWE1pT2xzaWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0lsaE5URVJQVFZOMGNtbHVaMHhwYzNRaUxDSmhjbklpTENKMGFHbHpJaXdpVDJKcVpXTjBJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0p3Y205MGIzUjVjR1VpTENKblpYUWlMQ0pzWlc1bmRHZ2lMQ0pwZEdWdElpd2lhVzVrWlhnaUxDSmpiMjUwWVdsdWN5SXNJbk4wY2lJc0ltbHVaR1Y0VDJZaUxDSmpZV3hzSWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVZEZRU3hQUVVGUFF5eFJRVUUyUWl4WFFVTnNReXhUUVVGVFF5eEZRVUZwUWtNc1IwRkRlRUpETEV0QlFVdEVMRWxCUVUxQkxFZEJRVThzUjBGcFFuQkNMRTlCWkVGRkxFOUJRVTlETEdWQlFXVktMRVZCUVdsQ1N5eFZRVUZYTEZOQlFWVXNRMEZETVVSRExFbEJRVXNzVjBGRFNDeFBRVUZQU2l4TFFVRkxSQ3hKUVVGSlRTeFZRVWx3UWxBc1JVRkJhVUpMTEZWQlFWVkhMRXRCUVU4c1UwRkJVME1zUjBGRGVrTXNUMEZCVDFBc1MwRkJTMFFzU1VGQlNWRXNTVUZCVlN4TlFVYzFRbFFzUlVGQmFVSkxMRlZCUVZWTExGTkJRVmNzVTBGQlUwTXNSMEZETjBNc1QwRkJhME1zU1VGQk0wSlVMRXRCUVV0RUxFbEJRVWxYTEZGQlFWRkVMRWxCUjI1Q1dDeEZRVzVDTWtJc1MwRjFRbTVEWVN4TFFVRkxXQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRFUlBUVk4wY21sdVoweHBjM1F1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXt2YXIgdCxlLGk9e30uaGFzT3duUHJvcGVydHk7ZT1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gbihlLGkscixvLHMsdSl7aWYobi5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLGUpLG51bGw9PWkpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBEVEQgZWxlbWVudCBuYW1lLiBcIit0aGlzLmRlYnVnSW5mbygpKTtpZihudWxsPT1yKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGF0dHJpYnV0ZSBuYW1lLiBcIit0aGlzLmRlYnVnSW5mbyhpKSk7aWYoIW8pdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBEVEQgYXR0cmlidXRlIHR5cGUuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTtpZighcyl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBhdHRyaWJ1dGUgZGVmYXVsdC4gXCIrdGhpcy5kZWJ1Z0luZm8oaSkpO2lmKDAhPT1zLmluZGV4T2YoXCIjXCIpJiYocz1cIiNcIitzKSwhcy5tYXRjaCgvXigjUkVRVUlSRUR8I0lNUExJRUR8I0ZJWEVEfCNERUZBVUxUKSQvKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGRlZmF1bHQgdmFsdWUgdHlwZTsgZXhwZWN0ZWQ6ICNSRVFVSVJFRCwgI0lNUExJRUQsICNGSVhFRCBvciAjREVGQVVMVC4gXCIrdGhpcy5kZWJ1Z0luZm8oaSkpO2lmKHUmJiFzLm1hdGNoKC9eKCNGSVhFRHwjREVGQVVMVCkkLykpdGhyb3cgbmV3IEVycm9yKFwiRGVmYXVsdCB2YWx1ZSBvbmx5IGFwcGxpZXMgdG8gI0ZJWEVEIG9yICNERUZBVUxULiBcIit0aGlzLmRlYnVnSW5mbyhpKSk7dGhpcy5lbGVtZW50TmFtZT10aGlzLnN0cmluZ2lmeS5uYW1lKGkpLHRoaXMudHlwZT10LkF0dHJpYnV0ZURlY2xhcmF0aW9uLHRoaXMuYXR0cmlidXRlTmFtZT10aGlzLnN0cmluZ2lmeS5uYW1lKHIpLHRoaXMuYXR0cmlidXRlVHlwZT10aGlzLnN0cmluZ2lmeS5kdGRBdHRUeXBlKG8pLHUmJih0aGlzLmRlZmF1bHRWYWx1ZT10aGlzLnN0cmluZ2lmeS5kdGRBdHREZWZhdWx0KHUpKSx0aGlzLmRlZmF1bHRWYWx1ZVR5cGU9c31yZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSlpLmNhbGwoZSxyKSYmKHRbcl09ZVtyXSk7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9dH1uLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbix0Ll9fc3VwZXJfXz1lLnByb3RvdHlwZX0obixlKSxuLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kdGRBdHRMaXN0KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSVVJFRjBkRXhwYzNRdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWVRVeE9iMlJsSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVJGUkVRWFIwVEdsemRDSXNJbkJoY21WdWRDSXNJbVZzWlcxbGJuUk9ZVzFsSWl3aVlYUjBjbWxpZFhSbFRtRnRaU0lzSW1GMGRISnBZblYwWlZSNWNHVWlMQ0prWldaaGRXeDBWbUZzZFdWVWVYQmxJaXdpWkdWbVlYVnNkRlpoYkhWbElpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aWRHaHBjeUlzSWtWeWNtOXlJaXdpWkdWaWRXZEpibVp2SWl3aWFXNWtaWGhQWmlJc0ltMWhkR05vSWl3aWMzUnlhVzVuYVdaNUlpd2libUZ0WlNJc0luUjVjR1VpTENKQmRIUnlhV0oxZEdWRVpXTnNZWEpoZEdsdmJpSXNJbVIwWkVGMGRGUjVjR1VpTENKa2RHUkJkSFJFWldaaGRXeDBJaXdpWTJocGJHUWlMQ0pyWlhraUxDSmpkRzl5SWl3aWNISnZkRzkwZVhCbElpd2laWGgwWlc1a0lpd2lkRzlUZEhKcGJtY2lMQ0p2Y0hScGIyNXpJaXdpZDNKcGRHVnlJaXdpWkhSa1FYUjBUR2x6ZENJc0ltWnBiSFJsY2s5d2RHbHZibk1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJlVUpETEVWQlJUTkNReXhGUVVGVkxFZEJRVWRETEdWQlJXWkdMRVZCUVZWSExGRkJRVkVzWVVGRmJFSktMRVZCUVZkSkxGRkJRVkVzWTBGRmJrSkRMRTlCUVU5RExGRkJRVEJDTEZOQlFWVkRMRWRCUjNwRExGTkJRVk5ETEVWQlFXTkRMRVZCUVZGRExFVkJRV0ZETEVWQlFXVkRMRVZCUVdWRExFVkJRV3RDUXl4SFFVVXhSaXhIUVVSQlRpeEZRVUZqVHl4VlFVRlZReXhaUVVGWlF5eExRVUZMUXl4TFFVRk5WQ3hIUVVNMVFpeE5RVUZtUXl4RlFVTkdMRTFCUVUwc1NVRkJTVk1zVFVGQlRTdzJRa0ZCSzBKRUxFdEJRVXRGTEdGQlJYUkVMRWRCUVhGQ0xFMUJRV3BDVkN4RlFVTkdMRTFCUVUwc1NVRkJTVkVzVFVGQlRTd3JRa0ZCYVVORUxFdEJRVXRGTEZWQlFWVldMRWxCUld4RkxFbEJRVXRGTEVWQlEwZ3NUVUZCVFN4SlFVRkpUeXhOUVVGTkxDdENRVUZwUTBRc1MwRkJTMFVzVlVGQlZWWXNTVUZGYkVVc1NVRkJTMGNzUlVGRFNDeE5RVUZOTEVsQlFVbE5MRTFCUVUwc2EwTkJRVzlEUkN4TFFVRkxSU3hWUVVGVlZpeEpRVXR5UlN4SFFVaHpReXhKUVVGc1EwY3NSVUZCYVVKUkxGRkJRVkVzVDBGRE0wSlNMRVZCUVcxQ0xFbEJRVTFCTEVsQlJYUkNRU3hGUVVGcFFsTXNUVUZCVFN3d1EwRkRNVUlzVFVGQlRTeEpRVUZKU0N4TlFVRk5MR3RHUVVGdlJrUXNTMEZCUzBVc1ZVRkJWVllzU1VGRmNrZ3NSMEZCU1Vrc1NVRkJhVUpFTEVWQlFXbENVeXhOUVVGTkxIVkNRVU14UXl4TlFVRk5MRWxCUVVsSUxFMUJRVTBzY1VSQlFYVkVSQ3hMUVVGTFJTeFZRVUZWVml4SlFVVjRSbEVzUzBGQlMxSXNXVUZCWTFFc1MwRkJTMHNzVlVGQlZVTXNTMEZCUzJRc1IwRkRka05STEV0QlFVdFBMRXRCUVU5NlFpeEZRVUZUTUVJc2NVSkJRM0pDVWl4TFFVRkxVQ3hqUVVGblFrOHNTMEZCUzBzc1ZVRkJWVU1zUzBGQlMySXNSMEZEZWtOUExFdEJRVXRPTEdOQlFXZENUU3hMUVVGTFN5eFZRVUZWU1N4WFFVRlhaaXhIUVVNelEwVXNTVUZEUmtrc1MwRkJTMG9zWVVGQlpVa3NTMEZCUzBzc1ZVRkJWVXNzWTBGQlkyUXNTVUZGYmtSSkxFdEJRVXRNTEdsQ1FVRnRRa0VzUlVGUE1VSXNUMEV2UTFNc1UwRkJVMmRDTEVWQlFVOXdRaXhIUVVGVkxFbEJRVXNzU1VGQlNYRkNMRXRCUVU5eVFpeEZRVUZqVUN4RlFVRlJaU3hMUVVGTFVpeEZRVUZSY1VJc1MwRkJUVVFzUlVGQlRVTXNSMEZCVDNKQ0xFVkJRVTl4UWl4SlFVRlJMRk5CUVZORExFbEJRVk5pTEV0QlFVdEdMRmxCUVdOaExFVkJRVk5GTEVWQlFVdERMRlZCUVZsMlFpeEZRVUZQZFVJc1ZVRkJWMGdzUlVGQlRVY3NWVUZCV1N4SlFVRkpSQ3hGUVVGUlJpeEZRVUZOWkN4VlFVRlpUaXhGUVVGUGRVSXNWVUZSYUZGRExFTkJRVTk2UWl4RlFYbERUbEFzUjBGT1JFOHNSVUZCWTNkQ0xGVkJRVlZGTEZOQlFWY3NVMEZCVTBNc1IwRkRNVU1zVDBGQlQycENMRXRCUVV0cFFpeFJRVUZSUXl4UFFVRlBReXhYUVVGWGJrSXNTMEZCVFVFc1MwRkJTMmxDTEZGQlFWRkRMRTlCUVU5RkxHTkJRV05JTEV0QlIzcEZNMElzUlVGNFEzZENMRXRCTkVOb1ExTXNTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhFVkVSQmRIUk1hWE4wTG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgdCxyLGU9e30uaGFzT3duUHJvcGVydHk7cj1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oaSl7ZnVuY3Rpb24gbihyLGUsaSl7aWYobi5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLHIpLG51bGw9PWUpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBEVEQgZWxlbWVudCBuYW1lLiBcIit0aGlzLmRlYnVnSW5mbygpKTtpfHwoaT1cIigjUENEQVRBKVwiKSxBcnJheS5pc0FycmF5KGkpJiYoaT1cIihcIitpLmpvaW4oXCIsXCIpK1wiKVwiKSx0aGlzLm5hbWU9dGhpcy5zdHJpbmdpZnkubmFtZShlKSx0aGlzLnR5cGU9dC5FbGVtZW50RGVjbGFyYXRpb24sdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS5kdGRFbGVtZW50VmFsdWUoaSl9cmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBpIGluIHIpZS5jYWxsKHIsaSkmJih0W2ldPXJbaV0pO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9bi5wcm90b3R5cGU9ci5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG4sdC5fX3N1cGVyX189ci5wcm90b3R5cGV9KG4sciksbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZHRkRWxlbWVudCh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlVSRVZzWlcxbGJuUXVhbk1pWFN3aWJtRnRaWE1pT2xzaVRtOWtaVlI1Y0dVaUxDSllUVXhPYjJSbElpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p6ZFhCbGNrTnNZWE56SWl3aVdFMU1SRlJFUld4bGJXVnVkQ0lzSW5CaGNtVnVkQ0lzSW01aGJXVWlMQ0oyWVd4MVpTSXNJbDlmYzNWd1pYSmZYeUlzSW1OdmJuTjBjblZqZEc5eUlpd2lZMkZzYkNJc0luUm9hWE1pTENKRmNuSnZjaUlzSW1SbFluVm5TVzVtYnlJc0lrRnljbUY1SWl3aWFYTkJjbkpoZVNJc0ltcHZhVzRpTENKemRISnBibWRwWm5raUxDSjBlWEJsSWl3aVJXeGxiV1Z1ZEVSbFkyeGhjbUYwYVc5dUlpd2laSFJrUld4bGJXVnVkRlpoYkhWbElpd2lZMmhwYkdRaUxDSnJaWGtpTENKamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVpYaDBaVzVrSWl3aWRHOVRkSEpwYm1jaUxDSnZjSFJwYjI1eklpd2lkM0pwZEdWeUlpd2laSFJrUld4bGJXVnVkQ0lzSW1acGJIUmxjazl3ZEdsdmJuTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkJTVUVzUlVGQmVVSkRMRVZCUlROQ1F5eEZRVUZWTEVkQlFVZERMR1ZCUldaR0xFVkJRVlZITEZGQlFWRXNZVUZGYkVKS0xFVkJRVmRKTEZGQlFWRXNZMEZGYmtKRExFOUJRVTlETEZGQlFUQkNMRk5CUVZWRExFZEJSM3BETEZOQlFWTkRMRVZCUVdORExFVkJRVkZETEVWQlFVMURMRWRCUlc1RExFZEJSRUZJTEVWQlFXTkpMRlZCUVZWRExGbEJRVmxETEV0QlFVdERMRXRCUVUxT0xFZEJRMjVETEUxQlFWSkRMRVZCUTBZc1RVRkJUU3hKUVVGSlRTeE5RVUZOTERaQ1FVRXJRa1FzUzBGQlMwVXNZVUZGYWtST0xFbEJRMGhCTEVWQlFWRXNZVUZGVGs4c1RVRkJUVU1zVVVGQlVWSXNTMEZEYUVKQkxFVkJRVkVzU1VGQlRVRXNSVUZCVFZNc1MwRkJTeXhMUVVGUExFdEJSV3hEVEN4TFFVRkxUQ3hMUVVGUFN5eExRVUZMVFN4VlFVRlZXQ3hMUVVGTFFTeEhRVU5vUTBzc1MwRkJTMDhzUzBGQlQzUkNMRVZCUVZOMVFpeHRRa0ZEY2tKU0xFdEJRVXRLTEUxQlFWRkpMRXRCUVV0TkxGVkJRVlZITEdkQ1FVRm5RbUlzUjBGUE9VTXNUMEU1UWxNc1UwRkJVMk1zUlVGQlQyaENMRWRCUVZVc1NVRkJTeXhKUVVGSmFVSXNTMEZCVDJwQ0xFVkJRV05RTEVWQlFWRlpMRXRCUVV0TUxFVkJRVkZwUWl4TFFVRk5SQ3hGUVVGTlF5eEhRVUZQYWtJc1JVRkJUMmxDTEVsQlFWRXNVMEZCVTBNc1NVRkJVMW9zUzBGQlMwWXNXVUZCWTFrc1JVRkJVMFVzUlVGQlMwTXNWVUZCV1c1Q0xFVkJRVTl0UWl4VlFVRlhTQ3hGUVVGTlJ5eFZRVUZaTEVsQlFVbEVMRVZCUVZGR0xFVkJRVTFpTEZWQlFWbElMRVZCUVU5dFFpeFZRVkZvVVVNc1EwRkJUM0pDTEVWQmQwSk9VQ3hIUVU1RVR5eEZRVUZqYjBJc1ZVRkJWVVVzVTBGQlZ5eFRRVUZUUXl4SFFVTXhReXhQUVVGUGFFSXNTMEZCUzJkQ0xGRkJRVkZETEU5QlFVOURMRmRCUVZkc1FpeExRVUZOUVN4TFFVRkxaMElzVVVGQlVVTXNUMEZCVDBVc1kwRkJZMGdzUzBGSGVrVjJRaXhGUVhaQ2QwSXNTMEV5UW1oRFRTeExRVUZMUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URVJVUkVWc1pXMWxiblF1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXt2YXIgdCxlLGksbj17fS5oYXNPd25Qcm9wZXJ0eTtpPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikuaXNPYmplY3QsZT1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gbyhlLG4scixzKXtpZihvLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksbnVsbD09cil0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBlbnRpdHkgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8ocikpO2lmKG51bGw9PXMpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBEVEQgZW50aXR5IHZhbHVlLiBcIit0aGlzLmRlYnVnSW5mbyhyKSk7aWYodGhpcy5wZT0hIW4sdGhpcy5uYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUociksdGhpcy50eXBlPXQuRW50aXR5RGVjbGFyYXRpb24saShzKSl7aWYoIXMucHViSUQmJiFzLnN5c0lEKXRocm93IG5ldyBFcnJvcihcIlB1YmxpYyBhbmQvb3Igc3lzdGVtIGlkZW50aWZpZXJzIGFyZSByZXF1aXJlZCBmb3IgYW4gZXh0ZXJuYWwgZW50aXR5LiBcIit0aGlzLmRlYnVnSW5mbyhyKSk7aWYocy5wdWJJRCYmIXMuc3lzSUQpdGhyb3cgbmV3IEVycm9yKFwiU3lzdGVtIGlkZW50aWZpZXIgaXMgcmVxdWlyZWQgZm9yIGEgcHVibGljIGV4dGVybmFsIGVudGl0eS4gXCIrdGhpcy5kZWJ1Z0luZm8ocikpO2lmKHRoaXMuaW50ZXJuYWw9ITEsbnVsbCE9cy5wdWJJRCYmKHRoaXMucHViSUQ9dGhpcy5zdHJpbmdpZnkuZHRkUHViSUQocy5wdWJJRCkpLG51bGwhPXMuc3lzSUQmJih0aGlzLnN5c0lEPXRoaXMuc3RyaW5naWZ5LmR0ZFN5c0lEKHMuc3lzSUQpKSxudWxsIT1zLm5EYXRhJiYodGhpcy5uRGF0YT10aGlzLnN0cmluZ2lmeS5kdGRORGF0YShzLm5EYXRhKSksdGhpcy5wZSYmdGhpcy5uRGF0YSl0aHJvdyBuZXcgRXJyb3IoXCJOb3RhdGlvbiBkZWNsYXJhdGlvbiBpcyBub3QgYWxsb3dlZCBpbiBhIHBhcmFtZXRlciBlbnRpdHkuIFwiK3RoaXMuZGVidWdJbmZvKHIpKX1lbHNlIHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkuZHRkRW50aXR5VmFsdWUocyksdGhpcy5pbnRlcm5hbD0hMH1yZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIGkgaW4gZSluLmNhbGwoZSxpKSYmKHRbaV09ZVtpXSk7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH1yLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0Ll9fc3VwZXJfXz1lLnByb3RvdHlwZX0obyxlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJwdWJsaWNJZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdWJJRH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJzeXN0ZW1JZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zeXNJRH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJub3RhdGlvbk5hbWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubkRhdGF8fG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwiaW5wdXRFbmNvZGluZ1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJ4bWxFbmNvZGluZ1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJ4bWxWZXJzaW9uXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLG8ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmR0ZEVudGl0eSh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LG99KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlVSRVZ1ZEdsMGVTNXFjeUpkTENKdVlXMWxjeUk2V3lKT2IyUmxWSGx3WlNJc0lsaE5URTV2WkdVaUxDSnBjMDlpYW1WamRDSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URVJVUkVWdWRHbDBlU0lzSW5CaGNtVnVkQ0lzSW5CbElpd2libUZ0WlNJc0luWmhiSFZsSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpYzNSeWFXNW5hV1o1SWl3aWRIbHdaU0lzSWtWdWRHbDBlVVJsWTJ4aGNtRjBhVzl1SWl3aWNIVmlTVVFpTENKemVYTkpSQ0lzSW1sdWRHVnlibUZzSWl3aVpIUmtVSFZpU1VRaUxDSmtkR1JUZVhOSlJDSXNJbTVFWVhSaElpd2laSFJrVGtSaGRHRWlMQ0prZEdSRmJuUnBkSGxXWVd4MVpTSXNJbU5vYVd4a0lpd2lhMlY1SWl3aVkzUnZjaUlzSW5CeWIzUnZkSGx3WlNJc0ltVjRkR1Z1WkNJc0lrOWlhbVZqZENJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVoyVjBJaXdpZEc5VGRISnBibWNpTENKdmNIUnBiMjV6SWl3aWQzSnBkR1Z5SWl3aVpIUmtSVzUwYVhSNUlpd2labWxzZEdWeVQzQjBhVzl1Y3lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hKUVVGSlFTeEZRVUYzUWtNc1JVRkJVME1zUlVGRmJrTkRMRVZCUVZVc1IwRkJSME1zWlVGRlprWXNSVUZCVjBjc1VVRkJVU3hoUVVGaFNDeFRRVVZvUTBRc1JVRkJWVWtzVVVGQlVTeGhRVVZzUWt3c1JVRkJWMHNzVVVGQlVTeGpRVVZ1UWtNc1QwRkJUME1zVVVGQmVVSXNVMEZCVlVNc1IwRkhlRU1zVTBGQlUwTXNSVUZCWVVNc1JVRkJVVU1zUlVGQlNVTXNSVUZCVFVNc1IwRkZkRU1zUjBGRVFVb3NSVUZCWVVzc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVkFzUjBGRGJFTXNUVUZCVWtVc1JVRkRSaXhOUVVGTkxFbEJRVWxOTEUxQlFVMHNORUpCUVRoQ1JDeExRVUZMUlN4VlFVRlZVQ3hKUVVVdlJDeEhRVUZoTEUxQlFWUkRMRVZCUTBZc1RVRkJUU3hKUVVGSlN5eE5RVUZOTERaQ1FVRXJRa1FzUzBGQlMwVXNWVUZCVlZBc1NVRkxhRVVzUjBGSVFVc3NTMEZCUzA0c1MwRkJUMEVzUlVGRFdrMHNTMEZCUzB3c1MwRkJUMHNzUzBGQlMwY3NWVUZCVlZJc1MwRkJTMEVzUjBGRGFFTkxMRXRCUVV0SkxFdEJRVTl5UWl4RlFVRlRjMElzYTBKQlEyaENjRUlzUlVGQlUxY3NSMEZIVUN4RFFVTk1MRWxCUVV0QkxFVkJRVTFWTEZGQlFWVldMRVZCUVUxWExFMUJRM3BDTEUxQlFVMHNTVUZCU1U0c1RVRkJUU3g1UlVGQk1rVkVMRXRCUVV0RkxGVkJRVlZRTEVsQlJUVkhMRWRCUVVsRExFVkJRVTFWTEZGQlFWVldMRVZCUVUxWExFMUJRM2hDTEUxQlFVMHNTVUZCU1U0c1RVRkJUU3dyUkVGQmFVVkVMRXRCUVV0RkxGVkJRVlZRTEVsQldXeEhMRWRCVmtGTExFdEJRVXRSTEZWQlFWY3NSVUZEUnl4TlFVRm1XaXhGUVVGTlZTeFJRVU5TVGl4TFFVRkxUU3hOUVVGUlRpeExRVUZMUnl4VlFVRlZUU3hUUVVGVFlpeEZRVUZOVlN4UlFVVXhRaXhOUVVGbVZpeEZRVUZOVnl4UlFVTlNVQ3hMUVVGTFR5eE5RVUZSVUN4TFFVRkxSeXhWUVVGVlR5eFRRVUZUWkN4RlFVRk5WeXhSUVVVeFFpeE5RVUZtV0N4RlFVRk5aU3hSUVVOU1dDeExRVUZMVnl4TlFVRlJXQ3hMUVVGTFJ5eFZRVUZWVXl4VFFVRlRhRUlzUlVGQlRXVXNVVUZGZWtOWUxFdEJRVXRPTEVsQlFVMU5MRXRCUVV0WExFMUJRMnhDTEUxQlFVMHNTVUZCU1ZZc1RVRkJUU3c0UkVGQlowVkVMRXRCUVV0RkxGVkJRVlZRTEZOQmNFSnFSMHNzUzBGQlMwb3NUVUZCVVVrc1MwRkJTMGNzVlVGQlZWVXNaVUZCWldwQ0xFZEJRek5EU1N4TFFVRkxVU3hWUVVGWExFVkJaMFZ3UWl4UFFYcEdVeXhUUVVGVFRTeEZRVUZQY2tJc1IwRkJWU3hKUVVGTExFbEJRVWx6UWl4TFFVRlBkRUlzUlVGQlkxQXNSVUZCVVdFc1MwRkJTMDRzUlVGQlVYTkNMRXRCUVUxRUxFVkJRVTFETEVkQlFVOTBRaXhGUVVGUGMwSXNTVUZCVVN4VFFVRlRReXhKUVVGVGFFSXNTMEZCUzBZc1dVRkJZMmRDTEVWQlFWTkZMRVZCUVV0RExGVkJRVmw0UWl4RlFVRlBkMElzVlVGQlYwZ3NSVUZCVFVjc1ZVRkJXU3hKUVVGSlJDeEZRVUZSUml4RlFVRk5ha0lzVlVGQldVb3NSVUZCVDNkQ0xGVkJWV2hSUXl4RFFVRlBNVUlzUlVGcFJrNVNMRWRCTVVORWJVTXNUMEZCVDBNc1pVRkJaVFZDTEVWQlFXRjVRaXhWUVVGWExGZEJRVmtzUTBGRGVFUkpMRWxCUVVzc1YwRkRTQ3hQUVVGUGNrSXNTMEZCUzAwc1UwRkphRUpoTEU5QlFVOURMR1ZCUVdVMVFpeEZRVUZoZVVJc1ZVRkJWeXhYUVVGWkxFTkJRM2hFU1N4SlFVRkxMRmRCUTBnc1QwRkJUM0pDTEV0QlFVdFBMRk5CU1doQ1dTeFBRVUZQUXl4bFFVRmxOVUlzUlVGQllYbENMRlZCUVZjc1pVRkJaMElzUTBGRE5VUkpMRWxCUVVzc1YwRkRTQ3hQUVVGUGNrSXNTMEZCUzFjc1QwRkJVeXhSUVVsNlFsRXNUMEZCVDBNc1pVRkJaVFZDTEVWQlFXRjVRaXhWUVVGWExHZENRVUZwUWl4RFFVTTNSRWtzU1VGQlN5eFhRVU5JTEU5QlFVOHNVVUZKV0VZc1QwRkJUME1zWlVGQlpUVkNMRVZCUVdGNVFpeFZRVUZYTEdOQlFXVXNRMEZETTBSSkxFbEJRVXNzVjBGRFNDeFBRVUZQTEZGQlNWaEdMRTlCUVU5RExHVkJRV1UxUWl4RlFVRmhlVUlzVlVGQlZ5eGhRVUZqTEVOQlF6RkVTU3hKUVVGTExGZEJRMGdzVDBGQlR5eFJRVWxZTjBJc1JVRkJZWGxDTEZWQlFWVkxMRk5CUVZjc1UwRkJVME1zUjBGRGVrTXNUMEZCVDNaQ0xFdEJRVXQxUWl4UlFVRlJReXhQUVVGUFF5eFZRVUZWZWtJc1MwRkJUVUVzUzBGQlMzVkNMRkZCUVZGRExFOUJRVTlGTEdOQlFXTklMRXRCUjNoRkwwSXNSVUZvUm5WQ0xFdEJiMFl2UWs4c1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeEVWRVJGYm5ScGRIa3Vhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LHIsaT17fS5oYXNPd25Qcm9wZXJ0eTtyPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBvKHIsaSxlKXtpZihvLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsciksbnVsbD09aSl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBub3RhdGlvbiBuYW1lLiBcIit0aGlzLmRlYnVnSW5mbyhpKSk7aWYoIWUucHViSUQmJiFlLnN5c0lEKXRocm93IG5ldyBFcnJvcihcIlB1YmxpYyBvciBzeXN0ZW0gaWRlbnRpZmllcnMgYXJlIHJlcXVpcmVkIGZvciBhbiBleHRlcm5hbCBlbnRpdHkuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTt0aGlzLm5hbWU9dGhpcy5zdHJpbmdpZnkubmFtZShpKSx0aGlzLnR5cGU9dC5Ob3RhdGlvbkRlY2xhcmF0aW9uLG51bGwhPWUucHViSUQmJih0aGlzLnB1YklEPXRoaXMuc3RyaW5naWZ5LmR0ZFB1YklEKGUucHViSUQpKSxudWxsIT1lLnN5c0lEJiYodGhpcy5zeXNJRD10aGlzLnN0cmluZ2lmeS5kdGRTeXNJRChlLnN5c0lEKSl9cmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlIGluIHIpaS5jYWxsKHIsZSkmJih0W2VdPXJbZV0pO2Z1bmN0aW9uIG8oKXt0aGlzLmNvbnN0cnVjdG9yPXR9by5wcm90b3R5cGU9ci5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG8sdC5fX3N1cGVyX189ci5wcm90b3R5cGV9KG8sciksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwicHVibGljSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHViSUR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwic3lzdGVtSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3lzSUR9fSksby5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZHRkTm90YXRpb24odGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxvfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJVUkU1dmRHRjBhVzl1TG1weklsMHNJbTVoYldWeklqcGJJazV2WkdWVWVYQmxJaXdpV0UxTVRtOWtaU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWMzVndaWEpEYkdGemN5SXNJbGhOVEVSVVJFNXZkR0YwYVc5dUlpd2ljR0Z5Wlc1MElpd2libUZ0WlNJc0luWmhiSFZsSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpY0hWaVNVUWlMQ0p6ZVhOSlJDSXNJbk4wY21sdVoybG1lU0lzSW5SNWNHVWlMQ0pPYjNSaGRHbHZia1JsWTJ4aGNtRjBhVzl1SWl3aVpIUmtVSFZpU1VRaUxDSmtkR1JUZVhOSlJDSXNJbU5vYVd4a0lpd2lhMlY1SWl3aVkzUnZjaUlzSW5CeWIzUnZkSGx3WlNJc0ltVjRkR1Z1WkNJc0lrOWlhbVZqZENJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVoyVjBJaXdpZEc5VGRISnBibWNpTENKdmNIUnBiMjV6SWl3aWQzSnBkR1Z5SWl3aVpIUmtUbTkwWVhScGIyNGlMQ0ptYVd4MFpYSlBjSFJwYjI1eklsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVRCQ1F5eEZRVVUxUWtNc1JVRkJWU3hIUVVGSFF5eGxRVVZtUml4RlFVRlZSeXhSUVVGUkxHRkJSV3hDU2l4RlFVRlhTU3hSUVVGUkxHTkJSVzVDUXl4UFFVRlBReXhSUVVFeVFpeFRRVUZWUXl4SFFVY3hReXhUUVVGVFF5eEZRVUZsUXl4RlFVRlJReXhGUVVGTlF5eEhRVVZ3UXl4SFFVUkJTQ3hGUVVGbFNTeFZRVUZWUXl4WlFVRlpReXhMUVVGTFF5eExRVUZOVGl4SFFVTndReXhOUVVGU1F5eEZRVU5HTEUxQlFVMHNTVUZCU1Uwc1RVRkJUU3c0UWtGQlowTkVMRXRCUVV0RkxGVkJRVlZRTEVsQlJXcEZMRWxCUVV0RExFVkJRVTFQTEZGQlFWVlFMRVZCUVUxUkxFMUJRM3BDTEUxQlFVMHNTVUZCU1Vnc1RVRkJUU3h4UlVGQmRVVkVMRXRCUVV0RkxGVkJRVlZRTEVsQlJYaEhTeXhMUVVGTFRDeExRVUZQU3l4TFFVRkxTeXhWUVVGVlZpeExRVUZMUVN4SFFVTm9RMHNzUzBGQlMwMHNTMEZCVDNKQ0xFVkJRVk56UWl4dlFrRkRSaXhOUVVGbVdDeEZRVUZOVHl4UlFVTlNTQ3hMUVVGTFJ5eE5RVUZSU0N4TFFVRkxTeXhWUVVGVlJ5eFRRVUZUV2l4RlFVRk5UeXhSUVVVeFFpeE5RVUZtVUN4RlFVRk5VU3hSUVVOU1NpeExRVUZMU1N4TlFVRlJTaXhMUVVGTFN5eFZRVUZWU1N4VFFVRlRZaXhGUVVGTlVTeFJRVzlDTDBNc1QwRTFRMU1zVTBGQlUwMHNSVUZCVDJoQ0xFZEJRVlVzU1VGQlN5eEpRVUZKYVVJc1MwRkJUMnBDTEVWQlFXTlFMRVZCUVZGWkxFdEJRVXRNTEVWQlFWRnBRaXhMUVVGTlJDeEZRVUZOUXl4SFFVRlBha0lzUlVGQlQybENMRWxCUVZFc1UwRkJVME1zU1VGQlUxb3NTMEZCUzBZc1dVRkJZMWtzUlVGQlUwVXNSVUZCUzBNc1ZVRkJXVzVDTEVWQlFVOXRRaXhWUVVGWFNDeEZRVUZOUnl4VlFVRlpMRWxCUVVsRUxFVkJRVkZHTEVWQlFVMWlMRlZCUVZsSUxFVkJRVTl0UWl4VlFWRm9VVU1zUTBGQlQzSkNMRVZCYzBOT1VDeEhRV3hDUkRaQ0xFOUJRVTlETEdWQlFXVjJRaXhGUVVGbGIwSXNWVUZCVnl4WFFVRlpMRU5CUXpGRVNTeEpRVUZMTEZkQlEwZ3NUMEZCVDJwQ0xFdEJRVXRITEZOQlNXaENXU3hQUVVGUFF5eGxRVUZsZGtJc1JVRkJaVzlDTEZWQlFWY3NWMEZCV1N4RFFVTXhSRWtzU1VGQlN5eFhRVU5JTEU5QlFVOXFRaXhMUVVGTFNTeFRRVWxvUWxnc1JVRkJaVzlDTEZWQlFWVkxMRk5CUVZjc1UwRkJVME1zUjBGRE0wTXNUMEZCVDI1Q0xFdEJRVXR0UWl4UlFVRlJReXhQUVVGUFF5eFpRVUZaY2tJc1MwRkJUVUVzUzBGQlMyMUNMRkZCUVZGRExFOUJRVTlGTEdOQlFXTklMRXRCUnpGRk1VSXNSVUZ5UTNsQ0xFdEJlVU5xUTAwc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeEVWRVJPYjNSaGRHbHZiaTVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LGksbixvPXt9Lmhhc093blByb3BlcnR5O249cmVxdWlyZShcIi4vVXRpbGl0eVwiKS5pc09iamVjdCxpPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihyKXtmdW5jdGlvbiBlKGksbyxyLHMpe3ZhciBsO2UuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxpKSxuKG8pJiYobz0obD1vKS52ZXJzaW9uLHI9bC5lbmNvZGluZyxzPWwuc3RhbmRhbG9uZSksb3x8KG89XCIxLjBcIiksdGhpcy50eXBlPXQuRGVjbGFyYXRpb24sdGhpcy52ZXJzaW9uPXRoaXMuc3RyaW5naWZ5LnhtbFZlcnNpb24obyksbnVsbCE9ciYmKHRoaXMuZW5jb2Rpbmc9dGhpcy5zdHJpbmdpZnkueG1sRW5jb2RpbmcocikpLG51bGwhPXMmJih0aGlzLnN0YW5kYWxvbmU9dGhpcy5zdHJpbmdpZnkueG1sU3RhbmRhbG9uZShzKSl9cmV0dXJuIGZ1bmN0aW9uKHQsaSl7Zm9yKHZhciBuIGluIGkpby5jYWxsKGksbikmJih0W25dPWlbbl0pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9ci5wcm90b3R5cGU9aS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IHIsdC5fX3N1cGVyX189aS5wcm90b3R5cGV9KGUsaSksZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZGVjbGFyYXRpb24odGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxlfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJsWTJ4aGNtRjBhVzl1TG1weklsMHNJbTVoYldWeklqcGJJazV2WkdWVWVYQmxJaXdpV0UxTVRtOWtaU0lzSW1selQySnFaV04wSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVJHVmpiR0Z5WVhScGIyNGlMQ0p3WVhKbGJuUWlMQ0oyWlhKemFXOXVJaXdpWlc1amIyUnBibWNpTENKemRHRnVaR0ZzYjI1bElpd2ljbVZtSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJblI1Y0dVaUxDSkVaV05zWVhKaGRHbHZiaUlzSW5OMGNtbHVaMmxtZVNJc0luaHRiRlpsY25OcGIyNGlMQ0o0Yld4RmJtTnZaR2x1WnlJc0luaHRiRk4wWVc1a1lXeHZibVVpTENKamFHbHNaQ0lzSW10bGVTSXNJbU4wYjNJaUxDSndjbTkwYjNSNWNHVWlMQ0psZUhSbGJtUWlMQ0owYjFOMGNtbHVaeUlzSW05d2RHbHZibk1pTENKM2NtbDBaWElpTENKa1pXTnNZWEpoZEdsdmJpSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCTUVKRExFVkJRVk5ETEVWQlJYSkRReXhGUVVGVkxFZEJRVWRETEdWQlJXWkdMRVZCUVZkSExGRkJRVkVzWVVGQllVZ3NVMEZGYUVORUxFVkJRVlZKTEZGQlFWRXNZVUZGYkVKTUxFVkJRVmRMTEZGQlFWRXNZMEZGYmtKRExFOUJRVTlETEZGQlFUSkNMRk5CUVZWRExFZEJSekZETEZOQlFWTkRMRVZCUVdWRExFVkJRVkZETEVWQlFWTkRMRVZCUVZWRExFZEJRMnBFTEVsQlFVbERMRVZCUTBwTUxFVkJRV1ZOTEZWQlFWVkRMRmxCUVZsRExFdEJRVXRETEV0QlFVMVNMRWRCUXpWRFVpeEZRVUZUVXl4TFFVTkpRU3hIUVVGbVJ5eEZRVUZOU0N4SFFVRjFRa0VzVVVGQlUwTXNSVUZCVjBVc1JVRkJTVVlzVTBGQlZVTXNSVUZCWVVNc1JVRkJTVVFzV1VGRk4wVkdMRWxCUTBoQkxFVkJRVlVzVDBGRldrOHNTMEZCUzBNc1MwRkJUMjVDTEVWQlFWTnZRaXhaUVVOeVFrWXNTMEZCUzFBc1VVRkJWVThzUzBGQlMwY3NWVUZCVlVNc1YwRkJWMWdzUjBGRGVrSXNUVUZCV2tNc1NVRkRSazBzUzBGQlMwNHNVMEZCVjAwc1MwRkJTMGNzVlVGQlZVVXNXVUZCV1Znc1NVRkZNMElzVFVGQlpFTXNTVUZEUmtzc1MwRkJTMHdzVjBGQllVc3NTMEZCUzBjc1ZVRkJWVWNzWTBGQlkxZ3NTVUZSYmtRc1QwRnVRMU1zVTBGQlUxa3NSVUZCVDJZc1IwRkJWU3hKUVVGTExFbEJRVWxuUWl4TFFVRlBhRUlzUlVGQlkxQXNSVUZCVVdNc1MwRkJTMUFzUlVGQlVXZENMRXRCUVUxRUxFVkJRVTFETEVkQlFVOW9RaXhGUVVGUFowSXNTVUZCVVN4VFFVRlRReXhKUVVGVFZDeExRVUZMUml4WlFVRmpVeXhGUVVGVFJTeEZRVUZMUXl4VlFVRlpiRUlzUlVGQlQydENMRlZCUVZkSUxFVkJRVTFITEZWQlFWa3NTVUZCU1VRc1JVRkJVVVlzUlVGQlRWWXNWVUZCV1V3c1JVRkJUMnRDTEZWQlZXaFJReXhEUVVGUGNFSXNSVUV5UWs1U0xFZEJUa1JSTEVWQlFXVnRRaXhWUVVGVlJTeFRRVUZYTEZOQlFWTkRMRWRCUXpORExFOUJRVTlpTEV0QlFVdGhMRkZCUVZGRExFOUJRVTlETEZsQlFWbG1MRXRCUVUxQkxFdEJRVXRoTEZGQlFWRkRMRTlCUVU5RkxHTkJRV05JTEV0QlJ6RkZkRUlzUlVFeFFubENMRXRCT0VKcVExRXNTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhFWldOc1lYSmhkR2x2Ymk1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxlLG4saSxyLG8scyxwLHU9e30uaGFzT3duUHJvcGVydHk7cD1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLmlzT2JqZWN0LHM9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLGU9cmVxdWlyZShcIi4vWE1MRFREQXR0TGlzdFwiKSxpPXJlcXVpcmUoXCIuL1hNTERUREVudGl0eVwiKSxuPXJlcXVpcmUoXCIuL1hNTERUREVsZW1lbnRcIikscj1yZXF1aXJlKFwiLi9YTUxEVEROb3RhdGlvblwiKSxvPXJlcXVpcmUoXCIuL1hNTE5hbWVkTm9kZU1hcFwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihoKXtmdW5jdGlvbiBjKGUsbixpKXt2YXIgcixvLHMsdSxoLHk7aWYoYy5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLGUpLHRoaXMudHlwZT10LkRvY1R5cGUsZS5jaGlsZHJlbilmb3Iobz0wLHM9KHU9ZS5jaGlsZHJlbikubGVuZ3RoO288cztvKyspaWYoKHI9dVtvXSkudHlwZT09PXQuRWxlbWVudCl7dGhpcy5uYW1lPXIubmFtZTticmVha310aGlzLmRvY3VtZW50T2JqZWN0PWUscChuKSYmKG49KGg9bikucHViSUQsaT1oLnN5c0lEKSxudWxsPT1pJiYoaT0oeT1bbixpXSlbMF0sbj15WzFdKSxudWxsIT1uJiYodGhpcy5wdWJJRD10aGlzLnN0cmluZ2lmeS5kdGRQdWJJRChuKSksbnVsbCE9aSYmKHRoaXMuc3lzSUQ9dGhpcy5zdHJpbmdpZnkuZHRkU3lzSUQoaSkpfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKXUuY2FsbChlLG4pJiYodFtuXT1lW25dKTtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWkucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBpLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShjLHMpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSxcImVudGl0aWVzXCIse2dldDpmdW5jdGlvbigpe3ZhciBlLG4saSxyLHM7Zm9yKHI9e30sbj0wLGk9KHM9dGhpcy5jaGlsZHJlbikubGVuZ3RoO248aTtuKyspKGU9c1tuXSkudHlwZSE9PXQuRW50aXR5RGVjbGFyYXRpb258fGUucGV8fChyW2UubmFtZV09ZSk7cmV0dXJuIG5ldyBvKHIpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSxcIm5vdGF0aW9uc1wiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgZSxuLGkscixzO2ZvcihyPXt9LG49MCxpPShzPXRoaXMuY2hpbGRyZW4pLmxlbmd0aDtuPGk7bisrKShlPXNbbl0pLnR5cGU9PT10Lk5vdGF0aW9uRGVjbGFyYXRpb24mJihyW2UubmFtZV09ZSk7cmV0dXJuIG5ldyBvKHIpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSxcInB1YmxpY0lkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1YklEfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSxcInN5c3RlbUlkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN5c0lEfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSxcImludGVybmFsU3Vic2V0XCIse2dldDpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9fSksYy5wcm90b3R5cGUuZWxlbWVudD1mdW5jdGlvbih0LGUpe3ZhciBpO3JldHVybiBpPW5ldyBuKHRoaXMsdCxlKSx0aGlzLmNoaWxkcmVuLnB1c2goaSksdGhpc30sYy5wcm90b3R5cGUuYXR0TGlzdD1mdW5jdGlvbih0LG4saSxyLG8pe3ZhciBzO3JldHVybiBzPW5ldyBlKHRoaXMsdCxuLGkscixvKSx0aGlzLmNoaWxkcmVuLnB1c2gocyksdGhpc30sYy5wcm90b3R5cGUuZW50aXR5PWZ1bmN0aW9uKHQsZSl7dmFyIG47cmV0dXJuIG49bmV3IGkodGhpcywhMSx0LGUpLHRoaXMuY2hpbGRyZW4ucHVzaChuKSx0aGlzfSxjLnByb3RvdHlwZS5wRW50aXR5PWZ1bmN0aW9uKHQsZSl7dmFyIG47cmV0dXJuIG49bmV3IGkodGhpcywhMCx0LGUpLHRoaXMuY2hpbGRyZW4ucHVzaChuKSx0aGlzfSxjLnByb3RvdHlwZS5ub3RhdGlvbj1mdW5jdGlvbih0LGUpe3ZhciBuO3JldHVybiBuPW5ldyByKHRoaXMsdCxlKSx0aGlzLmNoaWxkcmVuLnB1c2gobiksdGhpc30sYy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZG9jVHlwZSh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LGMucHJvdG90eXBlLmVsZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmVsZW1lbnQodCxlKX0sYy5wcm90b3R5cGUuYXR0PWZ1bmN0aW9uKHQsZSxuLGkscil7cmV0dXJuIHRoaXMuYXR0TGlzdCh0LGUsbixpLHIpfSxjLnByb3RvdHlwZS5lbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lbnRpdHkodCxlKX0sYy5wcm90b3R5cGUucGVudD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnBFbnRpdHkodCxlKX0sYy5wcm90b3R5cGUubm90PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMubm90YXRpb24odCxlKX0sYy5wcm90b3R5cGUudXA9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb290KCl8fHRoaXMuZG9jdW1lbnRPYmplY3R9LGMucHJvdG90eXBlLmlzRXF1YWxOb2RlPWZ1bmN0aW9uKHQpe3JldHVybiEhYy5fX3N1cGVyX18uaXNFcXVhbE5vZGUuYXBwbHkodGhpcyxhcmd1bWVudHMpLmlzRXF1YWxOb2RlKHQpJiYodC5uYW1lPT09dGhpcy5uYW1lJiYodC5wdWJsaWNJZD09PXRoaXMucHVibGljSWQmJnQuc3lzdGVtSWQ9PT10aGlzLnN5c3RlbUlkKSl9LGN9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUnZZMVI1Y0dVdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWVRVeEVWRVJCZEhSTWFYTjBJaXdpV0UxTVJGUkVSV3hsYldWdWRDSXNJbGhOVEVSVVJFVnVkR2wwZVNJc0lsaE5URVJVUkU1dmRHRjBhVzl1SWl3aVdFMU1UbUZ0WldST2IyUmxUV0Z3SWl3aVdFMU1UbTlrWlNJc0ltbHpUMkpxWldOMElpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p6ZFhCbGNrTnNZWE56SWl3aVdFMU1SRzlqVkhsd1pTSXNJbkJoY21WdWRDSXNJbkIxWWtsRUlpd2ljM2x6U1VRaUxDSmphR2xzWkNJc0lta2lMQ0pzWlc0aUxDSnlaV1lpTENKeVpXWXhJaXdpY21WbU1pSXNJbDlmYzNWd1pYSmZYeUlzSW1OdmJuTjBjblZqZEc5eUlpd2lZMkZzYkNJc0luUm9hWE1pTENKMGVYQmxJaXdpUkc5alZIbHdaU0lzSW1Ob2FXeGtjbVZ1SWl3aWJHVnVaM1JvSWl3aVJXeGxiV1Z1ZENJc0ltNWhiV1VpTENKa2IyTjFiV1Z1ZEU5aWFtVmpkQ0lzSW5OMGNtbHVaMmxtZVNJc0ltUjBaRkIxWWtsRUlpd2laSFJrVTNselNVUWlMQ0pyWlhraUxDSmpkRzl5SWl3aWNISnZkRzkwZVhCbElpd2laWGgwWlc1a0lpd2lUMkpxWldOMElpd2laR1ZtYVc1bFVISnZjR1Z5ZEhraUxDSm5aWFFpTENKdWIyUmxjeUlzSWtWdWRHbDBlVVJsWTJ4aGNtRjBhVzl1SWl3aWNHVWlMQ0pPYjNSaGRHbHZia1JsWTJ4aGNtRjBhVzl1SWl3aVJYSnliM0lpTENKa1pXSjFaMGx1Wm04aUxDSmxiR1Z0Wlc1MElpd2lkbUZzZFdVaUxDSndkWE5vSWl3aVlYUjBUR2x6ZENJc0ltVnNaVzFsYm5ST1lXMWxJaXdpWVhSMGNtbGlkWFJsVG1GdFpTSXNJbUYwZEhKcFluVjBaVlI1Y0dVaUxDSmtaV1poZFd4MFZtRnNkV1ZVZVhCbElpd2laR1ZtWVhWc2RGWmhiSFZsSWl3aVpXNTBhWFI1SWl3aWNFVnVkR2wwZVNJc0ltNXZkR0YwYVc5dUlpd2lkRzlUZEhKcGJtY2lMQ0p2Y0hScGIyNXpJaXdpZDNKcGRHVnlJaXdpWkc5alZIbHdaU0lzSW1acGJIUmxjazl3ZEdsdmJuTWlMQ0psYkdVaUxDSmhkSFFpTENKbGJuUWlMQ0p3Wlc1MElpd2libTkwSWl3aWRYQWlMQ0p5YjI5MElpd2lhWE5GY1hWaGJFNXZaR1VpTENKdWIyUmxJaXdpWVhCd2JIa2lMQ0poY21kMWJXVnVkSE1pTENKd2RXSnNhV05KWkNJc0luTjVjM1JsYlVsa0lsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVZWRExFVkJRV1ZETEVWQlFXVkRMRVZCUVdORExFVkJRVFJDUXl4RlFVRnBRa01zUlVGQlUwTXNSVUZGT1VkRExFVkJRVlVzUjBGQlIwTXNaVUZGWmtZc1JVRkJWMGNzVVVGQlVTeGhRVUZoU0N4VFFVVm9RMFFzUlVGQlZVa3NVVUZCVVN4aFFVVnNRbFlzUlVGQlYxVXNVVUZCVVN4alFVVnVRbFFzUlVGQlowSlRMRkZCUVZFc2JVSkJSWGhDVUN4RlFVRmxUeXhSUVVGUkxHdENRVVYyUWxJc1JVRkJaMEpSTEZGQlFWRXNiVUpCUlhoQ1RpeEZRVUZwUWswc1VVRkJVU3h2UWtGRmVrSk1MRVZCUVd0Q1N5eFJRVUZSTEhGQ1FVVXhRa01zVDBGQlQwTXNVVUZCZFVJc1UwRkJWVU1zUjBGSGRFTXNVMEZCVTBNc1JVRkJWME1zUlVGQlVVTXNSVUZCVDBNc1IwRkRha01zU1VGQlNVTXNSVUZCVDBNc1JVRkJSME1zUlVGQlMwTXNSVUZCUzBNc1JVRkJUVU1zUlVGSE9VSXNSMEZHUVZRc1JVRkJWMVVzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRWb3NSMEZETlVOWkxFdEJRVXRETEV0QlFVODFRaXhGUVVGVE5rSXNVVUZEYWtKa0xFVkJRVTlsTEZOQlJWUXNTVUZCUzFnc1JVRkJTU3hGUVVGSFF5eEhRVVJhUXl4RlFVRk5UaXhGUVVGUFpTeFZRVU5UUXl4UFFVRlJXaXhGUVVGSlF5eEZRVUZMUkN4SlFVVnlReXhKUVVSQlJDeEZRVUZSUnl4RlFVRkpSaXhKUVVOR1V5eFBRVUZUTlVJc1JVRkJVMmRETEZGQlFWTXNRMEZEYmtOTUxFdEJRVXROTEV0QlFVOW1MRVZCUVUxbExFdEJRMnhDTEUxQlNVNU9MRXRCUVV0UExHVkJRV2xDYmtJc1JVRkRiRUpTTEVWQlFWTlRMRXRCUTBkQkxFZEJRV1JOTEVWQlFVOU9MRWRCUVc5Q1FTeE5RVUZQUXl4RlFVRlJTeXhGUVVGTFRDeFBRVVZ3UXl4TlFVRlVRU3hKUVVOeFFrRXNSMEZCZGtKTkxFVkJRVThzUTBGQlExQXNSVUZCVDBNc1NVRkJjVUlzUjBGQlNVUXNSVUZCVVU4c1JVRkJTeXhKUVVVeFF5eE5RVUZVVUN4SlFVTkdWeXhMUVVGTFdDeE5RVUZSVnl4TFFVRkxVU3hWUVVGVlF5eFRRVUZUY0VJc1NVRkZNVUlzVFVGQlZFTXNTVUZEUmxVc1MwRkJTMVlzVFVGQlVWVXNTMEZCUzFFc1ZVRkJWVVVzVTBGQlUzQkNMRWxCYlVsNlF5eFBRV3hNVXl4VFFVRlRReXhGUVVGUFNDeEhRVUZWTEVsQlFVc3NTVUZCU1hWQ0xFdEJRVTkyUWl4RlFVRmpVQ3hGUVVGUmEwSXNTMEZCUzFnc1JVRkJVWFZDTEV0QlFVMXdRaXhGUVVGTmIwSXNSMEZCVDNaQ0xFVkJRVTkxUWl4SlFVRlJMRk5CUVZORExFbEJRVk5hTEV0QlFVdEdMRmxCUVdOUUxFVkJRVk54UWl4RlFVRkxReXhWUVVGWmVrSXNSVUZCVDNsQ0xGVkJRVmQwUWl4RlFVRk5jMElzVlVGQldTeEpRVUZKUkN4RlFVRlJja0lzUlVGQlRVMHNWVUZCV1ZRc1JVRkJUM2xDTEZWQmIwSm9VVU1zUTBGQlR6TkNMRVZCWjB0T1VpeEhRV3BKUkc5RExFOUJRVTlETEdWQlFXVTNRaXhGUVVGWE1FSXNWVUZCVnl4WFFVRlpMRU5CUTNSRVNTeEpRVUZMTEZkQlEwZ3NTVUZCU1RGQ0xFVkJRVTlETEVWQlFVZERMRVZCUVV0NVFpeEZRVUZQZUVJc1JVRkhNVUlzU1VGR1FYZENMRVZCUVZFc1IwRkZTREZDTEVWQlFVa3NSVUZCUjBNc1IwRkVXa01zUlVGQlRVMHNTMEZCUzBjc1ZVRkRWME1zVDBGQlVWb3NSVUZCU1VNc1JVRkJTMFFzUzBGRGNrTkVMRVZCUVZGSExFVkJRVWxHTEVsQlEwUlRMRTlCUVZNMVFpeEZRVUZUT0VNc2JVSkJRWFZDTlVJc1JVRkJUVFpDTEV0QlEzaEVSaXhGUVVGTk0wSXNSVUZCVFdVc1RVRkJVV1lzUjBGSGVFSXNUMEZCVHl4SlFVRkpZaXhGUVVGblFuZERMRTFCU1M5Q1NDeFBRVUZQUXl4bFFVRmxOMElzUlVGQlZ6QkNMRlZCUVZjc1dVRkJZU3hEUVVOMlJFa3NTVUZCU3l4WFFVTklMRWxCUVVreFFpeEZRVUZQUXl4RlFVRkhReXhGUVVGTGVVSXNSVUZCVDNoQ0xFVkJSekZDTEVsQlJrRjNRaXhGUVVGUkxFZEJSVWd4UWl4RlFVRkpMRVZCUVVkRExFZEJSRnBETEVWQlFVMU5MRXRCUVV0SExGVkJRMWRETEU5QlFWRmFMRVZCUVVsRExFVkJRVXRFTEV0QlEzSkRSQ3hGUVVGUlJ5eEZRVUZKUml4SlFVTkdVeXhQUVVGVE5VSXNSVUZCVTJkRUxITkNRVU14UWtnc1JVRkJUVE5DTEVWQlFVMWxMRTFCUVZGbUxFZEJSM2hDTEU5QlFVOHNTVUZCU1dJc1JVRkJaMEozUXl4TlFVa3ZRa2dzVDBGQlQwTXNaVUZCWlRkQ0xFVkJRVmN3UWl4VlFVRlhMRmRCUVZrc1EwRkRkRVJKTEVsQlFVc3NWMEZEU0N4UFFVRlBha0lzUzBGQlMxZ3NVMEZKYUVJd1FpeFBRVUZQUXl4bFFVRmxOMElzUlVGQlZ6QkNMRlZCUVZjc1YwRkJXU3hEUVVOMFJFa3NTVUZCU3l4WFFVTklMRTlCUVU5cVFpeExRVUZMVml4VFFVbG9RbmxDTEU5QlFVOURMR1ZCUVdVM1FpeEZRVUZYTUVJc1ZVRkJWeXhwUWtGQmEwSXNRMEZETlVSSkxFbEJRVXNzVjBGRFNDeE5RVUZOTEVsQlFVbExMRTFCUVUwc2MwTkJRWGREZEVJc1MwRkJTM1ZDTEdkQ1FVbHFSWEJETEVWQlFWY3dRaXhWUVVGVlZ5eFJRVUZWTEZOQlFWTnNRaXhGUVVGTmJVSXNSMEZETlVNc1NVRkJTV3hETEVWQlIwb3NUMEZHUVVFc1JVRkJVU3hKUVVGSmFFSXNSVUZCWTNsQ0xFdEJRVTFOTEVWQlFVMXRRaXhIUVVOMFEzcENMRXRCUVV0SExGTkJRVk4xUWl4TFFVRkxia01zUjBGRFdsTXNUVUZIVkdJc1JVRkJWekJDTEZWQlFWVmpMRkZCUVZVc1UwRkJVME1zUlVGQllVTXNSVUZCWlVNc1JVRkJaVU1zUlVGQmEwSkRMRWRCUTI1SExFbEJRVWw2UXl4RlFVZEtMRTlCUmtGQkxFVkJRVkVzU1VGQlNXcENMRVZCUVdNd1FpeExRVUZOTkVJc1JVRkJZVU1zUlVGQlpVTXNSVUZCWlVNc1JVRkJhMEpETEVkQlF6ZEdhRU1zUzBGQlMwY3NVMEZCVTNWQ0xFdEJRVXR1UXl4SFFVTmFVeXhOUVVkVVlpeEZRVUZYTUVJc1ZVRkJWVzlDTEU5QlFWTXNVMEZCVXpOQ0xFVkJRVTF0UWl4SFFVTXpReXhKUVVGSmJFTXNSVUZIU2l4UFFVWkJRU3hGUVVGUkxFbEJRVWxtTEVWQlFXRjNRaXhOUVVGTkxFVkJRVTlOTEVWQlFVMXRRaXhIUVVNMVEzcENMRXRCUVV0SExGTkJRVk4xUWl4TFFVRkxia01zUjBGRFdsTXNUVUZIVkdJc1JVRkJWekJDTEZWQlFWVnhRaXhSUVVGVkxGTkJRVk0xUWl4RlFVRk5iVUlzUjBGRE5VTXNTVUZCU1d4RExFVkJSMG9zVDBGR1FVRXNSVUZCVVN4SlFVRkpaaXhGUVVGaGQwSXNUVUZCVFN4RlFVRk5UU3hGUVVGTmJVSXNSMEZETTBONlFpeExRVUZMUnl4VFFVRlRkVUlzUzBGQlMyNURMRWRCUTFwVExFMUJSMVJpTEVWQlFWY3dRaXhWUVVGVmMwSXNVMEZCVnl4VFFVRlROMElzUlVGQlRXMUNMRWRCUXpkRExFbEJRVWxzUXl4RlFVZEtMRTlCUmtGQkxFVkJRVkVzU1VGQlNXUXNSVUZCWlhWQ0xFdEJRVTFOTEVWQlFVMXRRaXhIUVVOMlEzcENMRXRCUVV0SExGTkJRVk4xUWl4TFFVRkxia01zUjBGRFdsTXNUVUZIVkdJc1JVRkJWekJDTEZWQlFWVjFRaXhUUVVGWExGTkJRVk5ETEVkQlEzWkRMRTlCUVU5eVF5eExRVUZMY1VNc1VVRkJVVU1zVDBGQlQwTXNVVUZCVVhaRExFdEJRVTFCTEV0QlFVdHhReXhSUVVGUlF5eFBRVUZQUlN4alFVRmpTQ3hMUVVjM1JXeEVMRVZCUVZjd1FpeFZRVUZWTkVJc1NVRkJUU3hUUVVGVGJrTXNSVUZCVFcxQ0xFZEJRM2hETEU5QlFVOTZRaXhMUVVGTGQwSXNVVUZCVVd4Q0xFVkJRVTF0UWl4SlFVYzFRblJETEVWQlFWY3dRaXhWUVVGVk5rSXNTVUZCVFN4VFFVRlRaQ3hGUVVGaFF5eEZRVUZsUXl4RlFVRmxReXhGUVVGclFrTXNSMEZETDBZc1QwRkJUMmhETEV0QlFVc3lRaXhSUVVGUlF5eEZRVUZoUXl4RlFVRmxReXhGUVVGbFF5eEZRVUZyUWtNc1NVRkhia1kzUXl4RlFVRlhNRUlzVlVGQlZUaENMRWxCUVUwc1UwRkJVM0pETEVWQlFVMXRRaXhIUVVONFF5eFBRVUZQZWtJc1MwRkJTMmxETEU5QlFVOHpRaXhGUVVGTmJVSXNTVUZITTBKMFF5eEZRVUZYTUVJc1ZVRkJWU3RDTEV0QlFVOHNVMEZCVTNSRExFVkJRVTF0UWl4SFFVTjZReXhQUVVGUGVrSXNTMEZCUzJ0RExGRkJRVkUxUWl4RlFVRk5iVUlzU1VGSE5VSjBReXhGUVVGWE1FSXNWVUZCVldkRExFbEJRVTBzVTBGQlUzWkRMRVZCUVUxdFFpeEhRVU40UXl4UFFVRlBla0lzUzBGQlMyMURMRk5CUVZNM1FpeEZRVUZOYlVJc1NVRkhOMEowUXl4RlFVRlhNRUlzVlVGQlZXbERMRWRCUVVzc1YwRkRlRUlzVDBGQlR6bERMRXRCUVVzclF5eFJRVUZWTDBNc1MwRkJTMDhzWjBKQlJ6ZENjRUlzUlVGQlZ6QkNMRlZCUVZWdFF5eFpRVUZqTEZOQlFWTkRMRWRCUXpGRExGRkJRVXM1UkN4RlFVRlhWU3hWUVVGVmJVUXNXVUZCV1VVc1RVRkJUV3hFTEV0QlFVMXRSQ3hYUVVGWFNDeFpRVUZaUXl4TFFVZHlSVUVzUlVGQlN6TkRMRTlCUVZOT0xFdEJRVXROTEU5QlIyNUNNa01zUlVGQlMwY3NWMEZCWVhCRUxFdEJRVXR2UkN4VlFVZDJRa2dzUlVGQlMwa3NWMEZCWVhKRUxFdEJRVXR4UkN4WlFVMTBRbXhGTEVWQkwwcHhRaXhMUVcxTE4wSlpMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNUkc5alZIbHdaUzVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LGUsbyxuLHIsaSxwLGg9e30uaGFzT3duUHJvcGVydHk7cD1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLmlzUGxhaW5PYmplY3Qsbz1yZXF1aXJlKFwiLi9YTUxET01JbXBsZW1lbnRhdGlvblwiKSxlPXJlcXVpcmUoXCIuL1hNTERPTUNvbmZpZ3VyYXRpb25cIiksbj1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksaT1yZXF1aXJlKFwiLi9YTUxTdHJpbmdpZmllclwiKSxyPXJlcXVpcmUoXCIuL1hNTFN0cmluZ1dyaXRlclwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihzKXtmdW5jdGlvbiB1KG8pe3UuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxudWxsKSx0aGlzLm5hbWU9XCIjZG9jdW1lbnRcIix0aGlzLnR5cGU9dC5Eb2N1bWVudCx0aGlzLmRvY3VtZW50VVJJPW51bGwsdGhpcy5kb21Db25maWc9bmV3IGUsb3x8KG89e30pLG8ud3JpdGVyfHwoby53cml0ZXI9bmV3IHIpLHRoaXMub3B0aW9ucz1vLHRoaXMuc3RyaW5naWZ5PW5ldyBpKG8pfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgbyBpbiBlKWguY2FsbChlLG8pJiYodFtvXT1lW29dKTtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW4ucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBuLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfSh1LG4pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImltcGxlbWVudGF0aW9uXCIse3ZhbHVlOm5ldyBvfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiZG9jdHlwZVwiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgZSxvLG4scjtmb3Iobz0wLG49KHI9dGhpcy5jaGlsZHJlbikubGVuZ3RoO288bjtvKyspaWYoKGU9cltvXSkudHlwZT09PXQuRG9jVHlwZSlyZXR1cm4gZTtyZXR1cm4gbnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJkb2N1bWVudEVsZW1lbnRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucm9vdE9iamVjdHx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJpbnB1dEVuY29kaW5nXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcInN0cmljdEVycm9yQ2hlY2tpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuITF9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwieG1sRW5jb2RpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLmNoaWxkcmVuLmxlbmd0aCYmdGhpcy5jaGlsZHJlblswXS50eXBlPT09dC5EZWNsYXJhdGlvbj90aGlzLmNoaWxkcmVuWzBdLmVuY29kaW5nOm51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwieG1sU3RhbmRhbG9uZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMuY2hpbGRyZW4ubGVuZ3RoJiZ0aGlzLmNoaWxkcmVuWzBdLnR5cGU9PT10LkRlY2xhcmF0aW9uJiZcInllc1wiPT09dGhpcy5jaGlsZHJlblswXS5zdGFuZGFsb25lfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcInhtbFZlcnNpb25cIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLmNoaWxkcmVuLmxlbmd0aCYmdGhpcy5jaGlsZHJlblswXS50eXBlPT09dC5EZWNsYXJhdGlvbj90aGlzLmNoaWxkcmVuWzBdLnZlcnNpb246XCIxLjBcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJVUkxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9jdW1lbnRVUkl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwib3JpZ2luXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImNvbXBhdE1vZGVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiY2hhcmFjdGVyU2V0XCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImNvbnRlbnRUeXBlXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLHUucHJvdG90eXBlLmVuZD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gZT17fSx0P3AodCkmJihlPXQsdD10aGlzLm9wdGlvbnMud3JpdGVyKTp0PXRoaXMub3B0aW9ucy53cml0ZXIsdC5kb2N1bWVudCh0aGlzLHQuZmlsdGVyT3B0aW9ucyhlKSl9LHUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmRvY3VtZW50KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sdS5wcm90b3R5cGUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlQ29tbWVudD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVDREFUQVNlY3Rpb249ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlQXR0cmlidXRlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZUVudGl0eVJlZmVyZW5jZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5pbXBvcnROb2RlPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlRWxlbWVudE5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlQXR0cmlidXRlTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5nZXRFbGVtZW50c0J5VGFnTmFtZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuZ2V0RWxlbWVudEJ5SWQ9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuYWRvcHROb2RlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLm5vcm1hbGl6ZURvY3VtZW50PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUucmVuYW1lTm9kZT1mdW5jdGlvbih0LGUsbyl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVFdmVudD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVSYW5nZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZU5vZGVJdGVyYXRvcj1mdW5jdGlvbih0LGUsbyl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlVHJlZVdhbGtlcj1mdW5jdGlvbih0LGUsbyl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSdlkzVnRaVzUwTG1weklsMHNJbTVoYldWeklqcGJJazV2WkdWVWVYQmxJaXdpV0UxTVJFOU5RMjl1Wm1sbmRYSmhkR2x2YmlJc0lsaE5URVJQVFVsdGNHeGxiV1Z1ZEdGMGFXOXVJaXdpV0UxTVRtOWtaU0lzSWxoTlRGTjBjbWx1WjFkeWFYUmxjaUlzSWxoTlRGTjBjbWx1WjJsbWFXVnlJaXdpYVhOUWJHRnBiazlpYW1WamRDSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URVJ2WTNWdFpXNTBJaXdpYjNCMGFXOXVjeUlzSWw5ZmMzVndaWEpmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWTJGc2JDSXNJblJvYVhNaUxDSnVZVzFsSWl3aWRIbHdaU0lzSWtSdlkzVnRaVzUwSWl3aVpHOWpkVzFsYm5SVlVra2lMQ0prYjIxRGIyNW1hV2NpTENKM2NtbDBaWElpTENKemRISnBibWRwWm5raUxDSmphR2xzWkNJc0luQmhjbVZ1ZENJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKUFltcGxZM1FpTENKa1pXWnBibVZRY205d1pYSjBlU0lzSW5aaGJIVmxJaXdpWjJWMElpd2lhU0lzSW14bGJpSXNJbkpsWmlJc0ltTm9hV3hrY21WdUlpd2liR1Z1WjNSb0lpd2lSRzlqVkhsd1pTSXNJbkp2YjNSUFltcGxZM1FpTENKRVpXTnNZWEpoZEdsdmJpSXNJbVZ1WTI5a2FXNW5JaXdpYzNSaGJtUmhiRzl1WlNJc0luWmxjbk5wYjI0aUxDSmxibVFpTENKM2NtbDBaWEpQY0hScGIyNXpJaXdpWkc5amRXMWxiblFpTENKbWFXeDBaWEpQY0hScGIyNXpJaXdpZEc5VGRISnBibWNpTENKamNtVmhkR1ZGYkdWdFpXNTBJaXdpZEdGblRtRnRaU0lzSWtWeWNtOXlJaXdpWkdWaWRXZEpibVp2SWl3aVkzSmxZWFJsUkc5amRXMWxiblJHY21GbmJXVnVkQ0lzSW1OeVpXRjBaVlJsZUhST2IyUmxJaXdpWkdGMFlTSXNJbU55WldGMFpVTnZiVzFsYm5RaUxDSmpjbVZoZEdWRFJFRlVRVk5sWTNScGIyNGlMQ0pqY21WaGRHVlFjbTlqWlhOemFXNW5TVzV6ZEhKMVkzUnBiMjRpTENKMFlYSm5aWFFpTENKamNtVmhkR1ZCZEhSeWFXSjFkR1VpTENKamNtVmhkR1ZGYm5ScGRIbFNaV1psY21WdVkyVWlMQ0puWlhSRmJHVnRaVzUwYzBKNVZHRm5UbUZ0WlNJc0luUmhaMjVoYldVaUxDSnBiWEJ2Y25ST2IyUmxJaXdpYVcxd2IzSjBaV1JPYjJSbElpd2laR1ZsY0NJc0ltTnlaV0YwWlVWc1pXMWxiblJPVXlJc0ltNWhiV1Z6Y0dGalpWVlNTU0lzSW5GMVlXeHBabWxsWkU1aGJXVWlMQ0pqY21WaGRHVkJkSFJ5YVdKMWRHVk9VeUlzSW1kbGRFVnNaVzFsYm5SelFubFVZV2RPWVcxbFRsTWlMQ0pzYjJOaGJFNWhiV1VpTENKblpYUkZiR1Z0Wlc1MFFubEpaQ0lzSW1Wc1pXMWxiblJKWkNJc0ltRmtiM0IwVG05a1pTSXNJbk52ZFhKalpTSXNJbTV2Y20xaGJHbDZaVVJ2WTNWdFpXNTBJaXdpY21WdVlXMWxUbTlrWlNJc0ltNXZaR1VpTENKblpYUkZiR1Z0Wlc1MGMwSjVRMnhoYzNOT1lXMWxJaXdpWTJ4aGMzTk9ZVzFsY3lJc0ltTnlaV0YwWlVWMlpXNTBJaXdpWlhabGJuUkpiblJsY21aaFkyVWlMQ0pqY21WaGRHVlNZVzVuWlNJc0ltTnlaV0YwWlU1dlpHVkpkR1Z5WVhSdmNpSXNJbkp2YjNRaUxDSjNhR0YwVkc5VGFHOTNJaXdpWm1sc2RHVnlJaXdpWTNKbFlYUmxWSEpsWlZkaGJHdGxjaUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUZKUVN4RlFVRlZReXhGUVVGeFFrTXNSVUZCYlVORExFVkJRVk5ETEVWQlFXbENReXhGUVVGblFrTXNSVUZGT1VkRExFVkJRVlVzUjBGQlIwTXNaVUZGWmtZc1JVRkJaMEpITEZGQlFWRXNZVUZCWVVnc1kwRkZja05LTEVWQlFYVkNUeXhSUVVGUkxEQkNRVVV2UWxJc1JVRkJjMEpSTEZGQlFWRXNlVUpCUlRsQ1RpeEZRVUZWVFN4UlFVRlJMR0ZCUld4Q1ZDeEZRVUZYVXl4UlFVRlJMR05CUlc1Q1NpeEZRVUZwUWtrc1VVRkJVU3h2UWtGRmVrSk1MRVZCUVd0Q1N5eFJRVUZSTEhGQ1FVVXhRa01zVDBGQlQwTXNVVUZCZDBJc1UwRkJWVU1zUjBGSGRrTXNVMEZCVTBNc1JVRkJXVU1zUjBGRGJrSkVMRVZCUVZsRkxGVkJRVlZETEZsQlFWbERMRXRCUVV0RExFdEJRVTBzVFVGRE4wTkJMRXRCUVV0RExFdEJRVThzV1VGRFdrUXNTMEZCUzBVc1MwRkJUM0JDTEVWQlFWTnhRaXhUUVVOeVFrZ3NTMEZCUzBrc1dVRkJZeXhMUVVOdVFrb3NTMEZCUzBzc1ZVRkJXU3hKUVVGSmRFSXNSVUZEY2tKaExFbEJRVmxCTEVWQlFWVXNTVUZEYWtKQkxFVkJRVkZWTEZOQlExaFdMRVZCUVZGVkxFOUJRVk1zU1VGQlNYQkNMRWRCUlhaQ1l5eExRVUZMU2l4UlFVRlZRU3hGUVVObVNTeExRVUZMVHl4VlFVRlpMRWxCUVVsd1FpeEZRVUZsVXl4SFFUSk5kRU1zVDBFeFQxTXNVMEZCVTFrc1JVRkJUME1zUjBGQlZTeEpRVUZMTEVsQlFVbERMRXRCUVU5RUxFVkJRV053UWl4RlFVRlJWU3hMUVVGTFZTeEZRVUZSUXl4TFFVRk5SaXhGUVVGTlJTeEhRVUZQUkN4RlFVRlBReXhKUVVGUkxGTkJRVk5ETEVsQlFWTllMRXRCUVV0R0xGbEJRV05WTEVWQlFWTkhMRVZCUVV0RExGVkJRVmxJTEVWQlFVOUhMRlZCUVZkS0xFVkJRVTFKTEZWQlFWa3NTVUZCU1VRc1JVRkJVVWdzUlVGQlRWZ3NWVUZCV1Zrc1JVRkJUMGNzVlVGclFtaFJReXhEUVVGUGJFSXNSVUV3VGs1V0xFZEJNVTFFTmtJc1QwRkJUME1zWlVGQlpYQkNMRVZCUVZscFFpeFZRVUZYTEdsQ1FVRnJRaXhEUVVNM1JFa3NUVUZCVHl4SlFVRkphRU1zU1VGSFlqaENMRTlCUVU5RExHVkJRV1Z3UWl4RlFVRlphVUlzVlVGQlZ5eFZRVUZYTEVOQlEzUkVTeXhKUVVGTExGZEJRMGdzU1VGQlNWUXNSVUZCVDFVc1JVRkJSME1zUlVGQlMwTXNSVUZGYmtJc1NVRkJTMFlzUlVGQlNTeEZRVUZIUXl4SFFVUmFReXhGUVVGTmNFSXNTMEZCUzNGQ0xGVkJRMWRETEU5QlFWRktMRVZCUVVsRExFVkJRVXRFTEVsQlJYSkRMRWxCUkVGV0xFVkJRVkZaTEVWQlFVbEdMRWxCUTBab1FpeFBRVUZUY0VJc1JVRkJVM2xETEZGQlF6RkNMRTlCUVU5bUxFVkJSMWdzVDBGQlR5eFJRVWxZVFN4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzYTBKQlFXMUNMRU5CUXpsRVN5eEpRVUZMTEZkQlEwZ3NUMEZCVDJwQ0xFdEJRVXQzUWl4WlFVRmpMRkZCU1RsQ1ZpeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc1owSkJRV2xDTEVOQlF6VkVTeXhKUVVGTExGZEJRMGdzVDBGQlR5eFJRVWxZU0N4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzYzBKQlFYVkNMRU5CUTJ4RlN5eEpRVUZMTEZkQlEwZ3NUMEZCVHl4TFFVbFlTQ3hQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NZMEZCWlN4RFFVTXhSRXNzU1VGQlN5eFhRVU5JTEU5QlFUWkNMRWxCUVhwQ2FrSXNTMEZCUzNGQ0xGTkJRVk5ETEZGQlFXZENkRUlzUzBGQlMzRkNMRk5CUVZNc1IwRkJSMjVDTEU5QlFWTndRaXhGUVVGVE1rTXNXVUZETlVSNlFpeExRVUZMY1VJc1UwRkJVeXhIUVVGSFN5eFRRVVZxUWl4UlFVdGlXaXhQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NaMEpCUVdsQ0xFTkJRelZFU3l4SlFVRkxMRmRCUTBnc1QwRkJOa0lzU1VGQmVrSnFRaXhMUVVGTGNVSXNVMEZCVTBNc1VVRkJaMEowUWl4TFFVRkxjVUlzVTBGQlV5eEhRVUZIYmtJc1QwRkJVM0JDTEVWQlFWTXlReXhoUVVNMVFpeFJRVUZvUTNwQ0xFdEJRVXR4UWl4VFFVRlRMRWRCUVVkTkxHTkJUemxDWWl4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzWVVGQll5eERRVU42UkVzc1NVRkJTeXhYUVVOSUxFOUJRVFpDTEVsQlFYcENha0lzUzBGQlMzRkNMRk5CUVZORExGRkJRV2RDZEVJc1MwRkJTM0ZDTEZOQlFWTXNSMEZCUjI1Q0xFOUJRVk53UWl4RlFVRlRNa01zV1VGRE5VUjZRaXhMUVVGTGNVSXNVMEZCVXl4SFFVRkhUeXhSUVVWcVFpeFRRVXRpWkN4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzVFVGQlR5eERRVU5zUkVzc1NVRkJTeXhYUVVOSUxFOUJRVTlxUWl4TFFVRkxTU3hsUVVsb1FsVXNUMEZCVDBNc1pVRkJaWEJDTEVWQlFWbHBRaXhWUVVGWExGTkJRVlVzUTBGRGNrUkxMRWxCUVVzc1YwRkRTQ3hQUVVGUExGRkJTVmhJTEU5QlFVOURMR1ZCUVdWd1FpeEZRVUZaYVVJc1ZVRkJWeXhoUVVGakxFTkJRM3BFU3l4SlFVRkxMRmRCUTBnc1QwRkJUeXhSUVVsWVNDeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc1pVRkJaMElzUTBGRE0wUkxMRWxCUVVzc1YwRkRTQ3hQUVVGUExGRkJTVmhJTEU5QlFVOURMR1ZCUVdWd1FpeEZRVUZaYVVJc1ZVRkJWeXhqUVVGbExFTkJRekZFU3l4SlFVRkxMRmRCUTBnc1QwRkJUeXhSUVVsWWRFSXNSVUZCV1dsQ0xGVkJRVlZwUWl4SlFVRk5MRk5CUVZOMlFpeEhRVU51UXl4SlFVRkpkMElzUlVGUlNpeFBRVkJCUVN4RlFVRm5RaXhIUVVOWWVFSXNSVUZGVFd4Q0xFVkJRV05yUWl4TFFVTjJRbmRDTEVWQlFXZENlRUlzUlVGRGFFSkJMRVZCUVZOT0xFdEJRVXRLTEZGQlFWRlZMRkZCU0hSQ1FTeEZRVUZUVGl4TFFVRkxTaXhSUVVGUlZTeFBRVXRxUWtFc1JVRkJUM2xDTEZOQlFWTXZRaXhMUVVGTlRTeEZRVUZQTUVJc1kwRkJZMFlzUzBGSGNFUnVReXhGUVVGWmFVSXNWVUZCVlhGQ0xGTkJRVmNzVTBGQlUzSkRMRWRCUTNoRExFOUJRVTlKTEV0QlFVdEtMRkZCUVZGVkxFOUJRVTk1UWl4VFFVRlRMMElzUzBGQlRVRXNTMEZCUzBvc1VVRkJVVlVzVDBGQlR6QkNMR05CUVdOd1F5eExRVWM1UlVRc1JVRkJXV2xDTEZWQlFWVnpRaXhqUVVGblFpeFRRVUZUUXl4SFFVTTNReXhOUVVGTkxFbEJRVWxETEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVXdRaXgxUWtGQmVVSXNWMEZETjBNc1RVRkJUU3hKUVVGSlJpeE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWTWtJc1pVRkJhVUlzVTBGQlUwTXNSMEZET1VNc1RVRkJUU3hKUVVGSlNpeE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWTmtJc1kwRkJaMElzVTBGQlUwUXNSMEZETjBNc1RVRkJUU3hKUVVGSlNpeE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWT0VJc2JVSkJRWEZDTEZOQlFWTkdMRWRCUTJ4RUxFMUJRVTBzU1VGQlNVb3NUVUZCVFN4elEwRkJkME53UXl4TFFVRkxjVU1zWTBGSEwwUXhReXhGUVVGWmFVSXNWVUZCVlN0Q0xEUkNRVUU0UWl4VFFVRlRReXhGUVVGUlNpeEhRVU51UlN4TlFVRk5MRWxCUVVsS0xFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlZwUXl4blFrRkJhMElzVTBGQlV6VkRMRWRCUXk5RExFMUJRVTBzU1VGQlNXMURMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZWclF5eHpRa0ZCZDBJc1UwRkJVemRETEVkQlEzSkVMRTFCUVUwc1NVRkJTVzFETEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVnRReXh4UWtGQmRVSXNVMEZCVTBNc1IwRkRjRVFzVFVGQlRTeEpRVUZKV2l4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZjVU1zVjBGQllTeFRRVUZUUXl4RlFVRmpReXhIUVVONFJDeE5RVUZOTEVsQlFVbG1MRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZWM1F5eG5Ra0ZCYTBJc1UwRkJVME1zUlVGQlkwTXNSMEZETjBRc1RVRkJUU3hKUVVGSmJFSXNUVUZCVFN4elEwRkJkME53UXl4TFFVRkxjVU1zWTBGSEwwUXhReXhGUVVGWmFVSXNWVUZCVlRKRExHdENRVUZ2UWl4VFFVRlRSaXhGUVVGalF5eEhRVU12UkN4TlFVRk5MRWxCUVVsc1FpeE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWTkVNc2RVSkJRWGxDTEZOQlFWTklMRVZCUVdOSkxFZEJRM0JGTEUxQlFVMHNTVUZCU1hKQ0xFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlU0UXl4bFFVRnBRaXhUUVVGVFF5eEhRVU01UXl4TlFVRk5MRWxCUVVsMlFpeE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWWjBRc1ZVRkJXU3hUUVVGVFF5eEhRVU42UXl4TlFVRk5MRWxCUVVsNlFpeE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWYTBRc2EwSkJRVzlDTEZkQlEzaERMRTFCUVUwc1NVRkJTVEZDTEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVnRSQ3hYUVVGaExGTkJRVk5ETEVWQlFVMVlMRVZCUVdORExFZEJRemxFTEUxQlFVMHNTVUZCU1d4Q0xFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlZ4UkN4MVFrRkJlVUlzVTBGQlUwTXNSMEZEZEVRc1RVRkJUU3hKUVVGSk9VSXNUVUZCVFN4elEwRkJkME53UXl4TFFVRkxjVU1zWTBGSEwwUXhReXhGUVVGWmFVSXNWVUZCVlhWRUxGbEJRV01zVTBGQlUwTXNSMEZETTBNc1RVRkJUU3hKUVVGSmFFTXNUVUZCVFN4elEwRkJkME53UXl4TFFVRkxjVU1zWTBGSEwwUXhReXhGUVVGWmFVSXNWVUZCVlhsRUxGbEJRV01zVjBGRGJFTXNUVUZCVFN4SlFVRkpha01zVFVGQlRTeHpRMEZCZDBOd1F5eExRVUZMY1VNc1kwRkhMMFF4UXl4RlFVRlphVUlzVlVGQlZUQkVMRzFDUVVGeFFpeFRRVUZUUXl4RlFVRk5ReXhGUVVGWlF5eEhRVU53UlN4TlFVRk5MRWxCUVVseVF5eE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWT0VRc2FVSkJRVzFDTEZOQlFWTklMRVZCUVUxRExFVkJRVmxETEVkQlEyeEZMRTFCUVUwc1NVRkJTWEpETEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSM2hFTVVNc1JVRjZUbk5DTEV0Qk5rNDVRa2tzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RWIyTjFiV1Z1ZEM1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxlLHIsaSxuLG8scyxoLHUsYyxhLHAsbCxkLHcseSxmLHYsTCxtLE4sRCxPLGI9e30uaGFzT3duUHJvcGVydHk7Tz1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLE49Ty5pc09iamVjdCxtPU8uaXNGdW5jdGlvbixEPU8uaXNQbGFpbk9iamVjdCxMPU8uZ2V0VmFsdWUsdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxwPXJlcXVpcmUoXCIuL1hNTERvY3VtZW50XCIpLGw9cmVxdWlyZShcIi4vWE1MRWxlbWVudFwiKSxpPXJlcXVpcmUoXCIuL1hNTENEYXRhXCIpLG49cmVxdWlyZShcIi4vWE1MQ29tbWVudFwiKSx3PXJlcXVpcmUoXCIuL1hNTFJhd1wiKSx2PXJlcXVpcmUoXCIuL1hNTFRleHRcIiksZD1yZXF1aXJlKFwiLi9YTUxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25cIiksYz1yZXF1aXJlKFwiLi9YTUxEZWNsYXJhdGlvblwiKSxhPXJlcXVpcmUoXCIuL1hNTERvY1R5cGVcIiksbz1yZXF1aXJlKFwiLi9YTUxEVERBdHRMaXN0XCIpLGg9cmVxdWlyZShcIi4vWE1MRFRERW50aXR5XCIpLHM9cmVxdWlyZShcIi4vWE1MRFRERWxlbWVudFwiKSx1PXJlcXVpcmUoXCIuL1hNTERURE5vdGF0aW9uXCIpLHI9cmVxdWlyZShcIi4vWE1MQXR0cmlidXRlXCIpLGY9cmVxdWlyZShcIi4vWE1MU3RyaW5naWZpZXJcIikseT1yZXF1aXJlKFwiLi9YTUxTdHJpbmdXcml0ZXJcIiksZT1yZXF1aXJlKFwiLi9Xcml0ZXJTdGF0ZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIE8oZSxyLGkpe3ZhciBuO3RoaXMubmFtZT1cIj94bWxcIix0aGlzLnR5cGU9dC5Eb2N1bWVudCxlfHwoZT17fSksbj17fSxlLndyaXRlcj9EKGUud3JpdGVyKSYmKG49ZS53cml0ZXIsZS53cml0ZXI9bmV3IHkpOmUud3JpdGVyPW5ldyB5LHRoaXMub3B0aW9ucz1lLHRoaXMud3JpdGVyPWUud3JpdGVyLHRoaXMud3JpdGVyT3B0aW9ucz10aGlzLndyaXRlci5maWx0ZXJPcHRpb25zKG4pLHRoaXMuc3RyaW5naWZ5PW5ldyBmKGUpLHRoaXMub25EYXRhQ2FsbGJhY2s9cnx8ZnVuY3Rpb24oKXt9LHRoaXMub25FbmRDYWxsYmFjaz1pfHxmdW5jdGlvbigpe30sdGhpcy5jdXJyZW50Tm9kZT1udWxsLHRoaXMuY3VycmVudExldmVsPS0xLHRoaXMub3BlblRhZ3M9e30sdGhpcy5kb2N1bWVudFN0YXJ0ZWQ9ITEsdGhpcy5kb2N1bWVudENvbXBsZXRlZD0hMSx0aGlzLnJvb3Q9bnVsbH1yZXR1cm4gTy5wcm90b3R5cGUuY3JlYXRlQ2hpbGROb2RlPWZ1bmN0aW9uKGUpe3ZhciByLGksbixvLHMsaCx1LGM7c3dpdGNoKGUudHlwZSl7Y2FzZSB0LkNEYXRhOnRoaXMuY2RhdGEoZS52YWx1ZSk7YnJlYWs7Y2FzZSB0LkNvbW1lbnQ6dGhpcy5jb21tZW50KGUudmFsdWUpO2JyZWFrO2Nhc2UgdC5FbGVtZW50OmZvcihpIGluIG49e30sdT1lLmF0dHJpYnMpYi5jYWxsKHUsaSkmJihyPXVbaV0sbltpXT1yLnZhbHVlKTt0aGlzLm5vZGUoZS5uYW1lLG4pO2JyZWFrO2Nhc2UgdC5EdW1teTp0aGlzLmR1bW15KCk7YnJlYWs7Y2FzZSB0LlJhdzp0aGlzLnJhdyhlLnZhbHVlKTticmVhaztjYXNlIHQuVGV4dDp0aGlzLnRleHQoZS52YWx1ZSk7YnJlYWs7Y2FzZSB0LlByb2Nlc3NpbmdJbnN0cnVjdGlvbjp0aGlzLmluc3RydWN0aW9uKGUudGFyZ2V0LGUudmFsdWUpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBYTUwgbm9kZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYSBKUyBvYmplY3Q6IFwiK2UuY29uc3RydWN0b3IubmFtZSl9Zm9yKHM9MCxoPShjPWUuY2hpbGRyZW4pLmxlbmd0aDtzPGg7cysrKW89Y1tzXSx0aGlzLmNyZWF0ZUNoaWxkTm9kZShvKSxvLnR5cGU9PT10LkVsZW1lbnQmJnRoaXMudXAoKTtyZXR1cm4gdGhpc30sTy5wcm90b3R5cGUuZHVtbXk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sTy5wcm90b3R5cGUubm9kZT1mdW5jdGlvbih0LGUscil7dmFyIGk7aWYobnVsbD09dCl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIG5vZGUgbmFtZS5cIik7aWYodGhpcy5yb290JiYtMT09PXRoaXMuY3VycmVudExldmVsKXRocm93IG5ldyBFcnJvcihcIkRvY3VtZW50IGNhbiBvbmx5IGhhdmUgb25lIHJvb3Qgbm9kZS4gXCIrdGhpcy5kZWJ1Z0luZm8odCkpO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCksdD1MKHQpLG51bGw9PWUmJihlPXt9KSxlPUwoZSksTihlKXx8KHI9KGk9W2Uscl0pWzBdLGU9aVsxXSksdGhpcy5jdXJyZW50Tm9kZT1uZXcgbCh0aGlzLHQsZSksdGhpcy5jdXJyZW50Tm9kZS5jaGlsZHJlbj0hMSx0aGlzLmN1cnJlbnRMZXZlbCsrLHRoaXMub3BlblRhZ3NbdGhpcy5jdXJyZW50TGV2ZWxdPXRoaXMuY3VycmVudE5vZGUsbnVsbCE9ciYmdGhpcy50ZXh0KHIpLHRoaXN9LE8ucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24oZSxyLGkpe3ZhciBuLG8scyxoLHUsYztpZih0aGlzLmN1cnJlbnROb2RlJiZ0aGlzLmN1cnJlbnROb2RlLnR5cGU9PT10LkRvY1R5cGUpdGhpcy5kdGRFbGVtZW50LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSl8fE4oZSl8fG0oZSkpZm9yKGg9dGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbix0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uPSEwLChjPW5ldyBwKHRoaXMub3B0aW9ucykuZWxlbWVudChcIlRFTVBfUk9PVFwiKSkuZWxlbWVudChlKSx0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uPWgsbz0wLHM9KHU9Yy5jaGlsZHJlbikubGVuZ3RoO288cztvKyspbj11W29dLHRoaXMuY3JlYXRlQ2hpbGROb2RlKG4pLG4udHlwZT09PXQuRWxlbWVudCYmdGhpcy51cCgpO2Vsc2UgdGhpcy5ub2RlKGUscixpKTtyZXR1cm4gdGhpc30sTy5wcm90b3R5cGUuYXR0cmlidXRlPWZ1bmN0aW9uKHQsZSl7dmFyIGksbjtpZighdGhpcy5jdXJyZW50Tm9kZXx8dGhpcy5jdXJyZW50Tm9kZS5jaGlsZHJlbil0aHJvdyBuZXcgRXJyb3IoXCJhdHQoKSBjYW4gb25seSBiZSB1c2VkIGltbWVkaWF0ZWx5IGFmdGVyIGFuIGVsZSgpIGNhbGwgaW4gY2FsbGJhY2sgbW9kZS4gXCIrdGhpcy5kZWJ1Z0luZm8odCkpO2lmKG51bGwhPXQmJih0PUwodCkpLE4odCkpZm9yKGkgaW4gdCliLmNhbGwodCxpKSYmKG49dFtpXSx0aGlzLmF0dHJpYnV0ZShpLG4pKTtlbHNlIG0oZSkmJihlPWUuYXBwbHkoKSksdGhpcy5vcHRpb25zLmtlZXBOdWxsQXR0cmlidXRlcyYmbnVsbD09ZT90aGlzLmN1cnJlbnROb2RlLmF0dHJpYnNbdF09bmV3IHIodGhpcyx0LFwiXCIpOm51bGwhPWUmJih0aGlzLmN1cnJlbnROb2RlLmF0dHJpYnNbdF09bmV3IHIodGhpcyx0LGUpKTtyZXR1cm4gdGhpc30sTy5wcm90b3R5cGUudGV4dD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLGU9bmV3IHYodGhpcyx0KSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci50ZXh0KGUsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLmNkYXRhPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCksZT1uZXcgaSh0aGlzLHQpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmNkYXRhKGUsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLmNvbW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxlPW5ldyBuKHRoaXMsdCksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuY29tbWVudChlLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxlPW5ldyB3KHRoaXMsdCksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIucmF3KGUsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLmluc3RydWN0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIHIsaSxuLG8scztpZih0aGlzLm9wZW5DdXJyZW50KCksbnVsbCE9dCYmKHQ9TCh0KSksbnVsbCE9ZSYmKGU9TChlKSksQXJyYXkuaXNBcnJheSh0KSlmb3Iocj0wLG89dC5sZW5ndGg7cjxvO3IrKylpPXRbcl0sdGhpcy5pbnN0cnVjdGlvbihpKTtlbHNlIGlmKE4odCkpZm9yKGkgaW4gdCliLmNhbGwodCxpKSYmKG49dFtpXSx0aGlzLmluc3RydWN0aW9uKGksbikpO2Vsc2UgbShlKSYmKGU9ZS5hcHBseSgpKSxzPW5ldyBkKHRoaXMsdCxlKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24ocyx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSk7cmV0dXJuIHRoaXN9LE8ucHJvdG90eXBlLmRlY2xhcmF0aW9uPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaTtpZih0aGlzLm9wZW5DdXJyZW50KCksdGhpcy5kb2N1bWVudFN0YXJ0ZWQpdGhyb3cgbmV3IEVycm9yKFwiZGVjbGFyYXRpb24oKSBtdXN0IGJlIHRoZSBmaXJzdCBub2RlLlwiKTtyZXR1cm4gaT1uZXcgYyh0aGlzLHQsZSxyKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5kZWNsYXJhdGlvbihpLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5kb2N0eXBlPWZ1bmN0aW9uKHQsZSxyKXtpZih0aGlzLm9wZW5DdXJyZW50KCksbnVsbD09dCl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIHJvb3Qgbm9kZSBuYW1lLlwiKTtpZih0aGlzLnJvb3QpdGhyb3cgbmV3IEVycm9yKFwiZHRkKCkgbXVzdCBjb21lIGJlZm9yZSB0aGUgcm9vdCBub2RlLlwiKTtyZXR1cm4gdGhpcy5jdXJyZW50Tm9kZT1uZXcgYSh0aGlzLGUsciksdGhpcy5jdXJyZW50Tm9kZS5yb290Tm9kZU5hbWU9dCx0aGlzLmN1cnJlbnROb2RlLmNoaWxkcmVuPSExLHRoaXMuY3VycmVudExldmVsKyssdGhpcy5vcGVuVGFnc1t0aGlzLmN1cnJlbnRMZXZlbF09dGhpcy5jdXJyZW50Tm9kZSx0aGlzfSxPLnByb3RvdHlwZS5kdGRFbGVtZW50PWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxyPW5ldyBzKHRoaXMsdCxlKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5kdGRFbGVtZW50KHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLmF0dExpc3Q9ZnVuY3Rpb24odCxlLHIsaSxuKXt2YXIgcztyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLHM9bmV3IG8odGhpcyx0LGUscixpLG4pLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmR0ZEF0dExpc3Qocyx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuZW50aXR5PWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxyPW5ldyBoKHRoaXMsITEsdCxlKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5kdGRFbnRpdHkocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUucEVudGl0eT1mdW5jdGlvbih0LGUpe3ZhciByO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCkscj1uZXcgaCh0aGlzLCEwLHQsZSksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuZHRkRW50aXR5KHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLm5vdGF0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxyPW5ldyB1KHRoaXMsdCxlKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5kdGROb3RhdGlvbihyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS51cD1mdW5jdGlvbigpe2lmKHRoaXMuY3VycmVudExldmVsPDApdGhyb3cgbmV3IEVycm9yKFwiVGhlIGRvY3VtZW50IG5vZGUgaGFzIG5vIHBhcmVudC5cIik7cmV0dXJuIHRoaXMuY3VycmVudE5vZGU/KHRoaXMuY3VycmVudE5vZGUuY2hpbGRyZW4/dGhpcy5jbG9zZU5vZGUodGhpcy5jdXJyZW50Tm9kZSk6dGhpcy5vcGVuTm9kZSh0aGlzLmN1cnJlbnROb2RlKSx0aGlzLmN1cnJlbnROb2RlPW51bGwpOnRoaXMuY2xvc2VOb2RlKHRoaXMub3BlblRhZ3NbdGhpcy5jdXJyZW50TGV2ZWxdKSxkZWxldGUgdGhpcy5vcGVuVGFnc1t0aGlzLmN1cnJlbnRMZXZlbF0sdGhpcy5jdXJyZW50TGV2ZWwtLSx0aGlzfSxPLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24oKXtmb3IoO3RoaXMuY3VycmVudExldmVsPj0wOyl0aGlzLnVwKCk7cmV0dXJuIHRoaXMub25FbmQoKX0sTy5wcm90b3R5cGUub3BlbkN1cnJlbnQ9ZnVuY3Rpb24oKXtpZih0aGlzLmN1cnJlbnROb2RlKXJldHVybiB0aGlzLmN1cnJlbnROb2RlLmNoaWxkcmVuPSEwLHRoaXMub3Blbk5vZGUodGhpcy5jdXJyZW50Tm9kZSl9LE8ucHJvdG90eXBlLm9wZW5Ob2RlPWZ1bmN0aW9uKHIpe3ZhciBpLG4sbyxzO2lmKCFyLmlzT3Blbil7aWYodGhpcy5yb290fHwwIT09dGhpcy5jdXJyZW50TGV2ZWx8fHIudHlwZSE9PXQuRWxlbWVudHx8KHRoaXMucm9vdD1yKSxuPVwiXCIsci50eXBlPT09dC5FbGVtZW50KXtmb3IobyBpbiB0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5PcGVuVGFnLG49dGhpcy53cml0ZXIuaW5kZW50KHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKStcIjxcIityLm5hbWUscz1yLmF0dHJpYnMpYi5jYWxsKHMsbykmJihpPXNbb10sbis9dGhpcy53cml0ZXIuYXR0cmlidXRlKGksdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKSk7bis9KHIuY2hpbGRyZW4/XCI+XCI6XCIvPlwiKSt0aGlzLndyaXRlci5lbmRsaW5lKHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKSx0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5JbnNpZGVUYWd9ZWxzZSB0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5PcGVuVGFnLG49dGhpcy53cml0ZXIuaW5kZW50KHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKStcIjwhRE9DVFlQRSBcIityLnJvb3ROb2RlTmFtZSxyLnB1YklEJiZyLnN5c0lEP24rPScgUFVCTElDIFwiJytyLnB1YklEKydcIiBcIicrci5zeXNJRCsnXCInOnIuc3lzSUQmJihuKz0nIFNZU1RFTSBcIicrci5zeXNJRCsnXCInKSxyLmNoaWxkcmVuPyhuKz1cIiBbXCIsdGhpcy53cml0ZXJPcHRpb25zLnN0YXRlPWUuSW5zaWRlVGFnKToodGhpcy53cml0ZXJPcHRpb25zLnN0YXRlPWUuQ2xvc2VUYWcsbis9XCI+XCIpLG4rPXRoaXMud3JpdGVyLmVuZGxpbmUocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpO3JldHVybiB0aGlzLm9uRGF0YShuLHRoaXMuY3VycmVudExldmVsKSxyLmlzT3Blbj0hMH19LE8ucHJvdG90eXBlLmNsb3NlTm9kZT1mdW5jdGlvbihyKXt2YXIgaTtpZighci5pc0Nsb3NlZClyZXR1cm4gaT1cIlwiLHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLkNsb3NlVGFnLGk9ci50eXBlPT09dC5FbGVtZW50P3RoaXMud3JpdGVyLmluZGVudChyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCkrXCI8L1wiK3IubmFtZStcIj5cIit0aGlzLndyaXRlci5lbmRsaW5lKHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKTp0aGlzLndyaXRlci5pbmRlbnQocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpK1wiXT5cIit0aGlzLndyaXRlci5lbmRsaW5lKHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKSx0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5Ob25lLHRoaXMub25EYXRhKGksdGhpcy5jdXJyZW50TGV2ZWwpLHIuaXNDbG9zZWQ9ITB9LE8ucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmRvY3VtZW50U3RhcnRlZD0hMCx0aGlzLm9uRGF0YUNhbGxiYWNrKHQsZSsxKX0sTy5wcm90b3R5cGUub25FbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb2N1bWVudENvbXBsZXRlZD0hMCx0aGlzLm9uRW5kQ2FsbGJhY2soKX0sTy5wcm90b3R5cGUuZGVidWdJbmZvPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P1wiXCI6XCJub2RlOiA8XCIrdCtcIj5cIn0sTy5wcm90b3R5cGUuZWxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE8ucHJvdG90eXBlLm5vZD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMubm9kZSh0LGUscil9LE8ucHJvdG90eXBlLnR4dD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50ZXh0KHQpfSxPLnByb3RvdHlwZS5kYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2RhdGEodCl9LE8ucHJvdG90eXBlLmNvbT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jb21tZW50KHQpfSxPLnByb3RvdHlwZS5pbnM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5pbnN0cnVjdGlvbih0LGUpfSxPLnByb3RvdHlwZS5kZWM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLmRlY2xhcmF0aW9uKHQsZSxyKX0sTy5wcm90b3R5cGUuZHRkPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5kb2N0eXBlKHQsZSxyKX0sTy5wcm90b3R5cGUuZT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuZWxlbWVudCh0LGUscil9LE8ucHJvdG90eXBlLm49ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLm5vZGUodCxlLHIpfSxPLnByb3RvdHlwZS50PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRleHQodCl9LE8ucHJvdG90eXBlLmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2RhdGEodCl9LE8ucHJvdG90eXBlLmM9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY29tbWVudCh0KX0sTy5wcm90b3R5cGUucj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yYXcodCl9LE8ucHJvdG90eXBlLmk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5pbnN0cnVjdGlvbih0LGUpfSxPLnByb3RvdHlwZS5hdHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJyZW50Tm9kZSYmdGhpcy5jdXJyZW50Tm9kZS50eXBlPT09dC5Eb2NUeXBlP3RoaXMuYXR0TGlzdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hdHRyaWJ1dGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxPLnByb3RvdHlwZS5hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3VycmVudE5vZGUmJnRoaXMuY3VycmVudE5vZGUudHlwZT09PXQuRG9jVHlwZT90aGlzLmF0dExpc3QuYXBwbHkodGhpcyxhcmd1bWVudHMpOnRoaXMuYXR0cmlidXRlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sTy5wcm90b3R5cGUuZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZW50aXR5KHQsZSl9LE8ucHJvdG90eXBlLnBlbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5wRW50aXR5KHQsZSl9LE8ucHJvdG90eXBlLm5vdD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLm5vdGF0aW9uKHQsZSl9LE99KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUnZZM1Z0Wlc1MFEwSXVhbk1pWFN3aWJtRnRaWE1pT2xzaVRtOWtaVlI1Y0dVaUxDSlhjbWwwWlhKVGRHRjBaU0lzSWxoTlRFRjBkSEpwWW5WMFpTSXNJbGhOVEVORVlYUmhJaXdpV0UxTVEyOXRiV1Z1ZENJc0lsaE5URVJVUkVGMGRFeHBjM1FpTENKWVRVeEVWRVJGYkdWdFpXNTBJaXdpV0UxTVJGUkVSVzUwYVhSNUlpd2lXRTFNUkZSRVRtOTBZWFJwYjI0aUxDSllUVXhFWldOc1lYSmhkR2x2YmlJc0lsaE5URVJ2WTFSNWNHVWlMQ0pZVFV4RWIyTjFiV1Z1ZENJc0lsaE5URVZzWlcxbGJuUWlMQ0pZVFV4UWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0pZVFV4U1lYY2lMQ0pZVFV4VGRISnBibWRYY21sMFpYSWlMQ0pZVFV4VGRISnBibWRwWm1sbGNpSXNJbGhOVEZSbGVIUWlMQ0puWlhSV1lXeDFaU0lzSW1selJuVnVZM1JwYjI0aUxDSnBjMDlpYW1WamRDSXNJbWx6VUd4aGFXNVBZbXBsWTNRaUxDSnlaV1lpTENKb1lYTlFjbTl3SWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0lsaE5URVJ2WTNWdFpXNTBRMElpTENKdmNIUnBiMjV6SWl3aWIyNUVZWFJoSWl3aWIyNUZibVFpTENKM2NtbDBaWEpQY0hScGIyNXpJaXdpZEdocGN5SXNJbTVoYldVaUxDSjBlWEJsSWl3aVJHOWpkVzFsYm5RaUxDSjNjbWwwWlhJaUxDSm1hV3gwWlhKUGNIUnBiMjV6SWl3aWMzUnlhVzVuYVdaNUlpd2liMjVFWVhSaFEyRnNiR0poWTJzaUxDSnZia1Z1WkVOaGJHeGlZV05ySWl3aVkzVnljbVZ1ZEU1dlpHVWlMQ0pqZFhKeVpXNTBUR1YyWld3aUxDSnZjR1Z1VkdGbmN5SXNJbVJ2WTNWdFpXNTBVM1JoY25SbFpDSXNJbVJ2WTNWdFpXNTBRMjl0Y0d4bGRHVmtJaXdpY205dmRDSXNJbkJ5YjNSdmRIbHdaU0lzSW1OeVpXRjBaVU5vYVd4a1RtOWtaU0lzSW01dlpHVWlMQ0poZEhRaUxDSmhkSFJPWVcxbElpd2lZWFIwY21saWRYUmxjeUlzSW1Ob2FXeGtJaXdpYVNJc0lteGxiaUlzSW5KbFpqRWlMQ0p5WldZeUlpd2lRMFJoZEdFaUxDSmpaR0YwWVNJc0luWmhiSFZsSWl3aVEyOXRiV1Z1ZENJc0ltTnZiVzFsYm5RaUxDSkZiR1Z0Wlc1MElpd2lZWFIwY21saWN5SXNJbU5oYkd3aUxDSkVkVzF0ZVNJc0ltUjFiVzE1SWl3aVVtRjNJaXdpY21GM0lpd2lWR1Y0ZENJc0luUmxlSFFpTENKUWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0pwYm5OMGNuVmpkR2x2YmlJc0luUmhjbWRsZENJc0lrVnljbTl5SWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqYUdsc1pISmxiaUlzSW14bGJtZDBhQ0lzSW5Wd0lpd2laR1ZpZFdkSmJtWnZJaXdpYjNCbGJrTjFjbkpsYm5RaUxDSmxiR1Z0Wlc1MElpd2liMnhrVm1Gc2FXUmhkR2x2Ymtac1lXY2lMQ0pFYjJOVWVYQmxJaXdpWkhSa1JXeGxiV1Z1ZENJc0ltRndjR3g1SWl3aVlYSm5kVzFsYm5Seklpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2libTlXWVd4cFpHRjBhVzl1SWl3aVlYUjBjbWxpZFhSbElpd2lZWFIwVm1Gc2RXVWlMQ0pyWldWd1RuVnNiRUYwZEhKcFluVjBaWE1pTENKcGJuTlVZWEpuWlhRaUxDSnBibk5XWVd4MVpTSXNJbkJ5YjJObGMzTnBibWRKYm5OMGNuVmpkR2x2YmlJc0ltUmxZMnhoY21GMGFXOXVJaXdpZG1WeWMybHZiaUlzSW1WdVkyOWthVzVuSWl3aWMzUmhibVJoYkc5dVpTSXNJbVJ2WTNSNWNHVWlMQ0p3ZFdKSlJDSXNJbk41YzBsRUlpd2ljbTl2ZEU1dlpHVk9ZVzFsSWl3aVlYUjBUR2x6ZENJc0ltVnNaVzFsYm5ST1lXMWxJaXdpWVhSMGNtbGlkWFJsVG1GdFpTSXNJbUYwZEhKcFluVjBaVlI1Y0dVaUxDSmtaV1poZFd4MFZtRnNkV1ZVZVhCbElpd2laR1ZtWVhWc2RGWmhiSFZsSWl3aVpIUmtRWFIwVEdsemRDSXNJbVZ1ZEdsMGVTSXNJbVIwWkVWdWRHbDBlU0lzSW5CRmJuUnBkSGtpTENKdWIzUmhkR2x2YmlJc0ltUjBaRTV2ZEdGMGFXOXVJaXdpWTJ4dmMyVk9iMlJsSWl3aWIzQmxiazV2WkdVaUxDSmxibVFpTENKamFIVnVheUlzSW1selQzQmxiaUlzSW5OMFlYUmxJaXdpVDNCbGJsUmhaeUlzSW1sdVpHVnVkQ0lzSW1WdVpHeHBibVVpTENKSmJuTnBaR1ZVWVdjaUxDSkRiRzl6WlZSaFp5SXNJbWx6UTJ4dmMyVmtJaXdpVG05dVpTSXNJbXhsZG1Wc0lpd2laV3hsSWl3aWJtOWtJaXdpZEhoMElpd2laR0YwSWl3aVkyOXRJaXdpYVc1eklpd2laR1ZqSWl3aVpIUmtJaXdpWlNJc0ltNGlMQ0owSWl3aVpDSXNJbU1pTENKeUlpd2lZU0lzSW1WdWRDSXNJbkJsYm5RaUxDSnViM1FpWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJWVU1zUlVGQllVTXNSVUZCWTBNc1JVRkJWVU1zUlVGQldVTXNSVUZCWlVNc1JVRkJaVU1zUlVGQlkwTXNSVUZCWjBKRExFVkJRV2RDUXl4RlFVRlpReXhGUVVFMFFrTXNSVUZCV1VNc1JVRkJNRUpETEVWQlFWRkRMRVZCUVdsQ1F5eEZRVUZuUWtNc1JVRkJVME1zUlVGQlZVTXNSVUZCV1VNc1JVRkJWVU1zUlVGQlpVTXNSVUZEZUZSRExFVkJRVlVzUjBGQlIwTXNaVUZGWmtZc1JVRkJUVWNzVVVGQlVTeGhRVUZqVEN4RlFVRlhSU3hGUVVGSlJpeFRRVUZWUkN4RlFVRmhSeXhGUVVGSlNDeFhRVUZaUlN4RlFVRm5Ra01zUlVGQlNVUXNZMEZCWlVnc1JVRkJWMGtzUlVGQlNVb3NVMEZGY0Vsc1FpeEZRVUZYZVVJc1VVRkJVU3hqUVVWdVFtUXNSVUZCWTJNc1VVRkJVU3hwUWtGRmRFSmlMRVZCUVdGaExGRkJRVkVzWjBKQlJYSkNkRUlzUlVGQlYzTkNMRkZCUVZFc1kwRkZia0p5UWl4RlFVRmhjVUlzVVVGQlVTeG5Ra0ZGY2tKWUxFVkJRVk5YTEZGQlFWRXNXVUZGYWtKU0xFVkJRVlZSTEZGQlFWRXNZVUZGYkVKYUxFVkJRVEpDV1N4UlFVRlJMRGhDUVVWdVEyaENMRVZCUVdsQ1owSXNVVUZCVVN4dlFrRkZla0ptTEVWQlFXRmxMRkZCUVZFc1owSkJSWEpDY0VJc1JVRkJaMEp2UWl4UlFVRlJMRzFDUVVWNFFteENMRVZCUVdWclFpeFJRVUZSTEd0Q1FVVjJRbTVDTEVWQlFXZENiVUlzVVVGQlVTeHRRa0ZGZUVKcVFpeEZRVUZwUW1sQ0xGRkJRVkVzYjBKQlJYcENka0lzUlVGQlpYVkNMRkZCUVZFc2EwSkJSWFpDVkN4RlFVRnBRbE1zVVVGQlVTeHZRa0ZGZWtKV0xFVkJRV3RDVlN4UlFVRlJMSEZDUVVVeFFuaENMRVZCUVdOM1FpeFJRVUZSTEdsQ1FVVjBRa01zVDBGQlQwTXNVVUZCTUVJc1YwRkRMMElzVTBGQlUwTXNSVUZCWTBNc1JVRkJVME1zUlVGQlVVTXNSMEZEZEVNc1NVRkJTVU1zUlVGRFNrTXNTMEZCUzBNc1MwRkJUeXhQUVVOYVJDeExRVUZMUlN4TFFVRlBia01zUlVGQlUyOURMRk5CUTNKQ1VDeEpRVUZaUVN4RlFVRlZMRWxCUTNSQ1J5eEZRVUZuUWl4SFFVTllTQ3hGUVVGUlVTeFBRVVZHYUVJc1JVRkJZMUVzUlVGQlVWRXNWVUZETDBKTUxFVkJRV2RDU0N4RlFVRlJVU3hQUVVONFFsSXNSVUZCVVZFc1QwRkJVeXhKUVVGSmRFSXNSMEZJY2tKakxFVkJRVkZSTEU5QlFWTXNTVUZCU1hSQ0xFVkJTM1pDYTBJc1MwRkJTMG9zVVVGQlZVRXNSVUZEWmtrc1MwRkJTMGtzVDBGQlUxSXNSVUZCVVZFc1QwRkRkRUpLTEV0QlFVdEVMR05CUVdkQ1F5eExRVUZMU1N4UFFVRlBReXhqUVVGalRpeEhRVU12UTBNc1MwRkJTMDBzVlVGQldTeEpRVUZKZGtJc1JVRkJaV0VzUjBGRGNFTkpMRXRCUVV0UExHVkJRV2xDVml4SFFVRlZMR0ZCUTJoRFJ5eExRVUZMVVN4alFVRm5RbFlzUjBGQlV5eGhRVU01UWtVc1MwRkJTMU1zV1VGQll5eExRVU51UWxRc1MwRkJTMVVzWTBGQlowSXNSVUZEY2tKV0xFdEJRVXRYTEZOQlFWY3NSMEZEYUVKWUxFdEJRVXRaTEdsQ1FVRnJRaXhGUVVOMlFsb3NTMEZCUzJFc2JVSkJRVzlDTEVWQlEzcENZaXhMUVVGTFl5eExRVUZQTEV0QmQyTmtMRTlCY21OQmJrSXNSVUZCWTI5Q0xGVkJRVlZETEdkQ1FVRnJRaXhUUVVGVFF5eEhRVU5xUkN4SlFVRkpReXhGUVVGTFF5eEZRVUZUUXl4RlFVRlpReXhGUVVGUFF5eEZRVUZIUXl4RlFVRkxReXhGUVVGTlF5eEZRVU51UkN4UFFVRlJVaXhGUVVGTFppeE5RVU5ZTEV0QlFVdHVReXhGUVVGVE1rUXNUVUZEV2pGQ0xFdEJRVXN5UWl4TlFVRk5WaXhGUVVGTFZ5eFBRVU5vUWl4TlFVTkdMRXRCUVVzM1JDeEZRVUZUT0VRc1VVRkRXamRDTEV0QlFVczRRaXhSUVVGUllpeEZRVUZMVnl4UFFVTnNRaXhOUVVOR0xFdEJRVXMzUkN4RlFVRlRaMFVzVVVGSFdpeEpRVUZMV2l4TFFVWk1ReXhGUVVGaExFZEJRMkpKTEVWQlFVOVFMRVZCUVV0bExGRkJSVXd4UXl4RlFVRlJNa01zUzBGQlMxUXNSVUZCVFV3c1MwRkRlRUpFTEVWQlFVMU5MRVZCUVV0TUxFZEJRMWhETEVWQlFWZEVMRWRCUVZkRUxFVkJRVWxWTEU5QlJUVkNOVUlzUzBGQlMybENMRXRCUVV0QkxFVkJRVXRvUWl4TFFVRk5iVUlzUjBGRGNrSXNUVUZEUml4TFFVRkxja1FzUlVGQlUyMUZMRTFCUTFwc1F5eExRVUZMYlVNc1VVRkRUQ3hOUVVOR0xFdEJRVXR3UlN4RlFVRlRjVVVzU1VGRFduQkRMRXRCUVV0eFF5eEpRVUZKY0VJc1JVRkJTMWNzVDBGRFpDeE5RVU5HTEV0QlFVczNSQ3hGUVVGVGRVVXNTMEZEV25SRExFdEJRVXQxUXl4TFFVRkxkRUlzUlVGQlMxY3NUMEZEWml4TlFVTkdMRXRCUVVzM1JDeEZRVUZUZVVVc2MwSkJRMXA0UXl4TFFVRkxlVU1zV1VGQldYaENMRVZCUVV0NVFpeFBRVUZSZWtJc1JVRkJTMWNzVDBGRGJrTXNUVUZEUml4UlFVTkZMRTFCUVUwc1NVRkJTV1VzVFVGQlRTeDFSRUZCZVVReFFpeEZRVUZMTWtJc1dVRkJXVE5ETEUxQlJ6bEdMRWxCUVV0eFFpeEZRVUZKTEVWQlFVZERMRWRCUkZwRkxFVkJRVTlTTEVWQlFVczBRaXhWUVVOWFF5eFBRVUZSZUVJc1JVRkJTVU1zUlVGQlMwUXNTVUZEZEVORUxFVkJRVkZKTEVWQlFVdElMRWRCUTJKMFFpeExRVUZMWjBJc1owSkJRV2RDU3l4SFFVTnFRa0VzUlVGQlRXNUNMRTlCUVZOdVF5eEZRVUZUWjBVc1UwRkRNVUl2UWl4TFFVRkxLME1zUzBGSFZDeFBRVUZQTDBNc1RVRkhWRXdzUlVGQlkyOUNMRlZCUVZWdlFpeE5RVUZSTEZkQlF6bENMRTlCUVU5dVF5eE5RVWRVVEN4RlFVRmpiMElzVlVGQlZVVXNTMEZCVHl4VFFVRlRhRUlzUlVGQlRXMUNMRVZCUVZsdFFpeEhRVU40UkN4SlFVRkpaaXhGUVVOS0xFZEJRVmtzVFVGQlVuWkNMRVZCUTBZc1RVRkJUU3hKUVVGSk1FTXNUVUZCVFN4elFrRkZiRUlzUjBGQlNUTkRMRXRCUVV0akxFOUJRU3RDTEVsQlFYWkNaQ3hMUVVGTFZTeGhRVU53UWl4TlFVRk5MRWxCUVVscFF5eE5RVUZOTEhsRFFVRXlRek5ETEV0QlFVdG5SQ3hWUVVGVkwwTXNTVUZyUWpWRkxFOUJhRUpCUkN4TFFVRkxhVVFzWTBGRFRHaEVMRVZCUVU5b1FpeEZRVUZUWjBJc1IwRkRSU3hOUVVGa2JVSXNTVUZEUmtFc1JVRkJZU3hKUVVWbVFTeEZRVUZoYmtNc1JVRkJVMjFETEVkQlEycENha01zUlVGQlUybERMRXRCUTJWdFFpeEhRVUV6UW1Zc1JVRkJUeXhEUVVGRFNpeEZRVUZaYlVJc1NVRkJiVUlzUjBGQlNXNUNMRVZCUVdGSkxFVkJRVXNzU1VGRkwwUjRRaXhMUVVGTFV5eFpRVUZqTEVsQlFVazVRaXhGUVVGWGNVSXNTMEZCVFVNc1JVRkJUVzFDTEVkQlF6bERjRUlzUzBGQlMxTXNXVUZCV1c5RExGVkJRVmNzUlVGRE5VSTNReXhMUVVGTFZTeGxRVU5NVml4TFFVRkxWeXhUUVVGVFdDeExRVUZMVlN4alFVRm5RbFlzUzBGQlMxTXNXVUZETlVJc1RVRkJVamhDTEVkQlEwWjJReXhMUVVGTGRVTXNTMEZCUzBFc1IwRkZUSFpETEUxQlIxUk1MRVZCUVdOdlFpeFZRVUZWYlVNc1VVRkJWU3hUUVVGVGFrUXNSVUZCVFcxQ0xFVkJRVmx0UWl4SFFVTXpSQ3hKUVVGSmJFSXNSVUZCVDBNc1JVRkJSME1zUlVGQlN6UkNMRVZCUVcxQ00wSXNSVUZCVFZZc1JVRkROVU1zUjBGQlNXUXNTMEZCUzFNc1lVRkJaVlFzUzBGQlMxTXNXVUZCV1ZBc1QwRkJVMjVETEVWQlFWTnhSaXhSUVVONlJIQkVMRXRCUVV0eFJDeFhRVUZYUXl4TlFVRk5kRVFzUzBGQlRYVkVMR2RDUVVVMVFpeEhRVUZKUXl4TlFVRk5ReXhSUVVGUmVFUXNTVUZCVTJRc1JVRkJVMk1zU1VGQlUyWXNSVUZCVjJVc1IwRlBkRVFzU1VGT1FXdEVMRVZCUVc5Q2JrUXNTMEZCUzBvc1VVRkJVVGhFTEdGQlEycERNVVFzUzBGQlMwb3NVVUZCVVRoRUxHTkJRV1VzUjBGRE5VSTFReXhGUVVGUExFbEJRVWx3UXl4RlFVRlpjMElzUzBGQlMwb3NVMEZCVTNORUxGRkJRVkVzWTBGRGVFTkJMRkZCUVZGcVJDeEhRVU5pUkN4TFFVRkxTaXhSUVVGUk9FUXNZVUZCWlZBc1JVRkZka0kzUWl4RlFVRkpMRVZCUVVkRExFZEJSRnBETEVWQlFVOVdMRVZCUVVzclFpeFZRVU5YUXl4UFFVRlJlRUlzUlVGQlNVTXNSVUZCUzBRc1NVRkRkRU5FTEVWQlFWRkhMRVZCUVV0R0xFZEJRMkowUWl4TFFVRkxaMElzWjBKQlFXZENTeXhIUVVOcVFrRXNSVUZCVFc1Q0xFOUJRVk51UXl4RlFVRlRaMFVzVTBGRE1VSXZRaXhMUVVGTEswTXNWVUZKVkM5RExFdEJRVXRwUWl4TFFVRkxhRUlzUlVGQlRXMUNMRVZCUVZsdFFpeEhRVWRvUXl4UFFVRlBka01zVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlUwUXl4VlFVRlpMRk5CUVZNeFJDeEZRVUZOTWtJc1IwRkRha1FzU1VGQlNWUXNSVUZCVTNsRExFVkJRMklzU1VGQlN6VkVMRXRCUVV0VExHRkJRV1ZVTEV0QlFVdFRMRmxCUVZsdlF5eFRRVU40UXl4TlFVRk5MRWxCUVVsR0xFMUJRVTBzTkVWQlFUaEZNME1zUzBGQlMyZEVMRlZCUVZVdlF5eEpRVXN2Unl4SFFVaFpMRTFCUVZKQkxFbEJRMFpCTEVWQlFVOW9RaXhGUVVGVFowSXNTVUZGWkdRc1JVRkJVMk1zUjBGRFdDeEpRVUZMYTBJc1MwRkJWMnhDTEVWQlExUllMRVZCUVZFeVF5eExRVUZMYUVNc1JVRkJUV3RDTEV0QlEzaENlVU1zUlVGQlZ6TkVMRVZCUVV0clFpeEhRVU5vUW01Q0xFdEJRVXN5UkN4VlFVRlZlRU1zUlVGQlUzbERMRk5CUjNSQ01VVXNSVUZCVnpCRExFdEJRMkpCTEVWQlFWRkJMRVZCUVUwd1FpeFRRVVZhZEVRc1MwRkJTMG9zVVVGQlVXbEZMRzlDUVVGblF5eE5RVUZVYWtNc1JVRkRkRU0xUWl4TFFVRkxVeXhaUVVGWmRVSXNVVUZCVVM5Q0xFZEJRVkVzU1VGQlNXaERMRVZCUVdFclFpeExRVUZOUXl4RlFVRk5MRWxCUXpWRExFMUJRVlF5UWl4SlFVTlVOVUlzUzBGQlMxTXNXVUZCV1hWQ0xGRkJRVkV2UWl4SFFVRlJMRWxCUVVsb1F5eEZRVUZoSzBJc1MwRkJUVU1zUlVGQlRUSkNMRWxCUjJ4RkxFOUJRVTgxUWl4TlFVZFVUQ3hGUVVGamIwSXNWVUZCVlhkQ0xFdEJRVThzVTBGQlUxZ3NSMEZEZEVNc1NVRkJTVmdzUlVGSlNpeFBRVWhCYWtJc1MwRkJTMmxFTEdOQlEweG9ReXhGUVVGUExFbEJRVWxxUXl4RlFVRlJaMElzUzBGQlRUUkNMRWRCUTNwQ05VSXNTMEZCUzBnc1QwRkJUMGNzUzBGQlMwa3NUMEZCVDIxRExFdEJRVXQwUWl4RlFVRk5ha0lzUzBGQlMwUXNZMEZCWlVNc1MwRkJTMVVzWVVGQlpTeEhRVUZKVml4TFFVRkxWU3hoUVVGbExFZEJRelZHVml4TlFVZFVUQ3hGUVVGamIwSXNWVUZCVlZrc1RVRkJVU3hUUVVGVFF5eEhRVU4yUXl4SlFVRkpXQ3hGUVVsS0xFOUJTRUZxUWl4TFFVRkxhVVFzWTBGRFRHaERMRVZCUVU4c1NVRkJTUzlETEVWQlFWTTRRaXhMUVVGTk5FSXNSMEZETVVJMVFpeExRVUZMU0N4UFFVRlBSeXhMUVVGTFNTeFBRVUZQZFVJc1RVRkJUVllzUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR0ZCUVdVc1IwRkJTVllzUzBGQlMxVXNZVUZCWlN4SFFVTTNSbFlzVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlZsTEZGQlFWVXNVMEZCVTBZc1IwRkRla01zU1VGQlNWZ3NSVUZKU2l4UFFVaEJha0lzUzBGQlMybEVMR05CUTB4b1F5eEZRVUZQTEVsQlFVazVReXhGUVVGWE5rSXNTMEZCVFRSQ0xFZEJRelZDTlVJc1MwRkJTMGdzVDBGQlQwY3NTMEZCUzBrc1QwRkJUekJDTEZGQlFWRmlMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGhRVUZsTEVkQlFVbFdMRXRCUVV0VkxHRkJRV1VzUjBGREwwWldMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZjMElzU1VGQlRTeFRRVUZUVkN4SFFVTnlReXhKUVVGSldDeEZRVWxLTEU5QlNFRnFRaXhMUVVGTGFVUXNZMEZEVEdoRExFVkJRVThzU1VGQlNYQkRMRVZCUVU5dFFpeExRVUZOTkVJc1IwRkRlRUkxUWl4TFFVRkxTQ3hQUVVGUFJ5eExRVUZMU1N4UFFVRlBhVU1zU1VGQlNYQkNMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGhRVUZsTEVkQlFVbFdMRXRCUVV0VkxHRkJRV1VzUjBGRE0wWldMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZNRUlzV1VGQll5eFRRVUZUUXl4RlFVRlJaQ3hIUVVOeVJDeEpRVUZKVGl4RlFVRkhkME1zUlVGQlYwTXNSVUZCVlhoRExFVkJRVXRPTEVWQlVXcERMRWRCVUVGcVFpeExRVUZMYVVRc1kwRkRVeXhOUVVGV1VDeEpRVU5HUVN4RlFVRlRla1FzUlVGQlUzbEVMRWxCUlZBc1RVRkJWR1FzU1VGRFJrRXNSVUZCVVRORExFVkJRVk15UXl4SlFVVm1ORUlzVFVGQlRVTXNVVUZCVVdZc1IwRkRhRUlzU1VGQlMzQkNMRVZCUVVrc1JVRkJSME1zUlVGQlRXMUNMRVZCUVU5SkxFOUJRVkY0UWl4RlFVRkpReXhGUVVGTFJDeEpRVU40UTNkRExFVkJRVmx3UWl4RlFVRlBjRUlzUjBGRGJrSjBRaXhMUVVGTGVVTXNXVUZCV1hGQ0xGRkJSV1FzUjBGQlNUTkZMRVZCUVZOMVJDeEhRVU5zUWl4SlFVRkxiMElzUzBGQllYQkNMRVZCUTFod1JDeEZRVUZSTWtNc1MwRkJTMU1zUlVGQlVXOUNMRXRCUXpGQ1F5eEZRVUZYY2tJc1JVRkJUMjlDTEVkQlEyeENPVVFzUzBGQlMzbERMRmxCUVZseFFpeEZRVUZYUXl4VFFVY3hRamRGTEVWQlFWY3dReXhMUVVOaVFTeEZRVUZSUVN4RlFVRk5NRUlzVTBGRmFFSnlReXhGUVVGUExFbEJRVWx5UXl4RlFVRjVRbTlDTEV0QlFVMHdReXhGUVVGUlpDeEhRVU5zUkRWQ0xFdEJRVXRJTEU5QlFVOUhMRXRCUVV0SkxFOUJRVTgwUkN4elFrRkJjMEl2UXl4RlFVRk5ha0lzUzBGQlMwUXNZMEZCWlVNc1MwRkJTMVVzWVVGQlpTeEhRVUZKVml4TFFVRkxWU3hoUVVGbExFZEJSWFJJTEU5QlFVOVdMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZhMFFzV1VGQll5eFRRVUZUUXl4RlFVRlRReXhGUVVGVlF5eEhRVU5vUlN4SlFVRkpia1FzUlVGRlNpeEhRVVJCYWtJc1MwRkJTMmxFTEdOQlEwUnFSQ3hMUVVGTFdTeG5Ra0ZEVUN4TlFVRk5MRWxCUVVrclFpeE5RVUZOTEhsRFFVbHNRaXhQUVVaQk1VSXNSVUZCVHl4SlFVRkpla01zUlVGQlpYZENMRXRCUVUxclJTeEZRVUZUUXl4RlFVRlZReXhIUVVOdVJIQkZMRXRCUVV0SUxFOUJRVTlITEV0QlFVdEpMRTlCUVU4MlJDeFpRVUZaYUVRc1JVRkJUV3BDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdGQlFXVXNSMEZCU1ZZc1MwRkJTMVVzWVVGQlpTeEhRVU51UjFZc1RVRkhWRXdzUlVGQlkyOUNMRlZCUVZWelJDeFJRVUZWTEZOQlFWTjJSQ3hGUVVGTmQwUXNSVUZCVDBNc1IwRkZkRVFzUjBGRVFYWkZMRXRCUVV0cFJDeGpRVU5QTEUxQlFWSnVReXhGUVVOR0xFMUJRVTBzU1VGQlNUWkNMRTFCUVUwc01rSkJSV3hDTEVkQlFVa3pReXhMUVVGTFl5eExRVU5RTEUxQlFVMHNTVUZCU1RaQ0xFMUJRVTBzZVVOQlQyeENMRTlCVEVFelF5eExRVUZMVXl4WlFVRmpMRWxCUVVsb1F5eEZRVUZYZFVJc1MwRkJUWE5GTEVWQlFVOURMRWRCUXk5RGRrVXNTMEZCUzFNc1dVRkJXU3RFTEdGQlFXVXhSQ3hGUVVOb1EyUXNTMEZCUzFNc1dVRkJXVzlETEZWQlFWY3NSVUZETlVJM1F5eExRVUZMVlN4bFFVTk1WaXhMUVVGTFZ5eFRRVUZUV0N4TFFVRkxWU3hqUVVGblFsWXNTMEZCUzFNc1dVRkRha05VTEUxQlIxUk1MRVZCUVdOdlFpeFZRVUZWYzBNc1YwRkJZU3hUUVVGVGNFUXNSVUZCVFRKQ0xFZEJRMnhFTEVsQlFVbFlMRVZCU1Vvc1QwRklRV3BDTEV0QlFVdHBSQ3hqUVVOTWFFTXNSVUZCVHl4SlFVRkpOVU1zUlVGQll6SkNMRXRCUVUxRExFVkJRVTB5UWl4SFFVTnlRelZDTEV0QlFVdElMRTlCUVU5SExFdEJRVXRKTEU5QlFVOXBSQ3hYUVVGWGNFTXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHRkJRV1VzUjBGQlNWWXNTMEZCUzFVc1lVRkJaU3hIUVVOc1IxWXNUVUZIVkV3c1JVRkJZMjlDTEZWQlFWVXdSQ3hSUVVGVkxGTkJRVk5ETEVWQlFXRkRMRVZCUVdWRExFVkJRV1ZETEVWQlFXdENReXhIUVVOMFJ5eEpRVUZKTjBRc1JVRkpTaXhQUVVoQmFrSXNTMEZCUzJsRUxHTkJRMHhvUXl4RlFVRlBMRWxCUVVrM1F5eEZRVUZqTkVJc1MwRkJUVEJGTEVWQlFXRkRMRVZCUVdWRExFVkJRV1ZETEVWQlFXdENReXhIUVVNMVJqbEZMRXRCUVV0SUxFOUJRVTlITEV0QlFVdEpMRTlCUVU4eVJTeFhRVUZYT1VRc1JVRkJUV3BDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdGQlFXVXNSMEZCU1ZZc1MwRkJTMVVzWVVGQlpTeEhRVU5zUjFZc1RVRkhWRXdzUlVGQlkyOUNMRlZCUVZWcFJTeFBRVUZUTEZOQlFWTXZSU3hGUVVGTk1rSXNSMEZET1VNc1NVRkJTVmdzUlVGSlNpeFBRVWhCYWtJc1MwRkJTMmxFTEdOQlEweG9ReXhGUVVGUExFbEJRVWt6UXl4RlFVRmhNRUlzVFVGQlRTeEZRVUZQUXl4RlFVRk5Na0lzUjBGRE0wTTFRaXhMUVVGTFNDeFBRVUZQUnl4TFFVRkxTU3hQUVVGUE5rVXNWVUZCVldoRkxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4aFFVRmxMRWRCUVVsV0xFdEJRVXRWTEdGQlFXVXNSMEZEYWtkV0xFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVmJVVXNVVUZCVlN4VFFVRlRha1lzUlVGQlRUSkNMRWRCUXk5RExFbEJRVWxZTEVWQlNVb3NUMEZJUVdwQ0xFdEJRVXRwUkN4alFVTk1hRU1zUlVGQlR5eEpRVUZKTTBNc1JVRkJZVEJDTEUxQlFVMHNSVUZCVFVNc1JVRkJUVEpDTEVkQlF6RkROVUlzUzBGQlMwZ3NUMEZCVDBjc1MwRkJTMGtzVDBGQlR6WkZMRlZCUVZWb1JTeEZRVUZOYWtJc1MwRkJTMFFzWTBGQlpVTXNTMEZCUzFVc1lVRkJaU3hIUVVGSlZpeExRVUZMVlN4aFFVRmxMRWRCUTJwSFZpeE5RVWRVVEN4RlFVRmpiMElzVlVGQlZXOUZMRk5CUVZjc1UwRkJVMnhHTEVWQlFVMHlRaXhIUVVOb1JDeEpRVUZKV0N4RlFVbEtMRTlCU0VGcVFpeExRVUZMYVVRc1kwRkRUR2hETEVWQlFVOHNTVUZCU1RGRExFVkJRV1Y1UWl4TFFVRk5ReXhGUVVGTk1rSXNSMEZEZEVNMVFpeExRVUZMU0N4UFFVRlBSeXhMUVVGTFNTeFBRVUZQWjBZc1dVRkJXVzVGTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hoUVVGbExFZEJRVWxXTEV0QlFVdFZMR0ZCUVdVc1IwRkRia2RXTEUxQlIxUk1MRVZCUVdOdlFpeFZRVUZWWjBNc1IwRkJTeXhYUVVNelFpeEhRVUZKTDBNc1MwRkJTMVVzWVVGQlpTeEZRVU4wUWl4TlFVRk5MRWxCUVVscFF5eE5RVUZOTEc5RFFXTnNRaXhQUVZwSk0wTXNTMEZCUzFNc1lVRkRTRlFzUzBGQlMxTXNXVUZCV1c5RExGTkJRMjVDTjBNc1MwRkJTM0ZHTEZWQlFWVnlSaXhMUVVGTFV5eGhRVVZ3UWxRc1MwRkJTM05HTEZOQlFWTjBSaXhMUVVGTFV5eGhRVVZ5UWxRc1MwRkJTMU1zV1VGQll5eE5RVVZ1UWxRc1MwRkJTM0ZHTEZWQlFWVnlSaXhMUVVGTFZ5eFRRVUZUV0N4TFFVRkxWU3h6UWtGRk4wSldMRXRCUVV0WExGTkJRVk5ZTEV0QlFVdFZMR05CUXpGQ1ZpeExRVUZMVlN4bFFVTkZWaXhOUVVkVVRDeEZRVUZqYjBJc1ZVRkJWWGRGTEVsQlFVMHNWMEZETlVJc1MwRkJUM1pHTEV0QlFVdFZMR05CUVdkQ0xFZEJRekZDVml4TFFVRkxLME1zUzBGRlVDeFBRVUZQTDBNc1MwRkJTMFlzVTBGSFpFZ3NSVUZCWTI5Q0xGVkJRVlZyUXl4WlFVRmpMRmRCUTNCRExFZEJRVWxxUkN4TFFVRkxVeXhaUVVWUUxFOUJSRUZVTEV0QlFVdFRMRmxCUVZsdlF5eFZRVUZYTEVWQlEzSkNOME1zUzBGQlMzTkdMRk5CUVZOMFJpeExRVUZMVXl4alFVazVRbVFzUlVGQlkyOUNMRlZCUVZWMVJTeFRRVUZYTEZOQlFWTnlSU3hIUVVNeFF5eEpRVUZKUXl4RlFVRkxjMFVzUlVGQlQzWkdMRVZCUVUxMVFpeEZRVU4wUWl4SlFVRkxVQ3hGUVVGTGQwVXNUMEZCVVN4RFFVdG9RaXhIUVVwTGVrWXNTMEZCUzJNc1RVRkJPRUlzU1VGQmRFSmtMRXRCUVV0VkxHTkJRWE5DVHl4RlFVRkxaaXhQUVVGVGJrTXNSVUZCVTJkRkxGVkJRMnhGTDBJc1MwRkJTMk1zUzBGQlQwY3NSMEZGWkhWRkxFVkJRVkVzUjBGRFNuWkZMRVZCUVV0bUxFOUJRVk51UXl4RlFVRlRaMFVzVVVGQlV5eERRVWxzUXl4SlFVRkxPVUlzUzBGSVRFUXNTMEZCUzBRc1kwRkJZekpHTEUxQlFWRXhTQ3hGUVVGWk1rZ3NVVUZEZGtOSUxFVkJRVkY0Uml4TFFVRkxTU3hQUVVGUGQwWXNUMEZCVHpORkxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4alFVRm5RaXhKUVVGTlR5eEZRVUZMYUVJc1MwRkRja1oxUWl4RlFVRlBVQ3hGUVVGTFpTeFJRVVZNTVVNc1JVRkJVVEpETEV0QlFVdFVMRVZCUVUxMlFpeExRVU40UW1sQ0xFVkJRVTFOTEVWQlFVdDJRaXhIUVVOWWRVWXNSMEZCVTNoR0xFdEJRVXRKTEU5QlFVOTFSQ3hWUVVGVmVrTXNSVUZCUzJ4Q0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHVkJSUzlFT0VVc1NVRkJWWFpGTEVWQlFVczBRaXhUUVVGWExFbEJRVTBzVFVGQlVUZERMRXRCUVV0SkxFOUJRVTk1Uml4UlFVRlJOVVVzUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR05CUXpOR1ZpeExRVUZMUkN4alFVRmpNa1lzVFVGQlVURklMRVZCUVZrNFNDeGxRVVYyUXpsR0xFdEJRVXRFTEdOQlFXTXlSaXhOUVVGUk1VZ3NSVUZCV1RKSUxGRkJRM1pEU0N4RlFVRlJlRVlzUzBGQlMwa3NUMEZCVDNkR0xFOUJRVTh6UlN4RlFVRk5ha0lzUzBGQlMwUXNZMEZCWlVNc1MwRkJTMVVzWTBGQlowSXNZVUZCWlU4c1JVRkJTM1ZFTEdGQlF6Rkdka1FzUlVGQlMzRkVMRTlCUVZOeVJDeEZRVUZMYzBRc1RVRkRja0pwUWl4SFFVRlRMRmxCUVdOMlJTeEZRVUZMY1VRc1RVRkJVU3hOUVVGUmNrUXNSVUZCUzNORUxFMUJRVkVzU1VGRGFFUjBSQ3hGUVVGTGMwUXNVVUZEWkdsQ0xFZEJRVk1zV1VGQlkzWkZMRVZCUVV0elJDeE5RVUZSTEV0QlJXeERkRVFzUlVGQlN6UkNMRlZCUTFBeVF5eEhRVUZUTEV0QlExUjRSaXhMUVVGTFJDeGpRVUZqTWtZc1RVRkJVVEZJTEVWQlFWazRTQ3haUVVWMlF6bEdMRXRCUVV0RUxHTkJRV015Uml4TlFVRlJNVWdzUlVGQldTdElMRk5CUTNaRFVDeEhRVUZUTEV0QlJWaEJMRWRCUVZONFJpeExRVUZMU1N4UFFVRlBlVVlzVVVGQlVUVkZMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGpRVWM1UkN4UFFVUkJWaXhMUVVGTFNDeFBRVUZQTWtZc1JVRkJUM2hHTEV0QlFVdFZMR05CUTJwQ1R5eEZRVUZMZDBVc1VVRkJVeXhKUVVsNlFqbEdMRVZCUVdOdlFpeFZRVUZWYzBVc1ZVRkJXU3hUUVVGVGNFVXNSMEZETTBNc1NVRkJTWFZGTEVWQlEwb3NTVUZCUzNaRkxFVkJRVXNyUlN4VFFWVlNMRTlCVkVGU0xFVkJRVkVzUjBGRFVuaEdMRXRCUVV0RUxHTkJRV015Uml4TlFVRlJNVWdzUlVGQldTdElMRk5CUlhKRFVDeEZRVVJGZGtVc1JVRkJTMllzVDBGQlUyNURMRVZCUVZOblJTeFJRVU5xUWk5Q0xFdEJRVXRKTEU5QlFVOTNSaXhQUVVGUE0wVXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHTkJRV2RDTEV0QlFVOVBMRVZCUVV0b1FpeExRVUZQTEVsQlFVMUVMRXRCUVV0SkxFOUJRVTk1Uml4UlFVRlJOVVVzUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR05CUlRsSlZpeExRVUZMU1N4UFFVRlBkMFlzVDBGQlR6TkZMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGpRVUZuUWl4TFFVRlBWaXhMUVVGTFNTeFBRVUZQZVVZc1VVRkJVVFZGTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hqUVVWMFNWWXNTMEZCUzBRc1kwRkJZekpHTEUxQlFWRXhTQ3hGUVVGWmFVa3NTMEZEZGtOcVJ5eExRVUZMU0N4UFFVRlBNa1lzUlVGQlQzaEdMRXRCUVV0VkxHTkJRMnBDVHl4RlFVRkxLMFVzVlVGQlZ5eEhRVWt6UW5KSExFVkJRV052UWl4VlFVRlZiRUlzVDBGQlV5eFRRVUZUTWtZc1JVRkJUMVVzUjBGRkwwTXNUMEZFUVd4SExFdEJRVXRaTEdsQ1FVRnJRaXhGUVVOb1Fsb3NTMEZCUzA4c1pVRkJaV2xHTEVWQlFVOVZMRVZCUVZFc1NVRkhOVU4yUnl4RlFVRmpiMElzVlVGQlZXcENMRTFCUVZFc1YwRkZPVUlzVDBGRVFVVXNTMEZCUzJFc2JVSkJRVzlDTEVWQlEyeENZaXhMUVVGTFVTeHBRa0ZIWkdJc1JVRkJZMjlDTEZWQlFWVnBReXhWUVVGWkxGTkJRVk12UXl4SFFVTXpReXhQUVVGWkxFMUJRVkpCTEVWQlEwc3NSMEZGUVN4VlFVRlpRU3hGUVVGUExFdEJTVGxDVGl4RlFVRmpiMElzVlVGQlZXOUdMRWxCUVUwc1YwRkROVUlzVDBGQlQyNUhMRXRCUVV0clJDeFJRVUZSU1N4TlFVRk5kRVFzUzBGQlRYVkVMRmxCUjJ4RE5VUXNSVUZCWTI5Q0xGVkJRVlZ4Uml4SlFVRk5MRk5CUVZOdVJ5eEZRVUZOYlVJc1JVRkJXVzFDTEVkQlEzWkVMRTlCUVU5MlF5eExRVUZMYVVJc1MwRkJTMmhDTEVWQlFVMXRRaXhGUVVGWmJVSXNTVUZIY2tNMVF5eEZRVUZqYjBJc1ZVRkJWWE5HTEVsQlFVMHNVMEZCVTNwRkxFZEJRM0pETEU5QlFVODFRaXhMUVVGTGRVTXNTMEZCUzFnc1NVRkhia0pxUXl4RlFVRmpiMElzVlVGQlZYVkdMRWxCUVUwc1UwRkJVekZGTEVkQlEzSkRMRTlCUVU4MVFpeExRVUZMTWtJc1RVRkJUVU1zU1VGSGNFSnFReXhGUVVGamIwSXNWVUZCVlhkR0xFbEJRVTBzVTBGQlV6TkZMRWRCUTNKRExFOUJRVTgxUWl4TFFVRkxPRUlzVVVGQlVVWXNTVUZIZEVKcVF5eEZRVUZqYjBJc1ZVRkJWWGxHTEVsQlFVMHNVMEZCVXpsRUxFVkJRVkZrTEVkQlF6ZERMRTlCUVU4MVFpeExRVUZMZVVNc1dVRkJXVU1zUlVGQlVXUXNTVUZIYkVOcVF5eEZRVUZqYjBJc1ZVRkJWVEJHTEVsQlFVMHNVMEZCVTNaRExFVkJRVk5ETEVWQlFWVkRMRWRCUTNoRUxFOUJRVTl3UlN4TFFVRkxhVVVzV1VGQldVTXNSVUZCVTBNc1JVRkJWVU1zU1VGSE4wTjZSU3hGUVVGamIwSXNWVUZCVlRKR0xFbEJRVTBzVTBGQlV6VkdMRVZCUVUxM1JDeEZRVUZQUXl4SFFVTnNSQ3hQUVVGUGRrVXNTMEZCUzNGRkxGRkJRVkYyUkN4RlFVRk5kMFFzUlVGQlQwTXNTVUZIYmtNMVJTeEZRVUZqYjBJc1ZVRkJWVFJHTEVWQlFVa3NVMEZCVXpGSExFVkJRVTF0UWl4RlFVRlpiVUlzUjBGRGNrUXNUMEZCVDNaRExFdEJRVXRyUkN4UlFVRlJha1FzUlVGQlRXMUNMRVZCUVZsdFFpeEpRVWQ0UXpWRExFVkJRV052UWl4VlFVRlZOa1lzUlVGQlNTeFRRVUZUTTBjc1JVRkJUVzFDTEVWQlFWbHRRaXhIUVVOeVJDeFBRVUZQZGtNc1MwRkJTMmxDTEV0QlFVdG9RaXhGUVVGTmJVSXNSVUZCV1cxQ0xFbEJSM0pETlVNc1JVRkJZMjlDTEZWQlFWVTRSaXhGUVVGSkxGTkJRVk5xUml4SFFVTnVReXhQUVVGUE5VSXNTMEZCUzNWRExFdEJRVXRZTEVsQlIyNUNha01zUlVGQlkyOUNMRlZCUVZVclJpeEZRVUZKTEZOQlFWTnNSaXhIUVVOdVF5eFBRVUZQTlVJc1MwRkJTekpDTEUxQlFVMURMRWxCUjNCQ2FrTXNSVUZCWTI5Q0xGVkJRVlZuUnl4RlFVRkpMRk5CUVZOdVJpeEhRVU51UXl4UFFVRlBOVUlzUzBGQlN6aENMRkZCUVZGR0xFbEJSM1JDYWtNc1JVRkJZMjlDTEZWQlFWVnBSeXhGUVVGSkxGTkJRVk53Uml4SFFVTnVReXhQUVVGUE5VSXNTMEZCUzNGRExFbEJRVWxVTEVsQlIyeENha01zUlVGQlkyOUNMRlZCUVZWUExFVkJRVWtzVTBGQlUyOUNMRVZCUVZGa0xFZEJRek5ETEU5QlFVODFRaXhMUVVGTGVVTXNXVUZCV1VNc1JVRkJVV1FzU1VGSGJFTnFReXhGUVVGamIwSXNWVUZCVlVjc1NVRkJUU3hYUVVNMVFpeFBRVUZKYkVJc1MwRkJTMU1zWVVGQlpWUXNTMEZCUzFNc1dVRkJXVkFzVDBGQlUyNURMRVZCUVZOeFJpeFJRVU5zUkhCRUxFdEJRVXQ1UlN4UlFVRlJia0lzVFVGQlRYUkVMRXRCUVUxMVJDeFhRVVY2UW5aRUxFdEJRVXN5UkN4VlFVRlZUQ3hOUVVGTmRFUXNTMEZCVFhWRUxGbEJTWFJETlVRc1JVRkJZMjlDTEZWQlFWVnJSeXhGUVVGSkxGZEJRekZDTEU5QlFVbHFTQ3hMUVVGTFV5eGhRVUZsVkN4TFFVRkxVeXhaUVVGWlVDeFBRVUZUYmtNc1JVRkJVM0ZHTEZGQlEyeEVjRVFzUzBGQlMzbEZMRkZCUVZGdVFpeE5RVUZOZEVRc1MwRkJUWFZFTEZkQlJYcENka1FzUzBGQlN6SkVMRlZCUVZWTUxFMUJRVTEwUkN4TFFVRk5kVVFzV1VGSmRFTTFSQ3hGUVVGamIwSXNWVUZCVlcxSExFbEJRVTBzVTBGQlUycElMRVZCUVUweVFpeEhRVU16UXl4UFFVRlBOVUlzUzBGQlMyZEdMRTlCUVU4dlJTeEZRVUZOTWtJc1NVRkhNMEpxUXl4RlFVRmpiMElzVlVGQlZXOUhMRXRCUVU4c1UwRkJVMnhJTEVWQlFVMHlRaXhIUVVNMVF5eFBRVUZQTlVJc1MwRkJTMnRHTEZGQlFWRnFSaXhGUVVGTk1rSXNTVUZITlVKcVF5eEZRVUZqYjBJc1ZVRkJWWEZITEVsQlFVMHNVMEZCVTI1SUxFVkJRVTB5UWl4SFFVTXpReXhQUVVGUE5VSXNTMEZCUzIxR0xGTkJRVk5zUml4RlFVRk5Na0lzU1VGSGRFSnFReXhGUVdobGQwSXNTMEZ2WldoRGMwTXNTMEZCUzJwRElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNUkc5amRXMWxiblJEUWk1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxvLHI9e30uaGFzT3duUHJvcGVydHk7bz1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbihvKXtuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsbyksdGhpcy50eXBlPXQuRHVtbXl9cmV0dXJuIGZ1bmN0aW9uKHQsbyl7Zm9yKHZhciBlIGluIG8pci5jYWxsKG8sZSkmJih0W2VdPW9bZV0pO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9bi5wcm90b3R5cGU9by5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG4sdC5fX3N1cGVyX189by5wcm90b3R5cGV9KG4sbyksbi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0sbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuXCJcIn0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSMWJXMTVMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNVG05a1pTSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URVIxYlcxNUlpd2ljR0Z5Wlc1MElpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aWRHaHBjeUlzSW5SNWNHVWlMQ0pFZFcxdGVTSXNJbU5vYVd4a0lpd2lhMlY1SWl3aVkzUnZjaUlzSW5CeWIzUnZkSGx3WlNJc0ltVjRkR1Z1WkNJc0ltTnNiMjVsSWl3aVQySnFaV04wSWl3aVkzSmxZWFJsSWl3aWRHOVRkSEpwYm1jaUxDSnZjSFJwYjI1eklsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVc5Q1F5eEZRVVYwUWtNc1JVRkJWU3hIUVVGSFF5eGxRVVZtUml4RlFVRlZSeXhSUVVGUkxHRkJSV3hDU2l4RlFVRlhTU3hSUVVGUkxHTkJSVzVDUXl4UFFVRlBReXhSUVVGeFFpeFRRVUZWUXl4SFFVZHdReXhUUVVGVFF5eEZRVUZUUXl4SFFVTm9Ra1FzUlVGQlUwVXNWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFVvc1IwRkRNVU5KTEV0QlFVdERMRXRCUVU5a0xFVkJRVk5sTEUxQlYzWkNMRTlCZGtKVExGTkJRVk5ETEVWQlFVOVFMRWRCUVZVc1NVRkJTeXhKUVVGSlVTeExRVUZQVWl4RlFVRmpVQ3hGUVVGUlZTeExRVUZMU0N4RlFVRlJVU3hMUVVGTlJDeEZRVUZOUXl4SFFVRlBVaXhGUVVGUFVTeEpRVUZSTEZOQlFWTkRMRWxCUVZOTUxFdEJRVXRHTEZsQlFXTkxMRVZCUVZORkxFVkJRVXRETEZWQlFWbFdMRVZCUVU5VkxGVkJRVmRJTEVWQlFVMUhMRlZCUVZrc1NVRkJTVVFzUlVGQlVVWXNSVUZCVFU0c1ZVRkJXVVFzUlVGQlQxVXNWVUZSYUZGRExFTkJRVTlhTEVWQmFVSk9VQ3hIUVZaRVR5eEZRVUZUVnl4VlFVRlZSU3hOUVVGUkxGZEJRM3BDTEU5QlFVOURMRTlCUVU5RExFOUJRVTlXTEU5QlIzWkNUQ3hGUVVGVFZ5eFZRVUZWU3l4VFFVRlhMRk5CUVZORExFZEJRM0pETEUxQlFVOHNTVUZIUm1wQ0xFVkJhRUp0UWl4TFFXOUNNMEpKTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVJIVnRiWGt1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXt2YXIgdCxlLHIsbyxpLG4scyxoLHU9e30uaGFzT3duUHJvcGVydHk7aD1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLHM9aC5pc09iamVjdCxuPWguaXNGdW5jdGlvbixpPWguZ2V0VmFsdWUsbz1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksZT1yZXF1aXJlKFwiLi9YTUxBdHRyaWJ1dGVcIikscj1yZXF1aXJlKFwiLi9YTUxOYW1lZE5vZGVNYXBcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oaCl7ZnVuY3Rpb24gcChlLHIsbyl7dmFyIGksbixzLGg7aWYocC5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLGUpLG51bGw9PXIpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBlbGVtZW50IG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO2lmKHRoaXMubmFtZT10aGlzLnN0cmluZ2lmeS5uYW1lKHIpLHRoaXMudHlwZT10LkVsZW1lbnQsdGhpcy5hdHRyaWJzPXt9LHRoaXMuc2NoZW1hVHlwZUluZm89bnVsbCxudWxsIT1vJiZ0aGlzLmF0dHJpYnV0ZShvKSxlLnR5cGU9PT10LkRvY3VtZW50JiYodGhpcy5pc1Jvb3Q9ITAsdGhpcy5kb2N1bWVudE9iamVjdD1lLGUucm9vdE9iamVjdD10aGlzLGUuY2hpbGRyZW4pKWZvcihuPTAscz0oaD1lLmNoaWxkcmVuKS5sZW5ndGg7bjxzO24rKylpZigoaT1oW25dKS50eXBlPT09dC5Eb2NUeXBlKXtpLm5hbWU9dGhpcy5uYW1lO2JyZWFrfX1yZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSl1LmNhbGwoZSxyKSYmKHRbcl09ZVtyXSk7ZnVuY3Rpb24gbygpe3RoaXMuY29uc3RydWN0b3I9dH1vLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbyx0Ll9fc3VwZXJfXz1lLnByb3RvdHlwZX0ocCxvKSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJ0YWdOYW1lXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHAucHJvdG90eXBlLFwibmFtZXNwYWNlVVJJXCIse2dldDpmdW5jdGlvbigpe3JldHVyblwiXCJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHAucHJvdG90eXBlLFwicHJlZml4XCIse2dldDpmdW5jdGlvbigpe3JldHVyblwiXCJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHAucHJvdG90eXBlLFwibG9jYWxOYW1lXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHAucHJvdG90eXBlLFwiaWRcIix7Z2V0OmZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJjbGFzc05hbWVcIix7Z2V0OmZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJjbGFzc0xpc3RcIix7Z2V0OmZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJhdHRyaWJ1dGVzXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmF0dHJpYnV0ZU1hcCYmdGhpcy5hdHRyaWJ1dGVNYXAubm9kZXN8fCh0aGlzLmF0dHJpYnV0ZU1hcD1uZXcgcih0aGlzLmF0dHJpYnMpKSx0aGlzLmF0dHJpYnV0ZU1hcH19KSxwLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3ZhciB0LGUscixvO2ZvcihlIGluKHI9T2JqZWN0LmNyZWF0ZSh0aGlzKSkuaXNSb290JiYoci5kb2N1bWVudE9iamVjdD1udWxsKSxyLmF0dHJpYnM9e30sbz10aGlzLmF0dHJpYnMpdS5jYWxsKG8sZSkmJih0PW9bZV0sci5hdHRyaWJzW2VdPXQuY2xvbmUoKSk7cmV0dXJuIHIuY2hpbGRyZW49W10sdGhpcy5jaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybihlPXQuY2xvbmUoKSkucGFyZW50PXIsci5jaGlsZHJlbi5wdXNoKGUpfSkscn0scC5wcm90b3R5cGUuYXR0cmlidXRlPWZ1bmN0aW9uKHQscil7dmFyIG8saDtpZihudWxsIT10JiYodD1pKHQpKSxzKHQpKWZvcihvIGluIHQpdS5jYWxsKHQsbykmJihoPXRbb10sdGhpcy5hdHRyaWJ1dGUobyxoKSk7ZWxzZSBuKHIpJiYocj1yLmFwcGx5KCkpLHRoaXMub3B0aW9ucy5rZWVwTnVsbEF0dHJpYnV0ZXMmJm51bGw9PXI/dGhpcy5hdHRyaWJzW3RdPW5ldyBlKHRoaXMsdCxcIlwiKTpudWxsIT1yJiYodGhpcy5hdHRyaWJzW3RdPW5ldyBlKHRoaXMsdCxyKSk7cmV0dXJuIHRoaXN9LHAucHJvdG90eXBlLnJlbW92ZUF0dHJpYnV0ZT1mdW5jdGlvbih0KXt2YXIgZSxyLG87aWYobnVsbD09dCl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGF0dHJpYnV0ZSBuYW1lLiBcIit0aGlzLmRlYnVnSW5mbygpKTtpZih0PWkodCksQXJyYXkuaXNBcnJheSh0KSlmb3Iocj0wLG89dC5sZW5ndGg7cjxvO3IrKyllPXRbcl0sZGVsZXRlIHRoaXMuYXR0cmlic1tlXTtlbHNlIGRlbGV0ZSB0aGlzLmF0dHJpYnNbdF07cmV0dXJuIHRoaXN9LHAucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmVsZW1lbnQodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxwLnByb3RvdHlwZS5hdHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5hdHRyaWJ1dGUodCxlKX0scC5wcm90b3R5cGUuYT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmF0dHJpYnV0ZSh0LGUpfSxwLnByb3RvdHlwZS5nZXRBdHRyaWJ1dGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYXR0cmlicy5oYXNPd25Qcm9wZXJ0eSh0KT90aGlzLmF0dHJpYnNbdF0udmFsdWU6bnVsbH0scC5wcm90b3R5cGUuc2V0QXR0cmlidXRlPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuZ2V0QXR0cmlidXRlTm9kZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5hdHRyaWJzLmhhc093blByb3BlcnR5KHQpP3RoaXMuYXR0cmlic1t0XTpudWxsfSxwLnByb3RvdHlwZS5zZXRBdHRyaWJ1dGVOb2RlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLnJlbW92ZUF0dHJpYnV0ZU5vZGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuZ2V0QXR0cmlidXRlTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5zZXRBdHRyaWJ1dGVOUz1mdW5jdGlvbih0LGUscil7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVOb2RlTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5zZXRBdHRyaWJ1dGVOb2RlTlM9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmhhc0F0dHJpYnV0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5hdHRyaWJzLmhhc093blByb3BlcnR5KHQpfSxwLnByb3RvdHlwZS5oYXNBdHRyaWJ1dGVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLnNldElkQXR0cmlidXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuYXR0cmlicy5oYXNPd25Qcm9wZXJ0eSh0KT90aGlzLmF0dHJpYnNbdF0uaXNJZDplfSxwLnByb3RvdHlwZS5zZXRJZEF0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSxyKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5zZXRJZEF0dHJpYnV0ZU5vZGU9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRFbGVtZW50c0J5VGFnTmFtZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5pc0VxdWFsTm9kZT1mdW5jdGlvbih0KXt2YXIgZSxyLG87aWYoIXAuX19zdXBlcl9fLmlzRXF1YWxOb2RlLmFwcGx5KHRoaXMsYXJndW1lbnRzKS5pc0VxdWFsTm9kZSh0KSlyZXR1cm4hMTtpZih0Lm5hbWVzcGFjZVVSSSE9PXRoaXMubmFtZXNwYWNlVVJJKXJldHVybiExO2lmKHQucHJlZml4IT09dGhpcy5wcmVmaXgpcmV0dXJuITE7aWYodC5sb2NhbE5hbWUhPT10aGlzLmxvY2FsTmFtZSlyZXR1cm4hMTtpZih0LmF0dHJpYnMubGVuZ3RoIT09dGhpcy5hdHRyaWJzLmxlbmd0aClyZXR1cm4hMTtmb3IoZT1yPTAsbz10aGlzLmF0dHJpYnMubGVuZ3RoLTE7MDw9bz9yPD1vOnI+PW87ZT0wPD1vPysrcjotLXIpaWYoIXRoaXMuYXR0cmlic1tlXS5pc0VxdWFsTm9kZSh0LmF0dHJpYnNbZV0pKXJldHVybiExO3JldHVybiEwfSxwfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVZzWlcxbGJuUXVhbk1pWFN3aWJtRnRaWE1pT2xzaVRtOWtaVlI1Y0dVaUxDSllUVXhCZEhSeWFXSjFkR1VpTENKWVRVeE9ZVzFsWkU1dlpHVk5ZWEFpTENKWVRVeE9iMlJsSWl3aVoyVjBWbUZzZFdVaUxDSnBjMFoxYm1OMGFXOXVJaXdpYVhOUFltcGxZM1FpTENKeVpXWWlMQ0pvWVhOUWNtOXdJaXdpYUdGelQzZHVVSEp2Y0dWeWRIa2lMQ0p5WlhGMWFYSmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW5OMWNHVnlRMnhoYzNNaUxDSllUVXhGYkdWdFpXNTBJaXdpY0dGeVpXNTBJaXdpYm1GdFpTSXNJbUYwZEhKcFluVjBaWE1pTENKamFHbHNaQ0lzSW1vaUxDSnNaVzRpTENKeVpXWXhJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0lrVnljbTl5SWl3aVpHVmlkV2RKYm1adklpd2ljM1J5YVc1bmFXWjVJaXdpZEhsd1pTSXNJa1ZzWlcxbGJuUWlMQ0poZEhSeWFXSnpJaXdpYzJOb1pXMWhWSGx3WlVsdVptOGlMQ0poZEhSeWFXSjFkR1VpTENKRWIyTjFiV1Z1ZENJc0ltbHpVbTl2ZENJc0ltUnZZM1Z0Wlc1MFQySnFaV04wSWl3aWNtOXZkRTlpYW1WamRDSXNJbU5vYVd4a2NtVnVJaXdpYkdWdVozUm9JaXdpUkc5alZIbHdaU0lzSW10bGVTSXNJbU4wYjNJaUxDSndjbTkwYjNSNWNHVWlMQ0psZUhSbGJtUWlMQ0pQWW1wbFkzUWlMQ0prWldacGJtVlFjbTl3WlhKMGVTSXNJbWRsZENJc0ltRjBkSEpwWW5WMFpVMWhjQ0lzSW01dlpHVnpJaXdpWTJ4dmJtVWlMQ0poZEhRaUxDSmhkSFJPWVcxbElpd2lZMnh2Ym1Wa1UyVnNaaUlzSW1OeVpXRjBaU0lzSW1admNrVmhZMmdpTENKamJHOXVaV1JEYUdsc1pDSXNJbkIxYzJnaUxDSjJZV3gxWlNJc0ltRjBkRlpoYkhWbElpd2lZWEJ3YkhraUxDSnZjSFJwYjI1eklpd2lhMlZsY0U1MWJHeEJkSFJ5YVdKMWRHVnpJaXdpY21WdGIzWmxRWFIwY21saWRYUmxJaXdpUVhKeVlYa2lMQ0pwYzBGeWNtRjVJaXdpZEc5VGRISnBibWNpTENKM2NtbDBaWElpTENKbGJHVnRaVzUwSWl3aVptbHNkR1Z5VDNCMGFXOXVjeUlzSW1FaUxDSm5aWFJCZEhSeWFXSjFkR1VpTENKelpYUkJkSFJ5YVdKMWRHVWlMQ0puWlhSQmRIUnlhV0oxZEdWT2IyUmxJaXdpYzJWMFFYUjBjbWxpZFhSbFRtOWtaU0lzSW01bGQwRjBkSElpTENKeVpXMXZkbVZCZEhSeWFXSjFkR1ZPYjJSbElpd2liMnhrUVhSMGNpSXNJbWRsZEVWc1pXMWxiblJ6UW5sVVlXZE9ZVzFsSWl3aVoyVjBRWFIwY21saWRYUmxUbE1pTENKdVlXMWxjM0JoWTJWVlVra2lMQ0pzYjJOaGJFNWhiV1VpTENKelpYUkJkSFJ5YVdKMWRHVk9VeUlzSW5GMVlXeHBabWxsWkU1aGJXVWlMQ0p5WlcxdmRtVkJkSFJ5YVdKMWRHVk9VeUlzSW1kbGRFRjBkSEpwWW5WMFpVNXZaR1ZPVXlJc0luTmxkRUYwZEhKcFluVjBaVTV2WkdWT1V5SXNJbWRsZEVWc1pXMWxiblJ6UW5sVVlXZE9ZVzFsVGxNaUxDSm9ZWE5CZEhSeWFXSjFkR1VpTENKb1lYTkJkSFJ5YVdKMWRHVk9VeUlzSW5ObGRFbGtRWFIwY21saWRYUmxJaXdpYVhOSlpDSXNJbk5sZEVsa1FYUjBjbWxpZFhSbFRsTWlMQ0p6WlhSSlpFRjBkSEpwWW5WMFpVNXZaR1VpTENKcFpFRjBkSElpTENKMFlXZHVZVzFsSWl3aVoyVjBSV3hsYldWdWRITkNlVU5zWVhOelRtRnRaU0lzSW1Oc1lYTnpUbUZ0WlhNaUxDSnBjMFZ4ZFdGc1RtOWtaU0lzSW01dlpHVWlMQ0pwSWl3aVlYSm5kVzFsYm5Seklpd2ljSEpsWm1sNElsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVZWRExFVkJRVEJDUXl4RlFVRnBRa01zUlVGQlUwTXNSVUZCVlVNc1JVRkJXVU1zUlVGQlZVTXNSVUZGYUVkRExFVkJRVlVzUjBGQlIwTXNaVUZGWmtZc1JVRkJUVWNzVVVGQlVTeGhRVUZqU2l4RlFVRlhReXhGUVVGSlJDeFRRVUZWUkN4RlFVRmhSU3hGUVVGSlJpeFhRVUZaUkN4RlFVRlhSeXhGUVVGSlNDeFRRVVZxUjBRc1JVRkJWVThzVVVGQlVTeGhRVVZzUWxZc1JVRkJWMVVzVVVGQlVTeGpRVVZ1UWxRc1JVRkJaVk1zVVVGQlVTeHJRa0ZGZGtKU0xFVkJRV3RDVVN4UlFVRlJMSEZDUVVVeFFrTXNUMEZCVDBNc1VVRkJkVUlzVTBGQlZVTXNSMEZIZEVNc1UwRkJVME1zUlVGQlYwTXNSVUZCVVVNc1JVRkJUVU1zUjBGRGFFTXNTVUZCU1VNc1JVRkJUME1zUlVGQlIwTXNSVUZCUzBNc1JVRkZia0lzUjBGRVFWQXNSVUZCVjFFc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVllzUjBGRGFFTXNUVUZCVWtNc1JVRkRSaXhOUVVGTkxFbEJRVWxWTEUxQlFVMHNlVUpCUVRKQ1JDeExRVUZMUlN4aFFWTnNSQ3hIUVZCQlJpeExRVUZMVkN4TFFVRlBVeXhMUVVGTFJ5eFZRVUZWV2l4TFFVRkxRU3hIUVVOb1ExTXNTMEZCUzBrc1MwRkJUemRDTEVWQlFWTTRRaXhSUVVOeVFrd3NTMEZCUzAwc1VVRkJWU3hIUVVObVRpeExRVUZMVHl4bFFVRnBRaXhMUVVOS0xFMUJRV1JtTEVkQlEwWlJMRXRCUVV0UkxGVkJRVlZvUWl4SFFVVmlSaXhGUVVGUFl5eFBRVUZUTjBJc1JVRkJVMnRETEZkQlF6TkNWQ3hMUVVGTFZTeFJRVUZUTEVWQlEyUldMRXRCUVV0WExHVkJRV2xDY2tJc1JVRkRkRUpCTEVWQlFVOXpRaXhYUVVGaFdpeExRVU5vUWxZc1JVRkJUM1ZDTEZWQlJWUXNTVUZCUzI1Q0xFVkJRVWtzUlVGQlIwTXNSMEZFV2tNc1JVRkJUMDRzUlVGQlQzVkNMRlZCUTFORExFOUJRVkZ3UWl4RlFVRkpReXhGUVVGTFJDeEpRVVYwUXl4SlFVUkJSQ3hGUVVGUlJ5eEZRVUZMUml4SlFVTklWU3hQUVVGVE4wSXNSVUZCVTNkRExGRkJRVk1zUTBGRGJrTjBRaXhGUVVGTlJpeExRVUZQVXl4TFFVRkxWQ3hMUVVOc1FpeFBRVEpRVml4UFFXeFRVeXhUUVVGVFJTeEZRVUZQU0N4SFFVRlZMRWxCUVVzc1NVRkJTVEJDTEV0QlFVOHhRaXhGUVVGalVDeEZRVUZSWjBJc1MwRkJTMVFzUlVGQlVUQkNMRXRCUVUxMlFpeEZRVUZOZFVJc1IwRkJUekZDTEVWQlFVOHdRaXhKUVVGUkxGTkJRVk5ETEVsQlFWTnFRaXhMUVVGTFJpeFpRVUZqVEN4RlFVRlRkMElzUlVGQlMwTXNWVUZCV1RWQ0xFVkJRVTgwUWl4VlFVRlhla0lzUlVGQlRYbENMRlZCUVZrc1NVRkJTVVFzUlVGQlVYaENMRVZCUVUxSkxGVkJRVmxRTEVWQlFVODBRaXhWUVdOb1VVTXNRMEZCVHpsQ0xFVkJjMUpPV0N4SFFYUlFSREJETEU5QlFVOURMR1ZCUVdWb1F5eEZRVUZYTmtJc1ZVRkJWeXhWUVVGWExFTkJRM0pFU1N4SlFVRkxMRmRCUTBnc1QwRkJUM1JDTEV0QlFVdFVMRkZCU1doQ05rSXNUMEZCVDBNc1pVRkJaV2hETEVWQlFWYzJRaXhWUVVGWExHVkJRV2RDTEVOQlF6RkVTU3hKUVVGTExGZEJRMGdzVFVGQlR5eE5RVWxZUml4UFFVRlBReXhsUVVGbGFFTXNSVUZCVnpaQ0xGVkJRVmNzVTBGQlZTeERRVU53UkVrc1NVRkJTeXhYUVVOSUxFMUJRVThzVFVGSldFWXNUMEZCVDBNc1pVRkJaV2hETEVWQlFWYzJRaXhWUVVGWExGbEJRV0VzUTBGRGRrUkpMRWxCUVVzc1YwRkRTQ3hQUVVGUGRFSXNTMEZCUzFRc1VVRkphRUkyUWl4UFFVRlBReXhsUVVGbGFFTXNSVUZCVnpaQ0xGVkJRVmNzUzBGQlRTeERRVU5vUkVrc1NVRkJTeXhYUVVOSUxFMUJRVTBzU1VGQlNYSkNMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3huUWtGSmFrVnJRaXhQUVVGUFF5eGxRVUZsYUVNc1JVRkJWelpDTEZWQlFWY3NXVUZCWVN4RFFVTjJSRWtzU1VGQlN5eFhRVU5JTEUxQlFVMHNTVUZCU1hKQ0xFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeG5Ra0ZKYWtWclFpeFBRVUZQUXl4bFFVRmxhRU1zUlVGQlZ6WkNMRlZCUVZjc1dVRkJZU3hEUVVOMlJFa3NTVUZCU3l4WFFVTklMRTFCUVUwc1NVRkJTWEpDTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4blFrRkpha1ZyUWl4UFFVRlBReXhsUVVGbGFFTXNSVUZCVnpaQ0xGVkJRVmNzWVVGQll5eERRVU40UkVrc1NVRkJTeXhYUVVsSUxFOUJTRXQwUWl4TFFVRkxkVUlzWTBGQmFVSjJRaXhMUVVGTGRVSXNZVUZCWVVNc1VVRkRNME40UWl4TFFVRkxkVUlzWVVGQlpTeEpRVUZKT1VNc1JVRkJaMEoxUWl4TFFVRkxUU3hWUVVWNFEwNHNTMEZCUzNWQ0xHZENRVWxvUW14RExFVkJRVmMyUWl4VlFVRlZUeXhOUVVGUkxGZEJRek5DTEVsQlFVbERMRVZCUVV0RExFVkJRVk5ETEVWQlFWbG9ReXhGUVU4NVFpeEpRVUZMSzBJc1MwRk9URU1zUlVGQllWSXNUMEZCVDFNc1QwRkJUemRDTEU5QlExcFZMRk5CUTJKclFpeEZRVUZYYWtJc1pVRkJhVUlzVFVGRk9VSnBRaXhGUVVGWGRFSXNVVUZCVlN4SFFVTnlRbFlzUlVGQlQwa3NTMEZCUzAwc1VVRkZUSFpDTEVWQlFWRm5RaXhMUVVGTFNDeEZRVUZOSzBJc1MwRkRlRUpFTEVWQlFVMDVRaXhGUVVGTEswSXNSMEZEV0VNc1JVRkJWM1JDTEZGQlFWRnhRaXhIUVVGWFJDeEZRVUZKUkN4VFFWTndReXhQUVZCQlJ5eEZRVUZYWml4VFFVRlhMRWRCUTNSQ1lpeExRVUZMWVN4VFFVRlRhVUlzVVVGQlVTeFRRVUZUY2tNc1IwRkROMElzU1VGQlNYTkRMRVZCUjBvc1QwRkdRVUVzUlVGQlkzUkRMRVZCUVUxblF5eFRRVU5TYmtNc1QwRkJVM05ETEVWQlEyUkJMRVZCUVZkbUxGTkJRVk50UWl4TFFVRkxSQ3hMUVVVelFrZ3NSMEZIVkhaRExFVkJRVmMyUWl4VlFVRlZWaXhWUVVGWkxGTkJRVk5xUWl4RlFVRk5NRU1zUjBGRE9VTXNTVUZCU1U0c1JVRkJVMDhzUlVGSllpeEhRVWhaTEUxQlFWSXpReXhKUVVOR1FTeEZRVUZQV2l4RlFVRlRXU3hKUVVWa1ZpeEZRVUZUVlN4SFFVTllMRWxCUVV0dlF5eExRVUZYY0VNc1JVRkRWRklzUlVGQlVXZENMRXRCUVV0U0xFVkJRVTF2UXl4TFFVTjRRazhzUlVGQlZ6TkRMRVZCUVV0dlF5eEhRVU5vUWpOQ0xFdEJRVXRSTEZWQlFWVnRRaXhGUVVGVFR5eFRRVWQwUW5SRUxFVkJRVmR4UkN4TFFVTmlRU3hGUVVGUlFTeEZRVUZOUlN4VFFVVmFia01zUzBGQlMyOURMRkZCUVZGRExHOUNRVUZuUXl4TlFVRlVTaXhGUVVOMFEycERMRXRCUVV0TkxGRkJRVkZtTEVkQlFWRXNTVUZCU1dZc1JVRkJZWGRDTEV0QlFVMVVMRVZCUVUwc1NVRkRhRU1zVFVGQlZEQkRMRWxCUTFScVF5eExRVUZMVFN4UlFVRlJaaXhIUVVGUkxFbEJRVWxtTEVWQlFXRjNRaXhMUVVGTlZDeEZRVUZOTUVNc1NVRkhkRVFzVDBGQlQycERMRTFCUjFSWUxFVkJRVmMyUWl4VlFVRlZiMElzWjBKQlFXdENMRk5CUVZNdlF5eEhRVU01UXl4SlFVRkpiME1zUlVGQlUycERMRVZCUVVkRExFVkJRMmhDTEVkQlFWa3NUVUZCVWtvc1JVRkRSaXhOUVVGTkxFbEJRVWxWTEUxQlFVMHNNa0pCUVRaQ1JDeExRVUZMUlN4aFFVZHdSQ3hIUVVSQldDeEZRVUZQV2l4RlFVRlRXU3hIUVVOYVowUXNUVUZCVFVNc1VVRkJVV3BFTEVkQlEyaENMRWxCUVV0SExFVkJRVWtzUlVGQlIwTXNSVUZCVFVvc1JVRkJTM1ZDTEU5QlFWRndRaXhGUVVGSlF5eEZRVUZMUkN4SlFVTjBRMmxETEVWQlFWVndReXhGUVVGTFJ5eFZRVU5TVFN4TFFVRkxUU3hSUVVGUmNVSXNaVUZIWmpOQ0xFdEJRVXROTEZGQlFWRm1MRWRCUlhSQ0xFOUJRVTlUTEUxQlIxUllMRVZCUVZjMlFpeFZRVUZWZFVJc1UwRkJWeXhUUVVGVFRDeEhRVU4yUXl4UFFVRlBjRU1zUzBGQlMyOURMRkZCUVZGTkxFOUJRVTlETEZGQlFWRXpReXhMUVVGTlFTeExRVUZMYjBNc1VVRkJVVTBzVDBGQlQwVXNZMEZCWTFJc1MwRkhOMFV2UXl4RlFVRlhOa0lzVlVGQlZWRXNTVUZCVFN4VFFVRlRia01zUlVGQlRUQkRMRWRCUTNoRExFOUJRVTlxUXl4TFFVRkxVU3hWUVVGVmFrSXNSVUZCVFRCRExFbEJSemxDTlVNc1JVRkJWelpDTEZWQlFWVXlRaXhGUVVGSkxGTkJRVk4wUkN4RlFVRk5NRU1zUjBGRGRFTXNUMEZCVDJwRExFdEJRVXRSTEZWQlFWVnFRaXhGUVVGTk1FTXNTVUZIT1VJMVF5eEZRVUZYTmtJc1ZVRkJWVFJDTEdGQlFXVXNVMEZCVTNaRUxFZEJRek5ETEU5QlFVbFRMRXRCUVV0TkxGRkJRVkYwUWl4bFFVRmxUeXhIUVVOMlFsTXNTMEZCUzAwc1VVRkJVV1lzUjBGQlRUQkRMRTFCUlc1Q0xFMUJTVmcxUXl4RlFVRlhOa0lzVlVGQlZUWkNMR0ZCUVdVc1UwRkJVM2hFTEVWQlFVMHdReXhIUVVOcVJDeE5RVUZOTEVsQlFVbG9ReXhOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWT0VJc2FVSkJRVzFDTEZOQlFWTjZSQ3hIUVVNdlF5eFBRVUZKVXl4TFFVRkxUU3hSUVVGUmRFSXNaVUZCWlU4c1IwRkRka0pUTEV0QlFVdE5MRkZCUVZGbUxFZEJSV0lzVFVGSldFWXNSVUZCVnpaQ0xGVkJRVlVyUWl4cFFrRkJiVUlzVTBGQlUwTXNSMEZETDBNc1RVRkJUU3hKUVVGSmFrUXNUVUZCVFN4elEwRkJkME5FTEV0QlFVdEZMR05CUnk5RVlpeEZRVUZYTmtJc1ZVRkJWV2xETEc5Q1FVRnpRaXhUUVVGVFF5eEhRVU5zUkN4TlFVRk5MRWxCUVVsdVJDeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZiVU1zY1VKQlFYVkNMRk5CUVZNNVJDeEhRVU51UkN4TlFVRk5MRWxCUVVsVkxFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWN2UkdJc1JVRkJWelpDTEZWQlFWVnZReXhsUVVGcFFpeFRRVUZUUXl4RlFVRmpReXhIUVVNelJDeE5RVUZOTEVsQlFVbDJSQ3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWZFVNc1pVRkJhVUlzVTBGQlUwWXNSVUZCWTBjc1JVRkJaWHBDTEVkQlF6RkZMRTFCUVUwc1NVRkJTV2hETEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4alFVY3ZSR0lzUlVGQlZ6WkNMRlZCUVZWNVF5eHJRa0ZCYjBJc1UwRkJVMG9zUlVGQlkwTXNSMEZET1VRc1RVRkJUU3hKUVVGSmRrUXNUVUZCVFN4elEwRkJkME5FTEV0QlFVdEZMR05CUnk5RVlpeEZRVUZYTmtJc1ZVRkJWVEJETEcxQ1FVRnhRaXhUUVVGVFRDeEZRVUZqUXl4SFFVTXZSQ3hOUVVGTkxFbEJRVWwyUkN4TlFVRk5MSE5EUVVGM1EwUXNTMEZCUzBVc1kwRkhMMFJpTEVWQlFWYzJRaXhWUVVGVk1rTXNiVUpCUVhGQ0xGTkJRVk5ZTEVkQlEycEVMRTFCUVUwc1NVRkJTV3BFTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4alFVY3ZSR0lzUlVGQlZ6WkNMRlZCUVZVMFF5eDFRa0ZCZVVJc1UwRkJVMUFzUlVGQlkwTXNSMEZEYmtVc1RVRkJUU3hKUVVGSmRrUXNUVUZCVFN4elEwRkJkME5FTEV0QlFVdEZMR05CUnk5RVlpeEZRVUZYTmtJc1ZVRkJWVFpETEdGQlFXVXNVMEZCVTNoRkxFZEJRek5ETEU5QlFVOVRMRXRCUVV0TkxGRkJRVkYwUWl4bFFVRmxUeXhKUVVkeVEwWXNSVUZCVnpaQ0xGVkJRVlU0UXl4bFFVRnBRaXhUUVVGVFZDeEZRVUZqUXl4SFFVTXpSQ3hOUVVGTkxFbEJRVWwyUkN4TlFVRk5MSE5EUVVGM1EwUXNTMEZCUzBVc1kwRkhMMFJpTEVWQlFWYzJRaXhWUVVGVkswTXNaVUZCYVVJc1UwRkJVekZGTEVWQlFVMHlSU3hIUVVOdVJDeFBRVUZKYkVVc1MwRkJTMDBzVVVGQlVYUkNMR1ZCUVdWUExFZEJRM1pDVXl4TFFVRkxUU3hSUVVGUlppeEhRVUZOTWtVc1MwRkZia0pCTEVkQlNWZzNSU3hGUVVGWE5rSXNWVUZCVldsRUxHbENRVUZ0UWl4VFFVRlRXaXhGUVVGalF5eEZRVUZYVlN4SFFVTjRSU3hOUVVGTkxFbEJRVWxxUlN4TlFVRk5MSE5EUVVGM1EwUXNTMEZCUzBVc1kwRkhMMFJpTEVWQlFWYzJRaXhWUVVGVmEwUXNiVUpCUVhGQ0xGTkJRVk5ETEVWQlFWRklMRWRCUTNwRUxFMUJRVTBzU1VGQlNXcEZMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3hqUVVjdlJHSXNSVUZCVnpaQ0xGVkJRVlZ0UXl4eFFrRkJkVUlzVTBGQlUybENMRWRCUTI1RUxFMUJRVTBzU1VGQlNYSkZMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3hqUVVjdlJHSXNSVUZCVnpaQ0xGVkJRVlUwUXl4MVFrRkJlVUlzVTBGQlUxQXNSVUZCWTBNc1IwRkRia1VzVFVGQlRTeEpRVUZKZGtRc1RVRkJUU3h6UTBGQmQwTkVMRXRCUVV0RkxHTkJSeTlFWWl4RlFVRlhOa0lzVlVGQlZYRkVMSFZDUVVGNVFpeFRRVUZUUXl4SFFVTnlSQ3hOUVVGTkxFbEJRVWwyUlN4TlFVRk5MSE5EUVVGM1EwUXNTMEZCUzBVc1kwRkhMMFJpTEVWQlFWYzJRaXhWUVVGVmRVUXNXVUZCWXl4VFFVRlRReXhIUVVNeFF5eEpRVUZKUXl4RlFVRkhha1lzUlVGQlIwVXNSVUZEVml4SlFVRkxVQ3hGUVVGWFVTeFZRVUZWTkVVc1dVRkJXWFJETEUxQlFVMXVReXhMUVVGTk5FVXNWMEZCVjBnc1dVRkJXVU1zUjBGRGRrVXNUMEZCVHl4RlFVVlVMRWRCUVVsQkxFVkJRVXR1UWl4bFFVRnBRblpFTEV0QlFVdDFSQ3hoUVVNM1FpeFBRVUZQTEVWQlJWUXNSMEZCU1cxQ0xFVkJRVXRITEZOQlFWYzNSU3hMUVVGTE5rVXNUMEZEZGtJc1QwRkJUeXhGUVVWVUxFZEJRVWxJTEVWQlFVdHNRaXhaUVVGamVFUXNTMEZCUzNkRUxGVkJRekZDTEU5QlFVOHNSVUZGVkN4SFFVRkphMElzUlVGQlMzQkZMRkZCUVZGUkxGTkJRVmRrTEV0QlFVdE5MRkZCUVZGUkxFOUJRM1pETEU5QlFVOHNSVUZGVkN4SlFVRkxOa1FzUlVGQlNXcEdMRVZCUVVrc1JVRkJSMFVzUlVGQlQwa3NTMEZCUzAwc1VVRkJVVkVzVDBGQlV5eEZRVUZITEVkQlFVdHNRaXhGUVVGUFJpeEhRVUZMUlN4RlFVRlBSaXhIUVVGTFJTeEZRVUZOSzBVc1JVRkJTU3hIUVVGTEwwVXNTVUZCVTBZc1NVRkJUVUVzUlVGRGVrY3NTVUZCUzAwc1MwRkJTMDBzVVVGQlVYRkZMRWRCUVVkR0xGbEJRVmxETEVWQlFVdHdSU3hSUVVGUmNVVXNTVUZETlVNc1QwRkJUeXhGUVVkWUxFOUJRVThzUjBGSFJuUkdMRVZCY2xKeFFpeExRWGxTTjBKVkxFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1SV3hsYldWdWRDNXFjeUo5IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMubm9kZXM9ZX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwibGVuZ3RoXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLm5vZGVzKS5sZW5ndGh8fDB9fSksZS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2Rlcz1udWxsfSxlLnByb3RvdHlwZS5nZXROYW1lZEl0ZW09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubm9kZXNbZV19LGUucHJvdG90eXBlLnNldE5hbWVkSXRlbT1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdD10aGlzLm5vZGVzW2Uubm9kZU5hbWVdLHRoaXMubm9kZXNbZS5ub2RlTmFtZV09ZSx0fHxudWxsfSxlLnByb3RvdHlwZS5yZW1vdmVOYW1lZEl0ZW09ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIHQ9dGhpcy5ub2Rlc1tlXSxkZWxldGUgdGhpcy5ub2Rlc1tlXSx0fHxudWxsfSxlLnByb3RvdHlwZS5pdGVtPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm5vZGVzW09iamVjdC5rZXlzKHRoaXMubm9kZXMpW2VdXXx8bnVsbH0sZS5wcm90b3R5cGUuZ2V0TmFtZWRJdGVtTlM9ZnVuY3Rpb24oZSx0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sZS5wcm90b3R5cGUuc2V0TmFtZWRJdGVtTlM9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIil9LGUucHJvdG90eXBlLnJlbW92ZU5hbWVkSXRlbU5TPWZ1bmN0aW9uKGUsdCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIil9LGV9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFNWhiV1ZrVG05a1pVMWhjQzVxY3lKZExDSnVZVzFsY3lJNld5SnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lXRTFNVG1GdFpXUk9iMlJsVFdGd0lpd2libTlrWlhNaUxDSjBhR2x6SWl3aVQySnFaV04wSWl3aVpHVm1hVzVsVUhKdmNHVnlkSGtpTENKd2NtOTBiM1I1Y0dVaUxDSm5aWFFpTENKclpYbHpJaXdpYkdWdVozUm9JaXdpWTJ4dmJtVWlMQ0puWlhST1lXMWxaRWwwWlcwaUxDSnVZVzFsSWl3aWMyVjBUbUZ0WldSSmRHVnRJaXdpYm05a1pTSXNJbTlzWkU1dlpHVWlMQ0p1YjJSbFRtRnRaU0lzSW5KbGJXOTJaVTVoYldWa1NYUmxiU0lzSW1sMFpXMGlMQ0pwYm1SbGVDSXNJbWRsZEU1aGJXVmtTWFJsYlU1VElpd2libUZ0WlhOd1lXTmxWVkpKSWl3aWJHOWpZV3hPWVcxbElpd2lSWEp5YjNJaUxDSnpaWFJPWVcxbFpFbDBaVzFPVXlJc0luSmxiVzkyWlU1aGJXVmtTWFJsYlU1VElpd2lZMkZzYkNKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkhSVUVzVDBGQlQwTXNVVUZCTkVJc1YwRkRha01zVTBGQlUwTXNSVUZCWjBKRExFZEJRM1pDUXl4TFFVRkxSQ3hOUVVGUlFTeEZRU3REWml4UFFUVkRRVVVzVDBGQlQwTXNaVUZCWlVvc1JVRkJaMEpMTEZWQlFWY3NVMEZCVlN4RFFVTjZSRU1zU1VGQlN5eFhRVU5JTEU5QlFVOUlMRTlCUVU5SkxFdEJRVXRNTEV0QlFVdEVMRTlCUVU5UExGRkJRVlVzUzBGSk4wTlNMRVZCUVdkQ1N5eFZRVUZWU1N4TlFVRlJMRmRCUTJoRExFOUJRVTlRTEV0QlFVdEVMRTFCUVZFc1RVRkhkRUpFTEVWQlFXZENTeXhWUVVGVlN5eGhRVUZsTEZOQlFWTkRMRWRCUTJoRUxFOUJRVTlVTEV0QlFVdEVMRTFCUVUxVkxFbEJSM0JDV0N4RlFVRm5Ra3NzVlVGQlZVOHNZVUZCWlN4VFFVRlRReXhIUVVOb1JDeEpRVUZKUXl4RlFVZEtMRTlCUmtGQkxFVkJRVlZhTEV0QlFVdEVMRTFCUVUxWkxFVkJRVXRGTEZWQlF6RkNZaXhMUVVGTFJDeE5RVUZOV1N4RlFVRkxSU3hWUVVGWlJpeEZRVU55UWtNc1IwRkJWeXhOUVVkd1FtUXNSVUZCWjBKTExGVkJRVlZYTEdkQ1FVRnJRaXhUUVVGVFRDeEhRVU51UkN4SlFVRkpSeXhGUVVkS0xFOUJSa0ZCTEVWQlFWVmFMRXRCUVV0RUxFMUJRVTFWTEZWQlEyUlVMRXRCUVV0RUxFMUJRVTFWTEVkQlExaEhMRWRCUVZjc1RVRkhjRUprTEVWQlFXZENTeXhWUVVGVldTeExRVUZQTEZOQlFWTkRMRWRCUTNoRExFOUJRVTlvUWl4TFFVRkxSQ3hOUVVGTlJTeFBRVUZQU1N4TFFVRkxUQ3hMUVVGTFJDeFBRVUZQYVVJc1MwRkJWeXhOUVVkMlJHeENMRVZCUVdkQ1N5eFZRVUZWWXl4bFFVRnBRaXhUUVVGVFF5eEZRVUZqUXl4SFFVTm9SU3hOUVVGTkxFbEJRVWxETEUxQlFVMHNkME5CUjJ4Q2RFSXNSVUZCWjBKTExGVkJRVlZyUWl4bFFVRnBRaXhUUVVGVFZpeEhRVU5zUkN4TlFVRk5MRWxCUVVsVExFMUJRVTBzZDBOQlIyeENkRUlzUlVGQlowSkxMRlZCUVZWdFFpeHJRa0ZCYjBJc1UwRkJVMG9zUlVGQlkwTXNSMEZEYmtVc1RVRkJUU3hKUVVGSlF5eE5RVUZOTEhkRFFVZFlkRUlzUlVGcVJEQkNMRXRCY1VSc1EzbENMRXRCUVV0MlFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEU1aGJXVmtUbTlrWlUxaGNDNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxuLHIsaSxvLHMsaCxwLHUsYyxsLGQsYSxmLHksbSxnPXt9Lmhhc093blByb3BlcnR5O209cmVxdWlyZShcIi4vVXRpbGl0eVwiKSx5PW0uaXNPYmplY3QsZj1tLmlzRnVuY3Rpb24sYT1tLmlzRW1wdHksZD1tLmdldFZhbHVlLGg9bnVsbCxuPW51bGwscj1udWxsLGk9bnVsbCxvPW51bGwsYz1udWxsLGw9bnVsbCx1PW51bGwscz1udWxsLGU9bnVsbCxwPW51bGwsdD1udWxsLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbShkKXt0aGlzLnBhcmVudD1kLHRoaXMucGFyZW50JiYodGhpcy5vcHRpb25zPXRoaXMucGFyZW50Lm9wdGlvbnMsdGhpcy5zdHJpbmdpZnk9dGhpcy5wYXJlbnQuc3RyaW5naWZ5KSx0aGlzLnZhbHVlPW51bGwsdGhpcy5jaGlsZHJlbj1bXSx0aGlzLmJhc2VVUkk9bnVsbCxofHwoaD1yZXF1aXJlKFwiLi9YTUxFbGVtZW50XCIpLG49cmVxdWlyZShcIi4vWE1MQ0RhdGFcIikscj1yZXF1aXJlKFwiLi9YTUxDb21tZW50XCIpLGk9cmVxdWlyZShcIi4vWE1MRGVjbGFyYXRpb25cIiksbz1yZXF1aXJlKFwiLi9YTUxEb2NUeXBlXCIpLGM9cmVxdWlyZShcIi4vWE1MUmF3XCIpLGw9cmVxdWlyZShcIi4vWE1MVGV4dFwiKSx1PXJlcXVpcmUoXCIuL1hNTFByb2Nlc3NpbmdJbnN0cnVjdGlvblwiKSxzPXJlcXVpcmUoXCIuL1hNTER1bW15XCIpLGU9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscD1yZXF1aXJlKFwiLi9YTUxOb2RlTGlzdFwiKSxyZXF1aXJlKFwiLi9YTUxOYW1lZE5vZGVNYXBcIiksdD1yZXF1aXJlKFwiLi9Eb2N1bWVudFBvc2l0aW9uXCIpKX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwibm9kZU5hbWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJub2RlVHlwZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50eXBlfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcIm5vZGVWYWx1ZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJwYXJlbnROb2RlXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJjaGlsZE5vZGVzXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNoaWxkTm9kZUxpc3QmJnRoaXMuY2hpbGROb2RlTGlzdC5ub2Rlc3x8KHRoaXMuY2hpbGROb2RlTGlzdD1uZXcgcCh0aGlzLmNoaWxkcmVuKSksdGhpcy5jaGlsZE5vZGVMaXN0fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcImZpcnN0Q2hpbGRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW5bMF18fG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwibGFzdENoaWxkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNoaWxkcmVuW3RoaXMuY2hpbGRyZW4ubGVuZ3RoLTFdfHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcInByZXZpb3VzU2libGluZ1wiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgdDtyZXR1cm4gdD10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLHRoaXMucGFyZW50LmNoaWxkcmVuW3QtMV18fG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwibmV4dFNpYmxpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIHQ9dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSx0aGlzLnBhcmVudC5jaGlsZHJlblt0KzFdfHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcIm93bmVyRG9jdW1lbnRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9jdW1lbnQoKXx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJ0ZXh0Q29udGVudFwiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgdCxuLHIsaSxvO2lmKHRoaXMubm9kZVR5cGU9PT1lLkVsZW1lbnR8fHRoaXMubm9kZVR5cGU9PT1lLkRvY3VtZW50RnJhZ21lbnQpe2ZvcihvPVwiXCIsbj0wLHI9KGk9dGhpcy5jaGlsZHJlbikubGVuZ3RoO248cjtuKyspKHQ9aVtuXSkudGV4dENvbnRlbnQmJihvKz10LnRleHRDb250ZW50KTtyZXR1cm4gb31yZXR1cm4gbnVsbH0sc2V0OmZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9fSksbS5wcm90b3R5cGUuc2V0UGFyZW50PWZ1bmN0aW9uKHQpe3ZhciBlLG4scixpLG87Zm9yKHRoaXMucGFyZW50PXQsdCYmKHRoaXMub3B0aW9ucz10Lm9wdGlvbnMsdGhpcy5zdHJpbmdpZnk9dC5zdHJpbmdpZnkpLG89W10sbj0wLHI9KGk9dGhpcy5jaGlsZHJlbikubGVuZ3RoO248cjtuKyspZT1pW25dLG8ucHVzaChlLnNldFBhcmVudCh0aGlzKSk7cmV0dXJuIG99LG0ucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24odCxlLG4pe3ZhciByLGksbyxzLGgscCx1LGMsbCxtLHc7aWYocD1udWxsLG51bGw9PT1lJiZudWxsPT1uJiYoZT0obD1be30sbnVsbF0pWzBdLG49bFsxXSksbnVsbD09ZSYmKGU9e30pLGU9ZChlKSx5KGUpfHwobj0obT1bZSxuXSlbMF0sZT1tWzFdKSxudWxsIT10JiYodD1kKHQpKSxBcnJheS5pc0FycmF5KHQpKWZvcihvPTAsdT10Lmxlbmd0aDtvPHU7bysrKWk9dFtvXSxwPXRoaXMuZWxlbWVudChpKTtlbHNlIGlmKGYodCkpcD10aGlzLmVsZW1lbnQodC5hcHBseSgpKTtlbHNlIGlmKHkodCkpe2ZvcihoIGluIHQpaWYoZy5jYWxsKHQsaCkpaWYodz10W2hdLGYodykmJih3PXcuYXBwbHkoKSksIXRoaXMub3B0aW9ucy5pZ25vcmVEZWNvcmF0b3JzJiZ0aGlzLnN0cmluZ2lmeS5jb252ZXJ0QXR0S2V5JiYwPT09aC5pbmRleE9mKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRBdHRLZXkpKXA9dGhpcy5hdHRyaWJ1dGUoaC5zdWJzdHIodGhpcy5zdHJpbmdpZnkuY29udmVydEF0dEtleS5sZW5ndGgpLHcpO2Vsc2UgaWYoIXRoaXMub3B0aW9ucy5zZXBhcmF0ZUFycmF5SXRlbXMmJkFycmF5LmlzQXJyYXkodykmJmEodykpcD10aGlzLmR1bW15KCk7ZWxzZSBpZih5KHcpJiZhKHcpKXA9dGhpcy5lbGVtZW50KGgpO2Vsc2UgaWYodGhpcy5vcHRpb25zLmtlZXBOdWxsTm9kZXN8fG51bGwhPXcpaWYoIXRoaXMub3B0aW9ucy5zZXBhcmF0ZUFycmF5SXRlbXMmJkFycmF5LmlzQXJyYXkodykpZm9yKHM9MCxjPXcubGVuZ3RoO3M8YztzKyspaT13W3NdLChyPXt9KVtoXT1pLHA9dGhpcy5lbGVtZW50KHIpO2Vsc2UgeSh3KT8hdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRUZXh0S2V5JiYwPT09aC5pbmRleE9mKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRUZXh0S2V5KT9wPXRoaXMuZWxlbWVudCh3KToocD10aGlzLmVsZW1lbnQoaCkpLmVsZW1lbnQodyk6cD10aGlzLmVsZW1lbnQoaCx3KTtlbHNlIHA9dGhpcy5kdW1teSgpfWVsc2UgcD10aGlzLm9wdGlvbnMua2VlcE51bGxOb2Rlc3x8bnVsbCE9PW4/IXRoaXMub3B0aW9ucy5pZ25vcmVEZWNvcmF0b3JzJiZ0aGlzLnN0cmluZ2lmeS5jb252ZXJ0VGV4dEtleSYmMD09PXQuaW5kZXhPZih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0VGV4dEtleSk/dGhpcy50ZXh0KG4pOiF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydENEYXRhS2V5JiYwPT09dC5pbmRleE9mKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRDRGF0YUtleSk/dGhpcy5jZGF0YShuKTohdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRDb21tZW50S2V5JiYwPT09dC5pbmRleE9mKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRDb21tZW50S2V5KT90aGlzLmNvbW1lbnQobik6IXRoaXMub3B0aW9ucy5pZ25vcmVEZWNvcmF0b3JzJiZ0aGlzLnN0cmluZ2lmeS5jb252ZXJ0UmF3S2V5JiYwPT09dC5pbmRleE9mKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRSYXdLZXkpP3RoaXMucmF3KG4pOiF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydFBJS2V5JiYwPT09dC5pbmRleE9mKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRQSUtleSk/dGhpcy5pbnN0cnVjdGlvbih0LnN1YnN0cih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0UElLZXkubGVuZ3RoKSxuKTp0aGlzLm5vZGUodCxlLG4pOnRoaXMuZHVtbXkoKTtpZihudWxsPT1wKXRocm93IG5ldyBFcnJvcihcIkNvdWxkIG5vdCBjcmVhdGUgYW55IGVsZW1lbnRzIHdpdGg6IFwiK3QrXCIuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3JldHVybiBwfSxtLnByb3RvdHlwZS5pbnNlcnRCZWZvcmU9ZnVuY3Rpb24odCxlLG4pe3ZhciByLGksbyxzLGg7aWYobnVsbCE9dD90LnR5cGU6dm9pZCAwKXJldHVybiBzPWUsKG89dCkuc2V0UGFyZW50KHRoaXMpLHM/KGk9Y2hpbGRyZW4uaW5kZXhPZihzKSxoPWNoaWxkcmVuLnNwbGljZShpKSxjaGlsZHJlbi5wdXNoKG8pLEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGNoaWxkcmVuLGgpKTpjaGlsZHJlbi5wdXNoKG8pLG87aWYodGhpcy5pc1Jvb3QpdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGluc2VydCBlbGVtZW50cyBhdCByb290IGxldmVsLiBcIit0aGlzLmRlYnVnSW5mbyh0KSk7cmV0dXJuIGk9dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSxoPXRoaXMucGFyZW50LmNoaWxkcmVuLnNwbGljZShpKSxyPXRoaXMucGFyZW50LmVsZW1lbnQodCxlLG4pLEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLGgpLHJ9LG0ucHJvdG90eXBlLmluc2VydEFmdGVyPWZ1bmN0aW9uKHQsZSxuKXt2YXIgcixpLG87aWYodGhpcy5pc1Jvb3QpdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGluc2VydCBlbGVtZW50cyBhdCByb290IGxldmVsLiBcIit0aGlzLmRlYnVnSW5mbyh0KSk7cmV0dXJuIGk9dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSxvPXRoaXMucGFyZW50LmNoaWxkcmVuLnNwbGljZShpKzEpLHI9dGhpcy5wYXJlbnQuZWxlbWVudCh0LGUsbiksQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkodGhpcy5wYXJlbnQuY2hpbGRyZW4sbykscn0sbS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7dmFyIHQ7aWYodGhpcy5pc1Jvb3QpdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IHJlbW92ZSB0aGUgcm9vdCBlbGVtZW50LiBcIit0aGlzLmRlYnVnSW5mbygpKTtyZXR1cm4gdD10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLFtdLnNwbGljZS5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixbdCx0LXQrMV0uY29uY2F0KFtdKSksdGhpcy5wYXJlbnR9LG0ucHJvdG90eXBlLm5vZGU9ZnVuY3Rpb24odCxlLG4pe3ZhciByLGk7cmV0dXJuIG51bGwhPXQmJih0PWQodCkpLGV8fChlPXt9KSxlPWQoZSkseShlKXx8KG49KGk9W2Usbl0pWzBdLGU9aVsxXSkscj1uZXcgaCh0aGlzLHQsZSksbnVsbCE9biYmci50ZXh0KG4pLHRoaXMuY2hpbGRyZW4ucHVzaChyKSxyfSxtLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB5KHQpJiZ0aGlzLmVsZW1lbnQodCksZT1uZXcgbCh0aGlzLHQpLHRoaXMuY2hpbGRyZW4ucHVzaChlKSx0aGlzfSxtLnByb3RvdHlwZS5jZGF0YT1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gZT1uZXcgbih0aGlzLHQpLHRoaXMuY2hpbGRyZW4ucHVzaChlKSx0aGlzfSxtLnByb3RvdHlwZS5jb21tZW50PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBlPW5ldyByKHRoaXMsdCksdGhpcy5jaGlsZHJlbi5wdXNoKGUpLHRoaXN9LG0ucHJvdG90eXBlLmNvbW1lbnRCZWZvcmU9ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gZT10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLG49dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGUpLHRoaXMucGFyZW50LmNvbW1lbnQodCksQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkodGhpcy5wYXJlbnQuY2hpbGRyZW4sbiksdGhpc30sbS5wcm90b3R5cGUuY29tbWVudEFmdGVyPWZ1bmN0aW9uKHQpe3ZhciBlLG47cmV0dXJuIGU9dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSxuPXRoaXMucGFyZW50LmNoaWxkcmVuLnNwbGljZShlKzEpLHRoaXMucGFyZW50LmNvbW1lbnQodCksQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkodGhpcy5wYXJlbnQuY2hpbGRyZW4sbiksdGhpc30sbS5wcm90b3R5cGUucmF3PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBlPW5ldyBjKHRoaXMsdCksdGhpcy5jaGlsZHJlbi5wdXNoKGUpLHRoaXN9LG0ucHJvdG90eXBlLmR1bW15PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBzKHRoaXMpfSxtLnByb3RvdHlwZS5pbnN0cnVjdGlvbj1mdW5jdGlvbih0LGUpe3ZhciBuLHIsaSxvLHM7aWYobnVsbCE9dCYmKHQ9ZCh0KSksbnVsbCE9ZSYmKGU9ZChlKSksQXJyYXkuaXNBcnJheSh0KSlmb3Iobz0wLHM9dC5sZW5ndGg7bzxzO28rKyluPXRbb10sdGhpcy5pbnN0cnVjdGlvbihuKTtlbHNlIGlmKHkodCkpZm9yKG4gaW4gdClnLmNhbGwodCxuKSYmKHI9dFtuXSx0aGlzLmluc3RydWN0aW9uKG4scikpO2Vsc2UgZihlKSYmKGU9ZS5hcHBseSgpKSxpPW5ldyB1KHRoaXMsdCxlKSx0aGlzLmNoaWxkcmVuLnB1c2goaSk7cmV0dXJuIHRoaXN9LG0ucHJvdG90eXBlLmluc3RydWN0aW9uQmVmb3JlPWZ1bmN0aW9uKHQsZSl7dmFyIG4scjtyZXR1cm4gbj10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLHI9dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKG4pLHRoaXMucGFyZW50Lmluc3RydWN0aW9uKHQsZSksQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkodGhpcy5wYXJlbnQuY2hpbGRyZW4sciksdGhpc30sbS5wcm90b3R5cGUuaW5zdHJ1Y3Rpb25BZnRlcj1mdW5jdGlvbih0LGUpe3ZhciBuLHI7cmV0dXJuIG49dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSxyPXRoaXMucGFyZW50LmNoaWxkcmVuLnNwbGljZShuKzEpLHRoaXMucGFyZW50Lmluc3RydWN0aW9uKHQsZSksQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkodGhpcy5wYXJlbnQuY2hpbGRyZW4sciksdGhpc30sbS5wcm90b3R5cGUuZGVjbGFyYXRpb249ZnVuY3Rpb24odCxuLHIpe3ZhciBvLHM7cmV0dXJuIG89dGhpcy5kb2N1bWVudCgpLHM9bmV3IGkobyx0LG4sciksMD09PW8uY2hpbGRyZW4ubGVuZ3RoP28uY2hpbGRyZW4udW5zaGlmdChzKTpvLmNoaWxkcmVuWzBdLnR5cGU9PT1lLkRlY2xhcmF0aW9uP28uY2hpbGRyZW5bMF09czpvLmNoaWxkcmVuLnVuc2hpZnQocyksby5yb290KCl8fG99LG0ucHJvdG90eXBlLmR0ZD1mdW5jdGlvbih0LG4pe3ZhciByLGkscyxoLHAsdSxjLGwsZDtmb3Iocj10aGlzLmRvY3VtZW50KCksaT1uZXcgbyhyLHQsbikscz1oPTAsdT0obD1yLmNoaWxkcmVuKS5sZW5ndGg7aDx1O3M9KytoKWlmKGxbc10udHlwZT09PWUuRG9jVHlwZSlyZXR1cm4gci5jaGlsZHJlbltzXT1pLGk7Zm9yKHM9cD0wLGM9KGQ9ci5jaGlsZHJlbikubGVuZ3RoO3A8YztzPSsrcClpZihkW3NdLmlzUm9vdClyZXR1cm4gci5jaGlsZHJlbi5zcGxpY2UocywwLGkpLGk7cmV0dXJuIHIuY2hpbGRyZW4ucHVzaChpKSxpfSxtLnByb3RvdHlwZS51cD1mdW5jdGlvbigpe2lmKHRoaXMuaXNSb290KXRocm93IG5ldyBFcnJvcihcIlRoZSByb290IG5vZGUgaGFzIG5vIHBhcmVudC4gVXNlIGRvYygpIGlmIHlvdSBuZWVkIHRvIGdldCB0aGUgZG9jdW1lbnQgb2JqZWN0LlwiKTtyZXR1cm4gdGhpcy5wYXJlbnR9LG0ucHJvdG90eXBlLnJvb3Q9ZnVuY3Rpb24oKXt2YXIgdDtmb3IodD10aGlzO3Q7KXtpZih0LnR5cGU9PT1lLkRvY3VtZW50KXJldHVybiB0LnJvb3RPYmplY3Q7aWYodC5pc1Jvb3QpcmV0dXJuIHQ7dD10LnBhcmVudH19LG0ucHJvdG90eXBlLmRvY3VtZW50PWZ1bmN0aW9uKCl7dmFyIHQ7Zm9yKHQ9dGhpczt0Oyl7aWYodC50eXBlPT09ZS5Eb2N1bWVudClyZXR1cm4gdDt0PXQucGFyZW50fX0sbS5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRvY3VtZW50KCkuZW5kKHQpfSxtLnByb3RvdHlwZS5wcmV2PWZ1bmN0aW9uKCl7dmFyIHQ7aWYoKHQ9dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSk8MSl0aHJvdyBuZXcgRXJyb3IoXCJBbHJlYWR5IGF0IHRoZSBmaXJzdCBub2RlLiBcIit0aGlzLmRlYnVnSW5mbygpKTtyZXR1cm4gdGhpcy5wYXJlbnQuY2hpbGRyZW5bdC0xXX0sbS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3ZhciB0O2lmKC0xPT09KHQ9dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSl8fHQ9PT10aGlzLnBhcmVudC5jaGlsZHJlbi5sZW5ndGgtMSl0aHJvdyBuZXcgRXJyb3IoXCJBbHJlYWR5IGF0IHRoZSBsYXN0IG5vZGUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3JldHVybiB0aGlzLnBhcmVudC5jaGlsZHJlblt0KzFdfSxtLnByb3RvdHlwZS5pbXBvcnREb2N1bWVudD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4oZT10LnJvb3QoKS5jbG9uZSgpKS5wYXJlbnQ9dGhpcyxlLmlzUm9vdD0hMSx0aGlzLmNoaWxkcmVuLnB1c2goZSksdGhpc30sbS5wcm90b3R5cGUuZGVidWdJbmZvPWZ1bmN0aW9uKHQpe3ZhciBlLG47cmV0dXJuIG51bGwhPSh0PXR8fHRoaXMubmFtZSl8fChudWxsIT0oZT10aGlzLnBhcmVudCk/ZS5uYW1lOnZvaWQgMCk/bnVsbD09dD9cInBhcmVudDogPFwiK3RoaXMucGFyZW50Lm5hbWUrXCI+XCI6KG51bGwhPShuPXRoaXMucGFyZW50KT9uLm5hbWU6dm9pZCAwKT9cIm5vZGU6IDxcIit0K1wiPiwgcGFyZW50OiA8XCIrdGhpcy5wYXJlbnQubmFtZStcIj5cIjpcIm5vZGU6IDxcIit0K1wiPlwiOlwiXCJ9LG0ucHJvdG90eXBlLmVsZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMuZWxlbWVudCh0LGUsbil9LG0ucHJvdG90eXBlLm5vZD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMubm9kZSh0LGUsbil9LG0ucHJvdG90eXBlLnR4dD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50ZXh0KHQpfSxtLnByb3RvdHlwZS5kYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2RhdGEodCl9LG0ucHJvdG90eXBlLmNvbT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jb21tZW50KHQpfSxtLnByb3RvdHlwZS5pbnM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5pbnN0cnVjdGlvbih0LGUpfSxtLnByb3RvdHlwZS5kb2M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb2N1bWVudCgpfSxtLnByb3RvdHlwZS5kZWM9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0aGlzLmRlY2xhcmF0aW9uKHQsZSxuKX0sbS5wcm90b3R5cGUuZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMuZWxlbWVudCh0LGUsbil9LG0ucHJvdG90eXBlLm49ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0aGlzLm5vZGUodCxlLG4pfSxtLnByb3RvdHlwZS50PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRleHQodCl9LG0ucHJvdG90eXBlLmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2RhdGEodCl9LG0ucHJvdG90eXBlLmM9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY29tbWVudCh0KX0sbS5wcm90b3R5cGUucj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yYXcodCl9LG0ucHJvdG90eXBlLmk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5pbnN0cnVjdGlvbih0LGUpfSxtLnByb3RvdHlwZS51PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudXAoKX0sbS5wcm90b3R5cGUuaW1wb3J0WE1MQnVpbGRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbXBvcnREb2N1bWVudCh0KX0sbS5wcm90b3R5cGUucmVwbGFjZUNoaWxkPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuaGFzQ2hpbGROb2Rlcz1mdW5jdGlvbigpe3JldHVybiAwIT09dGhpcy5jaGlsZHJlbi5sZW5ndGh9LG0ucHJvdG90eXBlLmNsb25lTm9kZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbih0LGUpe3JldHVybiEwfSxtLnByb3RvdHlwZS5oYXNBdHRyaWJ1dGVzPWZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLmF0dHJpYnMubGVuZ3RofSxtLnByb3RvdHlwZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj1mdW5jdGlvbihlKXt2YXIgbjtyZXR1cm4gdGhpcyx0aGlzPT09ZT8wOnRoaXMuZG9jdW1lbnQoKSE9PWUuZG9jdW1lbnQoKT8obj10LkRpc2Nvbm5lY3RlZHx0LkltcGxlbWVudGF0aW9uU3BlY2lmaWMsTWF0aC5yYW5kb20oKTwuNT9ufD10LlByZWNlZGluZzpufD10LkZvbGxvd2luZyxuKTp0aGlzLmlzQW5jZXN0b3IoZSk/dC5Db250YWluc3x0LlByZWNlZGluZzp0aGlzLmlzRGVzY2VuZGFudChlKT90LkNvbnRhaW5zfHQuRm9sbG93aW5nOnRoaXMuaXNQcmVjZWRpbmcoZSk/dC5QcmVjZWRpbmc6dC5Gb2xsb3dpbmd9LG0ucHJvdG90eXBlLmlzU2FtZU5vZGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUubG9va3VwUHJlZml4PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmlzRGVmYXVsdE5hbWVzcGFjZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5sb29rdXBOYW1lc3BhY2VVUkk9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuaXNFcXVhbE5vZGU9ZnVuY3Rpb24odCl7dmFyIGUsbixyO2lmKHQubm9kZVR5cGUhPT10aGlzLm5vZGVUeXBlKXJldHVybiExO2lmKHQuY2hpbGRyZW4ubGVuZ3RoIT09dGhpcy5jaGlsZHJlbi5sZW5ndGgpcmV0dXJuITE7Zm9yKGU9bj0wLHI9dGhpcy5jaGlsZHJlbi5sZW5ndGgtMTswPD1yP248PXI6bj49cjtlPTA8PXI/KytuOi0tbilpZighdGhpcy5jaGlsZHJlbltlXS5pc0VxdWFsTm9kZSh0LmNoaWxkcmVuW2VdKSlyZXR1cm4hMTtyZXR1cm4hMH0sbS5wcm90b3R5cGUuZ2V0RmVhdHVyZT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLnNldFVzZXJEYXRhPWZ1bmN0aW9uKHQsZSxuKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5nZXRVc2VyRGF0YT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbih0KXtyZXR1cm4hIXQmJih0PT09dGhpc3x8dGhpcy5pc0Rlc2NlbmRhbnQodCkpfSxtLnByb3RvdHlwZS5pc0Rlc2NlbmRhbnQ9ZnVuY3Rpb24odCl7dmFyIGUsbixyLGk7Zm9yKG49MCxyPShpPXRoaXMuY2hpbGRyZW4pLmxlbmd0aDtuPHI7bisrKXtpZih0PT09KGU9aVtuXSkpcmV0dXJuITA7aWYoZS5pc0Rlc2NlbmRhbnQodCkpcmV0dXJuITB9cmV0dXJuITF9LG0ucHJvdG90eXBlLmlzQW5jZXN0b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHQuaXNEZXNjZW5kYW50KHRoaXMpfSxtLnByb3RvdHlwZS5pc1ByZWNlZGluZz1mdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiBlPXRoaXMudHJlZVBvc2l0aW9uKHQpLG49dGhpcy50cmVlUG9zaXRpb24odGhpcyksLTEhPT1lJiYtMSE9PW4mJmU8bn0sbS5wcm90b3R5cGUuaXNGb2xsb3dpbmc9ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gZT10aGlzLnRyZWVQb3NpdGlvbih0KSxuPXRoaXMudHJlZVBvc2l0aW9uKHRoaXMpLC0xIT09ZSYmLTEhPT1uJiZlPm59LG0ucHJvdG90eXBlLnRyZWVQb3NpdGlvbj1mdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiBuPTAsZT0hMSx0aGlzLmZvcmVhY2hUcmVlTm9kZSh0aGlzLmRvY3VtZW50KCksZnVuY3Rpb24ocil7aWYobisrLCFlJiZyPT09dClyZXR1cm4gZT0hMH0pLGU/bjotMX0sbS5wcm90b3R5cGUuZm9yZWFjaFRyZWVOb2RlPWZ1bmN0aW9uKHQsZSl7dmFyIG4scixpLG8scztmb3IodHx8KHQ9dGhpcy5kb2N1bWVudCgpKSxyPTAsaT0obz10LmNoaWxkcmVuKS5sZW5ndGg7cjxpO3IrKyl7aWYocz1lKG49b1tyXSkpcmV0dXJuIHM7aWYocz10aGlzLmZvcmVhY2hUcmVlTm9kZShuLGUpKXJldHVybiBzfX0sbX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEU1dlpHVXVhbk1pWFN3aWJtRnRaWE1pT2xzaVJHOWpkVzFsYm5SUWIzTnBkR2x2YmlJc0lrNXZaR1ZVZVhCbElpd2lXRTFNUTBSaGRHRWlMQ0pZVFV4RGIyMXRaVzUwSWl3aVdFMU1SR1ZqYkdGeVlYUnBiMjRpTENKWVRVeEViMk5VZVhCbElpd2lXRTFNUkhWdGJYa2lMQ0pZVFV4RmJHVnRaVzUwSWl3aVdFMU1UbTlrWlV4cGMzUWlMQ0pZVFV4UWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0pZVFV4U1lYY2lMQ0pZVFV4VVpYaDBJaXdpWjJWMFZtRnNkV1VpTENKcGMwVnRjSFI1SWl3aWFYTkdkVzVqZEdsdmJpSXNJbWx6VDJKcVpXTjBJaXdpY21WbU1TSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVRtOWtaU0lzSW5CaGNtVnVkREVpTENKMGFHbHpJaXdpY0dGeVpXNTBJaXdpYjNCMGFXOXVjeUlzSW5OMGNtbHVaMmxtZVNJc0luWmhiSFZsSWl3aVkyaHBiR1J5Wlc0aUxDSmlZWE5sVlZKSklpd2lUMkpxWldOMElpd2laR1ZtYVc1bFVISnZjR1Z5ZEhraUxDSndjbTkwYjNSNWNHVWlMQ0puWlhRaUxDSnVZVzFsSWl3aWRIbHdaU0lzSW1Ob2FXeGtUbTlrWlV4cGMzUWlMQ0p1YjJSbGN5SXNJbXhsYm1kMGFDSXNJbWtpTENKcGJtUmxlRTltSWl3aVpHOWpkVzFsYm5RaUxDSmphR2xzWkNJc0ltb2lMQ0pzWlc0aUxDSnlaV1l5SWl3aWMzUnlJaXdpYm05a1pWUjVjR1VpTENKRmJHVnRaVzUwSWl3aVJHOWpkVzFsYm5SR2NtRm5iV1Z1ZENJc0luUmxlSFJEYjI1MFpXNTBJaXdpYzJWMElpd2lSWEp5YjNJaUxDSmtaV0oxWjBsdVptOGlMQ0p6WlhSUVlYSmxiblFpTENKeVpYTjFiSFJ6SWl3aWNIVnphQ0lzSW1Wc1pXMWxiblFpTENKaGRIUnlhV0oxZEdWeklpd2lkR1Y0ZENJc0ltTm9hV3hrVG05a1pTSXNJbWwwWlcwaUxDSnJJaXdpYTJWNUlpd2liR0Z6ZEVOb2FXeGtJaXdpYkdWdU1TSXNJbkpsWmpNaUxDSjJZV3dpTENKQmNuSmhlU0lzSW1selFYSnlZWGtpTENKaGNIQnNlU0lzSW1OaGJHd2lMQ0pwWjI1dmNtVkVaV052Y21GMGIzSnpJaXdpWTI5dWRtVnlkRUYwZEV0bGVTSXNJbUYwZEhKcFluVjBaU0lzSW5OMVluTjBjaUlzSW5ObGNHRnlZWFJsUVhKeVlYbEpkR1Z0Y3lJc0ltUjFiVzE1SWl3aWEyVmxjRTUxYkd4T2IyUmxjeUlzSW1OdmJuWmxjblJVWlhoMFMyVjVJaXdpWTI5dWRtVnlkRU5FWVhSaFMyVjVJaXdpWTJSaGRHRWlMQ0pqYjI1MlpYSjBRMjl0YldWdWRFdGxlU0lzSW1OdmJXMWxiblFpTENKamIyNTJaWEowVW1GM1MyVjVJaXdpY21GM0lpd2lZMjl1ZG1WeWRGQkpTMlY1SWl3aWFXNXpkSEoxWTNScGIyNGlMQ0p1YjJSbElpd2lhVzV6WlhKMFFtVm1iM0psSWl3aWJtVjNRMmhwYkdRaUxDSnlaV1pEYUdsc1pDSXNJbkpsYlc5MlpXUWlMQ0p6Y0d4cFkyVWlMQ0pwYzFKdmIzUWlMQ0pwYm5ObGNuUkJablJsY2lJc0luSmxiVzkyWlNJc0ltTnZibU5oZENJc0ltTnZiVzFsYm5SQ1pXWnZjbVVpTENKamIyMXRaVzUwUVdaMFpYSWlMQ0owWVhKblpYUWlMQ0pwYm5OVVlYSm5aWFFpTENKcGJuTldZV3gxWlNJc0ltbHVjM1J5ZFdOMGFXOXVRbVZtYjNKbElpd2lhVzV6ZEhKMVkzUnBiMjVCWm5SbGNpSXNJbVJsWTJ4aGNtRjBhVzl1SWl3aWRtVnljMmx2YmlJc0ltVnVZMjlrYVc1bklpd2ljM1JoYm1SaGJHOXVaU0lzSW1Sdll5SXNJbmh0YkdSbFl5SXNJblZ1YzJocFpuUWlMQ0pFWldOc1lYSmhkR2x2YmlJc0luSnZiM1FpTENKa2RHUWlMQ0p3ZFdKSlJDSXNJbk41YzBsRUlpd2laRzlqZEhsd1pTSXNJa1J2WTFSNWNHVWlMQ0oxY0NJc0lrUnZZM1Z0Wlc1MElpd2ljbTl2ZEU5aWFtVmpkQ0lzSW1WdVpDSXNJbkJ5WlhZaUxDSnVaWGgwSWl3aWFXMXdiM0owUkc5amRXMWxiblFpTENKamJHOXVaV1JTYjI5MElpd2lZMnh2Ym1VaUxDSmxiR1VpTENKdWIyUWlMQ0owZUhRaUxDSmtZWFFpTENKamIyMGlMQ0pwYm5NaUxDSmtaV01pTENKbElpd2liaUlzSW5RaUxDSmtJaXdpWXlJc0luSWlMQ0oxSWl3aWFXMXdiM0owV0UxTVFuVnBiR1JsY2lJc0luSmxjR3hoWTJWRGFHbHNaQ0lzSW05c1pFTm9hV3hrSWl3aWNtVnRiM1psUTJocGJHUWlMQ0poY0hCbGJtUkRhR2xzWkNJc0ltaGhjME5vYVd4a1RtOWtaWE1pTENKamJHOXVaVTV2WkdVaUxDSmtaV1Z3SWl3aWJtOXliV0ZzYVhwbElpd2lhWE5UZFhCd2IzSjBaV1FpTENKbVpXRjBkWEpsSWl3aWFHRnpRWFIwY21saWRYUmxjeUlzSW1GMGRISnBZbk1pTENKamIyMXdZWEpsUkc5amRXMWxiblJRYjNOcGRHbHZiaUlzSW05MGFHVnlJaXdpY21Weklpd2lSR2x6WTI5dWJtVmpkR1ZrSWl3aVNXMXdiR1Z0Wlc1MFlYUnBiMjVUY0dWamFXWnBZeUlzSWsxaGRHZ2lMQ0p5WVc1a2IyMGlMQ0pRY21WalpXUnBibWNpTENKR2IyeHNiM2RwYm1jaUxDSnBjMEZ1WTJWemRHOXlJaXdpUTI5dWRHRnBibk1pTENKcGMwUmxjMk5sYm1SaGJuUWlMQ0pwYzFCeVpXTmxaR2x1WnlJc0ltbHpVMkZ0WlU1dlpHVWlMQ0pzYjI5cmRYQlFjbVZtYVhnaUxDSnVZVzFsYzNCaFkyVlZVa2tpTENKcGMwUmxabUYxYkhST1lXMWxjM0JoWTJVaUxDSnNiMjlyZFhCT1lXMWxjM0JoWTJWVlVra2lMQ0p3Y21WbWFYZ2lMQ0pwYzBWeGRXRnNUbTlrWlNJc0ltZGxkRVpsWVhSMWNtVWlMQ0p6WlhSVmMyVnlSR0YwWVNJc0ltUmhkR0VpTENKb1lXNWtiR1Z5SWl3aVoyVjBWWE5sY2tSaGRHRWlMQ0pqYjI1MFlXbHVjeUlzSW01dlpHVlFiM01pTENKMGFHbHpVRzl6SWl3aWRISmxaVkJ2YzJsMGFXOXVJaXdpYVhOR2IyeHNiM2RwYm1jaUxDSm1iM1Z1WkNJc0luQnZjeUlzSW1admNtVmhZMmhVY21WbFRtOWtaU0lzSW1aMWJtTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkJTVUVzUlVGQmEwSkRMRVZCUVZWRExFVkJRVlZETEVWQlFWbERMRVZCUVdkQ1F5eEZRVUZaUXl4RlFVRlZReXhGUVVGelEwTXNSVUZCWVVNc1JVRkJNRUpETEVWQlFWRkRMRVZCUVZORExFVkJRVlZETEVWQlFWTkRMRVZCUVZsRExFVkJRVlZETEVWQlEycFBReXhGUVVGVkxFZEJRVWRETEdWQlJXWkdMRVZCUVU5SExGRkJRVkVzWVVGQlkwb3NSVUZCVjBNc1JVRkJTMFFzVTBGQlZVUXNSVUZCWVVVc1JVRkJTMFlzVjBGQldVUXNSVUZCVlVjc1JVRkJTMGdzVVVGQlUwUXNSVUZCVjBrc1JVRkJTMG9zVTBGRk4waE1MRVZCUVdFc1MwRkZZa3dzUlVGQlZ5eExRVVZZUXl4RlFVRmhMRXRCUldKRExFVkJRV2xDTEV0QlJXcENReXhGUVVGaExFdEJSV0pMTEVWQlFWTXNTMEZGVkVNc1JVRkJWU3hMUVVWV1JpeEZRVUV5UWl4TFFVVXpRa2dzUlVGQlZ5eExRVVZZVEN4RlFVRlhMRXRCUlZoUExFVkJRV01zUzBGSlpGSXNSVUZCYlVJc1MwRkZia0p2UWl4UFFVRlBReXhSUVVGdlFpeFhRVU42UWl4VFFVRlRReXhGUVVGUlF5eEhRVU5tUXl4TFFVRkxReXhQUVVGVFJpeEZRVU5XUXl4TFFVRkxReXhUUVVOUVJDeExRVUZMUlN4UlFVRlZSaXhMUVVGTFF5eFBRVUZQUXl4UlFVTXpRa1lzUzBGQlMwY3NWVUZCV1Vnc1MwRkJTME1zVDBGQlQwVXNWMEZGTDBKSUxFdEJRVXRKTEUxQlFWRXNTMEZEWWtvc1MwRkJTMHNzVTBGQlZ5eEhRVU5vUWt3c1MwRkJTMDBzVVVGQlZTeExRVU5XZGtJc1NVRkRTRUVzUlVGQllWa3NVVUZCVVN4blFrRkRja0pxUWl4RlFVRlhhVUlzVVVGQlVTeGpRVU51UW1oQ0xFVkJRV0ZuUWl4UlFVRlJMR2RDUVVOeVFtWXNSVUZCYVVKbExGRkJRVkVzYjBKQlEzcENaQ3hGUVVGaFl5eFJRVUZSTEdkQ1FVTnlRbFFzUlVGQlUxTXNVVUZCVVN4WlFVTnFRbElzUlVGQlZWRXNVVUZCVVN4aFFVTnNRbFlzUlVGQk1rSlZMRkZCUVZFc09FSkJRMjVEWWl4RlFVRlhZU3hSUVVGUkxHTkJRMjVDYkVJc1JVRkJWMnRDTEZGQlFWRXNZMEZEYmtKWUxFVkJRV05YTEZGQlFWRXNhVUpCUTBwQkxGRkJRVkVzY1VKQlF6RkNia0lzUlVGQmJVSnRRaXhSUVVGUkxIVkNRVzkwUWk5Q0xFOUJhSFJDUVZrc1QwRkJUME1zWlVGQlpWWXNSVUZCVVZjc1ZVRkJWeXhYUVVGWkxFTkJRMjVFUXl4SlFVRkxMRmRCUTBnc1QwRkJUMVlzUzBGQlMxY3NVVUZKYUVKS0xFOUJRVTlETEdWQlFXVldMRVZCUVZGWExGVkJRVmNzVjBGQldTeERRVU51UkVNc1NVRkJTeXhYUVVOSUxFOUJRVTlXTEV0QlFVdFpMRkZCU1doQ1RDeFBRVUZQUXl4bFFVRmxWaXhGUVVGUlZ5eFZRVUZYTEZsQlFXRXNRMEZEY0VSRExFbEJRVXNzVjBGRFNDeFBRVUZQVml4TFFVRkxTU3hUUVVsb1FrY3NUMEZCVDBNc1pVRkJaVllzUlVGQlVWY3NWVUZCVnl4aFFVRmpMRU5CUTNKRVF5eEpRVUZMTEZkQlEwZ3NUMEZCVDFZc1MwRkJTME1zVlVGSmFFSk5MRTlCUVU5RExHVkJRV1ZXTEVWQlFWRlhMRlZCUVZjc1lVRkJZeXhEUVVOeVJFTXNTVUZCU3l4WFFVbElMRTlCU0V0V0xFdEJRVXRoTEdWQlFXdENZaXhMUVVGTFlTeGpRVUZqUXl4UlFVTTNRMlFzUzBGQlMyRXNZMEZCWjBJc1NVRkJTVGRDTEVWQlFWbG5RaXhMUVVGTFN5eFhRVVZ5UTB3c1MwRkJTMkVzYVVKQlNXaENUaXhQUVVGUFF5eGxRVUZsVml4RlFVRlJWeXhWUVVGWExHRkJRV01zUTBGRGNrUkRMRWxCUVVzc1YwRkRTQ3hQUVVGUFZpeExRVUZMU3l4VFFVRlRMRWxCUVUwc1VVRkpMMEpGTEU5QlFVOURMR1ZCUVdWV0xFVkJRVkZYTEZWQlFWY3NXVUZCWVN4RFFVTndSRU1zU1VGQlN5eFhRVU5JTEU5QlFVOVdMRXRCUVV0TExGTkJRVk5NTEV0QlFVdExMRk5CUVZOVkxFOUJRVk1zU1VGQlRTeFJRVWwwUkZJc1QwRkJUME1zWlVGQlpWWXNSVUZCVVZjc1ZVRkJWeXhyUWtGQmJVSXNRMEZETVVSRExFbEJRVXNzVjBGRFNDeEpRVUZKVFN4RlFVVktMRTlCUkVGQkxFVkJRVWxvUWl4TFFVRkxReXhQUVVGUFNTeFRRVUZUV1N4UlFVRlJha0lzVFVGRE1VSkJMRXRCUVV0RExFOUJRVTlKTEZOQlFWTlhMRVZCUVVrc1NVRkJUU3hSUVVreFExUXNUMEZCVDBNc1pVRkJaVllzUlVGQlVWY3NWVUZCVnl4alFVRmxMRU5CUTNSRVF5eEpRVUZMTEZkQlEwZ3NTVUZCU1Uwc1JVRkZTaXhQUVVSQlFTeEZRVUZKYUVJc1MwRkJTME1zVDBGQlQwa3NVMEZCVTFrc1VVRkJVV3BDTEUxQlF6RkNRU3hMUVVGTFF5eFBRVUZQU1N4VFFVRlRWeXhGUVVGSkxFbEJRVTBzVVVGSk1VTlVMRTlCUVU5RExHVkJRV1ZXTEVWQlFWRlhMRlZCUVZjc1owSkJRV2xDTEVOQlEzaEVReXhKUVVGTExGZEJRMGdzVDBGQlQxWXNTMEZCUzJ0Q0xGbEJRV01zVVVGSk9VSllMRTlCUVU5RExHVkJRV1ZXTEVWQlFWRlhMRlZCUVZjc1kwRkJaU3hEUVVOMFJFTXNTVUZCU3l4WFFVTklMRWxCUVVsVExFVkJRVTlETEVWQlFVZERMRVZCUVV0RExFVkJRVTFETEVWQlEzcENMRWRCUVVsMlFpeExRVUZMZDBJc1YwRkJZUzlETEVWQlFWTm5SQ3hUUVVGWGVrSXNTMEZCUzNkQ0xGZEJRV0V2UXl4RlFVRlRhVVFzYVVKQlFXdENMRU5CUjNKR0xFbEJSa0ZJTEVWQlFVMHNSMEZGUkVnc1JVRkJTU3hGUVVGSFF5eEhRVVJhUXl4RlFVRlBkRUlzUzBGQlMwc3NWVUZEVjFVc1QwRkJVVXNzUlVGQlNVTXNSVUZCUzBRc1MwRkRkRU5FTEVWQlFWRkhMRVZCUVV0R0xFbEJRMGhQTEdOQlExSktMRWRCUVU5S0xFVkJRVTFSTEdGQlIycENMRTlCUVU5S0xFVkJSVkFzVDBGQlR5eE5RVWRZU3l4SlFVRkxMRk5CUVZONFFpeEhRVU5hTEUxQlFVMHNTVUZCU1hsQ0xFMUJRVTBzYzBOQlFYZEROMElzUzBGQlN6aENMR2RDUVVscVJXaERMRVZCUVZGWExGVkJRVlZ6UWl4VlFVRlpMRk5CUVZNNVFpeEhRVU55UXl4SlFVRkphMElzUlVGQlQwTXNSVUZCUjBNc1JVRkJTME1zUlVGQlRWVXNSVUZSZWtJc1NVRlFRV2hETEV0QlFVdERMRTlCUVZOQkxFVkJRMVpCTEVsQlEwWkVMRXRCUVV0RkxGRkJRVlZFTEVWQlFVOURMRkZCUTNSQ1JpeExRVUZMUnl4VlFVRlpSaXhGUVVGUFJTeFhRVWN4UWpaQ0xFVkJRVlVzUjBGRFRGb3NSVUZCU1N4RlFVRkhReXhIUVVaYVF5eEZRVUZQZEVJc1MwRkJTMHNzVlVGRlYxVXNUMEZCVVVzc1JVRkJTVU1zUlVGQlMwUXNTVUZEZEVORUxFVkJRVkZITEVWQlFVdEdMRWRCUTJKWkxFVkJRVkZETEV0QlFVdGtMRVZCUVUxWkxGVkJRVlV2UWl4UFFVVXZRaXhQUVVGUFowTXNSMEZIVkd4RExFVkJRVkZYTEZWQlFWVjVRaXhSUVVGVkxGTkJRVk4yUWl4RlFVRk5kMElzUlVGQldVTXNSMEZEY2tRc1NVRkJTVU1zUlVGQlYwTXNSVUZCVFd4Q0xFVkJRVWR0UWl4RlFVRkhReXhGUVVGTFF5eEZRVUZYY0VJc1JVRkJTM0ZDTEVWQlFVMXdRaXhGUVVGTmNVSXNSVUZCVFVNc1JVRmxiRVVzUjBGa1FVZ3NSVUZCV1N4TFFVTlBMRTlCUVdaT0xFZEJRV2RETEUxQlFWSkRMRWxCUTFCRUxFZEJRVzVDWWl4RlFVRlBMRU5CUVVNc1IwRkJTU3hQUVVGNVFpeEhRVUZKWXl4RlFVRlBaQ3hGUVVGTExFbEJSWEpETEUxQlFXUmhMRWxCUTBaQkxFVkJRV0VzU1VGRlprRXNSVUZCWVM5RExFVkJRVk1yUXl4SFFVTnFRalZETEVWQlFWTTBReXhMUVVObFF5eEhRVUV6UWs4c1JVRkJUeXhEUVVGRFVpeEZRVUZaUXl4SlFVRnRRaXhIUVVGSlJDeEZRVUZoVVN4RlFVRkxMRWxCUlc1RUxFMUJRVkpvUXl4SlFVTkdRU3hGUVVGUGRrSXNSVUZCVTNWQ0xFbEJSV1JyUXl4TlFVRk5ReXhSUVVGUmJrTXNSMEZEYUVJc1NVRkJTMU1zUlVGQlNTeEZRVUZIUXl4RlFVRk5WaXhGUVVGTFNTeFBRVUZSU3l4RlFVRkpReXhGUVVGTFJDeEpRVU4wUTJ0Q0xFVkJRVTh6UWl4RlFVRkxVeXhIUVVOYWNVSXNSVUZCV1hwRExFdEJRVXRyUXl4UlFVRlJTU3hSUVVWMFFpeEhRVUZKYUVRc1JVRkJWM0ZDTEVkQlEzQkNPRUlzUlVGQldYcERMRXRCUVV0clF5eFJRVUZSZGtJc1JVRkJTMjlETEdOQlEzcENMRWRCUVVsNFJDeEZRVUZUYjBJc1NVRkRiRUlzU1VGQlN6WkNMRXRCUVU4M1FpeEZRVU5XTEVkQlFVdHNRaXhGUVVGUmRVUXNTMEZCUzNKRExFVkJRVTAyUWl4SFFVdDRRaXhIUVVwQlNTeEZRVUZOYWtNc1JVRkJTelpDTEVkQlExQnNSQ3hGUVVGWGMwUXNTMEZEWWtFc1JVRkJUVUVzUlVGQlNVY3NWVUZGVUM5RExFdEJRVXRGTEZGQlFWRXJReXhyUWtGQmIwSnFSQ3hMUVVGTFJ5eFZRVUZWSzBNc1pVRkJLMFFzU1VGQk9VTldMRVZCUVVsMlFpeFJRVUZSYWtJc1MwRkJTMGNzVlVGQlZTdERMR1ZCUXk5R1ZDeEZRVUZaZWtNc1MwRkJTMjFFTEZWQlFWVllMRVZCUVVsWkxFOUJRVTl3UkN4TFFVRkxSeXhWUVVGVkswTXNZMEZCWTI1RExGRkJRVk0yUWl4UlFVTjJSU3hKUVVGTE5VTXNTMEZCUzBVc1VVRkJVVzFFTEc5Q1FVRnpRbElzVFVGQlRVTXNVVUZCVVVZc1NVRkJVWFpFTEVWQlFWRjFSQ3hIUVVNelJVZ3NSVUZCV1hwRExFdEJRVXR6UkN4aFFVTmFMRWRCUVVrdlJDeEZRVUZUY1VRc1NVRkJVWFpFTEVWQlFWRjFSQ3hIUVVOc1EwZ3NSVUZCV1hwRExFdEJRVXRyUXl4UlFVRlJUU3hSUVVOd1FpeEhRVUZMZUVNc1MwRkJTMFVzVVVGQlVYRkVMR1ZCUVhsQ0xFMUJRVkJZTEVWQlJYQkRMRWxCUVVzMVF5eExRVUZMUlN4UlFVRlJiVVFzYjBKQlFYTkNVaXhOUVVGTlF5eFJRVUZSUml4SFFVTXpSQ3hKUVVGTFRDeEZRVUZKTEVWQlFVZEhMRVZCUVU5RkxFVkJRVWszUWl4UFFVRlJkMElzUlVGQlNVY3NSVUZCVFVnc1NVRkRka05FTEVWQlFVOU5MRVZCUVVsTUxFbEJRMWhHTEVWQlFWa3NTVUZEUmtjc1IwRkJUMFlzUlVGRGFrSkhMRVZCUVZsNlF5eExRVUZMYTBNc1VVRkJVVWNzVVVGRmJFSTVReXhGUVVGVGNVUXNTVUZEWWpWRExFdEJRVXRGTEZGQlFWRXJReXhyUWtGQmIwSnFSQ3hMUVVGTFJ5eFZRVUZWY1VRc1owSkJRV2xGTEVsQlFTOURhRUlzUlVGQlNYWkNMRkZCUVZGcVFpeExRVUZMUnl4VlFVRlZjVVFzWjBKQlEyaEhaaXhGUVVGWmVrTXNTMEZCUzJ0RExGRkJRVkZWTEVsQlJYcENTQ3hGUVVGWmVrTXNTMEZCUzJ0RExGRkJRVkZOTEVsQlEyWk9MRkZCUVZGVkxFZEJSM0JDU0N4RlFVRlpla01zUzBGQlMydERMRkZCUVZGTkxFVkJRVXRKTEZGQmFFSTVRa2dzUlVGQldYcERMRXRCUVV0elJDeGhRWFZDYmtKaUxFVkJTbEY2UXl4TFFVRkxSU3hSUVVGUmNVUXNaVUZCTUVJc1QwRkJWRzVDTEVkQlIyNURjRU1zUzBGQlMwVXNVVUZCVVN0RExHdENRVUZ2UW1wRUxFdEJRVXRITEZWQlFWVnhSQ3huUWtGQmEwVXNTVUZCYUVRM1F5eEZRVUZMVFN4UlFVRlJha0lzUzBGQlMwY3NWVUZCVlhGRUxHZENRVU55Um5oRUxFdEJRVXR2UXl4TFFVRkxRU3hKUVVOYWNFTXNTMEZCUzBVc1VVRkJVU3RETEd0Q1FVRnZRbXBFTEV0QlFVdEhMRlZCUVZWelJDeHBRa0ZCYjBVc1NVRkJha1E1UXl4RlFVRkxUU3hSUVVGUmFrSXNTMEZCUzBjc1ZVRkJWWE5FTEdsQ1FVTTNSbnBFTEV0QlFVc3dSQ3hOUVVGTmRFSXNTVUZEWW5CRExFdEJRVXRGTEZGQlFWRXJReXhyUWtGQmIwSnFSQ3hMUVVGTFJ5eFZRVUZWZDBRc2JVSkJRWGRGTEVsQlFXNUVhRVFzUlVGQlMwMHNVVUZCVVdwQ0xFdEJRVXRITEZWQlFWVjNSQ3h0UWtGREwwWXpSQ3hMUVVGTE5FUXNVVUZCVVhoQ0xFbEJRMlp3UXl4TFFVRkxSU3hSUVVGUkswTXNhMEpCUVc5Q2FrUXNTMEZCUzBjc1ZVRkJWVEJFTEdWQlFXZEZMRWxCUVM5RGJFUXNSVUZCUzAwc1VVRkJVV3BDTEV0QlFVdEhMRlZCUVZVd1JDeGxRVU16UmpkRUxFdEJRVXM0UkN4SlFVRkpNVUlzU1VGRFdIQkRMRXRCUVV0RkxGRkJRVkVyUXl4clFrRkJiMEpxUkN4TFFVRkxSeXhWUVVGVk5FUXNZMEZCT0VRc1NVRkJPVU53UkN4RlFVRkxUU3hSUVVGUmFrSXNTMEZCUzBjc1ZVRkJWVFJFTEdOQlF6RkdMMFFzUzBGQlMyZEZMRmxCUVZseVJDeEZRVUZMZVVNc1QwRkJUM0JFTEV0QlFVdEhMRlZCUVZVMFJDeGhRVUZoYUVRc1VVRkJVM0ZDTEVkQlJXeEZjRU1zUzBGQlMybEZMRXRCUVV0MFJDeEZRVUZOZDBJc1JVRkJXVU1zUjBGaU9VSndReXhMUVVGTGMwUXNVVUZuUW01Q0xFZEJRV2xDTEUxQlFXSmlMRVZCUTBZc1RVRkJUU3hKUVVGSldpeE5RVUZOTEhWRFFVRjVRMnhDTEVWQlFVOHNTMEZCVDFnc1MwRkJTemhDTEdGQlJUbEZMRTlCUVU5WExFZEJSMVF6UXl4RlFVRlJWeXhWUVVGVmVVUXNZVUZCWlN4VFFVRlRka1FzUlVGQlRYZENMRVZCUVZsRExFZEJRekZFTEVsQlFVbHFRaXhGUVVGUFNDeEZRVUZIYlVRc1JVRkJWVU1zUlVGQlZVTXNSVUZEYkVNc1IwRkJXU3hOUVVGU01VUXNSVUZCWlVFc1JVRkJTME1zVlVGQlR5eEZRVmszUWl4UFFWWkJkMFFzUlVGQlYycERMRWRCUkZoblF5eEZRVUZYZUVRc1IwRkZSbTlDTEZWQlFWVXZRaXhOUVVObWIwVXNSMEZEUm5CRUxFVkJRVWxZTEZOQlFWTlpMRkZCUVZGdFJDeEhRVU55UWtNc1JVRkJWV2hGTEZOQlFWTnBSU3hQUVVGUGRFUXNSMEZETVVKWUxGTkJRVk0wUWl4TFFVRkxhME1zUjBGRFpIUkNMRTFCUVUxd1F5eFZRVUZWZDBJc1MwRkJTMk1zVFVGQlRURkRMRk5CUVZWblJTeEpRVVZ5UTJoRkxGTkJRVk0wUWl4TFFVRkxhME1zUjBGRlZFRXNSVUZGVUN4SFFVRkpia1VzUzBGQlMzVkZMRTlCUTFBc1RVRkJUU3hKUVVGSk1VTXNUVUZCVFN4NVEwRkJNa00zUWl4TFFVRkxPRUlzVlVGQlZXNUNMRWxCVFRWRkxFOUJTa0ZMTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZEYWtOeFJTeEZRVUZWY2tVc1MwRkJTME1zVDBGQlQwa3NVMEZCVTJsRkxFOUJRVTkwUkN4SFFVTjBRMGNzUlVGQlVXNUNMRXRCUVV0RExFOUJRVTlwUXl4UlFVRlJka0lzUlVGQlRYZENMRVZCUVZsRExFZEJRemxEVXl4TlFVRk5jRU1zVlVGQlZYZENMRXRCUVV0akxFMUJRVTB2UXl4TFFVRkxReXhQUVVGUFNTeFRRVUZWWjBVc1IwRkRNVU5zUkN4SFFVbFlja0lzUlVGQlVWY3NWVUZCVlN0RUxGbEJRV01zVTBGQlV6ZEVMRVZCUVUxM1FpeEZRVUZaUXl4SFFVTjZSQ3hKUVVGSmFrSXNSVUZCVDBnc1JVRkJSM0ZFTEVWQlEyUXNSMEZCU1hKRkxFdEJRVXQxUlN4UFFVTlFMRTFCUVUwc1NVRkJTVEZETEUxQlFVMHNlVU5CUVRKRE4wSXNTMEZCU3poQ0xGVkJRVlZ1UWl4SlFVMDFSU3hQUVVwQlN5eEZRVUZKYUVJc1MwRkJTME1zVDBGQlQwa3NVMEZCVTFrc1VVRkJVV3BDTEUxQlEycERjVVVzUlVGQlZYSkZMRXRCUVV0RExFOUJRVTlKTEZOQlFWTnBSU3hQUVVGUGRFUXNSVUZCU1N4SFFVTXhRMGNzUlVGQlVXNUNMRXRCUVV0RExFOUJRVTlwUXl4UlFVRlJka0lzUlVGQlRYZENMRVZCUVZsRExFZEJRemxEVXl4TlFVRk5jRU1zVlVGQlZYZENMRXRCUVV0akxFMUJRVTB2UXl4TFFVRkxReXhQUVVGUFNTeFRRVUZWWjBVc1IwRkRNVU5zUkN4SFFVZFVja0lzUlVGQlVWY3NWVUZCVldkRkxFOUJRVk1zVjBGRGVrSXNTVUZCU1hwRUxFVkJRMG9zUjBGQlNXaENMRXRCUVV0MVJTeFBRVU5RTEUxQlFVMHNTVUZCU1RGRExFMUJRVTBzYlVOQlFYRkROMElzUzBGQlN6aENMR0ZCU1RWRUxFOUJSa0ZrTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZEYWtNc1IwRkJSM05GTEU5QlFVOTJRaXhOUVVGTkwwTXNTMEZCUzBNc1QwRkJUMGtzVTBGQlZTeERRVUZEVnl4RlFVRkhRU3hGUVVGSlFTeEZRVUZKTEVkQlFVY3dSQ3hQUVVGakxFdEJRelZFTVVVc1MwRkJTME1zVVVGSFpFZ3NSVUZCVVZjc1ZVRkJWWGRFTEV0QlFVOHNVMEZCVTNSRUxFVkJRVTEzUWl4RlFVRlpReXhIUVVOc1JDeEpRVUZKYWtJc1JVRkJUMGNzUlVGaldDeFBRV0paTEUxQlFWSllMRWxCUTBaQkxFVkJRVTkyUWl4RlFVRlRkVUlzU1VGRmJFSjNRaXhKUVVGbFFTeEZRVUZoTEVsQlF6VkNRU3hGUVVGaEwwTXNSVUZCVXl0RExFZEJRMnBDTlVNc1JVRkJVelJETEV0QlEyVkRMRWRCUVROQ1pDeEZRVUZQTEVOQlFVTmhMRVZCUVZsRExFbEJRVzFDTEVkQlFVbEVMRVZCUVdGaUxFVkJRVXNzU1VGRkwwUklMRVZCUVZFc1NVRkJTWEJETEVWQlFWZHBRaXhMUVVGTlZ5eEZRVUZOZDBJc1IwRkRka0lzVFVGQlVrTXNSMEZEUm1wQ0xFVkJRVTFwUWl4TFFVRkxRU3hIUVVWaWNFTXNTMEZCUzBzc1UwRkJVelJDTEV0QlFVdGtMRWRCUTFwQkxFZEJSMVJ5UWl4RlFVRlJWeXhWUVVGVk1rSXNTMEZCVHl4VFFVRlRhRU1zUjBGRGFFTXNTVUZCU1dVc1JVRk5TaXhQUVV4Sk5VSXNSVUZCVTJFc1NVRkRXRW9zUzBGQlMydERMRkZCUVZFNVFpeEhRVVZtWlN4RlFVRlJMRWxCUVVsb1F5eEZRVUZSWVN4TFFVRk5TU3hIUVVNeFFrb3NTMEZCUzBzc1UwRkJVelJDTEV0QlFVdGtMRWRCUTFwdVFpeE5RVWRVUml4RlFVRlJWeXhWUVVGVmFVUXNUVUZCVVN4VFFVRlRkRVFzUjBGRGFrTXNTVUZCU1dVc1JVRkhTaXhQUVVaQlFTeEZRVUZSTEVsQlFVbDZReXhGUVVGVGMwSXNTMEZCVFVrc1IwRkRNMEpLTEV0QlFVdExMRk5CUVZNMFFpeExRVUZMWkN4SFFVTmFia0lzVFVGSFZFWXNSVUZCVVZjc1ZVRkJWVzFFTEZGQlFWVXNVMEZCVTNoRUxFZEJRMjVETEVsQlFVbGxMRVZCUjBvc1QwRkdRVUVzUlVGQlVTeEpRVUZKZUVNc1JVRkJWM0ZDTEV0QlFVMUpMRWRCUXpkQ1NpeExRVUZMU3l4VFFVRlRORUlzUzBGQlMyUXNSMEZEV201Q0xFMUJSMVJHTEVWQlFWRlhMRlZCUVZWclJTeGpRVUZuUWl4VFFVRlRka1VzUjBGRGVrTXNTVUZCVjFrc1JVRkJSM0ZFTEVWQlMyUXNUMEZLUVhKRUxFVkJRVWxvUWl4TFFVRkxReXhQUVVGUFNTeFRRVUZUV1N4UlFVRlJha0lzVFVGRGFrTnhSU3hGUVVGVmNrVXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUybEZMRTlCUVU5MFJDeEhRVU01UW1oQ0xFdEJRVXRETEU5QlFVOHlSQ3hSUVVGUmVFUXNSMEZETlVKNVF5eE5RVUZOY0VNc1ZVRkJWWGRDTEV0QlFVdGpMRTFCUVUwdlF5eExRVUZMUXl4UFFVRlBTU3hUUVVGVlowVXNSMEZETVVOeVJTeE5RVWRVUml4RlFVRlJWeXhWUVVGVmJVVXNZVUZCWlN4VFFVRlRlRVVzUjBGRGVFTXNTVUZCVjFrc1JVRkJSM0ZFTEVWQlMyUXNUMEZLUVhKRUxFVkJRVWxvUWl4TFFVRkxReXhQUVVGUFNTeFRRVUZUV1N4UlFVRlJha0lzVFVGRGFrTnhSU3hGUVVGVmNrVXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUybEZMRTlCUVU5MFJDeEZRVUZKTEVkQlEyeERhRUlzUzBGQlMwTXNUMEZCVHpKRUxGRkJRVkY0UkN4SFFVTTFRbmxETEUxQlFVMXdReXhWUVVGVmQwSXNTMEZCUzJNc1RVRkJUUzlETEV0QlFVdERMRTlCUVU5SkxGTkJRVlZuUlN4SFFVTXhRM0pGTEUxQlIxUkdMRVZCUVZGWExGVkJRVlZ4UkN4SlFVRk5MRk5CUVZNeFJDeEhRVU12UWl4SlFVRkpaU3hGUVVkS0xFOUJSa0ZCTEVWQlFWRXNTVUZCU1dwRExFVkJRVTlqTEV0QlFVMUpMRWRCUTNwQ1NpeExRVUZMU3l4VFFVRlRORUlzUzBGQlMyUXNSMEZEV201Q0xFMUJSMVJHTEVWQlFWRlhMRlZCUVZVMlF5eE5RVUZSTEZkQlIzaENMRTlCUkZFc1NVRkJTWGhGTEVWQlFWTnJRaXhQUVVsMlFrWXNSVUZCVVZjc1ZVRkJWWFZFTEZsQlFXTXNVMEZCVTJFc1JVRkJVWHBGTEVkQlF5OURMRWxCUVVrd1JTeEZRVUZYUXl4RlFVRlZaaXhGUVVGaE5VTXNSVUZCUjBNc1JVRlBla01zUjBGT1l5eE5RVUZXZDBRc1NVRkRSa0VzUlVGQlUzcEdMRVZCUVZONVJpeEpRVVZRTEUxQlFWUjZSU3hKUVVOR1FTeEZRVUZSYUVJc1JVRkJVMmRDTEVsQlJXWjVReXhOUVVGTlF5eFJRVUZSSzBJc1IwRkRhRUlzU1VGQlMzcEVMRVZCUVVrc1JVRkJSME1zUlVGQlRYZEVMRVZCUVU4NVJDeFBRVUZSU3l4RlFVRkpReXhGUVVGTFJDeEpRVU40UXpCRUxFVkJRVmxFTEVWQlFVOTZSQ3hIUVVOdVFuQkNMRXRCUVV0blJTeFpRVUZaWXl4UlFVVmtMRWRCUVVsMlJpeEZRVUZUYzBZc1IwRkRiRUlzU1VGQlMwTXNTMEZCWVVRc1JVRkRXSEJHTEVWQlFWRjFSQ3hMUVVGTE5rSXNSVUZCVVVNc1MwRkRNVUpETEVWQlFWZEdMRVZCUVU5RExFZEJRMnhDT1VVc1MwRkJTMmRGTEZsQlFWbGpMRVZCUVZkRExGTkJSekZDZWtZc1JVRkJWMk1zUzBGRFlrRXNSVUZCVVVFc1JVRkJUVEpETEZOQlJXaENhVUlzUlVGQll5eEpRVUZKTDBVc1JVRkJlVUpsTEV0QlFVMDJSU3hGUVVGUmVrVXNSMEZEZWtSS0xFdEJRVXRMTEZOQlFWTTBRaXhMUVVGTEswSXNSMEZGY2tJc1QwRkJUMmhGTEUxQlIxUkdMRVZCUVZGWExGVkJRVlYxUlN4clFrRkJiMElzVTBGQlUwZ3NSVUZCVVhwRkxFZEJRM0pFTEVsQlFWZFpMRVZCUVVkeFJDeEZRVXRrTEU5QlNrRnlSQ3hGUVVGSmFFSXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUxa3NVVUZCVVdwQ0xFMUJRMnBEY1VVc1JVRkJWWEpGTEV0QlFVdERMRTlCUVU5SkxGTkJRVk5wUlN4UFFVRlBkRVFzUjBGRE9VSm9RaXhMUVVGTFF5eFBRVUZQSzBRc1dVRkJXV0VzUlVGQlVYcEZMRWRCUTNoRGVVTXNUVUZCVFhCRExGVkJRVlYzUWl4TFFVRkxZeXhOUVVGTkwwTXNTMEZCUzBNc1QwRkJUMGtzVTBGQlZXZEZMRWRCUXpGRGNrVXNUVUZIVkVZc1JVRkJVVmNzVlVGQlZYZEZMR2xDUVVGdFFpeFRRVUZUU2l4RlFVRlJla1VzUjBGRGNFUXNTVUZCVjFrc1JVRkJSM0ZFTEVWQlMyUXNUMEZLUVhKRUxFVkJRVWxvUWl4TFFVRkxReXhQUVVGUFNTeFRRVUZUV1N4UlFVRlJha0lzVFVGRGFrTnhSU3hGUVVGVmNrVXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUybEZMRTlCUVU5MFJDeEZRVUZKTEVkQlEyeERhRUlzUzBGQlMwTXNUMEZCVHl0RUxGbEJRVmxoTEVWQlFWRjZSU3hIUVVONFEzbERMRTFCUVUxd1F5eFZRVUZWZDBJc1MwRkJTMk1zVFVGQlRTOURMRXRCUVV0RExFOUJRVTlKTEZOQlFWVm5SU3hIUVVNeFEzSkZMRTFCUjFSR0xFVkJRVkZYTEZWQlFWVjVSU3haUVVGakxGTkJRVk5ETEVWQlFWTkRMRVZCUVZWRExFZEJRekZFTEVsQlFVbERMRVZCUVV0RExFVkJWVlFzVDBGVVFVUXNSVUZCVFhSR0xFdEJRVXRyUWl4WFFVTlljVVVzUlVGQlV5eEpRVUZKTTBjc1JVRkJaVEJITEVWQlFVdElMRVZCUVZORExFVkJRVlZETEVkQlEzaENMRWxCUVhoQ1F5eEZRVUZKYWtZc1UwRkJVMVVzVDBGRFpuVkZMRVZCUVVscVJpeFRRVUZUYlVZc1VVRkJVVVFzUjBGRFdrUXNSVUZCU1dwR0xGTkJRVk1zUjBGQlIwOHNUMEZCVTI1RExFVkJRVk5uU0N4WlFVTXpRMGdzUlVGQlNXcEdMRk5CUVZNc1IwRkJTMnRHTEVWQlJXeENSQ3hGUVVGSmFrWXNVMEZCVTIxR0xGRkJRVkZFTEVkQlJXaENSQ3hGUVVGSlNTeFJRVUZWU2l4SFFVZDJRbmhHTEVWQlFWRlhMRlZCUVZWclJpeEpRVUZOTEZOQlFWTkRMRVZCUVU5RExFZEJRM1JETEVsQlFWZFFMRVZCUVV0UkxFVkJRVk01UlN4RlFVRkhTU3hGUVVGSGJVSXNSVUZCUjJ4Q0xFVkJRVXR4UWl4RlFVRk5jRUlzUlVGQlRYRkNMRVZCU1c1RUxFbEJTRUV5UXl4RlFVRk5kRVlzUzBGQlMydENMRmRCUTFnMFJTeEZRVUZWTEVsQlFVbHFTQ3hGUVVGWGVVY3NSVUZCUzAwc1JVRkJUME1zUjBGRmFFTTNSU3hGUVVGSlNTeEZRVUZKTEVWQlFVZERMRWRCUkdoQ1F5eEZRVUZQWjBVc1JVRkJTV3BHTEZWQlEyZENWU3hQUVVGUlN5eEZRVUZKUXl4RlFVRkxUQ3hKUVVGTlNTeEZRVVZvUkN4SFFVUlJSU3hGUVVGTFRpeEhRVU5JU2l4UFFVRlRia01zUlVGQlUzTklMRkZCUlRGQ0xFOUJSRUZVTEVWQlFVbHFSaXhUUVVGVFZ5eEhRVUZMT0VVc1JVRkRXRUVzUlVGSldDeEpRVUZMT1VVc1JVRkJTWFZDTEVWQlFVa3NSVUZCUjBjc1IwRkVhRUpETEVWQlFVOHlReXhGUVVGSmFrWXNWVUZEYVVKVkxFOUJRVkYzUWl4RlFVRkpSeXhGUVVGTk1VSXNTVUZCVFhWQ0xFVkJSV3hFTEVkQlJGRkpMRVZCUVVzelFpeEhRVU5JZFVRc1QwRkZVaXhQUVVSQlpTeEZRVUZKYWtZc1UwRkJVMmxGTEU5QlFVOTBSQ3hGUVVGSExFVkJRVWM0UlN4SFFVTnVRa0VzUlVGSldDeFBRVVJCVWl4RlFVRkpha1lzVTBGQlV6UkNMRXRCUVVzMlJDeEhRVU5ZUVN4SFFVZFVhRWNzUlVGQlVWY3NWVUZCVlhWR0xFZEJRVXNzVjBGRGNrSXNSMEZCU1doSExFdEJRVXQxUlN4UFFVTlFMRTFCUVUwc1NVRkJTVEZETEUxQlFVMHNhMFpCUld4Q0xFOUJRVTgzUWl4TFFVRkxReXhSUVVka1NDeEZRVUZSVnl4VlFVRlZhVVlzUzBGQlR5eFhRVU4yUWl4SlFVRkpla0lzUlVGRlNpeEpRVVJCUVN4RlFVRlBha1VzUzBGRFFXbEZMRWRCUVUwc1EwRkRXQ3hIUVVGSlFTeEZRVUZMY2tRc1QwRkJVMjVETEVWQlFWTjNTQ3hUUVVONlFpeFBRVUZQYUVNc1JVRkJTMmxETEZkQlExQXNSMEZCU1dwRExFVkJRVXROTEU5QlEyUXNUMEZCVDA0c1JVRkZVRUVzUlVGQlQwRXNSVUZCUzJoRkxGTkJTMnhDU0N4RlFVRlJWeXhWUVVGVlV5eFRRVUZYTEZkQlF6TkNMRWxCUVVrclF5eEZRVVZLTEVsQlJFRkJMRVZCUVU5cVJTeExRVU5CYVVVc1IwRkJUU3hEUVVOWUxFZEJRVWxCTEVWQlFVdHlSQ3hQUVVGVGJrTXNSVUZCVTNkSUxGTkJRM3BDTEU5QlFVOW9ReXhGUVVWUVFTeEZRVUZQUVN4RlFVRkxhRVVzVTBGTGJFSklMRVZCUVZGWExGVkJRVlV3Uml4SlFVRk5MRk5CUVZOcVJ5eEhRVU12UWl4UFFVRlBSaXhMUVVGTGEwSXNWMEZCVjJsR0xFbEJRVWxxUnl4SlFVYzNRa29zUlVGQlVWY3NWVUZCVlRKR0xFdEJRVThzVjBGRGRrSXNTVUZCU1hCR0xFVkJSVW9zU1VGRVFVRXNSVUZCU1doQ0xFdEJRVXRETEU5QlFVOUpMRk5CUVZOWkxGRkJRVkZxUWl4UFFVTjZRaXhGUVVOT0xFMUJRVTBzU1VGQlNUWkNMRTFCUVUwc09FSkJRV2RETjBJc1MwRkJTemhDTEdGQlJYWkVMRTlCUVU4NVFpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFZ5eEZRVUZKTEVsQlIyeERiRUlzUlVGQlVWY3NWVUZCVlRSR0xFdEJRVThzVjBGRGRrSXNTVUZCU1hKR0xFVkJSVW9zU1VGQlZ5eExRVVJZUVN4RlFVRkphRUlzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMWtzVVVGQlVXcENMRkZCUTJwQ1owSXNTVUZCVFdoQ0xFdEJRVXRETEU5QlFVOUpMRk5CUVZOVkxFOUJRVk1zUlVGRGJFUXNUVUZCVFN4SlFVRkpZeXhOUVVGTkxEWkNRVUVyUWpkQ0xFdEJRVXM0UWl4aFFVVjBSQ3hQUVVGUE9VSXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUxY3NSVUZCU1N4SlFVZHNRMnhDTEVWQlFWRlhMRlZCUVZVMlJpeGxRVUZwUWl4VFFVRlRhRUlzUjBGRE1VTXNTVUZCU1dsQ0xFVkJTMG9zVDBGS1FVRXNSVUZCWVdwQ0xFVkJRVWxKTEU5QlFVOWpMRk5CUTJKMlJ5eFBRVUZUUkN4TFFVTndRblZITEVWQlFWZG9ReXhSUVVGVExFVkJRM0JDZGtVc1MwRkJTMHNzVTBGQlV6UkNMRXRCUVV0elJTeEhRVU5hZGtjc1RVRkhWRVlzUlVGQlVWY3NWVUZCVlhGQ0xGVkJRVmtzVTBGQlUyNUNMRWRCUTNKRExFbEJRVWxYTEVWQlFVMXhRaXhGUVVWV0xFOUJRV0VzVDBGRVltaERMRVZCUVU5QkxFZEJRVkZZTEV0QlFVdFhMRkZCUXpSQ0xFOUJRWFpDVnl4RlFVRlBkRUlzUzBGQlMwTXNVVUZCYTBKeFFpeEZRVUZMV0N4VlFVRlBMRWRCUldoRUxFMUJRVkpCTEVWQlEwWXNXVUZCWTFnc1MwRkJTME1zVDBGQlQxVXNTMEZCVHl4TFFVTk1MRTlCUVhaQ1owTXNSVUZCVHpORExFdEJRVXRETEZGQlFXdENNRU1zUlVGQlMyaERMRlZCUVU4c1IwRkhMME1zVlVGQldVRXNSVUZCVHl4bFFVRnBRbGdzUzBGQlMwTXNUMEZCVDFVc1MwRkJUeXhKUVVaMlJDeFZRVUZaUVN4RlFVRlBMRWxCU201Q0xFbEJWVmhpTEVWQlFWRlhMRlZCUVZWblJ5eEpRVUZOTEZOQlFWTTVSaXhGUVVGTmQwSXNSVUZCV1VNc1IwRkRha1FzVDBGQlQzQkRMRXRCUVV0clF5eFJRVUZSZGtJc1JVRkJUWGRDTEVWQlFWbERMRWxCUjNoRGRFTXNSVUZCVVZjc1ZVRkJWV2xITEVsQlFVMHNVMEZCVXk5R0xFVkJRVTEzUWl4RlFVRlpReXhIUVVOcVJDeFBRVUZQY0VNc1MwRkJTMmxGTEV0QlFVdDBSQ3hGUVVGTmQwSXNSVUZCV1VNc1NVRkhja04wUXl4RlFVRlJWeXhWUVVGVmEwY3NTVUZCVFN4VFFVRlRka2NzUjBGREwwSXNUMEZCVDBvc1MwRkJTMjlETEV0QlFVdG9ReXhKUVVkdVFrNHNSVUZCVVZjc1ZVRkJWVzFITEVsQlFVMHNVMEZCVTNoSExFZEJReTlDTEU5QlFVOUtMRXRCUVVzd1JDeE5RVUZOZEVRc1NVRkhjRUpPTEVWQlFWRlhMRlZCUVZWdlJ5eEpRVUZOTEZOQlFWTjZSeXhIUVVNdlFpeFBRVUZQU2l4TFFVRkxORVFzVVVGQlVYaEVMRWxCUjNSQ1RpeEZRVUZSVnl4VlFVRlZjVWNzU1VGQlRTeFRRVUZUYWtNc1JVRkJVWHBGTEVkQlEzWkRMRTlCUVU5S0xFdEJRVXRuUlN4WlFVRlpZU3hGUVVGUmVrVXNTVUZIYkVOT0xFVkJRVkZYTEZWQlFWVTJSU3hKUVVGTkxGZEJRM1JDTEU5QlFVOTBSaXhMUVVGTGEwSXNXVUZIWkhCQ0xFVkJRVkZYTEZWQlFWVnpSeXhKUVVGTkxGTkJRVk0xUWl4RlFVRlRReXhGUVVGVlF5eEhRVU5zUkN4UFFVRlBja1lzUzBGQlMydEdMRmxCUVZsRExFVkJRVk5ETEVWQlFWVkRMRWxCUnpkRGRrWXNSVUZCVVZjc1ZVRkJWWFZITEVWQlFVa3NVMEZCVTNKSExFVkJRVTEzUWl4RlFVRlpReXhIUVVNdlF5eFBRVUZQY0VNc1MwRkJTMnRETEZGQlFWRjJRaXhGUVVGTmQwSXNSVUZCV1VNc1NVRkhlRU4wUXl4RlFVRlJWeXhWUVVGVmQwY3NSVUZCU1N4VFFVRlRkRWNzUlVGQlRYZENMRVZCUVZsRExFZEJReTlETEU5QlFVOXdReXhMUVVGTGFVVXNTMEZCUzNSRUxFVkJRVTEzUWl4RlFVRlpReXhKUVVkeVEzUkRMRVZCUVZGWExGVkJRVlY1Unl4RlFVRkpMRk5CUVZNNVJ5eEhRVU0zUWl4UFFVRlBTaXhMUVVGTGIwTXNTMEZCUzJoRExFbEJSMjVDVGl4RlFVRlJWeXhWUVVGVk1FY3NSVUZCU1N4VFFVRlRMMGNzUjBGRE4wSXNUMEZCVDBvc1MwRkJTekJFTEUxQlFVMTBSQ3hKUVVkd1FrNHNSVUZCVVZjc1ZVRkJWVEpITEVWQlFVa3NVMEZCVTJoSUxFZEJRemRDTEU5QlFVOUtMRXRCUVVzMFJDeFJRVUZSZUVRc1NVRkhkRUpPTEVWQlFWRlhMRlZCUVZVMFJ5eEZRVUZKTEZOQlFWTnFTQ3hIUVVNM1FpeFBRVUZQU2l4TFFVRkxPRVFzU1VGQlNURkVMRWxCUjJ4Q1RpeEZRVUZSVnl4VlFVRlZUeXhGUVVGSkxGTkJRVk0yUkN4RlFVRlJla1VzUjBGRGNrTXNUMEZCVDBvc1MwRkJTMmRGTEZsQlFWbGhMRVZCUVZGNlJTeEpRVWRzUTA0c1JVRkJVVmNzVlVGQlZUWkhMRVZCUVVrc1YwRkRjRUlzVDBGQlQzUklMRXRCUVV0blJ5eE5RVWRrYkVjc1JVRkJVVmNzVlVGQlZUaEhMR2xDUVVGdFFpeFRRVUZUYWtNc1IwRkROVU1zVDBGQlQzUkdMRXRCUVV0elJ5eGxRVUZsYUVJc1NVRkhOMEo0Uml4RlFVRlJWeXhWUVVGVkswY3NZVUZCWlN4VFFVRlRja1FzUlVGQlZYTkVMRWRCUTJ4RUxFMUJRVTBzU1VGQlNUVkdMRTFCUVUwc2MwTkJRWGRETjBJc1MwRkJTemhDTEdOQlJ5OUVhRU1zUlVGQlVWY3NWVUZCVldsSUxGbEJRV01zVTBGQlUwUXNSMEZEZGtNc1RVRkJUU3hKUVVGSk5VWXNUVUZCVFN4elEwRkJkME0zUWl4TFFVRkxPRUlzWTBGSEwwUm9ReXhGUVVGUlZ5eFZRVUZWYTBnc1dVRkJZeXhUUVVGVGVFUXNSMEZEZGtNc1RVRkJUU3hKUVVGSmRFTXNUVUZCVFN4elEwRkJkME0zUWl4TFFVRkxPRUlzWTBGSEwwUm9ReXhGUVVGUlZ5eFZRVUZWYlVnc1kwRkJaMElzVjBGRGFFTXNUMEZCWjBNc1NVRkJla0kxU0N4TFFVRkxTeXhUUVVGVFZTeFJRVWQyUW1wQ0xFVkJRVkZYTEZWQlFWVnZTQ3hWUVVGWkxGTkJRVk5ETEVkQlEzSkRMRTFCUVUwc1NVRkJTV3BITEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHTkJSeTlFYUVNc1JVRkJVVmNzVlVGQlZYTklMRlZCUVZrc1YwRkROVUlzVFVGQlRTeEpRVUZKYkVjc1RVRkJUU3h6UTBGQmQwTTNRaXhMUVVGTE9FSXNZMEZITDBSb1F5eEZRVUZSVnl4VlFVRlZkVWdzV1VGQll5eFRRVUZUUXl4RlFVRlRPVU1zUjBGRGFFUXNUMEZCVHl4SFFVZFVja1lzUlVGQlVWY3NWVUZCVlhsSUxHTkJRV2RDTEZkQlEyaERMRTlCUVN0Q0xFbEJRWGhDYkVrc1MwRkJTMjFKTEZGQlFWRndTQ3hSUVVkMFFtcENMRVZCUVZGWExGVkJRVlV5U0N4M1FrRkJNRUlzVTBGQlUwTXNSMEZEYmtRc1NVRkJVME1zUlVGRlZDeFBRVVJOZEVrc1MwRkJRVUVzVDBGRFRYRkpMRVZCUTBnc1JVRkRSWEpKTEV0QlFVdHJRaXhoUVVGbGJVZ3NSVUZCVFc1SUxGbEJRMjVEYjBnc1JVRkJUVGxLTEVWQlFXbENLMG9zWVVGQlpTOUtMRVZCUVdsQ1owc3NkVUpCUTI1RVF5eExRVUZMUXl4VFFVRlhMRWRCUTJ4Q1NpeEhRVUZQT1Vvc1JVRkJhVUp0U3l4VlFVVjRRa3dzUjBGQlR6bEtMRVZCUVdsQ2Iwc3NWVUZGYmtKT0xFZEJWa2gwU1N4TFFWZFROa2tzVjBGQlYxSXNSMEZEYWtJM1NpeEZRVUZwUW5OTExGTkJRVmQwU3l4RlFVRnBRbTFMTEZWQldtaEVNMGtzUzBGaFV5dEpMR0ZCUVdGV0xFZEJRMjVDTjBvc1JVRkJhVUp6U3l4VFFVRlhkRXNzUlVGQmFVSnZTeXhWUVdSb1JEVkpMRXRCWlZOblNpeFpRVUZaV0N4SFFVTnNRamRLTEVWQlFXbENiVXNzVlVGRmFrSnVTeXhGUVVGcFFtOUxMRmRCU1RWQ09Va3NSVUZCVVZjc1ZVRkJWWGRKTEZkQlFXRXNVMEZCVTFvc1IwRkRkRU1zVFVGQlRTeEpRVUZKZUVjc1RVRkJUU3h6UTBGQmQwTTNRaXhMUVVGTE9FSXNZMEZITDBSb1F5eEZRVUZSVnl4VlFVRlZlVWtzWVVGQlpTeFRRVUZUUXl4SFFVTjRReXhOUVVGTkxFbEJRVWwwU0N4TlFVRk5MSE5EUVVGM1F6ZENMRXRCUVVzNFFpeGpRVWN2UkdoRExFVkJRVkZYTEZWQlFWVXlTU3h0UWtGQmNVSXNVMEZCVTBRc1IwRkRPVU1zVFVGQlRTeEpRVUZKZEVnc1RVRkJUU3h6UTBGQmQwTTNRaXhMUVVGTE9FSXNZMEZITDBSb1F5eEZRVUZSVnl4VlFVRlZORWtzYlVKQlFYRkNMRk5CUVZORExFZEJRemxETEUxQlFVMHNTVUZCU1hwSUxFMUJRVTBzYzBOQlFYZEROMElzUzBGQlN6aENMR05CUnk5RWFFTXNSVUZCVVZjc1ZVRkJWVGhKTEZsQlFXTXNVMEZCVTNSR0xFZEJRM1pETEVsQlFVbHFSQ3hGUVVGSFNTeEZRVUZIUlN4RlFVTldMRWRCUVVreVF5eEZRVUZMZWtNc1YwRkJZWGhDTEV0QlFVdDNRaXhUUVVONlFpeFBRVUZQTEVWQlJWUXNSMEZCU1hsRExFVkJRVXMxUkN4VFFVRlRWU3hUUVVGWFppeExRVUZMU3l4VFFVRlRWU3hQUVVONlF5eFBRVUZQTEVWQlJWUXNTVUZCUzBNc1JVRkJTVWtzUlVGQlNTeEZRVUZIUlN4RlFVRlBkRUlzUzBGQlMwc3NVMEZCVTFVc1QwRkJVeXhGUVVGSExFZEJRVXRQTEVWQlFVOUdMRWRCUVV0RkxFVkJRVTlHTEVkQlFVdEZMRVZCUVUxT0xFVkJRVWtzUjBGQlMwMHNTVUZCVTBZc1NVRkJUVUVzUlVGRE1VY3NTVUZCUzNCQ0xFdEJRVXRMTEZOQlFWTlhMRWRCUVVkMVNTeFpRVUZaZEVZc1JVRkJTelZFTEZOQlFWTlhMRWxCUXpsRExFOUJRVThzUlVGSFdDeFBRVUZQTEVkQlIxUnNRaXhGUVVGUlZ5eFZRVUZWSzBrc1YwRkJZU3hUUVVGVGRrSXNSVUZCVXpsRExFZEJReTlETEUxQlFVMHNTVUZCU1hSRUxFMUJRVTBzYzBOQlFYZEROMElzUzBGQlN6aENMR05CUnk5RWFFTXNSVUZCVVZjc1ZVRkJWV2RLTEZsQlFXTXNVMEZCVTJwSUxFVkJRVXRyU0N4RlFVRk5ReXhIUVVOc1JDeE5RVUZOTEVsQlFVazVTQ3hOUVVGTkxITkRRVUYzUXpkQ0xFdEJRVXM0UWl4alFVY3ZSR2hETEVWQlFWRlhMRlZCUVZWdFNpeFpRVUZqTEZOQlFWTndTQ3hIUVVOMlF5eE5RVUZOTEVsQlFVbFlMRTFCUVUwc2MwTkJRWGRETjBJc1MwRkJTemhDTEdOQlJ5OUVhRU1zUlVGQlVWY3NWVUZCVlc5S0xGTkJRVmNzVTBGQlUzaENMRWRCUTNCRExGRkJRVXRCTEVsQlIwVkJMRWxCUVZWeVNTeE5RVUZSUVN4TFFVRkxLMGtzWVVGQllWWXNTMEZITjBOMlNTeEZRVUZSVnl4VlFVRlZjMGtzWVVGQlpTeFRRVUZUT1VVc1IwRkRlRU1zU1VGQlNUbERMRVZCUVRCQ1F5eEZRVUZIUXl4RlFVRkxReXhGUVVWMFF5eEpRVUZMUml4RlFVRkpMRVZCUVVkRExFZEJSRnBETEVWQlFVOTBRaXhMUVVGTFN5eFZRVU5YVlN4UFFVRlJTeXhGUVVGSlF5eEZRVUZMUkN4SlFVRkxMRU5CUlRORExFZEJRVWsyUXl4TFFVUktPVU1zUlVGQlVVY3NSVUZCUzBZc1NVRkZXQ3hQUVVGUExFVkJSMVFzUjBGRWIwSkVMRVZCUVUwMFNDeGhRVUZoT1VVc1IwRkZja01zVDBGQlR5eEZRVWRZTEU5QlFVOHNSMEZIVkc1RkxFVkJRVkZYTEZWQlFWVnZTU3hYUVVGaExGTkJRVk0xUlN4SFFVTjBReXhQUVVGUFFTeEZRVUZMT0VVc1lVRkJZUzlKTEU5QlJ6TkNSaXhGUVVGUlZ5eFZRVUZWZFVrc1dVRkJZeXhUUVVGVEwwVXNSMEZEZGtNc1NVRkJTVFpHTEVWQlFWTkRMRVZCUjJJc1QwRkdRVVFzUlVGQlZUbEtMRXRCUVV0blN5eGhRVUZoTDBZc1IwRkROVUk0Uml4RlFVRlZMMG9zUzBGQlMyZExMR0ZCUVdGb1N5eFBRVU5ZTEVsQlFXSTRTaXhKUVVFclFpeEpRVUZpUXl4SFFVZGlSQ3hGUVVGVlF5eEhRVWx5UW1wTExFVkJRVkZYTEZWQlFWVjNTaXhaUVVGakxGTkJRVk5vUnl4SFFVTjJReXhKUVVGSk5rWXNSVUZCVTBNc1JVRkhZaXhQUVVaQlJDeEZRVUZWT1Vvc1MwRkJTMmRMTEdGQlFXRXZSaXhIUVVNMVFqaEdMRVZCUVZVdlNpeExRVUZMWjBzc1lVRkJZV2hMTEU5QlExZ3NTVUZCWWpoS0xFbEJRU3RDTEVsQlFXSkRMRWRCUjJKRUxFVkJRVlZETEVkQlNYSkNha3NzUlVGQlVWY3NWVUZCVlhWS0xHRkJRV1VzVTBGQlV5OUdMRWRCUTNoRExFbEJRVWxwUnl4RlFVRlBReXhGUVZOWUxFOUJVa0ZCTEVWQlFVMHNSVUZEVGtRc1IwRkJVU3hGUVVOU2JFc3NTMEZCUzI5TExHZENRVUZuUW5CTExFdEJRVXRyUWl4WFFVRlpMRk5CUVZOdFFpeEhRVVUzUXl4SFFVUkJPRWdzUzBGRFMwUXNSMEZCVXpkSUxFbEJRV00wUWl4RlFVTXhRaXhQUVVGUGFVY3NSMEZCVVN4SlFVZG1RU3hGUVVOTFF5eEhRVVZETEVkQlNWcHlTeXhGUVVGUlZ5eFZRVUZWTWtvc1owSkJRV3RDTEZOQlFWTnVSeXhGUVVGTmIwY3NSMEZEYWtRc1NVRkJTV3hLTEVWQlFVOURMRVZCUVVkRExFVkJRVXRETEVWQlFVMW5TQ3hGUVVkNlFpeEpRVVpCY2tVc1NVRkJVMEVzUlVGQlQycEZMRXRCUVV0clFpeFpRVVZvUWtVc1JVRkJTU3hGUVVGSFF5eEhRVVJhUXl4RlFVRlBNa01zUlVGQlN6VkVMRlZCUTFkVkxFOUJRVkZMTEVWQlFVbERMRVZCUVV0RUxFbEJRVXNzUTBGRk0wTXNSMEZCU1d0SUxFVkJRVTByUWl4RlFVUldiRW9zUlVGQlVVY3NSVUZCUzBZc1NVRkZXQ3hQUVVGUGEwZ3NSVUZIVUN4SFFVUkJRU3hGUVVGTmRFa3NTMEZCUzI5TExHZENRVUZuUW1wS0xFVkJRVTlyU2l4SFFVVm9ReXhQUVVGUEwwSXNTVUZOVW5oSkxFVkJNM1ZDYTBJc1MwRXJkVUl4UW10RUxFdEJRVXRvUkNJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URTV2WkdVdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMubm9kZXM9dH1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwibGVuZ3RoXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGVzLmxlbmd0aHx8MH19KSx0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGVzPW51bGx9LHQucHJvdG90eXBlLml0ZW09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubm9kZXNbdF18fG51bGx9LHR9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFNXZaR1ZNYVhOMExtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKWVRVeE9iMlJsVEdsemRDSXNJbTV2WkdWeklpd2lkR2hwY3lJc0lrOWlhbVZqZENJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aWNISnZkRzkwZVhCbElpd2laMlYwSWl3aWJHVnVaM1JvSWl3aVkyeHZibVVpTENKcGRHVnRJaXdpYVc1a1pYZ2lMQ0pqWVd4c0lsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVWRGUVN4UFFVRlBReXhSUVVGM1FpeFhRVU0zUWl4VFFVRlRReXhGUVVGWlF5eEhRVU51UWtNc1MwRkJTMFFzVFVGQlVVRXNSVUZwUW1Zc1QwRmtRVVVzVDBGQlQwTXNaVUZCWlVvc1JVRkJXVXNzVlVGQlZ5eFRRVUZWTEVOQlEzSkVReXhKUVVGTExGZEJRMGdzVDBGQlQwb3NTMEZCUzBRc1RVRkJUVTBzVVVGQlZTeExRVWxvUTFBc1JVRkJXVXNzVlVGQlZVY3NUVUZCVVN4WFFVTTFRaXhQUVVGUFRpeExRVUZMUkN4TlFVRlJMRTFCUjNSQ1JDeEZRVUZaU3l4VlFVRlZTU3hMUVVGUExGTkJRVk5ETEVkQlEzQkRMRTlCUVU5U0xFdEJRVXRFTEUxQlFVMVRMRWxCUVZVc1RVRkhka0pXTEVWQmJrSnpRaXhMUVhWQ09VSlhMRXRCUVV0VUlpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNVG05a1pVeHBjM1F1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXt2YXIgdCxyLGk9e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyPXJlcXVpcmUoXCIuL1hNTENoYXJhY3RlckRhdGFcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbyhyLGksZSl7aWYoby5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLHIpLG51bGw9PWkpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBpbnN0cnVjdGlvbiB0YXJnZXQuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3RoaXMudHlwZT10LlByb2Nlc3NpbmdJbnN0cnVjdGlvbix0aGlzLnRhcmdldD10aGlzLnN0cmluZ2lmeS5pbnNUYXJnZXQoaSksdGhpcy5uYW1lPXRoaXMudGFyZ2V0LGUmJih0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5Lmluc1ZhbHVlKGUpKX1yZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIGUgaW4gcilpLmNhbGwocixlKSYmKHRbZV09cltlXSk7ZnVuY3Rpb24gbygpe3RoaXMuY29uc3RydWN0b3I9dH1vLnByb3RvdHlwZT1yLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbyx0Ll9fc3VwZXJfXz1yLnByb3RvdHlwZX0obyxyKSxvLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfSxvLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24odGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxvLnByb3RvdHlwZS5pc0VxdWFsTm9kZT1mdW5jdGlvbih0KXtyZXR1cm4hIW8uX19zdXBlcl9fLmlzRXF1YWxOb2RlLmFwcGx5KHRoaXMsYXJndW1lbnRzKS5pc0VxdWFsTm9kZSh0KSYmdC50YXJnZXQ9PT10aGlzLnRhcmdldH0sb30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEZCeWIyTmxjM05wYm1kSmJuTjBjblZqZEdsdmJpNXFjeUpkTENKdVlXMWxjeUk2V3lKT2IyUmxWSGx3WlNJc0lsaE5URU5vWVhKaFkzUmxja1JoZEdFaUxDSm9ZWE5RY205d0lpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbk4xY0dWeVEyeGhjM01pTENKWVRVeFFjbTlqWlhOemFXNW5TVzV6ZEhKMVkzUnBiMjRpTENKd1lYSmxiblFpTENKMFlYSm5aWFFpTENKMllXeDFaU0lzSWw5ZmMzVndaWEpmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWTJGc2JDSXNJblJvYVhNaUxDSkZjbkp2Y2lJc0ltUmxZblZuU1c1bWJ5SXNJblI1Y0dVaUxDSlFjbTlqWlhOemFXNW5TVzV6ZEhKMVkzUnBiMjRpTENKemRISnBibWRwWm5raUxDSnBibk5VWVhKblpYUWlMQ0p1WVcxbElpd2lhVzV6Vm1Gc2RXVWlMQ0pqYUdsc1pDSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSmpiRzl1WlNJc0lrOWlhbVZqZENJc0ltTnlaV0YwWlNJc0luUnZVM1J5YVc1bklpd2liM0IwYVc5dWN5SXNJbmR5YVhSbGNpSXNJbkJ5YjJObGMzTnBibWRKYm5OMGNuVmpkR2x2YmlJc0ltWnBiSFJsY2s5d2RHbHZibk1pTENKcGMwVnhkV0ZzVG05a1pTSXNJbTV2WkdVaUxDSmhjSEJzZVNJc0ltRnlaM1Z0Wlc1MGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRkpRU3hGUVVGVlF5eEZRVVZhUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pJTEVWQlFWZEpMRkZCUVZFc1kwRkZia0pJTEVWQlFXMUNSeXhSUVVGUkxITkNRVVV6UWtNc1QwRkJUME1zVVVGQmNVTXNVMEZCVlVNc1IwRkhjRVFzVTBGQlUwTXNSVUZCZVVKRExFVkJRVkZETEVWQlFWRkRMRWRCUldoRUxFZEJSRUZJTEVWQlFYbENTU3hWUVVGVlF5eFpRVUZaUXl4TFFVRkxReXhMUVVGTlRpeEhRVU0xUXl4TlFVRldReXhGUVVOR0xFMUJRVTBzU1VGQlNVMHNUVUZCVFN3clFrRkJhVU5FTEV0QlFVdEZMR0ZCUlhoRVJpeExRVUZMUnl4TFFVRlBiRUlzUlVGQlUyMUNMSE5DUVVOeVFrb3NTMEZCUzB3c1QwRkJVMHNzUzBGQlMwc3NWVUZCVlVNc1ZVRkJWVmdzUjBGRGRrTkxMRXRCUVV0UExFdEJRVTlRTEV0QlFVdE1MRTlCUTJKRExFbEJRMFpKTEV0QlFVdEtMRTFCUVZGSkxFdEJRVXRMTEZWQlFWVkhMRk5CUVZOYUxFbEJjMEo2UXl4UFFYcERVeXhUUVVGVFlTeEZRVUZQWml4SFFVRlZMRWxCUVVzc1NVRkJTV2RDTEV0QlFVOW9RaXhGUVVGalVDeEZRVUZSV1N4TFFVRkxUQ3hGUVVGUlowSXNTMEZCVFVRc1JVRkJUVU1zUjBGQlQyaENMRVZCUVU5blFpeEpRVUZSTEZOQlFWTkRMRWxCUVZOWUxFdEJRVXRHTEZsQlFXTlhMRVZCUVZORkxFVkJRVXRETEZWQlFWbHNRaXhGUVVGUGEwSXNWVUZCVjBnc1JVRkJUVWNzVlVGQldTeEpRVUZKUkN4RlFVRlJSaXhGUVVGTldpeFZRVUZaU0N4RlFVRlBhMElzVlVGUmFGRkRMRU5CUVU5d1FpeEZRVzFEVGxBc1IwRndRa1JQTEVWQlFYbENiVUlzVlVGQlZVVXNUVUZCVVN4WFFVTjZReXhQUVVGUFF5eFBRVUZQUXl4UFFVRlBhRUlzVDBGSGRrSlFMRVZCUVhsQ2JVSXNWVUZCVlVzc1UwRkJWeXhUUVVGVFF5eEhRVU55UkN4UFFVRlBiRUlzUzBGQlMydENMRkZCUVZGRExFOUJRVTlETEhOQ1FVRnpRbkJDTEV0QlFVMUJMRXRCUVV0clFpeFJRVUZSUXl4UFFVRlBSU3hqUVVGalNDeExRVWN6Um5wQ0xFVkJRWGxDYlVJc1ZVRkJWVlVzV1VGQll5eFRRVUZUUXl4SFFVTjRSQ3hSUVVGTE9VSXNSVUZCZVVKSkxGVkJRVlY1UWl4WlFVRlpSU3hOUVVGTmVFSXNTMEZCVFhsQ0xGZEJRVmRJTEZsQlFWbERMRWxCUjI1R1FTeEZRVUZMTlVJc1UwRkJWMHNzUzBGQlMwd3NVVUZOY0VKR0xFVkJiRU50UXl4TFFYTkRNME5OTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVVISnZZMlZ6YzJsdVowbHVjM1J5ZFdOMGFXOXVMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciB0LHIsbz17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHI9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBpKHIsbyl7aWYoaS5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLHIpLG51bGw9PW8pdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyByYXcgdGV4dC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7dGhpcy50eXBlPXQuUmF3LHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkucmF3KG8pfXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSBpbiByKW8uY2FsbChyLGUpJiYodFtlXT1yW2VdKTtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWkucHJvdG90eXBlPXIucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBpLHQuX19zdXBlcl9fPXIucHJvdG90eXBlfShpLHIpLGkucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LGkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLnJhdyh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LGl9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGSmhkeTVxY3lKZExDSnVZVzFsY3lJNld5Sk9iMlJsVkhsd1pTSXNJbGhOVEU1dlpHVWlMQ0pvWVhOUWNtOXdJaXdpYUdGelQzZHVVSEp2Y0dWeWRIa2lMQ0p5WlhGMWFYSmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW5OMWNHVnlRMnhoYzNNaUxDSllUVXhTWVhjaUxDSndZWEpsYm5RaUxDSjBaWGgwSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpZEhsd1pTSXNJbEpoZHlJc0luWmhiSFZsSWl3aWMzUnlhVzVuYVdaNUlpd2ljbUYzSWl3aVkyaHBiR1FpTENKclpYa2lMQ0pqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWlhoMFpXNWtJaXdpWTJ4dmJtVWlMQ0pQWW1wbFkzUWlMQ0pqY21WaGRHVWlMQ0owYjFOMGNtbHVaeUlzSW05d2RHbHZibk1pTENKM2NtbDBaWElpTENKbWFXeDBaWEpQY0hScGIyNXpJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlFWVkRMRVZCUlZwRExFVkJRVlVzUjBGQlIwTXNaVUZGWmtnc1JVRkJWMGtzVVVGQlVTeGpRVVZ1UWtnc1JVRkJWVWNzVVVGQlVTeGhRVVZzUWtNc1QwRkJUME1zVVVGQmJVSXNVMEZCVlVNc1IwRkhiRU1zVTBGQlUwTXNSVUZCVDBNc1JVRkJVVU1zUjBGRmRFSXNSMEZFUVVZc1JVRkJUMGNzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRVd3NSMEZETlVJc1RVRkJVa01zUlVGRFJpeE5RVUZOTEVsQlFVbExMRTFCUVUwc2NVSkJRWFZDUkN4TFFVRkxSU3hoUVVVNVEwWXNTMEZCUzBjc1MwRkJUMnBDTEVWQlFWTnJRaXhKUVVOeVFrb3NTMEZCUzBzc1RVRkJVVXdzUzBGQlMwMHNWVUZCVlVNc1NVRkJTVmdzUjBGWGJFTXNUMEV6UWxNc1UwRkJVMWtzUlVGQlQySXNSMEZCVlN4SlFVRkxMRWxCUVVsakxFdEJRVTlrTEVWQlFXTlFMRVZCUVZGWExFdEJRVXRLTEVWQlFWRmpMRXRCUVUxRUxFVkJRVTFETEVkQlFVOWtMRVZCUVU5akxFbEJRVkVzVTBGQlUwTXNTVUZCVTFZc1MwRkJTMFlzV1VGQlkxVXNSVUZCVTBVc1JVRkJTME1zVlVGQldXaENMRVZCUVU5blFpeFZRVUZYU0N4RlFVRk5SeXhWUVVGWkxFbEJRVWxFTEVWQlFWRkdMRVZCUVUxWUxGVkJRVmxHTEVWQlFVOW5RaXhWUVZGb1VVTXNRMEZCVDJ4Q0xFVkJjVUpPVUN4SFFWWkVUeXhGUVVGUGFVSXNWVUZCVlVVc1RVRkJVU3hYUVVOMlFpeFBRVUZQUXl4UFFVRlBReXhQUVVGUFppeFBRVWQyUWs0c1JVRkJUMmxDTEZWQlFWVkxMRk5CUVZjc1UwRkJVME1zUjBGRGJrTXNUMEZCVDJwQ0xFdEJRVXRwUWl4UlFVRlJReXhQUVVGUFdDeEpRVUZKVUN4TFFVRk5RU3hMUVVGTGFVSXNVVUZCVVVNc1QwRkJUME1zWTBGQlkwWXNTMEZIYkVWMlFpeEZRWEJDYVVJc1MwRjNRbnBDU3l4TFFVRkxReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRGSmhkeTVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LGUscixzPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscj1yZXF1aXJlKFwiLi9YTUxXcml0ZXJCYXNlXCIpLGU9cmVxdWlyZShcIi4vV3JpdGVyU3RhdGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oaSl7ZnVuY3Rpb24gbih0LGUpe3RoaXMuc3RyZWFtPXQsbi5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLGUpfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKXMuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWkucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBpLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShuLHIpLG4ucHJvdG90eXBlLmVuZGxpbmU9ZnVuY3Rpb24odCxyLHMpe3JldHVybiB0LmlzTGFzdFJvb3ROb2RlJiZyLnN0YXRlPT09ZS5DbG9zZVRhZz9cIlwiOm4uX19zdXBlcl9fLmVuZGxpbmUuY2FsbCh0aGlzLHQscixzKX0sbi5wcm90b3R5cGUuZG9jdW1lbnQ9ZnVuY3Rpb24odCxlKXt2YXIgcixzLGksbixvLGEsaCxsLHA7Zm9yKHM9aT0wLG89KGg9dC5jaGlsZHJlbikubGVuZ3RoO2k8bztzPSsraSkocj1oW3NdKS5pc0xhc3RSb290Tm9kZT1zPT09dC5jaGlsZHJlbi5sZW5ndGgtMTtmb3IoZT10aGlzLmZpbHRlck9wdGlvbnMoZSkscD1bXSxuPTAsYT0obD10LmNoaWxkcmVuKS5sZW5ndGg7bjxhO24rKylyPWxbbl0scC5wdXNoKHRoaXMud3JpdGVDaGlsZE5vZGUocixlLDApKTtyZXR1cm4gcH0sbi5wcm90b3R5cGUuYXR0cmlidXRlPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uYXR0cmlidXRlLmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5jZGF0YT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmNkYXRhLmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5jb21tZW50PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uY29tbWVudC5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUuZGVjbGFyYXRpb249ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5kZWNsYXJhdGlvbi5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUuZG9jVHlwZT1mdW5jdGlvbih0LHIscyl7dmFyIGksbixvLGE7aWYoc3x8KHM9MCksdGhpcy5vcGVuTm9kZSh0LHIscyksci5zdGF0ZT1lLk9wZW5UYWcsdGhpcy5zdHJlYW0ud3JpdGUodGhpcy5pbmRlbnQodCxyLHMpKSx0aGlzLnN0cmVhbS53cml0ZShcIjwhRE9DVFlQRSBcIit0LnJvb3QoKS5uYW1lKSx0LnB1YklEJiZ0LnN5c0lEP3RoaXMuc3RyZWFtLndyaXRlKCcgUFVCTElDIFwiJyt0LnB1YklEKydcIiBcIicrdC5zeXNJRCsnXCInKTp0LnN5c0lEJiZ0aGlzLnN0cmVhbS53cml0ZSgnIFNZU1RFTSBcIicrdC5zeXNJRCsnXCInKSx0LmNoaWxkcmVuLmxlbmd0aD4wKXtmb3IodGhpcy5zdHJlYW0ud3JpdGUoXCIgW1wiKSx0aGlzLnN0cmVhbS53cml0ZSh0aGlzLmVuZGxpbmUodCxyLHMpKSxyLnN0YXRlPWUuSW5zaWRlVGFnLG49MCxvPShhPXQuY2hpbGRyZW4pLmxlbmd0aDtuPG87bisrKWk9YVtuXSx0aGlzLndyaXRlQ2hpbGROb2RlKGkscixzKzEpO3Iuc3RhdGU9ZS5DbG9zZVRhZyx0aGlzLnN0cmVhbS53cml0ZShcIl1cIil9cmV0dXJuIHIuc3RhdGU9ZS5DbG9zZVRhZyx0aGlzLnN0cmVhbS53cml0ZShyLnNwYWNlQmVmb3JlU2xhc2grXCI+XCIpLHRoaXMuc3RyZWFtLndyaXRlKHRoaXMuZW5kbGluZSh0LHIscykpLHIuc3RhdGU9ZS5Ob25lLHRoaXMuY2xvc2VOb2RlKHQscixzKX0sbi5wcm90b3R5cGUuZWxlbWVudD1mdW5jdGlvbihyLGksbil7dmFyIG8sYSxoLGwscCx1LGMsZCxfO2ZvcihjIGluIG58fChuPTApLHRoaXMub3Blbk5vZGUocixpLG4pLGkuc3RhdGU9ZS5PcGVuVGFnLHRoaXMuc3RyZWFtLndyaXRlKHRoaXMuaW5kZW50KHIsaSxuKStcIjxcIityLm5hbWUpLGQ9ci5hdHRyaWJzKXMuY2FsbChkLGMpJiYobz1kW2NdLHRoaXMuYXR0cmlidXRlKG8saSxuKSk7aWYobD0wPT09KGg9ci5jaGlsZHJlbi5sZW5ndGgpP251bGw6ci5jaGlsZHJlblswXSwwPT09aHx8ci5jaGlsZHJlbi5ldmVyeShmdW5jdGlvbihlKXtyZXR1cm4oZS50eXBlPT09dC5UZXh0fHxlLnR5cGU9PT10LlJhdykmJlwiXCI9PT1lLnZhbHVlfSkpaS5hbGxvd0VtcHR5Pyh0aGlzLnN0cmVhbS53cml0ZShcIj5cIiksaS5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKFwiPC9cIityLm5hbWUrXCI+XCIpKTooaS5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKGkuc3BhY2VCZWZvcmVTbGFzaCtcIi8+XCIpKTtlbHNlIGlmKCFpLnByZXR0eXx8MSE9PWh8fGwudHlwZSE9PXQuVGV4dCYmbC50eXBlIT09dC5SYXd8fG51bGw9PWwudmFsdWUpe2Zvcih0aGlzLnN0cmVhbS53cml0ZShcIj5cIit0aGlzLmVuZGxpbmUocixpLG4pKSxpLnN0YXRlPWUuSW5zaWRlVGFnLHA9MCx1PShfPXIuY2hpbGRyZW4pLmxlbmd0aDtwPHU7cCsrKWE9X1twXSx0aGlzLndyaXRlQ2hpbGROb2RlKGEsaSxuKzEpO2kuc3RhdGU9ZS5DbG9zZVRhZyx0aGlzLnN0cmVhbS53cml0ZSh0aGlzLmluZGVudChyLGksbikrXCI8L1wiK3IubmFtZStcIj5cIil9ZWxzZSB0aGlzLnN0cmVhbS53cml0ZShcIj5cIiksaS5zdGF0ZT1lLkluc2lkZVRhZyxpLnN1cHByZXNzUHJldHR5Q291bnQrKywhMCx0aGlzLndyaXRlQ2hpbGROb2RlKGwsaSxuKzEpLGkuc3VwcHJlc3NQcmV0dHlDb3VudC0tLCExLGkuc3RhdGU9ZS5DbG9zZVRhZyx0aGlzLnN0cmVhbS53cml0ZShcIjwvXCIrci5uYW1lK1wiPlwiKTtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUodGhpcy5lbmRsaW5lKHIsaSxuKSksaS5zdGF0ZT1lLk5vbmUsdGhpcy5jbG9zZU5vZGUocixpLG4pfSxuLnByb3RvdHlwZS5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb249ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLnJhdz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLnJhdy5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUudGV4dD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLnRleHQuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmR0ZEF0dExpc3Q9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5kdGRBdHRMaXN0LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kdGRFbGVtZW50PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uZHRkRWxlbWVudC5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUuZHRkRW50aXR5PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uZHRkRW50aXR5LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kdGROb3RhdGlvbj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmR0ZE5vdGF0aW9uLmNhbGwodGhpcyx0LGUscikpfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URk4wY21WaGJWZHlhWFJsY2k1cWN5SmRMQ0p1WVcxbGN5STZXeUpPYjJSbFZIbHdaU0lzSWxkeWFYUmxjbE4wWVhSbElpd2lXRTFNVjNKcGRHVnlRbUZ6WlNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRGTjBjbVZoYlZkeWFYUmxjaUlzSW5OMGNtVmhiU0lzSW05d2RHbHZibk1pTENKMGFHbHpJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lZMmhwYkdRaUxDSndZWEpsYm5RaUxDSnJaWGtpTENKamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVpYaDBaVzVrSWl3aVpXNWtiR2x1WlNJc0ltNXZaR1VpTENKc1pYWmxiQ0lzSW1selRHRnpkRkp2YjNST2IyUmxJaXdpYzNSaGRHVWlMQ0pEYkc5elpWUmhaeUlzSW1SdlkzVnRaVzUwSWl3aVpHOWpJaXdpYVNJc0ltb2lMQ0pySWl3aWJHVnVJaXdpYkdWdU1TSXNJbkpsWmlJc0luSmxaakVpTENKeVpYTjFiSFJ6SWl3aVkyaHBiR1J5Wlc0aUxDSnNaVzVuZEdnaUxDSm1hV3gwWlhKUGNIUnBiMjV6SWl3aWNIVnphQ0lzSW5keWFYUmxRMmhwYkdST2IyUmxJaXdpWVhSMGNtbGlkWFJsSWl3aVlYUjBJaXdpZDNKcGRHVWlMQ0pqWkdGMFlTSXNJbU52YlcxbGJuUWlMQ0prWldOc1lYSmhkR2x2YmlJc0ltUnZZMVI1Y0dVaUxDSnZjR1Z1VG05a1pTSXNJazl3Wlc1VVlXY2lMQ0pwYm1SbGJuUWlMQ0p5YjI5MElpd2libUZ0WlNJc0luQjFZa2xFSWl3aWMzbHpTVVFpTENKSmJuTnBaR1ZVWVdjaUxDSnpjR0ZqWlVKbFptOXlaVk5zWVhOb0lpd2lUbTl1WlNJc0ltTnNiM05sVG05a1pTSXNJbVZzWlcxbGJuUWlMQ0pqYUdsc1pFNXZaR1ZEYjNWdWRDSXNJbVpwY25OMFEyaHBiR1JPYjJSbElpd2lZWFIwY21saWN5SXNJbVYyWlhKNUlpd2laU0lzSW5SNWNHVWlMQ0pVWlhoMElpd2lVbUYzSWl3aWRtRnNkV1VpTENKaGJHeHZkMFZ0Y0hSNUlpd2ljSEpsZEhSNUlpd2ljM1Z3Y0hKbGMzTlFjbVYwZEhsRGIzVnVkQ0lzSW5CeWIyTmxjM05wYm1kSmJuTjBjblZqZEdsdmJpSXNJbkpoZHlJc0luUmxlSFFpTENKa2RHUkJkSFJNYVhOMElpd2laSFJrUld4bGJXVnVkQ0lzSW1SMFpFVnVkR2wwZVNJc0ltUjBaRTV2ZEdGMGFXOXVJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlFWVkRMRVZCUVRoQ1F5eEZRVVV4UTBNc1JVRkJWU3hIUVVGSFF5eGxRVVZtU2l4RlFVRlhTeXhSUVVGUkxHTkJSVzVDU0N4RlFVRm5Ra2NzVVVGQlVTeHRRa0ZGZUVKS0xFVkJRV05KTEZGQlFWRXNhVUpCUlhSQ1F5eFBRVUZQUXl4UlFVRTBRaXhUUVVGVlF5eEhRVWN6UXl4VFFVRlRReXhGUVVGblFrTXNSVUZCVVVNc1IwRkRMMEpETEV0QlFVdEdMRTlCUVZOQkxFVkJRMlJFTEVWQlFXZENTU3hWUVVGVlF5eFpRVUZaUXl4TFFVRkxTQ3hMUVVGTlJDeEhRVEJLYmtRc1QwRjRTMU1zVTBGQlUwc3NSVUZCVDBNc1IwRkJWU3hKUVVGTExFbEJRVWxETEV0QlFVOUVMRVZCUVdOa0xFVkJRVkZaTEV0QlFVdEZMRVZCUVZGRExFdEJRVTFHTEVWQlFVMUZMRWRCUVU5RUxFVkJRVTlETEVsQlFWRXNVMEZCVTBNc1NVRkJVMUFzUzBGQlMwVXNXVUZCWTBVc1JVRkJVMGNzUlVGQlMwTXNWVUZCV1Vnc1JVRkJUMGNzVlVGQlYwb3NSVUZCVFVrc1ZVRkJXU3hKUVVGSlJDeEZRVUZSU0N4RlFVRk5TQ3hWUVVGWlNTeEZRVUZQUnl4VlFWVm9VVU1zUTBGQlQxb3NSVUZuUzA1UUxFZEJla3BFVHl4RlFVRm5RbGNzVlVGQlZVVXNVVUZCVlN4VFFVRlRReXhGUVVGTldpeEZRVUZUWVN4SFFVTXhSQ3hQUVVGSlJDeEZRVUZMUlN4blFrRkJhMEprTEVWQlFWRmxMRkZCUVZWNlFpeEZRVUZaTUVJc1UwRkRhRVFzUjBGRlFXeENMRVZCUVdkQ1NTeFZRVUZWVXl4UlFVRlJVQ3hMUVVGTFNDeExRVUZOVnl4RlFVRk5XaXhGUVVGVFlTeEpRVWwyUldZc1JVRkJaMEpYTEZWQlFWVlJMRk5CUVZjc1UwRkJVME1zUlVGQlMyeENMRWRCUTJwRUxFbEJRVWxMTEVWQlFVOWpMRVZCUVVkRExFVkJRVWRETEVWQlFVZERMRVZCUVV0RExFVkJRVTFETEVWQlFVdERMRVZCUVUxRExFVkJSVEZETEVsQlFVdFFMRVZCUVVsRExFVkJRVWtzUlVGQlIwVXNSMEZFYUVKRkxFVkJRVTFPTEVWQlFVbFRMRlZCUTJkQ1F5eFBRVUZSVWl4RlFVRkpSU3hGUVVGTFNDeEpRVUZOUXl4SFFVTXZRMllzUlVGQlVXMUNMRVZCUVVsTUxFbEJRMDVNTEdWQlFXbENTeXhKUVVGTlJDeEZRVUZKVXl4VFFVRlRReXhQUVVGVExFVkJTM0pFTEVsQlNFRTFRaXhGUVVGVlF5eExRVUZMTkVJc1kwRkJZemRDTEVkQlJUZENNRUlzUlVGQlZTeEhRVU5NVEN4RlFVRkpMRVZCUVVkRkxFZEJSbHBGTEVWQlFVOVFMRVZCUVVsVExGVkJSV0ZETEU5QlFWRlFMRVZCUVVsRkxFVkJRVTFHTEVsQlEzaERhRUlzUlVGQlVXOUNMRVZCUVV0S0xFZEJRMkpMTEVWQlFWRkpMRXRCUVVzM1FpeExRVUZMT0VJc1pVRkJaVEZDTEVWQlFVOU1MRVZCUVZNc1NVRkZia1FzVDBGQlR6QkNMRWRCUjFRMVFpeEZRVUZuUWxjc1ZVRkJWWFZDTEZWQlFWa3NVMEZCVTBNc1JVRkJTMnBETEVWQlFWTmhMRWRCUXpORUxFOUJRVTlhTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOY0VNc1JVRkJaMEpKTEZWQlFWVTRRaXhWUVVGVk5VSXNTMEZCUzBnc1MwRkJUV2RETEVWQlFVdHFReXhGUVVGVFlTeExRVWQ0Um1Zc1JVRkJaMEpYTEZWQlFWVXdRaXhOUVVGUkxGTkJRVk4yUWl4RlFVRk5XaXhGUVVGVFlTeEhRVU40UkN4UFFVRlBXaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUWEJETEVWQlFXZENTU3hWUVVGVmFVTXNUVUZCVFM5Q0xFdEJRVXRJTEV0QlFVMVhMRVZCUVUxYUxFVkJRVk5oTEV0QlIzSkdaaXhGUVVGblFsY3NWVUZCVlRKQ0xGRkJRVlVzVTBGQlUzaENMRVZCUVUxYUxFVkJRVk5oTEVkQlF6RkVMRTlCUVU5YUxFdEJRVXRHTEU5QlFVOXRReXhOUVVGTmNFTXNSVUZCWjBKSkxGVkJRVlZyUXl4UlFVRlJhRU1zUzBGQlMwZ3NTMEZCVFZjc1JVRkJUVm9zUlVGQlUyRXNTMEZIZGtabUxFVkJRV2RDVnl4VlFVRlZORUlzV1VGQll5eFRRVUZUZWtJc1JVRkJUVm9zUlVGQlUyRXNSMEZET1VRc1QwRkJUMW9zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTF3UXl4RlFVRm5Ra2tzVlVGQlZXMURMRmxCUVZscVF5eExRVUZMU0N4TFFVRk5WeXhGUVVGTldpeEZRVUZUWVN4TFFVY3pSbVlzUlVGQlowSlhMRlZCUVZVMlFpeFJRVUZWTEZOQlFWTXhRaXhGUVVGTldpeEZRVUZUWVN4SFFVTXhSQ3hKUVVGSlVpeEZRVUZQWlN4RlFVRkhSU3hGUVVGTFJTeEZRVmR1UWl4SFFWWkJXQ3hKUVVGVlFTeEZRVUZSTEVkQlEyeENXaXhMUVVGTGMwTXNVMEZCVXpOQ0xFVkJRVTFhTEVWQlFWTmhMRWRCUXpkQ1lpeEZRVUZSWlN4TlFVRlJla0lzUlVGQldXdEVMRkZCUXpWQ2RrTXNTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXFReXhMUVVGTGQwTXNUMEZCVHpkQ0xFVkJRVTFhTEVWQlFWTmhMRWxCUXpkRFdpeExRVUZMUml4UFFVRlBiVU1zVFVGQlRTeGhRVUZsZEVJc1JVRkJTemhDTEU5QlFVOURMRTFCUTNwREwwSXNSVUZCUzJkRExFOUJRVk5vUXl4RlFVRkxhVU1zVFVGRGNrSTFReXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUU3haUVVGamRFSXNSVUZCUzJkRExFMUJRVkVzVFVGQlVXaERMRVZCUVV0cFF5eE5RVUZSTEV0QlEzcEVha01zUlVGQlMybERMRTlCUTJRMVF5eExRVUZMUml4UFFVRlBiVU1zVFVGQlRTeFpRVUZqZEVJc1JVRkJTMmxETEUxQlFWRXNTMEZGTTBOcVF5eEZRVUZMWlN4VFFVRlRReXhQUVVGVExFVkJRVWNzUTBGTE5VSXNTVUZLUVROQ0xFdEJRVXRHTEU5QlFVOXRReXhOUVVGTkxFMUJRMnhDYWtNc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxcVF5eExRVUZMVlN4UlFVRlJReXhGUVVGTldpeEZRVUZUWVN4SlFVTTVRMklzUlVGQlVXVXNUVUZCVVhwQ0xFVkJRVmwzUkN4VlFVVjJRakZDTEVWQlFVa3NSVUZCUjBVc1IwRkVXa1VzUlVGQlRWb3NSVUZCUzJVc1ZVRkRWME1zVDBGQlVWSXNSVUZCU1VVc1JVRkJTMFlzU1VGRGNrTm1MRVZCUVZGdFFpeEZRVUZKU2l4SFFVTmFia0lzUzBGQlN6aENMR1ZCUVdVeFFpeEZRVUZQVEN4RlFVRlRZU3hGUVVGUkxFZEJSVGxEWWl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1RCQ0xGTkJRelZDWml4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4TFFVMXdRaXhQUVVwQmJFTXNSVUZCVVdVc1RVRkJVWHBDTEVWQlFWa3dRaXhUUVVNMVFtWXNTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXNReXhGUVVGUkswTXNhVUpCUVcxQ0xFdEJRemRET1VNc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxcVF5eExRVUZMVlN4UlFVRlJReXhGUVVGTldpeEZRVUZUWVN4SlFVTTVRMklzUlVGQlVXVXNUVUZCVVhwQ0xFVkJRVmt3UkN4TFFVTnlRaTlETEV0QlFVdG5SQ3hWUVVGVmNrTXNSVUZCVFZvc1JVRkJVMkVzU1VGSGRrTm1MRVZCUVdkQ1Z5eFZRVUZWZVVNc1VVRkJWU3hUUVVGVGRFTXNSVUZCVFZvc1JVRkJVMkVzUjBGRE1VUXNTVUZCU1c5Q0xFVkJRVXMxUWl4RlFVRlBPRU1zUlVGQlowSkRMRVZCUVdkQ2FFTXNSVUZCUjBVc1JVRkJTM0ZDTEVWQlFYZENia0lzUlVGQlMwTXNSVUZOY2tZc1NVRkJTMnRDTEV0QlRFdzVRaXhKUVVGVlFTeEZRVUZSTEVkQlEyeENXaXhMUVVGTGMwTXNVMEZCVXpOQ0xFVkJRVTFhTEVWQlFWTmhMRWRCUXpkQ1lpeEZRVUZSWlN4TlFVRlJla0lzUlVGQldXdEVMRkZCUXpWQ2RrTXNTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXFReXhMUVVGTGQwTXNUMEZCVHpkQ0xFVkJRVTFhTEVWQlFWTmhMRWRCUVZNc1NVRkJUVVFzUlVGQlN5dENMRTFCUTJwRmJrSXNSVUZCVFZvc1JVRkJTM2xETEZGQlJVbzNSQ3hGUVVGUldTeExRVUZMYjBJc1JVRkJTMjFDTEV0QlEzWkNWaXhGUVVGTlZDeEZRVUZKYlVJc1IwRkRWakZETEV0QlFVc3JRaXhWUVVGVlF5eEZRVUZMYWtNc1JVRkJVMkVzU1VGSkwwSXNSMEZFUVhWRExFVkJRVzlETEV0QlJIQkRSQ3hGUVVGcFFuWkRMRVZCUVV0bExGTkJRVk5ETEZGQlExTXNTMEZCVDJoQ0xFVkJRVXRsTEZOQlFWTXNSMEZEZEVNc1NVRkJia0ozUWl4SFFVRjNRblpETEVWQlFVdGxMRk5CUVZNeVFpeE5RVUZOTEZOQlFWTkRMRWRCUTNaRUxFOUJRVkZCTEVWQlFVVkRMRTlCUVZOdVJTeEZRVUZUYjBVc1RVRkJVVVlzUlVGQlJVTXNUMEZCVTI1RkxFVkJRVk54UlN4TlFVRnZRaXhMUVVGYVNDeEZRVUZGU1N4UlFVVTVSRE5FTEVWQlFWRTBSQ3haUVVOV00wUXNTMEZCUzBZc1QwRkJUMjFETEUxQlFVMHNTMEZEYkVKc1F5eEZRVUZSWlN4TlFVRlJla0lzUlVGQldUQkNMRk5CUXpWQ1ppeExRVUZMUml4UFFVRlBiVU1zVFVGQlRTeExRVUZQZEVJc1JVRkJTeXRDTEV0QlFVOHNUMEZGY2tNelF5eEZRVUZSWlN4TlFVRlJla0lzUlVGQldUQkNMRk5CUXpWQ1ppeExRVUZMUml4UFFVRlBiVU1zVFVGQlRXeERMRVZCUVZFclF5eHBRa0ZCYlVJc1dVRkZNVU1zU1VGQlNTOURMRVZCUVZFMlJDeFJRVUUyUWl4SlFVRnVRbFlzUjBGQmVVSkRMRVZCUVdWSkxFOUJRVk51UlN4RlFVRlRiMFVzVFVGQlVVd3NSVUZCWlVrc1QwRkJVMjVGTEVWQlFWTnhSU3hMUVVGcFF5eE5RVUY0UWs0c1JVRkJaVThzVFVGVmFrb3NRMEZKVEN4SlFVaEJNVVFzUzBGQlMwWXNUMEZCVDIxRExFMUJRVTBzU1VGQlRXcERMRXRCUVV0VkxGRkJRVkZETEVWQlFVMWFMRVZCUVZOaExFbEJRM0JFWWl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1hkRUxGVkJSWFpDTVVJc1JVRkJTU3hGUVVGSFJTeEhRVVJhUnl4RlFVRlBZaXhGUVVGTFpTeFZRVU5YUXl4UFFVRlJVaXhGUVVGSlJTeEZRVUZMUml4SlFVTjBRMllzUlVGQlVXOUNMRVZCUVV0TUxFZEJRMkp1UWl4TFFVRkxPRUlzWlVGQlpURkNMRVZCUVU5TUxFVkJRVk5oTEVWQlFWRXNSMEZGT1VOaUxFVkJRVkZsTEUxQlFWRjZRaXhGUVVGWk1FSXNVMEZETlVKbUxFdEJRVXRHTEU5QlFVOXRReXhOUVVGTmFrTXNTMEZCUzNkRExFOUJRVTgzUWl4RlFVRk5XaXhGUVVGVFlTeEhRVUZUTEV0QlFVOUVMRVZCUVVzclFpeExRVUZQTEZWQmJFSjZSVEZETEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOTEV0QlEyeENiRU1zUlVGQlVXVXNUVUZCVVhwQ0xFVkJRVmwzUkN4VlFVTTFRamxETEVWQlFWRTRSQ3gxUWtGRFZ5eEZRVU51UWpkRUxFdEJRVXM0UWl4bFFVRmxjVUlzUlVGQlowSndSQ3hGUVVGVFlTeEZRVUZSTEVkQlEzSkVZaXhGUVVGUk9FUXNkVUpCUTFjc1JVRkRia0k1UkN4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1RCQ0xGTkJRelZDWml4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4TFFVRlBkRUlzUlVGQlN5dENMRXRCUVU4c1MwRmpka01zVDBGR1FURkRMRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5ha01zUzBGQlMxVXNVVUZCVVVNc1JVRkJUVm9zUlVGQlUyRXNTVUZET1VOaUxFVkJRVkZsTEUxQlFWRjZRaXhGUVVGWk1FUXNTMEZEY2tJdlF5eExRVUZMWjBRc1ZVRkJWWEpETEVWQlFVMWFMRVZCUVZOaExFbEJSM1pEWml4RlFVRm5RbGNzVlVGQlZYTkVMSE5DUVVGM1FpeFRRVUZUYmtRc1JVRkJUVm9zUlVGQlUyRXNSMEZEZUVVc1QwRkJUMW9zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTF3UXl4RlFVRm5Ra2tzVlVGQlZUWkVMSE5DUVVGelFqTkVMRXRCUVV0SUxFdEJRVTFYTEVWQlFVMWFMRVZCUVZOaExFdEJSM0pIWml4RlFVRm5RbGNzVlVGQlZYVkVMRWxCUVUwc1UwRkJVM0JFTEVWQlFVMWFMRVZCUVZOaExFZEJRM1JFTEU5QlFVOWFMRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5jRU1zUlVGQlowSkpMRlZCUVZVNFJDeEpRVUZKTlVRc1MwRkJTMGdzUzBGQlRWY3NSVUZCVFZvc1JVRkJVMkVzUzBGSGJrWm1MRVZCUVdkQ1Z5eFZRVUZWZDBRc1MwRkJUeXhUUVVGVGNrUXNSVUZCVFZvc1JVRkJVMkVzUjBGRGRrUXNUMEZCVDFvc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxd1F5eEZRVUZuUWtrc1ZVRkJWU3RFTEV0QlFVczNSQ3hMUVVGTFNDeExRVUZOVnl4RlFVRk5XaXhGUVVGVFlTeExRVWR3Um1Zc1JVRkJaMEpYTEZWQlFWVjVSQ3hYUVVGaExGTkJRVk4wUkN4RlFVRk5XaXhGUVVGVFlTeEhRVU0zUkN4UFFVRlBXaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUWEJETEVWQlFXZENTU3hWUVVGVlowVXNWMEZCVnpsRUxFdEJRVXRJTEV0QlFVMVhMRVZCUVUxYUxFVkJRVk5oTEV0QlJ6RkdaaXhGUVVGblFsY3NWVUZCVlRCRUxGZEJRV0VzVTBGQlUzWkVMRVZCUVUxYUxFVkJRVk5oTEVkQlF6ZEVMRTlCUVU5YUxFdEJRVXRHTEU5QlFVOXRReXhOUVVGTmNFTXNSVUZCWjBKSkxGVkJRVlZwUlN4WFFVRlhMMFFzUzBGQlMwZ3NTMEZCVFZjc1JVRkJUVm9zUlVGQlUyRXNTMEZITVVabUxFVkJRV2RDVnl4VlFVRlZNa1FzVlVGQldTeFRRVUZUZUVRc1JVRkJUVm9zUlVGQlUyRXNSMEZETlVRc1QwRkJUMW9zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTF3UXl4RlFVRm5Ra2tzVlVGQlZXdEZMRlZCUVZWb1JTeExRVUZMU0N4TFFVRk5WeXhGUVVGTldpeEZRVUZUWVN4TFFVZDZSbVlzUlVGQlowSlhMRlZCUVZVMFJDeFpRVUZqTEZOQlFWTjZSQ3hGUVVGTldpeEZRVUZUWVN4SFFVTTVSQ3hQUVVGUFdpeExRVUZMUml4UFFVRlBiVU1zVFVGQlRYQkRMRVZCUVdkQ1NTeFZRVUZWYlVVc1dVRkJXV3BGTEV0QlFVdElMRXRCUVUxWExFVkJRVTFhTEVWQlFWTmhMRXRCUjNCR1ppeEZRUzlLTUVJc1MwRnRTMnhEVFN4TFFVRkxTQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRGTjBjbVZoYlZkeWFYUmxjaTVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LGU9e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9YTUxXcml0ZXJCYXNlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7ci5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLHQpfXJldHVybiBmdW5jdGlvbih0LG4pe2Zvcih2YXIgciBpbiBuKWUuY2FsbChuLHIpJiYodFtyXT1uW3JdKTtmdW5jdGlvbiBvKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW8ucHJvdG90eXBlPW4ucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBvLHQuX19zdXBlcl9fPW4ucHJvdG90eXBlfShyLHQpLHIucHJvdG90eXBlLmRvY3VtZW50PWZ1bmN0aW9uKHQsZSl7dmFyIG4scixvLGksbDtmb3IoZT10aGlzLmZpbHRlck9wdGlvbnMoZSksaT1cIlwiLHI9MCxvPShsPXQuY2hpbGRyZW4pLmxlbmd0aDtyPG87cisrKW49bFtyXSxpKz10aGlzLndyaXRlQ2hpbGROb2RlKG4sZSwwKTtyZXR1cm4gZS5wcmV0dHkmJmkuc2xpY2UoLWUubmV3bGluZS5sZW5ndGgpPT09ZS5uZXdsaW5lJiYoaT1pLnNsaWNlKDAsLWUubmV3bGluZS5sZW5ndGgpKSxpfSxyfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URk4wY21sdVoxZHlhWFJsY2k1cWN5SmRMQ0p1WVcxbGN5STZXeUpZVFV4WGNtbDBaWEpDWVhObElpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p6ZFhCbGNrTnNZWE56SWl3aVdFMU1VM1J5YVc1blYzSnBkR1Z5SWl3aWIzQjBhVzl1Y3lJc0lsOWZjM1Z3WlhKZlh5SXNJbU52Ym5OMGNuVmpkRzl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlMQ0pqYUdsc1pDSXNJbkJoY21WdWRDSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSmtiMk4xYldWdWRDSXNJbVJ2WXlJc0lta2lMQ0pzWlc0aUxDSnlJaXdpY21WbUlpd2labWxzZEdWeVQzQjBhVzl1Y3lJc0ltTm9hV3hrY21WdUlpd2liR1Z1WjNSb0lpd2lkM0pwZEdWRGFHbHNaRTV2WkdVaUxDSndjbVYwZEhraUxDSnpiR2xqWlNJc0ltNWxkMnhwYm1VaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQmNVSkJMRVZCUlc1Q1F5eEZRVUZWTEVkQlFVZERMR1ZCUldaR0xFVkJRV2RDUnl4UlFVRlJMRzFDUVVWNFFrTXNUMEZCVDBNc1VVRkJORUlzVTBGQlZVTXNSMEZITTBNc1UwRkJVME1zUlVGQlowSkRMRWRCUTNaQ1JDeEZRVUZuUWtVc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVW9zUjBGclFtNUVMRTlCTTBKVExGTkJRVk5MTEVWQlFVOURMRWRCUVZVc1NVRkJTeXhKUVVGSlF5eExRVUZQUkN4RlFVRmpZaXhGUVVGUlZTeExRVUZMUnl4RlFVRlJReXhMUVVGTlJpeEZRVUZOUlN4SFFVRlBSQ3hGUVVGUFF5eEpRVUZSTEZOQlFWTkRMRWxCUVZOS0xFdEJRVXRHTEZsQlFXTkhMRVZCUVZOSExFVkJRVXRETEZWQlFWbElMRVZCUVU5SExGVkJRVmRLTEVWQlFVMUpMRlZCUVZrc1NVRkJTVVFzUlVGQlVVZ3NSVUZCVFVvc1ZVRkJXVXNzUlVGQlQwY3NWVUZOYUZGRExFTkJRVTlZTEVWQmRVSk9VQ3hIUVdwQ1JFOHNSVUZCWjBKVkxGVkJRVlZGTEZOQlFWY3NVMEZCVTBNc1JVRkJTMW9zUjBGRGFrUXNTVUZCU1Vzc1JVRkJUMUVzUlVGQlIwTXNSVUZCUzBNc1JVRkJSME1zUlVGSmRFSXNTVUZJUVdoQ0xFVkJRVlZKTEV0QlFVdGhMR05CUVdOcVFpeEhRVU0zUW1Vc1JVRkJTU3hIUVVWRFJpeEZRVUZKTEVWQlFVZERMRWRCUkZwRkxFVkJRVTFLTEVWQlFVbE5MRlZCUTFsRExFOUJRVkZPTEVWQlFVbERMRVZCUVV0RUxFbEJRM0pEVWl4RlFVRlJWeXhGUVVGSlNDeEhRVU5hUlN4SFFVRkxXQ3hMUVVGTFowSXNaVUZCWldZc1JVRkJUMHdzUlVGQlV5eEhRVXN6UXl4UFFVaEpRU3hGUVVGUmNVSXNVVUZCVlU0c1JVRkJSVThzVDBGQlQzUkNMRVZCUVZGMVFpeFJRVUZSU2l4VlFVRlpia0lzUlVGQlVYVkNMRlZCUTJwRlVpeEZRVUZKUVN4RlFVRkZUeXhOUVVGTkxFZEJRVWwwUWl4RlFVRlJkVUlzVVVGQlVVb3NVMEZGTTBKS0xFZEJSMFpvUWl4RlFYUkNNRUlzUzBFd1FteERTU3hMUVVGTFF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEZOMGNtbHVaMWR5YVhSbGNpNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQ9ZnVuY3Rpb24odCxvKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShvLGFyZ3VtZW50cyl9fSxvPXt9Lmhhc093blByb3BlcnR5O21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihuKXt2YXIgcixpLGU7Zm9yKHIgaW4gdGhpcy5hc3NlcnRMZWdhbE5hbWU9dCh0aGlzLmFzc2VydExlZ2FsTmFtZSx0aGlzKSx0aGlzLmFzc2VydExlZ2FsQ2hhcj10KHRoaXMuYXNzZXJ0TGVnYWxDaGFyLHRoaXMpLG58fChuPXt9KSx0aGlzLm9wdGlvbnM9bix0aGlzLm9wdGlvbnMudmVyc2lvbnx8KHRoaXMub3B0aW9ucy52ZXJzaW9uPVwiMS4wXCIpLGk9bi5zdHJpbmdpZnl8fHt9KW8uY2FsbChpLHIpJiYoZT1pW3JdLHRoaXNbcl09ZSl9cmV0dXJuIG4ucHJvdG90eXBlLm5hbWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsTmFtZShcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIodGhpcy50ZXh0RXNjYXBlKFwiXCIrdHx8XCJcIikpfSxuLnByb3RvdHlwZS5jZGF0YT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90Oih0PSh0PVwiXCIrdHx8XCJcIikucmVwbGFjZShcIl1dPlwiLFwiXV1dXT48IVtDREFUQVs+XCIpLHRoaXMuYXNzZXJ0TGVnYWxDaGFyKHQpKX0sbi5wcm90b3R5cGUuY29tbWVudD1mdW5jdGlvbih0KXtpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKCh0PVwiXCIrdHx8XCJcIikubWF0Y2goLy0tLykpdGhyb3cgbmV3IEVycm9yKFwiQ29tbWVudCB0ZXh0IGNhbm5vdCBjb250YWluIGRvdWJsZS1oeXBlbjogXCIrdCk7cmV0dXJuIHRoaXMuYXNzZXJ0TGVnYWxDaGFyKHQpfSxuLnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDpcIlwiK3R8fFwiXCJ9LG4ucHJvdG90eXBlLmF0dFZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIodGhpcy5hdHRFc2NhcGUodD1cIlwiK3R8fFwiXCIpKX0sbi5wcm90b3R5cGUuaW5zVGFyZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuaW5zVmFsdWU9ZnVuY3Rpb24odCl7aWYodGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbilyZXR1cm4gdDtpZigodD1cIlwiK3R8fFwiXCIpLm1hdGNoKC9cXD8+LykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBwcm9jZXNzaW5nIGluc3RydWN0aW9uIHZhbHVlOiBcIit0KTtyZXR1cm4gdGhpcy5hc3NlcnRMZWdhbENoYXIodCl9LG4ucHJvdG90eXBlLnhtbFZlcnNpb249ZnVuY3Rpb24odCl7aWYodGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbilyZXR1cm4gdDtpZighKHQ9XCJcIit0fHxcIlwiKS5tYXRjaCgvMVxcLlswLTldKy8pKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgdmVyc2lvbiBudW1iZXI6IFwiK3QpO3JldHVybiB0fSxuLnByb3RvdHlwZS54bWxFbmNvZGluZz1mdW5jdGlvbih0KXtpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKCEodD1cIlwiK3R8fFwiXCIpLm1hdGNoKC9eW0EtWmEtel0oPzpbQS1aYS16MC05Ll8tXSkqJC8pKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZW5jb2Rpbmc6IFwiK3QpO3JldHVybiB0aGlzLmFzc2VydExlZ2FsQ2hhcih0KX0sbi5wcm90b3R5cGUueG1sU3RhbmRhbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnQ/XCJ5ZXNcIjpcIm5vXCJ9LG4ucHJvdG90eXBlLmR0ZFB1YklEPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuZHRkU3lzSUQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRFbGVtZW50VmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRBdHRUeXBlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuZHRkQXR0RGVmYXVsdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmR0ZEVudGl0eVZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuZHRkTkRhdGE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5jb252ZXJ0QXR0S2V5PVwiQFwiLG4ucHJvdG90eXBlLmNvbnZlcnRQSUtleT1cIj9cIixuLnByb3RvdHlwZS5jb252ZXJ0VGV4dEtleT1cIiN0ZXh0XCIsbi5wcm90b3R5cGUuY29udmVydENEYXRhS2V5PVwiI2NkYXRhXCIsbi5wcm90b3R5cGUuY29udmVydENvbW1lbnRLZXk9XCIjY29tbWVudFwiLG4ucHJvdG90eXBlLmNvbnZlcnRSYXdLZXk9XCIjcmF3XCIsbi5wcm90b3R5cGUuYXNzZXJ0TGVnYWxDaGFyPWZ1bmN0aW9uKHQpe3ZhciBvLG47aWYodGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbilyZXR1cm4gdDtpZihvPVwiXCIsXCIxLjBcIj09PXRoaXMub3B0aW9ucy52ZXJzaW9uKXtpZihvPS9bXFwwLVxceDA4XFx4MEJcXGZcXHgwRS1cXHgxRlxcdUZGRkVcXHVGRkZGXXxbXFx1RDgwMC1cXHVEQkZGXSg/IVtcXHVEQzAwLVxcdURGRkZdKXwoPzpbXlxcdUQ4MDAtXFx1REJGRl18XilbXFx1REMwMC1cXHVERkZGXS8sbj10Lm1hdGNoKG8pKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgY2hhcmFjdGVyIGluIHN0cmluZzogXCIrdCtcIiBhdCBpbmRleCBcIituLmluZGV4KX1lbHNlIGlmKFwiMS4xXCI9PT10aGlzLm9wdGlvbnMudmVyc2lvbiYmKG89L1tcXDBcXHVGRkZFXFx1RkZGRl18W1xcdUQ4MDAtXFx1REJGRl0oPyFbXFx1REMwMC1cXHVERkZGXSl8KD86W15cXHVEODAwLVxcdURCRkZdfF4pW1xcdURDMDAtXFx1REZGRl0vLG49dC5tYXRjaChvKSkpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gc3RyaW5nOiBcIit0K1wiIGF0IGluZGV4IFwiK24uaW5kZXgpO3JldHVybiB0fSxuLnByb3RvdHlwZS5hc3NlcnRMZWdhbE5hbWU9ZnVuY3Rpb24odCl7dmFyIG87aWYodGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbilyZXR1cm4gdDtpZih0aGlzLmFzc2VydExlZ2FsQ2hhcih0KSxvPS9eKFs6QS1aX2EtelxceEMwLVxceEQ2XFx4RDgtXFx4RjZcXHhGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQ1xcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdfFtcXHVEODAwLVxcdURCN0ZdW1xcdURDMDAtXFx1REZGRl0pKFtcXHgyRFxcLjAtOkEtWl9hLXpcXHhCN1xceEMwLVxceEQ2XFx4RDgtXFx4RjZcXHhGOC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQ1xcdTIwMERcXHUyMDNGXFx1MjA0MFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRF18W1xcdUQ4MDAtXFx1REI3Rl1bXFx1REMwMC1cXHVERkZGXSkqJC8sIXQubWF0Y2gobykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gbmFtZVwiKTtyZXR1cm4gdH0sbi5wcm90b3R5cGUudGV4dEVzY2FwZT1mdW5jdGlvbih0KXt2YXIgbztyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OihvPXRoaXMub3B0aW9ucy5ub0RvdWJsZUVuY29kaW5nPy8oPyEmXFxTKzspJi9nOi8mL2csdC5yZXBsYWNlKG8sXCImYW1wO1wiKS5yZXBsYWNlKC88L2csXCImbHQ7XCIpLnJlcGxhY2UoLz4vZyxcIiZndDtcIikucmVwbGFjZSgvXFxyL2csXCImI3hEO1wiKSl9LG4ucHJvdG90eXBlLmF0dEVzY2FwZT1mdW5jdGlvbih0KXt2YXIgbztyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OihvPXRoaXMub3B0aW9ucy5ub0RvdWJsZUVuY29kaW5nPy8oPyEmXFxTKzspJi9nOi8mL2csdC5yZXBsYWNlKG8sXCImYW1wO1wiKS5yZXBsYWNlKC88L2csXCImbHQ7XCIpLnJlcGxhY2UoL1wiL2csXCImcXVvdDtcIikucmVwbGFjZSgvXFx0L2csXCImI3g5O1wiKS5yZXBsYWNlKC9cXG4vZyxcIiYjeEE7XCIpLnJlcGxhY2UoL1xcci9nLFwiJiN4RDtcIikpfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URk4wY21sdVoybG1hV1Z5TG1weklsMHNJbTVoYldWeklqcGJJbUpwYm1RaUxDSm1iaUlzSW0xbElpd2lZWEJ3YkhraUxDSmhjbWQxYldWdWRITWlMQ0pvWVhOUWNtOXdJaXdpYUdGelQzZHVVSEp2Y0dWeWRIa2lMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVUzUnlhVzVuYVdacFpYSWlMQ0p2Y0hScGIyNXpJaXdpYTJWNUlpd2ljbVZtSWl3aWRtRnNkV1VpTENKMGFHbHpJaXdpWVhOelpYSjBUR1ZuWVd4T1lXMWxJaXdpWVhOelpYSjBUR1ZuWVd4RGFHRnlJaXdpZG1WeWMybHZiaUlzSW5OMGNtbHVaMmxtZVNJc0ltTmhiR3dpTENKd2NtOTBiM1I1Y0dVaUxDSnVZVzFsSWl3aWRtRnNJaXdpYm05V1lXeHBaR0YwYVc5dUlpd2lkR1Y0ZENJc0luUmxlSFJGYzJOaGNHVWlMQ0pqWkdGMFlTSXNJbkpsY0d4aFkyVWlMQ0pqYjIxdFpXNTBJaXdpYldGMFkyZ2lMQ0pGY25KdmNpSXNJbkpoZHlJc0ltRjBkRlpoYkhWbElpd2lZWFIwUlhOallYQmxJaXdpYVc1elZHRnlaMlYwSWl3aWFXNXpWbUZzZFdVaUxDSjRiV3hXWlhKemFXOXVJaXdpZUcxc1JXNWpiMlJwYm1jaUxDSjRiV3hUZEdGdVpHRnNiMjVsSWl3aVpIUmtVSFZpU1VRaUxDSmtkR1JUZVhOSlJDSXNJbVIwWkVWc1pXMWxiblJXWVd4MVpTSXNJbVIwWkVGMGRGUjVjR1VpTENKa2RHUkJkSFJFWldaaGRXeDBJaXdpWkhSa1JXNTBhWFI1Vm1Gc2RXVWlMQ0prZEdST1JHRjBZU0lzSW1OdmJuWmxjblJCZEhSTFpYa2lMQ0pqYjI1MlpYSjBVRWxMWlhraUxDSmpiMjUyWlhKMFZHVjRkRXRsZVNJc0ltTnZiblpsY25SRFJHRjBZVXRsZVNJc0ltTnZiblpsY25SRGIyMXRaVzUwUzJWNUlpd2lZMjl1ZG1WeWRGSmhkMHRsZVNJc0luTjBjaUlzSW5KbFoyVjRJaXdpY21Weklpd2lhVzVrWlhnaUxDSmhiWEJ5WldkbGVDSXNJbTV2Ukc5MVlteGxSVzVqYjJScGJtY2lYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkRSVUVzUlVGQlR5eFRRVUZUUXl4RlFVRkpReXhIUVVGTExFOUJRVThzVjBGQldTeFBRVUZQUkN4RlFVRkhSU3hOUVVGTlJDeEZRVUZKUlN4aFFVTm9SVU1zUlVGQlZTeEhRVUZIUXl4bFFVVm1ReXhQUVVGUFF5eFJRVUV5UWl4WFFVTm9ReXhUUVVGVFF5eEZRVUZsUXl4SFFVZDBRaXhKUVVGSlF5eEZRVUZMUXl4RlFVRkxReXhGUVU5a0xFbEJRVXRHTEV0QlZFeEhMRXRCUVV0RExHZENRVUZyUW1Zc1JVRkJTMk1zUzBGQlMwTXNaMEpCUVdsQ1JDeE5RVU5zUkVFc1MwRkJTMFVzWjBKQlFXdENhRUlzUlVGQlMyTXNTMEZCUzBVc1owSkJRV2xDUml4TlFVVnNSRW9zU1VGQldVRXNSVUZCVlN4SlFVTjBRa2tzUzBGQlMwb3NVVUZCVlVFc1JVRkRWa2tzUzBGQlMwb3NVVUZCVVU4c1ZVRkRhRUpJTEV0QlFVdEtMRkZCUVZGUExGRkJRVlVzVDBGRmVrSk1MRVZCUVUxR0xFVkJRVkZSTEZkQlFXRXNSMEZGY0VKaUxFVkJRVkZqTEV0QlFVdFFMRVZCUVV0RUxFdEJRM1pDUlN4RlFVRlJSQ3hGUVVGSlJDeEhRVU5hUnl4TFFVRkxTQ3hIUVVGUFJTeEhRWFZPYUVJc1QwRnVUa0ZLTEVWQlFXVlhMRlZCUVZWRExFdEJRVThzVTBGQlUwTXNSMEZEZGtNc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUlVGRlJsSXNTMEZCUzBNc1owSkJRV2RDTEVkQlFVdFBMRWRCUVU4c1MwRkhNVU5pTEVWQlFXVlhMRlZCUVZWSkxFdEJRVThzVTBGQlUwWXNSMEZEZGtNc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUlVGRlJsSXNTMEZCUzBVc1owSkJRV2RDUml4TFFVRkxWeXhYUVVGWExFZEJRVXRJTEVkQlFVOHNUVUZITVVSaUxFVkJRV1ZYTEZWQlFWVk5MRTFCUVZFc1UwRkJVMG9zUjBGRGVFTXNUMEZCU1ZJc1MwRkJTMG9zVVVGQlVXRXNZVUZEVWtRc1IwRkhWRUVzUjBGRVFVRXNSVUZCVFN4SFFVRkxRU3hIUVVGUExFbEJRMUpMTEZGQlFWRXNUVUZCVHl4dFFrRkRiRUppTEV0QlFVdEZMR2RDUVVGblFrMHNTMEZIT1VKaUxFVkJRV1ZYTEZWQlFWVlJMRkZCUVZVc1UwRkJVMDRzUjBGRE1VTXNSMEZCU1ZJc1MwRkJTMG9zVVVGQlVXRXNZVUZEWml4UFFVRlBSQ3hGUVVkVUxFbEJSRUZCTEVWQlFVMHNSMEZCUzBFc1IwRkJUeXhKUVVOV1R5eE5RVUZOTEUxQlExb3NUVUZCVFN4SlFVRkpReXhOUVVGTkxEWkRRVUVyUTFJc1IwRkZha1VzVDBGQlQxSXNTMEZCUzBVc1owSkJRV2RDVFN4SlFVYzVRbUlzUlVGQlpWY3NWVUZCVlZjc1NVRkJUU3hUUVVGVFZDeEhRVU4wUXl4UFFVRkpVaXhMUVVGTFNpeFJRVUZSWVN4aFFVTlNSQ3hGUVVWR0xFZEJRVXRCTEVkQlFVOHNTVUZIY2tKaUxFVkJRV1ZYTEZWQlFWVlpMRk5CUVZjc1UwRkJVMVlzUjBGRE0wTXNUMEZCU1ZJc1MwRkJTMG9zVVVGQlVXRXNZVUZEVWtRc1JVRkZSbElzUzBGQlMwVXNaMEpCUVdkQ1JpeExRVUZMYlVJc1ZVRkJWVmdzUlVGQlRTeEhRVUZMUVN4SFFVRlBMRTFCUnk5RVlpeEZRVUZsVnl4VlFVRlZZeXhWUVVGWkxGTkJRVk5hTEVkQlF6VkRMRTlCUVVsU0xFdEJRVXRLTEZGQlFWRmhMR0ZCUTFKRUxFVkJSVVpTTEV0QlFVdEZMR2RDUVVGblFpeEhRVUZMVFN4SFFVRlBMRXRCUnpGRFlpeEZRVUZsVnl4VlFVRlZaU3hUUVVGWExGTkJRVk5pTEVkQlF6TkRMRWRCUVVsU0xFdEJRVXRLTEZGQlFWRmhMR0ZCUTJZc1QwRkJUMFFzUlVGSFZDeEpRVVJCUVN4RlFVRk5MRWRCUVV0QkxFZEJRVThzU1VGRFZrOHNUVUZCVFN4UFFVTmFMRTFCUVUwc1NVRkJTVU1zVFVGQlRTeDVRMEZCTWtOU0xFZEJSVGRFTEU5QlFVOVNMRXRCUVV0RkxHZENRVUZuUWswc1NVRkhPVUppTEVWQlFXVlhMRlZCUVZWblFpeFhRVUZoTEZOQlFWTmtMRWRCUXpkRExFZEJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMllzVDBGQlQwUXNSVUZIVkN4TFFVUkJRU3hGUVVGTkxFZEJRVXRCTEVkQlFVOHNTVUZEVkU4c1RVRkJUU3hoUVVOaUxFMUJRVTBzU1VGQlNVTXNUVUZCVFN3eVFrRkJOa0pTTEVkQlJTOURMRTlCUVU5QkxFZEJSMVJpTEVWQlFXVlhMRlZCUVZWcFFpeFpRVUZqTEZOQlFWTm1MRWRCUXpsRExFZEJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMllzVDBGQlQwUXNSVUZIVkN4TFFVUkJRU3hGUVVGTkxFZEJRVXRCTEVkQlFVOHNTVUZEVkU4c1RVRkJUU3hwUTBGRFlpeE5RVUZOTEVsQlFVbERMRTFCUVUwc2NVSkJRWFZDVWl4SFFVVjZReXhQUVVGUFVpeExRVUZMUlN4blFrRkJaMEpOTEVsQlJ6bENZaXhGUVVGbFZ5eFZRVUZWYTBJc1kwRkJaMElzVTBGQlUyaENMRWRCUTJoRUxFOUJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMUpFTEVWQlJVeEJMRVZCUTBzc1RVRkZRU3hOUVVsWVlpeEZRVUZsVnl4VlFVRlZiVUlzVTBGQlZ5eFRRVUZUYWtJc1IwRkRNME1zVDBGQlNWSXNTMEZCUzBvc1VVRkJVV0VzWVVGRFVrUXNSVUZGUmxJc1MwRkJTMFVzWjBKQlFXZENMRWRCUVV0TkxFZEJRVThzUzBGSE1VTmlMRVZCUVdWWExGVkJRVlZ2UWl4VFFVRlhMRk5CUVZOc1FpeEhRVU16UXl4UFFVRkpVaXhMUVVGTFNpeFJRVUZSWVN4aFFVTlNSQ3hGUVVWR1VpeExRVUZMUlN4blFrRkJaMElzUjBGQlMwMHNSMEZCVHl4TFFVY3hRMklzUlVGQlpWY3NWVUZCVlhGQ0xHZENRVUZyUWl4VFFVRlRia0lzUjBGRGJFUXNUMEZCU1ZJc1MwRkJTMG9zVVVGQlVXRXNZVUZEVWtRc1JVRkZSbElzUzBGQlMwVXNaMEpCUVdkQ0xFZEJRVXROTEVkQlFVOHNTMEZITVVOaUxFVkJRV1ZYTEZWQlFWVnpRaXhYUVVGaExGTkJRVk53UWl4SFFVTTNReXhQUVVGSlVpeExRVUZMU2l4UlFVRlJZU3hoUVVOU1JDeEZRVVZHVWl4TFFVRkxSU3huUWtGQlowSXNSMEZCUzAwc1IwRkJUeXhMUVVjeFEySXNSVUZCWlZjc1ZVRkJWWFZDTEdOQlFXZENMRk5CUVZOeVFpeEhRVU5vUkN4UFFVRkpVaXhMUVVGTFNpeFJRVUZSWVN4aFFVTlNSQ3hGUVVWR1VpeExRVUZMUlN4blFrRkJaMElzUjBGQlMwMHNSMEZCVHl4TFFVY3hRMklzUlVGQlpWY3NWVUZCVlhkQ0xHVkJRV2xDTEZOQlFWTjBRaXhIUVVOcVJDeFBRVUZKVWl4TFFVRkxTaXhSUVVGUllTeGhRVU5TUkN4RlFVVkdVaXhMUVVGTFJTeG5Ra0ZCWjBJc1IwRkJTMDBzUjBGQlR5eExRVWN4UTJJc1JVRkJaVmNzVlVGQlZYbENMRk5CUVZjc1UwRkJVM1pDTEVkQlF6TkRMRTlCUVVsU0xFdEJRVXRLTEZGQlFWRmhMR0ZCUTFKRUxFVkJSVVpTTEV0QlFVdEZMR2RDUVVGblFpeEhRVUZMVFN4SFFVRlBMRXRCUnpGRFlpeEZRVUZsVnl4VlFVRlZNRUlzWTBGQlowSXNTVUZGZWtOeVF5eEZRVUZsVnl4VlFVRlZNa0lzWVVGQlpTeEpRVVY0UTNSRExFVkJRV1ZYTEZWQlFWVTBRaXhsUVVGcFFpeFJRVVV4UTNaRExFVkJRV1ZYTEZWQlFWVTJRaXhuUWtGQmEwSXNVMEZGTTBONFF5eEZRVUZsVnl4VlFVRlZPRUlzYTBKQlFXOUNMRmRCUlRkRGVrTXNSVUZCWlZjc1ZVRkJWU3RDTEdOQlFXZENMRTlCUlhwRE1VTXNSVUZCWlZjc1ZVRkJWVW9zWjBKQlFXdENMRk5CUVZOdlF5eEhRVU5zUkN4SlFVRkpReXhGUVVGUFF5eEZRVU5ZTEVkQlFVbDRReXhMUVVGTFNpeFJRVUZSWVN4aFFVTm1MRTlCUVU4MlFpeEZRVWRVTEVkQlJFRkRMRVZCUVZFc1IwRkRjVUlzVVVGQmVrSjJReXhMUVVGTFNpeFJRVUZSVHl4VFFVVm1MRWRCUkVGdlF5eEZRVUZSTEdkSVFVTktReXhGUVVGTlJpeEZRVUZKZGtJc1RVRkJUWGRDTEVkQlEyeENMRTFCUVUwc1NVRkJTWFpDTEUxQlFVMHNaME5CUVd0RGMwSXNSVUZCVFN4aFFVRmxSU3hGUVVGSlF5eFpRVVY0UlN4SFFVRTJRaXhSUVVGNlFucERMRXRCUVV0S0xGRkJRVkZQTEZWQlEzUkNiME1zUlVGQlVTdzBSa0ZEU2tNc1JVRkJUVVlzUlVGQlNYWkNMRTFCUVUxM1FpeEpRVU5zUWl4TlFVRk5MRWxCUVVsMlFpeE5RVUZOTEdkRFFVRnJRM05DTEVWQlFVMHNZVUZCWlVVc1JVRkJTVU1zVDBGSEwwVXNUMEZCVDBnc1IwRkhWRE5ETEVWQlFXVlhMRlZCUVZWTUxHZENRVUZyUWl4VFFVRlRjVU1zUjBGRGJFUXNTVUZCU1VNc1JVRkRTaXhIUVVGSmRrTXNTMEZCUzBvc1VVRkJVV0VzWVVGRFppeFBRVUZQTmtJc1JVRkpWQ3hIUVVaQmRFTXNTMEZCUzBVc1owSkJRV2RDYjBNc1IwRkRja0pETEVWQlFWRXNaMWhCUTBoRUxFVkJRVWwyUWl4TlFVRk5kMElzUjBGRFlpeE5RVUZOTEVsQlFVbDJRaXhOUVVGTkxEWkNRVVZzUWl4UFFVRlBjMElzUjBGSFZETkRMRVZCUVdWWExGVkJRVlZMTEZkQlFXRXNVMEZCVXpKQ0xFZEJRemRETEVsQlFVbEpMRVZCUTBvc1QwRkJTVEZETEV0QlFVdEtMRkZCUVZGaExHRkJRMUkyUWl4SFFVVlVTU3hGUVVGWE1VTXNTMEZCUzBvc1VVRkJVU3RETEdsQ1FVRnRRaXhqUVVGblFpeExRVU53UkV3c1JVRkJTWHBDTEZGQlFWRTJRaXhGUVVGVkxGTkJRVk0zUWl4UlFVRlJMRXRCUVUwc1VVRkJVVUVzVVVGQlVTeExRVUZOTEZGQlFWRkJMRkZCUVZFc1RVRkJUeXhYUVVkdVIyeENMRVZCUVdWWExGVkJRVlZoTEZWQlFWa3NVMEZCVTIxQ0xFZEJRelZETEVsQlFVbEpMRVZCUTBvc1QwRkJTVEZETEV0QlFVdEtMRkZCUVZGaExHRkJRMUkyUWl4SFFVVlVTU3hGUVVGWE1VTXNTMEZCUzBvc1VVRkJVU3RETEdsQ1FVRnRRaXhqUVVGblFpeExRVU53UkV3c1JVRkJTWHBDTEZGQlFWRTJRaXhGUVVGVkxGTkJRVk0zUWl4UlFVRlJMRXRCUVUwc1VVRkJVVUVzVVVGQlVTeExRVUZOTEZWQlFWVkJMRkZCUVZFc1RVRkJUeXhUUVVGVFFTeFJRVUZSTEUxQlFVOHNVMEZCVTBFc1VVRkJVU3hOUVVGUExGZEJSemxKYkVJc1JVRnlUM2xDTEV0QmVVOXFRMVVzUzBGQlMwd2lMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4VGRISnBibWRwWm1sbGNpNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxvPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksZT1yZXF1aXJlKFwiLi9YTUxDaGFyYWN0ZXJEYXRhXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGkoZSxvKXtpZihpLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksbnVsbD09byl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGVsZW1lbnQgdGV4dC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7dGhpcy5uYW1lPVwiI3RleHRcIix0aGlzLnR5cGU9dC5UZXh0LHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkudGV4dChvKX1yZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSlvLmNhbGwoZSxyKSYmKHRbcl09ZVtyXSk7ZnVuY3Rpb24gaSgpe3RoaXMuY29uc3RydWN0b3I9dH1pLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgaSx0Ll9fc3VwZXJfXz1lLnByb3RvdHlwZX0oaSxlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoaS5wcm90b3R5cGUsXCJpc0VsZW1lbnRDb250ZW50V2hpdGVzcGFjZVwiLHtnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLnByb3RvdHlwZSxcIndob2xlVGV4dFwiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgdCxlLG87Zm9yKG89XCJcIixlPXRoaXMucHJldmlvdXNTaWJsaW5nO2U7KW89ZS5kYXRhK28sZT1lLnByZXZpb3VzU2libGluZztmb3Iobys9dGhpcy5kYXRhLHQ9dGhpcy5uZXh0U2libGluZzt0OylvKz10LmRhdGEsdD10Lm5leHRTaWJsaW5nO3JldHVybiBvfX0pLGkucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LGkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLnRleHQodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxpLnByb3RvdHlwZS5zcGxpdFRleHQ9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0saS5wcm90b3R5cGUucmVwbGFjZVdob2xlVGV4dD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxpfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URlJsZUhRdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWVRVeERhR0Z5WVdOMFpYSkVZWFJoSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVZHVjRkQ0lzSW5CaGNtVnVkQ0lzSW5SbGVIUWlMQ0pmWDNOMWNHVnlYMThpTENKamIyNXpkSEoxWTNSdmNpSXNJbU5oYkd3aUxDSjBhR2x6SWl3aVJYSnliM0lpTENKa1pXSjFaMGx1Wm04aUxDSnVZVzFsSWl3aWRIbHdaU0lzSWxSbGVIUWlMQ0oyWVd4MVpTSXNJbk4wY21sdVoybG1lU0lzSW1Ob2FXeGtJaXdpYTJWNUlpd2lZM1J2Y2lJc0luQnliM1J2ZEhsd1pTSXNJbVY0ZEdWdVpDSXNJazlpYW1WamRDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2laMlYwSWl3aWJtVjRkQ0lzSW5CeVpYWWlMQ0p6ZEhJaUxDSndjbVYyYVc5MWMxTnBZbXhwYm1jaUxDSmtZWFJoSWl3aWJtVjRkRk5wWW14cGJtY2lMQ0pqYkc5dVpTSXNJbU55WldGMFpTSXNJblJ2VTNSeWFXNW5JaXdpYjNCMGFXOXVjeUlzSW5keWFYUmxjaUlzSW1acGJIUmxjazl3ZEdsdmJuTWlMQ0p6Y0d4cGRGUmxlSFFpTENKdlptWnpaWFFpTENKeVpYQnNZV05sVjJodmJHVlVaWGgwSWl3aVkyOXVkR1Z1ZENKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hKUVVGSlFTeEZRVUZWUXl4RlFVVmFReXhGUVVGVkxFZEJRVWRETEdWQlJXWklMRVZCUVZkSkxGRkJRVkVzWTBGRmJrSklMRVZCUVcxQ1J5eFJRVUZSTEhOQ1FVVXpRa01zVDBGQlQwTXNVVUZCYjBJc1UwRkJWVU1zUjBGSGJrTXNVMEZCVTBNc1JVRkJVVU1zUlVGQlVVTXNSMEZGZGtJc1IwRkVRVVlzUlVGQlVVY3NWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFV3c1IwRkROMElzVFVGQlVrTXNSVUZEUml4TlFVRk5MRWxCUVVsTExFMUJRVTBzZVVKQlFUSkNSQ3hMUVVGTFJTeGhRVVZzUkVZc1MwRkJTMGNzUzBGQlR5eFJRVU5hU0N4TFFVRkxTU3hMUVVGUGJFSXNSVUZCVTIxQ0xFdEJRM0pDVEN4TFFVRkxUU3hOUVVGUlRpeExRVUZMVHl4VlFVRlZXQ3hMUVVGTFFTeEhRVFJEYmtNc1QwRTNSRk1zVTBGQlUxa3NSVUZCVDJJc1IwRkJWU3hKUVVGTExFbEJRVWxqTEV0QlFVOWtMRVZCUVdOUUxFVkJRVkZYTEV0QlFVdEtMRVZCUVZGakxFdEJRVTFFTEVWQlFVMURMRWRCUVU5a0xFVkJRVTlqTEVsQlFWRXNVMEZCVTBNc1NVRkJVMVlzUzBGQlMwWXNXVUZCWTFVc1JVRkJVMFVzUlVGQlMwTXNWVUZCV1doQ0xFVkJRVTluUWl4VlFVRlhTQ3hGUVVGTlJ5eFZRVUZaTEVsQlFVbEVMRVZCUVZGR0xFVkJRVTFZTEZWQlFWbEdMRVZCUVU5blFpeFZRVkZvVVVNc1EwRkJUMnhDTEVWQmRVUk9VQ3hIUVRORFJEQkNMRTlCUVU5RExHVkJRV1Z3UWl4RlFVRlJhVUlzVlVGQlZ5dzJRa0ZCT0VJc1EwRkRja1ZKTEVsQlFVc3NWMEZEU0N4TlFVRk5MRWxCUVVsa0xFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeG5Ra0ZKYWtWWExFOUJRVTlETEdWQlFXVndRaXhGUVVGUmFVSXNWVUZCVnl4WlFVRmhMRU5CUTNCRVNTeEpRVUZMTEZkQlEwZ3NTVUZCU1VNc1JVRkJUVU1zUlVGQlRVTXNSVUZIYUVJc1NVRkdRVUVzUlVGQlRTeEhRVU5PUkN4RlFVRlBha0lzUzBGQlMyMUNMR2RDUVVOTVJpeEhRVU5NUXl4RlFVRk5SQ3hGUVVGTFJ5eExRVUZQUml4RlFVTnNRa1FzUlVGQlQwRXNSVUZCUzBVc1owSkJTV1FzU1VGR1FVUXNSMEZCVDJ4Q0xFdEJRVXR2UWl4TFFVTmFTaXhGUVVGUGFFSXNTMEZCUzNGQ0xGbEJRMHhNTEVkQlEweEZMRWRCUVZsR0xFVkJRVXRKTEV0QlEycENTaXhGUVVGUFFTeEZRVUZMU3l4WlFVVmtMRTlCUVU5SUxFdEJTVmg0UWl4RlFVRlJhVUlzVlVGQlZWY3NUVUZCVVN4WFFVTjRRaXhQUVVGUFZDeFBRVUZQVlN4UFFVRlBka0lzVDBGSGRrSk9MRVZCUVZGcFFpeFZRVUZWWVN4VFFVRlhMRk5CUVZORExFZEJRM0JETEU5QlFVOTZRaXhMUVVGTGVVSXNVVUZCVVVNc1QwRkJUemxDTEV0QlFVdEpMRXRCUVUxQkxFdEJRVXQ1UWl4UlFVRlJReXhQUVVGUFF5eGpRVUZqUml4TFFVY3hSUzlDTEVWQlFWRnBRaXhWUVVGVmFVSXNWVUZCV1N4VFFVRlRReXhIUVVOeVF5eE5RVUZOTEVsQlFVazFRaXhOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUlNMRVZCUVZGcFFpeFZRVUZWYlVJc2FVSkJRVzFDTEZOQlFWTkRMRWRCUXpWRExFMUJRVTBzU1VGQlNUbENMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3hqUVVkNFJGSXNSVUYwUkd0Q0xFdEJNRVF4UWtzc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeFVaWGgwTG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgZSx0LG4scz17fS5oYXNPd25Qcm9wZXJ0eTtuPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikuYXNzaWduLGU9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscmVxdWlyZShcIi4vWE1MRGVjbGFyYXRpb25cIikscmVxdWlyZShcIi4vWE1MRG9jVHlwZVwiKSxyZXF1aXJlKFwiLi9YTUxDRGF0YVwiKSxyZXF1aXJlKFwiLi9YTUxDb21tZW50XCIpLHJlcXVpcmUoXCIuL1hNTEVsZW1lbnRcIikscmVxdWlyZShcIi4vWE1MUmF3XCIpLHJlcXVpcmUoXCIuL1hNTFRleHRcIikscmVxdWlyZShcIi4vWE1MUHJvY2Vzc2luZ0luc3RydWN0aW9uXCIpLHJlcXVpcmUoXCIuL1hNTER1bW15XCIpLHJlcXVpcmUoXCIuL1hNTERUREF0dExpc3RcIikscmVxdWlyZShcIi4vWE1MRFRERWxlbWVudFwiKSxyZXF1aXJlKFwiLi9YTUxEVERFbnRpdHlcIikscmVxdWlyZShcIi4vWE1MRFRETm90YXRpb25cIiksdD1yZXF1aXJlKFwiLi9Xcml0ZXJTdGF0ZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIG8oZSl7dmFyIHQsbixvO2Zvcih0IGluIGV8fChlPXt9KSx0aGlzLm9wdGlvbnM9ZSxuPWUud3JpdGVyfHx7fSlzLmNhbGwobix0KSYmKG89blt0XSx0aGlzW1wiX1wiK3RdPXRoaXNbdF0sdGhpc1t0XT1vKX1yZXR1cm4gby5wcm90b3R5cGUuZmlsdGVyT3B0aW9ucz1mdW5jdGlvbihlKXt2YXIgcyxvLGEsaSxyLGwsdSxwO3JldHVybiBlfHwoZT17fSksZT1uKHt9LHRoaXMub3B0aW9ucyxlKSwocz17d3JpdGVyOnRoaXN9KS5wcmV0dHk9ZS5wcmV0dHl8fCExLHMuYWxsb3dFbXB0eT1lLmFsbG93RW1wdHl8fCExLHMuaW5kZW50PW51bGwhPShvPWUuaW5kZW50KT9vOlwiICBcIixzLm5ld2xpbmU9bnVsbCE9KGE9ZS5uZXdsaW5lKT9hOlwiXFxuXCIscy5vZmZzZXQ9bnVsbCE9KGk9ZS5vZmZzZXQpP2k6MCxzLmRvbnRQcmV0dHlUZXh0Tm9kZXM9bnVsbCE9KHI9bnVsbCE9KGw9ZS5kb250UHJldHR5VGV4dE5vZGVzKT9sOmUuZG9udHByZXR0eXRleHRub2Rlcyk/cjowLHMuc3BhY2VCZWZvcmVTbGFzaD1udWxsIT0odT1udWxsIT0ocD1lLnNwYWNlQmVmb3JlU2xhc2gpP3A6ZS5zcGFjZWJlZm9yZXNsYXNoKT91OlwiXCIsITA9PT1zLnNwYWNlQmVmb3JlU2xhc2gmJihzLnNwYWNlQmVmb3JlU2xhc2g9XCIgXCIpLHMuc3VwcHJlc3NQcmV0dHlDb3VudD0wLHMudXNlcj17fSxzLnN0YXRlPXQuTm9uZSxzfSxvLnByb3RvdHlwZS5pbmRlbnQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciBzO3JldHVybiF0LnByZXR0eXx8dC5zdXBwcmVzc1ByZXR0eUNvdW50P1wiXCI6dC5wcmV0dHkmJihzPShufHwwKSt0Lm9mZnNldCsxKT4wP25ldyBBcnJheShzKS5qb2luKHQuaW5kZW50KTpcIlwifSxvLnByb3RvdHlwZS5lbmRsaW5lPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4hdC5wcmV0dHl8fHQuc3VwcHJlc3NQcmV0dHlDb3VudD9cIlwiOnQubmV3bGluZX0sby5wcm90b3R5cGUuYXR0cmlidXRlPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcztyZXR1cm4gdGhpcy5vcGVuQXR0cmlidXRlKGUsdCxuKSxzPVwiIFwiK2UubmFtZSsnPVwiJytlLnZhbHVlKydcIicsdGhpcy5jbG9zZUF0dHJpYnV0ZShlLHQsbiksc30sby5wcm90b3R5cGUuY2RhdGE9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIjwhW0NEQVRBW1wiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9XCJdXT5cIit0aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5jb21tZW50PWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCJcXHgzYyEtLSBcIixuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPWUudmFsdWUsbi5zdGF0ZT10LkNsb3NlVGFnLG8rPVwiIC0tXFx4M2VcIit0aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5kZWNsYXJhdGlvbj1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPD94bWxcIixuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPScgdmVyc2lvbj1cIicrZS52ZXJzaW9uKydcIicsbnVsbCE9ZS5lbmNvZGluZyYmKG8rPScgZW5jb2Rpbmc9XCInK2UuZW5jb2RpbmcrJ1wiJyksbnVsbCE9ZS5zdGFuZGFsb25lJiYobys9JyBzdGFuZGFsb25lPVwiJytlLnN0YW5kYWxvbmUrJ1wiJyksbi5zdGF0ZT10LkNsb3NlVGFnLG8rPW4uc3BhY2VCZWZvcmVTbGFzaCtcIj8+XCIsbys9dGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUuZG9jVHlwZT1mdW5jdGlvbihlLG4scyl7dmFyIG8sYSxpLHIsbDtpZihzfHwocz0wKSx0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxyPXRoaXMuaW5kZW50KGUsbixzKSxyKz1cIjwhRE9DVFlQRSBcIitlLnJvb3QoKS5uYW1lLGUucHViSUQmJmUuc3lzSUQ/cis9JyBQVUJMSUMgXCInK2UucHViSUQrJ1wiIFwiJytlLnN5c0lEKydcIic6ZS5zeXNJRCYmKHIrPScgU1lTVEVNIFwiJytlLnN5c0lEKydcIicpLGUuY2hpbGRyZW4ubGVuZ3RoPjApe2ZvcihyKz1cIiBbXCIscis9dGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuSW5zaWRlVGFnLGE9MCxpPShsPWUuY2hpbGRyZW4pLmxlbmd0aDthPGk7YSsrKW89bFthXSxyKz10aGlzLndyaXRlQ2hpbGROb2RlKG8sbixzKzEpO24uc3RhdGU9dC5DbG9zZVRhZyxyKz1cIl1cIn1yZXR1cm4gbi5zdGF0ZT10LkNsb3NlVGFnLHIrPW4uc3BhY2VCZWZvcmVTbGFzaCtcIj5cIixyKz10aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxyfSxvLnByb3RvdHlwZS5lbGVtZW50PWZ1bmN0aW9uKG4sbyxhKXt2YXIgaSxyLGwsdSxwLGQsaCxjLHksVCxmLE4sZyxEO2Zvcih5IGluIGF8fChhPTApLFQ9ITEsZj1cIlwiLHRoaXMub3Blbk5vZGUobixvLGEpLG8uc3RhdGU9dC5PcGVuVGFnLGYrPXRoaXMuaW5kZW50KG4sbyxhKStcIjxcIituLm5hbWUsTj1uLmF0dHJpYnMpcy5jYWxsKE4seSkmJihpPU5beV0sZis9dGhpcy5hdHRyaWJ1dGUoaSxvLGEpKTtpZih1PTA9PT0obD1uLmNoaWxkcmVuLmxlbmd0aCk/bnVsbDpuLmNoaWxkcmVuWzBdLDA9PT1sfHxuLmNoaWxkcmVuLmV2ZXJ5KGZ1bmN0aW9uKHQpe3JldHVybih0LnR5cGU9PT1lLlRleHR8fHQudHlwZT09PWUuUmF3KSYmXCJcIj09PXQudmFsdWV9KSlvLmFsbG93RW1wdHk/KGYrPVwiPlwiLG8uc3RhdGU9dC5DbG9zZVRhZyxmKz1cIjwvXCIrbi5uYW1lK1wiPlwiK3RoaXMuZW5kbGluZShuLG8sYSkpOihvLnN0YXRlPXQuQ2xvc2VUYWcsZis9by5zcGFjZUJlZm9yZVNsYXNoK1wiLz5cIit0aGlzLmVuZGxpbmUobixvLGEpKTtlbHNlIGlmKCFvLnByZXR0eXx8MSE9PWx8fHUudHlwZSE9PWUuVGV4dCYmdS50eXBlIT09ZS5SYXd8fG51bGw9PXUudmFsdWUpe2lmKG8uZG9udFByZXR0eVRleHROb2Rlcylmb3IocD0wLGg9KGc9bi5jaGlsZHJlbikubGVuZ3RoO3A8aDtwKyspaWYoKChyPWdbcF0pLnR5cGU9PT1lLlRleHR8fHIudHlwZT09PWUuUmF3KSYmbnVsbCE9ci52YWx1ZSl7by5zdXBwcmVzc1ByZXR0eUNvdW50KyssVD0hMDticmVha31mb3IoZis9XCI+XCIrdGhpcy5lbmRsaW5lKG4sbyxhKSxvLnN0YXRlPXQuSW5zaWRlVGFnLGQ9MCxjPShEPW4uY2hpbGRyZW4pLmxlbmd0aDtkPGM7ZCsrKXI9RFtkXSxmKz10aGlzLndyaXRlQ2hpbGROb2RlKHIsbyxhKzEpO28uc3RhdGU9dC5DbG9zZVRhZyxmKz10aGlzLmluZGVudChuLG8sYSkrXCI8L1wiK24ubmFtZStcIj5cIixUJiZvLnN1cHByZXNzUHJldHR5Q291bnQtLSxmKz10aGlzLmVuZGxpbmUobixvLGEpLG8uc3RhdGU9dC5Ob25lfWVsc2UgZis9XCI+XCIsby5zdGF0ZT10Lkluc2lkZVRhZyxvLnN1cHByZXNzUHJldHR5Q291bnQrKyxUPSEwLGYrPXRoaXMud3JpdGVDaGlsZE5vZGUodSxvLGErMSksby5zdXBwcmVzc1ByZXR0eUNvdW50LS0sVD0hMSxvLnN0YXRlPXQuQ2xvc2VUYWcsZis9XCI8L1wiK24ubmFtZStcIj5cIit0aGlzLmVuZGxpbmUobixvLGEpO3JldHVybiB0aGlzLmNsb3NlTm9kZShuLG8sYSksZn0sby5wcm90b3R5cGUud3JpdGVDaGlsZE5vZGU9ZnVuY3Rpb24odCxuLHMpe3N3aXRjaCh0LnR5cGUpe2Nhc2UgZS5DRGF0YTpyZXR1cm4gdGhpcy5jZGF0YSh0LG4scyk7Y2FzZSBlLkNvbW1lbnQ6cmV0dXJuIHRoaXMuY29tbWVudCh0LG4scyk7Y2FzZSBlLkVsZW1lbnQ6cmV0dXJuIHRoaXMuZWxlbWVudCh0LG4scyk7Y2FzZSBlLlJhdzpyZXR1cm4gdGhpcy5yYXcodCxuLHMpO2Nhc2UgZS5UZXh0OnJldHVybiB0aGlzLnRleHQodCxuLHMpO2Nhc2UgZS5Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb246cmV0dXJuIHRoaXMucHJvY2Vzc2luZ0luc3RydWN0aW9uKHQsbixzKTtjYXNlIGUuRHVtbXk6cmV0dXJuXCJcIjtjYXNlIGUuRGVjbGFyYXRpb246cmV0dXJuIHRoaXMuZGVjbGFyYXRpb24odCxuLHMpO2Nhc2UgZS5Eb2NUeXBlOnJldHVybiB0aGlzLmRvY1R5cGUodCxuLHMpO2Nhc2UgZS5BdHRyaWJ1dGVEZWNsYXJhdGlvbjpyZXR1cm4gdGhpcy5kdGRBdHRMaXN0KHQsbixzKTtjYXNlIGUuRWxlbWVudERlY2xhcmF0aW9uOnJldHVybiB0aGlzLmR0ZEVsZW1lbnQodCxuLHMpO2Nhc2UgZS5FbnRpdHlEZWNsYXJhdGlvbjpyZXR1cm4gdGhpcy5kdGRFbnRpdHkodCxuLHMpO2Nhc2UgZS5Ob3RhdGlvbkRlY2xhcmF0aW9uOnJldHVybiB0aGlzLmR0ZE5vdGF0aW9uKHQsbixzKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcIlVua25vd24gWE1MIG5vZGUgdHlwZTogXCIrdC5jb25zdHJ1Y3Rvci5uYW1lKX19LG8ucHJvdG90eXBlLnByb2Nlc3NpbmdJbnN0cnVjdGlvbj1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPD9cIixuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPWUudGFyZ2V0LGUudmFsdWUmJihvKz1cIiBcIitlLnZhbHVlKSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPz5cIixvKz10aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKSxuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPWUudmFsdWUsbi5zdGF0ZT10LkNsb3NlVGFnLG8rPXRoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKSxuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPWUudmFsdWUsbi5zdGF0ZT10LkNsb3NlVGFnLG8rPXRoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmR0ZEF0dExpc3Q9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIjwhQVRUTElTVFwiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9XCIgXCIrZS5lbGVtZW50TmFtZStcIiBcIitlLmF0dHJpYnV0ZU5hbWUrXCIgXCIrZS5hdHRyaWJ1dGVUeXBlLFwiI0RFRkFVTFRcIiE9PWUuZGVmYXVsdFZhbHVlVHlwZSYmKG8rPVwiIFwiK2UuZGVmYXVsdFZhbHVlVHlwZSksZS5kZWZhdWx0VmFsdWUmJihvKz0nIFwiJytlLmRlZmF1bHRWYWx1ZSsnXCInKSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmR0ZEVsZW1lbnQ9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIjwhRUxFTUVOVFwiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9XCIgXCIrZS5uYW1lK1wiIFwiK2UudmFsdWUsbi5zdGF0ZT10LkNsb3NlVGFnLG8rPW4uc3BhY2VCZWZvcmVTbGFzaCtcIj5cIit0aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5kdGRFbnRpdHk9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIjwhRU5USVRZXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxlLnBlJiYobys9XCIgJVwiKSxvKz1cIiBcIitlLm5hbWUsZS52YWx1ZT9vKz0nIFwiJytlLnZhbHVlKydcIic6KGUucHViSUQmJmUuc3lzSUQ/bys9JyBQVUJMSUMgXCInK2UucHViSUQrJ1wiIFwiJytlLnN5c0lEKydcIic6ZS5zeXNJRCYmKG8rPScgU1lTVEVNIFwiJytlLnN5c0lEKydcIicpLGUubkRhdGEmJihvKz1cIiBOREFUQSBcIitlLm5EYXRhKSksbi5zdGF0ZT10LkNsb3NlVGFnLG8rPW4uc3BhY2VCZWZvcmVTbGFzaCtcIj5cIit0aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5kdGROb3RhdGlvbj1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFOT1RBVElPTlwiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9XCIgXCIrZS5uYW1lLGUucHViSUQmJmUuc3lzSUQ/bys9JyBQVUJMSUMgXCInK2UucHViSUQrJ1wiIFwiJytlLnN5c0lEKydcIic6ZS5wdWJJRD9vKz0nIFBVQkxJQyBcIicrZS5wdWJJRCsnXCInOmUuc3lzSUQmJihvKz0nIFNZU1RFTSBcIicrZS5zeXNJRCsnXCInKSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLm9wZW5Ob2RlPWZ1bmN0aW9uKGUsdCxuKXt9LG8ucHJvdG90eXBlLmNsb3NlTm9kZT1mdW5jdGlvbihlLHQsbil7fSxvLnByb3RvdHlwZS5vcGVuQXR0cmlidXRlPWZ1bmN0aW9uKGUsdCxuKXt9LG8ucHJvdG90eXBlLmNsb3NlQXR0cmlidXRlPWZ1bmN0aW9uKGUsdCxuKXt9LG99KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGZHlhWFJsY2tKaGMyVXVhbk1pWFN3aWJtRnRaWE1pT2xzaVRtOWtaVlI1Y0dVaUxDSlhjbWwwWlhKVGRHRjBaU0lzSW1GemMybG5iaUlzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1WM0pwZEdWeVFtRnpaU0lzSW05d2RHbHZibk1pTENKclpYa2lMQ0p5WldZaUxDSjJZV3gxWlNJc0luUm9hWE1pTENKM2NtbDBaWElpTENKallXeHNJaXdpY0hKdmRHOTBlWEJsSWl3aVptbHNkR1Z5VDNCMGFXOXVjeUlzSW1acGJIUmxjbVZrVDNCMGFXOXVjeUlzSW5KbFpqRWlMQ0p5WldZeUlpd2ljbVZtTXlJc0luSmxaalFpTENKeVpXWTFJaXdpY21WbU5pSXNJbkJ5WlhSMGVTSXNJbUZzYkc5M1JXMXdkSGtpTENKcGJtUmxiblFpTENKdVpYZHNhVzVsSWl3aWIyWm1jMlYwSWl3aVpHOXVkRkJ5WlhSMGVWUmxlSFJPYjJSbGN5SXNJbVJ2Ym5Sd2NtVjBkSGwwWlhoMGJtOWtaWE1pTENKemNHRmpaVUpsWm05eVpWTnNZWE5vSWl3aWMzQmhZMlZpWldadmNtVnpiR0Z6YUNJc0luTjFjSEJ5WlhOelVISmxkSFI1UTI5MWJuUWlMQ0oxYzJWeUlpd2ljM1JoZEdVaUxDSk9iMjVsSWl3aWJtOWtaU0lzSW14bGRtVnNJaXdpYVc1a1pXNTBUR1YyWld3aUxDSkJjbkpoZVNJc0ltcHZhVzRpTENKbGJtUnNhVzVsSWl3aVlYUjBjbWxpZFhSbElpd2lZWFIwSWl3aWNpSXNJbTl3Wlc1QmRIUnlhV0oxZEdVaUxDSnVZVzFsSWl3aVkyeHZjMlZCZEhSeWFXSjFkR1VpTENKalpHRjBZU0lzSW05d1pXNU9iMlJsSWl3aVQzQmxibFJoWnlJc0lrbHVjMmxrWlZSaFp5SXNJa05zYjNObFZHRm5JaXdpWTJ4dmMyVk9iMlJsSWl3aVkyOXRiV1Z1ZENJc0ltUmxZMnhoY21GMGFXOXVJaXdpZG1WeWMybHZiaUlzSW1WdVkyOWthVzVuSWl3aWMzUmhibVJoYkc5dVpTSXNJbVJ2WTFSNWNHVWlMQ0pqYUdsc1pDSXNJbWtpTENKc1pXNGlMQ0p5YjI5MElpd2ljSFZpU1VRaUxDSnplWE5KUkNJc0ltTm9hV3hrY21WdUlpd2liR1Z1WjNSb0lpd2lkM0pwZEdWRGFHbHNaRTV2WkdVaUxDSmxiR1Z0Wlc1MElpd2lZMmhwYkdST2IyUmxRMjkxYm5RaUxDSm1hWEp6ZEVOb2FXeGtUbTlrWlNJc0ltb2lMQ0pzWlc0eElpd2ljSEpsZEhSNVUzVndjSEpsYzNObFpDSXNJbUYwZEhKcFluTWlMQ0psZG1WeWVTSXNJbVVpTENKMGVYQmxJaXdpVkdWNGRDSXNJbEpoZHlJc0lrTkVZWFJoSWl3aVEyOXRiV1Z1ZENJc0lrVnNaVzFsYm5RaUxDSnlZWGNpTENKMFpYaDBJaXdpVUhKdlkyVnpjMmx1WjBsdWMzUnlkV04wYVc5dUlpd2ljSEp2WTJWemMybHVaMGx1YzNSeWRXTjBhVzl1SWl3aVJIVnRiWGtpTENKRVpXTnNZWEpoZEdsdmJpSXNJa1J2WTFSNWNHVWlMQ0pCZEhSeWFXSjFkR1ZFWldOc1lYSmhkR2x2YmlJc0ltUjBaRUYwZEV4cGMzUWlMQ0pGYkdWdFpXNTBSR1ZqYkdGeVlYUnBiMjRpTENKa2RHUkZiR1Z0Wlc1MElpd2lSVzUwYVhSNVJHVmpiR0Z5WVhScGIyNGlMQ0prZEdSRmJuUnBkSGtpTENKT2IzUmhkR2x2YmtSbFkyeGhjbUYwYVc5dUlpd2laSFJrVG05MFlYUnBiMjRpTENKRmNuSnZjaUlzSW1OdmJuTjBjblZqZEc5eUlpd2lkR0Z5WjJWMElpd2laV3hsYldWdWRFNWhiV1VpTENKaGRIUnlhV0oxZEdWT1lXMWxJaXdpWVhSMGNtbGlkWFJsVkhsd1pTSXNJbVJsWm1GMWJIUldZV3gxWlZSNWNHVWlMQ0prWldaaGRXeDBWbUZzZFdVaUxDSndaU0lzSW01RVlYUmhJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlFWVkRMRVZCUVRKTlF5eEZRVU4yVGtNc1JVRkJWU3hIUVVGSFF5eGxRVVZtUml4RlFVRlRSeXhSUVVGUkxHRkJRV0ZJTEU5QlJUbENSaXhGUVVGWFN5eFJRVUZSTEdOQlJVWkJMRkZCUVZFc2IwSkJSVnBCTEZGQlFWRXNaMEpCUlZaQkxGRkJRVkVzWTBGRlRrRXNVVUZCVVN4blFrRkZVa0VzVVVGQlVTeG5Ra0ZGV2tFc1VVRkJVU3haUVVWUVFTeFJRVUZSTEdGQlJWTkJMRkZCUVZFc09FSkJSWGhDUVN4UlFVRlJMR05CUlVoQkxGRkJRVkVzYlVKQlJWSkJMRkZCUVZFc2JVSkJSVlJCTEZGQlFWRXNhMEpCUlU1QkxGRkJRVkVzYjBKQlJYcENTaXhGUVVGalNTeFJRVUZSTEdsQ1FVVjBRa01zVDBGQlQwTXNVVUZCTUVJc1YwRkRMMElzVTBGQlUwTXNSVUZCWTBNc1IwRkRja0lzU1VGQlNVTXNSVUZCUzBNc1JVRkJTME1zUlVGSlpDeEpRVUZMUml4TFFVaE1SQ3hKUVVGWlFTeEZRVUZWTEVsQlEzUkNTU3hMUVVGTFNpeFJRVUZWUVN4RlFVTm1SU3hGUVVGTlJpeEZRVUZSU3l4UlFVRlZMRWRCUldwQ1dDeEZRVUZSV1N4TFFVRkxTaXhGUVVGTFJDeExRVU4yUWtVc1JVRkJVVVFzUlVGQlNVUXNSMEZEV2tjc1MwRkJTeXhKUVVGTlNDeEhRVUZQUnl4TFFVRkxTQ3hIUVVOMlFrY3NTMEZCUzBnc1IwRkJUMFVzUjBGM1dHaENMRTlCY0ZoQlNpeEZRVUZqVVN4VlFVRlZReXhqUVVGblFpeFRRVUZUVWl4SFFVTXZReXhKUVVGSlV5eEZRVUZwUWxBc1JVRkJTMUVzUlVGQlRVTXNSVUZCVFVNc1JVRkJUVU1zUlVGQlRVTXNSVUZCVFVNc1JVRnRRbmhFTEU5QmJFSkJaaXhKUVVGWlFTeEZRVUZWTEVsQlEzUkNRU3hGUVVGVlVDeEZRVUZQTEVkQlFVbFhMRXRCUVV0S0xGRkJRVk5CTEVsQlEyNURVeXhGUVVGclFpeERRVU5vUWtvc1QwRkJVVVFzVDBGRlRWa3NUMEZCVTJoQ0xFVkJRVkZuUWl4VFFVRlZMRVZCUXpORFVDeEZRVUZuUWxFc1YwRkJZV3BDTEVWQlFWRnBRaXhoUVVGakxFVkJRMjVFVWl4RlFVRm5RbE1zVDBGQmJVTXNUMEZCZWtKb1FpeEZRVUZOUml4RlFVRlJhMElzVVVGQmEwSm9RaXhGUVVGTkxFdEJRMmhGVHl4RlFVRm5RbFVzVVVGQmMwTXNUMEZCTTBKVUxFVkJRVTlXTEVWQlFWRnRRaXhUUVVGdFFsUXNSVUZCVHl4TFFVTndSVVFzUlVGQlowSlhMRTlCUVc5RExFOUJRVEZDVkN4RlFVRlBXQ3hGUVVGUmIwSXNVVUZCYTBKVUxFVkJRVThzUlVGRGJFVkdMRVZCUVdkQ1dTeHZRa0ZCYjBnc1QwRkJOMFpVTEVWQlFTdERMRTlCUVhaRFF5eEZRVUZQWWl4RlFVRlJjVUlzY1VKQlFTdENVaXhGUVVGUFlpeEZRVUZSYzBJc2NVSkJRU3RDVml4RlFVRlBMRVZCUTJ4S1NDeEZRVUZuUW1Nc2FVSkJRVEpITEU5QlFYWkdWQ3hGUVVFMFF5eFBRVUZ3UTBNc1JVRkJUMllzUlVGQlVYVkNMR3RDUVVFMFFsSXNSVUZCVDJZc1JVRkJVWGRDTEd0Q1FVRTBRbFlzUlVGQlR5eEpRVU5vUnl4SlFVRnlRMHdzUlVGQlowSmpMRzFDUVVOc1FtUXNSVUZCWjBKakxHbENRVUZ0UWl4TFFVVnlRMlFzUlVGQlowSm5RaXh2UWtGQmMwSXNSVUZEZEVOb1FpeEZRVUZuUW1sQ0xFdEJRVThzUjBGRGRrSnFRaXhGUVVGblFtdENMRTFCUVZGdVF5eEZRVUZaYjBNc1MwRkROMEp1UWl4SFFVZFVWaXhGUVVGalVTeFZRVUZWVnl4UFFVRlRMRk5CUVZOWExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGRrUXNTVUZCU1VNc1JVRkRTaXhQUVVGTEwwSXNSVUZCVVdkQ0xGRkJRVlZvUWl4RlFVRlJlVUlzYjBKQlEzUkNMRWRCUTBWNlFpeEZRVUZSWjBJc1UwRkRha0psTEVkQlFXVkVMRWRCUVZNc1IwRkJTemxDTEVWQlFWRnZRaXhQUVVGVExFZEJRelZDTEVWQlExUXNTVUZCU1Zrc1RVRkJUVVFzUjBGQllVVXNTMEZCUzJwRExFVkJRVkZyUWl4UlFVZDRReXhKUVVkVWJrSXNSVUZCWTFFc1ZVRkJWVEpDTEZGQlFWVXNVMEZCVTB3c1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVONFJDeFBRVUZMT1VJc1JVRkJVV2RDTEZGQlFWVm9RaXhGUVVGUmVVSXNiMEpCUTNSQ0xFZEJSVUY2UWl4RlFVRlJiVUlzVTBGSmJrSndRaXhGUVVGalVTeFZRVUZWTkVJc1ZVRkJXU3hUUVVGVFF5eEZRVUZMY0VNc1JVRkJVemhDTEVkQlEzcEVMRWxCUVVsUExFVkJTVW9zVDBGSVFXcERMRXRCUVV0clF5eGpRVUZqUml4RlFVRkxjRU1zUlVGQlV6aENMRWRCUTJwRFR5eEZRVUZKTEVsQlFVMUVMRVZCUVVsSExFdEJRVThzUzBGQlQwZ3NSVUZCU1dwRExFMUJRVkVzU1VGRGVFTkRMRXRCUVV0dlF5eGxRVUZsU2l4RlFVRkxjRU1zUlVGQlV6aENMRWRCUXpOQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZXdERMRTFCUVZFc1UwRkJVMW9zUlVGQlRUZENMRVZCUVZNNFFpeEhRVU4wUkN4SlFVRkpUeXhGUVZWS0xFOUJWRUZxUXl4TFFVRkxjME1zVTBGQlUySXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTTNRamxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1cxRUxGRkJRelZDVGl4RlFVRkpha01zUzBGQlMyTXNUMEZCVDFjc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVGVExGbEJRM2hET1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwUXNWVUZETlVKUUxFZEJRVXRTTEVWQlFVc3hRaXhOUVVOV1NDeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCU3l4TlFVRlJha01zUzBGQlN6aENMRkZCUVZGTUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGVrTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UXl4TFFVTTFRbmhDTEV0QlFVc3dReXhWUVVGVmFrSXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjJRazhzUjBGSFZIUkRMRVZCUVdOUkxGVkJRVlYzUXl4UlFVRlZMRk5CUVZOc1FpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzaEVMRWxCUVVsUExFVkJWVW9zVDBGVVFXcERMRXRCUVV0elF5eFRRVUZUWWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUXpkQ09VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiVVFzVVVGRE5VSk9MRVZCUVVscVF5eExRVUZMWXl4UFFVRlBWeXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRVk1zVjBGRGVFTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UkN4VlFVTTFRbEFzUjBGQlMxSXNSVUZCU3pGQ0xFMUJRMVpJTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1hGRUxGTkJRelZDVWl4SFFVRkxMRlZCUVZOcVF5eExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU14UXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOURMRXRCUXpWQ2VFSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZYbERMRmxCUVdNc1UwRkJVMjVDTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZETlVRc1NVRkJTVThzUlVGcFFrb3NUMEZvUWtGcVF5eExRVUZMYzBNc1UwRkJVMklzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU0zUWpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXMUVMRkZCUXpWQ1RpeEZRVUZKYWtNc1MwRkJTMk1zVDBGQlQxY3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVRlRMRkZCUTNoRE9VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiMFFzVlVGRE5VSlFMRWRCUVVzc1lVRkJaVklzUlVGQlMyOUNMRkZCUVZVc1NVRkRaQ3hOUVVGcVFuQkNMRVZCUVV0eFFpeFhRVU5RWWl4SFFVRkxMR05CUVdkQ1VpeEZRVUZMY1VJc1UwRkJWeXhMUVVWb1FpeE5RVUZ1UW5KQ0xFVkJRVXR6UWl4aFFVTlFaQ3hIUVVGTExHZENRVUZyUWxJc1JVRkJTM05DTEZkQlFXRXNTMEZGTTBOdVJDeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCUzNKRExFVkJRVkYxUWl4cFFrRkJiVUlzUzBGRGFFTmpMRWRCUVV0cVF5eExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU5xUXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOURMRXRCUXpWQ2VFSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZUWkRMRkZCUVZVc1UwRkJVM1pDTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZUVRc1NVRkJTWFZDTEVWQlFVOURMRVZCUVVkRExFVkJRVXRzUWl4RlFVRkhia01zUlVGWGRFSXNSMEZXUVRSQ0xFbEJRVlZCTEVWQlFWRXNSMEZEYkVJeFFpeExRVUZMYzBNc1UwRkJVMklzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU0zUWpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXMUVMRkZCUXpWQ1RpeEZRVUZKYWtNc1MwRkJTMk1zVDBGQlQxY3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTXZRazhzUjBGQlN5eGhRVUZsVWl4RlFVRkxNa0lzVDBGQlQycENMRXRCUXpWQ1ZpeEZRVUZMTkVJc1QwRkJVelZDTEVWQlFVczJRaXhOUVVOeVFuSkNMRWRCUVVzc1dVRkJZMUlzUlVGQlN6UkNMRTFCUVZFc1RVRkJVVFZDTEVWQlFVczJRaXhOUVVGUkxFbEJRelZETjBJc1JVRkJTelpDTEZGQlEyUnlRaXhIUVVGTExGbEJRV05TTEVWQlFVczJRaXhOUVVGUkxFdEJSVGxDTjBJc1JVRkJTemhDTEZOQlFWTkRMRTlCUVZNc1JVRkJSeXhEUVVzMVFpeEpRVXBCZGtJc1IwRkJTeXhMUVVOTVFTeEhRVUZMYWtNc1MwRkJTemhDTEZGQlFWRk1MRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRha001UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlJDeFZRVVYyUWxVc1JVRkJTU3hGUVVGSFF5eEhRVVJhY2tRc1JVRkJUVEpDTEVWQlFVczRRaXhWUVVOWFF5eFBRVUZSVGl4RlFVRkpReXhGUVVGTFJDeEpRVU55UTBRc1JVRkJVVzVFTEVWQlFVbHZSQ3hIUVVOYWFrSXNSMEZCUzJwRExFdEJRVXQ1UkN4bFFVRmxVaXhGUVVGUGNrUXNSVUZCVXpoQ0xFVkJRVkVzUjBGRmJrUTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlN5eEpRVTlRTEU5QlRFRnlReXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlMzSkRMRVZCUVZGMVFpeHBRa0ZCYlVJc1NVRkRhRU5qTEVkQlFVdHFReXhMUVVGTE9FSXNVVUZCVVV3c1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOcVF6bENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlETEV0QlF6VkNlRUlzUzBGQlN6QkRMRlZCUVZWcVFpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWWFZFTEZGQlFWVXNVMEZCVTJwRExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGVFUXNTVUZCU1Uwc1JVRkJTMmxDTEVWQlFVOVZMRVZCUVdkQ1F5eEZRVUZuUWxZc1JVRkJSMWNzUlVGQlIxWXNSVUZCUzFjc1JVRkJUVE5DTEVWQlFVMDBRaXhGUVVGclFqbENMRVZCUVVkdVF5eEZRVUZMVVN4RlFVRk5ReXhGUVZGMlJ5eEpRVUZMTkVJc1MwRlFURlFzU1VGQlZVRXNSVUZCVVN4SFFVTnNRbkZETEVkQlFXMUNMRVZCUTI1Q09VSXNSVUZCU1N4SFFVTktha01zUzBGQlMzTkRMRk5CUVZOaUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRE4wSTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx0UkN4UlFVTTFRazRzUjBGQlMycERMRXRCUVV0akxFOUJRVTlYTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZCVXl4SlFVRk5SQ3hGUVVGTFZTeExRVU53UkhKRExFVkJRVTB5UWl4RlFVRkxkVU1zVVVGRlNqRkZMRVZCUVZGWkxFdEJRVXRLTEVWQlFVdHhReXhMUVVOMlFrZ3NSVUZCVFd4RExFVkJRVWx4UXl4SFFVTldSaXhIUVVGTGFrTXNTMEZCU3l0Q0xGVkJRVlZETEVWQlFVdHdReXhGUVVGVE9FSXNTVUZKY0VNc1IwRkVRV3RETEVWQlFXOURMRXRCUkhCRFJDeEZRVUZwUW14RExFVkJRVXM0UWl4VFFVRlRReXhSUVVOVExFdEJRVTh2UWl4RlFVRkxPRUlzVTBGQlV5eEhRVU4wUXl4SlFVRnVRa2tzUjBGQmQwSnNReXhGUVVGTE9FSXNVMEZCVTFVc1RVRkJUU3hUUVVGVFF5eEhRVU4yUkN4UFFVRlJRU3hGUVVGRlF5eFBRVUZUYUVZc1JVRkJVMmxHTEUxQlFWRkdMRVZCUVVWRExFOUJRVk5vUml4RlFVRlRhMFlzVFVGQmIwSXNTMEZCV2tnc1JVRkJSVzVGTEZGQlJUbEVTQ3hGUVVGUmFVSXNXVUZEVm05Q0xFZEJRVXNzU1VGRFRISkRMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXWEZFTEZOQlF6VkNVaXhIUVVGTExFdEJRVTlTTEVWQlFVdFZMRXRCUVU4c1NVRkJUVzVETEV0QlFVczRRaXhSUVVGUlRDeEZRVUZOTjBJc1JVRkJVemhDTEV0QlJURkVPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaY1VRc1UwRkROVUpTTEVkQlFVdHlReXhGUVVGUmRVSXNhVUpCUVcxQ0xFdEJRVTl1UWl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4VFFVVm9SU3hKUVVGSk9VSXNSVUZCVVdkQ0xGRkJRVFpDTEVsQlFXNUNLME1zUjBGQmVVSkRMRVZCUVdWUExFOUJRVk5vUml4RlFVRlRhVVlzVFVGQlVWSXNSVUZCWlU4c1QwRkJVMmhHTEVWQlFWTnJSaXhMUVVGcFF5eE5RVUY0UWxRc1JVRkJaVGRFTEUxQlZXcEtMRU5CUTB3c1IwRkJTVWdzUlVGQlVYRkNMRzlDUVVWV0xFbEJRVXRwUXl4RlFVRkpMRVZCUVVkRExFZEJSRm8zUXl4RlFVRlBiVUlzUlVGQlN6aENMRlZCUTFkRExFOUJRVkZPTEVWQlFVbERMRVZCUVV0RUxFbEJSWFJETEV0QlJFRkVMRVZCUVZFelF5eEZRVUZMTkVNc1NVRkRSbWxDTEU5QlFWTm9SaXhGUVVGVGFVWXNUVUZCVVc1Q0xFVkJRVTFyUWl4UFFVRlRhRVlzUlVGQlUydEdMRTFCUVhkQ0xFMUJRV1p3UWl4RlFVRk5iRVFzVFVGQlowSXNRMEZETVVaSUxFVkJRVkY1UWl4elFrRkRVakJETEVkQlFXMUNMRVZCUTI1Q0xFMUJUMDRzU1VGSVFUbENMRWRCUVVzc1NVRkJUV3BETEV0QlFVczRRaXhSUVVGUlRDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkRPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBRc1ZVRkZka0p4UWl4RlFVRkpMRVZCUVVkRExFZEJSRnAyUkN4RlFVRlBhMElzUlVGQlN6aENMRlZCUTFsRExFOUJRVkZMTEVWQlFVbERMRVZCUVUxRUxFbEJRM2hEV2l4RlFVRlJNVU1zUlVGQlMzTkVMRWRCUTJJMVFpeEhRVUZMYWtNc1MwRkJTM2xFTEdWQlFXVlNMRVZCUVU5eVJDeEZRVUZUT0VJc1JVRkJVU3hIUVVWdVJEbENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXWEZFTEZOQlF6VkNVaXhIUVVGTGFrTXNTMEZCUzJNc1QwRkJUMWNzUlVGQlRUZENMRVZCUVZNNFFpeEhRVUZUTEV0QlFVOUVMRVZCUVV0VkxFdEJRVThzU1VGRGVFUTBRaXhIUVVOR2JrVXNSVUZCVVhsQ0xITkNRVVZXV1N4SFFVRkxha01zUzBGQlN6aENMRkZCUVZGTUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGFrTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UXl4VlFXeEROVUpUTEVkQlFVc3NTVUZEVEhKRExFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOUVMRlZCUXpWQ05VTXNSVUZCVVhsQ0xITkNRVU5TTUVNc1IwRkJiVUlzUlVGRGJrSTVRaXhIUVVGTGFrTXNTMEZCUzNsRUxHVkJRV1ZITEVWQlFXZENhRVVzUlVGQlV6aENMRVZCUVZFc1IwRkRNVVE1UWl4RlFVRlJlVUlzYzBKQlExSXdReXhIUVVGdFFpeEZRVU51UW01RkxFVkJRVkV5UWl4TlFVRlJia01zUlVGQldYRkVMRk5CUXpWQ1VpeEhRVUZMTEV0QlFVOVNMRVZCUVV0VkxFdEJRVThzU1VGQlRXNURMRXRCUVVzNFFpeFJRVUZSVEN4RlFVRk5OMElzUlVGQlV6aENMRWRCTmtJMVJDeFBRVVJCTVVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVlhORUxHVkJRV2xDTEZOQlFWTm9ReXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJReTlFTEU5QlFWRkVMRVZCUVVzd1F5eE5RVU5ZTEV0QlFVdG9SaXhGUVVGVGJVWXNUVUZEV2l4UFFVRlBkRVVzUzBGQlMzRkRMRTFCUVUxYUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGJrTXNTMEZCUzNaRExFVkJRVk52Uml4UlFVTmFMRTlCUVU5MlJTeExRVUZMTWtNc1VVRkJVV3hDTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEY2tNc1MwRkJTM1pETEVWQlFWTnhSaXhSUVVOYUxFOUJRVTk0UlN4TFFVRkxNRVFzVVVGQlVXcERMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRja01zUzBGQlMzWkRMRVZCUVZOclJpeEpRVU5hTEU5QlFVOXlSU3hMUVVGTGVVVXNTVUZCU1doRUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGFrTXNTMEZCUzNaRExFVkJRVk5wUml4TFFVTmFMRTlCUVU5d1JTeExRVUZMTUVVc1MwRkJTMnBFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYkVNc1MwRkJTM1pETEVWQlFWTjNSaXh6UWtGRFdpeFBRVUZQTTBVc1MwRkJTelJGTEhOQ1FVRnpRbTVFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYmtRc1MwRkJTM1pETEVWQlFWTXdSaXhOUVVOYUxFMUJRVThzUjBGRFZDeExRVUZMTVVZc1JVRkJVekpHTEZsQlExb3NUMEZCVHpsRkxFdEJRVXMwUXl4WlFVRlpia0lzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU42UXl4TFFVRkxka01zUlVGQlV6UkdMRkZCUTFvc1QwRkJUeTlGTEV0QlFVdG5SQ3hSUVVGUmRrSXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTnlReXhMUVVGTGRrTXNSVUZCVXpaR0xIRkNRVU5hTEU5QlFVOW9SaXhMUVVGTGFVWXNWMEZCVjNoRUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGVFTXNTMEZCUzNaRExFVkJRVk1yUml4dFFrRkRXaXhQUVVGUGJFWXNTMEZCUzIxR0xGZEJRVmN4UkN4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNoRExFdEJRVXQyUXl4RlFVRlRhVWNzYTBKQlExb3NUMEZCVDNCR0xFdEJRVXR4Uml4VlFVRlZOVVFzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU4yUXl4TFFVRkxka01zUlVGQlUyMUhMRzlDUVVOYUxFOUJRVTkwUml4TFFVRkxkVVlzV1VGQldUbEVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRla01zVVVGRFJTeE5RVUZOTEVsQlFVazRSQ3hOUVVGTkxEQkNRVUUwUWk5RUxFVkJRVXRuUlN4WlFVRlpkRVFzVVVGSmJrVjRReXhGUVVGalVTeFZRVUZWZVVVc2MwSkJRWGRDTEZOQlFWTnVSQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1JGTEVsQlFVbFBMRVZCWTBvc1QwRmlRV3BETEV0QlFVdHpReXhUUVVGVFlpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlF6ZENPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYlVRc1VVRkROVUpPTEVWQlFVbHFReXhMUVVGTFl5eFBRVUZQVnl4RlFVRk5OMElzUlVGQlV6aENMRWRCUVZNc1MwRkRlRU01UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlJDeFZRVU0xUWxBc1IwRkJTMUlzUlVGQlMybEZMRTlCUTA1cVJTeEZRVUZMTVVJc1VVRkRVR3RETEVkQlFVc3NTVUZCVFZJc1JVRkJTekZDTEU5QlJXeENTQ3hGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlMzSkRMRVZCUVZGMVFpeHBRa0ZCYlVJc1MwRkRhRU5qTEVkQlFVdHFReXhMUVVGTE9FSXNVVUZCVVV3c1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOcVF6bENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlETEV0QlF6VkNlRUlzUzBGQlN6QkRMRlZCUVZWcVFpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWWE5GTEVsQlFVMHNVMEZCVTJoRUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGNFUXNTVUZCU1U4c1JVRlZTaXhQUVZSQmFrTXNTMEZCUzNORExGTkJRVk5pTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZETjBJNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHRSQ3hSUVVNMVFrNHNSVUZCU1dwRExFdEJRVXRqTEU5QlFVOVhMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRMMEk1UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlJDeFZRVU0xUWxBc1IwRkJTMUlzUlVGQlN6RkNMRTFCUTFaSUxFVkJRVkV5UWl4TlFVRlJia01zUlVGQldYRkVMRk5CUXpWQ1VpeEhRVUZMYWtNc1MwRkJTemhDTEZGQlFWRk1MRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRha001UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlF5eExRVU0xUW5oQ0xFdEJRVXN3UXl4VlFVRlZha0lzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU4yUWs4c1IwRkhWSFJETEVWQlFXTlJMRlZCUVZWMVJTeExRVUZQTEZOQlFWTnFSQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM0pFTEVsQlFVbFBMRVZCVlVvc1QwRlVRV3BETEV0QlFVdHpReXhUUVVGVFlpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlF6ZENPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYlVRc1VVRkROVUpPTEVWQlFVbHFReXhMUVVGTFl5eFBRVUZQVnl4RlFVRk5OMElzUlVGQlV6aENMRWRCUXk5Q09VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiMFFzVlVGRE5VSlFMRWRCUVV0U0xFVkJRVXN4UWl4TlFVTldTQ3hGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlMycERMRXRCUVVzNFFpeFJRVUZSVEN4RlFVRk5OMElzUlVGQlV6aENMRWRCUTJwRE9VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiME1zUzBGRE5VSjRRaXhMUVVGTE1FTXNWVUZCVldwQ0xFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGRrSlBMRWRCUjFSMFF5eEZRVUZqVVN4VlFVRlZPRVVzVjBGQllTeFRRVUZUZUVRc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVNelJDeEpRVUZKVHl4RlFXZENTaXhQUVdaQmFrTXNTMEZCUzNORExGTkJRVk5pTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZETjBJNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHRSQ3hSUVVNMVFrNHNSVUZCU1dwRExFdEJRVXRqTEU5QlFVOVhMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkJVeXhaUVVONFF6bENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlFTEZWQlF6VkNVQ3hIUVVGTExFbEJRVTFTTEVWQlFVdHJSU3haUVVGakxFbEJRVTFzUlN4RlFVRkxiVVVzWTBGQlowSXNTVUZCVFc1RkxFVkJRVXR2UlN4alFVTjBReXhoUVVFeFFuQkZMRVZCUVV0eFJTeHRRa0ZEVURkRUxFZEJRVXNzU1VGQlRWSXNSVUZCUzNGRkxHdENRVVZrY2tVc1JVRkJTM05GTEdWQlExQTVSQ3hIUVVGTExFdEJRVTlTTEVWQlFVdHpSU3hoUVVGbExFdEJSV3hEYmtjc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmNVUXNVMEZETlVKU0xFZEJRVXR5UXl4RlFVRlJkVUlzYVVKQlFXMUNMRWxCUVUxdVFpeExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU5zUlRsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOURMRXRCUXpWQ2VFSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZXZEdMRmRCUVdFc1UwRkJVekZFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZETTBRc1NVRkJTVThzUlVGVlNpeFBRVlJCYWtNc1MwRkJTM05ETEZOQlFWTmlMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkROMEk1UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdFJDeFJRVU0xUWs0c1JVRkJTV3BETEV0QlFVdGpMRTlCUVU5WExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGQlV5eFpRVU40UXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOUVMRlZCUXpWQ1VDeEhRVUZMTEVsQlFVMVNMRVZCUVV0VkxFdEJRVThzU1VGQlRWWXNSVUZCU3pGQ0xFMUJRMnhEU0N4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTM0pETEVWQlFWRjFRaXhwUWtGQmJVSXNTVUZCVFc1Q0xFdEJRVXM0UWl4UlFVRlJUQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRMnhGT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwTXNTMEZETlVKNFFpeExRVUZMTUVNc1ZVRkJWV3BDTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZGtKUExFZEJSMVIwUXl4RlFVRmpVU3hWUVVGVmEwWXNWVUZCV1N4VFFVRlROVVFzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU14UkN4SlFVRkpUeXhGUVhsQ1NpeFBRWGhDUVdwRExFdEJRVXR6UXl4VFFVRlRZaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRemRDT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmJVUXNVVUZETlVKT0xFVkJRVWxxUXl4TFFVRkxZeXhQUVVGUFZ5eEZRVUZOTjBJc1JVRkJVemhDTEVkQlFWTXNWMEZEZUVNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZSQ3hWUVVONFFtWXNSVUZCUzNWRkxFdEJRMUF2UkN4SFFVRkxMRTFCUlZCQkxFZEJRVXNzU1VGQlRWSXNSVUZCUzFVc1MwRkRXbFlzUlVGQlN6RkNMRTFCUTFCclF5eEhRVUZMTEV0QlFVOVNMRVZCUVVzeFFpeE5RVUZSTEV0QlJYSkNNRUlzUlVGQlN6UkNMRTlCUVZNMVFpeEZRVUZMTmtJc1RVRkRja0p5UWl4SFFVRkxMRmxCUVdOU0xFVkJRVXMwUWl4TlFVRlJMRTFCUVZFMVFpeEZRVUZMTmtJc1RVRkJVU3hKUVVNMVF6ZENMRVZCUVVzMlFpeFJRVU5rY2tJc1IwRkJTeXhaUVVGalVpeEZRVUZMTmtJc1RVRkJVU3hMUVVVNVFqZENMRVZCUVV0M1JTeFJRVU5RYUVVc1IwRkJTeXhWUVVGWlVpeEZRVUZMZDBVc1VVRkhNVUp5Unl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTM0pETEVWQlFWRjFRaXhwUWtGQmJVSXNTVUZCVFc1Q0xFdEJRVXM0UWl4UlFVRlJUQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRMnhGT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwTXNTMEZETlVKNFFpeExRVUZMTUVNc1ZVRkJWV3BDTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZGtKUExFZEJSMVIwUXl4RlFVRmpVU3hWUVVGVmIwWXNXVUZCWXl4VFFVRlRPVVFzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU0xUkN4SlFVRkpUeXhGUVdsQ1NpeFBRV2hDUVdwRExFdEJRVXR6UXl4VFFVRlRZaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRemRDT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmJVUXNVVUZETlVKT0xFVkJRVWxxUXl4TFFVRkxZeXhQUVVGUFZ5eEZRVUZOTjBJc1JVRkJVemhDTEVkQlFWTXNZVUZEZUVNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZSQ3hWUVVNMVFsQXNSMEZCU3l4SlFVRk5VaXhGUVVGTFZTeExRVU5hVml4RlFVRkxORUlzVDBGQlV6VkNMRVZCUVVzMlFpeE5RVU55UW5KQ0xFZEJRVXNzV1VGQlkxSXNSVUZCU3pSQ0xFMUJRVkVzVFVGQlVUVkNMRVZCUVVzMlFpeE5RVUZSTEVsQlF6VkROMElzUlVGQlN6UkNMRTFCUTJSd1FpeEhRVUZMTEZsQlFXTlNMRVZCUVVzMFFpeE5RVUZSTEVsQlEzWkNOVUlzUlVGQlN6WkNMRkZCUTJSeVFpeEhRVUZMTEZsQlFXTlNMRVZCUVVzMlFpeE5RVUZSTEV0QlJXeERNVVFzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaY1VRc1UwRkROVUpTTEVkQlFVdHlReXhGUVVGUmRVSXNhVUpCUVcxQ0xFbEJRVTF1UWl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTnNSVGxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RExFdEJRelZDZUVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVlcxRExGTkJRVmNzVTBGQlUySXNSVUZCVFRkQ0xFVkJRVk00UWl4TFFVVXpSQzlDTEVWQlFXTlJMRlZCUVZWMVF5eFZRVUZaTEZOQlFWTnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFdEJSVFZFTDBJc1JVRkJZMUVzVlVGQlZTdENMR05CUVdkQ0xGTkJRVk5HTEVWQlFVdHdReXhGUVVGVE9FSXNTMEZGTDBRdlFpeEZRVUZqVVN4VlFVRlZhVU1zWlVGQmFVSXNVMEZCVTBvc1JVRkJTM0JETEVWQlFWTTRRaXhMUVVWNlJDOUNMRVZCYkZsM1FpeExRWE5aYUVOUExFdEJRVXRHSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1WM0pwZEdWeVFtRnpaUzVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciBlLHIsdCxuLGksbyx1LGwsbSxzO3M9cmVxdWlyZShcIi4vVXRpbGl0eVwiKSxsPXMuYXNzaWduLG09cy5pc0Z1bmN0aW9uLHQ9cmVxdWlyZShcIi4vWE1MRE9NSW1wbGVtZW50YXRpb25cIiksbj1yZXF1aXJlKFwiLi9YTUxEb2N1bWVudFwiKSxpPXJlcXVpcmUoXCIuL1hNTERvY3VtZW50Q0JcIiksdT1yZXF1aXJlKFwiLi9YTUxTdHJpbmdXcml0ZXJcIiksbz1yZXF1aXJlKFwiLi9YTUxTdHJlYW1Xcml0ZXJcIiksZT1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyPXJlcXVpcmUoXCIuL1dyaXRlclN0YXRlXCIpLG1vZHVsZS5leHBvcnRzLmNyZWF0ZT1mdW5jdGlvbihlLHIsdCxpKXt2YXIgbyx1O2lmKG51bGw9PWUpdGhyb3cgbmV3IEVycm9yKFwiUm9vdCBlbGVtZW50IG5lZWRzIGEgbmFtZS5cIik7cmV0dXJuIGk9bCh7fSxyLHQsaSksdT0obz1uZXcgbihpKSkuZWxlbWVudChlKSxpLmhlYWRsZXNzfHwoby5kZWNsYXJhdGlvbihpKSxudWxsPT1pLnB1YklEJiZudWxsPT1pLnN5c0lEfHxvLmR0ZChpKSksdX0sbW9kdWxlLmV4cG9ydHMuYmVnaW49ZnVuY3Rpb24oZSxyLHQpe3ZhciBvO3JldHVybiBtKGUpJiYocj0obz1bZSxyXSlbMF0sdD1vWzFdLGU9e30pLHI/bmV3IGkoZSxyLHQpOm5ldyBuKGUpfSxtb2R1bGUuZXhwb3J0cy5zdHJpbmdXcml0ZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB1KGUpfSxtb2R1bGUuZXhwb3J0cy5zdHJlYW1Xcml0ZXI9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gbmV3IG8oZSxyKX0sbW9kdWxlLmV4cG9ydHMuaW1wbGVtZW50YXRpb249bmV3IHQsbW9kdWxlLmV4cG9ydHMubm9kZVR5cGU9ZSxtb2R1bGUuZXhwb3J0cy53cml0ZXJTdGF0ZT1yfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJJazV2WkdWVWVYQmxJaXdpVjNKcGRHVnlVM1JoZEdVaUxDSllUVXhFVDAxSmJYQnNaVzFsYm5SaGRHbHZiaUlzSWxoTlRFUnZZM1Z0Wlc1MElpd2lXRTFNUkc5amRXMWxiblJEUWlJc0lsaE5URk4wY21WaGJWZHlhWFJsY2lJc0lsaE5URk4wY21sdVoxZHlhWFJsY2lJc0ltRnpjMmxuYmlJc0ltbHpSblZ1WTNScGIyNGlMQ0p5WldZaUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbU55WldGMFpTSXNJbTVoYldVaUxDSjRiV3hrWldNaUxDSmtiMk4wZVhCbElpd2liM0IwYVc5dWN5SXNJbVJ2WXlJc0luSnZiM1FpTENKRmNuSnZjaUlzSW1Wc1pXMWxiblFpTENKb1pXRmtiR1Z6Y3lJc0ltUmxZMnhoY21GMGFXOXVJaXdpY0hWaVNVUWlMQ0p6ZVhOSlJDSXNJbVIwWkNJc0ltSmxaMmx1SWl3aWIyNUVZWFJoSWl3aWIyNUZibVFpTENKeVpXWXhJaXdpYzNSeWFXNW5WM0pwZEdWeUlpd2ljM1J5WldGdFYzSnBkR1Z5SWl3aWMzUnlaV0Z0SWl3aWFXMXdiR1Z0Wlc1MFlYUnBiMjRpTENKdWIyUmxWSGx3WlNJc0luZHlhWFJsY2xOMFlYUmxJaXdpWTJGc2JDSXNJblJvYVhNaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCVlVNc1JVRkJZVU1zUlVGQmMwSkRMRVZCUVdGRExFVkJRV1ZETEVWQlFXbENReXhGUVVGcFFrTXNSVUZCVVVNc1JVRkJXVU1zUlVGRmJrbEJMRVZCUVUxRExGRkJRVkVzWVVGQlkwZ3NSVUZCVTBVc1JVRkJTVVlzVDBGQlVVTXNSVUZCWVVNc1JVRkJTVVFzVjBGRmJFVk9MRVZCUVhWQ1VTeFJRVUZSTERCQ1FVVXZRbEFzUlVGQlkwOHNVVUZCVVN4cFFrRkZkRUpPTEVWQlFXZENUU3hSUVVGUkxHMUNRVVY0UWtvc1JVRkJhMEpKTEZGQlFWRXNjVUpCUlRGQ1RDeEZRVUZyUWtzc1VVRkJVU3h4UWtGRk1VSldMRVZCUVZkVkxGRkJRVkVzWTBGRmJrSlVMRVZCUVdOVExGRkJRVkVzYVVKQlJYUkNReXhQUVVGUFF5eFJRVUZSUXl4UFFVRlRMRk5CUVZORExFVkJRVTFETEVWQlFWRkRMRVZCUVZORExFZEJRM1JFTEVsQlFVbERMRVZCUVV0RExFVkJRMVFzUjBGQldTeE5RVUZTVEN4RlFVTkdMRTFCUVUwc1NVRkJTVTBzVFVGQlRTdzRRa0ZYYkVJc1QwRlVRVWdzUlVGQlZWWXNSVUZCVHl4SFFVRkpVU3hGUVVGUlF5eEZRVUZUUXl4SFFVVjBRMFVzUjBGRVFVUXNSVUZCVFN4SlFVRkpaaXhGUVVGWll5eEpRVU5ZU1N4UlFVRlJVQ3hIUVVOa1J5eEZRVUZSU3l4WFFVTllTaXhGUVVGSlN5eFpRVUZaVGl4SFFVTk5MRTFCUVdwQ1FTeEZRVUZSVHl4UFFVRnZReXhOUVVGcVFsQXNSVUZCVVZFc1QwRkRkRU5RTEVWQlFVbFJMRWxCUVVsVUxFbEJSMHhGTEVkQlIxUlNMRTlCUVU5RExGRkJRVkZsTEUxQlFWRXNVMEZCVTFZc1JVRkJVMWNzUlVGQlVVTXNSMEZETDBNc1NVRkJTVU1zUlVGTFNpeFBRVXBKZEVJc1JVRkJWMU1zUzBGRFlWY3NSMEZCTVVKRkxFVkJRVThzUTBGQlEySXNSVUZCVTFjc1NVRkJkVUlzUjBGQlNVTXNSVUZCVVVNc1JVRkJTeXhIUVVONlJHSXNSVUZCVlN4SlFVVlNWeXhGUVVOTExFbEJRVWw0UWl4RlFVRmpZU3hGUVVGVFZ5eEZRVUZSUXl4SFFVVnVReXhKUVVGSk1VSXNSVUZCV1dNc1NVRkpNMEpPTEU5QlFVOURMRkZCUVZGdFFpeGhRVUZsTEZOQlFWTmtMRWRCUTNKRExFOUJRVThzU1VGQlNWZ3NSVUZCWjBKWExFbEJSemRDVGl4UFFVRlBReXhSUVVGUmIwSXNZVUZCWlN4VFFVRlRReXhGUVVGUmFFSXNSMEZETjBNc1QwRkJUeXhKUVVGSldpeEZRVUZuUWpSQ0xFVkJRVkZvUWl4SlFVZHlRMDRzVDBGQlQwTXNVVUZCVVhOQ0xHVkJRV2xDTEVsQlFVbG9ReXhGUVVWd1ExTXNUMEZCVDBNc1VVRkJVWFZDTEZOQlFWZHVReXhGUVVVeFFsY3NUMEZCVDBNc1VVRkJVWGRDTEZsQlFXTnVReXhKUVVVMVFtOURMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZhVzVrWlhndWFuTWlmUT09IiwiXG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1YW1WamRDNWpjM01pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJaUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2YzNKakwyTnpjeTlwYm1wbFkzUXVZM056SW4wPSIsInZhciBqUXVlcnkgPSByZXF1aXJlKFwianF1ZXJ5XCIpO1xuaW1wb3J0ICdqcXVlcnktdWknO1xuaW1wb3J0ICogYXMgSSBmcm9tIFwiLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4vbW9kdWxlcy91dGlscyc7XG5pbXBvcnQgKiBhcyBDb21tdW5pY2F0aW9uIGZyb20gXCIuL21vZHVsZXMvY29tbXVuaWNhdGlvblwiO1xuaW1wb3J0ICogYXMgUGFyc2VyIGZyb20gJy4vbW9kdWxlcy9wYXJzZXInO1xuaW1wb3J0ICogYXMgVUkgZnJvbSBcIi4vbW9kdWxlcy91aVwiO1xuaW1wb3J0ICogYXMgQm9va2luZ0J0biBmcm9tIFwiLi9tb2R1bGVzL2Jvb2tpbmdCdXR0b25cIjtcbmltcG9ydCAqIGFzIFBhcmVudCBmcm9tIFwiLi9tb2R1bGVzL3BhcmVudFwiO1xucmVxdWlyZShcIi4uL3NyYy9jc3MvaW5qZWN0LmNzc1wiKTtcblxubGV0IGlucHV0c1dpdGhWYWx1ZTogSS5JbnB1dHNXaXRoVmFsdWU7XG5cbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xuICAgIC8vIFBhcnNlIChoaWRkZW4pIGlucHV0cyBhbmQgdGhlaXIgdmFsdWVzXG4gICAgY29uc3QgY29udGVudDogc3RyaW5nID0gbmV3IFhNTFNlcmlhbGl6ZXIoKS5zZXJpYWxpemVUb1N0cmluZyhkb2N1bWVudCk7XG4gICAgaW5wdXRzV2l0aFZhbHVlID0geyAuLi5pbnB1dHNXaXRoVmFsdWUsIC4uLlBhcnNlci5nZXRJbnB1dHMoY29udGVudCkgfTtcblxuICAgIFV0aWxzLmNvbnNvbGVMb2coaW5wdXRzV2l0aFZhbHVlKTtcbiAgICBVdGlscy5jb25zb2xlTG9nKGB0cnhzdGF0ZTogJHtpbnB1dHNXaXRoVmFsdWVbXCJ0cnhzdGF0ZVwiXX1gKTtcblxuICAgIC8vIFwicG9zdHVybFwiIGluIGZ1bmN0aW9uIHNob3dNYXAoKSBvbmx5IGF2YWlsYWJsZSBpZiBcInB2bWFwc2VcIiBQVk8gY29kZSBpcyB0cnVlLlxuICAgIC8vIFwicHZtYXBzZVwiIGZhbHNlIGRpc2FibGVzIHNlYXRtYXBcbiAgICBjb25zdCBwb3N0dXJsQXZhaWw6IGJvb2xlYW4gPSAvcG9zdHVybDpcIiguKz8pXCIvLnRlc3QoY29udGVudCk7XG5cbiAgICBVdGlscy5jb25zb2xlTG9nKGBwb3N0dXJsIGF2YWlsYWJsZTogJHtwb3N0dXJsQXZhaWx9YCk7XG5cbiAgICAvLyBPbmx5IGluamVjdCBvbiBwYWdlIHdpdGggdHJ4c3RhdGUgMjAgYW5kIGlmIHNlYXRtYXAgaXMgZW5hYmxlZCB3aXRoIFBWTyBjb2RlIFwicHZtYXBzZVwiXG4gICAgaWYgKGlucHV0c1dpdGhWYWx1ZVtcInRyeHN0YXRlXCJdICE9PSBcIjIwXCIgfHwgcG9zdHVybEF2YWlsID09PSBmYWxzZSlcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgLy8gSW5qZWN0IHBhcmVudCBDU1NcbiAgICAvLyBQYXJlbnQgPSB0cnhzdGF0ZSAyMFxuICAgIFBhcmVudC5pbmplY3RSZXNvdXJjZXMoKTtcblxuICAgIC8vIFN0YXJ0IG1lc3NhZ2UgaGFuZGxlciB0byBiZSBhYmxlIHRvIHJlY2VpdmUgbWVzc2FnZXMgZnJvbSBjaGlsZFxuICAgIENvbW11bmljYXRpb24ubGlzdGVuVG9NZXNzYWdlcyhtZXNzYWdlSGFuZGxlcik7XG5cbiAgICAvLyBXZSBhcmUgb24gdHJ4c3RhdGUgMjAgcGFnZSBzbyBnZXQgbW9yZSBuZWVkZWQgaW5wdXRzXG4gICAgaW5wdXRzV2l0aFZhbHVlID0geyAuLi5pbnB1dHNXaXRoVmFsdWUsIC4uLlBhcnNlci5nZXRBZGRpdGlvbmFsSW5wdXRzKGNvbnRlbnQpIH07XG4gICAgaW5wdXRzV2l0aFZhbHVlID0geyAuLi5pbnB1dHNXaXRoVmFsdWUsIC4uLlBhcnNlci5nZXRWZW51ZUltYWdlKCkgfTtcbiAgICBpbnB1dHNXaXRoVmFsdWUgPSB7IC4uLmlucHV0c1dpdGhWYWx1ZSwgLi4uUGFyc2VyLmdldEltcG9ydGFudE5vdGUoKSB9O1xuICAgIGlucHV0c1dpdGhWYWx1ZVtcInNtYXBcIl0gPSBQYXJzZXIuZ2V0U01BUCgpO1xuXG4gICAgLy8gSW5qZWN0IGFuZCBwb2ludCBzZWF0bWFwIGJ1dHRvbiB0byBuZXcgbG9jYXRpb25cbiAgICBCb29raW5nQnRuLmluamVjdEJvb2tpbmdCdG4oKTtcblxuICAgIC8vIENyZWF0ZSBhbiBqUXVlcnkgZGlhbG9nIGludG8gYW4gaWZyYW1lIHdoaWNoIGlzIG9wZW5lZCBvbiBjbGlja2luZyBzZWF0bWFwIGJ1dHRvblxuICAgIC8vIGh0dHBzOi8vYXBpLmpxdWVyeXVpLmNvbS9kaWFsb2cvXG4gICAgVUkuY3JlYXRlRGlhbG9nKCk7XG5cbiAgICBVdGlscy5jb25zb2xlTG9nKGlucHV0c1dpdGhWYWx1ZSk7XG59KTtcblxuZnVuY3Rpb24gbWVzc2FnZUhhbmRsZXIoZTogYW55KSB7XG4gICAgaWYgKHR5cGVvZiAoZS5kYXRhKSAhPT0gJ3N0cmluZycpXG4gICAgICAgIHJldHVybjtcblxuICAgIGNvbnN0IGRhdGE6IEkuTWVzc2FnZSA9IEpTT04ucGFyc2UoZS5kYXRhKTtcblxuICAgIFV0aWxzLmNvbnNvbGVMb2coYHBhcmVudDogcmVjZWl2ZWQgZnJvbSAke2RhdGEuZnJvbX1gKTtcbiAgICBVdGlscy5jb25zb2xlTG9nKGRhdGEpO1xuXG4gICAgc3dpdGNoIChkYXRhLmV2ZW50KSB7XG4gICAgICAgIGNhc2UgXCJjaGlsZF9pbml0X25lZWRJbnB1dHNXaXRoVmFsdWVcIjoge1xuICAgICAgICAgICAgUGFyZW50LmluaXROZWVkSW5wdXRzV2l0aFZhbHVlKGlucHV0c1dpdGhWYWx1ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiY2hpbGRfaW5pdF9uZWVkVmVudWVYTUxcIjoge1xuICAgICAgICAgICAgUGFyZW50LmluaXROZWVkVmVudWVYTUwoaW5wdXRzV2l0aFZhbHVlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJjaGlsZF9uZWVkU2VhdG1hcFhNTFwiOiB7XG4gICAgICAgICAgICBQYXJlbnQubmVlZFNlYXRtYXBYTUwoZSwgaW5wdXRzV2l0aFZhbHVlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJjaGlsZF9zZWF0bWFwX3JlYWR5XCI6IHtcbiAgICAgICAgICAgIFV0aWxzLmNvbnNvbGVMb2coXCJjaGlsZCBjb21wbGV0ZWx5IHJlYWR5XCIpO1xuICAgICAgICAgICAgalF1ZXJ5KFwiI2NvbnRhaW5lckJvb2tpbmdCdG5cIikuc2hvdygpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcImNoaWxkX25lZWRDaGVja291dFJlc3BvbnNlXCI6IHtcbiAgICAgICAgICAgIFBhcmVudC5uZWVkQ2hlY2tvdXRSZXNwb25zZShlLCBpbnB1dHNXaXRoVmFsdWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcImNoaWxkX2hpZGVfZGlhbG9nX3RpdGxlYmFyXCI6IHtcbiAgICAgICAgICAgIGpRdWVyeShcIi51aS1kaWFsb2ctdGl0bGViYXJcIikuaGlkZSgpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcImNoaWxkX3Nob3dfZGlhbG9nX3RpdGxlYmFyXCI6IHtcbiAgICAgICAgICAgIGpRdWVyeShcIi51aS1kaWFsb2ctdGl0bGViYXJcIikuc2hvdygpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcImNoaWxkX2NsaWNrX2NoZWNrb3V0XCI6IHtcbiAgICAgICAgICAgIFBhcmVudC5jbGlja0NoZWNrb3V0KGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcImNoaWxkX2Nsb3NlRGlhbG9nXCI6IHtcbiAgICAgICAgICAgIGpRdWVyeShcIi51aS1kaWFsb2ctdGl0bGViYXItY2xvc2VcIikuY2xpY2soKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG59IiwiaW1wb3J0ICogYXMgQ29tbXVuaWNhdGlvbiBmcm9tIFwiLi9jb21tdW5pY2F0aW9uXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RCb29raW5nQnRuKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIi5mbGFzaF9zZWF0X21hcF9ib3hcIikucmVtb3ZlKCk7XG4gICAgY2hhbmdlQm9va2luZ0J0bkNTUygpO1xuICAgIGFwcGVuZEJvb2tpbmdCdG5IVE1MKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG93U2VhdG1hcEJ0blBhcmVudCgpOiB2b2lkIHtcbiAgICBDb21tdW5pY2F0aW9uLnNlbmRFdmVudFRvUGFyZW50KFwiY2hpbGRfc2VhdG1hcF9yZWFkeVwiKTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kQm9va2luZ0J0bkhUTUwoKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI2ZsYXNoX3NlYXRfbWFwX2JveF9pZFwiKS5hcHBlbmQoYFxuICAgIDxkaXYgY2xhc3M9XCJyb3dfc3BhY2VcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicm93X3NwYWNlXCI+PC9kaXY+XG4gICAgPGRpdiBpZD1cImNvbnRhaW5lckJvb2tpbmdCdG5cIj5cbiAgICAgICAgPGEgY2xhc3M9XCJjb250aW51ZVwiIGlkPVwib3BlblNlYXRtYXBcIj5cbiAgICAgICAgICAgIDxzcGFuPlNhYWxwbGFuYnVjaHVuZzwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgICA8ZGl2IGlkPVwiZGlhbG9nU2VhdG1hcFwiIGhpZGRlbj1cImhpZGRlblwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIGApO1xufVxuXG5mdW5jdGlvbiBjaGFuZ2VCb29raW5nQnRuQ1NTKCk6IHZvaWQge1xuICAgIGpRdWVyeSgnI2ZsYXNoX3NlYXRfbWFwX2JveF9pZCcpLmNzcyh7XG4gICAgICAgIFwiZGlzcGxheVwiOiBcImJsb2NrXCIsXG4gICAgICAgIFwicG9zaXRpb25cIjogXCJyZWxhdGl2ZVwiLFxuICAgICAgICBcIndpZHRoXCI6IFwiMTAwJVwiXG4gICAgfSk7XG59IiwiaW1wb3J0ICogYXMgWE1MSGVscGVyIGZyb20gXCIuL3htbGhlbHBlclwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0ICogYXMgRXZlbnRzIGZyb20gXCIuL2V2ZW50c1wiO1xuaW1wb3J0ICogYXMgQ2FydEJ1dHRvbnMgZnJvbSBcIi4vY2FydEJ1dHRvbnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZEl0ZW0oaW5TZWF0T2JqOiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQgeyBcbiAgICBjb25zdCBjb2xvcjogc3RyaW5nID0gYCMke1hNTEhlbHBlci5nZXRWZW51ZVByaWNlc2NhbGVQcm9wZXJ0eUJ5UHJpY2VzY2FsZUlEKFwiY29sb3JcIiwgaW5TZWF0T2JqLmRhdGEuc2VhdHNPYmouaWRbMF0pfWA7XG4gICAgY29uc3QgY2F0ZWdvcnk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IFhNTEhlbHBlci5nZXRWZW51ZVByaWNlc2NhbGVQcm9wZXJ0eUJ5UHJpY2VzY2FsZUlEKFwiZGVzY1wiLCBpblNlYXRPYmouZGF0YS5zZWF0c09iai5pZFswXSk7XG4gICAgY29uc3Qgc2VhdDogc3RyaW5nID0gY29uZmlnLnN0YXRlLmxheW91dFJvd3NbaW5TZWF0T2JqLmlkXVs1XTtcbiAgICBjb25zdCByb3c6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5sYXlvdXRSb3dzW2luU2VhdE9iai5pZF1bNF07XG4gICAgY29uc3Qgc2VjdGlvbklEOiBzdHJpbmcgPSBjb25maWcuc3RhdGUubGF5b3V0Um93c1tpblNlYXRPYmouaWRdWzNdO1xuICAgIGNvbnN0IHNlY3Rpb25EZXNjOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0U2VjdGlvbkRlc2NCeVNlY3Rpb25JRChzZWN0aW9uSUQpO1xuICAgIGNvbnN0IHNlYXRTdHI6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGAke3NlY3Rpb25EZXNjfTxici8+UmVpaGUgJHtyb3d9IFBsYXR6ICR7c2VhdH1gO1xuICAgIGNvbnN0IGJ1eWVyVHlwZXM6IEkuVHlwZUJ1eWVyVHlwZSA9IFhNTEhlbHBlci5nZXRCdXllclR5cGVzQnlQcmljZXNjYWxlSUQoaW5TZWF0T2JqLmRhdGEuc2VhdHNPYmouaWRbMF0pO1xuICAgIGNvbnN0IGNhcnRJRDogc3RyaW5nID0gYGNhcnRJdGVtLSR7aW5TZWF0T2JqLmlkfWA7XG4gICAgY29uc3QgZHJvcGRvd25CdXllclR5cGVzU2VsZWN0b3I6IHN0cmluZyA9IGAjJHtjYXJ0SUR9IC5kcm9wZG93bkJ1eWVyVHlwZXNgO1xuXG4gICAgYXBwZW5kSFRNTChjYXJ0SUQsIGNvbG9yLCBjYXRlZ29yeSwgc2VhdFN0cik7XG4gICAgYWRkRHJvcGRvd25CdXllclR5cGVPcHRpb25zKGJ1eWVyVHlwZXMsIGRyb3Bkb3duQnV5ZXJUeXBlc1NlbGVjdG9yKTtcbiAgICBFdmVudHMuYWRkQ2FydERyb3Bkb3duQnV5ZXJUeXBlcyhkcm9wZG93bkJ1eWVyVHlwZXNTZWxlY3RvciwgaW5TZWF0T2JqKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUNhcnRJdGVtcygpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjY2FydEl0ZW1IVE1MIC5jYXJ0SXRlbVwiKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5yZW1vdmUoKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoYW5nZWREcm9wZG93bkJ1eWVyVHlwZShpblNlbGVjdDogSFRNTFNlbGVjdEVsZW1lbnQsIGluU2VhdE9iajogSS5KU0NTZWxlY3RlZFNlYXQpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleDogbnVtYmVyID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIuZmluZEluZGV4KGFyciA9PlxuICAgICAgICBhcnJbMF0gPT09IGluU2VhdE9iai5pZCk7XG5cbiAgICBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0FycltpbmRleF1bMV0gPSBpblNlbGVjdC52YWx1ZTtcbiAgICBjb25zdCBidXllclR5cGVDb2RlID0gWE1MSGVscGVyLmdldEJ1eWVyVHlwZUNvZGVCeUJ1eWVyVHlwZUlEKGluU2VsZWN0LnZhbHVlKTtcblxuICAgIGlmIChidXllclR5cGVDb2RlKVxuICAgICAgICBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0FycltpbmRleF1bMl0gPSBidXllclR5cGVDb2RlO1xuXG4gICAgY2FsY092ZXJhbGxQcmljZSgpO1xuICAgIENhcnRCdXR0b25zLnNldEJ0bkNhcnRUZXh0KCk7XG5cbiAgICBjb25zdCB1cmwgPSBnZW5lcmF0ZUNoZWNrb3V0VXJsKCk7XG4gICAgRXZlbnRzLmFkZFJlZGlyZWN0Q2hlY2tvdXQodXJsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGNPdmVyYWxsUHJpY2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aCkge1xuICAgICAgICBjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsID0gXCIwXCI7XG4gICAgICAgIHJldHVybiBcIjBcIjtcbiAgICB9XG5cbiAgICBjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsID0gc3VtU2VhdFByaWNlcygpO1xuICAgIHJldHVybiBjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsO1xufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUNhcnRJdGVtcygpOiB2b2lkIHtcbiAgICBpZiAoIWNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aClcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmopIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09iaiwga2V5KSkge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqW2tleV07XG4gICAgICAgICAgICBhZGRJdGVtKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdE1vZGFsQ2FydCgpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXlcIikuaGlkZSgpO1xuICAgIEV2ZW50cy5hZGRDYXJ0QmFjaygpO1xuICAgIEV2ZW50cy5hZGRDYXJ0Q2xvc2UoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQ2hlY2tvdXRVcmwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aClcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgY29uc3QgaW5wdXRzV2l0aFZhbHVlID0gY29uZmlnLnN0YXRlLmlucHV0c1dpdGhWYWx1ZSE7XG4gICAgY29uc3Qgc2VsZWN0ZWRTZWF0SW5kZXhlczogc3RyaW5nID0gWE1MSGVscGVyLmdlbmVyYXRlU2VsZWN0ZWRTZWF0SW5kZXhlcygpO1xuICAgIHJldHVybiBgJHtpbnB1dHNXaXRoVmFsdWVbXCJ0aWNrZXRQdXJjaGFzZVVybFwiXX0/dXNlcl9jb250ZXh0PSR7aW5wdXRzV2l0aFZhbHVlLnVzZXJfY29udGV4dH0mcGlkPSR7aW5wdXRzV2l0aFZhbHVlW1wicGlkXCJdfSZzZWxlY3RlZF9zZWF0X2luZGV4ZXM9JHtzZWxlY3RlZFNlYXRJbmRleGVzfSZ0cnhzdGF0ZT0xNDhgO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRIVE1MKGluQ2FydElEOiBzdHJpbmcsIGluQ29sb3I6IHN0cmluZywgaW5DYXRlZ29yeTogc3RyaW5nIHwgdW5kZWZpbmVkLCBpblNlYXRTdHI6IHN0cmluZyk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNjYXJ0SXRlbUhUTUwgLmZsLWh0bWxcIikuYXBwZW5kKGBcbiAgICA8ZGl2IGNsYXNzPVwiY2FydEl0ZW1cIiBpZD1cIiR7aW5DYXJ0SUR9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0SXRlbUNvbG9yZWRTcXVhcmVcIiBzdHlsZT1cImJhY2tncm91bmQ6ICR7aW5Db2xvcn07XCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0SXRlbUNhdGVnb3J5XCI+JHtpbkNhdGVnb3J5fTwvZGl2PlxuICAgICAgICA8aDUgY2xhc3M9XCJjYXJ0SXRlbVNlYXRcIj4ke2luU2VhdFN0cn08L2g1PlxuICAgICAgICA8c2VsZWN0IG5hbWU9XCJkcm9wZG93bkJ1eWVyVHlwZXNcIiBjbGFzcz1cImRyb3Bkb3duQnV5ZXJUeXBlc1wiPjwvc2VsZWN0PlxuICAgIDwvZGl2PmApO1xufVxuXG4vLyB0b2RvOiBnZW5lcmFsaXplIGRyb3Bkb3duIGZpbGwgb3B0aW9uc1xuZnVuY3Rpb24gYWRkRHJvcGRvd25CdXllclR5cGVPcHRpb25zKGluQnV5ZXJUeXBlczogSS5UeXBlQnV5ZXJUeXBlLCBpblNlbGVjdG9yOiBzdHJpbmcpIHtcbiAgICBpZiAoIWluQnV5ZXJUeXBlcylcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgaW5CdXllclR5cGVzLmZvckVhY2goYXJyID0+IHsgICAgICAgIFxuICAgICAgICBpZiAoYXJyWzBdKVxuICAgICAgICAgICAgYXBwZW5kT3B0aW9uKGluU2VsZWN0b3IsIGFycilcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kT3B0aW9uKGluU2VsZWN0b3I6IHN0cmluZywgaW5BcnI6IEkuVHlwZUJ1eWVyVHlwZUFycik6IHZvaWQge1xuICAgIGNvbnN0IGRyb3Bkb3duQnV5ZXJUeXBlczogSFRNTEVsZW1lbnQgPSBqUXVlcnkoaW5TZWxlY3RvcikuZ2V0KDApO1xuICAgIGxldCBvcHQ6IEhUTUxPcHRpb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7XG4gICAgb3B0LnZhbHVlID0gPHN0cmluZz5pbkFyclswXTtcbiAgICBvcHQuaW5uZXJIVE1MID0gYCR7aW5BcnJbMl19IOKCrCR7aW5BcnJbMV19YDtcbiAgICBkcm9wZG93bkJ1eWVyVHlwZXMuYXBwZW5kQ2hpbGQob3B0KTtcbn1cblxuZnVuY3Rpb24gc3VtU2VhdFByaWNlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5tYXAoZ2V0U2VhdFByaWNlKVxuICAgICAgICAucmVkdWNlKChwcmV2LCBjdXJyKSA9PiBwcmV2ICsgY3VycilcbiAgICAgICAgLnRvRml4ZWQoMik7XG59XG5cbmZ1bmN0aW9uIGdldFNlYXRQcmljZShhcnI6IHN0cmluZ1tdKSB7XG4gICAgY29uc3Qgc2VhdElEOiBzdHJpbmcgPSBhcnJbMF07XG4gICAgICAgIGNvbnN0IGJ1eWVydHlwZUlEOiBzdHJpbmcgPSBhcnJbMV07XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkU2VhdDogSS5KU0NTZWxlY3RlZFNlYXQgPSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09ialtzZWF0SURdO1xuICAgICAgICBjb25zdCBwcmljZXNjYWxlSUQ6IHN0cmluZyA9IHNlbGVjdGVkU2VhdC5kYXRhLnNlYXRzT2JqLmlkWzBdO1xuICAgICAgICBjb25zdCBwcmljZXNjYWxlT2JqOiBJLlByaWNlc2NhbGU1IHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldFZlbnVlUHJpY2VTdHJ1Y3R1cmVQcm9wZXJ0eUJ5UHJpY2VzY2FsZUlEKHByaWNlc2NhbGVJRCk7XG5cbiAgICAgICAgaWYgKHByaWNlc2NhbGVPYmopIHtcbiAgICAgICAgICAgIGNvbnN0IHNlYXRQcmljZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldFByaWNlQnlCdXllclR5cGVJRChidXllcnR5cGVJRCwgcHJpY2VzY2FsZU9iaik7XG5cbiAgICAgICAgICAgIGlmIChzZWF0UHJpY2UpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlYXRQcmljZTsgICBcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAwO1xufSIsImltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0QnRuQ2FydFRleHQoKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b24tdGV4dFwiKVswXS5pbm5lclRleHQgPSBjcmVhdGVDYXJ0QnRuVGV4dCgpO1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnRTdW0gLnVhYmItaGVhZGluZy10ZXh0XCIpWzBdLnRleHRDb250ZW50ID0gY3JlYXRlTW9kYWxDYXJ0QnRuVGV4dCgpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVDYXJ0QnRuVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG51bVRpY2tldHM6IG51bWJlciA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aDtcblxuICAgIGlmIChjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsICE9PSBcIlwiKVxuICAgICAgICByZXR1cm4gbnVtVGlja2V0cyA9PT0gMSA/IGAke251bVRpY2tldHN9IFRpY2tldCBmw7xyIOKCrCR7Y29uZmlnLnN0YXRlLnByaWNlT3ZlcmFsbH1gIDogYCR7bnVtVGlja2V0c30gVGlja2V0cyBmw7xyIOKCrCR7Y29uZmlnLnN0YXRlLnByaWNlT3ZlcmFsbH1gO1xuICAgIGVsc2UgXG4gICAgICAgIHJldHVybiBcIjAgVGlja2V0cyBmw7xyIOKCrDAuMDBcIjsgICAgXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZU1vZGFsQ2FydEJ0blRleHQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBudW1UaWNrZXRzOiBudW1iZXIgPSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGg7XG5cbiAgICBpZiAoY29uZmlnLnN0YXRlLnByaWNlT3ZlcmFsbCAhPT0gXCJcIilcbiAgICAgICAgcmV0dXJuIGBTdW1tZSAoJHtudW1UaWNrZXRzfSBQbMOkdHplKSDigqwke2NvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGx9YDtcbiAgICBlbHNlXG4gICAgICAgIHJldHVybiBgU3VtbWUgKDAgUGzDpHR6ZSkg4oKsMCwwMGA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG93SGlkZUJ0bkNhcnRMb2FkaW5nKGluU3dpdGNoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaW5Td2l0Y2ggPT09IFwic2hvd1wiKSB7XG4gICAgICAgIGpRdWVyeShcIiNtb2RhbENhcnQgLnVhYmItYnV0dG9uXCIpLmNzcyhcInBvaW50ZXItZXZlbnRzXCIsIFwibm9uZVwiKTtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCBpXCIpLmhpZGUoKTtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b24tdGV4dFwiKS5hZGRDbGFzcyhcImRvdC1wdWxzZVwiKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaW5Td2l0Y2ggPT09IFwiaGlkZVwiKSB7XG4gICAgICAgIGpRdWVyeShcIiNtb2RhbENhcnQgaVwiKS5zaG93KCk7XG4gICAgICAgIGpRdWVyeShcIiNtb2RhbENhcnQgLnVhYmItYnV0dG9uLXRleHRcIikucmVtb3ZlQ2xhc3MoXCJkb3QtcHVsc2VcIik7XG4gICAgICAgIGpRdWVyeShcIiNtb2RhbENhcnQgLnVhYmItYnV0dG9uXCIpLmNzcyhcInBvaW50ZXItZXZlbnRzXCIsIFwiYWxsXCIpO1xuICAgIH1cbn0iLCJpbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IGF4aW9zLCB7IEF4aW9zUmVzcG9uc2UgfSBmcm9tICdheGlvcyc7XG5jb25zdCB4bWwyanNQYXJzZXIgPSByZXF1aXJlKCd4bWwyanMnKS5wYXJzZVN0cmluZztcbmltcG9ydCAqIGFzIFVJIGZyb20gXCIuL3VpXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIENhcnQgZnJvbSBcIi4vY2FydFwiO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4vdXRpbHMnXG5cbi8vIHJld29yayB0cnkvY2F0Y2ggP1xuZXhwb3J0IGZ1bmN0aW9uIHNlbmRNZXNzYWdlKGluRGF0YTogSS5NZXNzYWdlLCBpblRvOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaW5UbyA9PT0gXCJwYXJlbnRcIilcbiAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShpbkRhdGEpLCAnKicpO1xuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBjaGlsZDogYW55ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5Ubyk7XG5cbiAgICAgICAgaWYgKGNoaWxkICE9PSBudWxsICYmIGNoaWxkLmNvbnRlbnRXaW5kb3cgIT09IG51bGwpXG4gICAgICAgICAgICBjaGlsZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KGluRGF0YSksIFwiKlwiKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0ZW5Ub01lc3NhZ2VzKGluSGFuZGxlcjogQ2FsbGFibGVGdW5jdGlvbik6IHZvaWQge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKGU6IGFueSk6IHZvaWQgPT4ge1xuICAgICAgICBpbkhhbmRsZXIoZSk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZW5kWE1MKGluVXJsOiBzdHJpbmcsIGluVG86IHN0cmluZywgaW5FdmVudDogc3RyaW5nLCBpbkZyb206IHN0cmluZywgaW5EYXRlOiBudW1iZXIgPSBEYXRlLm5vdygpKTogdm9pZCB7XG4gICAgZ2V0WE1MUHJvbWlzZShpblVybCkudGhlbigocmVzdWx0OiB1bmtub3duKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgICAgIGRhdGU6IGluRGF0ZSxcbiAgICAgICAgICAgIGZyb206IGluRnJvbSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHJlc3VsdCxcbiAgICAgICAgICAgIGV2ZW50OiBpbkV2ZW50XG4gICAgICAgIH1cbiAgICAgICAgc2VuZE1lc3NhZ2UobWVzc2FnZSwgaW5Ubyk7XG4gICAgfSlcbiAgICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZW5kRXZlbnRUb0NoaWxkKGluRXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgbWVzc2FnZTogbnVsbCxcbiAgICAgICAgZnJvbTogXCJwYXJlbnRcIixcbiAgICAgICAgZXZlbnQ6IGluRXZlbnQsXG4gICAgICAgIGRhdGU6IERhdGUubm93KClcbiAgICB9O1xuICAgIHNlbmRNZXNzYWdlKG1lc3NhZ2UsIFwiaWZyYW1lU2VhdG1hcFwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbmRFdmVudFRvUGFyZW50KGluRXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgbWVzc2FnZTogbnVsbCxcbiAgICAgICAgZnJvbTogXCJjaGlsZFwiLFxuICAgICAgICBldmVudDogaW5FdmVudCxcbiAgICAgICAgZGF0ZTogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJwYXJlbnRcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZWVkU2VhdG1hcFhNTChpbklEOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBtZXNzYWdlOiBJLk1lc3NhZ2UgPSB7XG4gICAgICAgIG1lc3NhZ2U6IGluSUQsXG4gICAgICAgIGZyb206IFwiY2hpbGRcIixcbiAgICAgICAgZXZlbnQ6IFwiY2hpbGRfbmVlZFNlYXRtYXBYTUxcIixcbiAgICAgICAgZGF0ZTogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJwYXJlbnRcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5jZWxDaGVja291dChpblVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gdXNlIGZldGNoIGluc3RlYWQgb2YgYXhpb3MgYmVjYXVzZSBvZiAzMDIgcmVkaXJlY3RcbiAgICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2F4aW9zL2F4aW9zL2lzc3Vlcy85MzJcbiAgICBmZXRjaChpblVybCwge1xuICAgICAgICByZWRpcmVjdDogXCJtYW51YWxcIlxuICAgIH0pXG4gICAgICAgIC50aGVuKCgpID0+IFV0aWxzLmNvbnNvbGVMb2coYCR7aW5Vcmx9IGNhbmNlbGVkYCkpXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IFV0aWxzLmNvbnNvbGVMb2coZXJyb3IpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRTZWF0U2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheVwiKS5oaWRlKCk7XG5cbiAgICBpZiAoIWNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aClcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgVUkuYWRqdXN0VUlUb0xvYWRpbmcoKTtcbiAgICBjb25zdCB1cmw6IHN0cmluZyB8IHVuZGVmaW5lZCA9IENhcnQuZ2VuZXJhdGVDaGVja291dFVybCgpO1xuXG4gICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgfSxcbiAgICAgICAgZnJvbTogXCJjaGlsZFwiLFxuICAgICAgICBldmVudDogXCJjaGlsZF9uZWVkQ2hlY2tvdXRSZXNwb25zZVwiLFxuICAgICAgICBkYXRlOiBEYXRlLm5vdygpXG4gICAgfTtcblxuICAgIHNlbmRNZXNzYWdlKG1lc3NhZ2UsIFwicGFyZW50XCIpO1xufVxuXG5mdW5jdGlvbiBnZXRYTUxQcm9taXNlKGluVXJsOiBzdHJpbmcpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICByZXR1cm4gYXhpb3MuZ2V0KGluVXJsKVxuICAgICAgICAudGhlbigocmVzcG9uc2U6IHZvaWQgfCBBeGlvc1Jlc3BvbnNlPGFueT4pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogYW55LCByZWplY3Q6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IEF4aW9zUmVzcG9uc2UgPSA8QXhpb3NSZXNwb25zZT5yZXNwb25zZTtcbiAgICAgICAgICAgICAgICBpZiAoQXhpb3NSZXNwb25zZS5zdGF0dXMgPT09IDIwMCAmJiBBeGlvc1Jlc3BvbnNlLmhlYWRlcnNbXCJjb250ZW50LXR5cGVcIl0gPT09IFwidGV4dC94bWw7Y2hhcnNldD11dGYtOFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHhtbDJqc1BhcnNlcihBeGlvc1Jlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICB7IG5vcm1hbGl6ZVRhZ3M6IHRydWUsIG5vcm1hbGl6ZTogdHJ1ZSwgbWVyZ2VBdHRyczogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgKGVycjogYW55LCByZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IFV0aWxzLmNvbnNvbGVMb2coZXJyb3IpKTtcbn0iLCJpbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgY29uZmlnOiBJLkNvbmZpZyA9IHtcbiAgICBjaGlsZEhhc1ZlbnVlWE1MOiBmYWxzZSxcbiAgICBkZWJ1ZzogdHJ1ZSxcbiAgICBicmFuY2g6IFwic3RhZ2luZ1wiLFxuICAgIHZlcnNpb246IFwiMC4wLjFcIixcbiAgICBtYXhTZWxlY3RlZFNlYXRzOiAxMCxcbiAgICByZXNvdXJjZXM6IHtcbiAgICAgICAgbWFzdGVyOiB7XG4gICAgICAgICAgICBzZWF0bWFwOiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGVcIixcbiAgICAgICAgICAgIEpTQzogXCJodHRwczovL3RpY2tldHMuemlub21lZGlhLmRlL2xpYnMvalF1ZXJ5LVNlYXQtQ2hhcnRzL2pxdWVyeS5zZWF0LWNoYXJ0cy5taW4uanNcIixcbiAgICAgICAgICAgIENTU0NoaWxkOiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9zZWF0bWFwLmNzc1wiLFxuICAgICAgICAgICAgQ1NTSlNDOiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGUvbGlicy9qUXVlcnktU2VhdC1DaGFydHMvanF1ZXJ5LnNlYXQtY2hhcnRzLmNzc1wiLFxuICAgICAgICAgICAgQ1NTUGFyZW50OiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9pbmplY3QuY3NzXCIsXG4gICAgICAgICAgICBDU1NqUXVlcnlVSTogXCJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS91aS8xLjEyLjEvdGhlbWVzL2Jhc2UvanF1ZXJ5LXVpLmNzc1wiLFxuICAgICAgICAgICAgQ1NTakJveDogXCJodHRwczovL3RpY2tldHMuemlub21lZGlhLmRlL2Rpc3QvakJveC5hbGwubWluLmNzc1wiXG4gICAgICAgIH0sXG4gICAgICAgIHN0YWdpbmc6IHtcbiAgICAgICAgICAgIHNlYXRtYXA6IFwiaHR0cHM6Ly9zdGFnaW5nLnRpY2tldHMuemlub21lZGlhLmRlXCIsXG4gICAgICAgICAgICBKU0M6IFwiaHR0cHM6Ly9zdGFnaW5nLnRpY2tldHMuemlub21lZGlhLmRlL2xpYnMvalF1ZXJ5LVNlYXQtQ2hhcnRzL2pxdWVyeS5zZWF0LWNoYXJ0cy5taW4uanNcIixcbiAgICAgICAgICAgIENTU0NoaWxkOiBcImh0dHBzOi8vc3RhZ2luZy50aWNrZXRzLnppbm9tZWRpYS5kZS9kaXN0L3NlYXRtYXAuY3NzXCIsXG4gICAgICAgICAgICBDU1NKU0M6IFwiaHR0cHM6Ly9zdGFnaW5nLnRpY2tldHMuemlub21lZGlhLmRlL2xpYnMvalF1ZXJ5LVNlYXQtQ2hhcnRzL2pxdWVyeS5zZWF0LWNoYXJ0cy5jc3NcIixcbiAgICAgICAgICAgIENTU1BhcmVudDogXCJodHRwczovL3N0YWdpbmcudGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9pbmplY3QuY3NzXCIsXG4gICAgICAgICAgICBDU1NqUXVlcnlVSTogXCJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS91aS8xLjEyLjEvdGhlbWVzL2Jhc2UvanF1ZXJ5LXVpLmNzc1wiLFxuICAgICAgICAgICAgQ1NTakJveDogXCJodHRwczovL3N0YWdpbmcudGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9qQm94LmFsbC5taW4uY3NzXCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc3RhdGU6IHtcbiAgICAgICAgcHJpY2VPdmVyYWxsOiBcIlwiLFxuICAgICAgICBjYXJ0Q2hhbmdlZDogZmFsc2UsXG4gICAgICAgIHNlbGVjdGVkU2VhdHNBcnI6IFtdLFxuICAgICAgICBzZWxlY3RlZFNlYXRzT2JqOiB7fSxcbiAgICAgICAgbGF5b3V0Um93czoge30sXG4gICAgICAgIGlzVmFsaWRTZWF0U2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgICAgaW5wdXRzV2l0aFZhbHVlOiB1bmRlZmluZWQsXG4gICAgICAgIHNlYXRtYXA6IHVuZGVmaW5lZCxcbiAgICAgICAgcGFuem9vbTogdW5kZWZpbmVkLFxuICAgICAgICBpblZlbnVlWE1MOiB1bmRlZmluZWQsXG4gICAgICAgIHNlYXRtYXBYTUw6IHVuZGVmaW5lZCxcbiAgICB9XG59IiwiaW1wb3J0ICogYXMgQ29tbXVuaWNhdGlvbiBmcm9tIFwiLi9jb21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgKiBhcyBVSSBmcm9tIFwiLi91aVwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0ICogYXMgSlNDIGZyb20gXCIuL2pzY1wiO1xuaW1wb3J0ICogYXMgQ2FydCBmcm9tIFwiLi9jYXJ0XCI7XG5pbXBvcnQgKiBhcyBMZWdlbmQgZnJvbSBcIi4vbGVnZW5kXCI7XG5pbXBvcnQgKiBhcyBqQm94SGVscGVyIGZyb20gXCIuL2pCb3hIZWxwZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZENsb3NlTW9kYWwoKTogdm9pZCB7XG4gICAgY29uc3QgYnRuQ2xvc2VNb2RhbDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSBqUXVlcnkoXCIjYnRuQ2xvc2VNb2RhbFwiKS5nZXQoMCk7XG4gICAgaWYgKGJ0bkNsb3NlTW9kYWwpXG4gICAgICAgIGJ0bkNsb3NlTW9kYWwuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9QYXJlbnQoXCJjaGlsZF9jbG9zZURpYWxvZ1wiKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGREcm9wZG93blNlYXRtYXAoKTogdm9pZCB7XG4gICAgY29uc3QgZHJvcGRvd25TZWF0bWFwOiBIVE1MRWxlbWVudCB8IG51bGwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImRyb3Bkb3duU2VhdG1hcFwiKTtcblxuICAgIGlmIChkcm9wZG93blNlYXRtYXApIHtcbiAgICAgICAgZHJvcGRvd25TZWF0bWFwLmFkZEV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIiwgZnVuY3Rpb24gKHRoaXM6IEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICAgICAgICBVSS5jb250cm9sTG9mdGxvYWRlcihcInNob3dcIik7IC8vIHRvZG86IHJld3JpdGU/XG4gICAgICAgICAgICBVSS5kZXN0cm95Q3VycmVudFNlYXRtYXAoXCIjY29udGFpbmVyU2VhdG1hcElubmVyXCIpO1xuICAgICAgICAgICAgQ29tbXVuaWNhdGlvbi5uZWVkU2VhdG1hcFhNTCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkTW9kYWxDYXJ0KCk6IHZvaWQge1xuICAgIGNvbnN0IGJ0bkNhcnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0galF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b25cIikuZ2V0KDApO1xuXG4gICAgaWYgKGJ0bkNhcnQpIHtcbiAgICAgICAgYnRuQ2FydC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGgpXG4gICAgICAgICAgICAgICAgakJveEhlbHBlci5zaG93SkJveE5vdGljZShgU2llIGhhYmVuIGJpc2xhbmcga2VpbmVuIFBsYXR6IGF1c2dld8OkaGx0LmApO1xuICAgICAgICAgICAgZWxzZSBpZiAoY29uZmlnLnN0YXRlLmNhcnRDaGFuZ2VkKVxuICAgICAgICAgICAgICAgIENvbW11bmljYXRpb24uaXNWYWxpZFNlYXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKCFjb25maWcuc3RhdGUuY2FydENoYW5nZWQgJiYgY29uZmlnLnN0YXRlLmlzVmFsaWRTZWF0U2VsZWN0aW9uKVxuICAgICAgICAgICAgICAgIFVJLmZhZGVJbkNhcnRNb2RhbCgpO1xuICAgICAgICAgICAgZWxzZSBpZiAoIWNvbmZpZy5zdGF0ZS5jYXJ0Q2hhbmdlZCAmJiAhY29uZmlnLnN0YXRlLmlzVmFsaWRTZWF0U2VsZWN0aW9uKVxuICAgICAgICAgICAgICAgIGpCb3hIZWxwZXIuc2hvd0pCb3hOb3RpY2UoYEF1c3dhaGwgbmljaHQgbcO2Z2xpY2g6IEJpdHRlIGxhc3NlbiBTaWUga2VpbmVuIGVpbnplbG5lbiBQbGF0eiBmcmVpLmApO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRSZWRpcmVjdENoZWNrb3V0KGluVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIWluVXJsKVxuICAgICAgICByZXR1cm47XG5cbiAgICBjb25zdCBidG5DaGVja291dCA9IGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheSAjY2hlY2tvdXQgLmZsLWJ1dHRvblwiKS5nZXQoMCk7XG4gICAgaWYgKGJ0bkNoZWNrb3V0KSB7XG4gICAgICAgIGJ0bkNoZWNrb3V0LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlOiBJLk1lc3NhZ2UgPSB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZToge1xuICAgICAgICAgICAgICAgICAgICB1cmw6IGluVXJsLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZnJvbTogXCJjaGlsZFwiLFxuICAgICAgICAgICAgICAgIGV2ZW50OiBcImNoaWxkX2NsaWNrX2NoZWNrb3V0XCIsXG4gICAgICAgICAgICAgICAgZGF0ZTogRGF0ZS5ub3coKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIENvbW11bmljYXRpb24uc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJwYXJlbnRcIik7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZENhcnRDbG9zZSgpOiB2b2lkIHtcbiAgICBjb25zdCBidG5DbG9zZTogSFRNTEVsZW1lbnQgPSBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXkgLnVhYmItY2xvc2UtaWNvblwiKS5nZXQoMCk7XG4gICAgaWYgKGJ0bkNsb3NlKVxuICAgICAgICBidG5DbG9zZS5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4gQ29tbXVuaWNhdGlvbi5zZW5kRXZlbnRUb1BhcmVudChcImNoaWxkX3Nob3dfZGlhbG9nX3RpdGxlYmFyXCIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZENhcnRCYWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IGJ0bkJhY2s6IEhUTUxFbGVtZW50ID0galF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5ICNnb0JhY2sgLmZsLWJ1dHRvblwiKS5nZXQoMCk7XG4gICAgaWYgKGJ0bkJhY2spXG4gICAgICAgIGJ0bkJhY2suYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheSAudWFiYi1jbG9zZS1pY29uXCIpLnRyaWdnZXIoXCJjbGlja1wiKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkcm9wZG93bkxlZ2VuZE9uQ2hhbmdlKGluU2VsZWN0b3I6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRtYXA6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwO1xuICAgIGNvbnN0IGRyb3Bkb3duTGVnZW5kOiBIVE1MRWxlbWVudCA9IGpRdWVyeShpblNlbGVjdG9yKS5nZXQoMCk7XG5cbiAgICBkcm9wZG93bkxlZ2VuZC5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICh0aGlzOiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gdGhpcy52YWx1ZTtcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lOiBzdHJpbmcgPSBgLl8ke3ZhbHVlfWA7XG5cbiAgICAgICAgTGVnZW5kLmNoYW5nZURyb3Bkb3duTGVnZW5kQkdDb2xvcihpblNlbGVjdG9yLCB2YWx1ZSwgY2xhc3NOYW1lKTtcblxuICAgICAgICBpZiAodmFsdWUgPT09IFwiYWxsXCIpIHtcbiAgICAgICAgICAgIHNlYXRtYXAuZmluZCgndW5hdmFpbGFibGUnKS5zdGF0dXMoJ2F2YWlsYWJsZScpO1xuICAgICAgICAgICAgSlNDLnNldFVuYXZhaWxhYmxlU2VhdHMoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNlYXRtYXAuZmluZCgnYXZhaWxhYmxlJykuc3RhdHVzKCd1bmF2YWlsYWJsZScpO1xuICAgICAgICAgICAgSlNDLmFjdGl2YXRlU2VhdHNCeVNlY3Rpb25JRCh2YWx1ZSk7XG4gICAgICAgICAgICBKU0Muc2V0VW5hdmFpbGFibGVTZWF0cygpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRDYXJ0RHJvcGRvd25CdXllclR5cGVzKGluU2VsZWN0b3I6IHN0cmluZywgaW5TZWF0T2JqOiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQge1xuICAgIC8vIHRvZG86IHdoaWNoIHZhcmlhbnQgaXMgbm90IGRlcHJlY2F0ZWQ/XG4gICAgalF1ZXJ5KGluU2VsZWN0b3IpLm9uKCdjaGFuZ2UnLCBmdW5jdGlvbiAodGhpczogSFRNTFNlbGVjdEVsZW1lbnQpIHtcbiAgICAgICAgQ2FydC5jaGFuZ2VkRHJvcGRvd25CdXllclR5cGUodGhpcywgaW5TZWF0T2JqKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZE9wZW5TZWF0bWFwKCkge1xuICAgIGpRdWVyeShcIiNvcGVuU2VhdG1hcFwiKS5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgaWYgKCFjb25maWcuY2hpbGRIYXNWZW51ZVhNTClcbiAgICAgICAgICAgIENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9DaGlsZChcInBhcmVudF9pbml0X3ZlbnVlXCIpO1xuXG4gICAgICAgIGpRdWVyeSgnaHRtbCwgYm9keScpLmNzcygnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7XG4gICAgICAgIGpRdWVyeShcIiNkaWFsb2dTZWF0bWFwXCIpLmRpYWxvZygnb3BlbicpO1xuICAgIH0pO1xufSIsImltcG9ydCBqQm94IGZyb20gXCJqYm94XCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIFhNTEhlbHBlciBmcm9tIFwiLi94bWxoZWxwZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNob3dKQm94Tm90aWNlKGluQ29udGVudDogc3RyaW5nLCBpbkF1dG9DbG9zZTogbnVtYmVyIHwgYm9vbGVhbiB8IHVuZGVmaW5lZCA9IDUwMDApOiB2b2lkIHtcbiAgICBuZXcgakJveDxcIk5vdGljZVwiPiAoJ05vdGljZScsIHtcbiAgICAgICAgcG9zaXRpb246IHsgeDogJ2NlbnRlcicsIHk6ICd0b3AnIH0sXG4gICAgICAgIG9mZnNldDogeyB4OiAwLCB5OiAzMjAgfSxcbiAgICAgICAgY29udGVudDogaW5Db250ZW50LFxuICAgICAgICBhdXRvQ2xvc2U6IGluQXV0b0Nsb3NlLFxuICAgICAgICBhbmltYXRpb246IHsgb3BlbjogXCJ6b29tSW5cIiwgY2xvc2U6IFwiem9vbU91dFwiIH0sXG4gICAgICAgIGNsb3NlT25Fc2M6IGZhbHNlLFxuICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgY2xvc2VPbk1vdXNlbGVhdmU6IGZhbHNlLFxuICAgICAgICBjbG9zZU9uQ2xpY2s6IGZhbHNlLFxuICAgICAgICBkcmFnZ2FibGU6IGZhbHNlLFxuICAgICAgICBjb2xvcjogXCJyZWRcIixcbiAgICAgICAgc3RhY2s6IHRydWUsXG4gICAgICAgIHNob3dDb3VudGRvd246IHRydWUsXG4gICAgICAgIHJlcG9zaXRpb246IHRydWUsXG4gICAgICAgIHJlc3BvbnNpdmVXaWR0aDogdHJ1ZSxcbiAgICAgICAgcmVzcG9uc2l2ZUhlaWdodDogdHJ1ZSxcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlYXRUb29sdGlwcygpOiB2b2lkIHtcbiAgICBuZXcgakJveDxcIlRvb2x0aXBcIj4gKFwiVG9vbHRpcFwiLCB7XG4gICAgICAgIGF0dGFjaDogalF1ZXJ5KFwiLnNlYXRDaGFydHMtc2VhdFwiKSxcbiAgICAgICAgb25PcGVuOiBmdW5jdGlvbiAodGhpczogYW55KSB7XG4gICAgICAgICAgICBzaG93U2VhdFRvb2x0aXAodGhpcyk7XG4gICAgICAgIH0sXG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIHNob3dTZWF0VG9vbHRpcChqQm94OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0SUQ6IHN0cmluZyA9IGpCb3guc291cmNlWzBdLmlkO1xuICAgIGNvbnN0IHNlYXQ6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5sYXlvdXRSb3dzW3NlYXRJRF1bNV07XG4gICAgY29uc3Qgcm93OiBzdHJpbmcgPSBjb25maWcuc3RhdGUubGF5b3V0Um93c1tzZWF0SURdWzRdO1xuICAgIGNvbnN0IHNlY3Rpb25JRDogc3RyaW5nID0gY29uZmlnLnN0YXRlLmxheW91dFJvd3Nbc2VhdElEXVszXTtcbiAgICBjb25zdCBzZWN0aW9uRGVzYzogc3RyaW5nIHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldFNlY3Rpb25EZXNjQnlTZWN0aW9uSUQoc2VjdGlvbklEKTtcbiAgICBjb25zdCB0b29sdGlwQ29udGVudDogc3RyaW5nID0gYCR7c2VjdGlvbkRlc2N9PGJyLz5SZWloZSAke3Jvd30gUGxhdHogJHtzZWF0fWA7XG5cbiAgICBqQm94LnNldENvbnRlbnQodG9vbHRpcENvbnRlbnQpO1xufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIFN0YXRlIGZyb20gXCIuL3N0YXRlXCI7XG5pbXBvcnQgKiBhcyBDYXJ0IGZyb20gXCIuL2NhcnRcIjtcbmltcG9ydCAqIGFzIENhcnRCdXR0b25zIGZyb20gXCIuL2NhcnRCdXR0b25zXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscydcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlYXRzKCk6IEkuSlNDU2VhdHMge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IHByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS5wcmljZXNjYWxlX2NvbmZpZ1swXS5wcmljZXNjYWxlO1xuICAgIGxldCBzZWF0bWFwSW5pdFNlYXRzOiBJLkpTQ1NlYXRzID0ge307XG5cbiAgICBmb3IgKGxldCBrZXkgaW4gcHJpY2VzY2FsZUFycikge1xuICAgICAgICBjb25zdCBzZWF0c09iajogSS5KU0NTZWF0czIgPSB7XG4gICAgICAgICAgICBcImNsYXNzZXNcIjogYF8ke3ByaWNlc2NhbGVBcnJba2V5XS5pZFswXX1gLFxuICAgICAgICAgICAgXCJzZWF0c09ialwiOiBwcmljZXNjYWxlQXJyW2tleV1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZWF0c0tleTogc3RyaW5nID0gU3RyaW5nLmZyb21DaGFyQ29kZSg5NyArIHBhcnNlSW50KGtleSkpLnRvTG9jYWxlVXBwZXJDYXNlKCk7XG4gICAgICAgIHNlYXRtYXBJbml0U2VhdHNbc2VhdHNLZXldID0gc2VhdHNPYmo7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlYXRtYXBJbml0U2VhdHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3RpdmF0ZVNlYXRzQnlTZWN0aW9uSUQoaW5WYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdG1hcFhNTDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXBYTUw7XG4gICAgY29uc3Qgc2VhdG1hcDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXA7XG4gICAgY29uc3QgcHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLnByaWNlc2NhbGVfY29uZmlnWzBdLnByaWNlc2NhbGU7XG5cbiAgICBjb25zdCBzZWF0c0Fycjogc3RyaW5nW10gfCB1bmRlZmluZWQgPSBwcmljZXNjYWxlQXJyLmZpbmQoYXJyID0+IHtcbiAgICAgICAgcmV0dXJuIGFyci5pZFswXSA9PT0gaW5WYWx1ZTtcbiAgICB9KT8ubWFza1swXS5zcGxpdChcIixcIik7XG5cbiAgICBzZWF0bWFwLnN0YXR1cyhzZWF0c0FyciwgXCJhdmFpbGFibGVcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb3dzTmFtaW5nKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBzZWF0bWFwWE1MOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcFhNTDtcbiAgICBjb25zdCBsYXlvdXQ6IEkuU2VhdG1hcExheW91dCA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS5sYXlvdXRzWzBdLmxheW91dFswXTtcbiAgICBjb25zdCBoZWlnaHQ6IG51bWJlciA9IHBhcnNlSW50KGxheW91dC5oZWlnaHRbMF0pO1xuICAgIGNvbnN0IG5hbWluZ0Fycjogc3RyaW5nW10gPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBoZWlnaHQgfSwgKF8pID0+IFwiXCIpO1xuICAgIGNvbnN0IHJvd3NBcnI6IEkuTGF5b3V0Um93MltdID0gbGF5b3V0LnJvd3NbMF0ucm93O1xuXG4gICAgcm93c0Fyci5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gcGFyc2VJbnQoZWxlbWVudC55X2NlbGxfY29vcmRbMF0pO1xuICAgICAgICBjb25zdCBzZWF0c0Fycjogc3RyaW5nW10gPSBlbGVtZW50LnNlYXRzWzBdLnNwbGl0KFwifFwiKTtcbiAgICAgICAgY29uc3Qgc2VhdEFycjogc3RyaW5nW10gPSBzcGxpdFNlYXRTdHIoc2VhdHNBcnJbMF0pO1xuICAgICAgICBjb25zdCByb3c6IHN0cmluZyA9IHNlYXRBcnJbNF07XG4gICAgICAgIG5hbWluZ0FycltpbmRleF0gPSByb3c7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmFtaW5nQXJyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNYXAoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IGxheW91dDogSS5TZWF0bWFwTGF5b3V0ID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLmxheW91dHNbMF0ubGF5b3V0WzBdO1xuICAgIGNvbnN0IHJvd3M6IEkuTGF5b3V0Um93MltdID0gbGF5b3V0LnJvd3NbMF0ucm93O1xuICAgIGNvbnN0IHByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS5wcmljZXNjYWxlX2NvbmZpZ1swXS5wcmljZXNjYWxlO1xuICAgIGNvbnN0IGF2YWlsYWJpbGl0eUFycjogSS5KU0NBdmFpbGFiaWxpdHkgPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0udmlld19tb2Rlc1swXS52aWV3X21vZGVbMF0uYXZhaWxhYmlsaXR5WzBdO1xuXG4gICAgLy8gRm9ybTogYXJyTWF0cml4W1ldW1hdXG4gICAgbGV0IGFyck1hdHJpeDogc3RyaW5nW11bXSA9IGNyZWF0ZUFyck1hdHJpeChcbiAgICAgICAgcGFyc2VJbnQobGF5b3V0LmhlaWdodFswXSksXG4gICAgICAgIHBhcnNlSW50KGxheW91dC53aWR0aFswXSksXG4gICAgICAgIFwiX1wiXG4gICAgKTtcblxuICAgIGFyck1hdHJpeCA9IGVudGVyU2VhdHNJbk1hdHJpeChyb3dzLCBhcnJNYXRyaXgsIHByaWNlc2NhbGVBcnIsIGF2YWlsYWJpbGl0eUFycik7XG4gICAgcmV0dXJuIGFyck1hdHJpeC5tYXAoZWxlbWVudCA9PiBlbGVtZW50LmpvaW4oXCJcIikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVMZWdlbmQoaW5Ob2RlOiBzdHJpbmcpOiBJLkpTQ0xlZ2VuZCB7XG4gICAgY29uc3Qgc2VhdG1hcFhNTDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXBYTUw7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3QgcHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLnByaWNlc2NhbGVfY29uZmlnWzBdLnByaWNlc2NhbGU7XG4gICAgY29uc3QgdmVudWVQcmljZXNjYWxlQXJyOiBJLlByaWNlc2NhbGUyW10gPSB2ZW51ZVhNTC52ZW51ZVswXS5wcmljZXNjYWxlc1swXS5wcmljZXNjYWxlO1xuXG4gICAgcmV0dXJuIDxJLkpTQ0xlZ2VuZD57XG4gICAgICAgIG5vZGU6IGpRdWVyeShpbk5vZGUpLFxuICAgICAgICBpdGVtczogY3JlYXRlTGVnZW5kSXRlbXMocHJpY2VzY2FsZUFyciwgdmVudWVQcmljZXNjYWxlQXJyKVxuICAgIH1cbn1cblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRVbmF2YWlsYWJsZVNlYXRzKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IHNlYXRtYXA6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwO1xuICAgIGNvbnN0IGF2YWlsYWJpbGl0eUFycjogSS5KU0NBdmFpbGFiaWxpdHkgPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0udmlld19tb2Rlc1swXS52aWV3X21vZGVbMF0uYXZhaWxhYmlsaXR5WzBdO1xuXG4gICAgaWYgKGF2YWlsYWJpbGl0eUFyci51bmF2YWlsYWJsZV91bnNlbGVjdGFibGVfbWFza1swXSAhPT0gXCJcIikge1xuICAgICAgICBjb25zdCB1bmF2YWlsYWJsZUFycjogc3RyaW5nW10gPSBhdmFpbGFiaWxpdHlBcnIudW5hdmFpbGFibGVfdW5zZWxlY3RhYmxlX21hc2tbMF0uc3BsaXQoXCIsXCIpO1xuICAgICAgICBzZWF0bWFwLnN0YXR1cyh1bmF2YWlsYWJsZUFyciwgXCJ1bmF2YWlsYWJsZVwiKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWF0c0tleShpblNlYXRJRDogc3RyaW5nLCBpblByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgZm9yIChsZXQga2V5IGluIGluUHJpY2VzY2FsZUFycikge1xuICAgICAgICBpZiAoaW5QcmljZXNjYWxlQXJyW2tleV0ubWFza1swXS5pbmNsdWRlcyhpblNlYXRJRCkpXG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSg5NyArIHBhcnNlSW50KGtleSkpLnRvTG9jYWxlVXBwZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0U2VhdFN0cihpblNlYXRTdHI6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gaW5TZWF0U3RyLnNwbGl0KFwiLFwiKS5tYXAoKGl0ZW0pID0+IGl0ZW0udHJpbSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFyck1hdHJpeChpbk51bXJvd3M6IG51bWJlciwgaW5OdW1jb2xzOiBudW1iZXIsIGluQ2hhcmFjdGVyOiBzdHJpbmcpOiBzdHJpbmdbXVtdIHtcbiAgICByZXR1cm4gQXJyYXkoaW5OdW1yb3dzKS5maWxsKG51bGwpLm1hcCgoKSA9PiBBcnJheShpbk51bWNvbHMpLmZpbGwoaW5DaGFyYWN0ZXIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdFNlYXRzSW5DYXJ0KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRtYXA6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwO1xuICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmZvckVhY2goYXJyID0+IHtcbiAgICAgICAgY29uc3Qgc2VhdElEOiBzdHJpbmcgPSBhcnJbMF07XG5cbiAgICAgICAgaWYgKHNlYXRtYXAuZ2V0KHNlYXRJRCkpXG4gICAgICAgICAgICBzZWF0bWFwLnN0YXR1cyhzZWF0SUQsIFwic2VsZWN0ZWRcIik7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRTZWF0bWFwKGluU2VsZWN0b3I6IHN0cmluZywgaW5NYXA6IHN0cmluZ1tdLCBpblJvd3NOYW1pbmc6IHN0cmluZ1tdLCBpblNlYXRzOiBJLkpTQ1NlYXRzLCBpbkxlZ2VuZDogSS5KU0NMZWdlbmQpOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWluZXJTZWF0bWFwOiBhbnkgPSAoPGFueT53aW5kb3cpLmpRdWVyeShpblNlbGVjdG9yKTtcblxuICAgIGNvbmZpZy5zdGF0ZS5zZWF0bWFwID0gY29udGFpbmVyU2VhdG1hcC5zZWF0Q2hhcnRzKHtcbiAgICAgICAgbmFtaW5nOiB7XG4gICAgICAgICAgICB0b3A6IGZhbHNlLFxuICAgICAgICAgICAgbGVmdDogZmFsc2UsXG4gICAgICAgICAgICByb3dzOiBpblJvd3NOYW1pbmcsXG4gICAgICAgIH0sXG4gICAgICAgIG1hcDogaW5NYXAsXG4gICAgICAgIHNlYXRzOiBpblNlYXRzLFxuICAgICAgICBsZWdlbmQ6IGluTGVnZW5kLFxuICAgICAgICBjbGljazogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGNsaWNrZWRTZWF0KHRoaXMpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxlZ2VuZEl0ZW1zKHByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSwgdmVudWVQcmljZXNjYWxlQXJyOiBJLlByaWNlc2NhbGUyW10pOiBzdHJpbmdbXVtdIHtcbiAgICByZXR1cm4gcHJpY2VzY2FsZUFyci5tYXAoKGFyciwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCBpZDogc3RyaW5nID0gYXJyLmlkWzBdO1xuICAgICAgICBjb25zdCBzZWF0c0tleTogc3RyaW5nID0gU3RyaW5nLmZyb21DaGFyQ29kZSg5NyArIGluZGV4KS50b0xvY2FsZVVwcGVyQ2FzZSgpO1xuICAgICAgICBjb25zdCBkZXNjOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB2ZW51ZVByaWNlc2NhbGVBcnIuZmluZChvYmogPT4gb2JqLmlkWzBdID09PSBpZCk/LmRlc2NbMF07XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uOiBzdHJpbmcgPSBgJHtkZXNjfSDigqwke3ByaWNlc2NhbGVBcnJbaW5kZXhdLnJlZl9wcmljZVswXX1gO1xuICAgICAgICByZXR1cm4gW3NlYXRzS2V5LCBcImF2YWlsYWJsZVwiLCBkZXNjcmlwdGlvbl07XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGVudGVyU2VhdHNJbk1hdHJpeChpblJvd3M6IEkuTGF5b3V0Um93MltdLCBpbkFyck1hdHJpeDogc3RyaW5nW11bXSwgaW5QcmljZXNjYWxlQXJyOiBJLlNlYXRtYXBQcmljZXNjYWxlW10sIGluQXZhaWxhYmlsaXR5QXJyOiBJLkpTQ0F2YWlsYWJpbGl0eSk6IHN0cmluZ1tdW10ge1xuICAgIGNvbnN0IGF2YWlsYWJsZUFycjogc3RyaW5nW10gPSBpbkF2YWlsYWJpbGl0eUFyci5hdmFpbGFibGVfc2VsZWN0YWJsZV9tYXNrWzBdLnNwbGl0KFwiLFwiKTtcbiAgICBjb25zdCB1bmF2YWlsYWJsZUFycjogc3RyaW5nW10gPSBpbkF2YWlsYWJpbGl0eUFyci51bmF2YWlsYWJsZV91bnNlbGVjdGFibGVfbWFza1swXS5zcGxpdChcIixcIik7XG5cbiAgICBpblJvd3MuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgY29uc3Qgcm93OiBJLkxheW91dFJvdzIgPSBlbGVtZW50O1xuICAgICAgICBjb25zdCBZOiBudW1iZXIgPSBwYXJzZUludChyb3cueV9jZWxsX2Nvb3JkWzBdKSAtIDE7XG4gICAgICAgIGNvbnN0IHNlYXRzQXJyOiBzdHJpbmdbXSA9IHJvdy5zZWF0c1swXS5zcGxpdChcInxcIik7XG5cbiAgICAgICAgc2VhdHNBcnIuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlYXRTdHI6IHN0cmluZyA9IGVsZW1lbnQ7XG4gICAgICAgICAgICAvLyBGb3JtOlxuICAgICAgICAgICAgLy8gXCI1Njg0MjAsNTY4NDIwLDE1LDcwMjQsMTMgLDFcIlxuXG4gICAgICAgICAgICBjb25zdCBzZWF0QXJyOiBzdHJpbmdbXSA9IHNwbGl0U2VhdFN0cihzZWF0U3RyKTtcbiAgICAgICAgICAgIC8vIEZvcm06XG4gICAgICAgICAgICAvLyAwOiBcIjU2ODUyOFwiIC0+IElEXG4gICAgICAgICAgICAvLyAxOiBcIjU2ODUyOFwiIC0+IElEXG4gICAgICAgICAgICAvLyAyOiBcIjIxXCIgLT4gWC1Db29yZCBiZW51dHplblxuICAgICAgICAgICAgLy8gMzogXCI3MDI0XCIgLT4gc2VjdGlvbiBJRFxuICAgICAgICAgICAgLy8gNDogXCIxM1wiIC0+IFJlaWhlbmJlemVpY2hudW5nXG4gICAgICAgICAgICAvLyA1OiBcIjRcIiAtPiBQbGF0em51bW1lclxuXG4gICAgICAgICAgICAvLyBza2lwIGJsYWNrZWQgb3V0IHNlYXRzICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoIWF2YWlsYWJsZUFyci5pbmNsdWRlcyhzZWF0QXJyWzBdKSAmJiAhdW5hdmFpbGFibGVBcnIuaW5jbHVkZXMoc2VhdEFyclswXSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICAvLyBjb25zdCBYOiBudW1iZXIgPSBwYXJzZUludChzZWF0QXJyWzVdKTtcbiAgICAgICAgICAgIGNvbnN0IFg6IG51bWJlciA9IHBhcnNlSW50KHNlYXRBcnJbMl0pIC0gMTtcbiAgICAgICAgICAgIGNvbnN0IHNlYXRzS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQgPSBnZXRTZWF0c0tleShzZWF0QXJyWzBdLCBpblByaWNlc2NhbGVBcnIpO1xuXG4gICAgICAgICAgICBpZiAoc2VhdHNLZXkpXG4gICAgICAgICAgICAgICAgaW5BcnJNYXRyaXhbWV1bWF0gPSBgJHtzZWF0c0tleX1bJHtzZWF0QXJyWzBdfSwgXWA7XG5cblxuICAgICAgICAgICAgLy8gc2F2ZSBzZWF0QXJyIGluIHN0YXRlIHdpdGggc2VhdElEIGFzIGtleVxuICAgICAgICAgICAgY29uZmlnLnN0YXRlLmxheW91dFJvd3Nbc2VhdEFyclswXV0gPSBzZWF0QXJyO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpbkFyck1hdHJpeDtcbn1cblxuZnVuY3Rpb24gY2xpY2tlZFNlYXQoaW5TZWF0bWFwOiBhbnkpIHtcbiAgICBpZiAoaW5TZWF0bWFwLnN0YXR1cygpID09ICdhdmFpbGFibGUnKSB7XG4gICAgICAgIHJldHVybiBjbGlja0F2YWlsYWJsZVNlYXQoaW5TZWF0bWFwKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaW5TZWF0bWFwLnN0YXR1cygpID09PSBcInNlbGVjdGVkXCIpIHtcbiAgICAgICAgcmV0dXJuIGNsaWNrZWRTZWxlY3RlZFNlYXQoaW5TZWF0bWFwKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaW5TZWF0bWFwLnN0YXR1cygpID09ICd1bmF2YWlsYWJsZScpIHtcbiAgICAgICAgcmV0dXJuIFwidW5hdmFpbGFibGVcIjtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBpblNlYXRtYXAuc3R5bGUoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNsaWNrQXZhaWxhYmxlU2VhdChpblNlYXRtYXA6IGFueSkge1xuICAgIGNvbnN0IHNlbGVjdGVkU2VhdDogSS5KU0NTZWxlY3RlZFNlYXQgPSBpblNlYXRtYXAuc2V0dGluZ3M7XG5cbiAgICBVdGlscy5jb25zb2xlTG9nKHNlbGVjdGVkU2VhdCk7XG5cbiAgICBpZiAoU3RhdGUubWF4aW11bVNlbGVjdGVkU2VhdHNSZWFjaGVkKHNlbGVjdGVkU2VhdCkpXG4gICAgICAgIHJldHVybiBcImF2YWlsYWJsZVwiO1xuXG4gICAgU3RhdGUuYWRkU2VhdFRvU3RhdGUoc2VsZWN0ZWRTZWF0KTtcbiAgICBDYXJ0LmNhbGNPdmVyYWxsUHJpY2UoKTtcbiAgICBDYXJ0QnV0dG9ucy5zZXRCdG5DYXJ0VGV4dCgpO1xuXG4gICAgcmV0dXJuIFwic2VsZWN0ZWRcIjtcbn1cblxuZnVuY3Rpb24gY2xpY2tlZFNlbGVjdGVkU2VhdChpblNlYXRtYXA6IGFueSkge1xuICAgIGNvbnN0IHNlbGVjdGVkU2VhdDogSS5KU0NTZWxlY3RlZFNlYXQgPSBpblNlYXRtYXAuc2V0dGluZ3M7XG4gICAgU3RhdGUucmVtb3ZlU2VhdEZyb21TdGF0ZShzZWxlY3RlZFNlYXQpO1xuICAgIENhcnQuY2FsY092ZXJhbGxQcmljZSgpO1xuICAgIENhcnRCdXR0b25zLnNldEJ0bkNhcnRUZXh0KCk7XG5cbiAgICByZXR1cm4gXCJhdmFpbGFibGVcIjtcbn0iLCJleHBvcnQgZnVuY3Rpb24gY29udmVydExlZ2VuZFRvRHJvcGRvd24oaW5JRDogc3RyaW5nKTogdm9pZCB7XG4gICAgalF1ZXJ5KCd1bC5zZWF0Q2hhcnRzLWxlZ2VuZExpc3QnKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGV0IHNlbGVjdDogSlF1ZXJ5PEhUTUxTZWxlY3RFbGVtZW50PiA9IGpRdWVyeShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKSlcbiAgICAgICAgICAgIC5pbnNlcnRCZWZvcmUoXG4gICAgICAgICAgICAgICAgalF1ZXJ5KHRoaXMpLmhpZGUoKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICBzZWxlY3QuYXR0cih7IGlkOiBpbklEIH0pO1xuICAgICAgICBhcHBlbmRGaXJzdExlZ2VuZE9wdGlvbihzZWxlY3QpO1xuICAgICAgICBhcHBlbmRMZWdlbmRPcHRpb25zKHRoaXMsIHNlbGVjdCk7ICAgICAgICBcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kTGVnZW5kT3B0aW9ucyhlbGVtZW50OiBIVE1MRWxlbWVudCwgaW5TZWxlY3Q6IEpRdWVyeTxIVE1MU2VsZWN0RWxlbWVudD4pIHtcbiAgICBqUXVlcnkoJz5saScsIGVsZW1lbnQpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCBjbGFzc05hbWU6IHN0cmluZyA9IGpRdWVyeSh0aGlzKVswXS5jaGlsZHJlblswXS5jbGFzc0xpc3RbM107XG4gICAgICAgIGNvbnN0IHZhbDogc3RyaW5nID0gY2xhc3NOYW1lLnN1YnN0cmluZygxKTtcbiAgICAgICAgY29uc3QgdGV4dDogc3RyaW5nID0gKDxIVE1MRWxlbWVudD5qUXVlcnkodGhpcylbMF0uY2hpbGRyZW5bMV0pLmlubmVyVGV4dDtcblxuICAgICAgICBhcHBlbmRMZWdlbmRPcHRpb24oaW5TZWxlY3QsIGNsYXNzTmFtZSwgdmFsLCB0ZXh0KTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kTGVnZW5kT3B0aW9uKGluU2VsZWN0OiBKUXVlcnk8SFRNTFNlbGVjdEVsZW1lbnQ+LCBjbGFzc05hbWU6IHN0cmluZywgdmFsOiBzdHJpbmcsIHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBvcHRpb246IEpRdWVyeTxIVE1MT3B0aW9uRWxlbWVudD4gPSBqUXVlcnkoJzxvcHRpb24vPicpO1xuICAgIG9wdGlvbi5hdHRyKHsgJ3ZhbHVlJzogdmFsLCAnY2xhc3MnOiBjbGFzc05hbWUgfSkudGV4dCh0ZXh0KTtcbiAgICBpblNlbGVjdC5hcHBlbmQob3B0aW9uKTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kRmlyc3RMZWdlbmRPcHRpb24oaW5TZWxlY3Q6IEpRdWVyeTxIVE1MU2VsZWN0RWxlbWVudD4pOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9uOiBKUXVlcnk8SFRNTE9wdGlvbkVsZW1lbnQ+ID0galF1ZXJ5KCc8b3B0aW9uLz4nKTtcbiAgICBvcHRpb24uYXR0cih7ICd2YWx1ZSc6ICdhbGwnIH0pLnRleHQoJ0FsbGUgUHJlaXNrYXRlZ29yaWVuJyk7XG4gICAgb3B0aW9uLmNzcyhcImNvbG9yXCIsIFwiIzVjNWM1Y1wiKTtcbiAgICBpblNlbGVjdC5hcHBlbmQob3B0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoYW5nZURyb3Bkb3duTGVnZW5kQkdDb2xvcihpblNlbGVjdG9yOiBzdHJpbmcsIGluVmFsdWU6IHN0cmluZywgaW5DbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBiZ0NvbG9yOiBzdHJpbmcgPSBcIiNmYWZhZmFcIjtcbiAgICBsZXQgY29sb3I6IHN0cmluZyA9IFwiIzVjNWM1Y1wiO1xuXG4gICAgaWYgKGluVmFsdWUgIT09IFwiYWxsXCIpIHtcbiAgICAgICAgY29sb3IgPSBcIndoaXRlXCI7XG4gICAgICAgIGJnQ29sb3IgPSBqUXVlcnkoaW5DbGFzc05hbWUpLmNzcyhcImJhY2tncm91bmQtY29sb3JcIik7XG4gICAgfVxuXG4gICAgalF1ZXJ5KGluU2VsZWN0b3IpLmNzcyhcImNvbG9yXCIsIGNvbG9yKTtcbiAgICBqUXVlcnkoaW5TZWxlY3RvcikuY3NzKFwiYmFja2dyb3VuZC1jb2xvclwiLCBiZ0NvbG9yKTtcbiAgICBqUXVlcnkoYCR7aW5TZWxlY3Rvcn0gb3B0aW9uW3ZhbHVlPVwiYWxsXCJdYCkuY3NzKFwiY29sb3JcIiwgY29sb3IpO1xufSIsImltcG9ydCBQYW56b29tIGZyb20gJ0BwYW56b29tL3Bhbnpvb20nO1xuaW1wb3J0IHsgUGFuem9vbU9iamVjdCB9IGZyb20gXCJAcGFuem9vbS9wYW56b29tL2Rpc3Qvc3JjL3R5cGVzXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFBhbnpvb20oaW5TZWxlY3Rvcjogc3RyaW5nLCBpbkJ0blpvb21Jbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLCBpbkJ0blpvb21PdXQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgaW5CdG5SZXNldFpvb206IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IFBhbnpvb21PYmplY3QgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNvbnRhaW5lcjogSFRNTEVsZW1lbnQgPSBqUXVlcnkoaW5TZWxlY3RvcikuZ2V0KDApO1xuXG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgICBjb25zdCBwYW56b29tOiBQYW56b29tT2JqZWN0ID0gUGFuem9vbShjb250YWluZXIsIHtcbiAgICAgICAgICAgIG1heFNjYWxlOiA1LFxuICAgICAgICAgICAgYW5pbWF0ZTogZmFsc2UsXG4gICAgICAgICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgICAgICAgIHN0YXJ0U2NhbGU6IFwiMC42NlwiXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGFkZFBhbnpvb21FdmVudHMoaW5CdG5ab29tSW4sIGluQnRuWm9vbU91dCwgaW5CdG5SZXNldFpvb20sIGNvbnRhaW5lci5wYXJlbnRFbGVtZW50ISwgcGFuem9vbSk7XG4gICAgICAgIHJldHVybiBwYW56b29tO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGFkZFBhbnpvb21FdmVudHMoaW5CdG5ab29tSW46IHN0cmluZyB8IHVuZGVmaW5lZCwgaW5CdG5ab29tT3V0OiBzdHJpbmcgfCB1bmRlZmluZWQsIGluQnRuUmVzZXRab29tOiBzdHJpbmcgfCB1bmRlZmluZWQsIGNvbnRhaW5lclBhcmVudDogSFRNTEVsZW1lbnQsIHBhbnpvb206IFBhbnpvb21PYmplY3QpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudE1hcHBpbmcgPSBbXG4gICAgICAgIHsgU2VsZWN0b3I6IGluQnRuWm9vbUluLCBQYW56b29tRnVuY3Rpb246IHBhbnpvb20uem9vbUluLCBUeXBlOiBcImNsaWNrXCIgfSxcbiAgICAgICAgeyBTZWxlY3RvcjogaW5CdG5ab29tT3V0LCBQYW56b29tRnVuY3Rpb246IHBhbnpvb20uem9vbU91dCwgVHlwZTogXCJjbGlja1wiIH0sXG4gICAgICAgIHsgU2VsZWN0b3I6IGluQnRuUmVzZXRab29tLCBQYW56b29tRnVuY3Rpb246IHBhbnpvb20ucmVzZXQsIFR5cGU6IFwiY2xpY2tcIiB9LFxuICAgICAgICB7IEhUTUxFbGVtZW50OiBjb250YWluZXJQYXJlbnQsIFBhbnpvb21GdW5jdGlvbjogcGFuem9vbS56b29tV2l0aFdoZWVsLCBUeXBlOiBcIndoZWVsXCIgfVxuICAgIF07XG5cbiAgICBldmVudE1hcHBpbmcubWFwKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LlNlbGVjdG9yKSB7XG4gICAgICAgICAgICBjb25zdCBidG46IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0galF1ZXJ5KGV2ZW50LlNlbGVjdG9yKS5nZXQoMCk7XG4gICAgICAgICAgICBpZiAoYnRuKVxuICAgICAgICAgICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKGV2ZW50LlR5cGUsIGV2ZW50LlBhbnpvb21GdW5jdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZXZlbnQuSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5UeXBlID09PSBcIndoZWVsXCIpXG4gICAgICAgICAgICAgICAgZXZlbnQuSFRNTEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudC5UeXBlLCBldmVudC5QYW56b29tRnVuY3Rpb24pO1xuICAgICAgICB9XG4gICAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuYmluZFBhbnpvb21FdmVudHMoaW5TZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyOiBIVE1MRWxlbWVudCA9IGpRdWVyeShpblNlbGVjdG9yKS5nZXQoMCk7XG4gICAgY29udGFpbmVyLnBhcmVudEVsZW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3doZWVsJywgY29uZmlnLnN0YXRlLnBhbnpvb20hLnpvb21XaXRoV2hlZWwpO1xufSIsImltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCAqIGFzIENvbW11bmljYXRpb24gZnJvbSBcIi4vY29tbXVuaWNhdGlvblwiO1xuaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCBVdGlscyBmcm9tICcuL3V0aWxzJ1xuXG5leHBvcnQgZnVuY3Rpb24gbmVlZENoZWNrb3V0UmVzcG9uc2UoaW5FOiBhbnksIGluSW5wdXRzV2l0aFZhbHVlOiBJLklucHV0c1dpdGhWYWx1ZSkge1xuICAgIGNvbnN0IGRhdGE6IEkuTWVzc2FnZSA9IEpTT04ucGFyc2UoaW5FLmRhdGEpO1xuICAgIGNvbnN0IGluVXJsOiBzdHJpbmcgPSBkYXRhLm1lc3NhZ2UudXJsO1xuXG4gICAgYXhpb3MuZ2V0KGluVXJsLCB7XG4gICAgICAgIG1heFJlZGlyZWN0czogMFxuICAgIH0pXG4gICAgICAgIC50aGVuKChpbkUpID0+IHtcbiAgICAgICAgICAgIHR5cGUgb3JkZXJrZXkgPSBzdHJpbmcgfCBudW1iZXIgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGxldCBpc1ZhbGlkU2VhdFNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgY29udGVudDogc3RyaW5nID0gaW5FLmRhdGE7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRIVE1MOiBOb2RlW10gPSBqUXVlcnkucGFyc2VIVE1MKGNvbnRlbnQpO1xuICAgICAgICAgICAgY29uc3Qgb3JkZXJrZXk6IG9yZGVya2V5ID0galF1ZXJ5KHBhcnNlZEhUTUwpLmZpbmQoXCIjb3JkZXJrZXlcIikudmFsKCk7XG5cbiAgICAgICAgICAgIFV0aWxzLmNvbnNvbGVMb2coYG9yZGVya2V5OiAke29yZGVya2V5fWApO1xuXG4gICAgICAgICAgICBpZiAob3JkZXJrZXkpIHtcbiAgICAgICAgICAgICAgICBpc1ZhbGlkU2VhdFNlbGVjdGlvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc3QgY2FuY2VsVXJsID0gYCR7aW5JbnB1dHNXaXRoVmFsdWVbXCJ0aWNrZXRQdXJjaGFzZVVybFwiXX0/dXNlcl9jb250ZXh0PSR7aW5JbnB1dHNXaXRoVmFsdWVbXCJ1c2VyX2NvbnRleHRcIl19JnBpZD0ke2luSW5wdXRzV2l0aFZhbHVlW1wicGlkXCJdfSZvcmRlcmtleT0ke29yZGVya2V5fSZ0cnhzdGF0ZT05MmA7XG4gICAgICAgICAgICAgICAgQ29tbXVuaWNhdGlvbi5jYW5jZWxDaGVja291dChjYW5jZWxVcmwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlOiBJLk1lc3NhZ2UgPSB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZToge1xuICAgICAgICAgICAgICAgICAgICBcImlzVmFsaWRTZWF0U2VsZWN0aW9uXCI6IGlzVmFsaWRTZWF0U2VsZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBcInBhcnNlZEhUTUxcIjogcGFyc2VkSFRNTCxcbiAgICAgICAgICAgICAgICAgICAgXCJ1cmxcIjogaW5VcmwsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBmcm9tOiBcInBhcmVudFwiLFxuICAgICAgICAgICAgICAgIGV2ZW50OiBcInBhcmVudF9zZW5kQ2hlY2tvdXRSZXNwb25zZVwiLFxuICAgICAgICAgICAgICAgIGRhdGU6IERhdGUubm93KClcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBDb21tdW5pY2F0aW9uLnNlbmRNZXNzYWdlKG1lc3NhZ2UsIFwiaWZyYW1lU2VhdG1hcFwiKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgVXRpbHMuY29uc29sZUxvZyhcImVycm9yIGluIGNoaWxkX25lZWRDaGVja291dFJlc3BvbnNlXCIpO1xuICAgICAgICAgICAgVXRpbHMuY29uc29sZUxvZyhlcnJvcik7XG4gICAgICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdE5lZWRJbnB1dHNXaXRoVmFsdWUoaW5JbnB1dHNXaXRoVmFsdWU6IEkuSW5wdXRzV2l0aFZhbHVlKSB7XG4gICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICBtZXNzYWdlOiBpbklucHV0c1dpdGhWYWx1ZSxcbiAgICAgICAgZnJvbTogXCJwYXJlbnRcIixcbiAgICAgICAgZXZlbnQ6IFwicGFyZW50X2luaXRfc2VuZElucHV0c1dpdGhWYWx1ZVwiLFxuICAgICAgICBkYXRlOiBEYXRlLm5vdygpXG4gICAgfTtcbiAgICBDb21tdW5pY2F0aW9uLnNlbmRNZXNzYWdlKG1lc3NhZ2UsIFwiaWZyYW1lU2VhdG1hcFwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXROZWVkVmVudWVYTUwoaW5JbnB1dHNXaXRoVmFsdWU6IEkuSW5wdXRzV2l0aFZhbHVlKSB7XG4gICAgQ29tbXVuaWNhdGlvbi5zZW5kWE1MKGluSW5wdXRzV2l0aFZhbHVlW1wicG9zdHVybFwiXSwgXCJpZnJhbWVTZWF0bWFwXCIsIFwicGFyZW50X2luaXRfc2VuZFZlbnVlWE1MXCIsIFwicGFyZW50XCIpO1xuICAgIGNvbmZpZy5jaGlsZEhhc1ZlbnVlWE1MID0gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5lZWRTZWF0bWFwWE1MKGluRTogYW55LCBpbklucHV0c1dpdGhWYWx1ZTogSS5JbnB1dHNXaXRoVmFsdWUpIHtcbiAgICBjb25zdCBkYXRhOiBJLk1lc3NhZ2UgPSBKU09OLnBhcnNlKGluRS5kYXRhKTtcbiAgICBjb25zdCBzZWF0bWFwVXJsOiBzdHJpbmcgPSBgJHtpbklucHV0c1dpdGhWYWx1ZVtcInBvc3R1cmxSYXdEZWNvZGVkXCJdfSZpbmNsc2VhdG1hcD1ZJnNlYXRtYXA9JHtkYXRhLm1lc3NhZ2V9YDtcbiAgICBDb21tdW5pY2F0aW9uLnNlbmRYTUwoc2VhdG1hcFVybCwgXCJpZnJhbWVTZWF0bWFwXCIsIFwicGFyZW50X3NlbmRTZWF0bWFwWE1MXCIsIFwicGFyZW50XCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xpY2tDaGVja291dChpbkU6IGFueSkge1xuICAgIGNvbnN0IGRhdGE6IEkuTWVzc2FnZSA9IEpTT04ucGFyc2UoaW5FLmRhdGEpO1xuICAgIGNvbnN0IGluVXJsOiBzdHJpbmcgPSBkYXRhLm1lc3NhZ2UudXJsO1xuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gaW5Vcmw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSZXNvdXJjZXMoKTogdm9pZCB7XG4gICAgY29uc3QgYnJhbmNoOiBJLlR5cGVDb25maWdCcmFuY2ggPSBjb25maWcuYnJhbmNoO1xuICAgIGNvbnN0IHJlc291cmNlcyA9IGNvbmZpZy5yZXNvdXJjZXNbYnJhbmNoXTtcblxuICAgIFV0aWxzLmluamVjdChyZXNvdXJjZXMuQ1NTUGFyZW50LCBcImNzc1wiLCBcImJvZHlcIik7XG59IiwiaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xudmFyIGpRdWVyeSA9IHJlcXVpcmUoXCJqcXVlcnlcIik7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZW51ZUxvY2F0aW9uKCk6IHN0cmluZyB7XG4gICAgbGV0IHNwYW5BcnI6IHN0cmluZ1tdID0gW107XG4gICAgalF1ZXJ5KFwiLnZlbnVlIHNwYW5cIikuZWFjaChmdW5jdGlvbiAodGhpczogYW55KSB7XG4gICAgICAgIHNwYW5BcnIucHVzaChqUXVlcnkodGhpcykudGV4dCgpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzcGFuQXJyLmpvaW4oXCIsIFwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldElucHV0cyhpbkNvbnRlbnQ6IHN0cmluZyk6IEkuSW5wdXRzICB7XG4gICAgY29uc3QgcGFyc2VkSFRNTDogTm9kZVtdID0galF1ZXJ5LnBhcnNlSFRNTChpbkNvbnRlbnQpO1xuICAgIGxldCBpbnB1dHM6IEkuSW5wdXRzID0ge307XG5cbiAgICBqUXVlcnkocGFyc2VkSFRNTCkuZmluZCgnaW5wdXQnKS5lYWNoKGZ1bmN0aW9uICh0aGlzOiBhbnkpIHtcbiAgICAgICAgY29uc3QgbmFtZTogc3RyaW5nID0gdGhpcy5uYW1lO1xuICAgICAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gdGhpcy52YWx1ZTtcblxuICAgICAgICBpZiAodmFsdWUgIT09ICcnKVxuICAgICAgICAgICAgaW5wdXRzW25hbWVdID0gdmFsdWU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaW5wdXRzO1xufVxuXG4vLyB0b2RvOiBjaGVjayB3aXRoIGRpZmZlcmVudCB2ZW51ZXNcbmV4cG9ydCBmdW5jdGlvbiBnZXRJbXBvcnRhbnROb3RlKCk6IEkuSW1wb3J0YW50Tm90ZSB8IHVuZGVmaW5lZCAge1xuICAgIGlmIChqUXVlcnkoXCIuaW1wb3J0YW50X25vdGVcIikubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGltcG9ydGFudE5vdGU6IHN0cmluZyB8IG51bGwgPSBqUXVlcnkoXCIuaW1wb3J0YW50X25vdGVcIilbMF0udGV4dENvbnRlbnQ7XG5cbiAgICAgICAgaWYgKGltcG9ydGFudE5vdGU/LnRyaW0oKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGltcG9ydGFudE5vdGVFbmNvZGVkOiBzdHJpbmcgPSBlbmNvZGVVUklDb21wb25lbnQoaW1wb3J0YW50Tm90ZSk7XG4gICAgICAgICAgICByZXR1cm4gPEkuSW1wb3J0YW50Tm90ZT4ge1xuICAgICAgICAgICAgICAgIFwiaW1wb3J0YW50Tm90ZVwiOiBpbXBvcnRhbnROb3RlLFxuICAgICAgICAgICAgICAgIFwiaW1wb3J0YW50Tm90ZUVuY29kZWRcIjogaW1wb3J0YW50Tm90ZUVuY29kZWRcbiAgICAgICAgICAgIH0gICAgICAgIFxuICAgICAgICB9XG4gICAgfSAgIFxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFkZGl0aW9uYWxJbnB1dHMoaW5Db250ZW50OiBzdHJpbmcpOiBJLklucHV0cyB7XG4gICAgY29uc3QgZXZlbnQgPSBpbkNvbnRlbnQubWF0Y2goL2V2ZW50OlwiKC4rPylcIi8pIVsxXTtcbiAgICBjb25zdCBob2xkY29kZSA9IGluQ29udGVudC5tYXRjaCgvaG9sZGNvZGU6XCIoLis/KVwiLykhWzFdO1xuICAgIGNvbnN0IHBvc3R1cmxSYXcgPSBpbkNvbnRlbnQubWF0Y2goL3Bvc3R1cmw6XCIoLis/KVwiLykhWzFdO1xuICAgIGNvbnN0IHBvc3R1cmxSYXdEZWNvZGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KHBvc3R1cmxSYXcpO1xuICAgIGNvbnN0IHBvc3R1cmwgPSBkZWNvZGVVUklDb21wb25lbnQoYCR7cG9zdHVybFJhd30mZXZlbnQ9JHtldmVudH0maG9sZGNvZGU9JHtob2xkY29kZX0mbm9jYWNoZT0wJmluY2xwa2c9WSZpbmNsb2ZmZXI9WSZpbmNsY2FydGRldGFpbHM9WSZpbmNsQ2FydD1ZJmluY2x2ZW51ZT1ZYCk7XG4gICAgY29uc3QgdmVudWVMb2NhdGlvbiA9IGdldFZlbnVlTG9jYXRpb24oKTtcbiAgICBjb25zdCB0aWNrZXRQdXJjaGFzZVVybCA9IGAke3Bvc3R1cmxSYXdEZWNvZGVkLnNwbGl0KFwiP1wiKVswXS5zcGxpdCgnLycpLnNsaWNlKDAsLTEpLmpvaW4oJy8nKX0vVGlja2V0UHVyY2hhc2VgO1xuXG4gICAgcmV0dXJuIDxJLklucHV0cz4ge1xuICAgICAgICBcImV2ZW50XCI6IGV2ZW50LFxuICAgICAgICBcImhvbGRjb2RlXCI6IGhvbGRjb2RlLFxuICAgICAgICBcInBvc3R1cmxSYXdcIjogcG9zdHVybFJhdyxcbiAgICAgICAgXCJwb3N0dXJsUmF3RGVjb2RlZFwiOiBwb3N0dXJsUmF3RGVjb2RlZCxcbiAgICAgICAgXCJwb3N0dXJsXCI6IHBvc3R1cmwsXG4gICAgICAgIFwidmVudWVMb2NhdGlvblwiOiB2ZW51ZUxvY2F0aW9uLFxuICAgICAgICBcInRpY2tldFB1cmNoYXNlVXJsXCI6IHRpY2tldFB1cmNoYXNlVXJsXG4gICAgfSAgICBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlbnVlSW1hZ2UoKTogSS5WZW51ZUltYWdlIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpbWc6IEhUTUxJbWFnZUVsZW1lbnQgPSBqUXVlcnkoXCIjc3RhdGljX3ZlbnVlX21hcCBpbWdcIikuZ2V0KDApO1xuXG4gICAgaWYgKGltZykge1xuICAgICAgICByZXR1cm4gPEkuVmVudWVJbWFnZT4ge1xuICAgICAgICAgICAgdmVudWVJbWFnZVNyYzogaW1nLnNyYyxcbiAgICAgICAgICAgIHZlbnVlSW1hZ2VIZWlnaHQ6IGltZy5oZWlnaHQsXG4gICAgICAgICAgICB2ZW51ZUltYWdlV2lkdGg6IGltZy53aWR0aFxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTTUFQKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFqUXVlcnkoXCIjc2VhdGluZ19tYXBfdXJsXCIpLmxlbmd0aClcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHN0cjogc3RyaW5nID0galF1ZXJ5KFwiI3NlYXRpbmdfbWFwX3VybCBhXCIpLmF0dHIoXCJvbmNsaWNrXCIpO1xuICAgIGNvbnN0IHJlID0gL29wZW5OZXdXaW5kb3dcXChcXCcoXFxkKylcXCcvO1xuICAgIGNvbnN0IGZvdW5kOiBSZWdFeHBNYXRjaEFycmF5IHwgbnVsbCA9IHN0ci5tYXRjaChyZSk7XG4gXG4gICAgcmV0dXJuIGZvdW5kID8gZm91bmRbMV0gOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFdmVudEluZm8oKTogSS5FdmVudEluZm8ge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHNlY3Rpb25BcnI6IEkuU2VjdGlvbjJbXSA9IHZlbnVlWE1MLm1hc3Rlcl9jb25maWdbMF0uc2VjdGlvbl9pbnZlbnRvcnlbMF0uc2VjdGlvbjtcbiAgICBjb25zdCBldmVudE9iajogSS5FdmVudCA9IHZlbnVlWE1MLmV2ZW50WzBdO1xuICAgIGNvbnN0IGV2ZW50OiBJLkV2ZW50ID0gdmVudWVYTUwuZXZlbnRbMF07XG4gICAgY29uc3QgdmVudWVfY29uZmlnOiBJLlZlbnVlQ29uZmlnID0gdmVudWVYTUwudmVudWVfY29uZmlnWzBdO1xuICAgIGNvbnN0IGRhdGVPYmo6IERhdGUgPSBuZXcgRGF0ZShwYXJzZUludChldmVudC55ZWFyWzBdKSwgcGFyc2VJbnQoZXZlbnQubW9udGhbMF0pIC0gMSwgcGFyc2VJbnQoZXZlbnQuZGF5WzBdKSwgcGFyc2VJbnQoZXZlbnQuaG91clswXSksIHBhcnNlSW50KGV2ZW50Lm1pbnV0ZVswXSkpO1xuICAgIGNvbnN0IHN0YXJ0OiBzdHJpbmdbXSA9IFtkYXRlT2JqLnRvTG9jYWxlU3RyaW5nKFtcImRlLURFXCJdLCB7IHdlZWtkYXk6IFwibG9uZ1wiLCBkYXk6IFwiMi1kaWdpdFwiLCBtb250aDogXCIyLWRpZ2l0XCIsIHllYXI6IFwibnVtZXJpY1wiLCBob3VyOiBcIjItZGlnaXRcIiwgbWludXRlOiBcIjItZGlnaXRcIiwgdGltZVpvbmVOYW1lOiBcInNob3J0XCIgfSldO1xuICAgIGNvbnN0IHdlZWtkYXk6IHN0cmluZ1tdID0gW1V0aWxzLmdldERheU5hbWUoZGF0ZU9iaiwgXCJkZS1ERVwiKV07XG4gICAgY29uc3Qgc2VhdHNfYXZhaWxhYmxlID0gc2VjdGlvbkFyci5tYXAoaXRlbSA9PiBwYXJzZUludChpdGVtLmF2YWlsYWJsZVswXSkpLnJlZHVjZSgocHJldiwgY3VycikgPT4gcHJldiArIGN1cnIpO1xuXG4gICAgY29uc3QgZXZlbnRFeHRlbmQ6IEkuRXZlbnRFeHRlbmQgPSB7XG4gICAgICAgIHZlbnVlX2NvbmZpZ19jYXBhY2l0eTogdmVudWVfY29uZmlnLmNhcGFjaXR5LFxuICAgICAgICB2ZW51ZV9jb25maWdfY29kZTogdmVudWVfY29uZmlnLmNvZGUsXG4gICAgICAgIHZlbnVlX2NvbmZpZ19kZXNjOiB2ZW51ZV9jb25maWcuZGVzYyxcbiAgICAgICAgdmVudWVfY29uZmlnX2lkOiB2ZW51ZV9jb25maWcuaWQsXG4gICAgICAgIHZlbnVlX2NvbmZpZ19uYXZfaW1hZ2U6IHZlbnVlX2NvbmZpZy5uYXZfaW1hZ2UsXG4gICAgICAgIHZlbnVlX2NvbmZpZ19uYXZfaW1hZ2VfaGVpZ2h0OiB2ZW51ZV9jb25maWcubmF2X2ltYWdlX2hlaWdodCxcbiAgICAgICAgdmVudWVfY29uZmlnX25hdl9pbWFnZV93aWR0aDogdmVudWVfY29uZmlnLm5hdl9pbWFnZV93aWR0aCxcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICB3ZWVrZGF5OiB3ZWVrZGF5LFxuICAgICAgICBzZWF0c19hdmFpbGFibGU6IHNlYXRzX2F2YWlsYWJsZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIDxJLkV2ZW50SW5mbz57IC4uLmV2ZW50T2JqLCAuLi5ldmVudEV4dGVuZCB9O1xufSIsImltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCAqIGFzIFhNTEhlbHBlciBmcm9tIFwiLi94bWxoZWxwZXJcIjtcbmltcG9ydCAqIGFzIGpCb3hIZWxwZXIgZnJvbSBcIi4vakJveEhlbHBlclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkU2VhdFRvU3RhdGUoaW5TZWxlY3RlZFNlYXQ6IEkuSlNDU2VsZWN0ZWRTZWF0KTogdm9pZCB7XG4gICAgYWRkU2VhdE9ialRvU3RhdGUoaW5TZWxlY3RlZFNlYXQpO1xuICAgIGNvbnN0IHByaWNlc2NhbGVJRDogc3RyaW5nID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmpbaW5TZWxlY3RlZFNlYXQuaWRdLmRhdGEuc2VhdHNPYmouaWRbMF07XG4gICAgY29uc3QgcHJpY2VzY2FsZU9iajogSS5QcmljZXNjYWxlNSB8IHVuZGVmaW5lZCA9IFhNTEhlbHBlci5nZXRWZW51ZVByaWNlU3RydWN0dXJlUHJvcGVydHlCeVByaWNlc2NhbGVJRChwcmljZXNjYWxlSUQpO1xuXG4gICAgaWYgKHByaWNlc2NhbGVPYmopIHtcbiAgICAgICAgY29uc3QgZmlyc3RCdXllclR5cGVJRDogc3RyaW5nID0gcHJpY2VzY2FsZU9iai5idXllcl90eXBlWzBdLmlkWzBdO1xuICAgICAgICBjb25zdCBidXllclR5cGVDb2RlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0QnV5ZXJUeXBlQ29kZUJ5QnV5ZXJUeXBlSUQoZmlyc3RCdXllclR5cGVJRCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkU2VhdHNBcnJJdGVtOiAoc3RyaW5nIHwgdW5kZWZpbmVkKVtdID0gW2luU2VsZWN0ZWRTZWF0LmlkLCBmaXJzdEJ1eWVyVHlwZUlELCBidXllclR5cGVDb2RlXTtcbiAgICAgICAgYWRkU2VhdHNJdGVtVG9TdGF0ZShzZWxlY3RlZFNlYXRzQXJySXRlbSk7XG4gICAgfVxuICAgIGVsc2VcbiAgICAgICAgY29uc29sZS53YXJuKGBDYW5ub3QgZmluZCBjb3JyZXNwb25kaW5nIHZlbnVlWE1MIHByaWNlc2NhbGVPYmogZm9yIHByaWNlc2NhbGUgd2l0aCBJRCAke3ByaWNlc2NhbGVJRH1gKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVNlYXRGcm9tU3RhdGUoaW5TZWxlY3RlZFNlYXQ6IEkuSlNDU2VsZWN0ZWRTZWF0KTogdm9pZCB7XG4gICAgZGVsZXRlIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqW2luU2VsZWN0ZWRTZWF0LmlkXTtcblxuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5maW5kSW5kZXgoYXJyID0+IGFyclswXSA9PT0gaW5TZWxlY3RlZFNlYXQuaWQpO1xuICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICBjb25maWcuc3RhdGUuY2FydENoYW5nZWQgPSB0cnVlO1xuXG4gICAgaWYgKCFjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGgpXG4gICAgICAgIGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheVwiKS5oaWRlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXhpbXVtU2VsZWN0ZWRTZWF0c1JlYWNoZWQoaW5TZWF0T2JqOiBJLkpTQ1NlbGVjdGVkU2VhdCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlYXRtYXA6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwO1xuXG4gICAgaWYgKGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aCA+PSBjb25maWcubWF4U2VsZWN0ZWRTZWF0cykge1xuICAgICAgICBqQm94SGVscGVyLnNob3dKQm94Tm90aWNlKGBTaWUga8O2bm5lbiBtYXhpbWFsICR7Y29uZmlnLm1heFNlbGVjdGVkU2VhdHN9IFBsw6R0emUgYXVzd8OkaGxlbi5gKTtcbiAgICAgICAgc2VhdG1hcC5zdGF0dXMoaW5TZWF0T2JqLmlkLCBcImF2YWlsYWJsZVwiKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBhZGRTZWF0c0l0ZW1Ub1N0YXRlKGluSXRlbTogKHN0cmluZyB8IHVuZGVmaW5lZClbXSk6IHZvaWQge1xuICAgIGlmIChpbkl0ZW0uZXZlcnkodiA9PiB2ICE9PSAoXCJcIiB8fCB1bmRlZmluZWQgfHwgbnVsbCkpKSB7XG4gICAgICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLnB1c2goPHN0cmluZ1tdPmluSXRlbSk7XG4gICAgICAgIGNvbmZpZy5zdGF0ZS5jYXJ0Q2hhbmdlZCA9IHRydWU7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBhZGRTZWF0T2JqVG9TdGF0ZShpblNlbGVjdGVkU2VhdDogSS5KU0NTZWxlY3RlZFNlYXQpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0SUQ6IHN0cmluZyA9IGluU2VsZWN0ZWRTZWF0LmlkO1xuICAgIGNvbnN0IHNlYXRPYmo6IEkuU3RhdGVKU0NTZWxlY3RlZFNlYXRzID0ge1xuICAgICAgICBbc2VhdElEXTogaW5TZWxlY3RlZFNlYXRcbiAgICB9XG5cbiAgICBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09iaiA9IHsgLi4uY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmosIC4uLnNlYXRPYmogfVxufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBDb21tdW5pY2F0aW9uIGZyb20gXCIuL2NvbW11bmljYXRpb25cIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgRXZlbnRzIGZyb20gXCIuL2V2ZW50c1wiO1xuaW1wb3J0ICogYXMgUGFuem9vbSBmcm9tIFwiLi9wYW56b29tXCI7XG5pbXBvcnQgKiBhcyBDYXJ0QnV0dG9ucyBmcm9tIFwiLi9jYXJ0QnV0dG9uc1wiO1xuaW1wb3J0IFV0aWxzIGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRPcHRpb25TZWxlY3QoaW5TZWF0bWFwTGlzdGluZzogSS5TZWF0bWFwW10sIGluSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRtYXBEcm9wZG93bjogSFRNTEVsZW1lbnQgfCBudWxsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5JZCk7XG5cbiAgICBpZiAoc2VhdG1hcERyb3Bkb3duKSB7XG4gICAgICAgIGZvciAobGV0IHNlYXRtYXBPYmogb2YgaW5TZWF0bWFwTGlzdGluZykge1xuICAgICAgICAgICAgdmFyIG9wdDogSFRNTE9wdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcbiAgICAgICAgICAgIG9wdC52YWx1ZSA9IHNlYXRtYXBPYmouaWRbMF07XG4gICAgICAgICAgICBvcHQuaW5uZXJIVE1MID0gc2VhdG1hcE9iai5kZXNjWzBdO1xuICAgICAgICAgICAgc2VhdG1hcERyb3Bkb3duLmFwcGVuZENoaWxkKG9wdCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRFdmVudEluZm8oaW5FdmVudEluZm86IEkuRXZlbnRJbmZvKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRzV2l0aFZhbHVlID0gY29uZmlnLnN0YXRlLmlucHV0c1dpdGhWYWx1ZSE7XG5cbiAgICBqUXVlcnkoXCIjZXZlbnRJbmZvRGVzYyBzcGFuLmZsLWhlYWRpbmctdGV4dFwiKVswXS5jaGlsZE5vZGVzWzBdLnRleHRDb250ZW50ID0gaW5FdmVudEluZm8uZGVzY1swXTtcbiAgICBqUXVlcnkoXCIjZXZlbnRJbmZvRGF0ZSBwXCIpWzBdLmNoaWxkTm9kZXNbMF0udGV4dENvbnRlbnQgPSBpbkV2ZW50SW5mby5zdGFydFswXTtcbiAgICBqUXVlcnkoXCIjZXZlbnRJbmZvTG9jYXRpb24gcFwiKVswXS5jaGlsZE5vZGVzWzBdLnRleHRDb250ZW50ID0gaW5wdXRzV2l0aFZhbHVlLnZlbnVlTG9jYXRpb247XG4gICAgalF1ZXJ5KFwiI2V2ZW50SW5mb0NhcGFjaXR5IHBcIilbMF0uY2hpbGROb2Rlc1swXS50ZXh0Q29udGVudCA9IGBWZXJmw7xnYmFyZSBQbMOkdHplOiAke2luRXZlbnRJbmZvLnNlYXRzX2F2YWlsYWJsZX0gdm9uICR7aW5FdmVudEluZm8udmVudWVfY29uZmlnX2NhcGFjaXR5WzBdfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEaWFsb2coKTogdm9pZCB7XG4gICAgY29uc3QgaWZyYW1lSFRNTDogc3RyaW5nID0gXCI8aWZyYW1lIGlkPSdpZnJhbWVTZWF0bWFwJyBzY3JvbGxpbmc9J25vJyBmcmFtZWJvcmRlcj0nMCcgbWFyZ2lud2lkdGg9JzAnIG1hcmdpbmhlaWdodD0nMCcgYWxsb3dmdWxsc2NyZWVuIHdpZHRoPScxMDAlJyAvPlwiO1xuICAgIGNvbnN0IHNyYzogc3RyaW5nID0gVXRpbHMuZ2V0Q29uZmlnVmFsdWUoXCJzZWF0bWFwXCIpO1xuXG4gICAgalF1ZXJ5KFwiI2RpYWxvZ1NlYXRtYXBcIikuYXBwZW5kKFxuICAgICAgICBqUXVlcnkoaWZyYW1lSFRNTClcbiAgICAgICAgICAgIC5hdHRyKFwic3JjXCIsIHNyYykpXG4gICAgICAgIC5kaWFsb2coe1xuICAgICAgICAgICAgbW9kYWw6IHRydWUsXG4gICAgICAgICAgICBhdXRvT3BlbjogZmFsc2UsXG4gICAgICAgICAgICBjbG9zZU9uRXNjYXBlOiB0cnVlLFxuICAgICAgICAgICAgZHJhZ2dhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGhpZGU6IHRydWUsXG4gICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgcmVzaXphYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIHRpdGxlOiBcIlwiLFxuICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgaGVpZ2h0OiBcImF1dG9cIixcbiAgICAgICAgICAgIGNsb3NlOiAoKSA9PiBqUXVlcnkoXCJodG1sLCBib2R5XCIpLmNzcyhcIm92ZXJmbG93XCIsIFwiYXV0b1wiKSxcbiAgICAgICAgfSk7XG5cbiAgICBFdmVudHMuYWRkT3BlblNlYXRtYXAoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc3Ryb3lDdXJyZW50U2VhdG1hcChpblNlbGVjdG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoY29uZmlnLnN0YXRlLnBhbnpvb20pXG4gICAgICAgIFBhbnpvb20udW5iaW5kUGFuem9vbUV2ZW50cyhpblNlbGVjdG9yKTtcblxuICAgIGpRdWVyeShcIiNjb250YWluZXJTZWF0bWFwSW5uZXJcIikucmVtb3ZlKCk7XG4gICAgalF1ZXJ5KFwiI2h0bWxTZWF0bWFwSW5uZXIgLmZsLWh0bWxcIikucmVtb3ZlQXR0cihcInN0eWxlXCIpO1xuICAgIGpRdWVyeShcIiNodG1sU2VhdG1hcElubmVyIC5mbC1odG1sXCIpLmFwcGVuZCgnPGRpdiBpZD1cImNvbnRhaW5lclNlYXRtYXBJbm5lclwiPjwvZGl2PicpO1xuICAgIGpRdWVyeShcIiNKU0NMZWdlbmRJbm5lclwiKS5yZW1vdmUoKTtcbiAgICBqUXVlcnkoXCIjSlNDTGVnZW5kIC5mbC1odG1sXCIpLmFwcGVuZCgnPGRpdiBpZD1cIkpTQ0xlZ2VuZElubmVyXCI+PC9kaXY+Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sTG9mdGxvYWRlcihpblN3aXRjaDogc3RyaW5nKSB7XG4gICAgaWYgKGluU3dpdGNoID09PSBcInNob3dcIilcbiAgICAgICAgalF1ZXJ5KFwiYm9keVwiKS5yZW1vdmVDbGFzcyhcImxvYWRlZCBsb2Z0bG9hZGVyLWxvYWRlZFwiKTtcbiAgICBlbHNlIGlmIChpblN3aXRjaCA9PT0gXCJoaWRlXCIpXG4gICAgICAgIGpRdWVyeShcImJvZHlcIikuYWRkQ2xhc3MoXCJsb2FkZWQgbG9mdGxvYWRlci1sb2FkZWRcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGFuZ2VWZW51ZUltYWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0c1dpdGhWYWx1ZTogSS5JbnB1dHNXaXRoVmFsdWUgPSBjb25maWcuc3RhdGUuaW5wdXRzV2l0aFZhbHVlITtcblxuICAgIGlmIChpbnB1dHNXaXRoVmFsdWUudmVudWVJbWFnZVNyYyAhPT0gdW5kZWZpbmVkKVxuICAgICAgICBqUXVlcnkoXCIjdmVudWVJbWFnZSBpbWdcIikuYXR0cihcInNyY1wiLCBpbnB1dHNXaXRoVmFsdWUudmVudWVJbWFnZVNyYyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmYWRlSW5DYXJ0TW9kYWwoKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5XCIpLmZhZGVJbigzMDApO1xuICAgIENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9QYXJlbnQoXCJjaGlsZF9oaWRlX2RpYWxvZ190aXRsZWJhclwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUHJpY2VzY2FsZUNTUygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHZlbnVlUHJpY2VzY2FsZXNBcnI6IEkuUHJpY2VzY2FsZTJbXSA9IHZlbnVlWE1MLnZlbnVlWzBdLnByaWNlc2NhbGVzWzBdLnByaWNlc2NhbGU7XG5cbiAgICByZXR1cm4gdmVudWVQcmljZXNjYWxlc0Fyci5tYXAoYXJyID0+IHtcbiAgICAgICAgY29uc3QgSUQ6IHN0cmluZyA9IGFyci5pZFswXTtcbiAgICAgICAgbGV0IGNvbG9yOiBzdHJpbmcgPSBgIyR7YXJyLmNvbG9yWzBdfSAhaW1wb3J0YW50YDsgIC8vIFVwZGF0ZTogQ29sb3JzIGFyZSBhbHdheXMgZGVmaW5lZDogZmFsbGJhY2sgY29sb3JzIGV4aXN0IGluIHN5c3RlbSBzbyBldmVyeSBYTUwgcHJvdmlkZXMgdGhlbVxuICAgICAgICByZXR1cm4gYC5fJHtJRH0geyBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yfTsgfWA7XG4gICAgfSkuam9pbihcIlxcclxcblwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkanVzdFVJVG9Mb2FkaW5nKCk6IHZvaWQge1xuICAgIENhcnRCdXR0b25zLnNob3dIaWRlQnRuQ2FydExvYWRpbmcoXCJzaG93XCIpO1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQgaVwiKS5oaWRlKCk7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b24tdGV4dFwiKS5hZGRDbGFzcyhcImRvdC1wdWxzZVwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZFZlcnNpb24oKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI2JvdHRvbUhUTUxWZXJzaW9uXCIpWzBdLmlubmVyVGV4dCA9IGNvbmZpZy52ZXJzaW9uO1xuICAgIGpRdWVyeShcIiNib3R0b21IVE1MQnJhbmNoXCIpWzBdLmlubmVyVGV4dCA9IGAoJHtjb25maWcuYnJhbmNofSlgO1xufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVXRpbHMge1xuXG4gICAgc3RhdGljIHdhaXRGb3JFbGVtZW50KGluU2VsZWN0b3I6IHN0cmluZyB8IENhbGxhYmxlRnVuY3Rpb24sIGluQ2FsbGJhY2s6IEZ1bmN0aW9uLCBpblN3aXRjaDogSS5UeXBlV2FpdEZvckVsZW1lbnRTd2l0Y2ggPSBcInNlbGVjdG9yXCIsIGluQ2hlY2tJbnRlcnZhbEluTXM6IG51bWJlciA9IDEwMDAsIGluVGltZW91dEluTXM6IG51bWJlciA9IDEwMDAwKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0YXJ0VGltZUluTXM6IG51bWJlciA9IERhdGUubm93KCk7XG5cbiAgICAgICAgKGZ1bmN0aW9uIGxvb3BTZWFyY2goKTogdm9pZCB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50OiBib29sZWFuIHwgSFRNTEVsZW1lbnQgPSBpblN3aXRjaCA9PT0gXCJzZWxlY3RvclwiID8galF1ZXJ5KDxzdHJpbmc+aW5TZWxlY3RvcikuZ2V0KDApIDogVXRpbHMuZ2V0U2VhdG1hcEVsZW1lbnQoKTtcblxuICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBVdGlscy5jb25zb2xlTG9nKFwicmVhZHlcIik7XG4gICAgICAgICAgICAgICAgaW5DYWxsYmFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgVXRpbHMuY29uc29sZUxvZyhgUmVwZWF0aW5nIGZvciAke2luU3dpdGNofWApO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW5UaW1lb3V0SW5NcyAmJiBEYXRlLm5vdygpIC0gc3RhcnRUaW1lSW5NcyA+IGluVGltZW91dEluTXMpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAgICAgbG9vcFNlYXJjaCgpO1xuICAgICAgICAgICAgICAgIH0sIGluQ2hlY2tJbnRlcnZhbEluTXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSgpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRTZWF0bWFwRWxlbWVudCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc2VhdENoYXJ0czogQ2FsbGFibGVGdW5jdGlvbiA9ICg8YW55PndpbmRvdykualF1ZXJ5KFwiI2NvbnRhaW5lclNlYXRtYXBcIikuc2VhdENoYXJ0cztcbiAgICAgICAgcmV0dXJuIFV0aWxzLmlzRnVuY3Rpb24oc2VhdENoYXJ0cyk7XG4gICAgfVxuXG4gICAgc3RhdGljIHdhaXRGb3JTZWF0bWFwKGluQ2FsbGJhY2s6IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlYXRDaGFydHM6IENhbGxhYmxlRnVuY3Rpb24gPSAoPGFueT53aW5kb3cpLmpRdWVyeShcIiNjb250YWluZXJTZWF0bWFwXCIpLnNlYXRDaGFydHM7XG4gICAgICAgIHRoaXMud2FpdEZvckVsZW1lbnQoc2VhdENoYXJ0cywgaW5DYWxsYmFjaywgXCJzZWF0bWFwXCIpO1xuICAgIH1cblxuICAgIHN0YXRpYyBxdWVyeVNlbGVjdG9yKHNlbGVjdG9yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpICE9IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHN0YXRpYyBpc0Z1bmN0aW9uKGluU2VsZWN0b3I6IENhbGxhYmxlRnVuY3Rpb24pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBpblNlbGVjdG9yID09PSBcImZ1bmN0aW9uXCIgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuXG4gICAgc3RhdGljIGluamVjdChpbkNvbnRlbnQ6IHN0cmluZywgaW5UeXBlOiBzdHJpbmcgPSBcImpzXCIsIGluTG9jOiBzdHJpbmcgPSBcImhlYWRcIik6IHZvaWQge1xuICAgICAgICB2YXIgc2NyaXB0OiBJLlR5cGVJbmplY3RTY3JpcHQgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgc3dpdGNoIChpblR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJqc1wiOlxuICAgICAgICAgICAgICAgIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICAgICAgICAgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgICAgICAgICAgICAgc2NyaXB0LnNyYyA9IGluQ29udGVudDtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcImNzc1wiOlxuICAgICAgICAgICAgICAgIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gICAgICAgICAgICAgICAgKDxIVE1MTGlua0VsZW1lbnQ+c2NyaXB0KS5yZWwgPSBcInN0eWxlc2hlZXRcIjtcbiAgICAgICAgICAgICAgICAoPEhUTUxMaW5rRWxlbWVudD5zY3JpcHQpLmhyZWYgPSBpbkNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJjc3NDdXN0b21cIjpcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICAgICAgICAgIHNjcmlwdC50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgICAgICAgICAgICBzY3JpcHQuaW5uZXJIVE1MID0gaW5Db250ZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwic2NyaXB0XCI6XG4gICAgICAgICAgICAgICAgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgICAgICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgICAgICAgICAgICBzY3JpcHQuaW5uZXJIVE1MID0gaW5Db250ZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHNjcmlwdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzY3JpcHQpXG4gICAgICAgICAgICBVdGlscy5hcHBlbmRTY3JpcHQoc2NyaXB0LCBpbkxvYyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGFwcGVuZFNjcmlwdChpblNjcmlwdDogSS5UeXBlSW5qZWN0U2NyaXB0LCBpbkxvYzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmIChpbkxvYyA9PT0gXCJib2R5XCIpXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGluU2NyaXB0KTtcbiAgICAgICAgZWxzZSBpZiAoaW5Mb2MgPT09IFwiaGVhZFwiKVxuICAgICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpblNjcmlwdCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldERheU5hbWUoaW5EYXRlOiBEYXRlLCBpbkxvY2FsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGluRGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoaW5Mb2NhbGUsIHsgd2Vla2RheTogJ2xvbmcnIH0pO1xuICAgIH1cblxuICAgIHN0YXRpYyBjb25zb2xlTG9nKGluTWVzc2FnZTogYW55KSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudltcIk5PREVfRU5WXCJdID09PSBcImRldmVsb3BtZW50XCIpXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhpbk1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRDb25maWdWYWx1ZShpblByb3BlcnR5OiBJLlR5cGVDb25maWdSZXNvdXJjZXNQcm9wZXJ0eSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGJyYW5jaDogSS5UeXBlQ29uZmlnQnJhbmNoID0gY29uZmlnLmJyYW5jaDtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VzID0gY29uZmlnLnJlc291cmNlc1ticmFuY2hdO1xuICAgICAgICByZXR1cm4gcmVzb3VyY2VzW2luUHJvcGVydHldO1xuICAgIH1cbn0iLCJcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NTTUFQKCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0c1dpdGhWYWx1ZSA9IGNvbmZpZy5zdGF0ZS5pbnB1dHNXaXRoVmFsdWUhO1xuXG4gICAgaWYgKCFpbnB1dHNXaXRoVmFsdWUuc21hcClcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgY29uc3Qgc21hcEFycjogbnVtYmVyW10gPSBpbnB1dHNXaXRoVmFsdWUuc21hcC5zcGxpdChcIlwiKS5tYXAoTnVtYmVyKTtcblxuICAgIGlmICghc21hcEFyclswXSlcbiAgICAgICAgalF1ZXJ5KFwiI2V2ZW50SW5mb0NhcGFjaXR5XCIpLmhpZGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlY3Rpb25EZXNjQnlTZWN0aW9uSUQoaW5TZWN0aW9uSUQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3Qgc2VjdGlvbkFycjogSS5TZWN0aW9uW10gPSB2ZW51ZVhNTC5tYXN0ZXJfY29uZmlnWzBdLnNlY3Rpb25fY29uZmlnWzBdLnNlY3Rpb247XG5cbiAgICByZXR1cm4gc2VjdGlvbkFyci5maW5kKGFyciA9PiBpblNlY3Rpb25JRCA9PT0gYXJyLmlkWzBdKT8uZGVzY1swXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlbnVlUHJpY2VzY2FsZVByb3BlcnR5QnlQcmljZXNjYWxlSUQoaW5Qcm9wZXJ0eTogSS5QcmljZXNjYWxlMlByb3BlcnRpZXMsIGluUHJpY2VzY2FsZUlEOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHZlbnVlUHJpY2VzY2FsZUFycjogSS5QcmljZXNjYWxlMltdID0gdmVudWVYTUwudmVudWVbMF0ucHJpY2VzY2FsZXNbMF0ucHJpY2VzY2FsZTtcblxuICAgIHJldHVybiB2ZW51ZVByaWNlc2NhbGVBcnIuZmluZChvYmogPT4gb2JqLmlkWzBdID09PSBpblByaWNlc2NhbGVJRCA/IG9iaiA6IHVuZGVmaW5lZCk/LltpblByb3BlcnR5XVswXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1eWVyVHlwZUNvZGVCeUJ1eWVyVHlwZUlEKGluQnV5ZXJUeXBlSUQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3QgdmVudWVCdXllclR5cGVBcnI6IEkuQnV5ZXJUeXBlMltdID0gdmVudWVYTUwudmVudWVbMF0uYnV5ZXJfdHlwZXNbMF0uYnV5ZXJfdHlwZTtcblxuICAgIHJldHVybiB2ZW51ZUJ1eWVyVHlwZUFyci5maW5kKGFyciA9PiBpbkJ1eWVyVHlwZUlEID09PSBhcnIuaWRbMF0pPy5jb2RlWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJpY2VCeUJ1eWVyVHlwZUlEKGluQnV5ZXJ0eXBlSUQ6IHN0cmluZywgaW5QcmljZXNjYWxlT2JqOiBJLlByaWNlc2NhbGU1KTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBwcmljZSA9IGluUHJpY2VzY2FsZU9iaj8uYnV5ZXJfdHlwZS5maW5kKGFyciA9PiBhcnIuaWRbMF0gPT09IGluQnV5ZXJ0eXBlSUQpPy5wcmljZVswXTtcbiAgICByZXR1cm4gcHJpY2UgPyBwYXJzZUZsb2F0KHByaWNlKSA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlbnVlUHJpY2VTdHJ1Y3R1cmVQcm9wZXJ0eUJ5UHJpY2VzY2FsZUlEKGluSUQ6IHN0cmluZyk6IEkuUHJpY2VzY2FsZTUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHZlbnVlUHJpY2VzY2FsZUFycjogSS5QcmljZXNjYWxlNVtdID0gdmVudWVYTUwucHJpY2Vfc3RydWN0dXJlWzBdLnByaWNlc2NhbGU7XG4gICAgcmV0dXJuIHZlbnVlUHJpY2VzY2FsZUFyci5maW5kKG9iaiA9PiBvYmouaWRbMF0gPT09IGluSUQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnV5ZXJUeXBlc0J5UHJpY2VzY2FsZUlEKGluUHJpY2VzY2FsZUlEOiBzdHJpbmcpOiBJLlR5cGVCdXllclR5cGVBcnJbXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYnV5ZXJUeXBlc0FycjogSS5CdXllclR5cGUzW10gfCB1bmRlZmluZWQgPSBmaW5kQnV5ZXJUeXBlc0FyckJ5UHJpY2VzY2FsZUlEKGluUHJpY2VzY2FsZUlEKTtcbiAgICByZXR1cm4gYnV5ZXJUeXBlc0FyciA/IGJ1eWVyVHlwZXNBcnIubWFwKGFyciA9PiBbYXJyLmlkWzBdLCBhcnIucHJpY2VbMF0sIGdldEJ1eWVyVHlwZURlc2MoYXJyKV0pIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVTZWxlY3RlZFNlYXRJbmRleGVzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5tYXAoYXJyID0+IGFyci5qb2luKFwiLFwiKSkpLmpvaW4oXCJ8XCIpO1xufVxuXG5mdW5jdGlvbiBmaW5kQnV5ZXJUeXBlc0FyckJ5UHJpY2VzY2FsZUlEKGluUHJpY2VzY2FsZUlEOiBzdHJpbmcpOiBJLkJ1eWVyVHlwZTNbXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3QgdmVudWVQcmljZXNjYWxlQXJyOiBJLlByaWNlc2NhbGU1W10gPSB2ZW51ZVhNTC5wcmljZV9zdHJ1Y3R1cmVbMF0ucHJpY2VzY2FsZTtcblxuICAgIHJldHVybiB2ZW51ZVByaWNlc2NhbGVBcnIuZmluZChvYmogPT4gb2JqLmlkWzBdID09PSBpblByaWNlc2NhbGVJRCk/LmJ1eWVyX3R5cGU7XG59XG5cbmZ1bmN0aW9uIGdldEJ1eWVyVHlwZURlc2MoaW5BcnI6IEkuQnV5ZXJUeXBlMyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3QgYnV5ZXJUeXBlQXJyOiBJLkJ1eWVyVHlwZTJbXSA9IHZlbnVlWE1MLnZlbnVlWzBdLmJ1eWVyX3R5cGVzWzBdLmJ1eWVyX3R5cGU7XG5cbiAgICByZXR1cm4gYnV5ZXJUeXBlQXJyLmZpbmQob2JqID0+IG9iai5pZFswXSA9PT0gaW5BcnIuaWRbMF0gPyBvYmouZGVzY1swXSA6IHVuZGVmaW5lZCk/LmRlc2NbMF07XG59IiwiXCJ1c2Ugc3RyaWN0XCI7ZXhwb3J0cy5ieXRlTGVuZ3RoPWJ5dGVMZW5ndGgsZXhwb3J0cy50b0J5dGVBcnJheT10b0J5dGVBcnJheSxleHBvcnRzLmZyb21CeXRlQXJyYXk9ZnJvbUJ5dGVBcnJheTtmb3IodmFyIGxvb2t1cD1bXSxyZXZMb29rdXA9W10sQXJyPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBVaW50OEFycmF5P1VpbnQ4QXJyYXk6QXJyYXksY29kZT1cIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky9cIixpPTAsbGVuPWNvZGUubGVuZ3RoO2k8bGVuOysraSlsb29rdXBbaV09Y29kZVtpXSxyZXZMb29rdXBbY29kZS5jaGFyQ29kZUF0KGkpXT1pO2Z1bmN0aW9uIGdldExlbnMobyl7dmFyIHI9by5sZW5ndGg7aWYociU0PjApdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNFwiKTt2YXIgZT1vLmluZGV4T2YoXCI9XCIpO3JldHVybi0xPT09ZSYmKGU9ciksW2UsZT09PXI/MDo0LWUlNF19ZnVuY3Rpb24gYnl0ZUxlbmd0aChvKXt2YXIgcj1nZXRMZW5zKG8pLGU9clswXSx0PXJbMV07cmV0dXJuIDMqKGUrdCkvNC10fWZ1bmN0aW9uIF9ieXRlTGVuZ3RoKG8scixlKXtyZXR1cm4gMyoocitlKS80LWV9ZnVuY3Rpb24gdG9CeXRlQXJyYXkobyl7dmFyIHIsZSx0PWdldExlbnMobyksbj10WzBdLHU9dFsxXSxwPW5ldyBBcnIoX2J5dGVMZW5ndGgobyxuLHUpKSxhPTAsaD11PjA/bi00Om47Zm9yKGU9MDtlPGg7ZSs9NClyPXJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSldPDwxOHxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMSldPDwxMnxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMildPDw2fHJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSszKV0scFthKytdPXI+PjE2JjI1NSxwW2ErK109cj4+OCYyNTUscFthKytdPTI1NSZyO3JldHVybiAyPT09dSYmKHI9cmV2TG9va3VwW28uY2hhckNvZGVBdChlKV08PDJ8cmV2TG9va3VwW28uY2hhckNvZGVBdChlKzEpXT4+NCxwW2ErK109MjU1JnIpLDE9PT11JiYocj1yZXZMb29rdXBbby5jaGFyQ29kZUF0KGUpXTw8MTB8cmV2TG9va3VwW28uY2hhckNvZGVBdChlKzEpXTw8NHxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMildPj4yLHBbYSsrXT1yPj44JjI1NSxwW2ErK109MjU1JnIpLHB9ZnVuY3Rpb24gdHJpcGxldFRvQmFzZTY0KG8pe3JldHVybiBsb29rdXBbbz4+MTgmNjNdK2xvb2t1cFtvPj4xMiY2M10rbG9va3VwW28+PjYmNjNdK2xvb2t1cFs2MyZvXX1mdW5jdGlvbiBlbmNvZGVDaHVuayhvLHIsZSl7Zm9yKHZhciB0LG49W10sdT1yO3U8ZTt1Kz0zKXQ9KG9bdV08PDE2JjE2NzExNjgwKSsob1t1KzFdPDw4JjY1MjgwKSsoMjU1Jm9bdSsyXSksbi5wdXNoKHRyaXBsZXRUb0Jhc2U2NCh0KSk7cmV0dXJuIG4uam9pbihcIlwiKX1mdW5jdGlvbiBmcm9tQnl0ZUFycmF5KG8pe2Zvcih2YXIgcixlPW8ubGVuZ3RoLHQ9ZSUzLG49W10sdT0wLHA9ZS10O3U8cDt1Kz0xNjM4MyluLnB1c2goZW5jb2RlQ2h1bmsobyx1LHUrMTYzODM+cD9wOnUrMTYzODMpKTtyZXR1cm4gMT09PXQ/KHI9b1tlLTFdLG4ucHVzaChsb29rdXBbcj4+Ml0rbG9va3VwW3I8PDQmNjNdK1wiPT1cIikpOjI9PT10JiYocj0ob1tlLTJdPDw4KStvW2UtMV0sbi5wdXNoKGxvb2t1cFtyPj4xMF0rbG9va3VwW3I+PjQmNjNdK2xvb2t1cFtyPDwyJjYzXStcIj1cIikpLG4uam9pbihcIlwiKX1yZXZMb29rdXBbXCItXCIuY2hhckNvZGVBdCgwKV09NjIscmV2TG9va3VwW1wiX1wiLmNoYXJDb2RlQXQoMCldPTYzO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltVjRjRzl5ZEhNaUxDSmllWFJsVEdWdVozUm9JaXdpZEc5Q2VYUmxRWEp5WVhraUxDSm1jbTl0UW5sMFpVRnljbUY1SWl3aWJHOXZhM1Z3SWl3aWNtVjJURzl2YTNWd0lpd2lRWEp5SWl3aVZXbHVkRGhCY25KaGVTSXNJa0Z5Y21GNUlpd2lZMjlrWlNJc0lta2lMQ0pzWlc0aUxDSnNaVzVuZEdnaUxDSmphR0Z5UTI5a1pVRjBJaXdpWjJWMFRHVnVjeUlzSW1JMk5DSXNJa1Z5Y205eUlpd2lkbUZzYVdSTVpXNGlMQ0pwYm1SbGVFOW1JaXdpYkdWdWN5SXNJbkJzWVdObFNHOXNaR1Z5YzB4bGJpSXNJbDlpZVhSbFRHVnVaM1JvSWl3aWRHMXdJaXdpWVhKeUlpd2lZM1Z5UW5sMFpTSXNJblJ5YVhCc1pYUlViMEpoYzJVMk5DSXNJbTUxYlNJc0ltVnVZMjlrWlVOb2RXNXJJaXdpZFdsdWREZ2lMQ0p6ZEdGeWRDSXNJbVZ1WkNJc0ltOTFkSEIxZENJc0luQjFjMmdpTENKcWIybHVJaXdpWlhoMGNtRkNlWFJsY3lJc0luQmhjblJ6SWl3aWJHVnVNaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFVRXNVVUZCVVVNc1YwRkJZVUVzVjBGRGNrSkVMRkZCUVZGRkxGbEJRV05CTEZsQlEzUkNSaXhSUVVGUlJ5eGpRVUZuUWtFc1kwRlBlRUlzU1VGTVFTeEpRVUZKUXl4UFFVRlRMRWRCUTFSRExGVkJRVmtzUjBGRFdrTXNTVUZCTkVJc2IwSkJRV1pETEZkQlFUWkNRU3hYUVVGaFF5eE5RVVYyUkVNc1MwRkJUeXh0UlVGRFJrTXNSVUZCU1N4RlFVRkhReXhKUVVGTlJpeExRVUZMUnl4UFFVRlJSaXhGUVVGSlF5eE5RVUZQUkN4RlFVTTFRMDRzVDBGQlQwMHNSMEZCUzBRc1MwRkJTME1zUjBGRGFrSk1MRlZCUVZWSkxFdEJRVXRKTEZkQlFWZElMRWxCUVUxQkxFVkJVV3hETEZOQlFWTkpMRkZCUVZORExFZEJRMmhDTEVsQlFVbEtMRVZCUVUxSkxFVkJRVWxJTEU5QlJXUXNSMEZCU1VRc1JVRkJUU3hGUVVGSkxFVkJRMW9zVFVGQlRTeEpRVUZKU3l4TlFVRk5MR3RFUVV0c1FpeEpRVUZKUXl4RlFVRlhSaXhGUVVGSlJ5eFJRVUZSTEV0QlR6TkNMRTlCVG10Q0xFbEJRV1JFTEVsQlFXbENRU3hGUVVGWFRpeEhRVTE2UWl4RFFVRkRUU3hGUVVwalFTeEpRVUZoVGl4RlFVTXZRaXhGUVVOQkxFVkJRVXROTEVWQlFWY3NSMEZOZEVJc1UwRkJVMmhDTEZkQlFWbGpMRWRCUTI1Q0xFbEJRVWxKTEVWQlFVOU1MRkZCUVZGRExFZEJRMlpGTEVWQlFWZEZMRVZCUVVzc1IwRkRhRUpETEVWQlFXdENSQ3hGUVVGTExFZEJRek5DTEU5QlFYVkRMRWRCUVRsQ1JpeEZRVUZYUnl4SFFVRjFRaXhGUVVGTFFTeEZRVWRzUkN4VFFVRlRReXhaUVVGaFRpeEZRVUZMUlN4RlFVRlZSeXhIUVVOdVF5eFBRVUYxUXl4SFFVRTVRa2dzUlVGQlYwY3NSMEZCZFVJc1JVRkJTMEVzUlVGSGJFUXNVMEZCVTJ4Q0xGbEJRV0ZoTEVkQlEzQkNMRWxCUVVsUExFVkJZMEZhTEVWQllrRlRMRVZCUVU5TUxGRkJRVkZETEVkQlEyWkZMRVZCUVZkRkxFVkJRVXNzUjBGRGFFSkRMRVZCUVd0Q1JDeEZRVUZMTEVkQlJYWkNTU3hGUVVGTkxFbEJRVWxxUWl4SlFVRkpaU3haUVVGWlRpeEZRVUZMUlN4RlFVRlZSeXhKUVVWNlEwa3NSVUZCVlN4RlFVZFdZaXhGUVVGTlV5eEZRVUZyUWl4RlFVTjRRa2dzUlVGQlZ5eEZRVU5ZUVN4RlFVZEtMRWxCUVV0UUxFVkJRVWtzUlVGQlIwRXNSVUZCU1VNc1JVRkJTMFFzUjBGQlN5eEZRVU40UWxrc1JVRkRSMnBDTEZWQlFWVlZMRVZCUVVsR0xGZEJRVmRJTEV0QlFVOHNSMEZEYUVOTUxGVkJRVlZWTEVWQlFVbEdMRmRCUVZkSUxFVkJRVWtzUzBGQlR5eEhRVU53UTB3c1ZVRkJWVlVzUlVGQlNVWXNWMEZCVjBnc1JVRkJTU3hMUVVGUExFVkJRM0pEVEN4VlFVRlZWU3hGUVVGSlJpeFhRVUZYU0N4RlFVRkpMRWxCUXk5Q1lTeEZRVUZKUXl4TFFVRmpSaXhIUVVGUExFZEJRVTBzU1VGREwwSkRMRVZCUVVsRExFdEJRV05HTEVkQlFVOHNSVUZCU3l4SlFVTTVRa01zUlVGQlNVTXNTMEZCYlVJc1NVRkJUa1lzUlVGdFFtNUNMRTlCYUVKM1FpeEpRVUZ3UWtZc1NVRkRSa1VzUlVGRFIycENMRlZCUVZWVkxFVkJRVWxHTEZkQlFWZElMRXRCUVU4c1JVRkRhRU5NTEZWQlFWVlZMRVZCUVVsR0xGZEJRVmRJTEVWQlFVa3NTMEZCVHl4RlFVTjJRMkVzUlVGQlNVTXNTMEZCYlVJc1NVRkJUa1lzUjBGSFN5eEpRVUZ3UWtZc1NVRkRSa1VzUlVGRFIycENMRlZCUVZWVkxFVkJRVWxHTEZkQlFWZElMRXRCUVU4c1IwRkRhRU5NTEZWQlFWVlZMRVZCUVVsR0xGZEJRVmRJTEVWQlFVa3NTMEZCVHl4RlFVTndRMHdzVlVGQlZWVXNSVUZCU1VZc1YwRkJWMGdzUlVGQlNTeExRVUZQTEVWQlEzWkRZU3hGUVVGSlF5eExRVUZqUml4SFFVRlBMRVZCUVVzc1NVRkRPVUpETEVWQlFVbERMRXRCUVcxQ0xFbEJRVTVHTEVkQlIxcERMRVZCUjFRc1UwRkJVMFVzWjBKQlFXbENReXhIUVVONFFpeFBRVUZQZEVJc1QwRkJUM05DTEVkQlFVOHNSMEZCU3l4SlFVTjRRblJDTEU5QlFVOXpRaXhIUVVGUExFZEJRVXNzU1VGRGJrSjBRaXhQUVVGUGMwSXNSMEZCVHl4RlFVRkpMRWxCUTJ4Q2RFSXNUMEZCWVN4SFFVRk9jMElzUjBGSFdDeFRRVUZUUXl4WlFVRmhReXhGUVVGUFF5eEZRVUZQUXl4SFFVZHNReXhKUVVaQkxFbEJRVWxTTEVWQlEwRlRMRVZCUVZNc1IwRkRTbkpDTEVWQlFVbHRRaXhGUVVGUGJrSXNSVUZCU1c5Q0xFVkJRVXR3UWl4SFFVRkxMRVZCUTJoRFdTeEhRVU5KVFN4RlFVRk5iRUlzU1VGQlRTeEhRVUZOTEZkQlEyeENhMElzUlVGQlRXeENMRVZCUVVrc1NVRkJUU3hGUVVGTExGRkJRMUFzU1VGQlptdENMRVZCUVUxc1FpeEZRVUZKTEVsQlEySnhRaXhGUVVGUFF5eExRVUZMVUN4blFrRkJaMEpJTEVsQlJUbENMRTlCUVU5VExFVkJRVTlGTEV0QlFVc3NTVUZIY2tJc1UwRkJVemxDTEdOQlFXVjVRaXhIUVZGMFFpeEpRVkJCTEVsQlFVbE9MRVZCUTBGWUxFVkJRVTFwUWl4RlFVRk5hRUlzVDBGRFduTkNMRVZCUVdGMlFpeEZRVUZOTEVWQlEyNUNkMElzUlVGQlVTeEhRVWxJZWtJc1JVRkJTU3hGUVVGSE1FSXNSVUZCVDNwQ0xFVkJRVTExUWl4RlFVRlplRUlzUlVGQlNUQkNMRVZCUVUweFFpeEhRVWc1UWl4TlFVbHVRbmxDTEVWQlFVMUlMRXRCUVV0TUxGbEJRVmxETEVWQlFVOXNRaXhGUVVGSlFTeEZRVXBtTEUxQlNYRkRNRUlzUlVGQlQwRXNSVUZCVVRGQ0xFVkJTbkJFTEZGQmVVSnlRaXhQUVdwQ2JVSXNTVUZCWm5kQ0xFZEJRMFphTEVWQlFVMU5MRVZCUVUxcVFpeEZRVUZOTEVkQlEyeENkMElzUlVGQlRVZ3NTMEZEU2pWQ0xFOUJRVTlyUWl4SFFVRlBMRWRCUTJSc1FpeFBRVUZSYTBJc1IwRkJUeXhGUVVGTExFbEJRM0JDTEU5QlJYTkNMRWxCUVdaWkxFbEJRMVJhTEVkQlFVOU5MRVZCUVUxcVFpeEZRVUZOTEVsQlFVMHNSMEZCUzJsQ0xFVkJRVTFxUWl4RlFVRk5MRWRCUXpGRGQwSXNSVUZCVFVnc1MwRkRTalZDTEU5QlFVOXJRaXhIUVVGUExFbEJRMlJzUWl4UFFVRlJhMElzUjBGQlR5eEZRVUZMTEVsQlEzQkNiRUlzVDBGQlVXdENMRWRCUVU4c1JVRkJTeXhKUVVOd1FpeE5RVWxIWVN4RlFVRk5SaXhMUVVGTExFbEJiRWx3UWpWQ0xGVkJRVlVzU1VGQlNWRXNWMEZCVnl4SlFVRk5MRWRCUXk5Q1VpeFZRVUZWTEVsQlFVbFJMRmRCUVZjc1NVRkJUU0lzSW1acGJHVWlPaUl2ZFhOeUwyeHZZMkZzTDJ4cFlpOXViMlJsWDIxdlpIVnNaWE12ZDJGMFkyaHBabmt2Ym05a1pWOXRiMlIxYkdWekwySmhjMlUyTkMxcWN5OXBibVJsZUM1cWN5SjkiLCJcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltVnRjSFI1TG1weklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJaUxDSm1hV3hsSWpvaUwzVnpjaTlzYjJOaGJDOXNhV0l2Ym05a1pWOXRiMlIxYkdWekwzZGhkR05vYVdaNUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlMWEpsYzI5c2RtVXZaVzF3ZEhrdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGJhc2U2ND1yZXF1aXJlKFwiYmFzZTY0LWpzXCIpLGllZWU3NTQ9cmVxdWlyZShcImllZWU3NTRcIik7ZXhwb3J0cy5CdWZmZXI9QnVmZmVyLGV4cG9ydHMuU2xvd0J1ZmZlcj1TbG93QnVmZmVyLGV4cG9ydHMuSU5TUEVDVF9NQVhfQllURVM9NTA7dmFyIEtfTUFYX0xFTkdUSD0yMTQ3NDgzNjQ3O2Z1bmN0aW9uIHR5cGVkQXJyYXlTdXBwb3J0KCl7dHJ5e3ZhciBlPW5ldyBVaW50OEFycmF5KDEpO3JldHVybiBlLl9fcHJvdG9fXz17X19wcm90b19fOlVpbnQ4QXJyYXkucHJvdG90eXBlLGZvbzpmdW5jdGlvbigpe3JldHVybiA0Mn19LDQyPT09ZS5mb28oKX1jYXRjaChlKXtyZXR1cm4hMX19ZnVuY3Rpb24gY3JlYXRlQnVmZmVyKGUpe2lmKGU+S19NQVhfTEVOR1RIKXRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgXCInK2UrJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcInNpemVcIicpO3ZhciB0PW5ldyBVaW50OEFycmF5KGUpO3JldHVybiB0Ll9fcHJvdG9fXz1CdWZmZXIucHJvdG90eXBlLHR9ZnVuY3Rpb24gQnVmZmVyKGUsdCxyKXtpZihcIm51bWJlclwiPT10eXBlb2YgZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwic3RyaW5nXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIHN0cmluZy4gUmVjZWl2ZWQgdHlwZSBudW1iZXInKTtyZXR1cm4gYWxsb2NVbnNhZmUoZSl9cmV0dXJuIGZyb20oZSx0LHIpfWZ1bmN0aW9uIGZyb20oZSx0LHIpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXJldHVybiBmcm9tU3RyaW5nKGUsdCk7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpKXJldHVybiBmcm9tQXJyYXlMaWtlKGUpO2lmKG51bGw9PWUpdGhyb3cgVHlwZUVycm9yKFwiVGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgb3IgQXJyYXktbGlrZSBPYmplY3QuIFJlY2VpdmVkIHR5cGUgXCIrdHlwZW9mIGUpO2lmKGlzSW5zdGFuY2UoZSxBcnJheUJ1ZmZlcil8fGUmJmlzSW5zdGFuY2UoZS5idWZmZXIsQXJyYXlCdWZmZXIpKXJldHVybiBmcm9tQXJyYXlCdWZmZXIoZSx0LHIpO2lmKFwibnVtYmVyXCI9PXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcInZhbHVlXCIgYXJndW1lbnQgbXVzdCBub3QgYmUgb2YgdHlwZSBudW1iZXIuIFJlY2VpdmVkIHR5cGUgbnVtYmVyJyk7dmFyIG49ZS52YWx1ZU9mJiZlLnZhbHVlT2YoKTtpZihudWxsIT1uJiZuIT09ZSlyZXR1cm4gQnVmZmVyLmZyb20obix0LHIpO3ZhciBmPWZyb21PYmplY3QoZSk7aWYoZilyZXR1cm4gZjtpZihcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZudWxsIT1TeW1ib2wudG9QcmltaXRpdmUmJlwiZnVuY3Rpb25cIj09dHlwZW9mIGVbU3ltYm9sLnRvUHJpbWl0aXZlXSlyZXR1cm4gQnVmZmVyLmZyb20oZVtTeW1ib2wudG9QcmltaXRpdmVdKFwic3RyaW5nXCIpLHQscik7dGhyb3cgbmV3IFR5cGVFcnJvcihcIlRoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIG9uZSBvZiB0eXBlIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIEFycmF5LWxpa2UgT2JqZWN0LiBSZWNlaXZlZCB0eXBlIFwiK3R5cGVvZiBlKX1mdW5jdGlvbiBhc3NlcnRTaXplKGUpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1wic2l6ZVwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBudW1iZXInKTtpZihlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBcIicrZSsnXCIgaXMgaW52YWxpZCBmb3Igb3B0aW9uIFwic2l6ZVwiJyl9ZnVuY3Rpb24gYWxsb2MoZSx0LHIpe3JldHVybiBhc3NlcnRTaXplKGUpLGU8PTA/Y3JlYXRlQnVmZmVyKGUpOnZvaWQgMCE9PXQ/XCJzdHJpbmdcIj09dHlwZW9mIHI/Y3JlYXRlQnVmZmVyKGUpLmZpbGwodCxyKTpjcmVhdGVCdWZmZXIoZSkuZmlsbCh0KTpjcmVhdGVCdWZmZXIoZSl9ZnVuY3Rpb24gYWxsb2NVbnNhZmUoZSl7cmV0dXJuIGFzc2VydFNpemUoZSksY3JlYXRlQnVmZmVyKGU8MD8wOjB8Y2hlY2tlZChlKSl9ZnVuY3Rpb24gZnJvbVN0cmluZyhlLHQpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiB0JiZcIlwiIT09dHx8KHQ9XCJ1dGY4XCIpLCFCdWZmZXIuaXNFbmNvZGluZyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrdCk7dmFyIHI9MHxieXRlTGVuZ3RoKGUsdCksbj1jcmVhdGVCdWZmZXIociksZj1uLndyaXRlKGUsdCk7cmV0dXJuIGYhPT1yJiYobj1uLnNsaWNlKDAsZikpLG59ZnVuY3Rpb24gZnJvbUFycmF5TGlrZShlKXtmb3IodmFyIHQ9ZS5sZW5ndGg8MD8wOjB8Y2hlY2tlZChlLmxlbmd0aCkscj1jcmVhdGVCdWZmZXIodCksbj0wO248dDtuKz0xKXJbbl09MjU1JmVbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gZnJvbUFycmF5QnVmZmVyKGUsdCxyKXtpZih0PDB8fGUuYnl0ZUxlbmd0aDx0KXRocm93IG5ldyBSYW5nZUVycm9yKCdcIm9mZnNldFwiIGlzIG91dHNpZGUgb2YgYnVmZmVyIGJvdW5kcycpO2lmKGUuYnl0ZUxlbmd0aDx0KyhyfHwwKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcignXCJsZW5ndGhcIiBpcyBvdXRzaWRlIG9mIGJ1ZmZlciBib3VuZHMnKTt2YXIgbjtyZXR1cm4obj12b2lkIDA9PT10JiZ2b2lkIDA9PT1yP25ldyBVaW50OEFycmF5KGUpOnZvaWQgMD09PXI/bmV3IFVpbnQ4QXJyYXkoZSx0KTpuZXcgVWludDhBcnJheShlLHQscikpLl9fcHJvdG9fXz1CdWZmZXIucHJvdG90eXBlLG59ZnVuY3Rpb24gZnJvbU9iamVjdChlKXtpZihCdWZmZXIuaXNCdWZmZXIoZSkpe3ZhciB0PTB8Y2hlY2tlZChlLmxlbmd0aCkscj1jcmVhdGVCdWZmZXIodCk7cmV0dXJuIDA9PT1yLmxlbmd0aD9yOihlLmNvcHkociwwLDAsdCkscil9cmV0dXJuIHZvaWQgMCE9PWUubGVuZ3RoP1wibnVtYmVyXCIhPXR5cGVvZiBlLmxlbmd0aHx8bnVtYmVySXNOYU4oZS5sZW5ndGgpP2NyZWF0ZUJ1ZmZlcigwKTpmcm9tQXJyYXlMaWtlKGUpOlwiQnVmZmVyXCI9PT1lLnR5cGUmJkFycmF5LmlzQXJyYXkoZS5kYXRhKT9mcm9tQXJyYXlMaWtlKGUuZGF0YSk6dm9pZCAwfWZ1bmN0aW9uIGNoZWNrZWQoZSl7aWYoZT49S19NQVhfTEVOR1RIKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQXR0ZW1wdCB0byBhbGxvY2F0ZSBCdWZmZXIgbGFyZ2VyIHRoYW4gbWF4aW11bSBzaXplOiAweFwiK0tfTUFYX0xFTkdUSC50b1N0cmluZygxNikrXCIgYnl0ZXNcIik7cmV0dXJuIDB8ZX1mdW5jdGlvbiBTbG93QnVmZmVyKGUpe3JldHVybitlIT1lJiYoZT0wKSxCdWZmZXIuYWxsb2MoK2UpfWZ1bmN0aW9uIGJ5dGVMZW5ndGgoZSx0KXtpZihCdWZmZXIuaXNCdWZmZXIoZSkpcmV0dXJuIGUubGVuZ3RoO2lmKEFycmF5QnVmZmVyLmlzVmlldyhlKXx8aXNJbnN0YW5jZShlLEFycmF5QnVmZmVyKSlyZXR1cm4gZS5ieXRlTGVuZ3RoO2lmKFwic3RyaW5nXCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcInN0cmluZ1wiIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIG9yIEFycmF5QnVmZmVyLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIGUpO3ZhciByPWUubGVuZ3RoLG49YXJndW1lbnRzLmxlbmd0aD4yJiYhMD09PWFyZ3VtZW50c1syXTtpZighbiYmMD09PXIpcmV0dXJuIDA7Zm9yKHZhciBmPSExOzspc3dpdGNoKHQpe2Nhc2VcImFzY2lpXCI6Y2FzZVwibGF0aW4xXCI6Y2FzZVwiYmluYXJ5XCI6cmV0dXJuIHI7Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6cmV0dXJuIHV0ZjhUb0J5dGVzKGUpLmxlbmd0aDtjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpyZXR1cm4gMipyO2Nhc2VcImhleFwiOnJldHVybiByPj4+MTtjYXNlXCJiYXNlNjRcIjpyZXR1cm4gYmFzZTY0VG9CeXRlcyhlKS5sZW5ndGg7ZGVmYXVsdDppZihmKXJldHVybiBuPy0xOnV0ZjhUb0J5dGVzKGUpLmxlbmd0aDt0PShcIlwiK3QpLnRvTG93ZXJDYXNlKCksZj0hMH19ZnVuY3Rpb24gc2xvd1RvU3RyaW5nKGUsdCxyKXt2YXIgbj0hMTtpZigodm9pZCAwPT09dHx8dDwwKSYmKHQ9MCksdD50aGlzLmxlbmd0aClyZXR1cm5cIlwiO2lmKCh2b2lkIDA9PT1yfHxyPnRoaXMubGVuZ3RoKSYmKHI9dGhpcy5sZW5ndGgpLHI8PTApcmV0dXJuXCJcIjtpZigocj4+Pj0wKTw9KHQ+Pj49MCkpcmV0dXJuXCJcIjtmb3IoZXx8KGU9XCJ1dGY4XCIpOzspc3dpdGNoKGUpe2Nhc2VcImhleFwiOnJldHVybiBoZXhTbGljZSh0aGlzLHQscik7Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6cmV0dXJuIHV0ZjhTbGljZSh0aGlzLHQscik7Y2FzZVwiYXNjaWlcIjpyZXR1cm4gYXNjaWlTbGljZSh0aGlzLHQscik7Y2FzZVwibGF0aW4xXCI6Y2FzZVwiYmluYXJ5XCI6cmV0dXJuIGxhdGluMVNsaWNlKHRoaXMsdCxyKTtjYXNlXCJiYXNlNjRcIjpyZXR1cm4gYmFzZTY0U2xpY2UodGhpcyx0LHIpO2Nhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOnJldHVybiB1dGYxNmxlU2xpY2UodGhpcyx0LHIpO2RlZmF1bHQ6aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrZSk7ZT0oZStcIlwiKS50b0xvd2VyQ2FzZSgpLG49ITB9fWZ1bmN0aW9uIHN3YXAoZSx0LHIpe3ZhciBuPWVbdF07ZVt0XT1lW3JdLGVbcl09bn1mdW5jdGlvbiBiaWRpcmVjdGlvbmFsSW5kZXhPZihlLHQscixuLGYpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4tMTtpZihcInN0cmluZ1wiPT10eXBlb2Ygcj8obj1yLHI9MCk6cj4yMTQ3NDgzNjQ3P3I9MjE0NzQ4MzY0NzpyPC0yMTQ3NDgzNjQ4JiYocj0tMjE0NzQ4MzY0OCksbnVtYmVySXNOYU4ocj0rcikmJihyPWY/MDplLmxlbmd0aC0xKSxyPDAmJihyPWUubGVuZ3RoK3IpLHI+PWUubGVuZ3RoKXtpZihmKXJldHVybi0xO3I9ZS5sZW5ndGgtMX1lbHNlIGlmKHI8MCl7aWYoIWYpcmV0dXJuLTE7cj0wfWlmKFwic3RyaW5nXCI9PXR5cGVvZiB0JiYodD1CdWZmZXIuZnJvbSh0LG4pKSxCdWZmZXIuaXNCdWZmZXIodCkpcmV0dXJuIDA9PT10Lmxlbmd0aD8tMTphcnJheUluZGV4T2YoZSx0LHIsbixmKTtpZihcIm51bWJlclwiPT10eXBlb2YgdClyZXR1cm4gdCY9MjU1LFwiZnVuY3Rpb25cIj09dHlwZW9mIFVpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/Zj9VaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZSx0LHIpOlVpbnQ4QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZSx0LHIpOmFycmF5SW5kZXhPZihlLFt0XSxyLG4sZik7dGhyb3cgbmV3IFR5cGVFcnJvcihcInZhbCBtdXN0IGJlIHN0cmluZywgbnVtYmVyIG9yIEJ1ZmZlclwiKX1mdW5jdGlvbiBhcnJheUluZGV4T2YoZSx0LHIsbixmKXt2YXIgaSxvPTEsdT1lLmxlbmd0aCxzPXQubGVuZ3RoO2lmKHZvaWQgMCE9PW4mJihcInVjczJcIj09PShuPVN0cmluZyhuKS50b0xvd2VyQ2FzZSgpKXx8XCJ1Y3MtMlwiPT09bnx8XCJ1dGYxNmxlXCI9PT1ufHxcInV0Zi0xNmxlXCI9PT1uKSl7aWYoZS5sZW5ndGg8Mnx8dC5sZW5ndGg8MilyZXR1cm4tMTtvPTIsdS89MixzLz0yLHIvPTJ9ZnVuY3Rpb24gYShlLHQpe3JldHVybiAxPT09bz9lW3RdOmUucmVhZFVJbnQxNkJFKHQqbyl9aWYoZil7dmFyIGg9LTE7Zm9yKGk9cjtpPHU7aSsrKWlmKGEoZSxpKT09PWEodCwtMT09PWg/MDppLWgpKXtpZigtMT09PWgmJihoPWkpLGktaCsxPT09cylyZXR1cm4gaCpvfWVsc2UtMSE9PWgmJihpLT1pLWgpLGg9LTF9ZWxzZSBmb3IocitzPnUmJihyPXUtcyksaT1yO2k+PTA7aS0tKXtmb3IodmFyIGM9ITAsbD0wO2w8cztsKyspaWYoYShlLGkrbCkhPT1hKHQsbCkpe2M9ITE7YnJlYWt9aWYoYylyZXR1cm4gaX1yZXR1cm4tMX1mdW5jdGlvbiBoZXhXcml0ZShlLHQscixuKXtyPU51bWJlcihyKXx8MDt2YXIgZj1lLmxlbmd0aC1yO24/KG49TnVtYmVyKG4pKT5mJiYobj1mKTpuPWY7dmFyIGk9dC5sZW5ndGg7bj5pLzImJihuPWkvMik7Zm9yKHZhciBvPTA7bzxuOysrbyl7dmFyIHU9cGFyc2VJbnQodC5zdWJzdHIoMipvLDIpLDE2KTtpZihudW1iZXJJc05hTih1KSlyZXR1cm4gbztlW3Irb109dX1yZXR1cm4gb31mdW5jdGlvbiB1dGY4V3JpdGUoZSx0LHIsbil7cmV0dXJuIGJsaXRCdWZmZXIodXRmOFRvQnl0ZXModCxlLmxlbmd0aC1yKSxlLHIsbil9ZnVuY3Rpb24gYXNjaWlXcml0ZShlLHQscixuKXtyZXR1cm4gYmxpdEJ1ZmZlcihhc2NpaVRvQnl0ZXModCksZSxyLG4pfWZ1bmN0aW9uIGxhdGluMVdyaXRlKGUsdCxyLG4pe3JldHVybiBhc2NpaVdyaXRlKGUsdCxyLG4pfWZ1bmN0aW9uIGJhc2U2NFdyaXRlKGUsdCxyLG4pe3JldHVybiBibGl0QnVmZmVyKGJhc2U2NFRvQnl0ZXModCksZSxyLG4pfWZ1bmN0aW9uIHVjczJXcml0ZShlLHQscixuKXtyZXR1cm4gYmxpdEJ1ZmZlcih1dGYxNmxlVG9CeXRlcyh0LGUubGVuZ3RoLXIpLGUscixuKX1mdW5jdGlvbiBiYXNlNjRTbGljZShlLHQscil7cmV0dXJuIDA9PT10JiZyPT09ZS5sZW5ndGg/YmFzZTY0LmZyb21CeXRlQXJyYXkoZSk6YmFzZTY0LmZyb21CeXRlQXJyYXkoZS5zbGljZSh0LHIpKX1mdW5jdGlvbiB1dGY4U2xpY2UoZSx0LHIpe3I9TWF0aC5taW4oZS5sZW5ndGgscik7Zm9yKHZhciBuPVtdLGY9dDtmPHI7KXt2YXIgaSxvLHUscyxhPWVbZl0saD1udWxsLGM9YT4yMzk/NDphPjIyMz8zOmE+MTkxPzI6MTtpZihmK2M8PXIpc3dpdGNoKGMpe2Nhc2UgMTphPDEyOCYmKGg9YSk7YnJlYWs7Y2FzZSAyOjEyOD09KDE5MiYoaT1lW2YrMV0pKSYmKHM9KDMxJmEpPDw2fDYzJmkpPjEyNyYmKGg9cyk7YnJlYWs7Y2FzZSAzOmk9ZVtmKzFdLG89ZVtmKzJdLDEyOD09KDE5MiZpKSYmMTI4PT0oMTkyJm8pJiYocz0oMTUmYSk8PDEyfCg2MyZpKTw8Nnw2MyZvKT4yMDQ3JiYoczw1NTI5Nnx8cz41NzM0MykmJihoPXMpO2JyZWFrO2Nhc2UgNDppPWVbZisxXSxvPWVbZisyXSx1PWVbZiszXSwxMjg9PSgxOTImaSkmJjEyOD09KDE5MiZvKSYmMTI4PT0oMTkyJnUpJiYocz0oMTUmYSk8PDE4fCg2MyZpKTw8MTJ8KDYzJm8pPDw2fDYzJnUpPjY1NTM1JiZzPDExMTQxMTImJihoPXMpfW51bGw9PT1oPyhoPTY1NTMzLGM9MSk6aD42NTUzNSYmKGgtPTY1NTM2LG4ucHVzaChoPj4+MTAmMTAyM3w1NTI5NiksaD01NjMyMHwxMDIzJmgpLG4ucHVzaChoKSxmKz1jfXJldHVybiBkZWNvZGVDb2RlUG9pbnRzQXJyYXkobil9ZXhwb3J0cy5rTWF4TGVuZ3RoPUtfTUFYX0xFTkdUSCxCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVD10eXBlZEFycmF5U3VwcG9ydCgpLEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUfHxcInVuZGVmaW5lZFwiPT10eXBlb2YgY29uc29sZXx8XCJmdW5jdGlvblwiIT10eXBlb2YgY29uc29sZS5lcnJvcnx8Y29uc29sZS5lcnJvcihcIlRoaXMgYnJvd3NlciBsYWNrcyB0eXBlZCBhcnJheSAoVWludDhBcnJheSkgc3VwcG9ydCB3aGljaCBpcyByZXF1aXJlZCBieSBgYnVmZmVyYCB2NS54LiBVc2UgYGJ1ZmZlcmAgdjQueCBpZiB5b3UgcmVxdWlyZSBvbGQgYnJvd3NlciBzdXBwb3J0LlwiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQnVmZmVyLnByb3RvdHlwZSxcInBhcmVudFwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2lmKEJ1ZmZlci5pc0J1ZmZlcih0aGlzKSlyZXR1cm4gdGhpcy5idWZmZXJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KEJ1ZmZlci5wcm90b3R5cGUsXCJvZmZzZXRcIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtpZihCdWZmZXIuaXNCdWZmZXIodGhpcykpcmV0dXJuIHRoaXMuYnl0ZU9mZnNldH19KSxcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZudWxsIT1TeW1ib2wuc3BlY2llcyYmQnVmZmVyW1N5bWJvbC5zcGVjaWVzXT09PUJ1ZmZlciYmT2JqZWN0LmRlZmluZVByb3BlcnR5KEJ1ZmZlcixTeW1ib2wuc3BlY2llcyx7dmFsdWU6bnVsbCxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMX0pLEJ1ZmZlci5wb29sU2l6ZT04MTkyLEJ1ZmZlci5mcm9tPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZnJvbShlLHQscil9LEJ1ZmZlci5wcm90b3R5cGUuX19wcm90b19fPVVpbnQ4QXJyYXkucHJvdG90eXBlLEJ1ZmZlci5fX3Byb3RvX189VWludDhBcnJheSxCdWZmZXIuYWxsb2M9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBhbGxvYyhlLHQscil9LEJ1ZmZlci5hbGxvY1Vuc2FmZT1mdW5jdGlvbihlKXtyZXR1cm4gYWxsb2NVbnNhZmUoZSl9LEJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3c9ZnVuY3Rpb24oZSl7cmV0dXJuIGFsbG9jVW5zYWZlKGUpfSxCdWZmZXIuaXNCdWZmZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUmJiEwPT09ZS5faXNCdWZmZXImJmUhPT1CdWZmZXIucHJvdG90eXBlfSxCdWZmZXIuY29tcGFyZT1mdW5jdGlvbihlLHQpe2lmKGlzSW5zdGFuY2UoZSxVaW50OEFycmF5KSYmKGU9QnVmZmVyLmZyb20oZSxlLm9mZnNldCxlLmJ5dGVMZW5ndGgpKSxpc0luc3RhbmNlKHQsVWludDhBcnJheSkmJih0PUJ1ZmZlci5mcm9tKHQsdC5vZmZzZXQsdC5ieXRlTGVuZ3RoKSksIUJ1ZmZlci5pc0J1ZmZlcihlKXx8IUJ1ZmZlci5pc0J1ZmZlcih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJidWYxXCIsIFwiYnVmMlwiIGFyZ3VtZW50cyBtdXN0IGJlIG9uZSBvZiB0eXBlIEJ1ZmZlciBvciBVaW50OEFycmF5Jyk7aWYoZT09PXQpcmV0dXJuIDA7Zm9yKHZhciByPWUubGVuZ3RoLG49dC5sZW5ndGgsZj0wLGk9TWF0aC5taW4ocixuKTtmPGk7KytmKWlmKGVbZl0hPT10W2ZdKXtyPWVbZl0sbj10W2ZdO2JyZWFrfXJldHVybiByPG4/LTE6bjxyPzE6MH0sQnVmZmVyLmlzRW5jb2Rpbmc9ZnVuY3Rpb24oZSl7c3dpdGNoKFN0cmluZyhlKS50b0xvd2VyQ2FzZSgpKXtjYXNlXCJoZXhcIjpjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpjYXNlXCJhc2NpaVwiOmNhc2VcImxhdGluMVwiOmNhc2VcImJpbmFyeVwiOmNhc2VcImJhc2U2NFwiOmNhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fSxCdWZmZXIuY29uY2F0PWZ1bmN0aW9uKGUsdCl7aWYoIUFycmF5LmlzQXJyYXkoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcignXCJsaXN0XCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7aWYoMD09PWUubGVuZ3RoKXJldHVybiBCdWZmZXIuYWxsb2MoMCk7dmFyIHI7aWYodm9pZCAwPT09dClmb3IodD0wLHI9MDtyPGUubGVuZ3RoOysrcil0Kz1lW3JdLmxlbmd0aDt2YXIgbj1CdWZmZXIuYWxsb2NVbnNhZmUodCksZj0wO2ZvcihyPTA7cjxlLmxlbmd0aDsrK3Ipe3ZhciBpPWVbcl07aWYoaXNJbnN0YW5jZShpLFVpbnQ4QXJyYXkpJiYoaT1CdWZmZXIuZnJvbShpKSksIUJ1ZmZlci5pc0J1ZmZlcihpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCdcImxpc3RcIiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKTtpLmNvcHkobixmKSxmKz1pLmxlbmd0aH1yZXR1cm4gbn0sQnVmZmVyLmJ5dGVMZW5ndGg9Ynl0ZUxlbmd0aCxCdWZmZXIucHJvdG90eXBlLl9pc0J1ZmZlcj0hMCxCdWZmZXIucHJvdG90eXBlLnN3YXAxNj1mdW5jdGlvbigpe3ZhciBlPXRoaXMubGVuZ3RoO2lmKGUlMiE9MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzXCIpO2Zvcih2YXIgdD0wO3Q8ZTt0Kz0yKXN3YXAodGhpcyx0LHQrMSk7cmV0dXJuIHRoaXN9LEJ1ZmZlci5wcm90b3R5cGUuc3dhcDMyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7aWYoZSU0IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMyLWJpdHNcIik7Zm9yKHZhciB0PTA7dDxlO3QrPTQpc3dhcCh0aGlzLHQsdCszKSxzd2FwKHRoaXMsdCsxLHQrMik7cmV0dXJuIHRoaXN9LEJ1ZmZlci5wcm90b3R5cGUuc3dhcDY0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7aWYoZSU4IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDY0LWJpdHNcIik7Zm9yKHZhciB0PTA7dDxlO3QrPTgpc3dhcCh0aGlzLHQsdCs3KSxzd2FwKHRoaXMsdCsxLHQrNiksc3dhcCh0aGlzLHQrMix0KzUpLHN3YXAodGhpcyx0KzMsdCs0KTtyZXR1cm4gdGhpc30sQnVmZmVyLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3ZhciBlPXRoaXMubGVuZ3RoO3JldHVybiAwPT09ZT9cIlwiOjA9PT1hcmd1bWVudHMubGVuZ3RoP3V0ZjhTbGljZSh0aGlzLDAsZSk6c2xvd1RvU3RyaW5nLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sQnVmZmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZz1CdWZmZXIucHJvdG90eXBlLnRvU3RyaW5nLEJ1ZmZlci5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKGUpe2lmKCFCdWZmZXIuaXNCdWZmZXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXJcIik7cmV0dXJuIHRoaXM9PT1lfHwwPT09QnVmZmVyLmNvbXBhcmUodGhpcyxlKX0sQnVmZmVyLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7dmFyIGU9XCJcIix0PWV4cG9ydHMuSU5TUEVDVF9NQVhfQllURVM7cmV0dXJuIGU9dGhpcy50b1N0cmluZyhcImhleFwiLDAsdCkucmVwbGFjZSgvKC57Mn0pL2csXCIkMSBcIikudHJpbSgpLHRoaXMubGVuZ3RoPnQmJihlKz1cIiAuLi4gXCIpLFwiPEJ1ZmZlciBcIitlK1wiPlwifSxCdWZmZXIucHJvdG90eXBlLmNvbXBhcmU9ZnVuY3Rpb24oZSx0LHIsbixmKXtpZihpc0luc3RhbmNlKGUsVWludDhBcnJheSkmJihlPUJ1ZmZlci5mcm9tKGUsZS5vZmZzZXQsZS5ieXRlTGVuZ3RoKSksIUJ1ZmZlci5pc0J1ZmZlcihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJ0YXJnZXRcIiBhcmd1bWVudCBtdXN0IGJlIG9uZSBvZiB0eXBlIEJ1ZmZlciBvciBVaW50OEFycmF5LiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIGUpO2lmKHZvaWQgMD09PXQmJih0PTApLHZvaWQgMD09PXImJihyPWU/ZS5sZW5ndGg6MCksdm9pZCAwPT09biYmKG49MCksdm9pZCAwPT09ZiYmKGY9dGhpcy5sZW5ndGgpLHQ8MHx8cj5lLmxlbmd0aHx8bjwwfHxmPnRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKFwib3V0IG9mIHJhbmdlIGluZGV4XCIpO2lmKG4+PWYmJnQ+PXIpcmV0dXJuIDA7aWYobj49ZilyZXR1cm4tMTtpZih0Pj1yKXJldHVybiAxO2lmKHRoaXM9PT1lKXJldHVybiAwO2Zvcih2YXIgaT0oZj4+Pj0wKS0obj4+Pj0wKSxvPShyPj4+PTApLSh0Pj4+PTApLHU9TWF0aC5taW4oaSxvKSxzPXRoaXMuc2xpY2UobixmKSxhPWUuc2xpY2UodCxyKSxoPTA7aDx1OysraClpZihzW2hdIT09YVtoXSl7aT1zW2hdLG89YVtoXTticmVha31yZXR1cm4gaTxvPy0xOm88aT8xOjB9LEJ1ZmZlci5wcm90b3R5cGUuaW5jbHVkZXM9ZnVuY3Rpb24oZSx0LHIpe3JldHVybi0xIT09dGhpcy5pbmRleE9mKGUsdCxyKX0sQnVmZmVyLnByb3RvdHlwZS5pbmRleE9mPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gYmlkaXJlY3Rpb25hbEluZGV4T2YodGhpcyxlLHQsciwhMCl9LEJ1ZmZlci5wcm90b3R5cGUubGFzdEluZGV4T2Y9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLGUsdCxyLCExKX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlLHQscixuKXtpZih2b2lkIDA9PT10KW49XCJ1dGY4XCIscj10aGlzLmxlbmd0aCx0PTA7ZWxzZSBpZih2b2lkIDA9PT1yJiZcInN0cmluZ1wiPT10eXBlb2YgdCluPXQscj10aGlzLmxlbmd0aCx0PTA7ZWxzZXtpZighaXNGaW5pdGUodCkpdGhyb3cgbmV3IEVycm9yKFwiQnVmZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWRcIik7dD4+Pj0wLGlzRmluaXRlKHIpPyhyPj4+PTAsdm9pZCAwPT09biYmKG49XCJ1dGY4XCIpKToobj1yLHI9dm9pZCAwKX12YXIgZj10aGlzLmxlbmd0aC10O2lmKCh2b2lkIDA9PT1yfHxyPmYpJiYocj1mKSxlLmxlbmd0aD4wJiYocjwwfHx0PDApfHx0PnRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQXR0ZW1wdCB0byB3cml0ZSBvdXRzaWRlIGJ1ZmZlciBib3VuZHNcIik7bnx8KG49XCJ1dGY4XCIpO2Zvcih2YXIgaT0hMTs7KXN3aXRjaChuKXtjYXNlXCJoZXhcIjpyZXR1cm4gaGV4V3JpdGUodGhpcyxlLHQscik7Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6cmV0dXJuIHV0ZjhXcml0ZSh0aGlzLGUsdCxyKTtjYXNlXCJhc2NpaVwiOnJldHVybiBhc2NpaVdyaXRlKHRoaXMsZSx0LHIpO2Nhc2VcImxhdGluMVwiOmNhc2VcImJpbmFyeVwiOnJldHVybiBsYXRpbjFXcml0ZSh0aGlzLGUsdCxyKTtjYXNlXCJiYXNlNjRcIjpyZXR1cm4gYmFzZTY0V3JpdGUodGhpcyxlLHQscik7Y2FzZVwidWNzMlwiOmNhc2VcInVjcy0yXCI6Y2FzZVwidXRmMTZsZVwiOmNhc2VcInV0Zi0xNmxlXCI6cmV0dXJuIHVjczJXcml0ZSh0aGlzLGUsdCxyKTtkZWZhdWx0OmlmKGkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gZW5jb2Rpbmc6IFwiK24pO249KFwiXCIrbikudG9Mb3dlckNhc2UoKSxpPSEwfX0sQnVmZmVyLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57dHlwZTpcIkJ1ZmZlclwiLGRhdGE6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fYXJyfHx0aGlzLDApfX07dmFyIE1BWF9BUkdVTUVOVFNfTEVOR1RIPTQwOTY7ZnVuY3Rpb24gZGVjb2RlQ29kZVBvaW50c0FycmF5KGUpe3ZhciB0PWUubGVuZ3RoO2lmKHQ8PU1BWF9BUkdVTUVOVFNfTEVOR1RIKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxlKTtmb3IodmFyIHI9XCJcIixuPTA7bjx0OylyKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxlLnNsaWNlKG4sbis9TUFYX0FSR1VNRU5UU19MRU5HVEgpKTtyZXR1cm4gcn1mdW5jdGlvbiBhc2NpaVNsaWNlKGUsdCxyKXt2YXIgbj1cIlwiO3I9TWF0aC5taW4oZS5sZW5ndGgscik7Zm9yKHZhciBmPXQ7ZjxyOysrZiluKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEyNyZlW2ZdKTtyZXR1cm4gbn1mdW5jdGlvbiBsYXRpbjFTbGljZShlLHQscil7dmFyIG49XCJcIjtyPU1hdGgubWluKGUubGVuZ3RoLHIpO2Zvcih2YXIgZj10O2Y8cjsrK2Ypbis9U3RyaW5nLmZyb21DaGFyQ29kZShlW2ZdKTtyZXR1cm4gbn1mdW5jdGlvbiBoZXhTbGljZShlLHQscil7dmFyIG49ZS5sZW5ndGg7KCF0fHx0PDApJiYodD0wKSwoIXJ8fHI8MHx8cj5uKSYmKHI9bik7Zm9yKHZhciBmPVwiXCIsaT10O2k8cjsrK2kpZis9dG9IZXgoZVtpXSk7cmV0dXJuIGZ9ZnVuY3Rpb24gdXRmMTZsZVNsaWNlKGUsdCxyKXtmb3IodmFyIG49ZS5zbGljZSh0LHIpLGY9XCJcIixpPTA7aTxuLmxlbmd0aDtpKz0yKWYrPVN0cmluZy5mcm9tQ2hhckNvZGUobltpXSsyNTYqbltpKzFdKTtyZXR1cm4gZn1mdW5jdGlvbiBjaGVja09mZnNldChlLHQscil7aWYoZSUxIT0wfHxlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJvZmZzZXQgaXMgbm90IHVpbnRcIik7aWYoZSt0PnIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJUcnlpbmcgdG8gYWNjZXNzIGJleW9uZCBidWZmZXIgbGVuZ3RoXCIpfWZ1bmN0aW9uIGNoZWNrSW50KGUsdCxyLG4sZixpKXtpZighQnVmZmVyLmlzQnVmZmVyKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoJ1wiYnVmZmVyXCIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBpbnN0YW5jZScpO2lmKHQ+Znx8dDxpKXRocm93IG5ldyBSYW5nZUVycm9yKCdcInZhbHVlXCIgYXJndW1lbnQgaXMgb3V0IG9mIGJvdW5kcycpO2lmKHIrbj5lLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkluZGV4IG91dCBvZiByYW5nZVwiKX1mdW5jdGlvbiBjaGVja0lFRUU3NTQoZSx0LHIsbixmLGkpe2lmKHIrbj5lLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkluZGV4IG91dCBvZiByYW5nZVwiKTtpZihyPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbmRleCBvdXQgb2YgcmFuZ2VcIil9ZnVuY3Rpb24gd3JpdGVGbG9hdChlLHQscixuLGYpe3JldHVybiB0PSt0LHI+Pj49MCxmfHxjaGVja0lFRUU3NTQoZSx0LHIsNCwzLjQwMjgyMzQ2NjM4NTI4ODZlMzgsLTMuNDAyODIzNDY2Mzg1Mjg4NmUzOCksaWVlZTc1NC53cml0ZShlLHQscixuLDIzLDQpLHIrNH1mdW5jdGlvbiB3cml0ZURvdWJsZShlLHQscixuLGYpe3JldHVybiB0PSt0LHI+Pj49MCxmfHxjaGVja0lFRUU3NTQoZSx0LHIsOCwxLjc5NzY5MzEzNDg2MjMxNTdlMzA4LC0xLjc5NzY5MzEzNDg2MjMxNTdlMzA4KSxpZWVlNzU0LndyaXRlKGUsdCxyLG4sNTIsOCkscis4fUJ1ZmZlci5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLmxlbmd0aDsoZT1+fmUpPDA/KGUrPXIpPDAmJihlPTApOmU+ciYmKGU9ciksKHQ9dm9pZCAwPT09dD9yOn5+dCk8MD8odCs9cik8MCYmKHQ9MCk6dD5yJiYodD1yKSx0PGUmJih0PWUpO3ZhciBuPXRoaXMuc3ViYXJyYXkoZSx0KTtyZXR1cm4gbi5fX3Byb3RvX189QnVmZmVyLnByb3RvdHlwZSxufSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50TEU9ZnVuY3Rpb24oZSx0LHIpe2U+Pj49MCx0Pj4+PTAscnx8Y2hlY2tPZmZzZXQoZSx0LHRoaXMubGVuZ3RoKTtmb3IodmFyIG49dGhpc1tlXSxmPTEsaT0wOysraTx0JiYoZio9MjU2KTspbis9dGhpc1tlK2ldKmY7cmV0dXJuIG59LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnRCRT1mdW5jdGlvbihlLHQscil7ZT4+Pj0wLHQ+Pj49MCxyfHxjaGVja09mZnNldChlLHQsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW2UrLS10XSxmPTE7dD4wJiYoZio9MjU2KTspbis9dGhpc1tlKy0tdF0qZjtyZXR1cm4gbn0sQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMSx0aGlzLmxlbmd0aCksdGhpc1tlXX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDE2TEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMix0aGlzLmxlbmd0aCksdGhpc1tlXXx0aGlzW2UrMV08PDh9LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQxNkJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDIsdGhpcy5sZW5ndGgpLHRoaXNbZV08PDh8dGhpc1tlKzFdfSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJMRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSwodGhpc1tlXXx0aGlzW2UrMV08PDh8dGhpc1tlKzJdPDwxNikrMTY3NzcyMTYqdGhpc1tlKzNdfSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJCRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSwxNjc3NzIxNip0aGlzW2VdKyh0aGlzW2UrMV08PDE2fHRoaXNbZSsyXTw8OHx0aGlzW2UrM10pfSxCdWZmZXIucHJvdG90eXBlLnJlYWRJbnRMRT1mdW5jdGlvbihlLHQscil7ZT4+Pj0wLHQ+Pj49MCxyfHxjaGVja09mZnNldChlLHQsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW2VdLGY9MSxpPTA7KytpPHQmJihmKj0yNTYpOyluKz10aGlzW2UraV0qZjtyZXR1cm4gbj49KGYqPTEyOCkmJihuLT1NYXRoLnBvdygyLDgqdCkpLG59LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludEJFPWZ1bmN0aW9uKGUsdCxyKXtlPj4+PTAsdD4+Pj0wLHJ8fGNoZWNrT2Zmc2V0KGUsdCx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXQsZj0xLGk9dGhpc1tlKy0tbl07bj4wJiYoZio9MjU2KTspaSs9dGhpc1tlKy0tbl0qZjtyZXR1cm4gaT49KGYqPTEyOCkmJihpLT1NYXRoLnBvdygyLDgqdCkpLGl9LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludDg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMSx0aGlzLmxlbmd0aCksMTI4JnRoaXNbZV0/LTEqKDI1NS10aGlzW2VdKzEpOnRoaXNbZV19LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludDE2TEU9ZnVuY3Rpb24oZSx0KXtlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSwyLHRoaXMubGVuZ3RoKTt2YXIgcj10aGlzW2VdfHRoaXNbZSsxXTw8ODtyZXR1cm4gMzI3Njgmcj80Mjk0OTAxNzYwfHI6cn0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MTZCRT1mdW5jdGlvbihlLHQpe2U+Pj49MCx0fHxjaGVja09mZnNldChlLDIsdGhpcy5sZW5ndGgpO3ZhciByPXRoaXNbZSsxXXx0aGlzW2VdPDw4O3JldHVybiAzMjc2OCZyPzQyOTQ5MDE3NjB8cjpyfSxCdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkxFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDQsdGhpcy5sZW5ndGgpLHRoaXNbZV18dGhpc1tlKzFdPDw4fHRoaXNbZSsyXTw8MTZ8dGhpc1tlKzNdPDwyNH0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MzJCRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSx0aGlzW2VdPDwyNHx0aGlzW2UrMV08PDE2fHRoaXNbZSsyXTw8OHx0aGlzW2UrM119LEJ1ZmZlci5wcm90b3R5cGUucmVhZEZsb2F0TEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsNCx0aGlzLmxlbmd0aCksaWVlZTc1NC5yZWFkKHRoaXMsZSwhMCwyMyw0KX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkRmxvYXRCRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSxpZWVlNzU0LnJlYWQodGhpcyxlLCExLDIzLDQpfSxCdWZmZXIucHJvdG90eXBlLnJlYWREb3VibGVMRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw4LHRoaXMubGVuZ3RoKSxpZWVlNzU0LnJlYWQodGhpcyxlLCEwLDUyLDgpfSxCdWZmZXIucHJvdG90eXBlLnJlYWREb3VibGVCRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw4LHRoaXMubGVuZ3RoKSxpZWVlNzU0LnJlYWQodGhpcyxlLCExLDUyLDgpfSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludExFPWZ1bmN0aW9uKGUsdCxyLG4peyhlPStlLHQ+Pj49MCxyPj4+PTAsbil8fGNoZWNrSW50KHRoaXMsZSx0LHIsTWF0aC5wb3coMiw4KnIpLTEsMCk7dmFyIGY9MSxpPTA7Zm9yKHRoaXNbdF09MjU1JmU7KytpPHImJihmKj0yNTYpOyl0aGlzW3QraV09ZS9mJjI1NTtyZXR1cm4gdCtyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludEJFPWZ1bmN0aW9uKGUsdCxyLG4peyhlPStlLHQ+Pj49MCxyPj4+PTAsbil8fGNoZWNrSW50KHRoaXMsZSx0LHIsTWF0aC5wb3coMiw4KnIpLTEsMCk7dmFyIGY9ci0xLGk9MTtmb3IodGhpc1t0K2ZdPTI1NSZlOy0tZj49MCYmKGkqPTI1Nik7KXRoaXNbdCtmXT1lL2kmMjU1O3JldHVybiB0K3J9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDEsMjU1LDApLHRoaXNbdF09MjU1JmUsdCsxfSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludDE2TEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCwyLDY1NTM1LDApLHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44LHQrMn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQxNkJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsMiw2NTUzNSwwKSx0aGlzW3RdPWU+Pj44LHRoaXNbdCsxXT0yNTUmZSx0KzJ9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MzJMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDQsNDI5NDk2NzI5NSwwKSx0aGlzW3QrM109ZT4+PjI0LHRoaXNbdCsyXT1lPj4+MTYsdGhpc1t0KzFdPWU+Pj44LHRoaXNbdF09MjU1JmUsdCs0fSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCw0LDQyOTQ5NjcyOTUsMCksdGhpc1t0XT1lPj4+MjQsdGhpc1t0KzFdPWU+Pj4xNix0aGlzW3QrMl09ZT4+PjgsdGhpc1t0KzNdPTI1NSZlLHQrNH0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludExFPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKGU9K2UsdD4+Pj0wLCFuKXt2YXIgZj1NYXRoLnBvdygyLDgqci0xKTtjaGVja0ludCh0aGlzLGUsdCxyLGYtMSwtZil9dmFyIGk9MCxvPTEsdT0wO2Zvcih0aGlzW3RdPTI1NSZlOysraTxyJiYobyo9MjU2KTspZTwwJiYwPT09dSYmMCE9PXRoaXNbdCtpLTFdJiYodT0xKSx0aGlzW3QraV09KGUvbz4+MCktdSYyNTU7cmV0dXJuIHQrcn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludEJFPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKGU9K2UsdD4+Pj0wLCFuKXt2YXIgZj1NYXRoLnBvdygyLDgqci0xKTtjaGVja0ludCh0aGlzLGUsdCxyLGYtMSwtZil9dmFyIGk9ci0xLG89MSx1PTA7Zm9yKHRoaXNbdCtpXT0yNTUmZTstLWk+PTAmJihvKj0yNTYpOyllPDAmJjA9PT11JiYwIT09dGhpc1t0K2krMV0mJih1PTEpLHRoaXNbdCtpXT0oZS9vPj4wKS11JjI1NTtyZXR1cm4gdCtyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDEsMTI3LC0xMjgpLGU8MCYmKGU9MjU1K2UrMSksdGhpc1t0XT0yNTUmZSx0KzF9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQxNkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsMiwzMjc2NywtMzI3NjgpLHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44LHQrMn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDE2QkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCwyLDMyNzY3LC0zMjc2OCksdGhpc1t0XT1lPj4+OCx0aGlzW3QrMV09MjU1JmUsdCsyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50MzJMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCksdGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgsdGhpc1t0KzJdPWU+Pj4xNix0aGlzW3QrM109ZT4+PjI0LHQrNH0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCw0LDIxNDc0ODM2NDcsLTIxNDc0ODM2NDgpLGU8MCYmKGU9NDI5NDk2NzI5NStlKzEpLHRoaXNbdF09ZT4+PjI0LHRoaXNbdCsxXT1lPj4+MTYsdGhpc1t0KzJdPWU+Pj44LHRoaXNbdCszXT0yNTUmZSx0KzR9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVGbG9hdExFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gd3JpdGVGbG9hdCh0aGlzLGUsdCwhMCxyKX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUZsb2F0QkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiB3cml0ZUZsb2F0KHRoaXMsZSx0LCExLHIpfSxCdWZmZXIucHJvdG90eXBlLndyaXRlRG91YmxlTEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiB3cml0ZURvdWJsZSh0aGlzLGUsdCwhMCxyKX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZURvdWJsZUJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gd3JpdGVEb3VibGUodGhpcyxlLHQsITEscil9LEJ1ZmZlci5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlLHQscixuKXtpZighQnVmZmVyLmlzQnVmZmVyKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBzaG91bGQgYmUgYSBCdWZmZXJcIik7aWYocnx8KHI9MCksbnx8MD09PW58fChuPXRoaXMubGVuZ3RoKSx0Pj1lLmxlbmd0aCYmKHQ9ZS5sZW5ndGgpLHR8fCh0PTApLG4+MCYmbjxyJiYobj1yKSxuPT09cilyZXR1cm4gMDtpZigwPT09ZS5sZW5ndGh8fDA9PT10aGlzLmxlbmd0aClyZXR1cm4gMDtpZih0PDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJ0YXJnZXRTdGFydCBvdXQgb2YgYm91bmRzXCIpO2lmKHI8MHx8cj49dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbmRleCBvdXQgb2YgcmFuZ2VcIik7aWYobjwwKXRocm93IG5ldyBSYW5nZUVycm9yKFwic291cmNlRW5kIG91dCBvZiBib3VuZHNcIik7bj50aGlzLmxlbmd0aCYmKG49dGhpcy5sZW5ndGgpLGUubGVuZ3RoLXQ8bi1yJiYobj1lLmxlbmd0aC10K3IpO3ZhciBmPW4tcjtpZih0aGlzPT09ZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbil0aGlzLmNvcHlXaXRoaW4odCxyLG4pO2Vsc2UgaWYodGhpcz09PWUmJnI8dCYmdDxuKWZvcih2YXIgaT1mLTE7aT49MDstLWkpZVtpK3RdPXRoaXNbaStyXTtlbHNlIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKGUsdGhpcy5zdWJhcnJheShyLG4pLHQpO3JldHVybiBmfSxCdWZmZXIucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24oZSx0LHIsbil7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiB0PyhuPXQsdD0wLHI9dGhpcy5sZW5ndGgpOlwic3RyaW5nXCI9PXR5cGVvZiByJiYobj1yLHI9dGhpcy5sZW5ndGgpLHZvaWQgMCE9PW4mJlwic3RyaW5nXCIhPXR5cGVvZiBuKXRocm93IG5ldyBUeXBlRXJyb3IoXCJlbmNvZGluZyBtdXN0IGJlIGEgc3RyaW5nXCIpO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBuJiYhQnVmZmVyLmlzRW5jb2RpbmcobikpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gZW5jb2Rpbmc6IFwiK24pO2lmKDE9PT1lLmxlbmd0aCl7dmFyIGY9ZS5jaGFyQ29kZUF0KDApOyhcInV0ZjhcIj09PW4mJmY8MTI4fHxcImxhdGluMVwiPT09bikmJihlPWYpfX1lbHNlXCJudW1iZXJcIj09dHlwZW9mIGUmJihlJj0yNTUpO2lmKHQ8MHx8dGhpcy5sZW5ndGg8dHx8dGhpcy5sZW5ndGg8cil0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk91dCBvZiByYW5nZSBpbmRleFwiKTtpZihyPD10KXJldHVybiB0aGlzO3ZhciBpO2lmKHQ+Pj49MCxyPXZvaWQgMD09PXI/dGhpcy5sZW5ndGg6cj4+PjAsZXx8KGU9MCksXCJudW1iZXJcIj09dHlwZW9mIGUpZm9yKGk9dDtpPHI7KytpKXRoaXNbaV09ZTtlbHNle3ZhciBvPUJ1ZmZlci5pc0J1ZmZlcihlKT9lOkJ1ZmZlci5mcm9tKGUsbiksdT1vLmxlbmd0aDtpZigwPT09dSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgdmFsdWUgXCInK2UrJ1wiIGlzIGludmFsaWQgZm9yIGFyZ3VtZW50IFwidmFsdWVcIicpO2ZvcihpPTA7aTxyLXQ7KytpKXRoaXNbaSt0XT1vW2kldV19cmV0dXJuIHRoaXN9O3ZhciBJTlZBTElEX0JBU0U2NF9SRT0vW14rLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIGJhc2U2NGNsZWFuKGUpe2lmKChlPShlPWUuc3BsaXQoXCI9XCIpWzBdKS50cmltKCkucmVwbGFjZShJTlZBTElEX0JBU0U2NF9SRSxcIlwiKSkubGVuZ3RoPDIpcmV0dXJuXCJcIjtmb3IoO2UubGVuZ3RoJTQhPTA7KWUrPVwiPVwiO3JldHVybiBlfWZ1bmN0aW9uIHRvSGV4KGUpe3JldHVybiBlPDE2P1wiMFwiK2UudG9TdHJpbmcoMTYpOmUudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIHV0ZjhUb0J5dGVzKGUsdCl7dmFyIHI7dD10fHwxLzA7Zm9yKHZhciBuPWUubGVuZ3RoLGY9bnVsbCxpPVtdLG89MDtvPG47KytvKXtpZigocj1lLmNoYXJDb2RlQXQobykpPjU1Mjk1JiZyPDU3MzQ0KXtpZighZil7aWYocj41NjMxOSl7KHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWlmKG8rMT09PW4peyh0LT0zKT4tMSYmaS5wdXNoKDIzOSwxOTEsMTg5KTtjb250aW51ZX1mPXI7Y29udGludWV9aWYocjw1NjMyMCl7KHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpLGY9cjtjb250aW51ZX1yPTY1NTM2KyhmLTU1Mjk2PDwxMHxyLTU2MzIwKX1lbHNlIGYmJih0LT0zKT4tMSYmaS5wdXNoKDIzOSwxOTEsMTg5KTtpZihmPW51bGwscjwxMjgpe2lmKCh0LT0xKTwwKWJyZWFrO2kucHVzaChyKX1lbHNlIGlmKHI8MjA0OCl7aWYoKHQtPTIpPDApYnJlYWs7aS5wdXNoKHI+PjZ8MTkyLDYzJnJ8MTI4KX1lbHNlIGlmKHI8NjU1MzYpe2lmKCh0LT0zKTwwKWJyZWFrO2kucHVzaChyPj4xMnwyMjQscj4+NiY2M3wxMjgsNjMmcnwxMjgpfWVsc2V7aWYoIShyPDExMTQxMTIpKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgY29kZSBwb2ludFwiKTtpZigodC09NCk8MClicmVhaztpLnB1c2gocj4+MTh8MjQwLHI+PjEyJjYzfDEyOCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9fXJldHVybiBpfWZ1bmN0aW9uIGFzY2lpVG9CeXRlcyhlKXtmb3IodmFyIHQ9W10scj0wO3I8ZS5sZW5ndGg7KytyKXQucHVzaCgyNTUmZS5jaGFyQ29kZUF0KHIpKTtyZXR1cm4gdH1mdW5jdGlvbiB1dGYxNmxlVG9CeXRlcyhlLHQpe2Zvcih2YXIgcixuLGYsaT1bXSxvPTA7bzxlLmxlbmd0aCYmISgodC09Mik8MCk7KytvKW49KHI9ZS5jaGFyQ29kZUF0KG8pKT4+OCxmPXIlMjU2LGkucHVzaChmKSxpLnB1c2gobik7cmV0dXJuIGl9ZnVuY3Rpb24gYmFzZTY0VG9CeXRlcyhlKXtyZXR1cm4gYmFzZTY0LnRvQnl0ZUFycmF5KGJhc2U2NGNsZWFuKGUpKX1mdW5jdGlvbiBibGl0QnVmZmVyKGUsdCxyLG4pe2Zvcih2YXIgZj0wO2Y8biYmIShmK3I+PXQubGVuZ3RofHxmPj1lLmxlbmd0aCk7KytmKXRbZityXT1lW2ZdO3JldHVybiBmfWZ1bmN0aW9uIGlzSW5zdGFuY2UoZSx0KXtyZXR1cm4gZSBpbnN0YW5jZW9mIHR8fG51bGwhPWUmJm51bGwhPWUuY29uc3RydWN0b3ImJm51bGwhPWUuY29uc3RydWN0b3IubmFtZSYmZS5jb25zdHJ1Y3Rvci5uYW1lPT09dC5uYW1lfWZ1bmN0aW9uIG51bWJlcklzTmFOKGUpe3JldHVybiBlIT1lfVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltSmhjMlUyTkNJc0luSmxjWFZwY21VaUxDSnBaV1ZsTnpVMElpd2laWGh3YjNKMGN5SXNJa0oxWm1abGNpSXNJbE5zYjNkQ2RXWm1aWElpTENKSlRsTlFSVU5VWDAxQldGOUNXVlJGVXlJc0lrdGZUVUZZWDB4RlRrZFVTQ0lzSW5SNWNHVmtRWEp5WVhsVGRYQndiM0owSWl3aVlYSnlJaXdpVldsdWREaEJjbkpoZVNJc0lsOWZjSEp2ZEc5Zlh5SXNJbkJ5YjNSdmRIbHdaU0lzSW1admJ5SXNJbVVpTENKamNtVmhkR1ZDZFdabVpYSWlMQ0pzWlc1bmRHZ2lMQ0pTWVc1blpVVnljbTl5SWl3aVluVm1JaXdpWVhKbklpd2laVzVqYjJScGJtZFBjazltWm5ObGRDSXNJbFI1Y0dWRmNuSnZjaUlzSW1Gc2JHOWpWVzV6WVdabElpd2labkp2YlNJc0luWmhiSFZsSWl3aVpuSnZiVk4wY21sdVp5SXNJa0Z5Y21GNVFuVm1abVZ5SWl3aWFYTldhV1YzSWl3aVpuSnZiVUZ5Y21GNVRHbHJaU0lzSW1selNXNXpkR0Z1WTJVaUxDSmlkV1ptWlhJaUxDSm1jbTl0UVhKeVlYbENkV1ptWlhJaUxDSjJZV3gxWlU5bUlpd2lZaUlzSW1aeWIyMVBZbXBsWTNRaUxDSlRlVzFpYjJ3aUxDSjBiMUJ5YVcxcGRHbDJaU0lzSW1GemMyVnlkRk5wZW1VaUxDSnphWHBsSWl3aVlXeHNiMk1pTENKbWFXeHNJaXdpWlc1amIyUnBibWNpTENKMWJtUmxabWx1WldRaUxDSmphR1ZqYTJWa0lpd2ljM1J5YVc1bklpd2lhWE5GYm1OdlpHbHVaeUlzSW1KNWRHVk1aVzVuZEdnaUxDSmhZM1IxWVd3aUxDSjNjbWwwWlNJc0luTnNhV05sSWl3aVlYSnlZWGtpTENKcElpd2lZbmwwWlU5bVpuTmxkQ0lzSW05aWFpSXNJbWx6UW5WbVptVnlJaXdpYkdWdUlpd2lZMjl3ZVNJc0ltNTFiV0psY2tselRtRk9JaXdpZEhsd1pTSXNJa0Z5Y21GNUlpd2lhWE5CY25KaGVTSXNJbVJoZEdFaUxDSjBiMU4wY21sdVp5SXNJbTExYzNSTllYUmphQ0lzSW1GeVozVnRaVzUwY3lJc0lteHZkMlZ5WldSRFlYTmxJaXdpZFhSbU9GUnZRbmwwWlhNaUxDSmlZWE5sTmpSVWIwSjVkR1Z6SWl3aWRHOU1iM2RsY2tOaGMyVWlMQ0p6Ykc5M1ZHOVRkSEpwYm1jaUxDSnpkR0Z5ZENJc0ltVnVaQ0lzSW5Sb2FYTWlMQ0pvWlhoVGJHbGpaU0lzSW5WMFpqaFRiR2xqWlNJc0ltRnpZMmxwVTJ4cFkyVWlMQ0pzWVhScGJqRlRiR2xqWlNJc0ltSmhjMlUyTkZOc2FXTmxJaXdpZFhSbU1UWnNaVk5zYVdObElpd2ljM2RoY0NJc0ltNGlMQ0p0SWl3aVltbGthWEpsWTNScGIyNWhiRWx1WkdWNFQyWWlMQ0oyWVd3aUxDSmthWElpTENKaGNuSmhlVWx1WkdWNFQyWWlMQ0pwYm1SbGVFOW1JaXdpWTJGc2JDSXNJbXhoYzNSSmJtUmxlRTltSWl3aWFXNWtaWGhUYVhwbElpd2lZWEp5VEdWdVozUm9JaXdpZG1Gc1RHVnVaM1JvSWl3aVUzUnlhVzVuSWl3aWNtVmhaQ0lzSW5KbFlXUlZTVzUwTVRaQ1JTSXNJbVp2ZFc1a1NXNWtaWGdpTENKbWIzVnVaQ0lzSW1vaUxDSm9aWGhYY21sMFpTSXNJbTltWm5ObGRDSXNJazUxYldKbGNpSXNJbkpsYldGcGJtbHVaeUlzSW5OMGNreGxiaUlzSW5CaGNuTmxaQ0lzSW5CaGNuTmxTVzUwSWl3aWMzVmljM1J5SWl3aWRYUm1PRmR5YVhSbElpd2lZbXhwZEVKMVptWmxjaUlzSW1GelkybHBWM0pwZEdVaUxDSmhjMk5wYVZSdlFubDBaWE1pTENKc1lYUnBiakZYY21sMFpTSXNJbUpoYzJVMk5GZHlhWFJsSWl3aWRXTnpNbGR5YVhSbElpd2lkWFJtTVRac1pWUnZRbmwwWlhNaUxDSm1jbTl0UW5sMFpVRnljbUY1SWl3aVRXRjBhQ0lzSW0xcGJpSXNJbkpsY3lJc0luTmxZMjl1WkVKNWRHVWlMQ0owYUdseVpFSjVkR1VpTENKbWIzVnlkR2hDZVhSbElpd2lkR1Z0Y0VOdlpHVlFiMmx1ZENJc0ltWnBjbk4wUW5sMFpTSXNJbU52WkdWUWIybHVkQ0lzSW1KNWRHVnpVR1Z5VTJWeGRXVnVZMlVpTENKd2RYTm9JaXdpWkdWamIyUmxRMjlrWlZCdmFXNTBjMEZ5Y21GNUlpd2lhMDFoZUV4bGJtZDBhQ0lzSWxSWlVFVkVYMEZTVWtGWlgxTlZVRkJQVWxRaUxDSmpiMjV6YjJ4bElpd2laWEp5YjNJaUxDSlBZbXBsWTNRaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltVnVkVzFsY21GaWJHVWlMQ0puWlhRaUxDSnpjR1ZqYVdWeklpd2lZMjl1Wm1sbmRYSmhZbXhsSWl3aWQzSnBkR0ZpYkdVaUxDSndiMjlzVTJsNlpTSXNJbUZzYkc5alZXNXpZV1psVTJ4dmR5SXNJbDlwYzBKMVptWmxjaUlzSW1OdmJYQmhjbVVpTENKaElpd2llQ0lzSW5raUxDSmpiMjVqWVhRaUxDSnNhWE4wSWl3aWNHOXpJaXdpYzNkaGNERTJJaXdpYzNkaGNETXlJaXdpYzNkaGNEWTBJaXdpWVhCd2JIa2lMQ0owYjB4dlkyRnNaVk4wY21sdVp5SXNJbVZ4ZFdGc2N5SXNJbWx1YzNCbFkzUWlMQ0p6ZEhJaUxDSnRZWGdpTENKeVpYQnNZV05sSWl3aWRISnBiU0lzSW5SaGNtZGxkQ0lzSW5Sb2FYTlRkR0Z5ZENJc0luUm9hWE5GYm1RaUxDSjBhR2x6UTI5d2VTSXNJblJoY21kbGRFTnZjSGtpTENKcGJtTnNkV1JsY3lJc0ltbHpSbWx1YVhSbElpd2lSWEp5YjNJaUxDSjBiMHBUVDA0aUxDSmZZWEp5SWl3aVRVRllYMEZTUjFWTlJVNVVVMTlNUlU1SFZFZ2lMQ0pqYjJSbFVHOXBiblJ6SWl3aVpuSnZiVU5vWVhKRGIyUmxJaXdpY21WMElpd2liM1YwSWl3aWRHOUlaWGdpTENKaWVYUmxjeUlzSW1Ob1pXTnJUMlptYzJWMElpd2laWGgwSWl3aVkyaGxZMnRKYm5RaUxDSmphR1ZqYTBsRlJVVTNOVFFpTENKM2NtbDBaVVpzYjJGMElpd2liR2wwZEd4bFJXNWthV0Z1SWl3aWJtOUJjM05sY25RaUxDSjNjbWwwWlVSdmRXSnNaU0lzSW01bGQwSjFaaUlzSW5OMVltRnljbUY1SWl3aWNtVmhaRlZKYm5STVJTSXNJbTExYkNJc0luSmxZV1JWU1c1MFFrVWlMQ0p5WldGa1ZVbHVkRGdpTENKeVpXRmtWVWx1ZERFMlRFVWlMQ0p5WldGa1ZVbHVkRE15VEVVaUxDSnlaV0ZrVlVsdWRETXlRa1VpTENKeVpXRmtTVzUwVEVVaUxDSndiM2NpTENKeVpXRmtTVzUwUWtVaUxDSnlaV0ZrU1c1ME9DSXNJbkpsWVdSSmJuUXhOa3hGSWl3aWNtVmhaRWx1ZERFMlFrVWlMQ0p5WldGa1NXNTBNekpNUlNJc0luSmxZV1JKYm5Rek1rSkZJaXdpY21WaFpFWnNiMkYwVEVVaUxDSnlaV0ZrUm14dllYUkNSU0lzSW5KbFlXUkViM1ZpYkdWTVJTSXNJbkpsWVdSRWIzVmliR1ZDUlNJc0luZHlhWFJsVlVsdWRFeEZJaXdpZDNKcGRHVlZTVzUwUWtVaUxDSjNjbWwwWlZWSmJuUTRJaXdpZDNKcGRHVlZTVzUwTVRaTVJTSXNJbmR5YVhSbFZVbHVkREUyUWtVaUxDSjNjbWwwWlZWSmJuUXpNa3hGSWl3aWQzSnBkR1ZWU1c1ME16SkNSU0lzSW5keWFYUmxTVzUwVEVVaUxDSnNhVzFwZENJc0luTjFZaUlzSW5keWFYUmxTVzUwUWtVaUxDSjNjbWwwWlVsdWREZ2lMQ0ozY21sMFpVbHVkREUyVEVVaUxDSjNjbWwwWlVsdWRERTJRa1VpTENKM2NtbDBaVWx1ZERNeVRFVWlMQ0ozY21sMFpVbHVkRE15UWtVaUxDSjNjbWwwWlVac2IyRjBURVVpTENKM2NtbDBaVVpzYjJGMFFrVWlMQ0ozY21sMFpVUnZkV0pzWlV4Rklpd2lkM0pwZEdWRWIzVmliR1ZDUlNJc0luUmhjbWRsZEZOMFlYSjBJaXdpWTI5d2VWZHBkR2hwYmlJc0luTmxkQ0lzSW1OdlpHVWlMQ0pqYUdGeVEyOWtaVUYwSWl3aVNVNVdRVXhKUkY5Q1FWTkZOalJmVWtVaUxDSmlZWE5sTmpSamJHVmhiaUlzSW5Od2JHbDBJaXdpZFc1cGRITWlMQ0pKYm1acGJtbDBlU0lzSW14bFlXUlRkWEp5YjJkaGRHVWlMQ0ppZVhSbFFYSnlZWGtpTENKaklpd2lhR2tpTENKc2J5SXNJblJ2UW5sMFpVRnljbUY1SWl3aWMzSmpJaXdpWkhOMElpd2lZMjl1YzNSeWRXTjBiM0lpTENKdVlXMWxJbDBzSW0xaGNIQnBibWR6SWpvaVFVRlJRU3hoUVVWQkxFbEJRVWxCTEU5QlFWTkRMRkZCUVZFc1lVRkRha0pETEZGQlFWVkVMRkZCUVZFc1YwRkZkRUpGTEZGQlFWRkRMRTlCUVZOQkxFOUJRMnBDUkN4UlFVRlJSU3hYUVVGaFFTeFhRVU55UWtZc1VVRkJVVWNzYTBKQlFXOUNMRWRCUlRWQ0xFbEJRVWxETEdGQlFXVXNWMEV5UW01Q0xGTkJRVk5ETEc5Q1FVVlFMRWxCUTBVc1NVRkJTVU1zUlVGQlRTeEpRVUZKUXl4WFFVRlhMRWRCUlhwQ0xFOUJSRUZFTEVWQlFVbEZMRlZCUVZrc1EwRkJSVUVzVlVGQlYwUXNWMEZCVjBVc1ZVRkJWME1zU1VGQlN5eFhRVUZqTEU5QlFVOHNTMEZEZUVRc1MwRkJaRW9zUlVGQlNVa3NUVUZEV0N4TlFVRlBReXhIUVVOUUxFOUJRVThzUjBGdlFsZ3NVMEZCVTBNc1lVRkJZME1zUjBGRGNrSXNSMEZCU1VFc1JVRkJVMVFzWVVGRFdDeE5RVUZOTEVsQlFVbFZMRmRCUVZjc1kwRkJaMEpFTEVWQlFWTXNhME5CUjJoRUxFbEJRVWxGTEVWQlFVMHNTVUZCU1ZJc1YwRkJWMDBzUjBGRmVrSXNUMEZFUVVVc1JVRkJTVkFzVlVGQldWQXNUMEZCVDFFc1ZVRkRhRUpOTEVWQllWUXNVMEZCVTJRc1QwRkJVV1VzUlVGQlMwTXNSVUZCYTBKS0xFZEJSWFJETEVkQlFXMUNMR2xDUVVGU1J5eEZRVUZyUWl4RFFVTXpRaXhIUVVGblF5eHBRa0ZCY2tKRExFVkJRMVFzVFVGQlRTeEpRVUZKUXl4VlFVTlNMSE5GUVVkS0xFOUJRVTlETEZsQlFWbElMRWRCUlhKQ0xFOUJRVTlKTEV0QlFVdEtMRVZCUVV0RExFVkJRV3RDU2l4SFFXZENja01zVTBGQlUwOHNTMEZCVFVNc1JVRkJUMG9zUlVGQmEwSktMRWRCUTNSRExFZEJRWEZDTEdsQ1FVRldVU3hGUVVOVUxFOUJRVTlETEZkQlFWZEVMRVZCUVU5S0xFZEJSek5DTEVkQlFVbE5MRmxCUVZsRExFOUJRVTlJTEVkQlEzSkNMRTlCUVU5SkxHTkJRV05LTEVkQlIzWkNMRWRCUVdFc1RVRkJWRUVzUlVGRFJpeE5RVUZOU0N4VlFVTktMSGxJUVVOcFJFY3NSMEZKY2tRc1IwRkJTVXNzVjBGQlYwd3NSVUZCVDBVc1kwRkRha0pHTEVkQlFWTkxMRmRCUVZkTUxFVkJRVTFOTEU5QlFWRktMR0ZCUTNKRExFOUJRVTlMTEdkQ1FVRm5RbEFzUlVGQlQwb3NSVUZCYTBKS0xFZEJSMnhFTEVkQlFYRkNMR2xDUVVGV1VTeEZRVU5VTEUxQlFVMHNTVUZCU1Vnc1ZVRkRVaXg1UlVGSlNpeEpRVUZKVnl4RlFVRlZVaXhGUVVGTlVTeFRRVUZYVWl4RlFVRk5VU3hWUVVOeVF5eEhRVUZsTEUxQlFWaEJMRWRCUVcxQ1FTeEpRVUZaVWl4RlFVTnFReXhQUVVGUGNFSXNUMEZCVDIxQ0xFdEJRVXRUTEVWQlFWTmFMRVZCUVd0Q1NpeEhRVWRvUkN4SlFVRkphVUlzUlVGQlNVTXNWMEZCVjFZc1IwRkRia0lzUjBGQlNWTXNSVUZCUnl4UFFVRlBRU3hGUVVWa0xFZEJRWE5DTEc5Q1FVRllSU3hSUVVGblJDeE5RVUYwUWtFc1QwRkJUME1zWVVGRFNDeHRRa0ZCT1VKYUxFVkJRVTFYTEU5QlFVOURMR0ZCUTNSQ0xFOUJRVTlvUXl4UFFVRlBiVUlzUzBGRFdrTXNSVUZCVFZjc1QwRkJUME1zWVVGQllTeFZRVUZYYUVJc1JVRkJhMEpLTEVkQlNUTkVMRTFCUVUwc1NVRkJTVXNzVlVGRFVpeDVTRUZEYVVSSExFZEJjVUp5UkN4VFFVRlRZU3hYUVVGWlF5eEhRVU51UWl4SFFVRnZRaXhwUWtGQlZFRXNSVUZEVkN4TlFVRk5MRWxCUVVscVFpeFZRVUZWTERCRFFVTm1MRWRCUVVscFFpeEZRVUZQTEVWQlEyaENMRTFCUVUwc1NVRkJTWEpDTEZkQlFWY3NZMEZCWjBKeFFpeEZRVUZQTEd0RFFVbG9SQ3hUUVVGVFF5eE5RVUZQUkN4RlFVRk5SU3hGUVVGTlF5eEhRVVV4UWl4UFFVUkJTaXhYUVVGWFF5eEhRVU5RUVN4SFFVRlJMRVZCUTBoMlFpeGhRVUZoZFVJc1VVRkZWRWtzU1VGQlZFWXNSVUZKZVVJc2FVSkJRV0pETEVWQlExWXhRaXhoUVVGaGRVSXNSMEZCVFVVc1MwRkJTMEVzUlVGQlRVTXNSMEZET1VJeFFpeGhRVUZoZFVJc1IwRkJUVVVzUzBGQlMwRXNSMEZGZGtKNlFpeGhRVUZoZFVJc1IwRlhkRUlzVTBGQlUyaENMRmxCUVdGblFpeEhRVVZ3UWl4UFFVUkJSQ3hYUVVGWFF5eEhRVU5LZGtJc1lVRkJZWFZDTEVWQlFVOHNSVUZCU1N4RlFVRnZRaXhGUVVGb1Frc3NVVUZCVVV3c1NVRm5RamRETEZOQlFWTmlMRmRCUVZsdFFpeEZRVUZSU0N4SFFVc3pRaXhIUVVwM1FpeHBRa0ZCWWtFc1IwRkJjME1zUzBGQllrRXNTVUZEYkVOQkxFVkJRVmNzVTBGSFVuSkRMRTlCUVU5NVF5eFhRVUZYU2l4SFFVTnlRaXhOUVVGTkxFbEJRVWx3UWl4VlFVRlZMSEZDUVVGMVFtOUNMRWRCUnpkRExFbEJRVWw2UWl4RlFVRjNReXhGUVVFdlFqaENMRmRCUVZkR0xFVkJRVkZJTEVkQlF6VkNka0lzUlVGQlRVZ3NZVUZCWVVNc1IwRkZia0lyUWl4RlFVRlROMElzUlVGQlNUaENMRTFCUVUxS0xFVkJRVkZJTEVkQlV5OUNMRTlCVUVsTkxFbEJRVmN2UWl4SlFVbGlSU3hGUVVGTlFTeEZRVUZKSzBJc1RVRkJUU3hGUVVGSFJpeEpRVWRrTjBJc1JVRkhWQ3hUUVVGVFZTeGpRVUZsYzBJc1IwRkhkRUlzU1VGR1FTeEpRVUZKYkVNc1JVRkJVMnRETEVWQlFVMXNReXhQUVVGVExFVkJRVWtzUlVGQk5FSXNSVUZCZUVJeVFpeFJRVUZSVHl4RlFVRk5iRU1zVVVGRE9VTkZMRVZCUVUxSUxHRkJRV0ZETEVkQlEyUnRReXhGUVVGSkxFVkJRVWRCTEVWQlFVbHVReXhGUVVGUmJVTXNSMEZCU3l4RlFVTXZRbXBETEVWQlFVbHBReXhIUVVGblFpeEpRVUZZUkN4RlFVRk5ReXhIUVVWcVFpeFBRVUZQYWtNc1JVRkhWQ3hUUVVGVFlTeG5Ra0ZCYVVKdFFpeEZRVUZQUlN4RlFVRlpjRU1zUjBGRE0wTXNSMEZCU1c5RExFVkJRV0VzUjBGQlMwWXNSVUZCVFVvc1YwRkJZVTBzUlVGRGRrTXNUVUZCVFN4SlFVRkpia01zVjBGQlZ5eDNRMEZIZGtJc1IwRkJTV2xETEVWQlFVMUtMRmRCUVdGTkxFZEJRV053UXl4SFFVRlZMRWRCUXpkRExFMUJRVTBzU1VGQlNVTXNWMEZCVnl4M1EwRkhka0lzU1VGQlNVTXNSVUZYU2l4UFFWUkZRU3hQUVVScFFuZENMRWxCUVdaVkxGRkJRWFZEVml4SlFVRllNVUlzUlVGRGVFSXNTVUZCU1U0c1YwRkJWM2RETEZGQlEwUlNMRWxCUVZneFFpeEZRVU5JTEVsQlFVbE9MRmRCUVZkM1F5eEZRVUZQUlN4SFFVVjBRaXhKUVVGSk1VTXNWMEZCVjNkRExFVkJRVTlGTEVWQlFWbHdReXhKUVVsMFEwd3NWVUZCV1ZBc1QwRkJUMUVzVlVGRGFFSk5MRVZCUjFRc1UwRkJVMmRDTEZkQlFWbHRRaXhIUVVOdVFpeEhRVUZKYWtRc1QwRkJUMnRFTEZOQlFWTkVMRWRCUVUwc1EwRkRlRUlzU1VGQlNVVXNSVUZCTkVJc1JVRkJkRUphTEZGQlFWRlZMRVZCUVVseVF5eFJRVU5zUWtVc1JVRkJUVWdzWVVGQllYZERMRWRCUlhaQ0xFOUJRVzFDTEVsQlFXWnlReXhGUVVGSlJpeFBRVU5EUlN4SFFVZFViVU1zUlVGQlNVY3NTMEZCUzNSRExFVkJRVXNzUlVGQlJ5eEZRVUZIY1VNc1IwRkRZbkpETEVkQlIxUXNXVUZCYlVKM1FpeEpRVUZtVnl4RlFVRkpja01zVDBGRGIwSXNhVUpCUVdaeFF5eEZRVUZKY2tNc1VVRkJkVUo1UXl4WlFVRlpTaXhGUVVGSmNrTXNVVUZETjBORUxHRkJRV0VzUjBGRlptRXNZMEZCWTNsQ0xFZEJSMDRzVjBGQllrRXNSVUZCU1Vzc1RVRkJjVUpETEUxQlFVMURMRkZCUVZGUUxFVkJRVWxSTEUxQlEzUkRha01zWTBGQlkzbENMRVZCUVVsUkxGZEJSRE5DTEVWQlMwWXNVMEZCVTJ4Q0xGRkJRVk16UWl4SFFVZG9RaXhIUVVGSlFTeEhRVUZWVkN4aFFVTmFMRTFCUVUwc1NVRkJTVlVzVjBGQlZ5d3dSRUZEWVZZc1lVRkJZWFZFTEZOQlFWTXNTVUZCVFN4VlFVVm9SU3hQUVVGblFpeEZRVUZVT1VNc1JVRkhWQ3hUUVVGVFdDeFhRVUZaVnl4SFFVbHVRaXhQUVVoTFFTeEhRVUZWUVN4SlFVTmlRU3hGUVVGVExFZEJSVXBhTEU5QlFVOXRReXhQUVVGUGRrSXNSMEYxUm5aQ0xGTkJRVk00UWl4WFFVRlpSaXhGUVVGUlNDeEhRVU16UWl4SFFVRkpja01zVDBGQlQydEVMRk5CUVZOV0xFZEJRMnhDTEU5QlFVOUJMRVZCUVU4MVFpeFBRVVZvUWl4SFFVRkpWU3haUVVGWlF5eFBRVUZQYVVJc1NVRkJWMllzVjBGQlYyVXNSVUZCVVd4Q0xHRkJRMjVFTEU5QlFVOXJRaXhGUVVGUFJTeFhRVVZvUWl4SFFVRnpRaXhwUWtGQldFWXNSVUZEVkN4TlFVRk5MRWxCUVVsMlFpeFZRVU5TTEd0SFFVTXdRblZDTEVkQlNUbENMRWxCUVVsWExFVkJRVTFZTEVWQlFVODFRaXhQUVVOaUswTXNSVUZCWVVNc1ZVRkJWV2hFTEU5QlFWTXNTVUZCYzBJc1NVRkJha0puUkN4VlFVRlZMRWRCUTI1RUxFbEJRVXRFTEVkQlFYRkNMRWxCUVZKU0xFVkJRVmNzVDBGQlR5eEZRVWx3UXl4SlFVUkJMRWxCUVVsVkxFZEJRV01zU1VGRmFFSXNUMEZCVVhoQ0xFZEJRMDRzU1VGQlN5eFJRVU5NTEVsQlFVc3NVMEZEVEN4SlFVRkxMRk5CUTBnc1QwRkJUMk1zUlVGRFZDeEpRVUZMTEU5QlEwd3NTVUZCU3l4UlFVTklMRTlCUVU5WExGbEJRVmwwUWl4SFFVRlJOVUlzVDBGRE4wSXNTVUZCU3l4UFFVTk1MRWxCUVVzc1VVRkRUQ3hKUVVGTExGVkJRMHdzU1VGQlN5eFhRVU5JTEU5QlFXRXNSVUZCVG5WRExFVkJRMVFzU1VGQlN5eE5RVU5JTEU5QlFVOUJMRWxCUVZFc1JVRkRha0lzU1VGQlN5eFRRVU5JTEU5QlFVOVpMR05CUVdOMlFpeEhRVUZSTlVJc1QwRkRMMElzVVVGRFJTeEhRVUZKYVVRc1JVRkRSaXhQUVVGUFJpeEhRVUZoTEVWQlFVbEhMRmxCUVZsMFFpeEhRVUZSTlVJc1QwRkZPVU41UWl4SFFVRlpMRWRCUVV0QkxFZEJRVlV5UWl4alFVTXpRa2dzUjBGQll5eEhRVTEwUWl4VFFVRlRTU3hoUVVGak5VSXNSVUZCVlRaQ0xFVkJRVTlETEVkQlEzUkRMRWxCUVVsT0xFZEJRV01zUlVGamJFSXNVMEZNWTNaQ0xFbEJRVlkwUWl4SFFVRjFRa0VzUlVGQlVTeExRVU5xUTBFc1JVRkJVU3hIUVVsT1FTeEZRVUZSUlN4TFFVRkxlRVFzVDBGRFppeE5RVUZQTEVkQlQxUXNVMEZLV1RCQ0xFbEJRVkkyUWl4SFFVRnhRa0VzUlVGQlRVTXNTMEZCUzNoRUxGVkJRMnhEZFVRc1JVRkJUVU1zUzBGQlMzaEVMRkZCUjFSMVJDeEhRVUZQTEVWQlExUXNUVUZCVHl4SFFVOVVMRWxCU0VGQkxFdEJRVk1zUzBGRFZFUXNTMEZCVnl4SFFVZFVMRTFCUVU4c1IwRkxWQ3hKUVVaTE4wSXNTVUZCVlVFc1JVRkJWeXhWUVVkNFFpeFBRVUZSUVN4SFFVTk9MRWxCUVVzc1RVRkRTQ3hQUVVGUFowTXNVMEZCVTBRc1MwRkJUVVlzUlVGQlQwTXNSMEZGTDBJc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFNDeFBRVUZQUnl4VlFVRlZSaXhMUVVGTlJpeEZRVUZQUXl4SFFVVm9ReXhKUVVGTExGRkJRMGdzVDBGQlQwa3NWMEZCVjBnc1MwRkJUVVlzUlVGQlQwTXNSMEZGYWtNc1NVRkJTeXhUUVVOTUxFbEJRVXNzVTBGRFNDeFBRVUZQU3l4WlFVRlpTaXhMUVVGTlJpeEZRVUZQUXl4SFFVVnNReXhKUVVGTExGTkJRMGdzVDBGQlQwMHNXVUZCV1V3c1MwRkJUVVlzUlVGQlQwTXNSMEZGYkVNc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFRDeEpRVUZMTEZWQlEwd3NTVUZCU3l4WFFVTklMRTlCUVU5UExHRkJRV0ZPTEV0QlFVMUdMRVZCUVU5RExFZEJSVzVETEZGQlEwVXNSMEZCU1U0c1JVRkJZU3hOUVVGTkxFbEJRVWsxUXl4VlFVRlZMSEZDUVVGMVFtOUNMRWRCUXpWRVFTeEhRVUZaUVN4RlFVRlhMRWxCUVVreVFpeGpRVU16UWtnc1IwRkJZeXhIUVdGMFFpeFRRVUZUWXl4TFFVRk5PVU1zUlVGQlJ5dERMRVZCUVVkRExFZEJRMjVDTEVsQlFVazVRaXhGUVVGSmJFSXNSVUZCUlN0RExFZEJRMVl2UXl4RlFVRkZLME1zUjBGQlN5OURMRVZCUVVWblJDeEhRVU5VYUVRc1JVRkJSV2RFTEVkQlFVczVRaXhGUVhsSlZDeFRRVUZUSzBJc2NVSkJRWE5DY0VRc1JVRkJVWEZFTEVWQlFVc3ZRaXhGUVVGWldDeEZRVUZWTWtNc1IwRkZhRVVzUjBGQmMwSXNTVUZCYkVKMFJDeEZRVUZQWkN4UFFVRmpMRTlCUVZFc1JVRnRRbXBETEVkQmFFSXdRaXhwUWtGQlptOURMRWRCUTFSWUxFVkJRVmRYTEVWQlExaEJMRVZCUVdFc1IwRkRTa0VzUlVGQllTeFhRVU4wUWtFc1JVRkJZU3hYUVVOS1FTeEhRVUZqTEdGQlEzWkNRU3hIUVVGakxGbEJSMXBMTEZsQlJFcE1MRWRCUVdOQkxFdEJSMXBCTEVWQlFXRm5ReXhGUVVGTkxFVkJRVXQwUkN4RlFVRlBaQ3hQUVVGVExFZEJTWFJEYjBNc1JVRkJZU3hKUVVGSFFTeEZRVUZoZEVJc1JVRkJUMlFzVDBGQlUyOURMRWRCUXpkRFFTeEhRVUZqZEVJc1JVRkJUMlFzVDBGQlVTeERRVU12UWl4SFFVRkpiMFVzUlVGQlN5eFBRVUZSTEVWQlExcG9ReXhGUVVGaGRFSXNSVUZCVDJRc1QwRkJVeXhQUVVNM1FpeEhRVUZKYjBNc1JVRkJZU3hGUVVGSExFTkJRM3BDTEVsQlFVbG5ReXhGUVVORExFOUJRVkVzUlVGRVNtaERMRVZCUVdFc1JVRlZlRUlzUjBGTWJVSXNhVUpCUVZJclFpeEpRVU5VUVN4RlFVRk5MMFVzVDBGQlQyMUNMRXRCUVVzMFJDeEZRVUZMTVVNc1NVRkpja0p5UXl4UFFVRlBhMFFzVTBGQlV6WkNMRWRCUld4Q0xFOUJRVzFDTEVsQlFXWkJMRVZCUVVsdVJTeFJRVU5GTEVWQlJVaHhSU3hoUVVGaGRrUXNSVUZCVVhGRUxFVkJRVXN2UWl4RlFVRlpXQ3hGUVVGVk1rTXNSMEZEYkVRc1IwRkJiVUlzYVVKQlFWSkVMRVZCUldoQ0xFOUJSRUZCTEVkQlFWa3NTVUZEWjBNc2JVSkJRV3BEZWtVc1YwRkJWMFVzVlVGQlZUQkZMRkZCUXpGQ1JpeEZRVU5MTVVVc1YwRkJWMFVzVlVGQlZUQkZMRkZCUVZGRExFdEJRVXQ2UkN4RlFVRlJjVVFzUlVGQlN5OUNMRWRCUlM5RE1VTXNWMEZCVjBVc1ZVRkJWVFJGTEZsQlFWbEVMRXRCUVV0NlJDeEZRVUZSY1VRc1JVRkJTeTlDTEVkQlIzWkVhVU1zWVVGQllYWkVMRVZCUVZFc1EwRkJSWEZFTEVkQlFVOHZRaXhGUVVGWldDeEZRVUZWTWtNc1IwRkhOMFFzVFVGQlRTeEpRVUZKTDBRc1ZVRkJWU3gzUTBGSGRFSXNVMEZCVTJkRkxHRkJRV00xUlN4RlFVRkxNRVVzUlVGQlN5OUNMRVZCUVZsWUxFVkJRVlV5UXl4SFFVTnlSQ3hKUVRCQ1NXcERMRVZCTVVKQmMwTXNSVUZCV1N4RlFVTmFReXhGUVVGWmFrWXNSVUZCU1U4c1QwRkRhRUl5UlN4RlFVRlpVaXhGUVVGSmJrVXNUMEZGY0VJc1VVRkJhVUl3UWl4SlFVRmlSQ3hKUVVWbExGVkJSR3BDUVN4RlFVRlhiVVFzVDBGQlQyNUVMRWRCUVZVeVFpeG5Ra0ZEV1N4VlFVRmlNMElzUjBGRFZpeFpRVUZpUVN4SFFVRjFReXhoUVVGaVFTeEhRVUY1UWl4RFFVTnlSQ3hIUVVGSmFFTXNSVUZCU1U4c1QwRkJVeXhIUVVGTGJVVXNSVUZCU1c1RkxFOUJRVk1zUlVGRGFrTXNUMEZCVVN4RlFVVldlVVVzUlVGQldTeEZRVU5hUXl4SFFVRmhMRVZCUTJKRExFZEJRV0VzUlVGRFluWkRMRWRCUVdNc1JVRkpiRUlzVTBGQlUzbERMRVZCUVUwelJTeEZRVUZMYVVNc1IwRkRiRUlzVDBGQmEwSXNTVUZCWkhORExFVkJRMHQyUlN4RlFVRkphVU1zUjBGRlNtcERMRVZCUVVrMFJTeGhRVUZoTTBNc1JVRkJTWE5ETEVkQlMyaERMRWRCUVVsTUxFVkJRVXNzUTBGRFVDeEpRVUZKVnl4SFFVRmpMRVZCUTJ4Q0xFbEJRVXMxUXl4RlFVRkpReXhGUVVGWlJDeEZRVUZKZFVNc1JVRkJWM1pETEVsQlEyeERMRWRCUVVrd1F5eEZRVUZMY0VZc1JVRkJTekJETEV0QlFVOHdReXhGUVVGTFZpeEhRVUZ4UWl4SlFVRm9RbGtzUlVGQmIwSXNSVUZCU1RWRExFVkJRVWswUXl4SlFVVjZSQ3hKUVVSdlFpeEpRVUZvUWtFc1NVRkJiVUpCTEVWQlFXRTFReXhIUVVOb1EwRXNSVUZCU1RSRExFVkJRV0VzU1VGQlRVb3NSVUZCVnl4UFFVRlBTU3hGUVVGaFRpeFBRVVYwUXl4SlFVRm9RazBzU1VGQmJVSTFReXhIUVVGTFFTeEZRVUZKTkVNc1IwRkRhRU5CTEVkQlFXTXNUMEZMYkVJc1NVRkVTVE5ETEVWQlFXRjFReXhGUVVGWlJDeEpRVUZYZEVNc1JVRkJZWE5ETEVWQlFWbERMRWRCUXpWRWVFTXNSVUZCU1VNc1JVRkJXVVFzUjBGQlN5eEZRVUZIUVN4SlFVRkxMRU5CUldoRExFbEJSRUVzU1VGQlNUWkRMRWRCUVZFc1JVRkRTRU1zUlVGQlNTeEZRVUZIUVN4RlFVRkpUaXhGUVVGWFRTeEpRVU0zUWl4SFFVRkpTaXhGUVVGTGNFWXNSVUZCU3pCRExFVkJRVWs0UXl4TFFVRlBTaXhGUVVGTFZpeEZRVUZMWXl4SFFVRkpMRU5CUTNKRFJDeEhRVUZSTEVWQlExSXNUVUZIU2l4SFFVRkpRU3hGUVVGUExFOUJRVTgzUXl4RlFVbDBRaXhQUVVGUkxFVkJaVllzVTBGQlV5dERMRk5CUVZWb1JpeEZRVUZMTUVJc1JVRkJVWFZFTEVWQlFWRnVSaXhIUVVOMFEyMUdMRVZCUVZORExFOUJRVTlFTEVsQlFWY3NSVUZETTBJc1NVRkJTVVVzUlVGQldXNUdMRVZCUVVsR0xFOUJRVk50Uml4RlFVTjRRbTVHTEVkQlIwaEJMRVZCUVZOdlJpeFBRVUZQY0VZc1NVRkRTSEZHTEVsQlExaHlSaXhGUVVGVGNVWXNSMEZLV0hKR0xFVkJRVk54Uml4RlFWRllMRWxCUVVsRExFVkJRVk14UkN4RlFVRlBOVUlzVDBGRmFFSkJMRVZCUVZOelJpeEZRVUZUTEVsQlEzQkNkRVlzUlVGQlUzTkdMRVZCUVZNc1IwRkZjRUlzU1VGQlN5eEpRVUZKYmtRc1JVRkJTU3hGUVVGSFFTeEZRVUZKYmtNc1NVRkJWVzFETEVWQlFVY3NRMEZETDBJc1NVRkJTVzlFTEVWQlFWTkRMRk5CUVZNMVJDeEZRVUZQTmtRc1QwRkJWeXhGUVVGS2RFUXNSVUZCVHl4SFFVRkpMRWxCUXk5RExFZEJRVWxOTEZsQlFWazRReXhIUVVGVExFOUJRVTl3UkN4RlFVTm9RMnBETEVWQlFVbHBSaXhGUVVGVGFFUXNSMEZCUzI5RUxFVkJSWEJDTEU5QlFVOXdSQ3hGUVVkVUxGTkJRVk4xUkN4VlFVRlhlRVlzUlVGQlN6QkNMRVZCUVZGMVJDeEZRVUZSYmtZc1IwRkRka01zVDBGQlR6SkdMRmRCUVZkNlF5eFpRVUZaZEVJc1JVRkJVVEZDTEVWQlFVbEdMRTlCUVZOdFJpeEhRVUZUYWtZc1JVRkJTMmxHTEVWQlFWRnVSaXhIUVVjelJTeFRRVUZUTkVZc1YwRkJXVEZHTEVWQlFVc3dRaXhGUVVGUmRVUXNSVUZCVVc1R0xFZEJRM2hETEU5QlFVOHlSaXhYUVVGWFJTeGhRVUZoYWtVc1IwRkJVekZDTEVWQlFVdHBSaXhGUVVGUmJrWXNSMEZIZGtRc1UwRkJVemhHTEZsQlFXRTFSaXhGUVVGTE1FSXNSVUZCVVhWRUxFVkJRVkZ1Uml4SFFVTjZReXhQUVVGUE5FWXNWMEZCVnpGR0xFVkJRVXN3UWl4RlFVRlJkVVFzUlVGQlVXNUdMRWRCUjNwRExGTkJRVk1yUml4WlFVRmhOMFlzUlVGQlN6QkNMRVZCUVZGMVJDeEZRVUZSYmtZc1IwRkRla01zVDBGQlR6SkdMRmRCUVZkNFF5eGpRVUZqZGtJc1IwRkJVekZDTEVWQlFVdHBSaXhGUVVGUmJrWXNSMEZIZUVRc1UwRkJVMmRITEZWQlFWYzVSaXhGUVVGTE1FSXNSVUZCVVhWRUxFVkJRVkZ1Uml4SFFVTjJReXhQUVVGUE1rWXNWMEZCVjAwc1pVRkJaWEpGTEVWQlFWRXhRaXhGUVVGSlJpeFBRVUZUYlVZc1IwRkJVMnBHTEVWQlFVdHBSaXhGUVVGUmJrWXNSMEZwUmpsRkxGTkJRVk0yUkN4WlFVRmhNMFFzUlVGQlMyOUVMRVZCUVU5RExFZEJRMmhETEU5QlFXTXNTVUZCVmtRc1IwRkJaVU1zU1VGQlVYSkVMRVZCUVVsR0xFOUJRM1JDYUVJc1QwRkJUMnRJTEdOQlFXTm9SeXhIUVVWeVFteENMRTlCUVU5clNDeGpRVUZqYUVjc1JVRkJTU3RDTEUxQlFVMXhRaXhGUVVGUFF5eEpRVWxxUkN4VFFVRlRSeXhWUVVGWGVFUXNSVUZCUzI5RUxFVkJRVTlETEVkQlF6bENRU3hGUVVGTk5FTXNTMEZCUzBNc1NVRkJTV3hITEVWQlFVbEdMRTlCUVZGMVJDeEhRVWt6UWl4SlFVaEJMRWxCUVVrNFF5eEZRVUZOTEVkQlJVNXNSU3hGUVVGSmJVSXNSVUZEUkc1Q0xFVkJRVWx2UWl4SFFVRkxMRU5CUTJRc1NVRlJUU3RETEVWQlFWbERMRVZCUVZkRExFVkJRVmxETEVWQlVuSkRReXhGUVVGWmVFY3NSVUZCU1dsRExFZEJRMmhDZDBVc1JVRkJXU3hMUVVOYVF5eEZRVUZ2UWtZc1JVRkJXU3hKUVVGUkxFVkJRM1pEUVN4RlFVRlpMRWxCUVZFc1JVRkRiRUpCTEVWQlFWa3NTVUZCVVN4RlFVTnVRaXhGUVVWU0xFZEJRVWwyUlN4RlFVRkplVVVzUjBGQmIwSnlSQ3hGUVVjeFFpeFBRVUZSY1VRc1IwRkRUaXhMUVVGTExFVkJRME5HTEVWQlFWa3NUVUZEWkVNc1JVRkJXVVFzUjBGRlpDeE5RVU5HTEV0QlFVc3NSVUZGZVVJc1RVRkJWaXhMUVVSc1Frb3NSVUZCWVhCSExFVkJRVWxwUXl4RlFVRkpMRTlCUlc1Q2MwVXNSMEZCTmtJc1IwRkJXa01zU1VGQmNVSXNSVUZCYjBJc1IwRkJZa29zUjBGRGVrSXNUVUZEYkVKTExFVkJRVmxHTEVkQlIyaENMRTFCUTBZc1MwRkJTeXhGUVVOSVNDeEZRVUZoY0Vjc1JVRkJTV2xETEVWQlFVa3NSMEZEY2tKdlJTeEZRVUZaY2tjc1JVRkJTV2xETEVWQlFVa3NSMEZEVVN4TlFVRldMRWxCUVdKdFJTeEpRVUZ6UkN4TlFVRldMRWxCUVZwRExFdEJRMjVEUlN4SFFVRTJRaXhIUVVGYVF5eEpRVUZ2UWl4SlFVRnZRaXhIUVVGaVNpeEpRVUZ6UWl4RlFVRnRRaXhIUVVGYVF5eEhRVU55UkN4UFFVRlZSU3hGUVVGblFpeFBRVUZWUVN4RlFVRm5RaXhUUVVOMFJVVXNSVUZCV1VZc1IwRkhhRUlzVFVGRFJpeExRVUZMTEVWQlEwaElMRVZCUVdGd1J5eEZRVUZKYVVNc1JVRkJTU3hIUVVOeVFtOUZMRVZCUVZseVJ5eEZRVUZKYVVNc1JVRkJTU3hIUVVOd1FuRkZMRVZCUVdGMFJ5eEZRVUZKYVVNc1JVRkJTU3hIUVVOUExFMUJRVllzU1VGQlltMUZMRWxCUVhORUxFMUJRVllzU1VGQldrTXNTVUZCYzBRc1RVRkJWaXhKUVVGaVF5eExRVU5zUlVNc1IwRkJOa0lzUjBGQldrTXNTVUZCYjBJc1NVRkJjVUlzUjBGQllrb3NTVUZCYzBJc1NVRkJiVUlzUjBGQldrTXNTVUZCY1VJc1JVRkJiMElzUjBGQllrTXNSMEZEYkVZc1QwRkJWVU1zUlVGQlowSXNWVUZETlVORkxFVkJRVmxHTEVkQlRVb3NUMEZCWkVVc1IwRkhSa0VzUlVGQldTeE5RVU5hUXl4RlFVRnRRaXhIUVVOV1JDeEZRVUZaTEZGQlJYSkNRU3hIUVVGaExFMUJRMkpPTEVWQlFVbFJMRXRCUVV0R0xFbEJRV01zUjBGQlN5eExRVUZSTEU5QlEzQkRRU3hGUVVGWkxFMUJRWEZDTEV0QlFWcEJMRWRCUjNaQ1RpeEZRVUZKVVN4TFFVRkxSaXhIUVVOVWVFVXNSMEZCUzNsRkxFVkJSMUFzVDBGQlQwVXNjMEpCUVhOQ1ZDeEhRVFU1UWk5Q2JFZ3NVVUZCVVRSSUxGZEJRV0Y0U0N4aFFXZENja0pJTEU5QlFVODBTQ3h2UWtGQmMwSjRTQ3h2UWtGRmVFSktMRTlCUVU4MFNDeHhRa0ZCTUVNc2IwSkJRVnBETEZOQlEySXNiVUpCUVd4Q1FTeFJRVUZSUXl4UFFVTnFRa1FzVVVGQlVVTXNUVUZEVGl4cFNrRm5Ra3BETEU5QlFVOURMR1ZCUVdWb1NTeFBRVUZQVVN4VlFVRlhMRk5CUVZVc1EwRkRhRVI1U0N4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeEhRVUZMYkVrc1QwRkJUMnRFTEZOQlFWTnJRaXhOUVVOeVFpeFBRVUZQUVN4TFFVRkxNVU1zVlVGSmFFSnhSeXhQUVVGUFF5eGxRVUZsYUVrc1QwRkJUMUVzVlVGQlZ5eFRRVUZWTEVOQlEyaEVlVWdzV1VGQldTeEZRVU5hUXl4SlFVRkxMRmRCUTBnc1IwRkJTMnhKTEU5QlFVOXJSQ3hUUVVGVGEwSXNUVUZEY2tJc1QwRkJUMEVzUzBGQlMzQkNMR05CYzBOTkxHOUNRVUZZYWtJc1VVRkJORU1zVFVGQmJFSkJMRTlCUVU5dlJ5eFRRVU40UTI1SkxFOUJRVThyUWl4UFFVRlBiMGNzVjBGQllXNUpMRkZCUXpkQ0swZ3NUMEZCVDBNc1pVRkJaV2hKTEU5QlFWRXJRaXhQUVVGUGIwY3NVVUZCVXl4RFFVTTFReTlITEUxQlFVOHNTMEZEVUdkSUxHTkJRV01zUlVGRFpFZ3NXVUZCV1N4RlFVTmFTU3hWUVVGVkxFbEJTV1J5U1N4UFFVRlBjMGtzVTBGQlZ5eExRVEJFYkVKMFNTeFBRVUZQYlVJc1MwRkJUeXhUUVVGVlF5eEZRVUZQU2l4RlFVRnJRa29zUjBGREwwTXNUMEZCVDA4c1MwRkJTME1zUlVGQlQwb3NSVUZCYTBKS0xFbEJTM1pEV2l4UFFVRlBVU3hWUVVGVlJDeFZRVUZaUkN4WFFVRlhSU3hWUVVONFExSXNUMEZCVDA4c1ZVRkJXVVFzVjBFNFFtNUNUaXhQUVVGUGJVTXNUVUZCVVN4VFFVRlZSQ3hGUVVGTlJTeEZRVUZOUXl4SFFVTnVReXhQUVVGUFJpeE5RVUZOUkN4RlFVRk5SU3hGUVVGTlF5eEpRVmN6UW5KRExFOUJRVTlyUWl4WlFVRmpMRk5CUVZWblFpeEhRVU0zUWl4UFFVRlBhRUlzV1VGQldXZENMRWxCUzNKQ2JFTXNUMEZCVDNWSkxHZENRVUZyUWl4VFFVRlZja2NzUjBGRGFrTXNUMEZCVDJoQ0xGbEJRVmxuUWl4SlFYRkhja0pzUXl4UFFVRlBhMFFzVTBGQlZ5eFRRVUZ0UW5KQ0xFZEJRMjVETEU5QlFWa3NUVUZCVEVFc1NVRkJOa0lzU1VGQmFFSkJMRVZCUVVVeVJ5eFhRVU53UWpOSExFbEJRVTAzUWl4UFFVRlBVU3hYUVVkcVFsSXNUMEZCVDNsSkxGRkJRVlVzVTBGQmEwSkRMRVZCUVVjM1J5eEhRVWR3UXl4SFFVWkpTaXhYUVVGWGFVZ3NSVUZCUjNCSkxHTkJRV0Z2U1N4RlFVRkpNVWtzVDBGQlQyMUNMRXRCUVV0MVNDeEZRVUZIUVN4RlFVRkZNME1zVDBGQlVUSkRMRVZCUVVWb1J5eGhRVU14UkdwQ0xGZEJRVmRKTEVWQlFVZDJRaXhqUVVGaGRVSXNSVUZCU1RkQ0xFOUJRVTl0UWl4TFFVRkxWU3hGUVVGSFFTeEZRVUZGYTBVc1QwRkJVV3hGTEVWQlFVVmhMR05CUTNwRU1VTXNUMEZCVDJ0RUxGTkJRVk4zUml4TFFVRlBNVWtzVDBGQlQydEVMRk5CUVZOeVFpeEhRVU14UXl4TlFVRk5MRWxCUVVsYUxGVkJRMUlzZVVWQlNVb3NSMEZCU1hsSUxFbEJRVTAzUnl4RlFVRkhMRTlCUVU4c1JVRkxjRUlzU1VGSVFTeEpRVUZKT0Vjc1JVRkJTVVFzUlVGQlJUbElMRTlCUTA1blNTeEZRVUZKTDBjc1JVRkJSV3BDTEU5QlJVUnRReXhGUVVGSkxFVkJRVWRKTEVWQlFVMDBSQ3hMUVVGTFF5eEpRVUZKTWtJc1JVRkJSME1zUjBGQlNUZEdMRVZCUVVsSkxFbEJRVTlLTEVWQlF5OURMRWRCUVVreVJpeEZRVUZGTTBZc1MwRkJUMnhDTEVWQlFVVnJRaXhIUVVGSkxFTkJRMnBDTkVZc1JVRkJTVVFzUlVGQlJUTkdMRWRCUTA0MlJpeEZRVUZKTDBjc1JVRkJSV3RDTEVkQlEwNHNUVUZKU2l4UFFVRkpORVlzUlVGQlNVTXNSMEZCVnl4RlFVTm1RU3hGUVVGSlJDeEZRVUZWTEVWQlExZ3NSMEZIVkROSkxFOUJRVTk1UXl4WFFVRmhMRk5CUVhGQ1NpeEhRVU4yUXl4UFFVRlJiVVFzVDBGQlQyNUVMRWRCUVZVeVFpeGxRVU4yUWl4SlFVRkxMRTFCUTB3c1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFRDeEpRVUZMTEZGQlEwd3NTVUZCU3l4VFFVTk1MRWxCUVVzc1UwRkRUQ3hKUVVGTExGTkJRMHdzU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEVEN4SlFVRkxMRlZCUTB3c1NVRkJTeXhYUVVOSUxFOUJRVThzUlVGRFZDeFJRVU5GTEU5QlFVOHNTVUZKWW1oRkxFOUJRVTgyU1N4UFFVRlRMRk5CUVdsQ1F5eEZRVUZOYkVrc1IwRkRja01zU1VGQlN6SkRMRTFCUVUxRExGRkJRVkZ6Uml4SFFVTnFRaXhOUVVGTkxFbEJRVWszU0N4VlFVRlZMQ3REUVVkMFFpeEhRVUZ2UWl4SlFVRm9RalpJTEVWQlFVdHNTU3hQUVVOUUxFOUJRVTlhTEU5QlFVOXRReXhOUVVGTkxFZEJSM1JDTEVsQlFVbFpMRVZCUTBvc1VVRkJaVlFzU1VGQldERkNMRVZCUlVZc1NVRkVRVUVzUlVGQlV5eEZRVU5LYlVNc1JVRkJTU3hGUVVGSFFTeEZRVUZKSzBZc1JVRkJTMnhKTEZOQlFWVnRReXhGUVVNM1FtNURMRWRCUVZWclNTeEZRVUZMTDBZc1IwRkJSMjVETEU5QlNYUkNMRWxCUVVsakxFVkJRVk14UWl4UFFVRlBhMElzV1VGQldVNHNSMEZETlVKdFNTeEZRVUZOTEVWQlExWXNTVUZCUzJoSExFVkJRVWtzUlVGQlIwRXNSVUZCU1N0R0xFVkJRVXRzU1N4VFFVRlZiVU1zUlVGQlJ5eERRVU5vUXl4SlFVRkpha01zUlVGQlRXZEpMRVZCUVVzdlJpeEhRVWxtTEVkQlNFbDBRaXhYUVVGWFdDeEZRVUZMVWl4alFVTnNRbEVzUlVGQlRXUXNUMEZCVDIxQ0xFdEJRVXRNTEV0QlJXWmtMRTlCUVU5clJDeFRRVUZUY0VNc1IwRkRia0lzVFVGQlRTeEpRVUZKUnl4VlFVRlZMQ3REUVVWMFFrZ3NSVUZCU1hORExFdEJRVXN4UWl4RlFVRlJjVWdzUjBGRGFrSkJMRWRCUVU5cVNTeEZRVUZKUml4UFFVVmlMRTlCUVU5akxFZEJhMFJVTVVJc1QwRkJUekJETEZkQlFXRkJMRmRCT0VWd1FqRkRMRTlCUVU5UkxGVkJRVlZuU1N4WFFVRlpMRVZCVVRkQ2VFa3NUMEZCVDFFc1ZVRkJWWGRKTEU5QlFWTXNWMEZEZUVJc1NVRkJTVGRHTEVWQlFVMXBRaXhMUVVGTGVFUXNUMEZEWml4SFFVRkpkVU1zUlVGQlRTeEhRVUZOTEVWQlEyUXNUVUZCVFN4SlFVRkpkRU1zVjBGQlZ5dzJRMEZGZGtJc1NVRkJTeXhKUVVGSmEwTXNSVUZCU1N4RlFVRkhRU3hGUVVGSlNTeEZRVUZMU2l4SFFVRkxMRVZCUXpWQ05FSXNTMEZCUzFBc1MwRkJUWEpDTEVWQlFVZEJMRVZCUVVrc1IwRkZjRUlzVDBGQlQzRkNMRTFCUjFSd1JTeFBRVUZQVVN4VlFVRlZlVWtzVDBGQlV5eFhRVU40UWl4SlFVRkpPVVlzUlVGQlRXbENMRXRCUVV0NFJDeFBRVU5tTEVkQlFVbDFReXhGUVVGTkxFZEJRVTBzUlVGRFpDeE5RVUZOTEVsQlFVbDBReXhYUVVGWExEWkRRVVYyUWl4SlFVRkxMRWxCUVVsclF5eEZRVUZKTEVWQlFVZEJMRVZCUVVsSkxFVkJRVXRLTEVkQlFVc3NSVUZETlVJMFFpeExRVUZMVUN4TFFVRk5ja0lzUlVGQlIwRXNSVUZCU1N4SFFVTnNRalJDTEV0QlFVdFFMRXRCUVUxeVFpeEZRVUZKTEVWQlFVZEJMRVZCUVVrc1IwRkZlRUlzVDBGQlQzRkNMRTFCUjFSd1JTeFBRVUZQVVN4VlFVRlZNRWtzVDBGQlV5eFhRVU40UWl4SlFVRkpMMFlzUlVGQlRXbENMRXRCUVV0NFJDeFBRVU5tTEVkQlFVbDFReXhGUVVGTkxFZEJRVTBzUlVGRFpDeE5RVUZOTEVsQlFVbDBReXhYUVVGWExEWkRRVVYyUWl4SlFVRkxMRWxCUVVsclF5eEZRVUZKTEVWQlFVZEJMRVZCUVVsSkxFVkJRVXRLTEVkQlFVc3NSVUZETlVJMFFpeExRVUZMVUN4TFFVRk5ja0lzUlVGQlIwRXNSVUZCU1N4SFFVTnNRalJDTEV0QlFVdFFMRXRCUVUxeVFpeEZRVUZKTEVWQlFVZEJMRVZCUVVrc1IwRkRkRUkwUWl4TFFVRkxVQ3hMUVVGTmNrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFZEJRM1JDTkVJc1MwRkJTMUFzUzBGQlRYSkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeEhRVVY0UWl4UFFVRlBjVUlzVFVGSFZIQkZMRTlCUVU5UkxGVkJRVlZyUkN4VFFVRlhMRmRCUXpGQ0xFbEJRVWs1UXl4RlFVRlRkMFFzUzBGQlMzaEVMRTlCUTJ4Q0xFOUJRV1VzU1VGQldFRXNSVUZCY1VJc1IwRkRRU3hKUVVGeVFtZEVMRlZCUVZWb1JDeFBRVUZ4UWpCRUxGVkJRVlZHTEV0QlFVMHNSVUZCUjNoRUxFZEJReTlEY1VRc1lVRkJZV3RHTEUxQlFVMHZSU3hMUVVGTlVpeFpRVWRzUXpWRUxFOUJRVTlSTEZWQlFWVTBTU3hsUVVGcFFuQktMRTlCUVU5UkxGVkJRVlZyUkN4VFFVVnVSREZFTEU5QlFVOVJMRlZCUVZVMlNTeFBRVUZUTEZOQlFXbENlRWdzUjBGRGVrTXNTVUZCU3pkQ0xFOUJRVTlyUkN4VFFVRlRja0lzUjBGQlNTeE5RVUZOTEVsQlFVbGFMRlZCUVZVc05rSkJRemRETEU5QlFVbHRSQ3hQUVVGVGRrTXNSMEZEYzBJc1NVRkJOVUkzUWl4UFFVRlBlVWtzVVVGQlVYSkZMRXRCUVUxMlF5eEpRVWM1UWpkQ0xFOUJRVTlSTEZWQlFWVTRTU3hSUVVGVkxGZEJRM3BDTEVsQlFVbERMRVZCUVUwc1IwRkRUa01zUlVGQlRYcEtMRkZCUVZGSExHdENRVWRzUWl4UFFVWkJjVW9zUlVGQlRXNUdMRXRCUVV0V0xGTkJRVk1zVFVGQlR5eEZRVUZIT0VZc1IwRkJTME1zVVVGQlVTeFZRVUZYTEU5QlFVOURMRTlCUTNwRWRFWXNTMEZCUzNoRUxFOUJRVk0wU1N4SlFVRkxSQ3hIUVVGUExGTkJRM1pDTEZkQlFXRkJMRVZCUVUwc1MwRkhOVUoyU2l4UFFVRlBVU3hWUVVGVmFVa3NVVUZCVlN4VFFVRnJRbXRDTEVWQlFWRjZSaXhGUVVGUFF5eEZRVUZMZVVZc1JVRkJWME1zUjBGSk1VVXNSMEZJU1hCSkxGZEJRVmRyU1N4RlFVRlJja29zWTBGRGNrSnhTaXhGUVVGVE0wb3NUMEZCVDIxQ0xFdEJRVXQzU1N4RlFVRlJRU3hGUVVGUE5VUXNUMEZCVVRSRUxFVkJRVTlxU0N4alFVVm9SREZETEU5QlFVOXJSQ3hUUVVGVGVVY3NSMEZEYmtJc1RVRkJUU3hKUVVGSk1Va3NWVUZEVWl4M1JrRkRNa0l3U1N4SFFXbENMMElzVVVGaVkzSklMRWxCUVZZMFFpeEpRVU5HUVN4RlFVRlJMRkZCUlVVMVFpeEpRVUZTTmtJc1NVRkRSa0VzUlVGQlRYZEdMRVZCUVZOQkxFVkJRVTh2U1N4UFFVRlRMRkZCUldZd1FpeEpRVUZrYzBnc1NVRkRSa0VzUlVGQldTeFJRVVZGZEVnc1NVRkJXblZJTEVsQlEwWkJMRVZCUVZWNlJpeExRVUZMZUVRc1VVRkhZbk5FTEVWQlFWRXNSMEZCUzBNc1JVRkJUWGRHTEVWQlFVOHZTU3hSUVVGVlowb3NSVUZCV1N4SFFVRkxReXhGUVVGVmVrWXNTMEZCUzNoRUxFOUJRM1JGTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXh6UWtGSGRrSXNSMEZCU1N0SkxFZEJRV0ZETEVkQlFWY3pSaXhIUVVGVFF5eEZRVU51UXl4UFFVRlBMRVZCUlZRc1IwRkJTWGxHTEVkQlFXRkRMRVZCUTJZc1QwRkJVU3hGUVVWV0xFZEJRVWt6Uml4SFFVRlRReXhGUVVOWUxFOUJRVThzUlVGUlZDeEhRVUZKUXl4UFFVRlRkVVlzUlVGQlVTeFBRVUZQTEVWQlV6VkNMRWxCVUVFc1NVRkJTV2hDTEVkQlNrcHJRaXhMUVVGaExFbEJSR0pFTEV0QlFXVXNSMEZOV0doQ0xFZEJVRXA2UlN4TFFVRlRMRWxCUkZSRUxFdEJRVmNzUjBGVFVHWXNSVUZCVFRSRUxFdEJRVXRETEVsQlFVa3lRaXhGUVVGSFF5eEhRVVZzUW10Q0xFVkJRVmN4Uml4TFFVRkxka0lzVFVGQlRTdEhMRVZCUVZkRExFZEJRMnBEUlN4RlFVRmhTaXhGUVVGUE9VY3NUVUZCVFhGQ0xFVkJRVTlETEVkQlJUVkNjRUlzUlVGQlNTeEZRVUZIUVN4RlFVRkpTU3hKUVVGUFNpeEZRVU42UWl4SFFVRkpLMGNzUlVGQlV5OUhMRXRCUVU5blNDeEZRVUZYYUVnc1IwRkJTU3hEUVVOcVF6UkdMRVZCUVVsdFFpeEZRVUZUTDBjc1IwRkRZalpHTEVWQlFVbHRRaXhGUVVGWGFFZ3NSMEZEWml4TlFVbEtMRTlCUVVrMFJpeEZRVUZKUXl4SFFVRlhMRVZCUTJaQkxFVkJRVWxFTEVWQlFWVXNSVUZEV0N4SFFUUklWRE5KTEU5QlFVOVJMRlZCUVZWM1NpeFRRVUZYTEZOQlFXMUNha1lzUlVGQlN5OUNMRVZCUVZsWUxFZEJRemxFTEU5QlFXOUVMRWxCUVRkREswSXNTMEZCUzJNc1VVRkJVVWdzUlVGQlN5OUNMRVZCUVZsWUxFbEJSM1pEY2tNc1QwRkJUMUVzVlVGQlZUQkZMRkZCUVZVc1UwRkJhMEpJTEVWQlFVc3ZRaXhGUVVGWldDeEhRVU0xUkN4UFFVRlBlVU1zY1VKQlFYRkNWaXhMUVVGTlZ5eEZRVUZMTDBJc1JVRkJXVmdzUjBGQlZTeEpRVWN2UkhKRExFOUJRVTlSTEZWQlFWVTBSU3haUVVGakxGTkJRWE5DVEN4RlFVRkxMMElzUlVGQldWZ3NSMEZEY0VVc1QwRkJUM2xETEhGQ1FVRnhRbFlzUzBGQlRWY3NSVUZCU3k5Q0xFVkJRVmxZTEVkQlFWVXNTVUZuUkM5RWNrTXNUMEZCVDFFc1ZVRkJWVzlETEUxQlFWRXNVMEZCWjBKS0xFVkJRVkYxUkN4RlFVRlJia1lzUlVGQlVYbENMRWRCUlM5RUxGRkJRV1ZETEVsQlFWaDVSQ3hGUVVOR01VUXNSVUZCVnl4UFFVTllla0lzUlVGQlUzZEVMRXRCUVV0NFJDeFBRVU5rYlVZc1JVRkJVeXhQUVVWS0xGRkJRV1Y2UkN4SlFVRllNVUlzUjBGQk1FTXNhVUpCUVZodFJpeEZRVU40UXpGRUxFVkJRVmN3UkN4RlFVTllia1lzUlVGQlUzZEVMRXRCUVV0NFJDeFBRVU5rYlVZc1JVRkJVeXhOUVVWS0xFTkJRVUVzU1VGQlNXdEZMRk5CUVZOc1JTeEhRVlZzUWl4TlFVRk5MRWxCUVVsdFJTeE5RVU5TTERKRlFWWkdia1VzUzBGQmIwSXNSVUZEYUVKclJTeFRRVUZUY2tvc1NVRkRXRUVzUzBGQmIwSXNUMEZEU0RCQ0xFbEJRV0pFTEVsQlFYZENRU3hGUVVGWExGVkJSWFpEUVN4RlFVRlhla0lzUlVGRFdFRXNUMEZCVXpCQ0xFZEJVV0lzU1VGQlNUSkVMRVZCUVZrM1FpeExRVUZMZUVRc1QwRkJVMjFHTEVWQlJ6bENMRk5CUm1WNlJDeEpRVUZZTVVJc1IwRkJkMEpCTEVWQlFWTnhSaXhMUVVGWGNrWXNSVUZCVTNGR0xFZEJSWEJFZWtRc1JVRkJUelZDTEU5QlFWTXNTVUZCVFVFc1JVRkJVeXhIUVVGTGJVWXNSVUZCVXl4SlFVRlBRU3hGUVVGVE0wSXNTMEZCUzNoRUxFOUJRM0pGTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXd3UTBGSGJFSjNRaXhKUVVGVlFTeEZRVUZYTEZGQlJ6RkNMRWxCUkVFc1NVRkJTWGRDTEVkQlFXTXNTVUZGYUVJc1QwRkJVWGhDTEVkQlEwNHNTVUZCU3l4TlFVTklMRTlCUVU5NVJDeFRRVUZUTVVJc1MwRkJUVFZDTEVWQlFWRjFSQ3hGUVVGUmJrWXNSMEZGZUVNc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFNDeFBRVUZQTUVZc1ZVRkJWV3hETEV0QlFVMDFRaXhGUVVGUmRVUXNSVUZCVVc1R0xFZEJSWHBETEVsQlFVc3NVVUZEU0N4UFFVRlBORVlzVjBGQlYzQkRMRXRCUVUwMVFpeEZRVUZSZFVRc1JVRkJVVzVHTEVkQlJURkRMRWxCUVVzc1UwRkRUQ3hKUVVGTExGTkJRMGdzVDBGQlR6aEdMRmxCUVZsMFF5eExRVUZOTlVJc1JVRkJVWFZFTEVWQlFWRnVSaXhIUVVVelF5eEpRVUZMTEZOQlJVZ3NUMEZCVHl0R0xGbEJRVmwyUXl4TFFVRk5OVUlzUlVGQlVYVkVMRVZCUVZGdVJpeEhRVVV6UXl4SlFVRkxMRTlCUTB3c1NVRkJTeXhSUVVOTUxFbEJRVXNzVlVGRFRDeEpRVUZMTEZkQlEwZ3NUMEZCVDJkSExGVkJRVlY0UXl4TFFVRk5OVUlzUlVGQlVYVkVMRVZCUVZGdVJpeEhRVVY2UXl4UlFVTkZMRWRCUVVscFJDeEZRVUZoTEUxQlFVMHNTVUZCU1RWRExGVkJRVlVzY1VKQlFYVkNiMElzUjBGRE5VUkJMRWRCUVZrc1IwRkJTMEVzUjBGQlZUSkNMR05CUXpOQ1NDeEhRVUZqTEVsQlMzUkNOMFFzVDBGQlQxRXNWVUZCVlRKS0xFOUJRVk1zVjBGRGVFSXNUVUZCVHl4RFFVTk1OMGNzUzBGQlRTeFRRVU5PUnl4TFFVRk5SaXhOUVVGTkwwTXNWVUZCVlhGRExFMUJRVTF6UXl4TFFVRkxaaXhMUVVGTFowY3NUVUZCVVdoSExFdEJRVTBzUzBGM1JuaEVMRWxCUVVscFJ5eHhRa0ZCZFVJc1MwRkZNMElzVTBGQlV6TkRMSE5DUVVGMVFqUkRMRWRCUXpsQ0xFbEJRVWx1U0N4RlFVRk5iVWdzUlVGQlZ6RktMRTlCUTNKQ0xFZEJRVWwxUXl4SFFVRlBhMGdzY1VKQlExUXNUMEZCVHpkRkxFOUJRVThyUlN4aFFVRmhjRUlzVFVGQlRUTkVMRTlCUVZFNFJTeEhRVTB6UXl4SlFVWkJMRWxCUVVseVJDeEZRVUZOTEVkQlEwNXNSU3hGUVVGSkxFVkJRMFJCTEVWQlFVbEpMRWRCUTFRNFJDeEhRVUZQZWtJc1QwRkJUeXRGTEdGQlFXRndRaXhOUVVONlFqTkVMRTlCUTBFNFJTeEZRVUZYZWtnc1RVRkJUVVVzUlVGQlIwRXNSMEZCUzNOSUxIVkNRVWMzUWl4UFFVRlBjRVFzUlVGSFZDeFRRVUZUTVVNc1YwRkJXWHBFTEVWQlFVdHZSQ3hGUVVGUFF5eEhRVU12UWl4SlFVRkpjVWNzUlVGQlRTeEhRVU5XY2tjc1JVRkJUVFJETEV0QlFVdERMRWxCUVVsc1J5eEZRVUZKUml4UFFVRlJkVVFzUjBGRk0wSXNTVUZCU3l4SlFVRkpjRUlzUlVGQlNXMUNMRVZCUVU5dVFpeEZRVUZKYjBJc1NVRkJUM0JDTEVWQlF6ZENlVWdzUjBGQlQyaEdMRTlCUVU4clJTeGhRVUZ6UWl4SlFVRlVla29zUlVGQlNXbERMRWxCUldwRExFOUJRVTk1U0N4RlFVZFVMRk5CUVZOb1J5eFpRVUZoTVVRc1JVRkJTMjlFTEVWQlFVOURMRWRCUTJoRExFbEJRVWx4Unl4RlFVRk5MRWRCUTFaeVJ5eEZRVUZOTkVNc1MwRkJTME1zU1VGQlNXeEhMRVZCUVVsR0xFOUJRVkYxUkN4SFFVVXpRaXhKUVVGTExFbEJRVWx3UWl4RlFVRkpiVUlzUlVGQlQyNUNMRVZCUVVsdlFpeEpRVUZQY0VJc1JVRkROMEo1U0N4SFFVRlBhRVlzVDBGQlR5dEZMR0ZCUVdGNlNpeEZRVUZKYVVNc1NVRkZha01zVDBGQlQzbElMRVZCUjFRc1UwRkJVMjVITEZOQlFWVjJSQ3hGUVVGTGIwUXNSVUZCVDBNc1IwRkROMElzU1VGQlNXaENMRVZCUVUxeVF5eEZRVUZKUml4VFFVVlVjMFFzUjBGQlUwRXNSVUZCVVN4TFFVRkhRU3hGUVVGUkxFdEJRelZDUXl4SFFVRlBRU3hGUVVGTkxFZEJRVXRCTEVWQlFVMW9RaXhMUVVGTFowSXNSVUZCVFdoQ0xFZEJSM2hETEVsQlJFRXNTVUZCU1hOSUxFVkJRVTBzUjBGRFJERklMRVZCUVVsdFFpeEZRVUZQYmtJc1JVRkJTVzlDTEVsQlFVOXdRaXhGUVVNM1FqQklMRWRCUVU5RExFMUJRVTAxU2l4RlFVRkphVU1zU1VGRmJrSXNUMEZCVHpCSUxFVkJSMVFzVTBGQlV5OUdMR0ZCUVdNMVJDeEZRVUZMYjBRc1JVRkJUME1zUjBGSGFrTXNTVUZHUVN4SlFVRkpkMGNzUlVGQlVUZEtMRVZCUVVrclFpeE5RVUZOY1VJc1JVRkJUME1zUjBGRGVrSTRReXhGUVVGTkxFZEJRMFJzUlN4RlFVRkpMRVZCUVVkQkxFVkJRVWswU0N4RlFVRk5MMG9zVDBGQlVXMURMRWRCUVVzc1JVRkRja05yUlN4SFFVRlBla0lzVDBGQlR5dEZMR0ZCUVdGSkxFVkJRVTAxU0N4SFFVRnhRaXhKUVVGbU5FZ3NSVUZCVFRWSUxFVkJRVWtzU1VGRmJrUXNUMEZCVDJ0RkxFVkJhVU5VTEZOQlFWTXlSQ3haUVVGaE4wVXNSVUZCVVRoRkxFVkJRVXRxU3l4SFFVTnFReXhIUVVGTGJVWXNSVUZCVXl4SFFVRlBMRWRCUVV0QkxFVkJRVk1zUlVGQlJ5eE5RVUZOTEVsQlFVbHNSaXhYUVVGWExITkNRVU16UkN4SFFVRkphMFlzUlVGQlV6aEZMRVZCUVUxcVN5eEZRVUZSTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXg1UTBFMlMyeEVMRk5CUVZOcFN5eFRRVUZWYUVzc1JVRkJTMDBzUlVGQlR6SkZMRVZCUVZFNFJTeEZRVUZMY2tJc1JVRkJTM2hETEVkQlF5OURMRWxCUVV0b1NDeFBRVUZQYTBRc1UwRkJVM0JETEVkQlFVMHNUVUZCVFN4SlFVRkpSeXhWUVVGVkxDdERRVU12UXl4SFFVRkpSeXhGUVVGUmIwa3NSMEZCVDNCSkxFVkJRVkUwUml4RlFVRkxMRTFCUVUwc1NVRkJTVzVITEZkQlFWY3NjVU5CUTNKRUxFZEJRVWxyUml4RlFVRlRPRVVzUlVGQlRTOUtMRVZCUVVsR0xFOUJRVkVzVFVGQlRTeEpRVUZKUXl4WFFVRlhMSE5DUVhsTWRFUXNVMEZCVTJ0TExHRkJRV05xU3l4RlFVRkxUU3hGUVVGUE1rVXNSVUZCVVRoRkxFVkJRVXR5UWl4RlFVRkxlRU1zUjBGRGJrUXNSMEZCU1dwQ0xFVkJRVk00UlN4RlFVRk5MMG9zUlVGQlNVWXNUMEZCVVN4TlFVRk5MRWxCUVVsRExGZEJRVmNzYzBKQlEzQkVMRWRCUVVsclJpeEZRVUZUTEVWQlFVY3NUVUZCVFN4SlFVRkpiRVlzVjBGQlZ5eHpRa0ZIZGtNc1UwRkJVMjFMTEZkQlFWbHNTeXhGUVVGTFRTeEZRVUZQTWtVc1JVRkJVV3RHTEVWQlFXTkRMRWRCVDNKRUxFOUJUa0U1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1JVRkRabTFHTEVkQlEwaElMR0ZCUVdGcVN5eEZRVUZMVFN4RlFVRlBNa1VzUlVGQlVTeEZRVUZITEhWQ1FVRjVRaXgxUWtGRkwwUnFSeXhSUVVGUk9FTXNUVUZCVFRsQ0xFVkJRVXROTEVWQlFVOHlSU3hGUVVGUmEwWXNSVUZCWXl4SFFVRkpMRWRCUXpkRGJFWXNSVUZCVXl4RlFWZHNRaXhUUVVGVGIwWXNXVUZCWVhKTExFVkJRVXROTEVWQlFVOHlSU3hGUVVGUmEwWXNSVUZCWTBNc1IwRlBkRVFzVDBGT1FUbEtMRWRCUVZOQkxFVkJRMVF5UlN4TFFVRnZRaXhGUVVObWJVWXNSMEZEU0Vnc1lVRkJZV3BMTEVWQlFVdE5MRVZCUVU4eVJTeEZRVUZSTEVWQlFVY3NkMEpCUVRCQ0xIZENRVVZvUldwSExGRkJRVkU0UXl4TlFVRk5PVUlzUlVGQlMwMHNSVUZCVHpKRkxFVkJRVkZyUml4RlFVRmpMRWRCUVVrc1IwRkROME5zUml4RlFVRlRMRVZCZG1Gc1FpOUdMRTlCUVU5UkxGVkJRVlZ4UXl4TlFVRlJMRk5CUVdkQ2NVSXNSVUZCVDBNc1IwRkRPVU1zU1VGQlNXaENMRVZCUVUxcFFpeExRVUZMZUVRc1VVRkRabk5FTEVsQlFWVkJMRWRCUjBVc1IwRkRWa0VzUjBGQlUyWXNSMEZEUnl4SlFVRkhaU3hGUVVGUkxFZEJRMlJCTEVWQlFWRm1MRWxCUTJwQ1pTeEZRVUZSWml4SlFVNVdaMElzVDBGQll6ZENMRWxCUVZJMlFpeEZRVUZ2UW1oQ0xFbEJRVkZuUWl4SFFWTjRRaXhIUVVOU1FTeEhRVUZQYUVJc1IwRkRSeXhKUVVGSFowSXNSVUZCVFN4SFFVTldRU3hGUVVGTmFFSXNTVUZEWm1kQ0xFVkJRVTFvUWl4SFFVZEtaMElzUlVGQlRVUXNTVUZCVDBNc1JVRkJUVVFzUjBGRmRrSXNTVUZCU1d0SUxFVkJRVk5vU0N4TFFVRkxhVWdzVTBGQlUyNUlMRVZCUVU5RExFZEJSMnhETEU5QlJFRnBTQ3hGUVVGUE4wc3NWVUZCV1ZBc1QwRkJUMUVzVlVGRGJrSTBTeXhIUVZkVWNFd3NUMEZCVDFFc1ZVRkJWVGhMTEZkQlFXRXNVMEZCY1VKMlJpeEZRVUZSY2tRc1JVRkJXWGRKTEVkQlEzSkZia1lzUzBGQmIwSXNSVUZEY0VKeVJDeExRVUUwUWl4RlFVTjJRbmRKTEVkQlFWVk9MRmxCUVZrM1JTeEZRVUZSY2tRc1JVRkJXVEJDTEV0QlFVdDRSQ3hSUVV0d1JDeEpRVWhCTEVsQlFVbHRSU3hGUVVGTldDeExRVUZMTWtJc1IwRkRXSGRHTEVWQlFVMHNSVUZEVG5oSkxFVkJRVWtzU1VGRFEwRXNSVUZCU1V3c1NVRkJaVFpKTEVkQlFVOHNUVUZEYWtONFJ5eEhRVUZQV0N4TFFVRkxNa0lzUlVGQlUyaEVMRWRCUVV0M1NTeEZRVWMxUWl4UFFVRlBlRWNzUjBGSFZDOUZMRTlCUVU5UkxGVkJRVlZuVEN4WFFVRmhMRk5CUVhGQ2VrWXNSVUZCVVhKRUxFVkJRVmwzU1N4SFFVTnlSVzVHTEV0QlFXOUNMRVZCUTNCQ2NrUXNTMEZCTkVJc1JVRkRka0ozU1N4SFFVTklUaXhaUVVGWk4wVXNSVUZCVVhKRUxFVkJRVmt3UWl4TFFVRkxlRVFzVVVGTGRrTXNTVUZHUVN4SlFVRkpiVVVzUlVGQlRWZ3NTMEZCU3pKQ0xFbEJRVmR5UkN4SFFVTjBRalpKTEVWQlFVMHNSVUZEU0RkSkxFVkJRV0VzU1VGQlRUWkpMRWRCUVU4c1RVRkRMMEo0Unl4SFFVRlBXQ3hMUVVGTE1rSXNTVUZCVjNKRUxFZEJRV00yU1N4RlFVZDJReXhQUVVGUGVFY3NSMEZIVkM5RkxFOUJRVTlSTEZWQlFWVnBUQ3hWUVVGWkxGTkJRVzlDTVVZc1JVRkJVVzFHTEVkQlIzWkVMRTlCUmtGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVU53UTNkRUxFdEJRVXN5UWl4SlFVZGtMMFlzVDBGQlQxRXNWVUZCVld0TUxHRkJRV1VzVTBGQmRVSXpSaXhGUVVGUmJVWXNSMEZITjBRc1QwRkdRVzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlEzQkRkMFFzUzBGQlN6SkNMRWRCUVZjelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFZEJSemRETDBZc1QwRkJUMUVzVlVGQlZXdEdMR0ZCUVdVc1UwRkJkVUpMTEVWQlFWRnRSaXhIUVVjM1JDeFBRVVpCYmtZc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJMRVZCUVVjelFpeExRVUZMZUVRc1VVRkRia04zUkN4TFFVRkxNa0lzU1VGQlZ5eEZRVUZMTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZITjBNdlJpeFBRVUZQVVN4VlFVRlZiVXdzWVVGQlpTeFRRVUYxUWpWR0xFVkJRVkZ0Uml4SFFVazNSQ3hQUVVoQmJrWXNTMEZCYjBJc1JVRkRabTFHTEVkQlFWVk9MRmxCUVZrM1JTeEZRVUZSTEVWQlFVY3pRaXhMUVVGTGVFUXNVMEZGYkVOM1JDeExRVUZMTWtJc1IwRkRWRE5DTEV0QlFVc3lRaXhGUVVGVExFbEJRVTBzUlVGRGNFSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVRk5MRWxCUTBRc1UwRkJia0l6UWl4TFFVRkxNa0lzUlVGQlV5eEpRVWR5UWk5R0xFOUJRVTlSTEZWQlFWVnZUQ3hoUVVGbExGTkJRWFZDTjBZc1JVRkJVVzFHTEVkQlNUZEVMRTlCU0VGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVVZ3UWl4VFFVRm1kMFFzUzBGQlN6SkNMRWxCUTFRelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFZEJRM0pDTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZCVFN4RlFVTnlRak5DTEV0QlFVc3lRaXhGUVVGVExFdEJSMnhDTDBZc1QwRkJUMUVzVlVGQlZYRk1MRlZCUVZrc1UwRkJiMEk1Uml4RlFVRlJja1FzUlVGQldYZEpMRWRCUTI1RmJrWXNTMEZCYjBJc1JVRkRjRUp5UkN4TFFVRTBRaXhGUVVOMlFuZEpMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJja1FzUlVGQldUQkNMRXRCUVV0NFJDeFJRVXR3UkN4SlFVaEJMRWxCUVVsdFJTeEZRVUZOV0N4TFFVRkxNa0lzUjBGRFdIZEdMRVZCUVUwc1JVRkRUbmhKTEVWQlFVa3NTVUZEUTBFc1JVRkJTVXdzU1VGQlpUWkpMRWRCUVU4c1RVRkRha040Unl4SFFVRlBXQ3hMUVVGTE1rSXNSVUZCVTJoRUxFZEJRVXQzU1N4RlFVMDFRaXhQUVVaSmVFY3NTVUZHU25kSExFZEJRVThzVDBGRlUzaEhMRWRCUVU5blF5eExRVUZMSzBVc1NVRkJTU3hGUVVGSExFVkJRVWx3U2l4SlFVVm9RM0ZETEVkQlIxUXZSU3hQUVVGUFVTeFZRVUZWZFV3c1ZVRkJXU3hUUVVGdlFtaEhMRVZCUVZGeVJDeEZRVUZaZDBrc1IwRkRia1Z1Uml4TFFVRnZRaXhGUVVOd1FuSkVMRXRCUVRSQ0xFVkJRM1pDZDBrc1IwRkJWVTRzV1VGQldUZEZMRVZCUVZGeVJDeEZRVUZaTUVJc1MwRkJTM2hFTEZGQlMzQkVMRWxCU0VFc1NVRkJTVzFETEVWQlFVbE1MRVZCUTBvMlNTeEZRVUZOTEVWQlEwNTRSeXhGUVVGTldDeExRVUZMTWtJc1NVRkJWMmhFTEVkQlEyNUNRU3hGUVVGSkxFbEJRVTEzU1N4SFFVRlBMRTFCUTNSQ2VFY3NSMEZCVDFnc1MwRkJTekpDTEVsQlFWZG9SQ3hIUVVGTGQwa3NSVUZOT1VJc1QwRkdTWGhITEVsQlJrcDNSeXhIUVVGUExFOUJSVk40Unl4SFFVRlBaME1zUzBGQlN5dEZMRWxCUVVrc1JVRkJSeXhGUVVGSmNFb3NTVUZGYUVOeFF5eEhRVWRVTDBVc1QwRkJUMUVzVlVGQlZYZE1MRk5CUVZjc1UwRkJiVUpxUnl4RlFVRlJiVVlzUjBGSGNrUXNUMEZHUVc1R0xFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlRpeFpRVUZaTjBVc1JVRkJVU3hGUVVGSE0wSXNTMEZCUzNoRUxGRkJRM1JDTEVsQlFXWjNSQ3hMUVVGTE1rSXNTVUZETUVJc1IwRkJOVUlzU1VGQlR6TkNMRXRCUVVzeVFpeEhRVUZWTEVkQlJFc3pRaXhMUVVGTE1rSXNTVUZKTTBNdlJpeFBRVUZQVVN4VlFVRlZlVXdzV1VGQll5eFRRVUZ6UW14SExFVkJRVkZ0Uml4SFFVTXpSRzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlF6TkRMRWxCUVVsdFJTeEZRVUZOV0N4TFFVRkxNa0lzUjBGQlZ6TkNMRXRCUVVzeVFpeEZRVUZUTEVsQlFVMHNSVUZET1VNc1QwRkJZeXhOUVVGT2FFSXNSVUZCYzBJc1YwRkJUa0VzUlVGQmJVSkJMRWRCUnpkREwwVXNUMEZCVDFFc1ZVRkJWVEJNTEZsQlFXTXNVMEZCYzBKdVJ5eEZRVUZSYlVZc1IwRkRNMFJ1Uml4TFFVRnZRaXhGUVVObWJVWXNSMEZCVlU0c1dVRkJXVGRGTEVWQlFWRXNSVUZCUnpOQ0xFdEJRVXQ0UkN4UlFVTXpReXhKUVVGSmJVVXNSVUZCVFZnc1MwRkJTekpDTEVWQlFWTXNSMEZCVFROQ0xFdEJRVXN5UWl4SlFVRlhMRVZCUXpsRExFOUJRV01zVFVGQlRtaENMRVZCUVhOQ0xGZEJRVTVCTEVWQlFXMUNRU3hIUVVjM1F5OUZMRTlCUVU5UkxGVkJRVlV5VEN4WlFVRmpMRk5CUVhOQ2NFY3NSVUZCVVcxR0xFZEJTVE5FTEU5QlNFRnVSaXhMUVVGdlFpeEZRVU5tYlVZc1IwRkJWVTRzV1VGQldUZEZMRVZCUVZFc1JVRkJSek5DTEV0QlFVdDRSQ3hSUVVWdVEzZEVMRXRCUVVzeVFpeEhRVU5XTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZCVFN4RlFVTndRak5DTEV0QlFVc3lRaXhGUVVGVExFbEJRVTBzUjBGRGNFSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVRk5MRWxCUjNwQ0wwWXNUMEZCVDFFc1ZVRkJWVFJNTEZsQlFXTXNVMEZCYzBKeVJ5eEZRVUZSYlVZc1IwRkpNMFFzVDBGSVFXNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUlc1RGQwUXNTMEZCU3pKQ0xFbEJRVmNzUjBGRGNrSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVRk5MRWRCUTNCQ00wSXNTMEZCU3pKQ0xFVkJRVk1zU1VGQlRTeEZRVU53UWpOQ0xFdEJRVXN5UWl4RlFVRlRMRWxCUjI1Q0wwWXNUMEZCVDFFc1ZVRkJWVFpNTEZsQlFXTXNVMEZCYzBKMFJ5eEZRVUZSYlVZc1IwRkhNMFFzVDBGR1FXNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUTNCRFpDeFJRVUZSTWtZc1MwRkJTM0pDTEV0QlFVMHlRaXhIUVVGUkxFVkJRVTBzUjBGQlNTeEpRVWM1UXk5R0xFOUJRVTlSTEZWQlFWVTRUQ3haUVVGakxGTkJRWE5DZGtjc1JVRkJVVzFHTEVkQlJ6TkVMRTlCUmtGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVU53UTJRc1VVRkJVVEpHTEV0QlFVdHlRaXhMUVVGTk1rSXNSMEZCVVN4RlFVRlBMRWRCUVVrc1NVRkhMME12Uml4UFFVRlBVU3hWUVVGVkswd3NZVUZCWlN4VFFVRjFRbmhITEVWQlFWRnRSaXhIUVVjM1JDeFBRVVpCYmtZc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJMRVZCUVVjelFpeExRVUZMZUVRc1VVRkRjRU5rTEZGQlFWRXlSaXhMUVVGTGNrSXNTMEZCVFRKQ0xFZEJRVkVzUlVGQlRTeEhRVUZKTEVsQlJ6bERMMFlzVDBGQlQxRXNWVUZCVldkTkxHRkJRV1VzVTBGQmRVSjZSeXhGUVVGUmJVWXNSMEZITjBRc1QwRkdRVzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlEzQkRaQ3hSUVVGUk1rWXNTMEZCUzNKQ0xFdEJRVTB5UWl4SFFVRlJMRVZCUVU4c1IwRkJTU3hKUVZNdlF5OUdMRTlCUVU5UkxGVkJRVlZwVFN4WlFVRmpMRk5CUVhOQ2Nrd3NSVUZCVHpKRkxFVkJRVkZ5UkN4RlFVRlpkMGtzU1VGRE9VVTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRGNFSnlSQ3hMUVVFMFFpeEZRVU4yUW5kSkxFbEJSVWhLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkZ5UkN4RlFVUm1jVVVzUzBGQlN5dEZMRWxCUVVrc1JVRkJSeXhGUVVGSmNFb3NSMEZCWXl4RlFVTlBMRWRCUjNSRUxFbEJRVWsyU1N4RlFVRk5MRVZCUTA1NFNTeEZRVUZKTEVWQlJWSXNTVUZFUVhGQ0xFdEJRVXN5UWl4SFFVRnJRaXhKUVVGU00wVXNTVUZEVGpKQ0xFVkJRVWxNTEVsQlFXVTJTU3hIUVVGUExFMUJRMnBEYmtnc1MwRkJTekpDTEVWQlFWTm9SQ3hIUVVGTk0wSXNSVUZCVVcxTExFVkJRVThzU1VGSGNrTXNUMEZCVDNoR0xFVkJRVk55UkN4SFFVZHNRakZETEU5QlFVOVJMRlZCUVZWclRTeFpRVUZqTEZOQlFYTkNkRXdzUlVGQlR6SkZMRVZCUVZGeVJDeEZRVUZaZDBrc1NVRkRPVVU1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1JVRkRjRUp5UkN4TFFVRTBRaXhGUVVOMlFuZEpMRWxCUlVoS0xGTkJRVk14Unl4TFFVRk5hRVFzUlVGQlR6SkZMRVZCUVZGeVJDeEZRVVJtY1VVc1MwRkJTeXRGTEVsQlFVa3NSVUZCUnl4RlFVRkpjRW9zUjBGQll5eEZRVU5QTEVkQlIzUkVMRWxCUVVsTExFVkJRVWxNTEVWQlFXRXNSVUZEYWtJMlNTeEZRVUZOTEVWQlJWWXNTVUZFUVc1SUxFdEJRVXN5UWl4RlFVRlRhRVFzUjBGQllTeEpRVUZTTTBJc1NVRkRWakpDTEVkQlFVc3NTVUZCVFhkSkxFZEJRVThzVFVGRGVrSnVTQ3hMUVVGTE1rSXNSVUZCVTJoRUxFZEJRVTB6UWl4RlFVRlJiVXNzUlVGQlR5eEpRVWR5UXl4UFFVRlBlRVlzUlVGQlUzSkVMRWRCUjJ4Q01VTXNUMEZCVDFFc1ZVRkJWVzFOTEZkQlFXRXNVMEZCY1VKMlRDeEZRVUZQTWtVc1JVRkJVVzFHTEVkQlMyaEZMRTlCU2tFNVNpeEhRVUZUUVN4RlFVTlVNa1VzUzBGQmIwSXNSVUZEWm0xR0xFZEJRVlZLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkVzUlVGQlJ5eEpRVUZOTEVkQlEzUkVNMElzUzBGQlN6SkNMRWRCUVcxQ0xFbEJRVkl6UlN4RlFVTlVNa1VzUlVGQlV5eEhRVWRzUWk5R0xFOUJRVTlSTEZWQlFWVnZUU3hqUVVGblFpeFRRVUYzUW5oTUxFVkJRVTh5UlN4RlFVRlJiVVlzUjBGTmRFVXNUMEZNUVRsS0xFZEJRVk5CTEVWQlExUXlSU3hMUVVGdlFpeEZRVU5tYlVZc1IwRkJWVW9zVTBGQlV6RkhMRXRCUVUxb1JDeEZRVUZQTWtVc1JVRkJVU3hGUVVGSExFMUJRVkVzUjBGRGVFUXpRaXhMUVVGTE1rSXNSMEZCYlVJc1NVRkJVak5GTEVWQlEyaENaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5GTEVsQlFWVXNSVUZEZGtJeVJTeEZRVUZUTEVkQlIyeENMMFlzVDBGQlQxRXNWVUZCVlhGTkxHTkJRV2RDTEZOQlFYZENla3dzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVTEwUlN4UFFVeEJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlNpeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUkxFVkJRVWNzVFVGQlVTeEhRVU40UkROQ0xFdEJRVXN5UWl4SFFVRlhNMFVzU1VGQlZTeEZRVU14UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVdNc1NVRkJVak5GTEVWQlEySXlSU3hGUVVGVExFZEJSMnhDTDBZc1QwRkJUMUVzVlVGQlZYTk5MR05CUVdkQ0xGTkJRWGRDTVV3c1JVRkJUekpGTEVWQlFWRnRSaXhIUVZGMFJTeFBRVkJCT1Vvc1IwRkJVMEVzUlVGRFZESkZMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZTaXhUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJMRVZCUVVjc1YwRkJXU3hIUVVNMVJETkNMRXRCUVVzeVFpeEZRVUZUTEVkQlFVMHpSU3hKUVVGVkxFZEJRemxDWjBRc1MwRkJTekpDTEVWQlFWTXNSMEZCVFRORkxFbEJRVlVzUjBGRE9VSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU01UW1kRUxFdEJRVXN5UWl4SFFVRnRRaXhKUVVGU00wVXNSVUZEVkRKRkxFVkJRVk1zUjBGSGJFSXZSaXhQUVVGUFVTeFZRVUZWZFUwc1kwRkJaMElzVTBGQmQwSXpUQ3hGUVVGUE1rVXNSVUZCVVcxR0xFZEJVWFJGTEU5QlVFRTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWS0xGTkJRVk14Unl4TFFVRk5hRVFzUlVGQlR6SkZMRVZCUVZFc1JVRkJSeXhYUVVGWkxFZEJRelZFTTBJc1MwRkJTekpDTEVkQlFWY3pSU3hKUVVGVkxFZEJRekZDWjBRc1MwRkJTekpDTEVWQlFWTXNSMEZCVFRORkxFbEJRVlVzUjBGRE9VSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU01UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVdNc1NVRkJVak5GTEVWQlEySXlSU3hGUVVGVExFZEJSMnhDTDBZc1QwRkJUMUVzVlVGQlZYZE5MRmRCUVdFc1UwRkJjVUkxVEN4RlFVRlBNa1VzUlVGQlVYSkVMRVZCUVZsM1NTeEhRVWMxUlN4SFFVWkJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVkQlEyWnRSaXhGUVVGVkxFTkJRMklzU1VGQlNTdENMRVZCUVZGc1J5eExRVUZMSzBVc1NVRkJTU3hGUVVGSkxFVkJRVWx3U2l4RlFVRmpMRWRCUlRORGIwa3NVMEZCVXpGSExFdEJRVTFvUkN4RlFVRlBNa1VzUlVGQlVYSkVMRVZCUVZsMVN5eEZRVUZSTEVkQlFVbEJMRWRCUjNoRUxFbEJRVWxzU3l4RlFVRkpMRVZCUTBwM1NTeEZRVUZOTEVWQlEwNHlRaXhGUVVGTkxFVkJSVllzU1VGRVFUbEpMRXRCUVVzeVFpeEhRVUZyUWl4SlFVRlNNMFVzU1VGRFRqSkNMRVZCUVVsTUxFbEJRV1UyU1N4SFFVRlBMRTFCUXpkQ2Jrc3NSVUZCVVN4SFFVRmhMRWxCUVZJNFRDeEhRVUZ6UXl4SlFVRjZRamxKTEV0QlFVc3lRaXhGUVVGVGFFUXNSVUZCU1N4TFFVTTVRMjFMTEVWQlFVMHNSMEZGVWpsSkxFdEJRVXN5UWl4RlFVRlRhRVFzU1VGQlR6TkNMRVZCUVZGdFN5eEhRVUZSTEVkQlFVc3lRaXhGUVVGTkxFbEJSMnhFTEU5QlFVOXVTQ3hGUVVGVGNrUXNSMEZIYkVJeFF5eFBRVUZQVVN4VlFVRlZNazBzVjBGQllTeFRRVUZ4UWk5TUxFVkJRVTh5UlN4RlFVRlJja1FzUlVGQldYZEpMRWRCUnpWRkxFZEJSa0U1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1IwRkRabTFHTEVWQlFWVXNRMEZEWWl4SlFVRkpLMElzUlVGQlVXeEhMRXRCUVVzclJTeEpRVUZKTEVWQlFVa3NSVUZCU1hCS0xFVkJRV01zUjBGRk0wTnZTU3hUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJja1FzUlVGQldYVkxMRVZCUVZFc1IwRkJTVUVzUjBGSGVFUXNTVUZCU1d4TExFVkJRVWxNTEVWQlFXRXNSVUZEYWtJMlNTeEZRVUZOTEVWQlEwNHlRaXhGUVVGTkxFVkJSVllzU1VGRVFUbEpMRXRCUVVzeVFpeEZRVUZUYUVRc1IwRkJZU3hKUVVGU00wSXNTVUZEVmpKQ0xFZEJRVXNzU1VGQlRYZEpMRWRCUVU4c1RVRkRja0p1U3l4RlFVRlJMRWRCUVdFc1NVRkJVamhNTEVkQlFYTkRMRWxCUVhwQ09Va3NTMEZCU3pKQ0xFVkJRVk5vUkN4RlFVRkpMRXRCUXpsRGJVc3NSVUZCVFN4SFFVVlNPVWtzUzBGQlN6SkNMRVZCUVZOb1JDeEpRVUZQTTBJc1JVRkJVVzFMTEVkQlFWRXNSMEZCU3pKQ0xFVkJRVTBzU1VGSGJFUXNUMEZCVDI1SUxFVkJRVk55UkN4SFFVZHNRakZETEU5QlFVOVJMRlZCUVZVMFRTeFZRVUZaTEZOQlFXOUNhRTBzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVTA1UkN4UFFVeEJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlNpeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUkxFVkJRVWNzUzBGQlR5eExRVU51UkRORkxFVkJRVkVzU1VGQlIwRXNSVUZCVVN4SlFVRlBRU3hGUVVGUkxFZEJRM1JEWjBRc1MwRkJTekpDTEVkQlFXMUNMRWxCUVZJelJTeEZRVU5VTWtVc1JVRkJVeXhIUVVkc1FpOUdMRTlCUVU5UkxGVkJRVlUyVFN4aFFVRmxMRk5CUVhWQ2FrMHNSVUZCVHpKRkxFVkJRVkZ0Uml4SFFVMXdSU3hQUVV4Qk9Vb3NSMEZCVTBFc1JVRkRWREpGTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWU2l4VFFVRlRNVWNzUzBGQlRXaEVMRVZCUVU4eVJTeEZRVUZSTEVWQlFVY3NUMEZCVXl4UFFVTjZSRE5DTEV0QlFVc3lRaXhIUVVGdFFpeEpRVUZTTTBVc1JVRkRhRUpuUkN4TFFVRkxNa0lzUlVGQlV5eEhRVUZOTTBVc1NVRkJWU3hGUVVOMlFqSkZMRVZCUVZNc1IwRkhiRUl2Uml4UFFVRlBVU3hWUVVGVk9FMHNZVUZCWlN4VFFVRjFRbXhOTEVWQlFVOHlSU3hGUVVGUmJVWXNSMEZOY0VVc1QwRk1RVGxLTEVkQlFWTkJMRVZCUTFReVJTeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVb3NVMEZCVXpGSExFdEJRVTFvUkN4RlFVRlBNa1VzUlVGQlVTeEZRVUZITEU5QlFWTXNUMEZEZWtRelFpeExRVUZMTWtJc1IwRkJWek5GTEVsQlFWVXNSVUZETVVKblJDeExRVUZMTWtJc1JVRkJVeXhIUVVGakxFbEJRVkl6UlN4RlFVTmlNa1VzUlVGQlV5eEhRVWRzUWk5R0xFOUJRVTlSTEZWQlFWVXJUU3hoUVVGbExGTkJRWFZDYmswc1JVRkJUekpGTEVWQlFWRnRSaXhIUVZGd1JTeFBRVkJCT1Vvc1IwRkJVMEVzUlVGRFZESkZMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZTaXhUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJMRVZCUVVjc1dVRkJZU3haUVVNM1JETkNMRXRCUVVzeVFpeEhRVUZ0UWl4SlFVRlNNMFVzUlVGRGFFSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU01UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVUwelJTeEpRVUZWTEVkQlF6bENaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5GTEVsQlFWVXNSMEZEZGtJeVJTeEZRVUZUTEVkQlIyeENMMFlzVDBGQlQxRXNWVUZCVldkT0xHRkJRV1VzVTBGQmRVSndUU3hGUVVGUE1rVXNSVUZCVVcxR0xFZEJVM0JGTEU5QlVrRTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWS0xGTkJRVk14Unl4TFFVRk5hRVFzUlVGQlR6SkZMRVZCUVZFc1JVRkJSeXhaUVVGaExGbEJRM3BFTTBVc1JVRkJVU3hKUVVGSFFTeEZRVUZSTEZkQlFXRkJMRVZCUVZFc1IwRkROVU5uUkN4TFFVRkxNa0lzUjBGQlZ6TkZMRWxCUVZVc1IwRkRNVUpuUkN4TFFVRkxNa0lzUlVGQlV5eEhRVUZOTTBVc1NVRkJWU3hIUVVNNVFtZEVMRXRCUVVzeVFpeEZRVUZUTEVkQlFVMHpSU3hKUVVGVkxFVkJRemxDWjBRc1MwRkJTekpDTEVWQlFWTXNSMEZCWXl4SlFVRlNNMFVzUlVGRFlqSkZMRVZCUVZNc1IwRnJRbXhDTDBZc1QwRkJUMUVzVlVGQlZXbE9MR0ZCUVdVc1UwRkJkVUp5VFN4RlFVRlBNa1VzUlVGQlVXMUdMRWRCUTNCRkxFOUJRVTlHTEZkQlFWYzFSeXhMUVVGTmFFUXNSVUZCVHpKRkxFZEJRVkVzUlVGQlRXMUdMRWxCUnk5RGJFd3NUMEZCVDFFc1ZVRkJWV3RPTEdGQlFXVXNVMEZCZFVKMFRTeEZRVUZQTWtVc1JVRkJVVzFHTEVkQlEzQkZMRTlCUVU5R0xGZEJRVmMxUnl4TFFVRk5hRVFzUlVGQlR6SkZMRWRCUVZFc1JVRkJUMjFHTEVsQllXaEViRXdzVDBGQlQxRXNWVUZCVlcxT0xHTkJRV2RDTEZOQlFYZENkazBzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVU4wUlN4UFFVRlBReXhaUVVGWkwwY3NTMEZCVFdoRUxFVkJRVTh5UlN4SFFVRlJMRVZCUVUxdFJpeEpRVWRvUkd4TUxFOUJRVTlSTEZWQlFWVnZUaXhqUVVGblFpeFRRVUYzUW5oTkxFVkJRVTh5UlN4RlFVRlJiVVlzUjBGRGRFVXNUMEZCVDBNc1dVRkJXUzlITEV0QlFVMW9SQ3hGUVVGUE1rVXNSMEZCVVN4RlFVRlBiVVlzU1VGSmFrUnNUQ3hQUVVGUFVTeFZRVUZWTkVNc1MwRkJUeXhUUVVGbGRVY3NSVUZCVVd0RkxFVkJRV0V6U2l4RlFVRlBReXhIUVVOcVJTeEpRVUZMYmtVc1QwRkJUMnRFTEZOQlFWTjVSeXhIUVVGVExFMUJRVTBzU1VGQlNURkpMRlZCUVZVc0swSkJVV3hFTEVkQlVFdHBSQ3hKUVVGUFFTeEZRVUZSTEVkQlEyWkRMRWRCUVdVc1NVRkJVa0VzU1VGQlYwRXNSVUZCVFVNc1MwRkJTM2hFTEZGQlF6bENhVTRzUjBGQlpXeEZMRVZCUVU4dlNTeFRRVUZSYVU0c1JVRkJZMnhGTEVWQlFVOHZTU3hSUVVOc1JHbE9MRWxCUVdGQkxFVkJRV01zUjBGRE5VSXhTaXhGUVVGTkxFZEJRVXRCTEVWQlFVMUVMRWxCUVU5RExFVkJRVTFFTEVkQlJ6bENReXhKUVVGUlJDeEZRVUZQTEU5QlFVOHNSVUZETVVJc1IwRkJjMElzU1VGQmJFSjVSaXhGUVVGUEwwa3NVVUZCWjBNc1NVRkJhRUozUkN4TFFVRkxlRVFzVDBGQll5eFBRVUZQTEVWQlIzSkVMRWRCUVVscFRpeEZRVUZqTEVWQlEyaENMRTFCUVUwc1NVRkJTV2hPTEZkQlFWY3NOa0pCUlhaQ0xFZEJRVWx4UkN4RlFVRlJMRWRCUVV0QkxFZEJRVk5GTEV0QlFVdDRSQ3hQUVVGUkxFMUJRVTBzU1VGQlNVTXNWMEZCVnl4elFrRkROVVFzUjBGQlNYTkVMRVZCUVUwc1JVRkJSeXhOUVVGTkxFbEJRVWwwUkN4WFFVRlhMREpDUVVjNVFuTkVMRVZCUVUxRExFdEJRVXQ0UkN4VFFVRlJkVVFzUlVGQlRVTXNTMEZCUzNoRUxGRkJRemxDSzBrc1JVRkJUeTlKTEU5QlFWTnBUaXhGUVVGak1Vb3NSVUZCVFVRc1NVRkRkRU5ETEVWQlFVMTNSaXhGUVVGUEwwa3NUMEZCVTJsT0xFVkJRV016U2l4SFFVZDBReXhKUVVGSlppeEZRVUZOWjBJc1JVRkJUVVFzUlVGRmFFSXNSMEZCU1VVc1QwRkJVM1ZHTEVkQlFYRkVMRzFDUVVGd1EzSktMRmRCUVZkRkxGVkJRVlZ6VGl4WFFVVnFSREZLTEV0QlFVc3dTaXhYUVVGWFJDeEZRVUZoTTBvc1JVRkJUME1zVVVGREwwSXNSMEZCU1VNc1QwRkJVM1ZHTEVkQlFWVjZSaXhGUVVGUk1rb3NSMEZCWlVFc1JVRkJZekZLTEVWQlJXcEZMRWxCUVVzc1NVRkJTWEJDTEVWQlFVbEpMRVZCUVUwc1JVRkJSMG9zUjBGQlN5eEpRVUZMUVN4RlFVTTVRalJITEVWQlFVODFSeXhGUVVGSk9Fc3NSMEZCWlhwS0xFdEJRVXR5UWl4RlFVRkpiVUlzVVVGSGNrTTFSQ3hYUVVGWFJTeFZRVUZWZFU0c1NVRkJTVFZKTEV0QlEzWkNkMFVzUlVGRFFYWkdMRXRCUVV0cFNDeFRRVUZUYmtnc1JVRkJUME1zUjBGRGNrSXdTaXhIUVVsS0xFOUJRVTh4U3l4SFFVOVVia1FzVDBGQlQxRXNWVUZCVlRSQ0xFdEJRVThzVTBGQlpUSkRMRVZCUVV0aUxFVkJRVTlETEVWQlFVczVRaXhIUVVWMFJDeEhRVUZ0UWl4cFFrRkJVakJETEVWQlFXdENMRU5CVXpOQ0xFZEJVbkZDTEdsQ1FVRldZaXhIUVVOVU4wSXNSVUZCVnpaQ0xFVkJRMWhCTEVWQlFWRXNSVUZEVWtNc1JVRkJUVU1zUzBGQlMzaEVMRkZCUTJFc2FVSkJRVkoxUkN4SlFVTm9RamxDTEVWQlFWYzRRaXhGUVVOWVFTeEZRVUZOUXl4TFFVRkxlRVFzWVVGRlNUQkNMRWxCUVdKRUxFZEJRVGhETEdsQ1FVRmlRU3hGUVVOdVF5eE5RVUZOTEVsQlFVbHdRaXhWUVVGVkxEWkNRVVYwUWl4SFFVRjNRaXhwUWtGQlltOUNMRWxCUVRCQ2NrTXNUMEZCVDNsRExGZEJRVmRLTEVkQlEzSkVMRTFCUVUwc1NVRkJTWEJDTEZWQlFWVXNjVUpCUVhWQ2IwSXNSMEZGTjBNc1IwRkJiVUlzU1VGQlpqQkRMRVZCUVVsdVJTeFBRVUZqTEVOQlEzQkNMRWxCUVVsdlRpeEZRVUZQYWtvc1JVRkJTV3RLTEZkQlFWY3NTVUZEVWl4VFFVRmlOVXdzUjBGQmRVSXlUQ3hGUVVGUExFdEJRMnhDTEZkQlFXSXpUQ3hMUVVWR01FTXNSVUZCVFdsS0xGRkJSMk1zYVVKQlFWSnFTaXhKUVVOb1FrRXNSMEZCV1N4TFFVbGtMRWRCUVVsaUxFVkJRVkVzUjBGQlMwVXNTMEZCUzNoRUxFOUJRVk56UkN4SFFVRlRSU3hMUVVGTGVFUXNUMEZCVTNWRUxFVkJRM0JFTEUxQlFVMHNTVUZCU1hSRUxGZEJRVmNzYzBKQlIzWkNMRWRCUVVselJDeEhRVUZQUkN4RlFVTlVMRTlCUVU5RkxFdEJVVlFzU1VGQlNYSkNMRVZCUTBvc1IwRk9RVzFDTEV0QlFXdENMRVZCUTJ4Q1F5eFBRVUZqTjBJc1NVRkJValpDTEVWQlFXOUNReXhMUVVGTGVFUXNUMEZCVTNWRUxFbEJRVkVzUlVGRk0wTlpMRWxCUVV0QkxFVkJRVTBzUjBGSFJ5eHBRa0ZCVWtFc1JVRkRWQ3hKUVVGTGFFTXNSVUZCU1cxQ0xFVkJRVTl1UWl4RlFVRkpiMElzU1VGQlQzQkNMRVZCUTNwQ2NVSXNTMEZCUzNKQ0xFZEJRVXRuUXl4TlFVVlFMRU5CUTB3c1NVRkJTVFJHTEVWQlFWRXpTeXhQUVVGUGEwUXNVMEZCVXpaQ0xFZEJRM2hDUVN4RlFVTkJMMFVzVDBGQlQyMUNMRXRCUVVzMFJDeEZRVUZMTVVNc1IwRkRha0pqTEVWQlFVMTNTQ3hGUVVGTkwwb3NUMEZEYUVJc1IwRkJXU3hKUVVGU2RVTXNSVUZEUml4TlFVRk5MRWxCUVVsc1F5eFZRVUZWTEdOQlFXZENPRVFzUlVGRGJFTXNjVU5CUlVvc1NVRkJTMmhETEVWQlFVa3NSVUZCUjBFc1JVRkJTVzlDTEVWQlFVMUVMRWxCUVZOdVFpeEZRVU0zUW5GQ0xFdEJRVXR5UWl4RlFVRkpiVUlzUjBGQlUzbEhMRVZCUVUwMVNDeEZRVUZKU1N4SFFVbG9ReXhQUVVGUGFVSXNUVUZOVkN4SlFVRkpPRW9zYTBKQlFXOUNMRzlDUVVWNFFpeFRRVUZUUXl4WlFVRmhOVVVzUjBGTmNFSXNTVUZHUVVFc1IwRkdRVUVzUlVGQlRVRXNSVUZCU1RaRkxFMUJRVTBzUzBGQlN5eEpRVVZZTVVVc1QwRkJUMFFzVVVGQlVYbEZMR3RDUVVGdFFpeExRVVZ3UTNST0xFOUJRVk1zUlVGQlJ5eE5RVUZQTEVkQlJUTkNMRXRCUVU4eVNTeEZRVUZKTTBrc1QwRkJVeXhIUVVGTkxFZEJRM2hDTWtrc1IwRkJXU3hKUVVWa0xFOUJRVTlCTEVWQlIxUXNVMEZCVTIxQ0xFMUJRVTg1Uml4SFFVTmtMRTlCUVVsQkxFVkJRVWtzUjBGQlZ5eEpRVUZOUVN4RlFVRkZiRUlzVTBGQlV5eEpRVU0zUW10Q0xFVkJRVVZzUWl4VFFVRlRMRWxCUjNCQ0xGTkJRVk5KTEZsQlFXRjBRaXhGUVVGUk5rd3NSMEZGTlVJc1NVRkJTVGxITEVWQlJFbzRSeXhGUVVGUlFTeEhRVUZUUXl4RlFVRkJRU3hGUVUxcVFpeEpRVXBCTEVsQlFVa3hUaXhGUVVGVE5FSXNSVUZCVHpWQ0xFOUJRMmhDTWs0c1JVRkJaMElzUzBGRGFFSTFSQ3hGUVVGUkxFZEJSVWcxU0N4RlFVRkpMRVZCUVVkQkxFVkJRVWx1UXl4SlFVRlZiVU1zUlVGQlJ5eERRVWt2UWl4SlFVaEJkMFVzUlVGQldTOUZMRVZCUVU5NVRDeFhRVUZYYkV3c1NVRkhaQ3hQUVVGVmQwVXNSVUZCV1N4TlFVRlJMRU5CUlRWRExFbEJRVXRuU0N4RlFVRmxMRU5CUld4Q0xFZEJRVWxvU0N4RlFVRlpMRTFCUVZFc1JVRkZha0k0Unl4SFFVRlRMRWxCUVUwc1IwRkJSekZFTEVWQlFVMXNSQ3hMUVVGTExFbEJRVTBzU1VGQlRTeExRVU01UXl4VFFVTkxMRWRCUVVreFJTeEZRVUZKTEVsQlFVMXVReXhGUVVGUkxFVkJSWFJDZVU0c1IwRkJVeXhKUVVGTkxFZEJRVWN4UkN4RlFVRk5iRVFzUzBGQlN5eEpRVUZOTEVsQlFVMHNTMEZET1VNc1UwRkpSamhITEVWQlFXZENhRWdzUlVGRmFFSXNVMEZKUml4SFFVRkpRU3hGUVVGWkxFMUJRVkVzUlVGRGFrSTRSeXhIUVVGVExFbEJRVTBzUjBGQlJ6RkVMRVZCUVUxc1JDeExRVUZMTEVsQlFVMHNTVUZCVFN4TFFVTTVRemhITEVWQlFXZENhRWdzUlVGRGFFSXNVMEZKUmtFc1JVRkJhMFVzVDBGQmNrUm5TQ3hGUVVGblFpeFBRVUZWTEVkQlFVdG9TQ3hGUVVGWkxGbEJReTlEWjBnc1NVRkZTa1lzUjBGQlV5eEpRVUZOTEVkQlFVY3hSQ3hGUVVGTmJFUXNTMEZCU3l4SlFVRk5MRWxCUVUwc1MwRk5hRVFzUjBGSVFUaEhMRVZCUVdkQ0xFdEJSMXBvU0N4RlFVRlpMRWxCUVUwc1EwRkRjRUlzU1VGQlN6aEhMRWRCUVZNc1IwRkJTeXhGUVVGSExFMUJRM1JDTVVRc1JVRkJUV3hFTEV0QlFVdEdMRkZCUTA0c1IwRkJTVUVzUlVGQldTeExRVUZQTEVOQlF6VkNMRWxCUVVzNFJ5eEhRVUZUTEVkQlFVc3NSVUZCUnl4TlFVTjBRakZFTEVWQlFVMXNSQ3hMUVVOS1JpeEhRVUZoTEVWQlFVMHNTVUZEVUN4SFFVRmFRU3hGUVVGdFFpeFZRVVZvUWl4SFFVRkpRU3hGUVVGWkxFMUJRVk1zUTBGRE9VSXNTVUZCU3poSExFZEJRVk1zUjBGQlN5eEZRVUZITEUxQlEzUkNNVVFzUlVGQlRXeEVMRXRCUTBwR0xFZEJRV0VzUjBGQlRTeEpRVU51UWtFc1IwRkJZU3hGUVVGTkxFZEJRVThzU1VGRFpDeEhRVUZhUVN4RlFVRnRRaXhUUVVWb1FpeERRVUZCTEV0QlFVbEJMRVZCUVZrc1UwRlRja0lzVFVGQlRTeEpRVUZKTWtNc1RVRkJUU3h6UWtGU2FFSXNTVUZCUzIxRkxFZEJRVk1zUjBGQlN5eEZRVUZITEUxQlEzUkNNVVFzUlVGQlRXeEVMRXRCUTBwR0xFZEJRV0VzUjBGQlR5eEpRVU53UWtFc1IwRkJZU3hIUVVGTkxFZEJRVThzU1VGRE1VSkJMRWRCUVdFc1JVRkJUU3hIUVVGUExFbEJRMlFzUjBGQldrRXNSVUZCYlVJc1RVRlBla0lzVDBGQlQyOUVMRVZCUjFRc1UwRkJVMnhGTEdGQlFXTTRReXhIUVVWeVFpeEpRVVJCTEVsQlFVbHBSaXhGUVVGWkxFZEJRMUI2VEN4RlFVRkpMRVZCUVVkQkxFVkJRVWwzUnl4RlFVRkpNMGtzVTBGQlZXMURMRVZCUldoRGVVd3NSVUZCVlM5SExFdEJRWGxDTEVsQlFYQkNPRUlzUlVGQlNUQkZMRmRCUVZkc1RDeEpRVVZvUXl4UFFVRlBlVXdzUlVGSFZDeFRRVUZUTTBnc1pVRkJaMEl3UXl4RlFVRkxPRVVzUjBGSE5VSXNTVUZHUVN4SlFVRkpTU3hGUVVGSFF5eEZRVUZKUXl4RlFVTlFTQ3hGUVVGWkxFZEJRMUI2VEN4RlFVRkpMRVZCUVVkQkxFVkJRVWwzUnl4RlFVRkpNMGtzVjBGRGFrSjVUaXhIUVVGVExFZEJRVXNzUzBGRVlYUk1MRVZCU1doRE1rd3NSMEZFUVVRc1JVRkJTV3hHTEVWQlFVa3dSU3hYUVVGWGJFd3NTMEZEVkN4RlFVTldORXdzUlVGQlMwWXNSVUZCU1N4SlFVTlVSQ3hGUVVGVkwwY3NTMEZCUzJ0SUxFZEJRMlpJTEVWQlFWVXZSeXhMUVVGTGFVZ3NSMEZIYWtJc1QwRkJUMFlzUlVGSFZDeFRRVUZUZWtzc1kwRkJaWGRHTEVkQlEzUkNMRTlCUVU4elNpeFBRVUZQWjFBc1dVRkJXVlFzV1VGQldUVkZMRWxCUjNoRExGTkJRVk5vUkN4WFFVRlpjMGtzUlVGQlMwTXNSVUZCU3k5SkxFVkJRVkZ1Uml4SFFVTnlReXhKUVVGTExFbEJRVWx0UXl4RlFVRkpMRVZCUVVkQkxFVkJRVWx1UXl4TFFVTmliVU1zUlVGQlNXZEVMRWRCUVZVclNTeEZRVUZKYkU4c1VVRkJXVzFETEVkQlFVczRUQ3hGUVVGSmFrOHNWVUZFYUVKdFF5eEZRVVUxUWl0TUxFVkJRVWt2VEN4RlFVRkpaMFFzUjBGQlZUaEpMRVZCUVVrNVRDeEhRVVY0UWl4UFFVRlBRU3hGUVUxVUxGTkJRVk4wUWl4WFFVRlpkMElzUlVGQlMwc3NSMEZEZUVJc1QwRkJUMHdzWVVGQlpVc3NSMEZEV2l4TlFVRlFUQ3hIUVVGclF5eE5RVUZ1UWtFc1JVRkJTVGhNTEdGQlFTdERMRTFCUVhoQ09Vd3NSVUZCU1RoTUxGbEJRVmxETEUxQlEzcEVMMHdzUlVGQlNUaE1MRmxCUVZsRExFOUJRVk14VEN4RlFVRkxNRXdzUzBGRmNFTXNVMEZCVXpOTUxGbEJRV0ZLTEVkQlJYQkNMRTlCUVU5QkxFZEJRVkZCSWl3aVptbHNaU0k2SWk5MWMzSXZiRzlqWVd3dmJHbGlMMjV2WkdWZmJXOWtkV3hsY3k5M1lYUmphR2xtZVM5dWIyUmxYMjF2WkhWc1pYTXZZblZtWm1WeUwybHVaR1Y0TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgUmVmbGVjdE93bktleXMsUj1cIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdD9SZWZsZWN0Om51bGwsUmVmbGVjdEFwcGx5PVImJlwiZnVuY3Rpb25cIj09dHlwZW9mIFIuYXBwbHk/Ui5hcHBseTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGUsdCxuKX07ZnVuY3Rpb24gUHJvY2Vzc0VtaXRXYXJuaW5nKGUpe2NvbnNvbGUmJmNvbnNvbGUud2FybiYmY29uc29sZS53YXJuKGUpfVJlZmxlY3RPd25LZXlzPVImJlwiZnVuY3Rpb25cIj09dHlwZW9mIFIub3duS2V5cz9SLm93bktleXM6T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz9mdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSkuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSkpfTpmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSl9O3ZhciBOdW1iZXJJc05hTj1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKGUpe3JldHVybiBlIT1lfTtmdW5jdGlvbiBFdmVudEVtaXR0ZXIoKXtFdmVudEVtaXR0ZXIuaW5pdC5jYWxsKHRoaXMpfW1vZHVsZS5leHBvcnRzPUV2ZW50RW1pdHRlcixtb2R1bGUuZXhwb3J0cy5vbmNlPW9uY2UsRXZlbnRFbWl0dGVyLkV2ZW50RW1pdHRlcj1FdmVudEVtaXR0ZXIsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5fZXZlbnRzPXZvaWQgMCxFdmVudEVtaXR0ZXIucHJvdG90eXBlLl9ldmVudHNDb3VudD0wLEV2ZW50RW1pdHRlci5wcm90b3R5cGUuX21heExpc3RlbmVycz12b2lkIDA7dmFyIGRlZmF1bHRNYXhMaXN0ZW5lcnM9MTA7ZnVuY3Rpb24gY2hlY2tMaXN0ZW5lcihlKXtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcImxpc3RlbmVyXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIGUpfWZ1bmN0aW9uIF9nZXRNYXhMaXN0ZW5lcnMoZSl7cmV0dXJuIHZvaWQgMD09PWUuX21heExpc3RlbmVycz9FdmVudEVtaXR0ZXIuZGVmYXVsdE1heExpc3RlbmVyczplLl9tYXhMaXN0ZW5lcnN9ZnVuY3Rpb24gX2FkZExpc3RlbmVyKGUsdCxuLHIpe3ZhciBpLG8scztpZihjaGVja0xpc3RlbmVyKG4pLHZvaWQgMD09PShvPWUuX2V2ZW50cyk/KG89ZS5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5fZXZlbnRzQ291bnQ9MCk6KHZvaWQgMCE9PW8ubmV3TGlzdGVuZXImJihlLmVtaXQoXCJuZXdMaXN0ZW5lclwiLHQsbi5saXN0ZW5lcj9uLmxpc3RlbmVyOm4pLG89ZS5fZXZlbnRzKSxzPW9bdF0pLHZvaWQgMD09PXMpcz1vW3RdPW4sKytlLl9ldmVudHNDb3VudDtlbHNlIGlmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHM/cz1vW3RdPXI/W24sc106W3Msbl06cj9zLnVuc2hpZnQobik6cy5wdXNoKG4pLChpPV9nZXRNYXhMaXN0ZW5lcnMoZSkpPjAmJnMubGVuZ3RoPmkmJiFzLndhcm5lZCl7cy53YXJuZWQ9ITA7dmFyIHU9bmV3IEVycm9yKFwiUG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiBcIitzLmxlbmd0aCtcIiBcIitTdHJpbmcodCkrXCIgbGlzdGVuZXJzIGFkZGVkLiBVc2UgZW1pdHRlci5zZXRNYXhMaXN0ZW5lcnMoKSB0byBpbmNyZWFzZSBsaW1pdFwiKTt1Lm5hbWU9XCJNYXhMaXN0ZW5lcnNFeGNlZWRlZFdhcm5pbmdcIix1LmVtaXR0ZXI9ZSx1LnR5cGU9dCx1LmNvdW50PXMubGVuZ3RoLFByb2Nlc3NFbWl0V2FybmluZyh1KX1yZXR1cm4gZX1mdW5jdGlvbiBvbmNlV3JhcHBlcigpe2lmKCF0aGlzLmZpcmVkKXJldHVybiB0aGlzLnRhcmdldC5yZW1vdmVMaXN0ZW5lcih0aGlzLnR5cGUsdGhpcy53cmFwRm4pLHRoaXMuZmlyZWQ9ITAsMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5saXN0ZW5lci5jYWxsKHRoaXMudGFyZ2V0KTp0aGlzLmxpc3RlbmVyLmFwcGx5KHRoaXMudGFyZ2V0LGFyZ3VtZW50cyl9ZnVuY3Rpb24gX29uY2VXcmFwKGUsdCxuKXt2YXIgcj17ZmlyZWQ6ITEsd3JhcEZuOnZvaWQgMCx0YXJnZXQ6ZSx0eXBlOnQsbGlzdGVuZXI6bn0saT1vbmNlV3JhcHBlci5iaW5kKHIpO3JldHVybiBpLmxpc3RlbmVyPW4sci53cmFwRm49aSxpfWZ1bmN0aW9uIF9saXN0ZW5lcnMoZSx0LG4pe3ZhciByPWUuX2V2ZW50cztpZih2b2lkIDA9PT1yKXJldHVybltdO3ZhciBpPXJbdF07cmV0dXJuIHZvaWQgMD09PWk/W106XCJmdW5jdGlvblwiPT10eXBlb2YgaT9uP1tpLmxpc3RlbmVyfHxpXTpbaV06bj91bndyYXBMaXN0ZW5lcnMoaSk6YXJyYXlDbG9uZShpLGkubGVuZ3RoKX1mdW5jdGlvbiBsaXN0ZW5lckNvdW50KGUpe3ZhciB0PXRoaXMuX2V2ZW50cztpZih2b2lkIDAhPT10KXt2YXIgbj10W2VdO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIG4pcmV0dXJuIDE7aWYodm9pZCAwIT09bilyZXR1cm4gbi5sZW5ndGh9cmV0dXJuIDB9ZnVuY3Rpb24gYXJyYXlDbG9uZShlLHQpe2Zvcih2YXIgbj1uZXcgQXJyYXkodCkscj0wO3I8dDsrK3IpbltyXT1lW3JdO3JldHVybiBufWZ1bmN0aW9uIHNwbGljZU9uZShlLHQpe2Zvcig7dCsxPGUubGVuZ3RoO3QrKyllW3RdPWVbdCsxXTtlLnBvcCgpfWZ1bmN0aW9uIHVud3JhcExpc3RlbmVycyhlKXtmb3IodmFyIHQ9bmV3IEFycmF5KGUubGVuZ3RoKSxuPTA7bjx0Lmxlbmd0aDsrK24pdFtuXT1lW25dLmxpc3RlbmVyfHxlW25dO3JldHVybiB0fWZ1bmN0aW9uIG9uY2UoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXtmdW5jdGlvbiBpKG4pe2UucmVtb3ZlTGlzdGVuZXIodCxvKSxyKG4pfWZ1bmN0aW9uIG8oKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLnJlbW92ZUxpc3RlbmVyJiZlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixpKSxuKFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9ZXZlbnRUYXJnZXRBZ25vc3RpY0FkZExpc3RlbmVyKGUsdCxvLHtvbmNlOiEwfSksXCJlcnJvclwiIT09dCYmYWRkRXJyb3JIYW5kbGVySWZFdmVudEVtaXR0ZXIoZSxpLHtvbmNlOiEwfSl9KX1mdW5jdGlvbiBhZGRFcnJvckhhbmRsZXJJZkV2ZW50RW1pdHRlcihlLHQsbil7XCJmdW5jdGlvblwiPT10eXBlb2YgZS5vbiYmZXZlbnRUYXJnZXRBZ25vc3RpY0FkZExpc3RlbmVyKGUsXCJlcnJvclwiLHQsbil9ZnVuY3Rpb24gZXZlbnRUYXJnZXRBZ25vc3RpY0FkZExpc3RlbmVyKGUsdCxuLHIpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGUub24pci5vbmNlP2Uub25jZSh0LG4pOmUub24odCxuKTtlbHNle2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGUuYWRkRXZlbnRMaXN0ZW5lcil0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJlbWl0dGVyXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEV2ZW50RW1pdHRlci4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiBlKTtlLmFkZEV2ZW50TGlzdGVuZXIodCxmdW5jdGlvbiBpKG8pe3Iub25jZSYmZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsaSksbihvKX0pfX1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXZlbnRFbWl0dGVyLFwiZGVmYXVsdE1heExpc3RlbmVyc1wiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBkZWZhdWx0TWF4TGlzdGVuZXJzfSxzZXQ6ZnVuY3Rpb24oZSl7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGV8fGU8MHx8TnVtYmVySXNOYU4oZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiBcImRlZmF1bHRNYXhMaXN0ZW5lcnNcIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnK2UrXCIuXCIpO2RlZmF1bHRNYXhMaXN0ZW5lcnM9ZX19KSxFdmVudEVtaXR0ZXIuaW5pdD1mdW5jdGlvbigpe3ZvaWQgMCE9PXRoaXMuX2V2ZW50cyYmdGhpcy5fZXZlbnRzIT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLl9ldmVudHN8fCh0aGlzLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wKSx0aGlzLl9tYXhMaXN0ZW5lcnM9dGhpcy5fbWF4TGlzdGVuZXJzfHx2b2lkIDB9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBlfHxlPDB8fE51bWJlcklzTmFOKGUpKXRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgXCJuXCIgaXMgb3V0IG9mIHJhbmdlLiBJdCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlci4gUmVjZWl2ZWQgJytlK1wiLlwiKTtyZXR1cm4gdGhpcy5fbWF4TGlzdGVuZXJzPWUsdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5nZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtyZXR1cm4gX2dldE1heExpc3RlbmVycyh0aGlzKX0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0LnB1c2goYXJndW1lbnRzW25dKTt2YXIgcj1cImVycm9yXCI9PT1lLGk9dGhpcy5fZXZlbnRzO2lmKHZvaWQgMCE9PWkpcj1yJiZ2b2lkIDA9PT1pLmVycm9yO2Vsc2UgaWYoIXIpcmV0dXJuITE7aWYocil7dmFyIG87aWYodC5sZW5ndGg+MCYmKG89dFswXSksbyBpbnN0YW5jZW9mIEVycm9yKXRocm93IG87dmFyIHM9bmV3IEVycm9yKFwiVW5oYW5kbGVkIGVycm9yLlwiKyhvP1wiIChcIitvLm1lc3NhZ2UrXCIpXCI6XCJcIikpO3Rocm93IHMuY29udGV4dD1vLHN9dmFyIHU9aVtlXTtpZih2b2lkIDA9PT11KXJldHVybiExO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHUpUmVmbGVjdEFwcGx5KHUsdGhpcyx0KTtlbHNle3ZhciBmPXUubGVuZ3RoLHY9YXJyYXlDbG9uZSh1LGYpO2ZvcihuPTA7bjxmOysrbilSZWZsZWN0QXBwbHkodltuXSx0aGlzLHQpfXJldHVybiEwfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIF9hZGRMaXN0ZW5lcih0aGlzLGUsdCwhMSl9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUub249RXZlbnRFbWl0dGVyLnByb3RvdHlwZS5hZGRMaXN0ZW5lcixFdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiBfYWRkTGlzdGVuZXIodGhpcyxlLHQsITApfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gY2hlY2tMaXN0ZW5lcih0KSx0aGlzLm9uKGUsX29uY2VXcmFwKHRoaXMsZSx0KSksdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5wcmVwZW5kT25jZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGNoZWNrTGlzdGVuZXIodCksdGhpcy5wcmVwZW5kTGlzdGVuZXIoZSxfb25jZVdyYXAodGhpcyxlLHQpKSx0aGlzfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8scztpZihjaGVja0xpc3RlbmVyKHQpLHZvaWQgMD09PShyPXRoaXMuX2V2ZW50cykpcmV0dXJuIHRoaXM7aWYodm9pZCAwPT09KG49cltlXSkpcmV0dXJuIHRoaXM7aWYobj09PXR8fG4ubGlzdGVuZXI9PT10KTA9PS0tdGhpcy5fZXZlbnRzQ291bnQ/dGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCk6KGRlbGV0ZSByW2VdLHIucmVtb3ZlTGlzdGVuZXImJnRoaXMuZW1pdChcInJlbW92ZUxpc3RlbmVyXCIsZSxuLmxpc3RlbmVyfHx0KSk7ZWxzZSBpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBuKXtmb3IoaT0tMSxvPW4ubGVuZ3RoLTE7bz49MDtvLS0paWYobltvXT09PXR8fG5bb10ubGlzdGVuZXI9PT10KXtzPW5bb10ubGlzdGVuZXIsaT1vO2JyZWFrfWlmKGk8MClyZXR1cm4gdGhpczswPT09aT9uLnNoaWZ0KCk6c3BsaWNlT25lKG4saSksMT09PW4ubGVuZ3RoJiYocltlXT1uWzBdKSx2b2lkIDAhPT1yLnJlbW92ZUxpc3RlbmVyJiZ0aGlzLmVtaXQoXCJyZW1vdmVMaXN0ZW5lclwiLGUsc3x8dCl9cmV0dXJuIHRoaXN9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUub2ZmPUV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7dmFyIHQsbixyO2lmKHZvaWQgMD09PShuPXRoaXMuX2V2ZW50cykpcmV0dXJuIHRoaXM7aWYodm9pZCAwPT09bi5yZW1vdmVMaXN0ZW5lcilyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTApOnZvaWQgMCE9PW5bZV0mJigwPT0tLXRoaXMuX2V2ZW50c0NvdW50P3RoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpOmRlbGV0ZSBuW2VdKSx0aGlzO2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXt2YXIgaSxvPU9iamVjdC5rZXlzKG4pO2ZvcihyPTA7cjxvLmxlbmd0aDsrK3IpXCJyZW1vdmVMaXN0ZW5lclwiIT09KGk9b1tyXSkmJnRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKGkpO3JldHVybiB0aGlzLnJlbW92ZUFsbExpc3RlbmVycyhcInJlbW92ZUxpc3RlbmVyXCIpLHRoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTAsdGhpc31pZihcImZ1bmN0aW9uXCI9PXR5cGVvZih0PW5bZV0pKXRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0KTtlbHNlIGlmKHZvaWQgMCE9PXQpZm9yKHI9dC5sZW5ndGgtMTtyPj0wO3ItLSl0aGlzLnJlbW92ZUxpc3RlbmVyKGUsdFtyXSk7cmV0dXJuIHRoaXN9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBfbGlzdGVuZXJzKHRoaXMsZSwhMCl9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUucmF3TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBfbGlzdGVuZXJzKHRoaXMsZSwhMSl9LEV2ZW50RW1pdHRlci5saXN0ZW5lckNvdW50PWZ1bmN0aW9uKGUsdCl7cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgZS5saXN0ZW5lckNvdW50P2UubGlzdGVuZXJDb3VudCh0KTpsaXN0ZW5lckNvdW50LmNhbGwoZSx0KX0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5saXN0ZW5lckNvdW50PWxpc3RlbmVyQ291bnQsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5ldmVudE5hbWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2V2ZW50c0NvdW50PjA/UmVmbGVjdE93bktleXModGhpcy5fZXZlbnRzKTpbXX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVYyWlc1MGN5NXFjeUpkTENKdVlXMWxjeUk2V3lKU1pXWnNaV04wVDNkdVMyVjVjeUlzSWxJaUxDSlNaV1pzWldOMElpd2lVbVZtYkdWamRFRndjR3g1SWl3aVlYQndiSGtpTENKMFlYSm5aWFFpTENKeVpXTmxhWFpsY2lJc0ltRnlaM01pTENKR2RXNWpkR2x2YmlJc0luQnliM1J2ZEhsd1pTSXNJbU5oYkd3aUxDSlFjbTlqWlhOelJXMXBkRmRoY201cGJtY2lMQ0ozWVhKdWFXNW5JaXdpWTI5dWMyOXNaU0lzSW5kaGNtNGlMQ0p2ZDI1TFpYbHpJaXdpVDJKcVpXTjBJaXdpWjJWMFQzZHVVSEp2Y0dWeWRIbFRlVzFpYjJ4eklpd2laMlYwVDNkdVVISnZjR1Z5ZEhsT1lXMWxjeUlzSW1OdmJtTmhkQ0lzSWs1MWJXSmxja2x6VG1GT0lpd2lUblZ0WW1WeUlpd2lhWE5PWVU0aUxDSjJZV3gxWlNJc0lrVjJaVzUwUlcxcGRIUmxjaUlzSW1sdWFYUWlMQ0owYUdseklpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbTl1WTJVaUxDSmZaWFpsYm5Seklpd2lkVzVrWldacGJtVmtJaXdpWDJWMlpXNTBjME52ZFc1MElpd2lYMjFoZUV4cGMzUmxibVZ5Y3lJc0ltUmxabUYxYkhSTllYaE1hWE4wWlc1bGNuTWlMQ0pqYUdWamEweHBjM1JsYm1WeUlpd2liR2x6ZEdWdVpYSWlMQ0pVZVhCbFJYSnliM0lpTENKZloyVjBUV0Y0VEdsemRHVnVaWEp6SWl3aWRHaGhkQ0lzSWw5aFpHUk1hWE4wWlc1bGNpSXNJblI1Y0dVaUxDSndjbVZ3Wlc1a0lpd2liU0lzSW1WMlpXNTBjeUlzSW1WNGFYTjBhVzVuSWl3aVkzSmxZWFJsSWl3aWJtVjNUR2x6ZEdWdVpYSWlMQ0psYldsMElpd2lkVzV6YUdsbWRDSXNJbkIxYzJnaUxDSnNaVzVuZEdnaUxDSjNZWEp1WldRaUxDSjNJaXdpUlhKeWIzSWlMQ0pUZEhKcGJtY2lMQ0p1WVcxbElpd2laVzFwZEhSbGNpSXNJbU52ZFc1MElpd2liMjVqWlZkeVlYQndaWElpTENKbWFYSmxaQ0lzSW5KbGJXOTJaVXhwYzNSbGJtVnlJaXdpZDNKaGNFWnVJaXdpWVhKbmRXMWxiblJ6SWl3aVgyOXVZMlZYY21Gd0lpd2ljM1JoZEdVaUxDSjNjbUZ3Y0dWa0lpd2lZbWx1WkNJc0lsOXNhWE4wWlc1bGNuTWlMQ0oxYm5keVlYQWlMQ0psZG14cGMzUmxibVZ5SWl3aWRXNTNjbUZ3VEdsemRHVnVaWEp6SWl3aVlYSnlZWGxEYkc5dVpTSXNJbXhwYzNSbGJtVnlRMjkxYm5RaUxDSmhjbklpTENKdUlpd2lZMjl3ZVNJc0lrRnljbUY1SWl3aWFTSXNJbk53YkdsalpVOXVaU0lzSW14cGMzUWlMQ0pwYm1SbGVDSXNJbkJ2Y0NJc0luSmxkQ0lzSWxCeWIyMXBjMlVpTENKeVpYTnZiSFpsSWl3aWNtVnFaV04wSWl3aVpYSnliM0pNYVhOMFpXNWxjaUlzSW1WeWNpSXNJbkpsYzI5c2RtVnlJaXdpYzJ4cFkyVWlMQ0psZG1WdWRGUmhjbWRsZEVGbmJtOXpkR2xqUVdSa1RHbHpkR1Z1WlhJaUxDSmhaR1JGY25KdmNraGhibVJzWlhKSlprVjJaVzUwUlcxcGRIUmxjaUlzSW1oaGJtUnNaWElpTENKbWJHRm5jeUlzSW05dUlpd2lZV1JrUlhabGJuUk1hWE4wWlc1bGNpSXNJbmR5WVhCTWFYTjBaVzVsY2lJc0ltRnlaeUlzSW5KbGJXOTJaVVYyWlc1MFRHbHpkR1Z1WlhJaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltVnVkVzFsY21GaWJHVWlMQ0puWlhRaUxDSnpaWFFpTENKU1lXNW5aVVZ5Y205eUlpd2laMlYwVUhKdmRHOTBlWEJsVDJZaUxDSnpaWFJOWVhoTWFYTjBaVzVsY25NaUxDSm5aWFJOWVhoTWFYTjBaVzVsY25NaUxDSmtiMFZ5Y205eUlpd2laWEp5YjNJaUxDSmxjaUlzSW0xbGMzTmhaMlVpTENKamIyNTBaWGgwSWl3aWJHVnVJaXdpYkdsemRHVnVaWEp6SWl3aVlXUmtUR2x6ZEdWdVpYSWlMQ0p3Y21Wd1pXNWtUR2x6ZEdWdVpYSWlMQ0p3Y21Wd1pXNWtUMjVqWlV4cGMzUmxibVZ5SWl3aWNHOXphWFJwYjI0aUxDSnZjbWxuYVc1aGJFeHBjM1JsYm1WeUlpd2ljMmhwWm5RaUxDSnZabVlpTENKeVpXMXZkbVZCYkd4TWFYTjBaVzVsY25NaUxDSnJaWGtpTENKclpYbHpJaXdpY21GM1RHbHpkR1Z1WlhKeklpd2laWFpsYm5ST1lXMWxjeUpkTENKdFlYQndhVzVuY3lJNklrRkJjVUpCTEdGQlJVRXNTVUZQU1VFc1pVRlFRVU1zUlVGQmRVSXNhVUpCUVZwRExGRkJRWFZDUVN4UlFVRlZMRXRCUXpWRFF5eGhRVUZsUml4SFFVRjNRaXh0UWtGQldrRXNSVUZCUlVjc1RVRkROMEpJTEVWQlFVVkhMRTFCUTBZc1UwRkJjMEpETEVWQlFWRkRMRVZCUVZWRExFZEJRM2hETEU5QlFVOURMRk5CUVZORExGVkJRVlZNTEUxQlFVMU5MRXRCUVV0TUxFVkJRVkZETEVWQlFWVkRMRWxCYVVJelJDeFRRVUZUU1N4dFFrRkJiVUpETEVkQlEzUkNReXhUUVVGWFFTeFJRVUZSUXl4TlFVRk5SQ3hSUVVGUlF5eExRVUZMUml4SFFXSXhRMW9zWlVGRVJVTXNSMEZCTUVJc2JVSkJRV1JCTEVWQlFVVmpMRkZCUTBOa0xFVkJRVVZqTEZGQlExWkRMRTlCUVU5RExITkNRVU5ETEZOQlFYZENXaXhIUVVOMlF5eFBRVUZQVnl4UFFVRlBSU3h2UWtGQmIwSmlMRWRCUXk5Q1l5eFBRVUZQU0N4UFFVRlBReXh6UWtGQmMwSmFMRXRCUjNoQ0xGTkJRWGRDUVN4SFFVTjJReXhQUVVGUFZ5eFBRVUZQUlN4dlFrRkJiMEppTEVsQlVYUkRMRWxCUVVsbExGbEJRV05ETEU5QlFVOURMRTlCUVZNc1UwRkJjVUpETEVkQlEzSkVMRTlCUVU5QkxFZEJRVlZCTEVkQlIyNUNMRk5CUVZORExHVkJRMUJCTEdGQlFXRkRMRXRCUVV0bUxFdEJRVXRuUWl4TlFVVjZRa01zVDBGQlQwTXNVVUZCVlVvc1lVRkRha0pITEU5QlFVOURMRkZCUVZGRExFdEJRVTlCTEV0QlIzUkNUQ3hoUVVGaFFTeGhRVUZsUVN4aFFVVTFRa0VzWVVGQllXWXNWVUZCVlhGQ0xHRkJRVlZETEVWQlEycERVQ3hoUVVGaFppeFZRVUZWZFVJc1lVRkJaU3hGUVVOMFExSXNZVUZCWVdZc1ZVRkJWWGRDTEcxQ1FVRm5Ra1lzUlVGSmRrTXNTVUZCU1Vjc2IwSkJRWE5DTEVkQlJURkNMRk5CUVZORExHTkJRV05ETEVkQlEzSkNMRWRCUVhkQ0xHMUNRVUZpUVN4RlFVTlVMRTFCUVUwc1NVRkJTVU1zVlVGQlZTd3dSVUZCTkVWRUxFZEJjME53Unl4VFFVRlRSU3hwUWtGQmFVSkRMRWRCUTNoQ0xGbEJRVEpDVWl4SlFVRjJRbEVzUlVGQlMwNHNZMEZEUVZRc1lVRkJZVlVzYjBKQlEyWkxMRVZCUVV0T0xHTkJiVVJrTEZOQlFWTlBMR0ZCUVdGdVF5eEZRVUZSYjBNc1JVRkJUVXdzUlVGQlZVMHNSMEZETlVNc1NVRkJTVU1zUlVGRFFVTXNSVUZEUVVNc1JVRnpRa29zUjBGd1FrRldMR05CUVdORExGRkJSME5NTEV0QlJHWmhMRVZCUVZOMlF5eEZRVUZQZVVJc1ZVRkZaR01zUlVGQlUzWkRMRVZCUVU5NVFpeFJRVUZWWkN4UFFVRlBPRUlzVDBGQlR5eE5RVU40UTNwRExFVkJRVTh5UWl4aFFVRmxMRk5CU1V0RUxFbEJRWFpDWVN4RlFVRlBSeXhqUVVOVU1VTXNSVUZCVHpKRExFdEJRVXNzWTBGQlpWQXNSVUZEWmt3c1JVRkJVMEVzVTBGQlYwRXNSVUZCVTBFc1UwRkJWMEVzUjBGSmNFUlJMRVZCUVZOMlF5eEZRVUZQZVVJc1UwRkZiRUpsTEVWQlFWZEVMRVZCUVU5SUxGTkJSMGhXTEVsQlFXSmpMRVZCUlVaQkxFVkJRVmRFTEVWQlFVOUlMRWRCUVZGTUxFbEJRM2hDTDBJc1JVRkJUekpDTEd0Q1FXVlVMRWRCWW5kQ0xHMUNRVUZpWVN4RlFVVlVRU3hGUVVGWFJDeEZRVUZQU0N4SFFVTm9Ra01zUlVGQlZTeERRVUZEVGl4RlFVRlZVeXhIUVVGWkxFTkJRVU5CTEVWQlFWVlVMRWRCUlhKRFRTeEZRVU5VUnl4RlFVRlRTU3hSUVVGUllpeEhRVVZxUWxNc1JVRkJVMHNzUzBGQlMyUXNTVUZKYUVKUExFVkJRVWxNTEdsQ1FVRnBRbXBETEVsQlEySXNSMEZCUzNkRExFVkJRVk5OTEU5QlFWTlNMRWxCUVUxRkxFVkJRVk5QTEU5QlFWRXNRMEZEY0VSUUxFVkJRVk5QTEZGQlFWTXNSVUZIYkVJc1NVRkJTVU1zUlVGQlNTeEpRVUZKUXl4TlFVRk5MQ3REUVVORlZDeEZRVUZUVFN4UFFVRlRMRWxCUVUxSkxFOUJRVTlrTEVkQlFWRXNjVVZCUnpORVdTeEZRVUZGUnl4TFFVRlBMRGhDUVVOVVNDeEZRVUZGU1N4UlFVRlZjRVFzUlVGRFdtZEVMRVZCUVVWYUxFdEJRVTlCTEVWQlExUlpMRVZCUVVWTExFMUJRVkZpTEVWQlFWTk5MRTlCUTI1Q2VFTXNiVUpCUVcxQ01FTXNSMEZKZGtJc1QwRkJUMmhFTEVWQlkxUXNVMEZCVTNORUxHTkJRMUFzU1VGQlMycERMRXRCUVV0clF5eE5RVWRTTEU5QlJrRnNReXhMUVVGTGNrSXNUMEZCVDNkRUxHVkJRV1Z1UXl4TFFVRkxaU3hMUVVGTlppeExRVUZMYjBNc1VVRkRNME53UXl4TFFVRkxhME1zVDBGQlVTeEZRVU5aTEVsQlFYSkNSeXhWUVVGVldpeFBRVU5NZWtJc1MwRkJTMVVzVTBGQlV6RkNMRXRCUVV0blFpeExRVUZMY2tJc1VVRkRNVUp4UWl4TFFVRkxWU3hUUVVGVGFFTXNUVUZCVFhOQ0xFdEJRVXR5UWl4UFFVRlJNRVFzVjBGSk5VTXNVMEZCVTBNc1ZVRkJWVE5FTEVWQlFWRnZReXhGUVVGTlRDeEhRVU12UWl4SlFVRkpOa0lzUlVGQlVTeERRVUZGVEN4UFFVRlBMRVZCUVU5RkxGbEJRVkV2UWl4RlFVRlhNVUlzVDBGQlVVRXNSVUZCVVc5RExFdEJRVTFCTEVWQlFVMU1MRk5CUVZWQkxFZEJRMnBHT0VJc1JVRkJWVkFzV1VGQldWRXNTMEZCUzBZc1IwRkhMMElzVDBGR1FVTXNSVUZCVVRsQ0xGTkJRVmRCTEVWQlEyNUNOa0lzUlVGQlRVZ3NUMEZCVTBrc1JVRkRVa0VzUlVFd1NGUXNVMEZCVTBVc1YwRkJWeTlFTEVWQlFWRnZReXhGUVVGTk5FSXNSMEZEYUVNc1NVRkJTWHBDTEVWQlFWTjJReXhGUVVGUGVVSXNVVUZGY0VJc1VVRkJaVU1zU1VGQldHRXNSVUZEUml4TlFVRlBMRWRCUlZRc1NVRkJTVEJDTEVWQlFXRXhRaXhGUVVGUFNDeEhRVU40UWl4WlFVRnRRbFlzU1VGQlpuVkRMRVZCUTBzc1IwRkZhVUlzYlVKQlFXWkJMRVZCUTBaRUxFVkJRVk1zUTBGQlEwTXNSVUZCVjJ4RExGVkJRVmxyUXl4SFFVRmpMRU5CUVVOQkxFZEJSV3hFUkN4RlFVTk1SU3huUWtGQlowSkVMRWRCUVdORkxGZEJRVmRHTEVWQlFWbEJMRVZCUVZkdVFpeFJRVzlDY0VVc1UwRkJVM05DTEdOQlFXTm9ReXhIUVVOeVFpeEpRVUZKUnl4RlFVRlRiRUlzUzBGQlMwa3NVVUZGYkVJc1VVRkJaVU1zU1VGQldHRXNSVUZCYzBJc1EwRkRlRUlzU1VGQlNUQkNMRVZCUVdFeFFpeEZRVUZQU0N4SFFVVjRRaXhIUVVFd1FpeHRRa0ZCWmpaQ0xFVkJRMVFzVDBGQlR5eEZRVU5HTEZGQlFXMUNka01zU1VGQlpuVkRMRVZCUTFRc1QwRkJUMEVzUlVGQlYyNUNMRTlCU1hSQ0xFOUJRVThzUlVGUFZDeFRRVUZUY1VJc1YwRkJWMFVzUlVGQlMwTXNSMEZGZGtJc1NVRkVRU3hKUVVGSlF5eEZRVUZQTEVsQlFVbERMRTFCUVUxR0xFZEJRMXBITEVWQlFVa3NSVUZCUjBFc1JVRkJTVWdzU1VGQlMwY3NSVUZEZGtKR0xFVkJRVXRGTEVkQlFVdEtMRVZCUVVsSkxFZEJRMmhDTEU5QlFVOUdMRVZCUjFRc1UwRkJVMGNzVlVGQlZVTXNSVUZCVFVNc1IwRkRka0lzUzBGQlQwRXNSVUZCVVN4RlFVRkpSQ3hGUVVGTE4wSXNUMEZCVVRoQ0xFbEJRemxDUkN4RlFVRkxReXhIUVVGVFJDeEZRVUZMUXl4RlFVRlJMRWRCUXpkQ1JDeEZRVUZMUlN4TlFVZFFMRk5CUVZOWUxHZENRVUZuUWtjc1IwRkZka0lzU1VGRVFTeEpRVUZKVXl4RlFVRk5MRWxCUVVsT0xFMUJRVTFJTEVWQlFVbDJRaXhSUVVObU1rSXNSVUZCU1N4RlFVRkhRU3hGUVVGSlN5eEZRVUZKYUVNc1UwRkJWVEpDTEVWQlEyaERTeXhGUVVGSlRDeEhRVUZMU2l4RlFVRkpTU3hIUVVGSE1VTXNWVUZCV1hORExFVkJRVWxKTEVkQlJXeERMRTlCUVU5TExFVkJSMVFzVTBGQlUzUkVMRXRCUVVzMFFpeEZRVUZUUkN4SFFVTnlRaXhQUVVGUExFbEJRVWswUWl4UlFVRlJMRk5CUVZWRExFVkJRVk5ETEVkQlEzQkRMRk5CUVZORExFVkJRV05ETEVkQlEzSkNMMElzUlVGQlVVa3NaVUZCWlV3c1JVRkJUV2xETEVkQlF6ZENTQ3hGUVVGUFJTeEhRVWRVTEZOQlFWTkRMRWxCUXl0Q0xHMUNRVUV6UW1oRExFVkJRVkZKTEdkQ1FVTnFRa29zUlVGQlVVa3NaVUZCWlN4UlFVRlRNRUlzUjBGRmJFTkdMRVZCUVZFc1IwRkJSMHNzVFVGQlRXaEdMRXRCUVV0eFJDeFpRVWQ0UWpSQ0xDdENRVUVyUW14RExFVkJRVk5FTEVWQlFVMXBReXhGUVVGVkxFTkJRVVUxUkN4TlFVRk5MRWxCUTI1RUxGVkJRVlF5UWl4SFFVTkdiME1zT0VKQlFUaENia01zUlVGQlV6aENMRVZCUVdVc1EwRkJSVEZFTEUxQlFVMHNUVUZMY0VVc1UwRkJVeXRFTERoQ1FVRTRRbTVETEVWQlFWTnZReXhGUVVGVFF5eEhRVU0zUWl4dFFrRkJabkpETEVWQlFWRnpReXhKUVVOcVFrb3NLMEpCUVN0Q2JFTXNSVUZCVXl4UlFVRlRiME1zUlVGQlUwTXNSMEZKT1VRc1UwRkJVMGdzSzBKQlFTdENiRU1zUlVGQlUwUXNSVUZCVFhCQ0xFVkJRVlV3UkN4SFFVTXZSQ3hIUVVFd1FpeHRRa0ZCWm5KRExFVkJRVkZ6UXl4SFFVTmlSQ3hGUVVGTmFrVXNTMEZEVWpSQ0xFVkJRVkUxUWl4TFFVRkxNa0lzUlVGQlRYQkNMRWRCUlc1Q2NVSXNSVUZCVVhORExFZEJRVWQyUXl4RlFVRk5jRUlzVDBGRlpDeERRVUZCTEVkQlFYZERMRzFDUVVFM1FuRkNMRVZCUVZGMVF5eHBRa0ZaZUVJc1RVRkJUU3hKUVVGSk0wUXNWVUZCVlN3MlJVRkJLMFZ2UWl4SFFWUnVSMEVzUlVGQlVYVkRMR2xDUVVGcFFuaERMRVZCUVUwc1UwRkJVM2xETEVWQlFXRkRMRWRCUnk5RFNpeEZRVUZOYWtVc1RVRkRValJDTEVWQlFWRXdReXh2UWtGQmIwSXpReXhGUVVGTmVVTXNSMEZGY0VNM1JDeEZRVUZUT0VRc1RVRm9ZV1pzUml4UFFVRlBiMFlzWlVGQlpUVkZMR0ZCUVdNc2MwSkJRWFZDTEVOQlEzcEVOa1VzV1VGQldTeEZRVU5hUXl4SlFVRkxMRmRCUTBnc1QwRkJUM0JGTEhGQ1FVVlVjVVVzU1VGQlN5eFRRVUZUVEN4SFFVTmFMRWRCUVcxQ0xHbENRVUZTUVN4SFFVRnZRa0VzUlVGQlRTeEhRVUZMT1VVc1dVRkJXVGhGTEVkQlEzQkVMRTFCUVUwc1NVRkJTVTBzVjBGQlZ5eHJSMEZCYjBkT0xFVkJRVTBzUzBGRmFrbG9SU3h2UWtGQmMwSm5SU3hMUVVreFFqRkZMR0ZCUVdGRExFdEJRVThzWjBKQlJVZE5MRWxCUVdwQ1RDeExRVUZMU1N4VFFVTk1TaXhMUVVGTFNTeFZRVUZaWkN4UFFVRlBlVVlzWlVGQlpTOUZMRTFCUVUxSkxGVkJReTlEU2l4TFFVRkxTU3hSUVVGVlpDeFBRVUZQT0VJc1QwRkJUeXhOUVVNM1FuQkNMRXRCUVV0TkxHRkJRV1VzUjBGSGRFSk9MRXRCUVV0UExHTkJRV2RDVUN4TFFVRkxUeXh2UWtGQmFVSkdMRWRCU3pkRFVDeGhRVUZoWml4VlFVRlZhVWNzWjBKQlFXdENMRk5CUVhsQ0wwSXNSMEZEYUVVc1IwRkJhVUlzYVVKQlFVNUJMRWRCUVd0Q1FTeEZRVUZKTEVkQlFVdDJSQ3haUVVGWmRVUXNSMEZEYUVRc1RVRkJUU3hKUVVGSk5rSXNWMEZCVnl4blJrRkJhMFkzUWl4RlFVRkpMRXRCUnpkSExFOUJSRUZxUkN4TFFVRkxUeXhqUVVGblFqQkRMRVZCUTJScVJDeE5RVk5VUml4aFFVRmhaaXhWUVVGVmEwY3NaMEpCUVd0Q0xGZEJRM1pETEU5QlFVOXlSU3hwUWtGQmFVSmFMRTlCUnpGQ1JpeGhRVUZoWml4VlFVRlZkVU1zUzBGQlR5eFRRVUZqVUN4SFFVVXhReXhKUVVSQkxFbEJRVWxzUXl4RlFVRlBMRWRCUTBaMVJTeEZRVUZKTEVWQlFVZEJMRVZCUVVsbUxGVkJRVlZhTEU5QlFWRXlRaXhKUVVGTGRrVXNSVUZCU3pKRExFdEJRVXRoTEZWQlFWVmxMRWxCUXk5RUxFbEJRVWs0UWl4RlFVRnZRaXhWUVVGVWJrVXNSVUZGV0Vjc1JVRkJVMnhDTEV0QlFVdEpMRkZCUTJ4Q0xGRkJRV1ZETEVsQlFWaGhMRVZCUTBablJTeEZRVUZYUVN4UlFVRTBRamRGTEVsQlFXcENZU3hGUVVGUGFVVXNWMEZETVVJc1NVRkJTMFFzUlVGRFVpeFBRVUZQTEVWQlIxUXNSMEZCU1VFc1JVRkJVeXhEUVVOWUxFbEJRVWxGTEVWQlIwb3NSMEZHU1haSExFVkJRVXMwUXl4UFFVRlRMRWxCUTJoQ01rUXNSVUZCUzNaSExFVkJRVXNzU1VGRFVuVkhMR0ZCUVdONFJDeE5RVWRvUWl4TlFVRk5kMFFzUlVGSFVpeEpRVUZKZEVJc1JVRkJUU3hKUVVGSmJFTXNUVUZCVFN4dlFrRkJjMEozUkN4RlFVRkxMRXRCUVU5QkxFVkJRVWRETEZGQlFWVXNTVUZCVFN4TFFVVjZSU3hOUVVSQmRrSXNSVUZCU1hkQ0xGRkJRVlZHTEVWQlExSjBRaXhGUVVkU0xFbEJRVWxMTEVWQlFWVnFSQ3hGUVVGUFNDeEhRVVZ5UWl4UlFVRm5RbFlzU1VGQldqaEVMRVZCUTBZc1QwRkJUeXhGUVVWVUxFZEJRWFZDTEcxQ1FVRmFRU3hGUVVOVU1VWXNZVUZCWVRCR0xFVkJRVk51UlN4TFFVRk5ia0lzVDBGRk5VSXNRMEZCUVN4SlFVRkpNRWNzUlVGQlRYQkNMRVZCUVZFeFF5eFBRVU5rSzBRc1JVRkJXVEZETEZkQlFWZHhRaXhGUVVGVGIwSXNSMEZEY0VNc1NVRkJVMjVETEVWQlFVa3NSVUZCUjBFc1JVRkJTVzFETEVsQlFVOXVReXhGUVVONlFqTkZMR0ZCUVdFclJ5eEZRVUZWY0VNc1IwRkJTWEJFTEV0QlFVMXVRaXhIUVVkeVF5eFBRVUZQTEVkQmFVVlVhVUlzWVVGQllXWXNWVUZCVlRCSExGbEJRV01zVTBGQmNVSXhSU3hGUVVGTlRDeEhRVU01UkN4UFFVRlBTU3hoUVVGaFpDeExRVUZOWlN4RlFVRk5UQ3hIUVVGVkxFbEJSelZEV2l4aFFVRmhaaXhWUVVGVmMwWXNSMEZCUzNaRkxHRkJRV0ZtTEZWQlFWVXdSeXhaUVVWdVJETkdMR0ZCUVdGbUxGVkJRVlV5Unl4blFrRkRia0lzVTBGQmVVSXpSU3hGUVVGTlRDeEhRVU0zUWl4UFFVRlBTU3hoUVVGaFpDeExRVUZOWlN4RlFVRk5UQ3hIUVVGVkxFbEJjVUpvUkZvc1lVRkJZV1lzVlVGQlZXOUNMRXRCUVU4c1UwRkJZMWtzUlVGQlRVd3NSMEZIYUVRc1QwRkdRVVFzWTBGQlkwTXNSMEZEWkZZc1MwRkJTM0ZGTEVkQlFVZDBSQ3hGUVVGTmRVSXNWVUZCVlhSRExFdEJRVTFsTEVWQlFVMU1MRWxCUXpkQ1ZpeE5RVWRVUml4aFFVRmhaaXhWUVVGVk5FY3NiMEpCUTI1Q0xGTkJRVFpDTlVVc1JVRkJUVXdzUjBGSGFrTXNUMEZHUVVRc1kwRkJZME1zUjBGRFpGWXNTMEZCU3pCR0xHZENRVUZuUWpORkxFVkJRVTExUWl4VlFVRlZkRU1zUzBGQlRXVXNSVUZCVFV3c1NVRkRNVU5XTEUxQlNXSkdMR0ZCUVdGbUxGVkJRVlZ2UkN4bFFVTnVRaXhUUVVGM1FuQkNMRVZCUVUxTUxFZEJRelZDTEVsQlFVazBReXhGUVVGTmNFTXNSVUZCVVRCRkxFVkJRVlY0UXl4RlFVRkhlVU1zUlVGTEwwSXNSMEZJUVhCR0xHTkJRV05ETEZGQlIwTk1MRXRCUkdaaExFVkJRVk5zUWl4TFFVRkxTU3hUUVVWYUxFOUJRVTlLTEV0QlIxUXNVVUZCWVVzc1MwRkVZbWxFTEVWQlFVOXdReXhGUVVGUFNDeEpRVVZhTEU5QlFVOW1MRXRCUlZRc1IwRkJTWE5FTEVsQlFWTTFReXhIUVVGWk5FTXNSVUZCU3pWRExGZEJRV0ZCTEVWQlEySXNTMEZCZEVKV0xFdEJRVXROTEdGQlExUk9MRXRCUVV0SkxGRkJRVlZrTEU5QlFVODRRaXhQUVVGUExHTkJSWFJDUml4RlFVRlBTQ3hIUVVOV1J5eEZRVUZQYVVJc1owSkJRMVJ1UXl4TFFVRkxjMElzUzBGQlN5eHBRa0ZCYTBKUUxFVkJRVTExUXl4RlFVRkxOVU1zVlVGQldVRXNVMEZGYkVRc1IwRkJiMElzYlVKQlFWUTBReXhGUVVGeFFpeERRVWR5UXl4SlFVWkJjME1zUjBGQldTeEZRVVZRZUVNc1JVRkJTVVVzUlVGQlN6ZENMRTlCUVZNc1JVRkJSekpDTEVkQlFVc3NSVUZCUjBFc1NVRkRhRU1zUjBGQlNVVXNSVUZCUzBZc1MwRkJUekZETEVkQlFWazBReXhGUVVGTFJpeEhRVUZITVVNc1YwRkJZVUVzUlVGQlZTeERRVU42UkcxR0xFVkJRVzFDZGtNc1JVRkJTMFlzUjBGQlJ6RkRMRk5CUXpOQ2EwWXNSVUZCVjNoRExFVkJRMWdzVFVGSlNpeEhRVUZKZDBNc1JVRkJWeXhGUVVOaUxFOUJRVTgxUml4TFFVVlJMRWxCUVdJMFJpeEZRVU5HZEVNc1JVRkJTM2RETEZGQlJVeDZReXhWUVVGVlF5eEZRVUZOYzBNc1IwRkhSU3hKUVVGb1FuUkRMRVZCUVVzM1FpeFRRVU5RVUN4RlFVRlBTQ3hIUVVGUmRVTXNSVUZCU3l4VFFVVlJha1FzU1VGQk1VSmhMRVZCUVU5cFFpeG5Ra0ZEVkc1RExFdEJRVXR6UWl4TFFVRkxMR2xDUVVGclFsQXNSVUZCVFRoRkxFZEJRVzlDYmtZc1IwRkhNVVFzVDBGQlQxWXNUVUZIWWtZc1lVRkJZV1lzVlVGQlZXZElMRWxCUVUxcVJ5eGhRVUZoWml4VlFVRlZiMFFzWlVGRmNFUnlReXhoUVVGaFppeFZRVUZWYVVnc2JVSkJRMjVDTEZOQlFUUkNha1lzUjBGRE1VSXNTVUZCU1hsRkxFVkJRVmQwUlN4RlFVRlJhME1zUlVGSGRrSXNVVUZCWlM5RExFdEJSR1poTEVWQlFWTnNRaXhMUVVGTFNTeFRRVVZhTEU5QlFVOUtMRXRCUjFRc1VVRkJPRUpMTEVsQlFURkNZU3hGUVVGUGFVSXNaVUZWVkN4UFFWUjVRaXhKUVVGeVFrVXNWVUZCVlZvc1VVRkRXbnBDTEV0QlFVdEpMRkZCUVZWa0xFOUJRVTg0UWl4UFFVRlBMRTFCUXpkQ2NFSXNTMEZCUzAwc1lVRkJaU3hSUVVOTlJDeEpRVUZxUW1Fc1JVRkJUMGdzUzBGRFdTeExRVUYwUW1Zc1MwRkJTMDBzWVVGRFZFNHNTMEZCUzBrc1VVRkJWV1FzVDBGQlR6aENMRTlCUVU4c1lVRkZkRUpHTEVWQlFVOUlMRWxCUlZobUxFdEJTVlFzUjBGQmVVSXNTVUZCY2tKeFF5eFZRVUZWV2l4UFFVRmpMRU5CUXpGQ0xFbEJRMGwzUlN4RlFVUkJReXhGUVVGUE5VY3NUMEZCVHpSSExFdEJRVXRvUml4SFFVVjJRaXhKUVVGTGEwTXNSVUZCU1N4RlFVRkhRU3hGUVVGSk9FTXNSVUZCUzNwRkxGTkJRVlV5UWl4RlFVVnFRaXh2UWtGRVdqWkRMRVZCUVUxRExFVkJRVXM1UXl4TFFVVlljRVFzUzBGQlMyZEhMRzFDUVVGdFFrTXNSMEZMTVVJc1QwRklRV3BITEV0QlFVdG5SeXh0UWtGQmJVSXNhMEpCUTNoQ2FFY3NTMEZCUzBrc1VVRkJWV1FzVDBGQlR6aENMRTlCUVU4c1RVRkROMEp3UWl4TFFVRkxUU3hoUVVGbExFVkJRMkpPTEV0QlMxUXNSMEZCZVVJc2JVSkJSbnBDZDBZc1JVRkJXWFJGTEVWQlFVOUlMRWxCUjJwQ1ppeExRVUZMYlVNc1pVRkJaWEJDTEVWQlFVMTVSU3hSUVVOeVFpeFJRVUZyUW01R0xFbEJRV1J0Uml4RlFVVlVMRWxCUVV0d1F5eEZRVUZKYjBNc1JVRkJWUzlFTEU5QlFWTXNSVUZCUnpKQ0xFZEJRVXNzUlVGQlIwRXNTVUZEY2tOd1JDeExRVUZMYlVNc1pVRkJaWEJDTEVWQlFVMTVSU3hGUVVGVmNFTXNTVUZKZUVNc1QwRkJUM0JFTEUxQmIwSmlSaXhoUVVGaFppeFZRVUZWZVVjc1ZVRkJXU3hUUVVGdFFucEZMRWRCUTNCRUxFOUJRVTh5UWl4WFFVRlhNVU1zUzBGQlRXVXNSMEZCVFN4SlFVZG9RMnBDTEdGQlFXRm1MRlZCUVZWdlNDeGhRVUZsTEZOQlFYTkNjRVlzUjBGRE1VUXNUMEZCVHpKQ0xGZEJRVmN4UXl4TFFVRk5aU3hIUVVGTkxFbEJSMmhEYWtJc1lVRkJZV2xFTEdOQlFXZENMRk5CUVZOb1FpeEZRVUZUYUVJc1IwRkROME1zVFVGQmNVTXNiVUpCUVRGQ1owSXNSVUZCVVdkQ0xHTkJRMVpvUWl4RlFVRlJaMElzWTBGQlkyaERMRWRCUlhSQ1owTXNZMEZCWXk5RUxFdEJRVXNyUXl4RlFVRlRhRUlzU1VGSmRrTnFRaXhoUVVGaFppeFZRVUZWWjBVc1kwRkJaMEpCTEdOQmFVSjJRMnBFTEdGQlFXRm1MRlZCUVZWeFNDeFhRVUZoTEZkQlEyeERMRTlCUVU5d1J5eExRVUZMVFN4aFFVRmxMRVZCUVVsb1F5eGxRVUZsTUVJc1MwRkJTMGtzVTBGQlZ5SXNJbVpwYkdVaU9pSXZkWE55TDJ4dlkyRnNMMnhwWWk5dWIyUmxYMjF2WkhWc1pYTXZkMkYwWTJocFpua3ZibTlrWlY5dGIyUjFiR1Z6TDJWMlpXNTBjeTlsZG1WdWRITXVhbk1pZlE9PSIsImV4cG9ydHMucmVhZD1mdW5jdGlvbihhLG8sdCxyLGgpe3ZhciBNLHAsdz04Kmgtci0xLGY9KDE8PHcpLTEsZT1mPj4xLGk9LTcsTj10P2gtMTowLG49dD8tMToxLHM9YVtvK05dO2ZvcihOKz1uLE09cyYoMTw8LWkpLTEscz4+PS1pLGkrPXc7aT4wO009MjU2Kk0rYVtvK05dLE4rPW4saS09OCk7Zm9yKHA9TSYoMTw8LWkpLTEsTT4+PS1pLGkrPXI7aT4wO3A9MjU2KnArYVtvK05dLE4rPW4saS09OCk7aWYoMD09PU0pTT0xLWU7ZWxzZXtpZihNPT09ZilyZXR1cm4gcD9OYU46MS8wKihzPy0xOjEpO3ArPU1hdGgucG93KDIsciksTS09ZX1yZXR1cm4ocz8tMToxKSpwKk1hdGgucG93KDIsTS1yKX0sZXhwb3J0cy53cml0ZT1mdW5jdGlvbihhLG8sdCxyLGgsTSl7dmFyIHAsdyxmLGU9OCpNLWgtMSxpPSgxPDxlKS0xLE49aT4+MSxuPTIzPT09aD9NYXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAscz1yPzA6TS0xLHU9cj8xOi0xLGw9bzwwfHwwPT09byYmMS9vPDA/MTowO2ZvcihvPU1hdGguYWJzKG8pLGlzTmFOKG8pfHxvPT09MS8wPyh3PWlzTmFOKG8pPzE6MCxwPWkpOihwPU1hdGguZmxvb3IoTWF0aC5sb2cobykvTWF0aC5MTjIpLG8qKGY9TWF0aC5wb3coMiwtcCkpPDEmJihwLS0sZio9MiksKG8rPXArTj49MT9uL2Y6bipNYXRoLnBvdygyLDEtTikpKmY+PTImJihwKyssZi89MikscCtOPj1pPyh3PTAscD1pKTpwK04+PTE/KHc9KG8qZi0xKSpNYXRoLnBvdygyLGgpLHArPU4pOih3PW8qTWF0aC5wb3coMixOLTEpKk1hdGgucG93KDIsaCkscD0wKSk7aD49ODthW3Qrc109MjU1Jncscys9dSx3Lz0yNTYsaC09OCk7Zm9yKHA9cDw8aHx3LGUrPWg7ZT4wO2FbdCtzXT0yNTUmcCxzKz11LHAvPTI1NixlLT04KTthW3Qrcy11XXw9MTI4Kmx9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltVjRjRzl5ZEhNaUxDSnlaV0ZrSWl3aVluVm1abVZ5SWl3aWIyWm1jMlYwSWl3aWFYTk1SU0lzSW0xTVpXNGlMQ0p1UW5sMFpYTWlMQ0psSWl3aWJTSXNJbVZNWlc0aUxDSmxUV0Y0SWl3aVpVSnBZWE1pTENKdVFtbDBjeUlzSW1raUxDSmtJaXdpY3lJc0lrNWhUaUlzSWtsdVptbHVhWFI1SWl3aVRXRjBhQ0lzSW5CdmR5SXNJbmR5YVhSbElpd2lkbUZzZFdVaUxDSmpJaXdpY25RaUxDSmhZbk1pTENKcGMwNWhUaUlzSW1ac2IyOXlJaXdpYkc5bklpd2lURTR5SWwwc0ltMWhjSEJwYm1keklqb2lRVUZEUVVFc1VVRkJVVU1zUzBGQlR5eFRRVUZWUXl4RlFVRlJReXhGUVVGUlF5eEZRVUZOUXl4RlFVRk5ReXhIUVVOdVJDeEpRVUZKUXl4RlFVRkhReXhGUVVOSVF5eEZRVUZwUWl4RlFVRlVTQ3hGUVVGalJDeEZRVUZQTEVWQlF6ZENTeXhIUVVGUkxFZEJRVXRFTEVkQlFWRXNSVUZEY2tKRkxFVkJRVkZFTEVkQlFWRXNSVUZEYUVKRkxFZEJRVk1zUlVGRFZFTXNSVUZCU1ZRc1JVRkJVVVVzUlVGQlV5eEZRVUZMTEVWQlF6RkNVU3hGUVVGSlZpeEhRVUZSTEVWQlFVa3NSVUZEYUVKWExFVkJRVWxpTEVWQlFVOURMRVZCUVZOVkxFZEJUM2hDTEVsQlRFRkJMRWRCUVV0RExFVkJSVXhRTEVWQlFVbFJMRWRCUVUwc1NVRkJUMGdzUjBGQlZTeEZRVU16UWtjc1MwRkJVVWdzUlVGRFVrRXNSMEZCVTBnc1JVRkRSa2NzUlVGQlVTeEZRVUZIVEN4RlFVRlRMRWxCUVVwQkxFVkJRVmRNTEVWQlFVOURMRVZCUVZOVkxFZEJRVWxCTEVkQlFVdERMRVZCUVVkR0xFZEJRVk1zUjBGTGRrVXNTVUZJUVVvc1JVRkJTVVFzUjBGQlRTeEpRVUZQU3l4SFFVRlZMRVZCUXpOQ1RDeExRVUZSU3l4RlFVTlNRU3hIUVVGVFVDeEZRVU5HVHl4RlFVRlJMRVZCUVVkS0xFVkJRVk1zU1VGQlNrRXNSVUZCVjA0c1JVRkJUME1zUlVGQlUxVXNSMEZCU1VFc1IwRkJTME1zUlVGQlIwWXNSMEZCVXl4SFFVVjJSU3hIUVVGVkxFbEJRVTVNTEVWQlEwWkJMRVZCUVVrc1JVRkJTVWtzVFVGRFNDeERRVUZCTEVkQlFVbEtMRWxCUVUxSExFVkJRMllzVDBGQlQwWXNSVUZCU1ZFc1NVRkJjMEpETEVWQlFVRkJMRWRCUVdSR0xFZEJRVXNzUlVGQlNTeEhRVVUxUWxBc1IwRkJVVlVzUzBGQlMwTXNTVUZCU1N4RlFVRkhaQ3hIUVVOd1FrVXNSMEZCVVVrc1JVRkZWaXhQUVVGUlNTeEhRVUZMTEVWQlFVa3NSMEZCUzFBc1JVRkJTVlVzUzBGQlMwTXNTVUZCU1N4RlFVRkhXaXhGUVVGSlJpeEpRVWMxUTB3c1VVRkJVVzlDTEUxQlFWRXNVMEZCVld4Q0xFVkJRVkZ0UWl4RlFVRlBiRUlzUlVGQlVVTXNSVUZCVFVNc1JVRkJUVU1zUjBGRE0wUXNTVUZCU1VNc1JVRkJSME1zUlVGQlIyTXNSVUZEVG1Jc1JVRkJhVUlzUlVGQlZFZ3NSVUZCWTBRc1JVRkJUeXhGUVVNM1Frc3NSMEZCVVN4SFFVRkxSQ3hIUVVGUkxFVkJRM0pDUlN4RlFVRlJSQ3hIUVVGUkxFVkJRMmhDWVN4RlFVRmxMRXRCUVZSc1FpeEZRVUZqWVN4TFFVRkxReXhKUVVGSkxFZEJRVWtzU1VGQlRVUXNTMEZCUzBNc1NVRkJTU3hIUVVGSkxFbEJRVTBzUlVGRE1VUk9MRVZCUVVsVUxFVkJRVThzUlVGQlMwVXNSVUZCVXl4RlFVTjZRbEVzUlVGQlNWWXNSVUZCVHl4SFFVRkxMRVZCUTJoQ1Z5eEZRVUZKVFN4RlFVRlJMRWRCUVdkQ0xFbEJRVlpCTEVkQlFXVXNSVUZCU1VFc1JVRkJVU3hGUVVGTExFVkJRVWtzUlVGdFF6RkVMRWxCYWtOQlFTeEZRVUZSU0N4TFFVRkxUU3hKUVVGSlNDeEhRVVZpU1N4TlFVRk5TaXhKUVVGVlFTeEpRVUZWU2l4RlFVRkJRU3hIUVVNMVFsUXNSVUZCU1dsQ0xFMUJRVTFLTEVkQlFWTXNSVUZCU1N4RlFVTjJRbVFzUlVGQlNVY3NTVUZGU2tnc1JVRkJTVmNzUzBGQlMxRXNUVUZCVFZJc1MwRkJTMU1zU1VGQlNVNHNSMEZCVTBnc1MwRkJTMVVzUzBGRGJFTlFMRWRCUVZORExFVkJRVWxLTEV0QlFVdERMRWxCUVVrc1IwRkJTVm9zU1VGQlRTeEpRVU5zUTBFc1NVRkRRV1VzUjBGQlN5eEpRVWRNUkN4SFFVUkZaQ3hGUVVGSlNTeEhRVUZUTEVWQlEwNVpMRVZCUVV0RUxFVkJSVXhETEVWQlFVdE1MRXRCUVV0RExFbEJRVWtzUlVGQlJ5eEZRVUZKVWl4SlFVVndRbGNzUjBGQlN5eEpRVU5tWml4SlFVTkJaU3hIUVVGTExFZEJSMGhtTEVWQlFVbEpMRWRCUVZORUxFZEJRMlpHTEVWQlFVa3NSVUZEU2tRc1JVRkJTVWNzUjBGRFMwZ3NSVUZCU1Vrc1IwRkJVeXhIUVVOMFFrZ3NSMEZCVFdFc1JVRkJVVU1zUlVGQlN5eEhRVUZMU2l4TFFVRkxReXhKUVVGSkxFVkJRVWRrTEVkQlEzQkRSU3hIUVVGUlNTeEpRVVZTU0N4RlFVRkpZU3hGUVVGUlNDeExRVUZMUXl4SlFVRkpMRVZCUVVkU0xFVkJRVkVzUjBGQlMwOHNTMEZCUzBNc1NVRkJTU3hGUVVGSFpDeEhRVU5xUkVVc1JVRkJTU3hKUVVsRVJpeEhRVUZSTEVWQlFVZElMRVZCUVU5RExFVkJRVk5WTEVkQlFWTXNTVUZCU2t3c1JVRkJWVXNzUjBGQlMwTXNSVUZCUjA0c1IwRkJTeXhKUVVGTFNDeEhRVUZSTEVkQlNUTkZMRWxCUmtGRkxFVkJRVXRCTEVkQlFVdEdMRVZCUVZGSExFVkJRMnhDUXl4SFFVRlJTaXhGUVVORVNTeEZRVUZQTEVWQlFVZFFMRVZCUVU5RExFVkJRVk5WTEVkQlFWTXNTVUZCU2s0c1JVRkJWVTBzUjBGQlMwTXNSVUZCUjFBc1IwRkJTeXhKUVVGTFJTeEhRVUZSTEVkQlJURkZVQ3hGUVVGUFF5eEZRVUZUVlN4RlFVRkpReXhKUVVGVkxFbEJRVXBESWl3aVptbHNaU0k2SWk5MWMzSXZiRzlqWVd3dmJHbGlMMjV2WkdWZmJXOWtkV3hsY3k5M1lYUmphR2xtZVM5dWIyUmxYMjF2WkhWc1pYTXZhV1ZsWlRjMU5DOXBibVJsZUM1cWN5SjkiLCJcImZ1bmN0aW9uXCI9PXR5cGVvZiBPYmplY3QuY3JlYXRlP21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZSYmKHQuc3VwZXJfPWUsdC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOnQsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSkpfTptb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGUpe3Quc3VwZXJfPWU7dmFyIG89ZnVuY3Rpb24oKXt9O28ucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBvLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXR9fTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVhR1Z5YVhSelgySnliM2R6WlhJdWFuTWlYU3dpYm1GdFpYTWlPbHNpVDJKcVpXTjBJaXdpWTNKbFlYUmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW1OMGIzSWlMQ0p6ZFhCbGNrTjBiM0lpTENKemRYQmxjbDhpTENKd2NtOTBiM1I1Y0dVaUxDSmpiMjV6ZEhKMVkzUnZjaUlzSW5aaGJIVmxJaXdpWlc1MWJXVnlZV0pzWlNJc0luZHlhWFJoWW14bElpd2lZMjl1Wm1sbmRYSmhZbXhsSWl3aVZHVnRjRU4wYjNJaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVFMlFpeHRRa0ZCYkVKQkxFOUJRVTlETEU5QlJXaENReXhQUVVGUFF5eFJRVUZWTEZOQlFXdENReXhGUVVGTlF5eEhRVU51UTBFc1NVRkRSa1FzUlVGQlMwVXNUMEZCVTBRc1JVRkRaRVFzUlVGQlMwY3NWVUZCV1ZBc1QwRkJUME1zVDBGQlQwa3NSVUZCVlVVc1ZVRkJWeXhEUVVOc1JFTXNXVUZCWVN4RFFVTllReXhOUVVGUFRDeEZRVU5RVFN4WlFVRlpMRVZCUTFwRExGVkJRVlVzUlVGRFZrTXNZMEZCWXl4UFFVOTBRbFlzVDBGQlQwTXNVVUZCVlN4VFFVRnJRa01zUlVGQlRVTXNSMEZEZGtNc1IwRkJTVUVzUlVGQlZ5eERRVU5pUkN4RlFVRkxSU3hQUVVGVFJDeEZRVU5rTEVsQlFVbFJMRVZCUVZjc1lVRkRaa0VzUlVGQlUwNHNWVUZCV1VZc1JVRkJWVVVzVlVGREwwSklMRVZCUVV0SExGVkJRVmtzU1VGQlNVMHNSVUZEY2tKVUxFVkJRVXRITEZWQlFWVkRMRmxCUVdOS0lpd2labWxzWlNJNklpOTFjM0l2Ykc5allXd3ZiR2xpTDI1dlpHVmZiVzlrZFd4bGN5OTNZWFJqYUdsbWVTOXViMlJsWDIxdlpIVnNaWE12YVc1b1pYSnBkSE12YVc1b1pYSnBkSE5mWW5KdmQzTmxjaTVxY3lKOSIsInZhciBjYWNoZWRTZXRUaW1lb3V0LGNhY2hlZENsZWFyVGltZW91dCxwcm9jZXNzPW1vZHVsZS5leHBvcnRzPXt9O2Z1bmN0aW9uIGRlZmF1bHRTZXRUaW1vdXQoKXt0aHJvdyBuZXcgRXJyb3IoXCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkXCIpfWZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQoKXt0aHJvdyBuZXcgRXJyb3IoXCJjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWRcIil9ZnVuY3Rpb24gcnVuVGltZW91dChlKXtpZihjYWNoZWRTZXRUaW1lb3V0PT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dChlLDApO2lmKChjYWNoZWRTZXRUaW1lb3V0PT09ZGVmYXVsdFNldFRpbW91dHx8IWNhY2hlZFNldFRpbWVvdXQpJiZzZXRUaW1lb3V0KXJldHVybiBjYWNoZWRTZXRUaW1lb3V0PXNldFRpbWVvdXQsc2V0VGltZW91dChlLDApO3RyeXtyZXR1cm4gY2FjaGVkU2V0VGltZW91dChlLDApfWNhdGNoKHQpe3RyeXtyZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKG51bGwsZSwwKX1jYXRjaCh0KXtyZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKHRoaXMsZSwwKX19fWZ1bmN0aW9uIHJ1bkNsZWFyVGltZW91dChlKXtpZihjYWNoZWRDbGVhclRpbWVvdXQ9PT1jbGVhclRpbWVvdXQpcmV0dXJuIGNsZWFyVGltZW91dChlKTtpZigoY2FjaGVkQ2xlYXJUaW1lb3V0PT09ZGVmYXVsdENsZWFyVGltZW91dHx8IWNhY2hlZENsZWFyVGltZW91dCkmJmNsZWFyVGltZW91dClyZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0PWNsZWFyVGltZW91dCxjbGVhclRpbWVvdXQoZSk7dHJ5e3JldHVybiBjYWNoZWRDbGVhclRpbWVvdXQoZSl9Y2F0Y2godCl7dHJ5e3JldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbChudWxsLGUpfWNhdGNoKHQpe3JldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbCh0aGlzLGUpfX19IWZ1bmN0aW9uKCl7dHJ5e2NhY2hlZFNldFRpbWVvdXQ9XCJmdW5jdGlvblwiPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OmRlZmF1bHRTZXRUaW1vdXR9Y2F0Y2goZSl7Y2FjaGVkU2V0VGltZW91dD1kZWZhdWx0U2V0VGltb3V0fXRyeXtjYWNoZWRDbGVhclRpbWVvdXQ9XCJmdW5jdGlvblwiPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpkZWZhdWx0Q2xlYXJUaW1lb3V0fWNhdGNoKGUpe2NhY2hlZENsZWFyVGltZW91dD1kZWZhdWx0Q2xlYXJUaW1lb3V0fX0oKTt2YXIgY3VycmVudFF1ZXVlLHF1ZXVlPVtdLGRyYWluaW5nPSExLHF1ZXVlSW5kZXg9LTE7ZnVuY3Rpb24gY2xlYW5VcE5leHRUaWNrKCl7ZHJhaW5pbmcmJmN1cnJlbnRRdWV1ZSYmKGRyYWluaW5nPSExLGN1cnJlbnRRdWV1ZS5sZW5ndGg/cXVldWU9Y3VycmVudFF1ZXVlLmNvbmNhdChxdWV1ZSk6cXVldWVJbmRleD0tMSxxdWV1ZS5sZW5ndGgmJmRyYWluUXVldWUoKSl9ZnVuY3Rpb24gZHJhaW5RdWV1ZSgpe2lmKCFkcmFpbmluZyl7dmFyIGU9cnVuVGltZW91dChjbGVhblVwTmV4dFRpY2spO2RyYWluaW5nPSEwO2Zvcih2YXIgdD1xdWV1ZS5sZW5ndGg7dDspe2ZvcihjdXJyZW50UXVldWU9cXVldWUscXVldWU9W107KytxdWV1ZUluZGV4PHQ7KWN1cnJlbnRRdWV1ZSYmY3VycmVudFF1ZXVlW3F1ZXVlSW5kZXhdLnJ1bigpO3F1ZXVlSW5kZXg9LTEsdD1xdWV1ZS5sZW5ndGh9Y3VycmVudFF1ZXVlPW51bGwsZHJhaW5pbmc9ITEscnVuQ2xlYXJUaW1lb3V0KGUpfX1mdW5jdGlvbiBJdGVtKGUsdCl7dGhpcy5mdW49ZSx0aGlzLmFycmF5PXR9ZnVuY3Rpb24gbm9vcCgpe31wcm9jZXNzLm5leHRUaWNrPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlmb3IodmFyIHI9MTtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXRbci0xXT1hcmd1bWVudHNbcl07cXVldWUucHVzaChuZXcgSXRlbShlLHQpKSwxIT09cXVldWUubGVuZ3RofHxkcmFpbmluZ3x8cnVuVGltZW91dChkcmFpblF1ZXVlKX0sSXRlbS5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7dGhpcy5mdW4uYXBwbHkobnVsbCx0aGlzLmFycmF5KX0scHJvY2Vzcy50aXRsZT1cImJyb3dzZXJcIixwcm9jZXNzLmJyb3dzZXI9ITAscHJvY2Vzcy5lbnY9e30scHJvY2Vzcy5hcmd2PVtdLHByb2Nlc3MudmVyc2lvbj1cIlwiLHByb2Nlc3MudmVyc2lvbnM9e30scHJvY2Vzcy5vbj1ub29wLHByb2Nlc3MuYWRkTGlzdGVuZXI9bm9vcCxwcm9jZXNzLm9uY2U9bm9vcCxwcm9jZXNzLm9mZj1ub29wLHByb2Nlc3MucmVtb3ZlTGlzdGVuZXI9bm9vcCxwcm9jZXNzLnJlbW92ZUFsbExpc3RlbmVycz1ub29wLHByb2Nlc3MuZW1pdD1ub29wLHByb2Nlc3MucHJlcGVuZExpc3RlbmVyPW5vb3AscHJvY2Vzcy5wcmVwZW5kT25jZUxpc3RlbmVyPW5vb3AscHJvY2Vzcy5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuW119LHByb2Nlc3MuYmluZGluZz1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZFwiKX0scHJvY2Vzcy5jd2Q9ZnVuY3Rpb24oKXtyZXR1cm5cIi9cIn0scHJvY2Vzcy5jaGRpcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWRcIil9LHByb2Nlc3MudW1hc2s9ZnVuY3Rpb24oKXtyZXR1cm4gMH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUp5YjNkelpYSXVhbk1pWFN3aWJtRnRaWE1pT2xzaVkyRmphR1ZrVTJWMFZHbHRaVzkxZENJc0ltTmhZMmhsWkVOc1pXRnlWR2x0Wlc5MWRDSXNJbkJ5YjJObGMzTWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpWkdWbVlYVnNkRk5sZEZScGJXOTFkQ0lzSWtWeWNtOXlJaXdpWkdWbVlYVnNkRU5zWldGeVZHbHRaVzkxZENJc0luSjFibFJwYldWdmRYUWlMQ0ptZFc0aUxDSnpaWFJVYVcxbGIzVjBJaXdpWlNJc0ltTmhiR3dpTENKMGFHbHpJaXdpY25WdVEyeGxZWEpVYVcxbGIzVjBJaXdpYldGeWEyVnlJaXdpWTJ4bFlYSlVhVzFsYjNWMElpd2lZM1Z5Y21WdWRGRjFaWFZsSWl3aWNYVmxkV1VpTENKa2NtRnBibWx1WnlJc0luRjFaWFZsU1c1a1pYZ2lMQ0pqYkdWaGJsVndUbVY0ZEZScFkyc2lMQ0pzWlc1bmRHZ2lMQ0pqYjI1allYUWlMQ0prY21GcGJsRjFaWFZsSWl3aWRHbHRaVzkxZENJc0lteGxiaUlzSW5KMWJpSXNJa2wwWlcwaUxDSmhjbkpoZVNJc0ltNXZiM0FpTENKdVpYaDBWR2xqYXlJc0ltRnlaM01pTENKQmNuSmhlU0lzSW1GeVozVnRaVzUwY3lJc0lta2lMQ0p3ZFhOb0lpd2ljSEp2ZEc5MGVYQmxJaXdpWVhCd2JIa2lMQ0owYVhSc1pTSXNJbUp5YjNkelpYSWlMQ0psYm5ZaUxDSmhjbWQySWl3aWRtVnljMmx2YmlJc0luWmxjbk5wYjI1eklpd2liMjRpTENKaFpHUk1hWE4wWlc1bGNpSXNJbTl1WTJVaUxDSnZabVlpTENKeVpXMXZkbVZNYVhOMFpXNWxjaUlzSW5KbGJXOTJaVUZzYkV4cGMzUmxibVZ5Y3lJc0ltVnRhWFFpTENKd2NtVndaVzVrVEdsemRHVnVaWElpTENKd2NtVndaVzVrVDI1alpVeHBjM1JsYm1WeUlpd2liR2x6ZEdWdVpYSnpJaXdpYm1GdFpTSXNJbUpwYm1ScGJtY2lMQ0pqZDJRaUxDSmphR1JwY2lJc0ltUnBjaUlzSW5WdFlYTnJJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkRRU3hKUVU5SlFTeHBRa0ZEUVVNc2JVSkJVa0ZETEZGQlFWVkRMRTlCUVU5RExGRkJRVlVzUjBGVkwwSXNVMEZCVTBNc2JVSkJRMHdzVFVGQlRTeEpRVUZKUXl4TlFVRk5MRzFEUVVWd1FpeFRRVUZUUXl4elFrRkRUQ3hOUVVGTkxFbEJRVWxFTEUxQlFVMHNjVU5CYzBKd1FpeFRRVUZUUlN4WFFVRlhReXhIUVVOb1FpeEhRVUZKVkN4dFFrRkJjVUpWTEZkQlJYSkNMRTlCUVU5QkxGZEJRVmRFTEVWQlFVc3NSMEZITTBJc1NVRkJTMVFzYlVKQlFYRkNTeXh0UWtGQmNVSk1MRzFDUVVGeFFsVXNWMEZGYUVVc1QwRkVRVllzYVVKQlFXMUNWU3hYUVVOYVFTeFhRVUZYUkN4RlFVRkxMRWRCUlROQ0xFbEJSVWtzVDBGQlQxUXNhVUpCUVdsQ1V5eEZRVUZMTEVkQlF5OUNMRTFCUVUxRkxFZEJRMG9zU1VGRlNTeFBRVUZQV0N4cFFrRkJhVUpaTEV0QlFVc3NTMEZCVFVnc1JVRkJTeXhIUVVNeFF5eE5RVUZOUlN4SFFVVktMRTlCUVU5WUxHbENRVUZwUWxrc1MwRkJTME1zUzBGQlRVb3NSVUZCU3l4TFFVMXdSQ3hUUVVGVFN5eG5Ra0ZCWjBKRExFZEJRM0pDTEVkQlFVbGtMSEZDUVVGMVFtVXNZVUZGZGtJc1QwRkJUMEVzWVVGQllVUXNSMEZIZUVJc1NVRkJTMlFzY1VKQlFYVkNUU3h6UWtGQmQwSk9MSEZDUVVGMVFtVXNZVUZGZGtVc1QwRkVRV1lzYlVKQlFYRkNaU3hoUVVOa1FTeGhRVUZoUkN4SFFVVjRRaXhKUVVWSkxFOUJRVTlrTEcxQ1FVRnRRbU1zUjBGRE5VSXNUVUZCVDBvc1IwRkRUQ3hKUVVWSkxFOUJRVTlXTEcxQ1FVRnRRbGNzUzBGQlN5eExRVUZOUnl4SFFVTjJReXhOUVVGUFNpeEhRVWRNTEU5QlFVOVdMRzFDUVVGdFFsY3NTMEZCUzBNc1MwRkJUVVVzVFVGcVJXaEVMRmRCUTBjc1NVRkZVV1lzYVVKQlJITkNMRzFDUVVGbVZTeFhRVU5aUVN4WFFVVkJUQ3hwUWtGRmVrSXNUVUZCVDAwc1IwRkRURmdzYVVKQlFXMUNTeXhwUWtGRmRrSXNTVUZGVVVvc2JVSkJSSGRDTEcxQ1FVRnFRbVVzWVVGRFkwRXNZVUZGUVZRc2IwSkJSVE5DTEUxQlFVOUpMRWRCUTB4V0xHMUNRVUZ4UWswc2NVSkJha0kzUWl4SFFYZEZRU3hKUVVWSlZTeGhRVVpCUXl4TlFVRlJMRWRCUTFKRExGVkJRVmNzUlVGRldFTXNXVUZCWXl4RlFVVnNRaXhUUVVGVFF5eHJRa0ZEUVVZc1ZVRkJZVVlzWlVGSGJFSkZMRlZCUVZjc1JVRkRVRVlzWVVGQllVc3NUMEZEWWtvc1RVRkJVVVFzWVVGQllVMHNUMEZCVDB3c1QwRkZOVUpGTEZsQlFXTXNSVUZGWkVZc1RVRkJUVWtzVVVGRFRrVXNZMEZKVWl4VFFVRlRRU3hoUVVOTUxFbEJRVWxNTEZOQlFVb3NRMEZIUVN4SlFVRkpUU3hGUVVGVmFrSXNWMEZCVjJFc2FVSkJRM3BDUml4VlFVRlhMRVZCUjFnc1NVRkVRU3hKUVVGSlR5eEZRVUZOVWl4TlFVRk5TU3hQUVVOV1NTeEhRVUZMTEVOQlIxQXNTVUZHUVZRc1lVRkJaVU1zVFVGRFprRXNUVUZCVVN4TFFVTkRSU3hYUVVGaFRTeEhRVU5rVkN4alFVTkJRU3hoUVVGaFJ5eFpRVUZaVHl4TlFVZHFRMUFzV1VGQll5eEZRVU5rVFN4RlFVRk5VaXhOUVVGTlNTeFBRVVZvUWt3c1lVRkJaU3hMUVVObVJTeFZRVUZYTEVWQlExaE1MR2RDUVVGblFsY3NTVUZwUW5CQ0xGTkJRVk5ITEV0QlFVdHVRaXhGUVVGTGIwSXNSMEZEWm1oQ0xFdEJRVXRLTEVsQlFVMUJMRVZCUTFoSkxFdEJRVXRuUWl4TlFVRlJRU3hGUVZscVFpeFRRVUZUUXl4UlFUVkNWRFZDTEZGQlFWRTJRaXhUUVVGWExGTkJRVlYwUWl4SFFVTjZRaXhKUVVGSmRVSXNSVUZCVHl4SlFVRkpReXhOUVVGTlF5eFZRVUZWV2l4UFFVRlRMRWRCUTNoRExFZEJRVWxaTEZWQlFWVmFMRTlCUVZNc1JVRkRia0lzU1VGQlN5eEpRVUZKWVN4RlFVRkpMRVZCUVVkQkxFVkJRVWxFTEZWQlFWVmFMRTlCUVZGaExFbEJRMnhEU0N4RlFVRkxSeXhGUVVGSkxFZEJRVXRFTEZWQlFWVkRMRWRCUjJoRGFrSXNUVUZCVFd0Q0xFdEJRVXNzU1VGQlNWSXNTMEZCUzI1Q0xFVkJRVXQxUWl4SlFVTktMRWxCUVdwQ1pDeE5RVUZOU1N4UlFVRnBRa2dzVlVGRGRrSllMRmRCUVZkblFpeGhRVk51UWtrc1MwRkJTMU1zVlVGQlZWWXNTVUZCVFN4WFFVTnFRbVFzUzBGQlMwb3NTVUZCU1RaQ0xFMUJRVTBzUzBGQlRYcENMRXRCUVV0blFpeFJRVVU1UWpOQ0xGRkJRVkZ4UXl4TlFVRlJMRlZCUTJoQ2NrTXNVVUZCVVhORExGTkJRVlVzUlVGRGJFSjBReXhSUVVGUmRVTXNTVUZCVFN4SFFVTmtka01zVVVGQlVYZERMRXRCUVU4c1IwRkRabmhETEZGQlFWRjVReXhSUVVGVkxFZEJRMnhDZWtNc1VVRkJVVEJETEZOQlFWY3NSMEZKYmtJeFF5eFJRVUZSTWtNc1IwRkJTMllzUzBGRFlqVkNMRkZCUVZFMFF5eFpRVUZqYUVJc1MwRkRkRUkxUWl4UlFVRlJOa01zUzBGQlQycENMRXRCUTJZMVFpeFJRVUZST0VNc1NVRkJUV3hDTEV0QlEyUTFRaXhSUVVGUkswTXNaVUZCYVVKdVFpeExRVU42UWpWQ0xGRkJRVkZuUkN4dFFrRkJjVUp3UWl4TFFVTTNRalZDTEZGQlFWRnBSQ3hMUVVGUGNrSXNTMEZEWmpWQ0xGRkJRVkZyUkN4blFrRkJhMEowUWl4TFFVTXhRalZDTEZGQlFWRnRSQ3h2UWtGQmMwSjJRaXhMUVVVNVFqVkNMRkZCUVZGdlJDeFZRVUZaTEZOQlFWVkRMRWRCUVZFc1RVRkJUeXhKUVVVM1EzSkVMRkZCUVZGelJDeFJRVUZWTEZOQlFWVkVMRWRCUTNoQ0xFMUJRVTBzU1VGQlNXcEVMRTFCUVUwc2NVTkJSM0JDU2l4UlFVRlJkVVFzU1VGQlRTeFhRVUZqTEUxQlFVOHNTMEZEYmtOMlJDeFJRVUZSZDBRc1RVRkJVU3hUUVVGVlF5eEhRVU4wUWl4TlFVRk5MRWxCUVVseVJDeE5RVUZOTEcxRFFVVndRa29zVVVGQlVUQkVMRTFCUVZFc1YwRkJZU3hQUVVGUElpd2labWxzWlNJNklpOTFjM0l2Ykc5allXd3ZiR2xpTDI1dlpHVmZiVzlrZFd4bGN5OTNZWFJqYUdsbWVTOXViMlJsWDIxdlpIVnNaWE12Y0hKdlkyVnpjeTlpY205M2MyVnlMbXB6SW4wPSIsInZhciBidWZmZXI9cmVxdWlyZShcImJ1ZmZlclwiKSxCdWZmZXI9YnVmZmVyLkJ1ZmZlcjtmdW5jdGlvbiBjb3B5UHJvcHMoZixlKXtmb3IodmFyIHIgaW4gZillW3JdPWZbcl19ZnVuY3Rpb24gU2FmZUJ1ZmZlcihmLGUscil7cmV0dXJuIEJ1ZmZlcihmLGUscil9QnVmZmVyLmZyb20mJkJ1ZmZlci5hbGxvYyYmQnVmZmVyLmFsbG9jVW5zYWZlJiZCdWZmZXIuYWxsb2NVbnNhZmVTbG93P21vZHVsZS5leHBvcnRzPWJ1ZmZlcjooY29weVByb3BzKGJ1ZmZlcixleHBvcnRzKSxleHBvcnRzLkJ1ZmZlcj1TYWZlQnVmZmVyKSxTYWZlQnVmZmVyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEJ1ZmZlci5wcm90b3R5cGUpLGNvcHlQcm9wcyhCdWZmZXIsU2FmZUJ1ZmZlciksU2FmZUJ1ZmZlci5mcm9tPWZ1bmN0aW9uKGYsZSxyKXtpZihcIm51bWJlclwiPT10eXBlb2YgZil0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXJcIik7cmV0dXJuIEJ1ZmZlcihmLGUscil9LFNhZmVCdWZmZXIuYWxsb2M9ZnVuY3Rpb24oZixlLHIpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBmKXRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyXCIpO3ZhciB1PUJ1ZmZlcihmKTtyZXR1cm4gdm9pZCAwIT09ZT9cInN0cmluZ1wiPT10eXBlb2Ygcj91LmZpbGwoZSxyKTp1LmZpbGwoZSk6dS5maWxsKDApLHV9LFNhZmVCdWZmZXIuYWxsb2NVbnNhZmU9ZnVuY3Rpb24oZil7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGYpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIik7cmV0dXJuIEJ1ZmZlcihmKX0sU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3c9ZnVuY3Rpb24oZil7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGYpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIik7cmV0dXJuIGJ1ZmZlci5TbG93QnVmZmVyKGYpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJJbUoxWm1abGNpSXNJbkpsY1hWcGNtVWlMQ0pDZFdabVpYSWlMQ0pqYjNCNVVISnZjSE1pTENKemNtTWlMQ0prYzNRaUxDSnJaWGtpTENKVFlXWmxRblZtWm1WeUlpd2lZWEpuSWl3aVpXNWpiMlJwYm1kUGNrOW1abk5sZENJc0lteGxibWQwYUNJc0ltWnliMjBpTENKaGJHeHZZeUlzSW1Gc2JHOWpWVzV6WVdabElpd2lZV3hzYjJOVmJuTmhabVZUYkc5M0lpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbkJ5YjNSdmRIbHdaU0lzSWs5aWFtVmpkQ0lzSW1OeVpXRjBaU0lzSWxSNWNHVkZjbkp2Y2lJc0luTnBlbVVpTENKbWFXeHNJaXdpWlc1amIyUnBibWNpTENKaWRXWWlMQ0oxYm1SbFptbHVaV1FpTENKVGJHOTNRblZtWm1WeUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGRlFTeEpRVUZKUVN4UFFVRlRReXhSUVVGUkxGVkJRMnBDUXl4UFFVRlRSaXhQUVVGUFJTeFBRVWR3UWl4VFFVRlRReXhWUVVGWFF5eEZRVUZMUXl4SFFVTjJRaXhKUVVGTExFbEJRVWxETEV0QlFVOUdMRVZCUTJSRExFVkJRVWxETEVkQlFVOUdMRVZCUVVsRkxFZEJWMjVDTEZOQlFWTkRMRmRCUVZsRExFVkJRVXRETEVWQlFXdENReXhIUVVNeFF5eFBRVUZQVWl4UFFVRlBUU3hGUVVGTFF5eEZRVUZyUWtNc1IwRlVia05TTEU5QlFVOVRMRTFCUVZGVUxFOUJRVTlWTEU5QlFWTldMRTlCUVU5WExHRkJRV1ZZTEU5QlFVOVpMR2RDUVVNNVJFTXNUMEZCVDBNc1VVRkJWV2hDTEZGQlIycENSeXhWUVVGVlNDeFBRVUZSWjBJc1UwRkRiRUpCTEZGQlFWRmtMRTlCUVZOTExGbEJUMjVDUVN4WFFVRlhWU3hWUVVGWlF5eFBRVUZQUXl4UFFVRlBha0lzVDBGQlQyVXNWMEZITlVOa0xGVkJRVlZFTEU5QlFWRkxMRmxCUld4Q1FTeFhRVUZYU1N4TFFVRlBMRk5CUVZWSUxFVkJRVXRETEVWQlFXdENReXhIUVVOcVJDeEhRVUZ0UWl4cFFrRkJVa1lzUlVGRFZDeE5RVUZOTEVsQlFVbFpMRlZCUVZVc2FVTkJSWFJDTEU5QlFVOXNRaXhQUVVGUFRTeEZRVUZMUXl4RlFVRnJRa01zU1VGSGRrTklMRmRCUVZkTExFMUJRVkVzVTBGQlZWTXNSVUZCVFVNc1JVRkJUVU1zUjBGRGRrTXNSMEZCYjBJc2FVSkJRVlJHTEVWQlExUXNUVUZCVFN4SlFVRkpSQ3hWUVVGVkxEWkNRVVYwUWl4SlFVRkpTU3hGUVVGTmRFSXNUMEZCVDIxQ0xFZEJWV3BDTEZsQlZHRkpMRWxCUVZSSUxFVkJRM05DTEdsQ1FVRmlReXhGUVVOVVF5eEZRVUZKUml4TFFVRkxRU3hGUVVGTlF5eEhRVVZtUXl4RlFVRkpSaXhMUVVGTFFTeEhRVWRZUlN4RlFVRkpSaXhMUVVGTExFZEJSVXBGTEVkQlIxUnFRaXhYUVVGWFRTeFpRVUZqTEZOQlFWVlJMRWRCUTJwRExFZEJRVzlDTEdsQ1FVRlVRU3hGUVVOVUxFMUJRVTBzU1VGQlNVUXNWVUZCVlN3MlFrRkZkRUlzVDBGQlQyeENMRTlCUVU5dFFpeEpRVWRvUW1Rc1YwRkJWMDhzWjBKQlFXdENMRk5CUVZWUExFZEJRM0pETEVkQlFXOUNMR2xDUVVGVVFTeEZRVU5VTEUxQlFVMHNTVUZCU1VRc1ZVRkJWU3cyUWtGRmRFSXNUMEZCVDNCQ0xFOUJRVTh3UWl4WFFVRlhUQ0lzSW1acGJHVWlPaUl2ZFhOeUwyeHZZMkZzTDJ4cFlpOXViMlJsWDIxdlpIVnNaWE12ZDJGMFkyaHBabmt2Ym05a1pWOXRiMlIxYkdWekwzTmhabVV0WW5WbVptVnlMMmx1WkdWNExtcHpJbjA9IiwibW9kdWxlLmV4cG9ydHM9U3RyZWFtO3ZhciBFRT1yZXF1aXJlKFwiZXZlbnRzXCIpLkV2ZW50RW1pdHRlcixpbmhlcml0cz1yZXF1aXJlKFwiaW5oZXJpdHNcIik7ZnVuY3Rpb24gU3RyZWFtKCl7RUUuY2FsbCh0aGlzKX1pbmhlcml0cyhTdHJlYW0sRUUpLFN0cmVhbS5SZWFkYWJsZT1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXCIpLFN0cmVhbS5Xcml0YWJsZT1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzXCIpLFN0cmVhbS5EdXBsZXg9cmVxdWlyZShcInJlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcIiksU3RyZWFtLlRyYW5zZm9ybT1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1wiKSxTdHJlYW0uUGFzc1Rocm91Z2g9cmVxdWlyZShcInJlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1wiKSxTdHJlYW0uZmluaXNoZWQ9cmVxdWlyZShcInJlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzXCIpLFN0cmVhbS5waXBlbGluZT1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3BpcGVsaW5lLmpzXCIpLFN0cmVhbS5TdHJlYW09U3RyZWFtLFN0cmVhbS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbihlLHIpe3ZhciB0PXRoaXM7ZnVuY3Rpb24gYShyKXtlLndyaXRhYmxlJiYhMT09PWUud3JpdGUocikmJnQucGF1c2UmJnQucGF1c2UoKX1mdW5jdGlvbiBpKCl7dC5yZWFkYWJsZSYmdC5yZXN1bWUmJnQucmVzdW1lKCl9dC5vbihcImRhdGFcIixhKSxlLm9uKFwiZHJhaW5cIixpKSxlLl9pc1N0ZGlvfHxyJiYhMT09PXIuZW5kfHwodC5vbihcImVuZFwiLHMpLHQub24oXCJjbG9zZVwiLG8pKTt2YXIgbj0hMTtmdW5jdGlvbiBzKCl7bnx8KG49ITAsZS5lbmQoKSl9ZnVuY3Rpb24gbygpe258fChuPSEwLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUuZGVzdHJveSYmZS5kZXN0cm95KCkpfWZ1bmN0aW9uIG0oZSl7aWYobCgpLDA9PT1FRS5saXN0ZW5lckNvdW50KHRoaXMsXCJlcnJvclwiKSl0aHJvdyBlfWZ1bmN0aW9uIGwoKXt0LnJlbW92ZUxpc3RlbmVyKFwiZGF0YVwiLGEpLGUucmVtb3ZlTGlzdGVuZXIoXCJkcmFpblwiLGkpLHQucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixzKSx0LnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixvKSx0LnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixtKSxlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixtKSx0LnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsbCksdC5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsbCksZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsbCl9cmV0dXJuIHQub24oXCJlcnJvclwiLG0pLGUub24oXCJlcnJvclwiLG0pLHQub24oXCJlbmRcIixsKSx0Lm9uKFwiY2xvc2VcIixsKSxlLm9uKFwiY2xvc2VcIixsKSxlLmVtaXQoXCJwaXBlXCIsdCksZX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKVGRISmxZVzBpTENKRlJTSXNJbkpsY1hWcGNtVWlMQ0pGZG1WdWRFVnRhWFIwWlhJaUxDSnBibWhsY21sMGN5SXNJbU5oYkd3aUxDSjBhR2x6SWl3aVVtVmhaR0ZpYkdVaUxDSlhjbWwwWVdKc1pTSXNJa1IxY0d4bGVDSXNJbFJ5WVc1elptOXliU0lzSWxCaGMzTlVhSEp2ZFdkb0lpd2labWx1YVhOb1pXUWlMQ0p3YVhCbGJHbHVaU0lzSW5CeWIzUnZkSGx3WlNJc0luQnBjR1VpTENKa1pYTjBJaXdpYjNCMGFXOXVjeUlzSW5OdmRYSmpaU0lzSW05dVpHRjBZU0lzSW1Ob2RXNXJJaXdpZDNKcGRHRmliR1VpTENKM2NtbDBaU0lzSW5CaGRYTmxJaXdpYjI1a2NtRnBiaUlzSW5KbFlXUmhZbXhsSWl3aWNtVnpkVzFsSWl3aWIyNGlMQ0pmYVhOVGRHUnBieUlzSW1WdVpDSXNJbTl1Wlc1a0lpd2liMjVqYkc5elpTSXNJbVJwWkU5dVJXNWtJaXdpWkdWemRISnZlU0lzSW05dVpYSnliM0lpTENKbGNpSXNJbU5zWldGdWRYQWlMQ0pzYVhOMFpXNWxja052ZFc1MElpd2ljbVZ0YjNabFRHbHpkR1Z1WlhJaUxDSmxiV2wwSWwwc0ltMWhjSEJwYm1keklqb2lRVUZ4UWtGQkxFOUJRVTlETEZGQlFWVkRMRTlCUldwQ0xFbEJRVWxETEVkQlFVdERMRkZCUVZFc1ZVRkJWVU1zWVVGRGRrSkRMRk5CUVZkR0xGRkJRVkVzV1VGdFFuWkNMRk5CUVZOR0xGTkJRMUJETEVkQlFVZEpMRXRCUVV0RExFMUJiRUpXUml4VFFVRlRTaXhQUVVGUlF5eEpRVU5xUWtRc1QwRkJUMDhzVTBGQlYwd3NVVUZCVVN3eVEwRkRNVUpHTEU5QlFVOVJMRk5CUVZkT0xGRkJRVkVzTWtOQlF6RkNSaXhQUVVGUFV5eFBRVUZUVUN4UlFVRlJMSGxEUVVONFFrWXNUMEZCVDFVc1ZVRkJXVklzVVVGQlVTdzBRMEZETTBKR0xFOUJRVTlYTEZsQlFXTlVMRkZCUVZFc09FTkJRemRDUml4UFFVRlBXU3hUUVVGWFZpeFJRVUZSTEhsRVFVTXhRa1lzVDBGQlQyRXNVMEZCVjFnc1VVRkJVU3h2UkVGSE1VSkdMRTlCUVU5QkxFOUJRVk5CTEU5QlYyaENRU3hQUVVGUFl5eFZRVUZWUXl4TFFVRlBMRk5CUVZORExFVkJRVTFETEVkQlEzSkRMRWxCUVVsRExFVkJRVk5hTEV0QlJXSXNVMEZCVTJFc1JVRkJUME1zUjBGRFZrb3NSVUZCUzBzc1YwRkRTQ3hKUVVGVlRDeEZRVUZMVFN4TlFVRk5SaXhKUVVGVlJpeEZRVUZQU3l4UFFVTjRRMHdzUlVGQlQwc3NVVUZQWWl4VFFVRlRReXhKUVVOSVRpeEZRVUZQVHl4VlFVRlpVQ3hGUVVGUFVTeFJRVU0xUWxJc1JVRkJUMUVzVTBGS1dGSXNSVUZCVDFNc1IwRkJSeXhQUVVGUlVpeEhRVkZzUWtnc1JVRkJTMWNzUjBGQlJ5eFJRVUZUU0N4SFFVbGFVaXhGUVVGTFdTeFZRVUZqV0N4SlFVRXlRaXhKUVVGb1FrRXNSVUZCVVZrc1RVRkRla05ZTEVWQlFVOVRMRWRCUVVjc1RVRkJUMGNzUjBGRGFrSmFMRVZCUVU5VExFZEJRVWNzVVVGQlUwa3NTVUZIY2tJc1NVRkJTVU1zUjBGQlZ5eEZRVU5tTEZOQlFWTkdMRWxCUTBoRkxFbEJRMHBCTEVkQlFWY3NSVUZGV0doQ0xFVkJRVXRoTEU5QlNWQXNVMEZCVTBVc1NVRkRTRU1zU1VGRFNrRXNSMEZCVnl4RlFVVnBRaXh0UWtGQmFrSm9RaXhGUVVGTGFVSXNVMEZCZDBKcVFpeEZRVUZMYVVJc1YwRkpMME1zVTBGQlUwTXNSVUZCVVVNc1IwRkZaaXhIUVVSQlF5eEpRVU4zUXl4SlFVRndRMjVETEVkQlFVZHZReXhqUVVGakwwSXNTMEZCVFN4VFFVTjZRaXhOUVVGTk5rSXNSVUZSVml4VFFVRlRReXhKUVVOUWJFSXNSVUZCVDI5Q0xHVkJRV1VzVDBGQlVXNUNMRWRCUXpsQ1NDeEZRVUZMYzBJc1pVRkJaU3hSUVVGVFpDeEhRVVUzUWs0c1JVRkJUMjlDTEdWQlFXVXNUVUZCVDFJc1IwRkROMEphTEVWQlFVOXZRaXhsUVVGbExGRkJRVk5RTEVkQlJTOUNZaXhGUVVGUGIwSXNaVUZCWlN4UlFVRlRTaXhIUVVNdlFteENMRVZCUVV0elFpeGxRVUZsTEZGQlFWTktMRWRCUlRkQ2FFSXNSVUZCVDI5Q0xHVkJRV1VzVFVGQlQwWXNSMEZETjBKc1FpeEZRVUZQYjBJc1pVRkJaU3hSUVVGVFJpeEhRVVV2UW5CQ0xFVkJRVXR6UWl4bFFVRmxMRkZCUVZOR0xFZEJWeTlDTEU5Qk5VSkJiRUlzUlVGQlQxTXNSMEZCUnl4UlFVRlRUeXhIUVVOdVFteENMRVZCUVV0WExFZEJRVWNzVVVGQlUwOHNSMEZ0UW1wQ2FFSXNSVUZCVDFNc1IwRkJSeXhOUVVGUFV5eEhRVU5xUW14Q0xFVkJRVTlUTEVkQlFVY3NVVUZCVTFNc1IwRkZia0p3UWl4RlFVRkxWeXhIUVVGSExGRkJRVk5UTEVkQlJXcENjRUlzUlVGQlMzVkNMRXRCUVVzc1QwRkJVWEpDTEVkQlIxaEdJaXdpWm1sc1pTSTZJaTkxYzNJdmJHOWpZV3d2YkdsaUwyNXZaR1ZmYlc5a2RXeGxjeTkzWVhSamFHbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmMzUnlaV0Z0TFdKeWIzZHpaWEpwWm5rdmFXNWtaWGd1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBfaW5oZXJpdHNMb29zZShlLHIpe2UucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoci5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5fX3Byb3RvX189cn12YXIgY29kZXM9e307ZnVuY3Rpb24gY3JlYXRlRXJyb3JUeXBlKGUscix0KXt0fHwodD1FcnJvcik7dmFyIG49ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCh0LG4sbyl7cmV0dXJuIGUuY2FsbCh0aGlzLGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2Ygcj9yOnIoZSx0LG4pfSh0LG4sbykpfHx0aGlzfXJldHVybiBfaW5oZXJpdHNMb29zZSh0LGUpLHR9KHQpO24ucHJvdG90eXBlLm5hbWU9dC5uYW1lLG4ucHJvdG90eXBlLmNvZGU9ZSxjb2Rlc1tlXT1ufWZ1bmN0aW9uIG9uZU9mKGUscil7aWYoQXJyYXkuaXNBcnJheShlKSl7dmFyIHQ9ZS5sZW5ndGg7cmV0dXJuIGU9ZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIFN0cmluZyhlKX0pLHQ+Mj9cIm9uZSBvZiBcIi5jb25jYXQocixcIiBcIikuY29uY2F0KGUuc2xpY2UoMCx0LTEpLmpvaW4oXCIsIFwiKSxcIiwgb3IgXCIpK2VbdC0xXToyPT09dD9cIm9uZSBvZiBcIi5jb25jYXQocixcIiBcIikuY29uY2F0KGVbMF0sXCIgb3IgXCIpLmNvbmNhdChlWzFdKTpcIm9mIFwiLmNvbmNhdChyLFwiIFwiKS5jb25jYXQoZVswXSl9cmV0dXJuXCJvZiBcIi5jb25jYXQocixcIiBcIikuY29uY2F0KFN0cmluZyhlKSl9ZnVuY3Rpb24gc3RhcnRzV2l0aChlLHIsdCl7cmV0dXJuIGUuc3Vic3RyKCF0fHx0PDA/MDordCxyLmxlbmd0aCk9PT1yfWZ1bmN0aW9uIGVuZHNXaXRoKGUscix0KXtyZXR1cm4odm9pZCAwPT09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKSxlLnN1YnN0cmluZyh0LXIubGVuZ3RoLHQpPT09cn1mdW5jdGlvbiBpbmNsdWRlcyhlLHIsdCl7cmV0dXJuXCJudW1iZXJcIiE9dHlwZW9mIHQmJih0PTApLCEodCtyLmxlbmd0aD5lLmxlbmd0aCkmJi0xIT09ZS5pbmRleE9mKHIsdCl9Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX0lOVkFMSURfT1BUX1ZBTFVFXCIsZnVuY3Rpb24oZSxyKXtyZXR1cm4nVGhlIHZhbHVlIFwiJytyKydcIiBpcyBpbnZhbGlkIGZvciBvcHRpb24gXCInK2UrJ1wiJ30sVHlwZUVycm9yKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfSU5WQUxJRF9BUkdfVFlQRVwiLGZ1bmN0aW9uKGUscix0KXt2YXIgbixvO2lmKFwic3RyaW5nXCI9PXR5cGVvZiByJiZzdGFydHNXaXRoKHIsXCJub3QgXCIpPyhuPVwibXVzdCBub3QgYmVcIixyPXIucmVwbGFjZSgvXm5vdCAvLFwiXCIpKTpuPVwibXVzdCBiZVwiLGVuZHNXaXRoKGUsXCIgYXJndW1lbnRcIikpbz1cIlRoZSBcIi5jb25jYXQoZSxcIiBcIikuY29uY2F0KG4sXCIgXCIpLmNvbmNhdChvbmVPZihyLFwidHlwZVwiKSk7ZWxzZXt2YXIgYz1pbmNsdWRlcyhlLFwiLlwiKT9cInByb3BlcnR5XCI6XCJhcmd1bWVudFwiO289J1RoZSBcIicuY29uY2F0KGUsJ1wiICcpLmNvbmNhdChjLFwiIFwiKS5jb25jYXQobixcIiBcIikuY29uY2F0KG9uZU9mKHIsXCJ0eXBlXCIpKX1yZXR1cm4gbys9XCIuIFJlY2VpdmVkIHR5cGUgXCIuY29uY2F0KHR5cGVvZiB0KX0sVHlwZUVycm9yKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GXCIsXCJzdHJlYW0ucHVzaCgpIGFmdGVyIEVPRlwiKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRFwiLGZ1bmN0aW9uKGUpe3JldHVyblwiVGhlIFwiK2UrXCIgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZFwifSksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0VcIixcIlByZW1hdHVyZSBjbG9zZVwiKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX0RFU1RST1lFRFwiLGZ1bmN0aW9uKGUpe3JldHVyblwiQ2Fubm90IGNhbGwgXCIrZStcIiBhZnRlciBhIHN0cmVhbSB3YXMgZGVzdHJveWVkXCJ9KSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfTVVMVElQTEVfQ0FMTEJBQ0tcIixcIkNhbGxiYWNrIGNhbGxlZCBtdWx0aXBsZSB0aW1lc1wiKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX0NBTk5PVF9QSVBFXCIsXCJDYW5ub3QgcGlwZSwgbm90IHJlYWRhYmxlXCIpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5EXCIsXCJ3cml0ZSBhZnRlciBlbmRcIiksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9OVUxMX1ZBTFVFU1wiLFwiTWF5IG5vdCB3cml0ZSBudWxsIHZhbHVlcyB0byBzdHJlYW1cIixUeXBlRXJyb3IpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9VTktOT1dOX0VOQ09ESU5HXCIsZnVuY3Rpb24oZSl7cmV0dXJuXCJVbmtub3duIGVuY29kaW5nOiBcIitlfSxUeXBlRXJyb3IpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlRcIixcInN0cmVhbS51bnNoaWZ0KCkgYWZ0ZXIgZW5kIGV2ZW50XCIpLG1vZHVsZS5leHBvcnRzLmNvZGVzPWNvZGVzO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1WeWNtOXljeTFpY205M2MyVnlMbXB6SWwwc0ltNWhiV1Z6SWpwYklsOXBibWhsY21sMGMweHZiM05sSWl3aWMzVmlRMnhoYzNNaUxDSnpkWEJsY2tOc1lYTnpJaXdpY0hKdmRHOTBlWEJsSWl3aVQySnFaV04wSWl3aVkzSmxZWFJsSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pmWDNCeWIzUnZYMThpTENKamIyUmxjeUlzSW1OeVpXRjBaVVZ5Y205eVZIbHdaU0lzSW1OdlpHVWlMQ0p0WlhOellXZGxJaXdpUW1GelpTSXNJa1Z5Y205eUlpd2lUbTlrWlVWeWNtOXlJaXdpWDBKaGMyVWlMQ0poY21jeElpd2lZWEpuTWlJc0ltRnlaek1pTENKallXeHNJaXdpZEdocGN5SXNJbWRsZEUxbGMzTmhaMlVpTENKdVlXMWxJaXdpYjI1bFQyWWlMQ0psZUhCbFkzUmxaQ0lzSW5Sb2FXNW5JaXdpUVhKeVlYa2lMQ0pwYzBGeWNtRjVJaXdpYkdWdUlpd2liR1Z1WjNSb0lpd2liV0Z3SWl3aWFTSXNJbE4wY21sdVp5SXNJbU52Ym1OaGRDSXNJbk5zYVdObElpd2lhbTlwYmlJc0luTjBZWEowYzFkcGRHZ2lMQ0p6ZEhJaUxDSnpaV0Z5WTJnaUxDSndiM01pTENKemRXSnpkSElpTENKbGJtUnpWMmwwYUNJc0luUm9hWE5mYkdWdUlpd2lkVzVrWldacGJtVmtJaXdpYzNWaWMzUnlhVzVuSWl3aWFXNWpiSFZrWlhNaUxDSnpkR0Z5ZENJc0ltbHVaR1Y0VDJZaUxDSjJZV3gxWlNJc0lsUjVjR1ZGY25KdmNpSXNJbUZqZEhWaGJDSXNJbVJsZEdWeWJXbHVaWElpTENKdGMyY2lMQ0p5WlhCc1lXTmxJaXdpZEhsd1pTSXNJbUZ5WnlJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUVzVTBGQlUwRXNaVUZCWlVNc1JVRkJWVU1zUjBGQlkwUXNSVUZCVTBVc1ZVRkJXVU1zVDBGQlQwTXNUMEZCVDBnc1JVRkJWME1zVjBGQldVWXNSVUZCVTBVc1ZVRkJWVWNzV1VGQlkwd3NSVUZCVlVFc1JVRkJVMDBzVlVGQldVd3NSVUZGTVVzc1NVRkJTVTBzVFVGQlVTeEhRVVZhTEZOQlFWTkRMR2RDUVVGblFrTXNSVUZCVFVNc1JVRkJVME1zUjBGRGFrTkJMRWxCUTBoQkxFVkJRVTlETEU5QlYxUXNTVUZCU1VNc1JVRkZTaXhUUVVGVlF5eEhRVWRTTEZOQlFWTkVMRVZCUVZWRkxFVkJRVTFETEVWQlFVMURMRWRCUXpkQ0xFOUJRVTlJTEVWQlFVMUpMRXRCUVV0RExFdEJaSFJDTEZOQlFXOUNTaXhGUVVGTlF5eEZRVUZOUXl4SFFVTTVRaXhOUVVGMVFpeHBRa0ZCV2xBc1JVRkRSa0VzUlVGRlFVRXNSVUZCVVVzc1JVRkJUVU1zUlVGQlRVTXNSMEZWU0Vjc1EwRkJWMHdzUlVGQlRVTXNSVUZCVFVNc1MwRkJWVVVzUzBGSE0wUXNUMEZPUVhCQ0xHVkJRV1ZqTEVWQlFWZERMRWRCVFc1Q1JDeEZRVkJVTEVOQlVVVkdMRWRCUlVaRkxFVkJRVlZZTEZWQlFWVnRRaXhMUVVGUFZpeEZRVUZMVlN4TFFVTm9RMUlzUlVGQlZWZ3NWVUZCVlU4c1MwRkJUMEVzUlVGRE0wSkdMRTFCUVUxRkxFZEJRVkZKTEVWQlNXaENMRk5CUVZOVExFMUJRVTFETEVWQlFWVkRMRWRCUTNaQ0xFZEJRVWxETEUxQlFVMURMRkZCUVZGSUxFZEJRVmNzUTBGRE0wSXNTVUZCU1Vrc1JVRkJUVW9zUlVGQlUwc3NUMEZMYmtJc1QwRktRVXdzUlVGQlYwRXNSVUZCVTAwc1NVRkJTU3hUUVVGVlF5eEhRVU5vUXl4UFFVRlBReXhQUVVGUFJDeExRVWRhU0N4RlFVRk5MRVZCUTBRc1ZVRkJWVXNzVDBGQlQxSXNSVUZCVHl4TFFVRkxVU3hQUVVGUFZDeEZRVUZUVlN4TlFVRk5MRVZCUVVkT0xFVkJRVTBzUjBGQlIwOHNTMEZCU3l4TlFVRlBMRk5CUVZkWUxFVkJRVk5KTEVWQlFVMHNSMEZETTBZc1NVRkJVa0VzUlVGRFJpeFZRVUZWU3l4UFFVRlBVaXhGUVVGUExFdEJRVXRSTEU5QlFVOVVMRVZCUVZNc1IwRkJTU3hSUVVGUlV5eFBRVUZQVkN4RlFVRlRMRWxCUlhwRkxFMUJRVTFUTEU5QlFVOVNMRVZCUVU4c1MwRkJTMUVzVDBGQlQxUXNSVUZCVXl4SlFVZHNSQ3hOUVVGUExFMUJRVTFUTEU5QlFVOVNMRVZCUVU4c1MwRkJTMUVzVDBGQlQwUXNUMEZCVDFJc1NVRkxiRVFzVTBGQlUxa3NWMEZCVjBNc1JVRkJTME1zUlVGQlVVTXNSMEZETDBJc1QwRkJUMFlzUlVGQlNVY3NVVUZCVVVRc1IwRkJUMEVzUlVGQlRTeEZRVUZKTEVkQlFVdEJMRVZCUVV0RUxFVkJRVTlVTEZWQlFWbFRMRVZCU1c1RkxGTkJRVk5ITEZOQlFWTktMRVZCUVV0RExFVkJRVkZKTEVkQlN6ZENMRmxCU21sQ1F5eEpRVUZpUkN4SFFVRXdRa0VzUlVGQlYwd3NSVUZCU1ZJc1ZVRkRNME5oTEVWQlFWZE1MRVZCUVVsU0xGRkJSMVpSTEVWQlFVbFBMRlZCUVZWR0xFVkJRVmRLTEVWQlFVOVVMRTlCUVZGaExFdEJRV05LTEVWQlNTOUVMRk5CUVZOUExGTkJRVk5TTEVWQlFVdERMRVZCUVZGUkxFZEJTemRDTEUxQlNuRkNMR2xDUVVGV1FTeEpRVU5VUVN4RlFVRlJMRXRCUjA1QkxFVkJRVkZTTEVWQlFVOVVMRTlCUVZOUkxFVkJRVWxTTEZWQlIxTXNTVUZCYUVOUkxFVkJRVWxWTEZGQlFWRlVMRVZCUVZGUkxFZEJTUzlDY2tNc1owSkJRV2RDTEhkQ1FVRjVRaXhUUVVGVllTeEZRVUZOTUVJc1IwRkRka1FzVFVGQlR5eGpRVUZuUWtFc1JVRkJVU3cwUWtGQk9FSXhRaXhGUVVGUExFdEJRMjVGTWtJc1YwRkRTSGhETEdkQ1FVRm5RaXgxUWtGQmQwSXNVMEZCVldFc1JVRkJUVVVzUlVGQlZUQkNMRWRCUldoRkxFbEJRVWxETEVWQlUwRkRMRVZCUlVvc1IwRlVkMElzYVVKQlFXSTFRaXhIUVVGNVFsa3NWMEZCVjFvc1JVRkJWU3hUUVVOMlJESkNMRVZCUVdFc1kwRkRZak5DTEVWQlFWZEJMRVZCUVZNMlFpeFJRVUZSTEZGQlFWTXNTMEZGY2tOR0xFVkJRV0VzVlVGTFdGWXNVMEZCVTI1Q0xFVkJRVTBzWVVGRmFrSTRRaXhGUVVGTkxFOUJRVTl1UWl4UFFVRlBXQ3hGUVVGTkxFdEJRVXRYTEU5QlFVOXJRaXhGUVVGWkxFdEJRVXRzUWl4UFFVRlBWaXhOUVVGTlF5eEZRVUZWTEdGQlEzcEZMRU5CUTB3c1NVRkJTVGhDTEVWQlFVOVVMRk5CUVZOMlFpeEZRVUZOTEV0QlFVOHNWMEZCWVN4WFFVTTVRemhDTEVWQlFVMHNVVUZCVTI1Q0xFOUJRVTlZTEVWQlFVMHNUVUZCVDFjc1QwRkJUM0ZDTEVWQlFVMHNTMEZCUzNKQ0xFOUJRVTlyUWl4RlFVRlpMRXRCUVV0c1FpeFBRVUZQVml4TlFVRk5ReXhGUVVGVkxGTkJTWFJITEU5QlJFRTBRaXhIUVVGUExHMUNRVUZ0UW01Q0xHTkJRV05wUWl4SlFVVjJRMFFzVjBGRFNIaERMR2RDUVVGblFpdzBRa0ZCTmtJc01rSkJRemREUVN4blFrRkJaMElzTmtKQlFUaENMRk5CUVZWaExFZEJRM1JFTEUxQlFVOHNUMEZCVTBFc1JVRkJUeXdyUWtGRmVrSmlMR2RDUVVGblFpdzJRa0ZCT0VJc2JVSkJRemxEUVN4blFrRkJaMElzZFVKQlFYZENMRk5CUVZWaExFZEJRMmhFTEUxQlFVOHNaVUZCYVVKQkxFVkJRVThzYTBOQlJXcERZaXhuUWtGQlowSXNkMEpCUVhsQ0xHdERRVU42UTBFc1owSkJRV2RDTEhsQ1FVRXdRaXcyUWtGRE1VTkJMR2RDUVVGblFpdzJRa0ZCT0VJc2JVSkJRemxEUVN4blFrRkJaMElzZVVKQlFUQkNMSE5EUVVGMVEzZERMRmRCUTJwR2VFTXNaMEpCUVdkQ0xIVkNRVUYzUWl4VFFVRlZPRU1zUjBGRGFFUXNUVUZCVHl4eFFrRkJkVUpCTEVkQlF6ZENUaXhYUVVOSWVFTXNaMEpCUVdkQ0xIRkRRVUZ6UXl4dlEwRkRkRVFyUXl4UFFVRlBReXhSUVVGUmFrUXNUVUZCVVVFaUxDSm1hV3hsSWpvaUwzVnpjaTlzYjJOaGJDOXNhV0l2Ym05a1pWOXRiMlIxYkdWekwzZGhkR05vYVdaNUwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJWeWNtOXljeTFpY205M2MyVnlMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO3ZhciBvYmplY3RLZXlzPU9iamVjdC5rZXlzfHxmdW5jdGlvbihlKXt2YXIgdD1bXTtmb3IodmFyIHIgaW4gZSl0LnB1c2gocik7cmV0dXJuIHR9O21vZHVsZS5leHBvcnRzPUR1cGxleDt2YXIgUmVhZGFibGU9cmVxdWlyZShcIi4vX3N0cmVhbV9yZWFkYWJsZVwiKSxXcml0YWJsZT1yZXF1aXJlKFwiLi9fc3RyZWFtX3dyaXRhYmxlXCIpO3JlcXVpcmUoXCJpbmhlcml0c1wiKShEdXBsZXgsUmVhZGFibGUpO2Zvcih2YXIga2V5cz1vYmplY3RLZXlzKFdyaXRhYmxlLnByb3RvdHlwZSksdj0wO3Y8a2V5cy5sZW5ndGg7disrKXt2YXIgbWV0aG9kPWtleXNbdl07RHVwbGV4LnByb3RvdHlwZVttZXRob2RdfHwoRHVwbGV4LnByb3RvdHlwZVttZXRob2RdPVdyaXRhYmxlLnByb3RvdHlwZVttZXRob2RdKX1mdW5jdGlvbiBEdXBsZXgoZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgRHVwbGV4KSlyZXR1cm4gbmV3IER1cGxleChlKTtSZWFkYWJsZS5jYWxsKHRoaXMsZSksV3JpdGFibGUuY2FsbCh0aGlzLGUpLHRoaXMuYWxsb3dIYWxmT3Blbj0hMCxlJiYoITE9PT1lLnJlYWRhYmxlJiYodGhpcy5yZWFkYWJsZT0hMSksITE9PT1lLndyaXRhYmxlJiYodGhpcy53cml0YWJsZT0hMSksITE9PT1lLmFsbG93SGFsZk9wZW4mJih0aGlzLmFsbG93SGFsZk9wZW49ITEsdGhpcy5vbmNlKFwiZW5kXCIsb25lbmQpKSl9ZnVuY3Rpb24gb25lbmQoKXt0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkfHxwcm9jZXNzLm5leHRUaWNrKG9uRW5kTlQsdGhpcyl9ZnVuY3Rpb24gb25FbmROVChlKXtlLmVuZCgpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwid3JpdGFibGVIaWdoV2F0ZXJNYXJrXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSxcIndyaXRhYmxlQnVmZmVyXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsXCJ3cml0YWJsZUxlbmd0aFwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmxlbmd0aH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSxcImRlc3Ryb3llZFwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkKX0sc2V0OmZ1bmN0aW9uKGUpe3ZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD1lLHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPWUpfX0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWw5emRISmxZVzFmWkhWd2JHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltOWlhbVZqZEV0bGVYTWlMQ0pQWW1wbFkzUWlMQ0pyWlhseklpd2liMkpxSWl3aWEyVjVJaXdpY0hWemFDSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pFZFhCc1pYZ2lMQ0pTWldGa1lXSnNaU0lzSW5KbGNYVnBjbVVpTENKWGNtbDBZV0pzWlNJc0luQnliM1J2ZEhsd1pTSXNJbllpTENKc1pXNW5kR2dpTENKdFpYUm9iMlFpTENKdmNIUnBiMjV6SWl3aWRHaHBjeUlzSW1OaGJHd2lMQ0poYkd4dmQwaGhiR1pQY0dWdUlpd2ljbVZoWkdGaWJHVWlMQ0ozY21sMFlXSnNaU0lzSW05dVkyVWlMQ0p2Ym1WdVpDSXNJbDkzY21sMFlXSnNaVk4wWVhSbElpd2laVzVrWldRaUxDSndjbTlqWlhOeklpd2libVY0ZEZScFkyc2lMQ0p2YmtWdVpFNVVJaXdpYzJWc1ppSXNJbVZ1WkNJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVpXNTFiV1Z5WVdKc1pTSXNJbWRsZENJc0ltaHBaMmhYWVhSbGNrMWhjbXNpTENKblpYUkNkV1ptWlhJaUxDSjFibVJsWm1sdVpXUWlMQ0pmY21WaFpHRmliR1ZUZEdGMFpTSXNJbVJsYzNSeWIzbGxaQ0lzSW5ObGRDSXNJblpoYkhWbElsMHNJbTFoY0hCcGJtZHpJam9pUVVGM1FrRXNZVUZIUVN4SlFVRkpRU3hYUVVGaFF5eFBRVUZQUXl4TlFVRlJMRk5CUVZWRExFZEJRM2hETEVsQlFVbEVMRVZCUVU4c1IwRkZXQ3hKUVVGTExFbEJRVWxGTEV0QlFVOUVMRVZCUTJSRUxFVkJRVXRITEV0QlFVdEVMRWRCUjFvc1QwRkJUMFlzUjBGTFZFa3NUMEZCVDBNc1VVRkJWVU1zVDBGRmFrSXNTVUZCU1VNc1UwRkJWME1zVVVGQlVTeHpRa0ZGYmtKRExGTkJRVmRFTEZGQlFWRXNjMEpCUlhaQ1FTeFJRVUZSTEZkQlFWSkJMRU5CUVc5Q1JpeFBRVUZSUXl4VlFVMHhRaXhKUVVaQkxFbEJRVWxRTEV0QlFVOUdMRmRCUVZkWExGTkJRVk5ETEZkQlJYUkNReXhGUVVGSkxFVkJRVWRCTEVWQlFVbFlMRXRCUVV0WkxFOUJRVkZFTEVsQlFVc3NRMEZEY0VNc1NVRkJTVVVzVDBGQlUySXNTMEZCUzFjc1IwRkRZa3dzVDBGQlQwa3NWVUZCVlVjc1ZVRkJVMUFzVDBGQlQwa3NWVUZCVlVjc1VVRkJWVW9zVTBGQlUwTXNWVUZCVlVjc1UwRkpha1lzVTBGQlUxQXNUMEZCVDFFc1IwRkRaQ3hMUVVGTlF5eG5Ra0ZCWjBKVUxGRkJRVk1zVDBGQlR5eEpRVUZKUVN4UFFVRlBVU3hIUVVOcVJGQXNVMEZCVTFNc1MwRkJTMFFzUzBGQlRVUXNSMEZEY0VKTUxGTkJRVk5QTEV0QlFVdEVMRXRCUVUxRUxFZEJRM0JDUXl4TFFVRkxSU3hsUVVGblFpeEZRVVZxUWtnc1MwRkRkVUlzU1VGQmNrSkJMRVZCUVZGSkxGZEJRVzlDU0N4TFFVRkxSeXhWUVVGWExFbEJRM1pDTEVsQlFYSkNTaXhGUVVGUlN5eFhRVUZ2UWtvc1MwRkJTMGtzVlVGQlZ5eEpRVVZzUWl4SlFVRXhRa3dzUlVGQlVVY3NaMEpCUTFaR0xFdEJRVXRGTEdWQlFXZENMRVZCUTNKQ1JpeExRVUZMU3l4TFFVRkxMRTFCUVU5RExGTkJhVU4yUWl4VFFVRlRRU3hSUVVWSVRpeExRVUZMVHl4bFFVRmxReXhQUVVkNFFrTXNVVUZCVVVNc1UwRkJVME1zVVVGQlUxZ3NUVUZITlVJc1UwRkJVMWNzVVVGQlVVTXNSMEZEWmtFc1JVRkJTME1zVFVGeVExQTNRaXhQUVVGUE9FSXNaVUZCWlhaQ0xFOUJRVTlKTEZWQlFWY3NkMEpCUVhsQ0xFTkJTUzlFYjBJc1dVRkJXU3hGUVVOYVF5eEpRVUZMTEZkQlEwZ3NUMEZCVDJoQ0xFdEJRVXRQTEdWQlFXVlZMR2xDUVVjdlFtcERMRTlCUVU4NFFpeGxRVUZsZGtJc1QwRkJUMGtzVlVGQlZ5eHBRa0ZCYTBJc1EwRkplRVJ2UWl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYUVJc1MwRkJTMDhzWjBKQlFXdENVQ3hMUVVGTFR5eGxRVUZsVnl4bFFVZDBSR3hETEU5QlFVODRRaXhsUVVGbGRrSXNUMEZCVDBrc1ZVRkJWeXhwUWtGQmEwSXNRMEZKZUVSdlFpeFpRVUZaTEVWQlExcERMRWxCUVVzc1YwRkRTQ3hQUVVGUGFFSXNTMEZCUzA4c1pVRkJaVllzVlVGblFpOUNZaXhQUVVGUE9FSXNaVUZCWlhaQ0xFOUJRVTlKTEZWQlFWY3NXVUZCWVN4RFFVbHVSRzlDTEZsQlFWa3NSVUZEV2tNc1NVRkJTeXhYUVVOSUxGbEJRVFJDUnl4SlFVRjRRbTVDTEV0QlFVdHZRaXh4UWtGQmQwUkVMRWxCUVhoQ2JrSXNTMEZCUzA4c2FVSkJTWFpEVUN4TFFVRkxiMElzWlVGQlpVTXNWMEZCWVhKQ0xFdEJRVXRQTEdWQlFXVmpMRmxCUlRsRVF5eEpRVUZMTEZOQlFXRkRMRkZCUjFsS0xFbEJRWGhDYmtJc1MwRkJTMjlDTEhGQ1FVRjNSRVFzU1VGQmVFSnVRaXhMUVVGTFR5eHBRa0ZOT1VOUUxFdEJRVXR2UWl4bFFVRmxReXhWUVVGWlJTeEZRVU5vUTNaQ0xFdEJRVXRQTEdWQlFXVmpMRlZCUVZsRklpd2labWxzWlNJNklpOTFjM0l2Ykc5allXd3ZiR2xpTDI1dlpHVmZiVzlrZFd4bGN5OTNZWFJqYUdsbWVTOXViMlJsWDIxdlpIVnNaWE12YzNSeVpXRnRMV0p5YjNkelpYSnBabmt2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZYM04wY21WaGJWOWtkWEJzWlhndWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9UGFzc1Rocm91Z2g7dmFyIFRyYW5zZm9ybT1yZXF1aXJlKFwiLi9fc3RyZWFtX3RyYW5zZm9ybVwiKTtmdW5jdGlvbiBQYXNzVGhyb3VnaChyKXtpZighKHRoaXMgaW5zdGFuY2VvZiBQYXNzVGhyb3VnaCkpcmV0dXJuIG5ldyBQYXNzVGhyb3VnaChyKTtUcmFuc2Zvcm0uY2FsbCh0aGlzLHIpfXJlcXVpcmUoXCJpbmhlcml0c1wiKShQYXNzVGhyb3VnaCxUcmFuc2Zvcm0pLFBhc3NUaHJvdWdoLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHIscyxvKXtvKG51bGwscil9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWw5emRISmxZVzFmY0dGemMzUm9jbTkxWjJndWFuTWlYU3dpYm1GdFpYTWlPbHNpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWxCaGMzTlVhSEp2ZFdkb0lpd2lWSEpoYm5ObWIzSnRJaXdpY21WeGRXbHlaU0lzSW05d2RHbHZibk1pTENKMGFHbHpJaXdpWTJGc2JDSXNJbkJ5YjNSdmRIbHdaU0lzSWw5MGNtRnVjMlp2Y20waUxDSmphSFZ1YXlJc0ltVnVZMjlrYVc1bklpd2lZMklpWFN3aWJXRndjR2x1WjNNaU9pSkJRWFZDUVN4aFFVVkJRU3hQUVVGUFF5eFJRVUZWUXl4WlFVVnFRaXhKUVVGSlF5eFZRVUZaUXl4UlFVRlJMSFZDUVVsNFFpeFRRVUZUUml4WlFVRlpSeXhIUVVOdVFpeExRVUZOUXl4blFrRkJaMEpLTEdGQlFXTXNUMEZCVHl4SlFVRkpRU3haUVVGWlJ5eEhRVU16UkVZc1ZVRkJWVWtzUzBGQlMwUXNTMEZCVFVRc1IwRktka0pFTEZGQlFWRXNWMEZCVWtFc1EwRkJiMEpHTEZsQlFXRkRMRmRCVDJwRFJDeFpRVUZaVFN4VlFVRlZReXhYUVVGaExGTkJRVlZETEVWQlFVOURMRVZCUVZWRExFZEJRelZFUVN4RlFVRkhMRXRCUVUxR0lpd2labWxzWlNJNklpOTFjM0l2Ykc5allXd3ZiR2xpTDI1dlpHVmZiVzlrZFd4bGN5OTNZWFJqYUdsbWVTOXViMlJsWDIxdlpIVnNaWE12YzNSeVpXRnRMV0p5YjNkelpYSnBabmt2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZYM04wY21WaGJWOXdZWE56ZEdoeWIzVm5hQzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO3ZhciBEdXBsZXg7bW9kdWxlLmV4cG9ydHM9UmVhZGFibGUsUmVhZGFibGUuUmVhZGFibGVTdGF0ZT1SZWFkYWJsZVN0YXRlO3ZhciBFRT1yZXF1aXJlKFwiZXZlbnRzXCIpLkV2ZW50RW1pdHRlcixFRWxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5saXN0ZW5lcnModCkubGVuZ3RofSxTdHJlYW09cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW1cIiksQnVmZmVyPXJlcXVpcmUoXCJidWZmZXJcIikuQnVmZmVyLE91clVpbnQ4QXJyYXk9Z2xvYmFsLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fTtmdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGUpe3JldHVybiBCdWZmZXIuZnJvbShlKX1mdW5jdGlvbiBfaXNVaW50OEFycmF5KGUpe3JldHVybiBCdWZmZXIuaXNCdWZmZXIoZSl8fGUgaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5fXZhciBkZWJ1ZyxkZWJ1Z1V0aWw9cmVxdWlyZShcInV0aWxcIik7ZGVidWc9ZGVidWdVdGlsJiZkZWJ1Z1V0aWwuZGVidWdsb2c/ZGVidWdVdGlsLmRlYnVnbG9nKFwic3RyZWFtXCIpOmZ1bmN0aW9uKCl7fTt2YXIgU3RyaW5nRGVjb2RlcixjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IsZnJvbSxCdWZmZXJMaXN0PXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvYnVmZmVyX2xpc3RcIiksZGVzdHJveUltcGw9cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95XCIpLF9yZXF1aXJlPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvc3RhdGVcIiksZ2V0SGlnaFdhdGVyTWFyaz1fcmVxdWlyZS5nZXRIaWdoV2F0ZXJNYXJrLF9yZXF1aXJlJGNvZGVzPXJlcXVpcmUoXCIuLi9lcnJvcnNcIikuY29kZXMsRVJSX0lOVkFMSURfQVJHX1RZUEU9X3JlcXVpcmUkY29kZXMuRVJSX0lOVkFMSURfQVJHX1RZUEUsRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRj1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GLEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEPV9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELEVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQ9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVDtyZXF1aXJlKFwiaW5oZXJpdHNcIikoUmVhZGFibGUsU3RyZWFtKTt2YXIgZXJyb3JPckRlc3Ryb3k9ZGVzdHJveUltcGwuZXJyb3JPckRlc3Ryb3ksa1Byb3h5RXZlbnRzPVtcImVycm9yXCIsXCJjbG9zZVwiLFwiZGVzdHJveVwiLFwicGF1c2VcIixcInJlc3VtZVwiXTtmdW5jdGlvbiBwcmVwZW5kTGlzdGVuZXIoZSx0LHIpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGUucHJlcGVuZExpc3RlbmVyKXJldHVybiBlLnByZXBlbmRMaXN0ZW5lcih0LHIpO2UuX2V2ZW50cyYmZS5fZXZlbnRzW3RdP0FycmF5LmlzQXJyYXkoZS5fZXZlbnRzW3RdKT9lLl9ldmVudHNbdF0udW5zaGlmdChyKTplLl9ldmVudHNbdF09W3IsZS5fZXZlbnRzW3RdXTplLm9uKHQscil9ZnVuY3Rpb24gUmVhZGFibGVTdGF0ZShlLHQscil7RHVwbGV4PUR1cGxleHx8cmVxdWlyZShcIi4vX3N0cmVhbV9kdXBsZXhcIiksZT1lfHx7fSxcImJvb2xlYW5cIiE9dHlwZW9mIHImJihyPXQgaW5zdGFuY2VvZiBEdXBsZXgpLHRoaXMub2JqZWN0TW9kZT0hIWUub2JqZWN0TW9kZSxyJiYodGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISFlLnJlYWRhYmxlT2JqZWN0TW9kZSksdGhpcy5oaWdoV2F0ZXJNYXJrPWdldEhpZ2hXYXRlck1hcmsodGhpcyxlLFwicmVhZGFibGVIaWdoV2F0ZXJNYXJrXCIsciksdGhpcy5idWZmZXI9bmV3IEJ1ZmZlckxpc3QsdGhpcy5sZW5ndGg9MCx0aGlzLnBpcGVzPW51bGwsdGhpcy5waXBlc0NvdW50PTAsdGhpcy5mbG93aW5nPW51bGwsdGhpcy5lbmRlZD0hMSx0aGlzLmVuZEVtaXR0ZWQ9ITEsdGhpcy5yZWFkaW5nPSExLHRoaXMuc3luYz0hMCx0aGlzLm5lZWRSZWFkYWJsZT0hMSx0aGlzLmVtaXR0ZWRSZWFkYWJsZT0hMSx0aGlzLnJlYWRhYmxlTGlzdGVuaW5nPSExLHRoaXMucmVzdW1lU2NoZWR1bGVkPSExLHRoaXMucGF1c2VkPSEwLHRoaXMuZW1pdENsb3NlPSExIT09ZS5lbWl0Q2xvc2UsdGhpcy5hdXRvRGVzdHJveT0hIWUuYXV0b0Rlc3Ryb3ksdGhpcy5kZXN0cm95ZWQ9ITEsdGhpcy5kZWZhdWx0RW5jb2Rpbmc9ZS5kZWZhdWx0RW5jb2Rpbmd8fFwidXRmOFwiLHRoaXMuYXdhaXREcmFpbj0wLHRoaXMucmVhZGluZ01vcmU9ITEsdGhpcy5kZWNvZGVyPW51bGwsdGhpcy5lbmNvZGluZz1udWxsLGUuZW5jb2RpbmcmJihTdHJpbmdEZWNvZGVyfHwoU3RyaW5nRGVjb2Rlcj1yZXF1aXJlKFwic3RyaW5nX2RlY29kZXIvXCIpLlN0cmluZ0RlY29kZXIpLHRoaXMuZGVjb2Rlcj1uZXcgU3RyaW5nRGVjb2RlcihlLmVuY29kaW5nKSx0aGlzLmVuY29kaW5nPWUuZW5jb2RpbmcpfWZ1bmN0aW9uIFJlYWRhYmxlKGUpe2lmKER1cGxleD1EdXBsZXh8fHJlcXVpcmUoXCIuL19zdHJlYW1fZHVwbGV4XCIpLCEodGhpcyBpbnN0YW5jZW9mIFJlYWRhYmxlKSlyZXR1cm4gbmV3IFJlYWRhYmxlKGUpO3ZhciB0PXRoaXMgaW5zdGFuY2VvZiBEdXBsZXg7dGhpcy5fcmVhZGFibGVTdGF0ZT1uZXcgUmVhZGFibGVTdGF0ZShlLHRoaXMsdCksdGhpcy5yZWFkYWJsZT0hMCxlJiYoXCJmdW5jdGlvblwiPT10eXBlb2YgZS5yZWFkJiYodGhpcy5fcmVhZD1lLnJlYWQpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUuZGVzdHJveSYmKHRoaXMuX2Rlc3Ryb3k9ZS5kZXN0cm95KSksU3RyZWFtLmNhbGwodGhpcyl9ZnVuY3Rpb24gcmVhZGFibGVBZGRDaHVuayhlLHQscixhLG4pe2RlYnVnKFwicmVhZGFibGVBZGRDaHVua1wiLHQpO3ZhciBpLGQ9ZS5fcmVhZGFibGVTdGF0ZTtpZihudWxsPT09dClkLnJlYWRpbmc9ITEsb25Fb2ZDaHVuayhlLGQpO2Vsc2UgaWYobnx8KGk9Y2h1bmtJbnZhbGlkKGQsdCkpLGkpZXJyb3JPckRlc3Ryb3koZSxpKTtlbHNlIGlmKGQub2JqZWN0TW9kZXx8dCYmdC5sZW5ndGg+MClpZihcInN0cmluZ1wiPT10eXBlb2YgdHx8ZC5vYmplY3RNb2RlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1CdWZmZXIucHJvdG90eXBlfHwodD1fdWludDhBcnJheVRvQnVmZmVyKHQpKSxhKWQuZW5kRW1pdHRlZD9lcnJvck9yRGVzdHJveShlLG5ldyBFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UKTphZGRDaHVuayhlLGQsdCwhMCk7ZWxzZSBpZihkLmVuZGVkKWVycm9yT3JEZXN0cm95KGUsbmV3IEVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YpO2Vsc2V7aWYoZC5kZXN0cm95ZWQpcmV0dXJuITE7ZC5yZWFkaW5nPSExLGQuZGVjb2RlciYmIXI/KHQ9ZC5kZWNvZGVyLndyaXRlKHQpLGQub2JqZWN0TW9kZXx8MCE9PXQubGVuZ3RoP2FkZENodW5rKGUsZCx0LCExKTptYXliZVJlYWRNb3JlKGUsZCkpOmFkZENodW5rKGUsZCx0LCExKX1lbHNlIGF8fChkLnJlYWRpbmc9ITEsbWF5YmVSZWFkTW9yZShlLGQpKTtyZXR1cm4hZC5lbmRlZCYmKGQubGVuZ3RoPGQuaGlnaFdhdGVyTWFya3x8MD09PWQubGVuZ3RoKX1mdW5jdGlvbiBhZGRDaHVuayhlLHQscixhKXt0LmZsb3dpbmcmJjA9PT10Lmxlbmd0aCYmIXQuc3luYz8odC5hd2FpdERyYWluPTAsZS5lbWl0KFwiZGF0YVwiLHIpKToodC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOnIubGVuZ3RoLGE/dC5idWZmZXIudW5zaGlmdChyKTp0LmJ1ZmZlci5wdXNoKHIpLHQubmVlZFJlYWRhYmxlJiZlbWl0UmVhZGFibGUoZSkpLG1heWJlUmVhZE1vcmUoZSx0KX1mdW5jdGlvbiBjaHVua0ludmFsaWQoZSx0KXt2YXIgcjtyZXR1cm4gX2lzVWludDhBcnJheSh0KXx8XCJzdHJpbmdcIj09dHlwZW9mIHR8fHZvaWQgMD09PXR8fGUub2JqZWN0TW9kZXx8KHI9bmV3IEVSUl9JTlZBTElEX0FSR19UWVBFKFwiY2h1bmtcIixbXCJzdHJpbmdcIixcIkJ1ZmZlclwiLFwiVWludDhBcnJheVwiXSx0KSkscn1PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwiZGVzdHJveWVkXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWUpfX0pLFJlYWRhYmxlLnByb3RvdHlwZS5kZXN0cm95PWRlc3Ryb3lJbXBsLmRlc3Ryb3ksUmVhZGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3k9ZGVzdHJveUltcGwudW5kZXN0cm95LFJlYWRhYmxlLnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbihlLHQpe3QoZSl9LFJlYWRhYmxlLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGUsdCl7dmFyIHIsYT10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVybiBhLm9iamVjdE1vZGU/cj0hMDpcInN0cmluZ1wiPT10eXBlb2YgZSYmKCh0PXR8fGEuZGVmYXVsdEVuY29kaW5nKSE9PWEuZW5jb2RpbmcmJihlPUJ1ZmZlci5mcm9tKGUsdCksdD1cIlwiKSxyPSEwKSxyZWFkYWJsZUFkZENodW5rKHRoaXMsZSx0LCExLHIpfSxSZWFkYWJsZS5wcm90b3R5cGUudW5zaGlmdD1mdW5jdGlvbihlKXtyZXR1cm4gcmVhZGFibGVBZGRDaHVuayh0aGlzLGUsbnVsbCwhMCwhMSl9LFJlYWRhYmxlLnByb3RvdHlwZS5pc1BhdXNlZD1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSxSZWFkYWJsZS5wcm90b3R5cGUuc2V0RW5jb2Rpbmc9ZnVuY3Rpb24oZSl7U3RyaW5nRGVjb2Rlcnx8KFN0cmluZ0RlY29kZXI9cmVxdWlyZShcInN0cmluZ19kZWNvZGVyL1wiKS5TdHJpbmdEZWNvZGVyKTt2YXIgdD1uZXcgU3RyaW5nRGVjb2RlcihlKTt0aGlzLl9yZWFkYWJsZVN0YXRlLmRlY29kZXI9dCx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nPXRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlci5lbmNvZGluZztmb3IodmFyIHI9dGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuaGVhZCxhPVwiXCI7bnVsbCE9PXI7KWErPXQud3JpdGUoci5kYXRhKSxyPXIubmV4dDtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuY2xlYXIoKSxcIlwiIT09YSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIucHVzaChhKSx0aGlzLl9yZWFkYWJsZVN0YXRlLmxlbmd0aD1hLmxlbmd0aCx0aGlzfTt2YXIgTUFYX0hXTT0xMDczNzQxODI0O2Z1bmN0aW9uIGNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKGUpe3JldHVybiBlPj1NQVhfSFdNP2U9TUFYX0hXTTooZS0tLGV8PWU+Pj4xLGV8PWU+Pj4yLGV8PWU+Pj40LGV8PWU+Pj44LGV8PWU+Pj4xNixlKyspLGV9ZnVuY3Rpb24gaG93TXVjaFRvUmVhZChlLHQpe3JldHVybiBlPD0wfHwwPT09dC5sZW5ndGgmJnQuZW5kZWQ/MDp0Lm9iamVjdE1vZGU/MTplIT1lP3QuZmxvd2luZyYmdC5sZW5ndGg/dC5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDp0Lmxlbmd0aDooZT50LmhpZ2hXYXRlck1hcmsmJih0LmhpZ2hXYXRlck1hcms9Y29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsoZSkpLGU8PXQubGVuZ3RoP2U6dC5lbmRlZD90Lmxlbmd0aDoodC5uZWVkUmVhZGFibGU9ITAsMCkpfWZ1bmN0aW9uIG9uRW9mQ2h1bmsoZSx0KXtpZihkZWJ1ZyhcIm9uRW9mQ2h1bmtcIiksIXQuZW5kZWQpe2lmKHQuZGVjb2Rlcil7dmFyIHI9dC5kZWNvZGVyLmVuZCgpO3ImJnIubGVuZ3RoJiYodC5idWZmZXIucHVzaChyKSx0Lmxlbmd0aCs9dC5vYmplY3RNb2RlPzE6ci5sZW5ndGgpfXQuZW5kZWQ9ITAsdC5zeW5jP2VtaXRSZWFkYWJsZShlKToodC5uZWVkUmVhZGFibGU9ITEsdC5lbWl0dGVkUmVhZGFibGV8fCh0LmVtaXR0ZWRSZWFkYWJsZT0hMCxlbWl0UmVhZGFibGVfKGUpKSl9fWZ1bmN0aW9uIGVtaXRSZWFkYWJsZShlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2RlYnVnKFwiZW1pdFJlYWRhYmxlXCIsdC5uZWVkUmVhZGFibGUsdC5lbWl0dGVkUmVhZGFibGUpLHQubmVlZFJlYWRhYmxlPSExLHQuZW1pdHRlZFJlYWRhYmxlfHwoZGVidWcoXCJlbWl0UmVhZGFibGVcIix0LmZsb3dpbmcpLHQuZW1pdHRlZFJlYWRhYmxlPSEwLHByb2Nlc3MubmV4dFRpY2soZW1pdFJlYWRhYmxlXyxlKSl9ZnVuY3Rpb24gZW1pdFJlYWRhYmxlXyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2RlYnVnKFwiZW1pdFJlYWRhYmxlX1wiLHQuZGVzdHJveWVkLHQubGVuZ3RoLHQuZW5kZWQpLHQuZGVzdHJveWVkfHwhdC5sZW5ndGgmJiF0LmVuZGVkfHwoZS5lbWl0KFwicmVhZGFibGVcIiksdC5lbWl0dGVkUmVhZGFibGU9ITEpLHQubmVlZFJlYWRhYmxlPSF0LmZsb3dpbmcmJiF0LmVuZGVkJiZ0Lmxlbmd0aDw9dC5oaWdoV2F0ZXJNYXJrLGZsb3coZSl9ZnVuY3Rpb24gbWF5YmVSZWFkTW9yZShlLHQpe3QucmVhZGluZ01vcmV8fCh0LnJlYWRpbmdNb3JlPSEwLHByb2Nlc3MubmV4dFRpY2sobWF5YmVSZWFkTW9yZV8sZSx0KSl9ZnVuY3Rpb24gbWF5YmVSZWFkTW9yZV8oZSx0KXtmb3IoOyF0LnJlYWRpbmcmJiF0LmVuZGVkJiYodC5sZW5ndGg8dC5oaWdoV2F0ZXJNYXJrfHx0LmZsb3dpbmcmJjA9PT10Lmxlbmd0aCk7KXt2YXIgcj10Lmxlbmd0aDtpZihkZWJ1ZyhcIm1heWJlUmVhZE1vcmUgcmVhZCAwXCIpLGUucmVhZCgwKSxyPT09dC5sZW5ndGgpYnJlYWt9dC5yZWFkaW5nTW9yZT0hMX1mdW5jdGlvbiBwaXBlT25EcmFpbihlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2RlYnVnKFwicGlwZU9uRHJhaW5cIix0LmF3YWl0RHJhaW4pLHQuYXdhaXREcmFpbiYmdC5hd2FpdERyYWluLS0sMD09PXQuYXdhaXREcmFpbiYmRUVsaXN0ZW5lckNvdW50KGUsXCJkYXRhXCIpJiYodC5mbG93aW5nPSEwLGZsb3coZSkpfX1mdW5jdGlvbiB1cGRhdGVSZWFkYWJsZUxpc3RlbmluZyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO3QucmVhZGFibGVMaXN0ZW5pbmc9ZS5saXN0ZW5lckNvdW50KFwicmVhZGFibGVcIik+MCx0LnJlc3VtZVNjaGVkdWxlZCYmIXQucGF1c2VkP3QuZmxvd2luZz0hMDplLmxpc3RlbmVyQ291bnQoXCJkYXRhXCIpPjAmJmUucmVzdW1lKCl9ZnVuY3Rpb24gblJlYWRpbmdOZXh0VGljayhlKXtkZWJ1ZyhcInJlYWRhYmxlIG5leHR0aWNrIHJlYWQgMFwiKSxlLnJlYWQoMCl9ZnVuY3Rpb24gcmVzdW1lKGUsdCl7dC5yZXN1bWVTY2hlZHVsZWR8fCh0LnJlc3VtZVNjaGVkdWxlZD0hMCxwcm9jZXNzLm5leHRUaWNrKHJlc3VtZV8sZSx0KSl9ZnVuY3Rpb24gcmVzdW1lXyhlLHQpe2RlYnVnKFwicmVzdW1lXCIsdC5yZWFkaW5nKSx0LnJlYWRpbmd8fGUucmVhZCgwKSx0LnJlc3VtZVNjaGVkdWxlZD0hMSxlLmVtaXQoXCJyZXN1bWVcIiksZmxvdyhlKSx0LmZsb3dpbmcmJiF0LnJlYWRpbmcmJmUucmVhZCgwKX1mdW5jdGlvbiBmbG93KGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7Zm9yKGRlYnVnKFwiZmxvd1wiLHQuZmxvd2luZyk7dC5mbG93aW5nJiZudWxsIT09ZS5yZWFkKCk7KTt9ZnVuY3Rpb24gZnJvbUxpc3QoZSx0KXtyZXR1cm4gMD09PXQubGVuZ3RoP251bGw6KHQub2JqZWN0TW9kZT9yPXQuYnVmZmVyLnNoaWZ0KCk6IWV8fGU+PXQubGVuZ3RoPyhyPXQuZGVjb2Rlcj90LmJ1ZmZlci5qb2luKFwiXCIpOjE9PT10LmJ1ZmZlci5sZW5ndGg/dC5idWZmZXIuZmlyc3QoKTp0LmJ1ZmZlci5jb25jYXQodC5sZW5ndGgpLHQuYnVmZmVyLmNsZWFyKCkpOnI9dC5idWZmZXIuY29uc3VtZShlLHQuZGVjb2Rlcikscik7dmFyIHJ9ZnVuY3Rpb24gZW5kUmVhZGFibGUoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtkZWJ1ZyhcImVuZFJlYWRhYmxlXCIsdC5lbmRFbWl0dGVkKSx0LmVuZEVtaXR0ZWR8fCh0LmVuZGVkPSEwLHByb2Nlc3MubmV4dFRpY2soZW5kUmVhZGFibGVOVCx0LGUpKX1mdW5jdGlvbiBlbmRSZWFkYWJsZU5UKGUsdCl7aWYoZGVidWcoXCJlbmRSZWFkYWJsZU5UXCIsZS5lbmRFbWl0dGVkLGUubGVuZ3RoKSwhZS5lbmRFbWl0dGVkJiYwPT09ZS5sZW5ndGgmJihlLmVuZEVtaXR0ZWQ9ITAsdC5yZWFkYWJsZT0hMSx0LmVtaXQoXCJlbmRcIiksZS5hdXRvRGVzdHJveSkpe3ZhciByPXQuX3dyaXRhYmxlU3RhdGU7KCFyfHxyLmF1dG9EZXN0cm95JiZyLmZpbmlzaGVkKSYmdC5kZXN0cm95KCl9fWZ1bmN0aW9uIGluZGV4T2YoZSx0KXtmb3IodmFyIHI9MCxhPWUubGVuZ3RoO3I8YTtyKyspaWYoZVtyXT09PXQpcmV0dXJuIHI7cmV0dXJuLTF9UmVhZGFibGUucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oZSl7ZGVidWcoXCJyZWFkXCIsZSksZT1wYXJzZUludChlLDEwKTt2YXIgdD10aGlzLl9yZWFkYWJsZVN0YXRlLHI9ZTtpZigwIT09ZSYmKHQuZW1pdHRlZFJlYWRhYmxlPSExKSwwPT09ZSYmdC5uZWVkUmVhZGFibGUmJigoMCE9PXQuaGlnaFdhdGVyTWFyaz90Lmxlbmd0aD49dC5oaWdoV2F0ZXJNYXJrOnQubGVuZ3RoPjApfHx0LmVuZGVkKSlyZXR1cm4gZGVidWcoXCJyZWFkOiBlbWl0UmVhZGFibGVcIix0Lmxlbmd0aCx0LmVuZGVkKSwwPT09dC5sZW5ndGgmJnQuZW5kZWQ/ZW5kUmVhZGFibGUodGhpcyk6ZW1pdFJlYWRhYmxlKHRoaXMpLG51bGw7aWYoMD09PShlPWhvd011Y2hUb1JlYWQoZSx0KSkmJnQuZW5kZWQpcmV0dXJuIDA9PT10Lmxlbmd0aCYmZW5kUmVhZGFibGUodGhpcyksbnVsbDt2YXIgYSxuPXQubmVlZFJlYWRhYmxlO3JldHVybiBkZWJ1ZyhcIm5lZWQgcmVhZGFibGVcIixuKSwoMD09PXQubGVuZ3RofHx0Lmxlbmd0aC1lPHQuaGlnaFdhdGVyTWFyaykmJmRlYnVnKFwibGVuZ3RoIGxlc3MgdGhhbiB3YXRlcm1hcmtcIixuPSEwKSx0LmVuZGVkfHx0LnJlYWRpbmc/ZGVidWcoXCJyZWFkaW5nIG9yIGVuZGVkXCIsbj0hMSk6biYmKGRlYnVnKFwiZG8gcmVhZFwiKSx0LnJlYWRpbmc9ITAsdC5zeW5jPSEwLDA9PT10Lmxlbmd0aCYmKHQubmVlZFJlYWRhYmxlPSEwKSx0aGlzLl9yZWFkKHQuaGlnaFdhdGVyTWFyayksdC5zeW5jPSExLHQucmVhZGluZ3x8KGU9aG93TXVjaFRvUmVhZChyLHQpKSksbnVsbD09PShhPWU+MD9mcm9tTGlzdChlLHQpOm51bGwpPyh0Lm5lZWRSZWFkYWJsZT10Lmxlbmd0aDw9dC5oaWdoV2F0ZXJNYXJrLGU9MCk6KHQubGVuZ3RoLT1lLHQuYXdhaXREcmFpbj0wKSwwPT09dC5sZW5ndGgmJih0LmVuZGVkfHwodC5uZWVkUmVhZGFibGU9ITApLHIhPT1lJiZ0LmVuZGVkJiZlbmRSZWFkYWJsZSh0aGlzKSksbnVsbCE9PWEmJnRoaXMuZW1pdChcImRhdGFcIixhKSxhfSxSZWFkYWJsZS5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24oZSl7ZXJyb3JPckRlc3Ryb3kodGhpcyxuZXcgRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQoXCJfcmVhZCgpXCIpKX0sUmVhZGFibGUucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLGE9dGhpcy5fcmVhZGFibGVTdGF0ZTtzd2l0Y2goYS5waXBlc0NvdW50KXtjYXNlIDA6YS5waXBlcz1lO2JyZWFrO2Nhc2UgMTphLnBpcGVzPVthLnBpcGVzLGVdO2JyZWFrO2RlZmF1bHQ6YS5waXBlcy5wdXNoKGUpfWEucGlwZXNDb3VudCs9MSxkZWJ1ZyhcInBpcGUgY291bnQ9JWQgb3B0cz0lalwiLGEucGlwZXNDb3VudCx0KTt2YXIgbj0oIXR8fCExIT09dC5lbmQpJiZlIT09cHJvY2Vzcy5zdGRvdXQmJmUhPT1wcm9jZXNzLnN0ZGVycj9kOmY7ZnVuY3Rpb24gaSh0LG4pe2RlYnVnKFwib251bnBpcGVcIiksdD09PXImJm4mJiExPT09bi5oYXNVbnBpcGVkJiYobi5oYXNVbnBpcGVkPSEwLGRlYnVnKFwiY2xlYW51cFwiKSxlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixiKSxlLnJlbW92ZUxpc3RlbmVyKFwiZmluaXNoXCIscCksZS5yZW1vdmVMaXN0ZW5lcihcImRyYWluXCIsbyksZS5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsdSksZS5yZW1vdmVMaXN0ZW5lcihcInVucGlwZVwiLGkpLHIucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixkKSxyLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsZiksci5yZW1vdmVMaXN0ZW5lcihcImRhdGFcIixsKSxzPSEwLCFhLmF3YWl0RHJhaW58fGUuX3dyaXRhYmxlU3RhdGUmJiFlLl93cml0YWJsZVN0YXRlLm5lZWREcmFpbnx8bygpKX1mdW5jdGlvbiBkKCl7ZGVidWcoXCJvbmVuZFwiKSxlLmVuZCgpfWEuZW5kRW1pdHRlZD9wcm9jZXNzLm5leHRUaWNrKG4pOnIub25jZShcImVuZFwiLG4pLGUub24oXCJ1bnBpcGVcIixpKTt2YXIgbz1waXBlT25EcmFpbihyKTtlLm9uKFwiZHJhaW5cIixvKTt2YXIgcz0hMTtmdW5jdGlvbiBsKHQpe2RlYnVnKFwib25kYXRhXCIpO3ZhciBuPWUud3JpdGUodCk7ZGVidWcoXCJkZXN0LndyaXRlXCIsbiksITE9PT1uJiYoKDE9PT1hLnBpcGVzQ291bnQmJmEucGlwZXM9PT1lfHxhLnBpcGVzQ291bnQ+MSYmLTEhPT1pbmRleE9mKGEucGlwZXMsZSkpJiYhcyYmKGRlYnVnKFwiZmFsc2Ugd3JpdGUgcmVzcG9uc2UsIHBhdXNlXCIsYS5hd2FpdERyYWluKSxhLmF3YWl0RHJhaW4rKyksci5wYXVzZSgpKX1mdW5jdGlvbiB1KHQpe2RlYnVnKFwib25lcnJvclwiLHQpLGYoKSxlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIix1KSwwPT09RUVsaXN0ZW5lckNvdW50KGUsXCJlcnJvclwiKSYmZXJyb3JPckRlc3Ryb3koZSx0KX1mdW5jdGlvbiBiKCl7ZS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLHApLGYoKX1mdW5jdGlvbiBwKCl7ZGVidWcoXCJvbmZpbmlzaFwiKSxlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixiKSxmKCl9ZnVuY3Rpb24gZigpe2RlYnVnKFwidW5waXBlXCIpLHIudW5waXBlKGUpfXJldHVybiByLm9uKFwiZGF0YVwiLGwpLHByZXBlbmRMaXN0ZW5lcihlLFwiZXJyb3JcIix1KSxlLm9uY2UoXCJjbG9zZVwiLGIpLGUub25jZShcImZpbmlzaFwiLHApLGUuZW1pdChcInBpcGVcIixyKSxhLmZsb3dpbmd8fChkZWJ1ZyhcInBpcGUgcmVzdW1lXCIpLHIucmVzdW1lKCkpLGV9LFJlYWRhYmxlLnByb3RvdHlwZS51bnBpcGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPXtoYXNVbnBpcGVkOiExfTtpZigwPT09dC5waXBlc0NvdW50KXJldHVybiB0aGlzO2lmKDE9PT10LnBpcGVzQ291bnQpcmV0dXJuIGUmJmUhPT10LnBpcGVzP3RoaXM6KGV8fChlPXQucGlwZXMpLHQucGlwZXM9bnVsbCx0LnBpcGVzQ291bnQ9MCx0LmZsb3dpbmc9ITEsZSYmZS5lbWl0KFwidW5waXBlXCIsdGhpcyxyKSx0aGlzKTtpZighZSl7dmFyIGE9dC5waXBlcyxuPXQucGlwZXNDb3VudDt0LnBpcGVzPW51bGwsdC5waXBlc0NvdW50PTAsdC5mbG93aW5nPSExO2Zvcih2YXIgaT0wO2k8bjtpKyspYVtpXS5lbWl0KFwidW5waXBlXCIsdGhpcyx7aGFzVW5waXBlZDohMX0pO3JldHVybiB0aGlzfXZhciBkPWluZGV4T2YodC5waXBlcyxlKTtyZXR1cm4tMT09PWQ/dGhpczoodC5waXBlcy5zcGxpY2UoZCwxKSx0LnBpcGVzQ291bnQtPTEsMT09PXQucGlwZXNDb3VudCYmKHQucGlwZXM9dC5waXBlc1swXSksZS5lbWl0KFwidW5waXBlXCIsdGhpcyxyKSx0aGlzKX0sUmVhZGFibGUucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7dmFyIHI9U3RyZWFtLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsZSx0KSxhPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuXCJkYXRhXCI9PT1lPyhhLnJlYWRhYmxlTGlzdGVuaW5nPXRoaXMubGlzdGVuZXJDb3VudChcInJlYWRhYmxlXCIpPjAsITEhPT1hLmZsb3dpbmcmJnRoaXMucmVzdW1lKCkpOlwicmVhZGFibGVcIj09PWUmJihhLmVuZEVtaXR0ZWR8fGEucmVhZGFibGVMaXN0ZW5pbmd8fChhLnJlYWRhYmxlTGlzdGVuaW5nPWEubmVlZFJlYWRhYmxlPSEwLGEuZmxvd2luZz0hMSxhLmVtaXR0ZWRSZWFkYWJsZT0hMSxkZWJ1ZyhcIm9uIHJlYWRhYmxlXCIsYS5sZW5ndGgsYS5yZWFkaW5nKSxhLmxlbmd0aD9lbWl0UmVhZGFibGUodGhpcyk6YS5yZWFkaW5nfHxwcm9jZXNzLm5leHRUaWNrKG5SZWFkaW5nTmV4dFRpY2ssdGhpcykpKSxyfSxSZWFkYWJsZS5wcm90b3R5cGUuYWRkTGlzdGVuZXI9UmVhZGFibGUucHJvdG90eXBlLm9uLFJlYWRhYmxlLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3ZhciByPVN0cmVhbS5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIuY2FsbCh0aGlzLGUsdCk7cmV0dXJuXCJyZWFkYWJsZVwiPT09ZSYmcHJvY2Vzcy5uZXh0VGljayh1cGRhdGVSZWFkYWJsZUxpc3RlbmluZyx0aGlzKSxyfSxSZWFkYWJsZS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0PVN0cmVhbS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm5cInJlYWRhYmxlXCIhPT1lJiZ2b2lkIDAhPT1lfHxwcm9jZXNzLm5leHRUaWNrKHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nLHRoaXMpLHR9LFJlYWRhYmxlLnByb3RvdHlwZS5yZXN1bWU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVybiBlLmZsb3dpbmd8fChkZWJ1ZyhcInJlc3VtZVwiKSxlLmZsb3dpbmc9IWUucmVhZGFibGVMaXN0ZW5pbmcscmVzdW1lKHRoaXMsZSkpLGUucGF1c2VkPSExLHRoaXN9LFJlYWRhYmxlLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3JldHVybiBkZWJ1ZyhcImNhbGwgcGF1c2UgZmxvd2luZz0lalwiLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyksITEhPT10aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcmJihkZWJ1ZyhcInBhdXNlXCIpLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZz0hMSx0aGlzLmVtaXQoXCJwYXVzZVwiKSksdGhpcy5fcmVhZGFibGVTdGF0ZS5wYXVzZWQ9ITAsdGhpc30sUmVhZGFibGUucHJvdG90eXBlLndyYXA9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxyPXRoaXMuX3JlYWRhYmxlU3RhdGUsYT0hMTtmb3IodmFyIG4gaW4gZS5vbihcImVuZFwiLGZ1bmN0aW9uKCl7aWYoZGVidWcoXCJ3cmFwcGVkIGVuZFwiKSxyLmRlY29kZXImJiFyLmVuZGVkKXt2YXIgZT1yLmRlY29kZXIuZW5kKCk7ZSYmZS5sZW5ndGgmJnQucHVzaChlKX10LnB1c2gobnVsbCl9KSxlLm9uKFwiZGF0YVwiLGZ1bmN0aW9uKG4peyhkZWJ1ZyhcIndyYXBwZWQgZGF0YVwiKSxyLmRlY29kZXImJihuPXIuZGVjb2Rlci53cml0ZShuKSksci5vYmplY3RNb2RlJiZudWxsPT1uKXx8KHIub2JqZWN0TW9kZXx8biYmbi5sZW5ndGgpJiYodC5wdXNoKG4pfHwoYT0hMCxlLnBhdXNlKCkpKX0pLGUpdm9pZCAwPT09dGhpc1tuXSYmXCJmdW5jdGlvblwiPT10eXBlb2YgZVtuXSYmKHRoaXNbbl09ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGVbdF0uYXBwbHkoZSxhcmd1bWVudHMpfX0obikpO2Zvcih2YXIgaT0wO2k8a1Byb3h5RXZlbnRzLmxlbmd0aDtpKyspZS5vbihrUHJveHlFdmVudHNbaV0sdGhpcy5lbWl0LmJpbmQodGhpcyxrUHJveHlFdmVudHNbaV0pKTtyZXR1cm4gdGhpcy5fcmVhZD1mdW5jdGlvbih0KXtkZWJ1ZyhcIndyYXBwZWQgX3JlYWRcIix0KSxhJiYoYT0hMSxlLnJlc3VtZSgpKX0sdGhpc30sXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiYoUmVhZGFibGUucHJvdG90eXBlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1jcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3ImJihjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3I9cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9hc3luY19pdGVyYXRvclwiKSksY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yKHRoaXMpfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcInJlYWRhYmxlSGlnaFdhdGVyTWFya1wiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcInJlYWRhYmxlQnVmZmVyXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsXCJyZWFkYWJsZUZsb3dpbmdcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZz1lKX19KSxSZWFkYWJsZS5fZnJvbUxpc3Q9ZnJvbUxpc3QsT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcInJlYWRhYmxlTGVuZ3RoXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RofX0pLFwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmKFJlYWRhYmxlLmZyb209ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09ZnJvbSYmKGZyb209cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9mcm9tXCIpKSxmcm9tKFJlYWRhYmxlLGUsdCl9KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsOXpkSEpsWVcxZmNtVmhaR0ZpYkdVdWFuTWlYU3dpYm1GdFpYTWlPbHNpUkhWd2JHVjRJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWxKbFlXUmhZbXhsSWl3aVVtVmhaR0ZpYkdWVGRHRjBaU0lzSWtWRklpd2ljbVZ4ZFdseVpTSXNJa1YyWlc1MFJXMXBkSFJsY2lJc0lrVkZiR2x6ZEdWdVpYSkRiM1Z1ZENJc0ltVnRhWFIwWlhJaUxDSjBlWEJsSWl3aWJHbHpkR1Z1WlhKeklpd2liR1Z1WjNSb0lpd2lVM1J5WldGdElpd2lRblZtWm1WeUlpd2lUM1Z5VldsdWREaEJjbkpoZVNJc0ltZHNiMkpoYkNJc0lsVnBiblE0UVhKeVlYa2lMQ0pmZFdsdWREaEJjbkpoZVZSdlFuVm1abVZ5SWl3aVkyaDFibXNpTENKbWNtOXRJaXdpWDJselZXbHVkRGhCY25KaGVTSXNJbTlpYWlJc0ltbHpRblZtWm1WeUlpd2laR1ZpZFdjaUxDSmtaV0oxWjFWMGFXd2lMQ0prWldKMVoyeHZaeUlzSWxOMGNtbHVaMFJsWTI5a1pYSWlMQ0pqY21WaGRHVlNaV0ZrWVdKc1pWTjBjbVZoYlVGemVXNWpTWFJsY21GMGIzSWlMQ0pDZFdabVpYSk1hWE4wSWl3aVpHVnpkSEp2ZVVsdGNHd2lMQ0pmY21WeGRXbHlaU0lzSW1kbGRFaHBaMmhYWVhSbGNrMWhjbXNpTENKZmNtVnhkV2x5WlNSamIyUmxjeUlzSW1OdlpHVnpJaXdpUlZKU1gwbE9Wa0ZNU1VSZlFWSkhYMVJaVUVVaUxDSkZVbEpmVTFSU1JVRk5YMUJWVTBoZlFVWlVSVkpmUlU5R0lpd2lSVkpTWDAxRlZFaFBSRjlPVDFSZlNVMVFURVZOUlU1VVJVUWlMQ0pGVWxKZlUxUlNSVUZOWDFWT1UwaEpSbFJmUVVaVVJWSmZSVTVFWDBWV1JVNVVJaXdpWlhKeWIzSlBja1JsYzNSeWIza2lMQ0pyVUhKdmVIbEZkbVZ1ZEhNaUxDSndjbVZ3Wlc1a1RHbHpkR1Z1WlhJaUxDSmxkbVZ1ZENJc0ltWnVJaXdpWDJWMlpXNTBjeUlzSWtGeWNtRjVJaXdpYVhOQmNuSmhlU0lzSW5WdWMyaHBablFpTENKdmJpSXNJbTl3ZEdsdmJuTWlMQ0p6ZEhKbFlXMGlMQ0pwYzBSMWNHeGxlQ0lzSW5Sb2FYTWlMQ0p2WW1wbFkzUk5iMlJsSWl3aWNtVmhaR0ZpYkdWUFltcGxZM1JOYjJSbElpd2lhR2xuYUZkaGRHVnlUV0Z5YXlJc0ltSjFabVpsY2lJc0luQnBjR1Z6SWl3aWNHbHdaWE5EYjNWdWRDSXNJbVpzYjNkcGJtY2lMQ0psYm1SbFpDSXNJbVZ1WkVWdGFYUjBaV1FpTENKeVpXRmthVzVuSWl3aWMzbHVZeUlzSW01bFpXUlNaV0ZrWVdKc1pTSXNJbVZ0YVhSMFpXUlNaV0ZrWVdKc1pTSXNJbkpsWVdSaFlteGxUR2x6ZEdWdWFXNW5JaXdpY21WemRXMWxVMk5vWldSMWJHVmtJaXdpY0dGMWMyVmtJaXdpWlcxcGRFTnNiM05sSWl3aVlYVjBiMFJsYzNSeWIza2lMQ0prWlhOMGNtOTVaV1FpTENKa1pXWmhkV3gwUlc1amIyUnBibWNpTENKaGQyRnBkRVJ5WVdsdUlpd2ljbVZoWkdsdVowMXZjbVVpTENKa1pXTnZaR1Z5SWl3aVpXNWpiMlJwYm1jaUxDSmZjbVZoWkdGaWJHVlRkR0YwWlNJc0luSmxZV1JoWW14bElpd2ljbVZoWkNJc0lsOXlaV0ZrSWl3aVpHVnpkSEp2ZVNJc0lsOWtaWE4wY205NUlpd2lZMkZzYkNJc0luSmxZV1JoWW14bFFXUmtRMmgxYm1zaUxDSmhaR1JVYjBaeWIyNTBJaXdpYzJ0cGNFTm9kVzVyUTJobFkyc2lMQ0psY2lJc0luTjBZWFJsSWl3aWIyNUZiMlpEYUhWdWF5SXNJbU5vZFc1clNXNTJZV3hwWkNJc0lrOWlhbVZqZENJc0ltZGxkRkJ5YjNSdmRIbHdaVTltSWl3aWNISnZkRzkwZVhCbElpd2lZV1JrUTJoMWJtc2lMQ0ozY21sMFpTSXNJbTFoZVdKbFVtVmhaRTF2Y21VaUxDSmxiV2wwSWl3aWNIVnphQ0lzSW1WdGFYUlNaV0ZrWVdKc1pTSXNJblZ1WkdWbWFXNWxaQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWlc1MWJXVnlZV0pzWlNJc0ltZGxkQ0lzSW5ObGRDSXNJblpoYkhWbElpd2lYM1Z1WkdWemRISnZlU0lzSW5WdVpHVnpkSEp2ZVNJc0ltVnljaUlzSW1OaUlpd2lhWE5RWVhWelpXUWlMQ0p6WlhSRmJtTnZaR2x1WnlJc0ltVnVZeUlzSW5BaUxDSm9aV0ZrSWl3aVkyOXVkR1Z1ZENJc0ltUmhkR0VpTENKdVpYaDBJaXdpWTJ4bFlYSWlMQ0pOUVZoZlNGZE5JaXdpWTI5dGNIVjBaVTVsZDBocFoyaFhZWFJsY2sxaGNtc2lMQ0p1SWl3aWFHOTNUWFZqYUZSdlVtVmhaQ0lzSW1WdVpDSXNJbVZ0YVhSU1pXRmtZV0pzWlY4aUxDSndjbTlqWlhOeklpd2libVY0ZEZScFkyc2lMQ0ptYkc5M0lpd2liV0Y1WW1WU1pXRmtUVzl5WlY4aUxDSnNaVzRpTENKd2FYQmxUMjVFY21GcGJpSXNJbk55WXlJc0luVndaR0YwWlZKbFlXUmhZbXhsVEdsemRHVnVhVzVuSWl3aWMyVnNaaUlzSW14cGMzUmxibVZ5UTI5MWJuUWlMQ0p5WlhOMWJXVWlMQ0p1VW1WaFpHbHVaMDVsZUhSVWFXTnJJaXdpY21WemRXMWxYeUlzSW1aeWIyMU1hWE4wSWl3aWNtVjBJaXdpYzJocFpuUWlMQ0pxYjJsdUlpd2labWx5YzNRaUxDSmpiMjVqWVhRaUxDSmpiMjV6ZFcxbElpd2laVzVrVW1WaFpHRmliR1VpTENKbGJtUlNaV0ZrWVdKc1pVNVVJaXdpZDFOMFlYUmxJaXdpWDNkeWFYUmhZbXhsVTNSaGRHVWlMQ0ptYVc1cGMyaGxaQ0lzSW1sdVpHVjRUMllpTENKNGN5SXNJbmdpTENKcElpd2liQ0lzSW5CaGNuTmxTVzUwSWl3aWJrOXlhV2NpTENKa2IxSmxZV1FpTENKd2FYQmxJaXdpWkdWemRDSXNJbkJwY0dWUGNIUnpJaXdpWlc1a1JtNGlMQ0p6ZEdSdmRYUWlMQ0p6ZEdSbGNuSWlMQ0p2Ym1WdVpDSXNJblZ1Y0dsd1pTSXNJbTl1ZFc1d2FYQmxJaXdpZFc1d2FYQmxTVzVtYnlJc0ltaGhjMVZ1Y0dsd1pXUWlMQ0p5WlcxdmRtVk1hWE4wWlc1bGNpSXNJbTl1WTJ4dmMyVWlMQ0p2Ym1acGJtbHphQ0lzSW05dVpISmhhVzRpTENKdmJtVnljbTl5SWl3aWIyNWtZWFJoSWl3aVkyeGxZVzVsWkZWd0lpd2libVZsWkVSeVlXbHVJaXdpYjI1alpTSXNJbkJoZFhObElpd2laR1Z6ZEhNaUxDSnBibVJsZUNJc0luTndiR2xqWlNJc0ltVjJJaXdpY21Weklpd2lZV1JrVEdsemRHVnVaWElpTENKeVpXMXZkbVZCYkd4TWFYTjBaVzVsY25NaUxDSmhjSEJzZVNJc0ltRnlaM1Z0Wlc1MGN5SXNJbmR5WVhBaUxDSmZkR2hwY3lJc0ltMWxkR2h2WkNJc0ltSnBibVFpTENKVGVXMWliMndpTENKaGMzbHVZMGwwWlhKaGRHOXlJaXdpWDJaeWIyMU1hWE4wSWl3aWFYUmxjbUZpYkdVaUxDSnZjSFJ6SWwwc0ltMWhjSEJwYm1keklqb2lRVUZ2UWtFc1lVRkxRU3hKUVVGSlFTeFBRVWhLUXl4UFFVRlBReXhSUVVGVlF5eFRRVTFxUWtFc1UwRkJVME1zWTBGQlowSkJMR05CUjNwQ0xFbEJRVWxETEVkQlFVdERMRkZCUVZFc1ZVRkJWVU1zWVVGRmRrSkRMR2RDUVVGclFpeFRRVUY1UWtNc1JVRkJVME1zUjBGRGRFUXNUMEZCVDBRc1JVRkJVVVVzVlVGQlZVUXNSMEZCVFVVc1VVRlBOMEpETEU5QlFWTlFMRkZCUVZFc05rSkJTV3BDVVN4UFFVRlRVaXhSUVVGUkxGVkJRVlZSTEU5QlJUTkNReXhqUVVGblFrTXNUMEZCVDBNc1dVRkJZeXhoUVVWNlF5eFRRVUZUUXl4dlFrRkJiMEpETEVkQlF6TkNMRTlCUVU5TUxFOUJRVTlOTEV0QlFVdEVMRWRCUjNKQ0xGTkJRVk5GTEdOQlFXTkRMRWRCUTNKQ0xFOUJRVTlTTEU5QlFVOVRMRk5CUVZORUxFbEJRVkZCTEdGQlFXVlFMR05CUzJoRUxFbEJSVWxUTEUxQlJrRkRMRlZCUVZsdVFpeFJRVUZSTEZGQlMzUkNhMElzVFVGRVJVTXNWMEZCWVVFc1ZVRkJWVU1zVTBGRGFrSkVMRlZCUVZWRExGTkJRVk1zVlVGRmJrSXNZVUZMVml4SlFXTkpReXhqUVVOQlF5eHJRMEZEUVZJc1MwRm9Ra0ZUTEZkQlFXRjJRaXhSUVVGUkxHdERRVVZ5UW5kQ0xGbEJRV040UWl4UlFVRlJMRGhDUVVWMFFubENMRk5CUVZkNlFpeFJRVUZSTERSQ1FVTnVRakJDTEdsQ1FVRnRRa1FzVTBGQlUwTXNhVUpCUlRWQ1F5eGxRVUZwUWpOQ0xGRkJRVkVzWVVGQllUUkNMRTFCUTNSRFF5eHhRa0ZCZFVKR0xHVkJRV1ZGTEhGQ1FVTjBRME1zTUVKQlFUUkNTQ3hsUVVGbFJ5d3dRa0ZETTBORExESkNRVUUyUWtvc1pVRkJaVWtzTWtKQlF6VkRReXh0UTBGQmNVTk1MR1ZCUVdWTExHMURRVTk0UkdoRExGRkJRVkVzVjBGQlVrRXNRMEZCYjBKSUxGTkJRVlZWTEZGQlJUbENMRWxCUVVrd1FpeGxRVUZwUWxRc1dVRkJXVk1zWlVGRE4wSkRMR0ZCUVdVc1EwRkJReXhSUVVGVExGRkJRVk1zVlVGQlZ5eFJRVUZUTEZWQlJURkVMRk5CUVZORExHZENRVUZuUW1oRExFVkJRVk5wUXl4RlFVRlBReXhIUVVkMlF5eEhRVUYxUXl4dFFrRkJOVUpzUXl4RlFVRlJaME1zWjBKQlFXZERMRTlCUVU5b1F5eEZRVUZSWjBNc1owSkJRV2RDUXl4RlFVRlBReXhIUVV0d1JteERMRVZCUVZGdFF5eFRRVUZaYmtNc1JVRkJVVzFETEZGQlFWRkdMRWRCUVhWRFJ5eE5RVUZOUXl4UlFVRlJja01zUlVGQlVXMURMRkZCUVZGR0xFbEJRVk5xUXl4RlFVRlJiVU1zVVVGQlVVWXNSMEZCVDBzc1VVRkJVVW9zUjBGQlUyeERMRVZCUVZGdFF5eFJRVUZSUml4SFFVRlRMRU5CUVVORExFVkJRVWxzUXl4RlFVRlJiVU1zVVVGQlVVWXNTVUZCTlVwcVF5eEZRVUZSZFVNc1IwRkJSMDRzUlVGQlQwTXNSMEZIY2tVc1UwRkJVM1pETEdOQlFXTTJReXhGUVVGVFF5eEZRVUZSUXl4SFFVTjBRMjVFTEU5QlFWTkJMRkZCUVZWTkxGRkJRVkVzYjBKQlF6TkNNa01zUlVGQlZVRXNSMEZCVnl4SFFVMUhMR3RDUVVGaVJTeEpRVUYzUWtFc1JVRkJWMFFzWVVGQmEwSnNSQ3hSUVVkb1JXOUVMRXRCUVV0RExHRkJRV1ZLTEVWQlFWRkpMRmRCUTNoQ1JpeEpRVUZWUXl4TFFVRkxReXhYUVVGaFJDeExRVUZMUXl4alFVRm5Ra29zUlVGQlVVc3NiMEpCUnpkRVJpeExRVUZMUnl4alFVRm5RblpDTEdsQ1FVRnBRbTlDTEV0QlFVMUlMRVZCUVZNc2QwSkJRWGxDUlN4SFFVazVSVU1zUzBGQlMwa3NUMEZCVXl4SlFVRkpNMElzVjBGRGJFSjFRaXhMUVVGTGVFTXNUMEZCVXl4RlFVTmtkME1zUzBGQlMwc3NUVUZCVVN4TFFVTmlUQ3hMUVVGTFRTeFhRVUZoTEVWQlEyeENUaXhMUVVGTFR5eFJRVUZWTEV0QlEyWlFMRXRCUVV0UkxFOUJRVkVzUlVGRFlsSXNTMEZCUzFNc1dVRkJZU3hGUVVOc1FsUXNTMEZCUzFVc1UwRkJWU3hGUVV0bVZpeExRVUZMVnl4TlFVRlBMRVZCUjFwWUxFdEJRVXRaTEdOQlFXVXNSVUZEY0VKYUxFdEJRVXRoTEdsQ1FVRnJRaXhGUVVOMlFtSXNTMEZCUzJNc2JVSkJRVzlDTEVWQlEzcENaQ3hMUVVGTFpTeHBRa0ZCYTBJc1JVRkRka0ptTEV0QlFVdG5RaXhSUVVGVExFVkJSV1JvUWl4TFFVRkxhVUlzVjBGQmEwTXNTVUZCZEVKd1FpeEZRVUZSYjBJc1ZVRkZla0pxUWl4TFFVRkxhMElzWTBGQlowSnlRaXhGUVVGUmNVSXNXVUZGTjBKc1FpeExRVUZMYlVJc1YwRkJXU3hGUVVscVFtNUNMRXRCUVV0dlFpeG5Ra0ZCYTBKMlFpeEZRVUZSZFVJc2FVSkJRVzFDTEU5QlJXeEVjRUlzUzBGQlMzRkNMRmRCUVdFc1JVRkZiRUp5UWl4TFFVRkxjMElzWVVGQll5eEZRVU51UW5SQ0xFdEJRVXQxUWl4UlFVRlZMRXRCUTJaMlFpeExRVUZMZDBJc1UwRkJWeXhMUVVWYU0wSXNSVUZCVVRKQ0xGZEJRMHhxUkN4blFrRkJaVUVzWTBGQlowSnlRaXhSUVVGUkxHMUNRVUZ0UW5GQ0xHVkJReTlFZVVJc1MwRkJTM1ZDTEZGQlFWVXNTVUZCU1doRUxHTkJRV056UWl4RlFVRlJNa0lzVlVGRGVrTjRRaXhMUVVGTGQwSXNVMEZCVnpOQ0xFVkJRVkV5UWl4VlFVazFRaXhUUVVGVGVrVXNVMEZCVXpoRExFZEJSV2hDTEVkQlJFRnFSQ3hQUVVGVFFTeFJRVUZWVFN4UlFVRlJMSE5DUVVOeVFqaERMR2RDUVVGblFtcEVMRlZCUVZjc1QwRkJUeXhKUVVGSlFTeFRRVUZUT0VNc1IwRkhja1FzU1VGQlNVVXNSVUZCVjBNc1owSkJRV2RDY0VRc1QwRkRMMEp2UkN4TFFVRkxlVUlzWlVGQmFVSXNTVUZCU1hwRkxHTkJRV00yUXl4RlFVRlRSeXhMUVVGTlJDeEhRVVYyUkVNc1MwRkJTekJDTEZWQlFWY3NSVUZGV2pkQ0xFbEJRekJDTEcxQ1FVRnFRa0VzUlVGQlVUaENMRTlCUVhGQ00wSXNTMEZCU3pSQ0xFMUJRVkV2UWl4RlFVRlJPRUlzVFVGRE9VSXNiVUpCUVhCQ09VSXNSVUZCVVdkRExGVkJRWGRDTjBJc1MwRkJTemhDTEZOQlFWZHFReXhGUVVGUlowTXNWVUZIY2tWd1JTeFBRVUZQYzBVc1MwRkJTeTlDTEUxQmFVVmtMRk5CUVZOblF5eHBRa0ZCYVVKc1F5eEZRVUZSTDBJc1JVRkJUM2xFTEVWQlFWVlRMRVZCUVZsRExFZEJRemRFT1VRc1RVRkJUU3h0UWtGQmIwSk1MRWRCUXpGQ0xFbEJUVTF2UlN4RlFVNUdReXhGUVVGUmRFTXNSVUZCVHpKQ0xHVkJSVzVDTEVkQlFXTXNUMEZCVmpGRUxFVkJRMFp4UlN4RlFVRk5NVUlzVTBGQlZTeEZRVU5vUWpKQ0xGZEJRVmQyUXl4RlFVRlJjME1zVVVGTGJrSXNSMEZHUzBZc1NVRkJaMEpETEVWQlFVdEhMR0ZCUVdGR0xFVkJRVTl5UlN4SlFVVXhRMjlGTEVWQlEwWm9SQ3hsUVVGbFZ5eEZRVUZSY1VNc1VVRkRiRUlzUjBGQlNVTXNSVUZCVFc1RExGbEJRV05zUXl4SFFVRlRRU3hGUVVGTlVDeFBRVUZUTEVWQlMzSkVMRWRCU25GQ0xHbENRVUZXVHl4SFFVRjFRbkZGTEVWQlFVMXVReXhaUVVGamMwTXNUMEZCVDBNc1pVRkJaWHBGTEV0QlFWZE1MRTlCUVU4clJTeFpRVU0xUmpGRkxFVkJRVkZFTEc5Q1FVRnZRa01zU1VGSE1VSnJSU3hGUVVORlJ5eEZRVUZOTTBJc1YwRkJXWFJDTEdWQlFXVlhMRVZCUVZFc1NVRkJTVm9zYjBOQlFUSkRkMFFzVTBGQlV6VkRMRVZCUVZGelF5eEZRVUZQY2tVc1IwRkJUeXhSUVVOMFNDeEhRVUZKY1VVc1JVRkJUVFZDTEUxQlEyWnlRaXhsUVVGbFZ5eEZRVUZSTEVsQlFVbGtMQ3RDUVVOMFFpeERRVUZCTEVkQlFVbHZSQ3hGUVVGTmFrSXNWVUZEWml4UFFVRlBMRVZCUlZCcFFpeEZRVUZOTVVJc1UwRkJWU3hGUVVWYU1FSXNSVUZCVFdJc1ZVRkJXVU1zUjBGRGNFSjZSQ3hGUVVGUmNVVXNSVUZCVFdJc1VVRkJVVzlDTEUxQlFVMDFSU3hIUVVONFFuRkZMRVZCUVUxdVF5eFpRVUVyUWl4SlFVRnFRbXhETEVWQlFVMVFMRTlCUVdOclJpeFRRVUZUTlVNc1JVRkJVWE5ETEVWQlFVOXlSU3hIUVVGUExFZEJRVmsyUlN4alFVRmpPVU1zUlVGQlVYTkRMRWxCUlRkSFRTeFRRVUZUTlVNc1JVRkJVWE5ETEVWQlFVOXlSU3hIUVVGUExGRkJSM3BDYTBVc1NVRkRWa2NzUlVGQlRURkNMRk5CUVZVc1JVRkRhRUpyUXl4alFVRmpPVU1zUlVGQlVYTkRMRWxCVHpGQ0xFOUJRVkZCTEVWQlFVMDFRaXhSUVVGVk5FSXNSVUZCVFRWRkxFOUJRVk0wUlN4RlFVRk5ha01zWlVGQmEwTXNTVUZCYWtKcFF5eEZRVUZOTlVVc1VVRkhkRVVzVTBGQlUydEdMRk5CUVZNMVF5eEZRVUZSYzBNc1JVRkJUM0pGTEVWQlFVOXJSU3hIUVVOc1EwY3NSVUZCVFRkQ0xGTkJRVFJDTEVsQlFXcENOa0lzUlVGQlRUVkZMRk5CUVdsQ05FVXNSVUZCVFhwQ0xFMUJRMmhFZVVJc1JVRkJUV1lzVjBGQllTeEZRVU51UW5aQ0xFVkJRVThyUXl4TFFVRkxMRTlCUVZFNVJTeExRVWR3UW5GRkxFVkJRVTAxUlN4UlFVRlZORVVzUlVGQlRXNURMRmRCUVdFc1JVRkJTV3hETEVWQlFVMVFMRTlCUTNwRGVVVXNSVUZCV1Vjc1JVRkJUV2hETEU5QlFVOVVMRkZCUVZFMVFpeEhRVUZaY1VVc1JVRkJUV2hETEU5QlFVOHdReXhMUVVGTEwwVXNSMEZETDBSeFJTeEZRVUZOZUVJc1kwRkJZMjFETEdGQlFXRnFSQ3hKUVVkMlF6aERMR05CUVdNNVF5eEZRVUZSYzBNc1IwRkhlRUlzVTBGQlUwVXNZVUZCWVVZc1JVRkJUM0pGTEVkQlF6TkNMRWxCUVVsdlJTeEZRVTFLTEU5QlNrdHNSU3hqUVVGalJpeEpRVUV5UWl4cFFrRkJWa0VzVVVGQlowTnBSaXhKUVVGV2FrWXNSMEZCZDBKeFJTeEZRVUZOYmtNc1lVRkRkRVpyUXl4RlFVRkxMRWxCUVVsd1JDeHhRa0ZCY1VJc1VVRkJVeXhEUVVGRExGTkJRVlVzVTBGQlZTeGpRVUZsYUVJc1NVRkhkRVZ2UlN4RlFXcEpWRWtzVDBGQlQxVXNaVUZCWld4SExGTkJRVk13Uml4VlFVRlhMRmxCUVdFc1EwRkpja1JUTEZsQlFWa3NSVUZEV2tNc1NVRkJTeXhYUVVOSUxGbEJRVFJDU0N4SlFVRjRRbWhFTEV0QlFVdDVRaXhuUWtGSlJucENMRXRCUVV0NVFpeGxRVUZsVGl4WFFVVTNRbWxETEVsQlFVc3NVMEZCWVVNc1IwRkhXSEpFTEV0QlFVdDVRaXhwUWtGTlZucENMRXRCUVV0NVFpeGxRVUZsVGl4VlFVRlphME1zVFVGSGNFTjBSeXhUUVVGVE1FWXNWVUZCVlZvc1VVRkJWVzVFTEZsQlFWbHRSQ3hSUVVONlF6bEZMRk5CUVZNd1JpeFZRVUZWWVN4WFFVRmhOVVVzV1VGQldUWkZMRlZCUlRWRGVFY3NVMEZCVXpCR0xGVkJRVlZZTEZOQlFWY3NVMEZCVlRCQ0xFVkJRVXRETEVkQlF6TkRRU3hGUVVGSFJDeEpRVTlNZWtjc1UwRkJVekJHTEZWQlFWVkxMRXRCUVU4c1UwRkJWUzlGTEVWQlFVOTVSQ3hIUVVONlF5eEpRVU5KVlN4RlFVUkJSU3hGUVVGUmNFTXNTMEZCUzNsQ0xHVkJhMEpxUWl4UFFXWkxWeXhGUVVGTmJrTXNWMEZaVkdsRExFZEJRV2xDTEVWQldFa3NhVUpCUVZadVJTeExRVU5VZVVRc1JVRkJWMEVzUjBGQldWa3NSVUZCVFdoQ0xHMUNRVVZhWjBJc1JVRkJUVm9zVjBGRGNrSjZSQ3hGUVVGUlRDeFBRVUZQVFN4TFFVRkxSQ3hGUVVGUGVVUXNSMEZETTBKQkxFVkJRVmNzU1VGSFlsVXNSMEZCYVVJc1IwRk5aRVlzYVVKQlFXbENhRU1zUzBGQlRXcERMRVZCUVU5NVJDeEhRVUZWTEVWQlFVOVZMRWxCU1hoRWJrWXNVMEZCVXpCR0xGVkJRVlU1UXl4UlFVRlZMRk5CUVZVMVFpeEhRVU55UXl4UFFVRlBhVVVzYVVKQlFXbENhRU1zUzBGQlRXcERMRVZCUVU4c1RVRkJUU3hIUVVGTkxFbEJlVVZ1UkdoQ0xGTkJRVk13Uml4VlFVRlZhVUlzVTBGQlZ5eFhRVU0xUWl4UFFVRjFReXhKUVVGb1F6RkVMRXRCUVV0NVFpeGxRVUZsYkVJc1UwRkpOMEo0UkN4VFFVRlRNRVlzVlVGQlZXdENMRmxCUVdNc1UwRkJWVU1zUjBGRGNFTnlSaXhuUWtGQlpVRXNZMEZCWjBKeVFpeFJRVUZSTEcxQ1FVRnRRbkZDTEdWQlF5OUVMRWxCUVVsblJDeEZRVUZWTEVsQlFVbG9SQ3hqUVVGamNVWXNSMEZEYUVNMVJDeExRVUZMZVVJc1pVRkJaVVlzVVVGQlZVRXNSVUZGT1VKMlFpeExRVUZMZVVJc1pVRkJaVVFzVTBGQlYzaENMRXRCUVV0NVFpeGxRVUZsUml4UlFVRlJReXhUUVVzelJDeEpRVWhCTEVsQlFVbHhReXhGUVVGSk4wUXNTMEZCUzNsQ0xHVkJRV1Z5UWl4UFFVRlBNRVFzUzBGREwwSkRMRVZCUVZVc1IwRkZSQ3hQUVVGT1JpeEhRVU5NUlN4SFFVRlhlRU1zUlVGQlVXOUNMRTFCUVUxclFpeEZRVUZGUnl4TlFVTXpRa2dzUlVGQlNVRXNSVUZCUlVrc1MwRlBVaXhQUVVwQmFrVXNTMEZCUzNsQ0xHVkJRV1Z5UWl4UFFVRlBPRVFzVVVGRldDeExRVUZhU0N4SFFVRm5RaTlFTEV0QlFVdDVRaXhsUVVGbGNrSXNUMEZCVHpCRExFdEJRVXRwUWl4SFFVTndSQzlFTEV0QlFVdDVRaXhsUVVGbGFrVXNUMEZCVTNWSExFVkJRVkYyUnl4UFFVTTVRbmRETEUxQlNWUXNTVUZCU1cxRkxGRkJRVlVzVjBGRlpDeFRRVUZUUXl4M1FrRkJkMEpETEVkQlowSXZRaXhQUVdaSlFTeEhRVUZMUml4UlFVVlFSU3hGUVVGSlJpeFRRVWxLUlN4SlFVTkJRU3hIUVVGTFFTeEpRVUZOTEVWQlExaEJMRWRCUVV0QkxFbEJRVTBzUlVGRFdFRXNSMEZCUzBFc1NVRkJUU3hGUVVOWVFTeEhRVUZMUVN4SlFVRk5MRVZCUTFoQkxFZEJRVXRCTEVsQlFVMHNSMEZEV0VFc1MwRkhTMEVzUlVGTFZDeFRRVUZUUXl4alFVRmpSQ3hGUVVGSGFrTXNSMEZEZUVJc1QwRkJTV2xETEVkQlFVc3NSMEZCYzBJc1NVRkJha0pxUXl4RlFVRk5OVVVzVVVGQlowSTBSU3hGUVVGTk5VSXNUVUZCWXl4RlFVTndSRFJDTEVWQlFVMXVReXhYUVVGdFFpeEZRVVY2UW05RkxFZEJRVTFCTEVWQlJVcHFReXhGUVVGTk4wSXNVMEZCVnpaQ0xFVkJRVTAxUlN4UFFVRmxORVVzUlVGQlRXaERMRTlCUVU4d1JDeExRVUZMUlN4TFFVRkxlRWNzVDBGQmJVSTBSU3hGUVVGTk5VVXNVVUZKZUVZMlJ5eEZRVUZKYWtNc1JVRkJUV3BETEdkQ1FVRmxhVU1zUlVGQlRXcERMR05CUVdkQ2FVVXNkMEpCUVhkQ1F5eEpRVU4yUlVFc1IwRkJTMnBETEVWQlFVMDFSU3hQUVVGbE5rY3NSVUZGZWtKcVF5eEZRVUZOTlVJc1RVRkxTalJDTEVWQlFVMDFSU3hSUVVwWU5FVXNSVUZCVFhoQ0xHTkJRV1VzUlVGRFpDeEpRWE5IV0N4VFFVRlRlVUlzVjBGQlYzWkRMRVZCUVZGelF5eEhRVVV4UWl4SFFVUkJhRVVzVFVGQlRTeGxRVU5HWjBVc1JVRkJUVFZDTEUxQlFWWXNRMEZGUVN4SFFVRkpORUlzUlVGQlRXSXNVVUZCVXl4RFFVTnFRaXhKUVVGSmVFUXNSVUZCVVhGRkxFVkJRVTFpTEZGQlFWRm5SQ3hOUVVWMFFuaEhMRWRCUVZOQkxFVkJRVTFRTEZOQlEycENORVVzUlVGQlRXaERMRTlCUVU4d1F5eExRVUZMTDBVc1IwRkRiRUp4UlN4RlFVRk5OVVVzVVVGQlZUUkZMRVZCUVUxdVF5eFhRVUZoTEVWQlFVbHNReXhGUVVGTlVDeFJRVWxxUkRSRkxFVkJRVTAxUWl4UFFVRlJMRVZCUlZZMFFpeEZRVUZOZWtJc1MwRkpVbTlETEdGQlFXRnFSQ3hKUVVkaWMwTXNSVUZCVFhoQ0xHTkJRV1VzUlVGRmFFSjNRaXhGUVVGTmRrSXNhMEpCUTFSMVFpeEZRVUZOZGtJc2FVSkJRV3RDTEVWQlEzaENNa1FzWTBGQll6RkZMRTFCVVhCQ0xGTkJRVk5wUkN4aFFVRmhha1FzUjBGRGNFSXNTVUZCU1hORExFVkJRVkYwUXl4RlFVRlBNa0lzWlVGRGJrSnlSQ3hOUVVGTkxHVkJRV2RDWjBVc1JVRkJUWGhDTEdGQlFXTjNRaXhGUVVGTmRrSXNhVUpCUTJoRWRVSXNSVUZCVFhoQ0xHTkJRV1VzUlVGRmFFSjNRaXhGUVVGTmRrSXNhMEpCUTFSNlF5eE5RVUZOTEdWQlFXZENaMFVzUlVGQlRUZENMRk5CUXpWQ05rSXNSVUZCVFhaQ0xHbENRVUZyUWl4RlFVTjRRalJFTEZGQlFWRkRMRk5CUVZOR0xHTkJRV1V4UlN4SlFVbHdReXhUUVVGVE1FVXNZMEZCWXpGRkxFZEJRM0pDTEVsQlFVbHpReXhGUVVGUmRFTXNSVUZCVHpKQ0xHVkJRMjVDY2tRc1RVRkJUU3huUWtGQmFVSm5SU3hGUVVGTmFrSXNWVUZCVjJsQ0xFVkJRVTAxUlN4UFFVRlJORVVzUlVGQlRUVkNMRTlCUlhaRU5FSXNSVUZCVFdwQ0xGbEJRV05wUWl4RlFVRk5OVVVzVTBGQlZUUkZMRVZCUVUwMVFpeFJRVU0zUTFZc1JVRkJUeXRETEV0QlFVc3NXVUZEV2xRc1JVRkJUWFpDTEdsQ1FVRnJRaXhIUVZNeFFuVkNMRVZCUVUxNFFpeGpRVUZuUW5kQ0xFVkJRVTAzUWl4VlFVRlpOa0lzUlVGQlRUVkNMRTlCUVZNMFFpeEZRVUZOTlVVc1VVRkJWVFJGTEVWQlFVMXFReXhqUVVNM1JYZEZMRXRCUVVzM1JTeEhRVk5RTEZOQlFWTTRReXhqUVVGak9VTXNSVUZCVVhORExFZEJRM2hDUVN4RlFVRk5aQ3hqUVVOVVl5eEZRVUZOWkN4aFFVRmpMRVZCUTNCQ2JVUXNVVUZCVVVNc1UwRkJVMFVzWlVGQlowSTVSU3hGUVVGUmMwTXNTVUZKTjBNc1UwRkJVM2RETEdWQlFXVTVSU3hGUVVGUmMwTXNSMEYzUWpsQ0xFMUJRVkZCTEVWQlFVMHhRaXhWUVVGWk1FSXNSVUZCVFRWQ0xGRkJRVlUwUWl4RlFVRk5OVVVzVDBGQlV6UkZMRVZCUVUxcVF5eGxRVUZwUW1sRExFVkJRVTAzUWl4VFFVRTBRaXhKUVVGcVFqWkNMRVZCUVUwMVJTeFRRVUZsTEVOQlEzQklMRWxCUVVseFNDeEZRVUZOZWtNc1JVRkJUVFZGTEU5QlIyaENMRWRCUmtGWkxFMUJRVTBzZDBKQlEwNHdRaXhGUVVGUE5rSXNTMEZCU3l4SFFVTlNhMFFzU1VGQlVYcERMRVZCUVUwMVJTeFBRVU5vUWl4TlFVZEtORVVzUlVGQlRXUXNZVUZCWXl4RlFXZEtkRUlzVTBGQlUzZEVMRmxCUVZsRExFZEJRMjVDTEU5QlFVOHNWMEZEVEN4SlFVRkpNME1zUlVGQlVUSkRMRVZCUVVsMFJDeGxRVU5vUW5KRUxFMUJRVTBzWTBGQlpXZEZMRVZCUVUxbUxGbEJRM1pDWlN4RlFVRk5aaXhaUVVGWlpTeEZRVUZOWml4aFFVVklMRWxCUVhKQ1pTeEZRVUZOWml4WlFVRnZRbXBGTEdkQ1FVRm5RakpJTEVWQlFVc3NWVUZEYWtRelF5eEZRVUZOTjBJc1UwRkJWU3hGUVVOb1FtOUZMRXRCUVV0SkxFdEJjVWhZTEZOQlFWTkRMSGRDUVVGM1FrTXNSMEZETDBJc1NVRkJTVGRETEVWQlFWRTJReXhGUVVGTGVFUXNaVUZEYWtKWExFVkJRVTEwUWl4clFrRkJiMEp0UlN4RlFVRkxReXhqUVVGakxGbEJRV01zUlVGRmRrUTVReXhGUVVGTmNrSXNhMEpCUVc5Q2NVSXNSVUZCVFhCQ0xFOUJSMnhEYjBJc1JVRkJUVGRDTEZOQlFWVXNSVUZEVURCRkxFVkJRVXRETEdOQlFXTXNVVUZCVlN4SFFVTjBRMFFzUlVGQlMwVXNVMEZKVkN4VFFVRlRReXhwUWtGQmFVSklMRWRCUTNoQ04wY3NUVUZCVFN3MFFrRkRUalpITEVWQlFVdDBSQ3hMUVVGTExFZEJjVUphTEZOQlFWTjNSQ3hQUVVGUGNrWXNSVUZCVVhORExFZEJRMnBDUVN4RlFVRk5ja0lzYTBKQlExUnhRaXhGUVVGTmNrSXNhVUpCUVd0Q0xFVkJRM2hDTUVRc1VVRkJVVU1zVTBGQlUxY3NVVUZCVTNaR0xFVkJRVkZ6UXl4SlFVbDBReXhUUVVGVGFVUXNVVUZCVVhaR0xFVkJRVkZ6UXl4SFFVTjJRbWhGTEUxQlFVMHNVMEZCVldkRkxFVkJRVTB4UWl4VFFVVnFRakJDTEVWQlFVMHhRaXhUUVVOVVdpeEZRVUZQTmtJc1MwRkJTeXhIUVVka1V5eEZRVUZOY2tJc2FVSkJRV3RDTEVWQlEzaENha0lzUlVGQlR5dERMRXRCUVVzc1ZVRkRXamhDTEV0QlFVczNSU3hIUVVORWMwTXNSVUZCVFRkQ0xGVkJRVmsyUWl4RlFVRk5NVUlzVTBGQlUxb3NSVUZCVHpaQ0xFdEJRVXNzUjBGblFtNUVMRk5CUVZOblJDeExRVUZMTjBVc1IwRkRXaXhKUVVGSmMwTXNSVUZCVVhSRExFVkJRVTh5UWl4bFFVZHVRaXhKUVVaQmNrUXNUVUZCVFN4UFFVRlJaMFVzUlVGQlRUZENMRk5CUldJMlFpeEZRVUZOTjBJc1UwRkJOa0lzVDBGQmJFSlVMRVZCUVU4MlFpeFZRVFJJYWtNc1UwRkJVekpFTEZOQlFWTnFRaXhGUVVGSGFrTXNSMEZGYmtJc1QwRkJjVUlzU1VGQmFrSkJMRVZCUVUwMVJTeFBRVUZ4UWl4TlFVVXpRalJGTEVWQlFVMXVReXhYUVVGWmMwWXNSVUZCVFc1RUxFVkJRVTFvUXl4UFFVRlBiMFlzVTBGQmEwSnVRaXhIUVVGTFFTeEhRVUZMYWtNc1JVRkJUVFZGTEZGQlJYUkVLMGdzUlVGQlptNUVMRVZCUVUxaUxGRkJRV1ZoTEVWQlFVMW9ReXhQUVVGUGNVWXNTMEZCU3l4SlFVRnhReXhKUVVGNFFuSkVMRVZCUVUxb1F5eFBRVUZQTlVNc1QwRkJiMEkwUlN4RlFVRk5hRU1zVDBGQlQzTkdMRkZCUVcxQ2RFUXNSVUZCVFdoRExFOUJRVTkxUml4UFFVRlBka1FzUlVGQlRUVkZMRkZCUTI1S05FVXNSVUZCVFdoRExFOUJRVTg0UkN4VFFVZGljVUlzUlVGQlRXNUVMRVZCUVUxb1F5eFBRVUZQZDBZc1VVRkJVWFpDTEVWQlFVZHFReXhGUVVGTllpeFRRVVV2UW1kRkxFZEJWRkFzU1VGQlNVRXNSVUZaVGl4VFFVRlRUU3haUVVGWkwwWXNSMEZEYmtJc1NVRkJTWE5ETEVWQlFWRjBReXhGUVVGUE1rSXNaVUZEYmtKeVJDeE5RVUZOTEdOQlFXVm5SU3hGUVVGTk0wSXNXVUZGZEVJeVFpeEZRVUZOTTBJc1lVRkRWREpDTEVWQlFVMDFRaXhQUVVGUkxFVkJRMlJwUlN4UlFVRlJReXhUUVVGVGIwSXNZMEZCWlRGRUxFVkJRVTkwUXl4SlFVa3pReXhUUVVGVFowY3NZMEZCWXpGRUxFVkJRVTkwUXl4SFFVYzFRaXhIUVVaQk1VSXNUVUZCVFN4blFrRkJhVUpuUlN4RlFVRk5NMElzVjBGQldUSkNMRVZCUVUwMVJTeFRRVVV4UXpSRkxFVkJRVTB6UWl4WlFVRXJRaXhKUVVGcVFqSkNMRVZCUVUwMVJTeFRRVU0zUWpSRkxFVkJRVTB6UWl4WlFVRmhMRVZCUTI1Q1dDeEZRVUZQTkVJc1ZVRkJWeXhGUVVOc1FqVkNMRVZCUVU4clF5eExRVUZMTEU5QlJWSlVMRVZCUVUxc1FpeGhRVUZoTEVOQlIzSkNMRWxCUVVrMlJTeEZRVUZUYWtjc1JVRkJUMnRITEdsQ1FVVm1SQ3hIUVVGVlFTeEZRVUZQTjBVc1lVRkJaVFpGTEVWQlFVOUZMRmRCUXpGRGJrY3NSVUZCVHl0Q0xGZEJaMEptTEZOQlFWTnhSU3hSUVVGUlF5eEZRVUZKUXl4SFFVTnVRaXhKUVVGTExFbEJRVWxETEVWQlFVa3NSVUZCUjBNc1JVRkJTVWdzUlVGQlJ6TkpMRTlCUVZFMlNTeEZRVUZKUXl4RlFVRkhSQ3hKUVVOd1F5eEhRVUZKUml4RlFVRkhSU3hMUVVGUFJDeEZRVUZITEU5QlFVOURMRVZCUnpGQ0xFOUJRVkVzUlVFemRFSldkRW9zVTBGQlV6QkdMRlZCUVZWa0xFdEJRVThzVTBGQlZUQkRMRWRCUTJ4RGFrY3NUVUZCVFN4UFFVRlJhVWNzUjBGRFpFRXNSVUZCU1d0RExGTkJRVk5zUXl4RlFVRkhMRWxCUTJoQ0xFbEJRVWxxUXl4RlFVRlJjRU1zUzBGQlMzbENMR1ZCUTJJclJTeEZRVUZSYmtNc1JVRkxXaXhIUVVwVkxFbEJRVTVCTEVsQlFWTnFReXhGUVVGTmRrSXNhVUpCUVd0Q0xFZEJTVE5DTEVsQlFVNTNSQ3hIUVVGWGFrTXNSVUZCVFhoQ0xHZENRVUV3UXl4SlFVRjRRbmRDTEVWQlFVMXFReXhqUVVGelFtbERMRVZCUVUwMVJTeFJRVUZWTkVVc1JVRkJUV3BETEdOQlFXZENhVU1zUlVGQlRUVkZMRTlCUVZNc1NVRkJUVFJGTEVWQlFVMDFRaXhQUVVkc1NTeFBRVVpCY0VNc1RVRkJUU3h4UWtGQmMwSm5SU3hGUVVGTk5VVXNUMEZCVVRSRkxFVkJRVTAxUWl4UFFVTXpRaXhKUVVGcVFqUkNMRVZCUVUwMVJTeFJRVUZuUWpSRkxFVkJRVTAxUWl4TlFVRlBjVVlzV1VGQldUZEdMRTFCUVZjclF5eGhRVUZoTDBNc1RVRkRjRVVzUzBGTFZDeEhRVUZWTEV0QlJsWnhSU3hGUVVGSlF5eGpRVUZqUkN4RlFVRkhha01zUzBGRlRrRXNSVUZCVFRWQ0xFMUJSVzVDTEU5QlJIRkNMRWxCUVdwQ05FSXNSVUZCVFRWRkxGRkJRV054U1N4WlFVRlpOMFlzVFVGRE4wSXNTMEY1UWxRc1NVRTBRa2wxUml4RlFUVkNRV3RDTEVWQlFWTnlSU3hGUVVGTmVFSXNZVUZuUkc1Q0xFOUJMME5CZUVNc1RVRkJUU3huUWtGQmFVSnhTU3hKUVVWR0xFbEJRV3BDY2tVc1JVRkJUVFZGTEZGQlFXZENORVVzUlVGQlRUVkZMRTlCUVZNMlJ5eEZRVUZKYWtNc1JVRkJUV3BETEdkQ1FVVnFSQzlDTEUxQlFVMHNOa0pCUkU1eFNTeEhRVUZUTEVkQlRWQnlSU3hGUVVGTk5VSXNUMEZCVXpSQ0xFVkJRVTB4UWl4UlFVVjJRblJETEUxQlFVMHNiVUpCUkU1eFNTeEhRVUZUTEVkQlJVRkJMRWxCUTFSeVNTeE5RVUZOTEZkQlEwNW5SU3hGUVVGTk1VSXNVMEZCVlN4RlFVTm9RakJDTEVWQlFVMTZRaXhOUVVGUExFVkJSVkVzU1VGQmFrSjVRaXhGUVVGTk5VVXNVMEZCWXpSRkxFVkJRVTE0UWl4alFVRmxMRWRCUlRkRFdpeExRVUZMTkVJc1RVRkJUVkVzUlVGQlRXcERMR1ZCUldwQ2FVTXNSVUZCVFhwQ0xFMUJRVThzUlVGSFVubENMRVZCUVUweFFpeFZRVUZUTWtRc1JVRkJTVU1zWTBGQlkydERMRVZCUVU5d1JTeExRVTF1UXl4UlFVWkViVVFzUlVGQlVHeENMRVZCUVVrc1JVRkJVMmxDTEZOQlFWTnFRaXhGUVVGSGFrTXNSMEZCYTBJc1QwRkhOME5CTEVWQlFVMTRRaXhoUVVGbGQwSXNSVUZCVFRWRkxGRkJRVlUwUlN4RlFVRk5ha01zWTBGRE0wTnJSU3hGUVVGSkxFbEJSVXBxUXl4RlFVRk5OVVVzVVVGQlZUWkhMRVZCUTJoQ2FrTXNSVUZCVFdZc1YwRkJZU3hIUVVkQkxFbEJRV3BDWlN4RlFVRk5OVVVzVTBGSFNEUkZMRVZCUVUwMVFpeFJRVUZQTkVJc1JVRkJUWGhDTEdOQlFXVXNSMEZGYmtNMFJpeEpRVUZWYmtNc1IwRkJTMnBETEVWQlFVMDFRaXhQUVVGUGNVWXNXVUZCV1RkR0xFOUJSMnhETEU5QlFWSjFSaXhIUVVGamRrWXNTMEZCU3paRExFdEJRVXNzVDBGQlVUQkRMRWRCUXpkQ1FTeEhRWGRJVkhoSkxGTkJRVk13Uml4VlFVRlZZaXhOUVVGUkxGTkJRVlY1UXl4SFFVTnVRMnhHTEdWQlFXVmhMRXRCUVUwc1NVRkJTV1lzTWtKQlFUSkNMR0ZCUjNSRWJFTXNVMEZCVXpCR0xGVkJRVlZwUlN4TFFVRlBMRk5CUVZWRExFVkJRVTFETEVkQlEzaERMRWxCUVVrM1FpeEZRVUZOTDBVc1MwRkRUbTlETEVWQlFWRndReXhMUVVGTGVVSXNaVUZGYWtJc1QwRkJVVmNzUlVGQlRUbENMRmxCUTFvc1MwRkJTeXhGUVVOSU9FSXNSVUZCVFM5Q0xFMUJRVkZ6Unl4RlFVTmtMRTFCUlVZc1MwRkJTeXhGUVVOSWRrVXNSVUZCVFM5Q0xFMUJRVkVzUTBGQlF5dENMRVZCUVUwdlFpeE5RVUZQYzBjc1IwRkROVUlzVFVGRlJpeFJRVU5GZGtVc1JVRkJUUzlDTEUxQlFVMTVReXhMUVVGTE5rUXNSMEZKY2tKMlJTeEZRVUZOT1VJc1dVRkJZeXhGUVVOd1FteERMRTFCUVUwc2QwSkJRWGxDWjBVc1JVRkJUVGxDTEZkQlFWbHpSeXhIUVVOcVJDeEpRVU5KUXl4SlFVUlZSQ3hKUVVFMlFpeEpRVUZxUWtFc1JVRkJVM0pETEUxQlFXdENiME1zU1VGQlUyeERMRkZCUVZGeFF5eFJRVUZWU0N4SlFVRlRiRU1zVVVGQlVYTkRMRTlCUXpkRlF5eEZRVUZSUXl4RlFVazFRaXhUUVVGVFF5eEZRVUZUZUVZc1JVRkJWWGxHTEVkQlF6RkNMMGtzVFVGQlRTeFpRVVZHYzBRc1NVRkJZWEZFTEVkQlExaHZReXhKUVVGM1F5eEpRVUV4UWtFc1JVRkJWME1zWVVGRE0wSkVMRVZCUVZkRExGbEJRV0VzUlVGdlFqVkNhRW9zVFVGQlRTeFhRVVZPZFVrc1JVRkJTMVVzWlVGQlpTeFJRVUZUUXl4SFFVTTNRbGdzUlVGQlMxVXNaVUZCWlN4VFFVRlZSU3hIUVVNNVFsb3NSVUZCUzFVc1pVRkJaU3hSUVVGVFJ5eEhRVU0zUW1Jc1JVRkJTMVVzWlVGQlpTeFJRVUZUU1N4SFFVTTNRbVFzUlVGQlMxVXNaVUZCWlN4VFFVRlZTQ3hIUVVNNVFtNURMRVZCUVVselF5eGxRVUZsTEUxQlFVOU1MRWRCUXpGQ2FrTXNSVUZCU1hORExHVkJRV1VzVFVGQlQwb3NSMEZETVVKc1F5eEZRVUZKYzBNc1pVRkJaU3hQUVVGUlN5eEhRVU16UWtNc1IwRkJXU3hIUVUxU2RrWXNSVUZCVFdZc1dVRkJaMEp6Uml4RlFVRkxXQ3hwUWtGQmEwSlhMRVZCUVV0WUxHVkJRV1UwUWl4WFFVRlpTaXhMUVRsQ2JrWXNVMEZCVTFJc1NVRkRVRFZKTEUxQlFVMHNVMEZEVG5WSkxFVkJRVXR3UXl4TlFXaENTRzVETEVWQlFVMHpRaXhYUVVGWlowVXNVVUZCVVVNc1UwRkJVMjFETEVkQlFWazVRaXhGUVVGSk9FTXNTMEZCU3l4TlFVRlBhRUlzUjBGRGJrVkdMRVZCUVVzdlJ5eEhRVUZITEZOQlFWVnpTQ3hIUVhOQ2JFSXNTVUZCU1Uwc1JVRkJWVEZETEZsQlFWbERMRWRCUXpGQ05FSXNSVUZCU3k5SExFZEJRVWNzVVVGQlV6UklMRWRCUTJwQ0xFbEJRVWxITEVkQlFWa3NSVUYzUW1oQ0xGTkJRVk5FTEVWQlFVOHpTaXhIUVVOa1N5eE5RVUZOTEZWQlEwNHNTVUZCU1cxSUxFVkJRVTF2UWl4RlFVRkxhRVVzVFVGQlRUVkZMRWRCUTNKQ1N5eE5RVUZOTEdGQlFXTnRTQ3hKUVVWU0xFbEJRVkpCTEV0QlMzZENMRWxCUVhKQ2JrUXNSVUZCVFRsQ0xGbEJRVzlDT0VJc1JVRkJUUzlDTEZGQlFWVnpSeXhIUVVGUmRrVXNSVUZCVFRsQ0xGZEJRV0VzU1VGQmNVTXNTVUZCYUVNMFJpeFJRVUZST1VRc1JVRkJUUzlDTEUxQlFVOXpSeXhOUVVGclFtZENMRWxCUTNCSWRrb3NUVUZCVFN3NFFrRkJLMEpuUlN4RlFVRk5aaXhaUVVNelEyVXNSVUZCVFdZc1kwRkhVakJFTEVWQlFVa3JReXhUUVUxU0xGTkJRVk5NTEVWQlFWRjBSaXhIUVVObUwwUXNUVUZCVFN4VlFVRlhLMFFzUjBGRGFrSTRSU3hKUVVOQlRpeEZRVUZMVlN4bFFVRmxMRkZCUVZOSkxFZEJRMVVzU1VGQmJrTnlTeXhuUWtGQlowSjFTaXhGUVVGTkxGVkJRV2RDZUVnc1pVRkJaWGRJTEVWQlFVMTRSU3hIUVUxcVJTeFRRVUZUYlVZc1NVRkRVRmdzUlVGQlMxVXNaVUZCWlN4VFFVRlZSU3hIUVVNNVFrNHNTVUZMUml4VFFVRlRUU3hKUVVOUWJrb3NUVUZCVFN4WlFVTk9kVWtzUlVGQlMxVXNaVUZCWlN4UlFVRlRReXhIUVVNM1Frd3NTVUZMUml4VFFVRlRRU3hKUVVOUU4wa3NUVUZCVFN4VlFVTk9Na2NzUlVGQlNXdERMRTlCUVU5T0xFZEJWMklzVDBFM1JFRTFRaXhGUVVGSmJrWXNSMEZCUnl4UFFVRlJPRWdzUjBFclFtWnlTU3huUWtGQlowSnpTQ3hGUVVGTkxGRkJRVk5qTEVkQlR5OUNaQ3hGUVVGTGEwSXNTMEZCU3l4UlFVRlRVQ3hIUVZGdVFsZ3NSVUZCUzJ0Q0xFdEJRVXNzVTBGQlZVNHNSMEZSY0VKYUxFVkJRVXM1UkN4TFFVRkxMRTlCUVZGclF5eEhRVVZpTTBNc1JVRkJUVGRDTEZWQlExUnVReXhOUVVGTkxHVkJRMDR5Unl4RlFVRkpTU3hWUVVkRGQwSXNSMEZuUWxRMVNpeFRRVUZUTUVZc1ZVRkJWWGRGTEU5QlFWTXNVMEZCVlU0c1IwRkRjRU1zU1VGQlNYWkZMRVZCUVZGd1F5eExRVUZMZVVJc1pVRkRZakJHTEVWQlFXRXNRMEZEWmtNc1dVRkJXU3hIUVVka0xFZEJRWGxDTEVsQlFYSkNhRVlzUlVGQlRUbENMRmRCUVd0Q0xFOUJRVTlPTEV0QlJXNURMRWRCUVhsQ0xFbEJRWEpDYjBNc1JVRkJUVGxDTEZkQlJWSXNUMEZCU1hGSExFZEJRVkZCTEVsQlFWTjJSU3hGUVVGTkwwSXNUVUZCWTB3c1RVRkRjRU15Unl4SlFVRk5RU3hGUVVGUGRrVXNSVUZCVFM5Q0xFOUJSWGhDSzBJc1JVRkJUUzlDTEUxQlFWRXNTMEZEWkN0Q0xFVkJRVTA1UWl4WFFVRmhMRVZCUTI1Q09FSXNSVUZCVFRkQ0xGTkJRVlVzUlVGRFdtOUhMRWRCUVUxQkxFVkJRVXM1UkN4TFFVRkxMRk5CUVZVM1F5eExRVUZOYlVnc1IwRkROMEp1U0N4TlFVbFVMRWxCUVVzeVJ5eEZRVUZOTEVOQlJWUXNTVUZCU1c5Q0xFVkJRVkV6Uml4RlFVRk5MMElzVFVGRFpIZEZMRVZCUVUxNlF5eEZRVUZOT1VJc1YwRkRhRUk0UWl4RlFVRk5MMElzVFVGQlVTeExRVU5rSzBJc1JVRkJUVGxDTEZkQlFXRXNSVUZEYmtJNFFpeEZRVUZOTjBJc1UwRkJWU3hGUVVWb1FpeEpRVUZMTEVsQlFVazRSaXhGUVVGSkxFVkJRVWRCTEVWQlFVbDRRaXhGUVVGTGQwSXNTVUZEZGtJd1FpeEZRVUZOTVVJc1IwRkJSM2hFTEV0QlFVc3NVMEZCVlRkRExFdEJRVTBzUTBGRE5VSnZTQ3haUVVGWkxFbEJTV2hDTEU5QlFVOXdTQ3hMUVVsVUxFbEJRVWxuU1N4RlFVRlJPVUlzVVVGQlVUbEVMRVZCUVUwdlFpeE5RVUZQYzBjc1IwRkRha01zVDBGQlpTeEpRVUZZY1VJc1JVRkJjVUpvU1N4TlFVTjZRbTlETEVWQlFVMHZRaXhOUVVGTk5FZ3NUMEZCVDBRc1JVRkJUeXhIUVVNeFFqVkdMRVZCUVUwNVFpeFpRVUZqTEVWQlEwc3NTVUZCY2tJNFFpeEZRVUZOT1VJc1lVRkJhMEk0UWl4RlFVRk5MMElzVFVGQlVTdENMRVZCUVUwdlFpeE5RVUZOTEVsQlEzUkVjMGNzUlVGQlN6bEVMRXRCUVVzc1UwRkJWVGRETEV0QlFVMXRTQ3hIUVVOdVFtNUlMRTlCUzFScVJDeFRRVUZUTUVZc1ZVRkJWVGRETEVkQlFVc3NVMEZCVlhOSkxFVkJRVWt6U1N4SFFVTndReXhKUVVGSk5Fa3NSVUZCVFRGTExFOUJRVTluUml4VlFVRlZOME1zUjBGQlIyMURMRXRCUVVzdlFpeExRVUZOYTBrc1JVRkJTVE5KTEVkQlEzcEROa01zUlVGQlVYQkRMRXRCUVV0NVFpeGxRWFZDYWtJc1RVRnlRbGNzVTBGQlVIbEhMRWRCUjBZNVJpeEZRVUZOZEVJc2EwSkJRVzlDWkN4TFFVRkxhMFlzWTBGQll5eFpRVUZqTEVkQlJYSkRMRWxCUVd4Q09VTXNSVUZCVFRkQ0xGTkJRVzFDVUN4TFFVRkxiVVlzVlVGRGJFSXNZVUZCVUN0RExFbEJRMG81Uml4RlFVRk5NMElzV1VGQlpUSkNMRVZCUVUxMFFpeHZRa0ZET1VKelFpeEZRVUZOZEVJc2EwSkJRVzlDYzBJc1JVRkJUWGhDTEdOQlFXVXNSVUZETDBOM1FpeEZRVUZOTjBJc1UwRkJWU3hGUVVOb1FqWkNMRVZCUVUxMlFpeHBRa0ZCYTBJc1JVRkRlRUo2UXl4TlFVRk5MR05CUVdWblJTeEZRVUZOTlVVc1QwRkJVVFJGTEVWQlFVMHhRaXhUUVVWeVF6QkNMRVZCUVUwMVJTeFBRVU5TZFVZc1lVRkJZUzlETEUxQlEwaHZReXhGUVVGTk1VSXNVMEZEYUVJclJDeFJRVUZSUXl4VFFVRlRWU3hwUWtGQmEwSndSaXhSUVV0c1EyMUpMRWRCUjFSd1RDeFRRVUZUTUVZc1ZVRkJWVEpHTEZsQlFXTnlUQ3hUUVVGVE1FWXNWVUZCVlRkRExFZEJSWEJFTjBNc1UwRkJVekJHTEZWQlFWVTBSU3hsUVVGcFFpeFRRVUZWWVN4RlFVRkpNMGtzUjBGRGFFUXNTVUZCU1RSSkxFVkJRVTB4U3l4UFFVRlBaMFlzVlVGQlZUUkZMR1ZCUVdWMFJpeExRVUZMTDBJc1MwRkJUV3RKTEVWQlFVa3pTU3hIUVZsNlJDeE5RVlpYTEdGQlFWQXlTU3hIUVU5R2VrUXNVVUZCVVVNc1UwRkJVMDBzZDBKQlFYbENhRVlzVFVGSGNrTnRTU3hIUVVkVWNFd3NVMEZCVXpCR0xGVkJRVlUwUml4dFFrRkJjVUlzVTBGQlZVZ3NSMEZEYUVRc1NVRkJTVU1zUlVGQlRURkxMRTlCUVU5blJpeFZRVUZWTkVZc2JVSkJRVzFDUXl4TlFVRk5kRWtzUzBGQlRYVkpMRmRCV1RGRUxFMUJWbGNzWVVGQlVFd3NVVUZCTkVKc1JpeEpRVUZRYTBZc1IwRlBka0o2UkN4UlFVRlJReXhUUVVGVFRTeDNRa0ZCZVVKb1JpeE5RVWR5UTIxSkxFZEJkVUpVY0V3c1UwRkJVekJHTEZWQlFWVXdReXhQUVVGVExGZEJRekZDTEVsQlFVa3ZReXhGUVVGUmNFTXNTMEZCUzNsQ0xHVkJXV3BDTEU5QlZrdFhMRVZCUVUwM1FpeFZRVU5VYmtNc1RVRkJUU3hWUVVsT1owVXNSVUZCVFRkQ0xGTkJRVmMyUWl4RlFVRk5kRUlzYTBKQlEzWkNjVVVzVDBGQlQyNUdMRXRCUVUxdlF5eEpRVWRtUVN4RlFVRk5jRUlzVVVGQlV5eEZRVU5TYUVJc1RVRjFRbFJxUkN4VFFVRlRNRVlzVlVGQlZYRkdMRTFCUVZFc1YwRlZla0lzVDBGVVFURktMRTFCUVUwc2QwSkJRWGxDTkVJc1MwRkJTM2xDTEdWQlFXVnNRaXhWUVVWbUxFbEJRV2hEVUN4TFFVRkxlVUlzWlVGQlpXeENMRlZCUTNSQ2JrTXNUVUZCVFN4VFFVTk9ORUlzUzBGQlMzbENMR1ZCUVdWc1FpeFRRVUZWTEVWQlF6bENVQ3hMUVVGTE5rTXNTMEZCU3l4VlFVZGFOME1zUzBGQlMzbENMR1ZCUVdWVUxGRkJRVk1zUlVGRGRFSm9RaXhOUVdWVWFrUXNVMEZCVXpCR0xGVkJRVlVyUml4TFFVRlBMRk5CUVZVeFNTeEhRVU5zUXl4SlFVRkpNa2tzUlVGQlVYcEpMRXRCUlZKdlF5eEZRVUZSY0VNc1MwRkJTM2xDTEdWQlEySlVMRWRCUVZNc1JVRXdRbUlzU1VGQlN5eEpRVUZKY1VZc1MwRjZRbFIyUnl4RlFVRlBSaXhIUVVGSExFMUJRVThzVjBGSFppeEhRVVpCZUVJc1RVRkJUU3hsUVVWR1owVXNSVUZCVFdJc1ZVRkJXV0VzUlVGQlRUVkNMRTFCUVU4c1EwRkRha01zU1VGQlNYcERMRVZCUVZGeFJTeEZRVUZOWWl4UlFVRlJaMFFzVFVGRGRFSjRSeXhIUVVGVFFTeEZRVUZOVUN4UlFVRlJhVXdzUlVGQlRUTkdMRXRCUVVzdlJTeEhRVWQ0UXpCTExFVkJRVTB6Uml4TFFVRkxMRkZCUldKb1JDeEZRVUZQUml4SFFVRkhMRTlCUVZFc1UwRkJWVGRDTEVsQlF6RkNTeXhOUVVGTkxHZENRVU5HWjBVc1JVRkJUV0lzVlVGQlUzaEVMRVZCUVZGeFJTeEZRVUZOWWl4UlFVRlJiMElzVFVGQlRUVkZMRWxCUlRORGNVVXNSVUZCVFc1RExGbEJRV01zVFVGQlEyeERMRXRCUVhsRWNVVXNSVUZCVFc1RExGbEJRV2RDYkVNc1IwRkJWVUVzUlVGQlRWQXNWVUZGT1VkcFRDeEZRVUZOTTBZc1MwRkJTeTlGTEV0QlIyNUNhVVFzUjBGQlV5eEZRVU5VYkVJc1JVRkJUMmRKTEZsQlMwZG9TU3hQUVVOSmEwUXNTVUZCV21oRUxFdEJRVXR4Unl4SlFVRjVReXh0UWtGQlpIWkhMRVZCUVU5MVJ5eExRVU42UTNKSExFdEJRVXR4Unl4SFFVRkxMRk5CUVc5Q2NVTXNSMEZETlVJc1QwRkJUeXhYUVVOTUxFOUJRVTgxU1N4RlFVRlBORWtzUjBGQlVVb3NUVUZCVFhoSkxFVkJRVkY1U1N4WlFVWTVRaXhEUVVsU2JFTXNTVUZMVGl4SlFVRkxMRWxCUVVsb1F5eEZRVUZKTEVWQlFVZEJMRVZCUVVscVJpeGhRVUZoTlVJc1QwRkJVVFpITEVsQlEzWkRka1VzUlVGQlQwWXNSMEZCUjFJc1lVRkJZV2xHTEVkQlFVbHlSU3hMUVVGTE5rTXNTMEZCU3poR0xFdEJRVXN6U1N4TFFVRk5XaXhoUVVGaGFVWXNTMEZqTDBRc1QwRlVRWEpGTEV0QlFVczBRaXhOUVVGUkxGTkJRVlY1UXl4SFFVTnlRbXBITEUxQlFVMHNaMEpCUVdsQ2FVY3NSMEZGYmtKeVJDeEpRVU5HUVN4SFFVRlRMRVZCUTFSc1FpeEZRVUZQY1VZc1YwRkpTbTVHTEUxQlIyRXNiVUpCUVZnMFNTeFRRVU5VTjB3c1UwRkJVekJHTEZWQlFWVnRSeXhQUVVGUFF5eGxRVUZwUWl4WFFVdDZReXhaUVVvd1F6ZEdMRWxCUVhSRGVFVXNiME5CUTBaQkxHdERRVUZ2UTNSQ0xGRkJRVkVzYzBOQlIzWkRjMElzYTBOQlFXdERkMElzVVVGSk4wTjFReXhQUVVGUFZTeGxRVUZsYkVjc1UwRkJVekJHTEZWQlFWY3NkMEpCUVhsQ0xFTkJTV3BGVXl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYmtRc1MwRkJTM2xDTEdWQlFXVjBRaXhwUWtGSEwwSnZReXhQUVVGUFZTeGxRVUZsYkVjc1UwRkJVekJHTEZWQlFWY3NhVUpCUVd0Q0xFTkJTVEZFVXl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYmtRc1MwRkJTM2xDTEdkQ1FVRnJRbnBDTEV0QlFVdDVRaXhsUVVGbGNrSXNWVUZIZEVSdFF5eFBRVUZQVlN4bFFVRmxiRWNzVTBGQlV6QkdMRlZCUVZjc2EwSkJRVzFDTEVOQlNUTkVVeXhaUVVGWkxFVkJRMXBETEVsQlFVc3NWMEZEU0N4UFFVRlBia1FzUzBGQlMzbENMR1ZCUVdWc1FpeFRRVVUzUWpaRExFbEJRVXNzVTBGQllXaENMRWRCUTFwd1F5eExRVUZMZVVJc2FVSkJRMUI2UWl4TFFVRkxlVUlzWlVGQlpXeENMRkZCUVZVMlFpeE5RVXR3UTNKR0xGTkJRVk1yVEN4VlFVRlplRVFzVTBGRGNrSXZReXhQUVVGUFZTeGxRVUZsYkVjc1UwRkJVekJHTEZWQlFWY3NhVUpCUVd0Q0xFTkJTVEZFVXl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYmtRc1MwRkJTM2xDTEdWQlFXVnFSU3hWUVc5RVZDeHRRa0ZCV0c5TUxGTkJRMVEzVEN4VFFVRlRhVUlzUzBGQlR5eFRRVUZWSzBzc1JVRkJWVU1zUjBGTGJFTXNXVUZLWVdoSExFbEJRVlJvUml4UFFVTkdRU3hMUVVGUFpDeFJRVUZSTERSQ1FVZFdZeXhMUVVGTGFrSXNVMEZCVldkTkxFVkJRVlZESWl3aVptbHNaU0k2SWk5MWMzSXZiRzlqWVd3dmJHbGlMMjV2WkdWZmJXOWtkV3hsY3k5M1lYUmphR2xtZVM5dWIyUmxYMjF2WkhWc1pYTXZjM1J5WldGdExXSnliM2R6WlhKcFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5eVpXRmtZV0pzWlM1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1UcmFuc2Zvcm07dmFyIF9yZXF1aXJlJGNvZGVzPXJlcXVpcmUoXCIuLi9lcnJvcnNcIikuY29kZXMsRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQ9X3JlcXVpcmUkY29kZXMuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsRVJSX01VTFRJUExFX0NBTExCQUNLPV9yZXF1aXJlJGNvZGVzLkVSUl9NVUxUSVBMRV9DQUxMQkFDSyxFUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HPV9yZXF1aXJlJGNvZGVzLkVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkcsRVJSX1RSQU5TRk9STV9XSVRIX0xFTkdUSF8wPV9yZXF1aXJlJGNvZGVzLkVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMCxEdXBsZXg9cmVxdWlyZShcIi4vX3N0cmVhbV9kdXBsZXhcIik7ZnVuY3Rpb24gYWZ0ZXJUcmFuc2Zvcm0ocixlKXt2YXIgdD10aGlzLl90cmFuc2Zvcm1TdGF0ZTt0LnRyYW5zZm9ybWluZz0hMTt2YXIgbj10LndyaXRlY2I7aWYobnVsbD09PW4pcmV0dXJuIHRoaXMuZW1pdChcImVycm9yXCIsbmV3IEVSUl9NVUxUSVBMRV9DQUxMQkFDSyk7dC53cml0ZWNodW5rPW51bGwsdC53cml0ZWNiPW51bGwsbnVsbCE9ZSYmdGhpcy5wdXNoKGUpLG4ocik7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTtpLnJlYWRpbmc9ITEsKGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9ZnVuY3Rpb24gVHJhbnNmb3JtKHIpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFRyYW5zZm9ybSkpcmV0dXJuIG5ldyBUcmFuc2Zvcm0ocik7RHVwbGV4LmNhbGwodGhpcyxyKSx0aGlzLl90cmFuc2Zvcm1TdGF0ZT17YWZ0ZXJUcmFuc2Zvcm06YWZ0ZXJUcmFuc2Zvcm0uYmluZCh0aGlzKSxuZWVkVHJhbnNmb3JtOiExLHRyYW5zZm9ybWluZzohMSx3cml0ZWNiOm51bGwsd3JpdGVjaHVuazpudWxsLHdyaXRlZW5jb2Rpbmc6bnVsbH0sdGhpcy5fcmVhZGFibGVTdGF0ZS5uZWVkUmVhZGFibGU9ITAsdGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jPSExLHImJihcImZ1bmN0aW9uXCI9PXR5cGVvZiByLnRyYW5zZm9ybSYmKHRoaXMuX3RyYW5zZm9ybT1yLnRyYW5zZm9ybSksXCJmdW5jdGlvblwiPT10eXBlb2Ygci5mbHVzaCYmKHRoaXMuX2ZsdXNoPXIuZmx1c2gpKSx0aGlzLm9uKFwicHJlZmluaXNoXCIscHJlZmluaXNoKX1mdW5jdGlvbiBwcmVmaW5pc2goKXt2YXIgcj10aGlzO1wiZnVuY3Rpb25cIiE9dHlwZW9mIHRoaXMuX2ZsdXNofHx0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD9kb25lKHRoaXMsbnVsbCxudWxsKTp0aGlzLl9mbHVzaChmdW5jdGlvbihlLHQpe2RvbmUocixlLHQpfSl9ZnVuY3Rpb24gZG9uZShyLGUsdCl7aWYoZSlyZXR1cm4gci5lbWl0KFwiZXJyb3JcIixlKTtpZihudWxsIT10JiZyLnB1c2godCksci5fd3JpdGFibGVTdGF0ZS5sZW5ndGgpdGhyb3cgbmV3IEVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMDtpZihyLl90cmFuc2Zvcm1TdGF0ZS50cmFuc2Zvcm1pbmcpdGhyb3cgbmV3IEVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkc7cmV0dXJuIHIucHVzaChudWxsKX1yZXF1aXJlKFwiaW5oZXJpdHNcIikoVHJhbnNmb3JtLER1cGxleCksVHJhbnNmb3JtLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHIsZSl7cmV0dXJuIHRoaXMuX3RyYW5zZm9ybVN0YXRlLm5lZWRUcmFuc2Zvcm09ITEsRHVwbGV4LnByb3RvdHlwZS5wdXNoLmNhbGwodGhpcyxyLGUpfSxUcmFuc2Zvcm0ucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24ocixlLHQpe3QobmV3IEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEKFwiX3RyYW5zZm9ybSgpXCIpKX0sVHJhbnNmb3JtLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24ocixlLHQpe3ZhciBuPXRoaXMuX3RyYW5zZm9ybVN0YXRlO2lmKG4ud3JpdGVjYj10LG4ud3JpdGVjaHVuaz1yLG4ud3JpdGVlbmNvZGluZz1lLCFuLnRyYW5zZm9ybWluZyl7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTsobi5uZWVkVHJhbnNmb3JtfHxpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfX0sVHJhbnNmb3JtLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbihyKXt2YXIgZT10aGlzLl90cmFuc2Zvcm1TdGF0ZTtudWxsPT09ZS53cml0ZWNodW5rfHxlLnRyYW5zZm9ybWluZz9lLm5lZWRUcmFuc2Zvcm09ITA6KGUudHJhbnNmb3JtaW5nPSEwLHRoaXMuX3RyYW5zZm9ybShlLndyaXRlY2h1bmssZS53cml0ZWVuY29kaW5nLGUuYWZ0ZXJUcmFuc2Zvcm0pKX0sVHJhbnNmb3JtLnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbihyLGUpe0R1cGxleC5wcm90b3R5cGUuX2Rlc3Ryb3kuY2FsbCh0aGlzLHIsZnVuY3Rpb24ocil7ZShyKX0pfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsOXpkSEpsWVcxZmRISmhibk5tYjNKdExtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKVWNtRnVjMlp2Y20waUxDSmZjbVZ4ZFdseVpTUmpiMlJsY3lJc0luSmxjWFZwY21VaUxDSmpiMlJsY3lJc0lrVlNVbDlOUlZSSVQwUmZUazlVWDBsTlVFeEZUVVZPVkVWRUlpd2lSVkpTWDAxVlRGUkpVRXhGWDBOQlRFeENRVU5MSWl3aVJWSlNYMVJTUVU1VFJrOVNUVjlCVEZKRlFVUlpYMVJTUVU1VFJrOVNUVWxPUnlJc0lrVlNVbDlVVWtGT1UwWlBVazFmVjBsVVNGOU1SVTVIVkVoZk1DSXNJa1IxY0d4bGVDSXNJbUZtZEdWeVZISmhibk5tYjNKdElpd2laWElpTENKa1lYUmhJaXdpZEhNaUxDSjBhR2x6SWl3aVgzUnlZVzV6Wm05eWJWTjBZWFJsSWl3aWRISmhibk5tYjNKdGFXNW5JaXdpWTJJaUxDSjNjbWwwWldOaUlpd2laVzFwZENJc0luZHlhWFJsWTJoMWJtc2lMQ0p3ZFhOb0lpd2ljbk1pTENKZmNtVmhaR0ZpYkdWVGRHRjBaU0lzSW5KbFlXUnBibWNpTENKdVpXVmtVbVZoWkdGaWJHVWlMQ0pzWlc1bmRHZ2lMQ0pvYVdkb1YyRjBaWEpOWVhKcklpd2lYM0psWVdRaUxDSnZjSFJwYjI1eklpd2lZMkZzYkNJc0ltSnBibVFpTENKdVpXVmtWSEpoYm5ObWIzSnRJaXdpZDNKcGRHVmxibU52WkdsdVp5SXNJbk41Ym1NaUxDSjBjbUZ1YzJadmNtMGlMQ0pmZEhKaGJuTm1iM0p0SWl3aVpteDFjMmdpTENKZlpteDFjMmdpTENKdmJpSXNJbkJ5WldacGJtbHphQ0lzSWw5MGFHbHpJaXdpWkdWemRISnZlV1ZrSWl3aVpHOXVaU0lzSW5OMGNtVmhiU0lzSWw5M2NtbDBZV0pzWlZOMFlYUmxJaXdpY0hKdmRHOTBlWEJsSWl3aVkyaDFibXNpTENKbGJtTnZaR2x1WnlJc0lsOTNjbWwwWlNJc0ltNGlMQ0pmWkdWemRISnZlU0lzSW1WeWNpSXNJbVZ5Y2pJaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVRaRVFTeGhRVVZCUVN4UFFVRlBReXhSUVVGVlF5eFZRVVZxUWl4SlFVRkpReXhsUVVGcFFrTXNVVUZCVVN4aFFVRmhReXhOUVVOMFEwTXNNa0pCUVRaQ1NDeGxRVUZsUnl3eVFrRkROVU5ETEhOQ1FVRjNRa29zWlVGQlpVa3NjMEpCUTNaRFF5eHRRMEZCY1VOTUxHVkJRV1ZMTEcxRFFVTndSRU1zTkVKQlFUaENUaXhsUVVGbFRTdzBRa0ZGTjBORExFOUJRVk5PTEZGQlFWRXNiMEpCU1hKQ0xGTkJRVk5QTEdWQlFXVkRMRVZCUVVsRExFZEJRekZDTEVsQlFVbERMRVZCUVV0RExFdEJRVXRETEdkQ1FVTmtSaXhGUVVGSFJ5eGpRVUZsTEVWQlEyeENMRWxCUVVsRExFVkJRVXRLTEVWQlFVZExMRkZCUlZvc1IwRkJWeXhQUVVGUVJDeEZRVU5HTEU5QlFVOUlMRXRCUVV0TExFdEJRVXNzVVVGQlV5eEpRVUZKWWl4MVFrRkhhRU5QTEVWQlFVZFBMRmRCUVdFc1MwRkRhRUpRTEVWQlFVZExMRkZCUVZVc1MwRkRSQ3hOUVVGU1RpeEhRVU5HUlN4TFFVRkxUeXhMUVVGTFZDeEhRVU5hU3l4RlFVRkhUaXhIUVVOSUxFbEJRVWxYTEVWQlFVdFNMRXRCUVV0VExHVkJRMlJFTEVWQlFVZEZMRk5CUVZVc1IwRkZWRVlzUlVGQlIwY3NZMEZCWjBKSUxFVkJRVWRKTEU5QlFWTktMRVZCUVVkTExHZENRVU53UTJJc1MwRkJTMk1zVFVGQlRVNHNSVUZCUjBzc1pVRkpiRUlzVTBGQlV6RkNMRlZCUVZVMFFpeEhRVU5xUWl4TFFVRk5aaXhuUWtGQlowSmlMRmRCUVZrc1QwRkJUeXhKUVVGSlFTeFZRVUZWTkVJc1IwRkRka1J3UWl4UFFVRlBjVUlzUzBGQlMyaENMRXRCUVUxbExFZEJRMnhDWml4TFFVRkxReXhuUWtGQmEwSXNRMEZEY2tKTUxHVkJRV2RDUVN4bFFVRmxjVUlzUzBGQlMycENMRTFCUTNCRGEwSXNaVUZCWlN4RlFVTm1hRUlzWTBGQll5eEZRVU5rUlN4UlFVRlRMRXRCUTFSRkxGZEJRVmtzUzBGRFdtRXNZMEZCWlN4TlFVZHFRbTVDTEV0QlFVdFRMR1ZCUVdWRkxHTkJRV1VzUlVGSmJrTllMRXRCUVV0VExHVkJRV1ZYTEUxQlFVOHNSVUZGZGtKTUxFbEJReXRDTEcxQ1FVRjBRa0VzUlVGQlVVMHNXVUZCTUVKeVFpeExRVUZMYzBJc1YwRkJZVkFzUlVGQlVVMHNWMEZETVVNc2JVSkJRV3hDVGl4RlFVRlJVU3hSUVVGelFuWkNMRXRCUVV0M1FpeFBRVUZUVkN4RlFVRlJVU3hSUVVscVJYWkNMRXRCUVV0NVFpeEhRVUZITEZsQlFXRkRMRmRCUjNaQ0xGTkJRVk5CTEZsQlExQXNTVUZCU1VNc1JVRkJVVE5DTEV0QlJXVXNiVUpCUVdoQ1FTeExRVUZMZDBJc1VVRkJNRUo0UWl4TFFVRkxVeXhsUVVGbGJVSXNWVUZMTlVSRExFdEJRVXMzUWl4TFFVRk5MRXRCUVUwc1RVRktha0pCTEV0QlFVdDNRaXhQUVVGUExGTkJRVlV6UWl4RlFVRkpReXhIUVVONFFpdENMRXRCUVV0R0xFVkJRVTg1UWl4RlFVRkpReXhMUVRaRWRFSXNVMEZCVXl0Q0xFdEJRVXRETEVWQlFWRnFReXhGUVVGSlF5eEhRVU40UWl4SFFVRkpSQ3hGUVVGSkxFOUJRVTlwUXl4RlFVRlBla0lzUzBGQlN5eFJRVUZUVWl4SFFVMXdReXhIUVV4WkxFMUJRVkpETEVkQlEwWm5ReXhGUVVGUGRrSXNTMEZCUzFRc1IwRkpWbWRETEVWQlFVOURMR1ZCUVdWdVFpeFBRVUZSTEUxQlFVMHNTVUZCU1d4Q0xEUkNRVU0xUXl4SFFVRkpiME1zUlVGQlR6ZENMR2RDUVVGblFrTXNZVUZCWXl4TlFVRk5MRWxCUVVsVUxHMURRVU51UkN4UFFVRlBjVU1zUlVGQlQzWkNMRXRCUVVzc1RVRTVTSEpDYkVJc1VVRkJVU3hYUVVGU1FTeERRVUZ2UWtZc1ZVRkJWMUVzVVVFclJDOUNVaXhWUVVGVk5rTXNWVUZCVlhwQ0xFdEJRVThzVTBGQlZUQkNMRVZCUVU5RExFZEJSVEZETEU5QlJFRnNReXhMUVVGTFF5eG5Ra0ZCWjBKcFFpeGxRVUZuUWl4RlFVTTVRblpDTEU5QlFVOXhReXhWUVVGVmVrSXNTMEZCUzFNc1MwRkJTMmhDTEV0QlFVMXBReXhGUVVGUFF5eEpRV0ZxUkM5RExGVkJRVlUyUXl4VlFVRlZWaXhYUVVGaExGTkJRVlZYTEVWQlFVOURMRVZCUVZVdlFpeEhRVU14UkVFc1JVRkJSeXhKUVVGSldpd3lRa0ZCTWtJc2EwSkJSM0JEU2l4VlFVRlZOa01zVlVGQlZVY3NUMEZCVXl4VFFVRlZSaXhGUVVGUFF5eEZRVUZWTDBJc1IwRkRkRVFzU1VGQlNVb3NSVUZCUzBNc1MwRkJTME1zWjBKQlMyUXNSMEZLUVVZc1JVRkJSMHNzVVVGQlZVUXNSVUZEWWtvc1JVRkJSMDhzVjBGQllUSkNMRVZCUTJoQ2JFTXNSVUZCUjI5Q0xHTkJRV2RDWlN4SFFVVmtia01zUlVGQlIwY3NZVUZCWXl4RFFVTndRaXhKUVVGSlRTeEZRVUZMVWl4TFFVRkxVeXhuUWtGRFZsWXNSVUZCUjIxQ0xHVkJRV2xDVml4RlFVRkhSeXhqUVVGblFrZ3NSVUZCUjBrc1QwRkJVMG9zUlVGQlIwc3NaMEpCUVdWaUxFdEJRVXRqTEUxQlFVMU9MRVZCUVVkTExHbENRVTh6UmpGQ0xGVkJRVlUyUXl4VlFVRlZiRUlzVFVGQlVTeFRRVUZWYzBJc1IwRkRjRU1zU1VGQlNYSkRMRVZCUVV0RExFdEJRVXRETEdkQ1FVVlJMRTlCUVd4Q1JpeEZRVUZIVHl4WlFVRjNRbEFzUlVGQlIwY3NZVUZQYUVOSUxFVkJRVWR0UWl4bFFVRm5RaXhIUVU1dVFtNUNMRVZCUVVkSExHTkJRV1VzUlVGRmJFSkdMRXRCUVV0elFpeFhRVUZYZGtJc1JVRkJSMDhzVjBGQldWQXNSVUZCUjI5Q0xHTkJRV1Z3UWl4RlFVRkhTQ3hyUWtGUmVFUlVMRlZCUVZVMlF5eFZRVUZWU3l4VFFVRlhMRk5CUVZWRExFVkJRVXR1UXl4SFFVTTFRMUlzVDBGQlQzRkRMRlZCUVZWTExGTkJRVk55UWl4TFFVRkxhRUlzUzBGQlRYTkRMRVZCUVVzc1UwRkJWVU1zUjBGRGJFUndReXhGUVVGSGIwTWlMQ0ptYVd4bElqb2lMM1Z6Y2k5c2IyTmhiQzlzYVdJdmJtOWtaVjl0YjJSMWJHVnpMM2RoZEdOb2FXWjVMMjV2WkdWZmJXOWtkV3hsY3k5emRISmxZVzB0WW5KdmQzTmxjbWxtZVM5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlmYzNSeVpXRnRYM1J5WVc1elptOXliUzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO2Z1bmN0aW9uIFdyaXRlUmVxKGUsdCxyKXt0aGlzLmNodW5rPWUsdGhpcy5lbmNvZGluZz10LHRoaXMuY2FsbGJhY2s9cix0aGlzLm5leHQ9bnVsbH1mdW5jdGlvbiBDb3JrZWRSZXF1ZXN0KGUpe3ZhciB0PXRoaXM7dGhpcy5uZXh0PW51bGwsdGhpcy5lbnRyeT1udWxsLHRoaXMuZmluaXNoPWZ1bmN0aW9uKCl7b25Db3JrZWRGaW5pc2godCxlKX19dmFyIER1cGxleDttb2R1bGUuZXhwb3J0cz1Xcml0YWJsZSxXcml0YWJsZS5Xcml0YWJsZVN0YXRlPVdyaXRhYmxlU3RhdGU7dmFyIGludGVybmFsVXRpbD17ZGVwcmVjYXRlOnJlcXVpcmUoXCJ1dGlsLWRlcHJlY2F0ZVwiKX0sU3RyZWFtPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtXCIpLEJ1ZmZlcj1yZXF1aXJlKFwiYnVmZmVyXCIpLkJ1ZmZlcixPdXJVaW50OEFycmF5PWdsb2JhbC5VaW50OEFycmF5fHxmdW5jdGlvbigpe307ZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihlKXtyZXR1cm4gQnVmZmVyLmZyb20oZSl9ZnVuY3Rpb24gX2lzVWludDhBcnJheShlKXtyZXR1cm4gQnVmZmVyLmlzQnVmZmVyKGUpfHxlIGluc3RhbmNlb2YgT3VyVWludDhBcnJheX12YXIgcmVhbEhhc0luc3RhbmNlLGRlc3Ryb3lJbXBsPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveVwiKSxfcmVxdWlyZT1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlXCIpLGdldEhpZ2hXYXRlck1hcms9X3JlcXVpcmUuZ2V0SGlnaFdhdGVyTWFyayxfcmVxdWlyZSRjb2Rlcz1yZXF1aXJlKFwiLi4vZXJyb3JzXCIpLmNvZGVzLEVSUl9JTlZBTElEX0FSR19UWVBFPV9yZXF1aXJlJGNvZGVzLkVSUl9JTlZBTElEX0FSR19UWVBFLEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEPV9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELEVSUl9NVUxUSVBMRV9DQUxMQkFDSz1fcmVxdWlyZSRjb2Rlcy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssRVJSX1NUUkVBTV9DQU5OT1RfUElQRT1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX0NBTk5PVF9QSVBFLEVSUl9TVFJFQU1fREVTVFJPWUVEPV9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fREVTVFJPWUVELEVSUl9TVFJFQU1fTlVMTF9WQUxVRVM9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUyxFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORD1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCxFUlJfVU5LTk9XTl9FTkNPRElORz1fcmVxdWlyZSRjb2Rlcy5FUlJfVU5LTk9XTl9FTkNPRElORyxlcnJvck9yRGVzdHJveT1kZXN0cm95SW1wbC5lcnJvck9yRGVzdHJveTtmdW5jdGlvbiBub3AoKXt9ZnVuY3Rpb24gV3JpdGFibGVTdGF0ZShlLHQscil7RHVwbGV4PUR1cGxleHx8cmVxdWlyZShcIi4vX3N0cmVhbV9kdXBsZXhcIiksZT1lfHx7fSxcImJvb2xlYW5cIiE9dHlwZW9mIHImJihyPXQgaW5zdGFuY2VvZiBEdXBsZXgpLHRoaXMub2JqZWN0TW9kZT0hIWUub2JqZWN0TW9kZSxyJiYodGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISFlLndyaXRhYmxlT2JqZWN0TW9kZSksdGhpcy5oaWdoV2F0ZXJNYXJrPWdldEhpZ2hXYXRlck1hcmsodGhpcyxlLFwid3JpdGFibGVIaWdoV2F0ZXJNYXJrXCIsciksdGhpcy5maW5hbENhbGxlZD0hMSx0aGlzLm5lZWREcmFpbj0hMSx0aGlzLmVuZGluZz0hMSx0aGlzLmVuZGVkPSExLHRoaXMuZmluaXNoZWQ9ITEsdGhpcy5kZXN0cm95ZWQ9ITE7dmFyIGk9ITE9PT1lLmRlY29kZVN0cmluZ3M7dGhpcy5kZWNvZGVTdHJpbmdzPSFpLHRoaXMuZGVmYXVsdEVuY29kaW5nPWUuZGVmYXVsdEVuY29kaW5nfHxcInV0ZjhcIix0aGlzLmxlbmd0aD0wLHRoaXMud3JpdGluZz0hMSx0aGlzLmNvcmtlZD0wLHRoaXMuc3luYz0hMCx0aGlzLmJ1ZmZlclByb2Nlc3Npbmc9ITEsdGhpcy5vbndyaXRlPWZ1bmN0aW9uKGUpe29ud3JpdGUodCxlKX0sdGhpcy53cml0ZWNiPW51bGwsdGhpcy53cml0ZWxlbj0wLHRoaXMuYnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5wZW5kaW5nY2I9MCx0aGlzLnByZWZpbmlzaGVkPSExLHRoaXMuZXJyb3JFbWl0dGVkPSExLHRoaXMuZW1pdENsb3NlPSExIT09ZS5lbWl0Q2xvc2UsdGhpcy5hdXRvRGVzdHJveT0hIWUuYXV0b0Rlc3Ryb3ksdGhpcy5idWZmZXJlZFJlcXVlc3RDb3VudD0wLHRoaXMuY29ya2VkUmVxdWVzdHNGcmVlPW5ldyBDb3JrZWRSZXF1ZXN0KHRoaXMpfWZ1bmN0aW9uIFdyaXRhYmxlKGUpe3ZhciB0PXRoaXMgaW5zdGFuY2VvZihEdXBsZXg9RHVwbGV4fHxyZXF1aXJlKFwiLi9fc3RyZWFtX2R1cGxleFwiKSk7aWYoIXQmJiFyZWFsSGFzSW5zdGFuY2UuY2FsbChXcml0YWJsZSx0aGlzKSlyZXR1cm4gbmV3IFdyaXRhYmxlKGUpO3RoaXMuX3dyaXRhYmxlU3RhdGU9bmV3IFdyaXRhYmxlU3RhdGUoZSx0aGlzLHQpLHRoaXMud3JpdGFibGU9ITAsZSYmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGUud3JpdGUmJih0aGlzLl93cml0ZT1lLndyaXRlKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLndyaXRldiYmKHRoaXMuX3dyaXRldj1lLndyaXRldiksXCJmdW5jdGlvblwiPT10eXBlb2YgZS5kZXN0cm95JiYodGhpcy5fZGVzdHJveT1lLmRlc3Ryb3kpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUuZmluYWwmJih0aGlzLl9maW5hbD1lLmZpbmFsKSksU3RyZWFtLmNhbGwodGhpcyl9ZnVuY3Rpb24gd3JpdGVBZnRlckVuZChlLHQpe3ZhciByPW5ldyBFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORDtlcnJvck9yRGVzdHJveShlLHIpLHByb2Nlc3MubmV4dFRpY2sodCxyKX1mdW5jdGlvbiB2YWxpZENodW5rKGUsdCxyLGkpe3ZhciBuO3JldHVybiBudWxsPT09cj9uPW5ldyBFUlJfU1RSRUFNX05VTExfVkFMVUVTOlwic3RyaW5nXCI9PXR5cGVvZiByfHx0Lm9iamVjdE1vZGV8fChuPW5ldyBFUlJfSU5WQUxJRF9BUkdfVFlQRShcImNodW5rXCIsW1wic3RyaW5nXCIsXCJCdWZmZXJcIl0scikpLCFufHwoZXJyb3JPckRlc3Ryb3koZSxuKSxwcm9jZXNzLm5leHRUaWNrKGksbiksITEpfWZ1bmN0aW9uIGRlY29kZUNodW5rKGUsdCxyKXtyZXR1cm4gZS5vYmplY3RNb2RlfHwhMT09PWUuZGVjb2RlU3RyaW5nc3x8XCJzdHJpbmdcIiE9dHlwZW9mIHR8fCh0PUJ1ZmZlci5mcm9tKHQscikpLHR9ZnVuY3Rpb24gd3JpdGVPckJ1ZmZlcihlLHQscixpLG4sbyl7aWYoIXIpe3ZhciBzPWRlY29kZUNodW5rKHQsaSxuKTtpIT09cyYmKHI9ITAsbj1cImJ1ZmZlclwiLGk9cyl9dmFyIGE9dC5vYmplY3RNb2RlPzE6aS5sZW5ndGg7dC5sZW5ndGgrPWE7dmFyIHU9dC5sZW5ndGg8dC5oaWdoV2F0ZXJNYXJrO2lmKHV8fCh0Lm5lZWREcmFpbj0hMCksdC53cml0aW5nfHx0LmNvcmtlZCl7dmFyIGY9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0O3QubGFzdEJ1ZmZlcmVkUmVxdWVzdD17Y2h1bms6aSxlbmNvZGluZzpuLGlzQnVmOnIsY2FsbGJhY2s6byxuZXh0Om51bGx9LGY/Zi5uZXh0PXQubGFzdEJ1ZmZlcmVkUmVxdWVzdDp0LmJ1ZmZlcmVkUmVxdWVzdD10Lmxhc3RCdWZmZXJlZFJlcXVlc3QsdC5idWZmZXJlZFJlcXVlc3RDb3VudCs9MX1lbHNlIGRvV3JpdGUoZSx0LCExLGEsaSxuLG8pO3JldHVybiB1fWZ1bmN0aW9uIGRvV3JpdGUoZSx0LHIsaSxuLG8scyl7dC53cml0ZWxlbj1pLHQud3JpdGVjYj1zLHQud3JpdGluZz0hMCx0LnN5bmM9ITAsdC5kZXN0cm95ZWQ/dC5vbndyaXRlKG5ldyBFUlJfU1RSRUFNX0RFU1RST1lFRChcIndyaXRlXCIpKTpyP2UuX3dyaXRldihuLHQub253cml0ZSk6ZS5fd3JpdGUobixvLHQub253cml0ZSksdC5zeW5jPSExfWZ1bmN0aW9uIG9ud3JpdGVFcnJvcihlLHQscixpLG4pey0tdC5wZW5kaW5nY2Iscj8ocHJvY2Vzcy5uZXh0VGljayhuLGkpLHByb2Nlc3MubmV4dFRpY2soZmluaXNoTWF5YmUsZSx0KSxlLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxlcnJvck9yRGVzdHJveShlLGkpKToobihpKSxlLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxlcnJvck9yRGVzdHJveShlLGkpLGZpbmlzaE1heWJlKGUsdCkpfWZ1bmN0aW9uIG9ud3JpdGVTdGF0ZVVwZGF0ZShlKXtlLndyaXRpbmc9ITEsZS53cml0ZWNiPW51bGwsZS5sZW5ndGgtPWUud3JpdGVsZW4sZS53cml0ZWxlbj0wfWZ1bmN0aW9uIG9ud3JpdGUoZSx0KXt2YXIgcj1lLl93cml0YWJsZVN0YXRlLGk9ci5zeW5jLG49ci53cml0ZWNiO2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVSUl9NVUxUSVBMRV9DQUxMQkFDSztpZihvbndyaXRlU3RhdGVVcGRhdGUociksdClvbndyaXRlRXJyb3IoZSxyLGksdCxuKTtlbHNle3ZhciBvPW5lZWRGaW5pc2gocil8fGUuZGVzdHJveWVkO298fHIuY29ya2VkfHxyLmJ1ZmZlclByb2Nlc3Npbmd8fCFyLmJ1ZmZlcmVkUmVxdWVzdHx8Y2xlYXJCdWZmZXIoZSxyKSxpP3Byb2Nlc3MubmV4dFRpY2soYWZ0ZXJXcml0ZSxlLHIsbyxuKTphZnRlcldyaXRlKGUscixvLG4pfX1mdW5jdGlvbiBhZnRlcldyaXRlKGUsdCxyLGkpe3J8fG9ud3JpdGVEcmFpbihlLHQpLHQucGVuZGluZ2NiLS0saSgpLGZpbmlzaE1heWJlKGUsdCl9ZnVuY3Rpb24gb253cml0ZURyYWluKGUsdCl7MD09PXQubGVuZ3RoJiZ0Lm5lZWREcmFpbiYmKHQubmVlZERyYWluPSExLGUuZW1pdChcImRyYWluXCIpKX1mdW5jdGlvbiBjbGVhckJ1ZmZlcihlLHQpe3QuYnVmZmVyUHJvY2Vzc2luZz0hMDt2YXIgcj10LmJ1ZmZlcmVkUmVxdWVzdDtpZihlLl93cml0ZXYmJnImJnIubmV4dCl7dmFyIGk9dC5idWZmZXJlZFJlcXVlc3RDb3VudCxuPW5ldyBBcnJheShpKSxvPXQuY29ya2VkUmVxdWVzdHNGcmVlO28uZW50cnk9cjtmb3IodmFyIHM9MCxhPSEwO3I7KW5bc109cixyLmlzQnVmfHwoYT0hMSkscj1yLm5leHQscys9MTtuLmFsbEJ1ZmZlcnM9YSxkb1dyaXRlKGUsdCwhMCx0Lmxlbmd0aCxuLFwiXCIsby5maW5pc2gpLHQucGVuZGluZ2NiKyssdC5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwsby5uZXh0Pyh0LmNvcmtlZFJlcXVlc3RzRnJlZT1vLm5leHQsby5uZXh0PW51bGwpOnQuY29ya2VkUmVxdWVzdHNGcmVlPW5ldyBDb3JrZWRSZXF1ZXN0KHQpLHQuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MH1lbHNle2Zvcig7cjspe3ZhciB1PXIuY2h1bmssZj1yLmVuY29kaW5nLGw9ci5jYWxsYmFjaztpZihkb1dyaXRlKGUsdCwhMSx0Lm9iamVjdE1vZGU/MTp1Lmxlbmd0aCx1LGYsbCkscj1yLm5leHQsdC5idWZmZXJlZFJlcXVlc3RDb3VudC0tLHQud3JpdGluZylicmVha31udWxsPT09ciYmKHQubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsKX10LmJ1ZmZlcmVkUmVxdWVzdD1yLHQuYnVmZmVyUHJvY2Vzc2luZz0hMX1mdW5jdGlvbiBuZWVkRmluaXNoKGUpe3JldHVybiBlLmVuZGluZyYmMD09PWUubGVuZ3RoJiZudWxsPT09ZS5idWZmZXJlZFJlcXVlc3QmJiFlLmZpbmlzaGVkJiYhZS53cml0aW5nfWZ1bmN0aW9uIGNhbGxGaW5hbChlLHQpe2UuX2ZpbmFsKGZ1bmN0aW9uKHIpe3QucGVuZGluZ2NiLS0sciYmZXJyb3JPckRlc3Ryb3koZSxyKSx0LnByZWZpbmlzaGVkPSEwLGUuZW1pdChcInByZWZpbmlzaFwiKSxmaW5pc2hNYXliZShlLHQpfSl9ZnVuY3Rpb24gcHJlZmluaXNoKGUsdCl7dC5wcmVmaW5pc2hlZHx8dC5maW5hbENhbGxlZHx8KFwiZnVuY3Rpb25cIiE9dHlwZW9mIGUuX2ZpbmFsfHx0LmRlc3Ryb3llZD8odC5wcmVmaW5pc2hlZD0hMCxlLmVtaXQoXCJwcmVmaW5pc2hcIikpOih0LnBlbmRpbmdjYisrLHQuZmluYWxDYWxsZWQ9ITAscHJvY2Vzcy5uZXh0VGljayhjYWxsRmluYWwsZSx0KSkpfWZ1bmN0aW9uIGZpbmlzaE1heWJlKGUsdCl7dmFyIHI9bmVlZEZpbmlzaCh0KTtpZihyJiYocHJlZmluaXNoKGUsdCksMD09PXQucGVuZGluZ2NiJiYodC5maW5pc2hlZD0hMCxlLmVtaXQoXCJmaW5pc2hcIiksdC5hdXRvRGVzdHJveSkpKXt2YXIgaT1lLl9yZWFkYWJsZVN0YXRlOyghaXx8aS5hdXRvRGVzdHJveSYmaS5lbmRFbWl0dGVkKSYmZS5kZXN0cm95KCl9cmV0dXJuIHJ9ZnVuY3Rpb24gZW5kV3JpdGFibGUoZSx0LHIpe3QuZW5kaW5nPSEwLGZpbmlzaE1heWJlKGUsdCksciYmKHQuZmluaXNoZWQ/cHJvY2Vzcy5uZXh0VGljayhyKTplLm9uY2UoXCJmaW5pc2hcIixyKSksdC5lbmRlZD0hMCxlLndyaXRhYmxlPSExfWZ1bmN0aW9uIG9uQ29ya2VkRmluaXNoKGUsdCxyKXt2YXIgaT1lLmVudHJ5O2ZvcihlLmVudHJ5PW51bGw7aTspe3ZhciBuPWkuY2FsbGJhY2s7dC5wZW5kaW5nY2ItLSxuKHIpLGk9aS5uZXh0fXQuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQ9ZX1yZXF1aXJlKFwiaW5oZXJpdHNcIikoV3JpdGFibGUsU3RyZWFtKSxXcml0YWJsZVN0YXRlLnByb3RvdHlwZS5nZXRCdWZmZXI9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5idWZmZXJlZFJlcXVlc3QsdD1bXTtlOyl0LnB1c2goZSksZT1lLm5leHQ7cmV0dXJuIHR9LGZ1bmN0aW9uKCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZVN0YXRlLnByb3RvdHlwZSxcImJ1ZmZlclwiLHtnZXQ6aW50ZXJuYWxVdGlsLmRlcHJlY2F0ZShmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEJ1ZmZlcigpfSxcIl93cml0YWJsZVN0YXRlLmJ1ZmZlciBpcyBkZXByZWNhdGVkLiBVc2UgX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyIGluc3RlYWQuXCIsXCJERVAwMDAzXCIpfSl9Y2F0Y2goZSl7fX0oKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5oYXNJbnN0YW5jZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0/KHJlYWxIYXNJbnN0YW5jZT1GdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSxPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUsU3ltYm9sLmhhc0luc3RhbmNlLHt2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4hIXJlYWxIYXNJbnN0YW5jZS5jYWxsKHRoaXMsZSl8fHRoaXM9PT1Xcml0YWJsZSYmKGUmJmUuX3dyaXRhYmxlU3RhdGUgaW5zdGFuY2VvZiBXcml0YWJsZVN0YXRlKX19KSk6cmVhbEhhc0luc3RhbmNlPWZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2YgdGhpc30sV3JpdGFibGUucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oKXtlcnJvck9yRGVzdHJveSh0aGlzLG5ldyBFUlJfU1RSRUFNX0NBTk5PVF9QSVBFKX0sV3JpdGFibGUucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10aGlzLl93cml0YWJsZVN0YXRlLG49ITEsbz0haS5vYmplY3RNb2RlJiZfaXNVaW50OEFycmF5KGUpO3JldHVybiBvJiYhQnVmZmVyLmlzQnVmZmVyKGUpJiYoZT1fdWludDhBcnJheVRvQnVmZmVyKGUpKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiB0JiYocj10LHQ9bnVsbCksbz90PVwiYnVmZmVyXCI6dHx8KHQ9aS5kZWZhdWx0RW5jb2RpbmcpLFwiZnVuY3Rpb25cIiE9dHlwZW9mIHImJihyPW5vcCksaS5lbmRpbmc/d3JpdGVBZnRlckVuZCh0aGlzLHIpOihvfHx2YWxpZENodW5rKHRoaXMsaSxlLHIpKSYmKGkucGVuZGluZ2NiKyssbj13cml0ZU9yQnVmZmVyKHRoaXMsaSxvLGUsdCxyKSksbn0sV3JpdGFibGUucHJvdG90eXBlLmNvcms9ZnVuY3Rpb24oKXt0aGlzLl93cml0YWJsZVN0YXRlLmNvcmtlZCsrfSxXcml0YWJsZS5wcm90b3R5cGUudW5jb3JrPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fd3JpdGFibGVTdGF0ZTtlLmNvcmtlZCYmKGUuY29ya2VkLS0sZS53cml0aW5nfHxlLmNvcmtlZHx8ZS5idWZmZXJQcm9jZXNzaW5nfHwhZS5idWZmZXJlZFJlcXVlc3R8fGNsZWFyQnVmZmVyKHRoaXMsZSkpfSxXcml0YWJsZS5wcm90b3R5cGUuc2V0RGVmYXVsdEVuY29kaW5nPWZ1bmN0aW9uKGUpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlJiYoZT1lLnRvTG93ZXJDYXNlKCkpLCEoW1wiaGV4XCIsXCJ1dGY4XCIsXCJ1dGYtOFwiLFwiYXNjaWlcIixcImJpbmFyeVwiLFwiYmFzZTY0XCIsXCJ1Y3MyXCIsXCJ1Y3MtMlwiLFwidXRmMTZsZVwiLFwidXRmLTE2bGVcIixcInJhd1wiXS5pbmRleE9mKChlK1wiXCIpLnRvTG93ZXJDYXNlKCkpPi0xKSl0aHJvdyBuZXcgRVJSX1VOS05PV05fRU5DT0RJTkcoZSk7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVmYXVsdEVuY29kaW5nPWUsdGhpc30sT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSxcIndyaXRhYmxlQnVmZmVyXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSxcIndyaXRhYmxlSGlnaFdhdGVyTWFya1wiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSksV3JpdGFibGUucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihlLHQscil7cihuZXcgRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQoXCJfd3JpdGUoKVwiKSl9LFdyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGV2PW51bGwsV3JpdGFibGUucHJvdG90eXBlLmVuZD1mdW5jdGlvbihlLHQscil7dmFyIGk9dGhpcy5fd3JpdGFibGVTdGF0ZTtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBlPyhyPWUsZT1udWxsLHQ9bnVsbCk6XCJmdW5jdGlvblwiPT10eXBlb2YgdCYmKHI9dCx0PW51bGwpLG51bGwhPWUmJnRoaXMud3JpdGUoZSx0KSxpLmNvcmtlZCYmKGkuY29ya2VkPTEsdGhpcy51bmNvcmsoKSksaS5lbmRpbmd8fGVuZFdyaXRhYmxlKHRoaXMsaSxyKSx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwid3JpdGFibGVMZW5ndGhcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGh9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSxcImRlc3Ryb3llZFwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKGUpe3RoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD1lKX19KSxXcml0YWJsZS5wcm90b3R5cGUuZGVzdHJveT1kZXN0cm95SW1wbC5kZXN0cm95LFdyaXRhYmxlLnByb3RvdHlwZS5fdW5kZXN0cm95PWRlc3Ryb3lJbXBsLnVuZGVzdHJveSxXcml0YWJsZS5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oZSx0KXt0KGUpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsOXpkSEpsWVcxZmQzSnBkR0ZpYkdVdWFuTWlYU3dpYm1GdFpYTWlPbHNpVjNKcGRHVlNaWEVpTENKamFIVnVheUlzSW1WdVkyOWthVzVuSWl3aVkySWlMQ0owYUdseklpd2lZMkZzYkdKaFkyc2lMQ0p1WlhoMElpd2lRMjl5YTJWa1VtVnhkV1Z6ZENJc0luTjBZWFJsSWl3aVgzUm9hWE1pTENKbGJuUnllU0lzSW1acGJtbHphQ0lzSW05dVEyOXlhMlZrUm1sdWFYTm9JaXdpUkhWd2JHVjRJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWxkeWFYUmhZbXhsSWl3aVYzSnBkR0ZpYkdWVGRHRjBaU0lzSW1sdWRHVnlibUZzVlhScGJDSXNJbVJsY0hKbFkyRjBaU0lzSW5KbGNYVnBjbVVpTENKVGRISmxZVzBpTENKQ2RXWm1aWElpTENKUGRYSlZhVzUwT0VGeWNtRjVJaXdpWjJ4dlltRnNJaXdpVldsdWREaEJjbkpoZVNJc0lsOTFhVzUwT0VGeWNtRjVWRzlDZFdabVpYSWlMQ0ptY205dElpd2lYMmx6VldsdWREaEJjbkpoZVNJc0ltOWlhaUlzSW1selFuVm1abVZ5SWl3aWNtVmhiRWhoYzBsdWMzUmhibU5sSWl3aVpHVnpkSEp2ZVVsdGNHd2lMQ0pmY21WeGRXbHlaU0lzSW1kbGRFaHBaMmhYWVhSbGNrMWhjbXNpTENKZmNtVnhkV2x5WlNSamIyUmxjeUlzSW1OdlpHVnpJaXdpUlZKU1gwbE9Wa0ZNU1VSZlFWSkhYMVJaVUVVaUxDSkZVbEpmVFVWVVNFOUVYMDVQVkY5SlRWQk1SVTFGVGxSRlJDSXNJa1ZTVWw5TlZVeFVTVkJNUlY5RFFVeE1Ra0ZEU3lJc0lrVlNVbDlUVkZKRlFVMWZRMEZPVGs5VVgxQkpVRVVpTENKRlVsSmZVMVJTUlVGTlgwUkZVMVJTVDFsRlJDSXNJa1ZTVWw5VFZGSkZRVTFmVGxWTVRGOVdRVXhWUlZNaUxDSkZVbEpmVTFSU1JVRk5YMWRTU1ZSRlgwRkdWRVZTWDBWT1JDSXNJa1ZTVWw5VlRrdE9UMWRPWDBWT1EwOUVTVTVISWl3aVpYSnliM0pQY2tSbGMzUnliM2tpTENKdWIzQWlMQ0p2Y0hScGIyNXpJaXdpYzNSeVpXRnRJaXdpYVhORWRYQnNaWGdpTENKdlltcGxZM1JOYjJSbElpd2lkM0pwZEdGaWJHVlBZbXBsWTNSTmIyUmxJaXdpYUdsbmFGZGhkR1Z5VFdGeWF5SXNJbVpwYm1Gc1EyRnNiR1ZrSWl3aWJtVmxaRVJ5WVdsdUlpd2laVzVrYVc1bklpd2laVzVrWldRaUxDSm1hVzVwYzJobFpDSXNJbVJsYzNSeWIzbGxaQ0lzSW01dlJHVmpiMlJsSWl3aVpHVmpiMlJsVTNSeWFXNW5jeUlzSW1SbFptRjFiSFJGYm1OdlpHbHVaeUlzSW14bGJtZDBhQ0lzSW5keWFYUnBibWNpTENKamIzSnJaV1FpTENKemVXNWpJaXdpWW5WbVptVnlVSEp2WTJWemMybHVaeUlzSW05dWQzSnBkR1VpTENKbGNpSXNJbmR5YVhSbFkySWlMQ0ozY21sMFpXeGxiaUlzSW1KMVptWmxjbVZrVW1WeGRXVnpkQ0lzSW14aGMzUkNkV1ptWlhKbFpGSmxjWFZsYzNRaUxDSndaVzVrYVc1blkySWlMQ0p3Y21WbWFXNXBjMmhsWkNJc0ltVnljbTl5UlcxcGRIUmxaQ0lzSW1WdGFYUkRiRzl6WlNJc0ltRjFkRzlFWlhOMGNtOTVJaXdpWW5WbVptVnlaV1JTWlhGMVpYTjBRMjkxYm5RaUxDSmpiM0pyWldSU1pYRjFaWE4wYzBaeVpXVWlMQ0pqWVd4c0lpd2lYM2R5YVhSaFlteGxVM1JoZEdVaUxDSjNjbWwwWVdKc1pTSXNJbmR5YVhSbElpd2lYM2R5YVhSbElpd2lkM0pwZEdWMklpd2lYM2R5YVhSbGRpSXNJbVJsYzNSeWIza2lMQ0pmWkdWemRISnZlU0lzSW1acGJtRnNJaXdpWDJacGJtRnNJaXdpZDNKcGRHVkJablJsY2tWdVpDSXNJbkJ5YjJObGMzTWlMQ0p1WlhoMFZHbGpheUlzSW5aaGJHbGtRMmgxYm1zaUxDSmtaV052WkdWRGFIVnVheUlzSW5keWFYUmxUM0pDZFdabVpYSWlMQ0pwYzBKMVppSXNJbTVsZDBOb2RXNXJJaXdpYkdWdUlpd2ljbVYwSWl3aWJHRnpkQ0lzSW1SdlYzSnBkR1VpTENKdmJuZHlhWFJsUlhKeWIzSWlMQ0ptYVc1cGMyaE5ZWGxpWlNJc0ltOXVkM0pwZEdWVGRHRjBaVlZ3WkdGMFpTSXNJbTVsWldSR2FXNXBjMmdpTENKamJHVmhja0oxWm1abGNpSXNJbUZtZEdWeVYzSnBkR1VpTENKdmJuZHlhWFJsUkhKaGFXNGlMQ0psYldsMElpd2liQ0lzSW1KMVptWmxjaUlzSWtGeWNtRjVJaXdpYUc5c1pHVnlJaXdpWTI5MWJuUWlMQ0poYkd4Q2RXWm1aWEp6SWl3aVkyRnNiRVpwYm1Gc0lpd2laWEp5SWl3aWNISmxabWx1YVhOb0lpd2libVZsWkNJc0luSlRkR0YwWlNJc0lsOXlaV0ZrWVdKc1pWTjBZWFJsSWl3aVpXNWtSVzFwZEhSbFpDSXNJbVZ1WkZkeWFYUmhZbXhsSWl3aWIyNWpaU0lzSW1OdmNtdFNaWEVpTENKd2NtOTBiM1I1Y0dVaUxDSm5aWFJDZFdabVpYSWlMQ0pqZFhKeVpXNTBJaXdpYjNWMElpd2ljSFZ6YUNJc0lrOWlhbVZqZENJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVoyVjBJaXdpWHlJc0lsTjViV0p2YkNJc0ltaGhjMGx1YzNSaGJtTmxJaXdpUm5WdVkzUnBiMjRpTENKMllXeDFaU0lzSW05aWFtVmpkQ0lzSW5CcGNHVWlMQ0pqYjNKcklpd2lkVzVqYjNKcklpd2ljMlYwUkdWbVlYVnNkRVZ1WTI5a2FXNW5JaXdpZEc5TWIzZGxja05oYzJVaUxDSnBibVJsZUU5bUlpd2laVzUxYldWeVlXSnNaU0lzSW1WdVpDSXNJblZ1WkdWbWFXNWxaQ0lzSW5ObGRDSXNJbDkxYm1SbGMzUnliM2tpTENKMWJtUmxjM1J5YjNraVhTd2liV0Z3Y0dsdVozTWlPaUpCUVhWQ1FTeGhRVXRCTEZOQlFWTkJMRk5CUVZORExFVkJRVTlETEVWQlFWVkRMRWRCUTJwRFF5eExRVUZMU0N4TlFVRlJRU3hGUVVOaVJ5eExRVUZMUml4VFFVRlhRU3hGUVVOb1FrVXNTMEZCUzBNc1UwRkJWMFlzUlVGRGFFSkRMRXRCUVV0RkxFdEJRVThzUzBGTFpDeFRRVUZUUXl4alFVRmpReXhIUVVOeVFpeEpRVUZKUXl4RlFVRlJUQ3hMUVVWYVFTeExRVUZMUlN4TFFVRlBMRXRCUTFwR0xFdEJRVXROTEUxQlFWRXNTMEZGWWs0c1MwRkJTMDhzVDBGQlV5eFhRVU5hUXl4bFFVRmxTQ3hGUVVGUFJDeEpRVkV4UWl4SlFVRkpTeXhQUVROQ1NrTXNUMEZCVDBNc1VVRkJWVU1zVTBFNFFtcENRU3hUUVVGVFF5eGpRVUZuUWtFc1kwRkhla0lzU1VGQlNVTXNZVUZCWlN4RFFVTnFRa01zVlVGQlYwTXNVVUZCVVN4dFFrRk5ha0pETEU5QlFWTkVMRkZCUVZFc05rSkJTV3BDUlN4UFFVRlRSaXhSUVVGUkxGVkJRVlZGTEU5QlJUTkNReXhqUVVGblFrTXNUMEZCVDBNc1dVRkJZeXhoUVVWNlF5eFRRVUZUUXl4dlFrRkJiMEo2UWl4SFFVTXpRaXhQUVVGUGNVSXNUMEZCVDBzc1MwRkJTekZDTEVkQlIzSkNMRk5CUVZNeVFpeGpRVUZqUXl4SFFVTnlRaXhQUVVGUFVDeFBRVUZQVVN4VFFVRlRSQ3hKUVVGUlFTeGhRVUZsVGl4alFVZG9SQ3hKUVd0SlNWRXNaMEpCYkVsQlF5eFpRVUZqV2l4UlFVRlJMRGhDUVVWMFFtRXNVMEZCVjJJc1VVRkJVU3cwUWtGRGJrSmpMR2xDUVVGdFFrUXNVMEZCVTBNc2FVSkJSVFZDUXl4bFFVRnBRbVlzVVVGQlVTeGhRVUZoWjBJc1RVRkRkRU5ETEhGQ1FVRjFRa1lzWlVGQlpVVXNjVUpCUTNSRFF5d3lRa0ZCTmtKSUxHVkJRV1ZITERKQ1FVTTFRME1zYzBKQlFYZENTaXhsUVVGbFNTeHpRa0ZEZGtORExIVkNRVUY1UWt3c1pVRkJaVXNzZFVKQlEzaERReXh4UWtGQmRVSk9MR1ZCUVdWTkxIRkNRVU4wUTBNc2RVSkJRWGxDVUN4bFFVRmxUeXgxUWtGRGVFTkRMREpDUVVFMlFsSXNaVUZCWlZFc01rSkJRelZEUXl4eFFrRkJkVUpVTEdWQlFXVlRMSEZDUVVWMFEwTXNaVUZCYVVKaUxGbEJRVmxoTEdWQlNXcERMRk5CUVZORExFOUJSVlFzVTBGQlV6ZENMR05CUVdNNFFpeEZRVUZUUXl4RlFVRlJReXhIUVVOMFEzQkRMRTlCUVZOQkxGRkJRVlZQTEZGQlFWRXNiMEpCUXpOQ01rSXNSVUZCVlVFc1IwRkJWeXhIUVUxSExHdENRVUZpUlN4SlFVRjNRa0VzUlVGQlYwUXNZVUZCYTBKdVF5eFJRVWRvUlZRc1MwRkJTemhETEdGQlFXVklMRVZCUVZGSExGZEJRM2hDUkN4SlFVRlZOME1zUzBGQlN6aERMRmRCUVdFNVF5eExRVUZMT0VNc1kwRkJaMEpJTEVWQlFWRkpMRzlDUVVrM1JDOURMRXRCUVV0blJDeGpRVUZuUW14Q0xHbENRVUZwUWpsQ0xFdEJRVTB5UXl4RlFVRlRMSGRDUVVGNVFrVXNSMEZGT1VVM1F5eExRVUZMYVVRc1lVRkJZeXhGUVVWdVFtcEVMRXRCUVV0clJDeFhRVUZaTEVWQlJXcENiRVFzUzBGQlMyMUVMRkZCUVZNc1JVRkZaRzVFTEV0QlFVdHZSQ3hQUVVGUkxFVkJSV0p3UkN4TFFVRkxjVVFzVlVGQlZ5eEZRVVZvUW5KRUxFdEJRVXR6UkN4WFFVRlpMRVZCU1dwQ0xFbEJRVWxETEVkQlFYRkRMRWxCUVRGQ1dpeEZRVUZSWVN4alFVTjJRbmhFTEV0QlFVdDNSQ3hsUVVGcFFrUXNSVUZKZEVKMlJDeExRVUZMZVVRc1owSkJRV3RDWkN4RlFVRlJZeXhwUWtGQmJVSXNUMEZKYkVSNlJDeExRVUZMTUVRc1QwRkJVeXhGUVVWa01VUXNTMEZCU3pKRUxGTkJRVlVzUlVGRlpqTkVMRXRCUVVzMFJDeFBRVUZUTEVWQlMyUTFSQ3hMUVVGTE5rUXNUVUZCVHl4RlFVbGFOMFFzUzBGQlN6aEVMR3RDUVVGdFFpeEZRVVY0UWpsRUxFdEJRVXNyUkN4UlFVRlZMRk5CUVZWRExFZEJRM1pDUkN4UlFVRlJia0lzUlVGQlVXOUNMRWxCU1d4Q2FFVXNTMEZCUzJsRkxGRkJRVlVzUzBGRlptcEZMRXRCUVV0clJTeFRRVUZYTEVWQlEyaENiRVVzUzBGQlMyMUZMR2RDUVVGclFpeExRVU4yUW01RkxFdEJRVXR2UlN4dlFrRkJjMElzUzBGSE0wSndSU3hMUVVGTGNVVXNWVUZCV1N4RlFVZHFRbkpGTEV0QlFVdHpSU3hoUVVGakxFVkJSVzVDZEVVc1MwRkJTM1ZGTEdOQlFXVXNSVUZGY0VKMlJTeExRVUZMZDBVc1YwRkJhME1zU1VGQmRFSTNRaXhGUVVGUk5rSXNWVUZGZWtKNFJTeExRVUZMZVVVc1kwRkJaMEk1UWl4RlFVRlJPRUlzV1VGRk4wSjZSU3hMUVVGTE1FVXNjVUpCUVhWQ0xFVkJSelZDTVVVc1MwRkJTekpGTEcxQ1FVRnhRaXhKUVVGSmVFVXNZMEZCWTBnc1RVRTBRemxETEZOQlFWTlpMRk5CUVZNclFpeEhRVlZvUWl4SlFVRkpSU3hGUVVGWE4wTXNaMEpCVkdaVExFOUJRVk5CTEZGQlFWVlBMRkZCUVZFc2NVSkJWVE5DTEVsQlFVczJRaXhKUVVGaGJFSXNaMEpCUVdkQ2FVUXNTMEZCUzJoRkxGTkJRVlZhTEUxQlFVOHNUMEZCVHl4SlFVRkpXU3hUUVVGVEswSXNSMEZETlVVelF5eExRVUZMTmtVc1pVRkJhVUlzU1VGQlNXaEZMR05CUVdNNFFpeEZRVUZUTTBNc1MwRkJUVFpETEVkQlJYWkVOME1zUzBGQlN6aEZMRlZCUVZjc1JVRkZXbTVETEVsQlF6SkNMRzFDUVVGc1FrRXNSVUZCVVc5RExGRkJRWE5DTDBVc1MwRkJTMmRHTEU5QlFWTnlReXhGUVVGUmIwTXNUMEZEYWtNc2JVSkJRVzVDY0VNc1JVRkJVWE5ETEZOQlFYVkNha1lzUzBGQlMydEdMRkZCUVZWMlF5eEZRVUZSYzBNc1VVRkRiRU1zYlVKQlFYQkNkRU1zUlVGQlVYZERMRlZCUVhkQ2JrWXNTMEZCUzI5R0xGTkJRVmQ2UXl4RlFVRlJkME1zVTBGRGRFTXNiVUpCUVd4Q2VFTXNSVUZCVVRCRExGRkJRWE5DY2tZc1MwRkJTM05HTEU5QlFWTXpReXhGUVVGUk1FTXNVVUZIYWtWd1JTeFBRVUZQTWtRc1MwRkJTelZGTEUxQlVXUXNVMEZCVTNWR0xHTkJRV016UXl4RlFVRlJOME1zUjBGRE4wSXNTVUZCU1dsRkxFVkJRVXNzU1VGQlNYcENMREpDUVVWaVJTeGxRVUZsUnl4RlFVRlJiMElzUjBGRGRrSjNRaXhSUVVGUlF5eFRRVUZUTVVZc1JVRkJTV2xGTEVkQlRYWkNMRk5CUVZNd1FpeFhRVUZYT1VNc1JVRkJVWGhETEVWQlFVOVFMRVZCUVU5RkxFZEJRM2hETEVsQlFVbHBSU3hGUVZGS0xFOUJUbU1zVDBGQlZtNUZMRVZCUTBadFJTeEZRVUZMTEVsQlFVa3hRaXgxUWtGRGFVSXNhVUpCUVZaNlF5eEhRVUYxUWs4c1JVRkJUVEJETEdGQlF6ZERhMElzUlVGQlN5eEpRVUZKTDBJc2NVSkJRWEZDTEZGQlFWTXNRMEZCUXl4VFFVRlZMRlZCUVZkd1F5eExRVWN6UkcxRkxFbEJRMFoyUWl4bFFVRmxSeXhGUVVGUmIwSXNSMEZEZGtKM1FpeFJRVUZSUXl4VFFVRlRNVVlzUlVGQlNXbEZMRWxCUTJRc1IwRTJSRmdzVTBGQlV6SkNMRmxCUVZsMlJpeEZRVUZQVUN4RlFVRlBReXhIUVV0cVF5eFBRVXBMVFN4RlFVRk5NRU1zWVVGQmMwTXNTVUZCZUVJeFF5eEZRVUZOYjBRc1pVRkJORU1zYVVKQlFWWXpSQ3hKUVVNdlJFRXNSVUZCVVhGQ0xFOUJRVTlMTEV0QlFVc3hRaXhGUVVGUFF5eEpRVWQwUWtRc1JVRmxWQ3hUUVVGVEswWXNZMEZCWTJoRUxFVkJRVkY0UXl4RlFVRlBlVVlzUlVGQlQyaEhMRVZCUVU5RExFVkJRVlZETEVkQlF6VkVMRWxCUVVzNFJpeEZRVUZQTEVOQlExWXNTVUZCU1VNc1JVRkJWMGdzV1VGQldYWkdMRVZCUVU5UUxFVkJRVTlETEVkQlJYSkRSQ3hKUVVGVmFVY3NTVUZEV2tRc1IwRkJVU3hGUVVOU0wwWXNSVUZCVnl4VFFVTllSQ3hGUVVGUmFVY3NSMEZKV2l4SlFVRkpReXhGUVVGTk0wWXNSVUZCVFRCRExGZEJRV0VzUlVGQlNXcEVMRVZCUVUwMlJDeFBRVU4yUTNSRUxFVkJRVTF6UkN4UlFVRlZjVU1zUlVGRGFFSXNTVUZCU1VNc1JVRkJUVFZHTEVWQlFVMXpSQ3hQUVVGVGRFUXNSVUZCVFRSRExHTkJTUzlDTEVkQlJrdG5SQ3hKUVVGTE5VWXNSVUZCVFRoRExGZEJRVmtzUjBGRmVFSTVReXhGUVVGTmRVUXNVMEZCVjNaRUxFVkJRVTEzUkN4UFFVRlJMRU5CUTJwRExFbEJRVWx4UXl4RlFVRlBOMFlzUlVGQlRXZEZMRzlDUVVOcVFtaEZMRVZCUVUxblJTeHZRa0ZCYzBJc1EwRkRNVUoyUlN4TlFVRlBRU3hGUVVOUVF5eFRRVUZWUVN4RlFVTldLMFlzVFVGQlQwRXNSVUZEVURWR0xGTkJRVlZHTEVWQlExWkhMRXRCUVUwc1RVRkhTaXRHTEVWQlEwWkJMRVZCUVVzdlJpeExRVUZQUlN4RlFVRk5aMFVzYjBKQlJXeENhRVVzUlVGQlRTdEVMR2RDUVVGclFpOUVMRVZCUVUxblJTeHZRa0ZIYUVOb1JTeEZRVUZOYzBVc2MwSkJRWGRDTEU5QlJUbENkMElzVVVGQlVYUkVMRVZCUVZGNFF5eEhRVUZQTEVWQlFVOHlSaXhGUVVGTGJFY3NSVUZCVDBNc1JVRkJWVU1zUjBGSGRFUXNUMEZCVDJsSExFVkJSMVFzVTBGQlUwVXNVVUZCVVhSRUxFVkJRVkY0UXl4RlFVRlBOa1VzUlVGQlVXTXNSVUZCUzJ4SExFVkJRVTlETEVWQlFWVkRMRWRCUXpWRVN5eEZRVUZOT0VRc1UwRkJWelpDTEVWQlEycENNMFlzUlVGQlRUWkVMRkZCUVZWc1JTeEZRVU5vUWtzc1JVRkJUWFZFTEZOQlFWVXNSVUZEYUVKMlJDeEZRVUZOZVVRc1RVRkJUeXhGUVVOVWVrUXNSVUZCVFd0RUxGVkJRVmRzUkN4RlFVRk5Na1FzVVVGQlVTeEpRVUZKTVVJc2NVSkJRWEZDTEZWQlFXMUNORU1zUlVGQlVYSkRMRVZCUVU5elF5eFJRVUZSY2tZc1JVRkJUMDhzUlVGQlRUSkVMRk5CUVdOdVFpeEZRVUZQYjBNc1QwRkJUMjVHTEVWQlFVOURMRVZCUVZWTkxFVkJRVTB5UkN4VFFVTjBTek5FTEVWQlFVMTVSQ3hOUVVGUExFVkJSMllzVTBGQlUzTkRMR0ZCUVdGMlJDeEZRVUZSZUVNc1JVRkJUM2xFTEVWQlFVMUhMRVZCUVVscVJTeExRVU16UTBzc1JVRkJUV2xGTEZWQlJVcFNMRWRCUjBZeVFpeFJRVUZSUXl4VFFVRlRNVVlzUlVGQlNXbEZMRWRCUjNKQ2QwSXNVVUZCVVVNc1UwRkJVMWNzV1VGQllYaEVMRVZCUVZGNFF5eEhRVU4wUTNkRExFVkJRVTlwUXl4bFFVRmxUaXhqUVVGbExFVkJRM0pET1VJc1pVRkJaVWNzUlVGQlVXOUNMRXRCU1haQ2FrVXNSVUZCUjJsRkxFZEJRMGh3UWl4RlFVRlBhVU1zWlVGQlpVNHNZMEZCWlN4RlFVTnlRemxDTEdWQlFXVkhMRVZCUVZGdlFpeEhRVWQyUW05RExGbEJRVmw0UkN4RlFVRlJlRU1zU1VGSmVFSXNVMEZCVTJsSExHMUNRVUZ0UW1wSExFZEJRekZDUVN4RlFVRk5kVVFzVTBGQlZTeEZRVU5vUW5aRUxFVkJRVTAyUkN4UlFVRlZMRXRCUTJoQ04wUXNSVUZCVFhORUxGRkJRVlYwUkN4RlFVRk5PRVFzVTBGRGRFSTVSQ3hGUVVGTk9FUXNVMEZCVnl4RlFVZHVRaXhUUVVGVFNDeFJRVUZSYmtJc1JVRkJVVzlDTEVkQlEzWkNMRWxCUVVrMVJDeEZRVUZSZDBNc1JVRkJUMmxETEdWQlEyWm9RaXhGUVVGUGVrUXNSVUZCVFhsRUxFdEJRMkk1UkN4RlFVRkxTeXhGUVVGTk5rUXNVVUZEWml4SFFVRnJRaXh0UWtGQlVHeEZMRVZCUVcxQ0xFMUJRVTBzU1VGQlNXOURMSE5DUVVWNFF5eEhRVVJCYTBVc2JVSkJRVzFDYWtjc1IwRkRaalJFTEVWQlFVbHRReXhoUVVGaGRrUXNSVUZCVVhoRExFVkJRVTk1UkN4RlFVRk5SeXhGUVVGSmFrVXNUMEZCVXl4RFFVVnlSQ3hKUVVGSmMwUXNSVUZCVjJsRUxGZEJRVmRzUnl4SlFVRlZkME1zUlVGQlQxVXNWVUZGZEVORUxFZEJRV0ZxUkN4RlFVRk5kMFFzVVVGQlYzaEVMRVZCUVUwd1JDeHRRa0ZCYjBJeFJDeEZRVUZOSzBRc2FVSkJRMnBGYjBNc1dVRkJXVE5FTEVWQlFWRjRReXhIUVVkc1FubEVMRVZCUTBZeVFpeFJRVUZSUXl4VFFVRlRaU3hYUVVGWk5VUXNSVUZCVVhoRExFVkJRVTlwUkN4RlFVRlZkRVFzUjBGRmRFUjVSeXhYUVVGWE5VUXNSVUZCVVhoRExFVkJRVTlwUkN4RlFVRlZkRVFzU1VGTE1VTXNVMEZCVTNsSExGZEJRVmMxUkN4RlFVRlJlRU1zUlVGQlQybEVMRVZCUVZWMFJDeEhRVU4wUTNORUxFZEJRVlZ2UkN4aFFVRmhOMFFzUlVGQlVYaERMRWRCUTNCRFFTeEZRVUZOYVVVc1dVRkRUblJGTEVsQlEwRnhSeXhaUVVGWmVFUXNSVUZCVVhoRExFZEJUWFJDTEZOQlFWTnhSeXhoUVVGaE4wUXNSVUZCVVhoRExFZEJRMUFzU1VGQmFrSkJMRVZCUVUxelJDeFJRVUZuUW5SRUxFVkJRVTA0UXl4WlFVTTVRamxETEVWQlFVMDRReXhYUVVGWkxFVkJRMnhDVGl4RlFVRlBPRVFzUzBGQlN5eFZRVXRvUWl4VFFVRlRTQ3haUVVGWk0wUXNSVUZCVVhoRExFZEJRek5DUVN4RlFVRk5NRVFzYTBKQlFXMUNMRVZCUTNwQ0xFbEJRVWw0UkN4RlFVRlJSaXhGUVVGTkswUXNaMEpCUld4Q0xFZEJRVWwyUWl4RlFVRlBjME1zVTBGQlZ6VkZMRWRCUVZOQkxFVkJRVTFLTEV0QlFVMHNRMEZGZWtNc1NVRkJTWGxITEVWQlFVbDJSeXhGUVVGTmMwVXNjVUpCUTFaclF5eEZRVUZUTEVsQlFVbERMRTFCUVUxR0xFZEJRMjVDUnl4RlFVRlRNVWNzUlVGQlRYVkZMRzFDUVVOdVFtMURMRVZCUVU5NFJ5eE5RVUZSUVN4RlFVbG1MRWxCU0VFc1NVRkJTWGxITEVWQlFWRXNSVUZEVWtNc1IwRkJZU3hGUVVWV01VY3NSMEZEVEhOSExFVkJRVTlITEVkQlFWTjZSeXhGUVVOWVFTeEZRVUZOZFVZc1VVRkJUMjFDTEVkQlFXRXNSMEZETDBJeFJ5eEZRVUZSUVN4RlFVRk5TaXhMUVVOa05rY3NSMEZCVXl4RlFVZFlTQ3hGUVVGUFNTeFhRVUZoUVN4RlFVTndRbVFzVVVGQlVYUkVMRVZCUVZGNFF5eEhRVUZQTEVWQlFVMUJMRVZCUVUxelJDeFBRVUZSYTBRc1JVRkJVU3hIUVVGSlJTeEZRVUZQZGtjc1VVRkhPVVJJTEVWQlFVMXBSU3haUVVOT2FrVXNSVUZCVFdkRkxHOUNRVUZ6UWl4TFFVVjRRakJETEVWQlFVODFSeXhOUVVOVVJTeEZRVUZOZFVVc2JVSkJRWEZDYlVNc1JVRkJUelZITEV0QlEyeERORWNzUlVGQlR6VkhMRXRCUVU4c1RVRkZaRVVzUlVGQlRYVkZMRzFDUVVGeFFpeEpRVUZKZUVVc1kwRkJZME1zUjBGSEwwTkJMRVZCUVUxelJTeHhRa0ZCZFVJc1RVRkRlRUlzUTBGRlRDeExRVUZQY0VVc1IwRkJUeXhEUVVOYUxFbEJRVWxVTEVWQlFWRlRMRVZCUVUxVUxFMUJRMlJETEVWQlFWZFJMRVZCUVUxU0xGTkJRMnBDUXl4RlFVRkxUeXhGUVVGTlRDeFRRVk5tTEVkQlVFRnBSeXhSUVVGUmRFUXNSVUZCVVhoRExFZEJRVThzUlVGRVlrRXNSVUZCVFRCRExGZEJRV0VzUlVGQlNXcEVMRVZCUVUwMlJDeFBRVU5LTjBRc1JVRkJUME1zUlVGQlZVTXNSMEZEY0VSUExFVkJRVkZCTEVWQlFVMUtMRXRCUTJSRkxFVkJRVTF6UlN4MVFrRkxSblJGTEVWQlFVMTFSQ3hSUVVOU0xFMUJTVlVzVDBGQlZuSkVMRWxCUVdkQ1JpeEZRVUZOWjBVc2IwSkJRWE5DTEUxQlIyeEVhRVVzUlVGQlRTdEVMR2RDUVVGclFqZEVMRVZCUTNoQ1JpeEZRVUZOTUVRc2EwSkJRVzFDTEVWQk1rTXpRaXhUUVVGVGQwTXNWMEZCVjJ4SExFZEJRMnhDTEU5QlFVOUJMRVZCUVUwclF5eFJRVUV5UWl4SlFVRnFRaTlETEVWQlFVMXpSQ3hSUVVFd1F5eFBRVUV4UW5SRUxFVkJRVTByUkN4clFrRkJOa0l2UkN4RlFVRk5hVVFzVjBGQllXcEVMRVZCUVUxMVJDeFJRVWN6Unl4VFFVRlRjMFFzVlVGQlZYSkZMRVZCUVZGNFF5eEhRVU42UW5kRExFVkJRVTh3UXl4UFFVRlBMRk5CUVZVMFFpeEhRVU4wUWpsSExFVkJRVTFwUlN4WlFVVkdOa01zUjBGRFJucEZMR1ZCUVdWSExFVkJRVkZ6UlN4SFFVZDZRamxITEVWQlFVMXJSU3hoUVVGakxFVkJRM0JDTVVJc1JVRkJUemhFTEV0QlFVc3NZVUZEV2s0c1dVRkJXWGhFTEVWQlFWRjRReXhMUVVsNFFpeFRRVUZUSzBjc1ZVRkJWWFpGTEVWQlFWRjRReXhIUVVOd1FrRXNSVUZCVFd0RkxHRkJRV2RDYkVVc1JVRkJUVFpETEdOQlEwWXNiVUpCUVd4Q1RDeEZRVUZQTUVNc1VVRkJNRUpzUml4RlFVRk5hMFFzVjBGTGFFUnNSQ3hGUVVGTmEwVXNZVUZCWXl4RlFVTndRakZDTEVWQlFVODRSQ3hMUVVGTExHVkJURnAwUnl4RlFVRk5hVVVzV1VGRFRtcEZMRVZCUVUwMlF5eGhRVUZqTEVWQlEzQkNkVU1zVVVGQlVVTXNVMEZCVTNkQ0xGVkJRVmR5UlN4RlFVRlJlRU1zUzBGUk1VTXNVMEZCVTJkSExGbEJRVmw0UkN4RlFVRlJlRU1zUjBGRE0wSXNTVUZCU1dkSUxFVkJRVTlrTEZkQlFWZHNSeXhIUVVWMFFpeEhRVUZKWjBnc1NVRkRSa1FzVlVGQlZYWkZMRVZCUVZGNFF5eEhRVVZOTEVsQlFYQkNRU3hGUVVGTmFVVXNXVUZEVW1wRkxFVkJRVTFwUkN4VlFVRlhMRVZCUTJwQ1ZDeEZRVUZQT0VRc1MwRkJTeXhWUVVWU2RFY3NSVUZCVFhGRkxHTkJRV0VzUTBGSGNrSXNTVUZCU1RSRExFVkJRVk42UlN4RlFVRlBNRVVzYVVKQlJXWkVMRWRCUVZWQkxFVkJRVTgxUXl4aFFVRmxORU1zUlVGQlQwVXNZVUZETVVNelJTeEZRVUZQZFVNc1ZVRk5aaXhQUVVGUGFVTXNSVUZIVkN4VFFVRlRTU3haUVVGWk5VVXNSVUZCVVhoRExFVkJRVTlNTEVkQlEyeERTeXhGUVVGTkswTXNVVUZCVXl4RlFVTm1hVVFzV1VGQldYaEVMRVZCUVZGNFF5eEhRVVZvUWt3c1NVRkRSVXNzUlVGQlRXbEVMRk5CUVZWdFF5eFJRVUZSUXl4VFFVRlRNVVlzUjBGQlV6WkRMRVZCUVU4MlJTeExRVUZMTEZOQlFWVXhTQ3hKUVVkMFJVc3NSVUZCVFdkRUxFOUJRVkVzUlVGRFpGSXNSVUZCVDJ0RExGVkJRVmNzUlVGSGNFSXNVMEZCVTNSRkxHVkJRV1ZyU0N4RlFVRlRkRWdzUlVGQlR6aEhMRWRCUTNSRExFbEJRVWsxUnl4RlFVRlJiMGdzUlVGQlVYQklMRTFCUjNCQ0xFbEJSa0Z2U0N4RlFVRlJjRWdzVFVGQlVTeExRVVZVUVN4SFFVRlBMRU5CUTFvc1NVRkJTVkFzUlVGQlMwOHNSVUZCVFV3c1UwRkRaa2NzUlVGQlRXbEZMRmxCUTA1MFJTeEZRVUZIYlVnc1IwRkRTRFZITEVWQlFWRkJMRVZCUVUxS0xFdEJTV2hDUlN4RlFVRk5kVVVzYlVKQlFXMUNla1VzUzBGQlQzZElMRVZCZEdwQ2JFTXhSeXhSUVVGUkxGZEJRVkpCTEVOQlFXOUNTaXhUUVVGVlN5eFJRWGxHT1VKS0xHTkJRV000Unl4VlFVRlZReXhWUVVGWkxGZEJTV3hETEVsQlNFRXNTVUZCU1VNc1JVRkJWVGRJTEV0QlFVdHRSU3huUWtGRFpqSkVMRVZCUVUwc1IwRkZTRVFzUjBGRFRFTXNSVUZCU1VNc1MwRkJTMFlzUjBGRFZFRXNSVUZCVlVFc1JVRkJVVE5JTEV0QlIzQkNMRTlCUVU4MFNDeEhRVWRVTEZkQlEwVXNTVUZEUlVVc1QwRkJUME1zWlVGQlpYQklMR05CUVdNNFJ5eFZRVUZYTEZOQlFWVXNRMEZEZGtSUExFbEJRVXR3U0N4aFFVRmhReXhWUVVGVkxGZEJRekZDTEU5QlFVOW1MRXRCUVVzMFNDeGhRVU5ZTERaRlFVRnRSaXhoUVVWNFJpeE5RVUZQVHl4TFFWQllMRWRCWTNOQ0xHMUNRVUZZUXl4UlFVRjVRa0VzVDBGQlQwTXNZVUZCYVVVc2JVSkJRVE5EUXl4VFFVRlRXQ3hWUVVGVlV5eFBRVUZQUXl4alFVTjZSakZITEdkQ1FVRnJRakpITEZOQlFWTllMRlZCUVZWVExFOUJRVTlETEdGQlF6VkRUQ3hQUVVGUFF5eGxRVUZsY2tnc1UwRkJWWGRJTEU5QlFVOURMRmxCUVdFc1EwRkRiRVJGTEUxQlFVOHNVMEZCWlVNc1IwRkRjRUlzVVVGQlNUZEhMR2RDUVVGblFtbEVMRXRCUVVzMVJTeExRVUZOZDBrc1NVRkRNMEo0U1N4UFFVRlRXU3hYUVVOT05FZ3NSMEZCVlVFc1JVRkJUek5FTERCQ1FVRXdRbWhGTEcxQ1FVbDBSR01zWjBKQlFXdENMRk5CUVhsQ05rY3NSMEZEZWtNc1QwRkJUMEVzWVVGQmEwSjRTU3hOUVN0Q04wSlpMRk5CUVZNclJ5eFZRVUZWWXl4TFFVRlBMRmRCUTNoQ2FFY3NaVUZCWlhwRExFdEJRVTBzU1VGQlNXOURMSGxDUVN0Q00wSjRRaXhUUVVGVEswY3NWVUZCVlRWRExFMUJRVkVzVTBGQlZXeEdMRVZCUVU5RExFVkJRVlZETEVkQlEzQkVMRWxCUVVsTExFVkJRVkZLTEV0QlFVczJSU3hsUVVOaWJVSXNSMEZCVFN4RlFVVk9TQ3hIUVVGVGVrWXNSVUZCVFRCRExGbEJRV04wUWl4alFVRmpNMElzUjBGcFFpOURMRTlCWmtsblJ5eEpRVUZWTTBVc1QwRkJUMUVzVTBGQlV6ZENMRXRCUXpWQ1FTeEZRVUZSZVVJc2IwSkJRVzlDZWtJc1NVRkhUaXh0UWtGQllrTXNTVUZEVkVNc1JVRkJTMFFzUlVGRFRFRXNSVUZCVnl4TlFVZFVLMFlzUlVGQlR5OUdMRVZCUVZjc1UwRkJiVUpCTEVsQlFWVkJMRVZCUVZkTkxFVkJRVTF4UkN4cFFrRkRiRVFzYlVKQlFWQXhSQ3hKUVVGdFFrRXNSVUZCU3pKRExFdEJReTlDZEVNc1JVRkJUU3RETEU5QlFWRnZReXhqUVVGamRrWXNTMEZCVFVRc1NVRkJZVGhHTEVkQlFWTklMRmRCUVZjeFJpeExRVUZOU1N4RlFVRlBVQ3hGUVVGUFJTeE5RVU42Umtzc1JVRkJUV2xGTEZsQlEwNHlRaXhGUVVGTlNpeGpRVUZqTlVZc1MwRkJUVWtzUlVGQlQzbEdMRVZCUVU5b1J5eEZRVUZQUXl4RlFVRlZReXhKUVVWd1JHbEhMRWRCUjFSd1JpeFRRVUZUSzBjc1ZVRkJWV1VzUzBGQlR5eFhRVU40UWpGSkxFdEJRVXMyUlN4bFFVRmxha0lzVlVGSGRFSm9SQ3hUUVVGVEswY3NWVUZCVldkQ0xFOUJRVk1zVjBGRE1VSXNTVUZCU1haSkxFVkJRVkZLTEV0QlFVczJSU3hsUVVWaWVrVXNSVUZCVFhkRUxGTkJRMUo0UkN4RlFVRk5kMFFzVTBGRFJIaEVMRVZCUVUxMVJDeFRRVUZaZGtRc1JVRkJUWGRFTEZGQlFWZDRSQ3hGUVVGTk1FUXNiVUpCUVc5Q01VUXNSVUZCVFN0RUxHbENRVUZwUW05RExGbEJRVmwyUnl4TFFVRk5TU3hMUVVrdlIxRXNVMEZCVXl0SExGVkJRVlZwUWl4dFFrRkJjVUlzVTBGQk5FSTVTU3hIUVVkc1JTeEhRVVIzUWl4cFFrRkJZa0VzU1VGQmRVSkJMRVZCUVZkQkxFVkJRVk1yU1N4cFFrRkRhRVFzUTBGQlF5eE5RVUZQTEU5QlFWRXNVVUZCVXl4UlFVRlRMRk5CUVZVc1UwRkJWU3hQUVVGUkxGRkJRVk1zVlVGQlZ5eFhRVUZaTEU5QlFVOURMRk5CUVZOb1NpeEZRVUZYTEVsQlFVa3JTU3huUWtGQmEwSXNSMEZCU1N4TlFVRk5MRWxCUVVseVJ5eHhRa0ZCY1VJeFF5eEhRVVY0VEN4UFFVUkJSU3hMUVVGTE5rVXNaVUZCWlhCQ0xHZENRVUZyUWpORUxFVkJReTlDUlN4TlFVZFVaMGtzVDBGQlQwTXNaVUZCWlhKSUxGTkJRVk1yUnl4VlFVRlhMR2xDUVVGclFpeERRVWt4Ukc5Q0xGbEJRVmtzUlVGRFdtSXNTVUZCU3l4WFFVTklMRTlCUVU5c1NTeExRVUZMTmtVc1owSkJRV3RDTjBVc1MwRkJTelpGTEdWQlFXVXJReXhsUVZsMFJFa3NUMEZCVDBNc1pVRkJaWEpJTEZOQlFWTXJSeXhWUVVGWExIZENRVUY1UWl4RFFVbHFSVzlDTEZsQlFWa3NSVUZEV21Jc1NVRkJTeXhYUVVOSUxFOUJRVTlzU1N4TFFVRkxOa1VzWlVGQlpUZENMR2xDUVRSTUwwSndReXhUUVVGVEswY3NWVUZCVlRORExFOUJRVk1zVTBGQlZXNUdMRVZCUVU5RExFVkJRVlZETEVkQlEzSkVRU3hGUVVGSExFbEJRVWx0UXl3eVFrRkJNa0lzWTBGSGNFTjBRaXhUUVVGVEswY3NWVUZCVlhwRExGRkJRVlVzUzBGRk4wSjBSU3hUUVVGVEswY3NWVUZCVlhGQ0xFbEJRVTBzVTBGQlZXNUtMRVZCUVU5RExFVkJRVlZETEVkQlEyeEVMRWxCUVVsTExFVkJRVkZLTEV0QlFVczJSU3hsUVc5Q2FrSXNUVUZzUW5GQ0xHMUNRVUZXYUVZc1IwRkRWRVVzUlVGQlMwWXNSVUZEVEVFc1JVRkJVU3hMUVVOU1F5eEZRVUZYTEUxQlEydENMRzFDUVVGaVFTeEpRVU5vUWtNc1JVRkJTMFFzUlVGRFRFRXNSVUZCVnl4TlFVZFVSQ3hOUVVGQlFTeEhRVUYxUTBjc1MwRkJTeXRGTEUxQlFVMXNSaXhGUVVGUFF5eEhRVVY2UkUwc1JVRkJUWGRFTEZOQlExSjRSQ3hGUVVGTmQwUXNUMEZCVXl4RlFVTm1OVVFzUzBGQlN6SkpMRlZCU1VaMlNTeEZRVUZOSzBNc1VVRkJVWEZGTEZsQlFWbDRTQ3hMUVVGTlNTeEZRVUZQVEN4SFFVTnlRME1zVFVGSFZHZEpMRTlCUVU5RExHVkJRV1Z5U0N4VFFVRlRLMGNzVlVGQlZ5eHBRa0ZCYTBJc1EwRkpNVVJ2UWl4WlFVRlpMRVZCUTFwaUxFbEJRVXNzVjBGRFNDeFBRVUZQYkVrc1MwRkJTelpGTEdWQlFXVnVRaXhWUVhWR0wwSnpSU3hQUVVGUFF5eGxRVUZsY2tnc1UwRkJVeXRITEZWQlFWY3NXVUZCWVN4RFFVbHlSRzlDTEZsQlFWa3NSVUZEV21Jc1NVRkJTeXhYUVVOSUxGbEJRVFJDWlN4SlFVRjRRbXBLTEV0QlFVczJSU3huUWtGSlJqZEZMRXRCUVVzMlJTeGxRVUZsZGtJc1YwRkZOMEkwUml4SlFVRkxMRk5CUVdGWUxFZEJSMWgyU1N4TFFVRkxOa1VzYVVKQlRWWTNSU3hMUVVGTE5rVXNaVUZCWlhaQ0xGVkJRVmxwUml4TlFVZHdRek5JTEZOQlFWTXJSeXhWUVVGVmVFTXNVVUZCVlhaRUxGbEJRVmwxUkN4UlFVTjZRM1pGTEZOQlFWTXJSeXhWUVVGVmQwSXNWMEZCWVhaSUxGbEJRVmwzU0N4VlFVVTFRM2hKTEZOQlFWTXJSeXhWUVVGVmRrTXNVMEZCVnl4VFFVRlZPRUlzUlVGQlMyNUlMRWRCUXpORFFTeEZRVUZIYlVnaUxDSm1hV3hsSWpvaUwzVnpjaTlzYjJOaGJDOXNhV0l2Ym05a1pWOXRiMlIxYkdWekwzZGhkR05vYVdaNUwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOWZjM1J5WldGdFgzZHlhWFJoWW14bExtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIF9PYmplY3Qkc2V0UHJvdG90eXBlTztmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkoZSx0LHIpe3JldHVybiB0IGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbdF09cixlfXZhciBmaW5pc2hlZD1yZXF1aXJlKFwiLi9lbmQtb2Ytc3RyZWFtXCIpLGtMYXN0UmVzb2x2ZT1TeW1ib2woXCJsYXN0UmVzb2x2ZVwiKSxrTGFzdFJlamVjdD1TeW1ib2woXCJsYXN0UmVqZWN0XCIpLGtFcnJvcj1TeW1ib2woXCJlcnJvclwiKSxrRW5kZWQ9U3ltYm9sKFwiZW5kZWRcIiksa0xhc3RQcm9taXNlPVN5bWJvbChcImxhc3RQcm9taXNlXCIpLGtIYW5kbGVQcm9taXNlPVN5bWJvbChcImhhbmRsZVByb21pc2VcIiksa1N0cmVhbT1TeW1ib2woXCJzdHJlYW1cIik7ZnVuY3Rpb24gY3JlYXRlSXRlclJlc3VsdChlLHQpe3JldHVybnt2YWx1ZTplLGRvbmU6dH19ZnVuY3Rpb24gcmVhZEFuZFJlc29sdmUoZSl7dmFyIHQ9ZVtrTGFzdFJlc29sdmVdO2lmKG51bGwhPT10KXt2YXIgcj1lW2tTdHJlYW1dLnJlYWQoKTtudWxsIT09ciYmKGVba0xhc3RQcm9taXNlXT1udWxsLGVba0xhc3RSZXNvbHZlXT1udWxsLGVba0xhc3RSZWplY3RdPW51bGwsdChjcmVhdGVJdGVyUmVzdWx0KHIsITEpKSl9fWZ1bmN0aW9uIG9uUmVhZGFibGUoZSl7cHJvY2Vzcy5uZXh0VGljayhyZWFkQW5kUmVzb2x2ZSxlKX1mdW5jdGlvbiB3cmFwRm9yTmV4dChlLHQpe3JldHVybiBmdW5jdGlvbihyLG8pe2UudGhlbihmdW5jdGlvbigpe3Rba0VuZGVkXT9yKGNyZWF0ZUl0ZXJSZXN1bHQodm9pZCAwLCEwKSk6dFtrSGFuZGxlUHJvbWlzZV0ocixvKX0sbyl9fXZhciBBc3luY0l0ZXJhdG9yUHJvdG90eXBlPU9iamVjdC5nZXRQcm90b3R5cGVPZihmdW5jdGlvbigpe30pLFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvclByb3RvdHlwZT1PYmplY3Quc2V0UHJvdG90eXBlT2YoKF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JHNldFByb3RvdHlwZU89e2dldCBzdHJlYW0oKXtyZXR1cm4gdGhpc1trU3RyZWFtXX0sbmV4dDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD10aGlzW2tFcnJvcl07aWYobnVsbCE9PXQpcmV0dXJuIFByb21pc2UucmVqZWN0KHQpO2lmKHRoaXNba0VuZGVkXSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQodm9pZCAwLCEwKSk7aWYodGhpc1trU3RyZWFtXS5kZXN0cm95ZWQpcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQscil7cHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbigpe2Vba0Vycm9yXT9yKGVba0Vycm9yXSk6dChjcmVhdGVJdGVyUmVzdWx0KHZvaWQgMCwhMCkpfSl9KTt2YXIgcixvPXRoaXNba0xhc3RQcm9taXNlXTtpZihvKXI9bmV3IFByb21pc2Uod3JhcEZvck5leHQobyx0aGlzKSk7ZWxzZXt2YXIgbj10aGlzW2tTdHJlYW1dLnJlYWQoKTtpZihudWxsIT09bilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQobiwhMSkpO3I9bmV3IFByb21pc2UodGhpc1trSGFuZGxlUHJvbWlzZV0pfXJldHVybiB0aGlzW2tMYXN0UHJvbWlzZV09cixyfX0sU3ltYm9sLmFzeW5jSXRlcmF0b3IsZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JHNldFByb3RvdHlwZU8sXCJyZXR1cm5cIixmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQscil7ZVtrU3RyZWFtXS5kZXN0cm95KG51bGwsZnVuY3Rpb24oZSl7ZT9yKGUpOnQoY3JlYXRlSXRlclJlc3VsdCh2b2lkIDAsITApKX0pfSl9KSxfT2JqZWN0JHNldFByb3RvdHlwZU8pLEFzeW5jSXRlcmF0b3JQcm90b3R5cGUpLGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcj1mdW5jdGlvbihlKXt2YXIgdCxyPU9iamVjdC5jcmVhdGUoUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlLChfZGVmaW5lUHJvcGVydHkodD17fSxrU3RyZWFtLHt2YWx1ZTplLHdyaXRhYmxlOiEwfSksX2RlZmluZVByb3BlcnR5KHQsa0xhc3RSZXNvbHZlLHt2YWx1ZTpudWxsLHdyaXRhYmxlOiEwfSksX2RlZmluZVByb3BlcnR5KHQsa0xhc3RSZWplY3Qse3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KSxfZGVmaW5lUHJvcGVydHkodCxrRXJyb3Ise3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KSxfZGVmaW5lUHJvcGVydHkodCxrRW5kZWQse3ZhbHVlOmUuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCx3cml0YWJsZTohMH0pLF9kZWZpbmVQcm9wZXJ0eSh0LGtIYW5kbGVQcm9taXNlLHt2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBvPXJba1N0cmVhbV0ucmVhZCgpO28/KHJba0xhc3RQcm9taXNlXT1udWxsLHJba0xhc3RSZXNvbHZlXT1udWxsLHJba0xhc3RSZWplY3RdPW51bGwsZShjcmVhdGVJdGVyUmVzdWx0KG8sITEpKSk6KHJba0xhc3RSZXNvbHZlXT1lLHJba0xhc3RSZWplY3RdPXQpfSx3cml0YWJsZTohMH0pLHQpKTtyZXR1cm4gcltrTGFzdFByb21pc2VdPW51bGwsZmluaXNoZWQoZSxmdW5jdGlvbihlKXtpZihlJiZcIkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFXCIhPT1lLmNvZGUpe3ZhciB0PXJba0xhc3RSZWplY3RdO3JldHVybiBudWxsIT09dCYmKHJba0xhc3RQcm9taXNlXT1udWxsLHJba0xhc3RSZXNvbHZlXT1udWxsLHJba0xhc3RSZWplY3RdPW51bGwsdChlKSksdm9pZChyW2tFcnJvcl09ZSl9dmFyIG89cltrTGFzdFJlc29sdmVdO251bGwhPT1vJiYocltrTGFzdFByb21pc2VdPW51bGwscltrTGFzdFJlc29sdmVdPW51bGwscltrTGFzdFJlamVjdF09bnVsbCxvKGNyZWF0ZUl0ZXJSZXN1bHQodm9pZCAwLCEwKSkpLHJba0VuZGVkXT0hMH0pLGUub24oXCJyZWFkYWJsZVwiLG9uUmVhZGFibGUuYmluZChudWxsLHIpKSxyfTttb2R1bGUuZXhwb3J0cz1jcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3I7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUZ6ZVc1algybDBaWEpoZEc5eUxtcHpJbDBzSW01aGJXVnpJanBiSWw5UFltcGxZM1FrYzJWMFVISnZkRzkwZVhCbFR5SXNJbDlrWldacGJtVlFjbTl3WlhKMGVTSXNJbTlpYWlJc0ltdGxlU0lzSW5aaGJIVmxJaXdpVDJKcVpXTjBJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0psYm5WdFpYSmhZbXhsSWl3aVkyOXVabWxuZFhKaFlteGxJaXdpZDNKcGRHRmliR1VpTENKbWFXNXBjMmhsWkNJc0luSmxjWFZwY21VaUxDSnJUR0Z6ZEZKbGMyOXNkbVVpTENKVGVXMWliMndpTENKclRHRnpkRkpsYW1WamRDSXNJbXRGY25KdmNpSXNJbXRGYm1SbFpDSXNJbXRNWVhOMFVISnZiV2x6WlNJc0ltdElZVzVrYkdWUWNtOXRhWE5sSWl3aWExTjBjbVZoYlNJc0ltTnlaV0YwWlVsMFpYSlNaWE4xYkhRaUxDSmtiMjVsSWl3aWNtVmhaRUZ1WkZKbGMyOXNkbVVpTENKcGRHVnlJaXdpY21WemIyeDJaU0lzSW1SaGRHRWlMQ0p5WldGa0lpd2liMjVTWldGa1lXSnNaU0lzSW5CeWIyTmxjM01pTENKdVpYaDBWR2xqYXlJc0luZHlZWEJHYjNKT1pYaDBJaXdpYkdGemRGQnliMjFwYzJVaUxDSnlaV3BsWTNRaUxDSjBhR1Z1SWl3aWRXNWtaV1pwYm1Wa0lpd2lRWE41Ym1OSmRHVnlZWFJ2Y2xCeWIzUnZkSGx3WlNJc0ltZGxkRkJ5YjNSdmRIbHdaVTltSWl3aVVtVmhaR0ZpYkdWVGRISmxZVzFCYzNsdVkwbDBaWEpoZEc5eVVISnZkRzkwZVhCbElpd2ljMlYwVUhKdmRHOTBlWEJsVDJZaUxDSnpkSEpsWVcwaUxDSjBhR2x6SWl3aWJtVjRkQ0lzSWw5MGFHbHpJaXdpWlhKeWIzSWlMQ0pRY205dGFYTmxJaXdpWkdWemRISnZlV1ZrSWl3aWNISnZiV2x6WlNJc0ltRnplVzVqU1hSbGNtRjBiM0lpTENKZmRHaHBjeklpTENKa1pYTjBjbTk1SWl3aVpYSnlJaXdpWTNKbFlYUmxVbVZoWkdGaWJHVlRkSEpsWVcxQmMzbHVZMGwwWlhKaGRHOXlJaXdpWDA5aWFtVmpkQ1JqY21WaGRHVWlMQ0pwZEdWeVlYUnZjaUlzSW1OeVpXRjBaU0lzSWw5eVpXRmtZV0pzWlZOMFlYUmxJaXdpWlc1a1JXMXBkSFJsWkNJc0ltTnZaR1VpTENKdmJpSXNJbUpwYm1RaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25SeklsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMSE5DUVVWS0xGTkJRVk5ETEdkQ1FVRm5Ra01zUlVGQlMwTXNSVUZCUzBNc1IwRkJhVXNzVDBGQmNFcEVMRXRCUVU5RUxFVkJRVTlITEU5QlFVOURMR1ZCUVdWS0xFVkJRVXRETEVWQlFVc3NRMEZCUlVNc1RVRkJUMEVzUlVGQlQwY3NXVUZCV1N4RlFVRk5ReXhqUVVGakxFVkJRVTFETEZWQlFWVXNTVUZCYTBKUUxFVkJRVWxETEVkQlFVOURMRVZCUVdkQ1JpeEZRVVV6VFN4SlFVRkpVU3hUUVVGWFF5eFJRVUZSTEcxQ1FVVnVRa01zWVVGQlpVTXNUMEZCVHl4bFFVTjBRa01zV1VGQlkwUXNUMEZCVHl4alFVTnlRa1VzVDBGQlUwWXNUMEZCVHl4VFFVTm9Ra2NzVDBGQlUwZ3NUMEZCVHl4VFFVTm9Ra2tzWVVGQlpVb3NUMEZCVHl4bFFVTjBRa3NzWlVGQmFVSk1MRTlCUVU4c2FVSkJRM2hDVFN4UlFVRlZUaXhQUVVGUExGVkJSWEpDTEZOQlFWTlBMR2xDUVVGcFFtaENMRVZCUVU5cFFpeEhRVU12UWl4TlFVRlBMRU5CUTB4cVFpeE5RVUZQUVN4RlFVTlFhVUlzUzBGQlRVRXNSMEZKVml4VFFVRlRReXhsUVVGbFF5eEhRVU4wUWl4SlFVRkpReXhGUVVGVlJDeEZRVUZMV0N4alFVVnVRaXhIUVVGblFpeFBRVUZhV1N4RlFVRnJRaXhEUVVOd1FpeEpRVUZKUXl4RlFVRlBSaXhGUVVGTFNpeFRRVUZUVHl4UFFVbGFMRTlCUVZSRUxFbEJRMFpHTEVWQlFVdE9MR05CUVdkQ0xFdEJRM0pDVFN4RlFVRkxXQ3hqUVVGblFpeExRVU55UWxjc1JVRkJTMVFzWVVGQlpTeExRVU53UWxVc1JVRkJVVW9zYVVKQlFXbENTeXhIUVVGTkxFMUJTM0pETEZOQlFWTkZMRmRCUVZkS0xFZEJSMnhDU3l4UlFVRlJReXhUUVVGVFVDeGxRVUZuUWtNc1IwRkhia01zVTBGQlUwOHNXVUZCV1VNc1JVRkJZVklzUjBGRGFFTXNUMEZCVHl4VFFVRlZReXhGUVVGVFVTeEhRVU40UWtRc1JVRkJXVVVzUzBGQlN5eFhRVU5ZVml4RlFVRkxVQ3hSUVVOUVVTeEZRVUZSU2l4elFrRkJhVUpqTEVkQlFWY3NTVUZKZEVOWUxFVkJRVXRNTEdkQ1FVRm5RazBzUlVGQlUxRXNTVUZETjBKQkxFbEJTVkFzU1VGQlNVY3NkVUpCUVhsQ09VSXNUMEZCVHl0Q0xHVkJRV1VzWTBGREwwTkRMSEZEUVVGMVEyaERMRTlCUVU5cFF5eG5Ra0UwUkM5RGNrTXNaMEpCTlVRclJFUXNjMEpCUVhkQ0xFTkJRM2hHZFVNc1lVRkRSU3hQUVVGUFF5eExRVUZMY2tJc1ZVRkhaSE5DTEV0QlFVMHNWMEZEU2l4SlFVRkpReXhGUVVGUlJpeExRVWxTUnl4RlFVRlJTQ3hMUVVGTGVrSXNVVUZGYWtJc1IwRkJZeXhQUVVGV05FSXNSVUZEUml4UFFVRlBReXhSUVVGUldpeFBRVUZQVnl4SFFVZDRRaXhIUVVGSlNDeExRVUZMZUVJc1VVRkRVQ3hQUVVGUE5FSXNVVUZCVVhCQ0xGRkJRVkZLTEhOQ1FVRnBRbU1zUjBGQlZ5eEpRVWR5UkN4SFFVRkpUU3hMUVVGTGNrSXNVMEZCVXpCQ0xGVkJTMmhDTEU5QlFVOHNTVUZCU1VRc1VVRkJVU3hUUVVGVmNFSXNSVUZCVTFFc1IwRkRjRU5LTEZGQlFWRkRMRk5CUVZNc1YwRkRXR0VzUlVGQlRUTkNMRkZCUTFKcFFpeEZRVUZQVlN4RlFVRk5NMElzVTBGRllsTXNSVUZCVVVvc2MwSkJRV2xDWXl4SFFVRlhMRkZCVlRWRExFbEJRMGxaTEVWQlJFRm1MRVZCUVdOVExFdEJRVXQyUWl4alFVZDJRaXhIUVVGSll5eEZRVU5HWlN4RlFVRlZMRWxCUVVsR0xGRkJRVkZrTEZsQlFWbERMRVZCUVdGVExGZEJRekZETEVOQlIwd3NTVUZCU1dZc1JVRkJUMlVzUzBGQlMzSkNMRk5CUVZOUExFOUJSWHBDTEVkQlFXRXNUMEZCVkVRc1JVRkRSaXhQUVVGUGJVSXNVVUZCVVhCQ0xGRkJRVkZLTEdsQ1FVRnBRa3NzUjBGQlRTeEpRVWRvUkhGQ0xFVkJRVlVzU1VGQlNVWXNVVUZCVVVvc1MwRkJTM1JDTEdsQ1FVazNRaXhQUVVSQmMwSXNTMEZCUzNaQ0xHTkJRV2RDTmtJc1JVRkRaRUVzU1VGRkswSnFReXhQUVVGUGEwTXNZMEZCWlN4WFFVTTVSQ3hQUVVGUFVDeFBRVU5NZGtNc1owSkJRV2RDUkN4elFrRkJkVUlzVTBGQlZTeFhRVU51UkN4SlFVRkpaMFFzUlVGQlUxSXNTMEZMWWl4UFFVRlBMRWxCUVVsSkxGRkJRVkVzVTBGQlZYQkNMRVZCUVZOUkxFZEJRM0JEWjBJc1JVRkJUemRDTEZOQlFWTTRRaXhSUVVGUkxFdEJRVTBzVTBGQlZVTXNSMEZEYkVOQkxFVkJRMFpzUWl4RlFVRlBhMElzUjBGSlZERkNMRVZCUVZGS0xITkNRVUZwUW1Nc1IwRkJWeXhWUVVkMFEyeERMSFZDUVVGM1FtMURMSGRDUVVWNFFtZENMR3REUVVGdlF5eFRRVUV5UTFvc1IwRkRha1lzU1VGQlNXRXNSVUZGUVVNc1JVRkJWMmhFTEU5QlFVOXBSQ3hQUVVGUGFrSXNjME5CUVRSRWNFTXNaMEpCUVhKQ2JVUXNSVUZCYVVJc1IwRkJiME5xUXl4UlFVRlRMRU5CUTJoSlppeE5RVUZQYlVNc1JVRkRVRGxDTEZWQlFWVXNTVUZEVWxJc1owSkJRV2RDYlVRc1JVRkJaMEo0UXl4aFFVRmpMRU5CUTJoRVVpeE5RVUZQTEV0QlExQkxMRlZCUVZVc1NVRkRVbElzWjBKQlFXZENiVVFzUlVGQlowSjBReXhaUVVGaExFTkJReTlEVml4TlFVRlBMRXRCUTFCTExGVkJRVlVzU1VGRFVsSXNaMEpCUVdkQ2JVUXNSVUZCWjBKeVF5eFBRVUZSTEVOQlF6RkRXQ3hOUVVGUExFdEJRMUJMTEZWQlFWVXNTVUZEVWxJc1owSkJRV2RDYlVRc1JVRkJaMEp3UXl4UFFVRlJMRU5CUXpGRFdpeE5RVUZQYlVNc1JVRkJUMmRDTEdWQlFXVkRMRmRCUXpkQ0wwTXNWVUZCVlN4SlFVTlNVaXhuUWtGQlowSnRSQ3hGUVVGblFteERMR1ZCUVdkQ0xFTkJRMnhFWkN4TlFVRlBMRk5CUVdWdlFpeEZRVUZUVVN4SFFVTTNRaXhKUVVGSlVDeEZRVUZQTkVJc1JVRkJVMnhETEZOQlFWTlBMRTlCUlhwQ1JDeEhRVU5HTkVJc1JVRkJVM0JETEdOQlFXZENMRXRCUTNwQ2IwTXNSVUZCVTNwRExHTkJRV2RDTEV0QlEzcENlVU1zUlVGQlUzWkRMR0ZCUVdVc1MwRkRlRUpWTEVWQlFWRktMR2xDUVVGcFFrc3NSMEZCVFN4TlFVVXZRalJDTEVWQlFWTjZReXhqUVVGblFsa3NSVUZEZWtJMlFpeEZRVUZUZGtNc1lVRkJaV3RDTEVsQlJ6VkNka0lzVlVGQlZTeEpRVU5TTWtNc1NVRTRRa29zVDBFM1FrRkRMRVZCUVZOd1F5eGpRVUZuUWl4TFFVTjZRbEFzVTBGQlV6WkNMRVZCUVZFc1UwRkJWVmNzUjBGRGVrSXNSMEZCU1VFc1IwRkJiMElzSzBKQlFXSkJMRVZCUVVsUExFdEJRWFZETEVOQlEzQkVMRWxCUVVsNlFpeEZRVUZUY1VJc1JVRkJVM1pETEdGQlYzUkNMRTlCVW1Vc1QwRkJXR3RDTEVsQlEwWnhRaXhGUVVGVGNFTXNZMEZCWjBJc1MwRkRla0p2UXl4RlFVRlRla01zWTBGQlowSXNTMEZEZWtKNVF5eEZRVUZUZGtNc1lVRkJaU3hMUVVONFFtdENMRVZCUVU5clFpeFRRVWRVUnl4RlFVRlRkRU1zVVVGQlZXMURMRWRCU1hKQ0xFbEJRVWt4UWl4RlFVRlZOa0lzUlVGQlUzcERMR05CUlZBc1QwRkJXbGtzU1VGRFJqWkNMRVZCUVZOd1F5eGpRVUZuUWl4TFFVTjZRbTlETEVWQlFWTjZReXhqUVVGblFpeExRVU42UW5sRExFVkJRVk4yUXl4aFFVRmxMRXRCUTNoQ1ZTeEZRVUZSU2l4elFrRkJhVUpqTEVkQlFWY3NTMEZIZEVOdFFpeEZRVUZUY2tNc1UwRkJWU3hKUVVWeVFuVkNMRVZCUVU5dFFpeEhRVUZITEZkQlFWa3ZRaXhYUVVGWFowTXNTMEZCU3l4TFFVRk5UaXhKUVVOeVEwRXNSMEZIVkU4c1QwRkJUME1zVVVGQlZWWWlMQ0ptYVd4bElqb2lMM1Z6Y2k5c2IyTmhiQzlzYVdJdmJtOWtaVjl0YjJSMWJHVnpMM2RoZEdOb2FXWjVMMjV2WkdWZmJXOWtkV3hsY3k5emRISmxZVzB0WW5KdmQzTmxjbWxtZVM5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMMkZ6ZVc1algybDBaWEpoZEc5eUxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gb3duS2V5cyhlLHQpe3ZhciBuPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7dCYmKHI9ci5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KS5lbnVtZXJhYmxlfSkpLG4ucHVzaC5hcHBseShuLHIpfXJldHVybiBufWZ1bmN0aW9uIF9vYmplY3RTcHJlYWQoZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49bnVsbCE9YXJndW1lbnRzW3RdP2FyZ3VtZW50c1t0XTp7fTt0JTI/b3duS2V5cyhPYmplY3QobiksITApLmZvckVhY2goZnVuY3Rpb24odCl7X2RlZmluZVByb3BlcnR5KGUsdCxuW3RdKX0pOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobikpOm93bktleXMoT2JqZWN0KG4pKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuLHQpKX0pfXJldHVybiBlfWZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShlLHQsbil7cmV0dXJuIHQgaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1uLGV9ZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX1mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyhlLHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLFwidmFsdWVcImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmtleSxyKX19ZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKGUsdCxuKXtyZXR1cm4gdCYmX2RlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUsdCksbiYmX2RlZmluZVByb3BlcnRpZXMoZSxuKSxlfXZhciBfcmVxdWlyZT1yZXF1aXJlKFwiYnVmZmVyXCIpLEJ1ZmZlcj1fcmVxdWlyZS5CdWZmZXIsX3JlcXVpcmUyPXJlcXVpcmUoXCJ1dGlsXCIpLGluc3BlY3Q9X3JlcXVpcmUyLmluc3BlY3QsY3VzdG9tPWluc3BlY3QmJmluc3BlY3QuY3VzdG9tfHxcImluc3BlY3RcIjtmdW5jdGlvbiBjb3B5QnVmZmVyKGUsdCxuKXtCdWZmZXIucHJvdG90eXBlLmNvcHkuY2FsbChlLHQsbil9bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7X2NsYXNzQ2FsbENoZWNrKHRoaXMsZSksdGhpcy5oZWFkPW51bGwsdGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH1yZXR1cm4gX2NyZWF0ZUNsYXNzKGUsW3trZXk6XCJwdXNoXCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9e2RhdGE6ZSxuZXh0Om51bGx9O3RoaXMubGVuZ3RoPjA/dGhpcy50YWlsLm5leHQ9dDp0aGlzLmhlYWQ9dCx0aGlzLnRhaWw9dCwrK3RoaXMubGVuZ3RofX0se2tleTpcInVuc2hpZnRcIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD17ZGF0YTplLG5leHQ6dGhpcy5oZWFkfTswPT09dGhpcy5sZW5ndGgmJih0aGlzLnRhaWw9dCksdGhpcy5oZWFkPXQsKyt0aGlzLmxlbmd0aH19LHtrZXk6XCJzaGlmdFwiLHZhbHVlOmZ1bmN0aW9uKCl7aWYoMCE9PXRoaXMubGVuZ3RoKXt2YXIgZT10aGlzLmhlYWQuZGF0YTtyZXR1cm4gMT09PXRoaXMubGVuZ3RoP3RoaXMuaGVhZD10aGlzLnRhaWw9bnVsbDp0aGlzLmhlYWQ9dGhpcy5oZWFkLm5leHQsLS10aGlzLmxlbmd0aCxlfX19LHtrZXk6XCJjbGVhclwiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoPTB9fSx7a2V5Olwiam9pblwiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKDA9PT10aGlzLmxlbmd0aClyZXR1cm5cIlwiO2Zvcih2YXIgdD10aGlzLmhlYWQsbj1cIlwiK3QuZGF0YTt0PXQubmV4dDspbis9ZSt0LmRhdGE7cmV0dXJuIG59fSx7a2V5OlwiY29uY2F0XCIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYoMD09PXRoaXMubGVuZ3RoKXJldHVybiBCdWZmZXIuYWxsb2MoMCk7Zm9yKHZhciB0PUJ1ZmZlci5hbGxvY1Vuc2FmZShlPj4+MCksbj10aGlzLmhlYWQscj0wO247KWNvcHlCdWZmZXIobi5kYXRhLHQscikscis9bi5kYXRhLmxlbmd0aCxuPW4ubmV4dDtyZXR1cm4gdH19LHtrZXk6XCJjb25zdW1lXCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbjtyZXR1cm4gZTx0aGlzLmhlYWQuZGF0YS5sZW5ndGg/KG49dGhpcy5oZWFkLmRhdGEuc2xpY2UoMCxlKSx0aGlzLmhlYWQuZGF0YT10aGlzLmhlYWQuZGF0YS5zbGljZShlKSk6bj1lPT09dGhpcy5oZWFkLmRhdGEubGVuZ3RoP3RoaXMuc2hpZnQoKTp0P3RoaXMuX2dldFN0cmluZyhlKTp0aGlzLl9nZXRCdWZmZXIoZSksbn19LHtrZXk6XCJmaXJzdFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGVhZC5kYXRhfX0se2tleTpcIl9nZXRTdHJpbmdcIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmhlYWQsbj0xLHI9dC5kYXRhO2ZvcihlLT1yLmxlbmd0aDt0PXQubmV4dDspe3ZhciBhPXQuZGF0YSxpPWU+YS5sZW5ndGg/YS5sZW5ndGg6ZTtpZihpPT09YS5sZW5ndGg/cis9YTpyKz1hLnNsaWNlKDAsZSksMD09PShlLT1pKSl7aT09PWEubGVuZ3RoPygrK24sdC5uZXh0P3RoaXMuaGVhZD10Lm5leHQ6dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsKToodGhpcy5oZWFkPXQsdC5kYXRhPWEuc2xpY2UoaSkpO2JyZWFrfSsrbn1yZXR1cm4gdGhpcy5sZW5ndGgtPW4scn19LHtrZXk6XCJfZ2V0QnVmZmVyXCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9QnVmZmVyLmFsbG9jVW5zYWZlKGUpLG49dGhpcy5oZWFkLHI9MTtmb3Iobi5kYXRhLmNvcHkodCksZS09bi5kYXRhLmxlbmd0aDtuPW4ubmV4dDspe3ZhciBhPW4uZGF0YSxpPWU+YS5sZW5ndGg/YS5sZW5ndGg6ZTtpZihhLmNvcHkodCx0Lmxlbmd0aC1lLDAsaSksMD09PShlLT1pKSl7aT09PWEubGVuZ3RoPygrK3Isbi5uZXh0P3RoaXMuaGVhZD1uLm5leHQ6dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsKToodGhpcy5oZWFkPW4sbi5kYXRhPWEuc2xpY2UoaSkpO2JyZWFrfSsrcn1yZXR1cm4gdGhpcy5sZW5ndGgtPXIsdH19LHtrZXk6Y3VzdG9tLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGluc3BlY3QodGhpcyxfb2JqZWN0U3ByZWFkKHt9LHQse2RlcHRoOjAsY3VzdG9tSW5zcGVjdDohMX0pKX19XSksZX0oKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltSjFabVpsY2w5c2FYTjBMbXB6SWwwc0ltNWhiV1Z6SWpwYkltOTNia3RsZVhNaUxDSnZZbXBsWTNRaUxDSmxiblZ0WlhKaFlteGxUMjVzZVNJc0ltdGxlWE1pTENKUFltcGxZM1FpTENKblpYUlBkMjVRY205d1pYSjBlVk41YldKdmJITWlMQ0p6ZVcxaWIyeHpJaXdpWm1sc2RHVnlJaXdpYzNsdElpd2laMlYwVDNkdVVISnZjR1Z5ZEhsRVpYTmpjbWx3ZEc5eUlpd2laVzUxYldWeVlXSnNaU0lzSW5CMWMyZ2lMQ0poY0hCc2VTSXNJbDl2WW1wbFkzUlRjSEpsWVdRaUxDSjBZWEpuWlhRaUxDSnBJaXdpWVhKbmRXMWxiblJ6SWl3aWJHVnVaM1JvSWl3aWMyOTFjbU5sSWl3aVptOXlSV0ZqYUNJc0ltdGxlU0lzSWw5a1pXWnBibVZRY205d1pYSjBlU0lzSW1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjbk1pTENKa1pXWnBibVZRY205d1pYSjBhV1Z6SWl3aVpHVm1hVzVsVUhKdmNHVnlkSGtpTENKdlltb2lMQ0oyWVd4MVpTSXNJbU52Ym1acFozVnlZV0pzWlNJc0luZHlhWFJoWW14bElpd2lYMk5zWVhOelEyRnNiRU5vWldOcklpd2lhVzV6ZEdGdVkyVWlMQ0pEYjI1emRISjFZM1J2Y2lJc0lsUjVjR1ZGY25KdmNpSXNJbDlrWldacGJtVlFjbTl3WlhKMGFXVnpJaXdpY0hKdmNITWlMQ0prWlhOamNtbHdkRzl5SWl3aVgyTnlaV0YwWlVOc1lYTnpJaXdpY0hKdmRHOVFjbTl3Y3lJc0luTjBZWFJwWTFCeWIzQnpJaXdpY0hKdmRHOTBlWEJsSWl3aVgzSmxjWFZwY21VaUxDSnlaWEYxYVhKbElpd2lRblZtWm1WeUlpd2lYM0psY1hWcGNtVXlJaXdpYVc1emNHVmpkQ0lzSW1OMWMzUnZiU0lzSW1OdmNIbENkV1ptWlhJaUxDSnpjbU1pTENKdlptWnpaWFFpTENKamIzQjVJaXdpWTJGc2JDSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pDZFdabVpYSk1hWE4wSWl3aWRHaHBjeUlzSW1obFlXUWlMQ0owWVdsc0lpd2lkaUlzSW1WdWRISjVJaXdpWkdGMFlTSXNJbTVsZUhRaUxDSnlaWFFpTENKeklpd2ljQ0lzSW00aUxDSmhiR3h2WXlJc0ltRnNiRzlqVlc1ellXWmxJaXdpYUdGelUzUnlhVzVuY3lJc0luTnNhV05sSWl3aWMyaHBablFpTENKZloyVjBVM1J5YVc1bklpd2lYMmRsZEVKMVptWmxjaUlzSW1NaUxDSnpkSElpTENKdVlpSXNJbUoxWmlJc0lsOGlMQ0p2Y0hScGIyNXpJaXdpWkdWd2RHZ2lMQ0pqZFhOMGIyMUpibk53WldOMElsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEZOQlFWTkJMRkZCUVZGRExFVkJRVkZETEVkQlFXdENMRWxCUVVsRExFVkJRVTlETEU5QlFVOUVMRXRCUVV0R0xFZEJRVk1zUjBGQlNVY3NUMEZCVDBNc2MwSkJRWFZDTEVOQlFVVXNTVUZCU1VNc1JVRkJWVVlzVDBGQlQwTXNjMEpCUVhOQ1NpeEhRVUZoUXl4SlFVRm5Ra2tzUlVGQlZVRXNSVUZCVVVNc1QwRkJUeXhUUVVGVlF5eEhRVUZQTEU5QlFVOUtMRTlCUVU5TExIbENRVUY1UWxJc1JVRkJVVThzUjBGQlMwVXNZMEZCWjBKUUxFVkJRVXRSTEV0QlFVdERMRTFCUVUxVUxFVkJRVTFITEVkQlFWa3NUMEZCVDBnc1JVRkZPVlVzVTBGQlUxVXNZMEZCWTBNc1IwRkJWU3hKUVVGTExFbEJRVWxETEVWQlFVa3NSVUZCUjBFc1JVRkJTVU1zVlVGQlZVTXNUMEZCVVVZc1NVRkJTeXhEUVVGRkxFbEJRVWxITEVWQlFYbENMRTFCUVdoQ1JpeFZRVUZWUkN4SFFVRmhReXhWUVVGVlJDeEhRVUZMTEVkQlFWRkJMRVZCUVVrc1JVRkJTMllzVVVGQlVVa3NUMEZCVDJNc1NVRkJVeXhIUVVGTlF5eFJRVUZSTEZOQlFWVkRMRWRCUVU5RExHZENRVUZuUWxBc1JVRkJVVTBzUlVGQlMwWXNSVUZCVDBVc1RVRkJjMEpvUWl4UFFVRlBhMElzTUVKQlFUWkNiRUlzVDBGQlQyMUNMR2xDUVVGcFFsUXNSVUZCVVZZc1QwRkJUMnRDTERCQ1FVRXdRa29zU1VGQmJVSnNRaXhSUVVGUlNTeFBRVUZQWXl4SlFVRlRReXhSUVVGUkxGTkJRVlZETEVkQlFVOW9RaXhQUVVGUGIwSXNaVUZCWlZZc1JVRkJVVTBzUlVGQlMyaENMRTlCUVU5TExIbENRVUY1UWxNc1JVRkJVVVVzVFVGQlpTeFBRVUZQVGl4RlFVVTNaMElzVTBGQlUwOHNaMEpCUVdkQ1NTeEZRVUZMVEN4RlFVRkxUU3hIUVVGcFN5eFBRVUZ3U2s0c1MwRkJUMHNzUlVGQlQzSkNMRTlCUVU5dlFpeGxRVUZsUXl4RlFVRkxUQ3hGUVVGTExFTkJRVVZOTEUxQlFVOUJMRVZCUVU5b1FpeFpRVUZaTEVWQlFVMXBRaXhqUVVGakxFVkJRVTFETEZWQlFWVXNTVUZCYTBKSUxFVkJRVWxNTEVkQlFVOU5MRVZCUVdkQ1JDeEZRVVV6VFN4VFFVRlRTU3huUWtGQlowSkRMRVZCUVZWRExFZEJRV1VzUzBGQlRVUXNZVUZCYjBKRExFZEJRV2RDTEUxQlFVMHNTVUZCU1VNc1ZVRkJWU3h4UTBGRmFFZ3NVMEZCVTBNc2EwSkJRV3RDYmtJc1JVRkJVVzlDTEVkQlFWTXNTVUZCU3l4SlFVRkpia0lzUlVGQlNTeEZRVUZIUVN4RlFVRkpiVUlzUlVGQlRXcENMRTlCUVZGR0xFbEJRVXNzUTBGQlJTeEpRVUZKYjBJc1JVRkJZVVFzUlVGQlRXNUNMRWRCUVVsdlFpeEZRVUZYZWtJc1YwRkJZWGxDTEVWQlFWZDZRaXhoUVVGakxFVkJRVTk1UWl4RlFVRlhVaXhqUVVGbExFVkJRVlVzVlVGQlYxRXNTVUZCV1VFc1JVRkJWMUFzVlVGQlZ5eEhRVUZOZUVJc1QwRkJUMjlDTEdWQlFXVldMRVZCUVZGeFFpeEZRVUZYWml4SlFVRkxaU3hKUVVVM1V5eFRRVUZUUXl4aFFVRmhUQ3hGUVVGaFRTeEZRVUZaUXl4SFFVRnRTaXhQUVVGb1NVUXNSMEZCV1Vvc2EwSkJRV3RDUml4RlFVRlpVU3hWUVVGWFJpeEhRVUZwUWtNc1IwRkJZVXdzYTBKQlFXdENSaXhGUVVGaFR5eEhRVUZ4UWxBc1JVRkZlazBzU1VGQlNWTXNVMEZCVjBNc1VVRkJVU3hWUVVOdVFrTXNUMEZCVTBZc1UwRkJVMFVzVDBGRmJFSkRMRlZCUVZsR0xGRkJRVkVzVVVGRGNFSkhMRkZCUVZWRUxGVkJRVlZETEZGQlJYQkNReXhQUVVGVFJDeFRRVUZYUVN4UlFVRlJReXhSUVVGVkxGVkJSVEZETEZOQlFWTkRMRmRCUVZkRExFVkJRVXRxUXl4RlFVRlJhME1zUjBGREwwSk9MRTlCUVU5SUxGVkJRVlZWTEV0QlFVdERMRXRCUVV0SUxFVkJRVXRxUXl4RlFVRlJhME1zUjBGSE1VTkhMRTlCUVU5RExGRkJSVkFzVjBGRFJTeFRRVUZUUXl4SlFVTlFlRUlzWjBKQlFXZENlVUlzUzBGQlRVUXNSMEZGZEVKRExFdEJRVXRETEV0QlFVOHNTMEZEV2tRc1MwRkJTMFVzUzBGQlR5eExRVU5hUml4TFFVRkxja01zVDBGQlV5eEZRVGhMYUVJc1QwRXpTMEZ0UWl4aFFVRmhhVUlzUlVGQldTeERRVUZETEVOQlEzaENha01zU1VGQlN5eFBRVU5NVFN4TlFVRlBMRk5CUVdNclFpeEhRVU51UWl4SlFVRkpReXhGUVVGUkxFTkJRMVpETEV0QlFVMUdMRVZCUTA1SExFdEJRVTBzVFVGRlNrNHNTMEZCUzNKRExFOUJRVk1zUlVGQlIzRkRMRXRCUVV0RkxFdEJRVXRKTEV0QlFVOUdMRVZCUVZkS0xFdEJRVXRETEV0QlFVOUhMRVZCUXpkRVNpeExRVUZMUlN4TFFVRlBSU3hKUVVOV1NpeExRVUZMY2tNc1UwRkZVaXhEUVVORVJ5eEpRVUZMTEZWQlEweE5MRTFCUVU4c1UwRkJhVUlyUWl4SFFVTjBRaXhKUVVGSlF5eEZRVUZSTEVOQlExWkRMRXRCUVUxR0xFVkJRMDVITEV0QlFVMU9MRXRCUVV0RExFMUJSVThzU1VGQmFFSkVMRXRCUVV0eVF5eFRRVUZqY1VNc1MwRkJTMFVzUzBGQlQwVXNSMEZEYmtOS0xFdEJRVXRETEV0QlFVOUhMRWxCUTFaS0xFdEJRVXR5UXl4VFFVVlNMRU5CUTBSSExFbEJRVXNzVVVGRFRFMHNUVUZCVHl4WFFVTk1MRWRCUVc5Q0xFbEJRV2hDTkVJc1MwRkJTM0pETEU5QlFWUXNRMEZEUVN4SlFVRkpORU1zUlVGQlRWQXNTMEZCUzBNc1MwRkJTMGtzUzBGSGNFSXNUMEZHYjBJc1NVRkJhRUpNTEV0QlFVdHlReXhQUVVGamNVTXNTMEZCUzBNc1MwRkJUMFFzUzBGQlMwVXNTMEZCVHl4TFFVRlZSaXhMUVVGTFF5eExRVUZQUkN4TFFVRkxReXhMUVVGTFN5eFBRVU0zUlU0c1MwRkJTM0pETEU5QlEwRTBReXhMUVVWU0xFTkJRMFI2UXl4SlFVRkxMRkZCUTB4TkxFMUJRVThzVjBGRFREUkNMRXRCUVV0RExFdEJRVTlFTEV0QlFVdEZMRXRCUVU4c1MwRkRlRUpHTEV0QlFVdHlReXhQUVVGVExFbEJSV1lzUTBGRFJFY3NTVUZCU3l4UFFVTk1UU3hOUVVGUExGTkJRV052UXl4SFFVTnVRaXhIUVVGdlFpeEpRVUZvUWxJc1MwRkJTM0pETEU5QlFXTXNUVUZCVHl4SFFVazVRaXhKUVVoQkxFbEJRVWs0UXl4RlFVRkpWQ3hMUVVGTFF5eExRVU5VVFN4RlFVRk5MRWRCUVV0RkxFVkJRVVZLTEV0QlJWWkpMRVZCUVVsQkxFVkJRVVZJTEUxQlExaERMRWRCUVU5RExFVkJRVWxETEVWQlFVVktMRXRCUjJZc1QwRkJUMFVzU1VGRlVpeERRVU5FZWtNc1NVRkJTeXhUUVVOTVRTeE5RVUZQTEZOQlFXZENjME1zUjBGRGNrSXNSMEZCYjBJc1NVRkJhRUpXTEV0QlFVdHlReXhQUVVGakxFOUJRVTk1UWl4UFFVRlBkVUlzVFVGQlRTeEhRVXN6UXl4SlFVcEJMRWxCUVVsS0xFVkJRVTF1UWl4UFFVRlBkMElzV1VGQldVWXNTVUZCVFN4SFFVTXZRa1FzUlVGQlNWUXNTMEZCUzBNc1MwRkRWSGhETEVWQlFVa3NSVUZGUkdkRUxFZEJRMHhxUWl4WFFVRlhhVUlzUlVGQlJVb3NTMEZCVFVVc1JVRkJTemxETEVkQlEzaENRU3hIUVVGTFowUXNSVUZCUlVvc1MwRkJTekZETEU5QlExbzRReXhGUVVGSlFTeEZRVUZGU0N4TFFVZFNMRTlCUVU5RExFbEJSMUlzUTBGRFJIcERMRWxCUVVzc1ZVRkRURTBzVFVGQlR5eFRRVUZwUW5ORExFVkJRVWRITEVkQlEzcENMRWxCUVVsT0xFVkJZMG9zVDBGYVNVY3NSVUZCU1ZZc1MwRkJTME1zUzBGQlMwa3NTMEZCU3pGRExGRkJSWEpDTkVNc1JVRkJUVkFzUzBGQlMwTXNTMEZCUzBrc1MwRkJTMU1zVFVGQlRTeEZRVUZIU2l4SFFVTTVRbFlzUzBGQlMwTXNTMEZCUzBrc1MwRkJUMHdzUzBGQlMwTXNTMEZCUzBrc1MwRkJTMU1zVFVGQlRVb3NTVUZIZEVOSUxFVkJSbE5ITEVsQlFVMVdMRXRCUVV0RExFdEJRVXRKTEV0QlFVc3hReXhQUVVWNFFuRkRMRXRCUVV0bExGRkJSMHhHTEVWQlFXRmlMRXRCUVV0blFpeFhRVUZYVGl4SFFVRkxWaXhMUVVGTGFVSXNWMEZCVjFBc1IwRkhia1JJTEVsQlJWSXNRMEZEUkhwRExFbEJRVXNzVVVGRFRFMHNUVUZCVHl4WFFVTk1MRTlCUVU4MFFpeExRVUZMUXl4TFFVRkxTU3hQUVVkc1FpeERRVU5FZGtNc1NVRkJTeXhoUVVOTVRTeE5RVUZQTEZOQlFXOUNjME1zUjBGRGVrSXNTVUZCU1VRc1JVRkJTVlFzUzBGQlMwTXNTMEZEVkdsQ0xFVkJRVWtzUlVGRFNsZ3NSVUZCVFVVc1JVRkJSVW9zUzBGSFdpeEpRVVpCU3l4SFFVRkxTQ3hGUVVGSk5VTXNUMEZGUmpoRExFVkJRVWxCTEVWQlFVVklMRTFCUVUwc1EwRkRha0lzU1VGQlNXRXNSVUZCVFZZc1JVRkJSVW9zUzBGRFVtVXNSVUZCUzFZc1JVRkJTVk1zUlVGQlNYaEVMRTlCUVZOM1JDeEZRVUZKZUVRc1QwRkJVeXRETEVWQlNYWkRMRWRCU0VsVkxFbEJRVTlFTEVWQlFVbDRSQ3hQUVVGUk5FTXNSMEZCVDFrc1JVRkJVMW9zUjBGQlQxa3NSVUZCU1V3c1RVRkJUU3hGUVVGSFNpeEhRVWRxUkN4TFFVWldRU3hIUVVGTFZTeEhRVVZSTEVOQlExQkJMRWxCUVU5RUxFVkJRVWw0UkN4VlFVTllkVVFzUlVGRFJWUXNSVUZCUlVnc1MwRkJUVTRzUzBGQlMwTXNTMEZCVDFFc1JVRkJSVWdzUzBGQlZVNHNTMEZCUzBNc1MwRkJUMFFzUzBGQlMwVXNTMEZCVHl4UFFVVTFSRVlzUzBGQlMwTXNTMEZCVDFFc1JVRkRXa0VzUlVGQlJVb3NTMEZCVDJNc1JVRkJTVXdzVFVGQlRVMHNTVUZIY2tJc1VVRkhRVVlzUlVGSlNpeFBRVVJCYkVJc1MwRkJTM0pETEZGQlFWVjFSQ3hGUVVOU1dDeEpRVWRTTEVOQlEwUjZReXhKUVVGTExHRkJRMHhOTEUxQlFVOHNVMEZCYjBKelF5eEhRVU42UWl4SlFVRkpTQ3hGUVVGTmJrSXNUMEZCVDNkQ0xGbEJRVmxHTEVkQlEzcENSQ3hGUVVGSlZDeExRVUZMUXl4TFFVTlVhVUlzUlVGQlNTeEZRVWxTTEVsQlNFRlVMRVZCUVVWS0xFdEJRVXRXTEV0QlFVdFpMRWRCUTFwSExFZEJRVXRFTEVWQlFVVktMRXRCUVVzeFF5eFBRVVZNT0VNc1JVRkJTVUVzUlVGQlJVZ3NUVUZCVFN4RFFVTnFRaXhKUVVGSlpTeEZRVUZOV2l4RlFVRkZTaXhMUVVOU1pTeEZRVUZMVml4RlFVRkpWeXhGUVVGSk1VUXNUMEZCVXpCRUxFVkJRVWt4UkN4UFFVRlRLME1zUlVGSmRrTXNSMEZJUVZjc1JVRkJTVEZDTEV0QlFVdFpMRVZCUVV0QkxFVkJRVWsxUXl4UFFVRlRLME1zUlVGQlJ5eEZRVUZIVlN4SFFVZDJRaXhMUVVaV1ZpeEhRVUZMVlN4SFFVVlJMRU5CUTFCQkxFbEJRVTlETEVWQlFVa3hSQ3hWUVVOWWRVUXNSVUZEUlZRc1JVRkJSVWdzUzBGQlRVNHNTMEZCUzBNc1MwRkJUMUVzUlVGQlJVZ3NTMEZCVlU0c1MwRkJTME1zUzBGQlQwUXNTMEZCUzBVc1MwRkJUeXhQUVVVMVJFWXNTMEZCUzBNc1MwRkJUMUVzUlVGRFdrRXNSVUZCUlVvc1MwRkJUMmRDTEVWQlFVbFFMRTFCUVUxTkxFbEJSM0pDTEZGQlIwRkdMRVZCU1Vvc1QwRkVRV3hDTEV0QlFVdHlReXhSUVVGVmRVUXNSVUZEVWxnc1NVRkhVaXhEUVVORWVrTXNTVUZCUzNsQ0xFOUJRMHh1UWl4TlFVRlBMRk5CUVdWclJDeEZRVUZIUXl4SFFVTjJRaXhQUVVGUGFrTXNVVUZCVVZVc1MwRkJUWHBETEdOQlFXTXNSMEZCU1dkRkxFVkJRVk1zUTBGRk9VTkRMRTFCUVU4c1JVRkZVRU1zWlVGQlpTeFRRVXRrTVVJc1JVRndURlFpTENKbWFXeGxJam9pTDNWemNpOXNiMk5oYkM5c2FXSXZibTlrWlY5dGIyUjFiR1Z6TDNkaGRHTm9hV1o1TDI1dlpHVmZiVzlrZFd4bGN5OXpkSEpsWVcwdFluSnZkM05sY21sbWVTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJKMVptWmxjbDlzYVhOMExtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gZGVzdHJveSh0LGUpe3ZhciByPXRoaXMsaT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCxhPXRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO3JldHVybiBpfHxhPyhlP2UodCk6dCYmKHRoaXMuX3dyaXRhYmxlU3RhdGU/dGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWR8fCh0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvck5ULHRoaXMsdCkpOnByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yTlQsdGhpcyx0KSksdGhpcyk6KHRoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPSEwKSx0aGlzLl9kZXN0cm95KHR8fG51bGwsZnVuY3Rpb24odCl7IWUmJnQ/ci5fd3JpdGFibGVTdGF0ZT9yLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD9wcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULHIpOihyLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlTlQscix0KSk6cHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JBbmRDbG9zZU5ULHIsdCk6ZT8ocHJvY2Vzcy5uZXh0VGljayhlbWl0Q2xvc2VOVCxyKSxlKHQpKTpwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULHIpfSksdGhpcyl9ZnVuY3Rpb24gZW1pdEVycm9yQW5kQ2xvc2VOVCh0LGUpe2VtaXRFcnJvck5UKHQsZSksZW1pdENsb3NlTlQodCl9ZnVuY3Rpb24gZW1pdENsb3NlTlQodCl7dC5fd3JpdGFibGVTdGF0ZSYmIXQuX3dyaXRhYmxlU3RhdGUuZW1pdENsb3NlfHx0Ll9yZWFkYWJsZVN0YXRlJiYhdC5fcmVhZGFibGVTdGF0ZS5lbWl0Q2xvc2V8fHQuZW1pdChcImNsb3NlXCIpfWZ1bmN0aW9uIHVuZGVzdHJveSgpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmc9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ9ITEpLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kaW5nPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluYWxDYWxsZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5wcmVmaW5pc2hlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSExKX1mdW5jdGlvbiBlbWl0RXJyb3JOVCh0LGUpe3QuZW1pdChcImVycm9yXCIsZSl9ZnVuY3Rpb24gZXJyb3JPckRlc3Ryb3kodCxlKXt2YXIgcj10Ll9yZWFkYWJsZVN0YXRlLGk9dC5fd3JpdGFibGVTdGF0ZTtyJiZyLmF1dG9EZXN0cm95fHxpJiZpLmF1dG9EZXN0cm95P3QuZGVzdHJveShlKTp0LmVtaXQoXCJlcnJvclwiLGUpfW1vZHVsZS5leHBvcnRzPXtkZXN0cm95OmRlc3Ryb3ksdW5kZXN0cm95OnVuZGVzdHJveSxlcnJvck9yRGVzdHJveTplcnJvck9yRGVzdHJveX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVJsYzNSeWIza3Vhbk1pWFN3aWJtRnRaWE1pT2xzaVpHVnpkSEp2ZVNJc0ltVnljaUlzSW1OaUlpd2lYM1JvYVhNaUxDSjBhR2x6SWl3aWNtVmhaR0ZpYkdWRVpYTjBjbTk1WldRaUxDSmZjbVZoWkdGaWJHVlRkR0YwWlNJc0ltUmxjM1J5YjNsbFpDSXNJbmR5YVhSaFlteGxSR1Z6ZEhKdmVXVmtJaXdpWDNkeWFYUmhZbXhsVTNSaGRHVWlMQ0psY25KdmNrVnRhWFIwWldRaUxDSndjbTlqWlhOeklpd2libVY0ZEZScFkyc2lMQ0psYldsMFJYSnliM0pPVkNJc0lsOWtaWE4wY205NUlpd2laVzFwZEVOc2IzTmxUbFFpTENKbGJXbDBSWEp5YjNKQmJtUkRiRzl6WlU1VUlpd2ljMlZzWmlJc0ltVnRhWFJEYkc5elpTSXNJbVZ0YVhRaUxDSjFibVJsYzNSeWIza2lMQ0p5WldGa2FXNW5JaXdpWlc1a1pXUWlMQ0psYm1SRmJXbDBkR1ZrSWl3aVpXNWthVzVuSWl3aVptbHVZV3hEWVd4c1pXUWlMQ0p3Y21WbWFXNXBjMmhsWkNJc0ltWnBibWx6YUdWa0lpd2laWEp5YjNKUGNrUmxjM1J5YjNraUxDSnpkSEpsWVcwaUxDSnlVM1JoZEdVaUxDSjNVM1JoZEdVaUxDSmhkWFJ2UkdWemRISnZlU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlJVRXNVMEZCVTBFc1VVRkJVVU1zUlVGQlMwTXNSMEZEY0VJc1NVRkJTVU1zUlVGQlVVTXNTMEZGVWtNc1JVRkJiMEpFTEV0QlFVdEZMR2RDUVVGclFrWXNTMEZCUzBVc1pVRkJaVU1zVlVGREwwUkRMRVZCUVc5Q1NpeExRVUZMU3l4blFrRkJhMEpNTEV0QlFVdExMR1ZCUVdWR0xGVkJSVzVGTEU5QlFVbEdMRWRCUVhGQ1J5eEhRVU51UWs0c1JVRkRSa0VzUlVGQlIwUXNSMEZEVFVFc1NVRkRTa2NzUzBGQlMwc3NaVUZGUlV3c1MwRkJTMHNzWlVGQlpVTXNaVUZET1VKT0xFdEJRVXRMTEdWQlFXVkRMR05CUVdVc1JVRkRia05ETEZGQlFWRkRMRk5CUVZORExGbEJRV0ZVTEV0QlFVMUlMRWxCU0hCRFZTeFJRVUZSUXl4VFFVRlRReXhaUVVGaFZDeExRVUZOU0N4SlFVOXFRMGNzVDBGTFRFRXNTMEZCUzBVc2FVSkJRMUJHTEV0QlFVdEZMR1ZCUVdWRExGZEJRVmtzUjBGSk9VSklMRXRCUVV0TExHbENRVU5RVEN4TFFVRkxTeXhsUVVGbFJpeFhRVUZaTEVkQlIyeERTQ3hMUVVGTFZTeFRRVUZUWWl4SFFVRlBMRXRCUVUwc1UwRkJWVUVzU1VGRE9VSkRMRWRCUVUxRUxFVkJRMHBGTEVWQlFVMU5MR1ZCUlVOT0xFVkJRVTFOTEdWQlFXVkRMR0ZCU1M5Q1F5eFJRVUZSUXl4VFFVRlRSeXhaUVVGaFdpeEpRVWc1UWtFc1JVRkJUVTBzWlVGQlpVTXNZMEZCWlN4RlFVTndRME1zVVVGQlVVTXNVMEZCVTBrc2IwSkJRWEZDWWl4RlFVRlBSaXhKUVVnM1ExVXNVVUZCVVVNc1UwRkJVMGtzYjBKQlFYRkNZaXhGUVVGUFJpeEhRVTkwUTBNc1IwRkRWRk1zVVVGQlVVTXNVMEZCVTBjc1dVRkJZVm9zUjBGRE9VSkVMRVZCUVVkRUxFbEJSVWhWTEZGQlFWRkRMRk5CUVZOSExGbEJRV0ZhTEV0QlNUTkNReXhOUVVkVUxGTkJRVk5aTEc5Q1FVRnZRa01zUlVGQlRXaENMRWRCUTJwRFdTeFpRVUZaU1N4RlFVRk5hRUlzUjBGRGJFSmpMRmxCUVZsRkxFZEJSMlFzVTBGQlUwWXNXVUZCV1VVc1IwRkRaa0VzUlVGQlMxSXNhVUpCUVcxQ1VTeEZRVUZMVWl4bFFVRmxVeXhYUVVNMVEwUXNSVUZCUzFnc2FVSkJRVzFDVnl4RlFVRkxXQ3hsUVVGbFdTeFhRVU5vUkVRc1JVRkJTMFVzUzBGQlN5eFRRVWRhTEZOQlFWTkRMRmxCUTBob1FpeExRVUZMUlN4cFFrRkRVRVlzUzBGQlMwVXNaVUZCWlVNc1YwRkJXU3hGUVVOb1EwZ3NTMEZCUzBVc1pVRkJaV1VzVTBGQlZTeEZRVU01UW1wQ0xFdEJRVXRGTEdWQlFXVm5RaXhQUVVGUkxFVkJRelZDYkVJc1MwRkJTMFVzWlVGQlpXbENMRmxCUVdFc1IwRkhMMEp1UWl4TFFVRkxTeXhwUWtGRFVFd3NTMEZCUzBzc1pVRkJaVVlzVjBGQldTeEZRVU5vUTBnc1MwRkJTMHNzWlVGQlpXRXNUMEZCVVN4RlFVTTFRbXhDTEV0QlFVdExMR1ZCUVdWbExGRkJRVk1zUlVGRE4wSndRaXhMUVVGTFN5eGxRVUZsWjBJc1lVRkJZeXhGUVVOc1EzSkNMRXRCUVV0TExHVkJRV1ZwUWl4aFFVRmpMRVZCUTJ4RGRFSXNTMEZCUzBzc1pVRkJaV3RDTEZWQlFWY3NSVUZETDBKMlFpeExRVUZMU3l4bFFVRmxReXhqUVVGbExFZEJTWFpETEZOQlFWTkhMRmxCUVZsSkxFVkJRVTFvUWl4SFFVTjZRbWRDTEVWQlFVdEZMRXRCUVVzc1VVRkJVMnhDTEVkQlIzSkNMRk5CUVZNeVFpeGxRVUZsUXl4RlFVRlJOVUlzUjBGTk9VSXNTVUZCU1RaQ0xFVkJRVk5FTEVWQlFVOTJRaXhsUVVOb1FubENMRVZCUVZOR0xFVkJRVTl3UWl4bFFVTm9RbkZDTEVkQlFWVkJMRVZCUVU5RkxHRkJRV1ZFTEVkQlFWVkJMRVZCUVU5RExGbEJRV0ZJTEVWQlFVODNRaXhSUVVGUlF5eEhRVUZWTkVJc1JVRkJUMVlzUzBGQlN5eFJRVUZUYkVJc1IwRkhiRWhuUXl4UFFVRlBReXhSUVVGVkxFTkJRMlpzUXl4UlFVRlRRU3hSUVVOVWIwSXNWVUZCVjBFc1ZVRkRXRkVzWlVGQlowSkJJaXdpWm1sc1pTSTZJaTkxYzNJdmJHOWpZV3d2YkdsaUwyNXZaR1ZmYlc5a2RXeGxjeTkzWVhSamFHbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmMzUnlaV0Z0TFdKeWIzZHpaWEpwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTlrWlhOMGNtOTVMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO3ZhciBFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRT1yZXF1aXJlKFwiLi4vLi4vLi4vZXJyb3JzXCIpLmNvZGVzLkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFO2Z1bmN0aW9uIG9uY2UoZSl7dmFyIHI9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXIpe3I9ITA7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcgQXJyYXkodCksbz0wO288dDtvKyspbltvXT1hcmd1bWVudHNbb107ZS5hcHBseSh0aGlzLG4pfX19ZnVuY3Rpb24gbm9vcCgpe31mdW5jdGlvbiBpc1JlcXVlc3QoZSl7cmV0dXJuIGUuc2V0SGVhZGVyJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmFib3J0fWZ1bmN0aW9uIGVvcyhlLHIsdCl7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgcilyZXR1cm4gZW9zKGUsbnVsbCxyKTtyfHwocj17fSksdD1vbmNlKHR8fG5vb3ApO3ZhciBuPXIucmVhZGFibGV8fCExIT09ci5yZWFkYWJsZSYmZS5yZWFkYWJsZSxvPXIud3JpdGFibGV8fCExIT09ci53cml0YWJsZSYmZS53cml0YWJsZSxpPWZ1bmN0aW9uKCl7ZS53cml0YWJsZXx8bCgpfSxhPWUuX3dyaXRhYmxlU3RhdGUmJmUuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQsbD1mdW5jdGlvbigpe289ITEsYT0hMCxufHx0LmNhbGwoZSl9LHM9ZS5fcmVhZGFibGVTdGF0ZSYmZS5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkLGM9ZnVuY3Rpb24oKXtuPSExLHM9ITAsb3x8dC5jYWxsKGUpfSx1PWZ1bmN0aW9uKHIpe3QuY2FsbChlLHIpfSxmPWZ1bmN0aW9uKCl7dmFyIHI7cmV0dXJuIG4mJiFzPyhlLl9yZWFkYWJsZVN0YXRlJiZlLl9yZWFkYWJsZVN0YXRlLmVuZGVkfHwocj1uZXcgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UpLHQuY2FsbChlLHIpKTpvJiYhYT8oZS5fd3JpdGFibGVTdGF0ZSYmZS5fd3JpdGFibGVTdGF0ZS5lbmRlZHx8KHI9bmV3IEVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFKSx0LmNhbGwoZSxyKSk6dm9pZCAwfSxkPWZ1bmN0aW9uKCl7ZS5yZXEub24oXCJmaW5pc2hcIixsKX07cmV0dXJuIGlzUmVxdWVzdChlKT8oZS5vbihcImNvbXBsZXRlXCIsbCksZS5vbihcImFib3J0XCIsZiksZS5yZXE/ZCgpOmUub24oXCJyZXF1ZXN0XCIsZCkpOm8mJiFlLl93cml0YWJsZVN0YXRlJiYoZS5vbihcImVuZFwiLGkpLGUub24oXCJjbG9zZVwiLGkpKSxlLm9uKFwiZW5kXCIsYyksZS5vbihcImZpbmlzaFwiLGwpLCExIT09ci5lcnJvciYmZS5vbihcImVycm9yXCIsdSksZS5vbihcImNsb3NlXCIsZiksZnVuY3Rpb24oKXtlLnJlbW92ZUxpc3RlbmVyKFwiY29tcGxldGVcIixsKSxlLnJlbW92ZUxpc3RlbmVyKFwiYWJvcnRcIixmKSxlLnJlbW92ZUxpc3RlbmVyKFwicmVxdWVzdFwiLGQpLGUucmVxJiZlLnJlcS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLGwpLGUucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixpKSxlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixpKSxlLnJlbW92ZUxpc3RlbmVyKFwiZmluaXNoXCIsbCksZS5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLGMpLGUucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLHUpLGUucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLGYpfX1tb2R1bGUuZXhwb3J0cz1lb3M7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVZ1WkMxdlppMXpkSEpsWVcwdWFuTWlYU3dpYm1GdFpYTWlPbHNpUlZKU1gxTlVVa1ZCVFY5UVVrVk5RVlJWVWtWZlEweFBVMFVpTENKeVpYRjFhWEpsSWl3aVkyOWtaWE1pTENKdmJtTmxJaXdpWTJGc2JHSmhZMnNpTENKallXeHNaV1FpTENKZmJHVnVJaXdpWVhKbmRXMWxiblJ6SWl3aWJHVnVaM1JvSWl3aVlYSm5jeUlzSWtGeWNtRjVJaXdpWDJ0bGVTSXNJbUZ3Y0d4NUlpd2lkR2hwY3lJc0ltNXZiM0FpTENKcGMxSmxjWFZsYzNRaUxDSnpkSEpsWVcwaUxDSnpaWFJJWldGa1pYSWlMQ0poWW05eWRDSXNJbVZ2Y3lJc0ltOXdkSE1pTENKeVpXRmtZV0pzWlNJc0luZHlhWFJoWW14bElpd2liMjVzWldkaFkzbG1hVzVwYzJnaUxDSnZibVpwYm1semFDSXNJbmR5YVhSaFlteGxSVzVrWldRaUxDSmZkM0pwZEdGaWJHVlRkR0YwWlNJc0ltWnBibWx6YUdWa0lpd2lZMkZzYkNJc0luSmxZV1JoWW14bFJXNWtaV1FpTENKZmNtVmhaR0ZpYkdWVGRHRjBaU0lzSW1WdVpFVnRhWFIwWldRaUxDSnZibVZ1WkNJc0ltOXVaWEp5YjNJaUxDSmxjbklpTENKdmJtTnNiM05sSWl3aVpXNWtaV1FpTENKdmJuSmxjWFZsYzNRaUxDSnlaWEVpTENKdmJpSXNJbVZ5Y205eUlpd2ljbVZ0YjNabFRHbHpkR1Z1WlhJaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25SeklsMHNJbTFoY0hCcGJtZHpJam9pUVVGRlFTeGhRVVZCTEVsQlFVbEJMREpDUVVFMlFrTXNVVUZCVVN4dFFrRkJiVUpETEUxQlFVMUdMREpDUVVWc1JTeFRRVUZUUnl4TFFVRkxReXhIUVVOYUxFbEJRVWxETEVkQlFWTXNSVUZEWWl4UFFVRlBMRmRCUTB3c1NVRkJTVUVzUlVGQlNpeERRVU5CUVN4SFFVRlRMRVZCUlZRc1NVRkJTeXhKUVVGSlF5eEZRVUZQUXl4VlFVRlZReXhQUVVGUlF5eEZRVUZQTEVsQlFVbERMRTFCUVUxS0xFZEJRVTlMTEVWQlFVOHNSVUZCUjBFc1JVRkJUMHdzUlVGQlRVc3NTVUZETDBWR0xFVkJRVXRGTEVkQlFWRktMRlZCUVZWSkxFZEJSM3BDVUN4RlFVRlRVU3hOUVVGTlF5eExRVUZOU2l4TFFVbDZRaXhUUVVGVFN5eFJRVVZVTEZOQlFWTkRMRlZCUVZWRExFZEJRMnBDTEU5QlFVOUJMRVZCUVU5RExGZEJRWEZETEcxQ1FVRnFRa1FzUlVGQlQwVXNUVUZITTBNc1UwRkJVME1zU1VGQlNVZ3NSVUZCVVVrc1JVRkJUV2hDTEVkQlEzcENMRWRCUVc5Q0xHMUNRVUZVWjBJc1JVRkJjVUlzVDBGQlQwUXNTVUZCU1Vnc1JVRkJVU3hMUVVGTlNTeEhRVU53UkVFc1NVRkJUVUVzUlVGQlR5eEpRVU5zUW1oQ0xFVkJRVmRFTEV0QlFVdERMRWRCUVZsVkxFMUJRelZDTEVsQlFVbFBMRVZCUVZkRUxFVkJRVXRETEZkQlFUaENMRWxCUVd4Q1JDeEZRVUZMUXl4VlFVRnpRa3dzUlVGQlQwc3NVMEZET1VSRExFVkJRVmRHTEVWQlFVdEZMRmRCUVRoQ0xFbEJRV3hDUml4RlFVRkxSU3hWUVVGelFrNHNSVUZCVDAwc1UwRkZPVVJETEVWQlFXbENMRmRCUTJSUUxFVkJRVTlOTEZWQlFWVkZMRXRCUjNCQ1F5eEZRVUZuUWxRc1JVRkJUMVVzWjBKQlFXdENWaXhGUVVGUFZTeGxRVUZsUXl4VFFVVXZSRWdzUlVGQlZ5eFhRVU5pUml4SFFVRlhMRVZCUTFoSExFZEJRV2RDTEVWQlExaEtMRWRCUVZWcVFpeEZRVUZUZDBJc1MwRkJTMW9zU1VGSE0wSmhMRVZCUVdkQ1lpeEZRVUZQWXl4blFrRkJhMEprTEVWQlFVOWpMR1ZCUVdWRExGZEJSUzlFUXl4RlFVRlJMRmRCUTFaWUxFZEJRVmNzUlVGRFdGRXNSMEZCWjBJc1JVRkRXRkFzUjBGQlZXeENMRVZCUVZOM1FpeExRVUZMV2l4SlFVY3pRbWxDTEVWQlFWVXNVMEZCYVVKRExFZEJRemRDT1VJc1JVRkJVM2RDTEV0QlFVdGFMRVZCUVZGclFpeEpRVWR3UWtNc1JVRkJWU3hYUVVOYUxFbEJRVWxFTEVWQlJVb3NUMEZCU1dJc1NVRkJZVkVzUjBGRFZtSXNSVUZCVDJNc1owSkJRVzFDWkN4RlFVRlBZeXhsUVVGbFRTeFJRVUZQUml4RlFVRk5MRWxCUVVsc1F5dzBRa0ZETDBSSkxFVkJRVk4zUWl4TFFVRkxXaXhGUVVGUmEwSXNTVUZITTBKYUxFbEJRV0ZITEVkQlExWlVMRVZCUVU5VkxHZENRVUZ0UWxZc1JVRkJUMVVzWlVGQlpWVXNVVUZCVDBZc1JVRkJUU3hKUVVGSmJFTXNORUpCUXk5RVNTeEZRVUZUZDBJc1MwRkJTMW9zUlVGQlVXdENMRk5CUmk5Q0xFZEJUVVZITEVWQlFWa3NWMEZEWkhKQ0xFVkJRVTl6UWl4SlFVRkpReXhIUVVGSExGTkJRVlZtTEVsQmFVSXhRaXhQUVdSSlZDeFZRVUZWUXl4SlFVTmFRU3hGUVVGUGRVSXNSMEZCUnl4WFFVRlpaaXhIUVVOMFFsSXNSVUZCVDNWQ0xFZEJRVWNzVVVGQlUwb3NSMEZEWm01Q0xFVkJRVTl6UWl4SlFVRkxSQ3hKUVVGcFFuSkNMRVZCUVU5MVFpeEhRVUZITEZWQlFWZEdMRWxCUXpkRFppeEpRVUZoVGl4RlFVRlBWU3hwUWtGRk4wSldMRVZCUVU5MVFpeEhRVUZITEUxQlFVOW9RaXhIUVVOcVFsQXNSVUZCVDNWQ0xFZEJRVWNzVVVGQlUyaENMRWxCUjNKQ1VDeEZRVUZQZFVJc1IwRkJSeXhOUVVGUFVDeEhRVU5xUW1oQ0xFVkJRVTkxUWl4SFFVRkhMRk5CUVZWbUxFbEJRMFFzU1VGQlprb3NSVUZCUzI5Q0xFOUJRV2xDZUVJc1JVRkJUM1ZDTEVkQlFVY3NVVUZCVTA0c1IwRkROME5xUWl4RlFVRlBkVUlzUjBGQlJ5eFJRVUZUU2l4SFFVTmFMRmRCUTB4dVFpeEZRVUZQZVVJc1pVRkJaU3hYUVVGWmFrSXNSMEZEYkVOU0xFVkJRVTk1UWl4bFFVRmxMRkZCUVZOT0xFZEJReTlDYmtJc1JVRkJUM2xDTEdWQlFXVXNWVUZCVjBvc1IwRkROMEp5UWl4RlFVRlBjMElzUzBGQlMzUkNMRVZCUVU5elFpeEpRVUZKUnl4bFFVRmxMRk5CUVZWcVFpeEhRVU53UkZJc1JVRkJUM2xDTEdWQlFXVXNUVUZCVDJ4Q0xFZEJRemRDVUN4RlFVRlBlVUlzWlVGQlpTeFJRVUZUYkVJc1IwRkRMMEpRTEVWQlFVOTVRaXhsUVVGbExGTkJRVlZxUWl4SFFVTm9RMUlzUlVGQlQzbENMR1ZCUVdVc1RVRkJUMVFzUjBGRE4wSm9RaXhGUVVGUGVVSXNaVUZCWlN4UlFVRlRVaXhIUVVNdlFtcENMRVZCUVU5NVFpeGxRVUZsTEZGQlFWTk9MRWxCU1c1RFR5eFBRVUZQUXl4UlFVRlZlRUlpTENKbWFXeGxJam9pTDNWemNpOXNiMk5oYkM5c2FXSXZibTlrWlY5dGIyUjFiR1Z6TDNkaGRHTm9hV1o1TDI1dlpHVmZiVzlrZFd4bGN5OXpkSEpsWVcwdFluSnZkM05sY21sbWVTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJWdVpDMXZaaTF6ZEhKbFlXMHVhbk1pZlE9PSIsIm1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiUmVhZGFibGUuZnJvbSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBicm93c2VyXCIpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltWnliMjB0WW5KdmQzTmxjaTVxY3lKZExDSnVZVzFsY3lJNld5SnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lSWEp5YjNJaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQlFTeFBRVUZQUXl4UlFVRlZMRmRCUTJZc1RVRkJUU3hKUVVGSlF5eE5RVUZOSWl3aVptbHNaU0k2SWk5MWMzSXZiRzlqWVd3dmJHbGlMMjV2WkdWZmJXOWtkV3hsY3k5M1lYUmphR2xtZVM5dWIyUmxYMjF2WkhWc1pYTXZjM1J5WldGdExXSnliM2R6WlhKcFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5bWNtOXRMV0p5YjNkelpYSXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO3ZhciBlb3M7ZnVuY3Rpb24gb25jZShlKXt2YXIgcj0hMTtyZXR1cm4gZnVuY3Rpb24oKXtyfHwocj0hMCxlLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX19dmFyIF9yZXF1aXJlJGNvZGVzPXJlcXVpcmUoXCIuLi8uLi8uLi9lcnJvcnNcIikuY29kZXMsRVJSX01JU1NJTkdfQVJHUz1fcmVxdWlyZSRjb2Rlcy5FUlJfTUlTU0lOR19BUkdTLEVSUl9TVFJFQU1fREVTVFJPWUVEPV9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fREVTVFJPWUVEO2Z1bmN0aW9uIG5vb3AoZSl7aWYoZSl0aHJvdyBlfWZ1bmN0aW9uIGlzUmVxdWVzdChlKXtyZXR1cm4gZS5zZXRIZWFkZXImJlwiZnVuY3Rpb25cIj09dHlwZW9mIGUuYWJvcnR9ZnVuY3Rpb24gZGVzdHJveWVyKGUscixuLG8pe289b25jZShvKTt2YXIgdD0hMTtlLm9uKFwiY2xvc2VcIixmdW5jdGlvbigpe3Q9ITB9KSx2b2lkIDA9PT1lb3MmJihlb3M9cmVxdWlyZShcIi4vZW5kLW9mLXN0cmVhbVwiKSksZW9zKGUse3JlYWRhYmxlOnIsd3JpdGFibGU6bn0sZnVuY3Rpb24oZSl7aWYoZSlyZXR1cm4gbyhlKTt0PSEwLG8oKX0pO3ZhciBpPSExO3JldHVybiBmdW5jdGlvbihyKXtpZighdCYmIWkpcmV0dXJuIGk9ITAsaXNSZXF1ZXN0KGUpP2UuYWJvcnQoKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmRlc3Ryb3k/ZS5kZXN0cm95KCk6dm9pZCBvKHJ8fG5ldyBFUlJfU1RSRUFNX0RFU1RST1lFRChcInBpcGVcIikpfX1mdW5jdGlvbiBjYWxsKGUpe2UoKX1mdW5jdGlvbiBwaXBlKGUscil7cmV0dXJuIGUucGlwZShyKX1mdW5jdGlvbiBwb3BDYWxsYmFjayhlKXtyZXR1cm4gZS5sZW5ndGg/XCJmdW5jdGlvblwiIT10eXBlb2YgZVtlLmxlbmd0aC0xXT9ub29wOmUucG9wKCk6bm9vcH1mdW5jdGlvbiBwaXBlbGluZSgpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KGUpLG49MDtuPGU7bisrKXJbbl09YXJndW1lbnRzW25dO3ZhciBvLHQ9cG9wQ2FsbGJhY2socik7aWYoQXJyYXkuaXNBcnJheShyWzBdKSYmKHI9clswXSksci5sZW5ndGg8Mil0aHJvdyBuZXcgRVJSX01JU1NJTkdfQVJHUyhcInN0cmVhbXNcIik7dmFyIGk9ci5tYXAoZnVuY3Rpb24oZSxuKXt2YXIgdT1uPHIubGVuZ3RoLTE7cmV0dXJuIGRlc3Ryb3llcihlLHUsbj4wLGZ1bmN0aW9uKGUpe298fChvPWUpLGUmJmkuZm9yRWFjaChjYWxsKSx1fHwoaS5mb3JFYWNoKGNhbGwpLHQobykpfSl9KTtyZXR1cm4gci5yZWR1Y2UocGlwZSl9bW9kdWxlLmV4cG9ydHM9cGlwZWxpbmU7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbkJwY0dWc2FXNWxMbXB6SWwwc0ltNWhiV1Z6SWpwYkltVnZjeUlzSW05dVkyVWlMQ0pqWVd4c1ltRmpheUlzSW1OaGJHeGxaQ0lzSW1Gd2NHeDVJaXdpWVhKbmRXMWxiblJ6SWl3aVgzSmxjWFZwY21Va1kyOWtaWE1pTENKeVpYRjFhWEpsSWl3aVkyOWtaWE1pTENKRlVsSmZUVWxUVTBsT1IxOUJVa2RUSWl3aVJWSlNYMU5VVWtWQlRWOUVSVk5VVWs5WlJVUWlMQ0p1YjI5d0lpd2laWEp5SWl3aWFYTlNaWEYxWlhOMElpd2ljM1J5WldGdElpd2ljMlYwU0dWaFpHVnlJaXdpWVdKdmNuUWlMQ0prWlhOMGNtOTVaWElpTENKeVpXRmthVzVuSWl3aWQzSnBkR2x1WnlJc0ltTnNiM05sWkNJc0ltOXVJaXdpZFc1a1pXWnBibVZrSWl3aWNtVmhaR0ZpYkdVaUxDSjNjbWwwWVdKc1pTSXNJbVJsYzNSeWIzbGxaQ0lzSW1SbGMzUnliM2tpTENKallXeHNJaXdpWm00aUxDSndhWEJsSWl3aVpuSnZiU0lzSW5Sdklpd2ljRzl3UTJGc2JHSmhZMnNpTENKemRISmxZVzF6SWl3aWJHVnVaM1JvSWl3aWNHOXdJaXdpY0dsd1pXeHBibVVpTENKZmJHVnVJaXdpUVhKeVlYa2lMQ0pmYTJWNUlpd2laWEp5YjNJaUxDSnBjMEZ5Y21GNUlpd2laR1Z6ZEhKdmVYTWlMQ0p0WVhBaUxDSnBJaXdpWm05eVJXRmphQ0lzSW5KbFpIVmpaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pWFN3aWJXRndjR2x1WjNNaU9pSkJRVVZCTEdGQlJVRXNTVUZCU1VFc1NVRkZTaXhUUVVGVFF5eExRVUZMUXl4SFFVTmFMRWxCUVVsRExFZEJRVk1zUlVGRFlpeFBRVUZQTEZkQlEwUkJMRWxCUTBwQkxFZEJRVk1zUlVGRFZFUXNSVUZCVTBVc1YwRkJUU3hGUVVGUlF5eGhRVWt6UWl4SlFVRkpReXhsUVVGcFFrTXNVVUZCVVN4dFFrRkJiVUpETEUxQlF6VkRReXhwUWtGQmJVSklMR1ZCUVdWSExHbENRVU5zUTBNc2NVSkJRWFZDU2l4bFFVRmxTU3h4UWtGRk1VTXNVMEZCVTBNc1MwRkJTME1zUjBGRldpeEhRVUZKUVN4RlFVRkxMRTFCUVUxQkxFVkJSMnBDTEZOQlFWTkRMRlZCUVZWRExFZEJRMnBDTEU5QlFVOUJMRVZCUVU5RExGZEJRWEZETEcxQ1FVRnFRa1FzUlVGQlQwVXNUVUZITTBNc1UwRkJVME1zVlVGQlZVZ3NSVUZCVVVrc1JVRkJVME1zUlVGQlUycENMRWRCUXpORFFTeEZRVUZYUkN4TFFVRkxReXhIUVVOb1FpeEpRVUZKYTBJc1IwRkJVeXhGUVVOaVRpeEZRVUZQVHl4SFFVRkhMRkZCUVZNc1YwRkRha0pFTEVkQlFWTXNVMEZGUTBVc1NVRkJVblJDTEUxQlFXMUNRU3hKUVVGTlR5eFJRVUZSTEc5Q1FVTnlRMUFzU1VGQlNXTXNSVUZCVVN4RFFVTldVeXhUUVVGVlRDeEZRVU5XVFN4VFFVRlZUQ3hIUVVOVUxGTkJRVlZRTEVkQlExZ3NSMEZCU1VFc1JVRkJTeXhQUVVGUFZpeEZRVUZUVlN4SFFVTjZRbEVzUjBGQlV5eEZRVU5VYkVJc1RVRkZSaXhKUVVGSmRVSXNSMEZCV1N4RlFVTm9RaXhQUVVGUExGTkJRVlZpTEVkQlEyWXNTVUZCU1ZFc1NVRkRRVXNzUlVGSFNpeFBRVVpCUVN4SFFVRlpMRVZCUlZKYUxGVkJRVlZETEVkQlFXZENRU3hGUVVGUFJTeFJRVU5RTEcxQ1FVRnVRa1lzUlVGQlQxa3NVVUZCSzBKYUxFVkJRVTlaTEdWQlEzaEVlRUlzUlVGQlUxVXNSMEZCVHl4SlFVRkpSaXh4UWtGQmNVSXNWVUZKTjBNc1UwRkJVMmxDTEV0QlFVdERMRWRCUTFwQkxFbEJSMFlzVTBGQlUwTXNTMEZCUzBNc1JVRkJUVU1zUjBGRGJFSXNUMEZCVDBRc1JVRkJTMFFzUzBGQlMwVXNSMEZIYmtJc1UwRkJVME1zV1VGQldVTXNSMEZEYmtJc1QwRkJTMEVzUlVGQlVVTXNUMEZET0VJc2JVSkJRV2hEUkN4RlFVRlJRU3hGUVVGUlF5eFBRVUZUTEVkQlFUQkNka0lzUzBGRGRrUnpRaXhGUVVGUlJTeE5RVVpoZUVJc1MwRkxPVUlzVTBGQlUzbENMRmRCUTFBc1NVRkJTeXhKUVVGSlF5eEZRVUZQYUVNc1ZVRkJWVFpDTEU5QlFWRkVMRVZCUVZVc1NVRkJTVXNzVFVGQlRVUXNSMEZCVDBVc1JVRkJUeXhGUVVGSFFTeEZRVUZQUml4RlFVRk5SU3hKUVVOc1JrNHNSVUZCVVUwc1IwRkJVV3hETEZWQlFWVnJReXhIUVVjMVFpeEpRVTlKUXl4RlFWQkJkRU1zUlVGQlZ6aENMRmxCUVZsRExFZEJSek5DTEVkQlJrbExMRTFCUVUxSExGRkJRVkZTTEVWQlFWRXNUVUZCUzBFc1JVRkJWVUVzUlVGQlVTeEpRVVUzUTBFc1JVRkJVVU1zVDBGQlV5eEZRVU51UWl4TlFVRk5MRWxCUVVsNlFpeHBRa0ZCYVVJc1YwRkpOMElzU1VGQlNXbERMRVZCUVZkVUxFVkJRVkZWTEVsQlFVa3NVMEZCVlRkQ0xFVkJRVkU0UWl4SFFVTXpReXhKUVVGSk1VSXNSVUZCVlRCQ0xFVkJRVWxZTEVWQlFWRkRMRTlCUVZNc1JVRkZia01zVDBGQlQycENMRlZCUVZWSUxFVkJRVkZKTEVWQlJGZ3dRaXhGUVVGSkxFVkJRM2xDTEZOQlFWVm9ReXhIUVVNNVF6UkNMRWxCUVU5QkxFVkJRVkUxUWl4SFFVTm9Ra0VzUjBGQlN6aENMRVZCUVZOSExGRkJRVkZzUWl4TlFVTjBRbFFzU1VGRFNuZENMRVZCUVZOSExGRkJRVkZzUWl4TlFVTnFRbnBDTEVWQlFWTnpReXhSUVVkaUxFOUJRVTlRTEVWQlFWRmhMRTlCUVU5cVFpeE5RVWQ0UW10Q0xFOUJRVTlETEZGQlFWVmFJaXdpWm1sc1pTSTZJaTkxYzNJdmJHOWpZV3d2YkdsaUwyNXZaR1ZmYlc5a2RXeGxjeTkzWVhSamFHbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmMzUnlaV0Z0TFdKeWIzZHpaWEpwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTl3YVhCbGJHbHVaUzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO3ZhciBFUlJfSU5WQUxJRF9PUFRfVkFMVUU9cmVxdWlyZShcIi4uLy4uLy4uL2Vycm9yc1wiKS5jb2Rlcy5FUlJfSU5WQUxJRF9PUFRfVkFMVUU7ZnVuY3Rpb24gaGlnaFdhdGVyTWFya0Zyb20ocixlLHQpe3JldHVybiBudWxsIT1yLmhpZ2hXYXRlck1hcms/ci5oaWdoV2F0ZXJNYXJrOmU/clt0XTpudWxsfWZ1bmN0aW9uIGdldEhpZ2hXYXRlck1hcmsocixlLHQsYSl7dmFyIGk9aGlnaFdhdGVyTWFya0Zyb20oZSxhLHQpO2lmKG51bGwhPWkpe2lmKCFpc0Zpbml0ZShpKXx8TWF0aC5mbG9vcihpKSE9PWl8fGk8MCl0aHJvdyBuZXcgRVJSX0lOVkFMSURfT1BUX1ZBTFVFKGE/dDpcImhpZ2hXYXRlck1hcmtcIixpKTtyZXR1cm4gTWF0aC5mbG9vcihpKX1yZXR1cm4gci5vYmplY3RNb2RlPzE2OjE2Mzg0fW1vZHVsZS5leHBvcnRzPXtnZXRIaWdoV2F0ZXJNYXJrOmdldEhpZ2hXYXRlck1hcmt9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5OMFlYUmxMbXB6SWwwc0ltNWhiV1Z6SWpwYklrVlNVbDlKVGxaQlRFbEVYMDlRVkY5V1FVeFZSU0lzSW5KbGNYVnBjbVVpTENKamIyUmxjeUlzSW1ocFoyaFhZWFJsY2sxaGNtdEdjbTl0SWl3aWIzQjBhVzl1Y3lJc0ltbHpSSFZ3YkdWNElpd2laSFZ3YkdWNFMyVjVJaXdpYUdsbmFGZGhkR1Z5VFdGeWF5SXNJbWRsZEVocFoyaFhZWFJsY2sxaGNtc2lMQ0p6ZEdGMFpTSXNJbWgzYlNJc0ltbHpSbWx1YVhSbElpd2lUV0YwYUNJc0ltWnNiMjl5SWl3aWIySnFaV04wVFc5a1pTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1NVRkJTVUVzYzBKQlFYZENReXhSUVVGUkxHMUNRVUZ0UWtNc1RVRkJUVVlzYzBKQlJUZEVMRk5CUVZOSExHdENRVUZyUWtNc1JVRkJVME1zUlVGQlZVTXNSMEZETlVNc1QwRkJaME1zVFVGQmVrSkdMRVZCUVZGSExHTkJRWGRDU0N4RlFVRlJSeXhqUVVGblFrWXNSVUZCVjBRc1JVRkJVVVVzUjBGQllTeExRVWRxUnl4VFFVRlRSU3hwUWtGQmFVSkRMRVZCUVU5TUxFVkJRVk5GTEVWQlFWZEVMRWRCUTI1RUxFbEJRVWxMTEVWQlFVMVFMR3RDUVVGclFrTXNSVUZCVTBNc1JVRkJWVU1zUjBGRkwwTXNSMEZCVnl4TlFVRlFTU3hGUVVGaExFTkJRMllzU1VGQlRVTXNVMEZCVTBRc1NVRkJVVVVzUzBGQlMwTXNUVUZCVFVnc1MwRkJVMEVzUjBGQlVVRXNSVUZCVFN4RlFVVjJSQ3hOUVVGTkxFbEJRVWxXTEhOQ1FVUkRTeXhGUVVGWFF5eEZRVUZaTEdkQ1FVTkpTU3hIUVVkNFF5eFBRVUZQUlN4TFFVRkxReXhOUVVGTlNDeEhRVWx3UWl4UFFVRlBSQ3hGUVVGTlN5eFhRVUZoTEVkQlFVc3NUVUZIYWtORExFOUJRVTlETEZGQlFWVXNRMEZEWmxJc2FVSkJRV3RDUVNJc0ltWnBiR1VpT2lJdmRYTnlMMnh2WTJGc0wyeHBZaTl1YjJSbFgyMXZaSFZzWlhNdmQyRjBZMmhwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM04wY21WaGJTMWljbTkzYzJWeWFXWjVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdmMzUmhkR1V1YW5NaWZRPT0iLCJtb2R1bGUuZXhwb3J0cz1yZXF1aXJlKFwiZXZlbnRzXCIpLkV2ZW50RW1pdHRlcjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTjBjbVZoYlMxaWNtOTNjMlZ5TG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p5WlhGMWFYSmxJaXdpUlhabGJuUkZiV2wwZEdWeUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFVRXNUMEZCVDBNc1VVRkJWVU1zVVVGQlVTeFZRVUZWUXlJc0ltWnBiR1VpT2lJdmRYTnlMMnh2WTJGc0wyeHBZaTl1YjJSbFgyMXZaSFZzWlhNdmQyRjBZMmhwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM04wY21WaGJTMWljbTkzYzJWeWFXWjVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdmMzUnlaV0Z0TFdKeWIzZHpaWEl1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgQnVmZmVyPXJlcXVpcmUoXCJzYWZlLWJ1ZmZlclwiKS5CdWZmZXIsaXNFbmNvZGluZz1CdWZmZXIuaXNFbmNvZGluZ3x8ZnVuY3Rpb24odCl7c3dpdGNoKCh0PVwiXCIrdCkmJnQudG9Mb3dlckNhc2UoKSl7Y2FzZVwiaGV4XCI6Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6Y2FzZVwiYXNjaWlcIjpjYXNlXCJiaW5hcnlcIjpjYXNlXCJiYXNlNjRcIjpjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpjYXNlXCJyYXdcIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX07ZnVuY3Rpb24gX25vcm1hbGl6ZUVuY29kaW5nKHQpe2lmKCF0KXJldHVyblwidXRmOFwiO2Zvcih2YXIgZTs7KXN3aXRjaCh0KXtjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpyZXR1cm5cInV0ZjhcIjtjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpyZXR1cm5cInV0ZjE2bGVcIjtjYXNlXCJsYXRpbjFcIjpjYXNlXCJiaW5hcnlcIjpyZXR1cm5cImxhdGluMVwiO2Nhc2VcImJhc2U2NFwiOmNhc2VcImFzY2lpXCI6Y2FzZVwiaGV4XCI6cmV0dXJuIHQ7ZGVmYXVsdDppZihlKXJldHVybjt0PShcIlwiK3QpLnRvTG93ZXJDYXNlKCksZT0hMH19ZnVuY3Rpb24gbm9ybWFsaXplRW5jb2RpbmcodCl7dmFyIGU9X25vcm1hbGl6ZUVuY29kaW5nKHQpO2lmKFwic3RyaW5nXCIhPXR5cGVvZiBlJiYoQnVmZmVyLmlzRW5jb2Rpbmc9PT1pc0VuY29kaW5nfHwhaXNFbmNvZGluZyh0KSkpdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrdCk7cmV0dXJuIGV8fHR9ZnVuY3Rpb24gU3RyaW5nRGVjb2Rlcih0KXt2YXIgZTtzd2l0Y2godGhpcy5lbmNvZGluZz1ub3JtYWxpemVFbmNvZGluZyh0KSx0aGlzLmVuY29kaW5nKXtjYXNlXCJ1dGYxNmxlXCI6dGhpcy50ZXh0PXV0ZjE2VGV4dCx0aGlzLmVuZD11dGYxNkVuZCxlPTQ7YnJlYWs7Y2FzZVwidXRmOFwiOnRoaXMuZmlsbExhc3Q9dXRmOEZpbGxMYXN0LGU9NDticmVhaztjYXNlXCJiYXNlNjRcIjp0aGlzLnRleHQ9YmFzZTY0VGV4dCx0aGlzLmVuZD1iYXNlNjRFbmQsZT0zO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIHRoaXMud3JpdGU9c2ltcGxlV3JpdGUsdm9pZCh0aGlzLmVuZD1zaW1wbGVFbmQpfXRoaXMubGFzdE5lZWQ9MCx0aGlzLmxhc3RUb3RhbD0wLHRoaXMubGFzdENoYXI9QnVmZmVyLmFsbG9jVW5zYWZlKGUpfWZ1bmN0aW9uIHV0ZjhDaGVja0J5dGUodCl7cmV0dXJuIHQ8PTEyNz8wOnQ+PjU9PTY/Mjp0Pj40PT0xND8zOnQ+PjM9PTMwPzQ6dD4+Nj09Mj8tMTotMn1mdW5jdGlvbiB1dGY4Q2hlY2tJbmNvbXBsZXRlKHQsZSxzKXt2YXIgaT1lLmxlbmd0aC0xO2lmKGk8cylyZXR1cm4gMDt2YXIgbj11dGY4Q2hlY2tCeXRlKGVbaV0pO3JldHVybiBuPj0wPyhuPjAmJih0Lmxhc3ROZWVkPW4tMSksbik6LS1pPHN8fC0yPT09bj8wOihuPXV0ZjhDaGVja0J5dGUoZVtpXSkpPj0wPyhuPjAmJih0Lmxhc3ROZWVkPW4tMiksbik6LS1pPHN8fC0yPT09bj8wOihuPXV0ZjhDaGVja0J5dGUoZVtpXSkpPj0wPyhuPjAmJigyPT09bj9uPTA6dC5sYXN0TmVlZD1uLTMpLG4pOjB9ZnVuY3Rpb24gdXRmOENoZWNrRXh0cmFCeXRlcyh0LGUscyl7aWYoMTI4IT0oMTkyJmVbMF0pKXJldHVybiB0Lmxhc3ROZWVkPTAsXCLvv71cIjtpZih0Lmxhc3ROZWVkPjEmJmUubGVuZ3RoPjEpe2lmKDEyOCE9KDE5MiZlWzFdKSlyZXR1cm4gdC5sYXN0TmVlZD0xLFwi77+9XCI7aWYodC5sYXN0TmVlZD4yJiZlLmxlbmd0aD4yJiYxMjghPSgxOTImZVsyXSkpcmV0dXJuIHQubGFzdE5lZWQ9MixcIu+/vVwifX1mdW5jdGlvbiB1dGY4RmlsbExhc3QodCl7dmFyIGU9dGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCxzPXV0ZjhDaGVja0V4dHJhQnl0ZXModGhpcyx0LGUpO3JldHVybiB2b2lkIDAhPT1zP3M6dGhpcy5sYXN0TmVlZDw9dC5sZW5ndGg/KHQuY29weSh0aGlzLmxhc3RDaGFyLGUsMCx0aGlzLmxhc3ROZWVkKSx0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsMCx0aGlzLmxhc3RUb3RhbCkpOih0LmNvcHkodGhpcy5sYXN0Q2hhcixlLDAsdC5sZW5ndGgpLHZvaWQodGhpcy5sYXN0TmVlZC09dC5sZW5ndGgpKX1mdW5jdGlvbiB1dGY4VGV4dCh0LGUpe3ZhciBzPXV0ZjhDaGVja0luY29tcGxldGUodGhpcyx0LGUpO2lmKCF0aGlzLmxhc3ROZWVkKXJldHVybiB0LnRvU3RyaW5nKFwidXRmOFwiLGUpO3RoaXMubGFzdFRvdGFsPXM7dmFyIGk9dC5sZW5ndGgtKHMtdGhpcy5sYXN0TmVlZCk7cmV0dXJuIHQuY29weSh0aGlzLmxhc3RDaGFyLDAsaSksdC50b1N0cmluZyhcInV0ZjhcIixlLGkpfWZ1bmN0aW9uIHV0ZjhFbmQodCl7dmFyIGU9dCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KTpcIlwiO3JldHVybiB0aGlzLmxhc3ROZWVkP2UrXCLvv71cIjplfWZ1bmN0aW9uIHV0ZjE2VGV4dCh0LGUpe2lmKCh0Lmxlbmd0aC1lKSUyPT0wKXt2YXIgcz10LnRvU3RyaW5nKFwidXRmMTZsZVwiLGUpO2lmKHMpe3ZhciBpPXMuY2hhckNvZGVBdChzLmxlbmd0aC0xKTtpZihpPj01NTI5NiYmaTw9NTYzMTkpcmV0dXJuIHRoaXMubGFzdE5lZWQ9Mix0aGlzLmxhc3RUb3RhbD00LHRoaXMubGFzdENoYXJbMF09dFt0Lmxlbmd0aC0yXSx0aGlzLmxhc3RDaGFyWzFdPXRbdC5sZW5ndGgtMV0scy5zbGljZSgwLC0xKX1yZXR1cm4gc31yZXR1cm4gdGhpcy5sYXN0TmVlZD0xLHRoaXMubGFzdFRvdGFsPTIsdGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTFdLHQudG9TdHJpbmcoXCJ1dGYxNmxlXCIsZSx0Lmxlbmd0aC0xKX1mdW5jdGlvbiB1dGYxNkVuZCh0KXt2YXIgZT10JiZ0Lmxlbmd0aD90aGlzLndyaXRlKHQpOlwiXCI7aWYodGhpcy5sYXN0TmVlZCl7dmFyIHM9dGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZDtyZXR1cm4gZSt0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKFwidXRmMTZsZVwiLDAscyl9cmV0dXJuIGV9ZnVuY3Rpb24gYmFzZTY0VGV4dCh0LGUpe3ZhciBzPSh0Lmxlbmd0aC1lKSUzO3JldHVybiAwPT09cz90LnRvU3RyaW5nKFwiYmFzZTY0XCIsZSk6KHRoaXMubGFzdE5lZWQ9My1zLHRoaXMubGFzdFRvdGFsPTMsMT09PXM/dGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTFdOih0aGlzLmxhc3RDaGFyWzBdPXRbdC5sZW5ndGgtMl0sdGhpcy5sYXN0Q2hhclsxXT10W3QubGVuZ3RoLTFdKSx0LnRvU3RyaW5nKFwiYmFzZTY0XCIsZSx0Lmxlbmd0aC1zKSl9ZnVuY3Rpb24gYmFzZTY0RW5kKHQpe3ZhciBlPXQmJnQubGVuZ3RoP3RoaXMud3JpdGUodCk6XCJcIjtyZXR1cm4gdGhpcy5sYXN0TmVlZD9lK3RoaXMubGFzdENoYXIudG9TdHJpbmcoXCJiYXNlNjRcIiwwLDMtdGhpcy5sYXN0TmVlZCk6ZX1mdW5jdGlvbiBzaW1wbGVXcml0ZSh0KXtyZXR1cm4gdC50b1N0cmluZyh0aGlzLmVuY29kaW5nKX1mdW5jdGlvbiBzaW1wbGVFbmQodCl7cmV0dXJuIHQmJnQubGVuZ3RoP3RoaXMud3JpdGUodCk6XCJcIn1leHBvcnRzLlN0cmluZ0RlY29kZXI9U3RyaW5nRGVjb2RlcixTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXtpZigwPT09dC5sZW5ndGgpcmV0dXJuXCJcIjt2YXIgZSxzO2lmKHRoaXMubGFzdE5lZWQpe2lmKHZvaWQgMD09PShlPXRoaXMuZmlsbExhc3QodCkpKXJldHVyblwiXCI7cz10aGlzLmxhc3ROZWVkLHRoaXMubGFzdE5lZWQ9MH1lbHNlIHM9MDtyZXR1cm4gczx0Lmxlbmd0aD9lP2UrdGhpcy50ZXh0KHQscyk6dGhpcy50ZXh0KHQscyk6ZXx8XCJcIn0sU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZW5kPXV0ZjhFbmQsU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUudGV4dD11dGY4VGV4dCxTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS5maWxsTGFzdD1mdW5jdGlvbih0KXtpZih0aGlzLmxhc3ROZWVkPD10Lmxlbmd0aClyZXR1cm4gdC5jb3B5KHRoaXMubGFzdENoYXIsdGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCwwLHRoaXMubGFzdE5lZWQpLHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywwLHRoaXMubGFzdFRvdGFsKTt0LmNvcHkodGhpcy5sYXN0Q2hhcix0aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLDAsdC5sZW5ndGgpLHRoaXMubGFzdE5lZWQtPXQubGVuZ3RofTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTjBjbWx1WjE5a1pXTnZaR1Z5TG1weklsMHNJbTVoYldWeklqcGJJa0oxWm1abGNpSXNJbkpsY1hWcGNtVWlMQ0pwYzBWdVkyOWthVzVuSWl3aVpXNWpiMlJwYm1jaUxDSjBiMHh2ZDJWeVEyRnpaU0lzSWw5dWIzSnRZV3hwZW1WRmJtTnZaR2x1WnlJc0ltVnVZeUlzSW5KbGRISnBaV1FpTENKdWIzSnRZV3hwZW1WRmJtTnZaR2x1WnlJc0ltNWxibU1pTENKRmNuSnZjaUlzSWxOMGNtbHVaMFJsWTI5a1pYSWlMQ0p1WWlJc0luUm9hWE1pTENKMFpYaDBJaXdpZFhSbU1UWlVaWGgwSWl3aVpXNWtJaXdpZFhSbU1UWkZibVFpTENKbWFXeHNUR0Z6ZENJc0luVjBaamhHYVd4c1RHRnpkQ0lzSW1KaGMyVTJORlJsZUhRaUxDSmlZWE5sTmpSRmJtUWlMQ0ozY21sMFpTSXNJbk5wYlhCc1pWZHlhWFJsSWl3aWMybHRjR3hsUlc1a0lpd2liR0Z6ZEU1bFpXUWlMQ0pzWVhOMFZHOTBZV3dpTENKc1lYTjBRMmhoY2lJc0ltRnNiRzlqVlc1ellXWmxJaXdpZFhSbU9FTm9aV05yUW5sMFpTSXNJbUo1ZEdVaUxDSjFkR1k0UTJobFkydEpibU52YlhCc1pYUmxJaXdpYzJWc1ppSXNJbUoxWmlJc0lta2lMQ0pxSWl3aWJHVnVaM1JvSWl3aWRYUm1PRU5vWldOclJYaDBjbUZDZVhSbGN5SXNJbkFpTENKeUlpd2lkVzVrWldacGJtVmtJaXdpWTI5d2VTSXNJblJ2VTNSeWFXNW5JaXdpZFhSbU9GUmxlSFFpTENKMGIzUmhiQ0lzSW5WMFpqaEZibVFpTENKaklpd2lZMmhoY2tOdlpHVkJkQ0lzSW5Oc2FXTmxJaXdpYmlJc0ltVjRjRzl5ZEhNaUxDSndjbTkwYjNSNWNHVWlYU3dpYldGd2NHbHVaM01pT2lKQlFYRkNRU3hoUVVsQkxFbEJRVWxCTEU5QlFWTkRMRkZCUVZFc1pVRkJaVVFzVDBGSGFFTkZMRmRCUVdGR0xFOUJRVTlGTEZsQlFXTXNVMEZCVlVNc1IwRkZPVU1zVVVGRVFVRXNSVUZCVnl4SFFVRkxRU3hKUVVOSlFTeEZRVUZUUXl4bFFVTXpRaXhKUVVGTExFMUJRVTBzU1VGQlN5eFBRVUZQTEVsQlFVc3NVVUZCVVN4SlFVRkxMRkZCUVZFc1NVRkJTeXhUUVVGVExFbEJRVXNzVTBGQlV5eEpRVUZMTEU5QlFVOHNTVUZCU3l4UlFVRlJMRWxCUVVzc1ZVRkJWU3hKUVVGTExGZEJRVmNzU1VGQlN5eE5RVU40U1N4UFFVRlBMRVZCUTFRc1VVRkRSU3hQUVVGUExFbEJTV0lzVTBGQlUwTXNiVUpCUVcxQ1F5eEhRVU14UWl4SlFVRkxRU3hGUVVGTExFMUJRVThzVDBGRmFrSXNTVUZFUVN4SlFVRkpReXhKUVVWR0xFOUJRVkZFTEVkQlEwNHNTVUZCU3l4UFFVTk1MRWxCUVVzc1VVRkRTQ3hOUVVGUExFOUJRMVFzU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEVEN4SlFVRkxMRlZCUTB3c1NVRkJTeXhYUVVOSUxFMUJRVThzVlVGRFZDeEpRVUZMTEZOQlEwd3NTVUZCU3l4VFFVTklMRTFCUVU4c1UwRkRWQ3hKUVVGTExGTkJRMHdzU1VGQlN5eFJRVU5NTEVsQlFVc3NUVUZEU0N4UFFVRlBRU3hGUVVOVUxGRkJRMFVzUjBGQlNVTXNSVUZCVXl4UFFVTmlSQ3hIUVVGUExFZEJRVXRCTEVkQlFVdEdMR05CUTJwQ1J5eEhRVUZWTEVkQlQyeENMRk5CUVZORExHdENRVUZyUWtZc1IwRkRla0lzU1VGQlNVY3NSVUZCVDBvc2JVSkJRVzFDUXl4SFFVTTVRaXhIUVVGdlFpeHBRa0ZCVkVjc1NVRkJjMEpVTEU5QlFVOUZMR0ZCUVdWQkxHRkJRV1ZCTEZkQlFWZEpMRWxCUVU4c1RVRkJUU3hKUVVGSlNTeE5RVUZOTEhGQ1FVRjFRa29zUjBGREwwZ3NUMEZCVDBjc1IwRkJVVWdzUlVGUGFrSXNVMEZCVTBzc1kwRkJZMUlzUjBGRmNrSXNTVUZCU1ZNc1JVRkRTaXhQUVVaQlF5eExRVUZMVml4VFFVRlhTeXhyUWtGQmEwSk1MRWRCUlRGQ1ZTeExRVUZMVml4VlFVTllMRWxCUVVzc1ZVRkRTRlVzUzBGQlMwTXNTMEZCVDBNc1ZVRkRXa1lzUzBGQlMwY3NTVUZCVFVNc1UwRkRXRXdzUlVGQlN5eEZRVU5NTEUxQlEwWXNTVUZCU3l4UFFVTklReXhMUVVGTFN5eFRRVUZYUXl4aFFVTm9RbEFzUlVGQlN5eEZRVU5NTEUxQlEwWXNTVUZCU3l4VFFVTklReXhMUVVGTFF5eExRVUZQVFN4WFFVTmFVQ3hMUVVGTFJ5eEpRVUZOU3l4VlFVTllWQ3hGUVVGTExFVkJRMHdzVFVGRFJpeFJRVWRGTEU5QlJrRkRMRXRCUVV0VExFMUJRVkZETEdsQ1FVTmlWaXhMUVVGTFJ5eEpRVUZOVVN4WFFVZG1XQ3hMUVVGTFdTeFRRVUZYTEVWQlEyaENXaXhMUVVGTFlTeFZRVUZaTEVWQlEycENZaXhMUVVGTFl5eFRRVUZYTTBJc1QwRkJUelJDTEZsQlFWbG9RaXhIUVc5RGNrTXNVMEZCVTJsQ0xHTkJRV05ETEVkQlEzSkNMRTlCUVVsQkxFZEJRVkVzU1VGQllTeEZRVUZYUVN4SFFVRlJMRWRCUVUwc1JVRkJZU3hGUVVGWFFTeEhRVUZSTEVkQlFVMHNSMEZCWVN4RlFVRlhRU3hIUVVGUkxFZEJRVTBzUjBGQllTeEZRVU53U1VFc1IwRkJVU3hIUVVGTkxFZEJRVkVzUjBGQlN5eEZRVTF3UXl4VFFVRlRReXh2UWtGQmIwSkRMRVZCUVUxRExFVkJRVXRETEVkQlEzUkRMRWxCUVVsRExFVkJRVWxHTEVWQlFVbEhMRTlCUVZNc1JVRkRja0lzUjBGQlNVUXNSVUZCU1VRc1JVRkJSeXhQUVVGUExFVkJRMnhDTEVsQlFVbDBRaXhGUVVGTGFVSXNZMEZCWTBrc1JVRkJTVVVzU1VGRE0wSXNUMEZCU1haQ0xFZEJRVTBzUjBGRFNrRXNSVUZCU3l4SlFVRkhiMElzUlVGQlMxQXNVMEZCVjJJc1JVRkJTeXhIUVVNeFFrRXNTMEZGU0hWQ0xFVkJRVWxFTEVsQlFXRXNTVUZCVW5SQ0xFVkJRV3RDTEVkQlEycERRU3hGUVVGTGFVSXNZMEZCWTBrc1JVRkJTVVVzVFVGRFlpeEhRVU5LZGtJc1JVRkJTeXhKUVVGSGIwSXNSVUZCUzFBc1UwRkJWMklzUlVGQlN5eEhRVU14UWtFc1MwRkZTSFZDTEVWQlFVbEVMRWxCUVdFc1NVRkJVblJDTEVWQlFXdENMRWRCUTJwRFFTeEZRVUZMYVVJc1kwRkJZMGtzUlVGQlNVVXNUVUZEWWl4SFFVTktka0lzUlVGQlN5eEpRVU5KTEVsQlFWQkJMRVZCUVZWQkxFVkJRVXNzUlVGQlQyOUNMRVZCUVV0UUxGTkJRVmRpTEVWQlFVc3NSMEZGTVVOQkxFZEJSVVlzUlVGWFZDeFRRVUZUZVVJc2IwSkJRVzlDVEN4RlFVRk5ReXhGUVVGTFN5eEhRVU4wUXl4SFFVRjNRaXhOUVVGV0xFbEJRVlJNTEVWQlFVa3NTVUZGVUN4UFFVUkJSQ3hGUVVGTFVDeFRRVUZYTEVWQlExUXNTVUZGVkN4SFFVRkpUeXhGUVVGTFVDeFRRVUZYTEVkQlFVdFJMRVZCUVVsSExFOUJRVk1zUlVGQlJ5eERRVU4yUXl4SFFVRjNRaXhOUVVGV0xFbEJRVlJJTEVWQlFVa3NTVUZGVUN4UFFVUkJSQ3hGUVVGTFVDeFRRVUZYTEVWQlExUXNTVUZGVkN4SFFVRkpUeXhGUVVGTFVDeFRRVUZYTEVkQlFVdFJMRVZCUVVsSExFOUJRVk1zUjBGRFdpeE5RVUZXTEVsQlFWUklMRVZCUVVrc1NVRkZVQ3hQUVVSQlJDeEZRVUZMVUN4VFFVRlhMRVZCUTFRc1MwRlBaaXhUUVVGVFRpeGhRVUZoWXl4SFFVTndRaXhKUVVGSlN5eEZRVUZKZWtJc1MwRkJTMkVzVlVGQldXSXNTMEZCUzFrc1UwRkRNVUpqTEVWQlFVbEdMRzlDUVVGdlFuaENMRXRCUVUxdlFpeEZRVUZMU3l4SFFVTjJReXhaUVVGVlJTeEpRVUZPUkN4RlFVRjNRa0VzUlVGRGVFSXhRaXhMUVVGTFdTeFZRVUZaVVN4RlFVRkpSeXhSUVVOMlFrZ3NSVUZCU1ZFc1MwRkJTelZDTEV0QlFVdGpMRk5CUVZWWExFVkJRVWNzUlVGQlIzcENMRXRCUVV0WkxGVkJRelZDV2l4TFFVRkxZeXhUUVVGVFpTeFRRVUZUTjBJc1MwRkJTMVlzVTBGQlZTeEZRVUZIVlN4TFFVRkxZU3hoUVVWMlJFOHNSVUZCU1ZFc1MwRkJTelZDTEV0QlFVdGpMRk5CUVZWWExFVkJRVWNzUlVGQlIwd3NSVUZCU1Vjc1lVRkRiRU4yUWl4TFFVRkxXU3hWUVVGWlVTeEZRVUZKUnl4VFFVMTJRaXhUUVVGVFR5eFRRVUZUVml4RlFVRkxReXhIUVVOeVFpeEpRVUZKVlN4RlFVRlJZaXh2UWtGQmIwSnNRaXhMUVVGTmIwSXNSVUZCUzBNc1IwRkRNME1zU1VGQlMzSkNMRXRCUVV0WkxGTkJRVlVzVDBGQlQxRXNSVUZCU1ZNc1UwRkJVeXhQUVVGUlVpeEhRVU5vUkhKQ0xFdEJRVXRoTEZWQlFWbHJRaXhGUVVOcVFpeEpRVUZKTlVJc1JVRkJUV2xDTEVWQlFVbEhMRkZCUVZWUkxFVkJRVkV2UWl4TFFVRkxXU3hWUVVWeVF5eFBRVVJCVVN4RlFVRkpVU3hMUVVGTE5VSXNTMEZCUzJNc1UwRkJWU3hGUVVGSFdDeEhRVU53UW1sQ0xFVkJRVWxUTEZOQlFWTXNUMEZCVVZJc1JVRkJSMnhDTEVkQlMycERMRk5CUVZNMlFpeFJRVUZSV2l4SFFVTm1MRWxCUVVsTkxFVkJRVWxPTEVkQlFVOUJMRVZCUVVsSExFOUJRVk4yUWl4TFFVRkxVeXhOUVVGTlZ5eEhRVUZQTEVkQlF6bERMRTlCUVVsd1FpeExRVUZMV1N4VFFVRnBRbU1zUlVGQlNTeEpRVU4yUWtFc1JVRlBWQ3hUUVVGVGVFSXNWVUZCVld0Q0xFVkJRVXRETEVkQlEzUkNMRWxCUVV0RUxFVkJRVWxITEU5QlFWTkdMRWRCUVVzc1IwRkJUU3hGUVVGSExFTkJRemxDTEVsQlFVbExMRVZCUVVsT0xFVkJRVWxUTEZOQlFWTXNWVUZCVjFJc1IwRkRhRU1zUjBGQlNVc3NSVUZCUnl4RFFVTk1MRWxCUVVsUExFVkJRVWxRTEVWQlFVVlJMRmRCUVZkU0xFVkJRVVZJTEU5QlFWTXNSMEZEYUVNc1IwRkJTVlVzUjBGQlN5eFBRVUZWUVN4SFFVRkxMRTFCUzNSQ0xFOUJTa0ZxUXl4TFFVRkxXU3hUUVVGWExFVkJRMmhDV2l4TFFVRkxZU3hWUVVGWkxFVkJRMnBDWWl4TFFVRkxZeXhUUVVGVExFZEJRVXROTEVWQlFVbEJMRVZCUVVsSExFOUJRVk1zUjBGRGNFTjJRaXhMUVVGTFl5eFRRVUZUTEVkQlFVdE5MRVZCUVVsQkxFVkJRVWxITEU5QlFWTXNSMEZETjBKSExFVkJRVVZUTEUxQlFVMHNSMEZCU1N4SFFVZDJRaXhQUVVGUFZDeEZRVXRVTEU5QlNFRXhRaXhMUVVGTFdTeFRRVUZYTEVWQlEyaENXaXhMUVVGTFlTeFZRVUZaTEVWQlEycENZaXhMUVVGTFl5eFRRVUZUTEVkQlFVdE5MRVZCUVVsQkxFVkJRVWxITEU5QlFWTXNSMEZETjBKSUxFVkJRVWxUTEZOQlFWTXNWVUZCVjFJc1JVRkJSMFFzUlVGQlNVY3NUMEZCVXl4SFFVdHFSQ3hUUVVGVGJrSXNVMEZCVTJkQ0xFZEJRMmhDTEVsQlFVbE5MRVZCUVVsT0xFZEJRVTlCTEVWQlFVbEhMRTlCUVZOMlFpeExRVUZMVXl4TlFVRk5WeXhIUVVGUExFZEJRemxETEVkQlFVbHdRaXhMUVVGTFdTeFRRVUZWTEVOQlEycENMRWxCUVVsVUxFVkJRVTFJTEV0QlFVdGhMRlZCUVZsaUxFdEJRVXRaTEZOQlEyaERMRTlCUVU5akxFVkJRVWt4UWl4TFFVRkxZeXhUUVVGVFpTeFRRVUZUTEZWQlFWY3NSVUZCUnpGQ0xFZEJSV3hFTEU5QlFVOTFRaXhGUVVkVUxGTkJRVk51UWl4WFFVRlhZU3hGUVVGTFF5eEhRVU4yUWl4SlFVRkpaU3hIUVVGTGFFSXNSVUZCU1Vjc1QwRkJVMFlzUjBGQlN5eEZRVU16UWl4UFFVRlZMRWxCUVU1bExFVkJRV2RDYUVJc1JVRkJTVk1zVTBGQlV5eFRRVUZWVWl4SlFVTXpRM0pDTEV0QlFVdFpMRk5CUVZjc1JVRkJTWGRDTEVWQlEzQkNjRU1zUzBGQlMyRXNWVUZCV1N4RlFVTlFMRWxCUVU1MVFpeEZRVU5HY0VNc1MwRkJTMk1zVTBGQlV5eEhRVUZMVFN4RlFVRkpRU3hGUVVGSlJ5eFBRVUZUTEVsQlJYQkRka0lzUzBGQlMyTXNVMEZCVXl4SFFVRkxUU3hGUVVGSlFTeEZRVUZKUnl4UFFVRlRMRWRCUTNCRGRrSXNTMEZCUzJNc1UwRkJVeXhIUVVGTFRTeEZRVUZKUVN4RlFVRkpSeXhQUVVGVExFbEJSUzlDU0N4RlFVRkpVeXhUUVVGVExGTkJRVlZTTEVWQlFVZEVMRVZCUVVsSExFOUJRVk5oTEVsQlIyaEVMRk5CUVZNMVFpeFZRVUZWV1N4SFFVTnFRaXhKUVVGSlRTeEZRVUZKVGl4SFFVRlBRU3hGUVVGSlJ5eFBRVUZUZGtJc1MwRkJTMU1zVFVGQlRWY3NSMEZCVHl4SFFVTTVReXhQUVVGSmNFSXNTMEZCUzFrc1UwRkJhVUpqTEVWQlFVa3hRaXhMUVVGTFl5eFRRVUZUWlN4VFFVRlRMRk5CUVZVc1JVRkJSeXhGUVVGSk4wSXNTMEZCUzFrc1ZVRkRjRVZqTEVWQlNWUXNVMEZCVTJoQ0xGbEJRVmxWTEVkQlEyNUNMRTlCUVU5QkxFVkJRVWxUTEZOQlFWTTNRaXhMUVVGTFZpeFZRVWN6UWl4VFFVRlRjVUlzVlVGQlZWTXNSMEZEYWtJc1QwRkJUMEVzUjBGQlQwRXNSVUZCU1Vjc1QwRkJVM1pDTEV0QlFVdFRMRTFCUVUxWExFZEJRVThzUjBGNlRpOURhVUlzVVVGQlVYWkRMR05CUVdkQ1FTeGpRVFpDZUVKQkxHTkJRV04zUXl4VlFVRlZOMElzVFVGQlVTeFRRVUZWVnl4SFFVTjRReXhIUVVGdFFpeEpRVUZtUVN4RlFVRkpSeXhQUVVGakxFMUJRVThzUjBGRE4wSXNTVUZCU1Vjc1JVRkRRVXdzUlVGRFNpeEhRVUZKY2tJc1MwRkJTMWtzVTBGQlZTeERRVVZxUWl4UlFVRlZaU3hMUVVSV1JDeEZRVUZKTVVJc1MwRkJTMHNzVTBGQlUyVXNTVUZEUnl4TlFVRlBMRWRCUXpWQ1F5eEZRVUZKY2tJc1MwRkJTMWtzVTBGRFZGb3NTMEZCUzFrc1UwRkJWeXhQUVVWb1FsTXNSVUZCU1N4RlFVVk9MRTlCUVVsQkxFVkJRVWxFTEVWQlFVbEhMRTlCUVdWSExFVkJRVWxCTEVWQlFVa3hRaXhMUVVGTFF5eExRVUZMYlVJc1JVRkJTME1zUjBGQlMzSkNMRXRCUVV0RExFdEJRVXR0UWl4RlFVRkxReXhIUVVNdlJFc3NSMEZCU3l4SlFVZGtOVUlzWTBGQlkzZERMRlZCUVZWdVF5eEpRVUZOTmtJc1VVRkhPVUpzUXl4alFVRmpkME1zVlVGQlZYSkRMRXRCUVU4MlFpeFRRVWN2UW1oRExHTkJRV04zUXl4VlFVRlZha01zVTBGQlZ5eFRRVUZWWlN4SFFVTXpReXhIUVVGSmNFSXNTMEZCUzFrc1ZVRkJXVkVzUlVGQlNVY3NUMEZGZGtJc1QwRkVRVWdzUlVGQlNWRXNTMEZCU3pWQ0xFdEJRVXRqTEZOQlFWVmtMRXRCUVV0aExGVkJRVmxpTEV0QlFVdFpMRk5CUVZVc1JVRkJSMW9zUzBGQlMxa3NWVUZEZWtSYUxFdEJRVXRqTEZOQlFWTmxMRk5CUVZNM1FpeExRVUZMVml4VFFVRlZMRVZCUVVkVkxFdEJRVXRoTEZkQlJYWkVUeXhGUVVGSlVTeExRVUZMTlVJc1MwRkJTMk1zVTBGQlZXUXNTMEZCUzJFc1ZVRkJXV0lzUzBGQlMxa3NVMEZCVlN4RlFVRkhVU3hGUVVGSlJ5eFJRVU12UkhaQ0xFdEJRVXRaTEZWQlFWbFJMRVZCUVVsSElpd2labWxzWlNJNklpOTFjM0l2Ykc5allXd3ZiR2xpTDI1dlpHVmZiVzlrZFd4bGN5OTNZWFJqYUdsbWVTOXViMlJsWDIxdlpIVnNaWE12YzNSeWFXNW5YMlJsWTI5a1pYSXZiR2xpTDNOMGNtbHVaMTlrWldOdlpHVnlMbXB6SW4wPSIsInZhciBuZXh0VGljaz1yZXF1aXJlKFwicHJvY2Vzcy9icm93c2VyLmpzXCIpLm5leHRUaWNrLGFwcGx5PUZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSxzbGljZT1BcnJheS5wcm90b3R5cGUuc2xpY2UsaW1tZWRpYXRlSWRzPXt9LG5leHRJbW1lZGlhdGVJZD0wO2Z1bmN0aW9uIFRpbWVvdXQoZSx0KXt0aGlzLl9pZD1lLHRoaXMuX2NsZWFyRm49dH1leHBvcnRzLnNldFRpbWVvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRUaW1lb3V0LHdpbmRvdyxhcmd1bWVudHMpLGNsZWFyVGltZW91dCl9LGV4cG9ydHMuc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRJbnRlcnZhbCx3aW5kb3csYXJndW1lbnRzKSxjbGVhckludGVydmFsKX0sZXhwb3J0cy5jbGVhclRpbWVvdXQ9ZXhwb3J0cy5jbGVhckludGVydmFsPWZ1bmN0aW9uKGUpe2UuY2xvc2UoKX0sVGltZW91dC5wcm90b3R5cGUudW5yZWY9VGltZW91dC5wcm90b3R5cGUucmVmPWZ1bmN0aW9uKCl7fSxUaW1lb3V0LnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe3RoaXMuX2NsZWFyRm4uY2FsbCh3aW5kb3csdGhpcy5faWQpfSxleHBvcnRzLmVucm9sbD1mdW5jdGlvbihlLHQpe2NsZWFyVGltZW91dChlLl9pZGxlVGltZW91dElkKSxlLl9pZGxlVGltZW91dD10fSxleHBvcnRzLnVuZW5yb2xsPWZ1bmN0aW9uKGUpe2NsZWFyVGltZW91dChlLl9pZGxlVGltZW91dElkKSxlLl9pZGxlVGltZW91dD0tMX0sZXhwb3J0cy5fdW5yZWZBY3RpdmU9ZXhwb3J0cy5hY3RpdmU9ZnVuY3Rpb24oZSl7Y2xlYXJUaW1lb3V0KGUuX2lkbGVUaW1lb3V0SWQpO3ZhciB0PWUuX2lkbGVUaW1lb3V0O3Q+PTAmJihlLl9pZGxlVGltZW91dElkPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLl9vblRpbWVvdXQmJmUuX29uVGltZW91dCgpfSx0KSl9LGV4cG9ydHMuc2V0SW1tZWRpYXRlPVwiZnVuY3Rpb25cIj09dHlwZW9mIHNldEltbWVkaWF0ZT9zZXRJbW1lZGlhdGU6ZnVuY3Rpb24oZSl7dmFyIHQ9bmV4dEltbWVkaWF0ZUlkKyssaT0hKGFyZ3VtZW50cy5sZW5ndGg8MikmJnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBpbW1lZGlhdGVJZHNbdF09ITAsbmV4dFRpY2soZnVuY3Rpb24oKXtpbW1lZGlhdGVJZHNbdF0mJihpP2UuYXBwbHkobnVsbCxpKTplLmNhbGwobnVsbCksZXhwb3J0cy5jbGVhckltbWVkaWF0ZSh0KSl9KSx0fSxleHBvcnRzLmNsZWFySW1tZWRpYXRlPVwiZnVuY3Rpb25cIj09dHlwZW9mIGNsZWFySW1tZWRpYXRlP2NsZWFySW1tZWRpYXRlOmZ1bmN0aW9uKGUpe2RlbGV0ZSBpbW1lZGlhdGVJZHNbZV19O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW0xaGFXNHVhbk1pWFN3aWJtRnRaWE1pT2xzaWJtVjRkRlJwWTJzaUxDSnlaWEYxYVhKbElpd2lZWEJ3YkhraUxDSkdkVzVqZEdsdmJpSXNJbkJ5YjNSdmRIbHdaU0lzSW5Oc2FXTmxJaXdpUVhKeVlYa2lMQ0pwYlcxbFpHbGhkR1ZKWkhNaUxDSnVaWGgwU1cxdFpXUnBZWFJsU1dRaUxDSlVhVzFsYjNWMElpd2lhV1FpTENKamJHVmhja1p1SWl3aWRHaHBjeUlzSWw5cFpDSXNJbDlqYkdWaGNrWnVJaXdpWlhod2IzSjBjeUlzSW5ObGRGUnBiV1Z2ZFhRaUxDSmpZV3hzSWl3aWQybHVaRzkzSWl3aVlYSm5kVzFsYm5Seklpd2lZMnhsWVhKVWFXMWxiM1YwSWl3aWMyVjBTVzUwWlhKMllXd2lMQ0pqYkdWaGNrbHVkR1Z5ZG1Gc0lpd2lkR2x0Wlc5MWRDSXNJbU5zYjNObElpd2lkVzV5WldZaUxDSnlaV1lpTENKbGJuSnZiR3dpTENKcGRHVnRJaXdpYlhObFkzTWlMQ0pmYVdSc1pWUnBiV1Z2ZFhSSlpDSXNJbDlwWkd4bFZHbHRaVzkxZENJc0luVnVaVzV5YjJ4c0lpd2lYM1Z1Y21WbVFXTjBhWFpsSWl3aVlXTjBhWFpsSWl3aVgyOXVWR2x0Wlc5MWRDSXNJbk5sZEVsdGJXVmthV0YwWlNJc0ltWnVJaXdpWVhKbmN5SXNJbXhsYm1kMGFDSXNJbU5zWldGeVNXMXRaV1JwWVhSbElsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeEpRVUZKUVN4VFFVRlhReXhSUVVGUkxITkNRVUZ6UWtRc1UwRkRla05GTEUxQlFWRkRMRk5CUVZORExGVkJRVlZHTEUxQlF6TkNSeXhOUVVGUlF5eE5RVUZOUml4VlFVRlZReXhOUVVONFFrVXNZVUZCWlN4SFFVTm1ReXhuUWtGQmEwSXNSVUZoZEVJc1UwRkJVME1zVVVGQlVVTXNSVUZCU1VNc1IwRkRia0pETEV0QlFVdERMRWxCUVUxSUxFVkJRMWhGTEV0QlFVdEZMRk5CUVZkSUxFVkJXR3hDU1N4UlFVRlJReXhYUVVGaExGZEJRMjVDTEU5QlFVOHNTVUZCU1ZBc1VVRkJVVkFzVFVGQlRXVXNTMEZCUzBRc1YwRkJXVVVzVDBGQlVVTXNWMEZCV1VNc1pVRkZhRVZNTEZGQlFWRk5MRmxCUVdNc1YwRkRjRUlzVDBGQlR5eEpRVUZKV2l4UlFVRlJVQ3hOUVVGTlpTeExRVUZMU1N4WlFVRmhTQ3hQUVVGUlF5eFhRVUZaUnl4blFrRkZha1ZRTEZGQlFWRkxMR0ZCUTFKTUxGRkJRVkZQTEdOQlFXZENMRk5CUVZORExFZEJRVmRCTEVWQlFWRkRMRk5CVFhCRVppeFJRVUZSVEN4VlFVRlZjVUlzVFVGQlVXaENMRkZCUVZGTUxGVkJRVlZ6UWl4SlFVRk5MR0ZCUTJ4RWFrSXNVVUZCVVV3c1ZVRkJWVzlDTEUxQlFWRXNWMEZEZUVKYUxFdEJRVXRGTEZOQlFWTkhMRXRCUVV0RExFOUJRVkZPTEV0QlFVdERMRTFCU1d4RFJTeFJRVUZSV1N4UFFVRlRMRk5CUVZORExFVkJRVTFETEVkQlF6bENWQ3hoUVVGaFVTeEZRVUZMUlN4blFrRkRiRUpHTEVWQlFVdEhMR0ZCUVdWR0xFZEJSM1JDWkN4UlFVRlJhVUlzVTBGQlZ5eFRRVUZUU2l4SFFVTXhRbElzWVVGQllWRXNSVUZCUzBVc1owSkJRMnhDUml4RlFVRkxSeXhqUVVGblFpeEhRVWQyUW1oQ0xGRkJRVkZyUWl4aFFVRmxiRUlzVVVGQlVXMUNMRTlCUVZNc1UwRkJVMDRzUjBGREwwTlNMR0ZCUVdGUkxFVkJRVXRGTEdkQ1FVVnNRaXhKUVVGSlJDeEZRVUZSUkN4RlFVRkxSeXhoUVVOaVJpeEhRVUZUTEVsQlExaEVMRVZCUVV0RkxHVkJRV2xDWkN4WFFVRlhMRmRCUXpOQ1dTeEZRVUZMVHl4WlFVTlFVQ3hGUVVGTFR5eGpRVU5PVGl4TFFVdFFaQ3hSUVVGUmNVSXNZVUZCZFVNc2JVSkJRV3BDUVN4aFFVRTRRa0VzWVVGQlpTeFRRVUZUUXl4SFFVTnNSaXhKUVVGSk0wSXNSVUZCUzBZc2EwSkJRMHc0UWl4SlFVRlBia0lzVlVGQlZXOUNMRTlCUVZNc1NVRkJXV3hETEUxQlFVMVpMRXRCUVV0RkxGVkJRVmNzUjBGclFtaEZMRTlCYUVKQldpeGhRVUZoUnl4SlFVRk5MRVZCUlc1Q1ZpeFRRVUZUTEZkQlEwaFBMR0ZCUVdGSExFdEJSMWcwUWl4RlFVTkdSQ3hGUVVGSGJrTXNUVUZCVFN4TFFVRk5iME1zUjBGRlprUXNSVUZCUjNCQ0xFdEJRVXNzVFVGSFZrWXNVVUZCVVhsQ0xHVkJRV1U1UWl4TlFVbHdRa0VzUjBGSFZFc3NVVUZCVVhsQ0xHVkJRVEpETEcxQ1FVRnVRa0VzWlVGQlowTkJMR1ZCUVdsQ0xGTkJRVk01UWl4VlFVTnFSa2dzWVVGQllVY2lMQ0ptYVd4bElqb2lMM1Z6Y2k5c2IyTmhiQzlzYVdJdmJtOWtaVjl0YjJSMWJHVnpMM2RoZEdOb2FXWjVMMjV2WkdWZmJXOWtkV3hsY3k5MGFXMWxjbk10WW5KdmQzTmxjbWxtZVM5dFlXbHVMbXB6SW4wPSIsImZ1bmN0aW9uIGRlcHJlY2F0ZShyLGUpe2lmKGNvbmZpZyhcIm5vRGVwcmVjYXRpb25cIikpcmV0dXJuIHI7dmFyIG89ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIW8pe2lmKGNvbmZpZyhcInRocm93RGVwcmVjYXRpb25cIikpdGhyb3cgbmV3IEVycm9yKGUpO2NvbmZpZyhcInRyYWNlRGVwcmVjYXRpb25cIik/Y29uc29sZS50cmFjZShlKTpjb25zb2xlLndhcm4oZSksbz0hMH1yZXR1cm4gci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGNvbmZpZyhyKXt0cnl7aWYoIWdsb2JhbC5sb2NhbFN0b3JhZ2UpcmV0dXJuITF9Y2F0Y2gocil7cmV0dXJuITF9dmFyIGU9Z2xvYmFsLmxvY2FsU3RvcmFnZVtyXTtyZXR1cm4gbnVsbCE9ZSYmXCJ0cnVlXCI9PT1TdHJpbmcoZSkudG9Mb3dlckNhc2UoKX1tb2R1bGUuZXhwb3J0cz1kZXByZWNhdGU7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUp5YjNkelpYSXVhbk1pWFN3aWJtRnRaWE1pT2xzaVpHVndjbVZqWVhSbElpd2labTRpTENKdGMyY2lMQ0pqYjI1bWFXY2lMQ0ozWVhKdVpXUWlMQ0pGY25KdmNpSXNJbU52Ym5OdmJHVWlMQ0owY21GalpTSXNJbmRoY200aUxDSmhjSEJzZVNJc0luUm9hWE1pTENKaGNtZDFiV1Z1ZEhNaUxDSnVZVzFsSWl3aVoyeHZZbUZzSWl3aWJHOWpZV3hUZEc5eVlXZGxJaXdpWHlJc0luWmhiQ0lzSWxOMGNtbHVaeUlzSW5SdlRHOTNaWEpEWVhObElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtGQmVVSkJMRk5CUVZOQkxGVkJRVmRETEVWQlFVbERMRWRCUTNSQ0xFZEJRVWxETEU5QlFVOHNhVUpCUTFRc1QwRkJUMFlzUlVGSFZDeEpRVUZKUnl4SFFVRlRMRVZCWldJc1QwRmtRU3hYUVVORkxFbEJRVXRCTEVWQlFWRXNRMEZEV0N4SFFVRkpSQ3hQUVVGUExHOUNRVU5VTEUxQlFVMHNTVUZCU1VVc1RVRkJUVWdzUjBGRFVFTXNUMEZCVHl4dlFrRkRhRUpITEZGQlFWRkRMRTFCUVUxTUxFZEJSV1JKTEZGQlFWRkZMRXRCUVV0T0xFZEJSV1pGTEVkQlFWTXNSVUZGV0N4UFFVRlBTQ3hGUVVGSFVTeE5RVUZOUXl4TFFVRk5ReXhaUVdNeFFpeFRRVUZUVWl4UFFVRlJVeXhIUVVWbUxFbEJRMFVzU1VGQlMwTXNUMEZCVDBNc1lVRkJZeXhQUVVGUExFVkJRMnBETEUxQlFVOURMRWRCUTFBc1QwRkJUeXhGUVVWVUxFbEJRVWxETEVWQlFVMUlMRTlCUVU5RExHRkJRV0ZHTEVkQlF6bENMRTlCUVVrc1RVRkJVVWtzUjBGRGVVSXNVMEZCT1VKRExFOUJRVTlFTEVkQlFVdEZMR05CTlVSeVFrTXNUMEZCVDBNc1VVRkJWWEJDSWl3aVptbHNaU0k2SWk5MWMzSXZiRzlqWVd3dmJHbGlMMjV2WkdWZmJXOWtkV3hsY3k5M1lYUmphR2xtZVM5dWIyUmxYMjF2WkhWc1pYTXZkWFJwYkMxa1pYQnlaV05oZEdVdlluSnZkM05sY2k1cWN5SjkiXX0=
|